From 710ecba947ef3382294a6fa0d7eb99938a486b08 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Thu, 19 Oct 2023 17:54:32 +0200 Subject: [PATCH 001/361] [skip-changelog] testsuite: added mocked serial discovery for integration tests (#2376) * Added implementation of serial_discovery mock * Added first mocked integration test --- go.mod | 1 + go.sum | 187 ++++++++++++++++++ internal/integrationtest/arduino-cli.go | 27 +++ internal/integrationtest/board/board_test.go | 38 ++++ .../mock_serial_discovery/.gitignore | 1 + .../mock_serial_discovery/main.go | 100 ++++++++++ 6 files changed, 354 insertions(+) create mode 100644 internal/integrationtest/mock_serial_discovery/.gitignore create mode 100644 internal/integrationtest/mock_serial_discovery/main.go diff --git a/go.mod b/go.mod index 3cb1be40908..3ff632d87f4 100644 --- a/go.mod +++ b/go.mod @@ -11,6 +11,7 @@ require ( github.com/arduino/go-properties-orderedmap v1.8.0 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 + github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1 github.com/cmaglie/pb v1.0.27 github.com/codeclysm/extract/v3 v3.1.1 github.com/djherbis/buffer v1.2.0 diff --git a/go.sum b/go.sum index 7de473165d6..ff74254e44e 100644 --- a/go.sum +++ b/go.sum @@ -17,6 +17,9 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -25,6 +28,7 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -48,19 +52,33 @@ github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCv github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= +github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/arduino/arduino-cli v0.0.0-20230206132931-4c0aaa876d1b/go.mod h1:arYwKdEvHC0uvv0FZ0hcWJcUAvqbaaPxv0e7wiamSqo= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= +github.com/arduino/go-paths-helper v1.2.0/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= +github.com/arduino/go-paths-helper v1.8.0/go.mod h1:V82BWgAAp4IbmlybxQdk9Bpkz8M4Qyx+RAFKaG9NuvU= github.com/arduino/go-paths-helper v1.9.2 h1:omR8DPTL4nbUCWfGey5D+e3WvWfA2zEgoM6ZBRNt7ls= github.com/arduino/go-paths-helper v1.9.2/go.mod h1:V82BWgAAp4IbmlybxQdk9Bpkz8M4Qyx+RAFKaG9NuvU= +github.com/arduino/go-properties-orderedmap v1.7.1/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-properties-orderedmap v1.8.0 h1:wEfa6hHdpezrVOh787OmClsf/Kd8qB+zE3P2Xbrn0CQ= github.com/arduino/go-properties-orderedmap v1.8.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6dbLC3y4i02zFT5quS4X6iioWifGlVwfy4= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ= +github.com/arduino/go-win32-utils v0.0.0-20180330194947-ed041402e83b/go.mod h1:iIPnclBMYm1g32Q5kXoqng4jLhMStReIP7ZxaoUC2y8= github.com/arduino/go-win32-utils v1.0.0 h1:/cXB86sOJxOsCHP7sQmXGLkdValwJt56mIwOHYxgQjQ= github.com/arduino/go-win32-utils v1.0.0/go.mod h1:0jqM7doGEAs6DaJCxxhLBUDS5OawrqF48HqXkcEie/Q= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1 h1:MPQZ2YImq5qBiOPwTFGOrl6E99XGSRHc+UzHA6hsjvc= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1/go.mod h1:2lA930B1Xu/otYT1kbx3l1n5vFJuuyPNkQaqOoQHmPE= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -76,12 +94,17 @@ github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/k github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/codeclysm/extract/v3 v3.1.0/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dHxfWuPaMhlOfQ= github.com/codeclysm/extract/v3 v3.1.1 h1:iHZtdEAwSTqPrd+1n4jfhr1qBhUWtHlMTjT90+fJVXg= github.com/codeclysm/extract/v3 v3.1.1/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dHxfWuPaMhlOfQ= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= @@ -102,14 +125,18 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= @@ -126,8 +153,11 @@ github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M= github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -139,6 +169,7 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -154,6 +185,8 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -166,10 +199,12 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -183,21 +218,43 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/itchyny/gojq v0.12.8 h1:Zxcwq8w4IeR8JJYEtoG2MWJZUv0RGY6QqJcO1cqV8+A= @@ -206,17 +263,32 @@ github.com/itchyny/timefmt-go v0.1.3 h1:7M3LGVDsqcd0VZH2U+x393obrzZisp7C0uEe921i github.com/itchyny/timefmt-go v0.1.3/go.mod h1:0osSSCQSASBJMsIZnhAaF1C2fCBTJZXrnj37mG8/c+A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/juju/clock v0.0.0-20180524022203-d293bb356ca4/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA= +github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= +github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= github.com/juju/errors v1.0.0 h1:yiq7kjCLll1BiaRuNY53MGI0+EQ3rF6GB+wvboZDefM= github.com/juju/errors v1.0.0/go.mod h1:B5x9thDqx0wIMH3+aLIMP9HjItInYWObRovoCFM5Qe8= +github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/juju/retry v0.0.0-20160928201858-1998d01ba1c3/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= +github.com/juju/testing v0.0.0-20200510222523-6c8c298c77a0/go.mod h1:hpGvhGHPVbNBraRLZEhoQwFLMrjK8PSlO4D3nDjKYXo= +github.com/juju/utils v0.0.0-20180808125547-9dfc6dbfb02b/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= +github.com/juju/version v0.0.0-20161031051906-1f41e27e54f2/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U= +github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -226,19 +298,25 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leonelquinteros/gotext v1.4.0 h1:2NHPCto5IoMXbrT0bldPrxj0qM5asOCwtb1aUQZ1tys= github.com/leonelquinteros/gotext v1.4.0/go.mod h1:yZGXREmoGTtBvZHNcc+Yfug49G/2spuF/i/Qlsvz1Us= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 h1:hyAgCuG5nqTMDeUD8KZs7HSPs6KprPgPP8QmGV8nyvk= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84/go.mod h1:Pb6XcsXyropB9LNHhnqaknG/vEwYztLkQzVCHv8sQ3M= github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -246,75 +324,112 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmylund/sortutil v0.0.0-20120526081524-abeda66eb583/go.mod h1:sFPiU/UgDcsQVu3vkqpZLCXWFwUoQRpHGu9ATihPAl0= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo= github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ= github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/schollz/closestmatch v2.1.0+incompatible h1:Uel2GXEpJqOWBrlyI+oY9LTiyyjYS17cCYRqP13/SHk= github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= +github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= +github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= @@ -328,31 +443,45 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= go.bug.st/downloader/v2 v2.1.1 h1:nyqbUizo3E2IxCCm4YFac4FtSqqFpqWP+Aae5GCMuw4= go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= +go.bug.st/relaxed-semver v0.9.0/go.mod h1:ug0/W/RPYUjliE70Ghxg77RDHmPxqpo7SHV16ijss7Q= go.bug.st/relaxed-semver v0.11.0 h1:ngzpUlBEZ5F9hJnMZP55LIFbgX3bCztBBufMhJViAsY= go.bug.st/relaxed-semver v0.11.0/go.mod h1:rqPEm+790OTQlAdfSJSHWwpKOg3A8UyvAWMZxYkQivc= +go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg= go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.1.1 h1:nHotIMK151LF3vYsU/b2RaoVaWCgrf2kvQeGNoZkGaA= go.bug.st/testifyjson v1.1.1/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= @@ -389,6 +518,7 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -399,12 +529,16 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -431,10 +565,14 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= @@ -451,6 +589,9 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -461,15 +602,20 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -477,10 +623,12 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -500,14 +648,21 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -532,6 +687,7 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -548,15 +704,18 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -579,6 +738,7 @@ golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -587,8 +747,10 @@ golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= @@ -616,6 +778,9 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -646,6 +811,7 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= @@ -658,7 +824,13 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a h1:a2MQQVoTo96JC9PMGtGBymLp7+/RzpFc2yX/9WfFg1c= google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -674,9 +846,13 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -694,22 +870,33 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= +gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= +gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 45620ee4c71..dd1855577aa 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -201,6 +201,33 @@ func (cli *ArduinoCLI) convertEnvForExecutils(env map[string]string) []string { return envVars } +// InstallMockedSerialDiscovery will replace the already installed serial-discovery +// with a mocked one. +func (cli *ArduinoCLI) InstallMockedSerialDiscovery(t *testing.T) { + // Build mocked serial-discovery + mockDir := FindRepositoryRootPath(t).Join("internal", "integrationtest", "mock_serial_discovery") + gobuild, err := executils.NewProcess(nil, "go", "build") + require.NoError(t, err) + gobuild.SetDirFromPath(mockDir) + require.NoError(t, gobuild.Run(), "Building mocked serial-discovery") + + // Install it replacing the current serial discovery + mockBin := mockDir.Join("mock_serial_discovery") + dataDir := cli.DataDir() + require.NotNil(t, dataDir, "data dir missing") + serialDiscoveries, err := dataDir.Join("packages", "builtin", "tools", "serial-discovery").ReadDirRecursiveFiltered( + nil, paths.AndFilter( + paths.FilterNames("serial-discovery"), + paths.FilterOutDirectories(), + ), + ) + require.NoError(t, err, "scanning data dir for serial-discoveries") + require.NotEmpty(t, serialDiscoveries, "no serial-discoveries found in data dir") + for _, serialDiscovery := range serialDiscoveries { + require.NoError(t, mockBin.CopyTo(serialDiscovery), "installing mocked serial discovery to %s", serialDiscovery) + } +} + // RunWithCustomEnv executes the given arduino-cli command with the given custom env and returns the output. func (cli *ArduinoCLI) RunWithCustomEnv(env map[string]string, args ...string) ([]byte, []byte, error) { if cli.cliConfigPath != nil { diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index a74434c5d97..70c53de9039 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -91,6 +91,44 @@ func TestBoardList(t *testing.T) { MustBeEmpty() } +func TestBoardListMock(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + + cli.InstallMockedSerialDiscovery(t) + + stdout, _, err := cli.Run("board", "list", "--format", "json") + require.NoError(t, err) + + // check is a valid json and contains a list of ports + requirejson.Contains(t, stdout, `[ + { + "matching_boards": [ + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + } + ], + "port": { + "address": "/dev/ttyCIAO", + "label": "Mocked Serial port", + "protocol": "serial", + "protocol_label": "Serial", + "properties": { + "pid": "0x0041", + "serial": "123456", + "vid": "0x2341" + }, + "hardware_id": "123456" + } + } + ] + `) +} + func TestBoardListWithFqbnFilter(t *testing.T) { if os.Getenv("CI") != "" { t.Skip("VMs have no serial ports") diff --git a/internal/integrationtest/mock_serial_discovery/.gitignore b/internal/integrationtest/mock_serial_discovery/.gitignore new file mode 100644 index 00000000000..4eb3daf49c9 --- /dev/null +++ b/internal/integrationtest/mock_serial_discovery/.gitignore @@ -0,0 +1 @@ +mock_serial_discovery diff --git a/internal/integrationtest/mock_serial_discovery/main.go b/internal/integrationtest/mock_serial_discovery/main.go new file mode 100644 index 00000000000..af25b448331 --- /dev/null +++ b/internal/integrationtest/mock_serial_discovery/main.go @@ -0,0 +1,100 @@ +// +// This file is part arduino-cli. +// +// Copyright 2023 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 main + +import ( + "errors" + "os" + "time" + + "github.com/arduino/go-properties-orderedmap" + discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" +) + +type mockSerialDiscovery struct { + startSyncCount int + closeChan chan<- bool +} + +func main() { + dummy := &mockSerialDiscovery{} + server := discovery.NewServer(dummy) + if err := server.Run(os.Stdin, os.Stdout); err != nil { + os.Exit(1) + } +} + +// Hello does nothing here... +func (d *mockSerialDiscovery) Hello(userAgent string, protocol int) error { + return nil +} + +// Quit does nothing here... +func (d *mockSerialDiscovery) Quit() {} + +// Stop terminates the discovery loop +func (d *mockSerialDiscovery) Stop() error { + if d.closeChan != nil { + d.closeChan <- true + close(d.closeChan) + d.closeChan = nil + } + return nil +} + +// StartSync starts the goroutine that generates fake Ports. +func (d *mockSerialDiscovery) StartSync(eventCB discovery.EventCallback, errorCB discovery.ErrorCallback) error { + // Every 5 starts produce an error + d.startSyncCount++ + if d.startSyncCount%5 == 0 { + return errors.New("could not start_sync every 5 times") + } + + c := make(chan bool) + d.closeChan = c + + // Start asynchronous event emitter + go func() { + var closeChan <-chan bool = c + + // Output initial port state + eventCB("add", &discovery.Port{ + Address: "/dev/ttyCIAO", + AddressLabel: "Mocked Serial port", + Protocol: "serial", + ProtocolLabel: "Serial", + HardwareID: "123456", + Properties: properties.NewFromHashmap(map[string]string{ + "vid": "0x2341", + "pid": "0x0041", + "serial": "123456", + }), + }) + + select { + case <-closeChan: + return + case <-time.After(5 * time.Second): + errorCB("unrecoverable error, cannot send more events") + } + + <-closeChan + }() + + return nil +} From b82a519e9a5086910a743f0450069d49d8f5ee86 Mon Sep 17 00:00:00 2001 From: Brent Rubell Date: Fri, 20 Oct 2023 11:43:08 -0400 Subject: [PATCH 002/361] Fix "Failed to install arduino-cli" when invoked by install.sh (#2380) --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index d248dffdfb5..8be41ae6c9d 100755 --- a/install.sh +++ b/install.sh @@ -84,7 +84,7 @@ initDownloadTool() { checkLatestVersion() { # Use the GitHub releases webpage to find the latest version for this project # so we don't get rate-limited. - CHECKLATESTVERSION_REGEX="v?[0-9][A-Za-z0-9\.-]*" + CHECKLATESTVERSION_REGEX="v\?[0-9][A-Za-z0-9\.-]*" CHECKLATESTVERSION_LATEST_URL="https://github.com/${PROJECT_OWNER}/${PROJECT_NAME}/releases/latest" if [ "$DOWNLOAD_TOOL" = "curl" ]; then CHECKLATESTVERSION_TAG=$(curl -SsL $CHECKLATESTVERSION_LATEST_URL | grep -o "Release $CHECKLATESTVERSION_REGEX · ${PROJECT_OWNER}/${PROJECT_NAME}" | grep -o "$CHECKLATESTVERSION_REGEX") From eb8f2f246d3dc3afabe276d35b589ed732898835 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 23 Oct 2023 11:09:03 +0200 Subject: [PATCH 003/361] [skip-changelog] testsuite: added mocked serial monitor for integration tests (#2379) * Added mocked serial-monitor for integration tests * Give a bit more output when using mocking tests * Allow testsuite to run arduino-cli with a given input stream * Allow use of the monitor in non-terminal envs * Added monitor command integration tests * Moved mocked tools packages up one dir to not get 'executed' as integration test * Consider .exe extension on Windows when implating mocked tools --- go.mod | 3 + go.sum | 5 + internal/cli/feedback/terminal.go | 20 +- internal/cli/monitor/monitor.go | 10 +- internal/integrationtest/arduino-cli.go | 98 ++++++++- .../integrationtest/monitor/monitor_test.go | 90 ++++++++ .../mock_serial_discovery/.gitignore | 0 .../mock_serial_discovery/main.go | 0 internal/mock_serial_monitor/.gitignore | 1 + internal/mock_serial_monitor/main.go | 193 ++++++++++++++++++ 10 files changed, 398 insertions(+), 22 deletions(-) create mode 100644 internal/integrationtest/monitor/monitor_test.go rename internal/{integrationtest => }/mock_serial_discovery/.gitignore (100%) rename internal/{integrationtest => }/mock_serial_discovery/main.go (100%) create mode 100644 internal/mock_serial_monitor/.gitignore create mode 100644 internal/mock_serial_monitor/main.go diff --git a/go.mod b/go.mod index 3ff632d87f4..86bc603bf72 100644 --- a/go.mod +++ b/go.mod @@ -12,6 +12,7 @@ require ( github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1 + github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 github.com/cmaglie/pb v1.0.27 github.com/codeclysm/extract/v3 v3.1.1 github.com/djherbis/buffer v1.2.0 @@ -60,6 +61,8 @@ require ( github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/h2non/filetype v1.1.3 // indirect + github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/imdario/mergo v0.3.12 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect diff --git a/go.sum b/go.sum index ff74254e44e..b2674d86777 100644 --- a/go.sum +++ b/go.sum @@ -72,6 +72,8 @@ github.com/arduino/go-win32-utils v1.0.0 h1:/cXB86sOJxOsCHP7sQmXGLkdValwJt56mIwO github.com/arduino/go-win32-utils v1.0.0/go.mod h1:0jqM7doGEAs6DaJCxxhLBUDS5OawrqF48HqXkcEie/Q= github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1 h1:MPQZ2YImq5qBiOPwTFGOrl6E99XGSRHc+UzHA6hsjvc= github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1/go.mod h1:2lA930B1Xu/otYT1kbx3l1n5vFJuuyPNkQaqOoQHmPE= +github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4AdBxcC9dJLXasRimVqaComf9L3M= +github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= @@ -231,11 +233,14 @@ github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= diff --git a/internal/cli/feedback/terminal.go b/internal/cli/feedback/terminal.go index 11c466bae8b..09dc0212f4a 100644 --- a/internal/cli/feedback/terminal.go +++ b/internal/cli/feedback/terminal.go @@ -35,9 +35,6 @@ func InteractiveStreams() (io.Reader, io.Writer, error) { if format != Text { return nil, nil, errors.New(tr("interactive terminal not supported for the '%s' output format", format)) } - if !isTerminal() { - return nil, nil, errors.New(tr("not running in a terminal")) - } return os.Stdin, stdOut, nil } @@ -45,11 +42,19 @@ var oldStateStdin *term.State // SetRawModeStdin sets the stdin stream in RAW mode (no buffering, echo disabled, // no terminal escape codes nor signals interpreted) -func SetRawModeStdin() { +func SetRawModeStdin() error { if oldStateStdin != nil { panic("terminal already in RAW mode") } - oldStateStdin, _ = term.MakeRaw(int(os.Stdin.Fd())) + if !IsTerminal() { + return errors.New(tr("not running in a terminal")) + } + old, err := term.MakeRaw(int(os.Stdin.Fd())) + if err != nil { + return err + } + oldStateStdin = old + return nil } // RestoreModeStdin restore the terminal settings to the normal non-RAW state. This @@ -63,7 +68,8 @@ func RestoreModeStdin() { oldStateStdin = nil } -func isTerminal() bool { +// IsTerminal returns true if there is an interactive terminal +func IsTerminal() bool { return term.IsTerminal(int(os.Stdin.Fd())) } @@ -72,7 +78,7 @@ func InputUserField(prompt string, secret bool) (string, error) { if format != Text { return "", errors.New(tr("user input not supported for the '%s' output format", format)) } - if !isTerminal() { + if !IsTerminal() { return "", errors.New(tr("user input not supported in non interactive mode")) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index b15cd5bb436..c7cdac4810a 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -169,10 +169,12 @@ func runMonitorCmd(portArgs *arguments.Port, fqbn *arguments.Fqbn, configs []str ctx, cancel := cleanup.InterruptableContext(context.Background()) if raw { - feedback.SetRawModeStdin() - defer func() { - feedback.RestoreModeStdin() - }() + if feedback.IsTerminal() { + if err := feedback.SetRawModeStdin(); err != nil { + feedback.Warning(tr("Error setting raw mode: %s", err.Error())) + } + defer feedback.RestoreModeStdin() + } // In RAW mode CTRL-C is not converted into an Interrupt by // the terminal, we must intercept ASCII 3 (CTRL-C) on our own... diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index dd1855577aa..087182c50af 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -23,6 +23,7 @@ import ( "fmt" "io" "os" + "runtime" "strings" "sync" "testing" @@ -204,20 +205,28 @@ func (cli *ArduinoCLI) convertEnvForExecutils(env map[string]string) []string { // InstallMockedSerialDiscovery will replace the already installed serial-discovery // with a mocked one. func (cli *ArduinoCLI) InstallMockedSerialDiscovery(t *testing.T) { + fmt.Println(color.BlueString("<<< Install mocked serial-discovery")) + // Build mocked serial-discovery - mockDir := FindRepositoryRootPath(t).Join("internal", "integrationtest", "mock_serial_discovery") + mockDir := FindRepositoryRootPath(t).Join("internal", "mock_serial_discovery") gobuild, err := executils.NewProcess(nil, "go", "build") require.NoError(t, err) gobuild.SetDirFromPath(mockDir) require.NoError(t, gobuild.Run(), "Building mocked serial-discovery") + ext := "" + if runtime.GOOS == "windows" { + ext = ".exe" + } + mockBin := mockDir.Join("mock_serial_discovery" + ext) + require.True(t, mockBin.Exist()) + fmt.Println(color.HiBlackString(" Build of mocked serial-discovery succeeded.")) // Install it replacing the current serial discovery - mockBin := mockDir.Join("mock_serial_discovery") dataDir := cli.DataDir() require.NotNil(t, dataDir, "data dir missing") serialDiscoveries, err := dataDir.Join("packages", "builtin", "tools", "serial-discovery").ReadDirRecursiveFiltered( nil, paths.AndFilter( - paths.FilterNames("serial-discovery"), + paths.FilterNames("serial-discovery"+ext), paths.FilterOutDirectories(), ), ) @@ -225,11 +234,69 @@ func (cli *ArduinoCLI) InstallMockedSerialDiscovery(t *testing.T) { require.NotEmpty(t, serialDiscoveries, "no serial-discoveries found in data dir") for _, serialDiscovery := range serialDiscoveries { require.NoError(t, mockBin.CopyTo(serialDiscovery), "installing mocked serial discovery to %s", serialDiscovery) + fmt.Println(color.HiBlackString(" Discovery installed in " + serialDiscovery.String())) + } +} + +// InstallMockedSerialMonitor will replace the already installed serial-monitor +// with a mocked one. +func (cli *ArduinoCLI) InstallMockedSerialMonitor(t *testing.T) { + fmt.Println(color.BlueString("<<< Install mocked serial-monitor")) + + // Build mocked serial-monitor + mockDir := FindRepositoryRootPath(t).Join("internal", "mock_serial_monitor") + gobuild, err := executils.NewProcess(nil, "go", "build") + require.NoError(t, err) + gobuild.SetDirFromPath(mockDir) + require.NoError(t, gobuild.Run(), "Building mocked serial-monitor") + ext := "" + if runtime.GOOS == "windows" { + ext = ".exe" + } + mockBin := mockDir.Join("mock_serial_monitor" + ext) + require.True(t, mockBin.Exist()) + fmt.Println(color.HiBlackString(" Build of mocked serial-monitor succeeded.")) + + // Install it replacing the current serial monitor + dataDir := cli.DataDir() + require.NotNil(t, dataDir, "data dir missing") + serialMonitors, err := dataDir.Join("packages", "builtin", "tools", "serial-monitor").ReadDirRecursiveFiltered( + nil, paths.AndFilter( + paths.FilterNames("serial-monitor"+ext), + paths.FilterOutDirectories(), + ), + ) + require.NoError(t, err, "scanning data dir for serial-monitor") + require.NotEmpty(t, serialMonitors, "no serial-monitor found in data dir") + for _, serialMonitor := range serialMonitors { + require.NoError(t, mockBin.CopyTo(serialMonitor), "installing mocked serial monitor to %s", serialMonitor) + fmt.Println(color.HiBlackString(" Monitor installed in " + serialMonitor.String())) } } // RunWithCustomEnv executes the given arduino-cli command with the given custom env and returns the output. func (cli *ArduinoCLI) RunWithCustomEnv(env map[string]string, args ...string) ([]byte, []byte, error) { + var stdoutBuf, stderrBuf bytes.Buffer + err := cli.run(&stdoutBuf, &stderrBuf, nil, env, args...) + + errBuf := stderrBuf.Bytes() + cli.t.NotContains(string(errBuf), "panic: runtime error:", "arduino-cli panicked") + + return stdoutBuf.Bytes(), errBuf, err +} + +// RunWithCustomInput executes the given arduino-cli command pushing the given input stream and returns the output. +func (cli *ArduinoCLI) RunWithCustomInput(in io.Reader, args ...string) ([]byte, []byte, error) { + var stdoutBuf, stderrBuf bytes.Buffer + err := cli.run(&stdoutBuf, &stderrBuf, in, cli.cliEnvVars, args...) + + errBuf := stderrBuf.Bytes() + cli.t.NotContains(string(errBuf), "panic: runtime error:", "arduino-cli panicked") + + return stdoutBuf.Bytes(), errBuf, err +} + +func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader, env map[string]string, args ...string) error { if cli.cliConfigPath != nil { args = append([]string{"--config-file", cli.cliConfigPath.String()}, args...) } @@ -240,35 +307,44 @@ func (cli *ArduinoCLI) RunWithCustomEnv(env map[string]string, args ...string) ( cli.t.NoError(err) stderr, err := cliProc.StderrPipe() cli.t.NoError(err) - _, err = cliProc.StdinPipe() + stdin, err := cliProc.StdinPipe() cli.t.NoError(err) cliProc.SetDir(cli.WorkingDir().String()) cli.t.NoError(cliProc.Start()) - var stdoutBuf, stderrBuf bytes.Buffer var wg sync.WaitGroup wg.Add(2) go func() { defer wg.Done() - if _, err := io.Copy(&stdoutBuf, io.TeeReader(stdout, os.Stdout)); err != nil { + if stdoutBuff == nil { + stdoutBuff = io.Discard + } + if _, err := io.Copy(stdoutBuff, io.TeeReader(stdout, os.Stdout)); err != nil { fmt.Println(color.HiBlackString("<<< stdout copy error:"), err) } }() go func() { defer wg.Done() - if _, err := io.Copy(&stderrBuf, io.TeeReader(stderr, os.Stderr)); err != nil { + if stderrBuff == nil { + stderrBuff = io.Discard + } + if _, err := io.Copy(stderrBuff, io.TeeReader(stderr, os.Stderr)); err != nil { fmt.Println(color.HiBlackString("<<< stderr copy error:"), err) } }() + if stdinBuff != nil { + go func() { + if _, err := io.Copy(stdin, stdinBuff); err != nil { + fmt.Println(color.HiBlackString("<<< stdin copy error:"), err) + } + }() + } wg.Wait() cliErr := cliProc.Wait() fmt.Println(color.HiBlackString("<<< Run completed (err = %v)", cliErr)) - errBuf := stderrBuf.Bytes() - cli.t.NotContains(string(errBuf), "panic: runtime error:", "arduino-cli panicked") - - return stdoutBuf.Bytes(), errBuf, cliErr + return cliErr } // StartDaemon starts the Arduino CLI daemon. It returns the address of the daemon. diff --git a/internal/integrationtest/monitor/monitor_test.go b/internal/integrationtest/monitor/monitor_test.go new file mode 100644 index 00000000000..0f5593cb9aa --- /dev/null +++ b/internal/integrationtest/monitor/monitor_test.go @@ -0,0 +1,90 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 monitor_test + +import ( + "bytes" + "io" + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/stretchr/testify/require" +) + +func TestMonitorConfigFlags(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Install AVR platform (this is required to enable the 'serial' monitor...) + // TODO: maybe this is worth opening an issue? + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + // Install mocked discovery and monitor for testing + require.NoError(t, err) + cli.InstallMockedSerialDiscovery(t) + cli.InstallMockedSerialMonitor(t) + + // Test monitor command + quit := func() io.Reader { + // tells mocked monitor to exit + return bytes.NewBufferString("QUIT\n") + } + + t.Run("NoArgs", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", "--raw") + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARG") + require.Contains(t, string(stdout), "Configuration baudrate = 9600") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("BaudConfig", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", "-c", "baudrate=115200", "--raw") + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARG") + require.Contains(t, string(stdout), "Configuration baudrate = 115200") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("BaudAndParitfyConfig", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", + "-c", "baudrate=115200", "-c", "parity=even", "--raw") + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARG") + require.Contains(t, string(stdout), "Configuration baudrate = 115200") + require.Contains(t, string(stdout), "Configuration parity = even") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("InvalidConfigKey", func(t *testing.T) { + _, stderr, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", + "-c", "baud=115200", "-c", "parity=even", "--raw") + require.Error(t, err) + require.Contains(t, string(stderr), "invalid port configuration: baud=115200") + }) + + t.Run("InvalidConfigValue", func(t *testing.T) { + _, stderr, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", + "-c", "parity=9600", "--raw") + require.Error(t, err) + require.Contains(t, string(stderr), "invalid port configuration value for parity: 9600") + }) +} diff --git a/internal/integrationtest/mock_serial_discovery/.gitignore b/internal/mock_serial_discovery/.gitignore similarity index 100% rename from internal/integrationtest/mock_serial_discovery/.gitignore rename to internal/mock_serial_discovery/.gitignore diff --git a/internal/integrationtest/mock_serial_discovery/main.go b/internal/mock_serial_discovery/main.go similarity index 100% rename from internal/integrationtest/mock_serial_discovery/main.go rename to internal/mock_serial_discovery/main.go diff --git a/internal/mock_serial_monitor/.gitignore b/internal/mock_serial_monitor/.gitignore new file mode 100644 index 00000000000..eae1d555aab --- /dev/null +++ b/internal/mock_serial_monitor/.gitignore @@ -0,0 +1 @@ +mock_serial_monitor diff --git a/internal/mock_serial_monitor/main.go b/internal/mock_serial_monitor/main.go new file mode 100644 index 00000000000..4dc9c4da159 --- /dev/null +++ b/internal/mock_serial_monitor/main.go @@ -0,0 +1,193 @@ +// +// This file is part of arduino-cli. +// +// Copyright 2023 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 main + +import ( + "errors" + "fmt" + "io" + "os" + "slices" + "strings" + + monitor "github.com/arduino/pluggable-monitor-protocol-handler" +) + +func main() { + monitorServer := monitor.NewServer(NewSerialMonitor()) + if err := monitorServer.Run(os.Stdin, os.Stdout); err != nil { + fmt.Fprintf(os.Stderr, "Error: %s\n", err.Error()) + os.Exit(1) + } +} + +// SerialMonitor is the implementation of the serial ports pluggable-monitor +type SerialMonitor struct { + mockedSerialPort io.ReadWriteCloser + serialSettings *monitor.PortDescriptor + openedPort bool +} + +// NewSerialMonitor will initialize and return a SerialMonitor +func NewSerialMonitor() *SerialMonitor { + return &SerialMonitor{ + serialSettings: &monitor.PortDescriptor{ + Protocol: "serial", + ConfigurationParameter: map[string]*monitor.PortParameterDescriptor{ + "baudrate": { + Label: "Baudrate", + Type: "enum", + Values: []string{ + "300", "600", "750", + "1200", "2400", "4800", "9600", + "19200", "31250", "38400", "57600", "74880", + "115200", "230400", "250000", "460800", "500000", "921600", + "1000000", "2000000"}, + Selected: "9600", + }, + "parity": { + Label: "Parity", + Type: "enum", + Values: []string{"none", "even", "odd", "mark", "space"}, + Selected: "none", + }, + "bits": { + Label: "Data bits", + Type: "enum", + Values: []string{"5", "6", "7", "8", "9"}, + Selected: "8", + }, + "stop_bits": { + Label: "Stop bits", + Type: "enum", + Values: []string{"1", "1.5", "2"}, + Selected: "1", + }, + "rts": { + Label: "RTS", + Type: "enum", + Values: []string{"on", "off"}, + Selected: "on", + }, + "dtr": { + Label: "DTR", + Type: "enum", + Values: []string{"on", "off"}, + Selected: "on", + }, + }, + }, + openedPort: false, + } +} + +// Hello is the handler for the pluggable-monitor HELLO command +func (d *SerialMonitor) Hello(userAgent string, protocol int) error { + return nil +} + +// Describe is the handler for the pluggable-monitor DESCRIBE command +func (d *SerialMonitor) Describe() (*monitor.PortDescriptor, error) { + return d.serialSettings, nil +} + +// Configure is the handler for the pluggable-monitor CONFIGURE command +func (d *SerialMonitor) Configure(parameterName string, value string) error { + parameter, ok := d.serialSettings.ConfigurationParameter[parameterName] + if !ok { + return fmt.Errorf("could not find parameter named %s", parameterName) + } + if !slices.Contains(parameter.Values, value) { + return fmt.Errorf("invalid value for parameter %s: %s", parameterName, value) + } + // Set configuration + parameter.Selected = value + + return nil +} + +// Open is the handler for the pluggable-monitor OPEN command +func (d *SerialMonitor) Open(boardPort string) (io.ReadWriter, error) { + if d.openedPort { + return nil, fmt.Errorf("port already opened: %s", boardPort) + } + d.openedPort = true + sideA, sideB := newBidirectionalPipe() + d.mockedSerialPort = sideA + go func() { + buff := make([]byte, 1024) + d.mockedSerialPort.Write([]byte("Opened port: " + boardPort + "\n")) + for parameter, descriptor := range d.serialSettings.ConfigurationParameter { + d.mockedSerialPort.Write([]byte( + fmt.Sprintf("Configuration %s = %s\n", parameter, descriptor.Selected))) + } + for { + n, err := d.mockedSerialPort.Read(buff) + if err != nil { + d.mockedSerialPort.Close() + return + } + if strings.Contains(string(buff[:n]), "QUIT") { + d.mockedSerialPort.Close() + return + } + d.mockedSerialPort.Write([]byte("Received: >")) + d.mockedSerialPort.Write(buff[:n]) + d.mockedSerialPort.Write([]byte("<\n")) + } + }() + return sideB, nil +} + +func newBidirectionalPipe() (io.ReadWriteCloser, io.ReadWriteCloser) { + in1, out1 := io.Pipe() + in2, out2 := io.Pipe() + a := &bidirectionalPipe{in: in1, out: out2} + b := &bidirectionalPipe{in: in2, out: out1} + return a, b +} + +type bidirectionalPipe struct { + in io.Reader + out io.WriteCloser +} + +func (p *bidirectionalPipe) Read(buff []byte) (int, error) { + return p.in.Read(buff) +} + +func (p *bidirectionalPipe) Write(buff []byte) (int, error) { + return p.out.Write(buff) +} + +func (p *bidirectionalPipe) Close() error { + return p.out.Close() +} + +// Close is the handler for the pluggable-monitor CLOSE command +func (d *SerialMonitor) Close() error { + if !d.openedPort { + return errors.New("port already closed") + } + d.mockedSerialPort.Close() + d.openedPort = false + return nil +} + +// Quit is the handler for the pluggable-monitor QUIT command +func (d *SerialMonitor) Quit() {} From ad5dacca220162cd5dd736ef89d341f9b82137a0 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 23 Oct 2023 17:09:22 +0200 Subject: [PATCH 004/361] [breaking] Updated gRPC Platform API (#2357) * Updated gRPC Pltform API, regenerated API * Adapted cores.Platform and PlatformRelease to the new gRPC API * Fixed search_test.go * Removed gRPC PlatformList command * Other adaptation of platform structures * Adapt arguuments completion to use PlatformSearch instead of PlatformList * Adapt 'core list' to use PlatformSearch instead of PlatformList * Adapt 'core upgrade' command to use PlatformSearch instead of PlatformList * Adapted some integration tests * Fix integreation test * apply changes to search vidpid * Better handling of 'core list' results * Better handling of 'core search' results * Better handling of 'core outdated' results * add 'orderedmap' data structure * Made orderedmap more generic * fix regression on 'ParseReference' * wip: fix 'core' integrationtests * wip: fix 'core' sorting tests * fix regression which skipped mannually instaled core in core list * wip: add more 'core' integration tests * regression: all flag takes precedence above updatable in core list * lint: ignore unexported-return (revive) * license: regenerate and add missin headers * tests: fix 'board' integrations * fix: regression not showing manually installed platform in 'core list' * wip: add test to orderedmap * add more orderdmap tests * orderdmap: add json tests * update DOCS * apply CR suggestions * fix proto numeration * docs: update to release 0.36.0 --------- Co-authored-by: Alessio Perugini <alessioper.98@gmail.com> --- .golangci.yml | 1 - arduino/cores/cores.go | 12 +- arduino/cores/packageindex/index.go | 20 +- arduino/cores/packageindex/index_test.go | 5 +- arduino/cores/packagemanager/loader.go | 6 +- .../cores/packagemanager/package_manager.go | 6 +- arduino/cores/packagemanager/profiles.go | 2 +- client_example/main.go | 24 +- commands/board/details.go | 30 +- commands/board/list.go | 6 +- commands/board/listall.go | 22 +- commands/board/search.go | 48 +- commands/core.go | 42 +- commands/core/list.go | 90 --- commands/core/search.go | 77 ++- commands/core/search_test.go | 571 +++++++++--------- commands/core/upgrade.go | 6 +- commands/daemon/daemon.go | 6 - docs/UPGRADING.md | 167 ++++- internal/cli/arguments/completion.go | 18 +- internal/cli/arguments/reference.go | 16 +- internal/cli/board/search.go | 2 +- internal/cli/core/list.go | 67 +- internal/cli/core/search.go | 26 +- internal/cli/core/upgrade.go | 31 +- internal/cli/feedback/result/rpc.go | 121 ++++ internal/cli/outdated/outdated.go | 21 +- internal/integrationtest/arduino-cli.go | 14 +- .../board/hardware_loading_test.go | 82 +-- internal/integrationtest/core/core_test.go | 126 ++-- .../integrationtest/daemon/daemon_test.go | 19 +- internal/orderedmap/orderedmap.go | 184 ++++++ internal/orderedmap/orderedmap_test.go | 361 +++++++++++ rpc/cc/arduino/cli/commands/v1/commands.pb.go | 419 +++++++------ rpc/cc/arduino/cli/commands/v1/commands.proto | 3 - .../cli/commands/v1/commands_grpc.pb.go | 39 -- rpc/cc/arduino/cli/commands/v1/common.go | 42 ++ rpc/cc/arduino/cli/commands/v1/common.pb.go | 554 ++++++++++++----- rpc/cc/arduino/cli/commands/v1/common.proto | 81 ++- rpc/cc/arduino/cli/commands/v1/core.pb.go | 255 ++------ rpc/cc/arduino/cli/commands/v1/core.proto | 22 +- 41 files changed, 2329 insertions(+), 1315 deletions(-) delete mode 100644 commands/core/list.go create mode 100644 internal/cli/feedback/result/rpc.go create mode 100644 internal/orderedmap/orderedmap.go create mode 100644 internal/orderedmap/orderedmap_test.go diff --git a/.golangci.yml b/.golangci.yml index 7e9f18d1482..36b59fa925b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -62,7 +62,6 @@ linters-settings: - name: redefines-builtin-id - name: superfluous-else - name: time-naming - - name: unexported-return - name: unreachable-code - name: var-declaration - name: defer diff --git a/arduino/cores/cores.go b/arduino/cores/cores.go index 19ba9eeaf76..0c836c20f8d 100644 --- a/arduino/cores/cores.go +++ b/arduino/cores/cores.go @@ -37,14 +37,13 @@ import ( // Platform represents a platform package. type Platform struct { - Architecture string // The name of the architecture of this package. - Name string - Category string + Architecture string // The name of the architecture of this package. Releases map[semver.NormalizedString]*PlatformRelease // The Releases of this platform, labeled by version. Package *Package `json:"-"` ManuallyInstalled bool // true if the Platform has been installed without the CLI - Deprecated bool // true if the Platform has been deprecated + Deprecated bool // true if the latest PlatformRelease of this Platform has been deprecated Indexed bool // true if the Platform has been indexed from additional-urls + Latest *semver.Version `json:"-"` } // PlatformReleaseHelp represents the help URL for this Platform release @@ -54,12 +53,15 @@ type PlatformReleaseHelp struct { // PlatformRelease represents a release of a plaform package. type PlatformRelease struct { + Name string + Category string Resource *resources.DownloadResource Version *semver.Version BoardsManifest []*BoardManifest ToolDependencies ToolDependencies DiscoveryDependencies DiscoveryDependencies MonitorDependencies MonitorDependencies + Deprecated bool Help PlatformReleaseHelp `json:"-"` Platform *Platform `json:"-"` Properties *properties.Map `json:"-"` @@ -407,7 +409,7 @@ func (release *PlatformRelease) MarshalJSON() ([]byte, error) { ID: release.Platform.String(), Installed: release.Version.String(), Latest: latestStr, - Name: release.Platform.Name, + Name: release.Name, }) } diff --git a/arduino/cores/packageindex/index.go b/arduino/cores/packageindex/index.go index 61621ed4cca..a54776f3bba 100644 --- a/arduino/cores/packageindex/index.go +++ b/arduino/cores/packageindex/index.go @@ -222,11 +222,11 @@ func IndexFromPlatformRelease(pr *cores.PlatformRelease) Index { URL: pr.Platform.Package.URL, Email: pr.Platform.Package.Email, Platforms: []*indexPlatformRelease{{ - Name: pr.Platform.Name, + Name: pr.Name, Architecture: pr.Platform.Architecture, Version: pr.Version, - Deprecated: pr.Platform.Deprecated, - Category: pr.Platform.Category, + Deprecated: pr.Deprecated, + Category: pr.Category, URL: pr.Resource.URL, ArchiveFileName: pr.Resource.ArchiveFileName, Checksum: pr.Resource.Checksum, @@ -263,18 +263,13 @@ func (inPackage indexPackage) extractPackageIn(outPackages cores.Packages, trust func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *cores.Package, trusted bool, isInstallJSON bool) error { outPlatform := outPackage.GetOrCreatePlatform(inPlatformRelease.Architecture) - // FIXME: shall we use the Name and Category of the latest release? or maybe move Name and Category in PlatformRelease? - outPlatform.Name = inPlatformRelease.Name - outPlatform.Category = inPlatformRelease.Category // If the variable `isInstallJSON` is false it means that the index we're reading is coming from the additional-urls. // Therefore, the `outPlatform.Indexed` will be set at `true`. outPlatform.Indexed = outPlatform.Indexed || !isInstallJSON - // If the Platform is installed before deprecation installed.json file does not include "deprecated" field. - // The installed.json is read during loading phase of an installed Platform, if the deprecated field is not found - // the package_index.json field would be overwritten and the deprecation info would be lost. - // This check prevents that behaviour. - if !outPlatform.Deprecated { + // If the latest platform release is deprecated, then deprecate the whole platform. + if outPlatform.Latest == nil || outPlatform.Latest.LessThan(inPlatformRelease.Version) { + outPlatform.Latest = inPlatformRelease.Version outPlatform.Deprecated = inPlatformRelease.Deprecated } @@ -283,6 +278,8 @@ func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *core return fmt.Errorf(tr("invalid platform archive size: %s"), err) } outPlatformRelease := outPlatform.GetOrCreateRelease(inPlatformRelease.Version) + outPlatformRelease.Name = inPlatformRelease.Name + outPlatformRelease.Category = inPlatformRelease.Category outPlatformRelease.IsTrusted = trusted outPlatformRelease.Resource = &resources.DownloadResource{ ArchiveFileName: inPlatformRelease.ArchiveFileName, @@ -296,6 +293,7 @@ func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *core outPlatformRelease.ToolDependencies = inPlatformRelease.extractToolDependencies() outPlatformRelease.DiscoveryDependencies = inPlatformRelease.extractDiscoveryDependencies() outPlatformRelease.MonitorDependencies = inPlatformRelease.extractMonitorDependencies() + outPlatformRelease.Deprecated = inPlatformRelease.Deprecated return nil } diff --git a/arduino/cores/packageindex/index_test.go b/arduino/cores/packageindex/index_test.go index efb05c16aa0..8a2d5474693 100644 --- a/arduino/cores/packageindex/index_test.go +++ b/arduino/cores/packageindex/index_test.go @@ -91,11 +91,10 @@ func TestIndexFromPlatformRelease(t *testing.T) { Name: "serial-monitor", }, }, + Name: "Arduino AVR Boards", + Category: "Arduino", Platform: &cores.Platform{ - Name: "Arduino AVR Boards", Architecture: "avr", - Category: "Arduino", - Package: &cores.Package{ Name: "arduino", Maintainer: "Arduino", diff --git a/arduino/cores/packagemanager/loader.go b/arduino/cores/packagemanager/loader.go index 2644a9f22e2..8d5cfe76da0 100644 --- a/arduino/cores/packagemanager/loader.go +++ b/arduino/cores/packagemanager/loader.go @@ -323,14 +323,14 @@ func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *pa platform.Properties.Set("pluggable_monitor.required.serial", "builtin:serial-monitor") } - if platform.Platform.Name == "" { + if platform.Name == "" { if name, ok := platform.Properties.GetOk("name"); ok { - platform.Platform.Name = name + platform.Name = name } else { // If the platform.txt file doesn't exist for this platform and it's not in any // package index there is no way of retrieving its name, so we build one using // the available information, that is the packager name and the architecture. - platform.Platform.Name = fmt.Sprintf("%s-%s", platform.Platform.Package.Name, platform.Platform.Architecture) + platform.Name = fmt.Sprintf("%s-%s", platform.Platform.Package.Name, platform.Platform.Architecture) } } diff --git a/arduino/cores/packagemanager/package_manager.go b/arduino/cores/packagemanager/package_manager.go index 7773b407109..1d6ac17aac0 100644 --- a/arduino/cores/packagemanager/package_manager.go +++ b/arduino/cores/packagemanager/package_manager.go @@ -192,8 +192,8 @@ func (pme *Explorer) GetCustomGlobalProperties() *properties.Map { } // FindPlatformReleaseProvidingBoardsWithVidPid FIXMEDOC -func (pme *Explorer) FindPlatformReleaseProvidingBoardsWithVidPid(vid, pid string) []*cores.PlatformRelease { - res := []*cores.PlatformRelease{} +func (pme *Explorer) FindPlatformReleaseProvidingBoardsWithVidPid(vid, pid string) []*cores.Platform { + res := []*cores.Platform{} for _, targetPackage := range pme.packages { for _, targetPlatform := range targetPackage.Platforms { platformRelease := targetPlatform.GetLatestRelease() @@ -202,7 +202,7 @@ func (pme *Explorer) FindPlatformReleaseProvidingBoardsWithVidPid(vid, pid strin } for _, boardManifest := range platformRelease.BoardsManifest { if boardManifest.HasUsbID(vid, pid) { - res = append(res, platformRelease) + res = append(res, targetPlatform) break } } diff --git a/arduino/cores/packagemanager/profiles.go b/arduino/cores/packagemanager/profiles.go index 423bfdaeffa..a8f12789521 100644 --- a/arduino/cores/packagemanager/profiles.go +++ b/arduino/cores/packagemanager/profiles.go @@ -45,7 +45,7 @@ func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing boo logrus.WithField("platform", platformRef).WithError(err).Debugf("Error loading platform for profile") } else { platformReleases = append(platformReleases, platformRelease) - indexURLs[platformRelease.Platform.Name] = platformRef.PlatformIndexURL + indexURLs[platformRelease.Name] = platformRef.PlatformIndexURL logrus.WithField("platform", platformRef).Debugf("Loaded platform for profile") } } diff --git a/client_example/main.go b/client_example/main.go index 7ae3745a598..3be6fb596fe 100644 --- a/client_example/main.go +++ b/client_example/main.go @@ -145,11 +145,6 @@ func main() { log.Println("calling PlatformInstall(arduino:samd@1.6.19)") callPlatformInstall(client, instance) - // Now list the installed platforms to double check previous installation - // went right. - log.Println("calling PlatformList()") - callPlatformList(client, instance) - // Upgrade the installed platform to the latest version. log.Println("calling PlatformUpgrade(arduino:samd)") callPlatformUpgrade(client, instance) @@ -420,7 +415,7 @@ func callPlatformSearch(client rpc.ArduinoCoreServiceClient, instance *rpc.Insta for _, plat := range platforms { // We only print ID and version of the platforms found but you can look // at the definition for the rpc.Platform struct for more fields. - log.Printf("Search result: %+v - %+v", plat.GetId(), plat.GetLatest()) + log.Printf("Search result: %+v - %+v", plat.GetMetadata().GetId(), plat.GetLatestVersion()) } } @@ -464,21 +459,6 @@ func callPlatformInstall(client rpc.ArduinoCoreServiceClient, instance *rpc.Inst } } -func callPlatformList(client rpc.ArduinoCoreServiceClient, instance *rpc.Instance) { - listResp, err := client.PlatformList(context.Background(), - &rpc.PlatformListRequest{Instance: instance}) - - if err != nil { - log.Fatalf("List error: %s", err) - } - - for _, plat := range listResp.GetInstalledPlatforms() { - // We only print ID and version of the installed platforms but you can look - // at the definition for the rpc.Platform struct for more fields. - log.Printf("Installed platform: %s - %s", plat.GetId(), plat.GetInstalled()) - } -} - func callPlatformUpgrade(client rpc.ArduinoCoreServiceClient, instance *rpc.Instance) { upgradeRespStream, err := client.PlatformUpgrade(context.Background(), &rpc.PlatformUpgradeRequest{ @@ -546,7 +526,7 @@ func callBoardSearch(client rpc.ArduinoCoreServiceClient, instance *rpc.Instance } for _, board := range res.Boards { - log.Printf("Board Name: %s, Board Platform: %s\n", board.Name, board.Platform.Id) + log.Printf("Board Name: %s, Board Platform: %s\n", board.Name, board.Platform.Metadata.Id) } } diff --git a/commands/board/details.go b/commands/board/details.go index 17314aa1432..c00f315c788 100644 --- a/commands/board/details.go +++ b/commands/board/details.go @@ -39,7 +39,7 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai return nil, &arduino.InvalidFQBNError{Cause: err} } - boardPackage, boardPlatform, board, boardProperties, boardRefPlatform, err := pme.ResolveFQBN(fqbn) + boardPackage, boardPlatformRelease, board, boardProperties, boardRefPlatform, err := pme.ResolveFQBN(fqbn) if err != nil { return nil, &arduino.UnknownFQBNError{Cause: err} } @@ -65,11 +65,11 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai } details.DebuggingSupported = boardProperties.ContainsKey("debug.executable") || - boardPlatform.Properties.ContainsKey("debug.executable") || + boardPlatformRelease.Properties.ContainsKey("debug.executable") || (boardRefPlatform != nil && boardRefPlatform.Properties.ContainsKey("debug.executable")) || // HOTFIX: Remove me when the `arduino:samd` core is updated - boardPlatform.String() == "arduino:samd@1.8.9" || - boardPlatform.String() == "arduino:samd@1.8.8" + boardPlatformRelease.String() == "arduino:samd@1.8.9" || + boardPlatformRelease.String() == "arduino:samd@1.8.8" details.Package = &rpc.Package{ Name: boardPackage.Name, @@ -81,16 +81,16 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai } details.Platform = &rpc.BoardPlatform{ - Architecture: boardPlatform.Platform.Architecture, - Category: boardPlatform.Platform.Category, - Name: boardPlatform.Platform.Name, + Architecture: boardPlatformRelease.Platform.Architecture, + Category: boardPlatformRelease.Category, + Name: boardPlatformRelease.Name, } - if boardPlatform.Resource != nil { - details.Platform.Url = boardPlatform.Resource.URL - details.Platform.ArchiveFilename = boardPlatform.Resource.ArchiveFileName - details.Platform.Checksum = boardPlatform.Resource.Checksum - details.Platform.Size = boardPlatform.Resource.Size + if boardPlatformRelease.Resource != nil { + details.Platform.Url = boardPlatformRelease.Resource.URL + details.Platform.ArchiveFilename = boardPlatformRelease.Resource.ArchiveFileName + details.Platform.Checksum = boardPlatformRelease.Resource.Checksum + details.Platform.Size = boardPlatformRelease.Resource.Size } details.ConfigOptions = []*rpc.ConfigOption{} @@ -118,7 +118,7 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai } details.ToolsDependencies = []*rpc.ToolsDependencies{} - for _, tool := range boardPlatform.ToolDependencies { + for _, tool := range boardPlatformRelease.ToolDependencies { toolRelease := pme.FindToolDependency(tool) var systems []*rpc.Systems if toolRelease != nil { @@ -141,9 +141,9 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai } details.Programmers = []*rpc.Programmer{} - for id, p := range boardPlatform.Programmers { + for id, p := range boardPlatformRelease.Programmers { details.Programmers = append(details.Programmers, &rpc.Programmer{ - Platform: boardPlatform.Platform.Name, + Platform: boardPlatformRelease.Name, Id: id, Name: p.Name, }) diff --git a/commands/board/list.go b/commands/board/list.go index d0b5cb78dc4..b953efb25d5 100644 --- a/commands/board/list.go +++ b/commands/board/list.go @@ -157,7 +157,9 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL // We need the Platform maintaner for sorting so we set it here platform := &rpc.Platform{ - Maintainer: board.PlatformRelease.Platform.Package.Maintainer, + Metadata: &rpc.PlatformMetadata{ + Maintainer: board.PlatformRelease.Platform.Package.Maintainer, + }, } boards = append(boards, &rpc.BoardListItem{ Name: board.Name(), @@ -185,7 +187,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL // Put Arduino boards before others in case there are non Arduino boards with identical VID:PID combination sort.SliceStable(boards, func(i, j int) bool { - if boards[i].Platform.Maintainer == "Arduino" && boards[j].Platform.Maintainer != "Arduino" { + if boards[i].Platform.Metadata.Maintainer == "Arduino" && boards[j].Platform.Metadata.Maintainer != "Arduino" { return true } return false diff --git a/commands/board/listall.go b/commands/board/listall.go index d4118aca4e7..407b54ad8e7 100644 --- a/commands/board/listall.go +++ b/commands/board/listall.go @@ -23,6 +23,7 @@ import ( "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -46,29 +47,14 @@ func ListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListA continue } - installedVersion := installedPlatformRelease.Version.String() - - latestVersion := "" - if latestPlatformRelease := platform.GetLatestRelease(); latestPlatformRelease != nil { - latestVersion = latestPlatformRelease.Version.String() - } - rpcPlatform := &rpc.Platform{ - Id: platform.String(), - Installed: installedVersion, - Latest: latestVersion, - Name: platform.Name, - Maintainer: platform.Package.Maintainer, - Website: platform.Package.WebsiteURL, - Email: platform.Package.Email, - ManuallyInstalled: platform.ManuallyInstalled, - Indexed: platform.Indexed, - MissingMetadata: !installedPlatformRelease.HasMetadata(), + Metadata: commands.PlatformToRPCPlatformMetadata(platform), + Release: commands.PlatformReleaseToRPC(installedPlatformRelease), } toTest := []string{ platform.String(), - platform.Name, + installedPlatformRelease.Name, platform.Architecture, targetPackage.Name, targetPackage.Maintainer, diff --git a/commands/board/search.go b/commands/board/search.go index da0553463fa..007867775e3 100644 --- a/commands/board/search.go +++ b/commands/board/search.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -37,7 +38,7 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR } defer release() - res := &rpc.BoardSearchResponse{Boards: []*rpc.BoardListItem{}} + foundBoards := []*rpc.BoardListItem{} for _, targetPackage := range pme.GetPackages() { for _, platform := range targetPackage.Platforms { latestPlatformRelease := platform.GetLatestRelease() @@ -47,24 +48,6 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR continue } - rpcPlatform := &rpc.Platform{ - Id: platform.String(), - Name: platform.Name, - Maintainer: platform.Package.Maintainer, - Website: platform.Package.WebsiteURL, - Email: platform.Package.Email, - ManuallyInstalled: platform.ManuallyInstalled, - Indexed: platform.Indexed, - } - - if latestPlatformRelease != nil { - rpcPlatform.Latest = latestPlatformRelease.Version.String() - } - if installedPlatformRelease != nil { - rpcPlatform.Installed = installedPlatformRelease.Version.String() - rpcPlatform.MissingMetadata = !installedPlatformRelease.HasMetadata() - } - // Platforms that are not installed don't have a list of boards // generated from their boards.txt file so we need two different // ways of reading board data. @@ -81,11 +64,14 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR continue } - res.Boards = append(res.Boards, &rpc.BoardListItem{ + foundBoards = append(foundBoards, &rpc.BoardListItem{ Name: board.Name(), Fqbn: board.FQBN(), IsHidden: board.IsHidden(), - Platform: rpcPlatform, + Platform: &rpc.Platform{ + Metadata: commands.PlatformToRPCPlatformMetadata(platform), + Release: commands.PlatformReleaseToRPC(installedPlatformRelease), + }, }) } } else if latestPlatformRelease != nil { @@ -95,20 +81,24 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR continue } - res.Boards = append(res.Boards, &rpc.BoardListItem{ - Name: strings.Trim(board.Name, " \n"), - Platform: rpcPlatform, + foundBoards = append(foundBoards, &rpc.BoardListItem{ + Name: strings.Trim(board.Name, " \n"), + Platform: &rpc.Platform{ + Metadata: commands.PlatformToRPCPlatformMetadata(platform), + Release: commands.PlatformReleaseToRPC(latestPlatformRelease), + }, }) } } } } - sort.Slice(res.Boards, func(i, j int) bool { - if res.Boards[i].Name != res.Boards[j].Name { - return res.Boards[i].Name < res.Boards[j].Name + sort.Slice(foundBoards, func(i, j int) bool { + if foundBoards[i].Name != foundBoards[j].Name { + return foundBoards[i].Name < foundBoards[j].Name } - return res.Boards[i].Platform.Id < res.Boards[j].Platform.Id + return foundBoards[i].Platform.Metadata.Id < foundBoards[j].Platform.Metadata.Id }) - return res, nil + + return &rpc.BoardSearchResponse{Boards: foundBoards}, nil } diff --git a/commands/core.go b/commands/core.go index f75fbce04f4..14dc3360e4c 100644 --- a/commands/core.go +++ b/commands/core.go @@ -20,10 +20,23 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) +// PlatformToRPCPlatformMetadata converts our internal structure to the RPC structure. +func PlatformToRPCPlatformMetadata(platform *cores.Platform) *rpc.PlatformMetadata { + return &rpc.PlatformMetadata{ + Id: platform.String(), + Maintainer: platform.Package.Maintainer, + Website: platform.Package.WebsiteURL, + Email: platform.Package.Email, + ManuallyInstalled: platform.ManuallyInstalled, + Deprecated: platform.Deprecated, + Indexed: platform.Indexed, + } +} + // PlatformReleaseToRPC converts our internal structure to the RPC structure. // Note: this function does not touch the "Installed" field of rpc.Platform as it's not always clear that the // platformRelease we're currently converting is actually installed. -func PlatformReleaseToRPC(platformRelease *cores.PlatformRelease) *rpc.Platform { +func PlatformReleaseToRPC(platformRelease *cores.PlatformRelease) *rpc.PlatformRelease { // If the boards are not installed yet, the `platformRelease.Boards` will be a zero length slice. // In such case, we have to use the `platformRelease.BoardsManifest` instead. // So that we can retrieve the name of the boards at least. @@ -50,21 +63,16 @@ func PlatformReleaseToRPC(platformRelease *cores.PlatformRelease) *rpc.Platform } } - result := &rpc.Platform{ - Id: platformRelease.Platform.String(), - Name: platformRelease.Platform.Name, - Maintainer: platformRelease.Platform.Package.Maintainer, - Website: platformRelease.Platform.Package.WebsiteURL, - Email: platformRelease.Platform.Package.Email, - Help: &rpc.HelpResources{Online: platformRelease.Platform.Package.Help.Online}, - Boards: boards, - Latest: platformRelease.Version.String(), - ManuallyInstalled: platformRelease.Platform.ManuallyInstalled, - Deprecated: platformRelease.Platform.Deprecated, - Type: []string{platformRelease.Platform.Category}, - Indexed: platformRelease.Platform.Indexed, - MissingMetadata: !platformRelease.HasMetadata(), + // This field make sense only if the platformRelease is installed otherwise is an "undefined behaviour" + missingMetadata := platformRelease.IsInstalled() && !platformRelease.HasMetadata() + return &rpc.PlatformRelease{ + Name: platformRelease.Name, + Help: &rpc.HelpResources{Online: platformRelease.Platform.Package.Help.Online}, + Boards: boards, + Version: platformRelease.Version.String(), + Installed: platformRelease.IsInstalled(), + MissingMetadata: missingMetadata, + Type: []string{platformRelease.Category}, + Deprecated: platformRelease.Deprecated, } - - return result } diff --git a/commands/core/list.go b/commands/core/list.go deleted file mode 100644 index 10d582de2d1..00000000000 --- a/commands/core/list.go +++ /dev/null @@ -1,90 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 core - -import ( - "fmt" - "sort" - "strings" - - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/internal/instances" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" -) - -// PlatformList returns a list of installed platforms, optionally filtered by -// those requiring an update. -func PlatformList(req *rpc.PlatformListRequest) (*rpc.PlatformListResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &arduino.InvalidInstanceError{} - } - defer release() - - res := []*rpc.Platform{} - for _, targetPackage := range pme.GetPackages() { - for _, platform := range targetPackage.Platforms { - platformRelease := pme.GetInstalledPlatformRelease(platform) - - // The All flags adds to the list of installed platforms the installable platforms (from the indexes) - // If both All and UpdatableOnly are set All takes precedence - if req.All { - installedVersion := "" - if platformRelease == nil { // if the platform is not installed - platformRelease = platform.GetLatestRelease() - } else { - installedVersion = platformRelease.Version.String() - } - // it could happen, especially with indexes not perfectly compliant with specs that a platform do not contain a valid release - if platformRelease != nil { - rpcPlatform := commands.PlatformReleaseToRPC(platformRelease) - rpcPlatform.Installed = installedVersion - res = append(res, rpcPlatform) - continue - } - } - - if platformRelease != nil { - latest := platform.GetLatestRelease() - if latest == nil { - return nil, &arduino.PlatformNotFoundError{Platform: platform.String(), Cause: fmt.Errorf(tr("the platform has no releases"))} - } - - // show only the updatable platforms - if req.UpdatableOnly && latest == platformRelease { - continue - } - - rpcPlatform := commands.PlatformReleaseToRPC(platformRelease) - rpcPlatform.Installed = platformRelease.Version.String() - rpcPlatform.Latest = latest.Version.String() - res = append(res, rpcPlatform) - } - } - } - // Sort result alphabetically and put deprecated platforms at the bottom - sort.Slice(res, func(i, j int) bool { - return strings.ToLower(res[i].Name) < strings.ToLower(res[j].Name) - }) - sort.SliceStable(res, func(i, j int) bool { - if !res[i].Deprecated && res[j].Deprecated { - return true - } - return false - }) - return &rpc.PlatformListResponse{InstalledPlatforms: res}, nil -} diff --git a/commands/core/search.go b/commands/core/search.go index 4562eb570e0..7d0b5662f31 100644 --- a/commands/core/search.go +++ b/commands/core/search.go @@ -36,19 +36,20 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse } defer release() - res := []*cores.PlatformRelease{} + res := []*cores.Platform{} if isUsb, _ := regexp.MatchString("[0-9a-f]{4}:[0-9a-f]{4}", req.SearchArgs); isUsb { vid, pid := req.SearchArgs[:4], req.SearchArgs[5:] res = pme.FindPlatformReleaseProvidingBoardsWithVidPid(vid, pid) } else { searchArgs := utils.SearchTermsFromQueryString(req.SearchArgs) - allVersions := req.AllVersions for _, targetPackage := range pme.GetPackages() { for _, platform := range targetPackage.Platforms { + if platform == nil { + continue + } // Users can install platforms manually in the Sketchbook hardware folder, - // the core search command must operate only on platforms installed through - // the PlatformManager, thus we skip the manually installed ones. - if platform == nil || platform.Name == "" || platform.ManuallyInstalled { + // if not explictily requested we skip them. + if !req.ManuallyInstalled && platform.ManuallyInstalled { continue } @@ -57,10 +58,13 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse if latestRelease == nil { continue } + if latestRelease.Name == "" { + continue + } // Gather all strings that can be used for searching toTest := platform.String() + " " + - platform.Name + " " + + latestRelease.Name + " " + platform.Architecture + " " + targetPackage.Name + " " + targetPackage.Maintainer + " " + @@ -74,33 +78,52 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse continue } - if allVersions { - res = append(res, platform.GetAllReleases()...) - } else { - res = append(res, latestRelease) - } + res = append(res, platform) } } } - out := make([]*rpc.Platform, len(res)) - for i, platformRelease := range res { - out[i] = commands.PlatformReleaseToRPC(platformRelease) - if platformRelease.IsInstalled() { - out[i].Installed = platformRelease.Version.String() + out := []*rpc.PlatformSummary{} + for _, platform := range res { + rpcPlatformSummary := &rpc.PlatformSummary{ + Releases: map[string]*rpc.PlatformRelease{}, + } + + rpcPlatformSummary.Metadata = commands.PlatformToRPCPlatformMetadata(platform) + + installed := pme.GetInstalledPlatformRelease(platform) + latest := platform.GetLatestRelease() + if installed != nil { + rpcPlatformSummary.InstalledVersion = installed.Version.String() } + if latest != nil { + rpcPlatformSummary.LatestVersion = latest.Version.String() + } + if req.AllVersions { + for _, platformRelease := range platform.GetAllReleases() { + rpcPlatformRelease := commands.PlatformReleaseToRPC(platformRelease) + rpcPlatformSummary.Releases[rpcPlatformRelease.Version] = rpcPlatformRelease + } + } else { + if installed != nil { + rpcPlatformRelease := commands.PlatformReleaseToRPC(installed) + rpcPlatformSummary.Releases[installed.Version.String()] = rpcPlatformRelease + } + if latest != nil { + rpcPlatformRelease := commands.PlatformReleaseToRPC(latest) + rpcPlatformSummary.Releases[latest.Version.String()] = rpcPlatformRelease + } + } + out = append(out, rpcPlatformSummary) } + // Sort result alphabetically and put deprecated platforms at the bottom - sort.Slice( - out, func(i, j int) bool { - return strings.ToLower(out[i].Name) < strings.ToLower(out[j].Name) - }) - sort.SliceStable( - out, func(i, j int) bool { - if !out[i].Deprecated && out[j].Deprecated { - return true - } - return false - }) + sort.Slice(out, func(i, j int) bool { + return strings.ToLower(out[i].GetReleases()[out[i].GetLatestVersion()].Name) < + strings.ToLower(out[j].GetReleases()[out[j].GetLatestVersion()].Name) + }) + sort.SliceStable(out, func(i, j int) bool { + return !out[i].GetMetadata().Deprecated && out[j].GetMetadata().Deprecated + }) return &rpc.PlatformSearchResponse{SearchOutput: out}, nil } diff --git a/commands/core/search_test.go b/commands/core/search_test.go index b96c19912af..a695acbd6b4 100644 --- a/commands/core/search_test.go +++ b/commands/core/search_test.go @@ -26,7 +26,6 @@ import ( ) func TestPlatformSearch(t *testing.T) { - dataDir := paths.TempDir().Join("test", "data_dir") downloadDir := paths.TempDir().Join("test", "staging") t.Setenv("ARDUINO_DATA_DIR", dataDir.String()) @@ -42,280 +41,315 @@ func TestPlatformSearch(t *testing.T) { inst := instance.CreateAndInit() require.NotNil(t, inst) - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "retrokit", - AllVersions: true, - }) - require.Nil(t, stat) - require.NotNil(t, res) + t.Run("SearchAllVersions", func(t *testing.T) { + res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + SearchArgs: "retrokit", + AllVersions: true, + }) + require.Nil(t, stat) + require.NotNil(t, res) - require.Len(t, res.SearchOutput, 2) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.5", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, - }) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.6", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, + require.Len(t, res.SearchOutput, 1) + require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + Metadata: &rpc.PlatformMetadata{ + Id: "Retrokits-RK002:arm", + Maintainer: "Retrokits (www.retrokits.com)", + Website: "https://www.retrokits.com", + Email: "info@retrokits.com", + Indexed: true, + }, + Releases: map[string]*rpc.PlatformRelease{ + "1.0.5": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + "1.0.6": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + }, + InstalledVersion: "", + LatestVersion: "1.0.6", + }) }) - res, stat = PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "retrokit", - AllVersions: false, - }) - require.Nil(t, stat) - require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.6", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, + t.Run("SearchNoAllVersions", func(t *testing.T) { + res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + SearchArgs: "retrokit", + AllVersions: false, + }) + require.Nil(t, stat) + require.NotNil(t, res) + require.Len(t, res.SearchOutput, 1) + require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + Metadata: &rpc.PlatformMetadata{ + Id: "Retrokits-RK002:arm", + Maintainer: "Retrokits (www.retrokits.com)", + Website: "https://www.retrokits.com", + Email: "info@retrokits.com", + Indexed: true, + }, + Releases: map[string]*rpc.PlatformRelease{ + "1.0.6": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + }, + InstalledVersion: "", + LatestVersion: "1.0.6", + }) }) - // Search the Package Maintainer - res, stat = PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "Retrokits (www.retrokits.com)", - AllVersions: true, - }) - require.Nil(t, stat) - require.NotNil(t, res) - require.Len(t, res.SearchOutput, 2) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.5", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, - }) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.6", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, + t.Run("SearchThePackageMaintainer", func(t *testing.T) { + res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + SearchArgs: "Retrokits (www.retrokits.com)", + AllVersions: true, + }) + require.Nil(t, stat) + require.NotNil(t, res) + require.Len(t, res.SearchOutput, 1) + require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + Metadata: &rpc.PlatformMetadata{ + Id: "Retrokits-RK002:arm", + Maintainer: "Retrokits (www.retrokits.com)", + Website: "https://www.retrokits.com", + Email: "info@retrokits.com", + Indexed: true, + }, + Releases: map[string]*rpc.PlatformRelease{ + "1.0.5": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + "1.0.6": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + }, + InstalledVersion: "", + LatestVersion: "1.0.6", + }) }) - // Search using the Package name - res, stat = PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "Retrokits-RK002", - AllVersions: true, - }) - require.Nil(t, stat) - require.NotNil(t, res) - require.Len(t, res.SearchOutput, 2) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.5", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, - }) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.6", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, + t.Run("SearchPackageName", func(t *testing.T) { + res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + SearchArgs: "Retrokits-RK002", + AllVersions: true, + }) + require.Nil(t, stat) + require.NotNil(t, res) + require.Len(t, res.SearchOutput, 1) + require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + Metadata: &rpc.PlatformMetadata{ + Id: "Retrokits-RK002:arm", + Maintainer: "Retrokits (www.retrokits.com)", + Website: "https://www.retrokits.com", + Email: "info@retrokits.com", + Indexed: true, + }, + Releases: map[string]*rpc.PlatformRelease{ + "1.0.5": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + "1.0.6": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + }, + InstalledVersion: "", + LatestVersion: "1.0.6", + }) }) - // Search using the Platform name - res, stat = PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "rk002", - AllVersions: true, - }) - require.Nil(t, stat) - require.NotNil(t, res) - require.Len(t, res.SearchOutput, 2) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.5", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, - }) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "Retrokits-RK002:arm", - Installed: "", - Latest: "1.0.6", - Name: "RK002", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Boards: []*rpc.Board{{Name: "RK002"}}, - Type: []string{"Contributed"}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - Indexed: true, - MissingMetadata: true, + t.Run("SearchPlatformName", func(t *testing.T) { + res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + SearchArgs: "rk002", + AllVersions: true, + }) + require.Nil(t, stat) + require.NotNil(t, res) + require.Len(t, res.SearchOutput, 1) + require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + Metadata: &rpc.PlatformMetadata{ + Id: "Retrokits-RK002:arm", + Maintainer: "Retrokits (www.retrokits.com)", + Website: "https://www.retrokits.com", + Email: "info@retrokits.com", + Indexed: true, + }, + Releases: map[string]*rpc.PlatformRelease{ + "1.0.5": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + "1.0.6": { + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + }, + }, + InstalledVersion: "", + LatestVersion: "1.0.6", + }) }) - // Search using a board name - res, stat = PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "Yún", - AllVersions: true, - }) - require.Nil(t, stat) - require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "arduino:avr", - Installed: "", - Latest: "1.8.3", - Name: "Arduino AVR Boards", - Maintainer: "Arduino", - Website: "https://www.arduino.cc/", - Email: "packages@arduino.cc", - Type: []string{"Arduino"}, - Boards: []*rpc.Board{ - {Name: "Arduino Yún"}, - {Name: "Arduino Uno"}, - {Name: "Arduino Uno WiFi"}, - {Name: "Arduino Diecimila"}, - {Name: "Arduino Nano"}, - {Name: "Arduino Mega"}, - {Name: "Arduino MegaADK"}, - {Name: "Arduino Leonardo"}, - {Name: "Arduino Leonardo Ethernet"}, - {Name: "Arduino Micro"}, - {Name: "Arduino Esplora"}, - {Name: "Arduino Mini"}, - {Name: "Arduino Ethernet"}, - {Name: "Arduino Fio"}, - {Name: "Arduino BT"}, - {Name: "Arduino LilyPadUSB"}, - {Name: "Arduino Lilypad"}, - {Name: "Arduino Pro"}, - {Name: "Arduino ATMegaNG"}, - {Name: "Arduino Robot Control"}, - {Name: "Arduino Robot Motor"}, - {Name: "Arduino Gemma"}, - {Name: "Adafruit Circuit Playground"}, - {Name: "Arduino Yún Mini"}, - {Name: "Arduino Industrial 101"}, - {Name: "Linino One"}, - }, - Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, - Indexed: true, - MissingMetadata: true, + t.Run("SearchBoardName", func(t *testing.T) { + res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + SearchArgs: "Yún", + AllVersions: true, + }) + require.Nil(t, stat) + require.NotNil(t, res) + require.Len(t, res.SearchOutput, 1) + require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + Metadata: &rpc.PlatformMetadata{ + Id: "arduino:avr", + Maintainer: "Arduino", + Website: "https://www.arduino.cc/", + Email: "packages@arduino.cc", + Indexed: true, + }, + Releases: map[string]*rpc.PlatformRelease{ + "1.8.3": { + Name: "Arduino AVR Boards", + Type: []string{"Arduino"}, + Installed: false, + Version: "1.8.3", + Boards: []*rpc.Board{ + {Name: "Arduino Yún"}, + {Name: "Arduino Uno"}, + {Name: "Arduino Uno WiFi"}, + {Name: "Arduino Diecimila"}, + {Name: "Arduino Nano"}, + {Name: "Arduino Mega"}, + {Name: "Arduino MegaADK"}, + {Name: "Arduino Leonardo"}, + {Name: "Arduino Leonardo Ethernet"}, + {Name: "Arduino Micro"}, + {Name: "Arduino Esplora"}, + {Name: "Arduino Mini"}, + {Name: "Arduino Ethernet"}, + {Name: "Arduino Fio"}, + {Name: "Arduino BT"}, + {Name: "Arduino LilyPadUSB"}, + {Name: "Arduino Lilypad"}, + {Name: "Arduino Pro"}, + {Name: "Arduino ATMegaNG"}, + {Name: "Arduino Robot Control"}, + {Name: "Arduino Robot Motor"}, + {Name: "Arduino Gemma"}, + {Name: "Adafruit Circuit Playground"}, + {Name: "Arduino Yún Mini"}, + {Name: "Arduino Industrial 101"}, + {Name: "Linino One"}, + }, + Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, + }, + }, + InstalledVersion: "", + LatestVersion: "1.8.3", + }) }) - res, stat = PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "yun", - AllVersions: true, - }) - require.Nil(t, stat) - require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.Platform{ - Id: "arduino:avr", - Installed: "", - Latest: "1.8.3", - Name: "Arduino AVR Boards", - Maintainer: "Arduino", - Website: "https://www.arduino.cc/", - Email: "packages@arduino.cc", - Type: []string{"Arduino"}, - Boards: []*rpc.Board{ - {Name: "Arduino Yún"}, - {Name: "Arduino Uno"}, - {Name: "Arduino Uno WiFi"}, - {Name: "Arduino Diecimila"}, - {Name: "Arduino Nano"}, - {Name: "Arduino Mega"}, - {Name: "Arduino MegaADK"}, - {Name: "Arduino Leonardo"}, - {Name: "Arduino Leonardo Ethernet"}, - {Name: "Arduino Micro"}, - {Name: "Arduino Esplora"}, - {Name: "Arduino Mini"}, - {Name: "Arduino Ethernet"}, - {Name: "Arduino Fio"}, - {Name: "Arduino BT"}, - {Name: "Arduino LilyPadUSB"}, - {Name: "Arduino Lilypad"}, - {Name: "Arduino Pro"}, - {Name: "Arduino ATMegaNG"}, - {Name: "Arduino Robot Control"}, - {Name: "Arduino Robot Motor"}, - {Name: "Arduino Gemma"}, - {Name: "Adafruit Circuit Playground"}, - {Name: "Arduino Yún Mini"}, - {Name: "Arduino Industrial 101"}, - {Name: "Linino One"}, - }, - Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, - Indexed: true, - MissingMetadata: true, + t.Run("SearchBoardName2", func(t *testing.T) { + res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + SearchArgs: "yun", + AllVersions: true, + }) + require.Nil(t, stat) + require.NotNil(t, res) + require.Len(t, res.SearchOutput, 1) + require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + Metadata: &rpc.PlatformMetadata{ + Id: "arduino:avr", + Indexed: true, + Maintainer: "Arduino", + Website: "https://www.arduino.cc/", + Email: "packages@arduino.cc", + }, + Releases: map[string]*rpc.PlatformRelease{ + "1.8.3": { + Name: "Arduino AVR Boards", + Type: []string{"Arduino"}, + Installed: false, + Version: "1.8.3", + Boards: []*rpc.Board{ + {Name: "Arduino Yún"}, + {Name: "Arduino Uno"}, + {Name: "Arduino Uno WiFi"}, + {Name: "Arduino Diecimila"}, + {Name: "Arduino Nano"}, + {Name: "Arduino Mega"}, + {Name: "Arduino MegaADK"}, + {Name: "Arduino Leonardo"}, + {Name: "Arduino Leonardo Ethernet"}, + {Name: "Arduino Micro"}, + {Name: "Arduino Esplora"}, + {Name: "Arduino Mini"}, + {Name: "Arduino Ethernet"}, + {Name: "Arduino Fio"}, + {Name: "Arduino BT"}, + {Name: "Arduino LilyPadUSB"}, + {Name: "Arduino Lilypad"}, + {Name: "Arduino Pro"}, + {Name: "Arduino ATMegaNG"}, + {Name: "Arduino Robot Control"}, + {Name: "Arduino Robot Motor"}, + {Name: "Arduino Gemma"}, + {Name: "Adafruit Circuit Playground"}, + {Name: "Arduino Yún Mini"}, + {Name: "Arduino Industrial 101"}, + {Name: "Linino One"}, + }, + Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, + }, + }, + InstalledVersion: "", + LatestVersion: "1.8.3", + }) }) } @@ -344,11 +378,10 @@ func TestPlatformSearchSorting(t *testing.T) { require.NotNil(t, res) require.Len(t, res.SearchOutput, 3) - require.Equal(t, res.SearchOutput[0].Name, "Arduino AVR Boards") - require.Equal(t, res.SearchOutput[0].Deprecated, false) - require.Equal(t, res.SearchOutput[1].Name, "RK002") - require.Equal(t, res.SearchOutput[1].Deprecated, false) - require.Equal(t, res.SearchOutput[2].Name, "Platform") - require.Equal(t, res.SearchOutput[2].Deprecated, true) - + require.Equal(t, res.SearchOutput[0].GetLatestRelease().Name, "Arduino AVR Boards") + require.Equal(t, res.SearchOutput[0].Metadata.Deprecated, false) + require.Equal(t, res.SearchOutput[1].GetLatestRelease().Name, "RK002") + require.Equal(t, res.SearchOutput[1].Metadata.Deprecated, false) + require.Equal(t, res.SearchOutput[2].GetLatestRelease().Name, "Platform") + require.Equal(t, res.SearchOutput[2].Metadata.Deprecated, true) } diff --git a/commands/core/upgrade.go b/commands/core/upgrade.go index 2baaf2c97d6..19c93fe95cf 100644 --- a/commands/core/upgrade.go +++ b/commands/core/upgrade.go @@ -49,10 +49,12 @@ func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downl } var rpcPlatform *rpc.Platform - platformRelease, err := upgrade() if platformRelease != nil { - rpcPlatform = commands.PlatformReleaseToRPC(platformRelease) + rpcPlatform = &rpc.Platform{ + Metadata: commands.PlatformToRPCPlatformMetadata(platformRelease.Platform), + Release: commands.PlatformReleaseToRPC(platformRelease), + } } if err != nil { return &rpc.PlatformUpgradeResponse{Platform: rpcPlatform}, err diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index ec7fd10e9d9..ef6e4daa506 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -258,12 +258,6 @@ func (s *ArduinoCoreServerImpl) PlatformSearch(ctx context.Context, req *rpc.Pla return resp, convertErrorToRPCStatus(err) } -// PlatformList FIXMEDOC -func (s *ArduinoCoreServerImpl) PlatformList(ctx context.Context, req *rpc.PlatformListRequest) (*rpc.PlatformListResponse, error) { - platforms, err := core.PlatformList(req) - return platforms, convertErrorToRPCStatus(err) -} - // Upload FIXMEDOC func (s *ArduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.ArduinoCoreService_UploadServer) error { syncSend := NewSynchronizedSend(stream.Send) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 537373e6d45..7c92c5f336d 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -2,7 +2,172 @@ Here you can find a list of migration guides to handle breaking changes between releases of the CLI. -## v0.35.0 +## 0.36.0 + +### CLI `core list` and `core search` changed JSON output. + +Below is an example of the response containing an object with all possible keys set. + +```json +[ + { + "id": "arduino:avr", + "maintainer": "Arduino", + "website": "http://www.arduino.cc/", + "email": "packages@arduino.cc", + "indexed": true, + "manually_installed": true, + "deprecated": true, + "releases": { + "1.6.2": { + "name": "Arduino AVR Boards", + "version": "1.6.2", + "type": [ + "Arduino" + ], + "installed": true, + "boards": [ + { + "name": "Arduino Robot Motor" + } + ], + "help": { + "online": "http://www.arduino.cc/en/Reference/HomePage" + }, + "missing_metadata": true, + "deprecated": true + }, + "1.8.3": { ... } + }, + "installed_version": "1.6.2", + "latest_version": "1.8.3" + } +] +``` + +### gRPC `cc.arduino.cli.commands.v1.PlatformSearchResponse` message has been changed. + +The old behavior was a bit misleading to the client because, to list all the available versions for each platform, we +used to use the `latest` as it was describing the current platform version. We introduced a new message: +`PlatformSummary`, with the intent to make the response more straightforward and less error-prone. + +```protobuf +message PlatformSearchResponse { + // Results of the search. + repeated PlatformSummary search_output = 1; +} + +// PlatformSummary is a structure containing all the information about +// a platform and all its available releases. +message PlatformSummary { + // Generic information about a platform + PlatformMetadata metadata = 1; + // Maps version to the corresponding PlatformRelease + map<string, PlatformRelease> releases = 2; + // The installed version of the platform, or empty string if none installed + string installed_version = 3; + // The latest available version of the platform, or empty if none available + string latest_version = 4; +} +``` + +The new response contains an array of `PlatformSummary`. `PlatformSummary` contains all the information about a platform +and all its available releases. Releases contain all the PlatformReleases of a specific platform, and the key is the +semver string of a specific version. We've added the `installed_version` and `latest_version` to make more convenient +the access of such values in the map. A few notes about the behavior of the `releases` map: + +- It can be empty if no releases are found +- It can contain a single-release +- It can contain multiple releases +- If in the request we provide the `manually_installed=true`, the key of such release is an empty string. + +### Removed gRPC API: `cc.arduino.cli.commands.v1.PlatformList`, `PlatformListRequest`, and `PlatformListResponse`. + +The following gRPC API have been removed: + +- `cc.arduino.cli.commands.v1.PlatformList`: you can use the already available gRPC method `PlatformSearch` to perform + the same task. Setting the `all_versions=true` and `manually_installed=true` in the `PlatformSearchRequest` returns + all the data needed to produce the same result of the old api. +- `cc.arduino.cli.commands.v1.PlatformListRequest`. +- `cc.arduino.cli.commands.v1.PlatformListResponse`. + +### gRPC `cc.arduino.cli.commands.v1.Platform` message has been changed. + +The old `Platform` and other information such as name, website, and email... contained details about the currently +installed version and the latest available. We noticed an ambiguous use of the `latest` field, especially when such a +message came in the `PlatformSearchResponse` response. In that use case, the latest field contained the specific version +of a particular platform: this is a hack because the value doesn't always reflect the meaning of that property. Another +inconsistent case occurs when a platform maintainer changes the name of a particular release. We always pick the value +from the latest release, but this might not be what we want to do all the time. We concluded that the design of that +message isn't something to be considered future-proof proof, so we decided to modify it as follows: + +```protobuf +// Platform is a structure containing all the information about a single +// platform release. +message Platform { + // Generic information about a platform + PlatformMetadata metadata = 1; + // Information about a specific release of a platform + PlatformRelease release = 2; +} + +// PlatformMetadata contains generic information about a platform (not +// correlated to a specific release). +message PlatformMetadata { + // Platform ID (e.g., `arduino:avr`). + string id = 1; + // Maintainer of the platform's package. + string maintainer = 2; + // A URL provided by the author of the platform's package, intended to point + // to their website. + string website = 3; + // Email of the maintainer of the platform's package. + string email = 4; + // If true this Platform has been installed manually in the user' sketchbook + // hardware folder + bool manually_installed = 5; + // True if the latest release of this Platform has been deprecated + bool deprecated = 6; + // If true the platform is indexed + bool indexed = 7; +} + +// PlatformRelease contains information about a specific release of a platform. +message PlatformRelease { + // Name used to identify the platform to humans (e.g., "Arduino AVR Boards"). + string name = 1; + // Version of the platform release + string version = 5; + // Type of the platform. + repeated string type = 6; + // True if the platform is installed + bool installed = 7; + // List of boards provided by the platform. If the platform is installed, + // this is the boards listed in the platform's boards.txt. If the platform is + // not installed, this is an arbitrary list of board names provided by the + // platform author for display and may not match boards.txt. + repeated Board boards = 8; + // A URL provided by the author of the platform's package, intended to point + // to their online help service. + HelpResources help = 9; + // This field is true if the platform is missing installation metadata (this + // happens if the platform has been installed with the legacy Arduino IDE + // <=1.8.x). If the platform miss metadata and it's not indexed through a + // package index, it may fail to work correctly in some circumstances, and it + // may need to be reinstalled. This should be evaluated only when the + // PlatformRelease is `Installed` otherwise is an undefined behaviour. + bool missing_metadata = 10; + // True this release is deprecated + bool deprecated = 11; +} +``` + +To address all the inconsistencies/inaccuracies we introduced two messages: + +- `PlatformMetadata` contains generic information about a platform (not correlated to a specific release). +- `PlatformRelease` contains information about a specific release of a platform. + +## 0.35.0 ### CLI `debug --info` changed JSON output. diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index c97ac72f064..2139e415fe1 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -83,15 +83,19 @@ func GetInstalledProgrammers() []string { func GetUninstallableCores() []string { inst := instance.CreateAndInit() - platforms, _ := core.PlatformList(&rpc.PlatformListRequest{ - Instance: inst, - UpdatableOnly: false, - All: false, + platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + AllVersions: false, + ManuallyInstalled: true, }) + var res []string // transform the data structure for the completion - for _, i := range platforms.InstalledPlatforms { - res = append(res, i.Id+"\t"+i.Name) + for _, i := range platforms.GetSearchOutput() { + if i.InstalledVersion == "" { + continue + } + res = append(res, i.GetMetadata().GetId()+"\t"+i.GetInstalledRelease().GetName()) } return res } @@ -109,7 +113,7 @@ func GetInstallableCores() []string { var res []string // transform the data structure for the completion for _, i := range platforms.SearchOutput { - res = append(res, i.Id+"\t"+i.Name) + res = append(res, i.GetMetadata().GetId()+"\t"+i.GetReleases()[i.GetLatestVersion()].GetName()) } return res } diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index a870a0616a2..f9d8737d415 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -66,6 +66,7 @@ func ParseReference(arg string) (*Reference, error) { if arg == "" { return nil, fmt.Errorf(tr("invalid empty core argument")) } + toks := strings.SplitN(arg, "@", 2) if toks[0] == "" { return nil, fmt.Errorf(tr("invalid empty core reference '%s'"), arg) @@ -85,23 +86,22 @@ func ParseReference(arg string) (*Reference, error) { if toks[0] == "" { return nil, fmt.Errorf(tr("invalid empty core name '%s'"), arg) } - ret.PackageName = toks[0] if toks[1] == "" { return nil, fmt.Errorf(tr("invalid empty core architecture '%s'"), arg) } + ret.PackageName = toks[0] ret.Architecture = toks[1] // Now that we have the required informations in `ret` we can // try to use core.PlatformList to optimize what the user typed // (by replacing the PackageName and Architecture in ret with the content of core.GetPlatform()) - platforms, _ := core.PlatformList(&rpc.PlatformListRequest{ - Instance: instance.CreateAndInit(), - UpdatableOnly: false, - All: true, // this is true because we want also the installable platforms + platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: instance.CreateAndInit(), + AllVersions: false, }) foundPlatforms := []string{} - for _, platform := range platforms.InstalledPlatforms { - platformID := platform.GetId() + for _, platform := range platforms.GetSearchOutput() { + platformID := platform.GetMetadata().GetId() platformUser := ret.PackageName + ":" + ret.Architecture // At first we check if the platform the user is searching for matches an available one, // this way we do not need to adapt the casing and we can return it directly @@ -110,7 +110,6 @@ func ParseReference(arg string) (*Reference, error) { } if strings.EqualFold(platformUser, platformID) { logrus.Infof("Found possible match for reference %s -> %s", platformUser, platformID) - toks = strings.Split(platformID, ":") foundPlatforms = append(foundPlatforms, platformID) } } @@ -122,6 +121,7 @@ func ParseReference(arg string) (*Reference, error) { if len(foundPlatforms) > 1 { return nil, &arduino.MultiplePlatformsError{Platforms: foundPlatforms, UserPlatform: arg} } + toks = strings.Split(foundPlatforms[0], ":") ret.PackageName = toks[0] ret.Architecture = toks[1] return ret, nil diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index 102e9ea1dae..efa3f945662 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -85,7 +85,7 @@ func (r searchResults) String() string { if item.IsHidden { hidden = tr("(hidden)") } - t.AddRow(item.GetName(), item.GetFqbn(), item.Platform.Id, hidden) + t.AddRow(item.GetName(), item.GetFqbn(), item.Platform.Metadata.Id, hidden) } return t.Render() } diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 4645295b063..4242fa6d7a9 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -55,44 +56,76 @@ func runListCommand(args []string, all bool, updatableOnly bool) { // List gets and prints a list of installed platforms. func List(inst *rpc.Instance, all bool, updatableOnly bool) { platforms := GetList(inst, all, updatableOnly) - feedback.PrintResult(installedResult{platforms}) + feedback.PrintResult(newCoreListResult(platforms)) } // GetList returns a list of installed platforms. -func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.Platform { - platforms, err := core.PlatformList(&rpc.PlatformListRequest{ - Instance: inst, - UpdatableOnly: updatableOnly, - All: all, +func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSummary { + platforms, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + AllVersions: true, + ManuallyInstalled: true, }) if err != nil { feedback.Fatal(tr("Error listing platforms: %v", err), feedback.ErrGeneric) } - return platforms.InstalledPlatforms + + // If both `all` and `updatableOnly` are set, `all` takes precedence. + if all { + return platforms.GetSearchOutput() + } + + result := []*rpc.PlatformSummary{} + for _, platform := range platforms.GetSearchOutput() { + if platform.InstalledVersion == "" && !platform.GetMetadata().ManuallyInstalled { + continue + } + if updatableOnly && platform.InstalledVersion == platform.LatestVersion { + continue + } + result = append(result, platform) + } + return result } -// output from this command requires special formatting, let's create a dedicated -// feedback.Result implementation -type installedResult struct { - platforms []*rpc.Platform +func newCoreListResult(in []*rpc.PlatformSummary) *coreListResult { + res := &coreListResult{} + for _, platformSummary := range in { + res.platforms = append(res.platforms, result.NewPlatformResult(platformSummary)) + } + return res +} + +type coreListResult struct { + platforms []*result.Platform } -func (ir installedResult) Data() interface{} { +// Data implements Result interface +func (ir coreListResult) Data() interface{} { return ir.platforms } -func (ir installedResult) String() string { +// String implements Result interface +func (ir coreListResult) String() string { if len(ir.platforms) == 0 { return tr("No platforms installed.") } t := table.New() t.SetHeader(tr("ID"), tr("Installed"), tr("Latest"), tr("Name")) - for _, p := range ir.platforms { - name := p.Name - if p.Deprecated { + for _, platform := range ir.platforms { + name := "" + if installed := platform.GetInstalledRelease(); installed != nil { + name = installed.Name + } + if name == "" { + if latest := platform.GetLatestRelease(); latest != nil { + name = latest.Name + } + } + if platform.Deprecated { name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), name) } - t.AddRow(p.Id, p.Installed, p.Latest, name) + t.AddRow(platform.Id, platform.InstalledVersion, platform.LatestVersion, name) } return t.Render() diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 0259d35bf44..78e02ddf400 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -29,6 +29,7 @@ import ( "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -81,13 +82,21 @@ func runSearchCommand(cmd *cobra.Command, args []string) { } coreslist := resp.GetSearchOutput() - feedback.PrintResult(searchResults{coreslist}) + feedback.PrintResult(newSearchResult(coreslist)) } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type searchResults struct { - platforms []*rpc.Platform + platforms []*result.Platform +} + +func newSearchResult(in []*rpc.PlatformSummary) *searchResults { + res := &searchResults{} + for _, platformSummary := range in { + res.platforms = append(res.platforms, result.NewPlatformResult(platformSummary)) + } + return res } func (sr searchResults) Data() interface{} { @@ -98,12 +107,17 @@ func (sr searchResults) String() string { if len(sr.platforms) > 0 { t := table.New() t.SetHeader(tr("ID"), tr("Version"), tr("Name")) - for _, item := range sr.platforms { - name := item.GetName() - if item.Deprecated { + for _, platform := range sr.platforms { + name := "" + if latest := platform.GetLatestRelease(); latest != nil { + name = latest.Name + } + if platform.Deprecated { name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), name) } - t.AddRow(item.GetId(), item.GetLatest(), name) + for _, version := range platform.Releases.Keys() { + t.AddRow(platform.Id, version, name) + } } return t.Render() } diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index f8484dc985b..04045cc3bf6 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -60,21 +60,36 @@ func runUpgradeCommand(args []string, skipPostInstall bool, skipPreUninstall boo func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUninstall bool) { // if no platform was passed, upgrade allthethings if len(args) == 0 { - targets, err := core.PlatformList(&rpc.PlatformListRequest{ - Instance: inst, - UpdatableOnly: true, + platforms, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ + Instance: inst, + AllVersions: false, }) if err != nil { feedback.Fatal(tr("Error retrieving core list: %v", err), feedback.ErrGeneric) } - if len(targets.InstalledPlatforms) == 0 { + targets := []*rpc.Platform{} + for _, platform := range platforms.GetSearchOutput() { + if platform.InstalledVersion == "" { + continue + } + if platform.InstalledVersion == platform.LatestVersion { + // if it's not updatable, skip it + continue + } + targets = append(targets, &rpc.Platform{ + Metadata: platform.GetMetadata(), + Release: platform.GetLatestRelease(), + }) + } + + if len(targets) == 0 { feedback.Print(tr("All the cores are already at the latest version")) return } - for _, t := range targets.InstalledPlatforms { - args = append(args, t.Id) + for _, t := range targets { + args = append(args, t.GetMetadata().Id) } } @@ -82,8 +97,8 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni if response == nil || response.Platform == nil { return } - if !response.Platform.Indexed { - feedback.Warning(tr("missing package index for %s, future updates cannot be guaranteed", response.Platform.Id)) + if !response.Platform.GetMetadata().Indexed { + feedback.Warning(tr("missing package index for %s, future updates cannot be guaranteed", response.Platform.GetMetadata().Id)) } } diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go new file mode 100644 index 00000000000..b6bdb636706 --- /dev/null +++ b/internal/cli/feedback/result/rpc.go @@ -0,0 +1,121 @@ +// This file is part of arduino-cli. +// +// Copyright 2020 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 result + +import ( + "github.com/arduino/arduino-cli/internal/orderedmap" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + semver "go.bug.st/relaxed-semver" +) + +// NewPlatformResult creates a new result.Platform from rpc.PlatformSummary +func NewPlatformResult(in *rpc.PlatformSummary) *Platform { + releases := orderedmap.NewWithConversionFunc[*semver.Version, *PlatformRelease, string]((*semver.Version).String) + for k, v := range in.Releases { + releases.Set(semver.MustParse(k), NewPlatformReleaseResult(v)) + } + releases.SortKeys((*semver.Version).CompareTo) + + return &Platform{ + Id: in.Metadata.Id, + Maintainer: in.Metadata.Maintainer, + Website: in.Metadata.Website, + Email: in.Metadata.Email, + ManuallyInstalled: in.Metadata.ManuallyInstalled, + Deprecated: in.Metadata.Deprecated, + Indexed: in.Metadata.Indexed, + Releases: releases, + InstalledVersion: semver.MustParse(in.InstalledVersion), + LatestVersion: semver.MustParse(in.LatestVersion), + } +} + +// Platform maps a rpc.Platform +type Platform struct { + Id string `json:"id,omitempty"` + Maintainer string `json:"maintainer,omitempty"` + Website string `json:"website,omitempty"` + Email string `json:"email,omitempty"` + ManuallyInstalled bool `json:"manually_installed,omitempty"` + Deprecated bool `json:"deprecated,omitempty"` + Indexed bool `json:"indexed,omitempty"` + + Releases orderedmap.Map[*semver.Version, *PlatformRelease] `json:"releases,omitempty"` + + InstalledVersion *semver.Version `json:"installed_version,omitempty"` + LatestVersion *semver.Version `json:"latest_version,omitempty"` +} + +// GetLatestRelease returns the latest relase of this platform or nil if none available. +func (p *Platform) GetLatestRelease() *PlatformRelease { + return p.Releases.Get(p.LatestVersion) +} + +// GetInstalledRelease returns the installed relase of this platform or nil if none available. +func (p *Platform) GetInstalledRelease() *PlatformRelease { + return p.Releases.Get(p.InstalledVersion) +} + +// NewPlatformReleaseResult creates a new result.PlatformRelease from rpc.PlatformRelease +func NewPlatformReleaseResult(in *rpc.PlatformRelease) *PlatformRelease { + var boards []*Board + for _, board := range in.Boards { + boards = append(boards, &Board{ + Name: board.Name, + Fqbn: board.Fqbn, + }) + } + var help *HelpResource + if in.Help != nil { + help = &HelpResource{ + Online: in.Help.Online, + } + } + res := &PlatformRelease{ + Name: in.Name, + Version: in.Version, + Type: in.Type, + Installed: in.Installed, + Boards: boards, + Help: help, + MissingMetadata: in.MissingMetadata, + Deprecated: in.Deprecated, + } + return res +} + +// PlatformRelease maps a rpc.PlatformRelease +type PlatformRelease struct { + Name string `json:"name,omitempty"` + Version string `json:"version,omitempty"` + Type []string `json:"type,omitempty"` + Installed bool `json:"installed,omitempty"` + Boards []*Board `json:"boards,omitempty"` + Help *HelpResource `json:"help,omitempty"` + MissingMetadata bool `json:"missing_metadata,omitempty"` + Deprecated bool `json:"deprecated,omitempty"` +} + +// Board maps a rpc.Board +type Board struct { + Name string `json:"name,omitempty"` + Fqbn string `json:"fqbn,omitempty"` +} + +// HelpResource maps a rpc.HelpResource +type HelpResource struct { + Online string `json:"online,omitempty"` +} diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 8a56f21b36a..5b2b6ac6309 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/core" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/cli/lib" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -57,17 +58,26 @@ func runOutdatedCommand(cmd *cobra.Command, args []string) { // Outdated prints a list of outdated platforms and libraries func Outdated(inst *rpc.Instance) { feedback.PrintResult( - outdatedResult{core.GetList(inst, false, true), lib.GetList(inst, []string{}, false, true)}, + newOutdatedResult(core.GetList(inst, false, true), lib.GetList(inst, []string{}, false, true)), ) } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type outdatedResult struct { - Platforms []*rpc.Platform `json:"platforms,omitempty"` + Platforms []*result.Platform `json:"platforms,omitempty"` InstalledLibs []*rpc.InstalledLibrary `json:"libraries,omitempty"` } +func newOutdatedResult(inPlatforms []*rpc.PlatformSummary, inLibraries []*rpc.InstalledLibrary) *outdatedResult { + res := &outdatedResult{} + for _, platformSummary := range inPlatforms { + res.Platforms = append(res.Platforms, result.NewPlatformResult(platformSummary)) + } + res.InstalledLibs = inLibraries + return res +} + func (ir outdatedResult) Data() interface{} { return &ir } @@ -93,11 +103,14 @@ func (ir outdatedResult) String() string { // Based on internal/cli/core/list.go for _, p := range ir.Platforms { - name := p.Name + name := "" + if latest := p.GetLatestRelease(); latest != nil { + name = latest.Name + } if p.Deprecated { name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), name) } - t.AddRow(p.Id, name, p.Installed, p.Latest, "", "") + t.AddRow(p.Id, name, p.InstalledVersion, p.LatestVersion, "", "") } // Based on internal/cli/lib/list.go diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 087182c50af..17003c01723 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -576,10 +576,14 @@ func (inst *ArduinoCLIInstance) PlatformUpgrade(ctx context.Context, packager, a return installCl, err } -// PlatformList calls the "PlatformList" gRPC method. -func (inst *ArduinoCLIInstance) PlatformList(ctx context.Context) (*commands.PlatformListResponse, error) { - req := &commands.PlatformListRequest{Instance: inst.instance} - logCallf(">>> PlatformList(%+v)\n", req) - resp, err := inst.cli.daemonClient.PlatformList(ctx, req) +// PlatformSearch calls the "PlatformSearch" gRPC method. +func (inst *ArduinoCLIInstance) PlatformSearch(ctx context.Context, args string, all bool) (*commands.PlatformSearchResponse, error) { + req := &commands.PlatformSearchRequest{ + Instance: inst.instance, + SearchArgs: args, + AllVersions: all, + } + logCallf(">>> PlatformSearch(%+v)\n", req) + resp, err := inst.cli.daemonClient.PlatformSearch(ctx, req) return resp, err } diff --git a/internal/integrationtest/board/hardware_loading_test.go b/internal/integrationtest/board/hardware_loading_test.go index 54bf8cffa14..9b2a6d44e10 100644 --- a/internal/integrationtest/board/hardware_loading_test.go +++ b/internal/integrationtest/board/hardware_loading_test.go @@ -50,18 +50,22 @@ func TestHardwareLoading(t *testing.T) { jsonOut.MustContain(`[ { "id": "arduino:avr", - "installed": "1.8.6", - "name": "Arduino AVR Boards", - "boards": [ - { - "name": "Arduino Uno", - "fqbn": "arduino:avr:uno" - }, - { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" + "installed_version": "1.8.6", + "releases": { + "1.8.6": { + "name": "Arduino AVR Boards", + "boards": [ + { + "name": "Arduino Uno", + "fqbn": "arduino:avr:uno" + }, + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + } + ] } - ] + } } ]`) } @@ -90,7 +94,7 @@ func TestHardwareLoading(t *testing.T) { "id": "avrispmkii", "name": "AVRISP mkII" } - ] + ] }`) } @@ -159,33 +163,40 @@ func TestHardwareLoading(t *testing.T) { jsonOut.MustContain(`[ { "id": "arduino:avr", - "installed": "1.8.6", - "name": "Arduino AVR Boards", - "boards": [ - { - "name": "Arduino Uno", - "fqbn": "arduino:avr:uno" - }, - { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" + "installed_version": "1.8.6", + "releases": { + "1.8.6": { + "name": "Arduino AVR Boards", + "boards": [ + { + "name": "Arduino Uno", + "fqbn": "arduino:avr:uno" + }, + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + } + ] } - ] + } } ]`) jsonOut.MustContain(`[ { "id": "my_avr_platform:avr", - "installed": "9.9.9", - "name": "My AVR Boards", - "boards": [ - { - "name": "Arduino Yún", - "fqbn": "my_avr_platform:avr:custom_yun" + "installed_version": "9.9.9", + "releases": { + "9.9.9": { + "name": "My AVR Boards", + "boards": [ + { + "name": "Arduino Yún", + "fqbn": "my_avr_platform:avr:custom_yun" + } + ] } - ], - "manually_installed": true, - "missing_metadata": true + }, + "manually_installed": true } ]`) @@ -196,7 +207,10 @@ func TestHardwareLoading(t *testing.T) { { "id": "my_symlinked_avr_platform:avr", "manually_installed": true, - "missing_metadata": true + "releases": { + "9.9.9": { + } + } } ]`) } @@ -226,7 +240,7 @@ func TestHardwareLoading(t *testing.T) { "id": "avrispmkii", "name": "AVRISP mkII" } - ] + ] }`) } diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index 89e8ecc2a87..c5762d3beb6 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -48,7 +48,17 @@ func TestCorrectHandlingOfPlatformVersionProperty(t *testing.T) { // Trigger problematic call out, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Contains(t, out, `[{"id":"DxCore-dev:megaavr","installed":"1.4.10","name":"DxCore"}]`) + requirejson.Contains(t, out, `[ + { + "id":"DxCore-dev:megaavr", + "installed_version":"1.4.10", + "releases": { + "1.4.10": { + "name":"DxCore" + } + } + } + ]`) } func TestCoreSearch(t *testing.T) { @@ -73,8 +83,8 @@ func TestCoreSearch(t *testing.T) { out, _, err = cli.Run("core", "search", "avr", "--format", "json") require.NoError(t, err) requirejson.NotEmpty(t, out) - // Verify that "installed" is set - requirejson.Contains(t, out, `[{installed: "1.8.6"}]`) + // Verify that "installed_version" is set + requirejson.Contains(t, out, `[{installed_version: "1.8.6"}]`) // additional URL out, _, err = cli.Run("core", "search", "test_core", "--format", "json", "--additional-urls="+url.String()) @@ -84,10 +94,10 @@ func TestCoreSearch(t *testing.T) { // show all versions out, _, err = cli.Run("core", "search", "test_core", "--all", "--format", "json", "--additional-urls="+url.String()) require.NoError(t, err) - requirejson.Len(t, out, 3) + requirejson.Query(t, out, `.[].releases | length`, "3") checkPlatformIsInJSONOutput := func(stdout []byte, id, version string) { - jqquery := fmt.Sprintf(`[{id:"%s", latest:"%s"}]`, id, version) + jqquery := fmt.Sprintf(`[{id:"%s", releases:{"%s":{}}}]`, id, version) requirejson.Contains(t, out, jqquery, "platform %s@%s is missing from the output", id, version) } @@ -171,7 +181,7 @@ func TestCoreSearchNoArgs(t *testing.T) { // same thing in JSON format, also check the number of platforms found is the same stdout, _, err = cli.Run("core", "search", "--format", "json") require.NoError(t, err) - requirejson.Contains(t, stdout, `[ { "name":"test_core" } ]`) + requirejson.Contains(t, stdout, `[{"id": "test:x86", "releases": { "2.0.0": {"name":"test_core"}}}]`) requirejson.Query(t, stdout, "length", fmt.Sprint(numPlatforms)) // list all with additional urls, check the test core is there @@ -188,8 +198,10 @@ func TestCoreSearchNoArgs(t *testing.T) { // same thing in JSON format, also check the number of platforms found is the same stdout, _, err = cli.Run("core", "search", "--format", "json", "--additional-urls="+url.String()) require.NoError(t, err) - requirejson.Contains(t, stdout, `[ { "name":"test_core" } ]`) - requirejson.Query(t, stdout, "length", fmt.Sprint(numPlatforms)) + requirejson.Contains(t, stdout, `[{"id": "test:x86", "releases": { "3.0.0": {"name":"test_core"}}}]`) + // A platform could contain multiple releases, we get the length of how many releases are present for each platform + // and we sum them to see if the expected numers matches. + requirejson.Query(t, stdout, `[.[].releases | length] | add`, fmt.Sprint(numPlatforms)) } func TestCoreUpdateIndexUrlNotFound(t *testing.T) { @@ -303,7 +315,7 @@ func TestCoreInstall(t *testing.T) { require.NoError(t, err) stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed`, `"1.6.16"`) + requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.16"`) // Replace it with the same with --no-overwrite (should NOT fail) _, _, err = cli.Run("core", "install", "arduino:avr@1.6.16", "--no-overwrite") @@ -318,22 +330,22 @@ func TestCoreInstall(t *testing.T) { require.NoError(t, err) stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed`, `"1.6.17"`) + requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.17"`) // Confirm core is listed as "updatable" stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json") require.NoError(t, err) jsonout := requirejson.Parse(t, stdout) q := jsonout.Query(`.[] | select(.id == "arduino:avr")`) - q.Query(".installed").MustEqual(`"1.6.17"`) - latest := q.Query(".latest") + q.Query(".installed_version").MustEqual(`"1.6.17"`) + latest := q.Query(".latest_version") // Upgrade the core to latest version _, _, err = cli.Run("core", "upgrade", "arduino:avr") require.NoError(t, err) stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed`, latest.String()) + requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, latest.String()) // double check the core isn't updatable anymore stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json") @@ -483,10 +495,14 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) { requirejson.Contains(t, stdout, `[ { "id": "arduino-beta-development:avr", - "latest": "1.8.3", - "name": "Arduino AVR Boards" + "latest_version": "1.8.3", + "releases": { + "1.8.3": { + "name": "Arduino AVR Boards" + } } - ]`) + } + ]`) } func TestCoreListUpdatableAllFlags(t *testing.T) { @@ -519,10 +535,14 @@ func TestCoreListUpdatableAllFlags(t *testing.T) { requirejson.Contains(t, stdout, `[ { "id": "arduino-beta-development:avr", - "latest": "1.8.3", - "name": "Arduino AVR Boards" + "latest_version": "1.8.3", + "releases": { + "1.8.3": { + "name": "Arduino AVR Boards" + } } - ]`) + } + ]`) } func TestCoreUpgradeRemovesUnusedTools(t *testing.T) { @@ -592,7 +612,11 @@ func TestCoreListWithInstalledJson(t *testing.T) { requirejson.Contains(t, stdout, `[ { "id": "adafruit:avr", - "name": "Adafruit AVR Boards" + "releases": { + "1.4.13": { + "name": "Adafruit AVR Boards" + } + } } ]`) @@ -614,7 +638,11 @@ func TestCoreListWithInstalledJson(t *testing.T) { requirejson.Contains(t, stdout, `[ { "id": "adafruit:avr", - "name": "Adafruit Boards" + "releases": { + "1.4.13": { + "name": "Adafruit Boards" + } + } } ]`) } @@ -699,20 +727,20 @@ func TestCoreSearchSortedResults(t *testing.T) { // verify that results are already sorted correctly sortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | .name |=ascii_downcase | .name ] | sort").String() + "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() notSortedDeprecated := requirejson.Parse(t, stdout).Query( - "[.[] | select(.deprecated == true) | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() require.Equal(t, sortedDeprecated, notSortedDeprecated) sortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | .name |=ascii_downcase | .name ] | sort").String() + "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() notSortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[.[] | select(.deprecated != true) | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() require.Equal(t, sortedNotDeprecated, notSortedNotDeprecated) // verify that deprecated platforms are the last ones platform := requirejson.Parse(t, stdout).Query( - "[.[] | .name |=ascii_downcase | .name]").String() + "[ .[] | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() require.Equal(t, platform, strings.TrimRight(notSortedNotDeprecated, "]")+","+strings.TrimLeft(notSortedDeprecated, "[")) } @@ -771,20 +799,20 @@ func TestCoreListSortedResults(t *testing.T) { // verify that results are already sorted correctly sortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | .name |=ascii_downcase | .name ] | sort").String() + "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() notSortedDeprecated := requirejson.Parse(t, stdout).Query( - "[.[] | select(.deprecated == true) | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() require.Equal(t, sortedDeprecated, notSortedDeprecated) sortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | .name |=ascii_downcase | .name ] | sort").String() + "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() notSortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[.[] | select(.deprecated != true) | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() require.Equal(t, sortedNotDeprecated, notSortedNotDeprecated) // verify that deprecated platforms are the last ones platform := requirejson.Parse(t, stdout).Query( - "[.[] | .name |=ascii_downcase | .name]").String() + "[ .[] | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() require.Equal(t, platform, strings.TrimRight(notSortedNotDeprecated, "]")+","+strings.TrimLeft(notSortedDeprecated, "[")) } @@ -842,8 +870,8 @@ func TestCoreListPlatformWithoutPlatformTxt(t *testing.T) { stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[] | .id", "\"some-packager:some-arch\"") - requirejson.Query(t, stdout, ".[] | .name", "\"some-packager-some-arch\"") + requirejson.Query(t, stdout, ".[] | .id", `"some-packager:some-arch"`) + requirejson.Query(t, stdout, ".[] | .releases[.installed_version].name", `"some-packager-some-arch"`) } func TestCoreDownloadMultiplePlatforms(t *testing.T) { @@ -903,25 +931,25 @@ func TestCoreWithMissingCustomBoardOptionsIsLoaded(t *testing.T) { require.NoError(t, err) requirejson.Len(t, stdout, 1) // Verifies platform is loaded except excluding board with missing options - requirejson.Contains(t, stdout, `[ - { - "id": "arduino-beta-dev:platform_with_missing_custom_board_options" - } - ]`) - requirejson.Query(t, stdout, ".[] | select(.id == \"arduino-beta-dev:platform_with_missing_custom_board_options\") | .boards | length", "2") + requirejson.Contains(t, stdout, `[{"id": "arduino-beta-dev:platform_with_missing_custom_board_options"}]`) + requirejson.Query(t, stdout, ".[] | select(.id == \"arduino-beta-dev:platform_with_missing_custom_board_options\") | .releases[.installed_version].boards | length", "2") // Verify board with malformed options is not loaded // while other board is loaded requirejson.Contains(t, stdout, `[ { "id": "arduino-beta-dev:platform_with_missing_custom_board_options", - "boards": [ - { - "fqbn": "arduino-beta-dev:platform_with_missing_custom_board_options:nessuno" - }, - { - "fqbn": "arduino-beta-dev:platform_with_missing_custom_board_options:altra" + "releases": { + "4.2.0": { + "boards": [ + { + "fqbn": "arduino-beta-dev:platform_with_missing_custom_board_options:nessuno" + }, + { + "fqbn": "arduino-beta-dev:platform_with_missing_custom_board_options:altra" + } + ] } - ] + } } ]`) } @@ -940,10 +968,10 @@ func TestCoreListOutdatedCore(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[0] | .installed", "\"1.8.6\"") - installedVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .installed").String(), "\"")) + requirejson.Query(t, stdout, ".[0] | .installed_version", "\"1.8.6\"") + installedVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .installed_version").String(), "\"")) require.NoError(t, err) - latestVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .latest").String(), "\"")) + latestVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .latest_version").String(), "\"")) require.NoError(t, err) // Installed version must be older than latest require.True(t, installedVersion.LessThan(latestVersion)) diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 7e49db88111..6c02b5f3b22 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -104,7 +104,7 @@ func TestDaemonAutoUpdateIndexOnFirstInit(t *testing.T) { fmt.Printf("INIT> %v\n", ir.GetMessage()) })) - _, err := grpcInst.PlatformList(context.Background()) + _, err := grpcInst.PlatformSearch(context.Background(), "", true) require.NoError(t, err) require.FileExists(t, cli.DataDir().Join("package_index.json").String()) @@ -477,8 +477,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.NoError(t, upgradeError) require.NotNil(t, platform) - require.True(t, platform.Indexed) // the esp866 is present in the additional-urls - require.False(t, platform.MissingMetadata) // install.json is present + require.True(t, platform.Metadata.Indexed) // the esp866 is present in the additional-urls + require.False(t, platform.Release.MissingMetadata) // install.json is present }) t.Run("and install.json is missing", func(t *testing.T) { env, cli := createEnvForDaemon(t) @@ -497,9 +497,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.NoError(t, upgradeError) require.NotNil(t, platform) - require.True(t, platform.Indexed) // the esp866 is not present in the additional-urls - require.False(t, platform.MissingMetadata) // install.json is present because the old version got upgraded - + require.True(t, platform.Metadata.Indexed) // the esp866 is not present in the additional-urls + require.False(t, platform.Release.MissingMetadata) // install.json is present because the old version got upgraded }) }) @@ -521,8 +520,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.ErrorIs(t, upgradeError, (&arduino.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) require.NotNil(t, platform) - require.False(t, platform.Indexed) // the esp866 is not present in the additional-urls - require.False(t, platform.MissingMetadata) // install.json is present + require.False(t, platform.Metadata.Indexed) // the esp866 is not present in the additional-urls + require.False(t, platform.Release.MissingMetadata) // install.json is present }) t.Run("missing both additional URLs and install.json", func(t *testing.T) { env, cli := createEnvForDaemon(t) @@ -546,8 +545,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.ErrorIs(t, upgradeError, (&arduino.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) require.NotNil(t, platform) - require.False(t, platform.Indexed) // the esp866 is not present in the additional-urls - require.True(t, platform.MissingMetadata) // install.json is present + require.False(t, platform.Metadata.Indexed) // the esp866 is not present in the additional-urls + require.True(t, platform.Release.MissingMetadata) // install.json is present }) }) } diff --git a/internal/orderedmap/orderedmap.go b/internal/orderedmap/orderedmap.go new file mode 100644 index 00000000000..0dce816863d --- /dev/null +++ b/internal/orderedmap/orderedmap.go @@ -0,0 +1,184 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 orderedmap + +import ( + "bytes" + "encoding/json" + "fmt" + "slices" +) + +// Map is a map that keeps ordering insertion. +type Map[K any, V any] interface { + Get(K) V + GetOk(key K) (V, bool) + Set(K, V) + Size() int + ContainsKey(key K) bool + Keys() []K + Merge(...Map[K, V]) Map[K, V] + SortKeys(f func(x, y K) int) + SortStableKeys(f func(x, y K) int) + Values() []V + Clone() Map[K, V] + Remove(key K) + MarshalJSON() ([]byte, error) +} + +type scalars interface { + ~int | ~int8 | ~int16 | ~int32 | ~int64 | ~uint | ~uint8 | + ~uint16 | ~uint32 | ~uint64 | ~uintptr | ~float32 | ~float64 | ~string +} + +// NewWithConversionFunc creates a map using the given conversion function +// to convert non-comparable key type to comparable items. +// The conversion function must be bijective. +func NewWithConversionFunc[K any, V any, C scalars](conv func(K) C) Map[K, V] { + return &mapImpl[K, V, C]{ + conv: conv, + kv: map[C]V{}, + o: []K{}, + } +} + +// New creates a map +func New[K scalars, V any]() Map[K, V] { + return &mapImpl[K, V, K]{ + conv: func(in K) K { return in }, // identity + kv: map[K]V{}, + o: []K{}, + } +} + +type mapImpl[K any, V any, C scalars] struct { + conv func(K) C + kv map[C]V + o []K +} + +// Get retrieves the value corresponding to key +func (m *mapImpl[K, V, C]) Get(key K) V { + return m.kv[m.conv(key)] +} + +// GetOk retrieves the value corresponding to key and returns a true/false indicator +// to check if the key is present in the map (true if the key is present) +func (m *mapImpl[K, V, C]) GetOk(key K) (V, bool) { + v, ok := m.kv[m.conv(key)] + return v, ok +} + +// ContainsKey returns true if the map contains the specified key +func (m *mapImpl[K, V, C]) ContainsKey(key K) bool { + _, has := m.kv[m.conv(key)] + return has +} + +// MarshalJSON marshal the map into json mantaining the order of the key +func (m *mapImpl[K, V, C]) MarshalJSON() ([]byte, error) { + if m.Size() == 0 { + return []byte("{}"), nil + } + var buf bytes.Buffer + buf.WriteByte('{') + encoder := json.NewEncoder(&buf) + for _, k := range m.o { + // Here we convert non string keys in string. + if err := encoder.Encode(fmt.Sprintf("%v", m.conv(k))); err != nil { + return nil, err + } + buf.WriteByte(':') + if err := encoder.Encode(m.kv[m.conv(k)]); err != nil { + return nil, err + } + buf.WriteByte(',') + } + buf.Truncate(buf.Len() - 1) // remove last `,` + buf.WriteByte('}') + return buf.Bytes(), nil +} + +// Set inserts or replaces an existing key-value pair in the map +func (m *mapImpl[K, V, C]) Set(key K, value V) { + compKey := m.conv(key) + if _, has := m.kv[compKey]; has { + m.Remove(key) + } + m.kv[compKey] = value + m.o = append(m.o, key) +} + +// Size returns the number of elements in the map +func (m *mapImpl[K, V, C]) Size() int { + return len(m.kv) +} + +// Remove removes the key from the map +func (m *mapImpl[K, V, C]) Remove(key K) { + compKey := m.conv(key) + delete(m.kv, compKey) + for i, k := range m.o { + if m.conv(k) == compKey { + m.o = append(m.o[:i], m.o[i+1:]...) + return + } + } +} + +// Merge merges other Maps into this one. Each key/value of the merged Maps replaces +// the key/value present in the original Map. +func (m *mapImpl[K, V, C]) Merge(sources ...Map[K, V]) Map[K, V] { + for _, source := range sources { + for _, key := range source.Keys() { + value := source.Get(key) + m.Set(key, value) + } + } + return m +} + +// Keys returns an array of the keys contained in the Map +func (m *mapImpl[K, V, C]) Keys() []K { + keys := make([]K, len(m.o)) + copy(keys, m.o) + return keys +} + +func (m *mapImpl[K, V, C]) SortKeys(f func(x, y K) int) { + slices.SortFunc(m.o, f) +} + +func (m *mapImpl[K, V, C]) SortStableKeys(f func(x, y K) int) { + slices.SortStableFunc(m.o, f) +} + +// Values returns an array of the values contained in the Map. Duplicated +// values are repeated in the list accordingly. +func (m *mapImpl[K, V, C]) Values() []V { + values := make([]V, len(m.o)) + for i, key := range m.o { + values[i] = m.kv[m.conv(key)] + } + return values +} + +// Clone makes a copy of the Map +func (m *mapImpl[K, V, C]) Clone() Map[K, V] { + clone := NewWithConversionFunc[K, V, C](m.conv) + clone.Merge(m) + return clone +} diff --git a/internal/orderedmap/orderedmap_test.go b/internal/orderedmap/orderedmap_test.go new file mode 100644 index 00000000000..bd7975f1949 --- /dev/null +++ b/internal/orderedmap/orderedmap_test.go @@ -0,0 +1,361 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 orderedmap_test + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/orderedmap" + "github.com/stretchr/testify/require" +) + +func TestGet(t *testing.T) { + t.Run("the key is a string", func(t *testing.T) { + m := orderedmap.New[string, int]() + + require.Zero(t, m.Get("not-existing-key")) + v, ok := m.GetOk("not-existing-key") + require.Zero(t, v) + require.False(t, ok) + + m.Set("existing-key", 1) + require.Equal(t, 1, m.Get("existing-key")) + v, ok = m.GetOk("existing-key") + require.Equal(t, 1, v) + require.True(t, ok) + + // test empty key + m.Set("", 2) + require.Equal(t, 2, m.Get("")) + v, ok = m.GetOk("") + require.Equal(t, 2, v) + require.True(t, ok) + }) + + t.Run("the key is int", func(t *testing.T) { + m := orderedmap.New[int, int]() + + require.Equal(t, 0, m.Get(1)) + v, ok := m.GetOk(1) + require.Zero(t, v) + require.False(t, ok) + + m.Set(1, 1) + require.Equal(t, 1, m.Get(1)) + v, ok = m.GetOk(1) + require.Equal(t, 1, v) + require.True(t, ok) + + // test empty key + m.Set(0, 2) + require.Equal(t, 2, m.Get(0)) + v, ok = m.GetOk(0) + require.Equal(t, 2, v) + require.True(t, ok) + }) + + t.Run("custom comparable key", func(t *testing.T) { + type A struct { + b []byte + } + m := orderedmap.NewWithConversionFunc[*A, int, string]( + func(a *A) string { + if a == nil { + return "" + } + return string(a.b) + }, + ) + require.Zero(t, m.Get(&A{})) + require.Zero(t, m.Get(nil)) + + // Here we're using the conversion function to set the key, using a different + // pointer to retrieve the value works. + m.Set(&A{b: []byte{60, 61, 62}}, 1) + require.Equal(t, 1, m.Get(&A{b: []byte{60, 61, 62}})) + + m.Set(nil, 2) + require.Equal(t, 2, m.Get(nil)) + }) +} + +func TestSet(t *testing.T) { + t.Run("insert 3 different keys", func(t *testing.T) { + m := orderedmap.New[string, int]() + m.Set("a", 1) + m.Set("b", 2) + m.Set("c", 3) + require.Equal(t, 1, m.Get("a")) + require.Equal(t, 2, m.Get("b")) + require.Equal(t, 3, m.Get("c")) + }) + t.Run("insert equal keys", func(t *testing.T) { + m := orderedmap.New[string, int]() + m.Set("a", 1) + m.Set("a", 2) + require.Equal(t, 2, m.Get("a")) + }) +} + +func TestSize(t *testing.T) { + t.Run("empty map", func(t *testing.T) { + m := orderedmap.New[string, bool]() + require.Zero(t, m.Size()) + }) + t.Run("one element", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + require.Equal(t, 1, m.Size()) + }) + t.Run("three elements", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + m.Set("b", true) + m.Set("c", true) + require.Equal(t, 3, m.Size()) + }) + t.Run("insert same keys result in size 1", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + m.Set("a", false) + m.Set("a", true) + require.Equal(t, 1, m.Size()) + }) +} + +func TestKeys(t *testing.T) { + t.Run("empty map", func(t *testing.T) { + m := orderedmap.New[string, bool]() + require.Empty(t, m.Keys()) + }) + t.Run("one element", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + require.Len(t, m.Keys(), 1) + }) + t.Run("keys respect order of insertion", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + m.Set("b", true) + m.Set("c", true) + require.Equal(t, []string{"a", "b", "c"}, m.Keys()) + }) + t.Run("replacing a key changes the ordering", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + m.Set("b", true) + m.Set("a", false) + require.Equal(t, []string{"b", "a"}, m.Keys()) + }) + t.Run("delete a key", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + m.Set("b", true) + m.Remove("a") + require.Equal(t, []string{"b"}, m.Keys()) + }) +} + +func TestRemove(t *testing.T) { + t.Run("key doesn't exist", func(t *testing.T) { + m := orderedmap.New[string, bool]() + require.Zero(t, m.Get("not-existing-key")) + m.Remove("not-existing-key") + require.Zero(t, m.Get("not-existing-key")) + }) + t.Run("key exist", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + require.True(t, m.Get("a")) + + m.Remove("a") + require.False(t, m.Get("a")) + }) + t.Run("key deletion doesn't affect other keys", func(t *testing.T) { + m := orderedmap.New[string, bool]() + m.Set("a", true) + m.Set("b", true) + m.Remove("a") + require.True(t, m.Get("b")) + _, ok := m.GetOk("a") + require.False(t, ok) + }) +} + +func TestMerge(t *testing.T) { + t.Run("merge empty maps", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + m2 := orderedmap.New[string, int]() + + merged := m1.Merge(m2) + require.Equal(t, m1, merged) + require.Len(t, m1.Keys(), 0) + }) + + t.Run("merge multiple elements", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + m1.Set("a", 1) + m1.Set("b", 2) + m1.Set("c", 3) + + m2 := orderedmap.New[string, int]() + m2.Set("d", 4) + m2.Set("e", 5) + + // assert that the Merge return is m1 + merged := m1.Merge(m2) + require.Equal(t, m1, merged) + + // assert we find the merged elements in the map + require.Equal(t, 5, m1.Size()) + require.Equal(t, 4, m1.Get("d")) + require.Equal(t, 5, m1.Get("e")) + require.Equal(t, []string{"a", "b", "c", "d", "e"}, m1.Keys()) + + require.Equal(t, []string{"d", "e"}, m2.Keys()) + }) +} + +func TestSortKeys(t *testing.T) { + t.Run("empty map", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + require.Equal(t, []string{}, m1.Keys()) + m1.SortKeys(func(x, y string) int { + if x < y { + return -1 + } + return 1 + }) + require.Equal(t, []string{}, m1.Keys()) + }) + t.Run("sort ascending", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + m1.Set("c", 3) + m1.Set("b", 2) + m1.Set("a", 1) + m1.Set("z", 4) + + require.Equal(t, []string{"c", "b", "a", "z"}, m1.Keys()) + m1.SortKeys(func(x, y string) int { + if x < y { + return -1 + } + return 1 + }) + require.Equal(t, []string{"a", "b", "c", "z"}, m1.Keys()) + }) +} + +func TestValues(t *testing.T) { + t.Run("empty map", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + require.Empty(t, m1.Values()) + }) + t.Run("values respect order of insertion", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + m1.Set("a", 1) + m1.Set("b", 2) + m1.Set("c", 3) + require.Equal(t, []int{1, 2, 3}, m1.Values()) + }) + t.Run("after a key sort values respect the new order", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + m1.Set("c", 3) + m1.Set("b", 2) + m1.Set("a", 1) + m1.Set("z", 4) + require.Equal(t, []int{3, 2, 1, 4}, m1.Values()) + m1.SortKeys(func(x, y string) int { + if x < y { + return -1 + } + return 1 + }) + require.Equal(t, []int{1, 2, 3, 4}, m1.Values()) + }) +} + +func TestClone(t *testing.T) { + t.Run("empty map", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + clone := m1.Clone() + require.NotEqual(t, m1, clone) + require.Equal(t, m1.Keys(), clone.Keys()) + require.Equal(t, m1.Values(), clone.Values()) + }) + t.Run("clone doesn't affect the original map", func(t *testing.T) { + m1 := orderedmap.New[string, int]() + m1.Set("a", 1) + m1.Set("b", 2) + m1.Set("c", 3) + + clone := m1.Clone() + + require.NotEqual(t, m1, clone) + require.Equal(t, m1.Keys(), clone.Keys()) + require.Equal(t, m1.Values(), clone.Values()) + + clone.Set("d", 4) + require.Equal(t, 4, clone.Get("d")) + _, ok := m1.GetOk("d") + require.False(t, ok) + }) +} + +func TestMarshallJSON(t *testing.T) { + t.Run("empty map", func(t *testing.T) { + m := orderedmap.New[string, int]() + mapJSON, err := m.MarshalJSON() + require.NoError(t, err) + require.JSONEq(t, `{}`, string(mapJSON)) + }) + t.Run("respect the order of insertion", func(t *testing.T) { + m := orderedmap.New[string, int]() + m.Set("a", 1) + m.Set("b", 2) + m.Set("c", 3) + mapJSON, err := m.MarshalJSON() + require.NoError(t, err) + require.JSONEq(t, `{"a":1,"b":2,"c":3}`, string(mapJSON)) + }) + t.Run("can serialize int keys", func(t *testing.T) { + m := orderedmap.New[int, bool]() + m.Set(1, true) + m.Set(2, true) + m.Set(3, true) + mapJSON, err := m.MarshalJSON() + require.NoError(t, err) + require.JSONEq(t, `{"1":true,"2":true,"3":true}`, string(mapJSON)) + }) + t.Run("can serialize pointer keys", func(t *testing.T) { + m := orderedmap.NewWithConversionFunc[*int, bool, int](func(i *int) int { + if i == nil { + return 0 + } + return *i + }) + m.Set(toPtr(1), true) + m.Set(toPtr(2), true) + m.Set(toPtr(3), true) + mapJSON, err := m.MarshalJSON() + require.NoError(t, err) + require.JSONEq(t, `{"1":true,"2":true,"3":true}`, string(mapJSON)) + }) +} + +func toPtr[V any](v V) *V { + return &v +} diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 67afa35e70b..059e6b238de 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -1664,7 +1664,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, - 0x32, 0xab, 0x27, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, + 0x32, 0xb8, 0x26, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, @@ -1860,130 +1860,123 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, + 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, - 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, - 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, + 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, + 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, - 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, + 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, + 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, - 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, - 0x01, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x48, - 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x48, 0x5a, 0x46, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2046,52 +2039,50 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*ListProgrammersAvailableForUploadRequest)(nil), // 42: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest (*BurnBootloaderRequest)(nil), // 43: cc.arduino.cli.commands.v1.BurnBootloaderRequest (*PlatformSearchRequest)(nil), // 44: cc.arduino.cli.commands.v1.PlatformSearchRequest - (*PlatformListRequest)(nil), // 45: cc.arduino.cli.commands.v1.PlatformListRequest - (*LibraryDownloadRequest)(nil), // 46: cc.arduino.cli.commands.v1.LibraryDownloadRequest - (*LibraryInstallRequest)(nil), // 47: cc.arduino.cli.commands.v1.LibraryInstallRequest - (*LibraryUpgradeRequest)(nil), // 48: cc.arduino.cli.commands.v1.LibraryUpgradeRequest - (*ZipLibraryInstallRequest)(nil), // 49: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - (*GitLibraryInstallRequest)(nil), // 50: cc.arduino.cli.commands.v1.GitLibraryInstallRequest - (*LibraryUninstallRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryUninstallRequest - (*LibraryUpgradeAllRequest)(nil), // 52: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - (*LibraryResolveDependenciesRequest)(nil), // 53: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - (*LibrarySearchRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibrarySearchRequest - (*LibraryListRequest)(nil), // 55: cc.arduino.cli.commands.v1.LibraryListRequest - (*MonitorRequest)(nil), // 56: cc.arduino.cli.commands.v1.MonitorRequest - (*EnumerateMonitorPortSettingsRequest)(nil), // 57: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*DebugRequest)(nil), // 58: cc.arduino.cli.commands.v1.DebugRequest - (*GetDebugConfigRequest)(nil), // 59: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*BoardDetailsResponse)(nil), // 60: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardListResponse)(nil), // 61: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 62: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 63: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 64: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 65: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 66: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 67: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 68: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 69: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 70: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 71: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 72: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 73: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 74: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 75: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*PlatformListResponse)(nil), // 76: cc.arduino.cli.commands.v1.PlatformListResponse - (*LibraryDownloadResponse)(nil), // 77: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 78: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 79: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 80: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 81: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 83: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 84: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 85: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 86: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 87: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 88: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*DebugResponse)(nil), // 89: cc.arduino.cli.commands.v1.DebugResponse - (*GetDebugConfigResponse)(nil), // 90: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*LibraryDownloadRequest)(nil), // 45: cc.arduino.cli.commands.v1.LibraryDownloadRequest + (*LibraryInstallRequest)(nil), // 46: cc.arduino.cli.commands.v1.LibraryInstallRequest + (*LibraryUpgradeRequest)(nil), // 47: cc.arduino.cli.commands.v1.LibraryUpgradeRequest + (*ZipLibraryInstallRequest)(nil), // 48: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + (*GitLibraryInstallRequest)(nil), // 49: cc.arduino.cli.commands.v1.GitLibraryInstallRequest + (*LibraryUninstallRequest)(nil), // 50: cc.arduino.cli.commands.v1.LibraryUninstallRequest + (*LibraryUpgradeAllRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + (*LibraryResolveDependenciesRequest)(nil), // 52: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + (*LibrarySearchRequest)(nil), // 53: cc.arduino.cli.commands.v1.LibrarySearchRequest + (*LibraryListRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibraryListRequest + (*MonitorRequest)(nil), // 55: cc.arduino.cli.commands.v1.MonitorRequest + (*EnumerateMonitorPortSettingsRequest)(nil), // 56: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*DebugRequest)(nil), // 57: cc.arduino.cli.commands.v1.DebugRequest + (*GetDebugConfigRequest)(nil), // 58: cc.arduino.cli.commands.v1.GetDebugConfigRequest + (*BoardDetailsResponse)(nil), // 59: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardListResponse)(nil), // 60: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 61: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 62: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardListWatchResponse)(nil), // 63: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 64: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 65: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 66: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 67: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 68: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 69: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 70: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 71: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 72: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 73: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 74: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*LibraryDownloadResponse)(nil), // 75: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 76: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 77: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 78: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 79: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 80: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 81: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 83: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 84: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 85: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 86: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*DebugResponse)(nil), // 87: cc.arduino.cli.commands.v1.DebugResponse + (*GetDebugConfigResponse)(nil), // 88: cc.arduino.cli.commands.v1.GetDebugConfigResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 24, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance @@ -2135,64 +2126,62 @@ var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 42, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest 43, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest 44, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 45, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformList:input_type -> cc.arduino.cli.commands.v1.PlatformListRequest - 46, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 47, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 48, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 49, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 50, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 51, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 52, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 53, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 54, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 59, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 2, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 4, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 7, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 9, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 11, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 13, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 15, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 18, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 20, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 22, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 60, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 61, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 62, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 63, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 64, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 65, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 66, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 67, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 68, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 69, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformList:output_type -> cc.arduino.cli.commands.v1.PlatformListResponse - 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 56, // [56:97] is the sub-list for method output_type - 15, // [15:56] is the sub-list for method input_type + 45, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 46, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 47, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 48, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 49, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 50, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 51, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 52, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 53, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 54, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest + 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 2, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 4, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 7, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 9, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 11, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 13, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 15, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 18, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 20, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 22, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 59, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 60, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 61, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 62, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 63, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 64, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 65, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 66, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 67, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 68, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 69, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 55, // [55:95] is the sub-list for method output_type + 15, // [15:55] is the sub-list for method input_type 15, // [15:15] is the sub-list for extension type_name 15, // [15:15] is the sub-list for extension extendee 0, // [0:15] is the sub-list for field type_name diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index d16aab2c5a5..294f91d7742 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -131,9 +131,6 @@ service ArduinoCoreService { // Search for a platform in the platforms indexes. rpc PlatformSearch(PlatformSearchRequest) returns (PlatformSearchResponse); - // List all installed platforms. - rpc PlatformList(PlatformListRequest) returns (PlatformListResponse); - // Download the archive file of an Arduino library in the libraries index to // the staging directory. rpc LibraryDownload(LibraryDownloadRequest) diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 454d07dd5d2..2c7ce7dfd42 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -60,7 +60,6 @@ const ( ArduinoCoreService_ListProgrammersAvailableForUpload_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/ListProgrammersAvailableForUpload" ArduinoCoreService_BurnBootloader_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/BurnBootloader" ArduinoCoreService_PlatformSearch_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformSearch" - ArduinoCoreService_PlatformList_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformList" ArduinoCoreService_LibraryDownload_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryDownload" ArduinoCoreService_LibraryInstall_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryInstall" ArduinoCoreService_LibraryUpgrade_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/LibraryUpgrade" @@ -139,8 +138,6 @@ type ArduinoCoreServiceClient interface { BurnBootloader(ctx context.Context, in *BurnBootloaderRequest, opts ...grpc.CallOption) (ArduinoCoreService_BurnBootloaderClient, error) // Search for a platform in the platforms indexes. PlatformSearch(ctx context.Context, in *PlatformSearchRequest, opts ...grpc.CallOption) (*PlatformSearchResponse, error) - // List all installed platforms. - PlatformList(ctx context.Context, in *PlatformListRequest, opts ...grpc.CallOption) (*PlatformListResponse, error) // Download the archive file of an Arduino library in the libraries index to // the staging directory. LibraryDownload(ctx context.Context, in *LibraryDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryDownloadClient, error) @@ -690,15 +687,6 @@ func (c *arduinoCoreServiceClient) PlatformSearch(ctx context.Context, in *Platf return out, nil } -func (c *arduinoCoreServiceClient) PlatformList(ctx context.Context, in *PlatformListRequest, opts ...grpc.CallOption) (*PlatformListResponse, error) { - out := new(PlatformListResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_PlatformList_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *arduinoCoreServiceClient) LibraryDownload(ctx context.Context, in *LibraryDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryDownloadClient, error) { stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[12], ArduinoCoreService_LibraryDownload_FullMethodName, opts...) if err != nil { @@ -1092,8 +1080,6 @@ type ArduinoCoreServiceServer interface { BurnBootloader(*BurnBootloaderRequest, ArduinoCoreService_BurnBootloaderServer) error // Search for a platform in the platforms indexes. PlatformSearch(context.Context, *PlatformSearchRequest) (*PlatformSearchResponse, error) - // List all installed platforms. - PlatformList(context.Context, *PlatformListRequest) (*PlatformListResponse, error) // Download the archive file of an Arduino library in the libraries index to // the staging directory. LibraryDownload(*LibraryDownloadRequest, ArduinoCoreService_LibraryDownloadServer) error @@ -1208,9 +1194,6 @@ func (UnimplementedArduinoCoreServiceServer) BurnBootloader(*BurnBootloaderReque func (UnimplementedArduinoCoreServiceServer) PlatformSearch(context.Context, *PlatformSearchRequest) (*PlatformSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PlatformSearch not implemented") } -func (UnimplementedArduinoCoreServiceServer) PlatformList(context.Context, *PlatformListRequest) (*PlatformListResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method PlatformList not implemented") -} func (UnimplementedArduinoCoreServiceServer) LibraryDownload(*LibraryDownloadRequest, ArduinoCoreService_LibraryDownloadServer) error { return status.Errorf(codes.Unimplemented, "method LibraryDownload not implemented") } @@ -1770,24 +1753,6 @@ func _ArduinoCoreService_PlatformSearch_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } -func _ArduinoCoreService_PlatformList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(PlatformListRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ArduinoCoreServiceServer).PlatformList(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: ArduinoCoreService_PlatformList_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).PlatformList(ctx, req.(*PlatformListRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _ArduinoCoreService_LibraryDownload_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(LibraryDownloadRequest) if err := stream.RecvMsg(m); err != nil { @@ -2140,10 +2105,6 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ MethodName: "PlatformSearch", Handler: _ArduinoCoreService_PlatformSearch_Handler, }, - { - MethodName: "PlatformList", - Handler: _ArduinoCoreService_PlatformList_Handler, - }, { MethodName: "LibraryResolveDependencies", Handler: _ArduinoCoreService_LibraryResolveDependencies_Handler, diff --git a/rpc/cc/arduino/cli/commands/v1/common.go b/rpc/cc/arduino/cli/commands/v1/common.go index 9ef27da3e58..a04ebff193f 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.go +++ b/rpc/cc/arduino/cli/commands/v1/common.go @@ -15,6 +15,12 @@ package commands +import ( + "sort" + + semver "go.bug.st/relaxed-semver" +) + // DownloadProgressCB is a callback to get updates on download progress type DownloadProgressCB func(curr *DownloadProgress) @@ -56,3 +62,39 @@ func (d DownloadProgressCB) End(success bool, message string) { // TaskProgressCB is a callback to receive progress messages type TaskProgressCB func(msg *TaskProgress) + +// InstanceCommand is an interface that represents a gRPC command with +// a gRPC Instance. +type InstanceCommand interface { + GetInstance() *Instance +} + +// GetLatestRelease returns the latest release in this PlatformSummary, +// or nil if not available. +func (s *PlatformSummary) GetLatestRelease() *PlatformRelease { + if s.LatestVersion == "" { + return nil + } + return s.Releases[s.LatestVersion] +} + +// GetInstalledRelease returns the latest release in this PlatformSummary, +// or nil if not available. +func (s *PlatformSummary) GetInstalledRelease() *PlatformRelease { + if s.InstalledVersion == "" { + return nil + } + return s.Releases[s.InstalledVersion] +} + +// GetSortedReleases returns the releases in order of version. +func (s *PlatformSummary) GetSortedReleases() []*PlatformRelease { + res := []*PlatformRelease{} + for _, release := range s.GetReleases() { + res = append(res, release) + } + sort.SliceStable(res, func(i, j int) bool { + return semver.ParseRelaxed(res[i].Version).LessThan(semver.ParseRelaxed(res[j].Version)) + }) + return res +} diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 90453bd45ea..fe1f4e1f700 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -488,47 +488,17 @@ func (x *Programmer) GetName() string { return "" } +// Platform is a structure containing all the information about a single +// platform release. type Platform struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Platform ID (e.g., `arduino:avr`). - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - // Version of the platform. - Installed string `protobuf:"bytes,2,opt,name=installed,proto3" json:"installed,omitempty"` - // Newest available version of the platform. - Latest string `protobuf:"bytes,3,opt,name=latest,proto3" json:"latest,omitempty"` - // Name used to identify the platform to humans (e.g., "Arduino AVR Boards"). - Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` - // Maintainer of the platform's package. - Maintainer string `protobuf:"bytes,5,opt,name=maintainer,proto3" json:"maintainer,omitempty"` - // A URL provided by the author of the platform's package, intended to point - // to their website. - Website string `protobuf:"bytes,6,opt,name=website,proto3" json:"website,omitempty"` - // Email of the maintainer of the platform's package. - Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` - // List of boards provided by the platform. If the platform is installed, - // this is the boards listed in the platform's boards.txt. If the platform is - // not installed, this is an arbitrary list of board names provided by the - // platform author for display and may not match boards.txt. - Boards []*Board `protobuf:"bytes,8,rep,name=boards,proto3" json:"boards,omitempty"` - // If true this Platform has been installed manually in the user' sketchbook - // hardware folder - ManuallyInstalled bool `protobuf:"varint,9,opt,name=manually_installed,json=manuallyInstalled,proto3" json:"manually_installed,omitempty"` - // If true this Platform has been deprecated - Deprecated bool `protobuf:"varint,10,opt,name=deprecated,proto3" json:"deprecated,omitempty"` - // Type of the platform. - Type []string `protobuf:"bytes,11,rep,name=type,proto3" json:"type,omitempty"` - // A URL provided by the author of the platform's package, intended to point - // to their online help service. - Help *HelpResources `protobuf:"bytes,12,opt,name=help,proto3" json:"help,omitempty"` - // If true the platform is indexed - Indexed bool `protobuf:"varint,13,opt,name=indexed,proto3" json:"indexed,omitempty"` - // This field is true when the platform is installed with the Arduino IDE 1.8. - // If the platform is also not indexed it may fail to work correctly in some - // circumstances, and it may need to be re-installed. - MissingMetadata bool `protobuf:"varint,14,opt,name=missing_metadata,json=missingMetadata,proto3" json:"missing_metadata,omitempty"` + // Generic information about a platform + Metadata *PlatformMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Information about a specific release of a platform + Release *PlatformRelease `protobuf:"bytes,2,opt,name=release,proto3" json:"release,omitempty"` } func (x *Platform) Reset() { @@ -563,100 +533,320 @@ func (*Platform) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{7} } -func (x *Platform) GetId() string { +func (x *Platform) GetMetadata() *PlatformMetadata { if x != nil { - return x.Id + return x.Metadata } - return "" + return nil } -func (x *Platform) GetInstalled() string { +func (x *Platform) GetRelease() *PlatformRelease { if x != nil { - return x.Installed + return x.Release + } + return nil +} + +// PlatformSummary is a structure containing all the information about +// a platform and all its available releases. +type PlatformSummary struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Generic information about a platform + Metadata *PlatformMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Maps version to the corresponding PlatformRelease + Releases map[string]*PlatformRelease `protobuf:"bytes,2,rep,name=releases,proto3" json:"releases,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // The installed version of the platform, or empty string if none installed + InstalledVersion string `protobuf:"bytes,3,opt,name=installed_version,json=installedVersion,proto3" json:"installed_version,omitempty"` + // The latest available version of the platform, or empty if none available + LatestVersion string `protobuf:"bytes,4,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"` +} + +func (x *PlatformSummary) Reset() { + *x = PlatformSummary{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformSummary) ProtoMessage() {} + +func (x *PlatformSummary) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformSummary.ProtoReflect.Descriptor instead. +func (*PlatformSummary) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{8} +} + +func (x *PlatformSummary) GetMetadata() *PlatformMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *PlatformSummary) GetReleases() map[string]*PlatformRelease { + if x != nil { + return x.Releases + } + return nil +} + +func (x *PlatformSummary) GetInstalledVersion() string { + if x != nil { + return x.InstalledVersion } return "" } -func (x *Platform) GetLatest() string { +func (x *PlatformSummary) GetLatestVersion() string { if x != nil { - return x.Latest + return x.LatestVersion } return "" } -func (x *Platform) GetName() string { +// PlatformMetadata contains generic information about a platform (not +// correlated to a specific release). +type PlatformMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Platform ID (e.g., `arduino:avr`). + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Maintainer of the platform's package. + Maintainer string `protobuf:"bytes,2,opt,name=maintainer,proto3" json:"maintainer,omitempty"` + // A URL provided by the author of the platform's package, intended to point + // to their website. + Website string `protobuf:"bytes,3,opt,name=website,proto3" json:"website,omitempty"` + // Email of the maintainer of the platform's package. + Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` + // If true this Platform has been installed manually in the user' sketchbook + // hardware folder + ManuallyInstalled bool `protobuf:"varint,5,opt,name=manually_installed,json=manuallyInstalled,proto3" json:"manually_installed,omitempty"` + // True if the latest release of this Platform has been deprecated + Deprecated bool `protobuf:"varint,6,opt,name=deprecated,proto3" json:"deprecated,omitempty"` + // If true the platform is indexed + Indexed bool `protobuf:"varint,7,opt,name=indexed,proto3" json:"indexed,omitempty"` +} + +func (x *PlatformMetadata) Reset() { + *x = PlatformMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformMetadata) ProtoMessage() {} + +func (x *PlatformMetadata) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformMetadata.ProtoReflect.Descriptor instead. +func (*PlatformMetadata) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{9} +} + +func (x *PlatformMetadata) GetId() string { if x != nil { - return x.Name + return x.Id } return "" } -func (x *Platform) GetMaintainer() string { +func (x *PlatformMetadata) GetMaintainer() string { if x != nil { return x.Maintainer } return "" } -func (x *Platform) GetWebsite() string { +func (x *PlatformMetadata) GetWebsite() string { if x != nil { return x.Website } return "" } -func (x *Platform) GetEmail() string { +func (x *PlatformMetadata) GetEmail() string { if x != nil { return x.Email } return "" } -func (x *Platform) GetBoards() []*Board { +func (x *PlatformMetadata) GetManuallyInstalled() bool { if x != nil { - return x.Boards + return x.ManuallyInstalled } - return nil + return false } -func (x *Platform) GetManuallyInstalled() bool { +func (x *PlatformMetadata) GetDeprecated() bool { if x != nil { - return x.ManuallyInstalled + return x.Deprecated } return false } -func (x *Platform) GetDeprecated() bool { +func (x *PlatformMetadata) GetIndexed() bool { if x != nil { - return x.Deprecated + return x.Indexed } return false } -func (x *Platform) GetType() []string { +// PlatformRelease contains information about a specific release of a platform. +type PlatformRelease struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name used to identify the platform to humans (e.g., "Arduino AVR Boards"). + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Version of the platform release + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // Type of the platform. + Type []string `protobuf:"bytes,3,rep,name=type,proto3" json:"type,omitempty"` + // True if the platform is installed + Installed bool `protobuf:"varint,4,opt,name=installed,proto3" json:"installed,omitempty"` + // List of boards provided by the platform. If the platform is installed, + // this is the boards listed in the platform's boards.txt. If the platform is + // not installed, this is an arbitrary list of board names provided by the + // platform author for display and may not match boards.txt. + Boards []*Board `protobuf:"bytes,5,rep,name=boards,proto3" json:"boards,omitempty"` + // A URL provided by the author of the platform's package, intended to point + // to their online help service. + Help *HelpResources `protobuf:"bytes,6,opt,name=help,proto3" json:"help,omitempty"` + // This field is true if the platform is missing installation metadata (this + // happens if the platform has been installed with the legacy Arduino IDE + // <=1.8.x). If the platform miss metadata and it's not indexed through a + // package index, it may fail to work correctly in some circumstances, and it + // may need to be reinstalled. This should be evaluated only when the + // PlatformRelease is `Installed` otherwise is an undefined behaviour. + MissingMetadata bool `protobuf:"varint,7,opt,name=missing_metadata,json=missingMetadata,proto3" json:"missing_metadata,omitempty"` + // True this release is deprecated + Deprecated bool `protobuf:"varint,8,opt,name=deprecated,proto3" json:"deprecated,omitempty"` +} + +func (x *PlatformRelease) Reset() { + *x = PlatformRelease{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformRelease) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformRelease) ProtoMessage() {} + +func (x *PlatformRelease) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformRelease.ProtoReflect.Descriptor instead. +func (*PlatformRelease) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{10} +} + +func (x *PlatformRelease) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PlatformRelease) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *PlatformRelease) GetType() []string { if x != nil { return x.Type } return nil } -func (x *Platform) GetHelp() *HelpResources { +func (x *PlatformRelease) GetInstalled() bool { + if x != nil { + return x.Installed + } + return false +} + +func (x *PlatformRelease) GetBoards() []*Board { + if x != nil { + return x.Boards + } + return nil +} + +func (x *PlatformRelease) GetHelp() *HelpResources { if x != nil { return x.Help } return nil } -func (x *Platform) GetIndexed() bool { +func (x *PlatformRelease) GetMissingMetadata() bool { if x != nil { - return x.Indexed + return x.MissingMetadata } return false } -func (x *Platform) GetMissingMetadata() bool { +func (x *PlatformRelease) GetDeprecated() bool { if x != nil { - return x.MissingMetadata + return x.Deprecated } return false } @@ -679,7 +869,7 @@ type InstalledPlatformReference struct { func (x *InstalledPlatformReference) Reset() { *x = InstalledPlatformReference{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -692,7 +882,7 @@ func (x *InstalledPlatformReference) String() string { func (*InstalledPlatformReference) ProtoMessage() {} func (x *InstalledPlatformReference) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -705,7 +895,7 @@ func (x *InstalledPlatformReference) ProtoReflect() protoreflect.Message { // Deprecated: Use InstalledPlatformReference.ProtoReflect.Descriptor instead. func (*InstalledPlatformReference) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{8} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{11} } func (x *InstalledPlatformReference) GetId() string { @@ -751,7 +941,7 @@ type Board struct { func (x *Board) Reset() { *x = Board{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -764,7 +954,7 @@ func (x *Board) String() string { func (*Board) ProtoMessage() {} func (x *Board) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -777,7 +967,7 @@ func (x *Board) ProtoReflect() protoreflect.Message { // Deprecated: Use Board.ProtoReflect.Descriptor instead. func (*Board) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{9} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{12} } func (x *Board) GetName() string { @@ -808,7 +998,7 @@ type Profile struct { func (x *Profile) Reset() { *x = Profile{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -821,7 +1011,7 @@ func (x *Profile) String() string { func (*Profile) ProtoMessage() {} func (x *Profile) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -834,7 +1024,7 @@ func (x *Profile) ProtoReflect() protoreflect.Message { // Deprecated: Use Profile.ProtoReflect.Descriptor instead. func (*Profile) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{10} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{13} } func (x *Profile) GetName() string { @@ -864,7 +1054,7 @@ type HelpResources struct { func (x *HelpResources) Reset() { *x = HelpResources{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -877,7 +1067,7 @@ func (x *HelpResources) String() string { func (*HelpResources) ProtoMessage() {} func (x *HelpResources) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -890,7 +1080,7 @@ func (x *HelpResources) ProtoReflect() protoreflect.Message { // Deprecated: Use HelpResources.ProtoReflect.Descriptor instead. func (*HelpResources) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{11} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{14} } func (x *HelpResources) GetOnline() string { @@ -951,59 +1141,96 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xd6, 0x03, 0x0a, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, - 0x39, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, - 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x3d, 0x0a, - 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x45, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, + 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, + 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, + 0x68, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x01, 0x0a, 0x10, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, + 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2d, + 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x6c, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, + 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, + 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x22, 0xb6, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, + 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x18, 0x0a, 0x07, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, - 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, - 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x31, 0x0a, - 0x07, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, - 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, - 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, + 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x31, 0x0a, 0x07, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, + 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, + 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, + 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1018,7 +1245,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_common_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*Instance)(nil), // 0: cc.arduino.cli.commands.v1.Instance (*DownloadProgress)(nil), // 1: cc.arduino.cli.commands.v1.DownloadProgress @@ -1028,22 +1255,31 @@ var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*TaskProgress)(nil), // 5: cc.arduino.cli.commands.v1.TaskProgress (*Programmer)(nil), // 6: cc.arduino.cli.commands.v1.Programmer (*Platform)(nil), // 7: cc.arduino.cli.commands.v1.Platform - (*InstalledPlatformReference)(nil), // 8: cc.arduino.cli.commands.v1.InstalledPlatformReference - (*Board)(nil), // 9: cc.arduino.cli.commands.v1.Board - (*Profile)(nil), // 10: cc.arduino.cli.commands.v1.Profile - (*HelpResources)(nil), // 11: cc.arduino.cli.commands.v1.HelpResources + (*PlatformSummary)(nil), // 8: cc.arduino.cli.commands.v1.PlatformSummary + (*PlatformMetadata)(nil), // 9: cc.arduino.cli.commands.v1.PlatformMetadata + (*PlatformRelease)(nil), // 10: cc.arduino.cli.commands.v1.PlatformRelease + (*InstalledPlatformReference)(nil), // 11: cc.arduino.cli.commands.v1.InstalledPlatformReference + (*Board)(nil), // 12: cc.arduino.cli.commands.v1.Board + (*Profile)(nil), // 13: cc.arduino.cli.commands.v1.Profile + (*HelpResources)(nil), // 14: cc.arduino.cli.commands.v1.HelpResources + nil, // 15: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry } var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 2, // 0: cc.arduino.cli.commands.v1.DownloadProgress.start:type_name -> cc.arduino.cli.commands.v1.DownloadProgressStart 3, // 1: cc.arduino.cli.commands.v1.DownloadProgress.update:type_name -> cc.arduino.cli.commands.v1.DownloadProgressUpdate 4, // 2: cc.arduino.cli.commands.v1.DownloadProgress.end:type_name -> cc.arduino.cli.commands.v1.DownloadProgressEnd - 9, // 3: cc.arduino.cli.commands.v1.Platform.boards:type_name -> cc.arduino.cli.commands.v1.Board - 11, // 4: cc.arduino.cli.commands.v1.Platform.help:type_name -> cc.arduino.cli.commands.v1.HelpResources - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 9, // 3: cc.arduino.cli.commands.v1.Platform.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata + 10, // 4: cc.arduino.cli.commands.v1.Platform.release:type_name -> cc.arduino.cli.commands.v1.PlatformRelease + 9, // 5: cc.arduino.cli.commands.v1.PlatformSummary.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata + 15, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + 12, // 7: cc.arduino.cli.commands.v1.PlatformRelease.boards:type_name -> cc.arduino.cli.commands.v1.Board + 14, // 8: cc.arduino.cli.commands.v1.PlatformRelease.help:type_name -> cc.arduino.cli.commands.v1.HelpResources + 10, // 9: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_common_proto_init() } @@ -1149,7 +1385,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstalledPlatformReference); i { + switch v := v.(*PlatformSummary); i { case 0: return &v.state case 1: @@ -1161,7 +1397,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Board); i { + switch v := v.(*PlatformMetadata); i { case 0: return &v.state case 1: @@ -1173,7 +1409,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Profile); i { + switch v := v.(*PlatformRelease); i { case 0: return &v.state case 1: @@ -1185,6 +1421,42 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InstalledPlatformReference); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Board); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Profile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelpResources); i { case 0: return &v.state @@ -1208,7 +1480,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_common_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 3cb0425872f..fae80bab09b 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -71,43 +71,76 @@ message Programmer { string name = 3; } +// Platform is a structure containing all the information about a single +// platform release. message Platform { + // Generic information about a platform + PlatformMetadata metadata = 1; + // Information about a specific release of a platform + PlatformRelease release = 2; +} + +// PlatformSummary is a structure containing all the information about +// a platform and all its available releases. +message PlatformSummary { + // Generic information about a platform + PlatformMetadata metadata = 1; + // Maps version to the corresponding PlatformRelease + map<string, PlatformRelease> releases = 2; + // The installed version of the platform, or empty string if none installed + string installed_version = 3; + // The latest available version of the platform, or empty if none available + string latest_version = 4; +} + +// PlatformMetadata contains generic information about a platform (not +// correlated to a specific release). +message PlatformMetadata { // Platform ID (e.g., `arduino:avr`). string id = 1; - // Version of the platform. - string installed = 2; - // Newest available version of the platform. - string latest = 3; - // Name used to identify the platform to humans (e.g., "Arduino AVR Boards"). - string name = 4; // Maintainer of the platform's package. - string maintainer = 5; + string maintainer = 2; // A URL provided by the author of the platform's package, intended to point // to their website. - string website = 6; + string website = 3; // Email of the maintainer of the platform's package. - string email = 7; + string email = 4; + // If true this Platform has been installed manually in the user' sketchbook + // hardware folder + bool manually_installed = 5; + // True if the latest release of this Platform has been deprecated + bool deprecated = 6; + // If true the platform is indexed + bool indexed = 7; +} + +// PlatformRelease contains information about a specific release of a platform. +message PlatformRelease { + // Name used to identify the platform to humans (e.g., "Arduino AVR Boards"). + string name = 1; + // Version of the platform release + string version = 2; + // Type of the platform. + repeated string type = 3; + // True if the platform is installed + bool installed = 4; // List of boards provided by the platform. If the platform is installed, // this is the boards listed in the platform's boards.txt. If the platform is // not installed, this is an arbitrary list of board names provided by the // platform author for display and may not match boards.txt. - repeated Board boards = 8; - // If true this Platform has been installed manually in the user' sketchbook - // hardware folder - bool manually_installed = 9; - // If true this Platform has been deprecated - bool deprecated = 10; - // Type of the platform. - repeated string type = 11; + repeated Board boards = 5; // A URL provided by the author of the platform's package, intended to point // to their online help service. - HelpResources help = 12; - // If true the platform is indexed - bool indexed = 13; - // This field is true when the platform is installed with the Arduino IDE 1.8. - // If the platform is also not indexed it may fail to work correctly in some - // circumstances, and it may need to be re-installed. - bool missing_metadata = 14; + HelpResources help = 6; + // This field is true if the platform is missing installation metadata (this + // happens if the platform has been installed with the legacy Arduino IDE + // <=1.8.x). If the platform miss metadata and it's not indexed through a + // package index, it may fail to work correctly in some circumstances, and it + // may need to be reinstalled. This should be evaluated only when the + // PlatformRelease is `Installed` otherwise is an undefined behaviour. + bool missing_metadata = 7; + // True this release is deprecated + bool deprecated = 8; } message InstalledPlatformReference { diff --git a/rpc/cc/arduino/cli/commands/v1/core.pb.go b/rpc/cc/arduino/cli/commands/v1/core.pb.go index c12b21374d0..dca289c80fd 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/core.pb.go @@ -685,6 +685,9 @@ type PlatformSearchRequest struct { // Whether to show all available versions. `false` causes only the newest // versions of the cores to be listed in the search results. AllVersions bool `protobuf:"varint,3,opt,name=all_versions,json=allVersions,proto3" json:"all_versions,omitempty"` + // Whether to show manually installed platforms. `false` causes to skip + // manually installed platforms. + ManuallyInstalled bool `protobuf:"varint,4,opt,name=manually_installed,json=manuallyInstalled,proto3" json:"manually_installed,omitempty"` } func (x *PlatformSearchRequest) Reset() { @@ -740,13 +743,20 @@ func (x *PlatformSearchRequest) GetAllVersions() bool { return false } +func (x *PlatformSearchRequest) GetManuallyInstalled() bool { + if x != nil { + return x.ManuallyInstalled + } + return false +} + type PlatformSearchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields // Results of the search. - SearchOutput []*Platform `protobuf:"bytes,1,rep,name=search_output,json=searchOutput,proto3" json:"search_output,omitempty"` + SearchOutput []*PlatformSummary `protobuf:"bytes,1,rep,name=search_output,json=searchOutput,proto3" json:"search_output,omitempty"` } func (x *PlatformSearchResponse) Reset() { @@ -781,130 +791,13 @@ func (*PlatformSearchResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{11} } -func (x *PlatformSearchResponse) GetSearchOutput() []*Platform { +func (x *PlatformSearchResponse) GetSearchOutput() []*PlatformSummary { if x != nil { return x.SearchOutput } return nil } -type PlatformListRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Arduino Core Service instance from the `Init` response. - Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Set to true to only list platforms which have a newer version available - // than the one currently installed. - UpdatableOnly bool `protobuf:"varint,2,opt,name=updatable_only,json=updatableOnly,proto3" json:"updatable_only,omitempty"` - // Set to true to list platforms installed manually in the user' sketchbook - // hardware folder, installed with the PlatformManager through the CLI or - // IDE and that are available to install - All bool `protobuf:"varint,3,opt,name=all,proto3" json:"all,omitempty"` -} - -func (x *PlatformListRequest) Reset() { - *x = PlatformListRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PlatformListRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlatformListRequest) ProtoMessage() {} - -func (x *PlatformListRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlatformListRequest.ProtoReflect.Descriptor instead. -func (*PlatformListRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{12} -} - -func (x *PlatformListRequest) GetInstance() *Instance { - if x != nil { - return x.Instance - } - return nil -} - -func (x *PlatformListRequest) GetUpdatableOnly() bool { - if x != nil { - return x.UpdatableOnly - } - return false -} - -func (x *PlatformListRequest) GetAll() bool { - if x != nil { - return x.All - } - return false -} - -type PlatformListResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The installed platforms. - InstalledPlatforms []*Platform `protobuf:"bytes,1,rep,name=installed_platforms,json=installedPlatforms,proto3" json:"installed_platforms,omitempty"` -} - -func (x *PlatformListResponse) Reset() { - *x = PlatformListResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PlatformListResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlatformListResponse) ProtoMessage() {} - -func (x *PlatformListResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlatformListResponse.ProtoReflect.Descriptor instead. -func (*PlatformListResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{13} -} - -func (x *PlatformListResponse) GetInstalledPlatforms() []*Platform { - if x != nil { - return x.InstalledPlatforms - } - return nil -} - var File_cc_arduino_cli_commands_v1_core_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_core_proto_rawDesc = []byte{ @@ -1020,7 +913,7 @@ var file_cc_arduino_cli_commands_v1_core_proto_rawDesc = []byte{ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0x9d, 0x01, + 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xcc, 0x01, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, @@ -1030,35 +923,22 @@ var file_cc_arduino_cli_commands_v1_core_proto_rawDesc = []byte{ 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6c, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x63, 0x0a, - 0x16, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, - 0x75, 0x74, 0x22, 0x90, 0x01, 0x0a, 0x13, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x4f, - 0x6e, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x22, 0x6d, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, - 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, + 0x12, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x6c, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x16, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, + 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1073,7 +953,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_core_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_core_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_cc_arduino_cli_commands_v1_core_proto_msgTypes = make([]protoimpl.MessageInfo, 12) var file_cc_arduino_cli_commands_v1_core_proto_goTypes = []interface{}{ (*PlatformInstallRequest)(nil), // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest (*PlatformInstallResponse)(nil), // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse @@ -1087,34 +967,31 @@ var file_cc_arduino_cli_commands_v1_core_proto_goTypes = []interface{}{ (*PlatformUpgradeResponse)(nil), // 9: cc.arduino.cli.commands.v1.PlatformUpgradeResponse (*PlatformSearchRequest)(nil), // 10: cc.arduino.cli.commands.v1.PlatformSearchRequest (*PlatformSearchResponse)(nil), // 11: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*PlatformListRequest)(nil), // 12: cc.arduino.cli.commands.v1.PlatformListRequest - (*PlatformListResponse)(nil), // 13: cc.arduino.cli.commands.v1.PlatformListResponse - (*Instance)(nil), // 14: cc.arduino.cli.commands.v1.Instance - (*DownloadProgress)(nil), // 15: cc.arduino.cli.commands.v1.DownloadProgress - (*TaskProgress)(nil), // 16: cc.arduino.cli.commands.v1.TaskProgress - (*Platform)(nil), // 17: cc.arduino.cli.commands.v1.Platform + (*Instance)(nil), // 12: cc.arduino.cli.commands.v1.Instance + (*DownloadProgress)(nil), // 13: cc.arduino.cli.commands.v1.DownloadProgress + (*TaskProgress)(nil), // 14: cc.arduino.cli.commands.v1.TaskProgress + (*Platform)(nil), // 15: cc.arduino.cli.commands.v1.Platform + (*PlatformSummary)(nil), // 16: cc.arduino.cli.commands.v1.PlatformSummary } var file_cc_arduino_cli_commands_v1_core_proto_depIdxs = []int32{ - 14, // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 15, // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 16, // 2: cc.arduino.cli.commands.v1.PlatformInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 14, // 3: cc.arduino.cli.commands.v1.PlatformDownloadRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 15, // 4: cc.arduino.cli.commands.v1.PlatformDownloadResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 14, // 5: cc.arduino.cli.commands.v1.PlatformUninstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 16, // 6: cc.arduino.cli.commands.v1.PlatformUninstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 14, // 7: cc.arduino.cli.commands.v1.PlatformUpgradeRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 15, // 8: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 16, // 9: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 17, // 10: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.platform:type_name -> cc.arduino.cli.commands.v1.Platform - 14, // 11: cc.arduino.cli.commands.v1.PlatformSearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 17, // 12: cc.arduino.cli.commands.v1.PlatformSearchResponse.search_output:type_name -> cc.arduino.cli.commands.v1.Platform - 14, // 13: cc.arduino.cli.commands.v1.PlatformListRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 17, // 14: cc.arduino.cli.commands.v1.PlatformListResponse.installed_platforms:type_name -> cc.arduino.cli.commands.v1.Platform - 15, // [15:15] is the sub-list for method output_type - 15, // [15:15] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 12, // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 13, // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 14, // 2: cc.arduino.cli.commands.v1.PlatformInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 12, // 3: cc.arduino.cli.commands.v1.PlatformDownloadRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 13, // 4: cc.arduino.cli.commands.v1.PlatformDownloadResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 12, // 5: cc.arduino.cli.commands.v1.PlatformUninstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 14, // 6: cc.arduino.cli.commands.v1.PlatformUninstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 12, // 7: cc.arduino.cli.commands.v1.PlatformUpgradeRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 13, // 8: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 14, // 9: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 15, // 10: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.platform:type_name -> cc.arduino.cli.commands.v1.Platform + 12, // 11: cc.arduino.cli.commands.v1.PlatformSearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 16, // 12: cc.arduino.cli.commands.v1.PlatformSearchResponse.search_output:type_name -> cc.arduino.cli.commands.v1.PlatformSummary + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_core_proto_init() } @@ -1268,30 +1145,6 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformListRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformListResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } } type x struct{} out := protoimpl.TypeBuilder{ @@ -1299,7 +1152,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_core_proto_rawDesc, NumEnums: 0, - NumMessages: 14, + NumMessages: 12, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/core.proto b/rpc/cc/arduino/cli/commands/v1/core.proto index 70ec4d46886..67aa0b214c7 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.proto +++ b/rpc/cc/arduino/cli/commands/v1/core.proto @@ -118,26 +118,12 @@ message PlatformSearchRequest { // Whether to show all available versions. `false` causes only the newest // versions of the cores to be listed in the search results. bool all_versions = 3; + // Whether to show manually installed platforms. `false` causes to skip + // manually installed platforms. + bool manually_installed = 4; } message PlatformSearchResponse { // Results of the search. - repeated Platform search_output = 1; -} - -message PlatformListRequest { - // Arduino Core Service instance from the `Init` response. - Instance instance = 1; - // Set to true to only list platforms which have a newer version available - // than the one currently installed. - bool updatable_only = 2; - // Set to true to list platforms installed manually in the user' sketchbook - // hardware folder, installed with the PlatformManager through the CLI or - // IDE and that are available to install - bool all = 3; -} - -message PlatformListResponse { - // The installed platforms. - repeated Platform installed_platforms = 1; + repeated PlatformSummary search_output = 1; } From d8694ec5f0999c5cf3f8ebc6aa15b04b81a634a8 Mon Sep 17 00:00:00 2001 From: Zach Vonler <zvonler@eventussystems.com> Date: Tue, 24 Oct 2023 02:46:32 -0500 Subject: [PATCH 005/361] Added search using qualifier[:=]value syntax (#2373) --- commands/lib/search.go | 14 +- commands/lib/search_matcher.go | 135 +++++++++++++++++ commands/lib/search_test.go | 110 ++++++++++++++ .../qualified_search/library_index.json | 136 ++++++++++++++++++ internal/cli/lib/search.go | 59 +++++++- internal/integrationtest/lib/lib_test.go | 23 +++ 6 files changed, 461 insertions(+), 16 deletions(-) create mode 100644 commands/lib/search_matcher.go create mode 100644 commands/lib/testdata/qualified_search/library_index.json diff --git a/commands/lib/search.go b/commands/lib/search.go index 5e44e2273e1..91a8ddaabcb 100644 --- a/commands/lib/search.go +++ b/commands/lib/search.go @@ -23,7 +23,6 @@ import ( "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/arduino/utils" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" @@ -44,18 +43,11 @@ func searchLibrary(req *rpc.LibrarySearchRequest, lm *librariesmanager.Libraries if query == "" { query = req.GetQuery() } - queryTerms := utils.SearchTermsFromQueryString(query) - for _, lib := range lm.Index.Libraries { - toTest := lib.Name + " " + - lib.Latest.Paragraph + " " + - lib.Latest.Sentence + " " + - lib.Latest.Author + " " - for _, include := range lib.Latest.ProvidesIncludes { - toTest += include + " " - } + matcher := MatcherFromQueryString(query) - if utils.Match(toTest, queryTerms) { + for _, lib := range lm.Index.Libraries { + if matcher(lib) { res = append(res, indexLibraryToRPCSearchLibrary(lib, req.GetOmitReleasesDetails())) } } diff --git a/commands/lib/search_matcher.go b/commands/lib/search_matcher.go new file mode 100644 index 00000000000..193246579ca --- /dev/null +++ b/commands/lib/search_matcher.go @@ -0,0 +1,135 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 lib + +import ( + "strings" + + "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/arduino/utils" +) + +// matcherTokensFromQueryString parses the query string into tokens of interest +// for the qualifier-value pattern matching. +func matcherTokensFromQueryString(query string) []string { + escaped := false + quoted := false + tokens := []string{} + sb := &strings.Builder{} + + for _, r := range query { + // Short circuit the loop on backslash so that all other paths can clear + // the escaped flag. + if !escaped && r == '\\' { + escaped = true + continue + } + + if r == '"' { + if !escaped { + quoted = !quoted + } else { + sb.WriteRune(r) + } + } else if !quoted && r == ' ' { + tokens = append(tokens, strings.ToLower(sb.String())) + sb.Reset() + } else { + sb.WriteRune(r) + } + escaped = false + } + if sb.Len() > 0 { + tokens = append(tokens, strings.ToLower(sb.String())) + } + + return tokens +} + +// defaulLibraryMatchExtractor returns a string describing the library that +// is used for the simple search. +func defaultLibraryMatchExtractor(lib *librariesindex.Library) string { + res := lib.Name + " " + + lib.Latest.Paragraph + " " + + lib.Latest.Sentence + " " + + lib.Latest.Author + " " + for _, include := range lib.Latest.ProvidesIncludes { + res += include + " " + } + return res +} + +var qualifiers map[string]func(lib *librariesindex.Library) string = map[string]func(lib *librariesindex.Library) string{ + "name": func(lib *librariesindex.Library) string { return lib.Name }, + "architectures": func(lib *librariesindex.Library) string { return strings.Join(lib.Latest.Architectures, " ") }, + "author": func(lib *librariesindex.Library) string { return lib.Latest.Author }, + "category": func(lib *librariesindex.Library) string { return lib.Latest.Category }, + "dependencies": func(lib *librariesindex.Library) string { + names := make([]string, len(lib.Latest.Dependencies)) + for i, dep := range lib.Latest.Dependencies { + names[i] = dep.GetName() + } + return strings.Join(names, " ") + }, + "license": func(lib *librariesindex.Library) string { return lib.Latest.License }, + "maintainer": func(lib *librariesindex.Library) string { return lib.Latest.Maintainer }, + "paragraph": func(lib *librariesindex.Library) string { return lib.Latest.Paragraph }, + "provides": func(lib *librariesindex.Library) string { return strings.Join(lib.Latest.ProvidesIncludes, " ") }, + "sentence": func(lib *librariesindex.Library) string { return lib.Latest.Sentence }, + "types": func(lib *librariesindex.Library) string { return strings.Join(lib.Latest.Types, " ") }, + "version": func(lib *librariesindex.Library) string { return lib.Latest.Version.String() }, + "website": func(lib *librariesindex.Library) string { return lib.Latest.Website }, +} + +// MatcherFromQueryString returns a closure that takes a library as a +// parameter and returns true if the library matches the query. +func MatcherFromQueryString(query string) func(*librariesindex.Library) bool { + // A qv-query is one using <qualifier>[:=]<value> syntax. + qvQuery := strings.Contains(query, ":") || strings.Contains(query, "=") + + if !qvQuery { + queryTerms := utils.SearchTermsFromQueryString(query) + return func(lib *librariesindex.Library) bool { + return utils.Match(defaultLibraryMatchExtractor(lib), queryTerms) + } + } + + queryTerms := matcherTokensFromQueryString(query) + + return func(lib *librariesindex.Library) bool { + matched := true + for _, term := range queryTerms { + if sepIdx := strings.IndexAny(term, ":="); sepIdx != -1 { + qualifier, separator, target := term[:sepIdx], term[sepIdx], term[sepIdx+1:] + if extractor, ok := qualifiers[qualifier]; ok { + switch separator { + case ':': + matched = (matched && utils.Match(extractor(lib), []string{target})) + continue + case '=': + matched = (matched && strings.ToLower(extractor(lib)) == target) + continue + } + } + } + // We perform the usual match in the following cases: + // 1. Unknown qualifier names revert to basic search terms. + // 2. Terms that do not use qv-syntax. + matched = (matched && utils.Match(defaultLibraryMatchExtractor(lib), []string{term})) + } + return matched + } +} diff --git a/commands/lib/search_test.go b/commands/lib/search_test.go index affb9ba6911..8a5870338cd 100644 --- a/commands/lib/search_test.go +++ b/commands/lib/search_test.go @@ -28,6 +28,7 @@ import ( var customIndexPath = paths.New("testdata", "test1") var fullIndexPath = paths.New("testdata", "full") +var qualifiedSearchIndexPath = paths.New("testdata", "qualified_search") func TestSearchLibrary(t *testing.T) { lm := librariesmanager.NewLibraryManager(customIndexPath, nil) @@ -94,3 +95,112 @@ func TestSearchLibraryFields(t *testing.T) { require.Len(t, res, 19) require.Equal(t, "FlashStorage", res[0]) } + +func TestSearchLibraryWithQualifiers(t *testing.T) { + lm := librariesmanager.NewLibraryManager(qualifiedSearchIndexPath, nil) + lm.LoadIndex() + + query := func(q string) []string { + libs := []string{} + for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, lm).Libraries { + libs = append(libs, lib.Name) + } + return libs + } + + res := query("mesh") + require.Len(t, res, 4) + + res = query("name:Mesh") + require.Len(t, res, 3) + + res = query("name=Mesh") + require.Len(t, res, 0) + + // Space not in double-quoted string + res = query("name=Painless Mesh") + require.Len(t, res, 0) + + // Embedded space in double-quoted string + res = query("name=\"Painless Mesh\"") + require.Len(t, res, 1) + require.Equal(t, "Painless Mesh", res[0]) + + // No closing double-quote - still tokenizes with embedded space + res = query("name:\"Painless Mesh") + require.Len(t, res, 1) + + // Malformed double-quoted string with escaped first double-quote + res = query("name:\\\"Painless Mesh\"") + require.Len(t, res, 0) + + res = query("name:mesh author:TMRh20") + require.Len(t, res, 1) + require.Equal(t, "RF24Mesh", res[0]) + + res = query("mesh dependencies:ArduinoJson") + require.Len(t, res, 1) + require.Equal(t, "Painless Mesh", res[0]) + + res = query("architectures:esp author=\"Suraj I.\"") + require.Len(t, res, 1) + require.Equal(t, "esp8266-framework", res[0]) + + res = query("mesh esp") + require.Len(t, res, 2) + + res = query("mesh esp paragraph:wifi") + require.Len(t, res, 1) + require.Equal(t, "esp8266-framework", res[0]) + + // Unknown qualifier should revert to original matching + res = query("std::array") + require.Len(t, res, 1) + require.Equal(t, "Array", res[0]) + + res = query("data storage") + require.Len(t, res, 1) + require.Equal(t, "Pushdata_ESP8266_SSL", res[0]) + + res = query("category:\"data storage\"") + require.Len(t, res, 1) + require.Equal(t, "Array", res[0]) + + res = query("maintainer:@") + require.Len(t, res, 4) + + res = query("sentence:\"A library for NRF24L01(+) devices mesh.\"") + require.Len(t, res, 1) + require.Equal(t, "RF24Mesh", res[0]) + + res = query("types=contributed") + require.Len(t, res, 7) + + res = query("version:1.0") + require.Len(t, res, 3) + + res = query("version=1.2.1") + require.Len(t, res, 1) + require.Equal(t, "Array", res[0]) + + // Non-SSL URLs + res = query("website:http://") + require.Len(t, res, 1) + require.Equal(t, "RF24Mesh", res[0]) + + // Literal double-quote + res = query("sentence:\\\"") + require.Len(t, res, 1) + require.Equal(t, "RTCtime", res[0]) + + res = query("license=MIT") + require.Len(t, res, 2) + + // Empty string + res = query("license=\"\"") + require.Len(t, res, 5) + + res = query("provides:painlessmesh.h") + require.Len(t, res, 1) + require.Equal(t, "Painless Mesh", res[0]) +} diff --git a/commands/lib/testdata/qualified_search/library_index.json b/commands/lib/testdata/qualified_search/library_index.json new file mode 100644 index 00000000000..23dfb04bae9 --- /dev/null +++ b/commands/lib/testdata/qualified_search/library_index.json @@ -0,0 +1,136 @@ +{ + "libraries": [ + { + "name": "Array", + "version": "1.2.1", + "author": "Peter Polidoro \u003cpeterpolidoro@gmail.com\u003e", + "maintainer": "Peter Polidoro \u003cpeterpolidoro@gmail.com\u003e", + "sentence": "An array container similar to the C++ std::array", + "paragraph": "Like this project? Please star it on GitHub!", + "website": "https://github.com/janelia-arduino/Array.git", + "category": "Data Storage", + "architectures": ["*"], + "types": ["Contributed"], + "repository": "https://github.com/janelia-arduino/Array.git", + "url": "https://downloads.arduino.cc/libraries/github.com/janelia-arduino/Array-1.2.1.zip", + "archiveFileName": "Array-1.2.1.zip", + "size": 7859, + "checksum": "SHA-256:dc69e0b4d1390c08253120a80e6e07e5cc6185ec24cbe3cb96dec2d8173e6495" + }, + { + "name": "esp8266-framework", + "version": "1.1.5", + "author": "Suraj I.", + "maintainer": "Suraj I. \u003csurajinamdar151@gmail.com\u003e", + "sentence": "esp8266 framework stack for easy configurable applications", + "paragraph": "esp8266 framework includes all services like gpio, wifi, http, mqtt, ntp, ota, napt, espnow, mesh, server etc. which are ready to use in all applications", + "website": "https://github.com/Suraj151/esp8266-framework", + "category": "Communication", + "architectures": ["esp8266"], + "types": ["Contributed"], + "repository": "https://github.com/Suraj151/esp8266-framework.git", + "url": "https://downloads.arduino.cc/libraries/github.com/Suraj151/esp8266_framework-1.1.5.zip", + "archiveFileName": "esp8266_framework-1.1.5.zip", + "size": 1918535, + "checksum": "SHA-256:81731d4ccc80846c317a2d4e2086d32caa695ed97d3e4765a59c5651b4be30b5" + }, + { + "name": "Painless Mesh", + "version": "1.5.0", + "author": "Coopdis,Scotty Franzyshen,Edwin van Leeuwen,Germán Martín,Maximilian Schwarz,Doanh Doanh", + "maintainer": "Edwin van Leeuwen", + "sentence": "A painless way to setup a mesh with ESP8266 and ESP32 devices", + "paragraph": "A painless way to setup a mesh with ESP8266 and ESP32 devices", + "website": "https://gitlab.com/painlessMesh/painlessMesh", + "category": "Communication", + "architectures": ["esp8266", "esp32"], + "types": ["Contributed"], + "repository": "https://gitlab.com/painlessMesh/painlessMesh.git", + "providesIncludes": ["painlessMesh.h"], + "dependencies": [ + { + "name": "ArduinoJson" + }, + { + "name": "TaskScheduler" + } + ], + "url": "https://downloads.arduino.cc/libraries/gitlab.com/painlessMesh/Painless_Mesh-1.5.0.zip", + "archiveFileName": "Painless_Mesh-1.5.0.zip", + "size": 293531, + "checksum": "SHA-256:9d965064fc704e8ba19c0452cc50e619145f7869b9b135dbf7e521f6ec0a4b33" + }, + { + "name": "Pushdata_ESP8266_SSL", + "version": "0.0.6", + "author": "Ragnar Lonn", + "maintainer": "Ragnar Lonn \u003chello@pushdata.io\u003e", + "license": "MIT", + "sentence": "Free, ultra-simple time series data storage for your IoT sensors", + "paragraph": "Pushdata.io client library that makes it very simple to store your time series data online", + "website": "https://pushdata.io", + "category": "Communication", + "architectures": ["*"], + "types": ["Contributed"], + "repository": "https://github.com/pushdata-io/Arduino_ESP8266_SSL.git", + "providesIncludes": ["Pushdata_ESP8266_SSL.h"], + "url": "https://downloads.arduino.cc/libraries/github.com/pushdata-io/Pushdata_ESP8266_SSL-0.0.6.zip", + "archiveFileName": "Pushdata_ESP8266_SSL-0.0.6.zip", + "size": 12160, + "checksum": "SHA-256:5d592eb7900782f681b86f5fd77c5d9f25c78555e3b5f0880c52197031206df0" + }, + { + "name": "RF24Mesh", + "version": "1.0.0", + "author": "TMRh20", + "maintainer": "TMRh20", + "sentence": "A library for NRF24L01(+) devices mesh.", + "paragraph": "Provides a simple and seamless 'mesh' layer for sensor networks, allowing automatic and dynamic configuration that can be customized to suit many scenarios. It is currently designed to interface directly with with the RF24Network Development library, an OSI Network Layer using nRF24L01(+) radios driven by the newly optimized RF24 library fork.", + "website": "http://tmrh20.github.io/RF24Mesh/", + "category": "Communication", + "architectures": ["avr"], + "types": ["Contributed"], + "repository": "https://github.com/TMRh20/RF24Mesh.git", + "url": "https://downloads.arduino.cc/libraries/github.com/TMRh20/RF24Mesh-1.0.0.zip", + "archiveFileName": "RF24Mesh-1.0.0.zip", + "size": 31419, + "checksum": "SHA-256:1b122a6412bc06a33a7fbcef34e2210d0990c25839fd7bc547604103f28194b5" + }, + { + "name": "RTCtime", + "version": "1.0.5", + "author": "smz \u003ctinker@smz.it\u003e", + "maintainer": "smz (https://github.com/smz)", + "sentence": "A \"Standard C Runtime\" compatible library for interfacing the DS1307 and DS3231 Real Time Clock modules.", + "paragraph": "This library is for getting/setting time from hardware RTC modules. It uses an API compatible with the AVR implementation of the Standard C runtime time library as available in the Arduino IDE since version 1.6.10 (AVR C Runtime Library 2.0.0)", + "website": "https://github.com/smz/Arduino-RTCtime", + "category": "Timing", + "architectures": ["*"], + "types": ["Contributed"], + "repository": "https://github.com/smz/Arduino-RTCtime.git", + "url": "https://downloads.arduino.cc/libraries/github.com/smz/RTCtime-1.0.5.zip", + "archiveFileName": "RTCtime-1.0.5.zip", + "size": 18870, + "checksum": "SHA-256:89493bb6d1f834426e82330fdf55a249ff43eb61707831d75deed8644a7ebce8" + }, + { + "name": "DLLN3X ZigBee Mesh Module Library", + "version": "1.0.1", + "author": "Duke Liu \u003cmentalflow@ourdocs.cn\u003e", + "maintainer": "Duke Liu \u003cmentalflow@ourdocs.cn\u003e", + "license": "MIT", + "sentence": "This library allows you to use DLLN3X ZigBee mesh module very easily.", + "paragraph": "This library currently allows basic send and receive operations using the DLLN3X module, with more features to come.", + "website": "https://github.com/mentalfl0w/DLLN3X_zigbee_mesh_module_library", + "category": "Communication", + "architectures": ["*"], + "types": ["Contributed"], + "repository": "https://github.com/mentalfl0w/DLLN3X_zigbee_mesh_module_library.git", + "providesIncludes": ["DLLN3X.h"], + "url": "https://downloads.arduino.cc/libraries/github.com/mentalfl0w/DLLN3X_ZigBee_Mesh_Module_Library-1.0.1.zip", + "archiveFileName": "DLLN3X_ZigBee_Mesh_Module_Library-1.0.1.zip", + "size": 6122, + "checksum": "SHA-256:a28833bbd575ef8deab744a1f0e1175dad9e5329bf5c620fc2fe53e1de1d32ba" + } + ] +} diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index c44ced3778b..9af3c7c1079 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -37,11 +37,60 @@ func initSearchCommand() *cobra.Command { var namesOnly bool var omitReleasesDetails bool searchCommand := &cobra.Command{ - Use: fmt.Sprintf("search [%s]", tr("LIBRARY_NAME")), - Short: tr("Searches for one or more libraries data."), - Long: tr("Search for one or more libraries data (case insensitive search)."), - Example: " " + os.Args[0] + " lib search audio", - Args: cobra.ArbitraryArgs, + Use: fmt.Sprintf("search [%s ...]", tr("SEARCH_TERM")), + Short: tr("Searches for one or more libraries matching a query."), + Long: tr(`Search for libraries matching zero or more search terms. + +All searches are performed in a case-insensitive fashion. Queries containing +multiple search terms will return only libraries that match all of the terms. + +Search terms that do not match the QV syntax described below are basic search +terms, and will match libraries that include the term anywhere in any of the +following fields: + - Author + - Name + - Paragraph + - Provides + - Sentence + +A special syntax, called qualifier-value (QV), indicates that a search term +should be compared against only one field of each library index entry. This +syntax uses the name of an index field (case-insensitive), an equals sign (=) +or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'. + +QV search terms that use a colon separator will match all libraries with the +value anywhere in the named field, and QV search terms that use an equals +separator will match only libraries with exactly the provided value in the +named field. + +QV search terms can include embedded spaces using double-quote (") characters +around the value or the entire term, e.g. 'category="Data Processing"' and +'"category=Data Processing"' are equivalent. A QV term can include a literal +double-quote character by preceding it with a backslash (\) character. + +NOTE: QV search terms using double-quote or backslash characters that are +passed as command-line arguments may require quoting or escaping to prevent +the shell from interpreting those characters. + +In addition to the fields listed above, QV terms can use these qualifiers: + - Architectures + - Category + - Dependencies + - License + - Maintainer + - Types + - Version + - Website + `), + Example: " " + os.Args[0] + " lib search audio # " + tr("basic search for \"audio\"") + "\n" + + " " + os.Args[0] + " lib search name:buzzer # " + tr("libraries with \"buzzer\" in the Name field") + "\n" + + " " + os.Args[0] + " lib search name=pcf8523 # " + tr("libraries with a Name exactly matching \"pcf8523\"") + "\n" + + " " + os.Args[0] + " lib search \"author:\\\"Daniel Garcia\\\"\" # " + tr("libraries authored by Daniel Garcia") + "\n" + + " " + os.Args[0] + " lib search author=Adafruit name:gfx # " + tr("libraries authored only by Adafruit with \"gfx\" in their Name") + "\n" + + " " + os.Args[0] + " lib search esp32 display maintainer=espressif # " + tr("basic search for \"esp32\" and \"display\" limited to official Maintainer") + "\n" + + " " + os.Args[0] + " lib search dependencies:IRremote # " + tr("libraries that depend on at least \"IRremote\"") + "\n" + + " " + os.Args[0] + " lib search dependencies=IRremote # " + tr("libraries that depend only on \"IRremote\"") + "\n", + Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { runSearchCommand(args, namesOnly, omitReleasesDetails) }, diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index f064f32e741..b00948a0c4c 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -788,6 +788,29 @@ func TestSearch(t *testing.T) { runSearch("json", []string{"ArduinoJson", "Arduino_JSON"}) } +func TestQualifiedSearch(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + runSearch := func(args string, expectedLibs []string) { + stdout, _, err := cli.Run("lib", "search", "--names", "--format", "json", args) + require.NoError(t, err) + libraries := requirejson.Parse(t, stdout).Query("[ .libraries | .[] | .name ]").String() + for _, l := range expectedLibs { + require.Contains(t, libraries, l) + } + } + runSearch("name:MKRIoTCarrier", []string{"Arduino_MKRIoTCarrier"}) + runSearch("name=Arduino_MKRIoTCarrier", []string{"Arduino_MKRIoTCarrier"}) + // Embedded space in double-quoted string + runSearch("name=\"dht sensor library\"", []string{"DHT sensor library"}) + // No closing double-quote + runSearch("name=\"dht sensor library", []string{"DHT sensor library"}) + runSearch("name:\"sensor dht\"", []string{}) + // Literal double-quote + runSearch("sentence:\\\"", []string{"RTCtime"}) +} + func TestSearchParagraph(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() From ba72833bb70139743cf18491f4a641523ce9d13b Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Tue, 24 Oct 2023 16:47:47 +0200 Subject: [PATCH 006/361] Get default port address and protocol from sketch profile using `monitor -s <sketchPath>` (#2329) --------- Co-authored-by: Alessio Perugini <alessioper.98@gmail.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- internal/cli/arguments/port.go | 5 + internal/cli/arguments/sketch.go | 8 +- internal/cli/board/attach.go | 2 +- internal/cli/compile/compile.go | 2 +- internal/cli/debug/debug.go | 2 +- internal/cli/monitor/monitor.go | 92 ++++++-- internal/cli/upload/upload.go | 2 +- .../integrationtest/monitor/monitor_test.go | 218 +++++++++++++++++- .../SketchWithDefaultFQBN.ino | 3 + .../SketchWithDefaultFQBN/sketch.yaml | 1 + .../SketchWithDefaultPort.ino | 3 + .../SketchWithDefaultPort/sketch.yaml | 1 + .../SketchWithDefaultPortAndFQBN.ino | 3 + .../SketchWithDefaultPortAndFQBN/sketch.yaml | 5 + .../SketchWithNoProfiles.ino | 3 + 15 files changed, 314 insertions(+), 36 deletions(-) create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/SketchWithDefaultFQBN.ino create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/sketch.yaml create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPort/SketchWithDefaultPort.ino create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPort/sketch.yaml create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/SketchWithDefaultPortAndFQBN.ino create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml create mode 100644 internal/integrationtest/monitor/testdata/SketchWithNoProfiles/SketchWithNoProfiles.ino diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index 14f5846d80d..80df4b5c22c 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -155,3 +155,8 @@ func (p *Port) DetectFQBN(inst *rpc.Instance) (string, *rpc.Port) { } return "", nil } + +// IsPortFlagSet returns true if the port address is provided +func (p *Port) IsPortFlagSet() bool { + return p.address != "" +} diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 4e670bab6ac..58df45e3367 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -25,7 +25,7 @@ import ( // InitSketchPath returns an instance of paths.Path pointing to sketchPath. // If sketchPath is an empty string returns the current working directory. // In both cases it warns the user if he's using deprecated files -func InitSketchPath(path string) (sketchPath *paths.Path) { +func InitSketchPath(path string, printWarnings bool) (sketchPath *paths.Path) { if path != "" { sketchPath = paths.New(path) } else { @@ -36,8 +36,10 @@ func InitSketchPath(path string) (sketchPath *paths.Path) { logrus.Infof("Reading sketch from dir: %s", wd) sketchPath = wd } - if msg := sk.WarnDeprecatedFiles(sketchPath); msg != "" { - feedback.Warning(msg) + if printWarnings { + if msg := sk.WarnDeprecatedFiles(sketchPath); msg != "" { + feedback.Warning(msg) + } } return sketchPath } diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index f6536991ab7..ed252b019ac 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -53,7 +53,7 @@ func initAttachCommand() *cobra.Command { } func runAttachCommand(path string, port *arguments.Port, fqbn string) { - sketchPath := arguments.InitSketchPath(path) + sketchPath := arguments.InitSketchPath(path, true) portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, "", "") newDefaults, err := sketch.SetSketchDefaults(context.Background(), &rpc.SetSketchDefaultsRequest{ diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 4ed8ab6638e..a26a90eceb6 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -157,7 +157,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { path = args[0] } - sketchPath := arguments.InitSketchPath(path) + sketchPath := arguments.InitSketchPath(path, true) sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 69d9ddd716c..e7001a2a8d3 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -74,7 +74,7 @@ func runDebugCommand(command *cobra.Command, args []string) { path = args[0] } - sketchPath := arguments.InitSketchPath(path) + sketchPath := arguments.InitSketchPath(path, true) sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index c7cdac4810a..009897e8bdb 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -27,6 +27,7 @@ import ( "time" "github.com/arduino/arduino-cli/commands/monitor" + sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -45,13 +46,14 @@ var tr = i18n.Tr // NewCommand created a new `monitor` command func NewCommand() *cobra.Command { var ( - raw bool - portArgs arguments.Port - describe bool - configs []string - quiet bool - timestamp bool - fqbn arguments.Fqbn + portArgs arguments.Port + fqbnArg arguments.Fqbn + profileArg arguments.Profile + raw bool + describe bool + configs []string + quiet bool + timestamp bool ) monitorCommand := &cobra.Command{ Use: "monitor", @@ -61,38 +63,92 @@ func NewCommand() *cobra.Command { " " + os.Args[0] + " monitor -p /dev/ttyACM0\n" + " " + os.Args[0] + " monitor -p /dev/ttyACM0 --describe", Run: func(cmd *cobra.Command, args []string) { - runMonitorCmd(&portArgs, &fqbn, configs, describe, timestamp, quiet, raw) + sketchPath := "" + if len(args) > 0 { + sketchPath = args[0] + } + runMonitorCmd(&portArgs, &fqbnArg, &profileArg, sketchPath, configs, describe, timestamp, quiet, raw) }, } portArgs.AddToCommand(monitorCommand) + profileArg.AddToCommand(monitorCommand) monitorCommand.Flags().BoolVar(&raw, "raw", false, tr("Set terminal in raw mode (unbuffered).")) monitorCommand.Flags().BoolVar(&describe, "describe", false, tr("Show all the settings of the communication port.")) monitorCommand.Flags().StringSliceVarP(&configs, "config", "c", []string{}, tr("Configure communication port settings. The format is <ID>=<value>[,<ID>=<value>]...")) monitorCommand.Flags().BoolVarP(&quiet, "quiet", "q", false, tr("Run in silent mode, show only monitor input and output.")) monitorCommand.Flags().BoolVar(×tamp, "timestamp", false, tr("Timestamp each incoming line.")) - fqbn.AddToCommand(monitorCommand) - monitorCommand.MarkFlagRequired("port") + fqbnArg.AddToCommand(monitorCommand) return monitorCommand } -func runMonitorCmd(portArgs *arguments.Port, fqbn *arguments.Fqbn, configs []string, describe, timestamp, quiet, raw bool) { - instance := instance.CreateAndInit() +func runMonitorCmd( + portArgs *arguments.Port, fqbnArg *arguments.Fqbn, profileArg *arguments.Profile, sketchPathArg string, + configs []string, describe, timestamp, quiet, raw bool, +) { logrus.Info("Executing `arduino-cli monitor`") if !configuration.HasConsole { quiet = true } - // TODO: Should use sketch default_port/protocol? - portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(instance, "", "") + var ( + inst *rpc.Instance + profile *rpc.Profile + fqbn string + defaultPort, defaultProtocol string + ) + + // Flags takes maximum precedence over sketch.yaml + // If {--port --fqbn --profile} are set we ignore the profile. + // If both {--port --profile} are set we read the fqbn in the following order: profile -> default_fqbn -> discovery + // If only --port is set we read the fqbn in the following order: default_fqbn -> discovery + // If only --fqbn is set we read the port in the following order: default_port + sketchPath := arguments.InitSketchPath(sketchPathArg, false) + sketch, err := sk.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + if err != nil && !portArgs.IsPortFlagSet() { + feedback.Fatal( + tr("Error getting default port from `sketch.yaml`. Check if you're in the correct sketch folder or provide the --port flag: %s", err), + feedback.ErrGeneric, + ) + } + if sketch != nil { + defaultPort, defaultProtocol = sketch.GetDefaultPort(), sketch.GetDefaultProtocol() + } + if fqbnArg.String() == "" { + if profileArg.Get() == "" { + inst, profile = instance.CreateAndInitWithProfile(sketch.GetDefaultProfile().GetName(), sketchPath) + } else { + inst, profile = instance.CreateAndInitWithProfile(profileArg.Get(), sketchPath) + } + } + if inst == nil { + inst = instance.CreateAndInit() + } + // Priority on how to retrieve the fqbn + // 1. from flag + // 2. from profile + // 3. from default_fqbn specified in the sketch.yaml + // 4. try to detect from the port + switch { + case fqbnArg.String() != "": + fqbn = fqbnArg.String() + case profile.GetFqbn() != "": + fqbn = profile.GetFqbn() + case sketch.GetDefaultFqbn() != "": + fqbn = sketch.GetDefaultFqbn() + default: + fqbn, _ = portArgs.DetectFQBN(inst) + } + + portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(inst, defaultPort, defaultProtocol) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } enumerateResp, err := monitor.EnumerateMonitorPortSettings(context.Background(), &rpc.EnumerateMonitorPortSettingsRequest{ - Instance: instance, + Instance: inst, PortProtocol: portProtocol, - Fqbn: fqbn.String(), + Fqbn: fqbn, }) if err != nil { feedback.Fatal(tr("Error getting port settings details: %s", err), feedback.ErrGeneric) @@ -144,9 +200,9 @@ func runMonitorCmd(portArgs *arguments.Port, fqbn *arguments.Fqbn, configs []str } } portProxy, _, err := monitor.Monitor(context.Background(), &rpc.MonitorRequest{ - Instance: instance, + Instance: inst, Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, - Fqbn: fqbn.String(), + Fqbn: fqbn, PortConfiguration: configuration, }) if err != nil { diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index b17f323dc8c..4444cf1e792 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -89,7 +89,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { if len(args) > 0 { path = args[0] } - sketchPath := arguments.InitSketchPath(path) + sketchPath := arguments.InitSketchPath(path, true) if msg := sk.WarnDeprecatedFiles(sketchPath); importDir == "" && importFile == "" && msg != "" { feedback.Warning(msg) diff --git a/internal/integrationtest/monitor/monitor_test.go b/internal/integrationtest/monitor/monitor_test.go index 0f5593cb9aa..256d8e0f8cb 100644 --- a/internal/integrationtest/monitor/monitor_test.go +++ b/internal/integrationtest/monitor/monitor_test.go @@ -21,9 +21,16 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) +// returns a reader that tells the mocked monitor to exit +func quitMonitor() io.Reader { + // tells mocked monitor to exit + return bytes.NewBufferString("QUIT\n") +} + func TestMonitorConfigFlags(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() @@ -38,14 +45,8 @@ func TestMonitorConfigFlags(t *testing.T) { cli.InstallMockedSerialDiscovery(t) cli.InstallMockedSerialMonitor(t) - // Test monitor command - quit := func() io.Reader { - // tells mocked monitor to exit - return bytes.NewBufferString("QUIT\n") - } - t.Run("NoArgs", func(t *testing.T) { - stdout, _, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", "--raw") + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARG", "--raw") require.NoError(t, err) require.Contains(t, string(stdout), "Opened port: /dev/ttyARG") require.Contains(t, string(stdout), "Configuration baudrate = 9600") @@ -54,7 +55,7 @@ func TestMonitorConfigFlags(t *testing.T) { }) t.Run("BaudConfig", func(t *testing.T) { - stdout, _, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", "-c", "baudrate=115200", "--raw") + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARG", "-c", "baudrate=115200", "--raw") require.NoError(t, err) require.Contains(t, string(stdout), "Opened port: /dev/ttyARG") require.Contains(t, string(stdout), "Configuration baudrate = 115200") @@ -64,7 +65,7 @@ func TestMonitorConfigFlags(t *testing.T) { }) t.Run("BaudAndParitfyConfig", func(t *testing.T) { - stdout, _, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARG", "-c", "baudrate=115200", "-c", "parity=even", "--raw") require.NoError(t, err) require.Contains(t, string(stdout), "Opened port: /dev/ttyARG") @@ -75,16 +76,211 @@ func TestMonitorConfigFlags(t *testing.T) { }) t.Run("InvalidConfigKey", func(t *testing.T) { - _, stderr, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARG", "-c", "baud=115200", "-c", "parity=even", "--raw") require.Error(t, err) require.Contains(t, string(stderr), "invalid port configuration: baud=115200") }) t.Run("InvalidConfigValue", func(t *testing.T) { - _, stderr, err := cli.RunWithCustomInput(quit(), "monitor", "-p", "/dev/ttyARG", + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARG", "-c", "parity=9600", "--raw") require.Error(t, err) require.Contains(t, string(stderr), "invalid port configuration value for parity: 9600") }) } + +func TestMonitorCommandFlagsAndDefaultPortFQBNSelection(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Install AVR platform + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + // Patch the Yun board to require special RTS/DTR serial configuration + f, err := cli.DataDir().Join("packages", "arduino", "hardware", "avr", "1.8.6", "boards.txt").Append() + require.NoError(t, err) + _, err = f.WriteString(` +uno.serial.disableRTS=true +uno.serial.disableDTR=false +yun.serial.disableRTS=true +yun.serial.disableDTR=true +`) + require.NoError(t, err) + require.NoError(t, f.Close()) + + // Install mocked discovery and monitor for testing + cli.InstallMockedSerialDiscovery(t) + cli.InstallMockedSerialMonitor(t) + + // Create test sketches + getSketchPath := func(sketch string) string { + p, err := paths.New("testdata", sketch).Abs() + require.NoError(t, err) + require.True(t, p.IsDir()) + return p.String() + } + sketch := getSketchPath("SketchWithNoProfiles") + sketchWithPort := getSketchPath("SketchWithDefaultPort") + sketchWithFQBN := getSketchPath("SketchWithDefaultFQBN") + sketchWithPortAndFQBN := getSketchPath("SketchWithDefaultPortAndFQBN") + + t.Run("NoFlags", func(t *testing.T) { + t.Run("NoDefaultPortNoDefaultFQBN", func(t *testing.T) { + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "--raw", sketch) + require.Error(t, err) + require.Contains(t, string(stderr), "No monitor available for the port protocol default") + }) + + t.Run("WithDefaultPort", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "--raw", sketchWithPort) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultFQBN", func(t *testing.T) { + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "--raw", sketchWithFQBN) + require.Error(t, err) + require.Contains(t, string(stderr), "No monitor available for the port protocol default") + }) + + t.Run("WithDefaultPortAndQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "--raw", sketchWithPortAndFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = off") + }) + + t.Run("FQBNFromSpecificProfile", func(t *testing.T) { + // The only way to assert we're picking up the fqbn specified from the profile is to provide a wrong value + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "--raw", "--profile", "profile1", sketchWithPortAndFQBN) + require.Error(t, err) + require.Contains(t, string(stderr), "not an FQBN: broken_fqbn") + }) + }) + + t.Run("WithPortFlag", func(t *testing.T) { + t.Run("NoDefaultPortNoDefaultFQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "--raw", sketch) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultPort", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "--raw", sketchWithPort) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultFQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "--raw", sketchWithFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = off") + }) + + t.Run("WithDefaultPortAndQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "--raw", sketchWithPortAndFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = off") + }) + + t.Run("FQBNFromSpecificProfile", func(t *testing.T) { + // The only way to assert we're picking up the fqbn specified from the profile is to provide a wrong value + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "--raw", "--profile", "profile1", sketchWithPortAndFQBN) + require.Error(t, err) + require.Contains(t, string(stderr), "not an FQBN: broken_fqbn") + }) + }) + + t.Run("WithFQBNFlag", func(t *testing.T) { + t.Run("NoDefaultPortNoDefaultFQBN", func(t *testing.T) { + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", sketch) + require.Error(t, err) + require.Contains(t, string(stderr), "No monitor available for the port protocol default") + }) + + t.Run("WithDefaultPort", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", sketchWithPort) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultFQBN", func(t *testing.T) { + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", sketchWithFQBN) + require.Error(t, err) + require.Contains(t, string(stderr), "No monitor available for the port protocol default") + }) + + t.Run("WithDefaultPortAndQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", sketchWithPortAndFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("IgnoreProfile", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", "--profile", "profile1", sketchWithPortAndFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + }) + + t.Run("WithPortAndFQBNFlags", func(t *testing.T) { + t.Run("NoDefaultPortNoDefaultFQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", sketch) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultPort", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", sketchWithPort) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultFQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", sketchWithFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultPortAndQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", sketchWithPortAndFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("IgnoreProfile", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", "--profile", "profile1", sketchWithPortAndFQBN) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + }) +} diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/SketchWithDefaultFQBN.ino b/internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/SketchWithDefaultFQBN.ino new file mode 100644 index 00000000000..5054c040393 --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/SketchWithDefaultFQBN.ino @@ -0,0 +1,3 @@ + +void setup() {} +void loop() {} diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/sketch.yaml b/internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/sketch.yaml new file mode 100644 index 00000000000..19e9541979f --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultFQBN/sketch.yaml @@ -0,0 +1 @@ +default_fqbn: arduino:avr:yun diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPort/SketchWithDefaultPort.ino b/internal/integrationtest/monitor/testdata/SketchWithDefaultPort/SketchWithDefaultPort.ino new file mode 100644 index 00000000000..5054c040393 --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPort/SketchWithDefaultPort.ino @@ -0,0 +1,3 @@ + +void setup() {} +void loop() {} diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPort/sketch.yaml b/internal/integrationtest/monitor/testdata/SketchWithDefaultPort/sketch.yaml new file mode 100644 index 00000000000..5670096124c --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPort/sketch.yaml @@ -0,0 +1 @@ +default_port: /dev/ttyDEF diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/SketchWithDefaultPortAndFQBN.ino b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/SketchWithDefaultPortAndFQBN.ino new file mode 100644 index 00000000000..5054c040393 --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/SketchWithDefaultPortAndFQBN.ino @@ -0,0 +1,3 @@ + +void setup() {} +void loop() {} diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml new file mode 100644 index 00000000000..c8549c21b99 --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml @@ -0,0 +1,5 @@ +default_port: /dev/ttyDEF +default_fqbn: arduino:avr:yun +profiles: + profile1: + fqbn: "broken_fqbn" diff --git a/internal/integrationtest/monitor/testdata/SketchWithNoProfiles/SketchWithNoProfiles.ino b/internal/integrationtest/monitor/testdata/SketchWithNoProfiles/SketchWithNoProfiles.ino new file mode 100644 index 00000000000..5054c040393 --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithNoProfiles/SketchWithNoProfiles.ino @@ -0,0 +1,3 @@ + +void setup() {} +void loop() {} From b7ce9c8b934d5d8fc50a2ad0919f3541bf59d7a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Oct 2023 17:34:40 +0200 Subject: [PATCH 007/361] Bump actions/setup-node from 3 to 4 (#2385) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-node dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-markdown-task.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 12dd65d6c2c..54c3c507db8 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -78,7 +78,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} @@ -104,7 +104,7 @@ jobs: uses: actions/checkout@v4 - name: Setup Node.js - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} From 6753a12fe0ae45324fd370a0987e401ebe2173ab Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Wed, 25 Oct 2023 12:18:10 +0200 Subject: [PATCH 008/361] [BREAKING]: gRPC drop query field from LibrarySearchRequest (#2388) --- commands/lib/search.go | 4 - docs/UPGRADING.md | 4 + rpc/cc/arduino/cli/commands/v1/lib.pb.go | 511 +++++++++++------------ rpc/cc/arduino/cli/commands/v1/lib.proto | 6 +- 4 files changed, 255 insertions(+), 270 deletions(-) diff --git a/commands/lib/search.go b/commands/lib/search.go index 91a8ddaabcb..c9a9182a30c 100644 --- a/commands/lib/search.go +++ b/commands/lib/search.go @@ -40,10 +40,6 @@ func LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.Lib func searchLibrary(req *rpc.LibrarySearchRequest, lm *librariesmanager.LibrariesManager) *rpc.LibrarySearchResponse { res := []*rpc.SearchedLibrary{} query := req.GetSearchArgs() - if query == "" { - query = req.GetQuery() - } - matcher := MatcherFromQueryString(query) for _, lib := range lm.Index.Libraries { diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 7c92c5f336d..2393237290e 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,10 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### gRPC `cc.arduino.cli.commands.v1.LibrarySearchRequest` message has been changed. + +The `query` field has been removed, use `search_args` instead. + ### CLI `core list` and `core search` changed JSON output. Below is an example of the response containing an object with all possible keys set. diff --git a/rpc/cc/arduino/cli/commands/v1/lib.pb.go b/rpc/cc/arduino/cli/commands/v1/lib.pb.go index 252d31df51e..7ef43f22bc9 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/lib.pb.go @@ -1039,15 +1039,11 @@ type LibrarySearchRequest struct { // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Deprecated. Use search_args instead. - // - // Deprecated: Marked as deprecated in cc/arduino/cli/commands/v1/lib.proto. - Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` // Set to true to not populate the releases field in the response (may save a // lot of bandwidth/CPU). - OmitReleasesDetails bool `protobuf:"varint,3,opt,name=omit_releases_details,json=omitReleasesDetails,proto3" json:"omit_releases_details,omitempty"` + OmitReleasesDetails bool `protobuf:"varint,2,opt,name=omit_releases_details,json=omitReleasesDetails,proto3" json:"omit_releases_details,omitempty"` // Keywords for the search. - SearchArgs string `protobuf:"bytes,4,opt,name=search_args,json=searchArgs,proto3" json:"search_args,omitempty"` + SearchArgs string `protobuf:"bytes,3,opt,name=search_args,json=searchArgs,proto3" json:"search_args,omitempty"` } func (x *LibrarySearchRequest) Reset() { @@ -1089,14 +1085,6 @@ func (x *LibrarySearchRequest) GetInstance() *Instance { return nil } -// Deprecated: Marked as deprecated in cc/arduino/cli/commands/v1/lib.proto. -func (x *LibrarySearchRequest) GetQuery() string { - if x != nil { - return x.Query - } - return "" -} - func (x *LibrarySearchRequest) GetOmitReleasesDetails() bool { if x != nil { return x.OmitReleasesDetails @@ -2382,264 +2370,263 @@ var file_cc_arduino_cli_commands_v1_lib_proto_rawDesc = []byte{ 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0xc7, 0x01, 0x0a, 0x14, 0x4c, + 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x12, - 0x32, 0x0a, 0x15, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x6f, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x41, 0x72, 0x67, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, - 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x09, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x06, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf4, 0x03, - 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, - 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, - 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, - 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6f, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x69, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, - 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a, - 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0xae, 0x01, - 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, - 0x62, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x74, - 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x6c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, - 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xf8, - 0x08, 0x0a, 0x07, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, - 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x44, 0x69, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, - 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x44, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x6f, 0x74, 0x41, 0x4c, - 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x65, - 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x64, 0x5f, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x64, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, + 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x06, 0x6c, - 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x12, 0x60, - 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, - 0x68, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, - 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x44, 0x65, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, - 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x5a, 0x69, - 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x61, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x0d, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xf4, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x18, + 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, + 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, + 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0c, 0x64, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x11, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, + 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, + 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x1c, + 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x71, 0x62, 0x6e, 0x22, 0x74, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x13, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x5a, 0x69, - 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, + 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x10, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, + 0x3d, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x44, + 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x22, 0xf8, 0x08, 0x0a, 0x07, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, + 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x69, 0x6c, + 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, + 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x5f, + 0x61, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0b, 0x64, 0x6f, 0x74, 0x41, 0x4c, 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, + 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x19, + 0x0a, 0x08, 0x6c, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, + 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, + 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x69, 0x74, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x2a, 0x61, 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x4c, - 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, - 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x24, - 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, - 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, - 0x49, 0x4e, 0x10, 0x01, 0x2a, 0x5a, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4c, - 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, - 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, - 0x2a, 0x46, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, - 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, - 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x43, - 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x2a, 0xc3, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, - 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, - 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, - 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, - 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, - 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, - 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x54, - 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x1e, - 0x0a, 0x1a, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x04, 0x42, 0x48, - 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x47, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, + 0x75, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, + 0x6f, 0x75, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, + 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, + 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, + 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, + 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, + 0x69, 0x6e, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3d, 0x0a, + 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, + 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, + 0x8e, 0x01, 0x0a, 0x18, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, + 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x22, 0x6a, 0x0a, 0x19, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, + 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, + 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8c, 0x01, 0x0a, + 0x18, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, + 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x47, + 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, + 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, + 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x61, 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, + 0x45, 0x52, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x01, 0x2a, 0x5a, 0x0a, 0x13, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, + 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, + 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, + 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x46, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x49, 0x42, 0x52, 0x41, + 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x10, 0x00, + 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, + 0x55, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x2a, 0xc3, + 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x00, + 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4c, + 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, + 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, + 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, + 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, + 0x49, 0x4e, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, + 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4d, 0x41, 0x4e, 0x41, 0x47, + 0x45, 0x44, 0x10, 0x04, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/lib.proto b/rpc/cc/arduino/cli/commands/v1/lib.proto index dffcf886153..a922a50112b 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.proto +++ b/rpc/cc/arduino/cli/commands/v1/lib.proto @@ -137,13 +137,11 @@ message LibraryDependencyStatus { message LibrarySearchRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; - // Deprecated. Use search_args instead. - string query = 2 [ deprecated = true ]; // Set to true to not populate the releases field in the response (may save a // lot of bandwidth/CPU). - bool omit_releases_details = 3; + bool omit_releases_details = 2; // Keywords for the search. - string search_args = 4; + string search_args = 3; } enum LibrarySearchStatus { From ef72bdeb861b61de865bd2b02f63f45151aacf45 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 25 Oct 2023 18:14:15 +0200 Subject: [PATCH 009/361] Added `programmer` field in debug info output (#2391) * Added `programmer` field to debug info response * Added integration test --- commands/debug/debug_info.go | 1 + internal/cli/debug/debug.go | 2 ++ internal/integrationtest/debug/debug_test.go | 12 ++++++++---- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 15 +++++++++++++-- rpc/cc/arduino/cli/commands/v1/debug.proto | 2 ++ 5 files changed, 26 insertions(+), 6 deletions(-) diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index cd5308ece7c..a8731ab1d6a 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -197,6 +197,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl ToolchainPrefix: debugProperties.Get("toolchain.prefix"), ToolchainConfiguration: &toolchainConfiguration, CortexDebugCustomJson: cortexDebugCustomJson, + Programmer: req.GetProgrammer(), }, nil } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index e7001a2a8d3..756b662cb2e 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -126,6 +126,7 @@ type debugInfoResult struct { ServerConfig any `json:"server_configuration,omitempty"` SvdFile string `json:"svd_file,omitempty"` CortexDebugCustomConfig any `json:"cortex-debug_custom_configuration,omitempty"` + Programmer string `json:"programmer"` } type openOcdServerConfigResult struct { @@ -166,6 +167,7 @@ func newDebugInfoResult(info *rpc.GetDebugConfigResponse) *debugInfoResult { ServerConfig: serverConfig, SvdFile: info.SvdFile, CortexDebugCustomConfig: cortexDebugCustomConfig, + Programmer: info.Programmer, } } diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index 6f7dd422737..0d3a0cc9dbf 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -147,7 +147,8 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli "thb setup", "c" ] - } + }, + "programmer": "atmel_ice" }`) } @@ -189,7 +190,8 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli "thb setup", "c" ] - } + }, + "programmer": "my_cold_ice" }`) { @@ -211,7 +213,8 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli "single-script" ] }, - "svd_file": "svd-file" + "svd_file": "svd-file", + "programmer": "atmel_ice" }`) } @@ -234,7 +237,8 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli "cold_ice_script" ] }, - "svd_file": "svd-file" + "svd_file": "svd-file", + "programmer": "my_cold_ice" }`) } diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index 4dc46f0b13a..ff514779bf5 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -300,6 +300,8 @@ type GetDebugConfigResponse struct { CortexDebugCustomJson string `protobuf:"bytes,9,opt,name=cortex_debug_custom_json,json=cortexDebugCustomJson,proto3" json:"cortex_debug_custom_json,omitempty"` // the SVD file to use SvdFile string `protobuf:"bytes,10,opt,name=svd_file,json=svdFile,proto3" json:"svd_file,omitempty"` + // The programmer specified in the request + Programmer string `protobuf:"bytes,11,opt,name=programmer,proto3" json:"programmer,omitempty"` } func (x *GetDebugConfigResponse) Reset() { @@ -404,6 +406,13 @@ func (x *GetDebugConfigResponse) GetSvdFile() string { return "" } +func (x *GetDebugConfigResponse) GetProgrammer() string { + if x != nil { + return x.Programmer + } + return "" +} + // Configurations specific for the 'gcc' toolchain type DebugGCCToolchainConfiguration struct { state protoimpl.MessageState @@ -556,7 +565,7 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xcd, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xed, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, @@ -585,7 +594,9 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x72, 0x74, 0x65, 0x78, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, + 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index b183abb0410..944250cfd65 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -96,6 +96,8 @@ message GetDebugConfigResponse { string cortex_debug_custom_json = 9; // the SVD file to use string svd_file = 10; + // The programmer specified in the request + string programmer = 11; } // Configurations specific for the 'gcc' toolchain From 0c0573f322c19e31b6619e07065a85703c4fe5e7 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 31 Oct 2023 12:31:57 +0100 Subject: [PATCH 010/361] debug: Enforce programmer selection (#2394) * debug: Enforce programmer selection * Fixed unit tests * Increase code coverage --- commands/debug/debug_info.go | 17 +++++++++-------- commands/debug/debug_test.go | 16 ++++++++++++++++ .../arduino-test/samd/programmers.txt | 1 + 3 files changed, 26 insertions(+), 8 deletions(-) create mode 100644 commands/debug/testdata/custom_hardware/arduino-test/samd/programmers.txt diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index a8731ab1d6a..e32927907b1 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -108,14 +108,15 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } - if req.GetProgrammer() != "" { - if p, ok := platformRelease.Programmers[req.GetProgrammer()]; ok { - toolProperties.Merge(p.Properties) - } else if refP, ok := referencedPlatformRelease.Programmers[req.GetProgrammer()]; ok { - toolProperties.Merge(refP.Properties) - } else { - return nil, &arduino.ProgrammerNotFoundError{Programmer: req.GetProgrammer()} - } + if req.GetProgrammer() == "" { + return nil, &arduino.MissingProgrammerError{} + } + if p, ok := platformRelease.Programmers[req.GetProgrammer()]; ok { + toolProperties.Merge(p.Properties) + } else if refP, ok := referencedPlatformRelease.Programmers[req.GetProgrammer()]; ok { + toolProperties.Merge(refP.Properties) + } else { + return nil, &arduino.ProgrammerNotFoundError{Programmer: req.GetProgrammer()} } var importPath *paths.Path diff --git a/commands/debug/debug_test.go b/commands/debug/debug_test.go index 0b99a105c64..c140a380a6c 100644 --- a/commands/debug/debug_test.go +++ b/commands/debug/debug_test.go @@ -63,6 +63,21 @@ func TestGetCommandLine(t *testing.T) { pm := pmb.Build() pme, release := pm.NewExplorer() defer release() + + { + // Check programmer required + _, err := getCommandLine(req, pme) + require.Error(t, err) + } + + { + // Check programmer not found + req.Programmer = "not-existent" + _, err := getCommandLine(req, pme) + require.Error(t, err) + } + + req.Programmer = "edbg" command, err := getCommandLine(req, pme) require.Nil(t, err) commandToTest := strings.Join(command, " ") @@ -76,6 +91,7 @@ func TestGetCommandLine(t *testing.T) { SketchPath: sketchPath.String(), Interpreter: "mi1", ImportDir: sketchPath.Join("build", "arduino-test.samd.mkr1000").String(), + Programmer: "edbg", } goldCommand2 := fmt.Sprintf("%s/arduino-test/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gdb%s", dataDir, toolExtension) + diff --git a/commands/debug/testdata/custom_hardware/arduino-test/samd/programmers.txt b/commands/debug/testdata/custom_hardware/arduino-test/samd/programmers.txt new file mode 100644 index 00000000000..332ca0d5c51 --- /dev/null +++ b/commands/debug/testdata/custom_hardware/arduino-test/samd/programmers.txt @@ -0,0 +1 @@ +edbg.name=edbg From 64f1853128c67766e0908a275f9827dcc28c4245 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 31 Oct 2023 14:34:20 +0100 Subject: [PATCH 011/361] debug: Allow type-specification of JSON output for cortex-debug (#2393) * debug: Allow type-specification of JSON output for cortex-debug * Improved JSON properties generation --- commands/debug/debug_info.go | 103 ++++++++++++++---- commands/debug/debug_test.go | 97 +++++++++++++++++ docs/platform-specification.md | 31 ++++++ internal/integrationtest/debug/debug_test.go | 26 +++++ .../testdata/hardware/my/samd/boards.txt | 8 ++ 5 files changed, 242 insertions(+), 23 deletions(-) diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index e32927907b1..997145d491d 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -18,7 +18,8 @@ package debug import ( "context" "encoding/json" - "regexp" + "slices" + "strconv" "strings" "github.com/arduino/arduino-cli/arduino" @@ -210,33 +211,89 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl // my.indexed.array.2=third // // into the corresponding JSON arrays. +// If a value should be converted into a JSON type different from string, the value +// may be prefiex with "[boolean]", "[number]", or "[object]": +// +// my.stringValue=a string +// my.booleanValue=[boolean]true +// my.numericValue=[number]20 func convertToJsonMap(in *properties.Map) string { - // XXX: Maybe this method could be a good candidate for propertis.Map? - - // Find the values that should be kept as is, and the indexed arrays - // that should be later converted into arrays. - arraysKeys := map[string]bool{} - stringKeys := []string{} - trailingNumberMatcher := regexp.MustCompile(`^(.*)\.[0-9]+$`) - for _, k := range in.Keys() { - match := trailingNumberMatcher.FindAllStringSubmatch(k, -1) - if len(match) > 0 && len(match[0]) > 1 { - arraysKeys[match[0][1]] = true - } else { - stringKeys = append(stringKeys, k) + data, _ := json.MarshalIndent(convertToRawInterface(in), "", " ") + return string(data) +} + +func allNumerics(in []string) bool { + for _, i := range in { + for _, c := range i { + if c < '0' || c > '9' { + return false + } } } + return true +} - // Compose a map that can be later marshaled into JSON keeping - // the arrays where they are expected to be. - res := map[string]any{} - for _, k := range stringKeys { - res[k] = in.Get(k) +func convertToRawInterface(in *properties.Map) any { + subtrees := in.FirstLevelOf() + keys := in.FirstLevelKeys() + + if allNumerics(keys) { + // Compose an array + res := []any{} + slices.SortFunc(keys, func(x, y string) int { + nx, _ := strconv.Atoi(x) + ny, _ := strconv.Atoi(y) + return nx - ny + }) + for _, k := range keys { + switch { + case subtrees[k] != nil: + res = append(res, convertToRawInterface(subtrees[k])) + default: + res = append(res, convertToRawValue(in.Get(k))) + } + } + return res } - for k := range arraysKeys { - res[k] = in.ExtractSubIndexLists(k) + + // Compose an object + res := map[string]any{} + for _, k := range keys { + switch { + case subtrees[k] != nil: + res[k] = convertToRawInterface(subtrees[k]) + default: + res[k] = convertToRawValue(in.Get(k)) + } } + return res +} - data, _ := json.MarshalIndent(res, "", " ") - return string(data) +func convertToRawValue(v string) any { + switch { + case strings.HasPrefix(v, "[boolean]"): + v = strings.TrimSpace(strings.TrimPrefix(v, "[boolean]")) + if strings.EqualFold(v, "true") { + return true + } else if strings.EqualFold(v, "false") { + return false + } + case strings.HasPrefix(v, "[number]"): + v = strings.TrimPrefix(v, "[number]") + if i, err := strconv.Atoi(v); err == nil { + return i + } else if f, err := strconv.ParseFloat(v, 64); err == nil { + return f + } + case strings.HasPrefix(v, "[object]"): + v = strings.TrimPrefix(v, "[object]") + var o interface{} + if err := json.Unmarshal([]byte(v), &o); err == nil { + return o + } + case strings.HasPrefix(v, "[string]"): + v = strings.TrimPrefix(v, "[string]") + } + // default or conversion error, return string as is + return v } diff --git a/commands/debug/debug_test.go b/commands/debug/debug_test.go index c140a380a6c..fbb61626144 100644 --- a/commands/debug/debug_test.go +++ b/commands/debug/debug_test.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/arduino/cores/packagemanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" + "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -106,3 +107,99 @@ func TestGetCommandLine(t *testing.T) { commandToTest2 := strings.Join(command2, " ") assert.Equal(t, filepath.FromSlash(goldCommand2), filepath.FromSlash(commandToTest2)) } + +func TestConvertToJSONMap(t *testing.T) { + testIn := properties.NewFromHashmap(map[string]string{ + "k": "v", + "string": "[string]aaa", + "bool": "[boolean]true", + "number": "[number]10", + "number2": "[number]10.2", + "object": `[object]{ "key":"value", "bool":true }`, + "array.0": "first", + "array.1": "second", + "array.2": "[boolean]true", + "array.3": "[number]10", + "array.4": `[object]{ "key":"value", "bool":true }`, + "array.5.k": "v", + "array.5.bool": "[boolean]true", + "array.5.number": "[number]10", + "array.5.number2": "[number]10.2", + "array.5.object": `[object]{ "key":"value", "bool":true }`, + "array.6.sub.k": "v", + "array.6.sub.bool": "[boolean]true", + "array.6.sub.number": "[number]10", + "array.6.sub.number2": "[number]10.2", + "array.6.sub.object": `[object]{ "key":"value", "bool":true }`, + "array.7.0": "v", + "array.7.1": "[boolean]true", + "array.7.2": "[number]10", + "array.7.3": "[number]10.2", + "array.7.4": `[object]{ "key":"value", "bool":true }`, + "array.8.array.0": "v", + "array.8.array.1": "[boolean]true", + "array.8.array.2": "[number]10", + "array.8.array.3": "[number]10.2", + "array.8.array.4": `[object]{ "key":"value", "bool":true }`, + "sub.k": "v", + "sub.bool": "[boolean]true", + "sub.number": "[number]10", + "sub.number2": "[number]10.2", + "sub.object": `[object]{ "key":"value", "bool":true }`, + }) + jsonString := convertToJsonMap(testIn) + require.JSONEq(t, `{ + "k": "v", + "string": "aaa", + "bool": true, + "number": 10, + "number2": 10.2, + "object": { "key":"value", "bool":true }, + "array": [ + "first", + "second", + true, + 10, + { "key":"value", "bool":true }, + { + "k": "v", + "bool": true, + "number": 10, + "number2": 10.2, + "object": { "key":"value", "bool":true } + }, + { + "sub": { + "k": "v", + "bool": true, + "number": 10, + "number2": 10.2, + "object": { "key":"value", "bool":true } + } + }, + [ + "v", + true, + 10, + 10.2, + { "key":"value", "bool":true } + ], + { + "array": [ + "v", + true, + 10, + 10.2, + { "key":"value", "bool":true } + ] + } + ], + "sub": { + "k": "v", + "bool": true, + "number": 10, + "number2": 10.2, + "object": { "key":"value", "bool":true } + } + }`, jsonString) +} diff --git a/docs/platform-specification.md b/docs/platform-specification.md index c34047bf8d9..83fbf4279ff 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -1403,6 +1403,37 @@ will result in the following JSON to be merged in the Arduino IDE generated `lau } ``` +All the values are converted by default to a string in the resulting JSON. If another type is needed the value can be +prefixed with the tags `[boolean]`, `[number]`, `[string]` or `[object]` to force a specific type in the JSON. Moreover +the hierarchy of the properties may be used to build JSON objects. For example: + +``` +debug.cortex-debug.custom.aBoolean=[boolean]true +debug.cortex-debug.custom.aNumber=[number]10 +debug.cortex-debug.custom.anotherNumber=[number]10.20 +debug.cortex-debug.custom.anObject=[object]{"key":"value", "boolean":true} +debug.cortex-debug.custom.anotherObject.key=value +debug.cortex-debug.custom.anotherObject.boolean=[boolean]true +``` + +will result in the following JSON: + +```json +{ + "aBoolean": true, + "aNumber": 10, + "anotherNumber": 10.2, + "anObject": { + "boolean": true, + "key": "value" + }, + "anotherObject": { + "boolean": true, + "key": "value" + } +} +``` + ### Optimization level for debugging The compiler optimization level that is appropriate for normal usage will often not provide a good experience while diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index 0d3a0cc9dbf..8c547ba04fa 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -133,6 +133,19 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli }, "svd_file": "svd-file", "cortex-debug_custom_configuration": { + "aBoolean": true, + "aStringBoolean": "true", + "aStringNumber": "10", + "aNumber": 10, + "anotherNumber": 10.2, + "anObject": { + "boolean": true, + "key": "value" + }, + "anotherObject": { + "boolean": true, + "key": "value" + }, "anotherStringParamer": "hellooo", "overrideRestartCommands": [ "monitor reset halt", @@ -176,6 +189,19 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli }, "svd_file": "svd-file", "cortex-debug_custom_configuration": { + "aBoolean": true, + "aStringBoolean": "true", + "aStringNumber": "10", + "aNumber": 10, + "anotherNumber": 10.2, + "anObject": { + "boolean": true, + "key": "value" + }, + "anotherObject": { + "boolean": true, + "key": "value" + }, "anotherStringParamer": "hellooo", "overrideRestartCommands": [ "monitor reset halt", diff --git a/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt b/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt index 987aa196fdd..7a96eac3186 100644 --- a/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt +++ b/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt @@ -44,6 +44,14 @@ my.debug.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync my.debug.cortex-debug.custom.overrideRestartCommands.2=thb setup my.debug.cortex-debug.custom.overrideRestartCommands.3=c my.debug.cortex-debug.custom.anotherStringParamer=hellooo +my.debug.cortex-debug.custom.aBoolean=[boolean]true +my.debug.cortex-debug.custom.aStringBoolean=true +my.debug.cortex-debug.custom.aNumber=[number]10 +my.debug.cortex-debug.custom.anotherNumber=[number]10.20 +my.debug.cortex-debug.custom.aStringNumber=10 +my.debug.cortex-debug.custom.anObject=[object]{"key":"value", "boolean":true} +my.debug.cortex-debug.custom.anotherObject.key=value +my.debug.cortex-debug.custom.anotherObject.boolean=[boolean]true my.debug.svd_file=svd-file my2.name=My Cool Board From d18768323bf16ff81df63c1fd2800e05c5340548 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 31 Oct 2023 15:37:38 +0100 Subject: [PATCH 012/361] debug: Slighlty refactored custom_configs section of GetDebugConfigResponse (#2396) --- commands/debug/debug_info.go | 26 ++--- internal/cli/debug/debug.go | 63 ++++++----- internal/integrationtest/debug/debug_test.go | 112 ++++++++++--------- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 99 +++++++++------- rpc/cc/arduino/cli/commands/v1/debug.proto | 6 +- 5 files changed, 163 insertions(+), 143 deletions(-) diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 997145d491d..10e0e604c37 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -184,22 +184,22 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } - cortexDebugCustomJson := "" + cortexDebugCustomJson := map[string]string{} if cortexDebugProps := debugProperties.SubTree("cortex-debug.custom"); cortexDebugProps.Size() > 0 { - cortexDebugCustomJson = convertToJsonMap(cortexDebugProps) + cortexDebugCustomJson["cortex-debug"] = convertToJsonMap(cortexDebugProps) } return &rpc.GetDebugConfigResponse{ - Executable: debugProperties.Get("executable"), - Server: server, - ServerPath: debugProperties.Get("server." + server + ".path"), - ServerConfiguration: &serverConfiguration, - SvdFile: debugProperties.Get("svd_file"), - Toolchain: toolchain, - ToolchainPath: debugProperties.Get("toolchain.path"), - ToolchainPrefix: debugProperties.Get("toolchain.prefix"), - ToolchainConfiguration: &toolchainConfiguration, - CortexDebugCustomJson: cortexDebugCustomJson, - Programmer: req.GetProgrammer(), + Executable: debugProperties.Get("executable"), + Server: server, + ServerPath: debugProperties.Get("server." + server + ".path"), + ServerConfiguration: &serverConfiguration, + SvdFile: debugProperties.Get("svd_file"), + Toolchain: toolchain, + ToolchainPath: debugProperties.Get("toolchain.path"), + ToolchainPrefix: debugProperties.Get("toolchain.prefix"), + ToolchainConfiguration: &toolchainConfiguration, + CustomConfigurationsJson: cortexDebugCustomJson, + Programmer: req.GetProgrammer(), }, nil } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 756b662cb2e..b5f86b0d84e 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -116,17 +116,17 @@ func runDebugCommand(command *cobra.Command, args []string) { } type debugInfoResult struct { - Executable string `json:"executable,omitempty"` - Toolchain string `json:"toolchain,omitempty"` - ToolchainPath string `json:"toolchain_path,omitempty"` - ToolchainPrefix string `json:"toolchain_prefix,omitempty"` - ToolchainConfig any `json:"toolchain_configuration,omitempty"` - Server string `json:"server,omitempty"` - ServerPath string `json:"server_path,omitempty"` - ServerConfig any `json:"server_configuration,omitempty"` - SvdFile string `json:"svd_file,omitempty"` - CortexDebugCustomConfig any `json:"cortex-debug_custom_configuration,omitempty"` - Programmer string `json:"programmer"` + Executable string `json:"executable,omitempty"` + Toolchain string `json:"toolchain,omitempty"` + ToolchainPath string `json:"toolchain_path,omitempty"` + ToolchainPrefix string `json:"toolchain_prefix,omitempty"` + ToolchainConfig any `json:"toolchain_configuration,omitempty"` + Server string `json:"server,omitempty"` + ServerPath string `json:"server_path,omitempty"` + ServerConfig any `json:"server_configuration,omitempty"` + SvdFile string `json:"svd_file,omitempty"` + CustomConfigs map[string]any `json:"custom_configs,omitempty"` + Programmer string `json:"programmer"` } type openOcdServerConfigResult struct { @@ -150,24 +150,25 @@ func newDebugInfoResult(info *rpc.GetDebugConfigResponse) *debugInfoResult { Scripts: openocdConf.Scripts, } } - var cortexDebugCustomConfig any - if info.CortexDebugCustomJson != "" { - if err := json.Unmarshal([]byte(info.CortexDebugCustomJson), &cortexDebugCustomConfig); err != nil { - feedback.Fatal(tr("Error during Debug: %v", err), feedback.ErrGeneric) + customConfigs := map[string]any{} + for id, configJson := range info.GetCustomConfigurationsJson() { + var config any + if err := json.Unmarshal([]byte(configJson), &config); err == nil { + customConfigs[id] = config } } return &debugInfoResult{ - Executable: info.Executable, - Toolchain: info.Toolchain, - ToolchainPath: info.ToolchainPath, - ToolchainPrefix: info.ToolchainPrefix, - ToolchainConfig: toolchainConfig, - Server: info.Server, - ServerPath: info.ServerPath, - ServerConfig: serverConfig, - SvdFile: info.SvdFile, - CortexDebugCustomConfig: cortexDebugCustomConfig, - Programmer: info.Programmer, + Executable: info.Executable, + Toolchain: info.Toolchain, + ToolchainPath: info.ToolchainPath, + ToolchainPrefix: info.ToolchainPrefix, + ToolchainConfig: toolchainConfig, + Server: info.Server, + ServerPath: info.ServerPath, + ServerConfig: serverConfig, + SvdFile: info.SvdFile, + CustomConfigs: customConfigs, + Programmer: info.Programmer, } } @@ -209,10 +210,12 @@ func (r *debugInfoResult) String() string { } default: } - if r.CortexDebugCustomConfig != nil { - t.AddRow(tr("Custom configuration for cortex-debug IDE plugin:")) - data, _ := json.MarshalIndent(r.CortexDebugCustomConfig, " ", " ") - return t.Render() + " " + string(data) + if custom := r.CustomConfigs; custom != nil { + for id, config := range custom { + configJson, _ := json.MarshalIndent(config, "", " ") + t.AddRow(tr("Custom configuration for %s:", id)) + return t.Render() + " " + string(configJson) + } } return t.Render() } diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index 8c547ba04fa..8d3d972af8f 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -132,34 +132,36 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli ] }, "svd_file": "svd-file", - "cortex-debug_custom_configuration": { - "aBoolean": true, - "aStringBoolean": "true", - "aStringNumber": "10", - "aNumber": 10, - "anotherNumber": 10.2, - "anObject": { - "boolean": true, - "key": "value" - }, - "anotherObject": { - "boolean": true, - "key": "value" + "custom_configs": { + "cortex-debug": { + "aBoolean": true, + "aStringBoolean": "true", + "aStringNumber": "10", + "aNumber": 10, + "anotherNumber": 10.2, + "anObject": { + "boolean": true, + "key": "value" + }, + "anotherObject": { + "boolean": true, + "key": "value" + }, + "anotherStringParamer": "hellooo", + "overrideRestartCommands": [ + "monitor reset halt", + "monitor gdb_sync", + "thb setup", + "c" + ], + "postAttachCommands": [ + "set remote hardware-watchpoint-limit 2", + "monitor reset halt", + "monitor gdb_sync", + "thb setup", + "c" + ] }, - "anotherStringParamer": "hellooo", - "overrideRestartCommands": [ - "monitor reset halt", - "monitor gdb_sync", - "thb setup", - "c" - ], - "postAttachCommands": [ - "set remote hardware-watchpoint-limit 2", - "monitor reset halt", - "monitor gdb_sync", - "thb setup", - "c" - ] }, "programmer": "atmel_ice" }`) @@ -188,34 +190,36 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli ] }, "svd_file": "svd-file", - "cortex-debug_custom_configuration": { - "aBoolean": true, - "aStringBoolean": "true", - "aStringNumber": "10", - "aNumber": 10, - "anotherNumber": 10.2, - "anObject": { - "boolean": true, - "key": "value" - }, - "anotherObject": { - "boolean": true, - "key": "value" + "custom_configs": { + "cortex-debug": { + "aBoolean": true, + "aStringBoolean": "true", + "aStringNumber": "10", + "aNumber": 10, + "anotherNumber": 10.2, + "anObject": { + "boolean": true, + "key": "value" + }, + "anotherObject": { + "boolean": true, + "key": "value" + }, + "anotherStringParamer": "hellooo", + "overrideRestartCommands": [ + "monitor reset halt", + "monitor gdb_sync", + "thb setup", + "c" + ], + "postAttachCommands": [ + "set remote hardware-watchpoint-limit 2", + "monitor reset halt", + "monitor gdb_sync", + "thb setup", + "c" + ] }, - "anotherStringParamer": "hellooo", - "overrideRestartCommands": [ - "monitor reset halt", - "monitor gdb_sync", - "thb setup", - "c" - ], - "postAttachCommands": [ - "set remote hardware-watchpoint-limit 2", - "monitor reset halt", - "monitor gdb_sync", - "thb setup", - "c" - ] }, "programmer": "my_cold_ice" }`) diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index ff514779bf5..b06bf0c1ad1 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -295,9 +295,9 @@ type GetDebugConfigResponse struct { ToolchainConfiguration *anypb.Any `protobuf:"bytes,7,opt,name=toolchain_configuration,json=toolchainConfiguration,proto3" json:"toolchain_configuration,omitempty"` // Extra configuration parameters wrt GDB server ServerConfiguration *anypb.Any `protobuf:"bytes,8,opt,name=server_configuration,json=serverConfiguration,proto3" json:"server_configuration,omitempty"` - // cortex-debug custom JSON configuration, it is provided as is from - // the platform developers. - CortexDebugCustomJson string `protobuf:"bytes,9,opt,name=cortex_debug_custom_json,json=cortexDebugCustomJson,proto3" json:"cortex_debug_custom_json,omitempty"` + // Custom debugger configurations (not handled directly by Arduino CLI but + // provided for 3rd party plugins/debuggers) + CustomConfigurationsJson map[string]string `protobuf:"bytes,9,rep,name=custom_configurations_json,json=customConfigurationsJson,proto3" json:"custom_configurations_json,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // the SVD file to use SvdFile string `protobuf:"bytes,10,opt,name=svd_file,json=svdFile,proto3" json:"svd_file,omitempty"` // The programmer specified in the request @@ -392,11 +392,11 @@ func (x *GetDebugConfigResponse) GetServerConfiguration() *anypb.Any { return nil } -func (x *GetDebugConfigResponse) GetCortexDebugCustomJson() string { +func (x *GetDebugConfigResponse) GetCustomConfigurationsJson() map[string]string { if x != nil { - return x.CortexDebugCustomJson + return x.CustomConfigurationsJson } - return "" + return nil } func (x *GetDebugConfigResponse) GetSvdFile() string { @@ -565,7 +565,7 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xed, 0x03, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x92, 0x05, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, @@ -589,28 +589,39 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x18, 0x63, 0x6f, 0x72, 0x74, 0x65, 0x78, 0x5f, 0x64, 0x65, 0x62, - 0x75, 0x67, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x63, 0x6f, 0x72, 0x74, 0x65, 0x78, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, - 0x76, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, - 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, - 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, 0x72, - 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, - 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x12, 0x8e, 0x01, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6a, 0x73, 0x6f, + 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, + 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x1a, 0x4b, + 0x0a, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, 0x1e, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, + 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x5f, + 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x73, 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x42, + 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, + 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, + 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -625,7 +636,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_debug_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_cc_arduino_cli_commands_v1_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []interface{}{ (*DebugRequest)(nil), // 0: cc.arduino.cli.commands.v1.DebugRequest (*GetDebugConfigRequest)(nil), // 1: cc.arduino.cli.commands.v1.GetDebugConfigRequest @@ -633,21 +644,23 @@ var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []interface{}{ (*GetDebugConfigResponse)(nil), // 3: cc.arduino.cli.commands.v1.GetDebugConfigResponse (*DebugGCCToolchainConfiguration)(nil), // 4: cc.arduino.cli.commands.v1.DebugGCCToolchainConfiguration (*DebugOpenOCDServerConfiguration)(nil), // 5: cc.arduino.cli.commands.v1.DebugOpenOCDServerConfiguration - (*Instance)(nil), // 6: cc.arduino.cli.commands.v1.Instance - (*Port)(nil), // 7: cc.arduino.cli.commands.v1.Port - (*anypb.Any)(nil), // 8: google.protobuf.Any + nil, // 6: cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigurationsJsonEntry + (*Instance)(nil), // 7: cc.arduino.cli.commands.v1.Instance + (*Port)(nil), // 8: cc.arduino.cli.commands.v1.Port + (*anypb.Any)(nil), // 9: google.protobuf.Any } var file_cc_arduino_cli_commands_v1_debug_proto_depIdxs = []int32{ 1, // 0: cc.arduino.cli.commands.v1.DebugRequest.debug_request:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 6, // 1: cc.arduino.cli.commands.v1.GetDebugConfigRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 7, // 2: cc.arduino.cli.commands.v1.GetDebugConfigRequest.port:type_name -> cc.arduino.cli.commands.v1.Port - 8, // 3: cc.arduino.cli.commands.v1.GetDebugConfigResponse.toolchain_configuration:type_name -> google.protobuf.Any - 8, // 4: cc.arduino.cli.commands.v1.GetDebugConfigResponse.server_configuration:type_name -> google.protobuf.Any - 5, // [5:5] is the sub-list for method output_type - 5, // [5:5] is the sub-list for method input_type - 5, // [5:5] is the sub-list for extension type_name - 5, // [5:5] is the sub-list for extension extendee - 0, // [0:5] is the sub-list for field type_name + 7, // 1: cc.arduino.cli.commands.v1.GetDebugConfigRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 8, // 2: cc.arduino.cli.commands.v1.GetDebugConfigRequest.port:type_name -> cc.arduino.cli.commands.v1.Port + 9, // 3: cc.arduino.cli.commands.v1.GetDebugConfigResponse.toolchain_configuration:type_name -> google.protobuf.Any + 9, // 4: cc.arduino.cli.commands.v1.GetDebugConfigResponse.server_configuration:type_name -> google.protobuf.Any + 6, // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse.custom_configurations_json:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigurationsJsonEntry + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_debug_proto_init() } @@ -737,7 +750,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_debug_proto_rawDesc, NumEnums: 0, - NumMessages: 6, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 944250cfd65..3ee564b83e4 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -91,9 +91,9 @@ message GetDebugConfigResponse { google.protobuf.Any toolchain_configuration = 7; // Extra configuration parameters wrt GDB server google.protobuf.Any server_configuration = 8; - // cortex-debug custom JSON configuration, it is provided as is from - // the platform developers. - string cortex_debug_custom_json = 9; + // Custom debugger configurations (not handled directly by Arduino CLI but + // provided for 3rd party plugins/debuggers) + map<string, string> custom_configurations_json = 9; // the SVD file to use string svd_file = 10; // The programmer specified in the request From cc3396fd1a9592aec6f52134cfe585f49cd0f4c5 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 2 Nov 2023 11:35:30 +0100 Subject: [PATCH 013/361] [skip-changelog] Renamed gRPC field to match JSON output (#2398) * Renamed gRPC field to match JSON output * Better comment for custom_configs field * Renamed variable --- commands/debug/debug_info.go | 26 +++---- internal/cli/debug/debug.go | 2 +- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 79 +++++++++++----------- rpc/cc/arduino/cli/commands/v1/debug.proto | 6 +- 4 files changed, 57 insertions(+), 56 deletions(-) diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 10e0e604c37..68727dc77bc 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -184,22 +184,22 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } - cortexDebugCustomJson := map[string]string{} + customConfigs := map[string]string{} if cortexDebugProps := debugProperties.SubTree("cortex-debug.custom"); cortexDebugProps.Size() > 0 { - cortexDebugCustomJson["cortex-debug"] = convertToJsonMap(cortexDebugProps) + customConfigs["cortex-debug"] = convertToJsonMap(cortexDebugProps) } return &rpc.GetDebugConfigResponse{ - Executable: debugProperties.Get("executable"), - Server: server, - ServerPath: debugProperties.Get("server." + server + ".path"), - ServerConfiguration: &serverConfiguration, - SvdFile: debugProperties.Get("svd_file"), - Toolchain: toolchain, - ToolchainPath: debugProperties.Get("toolchain.path"), - ToolchainPrefix: debugProperties.Get("toolchain.prefix"), - ToolchainConfiguration: &toolchainConfiguration, - CustomConfigurationsJson: cortexDebugCustomJson, - Programmer: req.GetProgrammer(), + Executable: debugProperties.Get("executable"), + Server: server, + ServerPath: debugProperties.Get("server." + server + ".path"), + ServerConfiguration: &serverConfiguration, + SvdFile: debugProperties.Get("svd_file"), + Toolchain: toolchain, + ToolchainPath: debugProperties.Get("toolchain.path"), + ToolchainPrefix: debugProperties.Get("toolchain.prefix"), + ToolchainConfiguration: &toolchainConfiguration, + CustomConfigs: customConfigs, + Programmer: req.GetProgrammer(), }, nil } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index b5f86b0d84e..a4385c8e0d8 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -151,7 +151,7 @@ func newDebugInfoResult(info *rpc.GetDebugConfigResponse) *debugInfoResult { } } customConfigs := map[string]any{} - for id, configJson := range info.GetCustomConfigurationsJson() { + for id, configJson := range info.GetCustomConfigs() { var config any if err := json.Unmarshal([]byte(configJson), &config); err == nil { customConfigs[id] = config diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index b06bf0c1ad1..d77de884b49 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -296,8 +296,10 @@ type GetDebugConfigResponse struct { // Extra configuration parameters wrt GDB server ServerConfiguration *anypb.Any `protobuf:"bytes,8,opt,name=server_configuration,json=serverConfiguration,proto3" json:"server_configuration,omitempty"` // Custom debugger configurations (not handled directly by Arduino CLI but - // provided for 3rd party plugins/debuggers) - CustomConfigurationsJson map[string]string `protobuf:"bytes,9,rep,name=custom_configurations_json,json=customConfigurationsJson,proto3" json:"custom_configurations_json,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // provided for 3rd party plugins/debuggers). The map keys identifies which + // 3rd party plugin/debugger is referred, the map string values contains a + // JSON configuration for it. + CustomConfigs map[string]string `protobuf:"bytes,9,rep,name=custom_configs,json=customConfigs,proto3" json:"custom_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // the SVD file to use SvdFile string `protobuf:"bytes,10,opt,name=svd_file,json=svdFile,proto3" json:"svd_file,omitempty"` // The programmer specified in the request @@ -392,9 +394,9 @@ func (x *GetDebugConfigResponse) GetServerConfiguration() *anypb.Any { return nil } -func (x *GetDebugConfigResponse) GetCustomConfigurationsJson() map[string]string { +func (x *GetDebugConfigResponse) GetCustomConfigs() map[string]string { if x != nil { - return x.CustomConfigurationsJson + return x.CustomConfigs } return nil } @@ -565,7 +567,7 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x92, 0x05, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe4, 0x04, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, @@ -589,39 +591,36 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x8e, 0x01, 0x0a, 0x1a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6a, 0x73, 0x6f, - 0x6e, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x18, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, - 0x73, 0x6f, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x1a, 0x4b, - 0x0a, 0x1d, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0x73, 0x6f, 0x6e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, 0x1e, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, - 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x5f, - 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x73, 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x42, - 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, - 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, - 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, + 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, + 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, + 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -644,7 +643,7 @@ var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []interface{}{ (*GetDebugConfigResponse)(nil), // 3: cc.arduino.cli.commands.v1.GetDebugConfigResponse (*DebugGCCToolchainConfiguration)(nil), // 4: cc.arduino.cli.commands.v1.DebugGCCToolchainConfiguration (*DebugOpenOCDServerConfiguration)(nil), // 5: cc.arduino.cli.commands.v1.DebugOpenOCDServerConfiguration - nil, // 6: cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigurationsJsonEntry + nil, // 6: cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry (*Instance)(nil), // 7: cc.arduino.cli.commands.v1.Instance (*Port)(nil), // 8: cc.arduino.cli.commands.v1.Port (*anypb.Any)(nil), // 9: google.protobuf.Any @@ -655,7 +654,7 @@ var file_cc_arduino_cli_commands_v1_debug_proto_depIdxs = []int32{ 8, // 2: cc.arduino.cli.commands.v1.GetDebugConfigRequest.port:type_name -> cc.arduino.cli.commands.v1.Port 9, // 3: cc.arduino.cli.commands.v1.GetDebugConfigResponse.toolchain_configuration:type_name -> google.protobuf.Any 9, // 4: cc.arduino.cli.commands.v1.GetDebugConfigResponse.server_configuration:type_name -> google.protobuf.Any - 6, // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse.custom_configurations_json:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigurationsJsonEntry + 6, // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse.custom_configs:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry 6, // [6:6] is the sub-list for method output_type 6, // [6:6] is the sub-list for method input_type 6, // [6:6] is the sub-list for extension type_name diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 3ee564b83e4..1b1f8441497 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -92,8 +92,10 @@ message GetDebugConfigResponse { // Extra configuration parameters wrt GDB server google.protobuf.Any server_configuration = 8; // Custom debugger configurations (not handled directly by Arduino CLI but - // provided for 3rd party plugins/debuggers) - map<string, string> custom_configurations_json = 9; + // provided for 3rd party plugins/debuggers). The map keys identifies which + // 3rd party plugin/debugger is referred, the map string values contains a + // JSON configuration for it. + map<string, string> custom_configs = 9; // the SVD file to use string svd_file = 10; // The programmer specified in the request From aeac3055b1c4b3f688a2d58561e02ba4ca8dfae3 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 3 Nov 2023 16:56:30 +0100 Subject: [PATCH 014/361] feat: added exit codes for CLI `daemon` command errors (#2400) * Added error code for daemon failing to listen to TCP port * Better handling of daemon random port selection --- internal/cli/daemon/daemon.go | 22 +++++++++++----------- internal/cli/feedback/errorcodes.go | 7 +++++++ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 5024f4255d0..bed30fcead5 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -121,33 +121,33 @@ func runDaemonCommand(cmd *cobra.Command, args []string) { // Invalid port, such as "Foo" var dnsError *net.DNSError if errors.As(err, &dnsError) { - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is unknown name.", port, dnsError.Name), feedback.ErrCoreConfig) + feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is unknown name.", port, dnsError.Name), feedback.ErrBadTCPPortArgument) } // Invalid port number, such as -1 var addrError *net.AddrError if errors.As(err, &addrError) { - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is an invalid port.", port, addrError.Addr), feedback.ErrCoreConfig) + feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is an invalid port.", port, addrError.Addr), feedback.ErrBadTCPPortArgument) } // Port is already in use var syscallErr *os.SyscallError if errors.As(err, &syscallErr) && errors.Is(syscallErr.Err, syscall.EADDRINUSE) { - feedback.Fatal(tr("Failed to listen on TCP port: %s. Address already in use.", port), feedback.ErrNetwork) + feedback.Fatal(tr("Failed to listen on TCP port: %s. Address already in use.", port), feedback.ErrFailedToListenToTCPPort) } - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v", port, err), feedback.ErrGeneric) + feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v", port, err), feedback.ErrFailedToListenToTCPPort) } - // We need to parse the port used only if the user let - // us choose it randomly, in all other cases we already - // know which is used. + // We need to retrieve the port used only if the user did not specify it + // and let the OS choose it randomly, in all other cases we already know + // which port is used. if port == "0" { address := lis.Addr() split := strings.Split(address.String(), ":") - if len(split) == 0 { - feedback.Fatal(tr("Invalid TCP address: port is missing"), feedback.ErrBadArgument) + if len(split) <= 1 { + feedback.Fatal(tr("Invalid TCP address: port is missing"), feedback.ErrBadTCPPortArgument) } - port = split[len(split)-1] + port = split[1] } feedback.PrintResult(daemonResult{ @@ -156,7 +156,7 @@ func runDaemonCommand(cmd *cobra.Command, args []string) { }) if err := s.Serve(lis); err != nil { - logrus.Fatalf("Failed to serve: %v", err) + feedback.Fatal(fmt.Sprintf("Failed to serve: %v", err), feedback.ErrFailedToListenToTCPPort) } } diff --git a/internal/cli/feedback/errorcodes.go b/internal/cli/feedback/errorcodes.go index 1e1a0edf19e..75cae306279 100644 --- a/internal/cli/feedback/errorcodes.go +++ b/internal/cli/feedback/errorcodes.go @@ -42,4 +42,11 @@ const ( // ErrBadArgument is returned when the arguments are not valid (7) ErrBadArgument + + // ErrFailedToListenToTCPPort is returned if the CLI failed to open a TCP port + // to listen for incoming connections (8) + ErrFailedToListenToTCPPort + + // ErrBadTCPPortArgument is returned if the TCP port argument is not valid (9) + ErrBadTCPPortArgument ) From 4ad18ff56d9453b61abfbad359dfc9bc4e1a19cb Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Mon, 6 Nov 2023 16:40:43 +0100 Subject: [PATCH 015/361] Use feedback/result structs in cli commands instead of rpc ones (#2389) --- internal/cli/board/details.go | 23 +- internal/cli/board/list.go | 68 +- internal/cli/board/listall.go | 20 +- internal/cli/board/search.go | 18 +- internal/cli/compile/compile.go | 61 +- internal/cli/core/list.go | 4 +- internal/cli/core/search.go | 4 +- internal/cli/feedback/result/rpc.go | 880 ++++++++++++++++++++++- internal/cli/feedback/result/rpc_test.go | 249 +++++++ internal/cli/lib/check_deps.go | 25 +- internal/cli/lib/examples.go | 13 +- internal/cli/lib/list.go | 20 +- internal/cli/lib/search.go | 38 +- internal/cli/monitor/monitor.go | 15 +- internal/cli/outdated/outdated.go | 27 +- internal/cli/sketch/new.go | 14 +- internal/cli/upload/upload.go | 9 +- 17 files changed, 1322 insertions(+), 166 deletions(-) create mode 100644 internal/cli/feedback/result/rpc_test.go diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 52bde9c0872..6ce3ed7143c 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -23,6 +23,7 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -74,7 +75,7 @@ func runDetailsCommand(fqbn string, showFullDetails, listProgrammers bool, showP } feedback.PrintResult(detailsResult{ - details: res, + details: result.NewBoardDetailsResponse(res), listProgrammers: listProgrammers, showFullDetails: showFullDetails, showProperties: showPropertiesMode != arguments.ShowPropertiesDisabled, @@ -84,7 +85,7 @@ func runDetailsCommand(fqbn string, showFullDetails, listProgrammers bool, showP // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type detailsResult struct { - details *rpc.BoardDetailsResponse + details *result.BoardDetailsResponse listProgrammers bool showFullDetails bool showProperties bool @@ -99,7 +100,7 @@ func (dr detailsResult) String() string { if dr.showProperties { res := "" - for _, prop := range details.GetBuildProperties() { + for _, prop := range details.BuildProperties { res += fmt.Sprintln(prop) } return res @@ -109,7 +110,7 @@ func (dr detailsResult) String() string { t := table.New() t.AddRow(tr("Id"), tr("Programmer name")) for _, programmer := range details.Programmers { - t.AddRow(programmer.GetId(), programmer.GetName()) + t.AddRow(programmer.Id, programmer.Name) } return t.Render() } @@ -138,7 +139,7 @@ func (dr detailsResult) String() string { t.AddRow(tr("Board name:"), details.Name) t.AddRow(tr("FQBN:"), details.Fqbn) addIfNotEmpty(tr("Board version:"), details.Version) - if details.GetDebuggingSupported() { + if details.DebuggingSupported { t.AddRow(tr("Debugging supported:"), table.NewCell("✔", color.New(color.FgGreen))) } @@ -148,11 +149,15 @@ func (dr detailsResult) String() string { table.NewCell("✔", color.New(color.FgGreen))) } - for _, idp := range details.GetIdentificationProperties() { + for _, idp := range details.IdentificationProperties { + if idp.Properties == nil { + continue + } t.AddRow() // get some space from above header := tr("Identification properties:") - for k, v := range idp.GetProperties() { - t.AddRow(header, k+"="+v) + keys := idp.Properties.Keys() + for _, k := range keys { + t.AddRow(header, k+"="+idp.Properties.Get(k)) header = "" } } @@ -213,7 +218,7 @@ func (dr detailsResult) String() string { tab.AddRow(tr("Programmers:"), tr("ID"), tr("Name")) for _, programmer := range details.Programmers { - tab.AddRow("", programmer.GetId(), programmer.GetName()) + tab.AddRow("", programmer.Id, programmer.Name) } return t.Render() + tab.Render() diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 65b0bd5e04d..82f2b9b74d2 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -27,6 +27,7 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -81,7 +82,8 @@ func runListCommand(watch bool, timeout int64, fqbn string) { for _, err := range discoveryErrors { feedback.Warning(tr("Error starting discovery: %v", err)) } - feedback.PrintResult(result{ports}) + + feedback.PrintResult(listResult{result.NewDetectedPorts(ports)}) } func watchList(inst *rpc.Instance) { @@ -98,58 +100,60 @@ func watchList(inst *rpc.Instance) { } for event := range eventsChan { - feedback.PrintResult(watchEvent{ - Type: event.EventType, - Boards: event.Port.MatchingBoards, - Port: event.Port.Port, - Error: event.Error, - }) + if res := result.NewBoardListWatchResponse(event); res != nil { + feedback.PrintResult(watchEventResult{ + Type: res.EventType, + Boards: res.Port.MatchingBoards, + Port: res.Port.Port, + Error: res.Error, + }) + } } } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation -type result struct { - ports []*rpc.DetectedPort +type listResult struct { + ports []*result.DetectedPort } -func (dr result) Data() interface{} { +func (dr listResult) Data() interface{} { return dr.ports } -func (dr result) String() string { +func (dr listResult) String() string { if len(dr.ports) == 0 { return tr("No boards found.") } sort.Slice(dr.ports, func(i, j int) bool { x, y := dr.ports[i].Port, dr.ports[j].Port - return x.GetProtocol() < y.GetProtocol() || - (x.GetProtocol() == y.GetProtocol() && x.GetAddress() < y.GetAddress()) + return x.Protocol < y.Protocol || + (x.Protocol == y.Protocol && x.Address < y.Address) }) t := table.New() t.SetHeader(tr("Port"), tr("Protocol"), tr("Type"), tr("Board Name"), tr("FQBN"), tr("Core")) for _, detectedPort := range dr.ports { port := detectedPort.Port - protocol := port.GetProtocol() - address := port.GetAddress() - if port.GetProtocol() == "serial" { - address = port.GetAddress() + protocol := port.Protocol + address := port.Address + if port.Protocol == "serial" { + address = port.Address } - protocolLabel := port.GetProtocolLabel() - if boards := detectedPort.GetMatchingBoards(); len(boards) > 0 { + protocolLabel := port.ProtocolLabel + if boards := detectedPort.MatchingBoards; len(boards) > 0 { sort.Slice(boards, func(i, j int) bool { x, y := boards[i], boards[j] - return x.GetName() < y.GetName() || (x.GetName() == y.GetName() && x.GetFqbn() < y.GetFqbn()) + return x.Name < y.Name || (x.Name == y.Name && x.Fqbn < y.Fqbn) }) for _, b := range boards { - board := b.GetName() + board := b.Name // to improve the user experience, show on a dedicated column // the name of the core supporting the board detected var coreName = "" - fqbn, err := cores.ParseFQBN(b.GetFqbn()) + fqbn, err := cores.ParseFQBN(b.Fqbn) if err == nil { coreName = fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch) } @@ -170,18 +174,18 @@ func (dr result) String() string { return t.Render() } -type watchEvent struct { - Type string `json:"eventType"` - Boards []*rpc.BoardListItem `json:"matching_boards,omitempty"` - Port *rpc.Port `json:"port,omitempty"` - Error string `json:"error,omitempty"` +type watchEventResult struct { + Type string `json:"eventType"` + Boards []*result.BoardListItem `json:"matching_boards,omitempty"` + Port *result.Port `json:"port,omitempty"` + Error string `json:"error,omitempty"` } -func (dr watchEvent) Data() interface{} { +func (dr watchEventResult) Data() interface{} { return dr } -func (dr watchEvent) String() string { +func (dr watchEventResult) String() string { t := table.New() event := map[string]string{ @@ -197,15 +201,15 @@ func (dr watchEvent) String() string { if boards := dr.Boards; len(boards) > 0 { sort.Slice(boards, func(i, j int) bool { x, y := boards[i], boards[j] - return x.GetName() < y.GetName() || (x.GetName() == y.GetName() && x.GetFqbn() < y.GetFqbn()) + return x.Name < y.Name || (x.Name == y.Name && x.Fqbn < y.Fqbn) }) for _, b := range boards { - board := b.GetName() + board := b.Name // to improve the user experience, show on a dedicated column // the name of the core supporting the board detected var coreName = "" - fqbn, err := cores.ParseFQBN(b.GetFqbn()) + fqbn, err := cores.ParseFQBN(b.Fqbn) if err == nil { coreName = fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch) } diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index 0f47cba710a..74167c2014d 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -23,6 +23,7 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/feedback" + fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -63,13 +64,13 @@ func runListAllCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Error listing boards: %v", err), feedback.ErrGeneric) } - feedback.PrintResult(resultAll{list}) + feedback.PrintResult(resultAll{fResult.NewBoardListAllResponse(list)}) } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type resultAll struct { - list *rpc.BoardListAllResponse + list *fResult.BoardListAllResponse } func (dr resultAll) Data() interface{} { @@ -77,18 +78,23 @@ func (dr resultAll) Data() interface{} { } func (dr resultAll) String() string { + t := table.New() + t.SetHeader(tr("Board Name"), tr("FQBN"), "") + + if dr.list == nil || len(dr.list.Boards) == 0 { + return t.Render() + } + sort.Slice(dr.list.Boards, func(i, j int) bool { - return dr.list.Boards[i].GetName() < dr.list.Boards[j].GetName() + return dr.list.Boards[i].Name < dr.list.Boards[j].Name }) - t := table.New() - t.SetHeader(tr("Board Name"), tr("FQBN"), "") - for _, item := range dr.list.GetBoards() { + for _, item := range dr.list.Boards { hidden := "" if item.IsHidden { hidden = tr("(hidden)") } - t.AddRow(item.GetName(), item.GetFqbn(), hidden) + t.AddRow(item.Name, item.Fqbn, hidden) } return t.Render() } diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index efa3f945662..9f8133fd80c 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/feedback" + fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -60,13 +61,13 @@ func runSearchCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Error searching boards: %v", err), feedback.ErrGeneric) } - feedback.PrintResult(searchResults{res.Boards}) + feedback.PrintResult(searchResults{fResult.NewBoardListItems(res.Boards)}) } // output from this command requires special formatting so we create a dedicated // feedback.Result implementation type searchResults struct { - boards []*rpc.BoardListItem + boards []*fResult.BoardListItem } func (r searchResults) Data() interface{} { @@ -74,18 +75,23 @@ func (r searchResults) Data() interface{} { } func (r searchResults) String() string { - sort.Slice(r.boards, func(i, j int) bool { - return r.boards[i].GetName() < r.boards[j].GetName() - }) + if len(r.boards) == 0 { + return "" + } t := table.New() t.SetHeader(tr("Board Name"), tr("FQBN"), tr("Platform ID"), "") + + sort.Slice(r.boards, func(i, j int) bool { + return r.boards[i].Name < r.boards[j].Name + }) + for _, item := range r.boards { hidden := "" if item.IsHidden { hidden = tr("(hidden)") } - t.AddRow(item.GetName(), item.GetFqbn(), item.Platform.Metadata.Id, hidden) + t.AddRow(item.Name, item.Fqbn, item.Platform.Metadata.Id, hidden) } return t.Render() } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index a26a90eceb6..8f371d5b060 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -33,6 +33,7 @@ import ( "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -340,10 +341,12 @@ func runCompileCommand(cmd *cobra.Command, args []string) { stdIO := stdIORes() res := &compileResult{ - CompilerOut: stdIO.Stdout, - CompilerErr: stdIO.Stderr, - BuilderResult: compileRes, - UploadResult: uploadRes, + CompilerOut: stdIO.Stdout, + CompilerErr: stdIO.Stderr, + BuilderResult: result.NewCompileResponse(compileRes), + UploadResult: updatedUploadPortResult{ + UpdatedUploadPort: result.NewPort(uploadRes.GetUpdatedUploadPort()), + }, ProfileOut: profileOut, Success: compileError == nil, showPropertiesMode: showProperties, @@ -384,14 +387,18 @@ func runCompileCommand(cmd *cobra.Command, args []string) { feedback.PrintResult(res) } +type updatedUploadPortResult struct { + UpdatedUploadPort *result.Port `json:"updated_upload_port,omitempty"` +} + type compileResult struct { - CompilerOut string `json:"compiler_out"` - CompilerErr string `json:"compiler_err"` - BuilderResult *rpc.CompileResponse `json:"builder_result"` - UploadResult *rpc.UploadResult `json:"upload_result"` - Success bool `json:"success"` - ProfileOut string `json:"profile_out,omitempty"` - Error string `json:"error,omitempty"` + CompilerOut string `json:"compiler_out"` + CompilerErr string `json:"compiler_err"` + BuilderResult *result.CompileResponse `json:"builder_result"` + UploadResult updatedUploadPortResult `json:"upload_result"` + Success bool `json:"success"` + ProfileOut string `json:"profile_out,omitempty"` + Error string `json:"error,omitempty"` showPropertiesMode arguments.ShowPropertiesMode hideStats bool @@ -402,8 +409,8 @@ func (r *compileResult) Data() interface{} { } func (r *compileResult) String() string { - if r.showPropertiesMode != arguments.ShowPropertiesDisabled { - return strings.Join(r.BuilderResult.GetBuildProperties(), fmt.Sprintln()) + if r.BuilderResult != nil && r.showPropertiesMode != arguments.ShowPropertiesDisabled { + return strings.Join(r.BuilderResult.BuildProperties, fmt.Sprintln()) } if r.hideStats { @@ -419,38 +426,38 @@ func (r *compileResult) String() string { if r.CompilerOut != "" || r.CompilerErr != "" { res += fmt.Sprintln() } - if len(build.GetUsedLibraries()) > 0 { + if build != nil && len(build.UsedLibraries) > 0 { libraries := table.New() libraries.SetHeader( table.NewCell(tr("Used library"), titleColor), table.NewCell(tr("Version"), titleColor), table.NewCell(tr("Path"), pathColor)) - for _, l := range build.GetUsedLibraries() { + for _, l := range build.UsedLibraries { libraries.AddRow( - table.NewCell(l.GetName(), nameColor), - l.GetVersion(), - table.NewCell(l.GetInstallDir(), pathColor)) + table.NewCell(l.Name, nameColor), + l.Version, + table.NewCell(l.InstallDir, pathColor)) } res += fmt.Sprintln(libraries.Render()) } - - if boardPlatform := build.GetBoardPlatform(); boardPlatform != nil { + if build != nil && build.BoardPlatform != nil { + boardPlatform := build.BoardPlatform platforms := table.New() platforms.SetHeader( table.NewCell(tr("Used platform"), titleColor), table.NewCell(tr("Version"), titleColor), table.NewCell(tr("Path"), pathColor)) platforms.AddRow( - table.NewCell(boardPlatform.GetId(), nameColor), - boardPlatform.GetVersion(), - table.NewCell(boardPlatform.GetInstallDir(), pathColor)) - if buildPlatform := build.GetBuildPlatform(); buildPlatform != nil && + table.NewCell(boardPlatform.Id, nameColor), + boardPlatform.Version, + table.NewCell(boardPlatform.InstallDir, pathColor)) + if buildPlatform := build.BuildPlatform; buildPlatform != nil && buildPlatform.Id != boardPlatform.Id && buildPlatform.Version != boardPlatform.Version { platforms.AddRow( - table.NewCell(buildPlatform.GetId(), nameColor), - buildPlatform.GetVersion(), - table.NewCell(buildPlatform.GetInstallDir(), pathColor)) + table.NewCell(buildPlatform.Id, nameColor), + buildPlatform.Version, + table.NewCell(buildPlatform.InstallDir, pathColor)) } res += fmt.Sprintln(platforms.Render()) } diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 4242fa6d7a9..1adda2f26bc 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -91,13 +91,13 @@ func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSu func newCoreListResult(in []*rpc.PlatformSummary) *coreListResult { res := &coreListResult{} for _, platformSummary := range in { - res.platforms = append(res.platforms, result.NewPlatformResult(platformSummary)) + res.platforms = append(res.platforms, result.NewPlatformSummary(platformSummary)) } return res } type coreListResult struct { - platforms []*result.Platform + platforms []*result.PlatformSummary } // Data implements Result interface diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 78e02ddf400..30d4f749759 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -88,13 +88,13 @@ func runSearchCommand(cmd *cobra.Command, args []string) { // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type searchResults struct { - platforms []*result.Platform + platforms []*result.PlatformSummary } func newSearchResult(in []*rpc.PlatformSummary) *searchResults { res := &searchResults{} for _, platformSummary := range in { - res.platforms = append(res.platforms, result.NewPlatformResult(platformSummary)) + res.platforms = append(res.platforms, result.NewPlatformSummary(platformSummary)) } return res } diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index b6bdb636706..6b19c138a6d 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -16,35 +16,41 @@ package result import ( + "cmp" + "github.com/arduino/arduino-cli/internal/orderedmap" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) -// NewPlatformResult creates a new result.Platform from rpc.PlatformSummary -func NewPlatformResult(in *rpc.PlatformSummary) *Platform { +// NewPlatformSummary creates a new result.PlatformSummary from rpc.PlatformSummary +func NewPlatformSummary(in *rpc.PlatformSummary) *PlatformSummary { + if in == nil { + return nil + } + releases := orderedmap.NewWithConversionFunc[*semver.Version, *PlatformRelease, string]((*semver.Version).String) - for k, v := range in.Releases { - releases.Set(semver.MustParse(k), NewPlatformReleaseResult(v)) + for k, v := range in.GetReleases() { + releases.Set(semver.MustParse(k), NewPlatformRelease(v)) } releases.SortKeys((*semver.Version).CompareTo) - return &Platform{ - Id: in.Metadata.Id, - Maintainer: in.Metadata.Maintainer, - Website: in.Metadata.Website, - Email: in.Metadata.Email, - ManuallyInstalled: in.Metadata.ManuallyInstalled, - Deprecated: in.Metadata.Deprecated, - Indexed: in.Metadata.Indexed, + return &PlatformSummary{ + Id: in.GetMetadata().GetId(), + Maintainer: in.GetMetadata().GetMaintainer(), + Website: in.GetMetadata().GetWebsite(), + Email: in.GetMetadata().GetEmail(), + ManuallyInstalled: in.GetMetadata().GetManuallyInstalled(), + Deprecated: in.GetMetadata().GetDeprecated(), + Indexed: in.GetMetadata().GetIndexed(), Releases: releases, - InstalledVersion: semver.MustParse(in.InstalledVersion), - LatestVersion: semver.MustParse(in.LatestVersion), + InstalledVersion: semver.MustParse(in.GetInstalledVersion()), + LatestVersion: semver.MustParse(in.GetLatestVersion()), } } -// Platform maps a rpc.Platform -type Platform struct { +// PlatformSummary maps a rpc.PlatformSummary +type PlatformSummary struct { Id string `json:"id,omitempty"` Maintainer string `json:"maintainer,omitempty"` Website string `json:"website,omitempty"` @@ -60,17 +66,20 @@ type Platform struct { } // GetLatestRelease returns the latest relase of this platform or nil if none available. -func (p *Platform) GetLatestRelease() *PlatformRelease { +func (p *PlatformSummary) GetLatestRelease() *PlatformRelease { return p.Releases.Get(p.LatestVersion) } // GetInstalledRelease returns the installed relase of this platform or nil if none available. -func (p *Platform) GetInstalledRelease() *PlatformRelease { +func (p *PlatformSummary) GetInstalledRelease() *PlatformRelease { return p.Releases.Get(p.InstalledVersion) } -// NewPlatformReleaseResult creates a new result.PlatformRelease from rpc.PlatformRelease -func NewPlatformReleaseResult(in *rpc.PlatformRelease) *PlatformRelease { +// NewPlatformRelease creates a new result.PlatformRelease from rpc.PlatformRelease +func NewPlatformRelease(in *rpc.PlatformRelease) *PlatformRelease { + if in == nil { + return nil + } var boards []*Board for _, board := range in.Boards { boards = append(boards, &Board{ @@ -119,3 +128,834 @@ type Board struct { type HelpResource struct { Online string `json:"online,omitempty"` } + +type InstalledLibrary struct { + Library *Library `json:"library,omitempty"` + Release *LibraryRelease `json:"release,omitempty"` +} + +type LibraryLocation string + +const ( + LibraryLocationUser LibraryLocation = "user" + LibraryLocationIDEBuiltin LibraryLocation = "ide" + LibraryLocationPlatformBuiltin LibraryLocation = "platform" + LibraryLocationReferencedPlatformBuiltin LibraryLocation = "ref-platform" + LibraryLocationUnmanged LibraryLocation = "unmanaged" +) + +func NewLibraryLocation(r rpc.LibraryLocation) LibraryLocation { + switch r { + case rpc.LibraryLocation_LIBRARY_LOCATION_BUILTIN: + return LibraryLocationIDEBuiltin + case rpc.LibraryLocation_LIBRARY_LOCATION_PLATFORM_BUILTIN: + return LibraryLocationPlatformBuiltin + case rpc.LibraryLocation_LIBRARY_LOCATION_REFERENCED_PLATFORM_BUILTIN: + return LibraryLocationReferencedPlatformBuiltin + case rpc.LibraryLocation_LIBRARY_LOCATION_USER: + return LibraryLocationUser + case rpc.LibraryLocation_LIBRARY_LOCATION_UNMANAGED: + return LibraryLocationUnmanged + } + return LibraryLocationIDEBuiltin +} + +type LibraryLayout string + +const ( + LibraryLayoutFlat LibraryLayout = "flat" + LibraryLayoutRecursive LibraryLayout = "recursive" +) + +func NewLibraryLayout(r rpc.LibraryLayout) LibraryLayout { + switch r { + case rpc.LibraryLayout_LIBRARY_LAYOUT_FLAT: + return LibraryLayoutFlat + case rpc.LibraryLayout_LIBRARY_LAYOUT_RECURSIVE: + return LibraryLayoutRecursive + } + return LibraryLayoutFlat +} + +type Library struct { + Name string `json:"name,omitempty"` + Author string `json:"author,omitempty"` + Maintainer string `json:"maintainer,omitempty"` + Sentence string `json:"sentence,omitempty"` + Paragraph string `json:"paragraph,omitempty"` + Website string `json:"website,omitempty"` + Category string `json:"category,omitempty"` + Architectures []string `json:"architectures,omitempty"` + Types []string `json:"types,omitempty"` + InstallDir string `json:"install_dir,omitempty"` + SourceDir string `json:"source_dir,omitempty"` + UtilityDir string `json:"utility_dir,omitempty"` + ContainerPlatform string `json:"container_platform,omitempty"` + DotALinkage bool `json:"dot_a_linkage,omitempty"` + Precompiled bool `json:"precompiled,omitempty"` + LdFlags string `json:"ld_flags,omitempty"` + IsLegacy bool `json:"is_legacy,omitempty"` + Version string `json:"version,omitempty"` + License string `json:"license,omitempty"` + Properties orderedmap.Map[string, string] `json:"properties,omitempty"` + Location LibraryLocation `json:"location,omitempty"` + Layout LibraryLayout `json:"layout,omitempty"` + Examples []string `json:"examples,omitempty"` + ProvidesIncludes []string `json:"provides_includes,omitempty"` + CompatibleWith orderedmap.Map[string, bool] `json:"compatible_with,omitempty"` + InDevelopment bool `json:"in_development,omitempty"` +} + +func NewLibrary(l *rpc.Library) *Library { + if l == nil { + return nil + } + libraryPropsMap := orderedmap.New[string, string]() + for k, v := range l.GetProperties() { + libraryPropsMap.Set(k, v) + } + libraryPropsMap.SortStableKeys(cmp.Compare) + + libraryCompatibleWithMap := orderedmap.New[string, bool]() + for k, v := range l.GetCompatibleWith() { + libraryCompatibleWithMap.Set(k, v) + } + libraryCompatibleWithMap.SortStableKeys(cmp.Compare) + + return &Library{ + Name: l.GetName(), + Author: l.GetAuthor(), + Maintainer: l.GetMaintainer(), + Sentence: l.GetSentence(), + Paragraph: l.GetParagraph(), + Website: l.GetWebsite(), + Category: l.GetCategory(), + Architectures: l.GetArchitectures(), + Types: l.GetTypes(), + InstallDir: l.GetInstallDir(), + SourceDir: l.GetSourceDir(), + UtilityDir: l.GetUtilityDir(), + ContainerPlatform: l.GetContainerPlatform(), + DotALinkage: l.GetDotALinkage(), + Precompiled: l.GetPrecompiled(), + LdFlags: l.GetLdFlags(), + IsLegacy: l.GetIsLegacy(), + Version: l.GetVersion(), + License: l.GetLicense(), + Properties: libraryPropsMap, + Location: NewLibraryLocation(l.GetLocation()), + Layout: NewLibraryLayout(l.GetLayout()), + Examples: l.GetExamples(), + ProvidesIncludes: l.GetProvidesIncludes(), + CompatibleWith: libraryCompatibleWithMap, + InDevelopment: l.GetInDevelopment(), + } +} + +type LibraryRelease struct { + Author string `json:"author,omitempty"` + Version string `json:"version,omitempty"` + Maintainer string `json:"maintainer,omitempty"` + Sentence string `json:"sentence,omitempty"` + Paragraph string `json:"paragraph,omitempty"` + Website string `json:"website,omitempty"` + Category string `json:"category,omitempty"` + Architectures []string `json:"architectures,omitempty"` + Types []string `json:"types,omitempty"` + Resources *DownloadResource `json:"resources,omitempty"` + License string `json:"license,omitempty"` + ProvidesIncludes []string `json:"provides_includes,omitempty"` + Dependencies []*LibraryDependency `json:"dependencies,omitempty"` +} + +func NewLibraryRelease(l *rpc.LibraryRelease) *LibraryRelease { + if l == nil { + return nil + } + return &LibraryRelease{ + Author: l.GetAuthor(), + Version: l.GetVersion(), + Maintainer: l.GetMaintainer(), + Sentence: l.GetSentence(), + Paragraph: l.GetParagraph(), + Website: l.GetWebsite(), + Category: l.GetCategory(), + Architectures: l.GetArchitectures(), + Types: l.GetTypes(), + Resources: NewDownloadResource(l.GetResources()), + License: l.GetLicense(), + ProvidesIncludes: l.GetProvidesIncludes(), + Dependencies: NewLibraryDependencies(l.GetDependencies()), + } +} + +type DownloadResource struct { + Url string `json:"url,omitempty"` + ArchiveFilename string `json:"archive_filename,omitempty"` + Checksum string `json:"checksum,omitempty"` + Size int64 `json:"size,omitempty"` + CachePath string `json:"cache_path,omitempty"` +} + +type LibraryDependency struct { + Name string `json:"name,omitempty"` + VersionConstraint string `json:"version_constraint,omitempty"` +} + +func NewInstalledLibrary(l *rpc.InstalledLibrary) *InstalledLibrary { + return &InstalledLibrary{ + Library: NewLibrary(l.GetLibrary()), + Release: NewLibraryRelease(l.GetRelease()), + } +} + +func NewDownloadResource(r *rpc.DownloadResource) *DownloadResource { + if r == nil { + return nil + } + return &DownloadResource{ + Url: r.GetUrl(), + ArchiveFilename: r.GetArchiveFilename(), + Checksum: r.GetChecksum(), + Size: r.GetSize(), + CachePath: r.GetCachePath(), + } +} + +func NewLibraryDependencies(d []*rpc.LibraryDependency) []*LibraryDependency { + if d == nil { + return nil + } + result := make([]*LibraryDependency, len(d)) + for i, v := range d { + result[i] = NewLibraryDependency(v) + } + return result +} + +func NewLibraryDependency(d *rpc.LibraryDependency) *LibraryDependency { + if d == nil { + return nil + } + return &LibraryDependency{ + Name: d.GetName(), + VersionConstraint: d.GetVersionConstraint(), + } +} + +type Port struct { + Address string `json:"address,omitempty"` + Label string `json:"label,omitempty"` + Protocol string `json:"protocol,omitempty"` + ProtocolLabel string `json:"protocol_label,omitempty"` + Properties orderedmap.Map[string, string] `json:"properties,omitempty"` + HardwareId string `json:"hardware_id,omitempty"` +} + +func NewPort(p *rpc.Port) *Port { + if p == nil { + return nil + } + propertiesMap := orderedmap.New[string, string]() + for k, v := range p.GetProperties() { + propertiesMap.Set(k, v) + } + propertiesMap.SortStableKeys(cmp.Compare) + return &Port{ + Address: p.GetAddress(), + Label: p.GetLabel(), + Protocol: p.GetProtocol(), + ProtocolLabel: p.GetProtocolLabel(), + Properties: propertiesMap, + HardwareId: p.GetHardwareId(), + } +} + +type BoardDetailsResponse struct { + Fqbn string `json:"fqbn,omitempty"` + Name string `json:"name,omitempty"` + Version string `json:"version,omitempty"` + PropertiesId string `json:"properties_id,omitempty"` + Alias string `json:"alias,omitempty"` + Official bool `json:"official,omitempty"` + Pinout string `json:"pinout,omitempty"` + Package *Package `json:"package,omitempty"` + Platform *BoardPlatform `json:"platform,omitempty"` + ToolsDependencies []*ToolsDependency `json:"tools_dependencies,omitempty"` + ConfigOptions []*ConfigOption `json:"config_options,omitempty"` + Programmers []*Programmer `json:"programmers,omitempty"` + DebuggingSupported bool `json:"debugging_supported,omitempty"` + IdentificationProperties []*BoardIdentificationProperties `json:"identification_properties,omitempty"` + BuildProperties []string `json:"build_properties,omitempty"` +} + +func NewBoardDetailsResponse(b *rpc.BoardDetailsResponse) *BoardDetailsResponse { + if b == nil { + return nil + } + return &BoardDetailsResponse{ + Fqbn: b.GetFqbn(), + Name: b.GetName(), + Version: b.GetVersion(), + PropertiesId: b.GetPropertiesId(), + Alias: b.GetAlias(), + Official: b.GetOfficial(), + Pinout: b.GetPinout(), + Package: NewPackage(b.GetPackage()), + Platform: NewBoardPlatform(b.GetPlatform()), + ToolsDependencies: NewToolsDependencies(b.GetToolsDependencies()), + ConfigOptions: NewConfigOptions(b.GetConfigOptions()), + Programmers: NewProgrammers(b.GetProgrammers()), + DebuggingSupported: b.GetDebuggingSupported(), + IdentificationProperties: NewBoardIdentificationProperties(b.GetIdentificationProperties()), + BuildProperties: b.GetBuildProperties(), + } +} + +type Package struct { + Maintainer string `json:"maintainer,omitempty"` + Url string `json:"url,omitempty"` + WebsiteUrl string `json:"website_url,omitempty"` + Email string `json:"email,omitempty"` + Name string `json:"name,omitempty"` + Help *Help `json:"help,omitempty"` +} + +func NewPackage(p *rpc.Package) *Package { + if p == nil { + return nil + } + return &Package{ + Maintainer: p.GetMaintainer(), + Url: p.GetUrl(), + WebsiteUrl: p.GetWebsiteUrl(), + Email: p.GetEmail(), + Name: p.GetName(), + Help: NewHelp(p.GetHelp()), + } +} + +type Help struct { + Online string `json:"online,omitempty"` +} + +func NewHelp(h *rpc.Help) *Help { + if h == nil { + return nil + } + return &Help{Online: h.GetOnline()} +} + +type BoardPlatform struct { + Architecture string `json:"architecture,omitempty"` + Category string `json:"category,omitempty"` + Url string `json:"url,omitempty"` + ArchiveFilename string `json:"archive_filename,omitempty"` + Checksum string `json:"checksum,omitempty"` + Size int64 `json:"size,omitempty"` + Name string `json:"name,omitempty"` +} + +func NewBoardPlatform(p *rpc.BoardPlatform) *BoardPlatform { + if p == nil { + return nil + } + return &BoardPlatform{ + Architecture: p.GetArchitecture(), + Category: p.GetCategory(), + Url: p.GetUrl(), + ArchiveFilename: p.GetArchiveFilename(), + Checksum: p.GetChecksum(), + Size: p.GetSize(), + Name: p.GetName(), + } +} + +type ToolsDependency struct { + Packager string `json:"packager,omitempty"` + Name string `json:"name,omitempty"` + Version string `json:"version,omitempty"` + Systems []*System `json:"systems,omitempty"` +} + +func NewToolsDependencies(p []*rpc.ToolsDependencies) []*ToolsDependency { + if p == nil { + return nil + } + res := make([]*ToolsDependency, len(p)) + for i, v := range p { + res[i] = NewToolsDependency(v) + } + return res +} + +func NewToolsDependency(p *rpc.ToolsDependencies) *ToolsDependency { + if p == nil { + return nil + } + return &ToolsDependency{ + Packager: p.GetPackager(), + Name: p.GetName(), + Version: p.GetVersion(), + Systems: NewSystems(p.GetSystems()), + } +} + +type System struct { + Checksum string `json:"checksum,omitempty"` + Host string `json:"host,omitempty"` + ArchiveFilename string `json:"archive_filename,omitempty"` + Url string `json:"url,omitempty"` + Size int64 `json:"size,omitempty"` +} + +func NewSystems(p []*rpc.Systems) []*System { + if p == nil { + return nil + } + res := make([]*System, len(p)) + for i, v := range p { + res[i] = NewSystem(v) + } + return res +} + +func NewSystem(s *rpc.Systems) *System { + if s == nil { + return nil + } + return &System{ + Checksum: s.GetChecksum(), + Host: s.GetHost(), + ArchiveFilename: s.GetArchiveFilename(), + Url: s.GetUrl(), + Size: s.GetSize(), + } +} + +type ConfigOption struct { + Option string `json:"option,omitempty"` + OptionLabel string `json:"option_label,omitempty"` + Values []*ConfigValue `json:"values,omitempty"` +} + +func NewConfigOptions(c []*rpc.ConfigOption) []*ConfigOption { + if c == nil { + return nil + } + res := make([]*ConfigOption, len(c)) + for i, v := range c { + res[i] = NewConfigOption(v) + } + return res +} + +func NewConfigOption(o *rpc.ConfigOption) *ConfigOption { + if o == nil { + return nil + } + return &ConfigOption{ + Option: o.GetOption(), + OptionLabel: o.GetOptionLabel(), + Values: NewConfigValues(o.GetValues()), + } +} + +type ConfigValue struct { + Value string `json:"value,omitempty"` + ValueLabel string `json:"value_label,omitempty"` + Selected bool `json:"selected,omitempty"` +} + +func NewConfigValues(c []*rpc.ConfigValue) []*ConfigValue { + if c == nil { + return nil + } + res := make([]*ConfigValue, len(c)) + for i, v := range c { + res[i] = NewConfigValue(v) + } + return res +} + +func NewConfigValue(c *rpc.ConfigValue) *ConfigValue { + if c == nil { + return nil + } + return &ConfigValue{ + Value: c.GetValue(), + ValueLabel: c.GetValueLabel(), + Selected: c.GetSelected(), + } +} + +type Programmer struct { + Platform string `json:"platform,omitempty"` + Id string `json:"id,omitempty"` + Name string `json:"name,omitempty"` +} + +func NewProgrammers(c []*rpc.Programmer) []*Programmer { + if c == nil { + return nil + } + res := make([]*Programmer, len(c)) + for i, v := range c { + res[i] = NewProgrammer(v) + } + return res +} + +func NewProgrammer(c *rpc.Programmer) *Programmer { + if c == nil { + return nil + } + return &Programmer{ + Platform: c.GetPlatform(), + Id: c.GetId(), + Name: c.GetName(), + } +} + +type BoardIdentificationProperties struct { + Properties orderedmap.Map[string, string] `json:"properties,omitempty"` +} + +func NewBoardIdentificationProperties(p []*rpc.BoardIdentificationProperties) []*BoardIdentificationProperties { + if p == nil { + return nil + } + res := make([]*BoardIdentificationProperties, len(p)) + for i, v := range p { + res[i] = NewBoardIndentificationProperty(v) + } + return res +} + +func NewBoardIndentificationProperty(p *rpc.BoardIdentificationProperties) *BoardIdentificationProperties { + if p == nil { + return nil + } + propertiesMap := orderedmap.New[string, string]() + for k, v := range p.GetProperties() { + propertiesMap.Set(k, v) + } + propertiesMap.SortStableKeys(cmp.Compare) + + return &BoardIdentificationProperties{Properties: propertiesMap} +} + +type BoardListAllResponse struct { + Boards []*BoardListItem `json:"boards,omitempty"` +} + +func NewBoardListAllResponse(p *rpc.BoardListAllResponse) *BoardListAllResponse { + if p == nil { + return nil + } + boards := make([]*BoardListItem, len(p.GetBoards())) + for i, v := range p.GetBoards() { + boards[i] = NewBoardListItem(v) + } + return &BoardListAllResponse{Boards: boards} +} + +type BoardListItem struct { + Name string `json:"name,omitempty"` + Fqbn string `json:"fqbn,omitempty"` + IsHidden bool `json:"is_hidden,omitempty"` + Platform *Platform `json:"platform,omitempty"` +} + +func NewBoardListItems(b []*rpc.BoardListItem) []*BoardListItem { + if b == nil { + return nil + } + res := make([]*BoardListItem, len(b)) + for i, v := range b { + res[i] = NewBoardListItem(v) + } + return res +} + +func NewBoardListItem(b *rpc.BoardListItem) *BoardListItem { + if b == nil { + return nil + } + return &BoardListItem{ + Name: b.GetName(), + Fqbn: b.GetFqbn(), + IsHidden: b.GetIsHidden(), + Platform: NewPlatform(b.GetPlatform()), + } +} + +type Platform struct { + Metadata *PlatformMetadata `json:"metadata,omitempty"` + Release *PlatformRelease `json:"release,omitempty"` +} + +func NewPlatform(p *rpc.Platform) *Platform { + if p == nil { + return nil + } + return &Platform{ + Metadata: NewPlatformMetadata(p.GetMetadata()), + Release: NewPlatformRelease(p.GetRelease()), + } +} + +type PlatformMetadata struct { + Id string `json:"id,omitempty"` + Maintainer string `json:"maintainer,omitempty"` + Website string `json:"website,omitempty"` + Email string `json:"email,omitempty"` + ManuallyInstalled bool `json:"manually_installed,omitempty"` + Deprecated bool `json:"deprecated,omitempty"` + Indexed bool `json:"indexed,omitempty"` +} + +func NewPlatformMetadata(p *rpc.PlatformMetadata) *PlatformMetadata { + if p == nil { + return nil + } + return &PlatformMetadata{ + Id: p.Id, + Maintainer: p.Maintainer, + Website: p.Website, + Email: p.Email, + ManuallyInstalled: p.ManuallyInstalled, + Deprecated: p.Deprecated, + Indexed: p.Indexed, + } +} + +type DetectedPort struct { + MatchingBoards []*BoardListItem `json:"matching_boards,omitempty"` + Port *Port `json:"port,omitempty"` +} + +func NewDetectedPorts(p []*rpc.DetectedPort) []*DetectedPort { + if p == nil { + return nil + } + res := make([]*DetectedPort, len(p)) + for i, v := range p { + res[i] = NewDetectedPort(v) + } + return res +} + +func NewDetectedPort(p *rpc.DetectedPort) *DetectedPort { + if p == nil { + return nil + } + return &DetectedPort{ + MatchingBoards: NewBoardListItems(p.GetMatchingBoards()), + Port: NewPort(p.GetPort()), + } +} + +type LibraryResolveDependenciesResponse struct { + Dependencies []*LibraryDependencyStatus `json:"dependencies,omitempty"` +} + +func NewLibraryResolveDependenciesResponse(l *rpc.LibraryResolveDependenciesResponse) *LibraryResolveDependenciesResponse { + if l == nil { + return nil + } + dependencies := make([]*LibraryDependencyStatus, len(l.GetDependencies())) + for i, v := range l.GetDependencies() { + dependencies[i] = NewLibraryDependencyStatus(v) + } + return &LibraryResolveDependenciesResponse{Dependencies: dependencies} +} + +type LibraryDependencyStatus struct { + Name string `json:"name,omitempty"` + VersionRequired string `json:"version_required,omitempty"` + VersionInstalled string `json:"version_installed,omitempty"` +} + +func NewLibraryDependencyStatus(l *rpc.LibraryDependencyStatus) *LibraryDependencyStatus { + if l == nil { + return nil + } + return &LibraryDependencyStatus{ + Name: l.GetName(), + VersionRequired: l.GetVersionRequired(), + VersionInstalled: l.GetVersionInstalled(), + } +} + +type LibrarySearchStatus string + +const ( + LibrarySearchStatusFailed LibrarySearchStatus = "failed" + LibrarySearchStatusSuccess LibrarySearchStatus = "success" +) + +func NewLibrarySearchStatus(r rpc.LibrarySearchStatus) LibrarySearchStatus { + switch r { + case rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_FAILED: + return LibrarySearchStatusFailed + case rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_SUCCESS: + return LibrarySearchStatusSuccess + } + return LibrarySearchStatusFailed +} + +type LibrarySearchResponse struct { + Libraries []*SearchedLibrary `json:"libraries,omitempty"` + Status LibrarySearchStatus `json:"status,omitempty"` +} + +func NewLibrarySearchResponse(l *rpc.LibrarySearchResponse) *LibrarySearchResponse { + if l == nil { + return nil + } + + searchedLibraries := make([]*SearchedLibrary, len(l.GetLibraries())) + for i, v := range l.GetLibraries() { + searchedLibraries[i] = NewSearchedLibrary(v) + } + + return &LibrarySearchResponse{ + Libraries: searchedLibraries, + Status: NewLibrarySearchStatus(l.GetStatus()), + } +} + +type SearchedLibrary struct { + Name string `json:"name,omitempty"` + Releases orderedmap.Map[*semver.Version, *LibraryRelease] `json:"releases,omitempty"` + Latest *LibraryRelease `json:"latest,omitempty"` + AvailableVersions []string `json:"available_versions,omitempty"` +} + +func NewSearchedLibrary(l *rpc.SearchedLibrary) *SearchedLibrary { + if l == nil { + return nil + } + releasesMap := orderedmap.NewWithConversionFunc[*semver.Version, *LibraryRelease, string]((*semver.Version).String) + for k, v := range l.GetReleases() { + releasesMap.Set(semver.MustParse(k), NewLibraryRelease(v)) + } + releasesMap.SortKeys((*semver.Version).CompareTo) + return &SearchedLibrary{ + Name: l.GetName(), + Releases: releasesMap, + Latest: NewLibraryRelease(l.GetLatest()), + AvailableVersions: l.GetAvailableVersions(), + } +} + +type MonitorPortSettingDescriptor struct { + SettingId string `json:"setting_id,omitempty"` + Label string `json:"label,omitempty"` + Type string `json:"type,omitempty"` + EnumValues []string `json:"enum_values,omitempty"` + Value string `json:"value,omitempty"` +} + +func NewMonitorPortSettingDescriptor(m *rpc.MonitorPortSettingDescriptor) *MonitorPortSettingDescriptor { + if m == nil { + return nil + } + return &MonitorPortSettingDescriptor{ + SettingId: m.GetSettingId(), + Label: m.GetLabel(), + Type: m.GetType(), + EnumValues: m.GetEnumValues(), + Value: m.GetValue(), + } +} + +type CompileResponse struct { + OutStream []byte `json:"out_stream,omitempty"` + ErrStream []byte `json:"err_stream,omitempty"` + BuildPath string `json:"build_path,omitempty"` + UsedLibraries []*Library `json:"used_libraries,omitempty"` + ExecutableSectionsSize []*ExecutableSectionSize `json:"executable_sections_size,omitempty"` + BoardPlatform *InstalledPlatformReference `json:"board_platform,omitempty"` + BuildPlatform *InstalledPlatformReference `json:"build_platform,omitempty"` + BuildProperties []string `json:"build_properties,omitempty"` +} + +func NewCompileResponse(c *rpc.CompileResponse) *CompileResponse { + if c == nil { + return nil + } + usedLibs := make([]*Library, len(c.GetUsedLibraries())) + for i, v := range c.GetUsedLibraries() { + usedLibs[i] = NewLibrary(v) + } + executableSectionsSizes := make([]*ExecutableSectionSize, len(c.GetExecutableSectionsSize())) + for i, v := range c.GetExecutableSectionsSize() { + executableSectionsSizes[i] = NewExecutableSectionSize(v) + } + + return &CompileResponse{ + OutStream: c.GetOutStream(), + ErrStream: c.GetErrStream(), + BuildPath: c.GetBuildPath(), + UsedLibraries: usedLibs, + ExecutableSectionsSize: executableSectionsSizes, + BoardPlatform: NewInstalledPlatformReference(c.GetBoardPlatform()), + BuildPlatform: NewInstalledPlatformReference(c.GetBuildPlatform()), + BuildProperties: c.GetBuildProperties(), + } +} + +type ExecutableSectionSize struct { + Name string `json:"name,omitempty"` + Size int64 `json:"size,omitempty"` + MaxSize int64 `json:"max_size,omitempty"` +} + +func NewExecutableSectionSize(s *rpc.ExecutableSectionSize) *ExecutableSectionSize { + if s == nil { + return nil + } + return &ExecutableSectionSize{ + Name: s.GetName(), + Size: s.GetSize(), + MaxSize: s.GetMaxSize(), + } +} + +type InstalledPlatformReference struct { + Id string `json:"id,omitempty"` + Version string `json:"version,omitempty"` + InstallDir string `json:"install_dir,omitempty"` + PackageUrl string `json:"package_url,omitempty"` +} + +func NewInstalledPlatformReference(r *rpc.InstalledPlatformReference) *InstalledPlatformReference { + if r == nil { + return nil + } + return &InstalledPlatformReference{ + Id: r.GetId(), + Version: r.GetVersion(), + InstallDir: r.GetInstallDir(), + PackageUrl: r.GetPackageUrl(), + } +} + +type BoardListWatchResponse struct { + EventType string `json:"event_type,omitempty"` + Port *DetectedPort `json:"port,omitempty"` + Error string `json:"error,omitempty"` +} + +func NewBoardListWatchResponse(r *rpc.BoardListWatchResponse) *BoardListWatchResponse { + if r == nil { + return nil + } + return &BoardListWatchResponse{ + EventType: r.EventType, + Port: NewDetectedPort(r.Port), + Error: r.Error, + } +} diff --git a/internal/cli/feedback/result/rpc_test.go b/internal/cli/feedback/result/rpc_test.go new file mode 100644 index 00000000000..46adbcd8acc --- /dev/null +++ b/internal/cli/feedback/result/rpc_test.go @@ -0,0 +1,249 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 result_test + +import ( + "reflect" + "slices" + "strings" + "testing" + + "github.com/arduino/arduino-cli/internal/cli/feedback/result" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/stretchr/testify/require" +) + +func getStructJsonTags(t *testing.T, a any) []string { + tags := []string{} + rt := reflect.TypeOf(a) + if rt.Kind() != reflect.Struct { + rt = rt.Elem() + require.Equal(t, reflect.Struct, rt.Kind()) + } + for i := 0; i < rt.NumField(); i++ { + tag := rt.Field(i).Tag.Get("json") + if tag == "" { + continue + } + key, _, _ := strings.Cut(tag, ",") + tags = append(tags, key) + } + return tags +} + +func mustContainsAllPropertyOfRpcStruct(t *testing.T, a, b any, excludeFields ...string) { + // must not be the same pointer, a and b struct must be of different type + require.NotSame(t, a, b) + rta, rtb := reflect.TypeOf(a), reflect.TypeOf(b) + if rta.Kind() != reflect.Struct { + rta = rta.Elem() + require.Equal(t, reflect.Struct, rta.Kind()) + } + if rtb.Kind() != reflect.Struct { + rtb = rtb.Elem() + require.Equal(t, reflect.Struct, rtb.Kind()) + } + require.NotEqual(t, rta.String(), rtb.String()) + + aTags := getStructJsonTags(t, a) + bTags := getStructJsonTags(t, b) + if len(excludeFields) > 0 { + aTags = slices.DeleteFunc(aTags, func(s string) bool { return slices.Contains(excludeFields, s) }) + bTags = slices.DeleteFunc(bTags, func(s string) bool { return slices.Contains(excludeFields, s) }) + } + require.ElementsMatch(t, aTags, bTags) +} + +func TestAllFieldAreMapped(t *testing.T) { + // Our PlatformSummary expands the PlatformMetadata without the need to nest it as the rpc does. + platformSummaryRpc := &rpc.PlatformSummary{ + InstalledVersion: "1.0.0", + LatestVersion: "1.0.0", + } + platformSummaryRpcTags := getStructJsonTags(t, platformSummaryRpc) + platformSummaryRpcTags = append(platformSummaryRpcTags, getStructJsonTags(t, platformSummaryRpc.GetMetadata())...) + platformSummaryRpcTags = slices.DeleteFunc(platformSummaryRpcTags, func(s string) bool { return s == "metadata" }) + + platformSummaryResult := result.NewPlatformSummary(platformSummaryRpc) + platformSummaryResultTags := getStructJsonTags(t, platformSummaryResult) + + require.ElementsMatch(t, platformSummaryRpcTags, platformSummaryResultTags) + + platformRelease := &rpc.PlatformRelease{} + platformReleaseResult := result.NewPlatformRelease(platformRelease) + mustContainsAllPropertyOfRpcStruct(t, platformRelease, platformReleaseResult) + + libraryRpc := &rpc.Library{} + libraryResult := result.NewLibrary(libraryRpc) + mustContainsAllPropertyOfRpcStruct(t, libraryRpc, libraryResult) + + libraryReleaseRpc := &rpc.LibraryRelease{} + libraryReleaseResult := result.NewLibraryRelease(libraryReleaseRpc) + mustContainsAllPropertyOfRpcStruct(t, libraryReleaseRpc, libraryReleaseResult) + + installedLibrary := &rpc.InstalledLibrary{} + installedLibraryResult := result.NewInstalledLibrary(installedLibrary) + mustContainsAllPropertyOfRpcStruct(t, installedLibrary, installedLibraryResult) + + downloadResource := &rpc.DownloadResource{} + downloadResourceResult := result.NewDownloadResource(downloadResource) + mustContainsAllPropertyOfRpcStruct(t, downloadResource, downloadResourceResult) + + libraryDependencyRpc := &rpc.LibraryDependency{} + libraryDependencyResult := result.NewLibraryDependency(libraryDependencyRpc) + mustContainsAllPropertyOfRpcStruct(t, libraryDependencyRpc, libraryDependencyResult) + + portRpc := &rpc.Port{} + portResult := result.NewPort(portRpc) + mustContainsAllPropertyOfRpcStruct(t, portRpc, portResult) + + boardDetailsResponseRpc := &rpc.BoardDetailsResponse{} + boardDetailsResponseResult := result.NewBoardDetailsResponse(boardDetailsResponseRpc) + mustContainsAllPropertyOfRpcStruct(t, boardDetailsResponseRpc, boardDetailsResponseResult) + + packageRpc := &rpc.Package{} + packageResult := result.NewPackage(packageRpc) + mustContainsAllPropertyOfRpcStruct(t, packageRpc, packageResult) + + helpRpc := &rpc.Help{} + helpResult := result.NewHelp(helpRpc) + mustContainsAllPropertyOfRpcStruct(t, helpRpc, helpResult) + + boardPlatformRpc := &rpc.BoardPlatform{} + boardPlatformResult := result.NewBoardPlatform(boardPlatformRpc) + mustContainsAllPropertyOfRpcStruct(t, boardPlatformRpc, boardPlatformResult) + + toolsDependencyRpc := &rpc.ToolsDependencies{} + toolsDependencyResult := result.NewToolsDependency(toolsDependencyRpc) + mustContainsAllPropertyOfRpcStruct(t, toolsDependencyRpc, toolsDependencyResult) + + systemRpc := &rpc.Systems{} + systemResult := result.NewSystem(systemRpc) + mustContainsAllPropertyOfRpcStruct(t, systemRpc, systemResult) + + configOptionRpc := &rpc.ConfigOption{} + configOptionResult := result.NewConfigOption(configOptionRpc) + mustContainsAllPropertyOfRpcStruct(t, configOptionRpc, configOptionResult) + + configValueRpc := &rpc.ConfigValue{} + configValueResult := result.NewConfigValue(configValueRpc) + mustContainsAllPropertyOfRpcStruct(t, configValueRpc, configValueResult) + + programmerRpc := &rpc.Programmer{} + programmerResult := result.NewProgrammer(programmerRpc) + mustContainsAllPropertyOfRpcStruct(t, programmerRpc, programmerResult) + + boardIdentificationPropertiesRpc := &rpc.BoardIdentificationProperties{} + boardIdentificationPropertiesResult := result.NewBoardIndentificationProperty(boardIdentificationPropertiesRpc) + mustContainsAllPropertyOfRpcStruct(t, boardIdentificationPropertiesRpc, boardIdentificationPropertiesResult) + + boardListAllResponseRpc := &rpc.BoardListAllResponse{} + boardListAllResponseResult := result.NewBoardListAllResponse(boardListAllResponseRpc) + mustContainsAllPropertyOfRpcStruct(t, boardListAllResponseRpc, boardListAllResponseResult) + + boardListItemRpc := &rpc.BoardListItem{} + boardListItemResult := result.NewBoardListItem(boardListItemRpc) + mustContainsAllPropertyOfRpcStruct(t, boardListItemRpc, boardListItemResult) + + platformRpc := &rpc.Platform{} + platformResult := result.NewPlatform(platformRpc) + mustContainsAllPropertyOfRpcStruct(t, platformRpc, platformResult) + + platformMetadataRpc := &rpc.PlatformMetadata{} + platformMetadataResult := result.NewPlatformMetadata(platformMetadataRpc) + mustContainsAllPropertyOfRpcStruct(t, platformMetadataRpc, platformMetadataResult) + + detectedPortRpc := &rpc.DetectedPort{} + detectedPortResult := result.NewDetectedPort(detectedPortRpc) + mustContainsAllPropertyOfRpcStruct(t, detectedPortRpc, detectedPortResult) + + libraryResolveDependenciesResponseRpc := &rpc.LibraryResolveDependenciesResponse{} + libraryResolveDependenciesResponseResult := result.NewLibraryResolveDependenciesResponse(libraryResolveDependenciesResponseRpc) + mustContainsAllPropertyOfRpcStruct(t, libraryResolveDependenciesResponseRpc, libraryResolveDependenciesResponseResult) + + libraryDependencyStatusRpc := &rpc.LibraryDependencyStatus{} + libraryDependencyStatusResult := result.NewLibraryDependencyStatus(libraryDependencyStatusRpc) + mustContainsAllPropertyOfRpcStruct(t, libraryDependencyStatusRpc, libraryDependencyStatusResult) + + librarySearchResponseRpc := &rpc.LibrarySearchResponse{} + librarySearchResponseResult := result.NewLibrarySearchResponse(librarySearchResponseRpc) + mustContainsAllPropertyOfRpcStruct(t, librarySearchResponseRpc, librarySearchResponseResult) + + searchedLibraryRpc := &rpc.SearchedLibrary{} + searchedLibraryResult := result.NewSearchedLibrary(searchedLibraryRpc) + mustContainsAllPropertyOfRpcStruct(t, searchedLibraryRpc, searchedLibraryResult) + + monitorPortSettingDescriptorRpc := &rpc.MonitorPortSettingDescriptor{} + monitorPortSettingDescriptorResult := result.NewMonitorPortSettingDescriptor(monitorPortSettingDescriptorRpc) + mustContainsAllPropertyOfRpcStruct(t, monitorPortSettingDescriptorRpc, monitorPortSettingDescriptorResult) + + compileResponseRpc := &rpc.CompileResponse{} + compileResponseResult := result.NewCompileResponse(compileResponseRpc) + mustContainsAllPropertyOfRpcStruct(t, compileResponseRpc, compileResponseResult, "progress") + + executableSectionSizeRpc := &rpc.ExecutableSectionSize{} + executableSectionSizeResult := result.NewExecutableSectionSize(executableSectionSizeRpc) + mustContainsAllPropertyOfRpcStruct(t, executableSectionSizeRpc, executableSectionSizeResult) + + installedPlatformReferenceRpc := &rpc.InstalledPlatformReference{} + installedPlatformReferenceResult := result.NewInstalledPlatformReference(installedPlatformReferenceRpc) + mustContainsAllPropertyOfRpcStruct(t, installedPlatformReferenceRpc, installedPlatformReferenceResult) + + boardListWatchResponseRpc := &rpc.BoardListWatchResponse{} + boardListWatchResponseResult := result.NewBoardListWatchResponse(boardListWatchResponseRpc) + mustContainsAllPropertyOfRpcStruct(t, boardListWatchResponseRpc, boardListWatchResponseResult) +} + +func TestEnumsMapsEveryRpcCounterpart(t *testing.T) { + t.Run("LibraryLocation enums maps every element", func(t *testing.T) { + results := make([]result.LibraryLocation, 0, len(rpc.LibraryLocation_name)) + for key := range rpc.LibraryLocation_name { + results = append(results, result.NewLibraryLocation(rpc.LibraryLocation(key))) + } + require.NotEmpty(t, results) + require.Len(t, results, len(rpc.LibraryLocation_name)) + require.True(t, isUnique(results)) + }) + t.Run("LibraryLayout enums maps every element", func(t *testing.T) { + results := make([]result.LibraryLayout, 0, len(rpc.LibraryLayout_name)) + for key := range rpc.LibraryLayout_name { + results = append(results, result.NewLibraryLayout(rpc.LibraryLayout(key))) + } + require.NotEmpty(t, results) + require.Len(t, results, len(rpc.LibraryLayout_name)) + require.True(t, isUnique(results)) + }) + t.Run("LibrarySearchStatus enums maps every element", func(t *testing.T) { + results := make([]result.LibrarySearchStatus, 0, len(rpc.LibrarySearchStatus_name)) + for key := range rpc.LibrarySearchStatus_name { + results = append(results, result.NewLibrarySearchStatus(rpc.LibrarySearchStatus(key))) + } + require.NotEmpty(t, results) + require.Len(t, results, len(rpc.LibrarySearchStatus_name)) + require.True(t, isUnique(results)) + }) +} + +func isUnique[T comparable](s []T) bool { + seen := map[T]bool{} + for _, v := range s { + if _, ok := seen[v]; ok { + return false + } + seen[v] = true + } + return true +} diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index b286a2c85a5..9a5666cd101 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/fatih/color" @@ -65,13 +66,13 @@ func runDepsCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Error resolving dependencies for %[1]s: %[2]s", libRef, err), feedback.ErrGeneric) } - feedback.PrintResult(&checkDepResult{deps: deps}) + feedback.PrintResult(&checkDepResult{deps: fResult.NewLibraryResolveDependenciesResponse(deps)}) } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type checkDepResult struct { - deps *rpc.LibraryResolveDependenciesResponse + deps *fResult.LibraryResolveDependenciesResponse } func (dr checkDepResult) Data() interface{} { @@ -79,6 +80,9 @@ func (dr checkDepResult) Data() interface{} { } func (dr checkDepResult) String() string { + if dr.deps == nil || dr.deps.Dependencies == nil { + return "" + } res := "" deps := dr.deps.Dependencies @@ -91,26 +95,29 @@ func (dr checkDepResult) String() string { }) for _, dep := range deps { + if dep == nil { + continue + } res += outputDep(dep) } return res } -func outputDep(dep *rpc.LibraryDependencyStatus) string { +func outputDep(dep *fResult.LibraryDependencyStatus) string { res := "" green := color.New(color.FgGreen) red := color.New(color.FgRed) yellow := color.New(color.FgYellow) - if dep.GetVersionInstalled() == "" { + if dep.VersionInstalled == "" { res += tr("%s must be installed.", - red.Sprintf("✕ %s %s", dep.GetName(), dep.GetVersionRequired())) - } else if dep.GetVersionInstalled() == dep.GetVersionRequired() { + red.Sprintf("✕ %s %s", dep.Name, dep.VersionRequired)) + } else if dep.VersionInstalled == dep.VersionRequired { res += tr("%s is already installed.", - green.Sprintf("✓ %s %s", dep.GetName(), dep.GetVersionRequired())) + green.Sprintf("✓ %s %s", dep.Name, dep.VersionRequired)) } else { res += tr("%[1]s is required but %[2]s is currently installed.", - yellow.Sprintf("✕ %s %s", dep.GetName(), dep.GetVersionRequired()), - yellow.Sprintf("%s", dep.GetVersionInstalled())) + yellow.Sprintf("✕ %s %s", dep.Name, dep.VersionRequired), + yellow.Sprintf("%s", dep.VersionInstalled)) } res += "\n" return res diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index a6564ec6378..17852f4003a 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -75,7 +76,7 @@ func runExamplesCommand(cmd *cobra.Command, args []string) { found := []*libraryExamples{} for _, lib := range res.GetInstalledLibraries() { found = append(found, &libraryExamples{ - Library: lib.Library, + Library: result.NewLibrary(lib.Library), Examples: lib.Library.Examples, }) } @@ -88,8 +89,8 @@ func runExamplesCommand(cmd *cobra.Command, args []string) { // feedback.Result implementation type libraryExamples struct { - Library *rpc.Library `json:"library"` - Examples []string `json:"examples"` + Library *result.Library `json:"library"` + Examples []string `json:"examples"` } type libraryExamplesResult struct { @@ -113,9 +114,9 @@ func (ir libraryExamplesResult) String() string { for _, lib := range ir.Examples { name := lib.Library.Name if lib.Library.ContainerPlatform != "" { - name += " (" + lib.Library.GetContainerPlatform() + ")" - } else if lib.Library.Location != rpc.LibraryLocation_LIBRARY_LOCATION_USER { - name += " (" + lib.Library.GetLocation().String() + ")" + name += " (" + lib.Library.ContainerPlatform + ")" + } else if lib.Library.Location != result.LibraryLocationUser { + name += " (" + string(lib.Library.Location) + ")" } r := tr("Examples for library %s", color.GreenString("%s", name)) + "\n" sort.Slice(lib.Examples, func(i, j int) bool { diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index ea644367db5..75547a93d6d 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -59,9 +60,14 @@ not listed, they can be listed by adding the --all flag.`), // List gets and prints a list of installed libraries. func List(instance *rpc.Instance, args []string, all bool, updatable bool) { installedLibs := GetList(instance, args, all, updatable) + + installedLibsResult := make([]*result.InstalledLibrary, len(installedLibs)) + for i, v := range installedLibs { + installedLibsResult[i] = result.NewInstalledLibrary(v) + } feedback.PrintResult(installedResult{ onlyUpdates: updatable, - installedLibs: installedLibs, + installedLibs: installedLibsResult, }) logrus.Info("Done") } @@ -113,7 +119,7 @@ func GetList( // feedback.Result implementation type installedResult struct { onlyUpdates bool - installedLibs []*rpc.InstalledLibrary + installedLibs []*result.InstalledLibrary } func (ir installedResult) Data() interface{} { @@ -140,7 +146,7 @@ func (ir installedResult) String() string { lastName := "" for _, libMeta := range ir.installedLibs { - lib := libMeta.GetLibrary() + lib := libMeta.Library name := lib.Name if name == lastName { name = ` "` @@ -148,15 +154,15 @@ func (ir installedResult) String() string { lastName = name } - location := lib.GetLocation().String() + location := string(lib.Location) if lib.ContainerPlatform != "" { - location = lib.GetContainerPlatform() + location = lib.ContainerPlatform } available := "" sentence := "" - if libMeta.GetRelease() != nil { - available = libMeta.GetRelease().GetVersion() + if libMeta.Release != nil { + available = libMeta.Release.Version sentence = lib.Sentence } diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 9af3c7c1079..da666bdc579 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -26,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -128,8 +129,8 @@ func runSearchCommand(args []string, namesOnly bool, omitReleasesDetails bool) { feedback.Fatal(tr("Error searching for Libraries: %v", err), feedback.ErrGeneric) } - feedback.PrintResult(result{ - results: searchResp, + feedback.PrintResult(librarySearchResult{ + results: result.NewLibrarySearchResponse(searchResp), namesOnly: namesOnly, }) @@ -138,12 +139,12 @@ func runSearchCommand(args []string, namesOnly bool, omitReleasesDetails bool) { // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation -type result struct { - results *rpc.LibrarySearchResponse +type librarySearchResult struct { + results *result.LibrarySearchResponse namesOnly bool } -func (res result) Data() interface{} { +func (res librarySearchResult) Data() interface{} { if res.namesOnly { type LibName struct { Name string `json:"name"` @@ -154,33 +155,30 @@ func (res result) Data() interface{} { } names := []LibName{} - results := res.results.GetLibraries() - for _, lib := range results { + for _, lib := range res.results.Libraries { names = append(names, LibName{lib.Name}) } - return NamesOnly{ - names, - } + return NamesOnly{names} } return res.results } -func (res result) String() string { - results := res.results.GetLibraries() +func (res librarySearchResult) String() string { + results := res.results.Libraries if len(results) == 0 { return tr("No libraries matching your search.") } var out strings.Builder - if res.results.GetStatus() == rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_FAILED { + if res.results.Status == result.LibrarySearchStatusFailed { out.WriteString(tr("No libraries matching your search.\nDid you mean...\n")) } for _, lib := range results { - if res.results.GetStatus() == rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_SUCCESS { + if res.results.Status == result.LibrarySearchStatusSuccess { out.WriteString(tr(`Name: "%s"`, lib.Name) + "\n") if res.namesOnly { continue @@ -190,14 +188,14 @@ func (res result) String() string { continue } - latest := lib.GetLatest() + latest := lib.Latest deps := []string{} - for _, dep := range latest.GetDependencies() { - if dep.GetVersionConstraint() == "" { - deps = append(deps, dep.GetName()) + for _, dep := range latest.Dependencies { + if dep.VersionConstraint == "" { + deps = append(deps, dep.Name) } else { - deps = append(deps, dep.GetName()+" ("+dep.GetVersionConstraint()+")") + deps = append(deps, dep.Name+" ("+dep.VersionConstraint+")") } } @@ -212,7 +210,7 @@ func (res result) String() string { out.WriteString(fmt.Sprintf(" "+tr("Category: %s")+"\n", latest.Category)) out.WriteString(fmt.Sprintf(" "+tr("Architecture: %s")+"\n", strings.Join(latest.Architectures, ", "))) out.WriteString(fmt.Sprintf(" "+tr("Types: %s")+"\n", strings.Join(latest.Types, ", "))) - out.WriteString(fmt.Sprintf(" "+tr("Versions: %s")+"\n", strings.ReplaceAll(fmt.Sprint(lib.GetAvailableVersions()), " ", ", "))) + out.WriteString(fmt.Sprintf(" "+tr("Versions: %s")+"\n", strings.ReplaceAll(fmt.Sprint(lib.AvailableVersions), " ", ", "))) if len(latest.ProvidesIncludes) > 0 { out.WriteString(fmt.Sprintf(" "+tr("Provides includes: %s")+"\n", strings.Join(latest.ProvidesIncludes, ", "))) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 009897e8bdb..c48fbfac0e0 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -32,6 +32,7 @@ import ( "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -154,7 +155,11 @@ func runMonitorCmd( feedback.Fatal(tr("Error getting port settings details: %s", err), feedback.ErrGeneric) } if describe { - feedback.PrintResult(&detailsResult{Settings: enumerateResp.Settings}) + settings := make([]*result.MonitorPortSettingDescriptor, len(enumerateResp.Settings)) + for i, v := range enumerateResp.Settings { + settings[i] = result.NewMonitorPortSettingDescriptor(v) + } + feedback.PrintResult(&detailsResult{Settings: settings}) return } @@ -277,7 +282,7 @@ func (cd *charDetectorWriter) Write(buf []byte) (int, error) { } type detailsResult struct { - Settings []*rpc.MonitorPortSettingDescriptor `json:"settings"` + Settings []*result.MonitorPortSettingDescriptor `json:"settings"` } func (r *detailsResult) Data() interface{} { @@ -285,9 +290,13 @@ func (r *detailsResult) Data() interface{} { } func (r *detailsResult) String() string { + if len(r.Settings) == 0 { + return "" + } t := table.New() - green := color.New(color.FgGreen) t.SetHeader(tr("ID"), tr("Setting"), tr("Default"), tr("Values")) + + green := color.New(color.FgGreen) sort.Slice(r.Settings, func(i, j int) bool { return r.Settings[i].Label < r.Settings[j].Label }) diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 5b2b6ac6309..39cba04481c 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -65,16 +65,21 @@ func Outdated(inst *rpc.Instance) { // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type outdatedResult struct { - Platforms []*result.Platform `json:"platforms,omitempty"` - InstalledLibs []*rpc.InstalledLibrary `json:"libraries,omitempty"` + Platforms []*result.PlatformSummary `json:"platforms,omitempty"` + InstalledLibs []*result.InstalledLibrary `json:"libraries,omitempty"` } func newOutdatedResult(inPlatforms []*rpc.PlatformSummary, inLibraries []*rpc.InstalledLibrary) *outdatedResult { - res := &outdatedResult{} - for _, platformSummary := range inPlatforms { - res.Platforms = append(res.Platforms, result.NewPlatformResult(platformSummary)) + res := &outdatedResult{ + Platforms: make([]*result.PlatformSummary, len(inPlatforms)), + InstalledLibs: make([]*result.InstalledLibrary, len(inLibraries)), + } + for i, v := range inPlatforms { + res.Platforms[i] = result.NewPlatformSummary(v) + } + for i, v := range inLibraries { + res.InstalledLibs[i] = result.NewInstalledLibrary(v) } - res.InstalledLibs = inLibraries return res } @@ -128,7 +133,7 @@ func (ir outdatedResult) String() string { }) lastName := "" for _, libMeta := range ir.InstalledLibs { - lib := libMeta.GetLibrary() + lib := libMeta.Library name := lib.Name if name == lastName { name = ` "` @@ -136,15 +141,15 @@ func (ir outdatedResult) String() string { lastName = name } - location := lib.GetLocation().String() + location := string(lib.Location) if lib.ContainerPlatform != "" { - location = lib.GetContainerPlatform() + location = lib.ContainerPlatform } available := "" sentence := "" - if libMeta.GetRelease() != nil { - available = libMeta.GetRelease().GetVersion() + if libMeta.Release != nil { + available = libMeta.Release.Version sentence = lib.Sentence } diff --git a/internal/cli/sketch/new.go b/internal/cli/sketch/new.go index ff141417ad0..01aa818168c 100644 --- a/internal/cli/sketch/new.go +++ b/internal/cli/sketch/new.go @@ -81,5 +81,17 @@ func runNewCommand(args []string, overwrite bool) { feedback.Fatal(tr("Error creating sketch: %v", err), feedback.ErrGeneric) } - feedback.Print(tr("Sketch created in: %s", sketchDirPath)) + feedback.PrintResult(sketchResult{SketchDirPath: sketchDirPath}) +} + +type sketchResult struct { + SketchDirPath *paths.Path `json:"sketch_path"` +} + +func (ir sketchResult) Data() interface{} { + return ir +} + +func (ir sketchResult) String() string { + return tr("Sketch created in: %s", ir.SketchDirPath) } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 4444cf1e792..73e6166aaaa 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -29,6 +29,7 @@ import ( "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" @@ -199,15 +200,15 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { feedback.PrintResult(&uploadResult{ Stdout: io.Stdout, Stderr: io.Stderr, - UpdatedUploadPort: res.UpdatedUploadPort, + UpdatedUploadPort: result.NewPort(res.GetUpdatedUploadPort()), }) } } type uploadResult struct { - Stdout string `json:"stdout"` - Stderr string `json:"stderr"` - UpdatedUploadPort *rpc.Port `json:"updated_upload_port,omitempty"` + Stdout string `json:"stdout"` + Stderr string `json:"stderr"` + UpdatedUploadPort *result.Port `json:"updated_upload_port,omitempty"` } func (r *uploadResult) Data() interface{} { From a19b2ab59bd9e42e4c726063b7a5c5020f23f0f5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 16:41:38 +0100 Subject: [PATCH 016/361] [skip-changelog] Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 (#2403) * Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml | 4 ++-- .licenses/go/github.com/spf13/cobra.dep.yml | 4 ++-- .licenses/go/github.com/spf13/cobra/doc.dep.yml | 6 ++++-- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 14 insertions(+), 12 deletions(-) diff --git a/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml b/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml index 2aacfd18c50..07a78ed6c13 100644 --- a/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml +++ b/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cpuguy83/go-md2man/v2/md2man -version: v2.0.2 +version: v2.0.3 type: go summary: homepage: https://pkg.go.dev/github.com/cpuguy83/go-md2man/v2/md2man license: mit licenses: -- sources: v2@v2.0.2/LICENSE.md +- sources: v2@v2.0.3/LICENSE.md text: | The MIT License (MIT) diff --git a/.licenses/go/github.com/spf13/cobra.dep.yml b/.licenses/go/github.com/spf13/cobra.dep.yml index a14dcec346e..92ca386ce15 100644 --- a/.licenses/go/github.com/spf13/cobra.dep.yml +++ b/.licenses/go/github.com/spf13/cobra.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/cobra -version: v1.7.0 +version: v1.8.0 type: go summary: Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. @@ -184,5 +184,5 @@ licenses: incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - sources: README.md - text: Cobra is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/cobra/blob/master/LICENSE.txt) + text: Cobra is released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) notices: [] diff --git a/.licenses/go/github.com/spf13/cobra/doc.dep.yml b/.licenses/go/github.com/spf13/cobra/doc.dep.yml index 1119f6fb44f..a3a7cb068ea 100644 --- a/.licenses/go/github.com/spf13/cobra/doc.dep.yml +++ b/.licenses/go/github.com/spf13/cobra/doc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/cobra/doc -version: v1.7.0 +version: v1.8.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/cobra/doc license: apache-2.0 licenses: -- sources: cobra@v1.7.0/LICENSE.txt +- sources: cobra@v1.8.0/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,4 +182,6 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. +- sources: cobra@v1.8.0/README.md + text: Cobra is released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) notices: [] diff --git a/go.mod b/go.mod index 86bc603bf72..5d59fb38509 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/rogpeppe/go-internal v1.11.0 github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 - github.com/spf13/cobra v1.7.0 + github.com/spf13/cobra v1.8.0 github.com/spf13/viper v1.17.0 github.com/stretchr/testify v1.8.4 github.com/xeipuuv/gojsonschema v1.2.0 @@ -51,7 +51,7 @@ require ( github.com/Microsoft/go-winio v0.6.1 // indirect github.com/acomagu/bufpipe v1.0.3 // indirect github.com/cloudflare/circl v1.3.3 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/creack/goselect v0.1.2 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect diff --git a/go.sum b/go.sum index b2674d86777..b672edf4bb3 100644 --- a/go.sum +++ b/go.sum @@ -102,8 +102,8 @@ github.com/codeclysm/extract/v3 v3.1.1/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dH github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= -github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= @@ -405,8 +405,8 @@ github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= -github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= From bdfe8fec3410257d1c425020c1bcbf429d24602d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 16:45:12 +0100 Subject: [PATCH 017/361] [skip-changelog] Bump golang.org/x/text from 0.13.0 to 0.14.0 (#2405) * Bump golang.org/x/text from 0.13.0 to 0.14.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.13.0 to 0.14.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.13.0...v0.14.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../golang.org/x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index d2e3fb48b23..48b180cab1a 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.13.0 +version: v0.14.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.13.0/LICENSE +- sources: text@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.13.0/PATENTS +- sources: text@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index fff514e79bc..72e83aa0b96 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.13.0 +version: v0.14.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.13.0/LICENSE +- sources: text@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.13.0/PATENTS +- sources: text@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 1e12ad752a9..2b15d607ebb 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.13.0 +version: v0.14.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.13.0/LICENSE +- sources: text@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.13.0/PATENTS +- sources: text@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index a8bdcffd4db..ccf57e2f655 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.13.0 +version: v0.14.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.13.0/LICENSE +- sources: text@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.13.0/PATENTS +- sources: text@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 7e7335344e0..c247310eb18 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.13.0 +version: v0.14.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.13.0/LICENSE +- sources: text@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.13.0/PATENTS +- sources: text@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index ebf8c20b2f5..baa52fe747d 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.13.0 +version: v0.14.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.13.0/LICENSE +- sources: text@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.13.0/PATENTS +- sources: text@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 5d59fb38509..4f379eabb32 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( go.bug.st/serial v1.6.1 go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.13.0 - golang.org/x/text v0.13.0 + golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a google.golang.org/grpc v1.59.0 google.golang.org/protobuf v1.31.0 diff --git a/go.sum b/go.sum index b672edf4bb3..5655dd1fa79 100644 --- a/go.sum +++ b/go.sum @@ -698,8 +698,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= From a6028444fc158f810626d2b7c2cca44416191961 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 16:45:54 +0100 Subject: [PATCH 018/361] [skip-changelog] Bump github.com/fatih/color from 1.15.0 to 1.16.0 (#2404) * Bump github.com/fatih/color from 1.15.0 to 1.16.0 Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.15.0 to 1.16.0. - [Release notes](https://github.com/fatih/color/releases) - [Commits](https://github.com/fatih/color/compare/v1.15.0...v1.16.0) --- updated-dependencies: - dependency-name: github.com/fatih/color dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/github.com/fatih/color.dep.yml | 2 +- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/github.com/fatih/color.dep.yml b/.licenses/go/github.com/fatih/color.dep.yml index fa66af7e9d0..8cb2c72d45b 100644 --- a/.licenses/go/github.com/fatih/color.dep.yml +++ b/.licenses/go/github.com/fatih/color.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/fatih/color -version: v1.15.0 +version: v1.16.0 type: go summary: Package color is an ANSI color package to output colorized or SGR defined output to the standard output. diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index e5a8d9ee689..fa3deb385db 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.13.0 +version: v0.14.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.13.0/LICENSE +- sources: sys@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.13.0/PATENTS +- sources: sys@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 06b6e11b31f..82acb666325 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.13.0 +version: v0.14.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.13.0/LICENSE +- sources: sys@v0.14.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.13.0/PATENTS +- sources: sys@v0.14.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 4f379eabb32..f978f479867 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/codeclysm/extract/v3 v3.1.1 github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 - github.com/fatih/color v1.15.0 + github.com/fatih/color v1.16.0 github.com/go-git/go-git/v5 v5.4.2 github.com/gofrs/uuid/v5 v5.0.0 github.com/leonelquinteros/gotext v1.4.0 @@ -99,7 +99,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect + golang.org/x/sys v0.14.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 5655dd1fa79..9d24520d18b 100644 --- a/go.sum +++ b/go.sum @@ -130,8 +130,8 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= -github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= +github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= @@ -677,8 +677,8 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= From c45ab208466add797fb9c026303cdb18272370c8 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 Nov 2023 16:46:26 +0100 Subject: [PATCH 019/361] Added CLI specific error code for failed-initialization of inventory (#2402) --- internal/cli/cli.go | 2 +- internal/cli/feedback/errorcodes.go | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 19a92767acf..ad5fb2e9964 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -150,7 +150,7 @@ func preRun(cmd *cobra.Command, args []string) { // initialize inventory err := inventory.Init(configuration.DataDir(configuration.Settings).String()) if err != nil { - feedback.Fatal(fmt.Sprintf("Error: %v", err), feedback.ErrBadArgument) + feedback.Fatal(fmt.Sprintf("Error: %v", err), feedback.ErrInitializingInventory) } // https://no-color.org/ diff --git a/internal/cli/feedback/errorcodes.go b/internal/cli/feedback/errorcodes.go index 75cae306279..9c38024f30b 100644 --- a/internal/cli/feedback/errorcodes.go +++ b/internal/cli/feedback/errorcodes.go @@ -49,4 +49,8 @@ const ( // ErrBadTCPPortArgument is returned if the TCP port argument is not valid (9) ErrBadTCPPortArgument + + // ErrInitializingInventory is returned when the inventory cannot be initialized, + // usually depends on a wrong configuration of the data dir (10) + ErrInitializingInventory ) From 9baaf442bb8ddd9b3e0b749f44e629c71631b1a6 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Wed, 8 Nov 2023 09:28:01 +0100 Subject: [PATCH 020/361] remove mysketchbook folder commited by mistake (#2408) --- mysketchbook/newsketch/newsketch.ino | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 mysketchbook/newsketch/newsketch.ino diff --git a/mysketchbook/newsketch/newsketch.ino b/mysketchbook/newsketch/newsketch.ino deleted file mode 100644 index 74f966a4e2f..00000000000 --- a/mysketchbook/newsketch/newsketch.ino +++ /dev/null @@ -1,6 +0,0 @@ - -void setup() { -} - -void loop() { -} From 9259b2a974527214e2b6bea7e05e0685b6a9d985 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 8 Nov 2023 12:36:27 +0100 Subject: [PATCH 021/361] [skip-changelog] Added .vscode to gitignore (#2412) --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 15f5060d5da..5c529f1a56b 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,7 @@ venv /.pytest-tmp-dir /node_modules/ __debug_bin* +.vscode # gRPC client example folder /client_example/client_example From 7a9be52c2a9ed5cfe2d3161c5784b3a6272ce476 Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Wed, 8 Nov 2023 16:43:35 +0100 Subject: [PATCH 022/361] Replace `mitchellh/go` used for macOS notarization (#2399) * switch to gon fork, apple is deprecating altool to sign * Provider is mandatory --- .github/workflows/publish-go-nightly-task.yml | 5 +++-- .github/workflows/release-go-task.yml | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index c7dd591f2f9..b814f6fdc2c 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -117,14 +117,14 @@ jobs: - name: Install gon for code signing and app notarization run: | - wget -q https://github.com/mitchellh/gon/releases/download/v0.2.3/gon_macos.zip + wget -q https://github.com/Bearer/gon/releases/download/v0.0.27/gon_macos.zip unzip gon_macos.zip -d /usr/local/bin - name: Write gon config to file # gon does not allow env variables in config file (https://github.com/mitchellh/gon/issues/20) run: | cat > "${{ env.GON_CONFIG_PATH }}" <<EOF - # See: https://github.com/mitchellh/gon#configuration-file + # See: https://github.com/Bearer/gon#configuration-file source = ["dist/arduino-cli_osx_${{ matrix.artifact.name }}/arduino-cli"] bundle_id = "cc.arduino.arduino-cli" @@ -143,6 +143,7 @@ jobs: env: AC_USERNAME: ${{ secrets.AC_USERNAME }} AC_PASSWORD: ${{ secrets.AC_PASSWORD }} + AC_PROVIDER: ${{ secrets.AC_PROVIDER }} run: | gon "${{ env.GON_CONFIG_PATH }}" diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index e6f103de132..e67a0865042 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -121,14 +121,14 @@ jobs: - name: Install gon for code signing and app notarization run: | - wget -q https://github.com/mitchellh/gon/releases/download/v0.2.3/gon_macos.zip + wget -q https://github.com/Bearer/gon/releases/download/v0.0.27/gon_macos.zip unzip gon_macos.zip -d /usr/local/bin - name: Write gon config to file # gon does not allow env variables in config file (https://github.com/mitchellh/gon/issues/20) run: | cat > "${{ env.GON_CONFIG_PATH }}" <<EOF - # See: https://github.com/mitchellh/gon#configuration-file + # See: https://github.com/Bearer/gon#configuration-file source = ["dist/arduino-cli_osx_${{ matrix.artifact.name }}/arduino-cli"] bundle_id = "cc.arduino.arduino-cli" @@ -147,6 +147,7 @@ jobs: env: AC_USERNAME: ${{ secrets.AC_USERNAME }} AC_PASSWORD: ${{ secrets.AC_PASSWORD }} + AC_PROVIDER: ${{ secrets.AC_PROVIDER }} run: | gon "${{ env.GON_CONFIG_PATH }}" From 0e5f6294f4d570377e35ee26f1702cec8d19129d Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 8 Nov 2023 17:31:02 +0100 Subject: [PATCH 023/361] Report compiler errors in machine readable format (#2182) * Added gRPC protocol for compiler diagnostics reporting * Builder now support parsing of compiler output * Added gcc output parser * Implementation of compile output parser in gRPC command * Tell prettier to ignore testdata files * Added proper result structure for diagnostics * Added integration test * Fixed parser bug and added unit test --- .prettierignore | 1 + arduino/builder/builder.go | 36 +- arduino/builder/compilation.go | 6 + .../diagnostics/compiler_detection.go | 85 ++++ .../diagnostics/compiler_detection_test.go | 79 ++++ .../builder/internal/diagnostics/parser.go | 173 ++++++++ .../internal/diagnostics/parser_gcc.go | 193 ++++++++ .../internal/diagnostics/parser_test.go | 57 +++ .../testdata/compiler_outputs/test001.txt | 12 + .../compiler_outputs/test001.txt.json | 30 ++ .../testdata/compiler_outputs/test002.txt | 34 ++ .../compiler_outputs/test002.txt.json | 172 ++++++++ .../testdata/compiler_outputs/test003.txt | 40 ++ .../compiler_outputs/test003.txt.json | 190 ++++++++ .../testdata/compiler_outputs/test004.txt | 5 + .../compiler_outputs/test004.txt.json | 15 + commands/compile/compile.go | 5 + internal/cli/compile/compile.go | 17 +- internal/cli/feedback/result/rpc.go | 61 +++ internal/cli/feedback/result/rpc_test.go | 12 + .../integrationtest/compile_3/compile_test.go | 16 +- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 411 ++++++++++++++++-- rpc/cc/arduino/cli/commands/v1/compile.proto | 43 ++ 23 files changed, 1646 insertions(+), 47 deletions(-) create mode 100644 arduino/builder/internal/diagnostics/compiler_detection.go create mode 100644 arduino/builder/internal/diagnostics/compiler_detection_test.go create mode 100644 arduino/builder/internal/diagnostics/parser.go create mode 100644 arduino/builder/internal/diagnostics/parser_gcc.go create mode 100644 arduino/builder/internal/diagnostics/parser_test.go create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt create mode 100644 arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json diff --git a/.prettierignore b/.prettierignore index 3b34afa1ed6..6aabe7366cb 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,6 +4,7 @@ .vs/ .ionide/ +testdata /arduino/libraries/librariesindex/testdata/invalid.json /arduino/security/testdata/ /.licenses/ diff --git a/arduino/builder/builder.go b/arduino/builder/builder.go index 51646bdcf48..c24bac47011 100644 --- a/arduino/builder/builder.go +++ b/arduino/builder/builder.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/arduino/builder/internal/compilation" "github.com/arduino/arduino-cli/arduino/builder/internal/detector" + "github.com/arduino/arduino-cli/arduino/builder/internal/diagnostics" "github.com/arduino/arduino-cli/arduino/builder/internal/logger" "github.com/arduino/arduino-cli/arduino/builder/internal/progress" "github.com/arduino/arduino-cli/arduino/builder/internal/utils" @@ -36,6 +37,7 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" + "github.com/sirupsen/logrus" ) // ErrSketchCannotBeLocatedInBuildPath fixdoc @@ -90,6 +92,12 @@ type Builder struct { buildOptions *buildOptions libsDetector *detector.SketchLibrariesDetector + + // This is a function used to parse the output of the compiler + // It is used to extract errors and warnings + compilerOutputParser diagnostics.CompilerOutputParserCB + // and here are the diagnostics parsed from the compiler + compilerDiagnostics diagnostics.Diagnostics } // buildArtifacts contains the result of various build @@ -189,7 +197,7 @@ func NewBuilder( logger.Warn(string(verboseOut)) } - return &Builder{ + b := &Builder{ sketch: sk, buildProperties: buildProperties, buildPath: buildPath, @@ -226,7 +234,26 @@ func NewBuilder( buildProperties.GetPath("runtime.platform.path"), buildProperties.GetPath("build.core.path"), // TODO can we buildCorePath ? ), - }, nil + } + + b.compilerOutputParser = func(cmdline []string, out []byte) { + compiler := diagnostics.DetectCompilerFromCommandLine( + cmdline, + false, // at the moment compiler-probing is not required + ) + if compiler == nil { + logrus.Warnf("Could not detect compiler from: %s", cmdline) + return + } + diags, err := diagnostics.ParseCompilerOutput(compiler, out) + if err != nil { + logrus.Warnf("Error parsing compiler output: %s", err) + return + } + b.compilerDiagnostics = append(b.compilerDiagnostics, diags...) + } + + return b, nil } // GetBuildProperties returns the build properties for running this build @@ -249,6 +276,11 @@ func (b *Builder) ImportedLibraries() libraries.List { return b.libsDetector.ImportedLibraries() } +// CompilerDiagnostics returns the parsed compiler diagnostics +func (b *Builder) CompilerDiagnostics() diagnostics.Diagnostics { + return b.compilerDiagnostics +} + // Preprocess fixdoc func (b *Builder) Preprocess() ([]byte, error) { b.Progress.AddSubSteps(6) diff --git a/arduino/builder/compilation.go b/arduino/builder/compilation.go index e3c70900bf6..0d91f622579 100644 --- a/arduino/builder/compilation.go +++ b/arduino/builder/compilation.go @@ -166,6 +166,12 @@ func (b *Builder) compileFileWithRecipe( } b.logger.WriteStderr(commandStderr.Bytes()) + // Parse the output of the compiler to gather errors and warnings... + if b.compilerOutputParser != nil { + b.compilerOutputParser(command.GetArgs(), commandStdout.Bytes()) + b.compilerOutputParser(command.GetArgs(), commandStderr.Bytes()) + } + // ...and then return the error if err != nil { return nil, errors.WithStack(err) diff --git a/arduino/builder/internal/diagnostics/compiler_detection.go b/arduino/builder/internal/diagnostics/compiler_detection.go new file mode 100644 index 00000000000..53b83a52bc1 --- /dev/null +++ b/arduino/builder/internal/diagnostics/compiler_detection.go @@ -0,0 +1,85 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 diagnostics + +import ( + "bytes" + "path/filepath" + "strings" + + "github.com/arduino/arduino-cli/executils" + semver "go.bug.st/relaxed-semver" +) + +// DetectedCompiler represents a compiler detected from a given command line +type DetectedCompiler struct { + Name string + Family string + Version *semver.Version + DetailedVersion []string +} + +// This function is overridden for mocking unit tests +var runProcess = func(args ...string) []string { + if cmd, err := executils.NewProcess(nil, args...); err == nil { + out := &bytes.Buffer{} + cmd.RedirectStdoutTo(out) + cmd.Run() + return splitLines(out.Bytes()) + } + return nil +} + +// DetectCompilerFromCommandLine tries to detect a compiler from a given command line. +// If probeCompiler is true, the compiler may be executed with different flags to +// infer the version or capabilities. +func DetectCompilerFromCommandLine(args []string, probeCompiler bool) *DetectedCompiler { + if len(args) == 0 { + return nil + } + basename := filepath.Base(args[0]) + family := "" + if strings.Contains(basename, "g++") || strings.Contains(basename, "gcc") { + family = "gcc" + } + res := &DetectedCompiler{ + Name: basename, + Family: family, + } + + if family == "gcc" && probeCompiler { + // Run "gcc --version" to obtain more info + res.DetailedVersion = runProcess(args[0], "--version") + + // Usually on the first line we get the compiler architecture and + // version (as last field), followed by the compiler license, for + // example: + // + // g++ (Ubuntu 12.2.0-3ubuntu1) 12.2.0 + // Copyright (C) 2022 Free Software Foundation, Inc. + // This is free software; see the source for copying conditions. There is NO + // warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + // + if len(res.DetailedVersion) > 0 { + split := strings.Split(res.DetailedVersion[0], " ") + if len(split) >= 3 { + res.Name = split[0] + res.Version, _ = semver.Parse(split[len(split)-1]) + } + } + } + return res +} diff --git a/arduino/builder/internal/diagnostics/compiler_detection_test.go b/arduino/builder/internal/diagnostics/compiler_detection_test.go new file mode 100644 index 00000000000..024c66868ed --- /dev/null +++ b/arduino/builder/internal/diagnostics/compiler_detection_test.go @@ -0,0 +1,79 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 diagnostics + +import ( + "strings" + "testing" + + "github.com/stretchr/testify/require" +) + +func init() { + runProcess = mockedRunProcessToGetCompilerVersion +} + +func mockedRunProcessToGetCompilerVersion(args ...string) []string { + if strings.HasSuffix(args[0], "7.3.0-atmel3.6.1-arduino7/bin/avr-g++") && args[1] == "--version" { + return []string{ + "avr-g++ (GCC) 7.3.0", + "Copyright (C) 2017 Free Software Foundation, Inc.", + "This is free software; see the source for copying conditions. There is NO", + "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.", + "", + } + } + if strings.HasSuffix(args[0], "7.3.0-atmel3.6.1-arduino7/bin/avr-gcc") && args[1] == "--version" { + return []string{ + "avr-gcc (GCC) 7.3.0", + "Copyright (C) 2017 Free Software Foundation, Inc.", + "This is free software; see the source for copying conditions. There is NO", + "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.", + "", + } + } + if strings.HasSuffix(args[0], "xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/xtensa-esp32-elf-g++") && args[1] == "--version" { + return []string{ + "xtensa-esp32-elf-g++ (crosstool-NG esp-2021r2-patch3) 8.4.0", + "Copyright (C) 2018 Free Software Foundation, Inc.", + "This is free software; see the source for copying conditions. There is NO", + "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.", + "", + } + } + + panic("missing mock for command line: " + strings.Join(args, " ")) +} + +func TestCompilerDetection(t *testing.T) { + comp := DetectCompilerFromCommandLine([]string{"~/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++"}, true) + require.NotNil(t, comp) + require.Equal(t, "gcc", comp.Family) + require.Equal(t, "avr-g++", comp.Name) + require.Equal(t, "7.3.0", comp.Version.String()) + + comp = DetectCompilerFromCommandLine([]string{"~/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-gcc"}, true) + require.NotNil(t, comp) + require.Equal(t, "gcc", comp.Family) + require.Equal(t, "avr-gcc", comp.Name) + require.Equal(t, "7.3.0", comp.Version.String()) + + comp = DetectCompilerFromCommandLine([]string{"/home/megabug/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/xtensa-esp32-elf-g++"}, true) + require.NotNil(t, comp) + require.Equal(t, "gcc", comp.Family) + require.Equal(t, "xtensa-esp32-elf-g++", comp.Name) + require.Equal(t, "8.4.0", comp.Version.String()) +} diff --git a/arduino/builder/internal/diagnostics/parser.go b/arduino/builder/internal/diagnostics/parser.go new file mode 100644 index 00000000000..5aafaa5072d --- /dev/null +++ b/arduino/builder/internal/diagnostics/parser.go @@ -0,0 +1,173 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 diagnostics + +import ( + "fmt" + "strings" + + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" +) + +// CompilerOutputParserCB is a callback function that is called to feed a parser +// with the plain-text compiler output. +type CompilerOutputParserCB func(cmdline []string, out []byte) + +// Diagnostics represents a list of diagnostics +type Diagnostics []*Diagnostic + +// Diagnostic represents a diagnostic (a compiler error, warning, note, etc.) +type Diagnostic struct { + Severity Severity `json:"severity,omitempty"` + Message string `json:"message"` + File string `json:"file,omitempty"` + Line int `json:"line,omitempty"` + Column int `json:"col,omitempty"` + Context FullContext `json:"context,omitempty"` + Suggestions Notes `json:"suggestions,omitempty"` +} + +// Severity is a diagnostic severity +type Severity string + +const ( + // SeverityUnspecified is the undefined severity + SeverityUnspecified Severity = "" + // SeverityWarning is a warning + SeverityWarning = "WARNING" + // SeverityError is an error + SeverityError = "ERROR" + // SeverityFatal is a fatal error + SeverityFatal = "FATAL" +) + +// Notes represents a list of Note +type Notes []*Note + +// Note represents a compiler annotation or suggestion +type Note struct { + Message string `json:"message"` + File string `json:"file,omitempty"` + Line int `json:"line,omitempty"` + Column int `json:"col,omitempty"` +} + +// FullContext represents a list of Context +type FullContext []*Context + +// Context represents a context, i.e. a reference to a file, line and column +// or a part of the code that a Diagnostic refers to. +type Context struct { + Message string `json:"message"` + File string `json:"file,omitempty"` + Line int `json:"line,omitempty"` + Column int `json:"col,omitempty"` +} + +// ParseCompilerOutput parses the output of a compiler and returns a list of +// diagnostics. +func ParseCompilerOutput(compiler *DetectedCompiler, out []byte) ([]*Diagnostic, error) { + lines := splitLines(out) + switch compiler.Family { + case "gcc": + return parseGccOutput(lines) + default: + return nil, fmt.Errorf("unsupported compiler: %s", compiler) + } +} + +func splitLines(in []byte) []string { + res := strings.Split(string(in), "\n") + for i, line := range res { + res[i] = strings.TrimSuffix(line, "\r") + } + if l := len(res) - 1; res[l] == "" { + res = res[:l] + } + return res +} + +// ToRPC converts a Diagnostics to a slice of rpc.CompileDiagnostic +func (d Diagnostics) ToRPC() []*rpc.CompileDiagnostic { + if len(d) == 0 { + return nil + } + var res []*rpc.CompileDiagnostic + for _, diag := range d { + res = append(res, diag.ToRPC()) + } + return res +} + +// ToRPC converts a Diagnostic to a rpc.CompileDiagnostic +func (d *Diagnostic) ToRPC() *rpc.CompileDiagnostic { + if d == nil { + return nil + } + return &rpc.CompileDiagnostic{ + Severity: string(d.Severity), + Message: d.Message, + File: d.File, + Line: int64(d.Line), + Column: int64(d.Column), + Context: d.Context.ToRPC(), + Notes: d.Suggestions.ToRPC(), + } +} + +// ToRPC converts a Notes to a slice of rpc.CompileDiagnosticNote +func (s Notes) ToRPC() []*rpc.CompileDiagnosticNote { + var res []*rpc.CompileDiagnosticNote + for _, suggestion := range s { + res = append(res, suggestion.ToRPC()) + } + return res +} + +// ToRPC converts a Note to a rpc.CompileDiagnosticNote +func (s *Note) ToRPC() *rpc.CompileDiagnosticNote { + if s == nil { + return nil + } + return &rpc.CompileDiagnosticNote{ + File: s.File, + Line: int64(s.Line), + Column: int64(s.Column), + Message: s.Message, + } +} + +// ToRPC converts a FullContext to a slice of rpc.CompileDiagnosticContext +func (t FullContext) ToRPC() []*rpc.CompileDiagnosticContext { + var res []*rpc.CompileDiagnosticContext + for _, trace := range t { + res = append(res, trace.ToRPC()) + } + return res +} + +// ToRPC converts a Context to a rpc.CompileDiagnosticContext +func (d *Context) ToRPC() *rpc.CompileDiagnosticContext { + if d == nil { + return nil + } + return &rpc.CompileDiagnosticContext{ + File: d.File, + Line: int64(d.Line), + Column: int64(d.Column), + Message: d.Message, + } +} diff --git a/arduino/builder/internal/diagnostics/parser_gcc.go b/arduino/builder/internal/diagnostics/parser_gcc.go new file mode 100644 index 00000000000..afc9ef40c41 --- /dev/null +++ b/arduino/builder/internal/diagnostics/parser_gcc.go @@ -0,0 +1,193 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 diagnostics + +import ( + "strconv" + "strings" +) + +// Parse output from gcc compiler and extract diagnostics +func parseGccOutput(output []string) ([]*Diagnostic, error) { + // Output from gcc is a mix of diagnostics and other information. + // + // 1. include trace lines: + // + // In file included from /home/megabug/Arduino/libraries/Audio/src/Audio.h:16:0, + // ·················from /home/megabug/Arduino/Blink/Blink.ino:1: + // + // 2. in-file context lines: + // + // /home/megabug/Arduino/libraries/Audio/src/DAC.h: In member function 'void DACClass::enableInterrupts()': + // + // 3. actual diagnostic lines: + // + // /home/megabug/Arduino/libraries/Audio/src/DAC.h:31:44: fatal error: 'isrId' was not declared in this scope + // + // /home/megabug/Arduino/libraries/Audio/src/DAC.h:31:44: error: 'isrId' was not declared in this scope + // + // /home/megabug/Arduino/libraries/Audio/src/DAC.h:31:44: warning: 'isrId' was not declared in this scope + // + // 4. annotations or suggestions: + // + // /home/megabug/Arduino/Blink/Blink.ino:4:1: note: suggested alternative: 'rand' + // + // 5. extra context lines with an extract of the code that errors refers to: + // + // ·asd; + // ·^~~ + // ·rand + // + // ·void enableInterrupts() { NVIC_EnableIRQ(isrId); }; + // ···········································^~~~~ + + var fullContext FullContext + var fullContextRefersTo string + var inFileContext *Context + var currentDiagnostic *Diagnostic + var currentMessage *string + var res []*Diagnostic + + for _, in := range output { + isTrace := false + if strings.HasPrefix(in, "In file included from ") { + in = strings.TrimPrefix(in, "In file included from ") + // 1. include trace + isTrace = true + inFileContext = nil + fullContext = nil + fullContextRefersTo = "" + } else if strings.HasPrefix(in, " from ") { + in = strings.TrimPrefix(in, " from ") + // 1. include trace continuation + isTrace = true + } + if isTrace { + in = strings.TrimSuffix(in, ",") + file, line, col := extractFileLineAndColumn(in) + context := &Context{ + File: file, + Line: line, + Column: col, + Message: "included from here", + } + currentMessage = &context.Message + fullContext = append(fullContext, context) + continue + } + + if split := strings.SplitN(in, ": ", 2); len(split) == 2 { + file, line, column := extractFileLineAndColumn(split[0]) + msg := split[1] + + if line == 0 && column == 0 { + // 2. in-file context + inFileContext = &Context{ + Message: msg, + File: file, + } + currentMessage = &inFileContext.Message + continue + } + + if strings.HasPrefix(msg, "note: ") { + msg = strings.TrimPrefix(msg, "note: ") + // 4. annotations or suggestions + if currentDiagnostic != nil { + suggestion := &Note{ + Message: msg, + File: file, + Line: line, + Column: column, + } + currentDiagnostic.Suggestions = append(currentDiagnostic.Suggestions, suggestion) + currentMessage = &suggestion.Message + } + continue + } + + severity := SeverityUnspecified + if strings.HasPrefix(msg, "error: ") { + msg = strings.TrimPrefix(msg, "error: ") + severity = SeverityError + } else if strings.HasPrefix(msg, "warning: ") { + msg = strings.TrimPrefix(msg, "warning: ") + severity = SeverityWarning + } else if strings.HasPrefix(msg, "fatal error: ") { + msg = strings.TrimPrefix(msg, "fatal error: ") + severity = SeverityFatal + } + if severity != SeverityUnspecified { + // 3. actual diagnostic lines + currentDiagnostic = &Diagnostic{ + Severity: severity, + Message: msg, + File: file, + Line: line, + Column: column, + } + currentMessage = ¤tDiagnostic.Message + + if len(fullContext) > 0 { + if fullContextRefersTo == "" || fullContextRefersTo == file { + fullContextRefersTo = file + currentDiagnostic.Context = append(currentDiagnostic.Context, fullContext...) + } + } + if inFileContext != nil && inFileContext.File == file { + currentDiagnostic.Context = append(currentDiagnostic.Context, inFileContext) + } + + res = append(res, currentDiagnostic) + continue + } + } + + // 5. extra context lines + if strings.HasPrefix(in, " ") { + if currentMessage != nil { + *currentMessage += "\n" + in + } + continue + } + } + return res, nil +} + +func extractFileLineAndColumn(file string) (string, int, int) { + split := strings.Split(file, ":") + file = split[0] + if len(split) == 1 { + return file, 0, 0 + } + + // Special case: handle Windows drive letter `C:\...` + if len(split) > 1 && len(file) == 1 && strings.HasPrefix(split[1], `\`) { + file += ":" + split[1] + split = split[1:] + + if len(split) == 1 { + return file, 0, 0 + } + } + + line, err := strconv.Atoi(split[1]) + if err != nil || len(split) == 2 { + return file, line, 0 + } + column, _ := strconv.Atoi(split[2]) + return file, line, column +} diff --git a/arduino/builder/internal/diagnostics/parser_test.go b/arduino/builder/internal/diagnostics/parser_test.go new file mode 100644 index 00000000000..fe2b6cbed53 --- /dev/null +++ b/arduino/builder/internal/diagnostics/parser_test.go @@ -0,0 +1,57 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 diagnostics + +import ( + "bytes" + "encoding/json" + "strings" + "testing" + + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestParser(t *testing.T) { + t.Run("Generic001", func(t *testing.T) { runParserTest(t, "test001.txt") }) + t.Run("Generic002", func(t *testing.T) { runParserTest(t, "test002.txt") }) + t.Run("Generic003", func(t *testing.T) { runParserTest(t, "test003.txt") }) + t.Run("Generic004", func(t *testing.T) { runParserTest(t, "test004.txt") }) +} + +func runParserTest(t *testing.T, testFile string) { + testData, err := paths.New("testdata", "compiler_outputs", testFile).ReadFile() + require.NoError(t, err) + // The first line contains the compiler arguments + idx := bytes.Index(testData, []byte("\n")) + require.NotEqual(t, -1, idx) + args := strings.Split(string(testData[0:idx]), " ") + // The remainder of the file is the compiler output + data := testData[idx:] + + // Run compiler detection and parse compiler output + detectedCompiler := DetectCompilerFromCommandLine(args, true) + require.NotNil(t, detectedCompiler) + diags, err := ParseCompilerOutput(detectedCompiler, data) + require.NoError(t, err) + + // Check if the parsed data match the expected output + output, err := json.MarshalIndent(diags, "", " ") + require.NoError(t, err) + golden, err := paths.New("testdata", "compiler_outputs", testFile+".json").ReadFile() + require.NoError(t, err) + require.Equal(t, string(golden), string(output)) +} diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt new file mode 100644 index 00000000000..a04874cd03c --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt @@ -0,0 +1,12 @@ +/home/megabug/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_LEONARDO -DARDUINO_ARCH_AVR -DUSB_VID=0x2341 -DUSB_PID=0x8036 "-DUSB_MANUFACTURER=\"Unknown\"" "-DUSB_PRODUCT=\"Arduino Leonardo\"" -I/home/megabug/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/home/megabug/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/leonardo /tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/sketch/Blink.ino.cpp -o /tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/sketch/Blink.ino.cpp.o +/home/megabug/Arduino/Blink/Blink.ino:1:14: error: expected initializer before 'asd' + void setup() asd { + ^~~ +/home/megabug/Arduino/Blink/Blink.ino: In function 'void loop()': +/home/megabug/Arduino/Blink/Blink.ino:6:1: error: 'asd' was not declared in this scope + asd + ^~~ +/home/megabug/Arduino/Blink/Blink.ino:6:1: note: suggested alternative: 'rand' + asd + ^~~ + rand \ No newline at end of file diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json new file mode 100644 index 00000000000..e1fd65d270d --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json @@ -0,0 +1,30 @@ +[ + { + "severity": "ERROR", + "message": "expected initializer before 'asd'\n void setup() asd {\n ^~~", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1, + "col": 14 + }, + { + "severity": "ERROR", + "message": "'asd' was not declared in this scope\n asd\n ^~~", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 6, + "col": 1, + "context": [ + { + "message": "In function 'void loop()':", + "file": "/home/megabug/Arduino/Blink/Blink.ino" + } + ], + "suggestions": [ + { + "message": "suggested alternative: 'rand'\n asd\n ^~~\n rand", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 6, + "col": 1 + } + ] + } +] \ No newline at end of file diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt new file mode 100644 index 00000000000..c0add91431e --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt @@ -0,0 +1,34 @@ +/home/megabug/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I/home/megabug/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino -I/home/megabug/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/standard -I/home/megabug/Arduino/libraries/Audio/src /tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/sketch/Blink.ino.cpp -o /tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/sketch/Blink.ino.cpp.o +In file included from /home/megabug/Arduino/libraries/Audio/src/Audio.h:16:0, + from /home/megabug/Arduino/Blink/Blink.ino:1: +/home/megabug/Arduino/libraries/Audio/src/DAC.h:21:16: error: expected ')' before '*' token + DACClass(Dacc *_dac, uint32_t _dacId, IRQn_Type _isrId) : + ^ +/home/megabug/Arduino/libraries/Audio/src/DAC.h:35:2: error: 'Dacc' does not name a type + Dacc *dac; + ^~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h:37:2: error: 'IRQn_Type' does not name a type + IRQn_Type isrId; + ^~~~~~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h: In member function 'void DACClass::enableInterrupts()': +/home/megabug/Arduino/libraries/Audio/src/DAC.h:31:44: error: 'isrId' was not declared in this scope + void enableInterrupts() { NVIC_EnableIRQ(isrId); }; + ^~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h:31:29: error: 'NVIC_EnableIRQ' was not declared in this scope + void enableInterrupts() { NVIC_EnableIRQ(isrId); }; + ^~~~~~~~~~~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h: In member function 'void DACClass::disableInterrupts()': +/home/megabug/Arduino/libraries/Audio/src/DAC.h:32:45: error: 'isrId' was not declared in this scope + void disableInterrupts() { NVIC_DisableIRQ(isrId); }; + ^~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h:32:29: error: 'NVIC_DisableIRQ' was not declared in this scope + void disableInterrupts() { NVIC_DisableIRQ(isrId); }; + ^~~~~~~~~~~~~~~ +/home/megabug/Arduino/Blink/Blink.ino: In function 'void setup()': +/home/megabug/Arduino/Blink/Blink.ino:4:1: error: 'asd' was not declared in this scope + asd; + ^~~ +/home/megabug/Arduino/Blink/Blink.ino:4:1: note: suggested alternative: 'rand' + asd; + ^~~ + rand \ No newline at end of file diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json new file mode 100644 index 00000000000..cd1a4c402a5 --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json @@ -0,0 +1,172 @@ +[ + { + "severity": "ERROR", + "message": "expected ')' before '*' token\n DACClass(Dacc *_dac, uint32_t _dacId, IRQn_Type _isrId) :\n ^", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 21, + "col": 16, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + } + ] + }, + { + "severity": "ERROR", + "message": "'Dacc' does not name a type\n Dacc *dac;\n ^~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 35, + "col": 2, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + } + ] + }, + { + "severity": "ERROR", + "message": "'IRQn_Type' does not name a type\n IRQn_Type isrId;\n ^~~~~~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 37, + "col": 2, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + } + ] + }, + { + "severity": "ERROR", + "message": "'isrId' was not declared in this scope\n void enableInterrupts() { NVIC_EnableIRQ(isrId); };\n ^~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 31, + "col": 44, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::enableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'NVIC_EnableIRQ' was not declared in this scope\n void enableInterrupts() { NVIC_EnableIRQ(isrId); };\n ^~~~~~~~~~~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 31, + "col": 29, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::enableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'isrId' was not declared in this scope\n void disableInterrupts() { NVIC_DisableIRQ(isrId); };\n ^~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 32, + "col": 45, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::disableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'NVIC_DisableIRQ' was not declared in this scope\n void disableInterrupts() { NVIC_DisableIRQ(isrId); };\n ^~~~~~~~~~~~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 32, + "col": 29, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::disableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'asd' was not declared in this scope\n asd;\n ^~~", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 4, + "col": 1, + "context": [ + { + "message": "In function 'void setup()':", + "file": "/home/megabug/Arduino/Blink/Blink.ino" + } + ], + "suggestions": [ + { + "message": "suggested alternative: 'rand'\n asd;\n ^~~\n rand", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 4, + "col": 1 + } + ] + } +] \ No newline at end of file diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt new file mode 100644 index 00000000000..1b8af0f22d6 --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt @@ -0,0 +1,40 @@ +/home/megabug/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/gcc8_4_0-esp-2021r2-patch3/bin/xtensa-esp32-elf-g++ -DHAVE_CONFIG_H "-DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\"" -DUNITY_INCLUDE_CONFIG_H -DWITH_POSIX -D_GNU_SOURCE "-DIDF_VER=\"v4.4.1-1-gb8050b365e\"" -DESP_PLATFORM -D_POSIX_READER_WRITER_LOCKS -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/config -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/newlib/platform_include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/freertos/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/freertos/include/esp_additions/freertos -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/freertos/port/xtensa/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/freertos/include/esp_additions -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_hw_support/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_hw_support/include/soc -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_hw_support/include/soc/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_hw_support/port/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_hw_support/port/esp32/private_include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/heap/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/log/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/lwip/include/apps -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/lwip/include/apps/sntp -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/lwip/lwip/src/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/lwip/port/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/lwip/port/esp32/include/arch -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/soc/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/soc/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/soc/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/hal/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/hal/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/hal/platform_port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_rom/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_rom/include/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_rom/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_common/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_system/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_system/port/soc -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_system/port/public_compat -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/xtensa/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/xtensa/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/driver/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/driver/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_pm/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_ringbuf/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/efuse/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/efuse/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/vfs/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_wifi/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_event/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_netif/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_eth/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/tcpip_adapter/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_phy/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_phy/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_ipc/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/app_trace/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_timer/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/mbedtls/port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/mbedtls/mbedtls/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/mbedtls/esp_crt_bundle/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/app_update/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/spi_flash/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/bootloader_support/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/nvs_flash/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/pthread/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_gdbstub/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_gdbstub/xtensa -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_gdbstub/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/espcoredump/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/espcoredump/include/port/xtensa -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/wpa_supplicant/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/wpa_supplicant/port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/wpa_supplicant/esp_supplicant/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/ieee802154/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/console -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/asio/asio/asio/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/asio/port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/bt/common/osi/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/bt/include/esp32/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/bt/common/api/include/api -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/bt/common/btc/profile/esp/blufi/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/bt/common/btc/profile/esp/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/bt/host/bluedroid/api/include/api -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/cbor/port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/unity/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/unity/unity/src -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/cmock/CMock/src -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/coap/port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/coap/libcoap/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/nghttp/port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/nghttp/nghttp2/lib/includes -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-tls -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-tls/esp-tls-crypto -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_adc_cal/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_hid/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/tcp_transport/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_http_client/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_http_server/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_https_ota/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_lcd/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_lcd/interface -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/protobuf-c/protobuf-c -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/protocomm/include/common -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/protocomm/include/security -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/protocomm/include/transports -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/mdns/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_local_ctrl/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/sdmmc/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_serial_slave_link/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_websocket_client/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/expat/expat/expat/lib -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/expat/port/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/wear_levelling/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/fatfs/diskio -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/fatfs/vfs -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/fatfs/src -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/freemodbus/common/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/idf_test/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/idf_test/include/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/jsmn/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/json/cJSON -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/libsodium/libsodium/src/libsodium/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/libsodium/port_include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/mqtt/esp-mqtt/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/openssl/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/perfmon/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/spiffs/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/ulp/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/wifi_provisioning/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/button/button/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/rmaker_common/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/json_parser/upstream/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/json_parser/upstream -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/json_generator/upstream -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_schedule/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_rainmaker/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/qrcode/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/ws2812_led -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/dotprod/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/support/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/windows/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/windows/hann/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman_harris/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/windows/blackman_nuttall/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/windows/nuttall/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/windows/flat_top/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/iir/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/fir/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/math/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/math/add/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/math/sub/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/math/mul/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/math/addc/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/math/mulc/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/math/sqrt/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/matrix/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/fft/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/dct/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/conv/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/common/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/kalman/ekf/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dsp/modules/kalman/ekf_imu13states/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_littlefs/src -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp_littlefs/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/tool -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/typedef -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/image -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/math -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/nn -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/layer -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/detect -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-dl/include/model_zoo -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-sr/esp-tts/esp_tts_chinese/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp-sr/include/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp32-camera/driver/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/esp32-camera/conversions/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/include/fb_gfx/include -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/tools/sdk/esp32/qspi_qspi/include -mlongcalls -Wno-frame-address -ffunction-sections -fdata-sections -Wno-error=unused-function -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -ggdb -Os -freorder-blocks -Wwrite-strings -fstack-protector -fstrict-volatile-bitfields -Wno-error=unused-but-set-variable -fno-jump-tables -fno-tree-switch-conversion -std=gnu++11 -fexceptions -fno-rtti -MMD -c -DF_CPU=240000000L -DARDUINO=10607 -DARDUINO_ESPino32 -DARDUINO_ARCH_ESP32 "-DARDUINO_BOARD=\"ESPino32\"" "-DARDUINO_VARIANT=\"espino32\"" -DARDUINO_PARTITION_default -DESP32 -DCORE_DEBUG_LEVEL=0 -DARDUINO_USB_CDC_ON_BOOT=0 @/tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/build_opt.h -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/cores/esp32 -I/home/megabug/.arduino15/packages/esp32/hardware/esp32/2.0.3/variants/espino32 -I/home/megabug/Arduino/libraries/Audio/src /tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/sketch/Blink.ino.cpp -o /tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/sketch/Blink.ino.cpp.o +In file included from /home/megabug/Arduino/libraries/Audio/src/Audio.h:16, + from /home/megabug/Arduino/Blink/Blink.ino:1: +/home/megabug/Arduino/libraries/Audio/src/DAC.h:21:15: error: expected ')' before '*' token + DACClass(Dacc *_dac, uint32_t _dacId, IRQn_Type _isrId) : + ~ ^~ + ) +/home/megabug/Arduino/libraries/Audio/src/DAC.h:35:2: error: 'Dacc' does not name a type + Dacc *dac; + ^~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h:37:2: error: 'IRQn_Type' does not name a type + IRQn_Type isrId; + ^~~~~~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h: In member function 'void DACClass::enableInterrupts()': +/home/megabug/Arduino/libraries/Audio/src/DAC.h:31:43: error: 'isrId' was not declared in this scope + void enableInterrupts() { NVIC_EnableIRQ(isrId); }; + ^~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h:31:28: error: 'NVIC_EnableIRQ' was not declared in this scope + void enableInterrupts() { NVIC_EnableIRQ(isrId); }; + ^~~~~~~~~~~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h: In member function 'void DACClass::disableInterrupts()': +/home/megabug/Arduino/libraries/Audio/src/DAC.h:32:44: error: 'isrId' was not declared in this scope + void disableInterrupts() { NVIC_DisableIRQ(isrId); }; + ^~~~~ +/home/megabug/Arduino/libraries/Audio/src/DAC.h:32:28: error: 'NVIC_DisableIRQ' was not declared in this scope + void disableInterrupts() { NVIC_DisableIRQ(isrId); }; + ^~~~~~~~~~~~~~~ +In file included from /home/megabug/Arduino/Blink/Blink.ino:1: +/home/megabug/Arduino/libraries/Audio/src/Audio.h: In member function 'virtual size_t AudioClass::write(uint8_t)': +/home/megabug/Arduino/libraries/Audio/src/Audio.h:25:82: warning: no return statement in function returning non-void [-Wreturn-type] + virtual size_t write(uint8_t c) { /* not implemented */ }; + ^ +/home/megabug/Arduino/Blink/Blink.ino: In function 'void setup()': +/home/megabug/Arduino/Blink/Blink.ino:4:1: error: 'asd' was not declared in this scope + asd; + ^~~ +/home/megabug/Arduino/Blink/Blink.ino:4:1: note: suggested alternative: 'rand' + asd; + ^~~ + rand \ No newline at end of file diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json new file mode 100644 index 00000000000..5f9b36e4309 --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json @@ -0,0 +1,190 @@ +[ + { + "severity": "ERROR", + "message": "expected ')' before '*' token\n DACClass(Dacc *_dac, uint32_t _dacId, IRQn_Type _isrId) :\n ~ ^~\n )", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 21, + "col": 15, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + } + ] + }, + { + "severity": "ERROR", + "message": "'Dacc' does not name a type\n Dacc *dac;\n ^~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 35, + "col": 2, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + } + ] + }, + { + "severity": "ERROR", + "message": "'IRQn_Type' does not name a type\n IRQn_Type isrId;\n ^~~~~~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 37, + "col": 2, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + } + ] + }, + { + "severity": "ERROR", + "message": "'isrId' was not declared in this scope\n void enableInterrupts() { NVIC_EnableIRQ(isrId); };\n ^~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 31, + "col": 43, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::enableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'NVIC_EnableIRQ' was not declared in this scope\n void enableInterrupts() { NVIC_EnableIRQ(isrId); };\n ^~~~~~~~~~~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 31, + "col": 28, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::enableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'isrId' was not declared in this scope\n void disableInterrupts() { NVIC_DisableIRQ(isrId); };\n ^~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 32, + "col": 44, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::disableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'NVIC_DisableIRQ' was not declared in this scope\n void disableInterrupts() { NVIC_DisableIRQ(isrId); };\n ^~~~~~~~~~~~~~~", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h", + "line": 32, + "col": 28, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 16 + }, + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'void DACClass::disableInterrupts()':", + "file": "/home/megabug/Arduino/libraries/Audio/src/DAC.h" + } + ] + }, + { + "severity": "WARNING", + "message": "no return statement in function returning non-void [-Wreturn-type]\n virtual size_t write(uint8_t c) { /* not implemented */ };\n ^", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h", + "line": 25, + "col": 82, + "context": [ + { + "message": "included from here", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 1 + }, + { + "message": "In member function 'virtual size_t AudioClass::write(uint8_t)':", + "file": "/home/megabug/Arduino/libraries/Audio/src/Audio.h" + } + ] + }, + { + "severity": "ERROR", + "message": "'asd' was not declared in this scope\n asd;\n ^~~", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 4, + "col": 1, + "context": [ + { + "message": "In function 'void setup()':", + "file": "/home/megabug/Arduino/Blink/Blink.ino" + } + ], + "suggestions": [ + { + "message": "suggested alternative: 'rand'\n asd;\n ^~~\n rand", + "file": "/home/megabug/Arduino/Blink/Blink.ino", + "line": 4, + "col": 1 + } + ] + } +] \ No newline at end of file diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt new file mode 100644 index 00000000000..958800f68f5 --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt @@ -0,0 +1,5 @@ +C:\Users\runneradmin\AppData\Local\Temp\cli2123776893\A\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10607 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -IC:\Users\runneradmin\AppData\Local\Temp\cli2123776893\A\packages\arduino\hardware\avr\1.8.5\cores\arduino -IC:\Users\runneradmin\AppData\Local\Temp\cli2123776893\A\packages\arduino\hardware\avr\1.8.5\variants\standard C:\Users\runneradmin\AppData\Local\Temp\arduino\sketches\BD9E9425D0ACEC4A9F5E44E2417C33A5\sketch\wrong.cpp -o C:\Users\runneradmin\AppData\Local\Temp\arduino\sketches\BD9E9425D0ACEC4A9F5E44E2417C33A5\sketch\wrong.cpp.o +D:\a\arduino-cli\arduino-cli\internal\integrationtest\compile_3\testdata\blink_with_wrong_cpp\wrong.cpp: In function 'void wrong()': +D:\a\arduino-cli\arduino-cli\internal\integrationtest\compile_3\testdata\blink_with_wrong_cpp\wrong.cpp:1:14: error: expected '}' at end of input + void wrong() { + ^ diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json new file mode 100644 index 00000000000..e436025aee2 --- /dev/null +++ b/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json @@ -0,0 +1,15 @@ +[ + { + "severity": "ERROR", + "message": "expected '}' at end of input\n void wrong() {\n ^", + "file": "D:\\a\\arduino-cli\\arduino-cli\\internal\\integrationtest\\compile_3\\testdata\\blink_with_wrong_cpp\\wrong.cpp", + "line": 1, + "col": 14, + "context": [ + { + "message": "In function 'void wrong()':", + "file": "D:\\a\\arduino-cli\\arduino-cli\\internal\\integrationtest\\compile_3\\testdata\\blink_with_wrong_cpp\\wrong.cpp" + } + ] + } +] \ No newline at end of file diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 604a7acb215..c168f27998a 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -177,6 +177,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream if pme.GetProfile() != nil { libsManager = lm } + sketchBuilder, err := builder.NewBuilder( sk, boardBuildProperties, @@ -218,6 +219,10 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } }() + defer func() { + r.Diagnostics = sketchBuilder.CompilerDiagnostics().ToRPC() + }() + defer func() { buildProperties := sketchBuilder.GetBuildProperties() if buildProperties == nil { diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 8f371d5b060..1204b529f17 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -348,6 +348,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { UpdatedUploadPort: result.NewPort(uploadRes.GetUpdatedUploadPort()), }, ProfileOut: profileOut, + Diagnostics: result.NewCompileDiagnostics(compileRes.GetDiagnostics()), Success: compileError == nil, showPropertiesMode: showProperties, hideStats: preprocess, @@ -392,14 +393,14 @@ type updatedUploadPortResult struct { } type compileResult struct { - CompilerOut string `json:"compiler_out"` - CompilerErr string `json:"compiler_err"` - BuilderResult *result.CompileResponse `json:"builder_result"` - UploadResult updatedUploadPortResult `json:"upload_result"` - Success bool `json:"success"` - ProfileOut string `json:"profile_out,omitempty"` - Error string `json:"error,omitempty"` - + CompilerOut string `json:"compiler_out"` + CompilerErr string `json:"compiler_err"` + BuilderResult *result.CompileResponse `json:"builder_result"` + UploadResult updatedUploadPortResult `json:"upload_result"` + Success bool `json:"success"` + ProfileOut string `json:"profile_out,omitempty"` + Error string `json:"error,omitempty"` + Diagnostics []*result.CompileDiagnostic `json:"diagnostics,omitempty"` showPropertiesMode arguments.ShowPropertiesMode hideStats bool } diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index 6b19c138a6d..a632af7737c 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -18,6 +18,7 @@ package result import ( "cmp" + f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/orderedmap" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" @@ -880,6 +881,7 @@ type CompileResponse struct { BoardPlatform *InstalledPlatformReference `json:"board_platform,omitempty"` BuildPlatform *InstalledPlatformReference `json:"build_platform,omitempty"` BuildProperties []string `json:"build_properties,omitempty"` + Diagnostics []*CompileDiagnostic `json:"diagnostics,omitempty"` } func NewCompileResponse(c *rpc.CompileResponse) *CompileResponse { @@ -904,6 +906,7 @@ func NewCompileResponse(c *rpc.CompileResponse) *CompileResponse { BoardPlatform: NewInstalledPlatformReference(c.GetBoardPlatform()), BuildPlatform: NewInstalledPlatformReference(c.GetBuildPlatform()), BuildProperties: c.GetBuildProperties(), + Diagnostics: NewCompileDiagnostics(c.GetDiagnostics()), } } @@ -959,3 +962,61 @@ func NewBoardListWatchResponse(r *rpc.BoardListWatchResponse) *BoardListWatchRes Error: r.Error, } } + +type CompileDiagnostic struct { + Severity string `json:"severity,omitempty"` + Message string `json:"message,omitempty"` + File string `json:"file,omitempty"` + Line int64 `json:"line,omitempty"` + Column int64 `json:"column,omitempty"` + Context []*CompileDiagnosticContext `json:"context,omitempty"` + Notes []*CompileDiagnosticNote `json:"notes,omitempty"` +} + +func NewCompileDiagnostics(cd []*rpc.CompileDiagnostic) []*CompileDiagnostic { + return f.Map(cd, NewCompileDiagnostic) +} + +func NewCompileDiagnostic(cd *rpc.CompileDiagnostic) *CompileDiagnostic { + return &CompileDiagnostic{ + Severity: cd.GetSeverity(), + Message: cd.GetMessage(), + File: cd.GetFile(), + Line: cd.GetLine(), + Column: cd.GetColumn(), + Context: f.Map(cd.GetContext(), NewCompileDiagnosticContext), + Notes: f.Map(cd.GetNotes(), NewCompileDiagnosticNote), + } +} + +type CompileDiagnosticContext struct { + Message string `json:"message,omitempty"` + File string `json:"file,omitempty"` + Line int64 `json:"line,omitempty"` + Column int64 `json:"column,omitempty"` +} + +func NewCompileDiagnosticContext(cdc *rpc.CompileDiagnosticContext) *CompileDiagnosticContext { + return &CompileDiagnosticContext{ + Message: cdc.GetMessage(), + File: cdc.GetFile(), + Line: cdc.GetLine(), + Column: cdc.GetColumn(), + } +} + +type CompileDiagnosticNote struct { + Message string `json:"message,omitempty"` + File string `json:"file,omitempty"` + Line int64 `json:"line,omitempty"` + Column int64 `json:"column,omitempty"` +} + +func NewCompileDiagnosticNote(cdn *rpc.CompileDiagnosticNote) *CompileDiagnosticNote { + return &CompileDiagnosticNote{ + Message: cdn.GetMessage(), + File: cdn.GetFile(), + Line: cdn.GetLine(), + Column: cdn.GetColumn(), + } +} diff --git a/internal/cli/feedback/result/rpc_test.go b/internal/cli/feedback/result/rpc_test.go index 46adbcd8acc..af5259d128e 100644 --- a/internal/cli/feedback/result/rpc_test.go +++ b/internal/cli/feedback/result/rpc_test.go @@ -205,6 +205,18 @@ func TestAllFieldAreMapped(t *testing.T) { boardListWatchResponseRpc := &rpc.BoardListWatchResponse{} boardListWatchResponseResult := result.NewBoardListWatchResponse(boardListWatchResponseRpc) mustContainsAllPropertyOfRpcStruct(t, boardListWatchResponseRpc, boardListWatchResponseResult) + + compileDiagnosticRpc := &rpc.CompileDiagnostic{} + compileDiagnosticResult := result.NewCompileDiagnostic(compileDiagnosticRpc) + mustContainsAllPropertyOfRpcStruct(t, compileDiagnosticRpc, compileDiagnosticResult) + + compileDiagnosticContextRpc := &rpc.CompileDiagnosticContext{} + compileDiagnosticContextResult := result.NewCompileDiagnosticContext(compileDiagnosticContextRpc) + mustContainsAllPropertyOfRpcStruct(t, compileDiagnosticContextRpc, compileDiagnosticContextResult) + + compileDiagnosticNoteRpc := &rpc.CompileDiagnosticNote{} + compileDiagnosticNoteResult := result.NewCompileDiagnosticNote(compileDiagnosticNoteRpc) + mustContainsAllPropertyOfRpcStruct(t, compileDiagnosticNoteRpc, compileDiagnosticNoteResult) } func TestEnumsMapsEveryRpcCounterpart(t *testing.T) { diff --git a/internal/integrationtest/compile_3/compile_test.go b/internal/integrationtest/compile_3/compile_test.go index 2df3d59f40d..2f9ba8e5306 100644 --- a/internal/integrationtest/compile_3/compile_test.go +++ b/internal/integrationtest/compile_3/compile_test.go @@ -113,10 +113,19 @@ func TestCompilerErrOutput(t *testing.T) { require.NoError(t, err) // Run compile and catch err stream - out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "--format", "json", sketch.String()) + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--format", "json", sketch.String()) require.Error(t, err) - compilerErr := requirejson.Parse(t, out).Query(".compiler_err") - compilerErr.MustContain(`"error"`) + outJson := requirejson.Parse(t, out) + outJson.Query(`.compiler_err`).MustContain(`"error"`) + outJson.Query(`.diagnostics`).MustContain(` + [ + { + "severity": "ERROR", + "line": 1, + "column": 14, + "context": [ { "message": "In function 'void wrong()':" } ] + } + ]`) } // Check that library discover do not generate false errors @@ -132,6 +141,7 @@ func TestCompilerErrOutput(t *testing.T) { jsonOut := requirejson.Parse(t, out) jsonOut.Query(".compiler_out").MustNotContain(`"fatal error"`) jsonOut.Query(".compiler_err").MustNotContain(`"fatal error"`) + jsonOut.MustNotContain(`{ "diagnostics" : [] }`) } } diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index 7f3a8c6801c..d5564454b25 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -343,6 +343,8 @@ type CompileResponse struct { Progress *TaskProgress `protobuf:"bytes,8,opt,name=progress,proto3" json:"progress,omitempty"` // Build properties used for compiling BuildProperties []string `protobuf:"bytes,9,rep,name=build_properties,json=buildProperties,proto3" json:"build_properties,omitempty"` + // Compiler errors and warnings + Diagnostics []*CompileDiagnostic `protobuf:"bytes,10,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` } func (x *CompileResponse) Reset() { @@ -440,6 +442,13 @@ func (x *CompileResponse) GetBuildProperties() []string { return nil } +func (x *CompileResponse) GetDiagnostics() []*CompileDiagnostic { + if x != nil { + return x.Diagnostics + } + return nil +} + type ExecutableSectionSize struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -503,6 +512,260 @@ func (x *ExecutableSectionSize) GetMaxSize() int64 { return 0 } +type CompileDiagnostic struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Severity of the diagnostic + Severity string `protobuf:"bytes,1,opt,name=severity,proto3" json:"severity,omitempty"` + // The explanation of the diagnostic (it may be multiple preformatted lines) + Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` + // The file containing the diagnostic + File string `protobuf:"bytes,3,opt,name=file,proto3" json:"file,omitempty"` + // The line of the diagnostic if available (starts from 1) + Line int64 `protobuf:"varint,4,opt,name=line,proto3" json:"line,omitempty"` + // The column of the diagnostic if available (starts from 1) + Column int64 `protobuf:"varint,5,opt,name=column,proto3" json:"column,omitempty"` + // The context where this diagnostic is found (it may be multiple files that + // represents a chain of includes, or a text describing where the diagnostic + // is found) + Context []*CompileDiagnosticContext `protobuf:"bytes,6,rep,name=context,proto3" json:"context,omitempty"` + // Annotations or suggestions to the diagnostic made by the compiler + Notes []*CompileDiagnosticNote `protobuf:"bytes,7,rep,name=notes,proto3" json:"notes,omitempty"` +} + +func (x *CompileDiagnostic) Reset() { + *x = CompileDiagnostic{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompileDiagnostic) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompileDiagnostic) ProtoMessage() {} + +func (x *CompileDiagnostic) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompileDiagnostic.ProtoReflect.Descriptor instead. +func (*CompileDiagnostic) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{3} +} + +func (x *CompileDiagnostic) GetSeverity() string { + if x != nil { + return x.Severity + } + return "" +} + +func (x *CompileDiagnostic) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *CompileDiagnostic) GetFile() string { + if x != nil { + return x.File + } + return "" +} + +func (x *CompileDiagnostic) GetLine() int64 { + if x != nil { + return x.Line + } + return 0 +} + +func (x *CompileDiagnostic) GetColumn() int64 { + if x != nil { + return x.Column + } + return 0 +} + +func (x *CompileDiagnostic) GetContext() []*CompileDiagnosticContext { + if x != nil { + return x.Context + } + return nil +} + +func (x *CompileDiagnostic) GetNotes() []*CompileDiagnosticNote { + if x != nil { + return x.Notes + } + return nil +} + +type CompileDiagnosticContext struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The message describing the context reference + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + // The file of the context reference + File string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"` + // The line of the context reference + Line int64 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` + // The column of the context reference + Column int64 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"` +} + +func (x *CompileDiagnosticContext) Reset() { + *x = CompileDiagnosticContext{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompileDiagnosticContext) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompileDiagnosticContext) ProtoMessage() {} + +func (x *CompileDiagnosticContext) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompileDiagnosticContext.ProtoReflect.Descriptor instead. +func (*CompileDiagnosticContext) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{4} +} + +func (x *CompileDiagnosticContext) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *CompileDiagnosticContext) GetFile() string { + if x != nil { + return x.File + } + return "" +} + +func (x *CompileDiagnosticContext) GetLine() int64 { + if x != nil { + return x.Line + } + return 0 +} + +func (x *CompileDiagnosticContext) GetColumn() int64 { + if x != nil { + return x.Column + } + return 0 +} + +type CompileDiagnosticNote struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The message describing the compiler note + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + // The file of the compiler note + File string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"` + // The line of the compiler note + Line int64 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` + // The column of the compiler note + Column int64 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"` +} + +func (x *CompileDiagnosticNote) Reset() { + *x = CompileDiagnosticNote{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CompileDiagnosticNote) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompileDiagnosticNote) ProtoMessage() {} + +func (x *CompileDiagnosticNote) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompileDiagnosticNote.ProtoReflect.Descriptor instead. +func (*CompileDiagnosticNote) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{5} +} + +func (x *CompileDiagnosticNote) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *CompileDiagnosticNote) GetFile() string { + if x != nil { + return x.File + } + return "" +} + +func (x *CompileDiagnosticNote) GetLine() int64 { + if x != nil { + return x.Line + } + return 0 +} + +func (x *CompileDiagnosticNote) GetColumn() int64 { + if x != nil { + return x.Column + } + return 0 +} + var File_cc_arduino_cli_commands_v1_compile_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ @@ -587,7 +850,7 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xd6, 0x04, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x22, 0xa7, 0x05, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, @@ -624,18 +887,56 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, - 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, - 0x78, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, + 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, + 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x22, 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -650,32 +951,38 @@ func file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_compile_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_compile_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_cc_arduino_cli_commands_v1_compile_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_cc_arduino_cli_commands_v1_compile_proto_goTypes = []interface{}{ (*CompileRequest)(nil), // 0: cc.arduino.cli.commands.v1.CompileRequest (*CompileResponse)(nil), // 1: cc.arduino.cli.commands.v1.CompileResponse (*ExecutableSectionSize)(nil), // 2: cc.arduino.cli.commands.v1.ExecutableSectionSize - nil, // 3: cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry - (*Instance)(nil), // 4: cc.arduino.cli.commands.v1.Instance - (*wrapperspb.BoolValue)(nil), // 5: google.protobuf.BoolValue - (*Library)(nil), // 6: cc.arduino.cli.commands.v1.Library - (*InstalledPlatformReference)(nil), // 7: cc.arduino.cli.commands.v1.InstalledPlatformReference - (*TaskProgress)(nil), // 8: cc.arduino.cli.commands.v1.TaskProgress + (*CompileDiagnostic)(nil), // 3: cc.arduino.cli.commands.v1.CompileDiagnostic + (*CompileDiagnosticContext)(nil), // 4: cc.arduino.cli.commands.v1.CompileDiagnosticContext + (*CompileDiagnosticNote)(nil), // 5: cc.arduino.cli.commands.v1.CompileDiagnosticNote + nil, // 6: cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry + (*Instance)(nil), // 7: cc.arduino.cli.commands.v1.Instance + (*wrapperspb.BoolValue)(nil), // 8: google.protobuf.BoolValue + (*Library)(nil), // 9: cc.arduino.cli.commands.v1.Library + (*InstalledPlatformReference)(nil), // 10: cc.arduino.cli.commands.v1.InstalledPlatformReference + (*TaskProgress)(nil), // 11: cc.arduino.cli.commands.v1.TaskProgress } var file_cc_arduino_cli_commands_v1_compile_proto_depIdxs = []int32{ - 4, // 0: cc.arduino.cli.commands.v1.CompileRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 3, // 1: cc.arduino.cli.commands.v1.CompileRequest.source_override:type_name -> cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry - 5, // 2: cc.arduino.cli.commands.v1.CompileRequest.export_binaries:type_name -> google.protobuf.BoolValue - 6, // 3: cc.arduino.cli.commands.v1.CompileResponse.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library - 2, // 4: cc.arduino.cli.commands.v1.CompileResponse.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize - 7, // 5: cc.arduino.cli.commands.v1.CompileResponse.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 7, // 6: cc.arduino.cli.commands.v1.CompileResponse.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 8, // 7: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 7, // 0: cc.arduino.cli.commands.v1.CompileRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 6, // 1: cc.arduino.cli.commands.v1.CompileRequest.source_override:type_name -> cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry + 8, // 2: cc.arduino.cli.commands.v1.CompileRequest.export_binaries:type_name -> google.protobuf.BoolValue + 9, // 3: cc.arduino.cli.commands.v1.CompileResponse.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library + 2, // 4: cc.arduino.cli.commands.v1.CompileResponse.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize + 10, // 5: cc.arduino.cli.commands.v1.CompileResponse.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 10, // 6: cc.arduino.cli.commands.v1.CompileResponse.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 11, // 7: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 3, // 8: cc.arduino.cli.commands.v1.CompileResponse.diagnostics:type_name -> cc.arduino.cli.commands.v1.CompileDiagnostic + 4, // 9: cc.arduino.cli.commands.v1.CompileDiagnostic.context:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticContext + 5, // 10: cc.arduino.cli.commands.v1.CompileDiagnostic.notes:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticNote + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_compile_proto_init() } @@ -722,6 +1029,42 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompileDiagnostic); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompileDiagnosticContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompileDiagnosticNote); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -729,7 +1072,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_compile_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 7, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index ff160ba1c01..57c6ca9d23d 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -115,6 +115,8 @@ message CompileResponse { TaskProgress progress = 8; // Build properties used for compiling repeated string build_properties = 9; + // Compiler errors and warnings + repeated CompileDiagnostic diagnostics = 10; } message ExecutableSectionSize { @@ -122,3 +124,44 @@ message ExecutableSectionSize { int64 size = 2; int64 max_size = 3; } + +message CompileDiagnostic { + // Severity of the diagnostic + string severity = 1; + // The explanation of the diagnostic (it may be multiple preformatted lines) + string message = 2; + // The file containing the diagnostic + string file = 3; + // The line of the diagnostic if available (starts from 1) + int64 line = 4; + // The column of the diagnostic if available (starts from 1) + int64 column = 5; + // The context where this diagnostic is found (it may be multiple files that + // represents a chain of includes, or a text describing where the diagnostic + // is found) + repeated CompileDiagnosticContext context = 6; + // Annotations or suggestions to the diagnostic made by the compiler + repeated CompileDiagnosticNote notes = 7; +} + +message CompileDiagnosticContext { + // The message describing the context reference + string message = 1; + // The file of the context reference + string file = 2; + // The line of the context reference + int64 line = 3; + // The column of the context reference + int64 column = 4; +} + +message CompileDiagnosticNote { + // The message describing the compiler note + string message = 1; + // The file of the compiler note + string file = 2; + // The line of the compiler note + int64 line = 3; + // The column of the compiler note + int64 column = 4; +} From 50a8bf5c3e61d5b661ccfcd6a055e82eeb510859 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 8 Nov 2023 17:31:32 +0100 Subject: [PATCH 024/361] [breaking] Remove gRPC `settings` service (#2411) * Removed setting service * Updated docs * Update mkdocs configuration --- Taskfile.yml | 2 - client_example/main.go | 88 +- commands/daemon/settings.go | 43 +- commands/daemon/settings_test.go | 50 +- docs/UPGRADING.md | 21 + internal/cli/config/delete.go | 8 +- internal/cli/daemon/daemon.go | 4 - internal/integrationtest/arduino-cli.go | 33 +- mkdocs.yml | 1 - rpc/buf.yaml | 3 - rpc/cc/arduino/cli/commands/v1/commands.pb.go | 1266 +++++++++-------- rpc/cc/arduino/cli/commands/v1/commands.proto | 21 + .../cli/commands/v1/commands_grpc.pb.go | 234 +++ rpc/cc/arduino/cli/commands/v1/settings.pb.go | 834 +++++++++++ .../{settings => commands}/v1/settings.proto | 50 +- rpc/cc/arduino/cli/settings/v1/settings.pb.go | 878 ------------ .../cli/settings/v1/settings_grpc.pb.go | 321 ----- 17 files changed, 1899 insertions(+), 1958 deletions(-) create mode 100644 rpc/cc/arduino/cli/commands/v1/settings.pb.go rename rpc/cc/arduino/cli/{settings => commands}/v1/settings.proto (55%) delete mode 100644 rpc/cc/arduino/cli/settings/v1/settings.pb.go delete mode 100644 rpc/cc/arduino/cli/settings/v1/settings_grpc.pb.go diff --git a/Taskfile.yml b/Taskfile.yml index e19fd011777..a3a8d5ab5a0 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -237,13 +237,11 @@ tasks: desc: Compile protobuf definitions cmds: - '{{ default "protoc" .PROTOC_BINARY }} --proto_path=rpc --go_out=./rpc --go_opt=paths=source_relative --go-grpc_out=./rpc --go-grpc_opt=paths=source_relative ./rpc/cc/arduino/cli/commands/v1/*.proto' - - '{{ default "protoc" .PROTOC_BINARY }} --proto_path=rpc --go_out=./rpc --go_opt=paths=source_relative --go-grpc_out=./rpc --go-grpc_opt=paths=source_relative ./rpc/cc/arduino/cli/settings/v1/*.proto' protoc:docs: desc: Generate docs for protobuf definitions cmds: - '{{ default "protoc" .PROTOC_BINARY }} --doc_out=./docs/rpc --doc_opt=markdown,commands.md --proto_path=rpc ./rpc/cc/arduino/cli/commands/v1/*.proto' - - '{{ default "protoc" .PROTOC_BINARY }} --doc_out=./docs/rpc --doc_opt=markdown,settings.md --proto_path=rpc ./rpc/cc/arduino/cli/settings/v1/*.proto' docs:include-configuration-json-schema: desc: Copy configuration JSON schema to make it available in documentation diff --git a/client_example/main.go b/client_example/main.go index 3be6fb596fe..23526db43af 100644 --- a/client_example/main.go +++ b/client_example/main.go @@ -29,7 +29,6 @@ import ( "time" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/settings/v1" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" ) @@ -63,8 +62,6 @@ func main() { // Create an instance of the gRPC clients. client := rpc.NewArduinoCoreServiceClient(conn) - settingsClient := settings.NewSettingsServiceClient(conn) - // Now we can call various methods of the API... // `Version` can be called without any setup or init procedure. @@ -76,39 +73,39 @@ func main() { // Use SetValue to configure the arduino-cli directories. log.Println("calling SetValue") - callSetValue(settingsClient) + callSetValue(client) - // List all the settings. - log.Println("calling GetAll()") - callGetAll(settingsClient) + // List all settings + log.Println("calling SettingsGetAll()") + callGetAll(client) // Merge applies multiple settings values at once. - log.Println("calling Merge()") - callMerge(settingsClient, `{"foo": {"value": "bar"}, "daemon":{"port":"422"}, "board_manager": {"additional_urls":["https://example.com"]}}`) + log.Println("calling SettingsMerge()") + callMerge(client, `{"foo": {"value": "bar"}, "daemon":{"port":"422"}, "board_manager": {"additional_urls":["https://example.com"]}}`) - log.Println("calling GetAll()") - callGetAll(settingsClient) + log.Println("calling SettingsGetAll()") + callGetAll(client) - log.Println("calling Merge()") - callMerge(settingsClient, `{"foo": {} }`) + log.Println("calling SettingsMerge()") + callMerge(client, `{"foo": {} }`) - log.Println("calling GetAll()") - callGetAll(settingsClient) + log.Println("calling SettingsGetAll()") + callGetAll(client) - log.Println("calling Merge()") - callMerge(settingsClient, `{"foo": "bar" }`) + log.Println("calling SettingsMerge()") + callMerge(client, `{"foo": "bar" }`) // Get the value of the foo key. - log.Println("calling GetValue(foo)") - callGetValue(settingsClient) + log.Println("calling SettingsGetValue(foo)") + callGetValue(client) - // List all the settings. - log.Println("calling GetAll()") - callGetAll(settingsClient) + // List all settings + log.Println("calling SettingsGetAll()") + callGetAll(client) // Write settings to file. log.Println("calling Write()") - callWrite(settingsClient) + callWrite(client) // Before we can do anything with the CLI, an "instance" must be created. // We keep a reference to the created instance because we will need it to @@ -121,7 +118,7 @@ func main() { // We set up the proxy and then run the update to verify that the proxy settings are currently used log.Println("calling setProxy") - callSetProxy(settingsClient) + callSetProxy(client) // With a brand new instance, the first operation should always be updating // the index. @@ -247,22 +244,21 @@ func callVersion(client rpc.ArduinoCoreServiceClient) { log.Printf("arduino-cli version: %v", versionResp.GetVersion()) } -func callSetValue(client settings.SettingsServiceClient) { - _, err := client.SetValue(context.Background(), - &settings.SetValueRequest{ +func callSetValue(client rpc.ArduinoCoreServiceClient) { + _, err := client.SettingsSetValue(context.Background(), + &rpc.SettingsSetValueRequest{ Key: "directories", JsonData: `{"data": "` + dataDir + `", "downloads": "` + path.Join(dataDir, "staging") + `", "user": "` + path.Join(dataDir, "sketchbook") + `"}`, }) if err != nil { log.Fatalf("Error setting settings value: %s", err) - } } -func callSetProxy(client settings.SettingsServiceClient) { - _, err := client.SetValue(context.Background(), - &settings.SetValueRequest{ +func callSetProxy(client rpc.ArduinoCoreServiceClient) { + _, err := client.SettingsSetValue(context.Background(), + &rpc.SettingsSetValueRequest{ Key: "network.proxy", JsonData: `"http://localhost:3128"`, }) @@ -272,9 +268,9 @@ func callSetProxy(client settings.SettingsServiceClient) { } } -func callUnsetProxy(client settings.SettingsServiceClient) { - _, err := client.SetValue(context.Background(), - &settings.SetValueRequest{ +func callUnsetProxy(client rpc.ArduinoCoreServiceClient) { + _, err := client.SettingsSetValue(context.Background(), + &rpc.SettingsSetValueRequest{ Key: "network.proxy", JsonData: `""`, }) @@ -284,9 +280,9 @@ func callUnsetProxy(client settings.SettingsServiceClient) { } } -func callMerge(client settings.SettingsServiceClient, jsonData string) { - _, err := client.Merge(context.Background(), - &settings.MergeRequest{ +func callMerge(client rpc.ArduinoCoreServiceClient, jsonData string) { + _, err := client.SettingsMerge(context.Background(), + &rpc.SettingsMergeRequest{ JsonData: jsonData, }) @@ -295,9 +291,9 @@ func callMerge(client settings.SettingsServiceClient, jsonData string) { } } -func callGetValue(client settings.SettingsServiceClient) { - getValueResp, err := client.GetValue(context.Background(), - &settings.GetValueRequest{ +func callGetValue(client rpc.ArduinoCoreServiceClient) { + getValueResp, err := client.SettingsGetValue(context.Background(), + &rpc.SettingsGetValueRequest{ Key: "foo", }) @@ -308,8 +304,8 @@ func callGetValue(client settings.SettingsServiceClient) { log.Printf("Value: %s: %s", getValueResp.GetKey(), getValueResp.GetJsonData()) } -func callGetAll(client settings.SettingsServiceClient) { - getAllResp, err := client.GetAll(context.Background(), &settings.GetAllRequest{}) +func callGetAll(client rpc.ArduinoCoreServiceClient) { + getAllResp, err := client.SettingsGetAll(context.Background(), &rpc.SettingsGetAllRequest{}) if err != nil { log.Fatalf("Error getting settings: %s", err) @@ -318,10 +314,10 @@ func callGetAll(client settings.SettingsServiceClient) { log.Printf("Settings: %s", getAllResp.GetJsonData()) } -func callWrite(client settings.SettingsServiceClient) { - _, err := client.Write(context.Background(), - &settings.WriteRequest{ - FilePath: path.Join(dataDir, "written-settings.yml"), +func callWrite(client rpc.ArduinoCoreServiceClient) { + _, err := client.SettingsWrite(context.Background(), + &rpc.SettingsWriteRequest{ + FilePath: path.Join(dataDir, "written-rpc.Settingsyml"), }) if err != nil { diff --git a/commands/daemon/settings.go b/commands/daemon/settings.go index 60b7169fc87..b5a03d34b49 100644 --- a/commands/daemon/settings.go +++ b/commands/daemon/settings.go @@ -23,20 +23,15 @@ import ( "strings" "github.com/arduino/arduino-cli/configuration" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/settings/v1" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// SettingsService implements the `Settings` service -type SettingsService struct { - rpc.UnimplementedSettingsServiceServer -} - -// GetAll returns a message with a string field containing all the settings +// SettingsGetAll returns a message with a string field containing all the settings // currently in use, marshalled in JSON format. -func (s *SettingsService) GetAll(ctx context.Context, req *rpc.GetAllRequest) (*rpc.GetAllResponse, error) { +func (s *ArduinoCoreServerImpl) SettingsGetAll(ctx context.Context, req *rpc.SettingsGetAllRequest) (*rpc.SettingsGetAllResponse, error) { b, err := json.Marshal(configuration.Settings.AllSettings()) if err == nil { - return &rpc.GetAllResponse{ + return &rpc.SettingsGetAllResponse{ JsonData: string(b), }, nil } @@ -72,8 +67,8 @@ func mapper(toMap map[string]interface{}) map[string]interface{} { return res } -// Merge applies multiple settings values at once. -func (s *SettingsService) Merge(ctx context.Context, req *rpc.MergeRequest) (*rpc.MergeResponse, error) { +// SettingsMerge applies multiple settings values at once. +func (s *ArduinoCoreServerImpl) SettingsMerge(ctx context.Context, req *rpc.SettingsMergeRequest) (*rpc.SettingsMergeResponse, error) { var toMerge map[string]interface{} if err := json.Unmarshal([]byte(req.GetJsonData()), &toMerge); err != nil { return nil, err @@ -88,13 +83,13 @@ func (s *SettingsService) Merge(ctx context.Context, req *rpc.MergeRequest) (*rp configuration.Settings.Set(k, v) } - return &rpc.MergeResponse{}, nil + return &rpc.SettingsMergeResponse{}, nil } -// GetValue returns a settings value given its key. If the key is not present +// SettingsGetValue returns a settings value given its key. If the key is not present // an error will be returned, so that we distinguish empty settings from missing // ones. -func (s *SettingsService) GetValue(ctx context.Context, req *rpc.GetValueRequest) (*rpc.GetValueResponse, error) { +func (s *ArduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.SettingsGetValueRequest) (*rpc.SettingsGetValueResponse, error) { key := req.GetKey() // Check if settings key actually existing, we don't use Viper.InConfig() @@ -112,7 +107,7 @@ func (s *SettingsService) GetValue(ctx context.Context, req *rpc.GetValueRequest } b, err := json.Marshal(configuration.Settings.Get(key)) - value := &rpc.GetValueResponse{} + value := &rpc.SettingsGetValueResponse{} if err == nil { value.Key = key value.JsonData = string(b) @@ -121,8 +116,8 @@ func (s *SettingsService) GetValue(ctx context.Context, req *rpc.GetValueRequest return value, err } -// SetValue updates or set a value for a certain key. -func (s *SettingsService) SetValue(ctx context.Context, val *rpc.SetValueRequest) (*rpc.SetValueResponse, error) { +// SettingsSetValue updates or set a value for a certain key. +func (s *ArduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.SettingsSetValueRequest) (*rpc.SettingsSetValueResponse, error) { key := val.GetKey() var value interface{} @@ -131,22 +126,22 @@ func (s *SettingsService) SetValue(ctx context.Context, val *rpc.SetValueRequest configuration.Settings.Set(key, value) } - return &rpc.SetValueResponse{}, err + return &rpc.SettingsSetValueResponse{}, err } -// Write to file set in request the settings currently stored in memory. +// SettingsWrite to file set in request the settings currently stored in memory. // We don't have a Read() function, that's not necessary since we only want one config file to be used // and that's picked up when the CLI is run as daemon, either using the default path or a custom one // set with the --config-file flag. -func (s *SettingsService) Write(ctx context.Context, req *rpc.WriteRequest) (*rpc.WriteResponse, error) { +func (s *ArduinoCoreServerImpl) SettingsWrite(ctx context.Context, req *rpc.SettingsWriteRequest) (*rpc.SettingsWriteResponse, error) { if err := configuration.Settings.WriteConfigAs(req.FilePath); err != nil { return nil, err } - return &rpc.WriteResponse{}, nil + return &rpc.SettingsWriteResponse{}, nil } -// Delete removes a key from the config file -func (s *SettingsService) Delete(ctx context.Context, req *rpc.DeleteRequest) (*rpc.DeleteResponse, error) { +// SettingsDelete removes a key from the config file +func (s *ArduinoCoreServerImpl) SettingsDelete(ctx context.Context, req *rpc.SettingsDeleteRequest) (*rpc.SettingsDeleteResponse, error) { toDelete := req.GetKey() // Check if settings key actually existing, we don't use Viper.InConfig() @@ -175,5 +170,5 @@ func (s *SettingsService) Delete(ctx context.Context, req *rpc.DeleteRequest) (* updatedSettings.SetConfigFile(configPath) configuration.Settings = updatedSettings - return &rpc.DeleteResponse{}, nil + return &rpc.SettingsDeleteResponse{}, nil } diff --git a/commands/daemon/settings_test.go b/commands/daemon/settings_test.go index b95c7fe2446..f51ab6dc3e3 100644 --- a/commands/daemon/settings_test.go +++ b/commands/daemon/settings_test.go @@ -22,12 +22,12 @@ import ( "testing" "github.com/arduino/arduino-cli/configuration" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/settings/v1" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) -var svc = SettingsService{} +var svc = ArduinoCoreServerImpl{} func init() { configuration.Settings = configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) @@ -38,7 +38,7 @@ func reset() { } func TestGetAll(t *testing.T) { - resp, err := svc.GetAll(context.Background(), &rpc.GetAllRequest{}) + resp, err := svc.SettingsGetAll(context.Background(), &rpc.SettingsGetAllRequest{}) require.Nil(t, err) content, err := json.Marshal(configuration.Settings.AllSettings()) @@ -54,7 +54,7 @@ func TestMerge(t *testing.T) { require.Equal(t, false, configuration.Settings.GetBool("sketch.always_export_binaries")) bulkSettings := `{"foo": "bar", "daemon":{"port":"420"}, "sketch": {"always_export_binaries": "true"}}` - res, err := svc.Merge(context.Background(), &rpc.MergeRequest{JsonData: bulkSettings}) + res, err := svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NotNil(t, res) require.NoError(t, err) @@ -63,7 +63,7 @@ func TestMerge(t *testing.T) { require.Equal(t, true, configuration.Settings.GetBool("sketch.always_export_binaries")) bulkSettings = `{"foo":"", "daemon": {}, "sketch": {"always_export_binaries": "false"}}` - res, err = svc.Merge(context.Background(), &rpc.MergeRequest{JsonData: bulkSettings}) + res, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NotNil(t, res) require.NoError(t, err) @@ -72,7 +72,7 @@ func TestMerge(t *testing.T) { require.Equal(t, false, configuration.Settings.GetBool("sketch.always_export_binaries")) bulkSettings = `{"daemon": {"port":""}}` - res, err = svc.Merge(context.Background(), &rpc.MergeRequest{JsonData: bulkSettings}) + res, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NotNil(t, res) require.NoError(t, err) @@ -85,60 +85,60 @@ func TestMerge(t *testing.T) { } func TestGetValue(t *testing.T) { - key := &rpc.GetValueRequest{Key: "daemon"} - resp, err := svc.GetValue(context.Background(), key) + key := &rpc.SettingsGetValueRequest{Key: "daemon"} + resp, err := svc.SettingsGetValue(context.Background(), key) require.NoError(t, err) require.Equal(t, `{"port":"50051"}`, resp.GetJsonData()) - key = &rpc.GetValueRequest{Key: "daemon.port"} - resp, err = svc.GetValue(context.Background(), key) + key = &rpc.SettingsGetValueRequest{Key: "daemon.port"} + resp, err = svc.SettingsGetValue(context.Background(), key) require.NoError(t, err) require.Equal(t, `"50051"`, resp.GetJsonData()) } func TestGetMergedValue(t *testing.T) { // Verifies value is not set - key := &rpc.GetValueRequest{Key: "foo"} - res, err := svc.GetValue(context.Background(), key) + key := &rpc.SettingsGetValueRequest{Key: "foo"} + res, err := svc.SettingsGetValue(context.Background(), key) require.Nil(t, res) require.Error(t, err, "Error getting settings value") // Merge value bulkSettings := `{"foo": "bar"}` - _, err = svc.Merge(context.Background(), &rpc.MergeRequest{JsonData: bulkSettings}) + _, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NoError(t, err) // Verifies value is correctly returned - key = &rpc.GetValueRequest{Key: "foo"} - res, err = svc.GetValue(context.Background(), key) + key = &rpc.SettingsGetValueRequest{Key: "foo"} + res, err = svc.SettingsGetValue(context.Background(), key) require.NoError(t, err) require.Equal(t, `"bar"`, res.GetJsonData()) } func TestGetValueNotFound(t *testing.T) { - key := &rpc.GetValueRequest{Key: "DOESNTEXIST"} - _, err := svc.GetValue(context.Background(), key) + key := &rpc.SettingsGetValueRequest{Key: "DOESNTEXIST"} + _, err := svc.SettingsGetValue(context.Background(), key) require.NotNil(t, err) require.Equal(t, `key not found in settings`, err.Error()) } func TestSetValue(t *testing.T) { - val := &rpc.SetValueRequest{ + val := &rpc.SettingsSetValueRequest{ Key: "foo", JsonData: `"bar"`, } - _, err := svc.SetValue(context.Background(), val) + _, err := svc.SettingsSetValue(context.Background(), val) require.Nil(t, err) require.Equal(t, "bar", configuration.Settings.GetString("foo")) } func TestWrite(t *testing.T) { // Writes some settings - val := &rpc.SetValueRequest{ + val := &rpc.SettingsSetValueRequest{ Key: "foo", JsonData: `"bar"`, } - _, err := svc.SetValue(context.Background(), val) + _, err := svc.SettingsSetValue(context.Background(), val) require.NoError(t, err) tempDir := paths.TempDir() @@ -150,7 +150,7 @@ func TestWrite(t *testing.T) { configFile := testFolder.Join("arduino-cli.yml") require.True(t, configFile.NotExist()) - _, err = svc.Write(context.Background(), &rpc.WriteRequest{ + _, err = svc.SettingsWrite(context.Background(), &rpc.SettingsWriteRequest{ FilePath: configFile.String(), }) require.NoError(t, err) @@ -161,16 +161,16 @@ func TestWrite(t *testing.T) { } func TestDelete(t *testing.T) { - _, err := svc.Delete(context.Background(), &rpc.DeleteRequest{ + _, err := svc.SettingsDelete(context.Background(), &rpc.SettingsDeleteRequest{ Key: "doesnotexist", }) require.Error(t, err) - _, err = svc.Delete(context.Background(), &rpc.DeleteRequest{ + _, err = svc.SettingsDelete(context.Background(), &rpc.SettingsDeleteRequest{ Key: "network", }) require.NoError(t, err) - _, err = svc.GetValue(context.Background(), &rpc.GetValueRequest{Key: "network"}) + _, err = svc.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) require.Error(t, err) } diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 2393237290e..037f4992058 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,27 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### gRPC service `cc.arduino.cli.settings.v1` has been removed, and all RPC calls have been migrated to `cc.arduino.cli.commands.v1` + +The service `cc.arduino.cli.settings.v1` no longer exists and all existing RPC calls have been moved to the +`cc.arduino.cli.commands.v1` service adding a `Settings` prefix to the names of all messages. The existing RPC calls: + +- `rpc GetAll(GetAllRequest) returns (GetAllResponse)` +- `rpc Merge(MergeRequest) returns (MergeResponse)` +- `rpc GetValue(GetValueRequest) returns (GetValueResponse)` +- `rpc SetValue(SetValueRequest) returns (SetValueResponse)` +- `rpc Write(WriteRequest) returns (WriteResponse)` +- `rpc Delete(DeleteRequest) returns (DeleteResponse)` + +are now renamed to: + +- `rpc SettingsGetAll(SettingsGetAllRequest) returns (SettingsGetAllResponse)` +- `rpc SettingsMerge(SettingsMergeRequest) returns (SettingsMergeResponse)` +- `rpc SettingsGetValue(SettingsGetValueRequest) returns (SettingsGetValueResponse)` +- `rpc SettingsSetValue(SettingsSetValueRequest) returns (SettingsSetValueResponse)` +- `rpc SettingsWrite(SettingsWriteRequest) returns (SettingsWriteResponse)` +- `rpc SettingsDelete(SettingsDeleteRequest) returns (SettingsDeleteResponse)` + ### gRPC `cc.arduino.cli.commands.v1.LibrarySearchRequest` message has been changed. The `query` field has been removed, use `search_args` instead. diff --git a/internal/cli/config/delete.go b/internal/cli/config/delete.go index 794a513a858..e950153a393 100644 --- a/internal/cli/config/delete.go +++ b/internal/cli/config/delete.go @@ -21,7 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands/daemon" "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" - "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/settings/v1" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -47,12 +47,12 @@ func runDeleteCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli config delete`") toDelete := args[0] - svc := daemon.SettingsService{} - _, err := svc.Delete(cmd.Context(), &settings.DeleteRequest{Key: toDelete}) + svc := daemon.ArduinoCoreServerImpl{} + _, err := svc.SettingsDelete(cmd.Context(), &rpc.SettingsDeleteRequest{Key: toDelete}) if err != nil { feedback.Fatal(tr("Cannot delete the key %[1]s: %[2]v", toDelete, err), feedback.ErrGeneric) } - _, err = svc.Write(cmd.Context(), &settings.WriteRequest{FilePath: configuration.Settings.ConfigFileUsed()}) + _, err = svc.SettingsWrite(cmd.Context(), &rpc.SettingsWriteRequest{FilePath: configuration.Settings.ConfigFileUsed()}) if err != nil { feedback.Fatal(tr("Cannot write the file %[1]s: %[2]v", configuration.Settings.ConfigFileUsed(), err), feedback.ErrGeneric) } diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index bed30fcead5..5dfeef7da80 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -29,7 +29,6 @@ import ( "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/feedback" srv_commands "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - srv_settings "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/settings/v1" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -107,9 +106,6 @@ func runDaemonCommand(cmd *cobra.Command, args []string) { VersionString: version.VersionInfo.VersionString, }) - // Register the settings service - srv_settings.RegisterSettingsServiceServer(s, &daemon.SettingsService{}) - if !daemonize { // When parent process ends terminate also the daemon go feedback.ExitWhenParentProcessEnds() diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 17003c01723..78ed4dbb3e9 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -31,7 +31,6 @@ import ( "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/settings/v1" "github.com/arduino/go-paths-helper" "github.com/fatih/color" "github.com/stretchr/testify/require" @@ -70,20 +69,19 @@ func CreateArduinoCLIWithEnvironment(t *testing.T) (*Environment, *ArduinoCLI) { // ArduinoCLI is an Arduino CLI client. type ArduinoCLI struct { - path *paths.Path - t *require.Assertions - proc *executils.Process - stdIn io.WriteCloser - cliEnvVars map[string]string - cliConfigPath *paths.Path - stagingDir *paths.Path - dataDir *paths.Path - sketchbookDir *paths.Path - workingDir *paths.Path - daemonAddr string - daemonConn *grpc.ClientConn - daemonClient commands.ArduinoCoreServiceClient - daemonSettingsClient settings.SettingsServiceClient + path *paths.Path + t *require.Assertions + proc *executils.Process + stdIn io.WriteCloser + cliEnvVars map[string]string + cliConfigPath *paths.Path + stagingDir *paths.Path + dataDir *paths.Path + sketchbookDir *paths.Path + workingDir *paths.Path + daemonAddr string + daemonConn *grpc.ClientConn + daemonClient commands.ArduinoCoreServiceClient } // ArduinoCLIConfig is the configuration of the ArduinoCLI client @@ -386,7 +384,6 @@ func (cli *ArduinoCLI) StartDaemon(verbose bool) string { cli.t.NoError(err) cli.daemonConn = conn cli.daemonClient = commands.NewArduinoCoreServiceClient(conn) - cli.daemonSettingsClient = settings.NewSettingsServiceClient(conn) return cli.daemonAddr } @@ -418,12 +415,12 @@ func (cli *ArduinoCLI) Create() *ArduinoCLIInstance { // SetValue calls the "SetValue" gRPC method. func (cli *ArduinoCLI) SetValue(key, jsonData string) error { - req := &settings.SetValueRequest{ + req := &commands.SettingsSetValueRequest{ Key: key, JsonData: jsonData, } logCallf(">>> SetValue(%+v)\n", req) - _, err := cli.daemonSettingsClient.SetValue(context.Background(), req) + _, err := cli.daemonClient.SettingsSetValue(context.Background(), req) return err } diff --git a/mkdocs.yml b/mkdocs.yml index cd30f19557e..9631f87e1f6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -100,7 +100,6 @@ nav: - version: commands/arduino-cli_version.md - gRPC reference: - commands: rpc/commands.md - - settings: rpc/settings.md - configuration.md - Integration options: integration-options.md - sketch-build-process.md diff --git a/rpc/buf.yaml b/rpc/buf.yaml index 4b09bf3fd42..95f08ebd923 100644 --- a/rpc/buf.yaml +++ b/rpc/buf.yaml @@ -5,6 +5,3 @@ lint: ignore_only: ENUM_ZERO_VALUE_SUFFIX: - cc/arduino/cli/commands/v1/lib.proto - - cc/arduino/cli/monitor/v1/monitor.proto - RPC_REQUEST_STANDARD_NAME: - - cc/arduino/cli/debug/v1/debug.proto diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 059e6b238de..6de714eb6dc 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -1473,510 +1473,559 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x62, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x52, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x69, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, - 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x50, 0x61, 0x74, 0x68, 0x22, 0x97, 0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x48, 0x00, 0x52, 0x0c, 0x69, 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0xb4, 0x01, - 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, - 0x81, 0x01, 0x0a, 0x17, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x22, 0x52, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, + 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, + 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, + 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0x52, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, - 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, - 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x6e, 0x63, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0b, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, + 0x22, 0x97, 0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5f, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x79, 0x0a, 0x1c, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x11, 0x4e, - 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3a, 0x0a, - 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, - 0x61, 0x74, 0x68, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x37, 0x0a, 0x0d, 0x53, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, - 0x62, 0x6e, 0x22, 0xe7, 0x03, 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, - 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, - 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x6c, - 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, - 0x71, 0x62, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x08, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xa4, 0x01, 0x0a, - 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, - 0x18, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, - 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x69, + 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, + 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0xb4, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, + 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, - 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, - 0x58, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, - 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, - 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, - 0x32, 0xb8, 0x26, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, - 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x52, + 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, - 0x74, 0x72, 0x6f, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x72, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x41, + 0x0a, 0x1d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, + 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, + 0x73, 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x22, 0x5f, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x22, 0x79, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, + 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x76, + 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, + 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, + 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3a, 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x4a, 0x04, + 0x08, 0x01, 0x10, 0x02, 0x22, 0x37, 0x0a, 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, + 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0xe7, 0x03, + 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, + 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, + 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, + 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x21, + 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x45, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, + 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, - 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x14, 0x41, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x72, + 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x17, + 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, + 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xa4, + 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, + 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, + 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, + 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x52, 0x4c, + 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, + 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x94, 0x2c, 0x0a, 0x12, + 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, - 0x11, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, - 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, + 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, + 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x8d, + 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, + 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, + 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x34, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x0c, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, + 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, + 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, + 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, - 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, - 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, - 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, - 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, - 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, + 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, 0x0a, + 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, + 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, + 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, - 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, + 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, + 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, - 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, + 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, - 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, - 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, + 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, - 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, + 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x48, 0x5a, 0x46, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, - 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, + 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2053,138 +2102,162 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*EnumerateMonitorPortSettingsRequest)(nil), // 56: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest (*DebugRequest)(nil), // 57: cc.arduino.cli.commands.v1.DebugRequest (*GetDebugConfigRequest)(nil), // 58: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*BoardDetailsResponse)(nil), // 59: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardListResponse)(nil), // 60: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 61: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 62: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 63: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 64: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 65: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 66: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 67: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 68: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 69: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 70: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 71: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 72: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 73: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 74: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*LibraryDownloadResponse)(nil), // 75: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 76: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 77: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 78: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 79: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 80: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 81: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 83: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 84: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 85: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 86: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*DebugResponse)(nil), // 87: cc.arduino.cli.commands.v1.DebugResponse - (*GetDebugConfigResponse)(nil), // 88: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*SettingsGetAllRequest)(nil), // 59: cc.arduino.cli.commands.v1.SettingsGetAllRequest + (*SettingsMergeRequest)(nil), // 60: cc.arduino.cli.commands.v1.SettingsMergeRequest + (*SettingsGetValueRequest)(nil), // 61: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsSetValueRequest)(nil), // 62: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*SettingsWriteRequest)(nil), // 63: cc.arduino.cli.commands.v1.SettingsWriteRequest + (*SettingsDeleteRequest)(nil), // 64: cc.arduino.cli.commands.v1.SettingsDeleteRequest + (*BoardDetailsResponse)(nil), // 65: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardListResponse)(nil), // 66: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 67: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 68: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardListWatchResponse)(nil), // 69: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 70: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 71: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 72: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 73: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 74: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 75: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 76: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 77: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 78: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 79: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 80: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*LibraryDownloadResponse)(nil), // 81: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 83: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 84: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 85: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 86: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 87: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 89: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 91: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 92: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*DebugResponse)(nil), // 93: cc.arduino.cli.commands.v1.DebugResponse + (*GetDebugConfigResponse)(nil), // 94: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*SettingsGetAllResponse)(nil), // 95: cc.arduino.cli.commands.v1.SettingsGetAllResponse + (*SettingsMergeResponse)(nil), // 96: cc.arduino.cli.commands.v1.SettingsMergeResponse + (*SettingsGetValueResponse)(nil), // 97: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueResponse)(nil), // 98: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*SettingsWriteResponse)(nil), // 99: cc.arduino.cli.commands.v1.SettingsWriteResponse + (*SettingsDeleteResponse)(nil), // 100: cc.arduino.cli.commands.v1.SettingsDeleteResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ - 24, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 24, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 23, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress - 25, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status - 26, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.Profile - 0, // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError.reason:type_name -> cc.arduino.cli.commands.v1.FailedInstanceInitReason - 24, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 24, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 27, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 24, // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 27, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 17, // 11: cc.arduino.cli.commands.v1.LoadSketchResponse.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile - 17, // 12: cc.arduino.cli.commands.v1.LoadSketchResponse.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile - 27, // 13: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 28, // 14: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 1, // 15: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest - 3, // 16: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest - 6, // 17: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest - 8, // 18: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest - 10, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest - 12, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest - 14, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest - 16, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest - 19, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest - 21, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest - 29, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest - 30, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest - 31, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest - 32, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest - 33, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest - 34, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest - 35, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest - 36, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest - 37, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest - 38, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest - 39, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest - 40, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - 41, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - 42, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - 43, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest - 44, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 45, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 46, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 47, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 48, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 49, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 50, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 51, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 52, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 53, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 54, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 2, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 4, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 7, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 9, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 11, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 13, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 15, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 18, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 20, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 22, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 59, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 60, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 61, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 62, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 63, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 64, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 65, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 66, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 67, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 68, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 69, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 55, // [55:95] is the sub-list for method output_type - 15, // [15:55] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 24, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 24, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 23, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress + 25, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status + 26, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.Profile + 0, // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError.reason:type_name -> cc.arduino.cli.commands.v1.FailedInstanceInitReason + 24, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 24, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 27, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 24, // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 27, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 17, // 11: cc.arduino.cli.commands.v1.LoadSketchResponse.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 17, // 12: cc.arduino.cli.commands.v1.LoadSketchResponse.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 27, // 13: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 28, // 14: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 1, // 15: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest + 3, // 16: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest + 6, // 17: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest + 8, // 18: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest + 10, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest + 12, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest + 14, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest + 16, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest + 19, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest + 21, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest + 29, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest + 30, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest + 31, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest + 32, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest + 33, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest + 34, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest + 35, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest + 36, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest + 37, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest + 38, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest + 39, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest + 40, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + 41, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + 42, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + 43, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest + 44, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest + 45, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 46, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 47, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 48, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 49, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 50, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 51, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 52, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 53, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 54, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest + 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 59, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest + 60, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest + 61, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 62, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest + 63, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest + 64, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest + 2, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 4, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 7, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 9, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 11, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 13, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 15, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 18, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 20, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 22, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 65, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 66, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 67, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 68, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 69, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse + 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse + 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse + 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse + 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse + 61, // [61:107] is the sub-list for method output_type + 15, // [15:61] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_commands_proto_init() } @@ -2200,6 +2273,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { file_cc_arduino_cli_commands_v1_monitor_proto_init() file_cc_arduino_cli_commands_v1_upload_proto_init() file_cc_arduino_cli_commands_v1_lib_proto_init() + file_cc_arduino_cli_commands_v1_settings_proto_init() if !protoimpl.UnsafeEnabled { file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CreateRequest); i { diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 294f91d7742..1ca928ca75f 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -29,6 +29,7 @@ import "cc/arduino/cli/commands/v1/debug.proto"; import "cc/arduino/cli/commands/v1/monitor.proto"; import "cc/arduino/cli/commands/v1/upload.proto"; import "cc/arduino/cli/commands/v1/lib.proto"; +import "cc/arduino/cli/commands/v1/settings.proto"; // The main Arduino Platform service API service ArduinoCoreService { @@ -182,6 +183,26 @@ service ArduinoCoreService { rpc Debug(stream DebugRequest) returns (stream DebugResponse) {} rpc GetDebugConfig(GetDebugConfigRequest) returns (GetDebugConfigResponse) {} + + // List all the settings. + rpc SettingsGetAll(SettingsGetAllRequest) returns (SettingsGetAllResponse); + + // Set multiple settings values at once. + rpc SettingsMerge(SettingsMergeRequest) returns (SettingsMergeResponse); + + // Get the value of a specific setting. + rpc SettingsGetValue(SettingsGetValueRequest) + returns (SettingsGetValueResponse); + + // Set the value of a specific setting. + rpc SettingsSetValue(SettingsSetValueRequest) + returns (SettingsSetValueResponse); + + // Writes to file settings currently stored in memory + rpc SettingsWrite(SettingsWriteRequest) returns (SettingsWriteResponse); + + // Deletes an entry and rewrites the file settings + rpc SettingsDelete(SettingsDeleteRequest) returns (SettingsDeleteResponse); } message CreateRequest {} diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 2c7ce7dfd42..2c9c7a2fde0 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -74,6 +74,12 @@ const ( ArduinoCoreService_EnumerateMonitorPortSettings_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/EnumerateMonitorPortSettings" ArduinoCoreService_Debug_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/Debug" ArduinoCoreService_GetDebugConfig_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/GetDebugConfig" + ArduinoCoreService_SettingsGetAll_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll" + ArduinoCoreService_SettingsMerge_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge" + ArduinoCoreService_SettingsGetValue_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue" + ArduinoCoreService_SettingsSetValue_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue" + ArduinoCoreService_SettingsWrite_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsWrite" + ArduinoCoreService_SettingsDelete_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsDelete" ) // ArduinoCoreServiceClient is the client API for ArduinoCoreService service. @@ -167,6 +173,18 @@ type ArduinoCoreServiceClient interface { // Start a debug session and communicate with the debugger tool. Debug(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_DebugClient, error) GetDebugConfig(ctx context.Context, in *GetDebugConfigRequest, opts ...grpc.CallOption) (*GetDebugConfigResponse, error) + // List all the settings. + SettingsGetAll(ctx context.Context, in *SettingsGetAllRequest, opts ...grpc.CallOption) (*SettingsGetAllResponse, error) + // Set multiple settings values at once. + SettingsMerge(ctx context.Context, in *SettingsMergeRequest, opts ...grpc.CallOption) (*SettingsMergeResponse, error) + // Get the value of a specific setting. + SettingsGetValue(ctx context.Context, in *SettingsGetValueRequest, opts ...grpc.CallOption) (*SettingsGetValueResponse, error) + // Set the value of a specific setting. + SettingsSetValue(ctx context.Context, in *SettingsSetValueRequest, opts ...grpc.CallOption) (*SettingsSetValueResponse, error) + // Writes to file settings currently stored in memory + SettingsWrite(ctx context.Context, in *SettingsWriteRequest, opts ...grpc.CallOption) (*SettingsWriteResponse, error) + // Deletes an entry and rewrites the file settings + SettingsDelete(ctx context.Context, in *SettingsDeleteRequest, opts ...grpc.CallOption) (*SettingsDeleteResponse, error) } type arduinoCoreServiceClient struct { @@ -1018,6 +1036,60 @@ func (c *arduinoCoreServiceClient) GetDebugConfig(ctx context.Context, in *GetDe return out, nil } +func (c *arduinoCoreServiceClient) SettingsGetAll(ctx context.Context, in *SettingsGetAllRequest, opts ...grpc.CallOption) (*SettingsGetAllResponse, error) { + out := new(SettingsGetAllResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetAll_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *arduinoCoreServiceClient) SettingsMerge(ctx context.Context, in *SettingsMergeRequest, opts ...grpc.CallOption) (*SettingsMergeResponse, error) { + out := new(SettingsMergeResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsMerge_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *arduinoCoreServiceClient) SettingsGetValue(ctx context.Context, in *SettingsGetValueRequest, opts ...grpc.CallOption) (*SettingsGetValueResponse, error) { + out := new(SettingsGetValueResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetValue_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *arduinoCoreServiceClient) SettingsSetValue(ctx context.Context, in *SettingsSetValueRequest, opts ...grpc.CallOption) (*SettingsSetValueResponse, error) { + out := new(SettingsSetValueResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsSetValue_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *arduinoCoreServiceClient) SettingsWrite(ctx context.Context, in *SettingsWriteRequest, opts ...grpc.CallOption) (*SettingsWriteResponse, error) { + out := new(SettingsWriteResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsWrite_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *arduinoCoreServiceClient) SettingsDelete(ctx context.Context, in *SettingsDeleteRequest, opts ...grpc.CallOption) (*SettingsDeleteResponse, error) { + out := new(SettingsDeleteResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsDelete_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // ArduinoCoreServiceServer is the server API for ArduinoCoreService service. // All implementations must embed UnimplementedArduinoCoreServiceServer // for forward compatibility @@ -1109,6 +1181,18 @@ type ArduinoCoreServiceServer interface { // Start a debug session and communicate with the debugger tool. Debug(ArduinoCoreService_DebugServer) error GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) + // List all the settings. + SettingsGetAll(context.Context, *SettingsGetAllRequest) (*SettingsGetAllResponse, error) + // Set multiple settings values at once. + SettingsMerge(context.Context, *SettingsMergeRequest) (*SettingsMergeResponse, error) + // Get the value of a specific setting. + SettingsGetValue(context.Context, *SettingsGetValueRequest) (*SettingsGetValueResponse, error) + // Set the value of a specific setting. + SettingsSetValue(context.Context, *SettingsSetValueRequest) (*SettingsSetValueResponse, error) + // Writes to file settings currently stored in memory + SettingsWrite(context.Context, *SettingsWriteRequest) (*SettingsWriteResponse, error) + // Deletes an entry and rewrites the file settings + SettingsDelete(context.Context, *SettingsDeleteRequest) (*SettingsDeleteResponse, error) mustEmbedUnimplementedArduinoCoreServiceServer() } @@ -1236,6 +1320,24 @@ func (UnimplementedArduinoCoreServiceServer) Debug(ArduinoCoreService_DebugServe func (UnimplementedArduinoCoreServiceServer) GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDebugConfig not implemented") } +func (UnimplementedArduinoCoreServiceServer) SettingsGetAll(context.Context, *SettingsGetAllRequest) (*SettingsGetAllResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SettingsGetAll not implemented") +} +func (UnimplementedArduinoCoreServiceServer) SettingsMerge(context.Context, *SettingsMergeRequest) (*SettingsMergeResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SettingsMerge not implemented") +} +func (UnimplementedArduinoCoreServiceServer) SettingsGetValue(context.Context, *SettingsGetValueRequest) (*SettingsGetValueResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SettingsGetValue not implemented") +} +func (UnimplementedArduinoCoreServiceServer) SettingsSetValue(context.Context, *SettingsSetValueRequest) (*SettingsSetValueResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SettingsSetValue not implemented") +} +func (UnimplementedArduinoCoreServiceServer) SettingsWrite(context.Context, *SettingsWriteRequest) (*SettingsWriteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SettingsWrite not implemented") +} +func (UnimplementedArduinoCoreServiceServer) SettingsDelete(context.Context, *SettingsDeleteRequest) (*SettingsDeleteResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SettingsDelete not implemented") +} func (UnimplementedArduinoCoreServiceServer) mustEmbedUnimplementedArduinoCoreServiceServer() {} // UnsafeArduinoCoreServiceServer may be embedded to opt out of forward compatibility for this service. @@ -2042,6 +2144,114 @@ func _ArduinoCoreService_GetDebugConfig_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _ArduinoCoreService_SettingsGetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsGetAllRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).SettingsGetAll(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_SettingsGetAll_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).SettingsGetAll(ctx, req.(*SettingsGetAllRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArduinoCoreService_SettingsMerge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsMergeRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).SettingsMerge(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_SettingsMerge_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).SettingsMerge(ctx, req.(*SettingsMergeRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArduinoCoreService_SettingsGetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsGetValueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).SettingsGetValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_SettingsGetValue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).SettingsGetValue(ctx, req.(*SettingsGetValueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArduinoCoreService_SettingsSetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsSetValueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).SettingsSetValue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_SettingsSetValue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).SettingsSetValue(ctx, req.(*SettingsSetValueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArduinoCoreService_SettingsWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsWriteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).SettingsWrite(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_SettingsWrite_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).SettingsWrite(ctx, req.(*SettingsWriteRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _ArduinoCoreService_SettingsDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsDeleteRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).SettingsDelete(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_SettingsDelete_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).SettingsDelete(ctx, req.(*SettingsDeleteRequest)) + } + return interceptor(ctx, in, info, handler) +} + // ArduinoCoreService_ServiceDesc is the grpc.ServiceDesc for ArduinoCoreService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -2125,6 +2335,30 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetDebugConfig", Handler: _ArduinoCoreService_GetDebugConfig_Handler, }, + { + MethodName: "SettingsGetAll", + Handler: _ArduinoCoreService_SettingsGetAll_Handler, + }, + { + MethodName: "SettingsMerge", + Handler: _ArduinoCoreService_SettingsMerge_Handler, + }, + { + MethodName: "SettingsGetValue", + Handler: _ArduinoCoreService_SettingsGetValue_Handler, + }, + { + MethodName: "SettingsSetValue", + Handler: _ArduinoCoreService_SettingsSetValue_Handler, + }, + { + MethodName: "SettingsWrite", + Handler: _ArduinoCoreService_SettingsWrite_Handler, + }, + { + MethodName: "SettingsDelete", + Handler: _ArduinoCoreService_SettingsDelete_Handler, + }, }, Streams: []grpc.StreamDesc{ { diff --git a/rpc/cc/arduino/cli/commands/v1/settings.pb.go b/rpc/cc/arduino/cli/commands/v1/settings.pb.go new file mode 100644 index 00000000000..8a594bbd49f --- /dev/null +++ b/rpc/cc/arduino/cli/commands/v1/settings.pb.go @@ -0,0 +1,834 @@ +// This file is part of arduino-cli. +// +// Copyright 2020 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. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.31.0 +// protoc v4.24.3 +// source: cc/arduino/cli/commands/v1/settings.proto + +package commands + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type SettingsGetAllResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The settings, in JSON format. + JsonData string `protobuf:"bytes,1,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` +} + +func (x *SettingsGetAllResponse) Reset() { + *x = SettingsGetAllResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsGetAllResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsGetAllResponse) ProtoMessage() {} + +func (x *SettingsGetAllResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsGetAllResponse.ProtoReflect.Descriptor instead. +func (*SettingsGetAllResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0} +} + +func (x *SettingsGetAllResponse) GetJsonData() string { + if x != nil { + return x.JsonData + } + return "" +} + +type SettingsMergeRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The settings, in JSON format. + JsonData string `protobuf:"bytes,1,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` +} + +func (x *SettingsMergeRequest) Reset() { + *x = SettingsMergeRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsMergeRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsMergeRequest) ProtoMessage() {} + +func (x *SettingsMergeRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsMergeRequest.ProtoReflect.Descriptor instead. +func (*SettingsMergeRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{1} +} + +func (x *SettingsMergeRequest) GetJsonData() string { + if x != nil { + return x.JsonData + } + return "" +} + +type SettingsGetValueResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the setting. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The setting, in JSON format. + JsonData string `protobuf:"bytes,2,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` +} + +func (x *SettingsGetValueResponse) Reset() { + *x = SettingsGetValueResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsGetValueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsGetValueResponse) ProtoMessage() {} + +func (x *SettingsGetValueResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsGetValueResponse.ProtoReflect.Descriptor instead. +func (*SettingsGetValueResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{2} +} + +func (x *SettingsGetValueResponse) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SettingsGetValueResponse) GetJsonData() string { + if x != nil { + return x.JsonData + } + return "" +} + +type SettingsSetValueRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the setting. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The setting, in JSON format. + JsonData string `protobuf:"bytes,2,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` +} + +func (x *SettingsSetValueRequest) Reset() { + *x = SettingsSetValueRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsSetValueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsSetValueRequest) ProtoMessage() {} + +func (x *SettingsSetValueRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsSetValueRequest.ProtoReflect.Descriptor instead. +func (*SettingsSetValueRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{3} +} + +func (x *SettingsSetValueRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SettingsSetValueRequest) GetJsonData() string { + if x != nil { + return x.JsonData + } + return "" +} + +type SettingsGetAllRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SettingsGetAllRequest) Reset() { + *x = SettingsGetAllRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsGetAllRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsGetAllRequest) ProtoMessage() {} + +func (x *SettingsGetAllRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsGetAllRequest.ProtoReflect.Descriptor instead. +func (*SettingsGetAllRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{4} +} + +type SettingsGetValueRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the setting. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *SettingsGetValueRequest) Reset() { + *x = SettingsGetValueRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsGetValueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsGetValueRequest) ProtoMessage() {} + +func (x *SettingsGetValueRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsGetValueRequest.ProtoReflect.Descriptor instead. +func (*SettingsGetValueRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{5} +} + +func (x *SettingsGetValueRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type SettingsMergeResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SettingsMergeResponse) Reset() { + *x = SettingsMergeResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsMergeResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsMergeResponse) ProtoMessage() {} + +func (x *SettingsMergeResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsMergeResponse.ProtoReflect.Descriptor instead. +func (*SettingsMergeResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{6} +} + +type SettingsSetValueResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SettingsSetValueResponse) Reset() { + *x = SettingsSetValueResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsSetValueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsSetValueResponse) ProtoMessage() {} + +func (x *SettingsSetValueResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsSetValueResponse.ProtoReflect.Descriptor instead. +func (*SettingsSetValueResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{7} +} + +type SettingsWriteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Path to settings file (e.g. /path/to/arduino-cli.yaml) + FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` +} + +func (x *SettingsWriteRequest) Reset() { + *x = SettingsWriteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsWriteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsWriteRequest) ProtoMessage() {} + +func (x *SettingsWriteRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsWriteRequest.ProtoReflect.Descriptor instead. +func (*SettingsWriteRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{8} +} + +func (x *SettingsWriteRequest) GetFilePath() string { + if x != nil { + return x.FilePath + } + return "" +} + +type SettingsWriteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SettingsWriteResponse) Reset() { + *x = SettingsWriteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsWriteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsWriteResponse) ProtoMessage() {} + +func (x *SettingsWriteResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsWriteResponse.ProtoReflect.Descriptor instead. +func (*SettingsWriteResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{9} +} + +type SettingsDeleteRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key of the setting to delete. + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` +} + +func (x *SettingsDeleteRequest) Reset() { + *x = SettingsDeleteRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsDeleteRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsDeleteRequest) ProtoMessage() {} + +func (x *SettingsDeleteRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsDeleteRequest.ProtoReflect.Descriptor instead. +func (*SettingsDeleteRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{10} +} + +func (x *SettingsDeleteRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +type SettingsDeleteResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SettingsDeleteResponse) Reset() { + *x = SettingsDeleteResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsDeleteResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsDeleteResponse) ProtoMessage() {} + +func (x *SettingsDeleteResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsDeleteResponse.ProtoReflect.Descriptor instead. +func (*SettingsDeleteResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{11} +} + +var File_cc_arduino_cli_commands_v1_settings_proto protoreflect.FileDescriptor + +var file_cc_arduino_cli_commands_v1_settings_proto_rawDesc = []byte{ + 0x0a, 0x29, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x22, 0x35, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x33, + 0x0a, 0x14, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x44, + 0x61, 0x74, 0x61, 0x22, 0x49, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, + 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x48, + 0x0a, 0x17, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6a, + 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x2b, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x17, + 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x29, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x18, 0x0a, 0x16, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_cc_arduino_cli_commands_v1_settings_proto_rawDescOnce sync.Once + file_cc_arduino_cli_commands_v1_settings_proto_rawDescData = file_cc_arduino_cli_commands_v1_settings_proto_rawDesc +) + +func file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP() []byte { + file_cc_arduino_cli_commands_v1_settings_proto_rawDescOnce.Do(func() { + file_cc_arduino_cli_commands_v1_settings_proto_rawDescData = protoimpl.X.CompressGZIP(file_cc_arduino_cli_commands_v1_settings_proto_rawDescData) + }) + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescData +} + +var file_cc_arduino_cli_commands_v1_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_cc_arduino_cli_commands_v1_settings_proto_goTypes = []interface{}{ + (*SettingsGetAllResponse)(nil), // 0: cc.arduino.cli.commands.v1.SettingsGetAllResponse + (*SettingsMergeRequest)(nil), // 1: cc.arduino.cli.commands.v1.SettingsMergeRequest + (*SettingsGetValueResponse)(nil), // 2: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueRequest)(nil), // 3: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*SettingsGetAllRequest)(nil), // 4: cc.arduino.cli.commands.v1.SettingsGetAllRequest + (*SettingsGetValueRequest)(nil), // 5: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsMergeResponse)(nil), // 6: cc.arduino.cli.commands.v1.SettingsMergeResponse + (*SettingsSetValueResponse)(nil), // 7: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*SettingsWriteRequest)(nil), // 8: cc.arduino.cli.commands.v1.SettingsWriteRequest + (*SettingsWriteResponse)(nil), // 9: cc.arduino.cli.commands.v1.SettingsWriteResponse + (*SettingsDeleteRequest)(nil), // 10: cc.arduino.cli.commands.v1.SettingsDeleteRequest + (*SettingsDeleteResponse)(nil), // 11: cc.arduino.cli.commands.v1.SettingsDeleteResponse +} +var file_cc_arduino_cli_commands_v1_settings_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_cc_arduino_cli_commands_v1_settings_proto_init() } +func file_cc_arduino_cli_commands_v1_settings_proto_init() { + if File_cc_arduino_cli_commands_v1_settings_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsGetAllResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsMergeRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsGetValueResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsSetValueRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsGetAllRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsGetValueRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsMergeResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsSetValueResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsWriteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsWriteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsDeleteRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsDeleteResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_cc_arduino_cli_commands_v1_settings_proto_rawDesc, + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_cc_arduino_cli_commands_v1_settings_proto_goTypes, + DependencyIndexes: file_cc_arduino_cli_commands_v1_settings_proto_depIdxs, + MessageInfos: file_cc_arduino_cli_commands_v1_settings_proto_msgTypes, + }.Build() + File_cc_arduino_cli_commands_v1_settings_proto = out.File + file_cc_arduino_cli_commands_v1_settings_proto_rawDesc = nil + file_cc_arduino_cli_commands_v1_settings_proto_goTypes = nil + file_cc_arduino_cli_commands_v1_settings_proto_depIdxs = nil +} diff --git a/rpc/cc/arduino/cli/settings/v1/settings.proto b/rpc/cc/arduino/cli/commands/v1/settings.proto similarity index 55% rename from rpc/cc/arduino/cli/settings/v1/settings.proto rename to rpc/cc/arduino/cli/commands/v1/settings.proto index c05bfbef533..05a6ea16a22 100644 --- a/rpc/cc/arduino/cli/settings/v1/settings.proto +++ b/rpc/cc/arduino/cli/commands/v1/settings.proto @@ -15,77 +15,55 @@ syntax = "proto3"; -package cc.arduino.cli.settings.v1; +package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/settings/v1;settings"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; -// The SettingsService provides an interface to Arduino CLI configuration -// options -service SettingsService { - // List all the settings. - rpc GetAll(GetAllRequest) returns (GetAllResponse); - - // Set multiple settings values at once. - rpc Merge(MergeRequest) returns (MergeResponse); - - // Get the value of a specific setting. - rpc GetValue(GetValueRequest) returns (GetValueResponse); - - // Set the value of a specific setting. - rpc SetValue(SetValueRequest) returns (SetValueResponse); - - // Writes to file settings currently stored in memory - rpc Write(WriteRequest) returns (WriteResponse); - - // Deletes an entry and rewrites the file settings - rpc Delete(DeleteRequest) returns (DeleteResponse); -} - -message GetAllResponse { +message SettingsGetAllResponse { // The settings, in JSON format. string json_data = 1; } -message MergeRequest { +message SettingsMergeRequest { // The settings, in JSON format. string json_data = 1; } -message GetValueResponse { +message SettingsGetValueResponse { // The key of the setting. string key = 1; // The setting, in JSON format. string json_data = 2; } -message SetValueRequest { +message SettingsSetValueRequest { // The key of the setting. string key = 1; // The setting, in JSON format. string json_data = 2; } -message GetAllRequest {} +message SettingsGetAllRequest {} -message GetValueRequest { +message SettingsGetValueRequest { // The key of the setting. string key = 1; } -message MergeResponse {} +message SettingsMergeResponse {} -message SetValueResponse {} +message SettingsSetValueResponse {} -message WriteRequest { +message SettingsWriteRequest { // Path to settings file (e.g. /path/to/arduino-cli.yaml) string file_path = 1; } -message WriteResponse {} +message SettingsWriteResponse {} -message DeleteRequest { +message SettingsDeleteRequest { // The key of the setting to delete. string key = 1; } -message DeleteResponse {} +message SettingsDeleteResponse {} diff --git a/rpc/cc/arduino/cli/settings/v1/settings.pb.go b/rpc/cc/arduino/cli/settings/v1/settings.pb.go deleted file mode 100644 index 44884cec06f..00000000000 --- a/rpc/cc/arduino/cli/settings/v1/settings.pb.go +++ /dev/null @@ -1,878 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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. - -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 -// source: cc/arduino/cli/settings/v1/settings.proto - -package settings - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type GetAllResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The settings, in JSON format. - JsonData string `protobuf:"bytes,1,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` -} - -func (x *GetAllResponse) Reset() { - *x = GetAllResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllResponse) ProtoMessage() {} - -func (x *GetAllResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAllResponse.ProtoReflect.Descriptor instead. -func (*GetAllResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{0} -} - -func (x *GetAllResponse) GetJsonData() string { - if x != nil { - return x.JsonData - } - return "" -} - -type MergeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The settings, in JSON format. - JsonData string `protobuf:"bytes,1,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` -} - -func (x *MergeRequest) Reset() { - *x = MergeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MergeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MergeRequest) ProtoMessage() {} - -func (x *MergeRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MergeRequest.ProtoReflect.Descriptor instead. -func (*MergeRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{1} -} - -func (x *MergeRequest) GetJsonData() string { - if x != nil { - return x.JsonData - } - return "" -} - -type GetValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The key of the setting. - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // The setting, in JSON format. - JsonData string `protobuf:"bytes,2,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` -} - -func (x *GetValueResponse) Reset() { - *x = GetValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetValueResponse) ProtoMessage() {} - -func (x *GetValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetValueResponse.ProtoReflect.Descriptor instead. -func (*GetValueResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{2} -} - -func (x *GetValueResponse) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *GetValueResponse) GetJsonData() string { - if x != nil { - return x.JsonData - } - return "" -} - -type SetValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The key of the setting. - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // The setting, in JSON format. - JsonData string `protobuf:"bytes,2,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` -} - -func (x *SetValueRequest) Reset() { - *x = SetValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetValueRequest) ProtoMessage() {} - -func (x *SetValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetValueRequest.ProtoReflect.Descriptor instead. -func (*SetValueRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{3} -} - -func (x *SetValueRequest) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *SetValueRequest) GetJsonData() string { - if x != nil { - return x.JsonData - } - return "" -} - -type GetAllRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetAllRequest) Reset() { - *x = GetAllRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetAllRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetAllRequest) ProtoMessage() {} - -func (x *GetAllRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetAllRequest.ProtoReflect.Descriptor instead. -func (*GetAllRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{4} -} - -type GetValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The key of the setting. - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` -} - -func (x *GetValueRequest) Reset() { - *x = GetValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetValueRequest) ProtoMessage() {} - -func (x *GetValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetValueRequest.ProtoReflect.Descriptor instead. -func (*GetValueRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{5} -} - -func (x *GetValueRequest) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -type MergeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *MergeResponse) Reset() { - *x = MergeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MergeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MergeResponse) ProtoMessage() {} - -func (x *MergeResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MergeResponse.ProtoReflect.Descriptor instead. -func (*MergeResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{6} -} - -type SetValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *SetValueResponse) Reset() { - *x = SetValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SetValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SetValueResponse) ProtoMessage() {} - -func (x *SetValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SetValueResponse.ProtoReflect.Descriptor instead. -func (*SetValueResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{7} -} - -type WriteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Path to settings file (e.g. /path/to/arduino-cli.yaml) - FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` -} - -func (x *WriteRequest) Reset() { - *x = WriteRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WriteRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WriteRequest) ProtoMessage() {} - -func (x *WriteRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. -func (*WriteRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{8} -} - -func (x *WriteRequest) GetFilePath() string { - if x != nil { - return x.FilePath - } - return "" -} - -type WriteResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *WriteResponse) Reset() { - *x = WriteResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WriteResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WriteResponse) ProtoMessage() {} - -func (x *WriteResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. -func (*WriteResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{9} -} - -type DeleteRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The key of the setting to delete. - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` -} - -func (x *DeleteRequest) Reset() { - *x = DeleteRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteRequest) ProtoMessage() {} - -func (x *DeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead. -func (*DeleteRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{10} -} - -func (x *DeleteRequest) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -type DeleteResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeleteResponse) Reset() { - *x = DeleteResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteResponse) ProtoMessage() {} - -func (x *DeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead. -func (*DeleteResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP(), []int{11} -} - -var File_cc_arduino_cli_settings_v1_settings_proto protoreflect.FileDescriptor - -var file_cc_arduino_cli_settings_v1_settings_proto_rawDesc = []byte{ - 0x0a, 0x29, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, - 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x22, 0x2d, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x41, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x2b, 0x0a, 0x0c, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x22, 0x41, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, - 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x40, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6a, - 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x0f, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x23, 0x0a, 0x0f, 0x47, 0x65, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x0f, - 0x0a, 0x0d, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x12, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x0a, 0x0c, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, - 0x22, 0x0f, 0x0a, 0x0d, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x21, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x22, 0x10, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdd, 0x04, 0x0a, 0x0f, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x06, 0x47, 0x65, - 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x05, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x65, 0x0a, 0x08, 0x47, 0x65, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x65, 0x0a, 0x08, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x2b, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x05, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x06, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_cc_arduino_cli_settings_v1_settings_proto_rawDescOnce sync.Once - file_cc_arduino_cli_settings_v1_settings_proto_rawDescData = file_cc_arduino_cli_settings_v1_settings_proto_rawDesc -) - -func file_cc_arduino_cli_settings_v1_settings_proto_rawDescGZIP() []byte { - file_cc_arduino_cli_settings_v1_settings_proto_rawDescOnce.Do(func() { - file_cc_arduino_cli_settings_v1_settings_proto_rawDescData = protoimpl.X.CompressGZIP(file_cc_arduino_cli_settings_v1_settings_proto_rawDescData) - }) - return file_cc_arduino_cli_settings_v1_settings_proto_rawDescData -} - -var file_cc_arduino_cli_settings_v1_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 12) -var file_cc_arduino_cli_settings_v1_settings_proto_goTypes = []interface{}{ - (*GetAllResponse)(nil), // 0: cc.arduino.cli.settings.v1.GetAllResponse - (*MergeRequest)(nil), // 1: cc.arduino.cli.settings.v1.MergeRequest - (*GetValueResponse)(nil), // 2: cc.arduino.cli.settings.v1.GetValueResponse - (*SetValueRequest)(nil), // 3: cc.arduino.cli.settings.v1.SetValueRequest - (*GetAllRequest)(nil), // 4: cc.arduino.cli.settings.v1.GetAllRequest - (*GetValueRequest)(nil), // 5: cc.arduino.cli.settings.v1.GetValueRequest - (*MergeResponse)(nil), // 6: cc.arduino.cli.settings.v1.MergeResponse - (*SetValueResponse)(nil), // 7: cc.arduino.cli.settings.v1.SetValueResponse - (*WriteRequest)(nil), // 8: cc.arduino.cli.settings.v1.WriteRequest - (*WriteResponse)(nil), // 9: cc.arduino.cli.settings.v1.WriteResponse - (*DeleteRequest)(nil), // 10: cc.arduino.cli.settings.v1.DeleteRequest - (*DeleteResponse)(nil), // 11: cc.arduino.cli.settings.v1.DeleteResponse -} -var file_cc_arduino_cli_settings_v1_settings_proto_depIdxs = []int32{ - 4, // 0: cc.arduino.cli.settings.v1.SettingsService.GetAll:input_type -> cc.arduino.cli.settings.v1.GetAllRequest - 1, // 1: cc.arduino.cli.settings.v1.SettingsService.Merge:input_type -> cc.arduino.cli.settings.v1.MergeRequest - 5, // 2: cc.arduino.cli.settings.v1.SettingsService.GetValue:input_type -> cc.arduino.cli.settings.v1.GetValueRequest - 3, // 3: cc.arduino.cli.settings.v1.SettingsService.SetValue:input_type -> cc.arduino.cli.settings.v1.SetValueRequest - 8, // 4: cc.arduino.cli.settings.v1.SettingsService.Write:input_type -> cc.arduino.cli.settings.v1.WriteRequest - 10, // 5: cc.arduino.cli.settings.v1.SettingsService.Delete:input_type -> cc.arduino.cli.settings.v1.DeleteRequest - 0, // 6: cc.arduino.cli.settings.v1.SettingsService.GetAll:output_type -> cc.arduino.cli.settings.v1.GetAllResponse - 6, // 7: cc.arduino.cli.settings.v1.SettingsService.Merge:output_type -> cc.arduino.cli.settings.v1.MergeResponse - 2, // 8: cc.arduino.cli.settings.v1.SettingsService.GetValue:output_type -> cc.arduino.cli.settings.v1.GetValueResponse - 7, // 9: cc.arduino.cli.settings.v1.SettingsService.SetValue:output_type -> cc.arduino.cli.settings.v1.SetValueResponse - 9, // 10: cc.arduino.cli.settings.v1.SettingsService.Write:output_type -> cc.arduino.cli.settings.v1.WriteResponse - 11, // 11: cc.arduino.cli.settings.v1.SettingsService.Delete:output_type -> cc.arduino.cli.settings.v1.DeleteResponse - 6, // [6:12] is the sub-list for method output_type - 0, // [0:6] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_cc_arduino_cli_settings_v1_settings_proto_init() } -func file_cc_arduino_cli_settings_v1_settings_proto_init() { - if File_cc_arduino_cli_settings_v1_settings_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAllRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MergeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WriteRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WriteResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_settings_v1_settings_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_cc_arduino_cli_settings_v1_settings_proto_rawDesc, - NumEnums: 0, - NumMessages: 12, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_cc_arduino_cli_settings_v1_settings_proto_goTypes, - DependencyIndexes: file_cc_arduino_cli_settings_v1_settings_proto_depIdxs, - MessageInfos: file_cc_arduino_cli_settings_v1_settings_proto_msgTypes, - }.Build() - File_cc_arduino_cli_settings_v1_settings_proto = out.File - file_cc_arduino_cli_settings_v1_settings_proto_rawDesc = nil - file_cc_arduino_cli_settings_v1_settings_proto_goTypes = nil - file_cc_arduino_cli_settings_v1_settings_proto_depIdxs = nil -} diff --git a/rpc/cc/arduino/cli/settings/v1/settings_grpc.pb.go b/rpc/cc/arduino/cli/settings/v1/settings_grpc.pb.go deleted file mode 100644 index 82585686aa5..00000000000 --- a/rpc/cc/arduino/cli/settings/v1/settings_grpc.pb.go +++ /dev/null @@ -1,321 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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. - -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v4.24.3 -// source: cc/arduino/cli/settings/v1/settings.proto - -package settings - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -const ( - SettingsService_GetAll_FullMethodName = "/cc.arduino.cli.settings.v1.SettingsService/GetAll" - SettingsService_Merge_FullMethodName = "/cc.arduino.cli.settings.v1.SettingsService/Merge" - SettingsService_GetValue_FullMethodName = "/cc.arduino.cli.settings.v1.SettingsService/GetValue" - SettingsService_SetValue_FullMethodName = "/cc.arduino.cli.settings.v1.SettingsService/SetValue" - SettingsService_Write_FullMethodName = "/cc.arduino.cli.settings.v1.SettingsService/Write" - SettingsService_Delete_FullMethodName = "/cc.arduino.cli.settings.v1.SettingsService/Delete" -) - -// SettingsServiceClient is the client API for SettingsService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type SettingsServiceClient interface { - // List all the settings. - GetAll(ctx context.Context, in *GetAllRequest, opts ...grpc.CallOption) (*GetAllResponse, error) - // Set multiple settings values at once. - Merge(ctx context.Context, in *MergeRequest, opts ...grpc.CallOption) (*MergeResponse, error) - // Get the value of a specific setting. - GetValue(ctx context.Context, in *GetValueRequest, opts ...grpc.CallOption) (*GetValueResponse, error) - // Set the value of a specific setting. - SetValue(ctx context.Context, in *SetValueRequest, opts ...grpc.CallOption) (*SetValueResponse, error) - // Writes to file settings currently stored in memory - Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error) - // Deletes an entry and rewrites the file settings - Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) -} - -type settingsServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewSettingsServiceClient(cc grpc.ClientConnInterface) SettingsServiceClient { - return &settingsServiceClient{cc} -} - -func (c *settingsServiceClient) GetAll(ctx context.Context, in *GetAllRequest, opts ...grpc.CallOption) (*GetAllResponse, error) { - out := new(GetAllResponse) - err := c.cc.Invoke(ctx, SettingsService_GetAll_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *settingsServiceClient) Merge(ctx context.Context, in *MergeRequest, opts ...grpc.CallOption) (*MergeResponse, error) { - out := new(MergeResponse) - err := c.cc.Invoke(ctx, SettingsService_Merge_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *settingsServiceClient) GetValue(ctx context.Context, in *GetValueRequest, opts ...grpc.CallOption) (*GetValueResponse, error) { - out := new(GetValueResponse) - err := c.cc.Invoke(ctx, SettingsService_GetValue_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *settingsServiceClient) SetValue(ctx context.Context, in *SetValueRequest, opts ...grpc.CallOption) (*SetValueResponse, error) { - out := new(SetValueResponse) - err := c.cc.Invoke(ctx, SettingsService_SetValue_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *settingsServiceClient) Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error) { - out := new(WriteResponse) - err := c.cc.Invoke(ctx, SettingsService_Write_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *settingsServiceClient) Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error) { - out := new(DeleteResponse) - err := c.cc.Invoke(ctx, SettingsService_Delete_FullMethodName, in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// SettingsServiceServer is the server API for SettingsService service. -// All implementations must embed UnimplementedSettingsServiceServer -// for forward compatibility -type SettingsServiceServer interface { - // List all the settings. - GetAll(context.Context, *GetAllRequest) (*GetAllResponse, error) - // Set multiple settings values at once. - Merge(context.Context, *MergeRequest) (*MergeResponse, error) - // Get the value of a specific setting. - GetValue(context.Context, *GetValueRequest) (*GetValueResponse, error) - // Set the value of a specific setting. - SetValue(context.Context, *SetValueRequest) (*SetValueResponse, error) - // Writes to file settings currently stored in memory - Write(context.Context, *WriteRequest) (*WriteResponse, error) - // Deletes an entry and rewrites the file settings - Delete(context.Context, *DeleteRequest) (*DeleteResponse, error) - mustEmbedUnimplementedSettingsServiceServer() -} - -// UnimplementedSettingsServiceServer must be embedded to have forward compatible implementations. -type UnimplementedSettingsServiceServer struct { -} - -func (UnimplementedSettingsServiceServer) GetAll(context.Context, *GetAllRequest) (*GetAllResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetAll not implemented") -} -func (UnimplementedSettingsServiceServer) Merge(context.Context, *MergeRequest) (*MergeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Merge not implemented") -} -func (UnimplementedSettingsServiceServer) GetValue(context.Context, *GetValueRequest) (*GetValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetValue not implemented") -} -func (UnimplementedSettingsServiceServer) SetValue(context.Context, *SetValueRequest) (*SetValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SetValue not implemented") -} -func (UnimplementedSettingsServiceServer) Write(context.Context, *WriteRequest) (*WriteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Write not implemented") -} -func (UnimplementedSettingsServiceServer) Delete(context.Context, *DeleteRequest) (*DeleteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method Delete not implemented") -} -func (UnimplementedSettingsServiceServer) mustEmbedUnimplementedSettingsServiceServer() {} - -// UnsafeSettingsServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to SettingsServiceServer will -// result in compilation errors. -type UnsafeSettingsServiceServer interface { - mustEmbedUnimplementedSettingsServiceServer() -} - -func RegisterSettingsServiceServer(s grpc.ServiceRegistrar, srv SettingsServiceServer) { - s.RegisterService(&SettingsService_ServiceDesc, srv) -} - -func _SettingsService_GetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetAllRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SettingsServiceServer).GetAll(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SettingsService_GetAll_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SettingsServiceServer).GetAll(ctx, req.(*GetAllRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SettingsService_Merge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MergeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SettingsServiceServer).Merge(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SettingsService_Merge_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SettingsServiceServer).Merge(ctx, req.(*MergeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SettingsService_GetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SettingsServiceServer).GetValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SettingsService_GetValue_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SettingsServiceServer).GetValue(ctx, req.(*GetValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SettingsService_SetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SetValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SettingsServiceServer).SetValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SettingsService_SetValue_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SettingsServiceServer).SetValue(ctx, req.(*SetValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SettingsService_Write_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(WriteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SettingsServiceServer).Write(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SettingsService_Write_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SettingsServiceServer).Write(ctx, req.(*WriteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _SettingsService_Delete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(DeleteRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(SettingsServiceServer).Delete(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: SettingsService_Delete_FullMethodName, - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(SettingsServiceServer).Delete(ctx, req.(*DeleteRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// SettingsService_ServiceDesc is the grpc.ServiceDesc for SettingsService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var SettingsService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "cc.arduino.cli.settings.v1.SettingsService", - HandlerType: (*SettingsServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetAll", - Handler: _SettingsService_GetAll_Handler, - }, - { - MethodName: "Merge", - Handler: _SettingsService_Merge_Handler, - }, - { - MethodName: "GetValue", - Handler: _SettingsService_GetValue_Handler, - }, - { - MethodName: "SetValue", - Handler: _SettingsService_SetValue_Handler, - }, - { - MethodName: "Write", - Handler: _SettingsService_Write_Handler, - }, - { - MethodName: "Delete", - Handler: _SettingsService_Delete_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "cc/arduino/cli/settings/v1/settings.proto", -} From f09ad560eb7cc4d23ab09d55d595a030f833d167 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 Nov 2023 17:51:55 +0100 Subject: [PATCH 025/361] [skip-changelog] Bump golang.org/x/term from 0.13.0 to 0.14.0 (#2413) * Bump golang.org/x/term from 0.13.0 to 0.14.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.13.0 to 0.14.0. - [Commits](https://github.com/golang/term/compare/v0.13.0...v0.14.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index c78b0fd1456..72ae563276f 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.13.0 +version: v0.14.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index f978f479867..9d49c229596 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( go.bug.st/relaxed-semver v0.11.0 go.bug.st/serial v1.6.1 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.13.0 + golang.org/x/term v0.14.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a google.golang.org/grpc v1.59.0 diff --git a/go.sum b/go.sum index 9d24520d18b..9ae688ef114 100644 --- a/go.sum +++ b/go.sum @@ -684,8 +684,8 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= +golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From b0e28d99fe304ab06ac9f35cf7b4903a00a22849 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Thu, 9 Nov 2023 18:56:35 +0100 Subject: [PATCH 026/361] [BREAKING] Support only compatible platform versions (#2285) --- arduino/cores/cores.go | 46 +++++ arduino/cores/packagemanager/download.go | 4 +- .../cores/packagemanager/install_uninstall.go | 2 +- .../cores/packagemanager/package_manager.go | 37 ++++ .../packagemanager/package_manager_test.go | 1 + commands/board/search.go | 2 +- commands/core.go | 1 + commands/core/search.go | 37 +--- commands/core/search_test.go | 187 +++++++----------- docs/UPGRADING.md | 28 +++ internal/cli/arguments/completion.go | 12 +- internal/cli/arguments/reference.go | 3 +- internal/cli/compile/compile.go | 5 +- internal/cli/core/list.go | 30 ++- internal/cli/core/search.go | 73 ++++--- internal/cli/core/upgrade.go | 17 +- internal/cli/feedback/result/rpc.go | 30 +++ internal/cli/upload/upload.go | 5 +- internal/integrationtest/arduino-cli.go | 5 +- internal/integrationtest/board/board_test.go | 89 ++++----- internal/integrationtest/core/core_test.go | 183 ++++++++++++++--- .../integrationtest/testdata/test_index.json | 168 ++++++++++++++++ rpc/cc/arduino/cli/commands/v1/common.pb.go | 17 +- rpc/cc/arduino/cli/commands/v1/common.proto | 6 +- rpc/cc/arduino/cli/commands/v1/core.pb.go | 48 ++--- rpc/cc/arduino/cli/commands/v1/core.proto | 5 +- 26 files changed, 713 insertions(+), 328 deletions(-) diff --git a/arduino/cores/cores.go b/arduino/cores/cores.go index 0c836c20f8d..c3e09adac79 100644 --- a/arduino/cores/cores.go +++ b/arduino/cores/cores.go @@ -75,6 +75,7 @@ type PlatformRelease struct { PluggableDiscoveryAware bool `json:"-"` // true if the Platform supports pluggable discovery (no compatibility layer required) Monitors map[string]*MonitorDependency `json:"-"` MonitorsDevRecipes map[string]string `json:"-"` + Compatible bool `json:"-"` // true if at all ToolDependencies are available for the current OS/ARCH. } // BoardManifest contains information about a board. These metadata are usually @@ -229,6 +230,21 @@ func (platform *Platform) GetLatestRelease() *PlatformRelease { return platform.FindReleaseWithVersion(latestVersion) } +// GetLatestCompatibleRelease returns the latest compatible release of this platform, or nil if no +// compatible releases are available. +func (platform *Platform) GetLatestCompatibleRelease() *PlatformRelease { + var maximum *PlatformRelease + for _, release := range platform.Releases { + if !release.IsCompatible() { + continue + } + if maximum == nil || release.Version.GreaterThan(maximum.Version) { + maximum = release + } + } + return maximum +} + // GetAllReleases returns all the releases of this platform, or an empty // slice if no releases are available func (platform *Platform) GetAllReleases() []*PlatformRelease { @@ -249,6 +265,18 @@ func (platform *Platform) GetAllReleasesVersions() []*semver.Version { return versions } +// GetAllCompatibleReleasesVersions returns all the version numbers in this Platform Package that contains compatible tools. +func (platform *Platform) GetAllCompatibleReleasesVersions() []*semver.Version { + versions := []*semver.Version{} + for _, release := range platform.Releases { + if !release.IsCompatible() { + continue + } + versions = append(versions, release.Version) + } + return versions +} + // latestReleaseVersion obtains latest version number, or nil if no release available func (platform *Platform) latestReleaseVersion() *semver.Version { // TODO: Cache latest version using a field in Platform @@ -266,6 +294,18 @@ func (platform *Platform) latestReleaseVersion() *semver.Version { return max } +// latestCompatibleReleaseVersion obtains latest version number, for platforms that contains compatible tools, or nil if no release available +func (platform *Platform) latestCompatibleReleaseVersion() *semver.Version { + versions := platform.GetAllCompatibleReleasesVersions() + var maxVer *semver.Version + for _, v := range versions { + if maxVer == nil || v.GreaterThan(maxVer) { + maxVer = v + } + } + return maxVer +} + // GetAllInstalled returns all installed PlatformRelease func (platform *Platform) GetAllInstalled() []*PlatformRelease { res := []*PlatformRelease{} @@ -422,3 +462,9 @@ func (release *PlatformRelease) HasMetadata() bool { installedJSONPath := release.InstallDir.Join("installed.json") return installedJSONPath.Exist() } + +// IsCompatible returns true if all the tools dependencies of a PlatformRelease +// are available in the current OS/ARCH. +func (release *PlatformRelease) IsCompatible() bool { + return release.Compatible +} diff --git a/arduino/cores/packagemanager/download.go b/arduino/cores/packagemanager/download.go index f3a5877c8a6..43d13c11ea0 100644 --- a/arduino/cores/packagemanager/download.go +++ b/arduino/cores/packagemanager/download.go @@ -87,9 +87,9 @@ func (pme *Explorer) FindPlatformReleaseDependencies(item *PlatformReference) (* return nil, nil, fmt.Errorf(tr("required version %[1]s not found for platform %[2]s"), item.PlatformVersion, platform.String()) } } else { - release = platform.GetLatestRelease() + release = platform.GetLatestCompatibleRelease() if release == nil { - return nil, nil, fmt.Errorf(tr("platform %s has no available releases"), platform.String()) + return nil, nil, fmt.Errorf(tr("platform is not available for your OS")) } } diff --git a/arduino/cores/packagemanager/install_uninstall.go b/arduino/cores/packagemanager/install_uninstall.go index 0d8332cb2be..2f396894fa5 100644 --- a/arduino/cores/packagemanager/install_uninstall.go +++ b/arduino/cores/packagemanager/install_uninstall.go @@ -53,7 +53,7 @@ func (pme *Explorer) DownloadAndInstallPlatformUpgrades( if installed == nil { return nil, &arduino.PlatformNotFoundError{Platform: platformRef.String()} } - latest := platform.GetLatestRelease() + latest := platform.GetLatestCompatibleRelease() if !latest.Version.GreaterThan(installed.Version) { return installed, &arduino.PlatformAlreadyAtTheLatestVersionError{Platform: platformRef.String()} } diff --git a/arduino/cores/packagemanager/package_manager.go b/arduino/cores/packagemanager/package_manager.go index 1d6ac17aac0..1f2b380e08a 100644 --- a/arduino/cores/packagemanager/package_manager.go +++ b/arduino/cores/packagemanager/package_manager.go @@ -121,6 +121,42 @@ func (pmb *Builder) Build() *PackageManager { } } +// calculate Compatible PlatformRelease +func (pmb *Builder) calculateCompatibleReleases() { + for _, op := range pmb.packages { + for _, p := range op.Platforms { + for _, pr := range p.Releases { + platformHasAllCompatibleTools := func() bool { + for _, td := range pr.ToolDependencies { + if td == nil { + return false + } + + _, ok := pmb.packages[td.ToolPackager] + if !ok { + return false + } + tool := pmb.packages[td.ToolPackager].Tools[td.ToolName] + if tool == nil { + return false + } + tr := tool.Releases[td.ToolVersion.NormalizedString()] + if tr == nil { + return false + } + + if tr.GetCompatibleFlavour() == nil { + return false + } + } + return true + } + pr.Compatible = platformHasAllCompatibleTools() + } + } + } +} + // NewBuilder creates a Builder with the same configuration // of this PackageManager. A "commit" function callback is returned: calling // this function will make the builder write the new configuration into this @@ -128,6 +164,7 @@ func (pmb *Builder) Build() *PackageManager { func (pm *PackageManager) NewBuilder() (builder *Builder, commit func()) { pmb := NewBuilder(pm.IndexDir, pm.PackagesDir, pm.DownloadDir, pm.tempDir, pm.userAgent) return pmb, func() { + pmb.calculateCompatibleReleases() pmb.BuildIntoExistingPackageManager(pm) } } diff --git a/arduino/cores/packagemanager/package_manager_test.go b/arduino/cores/packagemanager/package_manager_test.go index c02fa34eaa6..8a5fc877850 100644 --- a/arduino/cores/packagemanager/package_manager_test.go +++ b/arduino/cores/packagemanager/package_manager_test.go @@ -744,6 +744,7 @@ func TestFindToolsRequiredFromPlatformRelease(t *testing.T) { func TestFindPlatformReleaseDependencies(t *testing.T) { pmb := NewBuilder(nil, nil, nil, nil, "test") pmb.LoadPackageIndexFromFile(paths.New("testdata", "package_tooltest_index.json")) + pmb.calculateCompatibleReleases() pm := pmb.Build() pme, release := pm.NewExplorer() defer release() diff --git a/commands/board/search.go b/commands/board/search.go index 007867775e3..bd8702504d7 100644 --- a/commands/board/search.go +++ b/commands/board/search.go @@ -41,7 +41,7 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR foundBoards := []*rpc.BoardListItem{} for _, targetPackage := range pme.GetPackages() { for _, platform := range targetPackage.Platforms { - latestPlatformRelease := platform.GetLatestRelease() + latestPlatformRelease := platform.GetLatestCompatibleRelease() installedPlatformRelease := pme.GetInstalledPlatformRelease(platform) if latestPlatformRelease == nil && installedPlatformRelease == nil { diff --git a/commands/core.go b/commands/core.go index 14dc3360e4c..1881519ef38 100644 --- a/commands/core.go +++ b/commands/core.go @@ -74,5 +74,6 @@ func PlatformReleaseToRPC(platformRelease *cores.PlatformRelease) *rpc.PlatformR MissingMetadata: missingMetadata, Type: []string{platformRelease.Category}, Deprecated: platformRelease.Deprecated, + Compatible: platformRelease.IsCompatible(), } } diff --git a/commands/core/search.go b/commands/core/search.go index 7d0b5662f31..c0341b40a91 100644 --- a/commands/core/search.go +++ b/commands/core/search.go @@ -55,10 +55,7 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse // Discard platforms with no releases latestRelease := platform.GetLatestRelease() - if latestRelease == nil { - continue - } - if latestRelease.Name == "" { + if latestRelease == nil || latestRelease.Name == "" { continue } @@ -86,41 +83,25 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse out := []*rpc.PlatformSummary{} for _, platform := range res { rpcPlatformSummary := &rpc.PlatformSummary{ + Metadata: commands.PlatformToRPCPlatformMetadata(platform), Releases: map[string]*rpc.PlatformRelease{}, } - - rpcPlatformSummary.Metadata = commands.PlatformToRPCPlatformMetadata(platform) - - installed := pme.GetInstalledPlatformRelease(platform) - latest := platform.GetLatestRelease() - if installed != nil { + if installed := pme.GetInstalledPlatformRelease(platform); installed != nil { rpcPlatformSummary.InstalledVersion = installed.Version.String() } - if latest != nil { - rpcPlatformSummary.LatestVersion = latest.Version.String() + if latestCompatible := platform.GetLatestCompatibleRelease(); latestCompatible != nil { + rpcPlatformSummary.LatestVersion = latestCompatible.Version.String() } - if req.AllVersions { - for _, platformRelease := range platform.GetAllReleases() { - rpcPlatformRelease := commands.PlatformReleaseToRPC(platformRelease) - rpcPlatformSummary.Releases[rpcPlatformRelease.Version] = rpcPlatformRelease - } - } else { - if installed != nil { - rpcPlatformRelease := commands.PlatformReleaseToRPC(installed) - rpcPlatformSummary.Releases[installed.Version.String()] = rpcPlatformRelease - } - if latest != nil { - rpcPlatformRelease := commands.PlatformReleaseToRPC(latest) - rpcPlatformSummary.Releases[latest.Version.String()] = rpcPlatformRelease - } + for _, platformRelease := range platform.GetAllReleases() { + rpcPlatformRelease := commands.PlatformReleaseToRPC(platformRelease) + rpcPlatformSummary.Releases[rpcPlatformRelease.Version] = rpcPlatformRelease } out = append(out, rpcPlatformSummary) } // Sort result alphabetically and put deprecated platforms at the bottom sort.Slice(out, func(i, j int) bool { - return strings.ToLower(out[i].GetReleases()[out[i].GetLatestVersion()].Name) < - strings.ToLower(out[j].GetReleases()[out[j].GetLatestVersion()].Name) + return strings.ToLower(out[i].GetMetadata().GetId()) < strings.ToLower(out[j].GetMetadata().GetId()) }) sort.SliceStable(out, func(i, j int) bool { return !out[i].GetMetadata().Deprecated && out[j].GetMetadata().Deprecated diff --git a/commands/core/search_test.go b/commands/core/search_test.go index a695acbd6b4..ea3fdc4ef9d 100644 --- a/commands/core/search_test.go +++ b/commands/core/search_test.go @@ -43,9 +43,8 @@ func TestPlatformSearch(t *testing.T) { t.Run("SearchAllVersions", func(t *testing.T) { res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "retrokit", - AllVersions: true, + Instance: inst, + SearchArgs: "retrokit", }) require.Nil(t, stat) require.NotNil(t, res) @@ -61,64 +60,32 @@ func TestPlatformSearch(t *testing.T) { }, Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.5", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, - }, - "1.0.6": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.6", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, - }, - InstalledVersion: "", - LatestVersion: "1.0.6", - }) - }) - - t.Run("SearchNoAllVersions", func(t *testing.T) { - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "retrokit", - AllVersions: false, - }) - require.Nil(t, stat) - require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ - Metadata: &rpc.PlatformMetadata{ - Id: "Retrokits-RK002:arm", - Maintainer: "Retrokits (www.retrokits.com)", - Website: "https://www.retrokits.com", - Email: "info@retrokits.com", - Indexed: true, - }, - Releases: map[string]*rpc.PlatformRelease{ "1.0.6": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.6", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, }, InstalledVersion: "", - LatestVersion: "1.0.6", }) }) t.Run("SearchThePackageMaintainer", func(t *testing.T) { res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "Retrokits (www.retrokits.com)", - AllVersions: true, + Instance: inst, + SearchArgs: "Retrokits (www.retrokits.com)", }) require.Nil(t, stat) require.NotNil(t, res) @@ -133,32 +100,32 @@ func TestPlatformSearch(t *testing.T) { }, Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.5", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, "1.0.6": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.6", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, }, InstalledVersion: "", - LatestVersion: "1.0.6", }) }) t.Run("SearchPackageName", func(t *testing.T) { res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "Retrokits-RK002", - AllVersions: true, + Instance: inst, + SearchArgs: "Retrokits-RK002", }) require.Nil(t, stat) require.NotNil(t, res) @@ -173,32 +140,32 @@ func TestPlatformSearch(t *testing.T) { }, Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.5", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, "1.0.6": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.6", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, }, InstalledVersion: "", - LatestVersion: "1.0.6", }) }) t.Run("SearchPlatformName", func(t *testing.T) { res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "rk002", - AllVersions: true, + Instance: inst, + SearchArgs: "rk002", }) require.Nil(t, stat) require.NotNil(t, res) @@ -213,32 +180,32 @@ func TestPlatformSearch(t *testing.T) { }, Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.5", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.5", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, "1.0.6": { - Name: "RK002", - Type: []string{"Contributed"}, - Installed: false, - Version: "1.0.6", - Boards: []*rpc.Board{{Name: "RK002"}}, - Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Name: "RK002", + Type: []string{"Contributed"}, + Installed: false, + Version: "1.0.6", + Boards: []*rpc.Board{{Name: "RK002"}}, + Help: &rpc.HelpResources{Online: "https://www.retrokits.com/rk002/arduino"}, + Compatible: false, }, }, InstalledVersion: "", - LatestVersion: "1.0.6", }) }) t.Run("SearchBoardName", func(t *testing.T) { res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "Yún", - AllVersions: true, + Instance: inst, + SearchArgs: "Yún", }) require.Nil(t, stat) require.NotNil(t, res) @@ -285,19 +252,18 @@ func TestPlatformSearch(t *testing.T) { {Name: "Arduino Industrial 101"}, {Name: "Linino One"}, }, - Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, + Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, + Compatible: false, }, }, InstalledVersion: "", - LatestVersion: "1.8.3", }) }) t.Run("SearchBoardName2", func(t *testing.T) { res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "yun", - AllVersions: true, + Instance: inst, + SearchArgs: "yun", }) require.Nil(t, stat) require.NotNil(t, res) @@ -344,11 +310,11 @@ func TestPlatformSearch(t *testing.T) { {Name: "Arduino Industrial 101"}, {Name: "Linino One"}, }, - Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, + Help: &rpc.HelpResources{Online: "http://www.arduino.cc/en/Reference/HomePage"}, + Compatible: false, }, }, InstalledVersion: "", - LatestVersion: "1.8.3", }) }) } @@ -370,17 +336,16 @@ func TestPlatformSearchSorting(t *testing.T) { require.NotNil(t, inst) res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "", - AllVersions: false, + Instance: inst, + SearchArgs: "", }) require.Nil(t, stat) require.NotNil(t, res) require.Len(t, res.SearchOutput, 3) - require.Equal(t, res.SearchOutput[0].GetLatestRelease().Name, "Arduino AVR Boards") + require.Equal(t, res.SearchOutput[0].GetSortedReleases()[0].Name, "Arduino AVR Boards") require.Equal(t, res.SearchOutput[0].Metadata.Deprecated, false) - require.Equal(t, res.SearchOutput[1].GetLatestRelease().Name, "RK002") + require.Equal(t, res.SearchOutput[1].GetSortedReleases()[0].Name, "RK002") require.Equal(t, res.SearchOutput[1].Metadata.Deprecated, false) require.Equal(t, res.SearchOutput[2].GetLatestRelease().Name, "Platform") require.Equal(t, res.SearchOutput[2].Metadata.Deprecated, true) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 037f4992058..8b8ebcf7790 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,34 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### The gRPC `cc.arduino.cli.commands.v1.PlatformRelease` has been changed. + +We've added a new field called `compatible`. This field indicates if the current platform release is installable or not. +It may happen that a platform doesn't have a dependency available for an OS/ARCH, in such cases, if we try to install +the platform it will fail. The new field can be used to know upfront if a specific release is installable. + +### The gRPC `cc.arduino.cli.commands.v1.PlatformSummary` has been changed. + +We've modified the behavior of `latest_version`. Now this field indicates the latest version that can be installed in +the current OS/ARCH. + +### `core list` now returns only the latest version that can be installed. + +Previously, we showed the latest version without checking if all the dependencies were available in the current OS/ARCH. +Now, the latest version will always point to an installable one even if a newer incompatible one is present. + +### `core search` now returns the latest installable version of a core. + +We now show in the `version` column the latest installable version. If none are available then we show a `n/a` label. +The corresponding command with `--format json` now returns the same output of +`arduino-cli core search --all --format json`. + +### `core upgrade` and `core install` will install the latest compatible version. + +Previously, we'd have tried the installation/upgrade of a core even if all the required tools weren't available in the +current OS/ARCH. Now we check this upfront, and allowing the installation of incompatible versions only if a user +explicitly provides it like: `core install arduino:renesas_uno@1.0.2` + ### gRPC service `cc.arduino.cli.settings.v1` has been removed, and all RPC calls have been migrated to `cc.arduino.cli.commands.v1` The service `cc.arduino.cli.settings.v1` no longer exists and all existing RPC calls have been moved to the diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index 2139e415fe1..89423edd1a7 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -85,7 +85,6 @@ func GetUninstallableCores() []string { platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, - AllVersions: false, ManuallyInstalled: true, }) @@ -106,14 +105,15 @@ func GetInstallableCores() []string { inst := instance.CreateAndInit() platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: "", - AllVersions: false, + Instance: inst, + SearchArgs: "", }) var res []string // transform the data structure for the completion - for _, i := range platforms.SearchOutput { - res = append(res, i.GetMetadata().GetId()+"\t"+i.GetReleases()[i.GetLatestVersion()].GetName()) + for _, i := range platforms.GetSearchOutput() { + if latest := i.GetLatestRelease(); latest != nil { + res = append(res, i.GetMetadata().GetId()+"\t"+latest.GetName()) + } } return res } diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index f9d8737d415..ed6152af5b8 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -96,8 +96,7 @@ func ParseReference(arg string) (*Reference, error) { // try to use core.PlatformList to optimize what the user typed // (by replacing the PackageName and Architecture in ret with the content of core.GetPlatform()) platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: instance.CreateAndInit(), - AllVersions: false, + Instance: instance.CreateAndInit(), }) foundPlatforms := []string{} for _, platform := range platforms.GetSearchOutput() { diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 1204b529f17..7cd66de7663 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -370,9 +370,8 @@ func runCompileCommand(cmd *cobra.Command, args []string) { res.Error += fmt.Sprintln() if platform, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: platformErr.Platform, - AllVersions: false, + Instance: inst, + SearchArgs: platformErr.Platform, }); err != nil { res.Error += err.Error() } else if len(platform.GetSearchOutput()) > 0 { diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 1adda2f26bc..40ac933f027 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -16,7 +16,6 @@ package core import ( - "fmt" "os" "github.com/arduino/arduino-cli/commands/core" @@ -56,14 +55,13 @@ func runListCommand(args []string, all bool, updatableOnly bool) { // List gets and prints a list of installed platforms. func List(inst *rpc.Instance, all bool, updatableOnly bool) { platforms := GetList(inst, all, updatableOnly) - feedback.PrintResult(newCoreListResult(platforms)) + feedback.PrintResult(newCoreListResult(platforms, updatableOnly)) } // GetList returns a list of installed platforms. func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSummary { platforms, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, - AllVersions: true, ManuallyInstalled: true, }) if err != nil { @@ -88,8 +86,8 @@ func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSu return result } -func newCoreListResult(in []*rpc.PlatformSummary) *coreListResult { - res := &coreListResult{} +func newCoreListResult(in []*rpc.PlatformSummary, updatableOnly bool) *coreListResult { + res := &coreListResult{updatableOnly: updatableOnly} for _, platformSummary := range in { res.platforms = append(res.platforms, result.NewPlatformSummary(platformSummary)) } @@ -97,7 +95,8 @@ func newCoreListResult(in []*rpc.PlatformSummary) *coreListResult { } type coreListResult struct { - platforms []*result.PlatformSummary + platforms []*result.PlatformSummary + updatableOnly bool } // Data implements Result interface @@ -108,24 +107,19 @@ func (ir coreListResult) Data() interface{} { // String implements Result interface func (ir coreListResult) String() string { if len(ir.platforms) == 0 { + if ir.updatableOnly { + return tr("All platforms are up to date.") + } return tr("No platforms installed.") } t := table.New() t.SetHeader(tr("ID"), tr("Installed"), tr("Latest"), tr("Name")) for _, platform := range ir.platforms { - name := "" - if installed := platform.GetInstalledRelease(); installed != nil { - name = installed.Name - } - if name == "" { - if latest := platform.GetLatestRelease(); latest != nil { - name = latest.Name - } - } - if platform.Deprecated { - name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), name) + latestVersion := platform.LatestVersion.String() + if latestVersion == "" { + latestVersion = "n/a" } - t.AddRow(platform.Id, platform.InstalledVersion, platform.LatestVersion, name) + t.AddRow(platform.Id, platform.InstalledVersion, latestVersion, platform.GetPlatformName()) } return t.Render() diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 30d4f749759..0fc2389cdd8 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -37,18 +37,17 @@ import ( "github.com/spf13/cobra" ) -var ( - allVersions bool -) - func initSearchCommand() *cobra.Command { + var allVersions bool searchCommand := &cobra.Command{ Use: fmt.Sprintf("search <%s...>", tr("keywords")), Short: tr("Search for a core in Boards Manager."), Long: tr("Search for a core in Boards Manager using the specified keywords."), Example: " " + os.Args[0] + " core search MKRZero -a -v", Args: cobra.ArbitraryArgs, - Run: runSearchCommand, + Run: func(cmd *cobra.Command, args []string) { + runSearchCommand(cmd, args, allVersions) + }, } searchCommand.Flags().BoolVarP(&allVersions, "all", "a", false, tr("Show all available core versions.")) @@ -58,7 +57,7 @@ func initSearchCommand() *cobra.Command { // indexUpdateInterval specifies the time threshold over which indexes are updated const indexUpdateInterval = "24h" -func runSearchCommand(cmd *cobra.Command, args []string) { +func runSearchCommand(cmd *cobra.Command, args []string, allVersions bool) { inst := instance.CreateAndInit() if indexesNeedUpdating(indexUpdateInterval) { @@ -73,28 +72,31 @@ func runSearchCommand(cmd *cobra.Command, args []string) { logrus.Infof("Executing `arduino-cli core search` with args: '%s'", arguments) resp, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: arguments, - AllVersions: allVersions, + Instance: inst, + SearchArgs: arguments, }) if err != nil { feedback.Fatal(tr("Error searching for platforms: %v", err), feedback.ErrGeneric) } coreslist := resp.GetSearchOutput() - feedback.PrintResult(newSearchResult(coreslist)) + feedback.PrintResult(newSearchResult(coreslist, allVersions)) } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type searchResults struct { - platforms []*result.PlatformSummary + platforms []*result.PlatformSummary + allVersions bool } -func newSearchResult(in []*rpc.PlatformSummary) *searchResults { - res := &searchResults{} - for _, platformSummary := range in { - res.platforms = append(res.platforms, result.NewPlatformSummary(platformSummary)) +func newSearchResult(in []*rpc.PlatformSummary, allVersions bool) *searchResults { + res := &searchResults{ + platforms: make([]*result.PlatformSummary, len(in)), + allVersions: allVersions, + } + for i, platformSummary := range in { + res.platforms[i] = result.NewPlatformSummary(platformSummary) } return res } @@ -104,24 +106,33 @@ func (sr searchResults) Data() interface{} { } func (sr searchResults) String() string { - if len(sr.platforms) > 0 { - t := table.New() - t.SetHeader(tr("ID"), tr("Version"), tr("Name")) - for _, platform := range sr.platforms { - name := "" - if latest := platform.GetLatestRelease(); latest != nil { - name = latest.Name - } - if platform.Deprecated { - name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), name) - } - for _, version := range platform.Releases.Keys() { - t.AddRow(platform.Id, version, name) - } + if len(sr.platforms) == 0 { + return tr("No platforms matching your search.") + } + + t := table.New() + t.SetHeader(tr("ID"), tr("Version"), tr("Name")) + + addRow := func(platform *result.PlatformSummary, release *result.PlatformRelease) { + if release == nil { + t.AddRow(platform.Id, "n/a", platform.GetPlatformName()) + return + } + t.AddRow(platform.Id, release.Version, release.FormatName()) + } + + for _, platform := range sr.platforms { + // When allVersions is not requested we only show the latest compatible version + if !sr.allVersions { + addRow(platform, platform.GetLatestRelease()) + continue + } + + for _, release := range platform.Releases.Values() { + addRow(platform, release) } - return t.Render() } - return tr("No platforms matching your search.") + return t.Render() } // indexesNeedUpdating returns whether one or more index files need updating. diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 04045cc3bf6..93bc6c0720f 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -61,8 +61,7 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni // if no platform was passed, upgrade allthethings if len(args) == 0 { platforms, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - AllVersions: false, + Instance: inst, }) if err != nil { feedback.Fatal(tr("Error retrieving core list: %v", err), feedback.ErrGeneric) @@ -73,14 +72,14 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni if platform.InstalledVersion == "" { continue } - if platform.InstalledVersion == platform.LatestVersion { - // if it's not updatable, skip it - continue + // if it's not updatable, skip it + latestRelease := platform.GetLatestRelease() + if latestRelease != nil && platform.InstalledVersion != latestRelease.Version { + targets = append(targets, &rpc.Platform{ + Metadata: platform.GetMetadata(), + Release: latestRelease, + }) } - targets = append(targets, &rpc.Platform{ - Metadata: platform.GetMetadata(), - Release: platform.GetLatestRelease(), - }) } if len(targets) == 0 { diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index a632af7737c..63291754fe7 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -17,13 +17,17 @@ package result import ( "cmp" + "fmt" + "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/orderedmap" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) +var tr = i18n.Tr + // NewPlatformSummary creates a new result.PlatformSummary from rpc.PlatformSummary func NewPlatformSummary(in *rpc.PlatformSummary) *PlatformSummary { if in == nil { @@ -76,6 +80,23 @@ func (p *PlatformSummary) GetInstalledRelease() *PlatformRelease { return p.Releases.Get(p.InstalledVersion) } +// GetPlatformName compute the name of the platform based on the installed/available releases. +func (p *PlatformSummary) GetPlatformName() string { + var name string + if installed := p.GetInstalledRelease(); installed != nil { + name = installed.FormatName() + } + if name == "" { + if latest := p.GetLatestRelease(); latest != nil { + name = latest.FormatName() + } else { + keys := p.Releases.Keys() + name = p.Releases.Get(keys[len(keys)-1]).FormatName() + } + } + return name +} + // NewPlatformRelease creates a new result.PlatformRelease from rpc.PlatformRelease func NewPlatformRelease(in *rpc.PlatformRelease) *PlatformRelease { if in == nil { @@ -103,6 +124,7 @@ func NewPlatformRelease(in *rpc.PlatformRelease) *PlatformRelease { Help: help, MissingMetadata: in.MissingMetadata, Deprecated: in.Deprecated, + Compatible: in.Compatible, } return res } @@ -117,6 +139,14 @@ type PlatformRelease struct { Help *HelpResource `json:"help,omitempty"` MissingMetadata bool `json:"missing_metadata,omitempty"` Deprecated bool `json:"deprecated,omitempty"` + Compatible bool `json:"compatible"` +} + +func (p *PlatformRelease) FormatName() string { + if p.Deprecated { + return fmt.Sprintf("[%s] %s", tr("DEPRECATED"), p.Name) + } + return p.Name } // Board maps a rpc.Board diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 73e6166aaaa..7bbc868bf9b 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -138,9 +138,8 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { msg += "\n" if platform, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: inst, - SearchArgs: platformErr.Platform, - AllVersions: false, + Instance: inst, + SearchArgs: platformErr.Platform, }); err != nil { msg += err.Error() } else if len(platform.GetSearchOutput()) > 0 { diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 78ed4dbb3e9..c2b10f7e121 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -576,9 +576,8 @@ func (inst *ArduinoCLIInstance) PlatformUpgrade(ctx context.Context, packager, a // PlatformSearch calls the "PlatformSearch" gRPC method. func (inst *ArduinoCLIInstance) PlatformSearch(ctx context.Context, args string, all bool) (*commands.PlatformSearchResponse, error) { req := &commands.PlatformSearchRequest{ - Instance: inst.instance, - SearchArgs: args, - AllVersions: all, + Instance: inst.instance, + SearchArgs: args, } logCallf(">>> PlatformSearch(%+v)\n", req) resp, err := inst.cli.daemonClient.PlatformSearch(ctx, req) diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index 70c53de9039..e4163c749c6 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -16,8 +16,8 @@ package board_test import ( - "encoding/json" "os" + "runtime" "strings" "testing" @@ -25,7 +25,6 @@ import ( "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing" "github.com/stretchr/testify/require" - semver "go.bug.st/relaxed-semver" "go.bug.st/testifyjson/requirejson" ) @@ -182,26 +181,36 @@ func TestBoardListall(t *testing.T) { "name": "Arduino Yún", "fqbn": "arduino:avr:yun", "platform": { - "id": "arduino:avr", - "installed": "1.8.3", - "name": "Arduino AVR Boards" + "metadata": { + "id": "arduino:avr" + }, + "release": { + "name": "Arduino AVR Boards", + "version": "1.8.3", + "installed": true + } } }, { "name": "Arduino Uno", "fqbn": "arduino:avr:uno", "platform": { - "id": "arduino:avr", - "installed": "1.8.3", - "name": "Arduino AVR Boards" + "metadata": { + "id": "arduino:avr" + }, + "release": { + "name": "Arduino AVR Boards", + "version": "1.8.3", + "installed": true + } } } ] }`) - // Check if the boards' "latest" value is not empty + // Check if the boards' "version" value is not empty requirejson.Parse(t, stdout). - Query(`[ .boards | .[] | .platform | select(.latest == "") ]`). + Query(`[ .boards | .[] | .platform | select(.version == "") ]`). MustBeEmpty() } @@ -232,20 +241,28 @@ func TestBoardListallWithManuallyInstalledPlatform(t *testing.T) { "name": "Arduino MKR1000", "fqbn": "arduino-beta-development:samd:mkr1000", "platform": { - "id": "arduino-beta-development:samd", - "installed": "1.8.11", - "latest": "1.8.11", - "name": "Arduino SAMD (32-bits ARM Cortex-M0+) Boards", + "metadata": { + "id": "arduino-beta-development:samd", + }, + "release": { + "installed": true, + "version": "1.8.11", + "name": "Arduino SAMD (32-bits ARM Cortex-M0+) Boards" + }, } }, { "name": "Arduino NANO 33 IoT", "fqbn": "arduino-beta-development:samd:nano_33_iot", "platform": { - "id": "arduino-beta-development:samd", - "installed": "1.8.11", - "latest": "1.8.11", - "name": "Arduino SAMD (32-bits ARM Cortex-M0+) Boards" + "metadata": { + "id": "arduino-beta-development:samd", + }, + "release": { + "installed": true, + "version": "1.8.11", + "name": "Arduino SAMD (32-bits ARM Cortex-M0+) Boards" + }, } } ] @@ -575,36 +592,6 @@ func TestBoardAttach(t *testing.T) { } } -func TestBoardSearchWithOutdatedCore(t *testing.T) { - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() - - _, _, err := cli.Run("update") - require.NoError(t, err) - - // Install an old core version - _, _, err = cli.Run("core", "install", "arduino:samd@1.8.6") - require.NoError(t, err) - - stdout, _, err := cli.Run("board", "search", "arduino:samd:mkrwifi1010", "--format", "json") - require.NoError(t, err) - requirejson.Len(t, stdout, 1) - var data []map[string]interface{} - err = json.Unmarshal(stdout, &data) - require.NoError(t, err) - board := data[0] - require.Equal(t, board["name"], "Arduino MKR WiFi 1010") - require.Equal(t, board["fqbn"], "arduino:samd:mkrwifi1010") - samdCore := board["platform"].(map[string]interface{}) - require.Equal(t, samdCore["id"], "arduino:samd") - installedVersion, err := semver.Parse(samdCore["installed"].(string)) - require.NoError(t, err) - latestVersion, err := semver.Parse(samdCore["latest"].(string)) - require.NoError(t, err) - // Installed version must be older than latest - require.True(t, installedVersion.LessThan(latestVersion)) -} - func TestBoardListWithFailedBuiltinInstallation(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() @@ -616,10 +603,14 @@ func TestBoardListWithFailedBuiltinInstallation(t *testing.T) { _, _, err = cli.Run("board", "list") require.NoError(t, err) + ext := "" + if runtime.GOOS == "windows" { + ext = ".exe" + } // remove files from serial-discovery directory to simulate a failed installation serialDiscovery, err := cli.DataDir().Join("packages", "builtin", "tools", "serial-discovery").ReadDir() require.NoError(t, err) - require.NoError(t, serialDiscovery[0].Join("serial-discovery.exe").Remove()) + require.NoError(t, serialDiscovery[0].Join("serial-discovery"+ext).Remove()) // board list should install serial-discovery again stdout, stderr, err := cli.Run("board", "list") diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index c5762d3beb6..c9db2e7701e 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -178,11 +178,11 @@ func TestCoreSearchNoArgs(t *testing.T) { require.Contains(t, lines, []string{"test:x86", "2.0.0", "test_core"}) numPlatforms := len(lines) - 1 - // same thing in JSON format, also check the number of platforms found is the same + // Same thing in JSON format, also check the number of platforms found is the same stdout, _, err = cli.Run("core", "search", "--format", "json") require.NoError(t, err) requirejson.Contains(t, stdout, `[{"id": "test:x86", "releases": { "2.0.0": {"name":"test_core"}}}]`) - requirejson.Query(t, stdout, "length", fmt.Sprint(numPlatforms)) + requirejson.Len(t, stdout, numPlatforms) // list all with additional urls, check the test core is there stdout, _, err = cli.Run("core", "search", "--additional-urls="+url.String()) @@ -191,17 +191,27 @@ func TestCoreSearchNoArgs(t *testing.T) { for _, v := range strings.Split(strings.TrimSpace(string(stdout)), "\n") { lines = append(lines, strings.Fields(strings.TrimSpace(v))) } - // Check the presence of test:x86@3.0.0 - require.Contains(t, lines, []string{"test:x86", "3.0.0", "test_core"}) + // Check the absence of test:x86@3.0.0 because it contains incompatible deps. The latest available should be the 2.0.0 + require.NotContains(t, lines, []string{"test:x86", "3.0.0", "test_core"}) + require.Contains(t, lines, []string{"test:x86", "2.0.0", "test_core"}) numPlatforms = len(lines) - 1 // same thing in JSON format, also check the number of platforms found is the same stdout, _, err = cli.Run("core", "search", "--format", "json", "--additional-urls="+url.String()) require.NoError(t, err) - requirejson.Contains(t, stdout, `[{"id": "test:x86", "releases": { "3.0.0": {"name":"test_core"}}}]`) - // A platform could contain multiple releases, we get the length of how many releases are present for each platform - // and we sum them to see if the expected numers matches. - requirejson.Query(t, stdout, `[.[].releases | length] | add`, fmt.Sprint(numPlatforms)) + requirejson.Contains(t, stdout, `[ + { + "id": "test:x86", + "installed_version": "2.0.0", + "latest_version": "2.0.0", + "releases": { + "1.0.0": {"name":"test_core", "compatible": true}, + "2.0.0": {"name":"test_core", "compatible": true}, + "3.0.0": {"name":"test_core", "compatible": false} + } + } + ]`) + requirejson.Len(t, stdout, numPlatforms) } func TestCoreUpdateIndexUrlNotFound(t *testing.T) { @@ -705,17 +715,17 @@ func TestCoreSearchSortedResults(t *testing.T) { for _, v := range lines { if strings.HasPrefix(v[2], "[DEPRECATED]") { deprecated = append(deprecated, v) - } else { - notDeprecated = append(notDeprecated, v) + continue } + notDeprecated = append(notDeprecated, v) } // verify that results are already sorted correctly require.True(t, sort.SliceIsSorted(deprecated, func(i, j int) bool { - return strings.ToLower(deprecated[i][2]) < strings.ToLower(deprecated[j][2]) + return strings.ToLower(deprecated[i][0]) < strings.ToLower(deprecated[j][0]) })) require.True(t, sort.SliceIsSorted(notDeprecated, func(i, j int) bool { - return strings.ToLower(notDeprecated[i][2]) < strings.ToLower(notDeprecated[j][2]) + return strings.ToLower(notDeprecated[i][0]) < strings.ToLower(notDeprecated[j][0]) })) // verify that deprecated platforms are the last ones @@ -727,20 +737,20 @@ func TestCoreSearchSortedResults(t *testing.T) { // verify that results are already sorted correctly sortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() + "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id] | sort").String() notSortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedDeprecated, notSortedDeprecated) sortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() + "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id] | sort").String() notSortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedNotDeprecated, notSortedNotDeprecated) // verify that deprecated platforms are the last ones platform := requirejson.Parse(t, stdout).Query( - "[ .[] | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() + "[ .[] | .id |=ascii_downcase | .id]").String() require.Equal(t, platform, strings.TrimRight(notSortedNotDeprecated, "]")+","+strings.TrimLeft(notSortedDeprecated, "[")) } @@ -783,10 +793,10 @@ func TestCoreListSortedResults(t *testing.T) { // verify that results are already sorted correctly require.True(t, sort.SliceIsSorted(deprecated, func(i, j int) bool { - return strings.ToLower(deprecated[i][3]) < strings.ToLower(deprecated[j][3]) + return strings.ToLower(deprecated[i][0]) < strings.ToLower(deprecated[j][0]) })) require.True(t, sort.SliceIsSorted(notDeprecated, func(i, j int) bool { - return strings.ToLower(notDeprecated[i][3]) < strings.ToLower(notDeprecated[j][3]) + return strings.ToLower(notDeprecated[i][0]) < strings.ToLower(notDeprecated[j][0]) })) // verify that deprecated platforms are the last ones @@ -799,20 +809,20 @@ func TestCoreListSortedResults(t *testing.T) { // verify that results are already sorted correctly sortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() + "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id] | sort").String() notSortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedDeprecated, notSortedDeprecated) sortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name] | sort").String() + "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id] | sort").String() notSortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() + "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedNotDeprecated, notSortedNotDeprecated) // verify that deprecated platforms are the last ones platform := requirejson.Parse(t, stdout).Query( - "[ .[] | {name: .releases[.latest_version].name} | .name |=ascii_downcase | .name]").String() + "[ .[] | .id |=ascii_downcase | .id]").String() require.Equal(t, platform, strings.TrimRight(notSortedNotDeprecated, "]")+","+strings.TrimLeft(notSortedDeprecated, "[")) } @@ -1111,3 +1121,128 @@ func TestCoreListWhenNoPlatformAreInstalled(t *testing.T) { require.NoError(t, err) require.Equal(t, "No platforms installed.\n", string(stdout)) } + +func TestCoreHavingIncompatibleDepTools(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + url := env.HTTPServeFile(8000, paths.New("..", "testdata", "test_index.json")).String() + additionalURLs := "--additional-urls=" + url + + _, _, err := cli.Run("core", "update-index", additionalURLs) + require.NoError(t, err) + + // the `latest_version` must point to an installable release. In the releases field the latest entry, points to an incompatible version. + stdout, _, err := cli.Run("core", "list", "--all", "--format", "json", additionalURLs) + require.NoError(t, err) + requirejson.Parse(t, stdout). + Query(`.[] | select(.id == "foo_vendor:avr")`). + MustContain(`{ + "installed_version": "", + "latest_version": "1.0.1", + "releases": { + "1.0.0": {"compatible": true}, + "1.0.1": {"compatible": true}, + "1.0.2": {"compatible": false} + } + }`) + + // install latest compatible version + _, _, err = cli.Run("core", "install", "foo_vendor:avr", additionalURLs) + require.NoError(t, err) + stdout, _, err = cli.Run("core", "list", "--all", "--format", "json", additionalURLs) + require.NoError(t, err) + requirejson.Parse(t, stdout). + Query(`.[] | select(.id == "foo_vendor:avr")`). + MustContain(`{ + "latest_version": "1.0.1", + "installed_version": "1.0.1", + "releases": {"1.0.1": {"compatible": true}} + }`) + + // install a specific incompatible version + _, stderr, err := cli.Run("core", "install", "foo_vendor:avr@1.0.2", additionalURLs) + require.Error(t, err) + require.Contains(t, string(stderr), "no versions available for the current OS") + + // install a specific compatible version + _, _, err = cli.Run("core", "install", "foo_vendor:avr@1.0.0", additionalURLs) + require.NoError(t, err) + stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) + require.NoError(t, err) + requirejson.Parse(t, stdout). + Query(`.[] | select(.id == "foo_vendor:avr")`). + MustContain(`{"installed_version": "1.0.0", "releases": {"1.0.0": {"compatible": true}}}`) + + // Lists all updatable cores + stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json", additionalURLs) + require.NoError(t, err) + requirejson.Parse(t, stdout). + Query(`.[] | select(.id == "foo_vendor:avr")`). + MustContain(`{"latest_version": "1.0.1", "releases": {"1.0.1": {"compatible": true}}}`) + + // Show outdated cores, must show latest compatible + stdout, _, err = cli.Run("outdated", "--format", "json", additionalURLs) + require.NoError(t, err) + requirejson.Parse(t, stdout). + Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). + MustContain(`{"latest_version": "1.0.1", "releases":{"1.0.1": {"compatible": true}}}`) + + // upgrade to latest compatible (1.0.0 -> 1.0.1) + _, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--format", "json", additionalURLs) + require.NoError(t, err) + stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) + require.NoError(t, err) + requirejson.Parse(t, stdout). + Query(`.[] | select(.id == "foo_vendor:avr") | .releases[.installed_version]`). + MustContain(`{"version": "1.0.1", "compatible": true}`) + + // upgrade to latest incompatible not possible (1.0.1 -> 1.0.2) + _, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--format", "json", additionalURLs) + require.NoError(t, err) + stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) + require.NoError(t, err) + requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed_version`, `"1.0.1"`) + + // When no compatible version are found return error + // When trying to install a platform with no compatible version fails + _, stderr, err = cli.Run("core", "install", "incompatible_vendor:avr", additionalURLs) + require.Error(t, err) + require.Contains(t, string(stderr), "is not available for your OS") + + // Core search + { + // core search with and without --all produces the same results. + stdoutSearchAll, _, err := cli.Run("core", "search", "--all", "--format", "json", additionalURLs) + require.NoError(t, err) + stdoutSearch, _, err := cli.Run("core", "search", "--format", "json", additionalURLs) + require.NoError(t, err) + require.Equal(t, stdoutSearchAll, stdoutSearch) + for _, stdout := range [][]byte{stdoutSearchAll, stdoutSearch} { + requirejson.Parse(t, stdout). + Query(`.[] | select(.id == "foo_vendor:avr")`). + MustContain(`{ + "latest_version": "1.0.1", + "releases": { + "1.0.0": {"compatible": true}, + "1.0.1": {"compatible": true}, + "1.0.2": {"compatible": false} + } + }`) + requirejson.Parse(t, stdout). + Query(`.[] | select(.id == "incompatible_vendor:avr")`). + MustContain(`{"latest_version": "", "releases": { "1.0.0": {"compatible": false}}}`) + } + // In text mode, core search shows `n/a` for core that doesn't have any compatible version + stdout, _, err := cli.Run("core", "search", additionalURLs) + require.NoError(t, err) + var lines [][]string + for _, v := range strings.Split(strings.TrimSpace(string(stdout)), "\n") { + lines = append(lines, strings.Fields(strings.TrimSpace(v))) + if strings.Contains(v, "incompatible_vendor:avr") { + t.Log(strings.Fields(strings.TrimSpace(v))) + } + } + require.Contains(t, lines, []string{"incompatible_vendor:avr", "n/a", "Incompatible", "Boards"}) + } +} diff --git a/internal/integrationtest/testdata/test_index.json b/internal/integrationtest/testdata/test_index.json index 70de2ac0fee..95d38d202d4 100644 --- a/internal/integrationtest/testdata/test_index.json +++ b/internal/integrationtest/testdata/test_index.json @@ -236,6 +236,174 @@ ] } ] + }, + { + "name": "foo_vendor", + "maintainer": "Foo Developer", + "websiteURL": "http://example.com", + "email": "test@example.com", + "help": { + "online": "http://example.com" + }, + "platforms": [ + { + "name": "Foo Boards", + "architecture": "avr", + "version": "1.0.0", + "category": "Contributed", + "help": { + "online": "http://example.com" + }, + "url": "https://github.com/damellis/attiny/archive/702aa287455f7e052cf94fd4949398fec0ef21b8.zip", + "archiveFileName": "702aa287455f7e052cf94fd4949398fec0ef21b8.zip", + "checksum": "SHA-256:bfffa4a700e42ae993895f5eea22bc369ba5ac3ea36eca18ac5f72a05bb60ab5", + "size": "5005", + "boards": [], + "toolsDependencies": [ + { + "packager": "foo_vendor", + "name": "some_tool", + "version": "1.0.0" + } + ] + }, + { + "name": "Foo Boards", + "architecture": "avr", + "version": "1.0.1", + "category": "Contributed", + "help": { + "online": "http://example.com" + }, + "url": "https://github.com/damellis/attiny/archive/76ca88ce3c195fcba8e8a645084e352965dc80e0.zip", + "archiveFileName": "76ca88ce3c195fcba8e8a645084e352965dc80e0.zip", + "checksum": "SHA-256:49a4dfc3796caf2533050b0b962ae0affb2471b8ded1283936d7b712cc1fdff1", + "size": "5719", + "boards": [], + "toolsDependencies": [ + { + "packager": "foo_vendor", + "name": "some_tool", + "version": "1.0.0" + } + ] + }, + { + "name": "Foo Boards", + "architecture": "avr", + "version": "1.0.2", + "category": "Contributed", + "help": { + "online": "http://example.com" + }, + "url": "https://github.com/damellis/attiny/archive/76ca88ce3c195fcba8e8a645084e352965dc80e0.zip", + "archiveFileName": "76ca88ce3c195fcba8e8a645084e352965dc80e0.zip", + "checksum": "SHA-256:49a4dfc3796caf2533050b0b962ae0affb2471b8ded1283936d7b712cc1fdff1", + "size": "5719", + "boards": [], + "toolsDependencies": [ + { + "packager": "foo_vendor", + "name": "incompatible_tool", + "version": "2.0.0" + } + ] + } + ], + "tools": [ + { + "name": "some_tool", + "version": "1.0.0", + "systems": [ + { + "size": "219631", + "checksum": "SHA-256:2a8e68c5d803aa6f902ef219f177ec3a4c28275d85cbe272962ad2cd374f50d1", + "host": "arm-linux-gnueabihf", + "archiveFileName": "avrdude-6.3.0-arduino17-armhf-pc-linux-gnu.tar.bz2", + "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-armhf-pc-linux-gnu.tar.bz2" + }, + { + "size": "229852", + "checksum": "SHA-256:6cf948f751acfe7b96684537f2291c766ec8b54b4f7dc95539864821456fa9fc", + "host": "aarch64-linux-gnu", + "archiveFileName": "avrdude-6.3.0-arduino17-aarch64-pc-linux-gnu.tar.bz2", + "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-aarch64-pc-linux-gnu.tar.bz2" + }, + { + "size": "279045", + "checksum": "SHA-256:120cc9edaae699e7e9ac50b1b8eb0e7d51fdfa555bac54233c2511e6ee5418c9", + "host": "x86_64-apple-darwin12", + "archiveFileName": "avrdude-6.3.0-arduino17-x86_64-apple-darwin12.tar.bz2", + "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-x86_64-apple-darwin12.tar.bz2" + }, + { + "size": "254271", + "checksum": "SHA-256:accdfb920af2aabf4f7461d2ac73c0751760f525216dc4e7657427a78c60d13d", + "host": "x86_64-linux-gnu", + "archiveFileName": "avrdude-6.3.0-arduino17-x86_64-pc-linux-gnu.tar.bz2", + "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-x86_64-pc-linux-gnu.tar.bz2" + }, + { + "size": "244550", + "checksum": "SHA-256:5c8cc6c17db9300e1451fe41cd7178b0442b4490ee6fdbc0aed9811aef96c05f", + "host": "i686-linux-gnu", + "archiveFileName": "avrdude-6.3.0-arduino17-i686-pc-linux-gnu.tar.bz2", + "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-i686-pc-linux-gnu.tar.bz2" + }, + { + "size": "328460", + "checksum": "SHA-256:e99188873c7c5ad8f8f906f068c33600e758b2e36cce3adbd518a21bd266749d", + "host": "i686-mingw32", + "archiveFileName": "avrdude-6.3.0-arduino17-i686-w64-mingw32.zip", + "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-i686-w64-mingw32.zip" + } + ] + }, + { + "name": "incompatible_tool", + "version": "2.0.0", + "systems": [] + } + ] + }, + { + "name": "incompatible_vendor", + "maintainer": "Incompatible Developer", + "websiteURL": "http://example.com", + "email": "test@example.com", + "help": { + "online": "http://example.com" + }, + "platforms": [ + { + "name": "Incompatible Boards", + "architecture": "avr", + "version": "1.0.0", + "category": "Contributed", + "help": { + "online": "http://example.com" + }, + "url": "https://github.com/damellis/attiny/archive/702aa287455f7e052cf94fd4949398fec0ef21b8.zip", + "archiveFileName": "702aa287455f7e052cf94fd4949398fec0ef21b8.zip", + "checksum": "SHA-256:bfffa4a700e42ae993895f5eea22bc369ba5ac3ea36eca18ac5f72a05bb60ab5", + "size": "5005", + "boards": [], + "toolsDependencies": [ + { + "packager": "incompatible_vendor", + "name": "incompatible_tool", + "version": "2.0.0" + } + ] + } + ], + "tools": [ + { + "name": "incompatible_tool", + "version": "2.0.0", + "systems": [] + } + ] } ] } diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index fe1f4e1f700..28bc1b6ed68 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -560,7 +560,8 @@ type PlatformSummary struct { Releases map[string]*PlatformRelease `protobuf:"bytes,2,rep,name=releases,proto3" json:"releases,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // The installed version of the platform, or empty string if none installed InstalledVersion string `protobuf:"bytes,3,opt,name=installed_version,json=installedVersion,proto3" json:"installed_version,omitempty"` - // The latest available version of the platform, or empty if none available + // The latest available version of the platform that can be installable, or + // empty if none available. LatestVersion string `protobuf:"bytes,4,opt,name=latest_version,json=latestVersion,proto3" json:"latest_version,omitempty"` } @@ -761,6 +762,9 @@ type PlatformRelease struct { MissingMetadata bool `protobuf:"varint,7,opt,name=missing_metadata,json=missingMetadata,proto3" json:"missing_metadata,omitempty"` // True this release is deprecated Deprecated bool `protobuf:"varint,8,opt,name=deprecated,proto3" json:"deprecated,omitempty"` + // True if the platform dependencies are available for the current OS/ARCH. + // This also means that the platform is installable. + Compatible bool `protobuf:"varint,9,opt,name=compatible,proto3" json:"compatible,omitempty"` } func (x *PlatformRelease) Reset() { @@ -851,6 +855,13 @@ func (x *PlatformRelease) GetDeprecated() bool { return false } +func (x *PlatformRelease) GetCompatible() bool { + if x != nil { + return x.Compatible + } + return false +} + type InstalledPlatformReference struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1188,7 +1199,7 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x22, 0xb6, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x22, 0xd6, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, @@ -1208,6 +1219,8 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index fae80bab09b..9a324985d54 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -89,7 +89,8 @@ message PlatformSummary { map<string, PlatformRelease> releases = 2; // The installed version of the platform, or empty string if none installed string installed_version = 3; - // The latest available version of the platform, or empty if none available + // The latest available version of the platform that can be installable, or + // empty if none available. string latest_version = 4; } @@ -141,6 +142,9 @@ message PlatformRelease { bool missing_metadata = 7; // True this release is deprecated bool deprecated = 8; + // True if the platform dependencies are available for the current OS/ARCH. + // This also means that the platform is installable. + bool compatible = 9; } message InstalledPlatformReference { diff --git a/rpc/cc/arduino/cli/commands/v1/core.pb.go b/rpc/cc/arduino/cli/commands/v1/core.pb.go index dca289c80fd..6c3bcb7c5ed 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/core.pb.go @@ -682,12 +682,9 @@ type PlatformSearchRequest struct { Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // Keywords for the search. SearchArgs string `protobuf:"bytes,2,opt,name=search_args,json=searchArgs,proto3" json:"search_args,omitempty"` - // Whether to show all available versions. `false` causes only the newest - // versions of the cores to be listed in the search results. - AllVersions bool `protobuf:"varint,3,opt,name=all_versions,json=allVersions,proto3" json:"all_versions,omitempty"` // Whether to show manually installed platforms. `false` causes to skip // manually installed platforms. - ManuallyInstalled bool `protobuf:"varint,4,opt,name=manually_installed,json=manuallyInstalled,proto3" json:"manually_installed,omitempty"` + ManuallyInstalled bool `protobuf:"varint,3,opt,name=manually_installed,json=manuallyInstalled,proto3" json:"manually_installed,omitempty"` } func (x *PlatformSearchRequest) Reset() { @@ -736,13 +733,6 @@ func (x *PlatformSearchRequest) GetSearchArgs() string { return "" } -func (x *PlatformSearchRequest) GetAllVersions() bool { - if x != nil { - return x.AllVersions - } - return false -} - func (x *PlatformSearchRequest) GetManuallyInstalled() bool { if x != nil { return x.ManuallyInstalled @@ -913,7 +903,7 @@ var file_cc_arduino_cli_commands_v1_core_proto_rawDesc = []byte{ 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xcc, 0x01, + 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, @@ -921,24 +911,22 @@ var file_cc_arduino_cli_commands_v1_core_proto_rawDesc = []byte{ 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x6c, - 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, - 0x12, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, - 0x6c, 0x6c, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x16, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, - 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, + 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x16, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6f, 0x75, + 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/core.proto b/rpc/cc/arduino/cli/commands/v1/core.proto index 67aa0b214c7..e44331dada8 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.proto +++ b/rpc/cc/arduino/cli/commands/v1/core.proto @@ -115,12 +115,9 @@ message PlatformSearchRequest { Instance instance = 1; // Keywords for the search. string search_args = 2; - // Whether to show all available versions. `false` causes only the newest - // versions of the cores to be listed in the search results. - bool all_versions = 3; // Whether to show manually installed platforms. `false` causes to skip // manually installed platforms. - bool manually_installed = 4; + bool manually_installed = 3; } message PlatformSearchResponse { From ae24226369359622ba7a0b1afafbdb261da19677 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 10 Nov 2023 14:49:16 +0100 Subject: [PATCH 027/361] [skip-changelog] test: Fixed runners not running 'board' integration test (#2381) * test: Fixed runners not running 'board' integration test * Fixed integration test * Fixed integration test failure: <<< Run completed (err = <nil>) environment.go:52: Error Trace: D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:52 D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:63 D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:63 D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:69 D:/a/arduino-cli/arduino-cli/internal/integrationtest/board/board_test.go:638 Error: Received unexpected error: remove C:\Users\runneradmin\AppData\Local\Temp\cli2634248494\A\inventory.yaml: The process cannot access the file because it is being used by another process. Test: TestCLIStartupWithCorruptedInventory --- FAIL: TestCLIStartupWithCorruptedInventory (8.45s) --- .github/workflows/test-go-task.yml | 3 ++- internal/integrationtest/board/board_test.go | 1 + internal/integrationtest/board/hardware_loading_test.go | 7 +------ 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 4b4c2865a4c..e37c78f886c 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -70,8 +70,9 @@ jobs: - name: Collect tests id: collection + # jq flags must be "-cRn" see: https://stackoverflow.com/a/68859958/1655275 run: | - echo "tests-data=$(go list ./internal/integrationtest/... | grep integrationtest/ | tr "/" " " | cut -d " " -f 6 | jq -cR '[inputs]')" >> $GITHUB_OUTPUT + echo "tests-data=$(go list ./internal/integrationtest/... | grep integrationtest/ | tr "/" " " | cut -d " " -f 6 | jq -cRn '[inputs]')" >> $GITHUB_OUTPUT test-integration: needs: tests-collector diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index e4163c749c6..46581575ca7 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -630,6 +630,7 @@ func TestCLIStartupWithCorruptedInventory(t *testing.T) { require.NoError(t, err) _, err = f.WriteString(`data: '[{"name":"WCH;32?'","fqbn":"esp32:esp32:esp32s3camlcd"}]'`) require.NoError(t, err) + require.NoError(t, f.Close()) // the CLI should not be able to load inventory and report it to the logs _, stderr, err := cli.Run("core", "update-index", "-v") diff --git a/internal/integrationtest/board/hardware_loading_test.go b/internal/integrationtest/board/hardware_loading_test.go index 9b2a6d44e10..9b4a3345c0c 100644 --- a/internal/integrationtest/board/hardware_loading_test.go +++ b/internal/integrationtest/board/hardware_loading_test.go @@ -154,12 +154,7 @@ func TestHardwareLoading(t *testing.T) { out, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) - if runtime.GOOS == "windows" { - // a package is a symlink, and windows does not support them - jsonOut.LengthMustEqualTo(2) - } else { - jsonOut.LengthMustEqualTo(3) - } + jsonOut.LengthMustEqualTo(3) jsonOut.MustContain(`[ { "id": "arduino:avr", From 10c1411f3a4105a274a14e86fd92e2ec6a209881 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Fri, 10 Nov 2023 17:59:24 +0100 Subject: [PATCH 028/361] [breaking] cli: format json always start with a json object (#2407) --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- docs/UPGRADING.md | 51 +++++ internal/cli/board/list.go | 12 +- internal/cli/board/listall.go | 6 +- internal/cli/board/search.go | 16 +- internal/cli/config/add.go | 31 +-- internal/cli/config/dump.go | 6 +- internal/cli/config/init.go | 17 +- internal/cli/config/set.go | 2 +- internal/cli/core/list.go | 10 +- internal/cli/core/search.go | 12 +- internal/cli/lib/check_deps.go | 8 +- internal/cli/lib/examples.go | 4 +- internal/cli/lib/list.go | 16 +- internal/integrationtest/board/board_test.go | 187 +++++++++--------- .../board/hardware_loading_test.go | 134 +++++++------ .../integrationtest/compile_1/compile_test.go | 14 +- .../integrationtest/config/config_test.go | 170 ++++++++-------- internal/integrationtest/core/core_test.go | 184 ++++++++--------- internal/integrationtest/lib/lib_test.go | 124 ++++++------ 19 files changed, 537 insertions(+), 467 deletions(-) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 8b8ebcf7790..30cf55a9e42 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,57 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### CLI changed JSON output for some `lib`, `core`, `config`, `board`, and `sketch` commands. + +- `arduino-cli lib list --format json` results are now wrapped under `installed_libraries` key + + ``` + { "installed_libraries": [ {...}, {...} ] } + ``` + +- `arduino-cli lib examples --format json` results are now wrapped under `examples` key + + ``` + { "examples": [ {...}, {...} ] } + ``` + +- `arduino-cli core search --format json` and `arduino-cli core list --format json` results are now wrapped under + `platforms` key + + ``` + { "platforms": [ {...}, {...} ] } + ``` + +- `arduino-cli config init --format json` now correctly returns a json object containg the config path + + ``` + { "config_path": "/home/user/.arduino15/arduino-cli.yaml" } + ``` + +- `arduino-cli config dump --format json` results are now wrapped under `config` key + + ``` + { "config": { ... } } + ``` + +- `arduino-cli board search --format json` results are now wrapped under `boards` key + + ``` + { "boards": [ {...}, {...} ] } + ``` + +- `arduino-cli board list --format json` results are now wrapped under `detected_ports` key + + ``` + { "detected_ports": [ {...}, {...} ] } + ``` + +- `arduino-cli sketch new` now correctly returns a json object containing the sketch path + + ``` + { "sketch_path": "/tmp/my_sketch" } + ``` + ### The gRPC `cc.arduino.cli.commands.v1.PlatformRelease` has been changed. We've added a new field called `compatible`. This field indicates if the current platform release is installable or not. diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 82f2b9b74d2..a3872708d44 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -114,27 +114,27 @@ func watchList(inst *rpc.Instance) { // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type listResult struct { - ports []*result.DetectedPort + Ports []*result.DetectedPort `json:"detected_ports"` } func (dr listResult) Data() interface{} { - return dr.ports + return dr } func (dr listResult) String() string { - if len(dr.ports) == 0 { + if len(dr.Ports) == 0 { return tr("No boards found.") } - sort.Slice(dr.ports, func(i, j int) bool { - x, y := dr.ports[i].Port, dr.ports[j].Port + sort.Slice(dr.Ports, func(i, j int) bool { + x, y := dr.Ports[i].Port, dr.Ports[j].Port return x.Protocol < y.Protocol || (x.Protocol == y.Protocol && x.Address < y.Address) }) t := table.New() t.SetHeader(tr("Port"), tr("Protocol"), tr("Type"), tr("Board Name"), tr("FQBN"), tr("Core")) - for _, detectedPort := range dr.ports { + for _, detectedPort := range dr.Ports { port := detectedPort.Port protocol := port.Protocol address := port.Address diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index 74167c2014d..8d85d81c28b 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -23,7 +23,7 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/feedback" - fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -64,13 +64,13 @@ func runListAllCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Error listing boards: %v", err), feedback.ErrGeneric) } - feedback.PrintResult(resultAll{fResult.NewBoardListAllResponse(list)}) + feedback.PrintResult(resultAll{result.NewBoardListAllResponse(list)}) } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type resultAll struct { - list *fResult.BoardListAllResponse + list *result.BoardListAllResponse } func (dr resultAll) Data() interface{} { diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index 9f8133fd80c..068dd0d0019 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -24,7 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/feedback" - fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/table" @@ -61,32 +61,32 @@ func runSearchCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Error searching boards: %v", err), feedback.ErrGeneric) } - feedback.PrintResult(searchResults{fResult.NewBoardListItems(res.Boards)}) + feedback.PrintResult(searchResults{result.NewBoardListItems(res.Boards)}) } // output from this command requires special formatting so we create a dedicated // feedback.Result implementation type searchResults struct { - boards []*fResult.BoardListItem + Boards []*result.BoardListItem `json:"boards"` } func (r searchResults) Data() interface{} { - return r.boards + return r } func (r searchResults) String() string { - if len(r.boards) == 0 { + if len(r.Boards) == 0 { return "" } t := table.New() t.SetHeader(tr("Board Name"), tr("FQBN"), tr("Platform ID"), "") - sort.Slice(r.boards, func(i, j int) bool { - return r.boards[i].Name < r.boards[j].Name + sort.Slice(r.Boards, func(i, j int) bool { + return r.Boards[i].Name < r.Boards[j].Name }) - for _, item := range r.boards { + for _, item := range r.Boards { hidden := "" if item.IsHidden { hidden = tr("(hidden)") diff --git a/internal/cli/config/add.go b/internal/cli/config/add.go index d375a0c578e..fe853df467e 100644 --- a/internal/cli/config/add.go +++ b/internal/cli/config/add.go @@ -25,33 +25,10 @@ import ( "github.com/spf13/cobra" ) -// // TODO: When update to go 1.18 or later, convert to generic -// // to allow uniquify() on any slice that supports -// // `comparable` -// // See https://gosamples.dev/generics-remove-duplicates-slice/ -// func uniquify[T comparable](s []T) []T { -// // use a map, which enforces unique keys -// inResult := make(map[T]bool) -// var result []T -// // loop through input slice **in order**, -// // to ensure output retains that order -// // (except that it removes duplicates) -// for i := 0; i < len(s); i++ { -// // attempt to use the element as a key -// if _, ok := inResult[s[i]]; !ok { -// // if key didn't exist in map, -// // add to map and append to result -// inResult[s[i]] = true -// result = append(result, s[i]) -// } -// } -// return result -// } - -func uniquifyStringSlice(s []string) []string { +func uniquify[T comparable](s []T) []T { // use a map, which enforces unique keys - inResult := make(map[string]bool) - var result []string + inResult := make(map[T]bool) + var result []T // loop through input slice **in order**, // to ensure output retains that order // (except that it removes duplicates) @@ -96,7 +73,7 @@ func runAddCommand(cmd *cobra.Command, args []string) { v := configuration.Settings.GetStringSlice(key) v = append(v, args[1:]...) - v = uniquifyStringSlice(v) + v = uniquify(v) configuration.Settings.Set(key, v) if err := configuration.Settings.WriteConfig(); err != nil { diff --git a/internal/cli/config/dump.go b/internal/cli/config/dump.go index 9e36a6f577a..b7636f68c4a 100644 --- a/internal/cli/config/dump.go +++ b/internal/cli/config/dump.go @@ -45,15 +45,15 @@ func runDumpCommand(cmd *cobra.Command, args []string) { // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type dumpResult struct { - data map[string]interface{} + Config map[string]interface{} `json:"config"` } func (dr dumpResult) Data() interface{} { - return dr.data + return dr } func (dr dumpResult) String() string { - bs, err := yaml.Marshal(dr.data) + bs, err := yaml.Marshal(dr.Config) if err != nil { // Should never happen panic(tr("unable to marshal config to YAML: %v", err)) diff --git a/internal/cli/config/init.go b/internal/cli/config/init.go index 471905c54cc..f2ef1effa46 100644 --- a/internal/cli/config/init.go +++ b/internal/cli/config/init.go @@ -108,8 +108,21 @@ func runInitCommand(cmd *cobra.Command, args []string) { if err := newSettings.WriteConfigAs(configFileAbsPath.String()); err != nil { feedback.Fatal(tr("Cannot create config file: %v", err), feedback.ErrGeneric) } + feedback.PrintResult(initResult{ConfigFileAbsPath: configFileAbsPath}) +} + +// output from this command requires special formatting, let's create a dedicated +// feedback.Result implementation +type initResult struct { + ConfigFileAbsPath *paths.Path `json:"config_path"` +} + +func (dr initResult) Data() interface{} { + return dr +} - msg := tr("Config file written to: %s", configFileAbsPath.String()) +func (dr initResult) String() string { + msg := tr("Config file written to: %s", dr.ConfigFileAbsPath.String()) logrus.Info(msg) - feedback.Print(msg) + return msg } diff --git a/internal/cli/config/set.go b/internal/cli/config/set.go index f620fa183f5..339128c38f1 100644 --- a/internal/cli/config/set.go +++ b/internal/cli/config/set.go @@ -57,7 +57,7 @@ func runSetCommand(cmd *cobra.Command, args []string) { var value interface{} switch kind { case reflect.Slice: - value = uniquifyStringSlice(args[1:]) + value = uniquify(args[1:]) case reflect.String: value = args[1] case reflect.Bool: diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 40ac933f027..6ef5c14b451 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -89,24 +89,24 @@ func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSu func newCoreListResult(in []*rpc.PlatformSummary, updatableOnly bool) *coreListResult { res := &coreListResult{updatableOnly: updatableOnly} for _, platformSummary := range in { - res.platforms = append(res.platforms, result.NewPlatformSummary(platformSummary)) + res.Platforms = append(res.Platforms, result.NewPlatformSummary(platformSummary)) } return res } type coreListResult struct { - platforms []*result.PlatformSummary + Platforms []*result.PlatformSummary `json:"platforms"` updatableOnly bool } // Data implements Result interface func (ir coreListResult) Data() interface{} { - return ir.platforms + return ir } // String implements Result interface func (ir coreListResult) String() string { - if len(ir.platforms) == 0 { + if len(ir.Platforms) == 0 { if ir.updatableOnly { return tr("All platforms are up to date.") } @@ -114,7 +114,7 @@ func (ir coreListResult) String() string { } t := table.New() t.SetHeader(tr("ID"), tr("Installed"), tr("Latest"), tr("Name")) - for _, platform := range ir.platforms { + for _, platform := range ir.Platforms { latestVersion := platform.LatestVersion.String() if latestVersion == "" { latestVersion = "n/a" diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 0fc2389cdd8..fc2f247524c 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -86,27 +86,27 @@ func runSearchCommand(cmd *cobra.Command, args []string, allVersions bool) { // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type searchResults struct { - platforms []*result.PlatformSummary + Platforms []*result.PlatformSummary `json:"platforms"` allVersions bool } func newSearchResult(in []*rpc.PlatformSummary, allVersions bool) *searchResults { res := &searchResults{ - platforms: make([]*result.PlatformSummary, len(in)), + Platforms: make([]*result.PlatformSummary, len(in)), allVersions: allVersions, } for i, platformSummary := range in { - res.platforms[i] = result.NewPlatformSummary(platformSummary) + res.Platforms[i] = result.NewPlatformSummary(platformSummary) } return res } func (sr searchResults) Data() interface{} { - return sr.platforms + return sr } func (sr searchResults) String() string { - if len(sr.platforms) == 0 { + if len(sr.Platforms) == 0 { return tr("No platforms matching your search.") } @@ -121,7 +121,7 @@ func (sr searchResults) String() string { t.AddRow(platform.Id, release.Version, release.FormatName()) } - for _, platform := range sr.platforms { + for _, platform := range sr.Platforms { // When allVersions is not requested we only show the latest compatible version if !sr.allVersions { addRow(platform, platform.GetLatestRelease()) diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 9a5666cd101..ce30c8df828 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -24,7 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" - fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/fatih/color" @@ -66,13 +66,13 @@ func runDepsCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Error resolving dependencies for %[1]s: %[2]s", libRef, err), feedback.ErrGeneric) } - feedback.PrintResult(&checkDepResult{deps: fResult.NewLibraryResolveDependenciesResponse(deps)}) + feedback.PrintResult(&checkDepResult{deps: result.NewLibraryResolveDependenciesResponse(deps)}) } // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type checkDepResult struct { - deps *fResult.LibraryResolveDependenciesResponse + deps *result.LibraryResolveDependenciesResponse } func (dr checkDepResult) Data() interface{} { @@ -103,7 +103,7 @@ func (dr checkDepResult) String() string { return res } -func outputDep(dep *fResult.LibraryDependencyStatus) string { +func outputDep(dep *result.LibraryDependencyStatus) string { res := "" green := color.New(color.FgGreen) red := color.New(color.FgRed) diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index 17852f4003a..729a202d98b 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -94,11 +94,11 @@ type libraryExamples struct { } type libraryExamplesResult struct { - Examples []*libraryExamples + Examples []*libraryExamples `json:"examples"` } func (ir libraryExamplesResult) Data() interface{} { - return ir.Examples + return ir } func (ir libraryExamplesResult) String() string { diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index 75547a93d6d..8c489b102f5 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -67,7 +67,7 @@ func List(instance *rpc.Instance, args []string, all bool, updatable bool) { } feedback.PrintResult(installedResult{ onlyUpdates: updatable, - installedLibs: installedLibsResult, + InstalledLibs: installedLibsResult, }) logrus.Info("Done") } @@ -118,24 +118,24 @@ func GetList( // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type installedResult struct { + InstalledLibs []*result.InstalledLibrary `json:"installed_libraries"` onlyUpdates bool - installedLibs []*result.InstalledLibrary } func (ir installedResult) Data() interface{} { - return ir.installedLibs + return ir } func (ir installedResult) String() string { - if len(ir.installedLibs) == 0 { + if len(ir.InstalledLibs) == 0 { if ir.onlyUpdates { return tr("No libraries update is available.") } return tr("No libraries installed.") } - sort.Slice(ir.installedLibs, func(i, j int) bool { - return strings.ToLower(ir.installedLibs[i].Library.Name) < strings.ToLower(ir.installedLibs[j].Library.Name) || - strings.ToLower(ir.installedLibs[i].Library.ContainerPlatform) < strings.ToLower(ir.installedLibs[j].Library.ContainerPlatform) + sort.Slice(ir.InstalledLibs, func(i, j int) bool { + return strings.ToLower(ir.InstalledLibs[i].Library.Name) < strings.ToLower(ir.InstalledLibs[j].Library.Name) || + strings.ToLower(ir.InstalledLibs[i].Library.ContainerPlatform) < strings.ToLower(ir.InstalledLibs[j].Library.ContainerPlatform) }) t := table.New() @@ -145,7 +145,7 @@ func (ir installedResult) String() string { t.SetColumnWidthMode(4, table.Average) lastName := "" - for _, libMeta := range ir.installedLibs { + for _, libMeta := range ir.InstalledLibs { lib := libMeta.Library name := lib.Name if name == lastName { diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index 46581575ca7..f4759f5b861 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -86,7 +86,7 @@ func TestBoardList(t *testing.T) { require.NoError(t, err) // check is a valid json and contains a list of ports requirejson.Parse(t, stdout). - Query(`[ .[].port | select(.protocol == null or .protocol_label == null) ]`). + Query(`[ .detected_ports | .[].port | select(.protocol == null or .protocol_label == null) ]`). MustBeEmpty() } @@ -103,29 +103,30 @@ func TestBoardListMock(t *testing.T) { require.NoError(t, err) // check is a valid json and contains a list of ports - requirejson.Contains(t, stdout, `[ - { - "matching_boards": [ + requirejson.Contains(t, stdout, `{ + "detected_ports": [ { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" + "matching_boards": [ + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + } + ], + "port": { + "address": "/dev/ttyCIAO", + "label": "Mocked Serial port", + "protocol": "serial", + "protocol_label": "Serial", + "properties": { + "pid": "0x0041", + "serial": "123456", + "vid": "0x2341" + }, + "hardware_id": "123456" + } } - ], - "port": { - "address": "/dev/ttyCIAO", - "label": "Mocked Serial port", - "protocol": "serial", - "protocol_label": "Serial", - "properties": { - "pid": "0x0041", - "serial": "123456", - "vid": "0x2341" - }, - "hardware_id": "123456" - } - } - ] - `) + ] + }`) } func TestBoardListWithFqbnFilter(t *testing.T) { @@ -144,8 +145,7 @@ func TestBoardListWithFqbnFilter(t *testing.T) { // but it would succeed even if the filtering wasn't working properly // TODO: find a way to simulate connected boards or create a unit test which // mocks or initializes multiple components - requirejson.Parse(t, stdout). - MustBeEmpty() + requirejson.Query(t, stdout, `.boards | length`, `0`) } func TestBoardListWithFqbnFilterInvalid(t *testing.T) { @@ -434,14 +434,15 @@ func TestBoardSearch(t *testing.T) { // Verifies boards are returned requirejson.NotEmpty(t, stdout) // Verifies no board has FQBN set since no platform is installed - requirejson.Query(t, stdout, "[ .[] | select(.fqbn) ] | length", "0") - requirejson.Contains(t, stdout, `[ - {"name": "Arduino UNO"}, - {"name": "Arduino Yún"}, - {"name": "Arduino Zero"}, - {"name": "Arduino Nano 33 BLE"}, - {"name": "Arduino Portenta H7"} - ]`) + requirejson.Query(t, stdout, "[ .boards[] | select(.fqbn) ] | length", "0") + requirejson.Contains(t, stdout, `{ + "boards": [ + {"name": "Arduino UNO"}, + {"name": "Arduino Yún"}, + {"name": "Arduino Zero"}, + {"name": "Arduino Nano 33 BLE"}, + {"name": "Arduino Portenta H7"} + ]}`) // Search in non installed boards stdout, _, err = cli.Run("board", "search", "--format", "json", "nano", "33") @@ -449,11 +450,12 @@ func TestBoardSearch(t *testing.T) { // Verifies boards are returned requirejson.NotEmpty(t, stdout) // Verifies no board has FQBN set since no platform is installed - requirejson.Query(t, stdout, "[ .[] | select(.fqbn) ] | length", "0") - requirejson.Contains(t, stdout, `[ - {"name": "Arduino Nano 33 BLE"}, - {"name": "Arduino Nano 33 IoT"} - ]`) + requirejson.Query(t, stdout, "[ .boards[] | select(.fqbn) ] | length", "0") + requirejson.Contains(t, stdout, `{ + "boards": [ + {"name": "Arduino Nano 33 BLE"}, + {"name": "Arduino Nano 33 IoT"} + ]}`) // Install a platform from index _, _, err = cli.Run("core", "install", "arduino:avr@1.8.3") @@ -463,27 +465,29 @@ func TestBoardSearch(t *testing.T) { require.NoError(t, err) requirejson.NotEmpty(t, stdout) // Verifies some FQBNs are now returned after installing a platform - requirejson.Query(t, stdout, "[ .[] | select(.fqbn) ] | length", "26") - requirejson.Contains(t, stdout, `[ - { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" - }, - { - "name": "Arduino Uno", - "fqbn": "arduino:avr:uno" - } - ]`) + requirejson.Query(t, stdout, "[ .boards[] | select(.fqbn) ] | length", "26") + requirejson.Contains(t, stdout, `{ + "boards": [ + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + }, + { + "name": "Arduino Uno", + "fqbn": "arduino:avr:uno" + } + ]}`) stdout, _, err = cli.Run("board", "search", "--format", "json", "arduino", "yun") require.NoError(t, err) requirejson.NotEmpty(t, stdout) - requirejson.Contains(t, stdout, `[ - { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" - } - ]`) + requirejson.Contains(t, stdout, `{ + "boards": [ + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + } + ]}`) // Manually installs a core in sketchbooks hardware folder gitUrl := "https://github.com/arduino/ArduinoCore-samd.git" @@ -498,47 +502,50 @@ func TestBoardSearch(t *testing.T) { require.NoError(t, err) requirejson.NotEmpty(t, stdout) // Verifies some FQBNs are now returned after installing a platform - requirejson.Query(t, stdout, "[ .[] | select(.fqbn) ] | length", "43") - requirejson.Contains(t, stdout, `[ - { - "name": "Arduino Uno", - "fqbn": "arduino:avr:uno" - }, - { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" - }, - { - "name": "Arduino MKR WiFi 1010", - "fqbn": "arduino-beta-development:samd:mkrwifi1010" - }, - { - "name": "Arduino MKR1000", - "fqbn": "arduino-beta-development:samd:mkr1000" - }, - { - "name": "Arduino MKRZERO", - "fqbn": "arduino-beta-development:samd:mkrzero" - }, - { - "name": "Arduino NANO 33 IoT", - "fqbn": "arduino-beta-development:samd:nano_33_iot" - }, - { - "fqbn": "arduino-beta-development:samd:arduino_zero_native" - } - ]`) + requirejson.Query(t, stdout, "[ .boards[] | select(.fqbn) ] | length", "43") + requirejson.Contains(t, stdout, `{ + "boards": + [ + { + "name": "Arduino Uno", + "fqbn": "arduino:avr:uno" + }, + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + }, + { + "name": "Arduino MKR WiFi 1010", + "fqbn": "arduino-beta-development:samd:mkrwifi1010" + }, + { + "name": "Arduino MKR1000", + "fqbn": "arduino-beta-development:samd:mkr1000" + }, + { + "name": "Arduino MKRZERO", + "fqbn": "arduino-beta-development:samd:mkrzero" + }, + { + "name": "Arduino NANO 33 IoT", + "fqbn": "arduino-beta-development:samd:nano_33_iot" + }, + { + "fqbn": "arduino-beta-development:samd:arduino_zero_native" + } + ]}`) stdout, _, err = cli.Run("board", "search", "--format", "json", "mkr1000") require.NoError(t, err) requirejson.NotEmpty(t, stdout) // Verifies some FQBNs are now returned after installing a platform - requirejson.Contains(t, stdout, `[ - { - "name": "Arduino MKR1000", - "fqbn": "arduino-beta-development:samd:mkr1000" - } - ]`) + requirejson.Contains(t, stdout, `{ + "boards": [ + { + "name": "Arduino MKR1000", + "fqbn": "arduino-beta-development:samd:mkr1000" + } + ]}`) } func TestBoardAttach(t *testing.T) { diff --git a/internal/integrationtest/board/hardware_loading_test.go b/internal/integrationtest/board/hardware_loading_test.go index 9b4a3345c0c..a5daacdd71c 100644 --- a/internal/integrationtest/board/hardware_loading_test.go +++ b/internal/integrationtest/board/hardware_loading_test.go @@ -47,27 +47,28 @@ func TestHardwareLoading(t *testing.T) { require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.LengthMustEqualTo(1) - jsonOut.MustContain(`[ - { - "id": "arduino:avr", - "installed_version": "1.8.6", - "releases": { - "1.8.6": { - "name": "Arduino AVR Boards", - "boards": [ - { - "name": "Arduino Uno", - "fqbn": "arduino:avr:uno" - }, - { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" - } - ] + jsonOut.MustContain(`{ + "platforms": [ + { + "id": "arduino:avr", + "installed_version": "1.8.6", + "releases": { + "1.8.6": { + "name": "Arduino AVR Boards", + "boards": [ + { + "name": "Arduino Uno", + "fqbn": "arduino:avr:uno" + }, + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + } + ] + } } } - } - ]`) + ]}`) } { @@ -154,60 +155,63 @@ func TestHardwareLoading(t *testing.T) { out, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) - jsonOut.LengthMustEqualTo(3) - jsonOut.MustContain(`[ - { - "id": "arduino:avr", - "installed_version": "1.8.6", - "releases": { - "1.8.6": { - "name": "Arduino AVR Boards", - "boards": [ - { - "name": "Arduino Uno", - "fqbn": "arduino:avr:uno" - }, - { - "name": "Arduino Yún", - "fqbn": "arduino:avr:yun" - } - ] + jsonOut.Query(`.platforms | length`).LengthMustEqualTo(3) + jsonOut.MustContain(`{ + "platforms": [ + { + "id": "arduino:avr", + "installed_version": "1.8.6", + "releases": { + "1.8.6": { + "name": "Arduino AVR Boards", + "boards": [ + { + "name": "Arduino Uno", + "fqbn": "arduino:avr:uno" + }, + { + "name": "Arduino Yún", + "fqbn": "arduino:avr:yun" + } + ] + } } } - } - ]`) - jsonOut.MustContain(`[ - { - "id": "my_avr_platform:avr", - "installed_version": "9.9.9", - "releases": { - "9.9.9": { - "name": "My AVR Boards", - "boards": [ - { - "name": "Arduino Yún", - "fqbn": "my_avr_platform:avr:custom_yun" - } - ] - } - }, - "manually_installed": true - } - ]`) + ]}`) + jsonOut.MustContain(`{ + "platforms": [ + { + "id": "my_avr_platform:avr", + "installed_version": "9.9.9", + "releases": { + "9.9.9": { + "name": "My AVR Boards", + "boards": [ + { + "name": "Arduino Yún", + "fqbn": "my_avr_platform:avr:custom_yun" + } + ] + } + }, + "manually_installed": true + } + ]}`) // require.False(t, myAVRPlatformAvrArch.Properties.ContainsKey("preproc.includes.flags")) if runtime.GOOS != "windows" { - jsonOut.MustContain(`[ - { - "id": "my_symlinked_avr_platform:avr", - "manually_installed": true, - "releases": { - "9.9.9": { + jsonOut.MustContain(`{ + "platforms": [ + { + "id": "my_symlinked_avr_platform:avr", + "manually_installed": true, + "releases": { + "9.9.9": { + } } } - } - ]`) + ]}`) } } diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 78ceb5ca63c..7ab7ab97f5e 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -499,9 +499,11 @@ func compileWithExportBinariesConfig(t *testing.T, env *integrationtest.Environm require.NoError(t, err) requirejson.Contains(t, stdout, ` { - "sketch": { - "always_export_binaries": "true" - } + "config": { + "sketch": { + "always_export_binaries": "true" + } + } }`) // Test compilation with export binaries env var set @@ -824,10 +826,8 @@ func TestCompileWithArchivesAndLongPaths(t *testing.T) { stdout, _, err := cli.Run("lib", "examples", "ArduinoIoTCloud", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - var libOutput []map[string]interface{} - err = json.Unmarshal(stdout, &libOutput) - require.NoError(t, err) - sketchPath := paths.New(libOutput[0]["library"].(map[string]interface{})["install_dir"].(string)) + libOutput := strings.Trim(requirejson.Parse(t, stdout).Query(`.examples.[0].library.install_dir`).String(), `"`) + sketchPath := paths.New(libOutput) sketchPath = sketchPath.Join("examples", "ArduinoIoTCloud-Advanced") _, _, err = cli.Run("compile", "-b", "esp8266:esp8266:huzzah", sketchPath.String(), "--config-file", "arduino-cli.yaml") diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index e21d6db55dc..4ccb5460acc 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -239,7 +239,7 @@ func TestDump(t *testing.T) { stdout, _, err := cli.Run("config", "dump", "--config-file", configFile.String(), "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") stdout, _, err = cli.Run("config", "init", "--additional-urls", "https://example.com") require.NoError(t, err) @@ -249,7 +249,7 @@ func TestDump(t *testing.T) { stdout, _, err = cli.Run("config", "dump", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://example.com\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") } func TestDumpWithConfigFileFlag(t *testing.T) { @@ -265,7 +265,7 @@ func TestDumpWithConfigFileFlag(t *testing.T) { stdout, _, err := cli.Run("config", "dump", "--config-file", configFile.String(), "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://example.com\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") stdout, _, err = cli.Run( "config", @@ -277,7 +277,7 @@ func TestDumpWithConfigFileFlag(t *testing.T) { "json", ) require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://another-url.com\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://another-url.com\"]") } func TestAddRemoveSetDeleteOnUnexistingKey(t *testing.T) { @@ -316,7 +316,7 @@ func TestAddSingleArgument(t *testing.T) { // Verifies no additional urls are present stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") // Adds one URL url := "https://example.com" @@ -326,7 +326,7 @@ func TestAddSingleArgument(t *testing.T) { // Verifies URL has been saved stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://example.com\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") // Adds the same URL (should not error) _, _, err = cli.Run("config", "add", @@ -337,7 +337,7 @@ func TestAddSingleArgument(t *testing.T) { // Verifies a second copy has NOT been added stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://example.com\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") } func TestAddMultipleArguments(t *testing.T) { @@ -351,7 +351,7 @@ func TestAddMultipleArguments(t *testing.T) { // Verifies no additional urls are present stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") // Adds multiple URLs at the same time urls := [3]string{ @@ -366,14 +366,16 @@ func TestAddMultipleArguments(t *testing.T) { // Verifies URL has been saved stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "2") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/package_example_index.json", - "https://example.com/yet_another_package_example_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/package_example_index.json", + "https://example.com/yet_another_package_example_index.json" + ] + } } }`) @@ -384,14 +386,16 @@ func TestAddMultipleArguments(t *testing.T) { // Verifies no change in result array stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "2") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/package_example_index.json", - "https://example.com/yet_another_package_example_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/package_example_index.json", + "https://example.com/yet_another_package_example_index.json" + ] + } } }`) @@ -407,15 +411,17 @@ func TestAddMultipleArguments(t *testing.T) { // Verifies URL has been saved stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "3") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "3") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/package_example_index.json", - "https://example.com/a_third_package_example_index.json", - "https://example.com/yet_another_package_example_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/package_example_index.json", + "https://example.com/a_third_package_example_index.json", + "https://example.com/yet_another_package_example_index.json" + ] + } } }`) } @@ -431,7 +437,7 @@ func TestAddOnUnsupportedKey(t *testing.T) { // Verifies default value stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".daemon | .port", "\"50051\"") + requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") // Tries and fails to add a new item _, stderr, err := cli.Run("config", "add", "daemon.port", "50000", "--config-file", "arduino-cli.yaml") @@ -441,7 +447,7 @@ func TestAddOnUnsupportedKey(t *testing.T) { // Verifies value is not changed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".daemon | .port", "\"50051\"") + requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") } func TestRemoveSingleArgument(t *testing.T) { @@ -463,14 +469,16 @@ func TestRemoveSingleArgument(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "2") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/package_example_index.json", - "https://example.com/yet_another_package_example_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/package_example_index.json", + "https://example.com/yet_another_package_example_index.json" + ] + } } }`) @@ -481,7 +489,7 @@ func TestRemoveSingleArgument(t *testing.T) { // Verifies URLs has been removed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://example.com/yet_another_package_example_index.json\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com/yet_another_package_example_index.json\"]") } func TestRemoveMultipleArguments(t *testing.T) { @@ -503,14 +511,16 @@ func TestRemoveMultipleArguments(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "2") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/package_example_index.json", - "https://example.com/yet_another_package_example_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/package_example_index.json", + "https://example.com/yet_another_package_example_index.json" + ] + } } }`) @@ -521,7 +531,7 @@ func TestRemoveMultipleArguments(t *testing.T) { // Verifies all URLs have been removed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") } func TestRemoveOnUnsupportedKey(t *testing.T) { @@ -535,7 +545,7 @@ func TestRemoveOnUnsupportedKey(t *testing.T) { // Verifies default value stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".daemon | .port", "\"50051\"") + requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") // Tries and fails to remove an item _, stderr, err := cli.Run("config", "remove", "daemon.port", "50051", "--config-file", "arduino-cli.yaml") @@ -545,7 +555,7 @@ func TestRemoveOnUnsupportedKey(t *testing.T) { // Verifies value is not changed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".daemon | .port", "\"50051\"") + requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") } func TestSetSliceWithSingleArgument(t *testing.T) { @@ -559,7 +569,7 @@ func TestSetSliceWithSingleArgument(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") // Set an URL in the list url := "https://example.com/package_example_index.json" @@ -569,7 +579,7 @@ func TestSetSliceWithSingleArgument(t *testing.T) { // Verifies value is changed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://example.com/package_example_index.json\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com/package_example_index.json\"]") // Set an URL in the list url = "https://example.com/yet_another_package_example_index.json" @@ -579,7 +589,7 @@ func TestSetSliceWithSingleArgument(t *testing.T) { // Verifies value is changed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[\"https://example.com/yet_another_package_example_index.json\"]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com/yet_another_package_example_index.json\"]") } func TestSetSliceWithMultipleArguments(t *testing.T) { @@ -593,7 +603,7 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") // Set some URLs in the list urls := [7]string{ @@ -606,14 +616,16 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { // Verifies value is changed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "2") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/first_package_index.json", - "https://example.com/second_package_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/first_package_index.json", + "https://example.com/second_package_index.json" + ] + } } }`) @@ -628,14 +640,16 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { // Verifies previous value is overwritten stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "2") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/third_package_index.json", - "https://example.com/fourth_package_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/third_package_index.json", + "https://example.com/fourth_package_index.json" + ] + } } }`) @@ -658,16 +672,18 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { // Verifies all unique values exist in config stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls | length", "4") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "4") requirejson.Contains(t, stdout, ` { - "board_manager": { - "additional_urls": [ - "https://example.com/first_package_index.json", - "https://example.com/second_package_index.json", - "https://example.com/fifth_package_index.json", - "https://example.com/sixth_package_index.json" - ] + "config": { + "board_manager": { + "additional_urls": [ + "https://example.com/first_package_index.json", + "https://example.com/second_package_index.json", + "https://example.com/fifth_package_index.json", + "https://example.com/sixth_package_index.json" + ] + } } }`) } @@ -683,7 +699,7 @@ func TestSetStringWithSingleArgument(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".logging | .level", "\"info\"") + requirejson.Query(t, stdout, ".config | .logging | .level", "\"info\"") // Changes value _, _, err = cli.Run("config", "set", "logging.level", "trace", "--config-file", "arduino-cli.yaml") @@ -692,7 +708,7 @@ func TestSetStringWithSingleArgument(t *testing.T) { // Verifies value is changed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".logging | .level", "\"trace\"") + requirejson.Query(t, stdout, ".config | .logging | .level", "\"trace\"") } func TestSetStringWithMultipleArguments(t *testing.T) { @@ -706,7 +722,7 @@ func TestSetStringWithMultipleArguments(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".logging | .level", "\"info\"") + requirejson.Query(t, stdout, ".config | .logging | .level", "\"info\"") // Tries to change value _, stderr, err := cli.Run("config", "set", "logging.level", "trace", "debug") @@ -725,7 +741,7 @@ func TestSetBoolWithSingleArgument(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".library | .enable_unsafe_install", "false") + requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "false") // Changes value _, _, err = cli.Run("config", "set", "library.enable_unsafe_install", "true", "--config-file", "arduino-cli.yaml") @@ -734,7 +750,7 @@ func TestSetBoolWithSingleArgument(t *testing.T) { // Verifies value is changed stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".library | .enable_unsafe_install", "true") + requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "true") } func TestSetBoolWithMultipleArguments(t *testing.T) { @@ -748,7 +764,7 @@ func TestSetBoolWithMultipleArguments(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".library | .enable_unsafe_install", "false") + requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "false") // Changes value _, stderr, err := cli.Run("config", "set", "library.enable_unsafe_install", "true", "foo", "--config-file", "arduino-cli.yaml") @@ -767,7 +783,7 @@ func TestDelete(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".library | .enable_unsafe_install", "false") + requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "false") // Delete config key _, _, err = cli.Run("config", "delete", "library.enable_unsafe_install", "--config-file", "arduino-cli.yaml") @@ -784,7 +800,7 @@ func TestDelete(t *testing.T) { // Verifies default state stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".board_manager | .additional_urls", "[]") + requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") // Delete config key and sub keys _, _, err = cli.Run("config", "delete", "board_manager", "--config-file", "arduino-cli.yaml") diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index c9db2e7701e..e8b7c4ad3be 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -48,17 +48,19 @@ func TestCorrectHandlingOfPlatformVersionProperty(t *testing.T) { // Trigger problematic call out, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Contains(t, out, `[ - { - "id":"DxCore-dev:megaavr", - "installed_version":"1.4.10", - "releases": { - "1.4.10": { - "name":"DxCore" + requirejson.Contains(t, out, `{ + "platforms": [ + { + "id":"DxCore-dev:megaavr", + "installed_version":"1.4.10", + "releases": { + "1.4.10": { + "name":"DxCore" + } } } - } - ]`) + ] + }`) } func TestCoreSearch(t *testing.T) { @@ -84,20 +86,20 @@ func TestCoreSearch(t *testing.T) { require.NoError(t, err) requirejson.NotEmpty(t, out) // Verify that "installed_version" is set - requirejson.Contains(t, out, `[{installed_version: "1.8.6"}]`) + requirejson.Contains(t, out, `{"platforms":[{installed_version: "1.8.6"}]}`) // additional URL out, _, err = cli.Run("core", "search", "test_core", "--format", "json", "--additional-urls="+url.String()) require.NoError(t, err) - requirejson.Len(t, out, 1) + requirejson.Query(t, out, `.platforms | length`, `1`) // show all versions out, _, err = cli.Run("core", "search", "test_core", "--all", "--format", "json", "--additional-urls="+url.String()) require.NoError(t, err) - requirejson.Query(t, out, `.[].releases | length`, "3") + requirejson.Query(t, out, `.platforms.[].releases | length`, "3") checkPlatformIsInJSONOutput := func(stdout []byte, id, version string) { - jqquery := fmt.Sprintf(`[{id:"%s", releases:{"%s":{}}}]`, id, version) + jqquery := fmt.Sprintf(`{"platforms":[{id:"%s", releases:{"%s":{}}}]}`, id, version) requirejson.Contains(t, out, jqquery, "platform %s@%s is missing from the output", id, version) } @@ -131,7 +133,7 @@ func TestCoreSearch(t *testing.T) { require.NoError(t, err) for _, id := range expectedIDs { - jqquery := fmt.Sprintf(`[{id:"%s"}]`, id) + jqquery := fmt.Sprintf(`{"platforms":[{id:"%s"}]}`, id) requirejson.Contains(t, out, jqquery, "platform %s is missing from the output", id) } } @@ -181,8 +183,8 @@ func TestCoreSearchNoArgs(t *testing.T) { // Same thing in JSON format, also check the number of platforms found is the same stdout, _, err = cli.Run("core", "search", "--format", "json") require.NoError(t, err) - requirejson.Contains(t, stdout, `[{"id": "test:x86", "releases": { "2.0.0": {"name":"test_core"}}}]`) - requirejson.Len(t, stdout, numPlatforms) + requirejson.Contains(t, stdout, `{"platforms":[{"id": "test:x86", "releases": { "2.0.0": {"name":"test_core"}}}]}`) + requirejson.Query(t, stdout, ".platforms | length", fmt.Sprint(numPlatforms)) // list all with additional urls, check the test core is there stdout, _, err = cli.Run("core", "search", "--additional-urls="+url.String()) @@ -199,19 +201,20 @@ func TestCoreSearchNoArgs(t *testing.T) { // same thing in JSON format, also check the number of platforms found is the same stdout, _, err = cli.Run("core", "search", "--format", "json", "--additional-urls="+url.String()) require.NoError(t, err) - requirejson.Contains(t, stdout, `[ - { - "id": "test:x86", - "installed_version": "2.0.0", - "latest_version": "2.0.0", - "releases": { - "1.0.0": {"name":"test_core", "compatible": true}, - "2.0.0": {"name":"test_core", "compatible": true}, - "3.0.0": {"name":"test_core", "compatible": false} + requirejson.Contains(t, stdout, `{ + "platforms": [ + { + "id": "test:x86", + "installed_version": "2.0.0", + "latest_version": "2.0.0", + "releases": { + "1.0.0": {"name":"test_core", "compatible": true}, + "2.0.0": {"name":"test_core", "compatible": true}, + "3.0.0": {"name":"test_core", "compatible": false} + } } - } - ]`) - requirejson.Len(t, stdout, numPlatforms) + ]}`) + requirejson.Query(t, stdout, `.platforms | length`, fmt.Sprint(numPlatforms)) } func TestCoreUpdateIndexUrlNotFound(t *testing.T) { @@ -325,7 +328,7 @@ func TestCoreInstall(t *testing.T) { require.NoError(t, err) stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.16"`) + requirejson.Query(t, stdout, `.platforms.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.16"`) // Replace it with the same with --no-overwrite (should NOT fail) _, _, err = cli.Run("core", "install", "arduino:avr@1.6.16", "--no-overwrite") @@ -340,13 +343,13 @@ func TestCoreInstall(t *testing.T) { require.NoError(t, err) stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.17"`) + requirejson.Query(t, stdout, `.platforms.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.17"`) // Confirm core is listed as "updatable" stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json") require.NoError(t, err) jsonout := requirejson.Parse(t, stdout) - q := jsonout.Query(`.[] | select(.id == "arduino:avr")`) + q := jsonout.Query(`.platforms.[] | select(.id == "arduino:avr")`) q.Query(".installed_version").MustEqual(`"1.6.17"`) latest := q.Query(".latest_version") @@ -355,12 +358,12 @@ func TestCoreInstall(t *testing.T) { require.NoError(t, err) stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | select(.id == "arduino:avr") | .installed_version`, latest.String()) + requirejson.Query(t, stdout, `.platforms.[] | select(.id == "arduino:avr") | .installed_version`, latest.String()) // double check the core isn't updatable anymore stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json") require.NoError(t, err) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.platforms | length`, `0`) } func TestCoreUninstall(t *testing.T) { @@ -373,12 +376,12 @@ func TestCoreUninstall(t *testing.T) { require.NoError(t, err) stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Contains(t, stdout, `[ { "id": "arduino:avr" } ]`) + requirejson.Contains(t, stdout, `{"platforms":[ { "id": "arduino:avr" } ]}`) _, _, err = cli.Run("core", "uninstall", "arduino:avr") require.NoError(t, err) stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.platforms | length`, `0`) } func TestCoreUninstallToolDependencyRemoval(t *testing.T) { @@ -456,7 +459,7 @@ func TestCoreSearchManuallyInstalledCoresNotPrinted(t *testing.T) { // Verifies only cores in board manager are shown stdout, _, err := cli.Run("core", "search", "--format", "json") require.NoError(t, err) - requirejson.NotEmpty(t, stdout) + requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) oldJson := stdout // Manually installs a core in sketchbooks hardware folder @@ -471,7 +474,7 @@ func TestCoreSearchManuallyInstalledCoresNotPrinted(t *testing.T) { // Verifies manually installed core is not shown stdout, _, err = cli.Run("core", "search", "--format", "json") require.NoError(t, err) - requirejson.NotContains(t, stdout, `[{"id": "arduino-beta-development:avr"}]`) + requirejson.NotContains(t, stdout, `{"platforms":[{"id": "arduino-beta-development:avr"}]}`) require.Equal(t, oldJson, stdout) } @@ -485,8 +488,8 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) { // Verifies only cores in board manager are shown stdout, _, err := cli.Run("core", "list", "--all", "--format", "json") require.NoError(t, err) - requirejson.NotEmpty(t, stdout) - length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query("length").String()) + requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) + length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query(".platforms | length").String()) require.NoError(t, err) // Manually installs a core in sketchbooks hardware folder @@ -501,8 +504,8 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) { // Verifies manually installed core is shown stdout, _, err = cli.Run("core", "list", "--all", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, length+1) - requirejson.Contains(t, stdout, `[ + requirejson.Query(t, stdout, `.platforms | length`, fmt.Sprint(length+1)) + requirejson.Contains(t, stdout, `{"platforms":[ { "id": "arduino-beta-development:avr", "latest_version": "1.8.3", @@ -512,7 +515,7 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) { } } } - ]`) + ]}`) } func TestCoreListUpdatableAllFlags(t *testing.T) { @@ -525,8 +528,8 @@ func TestCoreListUpdatableAllFlags(t *testing.T) { // Verifies only cores in board manager are shown stdout, _, err := cli.Run("core", "list", "--all", "--updatable", "--format", "json") require.NoError(t, err) - requirejson.NotEmpty(t, stdout) - length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query("length").String()) + requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) + length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query(".platforms | length").String()) require.NoError(t, err) // Manually installs a core in sketchbooks hardware folder @@ -541,8 +544,8 @@ func TestCoreListUpdatableAllFlags(t *testing.T) { // Verifies using both --updatable and --all flags --all takes precedence stdout, _, err = cli.Run("core", "list", "--all", "--updatable", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, length+1) - requirejson.Contains(t, stdout, `[ + requirejson.Query(t, stdout, `.platforms | length`, fmt.Sprint(length+1)) + requirejson.Contains(t, stdout, `{"platforms":[ { "id": "arduino-beta-development:avr", "latest_version": "1.8.3", @@ -552,7 +555,7 @@ func TestCoreListUpdatableAllFlags(t *testing.T) { } } } - ]`) + ]}`) } func TestCoreUpgradeRemovesUnusedTools(t *testing.T) { @@ -618,8 +621,8 @@ func TestCoreListWithInstalledJson(t *testing.T) { // Verifies installed core is correctly found and name is set stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Contains(t, stdout, `[ + requirejson.Query(t, stdout, `.platforms | length`, `1`) + requirejson.Contains(t, stdout, `{"platforms":[ { "id": "adafruit:avr", "releases": { @@ -628,7 +631,7 @@ func TestCoreListWithInstalledJson(t *testing.T) { } } } - ]`) + ]}`) // Deletes installed.json file, this file stores information about the core, // that is used mostly when removing package indexes and their cores are still installed; @@ -641,11 +644,11 @@ func TestCoreListWithInstalledJson(t *testing.T) { // Verifies installed core is still found and name is set stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) + requirejson.Query(t, stdout, `.platforms | length`, `1`) // Name for this core changes since if there's installed.json file we read it from // platform.txt, turns out that this core has different names used in different files // thus the change. - requirejson.Contains(t, stdout, `[ + requirejson.Contains(t, stdout, `{"platforms":[ { "id": "adafruit:avr", "releases": { @@ -654,7 +657,7 @@ func TestCoreListWithInstalledJson(t *testing.T) { } } } - ]`) + ]}`) } func TestCoreSearchUpdateIndexDelay(t *testing.T) { @@ -737,20 +740,20 @@ func TestCoreSearchSortedResults(t *testing.T) { // verify that results are already sorted correctly sortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id] | sort").String() + "[ .platforms.[] | select(.deprecated == true) | .id |=ascii_downcase | .id] | sort").String() notSortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id]").String() + "[ .platforms.[] | select(.deprecated == true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedDeprecated, notSortedDeprecated) sortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id] | sort").String() + "[ .platforms.[] | select(.deprecated != true) | .id |=ascii_downcase | .id] | sort").String() notSortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id]").String() + "[ .platforms.[] | select(.deprecated != true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedNotDeprecated, notSortedNotDeprecated) // verify that deprecated platforms are the last ones platform := requirejson.Parse(t, stdout).Query( - "[ .[] | .id |=ascii_downcase | .id]").String() + "[ .platforms.[] | .id |=ascii_downcase | .id]").String() require.Equal(t, platform, strings.TrimRight(notSortedNotDeprecated, "]")+","+strings.TrimLeft(notSortedDeprecated, "[")) } @@ -805,24 +808,23 @@ func TestCoreListSortedResults(t *testing.T) { // test same behaviour with json output stdout, _, err = cli.Run("core", "list", "--additional-urls="+url.String(), "--format=json") require.NoError(t, err) - requirejson.Len(t, stdout, 3) + requirejson.Query(t, stdout, `.platforms | length`, `3`) // verify that results are already sorted correctly sortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id] | sort").String() + "[ .platforms.[] | select(.deprecated == true) | .id |=ascii_downcase | .id] | sort").String() notSortedDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated == true) | .id |=ascii_downcase | .id]").String() + "[ .platforms.[] | select(.deprecated == true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedDeprecated, notSortedDeprecated) sortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id] | sort").String() + "[ .platforms.[] | select(.deprecated != true) | .id |=ascii_downcase | .id] | sort").String() notSortedNotDeprecated := requirejson.Parse(t, stdout).Query( - "[ .[] | select(.deprecated != true) | .id |=ascii_downcase | .id]").String() + "[ .platforms.[] | select(.deprecated != true) | .id |=ascii_downcase | .id]").String() require.Equal(t, sortedNotDeprecated, notSortedNotDeprecated) // verify that deprecated platforms are the last ones - platform := requirejson.Parse(t, stdout).Query( - "[ .[] | .id |=ascii_downcase | .id]").String() + platform := requirejson.Parse(t, stdout).Query("[ .platforms.[] | .id |=ascii_downcase | .id]").String() require.Equal(t, platform, strings.TrimRight(notSortedNotDeprecated, "]")+","+strings.TrimLeft(notSortedDeprecated, "[")) } @@ -854,8 +856,8 @@ func TestCoreListDeprecatedPlatformWithInstalledJson(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--additional-urls="+url.String(), "--format=json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[] | .deprecated", "true") + requirejson.Query(t, stdout, `.platforms | length`, `1`) + requirejson.Query(t, stdout, ".platforms.[] | .deprecated", "true") } func TestCoreListPlatformWithoutPlatformTxt(t *testing.T) { @@ -867,7 +869,7 @@ func TestCoreListPlatformWithoutPlatformTxt(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 0) + requirejson.Query(t, stdout, `.platforms | length`, `0`) // Simulates creation of a new core in the sketchbook hardware folder // without a platforms.txt @@ -879,9 +881,9 @@ func TestCoreListPlatformWithoutPlatformTxt(t *testing.T) { // Verifies no core is installed stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[] | .id", `"some-packager:some-arch"`) - requirejson.Query(t, stdout, ".[] | .releases[.installed_version].name", `"some-packager-some-arch"`) + requirejson.Query(t, stdout, `.platforms | length`, `1`) + requirejson.Query(t, stdout, ".platforms.[] | .id", `"some-packager:some-arch"`) + requirejson.Query(t, stdout, ".platforms.[] | .releases[.installed_version].name", `"some-packager-some-arch"`) } func TestCoreDownloadMultiplePlatforms(t *testing.T) { @@ -899,7 +901,7 @@ func TestCoreDownloadMultiplePlatforms(t *testing.T) { // Verifies no core is installed stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 0) + requirejson.Query(t, stdout, `.platforms | length`, `0`) // Simulates creation of two new cores in the sketchbook hardware folder wd, _ := paths.Getwd() @@ -915,7 +917,7 @@ func TestCoreDownloadMultiplePlatforms(t *testing.T) { // Verifies the two cores are detected stdout, _, err = cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 2) + requirejson.Query(t, stdout, `.platforms | length`, `2`) // Try to do an operation on the fake cores. // The cli should not allow it since optimizing the casing results in finding two cores @@ -939,13 +941,13 @@ func TestCoreWithMissingCustomBoardOptionsIsLoaded(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) + requirejson.Query(t, stdout, `.platforms | length`, `1`) // Verifies platform is loaded except excluding board with missing options - requirejson.Contains(t, stdout, `[{"id": "arduino-beta-dev:platform_with_missing_custom_board_options"}]`) - requirejson.Query(t, stdout, ".[] | select(.id == \"arduino-beta-dev:platform_with_missing_custom_board_options\") | .releases[.installed_version].boards | length", "2") + requirejson.Contains(t, stdout, `{"platforms":[{"id": "arduino-beta-dev:platform_with_missing_custom_board_options"}]}`) + requirejson.Query(t, stdout, ".platforms.[] | select(.id == \"arduino-beta-dev:platform_with_missing_custom_board_options\") | .releases[.installed_version].boards | length", "2") // Verify board with malformed options is not loaded // while other board is loaded - requirejson.Contains(t, stdout, `[ + requirejson.Contains(t, stdout, `{"platforms":[ { "id": "arduino-beta-dev:platform_with_missing_custom_board_options", "releases": { @@ -961,7 +963,7 @@ func TestCoreWithMissingCustomBoardOptionsIsLoaded(t *testing.T) { } } } - ]`) + ]}`) } func TestCoreListOutdatedCore(t *testing.T) { @@ -977,11 +979,11 @@ func TestCoreListOutdatedCore(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[0] | .installed_version", "\"1.8.6\"") - installedVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .installed_version").String(), "\"")) + requirejson.Query(t, stdout, `.platforms | length`, `1`) + requirejson.Query(t, stdout, ".platforms.[0] | .installed_version", "\"1.8.6\"") + installedVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".platforms.[0] | .installed_version").String(), "\"")) require.NoError(t, err) - latestVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".[0] | .latest_version").String(), "\"")) + latestVersion, err := semver.Parse(strings.Trim(requirejson.Parse(t, stdout).Query(".platforms.[0] | .latest_version").String(), "\"")) require.NoError(t, err) // Installed version must be older than latest require.True(t, installedVersion.LessThan(latestVersion)) @@ -1115,7 +1117,7 @@ func TestCoreListWhenNoPlatformAreInstalled(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--format", "json") require.NoError(t, err) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.platforms | length`, `0`) stdout, _, err = cli.Run("core", "list") require.NoError(t, err) @@ -1136,7 +1138,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--all", "--format", "json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). - Query(`.[] | select(.id == "foo_vendor:avr")`). + Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{ "installed_version": "", "latest_version": "1.0.1", @@ -1153,7 +1155,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { stdout, _, err = cli.Run("core", "list", "--all", "--format", "json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). - Query(`.[] | select(.id == "foo_vendor:avr")`). + Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{ "latest_version": "1.0.1", "installed_version": "1.0.1", @@ -1171,14 +1173,14 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). - Query(`.[] | select(.id == "foo_vendor:avr")`). + Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{"installed_version": "1.0.0", "releases": {"1.0.0": {"compatible": true}}}`) // Lists all updatable cores stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). - Query(`.[] | select(.id == "foo_vendor:avr")`). + Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{"latest_version": "1.0.1", "releases": {"1.0.1": {"compatible": true}}}`) // Show outdated cores, must show latest compatible @@ -1194,7 +1196,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). - Query(`.[] | select(.id == "foo_vendor:avr") | .releases[.installed_version]`). + Query(`.platforms | .[] | select(.id == "foo_vendor:avr") | .releases[.installed_version]`). MustContain(`{"version": "1.0.1", "compatible": true}`) // upgrade to latest incompatible not possible (1.0.1 -> 1.0.2) @@ -1202,7 +1204,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { require.NoError(t, err) stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | select(.id == "foo_vendor:avr") | .installed_version`, `"1.0.1"`) + requirejson.Query(t, stdout, `.platforms | .[] | select(.id == "foo_vendor:avr") | .installed_version`, `"1.0.1"`) // When no compatible version are found return error // When trying to install a platform with no compatible version fails @@ -1220,7 +1222,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { require.Equal(t, stdoutSearchAll, stdoutSearch) for _, stdout := range [][]byte{stdoutSearchAll, stdoutSearch} { requirejson.Parse(t, stdout). - Query(`.[] | select(.id == "foo_vendor:avr")`). + Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{ "latest_version": "1.0.1", "releases": { @@ -1230,7 +1232,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { } }`) requirejson.Parse(t, stdout). - Query(`.[] | select(.id == "incompatible_vendor:avr")`). + Query(`.platforms | .[] | select(.id == "incompatible_vendor:avr")`). MustContain(`{"latest_version": "", "releases": { "1.0.0": {"compatible": false}}}`) } // In text mode, core search shows `n/a` for core that doesn't have any compatible version diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index b00948a0c4c..868f3f2097c 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -57,22 +57,22 @@ func TestLibUpgradeCommand(t *testing.T) { require.NoError(t, err) stdOut, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Contains(t, stdOut, `[ { "library":{ "name":"Servo", "version": "1.1.6" } } ]`) + requirejson.Contains(t, stdOut, `{"installed_libraries": [ { "library":{ "name":"Servo", "version": "1.1.6" } } ]}`) _, _, err = cli.Run("lib", "upgrade", "Servo") require.NoError(t, err) stdOut, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdOut) - jsonOut.MustNotContain(`[ { "library":{ "name":"Servo", "version": "1.1.6" } } ]`) - servoVersion := jsonOut.Query(`.[].library | select(.name=="Servo") | .version`).String() + jsonOut.MustNotContain(`{"installed_libraries": [{"library":{ "name":"Servo", "version": "1.1.6" }}]}`) + servoVersion := jsonOut.Query(`.installed_libraries.[].library | select(.name=="Servo") | .version`).String() // Upgrade of already up-to-date library _, _, err = cli.Run("lib", "upgrade", "Servo") require.NoError(t, err) stdOut, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdOut, `.[].library | select(.name=="Servo") | .version`, servoVersion) + requirejson.Query(t, stdOut, `.installed_libraries.[].library | select(.name=="Servo") | .version`, servoVersion) } func TestLibCommandsUsingNameInsteadOfDirName(t *testing.T) { @@ -107,7 +107,7 @@ func TestLibInstallMultipleSameLibrary(t *testing.T) { require.NoError(t, err) // Count how many libraries with the name "Arduino SigFox for MKRFox1200" are installed requirejson.Parse(t, jsonOut). - Query(`[.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). + Query(`[.installed_libraries.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). LengthMustEqualTo(1, "Found multiple installations of Arduino SigFox for MKRFox1200'") // Check that 'lib upgrade' didn't create a double install @@ -122,7 +122,7 @@ func TestLibInstallMultipleSameLibrary(t *testing.T) { require.NoError(t, err) // Count how many libraries with the name "Arduino SigFox for MKRFox1200" are installed requirejson.Parse(t, jsonOut). - Query(`[.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). + Query(`[.installed_libraries.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). LengthMustEqualTo(1, "Found multiple installations of Arduino SigFox for MKRFox1200'") } @@ -140,7 +140,7 @@ func TestDuplicateLibInstallDetection(t *testing.T) { require.NoError(t, err) jsonOut, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, jsonOut, 2, "Duplicate library install is not detected by the CLI") + requirejson.Query(t, jsonOut, `.installed_libraries | length`, `2`, "Duplicate library install is not detected by the CLI") _, stdErr, err := cli.Run("lib", "install", "ArduinoOTA") require.Error(t, err) @@ -170,7 +170,7 @@ func TestDuplicateLibInstallFromGitDetection(t *testing.T) { require.NoError(t, err) // Count how many libraries with the name "Arduino SigFox for MKRFox1200" are installed requirejson.Parse(t, jsonOut). - Query(`[.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). + Query(`[.installed_libraries.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). LengthMustEqualTo(1, "Found multiple installations of Arduino SigFox for MKRFox1200'") // Try to make a double install by upgrade @@ -181,7 +181,7 @@ func TestDuplicateLibInstallFromGitDetection(t *testing.T) { jsonOut, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) requirejson.Parse(t, jsonOut). - Query(`[.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). + Query(`[.installed_libraries.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). LengthMustEqualTo(1, "Found multiple installations of Arduino SigFox for MKRFox1200'") // Try to make a double install by zip-installing @@ -206,7 +206,7 @@ func TestDuplicateLibInstallFromGitDetection(t *testing.T) { jsonOut, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) requirejson.Parse(t, jsonOut). - Query(`[.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). + Query(`[.installed_libraries.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). LengthMustEqualTo(1, "Found multiple installations of Arduino SigFox for MKRFox1200'") } @@ -332,7 +332,7 @@ func TestList(t *testing.T) { stdout, stderr, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) require.Empty(t, stderr) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) // Install something we can list at a version older than latest _, _, err = cli.Run("lib", "install", "ArduinoJson@6.11.0") @@ -358,9 +358,9 @@ func TestList(t *testing.T) { stdout, stderr, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) require.Empty(t, stderr) - requirejson.Len(t, stdout, 1) + requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) // be sure data contains the available version - requirejson.Query(t, stdout, `.[0] | .release | .version != ""`, "true") + requirejson.Query(t, stdout, `.installed_libraries.[0] | .release | .version != ""`, "true") // Install something we can list without provides_includes field given in library.properties _, _, err = cli.Run("lib", "install", "Arduino_APDS9960@1.0.3") @@ -369,9 +369,9 @@ func TestList(t *testing.T) { stdout, stderr, err = cli.Run("lib", "list", "Arduino_APDS9960", "--format", "json") require.NoError(t, err) require.Empty(t, stderr) - requirejson.Len(t, stdout, 1) + requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) // be sure data contains the correct provides_includes field - requirejson.Query(t, stdout, ".[0] | .library | .provides_includes | .[0]", `"Arduino_APDS9960.h"`) + requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .provides_includes | .[0]", `"Arduino_APDS9960.h"`) } func TestListExitCode(t *testing.T) { @@ -451,14 +451,14 @@ func TestListWithFqbn(t *testing.T) { stdout, stderr, err = cli.Run("lib", "list", "-b", "arduino:avr:uno", "--format", "json") require.NoError(t, err) require.Empty(t, stderr) - requirejson.Len(t, stdout, 6) + requirejson.Query(t, stdout, `.installed_libraries | length`, `6`) // Verifies library is compatible - requirejson.Query(t, stdout, `sort_by(.library | .name) | .[0] | .library | .name`, `"ArduinoJson"`) - requirejson.Query(t, stdout, `sort_by(.library | .name) | .[0] | .library | .compatible_with | ."arduino:avr:uno"`, `true`) + requirejson.Query(t, stdout, `.installed_libraries | sort_by(.library | .name) | .[0] | .library | .name`, `"ArduinoJson"`) + requirejson.Query(t, stdout, `.installed_libraries | sort_by(.library | .name) | .[0] | .library | .compatible_with | ."arduino:avr:uno"`, `true`) // Verifies bundled libs are shown if -b flag is used - requirejson.Parse(t, stdout).Query(`.[] | .library | select(.container_platform=="arduino:avr@1.8.6")`).MustNotBeEmpty() + requirejson.Parse(t, stdout).Query(`.installed_libraries.[] | .library | select(.container_platform=="arduino:avr@1.8.6")`).MustNotBeEmpty() } func TestListProvidesIncludesFallback(t *testing.T) { @@ -481,9 +481,9 @@ func TestListProvidesIncludesFallback(t *testing.T) { require.NoError(t, err) require.Empty(t, stderr) - requirejson.Len(t, stdout, 6) + requirejson.Query(t, stdout, `.installed_libraries | length`, `6`) - requirejson.Query(t, stdout, "[.[] | .library | { (.name): .provides_includes }] | add", + requirejson.Query(t, stdout, "[.installed_libraries.[] | .library | { (.name): .provides_includes }] | add", `{ "SPI": [ "SPI.h" @@ -548,7 +548,7 @@ func TestInstall(t *testing.T) { require.NoError(t, err) stdout, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Parse(t, stdout).Query(`.[] | select(.library.name == "ILI9341_t3") | .library.version`).MustEqual(`"1.0"`) + requirejson.Parse(t, stdout).Query(`.installed_libraries.[] | select(.library.name == "ILI9341_t3") | .library.version`).MustEqual(`"1.0"`) _, _, err = cli.Run("lib", "install", "ILI9341_t3@1") require.NoError(t, err) _, _, err = cli.Run("lib", "install", "ILI9341_t3@1.0.0") @@ -565,7 +565,7 @@ func TestInstallLibraryWithDependencies(t *testing.T) { // Verifies libraries are not installed stdout, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) // Install library _, _, err = cli.Run("lib", "install", "MD_Parola@3.5.5") @@ -574,7 +574,7 @@ func TestInstallLibraryWithDependencies(t *testing.T) { // Verifies library's dependencies are correctly installed stdout, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `[ .[] | .library | .name ] | sort`, `["MD_MAX72XX","MD_Parola"]`) + requirejson.Query(t, stdout, `[.installed_libraries.[] | .library | .name ] | sort`, `["MD_MAX72XX","MD_Parola"]`) // Try upgrading with --no-overwrite (should fail) and without --no-overwrite (should succeed) _, _, err = cli.Run("lib", "install", "MD_Parola@3.6.1", "--no-overwrite") @@ -603,7 +603,7 @@ func TestInstallNoDeps(t *testing.T) { // Verifies libraries are not installed stdout, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) // Install library skipping dependencies installation _, _, err = cli.Run("lib", "install", "MD_Parola@3.5.5", "--no-deps") @@ -612,7 +612,7 @@ func TestInstallNoDeps(t *testing.T) { // Verifies library's dependencies are not installed stdout, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Query(t, stdout, `.[] | .library | .name`, `"MD_Parola"`) + requirejson.Query(t, stdout, `.installed_libraries.[] | .library | .name`, `"MD_Parola"`) } func TestInstallWithGitUrl(t *testing.T) { @@ -712,7 +712,7 @@ func TestUninstallSpaces(t *testing.T) { require.NoError(t, err) stdout, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 0) + requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) } func TestLibOpsCaseInsensitive(t *testing.T) { @@ -740,7 +740,7 @@ func TestLibOpsCaseInsensitive(t *testing.T) { require.NoError(t, err) stdout, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 0) + requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) } func TestSearch(t *testing.T) { @@ -847,7 +847,7 @@ func TestLibListWithUpdatableFlag(t *testing.T) { stdout, stderr, err = cli.Run("lib", "list", "--updatable", "--format", "json") require.NoError(t, err) require.Empty(t, stderr) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) // Install outdated library _, _, err = cli.Run("lib", "install", "ArduinoJson@6.11.0") @@ -877,11 +877,11 @@ func TestLibListWithUpdatableFlag(t *testing.T) { stdout, stderr, err = cli.Run("lib", "list", "--updatable", "--format", "json") require.NoError(t, err) require.Empty(t, stderr) - requirejson.Len(t, stdout, 1) + requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) // be sure data contains the available version - requirejson.Query(t, stdout, `.[0] | .library | .version`, `"6.11.0"`) - requirejson.Query(t, stdout, `.[0] | .release | .version != "6.11.0"`, `true`) - requirejson.Query(t, stdout, `.[0] | .release | .version != ""`, `true`) + requirejson.Query(t, stdout, `.installed_libraries.[0] | .library | .version`, `"6.11.0"`) + requirejson.Query(t, stdout, `.installed_libraries.[0] | .release | .version != "6.11.0"`, `true`) + requirejson.Query(t, stdout, `.installed_libraries.[0] | .release | .version != ""`, `true`) } func TestInstallWithGitUrlFromCurrentDirectory(t *testing.T) { @@ -1041,8 +1041,8 @@ func TestLibExamples(t *testing.T) { stdout, _, err := cli.Run("lib", "examples", "Arduino_JSON", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - examples := requirejson.Parse(t, stdout).Query(".[0] | .examples").String() + requirejson.Query(t, stdout, `.examples | length`, `1`) + examples := requirejson.Parse(t, stdout).Query(".examples.[0] | .examples").String() examples = strings.ReplaceAll(examples, "\\\\", "\\") require.Contains(t, examples, cli.SketchbookDir().Join("libraries", "Arduino_JSON", "examples", "JSONArray").String()) require.Contains(t, examples, cli.SketchbookDir().Join("libraries", "Arduino_JSON", "examples", "JSONKitchenSink").String()) @@ -1061,8 +1061,8 @@ func TestLibExamplesWithPdeFile(t *testing.T) { stdout, _, err := cli.Run("lib", "examples", "Encoder", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - examples := requirejson.Parse(t, stdout).Query(".[0] | .examples").String() + requirejson.Query(t, stdout, `.examples | length`, `1`) + examples := requirejson.Parse(t, stdout).Query(".examples.[0] | .examples").String() examples = strings.ReplaceAll(examples, "\\\\", "\\") require.Contains(t, examples, cli.SketchbookDir().Join("libraries", "Encoder", "examples", "Basic").String()) require.Contains(t, examples, cli.SketchbookDir().Join("libraries", "Encoder", "examples", "NoInterrupts").String()) @@ -1082,10 +1082,10 @@ func TestLibExamplesWithCaseMismatch(t *testing.T) { stdout, _, err := cli.Run("lib", "examples", "WiFiManager", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[0] | .examples | length", "14") + requirejson.Query(t, stdout, `.examples | length`, `1`) + requirejson.Query(t, stdout, ".examples.[0] | .examples | length", "14") - examples := requirejson.Parse(t, stdout).Query(".[0] | .examples").String() + examples := requirejson.Parse(t, stdout).Query(".examples.[0] | .examples").String() examples = strings.ReplaceAll(examples, "\\\\", "\\") examplesPath := cli.SketchbookDir().Join("libraries", "WiFiManager", "examples") // Verifies sketches with correct casing are listed @@ -1122,8 +1122,8 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) { // Verifies library is correctly returned stdout, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[0] | .library | .version", `"0.16.1"`) + requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) + requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .version", `"0.16.1"`) // Changes the version of the currently installed library so that it's // invalid @@ -1133,8 +1133,8 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) { // Verifies version is now empty stdout, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[0] | .library | .version", "null") + requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) + requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .version", "null") // Upgrade library _, _, err = cli.Run("lib", "upgrade", "WiFi101") @@ -1143,8 +1143,8 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) { // Verifies library has been updated stdout, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) - requirejson.Query(t, stdout, ".[0] | .library | .version != \"\"", "true") + requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) + requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .version != \"\"", "true") } func TestInstallZipLibWithMacosMetadata(t *testing.T) { @@ -1301,10 +1301,10 @@ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibrariesInSketchbook(t *testing.T stdout, _, err := cli.Run("lib", "list", "--all", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 2) + requirejson.Query(t, stdout, `.installed_libraries | length`, `2`) // Verify both libraries have the same name - requirejson.Query(t, stdout, ".[0] | .library | .name", `"USBHost"`) - requirejson.Query(t, stdout, ".[1] | .library | .name", `"USBHost"`) + requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .name", `"USBHost"`) + requirejson.Query(t, stdout, ".installed_libraries.[1] | .library | .name", `"USBHost"`) stdout, _, err = cli.Run("lib", "upgrade") require.NoError(t, err) @@ -1333,10 +1333,10 @@ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibraries(t *testing.T) { stdout, _, err := cli.Run("lib", "list", "--all", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 2) + requirejson.Query(t, stdout, `.installed_libraries | length`, `2`) // Verify both libraries have the same name - requirejson.Query(t, stdout, ".[0] | .library | .name", `"USBHost"`) - requirejson.Query(t, stdout, ".[1] | .library | .name", `"USBHost"`) + requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .name", `"USBHost"`) + requirejson.Query(t, stdout, ".installed_libraries.[1] | .library | .name", `"USBHost"`) stdout, _, err = cli.Run("lib", "upgrade") require.NoError(t, err) @@ -1581,8 +1581,8 @@ func TestLibBundlesWhenLibWithTheSameNameIsInstalledGlobally(t *testing.T) { stdout, _, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:samd:mkrzero", "USBHost", "--format", "json") require.NoError(t, err) j := requirejson.Parse(t, stdout) - j.Query(`.[0].library.name`).MustEqual(`"USBHost"`) - j.Query(`.[0].library.compatible_with."arduino:samd:mkrzero"`).MustEqual(`true`) + j.Query(`.installed_libraries.[0].library.name`).MustEqual(`"USBHost"`) + j.Query(`.installed_libraries.[0].library.compatible_with."arduino:samd:mkrzero"`).MustEqual(`true`) } _, _, err = cli.Run("lib", "install", "USBHost@1.0.5") require.NoError(t, err) @@ -1591,8 +1591,8 @@ func TestLibBundlesWhenLibWithTheSameNameIsInstalledGlobally(t *testing.T) { stdout, _, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:samd:mkrzero", "USBHost", "--format", "json") require.NoError(t, err) j := requirejson.Parse(t, stdout) - j.Query(`.[0].library.name`).MustEqual(`"USBHost"`) - j.Query(`.[0].library.compatible_with."arduino:samd:mkrzero"`).MustEqual(`true`) + j.Query(`.installed_libraries.[0].library.name`).MustEqual(`"USBHost"`) + j.Query(`.installed_libraries.[0].library.compatible_with."arduino:samd:mkrzero"`).MustEqual(`true`) } // See: https://github.com/arduino/arduino-cli/issues/1656 @@ -1605,8 +1605,8 @@ func TestLibBundlesWhenLibWithTheSameNameIsInstalledGlobally(t *testing.T) { require.NoError(t, err) stdout, _, err := cli.Run("lib", "examples", "--fqbn", "esp8266:esp8266:generic", "ArduinoOTA", "--format", "json") require.NoError(t, err) - requirejson.Parse(t, stdout).Query(`.[].library.examples[0]`).MustContain(`"BasicOTA"`) - requirejson.Parse(t, stdout).Query(`.[].library.examples[1]`).MustContain(`"OTALeds"`) + requirejson.Parse(t, stdout).Query(`.examples.[].library.examples[0]`).MustContain(`"BasicOTA"`) + requirejson.Parse(t, stdout).Query(`.examples.[].library.examples[1]`).MustContain(`"OTALeds"`) } } @@ -1624,11 +1624,11 @@ func TestLibListDoesNotIncludeEmptyLibraries(t *testing.T) { // Check that the output of lib list and lib examples is empty stdout, _, err := cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) stdout, _, err = cli.Run("lib", "examples", "--format", "json") require.NoError(t, err) - requirejson.Empty(t, stdout) + requirejson.Query(t, stdout, `.examples | length`, `0`) // Create a library with a header libWithHeader := cli.SketchbookDir().Join("libraries", "libWithHeader") @@ -1640,11 +1640,11 @@ func TestLibListDoesNotIncludeEmptyLibraries(t *testing.T) { // Check that the output of lib list and lib examples contains the library stdout, _, err = cli.Run("lib", "list", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) + requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) stdout, _, err = cli.Run("lib", "examples", "--format", "json") require.NoError(t, err) - requirejson.Len(t, stdout, 1) + requirejson.Query(t, stdout, `.examples | length`, `1`) } func TestDependencyResolver(t *testing.T) { From 17f018968ca2d920135229c1939c792085a50bc2 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Fri, 10 Nov 2023 18:34:29 +0100 Subject: [PATCH 029/361] Update golangci-lint (#2378) --- .github/workflows/check-go-task.yml | 2 +- .golangci.yml | 3 +- .../cores/packagemanager/install_uninstall.go | 2 +- arduino/discovery/discovery.go | 16 +++---- arduino/errors.go | 8 ++-- client_example/main.go | 20 ++++---- commands/board/details.go | 14 +++--- commands/board/list.go | 8 ++-- commands/board/list_test.go | 12 ++--- commands/board/listall.go | 2 +- commands/board/search.go | 6 +-- commands/compile/compile.go | 14 +++--- commands/core/download.go | 4 +- commands/core/install.go | 6 +-- commands/core/search.go | 12 ++--- commands/core/search_test.go | 38 +++++++-------- commands/core/uninstall.go | 6 +-- commands/core/upgrade.go | 6 +-- commands/daemon/daemon.go | 4 +- commands/daemon/settings.go | 2 +- commands/daemon/term_example/main.go | 6 +-- commands/debug/debug.go | 10 ++-- commands/debug/debug_info.go | 4 +- commands/lib/install.go | 36 +++++++-------- commands/lib/resolve_deps.go | 2 +- commands/lib/search.go | 6 +-- commands/lib/search_test.go | 14 +++--- commands/lib/uninstall.go | 2 +- commands/lib/upgrade.go | 4 +- commands/monitor/monitor.go | 8 ++-- commands/sketch/archive.go | 8 ++-- commands/sketch/load.go | 2 +- commands/sketch/new.go | 10 ++-- commands/sketch/set_defaults.go | 2 +- commands/upload/upload.go | 4 +- commands/upload/upload_test.go | 24 +++++----- internal/cli/arguments/completion.go | 20 ++++---- internal/cli/arguments/port.go | 8 ++-- internal/cli/arguments/user_fields.go | 4 +- internal/cli/board/search.go | 2 +- internal/cli/compile/compile.go | 14 +++--- internal/cli/core/list.go | 4 +- internal/cli/core/upgrade.go | 12 ++--- internal/cli/debug/debug.go | 24 +++++----- internal/cli/feedback/result/rpc.go | 44 +++++++++--------- internal/cli/instance/instance.go | 12 ++--- internal/cli/lib/examples.go | 4 +- internal/cli/lib/list.go | 2 +- internal/cli/monitor/monitor.go | 16 +++---- internal/cli/upload/upload.go | 16 +++---- internal/integrationtest/arduino-cli.go | 2 +- .../integrationtest/daemon/daemon_test.go | 46 +++++++++---------- .../daemon/download_progress_test.go | 2 +- rpc/cc/arduino/cli/commands/v1/common.go | 10 ++-- 54 files changed, 285 insertions(+), 284 deletions(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 89443f77018..01237a6588c 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -116,7 +116,7 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v3 with: - version: v1.54 + version: v1.55 - name: Check style env: diff --git a/.golangci.yml b/.golangci.yml index 36b59fa925b..851aa05b92b 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -29,6 +29,7 @@ linters: - tenv - typecheck - unconvert + - protogetter linters-settings: forbidigo: @@ -55,7 +56,7 @@ linters-settings: - name: errorf - name: exported - name: increment-decrement - - name: indent-error-flow + #- name: indent-error-flow - name: package-comments - name: range - name: receiver-naming diff --git a/arduino/cores/packagemanager/install_uninstall.go b/arduino/cores/packagemanager/install_uninstall.go index 2f396894fa5..e5aa43a5ad1 100644 --- a/arduino/cores/packagemanager/install_uninstall.go +++ b/arduino/cores/packagemanager/install_uninstall.go @@ -448,7 +448,7 @@ func (pme *Explorer) IsToolRequired(toolRelease *cores.ToolRelease) bool { func skipEmptyMessageTaskProgressCB(taskCB rpc.TaskProgressCB) rpc.TaskProgressCB { return func(msg *rpc.TaskProgress) { - if msg != nil && len(msg.Message) == 0 { + if msg != nil && len(msg.GetMessage()) == 0 { return } taskCB(msg) diff --git a/arduino/discovery/discovery.go b/arduino/discovery/discovery.go index 2e9946d675c..4ba26d91121 100644 --- a/arduino/discovery/discovery.go +++ b/arduino/discovery/discovery.go @@ -125,14 +125,14 @@ func PortFromRPCPort(o *rpc.Port) (p *Port) { return nil } res := &Port{ - Address: o.Address, - AddressLabel: o.Label, - Protocol: o.Protocol, - ProtocolLabel: o.ProtocolLabel, - HardwareID: o.HardwareId, - } - if o.Properties != nil { - res.Properties = properties.NewFromHashmap(o.Properties) + Address: o.GetAddress(), + AddressLabel: o.GetLabel(), + Protocol: o.GetProtocol(), + ProtocolLabel: o.GetProtocolLabel(), + HardwareID: o.GetHardwareId(), + } + if o.GetProperties() != nil { + res.Properties = properties.NewFromHashmap(o.GetProperties()) } return res } diff --git a/arduino/errors.go b/arduino/errors.go index c9f81e8f270..b1618d13ff8 100644 --- a/arduino/errors.go +++ b/arduino/errors.go @@ -134,8 +134,8 @@ type NoBoardsDetectedError struct { func (e *NoBoardsDetectedError) Error() string { return tr( "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be identified", - e.Port.Address, - e.Port.Protocol, + e.Port.GetAddress(), + e.Port.GetProtocol(), ) } @@ -154,8 +154,8 @@ type MultipleBoardsDetectedError struct { func (e *MultipleBoardsDetectedError) Error() string { return tr( "Please specify an FQBN. Multiple possible boards detected on port %[1]s with protocol %[2]s", - e.Port.Address, - e.Port.Protocol, + e.Port.GetAddress(), + e.Port.GetProtocol(), ) } diff --git a/client_example/main.go b/client_example/main.go index 23526db43af..a5a3b3672ff 100644 --- a/client_example/main.go +++ b/client_example/main.go @@ -330,7 +330,7 @@ func createInstance(client rpc.ArduinoCoreServiceClient) *rpc.Instance { if err != nil { log.Fatalf("Error creating server instance: %s", err) } - return res.Instance + return res.GetInstance() } func initInstance(client rpc.ArduinoCoreServiceClient, instance *rpc.Instance) { @@ -521,8 +521,8 @@ func callBoardSearch(client rpc.ArduinoCoreServiceClient, instance *rpc.Instance log.Fatalf("Error getting board data: %s\n", err) } - for _, board := range res.Boards { - log.Printf("Board Name: %s, Board Platform: %s\n", board.Name, board.Platform.Metadata.Id) + for _, board := range res.GetBoards() { + log.Printf("Board Name: %s, Board Platform: %s\n", board.GetName(), board.GetPlatform().GetMetadata().GetId()) } } @@ -650,16 +650,16 @@ func callBoardListWatch(client rpc.ArduinoCoreServiceClient, instance *rpc.Insta } else if err != nil { log.Fatalf("Board list watch error: %s\n", err) } - if res.EventType == "error" { - log.Printf("res: %s\n", res.Error) + if res.GetEventType() == "error" { + log.Printf("res: %s\n", res.GetError()) continue } - log.Printf("event: %s, address: %s\n", res.EventType, res.Port.Port.Address) - if res.EventType == "add" { - log.Printf("protocol: %s, ", res.Port.Port.Protocol) - log.Printf("protocolLabel: %s, ", res.Port.Port.ProtocolLabel) - log.Printf("boards: %s\n\n", res.Port.MatchingBoards) + log.Printf("event: %s, address: %s\n", res.GetEventType(), res.GetPort().GetPort().GetAddress()) + if res.GetEventType() == "add" { + log.Printf("protocol: %s, ", res.GetPort().GetPort().GetProtocol()) + log.Printf("protocolLabel: %s, ", res.GetPort().GetPort().GetProtocolLabel()) + log.Printf("boards: %s\n\n", res.GetPort().GetMatchingBoards()) } } }() diff --git a/commands/board/details.go b/commands/board/details.go index c00f315c788..90fabcae49d 100644 --- a/commands/board/details.go +++ b/commands/board/details.go @@ -52,16 +52,16 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai details.Version = board.PlatformRelease.Version.String() details.IdentificationProperties = []*rpc.BoardIdentificationProperties{} for _, p := range board.GetIdentificationProperties() { - details.IdentificationProperties = append(details.IdentificationProperties, &rpc.BoardIdentificationProperties{ + details.IdentificationProperties = append(details.GetIdentificationProperties(), &rpc.BoardIdentificationProperties{ Properties: p.AsMap(), }) } for _, k := range boardProperties.Keys() { v := boardProperties.Get(k) - details.BuildProperties = append(details.BuildProperties, k+"="+v) + details.BuildProperties = append(details.GetBuildProperties(), k+"="+v) } if !req.GetDoNotExpandBuildProperties() { - details.BuildProperties, _ = utils.ExpandBuildProperties(details.BuildProperties) + details.BuildProperties, _ = utils.ExpandBuildProperties(details.GetBuildProperties()) } details.DebuggingSupported = boardProperties.ContainsKey("debug.executable") || @@ -111,10 +111,10 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai } configValue.Value = value configValue.ValueLabel = values.Get(value) - configOption.Values = append(configOption.Values, configValue) + configOption.Values = append(configOption.GetValues(), configValue) } - details.ConfigOptions = append(details.ConfigOptions, configOption) + details.ConfigOptions = append(details.GetConfigOptions(), configOption) } details.ToolsDependencies = []*rpc.ToolsDependencies{} @@ -132,7 +132,7 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai }) } } - details.ToolsDependencies = append(details.ToolsDependencies, &rpc.ToolsDependencies{ + details.ToolsDependencies = append(details.GetToolsDependencies(), &rpc.ToolsDependencies{ Name: tool.ToolName, Packager: tool.ToolPackager, Version: tool.ToolVersion.String(), @@ -142,7 +142,7 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai details.Programmers = []*rpc.Programmer{} for id, p := range boardPlatformRelease.Programmers { - details.Programmers = append(details.Programmers, &rpc.Programmer{ + details.Programmers = append(details.GetProgrammers(), &rpc.Programmer{ Platform: boardPlatformRelease.Name, Id: id, Name: p.Name, diff --git a/commands/board/list.go b/commands/board/list.go index b953efb25d5..1f39928cb2f 100644 --- a/commands/board/list.go +++ b/commands/board/list.go @@ -182,12 +182,12 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL // Sort by FQBN alphabetically sort.Slice(boards, func(i, j int) bool { - return strings.ToLower(boards[i].Fqbn) < strings.ToLower(boards[j].Fqbn) + return strings.ToLower(boards[i].GetFqbn()) < strings.ToLower(boards[j].GetFqbn()) }) // Put Arduino boards before others in case there are non Arduino boards with identical VID:PID combination sort.SliceStable(boards, func(i, j int) bool { - if boards[i].Platform.Metadata.Maintainer == "Arduino" && boards[j].Platform.Metadata.Maintainer != "Arduino" { + if boards[i].GetPlatform().GetMetadata().GetMaintainer() == "Arduino" && boards[j].GetPlatform().GetMetadata().GetMaintainer() != "Arduino" { return true } return false @@ -246,8 +246,8 @@ func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartError } func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool { - for _, detectedBoard := range b.MatchingBoards { - detectedFqbn, err := cores.ParseFQBN(detectedBoard.Fqbn) + for _, detectedBoard := range b.GetMatchingBoards() { + detectedFqbn, err := cores.ParseFQBN(detectedBoard.GetFqbn()) if err != nil { continue } diff --git a/commands/board/list_test.go b/commands/board/list_test.go index 0f92e4c3896..aaf6b3bec5e 100644 --- a/commands/board/list_test.go +++ b/commands/board/list_test.go @@ -54,8 +54,8 @@ func TestGetByVidPid(t *testing.T) { res, err := apiByVidPid("0xf420", "0XF069") require.Nil(t, err) require.Len(t, res, 1) - require.Equal(t, "Arduino/Genuino MKR1000", res[0].Name) - require.Equal(t, "arduino:samd:mkr1000", res[0].Fqbn) + require.Equal(t, "Arduino/Genuino MKR1000", res[0].GetName()) + require.Equal(t, "arduino:samd:mkr1000", res[0].GetFqbn()) // wrong vid (too long), wrong pid (not an hex value) _, err = apiByVidPid("0xfffff", "0xDEFG") @@ -156,8 +156,8 @@ func TestBoardIdentifySorting(t *testing.T) { require.Len(t, res, 4) // Verify expected sorting - require.Equal(t, res[0].Fqbn, "arduino:avr:assurdo") - require.Equal(t, res[1].Fqbn, "arduino:avr:nessuno") - require.Equal(t, res[2].Fqbn, "packager:platform:boardA") - require.Equal(t, res[3].Fqbn, "packager:platform:boardB") + require.Equal(t, res[0].GetFqbn(), "arduino:avr:assurdo") + require.Equal(t, res[1].GetFqbn(), "arduino:avr:nessuno") + require.Equal(t, res[2].GetFqbn(), "packager:platform:boardA") + require.Equal(t, res[3].GetFqbn(), "packager:platform:boardB") } diff --git a/commands/board/listall.go b/commands/board/listall.go index 407b54ad8e7..430f06cee77 100644 --- a/commands/board/listall.go +++ b/commands/board/listall.go @@ -71,7 +71,7 @@ func ListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListA continue } - list.Boards = append(list.Boards, &rpc.BoardListItem{ + list.Boards = append(list.GetBoards(), &rpc.BoardListItem{ Name: board.Name(), Fqbn: board.FQBN(), IsHidden: board.IsHidden(), diff --git a/commands/board/search.go b/commands/board/search.go index bd8702504d7..bda9fd6cf64 100644 --- a/commands/board/search.go +++ b/commands/board/search.go @@ -94,10 +94,10 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR } sort.Slice(foundBoards, func(i, j int) bool { - if foundBoards[i].Name != foundBoards[j].Name { - return foundBoards[i].Name < foundBoards[j].Name + if foundBoards[i].GetName() != foundBoards[j].GetName() { + return foundBoards[i].GetName() < foundBoards[j].GetName() } - return foundBoards[i].Platform.Metadata.Id < foundBoards[j].Platform.Metadata.Id + return foundBoards[i].GetPlatform().GetMetadata().GetId() < foundBoards[j].GetPlatform().GetMetadata().GetId() }) return &rpc.BoardSearchResponse{Boards: foundBoards}, nil diff --git a/commands/compile/compile.go b/commands/compile/compile.go index c168f27998a..3a28709496f 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -54,7 +54,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream // the optionality of this property, otherwise we would have no way of knowing if the property // was set in the request or it's just the default boolean value. if reqExportBinaries := req.GetExportBinaries(); reqExportBinaries != nil { - exportBinaries = reqExportBinaries.Value + exportBinaries = reqExportBinaries.GetValue() } pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) @@ -110,13 +110,13 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream r.BuildPlatform = buildPlatform.ToRPCPlatformReference() // Setup sign keys if requested - if req.KeysKeychain != "" { + if req.GetKeysKeychain() != "" { boardBuildProperties.Set("build.keys.keychain", req.GetKeysKeychain()) } - if req.SignKey != "" { + if req.GetSignKey() != "" { boardBuildProperties.Set("build.keys.sign_key", req.GetSignKey()) } - if req.EncryptKey != "" { + if req.GetEncryptKey() != "" { boardBuildProperties.Set("build.keys.encrypt_key", req.GetEncryptKey()) } // At the current time we do not have a way of knowing if a board supports the secure boot or not, @@ -197,7 +197,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream targetPlatform, actualPlatform, req.GetSkipLibrariesDiscovery(), libsManager, - paths.NewPathList(req.Library...), + paths.NewPathList(req.GetLibrary()...), outStream, errStream, req.GetVerbose(), req.GetWarnings(), progressCB, ) @@ -231,10 +231,10 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream keys := buildProperties.Keys() sort.Strings(keys) for _, key := range keys { - r.BuildProperties = append(r.BuildProperties, key+"="+buildProperties.Get(key)) + r.BuildProperties = append(r.GetBuildProperties(), key+"="+buildProperties.Get(key)) } if !req.GetDoNotExpandBuildProperties() { - r.BuildProperties, _ = utils.ExpandBuildProperties(r.BuildProperties) + r.BuildProperties, _ = utils.ExpandBuildProperties(r.GetBuildProperties()) } }() diff --git a/commands/core/download.go b/commands/core/download.go index 78d7539d9da..2edfc532705 100644 --- a/commands/core/download.go +++ b/commands/core/download.go @@ -42,8 +42,8 @@ func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, dow } ref := &packagemanager.PlatformReference{ - Package: req.PlatformPackage, - PlatformArchitecture: req.Architecture, + Package: req.GetPlatformPackage(), + PlatformArchitecture: req.GetArchitecture(), PlatformVersion: version, } platform, tools, err := pme.FindPlatformReleaseDependencies(ref) diff --git a/commands/core/install.go b/commands/core/install.go index 6a159f7de50..3aa6043bab6 100644 --- a/commands/core/install.go +++ b/commands/core/install.go @@ -41,8 +41,8 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl } ref := &packagemanager.PlatformReference{ - Package: req.PlatformPackage, - PlatformArchitecture: req.Architecture, + Package: req.GetPlatformPackage(), + PlatformArchitecture: req.GetArchitecture(), PlatformVersion: version, } platformRelease, tools, err := pme.FindPlatformReleaseDependencies(ref) @@ -74,7 +74,7 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl if err := install(); err != nil { return nil, err } - if err := commands.Init(&rpc.InitRequest{Instance: req.Instance}, nil); err != nil { + if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return nil, err } return &rpc.PlatformInstallResponse{}, nil diff --git a/commands/core/search.go b/commands/core/search.go index c0341b40a91..1cde667090f 100644 --- a/commands/core/search.go +++ b/commands/core/search.go @@ -37,11 +37,11 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse defer release() res := []*cores.Platform{} - if isUsb, _ := regexp.MatchString("[0-9a-f]{4}:[0-9a-f]{4}", req.SearchArgs); isUsb { - vid, pid := req.SearchArgs[:4], req.SearchArgs[5:] + if isUsb, _ := regexp.MatchString("[0-9a-f]{4}:[0-9a-f]{4}", req.GetSearchArgs()); isUsb { + vid, pid := req.GetSearchArgs()[:4], req.GetSearchArgs()[5:] res = pme.FindPlatformReleaseProvidingBoardsWithVidPid(vid, pid) } else { - searchArgs := utils.SearchTermsFromQueryString(req.SearchArgs) + searchArgs := utils.SearchTermsFromQueryString(req.GetSearchArgs()) for _, targetPackage := range pme.GetPackages() { for _, platform := range targetPackage.Platforms { if platform == nil { @@ -49,7 +49,7 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse } // Users can install platforms manually in the Sketchbook hardware folder, // if not explictily requested we skip them. - if !req.ManuallyInstalled && platform.ManuallyInstalled { + if !req.GetManuallyInstalled() && platform.ManuallyInstalled { continue } @@ -94,7 +94,7 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse } for _, platformRelease := range platform.GetAllReleases() { rpcPlatformRelease := commands.PlatformReleaseToRPC(platformRelease) - rpcPlatformSummary.Releases[rpcPlatformRelease.Version] = rpcPlatformRelease + rpcPlatformSummary.Releases[rpcPlatformRelease.GetVersion()] = rpcPlatformRelease } out = append(out, rpcPlatformSummary) } @@ -104,7 +104,7 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse return strings.ToLower(out[i].GetMetadata().GetId()) < strings.ToLower(out[j].GetMetadata().GetId()) }) sort.SliceStable(out, func(i, j int) bool { - return !out[i].GetMetadata().Deprecated && out[j].GetMetadata().Deprecated + return !out[i].GetMetadata().GetDeprecated() && out[j].GetMetadata().GetDeprecated() }) return &rpc.PlatformSearchResponse{SearchOutput: out}, nil } diff --git a/commands/core/search_test.go b/commands/core/search_test.go index ea3fdc4ef9d..9234f92809e 100644 --- a/commands/core/search_test.go +++ b/commands/core/search_test.go @@ -49,8 +49,8 @@ func TestPlatformSearch(t *testing.T) { require.Nil(t, stat) require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + require.Len(t, res.GetSearchOutput(), 1) + require.Contains(t, res.GetSearchOutput(), &rpc.PlatformSummary{ Metadata: &rpc.PlatformMetadata{ Id: "Retrokits-RK002:arm", Maintainer: "Retrokits (www.retrokits.com)", @@ -89,8 +89,8 @@ func TestPlatformSearch(t *testing.T) { }) require.Nil(t, stat) require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + require.Len(t, res.GetSearchOutput(), 1) + require.Contains(t, res.GetSearchOutput(), &rpc.PlatformSummary{ Metadata: &rpc.PlatformMetadata{ Id: "Retrokits-RK002:arm", Maintainer: "Retrokits (www.retrokits.com)", @@ -129,8 +129,8 @@ func TestPlatformSearch(t *testing.T) { }) require.Nil(t, stat) require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + require.Len(t, res.GetSearchOutput(), 1) + require.Contains(t, res.GetSearchOutput(), &rpc.PlatformSummary{ Metadata: &rpc.PlatformMetadata{ Id: "Retrokits-RK002:arm", Maintainer: "Retrokits (www.retrokits.com)", @@ -169,8 +169,8 @@ func TestPlatformSearch(t *testing.T) { }) require.Nil(t, stat) require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + require.Len(t, res.GetSearchOutput(), 1) + require.Contains(t, res.GetSearchOutput(), &rpc.PlatformSummary{ Metadata: &rpc.PlatformMetadata{ Id: "Retrokits-RK002:arm", Maintainer: "Retrokits (www.retrokits.com)", @@ -209,8 +209,8 @@ func TestPlatformSearch(t *testing.T) { }) require.Nil(t, stat) require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + require.Len(t, res.GetSearchOutput(), 1) + require.Contains(t, res.GetSearchOutput(), &rpc.PlatformSummary{ Metadata: &rpc.PlatformMetadata{ Id: "arduino:avr", Maintainer: "Arduino", @@ -267,8 +267,8 @@ func TestPlatformSearch(t *testing.T) { }) require.Nil(t, stat) require.NotNil(t, res) - require.Len(t, res.SearchOutput, 1) - require.Contains(t, res.SearchOutput, &rpc.PlatformSummary{ + require.Len(t, res.GetSearchOutput(), 1) + require.Contains(t, res.GetSearchOutput(), &rpc.PlatformSummary{ Metadata: &rpc.PlatformMetadata{ Id: "arduino:avr", Indexed: true, @@ -342,11 +342,11 @@ func TestPlatformSearchSorting(t *testing.T) { require.Nil(t, stat) require.NotNil(t, res) - require.Len(t, res.SearchOutput, 3) - require.Equal(t, res.SearchOutput[0].GetSortedReleases()[0].Name, "Arduino AVR Boards") - require.Equal(t, res.SearchOutput[0].Metadata.Deprecated, false) - require.Equal(t, res.SearchOutput[1].GetSortedReleases()[0].Name, "RK002") - require.Equal(t, res.SearchOutput[1].Metadata.Deprecated, false) - require.Equal(t, res.SearchOutput[2].GetLatestRelease().Name, "Platform") - require.Equal(t, res.SearchOutput[2].Metadata.Deprecated, true) + require.Len(t, res.GetSearchOutput(), 3) + require.Equal(t, res.GetSearchOutput()[0].GetSortedReleases()[0].GetName(), "Arduino AVR Boards") + require.Equal(t, res.GetSearchOutput()[0].GetMetadata().GetDeprecated(), false) + require.Equal(t, res.GetSearchOutput()[1].GetSortedReleases()[0].GetName(), "RK002") + require.Equal(t, res.GetSearchOutput()[1].GetMetadata().GetDeprecated(), false) + require.Equal(t, res.GetSearchOutput()[2].GetLatestRelease().GetName(), "Platform") + require.Equal(t, res.GetSearchOutput()[2].GetMetadata().GetDeprecated(), true) } diff --git a/commands/core/uninstall.go b/commands/core/uninstall.go index ec0ae20bc08..6038b8fd89b 100644 --- a/commands/core/uninstall.go +++ b/commands/core/uninstall.go @@ -30,7 +30,7 @@ func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t if err := platformUninstall(ctx, req, taskCB); err != nil { return nil, err } - if err := commands.Init(&rpc.InitRequest{Instance: req.Instance}, nil); err != nil { + if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return nil, err } return &rpc.PlatformUninstallResponse{}, nil @@ -45,8 +45,8 @@ func platformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t defer release() ref := &packagemanager.PlatformReference{ - Package: req.PlatformPackage, - PlatformArchitecture: req.Architecture, + Package: req.GetPlatformPackage(), + PlatformArchitecture: req.GetArchitecture(), } if ref.PlatformVersion == nil { platform := pme.FindPlatform(ref) diff --git a/commands/core/upgrade.go b/commands/core/upgrade.go index 19c93fe95cf..b27ca6cd8ae 100644 --- a/commands/core/upgrade.go +++ b/commands/core/upgrade.go @@ -37,8 +37,8 @@ func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downl // Extract all PlatformReference to platforms that have updates ref := &packagemanager.PlatformReference{ - Package: req.PlatformPackage, - PlatformArchitecture: req.Architecture, + Package: req.GetPlatformPackage(), + PlatformArchitecture: req.GetArchitecture(), } platform, err := pme.DownloadAndInstallPlatformUpgrades(ref, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()) if err != nil { @@ -59,7 +59,7 @@ func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downl if err != nil { return &rpc.PlatformUpgradeResponse{Platform: rpcPlatform}, err } - if err := commands.Init(&rpc.InitRequest{Instance: req.Instance}, nil); err != nil { + if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return nil, err } diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index ef6e4daa506..64b2fc0010f 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -88,7 +88,7 @@ func (s *ArduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardS // BoardListWatch FIXMEDOC func (s *ArduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, stream rpc.ArduinoCoreService_BoardListWatchServer) error { syncSend := NewSynchronizedSend(stream.Send) - if req.Instance == nil { + if req.GetInstance() == nil { err := fmt.Errorf(tr("no instance specified")) syncSend.Send(&rpc.BoardListWatchResponse{ EventType: "error", @@ -460,7 +460,7 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer } if conf := msg.GetPortConfiguration(); conf != nil { for _, c := range conf.GetSettings() { - if err := portProxy.Config(c.SettingId, c.Value); err != nil { + if err := portProxy.Config(c.GetSettingId(), c.GetValue()); err != nil { syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) } } diff --git a/commands/daemon/settings.go b/commands/daemon/settings.go index b5a03d34b49..0043c8859c0 100644 --- a/commands/daemon/settings.go +++ b/commands/daemon/settings.go @@ -134,7 +134,7 @@ func (s *ArduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.S // and that's picked up when the CLI is run as daemon, either using the default path or a custom one // set with the --config-file flag. func (s *ArduinoCoreServerImpl) SettingsWrite(ctx context.Context, req *rpc.SettingsWriteRequest) (*rpc.SettingsWriteResponse, error) { - if err := configuration.Settings.WriteConfigAs(req.FilePath); err != nil { + if err := configuration.Settings.WriteConfigAs(req.GetFilePath()); err != nil { return nil, err } return &rpc.SettingsWriteResponse{}, nil diff --git a/commands/daemon/term_example/main.go b/commands/daemon/term_example/main.go index 16aa36f3d53..faa86198a5f 100644 --- a/commands/daemon/term_example/main.go +++ b/commands/daemon/term_example/main.go @@ -44,7 +44,7 @@ func main() { if err != nil { log.Fatal("Create:", err) } - instance := resp.Instance + instance := resp.GetInstance() respStream, err := cli.Init(context.Background(), &commands.InitRequest{Instance: instance}) if err != nil { @@ -70,8 +70,8 @@ func main() { if len(ports) == 0 { log.Fatal("No port to connect!") } - port := ports[0].Port - fmt.Println("Detected port:", port.Label, port.ProtocolLabel) + port := ports[0].GetPort() + fmt.Println("Detected port:", port.GetLabel(), port.GetProtocolLabel()) connectToPort(cli, instance, port) time.Sleep(5 * time.Second) diff --git a/commands/debug/debug.go b/commands/debug/debug.go index ab55e317508..f3faaaacfaf 100644 --- a/commands/debug/debug.go +++ b/commands/debug/debug.go @@ -130,11 +130,11 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer var gdbPath *paths.Path switch debugInfo.GetToolchain() { case "gcc": - gdbexecutable := debugInfo.ToolchainPrefix + "gdb" + gdbexecutable := debugInfo.GetToolchainPrefix() + "gdb" if runtime.GOOS == "windows" { gdbexecutable += ".exe" } - gdbPath = paths.New(debugInfo.ToolchainPath).Join(gdbexecutable) + gdbPath = paths.New(debugInfo.GetToolchainPath()).Join(gdbexecutable) default: return nil, &arduino.FailedDebugError{Message: tr("Toolchain '%s' is not supported", debugInfo.GetToolchain())} } @@ -159,11 +159,11 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer switch debugInfo.GetServer() { case "openocd": var openocdConf rpc.DebugOpenOCDServerConfiguration - if err := debugInfo.ServerConfiguration.UnmarshalTo(&openocdConf); err != nil { + if err := debugInfo.GetServerConfiguration().UnmarshalTo(&openocdConf); err != nil { return nil, err } - serverCmd := fmt.Sprintf(`target extended-remote | "%s"`, debugInfo.ServerPath) + serverCmd := fmt.Sprintf(`target extended-remote | "%s"`, debugInfo.GetServerPath()) if cfg := openocdConf.GetScriptsDir(); cfg != "" { serverCmd += fmt.Sprintf(` -s "%s"`, cfg) @@ -184,7 +184,7 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer } // Add executable - add(debugInfo.Executable) + add(debugInfo.GetExecutable()) // Transform every path to forward slashes (on Windows some tools further // escapes the command line so the backslash "\" gets in the way). diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 68727dc77bc..0a0598b7af5 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -138,8 +138,8 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl // Set debug port property port := req.GetPort() if port.GetAddress() != "" { - toolProperties.Set("debug.port", port.Address) - portFile := strings.TrimPrefix(port.Address, "/dev/") + toolProperties.Set("debug.port", port.GetAddress()) + portFile := strings.TrimPrefix(port.GetAddress(), "/dev/") toolProperties.Set("debug.port.file", portFile) } diff --git a/commands/lib/install.go b/commands/lib/install.go index d06102b57a6..2b2af6b19e8 100644 --- a/commands/lib/install.go +++ b/commands/lib/install.go @@ -40,31 +40,31 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa toInstall := map[string]*rpc.LibraryDependencyStatus{} installLocation := libraries.FromRPCLibraryInstallLocation(req.GetInstallLocation()) - if req.NoDeps { - toInstall[req.Name] = &rpc.LibraryDependencyStatus{ - Name: req.Name, - VersionRequired: req.Version, + if req.GetNoDeps() { + toInstall[req.GetName()] = &rpc.LibraryDependencyStatus{ + Name: req.GetName(), + VersionRequired: req.GetVersion(), } } else { res, err := LibraryResolveDependencies(ctx, &rpc.LibraryResolveDependenciesRequest{ - Instance: req.Instance, - Name: req.Name, - Version: req.Version, + Instance: req.GetInstance(), + Name: req.GetName(), + Version: req.GetVersion(), }) if err != nil { return err } - for _, dep := range res.Dependencies { - if existingDep, has := toInstall[dep.Name]; has { - if existingDep.VersionRequired != dep.VersionRequired { + for _, dep := range res.GetDependencies() { + if existingDep, has := toInstall[dep.GetName()]; has { + if existingDep.GetVersionRequired() != dep.GetVersionRequired() { err := errors.New( tr("two different versions of the library %[1]s are required: %[2]s and %[3]s", - dep.Name, dep.VersionRequired, existingDep.VersionRequired)) + dep.GetName(), dep.GetVersionRequired(), existingDep.GetVersionRequired())) return &arduino.LibraryDependenciesResolutionFailedError{Cause: err} } } - toInstall[dep.Name] = dep + toInstall[dep.GetName()] = dep } } @@ -72,8 +72,8 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa libReleasesToInstall := map[*librariesindex.Release]*librariesmanager.LibraryInstallPlan{} for _, lib := range toInstall { libRelease, err := findLibraryIndexRelease(lm, &rpc.LibraryInstallRequest{ - Name: lib.Name, - Version: lib.VersionRequired, + Name: lib.GetName(), + Version: lib.GetVersionRequired(), }) if err != nil { return err @@ -99,7 +99,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa for libRelease, installTask := range libReleasesToInstall { // Checks if libRelease is the requested library and not a dependency downloadReason := "depends" - if libRelease.GetName() == req.Name { + if libRelease.GetName() == req.GetName() { downloadReason = "install" if installTask.ReplacedLib != nil { downloadReason = "upgrade" @@ -116,7 +116,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa } } - if err := commands.Init(&rpc.InitRequest{Instance: req.Instance}, nil); err != nil { + if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return err } @@ -145,7 +145,7 @@ func installLibrary(lm *librariesmanager.LibrariesManager, libRelease *libraries // ZipLibraryInstall FIXMEDOC func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { lm := instances.GetLibraryManager(req.GetInstance()) - if err := lm.InstallZipLib(ctx, paths.New(req.Path), req.Overwrite); err != nil { + if err := lm.InstallZipLib(ctx, paths.New(req.GetPath()), req.GetOverwrite()); err != nil { return &arduino.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) @@ -155,7 +155,7 @@ func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, t // GitLibraryInstall FIXMEDOC func GitLibraryInstall(ctx context.Context, req *rpc.GitLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { lm := instances.GetLibraryManager(req.GetInstance()) - if err := lm.InstallGitLib(req.Url, req.Overwrite); err != nil { + if err := lm.InstallGitLib(req.GetUrl(), req.GetOverwrite()); err != nil { return &arduino.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) diff --git a/commands/lib/resolve_deps.go b/commands/lib/resolve_deps.go index 1c26d026f97..d0babcf38ff 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/lib/resolve_deps.go @@ -76,7 +76,7 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe }) } sort.Slice(res, func(i, j int) bool { - return res[i].Name < res[j].Name + return res[i].GetName() < res[j].GetName() }) return &rpc.LibraryResolveDependenciesResponse{Dependencies: res}, nil } diff --git a/commands/lib/search.go b/commands/lib/search.go index c9a9182a30c..c4a2afe8fd2 100644 --- a/commands/lib/search.go +++ b/commands/lib/search.go @@ -51,14 +51,14 @@ func searchLibrary(req *rpc.LibrarySearchRequest, lm *librariesmanager.Libraries // get a sorted slice of results sort.Slice(res, func(i, j int) bool { // Sort by name, but bubble up exact matches - equalsI := strings.EqualFold(res[i].Name, query) - equalsJ := strings.EqualFold(res[j].Name, query) + equalsI := strings.EqualFold(res[i].GetName(), query) + equalsJ := strings.EqualFold(res[j].GetName(), query) if equalsI && !equalsJ { return true } else if !equalsI && equalsJ { return false } - return res[i].Name < res[j].Name + return res[i].GetName() < res[j].GetName() }) return &rpc.LibrarySearchResponse{Libraries: res, Status: rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_SUCCESS} diff --git a/commands/lib/search_test.go b/commands/lib/search_test.go index 8a5870338cd..df653fa36cd 100644 --- a/commands/lib/search_test.go +++ b/commands/lib/search_test.go @@ -38,8 +38,8 @@ func TestSearchLibrary(t *testing.T) { assert := assert.New(t) assert.Equal(resp.GetStatus(), rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_SUCCESS) assert.Equal(len(resp.GetLibraries()), 2) - assert.True(strings.Contains(resp.GetLibraries()[0].Name, "Test")) - assert.True(strings.Contains(resp.GetLibraries()[1].Name, "Test")) + assert.True(strings.Contains(resp.GetLibraries()[0].GetName(), "Test")) + assert.True(strings.Contains(resp.GetLibraries()[1].GetName(), "Test")) } func TestSearchLibrarySimilar(t *testing.T) { @@ -52,7 +52,7 @@ func TestSearchLibrarySimilar(t *testing.T) { assert.Equal(len(resp.GetLibraries()), 2) libs := map[string]*rpc.SearchedLibrary{} for _, l := range resp.GetLibraries() { - libs[l.Name] = l + libs[l.GetName()] = l } assert.Contains(libs, "ArduinoTestPackage") assert.Contains(libs, "Arduino") @@ -64,8 +64,8 @@ func TestSearchLibraryFields(t *testing.T) { query := func(q string) []string { libs := []string{} - for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, lm).Libraries { - libs = append(libs, lib.Name) + for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, lm).GetLibraries() { + libs = append(libs, lib.GetName()) } return libs } @@ -102,8 +102,8 @@ func TestSearchLibraryWithQualifiers(t *testing.T) { query := func(q string) []string { libs := []string{} - for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, lm).Libraries { - libs = append(libs, lib.Name) + for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, lm).GetLibraries() { + libs = append(libs, lib.GetName()) } return libs } diff --git a/commands/lib/uninstall.go b/commands/lib/uninstall.go index 63b54ba064e..57c56e95a5a 100644 --- a/commands/lib/uninstall.go +++ b/commands/lib/uninstall.go @@ -36,7 +36,7 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas libs := lm.FindByReference(ref, libraries.User) if len(libs) == 0 { - taskCB(&rpc.TaskProgress{Message: tr("Library %s is not installed", req.Name), Completed: true}) + taskCB(&rpc.TaskProgress{Message: tr("Library %s is not installed", req.GetName()), Completed: true}) return nil } diff --git a/commands/lib/upgrade.go b/commands/lib/upgrade.go index fe7e938a040..6fb6f9add2b 100644 --- a/commands/lib/upgrade.go +++ b/commands/lib/upgrade.go @@ -31,7 +31,7 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa return &arduino.InvalidInstanceError{} } - if err := upgrade(req.Instance, listLibraries(lm, true, false), downloadCB, taskCB); err != nil { + if err := upgrade(req.GetInstance(), listLibraries(lm, true, false), downloadCB, taskCB); err != nil { return err } @@ -62,7 +62,7 @@ func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloa } // Install update - return upgrade(req.Instance, []*installedLib{lib}, downloadCB, taskCB) + return upgrade(req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB) } func upgrade(instance *rpc.Instance, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { diff --git a/commands/monitor/monitor.go b/commands/monitor/monitor.go index 4da0c902868..285841f8374 100644 --- a/commands/monitor/monitor.go +++ b/commands/monitor/monitor.go @@ -84,10 +84,10 @@ func Monitor(ctx context.Context, req *rpc.MonitorRequest) (*PortProxy, *pluggab // Apply user-requested settings if portConfig := req.GetPortConfiguration(); portConfig != nil { - for _, setting := range portConfig.Settings { - boardSettings.Remove(setting.SettingId) // Remove board settings overridden by the user - if err := m.Configure(setting.SettingId, setting.Value); err != nil { - logrus.Errorf("Could not set configuration %s=%s: %s", setting.SettingId, setting.Value, err) + for _, setting := range portConfig.GetSettings() { + boardSettings.Remove(setting.GetSettingId()) // Remove board settings overridden by the user + if err := m.Configure(setting.GetSettingId(), setting.GetValue()); err != nil { + logrus.Errorf("Could not set configuration %s=%s: %s", setting.GetSettingId(), setting.GetValue(), err) } } } diff --git a/commands/sketch/archive.go b/commands/sketch/archive.go index 583ead6225a..059ab18bd35 100644 --- a/commands/sketch/archive.go +++ b/commands/sketch/archive.go @@ -36,7 +36,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc // sketchName is the name of the sketch without extension, for example "MySketch" var sketchName string - sketchPath := paths.New(req.SketchPath) + sketchPath := paths.New(req.GetSketchPath()) if sketchPath == nil { sketchPath = paths.New(".") } @@ -49,7 +49,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc sketchPath = s.FullPath sketchName = s.Name - archivePath := paths.New(req.ArchivePath) + archivePath := paths.New(req.GetArchivePath()) if archivePath == nil { archivePath = sketchPath.Parent() } @@ -66,7 +66,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc archivePath = paths.New(archivePath.String() + ".zip") } - if !req.Overwrite { + if !req.GetOverwrite() { if archivePath.Exist() { return nil, &arduino.InvalidArgumentError{Message: tr("Archive already exists")} } @@ -89,7 +89,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc for _, f := range filesToZip { - if !req.IncludeBuildDir { + if !req.GetIncludeBuildDir() { filePath, err := sketchPath.Parent().RelTo(f) if err != nil { return nil, &arduino.PermissionDeniedError{Message: tr("Error calculating relative file path"), Cause: err} diff --git a/commands/sketch/load.go b/commands/sketch/load.go index ee6eb649ca5..bd6b80e4a61 100644 --- a/commands/sketch/load.go +++ b/commands/sketch/load.go @@ -27,7 +27,7 @@ import ( // LoadSketch collects and returns all files composing a sketch func LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { // TODO: This should be a ToRpc function for the Sketch struct - sk, err := sketch.New(paths.New(req.SketchPath)) + sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { return nil, &arduino.CantOpenSketchError{Cause: err} } diff --git a/commands/sketch/new.go b/commands/sketch/new.go index b4fe3ab0e82..e73f90a996a 100644 --- a/commands/sketch/new.go +++ b/commands/sketch/new.go @@ -45,23 +45,23 @@ var invalidNames = []string{"CON", "PRN", "AUX", "NUL", "COM0", "COM1", "COM2", // NewSketch creates a new sketch via gRPC func NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { var sketchesDir string - if len(req.SketchDir) > 0 { - sketchesDir = req.SketchDir + if len(req.GetSketchDir()) > 0 { + sketchesDir = req.GetSketchDir() } else { sketchesDir = configuration.Settings.GetString("directories.User") } - if err := validateSketchName(req.SketchName); err != nil { + if err := validateSketchName(req.GetSketchName()); err != nil { return nil, err } - sketchDirPath := paths.New(sketchesDir).Join(req.SketchName) + sketchDirPath := paths.New(sketchesDir).Join(req.GetSketchName()) if err := sketchDirPath.MkdirAll(); err != nil { return nil, &arduino.CantCreateSketchError{Cause: err} } sketchName := sketchDirPath.Base() sketchMainFilePath := sketchDirPath.Join(sketchName + globals.MainFileValidExtension) - if !req.Overwrite { + if !req.GetOverwrite() { if sketchMainFilePath.Exist() { return nil, &arduino.CantCreateSketchError{Cause: errors.New(tr(".ino file already exists"))} } diff --git a/commands/sketch/set_defaults.go b/commands/sketch/set_defaults.go index 1a4ebc6b752..17ac01dae34 100644 --- a/commands/sketch/set_defaults.go +++ b/commands/sketch/set_defaults.go @@ -27,7 +27,7 @@ import ( // SetSketchDefaults updates the sketch project file (sketch.yaml) with the given defaults // for the values `default_fqbn`, `default_port`, and `default_protocol`. func SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { - sk, err := sketch.New(paths.New(req.SketchPath)) + sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { return nil, &arduino.CantOpenSketchError{Cause: err} } diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 56815f983a6..c7ea52c48e0 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -46,7 +46,7 @@ var tr = i18n.Tr // SupportedUserFields returns a SupportedUserFieldsResponse containing all the UserFields supported // by the upload tools needed by the board using the protocol specified in SupportedUserFieldsRequest. func SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { - if req.Protocol == "" { + if req.GetProtocol() == "" { return nil, &arduino.MissingPortProtocolError{} } @@ -72,7 +72,7 @@ func SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsReques return nil, &arduino.UnknownFQBNError{Cause: err} } - toolID, err := getToolID(boardProperties, "upload", req.Protocol) + toolID, err := getToolID(boardProperties, "upload", req.GetProtocol()) if err != nil { return nil, err } diff --git a/commands/upload/upload_test.go b/commands/upload/upload_test.go index e1f87cd9832..d73ab6b315b 100644 --- a/commands/upload/upload_test.go +++ b/commands/upload/upload_test.go @@ -288,14 +288,14 @@ tools.arduino_ota.upload.field.password.secret=true`)) userFields := getUserFields("avrdude", platformRelease) require.Len(t, userFields, 2) - require.Equal(t, userFields[0].ToolId, "avrdude") - require.Equal(t, userFields[0].Name, "username") - require.Equal(t, userFields[0].Label, "Username") - require.False(t, userFields[0].Secret) - require.Equal(t, userFields[1].ToolId, "avrdude") - require.Equal(t, userFields[1].Name, "password") - require.Equal(t, userFields[1].Label, "Password") - require.True(t, userFields[1].Secret) + require.Equal(t, userFields[0].GetToolId(), "avrdude") + require.Equal(t, userFields[0].GetName(), "username") + require.Equal(t, userFields[0].GetLabel(), "Username") + require.False(t, userFields[0].GetSecret()) + require.Equal(t, userFields[1].GetToolId(), "avrdude") + require.Equal(t, userFields[1].GetName(), "password") + require.Equal(t, userFields[1].GetLabel(), "Password") + require.True(t, userFields[1].GetSecret()) props, err = properties.LoadFromBytes([]byte(` tools.arduino_ota.upload.field.password=Password @@ -310,10 +310,10 @@ tools.arduino_ota.upload.field.some_field=This is a really long label that ideal platformRelease.Properties = props userFields = getUserFields("arduino_ota", platformRelease) require.Len(t, userFields, 1) - require.Equal(t, userFields[0].ToolId, "arduino_ota") - require.Equal(t, userFields[0].Name, "some_field") - require.Equal(t, userFields[0].Label, "This is a really long label that ideally must nev…") - require.False(t, userFields[0].Secret) + require.Equal(t, userFields[0].GetToolId(), "arduino_ota") + require.Equal(t, userFields[0].GetName(), "some_field") + require.Equal(t, userFields[0].GetLabel(), "This is a really long label that ideally must nev…") + require.False(t, userFields[0].GetSecret()) } func TestOverrideProtocolProperties(t *testing.T) { diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index 89423edd1a7..4243a0fd409 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -39,8 +39,8 @@ func GetInstalledBoards() []string { }) var res []string // transform the data structure for the completion - for _, i := range list.Boards { - res = append(res, i.Fqbn+"\t"+i.Name) + for _, i := range list.GetBoards() { + res = append(res, i.GetFqbn()+"\t"+i.GetName()) } return res } @@ -59,10 +59,10 @@ func GetInstalledProgrammers() []string { list, _ := board.ListAll(context.Background(), listAllReq) installedProgrammers := make(map[string]string) - for _, board := range list.Boards { + for _, board := range list.GetBoards() { programmers, _ := upload.ListProgrammersAvailableForUpload(context.Background(), &rpc.ListProgrammersAvailableForUploadRequest{ Instance: inst, - Fqbn: board.Fqbn, + Fqbn: board.GetFqbn(), }) for _, programmer := range programmers.GetProgrammers() { installedProgrammers[programmer.GetId()] = programmer.GetName() @@ -91,7 +91,7 @@ func GetUninstallableCores() []string { var res []string // transform the data structure for the completion for _, i := range platforms.GetSearchOutput() { - if i.InstalledVersion == "" { + if i.GetInstalledVersion() == "" { continue } res = append(res, i.GetMetadata().GetId()+"\t"+i.GetInstalledRelease().GetName()) @@ -141,8 +141,8 @@ func getLibraries(all bool) []string { }) var res []string // transform the data structure for the completion - for _, i := range libs.InstalledLibraries { - res = append(res, i.Library.Name+"\t"+i.Library.Sentence) + for _, i := range libs.GetInstalledLibraries() { + res = append(res, i.GetLibrary().GetName()+"\t"+i.GetLibrary().GetSentence()) } return res } @@ -158,8 +158,8 @@ func GetInstallableLibs() []string { }) var res []string // transform the data structure for the completion - for _, i := range libs.Libraries { - res = append(res, i.Name+"\t"+i.Latest.Sentence) + for _, i := range libs.GetLibraries() { + res = append(res, i.GetName()+"\t"+i.GetLatest().GetSentence()) } return res } @@ -176,7 +176,7 @@ func GetAvailablePorts() []*rpc.Port { var res []*rpc.Port // transform the data structure for the completion for _, i := range list { - res = append(res, i.Port) + res = append(res, i.GetPort()) } return res } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index 80df4b5c22c..de583dccf51 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -65,7 +65,7 @@ func (p *Port) GetPortAddressAndProtocol(instance *rpc.Instance, defaultAddress, if err != nil { return "", "", err } - return port.Address, port.Protocol, nil + return port.GetAddress(), port.GetProtocol(), nil } // GetPort returns the Port obtained by parsing command line arguments. @@ -145,13 +145,13 @@ func (p *Port) DetectFQBN(inst *rpc.Instance) (string, *rpc.Port) { if p.protocol != "" && p.protocol != port.GetProtocol() { continue } - if len(detectedPort.MatchingBoards) > 1 { + if len(detectedPort.GetMatchingBoards()) > 1 { feedback.FatalError(&arduino.MultipleBoardsDetectedError{Port: port}, feedback.ErrBadArgument) } - if len(detectedPort.MatchingBoards) == 0 { + if len(detectedPort.GetMatchingBoards()) == 0 { feedback.FatalError(&arduino.NoBoardsDetectedError{Port: port}, feedback.ErrBadArgument) } - return detectedPort.MatchingBoards[0].Fqbn, port + return detectedPort.GetMatchingBoards()[0].GetFqbn(), port } return "", nil } diff --git a/internal/cli/arguments/user_fields.go b/internal/cli/arguments/user_fields.go index 8f799d4c650..e9bf89c1ba4 100644 --- a/internal/cli/arguments/user_fields.go +++ b/internal/cli/arguments/user_fields.go @@ -25,11 +25,11 @@ import ( func AskForUserFields(userFields []*rpc.UserField) (map[string]string, error) { fields := map[string]string{} for _, f := range userFields { - value, err := feedback.InputUserField(f.Label, f.Secret) + value, err := feedback.InputUserField(f.GetLabel(), f.GetSecret()) if err != nil { return nil, err } - fields[f.Name] = value + fields[f.GetName()] = value } return fields, nil diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index 068dd0d0019..646cb3bbfb3 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -61,7 +61,7 @@ func runSearchCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Error searching boards: %v", err), feedback.ErrGeneric) } - feedback.PrintResult(searchResults{result.NewBoardListItems(res.Boards)}) + feedback.PrintResult(searchResults{result.NewBoardListItems(res.GetBoards())}) } // output from this command requires special formatting so we create a dedicated diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 7cd66de7663..b6a2bafd060 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -252,16 +252,16 @@ func runCompileCommand(cmd *cobra.Command, args []string) { userFieldRes, err := upload.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ Instance: inst, Fqbn: fqbn, - Protocol: port.Protocol, + Protocol: port.GetProtocol(), }) if err != nil { feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) } fields := map[string]string{} - if len(userFieldRes.UserFields) > 0 { - feedback.Print(tr("Uploading to specified board using %s protocol requires the following info:", port.Protocol)) - if f, err := arguments.AskForUserFields(userFieldRes.UserFields); err != nil { + if len(userFieldRes.GetUserFields()) > 0 { + feedback.Print(tr("Uploading to specified board using %s protocol requires the following info:", port.GetProtocol())) + if f, err := arguments.AskForUserFields(userFieldRes.GetUserFields()); err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } else { fields = f @@ -294,7 +294,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { libs := "" hasVendoredLibs := false for _, lib := range compileRes.GetUsedLibraries() { - if lib.Location != rpc.LibraryLocation_LIBRARY_LOCATION_USER && lib.Location != rpc.LibraryLocation_LIBRARY_LOCATION_UNMANAGED { + if lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_USER && lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_UNMANAGED { continue } if lib.GetVersion() == "" { @@ -325,8 +325,8 @@ func runCompileCommand(cmd *cobra.Command, args []string) { } if buildPlatform := compileRes.GetBuildPlatform(); buildPlatform != nil && - buildPlatform.Id != boardPlatform.Id && - buildPlatform.Version != boardPlatform.Version { + buildPlatform.GetId() != boardPlatform.GetId() && + buildPlatform.GetVersion() != boardPlatform.GetVersion() { profileOut += fmt.Sprintln(" - platform: " + buildPlatform.GetId() + " (" + buildPlatform.GetVersion() + ")") if url := buildPlatform.GetPackageUrl(); url != "" { profileOut += fmt.Sprintln(" platform_index_url: " + url) diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 6ef5c14b451..c9b62a07553 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -75,10 +75,10 @@ func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSu result := []*rpc.PlatformSummary{} for _, platform := range platforms.GetSearchOutput() { - if platform.InstalledVersion == "" && !platform.GetMetadata().ManuallyInstalled { + if platform.GetInstalledVersion() == "" && !platform.GetMetadata().GetManuallyInstalled() { continue } - if updatableOnly && platform.InstalledVersion == platform.LatestVersion { + if updatableOnly && platform.GetInstalledVersion() == platform.GetLatestVersion() { continue } result = append(result, platform) diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 93bc6c0720f..c7282d9ba4d 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -69,12 +69,12 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni targets := []*rpc.Platform{} for _, platform := range platforms.GetSearchOutput() { - if platform.InstalledVersion == "" { + if platform.GetInstalledVersion() == "" { continue } // if it's not updatable, skip it latestRelease := platform.GetLatestRelease() - if latestRelease != nil && platform.InstalledVersion != latestRelease.Version { + if latestRelease != nil && platform.GetInstalledVersion() != latestRelease.GetVersion() { targets = append(targets, &rpc.Platform{ Metadata: platform.GetMetadata(), Release: latestRelease, @@ -88,16 +88,16 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni } for _, t := range targets { - args = append(args, t.GetMetadata().Id) + args = append(args, t.GetMetadata().GetId()) } } warningMissingIndex := func(response *rpc.PlatformUpgradeResponse) { - if response == nil || response.Platform == nil { + if response == nil || response.GetPlatform() == nil { return } - if !response.Platform.GetMetadata().Indexed { - feedback.Warning(tr("missing package index for %s, future updates cannot be guaranteed", response.Platform.GetMetadata().Id)) + if !response.GetPlatform().GetMetadata().GetIndexed() { + feedback.Warning(tr("missing package index for %s, future updates cannot be guaranteed", response.GetPlatform().GetMetadata().GetId())) } } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index a4385c8e0d8..c5b72d2e841 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -138,16 +138,16 @@ type openOcdServerConfigResult struct { func newDebugInfoResult(info *rpc.GetDebugConfigResponse) *debugInfoResult { var toolchainConfig interface{} var serverConfig interface{} - switch info.Server { + switch info.GetServer() { case "openocd": var openocdConf rpc.DebugOpenOCDServerConfiguration if err := info.GetServerConfiguration().UnmarshalTo(&openocdConf); err != nil { feedback.Fatal(tr("Error during Debug: %v", err), feedback.ErrGeneric) } serverConfig = &openOcdServerConfigResult{ - Path: openocdConf.Path, - ScriptsDir: openocdConf.ScriptsDir, - Scripts: openocdConf.Scripts, + Path: openocdConf.GetPath(), + ScriptsDir: openocdConf.GetScriptsDir(), + Scripts: openocdConf.GetScripts(), } } customConfigs := map[string]any{} @@ -158,17 +158,17 @@ func newDebugInfoResult(info *rpc.GetDebugConfigResponse) *debugInfoResult { } } return &debugInfoResult{ - Executable: info.Executable, - Toolchain: info.Toolchain, - ToolchainPath: info.ToolchainPath, - ToolchainPrefix: info.ToolchainPrefix, + Executable: info.GetExecutable(), + Toolchain: info.GetToolchain(), + ToolchainPath: info.GetToolchainPath(), + ToolchainPrefix: info.GetToolchainPrefix(), ToolchainConfig: toolchainConfig, - Server: info.Server, - ServerPath: info.ServerPath, + Server: info.GetServer(), + ServerPath: info.GetServerPath(), ServerConfig: serverConfig, - SvdFile: info.SvdFile, + SvdFile: info.GetSvdFile(), CustomConfigs: customConfigs, - Programmer: info.Programmer, + Programmer: info.GetProgrammer(), } } diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index 63291754fe7..242d5d632f2 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -103,28 +103,28 @@ func NewPlatformRelease(in *rpc.PlatformRelease) *PlatformRelease { return nil } var boards []*Board - for _, board := range in.Boards { + for _, board := range in.GetBoards() { boards = append(boards, &Board{ - Name: board.Name, - Fqbn: board.Fqbn, + Name: board.GetName(), + Fqbn: board.GetFqbn(), }) } var help *HelpResource - if in.Help != nil { + if in.GetHelp() != nil { help = &HelpResource{ - Online: in.Help.Online, + Online: in.GetHelp().GetOnline(), } } res := &PlatformRelease{ - Name: in.Name, - Version: in.Version, - Type: in.Type, - Installed: in.Installed, + Name: in.GetName(), + Version: in.GetVersion(), + Type: in.GetType(), + Installed: in.GetInstalled(), Boards: boards, Help: help, - MissingMetadata: in.MissingMetadata, - Deprecated: in.Deprecated, - Compatible: in.Compatible, + MissingMetadata: in.GetMissingMetadata(), + Deprecated: in.GetDeprecated(), + Compatible: in.GetCompatible(), } return res } @@ -751,13 +751,13 @@ func NewPlatformMetadata(p *rpc.PlatformMetadata) *PlatformMetadata { return nil } return &PlatformMetadata{ - Id: p.Id, - Maintainer: p.Maintainer, - Website: p.Website, - Email: p.Email, - ManuallyInstalled: p.ManuallyInstalled, - Deprecated: p.Deprecated, - Indexed: p.Indexed, + Id: p.GetId(), + Maintainer: p.GetMaintainer(), + Website: p.GetWebsite(), + Email: p.GetEmail(), + ManuallyInstalled: p.GetManuallyInstalled(), + Deprecated: p.GetDeprecated(), + Indexed: p.GetIndexed(), } } @@ -987,9 +987,9 @@ func NewBoardListWatchResponse(r *rpc.BoardListWatchResponse) *BoardListWatchRes return nil } return &BoardListWatchResponse{ - EventType: r.EventType, - Port: NewDetectedPort(r.Port), - Error: r.Error, + EventType: r.GetEventType(), + Port: NewDetectedPort(r.GetPort()), + Error: r.GetError(), } } diff --git a/internal/cli/instance/instance.go b/internal/cli/instance/instance.go index 60fbe8b54f7..0cd9e8ceb85 100644 --- a/internal/cli/instance/instance.go +++ b/internal/cli/instance/instance.go @@ -52,7 +52,7 @@ func create() (*rpc.Instance, error) { if err != nil { return nil, err } - return res.Instance, nil + return res.GetInstance(), nil } // Init initializes instance by loading installed libraries and platforms. @@ -79,15 +79,15 @@ func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *pat var profile *rpc.Profile err := commands.Init(initReq, func(res *rpc.InitResponse) { if st := res.GetError(); st != nil { - feedback.Warning(tr("Error initializing instance: %v", st.Message)) + feedback.Warning(tr("Error initializing instance: %v", st.GetMessage())) } if progress := res.GetInitProgress(); progress != nil { - if progress.DownloadProgress != nil { - downloadCallback(progress.DownloadProgress) + if progress.GetDownloadProgress() != nil { + downloadCallback(progress.GetDownloadProgress()) } - if progress.TaskProgress != nil { - taskCallback(progress.TaskProgress) + if progress.GetTaskProgress() != nil { + taskCallback(progress.GetTaskProgress()) } } diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index 729a202d98b..11fadebdbef 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -76,8 +76,8 @@ func runExamplesCommand(cmd *cobra.Command, args []string) { found := []*libraryExamples{} for _, lib := range res.GetInstalledLibraries() { found = append(found, &libraryExamples{ - Library: result.NewLibrary(lib.Library), - Examples: lib.Library.Examples, + Library: result.NewLibrary(lib.GetLibrary()), + Examples: lib.GetLibrary().GetExamples(), }) } diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index 8c489b102f5..27a69fd3d15 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -100,7 +100,7 @@ func GetList( libs = res.GetInstalledLibraries() } else { for _, lib := range res.GetInstalledLibraries() { - if lib.Library.CompatibleWith[fqbn.String()] { + if lib.GetLibrary().GetCompatibleWith()[fqbn.String()] { libs = append(libs, lib) } } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index c48fbfac0e0..5162cb01815 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -155,8 +155,8 @@ func runMonitorCmd( feedback.Fatal(tr("Error getting port settings details: %s", err), feedback.ErrGeneric) } if describe { - settings := make([]*result.MonitorPortSettingDescriptor, len(enumerateResp.Settings)) - for i, v := range enumerateResp.Settings { + settings := make([]*result.MonitorPortSettingDescriptor, len(enumerateResp.GetSettings())) + for i, v := range enumerateResp.GetSettings() { settings[i] = result.NewMonitorPortSettingDescriptor(v) } feedback.PrintResult(&detailsResult{Settings: settings}) @@ -177,13 +177,13 @@ func runMonitorCmd( var setting *rpc.MonitorPortSettingDescriptor for _, s := range enumerateResp.GetSettings() { if k == "" { - if contains(s.EnumValues, v) { + if contains(s.GetEnumValues(), v) { setting = s break } } else { - if strings.EqualFold(s.SettingId, k) { - if !contains(s.EnumValues, v) { + if strings.EqualFold(s.GetSettingId(), k) { + if !contains(s.GetEnumValues(), v) { feedback.Fatal(tr("invalid port configuration value for %s: %s", k, v), feedback.ErrBadArgument) } setting = s @@ -194,13 +194,13 @@ func runMonitorCmd( if setting == nil { feedback.Fatal(tr("invalid port configuration: %s", config), feedback.ErrBadArgument) } - configuration.Settings = append(configuration.Settings, &rpc.MonitorPortSetting{ - SettingId: setting.SettingId, + configuration.Settings = append(configuration.GetSettings(), &rpc.MonitorPortSetting{ + SettingId: setting.GetSettingId(), Value: v, }) if !quiet { feedback.Print(tr("Monitor port settings:")) - feedback.Print(fmt.Sprintf("%s=%s", setting.SettingId, v)) + feedback.Print(fmt.Sprintf("%s=%s", setting.GetSettingId(), v)) } } } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 7bbc868bf9b..7af3e4bcbfb 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -122,7 +122,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { userFieldRes, err := upload.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ Instance: inst, Fqbn: fqbn, - Protocol: port.Protocol, + Protocol: port.GetProtocol(), }) if err != nil { msg := tr("Error during Upload: %v", err) @@ -152,20 +152,20 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { } fields := map[string]string{} - if len(userFieldRes.UserFields) > 0 { + if len(userFieldRes.GetUserFields()) > 0 { if len(uploadFieldsArgs) > 0 { // If the user has specified some fields via cmd-line, we don't ask for them - for _, field := range userFieldRes.UserFields { - if value, ok := uploadFieldsArgs[field.Name]; ok { - fields[field.Name] = value + for _, field := range userFieldRes.GetUserFields() { + if value, ok := uploadFieldsArgs[field.GetName()]; ok { + fields[field.GetName()] = value } else { - feedback.Fatal(tr("Missing required upload field: %s", field.Name), feedback.ErrBadArgument) + feedback.Fatal(tr("Missing required upload field: %s", field.GetName()), feedback.ErrBadArgument) } } } else { // Otherwise prompt the user for them - feedback.Print(tr("Uploading to specified board using %s protocol requires the following info:", port.Protocol)) - if f, err := arguments.AskForUserFields(userFieldRes.UserFields); err != nil { + feedback.Print(tr("Uploading to specified board using %s protocol requires the following info:", port.GetProtocol())) + if f, err := arguments.AskForUserFields(userFieldRes.GetUserFields()); err != nil { msg := fmt.Sprintf("%s: %s", tr("Error getting user input"), err) feedback.Fatal(msg, feedback.ErrGeneric) } else { diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index c2b10f7e121..bf240fc19bd 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -409,7 +409,7 @@ func (cli *ArduinoCLI) Create() *ArduinoCLIInstance { logCallf(" -> %v\n", resp) return &ArduinoCLIInstance{ cli: cli, - instance: resp.Instance, + instance: resp.GetInstance(), } } diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 6c02b5f3b22..25df9e25aa2 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -75,7 +75,7 @@ func TestArduinoCliDaemon(t *testing.T) { return } require.NoError(t, err, "BoardListWatch grpc call returned an error") - require.Empty(t, msg.Error, "Board list watcher returned an error") + require.Empty(t, msg.GetError(), "Board list watcher returned an error") fmt.Printf("WATCH> %v %v\n", msg, err) } }() @@ -173,7 +173,7 @@ func TestDaemonCompileOptions(t *testing.T) { fmt.Println("COMPILE ERROR>", err) break } - if msg.ErrStream != nil { + if msg.GetErrStream() != nil { fmt.Printf("COMPILE> %v\n", string(msg.GetErrStream())) } } @@ -188,7 +188,7 @@ func TestDaemonCompileOptions(t *testing.T) { break } require.NoError(t, err) - if msg.ErrStream != nil { + if msg.GetErrStream() != nil { fmt.Printf("COMPILE> %v\n", string(msg.GetErrStream())) } analyzer.Process(msg.GetProgress()) @@ -196,7 +196,7 @@ func TestDaemonCompileOptions(t *testing.T) { // https://github.com/arduino/arduino-cli/issues/2016 // assert that the task progress is increasing and doesn't contain multiple 100% values results := analyzer.Results[""] - require.True(t, results[len(results)-1].Completed, fmt.Sprintf("latest percent value: %v", results[len(results)-1].Percent)) + require.True(t, results[len(results)-1].GetCompleted(), fmt.Sprintf("latest percent value: %v", results[len(results)-1].GetPercent())) require.IsNonDecreasing(t, f.Map(results, (*commands.TaskProgress).GetPercent)) } @@ -226,7 +226,7 @@ func TestDaemonCompileAfterFailedLibInstall(t *testing.T) { require.Contains(t, err.Error(), "Missing FQBN") break } - if msg.ErrStream != nil { + if msg.GetErrStream() != nil { fmt.Printf("COMPILE> %v\n", string(msg.GetErrStream())) } } @@ -254,7 +254,7 @@ func TestDaemonCoreUpdateIndex(t *testing.T) { res, err := analyzeUpdateIndexClient(t, cl) require.NoError(t, err) require.Len(t, res, 1) - require.True(t, res["https://downloads.arduino.cc/packages/package_index.tar.bz2"].Success) + require.True(t, res["https://downloads.arduino.cc/packages/package_index.tar.bz2"].GetSuccess()) } { cl, err := grpcInst.UpdateIndex(context.Background(), false) @@ -262,9 +262,9 @@ func TestDaemonCoreUpdateIndex(t *testing.T) { res, err := analyzeUpdateIndexClient(t, cl) require.Error(t, err) require.Len(t, res, 3) - require.True(t, res["https://downloads.arduino.cc/packages/package_index.tar.bz2"].Success) - require.True(t, res["http://arduino.esp8266.com/stable/package_esp8266com_index.json"].Success) - require.False(t, res["http://downloads.arduino.cc/package_inexistent_index.json"].Success) + require.True(t, res["https://downloads.arduino.cc/packages/package_index.tar.bz2"].GetSuccess()) + require.True(t, res["http://arduino.esp8266.com/stable/package_esp8266com_index.json"].GetSuccess()) + require.False(t, res["http://downloads.arduino.cc/package_inexistent_index.json"].GetSuccess()) } } @@ -297,7 +297,7 @@ func TestDaemonBundleLibInstall(t *testing.T) { require.NoError(t, err) libsAndLocation := map[string]commands.LibraryLocation{} for _, lib := range resp.GetInstalledLibraries() { - libsAndLocation[lib.Library.Name] = lib.Library.Location + libsAndLocation[lib.GetLibrary().GetName()] = lib.GetLibrary().GetLocation() } require.Contains(t, libsAndLocation, "Ethernet") require.Contains(t, libsAndLocation, "SD") @@ -328,9 +328,9 @@ func TestDaemonBundleLibInstall(t *testing.T) { require.NoError(t, err) libsAndLocation := map[string]commands.LibraryLocation{} for _, lib := range resp.GetInstalledLibraries() { - libsAndLocation[lib.Library.Name] = lib.Library.Location - if lib.Library.Name == "Ethernet" { - installedEthernetVersion = lib.Library.Version + libsAndLocation[lib.GetLibrary().GetName()] = lib.GetLibrary().GetLocation() + if lib.GetLibrary().GetName() == "Ethernet" { + installedEthernetVersion = lib.GetLibrary().GetVersion() } } require.Contains(t, libsAndLocation, "Ethernet") @@ -361,7 +361,7 @@ func TestDaemonBundleLibInstall(t *testing.T) { require.NoError(t, err) libsAndLocation := map[string]commands.LibraryLocation{} for _, lib := range resp.GetInstalledLibraries() { - libsAndLocation[lib.Library.Name] = lib.Library.Location + libsAndLocation[lib.GetLibrary().GetName()] = lib.GetLibrary().GetLocation() } require.Contains(t, libsAndLocation, "Ethernet") require.Contains(t, libsAndLocation, "SD") @@ -447,7 +447,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { res, err := analyzeUpdateIndexClient(t, cl) require.NoError(t, err) require.Len(t, res, 2) - require.True(t, res["https://arduino.esp8266.com/stable/package_esp8266com_index.json"].Success) + require.True(t, res["https://arduino.esp8266.com/stable/package_esp8266com_index.json"].GetSuccess()) refreshInstance(t, grpcInst) @@ -477,8 +477,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.NoError(t, upgradeError) require.NotNil(t, platform) - require.True(t, platform.Metadata.Indexed) // the esp866 is present in the additional-urls - require.False(t, platform.Release.MissingMetadata) // install.json is present + require.True(t, platform.GetMetadata().GetIndexed()) // the esp866 is present in the additional-urls + require.False(t, platform.GetRelease().GetMissingMetadata()) // install.json is present }) t.Run("and install.json is missing", func(t *testing.T) { env, cli := createEnvForDaemon(t) @@ -497,8 +497,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.NoError(t, upgradeError) require.NotNil(t, platform) - require.True(t, platform.Metadata.Indexed) // the esp866 is not present in the additional-urls - require.False(t, platform.Release.MissingMetadata) // install.json is present because the old version got upgraded + require.True(t, platform.GetMetadata().GetIndexed()) // the esp866 is not present in the additional-urls + require.False(t, platform.GetRelease().GetMissingMetadata()) // install.json is present because the old version got upgraded }) }) @@ -520,8 +520,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.ErrorIs(t, upgradeError, (&arduino.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) require.NotNil(t, platform) - require.False(t, platform.Metadata.Indexed) // the esp866 is not present in the additional-urls - require.False(t, platform.Release.MissingMetadata) // install.json is present + require.False(t, platform.GetMetadata().GetIndexed()) // the esp866 is not present in the additional-urls + require.False(t, platform.GetRelease().GetMissingMetadata()) // install.json is present }) t.Run("missing both additional URLs and install.json", func(t *testing.T) { env, cli := createEnvForDaemon(t) @@ -545,8 +545,8 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) require.ErrorIs(t, upgradeError, (&arduino.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) require.NotNil(t, platform) - require.False(t, platform.Metadata.Indexed) // the esp866 is not present in the additional-urls - require.True(t, platform.Release.MissingMetadata) // install.json is present + require.False(t, platform.GetMetadata().GetIndexed()) // the esp866 is not present in the additional-urls + require.True(t, platform.GetRelease().GetMissingMetadata()) // install.json is present }) }) } diff --git a/internal/integrationtest/daemon/download_progress_test.go b/internal/integrationtest/daemon/download_progress_test.go index a232abec033..b67bde71ab8 100644 --- a/internal/integrationtest/daemon/download_progress_test.go +++ b/internal/integrationtest/daemon/download_progress_test.go @@ -45,7 +45,7 @@ func (a *DownloadProgressAnalyzer) Process(progress *commands.DownloadProgress) } if start := progress.GetStart(); start != nil { require.Empty(a.t, a.ongoingDownload, "DownloadProgressStart: started a download without 'completing' the previous one") - a.ongoingDownload = start.Url + a.ongoingDownload = start.GetUrl() } else if update := progress.GetUpdate(); update != nil { require.NotEmpty(a.t, a.ongoingDownload, "DownloadProgressUpdate: received update, but the download is not yet started...") } else if end := progress.GetEnd(); end != nil { diff --git a/rpc/cc/arduino/cli/commands/v1/common.go b/rpc/cc/arduino/cli/commands/v1/common.go index a04ebff193f..529c6dfdfb4 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.go +++ b/rpc/cc/arduino/cli/commands/v1/common.go @@ -72,19 +72,19 @@ type InstanceCommand interface { // GetLatestRelease returns the latest release in this PlatformSummary, // or nil if not available. func (s *PlatformSummary) GetLatestRelease() *PlatformRelease { - if s.LatestVersion == "" { + if s.GetLatestVersion() == "" { return nil } - return s.Releases[s.LatestVersion] + return s.GetReleases()[s.GetLatestVersion()] } // GetInstalledRelease returns the latest release in this PlatformSummary, // or nil if not available. func (s *PlatformSummary) GetInstalledRelease() *PlatformRelease { - if s.InstalledVersion == "" { + if s.GetInstalledVersion() == "" { return nil } - return s.Releases[s.InstalledVersion] + return s.GetReleases()[s.GetInstalledVersion()] } // GetSortedReleases returns the releases in order of version. @@ -94,7 +94,7 @@ func (s *PlatformSummary) GetSortedReleases() []*PlatformRelease { res = append(res, release) } sort.SliceStable(res, func(i, j int) bool { - return semver.ParseRelaxed(res[i].Version).LessThan(semver.ParseRelaxed(res[j].Version)) + return semver.ParseRelaxed(res[i].GetVersion()).LessThan(semver.ParseRelaxed(res[j].GetVersion())) }) return res } From 3d88eff554033423c3711afa1be1ce69221fd2db Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 13 Nov 2023 16:34:33 +0100 Subject: [PATCH 030/361] Added `programmer.default` directive to set a default programmer for a board. (#2416) * Updated gRPC API * Implemented default programmer for boards * Added default programmer in board details CLI command * Implemented default programmer functionality in CLI * Added docs --- arduino/cores/board.go | 7 + commands/board/details.go | 1 + docs/platform-specification.md | 18 + internal/cli/arguments/programmer.go | 28 +- internal/cli/board/details.go | 10 +- internal/cli/burnbootloader/burnbootloader.go | 2 +- internal/cli/compile/compile.go | 2 +- internal/cli/debug/debug.go | 2 +- internal/cli/feedback/result/rpc.go | 2 + internal/cli/upload/upload.go | 2 +- rpc/cc/arduino/cli/commands/v1/board.pb.go | 326 +++++++++--------- rpc/cc/arduino/cli/commands/v1/board.proto | 2 + rpc/cc/arduino/cli/commands/v1/common.pb.go | 7 +- rpc/cc/arduino/cli/commands/v1/common.proto | 3 + 14 files changed, 242 insertions(+), 170 deletions(-) diff --git a/arduino/cores/board.go b/arduino/cores/board.go index 8a41a8fb198..312a3b81e76 100644 --- a/arduino/cores/board.go +++ b/arduino/cores/board.go @@ -241,3 +241,10 @@ func (b *Board) IdentifyBoardConfiguration(query *properties.Map) *properties.Ma } return res } + +// GetDefaultProgrammerID returns the board's default programmer as +// defined in 'programmer.default' property of the board. If the board +// has no default programmer the empty string is returned. +func (b *Board) GetDefaultProgrammerID() string { + return b.Properties.Get("programmer.default") +} diff --git a/commands/board/details.go b/commands/board/details.go index 90fabcae49d..592f8de9bfb 100644 --- a/commands/board/details.go +++ b/commands/board/details.go @@ -140,6 +140,7 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai }) } + details.DefaultProgrammerId = board.GetDefaultProgrammerID() details.Programmers = []*rpc.Programmer{} for id, p := range boardPlatformRelease.Programmers { details.Programmers = append(details.GetProgrammers(), &rpc.Programmer{ diff --git a/docs/platform-specification.md b/docs/platform-specification.md index 83fbf4279ff..43d778a6d1d 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -728,6 +728,24 @@ the [board and core platform](#platform-terminology) of the currently selected b platforms may now need to define copies of the programmers that were previously assumed to be provided by another platform. +### Set a default programmer for a board (since Arduino CLI >=0.35.0, Arduino IDE >=2.3.0) + +A default programmer for each board may be specified through the `programmer.default` directive in the board definition: + +``` +BOARD_ID.programmer.default=PROGRAMMER_ID +``` + +The default programmer will be selected automatically if the user do not specifiy or select another programmer. This may +be useful for boards with an on-board programmer/debugger. + +For example if we want to set Atmel ICE as the default programmer for the Arduino UNO we would add the following line to +the `boards.txt` file: + +``` +uno.programmer.default=atmel-ice +``` + ## Tools The Arduino development software uses external command line tools to upload the compiled sketch to the board or to burn diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index 4cb00edd8d9..6d337c93576 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -15,7 +15,13 @@ package arguments -import "github.com/spf13/cobra" +import ( + "context" + + "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/spf13/cobra" +) // Programmer contains the programmer flag data. // This is useful so all flags used by commands that need @@ -32,7 +38,21 @@ func (p *Programmer) AddToCommand(cmd *cobra.Command) { }) } -// String returns the programmer -func (p *Programmer) String() string { - return p.programmer +// String returns the programmer specified by the user, or the default programmer +// for the given board if defined. +func (p *Programmer) String(inst *commands.Instance, fqbn string) string { + if p.programmer != "" { + return p.programmer + } + if inst == nil || fqbn == "" { + return "" + } + details, err := board.Details(context.Background(), &commands.BoardDetailsRequest{ + Instance: inst, + Fqbn: fqbn, + }) + if err != nil { + return "" + } + return details.GetDefaultProgrammerId() } diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 6ce3ed7143c..ff690e0f339 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -197,11 +197,11 @@ func (dr detailsResult) String() string { } } + green := color.New(color.FgGreen) tab.AddRow() // get some space from above for _, option := range details.ConfigOptions { tab.AddRow(tr("Option:"), option.OptionLabel, "", option.Option) for _, value := range option.Values { - green := color.New(color.FgGreen) if value.Selected { tab.AddRow("", table.NewCell(value.ValueLabel, green), @@ -216,9 +216,13 @@ func (dr detailsResult) String() string { } } - tab.AddRow(tr("Programmers:"), tr("ID"), tr("Name")) + tab.AddRow(tr("Programmers:"), tr("ID"), tr("Name"), "") for _, programmer := range details.Programmers { - tab.AddRow("", programmer.Id, programmer.Name) + if programmer.Id == details.DefaultProgrammerID { + tab.AddRow("", table.NewCell(programmer.Id, green), table.NewCell(programmer.Name, green), table.NewCell("✔ (default)", green)) + } else { + tab.AddRow("", programmer.Id, programmer.Name) + } } return t.Render() + tab.Render() diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 23cd9a5006e..ce2befcdfd2 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -79,7 +79,7 @@ func runBootloaderCommand(command *cobra.Command, args []string) { Port: discoveryPort, Verbose: verbose, Verify: verify, - Programmer: programmer.String(), + Programmer: programmer.String(instance, fqbn.String()), DryRun: dryRun, }, stdOut, stdErr); err != nil { feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index b6a2bafd060..6499629bead 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -276,7 +276,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { Verbose: verbose, Verify: verify, ImportDir: buildPath, - Programmer: programmer.String(), + Programmer: programmer.String(inst, fqbn), UserFields: fields, } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index c5b72d2e841..3c1fd6f25ae 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -87,7 +87,7 @@ func runDebugCommand(command *cobra.Command, args []string) { Port: port, Interpreter: interpreter, ImportDir: importDir, - Programmer: programmer.String(), + Programmer: programmer.String(instance, fqbn), } if printInfo { diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index 242d5d632f2..92f2d7e6fdb 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -418,6 +418,7 @@ type BoardDetailsResponse struct { DebuggingSupported bool `json:"debugging_supported,omitempty"` IdentificationProperties []*BoardIdentificationProperties `json:"identification_properties,omitempty"` BuildProperties []string `json:"build_properties,omitempty"` + DefaultProgrammerID string `json:"default_programmer_id,omitempty"` } func NewBoardDetailsResponse(b *rpc.BoardDetailsResponse) *BoardDetailsResponse { @@ -440,6 +441,7 @@ func NewBoardDetailsResponse(b *rpc.BoardDetailsResponse) *BoardDetailsResponse DebuggingSupported: b.GetDebuggingSupported(), IdentificationProperties: NewBoardIdentificationProperties(b.GetIdentificationProperties()), BuildProperties: b.GetBuildProperties(), + DefaultProgrammerID: b.GetDefaultProgrammerId(), } } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 7af3e4bcbfb..94c57ffbc2f 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -188,7 +188,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { Verify: verify, ImportFile: importFile, ImportDir: importDir, - Programmer: programmer.String(), + Programmer: programmer.String(inst, fqbn), DryRun: dryRun, UserFields: fields, } diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index c5a7a6b1601..3694278c5b6 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -139,6 +139,8 @@ type BoardDetailsResponse struct { IdentificationProperties []*BoardIdentificationProperties `protobuf:"bytes,15,rep,name=identification_properties,json=identificationProperties,proto3" json:"identification_properties,omitempty"` // Board build properties used for compiling BuildProperties []string `protobuf:"bytes,16,rep,name=build_properties,json=buildProperties,proto3" json:"build_properties,omitempty"` + // Default programmer for the board + DefaultProgrammerId string `protobuf:"bytes,17,opt,name=default_programmer_id,json=defaultProgrammerId,proto3" json:"default_programmer_id,omitempty"` } func (x *BoardDetailsResponse) Reset() { @@ -278,6 +280,13 @@ func (x *BoardDetailsResponse) GetBuildProperties() []string { return nil } +func (x *BoardDetailsResponse) GetDefaultProgrammerId() string { + if x != nil { + return x.DefaultProgrammerId + } + return "" +} + type BoardIdentificationProperties struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1474,7 +1483,7 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x9a, 0x06, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xce, 0x06, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -1524,166 +1533,169 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x22, 0xc9, 0x01, 0x0a, 0x1d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0xbc, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, - 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, - 0x0b, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x1d, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xbc, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, + 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, + 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x04, + 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x04, 0x68, 0x65, + 0x6c, 0x70, 0x22, 0x1e, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, + 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x22, 0x1e, - 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xd0, - 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, - 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, - 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x22, 0x8a, 0x01, 0x0a, 0x07, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x8a, 0x01, - 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x0b, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x82, 0x01, 0x0a, - 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, - 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, - 0x6e, 0x22, 0x53, 0x0a, 0x11, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, - 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65, 0x63, - 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x07, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x07, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, + 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3f, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x60, + 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x22, 0x82, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, + 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, + 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x53, 0x0a, 0x11, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, - 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, - 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x15, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x3c, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, - 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, - 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1b, - 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, + 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x44, + 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, + 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, + 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xab, 0x01, - 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, - 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x58, 0x0a, 0x13, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, + 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, + 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, + 0x59, 0x0a, 0x15, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, + 0x62, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, + 0x40, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, + 0x58, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, + 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, + 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/board.proto b/rpc/cc/arduino/cli/commands/v1/board.proto index fd1e5dc3825..76b4de30408 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.proto +++ b/rpc/cc/arduino/cli/commands/v1/board.proto @@ -65,6 +65,8 @@ message BoardDetailsResponse { repeated BoardIdentificationProperties identification_properties = 15; // Board build properties used for compiling repeated string build_properties = 16; + // Default programmer for the board + string default_programmer_id = 17; } message BoardIdentificationProperties { diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 28bc1b6ed68..65c53f6f5ad 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -430,9 +430,12 @@ type Programmer struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Platform name Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + // Programmer ID + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Programmer name + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } func (x *Programmer) Reset() { diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 9a324985d54..2565549d724 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -66,8 +66,11 @@ message TaskProgress { } message Programmer { + // Platform name string platform = 1; + // Programmer ID string id = 2; + // Programmer name string name = 3; } From 862a4cb34969be0d6fa2f90ffedebd1ac9d37d72 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 14 Nov 2023 10:52:53 +0100 Subject: [PATCH 031/361] [skip-changelog] Removed useless file-readable check while enumerating source code files (#2418) * Removed useless file filter * Removed unused variable --- arduino/builder/internal/utils/utils.go | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/arduino/builder/internal/utils/utils.go b/arduino/builder/internal/utils/utils.go index efd40b307ea..8746623a821 100644 --- a/arduino/builder/internal/utils/utils.go +++ b/arduino/builder/internal/utils/utils.go @@ -20,7 +20,6 @@ import ( "strings" "unicode" - "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" "github.com/pkg/errors" @@ -30,8 +29,6 @@ import ( "golang.org/x/text/unicode/norm" ) -var tr = i18n.Tr - // ObjFileIsUpToDate fixdoc func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool, error) { logrus.Debugf("Checking previous results for %v (result = %v, dep = %v)", sourceFile, objectFile, dependencyFile) @@ -160,17 +157,6 @@ func filterOutSCCS(file *paths.Path) bool { return !sourceControlFolders[file.Base()] } -// filterReadableFiles is a ReadDirFilter that accepts only readable files -func filterReadableFiles(file *paths.Path) bool { - // See if the file is readable by opening it - f, err := file.Open() - if err != nil { - return false - } - f.Close() - return true -} - // filterOutHiddenFiles is a ReadDirFilter that exclude files with a "." prefix in their name var filterOutHiddenFiles = paths.FilterOutPrefixes(".") @@ -180,7 +166,6 @@ func FindFilesInFolder(dir *paths.Path, recurse bool, extensions ...string) (pat filterOutHiddenFiles, filterOutSCCS, paths.FilterOutDirectories(), - filterReadableFiles, ) if len(extensions) > 0 { fileFilter = paths.AndFilter( From e9028b929f26098ff9f15329f037044eed659173 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 14 Nov 2023 11:24:40 +0100 Subject: [PATCH 032/361] Make yaml output consistent with the json one (#2417) --- .licensed.yml | 2 + .licenses/go/sigs.k8s.io/yaml.dep.yml | 317 ++++++++++ .../go/sigs.k8s.io/yaml/goyaml.v2.dep.yml | 571 ++++++++++++++++++ go.mod | 1 + go.sum | 2 + internal/cli/feedback/feedback.go | 2 +- 6 files changed, 894 insertions(+), 1 deletion(-) create mode 100644 .licenses/go/sigs.k8s.io/yaml.dep.yml create mode 100644 .licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml diff --git a/.licensed.yml b/.licensed.yml index daba0633f27..39dac817d96 100644 --- a/.licensed.yml +++ b/.licensed.yml @@ -63,6 +63,8 @@ reviewed: - golang.org/x/text/encoding/unicode - golang.org/x/text/internal/utf8internal - github.com/sagikazarmark/slog-shim + - sigs.k8s.io/yaml + - sigs.k8s.io/yaml/goyaml.v2 # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-dependencies/GPL-3.0/.licensed.yml allowed: diff --git a/.licenses/go/sigs.k8s.io/yaml.dep.yml b/.licenses/go/sigs.k8s.io/yaml.dep.yml new file mode 100644 index 00000000000..75c8789ff5d --- /dev/null +++ b/.licenses/go/sigs.k8s.io/yaml.dep.yml @@ -0,0 +1,317 @@ +--- +name: sigs.k8s.io/yaml +version: v1.4.0 +type: go +summary: +homepage: https://pkg.go.dev/sigs.k8s.io/yaml +license: other +licenses: +- sources: LICENSE + text: | + The MIT License (MIT) + + Copyright (c) 2014 Sam Ghods + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + + Copyright (c) 2012 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + # The forked go-yaml.v3 library under this project is covered by two + different licenses (MIT and Apache): + + #### MIT License #### + + The following files were ported to Go from C files of libyaml, and thus + are still covered by their original MIT license, with the additional + copyright staring in 2011 when the project was ported over: + + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go + + Copyright (c) 2006-2010 Kirill Simonov + Copyright (c) 2006-2011 Kirill Simonov + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + ### Apache License ### + + All the remaining project files are covered by the Apache license: + + Copyright (c) 2011-2019 Canonical Ltd + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + # The forked go-yaml.v2 library under the project is covered by an + Apache license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml b/.licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml new file mode 100644 index 00000000000..685cc250260 --- /dev/null +++ b/.licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml @@ -0,0 +1,571 @@ +--- +name: sigs.k8s.io/yaml/goyaml.v2 +version: v1.4.0 +type: go +summary: Package yaml implements YAML support for the Go language. +homepage: https://pkg.go.dev/sigs.k8s.io/yaml/goyaml.v2 +license: other +licenses: +- sources: LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: yaml@v1.4.0/LICENSE + text: | + The MIT License (MIT) + + Copyright (c) 2014 Sam Ghods + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + + Copyright (c) 2012 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + # The forked go-yaml.v3 library under this project is covered by two + different licenses (MIT and Apache): + + #### MIT License #### + + The following files were ported to Go from C files of libyaml, and thus + are still covered by their original MIT license, with the additional + copyright staring in 2011 when the project was ported over: + + apic.go emitterc.go parserc.go readerc.go scannerc.go + writerc.go yamlh.go yamlprivateh.go + + Copyright (c) 2006-2010 Kirill Simonov + Copyright (c) 2006-2011 Kirill Simonov + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. + + ### Apache License ### + + All the remaining project files are covered by the Apache license: + + Copyright (c) 2011-2019 Canonical Ltd + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + # The forked go-yaml.v2 library under the project is covered by an + Apache license: + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: LICENSE.libyaml + text: | + The following files were ported to Go from C files of libyaml, and thus + are still covered by their original copyright and license: + + apic.go + emitterc.go + parserc.go + readerc.go + scannerc.go + writerc.go + yamlh.go + yamlprivateh.go + + Copyright (c) 2006 Kirill Simonov + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + of the Software, and to permit persons to whom the Software is furnished to do + so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +- sources: README.md + text: The yaml package is licensed under the Apache License 2.0. Please see the + LICENSE file for details. +notices: +- sources: NOTICE + text: |- + Copyright 2011-2016 Canonical Ltd. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/go.mod b/go.mod index 9d49c229596..3ebbb7921c2 100644 --- a/go.mod +++ b/go.mod @@ -45,6 +45,7 @@ require ( google.golang.org/grpc v1.59.0 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 + sigs.k8s.io/yaml v1.4.0 ) require ( diff --git a/go.sum b/go.sum index 9ae688ef114..35ee6d33ed7 100644 --- a/go.sum +++ b/go.sum @@ -914,3 +914,5 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/internal/cli/feedback/feedback.go b/internal/cli/feedback/feedback.go index 17383e1ba3a..0beb6c0c10c 100644 --- a/internal/cli/feedback/feedback.go +++ b/internal/cli/feedback/feedback.go @@ -26,7 +26,7 @@ import ( "github.com/arduino/arduino-cli/i18n" "github.com/sirupsen/logrus" - "gopkg.in/yaml.v3" + "sigs.k8s.io/yaml" ) // OutputFormat is an output format From 7a146635aaa740e748b84bf8fbfdccf1cc420c61 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 14 Nov 2023 11:45:07 +0100 Subject: [PATCH 033/361] Remove no longer need comment (#2420) --- arduino/resources/install.go | 6 ------ 1 file changed, 6 deletions(-) diff --git a/arduino/resources/install.go b/arduino/resources/install.go index 6b7c09bb9e1..4c98b4be37d 100644 --- a/arduino/resources/install.go +++ b/arduino/resources/install.go @@ -97,12 +97,6 @@ func (release *DownloadResource) Install(downloadDir, tempPath, destDir *paths.P } } - // TODO - // // Create a package file - // if err := createPackageFile(destDir); err != nil { - // return err - // } - return nil } From 354464fe5d785e532453100dbd0b11e67418ee32 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 14 Nov 2023 12:05:58 +0100 Subject: [PATCH 034/361] make `boards details` JSON output deterministic (#2419) --- internal/cli/feedback/result/rpc.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index 92f2d7e6fdb..82e172f329d 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -18,6 +18,7 @@ package result import ( "cmp" "fmt" + "slices" "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" @@ -425,6 +426,8 @@ func NewBoardDetailsResponse(b *rpc.BoardDetailsResponse) *BoardDetailsResponse if b == nil { return nil } + buildProperties := b.GetBuildProperties() + slices.Sort(buildProperties) return &BoardDetailsResponse{ Fqbn: b.GetFqbn(), Name: b.GetName(), @@ -440,7 +443,7 @@ func NewBoardDetailsResponse(b *rpc.BoardDetailsResponse) *BoardDetailsResponse Programmers: NewProgrammers(b.GetProgrammers()), DebuggingSupported: b.GetDebuggingSupported(), IdentificationProperties: NewBoardIdentificationProperties(b.GetIdentificationProperties()), - BuildProperties: b.GetBuildProperties(), + BuildProperties: buildProperties, DefaultProgrammerID: b.GetDefaultProgrammerId(), } } @@ -636,6 +639,10 @@ func NewProgrammers(c []*rpc.Programmer) []*Programmer { for i, v := range c { res[i] = NewProgrammer(v) } + + slices.SortFunc(res, func(a, b *Programmer) int { + return cmp.Compare(a.Id, b.Id) + }) return res } From 7f1def185496b2c581915202ca19de05189ca55d Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 14 Nov 2023 17:27:27 +0100 Subject: [PATCH 035/361] Remove debug hotfix for arduino:samd@1.8.8/9 (#2421) --- commands/board/details.go | 5 +- commands/debug/debug_info.go | 15 --- internal/integrationtest/board/board_test.go | 115 ++++++++++--------- 3 files changed, 60 insertions(+), 75 deletions(-) diff --git a/commands/board/details.go b/commands/board/details.go index 592f8de9bfb..872e5e92da9 100644 --- a/commands/board/details.go +++ b/commands/board/details.go @@ -66,10 +66,7 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai details.DebuggingSupported = boardProperties.ContainsKey("debug.executable") || boardPlatformRelease.Properties.ContainsKey("debug.executable") || - (boardRefPlatform != nil && boardRefPlatform.Properties.ContainsKey("debug.executable")) || - // HOTFIX: Remove me when the `arduino:samd` core is updated - boardPlatformRelease.String() == "arduino:samd@1.8.9" || - boardPlatformRelease.String() == "arduino:samd@1.8.8" + (boardRefPlatform != nil && boardRefPlatform.Properties.ContainsKey("debug.executable")) details.Package = &rpc.Package{ Name: boardPackage.Name, diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 0a0598b7af5..deccd59b89c 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -84,21 +84,6 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl toolProperties.Merge(platformRelease.RuntimeProperties()) toolProperties.Merge(boardProperties) - // HOTFIX: Remove me when the `arduino:samd` core is updated - // (remember to remove it also in arduino/board/details.go) - if !toolProperties.ContainsKey("debug.executable") { - if platformRelease.String() == "arduino:samd@1.8.9" || platformRelease.String() == "arduino:samd@1.8.8" { - toolProperties.Set("debug.executable", "{build.path}/{build.project_name}.elf") - toolProperties.Set("debug.toolchain", "gcc") - toolProperties.Set("debug.toolchain.path", "{runtime.tools.arm-none-eabi-gcc-7-2017q4.path}/bin/") - toolProperties.Set("debug.toolchain.prefix", "arm-none-eabi-") - toolProperties.Set("debug.server", "openocd") - toolProperties.Set("debug.server.openocd.path", "{runtime.tools.openocd-0.10.0-arduino7.path}/bin/openocd") - toolProperties.Set("debug.server.openocd.scripts_dir", "{runtime.tools.openocd-0.10.0-arduino7.path}/share/openocd/scripts/") - toolProperties.Set("debug.server.openocd.script", "{runtime.platform.path}/variants/{build.variant}/{build.openocdscript}") - } - } - for _, tool := range pme.GetAllInstalledToolsReleases() { toolProperties.Merge(tool.RuntimeProperties()) } diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index f4759f5b861..239c4813860 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -275,8 +275,8 @@ func TestBoardDetails(t *testing.T) { _, _, err := cli.Run("core", "update-index") require.NoError(t, err) - // Download samd core pinned to 1.8.6 - _, _, err = cli.Run("core", "install", "arduino:samd@1.8.6") + // Download samd core pinned to 1.8.13 + _, _, err = cli.Run("core", "install", "arduino:samd@1.8.13") require.NoError(t, err) // Test board listall with and without showing hidden elements @@ -298,70 +298,73 @@ func TestBoardDetails(t *testing.T) { require.NoError(t, err) requirejson.Contains(t, stdout, `{ - "fqbn": "arduino:samd:nano_33_iot", - "name": "Arduino NANO 33 IoT", - "version": "1.8.6", - "properties_id": "nano_33_iot", - "official": true, - "package": { - "maintainer": "Arduino", - "url": "https://downloads.arduino.cc/packages/package_index.tar.bz2", - "website_url": "http://www.arduino.cc/", - "email": "packages@arduino.cc", - "name": "arduino", - "help": { - "online": "http://www.arduino.cc/en/Reference/HomePage" - } - }, - "platform": { - "architecture": "samd", - "category": "Arduino", - "url": "http://downloads.arduino.cc/cores/samd-1.8.6.tar.bz2", - "archive_filename": "samd-1.8.6.tar.bz2", - "checksum": "SHA-256:68a4fffa6fe6aa7886aab2e69dff7d3f94c02935bbbeb42de37f692d7daf823b", - "size": 2980953, + "fqbn": "arduino:samd:nano_33_iot", + "name": "Arduino NANO 33 IoT", + "version": "1.8.13", + "properties_id": "nano_33_iot", + "official": true, + "package": { + "maintainer": "Arduino", + "url": "https://downloads.arduino.cc/packages/package_index.tar.bz2", + "website_url": "http://www.arduino.cc/", + "email": "packages@arduino.cc", + "name": "arduino", + "help": { + "online": "http://www.arduino.cc/en/Reference/HomePage" + } + }, + "platform": { + "architecture": "samd", + "category": "Arduino", + "url": "http://downloads.arduino.cc/cores/core-ArduinoCore-samd-1.8.13.tar.bz2", + "archive_filename": "core-ArduinoCore-samd-1.8.13.tar.bz2", + "checksum": "SHA-256:47d44c80a5fd4ea224eb64fd676169e896caa6856f338d78feb4a12d42b4ea67", + "size": 3074191, "name": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)" - }, - "identification_properties": [ + }, + "programmers": [ { - "properties": { - "vid": "0x2341", - "pid": "0x8057" - } + "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", + "id": "jlink", + "name": "Segger J-Link" }, { - "properties": { - "vid": "0x2341", - "pid": "0x0057" - } + "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", + "id": "edbg", + "name": "Atmel EDBG" + }, + { + "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", + "id": "atmel_ice", + "name": "Atmel-ICE" + }, + { + "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", + "id": "sam_ice", + "name": "Atmel SAM-ICE" } - ], - "programmers": [ - { - "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", - "id": "edbg", - "name": "Atmel EDBG" + ], + "debugging_supported": true, + "identification_properties": [ + { + "properties": { + "pid": "0x8057", + "vid": "0x2341" + } }, { - "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", - "id": "atmel_ice", - "name": "Atmel-ICE" + "properties": { + "pid": "0x0057", + "vid": "0x2341" + } }, { - "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", - "id": "sam_ice", - "name": "Atmel SAM-ICE" + "properties": { + "board": "nano_33_iot" + } } - ] - }`) - - // Download samd core pinned to 1.8.8 - _, _, err = cli.Run("core", "install", "arduino:samd@1.8.8") - require.NoError(t, err) - - stdout, _, err = cli.Run("board", "details", "-b", "arduino:samd:nano_33_iot", "--format", "json") - require.NoError(t, err) - requirejson.Contains(t, stdout, `{"debugging_supported": true}`) + ] + }`) } func TestBoardDetailsNoFlags(t *testing.T) { From 6c86fa21aed98559f6da1b91c39a5a221c35169d Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 14 Nov 2023 17:34:54 +0100 Subject: [PATCH 036/361] Use mocked serial discovery in TestBoardListWithFqbnFilter (#2425) --- internal/integrationtest/board/board_test.go | 30 ++++++++------------ 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index 239c4813860..66851b828d5 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -16,7 +16,6 @@ package board_test import ( - "os" "runtime" "strings" "testing" @@ -73,15 +72,14 @@ func TestCorrectBoardListOrdering(t *testing.T) { } func TestBoardList(t *testing.T) { - if os.Getenv("CI") != "" { - t.Skip("VMs have no serial ports") - } - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() _, _, err := cli.Run("core", "update-index") require.NoError(t, err) + + cli.InstallMockedSerialDiscovery(t) + stdout, _, err := cli.Run("board", "list", "--format", "json") require.NoError(t, err) // check is a valid json and contains a list of ports @@ -130,32 +128,28 @@ func TestBoardListMock(t *testing.T) { } func TestBoardListWithFqbnFilter(t *testing.T) { - if os.Getenv("CI") != "" { - t.Skip("VMs have no serial ports") - } - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() _, _, err := cli.Run("core", "update-index") require.NoError(t, err) + + cli.InstallMockedSerialDiscovery(t) + stdout, _, err := cli.Run("board", "list", "-b", "foo:bar:baz", "--format", "json") require.NoError(t, err) - // this is a bit of a passpartout test, it actually filters the "bluetooth boards" locally - // but it would succeed even if the filtering wasn't working properly - // TODO: find a way to simulate connected boards or create a unit test which - // mocks or initializes multiple components - requirejson.Query(t, stdout, `.boards | length`, `0`) + requirejson.Query(t, stdout, `.detected_ports | length`, `0`) } func TestBoardListWithFqbnFilterInvalid(t *testing.T) { - if os.Getenv("CI") != "" { - t.Skip("VMs have no serial ports") - } - env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + + cli.InstallMockedSerialDiscovery(t) + _, stderr, err := cli.Run("board", "list", "-b", "yadayada", "--format", "json") require.Error(t, err) requirejson.Query(t, stderr, ".error", `"Invalid FQBN: not an FQBN: yadayada"`) From 976e06f32dc27ae298dda88ee00930487bd25a19 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 15 Nov 2023 15:24:11 +0100 Subject: [PATCH 037/361] [skip-changelog] Improved logging on GitHub Actions runners (using log folding commands) (#2414) * Improve gh-actions output by folding integration-test output * Reduce build verbosity (not needed in GH actions logs) --- Taskfile.yml | 2 +- internal/integrationtest/arduino-cli.go | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Taskfile.yml b/Taskfile.yml index a3a8d5ab5a0..0616b126024 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -48,7 +48,7 @@ tasks: desc: Build the Go code dir: '{{default "./" .GO_MODULE_PATH}}' cmds: - - go build -v {{default "" .EXTRA_FLAGS}} {{.LDFLAGS}} + - go build {{default "" .EXTRA_FLAGS}} {{.LDFLAGS}} # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/deploy-cobra-mkdocs-versioned-poetry/Taskfile.yml go:cli-docs: diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index bf240fc19bd..2f1f7c57842 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -298,6 +298,13 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader if cli.cliConfigPath != nil { args = append([]string{"--config-file", cli.cliConfigPath.String()}, args...) } + + // Github-actions workflow tags to fold log lines + if os.Getenv("GITHUB_ACTIONS") != "" { + fmt.Printf("::group::Running %s\n", strings.Join(args, " ")) + defer fmt.Println("::endgroup::") + } + fmt.Println(color.HiBlackString(">>> Running: ") + color.HiYellowString("%s %s", cli.path, strings.Join(args, " "))) cliProc, err := executils.NewProcessFromPath(cli.convertEnvForExecutils(env), cli.path, args...) cli.t.NoError(err) From bd2d886a1663e9099eebc7e472644cf3dbcdb7dc Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 15 Nov 2023 16:00:06 +0100 Subject: [PATCH 038/361] fix: Fixed regression in `compile_commands.json` generation (#2427) * Fixed regression in compile_commands.json generation * Added integration tests --- arduino/builder/internal/detector/detector.go | 3 +- .../compile_3/compile_commands_test.go | 89 +++++++++++++++++++ 2 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 internal/integrationtest/compile_3/compile_commands_test.go diff --git a/arduino/builder/internal/detector/detector.go b/arduino/builder/internal/detector/detector.go index 2c5f836374b..2e46a57c686 100644 --- a/arduino/builder/internal/detector/detector.go +++ b/arduino/builder/internal/detector/detector.go @@ -231,8 +231,7 @@ func (l *SketchLibrariesDetector) findIncludes( if err != nil { return err } - includeFolders := l.includeFolders - if err := json.Unmarshal(d, &includeFolders); err != nil { + if err := json.Unmarshal(d, &l.includeFolders); err != nil { return err } if l.logger.Verbose() { diff --git a/internal/integrationtest/compile_3/compile_commands_test.go b/internal/integrationtest/compile_3/compile_commands_test.go new file mode 100644 index 00000000000..a680a76ec83 --- /dev/null +++ b/internal/integrationtest/compile_3/compile_commands_test.go @@ -0,0 +1,89 @@ +// This file is part of arduino-cli. +// +// Copyright 2022 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 compile_test + +import ( + "encoding/json" + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" + "go.bug.st/testifyjson/requirejson" +) + +func TestCompileCommandsJSONGeneration(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/2401 + + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Run update-index with our test index + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.5") + require.NoError(t, err) + + // Create a test sketch + out, _, err := cli.Run("sketch", "new", "Test", "--format", "json") + require.NoError(t, err) + var s struct { + Path string `json:"sketch_path"` + } + require.NoError(t, json.Unmarshal(out, &s)) + sketchPath := paths.New(s.Path) + buildPath := sketchPath.Join("build") + + { + // Normal build + _, _, err = cli.Run( + "compile", + "-b", "arduino:avr:uno", + "--build-path", buildPath.String(), + sketchPath.String()) + require.NoError(t, err) + + compileCommandsPath := buildPath.Join("compile_commands.json") + require.True(t, compileCommandsPath.Exist()) + compileCommandJson, err := compileCommandsPath.ReadFile() + require.NoError(t, err) + compileCommands := requirejson.Parse(t, compileCommandJson) + // Check that the variant include path is present, one of the arguments must be + // something like: + // "-I/home/user/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/standard" + compileCommands.Query(`[ .[0].arguments[] | contains("standard") ] | any`).MustEqual(`true`) + } + + { + // Build with skip-library-check + _, _, err = cli.Run( + "compile", + "-b", "arduino:avr:uno", + "--only-compilation-database", + "--skip-libraries-discovery", + "--build-path", buildPath.String(), + sketchPath.String()) + require.NoError(t, err) + + compileCommandsPath := buildPath.Join("compile_commands.json") + require.True(t, compileCommandsPath.Exist()) + compileCommandJson, err := compileCommandsPath.ReadFile() + require.NoError(t, err) + compileCommands := requirejson.Parse(t, compileCommandJson) + // Check that the variant include path is present, one of the arguments must be + // something like: + // "-I/home/user/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/standard" + compileCommands.Query(`[ .[0].arguments[] | contains("standard") ] | any`).MustEqual(`true`) + } +} From e071333ea0e25c185aad4ccf1159034fd5b8ca66 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 15 Nov 2023 17:42:48 +0100 Subject: [PATCH 039/361] [skip-changelog] Added a compatibility trick in `debug -I` for `toolchain.prefix` key (#2428) * Added a compatibility trick in "debug -I" for toolchain.prefix key The key was ignored in older versions of the Arduino IDE. In the upcoming release (Arduino IDE 2.2.2) the key is used, but it was wrongly set to "arm-none-eabi-" when we actually want "arm-none-eabi". This patch ensure backward and forward compatibility. * Fixed debug command --- commands/debug/debug.go | 2 +- commands/debug/debug_info.go | 9 ++++++++- docs/UPGRADING.md | 4 ++-- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 2 +- rpc/cc/arduino/cli/commands/v1/debug.proto | 2 +- 5 files changed, 13 insertions(+), 6 deletions(-) diff --git a/commands/debug/debug.go b/commands/debug/debug.go index f3faaaacfaf..f3dee2d51d1 100644 --- a/commands/debug/debug.go +++ b/commands/debug/debug.go @@ -130,7 +130,7 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer var gdbPath *paths.Path switch debugInfo.GetToolchain() { case "gcc": - gdbexecutable := debugInfo.GetToolchainPrefix() + "gdb" + gdbexecutable := debugInfo.GetToolchainPrefix() + "-gdb" if runtime.GOOS == "windows" { gdbexecutable += ".exe" } diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index deccd59b89c..ec254e8912e 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -169,6 +169,13 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } + // HOTFIX: for samd (and maybe some other platforms). We should keep this for a reasonable + // amount of time to allow seamless platforms update. + toolchainPrefix := debugProperties.Get("toolchain.prefix") + if toolchainPrefix == "arm-none-eabi-" { + toolchainPrefix = "arm-none-eabi" + } + customConfigs := map[string]string{} if cortexDebugProps := debugProperties.SubTree("cortex-debug.custom"); cortexDebugProps.Size() > 0 { customConfigs["cortex-debug"] = convertToJsonMap(cortexDebugProps) @@ -181,7 +188,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl SvdFile: debugProperties.Get("svd_file"), Toolchain: toolchain, ToolchainPath: debugProperties.Get("toolchain.path"), - ToolchainPrefix: debugProperties.Get("toolchain.prefix"), + ToolchainPrefix: toolchainPrefix, ToolchainConfiguration: &toolchainConfiguration, CustomConfigs: customConfigs, Programmer: req.GetProgrammer(), diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 30cf55a9e42..b1f9dc1ec25 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -282,7 +282,7 @@ The string field `server_configuration.script` is now an array and has been rena "executable": "/tmp/arduino/sketches/002050EAA7EFB9A4FC451CDFBC0FA2D3/Blink.ino.elf", "toolchain": "gcc", "toolchain_path": "/home/user/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/7-2017q4/bin/", - "toolchain_prefix": "arm-none-eabi-", + "toolchain_prefix": "arm-none-eabi", "server": "openocd", "server_path": "/home/user/.arduino15/packages/arduino/tools/openocd/0.10.0-arduino7/bin/openocd", "server_configuration": { @@ -2514,7 +2514,7 @@ Now: debug.executable={build.path}/{build.project_name}.elf debug.toolchain=gcc debug.toolchain.path={runtime.tools.arm-none-eabi-gcc-7-2017q4.path}/bin/ -debug.toolchain.prefix=arm-none-eabi- +debug.toolchain.prefix=arm-none-eabi debug.server=openocd debug.server.openocd.path={runtime.tools.openocd-0.10.0-arduino7.path}/bin/ debug.server.openocd.scripts_dir={runtime.tools.openocd-0.10.0-arduino7.path}/share/openocd/scripts/ diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index d77de884b49..fa8c52bed21 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -284,7 +284,7 @@ type GetDebugConfigResponse struct { Toolchain string `protobuf:"bytes,2,opt,name=toolchain,proto3" json:"toolchain,omitempty"` // The toolchain directory ToolchainPath string `protobuf:"bytes,3,opt,name=toolchain_path,json=toolchainPath,proto3" json:"toolchain_path,omitempty"` - // The toolchain architecture prefix (for example "arm-none-eabi-") + // The toolchain architecture prefix (for example "arm-none-eabi") ToolchainPrefix string `protobuf:"bytes,4,opt,name=toolchain_prefix,json=toolchainPrefix,proto3" json:"toolchain_prefix,omitempty"` // The GDB server type used to connect to the programmer/board (for example // "openocd") diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 1b1f8441497..9e8341edb54 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -80,7 +80,7 @@ message GetDebugConfigResponse { string toolchain = 2; // The toolchain directory string toolchain_path = 3; - // The toolchain architecture prefix (for example "arm-none-eabi-") + // The toolchain architecture prefix (for example "arm-none-eabi") string toolchain_prefix = 4; // The GDB server type used to connect to the programmer/board (for example // "openocd") From ff4ed3a8c2211023f87456318df00816594a374e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 16 Nov 2023 11:12:58 +0100 Subject: [PATCH 040/361] Added specific exit-code for "missing programmer" kind of errors. (#2429) * Added gRPC message errors * Implemented specific exit-code for "programmer not found" error --- arduino/errors.go | 3 +- commands/daemon/debug.go | 3 +- internal/cli/burnbootloader/burnbootloader.go | 11 +- internal/cli/compile/compile.go | 9 +- internal/cli/debug/debug.go | 14 +- internal/cli/feedback/errorcodes.go | 3 + internal/cli/upload/upload.go | 9 +- rpc/cc/arduino/cli/commands/v1/common.pb.go | 333 ++++++++++-------- rpc/cc/arduino/cli/commands/v1/common.proto | 4 + 9 files changed, 243 insertions(+), 146 deletions(-) diff --git a/arduino/errors.go b/arduino/errors.go index b1618d13ff8..b87adb8ee21 100644 --- a/arduino/errors.go +++ b/arduino/errors.go @@ -290,7 +290,8 @@ func (e *MissingProgrammerError) Error() string { // ToRPCStatus converts the error into a *status.Status func (e *MissingProgrammerError) ToRPCStatus() *status.Status { - return status.New(codes.InvalidArgument, e.Error()) + s, _ := status.New(codes.InvalidArgument, e.Error()).WithDetails(&rpc.MissingProgrammerError{}) + return s } // ProgrammerRequiredForUploadError is returned when the upload can be done only using a programmer diff --git a/commands/daemon/debug.go b/commands/daemon/debug.go index 0e024881788..f888336d3d9 100644 --- a/commands/daemon/debug.go +++ b/commands/daemon/debug.go @@ -63,5 +63,6 @@ func (s *ArduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) // GetDebugConfig return metadata about a debug session func (s *ArduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { - return cmd.GetDebugConfig(ctx, req) + res, err := cmd.GetDebugConfig(ctx, req) + return res, convertErrorToRPCStatus(err) } diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index ce2befcdfd2..0792f1c87e7 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -17,8 +17,10 @@ package burnbootloader import ( "context" + "errors" "os" + "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -82,7 +84,14 @@ func runBootloaderCommand(command *cobra.Command, args []string) { Programmer: programmer.String(instance, fqbn.String()), DryRun: dryRun, }, stdOut, stdErr); err != nil { - feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) + errcode := feedback.ErrGeneric + if errors.Is(err, &arduino.ProgrammerRequiredForUploadError{}) { + errcode = feedback.ErrMissingProgrammer + } + if errors.Is(err, &arduino.MissingProgrammerError{}) { + errcode = feedback.ErrMissingProgrammer + } + feedback.Fatal(tr("Error during Upload: %v", err), errcode) } feedback.PrintResult(res()) } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 6499629bead..a29f276e506 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -281,7 +281,14 @@ func runCompileCommand(cmd *cobra.Command, args []string) { } if res, err := upload.Upload(context.Background(), uploadRequest, stdOut, stdErr); err != nil { - feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) + errcode := feedback.ErrGeneric + if errors.Is(err, &arduino.ProgrammerRequiredForUploadError{}) { + errcode = feedback.ErrMissingProgrammer + } + if errors.Is(err, &arduino.MissingProgrammerError{}) { + errcode = feedback.ErrMissingProgrammer + } + feedback.Fatal(tr("Error during Upload: %v", err), errcode) } else { uploadRes = res } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 3c1fd6f25ae..8982dbb5b7d 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -18,9 +18,11 @@ package debug import ( "context" "encoding/json" + "errors" "os" "os/signal" + "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/commands/debug" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/i18n" @@ -93,7 +95,11 @@ func runDebugCommand(command *cobra.Command, args []string) { if printInfo { if res, err := debug.GetDebugConfig(context.Background(), debugConfigRequested); err != nil { - feedback.Fatal(tr("Error getting Debug info: %v", err), feedback.ErrBadArgument) + errcode := feedback.ErrBadArgument + if errors.Is(err, &arduino.MissingProgrammerError{}) { + errcode = feedback.ErrMissingProgrammer + } + feedback.Fatal(tr("Error getting Debug info: %v", err), errcode) } else { feedback.PrintResult(newDebugInfoResult(res)) } @@ -109,7 +115,11 @@ func runDebugCommand(command *cobra.Command, args []string) { feedback.FatalError(err, feedback.ErrBadArgument) } if _, err := debug.Debug(context.Background(), debugConfigRequested, in, out, ctrlc); err != nil { - feedback.Fatal(tr("Error during Debug: %v", err), feedback.ErrGeneric) + errcode := feedback.ErrGeneric + if errors.Is(err, &arduino.MissingProgrammerError{}) { + errcode = feedback.ErrMissingProgrammer + } + feedback.Fatal(tr("Error during Debug: %v", err), errcode) } } diff --git a/internal/cli/feedback/errorcodes.go b/internal/cli/feedback/errorcodes.go index 9c38024f30b..0f92ee07c73 100644 --- a/internal/cli/feedback/errorcodes.go +++ b/internal/cli/feedback/errorcodes.go @@ -53,4 +53,7 @@ const ( // ErrInitializingInventory is returned when the inventory cannot be initialized, // usually depends on a wrong configuration of the data dir (10) ErrInitializingInventory + + // ErrMissingProgrammer is returned when the programmer argument is missing (11) + ErrMissingProgrammer ) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 94c57ffbc2f..6ea7e22e483 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -193,7 +193,14 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { UserFields: fields, } if res, err := upload.Upload(context.Background(), req, stdOut, stdErr); err != nil { - feedback.FatalError(err, feedback.ErrGeneric) + errcode := feedback.ErrGeneric + if errors.Is(err, &arduino.ProgrammerRequiredForUploadError{}) { + errcode = feedback.ErrMissingProgrammer + } + if errors.Is(err, &arduino.MissingProgrammerError{}) { + errcode = feedback.ErrMissingProgrammer + } + feedback.FatalError(err, errcode) } else { io := stdIOResult() feedback.PrintResult(&uploadResult{ diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 65c53f6f5ad..a9f0312de7b 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -491,6 +491,46 @@ func (x *Programmer) GetName() string { return "" } +// MissingProgrammerError is a status error detail that is returned when +// the operation can not be completed due to a missing programmer argument. +type MissingProgrammerError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *MissingProgrammerError) Reset() { + *x = MissingProgrammerError{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MissingProgrammerError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MissingProgrammerError) ProtoMessage() {} + +func (x *MissingProgrammerError) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MissingProgrammerError.ProtoReflect.Descriptor instead. +func (*MissingProgrammerError) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{7} +} + // Platform is a structure containing all the information about a single // platform release. type Platform struct { @@ -507,7 +547,7 @@ type Platform struct { func (x *Platform) Reset() { *x = Platform{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[7] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -520,7 +560,7 @@ func (x *Platform) String() string { func (*Platform) ProtoMessage() {} func (x *Platform) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[7] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -533,7 +573,7 @@ func (x *Platform) ProtoReflect() protoreflect.Message { // Deprecated: Use Platform.ProtoReflect.Descriptor instead. func (*Platform) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{7} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{8} } func (x *Platform) GetMetadata() *PlatformMetadata { @@ -571,7 +611,7 @@ type PlatformSummary struct { func (x *PlatformSummary) Reset() { *x = PlatformSummary{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -584,7 +624,7 @@ func (x *PlatformSummary) String() string { func (*PlatformSummary) ProtoMessage() {} func (x *PlatformSummary) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -597,7 +637,7 @@ func (x *PlatformSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use PlatformSummary.ProtoReflect.Descriptor instead. func (*PlatformSummary) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{8} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{9} } func (x *PlatformSummary) GetMetadata() *PlatformMetadata { @@ -656,7 +696,7 @@ type PlatformMetadata struct { func (x *PlatformMetadata) Reset() { *x = PlatformMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -669,7 +709,7 @@ func (x *PlatformMetadata) String() string { func (*PlatformMetadata) ProtoMessage() {} func (x *PlatformMetadata) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -682,7 +722,7 @@ func (x *PlatformMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use PlatformMetadata.ProtoReflect.Descriptor instead. func (*PlatformMetadata) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{9} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{10} } func (x *PlatformMetadata) GetId() string { @@ -773,7 +813,7 @@ type PlatformRelease struct { func (x *PlatformRelease) Reset() { *x = PlatformRelease{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -786,7 +826,7 @@ func (x *PlatformRelease) String() string { func (*PlatformRelease) ProtoMessage() {} func (x *PlatformRelease) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -799,7 +839,7 @@ func (x *PlatformRelease) ProtoReflect() protoreflect.Message { // Deprecated: Use PlatformRelease.ProtoReflect.Descriptor instead. func (*PlatformRelease) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{10} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{11} } func (x *PlatformRelease) GetName() string { @@ -883,7 +923,7 @@ type InstalledPlatformReference struct { func (x *InstalledPlatformReference) Reset() { *x = InstalledPlatformReference{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -896,7 +936,7 @@ func (x *InstalledPlatformReference) String() string { func (*InstalledPlatformReference) ProtoMessage() {} func (x *InstalledPlatformReference) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -909,7 +949,7 @@ func (x *InstalledPlatformReference) ProtoReflect() protoreflect.Message { // Deprecated: Use InstalledPlatformReference.ProtoReflect.Descriptor instead. func (*InstalledPlatformReference) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{11} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{12} } func (x *InstalledPlatformReference) GetId() string { @@ -955,7 +995,7 @@ type Board struct { func (x *Board) Reset() { *x = Board{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -968,7 +1008,7 @@ func (x *Board) String() string { func (*Board) ProtoMessage() {} func (x *Board) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -981,7 +1021,7 @@ func (x *Board) ProtoReflect() protoreflect.Message { // Deprecated: Use Board.ProtoReflect.Descriptor instead. func (*Board) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{12} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{13} } func (x *Board) GetName() string { @@ -1012,7 +1052,7 @@ type Profile struct { func (x *Profile) Reset() { *x = Profile{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1025,7 +1065,7 @@ func (x *Profile) String() string { func (*Profile) ProtoMessage() {} func (x *Profile) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1038,7 +1078,7 @@ func (x *Profile) ProtoReflect() protoreflect.Message { // Deprecated: Use Profile.ProtoReflect.Descriptor instead. func (*Profile) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{13} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{14} } func (x *Profile) GetName() string { @@ -1068,7 +1108,7 @@ type HelpResources struct { func (x *HelpResources) Reset() { *x = HelpResources{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1081,7 +1121,7 @@ func (x *HelpResources) String() string { func (*HelpResources) ProtoMessage() {} func (x *HelpResources) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1094,7 +1134,7 @@ func (x *HelpResources) ProtoReflect() protoreflect.Message { // Deprecated: Use HelpResources.ProtoReflect.Descriptor instead. func (*HelpResources) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{14} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{15} } func (x *HelpResources) GetOnline() string { @@ -1155,98 +1195,100 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x45, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xf0, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, - 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, - 0x68, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x18, 0x0a, 0x16, 0x4d, 0x69, 0x73, 0x73, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x22, 0x9b, 0x01, 0x0a, 0x08, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, + 0x48, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdb, 0x01, 0x0a, 0x10, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, - 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2d, - 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, - 0x61, 0x6c, 0x6c, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, - 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x22, 0xd6, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, - 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x45, 0x0a, 0x07, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x22, 0xf0, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x12, 0x48, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x55, + 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x68, 0x0a, 0x0d, 0x52, 0x65, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x41, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, - 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, - 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, - 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x31, 0x0a, 0x07, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, - 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, - 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, - 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xdb, 0x01, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, + 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, + 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x75, + 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, + 0x64, 0x22, 0xd6, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x3d, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, + 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, + 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, + 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x31, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, + 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, + 0x6e, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1261,7 +1303,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_common_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 17) var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*Instance)(nil), // 0: cc.arduino.cli.commands.v1.Instance (*DownloadProgress)(nil), // 1: cc.arduino.cli.commands.v1.DownloadProgress @@ -1270,27 +1312,28 @@ var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*DownloadProgressEnd)(nil), // 4: cc.arduino.cli.commands.v1.DownloadProgressEnd (*TaskProgress)(nil), // 5: cc.arduino.cli.commands.v1.TaskProgress (*Programmer)(nil), // 6: cc.arduino.cli.commands.v1.Programmer - (*Platform)(nil), // 7: cc.arduino.cli.commands.v1.Platform - (*PlatformSummary)(nil), // 8: cc.arduino.cli.commands.v1.PlatformSummary - (*PlatformMetadata)(nil), // 9: cc.arduino.cli.commands.v1.PlatformMetadata - (*PlatformRelease)(nil), // 10: cc.arduino.cli.commands.v1.PlatformRelease - (*InstalledPlatformReference)(nil), // 11: cc.arduino.cli.commands.v1.InstalledPlatformReference - (*Board)(nil), // 12: cc.arduino.cli.commands.v1.Board - (*Profile)(nil), // 13: cc.arduino.cli.commands.v1.Profile - (*HelpResources)(nil), // 14: cc.arduino.cli.commands.v1.HelpResources - nil, // 15: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + (*MissingProgrammerError)(nil), // 7: cc.arduino.cli.commands.v1.MissingProgrammerError + (*Platform)(nil), // 8: cc.arduino.cli.commands.v1.Platform + (*PlatformSummary)(nil), // 9: cc.arduino.cli.commands.v1.PlatformSummary + (*PlatformMetadata)(nil), // 10: cc.arduino.cli.commands.v1.PlatformMetadata + (*PlatformRelease)(nil), // 11: cc.arduino.cli.commands.v1.PlatformRelease + (*InstalledPlatformReference)(nil), // 12: cc.arduino.cli.commands.v1.InstalledPlatformReference + (*Board)(nil), // 13: cc.arduino.cli.commands.v1.Board + (*Profile)(nil), // 14: cc.arduino.cli.commands.v1.Profile + (*HelpResources)(nil), // 15: cc.arduino.cli.commands.v1.HelpResources + nil, // 16: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry } var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 2, // 0: cc.arduino.cli.commands.v1.DownloadProgress.start:type_name -> cc.arduino.cli.commands.v1.DownloadProgressStart 3, // 1: cc.arduino.cli.commands.v1.DownloadProgress.update:type_name -> cc.arduino.cli.commands.v1.DownloadProgressUpdate 4, // 2: cc.arduino.cli.commands.v1.DownloadProgress.end:type_name -> cc.arduino.cli.commands.v1.DownloadProgressEnd - 9, // 3: cc.arduino.cli.commands.v1.Platform.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata - 10, // 4: cc.arduino.cli.commands.v1.Platform.release:type_name -> cc.arduino.cli.commands.v1.PlatformRelease - 9, // 5: cc.arduino.cli.commands.v1.PlatformSummary.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata - 15, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry - 12, // 7: cc.arduino.cli.commands.v1.PlatformRelease.boards:type_name -> cc.arduino.cli.commands.v1.Board - 14, // 8: cc.arduino.cli.commands.v1.PlatformRelease.help:type_name -> cc.arduino.cli.commands.v1.HelpResources - 10, // 9: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease + 10, // 3: cc.arduino.cli.commands.v1.Platform.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata + 11, // 4: cc.arduino.cli.commands.v1.Platform.release:type_name -> cc.arduino.cli.commands.v1.PlatformRelease + 10, // 5: cc.arduino.cli.commands.v1.PlatformSummary.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata + 16, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + 13, // 7: cc.arduino.cli.commands.v1.PlatformRelease.boards:type_name -> cc.arduino.cli.commands.v1.Board + 15, // 8: cc.arduino.cli.commands.v1.PlatformRelease.help:type_name -> cc.arduino.cli.commands.v1.HelpResources + 11, // 9: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease 10, // [10:10] is the sub-list for method output_type 10, // [10:10] is the sub-list for method input_type 10, // [10:10] is the sub-list for extension type_name @@ -1389,7 +1432,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Platform); i { + switch v := v.(*MissingProgrammerError); i { case 0: return &v.state case 1: @@ -1401,7 +1444,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformSummary); i { + switch v := v.(*Platform); i { case 0: return &v.state case 1: @@ -1413,7 +1456,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformMetadata); i { + switch v := v.(*PlatformSummary); i { case 0: return &v.state case 1: @@ -1425,7 +1468,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlatformRelease); i { + switch v := v.(*PlatformMetadata); i { case 0: return &v.state case 1: @@ -1437,7 +1480,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InstalledPlatformReference); i { + switch v := v.(*PlatformRelease); i { case 0: return &v.state case 1: @@ -1449,7 +1492,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Board); i { + switch v := v.(*InstalledPlatformReference); i { case 0: return &v.state case 1: @@ -1461,7 +1504,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Profile); i { + switch v := v.(*Board); i { case 0: return &v.state case 1: @@ -1473,6 +1516,18 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Profile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelpResources); i { case 0: return &v.state @@ -1496,7 +1551,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_common_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 17, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 2565549d724..e9ee187f44c 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -74,6 +74,10 @@ message Programmer { string name = 3; } +// MissingProgrammerError is a status error detail that is returned when +// the operation can not be completed due to a missing programmer argument. +message MissingProgrammerError {} + // Platform is a structure containing all the information about a single // platform release. message Platform { From b41f4044cac6ab7f7d853e368bc31e5d626d63d4 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Thu, 16 Nov 2023 16:51:14 +0100 Subject: [PATCH 041/361] Add completion support to `--profile` (#2426) --- internal/cli/arguments/profiles.go | 8 +++++- internal/cli/arguments/sketch.go | 25 +++++++++++++++++ .../completion/completion_test.go | 28 +++++++++++++++++++ .../SketchWithProfiles/SketchWithProfiles.ino | 3 ++ .../testdata/SketchWithProfiles/sketch.yaml | 5 ++++ 5 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 internal/integrationtest/completion/testdata/SketchWithProfiles/SketchWithProfiles.ino create mode 100644 internal/integrationtest/completion/testdata/SketchWithProfiles/sketch.yaml diff --git a/internal/cli/arguments/profiles.go b/internal/cli/arguments/profiles.go index 67253332582..6516cbdec08 100644 --- a/internal/cli/arguments/profiles.go +++ b/internal/cli/arguments/profiles.go @@ -27,7 +27,13 @@ type Profile struct { // AddToCommand adds the flags used to set fqbn to the specified Command func (f *Profile) AddToCommand(cmd *cobra.Command) { cmd.Flags().StringVarP(&f.profile, "profile", "m", "", tr("Sketch profile to use")) - // TODO: register autocompletion + cmd.RegisterFlagCompletionFunc("profile", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { + var sketchProfile string + if len(args) > 0 { + sketchProfile = args[0] + } + return GetSketchProfiles(sketchProfile), cobra.ShellCompDirectiveDefault + }) } // Get returns the profile name diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 58df45e3367..9b43173e7db 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -16,8 +16,12 @@ package arguments import ( + "context" + + "github.com/arduino/arduino-cli/commands/sketch" sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" ) @@ -43,3 +47,24 @@ func InitSketchPath(path string, printWarnings bool) (sketchPath *paths.Path) { } return sketchPath } + +// GetSketchProfiles is an helper function useful to autocomplete. +// It returns the profile names set in the sketch.yaml +func GetSketchProfiles(sketchPath string) []string { + if sketchPath == "" { + if wd, _ := paths.Getwd(); wd != nil && wd.String() != "" { + sketchPath = wd.String() + } else { + return nil + } + } + list, _ := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{ + SketchPath: sketchPath, + }) + profiles := list.GetProfiles() + res := make([]string, len(profiles)) + for i, p := range list.GetProfiles() { + res[i] = p.GetName() + } + return res +} diff --git a/internal/integrationtest/completion/completion_test.go b/internal/integrationtest/completion/completion_test.go index 75da997a357..a216eb0f6ff 100644 --- a/internal/integrationtest/completion/completion_test.go +++ b/internal/integrationtest/completion/completion_test.go @@ -19,6 +19,7 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) @@ -229,3 +230,30 @@ func TestCoreCompletion(t *testing.T) { stdout, _, _ = cli.Run("__complete", "upload", "-P", "") require.Contains(t, string(stdout), "atmel_ice") } + +func TestProfileCompletion(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Create test sketches + sketchWithProfilesPath, err := paths.New("testdata", "SketchWithProfiles").Abs() + require.NoError(t, err) + require.True(t, sketchWithProfilesPath.IsDir()) + + stdout, _, _ := cli.Run("__complete", "compile", sketchWithProfilesPath.String(), "--profile", "") + require.Contains(t, string(stdout), "profile1") + stdout, _, _ = cli.Run("__complete", "monitor", sketchWithProfilesPath.String(), "--profile", "") + require.Contains(t, string(stdout), "profile1") + stdout, _, _ = cli.Run("__complete", "upload", sketchWithProfilesPath.String(), "--profile", "") + require.Contains(t, string(stdout), "profile1") + + // The cli is running in the sketch folder, so need the explictly specify the path in the cli + cli.SetWorkingDir(sketchWithProfilesPath) + stdout, _, _ = cli.Run("__complete", "compile", "--profile", "") + require.Contains(t, string(stdout), "profile1") + stdout, _, _ = cli.Run("__complete", "monitor", "--profile", "") + require.Contains(t, string(stdout), "profile1") + stdout, _, _ = cli.Run("__complete", "upload", "--profile", "") + require.Contains(t, string(stdout), "profile1") + +} diff --git a/internal/integrationtest/completion/testdata/SketchWithProfiles/SketchWithProfiles.ino b/internal/integrationtest/completion/testdata/SketchWithProfiles/SketchWithProfiles.ino new file mode 100644 index 00000000000..5054c040393 --- /dev/null +++ b/internal/integrationtest/completion/testdata/SketchWithProfiles/SketchWithProfiles.ino @@ -0,0 +1,3 @@ + +void setup() {} +void loop() {} diff --git a/internal/integrationtest/completion/testdata/SketchWithProfiles/sketch.yaml b/internal/integrationtest/completion/testdata/SketchWithProfiles/sketch.yaml new file mode 100644 index 00000000000..7143ea94b9a --- /dev/null +++ b/internal/integrationtest/completion/testdata/SketchWithProfiles/sketch.yaml @@ -0,0 +1,5 @@ +default_port: /dev/ttyDEF +default_fqbn: arduino:avr:yun +profiles: + profile1: + fqbn: "arduino:avr:uno" From 4bf81fde32460d6b3b74ebdf1c0b9bbfeaf2eb6d Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 22 Nov 2023 18:01:06 +0100 Subject: [PATCH 042/361] [skip-changelog] Removed unused function (#2434) --- arduino/cores/cores.go | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/arduino/cores/cores.go b/arduino/cores/cores.go index c3e09adac79..96b74f182bb 100644 --- a/arduino/cores/cores.go +++ b/arduino/cores/cores.go @@ -294,18 +294,6 @@ func (platform *Platform) latestReleaseVersion() *semver.Version { return max } -// latestCompatibleReleaseVersion obtains latest version number, for platforms that contains compatible tools, or nil if no release available -func (platform *Platform) latestCompatibleReleaseVersion() *semver.Version { - versions := platform.GetAllCompatibleReleasesVersions() - var maxVer *semver.Version - for _, v := range versions { - if maxVer == nil || v.GreaterThan(maxVer) { - maxVer = v - } - } - return maxVer -} - // GetAllInstalled returns all installed PlatformRelease func (platform *Platform) GetAllInstalled() []*PlatformRelease { res := []*PlatformRelease{} From a4e7eb4233af541f1e4fb23c7205fccbe62963ad Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 24 Nov 2023 15:48:49 +0100 Subject: [PATCH 043/361] Debugger now allows generic selection of sub-configurations (#2435) * debug: extend hotfix for trailing dash '-' to all toolchains * Added additional_config selector for debug configuration * Added docs --- commands/debug/debug_info.go | 12 ++-- docs/platform-specification.md | 68 +++++++++++++++++++ internal/integrationtest/debug/debug_test.go | 57 ++++++++++++++++ .../testdata/hardware/my/samd/boards.txt | 25 +++++++ .../testdata/hardware/my/samd/platform.txt | 5 ++ 5 files changed, 163 insertions(+), 4 deletions(-) create mode 100644 internal/integrationtest/debug/testdata/hardware/my/samd/platform.txt diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index ec254e8912e..6b8064e9d8f 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -133,6 +133,12 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl for k, v := range toolProperties.SubTree("debug").AsMap() { debugProperties.Set(k, toolProperties.ExpandPropsInString(v)) } + if debugAdditionalConfig, ok := toolProperties.GetOk("debug.additional_config"); ok { + debugAdditionalConfig = toolProperties.ExpandPropsInString(debugAdditionalConfig) + for k, v := range toolProperties.SubTree(debugAdditionalConfig).AsMap() { + debugProperties.Set(k, toolProperties.ExpandPropsInString(v)) + } + } if !debugProperties.ContainsKey("executable") { return nil, &arduino.FailedDebugError{Message: tr("Debugging not supported for board %s", req.GetFqbn())} @@ -169,12 +175,10 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } + toolchainPrefix := debugProperties.Get("toolchain.prefix") // HOTFIX: for samd (and maybe some other platforms). We should keep this for a reasonable // amount of time to allow seamless platforms update. - toolchainPrefix := debugProperties.Get("toolchain.prefix") - if toolchainPrefix == "arm-none-eabi-" { - toolchainPrefix = "arm-none-eabi" - } + toolchainPrefix = strings.TrimSuffix(toolchainPrefix, "-") customConfigs := map[string]string{} if cortexDebugProps := debugProperties.SubTree("cortex-debug.custom"); cortexDebugProps.Size() > 0 { diff --git a/docs/platform-specification.md b/docs/platform-specification.md index 43d778a6d1d..8e690cb0787 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -1452,6 +1452,74 @@ will result in the following JSON: } ``` +### Additional debugger config selection via `debug.additional_config` directive. + +It is possible to use any sub-tree of the platform configuration to override the debugger configuration using the +directive `debug.additional_config=CONFIG_PREFIX`. This rule will use the configuration under `CONFIG_PREFIX.*` to +override the current `debug.*` config. + +This change allows a more convenient rationalization and selection of the configs to apply to the debugger. For example, +we could factor common parts of a configuration in the platform.txt file: + +``` +# CONFIG 1 +debug-overrides.esp32.cortex-debug.custom.name=Arduino on ESP32 +debug-overrides.esp32.cortex-debug.custom.request=attach +debug-overrides.esp32.cortex-debug.custom.postAttachCommands.0=set remote hardware-watchpoint-limit 2 +debug-overrides.esp32.cortex-debug.custom.postAttachCommands.1=monitor reset halt +debug-overrides.esp32.cortex-debug.custom.postAttachCommands.2=monitor gdb_sync +debug-overrides.esp32.cortex-debug.custom.postAttachCommands.3=thb setup +debug-overrides.esp32.cortex-debug.custom.postAttachCommands.4=c +debug-overrides.esp32.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt +debug-overrides.esp32.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync +debug-overrides.esp32.cortex-debug.custom.overrideRestartCommands.2=thb setup +debug-overrides.esp32.cortex-debug.custom.overrideRestartCommands.3=c + +# CONFIG 2 +debug-overrides.esp32s2.cortex-debug.custom.name=Arduino on ESP32-S2 +debug-overrides.esp32s2.cortex-debug.custom.request=attach +debug-overrides.esp32s2.cortex-debug.custom.postAttachCommands.0=set remote hardware-watchpoint-limit 2 +debug-overrides.esp32s2.cortex-debug.custom.postAttachCommands.1=monitor reset halt +debug-overrides.esp32s2.cortex-debug.custom.postAttachCommands.2=monitor gdb_sync +debug-overrides.esp32s2.cortex-debug.custom.postAttachCommands.3=thb setup +debug-overrides.esp32s2.cortex-debug.custom.postAttachCommands.4=c +debug-overrides.esp32s2.cortex-debug.custom.overrideRestartCommands.0=monitor reset halt +debug-overrides.esp32s2.cortex-debug.custom.overrideRestartCommands.1=monitor gdb_sync +debug-overrides.esp32s2.cortex-debug.custom.overrideRestartCommands.2=thb setup +debug-overrides.esp32s2.cortex-debug.custom.overrideRestartCommands.3=c +``` + +and choose which one to use depending on the board in the boards.txt file: + +``` +myboard.name=My Board with esp32 +myboard.debug.additional_config=debug-overrides.esp32 + +anotherboard.name=My Board with esp32s2 +anotherboard.debug.additional_config=debug-overrides.esp32s2 +... +``` + +Another possibility is to compose the configuration using another variable present in the board configuration, for +example if in the `platform.txt` we add: + +``` +debug.additional_config=debug-overrides.{build.mcu} +``` + +we may use the `build.mcu` value as a "selector" for the board-specific debug configuration that is overlapped to the +global debug configuration: + +``` +myboard.name=My Board with esp32 +myboard.build.mcu=esp32 +... + +anotherboard.name=My Board with esp32s2 +anotherboard.build.mcu=esp32s2 +... +``` + ### Optimization level for debugging The compiler optimization level that is appropriate for normal usage will often not provide a good experience while diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index 8d3d972af8f..a01597468ec 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -272,5 +272,62 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli }`) } + { + // Mixing programmer and additional_config + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my3", "-P", "my_cold_ice", sketchPath.String(), "--info", "--format", "json") + require.NoError(t, err) + debugOut := requirejson.Parse(t, jsonDebugOut) + debugOut.MustContain(` + { + "toolchain": "gcc", + "toolchain_path": "gcc-path", + "toolchain_prefix": "gcc-prefix", + "server": "openocd", + "server_path": "openocd-path", + "server_configuration": { + "path": "openocd-path", + "scripts_dir": "openocd-scripts-dir", + "scripts": [ + "cold_ice_script" + ] + }, + "custom_configs": { + "cortex-debug": { + "test1": "true" + } + }, + "svd_file": "test1.svd", + "programmer": "my_cold_ice" + }`) + } + + { + // Mixing programmer and additional_config selected by another variable + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my4", "-P", "my_cold_ice", sketchPath.String(), "--info", "--format", "json") + require.NoError(t, err) + debugOut := requirejson.Parse(t, jsonDebugOut) + debugOut.MustContain(` + { + "toolchain": "gcc", + "toolchain_path": "gcc-path", + "toolchain_prefix": "gcc-prefix", + "server": "openocd", + "server_path": "openocd-path", + "server_configuration": { + "path": "openocd-path", + "scripts_dir": "openocd-scripts-dir", + "scripts": [ + "cold_ice_script" + ] + }, + "custom_configs": { + "cortex-debug": { + "test2": "true" + } + }, + "svd_file": "test2.svd", + "programmer": "my_cold_ice" + }`) + } } } diff --git a/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt b/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt index 7a96eac3186..5512eb7e2b3 100644 --- a/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt +++ b/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt @@ -87,3 +87,28 @@ my2.debug.server.openocd.path=openocd-path my2.debug.server.openocd.scripts_dir=openocd-scripts-dir my2.debug.server.openocd.script=single-script my2.debug.svd_file=svd-file + +my3.name=My third Cool Board +my3.build.core=arduino:arduino +my3.build.variant=arduino:mkr1000 +my3.debug.toolchain.path=gcc-path +my3.debug.toolchain.prefix=gcc-prefix +my3.debug.server.openocd.path=openocd-path +my3.debug.server.openocd.scripts_dir=openocd-scripts-dir +my3.debug.server.openocd.script=single-script +# this one will be overwritten by additional_config +my3.debug.svd_file=svd-file +my3.debug.additional_config=build.debug.config.test1 + +my4.name=My fourth Cool Board +my4.build.core=arduino:arduino +my4.build.variant=arduino:mkr1000 +my4.debug.toolchain.path=gcc-path +my4.debug.toolchain.prefix=gcc-prefix +my4.debug.server.openocd.path=openocd-path +my4.debug.server.openocd.scripts_dir=openocd-scripts-dir +my4.debug.server.openocd.script=single-script +my4.build.mcu=test2 +# this one will be overwritten by additional_config +my4.debug.svd_file=svd-file +my4.debug.additional_config=build.debug.config.{build.mcu} diff --git a/internal/integrationtest/debug/testdata/hardware/my/samd/platform.txt b/internal/integrationtest/debug/testdata/hardware/my/samd/platform.txt new file mode 100644 index 00000000000..d2a61b9fd25 --- /dev/null +++ b/internal/integrationtest/debug/testdata/hardware/my/samd/platform.txt @@ -0,0 +1,5 @@ +build.debug.config.test1.svd_file=test1.svd +build.debug.config.test1.cortex-debug.custom.test1=true + +build.debug.config.test2.svd_file=test2.svd +build.debug.config.test2.cortex-debug.custom.test2=true From 89f8f04114f20ef3e5abc8bd0ec55193e00b0aad Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 24 Nov 2023 17:05:04 +0100 Subject: [PATCH 044/361] [BREAKING] Removed `debugging_supported` field from `BoardDetails` gRPC call (#2438) * Removed debugging_supported field from BoardDetailsResponse * fix typo --- commands/board/details.go | 6 +- docs/UPGRADING.md | 12 + internal/cli/board/details.go | 3 - internal/cli/feedback/result/rpc.go | 2 - internal/integrationtest/board/board_test.go | 1 - rpc/cc/arduino/cli/commands/v1/board.pb.go | 340 +++++++++---------- rpc/cc/arduino/cli/commands/v1/board.proto | 3 +- 7 files changed, 178 insertions(+), 189 deletions(-) diff --git a/commands/board/details.go b/commands/board/details.go index 872e5e92da9..50c5638aa11 100644 --- a/commands/board/details.go +++ b/commands/board/details.go @@ -39,7 +39,7 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai return nil, &arduino.InvalidFQBNError{Cause: err} } - boardPackage, boardPlatformRelease, board, boardProperties, boardRefPlatform, err := pme.ResolveFQBN(fqbn) + boardPackage, boardPlatformRelease, board, boardProperties, _, err := pme.ResolveFQBN(fqbn) if err != nil { return nil, &arduino.UnknownFQBNError{Cause: err} } @@ -64,10 +64,6 @@ func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetai details.BuildProperties, _ = utils.ExpandBuildProperties(details.GetBuildProperties()) } - details.DebuggingSupported = boardProperties.ContainsKey("debug.executable") || - boardPlatformRelease.Properties.ContainsKey("debug.executable") || - (boardRefPlatform != nil && boardRefPlatform.Properties.ContainsKey("debug.executable")) - details.Package = &rpc.Package{ Name: boardPackage.Name, Maintainer: boardPackage.Maintainer, diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index b1f9dc1ec25..6c67f404b60 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -271,6 +271,18 @@ To address all the inconsistencies/inaccuracies we introduced two messages: - `PlatformMetadata` contains generic information about a platform (not correlated to a specific release). - `PlatformRelease` contains information about a specific release of a platform. +### `debugging_supported` field has been removed from gRPC `cc.arduino.cli.commands.v1.BoardDetails` and `board details` command in CLI + +The `debugging_supported` field has been removed, since the possibility to debug is determined by: + +- the board selected +- the board option selected +- the programmer selected + +the `board details` command has no sufficient information to determine it. If you need to determine if a specific +selection of board + option + programmer supports debugging, use the gRPC call +`cc.arduino.cli.commands.v1.GetDebugConfig`: if the call is successful, it means that the debugging is supported. + ## 0.35.0 ### CLI `debug --info` changed JSON output. diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index ff690e0f339..160c80e4181 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -139,9 +139,6 @@ func (dr detailsResult) String() string { t.AddRow(tr("Board name:"), details.Name) t.AddRow(tr("FQBN:"), details.Fqbn) addIfNotEmpty(tr("Board version:"), details.Version) - if details.DebuggingSupported { - t.AddRow(tr("Debugging supported:"), table.NewCell("✔", color.New(color.FgGreen))) - } if details.Official { t.AddRow() // get some space from above diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index 82e172f329d..03841025a3a 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -416,7 +416,6 @@ type BoardDetailsResponse struct { ToolsDependencies []*ToolsDependency `json:"tools_dependencies,omitempty"` ConfigOptions []*ConfigOption `json:"config_options,omitempty"` Programmers []*Programmer `json:"programmers,omitempty"` - DebuggingSupported bool `json:"debugging_supported,omitempty"` IdentificationProperties []*BoardIdentificationProperties `json:"identification_properties,omitempty"` BuildProperties []string `json:"build_properties,omitempty"` DefaultProgrammerID string `json:"default_programmer_id,omitempty"` @@ -441,7 +440,6 @@ func NewBoardDetailsResponse(b *rpc.BoardDetailsResponse) *BoardDetailsResponse ToolsDependencies: NewToolsDependencies(b.GetToolsDependencies()), ConfigOptions: NewConfigOptions(b.GetConfigOptions()), Programmers: NewProgrammers(b.GetProgrammers()), - DebuggingSupported: b.GetDebuggingSupported(), IdentificationProperties: NewBoardIdentificationProperties(b.GetIdentificationProperties()), BuildProperties: buildProperties, DefaultProgrammerID: b.GetDefaultProgrammerId(), diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index 66851b828d5..df5f01ef048 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -338,7 +338,6 @@ func TestBoardDetails(t *testing.T) { "name": "Atmel SAM-ICE" } ], - "debugging_supported": true, "identification_properties": [ { "properties": { diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 3694278c5b6..479446d50e6 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -133,8 +133,6 @@ type BoardDetailsResponse struct { ConfigOptions []*ConfigOption `protobuf:"bytes,11,rep,name=config_options,json=configOptions,proto3" json:"config_options,omitempty"` // List of programmers supported by the board Programmers []*Programmer `protobuf:"bytes,13,rep,name=programmers,proto3" json:"programmers,omitempty"` - // Set to true if the board supports debugging - DebuggingSupported bool `protobuf:"varint,14,opt,name=debugging_supported,json=debuggingSupported,proto3" json:"debugging_supported,omitempty"` // Identifying information for the board (e.g., USB VID/PID). IdentificationProperties []*BoardIdentificationProperties `protobuf:"bytes,15,rep,name=identification_properties,json=identificationProperties,proto3" json:"identification_properties,omitempty"` // Board build properties used for compiling @@ -259,13 +257,6 @@ func (x *BoardDetailsResponse) GetProgrammers() []*Programmer { return nil } -func (x *BoardDetailsResponse) GetDebuggingSupported() bool { - if x != nil { - return x.DebuggingSupported - } - return false -} - func (x *BoardDetailsResponse) GetIdentificationProperties() []*BoardIdentificationProperties { if x != nil { return x.IdentificationProperties @@ -1483,7 +1474,7 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xce, 0x06, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xa3, 0x06, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, @@ -1520,182 +1511,179 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x12, - 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, - 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x12, 0x76, 0x0a, 0x19, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x18, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x22, 0xc9, 0x01, 0x0a, 0x1d, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x0a, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xbc, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, - 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, - 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, - 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x5f, 0x75, 0x72, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x55, - 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x04, - 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x04, 0x68, 0x65, - 0x6c, 0x70, 0x22, 0x1e, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, - 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, - 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x54, 0x6f, 0x6f, 0x6c, 0x73, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, - 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x52, 0x07, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x07, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, - 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, - 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x12, 0x0a, - 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x3f, 0x0a, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x60, - 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4c, - 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x22, 0x82, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, - 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x53, 0x0a, 0x11, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x76, 0x0a, 0x19, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x52, 0x18, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x65, 0x72, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x22, 0xc9, 0x01, 0x0a, + 0x1d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x69, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbc, 0x01, 0x0a, 0x07, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x34, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, + 0x70, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x22, 0x1e, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x70, 0x12, + 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1a, 0x0a, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, + 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x9c, 0x01, 0x0a, 0x11, 0x54, + 0x6f, 0x6f, 0x6c, 0x73, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x73, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, + 0x52, 0x07, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x07, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, + 0x72, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x12, 0x3f, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x60, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, + 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x53, 0x0a, 0x11, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3e, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, + 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, + 0x98, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, + 0x12, 0x52, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, - 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x44, - 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, - 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, - 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, - 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, + 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, + 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x15, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x8b, 0x01, 0x0a, 0x16, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, + 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x96, 0x01, + 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, + 0x64, 0x64, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, + 0x64, 0x64, 0x65, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, - 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, - 0x59, 0x0a, 0x15, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, - 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, - 0x62, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, - 0x40, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, - 0x58, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, - 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, - 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x72, 0x64, 0x73, 0x22, 0x58, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, + 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, + 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, + 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/board.proto b/rpc/cc/arduino/cli/commands/v1/board.proto index 76b4de30408..8918473ec86 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.proto +++ b/rpc/cc/arduino/cli/commands/v1/board.proto @@ -59,8 +59,7 @@ message BoardDetailsResponse { repeated ConfigOption config_options = 11; // List of programmers supported by the board repeated Programmer programmers = 13; - // Set to true if the board supports debugging - bool debugging_supported = 14; + reserved 14; // Identifying information for the board (e.g., USB VID/PID). repeated BoardIdentificationProperties identification_properties = 15; // Board build properties used for compiling From af0cc748f88fd1723889707fd7f4557d9c32fcb1 Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Mon, 27 Nov 2023 09:29:11 +0100 Subject: [PATCH 045/361] [skip-changelog] Add documentation for the `network.proxy` configuration's field (#2433) --- docs/configuration.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/configuration.md b/docs/configuration.md index 334dac750a4..4d16b158b1b 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -42,6 +42,8 @@ - `ttl` - cache expiration time of build folders. If the cache is hit by a compilation the corresponding build files lifetime is renewed. The value format must be a valid input for [time.ParseDuration()](https://pkg.go.dev/time#ParseDuration), defaults to `720h` (30 days). +- `network` - configuration options related to the network connection. + - `proxy` - URL of the proxy server. ## Configuration methods From 0381aa57bda9145c90bc47c378afab0b95e5243b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 27 Nov 2023 15:34:31 +0100 Subject: [PATCH 046/361] Library update/install with `--no-overwrite` will perform the update if it's possible to keep already installed dependencies at their current version (#2431) * Updated semver library * Improved behaviour of 'lib install --no-overwrite' flag Previously the --no-overwrite flag would fail to install if a library dependency was already installed but not at the latest version. After this change the already present library may be accepted as a dependency if it match the version constraints of the installed library. * Fixed integration test * Added integration test * Always use 'installed' version if available * Allow a bit more time for slow CI --- .licenses/go/go.bug.st/relaxed-semver.dep.yml | 2 +- arduino/libraries/librariesindex/index.go | 44 +- .../libraries/librariesindex/index_test.go | 4 +- arduino/libraries/librariesindex/json.go | 4 +- .../librariesmanager/librariesmanager.go | 14 + commands/lib/install.go | 7 +- commands/lib/resolve_deps.go | 31 +- commands/lib/search.go | 2 +- go.mod | 2 +- go.sum | 4 +- internal/cli/lib/check_deps.go | 15 +- internal/integrationtest/lib/lib_test.go | 58 +- rpc/cc/arduino/cli/commands/v1/lib.pb.go | 552 +++++++++--------- rpc/cc/arduino/cli/commands/v1/lib.proto | 3 + 14 files changed, 423 insertions(+), 319 deletions(-) diff --git a/.licenses/go/go.bug.st/relaxed-semver.dep.yml b/.licenses/go/go.bug.st/relaxed-semver.dep.yml index 42e7ce72caf..6a4349bf119 100644 --- a/.licenses/go/go.bug.st/relaxed-semver.dep.yml +++ b/.licenses/go/go.bug.st/relaxed-semver.dep.yml @@ -1,6 +1,6 @@ --- name: go.bug.st/relaxed-semver -version: v0.11.0 +version: v0.12.0 type: go summary: homepage: https://pkg.go.dev/go.bug.st/relaxed-semver diff --git a/arduino/libraries/librariesindex/index.go b/arduino/libraries/librariesindex/index.go index f7ebc6ba172..b1d756554d9 100644 --- a/arduino/libraries/librariesindex/index.go +++ b/arduino/libraries/librariesindex/index.go @@ -44,7 +44,7 @@ type Library struct { type Release struct { Author string Version *semver.Version - Dependencies []semver.Dependency + Dependencies []*Dependency Maintainer string Sentence string Paragraph string @@ -85,7 +85,7 @@ func (r *Release) GetVersion() *semver.Version { } // GetDependencies returns the dependencies of this library. -func (r *Release) GetDependencies() []semver.Dependency { +func (r *Release) GetDependencies() []*Dependency { return r.Dependencies } @@ -144,31 +144,31 @@ func (idx *Index) FindLibraryUpdate(lib *libraries.Library) *Release { return nil } -// ResolveDependencies returns the dependencies of a library release. -func (idx *Index) ResolveDependencies(lib *Release) []*Release { - // Box lib index *Release to be digested by dep-resolver - // (TODO: There is a better use of golang interfaces to avoid this?) - allReleases := map[string]semver.Releases{} - for _, indexLib := range idx.Libraries { - releases := semver.Releases{} +// ResolveDependencies resolve the dependencies of a library release and returns a +// possible solution (the set of library releases to install together with the library). +// An optional "override" releases may be passed if we want to exclude the same +// libraries from the index (for example if we want to keep an installed library). +func (idx *Index) ResolveDependencies(lib *Release, overrides []*Release) []*Release { + resolver := semver.NewResolver[*Release, *Dependency]() + + overridden := map[string]bool{} + for _, override := range overrides { + resolver.AddRelease(override) + overridden[override.GetName()] = true + } + + // Create and populate the library resolver + for libName, indexLib := range idx.Libraries { + if _, ok := overridden[libName]; ok { + continue + } for _, indexLibRelease := range indexLib.Releases { - releases = append(releases, indexLibRelease) + resolver.AddRelease(indexLibRelease) } - allReleases[indexLib.Name] = releases } // Perform lib resolution - archive := &semver.Archive{ - Releases: allReleases, - } - deps := archive.Resolve(lib) - - // Unbox resolved deps back into *Release - res := []*Release{} - for _, dep := range deps { - res = append(res, dep.(*Release)) - } - return res + return resolver.Resolve(lib) } // Versions returns an array of all versions available of the library diff --git a/arduino/libraries/librariesindex/index_test.go b/arduino/libraries/librariesindex/index_test.go index 59b245b4978..9b5721cc731 100644 --- a/arduino/libraries/librariesindex/index_test.go +++ b/arduino/libraries/librariesindex/index_test.go @@ -90,7 +90,7 @@ func TestIndexer(t *testing.T) { rtcInexistent2 := index.FindLibraryUpdate(&libraries.Library{Name: "RTCZero-blah", Version: semver.MustParse("1.0.0")}) require.Nil(t, rtcInexistent2) - resolve1 := index.ResolveDependencies(alp.Releases["1.2.1"]) + resolve1 := index.ResolveDependencies(alp.Releases["1.2.1"], nil) require.Len(t, resolve1, 2) require.Contains(t, resolve1, alp.Releases["1.2.1"]) require.Contains(t, resolve1, rtc.Releases["1.6.0"]) @@ -108,7 +108,7 @@ func TestIndexer(t *testing.T) { require.NotNil(t, http040) require.Equal(t, "ArduinoHttpClient@0.4.0", http040.String()) - resolve2 := index.ResolveDependencies(oauth010) + resolve2 := index.ResolveDependencies(oauth010, nil) require.Len(t, resolve2, 4) require.Contains(t, resolve2, oauth010) require.Contains(t, resolve2, eccx135) diff --git a/arduino/libraries/librariesindex/json.go b/arduino/libraries/librariesindex/json.go index f1820ba9eb9..c7ada2be4f9 100644 --- a/arduino/libraries/librariesindex/json.go +++ b/arduino/libraries/librariesindex/json.go @@ -126,8 +126,8 @@ func (indexLib *indexRelease) extractReleaseIn(library *Library) { } } -func (indexLib *indexRelease) extractDependencies() []semver.Dependency { - res := []semver.Dependency{} +func (indexLib *indexRelease) extractDependencies() []*Dependency { + res := []*Dependency{} if indexLib.Dependencies == nil || len(indexLib.Dependencies) == 0 { return res } diff --git a/arduino/libraries/librariesmanager/librariesmanager.go b/arduino/libraries/librariesmanager/librariesmanager.go index e6db732bd9b..eb7254054e0 100644 --- a/arduino/libraries/librariesmanager/librariesmanager.go +++ b/arduino/libraries/librariesmanager/librariesmanager.go @@ -225,6 +225,20 @@ func (lm *LibrariesManager) FindByReference(libRef *librariesindex.Reference, in return alternatives.FilterByVersionAndInstallLocation(libRef.Version, installLocation) } +// FindAllInstalled returns all the installed libraries +func (lm *LibrariesManager) FindAllInstalled() libraries.List { + var res libraries.List + for _, libAlternatives := range lm.Libraries { + for _, libRelease := range libAlternatives { + if libRelease.InstallDir == nil { + continue + } + res.Add(libRelease) + } + } + return res +} + func (lm *LibrariesManager) clearLibraries() { for k := range lm.Libraries { delete(lm.Libraries, k) diff --git a/commands/lib/install.go b/commands/lib/install.go index 2b2af6b19e8..45129dabf77 100644 --- a/commands/lib/install.go +++ b/commands/lib/install.go @@ -47,9 +47,10 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa } } else { res, err := LibraryResolveDependencies(ctx, &rpc.LibraryResolveDependenciesRequest{ - Instance: req.GetInstance(), - Name: req.GetName(), - Version: req.GetVersion(), + Instance: req.GetInstance(), + Name: req.GetName(), + Version: req.GetVersion(), + DoNotUpdateInstalledLibraries: req.GetNoOverwrite(), }) if err != nil { return err diff --git a/commands/lib/resolve_deps.go b/commands/lib/resolve_deps.go index d0babcf38ff..e502dfedf73 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/lib/resolve_deps.go @@ -22,8 +22,10 @@ import ( "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/libraries" + "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + semver "go.bug.st/relaxed-semver" ) // LibraryResolveDependencies FIXMEDOC @@ -46,7 +48,21 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe } // Resolve all dependencies... - deps := lm.Index.ResolveDependencies(reqLibRelease) + var overrides []*librariesindex.Release + if req.GetDoNotUpdateInstalledLibraries() { + libs := lm.FindAllInstalled() + libs = libs.FilterByVersionAndInstallLocation(nil, libraries.User) + for _, lib := range libs { + release := lm.Index.FindRelease(&librariesindex.Reference{ + Name: lib.Name, + Version: lib.Version, + }) + if release != nil { + overrides = append(overrides, release) + } + } + } + deps := lm.Index.ResolveDependencies(reqLibRelease, overrides) // If no solution has been found if len(deps) == 0 { @@ -65,14 +81,19 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe res := []*rpc.LibraryDependencyStatus{} for _, dep := range deps { // ...and add information on currently installed versions of the libraries - installed := "" + var installed *semver.Version + required := dep.GetVersion() if installedLib, has := installedLibs[dep.GetName()]; has { - installed = installedLib.Version.String() + installed = installedLib.Version + if installed != nil && required != nil && installed.Equal(required) { + // avoid situations like installed=0.53 and required=0.53.0 + required = installed + } } res = append(res, &rpc.LibraryDependencyStatus{ Name: dep.GetName(), - VersionRequired: dep.GetVersion().String(), - VersionInstalled: installed, + VersionRequired: required.String(), + VersionInstalled: installed.String(), }) } sort.Slice(res, func(i, j int) bool { diff --git a/commands/lib/search.go b/commands/lib/search.go index c4a2afe8fd2..e1d95914cbc 100644 --- a/commands/lib/search.go +++ b/commands/lib/search.go @@ -118,7 +118,7 @@ func getLibraryParameters(rel *librariesindex.Release) *rpc.LibraryRelease { } } -func getLibraryDependenciesParameter(deps []semver.Dependency) []*rpc.LibraryDependency { +func getLibraryDependenciesParameter(deps []*librariesindex.Dependency) []*rpc.LibraryDependency { res := []*rpc.LibraryDependency{} for _, dep := range deps { res = append(res, &rpc.LibraryDependency{ diff --git a/go.mod b/go.mod index 3ebbb7921c2..de6812ce7cd 100644 --- a/go.mod +++ b/go.mod @@ -36,7 +36,7 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.1.1 - go.bug.st/relaxed-semver v0.11.0 + go.bug.st/relaxed-semver v0.12.0 go.bug.st/serial v1.6.1 go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.14.0 diff --git a/go.sum b/go.sum index 35ee6d33ed7..ae98388b2bb 100644 --- a/go.sum +++ b/go.sum @@ -455,8 +455,8 @@ go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= go.bug.st/downloader/v2 v2.1.1 h1:nyqbUizo3E2IxCCm4YFac4FtSqqFpqWP+Aae5GCMuw4= go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= go.bug.st/relaxed-semver v0.9.0/go.mod h1:ug0/W/RPYUjliE70Ghxg77RDHmPxqpo7SHV16ijss7Q= -go.bug.st/relaxed-semver v0.11.0 h1:ngzpUlBEZ5F9hJnMZP55LIFbgX3bCztBBufMhJViAsY= -go.bug.st/relaxed-semver v0.11.0/go.mod h1:rqPEm+790OTQlAdfSJSHWwpKOg3A8UyvAWMZxYkQivc= +go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= +go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg= go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index ce30c8df828..557983298fb 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -33,6 +33,7 @@ import ( ) func initDepsCommand() *cobra.Command { + var noOverwrite bool depsCommand := &cobra.Command{ Use: fmt.Sprintf("deps %s[@%s]...", tr("LIBRARY"), tr("VERSION_NUMBER")), Short: tr("Check dependencies status for the specified library."), @@ -41,15 +42,18 @@ func initDepsCommand() *cobra.Command { " " + os.Args[0] + " lib deps AudioZero # " + tr("for the latest version.") + "\n" + " " + os.Args[0] + " lib deps AudioZero@1.0.0 # " + tr("for the specific version."), Args: cobra.ExactArgs(1), - Run: runDepsCommand, + Run: func(cmd *cobra.Command, args []string) { + runDepsCommand(args, noOverwrite) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return arguments.GetInstalledLibraries(), cobra.ShellCompDirectiveDefault }, } + depsCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, tr("Do not try to update library dependencies if already installed.")) return depsCommand } -func runDepsCommand(cmd *cobra.Command, args []string) { +func runDepsCommand(args []string, noOverwrite bool) { instance := instance.CreateAndInit() logrus.Info("Executing `arduino-cli lib deps`") libRef, err := ParseLibraryReferenceArgAndAdjustCase(instance, args[0]) @@ -58,9 +62,10 @@ func runDepsCommand(cmd *cobra.Command, args []string) { } deps, err := lib.LibraryResolveDependencies(context.Background(), &rpc.LibraryResolveDependenciesRequest{ - Instance: instance, - Name: libRef.Name, - Version: libRef.Version, + Instance: instance, + Name: libRef.Name, + Version: libRef.Version, + DoNotUpdateInstalledLibraries: noOverwrite, }) if err != nil { feedback.Fatal(tr("Error resolving dependencies for %[1]s: %[2]s", libRef, err), feedback.ErrGeneric) diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index 868f3f2097c..115a3550964 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -589,8 +589,10 @@ func TestInstallLibraryWithDependencies(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("lib", "install", "SD@1.2.3") require.NoError(t, err) - _, _, err = cli.Run("lib", "install", "Arduino_Builtin", "--no-overwrite") - require.Error(t, err) + // This time it should accept the installation with the currently installed SD 1.2.3 + out, _, err := cli.Run("lib", "install", "Arduino_Builtin", "--no-overwrite") + require.NoError(t, err) + require.Contains(t, string(out), "Already installed SD@1.2.3") } func TestInstallNoDeps(t *testing.T) { @@ -1653,9 +1655,6 @@ func TestDependencyResolver(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - _, _, err := cli.Run("lib", "update-index") - require.NoError(t, err) - done := make(chan bool) go func() { _, _, err := cli.Run("lib", "install", "NTPClient_Generic") @@ -1665,7 +1664,54 @@ func TestDependencyResolver(t *testing.T) { select { case <-done: - case <-time.After(time.Second * 2): + case <-time.After(time.Second * 10): require.FailNow(t, "The install command didn't complete in the allocated time") } } + +func TestDependencyResolverNoOverwrite(t *testing.T) { + // https://github.com/arduino/arduino-cli/issues/1799 + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("lib", "install", "Bounce2@2.53.0") + require.NoError(t, err) + + out, _, err := cli.Run("lib", "deps", "EncoderTool@2.2.0", "--format", "json") + require.NoError(t, err) + outjson := requirejson.Parse(t, out) + outjson.MustContain(`{ + "dependencies": [ + { + "name": "Bounce2", + "version_installed": "2.53" + }, + { + "name": "EncoderTool", + "version_required": "2.2.0" + } + ] + }`) + require.NotEqual(t, outjson.Query("dependencies[0].version_required").String(), `"2.53.0"`) + require.NotEqual(t, outjson.Query("dependencies[0].version_required").String(), `"2.53"`) + + out, _, err = cli.Run("lib", "deps", "EncoderTool@2.2.0", "--no-overwrite", "--format", "json") + require.NoError(t, err) + outjson = requirejson.Parse(t, out) + outjson.MustContain(`{ + "dependencies": [ + { + "name": "Bounce2", + "version_required": "2.53", + "version_installed": "2.53" + }, + { + "name": "EncoderTool", + "version_required": "2.2.0" + } + ] + }`) + + _, _, err = cli.Run("lib", "install", "EncoderTool@2.2.0", "--no-overwrite") + require.NoError(t, err) +} diff --git a/rpc/cc/arduino/cli/commands/v1/lib.pb.go b/rpc/cc/arduino/cli/commands/v1/lib.pb.go index 7ef43f22bc9..d4cc8c3f386 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/lib.pb.go @@ -863,6 +863,9 @@ type LibraryResolveDependenciesRequest struct { // The version of the library to check dependencies of. If no version is // specified, dependencies of the newest version will be listed. Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // If true the computed solution will try to keep exising libraries + // at their current version. + DoNotUpdateInstalledLibraries bool `protobuf:"varint,4,opt,name=do_not_update_installed_libraries,json=doNotUpdateInstalledLibraries,proto3" json:"do_not_update_installed_libraries,omitempty"` } func (x *LibraryResolveDependenciesRequest) Reset() { @@ -918,6 +921,13 @@ func (x *LibraryResolveDependenciesRequest) GetVersion() string { return "" } +func (x *LibraryResolveDependenciesRequest) GetDoNotUpdateInstalledLibraries() bool { + if x != nil { + return x.DoNotUpdateInstalledLibraries + } + return false +} + type LibraryResolveDependenciesResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2344,7 +2354,7 @@ var file_cc_arduino_cli_commands_v1_lib_proto_rawDesc = []byte{ 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x93, 0x01, + 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdd, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, @@ -2354,279 +2364,283 @@ var file_cc_arduino_cli_commands_v1_lib_proto_rawDesc = []byte{ 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0x7d, 0x0a, 0x22, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x64, 0x65, 0x70, - 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, - 0x65, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, - 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6f, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, - 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, - 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x0d, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, + 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x21, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, + 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x7d, 0x0a, + 0x22, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, + 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0x85, 0x01, 0x0a, + 0x17, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x32, 0x0a, 0x15, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, + 0x6f, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, + 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, + 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x41, 0x72, 0x67, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, + 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x09, + 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0xf4, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, - 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, - 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, - 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, - 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, - 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x06, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf4, 0x03, + 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, + 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, + 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, + 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, + 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, + 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, + 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, + 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, - 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0c, 0x64, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x11, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, - 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, - 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x1c, - 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x66, 0x71, 0x62, 0x6e, 0x22, 0x74, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x13, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x63, 0x69, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, + 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, + 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a, + 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, + 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, + 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0xae, 0x01, + 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, + 0x62, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x74, + 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x6c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xf8, + 0x08, 0x0a, 0x07, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, + 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, + 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, + 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, + 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, + 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x44, 0x69, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, + 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, + 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, + 0x44, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, + 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x6f, 0x74, 0x41, 0x4c, + 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x65, + 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x64, 0x5f, 0x66, + 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x64, 0x46, 0x6c, + 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, + 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x10, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, - 0x3d, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x44, - 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x22, 0xf8, 0x08, 0x0a, 0x07, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, - 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, - 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, - 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, - 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x69, 0x6c, - 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, - 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x5f, - 0x61, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x64, 0x6f, 0x74, 0x41, 0x4c, 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x19, - 0x0a, 0x08, 0x6c, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, - 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, - 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, - 0x47, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, - 0x75, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x06, 0x6c, + 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, + 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x12, 0x60, + 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, + 0x68, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, + 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, + 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x44, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, + 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x5a, 0x69, + 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, - 0x6f, 0x75, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, - 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, - 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, - 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, - 0x69, 0x6e, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3d, 0x0a, - 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, - 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x8e, 0x01, 0x0a, 0x18, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, + 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x5a, 0x69, + 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x22, 0x6a, 0x0a, 0x19, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, - 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, - 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8c, 0x01, 0x0a, - 0x18, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, - 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x47, - 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, - 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2a, 0x61, 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, - 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x01, 0x2a, 0x5a, 0x0a, 0x13, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, - 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, - 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, - 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x46, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x49, 0x42, 0x52, 0x41, - 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x10, 0x00, - 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, - 0x55, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x2a, 0xc3, - 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x00, - 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4c, - 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, - 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, - 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, - 0x49, 0x4e, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, - 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4d, 0x41, 0x4e, 0x41, 0x47, - 0x45, 0x44, 0x10, 0x04, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x69, 0x74, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x2a, 0x61, 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x4c, + 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, + 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x24, + 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, + 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, + 0x49, 0x4e, 0x10, 0x01, 0x2a, 0x5a, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4c, + 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, + 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, + 0x2a, 0x46, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, + 0x74, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, + 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, + 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x43, + 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x2a, 0xc3, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, + 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, + 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, + 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, + 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, + 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, + 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x54, + 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x1e, + 0x0a, 0x1a, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x04, 0x42, 0x48, + 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, + 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, + 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/lib.proto b/rpc/cc/arduino/cli/commands/v1/lib.proto index a922a50112b..262a4b9eac1 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.proto +++ b/rpc/cc/arduino/cli/commands/v1/lib.proto @@ -118,6 +118,9 @@ message LibraryResolveDependenciesRequest { // The version of the library to check dependencies of. If no version is // specified, dependencies of the newest version will be listed. string version = 3; + // If true the computed solution will try to keep exising libraries + // at their current version. + bool do_not_update_installed_libraries = 4; } message LibraryResolveDependenciesResponse { From ab031614dc8d80c917b56a5de7c5823a6f989019 Mon Sep 17 00:00:00 2001 From: Luca Burelli <pil@iol.it> Date: Mon, 27 Nov 2023 16:27:40 +0100 Subject: [PATCH 047/361] fix: debugging requires a non empty debug.executable (#2439) * fix: debugging requires a non empty debug.executable * Updated docs --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- commands/debug/debug_info.go | 2 +- docs/UPGRADING.md | 2 ++ docs/platform-specification.md | 3 +++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 6b8064e9d8f..1f6561331ad 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -140,7 +140,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } - if !debugProperties.ContainsKey("executable") { + if !debugProperties.ContainsKey("executable") || debugProperties.Get("executable") == "" { return nil, &arduino.FailedDebugError{Message: tr("Debugging not supported for board %s", req.GetFqbn())} } diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 6c67f404b60..69cef7ebc24 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -2533,6 +2533,8 @@ debug.server.openocd.scripts_dir={runtime.tools.openocd-0.10.0-arduino7.path}/sh debug.server.openocd.script={runtime.platform.path}/variants/{build.variant}/{build.openocdscript} ``` +The `debug.executable` key must be present and non-empty for debugging to be supported. + The `debug.server.XXXX` subkeys are optional and also "free text", this means that the configuration may be extended as needed by the specific server. For now only `openocd` is supported. Anyway, if this change works, any other kind of server may be fairly easily added. diff --git a/docs/platform-specification.md b/docs/platform-specification.md index 8e690cb0787..fce10932c4a 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -1369,12 +1369,15 @@ to provide some debug configuration directives. All the debug directives are grouped under the `debug.*` directives. Here is the complete list of the supported directives: +- `debug.executable`: is the absolute path to the compiled binary of the sketch - `debug.toolchain`: is a unique identifier of the required toolchain, currently we support `gcc` (and compatible) only - `debug.toolchain.path`: is the absolute path to the toolchain directory - `debug.toolchain.prefix`: is the prefix of the toolchain (for example `arm-none-eabi-`) - `debug.server`: is a unique identifier of the required debug server, currently we support only `openocd` - `debug.svd_file`: is the absolute path to the SVD descriptor. +If the `debug.executable` property is not present or is empty debugging will not be allowed. + OpenOCD server specific configurations: - `debug.server.openocd.path`: is the absolute path to the OpenOCD directory From ecc1ece83b0d39588496a16b093e7bc6ad057043 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 29 Nov 2023 15:10:29 +0100 Subject: [PATCH 048/361] [skip-changelog] Parallelize `upload_mock` integration tests (#2444) * Parallelize upload_mock integration tests * Accumulate output in integration test' runs of arduino-cli Otherwise the output may be interleaved if tests are run in parallel. --- internal/integrationtest/arduino-cli.go | 25 ++++++++++++------- .../upload_mock/upload_mock_test.go | 20 ++++++++------- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 2f1f7c57842..34615016f29 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -299,13 +299,20 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader args = append([]string{"--config-file", cli.cliConfigPath.String()}, args...) } + // Accumulate all output to terminal and spit-out all at once at the end of the test + // This allows to correctly group test output when running t.Parallel() tests. + terminalOut := new(bytes.Buffer) + defer func() { + fmt.Print(terminalOut.String()) + }() + // Github-actions workflow tags to fold log lines if os.Getenv("GITHUB_ACTIONS") != "" { - fmt.Printf("::group::Running %s\n", strings.Join(args, " ")) - defer fmt.Println("::endgroup::") + fmt.Fprintf(terminalOut, "::group::Running %s\n", strings.Join(args, " ")) + defer fmt.Fprintln(terminalOut, "::endgroup::") } - fmt.Println(color.HiBlackString(">>> Running: ") + color.HiYellowString("%s %s", cli.path, strings.Join(args, " "))) + fmt.Fprintln(terminalOut, color.HiBlackString(">>> Running: ")+color.HiYellowString("%s %s", cli.path, strings.Join(args, " "))) cliProc, err := executils.NewProcessFromPath(cli.convertEnvForExecutils(env), cli.path, args...) cli.t.NoError(err) stdout, err := cliProc.StdoutPipe() @@ -325,8 +332,8 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader if stdoutBuff == nil { stdoutBuff = io.Discard } - if _, err := io.Copy(stdoutBuff, io.TeeReader(stdout, os.Stdout)); err != nil { - fmt.Println(color.HiBlackString("<<< stdout copy error:"), err) + if _, err := io.Copy(stdoutBuff, io.TeeReader(stdout, terminalOut)); err != nil { + fmt.Fprintln(terminalOut, color.HiBlackString("<<< stdout copy error:"), err) } }() go func() { @@ -334,20 +341,20 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader if stderrBuff == nil { stderrBuff = io.Discard } - if _, err := io.Copy(stderrBuff, io.TeeReader(stderr, os.Stderr)); err != nil { - fmt.Println(color.HiBlackString("<<< stderr copy error:"), err) + if _, err := io.Copy(stderrBuff, io.TeeReader(stderr, terminalOut)); err != nil { + fmt.Fprintln(terminalOut, color.HiBlackString("<<< stderr copy error:"), err) } }() if stdinBuff != nil { go func() { if _, err := io.Copy(stdin, stdinBuff); err != nil { - fmt.Println(color.HiBlackString("<<< stdin copy error:"), err) + fmt.Fprintln(terminalOut, color.HiBlackString("<<< stdin copy error:"), err) } }() } wg.Wait() cliErr := cliProc.Wait() - fmt.Println(color.HiBlackString("<<< Run completed (err = %v)", cliErr)) + fmt.Fprintln(terminalOut, color.HiBlackString("<<< Run completed (err = %v)", cliErr)) return cliErr } diff --git a/internal/integrationtest/upload_mock/upload_mock_test.go b/internal/integrationtest/upload_mock/upload_mock_test.go index d88fa84a91d..c41f9db2f7d 100644 --- a/internal/integrationtest/upload_mock/upload_mock_test.go +++ b/internal/integrationtest/upload_mock/upload_mock_test.go @@ -44,7 +44,7 @@ type parametersMap struct { func TestUploadSketch(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) - defer env.CleanUp() + t.Cleanup(env.CleanUp) indexes := []string{ "https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json", @@ -655,13 +655,14 @@ func TestUploadSketch(t *testing.T) { sketchPath := cli.SketchbookDir().Join(sketchName) _, _, err := cli.Run("sketch", "new", sketchPath.String()) require.NoError(t, err) + buildDir := generateBuildDir(sketchPath, t) + t.Cleanup(func() { buildDir.RemoveAll() }) - var stdout []byte - - for i, test := range testParameters { + for i, _test := range testParameters { + test := _test t.Run(fmt.Sprintf("%d", i), func(t *testing.T) { - buildDir := generateBuildDir(sketchPath, t) - defer buildDir.RemoveAll() + t.Parallel() + var stdout []byte if test.Programmer != "" { if test.UploadPort != "" { stdout, _, err = cli.Run("upload", "-p", test.UploadPort, "-P", test.Programmer, "-b", test.Fqbn, sketchPath.String(), "--dry-run", "-v") @@ -686,10 +687,11 @@ func TestUploadSketch(t *testing.T) { }) } - for i, test := range testParametersMap { + for i, _test := range testParametersMap { + test := _test t.Run(fmt.Sprintf("WithMap%d", i), func(t *testing.T) { - buildDir := generateBuildDir(sketchPath, t) - defer buildDir.RemoveAll() + t.Parallel() + var stdout []byte if test.Programmer != "" { if test.UploadPort != "" { stdout, _, err = cli.Run("upload", "-p", test.UploadPort, "-P", test.Programmer, "-b", test.Fqbn, sketchPath.String(), "--dry-run", "-v") From 5d3f7c5fecc42422103dd19a99337c67638a05ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 29 Nov 2023 15:44:55 +0100 Subject: [PATCH 049/361] [skip-changelog] Bump golang.org/x/term from 0.14.0 to 0.15.0 (#2441) * Bump golang.org/x/term from 0.14.0 to 0.15.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.14.0 to 0.15.0. - [Commits](https://github.com/golang/term/compare/v0.14.0...v0.15.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index fa3deb385db..02a0866858e 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.14.0 +version: v0.15.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.14.0/LICENSE +- sources: sys@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.14.0/PATENTS +- sources: sys@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 82acb666325..86b3e4620f4 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.14.0 +version: v0.15.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.14.0/LICENSE +- sources: sys@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.14.0/PATENTS +- sources: sys@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 72ae563276f..a919adf376b 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.14.0 +version: v0.15.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index de6812ce7cd..5c58f997e8d 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( go.bug.st/relaxed-semver v0.12.0 go.bug.st/serial v1.6.1 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.14.0 + golang.org/x/term v0.15.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a google.golang.org/grpc v1.59.0 @@ -100,7 +100,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.14.0 // indirect + golang.org/x/sys v0.15.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index ae98388b2bb..2c2d881c866 100644 --- a/go.sum +++ b/go.sum @@ -677,15 +677,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= -golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= +golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.14.0 h1:LGK9IlZ8T9jvdy6cTdfKUCltatMFOehAQo9SRC46UQ8= -golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= +golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= +golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= From d41da4307456d242c7507c260860632966739a88 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 1 Dec 2023 16:35:06 +0100 Subject: [PATCH 050/361] Added `debug check` command to check if a combination of board/programmer supports debugging. (#2443) * Moved rcp message to proper position * Added gRPC command to check for debugger support * Made debug flags var non-global * Implementation of 'debug check' command * Implementation of cli command 'debug check' * added integration test * Renamed field for clarity * Added minimum debug_fqbn computation in 'debug check' command --- arduino/cores/fqbn.go | 10 + commands/daemon/debug.go | 6 + commands/debug/debug.go | 2 +- commands/debug/debug_info.go | 98 +++- internal/cli/debug/debug.go | 29 +- internal/cli/debug/debug_check.go | 89 +++ internal/cli/feedback/result/rpc.go | 12 + internal/cli/feedback/result/rpc_test.go | 4 + internal/integrationtest/debug/debug_test.go | 57 +- .../testdata/hardware/my/samd/boards.txt | 36 ++ rpc/cc/arduino/cli/commands/v1/commands.pb.go | 320 ++++++----- rpc/cc/arduino/cli/commands/v1/commands.proto | 5 + .../cli/commands/v1/commands_grpc.pb.go | 41 ++ rpc/cc/arduino/cli/commands/v1/debug.pb.go | 534 ++++++++++++------ rpc/cc/arduino/cli/commands/v1/debug.proto | 41 +- 15 files changed, 916 insertions(+), 368 deletions(-) create mode 100644 internal/cli/debug/debug_check.go diff --git a/arduino/cores/fqbn.go b/arduino/cores/fqbn.go index 35f48c2207e..c5b4384ae5d 100644 --- a/arduino/cores/fqbn.go +++ b/arduino/cores/fqbn.go @@ -30,6 +30,16 @@ type FQBN struct { Configs *properties.Map } +// MustParseFQBN extract an FQBN object from the input string +// or panics if the input is not a valid FQBN. +func MustParseFQBN(fqbnIn string) *FQBN { + res, err := ParseFQBN(fqbnIn) + if err != nil { + panic(err) + } + return res +} + // ParseFQBN extract an FQBN object from the input string func ParseFQBN(fqbnIn string) (*FQBN, error) { // Split fqbn diff --git a/commands/daemon/debug.go b/commands/daemon/debug.go index f888336d3d9..538d2b171d4 100644 --- a/commands/daemon/debug.go +++ b/commands/daemon/debug.go @@ -66,3 +66,9 @@ func (s *ArduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.Get res, err := cmd.GetDebugConfig(ctx, req) return res, convertErrorToRPCStatus(err) } + +// IsDebugSupported checks if debugging is supported for a given configuration +func (s *ArduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { + res, err := cmd.IsDebugSupported(ctx, req) + return res, convertErrorToRPCStatus(err) +} diff --git a/commands/debug/debug.go b/commands/debug/debug.go index f3dee2d51d1..38b2d52e15d 100644 --- a/commands/debug/debug.go +++ b/commands/debug/debug.go @@ -118,7 +118,7 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read // getCommandLine compose a debug command represented by a core recipe func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer) ([]string, error) { - debugInfo, err := getDebugProperties(req, pme) + debugInfo, err := getDebugProperties(req, pme, false) if err != nil { return nil, err } diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 1f6561331ad..621809d4adf 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -18,6 +18,8 @@ package debug import ( "context" "encoding/json" + "errors" + "reflect" "slices" "strconv" "strings" @@ -41,25 +43,83 @@ func GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.G return nil, &arduino.InvalidInstanceError{} } defer release() - return getDebugProperties(req, pme) + return getDebugProperties(req, pme, false) } -func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer) (*rpc.GetDebugConfigResponse, error) { - // TODO: make a generic function to extract sketch from request - // and remove duplication in commands/compile.go - if req.GetSketchPath() == "" { - return nil, &arduino.MissingSketchPathError{} +// IsDebugSupported checks if the given board/programmer configuration supports debugging. +func IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { + pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) + if pme == nil { + return nil, &arduino.InvalidInstanceError{} + } + defer release() + configRequest := &rpc.GetDebugConfigRequest{ + Instance: req.GetInstance(), + Fqbn: req.GetFqbn(), + SketchPath: "", + Port: req.GetPort(), + Interpreter: req.GetInterpreter(), + ImportDir: "", + Programmer: req.GetProgrammer(), + } + expectedOutput, err := getDebugProperties(configRequest, pme, true) + var x *arduino.FailedDebugError + if errors.As(err, &x) { + return &rpc.IsDebugSupportedResponse{DebuggingSupported: false}, nil } - sketchPath := paths.New(req.GetSketchPath()) - sk, err := sketch.New(sketchPath) if err != nil { - return nil, &arduino.CantOpenSketchError{Cause: err} + return nil, err + } + + // Compute the minimum FQBN required to get the same debug configuration. + // (i.e. the FQBN cleaned up of the options that do not affect the debugger configuration) + minimumFQBN := cores.MustParseFQBN(req.GetFqbn()) + for _, config := range minimumFQBN.Configs.Keys() { + checkFQBN := minimumFQBN.Clone() + checkFQBN.Configs.Remove(config) + configRequest.Fqbn = checkFQBN.String() + checkOutput, err := getDebugProperties(configRequest, pme, true) + if err == nil && reflect.DeepEqual(expectedOutput, checkOutput) { + minimumFQBN.Configs.Remove(config) + } + } + return &rpc.IsDebugSupportedResponse{ + DebuggingSupported: true, + DebugFqbn: minimumFQBN.String(), + }, nil +} + +func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer, skipSketchChecks bool) (*rpc.GetDebugConfigResponse, error) { + var ( + sketchName string + sketchDefaultFQBN string + sketchDefaultBuildPath *paths.Path + ) + if !skipSketchChecks { + // TODO: make a generic function to extract sketch from request + // and remove duplication in commands/compile.go + if req.GetSketchPath() == "" { + return nil, &arduino.MissingSketchPathError{} + } + sketchPath := paths.New(req.GetSketchPath()) + sk, err := sketch.New(sketchPath) + if err != nil { + return nil, &arduino.CantOpenSketchError{Cause: err} + } + sketchName = sk.Name + sketchDefaultFQBN = sk.GetDefaultFQBN() + sketchDefaultBuildPath = sk.DefaultBuildPath() + } else { + // Use placeholder sketch data + sketchName = "Sketch" + sketchDefaultFQBN = "" + sketchDefaultBuildPath = paths.New("SketchBuildPath") } // XXX Remove this code duplication!! fqbnIn := req.GetFqbn() - if fqbnIn == "" && sk != nil { - fqbnIn = sk.GetDefaultFQBN() + if fqbnIn == "" { + fqbnIn = sketchDefaultFQBN } if fqbnIn == "" { return nil, &arduino.MissingFQBNError{} @@ -109,16 +169,18 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl if importDir := req.GetImportDir(); importDir != "" { importPath = paths.New(importDir) } else { - importPath = sk.DefaultBuildPath() - } - if !importPath.Exist() { - return nil, &arduino.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} + importPath = sketchDefaultBuildPath } - if !importPath.IsDir() { - return nil, &arduino.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} + if !skipSketchChecks { + if !importPath.Exist() { + return nil, &arduino.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} + } + if !importPath.IsDir() { + return nil, &arduino.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} + } } toolProperties.SetPath("build.path", importPath) - toolProperties.Set("build.project_name", sk.Name+".ino") + toolProperties.Set("build.project_name", sketchName+".ino") // Set debug port property port := req.GetPort() diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 8982dbb5b7d..e85c08c8678 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -36,27 +36,31 @@ import ( "github.com/spf13/cobra" ) -var ( - fqbnArg arguments.Fqbn - portArgs arguments.Port - interpreter string - importDir string - printInfo bool - programmer arguments.Programmer - tr = i18n.Tr -) +var tr = i18n.Tr // NewCommand created a new `upload` command func NewCommand() *cobra.Command { + var ( + fqbnArg arguments.Fqbn + portArgs arguments.Port + interpreter string + importDir string + printInfo bool + programmer arguments.Programmer + ) + debugCommand := &cobra.Command{ Use: "debug", Short: tr("Debug Arduino sketches."), Long: tr("Debug Arduino sketches. (this command opens an interactive gdb session)"), Example: " " + os.Args[0] + " debug -b arduino:samd:mkr1000 -P atmel_ice /home/user/Arduino/MySketch", Args: cobra.MaximumNArgs(1), - Run: runDebugCommand, + Run: func(cmd *cobra.Command, args []string) { + runDebugCommand(args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo) + }, } + debugCommand.AddCommand(newDebugCheckCommand()) fqbnArg.AddToCommand(debugCommand) portArgs.AddToCommand(debugCommand) programmer.AddToCommand(debugCommand) @@ -67,7 +71,8 @@ func NewCommand() *cobra.Command { return debugCommand } -func runDebugCommand(command *cobra.Command, args []string) { +func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, + interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool) { instance := instance.CreateAndInit() logrus.Info("Executing `arduino-cli debug`") @@ -81,7 +86,7 @@ func runDebugCommand(command *cobra.Command, args []string) { if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } - fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, instance, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + fqbn, port := arguments.CalculateFQBNAndPort(portArgs, fqbnArg, instance, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) debugConfigRequested := &rpc.GetDebugConfigRequest{ Instance: instance, Fqbn: fqbn, diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go new file mode 100644 index 00000000000..52e25d40577 --- /dev/null +++ b/internal/cli/debug/debug_check.go @@ -0,0 +1,89 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 debug + +import ( + "context" + "os" + + "github.com/arduino/arduino-cli/commands/debug" + "github.com/arduino/arduino-cli/internal/cli/arguments" + "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/instance" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/sirupsen/logrus" + "github.com/spf13/cobra" +) + +func newDebugCheckCommand() *cobra.Command { + var ( + fqbnArg arguments.Fqbn + portArgs arguments.Port + interpreter string + programmer arguments.Programmer + ) + debugCheckCommand := &cobra.Command{ + Use: "check", + Short: tr("Check if the given board/programmer combination supports debugging."), + Example: " " + os.Args[0] + " debug check -b arduino:samd:mkr1000 -P atmel_ice", + Run: func(cmd *cobra.Command, args []string) { + runDebugCheckCommand(&portArgs, &fqbnArg, interpreter, &programmer) + }, + } + fqbnArg.AddToCommand(debugCheckCommand) + portArgs.AddToCommand(debugCheckCommand) + programmer.AddToCommand(debugCheckCommand) + debugCheckCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) + return debugCheckCommand +} + +func runDebugCheckCommand(portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { + instance := instance.CreateAndInit() + logrus.Info("Executing `arduino-cli debug`") + + port, err := portArgs.GetPort(instance, "", "") + if err != nil { + feedback.FatalError(err, feedback.ErrBadArgument) + } + fqbn := fqbnArg.String() + resp, err := debug.IsDebugSupported(context.Background(), &rpc.IsDebugSupportedRequest{ + Instance: instance, + Fqbn: fqbn, + Port: port, + Interpreter: interpreter, + Programmer: programmerArg.String(instance, fqbn), + }) + if err != nil { + feedback.FatalError(err, feedback.ErrGeneric) + } + feedback.PrintResult(&debugCheckResult{result.NewIsDebugSupportedResponse(resp)}) +} + +type debugCheckResult struct { + Result *result.IsDebugSupportedResponse +} + +func (d *debugCheckResult) Data() interface{} { + return d.Result +} + +func (d *debugCheckResult) String() string { + if d.Result.DebuggingSupported { + return tr("The given board/programmer configuration supports debugging.") + } + return tr("The given board/programmer configuration does NOT support debugging.") +} diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index 03841025a3a..a78a2d95875 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -1057,3 +1057,15 @@ func NewCompileDiagnosticNote(cdn *rpc.CompileDiagnosticNote) *CompileDiagnostic Column: cdn.GetColumn(), } } + +type IsDebugSupportedResponse struct { + DebuggingSupported bool `json:"debugging_supported"` + DebugFQBN string `json:"debug_fqbn,omitempty"` +} + +func NewIsDebugSupportedResponse(resp *rpc.IsDebugSupportedResponse) *IsDebugSupportedResponse { + return &IsDebugSupportedResponse{ + DebuggingSupported: resp.GetDebuggingSupported(), + DebugFQBN: resp.GetDebugFqbn(), + } +} diff --git a/internal/cli/feedback/result/rpc_test.go b/internal/cli/feedback/result/rpc_test.go index af5259d128e..08f596b03ee 100644 --- a/internal/cli/feedback/result/rpc_test.go +++ b/internal/cli/feedback/result/rpc_test.go @@ -217,6 +217,10 @@ func TestAllFieldAreMapped(t *testing.T) { compileDiagnosticNoteRpc := &rpc.CompileDiagnosticNote{} compileDiagnosticNoteResult := result.NewCompileDiagnosticNote(compileDiagnosticNoteRpc) mustContainsAllPropertyOfRpcStruct(t, compileDiagnosticNoteRpc, compileDiagnosticNoteResult) + + isDebugSupportedResponseRpc := &rpc.IsDebugSupportedResponse{} + isDebugSupportedResponseResult := result.NewIsDebugSupportedResponse(isDebugSupportedResponseRpc) + mustContainsAllPropertyOfRpcStruct(t, isDebugSupportedResponseRpc, isDebugSupportedResponseResult) } func TestEnumsMapsEveryRpcCounterpart(t *testing.T) { diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index a01597468ec..12d4c514e78 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -33,13 +33,22 @@ func TestDebug(t *testing.T) { require.NoError(t, err) // Install cores + _, _, err = cli.Run("core", "install", "arduino:avr") + require.NoError(t, err) _, _, err = cli.Run("core", "install", "arduino:samd") require.NoError(t, err) + // Install custom core + customHw, err := paths.New("testdata", "hardware").Abs() + require.NoError(t, err) + err = customHw.CopyDirTo(cli.SketchbookDir().Join("hardware")) + require.NoError(t, err) + integrationtest.CLISubtests{ {"Start", testDebuggerStarts}, {"WithPdeSketchStarts", testDebuggerWithPdeSketchStarts}, {"DebugInformation", testAllDebugInformation}, + {"DebugCheck", testDebugCheck}, }.Run(t, env, cli) } @@ -99,12 +108,6 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli _, _, err := cli.Run("sketch", "new", sketchPath.String()) require.NoError(t, err) - // Install custom core - customHw, err := paths.New("testdata", "hardware").Abs() - require.NoError(t, err) - err = customHw.CopyDirTo(cli.SketchbookDir().Join("hardware")) - require.NoError(t, err) - // Build sketch _, _, err = cli.Run("compile", "-b", "my:samd:my", sketchPath.String(), "--format", "json") require.NoError(t, err) @@ -331,3 +334,45 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli } } } + +func testDebugCheck(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) { + _, _, err := cli.Run("debug", "check", "-b", "arduino:samd:mkr1000") + require.Error(t, err) + + out, _, err := cli.Run("debug", "check", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice") + require.NoError(t, err) + require.Contains(t, string(out), "The given board/programmer configuration supports debugging.") + + out, _, err = cli.Run("debug", "check", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice", "--format", "json") + require.NoError(t, err) + requirejson.Query(t, out, `.debugging_supported`, `true`) + + out, _, err = cli.Run("debug", "check", "-b", "arduino:avr:uno", "-P", "atmel_ice") + require.NoError(t, err) + require.Contains(t, string(out), "The given board/programmer configuration does NOT support debugging.") + + out, _, err = cli.Run("debug", "check", "-b", "arduino:avr:uno", "-P", "atmel_ice", "--format", "json") + require.NoError(t, err) + requirejson.Query(t, out, `.debugging_supported`, `false`) + + // Test minimum FQBN compute + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5", "-P", "atmel_ice", "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, out, `{ "debugging_supported" : false }`) + + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5:dbg=on", "-P", "atmel_ice", "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my5:dbg=on" }`) + + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5:dbg=on,cpu=150m", "-P", "atmel_ice", "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my5:dbg=on" }`) + + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my6", "-P", "atmel_ice", "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my6" }`) + + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my6:dbg=on", "-P", "atmel_ice", "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my6" }`) +} diff --git a/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt b/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt index 5512eb7e2b3..1333aba8231 100644 --- a/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt +++ b/internal/integrationtest/debug/testdata/hardware/my/samd/boards.txt @@ -112,3 +112,39 @@ my4.build.mcu=test2 # this one will be overwritten by additional_config my4.debug.svd_file=svd-file my4.debug.additional_config=build.debug.config.{build.mcu} + +# menu options for the following boards +menu.dbg=Debugger +menu.cpu=CPU Speed + +# This does not support debug by default but only after selecting a menu option +my5.name=5th Board +my5.build.core=arduino:arduino +my5.build.variant=arduino:mkr1000 +my5.debug.toolchain.path=gcc-path +my5.debug.toolchain.prefix=gcc-prefix +my5.debug.server.openocd.path=openocd-path +my5.debug.server.openocd.scripts_dir=openocd-scripts-dir +my5.debug.server.openocd.script=single-script +my5.debug.executable= +my5.menu.dbg.off=Debug Disabled +my5.menu.dbg.on=Debug Enabled +my5.menu.dbg.on.debug.executable=YES +my5.menu.cpu.100m=100Mhz +my5.menu.cpu.150m=150Mhz + +# this one has debugger enabled by default +my6.name=5th Board +my6.build.core=arduino:arduino +my6.build.variant=arduino:mkr1000 +my6.debug.toolchain.path=gcc-path +my6.debug.toolchain.prefix=gcc-prefix +my6.debug.server.openocd.path=openocd-path +my6.debug.server.openocd.scripts_dir=openocd-scripts-dir +my6.debug.server.openocd.script=single-script +my6.debug.executable= +my6.menu.dbg.on=Debug Enabled +my6.menu.dbg.on.debug.executable=YES +my6.menu.dbg.off=Debug Disabled +my6.menu.cpu.100m=100Mhz +my6.menu.cpu.150m=150Mhz \ No newline at end of file diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 6de714eb6dc..38440e2875d 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -1666,7 +1666,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, - 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x94, 0x2c, 0x0a, 0x12, + 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, 0x2d, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, @@ -1966,66 +1966,74 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, - 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x49, + 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, + 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x0e, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, + 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, + 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2101,49 +2109,51 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*MonitorRequest)(nil), // 55: cc.arduino.cli.commands.v1.MonitorRequest (*EnumerateMonitorPortSettingsRequest)(nil), // 56: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest (*DebugRequest)(nil), // 57: cc.arduino.cli.commands.v1.DebugRequest - (*GetDebugConfigRequest)(nil), // 58: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*SettingsGetAllRequest)(nil), // 59: cc.arduino.cli.commands.v1.SettingsGetAllRequest - (*SettingsMergeRequest)(nil), // 60: cc.arduino.cli.commands.v1.SettingsMergeRequest - (*SettingsGetValueRequest)(nil), // 61: cc.arduino.cli.commands.v1.SettingsGetValueRequest - (*SettingsSetValueRequest)(nil), // 62: cc.arduino.cli.commands.v1.SettingsSetValueRequest - (*SettingsWriteRequest)(nil), // 63: cc.arduino.cli.commands.v1.SettingsWriteRequest - (*SettingsDeleteRequest)(nil), // 64: cc.arduino.cli.commands.v1.SettingsDeleteRequest - (*BoardDetailsResponse)(nil), // 65: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardListResponse)(nil), // 66: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 67: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 68: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 69: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 70: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 71: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 72: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 73: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 74: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 75: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 76: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 77: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 78: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 79: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 80: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*LibraryDownloadResponse)(nil), // 81: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 83: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 84: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 85: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 86: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 87: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 89: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 91: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 92: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*DebugResponse)(nil), // 93: cc.arduino.cli.commands.v1.DebugResponse - (*GetDebugConfigResponse)(nil), // 94: cc.arduino.cli.commands.v1.GetDebugConfigResponse - (*SettingsGetAllResponse)(nil), // 95: cc.arduino.cli.commands.v1.SettingsGetAllResponse - (*SettingsMergeResponse)(nil), // 96: cc.arduino.cli.commands.v1.SettingsMergeResponse - (*SettingsGetValueResponse)(nil), // 97: cc.arduino.cli.commands.v1.SettingsGetValueResponse - (*SettingsSetValueResponse)(nil), // 98: cc.arduino.cli.commands.v1.SettingsSetValueResponse - (*SettingsWriteResponse)(nil), // 99: cc.arduino.cli.commands.v1.SettingsWriteResponse - (*SettingsDeleteResponse)(nil), // 100: cc.arduino.cli.commands.v1.SettingsDeleteResponse + (*IsDebugSupportedRequest)(nil), // 58: cc.arduino.cli.commands.v1.IsDebugSupportedRequest + (*GetDebugConfigRequest)(nil), // 59: cc.arduino.cli.commands.v1.GetDebugConfigRequest + (*SettingsGetAllRequest)(nil), // 60: cc.arduino.cli.commands.v1.SettingsGetAllRequest + (*SettingsMergeRequest)(nil), // 61: cc.arduino.cli.commands.v1.SettingsMergeRequest + (*SettingsGetValueRequest)(nil), // 62: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsSetValueRequest)(nil), // 63: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*SettingsWriteRequest)(nil), // 64: cc.arduino.cli.commands.v1.SettingsWriteRequest + (*SettingsDeleteRequest)(nil), // 65: cc.arduino.cli.commands.v1.SettingsDeleteRequest + (*BoardDetailsResponse)(nil), // 66: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardListResponse)(nil), // 67: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 68: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 69: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardListWatchResponse)(nil), // 70: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 71: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 72: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 73: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 74: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 75: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 76: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 77: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 78: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 79: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 80: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 81: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*LibraryDownloadResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 83: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 84: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 85: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 86: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 87: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 89: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 91: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 92: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 93: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*DebugResponse)(nil), // 94: cc.arduino.cli.commands.v1.DebugResponse + (*IsDebugSupportedResponse)(nil), // 95: cc.arduino.cli.commands.v1.IsDebugSupportedResponse + (*GetDebugConfigResponse)(nil), // 96: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*SettingsGetAllResponse)(nil), // 97: cc.arduino.cli.commands.v1.SettingsGetAllResponse + (*SettingsMergeResponse)(nil), // 98: cc.arduino.cli.commands.v1.SettingsMergeResponse + (*SettingsGetValueResponse)(nil), // 99: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueResponse)(nil), // 100: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*SettingsWriteResponse)(nil), // 101: cc.arduino.cli.commands.v1.SettingsWriteResponse + (*SettingsDeleteResponse)(nil), // 102: cc.arduino.cli.commands.v1.SettingsDeleteResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 24, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance @@ -2200,61 +2210,63 @@ var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 59, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest - 60, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest - 61, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest - 62, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest - 63, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest - 64, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest - 2, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 4, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 7, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 9, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 11, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 13, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 15, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 18, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 20, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 22, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 65, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 66, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 67, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 68, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 69, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse - 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse - 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse - 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse - 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse - 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse - 61, // [61:107] is the sub-list for method output_type - 15, // [15:61] is the sub-list for method input_type + 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest + 59, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 60, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest + 61, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest + 62, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 63, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest + 64, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest + 65, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest + 2, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 4, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 7, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 9, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 11, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 13, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 15, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 18, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 20, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 22, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 66, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 67, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 68, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 69, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse + 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse + 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse + 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse + 101, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse + 102, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse + 62, // [62:109] is the sub-list for method output_type + 15, // [15:62] is the sub-list for method input_type 15, // [15:15] is the sub-list for extension type_name 15, // [15:15] is the sub-list for extension extendee 0, // [0:15] is the sub-list for field type_name diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 1ca928ca75f..d17edbe0e3f 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -182,6 +182,11 @@ service ArduinoCoreService { // Start a debug session and communicate with the debugger tool. rpc Debug(stream DebugRequest) returns (stream DebugResponse) {} + // Determine if debugging is suported given a specific configuration. + rpc IsDebugSupported(IsDebugSupportedRequest) + returns (IsDebugSupportedResponse) {} + + // Query the debugger information given a specific configuration. rpc GetDebugConfig(GetDebugConfigRequest) returns (GetDebugConfigResponse) {} // List all the settings. diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 2c9c7a2fde0..6b336e0d6d5 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -73,6 +73,7 @@ const ( ArduinoCoreService_Monitor_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/Monitor" ArduinoCoreService_EnumerateMonitorPortSettings_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/EnumerateMonitorPortSettings" ArduinoCoreService_Debug_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/Debug" + ArduinoCoreService_IsDebugSupported_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/IsDebugSupported" ArduinoCoreService_GetDebugConfig_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/GetDebugConfig" ArduinoCoreService_SettingsGetAll_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll" ArduinoCoreService_SettingsMerge_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge" @@ -172,6 +173,9 @@ type ArduinoCoreServiceClient interface { EnumerateMonitorPortSettings(ctx context.Context, in *EnumerateMonitorPortSettingsRequest, opts ...grpc.CallOption) (*EnumerateMonitorPortSettingsResponse, error) // Start a debug session and communicate with the debugger tool. Debug(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_DebugClient, error) + // Determine if debugging is suported given a specific configuration. + IsDebugSupported(ctx context.Context, in *IsDebugSupportedRequest, opts ...grpc.CallOption) (*IsDebugSupportedResponse, error) + // Query the debugger information given a specific configuration. GetDebugConfig(ctx context.Context, in *GetDebugConfigRequest, opts ...grpc.CallOption) (*GetDebugConfigResponse, error) // List all the settings. SettingsGetAll(ctx context.Context, in *SettingsGetAllRequest, opts ...grpc.CallOption) (*SettingsGetAllResponse, error) @@ -1027,6 +1031,15 @@ func (x *arduinoCoreServiceDebugClient) Recv() (*DebugResponse, error) { return m, nil } +func (c *arduinoCoreServiceClient) IsDebugSupported(ctx context.Context, in *IsDebugSupportedRequest, opts ...grpc.CallOption) (*IsDebugSupportedResponse, error) { + out := new(IsDebugSupportedResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_IsDebugSupported_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *arduinoCoreServiceClient) GetDebugConfig(ctx context.Context, in *GetDebugConfigRequest, opts ...grpc.CallOption) (*GetDebugConfigResponse, error) { out := new(GetDebugConfigResponse) err := c.cc.Invoke(ctx, ArduinoCoreService_GetDebugConfig_FullMethodName, in, out, opts...) @@ -1180,6 +1193,9 @@ type ArduinoCoreServiceServer interface { EnumerateMonitorPortSettings(context.Context, *EnumerateMonitorPortSettingsRequest) (*EnumerateMonitorPortSettingsResponse, error) // Start a debug session and communicate with the debugger tool. Debug(ArduinoCoreService_DebugServer) error + // Determine if debugging is suported given a specific configuration. + IsDebugSupported(context.Context, *IsDebugSupportedRequest) (*IsDebugSupportedResponse, error) + // Query the debugger information given a specific configuration. GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) // List all the settings. SettingsGetAll(context.Context, *SettingsGetAllRequest) (*SettingsGetAllResponse, error) @@ -1317,6 +1333,9 @@ func (UnimplementedArduinoCoreServiceServer) EnumerateMonitorPortSettings(contex func (UnimplementedArduinoCoreServiceServer) Debug(ArduinoCoreService_DebugServer) error { return status.Errorf(codes.Unimplemented, "method Debug not implemented") } +func (UnimplementedArduinoCoreServiceServer) IsDebugSupported(context.Context, *IsDebugSupportedRequest) (*IsDebugSupportedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method IsDebugSupported not implemented") +} func (UnimplementedArduinoCoreServiceServer) GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDebugConfig not implemented") } @@ -2126,6 +2145,24 @@ func (x *arduinoCoreServiceDebugServer) Recv() (*DebugRequest, error) { return m, nil } +func _ArduinoCoreService_IsDebugSupported_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(IsDebugSupportedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).IsDebugSupported(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_IsDebugSupported_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).IsDebugSupported(ctx, req.(*IsDebugSupportedRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ArduinoCoreService_GetDebugConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetDebugConfigRequest) if err := dec(in); err != nil { @@ -2331,6 +2368,10 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ MethodName: "EnumerateMonitorPortSettings", Handler: _ArduinoCoreService_EnumerateMonitorPortSettings_Handler, }, + { + MethodName: "IsDebugSupported", + Handler: _ArduinoCoreService_IsDebugSupported_Handler, + }, { MethodName: "GetDebugConfig", Handler: _ArduinoCoreService_GetDebugConfig_Handler, diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index fa8c52bed21..a596613a8e2 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -109,34 +109,21 @@ func (x *DebugRequest) GetSendInterrupt() bool { return false } -type GetDebugConfigRequest struct { +// The streaming response may contain chunks of data from the debugger or an +// error. +type DebugResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Arduino Core Service instance from the `Init` response. - Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Fully qualified board name of the board in use - // (e.g., `arduino:samd:mkr1000`). If this is omitted, the FQBN attached to - // the sketch will be used. - Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` - // Path to the sketch that is running on the board. The compiled executable - // is expected to be located under this path. - SketchPath string `protobuf:"bytes,3,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` - // Port of the debugger (optional). - Port *Port `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` - // Which GDB command interpreter to use. - Interpreter string `protobuf:"bytes,5,opt,name=interpreter,proto3" json:"interpreter,omitempty"` - // Directory containing the compiled executable. If `import_dir` is not - // specified, the executable is assumed to be in - // `{sketch_path}/build/{fqbn}/`. - ImportDir string `protobuf:"bytes,8,opt,name=import_dir,json=importDir,proto3" json:"import_dir,omitempty"` - // The programmer to use for debugging. - Programmer string `protobuf:"bytes,9,opt,name=programmer,proto3" json:"programmer,omitempty"` + // Incoming data from the debugger tool. + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + // Incoming error output from the debugger tool. + Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` } -func (x *GetDebugConfigRequest) Reset() { - *x = GetDebugConfigRequest{} +func (x *DebugResponse) Reset() { + *x = DebugResponse{} if protoimpl.UnsafeEnabled { mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -144,13 +131,13 @@ func (x *GetDebugConfigRequest) Reset() { } } -func (x *GetDebugConfigRequest) String() string { +func (x *DebugResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GetDebugConfigRequest) ProtoMessage() {} +func (*DebugResponse) ProtoMessage() {} -func (x *GetDebugConfigRequest) ProtoReflect() protoreflect.Message { +func (x *DebugResponse) ProtoReflect() protoreflect.Message { mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -162,88 +149,213 @@ func (x *GetDebugConfigRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GetDebugConfigRequest.ProtoReflect.Descriptor instead. -func (*GetDebugConfigRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use DebugResponse.ProtoReflect.Descriptor instead. +func (*DebugResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{1} } -func (x *GetDebugConfigRequest) GetInstance() *Instance { +func (x *DebugResponse) GetData() []byte { if x != nil { - return x.Instance + return x.Data } return nil } -func (x *GetDebugConfigRequest) GetFqbn() string { +func (x *DebugResponse) GetError() string { if x != nil { - return x.Fqbn + return x.Error } return "" } -func (x *GetDebugConfigRequest) GetSketchPath() string { +type IsDebugSupportedRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Arduino Core Service instance from the `Init` response. + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // Fully qualified board name of the board in use (e.g., + // `arduino:samd:mkr1000`). + Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // Port of the debugger (optional). + Port *Port `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"` + // Which GDB command interpreter to use. + Interpreter string `protobuf:"bytes,4,opt,name=interpreter,proto3" json:"interpreter,omitempty"` + // The programmer to use for debugging. + Programmer string `protobuf:"bytes,5,opt,name=programmer,proto3" json:"programmer,omitempty"` +} + +func (x *IsDebugSupportedRequest) Reset() { + *x = IsDebugSupportedRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IsDebugSupportedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsDebugSupportedRequest) ProtoMessage() {} + +func (x *IsDebugSupportedRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IsDebugSupportedRequest.ProtoReflect.Descriptor instead. +func (*IsDebugSupportedRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{2} +} + +func (x *IsDebugSupportedRequest) GetInstance() *Instance { if x != nil { - return x.SketchPath + return x.Instance + } + return nil +} + +func (x *IsDebugSupportedRequest) GetFqbn() string { + if x != nil { + return x.Fqbn } return "" } -func (x *GetDebugConfigRequest) GetPort() *Port { +func (x *IsDebugSupportedRequest) GetPort() *Port { if x != nil { return x.Port } return nil } -func (x *GetDebugConfigRequest) GetInterpreter() string { +func (x *IsDebugSupportedRequest) GetInterpreter() string { if x != nil { return x.Interpreter } return "" } -func (x *GetDebugConfigRequest) GetImportDir() string { +func (x *IsDebugSupportedRequest) GetProgrammer() string { if x != nil { - return x.ImportDir + return x.Programmer } return "" } -func (x *GetDebugConfigRequest) GetProgrammer() string { +type IsDebugSupportedResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // True if debugging is supported + DebuggingSupported bool `protobuf:"varint,1,opt,name=debugging_supported,json=debuggingSupported,proto3" json:"debugging_supported,omitempty"` + // This is the same FQBN given in the IsDebugSupportedRequest but cleaned + // up of the board options that do not affect the debugger configuration. + // It may be used by clients/IDE to group slightly different boards option + // selections under the same debug configuration. + DebugFqbn string `protobuf:"bytes,2,opt,name=debug_fqbn,json=debugFqbn,proto3" json:"debug_fqbn,omitempty"` +} + +func (x *IsDebugSupportedResponse) Reset() { + *x = IsDebugSupportedResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IsDebugSupportedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IsDebugSupportedResponse) ProtoMessage() {} + +func (x *IsDebugSupportedResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IsDebugSupportedResponse.ProtoReflect.Descriptor instead. +func (*IsDebugSupportedResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{3} +} + +func (x *IsDebugSupportedResponse) GetDebuggingSupported() bool { if x != nil { - return x.Programmer + return x.DebuggingSupported + } + return false +} + +func (x *IsDebugSupportedResponse) GetDebugFqbn() string { + if x != nil { + return x.DebugFqbn } return "" } -type DebugResponse struct { +type GetDebugConfigRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Incoming data from the debugger tool. - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - // Incoming error output from the debugger tool. - Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + // Arduino Core Service instance from the `Init` response. + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // Fully qualified board name of the board in use + // (e.g., `arduino:samd:mkr1000`). If this is omitted, the FQBN attached to + // the sketch will be used. + Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // Path to the sketch that is running on the board. The compiled executable + // is expected to be located under this path. + SketchPath string `protobuf:"bytes,3,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` + // Port of the debugger (optional). + Port *Port `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` + // Which GDB command interpreter to use. + Interpreter string `protobuf:"bytes,5,opt,name=interpreter,proto3" json:"interpreter,omitempty"` + // Directory containing the compiled executable. If `import_dir` is not + // specified, the executable is assumed to be in + // `{sketch_path}/build/{fqbn}/`. + ImportDir string `protobuf:"bytes,8,opt,name=import_dir,json=importDir,proto3" json:"import_dir,omitempty"` + // The programmer to use for debugging. + Programmer string `protobuf:"bytes,9,opt,name=programmer,proto3" json:"programmer,omitempty"` } -func (x *DebugResponse) Reset() { - *x = DebugResponse{} +func (x *GetDebugConfigRequest) Reset() { + *x = GetDebugConfigRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *DebugResponse) String() string { +func (x *GetDebugConfigRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*DebugResponse) ProtoMessage() {} +func (*GetDebugConfigRequest) ProtoMessage() {} -func (x *DebugResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[2] +func (x *GetDebugConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -254,21 +366,56 @@ func (x *DebugResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use DebugResponse.ProtoReflect.Descriptor instead. -func (*DebugResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{2} +// Deprecated: Use GetDebugConfigRequest.ProtoReflect.Descriptor instead. +func (*GetDebugConfigRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{4} } -func (x *DebugResponse) GetData() []byte { +func (x *GetDebugConfigRequest) GetInstance() *Instance { if x != nil { - return x.Data + return x.Instance } return nil } -func (x *DebugResponse) GetError() string { +func (x *GetDebugConfigRequest) GetFqbn() string { if x != nil { - return x.Error + return x.Fqbn + } + return "" +} + +func (x *GetDebugConfigRequest) GetSketchPath() string { + if x != nil { + return x.SketchPath + } + return "" +} + +func (x *GetDebugConfigRequest) GetPort() *Port { + if x != nil { + return x.Port + } + return nil +} + +func (x *GetDebugConfigRequest) GetInterpreter() string { + if x != nil { + return x.Interpreter + } + return "" +} + +func (x *GetDebugConfigRequest) GetImportDir() string { + if x != nil { + return x.ImportDir + } + return "" +} + +func (x *GetDebugConfigRequest) GetProgrammer() string { + if x != nil { + return x.Programmer } return "" } @@ -309,7 +456,7 @@ type GetDebugConfigResponse struct { func (x *GetDebugConfigResponse) Reset() { *x = GetDebugConfigResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -322,7 +469,7 @@ func (x *GetDebugConfigResponse) String() string { func (*GetDebugConfigResponse) ProtoMessage() {} func (x *GetDebugConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -335,7 +482,7 @@ func (x *GetDebugConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDebugConfigResponse.ProtoReflect.Descriptor instead. func (*GetDebugConfigResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{3} + return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{5} } func (x *GetDebugConfigResponse) GetExecutable() string { @@ -425,7 +572,7 @@ type DebugGCCToolchainConfiguration struct { func (x *DebugGCCToolchainConfiguration) Reset() { *x = DebugGCCToolchainConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -438,7 +585,7 @@ func (x *DebugGCCToolchainConfiguration) String() string { func (*DebugGCCToolchainConfiguration) ProtoMessage() {} func (x *DebugGCCToolchainConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -451,7 +598,7 @@ func (x *DebugGCCToolchainConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use DebugGCCToolchainConfiguration.ProtoReflect.Descriptor instead. func (*DebugGCCToolchainConfiguration) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{4} + return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{6} } // Configuration specific for the 'openocd` server @@ -471,7 +618,7 @@ type DebugOpenOCDServerConfiguration struct { func (x *DebugOpenOCDServerConfiguration) Reset() { *x = DebugOpenOCDServerConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -484,7 +631,7 @@ func (x *DebugOpenOCDServerConfiguration) String() string { func (*DebugOpenOCDServerConfiguration) ProtoMessage() {} func (x *DebugOpenOCDServerConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -497,7 +644,7 @@ func (x *DebugOpenOCDServerConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use DebugOpenOCDServerConfiguration.ProtoReflect.Descriptor instead. func (*DebugOpenOCDServerConfiguration) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{5} + return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{7} } func (x *DebugOpenOCDServerConfiguration) GetPath() string { @@ -545,82 +692,103 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, - 0x75, 0x70, 0x74, 0x22, 0xa5, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, - 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x39, 0x0a, 0x0d, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe4, 0x04, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, - 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x6f, - 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, - 0x79, 0x52, 0x16, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x14, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, - 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, - 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, - 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x75, 0x70, 0x74, 0x22, 0x39, 0x0a, 0x0d, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe7, + 0x01, 0x0a, 0x17, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, + 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, + 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x6a, 0x0a, 0x18, 0x49, 0x73, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, + 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, + 0x46, 0x71, 0x62, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0xe4, 0x04, 0x0a, + 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x63, + 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6f, 0x6c, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, + 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, + 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x47, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, 0x64, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, + 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, + 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, + 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -635,31 +803,35 @@ func file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_debug_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_cc_arduino_cli_commands_v1_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []interface{}{ (*DebugRequest)(nil), // 0: cc.arduino.cli.commands.v1.DebugRequest - (*GetDebugConfigRequest)(nil), // 1: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*DebugResponse)(nil), // 2: cc.arduino.cli.commands.v1.DebugResponse - (*GetDebugConfigResponse)(nil), // 3: cc.arduino.cli.commands.v1.GetDebugConfigResponse - (*DebugGCCToolchainConfiguration)(nil), // 4: cc.arduino.cli.commands.v1.DebugGCCToolchainConfiguration - (*DebugOpenOCDServerConfiguration)(nil), // 5: cc.arduino.cli.commands.v1.DebugOpenOCDServerConfiguration - nil, // 6: cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry - (*Instance)(nil), // 7: cc.arduino.cli.commands.v1.Instance - (*Port)(nil), // 8: cc.arduino.cli.commands.v1.Port - (*anypb.Any)(nil), // 9: google.protobuf.Any + (*DebugResponse)(nil), // 1: cc.arduino.cli.commands.v1.DebugResponse + (*IsDebugSupportedRequest)(nil), // 2: cc.arduino.cli.commands.v1.IsDebugSupportedRequest + (*IsDebugSupportedResponse)(nil), // 3: cc.arduino.cli.commands.v1.IsDebugSupportedResponse + (*GetDebugConfigRequest)(nil), // 4: cc.arduino.cli.commands.v1.GetDebugConfigRequest + (*GetDebugConfigResponse)(nil), // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*DebugGCCToolchainConfiguration)(nil), // 6: cc.arduino.cli.commands.v1.DebugGCCToolchainConfiguration + (*DebugOpenOCDServerConfiguration)(nil), // 7: cc.arduino.cli.commands.v1.DebugOpenOCDServerConfiguration + nil, // 8: cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry + (*Instance)(nil), // 9: cc.arduino.cli.commands.v1.Instance + (*Port)(nil), // 10: cc.arduino.cli.commands.v1.Port + (*anypb.Any)(nil), // 11: google.protobuf.Any } var file_cc_arduino_cli_commands_v1_debug_proto_depIdxs = []int32{ - 1, // 0: cc.arduino.cli.commands.v1.DebugRequest.debug_request:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 7, // 1: cc.arduino.cli.commands.v1.GetDebugConfigRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 8, // 2: cc.arduino.cli.commands.v1.GetDebugConfigRequest.port:type_name -> cc.arduino.cli.commands.v1.Port - 9, // 3: cc.arduino.cli.commands.v1.GetDebugConfigResponse.toolchain_configuration:type_name -> google.protobuf.Any - 9, // 4: cc.arduino.cli.commands.v1.GetDebugConfigResponse.server_configuration:type_name -> google.protobuf.Any - 6, // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse.custom_configs:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry - 6, // [6:6] is the sub-list for method output_type - 6, // [6:6] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 4, // 0: cc.arduino.cli.commands.v1.DebugRequest.debug_request:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 9, // 1: cc.arduino.cli.commands.v1.IsDebugSupportedRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 10, // 2: cc.arduino.cli.commands.v1.IsDebugSupportedRequest.port:type_name -> cc.arduino.cli.commands.v1.Port + 9, // 3: cc.arduino.cli.commands.v1.GetDebugConfigRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 10, // 4: cc.arduino.cli.commands.v1.GetDebugConfigRequest.port:type_name -> cc.arduino.cli.commands.v1.Port + 11, // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse.toolchain_configuration:type_name -> google.protobuf.Any + 11, // 6: cc.arduino.cli.commands.v1.GetDebugConfigResponse.server_configuration:type_name -> google.protobuf.Any + 8, // 7: cc.arduino.cli.commands.v1.GetDebugConfigResponse.custom_configs:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_debug_proto_init() } @@ -683,7 +855,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { } } file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugConfigRequest); i { + switch v := v.(*DebugResponse); i { case 0: return &v.state case 1: @@ -695,7 +867,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { } } file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DebugResponse); i { + switch v := v.(*IsDebugSupportedRequest); i { case 0: return &v.state case 1: @@ -707,7 +879,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { } } file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetDebugConfigResponse); i { + switch v := v.(*IsDebugSupportedResponse); i { case 0: return &v.state case 1: @@ -719,7 +891,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { } } file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DebugGCCToolchainConfiguration); i { + switch v := v.(*GetDebugConfigRequest); i { case 0: return &v.state case 1: @@ -731,6 +903,30 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { } } file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetDebugConfigResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DebugGCCToolchainConfiguration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DebugOpenOCDServerConfiguration); i { case 0: return &v.state @@ -749,7 +945,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_debug_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 9, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 9e8341edb54..25142875d38 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -43,6 +43,39 @@ message DebugRequest { bool send_interrupt = 3; } +// The streaming response may contain chunks of data from the debugger or an +// error. +message DebugResponse { + // Incoming data from the debugger tool. + bytes data = 1; + // Incoming error output from the debugger tool. + string error = 2; +} + +message IsDebugSupportedRequest { + // Arduino Core Service instance from the `Init` response. + Instance instance = 1; + // Fully qualified board name of the board in use (e.g., + // `arduino:samd:mkr1000`). + string fqbn = 2; + // Port of the debugger (optional). + Port port = 3; + // Which GDB command interpreter to use. + string interpreter = 4; + // The programmer to use for debugging. + string programmer = 5; +} + +message IsDebugSupportedResponse { + // True if debugging is supported + bool debugging_supported = 1; + // This is the same FQBN given in the IsDebugSupportedRequest but cleaned + // up of the board options that do not affect the debugger configuration. + // It may be used by clients/IDE to group slightly different boards option + // selections under the same debug configuration. + string debug_fqbn = 2; +} + message GetDebugConfigRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; @@ -65,14 +98,6 @@ message GetDebugConfigRequest { string programmer = 9; } -// -message DebugResponse { - // Incoming data from the debugger tool. - bytes data = 1; - // Incoming error output from the debugger tool. - string error = 2; -} - message GetDebugConfigResponse { // The executable binary to debug string executable = 1; From 5935e450591ad7e2119f5fb79a5c4425e37ee128 Mon Sep 17 00:00:00 2001 From: Martino Facchin <m.facchin@arduino.cc> Date: Mon, 4 Dec 2023 12:46:34 +0100 Subject: [PATCH 051/361] Fix caching for libraries when installation folder differents from Name (#2446) * Fix caching for libraries when installation folder differents from Name * Prepare infra to add integration test * Added integration test --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- arduino/builder/libraries.go | 2 +- .../integrationtest/compile_4/compile_test.go | 98 +++++++++++-------- .../SketchUsingRobotIRRemote.ino | 7 ++ 3 files changed, 67 insertions(+), 40 deletions(-) create mode 100644 internal/integrationtest/compile_4/testdata/SketchUsingRobotIRRemote/SketchUsingRobotIRRemote.ino diff --git a/arduino/builder/libraries.go b/arduino/builder/libraries.go index bbe4f514529..88780ee3505 100644 --- a/arduino/builder/libraries.go +++ b/arduino/builder/libraries.go @@ -245,7 +245,7 @@ func (b *Builder) removeUnusedCompiledLibraries(importedLibraries libraries.List toLibraryNames := func(libraries []*libraries.Library) []string { libraryNames := []string{} for _, library := range libraries { - libraryNames = append(libraryNames, library.Name) + libraryNames = append(libraryNames, library.DirName) } return libraryNames } diff --git a/internal/integrationtest/compile_4/compile_test.go b/internal/integrationtest/compile_4/compile_test.go index a61d68563a5..42bd97fd1a9 100644 --- a/internal/integrationtest/compile_4/compile_test.go +++ b/internal/integrationtest/compile_4/compile_test.go @@ -20,6 +20,7 @@ import ( "cmp" "encoding/json" "os/exec" + "regexp" "slices" "strings" "testing" @@ -904,56 +905,75 @@ func comparePreprocessGoldenFile(t *testing.T, sketchDir *paths.Path, preprocess require.Equal(t, buf.String(), strings.ReplaceAll(preprocessedSketch, "\r\n", "\n")) } -func TestCoreCaching(t *testing.T) { +func TestBuildCaching(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - sketchPath, err := paths.New("..", "testdata", "bare_minimum").Abs() - require.NoError(t, err) - // Install Arduino AVR Boards - _, _, err = cli.Run("core", "install", "arduino:avr@1.8.6") + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") require.NoError(t, err) - // Create temporary cache dir - buildCachePath, err := paths.MkTempDir("", "test_build_cache") - require.NoError(t, err) - defer buildCachePath.RemoveAll() + t.Run("CoreCaching", func(t *testing.T) { + sketchPath, err := paths.New("..", "testdata", "bare_minimum").Abs() + require.NoError(t, err) - // Build first time - _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", "--build-cache-path", buildCachePath.String(), sketchPath.String()) - require.NoError(t, err) + // Create temporary cache dir + buildCachePath, err := paths.MkTempDir("", "test_build_cache") + require.NoError(t, err) + defer buildCachePath.RemoveAll() - // Find cached core and save timestamp - pathList, err := buildCachePath.ReadDirRecursiveFiltered(nil, paths.FilterPrefixes("core.a")) - require.NoError(t, err) - require.Len(t, pathList, 1) - cachedCoreFile := pathList[0] - lastUsedPath := cachedCoreFile.Parent().Join(".last-used") - require.True(t, lastUsedPath.Exist()) - coreStatBefore, err := cachedCoreFile.Stat() - require.NoError(t, err) + // Build first time + _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", "--build-cache-path", buildCachePath.String(), sketchPath.String()) + require.NoError(t, err) - // Run build again and check timestamp is unchanged - _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", "--build-cache-path", buildCachePath.String(), sketchPath.String()) - require.NoError(t, err) - coreStatAfterRebuild, err := cachedCoreFile.Stat() - require.NoError(t, err) - require.Equal(t, coreStatBefore.ModTime(), coreStatAfterRebuild.ModTime()) + // Find cached core and save timestamp + pathList, err := buildCachePath.ReadDirRecursiveFiltered(nil, paths.FilterPrefixes("core.a")) + require.NoError(t, err) + require.Len(t, pathList, 1) + cachedCoreFile := pathList[0] + lastUsedPath := cachedCoreFile.Parent().Join(".last-used") + require.True(t, lastUsedPath.Exist()) + coreStatBefore, err := cachedCoreFile.Stat() + require.NoError(t, err) - // Touch a file of the core and check if the builder invalidate the cache - time.Sleep(time.Second) - now := time.Now().Local() - coreFolder := cli.DataDir().Join("packages", "arduino", "hardware", "avr", "1.8.6") - err = coreFolder.Join("cores", "arduino", "Arduino.h").Chtimes(now, now) - require.NoError(t, err) + // Run build again and check timestamp is unchanged + _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", "--build-cache-path", buildCachePath.String(), sketchPath.String()) + require.NoError(t, err) + coreStatAfterRebuild, err := cachedCoreFile.Stat() + require.NoError(t, err) + require.Equal(t, coreStatBefore.ModTime(), coreStatAfterRebuild.ModTime()) - // Run build again, to verify that the builder rebuilds core.a - _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", "--build-cache-path", buildCachePath.String(), sketchPath.String()) - require.NoError(t, err) - coreStatAfterTouch, err := cachedCoreFile.Stat() - require.NoError(t, err) - require.NotEqual(t, coreStatBefore.ModTime(), coreStatAfterTouch.ModTime()) + // Touch a file of the core and check if the builder invalidate the cache + time.Sleep(time.Second) + now := time.Now().Local() + coreFolder := cli.DataDir().Join("packages", "arduino", "hardware", "avr", "1.8.6") + err = coreFolder.Join("cores", "arduino", "Arduino.h").Chtimes(now, now) + require.NoError(t, err) + + // Run build again, to verify that the builder rebuilds core.a + _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", "--build-cache-path", buildCachePath.String(), sketchPath.String()) + require.NoError(t, err) + coreStatAfterTouch, err := cachedCoreFile.Stat() + require.NoError(t, err) + require.NotEqual(t, coreStatBefore.ModTime(), coreStatAfterTouch.ModTime()) + }) + + t.Run("LibraryCacheWithDifferentDirname", func(t *testing.T) { + _, _, err = cli.Run("lib", "install", "Robot IR Remote") + require.NoError(t, err) + + // Run first compile + sketchPath, err := paths.New("testdata", "SketchUsingRobotIRRemote").Abs() + require.NoError(t, err) + _, _, err = cli.Run("compile", "-b", "arduino:avr:robotControl", "-v", sketchPath.String()) + require.NoError(t, err) + + // Run second compile and check that previous build is re-used + out, _, err := cli.Run("compile", "-b", "arduino:avr:robotControl", "-v", sketchPath.String()) + require.NoError(t, err) + check := regexp.MustCompile(`(?m)^Using previously compiled file:.*IRremoteTools\.cpp\.o$`) + require.True(t, check.Match(out)) + }) } func TestMergeSketchWithBootloader(t *testing.T) { diff --git a/internal/integrationtest/compile_4/testdata/SketchUsingRobotIRRemote/SketchUsingRobotIRRemote.ino b/internal/integrationtest/compile_4/testdata/SketchUsingRobotIRRemote/SketchUsingRobotIRRemote.ino new file mode 100644 index 00000000000..4eedf4e2675 --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/SketchUsingRobotIRRemote/SketchUsingRobotIRRemote.ino @@ -0,0 +1,7 @@ +#include <RobotIRremote.h> + +void setup() { +} + +void loop() { +} From a20e7b744ea748c8e819a4f3c02c77670b7bb4ea Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 5 Dec 2023 20:34:08 +0100 Subject: [PATCH 052/361] [breaking] refactor: made some golang modules private (#2447) * Replaced 'executils' with go-paths library equivalent * Made 'buildcache' private * Made 'table'' private * Updated docs --- .../arduino/go-paths-helper.dep.yml | 2 +- arduino/builder/builder.go | 7 +- arduino/builder/core.go | 2 +- .../builder/internal/compilation/database.go | 3 +- .../internal/compilation/database_test.go | 3 +- .../diagnostics/compiler_detection.go | 4 +- .../preprocessor/arduino_preprocessor.go | 3 +- .../builder/internal/preprocessor/ctags.go | 3 +- arduino/builder/internal/preprocessor/gcc.go | 3 +- .../cores/packagemanager/install_uninstall.go | 3 +- arduino/discovery/discovery.go | 6 +- arduino/discovery/discovery_test.go | 4 +- arduino/monitor/monitor.go | 6 +- arduino/monitor/monitor_test.go | 3 +- commands/compile/compile.go | 2 +- commands/debug/debug.go | 3 +- commands/upload/upload.go | 3 +- docs/UPGRADING.md | 10 + executils/executils.go | 76 ------- executils/executils_darwin.go | 21 -- executils/executils_freebsd.go | 21 -- executils/executils_linux.go | 21 -- executils/executils_windows.go | 25 --- executils/null.go | 36 ---- executils/output.go | 82 -------- executils/process.go | 199 ------------------ executils/process_test.go | 42 ---- executils/testdata/delay/.gitignore | 1 - executils/testdata/delay/main.go | 26 --- go.mod | 4 +- go.sum | 192 +---------------- .../buildcache}/build_cache.go | 0 .../buildcache}/build_cache_test.go | 0 internal/cli/board/details.go | 2 +- internal/cli/board/list.go | 2 +- internal/cli/board/listall.go | 2 +- internal/cli/board/search.go | 2 +- internal/cli/compile/compile.go | 2 +- internal/cli/core/list.go | 2 +- internal/cli/core/search.go | 2 +- internal/cli/debug/debug.go | 2 +- .../cli/feedback/table}/cell.go | 0 .../cli/feedback/table}/table.go | 0 internal/cli/lib/list.go | 2 +- internal/cli/monitor/monitor.go | 2 +- internal/cli/outdated/outdated.go | 2 +- internal/integrationtest/arduino-cli.go | 11 +- 47 files changed, 57 insertions(+), 792 deletions(-) delete mode 100644 executils/executils.go delete mode 100644 executils/executils_darwin.go delete mode 100644 executils/executils_freebsd.go delete mode 100644 executils/executils_linux.go delete mode 100644 executils/executils_windows.go delete mode 100644 executils/null.go delete mode 100644 executils/output.go delete mode 100644 executils/process.go delete mode 100644 executils/process_test.go delete mode 100644 executils/testdata/delay/.gitignore delete mode 100644 executils/testdata/delay/main.go rename {buildcache => internal/buildcache}/build_cache.go (100%) rename {buildcache => internal/buildcache}/build_cache_test.go (100%) rename {table => internal/cli/feedback/table}/cell.go (100%) rename {table => internal/cli/feedback/table}/table.go (100%) diff --git a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml index bd4b949ac04..6e7dcc9ffc8 100644 --- a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml +++ b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/arduino/go-paths-helper -version: v1.9.2 +version: v1.10.0 type: go summary: homepage: https://pkg.go.dev/github.com/arduino/go-paths-helper diff --git a/arduino/builder/builder.go b/arduino/builder/builder.go index c24bac47011..33552b35df4 100644 --- a/arduino/builder/builder.go +++ b/arduino/builder/builder.go @@ -33,7 +33,6 @@ import ( "github.com/arduino/arduino-cli/arduino/libraries" "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/arduino/sketch" - "github.com/arduino/arduino-cli/executils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -492,7 +491,7 @@ func (b *Builder) build() error { return nil } -func (b *Builder) prepareCommandForRecipe(buildProperties *properties.Map, recipe string, removeUnsetProperties bool) (*executils.Process, error) { +func (b *Builder) prepareCommandForRecipe(buildProperties *properties.Map, recipe string, removeUnsetProperties bool) (*paths.Process, error) { pattern := buildProperties.Get(recipe) if pattern == "" { return nil, fmt.Errorf(tr("%[1]s pattern is missing"), recipe) @@ -525,7 +524,7 @@ func (b *Builder) prepareCommandForRecipe(buildProperties *properties.Map, recip } } - command, err := executils.NewProcess(nil, parts...) + command, err := paths.NewProcess(nil, parts...) if err != nil { return nil, err } @@ -536,7 +535,7 @@ func (b *Builder) prepareCommandForRecipe(buildProperties *properties.Map, recip return command, nil } -func (b *Builder) execCommand(command *executils.Process) error { +func (b *Builder) execCommand(command *paths.Process) error { if b.logger.Verbose() { b.logger.Info(utils.PrintableCommand(command.GetArgs())) command.RedirectStdoutTo(b.logger.Stdout()) diff --git a/arduino/builder/core.go b/arduino/builder/core.go index 7d61d962f18..407dcb76b0c 100644 --- a/arduino/builder/core.go +++ b/arduino/builder/core.go @@ -24,8 +24,8 @@ import ( "github.com/arduino/arduino-cli/arduino/builder/cpp" "github.com/arduino/arduino-cli/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/buildcache" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/go-paths-helper" "github.com/pkg/errors" ) diff --git a/arduino/builder/internal/compilation/database.go b/arduino/builder/internal/compilation/database.go index f6a6b1ab5f0..fb21f7ba5dc 100644 --- a/arduino/builder/internal/compilation/database.go +++ b/arduino/builder/internal/compilation/database.go @@ -20,7 +20,6 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/go-paths-helper" ) @@ -71,7 +70,7 @@ func (db *Database) SaveToFile() { } // Add adds a new CompilationDatabase entry -func (db *Database) Add(target *paths.Path, command *executils.Process) { +func (db *Database) Add(target *paths.Path, command *paths.Process) { commandDir := command.GetDir() if commandDir == "" { // This mimics what Cmd.Run also does: Use Dir if specified, diff --git a/arduino/builder/internal/compilation/database_test.go b/arduino/builder/internal/compilation/database_test.go index 26badfc6cb2..abe5b7b24b9 100644 --- a/arduino/builder/internal/compilation/database_test.go +++ b/arduino/builder/internal/compilation/database_test.go @@ -18,7 +18,6 @@ package compilation import ( "testing" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) @@ -28,7 +27,7 @@ func TestCompilationDatabase(t *testing.T) { require.NoError(t, err) defer tmpfile.Remove() - cmd, err := executils.NewProcess(nil, "gcc", "arg1", "arg2") + cmd, err := paths.NewProcess(nil, "gcc", "arg1", "arg2") require.NoError(t, err) db := NewDatabase(tmpfile) db.Add(paths.New("test"), cmd) diff --git a/arduino/builder/internal/diagnostics/compiler_detection.go b/arduino/builder/internal/diagnostics/compiler_detection.go index 53b83a52bc1..e1355006ba2 100644 --- a/arduino/builder/internal/diagnostics/compiler_detection.go +++ b/arduino/builder/internal/diagnostics/compiler_detection.go @@ -20,7 +20,7 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/executils" + "github.com/arduino/go-paths-helper" semver "go.bug.st/relaxed-semver" ) @@ -34,7 +34,7 @@ type DetectedCompiler struct { // This function is overridden for mocking unit tests var runProcess = func(args ...string) []string { - if cmd, err := executils.NewProcess(nil, args...); err == nil { + if cmd, err := paths.NewProcess(nil, args...); err == nil { out := &bytes.Buffer{} cmd.RedirectStdoutTo(out) cmd.Run() diff --git a/arduino/builder/internal/preprocessor/arduino_preprocessor.go b/arduino/builder/internal/preprocessor/arduino_preprocessor.go index 630ec56400f..cb0164dc663 100644 --- a/arduino/builder/internal/preprocessor/arduino_preprocessor.go +++ b/arduino/builder/internal/preprocessor/arduino_preprocessor.go @@ -23,7 +23,6 @@ import ( "github.com/arduino/arduino-cli/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/arduino/sketch" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/pkg/errors" @@ -66,7 +65,7 @@ func PreprocessSketchWithArduinoPreprocessor(sk *sketch.Sketch, buildPath *paths return nil, nil, errors.WithStack(err) } - command, err := executils.NewProcess(nil, parts...) + command, err := paths.NewProcess(nil, parts...) if err != nil { return nil, nil, err } diff --git a/arduino/builder/internal/preprocessor/ctags.go b/arduino/builder/internal/preprocessor/ctags.go index fb7134904a0..346fd2a6f49 100644 --- a/arduino/builder/internal/preprocessor/ctags.go +++ b/arduino/builder/internal/preprocessor/ctags.go @@ -27,7 +27,6 @@ import ( "github.com/arduino/arduino-cli/arduino/builder/cpp" "github.com/arduino/arduino-cli/arduino/builder/internal/preprocessor/internal/ctags" "github.com/arduino/arduino-cli/arduino/sketch" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -195,7 +194,7 @@ func RunCTags(sourceFile *paths.Path, buildProperties *properties.Map) ([]byte, if err != nil { return nil, nil, err } - proc, err := executils.NewProcess(nil, parts...) + proc, err := paths.NewProcess(nil, parts...) if err != nil { return nil, nil, err } diff --git a/arduino/builder/internal/preprocessor/gcc.go b/arduino/builder/internal/preprocessor/gcc.go index 2029f08b972..aa849c0b324 100644 --- a/arduino/builder/internal/preprocessor/gcc.go +++ b/arduino/builder/internal/preprocessor/gcc.go @@ -21,7 +21,6 @@ import ( "strings" "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/executils" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -69,7 +68,7 @@ func GCC(sourceFilePath *paths.Path, targetFilePath *paths.Path, includes paths. // to create a /dev/null.d dependency file, which won't work. args = f.Filter(args, f.NotEquals("-MMD")) - proc, err := executils.NewProcess(nil, args...) + proc, err := paths.NewProcess(nil, args...) if err != nil { return nil, nil, err } diff --git a/arduino/cores/packagemanager/install_uninstall.go b/arduino/cores/packagemanager/install_uninstall.go index e5aa43a5ad1..2ea4adc9304 100644 --- a/arduino/cores/packagemanager/install_uninstall.go +++ b/arduino/cores/packagemanager/install_uninstall.go @@ -24,7 +24,6 @@ import ( "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/arduino/cores/packageindex" - "github.com/arduino/arduino-cli/executils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/pkg/errors" @@ -239,7 +238,7 @@ func (pme *Explorer) RunPreOrPostScript(installDir *paths.Path, prefix string) ( } script := installDir.Join(scriptFilename) if script.Exist() && script.IsNotDir() { - cmd, err := executils.NewProcessFromPath(pme.GetEnvVarsForSpawnedProcess(), script) + cmd, err := paths.NewProcessFromPath(pme.GetEnvVarsForSpawnedProcess(), script) if err != nil { return []byte{}, []byte{}, err } diff --git a/arduino/discovery/discovery.go b/arduino/discovery/discovery.go index 4ba26d91121..665e527932a 100644 --- a/arduino/discovery/discovery.go +++ b/arduino/discovery/discovery.go @@ -23,10 +23,10 @@ import ( "sync" "time" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" + "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/pkg/errors" "github.com/sirupsen/logrus" @@ -48,7 +48,7 @@ const ( type PluggableDiscovery struct { id string processArgs []string - process *executils.Process + process *paths.Process outgoingCommandsPipe io.Writer incomingMessagesChan <-chan *discoveryMessage @@ -269,7 +269,7 @@ func (disc *PluggableDiscovery) sendCommand(command string) error { func (disc *PluggableDiscovery) runProcess() error { logrus.Infof("starting discovery %s process", disc.id) - proc, err := executils.NewProcess(nil, disc.processArgs...) + proc, err := paths.NewProcess(nil, disc.processArgs...) if err != nil { return err } diff --git a/arduino/discovery/discovery_test.go b/arduino/discovery/discovery_test.go index 27791da6c89..0705f453829 100644 --- a/arduino/discovery/discovery_test.go +++ b/arduino/discovery/discovery_test.go @@ -20,13 +20,13 @@ import ( "testing" "time" - "github.com/arduino/arduino-cli/executils" + "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) func TestDiscoveryStdioHandling(t *testing.T) { // Build `cat` helper inside testdata/cat - builder, err := executils.NewProcess(nil, "go", "build") + builder, err := paths.NewProcess(nil, "go", "build") require.NoError(t, err) builder.SetDir("testdata/cat") require.NoError(t, builder.Run()) diff --git a/arduino/monitor/monitor.go b/arduino/monitor/monitor.go index 10650dcebc3..8e0f8f40c3f 100644 --- a/arduino/monitor/monitor.go +++ b/arduino/monitor/monitor.go @@ -26,9 +26,9 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/version" + "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" ) @@ -36,7 +36,7 @@ import ( type PluggableMonitor struct { id string processArgs []string - process *executils.Process + process *paths.Process outgoingCommandsPipe io.Writer incomingMessagesChan <-chan *monitorMessage supportedProtocol string @@ -172,7 +172,7 @@ func (mon *PluggableMonitor) sendCommand(command string) error { func (mon *PluggableMonitor) runProcess() error { mon.log.Infof("Starting monitor process") - proc, err := executils.NewProcess(nil, mon.processArgs...) + proc, err := paths.NewProcess(nil, mon.processArgs...) if err != nil { return err } diff --git a/arduino/monitor/monitor_test.go b/arduino/monitor/monitor_test.go index cf45771c4b1..45a6c2c5de1 100644 --- a/arduino/monitor/monitor_test.go +++ b/arduino/monitor/monitor_test.go @@ -24,7 +24,6 @@ import ( "testing" "time" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) @@ -33,7 +32,7 @@ func TestDummyMonitor(t *testing.T) { // Build `dummy-monitor` helper inside testdata/dummy-monitor testDataDir, err := paths.New("testdata").Abs() require.NoError(t, err) - builder, err := executils.NewProcess(nil, "go", "install", "github.com/arduino/pluggable-monitor-protocol-handler/dummy-monitor@main") + builder, err := paths.NewProcess(nil, "go", "install", "github.com/arduino/pluggable-monitor-protocol-handler/dummy-monitor@main") fmt.Println(testDataDir.String()) env := os.Environ() env = append(env, "GOBIN="+testDataDir.String()) diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 3a28709496f..81d77a38774 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -29,10 +29,10 @@ import ( "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/arduino-cli/arduino/utils" - "github.com/arduino/arduino-cli/buildcache" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" diff --git a/commands/debug/debug.go b/commands/debug/debug.go index 38b2d52e15d..2c483bf775f 100644 --- a/commands/debug/debug.go +++ b/commands/debug/debug.go @@ -27,7 +27,6 @@ import ( "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -67,7 +66,7 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read } entry.Debug("Executing debugger") - cmd, err := executils.NewProcess(pme.GetEnvVarsForSpawnedProcess(), commandLine...) + cmd, err := paths.NewProcess(pme.GetEnvVarsForSpawnedProcess(), commandLine...) if err != nil { return nil, &arduino.FailedDebugError{Message: tr("Cannot execute debug tool"), Cause: err} } diff --git a/commands/upload/upload.go b/commands/upload/upload.go index c7ea52c48e0..0969c2aabaf 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -31,7 +31,6 @@ import ( "github.com/arduino/arduino-cli/arduino/serialutils" "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -652,7 +651,7 @@ func runTool(recipeID string, props *properties.Map, outStream, errStream io.Wri if dryRun { return nil } - cmd, err := executils.NewProcess(toolEnv, cmdArgs...) + cmd, err := paths.NewProcess(toolEnv, cmdArgs...) if err != nil { return fmt.Errorf(tr("cannot execute upload tool: %s"), err) } diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 69cef7ebc24..bd6f633019c 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,16 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### Some golang modules from `github.com/arduino/arduino-cli/*` have been made private. + +The following golang modules are no longer available as public API: + +- `github.com/arduino/arduino-cli/buildcache` +- `github.com/arduino/arduino-cli/executils` +- `github.com/arduino/arduino-cli/table` + +Most of the `executils` library has been integrated inside the `go-paths` library `github.com/arduino/go-paths-helper`. + ### CLI changed JSON output for some `lib`, `core`, `config`, `board`, and `sketch` commands. - `arduino-cli lib list --format json` results are now wrapped under `installed_libraries` key diff --git a/executils/executils.go b/executils/executils.go deleted file mode 100644 index 573db1a3ded..00000000000 --- a/executils/executils.go +++ /dev/null @@ -1,76 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import ( - "bytes" - "io" - "os/exec" - - "github.com/arduino/arduino-cli/i18n" -) - -var tr = i18n.Tr - -// PipeCommands executes the commands received as input by feeding the output of -// one to the input of the other, exactly like Unix Pipe (|). -// Returns the output of the final command and the eventual error. -// -// code inspired by https://gist.github.com/tyndyll/89fbb2c2273f83a074dc -func PipeCommands(commands ...*exec.Cmd) ([]byte, error) { - var errorBuffer, outputBuffer bytes.Buffer - pipeStack := make([]*io.PipeWriter, len(commands)-1) - i := 0 - for ; i < len(commands)-1; i++ { - stdinPipe, stdoutPipe := io.Pipe() - commands[i].Stdout = stdoutPipe - commands[i].Stderr = &errorBuffer - commands[i+1].Stdin = stdinPipe - pipeStack[i] = stdoutPipe - } - commands[i].Stdout = &outputBuffer - commands[i].Stderr = &errorBuffer - - if err := call(commands, pipeStack); err != nil { - return nil, err - } - - return outputBuffer.Bytes(), nil -} - -func call(stack []*exec.Cmd, pipes []*io.PipeWriter) (err error) { - if stack[0].Process == nil { - if err = stack[0].Start(); err != nil { - return err - } - } - if len(stack) > 1 { - if err = stack[1].Start(); err != nil { - return err - } - defer func() { - pipes[0].Close() - err = call(stack[1:], pipes[1:]) - }() - } - return stack[0].Wait() -} - -// TellCommandNotToSpawnShell avoids that the specified Cmd display a small -// command prompt while runnning on Windows. It has no effects on other OS. -func TellCommandNotToSpawnShell(cmd *exec.Cmd) { - tellCommandNotToSpawnShell(cmd) -} diff --git a/executils/executils_darwin.go b/executils/executils_darwin.go deleted file mode 100644 index 92e65d3d28b..00000000000 --- a/executils/executils_darwin.go +++ /dev/null @@ -1,21 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import "os/exec" - -func tellCommandNotToSpawnShell(_ *exec.Cmd) { -} diff --git a/executils/executils_freebsd.go b/executils/executils_freebsd.go deleted file mode 100644 index 92e65d3d28b..00000000000 --- a/executils/executils_freebsd.go +++ /dev/null @@ -1,21 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import "os/exec" - -func tellCommandNotToSpawnShell(_ *exec.Cmd) { -} diff --git a/executils/executils_linux.go b/executils/executils_linux.go deleted file mode 100644 index 92e65d3d28b..00000000000 --- a/executils/executils_linux.go +++ /dev/null @@ -1,21 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import "os/exec" - -func tellCommandNotToSpawnShell(_ *exec.Cmd) { -} diff --git a/executils/executils_windows.go b/executils/executils_windows.go deleted file mode 100644 index bfb5fb1bdb3..00000000000 --- a/executils/executils_windows.go +++ /dev/null @@ -1,25 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import ( - "os/exec" - "syscall" -) - -func tellCommandNotToSpawnShell(oscmd *exec.Cmd) { - oscmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true} -} diff --git a/executils/null.go b/executils/null.go deleted file mode 100644 index e0bb37e75b1..00000000000 --- a/executils/null.go +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import "io" - -// NullReader is an io.Reader that will always return EOF -var NullReader = &nullReader{} - -type nullReader struct{} - -func (r *nullReader) Read(buff []byte) (int, error) { - return 0, io.EOF -} - -// NullWriter is an io.Writer that discards any output -var NullWriter = &nullWriter{} - -type nullWriter struct{} - -func (r *nullWriter) Write(buff []byte) (int, error) { - return len(buff), nil -} diff --git a/executils/output.go b/executils/output.go deleted file mode 100644 index 1049ff01699..00000000000 --- a/executils/output.go +++ /dev/null @@ -1,82 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import ( - "bufio" - "fmt" - "os" - "os/exec" -) - -// OutputListener is a callback interface to receive output messages from process -type OutputListener interface { - Output(msg string) -} - -// AttachStdoutListener adds an OutputListener to the stdout of the process -func AttachStdoutListener(cmd *exec.Cmd, listener OutputListener) error { - stdout, err := cmd.StdoutPipe() - if err != nil { - return fmt.Errorf(tr("can't retrieve standard output stream: %s"), err) - } - - stdoutCopy := bufio.NewScanner(stdout) - stdoutCopy.Split(bufio.ScanLines) - go func() { - for stdoutCopy.Scan() { - listener.Output(stdoutCopy.Text()) - } - }() - - return nil -} - -// AttachStderrListener adds an OutputListener to the stderr of the process -func AttachStderrListener(cmd *exec.Cmd, listener OutputListener) error { - stderr, err := cmd.StderrPipe() - if err != nil { - return fmt.Errorf(tr("can't retrieve standard error stream: %s"), err) - } - - stderrCopy := bufio.NewScanner(stderr) - stderrCopy.Split(bufio.ScanLines) - go func() { - for stderrCopy.Scan() { - listener.Output(stderrCopy.Text()) - } - }() - - return nil -} - -// PrintToStdout is an OutputListener that outputs messages to standard output -var PrintToStdout = &printToStdout{} - -type printToStdout struct{} - -func (*printToStdout) Output(msg string) { - fmt.Fprintln(os.Stdout, msg) -} - -// PrintToStderr is an OutputListener that outputs messages to standard error -var PrintToStderr = &printToStderr{} - -type printToStderr struct{} - -func (*printToStderr) Output(msg string) { - fmt.Fprintln(os.Stderr, msg) -} diff --git a/executils/process.go b/executils/process.go deleted file mode 100644 index a566226e73f..00000000000 --- a/executils/process.go +++ /dev/null @@ -1,199 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 executils - -import ( - "bytes" - "context" - "io" - "os" - "os/exec" - - "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" -) - -// Process is representation of an external process run -type Process struct { - cmd *exec.Cmd -} - -// NewProcess creates a command with the provided command line arguments -// and environment variables (that will be added to the parent os.Environ). -// The argument args[0] is the path to the executable, the remainder are the -// arguments to the command. -func NewProcess(extraEnv []string, args ...string) (*Process, error) { - if len(args) == 0 { - return nil, errors.New(tr("no executable specified")) - } - p := &Process{ - cmd: exec.Command(args[0], args[1:]...), - } - p.cmd.Env = append(os.Environ(), extraEnv...) - TellCommandNotToSpawnShell(p.cmd) - - // This is required because some tools detects if the program is running - // from terminal by looking at the stdin/out bindings. - // https://github.com/arduino/arduino-cli/issues/844 - p.cmd.Stdin = NullReader - return p, nil -} - -// NewProcessFromPath creates a command from the provided executable path, -// additional environment vars (in addition to the system default ones) -// and command line arguments. -func NewProcessFromPath(extraEnv []string, executable *paths.Path, args ...string) (*Process, error) { - processArgs := []string{executable.String()} - processArgs = append(processArgs, args...) - return NewProcess(extraEnv, processArgs...) -} - -// RedirectStdoutTo will redirect the process' stdout to the specified -// writer. Any previous redirection will be overwritten. -func (p *Process) RedirectStdoutTo(out io.Writer) { - p.cmd.Stdout = out -} - -// RedirectStderrTo will redirect the process' stdout to the specified -// writer. Any previous redirection will be overwritten. -func (p *Process) RedirectStderrTo(out io.Writer) { - p.cmd.Stderr = out -} - -// StdinPipe returns a pipe that will be connected to the command's standard -// input when the command starts. The pipe will be closed automatically after -// Wait sees the command exit. A caller need only call Close to force the pipe -// to close sooner. For example, if the command being run will not exit until -// standard input is closed, the caller must close the pipe. -func (p *Process) StdinPipe() (io.WriteCloser, error) { - if p.cmd.Stdin == NullReader { - p.cmd.Stdin = nil - } - return p.cmd.StdinPipe() -} - -// StdoutPipe returns a pipe that will be connected to the command's standard -// output when the command starts. -// -// Wait will close the pipe after seeing the command exit, so most callers -// don't need to close the pipe themselves. It is thus incorrect to call Wait -// before all reads from the pipe have completed. -// For the same reason, it is incorrect to call Run when using StdoutPipe. -func (p *Process) StdoutPipe() (io.ReadCloser, error) { - return p.cmd.StdoutPipe() -} - -// StderrPipe returns a pipe that will be connected to the command's standard -// error when the command starts. -// -// Wait will close the pipe after seeing the command exit, so most callers -// don't need to close the pipe themselves. It is thus incorrect to call Wait -// before all reads from the pipe have completed. -// For the same reason, it is incorrect to use Run when using StderrPipe. -func (p *Process) StderrPipe() (io.ReadCloser, error) { - return p.cmd.StderrPipe() -} - -// Start will start the underliyng process. -func (p *Process) Start() error { - return p.cmd.Start() -} - -// Wait waits for the command to exit and waits for any copying to stdin or copying -// from stdout or stderr to complete. -func (p *Process) Wait() error { - // TODO: make some helpers to retrieve exit codes out of *ExitError. - return p.cmd.Wait() -} - -// Signal sends a signal to the Process. Sending Interrupt on Windows is not implemented. -func (p *Process) Signal(sig os.Signal) error { - return p.cmd.Process.Signal(sig) -} - -// Kill causes the Process to exit immediately. Kill does not wait until the Process has -// actually exited. This only kills the Process itself, not any other processes it may -// have started. -func (p *Process) Kill() error { - return p.cmd.Process.Kill() -} - -// SetDir sets the working directory of the command. If Dir is the empty string, Run -// runs the command in the calling process's current directory. -func (p *Process) SetDir(dir string) { - p.cmd.Dir = dir -} - -// GetDir gets the working directory of the command. -func (p *Process) GetDir() string { - return p.cmd.Dir -} - -// SetDirFromPath sets the working directory of the command. If path is nil, Run -// runs the command in the calling process's current directory. -func (p *Process) SetDirFromPath(path *paths.Path) { - if path == nil { - p.cmd.Dir = "" - } else { - p.cmd.Dir = path.String() - } -} - -// Run starts the specified command and waits for it to complete. -func (p *Process) Run() error { - return p.cmd.Run() -} - -// SetEnvironment set the environment for the running process. Each entry is of the form "key=value". -// System default environments will be wiped out. -func (p *Process) SetEnvironment(values []string) { - p.cmd.Env = append([]string{}, values...) -} - -// RunWithinContext starts the specified command and waits for it to complete. If the given context -// is canceled before the normal process termination, the process is killed. -func (p *Process) RunWithinContext(ctx context.Context) error { - if err := p.Start(); err != nil { - return err - } - completed := make(chan struct{}) - defer close(completed) - go func() { - select { - case <-ctx.Done(): - p.Kill() - case <-completed: - } - }() - return p.Wait() -} - -// RunAndCaptureOutput starts the specified command and waits for it to complete. If the given context -// is canceled before the normal process termination, the process is killed. The standard output and -// standard error of the process are captured and returned at process termination. -func (p *Process) RunAndCaptureOutput(ctx context.Context) ([]byte, []byte, error) { - stdout := &bytes.Buffer{} - stderr := &bytes.Buffer{} - p.RedirectStdoutTo(stdout) - p.RedirectStderrTo(stderr) - err := p.RunWithinContext(ctx) - return stdout.Bytes(), stderr.Bytes(), err -} - -// GetArgs returns the command arguments -func (p *Process) GetArgs() []string { - return p.cmd.Args -} diff --git a/executils/process_test.go b/executils/process_test.go deleted file mode 100644 index 4e50f51993f..00000000000 --- a/executils/process_test.go +++ /dev/null @@ -1,42 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2021 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 executils - -import ( - "context" - "testing" - "time" - - "github.com/stretchr/testify/require" -) - -func TestProcessWithinContext(t *testing.T) { - // Build `delay` helper inside testdata/delay - builder, err := NewProcess(nil, "go", "build") - require.NoError(t, err) - builder.SetDir("testdata/delay") - require.NoError(t, builder.Run()) - - // Run delay and test if the process is terminated correctly due to context - process, err := NewProcess(nil, "testdata/delay/delay") - require.NoError(t, err) - start := time.Now() - ctx, cancel := context.WithTimeout(context.Background(), 250*time.Millisecond) - err = process.RunWithinContext(ctx) - require.Error(t, err) - require.Less(t, time.Since(start), 500*time.Millisecond) - cancel() -} diff --git a/executils/testdata/delay/.gitignore b/executils/testdata/delay/.gitignore deleted file mode 100644 index fd5812a40bb..00000000000 --- a/executils/testdata/delay/.gitignore +++ /dev/null @@ -1 +0,0 @@ -delay* diff --git a/executils/testdata/delay/main.go b/executils/testdata/delay/main.go deleted file mode 100644 index 883bb698f4e..00000000000 --- a/executils/testdata/delay/main.go +++ /dev/null @@ -1,26 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2023 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 main - -import ( - "fmt" - "time" -) - -func main() { - time.Sleep(3 * time.Second) - fmt.Println("Elapsed!") -} diff --git a/go.mod b/go.mod index 5c58f997e8d..2d93f0c27d4 100644 --- a/go.mod +++ b/go.mod @@ -7,11 +7,11 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 - github.com/arduino/go-paths-helper v1.9.2 + github.com/arduino/go-paths-helper v1.10.0 github.com/arduino/go-properties-orderedmap v1.8.0 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 - github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1 + github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2 github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 github.com/cmaglie/pb v1.0.27 github.com/codeclysm/extract/v3 v3.1.1 diff --git a/go.sum b/go.sum index 2c2d881c866..3ca470ff5fb 100644 --- a/go.sum +++ b/go.sum @@ -17,9 +17,6 @@ cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHOb cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= @@ -28,7 +25,6 @@ cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4g cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -52,35 +48,23 @@ github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCv github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/arduino/arduino-cli v0.0.0-20230206132931-4c0aaa876d1b/go.mod h1:arYwKdEvHC0uvv0FZ0hcWJcUAvqbaaPxv0e7wiamSqo= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.2.0/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.8.0/go.mod h1:V82BWgAAp4IbmlybxQdk9Bpkz8M4Qyx+RAFKaG9NuvU= -github.com/arduino/go-paths-helper v1.9.2 h1:omR8DPTL4nbUCWfGey5D+e3WvWfA2zEgoM6ZBRNt7ls= -github.com/arduino/go-paths-helper v1.9.2/go.mod h1:V82BWgAAp4IbmlybxQdk9Bpkz8M4Qyx+RAFKaG9NuvU= -github.com/arduino/go-properties-orderedmap v1.7.1/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= +github.com/arduino/go-paths-helper v1.10.0 h1:oeE6Mcl4lsz+knC3lzaCWkRQa3n3FbwdRSeGhy6uGbM= +github.com/arduino/go-paths-helper v1.10.0/go.mod h1:LgEVnv+cqSl05vXD5LaUZGquDsX5OKmPNDJtjTL8928= github.com/arduino/go-properties-orderedmap v1.8.0 h1:wEfa6hHdpezrVOh787OmClsf/Kd8qB+zE3P2Xbrn0CQ= github.com/arduino/go-properties-orderedmap v1.8.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6dbLC3y4i02zFT5quS4X6iioWifGlVwfy4= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ= -github.com/arduino/go-win32-utils v0.0.0-20180330194947-ed041402e83b/go.mod h1:iIPnclBMYm1g32Q5kXoqng4jLhMStReIP7ZxaoUC2y8= github.com/arduino/go-win32-utils v1.0.0 h1:/cXB86sOJxOsCHP7sQmXGLkdValwJt56mIwOHYxgQjQ= github.com/arduino/go-win32-utils v1.0.0/go.mod h1:0jqM7doGEAs6DaJCxxhLBUDS5OawrqF48HqXkcEie/Q= -github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1 h1:MPQZ2YImq5qBiOPwTFGOrl6E99XGSRHc+UzHA6hsjvc= -github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.1/go.mod h1:2lA930B1Xu/otYT1kbx3l1n5vFJuuyPNkQaqOoQHmPE= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2 h1:Yrljx84UtFilOCpe+xE6+OFDyWyhghYpP/4A7vzQneM= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y= github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4AdBxcC9dJLXasRimVqaComf9L3M= github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= @@ -96,17 +80,12 @@ github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/k github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/codeclysm/extract/v3 v3.1.0/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dHxfWuPaMhlOfQ= github.com/codeclysm/extract/v3 v3.1.1 h1:iHZtdEAwSTqPrd+1n4jfhr1qBhUWtHlMTjT90+fJVXg= github.com/codeclysm/extract/v3 v3.1.1/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dHxfWuPaMhlOfQ= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= @@ -127,18 +106,14 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= @@ -155,11 +130,8 @@ github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M= github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -171,7 +143,6 @@ github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -187,8 +158,6 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -201,12 +170,10 @@ github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= @@ -220,46 +187,25 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/itchyny/gojq v0.12.8 h1:Zxcwq8w4IeR8JJYEtoG2MWJZUv0RGY6QqJcO1cqV8+A= @@ -268,32 +214,17 @@ github.com/itchyny/timefmt-go v0.1.3 h1:7M3LGVDsqcd0VZH2U+x393obrzZisp7C0uEe921i github.com/itchyny/timefmt-go v0.1.3/go.mod h1:0osSSCQSASBJMsIZnhAaF1C2fCBTJZXrnj37mG8/c+A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/juju/clock v0.0.0-20180524022203-d293bb356ca4/go.mod h1:nD0vlnrUjcjJhqN5WuCWZyzfd5AHZAC9/ajvbSx69xA= -github.com/juju/errors v0.0.0-20150916125642-1b5e39b83d18/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= github.com/juju/errors v1.0.0 h1:yiq7kjCLll1BiaRuNY53MGI0+EQ3rF6GB+wvboZDefM= github.com/juju/errors v1.0.0/go.mod h1:B5x9thDqx0wIMH3+aLIMP9HjItInYWObRovoCFM5Qe8= -github.com/juju/loggo v0.0.0-20170605014607-8232ab8918d9/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/retry v0.0.0-20160928201858-1998d01ba1c3/go.mod h1:OohPQGsr4pnxwD5YljhQ+TZnuVRYpa5irjugL1Yuif4= -github.com/juju/testing v0.0.0-20200510222523-6c8c298c77a0/go.mod h1:hpGvhGHPVbNBraRLZEhoQwFLMrjK8PSlO4D3nDjKYXo= -github.com/juju/utils v0.0.0-20180808125547-9dfc6dbfb02b/go.mod h1:6/KLg8Wz/y2KVGWEpkK9vMNGkOnu4k/cqs8Z1fKjTOk= -github.com/juju/version v0.0.0-20161031051906-1f41e27e54f2/go.mod h1:kE8gK5X0CImdr7qpSKl3xB2PmpySSmfj7zVbkZFs81U= -github.com/kevinburke/ssh_config v0.0.0-20190725054713-01f96b0aa0cd/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.15.13/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -303,25 +234,19 @@ github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfn github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leonelquinteros/gotext v1.4.0 h1:2NHPCto5IoMXbrT0bldPrxj0qM5asOCwtb1aUQZ1tys= github.com/leonelquinteros/gotext v1.4.0/go.mod h1:yZGXREmoGTtBvZHNcc+Yfug49G/2spuF/i/Qlsvz1Us= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 h1:hyAgCuG5nqTMDeUD8KZs7HSPs6KprPgPP8QmGV8nyvk= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84/go.mod h1:Pb6XcsXyropB9LNHhnqaknG/vEwYztLkQzVCHv8sQ3M= github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= @@ -329,112 +254,75 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-buffruneio v0.2.0/go.mod h1:JkE26KsDizTr40EUHkXVtNPvgGtbSNq5BcowyYOWdKo= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmylund/sortutil v0.0.0-20120526081524-abeda66eb583/go.mod h1:sFPiU/UgDcsQVu3vkqpZLCXWFwUoQRpHGu9ATihPAl0= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo= github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ= github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/schollz/closestmatch v2.1.0+incompatible h1:Uel2GXEpJqOWBrlyI+oY9LTiyyjYS17cCYRqP13/SHk= github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= -github.com/src-d/gcfg v1.4.0/go.mod h1:p/UMsR43ujA89BJY9duynAwIpvqEujIH/jFlfL7jWoI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/xanzy/ssh-agent v0.2.1/go.mod h1:mLlQY/MoOhWBj+gOGMQkOeiEvkx+8pJSI+0Bx9h2kr4= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= @@ -448,45 +336,31 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= go.bug.st/downloader/v2 v2.1.1 h1:nyqbUizo3E2IxCCm4YFac4FtSqqFpqWP+Aae5GCMuw4= go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= -go.bug.st/relaxed-semver v0.9.0/go.mod h1:ug0/W/RPYUjliE70Ghxg77RDHmPxqpo7SHV16ijss7Q= go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= -go.bug.st/serial v1.3.2/go.mod h1:jDkjqASf/qSjmaOxHSHljwUQ6eHo/ZX/bxJLQqSlvZg= go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.1.1 h1:nHotIMK151LF3vYsU/b2RaoVaWCgrf2kvQeGNoZkGaA= go.bug.st/testifyjson v1.1.1/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -golang.org/x/crypto v0.0.0-20180214000028-650f4a345ab4/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= @@ -523,7 +397,6 @@ golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRu golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= @@ -534,16 +407,12 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180406214816-61147c48b25b/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= @@ -570,14 +439,10 @@ golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81R golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= @@ -594,9 +459,6 @@ golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -607,20 +469,15 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190221075227-b4e8571b14e0/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -628,12 +485,10 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -653,21 +508,14 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -692,7 +540,6 @@ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3 golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -709,18 +556,15 @@ golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3 golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -743,7 +587,6 @@ golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -752,10 +595,8 @@ golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= @@ -783,9 +624,6 @@ google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz513 google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -816,7 +654,6 @@ google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= @@ -829,13 +666,7 @@ google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a h1:a2MQQVoTo96JC9PMGtGBymLp7+/RzpFc2yX/9WfFg1c= google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= @@ -851,13 +682,9 @@ google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3Iji google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= @@ -875,33 +702,22 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20160105164936-4f90aeace3a2/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/mgo.v2 v2.0.0-20160818015218-f2b6f6c918c4/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/src-d/go-billy.v4 v4.3.2/go.mod h1:nDjArDMp+XMs1aFAESLRjfGSgfvoYN0hDfzEk0GjC98= -gopkg.in/src-d/go-git-fixtures.v3 v3.5.0/go.mod h1:dLBcvytrw/TYZsNTWCnkNF2DSIlzWYqTe3rJR56Ac7g= -gopkg.in/src-d/go-git.v4 v4.13.1/go.mod h1:nx5NYcxdKxq5fpltdHnPa2Exj4Sx0EclMWZQbYDu2z8= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= -gopkg.in/yaml.v2 v2.0.0-20170712054546-1be3d31502d6/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/buildcache/build_cache.go b/internal/buildcache/build_cache.go similarity index 100% rename from buildcache/build_cache.go rename to internal/buildcache/build_cache.go diff --git a/buildcache/build_cache_test.go b/internal/buildcache/build_cache_test.go similarity index 100% rename from buildcache/build_cache_test.go rename to internal/buildcache/build_cache_test.go diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 160c80e4181..14f48414ea9 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -24,9 +24,9 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/fatih/color" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index a3872708d44..cdb226c0b36 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -28,9 +28,9 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index 8d85d81c28b..a4782b41d3c 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -24,9 +24,9 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index 646cb3bbfb3..b590ddb6e15 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -25,9 +25,9 @@ import ( "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index a29f276e506..81ef0a01765 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -34,9 +34,9 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" "github.com/fatih/color" diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index c9b62a07553..a2434ab676f 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -21,9 +21,9 @@ import ( "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index fc2f247524c..ed2a007f888 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -30,9 +30,9 @@ import ( "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index e85c08c8678..772b16071fc 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -28,9 +28,9 @@ import ( "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/fatih/color" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/table/cell.go b/internal/cli/feedback/table/cell.go similarity index 100% rename from table/cell.go rename to internal/cli/feedback/table/cell.go diff --git a/table/table.go b/internal/cli/feedback/table/table.go similarity index 100% rename from table/table.go rename to internal/cli/feedback/table/table.go diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index 27a69fd3d15..dca14c6f407 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -25,9 +25,9 @@ import ( "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 5162cb01815..fb499ba326c 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -33,9 +33,9 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/fatih/color" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 39cba04481c..f571b197371 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -25,10 +25,10 @@ import ( "github.com/arduino/arduino-cli/internal/cli/core" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" + "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/cli/lib" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/table" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 34615016f29..af77725d820 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -29,7 +29,6 @@ import ( "testing" "time" - "github.com/arduino/arduino-cli/executils" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/fatih/color" @@ -71,7 +70,7 @@ func CreateArduinoCLIWithEnvironment(t *testing.T) (*Environment, *ArduinoCLI) { type ArduinoCLI struct { path *paths.Path t *require.Assertions - proc *executils.Process + proc *paths.Process stdIn io.WriteCloser cliEnvVars map[string]string cliConfigPath *paths.Path @@ -207,7 +206,7 @@ func (cli *ArduinoCLI) InstallMockedSerialDiscovery(t *testing.T) { // Build mocked serial-discovery mockDir := FindRepositoryRootPath(t).Join("internal", "mock_serial_discovery") - gobuild, err := executils.NewProcess(nil, "go", "build") + gobuild, err := paths.NewProcess(nil, "go", "build") require.NoError(t, err) gobuild.SetDirFromPath(mockDir) require.NoError(t, gobuild.Run(), "Building mocked serial-discovery") @@ -243,7 +242,7 @@ func (cli *ArduinoCLI) InstallMockedSerialMonitor(t *testing.T) { // Build mocked serial-monitor mockDir := FindRepositoryRootPath(t).Join("internal", "mock_serial_monitor") - gobuild, err := executils.NewProcess(nil, "go", "build") + gobuild, err := paths.NewProcess(nil, "go", "build") require.NoError(t, err) gobuild.SetDirFromPath(mockDir) require.NoError(t, gobuild.Run(), "Building mocked serial-monitor") @@ -313,7 +312,7 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader } fmt.Fprintln(terminalOut, color.HiBlackString(">>> Running: ")+color.HiYellowString("%s %s", cli.path, strings.Join(args, " "))) - cliProc, err := executils.NewProcessFromPath(cli.convertEnvForExecutils(env), cli.path, args...) + cliProc, err := paths.NewProcessFromPath(cli.convertEnvForExecutils(env), cli.path, args...) cli.t.NoError(err) stdout, err := cliProc.StdoutPipe() cli.t.NoError(err) @@ -368,7 +367,7 @@ func (cli *ArduinoCLI) StartDaemon(verbose bool) string { if verbose { args = append(args, "-v", "--log-level", "debug") } - cliProc, err := executils.NewProcessFromPath(cli.convertEnvForExecutils(cli.cliEnvVars), cli.path, args...) + cliProc, err := paths.NewProcessFromPath(cli.convertEnvForExecutils(cli.cliEnvVars), cli.path, args...) cli.t.NoError(err) stdout, err := cliProc.StdoutPipe() cli.t.NoError(err) From 59adabd4f1f4820b85f725a70ed985480e31d616 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Dec 2023 20:51:10 -0800 Subject: [PATCH 053/361] [skip-changelog] Bump actions/setup-python from 4 to 5 (#2451) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-mkdocs-task.yml | 2 +- .github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index 6914212a928..f2c13d0a60f 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -50,7 +50,7 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ env.PYTHON_VERSION }} diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index 1f8902be25b..edd3a91f05e 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -70,7 +70,7 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ env.PYTHON_VERSION }} From 76ea8c1370bba856afc87232ae2755b218b23d22 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 06:04:56 -0800 Subject: [PATCH 054/361] [skip-changelog] Bump actions/setup-go from 4 to 5 (#2454) Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4 to 5. - [Release notes](https://github.com/actions/setup-go/releases) - [Commits](https://github.com/actions/setup-go/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-go dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-easyjson.yml | 2 +- .github/workflows/check-go-dependencies-task.yml | 4 ++-- .github/workflows/check-go-task.yml | 12 ++++++------ .github/workflows/check-i18n-task.yml | 2 +- .github/workflows/check-markdown-task.yml | 2 +- .github/workflows/check-mkdocs-task.yml | 2 +- .github/workflows/check-protobuf-task.yml | 4 ++-- .../deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- .github/workflows/i18n-nightly-push.yaml | 2 +- .github/workflows/i18n-weekly-pull.yaml | 2 +- .github/workflows/test-go-task.yml | 6 +++--- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/check-easyjson.yml b/.github/workflows/check-easyjson.yml index 89051e5b6da..459884b36e6 100644 --- a/.github/workflows/check-easyjson.yml +++ b/.github/workflows/check-easyjson.yml @@ -32,7 +32,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index f2013d855e2..beee36e8963 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -76,7 +76,7 @@ jobs: version: 3.x - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -126,7 +126,7 @@ jobs: version: 3.x - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 01237a6588c..69af9533201 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -67,7 +67,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -103,7 +103,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -141,7 +141,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -177,7 +177,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -206,7 +206,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -244,7 +244,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index 659f6e4a92c..36f5179469f 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -22,7 +22,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 54c3c507db8..5094d204978 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -109,7 +109,7 @@ jobs: node-version: ${{ env.NODE_VERSION }} - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index f2c13d0a60f..45f842ba4c0 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -37,7 +37,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index 9e46bede483..8e672aa505c 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -54,7 +54,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -91,7 +91,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index edd3a91f05e..f6207ae13ee 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -57,7 +57,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} diff --git a/.github/workflows/i18n-nightly-push.yaml b/.github/workflows/i18n-nightly-push.yaml index 6d1dd9b514f..3243679e8d1 100644 --- a/.github/workflows/i18n-nightly-push.yaml +++ b/.github/workflows/i18n-nightly-push.yaml @@ -16,7 +16,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: "${{ env.GO_VERSION }}" diff --git a/.github/workflows/i18n-weekly-pull.yaml b/.github/workflows/i18n-weekly-pull.yaml index 1aac744870a..952b763e848 100644 --- a/.github/workflows/i18n-weekly-pull.yaml +++ b/.github/workflows/i18n-weekly-pull.yaml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: "${{ env.GO_VERSION }}" diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index e37c78f886c..9cc63b526ef 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -96,7 +96,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -142,7 +142,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} @@ -174,7 +174,7 @@ jobs: uses: actions/checkout@v4 - name: Install Go - uses: actions/setup-go@v4 + uses: actions/setup-go@v5 with: go-version: ${{ env.GO_VERSION }} From 0fc6575ee66286c7a447297e2c4786632f87d06f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Dec 2023 16:14:25 +0100 Subject: [PATCH 055/361] [breaking] refactor: made some golang modules private (part 2) (#2455) * Made 'configuration' package internal * Made 'arduino' package internal * Moved errors in their own package * Moved directories init out of commands/internal/instances * Updated docs * Removed dep on pkg/errors library * Update easyjson task and generated files * Move the terminal detection subroutines in feedback package This also fix the linter errors: internal/cli/configuration/term.go:25:39: use of `os.Stdin` forbidden because "in cli package use `feedback.*` instead" (forbidigo) var IsInteractive = isatty.IsTerminal(os.Stdin.Fd()) || isatty.IsCygwinTerminal(os.Stdin.Fd()) ^ internal/cli/configuration/term.go:28:36: use of `os.Stdout` forbidden because "in cli package use `feedback.*` instead" (forbidigo) var HasConsole = isatty.IsTerminal(os.Stdout.Fd()) || isatty.IsCygwinTerminal(os.Stdout.Fd()) * Fix linter warning * Fixed docs:include-configuration-json-schema task * Fixed build test for discovery_client --- .github/workflows/check-go-task.yml | 2 +- .../arduino/go-paths-helper.dep.yml | 2 +- .licenses/go/github.com/pkg/errors.dep.yml | 36 ----- DistTasks.yml | 2 +- Taskfile.yml | 6 +- commands/board/details.go | 12 +- commands/board/list.go | 32 ++--- commands/board/list_test.go | 6 +- commands/board/listall.go | 8 +- commands/board/search.go | 6 +- .../cmderrors/cmderrors.go | 2 +- commands/compile/compile.go | 54 +++---- commands/core.go | 2 +- commands/core/download.go | 10 +- commands/core/install.go | 10 +- commands/core/search.go | 8 +- commands/core/search_test.go | 2 +- commands/core/uninstall.go | 12 +- commands/core/upgrade.go | 8 +- commands/daemon/daemon.go | 4 +- commands/daemon/debug.go | 4 +- commands/daemon/settings.go | 2 +- commands/daemon/settings_test.go | 2 +- commands/debug/debug.go | 12 +- commands/debug/debug_info.go | 34 ++--- commands/debug/debug_test.go | 2 +- commands/instances.go | 95 ++++++++----- commands/internal/instances/instances.go | 47 ++----- commands/lib/download.go | 14 +- commands/lib/install.go | 20 +-- commands/lib/list.go | 22 +-- commands/lib/resolve_deps.go | 12 +- commands/lib/search.go | 8 +- commands/lib/search_matcher.go | 4 +- commands/lib/search_test.go | 2 +- commands/lib/uninstall.go | 8 +- commands/lib/upgrade.go | 8 +- commands/lib/utils.go | 10 +- commands/monitor/monitor.go | 28 ++-- commands/monitor/settings.go | 10 +- commands/sketch/archive.go | 18 +-- commands/sketch/load.go | 6 +- commands/sketch/new.go | 20 +-- commands/sketch/set_defaults.go | 10 +- commands/sketch/warn_deprecated.go | 2 +- commands/upload/burnbootloader.go | 4 +- commands/upload/programmers_list.go | 12 +- commands/upload/upload.go | 72 +++++----- commands/upload/upload_test.go | 6 +- configuration/term.go | 28 ---- docs/UPGRADING.md | 4 + docsgen/main.go | 2 +- go.mod | 3 +- go.sum | 4 +- .../builder/archive_compiled_files.go | 7 +- .../arduino}/builder/build_options_manager.go | 22 +-- .../arduino}/builder/builder.go | 20 +-- .../arduino}/builder/compilation.go | 17 ++- {arduino => internal/arduino}/builder/core.go | 18 +-- .../arduino}/builder/cpp/cpp.go | 0 .../arduino}/builder/cpp/cpp_test.go | 2 +- .../arduino}/builder/export_cmake.go | 6 +- .../builder/internal/compilation/database.go | 0 .../internal/compilation/database_test.go | 0 .../builder/internal/detector/detector.go | 59 ++++---- .../internal/detector/detector_test.go | 2 +- .../diagnostics/compiler_detection.go | 0 .../diagnostics/compiler_detection_test.go | 0 .../builder/internal/diagnostics/parser.go | 0 .../internal/diagnostics/parser_gcc.go | 0 .../internal/diagnostics/parser_test.go | 0 .../testdata/compiler_outputs/test001.txt | 0 .../compiler_outputs/test001.txt.json | 0 .../testdata/compiler_outputs/test002.txt | 0 .../compiler_outputs/test002.txt.json | 0 .../testdata/compiler_outputs/test003.txt | 0 .../compiler_outputs/test003.txt.json | 0 .../testdata/compiler_outputs/test004.txt | 0 .../compiler_outputs/test004.txt.json | 0 .../builder/internal/logger/logger.go | 0 .../preprocessor/arduino_preprocessor.go | 8 +- .../builder/internal/preprocessor/ctags.go | 14 +- .../builder/internal/preprocessor/gcc.go | 6 +- .../internal/ctags/ctags_has_issues.go | 0 .../internal/ctags/ctags_parser.go | 0 .../internal/ctags/ctags_parser_test.go | 0 .../internal/ctags/ctags_to_prototypes.go | 0 .../ctags/ctags_to_prototypes_test.go | 0 ...tCTagsParserClassMembersAreFilteredOut.txt | 0 .../TestCTagsParserDefaultArguments.txt | 0 .../TestCTagsParserFunctionPointer.txt | 0 .../TestCTagsParserFunctionPointers.txt | 0 ...tCTagsParserFunctionPointersNoIndirect.txt | 0 .../testdata/TestCTagsParserNamespace.txt | 0 ...uldDealFunctionWithDifferentSignatures.txt | 0 .../TestCTagsParserShouldDealWithClasses.txt | 0 .../TestCTagsParserShouldDealWithMacros.txt | 0 .../TestCTagsParserShouldDealWithStructs.txt | 0 .../TestCTagsParserShouldListPrototypes.txt | 0 .../TestCTagsParserShouldListTemplates.txt | 0 .../TestCTagsParserShouldListTemplates2.txt | 0 .../ctags/testdata/TestCTagsParserStatic.txt | 0 .../TestCTagsParserStructWithFunctions.txt | 0 ...TestCTagsRunnerSketchWithClassFunction.txt | 0 .../TestCTagsRunnerSketchWithMultifile.txt | 0 .../builder/internal/progress/progress.go | 0 .../internal/progress/progress_test.go | 0 .../arduino}/builder/internal/utils/utils.go | 9 +- .../builder/internal/utils/utils_test.go | 0 .../arduino}/builder/libraries.go | 27 ++-- .../arduino}/builder/linker.go | 7 +- .../arduino}/builder/preprocess_sketch.go | 2 +- .../arduino}/builder/recipe.go | 5 +- .../arduino}/builder/sizer.go | 4 +- .../arduino}/builder/sizer_test.go | 0 .../arduino}/builder/sketch.go | 25 ++-- .../arduino}/builder/sketch_test.go | 2 +- .../TestCopyAdditionalFiles.ino | 0 .../TestCopyAdditionalFiles/include/foo.h | 0 .../testloadsketchcasemismatch.ino | 0 .../TestLoadSketchFolder/.#sketch.ino | 0 .../TestLoadSketchFolder.ino | 0 .../testdata/TestLoadSketchFolder/doc.txt | 0 .../testdata/TestLoadSketchFolder/header.h | 0 .../testdata/TestLoadSketchFolder/old.pde | 0 .../testdata/TestLoadSketchFolder/other.ino | 0 .../testdata/TestLoadSketchFolder/s_file.S | 0 .../TestLoadSketchFolder/src/dont_load_me.ino | 0 .../TestLoadSketchFolder/src/helper.h | 0 .../.#sketch.ino | 0 .../TestLoadSketchFolderBothInoAndPde.ino | 0 .../TestLoadSketchFolderBothInoAndPde.pde | 0 .../TestLoadSketchFolderBothInoAndPde/doc.txt | 0 .../header.h | 0 .../TestLoadSketchFolderBothInoAndPde/old.pde | 0 .../other.ino | 0 .../s_file.S | 0 .../src/dont_load_me.ino | 0 .../src/helper.h | 0 .../TestLoadSketchFolder.ino | 0 .../TestLoadSketchFolderPde/.#sketch.ino | 0 .../TestLoadSketchFolderPde.pde | 0 .../testdata/TestLoadSketchFolderPde/doc.txt | 0 .../testdata/TestLoadSketchFolderPde/header.h | 0 .../testdata/TestLoadSketchFolderPde/old.pde | 0 .../TestLoadSketchFolderPde/other.ino | 0 .../testdata/TestLoadSketchFolderPde/s_file.S | 0 .../src/dont_load_me.ino | 0 .../TestLoadSketchFolderPde/src/helper.h | 0 .../.#sketch.ino | 0 .../TestLoadSketchFolderSymlink.ino | 0 .../TestLoadSketchFolderSymlinkSrc/doc.txt | 0 .../TestLoadSketchFolderSymlinkSrc/header.h | 0 .../TestLoadSketchFolderSymlinkSrc/old.pde | 0 .../TestLoadSketchFolderSymlinkSrc/other.ino | 0 .../TestLoadSketchFolderSymlinkSrc/s_file.S | 0 .../src/dont_load_me.ino | 0 .../src/helper.h | 0 .../TestLoadSketchFolderWrongMain/main.ino | 0 .../testdata/TestMergeSketchSources.txt | 0 .../TestMergeSketchSourcesArduinoIncluded.ino | 0 .../testdata/TestMergeSketchSources_win.txt | 0 .../builder/testdata/TestSaveSketch.ino | 0 .../TestSketchWithIppFile.ino | 0 .../TestSketchWithIppFile/template.ipp | 0 .../TestSketchWithMarkdownAsciidocJson.ino | 0 .../foo.adoc | 0 .../foo.json | 0 .../TestSketchWithMarkdownAsciidocJson/foo.md | 0 .../TestSketchWithTppFile.ino | 0 .../TestSketchWithTppFile/template.tpp | 0 {arduino => internal/arduino}/cores/board.go | 0 .../arduino}/cores/board_test.go | 0 {arduino => internal/arduino}/cores/cores.go | 6 +- .../arduino}/cores/cores_test.go | 0 {arduino => internal/arduino}/cores/fqbn.go | 0 .../arduino}/cores/fqbn_test.go | 0 .../arduino}/cores/packageindex/index.go | 6 +- .../cores/packageindex/index_easyjson.go | 132 +++++++++--------- .../arduino}/cores/packageindex/index_test.go | 4 +- .../cores/packageindex/testdata/links | 0 .../testdata/package_LowPowerLab_index.json | 0 .../package_MCUdude_MegaCore_index.json | 0 .../package_MCUdude_MegaCore_index.json.1 | 0 .../package_MCUdude_MicroCore_index.json | 0 .../package_MCUdude_MightyCore_index.json | 0 .../package_MCUdude_MightyCore_index.json.1 | 0 .../package_MCUdude_MiniCore_index.json | 0 .../testdata/package_MattairTech_index.json | 0 .../package_NicoHood_HoodLoader2_index.json | 0 .../package_XMegaForArduino_index.json | 0 .../testdata/package_Zoubworld_index.json | 0 .../testdata/package_adafruit_index.json | 0 .../testdata/package_akafugu_index.json | 0 .../testdata/package_aloriumtech_index.json | 0 ...package_arachnidlabs.com_boards_index.json | 0 .../testdata/package_ardhat_index.json | 0 .../testdata/package_arduboy_index.json | 0 .../testdata/package_arrow_index.json | 0 .../testdata/package_atflash_index.json | 0 .../testdata/package_avdweb_nl_index.json | 0 .../testdata/package_canique_index.json | 0 .../package_carlosefr_atmega_index.json | 0 .../testdata/package_chipkit_index.json | 0 .../testdata/package_chipkit_index.json.1 | 0 .../testdata/package_clkdiv8_index.json | 0 ...codebendercc_ariadne-bootloader_index.json | 0 .../testdata/package_cosa_index.json | 0 .../testdata/package_cytron_index.json | 0 .../package_damellis_attiny_index.json | 0 .../package_dfrobot_index.json.invalid | 0 ...package_dfrobot_iot_mainboard.json.invalid | 0 .../testdata/package_digistump_index.json | 0 .../testdata/package_drazzy.com_index.json | 0 .../package_dwengo.org_dwenguino_index.json | 0 ...kage_elektor-labs.com_ide-1.6.5_index.json | 0 ...kage_elektor-labs.com_ide-1.6.6_index.json | 0 .../package_engimusing_modules_index.json | 0 .../testdata/package_esp32_index.json | 0 .../testdata/package_esp32_index.json.1 | 0 .../testdata/package_esp32_index.json.2 | 0 .../testdata/package_esp8266com_index.json | 0 .../package_femtocow_attiny_index.json | 0 .../testdata/package_ftduino_index.json | 0 .../testdata/package_goldilocks_index.json | 0 .../testdata/package_hidnseek_boot_index.json | 0 .../testdata/package_infineon_index.json | 0 .../testdata/package_intorobot_index.json | 0 .../testdata/package_iot2000_index.json | 0 .../package_iotcore_ide-1.6.6_index.json | 0 .../testdata/package_ioteam_index.json | 0 .../package_iteaduino_lite_index.json | 0 .../testdata/package_konekt_index.json | 0 .../testdata/package_lattuino_index.json | 0 .../package_lauszus_sanguino_index.json | 0 .../package_leonardomiliani.com_index.json | 0 .../testdata/package_macchina_index.json | 0 .../testdata/package_maxim_index.json | 0 .../testdata/package_mkr1000_index.json | 0 .../testdata/package_mtk_linkit_index.json | 0 .../package_mtk_linkit_smart_7688_index.json | 0 .../testdata/package_nRF5_boards_index.json | 0 .../testdata/package_navspark_index.json | 0 .../testdata/package_olimex_avr_index.json | 0 .../testdata/package_olimex_pic_index.json | 0 .../testdata/package_olimex_stm_index.json | 0 .../testdata/package_omc_index.json | 0 .../testdata/package_openpanzer_index.json | 0 .../testdata/package_opentracker_index.json | 0 .../package_oshlab_breadboard_index.json | 0 .../testdata/package_panstamp_index.json | 0 .../package_per1234_wirino_index.json | 0 .../package_project_laika.com_index.json | 0 .../testdata/package_quirkbot.com_index.json | 0 .../package_radino_radino32_index.json | 0 .../package_realtek.com_ameba_index.json | 0 .../package_redbear_index.json.tobefixed | 0 .../testdata/package_redbearlab_index.json | 0 .../testdata/package_rfduino_index.json | 0 .../testdata/package_rig_index.json | 0 .../testdata/package_rnc_index.json | 0 .../testdata/package_seeeduino_index.json | 0 .../testdata/package_simba_avr_index.json | 0 .../testdata/package_simba_esp_index.json | 0 .../testdata/package_simba_sam_index.json | 0 .../testdata/package_sodaq_index.json | 0 .../testdata/package_sodaq_samd_index.json | 0 .../testdata/package_sparkfun_index.json | 0 .../testdata/package_stm_index.json | 0 .../package_talk2.wisen.com_index.json | 0 ...package_thomasonw_ATmegaxxM1-C1_index.json | 0 .../package_tkj_balanduino_index.json | 0 .../testdata/package_tl7788_index.json | 0 .../testdata/package_udoo_index.json | 0 .../package_zevero_avr_boot_index.json | 0 .../arduino}/cores/packagemanager/download.go | 10 +- .../arduino}/cores/packagemanager/identify.go | 2 +- .../cores/packagemanager/install_uninstall.go | 40 +++--- .../arduino}/cores/packagemanager/loader.go | 12 +- .../cores/packagemanager/loader_test.go | 0 .../cores/packagemanager/package_manager.go | 14 +- .../packagemanager/package_manager_test.go | 4 +- .../arduino}/cores/packagemanager/profiles.go | 30 ++-- .../cores/packagemanager/testdata/.gitignore | 0 .../custom_hardware/arduino/avr/boards.txt | 0 .../custom_hardware/arduino/sam/boards.txt | 0 .../custom_hardware/arduino/sam/platform.txt | 0 .../esp8266/esp8266/boards.txt | 0 .../my_avr_platform/avr/boards.txt | 0 .../stk500v2/stk500boot_v2_mega2560.hex | 0 .../my_avr_platform/avr/libraries/SPI/SPI.cpp | 0 .../my_avr_platform/avr/libraries/SPI/SPI.h | 0 .../BarometricPressureSensor.ino | 0 .../DigitalPotControl/DigitalPotControl.ino | 0 .../avr/libraries/SPI/keywords.txt | 0 .../avr/libraries/SPI/library.properties | 0 .../my_avr_platform/avr/platform.txt | 0 .../custom_hardware/test/avr/boards.txt | 0 .../custom_hardware/watterott/avr/boards.txt | 0 .../watterott/avr/platform.txt | 0 .../watterott/avr/programmers.txt | 0 .../data_dir_1/package_adafruit_index.json | 0 .../data_dir_1/package_esp32_index.json | 0 .../data_dir_1/package_esp8266com_index.json | 0 .../data_dir_1/package_test_index.json | 0 .../adafruit/hardware/samd/1.5.3/boards.txt | 0 .../adafruit/hardware/samd/1.5.3/keywords.txt | 0 .../adafruit/hardware/samd/1.5.3/platform.txt | 0 .../hardware/samd/1.5.3/programmers.txt | 0 .../arduino/hardware/avr/1.8.3/boards.txt | 0 .../arduino/hardware/avr/1.8.3/platform.txt | 0 .../hardware/avr/1.8.3/programmers.txt | 0 .../arduino/tools/CMSIS-Atmel/1.2.0/.keep | 0 .../packages/arduino/tools/CMSIS/4.5.0/.keep | 0 .../arm-none-eabi-gcc/4.8.3-2014q1/.keep | 0 .../packages/arduino/tools/bossac/1.7.0/.keep | 0 .../tools/bossac/1.8.0-48-gb176eee/.keep | 0 .../arduino/tools/openocd/0.9.0-arduino/.keep | 0 .../esp32/hardware/esp32/1.0.0/boards.txt | 0 .../esp32/hardware/esp32/1.0.0/platform.txt | 0 .../hardware/esp32/1.0.0/programmers.txt | 0 .../packages/esp32/tools/esptool/2.3.1/.keep | 0 .../packages/esp32/tools/mkspiffs/0.2.3/.keep | 0 .../1.22.0-80-g6c4433a-5.2.0/.keep | 0 .../esp8266/hardware/esp8266/3.0.2/boards.txt | 0 .../hardware/esp8266/3.0.2/platform.txt | 0 .../hardware/esp8266/3.0.2/programmers.txt | 0 .../esp8266/tools/esptool/0.4.13/.keep | 0 .../esp8266/tools/mkspiffs/0.2.0/.keep | 0 .../1.20.0-26-gb404fb9-2/.keep | 0 .../test/hardware/avr/1.1.0/boards.txt | 0 .../packages/test/tools/bossac/1.7.5/.keep | 0 .../test2/hardware/avr/1.0.0/boards.txt | 0 .../extra_hardware/referenced/avr/boards.txt | 0 .../extra_hardware/referenced/samd/boards.txt | 0 .../testdata/package_tooltest_index.json | 0 .../arduino}/cores/programmers.go | 0 {arduino => internal/arduino}/cores/status.go | 0 {arduino => internal/arduino}/cores/tools.go | 2 +- .../arduino}/cores/tools_test.go | 2 +- .../arduino}/discovery/discovery.go | 40 +++--- .../discovery/discovery_client/main.go | 4 +- .../arduino}/discovery/discovery_test.go | 0 .../discoverymanager/discoverymanager.go | 6 +- .../discovery/testdata/cat/.gitignore | 0 .../arduino}/discovery/testdata/cat/main.go | 0 .../arduino}/globals/globals.go | 0 .../arduino}/httpclient/httpclient.go | 8 +- .../arduino}/httpclient/httpclient_test.go | 0 .../arduino}/libraries/libraries.go | 4 +- .../arduino}/libraries/libraries_layout.go | 0 .../arduino}/libraries/libraries_location.go | 0 .../arduino}/libraries/libraries_test.go | 0 .../libraries/librariesindex/index.go | 4 +- .../libraries/librariesindex/index_test.go | 2 +- .../arduino}/libraries/librariesindex/json.go | 2 +- .../libraries/librariesindex/json_easyjson.go | 36 ++--- .../libraries/librariesindex/reference.go | 0 .../librariesindex/testdata/invalid.json | 0 .../testdata/library_index.json | 0 .../arduino}/libraries/librarieslist.go | 0 .../libraries/librariesmanager/download.go | 0 .../libraries/librariesmanager/install.go | 12 +- .../librariesmanager/install_test.go | 0 .../librariesmanager/librariesmanager.go | 6 +- .../librariesmanager/librariesmanager_test.go | 2 +- .../libraries/librariesresolver/cpp.go | 8 +- .../libraries/librariesresolver/cpp_test.go | 2 +- .../arduino}/libraries/loader.go | 10 +- .../libraries/testdata/LegacyLib/LegacyLib.h | 0 .../library.properties | 0 .../src/LibWithNonUTF8Properties.h | 0 .../testdata/TestLib/library.properties | 0 .../libraries/testdata/TestLib/src/TestLib.h | 0 .../examples/MultipleFiles/MultipleFiles.ino | 0 .../examples/MultipleFiles/MultipleFiles.pde | 0 .../examples/WrongCasing/wrongCasing.ino | 0 .../examples/simple/simple.ino | 0 .../TestLibExamples/library.properties | 0 .../testdata/TestLibExamples/src/TestLib.h | 0 .../testdata/TestLibInDev/.development | 0 .../testdata/TestLibInDev/library.properties | 0 .../testdata/TestLibInDev/src/TestLib.h | 0 .../arduino}/monitor/monitor.go | 0 .../arduino}/monitor/monitor_test.go | 0 .../arduino}/monitor/testdata/.gitignore | 0 .../arduino}/resources/checksums.go | 0 .../arduino}/resources/download.go | 2 +- .../arduino}/resources/helpers.go | 0 .../arduino}/resources/helpers_test.go | 2 +- .../arduino}/resources/index.go | 38 ++--- .../arduino}/resources/install.go | 0 .../arduino}/resources/install_test.go | 0 .../arduino}/resources/resources_test.go | 0 .../arduino}/resources/structs.go | 0 .../testdata/invalid/package_index.tar.bz2 | Bin ...latform_with_multiple_root_folders.tar.bz2 | Bin .../platform_without_root_folder.tar.bz2 | Bin .../testdata/valid/package_index.tar.bz2 | Bin ...tform_with_root_and__MACOSX_folder.tar.bz2 | Bin .../security/keys/arduino_public.gpg.key | Bin .../arduino}/security/signature_test.go | 0 .../arduino}/security/signatures.go | 0 .../testdata/module_firmware_index.json | 0 .../testdata/module_firmware_index.json.sig | Bin .../module_firmware_index_public.gpg.key | Bin .../security/testdata/package_index.json | 0 .../security/testdata/package_index.json.sig | Bin .../arduino}/serialutils/serialutils.go | 9 +- .../arduino}/sketch/profiles.go | 2 +- .../arduino}/sketch/profiles_test.go | 0 .../arduino}/sketch/sketch.go | 12 +- .../arduino}/sketch/sketch_test.go | 0 .../SketchBothInoAndPde.ino | 0 .../SketchBothInoAndPde.pde | 0 .../SketchCasingCorrect.ino | 0 .../SketchCasingWrong/sketchcasingwrong.ino | 0 .../SketchMultipleMainFiles.ino | 0 .../SketchMultipleMainFiles.pde | 0 .../sketch/testdata/SketchPde/SketchPde.pde | 0 .../testdata/SketchSimple/SketchSimple.ino | 0 .../sketch/testdata/SketchSimple/other.cpp | 0 .../testdata/SketchSymlinkSrc/.#sketch.ino | 0 .../SketchSymlinkSrc/SketchSymlinkSrc.ino | 0 .../sketch/testdata/SketchSymlinkSrc/doc.txt | 0 .../sketch/testdata/SketchSymlinkSrc/header.h | 0 .../sketch/testdata/SketchSymlinkSrc/old.pde | 0 .../testdata/SketchSymlinkSrc/other.ino | 0 .../sketch/testdata/SketchSymlinkSrc/s_file.S | 0 .../SketchSymlinkSrc/src/dont_load_me.ino | 0 .../testdata/SketchSymlinkSrc/src/helper.h | 0 .../SketchWithDefaultFQBNAndPort.ino | 0 .../SketchWithDefaultFQBNAndPort/sketch.yml | 0 .../SketchWithIppFile/SketchWithIppFile.ino | 0 .../testdata/SketchWithIppFile/template.ipp | 0 .../SketchWithMarkdownAsciidocJson.ino | 0 .../SketchWithMarkdownAsciidocJson/foo.adoc | 0 .../SketchWithMarkdownAsciidocJson/foo.json | 0 .../SketchWithMarkdownAsciidocJson/foo.md | 0 .../SketchWithMultipleSymlinkLoops.ino | 0 .../testdata/SketchWithProfiles/sketch.yml | 0 .../SketchWithSymlink/SketchWithSymlink.ino | 0 .../SketchWithSymlink/some_folder/helper.h | 0 .../SketchWithSymlinkLoop.ino | 0 .../some_folder/helper.h | 0 .../SketchWithTppFile/SketchWithTppFile.ino | 0 .../testdata/SketchWithTppFile/template.tpp | 0 .../testdata/SketchWithWrongMain/main.ino | 0 .../arduino}/sketch/testdata/TestNewItem.ino | 0 {arduino => internal/arduino}/sketch/yaml.go | 0 .../arduino}/sketch/yaml_test.go | 0 .../arduino}/utils/filenames.go | 0 {arduino => internal/arduino}/utils/search.go | 0 {arduino => internal/arduino}/utils/url.go | 0 .../arduino}/utils/url_test.go | 0 internal/buildcache/build_cache.go | 3 +- internal/cli/arguments/fqbn.go | 6 +- internal/cli/arguments/port.go | 6 +- internal/cli/arguments/pre_post_script.go | 6 +- internal/cli/arguments/reference.go | 6 +- internal/cli/arguments/reference_test.go | 2 +- internal/cli/arguments/sketch.go | 3 +- internal/cli/board/list.go | 6 +- internal/cli/burnbootloader/burnbootloader.go | 6 +- internal/cli/cache/clean.go | 2 +- internal/cli/cli.go | 2 +- internal/cli/compile/compile.go | 10 +- internal/cli/config/add.go | 2 +- internal/cli/config/config.go | 2 +- internal/cli/config/delete.go | 2 +- internal/cli/config/dump.go | 2 +- internal/cli/config/init.go | 2 +- internal/cli/config/remove.go | 2 +- internal/cli/config/set.go | 2 +- .../cli/configuration}/configuration.go | 0 .../configuration}/configuration.schema.json | 0 .../configuration_schema_test.go | 0 .../cli/configuration}/configuration_test.go | 0 .../cli/configuration}/defaults.go | 0 .../cli/configuration}/directories.go | 0 .../cli/configuration}/network.go | 0 internal/cli/core/search.go | 6 +- internal/cli/core/upgrade.go | 4 +- internal/cli/daemon/daemon.go | 2 +- internal/cli/debug/debug.go | 6 +- internal/cli/feedback/terminal.go | 24 +++- internal/cli/lib/install.go | 2 +- internal/cli/lib/search.go | 2 +- internal/cli/monitor/monitor.go | 5 +- internal/cli/sketch/new.go | 2 +- internal/cli/updater/updater.go | 14 +- internal/cli/upload/upload.go | 8 +- .../integrationtest/compile_1/compile_test.go | 2 +- .../integrationtest/compile_4/compile_test.go | 2 +- .../integrationtest/daemon/daemon_test.go | 6 +- main.go | 2 +- 496 files changed, 789 insertions(+), 866 deletions(-) delete mode 100644 .licenses/go/github.com/pkg/errors.dep.yml rename arduino/errors.go => commands/cmderrors/cmderrors.go (99%) delete mode 100644 configuration/term.go rename {arduino => internal/arduino}/builder/archive_compiled_files.go (94%) rename {arduino => internal/arduino}/builder/build_options_manager.go (92%) rename {arduino => internal/arduino}/builder/builder.go (95%) rename {arduino => internal/arduino}/builder/compilation.go (92%) rename {arduino => internal/arduino}/builder/core.go (94%) rename {arduino => internal/arduino}/builder/cpp/cpp.go (100%) rename {arduino => internal/arduino}/builder/cpp/cpp_test.go (97%) rename {arduino => internal/arduino}/builder/export_cmake.go (98%) rename {arduino => internal/arduino}/builder/internal/compilation/database.go (100%) rename {arduino => internal/arduino}/builder/internal/compilation/database_test.go (100%) rename {arduino => internal/arduino}/builder/internal/detector/detector.go (94%) rename {arduino => internal/arduino}/builder/internal/detector/detector_test.go (97%) rename {arduino => internal/arduino}/builder/internal/diagnostics/compiler_detection.go (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/compiler_detection_test.go (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/parser.go (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/parser_gcc.go (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/parser_test.go (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt (100%) rename {arduino => internal/arduino}/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json (100%) rename {arduino => internal/arduino}/builder/internal/logger/logger.go (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/arduino_preprocessor.go (95%) rename {arduino => internal/arduino}/builder/internal/preprocessor/ctags.go (94%) rename {arduino => internal/arduino}/builder/internal/preprocessor/gcc.go (95%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/ctags_has_issues.go (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/ctags_parser.go (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/ctags_parser_test.go (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes.go (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes_test.go (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt (100%) rename {arduino => internal/arduino}/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt (100%) rename {arduino => internal/arduino}/builder/internal/progress/progress.go (100%) rename {arduino => internal/arduino}/builder/internal/progress/progress_test.go (100%) rename {arduino => internal/arduino}/builder/internal/utils/utils.go (97%) rename {arduino => internal/arduino}/builder/internal/utils/utils_test.go (100%) rename {arduino => internal/arduino}/builder/libraries.go (94%) rename {arduino => internal/arduino}/builder/linker.go (96%) rename {arduino => internal/arduino}/builder/preprocess_sketch.go (93%) rename {arduino => internal/arduino}/builder/recipe.go (95%) rename {arduino => internal/arduino}/builder/sizer.go (98%) rename {arduino => internal/arduino}/builder/sizer_test.go (100%) rename {arduino => internal/arduino}/builder/sketch.go (92%) rename {arduino => internal/arduino}/builder/sketch_test.go (98%) rename {arduino => internal/arduino}/builder/testdata/TestCopyAdditionalFiles/TestCopyAdditionalFiles.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestCopyAdditionalFiles/include/foo.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchCaseMismatch/testloadsketchcasemismatch.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/.#sketch.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/TestLoadSketchFolder.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/doc.txt (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/header.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/old.pde (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/other.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/s_file.S (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/src/dont_load_me.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolder/src/helper.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/.#sketch.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.pde (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/doc.txt (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/header.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/old.pde (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/other.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/s_file.S (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/dont_load_me.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/helper.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderIno/TestLoadSketchFolderIno.ino/TestLoadSketchFolder.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/.#sketch.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/TestLoadSketchFolderPde.pde (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/doc.txt (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/header.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/old.pde (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/other.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/s_file.S (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/src/dont_load_me.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderPde/src/helper.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/.#sketch.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/TestLoadSketchFolderSymlink.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/doc.txt (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/header.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/old.pde (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/other.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/s_file.S (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/dont_load_me.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/helper.h (100%) rename {arduino => internal/arduino}/builder/testdata/TestLoadSketchFolderWrongMain/main.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestMergeSketchSources.txt (100%) rename {arduino => internal/arduino}/builder/testdata/TestMergeSketchSourcesArduinoIncluded/TestMergeSketchSourcesArduinoIncluded.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestMergeSketchSources_win.txt (100%) rename {arduino => internal/arduino}/builder/testdata/TestSaveSketch.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithIppFile/TestSketchWithIppFile.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithIppFile/template.ipp (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithMarkdownAsciidocJson/TestSketchWithMarkdownAsciidocJson.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.adoc (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.json (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.md (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithTppFile/TestSketchWithTppFile.ino (100%) rename {arduino => internal/arduino}/builder/testdata/TestSketchWithTppFile/template.tpp (100%) rename {arduino => internal/arduino}/cores/board.go (100%) rename {arduino => internal/arduino}/cores/board_test.go (100%) rename {arduino => internal/arduino}/cores/cores.go (98%) rename {arduino => internal/arduino}/cores/cores_test.go (100%) rename {arduino => internal/arduino}/cores/fqbn.go (100%) rename {arduino => internal/arduino}/cores/fqbn_test.go (100%) rename {arduino => internal/arduino}/cores/packageindex/index.go (98%) rename {arduino => internal/arduino}/cores/packageindex/index_easyjson.go (83%) rename {arduino => internal/arduino}/cores/packageindex/index_test.go (99%) rename {arduino => internal/arduino}/cores/packageindex/testdata/links (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_LowPowerLab_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json.1 (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_MCUdude_MicroCore_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json.1 (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_MCUdude_MiniCore_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_MattairTech_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_NicoHood_HoodLoader2_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_XMegaForArduino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_Zoubworld_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_adafruit_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_akafugu_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_aloriumtech_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_arachnidlabs.com_boards_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_ardhat_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_arduboy_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_arrow_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_atflash_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_avdweb_nl_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_canique_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_carlosefr_atmega_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_chipkit_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_chipkit_index.json.1 (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_clkdiv8_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_codebendercc_ariadne-bootloader_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_cosa_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_cytron_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_damellis_attiny_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_dfrobot_index.json.invalid (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_dfrobot_iot_mainboard.json.invalid (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_digistump_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_drazzy.com_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_dwengo.org_dwenguino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.5_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.6_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_engimusing_modules_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_esp32_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_esp32_index.json.1 (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_esp32_index.json.2 (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_esp8266com_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_femtocow_attiny_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_ftduino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_goldilocks_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_hidnseek_boot_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_infineon_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_intorobot_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_iot2000_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_iotcore_ide-1.6.6_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_ioteam_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_iteaduino_lite_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_konekt_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_lattuino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_lauszus_sanguino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_leonardomiliani.com_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_macchina_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_maxim_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_mkr1000_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_mtk_linkit_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_mtk_linkit_smart_7688_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_nRF5_boards_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_navspark_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_olimex_avr_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_olimex_pic_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_olimex_stm_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_omc_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_openpanzer_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_opentracker_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_oshlab_breadboard_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_panstamp_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_per1234_wirino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_project_laika.com_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_quirkbot.com_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_radino_radino32_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_realtek.com_ameba_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_redbear_index.json.tobefixed (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_redbearlab_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_rfduino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_rig_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_rnc_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_seeeduino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_simba_avr_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_simba_esp_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_simba_sam_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_sodaq_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_sodaq_samd_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_sparkfun_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_stm_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_talk2.wisen.com_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_thomasonw_ATmegaxxM1-C1_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_tkj_balanduino_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_tl7788_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_udoo_index.json (100%) rename {arduino => internal/arduino}/cores/packageindex/testdata/package_zevero_avr_boot_index.json (100%) rename {arduino => internal/arduino}/cores/packagemanager/download.go (95%) rename {arduino => internal/arduino}/cores/packagemanager/identify.go (96%) rename {arduino => internal/arduino}/cores/packagemanager/install_uninstall.go (90%) rename {arduino => internal/arduino}/cores/packagemanager/loader.go (98%) rename {arduino => internal/arduino}/cores/packagemanager/loader_test.go (100%) rename {arduino => internal/arduino}/cores/packagemanager/package_manager.go (98%) rename {arduino => internal/arduino}/cores/packagemanager/package_manager_test.go (99%) rename {arduino => internal/arduino}/cores/packagemanager/profiles.go (85%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/.gitignore (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/arduino/avr/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/arduino/sam/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/arduino/sam/platform.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/esp8266/esp8266/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.cpp (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.h (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/keywords.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/library.properties (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/platform.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/test/avr/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/watterott/avr/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/watterott/avr/platform.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/custom_hardware/watterott/avr/programmers.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/package_adafruit_index.json (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/package_esp32_index.json (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/package_esp8266com_index.json (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/package_test_index.json (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/keywords.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/platform.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/programmers.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/platform.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/programmers.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS-Atmel/1.2.0/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS/4.5.0/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.7.0/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.8.0-48-gb176eee/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/openocd/0.9.0-arduino/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/platform.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/programmers.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/esptool/2.3.1/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/mkspiffs/0.2.3/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/platform.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/programmers.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/esptool/0.4.13/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/mkspiffs/0.2.0/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/test/hardware/avr/1.1.0/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/test/tools/bossac/1.7.5/.keep (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/data_dir_1/packages/test2/hardware/avr/1.0.0/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/extra_hardware/referenced/avr/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/extra_hardware/referenced/samd/boards.txt (100%) rename {arduino => internal/arduino}/cores/packagemanager/testdata/package_tooltest_index.json (100%) rename {arduino => internal/arduino}/cores/programmers.go (100%) rename {arduino => internal/arduino}/cores/status.go (100%) rename {arduino => internal/arduino}/cores/tools.go (99%) rename {arduino => internal/arduino}/cores/tools_test.go (99%) rename {arduino => internal/arduino}/discovery/discovery.go (88%) rename {arduino => internal/arduino}/discovery/discovery_client/main.go (92%) rename {arduino => internal/arduino}/discovery/discovery_test.go (100%) rename {arduino => internal/arduino}/discovery/discoverymanager/discoverymanager.go (98%) rename {arduino => internal/arduino}/discovery/testdata/cat/.gitignore (100%) rename {arduino => internal/arduino}/discovery/testdata/cat/main.go (100%) rename {arduino => internal/arduino}/globals/globals.go (100%) rename {arduino => internal/arduino}/httpclient/httpclient.go (93%) rename {arduino => internal/arduino}/httpclient/httpclient_test.go (100%) rename {arduino => internal/arduino}/libraries/libraries.go (98%) rename {arduino => internal/arduino}/libraries/libraries_layout.go (100%) rename {arduino => internal/arduino}/libraries/libraries_location.go (100%) rename {arduino => internal/arduino}/libraries/libraries_test.go (100%) rename {arduino => internal/arduino}/libraries/librariesindex/index.go (97%) rename {arduino => internal/arduino}/libraries/librariesindex/index_test.go (98%) rename {arduino => internal/arduino}/libraries/librariesindex/json.go (98%) rename {arduino => internal/arduino}/libraries/librariesindex/json_easyjson.go (88%) rename {arduino => internal/arduino}/libraries/librariesindex/reference.go (100%) rename {arduino => internal/arduino}/libraries/librariesindex/testdata/invalid.json (100%) rename {arduino => internal/arduino}/libraries/librariesindex/testdata/library_index.json (100%) rename {arduino => internal/arduino}/libraries/librarieslist.go (100%) rename {arduino => internal/arduino}/libraries/librariesmanager/download.go (100%) rename {arduino => internal/arduino}/libraries/librariesmanager/install.go (96%) rename {arduino => internal/arduino}/libraries/librariesmanager/install_test.go (100%) rename {arduino => internal/arduino}/libraries/librariesmanager/librariesmanager.go (97%) rename {arduino => internal/arduino}/libraries/librariesmanager/librariesmanager_test.go (94%) rename {arduino => internal/arduino}/libraries/librariesresolver/cpp.go (96%) rename {arduino => internal/arduino}/libraries/librariesresolver/cpp_test.go (99%) rename {arduino => internal/arduino}/libraries/loader.go (95%) rename {arduino => internal/arduino}/libraries/testdata/LegacyLib/LegacyLib.h (100%) rename {arduino => internal/arduino}/libraries/testdata/LibWithNonUTF8Properties/library.properties (100%) rename {arduino => internal/arduino}/libraries/testdata/LibWithNonUTF8Properties/src/LibWithNonUTF8Properties.h (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLib/library.properties (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLib/src/TestLib.h (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.ino (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.pde (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibExamples/examples/WrongCasing/wrongCasing.ino (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibExamples/examples/simple/simple.ino (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibExamples/library.properties (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibExamples/src/TestLib.h (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibInDev/.development (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibInDev/library.properties (100%) rename {arduino => internal/arduino}/libraries/testdata/TestLibInDev/src/TestLib.h (100%) rename {arduino => internal/arduino}/monitor/monitor.go (100%) rename {arduino => internal/arduino}/monitor/monitor_test.go (100%) rename {arduino => internal/arduino}/monitor/testdata/.gitignore (100%) rename {arduino => internal/arduino}/resources/checksums.go (100%) rename {arduino => internal/arduino}/resources/download.go (97%) rename {arduino => internal/arduino}/resources/helpers.go (100%) rename {arduino => internal/arduino}/resources/helpers_test.go (97%) rename {arduino => internal/arduino}/resources/index.go (75%) rename {arduino => internal/arduino}/resources/install.go (100%) rename {arduino => internal/arduino}/resources/install_test.go (100%) rename {arduino => internal/arduino}/resources/resources_test.go (100%) rename {arduino => internal/arduino}/resources/structs.go (100%) rename {arduino => internal/arduino}/resources/testdata/invalid/package_index.tar.bz2 (100%) rename {arduino => internal/arduino}/resources/testdata/invalid/platform_with_multiple_root_folders.tar.bz2 (100%) rename {arduino => internal/arduino}/resources/testdata/invalid/platform_without_root_folder.tar.bz2 (100%) rename {arduino => internal/arduino}/resources/testdata/valid/package_index.tar.bz2 (100%) rename {arduino => internal/arduino}/resources/testdata/valid/platform_with_root_and__MACOSX_folder.tar.bz2 (100%) rename {arduino => internal/arduino}/security/keys/arduino_public.gpg.key (100%) rename {arduino => internal/arduino}/security/signature_test.go (100%) rename {arduino => internal/arduino}/security/signatures.go (100%) rename {arduino => internal/arduino}/security/testdata/module_firmware_index.json (100%) rename {arduino => internal/arduino}/security/testdata/module_firmware_index.json.sig (100%) rename {arduino => internal/arduino}/security/testdata/module_firmware_index_public.gpg.key (100%) rename {arduino => internal/arduino}/security/testdata/package_index.json (100%) rename {arduino => internal/arduino}/security/testdata/package_index.json.sig (100%) rename {arduino => internal/arduino}/serialutils/serialutils.go (95%) rename {arduino => internal/arduino}/sketch/profiles.go (99%) rename {arduino => internal/arduino}/sketch/profiles_test.go (100%) rename {arduino => internal/arduino}/sketch/sketch.go (96%) rename {arduino => internal/arduino}/sketch/sketch_test.go (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.pde (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchCasingCorrect/SketchCasingCorrect.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchCasingWrong/sketchcasingwrong.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.pde (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchPde/SketchPde.pde (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSimple/SketchSimple.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSimple/other.cpp (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/.#sketch.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/SketchSymlinkSrc.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/doc.txt (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/header.h (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/old.pde (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/other.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/s_file.S (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/src/dont_load_me.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchSymlinkSrc/src/helper.h (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithDefaultFQBNAndPort/SketchWithDefaultFQBNAndPort.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithDefaultFQBNAndPort/sketch.yml (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithIppFile/SketchWithIppFile.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithIppFile/template.ipp (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithMarkdownAsciidocJson/SketchWithMarkdownAsciidocJson.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.adoc (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.json (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.md (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithMultipleSymlinkLoops/SketchWithMultipleSymlinkLoops.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithProfiles/sketch.yml (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithSymlink/SketchWithSymlink.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithSymlink/some_folder/helper.h (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithSymlinkLoop/SketchWithSymlinkLoop.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithSymlinkLoop/some_folder/helper.h (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithTppFile/SketchWithTppFile.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithTppFile/template.tpp (100%) rename {arduino => internal/arduino}/sketch/testdata/SketchWithWrongMain/main.ino (100%) rename {arduino => internal/arduino}/sketch/testdata/TestNewItem.ino (100%) rename {arduino => internal/arduino}/sketch/yaml.go (100%) rename {arduino => internal/arduino}/sketch/yaml_test.go (100%) rename {arduino => internal/arduino}/utils/filenames.go (100%) rename {arduino => internal/arduino}/utils/search.go (100%) rename {arduino => internal/arduino}/utils/url.go (100%) rename {arduino => internal/arduino}/utils/url_test.go (100%) rename {configuration => internal/cli/configuration}/configuration.go (100%) rename {configuration => internal/cli/configuration}/configuration.schema.json (100%) rename {configuration => internal/cli/configuration}/configuration_schema_test.go (100%) rename {configuration => internal/cli/configuration}/configuration_test.go (100%) rename {configuration => internal/cli/configuration}/defaults.go (100%) rename {configuration => internal/cli/configuration}/directories.go (100%) rename {configuration => internal/cli/configuration}/network.go (100%) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 69af9533201..9e544fdead9 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -235,7 +235,7 @@ jobs: matrix: module: - - path: arduino/discovery/discovery_client + - path: internal/arduino/discovery/discovery_client - path: client_example - path: commands/daemon/term_example diff --git a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml index 6e7dcc9ffc8..f06e4ce1625 100644 --- a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml +++ b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/arduino/go-paths-helper -version: v1.10.0 +version: v1.10.1 type: go summary: homepage: https://pkg.go.dev/github.com/arduino/go-paths-helper diff --git a/.licenses/go/github.com/pkg/errors.dep.yml b/.licenses/go/github.com/pkg/errors.dep.yml deleted file mode 100644 index a9b72bc4b04..00000000000 --- a/.licenses/go/github.com/pkg/errors.dep.yml +++ /dev/null @@ -1,36 +0,0 @@ ---- -name: github.com/pkg/errors -version: v0.9.1 -type: go -summary: Package errors provides simple error handling primitives. -homepage: https://pkg.go.dev/github.com/pkg/errors -license: bsd-2-clause -licenses: -- sources: LICENSE - text: | - Copyright (c) 2015, Dave Cheney <dave@cheney.net> - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: README.md - text: BSD-2-Clause -notices: [] diff --git a/DistTasks.yml b/DistTasks.yml index 2231c439dc7..7aaaff47a26 100644 --- a/DistTasks.yml +++ b/DistTasks.yml @@ -258,4 +258,4 @@ tasks: desc: Copy the JSON schema to dist folder cmds: - mkdir --parents {{.DIST_DIR}} - - cp ./configuration/configuration.schema.json {{.DIST_DIR}}/{{.PROJECT_NAME}}_{{.VERSION}}_configuration.schema.json + - cp ./internal/cli/configuration/configuration.schema.json {{.DIST_DIR}}/{{.PROJECT_NAME}}_{{.VERSION}}_configuration.schema.json diff --git a/Taskfile.yml b/Taskfile.yml index 0616b126024..0c80f449e21 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -130,8 +130,8 @@ tasks: desc: Run easyjson code generation cmds: - go install github.com/mailru/easyjson/...@v0.7.7 - - easyjson arduino/cores/packageindex/index.go - - easyjson arduino/libraries/librariesindex/json.go + - easyjson internal/arduino/cores/packageindex/index.go + - easyjson internal/arduino/libraries/librariesindex/json.go go:add-license-headers: desc: Add missing go license headers @@ -246,7 +246,7 @@ tasks: docs:include-configuration-json-schema: desc: Copy configuration JSON schema to make it available in documentation cmds: - - cp ./configuration/configuration.schema.json ./docs/configuration.schema.json + - cp ./internal/cli/configuration/configuration.schema.json ./docs/configuration.schema.json protoc:check: desc: Perform linting of the protobuf definitions diff --git a/commands/board/details.go b/commands/board/details.go index 50c5638aa11..604f6cb4553 100644 --- a/commands/board/details.go +++ b/commands/board/details.go @@ -18,10 +18,10 @@ package board import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -30,18 +30,18 @@ import ( func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() fqbn, err := cores.ParseFQBN(req.GetFqbn()) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } boardPackage, boardPlatformRelease, board, boardProperties, _, err := pme.ResolveFQBN(fqbn) if err != nil { - return nil, &arduino.UnknownFQBNError{Cause: err} + return nil, &cmderrors.UnknownFQBNError{Cause: err} } details := &rpc.BoardDetailsResponse{} diff --git a/commands/board/list.go b/commands/board/list.go index 1f39928cb2f..18d2d815e55 100644 --- a/commands/board/list.go +++ b/commands/board/list.go @@ -18,6 +18,7 @@ package board import ( "context" "encoding/json" + "errors" "fmt" "io" "net/http" @@ -26,16 +27,15 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/arduino/discovery" - "github.com/arduino/arduino-cli/arduino/httpclient" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/discovery" + "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -73,10 +73,10 @@ func cachedAPIByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { func apiByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { // ensure vid and pid are valid before hitting the API if !validVidPid.MatchString(vid) { - return nil, errors.Errorf(tr("Invalid vid value: '%s'"), vid) + return nil, errors.New(tr("Invalid vid value: '%s'", vid)) } if !validVidPid.MatchString(pid) { - return nil, errors.Errorf(tr("Invalid pid value: '%s'"), pid) + return nil, errors.New(tr("Invalid pid value: '%s'", pid)) } url := fmt.Sprintf("%s/%s/%s", vidPidURL, vid, pid) @@ -88,19 +88,19 @@ func apiByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { httpClient, err := httpclient.New() if err != nil { - return nil, errors.Wrap(err, tr("failed to initialize http client")) + return nil, fmt.Errorf("%s: %w", tr("failed to initialize http client"), err) } res, err := httpClient.Do(req) if err != nil { - return nil, errors.Wrap(err, tr("error querying Arduino Cloud Api")) + return nil, fmt.Errorf("%s: %w", tr("error querying Arduino Cloud Api"), err) } if res.StatusCode == 404 { // This is not an error, it just means that the board is not recognized return nil, nil } if res.StatusCode >= 400 { - return nil, errors.Errorf(tr("the server responded with status %s"), res.Status) + return nil, errors.New(tr("the server responded with status %s", res.Status)) } resp, err := io.ReadAll(res.Body) @@ -113,7 +113,7 @@ func apiByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { var dat map[string]interface{} if err := json.Unmarshal(resp, &dat); err != nil { - return nil, errors.Wrap(err, tr("error processing response from server")) + return nil, fmt.Errorf("%s: %w", tr("error processing response from server"), err) } name, nameFound := dat["name"].(string) fqbn, fbqnFound := dat["fqbn"].(string) @@ -151,7 +151,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL for _, board := range pme.IdentifyBoard(port.Properties) { fqbn, err := cores.ParseFQBN(board.FQBN()) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } fqbn.Configs = board.IdentifyBoardConfiguration(port.Properties) @@ -207,7 +207,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartErrors []error, e error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, nil, &arduino.InvalidInstanceError{} + return nil, nil, &cmderrors.InvalidInstanceError{} } defer release() @@ -216,7 +216,7 @@ func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartError var err error fqbnFilter, err = cores.ParseFQBN(f) if err != nil { - return nil, nil, &arduino.InvalidFQBNError{Cause: err} + return nil, nil, &cmderrors.InvalidFQBNError{Cause: err} } } @@ -262,7 +262,7 @@ func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool { func Watch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.BoardListWatchResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() dm := pme.DiscoveryManager() diff --git a/commands/board/list_test.go b/commands/board/list_test.go index aaf6b3bec5e..29d342b48a9 100644 --- a/commands/board/list_test.go +++ b/commands/board/list_test.go @@ -21,9 +21,9 @@ import ( "net/http/httptest" "testing" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/arduino/discovery" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/discovery" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" diff --git a/commands/board/listall.go b/commands/board/listall.go index 430f06cee77..8b03ed890f1 100644 --- a/commands/board/listall.go +++ b/commands/board/listall.go @@ -20,11 +20,11 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/utils" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -32,7 +32,7 @@ import ( func ListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() diff --git a/commands/board/search.go b/commands/board/search.go index bda9fd6cf64..08bb388b240 100644 --- a/commands/board/search.go +++ b/commands/board/search.go @@ -20,10 +20,10 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/utils" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -34,7 +34,7 @@ import ( func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() diff --git a/arduino/errors.go b/commands/cmderrors/cmderrors.go similarity index 99% rename from arduino/errors.go rename to commands/cmderrors/cmderrors.go index b87adb8ee21..d5b0c93bf34 100644 --- a/arduino/errors.go +++ b/commands/cmderrors/cmderrors.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package arduino +package cmderrors import ( "fmt" diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 81d77a38774..8e4d4af3547 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -23,16 +23,16 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/builder" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/arduino/sketch" - "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/builder" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/buildcache" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" @@ -59,23 +59,23 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } logrus.Tracef("Compile %s for %s started", req.GetSketchPath(), req.GetFqbn()) if req.GetSketchPath() == "" { - return nil, &arduino.MissingSketchPathError{} + return nil, &cmderrors.MissingSketchPathError{} } sketchPath := paths.New(req.GetSketchPath()) sk, err := sketch.New(sketchPath) if err != nil { - return nil, &arduino.CantOpenSketchError{Cause: err} + return nil, &cmderrors.CantOpenSketchError{Cause: err} } fqbnIn := req.GetFqbn() @@ -87,22 +87,22 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } } if fqbnIn == "" { - return nil, &arduino.MissingFQBNError{} + return nil, &cmderrors.MissingFQBNError{} } fqbn, err := cores.ParseFQBN(fqbnIn) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } _, targetPlatform, targetBoard, boardBuildProperties, buildPlatform, err := pme.ResolveFQBN(fqbn) if err != nil { if targetPlatform == nil { - return nil, &arduino.PlatformNotFoundError{ + return nil, &cmderrors.PlatformNotFoundError{ Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), Cause: fmt.Errorf(tr("platform not installed")), } } - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } r = &rpc.CompileResponse{} @@ -145,7 +145,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream buildPath = sk.DefaultBuildPath() } if err = buildPath.MkdirAll(); err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Cannot create build directory"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build directory"), Cause: err} } buildcache.New(buildPath.Parent()).GetOrCreate(buildPath.Base()) // cache is purged after compilation to not remove entries that might be required @@ -157,10 +157,10 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } else { buildCachePath, err := paths.New(req.GetBuildCachePath()).Abs() if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} } if err := buildCachePath.MkdirAll(); err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} } coreBuildCachePath = buildCachePath.Join("core") } @@ -203,14 +203,14 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream ) if err != nil { if strings.Contains(err.Error(), "invalid build properties") { - return nil, &arduino.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err} + return nil, &cmderrors.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err} } if errors.Is(err, builder.ErrSketchCannotBeLocatedInBuildPath) { - return r, &arduino.CompileFailedError{ + return r, &cmderrors.CompileFailedError{ Message: tr("Sketch cannot be located in build path. Please specify a different build path"), } } - return r, &arduino.CompileFailedError{Message: err.Error()} + return r, &cmderrors.CompileFailedError{Message: err.Error()} } defer func() { @@ -247,7 +247,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream // Just output preprocessed source code and exit preprocessedSketch, err := sketchBuilder.Preprocess() if err != nil { - err = &arduino.CompileFailedError{Message: err.Error()} + err = &cmderrors.CompileFailedError{Message: err.Error()} return r, err } _, err = outStream.Write(preprocessedSketch) @@ -293,7 +293,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } if err := sketchBuilder.Build(); err != nil { - return r, &arduino.CompileFailedError{Message: err.Error()} + return r, &cmderrors.CompileFailedError{Message: err.Error()} } // If the export directory is set we assume you want to export the binaries @@ -321,23 +321,23 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream if !buildPath.EqualsTo(exportPath) { logrus.WithField("path", exportPath).Trace("Saving sketch to export path.") if err := exportPath.MkdirAll(); err != nil { - return r, &arduino.PermissionDeniedError{Message: tr("Error creating output dir"), Cause: err} + return r, &cmderrors.PermissionDeniedError{Message: tr("Error creating output dir"), Cause: err} } baseName, ok := sketchBuilder.GetBuildProperties().GetOk("build.project_name") // == "sketch.ino" if !ok { - return r, &arduino.MissingPlatformPropertyError{Property: "build.project_name"} + return r, &cmderrors.MissingPlatformPropertyError{Property: "build.project_name"} } buildFiles, err := sketchBuilder.GetBuildPath().ReadDir() if err != nil { - return r, &arduino.PermissionDeniedError{Message: tr("Error reading build directory"), Cause: err} + return r, &cmderrors.PermissionDeniedError{Message: tr("Error reading build directory"), Cause: err} } buildFiles.FilterPrefix(baseName) for _, buildFile := range buildFiles { exportedFile := exportPath.Join(buildFile.Base()) logrus.WithField("src", buildFile).WithField("dest", exportedFile).Trace("Copying artifact.") if err = buildFile.CopyTo(exportedFile); err != nil { - return r, &arduino.PermissionDeniedError{Message: tr("Error copying output file %s", buildFile), Cause: err} + return r, &cmderrors.PermissionDeniedError{Message: tr("Error copying output file %s", buildFile), Cause: err} } } } diff --git a/commands/core.go b/commands/core.go index 1881519ef38..e61078da1b2 100644 --- a/commands/core.go +++ b/commands/core.go @@ -16,7 +16,7 @@ package commands import ( - "github.com/arduino/arduino-cli/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) diff --git a/commands/core/download.go b/commands/core/download.go index 2edfc532705..2d67157d31e 100644 --- a/commands/core/download.go +++ b/commands/core/download.go @@ -18,11 +18,11 @@ package core import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -32,13 +32,13 @@ var tr = i18n.Tr func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.PlatformDownloadResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() version, err := commands.ParseVersion(req) if err != nil { - return nil, &arduino.InvalidVersionError{Cause: err} + return nil, &cmderrors.InvalidVersionError{Cause: err} } ref := &packagemanager.PlatformReference{ @@ -48,7 +48,7 @@ func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, dow } platform, tools, err := pme.FindPlatformReleaseDependencies(ref) if err != nil { - return nil, &arduino.PlatformNotFoundError{Platform: ref.String(), Cause: err} + return nil, &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err} } if err := pme.DownloadPlatformRelease(platform, nil, downloadCB); err != nil { diff --git a/commands/core/install.go b/commands/core/install.go index 3aa6043bab6..01a37736649 100644 --- a/commands/core/install.go +++ b/commands/core/install.go @@ -19,10 +19,10 @@ import ( "context" "fmt" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -31,13 +31,13 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl install := func() error { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } defer release() version, err := commands.ParseVersion(req) if err != nil { - return &arduino.InvalidVersionError{Cause: err} + return &cmderrors.InvalidVersionError{Cause: err} } ref := &packagemanager.PlatformReference{ @@ -47,7 +47,7 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl } platformRelease, tools, err := pme.FindPlatformReleaseDependencies(ref) if err != nil { - return &arduino.PlatformNotFoundError{Platform: ref.String(), Cause: err} + return &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err} } // Prerequisite checks before install diff --git a/commands/core/search.go b/commands/core/search.go index 1cde667090f..9631aaae6b2 100644 --- a/commands/core/search.go +++ b/commands/core/search.go @@ -20,11 +20,11 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/utils" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -32,7 +32,7 @@ import ( func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() diff --git a/commands/core/search_test.go b/commands/core/search_test.go index 9234f92809e..e67c07c7e95 100644 --- a/commands/core/search_test.go +++ b/commands/core/search_test.go @@ -18,7 +18,7 @@ package core import ( "testing" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" diff --git a/commands/core/uninstall.go b/commands/core/uninstall.go index 6038b8fd89b..c95d9e1afb4 100644 --- a/commands/core/uninstall.go +++ b/commands/core/uninstall.go @@ -18,10 +18,10 @@ package core import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -40,7 +40,7 @@ func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t func platformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) error { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } defer release() @@ -51,18 +51,18 @@ func platformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t if ref.PlatformVersion == nil { platform := pme.FindPlatform(ref) if platform == nil { - return &arduino.PlatformNotFoundError{Platform: ref.String()} + return &cmderrors.PlatformNotFoundError{Platform: ref.String()} } platformRelease := pme.GetInstalledPlatformRelease(platform) if platformRelease == nil { - return &arduino.PlatformNotFoundError{Platform: ref.String()} + return &cmderrors.PlatformNotFoundError{Platform: ref.String()} } ref.PlatformVersion = platformRelease.Version } platform, tools, err := pme.FindPlatformReleaseDependencies(ref) if err != nil { - return &arduino.NotFoundError{Message: tr("Can't find dependencies for platform %s", ref), Cause: err} + return &cmderrors.NotFoundError{Message: tr("Can't find dependencies for platform %s", ref), Cause: err} } if err := pme.UninstallPlatform(platform, taskCB, req.GetSkipPreUninstall()); err != nil { diff --git a/commands/core/upgrade.go b/commands/core/upgrade.go index b27ca6cd8ae..cecb2e721d8 100644 --- a/commands/core/upgrade.go +++ b/commands/core/upgrade.go @@ -18,11 +18,11 @@ package core import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -31,7 +31,7 @@ func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downl upgrade := func() (*cores.PlatformRelease, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index 64b2fc0010f..ffb7e0c0f5d 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -21,9 +21,9 @@ import ( "fmt" "io" - "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/compile" "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/commands/lib" @@ -50,7 +50,7 @@ func convertErrorToRPCStatus(err error) error { if err == nil { return nil } - if cmdErr, ok := err.(arduino.CommandError); ok { + if cmdErr, ok := err.(cmderrors.CommandError); ok { return cmdErr.ToRPCStatus().Err() } return err diff --git a/commands/daemon/debug.go b/commands/daemon/debug.go index 538d2b171d4..d3de963bae4 100644 --- a/commands/daemon/debug.go +++ b/commands/daemon/debug.go @@ -17,11 +17,11 @@ package daemon import ( "context" + "errors" "os" cmd "github.com/arduino/arduino-cli/commands/debug" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/pkg/errors" ) // Debug returns a stream response that can be used to fetch data from the @@ -37,7 +37,7 @@ func (s *ArduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) // Ensure it's a config message and not data req := msg.GetDebugRequest() if req == nil { - return errors.Errorf(tr("First message must contain debug request, not data")) + return errors.New(tr("First message must contain debug request, not data")) } // Launch debug recipe attaching stdin and out to grpc streaming diff --git a/commands/daemon/settings.go b/commands/daemon/settings.go index 0043c8859c0..151ce9da61a 100644 --- a/commands/daemon/settings.go +++ b/commands/daemon/settings.go @@ -22,7 +22,7 @@ import ( "fmt" "strings" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) diff --git a/commands/daemon/settings_test.go b/commands/daemon/settings_test.go index f51ab6dc3e3..c5366e179b5 100644 --- a/commands/daemon/settings_test.go +++ b/commands/daemon/settings_test.go @@ -21,7 +21,7 @@ import ( "path/filepath" "testing" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" diff --git a/commands/debug/debug.go b/commands/debug/debug.go index 2c483bf775f..76282515e5e 100644 --- a/commands/debug/debug.go +++ b/commands/debug/debug.go @@ -24,10 +24,10 @@ import ( "runtime" "time" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -46,7 +46,7 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read // Get debugging command line to run debugger pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() @@ -68,7 +68,7 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read cmd, err := paths.NewProcess(pme.GetEnvVarsForSpawnedProcess(), commandLine...) if err != nil { - return nil, &arduino.FailedDebugError{Message: tr("Cannot execute debug tool"), Cause: err} + return nil, &cmderrors.FailedDebugError{Message: tr("Cannot execute debug tool"), Cause: err} } // Get stdIn pipe from tool @@ -135,7 +135,7 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer } gdbPath = paths.New(debugInfo.GetToolchainPath()).Join(gdbexecutable) default: - return nil, &arduino.FailedDebugError{Message: tr("Toolchain '%s' is not supported", debugInfo.GetToolchain())} + return nil, &cmderrors.FailedDebugError{Message: tr("Toolchain '%s' is not supported", debugInfo.GetToolchain())} } add(gdbPath.String()) @@ -179,7 +179,7 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer add(serverCmd) default: - return nil, &arduino.FailedDebugError{Message: tr("GDB server '%s' is not supported", debugInfo.GetServer())} + return nil, &cmderrors.FailedDebugError{Message: tr("GDB server '%s' is not supported", debugInfo.GetServer())} } // Add executable diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 621809d4adf..82e99b61eb0 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -24,11 +24,11 @@ import ( "strconv" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/sketch" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -40,7 +40,7 @@ import ( func GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() return getDebugProperties(req, pme, false) @@ -50,7 +50,7 @@ func GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.G func IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() configRequest := &rpc.GetDebugConfigRequest{ @@ -63,7 +63,7 @@ func IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*r Programmer: req.GetProgrammer(), } expectedOutput, err := getDebugProperties(configRequest, pme, true) - var x *arduino.FailedDebugError + var x *cmderrors.FailedDebugError if errors.As(err, &x) { return &rpc.IsDebugSupportedResponse{DebuggingSupported: false}, nil } @@ -99,12 +99,12 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl // TODO: make a generic function to extract sketch from request // and remove duplication in commands/compile.go if req.GetSketchPath() == "" { - return nil, &arduino.MissingSketchPathError{} + return nil, &cmderrors.MissingSketchPathError{} } sketchPath := paths.New(req.GetSketchPath()) sk, err := sketch.New(sketchPath) if err != nil { - return nil, &arduino.CantOpenSketchError{Cause: err} + return nil, &cmderrors.CantOpenSketchError{Cause: err} } sketchName = sk.Name sketchDefaultFQBN = sk.GetDefaultFQBN() @@ -122,17 +122,17 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl fqbnIn = sketchDefaultFQBN } if fqbnIn == "" { - return nil, &arduino.MissingFQBNError{} + return nil, &cmderrors.MissingFQBNError{} } fqbn, err := cores.ParseFQBN(fqbnIn) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } // Find target board and board properties _, platformRelease, _, boardProperties, referencedPlatformRelease, err := pme.ResolveFQBN(fqbn) if err != nil { - return nil, &arduino.UnknownFQBNError{Cause: err} + return nil, &cmderrors.UnknownFQBNError{Cause: err} } // Build configuration for debug @@ -155,14 +155,14 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } if req.GetProgrammer() == "" { - return nil, &arduino.MissingProgrammerError{} + return nil, &cmderrors.MissingProgrammerError{} } if p, ok := platformRelease.Programmers[req.GetProgrammer()]; ok { toolProperties.Merge(p.Properties) } else if refP, ok := referencedPlatformRelease.Programmers[req.GetProgrammer()]; ok { toolProperties.Merge(refP.Properties) } else { - return nil, &arduino.ProgrammerNotFoundError{Programmer: req.GetProgrammer()} + return nil, &cmderrors.ProgrammerNotFoundError{Programmer: req.GetProgrammer()} } var importPath *paths.Path @@ -173,10 +173,10 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } if !skipSketchChecks { if !importPath.Exist() { - return nil, &arduino.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} + return nil, &cmderrors.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} } if !importPath.IsDir() { - return nil, &arduino.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} + return nil, &cmderrors.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} } } toolProperties.SetPath("build.path", importPath) @@ -203,7 +203,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } if !debugProperties.ContainsKey("executable") || debugProperties.Get("executable") == "" { - return nil, &arduino.FailedDebugError{Message: tr("Debugging not supported for board %s", req.GetFqbn())} + return nil, &cmderrors.FailedDebugError{Message: tr("Debugging not supported for board %s", req.GetFqbn())} } server := debugProperties.Get("server") diff --git a/commands/debug/debug_test.go b/commands/debug/debug_test.go index fbb61626144..09d4e4f6362 100644 --- a/commands/debug/debug_test.go +++ b/commands/debug/debug_test.go @@ -21,7 +21,7 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" diff --git a/commands/instances.go b/commands/instances.go index ea1a42b45e8..aaeb32d8195 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -22,20 +22,20 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packageindex" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/arduino/resources" - "github.com/arduino/arduino-cli/arduino/sketch" - "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/utils" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -61,7 +61,26 @@ func installTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, dow // Create a new CoreInstance ready to be initialized, supporting directories are also created. func Create(req *rpc.CreateRequest, extraUserAgent ...string) (*rpc.CreateResponse, error) { - inst, err := instances.Create(extraUserAgent...) + // Setup downloads directory + downloadsDir := configuration.DownloadsDir(configuration.Settings) + if downloadsDir.NotExist() { + err := downloadsDir.MkdirAll() + if err != nil { + return nil, &cmderrors.PermissionDeniedError{Message: tr("Failed to create downloads directory"), Cause: err} + } + } + + // Setup data directory + dataDir := configuration.DataDir(configuration.Settings) + packagesDir := configuration.PackagesDir(configuration.Settings) + if packagesDir.NotExist() { + err := packagesDir.MkdirAll() + if err != nil { + return nil, &cmderrors.PermissionDeniedError{Message: tr("Failed to create data directory"), Cause: err} + } + } + + inst, err := instances.Create(dataDir, packagesDir, downloadsDir, extraUserAgent...) if err != nil { return nil, err } @@ -79,11 +98,11 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro } reqInst := req.GetInstance() if reqInst == nil { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } instance := req.GetInstance() if !instances.IsValid(instance) { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } // Setup callback functions @@ -121,11 +140,11 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if req.GetProfile() != "" { sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { - return &arduino.InvalidArgumentError{Cause: err} + return &cmderrors.InvalidArgumentError{Cause: err} } profile = sk.GetProfile(req.GetProfile()) if profile == nil { - return &arduino.UnknownProfileError{Profile: req.GetProfile()} + return &cmderrors.UnknownProfileError{Profile: req.GetProfile()} } responseCallback(&rpc.InitResponse{ Message: &rpc.InitResponse_Profile{ @@ -145,7 +164,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro for _, u := range configuration.Settings.GetStringSlice("board_manager.additional_urls") { URL, err := utils.URLParse(u) if err != nil { - e := &arduino.InitFailedError{ + e := &cmderrors.InitFailedError{ Code: codes.InvalidArgument, Cause: fmt.Errorf(tr("Invalid additional URL: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INVALID_INDEX_URL, @@ -157,7 +176,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro } } if err := firstUpdate(context.Background(), req.GetInstance(), downloadCallback, allPackageIndexUrls); err != nil { - e := &arduino.InitFailedError{ + e := &cmderrors.InitFailedError{ Code: codes.InvalidArgument, Cause: err, Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR, @@ -178,7 +197,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if URL.Scheme == "file" { _, err := pmb.LoadPackageIndexFromFile(paths.New(URL.Path)) if err != nil { - e := &arduino.InitFailedError{ + e := &cmderrors.InitFailedError{ Code: codes.FailedPrecondition, Cause: fmt.Errorf(tr("Loading index file: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR, @@ -189,7 +208,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro } if err := pmb.LoadPackageIndex(URL); err != nil { - e := &arduino.InitFailedError{ + e := &cmderrors.InitFailedError{ Code: codes.FailedPrecondition, Cause: fmt.Errorf(tr("Loading index file: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR, @@ -206,7 +225,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro // Load Platforms if profile == nil { for _, err := range pmb.LoadHardware() { - s := &arduino.PlatformLoadingError{Cause: err} + s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.ToRPCStatus()) } } else { @@ -215,7 +234,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro profile, true, downloadCallback, taskCallback, ) for _, err := range errs { - s := &arduino.PlatformLoadingError{Cause: err} + s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.ToRPCStatus()) } @@ -231,7 +250,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro for name, tool := range pmb.GetOrCreatePackage("builtin").Tools { latest := tool.LatestRelease() if latest == nil { - e := &arduino.InitFailedError{ + e := &cmderrors.InitFailedError{ Code: codes.Internal, Cause: fmt.Errorf(tr("can't find latest release of tool %s", name)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR, @@ -246,7 +265,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if len(builtinToolsToInstall) > 0 { for _, toolRelease := range builtinToolsToInstall { if err := installTool(pmb.Build(), toolRelease, downloadCallback, taskCallback); err != nil { - e := &arduino.InitFailedError{ + e := &cmderrors.InitFailedError{ Code: codes.Internal, Cause: err, Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR, @@ -258,7 +277,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro // We installed at least one builtin tool after loading hardware // so we must reload again otherwise we would never found them. for _, err := range loadBuiltinTools() { - s := &arduino.PlatformLoadingError{Cause: err} + s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.ToRPCStatus()) } } @@ -270,7 +289,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro defer release() for _, err := range pme.LoadDiscoveries() { - s := &arduino.PlatformLoadingError{Cause: err} + s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.ToRPCStatus()) } @@ -319,13 +338,13 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro }) if libRelease == nil { taskCallback(&rpc.TaskProgress{Name: tr("Library %s not found", libraryRef)}) - err := &arduino.LibraryNotFoundError{Library: libraryRef.Library} + err := &cmderrors.LibraryNotFoundError{Library: libraryRef.Library} responseError(err.ToRPCStatus()) continue } if err := libRelease.Resource.Download(lm.DownloadsDir, nil, libRelease.String(), downloadCallback, ""); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) - e := &arduino.FailedLibraryInstallError{Cause: err} + e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.ToRPCStatus()) continue } @@ -335,7 +354,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro taskCallback(&rpc.TaskProgress{Name: tr("Installing library %s", libraryRef)}) if err := libRelease.Resource.Install(lm.DownloadsDir, libRoot, libDir); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error installing library %s", libraryRef)}) - e := &arduino.FailedLibraryInstallError{Cause: err} + e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.ToRPCStatus()) continue } @@ -362,7 +381,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro // Destroy FIXMEDOC func Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { if ok := instances.Delete(req.GetInstance()); !ok { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } return &rpc.DestroyResponse{}, nil } @@ -372,17 +391,17 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ logrus.Info("Updating libraries index") lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } if err := lm.IndexFile.Parent().MkdirAll(); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} } // Create a temp dir to stage all downloads tmp, err := paths.MkTempDir("", "library_index_download") if err != nil { - return &arduino.TempDirCreationFailedError{Cause: err} + return &cmderrors.TempDirCreationFailedError{Cause: err} } defer tmp.RemoveAll() @@ -400,7 +419,7 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ // UpdateIndex FIXMEDOC func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rpc.DownloadProgressCB) error { if !instances.IsValid(req.GetInstance()) { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } indexpath := configuration.DataDir(configuration.Settings) @@ -448,7 +467,7 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp } if failed { - return &arduino.FailedDownloadError{Message: tr("Some indexes could not be updated.")} + return &cmderrors.FailedDownloadError{Message: tr("Some indexes could not be updated.")} } return nil } @@ -475,9 +494,9 @@ func firstUpdate(ctx context.Context, instance *rpc.Instance, downloadCb func(ms } packageIndexFileName, err := (&resources.IndexResource{URL: URL}).IndexFileName() if err != nil { - return &arduino.FailedDownloadError{ + return &cmderrors.FailedDownloadError{ Message: tr("Error downloading index '%s'", URL), - Cause: &arduino.InvalidURLError{}} + Cause: &cmderrors.InvalidURLError{}} } packageIndexFile := dataDir.Join(packageIndexFileName) if packageIndexFile.NotExist() { diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index 7b13f77234d..80be3c62da2 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -3,17 +3,13 @@ package instances import ( "sync" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/configuration" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" + "github.com/arduino/go-paths-helper" ) -var tr = i18n.Tr - // coreInstance is an instance of the Arduino Core Services. The user can // instantiate as many as needed by providing a different configuration // for each one. @@ -74,45 +70,18 @@ func SetLibraryManager(inst *rpc.Instance, lm *librariesmanager.LibrariesManager return true } -// Create a new *rpc.Instance ready to be initialized, supporting directories are also created. -func Create(extraUserAgent ...string) (*rpc.Instance, error) { +// Create a new *rpc.Instance ready to be initialized +func Create(dataDir, packagesDir, downloadsDir *paths.Path, extraUserAgent ...string) (*rpc.Instance, error) { instance := &coreInstance{} - // Setup downloads directory - downloadsDir := configuration.DownloadsDir(configuration.Settings) - if downloadsDir.NotExist() { - err := downloadsDir.MkdirAll() - if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Failed to create downloads directory"), Cause: err} - } - } - - // Setup data directory - dataDir := configuration.DataDir(configuration.Settings) - packagesDir := configuration.PackagesDir(configuration.Settings) - if packagesDir.NotExist() { - err := packagesDir.MkdirAll() - if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Failed to create data directory"), Cause: err} - } - } - // Create package manager userAgent := "arduino-cli/" + version.VersionInfo.VersionString for _, ua := range extraUserAgent { userAgent += " " + ua } - instance.pm = packagemanager.NewBuilder( - dataDir, - configuration.PackagesDir(configuration.Settings), - downloadsDir, - dataDir.Join("tmp"), - userAgent, - ).Build() - instance.lm = librariesmanager.NewLibraryManager( - dataDir, - downloadsDir, - ) + tempDir := dataDir.Join("tmp") + instance.pm = packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent).Build() + instance.lm = librariesmanager.NewLibraryManager(dataDir, downloadsDir) // Save instance instancesMux.Lock() diff --git a/commands/lib/download.go b/commands/lib/download.go index 1d30ba1dc48..47022c3ee56 100644 --- a/commands/lib/download.go +++ b/commands/lib/download.go @@ -18,12 +18,12 @@ package lib import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/httpclient" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" ) @@ -37,7 +37,7 @@ func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downl lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } logrus.Info("Preparing download") @@ -60,10 +60,10 @@ func downloadLibrary(lm *librariesmanager.LibrariesManager, libRelease *librarie taskCB(&rpc.TaskProgress{Name: tr("Downloading %s", libRelease)}) config, err := httpclient.GetDownloaderConfig() if err != nil { - return &arduino.FailedDownloadError{Message: tr("Can't download library"), Cause: err} + return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } if err := libRelease.Resource.Download(lm.DownloadsDir, config, libRelease.String(), downloadCB, queryParameter); err != nil { - return &arduino.FailedDownloadError{Message: tr("Can't download library"), Cause: err} + return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) diff --git a/commands/lib/install.go b/commands/lib/install.go index 45129dabf77..8c9e3e5794e 100644 --- a/commands/lib/install.go +++ b/commands/lib/install.go @@ -20,12 +20,12 @@ import ( "errors" "fmt" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -35,7 +35,7 @@ import ( func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } toInstall := map[string]*rpc.LibraryDependencyStatus{} @@ -62,7 +62,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa err := errors.New( tr("two different versions of the library %[1]s are required: %[2]s and %[3]s", dep.GetName(), dep.GetVersionRequired(), existingDep.GetVersionRequired())) - return &arduino.LibraryDependenciesResolutionFailedError{Cause: err} + return &cmderrors.LibraryDependenciesResolutionFailedError{Cause: err} } } toInstall[dep.GetName()] = dep @@ -131,12 +131,12 @@ func installLibrary(lm *librariesmanager.LibrariesManager, libRelease *libraries if libReplaced := installTask.ReplacedLib; libReplaced != nil { taskCB(&rpc.TaskProgress{Message: tr("Replacing %[1]s with %[2]s", libReplaced, libRelease)}) if err := lm.Uninstall(libReplaced); err != nil { - return &arduino.FailedLibraryInstallError{ + return &cmderrors.FailedLibraryInstallError{ Cause: fmt.Errorf("%s: %s", tr("could not remove old library"), err)} } } if err := lm.Install(libRelease, installTask.TargetPath); err != nil { - return &arduino.FailedLibraryInstallError{Cause: err} + return &cmderrors.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Installed %s", libRelease), Completed: true}) @@ -147,7 +147,7 @@ func installLibrary(lm *librariesmanager.LibrariesManager, libRelease *libraries func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { lm := instances.GetLibraryManager(req.GetInstance()) if err := lm.InstallZipLib(ctx, paths.New(req.GetPath()), req.GetOverwrite()); err != nil { - return &arduino.FailedLibraryInstallError{Cause: err} + return &cmderrors.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) return nil @@ -157,7 +157,7 @@ func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, t func GitLibraryInstall(ctx context.Context, req *rpc.GitLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { lm := instances.GetLibraryManager(req.GetInstance()) if err := lm.InstallGitLib(req.GetUrl(), req.GetOverwrite()); err != nil { - return &arduino.FailedLibraryInstallError{Cause: err} + return &cmderrors.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) return nil diff --git a/commands/lib/list.go b/commands/lib/list.go index 553101620e4..e1fa300ea1f 100644 --- a/commands/lib/list.go +++ b/commands/lib/list.go @@ -19,13 +19,13 @@ import ( "context" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/arduino/libraries/librariesresolver" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesresolver" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -38,13 +38,13 @@ type installedLib struct { func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } nameFilter := strings.ToLower(req.GetName()) @@ -54,11 +54,11 @@ func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.Library allLibs = listLibraries(lm, req.GetUpdatable(), true) fqbn, err := cores.ParseFQBN(req.GetFqbn()) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } _, boardPlatform, _, _, refBoardPlatform, err := pme.ResolveFQBN(fqbn) if err != nil { - return nil, &arduino.UnknownFQBNError{Cause: err} + return nil, &cmderrors.UnknownFQBNError{Cause: err} } filteredRes := map[string]*installedLib{} @@ -105,7 +105,7 @@ func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.Library } rpcLib, err := lib.Library.ToRPCLibrary() if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Error getting information for library %s", lib.Library.Name), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Error getting information for library %s", lib.Library.Name), Cause: err} } installedLibs = append(installedLibs, &rpc.InstalledLibrary{ Library: rpcLib, diff --git a/commands/lib/resolve_deps.go b/commands/lib/resolve_deps.go index e502dfedf73..6131aa7b260 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/lib/resolve_deps.go @@ -20,10 +20,10 @@ import ( "errors" "sort" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) @@ -32,7 +32,7 @@ import ( func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } // Search the requested lib @@ -70,12 +70,12 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe for _, directDep := range reqLibRelease.GetDependencies() { if _, ok := lm.Index.Libraries[directDep.GetName()]; !ok { err := errors.New(tr("dependency '%s' is not available", directDep.GetName())) - return nil, &arduino.LibraryDependenciesResolutionFailedError{Cause: err} + return nil, &cmderrors.LibraryDependenciesResolutionFailedError{Cause: err} } } // Otherwise there is no possible solution, the depends field has an invalid formula - return nil, &arduino.LibraryDependenciesResolutionFailedError{} + return nil, &cmderrors.LibraryDependenciesResolutionFailedError{} } res := []*rpc.LibraryDependencyStatus{} diff --git a/commands/lib/search.go b/commands/lib/search.go index e1d95914cbc..e5492d4d0c7 100644 --- a/commands/lib/search.go +++ b/commands/lib/search.go @@ -20,10 +20,10 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) @@ -32,7 +32,7 @@ import ( func LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } return searchLibrary(req, lm), nil } diff --git a/commands/lib/search_matcher.go b/commands/lib/search_matcher.go index 193246579ca..3eec08b4ad9 100644 --- a/commands/lib/search_matcher.go +++ b/commands/lib/search_matcher.go @@ -18,8 +18,8 @@ package lib import ( "strings" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/utils" ) // matcherTokensFromQueryString parses the query string into tokens of interest diff --git a/commands/lib/search_test.go b/commands/lib/search_test.go index df653fa36cd..e1e0b3157f2 100644 --- a/commands/lib/search_test.go +++ b/commands/lib/search_test.go @@ -19,7 +19,7 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/assert" diff --git a/commands/lib/uninstall.go b/commands/lib/uninstall.go index 57c56e95a5a..e31823add46 100644 --- a/commands/lib/uninstall.go +++ b/commands/lib/uninstall.go @@ -18,9 +18,9 @@ package lib import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/libraries" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/libraries" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" ) @@ -30,7 +30,7 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas lm := instances.GetLibraryManager(req.GetInstance()) ref, err := createLibIndexReference(lm, req) if err != nil { - return &arduino.InvalidLibraryError{Cause: err} + return &cmderrors.InvalidLibraryError{Cause: err} } libs := lm.FindByReference(ref, libraries.User) @@ -51,7 +51,7 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas for _, lib := range libs { libsDir.Add(lib.InstallDir) } - return &arduino.MultipleLibraryInstallDetected{ + return &cmderrors.MultipleLibraryInstallDetected{ LibName: libs[0].Name, LibsDir: libsDir, Message: tr("Automatic library uninstall can't be performed in this case, please manually remove them."), diff --git a/commands/lib/upgrade.go b/commands/lib/upgrade.go index 6fb6f9add2b..aac357c00f3 100644 --- a/commands/lib/upgrade.go +++ b/commands/lib/upgrade.go @@ -18,8 +18,8 @@ package lib import ( "context" - "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -28,7 +28,7 @@ import ( func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } if err := upgrade(req.GetInstance(), listLibraries(lm, true, false), downloadCB, taskCB); err != nil { @@ -46,7 +46,7 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { lm := instances.GetLibraryManager(req.GetInstance()) if lm == nil { - return &arduino.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } // Get the library to upgrade @@ -54,7 +54,7 @@ func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloa lib := filterByName(listLibraries(lm, false, false), name) if lib == nil { // library not installed... - return &arduino.LibraryNotFoundError{Library: name} + return &cmderrors.LibraryNotFoundError{Library: name} } if lib.Available == nil { taskCB(&rpc.TaskProgress{Message: tr("Library %s is already at the latest version", name), Completed: true}) diff --git a/commands/lib/utils.go b/commands/lib/utils.go index fa8290ab997..cab8d85ec0c 100644 --- a/commands/lib/utils.go +++ b/commands/lib/utils.go @@ -16,10 +16,10 @@ package lib import ( - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/commands" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" ) type libraryReferencer interface { @@ -30,7 +30,7 @@ type libraryReferencer interface { func createLibIndexReference(lm *librariesmanager.LibrariesManager, req libraryReferencer) (*librariesindex.Reference, error) { version, err := commands.ParseVersion(req) if err != nil { - return nil, &arduino.InvalidVersionError{Cause: err} + return nil, &cmderrors.InvalidVersionError{Cause: err} } return &librariesindex.Reference{Name: req.GetName(), Version: version}, nil @@ -43,7 +43,7 @@ func findLibraryIndexRelease(lm *librariesmanager.LibrariesManager, req libraryR } lib := lm.Index.FindRelease(ref) if lib == nil { - return nil, &arduino.LibraryNotFoundError{Library: ref.String()} + return nil, &cmderrors.LibraryNotFoundError{Library: ref.String()} } return lib, nil } diff --git a/commands/monitor/monitor.go b/commands/monitor/monitor.go index 285841f8374..f6285ec77bd 100644 --- a/commands/monitor/monitor.go +++ b/commands/monitor/monitor.go @@ -20,12 +20,12 @@ import ( "fmt" "io" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - pluggableMonitor "github.com/arduino/arduino-cli/arduino/monitor" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + pluggableMonitor "github.com/arduino/arduino-cli/internal/arduino/monitor" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" "github.com/sirupsen/logrus" @@ -63,7 +63,7 @@ func (p *PortProxy) Close() error { func Monitor(ctx context.Context, req *rpc.MonitorRequest) (*PortProxy, *pluggableMonitor.PortDescriptor, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, nil, &arduino.InvalidInstanceError{} + return nil, nil, &cmderrors.InvalidInstanceError{} } defer release() @@ -73,13 +73,13 @@ func Monitor(ctx context.Context, req *rpc.MonitorRequest) (*PortProxy, *pluggab } if err := m.Run(); err != nil { - return nil, nil, &arduino.FailedMonitorError{Cause: err} + return nil, nil, &cmderrors.FailedMonitorError{Cause: err} } descriptor, err := m.Describe() if err != nil { m.Quit() - return nil, nil, &arduino.FailedMonitorError{Cause: err} + return nil, nil, &cmderrors.FailedMonitorError{Cause: err} } // Apply user-requested settings @@ -99,7 +99,7 @@ func Monitor(ctx context.Context, req *rpc.MonitorRequest) (*PortProxy, *pluggab monIO, err := m.Open(req.GetPort().GetAddress(), req.GetPort().GetProtocol()) if err != nil { m.Quit() - return nil, nil, &arduino.FailedMonitorError{Cause: err} + return nil, nil, &cmderrors.FailedMonitorError{Cause: err} } logrus.Infof("Port %s successfully opened", req.GetPort().GetAddress()) @@ -115,7 +115,7 @@ func Monitor(ctx context.Context, req *rpc.MonitorRequest) (*PortProxy, *pluggab func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, protocol, fqbn string) (*pluggableMonitor.PluggableMonitor, *properties.Map, error) { if protocol == "" { - return nil, nil, &arduino.MissingPortProtocolError{} + return nil, nil, &cmderrors.MissingPortProtocolError{} } var monitorDepOrRecipe *cores.MonitorDependency @@ -125,12 +125,12 @@ func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, pro if fqbn != "" { fqbn, err := cores.ParseFQBN(fqbn) if err != nil { - return nil, nil, &arduino.InvalidFQBNError{Cause: err} + return nil, nil, &cmderrors.InvalidFQBNError{Cause: err} } _, boardPlatform, _, boardProperties, _, err := pme.ResolveFQBN(fqbn) if err != nil { - return nil, nil, &arduino.UnknownFQBNError{Cause: err} + return nil, nil, &cmderrors.UnknownFQBNError{Cause: err} } boardSettings = cores.GetMonitorSettings(protocol, boardProperties) @@ -142,7 +142,7 @@ func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, pro cmdLine := boardProperties.ExpandPropsInString(recipe) cmdArgs, err := properties.SplitQuotedString(cmdLine, `"'`, false) if err != nil { - return nil, nil, &arduino.InvalidArgumentError{Message: tr("Invalid recipe in platform.txt"), Cause: err} + return nil, nil, &cmderrors.InvalidArgumentError{Message: tr("Invalid recipe in platform.txt"), Cause: err} } id := fmt.Sprintf("%s-%s", boardPlatform, protocol) return pluggableMonitor.New(id, cmdArgs...), boardSettings, nil @@ -160,13 +160,13 @@ func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, pro } if monitorDepOrRecipe == nil { - return nil, nil, &arduino.NoMonitorAvailableForProtocolError{Protocol: protocol} + return nil, nil, &cmderrors.NoMonitorAvailableForProtocolError{Protocol: protocol} } // If it is a monitor dependency, resolve tool and create a monitor client tool := pme.FindMonitorDependency(monitorDepOrRecipe) if tool == nil { - return nil, nil, &arduino.MonitorNotFoundError{Monitor: monitorDepOrRecipe.String()} + return nil, nil, &cmderrors.MonitorNotFoundError{Monitor: monitorDepOrRecipe.String()} } return pluggableMonitor.New( diff --git a/commands/monitor/settings.go b/commands/monitor/settings.go index 89976c94d77..4f170b942d4 100644 --- a/commands/monitor/settings.go +++ b/commands/monitor/settings.go @@ -18,9 +18,9 @@ package monitor import ( "context" - "github.com/arduino/arduino-cli/arduino" - pluggableMonitor "github.com/arduino/arduino-cli/arduino/monitor" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + pluggableMonitor "github.com/arduino/arduino-cli/internal/arduino/monitor" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -28,7 +28,7 @@ import ( func EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() @@ -38,13 +38,13 @@ func EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitor } if err := m.Run(); err != nil { - return nil, &arduino.FailedMonitorError{Cause: err} + return nil, &cmderrors.FailedMonitorError{Cause: err} } defer m.Quit() desc, err := m.Describe() if err != nil { - return nil, &arduino.FailedMonitorError{Cause: err} + return nil, &cmderrors.FailedMonitorError{Cause: err} } // Apply default settings for this board and protocol diff --git a/commands/sketch/archive.go b/commands/sketch/archive.go index 059ab18bd35..7d07d1fcbf2 100644 --- a/commands/sketch/archive.go +++ b/commands/sketch/archive.go @@ -22,9 +22,9 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/sketch" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) @@ -43,7 +43,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc s, err := sketch.New(sketchPath) if err != nil { - return nil, &arduino.CantOpenSketchError{Cause: err} + return nil, &cmderrors.CantOpenSketchError{Cause: err} } sketchPath = s.FullPath @@ -56,7 +56,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc archivePath, err = archivePath.Clean().Abs() if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Error getting absolute path of sketch archive"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Error getting absolute path of sketch archive"), Cause: err} } // Makes archivePath point to a zip file @@ -68,19 +68,19 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc if !req.GetOverwrite() { if archivePath.Exist() { - return nil, &arduino.InvalidArgumentError{Message: tr("Archive already exists")} + return nil, &cmderrors.InvalidArgumentError{Message: tr("Archive already exists")} } } filesToZip, err := sketchPath.ReadDirRecursive() if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Error reading sketch files"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Error reading sketch files"), Cause: err} } filesToZip.FilterOutDirs() archive, err := archivePath.Create() if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Error creating sketch archive"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Error creating sketch archive"), Cause: err} } defer archive.Close() @@ -92,7 +92,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc if !req.GetIncludeBuildDir() { filePath, err := sketchPath.Parent().RelTo(f) if err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Error calculating relative file path"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Error calculating relative file path"), Cause: err} } // Skips build folder @@ -104,7 +104,7 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc // We get the parent path since we want the archive to unpack as a folder. // If we don't do this the archive would contain all the sketch files as top level. if err := addFileToSketchArchive(zipWriter, f, sketchPath.Parent()); err != nil { - return nil, &arduino.PermissionDeniedError{Message: tr("Error adding file to sketch archive"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: tr("Error adding file to sketch archive"), Cause: err} } } diff --git a/commands/sketch/load.go b/commands/sketch/load.go index bd6b80e4a61..d32fc505969 100644 --- a/commands/sketch/load.go +++ b/commands/sketch/load.go @@ -18,8 +18,8 @@ package sketch import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/sketch" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) @@ -29,7 +29,7 @@ func LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketc // TODO: This should be a ToRpc function for the Sketch struct sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { - return nil, &arduino.CantOpenSketchError{Cause: err} + return nil, &cmderrors.CantOpenSketchError{Cause: err} } otherSketchFiles := make([]string, sk.OtherSketchFiles.Len()) diff --git a/commands/sketch/new.go b/commands/sketch/new.go index e73f90a996a..5a7f6003e29 100644 --- a/commands/sketch/new.go +++ b/commands/sketch/new.go @@ -20,9 +20,9 @@ import ( "errors" "regexp" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) @@ -57,17 +57,17 @@ func NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchRe sketchDirPath := paths.New(sketchesDir).Join(req.GetSketchName()) if err := sketchDirPath.MkdirAll(); err != nil { - return nil, &arduino.CantCreateSketchError{Cause: err} + return nil, &cmderrors.CantCreateSketchError{Cause: err} } sketchName := sketchDirPath.Base() sketchMainFilePath := sketchDirPath.Join(sketchName + globals.MainFileValidExtension) if !req.GetOverwrite() { if sketchMainFilePath.Exist() { - return nil, &arduino.CantCreateSketchError{Cause: errors.New(tr(".ino file already exists"))} + return nil, &cmderrors.CantCreateSketchError{Cause: errors.New(tr(".ino file already exists"))} } } if err := sketchMainFilePath.WriteFile(emptySketch); err != nil { - return nil, &arduino.CantCreateSketchError{Cause: err} + return nil, &cmderrors.CantCreateSketchError{Cause: err} } return &rpc.NewSketchResponse{MainFile: sketchMainFilePath.String()}, nil @@ -75,20 +75,20 @@ func NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchRe func validateSketchName(name string) error { if name == "" { - return &arduino.CantCreateSketchError{Cause: errors.New(tr("sketch name cannot be empty"))} + return &cmderrors.CantCreateSketchError{Cause: errors.New(tr("sketch name cannot be empty"))} } if len(name) > sketchNameMaxLength { - return &arduino.CantCreateSketchError{Cause: errors.New(tr("sketch name too long (%[1]d characters). Maximum allowed length is %[2]d", + return &cmderrors.CantCreateSketchError{Cause: errors.New(tr("sketch name too long (%[1]d characters). Maximum allowed length is %[2]d", len(name), sketchNameMaxLength))} } if !sketchNameValidationRegex.MatchString(name) { - return &arduino.CantCreateSketchError{Cause: errors.New(tr(`invalid sketch name "%[1]s": the first character must be alphanumeric or "_", the following ones can also contain "-" and ".". The last one cannot be ".".`, + return &cmderrors.CantCreateSketchError{Cause: errors.New(tr(`invalid sketch name "%[1]s": the first character must be alphanumeric or "_", the following ones can also contain "-" and ".". The last one cannot be ".".`, name))} } for _, invalid := range invalidNames { if name == invalid { - return &arduino.CantCreateSketchError{Cause: errors.New(tr(`sketch name cannot be the reserved name "%[1]s"`, invalid))} + return &cmderrors.CantCreateSketchError{Cause: errors.New(tr(`sketch name cannot be the reserved name "%[1]s"`, invalid))} } } return nil diff --git a/commands/sketch/set_defaults.go b/commands/sketch/set_defaults.go index 17ac01dae34..612d48a08a7 100644 --- a/commands/sketch/set_defaults.go +++ b/commands/sketch/set_defaults.go @@ -18,8 +18,8 @@ package sketch import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/sketch" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) @@ -29,7 +29,7 @@ import ( func SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { - return nil, &arduino.CantOpenSketchError{Cause: err} + return nil, &cmderrors.CantOpenSketchError{Cause: err} } oldAddress, oldProtocol := sk.GetDefaultPortAddressAndProtocol() @@ -41,13 +41,13 @@ func SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) ( if fqbn := req.GetDefaultFqbn(); fqbn != "" { if err := sk.SetDefaultFQBN(fqbn); err != nil { - return nil, &arduino.CantUpdateSketchError{Cause: err} + return nil, &cmderrors.CantUpdateSketchError{Cause: err} } res.DefaultFqbn = fqbn } if newAddress, newProtocol := req.GetDefaultPortAddress(), req.GetDefaultPortProtocol(); newAddress != "" { if err := sk.SetDefaultPort(newAddress, newProtocol); err != nil { - return nil, &arduino.CantUpdateSketchError{Cause: err} + return nil, &cmderrors.CantUpdateSketchError{Cause: err} } res.DefaultPortAddress = newAddress res.DefaultPortProtocol = newProtocol diff --git a/commands/sketch/warn_deprecated.go b/commands/sketch/warn_deprecated.go index a78f7156973..0072804c94a 100644 --- a/commands/sketch/warn_deprecated.go +++ b/commands/sketch/warn_deprecated.go @@ -18,7 +18,7 @@ package sketch import ( "fmt" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/sketch" paths "github.com/arduino/go-paths-helper" ) diff --git a/commands/upload/burnbootloader.go b/commands/upload/burnbootloader.go index ad98c84d7af..bf8bc3a608a 100644 --- a/commands/upload/burnbootloader.go +++ b/commands/upload/burnbootloader.go @@ -19,7 +19,7 @@ import ( "context" "io" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -35,7 +35,7 @@ func BurnBootloader(ctx context.Context, req *rpc.BurnBootloaderRequest, outStre pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() diff --git a/commands/upload/programmers_list.go b/commands/upload/programmers_list.go index b7290e68f5f..7bdeb6b7266 100644 --- a/commands/upload/programmers_list.go +++ b/commands/upload/programmers_list.go @@ -18,9 +18,9 @@ package upload import ( "context" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -28,23 +28,23 @@ import ( func ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer release() fqbnIn := req.GetFqbn() if fqbnIn == "" { - return nil, &arduino.MissingFQBNError{} + return nil, &cmderrors.MissingFQBNError{} } fqbn, err := cores.ParseFQBN(fqbnIn) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } // Find target platforms _, platform, _, _, refPlatform, err := pme.ResolveFQBN(fqbn) if err != nil { - return nil, &arduino.UnknownFQBNError{Cause: err} + return nil, &cmderrors.UnknownFQBNError{Cause: err} } result := []*rpc.Programmer{} diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 0969c2aabaf..7a8c08bf6ee 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -17,26 +17,26 @@ package upload import ( "context" + "errors" "fmt" "io" "path/filepath" "strings" "time" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/arduino/discovery" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/serialutils" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/discovery" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/serialutils" + "github.com/arduino/arduino-cli/internal/arduino/sketch" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -46,29 +46,29 @@ var tr = i18n.Tr // by the upload tools needed by the board using the protocol specified in SupportedUserFieldsRequest. func SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { if req.GetProtocol() == "" { - return nil, &arduino.MissingPortProtocolError{} + return nil, &cmderrors.MissingPortProtocolError{} } pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) defer release() if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } fqbn, err := cores.ParseFQBN(req.GetFqbn()) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } _, platformRelease, _, boardProperties, _, err := pme.ResolveFQBN(fqbn) if platformRelease == nil { - return nil, &arduino.PlatformNotFoundError{ + return nil, &cmderrors.PlatformNotFoundError{ Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), Cause: err, } } else if err != nil { - return nil, &arduino.UnknownFQBNError{Cause: err} + return nil, &cmderrors.UnknownFQBNError{Cause: err} } toolID, err := getToolID(boardProperties, "upload", req.GetProtocol()) @@ -97,7 +97,7 @@ func getToolID(props *properties.Map, action, protocol string) (string, error) { return t, nil } - return "", &arduino.MissingPlatformPropertyError{Property: toolProperty} + return "", &cmderrors.MissingPlatformPropertyError{Property: toolProperty} } // getUserFields return all user fields supported by the tools specified. @@ -133,12 +133,12 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er sketchPath := paths.New(req.GetSketchPath()) sk, err := sketch.New(sketchPath) if err != nil && req.GetImportDir() == "" && req.GetImportFile() == "" { - return nil, &arduino.CantOpenSketchError{Cause: err} + return nil, &cmderrors.CantOpenSketchError{Cause: err} } pme, pmeRelease := instances.GetPackageManagerExplorer(req.GetInstance()) if pme == nil { - return nil, &arduino.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} } defer pmeRelease() @@ -177,7 +177,7 @@ func UsingProgrammer(ctx context.Context, req *rpc.UploadUsingProgrammerRequest, logrus.Tracef("Upload using programmer %s on %s started", req.GetSketchPath(), req.GetFqbn()) if req.GetProgrammer() == "" { - return &arduino.MissingProgrammerError{} + return &cmderrors.MissingProgrammerError{} } _, err := Upload(ctx, &rpc.UploadRequest{ Instance: req.GetInstance(), @@ -210,24 +210,24 @@ func runProgramAction(pme *packagemanager.Explorer, logrus.WithField("port", port).Tracef("Upload port") if burnBootloader && programmerID == "" { - return nil, &arduino.MissingProgrammerError{} + return nil, &cmderrors.MissingProgrammerError{} } fqbn, err := cores.ParseFQBN(fqbnIn) if err != nil { - return nil, &arduino.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } logrus.WithField("fqbn", fqbn).Tracef("Detected FQBN") // Find target board and board properties _, boardPlatform, board, boardProperties, buildPlatform, err := pme.ResolveFQBN(fqbn) if boardPlatform == nil { - return nil, &arduino.PlatformNotFoundError{ + return nil, &cmderrors.PlatformNotFoundError{ Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), Cause: err, } } else if err != nil { - return nil, &arduino.UnknownFQBNError{Cause: err} + return nil, &cmderrors.UnknownFQBNError{Cause: err} } logrus. WithField("boardPlatform", boardPlatform). @@ -244,7 +244,7 @@ func runProgramAction(pme *packagemanager.Explorer, programmer = buildPlatform.Programmers[programmerID] } if programmer == nil { - return nil, &arduino.ProgrammerNotFoundError{Programmer: programmerID} + return nil, &cmderrors.ProgrammerNotFoundError{Programmer: programmerID} } } @@ -280,7 +280,7 @@ func runProgramAction(pme *packagemanager.Explorer, Trace("Upload tool") if split := strings.Split(uploadToolID, ":"); len(split) > 2 { - return nil, &arduino.InvalidPlatformPropertyError{ + return nil, &cmderrors.InvalidPlatformPropertyError{ Property: fmt.Sprintf("%s.tool.%s", action, port.Protocol), // TODO: Can be done better, maybe inline getToolID(...) Value: uploadToolID} } else if len(split) == 2 { @@ -289,12 +289,12 @@ func runProgramAction(pme *packagemanager.Explorer, PlatformArchitecture: boardPlatform.Platform.Architecture, }) if p == nil { - return nil, &arduino.PlatformNotFoundError{Platform: split[0] + ":" + boardPlatform.Platform.Architecture} + return nil, &cmderrors.PlatformNotFoundError{Platform: split[0] + ":" + boardPlatform.Platform.Architecture} } uploadToolID = split[1] uploadToolPlatform = pme.GetInstalledPlatformRelease(p) if uploadToolPlatform == nil { - return nil, &arduino.PlatformNotFoundError{Platform: split[0] + ":" + boardPlatform.Platform.Architecture} + return nil, &cmderrors.PlatformNotFoundError{Platform: split[0] + ":" + boardPlatform.Platform.Architecture} } } @@ -321,7 +321,7 @@ func runProgramAction(pme *packagemanager.Explorer, } if !uploadProperties.ContainsKey("upload.protocol") && programmer == nil { - return nil, &arduino.ProgrammerRequiredForUploadError{} + return nil, &cmderrors.ProgrammerRequiredForUploadError{} } // Set properties for verbose upload @@ -369,13 +369,13 @@ func runProgramAction(pme *packagemanager.Explorer, if !burnBootloader { importPath, sketchName, err := determineBuildPathAndSketchName(importFile, importDir, sk, fqbn) if err != nil { - return nil, &arduino.NotFoundError{Message: tr("Error finding build artifacts"), Cause: err} + return nil, &cmderrors.NotFoundError{Message: tr("Error finding build artifacts"), Cause: err} } if !importPath.Exist() { - return nil, &arduino.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} + return nil, &cmderrors.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} } if !importPath.IsDir() { - return nil, &arduino.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} + return nil, &cmderrors.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} } uploadProperties.SetPath("build.path", importPath) uploadProperties.Set("build.project_name", sketchName) @@ -498,18 +498,18 @@ func runProgramAction(pme *packagemanager.Explorer, toolEnv := pme.GetEnvVarsForSpawnedProcess() if burnBootloader { if err := runTool("erase.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &arduino.FailedUploadError{Message: tr("Failed chip erase"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: tr("Failed chip erase"), Cause: err} } if err := runTool("bootloader.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &arduino.FailedUploadError{Message: tr("Failed to burn bootloader"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: tr("Failed to burn bootloader"), Cause: err} } } else if programmer != nil { if err := runTool("program.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &arduino.FailedUploadError{Message: tr("Failed programming"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: tr("Failed programming"), Cause: err} } } else { if err := runTool("upload.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &arduino.FailedUploadError{Message: tr("Failed uploading"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: tr("Failed uploading"), Cause: err} } } @@ -711,14 +711,14 @@ func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sk buildPath := paths.New(importDir) sketchName, err := detectSketchNameFromBuildPath(buildPath) if err != nil { - return nil, "", errors.Errorf(tr("autodetect build artifact: %s"), err) + return nil, "", fmt.Errorf("%s: %w", tr("looking for build artifacts"), err) } return buildPath, sketchName, nil } // Case 3: nothing given... if sk == nil { - return nil, "", fmt.Errorf(tr("no sketch or build directory/file specified")) + return nil, "", errors.New(tr("no sketch or build directory/file specified")) } // Case 4: only sketch specified. In this case we use the generated build path @@ -763,7 +763,7 @@ func detectSketchNameFromBuildPath(buildPath *paths.Path) (string, error) { } if candidateName != name { - return "", errors.Errorf(tr("multiple build artifacts found: '%[1]s' and '%[2]s'"), candidateFile, file) + return "", errors.New(tr("multiple build artifacts found: '%[1]s' and '%[2]s'", candidateFile, file)) } } diff --git a/commands/upload/upload_test.go b/commands/upload/upload_test.go index d73ab6b315b..95d26de6634 100644 --- a/commands/upload/upload_test.go +++ b/commands/upload/upload_test.go @@ -21,9 +21,9 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/sketch" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" diff --git a/configuration/term.go b/configuration/term.go deleted file mode 100644 index 5d83f50e7fa..00000000000 --- a/configuration/term.go +++ /dev/null @@ -1,28 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 configuration - -import ( - "os" - - "github.com/mattn/go-isatty" -) - -// IsInteractive is set to true if the CLI is interactive (it can receive inputs from terminal/console) -var IsInteractive = isatty.IsTerminal(os.Stdin.Fd()) || isatty.IsCygwinTerminal(os.Stdin.Fd()) - -// HasConsole is set to true if the CLI outputs to a terminal/console -var HasConsole = isatty.IsTerminal(os.Stdout.Fd()) || isatty.IsCygwinTerminal(os.Stdout.Fd()) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index bd6f633019c..bb787d7248e 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -8,11 +8,15 @@ Here you can find a list of migration guides to handle breaking changes between The following golang modules are no longer available as public API: +- `github.com/arduino/arduino-cli/arduino` - `github.com/arduino/arduino-cli/buildcache` +- `github.com/arduino/arduino-cli/configuration` - `github.com/arduino/arduino-cli/executils` - `github.com/arduino/arduino-cli/table` Most of the `executils` library has been integrated inside the `go-paths` library `github.com/arduino/go-paths-helper`. +The other packages are not intended for usage outside the Arduino CLI, we will keep them internal to allow future +breaking changes as needed. ### CLI changed JSON output for some `lib`, `core`, `config`, `board`, and `sketch` commands. diff --git a/docsgen/main.go b/docsgen/main.go index 5bb4a3fcc4b..47a62f14a04 100644 --- a/docsgen/main.go +++ b/docsgen/main.go @@ -18,8 +18,8 @@ package main import ( "os" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/spf13/cobra/doc" ) diff --git a/go.mod b/go.mod index 2d93f0c27d4..998dd49bba7 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 - github.com/arduino/go-paths-helper v1.10.0 + github.com/arduino/go-paths-helper v1.10.1 github.com/arduino/go-properties-orderedmap v1.8.0 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 @@ -25,7 +25,6 @@ require ( github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 github.com/mattn/go-colorable v0.1.13 github.com/mattn/go-isatty v0.0.20 - github.com/pkg/errors v0.9.1 github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 github.com/rogpeppe/go-internal v1.11.0 github.com/schollz/closestmatch v2.1.0+incompatible diff --git a/go.sum b/go.sum index 3ca470ff5fb..85f02b41536 100644 --- a/go.sum +++ b/go.sum @@ -51,8 +51,8 @@ github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.10.0 h1:oeE6Mcl4lsz+knC3lzaCWkRQa3n3FbwdRSeGhy6uGbM= -github.com/arduino/go-paths-helper v1.10.0/go.mod h1:LgEVnv+cqSl05vXD5LaUZGquDsX5OKmPNDJtjTL8928= +github.com/arduino/go-paths-helper v1.10.1 h1:j8InnhLrSeoPiOvTnZL0XMFt7l407ciTBJJJs7W9bs4= +github.com/arduino/go-paths-helper v1.10.1/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= github.com/arduino/go-properties-orderedmap v1.8.0 h1:wEfa6hHdpezrVOh787OmClsf/Kd8qB+zE3P2Xbrn0CQ= github.com/arduino/go-properties-orderedmap v1.8.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6dbLC3y4i02zFT5quS4X6iioWifGlVwfy4= diff --git a/arduino/builder/archive_compiled_files.go b/internal/arduino/builder/archive_compiled_files.go similarity index 94% rename from arduino/builder/archive_compiled_files.go rename to internal/arduino/builder/archive_compiled_files.go index b640e3e256e..31caed6df41 100644 --- a/arduino/builder/archive_compiled_files.go +++ b/internal/arduino/builder/archive_compiled_files.go @@ -17,7 +17,6 @@ package builder import ( "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" ) // ArchiveCompiledFiles fixdoc @@ -45,7 +44,7 @@ func (b *Builder) archiveCompiledFiles(buildPath *paths.Path, archiveFile *paths // something changed, rebuild the core archive if rebuildArchive { if err := archiveFilePath.Remove(); err != nil { - return nil, errors.WithStack(err) + return nil, err } } else { if b.logger.Verbose() { @@ -63,11 +62,11 @@ func (b *Builder) archiveCompiledFiles(buildPath *paths.Path, archiveFile *paths command, err := b.prepareCommandForRecipe(properties, "recipe.ar.pattern", false) if err != nil { - return nil, errors.WithStack(err) + return nil, err } if err := b.execCommand(command); err != nil { - return nil, errors.WithStack(err) + return nil, err } } diff --git a/arduino/builder/build_options_manager.go b/internal/arduino/builder/build_options_manager.go similarity index 92% rename from arduino/builder/build_options_manager.go rename to internal/arduino/builder/build_options_manager.go index 0ff35611934..0d8c2a36311 100644 --- a/arduino/builder/build_options_manager.go +++ b/internal/arduino/builder/build_options_manager.go @@ -17,15 +17,15 @@ package builder import ( "encoding/json" + "fmt" "path/filepath" "strings" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" ) // buildOptions fixdoc @@ -100,7 +100,7 @@ func newBuildOptions( func (b *Builder) createBuildOptionsJSON() error { buildOptionsJSON, err := json.MarshalIndent(b.buildOptions.currentOptions, "", " ") if err != nil { - return errors.WithStack(err) + return err } return b.buildOptions.buildPath.Join("build.options.json").WriteFile(buildOptionsJSON) } @@ -110,10 +110,10 @@ func (b *Builder) wipeBuildPath() error { // control when this should be printed. // logger.Println(constants.LOG_LEVEL_INFO, constants.MSG_BUILD_OPTIONS_CHANGED + constants.MSG_REBUILD_ALL) if err := b.buildOptions.buildPath.RemoveAll(); err != nil { - return errors.WithMessage(err, tr("cleaning build path")) + return fmt.Errorf("%s: %w", tr("cleaning build path"), err) } if err := b.buildOptions.buildPath.MkdirAll(); err != nil { - return errors.WithMessage(err, tr("cleaning build path")) + return fmt.Errorf("%s: %w", tr("cleaning build path"), err) } return nil } @@ -125,11 +125,11 @@ func (b *Builder) wipeBuildPathIfBuildOptionsChanged() error { // Load previous build options map var buildOptionsJSONPrevious []byte - var _err error if buildOptionsFile := b.buildOptions.buildPath.Join("build.options.json"); buildOptionsFile.Exist() { - buildOptionsJSONPrevious, _err = buildOptionsFile.ReadFile() - if _err != nil { - return errors.WithStack(_err) + var err error + buildOptionsJSONPrevious, err = buildOptionsFile.ReadFile() + if err != nil { + return err } } diff --git a/arduino/builder/builder.go b/internal/arduino/builder/builder.go similarity index 95% rename from arduino/builder/builder.go rename to internal/arduino/builder/builder.go index 33552b35df4..871d5baefad 100644 --- a/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -23,16 +23,16 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/arduino/builder/internal/compilation" - "github.com/arduino/arduino-cli/arduino/builder/internal/detector" - "github.com/arduino/arduino-cli/arduino/builder/internal/diagnostics" - "github.com/arduino/arduino-cli/arduino/builder/internal/logger" - "github.com/arduino/arduino-cli/arduino/builder/internal/progress" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/compilation" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/detector" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/diagnostics" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/logger" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/progress" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/sketch" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" diff --git a/arduino/builder/compilation.go b/internal/arduino/builder/compilation.go similarity index 92% rename from arduino/builder/compilation.go rename to internal/arduino/builder/compilation.go index 0d91f622579..d997c264bcf 100644 --- a/arduino/builder/compilation.go +++ b/internal/arduino/builder/compilation.go @@ -22,10 +22,9 @@ import ( "strings" "sync" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" ) func (b *Builder) compileFiles( @@ -104,7 +103,7 @@ func (b *Builder) compileFiles( wg.Wait() if len(errorsList) > 0 { // output the first error - return nil, errors.WithStack(errorsList[0]) + return nil, errorsList[0] } objectFiles.Sort() return objectFiles, nil @@ -124,7 +123,7 @@ func (b *Builder) compileFileWithRecipe( properties.SetPath("source_file", source) relativeSource, err := sourcePath.RelTo(source) if err != nil { - return nil, errors.WithStack(err) + return nil, err } depsFile := buildPath.Join(relativeSource.String() + ".d") objectFile := buildPath.Join(relativeSource.String() + ".o") @@ -132,17 +131,17 @@ func (b *Builder) compileFileWithRecipe( properties.SetPath("object_file", objectFile) err = objectFile.Parent().MkdirAll() if err != nil { - return nil, errors.WithStack(err) + return nil, err } objIsUpToDate, err := utils.ObjFileIsUpToDate(source, objectFile, depsFile) if err != nil { - return nil, errors.WithStack(err) + return nil, err } command, err := b.prepareCommandForRecipe(properties, recipe, false) if err != nil { - return nil, errors.WithStack(err) + return nil, err } if b.compilationDatabase != nil { b.compilationDatabase.Add(source, command) @@ -174,7 +173,7 @@ func (b *Builder) compileFileWithRecipe( // ...and then return the error if err != nil { - return nil, errors.WithStack(err) + return nil, err } } else if b.logger.Verbose() { if objIsUpToDate { diff --git a/arduino/builder/core.go b/internal/arduino/builder/core.go similarity index 94% rename from arduino/builder/core.go rename to internal/arduino/builder/core.go index 407dcb76b0c..102e1be2eac 100644 --- a/arduino/builder/core.go +++ b/internal/arduino/builder/core.go @@ -18,22 +18,22 @@ package builder import ( "crypto/md5" "encoding/hex" + "errors" "fmt" "os" "strings" - "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" ) // buildCore fixdoc func (b *Builder) buildCore() error { if err := b.coreBuildPath.MkdirAll(); err != nil { - return errors.WithStack(err) + return err } if b.coreBuildCachePath != nil { @@ -44,13 +44,13 @@ func (b *Builder) buildCore() error { // compileCore function). b.coreBuildCachePath = nil } else if err := b.coreBuildCachePath.MkdirAll(); err != nil { - return errors.WithStack(err) + return err } } archiveFile, objectFiles, err := b.compileCore() if err != nil { - return errors.WithStack(err) + return err } b.buildArtifacts.coreObjectsFiles = objectFiles b.buildArtifacts.coreArchiveFilePath = archiveFile @@ -77,7 +77,7 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { includes, ) if err != nil { - return nil, nil, errors.WithStack(err) + return nil, nil, err } } @@ -125,12 +125,12 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { includes, ) if err != nil { - return nil, nil, errors.WithStack(err) + return nil, nil, err } archiveFile, err := b.archiveCompiledFiles(b.coreBuildPath, paths.New("core.a"), coreObjectFiles) if err != nil { - return nil, nil, errors.WithStack(err) + return nil, nil, err } // archive core.a diff --git a/arduino/builder/cpp/cpp.go b/internal/arduino/builder/cpp/cpp.go similarity index 100% rename from arduino/builder/cpp/cpp.go rename to internal/arduino/builder/cpp/cpp.go diff --git a/arduino/builder/cpp/cpp_test.go b/internal/arduino/builder/cpp/cpp_test.go similarity index 97% rename from arduino/builder/cpp/cpp_test.go rename to internal/arduino/builder/cpp/cpp_test.go index b6ae543f558..400e3d1f02e 100644 --- a/arduino/builder/cpp/cpp_test.go +++ b/internal/arduino/builder/cpp/cpp_test.go @@ -18,7 +18,7 @@ package cpp_test import ( "testing" - "github.com/arduino/arduino-cli/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/stretchr/testify/require" ) diff --git a/arduino/builder/export_cmake.go b/internal/arduino/builder/export_cmake.go similarity index 98% rename from arduino/builder/export_cmake.go rename to internal/arduino/builder/export_cmake.go index e65776b4e0b..9272879251f 100644 --- a/arduino/builder/export_cmake.go +++ b/internal/arduino/builder/export_cmake.go @@ -24,9 +24,9 @@ import ( "slices" "strings" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" ) diff --git a/arduino/builder/internal/compilation/database.go b/internal/arduino/builder/internal/compilation/database.go similarity index 100% rename from arduino/builder/internal/compilation/database.go rename to internal/arduino/builder/internal/compilation/database.go diff --git a/arduino/builder/internal/compilation/database_test.go b/internal/arduino/builder/internal/compilation/database_test.go similarity index 100% rename from arduino/builder/internal/compilation/database_test.go rename to internal/arduino/builder/internal/compilation/database_test.go diff --git a/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go similarity index 94% rename from arduino/builder/internal/detector/detector.go rename to internal/arduino/builder/internal/detector/detector.go index 2e46a57c686..e368edd13b3 100644 --- a/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -18,6 +18,7 @@ package detector import ( "bytes" "encoding/json" + "errors" "fmt" "os/exec" "regexp" @@ -25,19 +26,18 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/arduino/builder/internal/logger" - "github.com/arduino/arduino-cli/arduino/builder/internal/preprocessor" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/arduino/libraries/librariesresolver" - "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/logger" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesresolver" + "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" ) var tr = i18n.Tr @@ -254,7 +254,7 @@ func (l *SketchLibrariesDetector) findIncludes( sketch := sketch mergedfile, err := makeSourceFile(sketchBuildPath, sketchBuildPath, paths.New(sketch.MainFile.Base()+".cpp")) if err != nil { - return errors.WithStack(err) + return err } sourceFileQueue.push(mergedfile) @@ -268,19 +268,19 @@ func (l *SketchLibrariesDetector) findIncludes( err := l.findIncludesUntilDone(cache, sourceFileQueue, buildProperties, sketchBuildPath, librariesBuildPath, platformArch) if err != nil { cachePath.Remove() - return errors.WithStack(err) + return err } } // Finalize the cache cache.ExpectEnd() if err := writeCache(cache, cachePath); err != nil { - return errors.WithStack(err) + return err } } if err := l.failIfImportedLibraryIsWrong(); err != nil { - return errors.WithStack(err) + return err } if d, err := json.Marshal(l.includeFolders); err != nil { @@ -320,7 +320,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( // remove the object file if it is found to be stale? unchanged, err := utils.ObjFileIsUpToDate(sourcePath, objPath, depPath) if err != nil { - return errors.WithStack(err) + return err } first := true @@ -352,12 +352,13 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( l.logger.WriteStdout(preprocStdout) } // Unwrap error and see if it is an ExitError. + var exitErr *exec.ExitError if preprocErr == nil { // Preprocessor successful, done missingIncludeH = "" - } else if _, isExitErr := errors.Cause(preprocErr).(*exec.ExitError); !isExitErr || preprocStderr == nil { + } else if isExitErr := errors.As(preprocErr, &exitErr); !isExitErr || preprocStderr == nil { // Ignore ExitErrors (e.g. gcc returning non-zero status), but bail out on other errors - return errors.WithStack(preprocErr) + return preprocErr } else { missingIncludeH = IncludesFinderWithRegExp(string(preprocStderr)) if missingIncludeH == "" && l.logger.Verbose() { @@ -391,7 +392,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( } } l.logger.WriteStderr(preprocStderr) - return errors.WithStack(preprocErr) + return preprocErr } // Add this library to the list of libraries, the @@ -429,13 +430,13 @@ func (l *SketchLibrariesDetector) queueSourceFilesFromFolder( } filePaths, err := utils.FindFilesInFolder(folder, recurse, sourceFileExtensions...) if err != nil { - return errors.WithStack(err) + return err } for _, filePath := range filePaths { sourceFile, err := makeSourceFile(sourceDir, buildDir, filePath, extraIncludePath...) if err != nil { - return errors.WithStack(err) + return err } sourceFileQueue.push(sourceFile) } @@ -605,7 +606,7 @@ func LibrariesLoader( builtInLibrariesFolders := builtInLibrariesDirs if builtInLibrariesFolders != nil { if err := builtInLibrariesFolders.ToAbs(); err != nil { - return nil, nil, nil, errors.WithStack(err) + return nil, nil, nil, err } lm.AddLibrariesDir(builtInLibrariesFolders, libraries.IDEBuiltIn) } @@ -617,7 +618,7 @@ func LibrariesLoader( librariesFolders := otherLibrariesDirs if err := librariesFolders.ToAbs(); err != nil { - return nil, nil, nil, errors.WithStack(err) + return nil, nil, nil, err } for _, folder := range librariesFolders { lm.AddLibrariesDir(folder, libraries.User) @@ -636,24 +637,24 @@ func LibrariesLoader( for _, dir := range libraryDirs { // Libraries specified this way have top priority if err := lm.LoadLibraryFromDir(dir, libraries.Unmanaged); err != nil { - return nil, nil, nil, errors.WithStack(err) + return nil, nil, nil, err } } } resolver := librariesresolver.NewCppResolver() if err := resolver.ScanIDEBuiltinLibraries(lm); err != nil { - return nil, nil, nil, errors.WithStack(err) + return nil, nil, nil, err } if err := resolver.ScanUserAndUnmanagedLibraries(lm); err != nil { - return nil, nil, nil, errors.WithStack(err) + return nil, nil, nil, err } if err := resolver.ScanPlatformLibraries(lm, targetPlatform); err != nil { - return nil, nil, nil, errors.WithStack(err) + return nil, nil, nil, err } if actualPlatform != targetPlatform { if err := resolver.ScanPlatformLibraries(lm, actualPlatform); err != nil { - return nil, nil, nil, errors.WithStack(err) + return nil, nil, nil, err } } return lm, resolver, verboseOut.Bytes(), nil @@ -760,11 +761,11 @@ func writeCache(cache *includeCache, path *paths.Path) error { } else { bytes, err := json.MarshalIndent(cache.entries, "", " ") if err != nil { - return errors.WithStack(err) + return err } err = path.WriteFile(bytes) if err != nil { - return errors.WithStack(err) + return err } } return nil diff --git a/arduino/builder/internal/detector/detector_test.go b/internal/arduino/builder/internal/detector/detector_test.go similarity index 97% rename from arduino/builder/internal/detector/detector_test.go rename to internal/arduino/builder/internal/detector/detector_test.go index 2290dc02de6..6e7f72648a4 100644 --- a/arduino/builder/internal/detector/detector_test.go +++ b/internal/arduino/builder/internal/detector/detector_test.go @@ -18,7 +18,7 @@ package detector_test import ( "testing" - "github.com/arduino/arduino-cli/arduino/builder/internal/detector" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/detector" "github.com/stretchr/testify/require" ) diff --git a/arduino/builder/internal/diagnostics/compiler_detection.go b/internal/arduino/builder/internal/diagnostics/compiler_detection.go similarity index 100% rename from arduino/builder/internal/diagnostics/compiler_detection.go rename to internal/arduino/builder/internal/diagnostics/compiler_detection.go diff --git a/arduino/builder/internal/diagnostics/compiler_detection_test.go b/internal/arduino/builder/internal/diagnostics/compiler_detection_test.go similarity index 100% rename from arduino/builder/internal/diagnostics/compiler_detection_test.go rename to internal/arduino/builder/internal/diagnostics/compiler_detection_test.go diff --git a/arduino/builder/internal/diagnostics/parser.go b/internal/arduino/builder/internal/diagnostics/parser.go similarity index 100% rename from arduino/builder/internal/diagnostics/parser.go rename to internal/arduino/builder/internal/diagnostics/parser.go diff --git a/arduino/builder/internal/diagnostics/parser_gcc.go b/internal/arduino/builder/internal/diagnostics/parser_gcc.go similarity index 100% rename from arduino/builder/internal/diagnostics/parser_gcc.go rename to internal/arduino/builder/internal/diagnostics/parser_gcc.go diff --git a/arduino/builder/internal/diagnostics/parser_test.go b/internal/arduino/builder/internal/diagnostics/parser_test.go similarity index 100% rename from arduino/builder/internal/diagnostics/parser_test.go rename to internal/arduino/builder/internal/diagnostics/parser_test.go diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test001.txt.json diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test002.txt.json diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test003.txt.json diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt diff --git a/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json b/internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json similarity index 100% rename from arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json rename to internal/arduino/builder/internal/diagnostics/testdata/compiler_outputs/test004.txt.json diff --git a/arduino/builder/internal/logger/logger.go b/internal/arduino/builder/internal/logger/logger.go similarity index 100% rename from arduino/builder/internal/logger/logger.go rename to internal/arduino/builder/internal/logger/logger.go diff --git a/arduino/builder/internal/preprocessor/arduino_preprocessor.go b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go similarity index 95% rename from arduino/builder/internal/preprocessor/arduino_preprocessor.go rename to internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go index cb0164dc663..2c3d61c1397 100644 --- a/arduino/builder/internal/preprocessor/arduino_preprocessor.go +++ b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go @@ -18,14 +18,14 @@ package preprocessor import ( "bytes" "context" + "errors" "path/filepath" "runtime" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" ) // PreprocessSketchWithArduinoPreprocessor performs preprocessing of the arduino sketch @@ -62,7 +62,7 @@ func PreprocessSketchWithArduinoPreprocessor(sk *sketch.Sketch, buildPath *paths commandLine := arduiniPreprocessorProperties.ExpandPropsInString(pattern) parts, err := properties.SplitQuotedString(commandLine, `"'`, false) if err != nil { - return nil, nil, errors.WithStack(err) + return nil, nil, err } command, err := paths.NewProcess(nil, parts...) diff --git a/arduino/builder/internal/preprocessor/ctags.go b/internal/arduino/builder/internal/preprocessor/ctags.go similarity index 94% rename from arduino/builder/internal/preprocessor/ctags.go rename to internal/arduino/builder/internal/preprocessor/ctags.go index 346fd2a6f49..c3c8d150f46 100644 --- a/arduino/builder/internal/preprocessor/ctags.go +++ b/internal/arduino/builder/internal/preprocessor/ctags.go @@ -19,18 +19,18 @@ import ( "bufio" "bytes" "context" + "errors" "fmt" "io" "strconv" "strings" - "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/arduino/builder/internal/preprocessor/internal/ctags" - "github.com/arduino/arduino-cli/arduino/sketch" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor/internal/ctags" + "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" ) var tr = i18n.Tr @@ -60,7 +60,7 @@ func PreprocessSketchWithCtags(sketch *sketch.Sketch, buildPath *paths.Path, inc normalOutput.Write(gccStderr) if err != nil { if !onlyUpdateCompilationDatabase { - return normalOutput.Bytes(), verboseOutput.Bytes(), errors.WithStack(err) + return normalOutput.Bytes(), verboseOutput.Bytes(), err } // Do not bail out if we are generating the compile commands database @@ -68,7 +68,7 @@ func PreprocessSketchWithCtags(sketch *sketch.Sketch, buildPath *paths.Path, inc tr("An error occurred adding prototypes"), tr("the compilation database may be incomplete or inaccurate"))) if err := sourceFile.CopyTo(ctagsTarget); err != nil { - return normalOutput.Bytes(), verboseOutput.Bytes(), errors.WithStack(err) + return normalOutput.Bytes(), verboseOutput.Bytes(), err } } @@ -186,7 +186,7 @@ func RunCTags(sourceFile *paths.Path, buildProperties *properties.Map) ([]byte, pattern := ctagsBuildProperties.Get("pattern") if pattern == "" { - return nil, nil, errors.Errorf(tr("%s pattern is missing"), "ctags") + return nil, nil, errors.New(tr("%s pattern is missing", "ctags")) } commandLine := ctagsBuildProperties.ExpandPropsInString(pattern) diff --git a/arduino/builder/internal/preprocessor/gcc.go b/internal/arduino/builder/internal/preprocessor/gcc.go similarity index 95% rename from arduino/builder/internal/preprocessor/gcc.go rename to internal/arduino/builder/internal/preprocessor/gcc.go index aa849c0b324..791a3366fba 100644 --- a/arduino/builder/internal/preprocessor/gcc.go +++ b/internal/arduino/builder/internal/preprocessor/gcc.go @@ -17,14 +17,14 @@ package preprocessor import ( "context" + "errors" "fmt" "strings" - "github.com/arduino/arduino-cli/arduino/builder/cpp" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" ) // GCC performs a run of the gcc preprocess (macro/includes expansion). The function outputs the result @@ -54,7 +54,7 @@ func GCC(sourceFilePath *paths.Path, targetFilePath *paths.Path, includes paths. pattern := gccBuildProperties.Get(gccPreprocRecipeProperty) if pattern == "" { - return nil, nil, errors.Errorf(tr("%s pattern is missing"), gccPreprocRecipeProperty) + return nil, nil, errors.New(tr("%s pattern is missing", gccPreprocRecipeProperty)) } commandLine := gccBuildProperties.ExpandPropsInString(pattern) diff --git a/arduino/builder/internal/preprocessor/internal/ctags/ctags_has_issues.go b/internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_has_issues.go similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/ctags_has_issues.go rename to internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_has_issues.go diff --git a/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser.go b/internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser.go similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/ctags_parser.go rename to internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser.go diff --git a/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser_test.go b/internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser_test.go similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/ctags_parser_test.go rename to internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_parser_test.go diff --git a/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes.go b/internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes.go similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes.go rename to internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes.go diff --git a/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes_test.go b/internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes_test.go similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes_test.go rename to internal/arduino/builder/internal/preprocessor/internal/ctags/ctags_to_prototypes_test.go diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserClassMembersAreFilteredOut.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserDefaultArguments.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointer.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointers.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserFunctionPointersNoIndirect.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserNamespace.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealFunctionWithDifferentSignatures.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithClasses.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithMacros.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldDealWithStructs.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListPrototypes.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserShouldListTemplates2.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStatic.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsParserStructWithFunctions.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithClassFunction.txt diff --git a/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt b/internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt similarity index 100% rename from arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt rename to internal/arduino/builder/internal/preprocessor/internal/ctags/testdata/TestCTagsRunnerSketchWithMultifile.txt diff --git a/arduino/builder/internal/progress/progress.go b/internal/arduino/builder/internal/progress/progress.go similarity index 100% rename from arduino/builder/internal/progress/progress.go rename to internal/arduino/builder/internal/progress/progress.go diff --git a/arduino/builder/internal/progress/progress_test.go b/internal/arduino/builder/internal/progress/progress_test.go similarity index 100% rename from arduino/builder/internal/progress/progress_test.go rename to internal/arduino/builder/internal/progress/progress_test.go diff --git a/arduino/builder/internal/utils/utils.go b/internal/arduino/builder/internal/utils/utils.go similarity index 97% rename from arduino/builder/internal/utils/utils.go rename to internal/arduino/builder/internal/utils/utils.go index 8746623a821..630172e2410 100644 --- a/arduino/builder/internal/utils/utils.go +++ b/internal/arduino/builder/internal/utils/utils.go @@ -22,7 +22,6 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" "github.com/sirupsen/logrus" "golang.org/x/text/runes" "golang.org/x/text/transform" @@ -40,7 +39,7 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool sourceFile = sourceFile.Clean() sourceFileStat, err := sourceFile.Stat() if err != nil { - return false, errors.WithStack(err) + return false, err } objectFile = objectFile.Clean() @@ -50,7 +49,7 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool logrus.Debugf("Not found: %v", objectFile) return false, nil } - return false, errors.WithStack(err) + return false, err } dependencyFile = dependencyFile.Clean() @@ -60,7 +59,7 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool logrus.Debugf("Not found: %v", dependencyFile) return false, nil } - return false, errors.WithStack(err) + return false, err } if sourceFileStat.ModTime().After(objectFileStat.ModTime()) { @@ -74,7 +73,7 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool rows, err := dependencyFile.ReadFileAsLines() if err != nil { - return false, errors.WithStack(err) + return false, err } rows = f.Map(rows, removeEndingBackSlash) diff --git a/arduino/builder/internal/utils/utils_test.go b/internal/arduino/builder/internal/utils/utils_test.go similarity index 100% rename from arduino/builder/internal/utils/utils_test.go rename to internal/arduino/builder/internal/utils/utils_test.go diff --git a/arduino/builder/libraries.go b/internal/arduino/builder/libraries.go similarity index 94% rename from arduino/builder/libraries.go rename to internal/arduino/builder/libraries.go index 88780ee3505..d0a32bf0806 100644 --- a/arduino/builder/libraries.go +++ b/internal/arduino/builder/libraries.go @@ -20,12 +20,11 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/arduino/builder/cpp" - "github.com/arduino/arduino-cli/arduino/libraries" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" ) // nolint @@ -40,12 +39,12 @@ func (b *Builder) buildLibraries(includesFolders paths.PathList, importedLibrari libs := importedLibraries if err := b.librariesBuildPath.MkdirAll(); err != nil { - return errors.WithStack(err) + return err } librariesObjectFiles, err := b.compileLibraries(libs, includes) if err != nil { - return errors.WithStack(err) + return err } b.buildArtifacts.librariesObjectFiles = librariesObjectFiles return nil @@ -118,7 +117,7 @@ func (b *Builder) compileLibraries(libraries libraries.List, includes []string) for _, library := range libraries { libraryObjectFiles, err := b.compileLibrary(library, includes) if err != nil { - return nil, errors.WithStack(err) + return nil, err } objectFiles.AddAll(libraryObjectFiles) @@ -135,7 +134,7 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string) libraryBuildPath := b.librariesBuildPath.Join(library.DirName) if err := libraryBuildPath.MkdirAll(); err != nil { - return nil, errors.WithStack(err) + return nil, err } objectFiles := paths.NewPathList() @@ -153,7 +152,7 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string) // Find all libraries in precompiledPath libs, err := precompiledPath.ReadDir() if err != nil { - return nil, errors.WithStack(err) + return nil, err } // Add required LD flags @@ -194,12 +193,12 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string) includes, ) if err != nil { - return nil, errors.WithStack(err) + return nil, err } if library.DotALinkage { archiveFile, err := b.archiveCompiledFiles(libraryBuildPath, paths.New(library.DirName+".a"), libObjectFiles) if err != nil { - return nil, errors.WithStack(err) + return nil, err } objectFiles.Add(archiveFile) } else { @@ -215,7 +214,7 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string) includes, ) if err != nil { - return nil, errors.WithStack(err) + return nil, err } objectFiles.AddAll(libObjectFiles) @@ -227,7 +226,7 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string) includes, ) if err != nil { - return nil, errors.WithStack(err) + return nil, err } objectFiles.AddAll(utilityObjectFiles) } @@ -252,7 +251,7 @@ func (b *Builder) removeUnusedCompiledLibraries(importedLibraries libraries.List files, err := b.librariesBuildPath.ReadDir() if err != nil { - return errors.WithStack(err) + return err } libraryNames := toLibraryNames(importedLibraries) @@ -260,7 +259,7 @@ func (b *Builder) removeUnusedCompiledLibraries(importedLibraries libraries.List if file.IsDir() { if !slices.Contains(libraryNames, file.Base()) { if err := file.RemoveAll(); err != nil { - return errors.WithStack(err) + return err } } } diff --git a/arduino/builder/linker.go b/internal/arduino/builder/linker.go similarity index 96% rename from arduino/builder/linker.go rename to internal/arduino/builder/linker.go index caad00d02c9..55534503cd4 100644 --- a/arduino/builder/linker.go +++ b/internal/arduino/builder/linker.go @@ -20,7 +20,6 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" ) // link fixdoc @@ -39,7 +38,7 @@ func (b *Builder) link() error { coreDotARelPath, err := b.buildPath.RelTo(b.buildArtifacts.coreArchiveFilePath) if err != nil { - return errors.WithStack(err) + return err } wrapWithDoubleQuotes := func(value string) string { return "\"" + value + "\"" } @@ -73,11 +72,11 @@ func (b *Builder) link() error { command, err := b.prepareCommandForRecipe(properties, "recipe.ar.pattern", false) if err != nil { - return errors.WithStack(err) + return err } if err := b.execCommand(command); err != nil { - return errors.WithStack(err) + return err } } diff --git a/arduino/builder/preprocess_sketch.go b/internal/arduino/builder/preprocess_sketch.go similarity index 93% rename from arduino/builder/preprocess_sketch.go rename to internal/arduino/builder/preprocess_sketch.go index 8028d345fdf..106df3d7b40 100644 --- a/arduino/builder/preprocess_sketch.go +++ b/internal/arduino/builder/preprocess_sketch.go @@ -16,7 +16,7 @@ package builder import ( - "github.com/arduino/arduino-cli/arduino/builder/internal/preprocessor" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor" "github.com/arduino/go-paths-helper" ) diff --git a/arduino/builder/recipe.go b/internal/arduino/builder/recipe.go similarity index 95% rename from arduino/builder/recipe.go rename to internal/arduino/builder/recipe.go index 57b137176f1..742b4484682 100644 --- a/arduino/builder/recipe.go +++ b/internal/arduino/builder/recipe.go @@ -21,7 +21,6 @@ import ( "strings" properties "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -40,7 +39,7 @@ func (b *Builder) RunRecipe(prefix, suffix string, skipIfOnlyUpdatingCompilation command, err := b.prepareCommandForRecipe(properties, recipe, false) if err != nil { - return errors.WithStack(err) + return err } if b.onlyUpdateCompilationDatabase && skipIfOnlyUpdatingCompilationDatabase { @@ -51,7 +50,7 @@ func (b *Builder) RunRecipe(prefix, suffix string, skipIfOnlyUpdatingCompilation } if err := b.execCommand(command); err != nil { - return errors.WithStack(err) + return err } } diff --git a/arduino/builder/sizer.go b/internal/arduino/builder/sizer.go similarity index 98% rename from arduino/builder/sizer.go rename to internal/arduino/builder/sizer.go index a4e362f7106..5814ba3ff4e 100644 --- a/arduino/builder/sizer.go +++ b/internal/arduino/builder/sizer.go @@ -18,14 +18,14 @@ package builder import ( "bytes" "encoding/json" + "errors" "fmt" "regexp" "strconv" - "github.com/arduino/arduino-cli/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" ) // ExecutableSectionSize represents a section of the executable output file diff --git a/arduino/builder/sizer_test.go b/internal/arduino/builder/sizer_test.go similarity index 100% rename from arduino/builder/sizer_test.go rename to internal/arduino/builder/sizer_test.go diff --git a/arduino/builder/sketch.go b/internal/arduino/builder/sketch.go similarity index 92% rename from arduino/builder/sketch.go rename to internal/arduino/builder/sketch.go index 3a7c21f3ded..9331d93f341 100644 --- a/arduino/builder/sketch.go +++ b/internal/arduino/builder/sketch.go @@ -17,19 +17,18 @@ package builder import ( "bytes" + "errors" "fmt" "math" "regexp" "strconv" "strings" - "github.com/arduino/arduino-cli/arduino/builder/cpp" "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/go-paths-helper" "github.com/marcinbor85/gohex" - - "github.com/pkg/errors" ) var ( @@ -42,7 +41,7 @@ var ( // .cpp file still needs to be Arduino-preprocessed to compile). func (b *Builder) prepareSketchBuildPath() error { if err := b.sketchBuildPath.MkdirAll(); err != nil { - return errors.Wrap(err, tr("unable to create a folder to save the sketch")) + return fmt.Errorf("%s: %w", tr("unable to create a folder to save the sketch"), err) } offset, mergedSource, err := b.sketchMergeSources(b.sourceOverrides) @@ -73,7 +72,7 @@ func (b *Builder) sketchMergeSources(overrides map[string]string) (int, string, getSource := func(f *paths.Path) (string, error) { path, err := b.sketch.FullPath.RelTo(f) if err != nil { - return "", errors.Wrap(err, tr("unable to compute relative path to the sketch for the item")) + return "", fmt.Errorf("%s: %w", tr("unable to compute relative path to the sketch for the item"), err) } if override, ok := overrides[path.String()]; ok { return override, nil @@ -117,13 +116,13 @@ func (b *Builder) sketchCopyAdditionalFiles(buildPath *paths.Path, overrides map for _, file := range b.sketch.AdditionalFiles { relpath, err := b.sketch.FullPath.RelTo(file) if err != nil { - return errors.Wrap(err, tr("unable to compute relative path to the sketch for the item")) + return fmt.Errorf("%s: %w", tr("unable to compute relative path to the sketch for the item"), err) } targetPath := buildPath.JoinPath(relpath) // create the directory containing the target if err = targetPath.Parent().MkdirAll(); err != nil { - return errors.Wrap(err, tr("unable to create the folder containing the item")) + return fmt.Errorf("%s: %w", tr("unable to create the folder containing the item"), err) } var sourceBytes []byte @@ -134,7 +133,7 @@ func (b *Builder) sketchCopyAdditionalFiles(buildPath *paths.Path, overrides map // read the source file s, err := file.ReadFile() if err != nil { - return errors.Wrap(err, tr("unable to read contents of the source item")) + return fmt.Errorf("%s: %w", tr("unable to read contents of the source item"), err) } sourceBytes = s } @@ -144,7 +143,7 @@ func (b *Builder) sketchCopyAdditionalFiles(buildPath *paths.Path, overrides map err = writeIfDifferent(sourceBytes, targetPath) if err != nil { - return errors.Wrap(err, tr("unable to write to destination file")) + return fmt.Errorf("%s: %w", tr("unable to write to destination file"), err) } } @@ -161,7 +160,7 @@ func writeIfDifferent(source []byte, destPath *paths.Path) error { // Read the destination file if it exists existingBytes, err := destPath.ReadFile() if err != nil { - return errors.Wrap(err, tr("unable to read contents of the destination item")) + return fmt.Errorf("%s: %w", tr("unable to read contents of the destination item"), err) } // Overwrite if contents are different @@ -178,7 +177,7 @@ func (b *Builder) buildSketch(includesFolders paths.PathList) error { includes := f.Map(includesFolders.AsStrings(), cpp.WrapWithHyphenI) if err := b.sketchBuildPath.MkdirAll(); err != nil { - return errors.WithStack(err) + return err } sketchObjectFiles, err := b.compileFiles( @@ -187,7 +186,7 @@ func (b *Builder) buildSketch(includesFolders paths.PathList) error { includes, ) if err != nil { - return errors.WithStack(err) + return err } // The "src/" subdirectory of a sketch is compiled recursively @@ -199,7 +198,7 @@ func (b *Builder) buildSketch(includesFolders paths.PathList) error { includes, ) if err != nil { - return errors.WithStack(err) + return err } sketchObjectFiles.AddAll(srcObjectFiles) } diff --git a/arduino/builder/sketch_test.go b/internal/arduino/builder/sketch_test.go similarity index 98% rename from arduino/builder/sketch_test.go rename to internal/arduino/builder/sketch_test.go index 1ae684e12ed..208efc468b0 100644 --- a/arduino/builder/sketch_test.go +++ b/internal/arduino/builder/sketch_test.go @@ -21,7 +21,7 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) diff --git a/arduino/builder/testdata/TestCopyAdditionalFiles/TestCopyAdditionalFiles.ino b/internal/arduino/builder/testdata/TestCopyAdditionalFiles/TestCopyAdditionalFiles.ino similarity index 100% rename from arduino/builder/testdata/TestCopyAdditionalFiles/TestCopyAdditionalFiles.ino rename to internal/arduino/builder/testdata/TestCopyAdditionalFiles/TestCopyAdditionalFiles.ino diff --git a/arduino/builder/testdata/TestCopyAdditionalFiles/include/foo.h b/internal/arduino/builder/testdata/TestCopyAdditionalFiles/include/foo.h similarity index 100% rename from arduino/builder/testdata/TestCopyAdditionalFiles/include/foo.h rename to internal/arduino/builder/testdata/TestCopyAdditionalFiles/include/foo.h diff --git a/arduino/builder/testdata/TestLoadSketchCaseMismatch/testloadsketchcasemismatch.ino b/internal/arduino/builder/testdata/TestLoadSketchCaseMismatch/testloadsketchcasemismatch.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchCaseMismatch/testloadsketchcasemismatch.ino rename to internal/arduino/builder/testdata/TestLoadSketchCaseMismatch/testloadsketchcasemismatch.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolder/.#sketch.ino b/internal/arduino/builder/testdata/TestLoadSketchFolder/.#sketch.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/.#sketch.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolder/.#sketch.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolder/TestLoadSketchFolder.ino b/internal/arduino/builder/testdata/TestLoadSketchFolder/TestLoadSketchFolder.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/TestLoadSketchFolder.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolder/TestLoadSketchFolder.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolder/doc.txt b/internal/arduino/builder/testdata/TestLoadSketchFolder/doc.txt similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/doc.txt rename to internal/arduino/builder/testdata/TestLoadSketchFolder/doc.txt diff --git a/arduino/builder/testdata/TestLoadSketchFolder/header.h b/internal/arduino/builder/testdata/TestLoadSketchFolder/header.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/header.h rename to internal/arduino/builder/testdata/TestLoadSketchFolder/header.h diff --git a/arduino/builder/testdata/TestLoadSketchFolder/old.pde b/internal/arduino/builder/testdata/TestLoadSketchFolder/old.pde similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/old.pde rename to internal/arduino/builder/testdata/TestLoadSketchFolder/old.pde diff --git a/arduino/builder/testdata/TestLoadSketchFolder/other.ino b/internal/arduino/builder/testdata/TestLoadSketchFolder/other.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/other.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolder/other.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolder/s_file.S b/internal/arduino/builder/testdata/TestLoadSketchFolder/s_file.S similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/s_file.S rename to internal/arduino/builder/testdata/TestLoadSketchFolder/s_file.S diff --git a/arduino/builder/testdata/TestLoadSketchFolder/src/dont_load_me.ino b/internal/arduino/builder/testdata/TestLoadSketchFolder/src/dont_load_me.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/src/dont_load_me.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolder/src/dont_load_me.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolder/src/helper.h b/internal/arduino/builder/testdata/TestLoadSketchFolder/src/helper.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolder/src/helper.h rename to internal/arduino/builder/testdata/TestLoadSketchFolder/src/helper.h diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/.#sketch.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/.#sketch.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/.#sketch.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/.#sketch.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.pde b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.pde similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.pde rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/TestLoadSketchFolderBothInoAndPde.pde diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/doc.txt b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/doc.txt similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/doc.txt rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/doc.txt diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/header.h b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/header.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/header.h rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/header.h diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/old.pde b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/old.pde similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/old.pde rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/old.pde diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/other.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/other.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/other.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/other.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/s_file.S b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/s_file.S similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/s_file.S rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/s_file.S diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/dont_load_me.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/dont_load_me.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/dont_load_me.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/dont_load_me.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/helper.h b/internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/helper.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/helper.h rename to internal/arduino/builder/testdata/TestLoadSketchFolderBothInoAndPde/src/helper.h diff --git a/arduino/builder/testdata/TestLoadSketchFolderIno/TestLoadSketchFolderIno.ino/TestLoadSketchFolder.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderIno/TestLoadSketchFolderIno.ino/TestLoadSketchFolder.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderIno/TestLoadSketchFolderIno.ino/TestLoadSketchFolder.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderIno/TestLoadSketchFolderIno.ino/TestLoadSketchFolder.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/.#sketch.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/.#sketch.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/.#sketch.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/.#sketch.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/TestLoadSketchFolderPde.pde b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/TestLoadSketchFolderPde.pde similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/TestLoadSketchFolderPde.pde rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/TestLoadSketchFolderPde.pde diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/doc.txt b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/doc.txt similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/doc.txt rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/doc.txt diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/header.h b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/header.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/header.h rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/header.h diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/old.pde b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/old.pde similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/old.pde rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/old.pde diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/other.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/other.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/other.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/other.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/s_file.S b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/s_file.S similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/s_file.S rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/s_file.S diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/src/dont_load_me.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/src/dont_load_me.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/src/dont_load_me.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/src/dont_load_me.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderPde/src/helper.h b/internal/arduino/builder/testdata/TestLoadSketchFolderPde/src/helper.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderPde/src/helper.h rename to internal/arduino/builder/testdata/TestLoadSketchFolderPde/src/helper.h diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/.#sketch.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/.#sketch.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/.#sketch.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/.#sketch.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/TestLoadSketchFolderSymlink.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/TestLoadSketchFolderSymlink.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/TestLoadSketchFolderSymlink.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/TestLoadSketchFolderSymlink.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/doc.txt b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/doc.txt similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/doc.txt rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/doc.txt diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/header.h b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/header.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/header.h rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/header.h diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/old.pde b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/old.pde similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/old.pde rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/old.pde diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/other.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/other.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/other.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/other.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/s_file.S b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/s_file.S similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/s_file.S rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/s_file.S diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/dont_load_me.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/dont_load_me.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/dont_load_me.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/dont_load_me.ino diff --git a/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/helper.h b/internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/helper.h similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/helper.h rename to internal/arduino/builder/testdata/TestLoadSketchFolderSymlinkSrc/src/helper.h diff --git a/arduino/builder/testdata/TestLoadSketchFolderWrongMain/main.ino b/internal/arduino/builder/testdata/TestLoadSketchFolderWrongMain/main.ino similarity index 100% rename from arduino/builder/testdata/TestLoadSketchFolderWrongMain/main.ino rename to internal/arduino/builder/testdata/TestLoadSketchFolderWrongMain/main.ino diff --git a/arduino/builder/testdata/TestMergeSketchSources.txt b/internal/arduino/builder/testdata/TestMergeSketchSources.txt similarity index 100% rename from arduino/builder/testdata/TestMergeSketchSources.txt rename to internal/arduino/builder/testdata/TestMergeSketchSources.txt diff --git a/arduino/builder/testdata/TestMergeSketchSourcesArduinoIncluded/TestMergeSketchSourcesArduinoIncluded.ino b/internal/arduino/builder/testdata/TestMergeSketchSourcesArduinoIncluded/TestMergeSketchSourcesArduinoIncluded.ino similarity index 100% rename from arduino/builder/testdata/TestMergeSketchSourcesArduinoIncluded/TestMergeSketchSourcesArduinoIncluded.ino rename to internal/arduino/builder/testdata/TestMergeSketchSourcesArduinoIncluded/TestMergeSketchSourcesArduinoIncluded.ino diff --git a/arduino/builder/testdata/TestMergeSketchSources_win.txt b/internal/arduino/builder/testdata/TestMergeSketchSources_win.txt similarity index 100% rename from arduino/builder/testdata/TestMergeSketchSources_win.txt rename to internal/arduino/builder/testdata/TestMergeSketchSources_win.txt diff --git a/arduino/builder/testdata/TestSaveSketch.ino b/internal/arduino/builder/testdata/TestSaveSketch.ino similarity index 100% rename from arduino/builder/testdata/TestSaveSketch.ino rename to internal/arduino/builder/testdata/TestSaveSketch.ino diff --git a/arduino/builder/testdata/TestSketchWithIppFile/TestSketchWithIppFile.ino b/internal/arduino/builder/testdata/TestSketchWithIppFile/TestSketchWithIppFile.ino similarity index 100% rename from arduino/builder/testdata/TestSketchWithIppFile/TestSketchWithIppFile.ino rename to internal/arduino/builder/testdata/TestSketchWithIppFile/TestSketchWithIppFile.ino diff --git a/arduino/builder/testdata/TestSketchWithIppFile/template.ipp b/internal/arduino/builder/testdata/TestSketchWithIppFile/template.ipp similarity index 100% rename from arduino/builder/testdata/TestSketchWithIppFile/template.ipp rename to internal/arduino/builder/testdata/TestSketchWithIppFile/template.ipp diff --git a/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/TestSketchWithMarkdownAsciidocJson.ino b/internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/TestSketchWithMarkdownAsciidocJson.ino similarity index 100% rename from arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/TestSketchWithMarkdownAsciidocJson.ino rename to internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/TestSketchWithMarkdownAsciidocJson.ino diff --git a/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.adoc b/internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.adoc similarity index 100% rename from arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.adoc rename to internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.adoc diff --git a/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.json b/internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.json similarity index 100% rename from arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.json rename to internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.json diff --git a/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.md b/internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.md similarity index 100% rename from arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.md rename to internal/arduino/builder/testdata/TestSketchWithMarkdownAsciidocJson/foo.md diff --git a/arduino/builder/testdata/TestSketchWithTppFile/TestSketchWithTppFile.ino b/internal/arduino/builder/testdata/TestSketchWithTppFile/TestSketchWithTppFile.ino similarity index 100% rename from arduino/builder/testdata/TestSketchWithTppFile/TestSketchWithTppFile.ino rename to internal/arduino/builder/testdata/TestSketchWithTppFile/TestSketchWithTppFile.ino diff --git a/arduino/builder/testdata/TestSketchWithTppFile/template.tpp b/internal/arduino/builder/testdata/TestSketchWithTppFile/template.tpp similarity index 100% rename from arduino/builder/testdata/TestSketchWithTppFile/template.tpp rename to internal/arduino/builder/testdata/TestSketchWithTppFile/template.tpp diff --git a/arduino/cores/board.go b/internal/arduino/cores/board.go similarity index 100% rename from arduino/cores/board.go rename to internal/arduino/cores/board.go diff --git a/arduino/cores/board_test.go b/internal/arduino/cores/board_test.go similarity index 100% rename from arduino/cores/board_test.go rename to internal/arduino/cores/board_test.go diff --git a/arduino/cores/cores.go b/internal/arduino/cores/cores.go similarity index 98% rename from arduino/cores/cores.go rename to internal/arduino/cores/cores.go index 96b74f182bb..a9c4cc40bd6 100644 --- a/arduino/cores/cores.go +++ b/internal/arduino/cores/cores.go @@ -25,10 +25,10 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/resources" - "github.com/arduino/arduino-cli/arduino/utils" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" diff --git a/arduino/cores/cores_test.go b/internal/arduino/cores/cores_test.go similarity index 100% rename from arduino/cores/cores_test.go rename to internal/arduino/cores/cores_test.go diff --git a/arduino/cores/fqbn.go b/internal/arduino/cores/fqbn.go similarity index 100% rename from arduino/cores/fqbn.go rename to internal/arduino/cores/fqbn.go diff --git a/arduino/cores/fqbn_test.go b/internal/arduino/cores/fqbn_test.go similarity index 100% rename from arduino/cores/fqbn_test.go rename to internal/arduino/cores/fqbn_test.go diff --git a/arduino/cores/packageindex/index.go b/internal/arduino/cores/packageindex/index.go similarity index 98% rename from arduino/cores/packageindex/index.go rename to internal/arduino/cores/packageindex/index.go index a54776f3bba..49930e3dedd 100644 --- a/arduino/cores/packageindex/index.go +++ b/internal/arduino/cores/packageindex/index.go @@ -19,10 +19,10 @@ import ( "encoding/json" "fmt" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/resources" - "github.com/arduino/arduino-cli/arduino/security" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/security" "github.com/arduino/go-paths-helper" easyjson "github.com/mailru/easyjson" "github.com/sirupsen/logrus" diff --git a/arduino/cores/packageindex/index_easyjson.go b/internal/arduino/cores/packageindex/index_easyjson.go similarity index 83% rename from arduino/cores/packageindex/index_easyjson.go rename to internal/arduino/cores/packageindex/index_easyjson.go index 7f47a9b62e2..e151cf9ede7 100644 --- a/arduino/cores/packageindex/index_easyjson.go +++ b/internal/arduino/cores/packageindex/index_easyjson.go @@ -19,7 +19,7 @@ var ( _ easyjson.Marshaler ) -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex(in *jlexer.Lexer, out *indexToolReleaseFlavour) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex(in *jlexer.Lexer, out *indexToolReleaseFlavour) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -71,7 +71,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex(in in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex(out *jwriter.Writer, in indexToolReleaseFlavour) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex(out *jwriter.Writer, in indexToolReleaseFlavour) { out.RawByte('{') first := true _ = first @@ -106,27 +106,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex(ou // MarshalJSON supports json.Marshaler interface func (v indexToolReleaseFlavour) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexToolReleaseFlavour) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexToolReleaseFlavour) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexToolReleaseFlavour) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(in *jlexer.Lexer, out *indexToolRelease) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex1(in *jlexer.Lexer, out *indexToolRelease) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -232,7 +232,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(out *jwriter.Writer, in indexToolRelease) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex1(out *jwriter.Writer, in indexToolRelease) { out.RawByte('{') first := true _ = first @@ -272,27 +272,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(o // MarshalJSON supports json.Marshaler interface func (v indexToolRelease) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex1(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexToolRelease) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex1(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexToolRelease) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex1(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexToolRelease) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex1(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex1(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(in *jlexer.Lexer, out *indexToolDependency) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex2(in *jlexer.Lexer, out *indexToolDependency) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -356,7 +356,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(out *jwriter.Writer, in indexToolDependency) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex2(out *jwriter.Writer, in indexToolDependency) { out.RawByte('{') first := true _ = first @@ -385,27 +385,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(o // MarshalJSON supports json.Marshaler interface func (v indexToolDependency) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex2(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexToolDependency) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex2(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexToolDependency) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex2(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexToolDependency) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex2(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex2(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(in *jlexer.Lexer, out *indexPlatformRelease) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex3(in *jlexer.Lexer, out *indexPlatformRelease) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -681,7 +681,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(out *jwriter.Writer, in indexPlatformRelease) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex3(out *jwriter.Writer, in indexPlatformRelease) { out.RawByte('{') first := true _ = first @@ -809,27 +809,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(o // MarshalJSON supports json.Marshaler interface func (v indexPlatformRelease) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex3(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexPlatformRelease) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex3(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexPlatformRelease) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex3(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexPlatformRelease) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex3(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex3(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(in *jlexer.Lexer, out *indexPackage) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex4(in *jlexer.Lexer, out *indexPackage) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1009,7 +1009,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(out *jwriter.Writer, in indexPackage) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex4(out *jwriter.Writer, in indexPackage) { out.RawByte('{') first := true _ = first @@ -1089,27 +1089,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(o // MarshalJSON supports json.Marshaler interface func (v indexPackage) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex4(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexPackage) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex4(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexPackage) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex4(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexPackage) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex4(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex4(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(in *jlexer.Lexer, out *indexMonitorDependency) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex5(in *jlexer.Lexer, out *indexMonitorDependency) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1149,7 +1149,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(out *jwriter.Writer, in indexMonitorDependency) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex5(out *jwriter.Writer, in indexMonitorDependency) { out.RawByte('{') first := true _ = first @@ -1169,27 +1169,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(o // MarshalJSON supports json.Marshaler interface func (v indexMonitorDependency) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex5(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexMonitorDependency) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex5(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexMonitorDependency) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex5(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexMonitorDependency) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex5(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex5(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(in *jlexer.Lexer, out *indexHelp) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex6(in *jlexer.Lexer, out *indexHelp) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1225,7 +1225,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(out *jwriter.Writer, in indexHelp) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex6(out *jwriter.Writer, in indexHelp) { out.RawByte('{') first := true _ = first @@ -1241,27 +1241,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(o // MarshalJSON supports json.Marshaler interface func (v indexHelp) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex6(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexHelp) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex6(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexHelp) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex6(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexHelp) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex6(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex6(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(in *jlexer.Lexer, out *indexDiscoveryDependency) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex7(in *jlexer.Lexer, out *indexDiscoveryDependency) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1301,7 +1301,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(out *jwriter.Writer, in indexDiscoveryDependency) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex7(out *jwriter.Writer, in indexDiscoveryDependency) { out.RawByte('{') first := true _ = first @@ -1321,27 +1321,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(o // MarshalJSON supports json.Marshaler interface func (v indexDiscoveryDependency) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex7(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexDiscoveryDependency) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex7(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexDiscoveryDependency) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex7(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexDiscoveryDependency) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex7(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex7(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(in *jlexer.Lexer, out *indexBoardID) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex8(in *jlexer.Lexer, out *indexBoardID) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1377,7 +1377,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(out *jwriter.Writer, in indexBoardID) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex8(out *jwriter.Writer, in indexBoardID) { out.RawByte('{') first := true _ = first @@ -1392,27 +1392,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(o // MarshalJSON supports json.Marshaler interface func (v indexBoardID) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex8(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexBoardID) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex8(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexBoardID) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex8(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexBoardID) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex8(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex8(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(in *jlexer.Lexer, out *indexBoard) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex9(in *jlexer.Lexer, out *indexBoard) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1494,7 +1494,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(i in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(out *jwriter.Writer, in indexBoard) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex9(out *jwriter.Writer, in indexBoard) { out.RawByte('{') first := true _ = first @@ -1523,27 +1523,27 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(o // MarshalJSON supports json.Marshaler interface func (v indexBoard) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex9(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexBoard) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex9(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexBoard) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex9(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexBoard) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex9(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex9(l, v) } -func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex10(in *jlexer.Lexer, out *Index) { +func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex10(in *jlexer.Lexer, out *Index) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -1641,7 +1641,7 @@ func easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex10( in.Consumed() } } -func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex10(out *jwriter.Writer, in Index) { +func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex10(out *jwriter.Writer, in Index) { out.RawByte('{') first := true _ = first @@ -1676,23 +1676,23 @@ func easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex10( // MarshalJSON supports json.Marshaler interface func (v Index) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex10(&w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex10(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v Index) MarshalEasyJSON(w *jwriter.Writer) { - easyjsonE2a549a6EncodeGithubComArduinoArduinoCliArduinoCoresPackageindex10(w, v) + easyjsonE2a549a6EncodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex10(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *Index) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex10(&r, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex10(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *Index) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjsonE2a549a6DecodeGithubComArduinoArduinoCliArduinoCoresPackageindex10(l, v) + easyjsonE2a549a6DecodeGithubComArduinoArduinoCliInternalArduinoCoresPackageindex10(l, v) } diff --git a/arduino/cores/packageindex/index_test.go b/internal/arduino/cores/packageindex/index_test.go similarity index 99% rename from arduino/cores/packageindex/index_test.go rename to internal/arduino/cores/packageindex/index_test.go index 8a2d5474693..cdc38022f21 100644 --- a/arduino/cores/packageindex/index_test.go +++ b/internal/arduino/cores/packageindex/index_test.go @@ -18,8 +18,8 @@ package packageindex import ( "testing" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" semver "go.bug.st/relaxed-semver" diff --git a/arduino/cores/packageindex/testdata/links b/internal/arduino/cores/packageindex/testdata/links similarity index 100% rename from arduino/cores/packageindex/testdata/links rename to internal/arduino/cores/packageindex/testdata/links diff --git a/arduino/cores/packageindex/testdata/package_LowPowerLab_index.json b/internal/arduino/cores/packageindex/testdata/package_LowPowerLab_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_LowPowerLab_index.json rename to internal/arduino/cores/packageindex/testdata/package_LowPowerLab_index.json diff --git a/arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json b/internal/arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json rename to internal/arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json diff --git a/arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json.1 b/internal/arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json.1 similarity index 100% rename from arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json.1 rename to internal/arduino/cores/packageindex/testdata/package_MCUdude_MegaCore_index.json.1 diff --git a/arduino/cores/packageindex/testdata/package_MCUdude_MicroCore_index.json b/internal/arduino/cores/packageindex/testdata/package_MCUdude_MicroCore_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_MCUdude_MicroCore_index.json rename to internal/arduino/cores/packageindex/testdata/package_MCUdude_MicroCore_index.json diff --git a/arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json b/internal/arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json rename to internal/arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json diff --git a/arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json.1 b/internal/arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json.1 similarity index 100% rename from arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json.1 rename to internal/arduino/cores/packageindex/testdata/package_MCUdude_MightyCore_index.json.1 diff --git a/arduino/cores/packageindex/testdata/package_MCUdude_MiniCore_index.json b/internal/arduino/cores/packageindex/testdata/package_MCUdude_MiniCore_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_MCUdude_MiniCore_index.json rename to internal/arduino/cores/packageindex/testdata/package_MCUdude_MiniCore_index.json diff --git a/arduino/cores/packageindex/testdata/package_MattairTech_index.json b/internal/arduino/cores/packageindex/testdata/package_MattairTech_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_MattairTech_index.json rename to internal/arduino/cores/packageindex/testdata/package_MattairTech_index.json diff --git a/arduino/cores/packageindex/testdata/package_NicoHood_HoodLoader2_index.json b/internal/arduino/cores/packageindex/testdata/package_NicoHood_HoodLoader2_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_NicoHood_HoodLoader2_index.json rename to internal/arduino/cores/packageindex/testdata/package_NicoHood_HoodLoader2_index.json diff --git a/arduino/cores/packageindex/testdata/package_XMegaForArduino_index.json b/internal/arduino/cores/packageindex/testdata/package_XMegaForArduino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_XMegaForArduino_index.json rename to internal/arduino/cores/packageindex/testdata/package_XMegaForArduino_index.json diff --git a/arduino/cores/packageindex/testdata/package_Zoubworld_index.json b/internal/arduino/cores/packageindex/testdata/package_Zoubworld_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_Zoubworld_index.json rename to internal/arduino/cores/packageindex/testdata/package_Zoubworld_index.json diff --git a/arduino/cores/packageindex/testdata/package_adafruit_index.json b/internal/arduino/cores/packageindex/testdata/package_adafruit_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_adafruit_index.json rename to internal/arduino/cores/packageindex/testdata/package_adafruit_index.json diff --git a/arduino/cores/packageindex/testdata/package_akafugu_index.json b/internal/arduino/cores/packageindex/testdata/package_akafugu_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_akafugu_index.json rename to internal/arduino/cores/packageindex/testdata/package_akafugu_index.json diff --git a/arduino/cores/packageindex/testdata/package_aloriumtech_index.json b/internal/arduino/cores/packageindex/testdata/package_aloriumtech_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_aloriumtech_index.json rename to internal/arduino/cores/packageindex/testdata/package_aloriumtech_index.json diff --git a/arduino/cores/packageindex/testdata/package_arachnidlabs.com_boards_index.json b/internal/arduino/cores/packageindex/testdata/package_arachnidlabs.com_boards_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_arachnidlabs.com_boards_index.json rename to internal/arduino/cores/packageindex/testdata/package_arachnidlabs.com_boards_index.json diff --git a/arduino/cores/packageindex/testdata/package_ardhat_index.json b/internal/arduino/cores/packageindex/testdata/package_ardhat_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_ardhat_index.json rename to internal/arduino/cores/packageindex/testdata/package_ardhat_index.json diff --git a/arduino/cores/packageindex/testdata/package_arduboy_index.json b/internal/arduino/cores/packageindex/testdata/package_arduboy_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_arduboy_index.json rename to internal/arduino/cores/packageindex/testdata/package_arduboy_index.json diff --git a/arduino/cores/packageindex/testdata/package_arrow_index.json b/internal/arduino/cores/packageindex/testdata/package_arrow_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_arrow_index.json rename to internal/arduino/cores/packageindex/testdata/package_arrow_index.json diff --git a/arduino/cores/packageindex/testdata/package_atflash_index.json b/internal/arduino/cores/packageindex/testdata/package_atflash_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_atflash_index.json rename to internal/arduino/cores/packageindex/testdata/package_atflash_index.json diff --git a/arduino/cores/packageindex/testdata/package_avdweb_nl_index.json b/internal/arduino/cores/packageindex/testdata/package_avdweb_nl_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_avdweb_nl_index.json rename to internal/arduino/cores/packageindex/testdata/package_avdweb_nl_index.json diff --git a/arduino/cores/packageindex/testdata/package_canique_index.json b/internal/arduino/cores/packageindex/testdata/package_canique_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_canique_index.json rename to internal/arduino/cores/packageindex/testdata/package_canique_index.json diff --git a/arduino/cores/packageindex/testdata/package_carlosefr_atmega_index.json b/internal/arduino/cores/packageindex/testdata/package_carlosefr_atmega_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_carlosefr_atmega_index.json rename to internal/arduino/cores/packageindex/testdata/package_carlosefr_atmega_index.json diff --git a/arduino/cores/packageindex/testdata/package_chipkit_index.json b/internal/arduino/cores/packageindex/testdata/package_chipkit_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_chipkit_index.json rename to internal/arduino/cores/packageindex/testdata/package_chipkit_index.json diff --git a/arduino/cores/packageindex/testdata/package_chipkit_index.json.1 b/internal/arduino/cores/packageindex/testdata/package_chipkit_index.json.1 similarity index 100% rename from arduino/cores/packageindex/testdata/package_chipkit_index.json.1 rename to internal/arduino/cores/packageindex/testdata/package_chipkit_index.json.1 diff --git a/arduino/cores/packageindex/testdata/package_clkdiv8_index.json b/internal/arduino/cores/packageindex/testdata/package_clkdiv8_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_clkdiv8_index.json rename to internal/arduino/cores/packageindex/testdata/package_clkdiv8_index.json diff --git a/arduino/cores/packageindex/testdata/package_codebendercc_ariadne-bootloader_index.json b/internal/arduino/cores/packageindex/testdata/package_codebendercc_ariadne-bootloader_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_codebendercc_ariadne-bootloader_index.json rename to internal/arduino/cores/packageindex/testdata/package_codebendercc_ariadne-bootloader_index.json diff --git a/arduino/cores/packageindex/testdata/package_cosa_index.json b/internal/arduino/cores/packageindex/testdata/package_cosa_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_cosa_index.json rename to internal/arduino/cores/packageindex/testdata/package_cosa_index.json diff --git a/arduino/cores/packageindex/testdata/package_cytron_index.json b/internal/arduino/cores/packageindex/testdata/package_cytron_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_cytron_index.json rename to internal/arduino/cores/packageindex/testdata/package_cytron_index.json diff --git a/arduino/cores/packageindex/testdata/package_damellis_attiny_index.json b/internal/arduino/cores/packageindex/testdata/package_damellis_attiny_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_damellis_attiny_index.json rename to internal/arduino/cores/packageindex/testdata/package_damellis_attiny_index.json diff --git a/arduino/cores/packageindex/testdata/package_dfrobot_index.json.invalid b/internal/arduino/cores/packageindex/testdata/package_dfrobot_index.json.invalid similarity index 100% rename from arduino/cores/packageindex/testdata/package_dfrobot_index.json.invalid rename to internal/arduino/cores/packageindex/testdata/package_dfrobot_index.json.invalid diff --git a/arduino/cores/packageindex/testdata/package_dfrobot_iot_mainboard.json.invalid b/internal/arduino/cores/packageindex/testdata/package_dfrobot_iot_mainboard.json.invalid similarity index 100% rename from arduino/cores/packageindex/testdata/package_dfrobot_iot_mainboard.json.invalid rename to internal/arduino/cores/packageindex/testdata/package_dfrobot_iot_mainboard.json.invalid diff --git a/arduino/cores/packageindex/testdata/package_digistump_index.json b/internal/arduino/cores/packageindex/testdata/package_digistump_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_digistump_index.json rename to internal/arduino/cores/packageindex/testdata/package_digistump_index.json diff --git a/arduino/cores/packageindex/testdata/package_drazzy.com_index.json b/internal/arduino/cores/packageindex/testdata/package_drazzy.com_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_drazzy.com_index.json rename to internal/arduino/cores/packageindex/testdata/package_drazzy.com_index.json diff --git a/arduino/cores/packageindex/testdata/package_dwengo.org_dwenguino_index.json b/internal/arduino/cores/packageindex/testdata/package_dwengo.org_dwenguino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_dwengo.org_dwenguino_index.json rename to internal/arduino/cores/packageindex/testdata/package_dwengo.org_dwenguino_index.json diff --git a/arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.5_index.json b/internal/arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.5_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.5_index.json rename to internal/arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.5_index.json diff --git a/arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.6_index.json b/internal/arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.6_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.6_index.json rename to internal/arduino/cores/packageindex/testdata/package_elektor-labs.com_ide-1.6.6_index.json diff --git a/arduino/cores/packageindex/testdata/package_engimusing_modules_index.json b/internal/arduino/cores/packageindex/testdata/package_engimusing_modules_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_engimusing_modules_index.json rename to internal/arduino/cores/packageindex/testdata/package_engimusing_modules_index.json diff --git a/arduino/cores/packageindex/testdata/package_esp32_index.json b/internal/arduino/cores/packageindex/testdata/package_esp32_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_esp32_index.json rename to internal/arduino/cores/packageindex/testdata/package_esp32_index.json diff --git a/arduino/cores/packageindex/testdata/package_esp32_index.json.1 b/internal/arduino/cores/packageindex/testdata/package_esp32_index.json.1 similarity index 100% rename from arduino/cores/packageindex/testdata/package_esp32_index.json.1 rename to internal/arduino/cores/packageindex/testdata/package_esp32_index.json.1 diff --git a/arduino/cores/packageindex/testdata/package_esp32_index.json.2 b/internal/arduino/cores/packageindex/testdata/package_esp32_index.json.2 similarity index 100% rename from arduino/cores/packageindex/testdata/package_esp32_index.json.2 rename to internal/arduino/cores/packageindex/testdata/package_esp32_index.json.2 diff --git a/arduino/cores/packageindex/testdata/package_esp8266com_index.json b/internal/arduino/cores/packageindex/testdata/package_esp8266com_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_esp8266com_index.json rename to internal/arduino/cores/packageindex/testdata/package_esp8266com_index.json diff --git a/arduino/cores/packageindex/testdata/package_femtocow_attiny_index.json b/internal/arduino/cores/packageindex/testdata/package_femtocow_attiny_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_femtocow_attiny_index.json rename to internal/arduino/cores/packageindex/testdata/package_femtocow_attiny_index.json diff --git a/arduino/cores/packageindex/testdata/package_ftduino_index.json b/internal/arduino/cores/packageindex/testdata/package_ftduino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_ftduino_index.json rename to internal/arduino/cores/packageindex/testdata/package_ftduino_index.json diff --git a/arduino/cores/packageindex/testdata/package_goldilocks_index.json b/internal/arduino/cores/packageindex/testdata/package_goldilocks_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_goldilocks_index.json rename to internal/arduino/cores/packageindex/testdata/package_goldilocks_index.json diff --git a/arduino/cores/packageindex/testdata/package_hidnseek_boot_index.json b/internal/arduino/cores/packageindex/testdata/package_hidnseek_boot_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_hidnseek_boot_index.json rename to internal/arduino/cores/packageindex/testdata/package_hidnseek_boot_index.json diff --git a/arduino/cores/packageindex/testdata/package_infineon_index.json b/internal/arduino/cores/packageindex/testdata/package_infineon_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_infineon_index.json rename to internal/arduino/cores/packageindex/testdata/package_infineon_index.json diff --git a/arduino/cores/packageindex/testdata/package_intorobot_index.json b/internal/arduino/cores/packageindex/testdata/package_intorobot_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_intorobot_index.json rename to internal/arduino/cores/packageindex/testdata/package_intorobot_index.json diff --git a/arduino/cores/packageindex/testdata/package_iot2000_index.json b/internal/arduino/cores/packageindex/testdata/package_iot2000_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_iot2000_index.json rename to internal/arduino/cores/packageindex/testdata/package_iot2000_index.json diff --git a/arduino/cores/packageindex/testdata/package_iotcore_ide-1.6.6_index.json b/internal/arduino/cores/packageindex/testdata/package_iotcore_ide-1.6.6_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_iotcore_ide-1.6.6_index.json rename to internal/arduino/cores/packageindex/testdata/package_iotcore_ide-1.6.6_index.json diff --git a/arduino/cores/packageindex/testdata/package_ioteam_index.json b/internal/arduino/cores/packageindex/testdata/package_ioteam_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_ioteam_index.json rename to internal/arduino/cores/packageindex/testdata/package_ioteam_index.json diff --git a/arduino/cores/packageindex/testdata/package_iteaduino_lite_index.json b/internal/arduino/cores/packageindex/testdata/package_iteaduino_lite_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_iteaduino_lite_index.json rename to internal/arduino/cores/packageindex/testdata/package_iteaduino_lite_index.json diff --git a/arduino/cores/packageindex/testdata/package_konekt_index.json b/internal/arduino/cores/packageindex/testdata/package_konekt_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_konekt_index.json rename to internal/arduino/cores/packageindex/testdata/package_konekt_index.json diff --git a/arduino/cores/packageindex/testdata/package_lattuino_index.json b/internal/arduino/cores/packageindex/testdata/package_lattuino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_lattuino_index.json rename to internal/arduino/cores/packageindex/testdata/package_lattuino_index.json diff --git a/arduino/cores/packageindex/testdata/package_lauszus_sanguino_index.json b/internal/arduino/cores/packageindex/testdata/package_lauszus_sanguino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_lauszus_sanguino_index.json rename to internal/arduino/cores/packageindex/testdata/package_lauszus_sanguino_index.json diff --git a/arduino/cores/packageindex/testdata/package_leonardomiliani.com_index.json b/internal/arduino/cores/packageindex/testdata/package_leonardomiliani.com_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_leonardomiliani.com_index.json rename to internal/arduino/cores/packageindex/testdata/package_leonardomiliani.com_index.json diff --git a/arduino/cores/packageindex/testdata/package_macchina_index.json b/internal/arduino/cores/packageindex/testdata/package_macchina_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_macchina_index.json rename to internal/arduino/cores/packageindex/testdata/package_macchina_index.json diff --git a/arduino/cores/packageindex/testdata/package_maxim_index.json b/internal/arduino/cores/packageindex/testdata/package_maxim_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_maxim_index.json rename to internal/arduino/cores/packageindex/testdata/package_maxim_index.json diff --git a/arduino/cores/packageindex/testdata/package_mkr1000_index.json b/internal/arduino/cores/packageindex/testdata/package_mkr1000_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_mkr1000_index.json rename to internal/arduino/cores/packageindex/testdata/package_mkr1000_index.json diff --git a/arduino/cores/packageindex/testdata/package_mtk_linkit_index.json b/internal/arduino/cores/packageindex/testdata/package_mtk_linkit_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_mtk_linkit_index.json rename to internal/arduino/cores/packageindex/testdata/package_mtk_linkit_index.json diff --git a/arduino/cores/packageindex/testdata/package_mtk_linkit_smart_7688_index.json b/internal/arduino/cores/packageindex/testdata/package_mtk_linkit_smart_7688_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_mtk_linkit_smart_7688_index.json rename to internal/arduino/cores/packageindex/testdata/package_mtk_linkit_smart_7688_index.json diff --git a/arduino/cores/packageindex/testdata/package_nRF5_boards_index.json b/internal/arduino/cores/packageindex/testdata/package_nRF5_boards_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_nRF5_boards_index.json rename to internal/arduino/cores/packageindex/testdata/package_nRF5_boards_index.json diff --git a/arduino/cores/packageindex/testdata/package_navspark_index.json b/internal/arduino/cores/packageindex/testdata/package_navspark_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_navspark_index.json rename to internal/arduino/cores/packageindex/testdata/package_navspark_index.json diff --git a/arduino/cores/packageindex/testdata/package_olimex_avr_index.json b/internal/arduino/cores/packageindex/testdata/package_olimex_avr_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_olimex_avr_index.json rename to internal/arduino/cores/packageindex/testdata/package_olimex_avr_index.json diff --git a/arduino/cores/packageindex/testdata/package_olimex_pic_index.json b/internal/arduino/cores/packageindex/testdata/package_olimex_pic_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_olimex_pic_index.json rename to internal/arduino/cores/packageindex/testdata/package_olimex_pic_index.json diff --git a/arduino/cores/packageindex/testdata/package_olimex_stm_index.json b/internal/arduino/cores/packageindex/testdata/package_olimex_stm_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_olimex_stm_index.json rename to internal/arduino/cores/packageindex/testdata/package_olimex_stm_index.json diff --git a/arduino/cores/packageindex/testdata/package_omc_index.json b/internal/arduino/cores/packageindex/testdata/package_omc_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_omc_index.json rename to internal/arduino/cores/packageindex/testdata/package_omc_index.json diff --git a/arduino/cores/packageindex/testdata/package_openpanzer_index.json b/internal/arduino/cores/packageindex/testdata/package_openpanzer_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_openpanzer_index.json rename to internal/arduino/cores/packageindex/testdata/package_openpanzer_index.json diff --git a/arduino/cores/packageindex/testdata/package_opentracker_index.json b/internal/arduino/cores/packageindex/testdata/package_opentracker_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_opentracker_index.json rename to internal/arduino/cores/packageindex/testdata/package_opentracker_index.json diff --git a/arduino/cores/packageindex/testdata/package_oshlab_breadboard_index.json b/internal/arduino/cores/packageindex/testdata/package_oshlab_breadboard_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_oshlab_breadboard_index.json rename to internal/arduino/cores/packageindex/testdata/package_oshlab_breadboard_index.json diff --git a/arduino/cores/packageindex/testdata/package_panstamp_index.json b/internal/arduino/cores/packageindex/testdata/package_panstamp_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_panstamp_index.json rename to internal/arduino/cores/packageindex/testdata/package_panstamp_index.json diff --git a/arduino/cores/packageindex/testdata/package_per1234_wirino_index.json b/internal/arduino/cores/packageindex/testdata/package_per1234_wirino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_per1234_wirino_index.json rename to internal/arduino/cores/packageindex/testdata/package_per1234_wirino_index.json diff --git a/arduino/cores/packageindex/testdata/package_project_laika.com_index.json b/internal/arduino/cores/packageindex/testdata/package_project_laika.com_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_project_laika.com_index.json rename to internal/arduino/cores/packageindex/testdata/package_project_laika.com_index.json diff --git a/arduino/cores/packageindex/testdata/package_quirkbot.com_index.json b/internal/arduino/cores/packageindex/testdata/package_quirkbot.com_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_quirkbot.com_index.json rename to internal/arduino/cores/packageindex/testdata/package_quirkbot.com_index.json diff --git a/arduino/cores/packageindex/testdata/package_radino_radino32_index.json b/internal/arduino/cores/packageindex/testdata/package_radino_radino32_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_radino_radino32_index.json rename to internal/arduino/cores/packageindex/testdata/package_radino_radino32_index.json diff --git a/arduino/cores/packageindex/testdata/package_realtek.com_ameba_index.json b/internal/arduino/cores/packageindex/testdata/package_realtek.com_ameba_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_realtek.com_ameba_index.json rename to internal/arduino/cores/packageindex/testdata/package_realtek.com_ameba_index.json diff --git a/arduino/cores/packageindex/testdata/package_redbear_index.json.tobefixed b/internal/arduino/cores/packageindex/testdata/package_redbear_index.json.tobefixed similarity index 100% rename from arduino/cores/packageindex/testdata/package_redbear_index.json.tobefixed rename to internal/arduino/cores/packageindex/testdata/package_redbear_index.json.tobefixed diff --git a/arduino/cores/packageindex/testdata/package_redbearlab_index.json b/internal/arduino/cores/packageindex/testdata/package_redbearlab_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_redbearlab_index.json rename to internal/arduino/cores/packageindex/testdata/package_redbearlab_index.json diff --git a/arduino/cores/packageindex/testdata/package_rfduino_index.json b/internal/arduino/cores/packageindex/testdata/package_rfduino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_rfduino_index.json rename to internal/arduino/cores/packageindex/testdata/package_rfduino_index.json diff --git a/arduino/cores/packageindex/testdata/package_rig_index.json b/internal/arduino/cores/packageindex/testdata/package_rig_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_rig_index.json rename to internal/arduino/cores/packageindex/testdata/package_rig_index.json diff --git a/arduino/cores/packageindex/testdata/package_rnc_index.json b/internal/arduino/cores/packageindex/testdata/package_rnc_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_rnc_index.json rename to internal/arduino/cores/packageindex/testdata/package_rnc_index.json diff --git a/arduino/cores/packageindex/testdata/package_seeeduino_index.json b/internal/arduino/cores/packageindex/testdata/package_seeeduino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_seeeduino_index.json rename to internal/arduino/cores/packageindex/testdata/package_seeeduino_index.json diff --git a/arduino/cores/packageindex/testdata/package_simba_avr_index.json b/internal/arduino/cores/packageindex/testdata/package_simba_avr_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_simba_avr_index.json rename to internal/arduino/cores/packageindex/testdata/package_simba_avr_index.json diff --git a/arduino/cores/packageindex/testdata/package_simba_esp_index.json b/internal/arduino/cores/packageindex/testdata/package_simba_esp_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_simba_esp_index.json rename to internal/arduino/cores/packageindex/testdata/package_simba_esp_index.json diff --git a/arduino/cores/packageindex/testdata/package_simba_sam_index.json b/internal/arduino/cores/packageindex/testdata/package_simba_sam_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_simba_sam_index.json rename to internal/arduino/cores/packageindex/testdata/package_simba_sam_index.json diff --git a/arduino/cores/packageindex/testdata/package_sodaq_index.json b/internal/arduino/cores/packageindex/testdata/package_sodaq_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_sodaq_index.json rename to internal/arduino/cores/packageindex/testdata/package_sodaq_index.json diff --git a/arduino/cores/packageindex/testdata/package_sodaq_samd_index.json b/internal/arduino/cores/packageindex/testdata/package_sodaq_samd_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_sodaq_samd_index.json rename to internal/arduino/cores/packageindex/testdata/package_sodaq_samd_index.json diff --git a/arduino/cores/packageindex/testdata/package_sparkfun_index.json b/internal/arduino/cores/packageindex/testdata/package_sparkfun_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_sparkfun_index.json rename to internal/arduino/cores/packageindex/testdata/package_sparkfun_index.json diff --git a/arduino/cores/packageindex/testdata/package_stm_index.json b/internal/arduino/cores/packageindex/testdata/package_stm_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_stm_index.json rename to internal/arduino/cores/packageindex/testdata/package_stm_index.json diff --git a/arduino/cores/packageindex/testdata/package_talk2.wisen.com_index.json b/internal/arduino/cores/packageindex/testdata/package_talk2.wisen.com_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_talk2.wisen.com_index.json rename to internal/arduino/cores/packageindex/testdata/package_talk2.wisen.com_index.json diff --git a/arduino/cores/packageindex/testdata/package_thomasonw_ATmegaxxM1-C1_index.json b/internal/arduino/cores/packageindex/testdata/package_thomasonw_ATmegaxxM1-C1_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_thomasonw_ATmegaxxM1-C1_index.json rename to internal/arduino/cores/packageindex/testdata/package_thomasonw_ATmegaxxM1-C1_index.json diff --git a/arduino/cores/packageindex/testdata/package_tkj_balanduino_index.json b/internal/arduino/cores/packageindex/testdata/package_tkj_balanduino_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_tkj_balanduino_index.json rename to internal/arduino/cores/packageindex/testdata/package_tkj_balanduino_index.json diff --git a/arduino/cores/packageindex/testdata/package_tl7788_index.json b/internal/arduino/cores/packageindex/testdata/package_tl7788_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_tl7788_index.json rename to internal/arduino/cores/packageindex/testdata/package_tl7788_index.json diff --git a/arduino/cores/packageindex/testdata/package_udoo_index.json b/internal/arduino/cores/packageindex/testdata/package_udoo_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_udoo_index.json rename to internal/arduino/cores/packageindex/testdata/package_udoo_index.json diff --git a/arduino/cores/packageindex/testdata/package_zevero_avr_boot_index.json b/internal/arduino/cores/packageindex/testdata/package_zevero_avr_boot_index.json similarity index 100% rename from arduino/cores/packageindex/testdata/package_zevero_avr_boot_index.json rename to internal/arduino/cores/packageindex/testdata/package_zevero_avr_boot_index.json diff --git a/arduino/cores/packagemanager/download.go b/internal/arduino/cores/packagemanager/download.go similarity index 95% rename from arduino/cores/packagemanager/download.go rename to internal/arduino/cores/packagemanager/download.go index 43d13c11ea0..c4a7cb62d59 100644 --- a/arduino/cores/packagemanager/download.go +++ b/internal/arduino/cores/packagemanager/download.go @@ -16,12 +16,12 @@ package packagemanager import ( + "errors" "fmt" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/cores" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/pkg/errors" "go.bug.st/downloader/v2" semver "go.bug.st/relaxed-semver" ) @@ -123,7 +123,7 @@ func (pme *Explorer) FindPlatformReleaseDependencies(item *PlatformReference) (* func (pme *Explorer) DownloadToolRelease(tool *cores.ToolRelease, config *downloader.Config, progressCB rpc.DownloadProgressCB) error { resource := tool.GetCompatibleFlavour() if resource == nil { - return &arduino.FailedDownloadError{ + return &cmderrors.FailedDownloadError{ Message: tr("Error downloading tool %s", tool), Cause: errors.New(tr("no versions available for the current OS, try contacting %s", tool.Tool.Package.Email))} } @@ -134,7 +134,7 @@ func (pme *Explorer) DownloadToolRelease(tool *cores.ToolRelease, config *downlo // nil Downloader is returned. func (pme *Explorer) DownloadPlatformRelease(platform *cores.PlatformRelease, config *downloader.Config, progressCB rpc.DownloadProgressCB) error { if platform.Resource == nil { - return &arduino.PlatformNotFoundError{Platform: platform.String()} + return &cmderrors.PlatformNotFoundError{Platform: platform.String()} } return platform.Resource.Download(pme.DownloadDir, config, platform.String(), progressCB, "") } diff --git a/arduino/cores/packagemanager/identify.go b/internal/arduino/cores/packagemanager/identify.go similarity index 96% rename from arduino/cores/packagemanager/identify.go rename to internal/arduino/cores/packagemanager/identify.go index 22d8382cd67..6b84495dc58 100644 --- a/arduino/cores/packagemanager/identify.go +++ b/internal/arduino/cores/packagemanager/identify.go @@ -16,7 +16,7 @@ package packagemanager import ( - "github.com/arduino/arduino-cli/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores" properties "github.com/arduino/go-properties-orderedmap" ) diff --git a/arduino/cores/packagemanager/install_uninstall.go b/internal/arduino/cores/packagemanager/install_uninstall.go similarity index 90% rename from arduino/cores/packagemanager/install_uninstall.go rename to internal/arduino/cores/packagemanager/install_uninstall.go index 2ea4adc9304..bc29f08fa43 100644 --- a/arduino/cores/packagemanager/install_uninstall.go +++ b/internal/arduino/cores/packagemanager/install_uninstall.go @@ -18,15 +18,15 @@ package packagemanager import ( "bytes" "encoding/json" + "errors" "fmt" "runtime" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packageindex" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" ) // DownloadAndInstallPlatformUpgrades runs a full installation process to upgrade the given platform. @@ -40,27 +40,27 @@ func (pme *Explorer) DownloadAndInstallPlatformUpgrades( skipPreUninstall bool, ) (*cores.PlatformRelease, error) { if platformRef.PlatformVersion != nil { - return nil, &arduino.InvalidArgumentError{Message: tr("Upgrade doesn't accept parameters with version")} + return nil, &cmderrors.InvalidArgumentError{Message: tr("Upgrade doesn't accept parameters with version")} } // Search the latest version for all specified platforms platform := pme.FindPlatform(platformRef) if platform == nil { - return nil, &arduino.PlatformNotFoundError{Platform: platformRef.String()} + return nil, &cmderrors.PlatformNotFoundError{Platform: platformRef.String()} } installed := pme.GetInstalledPlatformRelease(platform) if installed == nil { - return nil, &arduino.PlatformNotFoundError{Platform: platformRef.String()} + return nil, &cmderrors.PlatformNotFoundError{Platform: platformRef.String()} } latest := platform.GetLatestCompatibleRelease() if !latest.Version.GreaterThan(installed.Version) { - return installed, &arduino.PlatformAlreadyAtTheLatestVersionError{Platform: platformRef.String()} + return installed, &cmderrors.PlatformAlreadyAtTheLatestVersionError{Platform: platformRef.String()} } platformRef.PlatformVersion = latest.Version platformRelease, tools, err := pme.FindPlatformReleaseDependencies(platformRef) if err != nil { - return nil, &arduino.PlatformNotFoundError{Platform: platformRef.String()} + return nil, &cmderrors.PlatformNotFoundError{Platform: platformRef.String()} } if err := pme.DownloadAndInstallPlatformAndTools(platformRelease, tools, downloadCB, taskCB, skipPostInstall, skipPreUninstall); err != nil { return nil, err @@ -130,14 +130,14 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( var err error _, installedTools, err = pme.FindPlatformReleaseDependencies(platformRef) if err != nil { - return &arduino.NotFoundError{Message: tr("Can't find dependencies for platform %s", platformRef), Cause: err} + return &cmderrors.NotFoundError{Message: tr("Can't find dependencies for platform %s", platformRef), Cause: err} } } // Install if err := pme.InstallPlatform(platformRelease); err != nil { log.WithError(err).Error("Cannot install platform") - return &arduino.FailedInstallError{Message: tr("Cannot install platform"), Cause: err} + return &cmderrors.FailedInstallError{Message: tr("Cannot install platform"), Cause: err} } // If upgrading remove previous release @@ -155,7 +155,7 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( taskCB(&rpc.TaskProgress{Message: tr("Error rolling-back changes: %s", err)}) } - return &arduino.FailedInstallError{Message: tr("Cannot upgrade platform"), Cause: uninstallErr} + return &cmderrors.FailedInstallError{Message: tr("Cannot upgrade platform"), Cause: uninstallErr} } // Uninstall unused tools @@ -205,7 +205,7 @@ func (pme *Explorer) InstallPlatform(platformRelease *cores.PlatformRelease) err // InstallPlatformInDirectory installs a specific release of a platform in a specific directory. func (pme *Explorer) InstallPlatformInDirectory(platformRelease *cores.PlatformRelease, destDir *paths.Path) error { if err := platformRelease.Resource.Install(pme.DownloadDir, pme.tempDir, destDir); err != nil { - return errors.Errorf(tr("installing platform %[1]s: %[2]s"), platformRelease, err) + return errors.New(tr("installing platform %[1]s: %[2]s", platformRelease, err)) } if d, err := destDir.Abs(); err == nil { platformRelease.InstallDir = d @@ -213,7 +213,7 @@ func (pme *Explorer) InstallPlatformInDirectory(platformRelease *cores.PlatformR return err } if err := pme.cacheInstalledJSON(platformRelease); err != nil { - return errors.Errorf(tr("creating installed.json in %[1]s: %[2]s"), platformRelease.InstallDir, err) + return errors.New(tr("creating installed.json in %[1]s: %[2]s", platformRelease.InstallDir, err)) } return nil } @@ -279,14 +279,14 @@ func (pme *Explorer) UninstallPlatform(platformRelease *cores.PlatformRelease, t if platformRelease.InstallDir == nil { err := fmt.Errorf(tr("platform not installed")) log.WithError(err).Error("Error uninstalling") - return &arduino.FailedUninstallError{Message: err.Error()} + return &cmderrors.FailedUninstallError{Message: err.Error()} } // Safety measure if !pme.IsManagedPlatformRelease(platformRelease) { err := fmt.Errorf(tr("%s is not managed by package manager"), platformRelease) log.WithError(err).Error("Error uninstalling") - return &arduino.FailedUninstallError{Message: err.Error()} + return &cmderrors.FailedUninstallError{Message: err.Error()} } if !skipPreUninstall { @@ -306,7 +306,7 @@ func (pme *Explorer) UninstallPlatform(platformRelease *cores.PlatformRelease, t if err := platformRelease.InstallDir.RemoveAll(); err != nil { err = fmt.Errorf(tr("removing platform files: %s"), err) log.WithError(err).Error("Error uninstalling") - return &arduino.FailedUninstallError{Message: err.Error()} + return &cmderrors.FailedUninstallError{Message: err.Error()} } platformRelease.InstallDir = nil @@ -342,7 +342,7 @@ func (pme *Explorer) InstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Task err := toolResource.Install(pme.DownloadDir, pme.tempDir, destDir) if err != nil { log.WithError(err).Warn("Cannot install tool") - return &arduino.FailedInstallError{Message: tr("Cannot install tool %s", toolRelease), Cause: err} + return &cmderrors.FailedInstallError{Message: tr("Cannot install tool %s", toolRelease), Cause: err} } if d, err := destDir.Abs(); err == nil { toolRelease.InstallDir = d @@ -397,7 +397,7 @@ func (pme *Explorer) UninstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Ta // Safety measure if !pme.IsManagedToolRelease(toolRelease) { - err := &arduino.FailedUninstallError{Message: tr("tool %s is not managed by package manager", toolRelease)} + err := &cmderrors.FailedUninstallError{Message: tr("tool %s is not managed by package manager", toolRelease)} log.WithError(err).Error("Error uninstalling") return err } @@ -417,7 +417,7 @@ func (pme *Explorer) UninstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Ta } if err := toolRelease.InstallDir.RemoveAll(); err != nil { - err = &arduino.FailedUninstallError{Message: err.Error()} + err = &cmderrors.FailedUninstallError{Message: err.Error()} log.WithError(err).Error("Error uninstalling") return err } diff --git a/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go similarity index 98% rename from arduino/cores/packagemanager/loader.go rename to internal/arduino/cores/packagemanager/loader.go index 8d5cfe76da0..282e07afc60 100644 --- a/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -16,6 +16,7 @@ package packagemanager import ( + "errors" "fmt" "os" "path/filepath" @@ -23,13 +24,12 @@ import ( "strconv" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/discovery" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/discovery" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" semver "go.bug.st/relaxed-semver" ) @@ -200,7 +200,7 @@ func (pm *Builder) loadPlatform(targetPackage *cores.Package, architecture strin versionString := platformProperties.ExpandPropsInString(platformProperties.Get("version")) version, err := semver.Parse(versionString) if err != nil { - return &arduino.InvalidVersionError{Cause: fmt.Errorf("%s: %s", platformTxtPath, err)} + return &cmderrors.InvalidVersionError{Cause: fmt.Errorf("%s: %s", platformTxtPath, err)} } // Check if package_bundled_index.json exists. diff --git a/arduino/cores/packagemanager/loader_test.go b/internal/arduino/cores/packagemanager/loader_test.go similarity index 100% rename from arduino/cores/packagemanager/loader_test.go rename to internal/arduino/cores/packagemanager/loader_test.go diff --git a/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go similarity index 98% rename from arduino/cores/packagemanager/package_manager.go rename to internal/arduino/cores/packagemanager/package_manager.go index 1f2b380e08a..4daf8984f30 100644 --- a/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -16,6 +16,7 @@ package packagemanager import ( + "errors" "fmt" "net/url" "os" @@ -26,16 +27,15 @@ import ( "sync" "time" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/cores/packageindex" - "github.com/arduino/arduino-cli/arduino/discovery/discoverymanager" - "github.com/arduino/arduino-cli/arduino/sketch" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" + "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" + "github.com/arduino/arduino-cli/internal/arduino/sketch" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" "github.com/arduino/go-timeutils" - "github.com/pkg/errors" "github.com/sirupsen/logrus" semver "go.bug.st/relaxed-semver" ) @@ -478,7 +478,7 @@ func (pme *Explorer) determineReferencedPlatformRelease(boardBuildProperties *pr func (pmb *Builder) LoadPackageIndex(URL *url.URL) error { indexFileName := path.Base(URL.Path) if indexFileName == "." || indexFileName == "" { - return &arduino.InvalidURLError{Cause: errors.New(URL.String())} + return &cmderrors.InvalidURLError{Cause: errors.New(URL.String())} } if strings.HasSuffix(indexFileName, ".tar.bz2") { indexFileName = strings.TrimSuffix(indexFileName, ".tar.bz2") + ".json" diff --git a/arduino/cores/packagemanager/package_manager_test.go b/internal/arduino/cores/packagemanager/package_manager_test.go similarity index 99% rename from arduino/cores/packagemanager/package_manager_test.go rename to internal/arduino/cores/packagemanager/package_manager_test.go index 8a5fc877850..055a6d332d0 100644 --- a/arduino/cores/packagemanager/package_manager_test.go +++ b/internal/arduino/cores/packagemanager/package_manager_test.go @@ -23,8 +23,8 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" diff --git a/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go similarity index 85% rename from arduino/cores/packagemanager/profiles.go rename to internal/arduino/cores/packagemanager/profiles.go index a8f12789521..7a6710b380d 100644 --- a/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -19,12 +19,12 @@ import ( "fmt" "net/url" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/resources" - "github.com/arduino/arduino-cli/arduino/sketch" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -104,16 +104,16 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla for _, indexURL := range indexesToDownload { if err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading %s", indexURL)}) - return &arduino.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} + return &cmderrors.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} } indexResource := resources.IndexResource{URL: indexURL} if err := indexResource.Download(tmpPmb.IndexDir, downloadCB); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading %s", indexURL)}) - return &arduino.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} + return &cmderrors.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} } if err := tmpPmb.LoadPackageIndex(indexURL); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error loading index %s", indexURL)}) - return &arduino.FailedInstallError{Message: tr("Error loading index %s", indexURL), Cause: err} + return &cmderrors.FailedInstallError{Message: tr("Error loading index %s", indexURL), Cause: err} } } @@ -127,7 +127,7 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla if err := tmpPme.DownloadPlatformRelease(tmpPlatformRelease, nil, downloadCB); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading platform %s", tmpPlatformRelease)}) - return &arduino.FailedInstallError{Message: tr("Error downloading platform %s", tmpPlatformRelease), Cause: err} + return &cmderrors.FailedInstallError{Message: tr("Error downloading platform %s", tmpPlatformRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) @@ -135,7 +135,7 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla taskCB(&rpc.TaskProgress{Name: tr("Installing platform %s", tmpPlatformRelease)}) if err := tmpPme.InstallPlatformInDirectory(tmpPlatformRelease, destDir); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error installing platform %s", tmpPlatformRelease)}) - return &arduino.FailedInstallError{Message: tr("Error installing platform %s", tmpPlatformRelease), Cause: err} + return &cmderrors.FailedInstallError{Message: tr("Error installing platform %s", tmpPlatformRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) return nil @@ -152,7 +152,7 @@ func (pmb *Builder) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url // Try installing the missing tool toolRelease := tool.GetOrCreateRelease(toolRef.ToolVersion) if toolRelease == nil { - return &arduino.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not found", toolRef.ToolVersion))} + return &cmderrors.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not found", toolRef.ToolVersion))} } if err := pmb.installMissingProfileTool(toolRelease, destDir, downloadCB, taskCB); err != nil { return err @@ -173,12 +173,12 @@ func (pmb *Builder) installMissingProfileTool(toolRelease *cores.ToolRelease, de // Download the tool toolResource := toolRelease.GetCompatibleFlavour() if toolResource == nil { - return &arduino.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not available for this operating system", toolRelease))} + return &cmderrors.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not available for this operating system", toolRelease))} } taskCB(&rpc.TaskProgress{Name: tr("Downloading tool %s", toolRelease)}) if err := toolResource.Download(pmb.DownloadDir, nil, toolRelease.String(), downloadCB, ""); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading tool %s", toolRelease)}) - return &arduino.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} + return &cmderrors.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) @@ -186,7 +186,7 @@ func (pmb *Builder) installMissingProfileTool(toolRelease *cores.ToolRelease, de taskCB(&rpc.TaskProgress{Name: tr("Installing tool %s", toolRelease)}) if err := toolResource.Install(pmb.DownloadDir, tmp, destDir); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error installing tool %s", toolRelease)}) - return &arduino.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} + return &cmderrors.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) return nil diff --git a/arduino/cores/packagemanager/testdata/.gitignore b/internal/arduino/cores/packagemanager/testdata/.gitignore similarity index 100% rename from arduino/cores/packagemanager/testdata/.gitignore rename to internal/arduino/cores/packagemanager/testdata/.gitignore diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/arduino/avr/boards.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/arduino/avr/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/arduino/avr/boards.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/arduino/avr/boards.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/boards.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/boards.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/boards.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/platform.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/platform.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/platform.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/arduino/sam/platform.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/esp8266/esp8266/boards.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/esp8266/esp8266/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/esp8266/esp8266/boards.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/esp8266/esp8266/boards.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/boards.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/boards.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/boards.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/bootloaders/stk500v2/stk500boot_v2_mega2560.hex diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.cpp b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.cpp similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.cpp rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.cpp diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.h b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.h similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.h rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/SPI.h diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/BarometricPressureSensor/BarometricPressureSensor.ino diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/examples/DigitalPotControl/DigitalPotControl.ino diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/keywords.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/keywords.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/keywords.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/keywords.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/library.properties b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/library.properties similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/library.properties rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/libraries/SPI/library.properties diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/platform.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/platform.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/platform.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/my_avr_platform/avr/platform.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/test/avr/boards.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/test/avr/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/test/avr/boards.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/test/avr/boards.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/boards.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/boards.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/boards.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/platform.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/platform.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/platform.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/platform.txt diff --git a/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/programmers.txt b/internal/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/programmers.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/programmers.txt rename to internal/arduino/cores/packagemanager/testdata/custom_hardware/watterott/avr/programmers.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/package_adafruit_index.json b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_adafruit_index.json similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/package_adafruit_index.json rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/package_adafruit_index.json diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/package_esp32_index.json b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_esp32_index.json similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/package_esp32_index.json rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/package_esp32_index.json diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/package_esp8266com_index.json b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_esp8266com_index.json similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/package_esp8266com_index.json rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/package_esp8266com_index.json diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/package_test_index.json b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_test_index.json similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/package_test_index.json rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/package_test_index.json diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/boards.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/boards.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/boards.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/keywords.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/keywords.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/keywords.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/keywords.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/platform.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/platform.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/platform.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/platform.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/programmers.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/programmers.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/programmers.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/adafruit/hardware/samd/1.5.3/programmers.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/boards.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/boards.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/boards.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/platform.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/platform.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/platform.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/platform.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/programmers.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/programmers.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/programmers.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/hardware/avr/1.8.3/programmers.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS-Atmel/1.2.0/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS-Atmel/1.2.0/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS-Atmel/1.2.0/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS-Atmel/1.2.0/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS/4.5.0/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS/4.5.0/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS/4.5.0/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/CMSIS/4.5.0/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.7.0/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.7.0/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.7.0/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.7.0/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.8.0-48-gb176eee/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.8.0-48-gb176eee/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.8.0-48-gb176eee/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/bossac/1.8.0-48-gb176eee/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/openocd/0.9.0-arduino/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/openocd/0.9.0-arduino/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/openocd/0.9.0-arduino/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/arduino/tools/openocd/0.9.0-arduino/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/boards.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/boards.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/boards.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/platform.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/platform.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/platform.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/platform.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/programmers.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/programmers.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/programmers.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/hardware/esp32/1.0.0/programmers.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/esptool/2.3.1/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/esptool/2.3.1/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/esptool/2.3.1/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/esptool/2.3.1/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/mkspiffs/0.2.3/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/mkspiffs/0.2.3/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/mkspiffs/0.2.3/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/mkspiffs/0.2.3/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-80-g6c4433a-5.2.0/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/boards.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/boards.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/boards.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/platform.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/platform.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/platform.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/platform.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/programmers.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/programmers.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/programmers.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/hardware/esp8266/3.0.2/programmers.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/esptool/0.4.13/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/esptool/0.4.13/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/esptool/0.4.13/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/esptool/0.4.13/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/mkspiffs/0.2.0/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/mkspiffs/0.2.0/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/mkspiffs/0.2.0/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/mkspiffs/0.2.0/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/esp8266/tools/xtensa-lx106-elf-gcc/1.20.0-26-gb404fb9-2/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/test/hardware/avr/1.1.0/boards.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/test/hardware/avr/1.1.0/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/test/hardware/avr/1.1.0/boards.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/test/hardware/avr/1.1.0/boards.txt diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/test/tools/bossac/1.7.5/.keep b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/test/tools/bossac/1.7.5/.keep similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/test/tools/bossac/1.7.5/.keep rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/test/tools/bossac/1.7.5/.keep diff --git a/arduino/cores/packagemanager/testdata/data_dir_1/packages/test2/hardware/avr/1.0.0/boards.txt b/internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/test2/hardware/avr/1.0.0/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/data_dir_1/packages/test2/hardware/avr/1.0.0/boards.txt rename to internal/arduino/cores/packagemanager/testdata/data_dir_1/packages/test2/hardware/avr/1.0.0/boards.txt diff --git a/arduino/cores/packagemanager/testdata/extra_hardware/referenced/avr/boards.txt b/internal/arduino/cores/packagemanager/testdata/extra_hardware/referenced/avr/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/extra_hardware/referenced/avr/boards.txt rename to internal/arduino/cores/packagemanager/testdata/extra_hardware/referenced/avr/boards.txt diff --git a/arduino/cores/packagemanager/testdata/extra_hardware/referenced/samd/boards.txt b/internal/arduino/cores/packagemanager/testdata/extra_hardware/referenced/samd/boards.txt similarity index 100% rename from arduino/cores/packagemanager/testdata/extra_hardware/referenced/samd/boards.txt rename to internal/arduino/cores/packagemanager/testdata/extra_hardware/referenced/samd/boards.txt diff --git a/arduino/cores/packagemanager/testdata/package_tooltest_index.json b/internal/arduino/cores/packagemanager/testdata/package_tooltest_index.json similarity index 100% rename from arduino/cores/packagemanager/testdata/package_tooltest_index.json rename to internal/arduino/cores/packagemanager/testdata/package_tooltest_index.json diff --git a/arduino/cores/programmers.go b/internal/arduino/cores/programmers.go similarity index 100% rename from arduino/cores/programmers.go rename to internal/arduino/cores/programmers.go diff --git a/arduino/cores/status.go b/internal/arduino/cores/status.go similarity index 100% rename from arduino/cores/status.go rename to internal/arduino/cores/status.go diff --git a/arduino/cores/tools.go b/internal/arduino/cores/tools.go similarity index 99% rename from arduino/cores/tools.go rename to internal/arduino/cores/tools.go index 616e80090a3..3648119c483 100644 --- a/arduino/cores/tools.go +++ b/internal/arduino/cores/tools.go @@ -19,7 +19,7 @@ import ( "regexp" "runtime" - "github.com/arduino/arduino-cli/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" semver "go.bug.st/relaxed-semver" diff --git a/arduino/cores/tools_test.go b/internal/arduino/cores/tools_test.go similarity index 99% rename from arduino/cores/tools_test.go rename to internal/arduino/cores/tools_test.go index 2597e1a9a66..4c0d54e953a 100644 --- a/arduino/cores/tools_test.go +++ b/internal/arduino/cores/tools_test.go @@ -18,7 +18,7 @@ package cores import ( "testing" - "github.com/arduino/arduino-cli/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/stretchr/testify/require" ) diff --git a/arduino/discovery/discovery.go b/internal/arduino/discovery/discovery.go similarity index 88% rename from arduino/discovery/discovery.go rename to internal/arduino/discovery/discovery.go index 665e527932a..a1b719db3ee 100644 --- a/arduino/discovery/discovery.go +++ b/internal/arduino/discovery/discovery.go @@ -17,6 +17,7 @@ package discovery import ( "encoding/json" + "errors" "fmt" "io" "strings" @@ -28,7 +29,6 @@ import ( "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -345,13 +345,13 @@ func (disc *PluggableDiscovery) Run() (err error) { if msg, err := disc.waitMessage(time.Second * 10); err != nil { return fmt.Errorf(tr("calling %[1]s: %[2]w"), "HELLO", err) } else if msg.EventType != "hello" { - return errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "hello", msg.EventType) + return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "hello", msg.EventType)) } else if msg.Error { - return errors.Errorf(tr("command failed: %s"), msg.Message) + return errors.New(tr("command failed: %s", msg.Message)) } else if strings.ToUpper(msg.Message) != "OK" { - return errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "OK", msg.Message) + return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) } else if msg.ProtocolVersion > 1 { - return errors.Errorf(tr("protocol version not supported: requested 1, got %d"), msg.ProtocolVersion) + return errors.New(tr("protocol version not supported: requested 1, got %d", msg.ProtocolVersion)) } disc.statusMutex.Lock() defer disc.statusMutex.Unlock() @@ -366,13 +366,13 @@ func (disc *PluggableDiscovery) Start() error { return err } if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return fmt.Errorf(tr("calling %[1]s: %[2]w"), "START", err) + return errors.New(tr("calling %[1]s: %[2]w", "START", err)) } else if msg.EventType != "start" { - return errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "start", msg.EventType) + return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "start", msg.EventType)) } else if msg.Error { - return errors.Errorf(tr("command failed: %s"), msg.Message) + return errors.New(tr("command failed: %s", msg.Message)) } else if strings.ToUpper(msg.Message) != "OK" { - return errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "OK", msg.Message) + return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) } disc.statusMutex.Lock() defer disc.statusMutex.Unlock() @@ -388,13 +388,13 @@ func (disc *PluggableDiscovery) Stop() error { return err } if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return fmt.Errorf(tr("calling %[1]s: %[2]w"), "STOP", err) + return errors.New(tr("calling %[1]s: %[2]w", "STOP", err)) } else if msg.EventType != "stop" { - return errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "stop", msg.EventType) + return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "stop", msg.EventType)) } else if msg.Error { - return errors.Errorf(tr("command failed: %s"), msg.Message) + return errors.New(tr("command failed: %s", msg.Message)) } else if strings.ToUpper(msg.Message) != "OK" { - return errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "OK", msg.Message) + return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) } disc.statusMutex.Lock() defer disc.statusMutex.Unlock() @@ -428,11 +428,11 @@ func (disc *PluggableDiscovery) List() ([]*Port, error) { return nil, err } if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return nil, fmt.Errorf(tr("calling %[1]s: %[2]w"), "LIST", err) + return nil, errors.New(tr("calling %[1]s: %[2]w", "LIST", err)) } else if msg.EventType != "list" { - return nil, errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "list", msg.EventType) + return nil, errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "list", msg.EventType)) } else if msg.Error { - return nil, errors.Errorf(tr("command failed: %s"), msg.Message) + return nil, errors.New(tr("command failed: %s", msg.Message)) } else { return msg.Ports, nil } @@ -454,13 +454,13 @@ func (disc *PluggableDiscovery) StartSync(size int) (<-chan *Event, error) { } if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return nil, fmt.Errorf(tr("calling %[1]s: %[2]w"), "START_SYNC", err) + return nil, errors.New(tr("calling %[1]s: %[2]w", "START_SYNC", err)) } else if msg.EventType != "start_sync" { - return nil, errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "start_sync", msg.EventType) + return nil, errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "start_sync", msg.EventType)) } else if msg.Error { - return nil, errors.Errorf(tr("command failed: %s"), msg.Message) + return nil, errors.New(tr("command failed: %s", msg.Message)) } else if strings.ToUpper(msg.Message) != "OK" { - return nil, errors.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "OK", msg.Message) + return nil, errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) } disc.state = Syncing diff --git a/arduino/discovery/discovery_client/main.go b/internal/arduino/discovery/discovery_client/main.go similarity index 92% rename from arduino/discovery/discovery_client/main.go rename to internal/arduino/discovery/discovery_client/main.go index b9e1cfd0988..f908a791a31 100644 --- a/arduino/discovery/discovery_client/main.go +++ b/internal/arduino/discovery/discovery_client/main.go @@ -22,8 +22,8 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/arduino/discovery" - "github.com/arduino/arduino-cli/arduino/discovery/discoverymanager" + "github.com/arduino/arduino-cli/internal/arduino/discovery" + "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/sirupsen/logrus" ) diff --git a/arduino/discovery/discovery_test.go b/internal/arduino/discovery/discovery_test.go similarity index 100% rename from arduino/discovery/discovery_test.go rename to internal/arduino/discovery/discovery_test.go diff --git a/arduino/discovery/discoverymanager/discoverymanager.go b/internal/arduino/discovery/discoverymanager/discoverymanager.go similarity index 98% rename from arduino/discovery/discoverymanager/discoverymanager.go rename to internal/arduino/discovery/discoverymanager/discoverymanager.go index 7d33115ce31..32596a39ffa 100644 --- a/arduino/discovery/discoverymanager/discoverymanager.go +++ b/internal/arduino/discovery/discoverymanager/discoverymanager.go @@ -16,13 +16,13 @@ package discoverymanager import ( + "errors" "fmt" "sync" "time" - "github.com/arduino/arduino-cli/arduino/discovery" "github.com/arduino/arduino-cli/i18n" - "github.com/pkg/errors" + "github.com/arduino/arduino-cli/internal/arduino/discovery" "github.com/sirupsen/logrus" ) @@ -123,7 +123,7 @@ func (dm *DiscoveryManager) Add(d *discovery.PluggableDiscovery) error { id := d.GetID() if _, has := dm.discoveries[id]; has { - return errors.Errorf(tr("pluggable discovery already added: %s"), id) + return errors.New(tr("pluggable discovery already added: %s", id)) } dm.discoveries[id] = d diff --git a/arduino/discovery/testdata/cat/.gitignore b/internal/arduino/discovery/testdata/cat/.gitignore similarity index 100% rename from arduino/discovery/testdata/cat/.gitignore rename to internal/arduino/discovery/testdata/cat/.gitignore diff --git a/arduino/discovery/testdata/cat/main.go b/internal/arduino/discovery/testdata/cat/main.go similarity index 100% rename from arduino/discovery/testdata/cat/main.go rename to internal/arduino/discovery/testdata/cat/main.go diff --git a/arduino/globals/globals.go b/internal/arduino/globals/globals.go similarity index 100% rename from arduino/globals/globals.go rename to internal/arduino/globals/globals.go diff --git a/arduino/httpclient/httpclient.go b/internal/arduino/httpclient/httpclient.go similarity index 93% rename from arduino/httpclient/httpclient.go rename to internal/arduino/httpclient/httpclient.go index 4969ab2cb46..d6bea3d045f 100644 --- a/arduino/httpclient/httpclient.go +++ b/internal/arduino/httpclient/httpclient.go @@ -20,9 +20,9 @@ import ( "net/url" "time" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -71,7 +71,7 @@ func DownloadFile(path *paths.Path, URL string, queryParameter string, label str // The URL is not reachable for some reason if d.Resp.StatusCode >= 400 && d.Resp.StatusCode <= 599 { msg := tr("Server responded with: %s", d.Resp.Status) - return &arduino.FailedDownloadError{Message: msg} + return &cmderrors.FailedDownloadError{Message: msg} } return nil @@ -109,7 +109,7 @@ func NewWithConfig(config *Config) *http.Client { func GetDownloaderConfig() (*downloader.Config, error) { httpClient, err := New() if err != nil { - return nil, &arduino.InvalidArgumentError{Message: tr("Could not connect via HTTP"), Cause: err} + return nil, &cmderrors.InvalidArgumentError{Message: tr("Could not connect via HTTP"), Cause: err} } return &downloader.Config{ HttpClient: *httpClient, diff --git a/arduino/httpclient/httpclient_test.go b/internal/arduino/httpclient/httpclient_test.go similarity index 100% rename from arduino/httpclient/httpclient_test.go rename to internal/arduino/httpclient/httpclient_test.go diff --git a/arduino/libraries/libraries.go b/internal/arduino/libraries/libraries.go similarity index 98% rename from arduino/libraries/libraries.go rename to internal/arduino/libraries/libraries.go index 1235023e9e5..a6e566a11bd 100644 --- a/arduino/libraries/libraries.go +++ b/internal/arduino/libraries/libraries.go @@ -18,9 +18,9 @@ package libraries import ( "fmt" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/globals" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/globals" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" diff --git a/arduino/libraries/libraries_layout.go b/internal/arduino/libraries/libraries_layout.go similarity index 100% rename from arduino/libraries/libraries_layout.go rename to internal/arduino/libraries/libraries_layout.go diff --git a/arduino/libraries/libraries_location.go b/internal/arduino/libraries/libraries_location.go similarity index 100% rename from arduino/libraries/libraries_location.go rename to internal/arduino/libraries/libraries_location.go diff --git a/arduino/libraries/libraries_test.go b/internal/arduino/libraries/libraries_test.go similarity index 100% rename from arduino/libraries/libraries_test.go rename to internal/arduino/libraries/libraries_test.go diff --git a/arduino/libraries/librariesindex/index.go b/internal/arduino/libraries/librariesindex/index.go similarity index 97% rename from arduino/libraries/librariesindex/index.go rename to internal/arduino/libraries/librariesindex/index.go index b1d756554d9..92226146434 100644 --- a/arduino/libraries/librariesindex/index.go +++ b/internal/arduino/libraries/librariesindex/index.go @@ -18,8 +18,8 @@ package librariesindex import ( "sort" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/resources" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/resources" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) diff --git a/arduino/libraries/librariesindex/index_test.go b/internal/arduino/libraries/librariesindex/index_test.go similarity index 98% rename from arduino/libraries/librariesindex/index_test.go rename to internal/arduino/libraries/librariesindex/index_test.go index 9b5721cc731..b347d2bc664 100644 --- a/arduino/libraries/librariesindex/index_test.go +++ b/internal/arduino/libraries/librariesindex/index_test.go @@ -20,7 +20,7 @@ import ( "fmt" "testing" - "github.com/arduino/arduino-cli/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/go-paths-helper" easyjson "github.com/mailru/easyjson" "github.com/stretchr/testify/require" diff --git a/arduino/libraries/librariesindex/json.go b/internal/arduino/libraries/librariesindex/json.go similarity index 98% rename from arduino/libraries/librariesindex/json.go rename to internal/arduino/libraries/librariesindex/json.go index c7ada2be4f9..85c450fde32 100644 --- a/arduino/libraries/librariesindex/json.go +++ b/internal/arduino/libraries/librariesindex/json.go @@ -18,8 +18,8 @@ package librariesindex import ( "fmt" - "github.com/arduino/arduino-cli/arduino/resources" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/go-paths-helper" easyjson "github.com/mailru/easyjson" semver "go.bug.st/relaxed-semver" diff --git a/arduino/libraries/librariesindex/json_easyjson.go b/internal/arduino/libraries/librariesindex/json_easyjson.go similarity index 88% rename from arduino/libraries/librariesindex/json_easyjson.go rename to internal/arduino/libraries/librariesindex/json_easyjson.go index 197c24412fa..5af24fa5fdd 100644 --- a/arduino/libraries/librariesindex/json_easyjson.go +++ b/internal/arduino/libraries/librariesindex/json_easyjson.go @@ -19,7 +19,7 @@ var ( _ easyjson.Marshaler ) -func easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex(in *jlexer.Lexer, out *indexRelease) { +func easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex(in *jlexer.Lexer, out *indexRelease) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -323,7 +323,7 @@ func easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesin in.Consumed() } } -func easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex(out *jwriter.Writer, in indexRelease) { +func easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex(out *jwriter.Writer, in indexRelease) { out.RawByte('{') first := true _ = first @@ -468,27 +468,27 @@ func easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesin // MarshalJSON supports json.Marshaler interface func (v indexRelease) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex(&w, v) + easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexRelease) MarshalEasyJSON(w *jwriter.Writer) { - easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex(w, v) + easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexRelease) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex(&r, v) + easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexRelease) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex(l, v) + easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex(l, v) } -func easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex1(in *jlexer.Lexer, out *indexJSON) { +func easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex1(in *jlexer.Lexer, out *indexJSON) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -566,7 +566,7 @@ func easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesin in.Consumed() } } -func easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex1(out *jwriter.Writer, in indexJSON) { +func easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex1(out *jwriter.Writer, in indexJSON) { out.RawByte('{') first := true _ = first @@ -592,27 +592,27 @@ func easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesin // MarshalJSON supports json.Marshaler interface func (v indexJSON) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex1(&w, v) + easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex1(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexJSON) MarshalEasyJSON(w *jwriter.Writer) { - easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex1(w, v) + easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex1(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexJSON) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex1(&r, v) + easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex1(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexJSON) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex1(l, v) + easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex1(l, v) } -func easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex2(in *jlexer.Lexer, out *indexDependency) { +func easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex2(in *jlexer.Lexer, out *indexDependency) { isTopLevel := in.IsStart() if in.IsNull() { if isTopLevel { @@ -652,7 +652,7 @@ func easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesin in.Consumed() } } -func easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex2(out *jwriter.Writer, in indexDependency) { +func easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex2(out *jwriter.Writer, in indexDependency) { out.RawByte('{') first := true _ = first @@ -672,23 +672,23 @@ func easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesin // MarshalJSON supports json.Marshaler interface func (v indexDependency) MarshalJSON() ([]byte, error) { w := jwriter.Writer{} - easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex2(&w, v) + easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex2(&w, v) return w.Buffer.BuildBytes(), w.Error } // MarshalEasyJSON supports easyjson.Marshaler interface func (v indexDependency) MarshalEasyJSON(w *jwriter.Writer) { - easyjson42239ddeEncodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex2(w, v) + easyjson42239ddeEncodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex2(w, v) } // UnmarshalJSON supports json.Unmarshaler interface func (v *indexDependency) UnmarshalJSON(data []byte) error { r := jlexer.Lexer{Data: data} - easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex2(&r, v) + easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex2(&r, v) return r.Error() } // UnmarshalEasyJSON supports easyjson.Unmarshaler interface func (v *indexDependency) UnmarshalEasyJSON(l *jlexer.Lexer) { - easyjson42239ddeDecodeGithubComArduinoArduinoCliArduinoLibrariesLibrariesindex2(l, v) + easyjson42239ddeDecodeGithubComArduinoArduinoCliInternalArduinoLibrariesLibrariesindex2(l, v) } diff --git a/arduino/libraries/librariesindex/reference.go b/internal/arduino/libraries/librariesindex/reference.go similarity index 100% rename from arduino/libraries/librariesindex/reference.go rename to internal/arduino/libraries/librariesindex/reference.go diff --git a/arduino/libraries/librariesindex/testdata/invalid.json b/internal/arduino/libraries/librariesindex/testdata/invalid.json similarity index 100% rename from arduino/libraries/librariesindex/testdata/invalid.json rename to internal/arduino/libraries/librariesindex/testdata/invalid.json diff --git a/arduino/libraries/librariesindex/testdata/library_index.json b/internal/arduino/libraries/librariesindex/testdata/library_index.json similarity index 100% rename from arduino/libraries/librariesindex/testdata/library_index.json rename to internal/arduino/libraries/librariesindex/testdata/library_index.json diff --git a/arduino/libraries/librarieslist.go b/internal/arduino/libraries/librarieslist.go similarity index 100% rename from arduino/libraries/librarieslist.go rename to internal/arduino/libraries/librarieslist.go diff --git a/arduino/libraries/librariesmanager/download.go b/internal/arduino/libraries/librariesmanager/download.go similarity index 100% rename from arduino/libraries/librariesmanager/download.go rename to internal/arduino/libraries/librariesmanager/download.go diff --git a/arduino/libraries/librariesmanager/install.go b/internal/arduino/libraries/librariesmanager/install.go similarity index 96% rename from arduino/libraries/librariesmanager/install.go rename to internal/arduino/libraries/librariesmanager/install.go index e52d3f9d59a..39af1f4b704 100644 --- a/arduino/libraries/librariesmanager/install.go +++ b/internal/arduino/libraries/librariesmanager/install.go @@ -22,11 +22,11 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/utils" paths "github.com/arduino/go-paths-helper" "github.com/codeclysm/extract/v3" "github.com/go-git/go-git/v5" @@ -72,7 +72,7 @@ func (lm *LibrariesManager) InstallPrerequisiteCheck(name string, version *semve for _, lib := range libs { libsDir.Add(lib.InstallDir) } - return nil, &arduino.MultipleLibraryInstallDetected{ + return nil, &cmderrors.MultipleLibraryInstallDetected{ LibName: name, LibsDir: libsDir, Message: tr("Automatic library install can't be performed in this case, please manually remove all duplicates and retry."), diff --git a/arduino/libraries/librariesmanager/install_test.go b/internal/arduino/libraries/librariesmanager/install_test.go similarity index 100% rename from arduino/libraries/librariesmanager/install_test.go rename to internal/arduino/libraries/librariesmanager/install_test.go diff --git a/arduino/libraries/librariesmanager/librariesmanager.go b/internal/arduino/libraries/librariesmanager/librariesmanager.go similarity index 97% rename from arduino/libraries/librariesmanager/librariesmanager.go rename to internal/arduino/libraries/librariesmanager/librariesmanager.go index eb7254054e0..cedc20d9d7b 100644 --- a/arduino/libraries/librariesmanager/librariesmanager.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager.go @@ -22,10 +22,10 @@ import ( "slices" "strings" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" diff --git a/arduino/libraries/librariesmanager/librariesmanager_test.go b/internal/arduino/libraries/librariesmanager/librariesmanager_test.go similarity index 94% rename from arduino/libraries/librariesmanager/librariesmanager_test.go rename to internal/arduino/libraries/librariesmanager/librariesmanager_test.go index a987462b6b2..54475cd1fd3 100644 --- a/arduino/libraries/librariesmanager/librariesmanager_test.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager_test.go @@ -17,7 +17,7 @@ package librariesmanager import ( "testing" - "github.com/arduino/arduino-cli/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) diff --git a/arduino/libraries/librariesresolver/cpp.go b/internal/arduino/libraries/librariesresolver/cpp.go similarity index 96% rename from arduino/libraries/librariesresolver/cpp.go rename to internal/arduino/libraries/librariesresolver/cpp.go index f817a68f7eb..6224c6ffd52 100644 --- a/arduino/libraries/librariesresolver/cpp.go +++ b/internal/arduino/libraries/librariesresolver/cpp.go @@ -20,11 +20,11 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/arduino/cores" - "github.com/arduino/arduino-cli/arduino/libraries" - "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" - "github.com/arduino/arduino-cli/arduino/utils" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/schollz/closestmatch" "github.com/sirupsen/logrus" ) diff --git a/arduino/libraries/librariesresolver/cpp_test.go b/internal/arduino/libraries/librariesresolver/cpp_test.go similarity index 99% rename from arduino/libraries/librariesresolver/cpp_test.go rename to internal/arduino/libraries/librariesresolver/cpp_test.go index 3be147636ac..f65bc195769 100644 --- a/arduino/libraries/librariesresolver/cpp_test.go +++ b/internal/arduino/libraries/librariesresolver/cpp_test.go @@ -18,7 +18,7 @@ package librariesresolver import ( "testing" - "github.com/arduino/arduino-cli/arduino/libraries" + "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/stretchr/testify/require" ) diff --git a/arduino/libraries/loader.go b/internal/arduino/libraries/loader.go similarity index 95% rename from arduino/libraries/loader.go rename to internal/arduino/libraries/loader.go index f278c85d40f..61f71f4928f 100644 --- a/arduino/libraries/loader.go +++ b/internal/arduino/libraries/loader.go @@ -16,13 +16,13 @@ package libraries import ( + "errors" "fmt" "strings" - "github.com/arduino/arduino-cli/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" - "github.com/pkg/errors" semver "go.bug.st/relaxed-semver" ) @@ -113,7 +113,7 @@ func makeNewLibrary(libraryDir *paths.Path, location LibraryLocation) (*Library, } if err := addExamples(library); err != nil { - return nil, errors.Errorf(tr("scanning examples: %s"), err) + return nil, fmt.Errorf("%s: %w", tr("scanning sketch examples"), err) } library.DirName = libraryDir.Base() library.Name = strings.TrimSpace(libProperties.Get("name")) @@ -136,7 +136,7 @@ func makeLegacyLibrary(path *paths.Path, location LibraryLocation) (*Library, er if foundHeader, err := containsHeaderFile(path); err != nil { return nil, err } else if !foundHeader { - return nil, errors.Errorf(tr("invalid library: no header files found")) + return nil, errors.New(tr("invalid library: no header files found")) } library := &Library{ InstallDir: path.Canonical(), @@ -151,7 +151,7 @@ func makeLegacyLibrary(path *paths.Path, location LibraryLocation) (*Library, er InDevelopment: path.Join(".development").Exist(), } if err := addExamples(library); err != nil { - return nil, errors.Errorf(tr("scanning examples: %s"), err) + return nil, fmt.Errorf("%s: %w", tr("scanning sketch examples"), err) } addUtilityDirectory(library) return library, nil diff --git a/arduino/libraries/testdata/LegacyLib/LegacyLib.h b/internal/arduino/libraries/testdata/LegacyLib/LegacyLib.h similarity index 100% rename from arduino/libraries/testdata/LegacyLib/LegacyLib.h rename to internal/arduino/libraries/testdata/LegacyLib/LegacyLib.h diff --git a/arduino/libraries/testdata/LibWithNonUTF8Properties/library.properties b/internal/arduino/libraries/testdata/LibWithNonUTF8Properties/library.properties similarity index 100% rename from arduino/libraries/testdata/LibWithNonUTF8Properties/library.properties rename to internal/arduino/libraries/testdata/LibWithNonUTF8Properties/library.properties diff --git a/arduino/libraries/testdata/LibWithNonUTF8Properties/src/LibWithNonUTF8Properties.h b/internal/arduino/libraries/testdata/LibWithNonUTF8Properties/src/LibWithNonUTF8Properties.h similarity index 100% rename from arduino/libraries/testdata/LibWithNonUTF8Properties/src/LibWithNonUTF8Properties.h rename to internal/arduino/libraries/testdata/LibWithNonUTF8Properties/src/LibWithNonUTF8Properties.h diff --git a/arduino/libraries/testdata/TestLib/library.properties b/internal/arduino/libraries/testdata/TestLib/library.properties similarity index 100% rename from arduino/libraries/testdata/TestLib/library.properties rename to internal/arduino/libraries/testdata/TestLib/library.properties diff --git a/arduino/libraries/testdata/TestLib/src/TestLib.h b/internal/arduino/libraries/testdata/TestLib/src/TestLib.h similarity index 100% rename from arduino/libraries/testdata/TestLib/src/TestLib.h rename to internal/arduino/libraries/testdata/TestLib/src/TestLib.h diff --git a/arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.ino b/internal/arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.ino similarity index 100% rename from arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.ino rename to internal/arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.ino diff --git a/arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.pde b/internal/arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.pde similarity index 100% rename from arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.pde rename to internal/arduino/libraries/testdata/TestLibExamples/examples/MultipleFiles/MultipleFiles.pde diff --git a/arduino/libraries/testdata/TestLibExamples/examples/WrongCasing/wrongCasing.ino b/internal/arduino/libraries/testdata/TestLibExamples/examples/WrongCasing/wrongCasing.ino similarity index 100% rename from arduino/libraries/testdata/TestLibExamples/examples/WrongCasing/wrongCasing.ino rename to internal/arduino/libraries/testdata/TestLibExamples/examples/WrongCasing/wrongCasing.ino diff --git a/arduino/libraries/testdata/TestLibExamples/examples/simple/simple.ino b/internal/arduino/libraries/testdata/TestLibExamples/examples/simple/simple.ino similarity index 100% rename from arduino/libraries/testdata/TestLibExamples/examples/simple/simple.ino rename to internal/arduino/libraries/testdata/TestLibExamples/examples/simple/simple.ino diff --git a/arduino/libraries/testdata/TestLibExamples/library.properties b/internal/arduino/libraries/testdata/TestLibExamples/library.properties similarity index 100% rename from arduino/libraries/testdata/TestLibExamples/library.properties rename to internal/arduino/libraries/testdata/TestLibExamples/library.properties diff --git a/arduino/libraries/testdata/TestLibExamples/src/TestLib.h b/internal/arduino/libraries/testdata/TestLibExamples/src/TestLib.h similarity index 100% rename from arduino/libraries/testdata/TestLibExamples/src/TestLib.h rename to internal/arduino/libraries/testdata/TestLibExamples/src/TestLib.h diff --git a/arduino/libraries/testdata/TestLibInDev/.development b/internal/arduino/libraries/testdata/TestLibInDev/.development similarity index 100% rename from arduino/libraries/testdata/TestLibInDev/.development rename to internal/arduino/libraries/testdata/TestLibInDev/.development diff --git a/arduino/libraries/testdata/TestLibInDev/library.properties b/internal/arduino/libraries/testdata/TestLibInDev/library.properties similarity index 100% rename from arduino/libraries/testdata/TestLibInDev/library.properties rename to internal/arduino/libraries/testdata/TestLibInDev/library.properties diff --git a/arduino/libraries/testdata/TestLibInDev/src/TestLib.h b/internal/arduino/libraries/testdata/TestLibInDev/src/TestLib.h similarity index 100% rename from arduino/libraries/testdata/TestLibInDev/src/TestLib.h rename to internal/arduino/libraries/testdata/TestLibInDev/src/TestLib.h diff --git a/arduino/monitor/monitor.go b/internal/arduino/monitor/monitor.go similarity index 100% rename from arduino/monitor/monitor.go rename to internal/arduino/monitor/monitor.go diff --git a/arduino/monitor/monitor_test.go b/internal/arduino/monitor/monitor_test.go similarity index 100% rename from arduino/monitor/monitor_test.go rename to internal/arduino/monitor/monitor_test.go diff --git a/arduino/monitor/testdata/.gitignore b/internal/arduino/monitor/testdata/.gitignore similarity index 100% rename from arduino/monitor/testdata/.gitignore rename to internal/arduino/monitor/testdata/.gitignore diff --git a/arduino/resources/checksums.go b/internal/arduino/resources/checksums.go similarity index 100% rename from arduino/resources/checksums.go rename to internal/arduino/resources/checksums.go diff --git a/arduino/resources/download.go b/internal/arduino/resources/download.go similarity index 97% rename from arduino/resources/download.go rename to internal/arduino/resources/download.go index ac8946b155c..4f1df1ad5b3 100644 --- a/arduino/resources/download.go +++ b/internal/arduino/resources/download.go @@ -19,7 +19,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/arduino/httpclient" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "go.bug.st/downloader/v2" diff --git a/arduino/resources/helpers.go b/internal/arduino/resources/helpers.go similarity index 100% rename from arduino/resources/helpers.go rename to internal/arduino/resources/helpers.go diff --git a/arduino/resources/helpers_test.go b/internal/arduino/resources/helpers_test.go similarity index 97% rename from arduino/resources/helpers_test.go rename to internal/arduino/resources/helpers_test.go index f8dea9abf43..e56747d8b40 100644 --- a/arduino/resources/helpers_test.go +++ b/internal/arduino/resources/helpers_test.go @@ -22,7 +22,7 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/arduino/httpclient" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" diff --git a/arduino/resources/index.go b/internal/arduino/resources/index.go similarity index 75% rename from arduino/resources/index.go rename to internal/arduino/resources/index.go index ffd9bb4b0b0..4740c6f12f0 100644 --- a/arduino/resources/index.go +++ b/internal/arduino/resources/index.go @@ -22,9 +22,9 @@ import ( "path" "strings" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/httpclient" - "github.com/arduino/arduino-cli/arduino/security" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/arduino/security" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/codeclysm/extract/v3" @@ -43,7 +43,7 @@ type IndexResource struct { func (res *IndexResource) IndexFileName() (string, error) { filename := path.Base(res.URL.Path) // == package_index.json[.gz] || packacge_index.tar.bz2 if filename == "." || filename == "" || filename == "/" { - return "", &arduino.InvalidURLError{} + return "", &cmderrors.InvalidURLError{} } switch { case strings.HasSuffix(filename, ".json"): @@ -61,13 +61,13 @@ func (res *IndexResource) IndexFileName() (string, error) { func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadProgressCB) error { // Create destination directory if err := destDir.MkdirAll(); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Can't create data directory %s", destDir), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Can't create data directory %s", destDir), Cause: err} } // Create a temp dir to stage all downloads tmp, err := paths.MkTempDir("", "library_index_download") if err != nil { - return &arduino.TempDirCreationFailedError{Cause: err} + return &cmderrors.TempDirCreationFailedError{Cause: err} } defer tmp.RemoveAll() @@ -79,7 +79,7 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP } tmpIndexPath := tmp.Join(downloadFileName) if err := httpclient.DownloadFile(tmpIndexPath, res.URL.String(), "", tr("Downloading index: %s", downloadFileName), downloadCB, nil, downloader.NoResume); err != nil { - return &arduino.FailedDownloadError{Message: tr("Error downloading index '%s'", res.URL), Cause: err} + return &cmderrors.FailedDownloadError{Message: tr("Error downloading index '%s'", res.URL), Cause: err} } var signaturePath, tmpSignaturePath *paths.Path @@ -95,19 +95,19 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP // Extract archive in a tmp/archive subdirectory f, err := tmpIndexPath.Open() if err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error opening %s", tmpIndexPath), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error opening %s", tmpIndexPath), Cause: err} } defer f.Close() tmpArchivePath := tmp.Join("archive") _ = tmpArchivePath.MkdirAll() if err := extract.Bz2(context.Background(), f, tmpArchivePath.String(), nil); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error extracting %s", tmpIndexPath), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error extracting %s", tmpIndexPath), Cause: err} } // Look for index.json tmpIndexPath = tmpArchivePath.Join(indexFileName) if !tmpIndexPath.Exist() { - return &arduino.NotFoundError{Message: tr("Invalid archive: file %{1}s not found in archive %{2}s", indexFileName, tmpArchivePath.Base())} + return &cmderrors.NotFoundError{Message: tr("Invalid archive: file %{1}s not found in archive %{2}s", indexFileName, tmpArchivePath.Base())} } // Look for signature @@ -120,7 +120,7 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP } else if strings.HasSuffix(downloadFileName, ".gz") { tmpUnzippedIndexPath := tmp.Join(indexFileName) if err := paths.GUnzip(tmpIndexPath, tmpUnzippedIndexPath); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error extracting %s", indexFileName), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error extracting %s", indexFileName), Cause: err} } tmpIndexPath = tmpUnzippedIndexPath } @@ -134,7 +134,7 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP signaturePath = destDir.Join(signatureFileName) tmpSignaturePath = tmp.Join(signatureFileName) if err := httpclient.DownloadFile(tmpSignaturePath, res.SignatureURL.String(), "", tr("Downloading index signature: %s", signatureFileName), downloadCB, nil, downloader.NoResume); err != nil { - return &arduino.FailedDownloadError{Message: tr("Error downloading index signature '%s'", res.SignatureURL), Cause: err} + return &cmderrors.FailedDownloadError{Message: tr("Error downloading index signature '%s'", res.SignatureURL), Cause: err} } hasSignature = true @@ -143,13 +143,13 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP if hasSignature { // Check signature... if valid, _, err := security.VerifyArduinoDetachedSignature(tmpIndexPath, tmpSignaturePath); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error verifying signature"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error verifying signature"), Cause: err} } else if !valid { - return &arduino.SignatureVerificationFailedError{File: res.URL.String()} + return &cmderrors.SignatureVerificationFailedError{File: res.URL.String()} } } else { if res.EnforceSignatureVerification { - return &arduino.PermissionDeniedError{Message: tr("Error verifying signature"), Cause: errors.New(tr("missing signature"))} + return &cmderrors.PermissionDeniedError{Message: tr("Error verifying signature"), Cause: errors.New(tr("missing signature"))} } } @@ -161,23 +161,23 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP oldIndex := tmp.Join("old_index") if indexPath.Exist() { if err := indexPath.CopyTo(oldIndex); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err} } defer oldIndex.CopyTo(indexPath) // will silently fail in case of success } oldSignature := tmp.Join("old_signature") if oldSignature.Exist() { if err := signaturePath.CopyTo(oldSignature); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index signature"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index signature"), Cause: err} } defer oldSignature.CopyTo(signaturePath) // will silently fail in case of success } if err := tmpIndexPath.CopyTo(indexPath); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err} } if hasSignature { if err := tmpSignaturePath.CopyTo(signaturePath); err != nil { - return &arduino.PermissionDeniedError{Message: tr("Error saving downloaded index signature"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index signature"), Cause: err} } } _ = oldIndex.Remove() diff --git a/arduino/resources/install.go b/internal/arduino/resources/install.go similarity index 100% rename from arduino/resources/install.go rename to internal/arduino/resources/install.go diff --git a/arduino/resources/install_test.go b/internal/arduino/resources/install_test.go similarity index 100% rename from arduino/resources/install_test.go rename to internal/arduino/resources/install_test.go diff --git a/arduino/resources/resources_test.go b/internal/arduino/resources/resources_test.go similarity index 100% rename from arduino/resources/resources_test.go rename to internal/arduino/resources/resources_test.go diff --git a/arduino/resources/structs.go b/internal/arduino/resources/structs.go similarity index 100% rename from arduino/resources/structs.go rename to internal/arduino/resources/structs.go diff --git a/arduino/resources/testdata/invalid/package_index.tar.bz2 b/internal/arduino/resources/testdata/invalid/package_index.tar.bz2 similarity index 100% rename from arduino/resources/testdata/invalid/package_index.tar.bz2 rename to internal/arduino/resources/testdata/invalid/package_index.tar.bz2 diff --git a/arduino/resources/testdata/invalid/platform_with_multiple_root_folders.tar.bz2 b/internal/arduino/resources/testdata/invalid/platform_with_multiple_root_folders.tar.bz2 similarity index 100% rename from arduino/resources/testdata/invalid/platform_with_multiple_root_folders.tar.bz2 rename to internal/arduino/resources/testdata/invalid/platform_with_multiple_root_folders.tar.bz2 diff --git a/arduino/resources/testdata/invalid/platform_without_root_folder.tar.bz2 b/internal/arduino/resources/testdata/invalid/platform_without_root_folder.tar.bz2 similarity index 100% rename from arduino/resources/testdata/invalid/platform_without_root_folder.tar.bz2 rename to internal/arduino/resources/testdata/invalid/platform_without_root_folder.tar.bz2 diff --git a/arduino/resources/testdata/valid/package_index.tar.bz2 b/internal/arduino/resources/testdata/valid/package_index.tar.bz2 similarity index 100% rename from arduino/resources/testdata/valid/package_index.tar.bz2 rename to internal/arduino/resources/testdata/valid/package_index.tar.bz2 diff --git a/arduino/resources/testdata/valid/platform_with_root_and__MACOSX_folder.tar.bz2 b/internal/arduino/resources/testdata/valid/platform_with_root_and__MACOSX_folder.tar.bz2 similarity index 100% rename from arduino/resources/testdata/valid/platform_with_root_and__MACOSX_folder.tar.bz2 rename to internal/arduino/resources/testdata/valid/platform_with_root_and__MACOSX_folder.tar.bz2 diff --git a/arduino/security/keys/arduino_public.gpg.key b/internal/arduino/security/keys/arduino_public.gpg.key similarity index 100% rename from arduino/security/keys/arduino_public.gpg.key rename to internal/arduino/security/keys/arduino_public.gpg.key diff --git a/arduino/security/signature_test.go b/internal/arduino/security/signature_test.go similarity index 100% rename from arduino/security/signature_test.go rename to internal/arduino/security/signature_test.go diff --git a/arduino/security/signatures.go b/internal/arduino/security/signatures.go similarity index 100% rename from arduino/security/signatures.go rename to internal/arduino/security/signatures.go diff --git a/arduino/security/testdata/module_firmware_index.json b/internal/arduino/security/testdata/module_firmware_index.json similarity index 100% rename from arduino/security/testdata/module_firmware_index.json rename to internal/arduino/security/testdata/module_firmware_index.json diff --git a/arduino/security/testdata/module_firmware_index.json.sig b/internal/arduino/security/testdata/module_firmware_index.json.sig similarity index 100% rename from arduino/security/testdata/module_firmware_index.json.sig rename to internal/arduino/security/testdata/module_firmware_index.json.sig diff --git a/arduino/security/testdata/module_firmware_index_public.gpg.key b/internal/arduino/security/testdata/module_firmware_index_public.gpg.key similarity index 100% rename from arduino/security/testdata/module_firmware_index_public.gpg.key rename to internal/arduino/security/testdata/module_firmware_index_public.gpg.key diff --git a/arduino/security/testdata/package_index.json b/internal/arduino/security/testdata/package_index.json similarity index 100% rename from arduino/security/testdata/package_index.json rename to internal/arduino/security/testdata/package_index.json diff --git a/arduino/security/testdata/package_index.json.sig b/internal/arduino/security/testdata/package_index.json.sig similarity index 100% rename from arduino/security/testdata/package_index.json.sig rename to internal/arduino/security/testdata/package_index.json.sig diff --git a/arduino/serialutils/serialutils.go b/internal/arduino/serialutils/serialutils.go similarity index 95% rename from arduino/serialutils/serialutils.go rename to internal/arduino/serialutils/serialutils.go index 7c6bac6ea98..c3d5f8521e3 100644 --- a/arduino/serialutils/serialutils.go +++ b/internal/arduino/serialutils/serialutils.go @@ -22,7 +22,6 @@ import ( "time" "github.com/arduino/arduino-cli/i18n" - "github.com/pkg/errors" "go.bug.st/serial" ) @@ -35,7 +34,7 @@ func TouchSerialPortAt1200bps(port string) error { // Open port p, err := serial.Open(port, &serial.Mode{BaudRate: 1200}) if err != nil { - return errors.WithMessage(err, tr("opening port at 1200bps")) + return fmt.Errorf("%s: %w", tr("opening port at 1200bps"), err) } if runtime.GOOS != "windows" { @@ -45,7 +44,7 @@ func TouchSerialPortAt1200bps(port string) error { // Set DTR to false if err = p.SetDTR(false); err != nil { p.Close() - return errors.WithMessage(err, tr("setting DTR to OFF")) + return fmt.Errorf("%s: %w", tr("setting DTR to OFF"), err) } } @@ -64,7 +63,7 @@ func TouchSerialPortAt1200bps(port string) error { func getPortMap() (map[string]bool, error) { ports, err := serial.GetPortsList() if err != nil { - return nil, errors.WithMessage(err, tr("listing serial ports")) + return nil, fmt.Errorf("%s: %w", tr("listing serial ports"), err) } res := map[string]bool{} for _, port := range ports { @@ -138,7 +137,7 @@ func Reset(portToTouch string, wait bool, cb *ResetProgressCallbacks, dryRun boo // do nothing! } else { if err := TouchSerialPortAt1200bps(portToTouch); err != nil && !wait { - return "", errors.Errorf(tr("TOUCH: error during reset: %s", err)) + return "", fmt.Errorf("%s: %w", tr("error during board reset"), err) } } } diff --git a/arduino/sketch/profiles.go b/internal/arduino/sketch/profiles.go similarity index 99% rename from arduino/sketch/profiles.go rename to internal/arduino/sketch/profiles.go index 93fcdf11787..f7065717f71 100644 --- a/arduino/sketch/profiles.go +++ b/internal/arduino/sketch/profiles.go @@ -23,7 +23,7 @@ import ( "regexp" "strings" - "github.com/arduino/arduino-cli/arduino/utils" + "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/go-paths-helper" semver "go.bug.st/relaxed-semver" "gopkg.in/yaml.v3" diff --git a/arduino/sketch/profiles_test.go b/internal/arduino/sketch/profiles_test.go similarity index 100% rename from arduino/sketch/profiles_test.go rename to internal/arduino/sketch/profiles_test.go diff --git a/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go similarity index 96% rename from arduino/sketch/sketch.go rename to internal/arduino/sketch/sketch.go index fd6bff38dd4..046f96c4623 100644 --- a/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -18,14 +18,14 @@ package sketch import ( "crypto/md5" "encoding/hex" + "errors" "fmt" "sort" "strings" - "github.com/arduino/arduino-cli/arduino/globals" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" ) // Sketch holds all the files composing a sketch @@ -65,10 +65,10 @@ func New(path *paths.Path) (*Sketch, error) { if mainFile == nil { mainFile = candidateSketchMainFile } else { - return nil, errors.Errorf(tr("multiple main sketch files found (%[1]v, %[2]v)"), + return nil, errors.New(tr("multiple main sketch files found (%[1]v, %[2]v)", mainFile, candidateSketchMainFile, - ) + )) } } } @@ -144,7 +144,7 @@ func New(path *paths.Path) (*Sketch, error) { sketch.RootFolderFiles.Add(p) } } else { - return nil, errors.Errorf(tr("unknown sketch file extension '%s'"), ext) + return nil, errors.New(tr("unknown sketch file extension '%s'", ext)) } } @@ -206,7 +206,7 @@ func (s *Sketch) GetProfile(profileName string) *Profile { func (s *Sketch) checkSketchCasing() error { files, err := s.FullPath.ReadDir() if err != nil { - return errors.Errorf(tr("reading files: %v"), err) + return fmt.Errorf("%s: %w", tr("reading files"), err) } files.FilterOutDirs() diff --git a/arduino/sketch/sketch_test.go b/internal/arduino/sketch/sketch_test.go similarity index 100% rename from arduino/sketch/sketch_test.go rename to internal/arduino/sketch/sketch_test.go diff --git a/arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.ino b/internal/arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.ino similarity index 100% rename from arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.ino rename to internal/arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.ino diff --git a/arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.pde b/internal/arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.pde similarity index 100% rename from arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.pde rename to internal/arduino/sketch/testdata/SketchBothInoAndPde/SketchBothInoAndPde.pde diff --git a/arduino/sketch/testdata/SketchCasingCorrect/SketchCasingCorrect.ino b/internal/arduino/sketch/testdata/SketchCasingCorrect/SketchCasingCorrect.ino similarity index 100% rename from arduino/sketch/testdata/SketchCasingCorrect/SketchCasingCorrect.ino rename to internal/arduino/sketch/testdata/SketchCasingCorrect/SketchCasingCorrect.ino diff --git a/arduino/sketch/testdata/SketchCasingWrong/sketchcasingwrong.ino b/internal/arduino/sketch/testdata/SketchCasingWrong/sketchcasingwrong.ino similarity index 100% rename from arduino/sketch/testdata/SketchCasingWrong/sketchcasingwrong.ino rename to internal/arduino/sketch/testdata/SketchCasingWrong/sketchcasingwrong.ino diff --git a/arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.ino b/internal/arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.ino similarity index 100% rename from arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.ino rename to internal/arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.ino diff --git a/arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.pde b/internal/arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.pde similarity index 100% rename from arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.pde rename to internal/arduino/sketch/testdata/SketchMultipleMainFiles/SketchMultipleMainFiles.pde diff --git a/arduino/sketch/testdata/SketchPde/SketchPde.pde b/internal/arduino/sketch/testdata/SketchPde/SketchPde.pde similarity index 100% rename from arduino/sketch/testdata/SketchPde/SketchPde.pde rename to internal/arduino/sketch/testdata/SketchPde/SketchPde.pde diff --git a/arduino/sketch/testdata/SketchSimple/SketchSimple.ino b/internal/arduino/sketch/testdata/SketchSimple/SketchSimple.ino similarity index 100% rename from arduino/sketch/testdata/SketchSimple/SketchSimple.ino rename to internal/arduino/sketch/testdata/SketchSimple/SketchSimple.ino diff --git a/arduino/sketch/testdata/SketchSimple/other.cpp b/internal/arduino/sketch/testdata/SketchSimple/other.cpp similarity index 100% rename from arduino/sketch/testdata/SketchSimple/other.cpp rename to internal/arduino/sketch/testdata/SketchSimple/other.cpp diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/.#sketch.ino b/internal/arduino/sketch/testdata/SketchSymlinkSrc/.#sketch.ino similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/.#sketch.ino rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/.#sketch.ino diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/SketchSymlinkSrc.ino b/internal/arduino/sketch/testdata/SketchSymlinkSrc/SketchSymlinkSrc.ino similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/SketchSymlinkSrc.ino rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/SketchSymlinkSrc.ino diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/doc.txt b/internal/arduino/sketch/testdata/SketchSymlinkSrc/doc.txt similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/doc.txt rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/doc.txt diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/header.h b/internal/arduino/sketch/testdata/SketchSymlinkSrc/header.h similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/header.h rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/header.h diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/old.pde b/internal/arduino/sketch/testdata/SketchSymlinkSrc/old.pde similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/old.pde rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/old.pde diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/other.ino b/internal/arduino/sketch/testdata/SketchSymlinkSrc/other.ino similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/other.ino rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/other.ino diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/s_file.S b/internal/arduino/sketch/testdata/SketchSymlinkSrc/s_file.S similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/s_file.S rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/s_file.S diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/src/dont_load_me.ino b/internal/arduino/sketch/testdata/SketchSymlinkSrc/src/dont_load_me.ino similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/src/dont_load_me.ino rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/src/dont_load_me.ino diff --git a/arduino/sketch/testdata/SketchSymlinkSrc/src/helper.h b/internal/arduino/sketch/testdata/SketchSymlinkSrc/src/helper.h similarity index 100% rename from arduino/sketch/testdata/SketchSymlinkSrc/src/helper.h rename to internal/arduino/sketch/testdata/SketchSymlinkSrc/src/helper.h diff --git a/arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/SketchWithDefaultFQBNAndPort.ino b/internal/arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/SketchWithDefaultFQBNAndPort.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/SketchWithDefaultFQBNAndPort.ino rename to internal/arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/SketchWithDefaultFQBNAndPort.ino diff --git a/arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/sketch.yml b/internal/arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/sketch.yml similarity index 100% rename from arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/sketch.yml rename to internal/arduino/sketch/testdata/SketchWithDefaultFQBNAndPort/sketch.yml diff --git a/arduino/sketch/testdata/SketchWithIppFile/SketchWithIppFile.ino b/internal/arduino/sketch/testdata/SketchWithIppFile/SketchWithIppFile.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithIppFile/SketchWithIppFile.ino rename to internal/arduino/sketch/testdata/SketchWithIppFile/SketchWithIppFile.ino diff --git a/arduino/sketch/testdata/SketchWithIppFile/template.ipp b/internal/arduino/sketch/testdata/SketchWithIppFile/template.ipp similarity index 100% rename from arduino/sketch/testdata/SketchWithIppFile/template.ipp rename to internal/arduino/sketch/testdata/SketchWithIppFile/template.ipp diff --git a/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/SketchWithMarkdownAsciidocJson.ino b/internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/SketchWithMarkdownAsciidocJson.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/SketchWithMarkdownAsciidocJson.ino rename to internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/SketchWithMarkdownAsciidocJson.ino diff --git a/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.adoc b/internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.adoc similarity index 100% rename from arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.adoc rename to internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.adoc diff --git a/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.json b/internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.json similarity index 100% rename from arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.json rename to internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.json diff --git a/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.md b/internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.md similarity index 100% rename from arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.md rename to internal/arduino/sketch/testdata/SketchWithMarkdownAsciidocJson/foo.md diff --git a/arduino/sketch/testdata/SketchWithMultipleSymlinkLoops/SketchWithMultipleSymlinkLoops.ino b/internal/arduino/sketch/testdata/SketchWithMultipleSymlinkLoops/SketchWithMultipleSymlinkLoops.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithMultipleSymlinkLoops/SketchWithMultipleSymlinkLoops.ino rename to internal/arduino/sketch/testdata/SketchWithMultipleSymlinkLoops/SketchWithMultipleSymlinkLoops.ino diff --git a/arduino/sketch/testdata/SketchWithProfiles/sketch.yml b/internal/arduino/sketch/testdata/SketchWithProfiles/sketch.yml similarity index 100% rename from arduino/sketch/testdata/SketchWithProfiles/sketch.yml rename to internal/arduino/sketch/testdata/SketchWithProfiles/sketch.yml diff --git a/arduino/sketch/testdata/SketchWithSymlink/SketchWithSymlink.ino b/internal/arduino/sketch/testdata/SketchWithSymlink/SketchWithSymlink.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithSymlink/SketchWithSymlink.ino rename to internal/arduino/sketch/testdata/SketchWithSymlink/SketchWithSymlink.ino diff --git a/arduino/sketch/testdata/SketchWithSymlink/some_folder/helper.h b/internal/arduino/sketch/testdata/SketchWithSymlink/some_folder/helper.h similarity index 100% rename from arduino/sketch/testdata/SketchWithSymlink/some_folder/helper.h rename to internal/arduino/sketch/testdata/SketchWithSymlink/some_folder/helper.h diff --git a/arduino/sketch/testdata/SketchWithSymlinkLoop/SketchWithSymlinkLoop.ino b/internal/arduino/sketch/testdata/SketchWithSymlinkLoop/SketchWithSymlinkLoop.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithSymlinkLoop/SketchWithSymlinkLoop.ino rename to internal/arduino/sketch/testdata/SketchWithSymlinkLoop/SketchWithSymlinkLoop.ino diff --git a/arduino/sketch/testdata/SketchWithSymlinkLoop/some_folder/helper.h b/internal/arduino/sketch/testdata/SketchWithSymlinkLoop/some_folder/helper.h similarity index 100% rename from arduino/sketch/testdata/SketchWithSymlinkLoop/some_folder/helper.h rename to internal/arduino/sketch/testdata/SketchWithSymlinkLoop/some_folder/helper.h diff --git a/arduino/sketch/testdata/SketchWithTppFile/SketchWithTppFile.ino b/internal/arduino/sketch/testdata/SketchWithTppFile/SketchWithTppFile.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithTppFile/SketchWithTppFile.ino rename to internal/arduino/sketch/testdata/SketchWithTppFile/SketchWithTppFile.ino diff --git a/arduino/sketch/testdata/SketchWithTppFile/template.tpp b/internal/arduino/sketch/testdata/SketchWithTppFile/template.tpp similarity index 100% rename from arduino/sketch/testdata/SketchWithTppFile/template.tpp rename to internal/arduino/sketch/testdata/SketchWithTppFile/template.tpp diff --git a/arduino/sketch/testdata/SketchWithWrongMain/main.ino b/internal/arduino/sketch/testdata/SketchWithWrongMain/main.ino similarity index 100% rename from arduino/sketch/testdata/SketchWithWrongMain/main.ino rename to internal/arduino/sketch/testdata/SketchWithWrongMain/main.ino diff --git a/arduino/sketch/testdata/TestNewItem.ino b/internal/arduino/sketch/testdata/TestNewItem.ino similarity index 100% rename from arduino/sketch/testdata/TestNewItem.ino rename to internal/arduino/sketch/testdata/TestNewItem.ino diff --git a/arduino/sketch/yaml.go b/internal/arduino/sketch/yaml.go similarity index 100% rename from arduino/sketch/yaml.go rename to internal/arduino/sketch/yaml.go diff --git a/arduino/sketch/yaml_test.go b/internal/arduino/sketch/yaml_test.go similarity index 100% rename from arduino/sketch/yaml_test.go rename to internal/arduino/sketch/yaml_test.go diff --git a/arduino/utils/filenames.go b/internal/arduino/utils/filenames.go similarity index 100% rename from arduino/utils/filenames.go rename to internal/arduino/utils/filenames.go diff --git a/arduino/utils/search.go b/internal/arduino/utils/search.go similarity index 100% rename from arduino/utils/search.go rename to internal/arduino/utils/search.go diff --git a/arduino/utils/url.go b/internal/arduino/utils/url.go similarity index 100% rename from arduino/utils/url.go rename to internal/arduino/utils/url.go diff --git a/arduino/utils/url_test.go b/internal/arduino/utils/url_test.go similarity index 100% rename from arduino/utils/url_test.go rename to internal/arduino/utils/url_test.go diff --git a/internal/buildcache/build_cache.go b/internal/buildcache/build_cache.go index dc690e2cbc2..e61488a4cc6 100644 --- a/internal/buildcache/build_cache.go +++ b/internal/buildcache/build_cache.go @@ -19,7 +19,6 @@ import ( "time" "github.com/arduino/go-paths-helper" - "github.com/pkg/errors" "github.com/sirupsen/logrus" ) @@ -108,6 +107,6 @@ func removeIfExpired(dir *paths.Path, ttl time.Duration) { logrus.Tracef(`Purging cache directory "%s". Expired by %s`, dir, lifeExpectancy.Abs()) err = dir.RemoveAll() if err != nil { - logrus.Tracef(`Error while pruning cache directory "%s": %s`, dir, errors.WithStack(err)) + logrus.Tracef(`Error while pruning cache directory "%s": %s`, dir, err) } } diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index 84c805c0088..01e1079d8ab 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -18,7 +18,7 @@ package arguments import ( "strings" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" @@ -76,11 +76,11 @@ func CalculateFQBNAndPort(portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, } if fqbn == "" { if portArgs == nil || portArgs.address == "" { - feedback.FatalError(&arduino.MissingFQBNError{}, feedback.ErrGeneric) + feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } fqbn, port := portArgs.DetectFQBN(instance) if fqbn == "" { - feedback.FatalError(&arduino.MissingFQBNError{}, feedback.ErrGeneric) + feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } return fqbn, port } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index de583dccf51..f10c6bf70a0 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -20,8 +20,8 @@ import ( "fmt" "time" - "github.com/arduino/arduino-cli/arduino" "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands/cmderrors" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -146,10 +146,10 @@ func (p *Port) DetectFQBN(inst *rpc.Instance) (string, *rpc.Port) { continue } if len(detectedPort.GetMatchingBoards()) > 1 { - feedback.FatalError(&arduino.MultipleBoardsDetectedError{Port: port}, feedback.ErrBadArgument) + feedback.FatalError(&cmderrors.MultipleBoardsDetectedError{Port: port}, feedback.ErrBadArgument) } if len(detectedPort.GetMatchingBoards()) == 0 { - feedback.FatalError(&arduino.NoBoardsDetectedError{Port: port}, feedback.ErrBadArgument) + feedback.FatalError(&cmderrors.NoBoardsDetectedError{Port: port}, feedback.ErrBadArgument) } return detectedPort.GetMatchingBoards()[0].GetFqbn(), port } diff --git a/internal/cli/arguments/pre_post_script.go b/internal/cli/arguments/pre_post_script.go index 99a54e02d94..ec96711dfa4 100644 --- a/internal/cli/arguments/pre_post_script.go +++ b/internal/cli/arguments/pre_post_script.go @@ -16,7 +16,7 @@ package arguments import ( - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -71,7 +71,7 @@ func (p *PrePostScriptsFlags) DetectSkipPostInstallValue() bool { return true } - if !configuration.IsInteractive { + if !feedback.IsInteractive() { logrus.Info("Not running from console, will skip post-install by default") return true } @@ -90,7 +90,7 @@ func (p *PrePostScriptsFlags) DetectSkipPreUninstallValue() bool { return true } - if !configuration.IsInteractive { + if !feedback.IsInteractive() { logrus.Info("Not running from console, will skip pre-uninstall by default") return true } diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index ed6152af5b8..bf4e327fed1 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -19,7 +19,7 @@ import ( "fmt" "strings" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -115,10 +115,10 @@ func ParseReference(arg string) (*Reference, error) { // replace the returned Reference only if only one occurrence is found, // otherwise return an error to the user because we don't know on which platform operate if len(foundPlatforms) == 0 { - return nil, &arduino.PlatformNotFoundError{Platform: arg} + return nil, &cmderrors.PlatformNotFoundError{Platform: arg} } if len(foundPlatforms) > 1 { - return nil, &arduino.MultiplePlatformsError{Platforms: foundPlatforms, UserPlatform: arg} + return nil, &cmderrors.MultiplePlatformsError{Platforms: foundPlatforms, UserPlatform: arg} } toks = strings.Split(foundPlatforms[0], ":") ret.PackageName = toks[0] diff --git a/internal/cli/arguments/reference_test.go b/internal/cli/arguments/reference_test.go index 29f20300c78..047d3fc9e5c 100644 --- a/internal/cli/arguments/reference_test.go +++ b/internal/cli/arguments/reference_test.go @@ -18,8 +18,8 @@ package arguments_test import ( "testing" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli/arguments" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 9b43173e7db..32eb0cae478 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -19,7 +19,6 @@ import ( "context" "github.com/arduino/arduino-cli/commands/sketch" - sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -41,7 +40,7 @@ func InitSketchPath(path string, printWarnings bool) (sketchPath *paths.Path) { sketchPath = wd } if printWarnings { - if msg := sk.WarnDeprecatedFiles(sketchPath); msg != "" { + if msg := sketch.WarnDeprecatedFiles(sketchPath); msg != "" { feedback.Warning(msg) } } diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index cdb226c0b36..f864768fc8d 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -22,9 +22,9 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/arduino" - "github.com/arduino/arduino-cli/arduino/cores" "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -72,7 +72,7 @@ func runListCommand(watch bool, timeout int64, fqbn string) { Timeout: timeout, Fqbn: fqbn, }) - var invalidFQBNErr *arduino.InvalidFQBNError + var invalidFQBNErr *cmderrors.InvalidFQBNError if errors.As(err, &invalidFQBNErr) { feedback.Fatal(tr(err.Error()), feedback.ErrBadArgument) } diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 0792f1c87e7..8b6c0fc772b 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -20,7 +20,7 @@ import ( "errors" "os" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -85,10 +85,10 @@ func runBootloaderCommand(command *cobra.Command, args []string) { DryRun: dryRun, }, stdOut, stdErr); err != nil { errcode := feedback.ErrGeneric - if errors.Is(err, &arduino.ProgrammerRequiredForUploadError{}) { + if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer } - if errors.Is(err, &arduino.MissingProgrammerError{}) { + if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } feedback.Fatal(tr("Error during Upload: %v", err), errcode) diff --git a/internal/cli/cache/clean.go b/internal/cli/cache/clean.go index f5fbb18c4ec..c4c37a1cf1e 100644 --- a/internal/cli/cache/clean.go +++ b/internal/cli/cache/clean.go @@ -18,7 +18,7 @@ package cache import ( "os" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/cli.go b/internal/cli/cli.go index ad5fb2e9964..024847ff273 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -21,7 +21,6 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/board" "github.com/arduino/arduino-cli/internal/cli/burnbootloader" @@ -29,6 +28,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/compile" "github.com/arduino/arduino-cli/internal/cli/completion" "github.com/arduino/arduino-cli/internal/cli/config" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/core" "github.com/arduino/arduino-cli/internal/cli/daemon" "github.com/arduino/arduino-cli/internal/cli/debug" diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 81ef0a01765..bf40b125007 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -24,14 +24,14 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/compile" "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -282,10 +282,10 @@ func runCompileCommand(cmd *cobra.Command, args []string) { if res, err := upload.Upload(context.Background(), uploadRequest, stdOut, stdErr); err != nil { errcode := feedback.ErrGeneric - if errors.Is(err, &arduino.ProgrammerRequiredForUploadError{}) { + if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer } - if errors.Is(err, &arduino.MissingProgrammerError{}) { + if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } feedback.Fatal(tr("Error during Upload: %v", err), errcode) @@ -366,7 +366,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { // Check the error type to give the user better feedback on how // to resolve it - var platformErr *arduino.PlatformNotFoundError + var platformErr *cmderrors.PlatformNotFoundError if errors.As(compileError, &platformErr) { split := strings.Split(platformErr.Platform, ":") if len(split) < 2 { diff --git a/internal/cli/config/add.go b/internal/cli/config/add.go index fe853df467e..5018b0440de 100644 --- a/internal/cli/config/add.go +++ b/internal/cli/config/add.go @@ -19,7 +19,7 @@ import ( "os" "reflect" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index ee0e8922852..9d03c64b7e6 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -19,8 +19,8 @@ import ( "os" "reflect" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/spf13/cobra" ) diff --git a/internal/cli/config/delete.go b/internal/cli/config/delete.go index e950153a393..ae5bd7976b5 100644 --- a/internal/cli/config/delete.go +++ b/internal/cli/config/delete.go @@ -19,7 +19,7 @@ import ( "os" "github.com/arduino/arduino-cli/commands/daemon" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" diff --git a/internal/cli/config/dump.go b/internal/cli/config/dump.go index b7636f68c4a..9e10bf34f9b 100644 --- a/internal/cli/config/dump.go +++ b/internal/cli/config/dump.go @@ -18,7 +18,7 @@ package config import ( "os" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/config/init.go b/internal/cli/config/init.go index f2ef1effa46..afb05f74279 100644 --- a/internal/cli/config/init.go +++ b/internal/cli/config/init.go @@ -19,8 +19,8 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli/arguments" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" diff --git a/internal/cli/config/remove.go b/internal/cli/config/remove.go index 1be518448e4..d7870172b0c 100644 --- a/internal/cli/config/remove.go +++ b/internal/cli/config/remove.go @@ -19,7 +19,7 @@ import ( "os" "reflect" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/config/set.go b/internal/cli/config/set.go index 339128c38f1..8fd002277da 100644 --- a/internal/cli/config/set.go +++ b/internal/cli/config/set.go @@ -20,7 +20,7 @@ import ( "reflect" "strconv" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/configuration/configuration.go b/internal/cli/configuration/configuration.go similarity index 100% rename from configuration/configuration.go rename to internal/cli/configuration/configuration.go diff --git a/configuration/configuration.schema.json b/internal/cli/configuration/configuration.schema.json similarity index 100% rename from configuration/configuration.schema.json rename to internal/cli/configuration/configuration.schema.json diff --git a/configuration/configuration_schema_test.go b/internal/cli/configuration/configuration_schema_test.go similarity index 100% rename from configuration/configuration_schema_test.go rename to internal/cli/configuration/configuration_schema_test.go diff --git a/configuration/configuration_test.go b/internal/cli/configuration/configuration_test.go similarity index 100% rename from configuration/configuration_test.go rename to internal/cli/configuration/configuration_test.go diff --git a/configuration/defaults.go b/internal/cli/configuration/defaults.go similarity index 100% rename from configuration/defaults.go rename to internal/cli/configuration/defaults.go diff --git a/configuration/directories.go b/internal/cli/configuration/directories.go similarity index 100% rename from configuration/directories.go rename to internal/cli/configuration/directories.go diff --git a/configuration/network.go b/internal/cli/configuration/network.go similarity index 100% rename from configuration/network.go rename to internal/cli/configuration/network.go diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index ed2a007f888..b84b855b8ad 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -23,11 +23,11 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/arduino/globals" - "github.com/arduino/arduino-cli/arduino/utils" "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/core" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/utils" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index c7282d9ba4d..638246dc4f1 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -21,7 +21,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" @@ -125,7 +125,7 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni response, err := core.PlatformUpgrade(context.Background(), r, feedback.ProgressBar(), feedback.TaskProgress()) warningMissingIndex(response) if err != nil { - var alreadyAtLatestVersionErr *arduino.PlatformAlreadyAtTheLatestVersionError + var alreadyAtLatestVersionErr *cmderrors.PlatformAlreadyAtTheLatestVersionError if errors.As(err, &alreadyAtLatestVersionErr) { feedback.Warning(err.Error()) continue diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 5dfeef7da80..2331e8005ca 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -25,8 +25,8 @@ import ( "syscall" "github.com/arduino/arduino-cli/commands/daemon" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" srv_commands "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 772b16071fc..fcf72fd1686 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -22,7 +22,7 @@ import ( "os" "os/signal" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/debug" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/i18n" @@ -101,7 +101,7 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments if res, err := debug.GetDebugConfig(context.Background(), debugConfigRequested); err != nil { errcode := feedback.ErrBadArgument - if errors.Is(err, &arduino.MissingProgrammerError{}) { + if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } feedback.Fatal(tr("Error getting Debug info: %v", err), errcode) @@ -121,7 +121,7 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments } if _, err := debug.Debug(context.Background(), debugConfigRequested, in, out, ctrlc); err != nil { errcode := feedback.ErrGeneric - if errors.Is(err, &arduino.MissingProgrammerError{}) { + if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } feedback.Fatal(tr("Error during Debug: %v", err), errcode) diff --git a/internal/cli/feedback/terminal.go b/internal/cli/feedback/terminal.go index 09dc0212f4a..9b60b80cc11 100644 --- a/internal/cli/feedback/terminal.go +++ b/internal/cli/feedback/terminal.go @@ -22,6 +22,7 @@ import ( "io" "os" + "github.com/mattn/go-isatty" "golang.org/x/term" ) @@ -46,7 +47,7 @@ func SetRawModeStdin() error { if oldStateStdin != nil { panic("terminal already in RAW mode") } - if !IsTerminal() { + if !IsInteractive() { return errors.New(tr("not running in a terminal")) } old, err := term.MakeRaw(int(os.Stdin.Fd())) @@ -68,9 +69,22 @@ func RestoreModeStdin() { oldStateStdin = nil } -// IsTerminal returns true if there is an interactive terminal -func IsTerminal() bool { - return term.IsTerminal(int(os.Stdin.Fd())) +// IsInteractive returns true if the CLI is interactive (it can receive inputs from terminal/console) +func IsInteractive() bool { + return isatty.IsTerminal(os.Stdin.Fd()) || isatty.IsCygwinTerminal(os.Stdin.Fd()) +} + +// HasConsole returns true if the CLI outputs to a terminal/console +func HasConsole() bool { + return isatty.IsTerminal(os.Stdout.Fd()) || isatty.IsCygwinTerminal(os.Stdout.Fd()) +} + +// IsCI returns true if running on CI environments. +// (based on https://github.com/watson/ci-info/blob/HEAD/index.js) +func IsCI() bool { + return os.Getenv("CI") != "" || // GitHub Actions, Travis CI, CircleCI, Cirrus CI, GitLab CI, AppVeyor, CodeShip, dsari + os.Getenv("BUILD_NUMBER") != "" || // Jenkins, TeamCity + os.Getenv("RUN_ID") != "" // TaskCluster, dsari } // InputUserField prompts the user to input the provided user field. @@ -78,7 +92,7 @@ func InputUserField(prompt string, secret bool) (string, error) { if format != Text { return "", errors.New(tr("user input not supported for the '%s' output format", format)) } - if !IsTerminal() { + if !IsInteractive() { return "", errors.New(tr("user input not supported in non interactive mode")) } diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 549f4d7c328..72a2a0592f9 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -22,8 +22,8 @@ import ( "strings" "github.com/arduino/arduino-cli/commands/lib" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/internal/cli/arguments" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index da666bdc579..d0f0e329081 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -24,7 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/lib" - "github.com/arduino/arduino-cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index fb499ba326c..44dca503715 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -28,7 +28,6 @@ import ( "github.com/arduino/arduino-cli/commands/monitor" sk "github.com/arduino/arduino-cli/commands/sketch" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" @@ -88,7 +87,7 @@ func runMonitorCmd( ) { logrus.Info("Executing `arduino-cli monitor`") - if !configuration.HasConsole { + if !feedback.HasConsole() { quiet = true } @@ -230,7 +229,7 @@ func runMonitorCmd( ctx, cancel := cleanup.InterruptableContext(context.Background()) if raw { - if feedback.IsTerminal() { + if feedback.IsInteractive() { if err := feedback.SetRawModeStdin(); err != nil { feedback.Warning(tr("Error setting raw mode: %s", err.Error())) } diff --git a/internal/cli/sketch/new.go b/internal/cli/sketch/new.go index 01aa818168c..3514a05556b 100644 --- a/internal/cli/sketch/new.go +++ b/internal/cli/sketch/new.go @@ -20,8 +20,8 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/arduino/globals" sk "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" diff --git a/internal/cli/updater/updater.go b/internal/cli/updater/updater.go index 77e73785de7..8b8a54a0f85 100644 --- a/internal/cli/updater/updater.go +++ b/internal/cli/updater/updater.go @@ -17,13 +17,12 @@ package updater import ( "fmt" - "os" "strings" "time" - "github.com/arduino/arduino-cli/arduino/httpclient" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/inventory" "github.com/arduino/arduino-cli/version" @@ -94,14 +93,7 @@ func shouldCheckForUpdate(currentVersion *semver.Version) bool { } // Don't check when running on CI or on non interactive consoles - return !isCI() && configuration.IsInteractive && configuration.HasConsole -} - -// based on https://github.com/watson/ci-info/blob/HEAD/index.js -func isCI() bool { - return os.Getenv("CI") != "" || // GitHub Actions, Travis CI, CircleCI, Cirrus CI, GitLab CI, AppVeyor, CodeShip, dsari - os.Getenv("BUILD_NUMBER") != "" || // Jenkins, TeamCity - os.Getenv("RUN_ID") != "" // TaskCluster, dsari + return !feedback.IsCI() && feedback.IsInteractive() && feedback.HasConsole() } // getLatestRelease queries the official Arduino download server for the latest release, diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 6ea7e22e483..2f480e62ca2 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -22,7 +22,7 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/core" sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" @@ -129,7 +129,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { // Check the error type to give the user better feedback on how // to resolve it - var platformErr *arduino.PlatformNotFoundError + var platformErr *cmderrors.PlatformNotFoundError if errors.As(err, &platformErr) { split := strings.Split(platformErr.Platform, ":") if len(split) < 2 { @@ -194,10 +194,10 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { } if res, err := upload.Upload(context.Background(), req, stdOut, stdErr); err != nil { errcode := feedback.ErrGeneric - if errors.Is(err, &arduino.ProgrammerRequiredForUploadError{}) { + if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer } - if errors.Is(err, &arduino.MissingProgrammerError{}) { + if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } feedback.FatalError(err, errcode) diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 7ab7ab97f5e..40add0dc391 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -26,7 +26,7 @@ import ( "testing" "time" - "github.com/arduino/arduino-cli/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/integrationtest" "github.com/arduino/go-paths-helper" "github.com/go-git/go-git/v5" diff --git a/internal/integrationtest/compile_4/compile_test.go b/internal/integrationtest/compile_4/compile_test.go index 42bd97fd1a9..b48075fa21c 100644 --- a/internal/integrationtest/compile_4/compile_test.go +++ b/internal/integrationtest/compile_4/compile_test.go @@ -27,7 +27,7 @@ import ( "text/template" "time" - "github.com/arduino/arduino-cli/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/integrationtest" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 25df9e25aa2..f7e59a02896 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -23,7 +23,7 @@ import ( "testing" "time" - "github.com/arduino/arduino-cli/arduino" + "github.com/arduino/arduino-cli/commands/cmderrors" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/integrationtest" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -518,7 +518,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { require.NoError(t, err) platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) - require.ErrorIs(t, upgradeError, (&arduino.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) + require.ErrorIs(t, upgradeError, (&cmderrors.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) require.NotNil(t, platform) require.False(t, platform.GetMetadata().GetIndexed()) // the esp866 is not present in the additional-urls require.False(t, platform.GetRelease().GetMissingMetadata()) // install.json is present @@ -543,7 +543,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { require.NoError(t, err) platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) - require.ErrorIs(t, upgradeError, (&arduino.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) + require.ErrorIs(t, upgradeError, (&cmderrors.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) require.NotNil(t, platform) require.False(t, platform.GetMetadata().GetIndexed()) // the esp866 is not present in the additional-urls require.True(t, platform.GetRelease().GetMissingMetadata()) // install.json is present diff --git a/main.go b/main.go index 55f139c5ca1..677dfd7bdf8 100644 --- a/main.go +++ b/main.go @@ -18,9 +18,9 @@ package main import ( "os" - "github.com/arduino/arduino-cli/configuration" "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" ) From 6f89287832d8f089a563ca9dbd6904d99e3f1d41 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Dec 2023 16:36:55 +0100 Subject: [PATCH 056/361] [skip-changelog] Bump github.com/spf13/viper from 1.17.0 to 1.18.1 (#2459) * Bump github.com/spf13/viper from 1.17.0 to 1.18.1 Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.17.0 to 1.18.1. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.17.0...v1.18.1) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/fsnotify/fsnotify.dep.yml | 2 +- .licenses/go/github.com/spf13/afero.dep.yml | 2 +- .../spf13/afero/internal/common.dep.yml | 6 +- .../go/github.com/spf13/afero/mem.dep.yml | 6 +- .licenses/go/github.com/spf13/cast.dep.yml | 2 +- .licenses/go/github.com/spf13/viper.dep.yml | 2 +- .../spf13/viper/internal/encoding.dep.yml | 6 +- .../viper/internal/encoding/dotenv.dep.yml | 6 +- .../spf13/viper/internal/encoding/hcl.dep.yml | 6 +- .../spf13/viper/internal/encoding/ini.dep.yml | 6 +- .../internal/encoding/javaproperties.dep.yml | 6 +- .../viper/internal/encoding/json.dep.yml | 6 +- .../viper/internal/encoding/toml.dep.yml | 6 +- .../viper/internal/encoding/yaml.dep.yml | 6 +- .../go/golang.org/x/crypto/argon2.dep.yml | 6 +- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 +- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 +- .../go/golang.org/x/crypto/cast5.dep.yml | 6 +- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +- .../x/crypto/ssh/knownhosts.dep.yml | 6 +- .licenses/go/golang.org/x/net/context.dep.yml | 6 +- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +- .../golang.org/x/net/internal/socks.dep.yml | 6 +- .../x/net/internal/timeseries.dep.yml | 6 +- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +- .../genproto/googleapis/rpc/status.dep.yml | 4 +- go.mod | 16 +- go.sum | 440 +----------------- 33 files changed, 112 insertions(+), 512 deletions(-) diff --git a/.licenses/go/github.com/fsnotify/fsnotify.dep.yml b/.licenses/go/github.com/fsnotify/fsnotify.dep.yml index 5cb2ddc7c33..5b3324b3ee4 100644 --- a/.licenses/go/github.com/fsnotify/fsnotify.dep.yml +++ b/.licenses/go/github.com/fsnotify/fsnotify.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/fsnotify/fsnotify -version: v1.6.0 +version: v1.7.0 type: go summary: Package fsnotify provides a cross-platform interface for file system notifications. homepage: https://pkg.go.dev/github.com/fsnotify/fsnotify diff --git a/.licenses/go/github.com/spf13/afero.dep.yml b/.licenses/go/github.com/spf13/afero.dep.yml index b1f072c83e8..c0053ded734 100644 --- a/.licenses/go/github.com/spf13/afero.dep.yml +++ b/.licenses/go/github.com/spf13/afero.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/afero -version: v1.10.0 +version: v1.11.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/afero diff --git a/.licenses/go/github.com/spf13/afero/internal/common.dep.yml b/.licenses/go/github.com/spf13/afero/internal/common.dep.yml index d60e00bd580..bd5796a18c1 100644 --- a/.licenses/go/github.com/spf13/afero/internal/common.dep.yml +++ b/.licenses/go/github.com/spf13/afero/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/afero/internal/common -version: v1.10.0 +version: v1.11.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/afero/internal/common license: apache-2.0 licenses: -- sources: afero@v1.10.0/LICENSE.txt +- sources: afero@v1.11.0/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,7 +182,7 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: afero@v1.10.0/README.md +- sources: afero@v1.11.0/README.md text: |- Afero is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) diff --git a/.licenses/go/github.com/spf13/afero/mem.dep.yml b/.licenses/go/github.com/spf13/afero/mem.dep.yml index 17bc151fabc..bf2e3824949 100644 --- a/.licenses/go/github.com/spf13/afero/mem.dep.yml +++ b/.licenses/go/github.com/spf13/afero/mem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/afero/mem -version: v1.10.0 +version: v1.11.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/afero/mem license: apache-2.0 licenses: -- sources: afero@v1.10.0/LICENSE.txt +- sources: afero@v1.11.0/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,7 +182,7 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: afero@v1.10.0/README.md +- sources: afero@v1.11.0/README.md text: |- Afero is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) diff --git a/.licenses/go/github.com/spf13/cast.dep.yml b/.licenses/go/github.com/spf13/cast.dep.yml index 8cf6d2dd0f4..2a3a308e4ef 100644 --- a/.licenses/go/github.com/spf13/cast.dep.yml +++ b/.licenses/go/github.com/spf13/cast.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/cast -version: v1.5.1 +version: v1.6.0 type: go summary: Package cast provides easy and safe casting in Go. homepage: https://pkg.go.dev/github.com/spf13/cast diff --git a/.licenses/go/github.com/spf13/viper.dep.yml b/.licenses/go/github.com/spf13/viper.dep.yml index 61d4b93a856..1be63af8829 100644 --- a/.licenses/go/github.com/spf13/viper.dep.yml +++ b/.licenses/go/github.com/spf13/viper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/viper -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml index d06da41598d..517261eba7b 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml index 520cf1af8b9..6dd947af62f 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/dotenv -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/dotenv license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml index 30fb1375ca4..024dd3add07 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/hcl -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/hcl license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml index 7eb677cf34c..2ee7bf59eca 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/ini -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/ini license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml index eb799d46183..0e27e36ca7a 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/javaproperties -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/javaproperties license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml index ca7d35555a5..554db78a0b3 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/json -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/json license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml index 8a687976549..b8bbab674a0 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/toml -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/toml license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml index 25216cd35a9..0bfffb52149 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/yaml -version: v1.17.0 +version: v1.18.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/yaml license: mit licenses: -- sources: viper@v1.17.0/LICENSE +- sources: viper@v1.18.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.17.0/README.md +- sources: viper@v1.18.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 26cb05b88c0..c33e9d2b684 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.14.0 +version: v0.16.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: other licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index 35cc490981d..e132cd3ba54 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.14.0 +version: v0.16.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: other licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 673b5ea2756..26739a9c746 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.14.0 +version: v0.16.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index cc24bc1f555..affca44a537 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.14.0 +version: v0.16.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 6904f20a20c..92f0be4a6cc 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.14.0 +version: v0.16.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index 8eb9022dbe5..9b99041f83f 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.14.0 +version: v0.16.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 1c44d2ffcd5..9032dd5c034 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.14.0 +version: v0.16.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index f6d974982aa..0c5a3e74781 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.14.0 +version: v0.16.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index d1df2f193ee..35b9bbb5205 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.14.0 +version: v0.16.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index c214063f85f..f32ad6619cb 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.14.0 +version: v0.16.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.14.0/LICENSE +- sources: crypto@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.14.0/PATENTS +- sources: crypto@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index b23d53b3a73..fcf7365ee41 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.17.0 +version: v0.19.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.17.0/LICENSE +- sources: net@v0.19.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.17.0/PATENTS +- sources: net@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index a6c91378197..7fee7d67c36 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.17.0 +version: v0.19.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.17.0/LICENSE +- sources: net@v0.19.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.17.0/PATENTS +- sources: net@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index ddb35768373..6648db41167 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.17.0 +version: v0.19.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.17.0/LICENSE +- sources: net@v0.19.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.17.0/PATENTS +- sources: net@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 061490104e4..4a10ba0419d 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.17.0 +version: v0.19.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.17.0/LICENSE +- sources: net@v0.19.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.17.0/PATENTS +- sources: net@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index 59c34c05487..9f20ec1d3fc 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.17.0 +version: v0.19.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.17.0/LICENSE +- sources: net@v0.19.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.17.0/PATENTS +- sources: net@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 193ba90548d..706266a435f 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.17.0 +version: v0.19.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.17.0/LICENSE +- sources: net@v0.19.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.17.0/PATENTS +- sources: net@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index cafd8a3e5fd..4626722a69a 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20231012201019-e917dd12ba7a +version: v0.0.0-20231120223509-83a465c0220f type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20231012201019-e917dd12ba7a/LICENSE +- sources: rpc@v0.0.0-20231120223509-83a465c0220f/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 998dd49bba7..1d85a5abc25 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 - github.com/spf13/viper v1.17.0 + github.com/spf13/viper v1.18.1 github.com/stretchr/testify v1.8.4 github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 @@ -40,7 +40,7 @@ require ( go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.15.0 golang.org/x/text v0.14.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a + google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f google.golang.org/grpc v1.59.0 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 @@ -56,7 +56,7 @@ require ( github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/golang/protobuf v1.5.3 // indirect @@ -81,12 +81,12 @@ require ( github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/sagikazarmark/locafero v0.3.0 // indirect + github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sergi/go-diff v1.3.1 // indirect github.com/sourcegraph/conc v0.3.0 // indirect - github.com/spf13/afero v1.10.0 // indirect - github.com/spf13/cast v1.5.1 // indirect + github.com/spf13/afero v1.11.0 // indirect + github.com/spf13/cast v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/ulikunitz/xz v0.5.11 // indirect @@ -95,10 +95,10 @@ require ( github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.14.0 // indirect + golang.org/x/crypto v0.16.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/net v0.19.0 // indirect golang.org/x/sys v0.15.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 85f02b41536..767d12cb779 100644 --- a/go.sum +++ b/go.sum @@ -1,43 +1,3 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= @@ -66,20 +26,12 @@ github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cmaglie/easyjson v0.8.1 h1:nKQ6Yew57jsoGsuyRJPgm8PSsjbU3eO/uA9BsTu3E/8= github.com/cmaglie/easyjson v0.8.1/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/kmZI= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/codeclysm/extract/v3 v3.1.1 h1:iHZtdEAwSTqPrd+1n4jfhr1qBhUWtHlMTjT90+fJVXg= github.com/codeclysm/extract/v3 v3.1.1/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dHxfWuPaMhlOfQ= github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= @@ -101,19 +53,13 @@ github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmW github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= -github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= -github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= +github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= @@ -127,83 +73,24 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2Su github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M= github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= @@ -217,18 +104,14 @@ github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/juju/errors v1.0.0 h1:yiq7kjCLll1BiaRuNY53MGI0+EQ3rF6GB+wvboZDefM= github.com/juju/errors v1.0.0/go.mod h1:B5x9thDqx0wIMH3+aLIMP9HjItInYWObRovoCFM5Qe8= github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= @@ -266,23 +149,20 @@ github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdU github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 h1:mZHayPoR0lNmnHyvtYjDeq0zlVHn9K/ZXoy17ylucdo= github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5HgEKCvEIIrSpFI3ozzG5xOKA2DVlEX/gGnewM= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ= -github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U= +github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= +github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/schollz/closestmatch v2.1.0+incompatible h1:Uel2GXEpJqOWBrlyI+oY9LTiyyjYS17cCYRqP13/SHk= @@ -296,16 +176,16 @@ github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= -github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY= -github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= -github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= -github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= +github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= +github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= +github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= +github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI= -github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI= +github.com/spf13/viper v1.18.1 h1:rmuU42rScKWlhhJDyXZRKJQHXFX02chSVW1IvkPGiVM= +github.com/spf13/viper v1.18.1/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= @@ -313,7 +193,6 @@ github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpE github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= @@ -332,10 +211,6 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= @@ -347,100 +222,27 @@ go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.1.1 h1:nHotIMK151LF3vYsU/b2RaoVaWCgrf2kvQeGNoZkGaA= go.bug.st/testifyjson v1.1.1/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -448,71 +250,24 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= -golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -520,7 +275,6 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -534,12 +288,8 @@ golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= @@ -547,167 +297,27 @@ golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a h1:a2MQQVoTo96JC9PMGtGBymLp7+/RzpFc2yX/9WfFg1c= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231012201019-e917dd12ba7a/go.mod h1:4cYg8o5yUbm77w8ZX00LhMVNl/YVBFJRYWDc0uYWMs0= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= @@ -720,15 +330,5 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= From 7b991e484bec53463c61915d65264105cfbeab05 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 13 Dec 2023 17:08:15 +0100 Subject: [PATCH 057/361] [skip-changelog] Bump google.golang.org/grpc from 1.59.0 to 1.60.0 (#2462) * Bump google.golang.org/grpc from 1.59.0 to 1.60.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.59.0 to 1.60.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.59.0...v1.60.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../google.golang.org/grpc/attributes.dep.yml | 4 +- .../go/google.golang.org/grpc/backoff.dep.yml | 4 +- .../google.golang.org/grpc/balancer.dep.yml | 4 +- .../grpc/balancer/base.dep.yml | 4 +- .../grpc/balancer/grpclb/state.dep.yml | 4 +- .../grpc/balancer/roundrobin.dep.yml | 4 +- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 +- .../google.golang.org/grpc/channelz.dep.yml | 4 +- .../go/google.golang.org/grpc/codes.dep.yml | 4 +- .../grpc/connectivity.dep.yml | 4 +- .../grpc/credentials.dep.yml | 4 +- .../grpc/credentials/insecure.dep.yml | 4 +- .../google.golang.org/grpc/encoding.dep.yml | 4 +- .../grpc/encoding/proto.dep.yml | 4 +- .../go/google.golang.org/grpc/grpclog.dep.yml | 4 +- .../google.golang.org/grpc/internal.dep.yml | 4 +- .../grpc/internal/backoff.dep.yml | 4 +- .../internal/balancer/gracefulswitch.dep.yml | 4 +- .../grpc/internal/balancerload.dep.yml | 4 +- .../grpc/internal/binarylog.dep.yml | 4 +- .../grpc/internal/buffer.dep.yml | 4 +- .../grpc/internal/channelz.dep.yml | 4 +- .../grpc/internal/credentials.dep.yml | 4 +- .../grpc/internal/envconfig.dep.yml | 4 +- .../grpc/internal/grpclog.dep.yml | 4 +- .../grpc/internal/grpcrand.dep.yml | 4 +- .../grpc/internal/grpcsync.dep.yml | 4 +- .../grpc/internal/grpcutil.dep.yml | 4 +- .../grpc/internal/idle.dep.yml | 4 +- .../grpc/internal/metadata.dep.yml | 4 +- .../grpc/internal/pretty.dep.yml | 4 +- .../grpc/internal/resolver.dep.yml | 4 +- .../grpc/internal/resolver/dns.dep.yml | 4 +- .../internal/resolver/dns/internal.dep.yml | 213 +++++++++++++++++ .../internal/resolver/passthrough.dep.yml | 4 +- .../grpc/internal/resolver/unix.dep.yml | 4 +- .../grpc/internal/serviceconfig.dep.yml | 4 +- .../grpc/internal/status.dep.yml | 4 +- .../grpc/internal/syscall.dep.yml | 4 +- .../grpc/internal/transport.dep.yml | 4 +- .../internal/transport/networktype.dep.yml | 4 +- .../google.golang.org/grpc/keepalive.dep.yml | 4 +- .../google.golang.org/grpc/metadata.dep.yml | 4 +- .../go/google.golang.org/grpc/peer.dep.yml | 4 +- .../google.golang.org/grpc/resolver.dep.yml | 4 +- .../grpc/resolver/dns.dep.yml | 214 ++++++++++++++++++ .../grpc/serviceconfig.dep.yml | 4 +- .../go/google.golang.org/grpc/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/status.dep.yml | 4 +- .../go/google.golang.org/grpc/tap.dep.yml | 4 +- go.mod | 2 +- go.sum | 4 +- 53 files changed, 527 insertions(+), 100 deletions(-) create mode 100644 .licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index a585fa9a3a0..f9ef29d3c00 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.59.0 +version: v1.60.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 9befb12adc6..0d0ffd812eb 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.59.0 +version: v1.60.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 0579efa6c6c..4b94a9fe1bc 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.59.0 +version: v1.60.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 21aec050d2f..5235eabc37c 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.59.0 +version: v1.60.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 82f7d5e6dcb..cb0a55ad1ef 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.59.0 +version: v1.60.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 420a6707984..6239a4b1a4a 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.59.0 +version: v1.60.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 3222ed332d4..7f683bb9b31 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.59.0 +version: v1.60.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index a9a5be3046d..afb284383a6 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.59.0 +version: v1.60.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 823fc583aa0..b5ccbae792a 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.59.0 +version: v1.60.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index e87033f466c..f181d7acf1f 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.59.0 +version: v1.60.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 7efc59fcdb5..3fe74f2d493 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.59.0 +version: v1.60.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 70c2e9d2a41..b21dc388be1 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.59.0 +version: v1.60.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index c057209b0ba..6480a44a4c8 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.59.0 +version: v1.60.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index a564ded5aba..8fab83f1d8b 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.59.0 +version: v1.60.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index cb57fd8dac0..7a910ec6a0c 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.59.0 +version: v1.60.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 00cdc22eaf5..a3d1267d2bd 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.59.0 +version: v1.60.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 2dded8fecfd..cec221408c5 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.59.0 +version: v1.60.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 0b758f3d550..2243eaf9bdc 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.59.0 +version: v1.60.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 90492543967..3ac16acc49f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.59.0 +version: v1.60.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index e26ecfae4ca..aed9524dd28 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.59.0 +version: v1.60.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 10d9ce6506a..75ee38da0f7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.59.0 +version: v1.60.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index e7e9b96d2b0..8ec8695baf9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.59.0 +version: v1.60.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index e362f694600..d00cd2a4b8d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.59.0 +version: v1.60.0 type: go summary: Package channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 9e96e53fa62..c73abdf1106 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.59.0 +version: v1.60.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 5bd2910a7c1..32954987f40 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.59.0 +version: v1.60.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 06459070b61..89792243c6b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.59.0 +version: v1.60.0 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml index 5c3ef087218..cea6a06938f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcrand -version: v1.59.0 +version: v1.60.0 type: go summary: Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 6172b356dbd..002002169fa 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.59.0 +version: v1.60.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 0b2e60035cb..50f83273174 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.59.0 +version: v1.60.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 690a1350553..85b915d9611 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.59.0 +version: v1.60.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index ee678ec0a75..cb67aacd6fd 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.59.0 +version: v1.60.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 4f482986881..38c7623adb6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.59.0 +version: v1.60.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 8e7d86e8c71..78e34d914db 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.59.0 +version: v1.60.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index a22edaca46a..5fe5e6ef5e7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.59.0 +version: v1.60.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml new file mode 100644 index 00000000000..5746dad5209 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -0,0 +1,213 @@ +--- +name: google.golang.org/grpc/internal/resolver/dns/internal +version: v1.60.0 +type: go +summary: Package internal contains functionality internal to the dns resolver package. +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal +license: apache-2.0 +licenses: +- sources: grpc@v1.60.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index e4539c2ed72..2a48599b25c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.59.0 +version: v1.60.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index c0497dc623e..37f089077f2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.59.0 +version: v1.60.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index d48a818cd11..1a08e699e77 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.59.0 +version: v1.60.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index b9e184fb3f1..59a862a2265 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.59.0 +version: v1.60.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 9669ed849d3..b4ab95fadda 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.59.0 +version: v1.60.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 5dfe7fa30cb..b0d985e9f60 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.59.0 +version: v1.60.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 348fb4cc16e..ef9eac10005 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.59.0 +version: v1.60.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 38e15142618..908091aa305 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.59.0 +version: v1.60.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index a83c4b25c6e..85ce76a37c3 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.59.0 +version: v1.60.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index b714097e75f..6df4573aabe 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.59.0 +version: v1.60.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 31a507d9d11..12cf8b887f8 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.59.0 +version: v1.60.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml new file mode 100644 index 00000000000..815c303de15 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -0,0 +1,214 @@ +--- +name: google.golang.org/grpc/resolver/dns +version: v1.60.0 +type: go +summary: Package dns implements a dns resolver to be installed as the default resolver + in grpc. +homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns +license: apache-2.0 +licenses: +- sources: grpc@v1.60.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 4f4f6774fa1..8d2f4b6f4ee 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.59.0 +version: v1.60.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 105008978f3..f6f8926da3e 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.59.0 +version: v1.60.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index f480312b8db..24c79fc2e32 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.59.0 +version: v1.60.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 027c333b0c2..cf253fce6a4 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.59.0 +version: v1.60.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.59.0/LICENSE +- sources: grpc@v1.60.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 1d85a5abc25..152f24a4ea5 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( golang.org/x/term v0.15.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f - google.golang.org/grpc v1.59.0 + google.golang.org/grpc v1.60.0 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index 767d12cb779..d0155206e1a 100644 --- a/go.sum +++ b/go.sum @@ -307,8 +307,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= -google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/grpc v1.60.0 h1:6FQAR0kM31P6MRdeluor2w2gPaS4SVNrD/DNTxrQ15k= +google.golang.org/grpc v1.60.0/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= From b9476dee27312932cb499644942fb3a2a4c6324b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Dec 2023 15:46:50 +0100 Subject: [PATCH 058/361] [skip-changelog] Bump github.com/rogpeppe/go-internal from 1.11.0 to 1.12.0 (#2463) Bumps [github.com/rogpeppe/go-internal](https://github.com/rogpeppe/go-internal) from 1.11.0 to 1.12.0. - [Release notes](https://github.com/rogpeppe/go-internal/releases) - [Commits](https://github.com/rogpeppe/go-internal/compare/v1.11.0...v1.12.0) --- updated-dependencies: - dependency-name: github.com/rogpeppe/go-internal dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 152f24a4ea5..f7c8ba497d7 100644 --- a/go.mod +++ b/go.mod @@ -26,7 +26,7 @@ require ( github.com/mattn/go-colorable v0.1.13 github.com/mattn/go-isatty v0.0.20 github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 - github.com/rogpeppe/go-internal v1.11.0 + github.com/rogpeppe/go-internal v1.12.0 github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 diff --git a/go.sum b/go.sum index d0155206e1a..2b3802c8e15 100644 --- a/go.sum +++ b/go.sum @@ -157,8 +157,8 @@ github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5H github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= From 0e21e6fd7b516fa378924d83e1db331736455b9c Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Dec 2023 10:36:22 +0100 Subject: [PATCH 059/361] [breaking] refactor: made some golang modules private (part 3) (#2467) * Internalized 'i18n' module * Internalized 'docsgen' package * Internalized 'client_example' * Updated docs --- .github/workflows/check-go-task.yml | 2 +- .../deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- .gitignore | 10 +++++----- Taskfile.yml | 14 +++++++------- commands/board/board.go | 2 +- commands/cmderrors/cmderrors.go | 2 +- commands/compile/compile.go | 2 +- commands/core/download.go | 2 +- commands/daemon/daemon.go | 2 +- commands/debug/debug.go | 2 +- commands/instances.go | 2 +- commands/lib/download.go | 2 +- commands/monitor/monitor.go | 2 +- commands/sketch/archive.go | 2 +- commands/upload/upload.go | 2 +- docs/UPGRADING.md | 3 +++ docs/getting-started.md | 2 +- docs/index.md | 2 +- docs/integration-options.md | 2 +- .../builder/internal/compilation/database.go | 2 +- .../arduino/builder/internal/detector/detector.go | 2 +- .../arduino/builder/internal/preprocessor/ctags.go | 2 +- internal/arduino/builder/sketch.go | 2 +- internal/arduino/cores/cores.go | 2 +- internal/arduino/cores/packageindex/index.go | 2 +- .../cores/packagemanager/package_manager.go | 2 +- internal/arduino/discovery/discovery.go | 2 +- .../discovery/discoverymanager/discoverymanager.go | 2 +- internal/arduino/httpclient/httpclient.go | 2 +- internal/arduino/libraries/libraries.go | 2 +- internal/arduino/libraries/librariesindex/json.go | 2 +- .../libraries/librariesmanager/librariesmanager.go | 2 +- .../arduino/libraries/librariesresolver/cpp.go | 2 +- internal/arduino/monitor/monitor.go | 2 +- internal/arduino/resources/checksums.go | 2 +- internal/arduino/security/signatures.go | 2 +- internal/arduino/serialutils/serialutils.go | 2 +- internal/arduino/sketch/sketch.go | 2 +- internal/cli/arguments/arguments.go | 2 +- internal/cli/board/board.go | 2 +- internal/cli/burnbootloader/burnbootloader.go | 2 +- internal/cli/cache/cache.go | 2 +- internal/cli/cli.go | 2 +- internal/cli/compile/compile.go | 2 +- internal/cli/completion/completion.go | 2 +- internal/cli/config/config.go | 2 +- internal/cli/configuration/configuration.go | 2 +- internal/cli/core/core.go | 2 +- internal/cli/daemon/daemon.go | 2 +- internal/cli/debug/debug.go | 2 +- internal/cli/feedback/feedback.go | 2 +- internal/cli/feedback/result/rpc.go | 2 +- internal/cli/generatedocs/generatedocs.go | 2 +- internal/cli/instance/instance.go | 2 +- internal/cli/lib/lib.go | 2 +- internal/cli/monitor/monitor.go | 2 +- internal/cli/outdated/outdated.go | 2 +- internal/cli/sketch/sketch.go | 2 +- internal/cli/update/update.go | 2 +- internal/cli/updater/updater.go | 2 +- internal/cli/upgrade/upgrade.go | 2 +- internal/cli/upload/upload.go | 2 +- internal/cli/usage.go | 2 +- internal/cli/version/version.go | 2 +- {docsgen => internal/docsgen}/main.go | 0 {i18n => internal/i18n}/README.md | 0 {i18n => internal/i18n}/cmd/ast/parser.go | 2 +- .../i18n}/cmd/commands/catalog/catalog.go | 0 .../i18n}/cmd/commands/catalog/generate_catalog.go | 2 +- {i18n => internal/i18n}/cmd/commands/root.go | 4 ++-- .../i18n}/cmd/commands/transifex/pull_transifex.go | 0 .../i18n}/cmd/commands/transifex/push_transifex.go | 0 .../i18n}/cmd/commands/transifex/transifex.go | 0 {i18n => internal/i18n}/cmd/main.go | 2 +- {i18n => internal/i18n}/cmd/po/catalog.go | 0 {i18n => internal/i18n}/cmd/po/catalog_test.go | 0 {i18n => internal/i18n}/cmd/po/merge.go | 0 {i18n => internal/i18n}/cmd/po/merge_test.go | 0 {i18n => internal/i18n}/cmd/po/parser.go | 0 {i18n => internal/i18n}/cmd/po/parser_test.go | 0 {i18n => internal/i18n}/convert.go | 0 {i18n => internal/i18n}/convert_test.go | 0 {i18n => internal/i18n}/data/.gitkeep | 0 {i18n => internal/i18n}/data/README.md | 2 +- {i18n => internal/i18n}/data/ar.po | 0 {i18n => internal/i18n}/data/de.po | 0 {i18n => internal/i18n}/data/en.po | 0 {i18n => internal/i18n}/data/es.po | 0 {i18n => internal/i18n}/data/fr.po | 0 {i18n => internal/i18n}/data/he.po | 0 {i18n => internal/i18n}/data/it_IT.po | 0 {i18n => internal/i18n}/data/ja.po | 0 {i18n => internal/i18n}/data/kk.po | 0 {i18n => internal/i18n}/data/ko.po | 0 {i18n => internal/i18n}/data/lb.po | 0 {i18n => internal/i18n}/data/mn.po | 0 {i18n => internal/i18n}/data/my_MM.po | 0 {i18n => internal/i18n}/data/ne.po | 0 {i18n => internal/i18n}/data/pl.po | 0 {i18n => internal/i18n}/data/pt.po | 0 {i18n => internal/i18n}/data/pt_BR.po | 0 {i18n => internal/i18n}/data/ru.po | 0 {i18n => internal/i18n}/data/zh.po | 0 {i18n => internal/i18n}/data/zh_TW.po | 0 {i18n => internal/i18n}/detect.go | 0 {i18n => internal/i18n}/detect_cgo_darwin.go | 0 {i18n => internal/i18n}/detect_freebsd.go | 0 {i18n => internal/i18n}/detect_linux.go | 0 {i18n => internal/i18n}/detect_nocgo_darwin.go | 0 {i18n => internal/i18n}/detect_windows.go | 0 {i18n => internal/i18n}/i18n.go | 0 {i18n => internal/i18n}/i18n_test.go | 0 {i18n => internal/i18n}/locale.go | 0 {i18n => internal/i18n}/locale_test.go | 0 internal/inventory/inventory.go | 2 +- main.go | 2 +- .../internal/client_example}/README.md | 0 .../internal/client_example}/hello/hello.ino | 0 .../internal/client_example}/main.go | 0 .../internal/client_example}/squid.conf | 0 version/version.go | 2 +- 121 files changed, 85 insertions(+), 82 deletions(-) rename {docsgen => internal/docsgen}/main.go (100%) rename {i18n => internal/i18n}/README.md (100%) rename {i18n => internal/i18n}/cmd/ast/parser.go (97%) rename {i18n => internal/i18n}/cmd/commands/catalog/catalog.go (100%) rename {i18n => internal/i18n}/cmd/commands/catalog/generate_catalog.go (96%) rename {i18n => internal/i18n}/cmd/commands/root.go (88%) rename {i18n => internal/i18n}/cmd/commands/transifex/pull_transifex.go (100%) rename {i18n => internal/i18n}/cmd/commands/transifex/push_transifex.go (100%) rename {i18n => internal/i18n}/cmd/commands/transifex/transifex.go (100%) rename {i18n => internal/i18n}/cmd/main.go (93%) rename {i18n => internal/i18n}/cmd/po/catalog.go (100%) rename {i18n => internal/i18n}/cmd/po/catalog_test.go (100%) rename {i18n => internal/i18n}/cmd/po/merge.go (100%) rename {i18n => internal/i18n}/cmd/po/merge_test.go (100%) rename {i18n => internal/i18n}/cmd/po/parser.go (100%) rename {i18n => internal/i18n}/cmd/po/parser_test.go (100%) rename {i18n => internal/i18n}/convert.go (100%) rename {i18n => internal/i18n}/convert_test.go (100%) rename {i18n => internal/i18n}/data/.gitkeep (100%) rename {i18n => internal/i18n}/data/README.md (89%) rename {i18n => internal/i18n}/data/ar.po (100%) rename {i18n => internal/i18n}/data/de.po (100%) rename {i18n => internal/i18n}/data/en.po (100%) rename {i18n => internal/i18n}/data/es.po (100%) rename {i18n => internal/i18n}/data/fr.po (100%) rename {i18n => internal/i18n}/data/he.po (100%) rename {i18n => internal/i18n}/data/it_IT.po (100%) rename {i18n => internal/i18n}/data/ja.po (100%) rename {i18n => internal/i18n}/data/kk.po (100%) rename {i18n => internal/i18n}/data/ko.po (100%) rename {i18n => internal/i18n}/data/lb.po (100%) rename {i18n => internal/i18n}/data/mn.po (100%) rename {i18n => internal/i18n}/data/my_MM.po (100%) rename {i18n => internal/i18n}/data/ne.po (100%) rename {i18n => internal/i18n}/data/pl.po (100%) rename {i18n => internal/i18n}/data/pt.po (100%) rename {i18n => internal/i18n}/data/pt_BR.po (100%) rename {i18n => internal/i18n}/data/ru.po (100%) rename {i18n => internal/i18n}/data/zh.po (100%) rename {i18n => internal/i18n}/data/zh_TW.po (100%) rename {i18n => internal/i18n}/detect.go (100%) rename {i18n => internal/i18n}/detect_cgo_darwin.go (100%) rename {i18n => internal/i18n}/detect_freebsd.go (100%) rename {i18n => internal/i18n}/detect_linux.go (100%) rename {i18n => internal/i18n}/detect_nocgo_darwin.go (100%) rename {i18n => internal/i18n}/detect_windows.go (100%) rename {i18n => internal/i18n}/i18n.go (100%) rename {i18n => internal/i18n}/i18n_test.go (100%) rename {i18n => internal/i18n}/locale.go (100%) rename {i18n => internal/i18n}/locale_test.go (100%) rename {client_example => rpc/internal/client_example}/README.md (100%) rename {client_example => rpc/internal/client_example}/hello/hello.ino (100%) rename {client_example => rpc/internal/client_example}/main.go (100%) rename {client_example => rpc/internal/client_example}/squid.conf (100%) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 9e544fdead9..ac30e105afc 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -236,7 +236,7 @@ jobs: matrix: module: - path: internal/arduino/discovery/discovery_client - - path: client_example + - path: rpc/internal/client_example - path: commands/daemon/term_example steps: diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index f6207ae13ee..935939d3ddf 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -21,7 +21,7 @@ on: - "go.sum" - "Taskfile.ya?ml" - "**.go" - - "docsgen/**" + - "internal/docsgen/**" - "rpc/**" - "mkdocs.ya?ml" - "poetry.lock" diff --git a/.gitignore b/.gitignore index 5c529f1a56b..435016fb119 100644 --- a/.gitignore +++ b/.gitignore @@ -18,9 +18,9 @@ __debug_bin* .vscode # gRPC client example folder -/client_example/client_example -/client_example/**/*.bin -/client_example/**/*.elf +/rpc/internal/client_example/client_example +/rpc/internal/client_example/**/*.bin +/rpc/internal/client_example/**/*.elf # Misc. .DS_Store @@ -28,8 +28,8 @@ __debug_bin* # Mkdocs /site/ /public/ -/docsgen/arduino-cli -/docsgen/arduino-cli.exe +/internal/docsgen/arduino-cli +/internal/docsgen/arduino-cli.exe /docs/rpc/*.md /docs/commands/*.md /docs/configuration.schema.json diff --git a/Taskfile.yml b/Taskfile.yml index 0c80f449e21..c8f7db71ca3 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -53,12 +53,12 @@ tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/deploy-cobra-mkdocs-versioned-poetry/Taskfile.yml go:cli-docs: desc: Generate command line interface reference documentation - dir: ./docsgen + dir: ./internal/docsgen cmds: # Command examples use os.Args[0] so the docs generation binary must have the same filename as the project - go build -o {{.PROJECT_NAME}}{{exeExt}} # The binary is invoked like this instead of `./{{.PROJECT_NAME}}` to remove the `./` chars from the examples - - PATH=. {{.PROJECT_NAME}} ../docs/commands + - PATH=. {{.PROJECT_NAME}} ../../docs/commands # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-go-task/Taskfile.yml go:fix: @@ -301,24 +301,24 @@ tasks: i18n:update: desc: Updates i18n files cmds: - - go run ./i18n/cmd/main.go catalog generate . > ./i18n/data/en.po + - go run ./internal/i18n/cmd/main.go catalog generate . > ./internal/i18n/data/en.po i18n:pull: desc: Pull i18n files from transifex cmds: - - go run ./i18n/cmd/main.go transifex pull ./i18n/data + - go run ./internal/i18n/cmd/main.go transifex pull ./internal/i18n/data i18n:push: desc: Push i18n files to transifex cmds: - - go run ./i18n/cmd/main.go transifex push ./i18n/data + - go run ./internal/i18n/cmd/main.go transifex push ./internal/i18n/data i18n:check: desc: Check if the i18n message catalog was updated cmds: - task: i18n:pull - - git add -N ./i18n/data - - git diff --exit-code ./i18n/data + - git add -N ./internal/i18n/data + - git diff --exit-code ./internal/i18n/data # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-mkdocs-task/Taskfile.yml website:check: diff --git a/commands/board/board.go b/commands/board/board.go index f4da2ff6ae4..3baebc26d27 100644 --- a/commands/board/board.go +++ b/commands/board/board.go @@ -15,6 +15,6 @@ package board -import "github.com/arduino/arduino-cli/i18n" +import "github.com/arduino/arduino-cli/internal/i18n" var tr = i18n.Tr diff --git a/commands/cmderrors/cmderrors.go b/commands/cmderrors/cmderrors.go index d5b0c93bf34..248b785df0e 100644 --- a/commands/cmderrors/cmderrors.go +++ b/commands/cmderrors/cmderrors.go @@ -19,7 +19,7 @@ import ( "fmt" "strings" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "google.golang.org/grpc/codes" diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 8e4d4af3547..92382b3e939 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -25,7 +25,6 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/builder" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" @@ -33,6 +32,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" diff --git a/commands/core/download.go b/commands/core/download.go index 2d67157d31e..c166af6585a 100644 --- a/commands/core/download.go +++ b/commands/core/download.go @@ -21,8 +21,8 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index ffb7e0c0f5d..be212073eeb 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -30,7 +30,7 @@ import ( "github.com/arduino/arduino-cli/commands/monitor" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "google.golang.org/grpc/metadata" diff --git a/commands/debug/debug.go b/commands/debug/debug.go index 76282515e5e..afecc276439 100644 --- a/commands/debug/debug.go +++ b/commands/debug/debug.go @@ -26,8 +26,8 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" diff --git a/commands/instances.go b/commands/instances.go index aaeb32d8195..a4a70d19370 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -24,7 +24,6 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" @@ -36,6 +35,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" diff --git a/commands/lib/download.go b/commands/lib/download.go index 47022c3ee56..a8714413eb3 100644 --- a/commands/lib/download.go +++ b/commands/lib/download.go @@ -20,10 +20,10 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" ) diff --git a/commands/monitor/monitor.go b/commands/monitor/monitor.go index f6285ec77bd..31c30c2e34d 100644 --- a/commands/monitor/monitor.go +++ b/commands/monitor/monitor.go @@ -22,10 +22,10 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" pluggableMonitor "github.com/arduino/arduino-cli/internal/arduino/monitor" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" "github.com/sirupsen/logrus" diff --git a/commands/sketch/archive.go b/commands/sketch/archive.go index 7d07d1fcbf2..8f843dbca6b 100644 --- a/commands/sketch/archive.go +++ b/commands/sketch/archive.go @@ -23,8 +23,8 @@ import ( "strings" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 7a8c08bf6ee..0d1e257a09e 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -26,7 +26,6 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" @@ -34,6 +33,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/serialutils" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index bb787d7248e..5f46b42f90a 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -10,8 +10,11 @@ The following golang modules are no longer available as public API: - `github.com/arduino/arduino-cli/arduino` - `github.com/arduino/arduino-cli/buildcache` +- `github.com/arduino/arduino-cli/client_example` - `github.com/arduino/arduino-cli/configuration` +- `github.com/arduino/arduino-cli/docsgen` - `github.com/arduino/arduino-cli/executils` +- `github.com/arduino/arduino-cli/i18n` - `github.com/arduino/arduino-cli/table` Most of the `executils` library has been integrated inside the `go-paths` library `github.com/arduino/go-paths-helper`. diff --git a/docs/getting-started.md b/docs/getting-started.md index 19628282f91..ad4de630496 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -349,6 +349,6 @@ metrics: ``` [configuration documentation]: configuration.md -[client_example]: https://github.com/arduino/arduino-cli/blob/master/client_example +[client_example]: https://github.com/arduino/arduino-cli/blob/master/rpc/internal/client_example [grpc reference]: rpc/commands.md [prometheus]: https://prometheus.io/ diff --git a/docs/index.md b/docs/index.md index 1e85317f7a6..2819e36b837 100644 --- a/docs/index.md +++ b/docs/index.md @@ -19,5 +19,5 @@ services and messages are detailed in the [gRPC reference] pages. [installation]: installation.md [getting started guide]: getting-started.md -[client_example]: https://github.com/arduino/arduino-cli/blob/master/client_example +[client_example]: https://github.com/arduino/arduino-cli/blob/master/rpc/internal/client_example [grpc reference]: rpc/commands.md diff --git a/docs/integration-options.md b/docs/integration-options.md index 90b9b849159..ca1cc381134 100644 --- a/docs/integration-options.md +++ b/docs/integration-options.md @@ -102,7 +102,7 @@ tracker] if you’ve got a use case that doesn’t fit one of the three pillars. [grpc interface reference]: rpc/commands.md [grpc supported languages]: https://grpc.io/docs/languages/ [arduino cli repository]: https://github.com/arduino/arduino-cli -[grpc client example]: https://github.com/arduino/arduino-cli/blob/master/client_example +[grpc client example]: https://github.com/arduino/arduino-cli/blob/master/rpc/internal/client_example [commands package]: https://github.com/arduino/arduino-cli/tree/master/commands [issue tracker]: https://github.com/arduino/arduino-cli/issues [contextual help screenshot]: img/CLI_contextual_help_screenshot.png diff --git a/internal/arduino/builder/internal/compilation/database.go b/internal/arduino/builder/internal/compilation/database.go index fb21f7ba5dc..73441bc07bc 100644 --- a/internal/arduino/builder/internal/compilation/database.go +++ b/internal/arduino/builder/internal/compilation/database.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index e368edd13b3..a8cf2d3c077 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -26,7 +26,6 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/logger" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" @@ -36,6 +35,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesresolver" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" ) diff --git a/internal/arduino/builder/internal/preprocessor/ctags.go b/internal/arduino/builder/internal/preprocessor/ctags.go index c3c8d150f46..53990492169 100644 --- a/internal/arduino/builder/internal/preprocessor/ctags.go +++ b/internal/arduino/builder/internal/preprocessor/ctags.go @@ -25,10 +25,10 @@ import ( "strconv" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor/internal/ctags" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" ) diff --git a/internal/arduino/builder/sketch.go b/internal/arduino/builder/sketch.go index 9331d93f341..7f058dc7d38 100644 --- a/internal/arduino/builder/sketch.go +++ b/internal/arduino/builder/sketch.go @@ -24,9 +24,9 @@ import ( "strconv" "strings" - "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/marcinbor85/gohex" ) diff --git a/internal/arduino/cores/cores.go b/internal/arduino/cores/cores.go index a9c4cc40bd6..3f6f15a2741 100644 --- a/internal/arduino/cores/cores.go +++ b/internal/arduino/cores/cores.go @@ -25,10 +25,10 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/arduino/utils" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" diff --git a/internal/arduino/cores/packageindex/index.go b/internal/arduino/cores/packageindex/index.go index 49930e3dedd..6cde8d1e90f 100644 --- a/internal/arduino/cores/packageindex/index.go +++ b/internal/arduino/cores/packageindex/index.go @@ -19,10 +19,10 @@ import ( "encoding/json" "fmt" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/arduino/security" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" easyjson "github.com/mailru/easyjson" "github.com/sirupsen/logrus" diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index 4daf8984f30..04d0e846f81 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -28,11 +28,11 @@ import ( "time" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" "github.com/arduino/go-timeutils" diff --git a/internal/arduino/discovery/discovery.go b/internal/arduino/discovery/discovery.go index a1b719db3ee..bc62456e3e0 100644 --- a/internal/arduino/discovery/discovery.go +++ b/internal/arduino/discovery/discovery.go @@ -24,7 +24,7 @@ import ( "sync" "time" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" diff --git a/internal/arduino/discovery/discoverymanager/discoverymanager.go b/internal/arduino/discovery/discoverymanager/discoverymanager.go index 32596a39ffa..c1a5f55bd46 100644 --- a/internal/arduino/discovery/discoverymanager/discoverymanager.go +++ b/internal/arduino/discovery/discoverymanager/discoverymanager.go @@ -21,8 +21,8 @@ import ( "sync" "time" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/discovery" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" ) diff --git a/internal/arduino/httpclient/httpclient.go b/internal/arduino/httpclient/httpclient.go index d6bea3d045f..ec4b4acc4a6 100644 --- a/internal/arduino/httpclient/httpclient.go +++ b/internal/arduino/httpclient/httpclient.go @@ -21,8 +21,8 @@ import ( "time" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" diff --git a/internal/arduino/libraries/libraries.go b/internal/arduino/libraries/libraries.go index a6e566a11bd..941627393f2 100644 --- a/internal/arduino/libraries/libraries.go +++ b/internal/arduino/libraries/libraries.go @@ -18,9 +18,9 @@ package libraries import ( "fmt" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" diff --git a/internal/arduino/libraries/librariesindex/json.go b/internal/arduino/libraries/librariesindex/json.go index 85c450fde32..1db3db84d81 100644 --- a/internal/arduino/libraries/librariesindex/json.go +++ b/internal/arduino/libraries/librariesindex/json.go @@ -18,8 +18,8 @@ package librariesindex import ( "fmt" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/resources" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" easyjson "github.com/mailru/easyjson" semver "go.bug.st/relaxed-semver" diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager.go b/internal/arduino/libraries/librariesmanager/librariesmanager.go index cedc20d9d7b..a73a6025c72 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager.go @@ -22,10 +22,10 @@ import ( "slices" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" diff --git a/internal/arduino/libraries/librariesresolver/cpp.go b/internal/arduino/libraries/librariesresolver/cpp.go index 6224c6ffd52..deee71545d3 100644 --- a/internal/arduino/libraries/librariesresolver/cpp.go +++ b/internal/arduino/libraries/librariesresolver/cpp.go @@ -20,11 +20,11 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/utils" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/schollz/closestmatch" "github.com/sirupsen/logrus" ) diff --git a/internal/arduino/monitor/monitor.go b/internal/arduino/monitor/monitor.go index 8e0f8f40c3f..c2dc81669fa 100644 --- a/internal/arduino/monitor/monitor.go +++ b/internal/arduino/monitor/monitor.go @@ -26,7 +26,7 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" diff --git a/internal/arduino/resources/checksums.go b/internal/arduino/resources/checksums.go index cadd3ea6685..25ec3a6996b 100644 --- a/internal/arduino/resources/checksums.go +++ b/internal/arduino/resources/checksums.go @@ -28,7 +28,7 @@ import ( "path/filepath" "strings" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" ) diff --git a/internal/arduino/security/signatures.go b/internal/arduino/security/signatures.go index dfe9b959814..f6e6315c8f8 100644 --- a/internal/arduino/security/signatures.go +++ b/internal/arduino/security/signatures.go @@ -22,7 +22,7 @@ import ( "os" "github.com/ProtonMail/go-crypto/openpgp" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) diff --git a/internal/arduino/serialutils/serialutils.go b/internal/arduino/serialutils/serialutils.go index c3d5f8521e3..d99a29ef83a 100644 --- a/internal/arduino/serialutils/serialutils.go +++ b/internal/arduino/serialutils/serialutils.go @@ -21,7 +21,7 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "go.bug.st/serial" ) diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index 046f96c4623..f0f51680f72 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -23,8 +23,8 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) diff --git a/internal/cli/arguments/arguments.go b/internal/cli/arguments/arguments.go index e3aa6a8dded..ef8a1596d8f 100644 --- a/internal/cli/arguments/arguments.go +++ b/internal/cli/arguments/arguments.go @@ -18,8 +18,8 @@ package arguments import ( "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) diff --git a/internal/cli/board/board.go b/internal/cli/board/board.go index 762d502f645..8cdba86743c 100644 --- a/internal/cli/board/board.go +++ b/internal/cli/board/board.go @@ -18,7 +18,7 @@ package board import ( "os" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 8b6c0fc772b..c14c63eeb42 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -22,10 +22,10 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/upload" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/cache/cache.go b/internal/cli/cache/cache.go index 1d8394f03bc..43c9d775234 100644 --- a/internal/cli/cache/cache.go +++ b/internal/cli/cache/cache.go @@ -18,7 +18,7 @@ package cache import ( "os" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 024847ff273..d08a45e2e80 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -21,7 +21,6 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/board" "github.com/arduino/arduino-cli/internal/cli/burnbootloader" "github.com/arduino/arduino-cli/internal/cli/cache" @@ -43,6 +42,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/upgrade" "github.com/arduino/arduino-cli/internal/cli/upload" "github.com/arduino/arduino-cli/internal/cli/version" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" versioninfo "github.com/arduino/arduino-cli/version" "github.com/fatih/color" diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index bf40b125007..3d2f5b84f72 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -29,13 +29,13 @@ import ( "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" diff --git a/internal/cli/completion/completion.go b/internal/cli/completion/completion.go index 0dd05f8e315..d4036d393aa 100644 --- a/internal/cli/completion/completion.go +++ b/internal/cli/completion/completion.go @@ -18,8 +18,8 @@ package completion import ( "os" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index 9d03c64b7e6..38666248f91 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -19,8 +19,8 @@ import ( "os" "reflect" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index 22a7d9049bc..858390894bc 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -21,8 +21,8 @@ import ( "runtime" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" "github.com/arduino/go-win32-utils" "github.com/spf13/cobra" diff --git a/internal/cli/core/core.go b/internal/cli/core/core.go index f040d3e2efc..3792ad13227 100644 --- a/internal/cli/core/core.go +++ b/internal/cli/core/core.go @@ -18,7 +18,7 @@ package core import ( "os" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 2331e8005ca..fcda04024f4 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -25,9 +25,9 @@ import ( "syscall" "github.com/arduino/arduino-cli/commands/daemon" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" srv_commands "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index fcf72fd1686..390d1b1321c 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -25,11 +25,11 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/debug" "github.com/arduino/arduino-cli/commands/sketch" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/fatih/color" "github.com/sirupsen/logrus" diff --git a/internal/cli/feedback/feedback.go b/internal/cli/feedback/feedback.go index 0beb6c0c10c..04b5ba336c1 100644 --- a/internal/cli/feedback/feedback.go +++ b/internal/cli/feedback/feedback.go @@ -24,7 +24,7 @@ import ( "io" "os" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" "sigs.k8s.io/yaml" ) diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index a78a2d95875..a96ccbb02c6 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -20,8 +20,8 @@ import ( "fmt" "slices" - "github.com/arduino/arduino-cli/i18n" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/orderedmap" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" diff --git a/internal/cli/generatedocs/generatedocs.go b/internal/cli/generatedocs/generatedocs.go index 0be07a768cb..59bf270c442 100644 --- a/internal/cli/generatedocs/generatedocs.go +++ b/internal/cli/generatedocs/generatedocs.go @@ -19,8 +19,8 @@ import ( "os" "path/filepath" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" "github.com/spf13/cobra" "github.com/spf13/cobra/doc" diff --git a/internal/cli/instance/instance.go b/internal/cli/instance/instance.go index 0cd9e8ceb85..6a3df6aed9f 100644 --- a/internal/cli/instance/instance.go +++ b/internal/cli/instance/instance.go @@ -17,8 +17,8 @@ package instance import ( "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" ) diff --git a/internal/cli/lib/lib.go b/internal/cli/lib/lib.go index c6cdbb59b58..edba456bde9 100644 --- a/internal/cli/lib/lib.go +++ b/internal/cli/lib/lib.go @@ -18,7 +18,7 @@ package lib import ( "os" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 44dca503715..ea6018fa2df 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -28,12 +28,12 @@ import ( "github.com/arduino/arduino-cli/commands/monitor" sk "github.com/arduino/arduino-cli/commands/sketch" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/fatih/color" "github.com/sirupsen/logrus" diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index f571b197371..4859f6159fc 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -21,13 +21,13 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/core" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/cli/lib" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/sketch/sketch.go b/internal/cli/sketch/sketch.go index fa172d3148e..5d8da390eed 100644 --- a/internal/cli/sketch/sketch.go +++ b/internal/cli/sketch/sketch.go @@ -18,7 +18,7 @@ package sketch import ( "os" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index 693daae6244..d516a5cc701 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -18,11 +18,11 @@ package update import ( "os" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/core" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/cli/lib" "github.com/arduino/arduino-cli/internal/cli/outdated" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/updater/updater.go b/internal/cli/updater/updater.go index 8b8a54a0f85..8a980fb3ad9 100644 --- a/internal/cli/updater/updater.go +++ b/internal/cli/updater/updater.go @@ -20,10 +20,10 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" "github.com/arduino/arduino-cli/version" "github.com/fatih/color" diff --git a/internal/cli/upgrade/upgrade.go b/internal/cli/upgrade/upgrade.go index 937abd845fa..cf1f71448e7 100644 --- a/internal/cli/upgrade/upgrade.go +++ b/internal/cli/upgrade/upgrade.go @@ -18,11 +18,11 @@ package upgrade import ( "os" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/core" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/cli/lib" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 2f480e62ca2..7052b91d34a 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -26,11 +26,11 @@ import ( "github.com/arduino/arduino-cli/commands/core" sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" "github.com/sirupsen/logrus" diff --git a/internal/cli/usage.go b/internal/cli/usage.go index 0858fd7fffd..7b2e7ef113a 100644 --- a/internal/cli/usage.go +++ b/internal/cli/usage.go @@ -16,7 +16,7 @@ package cli import ( - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" ) var tr = i18n.Tr diff --git a/internal/cli/version/version.go b/internal/cli/version/version.go index e445d751fc8..990a4cbd236 100644 --- a/internal/cli/version/version.go +++ b/internal/cli/version/version.go @@ -20,9 +20,9 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/updater" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/version" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/docsgen/main.go b/internal/docsgen/main.go similarity index 100% rename from docsgen/main.go rename to internal/docsgen/main.go diff --git a/i18n/README.md b/internal/i18n/README.md similarity index 100% rename from i18n/README.md rename to internal/i18n/README.md diff --git a/i18n/cmd/ast/parser.go b/internal/i18n/cmd/ast/parser.go similarity index 97% rename from i18n/cmd/ast/parser.go rename to internal/i18n/cmd/ast/parser.go index 9126a4ada8e..d8d558cd975 100644 --- a/i18n/cmd/ast/parser.go +++ b/internal/i18n/cmd/ast/parser.go @@ -24,7 +24,7 @@ import ( "path/filepath" "strconv" - "github.com/arduino/arduino-cli/i18n/cmd/po" + "github.com/arduino/arduino-cli/internal/i18n/cmd/po" ) // GenerateCatalog generates the i18n message catalog for the go source files diff --git a/i18n/cmd/commands/catalog/catalog.go b/internal/i18n/cmd/commands/catalog/catalog.go similarity index 100% rename from i18n/cmd/commands/catalog/catalog.go rename to internal/i18n/cmd/commands/catalog/catalog.go diff --git a/i18n/cmd/commands/catalog/generate_catalog.go b/internal/i18n/cmd/commands/catalog/generate_catalog.go similarity index 96% rename from i18n/cmd/commands/catalog/generate_catalog.go rename to internal/i18n/cmd/commands/catalog/generate_catalog.go index c895660867a..1c65c640ffc 100644 --- a/i18n/cmd/commands/catalog/generate_catalog.go +++ b/internal/i18n/cmd/commands/catalog/generate_catalog.go @@ -19,7 +19,7 @@ import ( "os" "path/filepath" - "github.com/arduino/arduino-cli/i18n/cmd/ast" + "github.com/arduino/arduino-cli/internal/i18n/cmd/ast" "github.com/spf13/cobra" ) diff --git a/i18n/cmd/commands/root.go b/internal/i18n/cmd/commands/root.go similarity index 88% rename from i18n/cmd/commands/root.go rename to internal/i18n/cmd/commands/root.go index e05403669c0..14559dcfee9 100644 --- a/i18n/cmd/commands/root.go +++ b/internal/i18n/cmd/commands/root.go @@ -16,8 +16,8 @@ package commands import ( - "github.com/arduino/arduino-cli/i18n/cmd/commands/catalog" - "github.com/arduino/arduino-cli/i18n/cmd/commands/transifex" + "github.com/arduino/arduino-cli/internal/i18n/cmd/commands/catalog" + "github.com/arduino/arduino-cli/internal/i18n/cmd/commands/transifex" "github.com/spf13/cobra" ) diff --git a/i18n/cmd/commands/transifex/pull_transifex.go b/internal/i18n/cmd/commands/transifex/pull_transifex.go similarity index 100% rename from i18n/cmd/commands/transifex/pull_transifex.go rename to internal/i18n/cmd/commands/transifex/pull_transifex.go diff --git a/i18n/cmd/commands/transifex/push_transifex.go b/internal/i18n/cmd/commands/transifex/push_transifex.go similarity index 100% rename from i18n/cmd/commands/transifex/push_transifex.go rename to internal/i18n/cmd/commands/transifex/push_transifex.go diff --git a/i18n/cmd/commands/transifex/transifex.go b/internal/i18n/cmd/commands/transifex/transifex.go similarity index 100% rename from i18n/cmd/commands/transifex/transifex.go rename to internal/i18n/cmd/commands/transifex/transifex.go diff --git a/i18n/cmd/main.go b/internal/i18n/cmd/main.go similarity index 93% rename from i18n/cmd/main.go rename to internal/i18n/cmd/main.go index 69b1373251e..8752c9d668e 100644 --- a/i18n/cmd/main.go +++ b/internal/i18n/cmd/main.go @@ -19,7 +19,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/i18n/cmd/commands" + "github.com/arduino/arduino-cli/internal/i18n/cmd/commands" ) func main() { diff --git a/i18n/cmd/po/catalog.go b/internal/i18n/cmd/po/catalog.go similarity index 100% rename from i18n/cmd/po/catalog.go rename to internal/i18n/cmd/po/catalog.go diff --git a/i18n/cmd/po/catalog_test.go b/internal/i18n/cmd/po/catalog_test.go similarity index 100% rename from i18n/cmd/po/catalog_test.go rename to internal/i18n/cmd/po/catalog_test.go diff --git a/i18n/cmd/po/merge.go b/internal/i18n/cmd/po/merge.go similarity index 100% rename from i18n/cmd/po/merge.go rename to internal/i18n/cmd/po/merge.go diff --git a/i18n/cmd/po/merge_test.go b/internal/i18n/cmd/po/merge_test.go similarity index 100% rename from i18n/cmd/po/merge_test.go rename to internal/i18n/cmd/po/merge_test.go diff --git a/i18n/cmd/po/parser.go b/internal/i18n/cmd/po/parser.go similarity index 100% rename from i18n/cmd/po/parser.go rename to internal/i18n/cmd/po/parser.go diff --git a/i18n/cmd/po/parser_test.go b/internal/i18n/cmd/po/parser_test.go similarity index 100% rename from i18n/cmd/po/parser_test.go rename to internal/i18n/cmd/po/parser_test.go diff --git a/i18n/convert.go b/internal/i18n/convert.go similarity index 100% rename from i18n/convert.go rename to internal/i18n/convert.go diff --git a/i18n/convert_test.go b/internal/i18n/convert_test.go similarity index 100% rename from i18n/convert_test.go rename to internal/i18n/convert_test.go diff --git a/i18n/data/.gitkeep b/internal/i18n/data/.gitkeep similarity index 100% rename from i18n/data/.gitkeep rename to internal/i18n/data/.gitkeep diff --git a/i18n/data/README.md b/internal/i18n/data/README.md similarity index 89% rename from i18n/data/README.md rename to internal/i18n/data/README.md index e795dcd7735..d52ec1782ae 100644 --- a/i18n/data/README.md +++ b/internal/i18n/data/README.md @@ -7,6 +7,6 @@ at the source: - **en.po** - edit the string in the source code file indicated by the comment above it <br /> e.g., a comment `#: commands/upload/upload.go:615` indicates the source string is at line 615 of the file - [`commands/upload/upload.go`](../../commands/upload/upload.go) + [`commands/upload/upload.go`](../../../commands/upload/upload.go) - **All other files** - the localization is done on **Transifex**: <br /> https://explore.transifex.com/arduino-1/arduino-cli/ diff --git a/i18n/data/ar.po b/internal/i18n/data/ar.po similarity index 100% rename from i18n/data/ar.po rename to internal/i18n/data/ar.po diff --git a/i18n/data/de.po b/internal/i18n/data/de.po similarity index 100% rename from i18n/data/de.po rename to internal/i18n/data/de.po diff --git a/i18n/data/en.po b/internal/i18n/data/en.po similarity index 100% rename from i18n/data/en.po rename to internal/i18n/data/en.po diff --git a/i18n/data/es.po b/internal/i18n/data/es.po similarity index 100% rename from i18n/data/es.po rename to internal/i18n/data/es.po diff --git a/i18n/data/fr.po b/internal/i18n/data/fr.po similarity index 100% rename from i18n/data/fr.po rename to internal/i18n/data/fr.po diff --git a/i18n/data/he.po b/internal/i18n/data/he.po similarity index 100% rename from i18n/data/he.po rename to internal/i18n/data/he.po diff --git a/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po similarity index 100% rename from i18n/data/it_IT.po rename to internal/i18n/data/it_IT.po diff --git a/i18n/data/ja.po b/internal/i18n/data/ja.po similarity index 100% rename from i18n/data/ja.po rename to internal/i18n/data/ja.po diff --git a/i18n/data/kk.po b/internal/i18n/data/kk.po similarity index 100% rename from i18n/data/kk.po rename to internal/i18n/data/kk.po diff --git a/i18n/data/ko.po b/internal/i18n/data/ko.po similarity index 100% rename from i18n/data/ko.po rename to internal/i18n/data/ko.po diff --git a/i18n/data/lb.po b/internal/i18n/data/lb.po similarity index 100% rename from i18n/data/lb.po rename to internal/i18n/data/lb.po diff --git a/i18n/data/mn.po b/internal/i18n/data/mn.po similarity index 100% rename from i18n/data/mn.po rename to internal/i18n/data/mn.po diff --git a/i18n/data/my_MM.po b/internal/i18n/data/my_MM.po similarity index 100% rename from i18n/data/my_MM.po rename to internal/i18n/data/my_MM.po diff --git a/i18n/data/ne.po b/internal/i18n/data/ne.po similarity index 100% rename from i18n/data/ne.po rename to internal/i18n/data/ne.po diff --git a/i18n/data/pl.po b/internal/i18n/data/pl.po similarity index 100% rename from i18n/data/pl.po rename to internal/i18n/data/pl.po diff --git a/i18n/data/pt.po b/internal/i18n/data/pt.po similarity index 100% rename from i18n/data/pt.po rename to internal/i18n/data/pt.po diff --git a/i18n/data/pt_BR.po b/internal/i18n/data/pt_BR.po similarity index 100% rename from i18n/data/pt_BR.po rename to internal/i18n/data/pt_BR.po diff --git a/i18n/data/ru.po b/internal/i18n/data/ru.po similarity index 100% rename from i18n/data/ru.po rename to internal/i18n/data/ru.po diff --git a/i18n/data/zh.po b/internal/i18n/data/zh.po similarity index 100% rename from i18n/data/zh.po rename to internal/i18n/data/zh.po diff --git a/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po similarity index 100% rename from i18n/data/zh_TW.po rename to internal/i18n/data/zh_TW.po diff --git a/i18n/detect.go b/internal/i18n/detect.go similarity index 100% rename from i18n/detect.go rename to internal/i18n/detect.go diff --git a/i18n/detect_cgo_darwin.go b/internal/i18n/detect_cgo_darwin.go similarity index 100% rename from i18n/detect_cgo_darwin.go rename to internal/i18n/detect_cgo_darwin.go diff --git a/i18n/detect_freebsd.go b/internal/i18n/detect_freebsd.go similarity index 100% rename from i18n/detect_freebsd.go rename to internal/i18n/detect_freebsd.go diff --git a/i18n/detect_linux.go b/internal/i18n/detect_linux.go similarity index 100% rename from i18n/detect_linux.go rename to internal/i18n/detect_linux.go diff --git a/i18n/detect_nocgo_darwin.go b/internal/i18n/detect_nocgo_darwin.go similarity index 100% rename from i18n/detect_nocgo_darwin.go rename to internal/i18n/detect_nocgo_darwin.go diff --git a/i18n/detect_windows.go b/internal/i18n/detect_windows.go similarity index 100% rename from i18n/detect_windows.go rename to internal/i18n/detect_windows.go diff --git a/i18n/i18n.go b/internal/i18n/i18n.go similarity index 100% rename from i18n/i18n.go rename to internal/i18n/i18n.go diff --git a/i18n/i18n_test.go b/internal/i18n/i18n_test.go similarity index 100% rename from i18n/i18n_test.go rename to internal/i18n/i18n_test.go diff --git a/i18n/locale.go b/internal/i18n/locale.go similarity index 100% rename from i18n/locale.go rename to internal/i18n/locale.go diff --git a/i18n/locale_test.go b/internal/i18n/locale_test.go similarity index 100% rename from i18n/locale_test.go rename to internal/i18n/locale_test.go diff --git a/internal/inventory/inventory.go b/internal/inventory/inventory.go index 05b8f1ea24b..3155fb4b9db 100644 --- a/internal/inventory/inventory.go +++ b/internal/inventory/inventory.go @@ -21,7 +21,7 @@ import ( "path/filepath" "sync" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/gofrs/uuid/v5" "github.com/sirupsen/logrus" "github.com/spf13/viper" diff --git a/main.go b/main.go index 677dfd7bdf8..751e81a32cc 100644 --- a/main.go +++ b/main.go @@ -18,10 +18,10 @@ package main import ( "os" - "github.com/arduino/arduino-cli/i18n" "github.com/arduino/arduino-cli/internal/cli" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" ) func main() { diff --git a/client_example/README.md b/rpc/internal/client_example/README.md similarity index 100% rename from client_example/README.md rename to rpc/internal/client_example/README.md diff --git a/client_example/hello/hello.ino b/rpc/internal/client_example/hello/hello.ino similarity index 100% rename from client_example/hello/hello.ino rename to rpc/internal/client_example/hello/hello.ino diff --git a/client_example/main.go b/rpc/internal/client_example/main.go similarity index 100% rename from client_example/main.go rename to rpc/internal/client_example/main.go diff --git a/client_example/squid.conf b/rpc/internal/client_example/squid.conf similarity index 100% rename from client_example/squid.conf rename to rpc/internal/client_example/squid.conf diff --git a/version/version.go b/version/version.go index 8a207bfa75d..576b48d1b66 100644 --- a/version/version.go +++ b/version/version.go @@ -19,7 +19,7 @@ import ( "os" "path/filepath" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" ) // VersionInfo contains all info injected during build From 372656a8c363e8abfe181a7442b15e22ac30761a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 11:46:33 +0100 Subject: [PATCH 060/361] [skip-changelog] Bump golang.org/x/crypto from 0.16.0 to 0.17.0 (#2471) * Bump golang.org/x/crypto from 0.16.0 to 0.17.0 Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.16.0 to 0.17.0. - [Commits](https://github.com/golang/crypto/compare/v0.16.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/crypto/argon2.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/blake2b.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/blowfish.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/cast5.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/curve25519.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +++--- .../golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 12 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index c33e9d2b684..75be7cd75dd 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.16.0 +version: v0.17.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: other licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index e132cd3ba54..e5dee892420 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.16.0 +version: v0.17.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: other licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 26739a9c746..5171eee51be 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.16.0 +version: v0.17.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index affca44a537..0c6945b79b2 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.16.0 +version: v0.17.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 92f0be4a6cc..14bbded47ef 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.16.0 +version: v0.17.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index 9b99041f83f..e20b5c8e05d 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.16.0 +version: v0.17.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 9032dd5c034..272b4c42862 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.16.0 +version: v0.17.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index 0c5a3e74781..2525b8344ef 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.16.0 +version: v0.17.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index 35b9bbb5205..8669ac548e6 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.16.0 +version: v0.17.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index f32ad6619cb..1712ed1d5f8 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.16.0 +version: v0.17.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.16.0/LICENSE +- sources: crypto@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.16.0/PATENTS +- sources: crypto@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index f7c8ba497d7..e2927e3d4e6 100644 --- a/go.mod +++ b/go.mod @@ -95,7 +95,7 @@ require ( github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.16.0 // indirect + golang.org/x/crypto v0.17.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.19.0 // indirect diff --git a/go.sum b/go.sum index 2b3802c8e15..e4d368223c6 100644 --- a/go.sum +++ b/go.sum @@ -234,8 +234,8 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= -golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY= -golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= +golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= From 5550237797e7dc9c31e3f2aedfffb1b8db1d8ac4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 19 Dec 2023 17:38:54 +0100 Subject: [PATCH 061/361] Added backward compatibilty policy document (#2470) * Added versioning/upgrading policy * Added backward compatibility policy --- docs/index.md | 6 +++ docs/versioning.md | 120 +++++++++++++++++++++++++++++++++++++++++++++ mkdocs.yml | 1 + 3 files changed, 127 insertions(+) create mode 100644 docs/versioning.md diff --git a/docs/index.md b/docs/index.md index 2819e36b837..b02aa1a4b4c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,7 +17,13 @@ Follow the [Getting started guide] to see how to use the most common CLI command The [client_example] folder contains a sample program that shows how to use the gRPC interface of the CLI. Available services and messages are detailed in the [gRPC reference] pages. +## Versioning and backward compatibility policy + +This software is currently under active development: anything can change at any time, API and UI must be considered +unstable until we release version 1.0.0. For more information see our [versioning and backward compatibility] policy. + [installation]: installation.md [getting started guide]: getting-started.md [client_example]: https://github.com/arduino/arduino-cli/blob/master/rpc/internal/client_example [grpc reference]: rpc/commands.md +[versioning and backward compatibility]: versioning.md diff --git a/docs/versioning.md b/docs/versioning.md new file mode 100644 index 00000000000..ef8977300ba --- /dev/null +++ b/docs/versioning.md @@ -0,0 +1,120 @@ +# Backward compatibility policy for arduino-cli. + +The arduino-cli project follows a strict semantic versioning policy. We are committing not to make breaking changes in +minor releases after the release of version 1.0.0. The project is currently in the last period of the Beta phase. + +The release rules are the following: + +- Alpha phase `0.0.X`: In this phase, the software is going through a quick iteration of the API, each release (with + increments of X) may contain massive and breaking changes. +- **Beta phase `0.Y.X`**: The software is usable, but the API is still not settled and is under continuous testing and + review. Breaking changes are expected. Bug fixes and new features are made as patch releases (with increments of X). + Breaking changes due to API refinements are made as minor releases (with increments of Y). +- Production release-candidate `1.0.0-rc.X`: in this phase, the software is considered ready for release and distributed + to the users for final testing. Release candidates (with increments of X) are possible for bug fixes only. +- Production release `1.Y.X`: For the production releases backward compatibility is guaranteed, and all the breaking + changes are cumulated for the next major release (2.0.0). Bug fixes are made as patch releases (with increments of X); + New features are released as minor releases (with increments of Y). +- Next major release development `2.0.0` and up: see below. + +## Backward compatibility guarantees and definition of "breaking change" + +There are three main user facing API in the arduino-cli project: + +- the standalone command-line API +- the gRPC API +- the golang API + +Let's examine the backward compatibility rules for each one of these categories. + +### Breaking changes in the command-line app + +Changes in the command-line interface are considered breaking if: + +- a command, a positional argument, or a flag is removed or renamed +- a command, a positional argument, or a flag behavior is changed +- an optional positional argument or a flag is made mandatory +- a positional argument or a flag format is changed + +The following changes to the command-line syntax are NOT considered breaking: + +- a new command is added +- a new optional positional argument is added +- a new optional flag is added + +Any change in the **human-readable** text output is **NOT** considered a breaking change. In general, the human-readable +text is subject to translation and small adjustments in natural language syntax and presentation. + +We will consider breaking changes only in the **machine-readable** output of the commands using the `--format json` +flag. In particular, we have a breaking change in the JSON command output if: + +- a key in a JSON object is renamed or removed. +- a value in a JSON object or array changes meaning or changes format. + +We do **NOT** have a breaking change if: + +- a new key is added to an existing JSON object + +### Breaking changes in the gRPC API + +To ensure gRPC API backward compatibility the only allowed changes are: + +- adding a new service +- adding a new method to a service +- adding a field to an existing message +- adding a value to an enum + +In general, **adding** to the gRPC API is allowed, **ANY OTHER** change will be considered a breaking change, some +examples are: + +- renaming a service +- renaming a method +- changing a method signature +- renaming a field in a message +- changing a field type in a message +- deleting a field in a message +- etc. + +The gRPC API is defined as a gRPC service running in the endpoint `cc.arduino.cli.commands.v1`. When a breaking change +happens a new gRPC endpoint is created from the existing API. The first breaking change will be implemented in the new +service `cc.arduino.cli.commands.v2`. + +### Breaking changes in the golang API + +The public golang API from the import path `github.com/arduino/arduino-cli` is guaranteed to be stable. Breaking changes +in the API will follow the go-lang guidelines and will be implemented by changing the import path by adding the `/v2` +suffix: `github.com/arduino/arduino-cli/v2`. + +## Development process for the next major releases. + +The development of the 2.0.0 release will proceed in a separate git branch `2.x.x`, in parallel with the 1.0.0 releases +that will continue on the `master` git branch. + +New features and bug fixes should be made on the `master` branch and ported to the `2.x.x` once completed (unless it's a +2.0 specific change, in that case, it's fine to develop directly on the `2.x.x` branch). + +Future releases and pre-releases of the `2.x.x` will follow the following versioning policy: + +- Beta `2.0.0-beta.X.Y`: The v2 API is still under testing and review. Bug fixes and new features are released with + increments of Y. Breaking changes are still possible and released with increments of X. +- Release Candidate `2.0.0-rc.X`: The v2 API is ready for release. Release candidates are distributed for user testing. + Bug-fix releases only are allowed (with increments of X). +- `2.0.0` and up: The same rules for the `1.0.0` applies. + +After the 2.0.0 release, the `master` branch will be moved to `2.x.x`, and the 1.0 branch will be tracked by a new +`1.x.x` branch. + +The command-line interface for CLI 2.0 will be incompatible with CLI 1.0. Some commands may still be compatible though +depending on the amount of changes. + +The gRPC daemon is flexible enough to run both services v1 and v2 at the same time. This capability allows a deprecation +period to allow a soft transition from v1 API to v2 API. We will deprecate the v1 API in the CLI 2.0 series but we will +continue to support it until the next major release CLI 3.0. At that point, we may decide to drop the support for the v1 +API entirely but, depending on the balance between user demand and maintenance effort, we may decide to continue to +support it. + +The go-lang API import path will be updated, following the go modules guidelines, by adding the `/v2` suffix: +`github.com/arduino/arduino-cli/v2`. + +Unlike the gRPC counterpart, we will not guarantee a deprecation policy and a soft transition period for the go-lang API +(but again depending on the balance between user demand and maintenance effort we may decide to deprecate some API). diff --git a/mkdocs.yml b/mkdocs.yml index 9631f87e1f6..59bd3a0128a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -112,6 +112,7 @@ nav: - Package index specification: package_index_json-specification.md - Guides: - Secure boot: guides/secure-boot.md + - Backward compatibility policy: versioning.md extra: version: From 2e514d6dbb9baa96b23493f0ca0bc0a1d56c39ee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 17:59:51 +0100 Subject: [PATCH 062/361] [skip-changelog] Bump google.golang.org/grpc from 1.60.0 to 1.60.1 (#2473) * Bump google.golang.org/grpc from 1.60.0 to 1.60.1 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.60.0 to 1.60.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.60.0...v1.60.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 53 files changed, 104 insertions(+), 104 deletions(-) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index f9ef29d3c00..b405c8f9d6e 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.60.0 +version: v1.60.1 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 0d0ffd812eb..87d0f1774ff 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.60.0 +version: v1.60.1 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 4b94a9fe1bc..963493a4560 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.60.0 +version: v1.60.1 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 5235eabc37c..d8c002c6c89 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.60.0 +version: v1.60.1 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index cb0a55ad1ef..f72668e0d03 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.60.0 +version: v1.60.1 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 6239a4b1a4a..0b2554d0e30 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.60.0 +version: v1.60.1 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 7f683bb9b31..c1a8486e422 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.60.0 +version: v1.60.1 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index afb284383a6..3fa948696df 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.60.0 +version: v1.60.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index b5ccbae792a..bcaffa43056 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.60.0 +version: v1.60.1 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index f181d7acf1f..55906a766df 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.60.0 +version: v1.60.1 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 3fe74f2d493..5710fea78c6 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.60.0 +version: v1.60.1 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index b21dc388be1..23d9c04c2c5 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.60.0 +version: v1.60.1 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 6480a44a4c8..4002aa44f93 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.60.0 +version: v1.60.1 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 8fab83f1d8b..cf5efce9719 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.60.0 +version: v1.60.1 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 7a910ec6a0c..0486d49bb1f 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.60.0 +version: v1.60.1 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index a3d1267d2bd..2fb43ade16a 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.60.0 +version: v1.60.1 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index cec221408c5..21db02491d1 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.60.0 +version: v1.60.1 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 2243eaf9bdc..4411cea6a8d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.60.0 +version: v1.60.1 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 3ac16acc49f..9f25115e92e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.60.0 +version: v1.60.1 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index aed9524dd28..51ff42b27b2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.60.0 +version: v1.60.1 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 75ee38da0f7..0c6bf8e3f28 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.60.0 +version: v1.60.1 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 8ec8695baf9..c9d8e26f096 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.60.0 +version: v1.60.1 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index d00cd2a4b8d..2c8048a135d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.60.0 +version: v1.60.1 type: go summary: Package channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index c73abdf1106..269f346fe8f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.60.0 +version: v1.60.1 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 32954987f40..37dd391fd07 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.60.0 +version: v1.60.1 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 89792243c6b..90064af85cb 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.60.0 +version: v1.60.1 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml index cea6a06938f..e77acab1882 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcrand -version: v1.60.0 +version: v1.60.1 type: go summary: Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 002002169fa..115db4409e7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.60.0 +version: v1.60.1 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 50f83273174..4fa9616e1d1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.60.0 +version: v1.60.1 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 85b915d9611..ca67dec3662 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.60.0 +version: v1.60.1 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index cb67aacd6fd..a229ac6e4d9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.60.0 +version: v1.60.1 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 38c7623adb6..3ea1de05661 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.60.0 +version: v1.60.1 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 78e34d914db..509bc5e1351 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.60.0 +version: v1.60.1 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 5fe5e6ef5e7..18ddf089bb4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.60.0 +version: v1.60.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 5746dad5209..2c03d8e2e41 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.60.0 +version: v1.60.1 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 2a48599b25c..40d94c0233d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.60.0 +version: v1.60.1 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 37f089077f2..c9724f12a29 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.60.0 +version: v1.60.1 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 1a08e699e77..a906efea6a6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.60.0 +version: v1.60.1 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 59a862a2265..3374cc54532 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.60.0 +version: v1.60.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index b4ab95fadda..9ae20d12e80 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.60.0 +version: v1.60.1 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index b0d985e9f60..9b0ce86e65c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.60.0 +version: v1.60.1 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index ef9eac10005..1da2fed01b9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.60.0 +version: v1.60.1 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 908091aa305..ea406673054 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.60.0 +version: v1.60.1 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 85ce76a37c3..b8c1c94aaac 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.60.0 +version: v1.60.1 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 6df4573aabe..c51da9eb191 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.60.0 +version: v1.60.1 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 12cf8b887f8..b117380b27d 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.60.0 +version: v1.60.1 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 815c303de15..f892d67f2a9 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.60.0 +version: v1.60.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 8d2f4b6f4ee..44eac1ff33d 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.60.0 +version: v1.60.1 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index f6f8926da3e..e0ef16f23f8 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.60.0 +version: v1.60.1 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 24c79fc2e32..b4127108213 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.60.0 +version: v1.60.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index cf253fce6a4..f4838c4e8d9 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.60.0 +version: v1.60.1 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.60.0/LICENSE +- sources: grpc@v1.60.1/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index e2927e3d4e6..86c57716995 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( golang.org/x/term v0.15.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f - google.golang.org/grpc v1.60.0 + google.golang.org/grpc v1.60.1 google.golang.org/protobuf v1.31.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index e4d368223c6..d59b954830b 100644 --- a/go.sum +++ b/go.sum @@ -307,8 +307,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/grpc v1.60.0 h1:6FQAR0kM31P6MRdeluor2w2gPaS4SVNrD/DNTxrQ15k= -google.golang.org/grpc v1.60.0/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= +google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= From 71ff4ac57768a0de7d62015b723a949ca5c87413 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 19 Dec 2023 20:28:57 +0100 Subject: [PATCH 063/361] [skip-changelog] Bump github.com/spf13/viper from 1.18.1 to 1.18.2 (#2474) * Bump github.com/spf13/viper from 1.18.1 to 1.18.2 Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.18.1 to 1.18.2. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.18.1...v1.18.2) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/github.com/spf13/viper.dep.yml | 2 +- .../spf13/viper/internal/encoding.dep.yml | 6 ++-- .../viper/internal/encoding/dotenv.dep.yml | 6 ++-- .../spf13/viper/internal/encoding/hcl.dep.yml | 6 ++-- .../spf13/viper/internal/encoding/ini.dep.yml | 6 ++-- .../internal/encoding/javaproperties.dep.yml | 6 ++-- .../viper/internal/encoding/json.dep.yml | 6 ++-- .../viper/internal/encoding/toml.dep.yml | 6 ++-- .../viper/internal/encoding/yaml.dep.yml | 6 ++-- .../spf13/viper/internal/features.dep.yml | 34 +++++++++++++++++++ go.mod | 2 +- go.sum | 4 +-- 12 files changed, 62 insertions(+), 28 deletions(-) create mode 100644 .licenses/go/github.com/spf13/viper/internal/features.dep.yml diff --git a/.licenses/go/github.com/spf13/viper.dep.yml b/.licenses/go/github.com/spf13/viper.dep.yml index 1be63af8829..eb99b85c933 100644 --- a/.licenses/go/github.com/spf13/viper.dep.yml +++ b/.licenses/go/github.com/spf13/viper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/viper -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml index 517261eba7b..7d94b23fb3a 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml index 6dd947af62f..d0739e03eb9 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/dotenv -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/dotenv license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml index 024dd3add07..ef190b4217b 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/hcl -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/hcl license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml index 2ee7bf59eca..d4616dbff58 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/ini -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/ini license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml index 0e27e36ca7a..40846e58143 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/javaproperties -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/javaproperties license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml index 554db78a0b3..6cb43862192 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/json -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/json license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml index b8bbab674a0..c7ab22d70e8 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/toml -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/toml license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml index 0bfffb52149..de47dbccb08 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/yaml -version: v1.18.1 +version: v1.18.2 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/yaml license: mit licenses: -- sources: viper@v1.18.1/LICENSE +- sources: viper@v1.18.2/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.1/README.md +- sources: viper@v1.18.2/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/features.dep.yml b/.licenses/go/github.com/spf13/viper/internal/features.dep.yml new file mode 100644 index 00000000000..8962a3391e2 --- /dev/null +++ b/.licenses/go/github.com/spf13/viper/internal/features.dep.yml @@ -0,0 +1,34 @@ +--- +name: github.com/spf13/viper/internal/features +version: v1.18.2 +type: go +summary: +homepage: https://pkg.go.dev/github.com/spf13/viper/internal/features +license: mit +licenses: +- sources: viper@v1.18.2/LICENSE + text: |- + The MIT License (MIT) + + Copyright (c) 2014 Steve Francia + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +- sources: viper@v1.18.2/README.md + text: The project is licensed under the [MIT License](LICENSE). +notices: [] diff --git a/go.mod b/go.mod index 86c57716995..d9120143dfb 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 - github.com/spf13/viper v1.18.1 + github.com/spf13/viper v1.18.2 github.com/stretchr/testify v1.8.4 github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 diff --git a/go.sum b/go.sum index d59b954830b..a8610c150b6 100644 --- a/go.sum +++ b/go.sum @@ -184,8 +184,8 @@ github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.18.1 h1:rmuU42rScKWlhhJDyXZRKJQHXFX02chSVW1IvkPGiVM= -github.com/spf13/viper v1.18.1/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= From 72dd2499c796a040d8ebc2f1b205a8309609986b Mon Sep 17 00:00:00 2001 From: Martino Facchin <m.facchin@arduino.cc> Date: Wed, 20 Dec 2023 11:09:32 +0100 Subject: [PATCH 064/361] Reuse (cache) object archives in large sketch projects (#2464) * Reuse archiveCompiledFiles helper for long commandline shrink Since archiveCompiledFiles already handles hot cache correctly, this avoids objs.a being rebuilt even if files don't change. Would be ideal if PathList could expose a generic Filter API (to get rid of the "duplicated" filter) * Upgrade go-paths / remove duplicate filter function * Consider existing archives during the build * Simplified archiveCompiledFiles function signature It doesn't make sense anymore to keep path and filename separated. * Added integration test --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../arduino/go-paths-helper.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 +- .../arduino/builder/archive_compiled_files.go | 4 +- internal/arduino/builder/core.go | 2 +- internal/arduino/builder/libraries.go | 2 +- internal/arduino/builder/linker.go | 45 +++++++++---------- .../integrationtest/compile_1/compile_test.go | 14 +++++- 8 files changed, 40 insertions(+), 35 deletions(-) diff --git a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml index f06e4ce1625..c821a1e1141 100644 --- a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml +++ b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/arduino/go-paths-helper -version: v1.10.1 +version: v1.11.0 type: go summary: homepage: https://pkg.go.dev/github.com/arduino/go-paths-helper diff --git a/go.mod b/go.mod index d9120143dfb..600766e7664 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 - github.com/arduino/go-paths-helper v1.10.1 + github.com/arduino/go-paths-helper v1.11.0 github.com/arduino/go-properties-orderedmap v1.8.0 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 diff --git a/go.sum b/go.sum index a8610c150b6..080ac0c22df 100644 --- a/go.sum +++ b/go.sum @@ -11,8 +11,8 @@ github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.10.1 h1:j8InnhLrSeoPiOvTnZL0XMFt7l407ciTBJJJs7W9bs4= -github.com/arduino/go-paths-helper v1.10.1/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= +github.com/arduino/go-paths-helper v1.11.0 h1:hkpGb9AtCTByTj2FKutuHWb3klDf4kAKL10hW+fN+oE= +github.com/arduino/go-paths-helper v1.11.0/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= github.com/arduino/go-properties-orderedmap v1.8.0 h1:wEfa6hHdpezrVOh787OmClsf/Kd8qB+zE3P2Xbrn0CQ= github.com/arduino/go-properties-orderedmap v1.8.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6dbLC3y4i02zFT5quS4X6iioWifGlVwfy4= diff --git a/internal/arduino/builder/archive_compiled_files.go b/internal/arduino/builder/archive_compiled_files.go index 31caed6df41..dc43d82ac87 100644 --- a/internal/arduino/builder/archive_compiled_files.go +++ b/internal/arduino/builder/archive_compiled_files.go @@ -20,9 +20,7 @@ import ( ) // ArchiveCompiledFiles fixdoc -func (b *Builder) archiveCompiledFiles(buildPath *paths.Path, archiveFile *paths.Path, objectFilesToArchive paths.PathList) (*paths.Path, error) { - archiveFilePath := buildPath.JoinPath(archiveFile) - +func (b *Builder) archiveCompiledFiles(archiveFilePath *paths.Path, objectFilesToArchive paths.PathList) (*paths.Path, error) { if b.onlyUpdateCompilationDatabase { if b.logger.Verbose() { b.logger.Info(tr("Skipping archive creation of: %[1]s", archiveFilePath)) diff --git a/internal/arduino/builder/core.go b/internal/arduino/builder/core.go index 102e1be2eac..78bedc18d5f 100644 --- a/internal/arduino/builder/core.go +++ b/internal/arduino/builder/core.go @@ -128,7 +128,7 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { return nil, nil, err } - archiveFile, err := b.archiveCompiledFiles(b.coreBuildPath, paths.New("core.a"), coreObjectFiles) + archiveFile, err := b.archiveCompiledFiles(b.coreBuildPath.Join("core.a"), coreObjectFiles) if err != nil { return nil, nil, err } diff --git a/internal/arduino/builder/libraries.go b/internal/arduino/builder/libraries.go index d0a32bf0806..e1df2fd64cd 100644 --- a/internal/arduino/builder/libraries.go +++ b/internal/arduino/builder/libraries.go @@ -196,7 +196,7 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string) return nil, err } if library.DotALinkage { - archiveFile, err := b.archiveCompiledFiles(libraryBuildPath, paths.New(library.DirName+".a"), libObjectFiles) + archiveFile, err := b.archiveCompiledFiles(libraryBuildPath.Join(library.DirName+".a"), libObjectFiles) if err != nil { return nil, err } diff --git a/internal/arduino/builder/linker.go b/internal/arduino/builder/linker.go index 55534503cd4..c991778336d 100644 --- a/internal/arduino/builder/linker.go +++ b/internal/arduino/builder/linker.go @@ -53,34 +53,31 @@ func (b *Builder) link() error { // it may happen that a subdir/spi.o inside the archive may be overwritten by a anotherdir/spi.o // because thery are both named spi.o. - properties := b.buildProperties.Clone() - archives := paths.NewPathList() + // Put all the existing archives apart from the other object files + existingArchives := objectFiles.Clone() + existingArchives.FilterSuffix(".a") + objectFiles.FilterOutSuffix(".a") + + // Generate an archive for each directory from the remaining object files + newArchives := paths.NewPathList() for _, object := range objectFiles { - if object.HasSuffix(".a") { - archives.Add(object) - continue - } archive := object.Parent().Join("objs.a") - if !archives.Contains(archive) { - archives.Add(archive) - // Cleanup old archives - _ = archive.Remove() - } - properties.Set("archive_file", archive.Base()) - properties.SetPath("archive_file_path", archive) - properties.SetPath("object_file", object) - - command, err := b.prepareCommandForRecipe(properties, "recipe.ar.pattern", false) - if err != nil { - return err - } - - if err := b.execCommand(command); err != nil { - return err - } + newArchives.AddIfMissing(archive) + } + for _, archive := range newArchives { + archiveDir := archive.Parent() + relatedObjectFiles := objectFiles.Clone() + relatedObjectFiles.Filter(func(object *paths.Path) bool { + // extract all the object files that are in the same directory of the archive + return object.Parent().EquivalentTo(archiveDir) + }) + b.archiveCompiledFiles(archive, relatedObjectFiles) } - objectFileList = strings.Join(f.Map(archives.AsStrings(), wrapWithDoubleQuotes), " ") + // Put everything together + allArchives := existingArchives.Clone() + allArchives.AddAll(newArchives) + objectFileList = strings.Join(f.Map(allArchives.AsStrings(), wrapWithDoubleQuotes), " ") objectFileList = "-Wl,--whole-archive " + objectFileList + " -Wl,--no-whole-archive" } diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 40add0dc391..2808d14f5e0 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -21,6 +21,7 @@ import ( "encoding/json" "fmt" "os" + "regexp" "sort" "strings" "testing" @@ -830,8 +831,17 @@ func TestCompileWithArchivesAndLongPaths(t *testing.T) { sketchPath := paths.New(libOutput) sketchPath = sketchPath.Join("examples", "ArduinoIoTCloud-Advanced") - _, _, err = cli.Run("compile", "-b", "esp8266:esp8266:huzzah", sketchPath.String(), "--config-file", "arduino-cli.yaml") - require.NoError(t, err) + t.Run("Compile", func(t *testing.T) { + _, _, err = cli.Run("compile", "-b", "esp8266:esp8266:huzzah", sketchPath.String(), "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + }) + + t.Run("CheckCachingOfFolderArchives", func(t *testing.T) { + // Run compile again and check if the archive is re-used (cached) + out, _, err := cli.Run("compile", "-b", "esp8266:esp8266:huzzah", sketchPath.String(), "--config-file", "arduino-cli.yaml", "-v") + require.NoError(t, err) + require.True(t, regexp.MustCompile(`(?m)^Using previously compiled file:.*libraries.ArduinoIoTCloud.objs\.a$`).Match(out)) + }) } func TestCompileWithPrecompileLibrary(t *testing.T) { From 6732ae0ace576b77576ecaa9c5ff3ff13b648fbe Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 21 Dec 2023 16:24:19 +0100 Subject: [PATCH 065/361] [breaking] gRPC updates to `CompilerResponse`, `UploadUsingProgrammerResponse`, and `BurnBootloaderResponse` (#2472) * Refactored gRPC CompilerResponse * Refactored gRPC UploadUsingProgrammerResponse and BurnBootloaderResponse --- commands/compile/compile.go | 4 +- commands/daemon/daemon.go | 61 ++- docs/UPGRADING.md | 110 +++++ internal/cli/compile/compile.go | 14 +- internal/cli/feedback/result/rpc.go | 10 +- internal/cli/feedback/result/rpc_test.go | 6 +- .../compile_3/compile_show_properties_test.go | 4 +- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 442 +++++++++++------- rpc/cc/arduino/cli/commands/v1/compile.proto | 33 +- rpc/cc/arduino/cli/commands/v1/upload.pb.go | 234 ++++++---- rpc/cc/arduino/cli/commands/v1/upload.proto | 20 +- 11 files changed, 634 insertions(+), 304 deletions(-) diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 92382b3e939..739acad05fb 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -42,7 +42,7 @@ import ( var tr = i18n.Tr // Compile FIXMEDOC -func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream io.Writer, progressCB rpc.TaskProgressCB) (r *rpc.CompileResponse, e error) { +func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream io.Writer, progressCB rpc.TaskProgressCB) (r *rpc.BuilderResult, e error) { // There is a binding between the export binaries setting and the CLI flag to explicitly set it, // since we want this binding to work also for the gRPC interface we must read it here in this @@ -105,7 +105,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream return nil, &cmderrors.InvalidFQBNError{Cause: err} } - r = &rpc.CompileResponse{} + r = &rpc.BuilderResult{} r.BoardPlatform = targetPlatform.ToRPCPlatformReference() r.BuildPlatform = buildPlatform.ToRPCPlatformReference() diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index be212073eeb..88b0420ff27 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -181,16 +181,31 @@ func (s *ArduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc. // Compile FIXMEDOC func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.ArduinoCoreService_CompileServer) error { syncSend := NewSynchronizedSend(stream.Send) - outStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.CompileResponse{OutStream: data}) }) - errStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.CompileResponse{ErrStream: data}) }) - compileResp, compileErr := compile.Compile( - stream.Context(), req, outStream, errStream, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.CompileResponse{Progress: p}) }) + outStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_OutStream{OutStream: data}, + }) + }) + errStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_ErrStream{ErrStream: data}, + }) + }) + progressStream := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_Progress{Progress: p}, + }) + } + compileRes, compileErr := compile.Compile(stream.Context(), req, outStream, errStream, progressStream) outStream.Close() errStream.Close() var compileRespSendErr error - if compileResp != nil { - compileRespSendErr = syncSend.Send(compileResp) + if compileRes != nil { + compileRespSendErr = syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_Result{ + Result: compileRes, + }, + }) } if compileErr != nil { return convertErrorToRPCStatus(compileErr) @@ -287,8 +302,20 @@ func (s *ArduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.Arduin // UploadUsingProgrammer FIXMEDOC func (s *ArduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgrammerRequest, stream rpc.ArduinoCoreService_UploadUsingProgrammerServer) error { syncSend := NewSynchronizedSend(stream.Send) - outStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.UploadUsingProgrammerResponse{OutStream: data}) }) - errStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.UploadUsingProgrammerResponse{ErrStream: data}) }) + outStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.UploadUsingProgrammerResponse{ + Message: &rpc.UploadUsingProgrammerResponse_OutStream{ + OutStream: data, + }, + }) + }) + errStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.UploadUsingProgrammerResponse{ + Message: &rpc.UploadUsingProgrammerResponse_ErrStream{ + ErrStream: data, + }, + }) + }) err := upload.UsingProgrammer(stream.Context(), req, outStream, errStream) outStream.Close() errStream.Close() @@ -307,8 +334,20 @@ func (s *ArduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rp // BurnBootloader FIXMEDOC func (s *ArduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, stream rpc.ArduinoCoreService_BurnBootloaderServer) error { syncSend := NewSynchronizedSend(stream.Send) - outStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.BurnBootloaderResponse{OutStream: data}) }) - errStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.BurnBootloaderResponse{ErrStream: data}) }) + outStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.BurnBootloaderResponse{ + Message: &rpc.BurnBootloaderResponse_OutStream{ + OutStream: data, + }, + }) + }) + errStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.BurnBootloaderResponse{ + Message: &rpc.BurnBootloaderResponse_ErrStream{ + ErrStream: data, + }, + }) + }) resp, err := upload.BurnBootloader(stream.Context(), req, outStream, errStream) outStream.Close() errStream.Close() diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 5f46b42f90a..6b9b95b7f3f 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -72,6 +72,116 @@ breaking changes as needed. { "sketch_path": "/tmp/my_sketch" } ``` +### The gRPC response `cc.arduino.cli.commands.v1.CompileResponse` has been changed. + +The `CompilerResponse` message has been refactored to made explicit which fields are intended for streaming the build +process and which fields are part of the build result. + +The old `CompilerResposne`: + +```protoc +message CompileResponse { + // The output of the compilation process (stream) + bytes out_stream = 1; + // The error output of the compilation process (stream) + bytes err_stream = 2; + // The compiler build path + string build_path = 3; + // The libraries used in the build + repeated Library used_libraries = 4; + // The size of the executable split by sections + repeated ExecutableSectionSize executable_sections_size = 5; + // The platform where the board is defined + InstalledPlatformReference board_platform = 6; + // The platform used for the build (if referenced from the board platform) + InstalledPlatformReference build_platform = 7; + // Completions reports of the compilation process (stream) + TaskProgress progress = 8; + // Build properties used for compiling + repeated string build_properties = 9; + // Compiler errors and warnings + repeated CompileDiagnostic diagnostics = 10; +} +``` + +has been split into a `CompilerResponse` and a `BuilderResult`: + +```protoc +message CompileResponse { + oneof message { + // The output of the compilation process (stream) + bytes out_stream = 1; + // The error output of the compilation process (stream) + bytes err_stream = 2; + // Completions reports of the compilation process (stream) + TaskProgress progress = 3; + // The compilation result + BuilderResult result = 4; + } +} + +message BuilderResult { + // The compiler build path + string build_path = 1; + // The libraries used in the build + repeated Library used_libraries = 2; + // The size of the executable split by sections + repeated ExecutableSectionSize executable_sections_size = 3; + // The platform where the board is defined + InstalledPlatformReference board_platform = 4; + // The platform used for the build (if referenced from the board platform) + InstalledPlatformReference build_platform = 5; + // Build properties used for compiling + repeated string build_properties = 7; + // Compiler errors and warnings + repeated CompileDiagnostic diagnostics = 8; +} +``` + +with a clear distinction on which fields are streamed. + +### The gRPC response `cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse` and `cc.arduino.cli.commands.v1.BurnBootloaderResponse` has been changed. + +The old messages: + +```protoc +message UploadUsingProgrammerResponse { + // The output of the upload process. + bytes out_stream = 1; + // The error output of the upload process. + bytes err_stream = 2; +} + +message BurnBootloaderResponse { + // The output of the burn bootloader process. + bytes out_stream = 1; + // The error output of the burn bootloader process. + bytes err_stream = 2; +} +``` + +now have the `oneof` clause that makes explicit the streaming nature of the response: + +```protoc +message UploadUsingProgrammerResponse { + oneof message { + // The output of the upload process. + bytes out_stream = 1; + // The error output of the upload process. + bytes err_stream = 2; + } +} + +message BurnBootloaderResponse { + oneof message { + // The output of the burn bootloader process. + bytes out_stream = 1; + // The error output of the burn bootloader process. + bytes err_stream = 2; + } +} +``` + ### The gRPC `cc.arduino.cli.commands.v1.PlatformRelease` has been changed. We've added a new field called `compatible`. This field indicates if the current platform release is installable or not. diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 3d2f5b84f72..154777f3c1d 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -245,7 +245,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { SkipLibrariesDiscovery: skipLibrariesDiscovery, DoNotExpandBuildProperties: showProperties == arguments.ShowPropertiesUnexpanded, } - compileRes, compileError := compile.Compile(context.Background(), compileRequest, stdOut, stdErr, nil) + builderRes, compileError := compile.Compile(context.Background(), compileRequest, stdOut, stdErr, nil) var uploadRes *rpc.UploadResult if compileError == nil && uploadAfterCompile { @@ -300,7 +300,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { libs := "" hasVendoredLibs := false - for _, lib := range compileRes.GetUsedLibraries() { + for _, lib := range builderRes.GetUsedLibraries() { if lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_USER && lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_UNMANAGED { continue } @@ -325,13 +325,13 @@ func runCompileCommand(cmd *cobra.Command, args []string) { profileOut += fmt.Sprintln(" " + newProfileName + ":") profileOut += fmt.Sprintln(" fqbn: " + compileRequest.GetFqbn()) profileOut += fmt.Sprintln(" platforms:") - boardPlatform := compileRes.GetBoardPlatform() + boardPlatform := builderRes.GetBoardPlatform() profileOut += fmt.Sprintln(" - platform: " + boardPlatform.GetId() + " (" + boardPlatform.GetVersion() + ")") if url := boardPlatform.GetPackageUrl(); url != "" { profileOut += fmt.Sprintln(" platform_index_url: " + url) } - if buildPlatform := compileRes.GetBuildPlatform(); buildPlatform != nil && + if buildPlatform := builderRes.GetBuildPlatform(); buildPlatform != nil && buildPlatform.GetId() != boardPlatform.GetId() && buildPlatform.GetVersion() != boardPlatform.GetVersion() { profileOut += fmt.Sprintln(" - platform: " + buildPlatform.GetId() + " (" + buildPlatform.GetVersion() + ")") @@ -350,12 +350,12 @@ func runCompileCommand(cmd *cobra.Command, args []string) { res := &compileResult{ CompilerOut: stdIO.Stdout, CompilerErr: stdIO.Stderr, - BuilderResult: result.NewCompileResponse(compileRes), + BuilderResult: result.NewBuilderResult(builderRes), UploadResult: updatedUploadPortResult{ UpdatedUploadPort: result.NewPort(uploadRes.GetUpdatedUploadPort()), }, ProfileOut: profileOut, - Diagnostics: result.NewCompileDiagnostics(compileRes.GetDiagnostics()), + Diagnostics: result.NewCompileDiagnostics(builderRes.GetDiagnostics()), Success: compileError == nil, showPropertiesMode: showProperties, hideStats: preprocess, @@ -401,7 +401,7 @@ type updatedUploadPortResult struct { type compileResult struct { CompilerOut string `json:"compiler_out"` CompilerErr string `json:"compiler_err"` - BuilderResult *result.CompileResponse `json:"builder_result"` + BuilderResult *result.BuilderResult `json:"builder_result"` UploadResult updatedUploadPortResult `json:"upload_result"` Success bool `json:"success"` ProfileOut string `json:"profile_out,omitempty"` diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index a96ccbb02c6..c03ad699852 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -909,9 +909,7 @@ func NewMonitorPortSettingDescriptor(m *rpc.MonitorPortSettingDescriptor) *Monit } } -type CompileResponse struct { - OutStream []byte `json:"out_stream,omitempty"` - ErrStream []byte `json:"err_stream,omitempty"` +type BuilderResult struct { BuildPath string `json:"build_path,omitempty"` UsedLibraries []*Library `json:"used_libraries,omitempty"` ExecutableSectionsSize []*ExecutableSectionSize `json:"executable_sections_size,omitempty"` @@ -921,7 +919,7 @@ type CompileResponse struct { Diagnostics []*CompileDiagnostic `json:"diagnostics,omitempty"` } -func NewCompileResponse(c *rpc.CompileResponse) *CompileResponse { +func NewBuilderResult(c *rpc.BuilderResult) *BuilderResult { if c == nil { return nil } @@ -934,9 +932,7 @@ func NewCompileResponse(c *rpc.CompileResponse) *CompileResponse { executableSectionsSizes[i] = NewExecutableSectionSize(v) } - return &CompileResponse{ - OutStream: c.GetOutStream(), - ErrStream: c.GetErrStream(), + return &BuilderResult{ BuildPath: c.GetBuildPath(), UsedLibraries: usedLibs, ExecutableSectionsSize: executableSectionsSizes, diff --git a/internal/cli/feedback/result/rpc_test.go b/internal/cli/feedback/result/rpc_test.go index 08f596b03ee..3c7e9cff670 100644 --- a/internal/cli/feedback/result/rpc_test.go +++ b/internal/cli/feedback/result/rpc_test.go @@ -190,9 +190,9 @@ func TestAllFieldAreMapped(t *testing.T) { monitorPortSettingDescriptorResult := result.NewMonitorPortSettingDescriptor(monitorPortSettingDescriptorRpc) mustContainsAllPropertyOfRpcStruct(t, monitorPortSettingDescriptorRpc, monitorPortSettingDescriptorResult) - compileResponseRpc := &rpc.CompileResponse{} - compileResponseResult := result.NewCompileResponse(compileResponseRpc) - mustContainsAllPropertyOfRpcStruct(t, compileResponseRpc, compileResponseResult, "progress") + builderResultRpc := &rpc.BuilderResult{} + builderResultResult := result.NewBuilderResult(builderResultRpc) + mustContainsAllPropertyOfRpcStruct(t, builderResultRpc, builderResultResult) executableSectionSizeRpc := &rpc.ExecutableSectionSize{} executableSectionSizeResult := result.NewExecutableSectionSize(executableSectionSizeRpc) diff --git a/internal/integrationtest/compile_3/compile_show_properties_test.go b/internal/integrationtest/compile_3/compile_show_properties_test.go index 1c17ef63d47..01ebc382d9a 100644 --- a/internal/integrationtest/compile_3/compile_show_properties_test.go +++ b/internal/integrationtest/compile_3/compile_show_properties_test.go @@ -20,13 +20,13 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/integrationtest" - "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" ) type cliCompileResponse struct { - BuilderResult *commands.CompileResponse `json:"builder_result"` + BuilderResult *rpc.BuilderResult `json:"builder_result"` } func TestCompileShowProperties(t *testing.T) { diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index d5564454b25..959b2c2639f 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -325,26 +325,13 @@ type CompileResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The output of the compilation process (stream) - OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3" json:"out_stream,omitempty"` - // The error output of the compilation process (stream) - ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3" json:"err_stream,omitempty"` - // The compiler build path - BuildPath string `protobuf:"bytes,3,opt,name=build_path,json=buildPath,proto3" json:"build_path,omitempty"` - // The libraries used in the build - UsedLibraries []*Library `protobuf:"bytes,4,rep,name=used_libraries,json=usedLibraries,proto3" json:"used_libraries,omitempty"` - // The size of the executable split by sections - ExecutableSectionsSize []*ExecutableSectionSize `protobuf:"bytes,5,rep,name=executable_sections_size,json=executableSectionsSize,proto3" json:"executable_sections_size,omitempty"` - // The platform where the board is defined - BoardPlatform *InstalledPlatformReference `protobuf:"bytes,6,opt,name=board_platform,json=boardPlatform,proto3" json:"board_platform,omitempty"` - // The platform used for the build (if referenced from the board platform) - BuildPlatform *InstalledPlatformReference `protobuf:"bytes,7,opt,name=build_platform,json=buildPlatform,proto3" json:"build_platform,omitempty"` - // Completions reports of the compilation process (stream) - Progress *TaskProgress `protobuf:"bytes,8,opt,name=progress,proto3" json:"progress,omitempty"` - // Build properties used for compiling - BuildProperties []string `protobuf:"bytes,9,rep,name=build_properties,json=buildProperties,proto3" json:"build_properties,omitempty"` - // Compiler errors and warnings - Diagnostics []*CompileDiagnostic `protobuf:"bytes,10,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` + // Types that are assignable to Message: + // + // *CompileResponse_OutStream + // *CompileResponse_ErrStream + // *CompileResponse_Progress + // *CompileResponse_Result + Message isCompileResponse_Message `protobuf_oneof:"message"` } func (x *CompileResponse) Reset() { @@ -379,70 +366,169 @@ func (*CompileResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{1} } +func (m *CompileResponse) GetMessage() isCompileResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *CompileResponse) GetOutStream() []byte { - if x != nil { + if x, ok := x.GetMessage().(*CompileResponse_OutStream); ok { return x.OutStream } return nil } func (x *CompileResponse) GetErrStream() []byte { - if x != nil { + if x, ok := x.GetMessage().(*CompileResponse_ErrStream); ok { return x.ErrStream } return nil } -func (x *CompileResponse) GetBuildPath() string { +func (x *CompileResponse) GetProgress() *TaskProgress { + if x, ok := x.GetMessage().(*CompileResponse_Progress); ok { + return x.Progress + } + return nil +} + +func (x *CompileResponse) GetResult() *BuilderResult { + if x, ok := x.GetMessage().(*CompileResponse_Result); ok { + return x.Result + } + return nil +} + +type isCompileResponse_Message interface { + isCompileResponse_Message() +} + +type CompileResponse_OutStream struct { + // The output of the compilation process (stream) + OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3,oneof"` +} + +type CompileResponse_ErrStream struct { + // The error output of the compilation process (stream) + ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3,oneof"` +} + +type CompileResponse_Progress struct { + // Completions reports of the compilation process (stream) + Progress *TaskProgress `protobuf:"bytes,3,opt,name=progress,proto3,oneof"` +} + +type CompileResponse_Result struct { + // The compilation result + Result *BuilderResult `protobuf:"bytes,4,opt,name=result,proto3,oneof"` +} + +func (*CompileResponse_OutStream) isCompileResponse_Message() {} + +func (*CompileResponse_ErrStream) isCompileResponse_Message() {} + +func (*CompileResponse_Progress) isCompileResponse_Message() {} + +func (*CompileResponse_Result) isCompileResponse_Message() {} + +type BuilderResult struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The compiler build path + BuildPath string `protobuf:"bytes,1,opt,name=build_path,json=buildPath,proto3" json:"build_path,omitempty"` + // The libraries used in the build + UsedLibraries []*Library `protobuf:"bytes,2,rep,name=used_libraries,json=usedLibraries,proto3" json:"used_libraries,omitempty"` + // The size of the executable split by sections + ExecutableSectionsSize []*ExecutableSectionSize `protobuf:"bytes,3,rep,name=executable_sections_size,json=executableSectionsSize,proto3" json:"executable_sections_size,omitempty"` + // The platform where the board is defined + BoardPlatform *InstalledPlatformReference `protobuf:"bytes,4,opt,name=board_platform,json=boardPlatform,proto3" json:"board_platform,omitempty"` + // The platform used for the build (if referenced from the board platform) + BuildPlatform *InstalledPlatformReference `protobuf:"bytes,5,opt,name=build_platform,json=buildPlatform,proto3" json:"build_platform,omitempty"` + // Build properties used for compiling + BuildProperties []string `protobuf:"bytes,7,rep,name=build_properties,json=buildProperties,proto3" json:"build_properties,omitempty"` + // Compiler errors and warnings + Diagnostics []*CompileDiagnostic `protobuf:"bytes,8,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` +} + +func (x *BuilderResult) Reset() { + *x = BuilderResult{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BuilderResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuilderResult) ProtoMessage() {} + +func (x *BuilderResult) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuilderResult.ProtoReflect.Descriptor instead. +func (*BuilderResult) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{2} +} + +func (x *BuilderResult) GetBuildPath() string { if x != nil { return x.BuildPath } return "" } -func (x *CompileResponse) GetUsedLibraries() []*Library { +func (x *BuilderResult) GetUsedLibraries() []*Library { if x != nil { return x.UsedLibraries } return nil } -func (x *CompileResponse) GetExecutableSectionsSize() []*ExecutableSectionSize { +func (x *BuilderResult) GetExecutableSectionsSize() []*ExecutableSectionSize { if x != nil { return x.ExecutableSectionsSize } return nil } -func (x *CompileResponse) GetBoardPlatform() *InstalledPlatformReference { +func (x *BuilderResult) GetBoardPlatform() *InstalledPlatformReference { if x != nil { return x.BoardPlatform } return nil } -func (x *CompileResponse) GetBuildPlatform() *InstalledPlatformReference { +func (x *BuilderResult) GetBuildPlatform() *InstalledPlatformReference { if x != nil { return x.BuildPlatform } return nil } -func (x *CompileResponse) GetProgress() *TaskProgress { - if x != nil { - return x.Progress - } - return nil -} - -func (x *CompileResponse) GetBuildProperties() []string { +func (x *BuilderResult) GetBuildProperties() []string { if x != nil { return x.BuildProperties } return nil } -func (x *CompileResponse) GetDiagnostics() []*CompileDiagnostic { +func (x *BuilderResult) GetDiagnostics() []*CompileDiagnostic { if x != nil { return x.Diagnostics } @@ -462,7 +548,7 @@ type ExecutableSectionSize struct { func (x *ExecutableSectionSize) Reset() { *x = ExecutableSectionSize{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -475,7 +561,7 @@ func (x *ExecutableSectionSize) String() string { func (*ExecutableSectionSize) ProtoMessage() {} func (x *ExecutableSectionSize) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -488,7 +574,7 @@ func (x *ExecutableSectionSize) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutableSectionSize.ProtoReflect.Descriptor instead. func (*ExecutableSectionSize) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{2} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{3} } func (x *ExecutableSectionSize) GetName() string { @@ -538,7 +624,7 @@ type CompileDiagnostic struct { func (x *CompileDiagnostic) Reset() { *x = CompileDiagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -551,7 +637,7 @@ func (x *CompileDiagnostic) String() string { func (*CompileDiagnostic) ProtoMessage() {} func (x *CompileDiagnostic) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -564,7 +650,7 @@ func (x *CompileDiagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use CompileDiagnostic.ProtoReflect.Descriptor instead. func (*CompileDiagnostic) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{3} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{4} } func (x *CompileDiagnostic) GetSeverity() string { @@ -634,7 +720,7 @@ type CompileDiagnosticContext struct { func (x *CompileDiagnosticContext) Reset() { *x = CompileDiagnosticContext{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -647,7 +733,7 @@ func (x *CompileDiagnosticContext) String() string { func (*CompileDiagnosticContext) ProtoMessage() {} func (x *CompileDiagnosticContext) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -660,7 +746,7 @@ func (x *CompileDiagnosticContext) ProtoReflect() protoreflect.Message { // Deprecated: Use CompileDiagnosticContext.ProtoReflect.Descriptor instead. func (*CompileDiagnosticContext) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{4} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{5} } func (x *CompileDiagnosticContext) GetMessage() string { @@ -709,7 +795,7 @@ type CompileDiagnosticNote struct { func (x *CompileDiagnosticNote) Reset() { *x = CompileDiagnosticNote{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -722,7 +808,7 @@ func (x *CompileDiagnosticNote) String() string { func (*CompileDiagnosticNote) ProtoMessage() {} func (x *CompileDiagnosticNote) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -735,7 +821,7 @@ func (x *CompileDiagnosticNote) ProtoReflect() protoreflect.Message { // Deprecated: Use CompileDiagnosticNote.ProtoReflect.Descriptor instead. func (*CompileDiagnosticNote) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{5} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{6} } func (x *CompileDiagnosticNote) GetMessage() string { @@ -850,93 +936,99 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xa7, 0x05, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, - 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x0d, - 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, 0x0a, - 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, - 0x7a, 0x65, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x44, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x29, - 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, + 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, + 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, - 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, - 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, - 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x22, 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, - 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa1, + 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x75, 0x73, + 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, + 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, + 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, + 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, + 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, + 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, + 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, + 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, + 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, + 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, + 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, + 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, + 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, + 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, + 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -951,38 +1043,40 @@ func file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_compile_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_compile_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_cc_arduino_cli_commands_v1_compile_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_cc_arduino_cli_commands_v1_compile_proto_goTypes = []interface{}{ (*CompileRequest)(nil), // 0: cc.arduino.cli.commands.v1.CompileRequest (*CompileResponse)(nil), // 1: cc.arduino.cli.commands.v1.CompileResponse - (*ExecutableSectionSize)(nil), // 2: cc.arduino.cli.commands.v1.ExecutableSectionSize - (*CompileDiagnostic)(nil), // 3: cc.arduino.cli.commands.v1.CompileDiagnostic - (*CompileDiagnosticContext)(nil), // 4: cc.arduino.cli.commands.v1.CompileDiagnosticContext - (*CompileDiagnosticNote)(nil), // 5: cc.arduino.cli.commands.v1.CompileDiagnosticNote - nil, // 6: cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry - (*Instance)(nil), // 7: cc.arduino.cli.commands.v1.Instance - (*wrapperspb.BoolValue)(nil), // 8: google.protobuf.BoolValue - (*Library)(nil), // 9: cc.arduino.cli.commands.v1.Library - (*InstalledPlatformReference)(nil), // 10: cc.arduino.cli.commands.v1.InstalledPlatformReference - (*TaskProgress)(nil), // 11: cc.arduino.cli.commands.v1.TaskProgress + (*BuilderResult)(nil), // 2: cc.arduino.cli.commands.v1.BuilderResult + (*ExecutableSectionSize)(nil), // 3: cc.arduino.cli.commands.v1.ExecutableSectionSize + (*CompileDiagnostic)(nil), // 4: cc.arduino.cli.commands.v1.CompileDiagnostic + (*CompileDiagnosticContext)(nil), // 5: cc.arduino.cli.commands.v1.CompileDiagnosticContext + (*CompileDiagnosticNote)(nil), // 6: cc.arduino.cli.commands.v1.CompileDiagnosticNote + nil, // 7: cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry + (*Instance)(nil), // 8: cc.arduino.cli.commands.v1.Instance + (*wrapperspb.BoolValue)(nil), // 9: google.protobuf.BoolValue + (*TaskProgress)(nil), // 10: cc.arduino.cli.commands.v1.TaskProgress + (*Library)(nil), // 11: cc.arduino.cli.commands.v1.Library + (*InstalledPlatformReference)(nil), // 12: cc.arduino.cli.commands.v1.InstalledPlatformReference } var file_cc_arduino_cli_commands_v1_compile_proto_depIdxs = []int32{ - 7, // 0: cc.arduino.cli.commands.v1.CompileRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 6, // 1: cc.arduino.cli.commands.v1.CompileRequest.source_override:type_name -> cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry - 8, // 2: cc.arduino.cli.commands.v1.CompileRequest.export_binaries:type_name -> google.protobuf.BoolValue - 9, // 3: cc.arduino.cli.commands.v1.CompileResponse.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library - 2, // 4: cc.arduino.cli.commands.v1.CompileResponse.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize - 10, // 5: cc.arduino.cli.commands.v1.CompileResponse.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 10, // 6: cc.arduino.cli.commands.v1.CompileResponse.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 11, // 7: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 3, // 8: cc.arduino.cli.commands.v1.CompileResponse.diagnostics:type_name -> cc.arduino.cli.commands.v1.CompileDiagnostic - 4, // 9: cc.arduino.cli.commands.v1.CompileDiagnostic.context:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticContext - 5, // 10: cc.arduino.cli.commands.v1.CompileDiagnostic.notes:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticNote - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 8, // 0: cc.arduino.cli.commands.v1.CompileRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 7, // 1: cc.arduino.cli.commands.v1.CompileRequest.source_override:type_name -> cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry + 9, // 2: cc.arduino.cli.commands.v1.CompileRequest.export_binaries:type_name -> google.protobuf.BoolValue + 10, // 3: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 2, // 4: cc.arduino.cli.commands.v1.CompileResponse.result:type_name -> cc.arduino.cli.commands.v1.BuilderResult + 11, // 5: cc.arduino.cli.commands.v1.BuilderResult.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library + 3, // 6: cc.arduino.cli.commands.v1.BuilderResult.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize + 12, // 7: cc.arduino.cli.commands.v1.BuilderResult.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 12, // 8: cc.arduino.cli.commands.v1.BuilderResult.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 4, // 9: cc.arduino.cli.commands.v1.BuilderResult.diagnostics:type_name -> cc.arduino.cli.commands.v1.CompileDiagnostic + 5, // 10: cc.arduino.cli.commands.v1.CompileDiagnostic.context:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticContext + 6, // 11: cc.arduino.cli.commands.v1.CompileDiagnostic.notes:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticNote + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_compile_proto_init() } @@ -1018,7 +1112,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutableSectionSize); i { + switch v := v.(*BuilderResult); i { case 0: return &v.state case 1: @@ -1030,7 +1124,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompileDiagnostic); i { + switch v := v.(*ExecutableSectionSize); i { case 0: return &v.state case 1: @@ -1042,7 +1136,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompileDiagnosticContext); i { + switch v := v.(*CompileDiagnostic); i { case 0: return &v.state case 1: @@ -1054,6 +1148,18 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompileDiagnosticContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompileDiagnosticNote); i { case 0: return &v.state @@ -1066,13 +1172,19 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } } + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*CompileResponse_OutStream)(nil), + (*CompileResponse_ErrStream)(nil), + (*CompileResponse_Progress)(nil), + (*CompileResponse_Result)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_compile_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index 57c6ca9d23d..b53a124b6b8 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -97,26 +97,33 @@ message CompileRequest { } message CompileResponse { - // The output of the compilation process (stream) - bytes out_stream = 1; - // The error output of the compilation process (stream) - bytes err_stream = 2; + oneof message { + // The output of the compilation process (stream) + bytes out_stream = 1; + // The error output of the compilation process (stream) + bytes err_stream = 2; + // Completions reports of the compilation process (stream) + TaskProgress progress = 3; + // The compilation result + BuilderResult result = 4; + } +} + +message BuilderResult { // The compiler build path - string build_path = 3; + string build_path = 1; // The libraries used in the build - repeated Library used_libraries = 4; + repeated Library used_libraries = 2; // The size of the executable split by sections - repeated ExecutableSectionSize executable_sections_size = 5; + repeated ExecutableSectionSize executable_sections_size = 3; // The platform where the board is defined - InstalledPlatformReference board_platform = 6; + InstalledPlatformReference board_platform = 4; // The platform used for the build (if referenced from the board platform) - InstalledPlatformReference build_platform = 7; - // Completions reports of the compilation process (stream) - TaskProgress progress = 8; + InstalledPlatformReference build_platform = 5; // Build properties used for compiling - repeated string build_properties = 9; + repeated string build_properties = 7; // Compiler errors and warnings - repeated CompileDiagnostic diagnostics = 10; + repeated CompileDiagnostic diagnostics = 8; } message ExecutableSectionSize { diff --git a/rpc/cc/arduino/cli/commands/v1/upload.pb.go b/rpc/cc/arduino/cli/commands/v1/upload.pb.go index 6e544c62d0c..f7a4dd72b14 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/upload.pb.go @@ -527,10 +527,11 @@ type UploadUsingProgrammerResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The output of the upload process. - OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3" json:"out_stream,omitempty"` - // The error output of the upload process. - ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3" json:"err_stream,omitempty"` + // Types that are assignable to Message: + // + // *UploadUsingProgrammerResponse_OutStream + // *UploadUsingProgrammerResponse_ErrStream + Message isUploadUsingProgrammerResponse_Message `protobuf_oneof:"message"` } func (x *UploadUsingProgrammerResponse) Reset() { @@ -565,20 +566,45 @@ func (*UploadUsingProgrammerResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_upload_proto_rawDescGZIP(), []int{5} } +func (m *UploadUsingProgrammerResponse) GetMessage() isUploadUsingProgrammerResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *UploadUsingProgrammerResponse) GetOutStream() []byte { - if x != nil { + if x, ok := x.GetMessage().(*UploadUsingProgrammerResponse_OutStream); ok { return x.OutStream } return nil } func (x *UploadUsingProgrammerResponse) GetErrStream() []byte { - if x != nil { + if x, ok := x.GetMessage().(*UploadUsingProgrammerResponse_ErrStream); ok { return x.ErrStream } return nil } +type isUploadUsingProgrammerResponse_Message interface { + isUploadUsingProgrammerResponse_Message() +} + +type UploadUsingProgrammerResponse_OutStream struct { + // The output of the upload process. + OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3,oneof"` +} + +type UploadUsingProgrammerResponse_ErrStream struct { + // The error output of the upload process. + ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3,oneof"` +} + +func (*UploadUsingProgrammerResponse_OutStream) isUploadUsingProgrammerResponse_Message() {} + +func (*UploadUsingProgrammerResponse_ErrStream) isUploadUsingProgrammerResponse_Message() {} + type BurnBootloaderRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -701,10 +727,11 @@ type BurnBootloaderResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The output of the burn bootloader process. - OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3" json:"out_stream,omitempty"` - // The error output of the burn bootloader process. - ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3" json:"err_stream,omitempty"` + // Types that are assignable to Message: + // + // *BurnBootloaderResponse_OutStream + // *BurnBootloaderResponse_ErrStream + Message isBurnBootloaderResponse_Message `protobuf_oneof:"message"` } func (x *BurnBootloaderResponse) Reset() { @@ -739,20 +766,45 @@ func (*BurnBootloaderResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_upload_proto_rawDescGZIP(), []int{7} } +func (m *BurnBootloaderResponse) GetMessage() isBurnBootloaderResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *BurnBootloaderResponse) GetOutStream() []byte { - if x != nil { + if x, ok := x.GetMessage().(*BurnBootloaderResponse_OutStream); ok { return x.OutStream } return nil } func (x *BurnBootloaderResponse) GetErrStream() []byte { - if x != nil { + if x, ok := x.GetMessage().(*BurnBootloaderResponse_ErrStream); ok { return x.ErrStream } return nil } +type isBurnBootloaderResponse_Message interface { + isBurnBootloaderResponse_Message() +} + +type BurnBootloaderResponse_OutStream struct { + // The output of the burn bootloader process. + OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3,oneof"` +} + +type BurnBootloaderResponse_ErrStream struct { + // The error output of the burn bootloader process. + ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3,oneof"` +} + +func (*BurnBootloaderResponse_OutStream) isBurnBootloaderResponse_Message() {} + +func (*BurnBootloaderResponse_ErrStream) isBurnBootloaderResponse_Message() {} + type ListProgrammersAvailableForUploadRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1143,88 +1195,90 @@ var file_cc_arduino_cli_commands_v1_upload_proto_rawDesc = []byte{ 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5d, 0x0a, 0x1d, 0x55, 0x70, 0x6c, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x1d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, - 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, - 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, - 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, - 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x22, 0xb1, 0x03, 0x0a, 0x15, 0x42, 0x75, 0x72, - 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, - 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x62, 0x0a, 0x0b, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, + 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, + 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, + 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, + 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x09, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb1, 0x03, 0x0a, 0x15, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, - 0x0f, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x56, 0x0a, 0x16, - 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x22, 0x80, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x75, 0x0a, 0x29, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, + 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, + 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, + 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x62, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, + 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, + 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, 0x0a, 0x16, 0x42, + 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, + 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x75, 0x0a, 0x29, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, + 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x22, 0x8e, 0x01, 0x0a, + 0x1a, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, + 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x66, 0x0a, + 0x09, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, + 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6f, 0x6f, + 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x65, 0x0a, 0x1b, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x22, 0x8e, - 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, - 0x71, 0x62, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, - 0x66, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, - 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, - 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, - 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x65, 0x0a, 0x1b, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x48, - 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, + 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, + 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1454,6 +1508,14 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { (*UploadResponse_ErrStream)(nil), (*UploadResponse_Result)(nil), } + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*UploadUsingProgrammerResponse_OutStream)(nil), + (*UploadUsingProgrammerResponse_ErrStream)(nil), + } + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*BurnBootloaderResponse_OutStream)(nil), + (*BurnBootloaderResponse_ErrStream)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/rpc/cc/arduino/cli/commands/v1/upload.proto b/rpc/cc/arduino/cli/commands/v1/upload.proto index 8a2b6b0215d..b2d3d5bc93f 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.proto +++ b/rpc/cc/arduino/cli/commands/v1/upload.proto @@ -118,10 +118,12 @@ message UploadUsingProgrammerRequest { } message UploadUsingProgrammerResponse { - // The output of the upload process. - bytes out_stream = 1; - // The error output of the upload process. - bytes err_stream = 2; + oneof message { + // The output of the upload process. + bytes out_stream = 1; + // The error output of the upload process. + bytes err_stream = 2; + } } message BurnBootloaderRequest { @@ -150,10 +152,12 @@ message BurnBootloaderRequest { } message BurnBootloaderResponse { - // The output of the burn bootloader process. - bytes out_stream = 1; - // The error output of the burn bootloader process. - bytes err_stream = 2; + oneof message { + // The output of the burn bootloader process. + bytes out_stream = 1; + // The error output of the burn bootloader process. + bytes err_stream = 2; + } } message ListProgrammersAvailableForUploadRequest { From fb1b9a0aa9279803a11d7a2229ffabaa07c7e3ef Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 22 Dec 2023 16:35:28 +0100 Subject: [PATCH 066/361] [skip-changelog] Return error instead of nil in package/library manager getters (#2476) It makes explicit that the function may fails to get the package manager or the library manager. --- commands/board/details.go | 6 +++--- commands/board/list.go | 12 ++++++------ commands/board/listall.go | 7 +++---- commands/board/search.go | 7 +++---- commands/compile/compile.go | 12 ++++++------ commands/core/download.go | 6 +++--- commands/core/install.go | 6 +++--- commands/core/search.go | 7 +++---- commands/core/uninstall.go | 4 ++-- commands/core/upgrade.go | 7 +++---- commands/debug/debug.go | 6 +++--- commands/debug/debug_info.go | 12 ++++++------ commands/instances.go | 17 ++++++++++++----- commands/internal/instances/instances.go | 24 +++++++++++++----------- commands/lib/download.go | 6 +++--- commands/lib/install.go | 16 +++++++++++----- commands/lib/list.go | 12 ++++++------ commands/lib/resolve_deps.go | 6 +++--- commands/lib/search.go | 7 +++---- commands/lib/uninstall.go | 6 +++++- commands/lib/upgrade.go | 12 ++++++------ commands/monitor/monitor.go | 6 +++--- commands/monitor/settings.go | 6 +++--- commands/upload/burnbootloader.go | 12 +++++------- commands/upload/programmers_list.go | 6 +++--- commands/upload/upload.go | 15 +++++++-------- 26 files changed, 127 insertions(+), 116 deletions(-) diff --git a/commands/board/details.go b/commands/board/details.go index 604f6cb4553..22cfb36a354 100644 --- a/commands/board/details.go +++ b/commands/board/details.go @@ -28,9 +28,9 @@ import ( // Details returns all details for a board including tools and HW identifiers. // This command basically gather al the information and translates it into the required grpc struct properties func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/board/list.go b/commands/board/list.go index 18d2d815e55..22a66b524c3 100644 --- a/commands/board/list.go +++ b/commands/board/list.go @@ -205,9 +205,9 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL // In case of errors partial results from discoveries that didn't fail // are returned. func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartErrors []error, e error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, nil, err } defer release() @@ -260,9 +260,9 @@ func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool { // Watch returns a channel that receives boards connection and disconnection events. func Watch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.BoardListWatchResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() dm := pme.DiscoveryManager() diff --git a/commands/board/listall.go b/commands/board/listall.go index 8b03ed890f1..2b4e4d153e2 100644 --- a/commands/board/listall.go +++ b/commands/board/listall.go @@ -21,7 +21,6 @@ import ( "strings" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/utils" @@ -30,9 +29,9 @@ import ( // ListAll FIXMEDOC func ListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/board/search.go b/commands/board/search.go index 08bb388b240..00ea3ac1e20 100644 --- a/commands/board/search.go +++ b/commands/board/search.go @@ -21,7 +21,6 @@ import ( "strings" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -32,9 +31,9 @@ import ( // installed. Note that platforms that are not installed don't include boards' FQBNs. // If no search argument is used all boards are returned. func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 739acad05fb..5926eda281a 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -57,15 +57,15 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream exportBinaries = reqExportBinaries.GetValue() } - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return nil, &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return nil, err } logrus.Tracef("Compile %s for %s started", req.GetSketchPath(), req.GetFqbn()) diff --git a/commands/core/download.go b/commands/core/download.go index c166af6585a..a64d35e4ae1 100644 --- a/commands/core/download.go +++ b/commands/core/download.go @@ -30,9 +30,9 @@ var tr = i18n.Tr // PlatformDownload FIXMEDOC func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.PlatformDownloadResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/core/install.go b/commands/core/install.go index 01a37736649..ce012081526 100644 --- a/commands/core/install.go +++ b/commands/core/install.go @@ -29,9 +29,9 @@ import ( // PlatformInstall FIXMEDOC func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformInstallResponse, error) { install := func() error { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return err } defer release() diff --git a/commands/core/search.go b/commands/core/search.go index 9631aaae6b2..f68712c17e3 100644 --- a/commands/core/search.go +++ b/commands/core/search.go @@ -21,7 +21,6 @@ import ( "strings" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/utils" @@ -30,9 +29,9 @@ import ( // PlatformSearch FIXMEDOC func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/core/uninstall.go b/commands/core/uninstall.go index c95d9e1afb4..d1c826ad210 100644 --- a/commands/core/uninstall.go +++ b/commands/core/uninstall.go @@ -38,8 +38,8 @@ func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t // platformUninstall is the implementation of platform unistaller func platformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) error { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { return &cmderrors.InvalidInstanceError{} } defer release() diff --git a/commands/core/upgrade.go b/commands/core/upgrade.go index cecb2e721d8..57ba8de045e 100644 --- a/commands/core/upgrade.go +++ b/commands/core/upgrade.go @@ -19,7 +19,6 @@ import ( "context" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" @@ -29,9 +28,9 @@ import ( // PlatformUpgrade FIXMEDOC func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformUpgradeResponse, error) { upgrade := func() (*cores.PlatformRelease, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/debug/debug.go b/commands/debug/debug.go index afecc276439..431c8fcb830 100644 --- a/commands/debug/debug.go +++ b/commands/debug/debug.go @@ -44,9 +44,9 @@ var tr = i18n.Tr func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Reader, out io.Writer, interrupt <-chan os.Signal) (*rpc.DebugResponse, error) { // Get debugging command line to run debugger - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index 82e99b61eb0..b392ab6401c 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -38,9 +38,9 @@ import ( // GetDebugConfig returns metadata to start debugging with the specified board func GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() return getDebugProperties(req, pme, false) @@ -48,9 +48,9 @@ func GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.G // IsDebugSupported checks if the given board/programmer configuration supports debugging. func IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() configRequest := &rpc.GetDebugConfigRequest{ diff --git a/commands/instances.go b/commands/instances.go index a4a70d19370..41463cba257 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -190,7 +190,11 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro // after reinitializing an instance after installing or uninstalling a core. // If this is not done the information of the uninstall core is kept in memory, // even if it should not. - pmb, commitPackageManager := instances.GetPackageManager(instance).NewBuilder() + pm, err := instances.GetPackageManager(instance) + if err != nil { + return err + } + pmb, commitPackageManager := pm.NewBuilder() // Load packages index for _, URL := range allPackageIndexUrls { @@ -285,7 +289,10 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro commitPackageManager() } - pme, release := instances.GetPackageManagerExplorer(instance) + pme, release, err := instances.GetPackageManagerExplorer(instance) + if err != nil { + return err + } defer release() for _, err := range pme.LoadDiscoveries() { @@ -389,9 +396,9 @@ func Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse // UpdateLibrariesIndex updates the library_index.json func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequest, downloadCB rpc.DownloadProgressCB) error { logrus.Info("Updating libraries index") - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return err } if err := lm.IndexFile.Parent().MkdirAll(); err != nil { diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index 80be3c62da2..0621047f4bd 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -3,6 +3,7 @@ package instances import ( "sync" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -26,36 +27,37 @@ var instancesMux sync.Mutex // GetPackageManager returns a PackageManager. If the package manager is not found // (because the instance is invalid or has been destroyed), nil is returned. // Deprecated: use GetPackageManagerExplorer instead. -func GetPackageManager(inst *rpc.Instance) *packagemanager.PackageManager { +func GetPackageManager(inst *rpc.Instance) (*packagemanager.PackageManager, error) { instancesMux.Lock() i := instances[inst.GetId()] instancesMux.Unlock() if i == nil { - return nil + return nil, &cmderrors.InvalidInstanceError{} } - return i.pm + return i.pm, nil } // GetPackageManagerExplorer returns a new package manager Explorer. The // explorer holds a read lock on the underlying PackageManager and it should // be released by calling the returned "release" function. -func GetPackageManagerExplorer(req *rpc.Instance) (explorer *packagemanager.Explorer, release func()) { - pm := GetPackageManager(req) - if pm == nil { - return nil, nil +func GetPackageManagerExplorer(req *rpc.Instance) (explorer *packagemanager.Explorer, release func(), _err error) { + pm, err := GetPackageManager(req) + if err != nil { + return nil, nil, err } - return pm.NewExplorer() + pme, release := pm.NewExplorer() + return pme, release, nil } // GetLibraryManager returns the library manager for the given instance. -func GetLibraryManager(inst *rpc.Instance) *librariesmanager.LibrariesManager { +func GetLibraryManager(inst *rpc.Instance) (*librariesmanager.LibrariesManager, error) { instancesMux.Lock() i := instances[inst.GetId()] instancesMux.Unlock() if i == nil { - return nil + return nil, &cmderrors.InvalidInstanceError{} } - return i.lm + return i.lm, nil } // SetLibraryManager sets the library manager for the given instance. diff --git a/commands/lib/download.go b/commands/lib/download.go index a8714413eb3..47b39c9c1fd 100644 --- a/commands/lib/download.go +++ b/commands/lib/download.go @@ -35,9 +35,9 @@ var tr = i18n.Tr func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.LibraryDownloadResponse, error) { logrus.Info("Executing `arduino-cli lib download`") - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return nil, &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return nil, err } logrus.Info("Preparing download") diff --git a/commands/lib/install.go b/commands/lib/install.go index 8c9e3e5794e..d0dcd846c67 100644 --- a/commands/lib/install.go +++ b/commands/lib/install.go @@ -33,9 +33,9 @@ import ( // LibraryInstall resolves the library dependencies, then downloads and installs the libraries into the install location. func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return err } toInstall := map[string]*rpc.LibraryDependencyStatus{} @@ -145,7 +145,10 @@ func installLibrary(lm *librariesmanager.LibrariesManager, libRelease *libraries // ZipLibraryInstall FIXMEDOC func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { - lm := instances.GetLibraryManager(req.GetInstance()) + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return err + } if err := lm.InstallZipLib(ctx, paths.New(req.GetPath()), req.GetOverwrite()); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } @@ -155,7 +158,10 @@ func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, t // GitLibraryInstall FIXMEDOC func GitLibraryInstall(ctx context.Context, req *rpc.GitLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { - lm := instances.GetLibraryManager(req.GetInstance()) + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return err + } if err := lm.InstallGitLib(req.GetUrl(), req.GetOverwrite()); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } diff --git a/commands/lib/list.go b/commands/lib/list.go index e1fa300ea1f..0f2f7ec1339 100644 --- a/commands/lib/list.go +++ b/commands/lib/list.go @@ -36,15 +36,15 @@ type installedLib struct { // LibraryList FIXMEDOC func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return nil, &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return nil, err } nameFilter := strings.ToLower(req.GetName()) diff --git a/commands/lib/resolve_deps.go b/commands/lib/resolve_deps.go index 6131aa7b260..b1d17bbc42c 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/lib/resolve_deps.go @@ -30,9 +30,9 @@ import ( // LibraryResolveDependencies FIXMEDOC func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return nil, &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return nil, err } // Search the requested lib diff --git a/commands/lib/search.go b/commands/lib/search.go index e5492d4d0c7..cbd9bf4901a 100644 --- a/commands/lib/search.go +++ b/commands/lib/search.go @@ -20,7 +20,6 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" @@ -30,9 +29,9 @@ import ( // LibrarySearch FIXMEDOC func LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return nil, &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return nil, err } return searchLibrary(req, lm), nil } diff --git a/commands/lib/uninstall.go b/commands/lib/uninstall.go index e31823add46..a7ee8278c0b 100644 --- a/commands/lib/uninstall.go +++ b/commands/lib/uninstall.go @@ -27,7 +27,11 @@ import ( // LibraryUninstall FIXMEDOC func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, taskCB rpc.TaskProgressCB) error { - lm := instances.GetLibraryManager(req.GetInstance()) + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return err + } + ref, err := createLibIndexReference(lm, req) if err != nil { return &cmderrors.InvalidLibraryError{Cause: err} diff --git a/commands/lib/upgrade.go b/commands/lib/upgrade.go index aac357c00f3..824d645d648 100644 --- a/commands/lib/upgrade.go +++ b/commands/lib/upgrade.go @@ -26,9 +26,9 @@ import ( // LibraryUpgradeAll upgrades all the available libraries func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return err } if err := upgrade(req.GetInstance(), listLibraries(lm, true, false), downloadCB, taskCB); err != nil { @@ -44,9 +44,9 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa // LibraryUpgrade upgrades a library func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - lm := instances.GetLibraryManager(req.GetInstance()) - if lm == nil { - return &cmderrors.InvalidInstanceError{} + lm, err := instances.GetLibraryManager(req.GetInstance()) + if err != nil { + return err } // Get the library to upgrade diff --git a/commands/monitor/monitor.go b/commands/monitor/monitor.go index 31c30c2e34d..4f136181697 100644 --- a/commands/monitor/monitor.go +++ b/commands/monitor/monitor.go @@ -61,9 +61,9 @@ func (p *PortProxy) Close() error { // Monitor opens a communication port. It returns a PortProxy to communicate with the port and a PortDescriptor // that describes the available configuration settings. func Monitor(ctx context.Context, req *rpc.MonitorRequest) (*PortProxy, *pluggableMonitor.PortDescriptor, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, nil, err } defer release() diff --git a/commands/monitor/settings.go b/commands/monitor/settings.go index 4f170b942d4..f6d41c15219 100644 --- a/commands/monitor/settings.go +++ b/commands/monitor/settings.go @@ -26,9 +26,9 @@ import ( // EnumerateMonitorPortSettings returns a description of the configuration settings of a monitor port func EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/upload/burnbootloader.go b/commands/upload/burnbootloader.go index bf8bc3a608a..b589e573698 100644 --- a/commands/upload/burnbootloader.go +++ b/commands/upload/burnbootloader.go @@ -19,7 +19,6 @@ import ( "context" "io" - "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -33,13 +32,13 @@ func BurnBootloader(ctx context.Context, req *rpc.BurnBootloaderRequest, outStre WithField("programmer", req.GetProgrammer()). Trace("BurnBootloader started", req.GetFqbn()) - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() - _, err := runProgramAction( + if _, err := runProgramAction( pme, nil, // sketch "", // importFile @@ -54,8 +53,7 @@ func BurnBootloader(ctx context.Context, req *rpc.BurnBootloaderRequest, outStre errStream, req.GetDryRun(), map[string]string{}, // User fields - ) - if err != nil { + ); err != nil { return nil, err } return &rpc.BurnBootloaderResponse{}, nil diff --git a/commands/upload/programmers_list.go b/commands/upload/programmers_list.go index 7bdeb6b7266..76188ac5e2e 100644 --- a/commands/upload/programmers_list.go +++ b/commands/upload/programmers_list.go @@ -26,9 +26,9 @@ import ( // ListProgrammersAvailableForUpload FIXMEDOC func ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer release() diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 0d1e257a09e..34aa397b7c9 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -49,12 +49,11 @@ func SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsReques return nil, &cmderrors.MissingPortProtocolError{} } - pme, release := instances.GetPackageManagerExplorer(req.GetInstance()) - defer release() - - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } + defer release() fqbn, err := cores.ParseFQBN(req.GetFqbn()) if err != nil { @@ -136,9 +135,9 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er return nil, &cmderrors.CantOpenSketchError{Cause: err} } - pme, pmeRelease := instances.GetPackageManagerExplorer(req.GetInstance()) - if pme == nil { - return nil, &cmderrors.InvalidInstanceError{} + pme, pmeRelease, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err } defer pmeRelease() From 8252c6b6c7543980c4860e5abc05e23078655f1a Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 27 Dec 2023 10:34:07 +0100 Subject: [PATCH 067/361] [skip-changelog] Refactoring of LibraryManager libraries directory handling. (#2477) * Factored some library_index.json URL globals * Removed unused parameter * findLibraryIndexRelease requires libraries index instead of libraries manager * LibrariesManager.AddLibrariesDir now accepts directly a LibraryDir struct This is preparatory for the next commit * AddLibrariesDir now can handle also single-lib directories * Removed weird hack in the library detector Previously the libraries detector had to load the single librares provided via '--library' flag after a Rescan, because the library manager wasn't able to handle a single folder library. Now it can so we removed all the tricky machinery. --- commands/instances.go | 27 ++++-- commands/lib/download.go | 2 +- commands/lib/install.go | 2 +- commands/lib/resolve_deps.go | 2 +- commands/lib/uninstall.go | 2 +- commands/lib/utils.go | 9 +- .../builder/internal/detector/detector.go | 37 +++++--- internal/arduino/globals/globals.go | 15 ++++ .../libraries/librariesmanager/download.go | 32 ------- .../librariesmanager/librariesmanager.go | 87 +++++++------------ 10 files changed, 96 insertions(+), 119 deletions(-) delete mode 100644 internal/arduino/libraries/librariesmanager/download.go diff --git a/commands/instances.go b/commands/instances.go index 41463cba257..c06d81e93eb 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -311,7 +311,11 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro for _, pack := range pme.GetPackages() { for _, platform := range pack.Platforms { if platformRelease := pme.GetInstalledPlatformRelease(platform); platformRelease != nil { - lm.AddPlatformReleaseLibrariesDir(platformRelease, libraries.PlatformBuiltIn) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + PlatformRelease: platformRelease, + Path: platformRelease.GetLibrariesDir(), + Location: libraries.PlatformBuiltIn, + }) } } } @@ -324,11 +328,17 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if profile == nil { // Add directories of libraries bundled with IDE if bundledLibsDir := configuration.IDEBuiltinLibrariesDir(configuration.Settings); bundledLibsDir != nil { - lm.AddLibrariesDir(bundledLibsDir, libraries.IDEBuiltIn) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + Path: bundledLibsDir, + Location: libraries.IDEBuiltIn, + }) } // Add libraries directory from config file - lm.AddLibrariesDir(configuration.LibrariesDir(configuration.Settings), libraries.User) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + Path: configuration.LibrariesDir(configuration.Settings), + Location: libraries.User, + }) } else { // Load libraries required for profile for _, libraryRef := range profile.Libraries { @@ -368,7 +378,10 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro taskCallback(&rpc.TaskProgress{Completed: true}) } - lm.AddLibrariesDir(libRoot, libraries.User) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + Path: libRoot, + Location: libraries.User, + }) } } @@ -412,11 +425,7 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ } defer tmp.RemoveAll() - indexResource := resources.IndexResource{ - URL: librariesmanager.LibraryIndexWithSignatureArchiveURL, - EnforceSignatureVerification: true, - } - if err := indexResource.Download(lm.IndexFile.Parent(), downloadCB); err != nil { + if err := globals.LibrariesIndexResource.Download(lm.IndexFile.Parent(), downloadCB); err != nil { return err } diff --git a/commands/lib/download.go b/commands/lib/download.go index 47b39c9c1fd..b8019aff488 100644 --- a/commands/lib/download.go +++ b/commands/lib/download.go @@ -42,7 +42,7 @@ func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downl logrus.Info("Preparing download") - lib, err := findLibraryIndexRelease(lm, req) + lib, err := findLibraryIndexRelease(lm.Index, req) if err != nil { return nil, err } diff --git a/commands/lib/install.go b/commands/lib/install.go index d0dcd846c67..4f57741456d 100644 --- a/commands/lib/install.go +++ b/commands/lib/install.go @@ -72,7 +72,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa // Find the libReleasesToInstall to install libReleasesToInstall := map[*librariesindex.Release]*librariesmanager.LibraryInstallPlan{} for _, lib := range toInstall { - libRelease, err := findLibraryIndexRelease(lm, &rpc.LibraryInstallRequest{ + libRelease, err := findLibraryIndexRelease(lm.Index, &rpc.LibraryInstallRequest{ Name: lib.GetName(), Version: lib.GetVersionRequired(), }) diff --git a/commands/lib/resolve_deps.go b/commands/lib/resolve_deps.go index b1d17bbc42c..b25073424d2 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/lib/resolve_deps.go @@ -36,7 +36,7 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe } // Search the requested lib - reqLibRelease, err := findLibraryIndexRelease(lm, req) + reqLibRelease, err := findLibraryIndexRelease(lm.Index, req) if err != nil { return nil, err } diff --git a/commands/lib/uninstall.go b/commands/lib/uninstall.go index a7ee8278c0b..28f10153459 100644 --- a/commands/lib/uninstall.go +++ b/commands/lib/uninstall.go @@ -32,7 +32,7 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas return err } - ref, err := createLibIndexReference(lm, req) + ref, err := createLibIndexReference(req) if err != nil { return &cmderrors.InvalidLibraryError{Cause: err} } diff --git a/commands/lib/utils.go b/commands/lib/utils.go index cab8d85ec0c..25e3364cdb1 100644 --- a/commands/lib/utils.go +++ b/commands/lib/utils.go @@ -19,7 +19,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" ) type libraryReferencer interface { @@ -27,7 +26,7 @@ type libraryReferencer interface { GetName() string } -func createLibIndexReference(lm *librariesmanager.LibrariesManager, req libraryReferencer) (*librariesindex.Reference, error) { +func createLibIndexReference(req libraryReferencer) (*librariesindex.Reference, error) { version, err := commands.ParseVersion(req) if err != nil { return nil, &cmderrors.InvalidVersionError{Cause: err} @@ -36,12 +35,12 @@ func createLibIndexReference(lm *librariesmanager.LibrariesManager, req libraryR return &librariesindex.Reference{Name: req.GetName(), Version: version}, nil } -func findLibraryIndexRelease(lm *librariesmanager.LibrariesManager, req libraryReferencer) (*librariesindex.Release, error) { - ref, err := createLibIndexReference(lm, req) +func findLibraryIndexRelease(li *librariesindex.Index, req libraryReferencer) (*librariesindex.Release, error) { + ref, err := createLibIndexReference(req) if err != nil { return nil, err } - lib := lm.Index.FindRelease(ref) + lib := li.FindRelease(ref) if lib == nil { return nil, &cmderrors.LibraryNotFoundError{Library: ref.String()} } diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index a8cf2d3c077..efc0bd9b970 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -608,20 +608,42 @@ func LibrariesLoader( if err := builtInLibrariesFolders.ToAbs(); err != nil { return nil, nil, nil, err } - lm.AddLibrariesDir(builtInLibrariesFolders, libraries.IDEBuiltIn) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + Path: builtInLibrariesFolders, + Location: libraries.IDEBuiltIn, + }) } if actualPlatform != targetPlatform { - lm.AddPlatformReleaseLibrariesDir(actualPlatform, libraries.ReferencedPlatformBuiltIn) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + PlatformRelease: actualPlatform, + Path: actualPlatform.GetLibrariesDir(), + Location: libraries.ReferencedPlatformBuiltIn, + }) } - lm.AddPlatformReleaseLibrariesDir(targetPlatform, libraries.PlatformBuiltIn) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + PlatformRelease: targetPlatform, + Path: targetPlatform.GetLibrariesDir(), + Location: libraries.PlatformBuiltIn, + }) librariesFolders := otherLibrariesDirs if err := librariesFolders.ToAbs(); err != nil { return nil, nil, nil, err } for _, folder := range librariesFolders { - lm.AddLibrariesDir(folder, libraries.User) + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + Path: folder, + Location: libraries.User, // XXX: Should be libraries.Unmanaged? + }) + } + + for _, dir := range libraryDirs { + lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + Path: dir, + Location: libraries.Unmanaged, + IsSingleLibrary: true, + }) } for _, status := range lm.RescanLibraries() { @@ -633,13 +655,6 @@ func LibrariesLoader( // When we're gonna refactor the legacy package this will be gone. verboseOut.Write([]byte(status.Message())) } - - for _, dir := range libraryDirs { - // Libraries specified this way have top priority - if err := lm.LoadLibraryFromDir(dir, libraries.Unmanaged); err != nil { - return nil, nil, nil, err - } - } } resolver := librariesresolver.NewCppResolver() diff --git a/internal/arduino/globals/globals.go b/internal/arduino/globals/globals.go index 68b5dd577c9..9f91213c492 100644 --- a/internal/arduino/globals/globals.go +++ b/internal/arduino/globals/globals.go @@ -15,6 +15,12 @@ package globals +import ( + "net/url" + + "github.com/arduino/arduino-cli/internal/arduino/resources" +) + var ( // MainFileValidExtension is the extension that must be used for files in new sketches MainFileValidExtension = ".ino" @@ -63,4 +69,13 @@ var ( // DefaultIndexURL is the default index url DefaultIndexURL = "https://downloads.arduino.cc/packages/package_index.tar.bz2" + + // LibrariesIndexURL is the URL where to get the libraries index. + LibrariesIndexURL, _ = url.Parse("https://downloads.arduino.cc/libraries/library_index.tar.bz2") + + // LibrariesIndexResource is the IndexResource to get the libraries index. + LibrariesIndexResource = resources.IndexResource{ + URL: LibrariesIndexURL, + EnforceSignatureVerification: true, + } ) diff --git a/internal/arduino/libraries/librariesmanager/download.go b/internal/arduino/libraries/librariesmanager/download.go deleted file mode 100644 index 254f88a981d..00000000000 --- a/internal/arduino/libraries/librariesmanager/download.go +++ /dev/null @@ -1,32 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 librariesmanager - -import ( - "net/url" -) - -// LibraryIndexURL is the URL where to get the library index. -var LibraryIndexURL, _ = url.Parse("https://downloads.arduino.cc/libraries/library_index.json") - -// LibraryIndexGZURL is the URL where to get the gzipped library index. -var LibraryIndexGZURL, _ = url.Parse("https://downloads.arduino.cc/libraries/library_index.json.gz") - -// LibraryIndexSignature is the URL where to get the library index signature. -var LibraryIndexSignature, _ = url.Parse("https://downloads.arduino.cc/libraries/library_index.json.sig") - -// LibraryIndexWithSignatureArchiveURL is the URL where to get the library index. -var LibraryIndexWithSignatureArchiveURL, _ = url.Parse("https://downloads.arduino.cc/libraries/library_index.tar.bz2") diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager.go b/internal/arduino/libraries/librariesmanager/librariesmanager.go index a73a6025c72..db7f3b2f586 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager.go @@ -49,6 +49,7 @@ type LibrariesDir struct { Path *paths.Path Location libraries.LibraryLocation PlatformRelease *cores.PlatformRelease + IsSingleLibrary bool // true if Path points directly to a library instad of a dir of libraries } var tr = i18n.Tr @@ -102,38 +103,20 @@ func (lm *LibrariesManager) LoadIndex() error { // AddLibrariesDir adds path to the list of directories // to scan when searching for libraries. If a path is already // in the list it is ignored. -func (lm *LibrariesManager) AddLibrariesDir(path *paths.Path, location libraries.LibraryLocation) { - for _, dir := range lm.LibrariesDir { - if dir.Path.EquivalentTo(path) { - return - } - } - logrus.WithField("dir", path).WithField("location", location.String()).Info("Adding libraries dir") - lm.LibrariesDir = append(lm.LibrariesDir, &LibrariesDir{ - Path: path, - Location: location, - }) -} - -// AddPlatformReleaseLibrariesDir add the libraries directory in the -// specified PlatformRelease to the list of directories to scan when -// searching for libraries. -func (lm *LibrariesManager) AddPlatformReleaseLibrariesDir(plaftormRelease *cores.PlatformRelease, location libraries.LibraryLocation) { - path := plaftormRelease.GetLibrariesDir() - if path == nil { +func (lm *LibrariesManager) AddLibrariesDir(libDir *LibrariesDir) { + if libDir.Path == nil { return } for _, dir := range lm.LibrariesDir { - if dir.Path.EquivalentTo(path) { + if dir.Path.EquivalentTo(libDir.Path) { return } } - logrus.WithField("dir", path).WithField("location", location.String()).Info("Adding libraries dir") - lm.LibrariesDir = append(lm.LibrariesDir, &LibrariesDir{ - Path: path, - Location: location, - PlatformRelease: plaftormRelease, - }) + logrus.WithField("dir", libDir.Path). + WithField("location", libDir.Location.String()). + WithField("isSingleLibrary", libDir.IsSingleLibrary). + Info("Adding libraries dir") + lm.LibrariesDir = append(lm.LibrariesDir, libDir) } // RescanLibraries reload all installed libraries in the system. @@ -141,7 +124,7 @@ func (lm *LibrariesManager) RescanLibraries() []*status.Status { lm.clearLibraries() statuses := []*status.Status{} for _, dir := range lm.LibrariesDir { - if errs := lm.LoadLibrariesFromDir(dir); len(errs) > 0 { + if errs := lm.loadLibrariesFromDir(dir); len(errs) > 0 { statuses = append(statuses, errs...) } } @@ -164,22 +147,29 @@ func (lm *LibrariesManager) getLibrariesDir(installLocation libraries.LibraryLoc } } -// LoadLibrariesFromDir loads all libraries in the given directory. Returns +// loadLibrariesFromDir loads all libraries in the given directory. Returns // nil if the directory doesn't exists. -func (lm *LibrariesManager) LoadLibrariesFromDir(librariesDir *LibrariesDir) []*status.Status { +func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []*status.Status { statuses := []*status.Status{} - subDirs, err := librariesDir.Path.ReadDir() - if os.IsNotExist(err) { - return statuses - } - if err != nil { - s := status.Newf(codes.FailedPrecondition, tr("reading dir %[1]s: %[2]s"), librariesDir.Path, err) - return append(statuses, s) + + var libDirs paths.PathList + if librariesDir.IsSingleLibrary { + libDirs.Add(librariesDir.Path) + } else { + d, err := librariesDir.Path.ReadDir() + if os.IsNotExist(err) { + return statuses + } + if err != nil { + s := status.Newf(codes.FailedPrecondition, tr("reading dir %[1]s: %[2]s"), librariesDir.Path, err) + return append(statuses, s) + } + d.FilterDirs() + d.FilterOutHiddenFiles() + libDirs = d } - subDirs.FilterDirs() - subDirs.FilterOutHiddenFiles() - for _, subDir := range subDirs { + for _, subDir := range libDirs { library, err := libraries.Load(subDir, librariesDir.Location) if err != nil { s := status.Newf(codes.Internal, tr("loading library from %[1]s: %[2]s"), subDir, err) @@ -195,25 +185,6 @@ func (lm *LibrariesManager) LoadLibrariesFromDir(librariesDir *LibrariesDir) []* return statuses } -// LoadLibraryFromDir loads one single library from the libRootDir. -// libRootDir must point to the root of a valid library. -// An error is returned if the path doesn't exist or loading of the library fails. -func (lm *LibrariesManager) LoadLibraryFromDir(libRootDir *paths.Path, location libraries.LibraryLocation) error { - if libRootDir.NotExist() { - return fmt.Errorf(tr("library path does not exist: %s"), libRootDir) - } - - library, err := libraries.Load(libRootDir, location) - if err != nil { - return fmt.Errorf(tr("loading library from %[1]s: %[2]s"), libRootDir, err) - } - - alternatives := lm.Libraries[library.Name] - alternatives.Add(library) - lm.Libraries[library.Name] = alternatives - return nil -} - // FindByReference return the installed libraries matching the Reference // name and version or, if the version is nil, the libraries installed // in the installLocation. From db53f816c80568c649a0bfbd390bbeb925196fb6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Dec 2023 12:04:11 +0100 Subject: [PATCH 068/361] [skip-changelog] Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 (#2475) * Bump google.golang.org/protobuf from 1.31.0 to 1.32.0 Bumps google.golang.org/protobuf from 1.31.0 to 1.32.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protodesc.dep.yml | 8 ++++---- .../protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../google.golang.org/protobuf/types/descriptorpb.dep.yml | 6 +++--- .../google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- .../protobuf/types/known/wrapperspb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 35 files changed, 103 insertions(+), 103 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index ad959eadc42..86cc6294aee 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.31.0 +version: v1.32.0 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index e68ff674843..b291d739b93 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.31.0 +version: v1.32.0 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 92450adf2dc..893bb78df8c 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.31.0 +version: v1.32.0 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index 1ec4ed0a132..b50a32e1add 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.31.0 +version: v1.32.0 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index e158e422e97..d05b2994f31 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.31.0 +version: v1.32.0 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 5a3ce24f021..8a8e4027e9f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.31.0 +version: v1.32.0 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index 5eade23cbeb..3f5fa0aa380 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.31.0 +version: v1.32.0 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index c954ebf8ba0..869057a69ab 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.31.0 +version: v1.32.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 894b34a4fb2..8a167b8a515 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.31.0 +version: v1.32.0 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index f08484b0e27..4285175c5a0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.31.0 +version: v1.32.0 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index f225ea4fb27..1f1e6102305 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.31.0 +version: v1.32.0 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index abaf8506d4b..6aa38301e07 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.31.0 +version: v1.32.0 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index 5009e130d84..d5a13a203ce 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.31.0 +version: v1.32.0 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 0bf65708c16..5ff68c1faff 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.31.0 +version: v1.32.0 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 00b7eb5f67e..4b9ed00ff4d 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.31.0 +version: v1.32.0 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index c7cebaba3b5..6c5e5e9b0da 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.31.0 +version: v1.32.0 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index 7d99ece2374..7c7c7104ed7 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.31.0 +version: v1.32.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index 7726c99881d..82fc654dcbb 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.31.0 +version: v1.32.0 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index 7dac9ae78a6..a433d6dae99 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.31.0 +version: v1.32.0 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index 12d530a0259..d6e02e54ec8 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.31.0 +version: v1.32.0 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index 4e22c9344cf..d8737a5788c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.31.0 +version: v1.32.0 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index eea8da5ecaa..af54a63abf9 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.31.0 +version: v1.32.0 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index a898c7fb7d6..b62bb6ab011 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.31.0 +version: v1.32.0 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml index 91aff701f2f..254023d3cb2 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protodesc -version: v1.31.0 +version: v1.32.0 type: go summary: Package protodesc provides functionality for converting FileDescriptorProto - messages to/from protoreflect.FileDescriptor values. + messages to/from [protoreflect.FileDescriptor] values. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protodesc license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 31c905bac2d..0f835606d06 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.31.0 +version: v1.32.0 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 15277039f14..d65478d49f1 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.31.0 +version: v1.32.0 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 873b8907e04..1d019473f1d 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.31.0 +version: v1.32.0 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 3c2c47a3827..ab4d7329502 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.31.0 +version: v1.32.0 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml index f3ecffce178..f27382151e0 100644 --- a/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/descriptorpb -version: v1.31.0 +version: v1.32.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/types/descriptorpb license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 643a25f2da8..96a2e4d619a 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.31.0 +version: v1.32.0 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 062f8b2a28c..94ba02006a7 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.31.0 +version: v1.32.0 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index 0c775ebba63..d006164a482 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.31.0 +version: v1.32.0 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml index 6d93964224c..f45aedd464b 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/wrapperspb -version: v1.31.0 +version: v1.32.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/wrapperspb license: bsd-3-clause licenses: -- sources: protobuf@v1.31.0/LICENSE +- sources: protobuf@v1.32.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.31.0/PATENTS +- sources: protobuf@v1.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 600766e7664..30af653c8b8 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f google.golang.org/grpc v1.60.1 - google.golang.org/protobuf v1.31.0 + google.golang.org/protobuf v1.32.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 ) diff --git a/go.sum b/go.sum index 080ac0c22df..aca044008dc 100644 --- a/go.sum +++ b/go.sum @@ -311,8 +311,8 @@ google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= -google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From bba8f72e7e74257fcb8a30da99675a9b18c4e2e0 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 2 Jan 2024 10:55:11 +0100 Subject: [PATCH 069/361] [skip-changelog] Removed 'export_cmake' hack (#2482) It is buggy, unmaintained and no more used. --- internal/arduino/builder/builder.go | 3 - internal/arduino/builder/export_cmake.go | 395 ----------------------- 2 files changed, 398 deletions(-) delete mode 100644 internal/arduino/builder/export_cmake.go diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 871d5baefad..5c9e4b6cb92 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -376,9 +376,6 @@ func (b *Builder) Build() error { if buildErr != nil { return buildErr } - if err := b.exportProjectCMake(b.libsDetector.ImportedLibraries(), b.libsDetector.IncludeFolders()); err != nil { - return err - } b.Progress.CompleteStep() if err := b.size(); err != nil { diff --git a/internal/arduino/builder/export_cmake.go b/internal/arduino/builder/export_cmake.go deleted file mode 100644 index 9272879251f..00000000000 --- a/internal/arduino/builder/export_cmake.go +++ /dev/null @@ -1,395 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 builder - -import ( - "fmt" - "io" - "os" - "path/filepath" - "regexp" - "slices" - "strings" - - "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/internal/arduino/globals" - "github.com/arduino/arduino-cli/internal/arduino/libraries" - "github.com/arduino/go-paths-helper" - properties "github.com/arduino/go-properties-orderedmap" -) - -var lineMatcher = regexp.MustCompile(`^#line\s\d+\s"`) - -// exportProjectCMake fixdoc -func (b *Builder) exportProjectCMake(importedLibraries libraries.List, includeFolders paths.PathList) error { - // copies the contents of the file named src to the file named - // by dst. The file will be created if it does not already exist. If the - // destination file exists, all it's contents will be replaced by the contents - // of the source file. The file mode will be copied from the source and - // the copied data is synced/flushed to stable storage. - // TODO: Replace with call to go-paths-helper... - copyFile := func(src, dst string) (err error) { - in, err := os.Open(src) - if err != nil { - return - } - defer in.Close() - - out, err := os.Create(dst) - if err != nil { - return - } - defer func() { - if e := out.Close(); e != nil { - err = e - } - }() - - _, err = io.Copy(out, in) - if err != nil { - return - } - - err = out.Sync() - if err != nil { - return - } - - si, err := os.Stat(src) - if err != nil { - return - } - err = os.Chmod(dst, si.Mode()) - if err != nil { - return - } - - return - } - - // recursively copies a directory tree, attempting to preserve permissions. - // Source directory must exist, destination directory must *not* exist. - // Symlinks are ignored and skipped. - // TODO: Replace with call to go-paths-helper... - var copyDir func(src string, dst string, extensions []string) (err error) - copyDir = func(src string, dst string, extensions []string) (err error) { - isAcceptedExtension := func(ext string) bool { - ext = strings.ToLower(ext) - for _, valid := range extensions { - if ext == valid { - return true - } - } - return false - } - - src = filepath.Clean(src) - dst = filepath.Clean(dst) - - si, err := os.Stat(src) - if err != nil { - return err - } - if !si.IsDir() { - return fmt.Errorf(tr("source is not a directory")) - } - - _, err = os.Stat(dst) - if err != nil && !os.IsNotExist(err) { - return - } - if err == nil { - return fmt.Errorf(tr("destination already exists")) - } - - err = os.MkdirAll(dst, si.Mode()) - if err != nil { - return - } - - entries, err := os.ReadDir(src) - if err != nil { - return - } - - for _, dirEntry := range entries { - entry, scopeErr := dirEntry.Info() - if scopeErr != nil { - return - } - - srcPath := filepath.Join(src, entry.Name()) - dstPath := filepath.Join(dst, entry.Name()) - - if entry.IsDir() { - err = copyDir(srcPath, dstPath, extensions) - if err != nil { - return - } - } else { - // Skip symlinks. - if entry.Mode()&os.ModeSymlink != 0 { - continue - } - - if !isAcceptedExtension(filepath.Ext(srcPath)) { - continue - } - - err = copyFile(srcPath, dstPath) - if err != nil { - return - } - } - } - - return - } - - var validExportExtensions = []string{".a", ".properties"} - for ext := range globals.SourceFilesValidExtensions { - validExportExtensions = append(validExportExtensions, ext) - } - var validHeaderExtensions = []string{} - for ext := range globals.HeaderFilesValidExtensions { - validExportExtensions = append(validExportExtensions, ext) - validHeaderExtensions = append(validHeaderExtensions, ext) - } - var validStaticLibExtensions = []string{".a"} - - // If cannot export Cmake project - if b.buildProperties.Get("compiler.export_cmake") == "" { - return nil - } - - // Create new cmake subFolder - clean if the folder is already there - cmakeFolder := b.buildPath.Join("_cmake") - if _, err := cmakeFolder.Stat(); err == nil { - cmakeFolder.RemoveAll() - } - cmakeFolder.MkdirAll() - - // Create lib and build subfolders - libBaseFolder := cmakeFolder.Join("lib") - libBaseFolder.MkdirAll() - buildBaseFolder := cmakeFolder.Join("build") - buildBaseFolder.MkdirAll() - - // Create core subfolder path (don't create it yet) - coreFolder := cmakeFolder.Join("core") - cmakeFile := cmakeFolder.Join("CMakeLists.txt") - - dynamicLibsFromPkgConfig := map[string]bool{} - for _, library := range importedLibraries { - // Copy used libraries in the correct folder - libDir := libBaseFolder.Join(library.DirName) - mcu := b.buildProperties.Get("build.mcu") - copyDir(library.InstallDir.String(), libDir.String(), validExportExtensions) - - // Read cmake options if available - isStaticLib := true - if cmakeOptions, err := properties.LoadFromPath(libDir.Join("src", mcu, "arduino_builder.properties")); err == nil { - // If the library can be linked dynamically do not copy the library folder - if pkgs, ok := cmakeOptions.GetOk("cmake.pkg_config"); ok { - isStaticLib = false - for _, pkg := range strings.Split(pkgs, " ") { - dynamicLibsFromPkgConfig[pkg] = true - } - } - } - - // Remove examples folder - if _, err := libBaseFolder.Join("examples").Stat(); err == nil { - libDir.Join("examples").RemoveAll() - } - - // Remove stray folders contining incompatible or not needed libraries archives - files, _ := utils.FindFilesInFolder(libDir.Join("src"), true, validStaticLibExtensions...) - for _, file := range files { - staticLibDir := file.Parent() - if !isStaticLib || !strings.Contains(staticLibDir.String(), mcu) { - staticLibDir.RemoveAll() - } - } - } - - // Copy core + variant in use + preprocessed sketch in the correct folders - err := copyDir(b.buildProperties.Get("build.core.path"), coreFolder.String(), validExportExtensions) - if err != nil { - fmt.Println(err) - } - err = copyDir(b.buildProperties.Get("build.variant.path"), coreFolder.Join("variant").String(), validExportExtensions) - if err != nil { - fmt.Println(err) - } - - if err := b.preprocessSketch(includeFolders); err != nil { - return err - } - - err = copyDir(b.sketchBuildPath.String(), cmakeFolder.Join("sketch").String(), validExportExtensions) - if err != nil { - fmt.Println(err) - } - - // remove "#line 1 ..." from exported c_make folder sketch - sketchFiles, _ := utils.FindFilesInFolder(cmakeFolder.Join("sketch"), false, validExportExtensions...) - - for _, file := range sketchFiles { - input, err := file.ReadFile() - if err != nil { - fmt.Println(err) - continue - } - - lines := strings.Split(string(input), "\n") - - for i, line := range lines { - if lineMatcher.MatchString(line) { - lines[i] = "" - } - } - output := strings.Join(lines, "\n") - err = file.WriteFile([]byte(output)) - if err != nil { - fmt.Println(err) - } - } - - // Extract CFLAGS, CPPFLAGS and LDFLAGS - var defines []string - var linkerflags []string - var dynamicLibsFromGccMinusL []string - var linkDirectories []string - - b.extractCompileFlags(b.buildProperties, "recipe.c.combine.pattern", &defines, &dynamicLibsFromGccMinusL, &linkerflags, &linkDirectories) - b.extractCompileFlags(b.buildProperties, "recipe.c.o.pattern", &defines, &dynamicLibsFromGccMinusL, &linkerflags, &linkDirectories) - b.extractCompileFlags(b.buildProperties, "recipe.cpp.o.pattern", &defines, &dynamicLibsFromGccMinusL, &linkerflags, &linkDirectories) - - // Extract folders with .h in them for adding in include list - headerFiles, _ := utils.FindFilesInFolder(cmakeFolder, true, validHeaderExtensions...) - foldersContainingHeaders := findUniqueFoldersRelative(headerFiles.AsStrings(), cmakeFolder.String()) - - // Extract folders with .a in them for adding in static libs paths list - staticLibs, _ := utils.FindFilesInFolder(cmakeFolder, true, validStaticLibExtensions...) - - // Generate the CMakeLists global file - - projectName := b.sketch.Name - - cmakelist := "cmake_minimum_required(VERSION 3.5.0)\n" - cmakelist += "INCLUDE(FindPkgConfig)\n" - cmakelist += "project (" + projectName + " C CXX)\n" - cmakelist += "add_definitions (" + strings.Join(defines, " ") + " " + strings.Join(linkerflags, " ") + ")\n" - cmakelist += "include_directories (" + foldersContainingHeaders + ")\n" - - // Make link directories relative - // We can totally discard them since they mostly are outside the core folder - // If they are inside the core they are not getting copied :) - var relLinkDirectories []string - for _, dir := range linkDirectories { - if strings.Contains(dir, cmakeFolder.String()) { - relLinkDirectories = append(relLinkDirectories, strings.TrimPrefix(dir, cmakeFolder.String())) - } - } - - // Add SO_PATHS option for libraries not getting found by pkg_config - cmakelist += "set(EXTRA_LIBS_DIRS \"\" CACHE STRING \"Additional paths for dynamic libraries\")\n" - - linkGroup := "" - for _, lib := range dynamicLibsFromGccMinusL { - // Dynamic libraries should be discovered by pkg_config - cmakelist += "pkg_search_module (" + strings.ToUpper(lib) + " " + lib + ")\n" - relLinkDirectories = append(relLinkDirectories, "${"+strings.ToUpper(lib)+"_LIBRARY_DIRS}") - linkGroup += " " + lib - } - for lib := range dynamicLibsFromPkgConfig { - cmakelist += "pkg_search_module (" + strings.ToUpper(lib) + " " + lib + ")\n" - relLinkDirectories = append(relLinkDirectories, "${"+strings.ToUpper(lib)+"_LIBRARY_DIRS}") - linkGroup += " ${" + strings.ToUpper(lib) + "_LIBRARIES}" - } - cmakelist += "link_directories (" + strings.Join(relLinkDirectories, " ") + " ${EXTRA_LIBS_DIRS})\n" - for _, staticLib := range staticLibs { - // Static libraries are fully configured - lib := staticLib.Base() - lib = strings.TrimPrefix(lib, "lib") - lib = strings.TrimSuffix(lib, ".a") - if !slices.Contains(dynamicLibsFromGccMinusL, lib) { - linkGroup += " " + lib - cmakelist += "add_library (" + lib + " STATIC IMPORTED)\n" - location := strings.TrimPrefix(staticLib.String(), cmakeFolder.String()) - cmakelist += "set_property(TARGET " + lib + " PROPERTY IMPORTED_LOCATION " + "${PROJECT_SOURCE_DIR}" + location + " )\n" - } - } - - // Include source files - // TODO: remove .cpp and .h from libraries example folders - cmakelist += "file (GLOB_RECURSE SOURCES core/*.c* lib/*.c* sketch/*.c*)\n" - - // Compile and link project - cmakelist += "add_executable (" + projectName + " ${SOURCES} ${SOURCES_LIBS})\n" - cmakelist += "target_link_libraries( " + projectName + " -Wl,--as-needed -Wl,--start-group " + linkGroup + " -Wl,--end-group)\n" - - cmakeFile.WriteFile([]byte(cmakelist)) - - return nil -} - -func (b *Builder) extractCompileFlags(buildProperties *properties.Map, recipe string, defines, dynamicLibs, linkerflags, linkDirectories *[]string) { - appendIfNotPresent := func(target []string, elements ...string) []string { - for _, element := range elements { - if !slices.Contains(target, element) { - target = append(target, element) - } - } - return target - } - - command, _ := b.prepareCommandForRecipe(buildProperties, recipe, true) - - for _, arg := range command.GetArgs() { - if strings.HasPrefix(arg, "-D") { - *defines = appendIfNotPresent(*defines, arg) - continue - } - if strings.HasPrefix(arg, "-l") { - *dynamicLibs = appendIfNotPresent(*dynamicLibs, arg[2:]) - continue - } - if strings.HasPrefix(arg, "-L") { - *linkDirectories = appendIfNotPresent(*linkDirectories, arg[2:]) - continue - } - if strings.HasPrefix(arg, "-") && !strings.HasPrefix(arg, "-I") && !strings.HasPrefix(arg, "-o") { - // HACK : from linkerflags remove MMD (no cache is produced) - if !strings.HasPrefix(arg, "-MMD") { - *linkerflags = appendIfNotPresent(*linkerflags, arg) - } - } - } -} - -func findUniqueFoldersRelative(slice []string, base string) string { - var out []string - for _, element := range slice { - path := filepath.Dir(element) - path = strings.TrimPrefix(path, base+"/") - if !slices.Contains(out, path) { - out = append(out, path) - } - } - return strings.Join(out, " ") -} From 191144831a1c40956cedc29ce30f5293cf71cb81 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 2 Jan 2024 11:01:11 +0100 Subject: [PATCH 070/361] Fix concurrent access to libraries manager gRPC functions. (#2480) * Removed libraries index fields from LibraryManager The presence of the Index* fileds inside LibraryManager didn't give any functional benefit. * Removed all references to LibraryManger.Index * Removed unused tmp file creation * downloadLibrary do not require a libmanager but just the downloadDir * Inline method LibrariesManager.Install * Move initializations closer to usage * Use LibraryManager.FindAllInstalled instead of direct access to field * Made LibraryManager.Libraries private * Simplified libraries resolver init * Made LibrariesManager.LibrariesDir private * Removed DownloadsDir field from LibraryManager * Removed librariesindex.Reference structure and related helpers It does make things more complicated without any actual benefit. * Removed state-altering methods from LibrariesManager The original LibrariresManager has been split into three objects with specific goals: * The Builder object is used to construct a new LibrariesManager. It has methods to add librarires directories and to build the LibrariesManager. * The Explorer object is used to query the LibrariesManager about installed libraries. * The Installer object is used to rescan installed libraries and to install and uninstall. * Fixed test --- commands/core/download.go | 2 +- commands/core/install.go | 2 +- commands/instances.go | 66 ++++---- commands/internal/instances/instances.go | 55 ++++++- commands/lib/download.go | 26 +++- commands/lib/install.go | 67 +++++--- commands/lib/list.go | 42 ++--- commands/lib/resolve_deps.go | 38 +++-- commands/lib/search.go | 9 +- commands/lib/search_test.go | 34 ++-- commands/lib/uninstall.go | 12 +- commands/lib/upgrade.go | 22 ++- commands/lib/utils.go | 48 ------ commands/version.go | 23 +-- .../builder/internal/detector/detector.go | 53 +++---- .../arduino/libraries/librariesindex/index.go | 18 ++- .../libraries/librariesindex/index_test.go | 33 ++-- .../libraries/librariesindex/reference.go | 33 ---- .../libraries/librariesmanager/install.go | 34 ++-- .../librariesmanager/librariesmanager.go | 146 +++++++++++------- .../librariesmanager/librariesmanager_test.go | 19 ++- .../libraries/librariesresolver/cpp.go | 63 +++----- .../libraries/librariesresolver/cpp_test.go | 10 +- .../completion/completion_test.go | 2 +- 24 files changed, 461 insertions(+), 396 deletions(-) delete mode 100644 commands/lib/utils.go delete mode 100644 internal/arduino/libraries/librariesindex/reference.go diff --git a/commands/core/download.go b/commands/core/download.go index a64d35e4ae1..7c686f4aee9 100644 --- a/commands/core/download.go +++ b/commands/core/download.go @@ -36,7 +36,7 @@ func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, dow } defer release() - version, err := commands.ParseVersion(req) + version, err := commands.ParseVersion(req.GetVersion()) if err != nil { return nil, &cmderrors.InvalidVersionError{Cause: err} } diff --git a/commands/core/install.go b/commands/core/install.go index ce012081526..a568a9dcfba 100644 --- a/commands/core/install.go +++ b/commands/core/install.go @@ -35,7 +35,7 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl } defer release() - version, err := commands.ParseVersion(req) + version, err := commands.ParseVersion(req.GetVersion()) if err != nil { return &cmderrors.InvalidVersionError{Cause: err} } diff --git a/commands/instances.go b/commands/instances.go index c06d81e93eb..e6d9a2ebd68 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -301,17 +301,13 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro } // Create library manager and add libraries directories - lm := librariesmanager.NewLibraryManager( - pme.IndexDir, - pme.DownloadDir, - ) - _ = instances.SetLibraryManager(instance, lm) // should never fail + lmb := librariesmanager.NewBuilder() // Load libraries for _, pack := range pme.GetPackages() { for _, platform := range pack.Platforms { if platformRelease := pme.GetInstalledPlatformRelease(platform); platformRelease != nil { - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ PlatformRelease: platformRelease, Path: platformRelease.GetLibrariesDir(), Location: libraries.PlatformBuiltIn, @@ -320,22 +316,33 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro } } - if err := lm.LoadIndex(); err != nil { + indexFileName, err := globals.LibrariesIndexResource.IndexFileName() + if err != nil { + // should never happen + panic("failed getting libraries index file name: " + err.Error()) + } + indexFile := pme.IndexDir.Join(indexFileName) + + logrus.WithField("index", indexFile).Info("Loading libraries index file") + li, err := librariesindex.LoadIndex(indexFile) + if err != nil { s := status.Newf(codes.FailedPrecondition, tr("Loading index file: %v"), err) responseError(s) + li = librariesindex.EmptyIndex } + instances.SetLibrariesIndex(instance, li) if profile == nil { // Add directories of libraries bundled with IDE if bundledLibsDir := configuration.IDEBuiltinLibrariesDir(configuration.Settings); bundledLibsDir != nil { - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ Path: bundledLibsDir, Location: libraries.IDEBuiltIn, }) } // Add libraries directory from config file - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ Path: configuration.LibrariesDir(configuration.Settings), Location: libraries.User, }) @@ -349,17 +356,14 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if !libDir.IsDir() { // Download library taskCallback(&rpc.TaskProgress{Name: tr("Downloading library %s", libraryRef)}) - libRelease := lm.Index.FindRelease(&librariesindex.Reference{ - Name: libraryRef.Library, - Version: libraryRef.Version, - }) - if libRelease == nil { + libRelease, err := li.FindRelease(libraryRef.Library, libraryRef.Version) + if err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Library %s not found", libraryRef)}) err := &cmderrors.LibraryNotFoundError{Library: libraryRef.Library} responseError(err.ToRPCStatus()) continue } - if err := libRelease.Resource.Download(lm.DownloadsDir, nil, libRelease.String(), downloadCallback, ""); err != nil { + if err := libRelease.Resource.Download(pme.DownloadDir, nil, libRelease.String(), downloadCallback, ""); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.ToRPCStatus()) @@ -369,7 +373,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro // Install library taskCallback(&rpc.TaskProgress{Name: tr("Installing library %s", libraryRef)}) - if err := libRelease.Resource.Install(lm.DownloadsDir, libRoot, libDir); err != nil { + if err := libRelease.Resource.Install(pme.DownloadDir, libRoot, libDir); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error installing library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.ToRPCStatus()) @@ -378,16 +382,23 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro taskCallback(&rpc.TaskProgress{Completed: true}) } - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ Path: libRoot, Location: libraries.User, }) } } - for _, status := range lm.RescanLibraries() { - logrus.WithError(status.Err()).Warnf("Error loading library") - // TODO: report as warning: responseError(err) + lm := lmb.Build() + _ = instances.SetLibraryManager(instance, lm) // should never fail + + { + lmi, release := lm.NewInstaller() + for _, status := range lmi.RescanLibraries() { + logrus.WithError(status.Err()).Warnf("Error loading library") + // TODO: report as warning: responseError(err) + } + release() } // Refreshes the locale used, this will change the @@ -409,23 +420,18 @@ func Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse // UpdateLibrariesIndex updates the library_index.json func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequest, downloadCB rpc.DownloadProgressCB) error { logrus.Info("Updating libraries index") - lm, err := instances.GetLibraryManager(req.GetInstance()) + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return err } + indexDir := pme.IndexDir + release() - if err := lm.IndexFile.Parent().MkdirAll(); err != nil { + if err := indexDir.MkdirAll(); err != nil { return &cmderrors.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} } - // Create a temp dir to stage all downloads - tmp, err := paths.MkTempDir("", "library_index_download") - if err != nil { - return &cmderrors.TempDirCreationFailedError{Cause: err} - } - defer tmp.RemoveAll() - - if err := globals.LibrariesIndexResource.Download(lm.IndexFile.Parent(), downloadCB); err != nil { + if err := globals.LibrariesIndexResource.Download(indexDir, downloadCB); err != nil { return err } diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index 0621047f4bd..a26a2dee1f8 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -5,6 +5,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" @@ -17,6 +18,7 @@ import ( type coreInstance struct { pm *packagemanager.PackageManager lm *librariesmanager.LibrariesManager + li *librariesindex.Index } // instances contains all the running Arduino Core Services instances @@ -60,6 +62,49 @@ func GetLibraryManager(inst *rpc.Instance) (*librariesmanager.LibrariesManager, return i.lm, nil } +// GetLibraryManagerExplorer returns the library manager Explorer for the given instance. +func GetLibraryManagerExplorer(inst *rpc.Instance) (*librariesmanager.Explorer, func(), error) { + lm, err := GetLibraryManager(inst) + if err != nil { + return nil, nil, err + } + lmi, release := lm.NewExplorer() + return lmi, release, nil +} + +// GetLibraryManagerInstaller returns the library manager Installer for the given instance. +func GetLibraryManagerInstaller(inst *rpc.Instance) (*librariesmanager.Installer, func(), error) { + lm, err := GetLibraryManager(inst) + if err != nil { + return nil, nil, err + } + lmi, release := lm.NewInstaller() + return lmi, release, nil +} + +// GetLibrariesIndex returns the library index for the given instance. +func GetLibrariesIndex(inst *rpc.Instance) (*librariesindex.Index, error) { + instancesMux.Lock() + defer instancesMux.Unlock() + i := instances[inst.GetId()] + if i == nil { + return nil, &cmderrors.InvalidInstanceError{} + } + return i.li, nil +} + +// SetLibrariesIndex sets the library index for the given instance. +func SetLibrariesIndex(inst *rpc.Instance, li *librariesindex.Index) error { + instancesMux.Lock() + defer instancesMux.Unlock() + i := instances[inst.GetId()] + if i == nil { + return &cmderrors.InvalidInstanceError{} + } + i.li = li + return nil +} + // SetLibraryManager sets the library manager for the given instance. func SetLibraryManager(inst *rpc.Instance, lm *librariesmanager.LibrariesManager) bool { instancesMux.Lock() @@ -74,16 +119,18 @@ func SetLibraryManager(inst *rpc.Instance, lm *librariesmanager.LibrariesManager // Create a new *rpc.Instance ready to be initialized func Create(dataDir, packagesDir, downloadsDir *paths.Path, extraUserAgent ...string) (*rpc.Instance, error) { - instance := &coreInstance{} - // Create package manager userAgent := "arduino-cli/" + version.VersionInfo.VersionString for _, ua := range extraUserAgent { userAgent += " " + ua } tempDir := dataDir.Join("tmp") - instance.pm = packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent).Build() - instance.lm = librariesmanager.NewLibraryManager(dataDir, downloadsDir) + + instance := &coreInstance{ + pm: packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent).Build(), + lm: librariesmanager.NewBuilder().Build(), + li: librariesindex.EmptyIndex, + } // Save instance instancesMux.Lock() diff --git a/commands/lib/download.go b/commands/lib/download.go index b8019aff488..9d174ae1927 100644 --- a/commands/lib/download.go +++ b/commands/lib/download.go @@ -18,13 +18,14 @@ package lib import ( "context" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" ) @@ -35,26 +36,39 @@ var tr = i18n.Tr func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.LibraryDownloadResponse, error) { logrus.Info("Executing `arduino-cli lib download`") - lm, err := instances.GetLibraryManager(req.GetInstance()) + var downloadsDir *paths.Path + if pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()); err != nil { + return nil, err + } else { + downloadsDir = pme.DownloadDir + release() + } + + li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return nil, err } logrus.Info("Preparing download") - lib, err := findLibraryIndexRelease(lm.Index, req) + version, err := commands.ParseVersion(req.GetVersion()) + if err != nil { + return nil, err + } + + lib, err := li.FindRelease(req.GetName(), version) if err != nil { return nil, err } - if err := downloadLibrary(lm, lib, downloadCB, func(*rpc.TaskProgress) {}, "download"); err != nil { + if err := downloadLibrary(downloadsDir, lib, downloadCB, func(*rpc.TaskProgress) {}, "download"); err != nil { return nil, err } return &rpc.LibraryDownloadResponse{}, nil } -func downloadLibrary(lm *librariesmanager.LibrariesManager, libRelease *librariesindex.Release, +func downloadLibrary(downloadsDir *paths.Path, libRelease *librariesindex.Release, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, queryParameter string) error { taskCB(&rpc.TaskProgress{Name: tr("Downloading %s", libRelease)}) @@ -62,7 +76,7 @@ func downloadLibrary(lm *librariesmanager.LibrariesManager, libRelease *librarie if err != nil { return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } - if err := libRelease.Resource.Download(lm.DownloadsDir, config, libRelease.String(), downloadCB, queryParameter); err != nil { + if err := libRelease.Resource.Download(downloadsDir, config, libRelease.String(), downloadCB, queryParameter); err != nil { return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) diff --git a/commands/lib/install.go b/commands/lib/install.go index 4f57741456d..873e442e4a0 100644 --- a/commands/lib/install.go +++ b/commands/lib/install.go @@ -33,25 +33,27 @@ import ( // LibraryInstall resolves the library dependencies, then downloads and installs the libraries into the install location. func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - lm, err := instances.GetLibraryManager(req.GetInstance()) + // Obtain the library index from the manager + li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return err } toInstall := map[string]*rpc.LibraryDependencyStatus{} - installLocation := libraries.FromRPCLibraryInstallLocation(req.GetInstallLocation()) if req.GetNoDeps() { toInstall[req.GetName()] = &rpc.LibraryDependencyStatus{ Name: req.GetName(), VersionRequired: req.GetVersion(), } } else { - res, err := LibraryResolveDependencies(ctx, &rpc.LibraryResolveDependenciesRequest{ - Instance: req.GetInstance(), - Name: req.GetName(), - Version: req.GetVersion(), - DoNotUpdateInstalledLibraries: req.GetNoOverwrite(), - }) + // Obtain the library explorer from the instance + lme, releaseLme, err := instances.GetLibraryManagerExplorer(req.GetInstance()) + if err != nil { + return err + } + + res, err := libraryResolveDependencies(ctx, lme, li, req.GetName(), req.GetVersion(), req.GetNoOverwrite()) + releaseLme() if err != nil { return err } @@ -69,18 +71,36 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa } } + // Obtain the download directory + var downloadsDir *paths.Path + if pme, releasePme, err := instances.GetPackageManagerExplorer(req.GetInstance()); err != nil { + return err + } else { + downloadsDir = pme.DownloadDir + releasePme() + } + + // Obtain the library installer from the manager + lmi, releaseLmi, err := instances.GetLibraryManagerInstaller(req.GetInstance()) + if err != nil { + return err + } + defer releaseLmi() + // Find the libReleasesToInstall to install libReleasesToInstall := map[*librariesindex.Release]*librariesmanager.LibraryInstallPlan{} + installLocation := libraries.FromRPCLibraryInstallLocation(req.GetInstallLocation()) for _, lib := range toInstall { - libRelease, err := findLibraryIndexRelease(lm.Index, &rpc.LibraryInstallRequest{ - Name: lib.GetName(), - Version: lib.GetVersionRequired(), - }) + version, err := commands.ParseVersion(lib.GetVersionRequired()) + if err != nil { + return err + } + libRelease, err := li.FindRelease(lib.GetName(), version) if err != nil { return err } - installTask, err := lm.InstallPrerequisiteCheck(libRelease.Library.Name, libRelease.Version, installLocation) + installTask, err := lmi.InstallPrerequisiteCheck(libRelease.Library.Name, libRelease.Version, installLocation) if err != nil { return err } @@ -109,10 +129,10 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa downloadReason += "-builtin" } } - if err := downloadLibrary(lm, libRelease, downloadCB, taskCB, downloadReason); err != nil { + if err := downloadLibrary(downloadsDir, libRelease, downloadCB, taskCB, downloadReason); err != nil { return err } - if err := installLibrary(lm, libRelease, installTask, taskCB); err != nil { + if err := installLibrary(lmi, downloadsDir, libRelease, installTask, taskCB); err != nil { return err } } @@ -124,18 +144,21 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa return nil } -func installLibrary(lm *librariesmanager.LibrariesManager, libRelease *librariesindex.Release, installTask *librariesmanager.LibraryInstallPlan, taskCB rpc.TaskProgressCB) error { +func installLibrary(lmi *librariesmanager.Installer, downloadsDir *paths.Path, libRelease *librariesindex.Release, installTask *librariesmanager.LibraryInstallPlan, taskCB rpc.TaskProgressCB) error { taskCB(&rpc.TaskProgress{Name: tr("Installing %s", libRelease)}) logrus.WithField("library", libRelease).Info("Installing library") if libReplaced := installTask.ReplacedLib; libReplaced != nil { taskCB(&rpc.TaskProgress{Message: tr("Replacing %[1]s with %[2]s", libReplaced, libRelease)}) - if err := lm.Uninstall(libReplaced); err != nil { + if err := lmi.Uninstall(libReplaced); err != nil { return &cmderrors.FailedLibraryInstallError{ Cause: fmt.Errorf("%s: %s", tr("could not remove old library"), err)} } } - if err := lm.Install(libRelease, installTask.TargetPath); err != nil { + + installPath := installTask.TargetPath + tmpDirPath := installPath.Parent() + if err := libRelease.Resource.Install(downloadsDir, tmpDirPath, installPath); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } @@ -149,7 +172,9 @@ func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, t if err != nil { return err } - if err := lm.InstallZipLib(ctx, paths.New(req.GetPath()), req.GetOverwrite()); err != nil { + lmi, release := lm.NewInstaller() + defer release() + if err := lmi.InstallZipLib(ctx, paths.New(req.GetPath()), req.GetOverwrite()); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) @@ -162,7 +187,9 @@ func GitLibraryInstall(ctx context.Context, req *rpc.GitLibraryInstallRequest, t if err != nil { return err } - if err := lm.InstallGitLib(req.GetUrl(), req.GetOverwrite()); err != nil { + lmi, release := lm.NewInstaller() + defer release() + if err := lmi.InstallGitLib(req.GetUrl(), req.GetOverwrite()); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) diff --git a/commands/lib/list.go b/commands/lib/list.go index 0f2f7ec1339..f5b28bdc426 100644 --- a/commands/lib/list.go +++ b/commands/lib/list.go @@ -42,16 +42,22 @@ func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.Library } defer release() - lm, err := instances.GetLibraryManager(req.GetInstance()) + li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return nil, err } + lme, release, err := instances.GetLibraryManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err + } + defer release() + nameFilter := strings.ToLower(req.GetName()) var allLibs []*installedLib if fqbnString := req.GetFqbn(); fqbnString != "" { - allLibs = listLibraries(lm, req.GetUpdatable(), true) + allLibs = listLibraries(lme, li, req.GetUpdatable(), true) fqbn, err := cores.ParseFQBN(req.GetFqbn()) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} @@ -91,7 +97,7 @@ func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.Library allLibs = append(allLibs, lib) } } else { - allLibs = listLibraries(lm, req.GetUpdatable(), req.GetAll()) + allLibs = listLibraries(lme, li, req.GetUpdatable(), req.GetAll()) } installedLibs := []*rpc.InstalledLibrary{} @@ -117,25 +123,25 @@ func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.Library } // listLibraries returns the list of installed libraries. If updatable is true it -// returns only the libraries that may be updated. -func listLibraries(lm *librariesmanager.LibrariesManager, updatable bool, all bool) []*installedLib { +// returns only the libraries that may be updated by looking at the index for updates. +// If all is true, it returns all the libraries (including the libraries builtin in the +// platforms), otherwise only the user installed libraries. +func listLibraries(lme *librariesmanager.Explorer, li *librariesindex.Index, updatable bool, all bool) []*installedLib { res := []*installedLib{} - for _, libAlternatives := range lm.Libraries { - for _, lib := range libAlternatives { - if !all { - if lib.Location != libraries.User { - continue - } - } - available := lm.Index.FindLibraryUpdate(lib) - if updatable && available == nil { + for _, lib := range lme.FindAllInstalled() { + if !all { + if lib.Location != libraries.User { continue } - res = append(res, &installedLib{ - Library: lib, - Available: available, - }) } + available := li.FindLibraryUpdate(lib) + if updatable && available == nil { + continue + } + res = append(res, &installedLib{ + Library: lib, + Available: available, + }) } return res } diff --git a/commands/lib/resolve_deps.go b/commands/lib/resolve_deps.go index b25073424d2..b734e3d4ec7 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/lib/resolve_deps.go @@ -20,55 +20,69 @@ import ( "errors" "sort" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) // LibraryResolveDependencies FIXMEDOC func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { - lm, err := instances.GetLibraryManager(req.GetInstance()) + lme, release, err := instances.GetLibraryManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err + } + defer release() + + li, err := instances.GetLibrariesIndex(req.GetInstance()) + if err != nil { + return nil, err + } + + return libraryResolveDependencies(ctx, lme, li, req.GetName(), req.GetVersion(), req.GetDoNotUpdateInstalledLibraries()) +} + +func libraryResolveDependencies(ctx context.Context, lme *librariesmanager.Explorer, li *librariesindex.Index, + reqName, reqVersion string, noOverwrite bool) (*rpc.LibraryResolveDependenciesResponse, error) { + version, err := commands.ParseVersion(reqVersion) if err != nil { return nil, err } // Search the requested lib - reqLibRelease, err := findLibraryIndexRelease(lm.Index, req) + reqLibRelease, err := li.FindRelease(reqName, version) if err != nil { return nil, err } // Extract all installed libraries installedLibs := map[string]*libraries.Library{} - for _, lib := range listLibraries(lm, false, false) { + for _, lib := range listLibraries(lme, li, false, false) { installedLibs[lib.Library.Name] = lib.Library } // Resolve all dependencies... var overrides []*librariesindex.Release - if req.GetDoNotUpdateInstalledLibraries() { - libs := lm.FindAllInstalled() + if noOverwrite { + libs := lme.FindAllInstalled() libs = libs.FilterByVersionAndInstallLocation(nil, libraries.User) for _, lib := range libs { - release := lm.Index.FindRelease(&librariesindex.Reference{ - Name: lib.Name, - Version: lib.Version, - }) - if release != nil { + if release, err := li.FindRelease(lib.Name, lib.Version); err == nil { overrides = append(overrides, release) } } } - deps := lm.Index.ResolveDependencies(reqLibRelease, overrides) + deps := li.ResolveDependencies(reqLibRelease, overrides) // If no solution has been found if len(deps) == 0 { // Check if there is a problem with the first level deps for _, directDep := range reqLibRelease.GetDependencies() { - if _, ok := lm.Index.Libraries[directDep.GetName()]; !ok { + if _, ok := li.Libraries[directDep.GetName()]; !ok { err := errors.New(tr("dependency '%s' is not available", directDep.GetName())) return nil, &cmderrors.LibraryDependenciesResolutionFailedError{Cause: err} } diff --git a/commands/lib/search.go b/commands/lib/search.go index cbd9bf4901a..7c2d21cdd70 100644 --- a/commands/lib/search.go +++ b/commands/lib/search.go @@ -22,26 +22,25 @@ import ( "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) // LibrarySearch FIXMEDOC func LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { - lm, err := instances.GetLibraryManager(req.GetInstance()) + li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return nil, err } - return searchLibrary(req, lm), nil + return searchLibrary(req, li), nil } -func searchLibrary(req *rpc.LibrarySearchRequest, lm *librariesmanager.LibrariesManager) *rpc.LibrarySearchResponse { +func searchLibrary(req *rpc.LibrarySearchRequest, li *librariesindex.Index) *rpc.LibrarySearchResponse { res := []*rpc.SearchedLibrary{} query := req.GetSearchArgs() matcher := MatcherFromQueryString(query) - for _, lib := range lm.Index.Libraries { + for _, lib := range li.Libraries { if matcher(lib) { res = append(res, indexLibraryToRPCSearchLibrary(lib, req.GetOmitReleasesDetails())) } diff --git a/commands/lib/search_test.go b/commands/lib/search_test.go index e1e0b3157f2..faae69ef1a9 100644 --- a/commands/lib/search_test.go +++ b/commands/lib/search_test.go @@ -19,22 +19,24 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) -var customIndexPath = paths.New("testdata", "test1") -var fullIndexPath = paths.New("testdata", "full") -var qualifiedSearchIndexPath = paths.New("testdata", "qualified_search") +var indexFilename, _ = globals.LibrariesIndexResource.IndexFileName() +var customIndexPath = paths.New("testdata", "test1", indexFilename) +var fullIndexPath = paths.New("testdata", "full", indexFilename) +var qualifiedSearchIndexPath = paths.New("testdata", "qualified_search", indexFilename) func TestSearchLibrary(t *testing.T) { - lm := librariesmanager.NewLibraryManager(customIndexPath, nil) - lm.LoadIndex() + li, err := librariesindex.LoadIndex(customIndexPath) + require.NoError(t, err) - resp := searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: "test"}, lm) + resp := searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: "test"}, li) assert := assert.New(t) assert.Equal(resp.GetStatus(), rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_SUCCESS) assert.Equal(len(resp.GetLibraries()), 2) @@ -43,10 +45,10 @@ func TestSearchLibrary(t *testing.T) { } func TestSearchLibrarySimilar(t *testing.T) { - lm := librariesmanager.NewLibraryManager(customIndexPath, nil) - lm.LoadIndex() + li, err := librariesindex.LoadIndex(customIndexPath) + require.NoError(t, err) - resp := searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: "arduino"}, lm) + resp := searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: "arduino"}, li) assert := assert.New(t) assert.Equal(resp.GetStatus(), rpc.LibrarySearchStatus_LIBRARY_SEARCH_STATUS_SUCCESS) assert.Equal(len(resp.GetLibraries()), 2) @@ -59,12 +61,12 @@ func TestSearchLibrarySimilar(t *testing.T) { } func TestSearchLibraryFields(t *testing.T) { - lm := librariesmanager.NewLibraryManager(fullIndexPath, nil) - lm.LoadIndex() + li, err := librariesindex.LoadIndex(fullIndexPath) + require.NoError(t, err) query := func(q string) []string { libs := []string{} - for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, lm).GetLibraries() { + for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, li).GetLibraries() { libs = append(libs, lib.GetName()) } return libs @@ -97,12 +99,12 @@ func TestSearchLibraryFields(t *testing.T) { } func TestSearchLibraryWithQualifiers(t *testing.T) { - lm := librariesmanager.NewLibraryManager(qualifiedSearchIndexPath, nil) - lm.LoadIndex() + li, err := librariesindex.LoadIndex(qualifiedSearchIndexPath) + require.NoError(t, err) query := func(q string) []string { libs := []string{} - for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, lm).GetLibraries() { + for _, lib := range searchLibrary(&rpc.LibrarySearchRequest{SearchArgs: q}, li).GetLibraries() { libs = append(libs, lib.GetName()) } return libs diff --git a/commands/lib/uninstall.go b/commands/lib/uninstall.go index 28f10153459..aee4ea68143 100644 --- a/commands/lib/uninstall.go +++ b/commands/lib/uninstall.go @@ -18,6 +18,7 @@ package lib import ( "context" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries" @@ -32,13 +33,14 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas return err } - ref, err := createLibIndexReference(req) + version, err := commands.ParseVersion(req.GetVersion()) if err != nil { - return &cmderrors.InvalidLibraryError{Cause: err} + return err } + lmi, release := lm.NewInstaller() + defer release() - libs := lm.FindByReference(ref, libraries.User) - + libs := lmi.FindByReference(req.GetName(), version, libraries.User) if len(libs) == 0 { taskCB(&rpc.TaskProgress{Message: tr("Library %s is not installed", req.GetName()), Completed: true}) return nil @@ -46,7 +48,7 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas if len(libs) == 1 { taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s", libs)}) - lm.Uninstall(libs[0]) + lmi.Uninstall(libs[0]) taskCB(&rpc.TaskProgress{Completed: true}) return nil } diff --git a/commands/lib/upgrade.go b/commands/lib/upgrade.go index 824d645d648..0377744b972 100644 --- a/commands/lib/upgrade.go +++ b/commands/lib/upgrade.go @@ -26,12 +26,19 @@ import ( // LibraryUpgradeAll upgrades all the available libraries func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - lm, err := instances.GetLibraryManager(req.GetInstance()) + li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return err } - if err := upgrade(req.GetInstance(), listLibraries(lm, true, false), downloadCB, taskCB); err != nil { + lme, release, err := instances.GetLibraryManagerExplorer(req.GetInstance()) + if err != nil { + return err + } + libsToUpgrade := listLibraries(lme, li, true, false) + release() + + if err := upgrade(req.GetInstance(), libsToUpgrade, downloadCB, taskCB); err != nil { return err } @@ -44,14 +51,21 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa // LibraryUpgrade upgrades a library func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - lm, err := instances.GetLibraryManager(req.GetInstance()) + li, err := instances.GetLibrariesIndex(req.GetInstance()) + if err != nil { + return err + } + + lme, release, err := instances.GetLibraryManagerExplorer(req.GetInstance()) if err != nil { return err } + libs := listLibraries(lme, li, false, false) + release() // Get the library to upgrade name := req.GetName() - lib := filterByName(listLibraries(lm, false, false), name) + lib := filterByName(libs, name) if lib == nil { // library not installed... return &cmderrors.LibraryNotFoundError{Library: name} diff --git a/commands/lib/utils.go b/commands/lib/utils.go deleted file mode 100644 index 25e3364cdb1..00000000000 --- a/commands/lib/utils.go +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 lib - -import ( - "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" -) - -type libraryReferencer interface { - commands.Versioned - GetName() string -} - -func createLibIndexReference(req libraryReferencer) (*librariesindex.Reference, error) { - version, err := commands.ParseVersion(req) - if err != nil { - return nil, &cmderrors.InvalidVersionError{Cause: err} - } - - return &librariesindex.Reference{Name: req.GetName(), Version: version}, nil -} - -func findLibraryIndexRelease(li *librariesindex.Index, req libraryReferencer) (*librariesindex.Release, error) { - ref, err := createLibIndexReference(req) - if err != nil { - return nil, err - } - lib := li.FindRelease(ref) - if lib == nil { - return nil, &cmderrors.LibraryNotFoundError{Library: ref.String()} - } - return lib, nil -} diff --git a/commands/version.go b/commands/version.go index fe9d36ca727..2fd87215a2f 100644 --- a/commands/version.go +++ b/commands/version.go @@ -16,19 +16,20 @@ package commands import ( + "github.com/arduino/arduino-cli/commands/cmderrors" semver "go.bug.st/relaxed-semver" ) -// Versioned is an object that provides a GetVersion() method -type Versioned interface { - GetVersion() string -} - -// ParseVersion returns the version parsed from an interface that provides -// the GetVersion() method (interface Versioned) -func ParseVersion(req Versioned) (*semver.Version, error) { - if req.GetVersion() != "" { - return semver.Parse(req.GetVersion()) +// ParseVersion returns the parsed version or nil if the version is +// the empty string. An error is returned if the version is not valid +// semver. +func ParseVersion(version string) (*semver.Version, error) { + if version == "" { + return nil, nil + } + res, err := semver.Parse(version) + if err != nil { + return nil, &cmderrors.InvalidVersionError{Cause: err} } - return nil, nil + return res, nil } diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index efc0bd9b970..7d0a67f7cdd 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -598,30 +598,30 @@ func LibrariesLoader( if useCachedLibrariesResolution { // Since we are using the cached libraries resolution // the library manager is not needed. - lm = librariesmanager.NewLibraryManager(nil, nil) + lm = librariesmanager.NewBuilder().Build() } if librariesManager == nil { - lm = librariesmanager.NewLibraryManager(nil, nil) + lmb := librariesmanager.NewBuilder() builtInLibrariesFolders := builtInLibrariesDirs if builtInLibrariesFolders != nil { if err := builtInLibrariesFolders.ToAbs(); err != nil { return nil, nil, nil, err } - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ Path: builtInLibrariesFolders, Location: libraries.IDEBuiltIn, }) } if actualPlatform != targetPlatform { - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ PlatformRelease: actualPlatform, Path: actualPlatform.GetLibrariesDir(), Location: libraries.ReferencedPlatformBuiltIn, }) } - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ PlatformRelease: targetPlatform, Path: targetPlatform.GetLibrariesDir(), Location: libraries.PlatformBuiltIn, @@ -632,46 +632,39 @@ func LibrariesLoader( return nil, nil, nil, err } for _, folder := range librariesFolders { - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ Path: folder, Location: libraries.User, // XXX: Should be libraries.Unmanaged? }) } for _, dir := range libraryDirs { - lm.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ Path: dir, Location: libraries.Unmanaged, IsSingleLibrary: true, }) } - for _, status := range lm.RescanLibraries() { - // With the refactoring of the initialization step of the CLI we changed how - // errors are returned when loading platforms and libraries, that meant returning a list of - // errors instead of a single one to enhance the experience for the user. - // I have no intention right now to start a refactoring of the legacy package too, so - // here's this shitty solution for now. - // When we're gonna refactor the legacy package this will be gone. - verboseOut.Write([]byte(status.Message())) + lm = lmb.Build() + + { + lmi, release := lm.NewInstaller() + for _, status := range lmi.RescanLibraries() { + // With the refactoring of the initialization step of the CLI we changed how + // errors are returned when loading platforms and libraries, that meant returning a list of + // errors instead of a single one to enhance the experience for the user. + // I have no intention right now to start a refactoring of the legacy package too, so + // here's this shitty solution for now. + // When we're gonna refactor the legacy package this will be gone. + verboseOut.Write([]byte(status.Message())) + } + release() } } - resolver := librariesresolver.NewCppResolver() - if err := resolver.ScanIDEBuiltinLibraries(lm); err != nil { - return nil, nil, nil, err - } - if err := resolver.ScanUserAndUnmanagedLibraries(lm); err != nil { - return nil, nil, nil, err - } - if err := resolver.ScanPlatformLibraries(lm, targetPlatform); err != nil { - return nil, nil, nil, err - } - if actualPlatform != targetPlatform { - if err := resolver.ScanPlatformLibraries(lm, actualPlatform); err != nil { - return nil, nil, nil, err - } - } + allLibs := lm.FindAllInstalled() + resolver := librariesresolver.NewCppResolver(allLibs, targetPlatform, actualPlatform) return lm, resolver, verboseOut.Bytes(), nil } diff --git a/internal/arduino/libraries/librariesindex/index.go b/internal/arduino/libraries/librariesindex/index.go index 92226146434..033630f910d 100644 --- a/internal/arduino/libraries/librariesindex/index.go +++ b/internal/arduino/libraries/librariesindex/index.go @@ -18,6 +18,7 @@ package librariesindex import ( "sort" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/resources" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -112,14 +113,19 @@ func (r *Release) String() string { // FindRelease search a library Release in the index. Returns nil if the // release is not found. If the version is not specified returns the latest // version available. -func (idx *Index) FindRelease(ref *Reference) *Release { - if library, exists := idx.Libraries[ref.Name]; exists { - if ref.Version == nil { - return library.Latest +func (idx *Index) FindRelease(name string, version *semver.Version) (*Release, error) { + if library, exists := idx.Libraries[name]; exists { + if version == nil { + return library.Latest, nil + } + if release, exists := library.Releases[version.NormalizedString()]; exists { + return release, nil } - return library.Releases[ref.Version.NormalizedString()] } - return nil + if version == nil { + return nil, &cmderrors.LibraryNotFoundError{Library: name + "@latest"} + } + return nil, &cmderrors.LibraryNotFoundError{Library: name + "@" + version.String()} } // FindIndexedLibrary search an indexed library that matches the provided diff --git a/internal/arduino/libraries/librariesindex/index_test.go b/internal/arduino/libraries/librariesindex/index_test.go index b347d2bc664..2340d550b85 100644 --- a/internal/arduino/libraries/librariesindex/index_test.go +++ b/internal/arduino/libraries/librariesindex/index_test.go @@ -49,27 +49,22 @@ func TestIndexer(t *testing.T) { require.Equal(t, "", alp.Latest.Dependencies[0].GetConstraint().String()) require.Equal(t, "[1.0.0 1.1.0 1.2.0 1.2.1 1.2.2]", fmt.Sprintf("%v", alp.Versions())) - rtc100ref := &Reference{Name: "RTCZero", Version: semver.MustParse("1.0.0")} - require.Equal(t, "RTCZero@1.0.0", rtc100ref.String()) - rtc100 := index.FindRelease(rtc100ref) + rtc100, err := index.FindRelease("RTCZero", semver.MustParse("1.0.0")) + require.NoError(t, err) require.NotNil(t, rtc100) require.Equal(t, "RTCZero@1.0.0", rtc100.String()) - rtcLatestRef := &Reference{Name: "RTCZero"} - require.Equal(t, "RTCZero", rtcLatestRef.String()) - rtcLatest := index.FindRelease(rtcLatestRef) + rtcLatest, err := index.FindRelease("RTCZero", nil) + require.NoError(t, err) require.NotNil(t, rtcLatest) require.Equal(t, "RTCZero@1.6.0", rtcLatest.String()) - rtcInexistent := index.FindRelease(&Reference{ - Name: "RTCZero", - Version: semver.MustParse("0.0.0-blah"), - }) + rtcInexistent, err := index.FindRelease("RTCZero", semver.MustParse("0.0.0-blah")) + require.Error(t, err) require.Nil(t, rtcInexistent) - rtcInexistent = index.FindRelease(&Reference{ - Name: "RTCZero-blah", - }) + rtcInexistent, err = index.FindRelease("RTCZero-blah", nil) + require.Error(t, err) require.Nil(t, rtcInexistent) rtc := index.FindIndexedLibrary(&libraries.Library{Name: "RTCZero"}) @@ -95,16 +90,20 @@ func TestIndexer(t *testing.T) { require.Contains(t, resolve1, alp.Releases["1.2.1"]) require.Contains(t, resolve1, rtc.Releases["1.6.0"]) - oauth010 := index.FindRelease(&Reference{Name: "Arduino_OAuth", Version: semver.MustParse("0.1.0")}) + oauth010, err := index.FindRelease("Arduino_OAuth", semver.MustParse("0.1.0")) + require.NoError(t, err) require.NotNil(t, oauth010) require.Equal(t, "Arduino_OAuth@0.1.0", oauth010.String()) - eccx135 := index.FindRelease(&Reference{Name: "ArduinoECCX08", Version: semver.MustParse("1.3.5")}) + eccx135, err := index.FindRelease("ArduinoECCX08", semver.MustParse("1.3.5")) + require.NoError(t, err) require.NotNil(t, eccx135) require.Equal(t, "ArduinoECCX08@1.3.5", eccx135.String()) - bear172 := index.FindRelease(&Reference{Name: "ArduinoBearSSL", Version: semver.MustParse("1.7.2")}) + bear172, err := index.FindRelease("ArduinoBearSSL", semver.MustParse("1.7.2")) + require.NoError(t, err) require.NotNil(t, bear172) require.Equal(t, "ArduinoBearSSL@1.7.2", bear172.String()) - http040 := index.FindRelease(&Reference{Name: "ArduinoHttpClient", Version: semver.MustParse("0.4.0")}) + http040, err := index.FindRelease("ArduinoHttpClient", semver.MustParse("0.4.0")) + require.NoError(t, err) require.NotNil(t, http040) require.Equal(t, "ArduinoHttpClient@0.4.0", http040.String()) diff --git a/internal/arduino/libraries/librariesindex/reference.go b/internal/arduino/libraries/librariesindex/reference.go deleted file mode 100644 index a69663ee8f5..00000000000 --- a/internal/arduino/libraries/librariesindex/reference.go +++ /dev/null @@ -1,33 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 librariesindex - -import ( - semver "go.bug.st/relaxed-semver" -) - -// Reference uniquely identify a Library in the library index -type Reference struct { - Name string // The name of the parsed item. - Version *semver.Version // The Version of the parsed item. -} - -func (r *Reference) String() string { - if r.Version == nil { - return r.Name - } - return r.Name + "@" + r.Version.String() -} diff --git a/internal/arduino/libraries/librariesmanager/install.go b/internal/arduino/libraries/librariesmanager/install.go index 39af1f4b704..4517756e3e7 100644 --- a/internal/arduino/libraries/librariesmanager/install.go +++ b/internal/arduino/libraries/librariesmanager/install.go @@ -25,7 +25,6 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/libraries" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/utils" paths "github.com/arduino/go-paths-helper" "github.com/codeclysm/extract/v3" @@ -58,15 +57,15 @@ type LibraryInstallPlan struct { // InstallPrerequisiteCheck performs prequisite checks to install a library. It returns the // install path, where the library should be installed and the possible library that is already // installed on the same folder and it's going to be replaced by the new one. -func (lm *LibrariesManager) InstallPrerequisiteCheck(name string, version *semver.Version, installLocation libraries.LibraryLocation) (*LibraryInstallPlan, error) { - installDir, err := lm.getLibrariesDir(installLocation) +func (lmi *Installer) InstallPrerequisiteCheck(name string, version *semver.Version, installLocation libraries.LibraryLocation) (*LibraryInstallPlan, error) { + installDir, err := lmi.getLibrariesDir(installLocation) if err != nil { return nil, err } - lm.RescanLibraries() - libs := lm.FindByReference(&librariesindex.Reference{Name: name}, installLocation) + lmi.RescanLibraries() + libs := lmi.FindByReference(name, nil, installLocation) if len(libs) > 1 { libsDir := paths.NewPathList() for _, lib := range libs { @@ -103,13 +102,8 @@ func (lm *LibrariesManager) InstallPrerequisiteCheck(name string, version *semve }, nil } -// Install installs a library on the specified path. -func (lm *LibrariesManager) Install(indexLibrary *librariesindex.Release, installPath *paths.Path) error { - return indexLibrary.Resource.Install(lm.DownloadsDir, installPath.Parent(), installPath) -} - // importLibraryFromDirectory installs a library by copying it from the given directory. -func (lm *LibrariesManager) importLibraryFromDirectory(libPath *paths.Path, overwrite bool) error { +func (lmi *Installer) importLibraryFromDirectory(libPath *paths.Path, overwrite bool) error { // Check if the library is valid and load metatada if err := validateLibrary(libPath); err != nil { return err @@ -120,7 +114,7 @@ func (lm *LibrariesManager) importLibraryFromDirectory(libPath *paths.Path, over } // Check if the library is already installed and determine install path - installPlan, err := lm.InstallPrerequisiteCheck(library.Name, library.Version, libraries.User) + installPlan, err := lmi.InstallPrerequisiteCheck(library.Name, library.Version, libraries.User) if err != nil { return err } @@ -134,7 +128,7 @@ func (lm *LibrariesManager) importLibraryFromDirectory(libPath *paths.Path, over if !overwrite { return fmt.Errorf(tr("Library %[1]s is already installed, but with a different version: %[2]s", installPlan.Name, installPlan.ReplacedLib)) } - if err := lm.Uninstall(installPlan.ReplacedLib); err != nil { + if err := lmi.Uninstall(installPlan.ReplacedLib); err != nil { return err } } @@ -148,7 +142,7 @@ func (lm *LibrariesManager) importLibraryFromDirectory(libPath *paths.Path, over } // Uninstall removes a Library -func (lm *LibrariesManager) Uninstall(lib *libraries.Library) error { +func (lmi *Installer) Uninstall(lib *libraries.Library) error { if lib == nil || lib.InstallDir == nil { return fmt.Errorf(tr("install directory not set")) } @@ -156,14 +150,14 @@ func (lm *LibrariesManager) Uninstall(lib *libraries.Library) error { return fmt.Errorf(tr("removing library directory: %s"), err) } - alternatives := lm.Libraries[lib.Name] + alternatives := lmi.libraries[lib.Name] alternatives.Remove(lib) - lm.Libraries[lib.Name] = alternatives + lmi.libraries[lib.Name] = alternatives return nil } // InstallZipLib installs a Zip library on the specified path. -func (lm *LibrariesManager) InstallZipLib(ctx context.Context, archivePath *paths.Path, overwrite bool) error { +func (lmi *Installer) InstallZipLib(ctx context.Context, archivePath *paths.Path, overwrite bool) error { // Clone library in a temporary directory tmpDir, err := paths.MkTempDir("", "") if err != nil { @@ -197,7 +191,7 @@ func (lm *LibrariesManager) InstallZipLib(ctx context.Context, archivePath *path tmpInstallPath := libRootFiles[0] // Install extracted library in the destination directory - if err := lm.importLibraryFromDirectory(tmpInstallPath, overwrite); err != nil { + if err := lmi.importLibraryFromDirectory(tmpInstallPath, overwrite); err != nil { return fmt.Errorf(tr("moving extracted archive to destination dir: %s"), err) } @@ -205,7 +199,7 @@ func (lm *LibrariesManager) InstallZipLib(ctx context.Context, archivePath *path } // InstallGitLib installs a library hosted on a git repository on the specified path. -func (lm *LibrariesManager) InstallGitLib(gitURL string, overwrite bool) error { +func (lmi *Installer) InstallGitLib(gitURL string, overwrite bool) error { gitLibraryName, ref, err := parseGitURL(gitURL) if err != nil { return err @@ -246,7 +240,7 @@ func (lm *LibrariesManager) InstallGitLib(gitURL string, overwrite bool) error { tmpInstallPath.Join(".git").RemoveAll() // Install extracted library in the destination directory - if err := lm.importLibraryFromDirectory(tmpInstallPath, overwrite); err != nil { + if err := lmi.importLibraryFromDirectory(tmpInstallPath, overwrite); err != nil { return fmt.Errorf(tr("moving extracted archive to destination dir: %s"), err) } diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager.go b/internal/arduino/libraries/librariesmanager/librariesmanager.go index db7f3b2f586..64102cf46f9 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager.go @@ -21,27 +21,42 @@ import ( "os" "slices" "strings" + "sync" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" + semver "go.bug.st/relaxed-semver" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) +// Builder is used to create a new LibrariesManager. The builder has +// methods to load and parse libraries and to actually build the +// LibraryManager. Once the LibrariesManager is built, it cannot be +// altered anymore. +type Builder struct { + *LibrariesManager +} + +// Explorer is used to query the library manager about the installed libraries. +type Explorer struct { + *LibrariesManager +} + +// Installer is used to rescan installed libraries after install/uninstall. +type Installer struct { + *LibrariesManager +} + // LibrariesManager keeps the current status of the libraries in the system // (the list of libraries, revisions, installed paths, etc.) type LibrariesManager struct { - LibrariesDir []*LibrariesDir - Libraries map[string]libraries.List `json:"libraries"` - - Index *librariesindex.Index - IndexFile *paths.Path - IndexFileSignature *paths.Path - DownloadsDir *paths.Path + librariesLock sync.RWMutex + librariesDir []*LibrariesDir + libraries map[string]libraries.List } // LibrariesDir is a directory containing libraries @@ -55,10 +70,10 @@ type LibrariesDir struct { var tr = i18n.Tr // Names returns an array with all the names of the installed libraries. -func (lm LibrariesManager) Names() []string { - res := make([]string, len(lm.Libraries)) +func (lm *Explorer) Names() []string { + res := make([]string, len(lm.libraries)) i := 0 - for n := range lm.Libraries { + for n := range lm.libraries { res[i] = n i++ } @@ -71,43 +86,63 @@ func (lm LibrariesManager) Names() []string { return res } -// NewLibraryManager creates a new library manager -func NewLibraryManager(indexDir *paths.Path, downloadsDir *paths.Path) *LibrariesManager { - var indexFile, indexFileSignature *paths.Path - if indexDir != nil { - indexFile = indexDir.Join("library_index.json") - indexFileSignature = indexDir.Join("library_index.json.sig") - } - return &LibrariesManager{ - Libraries: map[string]libraries.List{}, - IndexFile: indexFile, - IndexFileSignature: indexFileSignature, - DownloadsDir: downloadsDir, - Index: librariesindex.EmptyIndex, +// NewBuilder creates a new library manager builder. +func NewBuilder() *Builder { + return &Builder{ + &LibrariesManager{ + libraries: map[string]libraries.List{}, + }, } } -// LoadIndex reads a library_index.json from a file and returns -// the corresponding Index structure. -func (lm *LibrariesManager) LoadIndex() error { - logrus.WithField("index", lm.IndexFile).Info("Loading libraries index file") - index, err := librariesindex.LoadIndex(lm.IndexFile) - if err != nil { - lm.Index = librariesindex.EmptyIndex - return err +// NewBuilder creates a Builder with the same configuration of this +// LibrariesManager. A "commit" function callback is returned: calling +// this function will write the new configuration into this LibrariesManager. +func (lm *LibrariesManager) NewBuilder() (*Builder, func()) { + lmb := NewBuilder() + return lmb, func() { + lmb.BuildIntoExistingLibrariesManager(lm) } - lm.Index = index - return nil +} + +// NewExplorer returns a new Explorer. The returned function must be called +// to release the lock on the LibrariesManager. +func (lm *LibrariesManager) NewExplorer() (*Explorer, func()) { + lm.librariesLock.RLock() + return &Explorer{lm}, lm.librariesLock.RUnlock +} + +// NewInstaller returns a new Installer. The returned function must be called +// to release the lock on the LibrariesManager. +func (lm *LibrariesManager) NewInstaller() (*Installer, func()) { + lm.librariesLock.Lock() + return &Installer{lm}, lm.librariesLock.Unlock +} + +// Build builds a new LibrariesManager. +func (lmb *Builder) Build() *LibrariesManager { + res := &LibrariesManager{} + lmb.BuildIntoExistingLibrariesManager(res) + return res +} + +// BuildIntoExistingLibrariesManager will overwrite the given LibrariesManager instead +// of building a new one. +func (lmb *Builder) BuildIntoExistingLibrariesManager(old *LibrariesManager) { + old.librariesLock.Lock() + old.librariesDir = lmb.librariesDir + old.libraries = lmb.libraries + old.librariesLock.Unlock() } // AddLibrariesDir adds path to the list of directories // to scan when searching for libraries. If a path is already // in the list it is ignored. -func (lm *LibrariesManager) AddLibrariesDir(libDir *LibrariesDir) { +func (lmb *Builder) AddLibrariesDir(libDir *LibrariesDir) { if libDir.Path == nil { return } - for _, dir := range lm.LibrariesDir { + for _, dir := range lmb.librariesDir { if dir.Path.EquivalentTo(libDir.Path) { return } @@ -116,15 +151,15 @@ func (lm *LibrariesManager) AddLibrariesDir(libDir *LibrariesDir) { WithField("location", libDir.Location.String()). WithField("isSingleLibrary", libDir.IsSingleLibrary). Info("Adding libraries dir") - lm.LibrariesDir = append(lm.LibrariesDir, libDir) + lmb.librariesDir = append(lmb.librariesDir, libDir) } // RescanLibraries reload all installed libraries in the system. -func (lm *LibrariesManager) RescanLibraries() []*status.Status { - lm.clearLibraries() +func (lmi *Installer) RescanLibraries() []*status.Status { + lmi.libraries = map[string]libraries.List{} statuses := []*status.Status{} - for _, dir := range lm.LibrariesDir { - if errs := lm.loadLibrariesFromDir(dir); len(errs) > 0 { + for _, dir := range lmi.librariesDir { + if errs := lmi.loadLibrariesFromDir(dir); len(errs) > 0 { statuses = append(statuses, errs...) } } @@ -132,7 +167,7 @@ func (lm *LibrariesManager) RescanLibraries() []*status.Status { } func (lm *LibrariesManager) getLibrariesDir(installLocation libraries.LibraryLocation) (*paths.Path, error) { - for _, dir := range lm.LibrariesDir { + for _, dir := range lm.librariesDir { if dir.Location == installLocation { return dir.Path, nil } @@ -149,7 +184,7 @@ func (lm *LibrariesManager) getLibrariesDir(installLocation libraries.LibraryLoc // loadLibrariesFromDir loads all libraries in the given directory. Returns // nil if the directory doesn't exists. -func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []*status.Status { +func (lmi *Installer) loadLibrariesFromDir(librariesDir *LibrariesDir) []*status.Status { statuses := []*status.Status{} var libDirs paths.PathList @@ -169,17 +204,17 @@ func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []* libDirs = d } - for _, subDir := range libDirs { - library, err := libraries.Load(subDir, librariesDir.Location) + for _, libDir := range libDirs { + library, err := libraries.Load(libDir, librariesDir.Location) if err != nil { - s := status.Newf(codes.Internal, tr("loading library from %[1]s: %[2]s"), subDir, err) + s := status.Newf(codes.Internal, tr("loading library from %[1]s: %[2]s"), libDir, err) statuses = append(statuses, s) continue } library.ContainerPlatform = librariesDir.PlatformRelease - alternatives := lm.Libraries[library.Name] + alternatives := lmi.libraries[library.Name] alternatives.Add(library) - lm.Libraries[library.Name] = alternatives + lmi.libraries[library.Name] = alternatives } return statuses @@ -188,19 +223,20 @@ func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []* // FindByReference return the installed libraries matching the Reference // name and version or, if the version is nil, the libraries installed // in the installLocation. -func (lm *LibrariesManager) FindByReference(libRef *librariesindex.Reference, installLocation libraries.LibraryLocation) libraries.List { - alternatives := lm.Libraries[libRef.Name] +func (lmi *Installer) FindByReference(name string, version *semver.Version, installLocation libraries.LibraryLocation) libraries.List { + alternatives := lmi.libraries[name] if alternatives == nil { return nil } - return alternatives.FilterByVersionAndInstallLocation(libRef.Version, installLocation) + return alternatives.FilterByVersionAndInstallLocation(version, installLocation) } // FindAllInstalled returns all the installed libraries func (lm *LibrariesManager) FindAllInstalled() libraries.List { var res libraries.List - for _, libAlternatives := range lm.Libraries { + for _, libAlternatives := range lm.libraries { for _, libRelease := range libAlternatives { + // TODO: is this check redundant? if libRelease.InstallDir == nil { continue } @@ -209,9 +245,3 @@ func (lm *LibrariesManager) FindAllInstalled() libraries.List { } return res } - -func (lm *LibrariesManager) clearLibraries() { - for k := range lm.Libraries { - delete(lm.Libraries, k) - } -} diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager_test.go b/internal/arduino/libraries/librariesmanager/librariesmanager_test.go index 54475cd1fd3..2393868999e 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager_test.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager_test.go @@ -18,15 +18,20 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/arduino/libraries" - "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) func Test_RescanLibrariesCallClear(t *testing.T) { - baseDir := paths.New(t.TempDir()) - lm := NewLibraryManager(baseDir.Join("index_dir"), baseDir.Join("downloads_dir")) - lm.Libraries["testLibA"] = libraries.List{} - lm.Libraries["testLibB"] = libraries.List{} - lm.RescanLibraries() - require.Len(t, lm.Libraries, 0) + lmb := NewBuilder() + lmb.libraries["testLibA"] = libraries.List{} + lmb.libraries["testLibB"] = libraries.List{} + lm := lmb.Build() + + { + lmi, release := lm.NewInstaller() + lmi.RescanLibraries() + release() + } + + require.Len(t, lm.libraries, 0) } diff --git a/internal/arduino/libraries/librariesresolver/cpp.go b/internal/arduino/libraries/librariesresolver/cpp.go index deee71545d3..7f11f8a66c8 100644 --- a/internal/arduino/libraries/librariesresolver/cpp.go +++ b/internal/arduino/libraries/librariesresolver/cpp.go @@ -22,7 +22,6 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries" - "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/i18n" "github.com/schollz/closestmatch" @@ -37,64 +36,52 @@ type Cpp struct { var tr = i18n.Tr // NewCppResolver creates a new Cpp resolver -func NewCppResolver() *Cpp { - return &Cpp{ +func NewCppResolver(allLibs []*libraries.Library, targetPlatform, actualPlatform *cores.PlatformRelease) *Cpp { + resolver := &Cpp{ headers: map[string]libraries.List{}, } -} - -// ScanFromLibrariesManager reads all librariers loaded in the LibrariesManager to find -// and cache all C++ headers for later retrieval -func (resolver *Cpp) ScanFromLibrariesManager(lm *librariesmanager.LibrariesManager) error { - for _, libAlternatives := range lm.Libraries { - for _, lib := range libAlternatives { - resolver.ScanLibrary(lib) - } + resolver.ScanIDEBuiltinLibraries(allLibs) + resolver.ScanUserAndUnmanagedLibraries(allLibs) + resolver.ScanPlatformLibraries(allLibs, targetPlatform) + if actualPlatform != targetPlatform { + resolver.ScanPlatformLibraries(allLibs, actualPlatform) } - return nil + + return resolver } // ScanIDEBuiltinLibraries reads ide-builtin librariers loaded in the LibrariesManager to find // and cache all C++ headers for later retrieval. -func (resolver *Cpp) ScanIDEBuiltinLibraries(lm *librariesmanager.LibrariesManager) error { - for _, libAlternatives := range lm.Libraries { - for _, lib := range libAlternatives { - if lib.Location == libraries.IDEBuiltIn { - resolver.ScanLibrary(lib) - } +func (resolver *Cpp) ScanIDEBuiltinLibraries(allLibs []*libraries.Library) { + for _, lib := range allLibs { + if lib.Location == libraries.IDEBuiltIn { + _ = resolver.ScanLibrary(lib) } } - return nil } // ScanUserAndUnmanagedLibraries reads user/unmanaged librariers loaded in the LibrariesManager to find // and cache all C++ headers for later retrieval. -func (resolver *Cpp) ScanUserAndUnmanagedLibraries(lm *librariesmanager.LibrariesManager) error { - for _, libAlternatives := range lm.Libraries { - for _, lib := range libAlternatives { - if lib.Location == libraries.User || lib.Location == libraries.Unmanaged { - resolver.ScanLibrary(lib) - } +func (resolver *Cpp) ScanUserAndUnmanagedLibraries(allLibs []*libraries.Library) { + for _, lib := range allLibs { + if lib.Location == libraries.User || lib.Location == libraries.Unmanaged { + _ = resolver.ScanLibrary(lib) } } - return nil } // ScanPlatformLibraries reads platform-bundled libraries for a specific platform loaded in the LibrariesManager // to find and cache all C++ headers for later retrieval. -func (resolver *Cpp) ScanPlatformLibraries(lm *librariesmanager.LibrariesManager, platform *cores.PlatformRelease) error { - for _, libAlternatives := range lm.Libraries { - for _, lib := range libAlternatives { - if lib.Location != libraries.PlatformBuiltIn && lib.Location != libraries.ReferencedPlatformBuiltIn { - continue - } - if lib.ContainerPlatform != platform { - continue - } - resolver.ScanLibrary(lib) +func (resolver *Cpp) ScanPlatformLibraries(allLibs []*libraries.Library, platform *cores.PlatformRelease) { + for _, lib := range allLibs { + if lib.Location != libraries.PlatformBuiltIn && lib.Location != libraries.ReferencedPlatformBuiltIn { + continue } + if lib.ContainerPlatform != platform { + continue + } + _ = resolver.ScanLibrary(lib) } - return nil } // ScanLibrary reads a library to find and cache C++ headers for later retrieval diff --git a/internal/arduino/libraries/librariesresolver/cpp_test.go b/internal/arduino/libraries/librariesresolver/cpp_test.go index f65bc195769..a82da18f465 100644 --- a/internal/arduino/libraries/librariesresolver/cpp_test.go +++ b/internal/arduino/libraries/librariesresolver/cpp_test.go @@ -35,7 +35,7 @@ var bundleServo = &libraries.Library{Name: "Servo", Location: libraries.IDEBuilt func runResolver(include string, arch string, libs ...*libraries.Library) *libraries.Library { libraryList := libraries.List{} libraryList.Add(libs...) - resolver := NewCppResolver() + resolver := &Cpp{headers: make(map[string]libraries.List)} resolver.headers[include] = libraryList return resolver.ResolveFor(include, arch) } @@ -95,7 +95,7 @@ func TestClosestMatchWithTotallyDifferentNames(t *testing.T) { libraryList.Add(l6) libraryList.Add(l7) libraryList.Add(l8) - resolver := NewCppResolver() + resolver := &Cpp{headers: make(map[string]libraries.List)} resolver.headers["XYZ.h"] = libraryList res := resolver.ResolveFor("XYZ.h", "xyz") require.NotNil(t, res) @@ -121,7 +121,7 @@ func TestCppHeaderPriority(t *testing.T) { } func TestCppHeaderResolverWithNilResult(t *testing.T) { - resolver := NewCppResolver() + resolver := &Cpp{headers: make(map[string]libraries.List)} libraryList := libraries.List{} libraryList.Add(l1) resolver.headers["aaa.h"] = libraryList @@ -130,7 +130,7 @@ func TestCppHeaderResolverWithNilResult(t *testing.T) { func TestCppHeaderResolver(t *testing.T) { resolve := func(header string, libs ...*libraries.Library) string { - resolver := NewCppResolver() + resolver := &Cpp{headers: make(map[string]libraries.List)} librarylist := libraries.List{} for _, lib := range libs { librarylist.Add(lib) @@ -149,7 +149,7 @@ func TestCppHeaderResolver(t *testing.T) { } func TestCppHeaderResolverWithLibrariesInStrangeDirectoryNames(t *testing.T) { - resolver := NewCppResolver() + resolver := &Cpp{headers: make(map[string]libraries.List)} librarylist := libraries.List{} librarylist.Add(&libraries.Library{DirName: "onewire_2_3_4", Name: "OneWire", Architectures: []string{"*"}}) librarylist.Add(&libraries.Library{DirName: "onewireng_2_3_4", Name: "OneWireNg", Architectures: []string{"avr"}}) diff --git a/internal/integrationtest/completion/completion_test.go b/internal/integrationtest/completion/completion_test.go index a216eb0f6ff..678f2f0139e 100644 --- a/internal/integrationtest/completion/completion_test.go +++ b/internal/integrationtest/completion/completion_test.go @@ -247,7 +247,7 @@ func TestProfileCompletion(t *testing.T) { stdout, _, _ = cli.Run("__complete", "upload", sketchWithProfilesPath.String(), "--profile", "") require.Contains(t, string(stdout), "profile1") - // The cli is running in the sketch folder, so need the explictly specify the path in the cli + // The cli is running in the sketch folder, so need the explicitly specify the path in the cli cli.SetWorkingDir(sketchWithProfilesPath) stdout, _, _ = cli.Run("__complete", "compile", "--profile", "") require.Contains(t, string(stdout), "profile1") From 07cf2656f811ede65682e5b8549f6748a9b64b82 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 2 Jan 2024 11:22:10 +0100 Subject: [PATCH 071/361] Drop support of package_bundled_index.json and builtin_tools_versions.txt (#2424) --- commands/compile/compile.go | 1 - docs/UPGRADING.md | 4 + docs/configuration.md | 2 - .../arduino/builder/build_options_manager.go | 5 +- internal/arduino/builder/builder.go | 4 +- internal/arduino/cores/cores.go | 1 - .../arduino/cores/packagemanager/loader.go | 128 +----------------- .../cores/packagemanager/package_manager.go | 21 ++- internal/cli/configuration/directories.go | 5 - .../integrationtest/compile_4/compile_test.go | 1 - internal/integrationtest/core/core_test.go | 55 ++++++++ 11 files changed, 74 insertions(+), 153 deletions(-) diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 5926eda281a..75e86b8f52d 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -187,7 +187,6 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream int(req.GetJobs()), req.GetBuildProperties(), configuration.HardwareDirectories(configuration.Settings), - configuration.BuiltinToolsDirectories(configuration.Settings), otherLibrariesDirs, configuration.IDEBuiltinLibrariesDir(configuration.Settings), fqbn, diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 6b9b95b7f3f..fd54320c1a5 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,10 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### Drop support for `builtin.tools` + +We're dropping the `builtin.tools` support. It was the equivalent of Arduino IDE 1.x bundled tools directory. + ### Some golang modules from `github.com/arduino/arduino-cli/*` have been made private. The following golang modules are no longer available as public API: diff --git a/docs/configuration.md b/docs/configuration.md index 4d16b158b1b..cc8ec0e4d15 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -12,8 +12,6 @@ - `builtin.libraries` - the libraries in this directory will be available to all platforms without the need for the user to install them, but with the lowest priority over other installed libraries with the same name, it's the equivalent of the Arduino IDE's bundled libraries directory. - - `builtin.tools` - it's a list of directories of tools that will be available to all platforms without the need for - the user to install them, it's the equivalent of the Arduino IDE 1.x bundled tools directory. - `library` - configuration options relating to Arduino libraries. - `enable_unsafe_install` - set to `true` to enable the use of the `--git-url` and `--zip-file` flags with [`arduino-cli lib install`][arduino cli lib install]. These are considered "unsafe" installation methods because diff --git a/internal/arduino/builder/build_options_manager.go b/internal/arduino/builder/build_options_manager.go index 0d8c2a36311..31f7d6ffc07 100644 --- a/internal/arduino/builder/build_options_manager.go +++ b/internal/arduino/builder/build_options_manager.go @@ -33,7 +33,6 @@ type buildOptions struct { currentOptions *properties.Map hardwareDirs paths.PathList - builtInToolsDirs paths.PathList otherLibrariesDirs paths.PathList builtInLibrariesDirs *paths.Path buildPath *paths.Path @@ -47,7 +46,7 @@ type buildOptions struct { // newBuildOptions fixdoc func newBuildOptions( - hardwareDirs, builtInToolsDirs, otherLibrariesDirs paths.PathList, + hardwareDirs, otherLibrariesDirs paths.PathList, builtInLibrariesDirs, buildPath *paths.Path, sketch *sketch.Sketch, customBuildProperties []string, @@ -59,7 +58,6 @@ func newBuildOptions( opts := properties.NewMap() opts.Set("hardwareFolders", strings.Join(hardwareDirs.AsStrings(), ",")) - opts.Set("builtInToolsFolders", strings.Join(builtInToolsDirs.AsStrings(), ",")) opts.Set("otherLibrariesFolders", strings.Join(otherLibrariesDirs.AsStrings(), ",")) opts.SetPath("sketchLocation", sketch.FullPath) opts.Set("fqbn", fqbn.String()) @@ -84,7 +82,6 @@ func newBuildOptions( return &buildOptions{ currentOptions: opts, hardwareDirs: hardwareDirs, - builtInToolsDirs: builtInToolsDirs, otherLibrariesDirs: otherLibrariesDirs, builtInLibrariesDirs: builtInLibrariesDirs, buildPath: buildPath, diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 5c9e4b6cb92..7cbe0544a26 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -121,7 +121,7 @@ func NewBuilder( coreBuildCachePath *paths.Path, jobs int, requestBuildProperties []string, - hardwareDirs, builtInToolsDirs, otherLibrariesDirs paths.PathList, + hardwareDirs, otherLibrariesDirs paths.PathList, builtInLibrariesDirs *paths.Path, fqbn *cores.FQBN, clean bool, @@ -223,7 +223,7 @@ func NewBuilder( logger, ), buildOptions: newBuildOptions( - hardwareDirs, builtInToolsDirs, otherLibrariesDirs, + hardwareDirs, otherLibrariesDirs, builtInLibrariesDirs, buildPath, sk, customBuildPropertiesArgs, diff --git a/internal/arduino/cores/cores.go b/internal/arduino/cores/cores.go index 3f6f15a2741..63d4a76428d 100644 --- a/internal/arduino/cores/cores.go +++ b/internal/arduino/cores/cores.go @@ -70,7 +70,6 @@ type PlatformRelease struct { Programmers map[string]*Programmer `json:"-"` Menus *properties.Map `json:"-"` InstallDir *paths.Path `json:"-"` - IsIDEBundled bool `json:"-"` IsTrusted bool `json:"-"` PluggableDiscoveryAware bool `json:"-"` // true if the Platform supports pluggable discovery (no compatibility layer required) Monitors map[string]*MonitorDependency `json:"-"` diff --git a/internal/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go index 282e07afc60..77d4cc3d848 100644 --- a/internal/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -18,8 +18,6 @@ package packagemanager import ( "errors" "fmt" - "os" - "path/filepath" "regexp" "strconv" "strings" @@ -36,12 +34,7 @@ import ( // LoadHardware read all plaforms from the configured paths func (pm *Builder) LoadHardware() []error { hardwareDirs := configuration.HardwareDirectories(configuration.Settings) - merr := pm.LoadHardwareFromDirectories(hardwareDirs) - - bundleToolDirs := configuration.BuiltinToolsDirectories(configuration.Settings) - merr = append(merr, pm.LoadToolsFromBundleDirectories(bundleToolDirs)...) - - return merr + return pm.LoadHardwareFromDirectories(hardwareDirs) } // LoadHardwareFromDirectories load plaforms from a set of directories @@ -203,49 +196,9 @@ func (pm *Builder) loadPlatform(targetPackage *cores.Package, architecture strin return &cmderrors.InvalidVersionError{Cause: fmt.Errorf("%s: %s", platformTxtPath, err)} } - // Check if package_bundled_index.json exists. - // This is used indirectly by the Java IDE since it's necessary for the arduino-builder - // to find cores bundled with that version of the IDE. - // TODO: This piece of logic MUST be removed as soon as the Java IDE stops using the arduino-builder. - isIDEBundled := false - packageBundledIndexPath := platformPath.Parent().Parent().Join("package_index_bundled.json") - if packageBundledIndexPath.Exist() { - // particular case: ARCHITECTURE/boards.txt with package_bundled_index.json - - // this is an unversioned Platform with a package_index_bundled.json that - // gives information about the version and tools needed - - // Parse the bundled index and merge to the general index - index, err := pm.LoadPackageIndexFromFile(packageBundledIndexPath) - if err != nil { - return fmt.Errorf("%s: %w", tr("parsing IDE bundled index"), err) - } - - // Now export the bundled index in a temporary core.Packages to retrieve the bundled package version - tmp := cores.NewPackages() - index.MergeIntoPackages(tmp) - if tmpPackage := tmp.GetOrCreatePackage(targetPackage.Name); tmpPackage == nil { - pm.log.Warnf("Can't determine bundle platform version for %s", targetPackage.Name) - } else if tmpPlatform := tmpPackage.GetOrCreatePlatform(architecture); tmpPlatform == nil { - pm.log.Warnf("Can't determine bundle platform version for %s:%s", targetPackage.Name, architecture) - } else if tmpPlatformRelease := tmpPlatform.GetLatestRelease(); tmpPlatformRelease == nil { - pm.log.Warnf("Can't determine bundle platform version for %s:%s, no valid release found", targetPackage.Name, architecture) - } else { - version = tmpPlatformRelease.Version - } - - isIDEBundled = true - } - platform := targetPackage.GetOrCreatePlatform(architecture) - if !isIDEBundled { - platform.ManuallyInstalled = true - } + platform.ManuallyInstalled = true release := platform.GetOrCreateRelease(version) - release.IsIDEBundled = isIDEBundled - if isIDEBundled { - pm.log.Infof("Package is built-in") - } if err := pm.loadPlatformRelease(release, platformPath); err != nil { return fmt.Errorf("%s: %w", tr("loading platform release %s", release), err) } @@ -658,83 +611,6 @@ func (pm *Builder) loadToolReleaseFromDirectory(tool *cores.Tool, version *semve } } -// LoadToolsFromBundleDirectories FIXMEDOC -func (pm *Builder) LoadToolsFromBundleDirectories(dirs paths.PathList) []error { - var merr []error - for _, dir := range dirs { - if err := pm.LoadToolsFromBundleDirectory(dir); err != nil { - merr = append(merr, fmt.Errorf("%s: %w", tr("loading bundled tools from %s", dir), err)) - } - } - return merr -} - -// LoadToolsFromBundleDirectory FIXMEDOC -func (pm *Builder) LoadToolsFromBundleDirectory(toolsPath *paths.Path) error { - pm.log.Infof("Loading tools from bundle dir: %s", toolsPath) - - // We scan toolsPath content to find a "builtin_tools_versions.txt", if such file exists - // then the all the tools are available in the same directory, mixed together, and their - // name and version are written in the "builtin_tools_versions.txt" file. - // If no "builtin_tools_versions.txt" is found, then the directory structure is the classic - // TOOLSPATH/TOOL-NAME/TOOL-VERSION and it will be parsed as such and associated to an - // "unnamed" packager. - - // TODO: get rid of "builtin_tools_versions.txt" - - // Search for builtin_tools_versions.txt - builtinToolsVersionsTxtPath := "" - findBuiltInToolsVersionsTxt := func(currentPath string, info os.FileInfo, err error) error { - if err != nil { - // Ignore errors - return nil - } - if builtinToolsVersionsTxtPath != "" { - return filepath.SkipDir - } - if info.Name() == "builtin_tools_versions.txt" { - builtinToolsVersionsTxtPath = currentPath - return filepath.SkipDir - } - return nil - } - if err := filepath.Walk(toolsPath.String(), findBuiltInToolsVersionsTxt); err != nil { - return fmt.Errorf(tr("searching for builtin_tools_versions.txt in %[1]s: %[2]s"), toolsPath, err) - } - - if builtinToolsVersionsTxtPath != "" { - // If builtin_tools_versions.txt is found create tools based on the info - // contained in that file - pm.log.Infof("Found builtin_tools_versions.txt") - toolPath, err := paths.New(builtinToolsVersionsTxtPath).Parent().Abs() - if err != nil { - return fmt.Errorf(tr("getting parent dir of %[1]s: %[2]s"), builtinToolsVersionsTxtPath, err) - } - - all, err := properties.Load(builtinToolsVersionsTxtPath) - if err != nil { - return fmt.Errorf(tr("reading %[1]s: %[2]s"), builtinToolsVersionsTxtPath, err) - } - - for packager, toolsData := range all.FirstLevelOf() { - targetPackage := pm.packages.GetOrCreatePackage(packager) - - for toolName, toolVersion := range toolsData.AsMap() { - tool := targetPackage.GetOrCreateTool(toolName) - version := semver.ParseRelaxed(toolVersion) - release := tool.GetOrCreateRelease(version) - release.InstallDir = toolPath - pm.log.WithField("tool", release).Infof("Loaded tool") - } - } - } else { - // otherwise load the tools inside the unnamed package - unnamedPackage := pm.packages.GetOrCreatePackage("") - pm.LoadToolsFromPackageDir(unnamedPackage, toolsPath) - } - return nil -} - // LoadDiscoveries load all discoveries for all loaded platforms // Returns error if: // * A PluggableDiscovery instance can't be created diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index 04d0e846f81..d40fa6312f3 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -621,8 +621,7 @@ func (pme *Explorer) GetInstalledPlatformRelease(platform *cores.Platform) *core } debug := func(msg string, pl *cores.PlatformRelease) { - pme.log.WithField("bundle", pl.IsIDEBundled). - WithField("version", pl.Version). + pme.log.WithField("version", pl.Version). WithField("managed", pme.IsManagedPlatformRelease(pl)). Debugf("%s: %s", msg, pl) } @@ -634,20 +633,20 @@ func (pme *Explorer) GetInstalledPlatformRelease(platform *cores.Platform) *core for _, candidate := range releases[1:] { candidateIsManaged := pme.IsManagedPlatformRelease(candidate) debug("candidate", candidate) - // TODO: Disentangle this algorithm and make it more straightforward - if bestIsManaged == candidateIsManaged { - if best.IsIDEBundled == candidate.IsIDEBundled { - if candidate.Version.GreaterThan(best.Version) { - best = candidate - } - } - if best.IsIDEBundled && !candidate.IsIDEBundled { + if !candidateIsManaged && !bestIsManaged { + if candidate.Version.GreaterThan(best.Version) { best = candidate } + continue } - if !bestIsManaged && candidateIsManaged { + if !candidateIsManaged { + continue + } + if !bestIsManaged { best = candidate bestIsManaged = true + } else if candidate.Version.GreaterThan(best.Version) { + best = candidate } debug("current best", best) } diff --git a/internal/cli/configuration/directories.go b/internal/cli/configuration/directories.go index 9a69548ceef..27669e9017c 100644 --- a/internal/cli/configuration/directories.go +++ b/internal/cli/configuration/directories.go @@ -42,11 +42,6 @@ func HardwareDirectories(settings *viper.Viper) paths.PathList { return res } -// BuiltinToolsDirectories returns all paths that may contains bundled-tools. -func BuiltinToolsDirectories(settings *viper.Viper) paths.PathList { - return paths.NewPathList(settings.GetStringSlice("directories.builtin.Tools")...) -} - // IDEBuiltinLibrariesDir returns the IDE-bundled libraries path. Usually // this directory is present in the Arduino IDE. func IDEBuiltinLibrariesDir(settings *viper.Viper) *paths.Path { diff --git a/internal/integrationtest/compile_4/compile_test.go b/internal/integrationtest/compile_4/compile_test.go index b48075fa21c..63192a12774 100644 --- a/internal/integrationtest/compile_4/compile_test.go +++ b/internal/integrationtest/compile_4/compile_test.go @@ -1030,7 +1030,6 @@ func TestBuildOptionsFile(t *testing.T) { requirejson.Query(t, buildOptionsBytes, "keys", `[ "additionalFiles", - "builtInToolsFolders", "compiler.optimization_flags", "customBuildProperties", "fqbn", diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index e8b7c4ad3be..da740e54bea 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -20,6 +20,7 @@ import ( "encoding/hex" "fmt" "os" + "path/filepath" "runtime" "sort" "strconv" @@ -518,6 +519,60 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) { ]}`) } +func TestCoreListShowsLatestVersionWhenMultipleReleasesOfAManuallyInstalledCoreArePresent(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + + // Verifies only cores in board manager are shown + stdout, _, err := cli.Run("core", "list", "--all", "--format", "json") + require.NoError(t, err) + requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) + length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query(".platforms | length").String()) + require.NoError(t, err) + + // Manually installs a core in sketchbooks hardware folder + gitUrl := "https://github.com/arduino/ArduinoCore-avr.git" + repoDir := cli.SketchbookDir().Join("hardware", "arduino-beta-development", "avr") + _, err = git.PlainClone(filepath.Join(repoDir.String(), "1.8.3"), false, &git.CloneOptions{ + URL: gitUrl, + ReferenceName: plumbing.NewTagReferenceName("1.8.3"), + }) + require.NoError(t, err) + + tmp := paths.New(t.TempDir(), "1.8.4") + _, err = git.PlainClone(tmp.String(), false, &git.CloneOptions{ + URL: gitUrl, + ReferenceName: plumbing.NewTagReferenceName("1.8.4"), + }) + require.NoError(t, err) + + err = tmp.Rename(repoDir.Join("1.8.4")) + require.NoError(t, err) + + // When manually installing 2 releases of the same core, the newest one takes precedence + stdout, _, err = cli.Run("core", "list", "--all", "--format", "json") + require.NoError(t, err) + requirejson.Query(t, stdout, `.platforms | length`, fmt.Sprint(length+1)) + requirejson.Contains(t, stdout, `{"platforms":[ + { + "id": "arduino-beta-development:avr", + "latest_version": "1.8.4", + "installed_version": "1.8.4", + "releases": { + "1.8.3": { + "name": "Arduino AVR Boards" + }, + "1.8.3": { + "name": "Arduino AVR Boards" + } + } + } + ]}`) +} + func TestCoreListUpdatableAllFlags(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() From 0dbd871c3d0a10aeb5212a07eed666abd674dd1f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 2 Jan 2024 11:52:03 +0100 Subject: [PATCH 072/361] [breaking] feature: Added gRPC `close` signal to `Monitor` call (allows graceful close of monitor) (#2276) * Refactored gRPC Monitor API * Added Close request to gRPC Monitor API * Updated docs * Made CreateEnvForDaeamon available in all integration tests * Added integration test * lint: avoid redefinition of the built-in function close * lint: comparing with == will fail on wrapped errors. Use errors.Is to check for a specific error * Allow up to 5 seconds for a pluggable monitor to gracefully close * Made the gRPC daemon actually wait for port close completion --- commands/daemon/daemon.go | 30 +- commands/daemon/term_example/main.go | 10 +- commands/monitor/monitor.go | 2 +- docs/UPGRADING.md | 59 +++ internal/arduino/monitor/monitor.go | 2 +- internal/cli/monitor/monitor.go | 2 +- internal/integrationtest/arduino-cli.go | 34 ++ .../daemon/daemon_concurrency_test.go | 3 +- .../integrationtest/daemon/daemon_test.go | 37 +- .../monitor/monitor_grpc_test.go | 117 +++++ internal/mock_serial_monitor/main.go | 15 + rpc/cc/arduino/cli/commands/v1/monitor.pb.go | 423 ++++++++++++------ rpc/cc/arduino/cli/commands/v1/monitor.proto | 19 +- 13 files changed, 572 insertions(+), 181 deletions(-) create mode 100644 internal/integrationtest/monitor/monitor_grpc_test.go diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index 88b0420ff27..f9f6215973c 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "io" + "sync/atomic" "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/board" @@ -477,7 +478,11 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer return err } - portProxy, _, err := monitor.Monitor(stream.Context(), req) + openReq := req.GetOpenRequest() + if openReq == nil { + return &cmderrors.InvalidInstanceError{} + } + portProxy, _, err := monitor.Monitor(stream.Context(), openReq) if err != nil { return err } @@ -486,6 +491,10 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer _ = syncSend.Send(&rpc.MonitorResponse{Success: true}) cancelCtx, cancel := context.WithCancel(stream.Context()) + gracefulCloseInitiated := &atomic.Bool{} + gracefuleCloseCtx, gracefulCloseCancel := context.WithCancel(context.Background()) + + // gRPC stream receiver (gRPC data -> monitor, config, close) go func() { defer cancel() for { @@ -497,13 +506,20 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) return } - if conf := msg.GetPortConfiguration(); conf != nil { + if conf := msg.GetUpdatedConfiguration(); conf != nil { for _, c := range conf.GetSettings() { if err := portProxy.Config(c.GetSettingId(), c.GetValue()); err != nil { syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) } } } + if closeMsg := msg.GetClose(); closeMsg { + gracefulCloseInitiated.Store(true) + if err := portProxy.Close(); err != nil { + logrus.WithError(err).Debug("Error closing monitor port") + } + gracefulCloseCancel() + } tx := msg.GetTxData() for len(tx) > 0 { n, err := portProxy.Write(tx) @@ -519,8 +535,9 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer } }() + // gRPC stream sender (monitor -> gRPC) go func() { - defer cancel() + defer cancel() // unlock the receiver buff := make([]byte, 4096) for { n, err := portProxy.Read(buff) @@ -538,6 +555,11 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer }() <-cancelCtx.Done() - portProxy.Close() + if gracefulCloseInitiated.Load() { + // Port closing has been initiated in the receiver + <-gracefuleCloseCtx.Done() + } else { + portProxy.Close() + } return nil } diff --git a/commands/daemon/term_example/main.go b/commands/daemon/term_example/main.go index faa86198a5f..4d202ec5bd7 100644 --- a/commands/daemon/term_example/main.go +++ b/commands/daemon/term_example/main.go @@ -89,8 +89,10 @@ func connectToPort(cli commands.ArduinoCoreServiceClient, instance *commands.Ins log.Fatal("Error opening Monitor:", err) } if err := monitorClient.Send(&commands.MonitorRequest{ - Instance: instance, - Port: port, + Message: &commands.MonitorRequest_OpenRequest{OpenRequest: &commands.MonitorPortOpenRequest{ + Instance: instance, + Port: port, + }}, }); err != nil { log.Fatal("Error sending Monitor config:", err) } @@ -106,9 +108,9 @@ func connectToPort(cli commands.ArduinoCoreServiceClient, instance *commands.Ins } }() - hello := &commands.MonitorRequest{ + hello := &commands.MonitorRequest{Message: &commands.MonitorRequest_TxData{ TxData: []byte("HELLO!"), - } + }} fmt.Println("Send:", hello) if err := monitorClient.Send(hello); err != nil { log.Fatal("Monitor send HELLO:", err) diff --git a/commands/monitor/monitor.go b/commands/monitor/monitor.go index 4f136181697..357a885be31 100644 --- a/commands/monitor/monitor.go +++ b/commands/monitor/monitor.go @@ -60,7 +60,7 @@ func (p *PortProxy) Close() error { // Monitor opens a communication port. It returns a PortProxy to communicate with the port and a PortDescriptor // that describes the available configuration settings. -func Monitor(ctx context.Context, req *rpc.MonitorRequest) (*PortProxy, *pluggableMonitor.PortDescriptor, error) { +func Monitor(ctx context.Context, req *rpc.MonitorPortOpenRequest) (*PortProxy, *pluggableMonitor.PortDescriptor, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, nil, err diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index fd54320c1a5..24923d924e2 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -8,6 +8,65 @@ Here you can find a list of migration guides to handle breaking changes between We're dropping the `builtin.tools` support. It was the equivalent of Arduino IDE 1.x bundled tools directory. +### The gRPC `cc.arduino.cli.commands.v1.MonitorRequest` message has been changed. + +Previously the `MonitorRequest` was a single message used to open the monitor, to stream data, and to change the port +configuration: + +```proto +message MonitorRequest { + // Arduino Core Service instance from the `Init` response. + Instance instance = 1; + // Port to open, must be filled only on the first request + Port port = 2; + // The board FQBN we are trying to connect to. This is optional, and it's + // needed to disambiguate if more than one platform provides the pluggable + // monitor for a given port protocol. + string fqbn = 3; + // Data to send to the port + bytes tx_data = 4; + // Port configuration, optional, contains settings of the port to be applied + MonitorPortConfiguration port_configuration = 5; +} +``` + +Now the meaning of the fields has been clarified with the `oneof` clause, making it more explicit: + +```proto +message MonitorRequest { + oneof message { + // Open request, it must be the first incoming message + MonitorPortOpenRequest open_request = 1; + // Data to send to the port + bytes tx_data = 2; + // Port configuration, contains settings of the port to be changed + MonitorPortConfiguration updated_configuration = 3; + // Close message, set to true to gracefully close a port (this ensure + // that the gRPC streaming call is closed by the daemon AFTER the port + // has been successfully closed) + bool close = 4; + } +} + +message MonitorPortOpenRequest { + // Arduino Core Service instance from the `Init` response. + Instance instance = 1; + // Port to open, must be filled only on the first request + Port port = 2; + // The board FQBN we are trying to connect to. This is optional, and it's + // needed to disambiguate if more than one platform provides the pluggable + // monitor for a given port protocol. + string fqbn = 3; + // Port configuration, optional, contains settings of the port to be applied + MonitorPortConfiguration port_configuration = 4; +} +``` + +Now the message field `MonitorPortOpenRequest.open_request` must be sent in the first message after opening the +streaming gRPC call. + +The identification number of the fields has been changed, this change is not binary compatible with old clients. + ### Some golang modules from `github.com/arduino/arduino-cli/*` have been made private. The following golang modules are no longer available as public API: diff --git a/internal/arduino/monitor/monitor.go b/internal/arduino/monitor/monitor.go index c2dc81669fa..cf993e5029d 100644 --- a/internal/arduino/monitor/monitor.go +++ b/internal/arduino/monitor/monitor.go @@ -292,7 +292,7 @@ func (mon *PluggableMonitor) Close() error { if err := mon.sendCommand("CLOSE\n"); err != nil { return err } - _, err := mon.waitMessage(time.Millisecond*250, "close") + _, err := mon.waitMessage(time.Millisecond*5000, "close") return err } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index ea6018fa2df..25e8b757483 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -203,7 +203,7 @@ func runMonitorCmd( } } } - portProxy, _, err := monitor.Monitor(context.Background(), &rpc.MonitorRequest{ + portProxy, _, err := monitor.Monitor(context.Background(), &rpc.MonitorPortOpenRequest{ Instance: inst, Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, Fqbn: fqbn, diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index af77725d820..f3266a7e153 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -119,6 +119,21 @@ func NewArduinoCliWithinEnvironment(env *Environment, config *ArduinoCLIConfig) return cli } +// CreateEnvForDaemon performs the minimum required operations to start the arduino-cli daemon. +// It returns a testsuite.Environment and an ArduinoCLI client to perform the integration tests. +// The Environment must be disposed by calling the CleanUp method via defer. +func CreateEnvForDaemon(t *testing.T) (*Environment, *ArduinoCLI) { + env := NewEnvironment(t) + + cli := NewArduinoCliWithinEnvironment(env, &ArduinoCLIConfig{ + ArduinoCLIPath: FindRepositoryRootPath(t).Join("arduino-cli"), + UseSharedStagingFolder: true, + }) + + _ = cli.StartDaemon(false) + return env, cli +} + // CleanUp closes the Arduino CLI client. func (cli *ArduinoCLI) CleanUp() { if cli.proc != nil { @@ -596,3 +611,22 @@ func (inst *ArduinoCLIInstance) PlatformSearch(ctx context.Context, args string, resp, err := inst.cli.daemonClient.PlatformSearch(ctx, req) return resp, err } + +// Monitor calls the "Monitor" gRPC method and sends the OpenRequest message. +func (inst *ArduinoCLIInstance) Monitor(ctx context.Context, port *commands.Port) (commands.ArduinoCoreService_MonitorClient, error) { + req := &commands.MonitorRequest{} + logCallf(">>> Monitor(%+v)\n", req) + monitorClient, err := inst.cli.daemonClient.Monitor(ctx) + if err != nil { + return nil, err + } + err = monitorClient.Send(&commands.MonitorRequest{ + Message: &commands.MonitorRequest_OpenRequest{ + OpenRequest: &commands.MonitorPortOpenRequest{ + Instance: inst.instance, + Port: port, + }, + }, + }) + return monitorClient, err +} diff --git a/internal/integrationtest/daemon/daemon_concurrency_test.go b/internal/integrationtest/daemon/daemon_concurrency_test.go index 02e9f2501b6..733fe54504a 100644 --- a/internal/integrationtest/daemon/daemon_concurrency_test.go +++ b/internal/integrationtest/daemon/daemon_concurrency_test.go @@ -23,6 +23,7 @@ import ( "testing" "time" + "github.com/arduino/arduino-cli/internal/integrationtest" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" @@ -31,7 +32,7 @@ import ( func TestArduinoCliDaemonCompileWithLotOfOutput(t *testing.T) { // See: https://github.com/arduino/arduino-cli/issues/2169 - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() _, _, err := cli.Run("core", "install", "arduino:avr") diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index f7e59a02896..3bae601a01d 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -37,7 +37,7 @@ import ( func TestArduinoCliDaemon(t *testing.T) { // See: https://github.com/arduino/arduino-cli/pull/1804 - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -96,7 +96,7 @@ func TestArduinoCliDaemon(t *testing.T) { func TestDaemonAutoUpdateIndexOnFirstInit(t *testing.T) { // https://github.com/arduino/arduino-cli/issues/1529 - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -110,26 +110,11 @@ func TestDaemonAutoUpdateIndexOnFirstInit(t *testing.T) { require.FileExists(t, cli.DataDir().Join("package_index.json").String()) } -// createEnvForDaemon performs the minimum required operations to start the arduino-cli daemon. -// It returns a testsuite.Environment and an ArduinoCLI client to perform the integration tests. -// The Environment must be disposed by calling the CleanUp method via defer. -func createEnvForDaemon(t *testing.T) (*integrationtest.Environment, *integrationtest.ArduinoCLI) { - env := integrationtest.NewEnvironment(t) - - cli := integrationtest.NewArduinoCliWithinEnvironment(env, &integrationtest.ArduinoCLIConfig{ - ArduinoCLIPath: integrationtest.FindRepositoryRootPath(t).Join("arduino-cli"), - UseSharedStagingFolder: true, - }) - - _ = cli.StartDaemon(false) - return env, cli -} - func TestDaemonCompileOptions(t *testing.T) { // See: https://github.com/arduino/arduino-cli/issues/1614 // See: https://github.com/arduino/arduino-cli/pull/1820 - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -203,7 +188,7 @@ func TestDaemonCompileOptions(t *testing.T) { func TestDaemonCompileAfterFailedLibInstall(t *testing.T) { // See: https://github.com/arduino/arduino-cli/issues/1812 - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -233,7 +218,7 @@ func TestDaemonCompileAfterFailedLibInstall(t *testing.T) { } func TestDaemonCoreUpdateIndex(t *testing.T) { - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -269,7 +254,7 @@ func TestDaemonCoreUpdateIndex(t *testing.T) { } func TestDaemonBundleLibInstall(t *testing.T) { - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -409,7 +394,7 @@ func TestDaemonLibrariesRescanOnInstall(t *testing.T) { with the gprc instance The last attempt is expected to not raise an error */ - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -465,7 +450,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { t.Run("upgraded successfully with additional urls", func(t *testing.T) { t.Run("and install.json is present", func(t *testing.T) { - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -481,7 +466,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { require.False(t, platform.GetRelease().GetMissingMetadata()) // install.json is present }) t.Run("and install.json is missing", func(t *testing.T) { - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -504,7 +489,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { t.Run("upgrade failed", func(t *testing.T) { t.Run("without additional URLs", func(t *testing.T) { - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() @@ -524,7 +509,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { require.False(t, platform.GetRelease().GetMissingMetadata()) // install.json is present }) t.Run("missing both additional URLs and install.json", func(t *testing.T) { - env, cli := createEnvForDaemon(t) + env, cli := integrationtest.CreateEnvForDaemon(t) defer env.CleanUp() grpcInst := cli.Create() diff --git a/internal/integrationtest/monitor/monitor_grpc_test.go b/internal/integrationtest/monitor/monitor_grpc_test.go new file mode 100644 index 00000000000..c96dc36d304 --- /dev/null +++ b/internal/integrationtest/monitor/monitor_grpc_test.go @@ -0,0 +1,117 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 monitor_test + +import ( + "context" + "errors" + "fmt" + "io" + "regexp" + "testing" + "time" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestMonitorGRPCClose(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/2271 + + env, cli := integrationtest.CreateEnvForDaemon(t) + defer env.CleanUp() + + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + cli.InstallMockedSerialDiscovery(t) + cli.InstallMockedSerialMonitor(t) + + grpcInst := cli.Create() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + // Run a one-shot board list + boardListResp, err := grpcInst.BoardList(time.Second) + require.NoError(t, err) + ports := boardListResp.GetPorts() + require.NotEmpty(t, ports) + fmt.Printf("Got boardlist response with %d ports\n", len(ports)) + + // Open mocked serial-monitor and close it client-side + tmpFileMatcher := regexp.MustCompile("Tmpfile: (.*)\n") + { + ctx, cancel := context.WithTimeout(context.Background(), time.Second*3) + mon, err := grpcInst.Monitor(ctx, ports[0].Port) + var tmpFile *paths.Path + for { + monResp, err := mon.Recv() + if err != nil { + fmt.Println("MON>", err) + break + } + fmt.Printf("MON> %v\n", monResp) + if rx := monResp.GetRxData(); rx != nil { + if matches := tmpFileMatcher.FindAllStringSubmatch(string(rx), -1); len(matches) > 0 { + fmt.Println("Found tmpFile", matches[0][1]) + tmpFile = paths.New(matches[0][1]) + } + } + } + require.NotNil(t, tmpFile) + // The port is close client-side, it may be still open server-side + require.True(t, tmpFile.Exist()) + cancel() + require.NoError(t, err) + } + + // Now close the monitor using MonitorRequest_Close + { + // Keep a timeout to allow the test to exit in any case + ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) + mon, err := grpcInst.Monitor(ctx, ports[0].Port) + var tmpFile *paths.Path + for { + monResp, err := mon.Recv() + if errors.Is(err, io.EOF) { + fmt.Println("MON>", err) + break + } + + require.NoError(t, err) + fmt.Printf("MON> %v\n", monResp) + if rx := monResp.GetRxData(); rx != nil { + if matches := tmpFileMatcher.FindAllStringSubmatch(string(rx), -1); len(matches) > 0 { + fmt.Println("Found tmpFile", matches[0][1]) + tmpFile = paths.New(matches[0][1]) + go func() { + time.Sleep(time.Second) + fmt.Println("<MON Sent close command") + mon.Send(&commands.MonitorRequest{Message: &commands.MonitorRequest_Close{Close: true}}) + }() + } + } + } + require.NotNil(t, tmpFile) + // The port is closed serverd-side, it must be already closed once the client has received the EOF + require.False(t, tmpFile.Exist()) + cancel() + require.NoError(t, err) + } +} diff --git a/internal/mock_serial_monitor/main.go b/internal/mock_serial_monitor/main.go index 4dc9c4da159..f13745e1458 100644 --- a/internal/mock_serial_monitor/main.go +++ b/internal/mock_serial_monitor/main.go @@ -24,7 +24,9 @@ import ( "os" "slices" "strings" + "time" + "github.com/arduino/go-paths-helper" monitor "github.com/arduino/pluggable-monitor-protocol-handler" ) @@ -41,6 +43,7 @@ type SerialMonitor struct { mockedSerialPort io.ReadWriteCloser serialSettings *monitor.PortDescriptor openedPort bool + muxFile *paths.Path } // NewSerialMonitor will initialize and return a SerialMonitor @@ -129,9 +132,16 @@ func (d *SerialMonitor) Open(boardPort string) (io.ReadWriter, error) { d.openedPort = true sideA, sideB := newBidirectionalPipe() d.mockedSerialPort = sideA + if muxFile, err := paths.MkTempFile(nil, ""); err == nil { + d.muxFile = paths.NewFromFile(muxFile) + muxFile.Close() + } go func() { buff := make([]byte, 1024) d.mockedSerialPort.Write([]byte("Opened port: " + boardPort + "\n")) + if d.muxFile != nil { + d.mockedSerialPort.Write([]byte("Tmpfile: " + d.muxFile.String() + "\n")) + } for parameter, descriptor := range d.serialSettings.ConfigurationParameter { d.mockedSerialPort.Write([]byte( fmt.Sprintf("Configuration %s = %s\n", parameter, descriptor.Selected))) @@ -186,6 +196,11 @@ func (d *SerialMonitor) Close() error { } d.mockedSerialPort.Close() d.openedPort = false + if d.muxFile != nil { + time.Sleep(2000 * time.Millisecond) // Emulate a small delay closing the port to check gRPC synchronization + d.muxFile.Remove() + d.muxFile = nil + } return nil } diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go index 39ce46f4784..e0341c1a20b 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go @@ -40,18 +40,13 @@ type MonitorRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Arduino Core Service instance from the `Init` response. - Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Port to open, must be filled only on the first request - Port *Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` - // The board FQBN we are trying to connect to. This is optional, and it's - // needed to disambiguate if more than one platform provides the pluggable - // monitor for a given port protocol. - Fqbn string `protobuf:"bytes,3,opt,name=fqbn,proto3" json:"fqbn,omitempty"` - // Data to send to the port - TxData []byte `protobuf:"bytes,4,opt,name=tx_data,json=txData,proto3" json:"tx_data,omitempty"` - // Port configuration, optional, contains settings of the port to be applied - PortConfiguration *MonitorPortConfiguration `protobuf:"bytes,5,opt,name=port_configuration,json=portConfiguration,proto3" json:"port_configuration,omitempty"` + // Types that are assignable to Message: + // + // *MonitorRequest_OpenRequest + // *MonitorRequest_TxData + // *MonitorRequest_UpdatedConfiguration + // *MonitorRequest_Close + Message isMonitorRequest_Message `protobuf_oneof:"message"` } func (x *MonitorRequest) Reset() { @@ -86,35 +81,146 @@ func (*MonitorRequest) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{0} } -func (x *MonitorRequest) GetInstance() *Instance { +func (m *MonitorRequest) GetMessage() isMonitorRequest_Message { + if m != nil { + return m.Message + } + return nil +} + +func (x *MonitorRequest) GetOpenRequest() *MonitorPortOpenRequest { + if x, ok := x.GetMessage().(*MonitorRequest_OpenRequest); ok { + return x.OpenRequest + } + return nil +} + +func (x *MonitorRequest) GetTxData() []byte { + if x, ok := x.GetMessage().(*MonitorRequest_TxData); ok { + return x.TxData + } + return nil +} + +func (x *MonitorRequest) GetUpdatedConfiguration() *MonitorPortConfiguration { + if x, ok := x.GetMessage().(*MonitorRequest_UpdatedConfiguration); ok { + return x.UpdatedConfiguration + } + return nil +} + +func (x *MonitorRequest) GetClose() bool { + if x, ok := x.GetMessage().(*MonitorRequest_Close); ok { + return x.Close + } + return false +} + +type isMonitorRequest_Message interface { + isMonitorRequest_Message() +} + +type MonitorRequest_OpenRequest struct { + // Open request, it must be the first incoming message + OpenRequest *MonitorPortOpenRequest `protobuf:"bytes,1,opt,name=open_request,json=openRequest,proto3,oneof"` +} + +type MonitorRequest_TxData struct { + // Data to send to the port + TxData []byte `protobuf:"bytes,2,opt,name=tx_data,json=txData,proto3,oneof"` +} + +type MonitorRequest_UpdatedConfiguration struct { + // Port configuration, contains settings of the port to be changed + UpdatedConfiguration *MonitorPortConfiguration `protobuf:"bytes,3,opt,name=updated_configuration,json=updatedConfiguration,proto3,oneof"` +} + +type MonitorRequest_Close struct { + // Close message, set to true to gracefully close a port (this ensure + // that the gRPC streaming call is closed by the daemon AFTER the port + // has been successfully closed) + Close bool `protobuf:"varint,4,opt,name=close,proto3,oneof"` +} + +func (*MonitorRequest_OpenRequest) isMonitorRequest_Message() {} + +func (*MonitorRequest_TxData) isMonitorRequest_Message() {} + +func (*MonitorRequest_UpdatedConfiguration) isMonitorRequest_Message() {} + +func (*MonitorRequest_Close) isMonitorRequest_Message() {} + +type MonitorPortOpenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Arduino Core Service instance from the `Init` response. + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // Port to open, must be filled only on the first request + Port *Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` + // The board FQBN we are trying to connect to. This is optional, and it's + // needed to disambiguate if more than one platform provides the pluggable + // monitor for a given port protocol. + Fqbn string `protobuf:"bytes,3,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // Port configuration, optional, contains settings of the port to be applied + PortConfiguration *MonitorPortConfiguration `protobuf:"bytes,4,opt,name=port_configuration,json=portConfiguration,proto3" json:"port_configuration,omitempty"` +} + +func (x *MonitorPortOpenRequest) Reset() { + *x = MonitorPortOpenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MonitorPortOpenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MonitorPortOpenRequest) ProtoMessage() {} + +func (x *MonitorPortOpenRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MonitorPortOpenRequest.ProtoReflect.Descriptor instead. +func (*MonitorPortOpenRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{1} +} + +func (x *MonitorPortOpenRequest) GetInstance() *Instance { if x != nil { return x.Instance } return nil } -func (x *MonitorRequest) GetPort() *Port { +func (x *MonitorPortOpenRequest) GetPort() *Port { if x != nil { return x.Port } return nil } -func (x *MonitorRequest) GetFqbn() string { +func (x *MonitorPortOpenRequest) GetFqbn() string { if x != nil { return x.Fqbn } return "" } -func (x *MonitorRequest) GetTxData() []byte { - if x != nil { - return x.TxData - } - return nil -} - -func (x *MonitorRequest) GetPortConfiguration() *MonitorPortConfiguration { +func (x *MonitorPortOpenRequest) GetPortConfiguration() *MonitorPortConfiguration { if x != nil { return x.PortConfiguration } @@ -133,7 +239,7 @@ type MonitorPortConfiguration struct { func (x *MonitorPortConfiguration) Reset() { *x = MonitorPortConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[1] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -146,7 +252,7 @@ func (x *MonitorPortConfiguration) String() string { func (*MonitorPortConfiguration) ProtoMessage() {} func (x *MonitorPortConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[1] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -159,7 +265,7 @@ func (x *MonitorPortConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use MonitorPortConfiguration.ProtoReflect.Descriptor instead. func (*MonitorPortConfiguration) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{1} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{2} } func (x *MonitorPortConfiguration) GetSettings() []*MonitorPortSetting { @@ -190,7 +296,7 @@ type MonitorResponse struct { func (x *MonitorResponse) Reset() { *x = MonitorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -203,7 +309,7 @@ func (x *MonitorResponse) String() string { func (*MonitorResponse) ProtoMessage() {} func (x *MonitorResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -216,7 +322,7 @@ func (x *MonitorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MonitorResponse.ProtoReflect.Descriptor instead. func (*MonitorResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{2} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{3} } func (x *MonitorResponse) GetError() string { @@ -259,7 +365,7 @@ type MonitorPortSetting struct { func (x *MonitorPortSetting) Reset() { *x = MonitorPortSetting{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -272,7 +378,7 @@ func (x *MonitorPortSetting) String() string { func (*MonitorPortSetting) ProtoMessage() {} func (x *MonitorPortSetting) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -285,7 +391,7 @@ func (x *MonitorPortSetting) ProtoReflect() protoreflect.Message { // Deprecated: Use MonitorPortSetting.ProtoReflect.Descriptor instead. func (*MonitorPortSetting) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{3} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{4} } func (x *MonitorPortSetting) GetSettingId() string { @@ -320,7 +426,7 @@ type EnumerateMonitorPortSettingsRequest struct { func (x *EnumerateMonitorPortSettingsRequest) Reset() { *x = EnumerateMonitorPortSettingsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -333,7 +439,7 @@ func (x *EnumerateMonitorPortSettingsRequest) String() string { func (*EnumerateMonitorPortSettingsRequest) ProtoMessage() {} func (x *EnumerateMonitorPortSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -346,7 +452,7 @@ func (x *EnumerateMonitorPortSettingsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use EnumerateMonitorPortSettingsRequest.ProtoReflect.Descriptor instead. func (*EnumerateMonitorPortSettingsRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{4} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{5} } func (x *EnumerateMonitorPortSettingsRequest) GetInstance() *Instance { @@ -383,7 +489,7 @@ type EnumerateMonitorPortSettingsResponse struct { func (x *EnumerateMonitorPortSettingsResponse) Reset() { *x = EnumerateMonitorPortSettingsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -396,7 +502,7 @@ func (x *EnumerateMonitorPortSettingsResponse) String() string { func (*EnumerateMonitorPortSettingsResponse) ProtoMessage() {} func (x *EnumerateMonitorPortSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -409,7 +515,7 @@ func (x *EnumerateMonitorPortSettingsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use EnumerateMonitorPortSettingsResponse.ProtoReflect.Descriptor instead. func (*EnumerateMonitorPortSettingsResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{5} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{6} } func (x *EnumerateMonitorPortSettingsResponse) GetSettings() []*MonitorPortSettingDescriptor { @@ -439,7 +545,7 @@ type MonitorPortSettingDescriptor struct { func (x *MonitorPortSettingDescriptor) Reset() { *x = MonitorPortSettingDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -452,7 +558,7 @@ func (x *MonitorPortSettingDescriptor) String() string { func (*MonitorPortSettingDescriptor) ProtoMessage() {} func (x *MonitorPortSettingDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -465,7 +571,7 @@ func (x *MonitorPortSettingDescriptor) ProtoReflect() protoreflect.Message { // Deprecated: Use MonitorPortSettingDescriptor.ProtoReflect.Descriptor instead. func (*MonitorPortSettingDescriptor) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{6} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{7} } func (x *MonitorPortSettingDescriptor) GetSettingId() string { @@ -515,81 +621,97 @@ var file_cc_arduino_cli_commands_v1_monitor_proto_rawDesc = []byte{ 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9a, 0x02, 0x0a, 0x0e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x74, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x63, - 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x94, 0x02, 0x0a, 0x0e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x57, 0x0a, 0x0c, 0x6f, 0x70, 0x65, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x07, 0x74, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x74, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x6b, 0x0a, + 0x15, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x14, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x05, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x05, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x89, 0x02, + 0x0a, 0x16, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, - 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x18, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, - 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x4a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x71, 0x62, 0x6e, 0x12, 0x63, 0x0a, 0x12, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x18, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x72, + 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x78, + 0x44, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x49, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, + 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x23, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, + 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x7c, 0x0a, 0x24, 0x45, 0x6e, 0x75, 0x6d, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x54, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x0f, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x59, - 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, - 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, - 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0x49, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, - 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa0, - 0x01, 0x0a, 0x23, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, - 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, - 0x6e, 0x22, 0x7c, 0x0a, 0x24, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, - 0x9e, 0x01, 0x0a, 0x1c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, - 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x75, - 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, - 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, - 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, - 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x1c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -604,31 +726,34 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes = make([]protoimpl.MessageInfo, 8) var file_cc_arduino_cli_commands_v1_monitor_proto_goTypes = []interface{}{ (*MonitorRequest)(nil), // 0: cc.arduino.cli.commands.v1.MonitorRequest - (*MonitorPortConfiguration)(nil), // 1: cc.arduino.cli.commands.v1.MonitorPortConfiguration - (*MonitorResponse)(nil), // 2: cc.arduino.cli.commands.v1.MonitorResponse - (*MonitorPortSetting)(nil), // 3: cc.arduino.cli.commands.v1.MonitorPortSetting - (*EnumerateMonitorPortSettingsRequest)(nil), // 4: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*EnumerateMonitorPortSettingsResponse)(nil), // 5: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*MonitorPortSettingDescriptor)(nil), // 6: cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor - (*Instance)(nil), // 7: cc.arduino.cli.commands.v1.Instance - (*Port)(nil), // 8: cc.arduino.cli.commands.v1.Port + (*MonitorPortOpenRequest)(nil), // 1: cc.arduino.cli.commands.v1.MonitorPortOpenRequest + (*MonitorPortConfiguration)(nil), // 2: cc.arduino.cli.commands.v1.MonitorPortConfiguration + (*MonitorResponse)(nil), // 3: cc.arduino.cli.commands.v1.MonitorResponse + (*MonitorPortSetting)(nil), // 4: cc.arduino.cli.commands.v1.MonitorPortSetting + (*EnumerateMonitorPortSettingsRequest)(nil), // 5: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*EnumerateMonitorPortSettingsResponse)(nil), // 6: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*MonitorPortSettingDescriptor)(nil), // 7: cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor + (*Instance)(nil), // 8: cc.arduino.cli.commands.v1.Instance + (*Port)(nil), // 9: cc.arduino.cli.commands.v1.Port } var file_cc_arduino_cli_commands_v1_monitor_proto_depIdxs = []int32{ - 7, // 0: cc.arduino.cli.commands.v1.MonitorRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 8, // 1: cc.arduino.cli.commands.v1.MonitorRequest.port:type_name -> cc.arduino.cli.commands.v1.Port - 1, // 2: cc.arduino.cli.commands.v1.MonitorRequest.port_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration - 3, // 3: cc.arduino.cli.commands.v1.MonitorPortConfiguration.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting - 3, // 4: cc.arduino.cli.commands.v1.MonitorResponse.applied_settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting - 7, // 5: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 6, // 6: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor - 7, // [7:7] is the sub-list for method output_type - 7, // [7:7] is the sub-list for method input_type - 7, // [7:7] is the sub-list for extension type_name - 7, // [7:7] is the sub-list for extension extendee - 0, // [0:7] is the sub-list for field type_name + 1, // 0: cc.arduino.cli.commands.v1.MonitorRequest.open_request:type_name -> cc.arduino.cli.commands.v1.MonitorPortOpenRequest + 2, // 1: cc.arduino.cli.commands.v1.MonitorRequest.updated_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration + 8, // 2: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 9, // 3: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port:type_name -> cc.arduino.cli.commands.v1.Port + 2, // 4: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration + 4, // 5: cc.arduino.cli.commands.v1.MonitorPortConfiguration.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting + 4, // 6: cc.arduino.cli.commands.v1.MonitorResponse.applied_settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting + 8, // 7: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 7, // 8: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_monitor_proto_init() } @@ -652,7 +777,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MonitorPortConfiguration); i { + switch v := v.(*MonitorPortOpenRequest); i { case 0: return &v.state case 1: @@ -664,7 +789,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MonitorResponse); i { + switch v := v.(*MonitorPortConfiguration); i { case 0: return &v.state case 1: @@ -676,7 +801,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MonitorPortSetting); i { + switch v := v.(*MonitorResponse); i { case 0: return &v.state case 1: @@ -688,7 +813,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnumerateMonitorPortSettingsRequest); i { + switch v := v.(*MonitorPortSetting); i { case 0: return &v.state case 1: @@ -700,7 +825,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*EnumerateMonitorPortSettingsResponse); i { + switch v := v.(*EnumerateMonitorPortSettingsRequest); i { case 0: return &v.state case 1: @@ -712,6 +837,18 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*EnumerateMonitorPortSettingsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MonitorPortSettingDescriptor); i { case 0: return &v.state @@ -724,13 +861,19 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } } + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*MonitorRequest_OpenRequest)(nil), + (*MonitorRequest_TxData)(nil), + (*MonitorRequest_UpdatedConfiguration)(nil), + (*MonitorRequest_Close)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_monitor_proto_rawDesc, NumEnums: 0, - NumMessages: 7, + NumMessages: 8, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.proto b/rpc/cc/arduino/cli/commands/v1/monitor.proto index 68d52fa02ae..5c122789d9c 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.proto +++ b/rpc/cc/arduino/cli/commands/v1/monitor.proto @@ -23,6 +23,21 @@ import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/port.proto"; message MonitorRequest { + oneof message { + // Open request, it must be the first incoming message + MonitorPortOpenRequest open_request = 1; + // Data to send to the port + bytes tx_data = 2; + // Port configuration, contains settings of the port to be changed + MonitorPortConfiguration updated_configuration = 3; + // Close message, set to true to gracefully close a port (this ensure + // that the gRPC streaming call is closed by the daemon AFTER the port + // has been successfully closed) + bool close = 4; + } +} + +message MonitorPortOpenRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; // Port to open, must be filled only on the first request @@ -31,10 +46,8 @@ message MonitorRequest { // needed to disambiguate if more than one platform provides the pluggable // monitor for a given port protocol. string fqbn = 3; - // Data to send to the port - bytes tx_data = 4; // Port configuration, optional, contains settings of the port to be applied - MonitorPortConfiguration port_configuration = 5; + MonitorPortConfiguration port_configuration = 4; } message MonitorPortConfiguration { From cdbf2f5e088f3424f83d7c5f6daa534e2565e41d Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 3 Jan 2024 09:57:06 +0100 Subject: [PATCH 073/361] Fix install.sh for versions targs with v prefixed (#2485) --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 8be41ae6c9d..c8203049a85 100755 --- a/install.sh +++ b/install.sh @@ -117,7 +117,7 @@ downloadFile() { TAG=$1 fi # arduino-lint_0.4.0-rc1_Linux_64bit.[tar.gz, zip] - APPLICATION_DIST_PREFIX="${PROJECT_NAME}_${TAG}_" + APPLICATION_DIST_PREFIX="${PROJECT_NAME}_${TAG#"v"}_" if [ "$OS" = "Windows" ]; then APPLICATION_DIST_EXTENSION=".zip" else From 95753fccb927e9730fac57f1039d5bb0af911321 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Thu, 4 Jan 2024 15:45:18 +0100 Subject: [PATCH 074/361] Allow to specify the config file through `ARDUINO_CONFIG_FILE` env (#2488) --- docs/configuration.md | 1 + internal/cli/configuration/configuration.go | 9 +++-- .../cli/configuration/configuration_test.go | 16 ++++++-- internal/docsgen/main.go | 2 +- .../integrationtest/config/config_test.go | 39 +++++++++++++++++++ .../monitor/monitor_grpc_test.go | 4 +- main.go | 2 +- 7 files changed, 61 insertions(+), 12 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index cc8ec0e4d15..57bda320635 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -127,6 +127,7 @@ The configuration file must be named `arduino-cli`, with the appropriate file ex Configuration files in the following locations are recognized by Arduino CLI: 1. Location specified by the [`--config-file`][arduino cli command reference] command line flag +1. Location specified by the `ARDUINO_CONFIG_FILE` environment variable 1. Arduino CLI data directory (as configured by `directories.data`) If multiple configuration files are present, the one highest on the above list is used. Configuration files are not diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index 858390894bc..e251b80c514 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -133,9 +133,10 @@ func GetDefaultBuiltinLibrariesDir() string { return filepath.Join(getDefaultArduinoDataDir(), "libraries") } -// FindConfigFileInArgs returns the config file path using the -// argument '--config-file' (if specified) or looking in the current working dir -func FindConfigFileInArgs(args []string) string { +// FindConfigFileInArgsFallbackOnEnv returns the config file path using the +// argument '--config-file' (if specified), if empty looks for the ARDUINO_CONFIG_FILE env, +// or looking in the current working dir +func FindConfigFileInArgsFallbackOnEnv(args []string) string { // Look for '--config-file' argument for i, arg := range args { if arg == "--config-file" { @@ -144,5 +145,5 @@ func FindConfigFileInArgs(args []string) string { } } } - return "" + return os.Getenv("ARDUINO_CONFIG_FILE") } diff --git a/internal/cli/configuration/configuration_test.go b/internal/cli/configuration/configuration_test.go index ce879e0c8d3..8b0fd3938cc 100644 --- a/internal/cli/configuration/configuration_test.go +++ b/internal/cli/configuration/configuration_test.go @@ -60,15 +60,23 @@ func TestInit(t *testing.T) { } func TestFindConfigFile(t *testing.T) { - configFile := FindConfigFileInArgs([]string{"--config-file"}) + configFile := FindConfigFileInArgsFallbackOnEnv([]string{"--config-file"}) require.Equal(t, "", configFile) - configFile = FindConfigFileInArgs([]string{"--config-file", "some/path/to/config"}) + configFile = FindConfigFileInArgsFallbackOnEnv([]string{"--config-file", "some/path/to/config"}) require.Equal(t, "some/path/to/config", configFile) - configFile = FindConfigFileInArgs([]string{"--config-file", "some/path/to/config/arduino-cli.yaml"}) + configFile = FindConfigFileInArgsFallbackOnEnv([]string{"--config-file", "some/path/to/config/arduino-cli.yaml"}) require.Equal(t, "some/path/to/config/arduino-cli.yaml", configFile) - configFile = FindConfigFileInArgs([]string{}) + configFile = FindConfigFileInArgsFallbackOnEnv([]string{}) require.Equal(t, "", configFile) + + t.Setenv("ARDUINO_CONFIG_FILE", "some/path/to/config") + configFile = FindConfigFileInArgsFallbackOnEnv([]string{}) + require.Equal(t, "some/path/to/config", configFile) + + // when both env and flag are specified flag takes precedence + configFile = FindConfigFileInArgsFallbackOnEnv([]string{"--config-file", "flag/path"}) + require.Equal(t, "flag/path", configFile) } diff --git a/internal/docsgen/main.go b/internal/docsgen/main.go index 47a62f14a04..3448c9f5f62 100644 --- a/internal/docsgen/main.go +++ b/internal/docsgen/main.go @@ -31,7 +31,7 @@ func main() { os.MkdirAll(os.Args[1], 0755) // Create the output folder if it doesn't already exist - configuration.Settings = configuration.Init(configuration.FindConfigFileInArgs(os.Args)) + configuration.Settings = configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) cli := cli.NewCommand() cli.DisableAutoGenTag = true // Disable addition of auto-generated date stamp err := doc.GenMarkdownTree(cli, os.Args[1]) diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 4ccb5460acc..99544f5d0b3 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -16,9 +16,11 @@ package config_test import ( + "path/filepath" "testing" "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" "go.bug.st/testifyjson/requirejson" "gopkg.in/yaml.v3" @@ -815,3 +817,40 @@ func TestDelete(t *testing.T) { require.NotContains(t, configLines, "additional_urls") require.NotContains(t, configLines, "board_manager") } + +func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + createConfig := func(path *paths.Path, content string) { + f, err := path.Create() + require.NoError(t, err) + _, err = f.WriteString(content) + require.NoError(t, err) + } + tmp := t.TempDir() + cliConfig, envConfig := paths.New(filepath.Join(tmp, "cli.yaml")), paths.New(filepath.Join(tmp, "env.yaml")) + createConfig(cliConfig, `cli-test: "test"`) + createConfig(envConfig, `env-test: "test"`) + + // No flag nor env specified. + stdout, _, err := cli.Run("config", "dump", "--format", "json") + require.NoError(t, err) + requirejson.NotEmpty(t, stdout) + + // Flag specified + stdout, _, err = cli.Run("config", "dump", "--config-file", cliConfig.String(), "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, stdout, `{"config":{ "cli-test": "test" }}`) + + // Env specified + customEnv := map[string]string{"ARDUINO_CONFIG_FILE": envConfig.String()} + stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, stdout, `{"config":{ "env-test": "test" }}`) + + // Flag and env specified, flag takes precedence + stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--config-file", cliConfig.String(), "--format", "json") + require.NoError(t, err) + requirejson.Contains(t, stdout, `{"config":{ "cli-test": "test" }}`) +} diff --git a/internal/integrationtest/monitor/monitor_grpc_test.go b/internal/integrationtest/monitor/monitor_grpc_test.go index c96dc36d304..046774d3e82 100644 --- a/internal/integrationtest/monitor/monitor_grpc_test.go +++ b/internal/integrationtest/monitor/monitor_grpc_test.go @@ -58,7 +58,7 @@ func TestMonitorGRPCClose(t *testing.T) { tmpFileMatcher := regexp.MustCompile("Tmpfile: (.*)\n") { ctx, cancel := context.WithTimeout(context.Background(), time.Second*3) - mon, err := grpcInst.Monitor(ctx, ports[0].Port) + mon, err := grpcInst.Monitor(ctx, ports[0].GetPort()) var tmpFile *paths.Path for { monResp, err := mon.Recv() @@ -85,7 +85,7 @@ func TestMonitorGRPCClose(t *testing.T) { { // Keep a timeout to allow the test to exit in any case ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) - mon, err := grpcInst.Monitor(ctx, ports[0].Port) + mon, err := grpcInst.Monitor(ctx, ports[0].GetPort()) var tmpFile *paths.Path for { monResp, err := mon.Recv() diff --git a/main.go b/main.go index 751e81a32cc..db1baad2bee 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) func main() { - configuration.Settings = configuration.Init(configuration.FindConfigFileInArgs(os.Args)) + configuration.Settings = configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) i18n.Init(configuration.Settings.GetString("locale")) arduinoCmd := cli.NewCommand() if err := arduinoCmd.Execute(); err != nil { From ea8c281fd8ca0434129252ef50b803aa18cd00df Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 8 Jan 2024 19:32:46 +0100 Subject: [PATCH 075/361] [breaking] Improved .pde warnings detection subroutines / gRPC LoadSketch API improvement (#2490) * sketch.GetProfile returns an error if profile is not found * Added Profile.ToRpc helper * Added Sketch.ToRpc helper * Factored Sketch message in gRPC API for 'LoadSketch' call * Inline function call * Improved implementation of sketch.GetSketchProfiles * Moved subroutine that warns about .pde files in feedback package * Updated docs * Improved 'sketch archive' parameters check * Fixed bug detected by integration test... oops --- commands/daemon/daemon.go | 2 +- commands/instances.go | 7 +- commands/sketch/load.go | 51 +- docs/UPGRADING.md | 40 + internal/arduino/sketch/profiles.go | 9 + internal/arduino/sketch/sketch.go | 49 +- internal/arduino/sketch/sketch_test.go | 35 - internal/cli/arguments/sketch.go | 22 +- internal/cli/board/attach.go | 2 +- internal/cli/compile/compile.go | 4 +- internal/cli/debug/debug.go | 4 +- .../cli/feedback}/warn_deprecated.go | 26 +- internal/cli/monitor/monitor.go | 2 +- internal/cli/sketch/archive.go | 32 +- internal/cli/upload/upload.go | 14 +- .../integrationtest/sketch/sketch_test.go | 6 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 1261 +++++++---------- rpc/cc/arduino/cli/commands/v1/commands.proto | 30 +- rpc/cc/arduino/cli/commands/v1/common.pb.go | 280 +++- rpc/cc/arduino/cli/commands/v1/common.proto | 31 + rpc/internal/client_example/main.go | 3 +- 21 files changed, 980 insertions(+), 930 deletions(-) rename {commands/sketch => internal/cli/feedback}/warn_deprecated.go (61%) diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index f9f6215973c..07b4775bc04 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -170,7 +170,7 @@ func (s *ArduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketc // LoadSketch FIXMEDOC func (s *ArduinoCoreServerImpl) LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { resp, err := sketch.LoadSketch(ctx, req) - return resp, convertErrorToRPCStatus(err) + return &rpc.LoadSketchResponse{Sketch: resp}, convertErrorToRPCStatus(err) } // SetSketchDefaults FIXMEDOC diff --git a/commands/instances.go b/commands/instances.go index e6d9a2ebd68..c8bdfcf208c 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -142,10 +142,11 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if err != nil { return &cmderrors.InvalidArgumentError{Cause: err} } - profile = sk.GetProfile(req.GetProfile()) - if profile == nil { - return &cmderrors.UnknownProfileError{Profile: req.GetProfile()} + p, err := sk.GetProfile(req.GetProfile()) + if err != nil { + return err } + profile = p responseCallback(&rpc.InitResponse{ Message: &rpc.InitResponse_Profile{ Profile: &rpc.Profile{ diff --git a/commands/sketch/load.go b/commands/sketch/load.go index d32fc505969..5dadb0113c4 100644 --- a/commands/sketch/load.go +++ b/commands/sketch/load.go @@ -24,56 +24,11 @@ import ( paths "github.com/arduino/go-paths-helper" ) -// LoadSketch collects and returns all files composing a sketch -func LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { - // TODO: This should be a ToRpc function for the Sketch struct +// LoadSketch collects and returns all information about a sketch +func LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.Sketch, error) { sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { return nil, &cmderrors.CantOpenSketchError{Cause: err} } - - otherSketchFiles := make([]string, sk.OtherSketchFiles.Len()) - for i, file := range sk.OtherSketchFiles { - otherSketchFiles[i] = file.String() - } - - additionalFiles := make([]string, sk.AdditionalFiles.Len()) - for i, file := range sk.AdditionalFiles { - additionalFiles[i] = file.String() - } - - rootFolderFiles := make([]string, sk.RootFolderFiles.Len()) - for i, file := range sk.RootFolderFiles { - rootFolderFiles[i] = file.String() - } - - defaultPort, defaultProtocol := sk.GetDefaultPortAddressAndProtocol() - - profiles := make([](*rpc.SketchProfile), len(sk.Project.Profiles)) - for i, profile := range sk.Project.Profiles { - profiles[i] = &rpc.SketchProfile{ - Name: profile.Name, - Fqbn: profile.FQBN, - } - } - - defaultProfileResp := &rpc.SketchProfile{} - defaultProfile := sk.GetProfile(sk.Project.DefaultProfile) - if defaultProfile != nil { - defaultProfileResp.Name = defaultProfile.Name - defaultProfileResp.Fqbn = defaultProfile.FQBN - } - - return &rpc.LoadSketchResponse{ - MainFile: sk.MainFile.String(), - LocationPath: sk.FullPath.String(), - OtherSketchFiles: otherSketchFiles, - AdditionalFiles: additionalFiles, - RootFolderFiles: rootFolderFiles, - DefaultFqbn: sk.GetDefaultFQBN(), - DefaultPort: defaultPort, - DefaultProtocol: defaultProtocol, - Profiles: profiles, - DefaultProfile: defaultProfileResp, - }, nil + return sk.ToRpc(), nil } diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 24923d924e2..31b7807362a 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,46 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### The gRPC `cc.arduino.cli.commands.v1.LoadSketchResponse` message has been changed. + +Previously the `LoadSketchResponse` containted all the information about the sketch: + +```proto +message LoadSketchResponse { + string main_file = 1; + string location_path = 2; + repeated string other_sketch_files = 3; + repeated string additional_files = 4; + repeated string root_folder_files = 5; + string default_fqbn = 6; + string default_port = 7; + string default_protocol = 8; + repeated SketchProfile profiles = 9; + SketchProfile default_profile = 10; +} +``` + +Now all the metadata have been moved into a specific `Sketch` message: + +```proto +message LoadSketchResponse { + Sketch sketch = 1; +} + +message Sketch { + string main_file = 1; + string location_path = 2; + repeated string other_sketch_files = 3; + repeated string additional_files = 4; + repeated string root_folder_files = 5; + string default_fqbn = 6; + string default_port = 7; + string default_protocol = 8; + repeated SketchProfile profiles = 9; + SketchProfile default_profile = 10; +} +``` + ### Drop support for `builtin.tools` We're dropping the `builtin.tools` support. It was the equivalent of Arduino IDE 1.x bundled tools directory. diff --git a/internal/arduino/sketch/profiles.go b/internal/arduino/sketch/profiles.go index f7065717f71..7ea5a7589b0 100644 --- a/internal/arduino/sketch/profiles.go +++ b/internal/arduino/sketch/profiles.go @@ -24,6 +24,7 @@ import ( "strings" "github.com/arduino/arduino-cli/internal/arduino/utils" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" semver "go.bug.st/relaxed-semver" "gopkg.in/yaml.v3" @@ -99,6 +100,14 @@ type Profile struct { Libraries ProfileRequiredLibraries `yaml:"libraries"` } +// ToRpc converts this Profile to an rpc.SketchProfile +func (p *Profile) ToRpc() *rpc.SketchProfile { + return &rpc.SketchProfile{ + Name: p.Name, + Fqbn: p.FQBN, + } +} + // AsYaml outputs the profile as Yaml func (p *Profile) AsYaml() string { res := "" diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index f0f51680f72..ff827898c87 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -23,8 +23,11 @@ import ( "sort" "strings" + "github.com/arduino/arduino-cli/commands/cmderrors" + f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" ) @@ -180,15 +183,14 @@ func (s *Sketch) supportedFiles() (*paths.PathList, error) { return &files, nil } -// GetProfile returns the requested profile or nil if the profile -// is not found. -func (s *Sketch) GetProfile(profileName string) *Profile { +// GetProfile returns the requested profile or an error if not found +func (s *Sketch) GetProfile(profileName string) (*Profile, error) { for _, p := range s.Project.Profiles { if p.Name == profileName { - return p + return p, nil } } - return nil + return nil, &cmderrors.UnknownProfileError{Profile: profileName} } // checkSketchCasing returns an error if the casing of the sketch folder and the main file are different. @@ -278,23 +280,6 @@ func (e *InvalidSketchFolderNameError) Error() string { return tr("no valid sketch found in %[1]s: missing %[2]s", e.SketchFolder, e.SketchFile) } -// CheckForPdeFiles returns all files ending with .pde extension -// in sketch, this is mainly used to warn the user that these files -// must be changed to .ino extension. -// When .pde files won't be supported anymore this function must be removed. -func CheckForPdeFiles(sketch *paths.Path) []*paths.Path { - if sketch.IsNotDir() { - sketch = sketch.Parent() - } - - files, err := sketch.ReadDirRecursive() - if err != nil { - return []*paths.Path{} - } - files.FilterSuffix(".pde") - return files -} - // DefaultBuildPath generates the default build directory for a given sketch. // The build path is in a temporary directory and is unique for each sketch. func (s *Sketch) DefaultBuildPath() *paths.Path { @@ -307,3 +292,23 @@ func (s *Sketch) Hash() string { md5SumBytes := md5.Sum([]byte(path)) return strings.ToUpper(hex.EncodeToString(md5SumBytes[:])) } + +// ToRpc converts this Sketch into a rpc.LoadSketchResponse +func (s *Sketch) ToRpc() *rpc.Sketch { + defaultPort, defaultProtocol := s.GetDefaultPortAddressAndProtocol() + res := &rpc.Sketch{ + MainFile: s.MainFile.String(), + LocationPath: s.FullPath.String(), + OtherSketchFiles: s.OtherSketchFiles.AsStrings(), + AdditionalFiles: s.AdditionalFiles.AsStrings(), + RootFolderFiles: s.RootFolderFiles.AsStrings(), + DefaultFqbn: s.GetDefaultFQBN(), + DefaultPort: defaultPort, + DefaultProtocol: defaultProtocol, + Profiles: f.Map(s.Project.Profiles, (*Profile).ToRpc), + } + if defaultProfile, err := s.GetProfile(s.Project.DefaultProfile); err == nil { + res.DefaultProfile = defaultProfile.ToRpc() + } + return res +} diff --git a/internal/arduino/sketch/sketch_test.go b/internal/arduino/sketch/sketch_test.go index f6de4a11261..d6f42f9b805 100644 --- a/internal/arduino/sketch/sketch_test.go +++ b/internal/arduino/sketch/sketch_test.go @@ -291,41 +291,6 @@ func TestGenBuildPath(t *testing.T) { assert.Equal(t, "ACBD18DB4CC2F85CEDEF654FCCC4A4D8", (&Sketch{FullPath: paths.New("foo")}).Hash()) } -func TestCheckForPdeFiles(t *testing.T) { - sketchPath := paths.New("testdata", "SketchSimple") - files := CheckForPdeFiles(sketchPath) - require.Empty(t, files) - - sketchPath = paths.New("testdata", "SketchPde") - files = CheckForPdeFiles(sketchPath) - require.Len(t, files, 1) - require.Equal(t, sketchPath.Join("SketchPde.pde"), files[0]) - - sketchPath = paths.New("testdata", "SketchMultipleMainFiles") - files = CheckForPdeFiles(sketchPath) - require.Len(t, files, 1) - require.Equal(t, sketchPath.Join("SketchMultipleMainFiles.pde"), files[0]) - - sketchPath = paths.New("testdata", "SketchSimple", "SketchSimple.ino") - files = CheckForPdeFiles(sketchPath) - require.Empty(t, files) - - sketchPath = paths.New("testdata", "SketchPde", "SketchPde.pde") - files = CheckForPdeFiles(sketchPath) - require.Len(t, files, 1) - require.Equal(t, sketchPath.Parent().Join("SketchPde.pde"), files[0]) - - sketchPath = paths.New("testdata", "SketchMultipleMainFiles", "SketchMultipleMainFiles.ino") - files = CheckForPdeFiles(sketchPath) - require.Len(t, files, 1) - require.Equal(t, sketchPath.Parent().Join("SketchMultipleMainFiles.pde"), files[0]) - - sketchPath = paths.New("testdata", "SketchMultipleMainFiles", "SketchMultipleMainFiles.pde") - files = CheckForPdeFiles(sketchPath) - require.Len(t, files, 1) - require.Equal(t, sketchPath.Parent().Join("SketchMultipleMainFiles.pde"), files[0]) -} - func TestNewSketchWithSymlink(t *testing.T) { sketchPath, _ := paths.New("testdata", "SketchWithSymlink").Abs() mainFilePath := sketchPath.Join("SketchWithSymlink.ino") diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 32eb0cae478..3b6d9d2c26d 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -19,6 +19,7 @@ import ( "context" "github.com/arduino/arduino-cli/commands/sketch" + f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -27,8 +28,7 @@ import ( // InitSketchPath returns an instance of paths.Path pointing to sketchPath. // If sketchPath is an empty string returns the current working directory. -// In both cases it warns the user if he's using deprecated files -func InitSketchPath(path string, printWarnings bool) (sketchPath *paths.Path) { +func InitSketchPath(path string) (sketchPath *paths.Path) { if path != "" { sketchPath = paths.New(path) } else { @@ -39,11 +39,6 @@ func InitSketchPath(path string, printWarnings bool) (sketchPath *paths.Path) { logrus.Infof("Reading sketch from dir: %s", wd) sketchPath = wd } - if printWarnings { - if msg := sketch.WarnDeprecatedFiles(sketchPath); msg != "" { - feedback.Warning(msg) - } - } return sketchPath } @@ -57,13 +52,10 @@ func GetSketchProfiles(sketchPath string) []string { return nil } } - list, _ := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{ - SketchPath: sketchPath, - }) - profiles := list.GetProfiles() - res := make([]string, len(profiles)) - for i, p := range list.GetProfiles() { - res[i] = p.GetName() + sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath}) + if err != nil { + return nil } - return res + profiles := sk.GetProfiles() + return f.Map(profiles, (*rpc.SketchProfile).GetName) } diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index ed252b019ac..f6536991ab7 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -53,7 +53,7 @@ func initAttachCommand() *cobra.Command { } func runAttachCommand(path string, port *arguments.Port, fqbn string) { - sketchPath := arguments.InitSketchPath(path, true) + sketchPath := arguments.InitSketchPath(path) portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, "", "") newDefaults, err := sketch.SetSketchDefaults(context.Background(), &rpc.SetSketchDefaultsRequest{ diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 154777f3c1d..2f169f968c2 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -158,12 +158,12 @@ func runCompileCommand(cmd *cobra.Command, args []string) { path = args[0] } - sketchPath := arguments.InitSketchPath(path, true) - + sketchPath := arguments.InitSketchPath(path) sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } + feedback.WarnAboutDeprecatedFiles(sk) var inst *rpc.Instance var profile *rpc.Profile diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 390d1b1321c..04cef9da49b 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -81,11 +81,13 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments path = args[0] } - sketchPath := arguments.InitSketchPath(path, true) + sketchPath := arguments.InitSketchPath(path) sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } + feedback.WarnAboutDeprecatedFiles(sk) + fqbn, port := arguments.CalculateFQBNAndPort(portArgs, fqbnArg, instance, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) debugConfigRequested := &rpc.GetDebugConfigRequest{ Instance: instance, diff --git a/commands/sketch/warn_deprecated.go b/internal/cli/feedback/warn_deprecated.go similarity index 61% rename from commands/sketch/warn_deprecated.go rename to internal/cli/feedback/warn_deprecated.go index 0072804c94a..af2af4a6a86 100644 --- a/commands/sketch/warn_deprecated.go +++ b/internal/cli/feedback/warn_deprecated.go @@ -13,24 +13,32 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package sketch +package feedback import ( "fmt" + "strings" - "github.com/arduino/arduino-cli/internal/arduino/sketch" - paths "github.com/arduino/go-paths-helper" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// WarnDeprecatedFiles warns the user that a type of sketch files are deprecated -func WarnDeprecatedFiles(sketchPath *paths.Path) string { - // .pde files are still supported but deprecated, this warning urges the user to rename them - if files := sketch.CheckForPdeFiles(sketchPath); len(files) > 0 { +// WarnAboutDeprecatedFiles warns the user that a type of sketch files are deprecated +func WarnAboutDeprecatedFiles(s *rpc.Sketch) { + var files []string + for _, f := range s.OtherSketchFiles { + if strings.HasSuffix(f, ".pde") { + files = append(files, f) + } + } + if strings.HasSuffix(s.MainFile, ".pde") { + files = append(files, s.MainFile) + } + if len(files) > 0 { + // .pde files are still supported but deprecated, this warning urges the user to rename them msg := tr("Sketches with .pde extension are deprecated, please rename the following files to .ino:") for _, f := range files { msg += fmt.Sprintf("\n - %s", f) } - return msg + Warning(msg) } - return "" } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 25e8b757483..67619e4686e 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -103,7 +103,7 @@ func runMonitorCmd( // If both {--port --profile} are set we read the fqbn in the following order: profile -> default_fqbn -> discovery // If only --port is set we read the fqbn in the following order: default_fqbn -> discovery // If only --fqbn is set we read the port in the following order: default_port - sketchPath := arguments.InitSketchPath(sketchPathArg, false) + sketchPath := arguments.InitSketchPath(sketchPathArg) sketch, err := sk.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil && !portArgs.IsPortFlagSet() { feedback.Fatal( diff --git a/internal/cli/sketch/archive.go b/internal/cli/sketch/archive.go index e21221aa3e7..fc0875be9fb 100644 --- a/internal/cli/sketch/archive.go +++ b/internal/cli/sketch/archive.go @@ -20,10 +20,10 @@ import ( "fmt" "os" - sk "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -55,29 +55,31 @@ func initArchiveCommand() *cobra.Command { func runArchiveCommand(args []string, includeBuildDir bool, overwrite bool) { logrus.Info("Executing `arduino-cli sketch archive`") - sketchPath := paths.New(".") - if len(args) >= 1 { - sketchPath = paths.New(args[0]) + sketchPathArg := "" + if len(args) > 0 { + sketchPathArg = args[0] } - if msg := sk.WarnDeprecatedFiles(sketchPath); msg != "" { - feedback.Warning(msg) + archivePathArg := "" + if len(args) > 1 { + archivePathArg = args[1] } - archivePath := "" - if len(args) == 2 { - archivePath = args[1] + sketchPath := arguments.InitSketchPath(sketchPathArg) + sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + if err != nil { + feedback.FatalError(err, feedback.ErrGeneric) } + feedback.WarnAboutDeprecatedFiles(sk) - _, err := sk.ArchiveSketch(context.Background(), + if _, err := sketch.ArchiveSketch(context.Background(), &rpc.ArchiveSketchRequest{ SketchPath: sketchPath.String(), - ArchivePath: archivePath, + ArchivePath: archivePathArg, IncludeBuildDir: includeBuildDir, Overwrite: overwrite, - }) - - if err != nil { + }, + ); err != nil { feedback.Fatal(tr("Error archiving: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 7052b91d34a..35ee1782b6b 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -90,15 +90,13 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { if len(args) > 0 { path = args[0] } - sketchPath := arguments.InitSketchPath(path, true) - - if msg := sk.WarnDeprecatedFiles(sketchPath); importDir == "" && importFile == "" && msg != "" { - feedback.Warning(msg) - } - + sketchPath := arguments.InitSketchPath(path) sketch, err := sk.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) - if err != nil && importDir == "" && importFile == "" { - feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) + if importDir == "" && importFile == "" { + if err != nil { + feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) + } + feedback.WarnAboutDeprecatedFiles(sketch) } var inst *rpc.Instance diff --git a/internal/integrationtest/sketch/sketch_test.go b/internal/integrationtest/sketch/sketch_test.go index aaf599dc305..d454a0221fd 100644 --- a/internal/integrationtest/sketch/sketch_test.go +++ b/internal/integrationtest/sketch/sketch_test.go @@ -350,9 +350,9 @@ func TestSketchArchiveWithMultipleMainFiles(t *testing.T) { cli.SetWorkingDir(sketchDir) _, stderr, err := cli.Run("sketch", "archive") require.Error(t, err) - require.Contains(t, string(stderr), "Sketches with .pde extension are deprecated, please rename the following files to .ino") + require.NotContains(t, string(stderr), "Sketches with .pde extension are deprecated, please rename the following files to .ino") require.Contains(t, string(stderr), relPath.String()) - require.Contains(t, string(stderr), "Error archiving: Can't open sketch: multiple main sketch files found") + require.Contains(t, string(stderr), "Can't open sketch: multiple main sketch files found") } func TestSketchArchiveCaseMismatchFails(t *testing.T) { @@ -370,7 +370,7 @@ func TestSketchArchiveCaseMismatchFails(t *testing.T) { _, stderr, err := cli.Run("sketch", "archive", sketchPath.String()) require.Error(t, err) - require.Contains(t, string(stderr), "Error archiving: Can't open sketch:") + require.Contains(t, string(stderr), "Can't open sketch:") } func TestSketchNewDotArgOverwrite(t *testing.T) { diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 38440e2875d..fb1ebe7ea53 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -942,95 +942,19 @@ func (x *LoadSketchRequest) GetSketchPath() string { return "" } -type SketchProfile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Name of the profile - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // FQBN used by the profile - Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` -} - -func (x *SketchProfile) Reset() { - *x = SketchProfile{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SketchProfile) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SketchProfile) ProtoMessage() {} - -func (x *SketchProfile) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SketchProfile.ProtoReflect.Descriptor instead. -func (*SketchProfile) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{16} -} - -func (x *SketchProfile) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *SketchProfile) GetFqbn() string { - if x != nil { - return x.Fqbn - } - return "" -} - type LoadSketchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Absolute path to a main sketch files - MainFile string `protobuf:"bytes,1,opt,name=main_file,json=mainFile,proto3" json:"main_file,omitempty"` - // Absolute path to folder that contains main_file - LocationPath string `protobuf:"bytes,2,opt,name=location_path,json=locationPath,proto3" json:"location_path,omitempty"` - // List of absolute paths to other sketch files - OtherSketchFiles []string `protobuf:"bytes,3,rep,name=other_sketch_files,json=otherSketchFiles,proto3" json:"other_sketch_files,omitempty"` - // List of absolute paths to additional sketch files - AdditionalFiles []string `protobuf:"bytes,4,rep,name=additional_files,json=additionalFiles,proto3" json:"additional_files,omitempty"` - // List of absolute paths to supported files in the sketch root folder, main - // file excluded - RootFolderFiles []string `protobuf:"bytes,5,rep,name=root_folder_files,json=rootFolderFiles,proto3" json:"root_folder_files,omitempty"` - // Default FQBN set in project file (sketch.yaml) - DefaultFqbn string `protobuf:"bytes,6,opt,name=default_fqbn,json=defaultFqbn,proto3" json:"default_fqbn,omitempty"` - // Default Port set in project file (sketch.yaml) - DefaultPort string `protobuf:"bytes,7,opt,name=default_port,json=defaultPort,proto3" json:"default_port,omitempty"` - // Default Protocol set in project file (sketch.yaml) - DefaultProtocol string `protobuf:"bytes,8,opt,name=default_protocol,json=defaultProtocol,proto3" json:"default_protocol,omitempty"` - // List of profiles present in the project file (sketch.yaml) - Profiles []*SketchProfile `protobuf:"bytes,9,rep,name=profiles,proto3" json:"profiles,omitempty"` - // Default profile set in the project file (sketch.yaml) - DefaultProfile *SketchProfile `protobuf:"bytes,10,opt,name=default_profile,json=defaultProfile,proto3" json:"default_profile,omitempty"` + // The loaded sketch + Sketch *Sketch `protobuf:"bytes,1,opt,name=sketch,proto3" json:"sketch,omitempty"` } func (x *LoadSketchResponse) Reset() { *x = LoadSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1043,7 +967,7 @@ func (x *LoadSketchResponse) String() string { func (*LoadSketchResponse) ProtoMessage() {} func (x *LoadSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1056,75 +980,12 @@ func (x *LoadSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSketchResponse.ProtoReflect.Descriptor instead. func (*LoadSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{17} -} - -func (x *LoadSketchResponse) GetMainFile() string { - if x != nil { - return x.MainFile - } - return "" -} - -func (x *LoadSketchResponse) GetLocationPath() string { - if x != nil { - return x.LocationPath - } - return "" -} - -func (x *LoadSketchResponse) GetOtherSketchFiles() []string { - if x != nil { - return x.OtherSketchFiles - } - return nil -} - -func (x *LoadSketchResponse) GetAdditionalFiles() []string { - if x != nil { - return x.AdditionalFiles - } - return nil -} - -func (x *LoadSketchResponse) GetRootFolderFiles() []string { - if x != nil { - return x.RootFolderFiles - } - return nil -} - -func (x *LoadSketchResponse) GetDefaultFqbn() string { - if x != nil { - return x.DefaultFqbn - } - return "" -} - -func (x *LoadSketchResponse) GetDefaultPort() string { - if x != nil { - return x.DefaultPort - } - return "" -} - -func (x *LoadSketchResponse) GetDefaultProtocol() string { - if x != nil { - return x.DefaultProtocol - } - return "" -} - -func (x *LoadSketchResponse) GetProfiles() []*SketchProfile { - if x != nil { - return x.Profiles - } - return nil + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{16} } -func (x *LoadSketchResponse) GetDefaultProfile() *SketchProfile { +func (x *LoadSketchResponse) GetSketch() *Sketch { if x != nil { - return x.DefaultProfile + return x.Sketch } return nil } @@ -1148,7 +1009,7 @@ type ArchiveSketchRequest struct { func (x *ArchiveSketchRequest) Reset() { *x = ArchiveSketchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1161,7 +1022,7 @@ func (x *ArchiveSketchRequest) String() string { func (*ArchiveSketchRequest) ProtoMessage() {} func (x *ArchiveSketchRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1174,7 +1035,7 @@ func (x *ArchiveSketchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveSketchRequest.ProtoReflect.Descriptor instead. func (*ArchiveSketchRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{18} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{17} } func (x *ArchiveSketchRequest) GetSketchPath() string { @@ -1214,7 +1075,7 @@ type ArchiveSketchResponse struct { func (x *ArchiveSketchResponse) Reset() { *x = ArchiveSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1227,7 +1088,7 @@ func (x *ArchiveSketchResponse) String() string { func (*ArchiveSketchResponse) ProtoMessage() {} func (x *ArchiveSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1240,7 +1101,7 @@ func (x *ArchiveSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveSketchResponse.ProtoReflect.Descriptor instead. func (*ArchiveSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{19} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{18} } type SetSketchDefaultsRequest struct { @@ -1261,7 +1122,7 @@ type SetSketchDefaultsRequest struct { func (x *SetSketchDefaultsRequest) Reset() { *x = SetSketchDefaultsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1274,7 +1135,7 @@ func (x *SetSketchDefaultsRequest) String() string { func (*SetSketchDefaultsRequest) ProtoMessage() {} func (x *SetSketchDefaultsRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1287,7 +1148,7 @@ func (x *SetSketchDefaultsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetSketchDefaultsRequest.ProtoReflect.Descriptor instead. func (*SetSketchDefaultsRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{20} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{19} } func (x *SetSketchDefaultsRequest) GetSketchPath() string { @@ -1337,7 +1198,7 @@ type SetSketchDefaultsResponse struct { func (x *SetSketchDefaultsResponse) Reset() { *x = SetSketchDefaultsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1350,7 +1211,7 @@ func (x *SetSketchDefaultsResponse) String() string { func (*SetSketchDefaultsResponse) ProtoMessage() {} func (x *SetSketchDefaultsResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1363,7 +1224,7 @@ func (x *SetSketchDefaultsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetSketchDefaultsResponse.ProtoReflect.Descriptor instead. func (*SetSketchDefaultsResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{21} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{20} } func (x *SetSketchDefaultsResponse) GetDefaultFqbn() string { @@ -1401,7 +1262,7 @@ type InitResponse_Progress struct { func (x *InitResponse_Progress) Reset() { *x = InitResponse_Progress{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1414,7 +1275,7 @@ func (x *InitResponse_Progress) String() string { func (*InitResponse_Progress) ProtoMessage() {} func (x *InitResponse_Progress) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1580,460 +1441,431 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x4a, 0x04, - 0x08, 0x01, 0x10, 0x02, 0x22, 0x37, 0x0a, 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, - 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0xe7, 0x03, - 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, - 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, - 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, - 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, - 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x21, - 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, - 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x45, 0x0a, 0x08, - 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x14, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x72, - 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x17, - 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, - 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xa4, - 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, - 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, - 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, - 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, - 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, - 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x52, 0x4c, - 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, - 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x08, 0x01, 0x10, 0x02, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x06, + 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x22, 0xa4, 0x01, 0x0a, 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, + 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x72, 0x12, + 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x17, 0x0a, + 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xa4, 0x01, + 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, + 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x31, + 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, + 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x52, 0x4c, 0x10, + 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, + 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, + 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, - 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, 0x2d, 0x0a, 0x12, - 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, - 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, - 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, + 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, 0x2d, 0x0a, 0x12, 0x41, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x8d, - 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, - 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, - 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2d, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x2a, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x8d, 0x01, + 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, + 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, + 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, + 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, + 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x34, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x0c, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, + 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x0c, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, + 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, + 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, + 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, - 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, - 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, + 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, - 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, + 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, - 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, 0x0a, - 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, - 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, - 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, + 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, + 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, + 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, + 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, + 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, - 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, - 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x49, - 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, - 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, + 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, + 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, - 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x49, 0x73, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x33, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, + 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, + 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, + 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2049,7 +1881,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 22) var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (FailedInstanceInitReason)(0), // 0: cc.arduino.cli.commands.v1.FailedInstanceInitReason (*CreateRequest)(nil), // 1: cc.arduino.cli.commands.v1.CreateRequest @@ -2068,17 +1900,17 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*NewSketchRequest)(nil), // 14: cc.arduino.cli.commands.v1.NewSketchRequest (*NewSketchResponse)(nil), // 15: cc.arduino.cli.commands.v1.NewSketchResponse (*LoadSketchRequest)(nil), // 16: cc.arduino.cli.commands.v1.LoadSketchRequest - (*SketchProfile)(nil), // 17: cc.arduino.cli.commands.v1.SketchProfile - (*LoadSketchResponse)(nil), // 18: cc.arduino.cli.commands.v1.LoadSketchResponse - (*ArchiveSketchRequest)(nil), // 19: cc.arduino.cli.commands.v1.ArchiveSketchRequest - (*ArchiveSketchResponse)(nil), // 20: cc.arduino.cli.commands.v1.ArchiveSketchResponse - (*SetSketchDefaultsRequest)(nil), // 21: cc.arduino.cli.commands.v1.SetSketchDefaultsRequest - (*SetSketchDefaultsResponse)(nil), // 22: cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - (*InitResponse_Progress)(nil), // 23: cc.arduino.cli.commands.v1.InitResponse.Progress - (*Instance)(nil), // 24: cc.arduino.cli.commands.v1.Instance - (*status.Status)(nil), // 25: google.rpc.Status - (*Profile)(nil), // 26: cc.arduino.cli.commands.v1.Profile - (*DownloadProgress)(nil), // 27: cc.arduino.cli.commands.v1.DownloadProgress + (*LoadSketchResponse)(nil), // 17: cc.arduino.cli.commands.v1.LoadSketchResponse + (*ArchiveSketchRequest)(nil), // 18: cc.arduino.cli.commands.v1.ArchiveSketchRequest + (*ArchiveSketchResponse)(nil), // 19: cc.arduino.cli.commands.v1.ArchiveSketchResponse + (*SetSketchDefaultsRequest)(nil), // 20: cc.arduino.cli.commands.v1.SetSketchDefaultsRequest + (*SetSketchDefaultsResponse)(nil), // 21: cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + (*InitResponse_Progress)(nil), // 22: cc.arduino.cli.commands.v1.InitResponse.Progress + (*Instance)(nil), // 23: cc.arduino.cli.commands.v1.Instance + (*status.Status)(nil), // 24: google.rpc.Status + (*Profile)(nil), // 25: cc.arduino.cli.commands.v1.Profile + (*DownloadProgress)(nil), // 26: cc.arduino.cli.commands.v1.DownloadProgress + (*Sketch)(nil), // 27: cc.arduino.cli.commands.v1.Sketch (*TaskProgress)(nil), // 28: cc.arduino.cli.commands.v1.TaskProgress (*BoardDetailsRequest)(nil), // 29: cc.arduino.cli.commands.v1.BoardDetailsRequest (*BoardListRequest)(nil), // 30: cc.arduino.cli.commands.v1.BoardListRequest @@ -2156,120 +1988,119 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*SettingsDeleteResponse)(nil), // 102: cc.arduino.cli.commands.v1.SettingsDeleteResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ - 24, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 24, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 23, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress - 25, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status - 26, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.Profile + 23, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 23, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 22, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress + 24, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status + 25, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.Profile 0, // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError.reason:type_name -> cc.arduino.cli.commands.v1.FailedInstanceInitReason - 24, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 24, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 27, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 24, // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 27, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 17, // 11: cc.arduino.cli.commands.v1.LoadSketchResponse.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile - 17, // 12: cc.arduino.cli.commands.v1.LoadSketchResponse.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile - 27, // 13: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 28, // 14: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 1, // 15: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest - 3, // 16: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest - 6, // 17: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest - 8, // 18: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest - 10, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest - 12, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest - 14, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest - 16, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest - 19, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest - 21, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest - 29, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest - 30, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest - 31, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest - 32, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest - 33, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest - 34, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest - 35, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest - 36, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest - 37, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest - 38, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest - 39, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest - 40, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - 41, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - 42, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - 43, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest - 44, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 45, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 46, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 47, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 48, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 49, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 50, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 51, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 52, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 53, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 54, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest - 59, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 60, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest - 61, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest - 62, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest - 63, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest - 64, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest - 65, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest - 2, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 4, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 7, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 9, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 11, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 13, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 15, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 18, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 20, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 22, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 66, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 67, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 68, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 69, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse - 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse - 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse - 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse - 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse - 101, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse - 102, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse - 62, // [62:109] is the sub-list for method output_type - 15, // [15:62] is the sub-list for method input_type - 15, // [15:15] is the sub-list for extension type_name - 15, // [15:15] is the sub-list for extension extendee - 0, // [0:15] is the sub-list for field type_name + 23, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 23, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 26, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 23, // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 26, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 27, // 11: cc.arduino.cli.commands.v1.LoadSketchResponse.sketch:type_name -> cc.arduino.cli.commands.v1.Sketch + 26, // 12: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 28, // 13: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 1, // 14: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest + 3, // 15: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest + 6, // 16: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest + 8, // 17: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest + 10, // 18: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest + 12, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest + 14, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest + 16, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest + 18, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest + 20, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest + 29, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest + 30, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest + 31, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest + 32, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest + 33, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest + 34, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest + 35, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest + 36, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest + 37, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest + 38, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest + 39, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest + 40, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + 41, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + 42, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + 43, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest + 44, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest + 45, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 46, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 47, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 48, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 49, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 50, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 51, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 52, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 53, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 54, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 55, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 56, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 57, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest + 58, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest + 59, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 60, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest + 61, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest + 62, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 63, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest + 64, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest + 65, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest + 2, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 4, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 7, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 9, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 11, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 13, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 15, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 17, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 19, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 21, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 66, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 67, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 68, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 69, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 70, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 71, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 72, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 73, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 74, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 75, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 76, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 77, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 78, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 79, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 80, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 81, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 82, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 83, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 84, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 85, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 86, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 87, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 88, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 89, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 90, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 91, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 92, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 93, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 94, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 95, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse + 96, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 97, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse + 98, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse + 99, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 100, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse + 101, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse + 102, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse + 61, // [61:108] is the sub-list for method output_type + 14, // [14:61] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_commands_proto_init() } @@ -2480,18 +2311,6 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SketchProfile); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*LoadSketchResponse); i { case 0: return &v.state @@ -2503,7 +2322,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArchiveSketchRequest); i { case 0: return &v.state @@ -2515,7 +2334,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ArchiveSketchResponse); i { case 0: return &v.state @@ -2527,7 +2346,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSketchDefaultsRequest); i { case 0: return &v.state @@ -2539,7 +2358,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SetSketchDefaultsResponse); i { case 0: return &v.state @@ -2551,7 +2370,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InitResponse_Progress); i { case 0: return &v.state @@ -2575,7 +2394,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_commands_proto_rawDesc, NumEnums: 1, - NumMessages: 23, + NumMessages: 22, NumExtensions: 0, NumServices: 1, }, diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index d17edbe0e3f..6a37d222529 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -326,35 +326,9 @@ message LoadSketchRequest { reserved 1; } -message SketchProfile { - // Name of the profile - string name = 1; - // FQBN used by the profile - string fqbn = 2; -} - message LoadSketchResponse { - // Absolute path to a main sketch files - string main_file = 1; - // Absolute path to folder that contains main_file - string location_path = 2; - // List of absolute paths to other sketch files - repeated string other_sketch_files = 3; - // List of absolute paths to additional sketch files - repeated string additional_files = 4; - // List of absolute paths to supported files in the sketch root folder, main - // file excluded - repeated string root_folder_files = 5; - // Default FQBN set in project file (sketch.yaml) - string default_fqbn = 6; - // Default Port set in project file (sketch.yaml) - string default_port = 7; - // Default Protocol set in project file (sketch.yaml) - string default_protocol = 8; - // List of profiles present in the project file (sketch.yaml) - repeated SketchProfile profiles = 9; - // Default profile set in the project file (sketch.yaml) - SketchProfile default_profile = 10; + // The loaded sketch + Sketch sketch = 1; } message ArchiveSketchRequest { diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index a9f0312de7b..8091b9ec66d 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -1144,6 +1144,193 @@ func (x *HelpResources) GetOnline() string { return "" } +type Sketch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Absolute path to a main sketch files + MainFile string `protobuf:"bytes,1,opt,name=main_file,json=mainFile,proto3" json:"main_file,omitempty"` + // Absolute path to folder that contains main_file + LocationPath string `protobuf:"bytes,2,opt,name=location_path,json=locationPath,proto3" json:"location_path,omitempty"` + // List of absolute paths to other sketch files + OtherSketchFiles []string `protobuf:"bytes,3,rep,name=other_sketch_files,json=otherSketchFiles,proto3" json:"other_sketch_files,omitempty"` + // List of absolute paths to additional sketch files + AdditionalFiles []string `protobuf:"bytes,4,rep,name=additional_files,json=additionalFiles,proto3" json:"additional_files,omitempty"` + // List of absolute paths to supported files in the sketch root folder, main + // file excluded + RootFolderFiles []string `protobuf:"bytes,5,rep,name=root_folder_files,json=rootFolderFiles,proto3" json:"root_folder_files,omitempty"` + // Default FQBN set in project file (sketch.yaml) + DefaultFqbn string `protobuf:"bytes,6,opt,name=default_fqbn,json=defaultFqbn,proto3" json:"default_fqbn,omitempty"` + // Default Port set in project file (sketch.yaml) + DefaultPort string `protobuf:"bytes,7,opt,name=default_port,json=defaultPort,proto3" json:"default_port,omitempty"` + // Default Protocol set in project file (sketch.yaml) + DefaultProtocol string `protobuf:"bytes,8,opt,name=default_protocol,json=defaultProtocol,proto3" json:"default_protocol,omitempty"` + // List of profiles present in the project file (sketch.yaml) + Profiles []*SketchProfile `protobuf:"bytes,9,rep,name=profiles,proto3" json:"profiles,omitempty"` + // Default profile set in the project file (sketch.yaml) + DefaultProfile *SketchProfile `protobuf:"bytes,10,opt,name=default_profile,json=defaultProfile,proto3" json:"default_profile,omitempty"` +} + +func (x *Sketch) Reset() { + *x = Sketch{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Sketch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Sketch) ProtoMessage() {} + +func (x *Sketch) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Sketch.ProtoReflect.Descriptor instead. +func (*Sketch) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{16} +} + +func (x *Sketch) GetMainFile() string { + if x != nil { + return x.MainFile + } + return "" +} + +func (x *Sketch) GetLocationPath() string { + if x != nil { + return x.LocationPath + } + return "" +} + +func (x *Sketch) GetOtherSketchFiles() []string { + if x != nil { + return x.OtherSketchFiles + } + return nil +} + +func (x *Sketch) GetAdditionalFiles() []string { + if x != nil { + return x.AdditionalFiles + } + return nil +} + +func (x *Sketch) GetRootFolderFiles() []string { + if x != nil { + return x.RootFolderFiles + } + return nil +} + +func (x *Sketch) GetDefaultFqbn() string { + if x != nil { + return x.DefaultFqbn + } + return "" +} + +func (x *Sketch) GetDefaultPort() string { + if x != nil { + return x.DefaultPort + } + return "" +} + +func (x *Sketch) GetDefaultProtocol() string { + if x != nil { + return x.DefaultProtocol + } + return "" +} + +func (x *Sketch) GetProfiles() []*SketchProfile { + if x != nil { + return x.Profiles + } + return nil +} + +func (x *Sketch) GetDefaultProfile() *SketchProfile { + if x != nil { + return x.DefaultProfile + } + return nil +} + +type SketchProfile struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Name of the profile + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // FQBN used by the profile + Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` +} + +func (x *SketchProfile) Reset() { + *x = SketchProfile{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SketchProfile) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SketchProfile) ProtoMessage() {} + +func (x *SketchProfile) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SketchProfile.ProtoReflect.Descriptor instead. +func (*SketchProfile) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{17} +} + +func (x *SketchProfile) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *SketchProfile) GetFqbn() string { + if x != nil { + return x.Fqbn + } + return "" +} + var File_cc_arduino_cli_commands_v1_common_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ @@ -1283,12 +1470,45 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x65, 0x22, 0xdb, 0x03, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, + 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, + 0x2c, 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, + 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, + 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, + 0x69, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x66, 0x71, 0x62, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, + 0x22, 0x37, 0x0a, 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, + 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1303,7 +1523,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_common_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 17) +var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 19) var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*Instance)(nil), // 0: cc.arduino.cli.commands.v1.Instance (*DownloadProgress)(nil), // 1: cc.arduino.cli.commands.v1.DownloadProgress @@ -1321,7 +1541,9 @@ var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*Board)(nil), // 13: cc.arduino.cli.commands.v1.Board (*Profile)(nil), // 14: cc.arduino.cli.commands.v1.Profile (*HelpResources)(nil), // 15: cc.arduino.cli.commands.v1.HelpResources - nil, // 16: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + (*Sketch)(nil), // 16: cc.arduino.cli.commands.v1.Sketch + (*SketchProfile)(nil), // 17: cc.arduino.cli.commands.v1.SketchProfile + nil, // 18: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry } var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 2, // 0: cc.arduino.cli.commands.v1.DownloadProgress.start:type_name -> cc.arduino.cli.commands.v1.DownloadProgressStart @@ -1330,15 +1552,17 @@ var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 10, // 3: cc.arduino.cli.commands.v1.Platform.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata 11, // 4: cc.arduino.cli.commands.v1.Platform.release:type_name -> cc.arduino.cli.commands.v1.PlatformRelease 10, // 5: cc.arduino.cli.commands.v1.PlatformSummary.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata - 16, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + 18, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry 13, // 7: cc.arduino.cli.commands.v1.PlatformRelease.boards:type_name -> cc.arduino.cli.commands.v1.Board 15, // 8: cc.arduino.cli.commands.v1.PlatformRelease.help:type_name -> cc.arduino.cli.commands.v1.HelpResources - 11, // 9: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name + 17, // 9: cc.arduino.cli.commands.v1.Sketch.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 17, // 10: cc.arduino.cli.commands.v1.Sketch.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 11, // 11: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_common_proto_init() } @@ -1539,6 +1763,30 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Sketch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SketchProfile); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[1].OneofWrappers = []interface{}{ (*DownloadProgress_Start)(nil), @@ -1551,7 +1799,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_common_proto_rawDesc, NumEnums: 0, - NumMessages: 17, + NumMessages: 19, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index e9ee187f44c..024fe4e5d48 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -185,3 +185,34 @@ message HelpResources { // to their online help service. string online = 1; } + +message Sketch { + // Absolute path to a main sketch files + string main_file = 1; + // Absolute path to folder that contains main_file + string location_path = 2; + // List of absolute paths to other sketch files + repeated string other_sketch_files = 3; + // List of absolute paths to additional sketch files + repeated string additional_files = 4; + // List of absolute paths to supported files in the sketch root folder, main + // file excluded + repeated string root_folder_files = 5; + // Default FQBN set in project file (sketch.yaml) + string default_fqbn = 6; + // Default Port set in project file (sketch.yaml) + string default_port = 7; + // Default Protocol set in project file (sketch.yaml) + string default_protocol = 8; + // List of profiles present in the project file (sketch.yaml) + repeated SketchProfile profiles = 9; + // Default profile set in the project file (sketch.yaml) + SketchProfile default_profile = 10; +} + +message SketchProfile { + // Name of the profile + string name = 1; + // FQBN used by the profile + string fqbn = 2; +} diff --git a/rpc/internal/client_example/main.go b/rpc/internal/client_example/main.go index a5a3b3672ff..dd23b0ec8d5 100644 --- a/rpc/internal/client_example/main.go +++ b/rpc/internal/client_example/main.go @@ -995,13 +995,14 @@ func waitForPrompt(debugStreamingOpenClient rpc.ArduinoCoreService_DebugClient, func callLoadSketch(client rpc.ArduinoCoreServiceClient) { currDir, _ := os.Getwd() - sketch, err := client.LoadSketch(context.Background(), &rpc.LoadSketchRequest{ + sketchResp, err := client.LoadSketch(context.Background(), &rpc.LoadSketchRequest{ SketchPath: filepath.Join(currDir, "hello"), }) if err != nil { log.Fatalf("Error getting version: %s", err) } + sketch := sketchResp.GetSketch() log.Printf("Sketch main file: %s", sketch.GetMainFile()) log.Printf("Sketch location: %s", sketch.GetLocationPath()) log.Printf("Other sketch files: %v", sketch.GetOtherSketchFiles()) From 1568efb7493fd666dd877a1bbd11b79cd62042ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 20:15:33 +0100 Subject: [PATCH 076/361] [skip-changelog] Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 (#2493) * Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 Bumps [github.com/cloudflare/circl](https://github.com/cloudflare/circl) from 1.3.3 to 1.3.7. - [Release notes](https://github.com/cloudflare/circl/releases) - [Commits](https://github.com/cloudflare/circl/compare/v1.3.3...v1.3.7) --- updated-dependencies: - dependency-name: github.com/cloudflare/circl dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/cloudflare/circl/dh/x25519.dep.yml | 6 +++--- .licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml | 6 +++--- .../go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml | 6 +++--- .../go/github.com/cloudflare/circl/internal/conv.dep.yml | 8 ++++---- .../go/github.com/cloudflare/circl/internal/sha3.dep.yml | 6 +++--- .licenses/go/github.com/cloudflare/circl/math.dep.yml | 6 +++--- .../go/github.com/cloudflare/circl/math/fp25519.dep.yml | 6 +++--- .../go/github.com/cloudflare/circl/math/fp448.dep.yml | 6 +++--- .../go/github.com/cloudflare/circl/math/mlsbset.dep.yml | 6 +++--- .licenses/go/github.com/cloudflare/circl/sign.dep.yml | 6 +++--- .../go/github.com/cloudflare/circl/sign/ed25519.dep.yml | 6 +++--- .../go/github.com/cloudflare/circl/sign/ed448.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 3 ++- 14 files changed, 40 insertions(+), 39 deletions(-) diff --git a/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml index 77b9b07f0d1..9a3efa5ab03 100644 --- a/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/dh/x25519 -version: v1.3.3 +version: v1.3.7 type: go summary: Package x25519 provides Diffie-Hellman functions as specified in RFC-7748. homepage: https://pkg.go.dev/github.com/cloudflare/circl/dh/x25519 license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml b/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml index 77717903ce6..89ebbe18990 100644 --- a/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/dh/x448 -version: v1.3.3 +version: v1.3.7 type: go summary: Package x448 provides Diffie-Hellman functions as specified in RFC-7748. homepage: https://pkg.go.dev/github.com/cloudflare/circl/dh/x448 license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml b/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml index 8a0c15834f9..e9daa048734 100644 --- a/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/cloudflare/circl/ecc/goldilocks -version: v1.3.3 +version: v1.3.7 type: go summary: Package goldilocks provides elliptic curve operations over the goldilocks curve. homepage: https://pkg.go.dev/github.com/cloudflare/circl/ecc/goldilocks license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -66,6 +66,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml b/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml index 06a42797314..1cedf0ceec2 100644 --- a/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/internal/conv -version: v1.3.3 +version: v1.3.7 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/cloudflare/circl/internal/conv license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml b/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml index 2c8ed2788fd..49fa79d68f6 100644 --- a/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/cloudflare/circl/internal/sha3 -version: v1.3.3 +version: v1.3.7 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/github.com/cloudflare/circl/internal/sha3 license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -66,6 +66,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math.dep.yml b/.licenses/go/github.com/cloudflare/circl/math.dep.yml index 4eea3a9b5ba..efdc59bc46c 100644 --- a/.licenses/go/github.com/cloudflare/circl/math.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math -version: v1.3.3 +version: v1.3.7 type: go summary: Package math provides some utility functions for big integers. homepage: https://pkg.go.dev/github.com/cloudflare/circl/math license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml index c83e3e70004..20c3b2393c3 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/fp25519 -version: v1.3.3 +version: v1.3.7 type: go summary: Package fp25519 provides prime field arithmetic over GF(2^255-19). homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/fp25519 license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml index b88b20cae0a..b65891c9114 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/fp448 -version: v1.3.3 +version: v1.3.7 type: go summary: Package fp448 provides prime field arithmetic over GF(2^448-2^224-1). homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/fp448 license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml index e3eccd73248..c837e724cf8 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/mlsbset -version: v1.3.3 +version: v1.3.7 type: go summary: Package mlsbset provides a constant-time exponentiation method with precomputation. homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/mlsbset license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign.dep.yml index d1a2b2ddc6d..5d3285605df 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign -version: v1.3.3 +version: v1.3.7 type: go summary: Package sign provides unified interfaces for signature schemes. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml index 00dee398327..8586196a41a 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign/ed25519 -version: v1.3.3 +version: v1.3.7 type: go summary: Package ed25519 implements Ed25519 signature scheme as described in RFC-8032. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed25519 license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml index fbfdd35c65e..96cace11ded 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign/ed448 -version: v1.3.3 +version: v1.3.7 type: go summary: Package ed448 implements Ed448 signature scheme as described in RFC-8032. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed448 license: other licenses: -- sources: circl@v1.3.3/LICENSE +- sources: circl@v1.3.7/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.3/README.md +- sources: circl@v1.3.7/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/go.mod b/go.mod index 30af653c8b8..2e10bf5b576 100644 --- a/go.mod +++ b/go.mod @@ -50,7 +50,7 @@ require ( require ( github.com/Microsoft/go-winio v0.6.1 // indirect github.com/acomagu/bufpipe v1.0.3 // indirect - github.com/cloudflare/circl v1.3.3 // indirect + github.com/cloudflare/circl v1.3.7 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect github.com/creack/goselect v0.1.2 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect diff --git a/go.sum b/go.sum index aca044008dc..56225ffa422 100644 --- a/go.sum +++ b/go.sum @@ -26,8 +26,9 @@ github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/cloudflare/circl v1.3.3 h1:fE/Qz0QdIGqeWfnwq0RE0R7MI51s0M2E4Ga9kq5AEMs= github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= +github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= +github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cmaglie/easyjson v0.8.1 h1:nKQ6Yew57jsoGsuyRJPgm8PSsjbU3eO/uA9BsTu3E/8= github.com/cmaglie/easyjson v0.8.1/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= From a7157fafe6a164d4321eff8497414b904eba1759 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 20:47:44 +0100 Subject: [PATCH 077/361] [skip-changelog] Bump golang.org/x/term from 0.15.0 to 0.16.0 (#2489) * Bump golang.org/x/term from 0.15.0 to 0.16.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.15.0 to 0.16.0. - [Commits](https://github.com/golang/term/compare/v0.15.0...v0.16.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 02a0866858e..50c60bb61b4 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.15.0 +version: v0.16.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.15.0/LICENSE +- sources: sys@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.15.0/PATENTS +- sources: sys@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 86b3e4620f4..e04edef848c 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.15.0 +version: v0.16.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.15.0/LICENSE +- sources: sys@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.15.0/PATENTS +- sources: sys@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index a919adf376b..b7ef058b68f 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.15.0 +version: v0.16.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 2e10bf5b576..c52a74c4774 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/relaxed-semver v0.12.0 go.bug.st/serial v1.6.1 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.15.0 + golang.org/x/term v0.16.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f google.golang.org/grpc v1.60.1 @@ -99,7 +99,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.19.0 // indirect - golang.org/x/sys v0.15.0 // indirect + golang.org/x/sys v0.16.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 56225ffa422..bf71ec2ca0a 100644 --- a/go.sum +++ b/go.sum @@ -280,15 +280,15 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= -golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= -golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= -golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= +golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= +golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= From 2972ed8d9d09d010a5853e0ae25e097d3b3cd635 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 9 Jan 2024 08:36:27 +0100 Subject: [PATCH 078/361] test: add missing file close (#2492) --- internal/integrationtest/config/config_test.go | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 99544f5d0b3..2d830978c98 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -822,16 +822,10 @@ func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - createConfig := func(path *paths.Path, content string) { - f, err := path.Create() - require.NoError(t, err) - _, err = f.WriteString(content) - require.NoError(t, err) - } tmp := t.TempDir() cliConfig, envConfig := paths.New(filepath.Join(tmp, "cli.yaml")), paths.New(filepath.Join(tmp, "env.yaml")) - createConfig(cliConfig, `cli-test: "test"`) - createConfig(envConfig, `env-test: "test"`) + cliConfig.WriteFile([]byte(`cli-test: "test"`)) + envConfig.WriteFile([]byte(`env-test: "test"`)) // No flag nor env specified. stdout, _, err := cli.Run("config", "dump", "--format", "json") From 51573f21971820a2830704deec23612212a297e0 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 11 Jan 2024 10:45:24 +0100 Subject: [PATCH 079/361] [skip-changelog] refactoring: Added `LibrariesManager.Clone()` / Auto-scan libs on `LibrariesManager.Build()` (#2491) * Added LibrariesManager.Clone() / Auto-scan libraries on LibrariesManager.Build() * Ensure AddLibrariesDir do not share input parameters * Fixed wrong loop... ooops --- commands/instances.go | 21 ++++------ commands/internal/instances/instances.go | 7 +++- .../builder/internal/detector/detector.go | 36 +++++++--------- .../librariesmanager/librariesmanager.go | 42 +++++++++++++------ .../librariesmanager/librariesmanager_test.go | 20 ++++++--- 5 files changed, 72 insertions(+), 54 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index c8bdfcf208c..3f8712de829 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -308,7 +308,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro for _, pack := range pme.GetPackages() { for _, platform := range pack.Platforms { if platformRelease := pme.GetInstalledPlatformRelease(platform); platformRelease != nil { - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ PlatformRelease: platformRelease, Path: platformRelease.GetLibrariesDir(), Location: libraries.PlatformBuiltIn, @@ -336,14 +336,14 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if profile == nil { // Add directories of libraries bundled with IDE if bundledLibsDir := configuration.IDEBuiltinLibrariesDir(configuration.Settings); bundledLibsDir != nil { - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: bundledLibsDir, Location: libraries.IDEBuiltIn, }) } // Add libraries directory from config file - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: configuration.LibrariesDir(configuration.Settings), Location: libraries.User, }) @@ -383,23 +383,18 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro taskCallback(&rpc.TaskProgress{Completed: true}) } - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: libRoot, Location: libraries.User, }) } } - lm := lmb.Build() + lm, libsLoadingWarnings := lmb.Build() _ = instances.SetLibraryManager(instance, lm) // should never fail - - { - lmi, release := lm.NewInstaller() - for _, status := range lmi.RescanLibraries() { - logrus.WithError(status.Err()).Warnf("Error loading library") - // TODO: report as warning: responseError(err) - } - release() + for _, status := range libsLoadingWarnings { + logrus.WithError(status.Err()).Warnf("Error loading library") + // TODO: report as warning: responseError(err) } // Refreshes the locale used, this will change the diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index a26a2dee1f8..028e82e6738 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -126,9 +126,12 @@ func Create(dataDir, packagesDir, downloadsDir *paths.Path, extraUserAgent ...st } tempDir := dataDir.Join("tmp") + pm := packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent).Build() + lm, _ := librariesmanager.NewBuilder().Build() + instance := &coreInstance{ - pm: packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent).Build(), - lm: librariesmanager.NewBuilder().Build(), + pm: pm, + lm: lm, li: librariesindex.EmptyIndex, } diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index 7d0a67f7cdd..9285846fcf1 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -598,7 +598,7 @@ func LibrariesLoader( if useCachedLibrariesResolution { // Since we are using the cached libraries resolution // the library manager is not needed. - lm = librariesmanager.NewBuilder().Build() + lm, _ = librariesmanager.NewBuilder().Build() } if librariesManager == nil { lmb := librariesmanager.NewBuilder() @@ -608,20 +608,20 @@ func LibrariesLoader( if err := builtInLibrariesFolders.ToAbs(); err != nil { return nil, nil, nil, err } - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: builtInLibrariesFolders, Location: libraries.IDEBuiltIn, }) } if actualPlatform != targetPlatform { - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ PlatformRelease: actualPlatform, Path: actualPlatform.GetLibrariesDir(), Location: libraries.ReferencedPlatformBuiltIn, }) } - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ PlatformRelease: targetPlatform, Path: targetPlatform.GetLibrariesDir(), Location: libraries.PlatformBuiltIn, @@ -632,35 +632,31 @@ func LibrariesLoader( return nil, nil, nil, err } for _, folder := range librariesFolders { - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: folder, Location: libraries.User, // XXX: Should be libraries.Unmanaged? }) } for _, dir := range libraryDirs { - lmb.AddLibrariesDir(&librariesmanager.LibrariesDir{ + lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: dir, Location: libraries.Unmanaged, IsSingleLibrary: true, }) } - lm = lmb.Build() - - { - lmi, release := lm.NewInstaller() - for _, status := range lmi.RescanLibraries() { - // With the refactoring of the initialization step of the CLI we changed how - // errors are returned when loading platforms and libraries, that meant returning a list of - // errors instead of a single one to enhance the experience for the user. - // I have no intention right now to start a refactoring of the legacy package too, so - // here's this shitty solution for now. - // When we're gonna refactor the legacy package this will be gone. - verboseOut.Write([]byte(status.Message())) - } - release() + newLm, libsLoadingWarnings := lmb.Build() + for _, status := range libsLoadingWarnings { + // With the refactoring of the initialization step of the CLI we changed how + // errors are returned when loading platforms and libraries, that meant returning a list of + // errors instead of a single one to enhance the experience for the user. + // I have no intention right now to start a refactoring of the legacy package too, so + // here's this shitty solution for now. + // When we're gonna refactor the legacy package this will be gone. + verboseOut.Write([]byte(status.Message())) } + lm = newLm } allLibs := lm.FindAllInstalled() diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager.go b/internal/arduino/libraries/librariesmanager/librariesmanager.go index 64102cf46f9..123513b2d31 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager.go @@ -65,6 +65,7 @@ type LibrariesDir struct { Location libraries.LibraryLocation PlatformRelease *cores.PlatformRelease IsSingleLibrary bool // true if Path points directly to a library instad of a dir of libraries + scanned bool } var tr = i18n.Tr @@ -95,14 +96,19 @@ func NewBuilder() *Builder { } } -// NewBuilder creates a Builder with the same configuration of this -// LibrariesManager. A "commit" function callback is returned: calling -// this function will write the new configuration into this LibrariesManager. -func (lm *LibrariesManager) NewBuilder() (*Builder, func()) { +// Clone creates a Builder starting with a copy of the same configuration +// of this LibrariesManager. At the moment of the Build() only the added +// libraries directories will be scanned, keeping the existing directories +// "cached" to optimize scan. If you need to do a full rescan you must use +// the RescanLibraries method of the Installer. +func (lm *LibrariesManager) Clone() *Builder { lmb := NewBuilder() - return lmb, func() { - lmb.BuildIntoExistingLibrariesManager(lm) + lmb.librariesDir = append(lmb.librariesDir, lm.librariesDir...) + for libName, libAlternatives := range lm.libraries { + // TODO: Maybe we should deep clone libAlternatives... + lmb.libraries[libName] = append(lmb.libraries[libName], libAlternatives...) } + return lmb } // NewExplorer returns a new Explorer. The returned function must be called @@ -120,10 +126,18 @@ func (lm *LibrariesManager) NewInstaller() (*Installer, func()) { } // Build builds a new LibrariesManager. -func (lmb *Builder) Build() *LibrariesManager { +func (lmb *Builder) Build() (*LibrariesManager, []*status.Status) { + var statuses []*status.Status res := &LibrariesManager{} + for _, dir := range lmb.librariesDir { + if !dir.scanned { + if errs := lmb.loadLibrariesFromDir(dir); len(errs) > 0 { + statuses = append(statuses, errs...) + } + } + } lmb.BuildIntoExistingLibrariesManager(res) - return res + return res, statuses } // BuildIntoExistingLibrariesManager will overwrite the given LibrariesManager instead @@ -138,7 +152,7 @@ func (lmb *Builder) BuildIntoExistingLibrariesManager(old *LibrariesManager) { // AddLibrariesDir adds path to the list of directories // to scan when searching for libraries. If a path is already // in the list it is ignored. -func (lmb *Builder) AddLibrariesDir(libDir *LibrariesDir) { +func (lmb *Builder) AddLibrariesDir(libDir LibrariesDir) { if libDir.Path == nil { return } @@ -151,7 +165,7 @@ func (lmb *Builder) AddLibrariesDir(libDir *LibrariesDir) { WithField("location", libDir.Location.String()). WithField("isSingleLibrary", libDir.IsSingleLibrary). Info("Adding libraries dir") - lmb.librariesDir = append(lmb.librariesDir, libDir) + lmb.librariesDir = append(lmb.librariesDir, &libDir) } // RescanLibraries reload all installed libraries in the system. @@ -184,9 +198,11 @@ func (lm *LibrariesManager) getLibrariesDir(installLocation libraries.LibraryLoc // loadLibrariesFromDir loads all libraries in the given directory. Returns // nil if the directory doesn't exists. -func (lmi *Installer) loadLibrariesFromDir(librariesDir *LibrariesDir) []*status.Status { +func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []*status.Status { statuses := []*status.Status{} + librariesDir.scanned = true + var libDirs paths.PathList if librariesDir.IsSingleLibrary { libDirs.Add(librariesDir.Path) @@ -212,9 +228,9 @@ func (lmi *Installer) loadLibrariesFromDir(librariesDir *LibrariesDir) []*status continue } library.ContainerPlatform = librariesDir.PlatformRelease - alternatives := lmi.libraries[library.Name] + alternatives := lm.libraries[library.Name] alternatives.Add(library) - lmi.libraries[library.Name] = alternatives + lm.libraries[library.Name] = alternatives } return statuses diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager_test.go b/internal/arduino/libraries/librariesmanager/librariesmanager_test.go index 2393868999e..0b7fd3a7857 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager_test.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager_test.go @@ -21,17 +21,25 @@ import ( "github.com/stretchr/testify/require" ) -func Test_RescanLibrariesCallClear(t *testing.T) { +func TestLibrariesBuilderScanCloneRescan(t *testing.T) { lmb := NewBuilder() lmb.libraries["testLibA"] = libraries.List{} lmb.libraries["testLibB"] = libraries.List{} - lm := lmb.Build() + lm, warns := lmb.Build() + require.Empty(t, warns) + require.Len(t, lm.libraries, 2) + // Cloning should keep existing libraries + lm2, warns2 := lm.Clone().Build() + require.Empty(t, warns2) + require.Len(t, lm2.libraries, 2) + + // Full rescan should update libs { - lmi, release := lm.NewInstaller() - lmi.RescanLibraries() + lmi2, release := lm2.NewInstaller() + lmi2.RescanLibraries() release() } - - require.Len(t, lm.libraries, 0) + require.Len(t, lm.libraries, 2) // Ensure deep-coping worked as expected... + require.Len(t, lm2.libraries, 0) } From bd0284438b93a5358059941aee3929ef2e8c8a3f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 11 Jan 2024 12:42:47 +0100 Subject: [PATCH 080/361] Docs changes for 0.36.0 release (#2494) * Preparing docs for 1.0.0-rc.1 relese * Update docs/UPGRADING.md Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com> * revert, we are releasing 0.36.0 --------- Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Co-authored-by: Umberto Baldi <u.baldi@arduino.cc> --- README.md | 4 ++-- docs/CONTRIBUTING.md | 4 ++-- docs/installation.md | 4 ---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 39ecae5f037..a8d93cb2513 100644 --- a/README.md +++ b/README.md @@ -33,9 +33,9 @@ contribute your changes to the project. :sparkles: Thanks to all our [contributors]! :sparkles: -### Beta testing +### Testing builds -[Nightly builds] are available for beta testing. +[Nightly builds] are available for testing. ## Security diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index d21314c52c5..743c01efe39 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -8,9 +8,9 @@ There are several ways you can get involved: | ------------------------------------------------- | ------------------------------------------------------- | | - Support request<br/>- Question<br/>- Discussion | Post on the [Arduino Forum][forum] | | - Bug report<br/>- Feature request | Issue report (read the [issue guidelines][issues]) | -| Beta testing | Try out the [nightly build][nightly] | +| Testing | Try out the [nightly build][nightly] | | - Bug fix<br/>- Enhancement | Pull Request (read the [pull request guidelines][prs]) | -| Translations for Arduino CLI | [transifex][translate] | +| Translations for Arduino CLI | Use the [transifex][translate] platform | | Monetary | - [Donate][donate]<br/>- [Buy official products][store] | ## Issue Reports diff --git a/docs/installation.md b/docs/installation.md index b5499ee6ce9..06cc18a9102 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -79,10 +79,6 @@ in your [`PATH`](https://en.wikipedia.org/wiki/PATH%5F%28variable%29) or add the [macos64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_macOS_64bit.tar.gz [macosarm64]: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_macOS_ARM64.tar.gz -> **Deprecation notice**: links in the form -> `http://downloads.arduino.cc/arduino-cli/arduino-cli-latest-<platform>.tar.bz2` won’t be further updated. That URL -> will provide the version `0.3.7-alpha.preview`, regardless of further releases. - ### Previous versions These are available from the "Assets" sections on the [releases page](https://github.com/arduino/arduino-cli/releases). From 74a99aae3524b10bbe50ae0e9c7fbfbee0e9f2f9 Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Thu, 11 Jan 2024 12:52:38 +0100 Subject: [PATCH 081/361] Allow empty configuration merging (#2432) * Enable empty configuration merging * Test that a default configuration is correctly deleted * Reset config after every merge test --- commands/daemon/settings.go | 6 +++++- commands/daemon/settings_test.go | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/commands/daemon/settings.go b/commands/daemon/settings.go index 151ce9da61a..2d8b9ca9039 100644 --- a/commands/daemon/settings.go +++ b/commands/daemon/settings.go @@ -79,9 +79,13 @@ func (s *ArduinoCoreServerImpl) SettingsMerge(ctx context.Context, req *rpc.Sett // Set each value individually. // This is done because Viper ignores empty strings or maps when // using the MergeConfigMap function. + updatedSettings := configuration.Init("") for k, v := range mapped { - configuration.Settings.Set(k, v) + updatedSettings.Set(k, v) } + configPath := configuration.Settings.ConfigFileUsed() + updatedSettings.SetConfigFile(configPath) + configuration.Settings = updatedSettings return &rpc.SettingsMergeResponse{}, nil } diff --git a/commands/daemon/settings_test.go b/commands/daemon/settings_test.go index c5366e179b5..93f49174e50 100644 --- a/commands/daemon/settings_test.go +++ b/commands/daemon/settings_test.go @@ -81,6 +81,13 @@ func TestMerge(t *testing.T) { require.Equal(t, "", configuration.Settings.GetString("foo")) require.Equal(t, false, configuration.Settings.GetBool("sketch.always_export_binaries")) + bulkSettings = `{"network": {}}` + res, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) + require.NotNil(t, res) + require.NoError(t, err) + + require.Equal(t, "", configuration.Settings.GetString("proxy")) + reset() } @@ -113,6 +120,8 @@ func TestGetMergedValue(t *testing.T) { res, err = svc.SettingsGetValue(context.Background(), key) require.NoError(t, err) require.Equal(t, `"bar"`, res.GetJsonData()) + + reset() } func TestGetValueNotFound(t *testing.T) { From 31e0341065af0ee16b4388f2fa868743e5431dd6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 12:56:50 +0100 Subject: [PATCH 082/361] Updated translation files (#2383) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 1659 ++++++++++++----------- internal/i18n/data/de.po | 2533 +++++++++++++++++++---------------- internal/i18n/data/es.po | 1656 ++++++++++++----------- internal/i18n/data/fr.po | 1649 ++++++++++++----------- internal/i18n/data/he.po | 1649 ++++++++++++----------- internal/i18n/data/it_IT.po | 1703 ++++++++++++----------- internal/i18n/data/ja.po | 1649 ++++++++++++----------- internal/i18n/data/ko.po | 1649 ++++++++++++----------- internal/i18n/data/lb.po | 1649 ++++++++++++----------- internal/i18n/data/ne.po | 1649 ++++++++++++----------- internal/i18n/data/pl.po | 1649 ++++++++++++----------- internal/i18n/data/pt.po | 1653 ++++++++++++----------- internal/i18n/data/ru.po | 1649 ++++++++++++----------- internal/i18n/data/zh.po | 1751 +++++++++++++----------- internal/i18n/data/zh_TW.po | 1699 ++++++++++++----------- 15 files changed, 13668 insertions(+), 12178 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index 004f4258ca7..c35e4b77893 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -16,87 +16,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s النسخة : %[3]s commit : %[4]s التاريخ : %[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "الملف %[1]s اصبح غير مدعوما! راجع %[2]s للمزيد من المعلومات" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s غير صالح . جار اعادة بناء كل شيء" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s مطلوب و لكن %[2]s مثبت حاليا" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s التنسيق مفقود" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s , رسالة : %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s , المنفذ : %[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s , المنافذ : %[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, نسخة البوتوكول : %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "تم تنزيل %s مسبقا" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s و %s لا يمكن استخدامهما معا" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s تم تثبيته بنجاح" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s مثبت مسبقا" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s ليس مسارا صحيحا" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s غير مدار بواسطة مدير الحزمات" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "يجب تثبيت %s" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "%s النسق مفقود" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "'%s' لديه توقيع غير صحيح" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "'build.core' و 'build.variant' تشيران الى منصة مختلفة : %[1]s و %[2]s" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(مخفي)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(الشكل القديم)" @@ -124,11 +124,11 @@ msgstr "لا يمكن استخدام git-url-- او zip-path-- مع install-in- msgid ".ino file already exists" msgstr "ملف ino. موجود مسبقا" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "نسخة جديدة من CLI متوفرة " -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "عليك وصل مبرمجة للرفع" @@ -145,7 +145,7 @@ msgstr "دليل استخدام سطر موجه الاوامر للاردوين msgid "Additional help topics:" msgstr "مواضيع مساعدة اضافية :" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "اضافة قيمة او اكثر الى احد الاعدادات" @@ -153,33 +153,37 @@ msgstr "اضافة قيمة او اكثر الى احد الاعدادات" msgid "Aliases:" msgstr "اسماء مستعارة" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "كل الانوية محدثة باخر اصدار مسبقا" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "%s مثبت مسبقا" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "البدائل ل %[1]s : %[2]s" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "حدث خطأ اثناء اضافة النماذج الاولية" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "حدث خطأ اثناء الكشف عن المكتبات" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" "الحاق سجل التصحيح الى الملف المحدد (Append debug logging to the specified " "file)" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "المعمارية : %s" @@ -187,7 +191,7 @@ msgstr "المعمارية : %s" msgid "Archive already exists" msgstr "الارشيف موجود مسبقا" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "جار ارشفة built core (caching) في : %[1]s" @@ -223,7 +227,7 @@ msgstr "ضبط الاردوينو" msgid "Arduino core operations." msgstr "عمليات نواة الاردوينو (Arduino core operations)" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "خطأ بالمدخلات : %v" @@ -231,11 +235,11 @@ msgstr "خطأ بالمدخلات : %v" msgid "Attaches a sketch to a board." msgstr "يربط اللوحة بالمشروع" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "المؤلف : %s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -243,7 +247,7 @@ msgstr "" "لا يمكن تنفيذ التثبيت التلقائي للمكتبة في هذه الحالة , الرجاء ازالة كل النسخ" " المطابقة يدويا و الاعادة" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -251,7 +255,7 @@ msgstr "" "لا يمكن تنفيذ الغاء التثبيت التلقائي للمكتبة في هذه الحالة , الرجاء ازالتها " "يدويا و الاعادة" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "متوفر" @@ -259,51 +263,51 @@ msgstr "متوفر" msgid "Available Commands:" msgstr "الاوامر المتوفرة" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "الملف الثنائي (Binary file) الذي تريد رفعه" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "اسم اللوحة" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "اسم اللوحة" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "نسخة اللوحة :" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "ملف محمل الإقلاع (Bootloader) تم تحدديده لكنه مفقود: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds الخاصة ب 'core.a' تحفظ في هذا المسار و سيتم وضعها في الكاش و سيعاد " "استخدامها" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "تعذر انشاء مسار البيانات %s" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "تعذر انشاء المشروع" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "تعذر تنزيل المكتبة" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "تعذر ايجاد التبعيات للمنصة %s" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "تعذر فتح المشروع" @@ -311,7 +315,7 @@ msgstr "تعذر فتح المشروع" msgid "Can't set multiple values in key %v" msgstr "تعذر وضع عدة قيم في المفتاح %v" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "نعذر تحديث المشروع" @@ -319,11 +323,11 @@ msgstr "نعذر تحديث المشروع" msgid "Can't use the following flags together: %s" msgstr "لا يمكن استخدام العلامات التالية مع بعضها البعض : %s " -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "تعذر كتابة ملف التهيئة : %v" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "تعذر كتابة سجل مصحح الاخطاء : %s" @@ -343,11 +347,11 @@ msgstr "تعذر انشاء مسار ملف التهيئة : %v" msgid "Cannot create config file: %v" msgstr "تعذر انشاء ملف التهيئة : %v" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "تعذر انشاء مسار مؤقت" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "تعذر انشاء ملف temp" @@ -355,7 +359,7 @@ msgstr "تعذر انشاء ملف temp" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "تعذر حذف المفتاح %[1]s:%[2]v" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "تعذر تشغيل اداة debug" @@ -363,19 +367,19 @@ msgstr "تعذر تشغيل اداة debug" msgid "Cannot find absolute path: %v" msgstr "تعذر ايجاد المسار المطلق : %v" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "تعذر تثبيت المنصة" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "تعذر تثبيت الاداة %s" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "تعذر اجراء اعادة تشغيل المنفذ : %s" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "تعذر تحديث المنصة" @@ -383,21 +387,25 @@ msgstr "تعذر تحديث المنصة" msgid "Cannot write the file %[1]s: %[2]v" msgstr "تعذر كتابة الملف %[1]s : %[2]v" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "الفئة : %s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "التحقق من حالة التبعيات (dependencies) للمكتبة المختارة" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" "المجموع الاختباري (Checksum) لا يتطابق مع المجموع الاختباري (checksum) " "الموجود في package.json " -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "المجموع الاختباري (Checksum) :" @@ -410,33 +418,33 @@ msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "قائمة يفصل بين محتوياتها فاصلة تحوي عناوين URL الاضافية لمدير اللوحات " -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "الامر يبقى قيد التشغيل و يطبع قائمة للوحات المتصلة عندما يوجد تغيير" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "المشروع المترجم لم يتم ايجاده في %s" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "يترجم مشاريع الاردوينو" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "يتم ترجمة النواة" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "يتم ترجمة المكتبات" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "يتم ترجمة المكتبة \"%[1]s\"" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "ترجمة الشيفرة البرمجية..." @@ -446,57 +454,57 @@ msgid "" msgstr "" "ملف التهيئة موجود مسبقا , استخدم --overwrite للتخلص من الملف الموجود مسبقا" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "تمت كتابة ملف التهيئة في : %s" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "اعدادات الضبط ل %s" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "تكوين إعدادات منفذ الاتصال. التنسيق هو <ID>=<value>[,<ID>=<value>]" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "جار تهيئة المنصة" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "جار تهيئة الاداة" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "متصل" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "متصل الى %s ! اضغط CTRL-C للخروج" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "النواة" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "تعذر الاتصال بواسطة HTTP" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "تعذر انشاء فهرس داخل المسار" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "تعذر القيام بـ deeply cache لــ core build : %[1]s" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "تعذر معرفة حجم البرنامج" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "تعذر ايجاد المسار الحالي %v" @@ -504,7 +512,7 @@ msgstr "تعذر ايجاد المسار الحالي %v" msgid "Create a new Sketch" msgstr "انشاء مشروع جديد" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "انشاء و طباعة اعدادات البروفايل من البناء (build)" @@ -520,7 +528,7 @@ msgstr "" "انشاء او تحديث ملف الضبط في مسار البيانات او في مسار مخصص مع اعدادات التهيئة" " الحالية" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -528,41 +536,37 @@ msgstr "" "في الوقت الحالي , بروفايلات البناء (Build Profiles) تدعم حصرا المكتبات " "المتوافرة في مدير المكتبات للاردوينو (Arduino Library Manager)" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "مهملة (غير موصى باستخدامها)" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "Daemon يقوم بالاستماع على %s : %s" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "تصحيح مشاريع الاردوينو" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "تصحيح اخطاء مشاريع الاردوينو (يفتح هذا الامر جلسة gdb تفاعلية)" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "مترجم التصحيح على سبيل المثال : %s" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "تصحيح الاخطاء (Debugging) غير مدعوم للوحة %s" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "تصحيح الاخطاء (Debugging) مدعوم :" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "إفتراضي" @@ -590,28 +594,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "حذف مفتاح الاعدادات و كل مفاتيحه الفرعية" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "تبعيات : %s" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "الوصف" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "الكشف عن المكتبات المستخدمة ..." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "تكتشف و تعرض قائمة اللوحات المتصلة الى هذا الكومبيوتر" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "المسار الذي يحوي الملفات الثنائية للتصحيح" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "المجلد الذي يحوي الملفات الثنائية (binaries) التي سيتم رفعها" @@ -627,11 +631,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "الغاء تفعيل وصف الاكتمال في واجهات الاوامر التي تدعم ذلك" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "قطع الاتصال" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "يعرض فقط اتصالات gRPC التي تم اعطاؤها" @@ -647,47 +651,51 @@ msgstr "لا تكتب فوق المكتبات المثبتة مسبقا" msgid "Do not overwrite already installed platforms." msgstr "لا تكتب فوق المنصات المثبتة مسبقا" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "لا تقم بالرفع , فقط قم بتسجيل الاحداث" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" "عدم انهاء عمليات daemon في حال تم انهاء العملية الام (Do not terminate " "daemon process if the parent process dies)" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "يتم تنزيل %s" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "جار تنزيل فهرس التوقيعات %s" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "جار تنزيل الفهرس : %s" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "جار تحميل المكتبة %s" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "جار تنزيل الاداة الناقصة" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "جار تنزيل الحزم" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "جار تحميل المنصة %s" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "جار تحميل الاداة" @@ -699,7 +707,7 @@ msgstr "يقوم بتنزيل نواة او اكثر و ادواتها التا msgid "Downloads one or more libraries without installing them." msgstr "يقوم بتنزيل مكتبة او اكثر بدون تثبيتها" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "تفعيل تسجيل تصحيح الاخطاء لمكالمات gRPC " @@ -717,11 +725,11 @@ msgid "Error adding file to sketch archive" msgstr "" "خطأ اثناء اضافة الملف لارشيف المشروع (Error adding file to sketch archive)" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "خطا اثناء ارشفة built core (caching) في %[1]s : %[2]s" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "خطا اثناء ارشفة :%v" @@ -734,11 +742,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "خطأ اثناء تنظيف الكاش : %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "تعذر تحويل المسار الى مطلق : %v" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "خطا اثناء نسخ ملف الخرج %s" @@ -746,7 +754,7 @@ msgstr "خطا اثناء نسخ ملف الخرج %s" msgid "Error creating instance: %v" msgstr "خطا اثناء انشاء النسخة %v" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "خطا اثناء انشاء مسار الخرج" @@ -758,7 +766,7 @@ msgstr "خطا اثناء انشاء ارشيف المشروع" msgid "Error creating sketch: %v" msgstr "خطأ اثناء انشاء المشروع : %v" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "خطا اثناء البحث عن اللوحات : %v" @@ -766,41 +774,40 @@ msgstr "خطا اثناء البحث عن اللوحات : %v" msgid "Error downloading %[1]s: %[2]v" msgstr "خطا اثناء تحميل %[1]s : %[2]v" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "خطأ اثناء تحميل %s" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "خطأ اثناء تحميل الفهرس '%s'" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "خطأ اثناء تحميل توقيع الفهرس : '%s'" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "خطأ اثناء تحميل المكتبة %s" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "خطأ اثناء تنزيل المنصة %s" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "خطا اثناء تنزيل الاداة %s" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "خطا اثناء التصحيح : %v" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "خطا اثناء اكتشاف FBQN : %v" @@ -808,10 +815,10 @@ msgstr "خطا اثناء اكتشاف FBQN : %v" msgid "Error during JSON encoding of the output: %v" msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" @@ -819,7 +826,7 @@ msgstr "خطا اثناء الرفع : %v" msgid "Error during YAML encoding of the output: %v" msgstr "خطأ اثناء القيام بYAML econding للخرج : %v" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "خطأ اثناء بناء : %v" @@ -831,19 +838,20 @@ msgstr "خطأ اثناء تثبيت : %v" msgid "Error during uninstall: %v" msgstr "خطأ اثناء الغاء تثبيت : %v" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "خطا اثناء تطوير : %v" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "خطأ اثناء استخراج %s" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "خطا اثناء البحث عن build artifacts" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "خطأ اثناء الحصول على معلومات التصحيح %v" @@ -851,19 +859,25 @@ msgstr "خطأ اثناء الحصول على معلومات التصحيح %v" msgid "Error getting absolute path of sketch archive" msgstr "خطا اثناء جلب المسار المطلق لارشيف المشروع" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "خطأ اثناء الحصول على معلومات اللوحة %v" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "خطأ اثناء الحصول على المسار الحالي من اجل قاعدة بيانات الترجمة %s" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "خطأ اثناء الحصول على المعلومات للمكتبة %s" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "خطا اثناء جلب بيانات المكتبة : %v" @@ -871,12 +885,12 @@ msgstr "خطا اثناء جلب بيانات المكتبة : %v" msgid "Error getting port metadata: %v" msgstr "خطأ اثناء جلب البيانات الوصفية (metadata) للمنفذ : %v" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" "خطأ اثناء الحصول على بيانات اعدادات المنفذ (port settings details) : %s" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "تعذر الحصول على مدخلات المستخدم" @@ -896,63 +910,63 @@ msgstr "خطأ اثناء تثبيت مكتبة GIT : %v" msgid "Error installing Zip Library: %v" msgstr "خطأ اثناء تثبيت مكتبة ZIP : %v" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "خطأ اثناء تثبيت المكتبة %s" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "خطأ اثناء تثبيت المنصة %s" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "خطأ اثناء تثبيت الاداة %s" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "خطا اثناء انشاء قائمة باللوحات : %v" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "تعذر احصاء المكتبات : %v" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "خطأ اثناء انشاء قائمة تحوي جميع المنصات : %v" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "خطا اثناء تحميل منصة الهاردوير" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "خطأ اثناء تحميل الفهرس %s" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "خطأ اثناء فتح %s" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "تعذر فتح الملف الذي يحوي سجلات التصحيح (debug logging file) : %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "خطا اثناء فتح الكود المصدر الذي يتجاوز ملف البيانات : %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "تعذر تقطيع علامة show-properties-- : %v" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "خطا اثناء قراءة مسار البناء" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "خطا اثناء قراءة ملف التهيئة : %v" @@ -960,46 +974,52 @@ msgstr "خطا اثناء قراءة ملف التهيئة : %v" msgid "Error reading sketch files" msgstr "خطا اثناء قراءة ملفات المشروع" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "خطا اثناء حل التبعيات ل %[1]s:%[2]s" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "خطا اثناء استعادة قائمة النواة : %v" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "خطا اثناء التراجع عن التغييرات : %s" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "خطا اثناء حفظ فهرس التنزيلات" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" "خطأ اثناء حفظ توقيع الفهرس الذي تم تحميله (downloaded index signature)" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "خطا اثناء البحث عن اللوحات : %v" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "خطا اثناء البحث عن مكتبات : %v" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "خطأ اثناء البحث عن المنصة : %v" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" "تعذر القيام بسلسلة قاعدة بيانات الترجمة (Error serializing compilation " "database) : %s" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "تعذر بدء الاكتشاف : %v" @@ -1007,7 +1027,7 @@ msgstr "تعذر بدء الاكتشاف : %v" msgid "Error uninstalling %[1]s: %[2]v" msgstr "خطا اثناء الغاء تثبيت %[1]s: %[2]v" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "خطا اثناء تحديث فهرس المكتبات : %v" @@ -1015,26 +1035,27 @@ msgstr "خطا اثناء تحديث فهرس المكتبات : %v" msgid "Error upgrading libraries" msgstr "تعذر ترقية المكتبات" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "خطا اثناء تطوير المنصة : %s" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "تعذر التحقق من التوقيع" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "تعذر العثور على المكتبات التي ضُمِّنَت (included) من قبل : %[1]s" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "خطأ اثناء تحديد حجم المشروع : %s" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "خطأ اثناء كتابة قاعدة بيانات الترجمة (compilation database) : %s" @@ -1042,15 +1063,15 @@ msgstr "خطأ اثناء كتابة قاعدة بيانات الترجمة (com msgid "Error: command description is not supported by %v" msgstr "خطأ : وصف الامر غير مدعوم من قبل %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "خطأ : كود مصدري خاطئ سيقوم بالكتابة فوق ملف البيانات : %v" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "الحدث" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "الامثلة للمكتبة %s" @@ -1058,65 +1079,65 @@ msgstr "الامثلة للمكتبة %s" msgid "Examples:" msgstr "الامثلة : " -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "الملف التنفيذي الذي سيتم تصحيحه (Executable to debug)" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "توقعت وجود المشروع المترجم في المسار %s . لكنني وجدت ملفا بدلا عن ذلك" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "فشل محي الشريحة" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "فشل المبرمجة" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "فشل حرق محمل الاقلاع" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "فشل انشاء مسار البيانات" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "فشل انشاء مسار التنزيلات" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s منفذ غير صالح" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s اسم غير معروف" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "تعذر الاستماع على منفذ TCP : %[1]s . خطأ غير متوقع %[2]v " -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "تعذر الاستماع على منفذ TCP : %s . العناوين قيد الاستخدام مسبقا" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "تعذر الرفع" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "الملف : " @@ -1161,7 +1182,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1169,7 +1190,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "اسم اللوحة المؤهلة بالكامل FQBN مثال : arduino:avr:uno" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "سيرفر GDB '%s' غير مدعوم" @@ -1186,7 +1207,7 @@ msgstr "يولد سكربت الاكمال" msgid "Generates completion scripts for various shells" msgstr "يولد سكربتات اكمال من اجل مختلف ال shells" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "يتم توليد النماذج الاولية للتوابع :" @@ -1194,7 +1215,7 @@ msgstr "يتم توليد النماذج الاولية للتوابع :" msgid "Global Flags:" msgstr "علامات عامة :" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1202,25 +1223,25 @@ msgstr "" "المتغيرات العامة تستخدم %[1]s بايت (%[3]s%%) من الرام ، تبقى %[4]s بايت " "للمتغيرات المحلية. الحجم الاقصى %[2]s بايت." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "المتغيرات العامة تستخدم %[1]s بايت من الذاكرة المتغيرة." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "خصائص التعرُّف" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "اذا تم تحديده فان مجموعة الكود الثنائي الذي تم بناؤه سيتم تصديره الى مجلد " @@ -1234,7 +1255,7 @@ msgstr "" "اذا تم تحديده فانه سيعطيك كل النوى المثبتة و القابلة للتثبيت بالاضافة الى " "التي تم تثبيتها يدويا" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "يتضمن الاحصاء المكتبات المدمجة (بالمنصات و IDE)" @@ -1246,30 +1267,30 @@ msgstr "يُضمِّن في الارشيف المجلد %s" msgid "Install libraries in the IDE-Builtin directory" msgstr "تثبيت المكتبات داخل مجلد IDE-Builtin" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "تم التنصيب" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "تم تثبيت %s" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "جار تثبيت %s" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "جار تثبيت المكتبة %s" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "جار تثبيت المنصة %s" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "جار تثبيت الاداة %s" @@ -1283,11 +1304,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "يقوم بتثبيت مكتبة او اكثر تم تحديدها مسبقا على النظام" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "خطأ داخلي في الكاش (Internal error in cache)" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "غير صالح '‍%[1]s' : الصفة : %[2]s" @@ -1296,28 +1317,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "نداء خاطئ : المفروض عرض مساعدة لكنه غير متوفر الا في الوضع النصي" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FBQN غير صالح" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "عنوان TCP غير صالح لان المنفذ غير موجود" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "URL غير صالح" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "URL الاضافي غير صالح : %v" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "ارشيف غير صالح : الملف %{1}s غير موجود في الارشيف %{2}s" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "تم اعطاء وسيط غير صالح %v" @@ -1326,27 +1347,27 @@ msgstr "تم اعطاء وسيط غير صالح %v" msgid "Invalid build properties" msgstr "خصائص البناء غير صالحة" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "data size regexp غير صالح : %s" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "eeprom size regexp غير صالح %s" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "نسخة خاطئة " -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "عنصر عير صالح %s" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "مكتبة غير صالحة" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy غير صالح '%[1]s': %[2]s" @@ -1358,7 +1379,7 @@ msgstr "اعداد خاطئ لـ log-level-- : %s" msgid "Invalid output format: %s" msgstr "صيغة اخراج خاطئة : %s" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "فهرس الحزمة غير صالح في %s" @@ -1370,7 +1391,7 @@ msgstr "معطيات خاطئة %s: النسخة غير مسموح بها" msgid "Invalid pid value: '%s'" msgstr "قيمة pid غير صالحة : '%s'" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "ملف تعريف غير صالح" @@ -1378,15 +1399,15 @@ msgstr "ملف تعريف غير صالح" msgid "Invalid recipe in platform.txt" msgstr "وصفة غير صالحة ضمن platform.txt" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "size regexp غير صالح : %s" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "مهلة غير صالحة" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "نسخة غير صالحة" @@ -1394,7 +1415,7 @@ msgstr "نسخة غير صالحة" msgid "Invalid vid value: '%s'" msgstr "قيمة vid غير صالحة : '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1402,73 +1423,73 @@ msgstr "" "يقوم بانتاج قاعدة الترجمة بدون القيام بالترجمة فعليا . سيتم تجاوز كل اوامر " "البناء ما عدا pre* hooks." -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "المكتبة" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "اسم المكتبة" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "الأخير" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "المكتبة %[1]s تم تحديدها بانها precompiled" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "تم تثبيت المكتبة %[1]s ولكن بنسخة اخرى : %[2]s" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "المكتبة %s مثبتة باخر اصدار مسبقا" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "المكتبة %s غير مثبتة" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "تعذر ايجاد المكتبة %s" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "المكتبة '%s' غير موجودة" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" "المكتبة لا تستطيع استخدام الملفين '%[1]s' 'و' '%[2]s' معا . تحقق مرة اخرى في" " '%[3]s'." -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "فشل تثبيت المكتبة" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "المكتبة مثبتة" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "رخصة" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "جار ربط كل شيء مع بعضه" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1476,11 +1497,11 @@ msgstr "" "انشاء قائمة اللوحات التي منصة دعمها مثبتة. تستطيع البحث \n" "عن لوحة محددة اذا قمت بتحديد اسم اللوحة" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "اظهر كل اللوحات المعروفة و FBQN الخاص بها" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "اعرض كل اللوحات المتصلة" @@ -1492,7 +1513,7 @@ msgstr "" "اعرض كل خيارات اللوحات مفصولة عن بعضها بفواصل . او يمكن استخدامها عدة مرات " "من اجل عدة خيارات" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1500,7 +1521,7 @@ msgstr "" "قائمة من خصائص البناء الخاصة مفصولة عن بعضها البعض بفواصل . او يمكن ان " "تستخدم عدة مرات من اجل عدة خصائص" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "انشاء قائمة بالمكتبات القابلة للتحديث" @@ -1512,24 +1533,24 @@ msgstr "انشاء قائمة بالمنصات القابلة للتحديث" msgid "Lists all connected boards." msgstr "انشاء قائمة بجميع اللوحات المتصلة" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "يحصي النوى و المكتبات التي يمكن ترقيتها" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "جار تحميل ملف الفهرس : %v" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "الموقع" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "ذاكرة منخفضة متبقية، مشاكل عدم إستقرار قد تحدث." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "القائم بالصيانة : %s" @@ -1543,69 +1564,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "الرسائل بهذه المرحلة و ما فوق سيتم تسجيلها . المراحل الصالحة هي : %s" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' مفقود من المكتبة في %[2]s" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FBQN مفقود (Fully Qualified Board Name)" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "يوجد منفذ مفقود" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "عنوان المنفذ مفقود" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "يوجد بروتوكول منفذ مفقود" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "المبرمج مفقود" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr " size regexp مفقود" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "مسار السكتش مفقود" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "المراقب '%s' غير موجود" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "اعدادات منفذ المراقبة " -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "العثور على عدة مكتبات لـ\"%[1]s\"" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "الاسم" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "الاسم\"%s\"" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "منفذ التحميل الجديد: %[1]s(%[2]s)" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "لا يوجد اية لوحات" @@ -1613,19 +1634,19 @@ msgstr "لا يوجد اية لوحات" msgid "No default port or FQBN set" msgstr "لم يتم تحديد منفذ افتراضي او FQBN " -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "لا توجد اية مكتبات" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "لا يوجد مكتبات مثبتة" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "لا توجد مكتبات تطابق بحثك" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1633,19 +1654,19 @@ msgstr "" "لا توجد مكتبات متطابقة مع بحثك\n" "هل تقصد...\n" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "لا يوجد تحديثات متاحة للمكتبات" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "لا يوجد مراقب متاح لبرتوكول المنفذ %s" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "لا يوجد مكتبات او منصات قديمة" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "لا توجد منصات مثبتة" @@ -1653,31 +1674,31 @@ msgstr "لا توجد منصات مثبتة" msgid "No platforms matching your search." msgstr "ﻻ يوجد منصات تطابق بحثك" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "تعذر ايجاد منفذ رفع , باستخدام %s كرجوع احتياطي fallback" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "تعذر ايجاد حل تبعيات صالح" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "الذاكرة غير كافية؛ راجع %[1]s لنصائح حول استخدامها بكفائة" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "غير مستخدم : %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "نظام التشغيل:" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "لوحة أردوينو الرسمية:" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1685,46 +1706,46 @@ msgstr "" "ازالة تفاصيل المكتبة في كل النسخ عدا اخر نسخة (يعطي اخراج json مضغوط بشكل " "اكبر)" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "فتح منفذ تواصل مع اللوحة" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "اختيار:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "اختياري، يمكن أن يكون: %s. يُستخدم لإخبار ال gcc أي مستوي تحذير يَستخدِم (-W" " flag)" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "اختياري , يقوم بتنظيف مجلد البناء ولا يستخدم اي بناء مخزن مؤقتا" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "اختياري , يحسن مخرجات المترجم خلال تصحيح الاخطاء بدلا عن الاصدار" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "اختياري , يكبح كل خرج" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "اختياري، يُفعل الوضع المفصل." -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "اختياري , مسار لملف json. الذي يحتوي على البدائل من الكود المصدري للمشروع" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1749,35 +1770,35 @@ msgstr "يكتب فوق ملف ino. موجود مسبقا" msgid "PACKAGER" msgstr "المُغَلِّف" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "URL الخاص بالحزمة" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "حافظ الحزمة :" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "اسم الحزمة :" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "المساعدة الخاصة بالحزمة اونلاين" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "موقع الحزمة على الويب" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "المقطع : %s" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "المسار" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1785,7 +1806,7 @@ msgstr "" "المسار الى مجموعة من المكتبات . يمكن استخدامه عدة مرات او من اجل عدة مدخلات " "حيث يتم فصلها باستخدام فاصلة" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1797,7 +1818,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "مسار للملف حيث تُكتب السجلات" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1805,19 +1826,19 @@ msgstr "" "المسار الذي يتم فيه حفظ الملفات التي تمت ترجمتها , اذا تم ازالته , سيتم " "انشاء مجلد داخل المسار المؤقت الافتراضي في نظام التشغيل" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "جار تفعيل 1200-bps touch reset على المنفذ التسلسلي %s" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "المنصة %s مثبتة سابقا" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "تم تثبيت المنصة: %s" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1825,55 +1846,55 @@ msgstr "" "المنصة %sغير موجودة في اي فهرس معروف\n" "ربما تحتاج الى اضافة عنوان url من طرف 3 " -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "تم إلغاء تثبيت المنصة: %s" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "المنصة '%s' هي باخر اصدار مسبقا" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "المنصة '%s' غير موجودة" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "Platform ID" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "id المنصة غير صحيح" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "عنوان url للمنصة :" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "معمارية المنصة :" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "فئة المنصة :" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "المجموع الاختباري للمنصة :" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "اسم ملف المنصة:" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "اسم المنصة:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "حجم المنصة (بالبايت) :" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1881,7 +1902,7 @@ msgstr "" "الرجاء تحديد FQBN . لقد تم اكتشاف عدة لوحات على المنفذ %[1]s الذي يستخدم " "بروتوكول %[2]s" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1889,27 +1910,28 @@ msgstr "" "الرجاء تحديد FQBN . تعذر التعرف على اللوحة على المنفذ %[1]s ذات البروتوكول " "%[2]s " -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "منفذ" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "المنفذ %v مغلق" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "خطا في مراقب المنفذ" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "تعذر ايجاد المكتبة التي تمت ترجمتها مسبقا في \"%[1]s\"" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "طباعة تفاصيل عن لوحة." -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "طباعة الكود قبل معالجته الى stdout بدلا من الترجمة " @@ -1925,35 +1947,35 @@ msgstr "طباعة اعدادات الضبط الحالية." msgid "Prints the current configuration." msgstr "طباعة اعدادات الضبط الحالية." -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "تعذر ايجاد الملف الشخصي '%s'" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "تعذر ايجاد المبرمجة '%s'" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "اسم المبرمجة" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "المبرمجة التي سيتم استخدامها , مثال : atmel_ice" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "المبرمجات : " -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "الخاصية '%s' غير معرفة" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "البروتوكول" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "يشمل : %s" @@ -1961,94 +1983,141 @@ msgstr "يشمل : %s" msgid "Removes one or more values from a setting." msgstr "يزيل قيمة او اكثر من اعداد" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "تبديل %[1]s ب %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "استبدال المنصة %[1]s بـ %[2]s" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "الادوات المطلوبة :" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "التشغيل كناطر على المنفذ : %s" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "التشغيل ضمن الوضع الصامت , يظهر فقط شاشة الادخال و الاخراج " -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "يعمل كناطر من اجل تهيئة النوى و المكتبات و يتم مرة واحدة" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "جار تشغيل البناء العادي من النواة" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "حفظ ادوات البناء ضمن هذا المجلد" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "البحث عن لوحة ضمن مدير اللوحات باستخدام كلمات مفتاحية" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "البحث عن لوحة ضمن مدير اللوحات" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "البحث عن نواة ضمن مدير اللوحات باستخدام كلمات مفتاحية" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "البحث عن نواة ضمن مدير اللوحات" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." -msgstr "البحث عن بيانات مكتبة او اكثر (غير حساس لحالة الاحرف)" +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" +msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." -msgstr "البحث عن بيانات مكتبة او اكثر" +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." +msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "الجملة : %s" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "استجابة السيرفر : %s" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2068,7 +2137,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "تحديد مكان حفظ ملف الضبط" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "اعداد" @@ -2080,11 +2149,11 @@ msgstr "مفتاح الاعداد غير موجود" msgid "Show all available core versions." msgstr "اظهار كل النوى المتوفرة" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "اظهار كل اعدادات منفذ التواصل" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "اظهار اللوحات التي تم تحديدها كمخفي في المنصة" @@ -2096,26 +2165,26 @@ msgstr "" "يظهر خصائص البناء . الخصائص متوسعة , استخدم \n" "\"show properties=unexpanded--\" اذا اردتها كما كانت معرفة بالظبط" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "اظهار تفاصيل اللوحة كاملة" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" "اظهار معلومات حول لوحة, خصوصا اذا كانت اللوحة تملك خيار لتكون محددة في FQBN " -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "اظهار اسم المكتبة فقط" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "عرض قائمة المبرمجات المتاحة" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "اظهار البيانات الوصفية لجلسة التصحيح بدلا من بدء المصحح" @@ -2124,11 +2193,11 @@ msgstr "اظهار البيانات الوصفية لجلسة التصحيح ب msgid "Show outdated cores and libraries after index update" msgstr "اظهار النوى و المكتبات القديم بعد تحديث الفهرس" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "عرض قائمة المكتبات المثبتة" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2145,11 +2214,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "يعرض قائمة من المنصات المثبتة" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "يظهر قائمة الامثلة الخاصة بالمكتبات" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2166,7 +2235,7 @@ msgstr "عرض رقم نسخة Arduino CLI المثبتة على نظامك" msgid "Shows version number of Arduino CLI." msgstr "عرض رقم نسخة Arduino CLI" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "الحجم (بالبايت) :" @@ -2176,7 +2245,7 @@ msgid "" "path" msgstr "لا يمكن وضع المشروع ضمن مسار البناء . الرجاء تحديد مسار بناء مختلف" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "تم انشاء المشروع في : %s" @@ -2184,13 +2253,13 @@ msgstr "تم انشاء المشروع في : %s" msgid "Sketch profile to use" msgstr "ملف التعريف للمشروع الذي سيتم استخدامه" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "الشيفرة البرمجية كبير جدا; راجع %[1]s\n" "لنصائح لاختصارها." -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2198,64 +2267,60 @@ msgstr "" "المشروع يستخدم %[1]s بايت (%[3]s%%) من ذاكرة التخزين . الحجم الاقصى للبرنامج" " %[2]s بايت" -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" "المشاريع ذوي اللاحقة pde. في حالة تقاعد , الرجاء تغيير لاحقة الملف الى ino." -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "تخطي ربط البرنامج النهائي القابل للتنفيذ" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "جار تخطي 1200bps touch reset لانه لم يتم تحديد منفذ تسلسلي" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "جار تخطي انشاء الارشيف لـ : %[1]s" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "جار تخطي ترجمة : %[1]s" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "جار تخطي الكشف عن توابع المكتبة %[1]s التي تمت ترجمتها مسبقا" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "جار تخطي ضبط المنصة" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "جار تخطي ضبط الاداة" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "جار تخطي : %[1]s" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "يمكن تحديث بعض الفهارس" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" "فشلت بعض الترقيات , الرجاء الاطلاع على الخرج من اجل المزيد من المعلومات" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "TOUCH : خطا اثناء اعادة الضبط : %s" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "منفذ TCP  الذي سيستمع اليه الناطر" @@ -2263,11 +2328,19 @@ msgstr "منفذ TCP  الذي سيستمع اليه الناطر" msgid "The custom config file (if not specified the default will be used)." msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سيتم استخدام الملف الافتراضي)" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "يجب استخدام العلامة debug-file-- مع debug--" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2283,11 +2356,11 @@ msgstr "" "المفتاح '%[1]v' ليس قائمة من الاشياء , لا يمكن ازالته \n" "ربما يمكنك استخدام %[2]s" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "يوجد عدة نسخ مثبتة من المكتبة %s" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2295,7 +2368,7 @@ msgstr "" "اسم مفتاح التشفير المخصص الذي سيستخدم لتشفير ملف ثنائي اثناء الترجمة . " "يستخدم فقط من قبل المنصات التي تدعم ذلك" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2307,7 +2380,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "تنسيق الخرج الخاص بالسجلات , يمكن ان يكون : %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2315,7 +2388,7 @@ msgstr "" "المسار الى المجلد للبحث عن مفتاح خاص لتوقيع و تشفير الملف الثنائي , يتم " "استخدامه من قبل المنصات التي تدعم ذلك فقط" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "المنصة لا تدعم '%[1]s' من اجل المكتبات الغير مترجمة" @@ -2330,7 +2403,7 @@ msgstr "" "بواسطة مسافة , اذا لم يتم تحديد اي مدخلات للامر , سيقوم بتحديث كل المكتبات " "التي لديها تحديث متاح" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2338,70 +2411,71 @@ msgstr "" "هذا الامر يظهر قائمة النوى و/أو المكتبات المثبتة التي يمكن ترقيتها. اذا لم " "يوجد اي شيء يحتاج للتحديث فالخرج سيكون فارغا" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "الاداة %s مثبتة مسبقا" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "تم الغاء تثبيت الاداة %s" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "مجموعة الادوات '%s' غير مدعومة" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "مسار مجموعة الادوات" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "بادئة مجموعة الادوات " -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "نوع مجموعة الادوات" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "جرب تشغيل %s" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "يفعل الوضع المطول" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "نوع" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "الأنواع: %s" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" "تعذر تخزين نواة البناء مؤقتا , الرجاء اخبار المحافظين %[1]s لمتابعة %[2]s" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "تعذر ايجاد مجلد Documents : %v" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "تعذر ايجاد مجلد Local App Data : %v" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "تعذر ايجاد user home dir : %v" @@ -2409,17 +2483,17 @@ msgstr "تعذر ايجاد user home dir : %v" msgid "Unable to open file for logging: %s" msgstr "تعذر فتح ملف من اجل انشاء سجلات : %s" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "تعذر تقطيع عنوان URL" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "إلغاء تثبيت %s" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "إلغاء تثبيت %s، الأداة لم تعد مطلوبة" @@ -2433,11 +2507,11 @@ msgstr "يلغي تثبيت نواة او اكثر مع ادواتها و توا msgid "Uninstalls one or more libraries." msgstr "يلغي تثبيت مكتبة او اكثر " -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "غير معروف" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "FQBN غير معروف" @@ -2465,7 +2539,7 @@ msgstr "يحدث فهرس المكتبات الى اخر نسخة" msgid "Updates the libraries index." msgstr "يحدث فهرس المكتبات" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "الترقية لا تقبل مدخلات مع نسخة" @@ -2485,40 +2559,40 @@ msgstr "يحدث المكتبات المثبتة" msgid "Upgrades one or all installed platforms to the latest version." msgstr "يحدث منصة او كل المنصات الى اخر نسخة" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "يرفع مشاريع الاردوينو" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "يرفع مشاريع الاردوينو , و لا يقوم بترجمة المشروع قبل الرفع مطلقا !" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "عنوان منفذ الرفع : مثال , COM3 او /dev/ttyACM2" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "تم ايجاد منفذ الرفع في %s" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "بروتوكول منفذ الرفع , مثال : serial \"تسلسلي\"" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "يرفع الملف الثنائي بعد الترجمة" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "يرفع محمل الاقلاع على اللوحة باستخدام مبرمجة خارجية" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "يرفع محمل الاقلاع" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2540,48 +2614,49 @@ msgstr "الاستخدام" msgid "Use %s for more information about a command." msgstr "استخدم %s من اجل المزيد من المعلومات حول امر معين" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "المكتبة المستخدمة" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "المنصة المستخدمة" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "مستخدم : %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل المجلد %[2]s" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "يتم استخدام توابع المكتبة التي تم تخزينها مؤقتا من اجل الملف : %[1]s" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام النواة '%[1]s' من منصة داخل الملف %[2]s " -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "استخدام المكتبة %[1]s الإصدار %[2]s في المجلد: %[3]s %[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "استخدام المكتبة %[1]s في المجلد: %[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "يتم استخدام النواة التي تم ترجمتها مسبقا %[1]s" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "يتم استخدام المكتبة التي تم ترجمتها مسبقا %[1]s" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "استخدام الملف المترجم سابقا: %[1]s" @@ -2589,46 +2664,46 @@ msgstr "استخدام الملف المترجم سابقا: %[1]s" msgid "VERSION" msgstr "النسخة" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "رقم النسخة" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "القيم" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "التاكد من الملف الثنائي الذي سيتم رفعه قبل الرفع" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "النسخة" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "النسخ : %s" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "تحذير , تعذرت تهيئة المنصة %s" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "تحذير , تعذر تهيئة الاداة %s" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "تحذير : المشروع سيترجم باستخدام مكتبة خاصة او اكثر . " -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2636,17 +2711,17 @@ msgstr "" "تحذير: المكتبة %[1]s تعمل على معمارية %[2]s وقد لا تتوافق مع لوحتك الحالية " "التي تعمل على معمارية %[3]s." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "يتم انتظار منفذ الرفع (upload port) ... " -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "تحذير , اللوحة %[1]s لا تُعرّف الخاصة %[2]s . تم وضع التحديد الالي لـ %[3]s" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "الموقع : %s" @@ -2664,21 +2739,21 @@ msgstr "تكتب الاعدادات الضبط الحالية في ملف الت msgid "Writing config file: %v" msgstr "جار كتابة ملف التهيئة : %v" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "لا يمكنك استخدام flag %s اثناء الترجمة باستخدام بروفايل (while compiling " "with a profile)" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "تلبيد \"hash\" الارشيف يختلف عن تلبيد \"hash\" الفهرس" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "الارشيف غير صالح : يوجد عدة ملفات داخل ملف zip في المرحلة العليا" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "الارشيف غير صالح : لا يوجد اي ملفات داخل ملف zip في المرحلة العليا" @@ -2686,78 +2761,76 @@ msgstr "الارشيف غير صالح : لا يوجد اي ملفات داخل msgid "archivePath" msgstr "مسار الارشيف" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "نمط arduino-preprocessor مفقود" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "الكشف التلقائي عن بقايا البناء : %s" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "متوفر في الوضع النصي حصرا" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "تعذر ايجاد الملف الثنائي (Binary file) داخل %s" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "اللوحة %s غير موجودة" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "اسم اللوحة" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "مجلد المكتبات المدمجة غير محدد" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "جار استدعاء %[1]s :%[2]w" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "تعذر العثور على اخر اصدار من %s" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "تعذر العثور على اخر اصدار من الاداة %s" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "تعذر ايحاد ملف المشروع الرئيسي داخل %s" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "تعذر ايجاد نمط للاكتشاف بواسطة id %s" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "تعذر استعادة standard error stream %s" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "تعذر استعادة standard error stream %s" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "المرشحون" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "تعذر تشغيل اداة الرفع : %s" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "جار التاكد من اكتمال ملف الارشيف" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "جار تنظيف مسار البناء (build path)" @@ -2765,103 +2838,107 @@ msgstr "جار تنظيف مسار البناء (build path)" msgid "command" msgstr "الامر" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "الامر '%[1]s' اخفق في : %[2]s" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "الامر اخفق : %s" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" "التواصل غير متزامن (communication out of sync) , توقعتُ وصول '%[1]s' لكن وصل" " ما يلي '%[2]s'" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "جار حوسبة التلبيد \"hash\" : %s" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "جار نسخ المكتبة الى مجلد الوجهة" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "تعذر ايجاد ادوات صالحة للبناء (valid build artifact)" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "تعذر الكتابة فوقه" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "تعذر ازالة المكتبة القديمة" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "تعذر تحديث ملف المشروع" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "جار انشاء ملف تخزن مؤقت للنواة : %s" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "جار انشاء installed.json داخل %[1]s : %[2]s" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "جار انشاء مسار مؤقت للاستخراج : %s" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" "قسم البيانات تخطى الحجم المتوفر في اللوحة (data section exceeds available " "space in board)" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "التبعية (dependency) '%s' غير متوفرة" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "الوجهة موجودة مسبقا" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "تعذر التثبيت لان مجلد الوجهة %s موجود مسبقا " -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "مجلد الوجهة موجودة مسبقا" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "المجلد غير موجود : %s" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "عملية الكشف %[1]s لم تبدأ : %[2]w" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "المستكشف %s غير موجود" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "تعذر تثبيت المستكشف %s" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "تعذر ايجاد اصدار المستكشف %s" @@ -2877,19 +2954,23 @@ msgstr "تنزيل اخر نسخة من Arduino SAMD core" msgid "downloaded" msgstr "تم تحميله" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "جار تنزيل الاداة %[1]s : %[2]s" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "معرف اللوحة خالي (empty board identifier)" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "خطا اثناء تحميل ملفات المشروع :" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "تعذر فتح %s" @@ -2897,7 +2978,7 @@ msgstr "تعذر فتح %s" msgid "error parsing value: %v" msgstr "تعذر تقطيع القيمة : %v" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "تعذر تقطيع قيود النسخة" @@ -2910,15 +2991,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "خطا اثناء القيام باستعلامات مع Arduino Cloud Api" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "جار استخراج الارشيف : %s" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "جار استخراج الارشيف : %w" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "تعذر حساب تلبيد \"hash\" ملف \"%s\"" @@ -2926,15 +3007,15 @@ msgstr "تعذر حساب تلبيد \"hash\" ملف \"%s\"" msgid "failed to initialize http client" msgstr "تعذر تهيئة http client" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "حجم الارشيف الذي تم جلبه يختلف عن الحجم المحدد في الفهرس" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "ملفات الارشيف يجب ان توضع في مسار فرعي" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "جار البحث عن المسار المطلق (absolute path) لـ %s" @@ -2942,7 +3023,7 @@ msgstr "جار البحث عن المسار المطلق (absolute path) لـ %s msgid "flags" msgstr "الاعلام" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "الوصلة الرمزية symlink التالية %s" @@ -2950,12 +3031,12 @@ msgstr "الوصلة الرمزية symlink التالية %s" msgid "for a specific version." msgstr "من اجل نسخة محددة" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "من اجل اخر نسخة" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "من اجل النسخة الحالية " @@ -2968,73 +3049,71 @@ msgstr "جار انتاج installation.id : %w" msgid "generating installation.secret: %w" msgstr "جار انتاج installation.secret : %w" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "جار جلب معلومات ملف الارشيف : %s" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "جار جلب معلومات الارشيف : %s" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "جار جلب مسار الارشيف : %s" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "جار الحصول على خصائص البناء للوحة %[1]s : %[2]s " -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع المستكشف من اجل المنصة %[1]s:%[2]s" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع الشاشة من اجل المنصة %[1]s:%[2]s" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "جار الحصول على المجلد الاصل لـ %[1]s : %[2]s" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع الاداة من اجل المنصة %[1]s:%[2]s" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "لم يتم تحديد مجلد التثبيت" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "جار تثبيت الاداة %[1]s : %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "جار تثبيت المنصة %[1]s : %[2]s" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "الطرفية \"terminal \" التفاعلية لا تدعم تنسيق الخرج التالي %s" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" غير صالحة %s" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "رسالة 'add' غير صالحة : المنفذ غير موجود" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "رسالة 'remove' غير صالحة : المنفذ غير موجود" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "تنسيق المجموع الاختباري \"checksum\" غير صالح : %s" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "اعداد التهيئة غير صالح : %s" @@ -3046,15 +3125,15 @@ msgstr "معمارية النواة الفارغة غير صالحة '%s'" msgid "invalid empty core argument" msgstr "معطى النواة الفارغة غير صالح" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "اسم النواة الفارغة غير صالح '%s'" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "مرجع النواة الفارغة غير صالح '%s'" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "نسخة النواة الفارغة غير صالحة : %s" @@ -3066,39 +3145,39 @@ msgstr "اسم المكتبة الفارغة غير صالح " msgid "invalid empty library version: %s" msgstr "نسخة المكتبة الفارغة غير صالحة : %s" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "تم ايجاد اعداد اعداد فارغ غير صالح" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "عنوان url لـ git غير صالح" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "علامة تلبيد \"hash\" غير صالحة '%[1]s' : %[2]s" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "عنصر غير صالح %s" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "يوجد directive للمكتبة \"عبارة برمجية بداخل الكود المصدري\" غير صالح %s" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "تخطيط المكتبة غير صالح : %s" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "موقع المكتبة غير صالح : %s" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "مكتبة غير صالحة : لا يوجد ترويسة في الملف" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "خيار غير صالح %s" @@ -3114,31 +3193,31 @@ msgstr "مسار غير صالح اثناء انشاء مجلد التهيئة % msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "مسار غير صالح اثناء كتابة ملف inventory %[1]s الخطا : %[2]w" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "حجم ملف ارشيف المنصة غير صالح : %s" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "معرف المنصة غير صالح" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "عنوان url لفهرس المنصة غير صالح" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "مرجع الشاشة القابلة للوصل غير صالح : %s" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "قيمة الضبط الخاصة بالمنفذ غير صالحة : %s:%s" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "اعدادات الضبط للمنفذ غير صالحة" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "وصفة غير صالحة %[1]s : %[2]s" @@ -3152,150 +3231,169 @@ msgstr "" "\"_\" , المحارف المتبقية يمكنها ان تحوي \"-\" و \".\" بالاضافة الى ما سبق , " "المحرف الاخير لا يمكن ان يكون \".\"" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "قيمة خاطئة '%[1]s' من اجل الخيار %[2]s" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "مجلد النسخة خاطئ %s" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "نسخة خاطئة " -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "تعذر ايجاد المفتاح في الاعدادات" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "الكلمات المفتاحية" -#: arduino/libraries/librariesmanager/install.go:130 +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" +msgstr "" + +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 msgid "library %s already installed" msgstr "المكتبة %s مثبتة مسبقا" -#: arduino/libraries/librariesmanager/install.go:319 +#: internal/arduino/libraries/librariesmanager/install.go:313 msgid "library not valid" msgstr "المكتبة غير صالحة" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" -msgstr "مسار المكتبة غير موجود : %s" - -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "جار الاستماع للمنافذ التسلسلية" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "جار تحميل %[1]s:%[2]s" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "جار تحميل اللوحات : %s" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "جار تحميل حزمة الادوات من %s" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "جار تحميل ملف json index %[1]s : %[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "جار تحميل المكتبة من %[1]s : %[2]s" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "جار تحميل خصائص المكتبة (library.properties) : %s" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "جار تحميل المنصة اصدار %s" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "جار تحميل platform.txt" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "جار تحميل المنصات المطلوبة %s" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "جار تحميل الادوات المطلوبة %s" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "جار تحميل اصدار الاداة (tool release) في %s" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "جار البحث عن boards.txt داخل %s" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "الملف الرئيسي مفقود من المشروع : %s" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" مفقودة %s" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "المجموع الاختباري (checksum) لـ %s مفقود" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "تعذر العثور على الحزمة %[1]s التي التي تشير اليها اللوحة %[2]s " -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "يوجد حزمة مفقودة من الفهرس %s , لا يمكن ضمان التحديثات المستقبلية بسبب ذلك" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة %[1]s : %[2]s التي التي تشير اليها اللوحة %[3]s" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة اصدار (platform release) %[1]s : %[2]s التي التي تشير" " اليها اللوحة %[3]s" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "تعذر ايجاد اصدار المراقب : %s" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "جار نقل الارشيف الذي تم استخراجه الى مجلد الوجهة : %s" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "تم ايجاد اكثر من build artifacts : '%[1]s' و '%[2]s'" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "تم العثور على اكثر من ملف مشروع رئيسي main sketch file (%[1]v,%[2]v)" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3303,111 +3401,106 @@ msgstr "" "لا يوجد نسخة متوافقة من الاداة %[1]s من اجل نظام التشغيل الحالي , جرب " "التواصل مع %[2]s" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "لم يتم تحديد اي برنامج قابل للتنفيذ (executable)" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "لا يوجد نسخ محددة" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "لم يتم تحديد مجلد/ملف المشروع او البناء " -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "لا يوجد ملف او مجلد مشابه" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "لا يوجد مجلد اصلي في الارشيف , تم ايجاد %[1]s و %[2]s" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "لم يتم تحديد اي منفذ للرفع" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "تعذر ايجاد اي مشروع صالح في %[2]s : %[1]sمفقود" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "لا يوجد نسخة متوفرة لنظام التشغيل الحالي , جرب التواصل مع %s" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "لا يعمل في الطرفية \"terminal\"" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "جار فتح ملف الارشيف : %s" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "جار فتح boards.txt" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "جار فتح منفذ عند 1200bps" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "جار فتح ملف التوقيع : %s" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "جار فتح الملف الهدف : %s" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "الحزمة %sغير موجودة " -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "الحزمة '%s' غير موجودة" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "جار تقطيع حزمة فهرس IDE" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "جار تقطيع FQBN : %s" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "جار تقطيع ملف library_index.json : %s" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "المسار المحدد ليس مجلدا لمنصة : %s" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "تعذر ايجاد المنصة %[1]s في الحزمة %[2]s" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" -msgstr "لا يوجد اصدارات متاحة للمنصة %s" - -#: arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/packagemanager/package_manager.go:335 msgid "platform %s is not installed" msgstr "المنصة %s غير مثبتة" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" +msgstr "" + +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "المنصة غير مثبتة" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "الرجاء استخدام build-property-- بدلا من ذلك" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "تم اضافة الكشف عن الاشياء القابلة للوصل مسبقا : %s" @@ -3415,115 +3508,108 @@ msgstr "تم اضافة الكشف عن الاشياء القابلة للوصل msgid "port" msgstr "المنفذ" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "تعذر ايجاد المنفذ : %[1]s %[2]s" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "نسخة البروتوكول غير مدعومة : تم طلب %[1]d , فكان الرد %[2]d" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "نسخة البروتوكول غير مدعومة : تم طلب 1 , فكان الرد %d" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "يتم قراءة %[1]s : %[2]s" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "جار قراءة المجلد %[1]s : %[2]s" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "جار قراءة المجلد %[1]s الذي يحوي %[2]w" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "جار قراءة المجلد %s" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "جار قراءة المجلد %w الذي يحوي %s" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "جار قراءة الملف %[1]s : %[2]s" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" -msgstr "جار قراءة الملفات %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" +msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "جار قراءة ترويسة المكتبة : %s" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "جار قراءة المجلد الاصلي للمكتبة %s" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "جار قراءة ترويسة المكتبة %w " -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "جار قراءة library_index.json : %s" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "جار قراءة المجلد الاصلي للحزمة : %s" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "تعذر ايجاد الوصفة '%s'" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "تعذر ايجاد الاصدار %[1]s للاداة %[2]s" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "الاصدار لا يمكن ان يكون صفر \"nil\"" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "جار ازالة ملف الارشيف المتخرب %s" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "جار ازالة مجلد المكتبة %s" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "جار ازالة ملفات المنصة %s" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "تعذر ايجاد النسخة المطلوبة %[1]s من اجل المنصة %[2]s" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "جار ازالة المفاتيح العامة للاردوينو : %s" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "جار فحص الامثلة %s" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" -msgstr "جار البحث عن builtin_tools_versions.txt في %[1]s : %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" +msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "جار البحث عن المجلد الاصلي لـ %s" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "جار ضبط DTR الى OFF" @@ -3540,7 +3626,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "اسم المشروع طويل جدا (%[1]d محرف) , الطول الاقصى المسموح به هو %[2]d" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "مسار المشروع غير صالح" @@ -3548,96 +3634,89 @@ msgstr "مسار المشروع غير صالح" msgid "sketchPath" msgstr "مسار المشروع" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "المصدر \"source \" ليس مجلدا" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "جار بدء الاكتشاف %s" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "جار فحص المجموع الاختباري للارشيف %s" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "جار فحص حجم الارشيف : %s" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "جار فحص ما اذا كان الارشيف تم تخزينه مؤقتا %s" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "جار فحص تكامل ملف الارشيف المحلي : %s" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "القسم النصي تخطى المساحة المتوفرة في اللوحة" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "ربما قاعدة بيانات الترجمة ناقصة او غير دقيقة" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "هذه المنصة لا تملك اي اصدارات" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "استجاب السيرفر بالحالة %s" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "نفذ الوقت اثناء انتظار الرسالة " -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "نفذ الوقت اثناء انتظار الرسالة من %s" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحزم" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "الاداة %s غير موجودة" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "الاداة غير مثبتة" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "اصدار الاداة غير موجود : %s" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "نسخة الاداة %s غير موجودة" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "يجب ان يكون هناك اصدارين من نفس المكتبة %[1]s , هذا %[2]s و هذا %[3]s" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "تعذر حوسبة المسار النسبي للمشروع من اجل العنصر" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "تعذر انشاء مجلد لحفظ المشروع" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "تعذر انشاء مجلد يحوي العنصر" @@ -3645,31 +3724,31 @@ msgstr "تعذر انشاء مجلد يحوي العنصر" msgid "unable to marshal config to YAML: %v" msgstr " %v : unable to marshal config to YAML" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "تعذر قراءة محتويات العنصر الهدف" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "تعذر قراءة محتويات العنصر الاصل" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "تعذر الكتابة الى المجلد الوجهة" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "حزمة غير معروفة %s" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "منصة غير معروفة %s:%s" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "لاحقة المشروع غير معروفة '%s'" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "خوارزمية تليبد \"hash\" غير مدعومة %s" @@ -3681,27 +3760,27 @@ msgstr "جار تحديث arduino:samd لاخر اصدار" msgid "upgrade everything to the latest version" msgstr "تحديث كل شيء الى اخر اصدار" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "خطا اثناء الرفع %s" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "مجلد المستخدم غير محدد" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "ادخال المستخدم لا يدعم تنسيق الخرج '%s'" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "ادخال المستخدم غير مدعوم في الوضع الغير تفاعلي" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "الاصدار %s غير مدعوم من اجل نظام التشغيل الحالي" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "الاصدار %s غير موجود" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 2b5ddd0af82..512be6e636d 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -8,10 +8,11 @@ # C A, 2022 # Luc Ohles, 2023 # Jannis Lämmle, 2023 +# Jens Wulf, 2023 # msgid "" msgstr "" -"Last-Translator: Jannis Lämmle, 2023\n" +"Last-Translator: Jens Wulf, 2023\n" "Language-Team: German (https://app.transifex.com/arduino-1/teams/108174/de/)\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -20,79 +21,79 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Version: %[3]s Commit: %[4]s Datum: %[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "Der Ordner %[1]s wird nicht länger unterstützt! Siehe %[2]s für weitere " "Informationen" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s ungültig, alles wird neu gebaut" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s wird benötigt, aber %[2]s ist aktuell installiert." -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "Muster %[1]s fehlt" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s, Nachricht: %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s, port: %[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s, Ports: %[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, Protokollversion: %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s bereits heruntergeladen" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s und %s können nicht gemeinsam verwendet werden" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s installiert" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s ist bereits installiert." -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s ist kein Verzeichnis" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s wird nicht vom Paketmanager verwaltet" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%s muss installiert sein." -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "Muster %s fehlt" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "'%s' hat eine ungültige Signatur" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -100,11 +101,11 @@ msgstr "" "'build.core' und 'build.variant' verweisen auf andere Plattformen: %[1]s and" " %[2]s" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(versteckt)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(veraltet)" @@ -134,11 +135,11 @@ msgstr "" msgid ".ino file already exists" msgstr ".ino-Datei existiert bereits" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "Eine neue Version von Arduino CLI ist verfügbar:" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "Zum Hochladen ist ein Programmer benötigt" @@ -155,7 +156,7 @@ msgstr "Arduino CLI Handbuch" msgid "Additional help topics:" msgstr "Weitere Hilfethemen:" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "Fügt einen oder mehrere Werte zu einer Einstellung hinzu." @@ -163,31 +164,35 @@ msgstr "Fügt einen oder mehrere Werte zu einer Einstellung hinzu." msgid "Aliases:" msgstr "Decknamen:" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "Alle Plattformen sind aktuell" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "Alle Kerne sind bereits auf der neuesten Version" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "Bereits installiert %s" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternativen für %[1]s: %[2]s" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "Beim Hinzufügen von Prototypen ist ein Fehler aufgetreten" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "Ein Fehler trat beim erkennen der Bibliotheken auf" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "Debug-Protokollierung an die angegebene Datei anhängen" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "Architektur: %s" @@ -195,13 +200,13 @@ msgstr "Architektur: %s" msgid "Archive already exists" msgstr "Archiv existiert bereits" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "Gebauter Kern wird archiviert (zwischengespeichert) in: %[1]s" #: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 msgid "Arduino CLI sketch commands." -msgstr "" +msgstr "Arduino CLI Sketch Befehle." #: internal/cli/cli.go:70 msgid "Arduino CLI." @@ -217,7 +222,7 @@ msgstr "Arduino-Platinen-Befehle." #: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 msgid "Arduino cache commands." -msgstr "" +msgstr "Arduino-Cache-Befehle." #: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 msgid "Arduino commands about libraries." @@ -231,19 +236,19 @@ msgstr "Arduino-Konfigurationsbefehle." msgid "Arduino core operations." msgstr "Arduino-Kern-Operationen." -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "Argumentefehler: %v" #: internal/cli/board/attach.go:35 msgid "Attaches a sketch to a board." -msgstr "" +msgstr "Ordnet einen Sketch einem Board zu." -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "Autor: %s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -251,7 +256,7 @@ msgstr "" "Automatische Installation der Bibliotheken kann in diesem Fall nicht " "durchgeführt werden, bitte lösche alle Duplikate und versuche erneut." -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -259,7 +264,7 @@ msgstr "" "Automatische Desinstallation der Bibliotheken kann in diesem Fall nicht " "durchgeführt werden, bitte entferne sie manuell." -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "Verfügbar" @@ -267,79 +272,81 @@ msgstr "Verfügbar" msgid "Available Commands:" msgstr "Verfügbare Befehle:" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "Binärdatei zum Hochladen." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "Platinenname" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Platinenname:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Platinenversion:" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "Bootloader-Datei angegeben, aber nicht vorhanden: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" +"Builds von 'core.a' werden in diesem Pfad gespeichert, gecached und " +"wiederverwendet." -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "Datenverzeichnis %s kann nicht erstellt werden" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "Sketch kann nicht erstellt werden" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "Bibliothek kann nicht heruntergeladen werden" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "Abhängigkeiten für die Plattform %s können nicht gefunden werden" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "Sketch kann nicht geöffnet werden" #: internal/cli/config/set.go:54 msgid "Can't set multiple values in key %v" -msgstr "" +msgstr "Kann nicht mehrere Werte zu Key %v zuordnen" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" -msgstr "" +msgstr "Sketch kann nicht aktualisiert werden" #: internal/cli/arguments/arguments.go:36 msgid "Can't use the following flags together: %s" -msgstr "" +msgstr "Die folgenden Flags können nicht gemeinsam verwendet werden: %s" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "Konfigurationsdatei kann nicht geschrieben werden: %v" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" -msgstr "" +msgstr "Debug-Log kann icht geschrieben werden: %s" #: commands/compile/compile.go:160 commands/compile/compile.go:163 msgid "Cannot create build cache directory" -msgstr "" +msgstr "Cache-Verzeichnis kann nicht angelegt werden" #: commands/compile/compile.go:148 msgid "Cannot create build directory" -msgstr "" +msgstr "Build-Verzeichnis kann nicht angelegt werden" #: internal/cli/config/init.go:94 msgid "Cannot create config file directory: %v" @@ -349,71 +356,75 @@ msgstr "Verzeichnis der Konfigurationsdatei kann nicht erstellt werden: %v" msgid "Cannot create config file: %v" msgstr "Konfigurationsdatei kann nicht erstellt werden: %v" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "Temporärer Ordner kann nicht erstellt werden" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "Temporäre Datei kann nicht erstellt werden" #: internal/cli/config/delete.go:53 msgid "Cannot delete the key %[1]s: %[2]v" -msgstr "" +msgstr "Der Schlüssel %[1]s:%[2]v kann nicht gelöscht werden" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" -msgstr "" +msgstr "Das Debug-Werkzeug kann nicht gestartet werden" #: internal/cli/config/init.go:72 internal/cli/config/init.go:82 msgid "Cannot find absolute path: %v" -msgstr "" +msgstr "Absoluter Pfad %v wurde nicht gefunden" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "Plattform kann nicht installiert werden" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "Werkzeug %s kann nicht installiert werden" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" -msgstr "" +msgstr "Port-Reset konnte nicht ausgeführt werden: %s" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" -msgstr "" +msgstr "Plattform kann nicht upgegraded werden" #: internal/cli/config/delete.go:57 msgid "Cannot write the file %[1]s: %[2]v" msgstr "Datei %[1]s kann nicht geschrieben werden: %[2]v" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "Kategorie: %s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." +msgstr "Prüfe die die Abhängigkeiten für die angegebene Bibliothek." + +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "Prüfsumme unterscheidet sich von der Prüfsumme in package.json" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Prüfsumme:" #: internal/cli/cache/cache.go:33 msgid "Clean caches." -msgstr "" +msgstr "Caches bereinigen." #: internal/cli/cli.go:126 msgid "Comma-separated list of additional URLs for the Boards Manager." -msgstr "" +msgstr "Durch Kommata getrennte Liste mit URLs für die Board-Manager." -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -421,27 +432,27 @@ msgstr "" "Befehl läuft weiter und gibt die Liste der verbundenen Platinen aus, sobald " "sich eine Änderung ergibt." -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" -msgstr "" +msgstr "Kompilierter Sketch wurde nicht in%s gefunden" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "Kompiliert Arduino-Sketche." -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "Kern wird kompiliert ..." -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "Bibliotheken werden kompiliert ..." -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "Bibliothek \"%[1]s\" wird kompiliert" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "Sketch wird kompiliert ..." @@ -449,68 +460,72 @@ msgstr "Sketch wird kompiliert ..." msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" +"Konfigurationsdatei existiert bereits, verwende --overwrite um diese zu " +"überschreiben." -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "Konfigurationsdatei geschrieben nach: %s" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "Konfigurationsoptionen für %s" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" +"Konfiguriere die Com-Port-Einstellungen. Das Format lautet: " +"<ID>=<value>[,<ID>=<value>]..." -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." -msgstr "" +msgstr "Konfiguriere Plattform" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." -msgstr "" +msgstr "Konfiguriere Werkzeug." -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "Verbunden" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "Verbunden mit %s! Zum Beenden STRG-C drücken." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "Kern" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "Konnte nicht über HTTP verbinden" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "Indexverzeichnis konnte nicht erstellt werden" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" -msgstr "" +msgstr "Der Core-Build konnte nicht zwischengespeichert werden: %[1]s" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "Programmgröße konnte nicht ermittelt werden" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" -msgstr "" +msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht gefunden werden: %v " #: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "Einen neuen Sketch erstellen" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." -msgstr "" +msgstr "Erstelle und drucke ein Konfigurations-Profil aus dem Build" #: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." @@ -521,48 +536,51 @@ msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" +"Erstellt oder aktualisiert die Konfigurationsdatei im Datenverzeichnis oder " +"einem benutzerdefinierten Verzeichnis mit den aktuellen " +"Konfigurationseinstellungen." -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" +"Aktuell werden in Build-Profilen nur Bibliotheken aus dem Arduino-" +"Bibliotheksmanager unterstützt." -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" -msgstr "" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" +msgstr "Benutzerdefinierte Konfigurtion für %s:" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "VERALTET" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "Daemon überwacht jetzt %s: %s" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "Arduino-Sketche debuggen" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" +"Arduino-Sketche debuggen. (Dieser Befehl öffnet eine interaktive gdb-" +"Sitzung)" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Debug-Interpreter z.B.: %s" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "Debugging für Board %s nicht unterstützt" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "Debugging unterstützt:" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "Standard" @@ -576,61 +594,67 @@ msgstr "Standard-Port gesetzt auf" #: internal/cli/cache/clean.go:30 msgid "Delete Boards/Library Manager download cache." -msgstr "" +msgstr "Board/Bibliotheks-Manager Download-Cache löschen" #: internal/cli/cache/clean.go:31 msgid "" "Delete contents of the `directories.downloads` folder, where archive files " "are staged during installation of libraries and boards platforms." msgstr "" +"Löscht den Inhalt des Ordners „directories.downloads“, in dem Archivdateien " +"während der Installation von Bibliotheken und Board-Plattformen " +"bereitgestellt werden." #: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" "Löscht einen Einstellungsschlüssel und alle zugehörigen Unterschlüssel." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "Abhängigkeiten: %s" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "Beschreibung" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "Verwendete Bibliotheken erkennen ..." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" "Erkennt und zeigt eine Liste von Platinen, die mit dem Computer verbunden " "sind." -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." -msgstr "" +msgstr "Verzeichnis, welches die Binärdateien zum Debuggen enthält." -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." -msgstr "Verzeichnis, welche die Binärdateien zum Hochladen enthält." +msgstr "Verzeichnis, welches die Binärdateien zum Hochladen enthält." #: internal/cli/generatedocs/generatedocs.go:45 msgid "" "Directory where to save generated files. Default is './docs', the directory " "must exist." msgstr "" +"Verzeichnis in dem die erzeugten Dateien gespeichert werden. Standardmäßig " +"'./docs', Dieses Verzeichnis muss existieren." #: internal/cli/completion/completion.go:44 msgid "Disable completion description for shells that support it" msgstr "" +"Vervollständigungsbeschreibung für Shells abschalten, die das unterstützen" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "Verbindung getrennt" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "Nur die bereitgestellten gRPC-Aufrufe anzeigen" @@ -646,47 +670,51 @@ msgstr "Bereits installierte Bibliotheken nicht überschreiben." msgid "Do not overwrite already installed platforms." msgstr "Bereits installierte Plattformen nicht überschreiben." -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" "Den eigentlichen Hochladevorgang nicht durchführen, sondern nur die " "Abmeldeaktionen" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" +msgstr "Den Daemon-Prozess nicht mit dem Elternprozess beenden." + +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:60 +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "%s wird heruntergeladen" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "Indexsignatur wird heruntergeladen: %s" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Index wird heruntergeladen: %s" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "Bibliothek %s wird heruntergeladen" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "Fehlendes Werkzeug %s wird heruntergeladen" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "Pakete werden heruntergeladen" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "Plattform %s wird heruntergeladen" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "Werkzeug %s wird heruntergeladen" @@ -701,7 +729,7 @@ msgid "Downloads one or more libraries without installing them." msgstr "" "Lädt eine oder mehrere Bibliotheken herunter, ohne sie zu installieren." -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "Debug-Protokollierung von gRPC-Aufrufen aktivieren" @@ -711,17 +739,17 @@ msgstr "Geben Sie einen Pfad zur ZIP-Datei an" #: internal/cli/lib/install.go:63 msgid "Enter git url for libraries hosted on repositories" -msgstr "" +msgstr "Gib eine git-URL mit den Bibliotheken aus Repositories ein" #: commands/sketch/archive.go:107 msgid "Error adding file to sketch archive" msgstr "Fehler beim Hinzufügen einer Datei zum Sketch-Archiv" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" -msgstr "" +msgstr "Fehler bei speichern des gebauten Kerns (caching) in %[1]s:%[2]s" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "Fehler beim Archivieren: %v" @@ -731,13 +759,13 @@ msgstr "Fehler beim Berechnen des relativen Dateipfads" #: internal/cli/cache/clean.go:45 msgid "Error cleaning caches: %v" -msgstr "" +msgstr "Fehler beim bereinigen des Caches: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" -msgstr "" +msgstr "Fehler beim konvertieren des Pfads zum Absolutpfad: %v" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "Fehler beim Kopieren der Ausgabedatei %s" @@ -745,7 +773,7 @@ msgstr "Fehler beim Kopieren der Ausgabedatei %s" msgid "Error creating instance: %v" msgstr "Fehler beim Erstellen der Instanz: %v" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "Fehler beim Erstellen des Ausgabeverzeichnisses" @@ -757,7 +785,7 @@ msgstr "Fehler beim Erstellen des Sketch-Archivs" msgid "Error creating sketch: %v" msgstr "Fehler beim Erstellen des Sketches: %v" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "Fehler beim Erkennen von Platinen: %v" @@ -765,52 +793,51 @@ msgstr "Fehler beim Erkennen von Platinen: %v" msgid "Error downloading %[1]s: %[2]v" msgstr "Fehler beim Herunterladen von %[1]s: %[2]v" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "Fehler beim Herunterladen von %s" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" -msgstr "" +msgstr "Fehler beim Herunterladen des Index '%s'" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" -msgstr "" +msgstr "Fehler beim Herunterladen der Indexsignatur '%s'" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "Fehler beim Herunterladen der Bibliothek %s" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "Fehler beim Herunterladen der Plattform %s" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "Fehler beim Herunterladen des Werkzeugs %s" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" -msgstr "" +msgstr "Fehler beim Debuggen: %v" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "Fehler während FQBN-Bestimmung: %v" #: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 msgid "Error during JSON encoding of the output: %v" -msgstr "" +msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" @@ -818,9 +845,9 @@ msgstr "Fehler während dem Hochladen: %v" msgid "Error during YAML encoding of the output: %v" msgstr "Fehler während der YAML-Kodierung der Ausgabe: %v" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" -msgstr "" +msgstr "Fehler beim Build: %v" #: internal/cli/core/install.go:80 msgid "Error during install: %v" @@ -828,41 +855,51 @@ msgstr "Fehler während dem Installieren: %v" #: internal/cli/core/uninstall.go:73 msgid "Error during uninstall: %v" -msgstr "Fehler während dem Deinstallieren: %v" +msgstr "Fehler während der Deinstallation: %v" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" -msgstr "" +msgstr "Fehler beim Upgrade %v" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "Fehler beim Extrahieren von %s" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" -msgstr "" +msgstr "Fehler beim finden der Build-Artifacts" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" -msgstr "" +msgstr "Fehler beim ermitteln der Debug-Information: %v" #: commands/sketch/archive.go:59 msgid "Error getting absolute path of sketch archive" msgstr "Fehler beim Abrufen des absoluten Pfads des Sketch-Archivs" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Fehler beim Abrufen von Platinendetails: %v" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" +"Fehler beim ermitteln des Verzeichnisses für die Kompilier-Datenbank: %s" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" +"Fehler beim ermitteln des Standard-Ports aus 'sketch.yaml' Prüfe, ob di im " +"richtigen Sketch-Verzeichnis bist oder verwende das --port Attribut: %s" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "Fehler beim Abrufen von Informationen für die Bibliothek %s" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "Fehler beim Abrufen von Bibliotheksinformationen: %v" @@ -870,13 +907,13 @@ msgstr "Fehler beim Abrufen von Bibliotheksinformationen: %v" msgid "Error getting port metadata: %v" msgstr "Fehler beim Abrufen von Port-Metadaten: %v" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "Fehler beim Abrufen von Details zu Port-Einstellungen: %s" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" -msgstr "" +msgstr "Fehler beim lesen der Benutzereingaben." #: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 msgid "Error initializing instance: %v" @@ -894,63 +931,63 @@ msgstr "Fehler beim Installieren der Git-Bibliothek: %v" msgid "Error installing Zip Library: %v" msgstr "Fehler beim Installieren der Zip-Bibliothek: %v" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "Fehler beim Installieren der Bibliothek %s" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "Fehler beim Installieren der Plattform %s" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "Fehler beim Installieren des Werkzeugs %s" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "Fehler beim Auflisten von Platinen: %v" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" -msgstr "" +msgstr "Fehler beim Auflisten der Bibliotheken: %v" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "Fehler beim Auflisten von Plattformen: %v" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "Fehler beim Laden der Hardware-Plattform" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "Fehler beim Laden des Index %s" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "Fehler beim Öffnen von %s" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "Fehler beim Öffnen der Debug-Protokollierungsdatei: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" -msgstr "" +msgstr "Fehler, öffnen der Quellcodes überschreibt die Datendatei: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" -msgstr "" +msgstr "Fehler bei der Auswertung des --show-Property Attributs: %v" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" -msgstr "" +msgstr "Fehler bel Lesen des Build-Verzechnisses" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "Fehler beim Lesen der Konfigurationsdatei: %v" @@ -958,78 +995,85 @@ msgstr "Fehler beim Lesen der Konfigurationsdatei: %v" msgid "Error reading sketch files" msgstr "Fehler beim Lesen von Sketch-Dateien" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "Fehler beim Auflösen von Abhängigkeiten für %[1]s: %[2]s" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "Fehler beim Abrufen der Kernliste: %v" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" -msgstr "" +msgstr "Fehler beim Rückgängmachen der Änderungen: %s" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "Fehler beim Speichern des heruntergeladenen Index" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "Fehler beim Speichern der heruntergeladenen Indexsignatur" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "Fehler bei der Suche nach Platinen: %v" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" -msgstr "" +msgstr "Fehler beim Suchen der Bibliotheken: %v" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "Fehler bei der Suche nach Plattformen: %v" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "Fehler bei der Serialisierung der Kompilierungsdatenbank: %s" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "Fehler beim Setzen des \"Raw-Mode\": %s" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" -msgstr "" +msgstr "Fehler beim starten der Suche: %v" #: internal/cli/lib/uninstall.go:63 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Fehler beim Deinstallieren von %[1]s: %[2]v" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "Fehler beim Aktualisieren des Bibliotheksindex: %v" #: internal/cli/lib/upgrade.go:71 msgid "Error upgrading libraries" -msgstr "" +msgstr "Fehler beim Upgraden der Bibliothken" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" -msgstr "" +msgstr "Fehler beim Upgraden der Plattform: %s" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "Fehler beim Verifizieren der Signatur" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" -msgstr "" +msgstr "Fehler beim Ermitteln der in %[1]s eingebundenen Bibliotheken" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "Fehler während der Bestimmung der Sketch-Größe: %s" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "Fehler beim Schreiben der Kompilierungsdatenbank: %s" @@ -1037,15 +1081,15 @@ msgstr "Fehler beim Schreiben der Kompilierungsdatenbank: %s" msgid "Error: command description is not supported by %v" msgstr "Fehler: Befehlsbeschreibung wird nicht unterstützt von %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" -msgstr "" +msgstr "Fehler: ungültiger Quellcode überschreibt die Daten-Datei: %v" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "Ereignis" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "Beispiele für Bibliothek %s" @@ -1053,69 +1097,71 @@ msgstr "Beispiele für Bibliothek %s" msgid "Examples:" msgstr "Beispiele:" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" -msgstr "" +msgstr "Ausführbare Datei zum Debuggen" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" +"Kompilierter Sketch wurde im Verzeichnis %s erwartet, aber eine Datei " +"gefunden." -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" -msgstr "" +msgstr "Chip-Löschung fehlgeschlagen" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "Fehlgeschlagene Programmierung" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" -msgstr "" +msgstr "Schreiben des Bootloaders fehlgeschlagen" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" -msgstr "" +msgstr "Erzeugen des Datenverzeichnisses fehlgeschlagen" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" -msgstr "" +msgstr "Erzeugen des Download-Verzeichnisses fehlgeschlagen" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. %[2]s ist ein ungültiger Port." -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. %[2]s ist ein unbekannter Name." -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. Unerwarteter Fehler: %[2]v" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" "Fehler beim Überwachen von TCP-Port: %s. Adresse wird bereits benutzt." -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "Fehlgeschlagenes Hochladen" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "Datei:" @@ -1124,74 +1170,85 @@ msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" +"Die Verschlüsselung/Signierung der Firmware erfordert die Festlegung der " +"folgenden Eigenschaften: %s" #: commands/daemon/debug.go:40 msgid "First message must contain debug request, not data" msgstr "" +"Die erste Nachricht muss eine Debug-Anforderung enthalten, keine Daten." #: internal/cli/arguments/arguments.go:47 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" -msgstr "" +msgstr "Attribut %[1]s ist in Verbindung mit %[2]s vorgeschrieben." #: internal/cli/usage.go:30 msgid "Flags:" -msgstr "" +msgstr "Attribute:" #: internal/cli/arguments/pre_post_script.go:37 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" +"Ausführung der Post-Install-Scripts erzwingen (wenn die CLI nicht interaktiv" +" läuft)" #: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" +"Ausführung der Pre-Uninstall-Scripts erzwingen (wenn die CLI nicht " +"interaktiv läuft)" #: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" +"Ausführung der Post-Install-Scripts überspringen (wenn die CLI nicht " +"interaktiv läuft)" #: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" +"Ausführung der Pre-Uninstall-Scripts überspringen (wenn die CLI nicht " +"interaktiv läuft)" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" -msgstr "" +msgstr "%d Platformen passend zu \"%s\":%s gefunden" #: internal/cli/arguments/fqbn.go:37 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Vollständig qualifizierter Platinenname, z.B.: arduino:avr:uno" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "GDB-Server '%s' wird nicht unterstützt" #: internal/cli/generatedocs/generatedocs.go:38 #: internal/cli/generatedocs/generatedocs.go:39 msgid "Generates bash completion and command manpages." -msgstr "" +msgstr "Generiert Bash-Komplettierungen und Manpages für die Befehle" #: internal/cli/completion/completion.go:38 msgid "Generates completion scripts" -msgstr "" +msgstr "Erzeugt Komplettierungs-Skripte" #: internal/cli/completion/completion.go:39 msgid "Generates completion scripts for various shells" -msgstr "" +msgstr "Erzeugt Komplettierungs-Skripte für verschiedene Shells" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "Funktionsprototypen werden generiert ..." #: internal/cli/usage.go:31 msgid "Global Flags:" -msgstr "" +msgstr "Globale Attribute:" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1199,35 +1256,39 @@ msgstr "" "Globale Variablen verwenden %[1]s Bytes (%[3]s%%) des dynamischen Speichers," " %[4]s Bytes für lokale Variablen verbleiben. Das Maximum sind %[2]s Bytes." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Globale Variablen verwenden %[1]s Bytes des dynamischen Speichers." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Identifikationseigenschaften:" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" +"Wenn gesetzt werden die erzeugten Binärdateien in das Sketch-Verzeichnis " +"exportiert." #: internal/cli/core/list.go:45 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" +"Wenn gesetzt gib alle installierten und installierbaren Kerne inklusive der " +"selbst installierten zurück." -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" "Eingebaute Bibliotheken (von Plattformen und IDE) in die Auflistung " @@ -1235,36 +1296,36 @@ msgstr "" #: internal/cli/sketch/archive.go:49 msgid "Includes %s directory in the archive." -msgstr "" +msgstr "Verzeichnis %s in das Archiv einbinden" #: internal/cli/lib/install.go:65 msgid "Install libraries in the IDE-Builtin directory" -msgstr "" +msgstr "Bibliotheken in das IDE-Standardverzeichnis installieren" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Installiert" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "%s installiert" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "%s wird installiert" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "Bibliothek %s wird installiert" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "Plattform %s wird installiert" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "Werkzeug %s wird installiert" @@ -1278,11 +1339,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "Installiert eine oder mehrere angegebene Bibliotheken in das System." -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" -msgstr "" +msgstr "Interner Fehler im Cache" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "Ungültige '%[1]s' Eigenschaft: %[2]s" @@ -1290,60 +1351,62 @@ msgstr "Ungültige '%[1]s' Eigenschaft: %[2]s" msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" +"Ungültiger Aufruf: Sollte Hile anzigen, ist ist aber nur im Text-Modus " +"verfügbar." -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "Ungültiger FQBN" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "Ungültige TCP-Adresse: Port fehlt" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "Ungültige URL" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" -msgstr "" +msgstr "Ungültige zusätzliche URL: %v" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "Ungültiges Archiv: Datei %{1}s nicht in Archiv %{2}s gefunden" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "Ungültiges Argument übergeben: %v" #: commands/compile/compile.go:205 msgid "Invalid build properties" -msgstr "" +msgstr "Ungültige Build-Eigenschaften" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" -msgstr "" +msgstr "Ungültige Datengröße regexp: %s" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" -msgstr "" +msgstr "Ungültige EEPROM-Größe: %s" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Ungültige Instanz" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "Ungültiges Element %s" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "Ungültige Bibliothek" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" -msgstr "" +msgstr "Ungültiger network.proxy '%[1]s':%[2]s" #: internal/cli/cli.go:217 msgid "Invalid option for --log-level: %s" @@ -1353,7 +1416,7 @@ msgstr "Ungültige Option für --log-level: %s" msgid "Invalid output format: %s" msgstr "Ungültiges Ausgabeformat: %s" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "Ungültiger Paketindex in %s" @@ -1363,115 +1426,121 @@ msgstr "Ungültiger Parameter %s: Version nicht erlaubt" #: commands/board/list.go:79 msgid "Invalid pid value: '%s'" -msgstr "" +msgstr "Ungültiger pid-Wert: '%s'" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "Ungültiges Profil" #: commands/monitor/monitor.go:145 msgid "Invalid recipe in platform.txt" -msgstr "" +msgstr "Ungültige Vorlage in platform.txt" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" -msgstr "" +msgstr "Ungültige Größe regexp: %s" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "Ungültige Zeitbeschränkung: %s" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Ungültige Version" #: commands/board/list.go:76 msgid "Invalid vid value: '%s'" -msgstr "" +msgstr "Ungültiger vid-Wert:'%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" +"Nur die Kompilier-Datenbank erzeugen ohne zu kompilieren. Alle Build-Befehle" +" werden übersprungen außer pre* " -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" -msgstr "" +msgstr "BIBLIOTHEKSNAME" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "BIBLIOTHEK" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "BIBLIOTHEKSNAME" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "Neueste" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "Bibliothek %[1]s wurde als vorkompiliert angegeben:" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "Bibliothek %[1]s ist bereits installiert, aber mit einer anderen Version: " "%[2]s" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "Bibliothek %s ist bereits die neueste Version" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "Bibliothek %s ist nicht installiert" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "Bibliothek %s nicht gefunden" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "Bibliothek '%s' nicht gefunden" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" +"Die Bibliothek kann nicht die Verzeichnisse '%[1]s' und '%[2]s' gleichzeitig" +" verwenden. Prüfe nochmal in '%[3]s'" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "Installation der Bibliothek fehlgeschlagen" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "Bibliothek installiert" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "Lizenz: %s" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." -msgstr "" +msgstr "Alles zusammenlinken..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" +"Lists alle Boards mit installierter Support-Plattform. Du kannst nach einem " +"bestimmten Board suchen, indem du den Namen angibst" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "Liste alle bekannte Boards und ihre respektive FQBNs auf" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "Verbundene Platinen auflisten." @@ -1480,14 +1549,18 @@ msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" +"Komma-getrennte Liste der Boardoptionen. Kann auch mehrfach für mehrere " +"Optinen verwendet werden." -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" +"Komma-getrennte Liste der benutzereigenen Build-Optionen. Kann auch mehrfach" +" für mehrere Optinen verwendet werden." -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "Aktualisierbare Bibliotheken auflisten." @@ -1499,100 +1572,102 @@ msgstr "Aktualisierbare Plattformen auflisten." msgid "Lists all connected boards." msgstr "Listet alle verbundenen Platinen auf." -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" -msgstr "" +msgstr "Auflisten der upgradebaren Cores und Bibliotheken" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "Indexdatei wird geladen: %v" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "Ort" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" "Wenig Arbeitsspeicher verfügbar, es können Stabilitätsprobleme auftreten." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" -msgstr "" +msgstr "Betreuer %s" #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" -msgstr "" +msgstr "Maximale Wartezeit für Portermittlung z.B. 30s, 1m" #: internal/cli/cli.go:110 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" +"Nachrichten mit diesem Level oder drüber werden geloggt. Mögliche Level " +"sind: %s" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' aus der Bibliothek in %[2]s fehlt" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "Fehlender FQBN (Fully Qualified Board Name)" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "Fehlender Port" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "Fehlende Port-Adresse" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "Fehlendes Port-Protokoll" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" -msgstr "" +msgstr "Fehlender Programmer" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" -msgstr "" +msgstr "Fehlendes benötigtes Upload-Feld: %s" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" -msgstr "" +msgstr "Fehlende Größe regexp" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" -msgstr "" +msgstr "Fehlender Sketch-Pfad" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" -msgstr "" +msgstr "Monitor '%s' wurde nicht gefunden" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" -msgstr "" +msgstr "Porteinstellunegn für Monitor:" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Mehrere Bibliotheken wurden für \"%[1]s\" gefunden" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "Name" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" -msgstr "" +msgstr "Name '%s'" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" -msgstr "" +msgstr "Neuer Upload-Port: %[1]s (%[2]s)" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "Keine Platinen gefunden." @@ -1600,19 +1675,19 @@ msgstr "Keine Platinen gefunden." msgid "No default port or FQBN set" msgstr "Kein Standard-Port oder Standard-FQBN konfiguriert" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "Keine Bibliotheken gefunden." -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "Keine Bibliotheken installiert." -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "Keine Bibliotheken stimmen mit Ihrer Suche überein." -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1620,234 +1695,253 @@ msgstr "" "Keine Bibliotheken stimmen mit Ihrer Suche überein.\n" "Meinten Sie ...\n" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." -msgstr "" +msgstr "Kein Bibliotheksupdate verfügbar" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" -msgstr "" +msgstr "Kein Monitor für das Port-Protokoll %s verfügbar" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." -msgstr "" +msgstr "Keine veralteten Plattformen oder Bibliotheken gefunden" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." -msgstr "" +msgstr "Keine Plattformen installiert." #: internal/cli/core/search.go:110 msgid "No platforms matching your search." -msgstr "" +msgstr "Die Suche fand keine passenden Plattformen" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" -msgstr "" +msgstr "Kein Upload-Port gefunden, verwende %s stattdessen" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" -msgstr "" +msgstr "Keine gültige Auflösung der Abhängigkeiten gefunden" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Nicht genug Arbeitsspeicher; unter %[1]s finden sich Hinweise, um die Größe " "zu verringern." -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "Nicht benutzt: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "BS:" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Offizielles Arduino-Board:" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" +"Alle Bibliotheksdetails überspringen, außer für die aktuelle Version\n" +"(Die JSON-Ausgabe wird kompakter)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "Einen Kommunikations-Port mit einer Platine öffnen." -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Option:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" +"Optional, kann %s sein. Verwendet, um den Warnungslevel für gcc festzulegen " +"(-W Option)" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" +"Optional, leere den Build-Ordner und verwende keinen zwischengespeicherten " +"Build." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" +"Optional, optimiere das Kompilat zum Debuggen, nicht für den " +"Produktiveinsatz" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." -msgstr "" +msgstr "Optional, vermeidet fast alle Ausgaben" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." -msgstr "" +msgstr "Optional, schaltet umfangreiche Ausgaben ein" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" +"Optional, Pfad zu einer .json-Datei mit Ersetzungen für den Sketch-Quellcode" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +"Übersteuert eine Build-Option mit einem benutzerdefinierten Wert. Kann " +"mehrfach für mehrere Optionen verwendet werden." #: internal/cli/config/init.go:57 msgid "Overwrite existing config file." -msgstr "" +msgstr "Überschreibt bestehende Konfigurationsdatei." #: internal/cli/sketch/archive.go:50 msgid "Overwrites an already existing archive" -msgstr "" +msgstr "Überschreibt ein bestehendes Archiv" #: internal/cli/sketch/new.go:44 msgid "Overwrites an existing .ino sketch." -msgstr "" +msgstr "Überschreibt einen bestehenden .ino-Sketch." #: internal/cli/core/download.go:34 internal/cli/core/install.go:36 #: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 msgid "PACKAGER" msgstr "PAKETIERER" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "Paket-URL:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" -msgstr "" +msgstr "Paket-Betreuer" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "Paketname:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" -msgstr "" +msgstr "Online-Hilfe für das Paket:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" -msgstr "" +msgstr "Webseite für das Paket:" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" -msgstr "" +msgstr "Absatz: %s" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "Pfad" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" +"Pfad zu einer Bibliothekssammlung. Kann mehrfach verwendet werden oder die " +"Einträge können durch Kommata getrennt werden." -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" +"Pfad zum Wurzelverzeichnis einer einzelnen Bibliothek. Kann mehrfach " +"verwendet werden oder die Einträge können durch Kommata getrennt werden." #: internal/cli/cli.go:114 msgid "Path to the file where logs will be written." -msgstr "" +msgstr "Pfad in welchem die Log-Dateien abgelegt werden sollen." -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" +"Pfad für die kompilierten Dateien. Wenn nicht festgelegt, dann wird ein " +"Verzeichnis im Standard-Temp-Verzeichnis des Betriebssystems erstellt." -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" -msgstr "" +msgstr "Ein 1200bps-Reset wird auf dem seriellen Port %s durchgeführt" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "Plattform %s bereits installiert" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "Plattform %s installiert" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" +"Plattform %s in keinem bekannten Index gefunden. Eventuell muss eine 3rd-" +"Party URL hinzugfügt werden?" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "Plattform %s deinstalliert" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" -msgstr "" +msgstr "Plattform '%s' ist bereits aktuell" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "Plattform '%s' nicht gefunden" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" -msgstr "" +msgstr "Plattform ID" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" -msgstr "" +msgstr "Plattform ID ist nicht korrekt" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "Plattform-URL:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "Plattformarchitektur:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "Plattformkategorie:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" -msgstr "" +msgstr "Plattform-Prüfsumme:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "Plattformdateiname:" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "Plattformname:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "Plattformgröße (Bytes):" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1855,7 +1949,7 @@ msgstr "" "Bitte gib ein FQBN an. Mehrere mögliche Boards wurden an Port %[1]s mit " "Protokoll %[2]s entdeckt" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1863,172 +1957,255 @@ msgstr "" "Bitte gib ein FQBN an. Das Board an Port %[1]s mit Protokoll %[2]s kann " "nicht identifiziert werden" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "Port geschlossen: %v" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" -msgstr "" +msgstr "Port-Monitor-Fehler" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Vorkompilierte Bibliothek in \"%[1]s\" nicht gefunden" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." -msgstr "" +msgstr "Details zu dem Board ausgeben" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." -msgstr "" +msgstr "Gebe den vorverarbeiteten Code aus anstatt zu kompilieren." #: internal/cli/cli.go:106 internal/cli/cli.go:108 msgid "Print the logs on the standard output." -msgstr "" +msgstr "Gebe die logs auf der Standardausgabe aus." #: internal/cli/config/dump.go:31 msgid "Prints the current configuration" -msgstr "" +msgstr "Gibt die aktuelle Konfiguration aus." #: internal/cli/config/dump.go:32 msgid "Prints the current configuration." -msgstr "" +msgstr "Gibt die aktuelle Konfiguration aus." -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "Profil '%s' nicht gefunden" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" -msgstr "" +msgstr "Programmer '%s' nicht gefunden" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" -msgstr "" +msgstr "Programmer Name" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" -msgstr "" +msgstr "Zu verwendender Programmer, z.B. atmel_ice" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" -msgstr "" +msgstr "Programmers:" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" -msgstr "" +msgstr "Eigenschaft '%s' ist nicht definiert" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "Protokoll" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" -msgstr "" +msgstr "Stellt die Includes %s zur Verfügung" #: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 msgid "Removes one or more values from a setting." -msgstr "" +msgstr "Entfernt einen oder mehrere Werte aus der Einstellung." -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "Ersetze %[1]s durch %[2]s " -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" -msgstr "" +msgstr "Ersetze die Plattform durch %[1]sdurch %[2]s" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Erforderliches Werkzeug:" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" -msgstr "" +msgstr "Starte als Daemon auf dem Port: %s" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." -msgstr "" +msgstr "Starten im stillen Modus, zeige nur die Monitorein- und -ausgaben" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" +"Startet als Daemon, die Initialisierung der Kern und Bibliotheken erfolgt " +"nur einmal" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." -msgstr "" +msgstr "Starte normalen Kern-Build..." -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." -msgstr "" +msgstr "Starte das pre_uninstall Skript" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "SUCH_TERM" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" -msgstr "" +msgstr "SVD Verzeichnis" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." -msgstr "" +msgstr "Build-Artifakte in diesem Verzeichnis speichern." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" +"Suche nach einem Board im Board-Manager mit den gegebenen Suchbegriffen." -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." -msgstr "" +msgstr "Suche nach einem Board im Board-Manager" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" +"Suche nach einem Kern im Board-Manager mit den gegebenen Suchbegriffen." -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." -msgstr "" +msgstr "Suche nach einem Kern im Board-Manager" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." -msgstr "" +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" +msgstr "" +"Suche nach Bibliotheken, die keinem oder mehr Suchbegriffen entsprechen.\n" +"\n" +"Bei allen Suchvorgängen wird die Groß-/Kleinschreibung nicht beachtet. Bei mehreren Suchbegriffen werden nur Bibliotheken zurückgegeben, die mit allen Begriffen übereinstimmen.\n" +"\n" +"Suchbegriffe, die nicht mit der unten beschriebenen QV-Syntax übereinstimmen, sind einfache Suchanfragen\n" +"Begriffe und sucht nach Bibliotheken, die den Begriff an einer beliebigen Stelle in folgenden Feldern enthalten:\n" +"- Autor\n" +"- Name\n" +"- Absatz\n" +"- stellt zur Verfügung\n" +"- Satz\n" +"\n" +"Eine spezielle Syntax namens Qualifier-Value (QV) gibt an, dass ein Suchbegriff nur mit einem Feld jedes Bibliotheksindexeintrags verglichen werden soll. Die Syntax verwendet den Namen eines Indexfelds (ohne Berücksichtigung der Groß-/Kleinschreibung), ein Gleichheitszeichen (=)\n" +"oder ein Doppelpunkt (:) und ein Wert, z.B. 'name=ArduinoJson' oder 'provides:tinyusb.h'.\n" +"\n" +"QV-Suchbegriffe, die ein Doppelpunkttrennzeichen verwenden, finden alle Bibliotheken mit dem Wert an einer beliebigen Stelle im benannten Feld und QV-Suchbegriffe, die ein Gleichheitszeichen verwenden finden nur die Bibliotheken, die genau den angegebenen Wert im benannten Feld haben.\n" +"QV-Suchbegriffe können eingebettete Leerzeichen mit doppelten Anführungszeichen (\") um den Wert oder den gesamten Ausdruck enthalten, z.B. 'category=\"Data Processing\"' und '\"category=Data Processing“' sind gleichwertig. Ein QV-Begriff kann ein doppelte Anführungszeichen enthalten, indem ein Backslash (\\) vorangestellt wird.\n" +"\n" +"HINWEIS: QV-Suchbegriffe mit doppelten Anführungszeichen oder Backslash-Zeichen die als Befehlszeilenargumente übergeben werden, erfordern möglicherweise Anführungszeichen oder Escapezeichen, um zu verhindern dass die Shell diese Zeichen interpretiert.\n" +"\n" +"Zusätzlich zu den oben aufgeführten Feldern können QV-Begriffe die folgenden Merkmale verwenden:\n" +"- Architekturen\n" +"- Kategorie\n" +"- Abhängigkeiten\n" +"- Lizenz\n" +"- Betreuer\n" +"- Typen\n" +"- Ausführung\n" +"- Webseite" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" +"Sucht nach einer oder mehrerer Bibliottheken die zu einer Suchanfrage " +"passen." -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" -msgstr "" +msgstr "Satz: %s" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" -msgstr "" +msgstr "Server-Pfad" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" -msgstr "" +msgstr "Server hat mit: %s geantwortet" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" -msgstr "" +msgstr "Server-Typ" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." -msgstr "" +msgstr "Setze einen Wert für ein zum Upload benötigtes Feld." -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." -msgstr "" +msgstr "Aktiviere den Raw-Modus im Terminal (ungepuffert)" #: internal/cli/config/set.go:32 internal/cli/config/set.go:33 msgid "Sets a setting value." -msgstr "" +msgstr "Legt einen Einstellungswert fest." #: internal/cli/board/attach.go:36 msgid "" @@ -2040,39 +2217,43 @@ msgstr "" #: internal/cli/config/init.go:55 internal/cli/config/init.go:56 msgid "Sets where to save the configuration file." -msgstr "" +msgstr "Legt fest, wo die Konfigurationsdatei gespeichert werden soll." -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "Einstellung" #: internal/cli/config/validate.go:50 msgid "Settings key doesn't exist" -msgstr "" +msgstr "Einstellungsschlüssel existiert nicht." #: internal/cli/core/search.go:52 msgid "Show all available core versions." msgstr "Zeige alle verfügbare Core-Versionen." -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." -msgstr "" +msgstr "Zeige alle Einstellungen des Kommunikations-Ports." -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" +"Zeige auch Boards an, die in der Plattform als \"versteckt\" markiert sind" #: internal/cli/arguments/show_properties.go:59 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" +"Build-Eigenschaften anzeigen. Die Eigenschaften werden erweitert. Verwende " +"\"--show-properties=unexpanded\", wenn du sie genau so haben willst, wie sie" +" definiert sind." -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "Vollständige Platinendetails anzeigen" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2080,28 +2261,29 @@ msgstr "" "Zeige Informationen über ein Board, im Besonderen wenn das Board die Option " "hat, im FQBN angegeben zu werden." -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "Nur Namen der Bibliotheken anzeigen." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "Zeige alle verfügbare Programmer" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" +"Zeige Metadaten über die Debug-Sitzung an, anstatt den Debugger zu starten." #: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" -msgstr "" +msgstr "Veraltete Kerne und Bibliotheken nach Indexaktualisierung anzeigen" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "Zeige die Liste mit den installierten Bibliotheken." -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2109,31 +2291,38 @@ msgid "" "library. By default the libraries provided as built-in by platforms/core are\n" "not listed, they can be listed by adding the --all flag." msgstr "" +"Zeigt eine Liste der installierten Bibliotheken an.\n" +"\n" +"Wenn der Parameter LIBNAME angegeben wird, beschränkt sich die Liste auf diese bestimmte Bibliothek. Standardmäßig werden die Bibliotheken, die von platforms/core bereitgestellt werden, nicht aufgelistet; sie können mit dem Flag --all aufgelistet werden." #: internal/cli/core/list.go:36 internal/cli/core/list.go:37 msgid "Shows the list of installed platforms." -msgstr "" +msgstr "Zeigt die Liste der installierten Plattformen an." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." -msgstr "" +msgstr "Zeigt die Liste der Beispiele für Bibliotheken an." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" +"Zeigt die Liste der Beispiele für Bibliotheken an. Um eine bestimmte " +"Bibliothek zu suchen, kann ein Name als Argument angegeben werden." #: internal/cli/version/version.go:39 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" +"Zeigt die Versionsnummer des Arduino CLI an, welchese auf deinem System " +"installiert ist." #: internal/cli/version/version.go:38 msgid "Shows version number of Arduino CLI." -msgstr "" +msgstr "Zeigt die Versionsnummer des Arduino CLI an." -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Größe (Bytes):" @@ -2142,22 +2331,24 @@ msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" +"Sketch kann nicht im Build-Pfad gefunden werden. Bitte gib einen anderen " +"Build-Pfad an" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "Sketch erstellt in: %s" #: internal/cli/arguments/profiles.go:29 msgid "Sketch profile to use" -msgstr "" +msgstr "Zu verwendendes Sketch-Profil" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "Der Sketch ist zu groß; unter %[1]s finden sich Hinweise, um die Größe zu " "verringern." -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2165,114 +2356,141 @@ msgstr "" "Der Sketch verwendet %[1]s Bytes (%[3]s%%) des Programmspeicherplatzes. Das " "Maximum sind %[2]s Bytes." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" +"Skizzen mit der Endung .pde sind veraltet, bitte benenne die folgenden " +"Dateien in .ino um:" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." -msgstr "" +msgstr "Überspringe das Linken der endgültigen ausführbaren Datei." -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" +"Überspringen des 1200-bps-Touch-Resets: keine serielle Schnittstelle " +"ausgewählt!" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" -msgstr "" +msgstr "Überspringe die Archiv-Erstellung von: %[1]s" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" -msgstr "" +msgstr "Überspringe die Kompilierung von: %[1]s" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" +"Überspringe die Abhängigkeitserkennung für vorkompilierte Bibliotheken %[1]s" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." -msgstr "" +msgstr "Überspringe die Plattformkonfiguration." -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." -msgstr "" +msgstr "Überspringe das pre_uninstall Skript." -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." -msgstr "" +msgstr "Überspringe die Werkzeugkonfiguration." -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "Wird übersprungen: %[1]s" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." -msgstr "" +msgstr "Einige Indizes konnten nicht aktualisiert werden." -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" +"Einige Upgrades sind fehlgeschlagen, bitte überprüfe die Ausgabe für " +"Details." -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "TCP-Port, der vom Daemon überwacht wird" #: internal/cli/cli.go:125 msgid "The custom config file (if not specified the default will be used)." msgstr "" +"Die benutzerdefinierte Konfigurationsdatei (wenn nicht angegeben, wird der " +"Standardwert verwendet)." -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "Das Flag --debug-file muss mit --debug benutzt werden." -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" +"Der Schlüssel \"%[1]v\" ist keine Liste von Teilen, er kann nicht hinzugefügt werden.\n" +"Vielleicht kann \"%[2]s\" verwendet werden?" #: internal/cli/config/remove.go:51 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" +"Der Schlüssel \"%[1]v\" ist keine Liste von Teilen, er kann nicht entfernt werden.\n" +"Vielleicht kann \"%[2]s\" verwendet werden?" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" -msgstr "" +msgstr "Die Bibliothek %s hat mehrere Installationen:" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" +"Der Name des benutzerdefinierten Schlüssels, der zur Verschlüsselung einer " +"Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " +"den Plattformen verwendet, die ihn unterstützen." -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" +"Der Name des benutzerdefinierten Schlüssels, der zum Signieren einer " +"Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " +"den Plattformen verwendet, die ihn unterstützen." #: internal/cli/cli.go:116 internal/cli/cli.go:121 msgid "The output format for the logs, can be: %s" -msgstr "" +msgstr "Das Ausgabeformat für die Logs kann %s sein" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" +"Das Verzeichnis, in dem nach den benutzerdefinierten Schlüsseln zum " +"Signieren und Verschlüsseln einer Binärdatei gesucht wird. Wird nur von den " +"Plattformen verwendet, die dies unterstützen." -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" +"Die Plattform unterstützt '%[1]s' für vorkompilierte Bibliotheken nicht." #: internal/cli/lib/upgrade.go:35 msgid "" @@ -2281,126 +2499,140 @@ msgid "" "provided, the command will upgrade all the installed libraries where an " "update is available." msgstr "" +"Dieser Befehl aktualisiert eine installierte Bibliothek auf die neueste " +"verfügbare Version. Es können mehrere Bibliotheken durch ein Leerzeichen " +"getrennt übergeben werden. Wenn keine Argumente angegeben werden, " +"aktualisiert der Befehl alle installierten Bibliotheken, für die ein Update " +"verfügbar ist." -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" +"Dieser Befehl zeigt eine Liste der installierten Kerne und/oder Bibliotheken\n" +"die aktualisiert werden können. Wenn nichts aktualisiert werden muss, ist die Ausgabe leer." -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." -msgstr "" +msgstr "Markiere jede ankommende Zeile mit einem Zeitstempel." -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "Werkzeug %s bereits installiert" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "Werkzeug %s deinstalliert" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" -msgstr "" +msgstr "Toolchain '%s' wird nicht unterstützt" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" -msgstr "" +msgstr "Toolchain-Pfad" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" -msgstr "" +msgstr "Toolchain-Prefix" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" -msgstr "" +msgstr "Toolchain-Typ" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" -msgstr "" +msgstr "Versuche %s zu starten" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." -msgstr "" +msgstr "Schaltet den ausführlichen Modus ein." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "Typ" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "Typen: %s" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" +"Der Kern kann nicht gecached werden. Bitte sag den %[1]s Maintainern, dass " +"sie %[2]sfolgen sollen. " -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" -msgstr "" +msgstr "Der Dokumentenordner kann nicht abgerufen werden: %v" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" -msgstr "" +msgstr "Lokaler App-Datenordner kann nicht abgerufen werden: %v" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" -msgstr "" +msgstr "Das Home-Verzeichnis des Benutzers kann nicht abgerufen werden: %v" #: internal/cli/cli.go:204 msgid "Unable to open file for logging: %s" -msgstr "" +msgstr "Die Datei kann nicht für die Protokollierung geöffnet werden: %s" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" -msgstr "" +msgstr "URL kann nicht geparst werden" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "%s wird deinstalliert" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" -msgstr "" +msgstr "%swird deinstalliert, das Werkzeug wird nicht mehr gebraucht" #: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" +"Deinstalliert einen oder mehrere Kerne und die entsprechenden Tool-" +"Abhängigkeiten, wenn sie nicht mehr verwendet werden." #: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 msgid "Uninstalls one or more libraries." -msgstr "" +msgstr "Deinstalliert eine oder mehrere Bibliotheken." -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "Unbekannt" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "Unbekannter FQBN" #: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" -msgstr "" +msgstr "Aktualisiert den Index der Kerne und Bibliotheken" #: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" +"Aktualisiert den Index der Kerne und Bibliotheken auf die neuesten " +"Versionen." #: internal/cli/core/update_index.go:34 msgid "Updates the index of cores to the latest version." -msgstr "" +msgstr "Aktualisiert den Index der Kerne auf die neueste Version." #: internal/cli/core/update_index.go:33 msgid "Updates the index of cores." @@ -2414,121 +2646,135 @@ msgstr "Aktualisiert den Bibliotheksindex auf die neueste Version." msgid "Updates the libraries index." msgstr "Aktualisiert den Bibliotheksindex." -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" -msgstr "" +msgstr "Upgrade akzeptiert keine Parameter mit Version" #: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" +"Aktualisiert die installierten Kerne und Bibliotheken auf die neueste " +"Version." #: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." -msgstr "" +msgstr "Aktualisiert die installierten Kerne und Bibliotheken." #: internal/cli/lib/upgrade.go:34 msgid "Upgrades installed libraries." -msgstr "" +msgstr "Aktualisiert die installierten Bibliotheken." #: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" +"Aktualisiert eine oder alle installierten Plattformen auf die neueste " +"Version." -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." -msgstr "" +msgstr "Lade Arduino-Sketche hoch." -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" +"Arduino-Sketche hochladen. Dabei wird der Sketch vor dem Hochladen NICHT " +"kompiliert." -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" -msgstr "" +msgstr "Adresse des Upload-Ports, z. B.: COM3 oder /dev/ttyACM2" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" -msgstr "" +msgstr "Upload-Port gefunden auf %s" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" -msgstr "" +msgstr "Upload-Port-Protokoll, z.B.: seriell" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." -msgstr "" +msgstr "Lade die Binärdatei nach der Kompilierung hoch." -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" +"Lade den Bootloader mit einem externen Programmiergerät auf das Board hoch." -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." -msgstr "" +msgstr "Lade den Bootloader hoch." -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" +"Für das Hochladen auf das angegebene Board mit dem Protokoll %s sind " +"folgende Informationen erforderlich:" #: internal/cli/config/init.go:103 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" +"Urls dürfen keine Kommas enthalten. Trenne mehrere Urls, die als Umgebungsvariable exportiert werden, durch ein Leerzeichen:\n" +"%s" #: internal/cli/usage.go:26 msgid "Usage:" -msgstr "" +msgstr "Verwendung:" #: internal/cli/usage.go:33 msgid "Use %s for more information about a command." msgstr "Benutze %s für mehr Informationen über einen Befehl." -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "Benutzte Bibliothek" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" -msgstr "" +msgstr "Verwendete Plattform" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Benutzt: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" -msgstr "" +msgstr "Verwende das Board '%[1]s' von der Plattform im Ordner: %[2]s" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" +"Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die " +"Datei: %[1]s" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" -msgstr "" +msgstr "Verwendung des Kerns '%[1]s' von Platform im Ordner: %[2]s" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" "Bibliothek %[1]s in Version %[2]s im Ordner: %[3]s %[4]s wird verwendet" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Bibliothek %[1]s im Ordner: %[2]s %[3]s wird verwendet" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" -msgstr "" +msgstr "Verwendung des vorkompilierten Kerns: %[1]s" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "Benutze vorkompilierte Bibliothek in %[1]s" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "Zuvor kompilierte Datei wird verwendet: %[1]s" @@ -2536,46 +2782,48 @@ msgstr "Zuvor kompilierte Datei wird verwendet: %[1]s" msgid "VERSION" msgstr "VERSION" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "VERSION_NUMMER" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "Werte" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." -msgstr "" +msgstr "Überprüfe die hochgeladene Binärdatei nach dem Upload." -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "Version" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "Versionen: %s" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" -msgstr "" +msgstr "WARNUNG, die Plattform %s kann nicht konfiguriert werden " -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" -msgstr "" +msgstr "WARNUNG, das Tool %s kann nicht konfiguriert werden " -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" -msgstr "" +msgstr "WARNUNG, kann das pre_uninstall Skript %s nicht ausführen: " -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" +"WARNUNG: Der Sketch wurde mit einer oder mehreren benutzerdefinierten " +"Bibliotheken kompiliert." -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2584,229 +2832,240 @@ msgstr "" "werden zu können und ist möglicherweise inkompatibel mit Ihrer derzeitigen " "Platine, welche auf %[3]s Architektur(en) ausgeführt wird." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "Warten auf Upload-Port ..." -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "Warnung: Board %[1]s definiert keine %[2]s Präferenz. Automatisch gesetzt " "auf: %[3]s" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "Webseite: %s" #: internal/cli/config/init.go:42 msgid "Writes current configuration to a configuration file." -msgstr "" +msgstr "Schreibt die aktuelle Konfiguration in eine Konfigurationsdatei." #: internal/cli/config/init.go:45 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" +"Schreibt die aktuelle Konfiguration in die Konfigurationsdatei im " +"Datenverzeichnis." #: internal/cli/config/set.go:74 msgid "Writing config file: %v" msgstr "Konfigurationsdatei wird geschrieben: %v" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" +"Du kannst das %s Flag nicht verwenden, wenn du mit einem Profil kompilierst." -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" -msgstr "" +msgstr "Archiv-Hash unterscheidet sich von Hash im Index" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" +"Archiv ist nicht gültig: mehrere Dateien in der obersten Ebene der Zip-Datei" +" gefunden" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" +"Archiv ist nicht gültig: keine Dateien in der obersten Ebene der Zip-Datei " +"gefunden" #: internal/cli/sketch/archive.go:36 msgid "archivePath" -msgstr "" +msgstr "Archiv-Pfad" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" -msgstr "" - -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" +msgstr "Arduino-Preprocessor Muster fehlt" #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" +msgstr "Nur im Textformat verfügbar" + +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "Einfache Suche nach \"Audio\"" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" +"Einfache Suche nach \"esp32\" und \"display\" beschränkt auf offizielle " +"Betreuer" -#: commands/upload/upload.go:700 +#: commands/upload/upload.go:698 msgid "binary file not found in %s" -msgstr "" +msgstr "Binärdatei wurde nicht in %s gefunden " -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "Platine %s nicht gefunden" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "Platinenname" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" -msgstr "" +msgstr "Verzeichnis der eingebauten Bibliotheken nicht festgelegt" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" -msgstr "" +msgstr "Rufe auf %[1]s : %[2]w" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" -msgstr "" +msgstr "Die neueste Version von %s wurde nicht gefunden" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" -msgstr "" +msgstr "Die neueste Version des Tools %s wurde nicht gefunden" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" -msgstr "" +msgstr "Die Haupt-Sketch-Datei wurde in %s nicht gefunden " -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" -msgstr "" - -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" +msgstr "Kann kein Muster für die Suche mit id %s finden " -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "Kandidaten" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" -msgstr "" +msgstr "Das Upload-Tool %s konnte nicht ausgeführt werden " -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" -msgstr "" +msgstr "Überprüfung der Integrität des lokalen Archivs" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" -msgstr "" +msgstr "Build-Pfad bereinigen" #: internal/cli/cli.go:72 msgid "command" msgstr "Befehl" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" -msgstr "" +msgstr "Der Befehl '%[1]s' ist fehlgeschlagen: %[2]s" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" -msgstr "" - -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +msgstr "Befehl fehlgeschlagen: %s" + +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" -msgstr "" +msgstr "Kommunikation nicht synchron, erwartet '%[1]s', empfangen '%[2]s'" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" -msgstr "" +msgstr "Hash berechnen: %s" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "kopiere Bibliothek in Zielordner:" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" -msgstr "" +msgstr "Gültiges Build-Artefakt wurde nicht gefunden" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" -msgstr "" +msgstr "Überschreiben nicht möglich" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "konnte alte Bibliothek nicht entfernen" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" -msgstr "" +msgstr "Sketch-Projektdatei konnte nicht aktualisiert werden" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" -msgstr "" +msgstr "Erstellen des Kern-Cache-Ordners: %s" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" -msgstr "" +msgstr "install.json in %[1]s erstellen: %[2]s" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" -msgstr "" +msgstr "Erstellen eines temporären Verzeichnisses für die Extraktion: %s" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "Datenbereich überschreitet den verfügbaren Platz auf der Platine" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" -msgstr "" +msgstr "Abhängigkeit '%s' ist nicht verfügbar" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "Zielordner existiert bereits" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" -msgstr "" +msgstr "Zielverzeichnis %s existiert bereits, kann nicht installiert werden" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "Zielordner existiert bereits" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "Verzeichnis existiert nicht: %s" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" -msgstr "" +msgstr "Suche %[1]s Prozess nicht gestartet: %[2]w" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" -msgstr "" +msgstr "Discovery %swurde nicht gefunden" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" -msgstr "" +msgstr "Discovery %s wurde nicht installiert" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" -msgstr "" +msgstr "Discovery-Release %s wurde nicht gefunden" #: internal/cli/core/download.go:39 internal/cli/core/install.go:41 msgid "download a specific version (in this case 1.6.9)." @@ -2814,191 +3073,196 @@ msgstr "eine bestimmte Version herunterladen (in diesem Fall 1.6.9)." #: internal/cli/core/download.go:38 internal/cli/core/install.go:39 msgid "download the latest version of Arduino SAMD core." -msgstr "" +msgstr "Lade die neueste Version des Arduino SAMD-Kerns herunter." #: internal/cli/feedback/rpc_progress.go:73 msgid "downloaded" msgstr "heruntergeladen" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird heruntergeladen: %[2]s" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "leerer Platinenidentifikator" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "Fehler beim Laden der Sketch-Projektdatei:" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "Fehler beim Öffnen von %s" #: internal/cli/config/set.go:67 msgid "error parsing value: %v" -msgstr "" +msgstr "Fehler beim Parsen des Wertes: %v" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" -msgstr "" +msgstr "Fehler beim Parsen von Versionsbeschränkungen" #: commands/board/list.go:116 msgid "error processing response from server" -msgstr "" +msgstr "Fehler bei der Verarbeitung der Serverantwort" #: commands/board/list.go:96 msgid "error querying Arduino Cloud Api" -msgstr "" +msgstr "Fehler bei der Abfrage der Arduino Cloud Api" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "Archiv wird extrahiert: %s" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "Archiv wird extrahiert: %w" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" -msgstr "" +msgstr "Der Hash der Datei \"%s\" konnte nicht berechnet werden." #: commands/board/list.go:91 msgid "failed to initialize http client" -msgstr "" +msgstr "Http-Client konnte nicht initialisiert werden" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" +"Die Größe des abgerufenen Archivs unterscheidet sich von der im Index " +"angegebenen Größe" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" -msgstr "" +msgstr "Die Archivdateien müssen in einem Unterverzeichnis abgelegt werden" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" -msgstr "" +msgstr "Suche den absoluten Pfad zu %s" #: internal/cli/cli.go:72 msgid "flags" msgstr "Flags" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" -msgstr "" +msgstr "Folge dem Symlink %s" #: internal/cli/lib/download.go:39 msgid "for a specific version." msgstr "für eine bestimmte Version." -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "für die neueste Version." -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "für die jeweilige Version." #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" -msgstr "" +msgstr "Erzeugen der installations.id: %w" #: internal/inventory/inventory.go:74 msgid "generating installation.secret: %w" -msgstr "" +msgstr "Erzeugen von installation.secret: %w" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" -msgstr "" +msgstr "Hole Info zur Archivdatei: %s" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" -msgstr "" +msgstr "Hole Archiv-Info: %s" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" -msgstr "" +msgstr "Hole Archiv-Pfad: %s" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" -msgstr "" +msgstr "Build-Eigenschaften für das Board %[1]s : %[2]s abrufen" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "Discovery-Abhängigkeiten für die Plattform %[1]s abrufen: %[2]s" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "Monitor-Abhängigkeiten für die Plattform %[1]s : %[2]s abrufen" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "Abrufen von Tool-Abhängigkeiten für die Plattform %[1]s: %[2]s" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "Installationsverzeichnis nicht festgelegt" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird installiert: %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "Plattform %[1]s wird installiert: %[2]s" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" +"Interaktives Terminal wird für das Ausgabeformat '%s' nicht unterstützt" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" -msgstr "" +msgstr "Ungültige '%s' Richtlinie" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" -msgstr "" +msgstr "Ungültige 'add'-Meldung: Fehlender Port" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" -msgstr "" +msgstr "Ungültige 'remove'-Meldung: Fehlender Port" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" -msgstr "" +msgstr "Ungültiges Prüfsummenformat: %s" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "ungültige Konfigurationsoption: %s" #: internal/cli/arguments/reference.go:90 msgid "invalid empty core architecture '%s'" -msgstr "" +msgstr "Ungültige leere Kernarchitektur '%s'" #: internal/cli/arguments/reference.go:67 msgid "invalid empty core argument" -msgstr "" +msgstr "Ungültiges leeres Kernargument" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" -msgstr "" +msgstr "Ungültiger leerer Kernname '%s'" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" -msgstr "" +msgstr "Ungültige leere Kernreferenz '%s'" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" -msgstr "" +msgstr "Ungültige leere Kernversion: '%s'" #: internal/cli/lib/args.go:49 msgid "invalid empty library name" @@ -3008,39 +3272,39 @@ msgstr "ungültiger, leerer Bibliotheksname" msgid "invalid empty library version: %s" msgstr "ungültige, leere Bibliotheksversion: %s" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" -msgstr "" +msgstr "Ungültige leere Option gefunden" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "Ungültige Git-URL" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" -msgstr "" +msgstr "Ungültiger Hash '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "ungültiges Element %s" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" -msgstr "" +msgstr "Ungültige Bibliotheksrichtlinie:" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" -msgstr "" +msgstr "Ungültiges Bibliothekslayout: %s" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "Ungültiger Ort für Bibliothek: %s" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "ungültige Bibliothek: keine Header-Dateien gefunden" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "Ungültige Option '%s'" @@ -3051,38 +3315,40 @@ msgstr "Ungültige Option '%s'." #: internal/inventory/inventory.go:93 msgid "invalid path creating config dir: %[1]s error: %[2]w" msgstr "" +"Ungültiger Pfad beim Erstellen des Konfigurationsverzeichnisses: %[1]s " +"Fehler: %[2]w" #: internal/inventory/inventory.go:99 msgid "invalid path writing inventory file: %[1]s error: %[2]w" -msgstr "" +msgstr "Ungültiger Pfad beim Schreiben der Inventardatei: %[1]s Fehler: %[2]w" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "ungültige Plattformarchivgröße: %s" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "ungültiger Plattformidentifikator" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" -msgstr "" +msgstr "Ungültige Plattform-Index-URL:" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" -msgstr "" +msgstr "Ungültige hinzufügbare Monitor-Referenz: %s" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" -msgstr "" +msgstr "Ungültiger Port-Konfigurationswert für %s: %s" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "ungültige Port-Konfiguration: %s" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" -msgstr "" +msgstr "Ungültiges Rezept '%[1]s': %[2]s" #: commands/sketch/new.go:86 msgid "" @@ -3090,552 +3356,565 @@ msgid "" "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" +"Ungültiger Sketchname \"%[1]s\": Das erste Zeichen muss alphanumerisch oder " +"\"_\" sein, die folgenden können auch \"-\" und \".\" enthalten. Das letzte " +"Zeichen darf nicht \".\" sein." -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" -msgstr "" +msgstr "Ungültiger Wert '%[1]s' für Option '%[2]s'" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" -msgstr "" +msgstr "Ungültiges Versionsverzeichnis %s" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "ungültige Version:" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "Schlüssel in Einstellungen nicht gefunden" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "Schlüsselwörter" -#: arduino/libraries/librariesmanager/install.go:130 +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" +msgstr "Bibliotheken verfasst von Daniel Garcia" + +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "Nur von Adafruit erstellte Bibliotheken mit \"gfx\" im Namen" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "Bibliotheken, die mindestens von \"IRremote\" abhängen" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "Bibliotheken, die nur von \"IRremote\" abhängen" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "Bibliotheken mit \"buzzer\" im Feld Name" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "Bibliotheken mit einem Namen, der genau mit \"pcf8523\" übereinstimmt" + +#: internal/arduino/libraries/librariesmanager/install.go:124 msgid "library %s already installed" msgstr "Bibliothek %s bereits installiert" -#: arduino/libraries/librariesmanager/install.go:319 +#: internal/arduino/libraries/librariesmanager/install.go:313 msgid "library not valid" msgstr "Bibliothek nicht gültig" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" -msgstr "Bibliothekspfad existiert nicht: %s" - -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" -msgstr "" +msgstr "Auflistung der seriellen Schnittstellen" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "lade %[1]s: %[2]s" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "Platinen werden geladen: %s" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" -msgstr "" +msgstr "json-Indexdatei laden %[1]s: %[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "lade Bibliothek von %[1]s: %[2]s" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "lade library.porperties: %s" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" -msgstr "" +msgstr "Lade Plattform-Release %s" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "lade platform.txt" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" -msgstr "" +msgstr "Lade erforderliche Plattform %s" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" -msgstr "" +msgstr "Lade erforderliches Tool %s" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" -msgstr "" +msgstr "Lade Tool-Release in %s" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "suche nach boards.txt in %s" -#: arduino/sketch/sketch.go:76 -msgid "main file missing from sketch: %s" +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/sketch.go:79 +msgid "main file missing from sketch: %s" +msgstr "Hauptdatei fehlt im Sketch: %s" + +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" -msgstr "" +msgstr "Fehlende '%s' Richtlinie" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" -msgstr "" +msgstr "Fehlende Prüfsumme für: %s" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" -msgstr "" +msgstr "Fehlendes Paket %[1]s referenziert von Board %[2]s" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" +"Fehlender Paketindex für %s, zukünftige Updates können nicht garantiert " +"werden" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" -msgstr "" +msgstr "Fehlende Plattform %[1]s:%[2]s referenziert von Board %[3]s" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" -msgstr "" +msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" -msgstr "" +msgstr "Fehlende Signatur" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" -msgstr "" +msgstr "Monitor-Freigabe nicht gefunden: %s" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" -msgstr "" +msgstr "Verschieben des extrahierten Archivs in das Zielverzeichnis: %s" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" -msgstr "" +msgstr "Mehrere Build-Artefakte gefunden: '%[1]s' und '%[2]s'" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" -msgstr "" +msgstr "Mehrere Haupt-Sketchdateien gefunden (%[1]v, %[2]v)" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" +"Keine kompatible Version von %[1]s Tools für das aktuelle Betriebssystem " +"gefunden wurde, kontaktiere bitte %[2]s" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" -msgstr "" +msgstr "Keine Instanz angegeben" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" -msgstr "" +msgstr "Kein Sketch oder Build-Verzeichnis/Datei angegeben" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" -msgstr "" +msgstr "Verzeichnis oder Datei nicht vorhanden" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" +"Kein eindeutiges Stammverzeichnis im Archiv, gefunden wurde: '%[1]s' und " +"'%[2]s'" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" -msgstr "" +msgstr "Kein Upload-Port vorhanden" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" -msgstr "" +msgstr "Kein gültiger Sketch in %[1]s gefunden : es fehlt %[2]s" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" +"Keine Versionen für das aktuelle Betriebssystem verfügbar. Kontaktiere bitte" +" %s" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" -msgstr "" +msgstr "Läuft nicht in einem Terminal" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" -msgstr "" +msgstr "Archivdatei öffnen: %s" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "boards.txt wird geöffnet" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" -msgstr "" +msgstr "Öffnen des Ports mit 1200bps" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" -msgstr "" +msgstr "Öffne Signaturdatei: %s" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" -msgstr "" +msgstr "Öffne Zieldatei: %s" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "Paket %s nicht gefunden" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" -msgstr "" +msgstr "Paket '%s' nicht gefunden" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "parse FQBN: %s" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "parse library_index.json: %s" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" -msgstr "" +msgstr "Pfad ist kein Plattformverzeichnis: %s" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" -msgstr "" +msgstr "Plattform %[1]s nicht im Paket %[2]s gefunden " -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/packagemanager/package_manager.go:335 msgid "platform %s is not installed" msgstr "Plattform %s ist nicht installiert" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" +msgstr "Plattform ist für dieses Betriebssystem nicht verfügbar" + +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "Plattform nicht installiert" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." -msgstr "" +msgstr "Bitte verwende stattdessen --build-property." -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" -msgstr "" +msgstr "Pluggable discovery bereits hinzugefügt: %s" #: internal/cli/board/attach.go:34 msgid "port" msgstr "Port" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "Port nicht gefunden: %[1]s %[2]s" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" -msgstr "" +msgstr "Protokollversion nicht unterstützt, gefordert: %[1]d, erhalten %[2]d" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "%[1]s wird gelesen: %[2]s" +msgstr "Protokollversion nicht unterstützt, gefordert 1, erhalten %d" -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "Verzeichnis %[1]s wird gelesen: %[2]s" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" -msgstr "" +msgstr "Lese Verzeichnis %[1]s, Inhalt: %[2]w" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "Verzeichnis %s wird gelesen" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" -msgstr "" +msgstr "Lese Verzeichnis %s, Inhalt: %w" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "Datei %[1]s wird gelesen: %[2]s" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" -msgstr "Dateien werden gelesen: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" +msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" -msgstr "" +msgstr "Lese Bibliotheks-Header: %s" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" -msgstr "" +msgstr "Lese lib src-Verzeichnis: %s" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" -msgstr "" +msgstr "Lese Bibliotheks-Header: %w" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "lese library_index.json: %s" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" -msgstr "" +msgstr "Lese Paketstammverzeichnis: %s" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" -msgstr "" +msgstr "Rezept nicht gefunden '%s'" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" -msgstr "" +msgstr "Freigabe %[1]s für Werkzeug %[2]s nicht gefunden " -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" -msgstr "" +msgstr "Freigabe kann nicht null sein" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" -msgstr "" +msgstr "Entfernen der beschädigten Archivdatei: %s" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" -msgstr "" +msgstr "Entferne das Bibliotheksverzeichnis: %s" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" -msgstr "Plattformdateien werden entfernt: %s" +msgstr "Entferne die Plattformdateien: %s" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" -msgstr "" +msgstr "Erforderliche Version %[1]s für Plattform %[2]s nicht gefunden " -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" -msgstr "" - -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" +msgstr "Abrufen der öffentlichen Arduino-Schlüssel: %s" -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" -msgstr "" +msgstr "Suche im Stammverzeichnis des Pakets: %s" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" -msgstr "" +msgstr "DTR auf OFF setzen" #: commands/sketch/new.go:78 msgid "sketch name cannot be empty" -msgstr "" +msgstr "Sketchname darf nicht leer sein" #: commands/sketch/new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" -msgstr "" +msgstr "Der Sketchname darf nicht der reservierte Name \"%[1]s\" sein." #: commands/sketch/new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" +"Sketchname zu lang (%[1]d Zeichen). Die maximal zulässige Länge ist %[2]d" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" -msgstr "" +msgstr "Der Sketch-Pfad ist ungültig" #: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 msgid "sketchPath" -msgstr "" - -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "Quelle ist kein Verzeichnis" +msgstr "Sketch-Pfad" -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" -msgstr "" +msgstr "Starte Discovery %s" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" -msgstr "" +msgstr "Prüfung der Archivprüfsumme: %s" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "Archivgröße wird getestet: %s" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" -msgstr "" +msgstr "Prüfe, ob das Archiv zwischengespeichert ist: %s" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" -msgstr "" +msgstr "Prüfung der Integrität des lokalen Archivs: %s" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "Textbereich überschreitet den verfügbaren Platz auf der Platine" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" -msgstr "" - -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" +msgstr "Die Kompilierdatenbank kann unvollständig oder ungenau sein" #: commands/board/list.go:103 msgid "the server responded with status %s" -msgstr "" +msgstr "Der Server antwortete mit dem Status %s" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" -msgstr "" +msgstr "Timeout beim Warten auf Nachricht" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" -msgstr "" +msgstr "Timeout beim Warten auf Nachricht von %s" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" -msgstr "" +msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" -msgstr "" +msgstr "Tool %s nicht gefunden" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" -msgstr "" +msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "Werkzeug nicht installiert" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" -msgstr "" +msgstr "Werkzeugfreigabe nicht gefunden: %s" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "Werkzeugversion %s nicht gefunden" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "zwei verschiedene Versionen der Bibliothek %[1]s sind erforderlich: %[2]s " "und %[3]s" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" +"Relativer Pfad zum Sketch konnte für das Element nicht berechnet werden" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" -msgstr "" +msgstr "Konnte keinen Ordner zum Speichern des Sketchs erstellen" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" -msgstr "" +msgstr "Konnte Ordner, der das Objekt enthält, nicht erstellen" #: internal/cli/config/dump.go:59 msgid "unable to marshal config to YAML: %v" -msgstr "" +msgstr "Konnte die Konfiguration nicht in YAML umwandeln: %v" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" -msgstr "" +msgstr "Inhalt des Zielobjekts konnte nicht gelesen werden" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" -msgstr "" +msgstr "Inhalt der Quelle konnte nicht gelesen werden" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "Schreiben in Zieldatei unmöglich" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "unbekanntes Paket %s" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "unbekannte Plattform %s:%s" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" -msgstr "" +msgstr "Unbekannte Sketch-Dateierweiterung '%s'" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" -msgstr "" +msgstr "Nicht unterstützter Hash-Algorithmus: %s" #: internal/cli/core/upgrade.go:43 msgid "upgrade arduino:samd to the latest version" -msgstr "" +msgstr "Aktualisiere arduino:samd auf die neueste Version" #: internal/cli/core/upgrade.go:41 msgid "upgrade everything to the latest version" -msgstr "" +msgstr "Aktualisiere alles auf die neueste Version" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "Hochladefehler: %s" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" -msgstr "" +msgstr "Benutzerverzeichnis nicht gesetzt" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" -msgstr "" +msgstr "Benutzereingaben werden für das Ausgabeformat '%s' nicht unterstützt." -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" -msgstr "" +msgstr "Benutzereingaben werden im nicht interaktiven Modus nicht unterstützt" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "Version %s ist für dieses Betriebssystem nicht verfügbar" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "Version %s nicht gefunden" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index bb7b86937fb..03ac292fc58 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -8,10 +8,11 @@ # Iago, 2022 # Gonzalo Martínez, 2023 # Gaia Castronovo <g.castronovo@arduino.cc>, 2023 +# Diego Castro, 2023 # msgid "" msgstr "" -"Last-Translator: Gaia Castronovo <g.castronovo@arduino.cc>, 2023\n" +"Last-Translator: Diego Castro, 2023\n" "Language-Team: Spanish (https://app.transifex.com/arduino-1/teams/108174/es/)\n" "Language: es\n" "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" @@ -20,87 +21,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "¡%[1]s ya no es compatible con la carpeta! %[2]s Para más información" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s inválido, reconstruyendo todo" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s es requerido pero %[2]s está actualmente instalado." -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "No se encuentra patrón %[1]s" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s, mensaje: %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s, puerto: %[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s, puertos: %[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, versión del protocolo: %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s ya está descargado" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s y %s no se pueden usar juntos" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s instalado" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s ya está instalado." -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s no es un directorio" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s no es manejado por el administrador de paquetes" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%s debe ser instalado." -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "Falta el patrón %s " -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "'%s' tiene una firma inválida" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(oculto)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(legado)" @@ -128,11 +129,11 @@ msgstr "" msgid ".ino file already exists" msgstr "El archivo .ino ya existe" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "Una nueva versión de Arduino CLI está disponible:" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "Se requiere un programador para subir." @@ -149,7 +150,7 @@ msgstr "MANUAL DE LA LINEA DE COMANDOS DE ARDUINO" msgid "Additional help topics:" msgstr "Temas de ayuda adicionales:" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "Agrega uno o más valores a una configuración." @@ -157,31 +158,35 @@ msgstr "Agrega uno o más valores a una configuración." msgid "Aliases:" msgstr "Alias:" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "Todos los núcleos están en su última versión" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "Ya está instalado %s" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternativas para %[1]s: %[2]s" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "Ocurrió un error añadiendo prototipos" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "Ocurrió un error detectando librerías" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "Registro de depuración añadido al archivo especificado" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "Arquitectura: %s" @@ -189,7 +194,7 @@ msgstr "Arquitectura: %s" msgid "Archive already exists" msgstr "El archivo ya existe" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivando el núcleo construido (cacheado) en: %[1]s" @@ -225,7 +230,7 @@ msgstr "Commandos de configuración de Arduino" msgid "Arduino core operations." msgstr "Operaciones del núcleo Arduino" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "Errores en los argumentos: %v " @@ -233,23 +238,23 @@ msgstr "Errores en los argumentos: %v " msgid "Attaches a sketch to a board." msgstr "Conecta una tabla al sketch." -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "Autor: %s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "Disponible" @@ -257,51 +262,51 @@ msgstr "Disponible" msgid "Available Commands:" msgstr "Comandos disponibles:" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "Archivo binario para cargar." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "Nombre de la placa" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nombre de la placa:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Versión de la placa:" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichero Bootloader especificado pero ausente: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "La compilaciones de 'core.a' e guardan en esta ruta para ser cacheadas y " "reusadas" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "No se puede crear el directorio de datos %s" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "No se puede crear el sketch" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "No fue posible descargar la librería" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "No puedo encontrar las dependencias para la plataforma %s" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "No es posible abrir el sketch" @@ -309,7 +314,7 @@ msgstr "No es posible abrir el sketch" msgid "Can't set multiple values in key %v" msgstr "No se puede establecer multiples valores a un mismo índice %v" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -317,11 +322,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "No se puede escribir el archivo de configuración: %v" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -341,11 +346,11 @@ msgstr "No se puede crear el directorio de archivos de configuración: %v" msgid "Cannot create config file: %v" msgstr "No se puede crear el archivo de configuración: %v" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "No se puede crear un directorio temporal" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "No se puede crear un archivo temporal" @@ -353,7 +358,7 @@ msgstr "No se puede crear un archivo temporal" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "No se puede ejecutar la herramienta de depuración" @@ -361,19 +366,19 @@ msgstr "No se puede ejecutar la herramienta de depuración" msgid "Cannot find absolute path: %v" msgstr "No se puede encontrar la ruta absoluta: %v" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "No se puede instalar la plataforma" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "No se puede instalar la herramienta %s" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "No se puede realizar el reinicio del puerto: %s" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "No se puede actualizar la plataforma" @@ -381,19 +386,23 @@ msgstr "No se puede actualizar la plataforma" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "Categoría: %s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "Comprueba el estado de las dependencias de la librería especificada." -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "El checksum difiere del checksum en package.json" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Checksum:" @@ -406,7 +415,7 @@ msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Lista separada por comas de URLs adicionales para el Gestor de Tarjetas." -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -414,27 +423,27 @@ msgstr "" "El comando sigue ejecutándose e imprime la lista de placas conectadas cada " "vez que hay un cambio." -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "Proyecto compilado no encontrado en %s" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "Compila los sketch de Arduino" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "Compilando el núcleo..." -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "Compilando librerías..." -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "Compilando librería \"%[1]s\"" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "Compilando el sketch..." @@ -445,57 +454,57 @@ msgstr "" "El archivo de configuración ya existe, utilice --overwrite para descartar el" " existente." -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "Archivo de configuración escrito en: %s" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "Opciones de configuración para %s" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "Configurando plataforma." -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "¡Conectado a %s! Pulse CTRL-C para salir." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "Núcleo" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "No se pudo conectar vía HTTP" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "No se ha podido crear el directorio índice." -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "No se pudo determinar el tamaño del programa" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "No se ha podido obtener el directorio de trabajo actual: %v" @@ -503,7 +512,7 @@ msgstr "No se ha podido obtener el directorio de trabajo actual: %v" msgid "Create a new Sketch" msgstr "Crear un nuevo Sketch" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -519,47 +528,43 @@ msgstr "" "Crea o actualiza el archivo de configuración en el directorio de datos o " "directorio personalizado con los ajustes actuales." -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "OBSOLETO" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "Depurar sketches de Arduino." -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Intérprete de depuración e.j.: %s" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "Depuración no soportada para la tarjeta: %s" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "Debugging soportado:" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "Por defecto" @@ -585,29 +590,29 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "Elimina una llave de configuraciones y sus sub-llaves." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "Dependencias: %s" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "Descripción" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "Detectando las librerías usadas..." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" "Detecta y muestra una lista de placas conectadas al computador actual." -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "La carpeta contiene archivos binarios para la depuración." -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "La carpeta contiene archivos binarias para subir." @@ -623,11 +628,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "Desconectado" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -643,45 +648,49 @@ msgstr "No sobrescribir librerías ya instaladas." msgid "Do not overwrite already installed platforms." msgstr "No sobrescribir plataformas ya instaladas." -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "Descargando %s" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Descargando el índice: %s" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "Descargando la librería %s" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "Descargando herramienta perdida %s" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "Descargando paquetes" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "Descargando la plataforma %s" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "Descargando la herramienta%s" @@ -695,7 +704,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "Descarga una o más librerías sin instalarlas." -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -711,11 +720,11 @@ msgstr "Introducir la url de git para librerías alojadas en repositorios" msgid "Error adding file to sketch archive" msgstr "Error añadiendo sketch al archivo de sketch" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -727,11 +736,11 @@ msgstr "Error calculando la ruta de archivo relativa" msgid "Error cleaning caches: %v" msgstr "Error limpiando caches: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "Error copiando el archivo de salida %s" @@ -739,7 +748,7 @@ msgstr "Error copiando el archivo de salida %s" msgid "Error creating instance: %v" msgstr "Error creando la instancia: %v" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "Error al crear el directorio de salida" @@ -751,7 +760,7 @@ msgstr "Error creando el archivo de sketch" msgid "Error creating sketch: %v" msgstr "Error creando el sketch: %v" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "Error detectando placas: %v" @@ -759,41 +768,40 @@ msgstr "Error detectando placas: %v" msgid "Error downloading %[1]s: %[2]v" msgstr "Error al descargar %[1]s: %[2]v" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "Error descargando %s" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "Error descargando el índice '%s'" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "Error descargando el índice de firmas '%s'" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "Error descargando la librería %s" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "Error descargando la plataforma %s" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "Error descargando la herramienta %s" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -801,10 +809,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" @@ -812,7 +820,7 @@ msgstr "Error durante la carga: %v" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -824,19 +832,20 @@ msgstr "Error durante la instalación: %v" msgid "Error during uninstall: %v" msgstr "Error durante la desinstalacion: %v" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "Error durante la actualización: %v" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "Error extrayendo %s" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -844,20 +853,26 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "Error obteniendo la ruta absoluta del archivo de sketch" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Error obteniendo los detalles de la placa: %v" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" "Error obteniendo el directorio actual para la base de datos de compilación%s" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "Error obteniendo información para la librería %s" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "Error obteniendo información de las librerías: %v" @@ -865,11 +880,11 @@ msgstr "Error obteniendo información de las librerías: %v" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -889,63 +904,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "Error instalando la plataforma %s" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "Error instalando la herramienta %s" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "Error listando las placas: %v" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "Error listando las plataformas: %v" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "Error al leer el archivo de configuración: %v" @@ -953,43 +968,49 @@ msgstr "Error al leer el archivo de configuración: %v" msgid "Error reading sketch files" msgstr "Error leyendo los archivos del sketch" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "Error al revertir los cambios: %s" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "Error en la búsqueda de placas: %v" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -997,7 +1018,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "Error al desinstalar %[1]s: %[2]v" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -1005,26 +1026,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1032,15 +1054,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1048,65 +1070,65 @@ msgstr "" msgid "Examples:" msgstr "Ejemplos:" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "Borrado del chip fallida" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "Archivo:" @@ -1149,7 +1171,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1157,7 +1179,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1174,7 +1196,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1182,7 +1204,7 @@ msgstr "" msgid "Global Flags:" msgstr "Banderas globales:" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1190,25 +1212,25 @@ msgstr "" "Las variables Globales usan %[1]s bytes (%[3]s%%) de la memoria dinámica, " "dejando %[4]s bytes para las variables locales. El máximo es %[2]s bytes." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variables globales usan %[1]s bytes de memoria dinamica." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Propiedades de identificación:" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1218,7 +1240,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1230,30 +1252,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Instalado" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "Instalado %s" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "Instalando %s" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "Instalando la librería %s" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "Instalando la plataforma %s" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "Instalando la herramienta %s" @@ -1265,11 +1287,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "Error interno en la cache" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1278,28 +1300,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FQBN inválido" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1308,27 +1330,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Instancia inválida" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "Librería inválida" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1340,7 +1362,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1352,7 +1374,7 @@ msgstr "Parámetro inválido %s: versión no compatible" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "Perfil inválido" @@ -1360,15 +1382,15 @@ msgstr "Perfil inválido" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Versión inválida" @@ -1376,88 +1398,88 @@ msgstr "Versión inválida" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "LIBRERÍA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "Última" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "La librería %[1]s ya está instalada, pero en una versión diferente: %[2]s" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "La librería %s ya se encuentra en la versión más reciente" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "La librería %s no está instalada" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "Librería %s no encontrada" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "La librería '%s' no fue encontrada" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "La instalación de la librería no fue exitosa" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "Librería instalada" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "Licencia: %s" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "Listar las placas conectadas." @@ -1467,13 +1489,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "Enumera las librerías actualizables." @@ -1485,25 +1507,25 @@ msgstr "Enumera las plataformas actualizables." msgid "Lists all connected boards." msgstr "Enumera todas las placas conectadas." -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "Ubicación" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" "Hay poca memoria disponible; pueden producirse problemas de estabilidad." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1516,69 +1538,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Falta '%[1]s' de la biblioteca en %[2]s" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "Falta el puerto" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "No se encuentra la dirección del puerto " -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "Falta el protocolo del puerto" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "Monitor '%s' no encontrado" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Se encontraron varias bibliotecas para \"%[1]s\"" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "Nombre" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "Nombre: \"%s\"" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "No se encontraron placas." @@ -1586,19 +1608,19 @@ msgstr "No se encontraron placas." msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "No se encontraron las librerías." -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "No hay librerías instaladas." -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "Ninguna librería concuerda con tu búsqueda." -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1606,19 +1628,19 @@ msgstr "" "Ninguna librería concuerda con tu búsqueda.\n" "Querías decir...\n" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1626,75 +1648,75 @@ msgstr "" msgid "No platforms matching your search." msgstr "No hay plataformas que coincidan con su búsqueda." -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "No hay suficiente memoria, ver %[1]s para obtener consejos sobre cómo " "optimizar su código." -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "No utilizado: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "OS:" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Placa oficial de Arduino:" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "Abre un puerto de comunicación con una placa." -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Opción:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1717,41 +1739,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1761,111 +1783,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "La plataforma %s ya está instalada" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "Plataforma %s desinstalada" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "La plataforma '%s' ya se encuentra en su versión más reciente" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "Puerto" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "Puerto cerrado: %v" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1881,35 +1904,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "Perfil '%s' no encontrado" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "Programadores:" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "La propiedad '%s' no está definida" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "Protocolo" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1917,96 +1940,143 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" -msgstr "" +msgstr "Reemplazando %[1]s con %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" -msgstr "" +msgstr "Reemplazando plataforma %[1]s con %[2]s" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Herramienta requerida:" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Busca un núcleo in el Manager de Tarjetas usando las palabras clave " "especificadas." -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "Busca un núcleo in el Manager de Tarjetas." -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "Sentencia: %s" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "El servidor respondió con: %s" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2024,7 +2094,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2036,11 +2106,11 @@ msgstr "" msgid "Show all available core versions." msgstr "Muestra todos los núcleos disponibles." -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2050,25 +2120,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "Mostrar solo los nombres de la librería." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2079,11 +2149,11 @@ msgstr "" "Muestra los núcleos y librerías obsoletas después de una actualización de " "índice" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2096,11 +2166,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "Mostrar la lista de plataformas instaladas." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "Muestra la lista de ejemplos para las librerías." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2115,7 +2185,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Tamaño (bytes):" @@ -2125,7 +2195,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2133,11 +2203,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Programa muy grando: visite %[1]s para ver cómo reducirlo." -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2145,62 +2215,58 @@ msgstr "" "El Sketch usa %[1]s bytes (%[3]s%%) del espacio de almacenamiento de " "programa. El máximo es %[2]s bytes." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2208,11 +2274,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2224,17 +2298,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2244,13 +2318,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2262,7 +2336,7 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2270,69 +2344,70 @@ msgstr "" "Este comando muestra una lista de los núcleos o librerías instaladas\n" "que pueden ser actualizadas. Si ninguno necesita ser actualizado no se mostrará nada." -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "La herramienta %s ya está instalada" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "La herramienta %s se desinstaló" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "Habilitar el modo verbose." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "Tipo" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "Tipos: %s" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2340,17 +2415,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "Desinstalando %s" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "Desinstalando %s, la herramienta ya no es requerida" @@ -2366,11 +2441,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Desinstalar una o más librerías." -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2398,7 +2473,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2418,40 +2493,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "Subir el binario después de la compilación." -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "Cargar el bootloader en la placa usando un programador externo." -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "Cargar el bootloader." -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2470,48 +2545,49 @@ msgstr "Uso:" msgid "Use %s for more information about a command." msgstr "Use %spara más información acerca de un comando." -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Usado: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Usando librería %[1]s con versión %[2]s en la carpeta: %[3]s %[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Utilizando biblioteca %[1]s en carpeta: %[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "Utilizando archivo previamente compilado: %[1]s" @@ -2519,46 +2595,46 @@ msgstr "Utilizando archivo previamente compilado: %[1]s" msgid "VERSION" msgstr "VERSIÓN" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2567,16 +2643,16 @@ msgstr "" "y puede ser incompatible con tu actual tarjeta la cual corre sobre " "arquitectura(s) %[3]s." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "Sitio web: %s" @@ -2594,19 +2670,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2614,78 +2690,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "Candidatos" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2693,99 +2767,103 @@ msgstr "" msgid "command" msgstr "comando" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "comando fallido: %s" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2801,19 +2879,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "identificador de placa vacío" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2821,7 +2903,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2833,15 +2915,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2849,15 +2931,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2865,7 +2947,7 @@ msgstr "" msgid "flags" msgstr "banderas" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2873,12 +2955,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2891,73 +2973,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2969,15 +3049,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2989,39 +3069,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "ítem inválido %s" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -3037,31 +3117,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3072,256 +3152,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "Palabras clave" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "Listando los puertos seriales" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3329,115 +3423,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3454,7 +3541,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3462,95 +3549,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3558,31 +3638,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3594,27 +3674,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "versión %s no encontrada" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index 0490294be64..cd4508d7335 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -15,89 +15,89 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "le dossier %[1]sn'est plus supporté ! Consulter%[2]s pour plus " "d'informations" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s est un schéma manquant" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s déjà téléchargé" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%set%sne peuvent pas être téléchargé." -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(héritage)" @@ -121,11 +121,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -142,7 +142,7 @@ msgstr "Manuel d'Arduino Command Line" msgid "Additional help topics:" msgstr "Aide supplémentaire sur les sujets :" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "Ajouter une autre valeur à un réglage." @@ -150,31 +150,35 @@ msgstr "Ajouter une autre valeur à un réglage." msgid "Aliases:" msgstr "Alias :" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "Tous les cœurs sont à jours vers la dernière version." -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "Déjà installé %s" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternative pour %[1]s: %[2]s" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "Architecture : %s" @@ -182,7 +186,7 @@ msgstr "Architecture : %s" msgid "Archive already exists" msgstr "L'archive existe déjà" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivage du noyau construit (mise en cache) dans: %[1]s" @@ -218,7 +222,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -226,23 +230,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "" @@ -250,49 +254,49 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichier du bootloader spécifié mais absent: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -300,7 +304,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -308,11 +312,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -332,11 +336,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "Impossible de créer le dossier temporaire" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "Impossible de créer le fichier temporaire" @@ -344,7 +348,7 @@ msgstr "Impossible de créer le fichier temporaire" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -352,19 +356,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -372,19 +376,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -396,33 +404,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "Croquis compilé introuvable %s" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "Compilation des croquis Arduino." -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "Compilation du croquis..." @@ -431,57 +439,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "Configuration de la plateforme." -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "Connecté" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -489,7 +497,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -503,47 +511,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "Défaut" @@ -569,28 +573,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -604,11 +608,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -624,45 +628,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "Téléchargement %s" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "Téléchargement des paquets" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -674,7 +682,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -690,11 +698,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -706,11 +714,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -718,7 +726,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -730,7 +738,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -738,41 +746,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -780,10 +787,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -791,7 +798,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -803,19 +810,20 @@ msgstr "" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -823,19 +831,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -843,11 +857,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -867,63 +881,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "Erreur lors de l'installation de la librairie Zip : %v" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "Erreur lors de l'installation de la plateforme %s" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "Erreur lors de l’installation de l'outil %s." -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -931,43 +945,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -975,7 +995,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -983,26 +1003,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1010,15 +1031,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1026,65 +1047,65 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1127,7 +1148,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1135,7 +1156,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1152,7 +1173,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1160,7 +1181,7 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1169,25 +1190,25 @@ msgstr "" "dynamique, ce qui laisse %[4]s octets pour les variables locales. Le maximum" " est de %[2]s octets." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Les variables globales utilisent %[1]s octets de mémoire dynamique." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1197,7 +1218,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1209,30 +1230,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Installé" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1244,11 +1265,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1257,28 +1278,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1287,27 +1308,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1319,7 +1340,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1331,7 +1352,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1339,15 +1360,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" @@ -1355,87 +1376,87 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1445,13 +1466,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1463,26 +1484,26 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" "La mémoire disponible faible, des problèmes de stabilité pourraient " "survenir." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1495,69 +1516,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Fichier manquant '%[1]s' de la bibliothèque dans %[2]s" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Plusieurs bibliothèque trouvées pour \"%[1]s\"" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1565,37 +1586,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1603,75 +1624,75 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Mémore insuffisante; consulter la page %[1]s pour obtenir des astuces sur " "comment le réduire." -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "Non utilisé: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1694,41 +1715,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1738,111 +1759,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1858,35 +1880,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1894,94 +1916,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1999,7 +2068,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2011,11 +2080,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2025,25 +2094,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2052,11 +2121,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2069,11 +2138,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2088,7 +2157,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" @@ -2098,7 +2167,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2106,11 +2175,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Croquis trop gros; vois %[1]s pour des conseils de réduction." -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2118,62 +2187,58 @@ msgstr "" "Le croquis utilise %[1]s octets (%[3]s%%) de l'espace de stockage de " "programmes. Le maximum est de %[2]s octets." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2181,11 +2246,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2197,17 +2270,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2217,13 +2290,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2235,75 +2308,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2311,17 +2385,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2335,11 +2409,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2367,7 +2441,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2387,40 +2461,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2439,51 +2513,52 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Utilisé: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" "Utilisation de la bibliothèque %[1]s version %[2]s dans le dossier: %[3]s " "%[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" "Utilisation de la bibliothèque %[1]s prise dans le dossier: %[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "Utilisation du fichier déjà compilé: %[1]s" @@ -2491,46 +2566,46 @@ msgstr "Utilisation du fichier déjà compilé: %[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2539,16 +2614,16 @@ msgstr "" "architecture(s) %[2]s et peut être incompatible avec votre carte actuelle " "qui s'exécute sur %[3]s." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2566,19 +2641,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2586,78 +2661,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2665,99 +2738,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2773,19 +2850,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2793,7 +2874,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2805,15 +2886,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2821,15 +2902,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2837,7 +2918,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2845,12 +2926,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2863,73 +2944,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2941,15 +3020,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2961,39 +3040,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -3009,31 +3088,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3044,256 +3123,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3301,115 +3394,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3426,7 +3512,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3434,95 +3520,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3530,31 +3609,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "impossible d’écrire dans le fichier de destination." -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "paquet inconnu %s" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "plateforme inconnue %s:%s" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "extension de croquis inconnue '%s' " -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "algorithme de hachage non supporté" @@ -3566,27 +3645,27 @@ msgstr "mise à jour de arduino:samd vers la dernière version" msgid "upgrade everything to the latest version" msgstr "tout mettre à jour tout vers la dernière version" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index 20309bd90d7..10e578b6ef5 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -13,87 +13,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s גרסה: %[3]s קומיט: %[4]sתאריך: %[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s תבנית חסרה" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s, הערה: %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s, פורט: %[2]s " -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, גרסאת פרוטוקול: %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s מותקן" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s אינו תיקייה" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s אינו מנוהל על ידי מנהל ההתקנות" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(מוסתר)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "" @@ -117,11 +117,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -138,7 +138,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "" @@ -146,31 +146,35 @@ msgstr "" msgid "Aliases:" msgstr "" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "ארכיטקטורה: %s" @@ -178,7 +182,7 @@ msgstr "ארכיטקטורה: %s" msgid "Archive already exists" msgstr "" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "" @@ -214,7 +218,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -222,23 +226,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "" @@ -246,49 +250,49 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -296,7 +300,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -304,11 +308,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -328,11 +332,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "" @@ -340,7 +344,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -348,19 +352,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -368,19 +372,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -392,33 +400,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "" @@ -427,57 +435,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -485,7 +493,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -499,47 +507,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "" @@ -565,28 +569,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -600,11 +604,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -620,45 +624,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -670,7 +678,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -686,11 +694,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -702,11 +710,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -714,7 +722,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -726,7 +734,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -734,41 +742,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -776,10 +783,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -787,7 +794,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -799,19 +806,20 @@ msgstr "" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -819,19 +827,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -839,11 +853,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -863,63 +877,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -927,43 +941,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -971,7 +991,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -979,26 +999,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1006,15 +1027,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1022,65 +1043,65 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1123,7 +1144,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1131,7 +1152,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1148,7 +1169,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1156,31 +1177,31 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1190,7 +1211,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1202,30 +1223,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1237,11 +1258,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1250,28 +1271,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1280,27 +1301,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1312,7 +1333,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1324,7 +1345,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1332,15 +1353,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" @@ -1348,87 +1369,87 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1438,13 +1459,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1456,24 +1477,24 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1486,69 +1507,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1556,37 +1577,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1594,73 +1615,73 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1683,41 +1704,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1727,111 +1748,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1847,35 +1869,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1883,94 +1905,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1988,7 +2057,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2000,11 +2069,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2014,25 +2083,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2041,11 +2110,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2058,11 +2127,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2077,7 +2146,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" @@ -2087,7 +2156,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2095,72 +2164,68 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "" -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2168,11 +2233,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2184,17 +2257,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2204,13 +2277,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2222,75 +2295,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2298,17 +2372,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2322,11 +2396,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2354,7 +2428,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2374,40 +2448,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2426,48 +2500,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "" @@ -2475,61 +2550,61 @@ msgstr "" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2547,19 +2622,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2567,78 +2642,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2646,99 +2719,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2754,19 +2831,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2774,7 +2855,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2786,15 +2867,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2802,15 +2883,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2818,7 +2899,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2826,12 +2907,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2844,73 +2925,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2922,15 +3001,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2942,39 +3021,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -2990,31 +3069,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3025,256 +3104,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3282,115 +3375,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3407,7 +3493,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3415,95 +3501,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3511,31 +3590,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3547,27 +3626,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index 08764032efe..5386234f77e 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -20,79 +20,79 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Versione: %[3]s Commit: %[4]s Data: %[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "La cartella %[1]s non è più supportata! Vedere %[2]s per maggiori " "informazioni" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s non è valido, ricompilo tutto" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s è richiesto ma %[2]s risulta attualmente installato." -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "Manca il pattern %[1]s" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s, messaggio: %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s, porta: %[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s, porte: %[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, versione protocollo: %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr " %s già scaricato" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s e %s non possono essere usati insieme" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s installato" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s è già installato." -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s non è una directory" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s non è gestito dal gestore pacchetti" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%s deve essere installato." -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "Manca il pattern %s" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "'%s' ha una firma invalida" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -100,11 +100,11 @@ msgstr "" "'build.core' e 'build.variant' fanno riferimento a piattaforme diverse: " "%[1]s and %[2]s" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(nascosto)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(ereditato)" @@ -133,11 +133,11 @@ msgstr "" msgid ".ino file already exists" msgstr "il file .ino è già presente" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "È disponibile una nuova versione di Arduino CLI:" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "Per caricare è necessario un programmatore" @@ -154,7 +154,7 @@ msgstr "MANUALE DELLA LINEA DI COMANDO DI ARDUINO" msgid "Additional help topics:" msgstr "Informazioni aggiuntive:" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "Aggiunge uno o più valori a un'impostazione." @@ -162,31 +162,35 @@ msgstr "Aggiunge uno o più valori a un'impostazione." msgid "Aliases:" msgstr "Alias:" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "Tutte le piattaforme sono aggiornate." + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "Tutti i core sono già all'ultima versione" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "Già installato %s" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternative per %[1]s: %[2]s" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "Si è verificato un errore durante l'aggiunta di un prototipo" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "Si è verificato un errore durante il rilevamento delle librerie" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "Aggiungi il log di debug in coda al file specificato" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "Architettura: %s" @@ -194,7 +198,7 @@ msgstr "Architettura: %s" msgid "Archive already exists" msgstr "L'archivio è già presente" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivio il core compilato (caching) in: %[1]s" @@ -230,7 +234,7 @@ msgstr "Comandi di configurazione Arduino." msgid "Arduino core operations." msgstr "Operazioni core Arduino" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "Errore di argomenti: %v" @@ -238,11 +242,11 @@ msgstr "Errore di argomenti: %v" msgid "Attaches a sketch to a board." msgstr "Collega uno sketch ad una scheda." -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "Autore: %s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -250,7 +254,7 @@ msgstr "" "Non è possibile eseguire l'installazione automatica della libreria, " "rimuovere manualmente tutti i duplicati e riprovare." -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -258,7 +262,7 @@ msgstr "" "La disinstallazione automatica delle librerie non può essere eseguita, " "rimuovile manualmente." -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "Disponibile" @@ -266,51 +270,51 @@ msgstr "Disponibile" msgid "Available Commands:" msgstr "Comandi disponibili:" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "File binario da caricare." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "Nome scheda" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nome scheda:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Versione scheda:" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "Il file del bootloader specificato è inesistente: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Le build di 'core.a' vengono salvate in questo percorso per essere " "memorizzate nella cache e riutilizzate." -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "Non è possibile creare la directory dei dati %s" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "Non è possibile creare lo sketch" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "Non è possibile scaricare la libreria" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "Impossibile trovare le dipendenze per la piattaforma %s" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "Non è possibile aprire lo sketch" @@ -318,7 +322,7 @@ msgstr "Non è possibile aprire lo sketch" msgid "Can't set multiple values in key %v" msgstr "Non è possibile impostare valori multipli nella chiave %v" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "Impossibile aggiornare lo sketch" @@ -326,11 +330,11 @@ msgstr "Impossibile aggiornare lo sketch" msgid "Can't use the following flags together: %s" msgstr "Non è possibile utilizzare insieme i seguenti flag: %s" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "Non è possibile salvare il file di configurazione: %v" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "Non è possibile scrivere il log di debug: %s" @@ -351,11 +355,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "Non è possibile creare il file di configurazione: %v" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "Non è possibile creare la cartella temporanea" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "Non è possibile creare il file temporaneo" @@ -363,7 +367,7 @@ msgstr "Non è possibile creare il file temporaneo" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Impossibile eliminare la chiave %[1]s: %[2]v" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "Non è possibile eseguire lo strumento di debug" @@ -371,19 +375,19 @@ msgstr "Non è possibile eseguire lo strumento di debug" msgid "Cannot find absolute path: %v" msgstr "Percorso assoluto non trovato: %v" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "Non è possibile installare la piattaforma" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "Non è possibile installare il tool %s" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "Non è possibile effettuare il reset della porta: %s" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "Non è possibile aggiornare la piattaforma" @@ -391,19 +395,24 @@ msgstr "Non è possibile aggiornare la piattaforma" msgid "Cannot write the file %[1]s: %[2]v" msgstr "Impossibile scrivere il file %[1]s: %[2]v" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "Categoria: %s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "Controllare lo stato delle dipendenze per la libreria specificata." -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" +"Controlla se la combinazione fornita scheda/programmatore supporta il debug." + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "Il checksum è diverso da quello presente in package.json" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Checksum:" @@ -416,7 +425,7 @@ msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Elenco separato da virgole degli URL aggiuntivi per il Boards Manager." -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -424,27 +433,27 @@ msgstr "" "Il comando continua a funzionare e stampa l'elenco delle schede collegate " "ogni volta che viene apportata una modifica." -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "Sketch compilato non trovato in %s" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "Compila gli sketch di Arduino." -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "Compilazione del core in corso..." -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "Compilazione delle librerie in corso..." -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "Compilazione della libreria \"%[1]s\"" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "Compilazione dello sketch in corso..." @@ -455,15 +464,15 @@ msgstr "" "Il file di configurazione esiste già, usa --overwrite per sovrascrivere " "quello esistente." -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "File di configurazione scritto in: %s" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "Opzioni di configurazione per %s" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -471,44 +480,44 @@ msgstr "" "Configura le impostazioni della porta di comunicazione. Il formato è " "<ID>=<value>[,<ID>=<value>]..." -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "Configurazione della piattaforma." -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "Strumento di configurazione." -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "Connesso" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "Connesso a %s! Premere CTRL-C per uscire." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "Core" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "Non è possibile connettersi via HTTP" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "Impossibile creare la directory dell'indice" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" "Non è stato possibile creare una cache profonda della build core: %[1]s" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "Non è possibile determinare la dimensione del programma" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "Impossibile ottenere la cartella di lavoro corrente: %v" @@ -516,7 +525,7 @@ msgstr "Impossibile ottenere la cartella di lavoro corrente: %v" msgid "Create a new Sketch" msgstr "Crea un nuovo Sketch" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "Crea e stampa una configurazione del profilo dalla build." @@ -532,7 +541,7 @@ msgstr "" "Crea o aggiorna il file di configurazione nella directory dei dati o nella " "directory personalizzata con le impostazioni di configurazione correnti." -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -540,43 +549,39 @@ msgstr "" "Attualmente, i profili di compilazione supportano solo le librerie " "disponibili tramite Arduino Library Manager." -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" -msgstr "Configurazione personalizzata del plugin IDE cortex-debug:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" +msgstr "Configurazione personalizzata di %s:" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "DEPRECATO" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "Deamon è ora in ascolto su %s:%s" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "Eseguire il debug degli sketch di Arduino" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Eseguire il debug degli sketch di Arduino. (questo comando apre una sessione" " gdb interattiva)" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Interprete di debug, ad esempio: %s" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "Debugging non supportato per la scheda %s" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "Debugging supportato:" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "Predefinito" @@ -606,28 +611,28 @@ msgid "Deletes a settings key and all its sub keys." msgstr "" "Elimina una chiave delle impostazioni e tutte le sue chiavi secondarie." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "Dipendenze: %s" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "Descrizione" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "Rilevamento delle librerie utilizzate in corso..." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Rileva e visualizza un elenco di schede collegate al computer." -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "Directory contenente i binari per il debug." -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "Directory contenente i file binari da caricare." @@ -644,11 +649,11 @@ msgid "Disable completion description for shells that support it" msgstr "" "Disabilita la descrizione del completamento per le shell che la supportano." -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "Disconnesso" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "Visualizza solo le chiamate gRPC fornite" @@ -664,46 +669,52 @@ msgstr "Non sovrascrivere le librerie già installate." msgid "Do not overwrite already installed platforms." msgstr "Non sovrascrivere le piattaforme già installate." -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" "Non eseguire il caricamento vero e proprio, ma solo le azioni di logout." -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "Non terminare il processo del demone se il processo principale muore" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" +"Non tentare di aggiornare le dipendenze delle librerie se sono già " +"installate." + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "Sto scaricando %s" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "Sto scaricando la firma dell'indice: %s" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Sto scaricando l'indice: %s" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "Sto scaricando la libreria %s" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "Sto scaricando il tool mancante %s" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "Sto scaricando i pacchetti" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "Sto scaricando la piattaforma %s" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "Sto scaricando il tool %s" @@ -715,7 +726,7 @@ msgstr "Scarica uno o più core e le corrispondenti dipendenze dei tool." msgid "Downloads one or more libraries without installing them." msgstr "Scarica uno o più librerie, senza installarle." -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "Abilita il debug logging delle chiamate gRPC" @@ -733,13 +744,13 @@ msgstr "" "Si è verificato un errore durante l'aggiunta del file all'archivio dello " "sketch" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" "Si è verificato un errore durante l'archiviazione del core compilato " "(caching) in %[1]s: %[2]s" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "Errore durante l'archiviazione: %v" @@ -752,13 +763,13 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "Si è verificato un errore durante la pulizia della cache: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" "Si è verificato un errore durante la conversione del percorso in assoluto:: " "%v" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "Si è verificato un errore durante la copia del file di output %s" @@ -766,7 +777,7 @@ msgstr "Si è verificato un errore durante la copia del file di output %s" msgid "Error creating instance: %v" msgstr "Si è verificato un errore durante la creazione dell'istanza: %v" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" "Si è verificato un errore durante la creazione della cartella di output" @@ -780,7 +791,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "Errore durante la creazione dello sketch: %v" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "Si è verificato un errore durante il rilevamento delle schede: %v" @@ -788,43 +799,42 @@ msgstr "Si è verificato un errore durante il rilevamento delle schede: %v" msgid "Error downloading %[1]s: %[2]v" msgstr "Si è verificato un errore durante lo scaricamento di %[1]s:%[2]v" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "Si è verificato un errore durante lo scaricamento di %s" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "Si è verificato un errore durante lo scaricamento dell'indice '%s'" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" "Si è verificato un errore durante lo scaricamento della firma dell'indice " "'%s'" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "Errore durante il download della libreria %s" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "Errore durante il download della piattaforma %s" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "Errore durante il download del tool %s" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "Errore durante il debug: %v" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "Si è verificato un errore durante il rilevamento FQBN: %v" @@ -832,10 +842,10 @@ msgstr "Si è verificato un errore durante il rilevamento FQBN: %v" msgid "Error during JSON encoding of the output: %v" msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" @@ -843,7 +853,7 @@ msgstr "Errore durante il caricamento di: %v" msgid "Error during YAML encoding of the output: %v" msgstr "Si è verificato un errore durante la codifica YAML dell'output: %v" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "Si è verificato un errore durante la compilazione: %v" @@ -855,20 +865,21 @@ msgstr "Errore durante l'installazione: %v" msgid "Error during uninstall: %v" msgstr "Si è verificato un errore durante la disintallazione: %v" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "Si è verificato un errore durante l'aggiornamento: %v" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "Si è verificato un errore durante l'estrazione di %s" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" "Si è verificato un errore durante la ricerca degli artefatti di compilazione" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni di " @@ -880,23 +891,32 @@ msgstr "" "Si è verificato un errore nell'acquisizione del percorso assoluto " "dell'archivio degli sketch" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Impossibile ottenere i dettagli della scheda: %v" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" "Si è verificato un errore durante l'acquisizione della directory corrente " "per il database di compilazione: %s" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" +"Si è verificato un errore durante la rilevazione della porta predefinita da " +"`sketch.yaml`. Controllare se la cartella degli sketch è corretta oppure " +"utilizzare il flag --port:: %s" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni della " "libreria %s" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "Impossibile ottenere le informazioni sulle librerie: %v" @@ -906,13 +926,13 @@ msgstr "" "Si è verificato un errore durante l'acquisizione dei metadati della porta: " "%v" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" "Si è verificato un errore durante l'acquisizione dei dettagli delle " "impostazioni della porta: %s" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" "Si è verificato un errore durante la ricezione dell'input da parte " @@ -935,74 +955,74 @@ msgid "Error installing Zip Library: %v" msgstr "" "Si è verificato un errore durante l'installazione della libreria zip: %v" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "Si è verificato un errore durante l'installazione della libreria %s" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" "Si è verificato un errore durante l'installazione della piattaforma %s" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "Errore durante l'installazione del tool %s" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" "Si è verificato un errore durante la visualizzazione dell'elenco delle " "schede: %v" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "Errore nell'elenco delle librerie: %v" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" "Si è verificato un errore durante la visualizzazione dell'elenco delle " "piattaforme: %v" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" "Si è verificato un errore durante il caricamento della piattaforma hardware" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "Si è verificato un errore durante il caricamento dell'indice %s" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "Si è verificato un errore durante l'apertura di %s" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" "Si è verificato un errore durante l'apertura del file di log di debug: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" "Si è verificato un errore durante l'apertura del codice sorgente che " "sovrascrive i file: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" "Si è verificato un errore durante il parsing del flag --show-properties: %v" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" "Si è verificato un errore durante la lettura della directory di compilazione" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "Errore durante la lettura del file di configurazione: %v" @@ -1010,51 +1030,57 @@ msgstr "Errore durante la lettura del file di configurazione: %v" msgid "Error reading sketch files" msgstr "Si è verificato un errore durante la lettura dei file degli sketch" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" "Si è verificato un errore durante la risoluzione delle dipendenze di %[1]s: " "%[2]s" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" "Si è verificato un errore durante il recupero dell'elenco dei core: %v " -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "Si è verificato un errore durante il ripristino delle modifiche: %s" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" "Si è verificato un errore durante il salvataggio dell'indice scaricato" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" "Si è verificato un errore durante il salvataggio della firma dell'indice " "scaricato" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "Si è verificato un errore durante la ricerca delle schede: %v" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "Si è verificato un errore durante la ricerca delle librerie: %v" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "Si è verificato un errore durante la ricerca delle piattaforme: %v" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" "Si è verificato un errore durante la serializzazione del database di " "compilazione: %s" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "Errore di impostazione della modalità raw: %s" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "Si è verificato un errore durante l'avvio della rilevazione: %v" @@ -1062,7 +1088,7 @@ msgstr "Si è verificato un errore durante l'avvio della rilevazione: %v" msgid "Error uninstalling %[1]s: %[2]v" msgstr "Si è verificato un errore durante la disinstallazione di %[1]s: %[2]v" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" "Si è verificato un errore durante l'aggiornamento dell'indice della " @@ -1072,31 +1098,32 @@ msgstr "" msgid "Error upgrading libraries" msgstr "Si è verificato un errore durante l'aggiornamento delle librerie" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" "Si è verificato un errore durante l'aggiornamento della piattaforma: %s" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "Si è verificato un errore durante la verifica della firma" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" "Si è verificato un errore durante il rilevamento delle librerie incluse da " "%[1]s" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" "Si è verificato un errore durante la determinazione delle dimensioni dello " "sketch: %s" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" "Si è verificato un errore durante la scrittura del database di compilazione:" @@ -1106,15 +1133,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "Errore: la descrizione del comando non è supportata da %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "Errore: il codice sorgente non è valido e sovrascrive i dati: %v" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "Evento" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "Esempi della libreria %s" @@ -1122,70 +1149,70 @@ msgstr "Esempi della libreria %s" msgid "Examples:" msgstr "Esempi:" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "Eseguibile per il debug" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Ci si aspettava che lo sketch compilato fosse nella directory %s, invece è " "un file" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "Impossibile cancellare il chip" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "Programmazione non riuscita" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "Impossibile masterizzare il bootloader" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "Impossibile creare la directory dei dati" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "Impossibile creare la directory degli scaricamenti" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s non è una porta valida." -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s è un nome sconosciuto." -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. Errore imprevisto: %[2]v" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Impossibile ascoltare sulla porta TCP: %s. L'indirizzo è già in uso." -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "Caricamento non riuscito" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "File:" @@ -1238,7 +1265,7 @@ msgstr "" "Forza il salto degli script pre-uninstall (se la CLI viene eseguita in modo " "interattivo)." -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "Sono state trovate %d piattaforme corrispondenti \"%s\": %s" @@ -1246,7 +1273,7 @@ msgstr "Sono state trovate %d piattaforme corrispondenti \"%s\": %s" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Fully Qualified Board Name, ad esempio: arduino:avr:uno" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "Il server GDB '%s' non è supportato" @@ -1263,7 +1290,7 @@ msgstr "Genera gli script di completamento" msgid "Generates completion scripts for various shells" msgstr "Genera gli script di completamento per varie shell" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "Sto generando i prototipi di funzione..." @@ -1271,7 +1298,7 @@ msgstr "Sto generando i prototipi di funzione..." msgid "Global Flags:" msgstr "Flag globali:" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1280,25 +1307,25 @@ msgstr "" "lasciando altri %[4]s byte liberi per le variabili locali. Il massimo è " "%[2]s byte." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Le variabili globali usano %[1]s byte di memoria dinamica." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Proprietà identificative:" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "Se impostato, i binari saranno esportati nella cartella degli sketch." @@ -1310,7 +1337,7 @@ msgstr "" "Se impostato, restituisce tutti i core installabili e installati, compresi " "quelli installati manualmente." -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" "Include le librerie integrate (dalle piattaforme e dall'IDE) nell'elenco." @@ -1323,30 +1350,30 @@ msgstr "Include %s directory nell'archivio." msgid "Install libraries in the IDE-Builtin directory" msgstr "Installare le librerie nella cartella IDE-Builtin" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Installato" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "Installato %s" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "Installazione %s" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "Sto installando la libreria %s" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "Sto installando la piattaforma %s" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "Sto installando il tool %s" @@ -1358,11 +1385,11 @@ msgstr "Installa uno o più core e le corrispondenti dipendenze dei tool." msgid "Installs one or more specified libraries into the system." msgstr "Installa nel sistema una o più librerie specificate." -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "Errore interno alla cache" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "La proprietà '%[1]s' non è valida: %[2]s" @@ -1373,29 +1400,29 @@ msgstr "" "Chiamata non valida: dovrebbe mostrare la guida, ma è disponibile solo in " "modalità testo." -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FQBN non è valido" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "Indirizzo TCP non valido: manca la porta" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "URL non è valido" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "L' URL aggiuntivo non è valido: %v" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -"L' archivio non è valido: il file %{1} non è presente nell'archivio %{2}s" +"L' archivio non è valido: il file %{1}snon è presente nell'archivio %{2}s" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "L' argomento passato non è valido: %v" @@ -1404,27 +1431,27 @@ msgstr "L' argomento passato non è valido: %v" msgid "Invalid build properties" msgstr "Proprietà di compilazione non valide" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "La dimensione dei dati della regexp non è valida: %s" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "La dimensione della eeprom della regexp non è valida: %s" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Istanza non è valida" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "Oggetto invalido %s" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "Libreria non è valida" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy '%[1]s' non è valido: %[2]s" @@ -1436,7 +1463,7 @@ msgstr "Opzione non valida per --log-level: %s" msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "Indice del pacchetto non valido in %s" @@ -1448,7 +1475,7 @@ msgstr "Il parametro %s non è valido: versione non consentita" msgid "Invalid pid value: '%s'" msgstr "Il valore pid non è valido: '%s'" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "Il profilo non è valido" @@ -1456,15 +1483,15 @@ msgstr "Il profilo non è valido" msgid "Invalid recipe in platform.txt" msgstr "Scrittura non valida in platform.txt" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "La dimensione della regexp non è valida: %s" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "Timeout non valido: %s" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Versione non è valida" @@ -1472,7 +1499,7 @@ msgstr "Versione non è valida" msgid "Invalid vid value: '%s'" msgstr "Il valore di vid non è valido: '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1480,74 +1507,74 @@ msgstr "" "Produce solo il database di compilazione, senza compilare. Tutti i comandi " "di compilazione vengono saltati, ad eccezione dei pre* hooks." -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "LIBRERIA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "LIBRARY_NAME" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "Ultimo" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "La libreria %[1]s è stata dichiarata precompilata:" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "La libreria %[1]s è già installata, ma con una versione differente: %[2]s" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "La libreria %s è già alla versione più recente" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "La libreria %s non è installata" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "Impossibile trovare la libreria %s" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "Impossibile trovare la libreria '%s'" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" "La libreria non può utilizzare entramble le cartelle '%[1]s' e '%[2]s'. " "Doppio controllo in '%[3]s'." -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "Impossibile installare la libreria" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "La libreria è stata installata" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "Licenza: %s" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "Collegare tutto insieme..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1555,11 +1582,11 @@ msgstr "" "Elenca tutte le schede in cui è installata la piattaforma di supporto. È possibile cercare\n" "una scheda specifica, se si specifica il nome della scheda" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "Elenca tutte le schede conosciute e il corrispondente FQBN." -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "Lista delle schede connesse." @@ -1571,7 +1598,7 @@ msgstr "" "Elenco delle opzioni della scheda separate da virgole. Oppure può essere " "usato più volte per più opzioni." -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1579,7 +1606,7 @@ msgstr "" "Elenco delle proprietà di costruzione personalizzate separate da virgole. " "Oppure può essere usato più volte per più proprietà." -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "Lista delle libreria con update disponibili." @@ -1591,25 +1618,25 @@ msgstr "Lista delle piattaforme con update disponibili." msgid "Lists all connected boards." msgstr "Lista di tutte le schede connesse." -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "Elenca i core e le librerie che possono essere aggiornati" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "Sto caricando il file dell'indice: %v" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "Posizione" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" "Poca memoria disponibile, potrebbero presentarsi problemi di stabilità" -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "Manutentore: %s" @@ -1625,69 +1652,69 @@ msgstr "" "I messaggi con questo livello o superiore saranno registrati. I livelli " "validi sono: %s" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Manca '%[1]s' nella libreria %[2]s" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FQBN mancante (Fully Qualified Board Name)" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "Porta mancante" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "Porta di comunicazione non trovata" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "Manca il protocollo della porta" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "Manca il programmatore" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "Manca un campo obbligatorio del caricamento: %s" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "Manca la dimensione della regexp" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "Manca il percorso dello sketch" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "Impossibile trovare il monitor '%s'" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "Impostazioni sulla porta del monitor:" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Più di una libreria trovata per \"%[1]s\"" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "Nome" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "Nuova porta di caricamento: %[1]s (%[2]s)" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "Nessuna scheda trovata." @@ -1695,19 +1722,19 @@ msgstr "Nessuna scheda trovata." msgid "No default port or FQBN set" msgstr "Nessuna porta predefinita o FQBN impostato" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "Nessuna libreria trovata." -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "Nessuna libreria installata." -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "Non ci sono librerie corrispondenti alla tua ricerca." -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1715,19 +1742,19 @@ msgstr "" "Non ci sono biblioteche corrispondenti alla tua ricerca.\n" "Intendevi dire...\n" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "Non sono disponibili aggiornamenti per le librerie." -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "Nessun monitor disponibile per il protocollo della porta %s" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "Non sono state trovate piattaforme o librerie non aggiornate." -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "Nessuna piattaforma installata." @@ -1735,34 +1762,34 @@ msgstr "Nessuna piattaforma installata." msgid "No platforms matching your search." msgstr "Non ci sono piattaforme corrispondenti alla tua ricerca." -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" "Non è stata trovata alcuna porta di upload, come alternativa verrà " "utilizzata %s" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "Non è stata trovata una soluzione valida per le dipendenze" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Memoria esaurita; guarda %[1]s per consigli su come ridurne l'utilizzo." -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "Non usata: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "Sistema Operativo:" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Scheda Arduino ufficiale:" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1770,43 +1797,43 @@ msgstr "" "Omette i dettagli della libreria per tutte le versioni tranne la più recente" " (produce un output JSON più compatto)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "Apre una porta di comunicazione con una scheda." -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Opzione:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Facoltativo, può essere: %s. Utilizzato per indicare a gcc quale livello di " "warning utilizzare (flag -W)." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Facoltativo, ripulisce la cartella di build e non usa nessuna build in " "cache." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Facoltativo, ottimizza l'output di compilazione per il debug, piuttosto che " "per il rilascio." -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "Facoltativo, sopprime quasi tutti gli output." -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "Facoltativo, attiva la modalità verbosa." -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1814,7 +1841,7 @@ msgstr "" "Facoltativo. Percorso di un file .json che contiene una serie di " "sostituzioni del codice sorgente dello sketch." -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1839,35 +1866,35 @@ msgstr "Sovrascrivi il file sketch .ino esistente" msgid "PACKAGER" msgstr "PACKAGER" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "URL pacchetto:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "Manutentore del pacchetto: " -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "Nome pacchetto:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "Aiuto in linea del pacchetto:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "Website pacchetto:" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "Paragrafo: %s" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "Percorso" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1875,7 +1902,7 @@ msgstr "" "Percorso di un gruppo di librerie. Può essere usato più volte o le voci " "possono essere separate da virgole." -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1887,7 +1914,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Percorso del file in cui verranno scritti i log." -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1895,19 +1922,19 @@ msgstr "" "Percorso in cui salvare i file compilati. Se omesso, verrà creata una " "directory nel percorso temporaneo predefinito del tuo sistema operativo." -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Esecuzione di un touch reset a 1200-bps sulla porta seriale %s" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "La piattaforma %s è già installata" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "La piattaforma %s è installata" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1915,55 +1942,55 @@ msgstr "" "La piattaforma %s non è stata trovata in nessun indice conosciuto.\n" "Forse è necessario aggiungere un URL di 3terze parti?" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "La piattaforma %s è stata disinstallata" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "La piattaforma '%s' è già aggiornata all'ultima versione" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "Impossibile trovare la piattaforma '%s'" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "ID piattaforma" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "L' ID della piattaforma non è esatto" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "URL piattaforma:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "Architettura della piattaforma:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "Categoria della piattaforma:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "Checksum della piattaforma:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "Nome del file della piattaforma:" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "Nome piattaforma:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "Dimensione della piattaforma (bytes):" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1971,7 +1998,7 @@ msgstr "" "Specificare un FQBN. Sono state rilevate più schede sulla porta %[1]s con " "protocollo %[2]s" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1979,27 +2006,28 @@ msgstr "" "Specificare un FQBN. La scheda sulla porta %[1]s con protocollo %[2]s non " "può essere identificata" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "Porta chiusa: %v" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "Errore di monitoraggio della porta" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Impossibile trovare la libreria precompilata in \"%[1]s\"" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "Visualizza i dettagli di una scheda." -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Stampa il codice preelaborato su stdout invece di compilarlo." @@ -2015,35 +2043,35 @@ msgstr "Stampa la configurazione attuale" msgid "Prints the current configuration." msgstr "Stampa la configurazione attuale." -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "Impossibile trovare il profilo '%s'" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "Impossibile trovare il programmatore '%s'" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "Nome del programmatore" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "Programmatore da utilizzare, ad esempio: atmel_ice" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "Programmatori:" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "La proprietà '%s' non è definita" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "Protocollo" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "La dotazione comprende: %s" @@ -2051,28 +2079,28 @@ msgstr "La dotazione comprende: %s" msgid "Removes one or more values from a setting." msgstr "Rimuove uno o più valori da un'impostazione." -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "Sostituire %[1]s con %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "Sto sostituendo la piattaforma %[1]s con %[2]s" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Tool richiesto:" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "Avvio come demone sulla porta: %s" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Avvio in modalità silenziosa, mostra solo l'ingresso e l'uscita del monitor." -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." @@ -2080,73 +2108,150 @@ msgstr "" "Avviato come demone, l'inizializzazione dei core e delle librerie viene " "eseguita una sola volta." -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "Esecuzione della normale compilazione del core..." -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "Sto avviando lo script pre_uninstall." -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "TERMINE_DI_RICERCA" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "Path del file SVD" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "Salva gli artefatti di compilazione in questa directory." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Cerca una scheda nel gestore delle schede usando le parole chiave " "specificate." -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "Cerca una scheda nel gestore delle schede." -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Cerca un core nel gestore delle schede, usando le parole chiave specificate." -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "Cerca un core nel gestore delle schede." -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." -msgstr "" -"Ricerca di uno o più dati di librerie (ricerca senza distinzione tra " -"maiuscole e minuscole)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" +msgstr "" +"Cerca le librerie che corrispondono a zero o più termini di ricerca.\n" +"\n" +"Tutte le ricerche vengono eseguite senza distinzione tra maiuscole e minuscole. Le query contenenti\n" +"termini di ricerca multipli restituiranno solo le librerie che corrispondono a tutti i termini.\n" +"\n" +"I termini di ricerca, che non corrispondono alla sintassi QV descritta di seguito, sono termini di ricerca di base e corrispondono alle librerie che includono il termine in uno dei seguenti campi:\n" +"- Autore\n" +"- Nome\n" +"- Paragrafo\n" +"- Fornisce\n" +"- Frase\n" +"\n" +"Una sintassi speciale, chiamata qualifier-value (QV), indica che un termine di ricerca deve\n" +"essere confrontato con un solo campo di ogni voce dell'indice della libreria. Questa sintassi \n" +"utilizza il nome di un campo dell'indice (senza distinzione tra maiuscole e minuscole), un segno \n" +"di uguale (=) o i due punti (:) e un valore, ad esempio 'name=ArduinoJson' o 'provides:tinyusb.h'.\n" +"\n" +"I termini di ricerca QV, che utilizzano un separatore di due punti, corrisponderanno a tutte le librerie con il valore in qualsiasi punto del campo nominato mentre, i termini di ricerca QV che utilizzano un separatore di uguale, corrisponderanno solo alle librerie con il valore esatto fornito nel campo nominato.\n" +"\n" +"I termini di ricerca QV possono includere spazi incorporati utilizzando caratteri con virgolette doppie (\") intorno al valore o all'intero termine, ad esempio \"categoria=\"Elaborazione dati\"\" e \"categoria=elaborazione dati\" sono equivalenti. Un termine QV può includere un carattere letterale con doppio apice preceduto dal carattere backslash (\\).\n" +"\n" +"NOTA: i termini di ricerca QV, che utilizzano caratteri con virgolette doppie o backslash passati come argomenti della riga di comando, possono richiedere l'uso di virgolette o di escape, per evitare che la shell interpreti erroneamente tali caratteri.\n" +"\n" +"- Architetture\n" +"- Categoria\n" +"- Dipendenze\n" +"- Licenza\n" +"- Manutentore\n" +"- Tipi\n" +"- Versione\n" +"- Sito web\n" +"\t\t" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." -msgstr "Cerca i dati di una o più librerie." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." +msgstr "Cerca una o più biblioteche che corrispondono ad una ricerca." -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "Frase: %s" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "Path del server" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "Il server ha risposto con: %s" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "Tipo di server" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "Imposta un valore per un campo richiesto dal caricamento." -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "Imposta il terminale in modalità raw (non bufferizzata)." @@ -2167,7 +2272,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "Imposta dove salvare il file di configurazione." -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "Impostazioni" @@ -2179,11 +2284,11 @@ msgstr "La chiave delle impostazioni non esiste" msgid "Show all available core versions." msgstr "Mostra tutte le versioni del core disponibili." -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "Mostra tutte le impostazioni della porta di comunicazione." -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" "Mostra anche le schede contrassegnate come 'nascoste' nella piattaforma." @@ -2197,11 +2302,11 @@ msgstr "" "show-properties=unexpanded\" se si desidera che siano esattamente come sono " "definite." -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "Mostra tutti i dettagli delle schede" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2209,15 +2314,15 @@ msgstr "" "Visualizza informazioni dettagliate riguardanti una scheda, in particolare " "se ci sono opzioni che possono essere specificate tramite FQBN." -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "Mostra solo i nomi delle librerie." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "Mostra l'elenco dei programmatori disponibili" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2228,11 +2333,11 @@ msgid "Show outdated cores and libraries after index update" msgstr "" "Mostra i core e le librerie non aggiornate dopo l'aggiornamento dell'indice" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "Mostra la lista delle librerie installate." -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2250,11 +2355,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "Mostra l'elenco delle piattaforme installate." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "Mostra l'elenco degli esempi delle librerie." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2272,7 +2377,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "Mostra il numero di versione di Arduino CLI." -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Dimensione (bytes):" @@ -2284,7 +2389,7 @@ msgstr "" "Lo sketch non si trova nel percorso di compilazione. Specificare un percorso" " di compilazione diverso" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "Sketch è stato creato in: %s" @@ -2292,13 +2397,13 @@ msgstr "Sketch è stato creato in: %s" msgid "Sketch profile to use" msgstr "Profilo dello sketch da utilizzare" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "Sketch troppo grande; guarda %[1]s per consigli su come ridurne la " "dimensione" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2306,7 +2411,7 @@ msgstr "" "Lo sketch usa %[1]s byte (%[3]s%%) dello spazio disponibile per i programmi." " Il massimo è %[2]s byte." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" @@ -2314,60 +2419,56 @@ msgstr "" "Gli sketch con estensione .pde sono deprecati, rinominare i seguenti file in" " .ino:" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "Salta il linking dell'eseguibile finale." -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Salto il touch reset a 1200-bps: nessuna porta seriale è stata selezionata!" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "Salta la creazione dell'archivio di: %[1]s" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "Salta la compilazione di: %[1]s" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Salta il rilevamento delle dipendenze della libreria precompilata %[1]s" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "Salta la configurazione della piattaforma." -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "Salto lo script pre_uninstall." -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "Salta la configurazione dello strumento." -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "Salta: %[1]s" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "Non è stato possibile aggiornare alcuni indici." -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" "Alcuni aggiornamenti non sono andati a buon fine, controlla l'output per i " "dettagli." -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "TOUCH: si è verificato un errore durante il reset: %s" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "La porta TCP su cui il demone si metterà in ascolto" @@ -2377,11 +2478,19 @@ msgstr "" "Il file di configurazione personalizzato (se non specificato, verrà " "utilizzato quello predefinito)." -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "Il flag --debug-file deve essere usato con --debug." -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "La configurazione fornita scheda/programmatore NON supporta il debug." + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "La configurazione fornita scheda/programmatore supporta il debug." + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2397,11 +2506,11 @@ msgstr "" "La chiave '%[1]v' non è un elenco di elementi, non può essere rimossa.\n" "Forse si può usare '%[2]s'?" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "La libreria %s richiede altre installazioni:" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2410,7 +2519,7 @@ msgstr "" "crittografare un binario durante il processo di compilazione. Utilizzata " "solo dalle piattaforme che la supportano." -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2423,7 +2532,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Il formato di output dei log può essere: %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2432,7 +2541,7 @@ msgstr "" "firmare e crittografare un binario. Utilizzato solo dalle piattaforme che lo" " supportano." -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "La piattaforma non supporta '%[1]s' per le librerie precompilate." @@ -2448,7 +2557,7 @@ msgstr "" " vengono forniti argomenti, il comando aggiorna tutte le librerie installate" " per le quali è disponibile un aggiornamento." -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2456,71 +2565,72 @@ msgstr "" "Questo comando mostra un elenco di core e/o librerie installate\n" "che possono essere aggiornate. Se non è necessario aggiornare nulla, l'output è vuoto." -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "Timestamp di ogni linea in entrata." -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "Il tool %s è già installato" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "Il tool %s è disinstallato" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "La toolchain '%s' non è supportata" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "Il percorso della toolchain" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "Il prefisso della toolchain" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "Il tipo della toolchain" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "Prova ad eseguire %s" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "Attiva la modalità verbosa." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "Tipo" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "Tipi: %s" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" "Non è possibile memorizzare nella cache il core compilato, riferisci ai " "manutentori di %[1]s di seguire le istruzioni %[2]s" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "Impossibile ottenere la cartella documenti: %v" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "Impossibile ottenere la cartella dati dell'app locale: %v" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "Impossibile ottenere la home directory dell'utente: %v" @@ -2528,17 +2638,17 @@ msgstr "Impossibile ottenere la home directory dell'utente: %v" msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "Non è stato possibile analizzare l'URL" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "Disinstallazione di %s" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "Disinstallazione di %s, il tool non è più necessario." @@ -2554,11 +2664,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Disinstalla una o più librerie." -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "Sconosciuto" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "FQBN sconosciuto" @@ -2587,7 +2697,7 @@ msgstr "Aggiorna l'indice delle librerie alla versione più recente." msgid "Updates the libraries index." msgstr "Aggiorna l'indice delle librerie." -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "L'aggiornamento non accetta parametri con la versione" @@ -2607,43 +2717,43 @@ msgstr "Aggiorna le librerie installate." msgid "Upgrades one or all installed platforms to the latest version." msgstr "Aggiorna una o tutte le piattaforme alla versione più recente." -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "Carica gli sketch di Arduino." -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" "Carica gli sketch di Arduino. Questo NON compila lo sketch prima del " "caricamento." -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Indirizzo della porta di caricamento, ad esempio: COM3 o /dev/ttyACM2" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "Porta di caricamento trovata su %s" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "Protocollo della porta di caricamento, ad esempio: seriale" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "Carica il binario dopo la compilazione." -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" "Carica il bootloader sulla scheda utilizzando un programmatore esterno." -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "Carica il bootloader." -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2666,49 +2776,50 @@ msgstr "Uso: " msgid "Use %s for more information about a command." msgstr "Usa %s per ulteriori informazioni su un comando." -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "Libreria utilizzata" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "Piattaforma utilizzata" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Usata: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo della scheda '%[1]s' dalla piattaforma nella cartella: %[2]s" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Utilizzo delle dipendenze delle librerie nella cache per i file: %[1]s" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Uso la libreria %[1]s alla versione %[2]s nella cartella: %[3]s %[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Uso la libreria %[1]s nella cartella: %[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "Utilizzo del core precompilato: %[1]s" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "Utilizzo della libreria precompilata in %[1]s" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "Uso il file precedentemente compilato: %[1]s" @@ -2716,48 +2827,48 @@ msgstr "Uso il file precedentemente compilato: %[1]s" msgid "VERSION" msgstr "VERSIONE" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "VERSION_NUMBER" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "Valori" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "Verifica dei binari dopo il caricamento." -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "Versione" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "Versioni: %s" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "ATTENZIONE: non è possibile configurare la piattaforma: %s" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "ATTENZIONE non è possibile configurare lo strumento: %s" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "AVVISO non è possibile eseguire lo script pre_uninstall: %s" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ATTENZIONE: lo sketch è compilato utilizzando una o più librerie " "personalizzate." -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2766,18 +2877,18 @@ msgstr "" "%[2]s e potrebbe non essere compatibile con la tua scheda che utilizza " "l'architettura %[3]s" -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "In attesa della porta di caricamento..." -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "Attenzione: la scheda %[1]s non definisce una preferenza per %[2]s. " "Autoimpostato su: %[3]s" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "Sito web: %s" @@ -2797,22 +2908,22 @@ msgstr "" msgid "Writing config file: %v" msgstr "Scrittura del file di configurazione: %v" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Non puoi utilizzare il flag %s durante la compilazione con un profilo." -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "L'hash dell'archivio è diverso dall'hash dell'indice" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "l'archivio non è valido: sono stati trovati più file nel livello superiore " "del file zip" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" "l'archivio non è valido: nessun file trovato nella cartella principale del " @@ -2822,78 +2933,76 @@ msgstr "" msgid "archivePath" msgstr "percorso dell'archivio" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "Manca il pattern arduino-preprocessor" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "rileva automaticamente l'artefatto di compilazione: %s" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "disponibile solo in formato testo" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "ricerca di base per \"audio\"" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "ricerca di base per \"esp32\" e \"display\" limitata al manutentore ufficiale" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "file binario non trovato in %s" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "la scheda %s non è stata trovata" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "nomescheda" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "la directory delle librerie integrate non è configurata" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "Chiamata a %[1]s: %[2]w" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "Impossibile trovare l'ultima versione di %s" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "Impossibile trovare l'ultima versione del tool %s" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "Impossibile trovare il file principale dello sketch in %s" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "Non riesco a trovare un pattern per il rilevamento con id %s" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "Impossibile recuperare il flusso di errori standard: %s" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "Impossibile recuperare il flusso di output standard: %s" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "candidati" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "Impossibile eseguire il tool di caricamento: %s" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "Sto controllando l'integrità dell'archivio locale" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "pulizia del percorso di compilazione" @@ -2901,100 +3010,104 @@ msgstr "pulizia del percorso di compilazione" msgid "command" msgstr "comando" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "il comando '%[1]s' non è andato a buon fine: %[2]s" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "il comando non è andato a buon fine: %s" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "comunicazione fuori sincronia, atteso '%[1]s', ricevuto '%[2]s'" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "calcolo dell'hash: %s" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "copia della libreria nella directory di destinazione:" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "impossibile trovare un artefatto di compilazione valido" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "impossibile sovrascrivere" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "Impossibile rimuovere la vecchia libreria" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "non è stato possibile aggiornare il file del progetto" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "creazione in corso della cartella cache del core: %s" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "creazione di installed.json in %[1]s: %[2]s" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "creazione di una directory temporanea per l'estrazione: %s" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "la sezione dati supera lo spazio disponibile nella scheda" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "la dipendenza '%s' non è disponibile" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "la destinazione esiste già" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" "La directory di destinazione %s esiste già, non è possibile installare" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "il percorse della directory è già esistente" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "la directory non esiste: %s" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "il processo di rilevamento %[1]s non è stato avviato: %[2]w" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "rilevamento %s non è stato trovato" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "il rilevamento %s non è installato" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "il rilascio del rilevamento non è stato trovato: %s" @@ -3010,21 +3123,25 @@ msgstr "scarica l'ultima versione del core SAMD di Arduino." msgid "downloaded" msgstr "scaricato" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "sto scaricando il tool %[1]s: %[2]s" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "identificativo della scheda vuoto" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "si è verificato un errore durante il reset della scheda" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" "si è verificato un errore durante il caricamento del file di progetto dello " "sketch:" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "si è verificato un errore durante l'apertura di %s" @@ -3032,7 +3149,7 @@ msgstr "si è verificato un errore durante l'apertura di %s" msgid "error parsing value: %v" msgstr "valore di parsing dell'errore: %v" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "si è verificato un errore durante il parsing dei vincoli di versione" @@ -3046,15 +3163,15 @@ msgid "error querying Arduino Cloud Api" msgstr "" "si è verificato un errore durante l'interrogazione di Arduino Cloud Api" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "estrazione dell'archivio: %s" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "estrazione dell'archivio: %w" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "Impossibile calcolare l'hash del file \"%s\"" @@ -3062,17 +3179,17 @@ msgstr "Impossibile calcolare l'hash del file \"%s\"" msgid "failed to initialize http client" msgstr "Impossibile inizializzare il client http" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" "La dimensione dell'archivio recuperato differisce dalla dimensione " "specificata nell'indice" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "i file dell'archivio devono essere collocati in una sottodirectory" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "sto cercando il percorso assoluto di %s" @@ -3080,7 +3197,7 @@ msgstr "sto cercando il percorso assoluto di %s" msgid "flags" msgstr "flag" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "il seguente collegamento simbolico %s" @@ -3088,12 +3205,12 @@ msgstr "il seguente collegamento simbolico %s" msgid "for a specific version." msgstr "per una specifica versione." -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "per la versione più recente." -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "per la specifica versione." @@ -3106,78 +3223,76 @@ msgstr "sto generando installation.id: %w" msgid "generating installation.secret: %w" msgstr "sto generando installation.secret: %w" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "sto recuperando le informazioni sui file dell'archivio: %s" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "sto recuperando le informazioni sull'archivio: %s" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "sto recuperando il percorso dell'archivio: %s" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "sto recuperando le proprietà di costruzione della scheda %[1]s: %[2]s" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze del rilevamento per la piattaforma %[1]s: " "%[2]s" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze del monitor per la piattaforma %[1]s: %[2]s" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "sto recuperando la directory padre di %[1]s: %[2]s" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze dei tool per la piattaforma %[1]s: %[2]s" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "La directory di installazione non è stata impostata" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "Sto installando il tool %[1]s: %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "Sto installando la piattaforma %[1]s: %[2]s" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" "il terminale interattivo non è supportato per il formato dell'output '%s'" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "la direttiva '%s' non è valida" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "il messaggio 'add' non è valido: porta mancante" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "il messaggio 'remove' non è valido: porta mancante" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "il formato del checksum non è valido: %s" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "l'opzione di configurazione non è valida: %s" @@ -3189,15 +3304,15 @@ msgstr "l'architettura del core vuota non è valida '%s'" msgid "invalid empty core argument" msgstr "l'argomento del core vuoto non è valido" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "il nome del core vuoto non è valido '%s'" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "il riferimento al core vuoto non è valido '%s'" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "la versione del core vuota non è valida: '%s'" @@ -3209,39 +3324,39 @@ msgstr "il nome della libreria vuoto non è valido" msgid "invalid empty library version: %s" msgstr "la versione della libreria vuota non è valida: %s" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "è stata trovata un'opzione vuota non valida" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "url git non è valido" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "hash non valido '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "elemento non valido %s" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "la direttiva della libreria non è valida:" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "il layout della libreria non è valido: %s" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "la posizione della libreria non è valida: %s" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "libreria non valida: non è stato trovato alcun file di intestazione" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "l'opzione '%s' non è valida" @@ -3261,31 +3376,31 @@ msgstr "" "il percorso per la scrittura del file di inventario non è valido: %[1]s " "error: %[2]w" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "la dimensione dell'archivio della piattaforma non è valida: %s" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "l'identificatore della piattaforma non è valido" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "URL dell'indice della piattaforma non è valido:" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "il riferimento al monitor collegabile non è valido: %s" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "il valore di configurazione della porta non è valido per %s: %s" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "la configurazione della porta non è valida: %s" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "scrittura non valida '%[1]s': %[2]s" @@ -3299,150 +3414,169 @@ msgstr "" "alfanumerico o \"_\", quelli successivi possono contenere anche \"-\" e " "\".\". L'ultimo non può essere \".\"." -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "il valore '%[1]s' non è valido per l'opzione '%[2]s'" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "la directory della versione non è valida %s" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "la versione non è valida:" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "la chiave non è stata trovata nelle impostazioni" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "parole chiave" -#: arduino/libraries/librariesmanager/install.go:130 +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" +msgstr "librerie create da Daniel Garcia" + +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "librerie create solo da Adafruit con \"gfx\" nel loro nome" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "librerie che dipendono almeno da \"IRremote\"" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "librerie che dipendono solo da \"IRremote\"" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "librerie con \"buzzer\" nel campo nome" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "librerie con un nome che corrisponde esattamente a \"pcf8523\"" + +#: internal/arduino/libraries/librariesmanager/install.go:124 msgid "library %s already installed" msgstr "la libreria %s è già installata" -#: arduino/libraries/librariesmanager/install.go:319 +#: internal/arduino/libraries/librariesmanager/install.go:313 msgid "library not valid" msgstr "la libreria non è valida" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" -msgstr "il percorso della libreria non esiste: %s" - -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "elenco delle porte seriali" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "caricamento di %[1]s: %[2]s" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "caricamento delle schede: %s" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "caricamento dei tool in dotazione da %s" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "caricamento del file indice json %[1]s: %[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "caricamento della libreria da %[1]s: %[2]s" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "caricamento di library.properties: %s" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "rilascio della piattaforma di caricamento %s" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "caricamento di platform.txt" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "caricamento della piattaforma richiesta %s" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "caricamento del tool richiesto %s" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "rilascio del tool di caricamento in %s" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "sto cercando boards.txt in %s" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "ricerca degli artefatti di compilazione in corso" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "il file principale manca dallo sketch: %s" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "Manca la direttiva '%s'" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "manca il checksum di: %s" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "manca il pacchetto %[1]s a cui fa riferimento la scheda %[2]s" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "Manca l'indice del pacchetto %s, non possono essere garantiti aggiornamenti " "futuri" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "manca la piattaforma %[1]s:%[2]s referenziata dalla scheda %[3]s" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "manca la release della piattaforma %[1]s:%[2]s a cui fa riferimento la " "scheda %[3]s" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "Firma mancante" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "release del monitor non è stata trovata: %s" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "sto spostando l'archivio estratto nella directory di destinazione: %s" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "sono stati trovati più artefatti di compilazione: '%[1]s' e '%[2]s'" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "Sono stati trovati più file di sketch principale (%[1]v, %[2]v)" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3450,115 +3584,110 @@ msgstr "" "non è disponibile una versione degli strumenti di %[1]s per il sistema " "operativo corrente, prova a contattare %[2]s" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "non è stato specificato alcun eseguibile" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "non è stata specificata alcuna istanza" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "non è stata specificata alcuna directory/file di sketch o di build" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "nessun file o directory di questo tipo" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" "non c'è una directory radice unica nell'archivio, ma sono state trovate " "'%[1]s' e '%[2]s'." -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "Non è stata fornita alcuna porta di upload" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "Non è stato trovato uno sketch valido in %[1]s: manca %[2]s" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" "non sono disponibili versioni per il sistema operativo corrente, prova a " "contattare %s" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "non è in esecuzione in un terminale" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "apertura del file di archivio: %s" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "apertura di boards.txt" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "apertura della porta a 1200bps" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "apertura del file della firma: %s" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "apertura del file di destinazione: %s" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "il pacchetto %s non è stato trovato" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "Il pacchetto '%s' non è stato trovato" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "parsing dell'indice all'interno dell'IDE" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "sto facendo il parsing di fqbn: %s" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "sto facendo il parsing di library_index.json: %s" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "il percorso non è una directory della piattaforma: %s" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "la piattaforma %[1]s non è stata trovata nel pacchetto %[2]s" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" -msgstr "La piattaforma %s non ha rilasci disponibili" - -#: arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/packagemanager/package_manager.go:335 msgid "platform %s is not installed" msgstr "la piattaforma %s non è installata" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" +msgstr "la piattaforma non è disponibile per il sistema operativo in uso" + +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "piattaforma non installata" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "utilizza invece --build-property." -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "rilevamento collegabile già aggiunto: %s" @@ -3566,117 +3695,110 @@ msgstr "rilevamento collegabile già aggiunto: %s" msgid "port" msgstr "porta" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "la porta non è stata trovata: %[1]s %[2]s" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" "la versione del protocollo non è supportata: richiesta %[1]d, ottenuta %[2]d" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "la versione del protocollo non è supportata: richiesta 1, ottenuta %d" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "lettura di %[1]s: %[2]s" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "lettura della directory %[1]s: %[2]s" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "lettura del contenuto della directory %[1]s: %[2]w" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "lettura cartella %s" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "lettura del contenuto della directory %s: %w" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "lettura del file %[1]s: %[2]s" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" -msgstr "Lettura dei file: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" +msgstr "lettura dei file in corso" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "lettura degli header delle librerie: %s" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "lettura delle directory lib src: %s" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "lettura degli header delle librerie: %w" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "lettura di library_index.json: %s" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "lettura della directory principale del pacchetto: %s" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "scrittura non trovata '%s'" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "il rilascio %[1]s non è stato trovato per il tool %[2]s" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "il rilascio non può essere nullo" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "sto rimuovendo il file di archivio danneggiato: %s" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "rimozione directory della libreria: %s" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "sto rimuovendo i file della piattaforma: %s" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" "la versione richiesta %[1]s non è stata trovata per la piattaforma %[2]s" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "sto recuperando le chiavi pubbliche di Arduino: %s" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "esempi di scansione: %s" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" -msgstr "ricerca di builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" +msgstr "scansione degli esempi di sketch in corso" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "ricerca nella directory principale del pacchetto: %s" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "sto impostando DTR su OFF" @@ -3695,7 +3817,7 @@ msgstr "" "il nome dello sketch è troppo lungo (%[1]d caratteri). La lunghezza massima " "consentita è %[2]d" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "il percorso dello sketch non è valido" @@ -3703,97 +3825,90 @@ msgstr "il percorso dello sketch non è valido" msgid "sketchPath" msgstr "percorso dello sketch" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "la sorgente non è una directory" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "Avvio della rilevazione %s" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "verifica del checksum dell'archivio: %s" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "verifica delle dimensioni dell'archivio: %s" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "verifica se l'archivio è memorizzato nella cache: %s" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "verifica l'integrità dell'archivio locale: %s" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "la sezione del testo supera lo spazio disponibile nella scheda" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "il database di compilazione potrebbe essere incompleto o impreciso" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "la piattaforma non ha rilasci" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "il server ha risposto con lo stato %s" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "timeout in attesa del messaggio" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "timeout in attesa di un messaggio da %s" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "il tool %s non è gestito dal gestore dei pacchetti" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "Il tool %s non è stato trovato" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "Il tool non è installato" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "il rilascio del tool non è stato trovato: %s" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "la versione %s del tool non è stata trovata" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "sono necessarie due versioni diverse della libreria %[1]s: %[2]s e %[3]s" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" "non è possibile calcolare il percorso relativo allo sketch per l'elemento" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "non è possibile creare una cartella per salvare lo sketch" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "non è possibile creare la cartella contenente l'elemento" @@ -3802,31 +3917,31 @@ msgid "unable to marshal config to YAML: %v" msgstr "" "non è possibile eseguire il marshalling della configurazione in YAML: %v" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "non è possibile leggere il contenuto dell'elemento di destinazione" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "non è stato possibile leggere i contenuti della risorsa" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "non è possibile scrivere sul file di destinazione" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "pacchetto sconosciuto %s" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "piattaforma sconosciuta %s:%s" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "estensione sconosciuta per il file sketch \"%s\"" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "l'algoritmo dell'hash non è supportato: %s" @@ -3838,27 +3953,27 @@ msgstr "aggiorna arduino:samd all'ultima versione" msgid "upgrade everything to the latest version" msgstr "aggiornare tutto con l'ultima versione disponibile" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "errore durante il caricamento: %s" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "la directory dell'utente non è configurata" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "l'input dell'utente non è supportato per il formato dell'output '%s'" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "l'input dell'utente non è supportato nella modalità non interattiva" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "la versione %s non è disponibile per questo sistema operativo" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "la versione %s non è stata trovata" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 698c7677b7e..0d3d4ffdec3 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -15,87 +15,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s パターンが見つかりません" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s, メッセージ: %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s, ポート: %[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s, ポート: %[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, プロトコルバージョン: %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%sはすでにダウンロードされています" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%sと%sは同時に利用できません" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%sをインストールしました" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%sはすでにインストールされています。" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%sはディレクトリではありません" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(レガシー)" @@ -119,11 +119,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -140,7 +140,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "" @@ -148,31 +148,35 @@ msgstr "" msgid "Aliases:" msgstr "" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "" @@ -180,7 +184,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sにビルドされたコア(キャッシュ)をアーカイブ中です" @@ -216,7 +220,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -224,23 +228,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "" @@ -248,49 +252,49 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "ブートローダのファイルが指定されましたが次が不足しています:%[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -298,7 +302,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -306,11 +310,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -330,11 +334,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "" @@ -342,7 +346,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -350,19 +354,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -370,19 +374,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -394,33 +402,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "スケッチをコンパイルしています..." @@ -429,57 +437,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -487,7 +495,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -501,47 +509,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "初期値" @@ -567,28 +571,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -602,11 +606,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -622,45 +626,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -672,7 +680,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -688,11 +696,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -704,11 +712,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -716,7 +724,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -728,7 +736,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -736,41 +744,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -778,10 +785,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +796,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -801,19 +808,20 @@ msgstr "" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -821,19 +829,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -841,11 +855,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -865,63 +879,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -929,43 +943,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -973,7 +993,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -981,26 +1001,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1008,15 +1029,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1024,65 +1045,65 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1125,7 +1146,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1133,7 +1154,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1150,7 +1171,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1158,32 +1179,32 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" "最大%[2]sバイトのRAMのうち、グローバル変数が%[1]sバイト(%[3]s%%)を使っていて、ローカル変数で%[4]sバイト使うことができます。" -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "グローバル変数は%[1]sバイトのRAMを使用しています。" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1193,7 +1214,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1205,30 +1226,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "インストール済" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1240,11 +1261,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1253,28 +1274,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1283,27 +1304,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1315,7 +1336,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1327,7 +1348,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1335,15 +1356,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" @@ -1351,87 +1372,87 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1441,13 +1462,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1459,24 +1480,24 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "スケッチが使用できるメモリが少なくなっています。動作が不安定になる可能性があります。" -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1489,69 +1510,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]sのライブラリに「%[1]s」がありません" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "「%[1]s」に対して複数のライブラリが見つかりました" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1559,37 +1580,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1597,73 +1618,73 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "スケッチが使用するメモリが足りません。メモリを節約する方法については、以下のURLのページを参照してください。%[1]s" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "未使用:%[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1686,41 +1707,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1730,111 +1751,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "シリアルポート" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1850,35 +1872,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1886,94 +1908,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1991,7 +2060,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2003,11 +2072,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2017,25 +2086,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2044,11 +2113,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2061,11 +2130,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2080,7 +2149,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" @@ -2090,7 +2159,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2098,72 +2167,68 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "スケッチが大きすぎます。%[1]s には、小さくするコツが書いてあります。" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "最大%[2]sバイトのフラッシュメモリのうち、スケッチが%[1]sバイト(%[3]s%%)を使っています。" -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2171,11 +2236,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2187,17 +2260,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2207,13 +2280,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2225,75 +2298,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "タイプ" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2301,17 +2375,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2325,11 +2399,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2357,7 +2431,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2377,40 +2451,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2429,48 +2503,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "使用済:%[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "次のフォルダのライブラリ%[1]sバージョン%[2]sを使用中:%[3]s %[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "次のフォルダのライブラリ%[1]sを使用中:%[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "以前コンパイルされたファイルを使用中:%[1]s" @@ -2478,62 +2553,62 @@ msgstr "以前コンパイルされたファイルを使用中:%[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" "警告:ライブラリ%[1]sはアーキテクチャ%[2]sに対応したものであり、アーキテクチャ%[3]sで動作するこのボードとは互換性がないかもしれません。" -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2551,19 +2626,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2571,78 +2646,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2650,99 +2723,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2758,19 +2835,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2778,7 +2859,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2790,15 +2871,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2806,15 +2887,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2822,7 +2903,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2830,12 +2911,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2848,73 +2929,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2926,15 +3005,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2946,39 +3025,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -2994,31 +3073,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3029,256 +3108,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3286,115 +3379,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3411,7 +3497,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3419,95 +3505,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3515,31 +3594,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3551,27 +3630,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index 86386853885..2050a50a1d0 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -13,87 +13,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s 패턴이 없습니다" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(레거시)" @@ -117,11 +117,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -138,7 +138,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "" @@ -146,31 +146,35 @@ msgstr "" msgid "Aliases:" msgstr "" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "" @@ -178,7 +182,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "" @@ -214,7 +218,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -222,23 +226,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "" @@ -246,49 +250,49 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "부트로더 파일이 지정되었으나 누락됨: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -296,7 +300,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -304,11 +308,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -328,11 +332,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "" @@ -340,7 +344,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -348,19 +352,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -368,19 +372,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -392,33 +400,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "스케치를 컴파일 중…" @@ -427,57 +435,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -485,7 +493,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -499,47 +507,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "디폴트" @@ -565,28 +569,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -600,11 +604,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -620,45 +624,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -670,7 +678,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -686,11 +694,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -702,11 +710,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -714,7 +722,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -726,7 +734,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -734,41 +742,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -776,10 +783,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -787,7 +794,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -799,19 +806,20 @@ msgstr "" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -819,19 +827,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -839,11 +853,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -863,63 +877,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -927,43 +941,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -971,7 +991,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -979,26 +999,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1006,15 +1027,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1022,65 +1043,65 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1123,7 +1144,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1131,7 +1152,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1148,7 +1169,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1156,32 +1177,32 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" "전역 변수는 동적 메모리 %[1]s바이트(%[3]s%%)를 사용, %[4]s바이트의 지역변수가 남음. 최대는 %[2]s 바이트." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "전역 변수는 %[1]s 바이트의 동적 메모리를 사용." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1191,7 +1212,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1203,30 +1224,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "설치됨" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1238,11 +1259,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1251,28 +1272,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1281,27 +1302,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1313,7 +1334,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1325,7 +1346,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1333,15 +1354,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" @@ -1349,87 +1370,87 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1439,13 +1460,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1457,24 +1478,24 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "사용 가능한 메모리 부족, 안정성에 문제가 생길 수 있습니다." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1487,69 +1508,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "라이브러리 %[2]s에서 '%[1]s'가 없음" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "\"%[1]s\"를 위한 복수개의 라이브러리가 발견되었습니다" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1557,37 +1578,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1595,73 +1616,73 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "메모리가 충분하지 않음; 메모리를 줄이기 위한 팁을 위해 다음 링크를 참고하세요%[1]s" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "사용되지 않음: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1684,41 +1705,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1728,111 +1749,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "포트" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1848,35 +1870,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1884,94 +1906,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1989,7 +2058,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2001,11 +2070,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2015,25 +2084,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2042,11 +2111,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2059,11 +2128,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2078,7 +2147,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" @@ -2088,7 +2157,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2096,72 +2165,68 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "스케치가 너무 큼; 이것을 줄이기 위해 다음을 참고하세요. %[1]s" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "스케치는 프로그램 저장 공간 %[1]s 바이트(%[3]s%%)를 사용. 최대 %[2]s 바이트." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2169,11 +2234,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2185,17 +2258,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2205,13 +2278,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2223,75 +2296,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "타입" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2299,17 +2373,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2323,11 +2397,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2355,7 +2429,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2375,40 +2449,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2427,48 +2501,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "사용됨: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "라이브러리 %[1]s를 버전 %[2]s 폴더: %[3]s %[4]s 에서 사용" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "폴더:%[2]s %[3]s의 라이브러리 %[1]s 사용" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "이전에 컴파일된 파일: %[1]s 사용" @@ -2476,62 +2551,62 @@ msgstr "이전에 컴파일된 파일: %[1]s 사용" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" "경고: 라이브러리 %[1]s가 %[2]s 아키텍처에서 실행되며 %[3]s아키텍처에서 실행되는 현재보드에서는 호환되지 않을 수 있습니다." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2549,19 +2624,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2569,78 +2644,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2648,99 +2721,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2756,19 +2833,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2776,7 +2857,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2788,15 +2869,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2804,15 +2885,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2820,7 +2901,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2828,12 +2909,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2846,73 +2927,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2924,15 +3003,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2944,39 +3023,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -2992,31 +3071,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3027,256 +3106,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3284,115 +3377,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3409,7 +3495,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3417,95 +3503,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3513,31 +3592,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3549,27 +3628,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index e7dc0c8d2ce..41eec671cb6 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -13,87 +13,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s schon erofgelueden" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s installéiert" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s ass schon installéiert." -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%s muss installéiert ginn." -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(verstoppt)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "" @@ -117,11 +117,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -138,7 +138,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "" @@ -146,31 +146,35 @@ msgstr "" msgid "Aliases:" msgstr "" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "" @@ -178,7 +182,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "" @@ -214,7 +218,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -222,23 +226,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "Auteur: %s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "" @@ -246,49 +250,49 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "Kann Bibliothéik net roflueden" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -296,7 +300,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -304,11 +308,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -328,11 +332,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "" @@ -340,7 +344,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -348,19 +352,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -368,19 +372,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "Kategorie: %s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -392,33 +400,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "" @@ -427,57 +435,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -485,7 +493,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -499,47 +507,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "" @@ -565,28 +569,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "Beschreiwung" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -600,11 +604,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -620,45 +624,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -670,7 +678,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -686,11 +694,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -702,11 +710,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -714,7 +722,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -726,7 +734,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -734,41 +742,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -776,10 +783,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -787,7 +794,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -799,19 +806,20 @@ msgstr "Feeler wärend der Installatioun: %v" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -819,19 +827,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -839,11 +853,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -863,63 +877,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "Feeler bei der Installatioun vun der Bibliothéik %s" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -927,43 +941,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -971,7 +991,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -979,26 +999,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1006,15 +1027,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "Beispiller fir d'Bibliothéik %s" @@ -1022,65 +1043,65 @@ msgstr "Beispiller fir d'Bibliothéik %s" msgid "Examples:" msgstr "Beispiller:" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1123,7 +1144,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1131,7 +1152,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1148,7 +1169,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1156,31 +1177,31 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1190,7 +1211,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1202,30 +1223,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Installéiert" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1237,11 +1258,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1250,28 +1271,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1280,27 +1301,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "Ongülteg Bibliothéik" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1312,7 +1333,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1324,7 +1345,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1332,15 +1353,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Ongülteg Versioun" @@ -1348,87 +1369,87 @@ msgstr "Ongülteg Versioun" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "BIBLIOTHEIK" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "D'Bibliothéik %s huet schon déi neisten Versioun" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "Bibliothéik %s ass net installéiert" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "Bibliothéik %s net fonnt" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "Bibliothéik '%s' net fonnt" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "Bibliothéik installéiert" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "Lizenz: %s" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1438,13 +1459,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1456,24 +1477,24 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1486,69 +1507,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "Numm" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "Numm: \"%s\"" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1556,37 +1577,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1594,73 +1615,73 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Optioun:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1683,41 +1704,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1727,111 +1748,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1847,35 +1869,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1883,94 +1905,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1988,7 +2057,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "Astellung" @@ -2000,11 +2069,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2014,25 +2083,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2041,11 +2110,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2058,11 +2127,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2077,7 +2146,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Gréisst (Bytes):" @@ -2087,7 +2156,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2095,72 +2164,68 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "" -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2168,11 +2233,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2184,17 +2257,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2204,13 +2277,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2222,75 +2295,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2298,17 +2372,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2322,11 +2396,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "Onbekannt" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2354,7 +2428,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2374,40 +2448,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2426,48 +2500,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "Benotzten Bibliothéik" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Benotzt: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "" @@ -2475,61 +2550,61 @@ msgstr "" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "Versioun" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "Versiounen: %s" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "Websäit: %s" @@ -2547,19 +2622,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2567,78 +2642,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2646,99 +2719,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2754,19 +2831,23 @@ msgstr "" msgid "downloaded" msgstr "erofgelueden" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2774,7 +2855,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2786,15 +2867,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2802,15 +2883,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2818,7 +2899,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2826,12 +2907,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2844,73 +2925,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2922,15 +3001,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2942,39 +3021,39 @@ msgstr "ongültegen, eidelen Bibliothéiksnumm" msgid "invalid empty library version: %s" msgstr "ongülteg, eidel Bibliothéiksversioun: %s" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "Ongülteg Optioun '%s'" @@ -2990,31 +3069,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3025,256 +3104,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "Ongülteg Versioun" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" +msgstr "" + +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 msgid "library %s already installed" msgstr "Bibliothéik %s ass schon installéiert" -#: arduino/libraries/librariesmanager/install.go:319 +#: internal/arduino/libraries/librariesmanager/install.go:313 msgid "library not valid" msgstr "Bibliothéik ongülteg" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" -msgstr "" - -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3282,115 +3375,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3407,7 +3493,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3415,95 +3501,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3511,31 +3590,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3547,27 +3626,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/ne.po b/internal/i18n/data/ne.po index 346b9c5d3f6..c471a0ea11e 100644 --- a/internal/i18n/data/ne.po +++ b/internal/i18n/data/ne.po @@ -13,87 +13,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]sसंस्करण: %[3]s प्रतिबद्ध: %[4]s मिति:%[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "" @@ -117,11 +117,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -138,7 +138,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "" @@ -146,31 +146,35 @@ msgstr "" msgid "Aliases:" msgstr "" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "" @@ -178,7 +182,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "" @@ -214,7 +218,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -222,23 +226,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "" @@ -246,49 +250,49 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -296,7 +300,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -304,11 +308,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -328,11 +332,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "" @@ -340,7 +344,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -348,19 +352,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -368,19 +372,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -392,33 +400,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "" @@ -427,57 +435,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -485,7 +493,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -499,47 +507,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "" @@ -565,28 +569,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -600,11 +604,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -620,45 +624,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -670,7 +678,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -686,11 +694,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -702,11 +710,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -714,7 +722,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -726,7 +734,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -734,41 +742,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -776,10 +783,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -787,7 +794,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -799,19 +806,20 @@ msgstr "" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -819,19 +827,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -839,11 +853,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -863,63 +877,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -927,43 +941,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -971,7 +991,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -979,26 +999,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1006,15 +1027,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1022,65 +1043,65 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1123,7 +1144,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1131,7 +1152,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1148,7 +1169,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1156,31 +1177,31 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1190,7 +1211,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1202,30 +1223,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1237,11 +1258,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1250,28 +1271,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1280,27 +1301,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1312,7 +1333,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1324,7 +1345,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1332,15 +1353,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" @@ -1348,87 +1369,87 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1438,13 +1459,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1456,24 +1477,24 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1486,69 +1507,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1556,37 +1577,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1594,73 +1615,73 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1683,41 +1704,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1727,111 +1748,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1847,35 +1869,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1883,94 +1905,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1988,7 +2057,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2000,11 +2069,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2014,25 +2083,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2041,11 +2110,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2058,11 +2127,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2077,7 +2146,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" @@ -2087,7 +2156,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2095,72 +2164,68 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "" -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2168,11 +2233,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2184,17 +2257,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2204,13 +2277,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2222,75 +2295,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2298,17 +2372,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2322,11 +2396,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2354,7 +2428,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2374,40 +2448,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2426,48 +2500,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "" @@ -2475,61 +2550,61 @@ msgstr "" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2547,19 +2622,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2567,78 +2642,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2646,99 +2719,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2754,19 +2831,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2774,7 +2855,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2786,15 +2867,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2802,15 +2883,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2818,7 +2899,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2826,12 +2907,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2844,73 +2925,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2922,15 +3001,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2942,39 +3021,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -2990,31 +3069,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3025,256 +3104,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3282,115 +3375,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3407,7 +3493,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3415,95 +3501,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3511,31 +3590,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3547,27 +3626,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index 5abd6d5bd7b..a8eb18daf7e 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -15,87 +15,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]sfolder nie jest już wspierany,.Zobacz %[2]spo więcej informacji" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]snieprawidłowe, przebudowywuję całość" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]sjest wymagane ale %[2]s jest obecnie zaistalowane" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "Brakujący wzorzec %[1]s" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s, wiadomość %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s, port%[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s, porty: %[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, wersja protokołu %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%sjuż pobrane" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s oraz %s nie mogą być razem użyte" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s zainstalowane" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%sjuż jest zainstalowane" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%snie jest " -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%snie jest zarządzane przez zarządcę paczek" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%smusi byc zainstalowane" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "%s brakuje wzoru" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "'%s' posiada niewłaściwy podpis" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(ukryte)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(przestarzałe)" @@ -119,11 +119,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -140,7 +140,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "" @@ -148,31 +148,35 @@ msgstr "" msgid "Aliases:" msgstr "" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "Architektura: %s" @@ -180,7 +184,7 @@ msgstr "Architektura: %s" msgid "Archive already exists" msgstr "" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archiwizowanie budowanego rdzenia (buforowanie) w: %[1]s" @@ -216,7 +220,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -224,23 +228,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "Autor: %s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "Dostępne" @@ -248,49 +252,49 @@ msgstr "Dostępne" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nazwa płytki:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "Podany nieistniejący plik programu rozruchowego: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -298,7 +302,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -306,11 +310,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -330,11 +334,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "" @@ -342,7 +346,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -350,19 +354,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -370,19 +374,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -394,33 +402,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "Kompilowanie szkicu..." @@ -429,57 +437,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -487,7 +495,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -501,47 +509,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "Domyślne" @@ -567,28 +571,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -602,11 +606,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -622,45 +626,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -672,7 +680,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -688,11 +696,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -704,11 +712,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -716,7 +724,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -728,7 +736,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -736,41 +744,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -778,10 +785,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +796,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -801,19 +808,20 @@ msgstr "" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -821,19 +829,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -841,11 +855,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -865,63 +879,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -929,43 +943,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -973,7 +993,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -981,26 +1001,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1008,15 +1029,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1024,65 +1045,65 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1125,7 +1146,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1133,7 +1154,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1150,7 +1171,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1158,7 +1179,7 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1167,25 +1188,25 @@ msgstr "" "pozostawiając %[4]s bajtów dla zmiennych lokalnych. Maksimum to %[2]s " "bajtów." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Zmienne globalne używają %[1]s bajtów pamięci dynamicznej." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1195,7 +1216,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1207,30 +1228,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Zainstalowany" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1242,11 +1263,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1255,28 +1276,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1285,27 +1306,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1317,7 +1338,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1329,7 +1350,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1337,15 +1358,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" @@ -1353,87 +1374,87 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1443,13 +1464,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1461,25 +1482,25 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "" "Niski poziom dostępnej pamięci, mogą wystąpić problemy ze stabilnością." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1492,69 +1513,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Brakuje '%[1]s' z biblioteki w %[2]s" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Znaleziono wiele bibliotek w \"%[1]s\"" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1562,37 +1583,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1600,75 +1621,75 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Niewystarczająca ilość pamięci; sprawdź %[1]s w poszukiwaniu rozwiązania " "problemu" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "Niewykorzystane: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1691,41 +1712,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1735,111 +1756,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1855,35 +1877,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1891,94 +1913,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1996,7 +2065,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2008,11 +2077,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2022,25 +2091,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2049,11 +2118,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2066,11 +2135,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2085,7 +2154,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" @@ -2095,7 +2164,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2103,11 +2172,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Szkic za duży, zobacz porady na %[1]s w celu zmiejszenia go." -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2115,62 +2184,58 @@ msgstr "" "Szkic używa %[1]s bajtów (%[3]s%%) pamięci programu. Maksimum to %[2]s " "bajtów." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2178,11 +2243,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2194,17 +2267,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2214,13 +2287,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2232,75 +2305,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "Wpisz" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2308,17 +2382,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2332,11 +2406,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2364,7 +2438,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2384,40 +2458,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2436,48 +2510,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Wykorzystane: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Użycie biblioteki %[1]s w wersji %[2]s z folderu: %[3]s %[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Użycie biblioteki %[1]s z folderu %[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "Użycie wcześniej skompilowanego pliku: %[1]s" @@ -2485,46 +2560,46 @@ msgstr "Użycie wcześniej skompilowanego pliku: %[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2533,16 +2608,16 @@ msgstr "" "może nie być kompatybilna z obecną płytką która działa na " "architekturze(/architekturach) %[3]s." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2560,19 +2635,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2580,78 +2655,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2659,99 +2732,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2767,19 +2844,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2787,7 +2868,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2799,15 +2880,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2815,15 +2896,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2831,7 +2912,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2839,12 +2920,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2857,73 +2938,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2935,15 +3014,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2955,39 +3034,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -3003,31 +3082,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3038,256 +3117,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3295,115 +3388,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3420,7 +3506,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3428,95 +3514,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3524,31 +3603,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3560,27 +3639,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index ab390b79962..cf5d658fa26 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -15,77 +15,77 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[5]s%[4]sData%[3]scomprometer%[2]sVersão" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]spasta não é mais suportada! Ver%[2]sPara maiores informações" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]sinválido, refazendo tudo" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s‎é necessário, mas‎%[2]snão é instalado em nenhum momento." -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]so padrão está faltando" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]smensagem:%[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s,porta%[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]sportas:%[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[2]d%[1]s, versão do protocolo:" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s‎já baixado‎" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%se%s‎não pode ser usado em conjunto‎" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%sinstalado" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s‎já está instalado.‎" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s‎não é um diretório‎" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s‎não é gerenciado pelo gerente de pacotes‎" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%s‎deve ser instalado.‎" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "%spadrão está faltando" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "%s‎tem uma assinatura inválida‎" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -93,11 +93,11 @@ msgstr "" "'build.core' e 'build.variant' referem a plataformas diferentes: %[1]s e " "%[2]s" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "‎(oculto)‎" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "‎(legado)‎" @@ -126,11 +126,11 @@ msgstr "" msgid ".ino file already exists" msgstr "arquivo .ino já existe" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "‎Uma nova atualização do Arduino CLI está disponível:‎" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "‎É necessário um programador para carregar‎" @@ -147,7 +147,7 @@ msgstr "MANUAL DE LINHA DE COMANDO ARDUINO" msgid "Additional help topics:" msgstr "Tópicos de ajuda adicionais:" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "Adicionar um ou mais valores para uma configuração." @@ -155,31 +155,35 @@ msgstr "Adicionar um ou mais valores para uma configuração." msgid "Aliases:" msgstr "Apelidos:" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "Todos os Núcleos já estão na versão mais recente" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "%s‎Já instalado‎" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]sAlternativas para‎%[2]s:" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "‎Ocorreu um erro ao adicionar os protótipos‎" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "‎Ocorreu um erro na detecção de bibliotecas‎" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "‎Registro de depuração de anexação ao arquivo especificado‎" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "%sArquitetura:‎" @@ -187,7 +191,7 @@ msgstr "%sArquitetura:‎" msgid "Archive already exists" msgstr "O Arquivo já existe" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sArquivando núcleo construído (cache) em:" @@ -223,7 +227,7 @@ msgstr "Comandos de configuração Arduino" msgid "Arduino core operations." msgstr "Operações centrais Arduino." -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "%vErro nos argumentos:" @@ -231,11 +235,11 @@ msgstr "%vErro nos argumentos:" msgid "Attaches a sketch to a board." msgstr "‎Anexa um sketch a uma placa.‎" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "%sAltor" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -243,7 +247,7 @@ msgstr "" "Instalação automática de bibliotecas não pode ser realizada neste caso. Por " "favor, remova todas as cópias manualmente e tente novamente." -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -251,7 +255,7 @@ msgstr "" "Desinstalação automática de bibliotecas não pode ser realizada neste caso. " "Por favor, as remova manualmente e tente novamente. " -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "Disponível‎" @@ -259,52 +263,52 @@ msgstr "Disponível‎" msgid "Available Commands:" msgstr "Comandos Disponíveis:" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "‎Arquivo binário para carregar.‎" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "Nome da Placa" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nome da Placa:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Versão da Placa:" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "" "Um Arquivo carregador de inicialização definido, mas está faltando: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds de 'core.a' são salvos nesse caminho para serem armazenados no Cache " "e reutilizados. " -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "Não é possível criar o diretório de dados %s" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "Não é possível criar esboço" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "Não é possível baixar biblioteca" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "Não foi possível encontrar as dependências para a plataforma %s" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "Não é possível abrir esboço" @@ -312,7 +316,7 @@ msgstr "Não é possível abrir esboço" msgid "Can't set multiple values in key %v" msgstr "Não é possível designar múltiplos valores na chave %v" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "Não é possível atualizar o esboço" @@ -320,11 +324,11 @@ msgstr "Não é possível atualizar o esboço" msgid "Can't use the following flags together: %s" msgstr "Não é possível utilizar as seguintes Flags ao mesmo tempo: %s" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "Não é possível escrever para o arquivo de configuração: %v" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "Não é possível escrever para o arquivo de depuração: %s" @@ -344,11 +348,11 @@ msgstr "Não é possível criar diretório de arquivo de configuração: %v" msgid "Cannot create config file: %v" msgstr "Não é possível criar arquivo de configuração: %v" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "Não é possível criar diretório temporário" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "Não é possível criar arquivo temporário" @@ -356,7 +360,7 @@ msgstr "Não é possível criar arquivo temporário" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Não é possível deletar a chave %[1]s:%[2]v" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "Não é possível executar ferramenta de depuração" @@ -364,19 +368,19 @@ msgstr "Não é possível executar ferramenta de depuração" msgid "Cannot find absolute path: %v" msgstr "Não é possível encontrar caminho absoluto: %v" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "Não é possível instalar plataforma" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "Não é possível instalar ferramenta %s" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "Não é possível realizar redefinição de porta: %s" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "Não é possível realizar Upgrade na plataforma" @@ -384,19 +388,23 @@ msgstr "Não é possível realizar Upgrade na plataforma" msgid "Cannot write the file %[1]s: %[2]v" msgstr "Não é possível escrever para o arquivo %[1]s:%[2]v" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "Categoria: %s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "Verifique o estado das dependências para a biblioteca especificada." -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "Checksum difere da Checksum em packages.json" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Checksum: " @@ -410,7 +418,7 @@ msgstr "" "Lista de valores separados por vírgula para URLs adicionais para o " "Gerenciador de Placas" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -418,27 +426,27 @@ msgstr "" "Comando continua a executar e a imprimir lista de placas conectadas sempre " "que ocorrer uma mudança." -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "Esboço compilado não encontrado em %s" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "Compila esboços Arduino." -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "Compilando núcleo..." -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "Compilando bibliotecas..." -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "%[1]s‎Biblioteca de compilação‎ \"\"" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "Compilando sketch..." @@ -449,15 +457,15 @@ msgstr "" "Arquivo de configuração já existe, use --overwrite para descartar o arquivo " "atual." -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "%s‎Arquivo Config escrito para:‎" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "Opções de configuração para %s" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -465,43 +473,43 @@ msgstr "" "Designe as configurações da porta de comunicação. O formato é <ID> = " "<value>[,<ID> = <value>]..." -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "Configurando plataforma." -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "Configurando ferramenta." -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "Conectado para %s! Aperte CTRL-C para sair." -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "Núcleo" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "Não foi possível conectar via HTTP" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "Não foi possível criar diretório Index" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "Não foi possível fazer o Cache profundo para a Build central: %[1]s" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "Não foi possível determinar o tamanho do programa" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "Não foi possível obter o diretório de trabalho atual: %v" @@ -509,7 +517,7 @@ msgstr "Não foi possível obter o diretório de trabalho atual: %v" msgid "Create a new Sketch" msgstr "Criar novo Esboço" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "Criar e imprimir perfil de configuração da Build." @@ -525,7 +533,7 @@ msgstr "" "Cria ou atualiza o arquivo de configuração no diretório de dados ou em um " "diretório customizado com as definições de configuração atuais." -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -533,43 +541,39 @@ msgstr "" "Atualmente, os Perfis de Build só suportam bibliotecas disponíveis através " "do Gerenciador de Bibliotecas Arduino." -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "DESCONTINUADO" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "Daemon agora está ouvindo em %s:%s" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "Depurar esboços Arduino." -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Depurar esboços Arduino (esse comando abre uma sessão interativa com o " "depurador gdb)." -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Depurar interpretador e.g.:%s" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "Depuramento não é suportado para a placa %s" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "Depuramento suportado:" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "Padrão" @@ -599,28 +603,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "Deleta a chave de configurações e todas as suas sub-chaves." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "Dependências: %s" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "Descrição" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "Detectando bibliotecas utilizadas..." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Detecta e mostra a lista de placas conectadas ao computador atual." -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "Diretório com arquivos binários para depuração." -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "Diretório com arquivos binários para serem enviados." @@ -636,11 +640,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "Desabilitar a realização de descrições para Shells que suportam isso." -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "Desconectado" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "Mostrar apenas as chamadas gRPC oferecidas" @@ -656,45 +660,49 @@ msgstr "Não sobrescreva bibliotecas já instaladas." msgid "Do not overwrite already installed platforms." msgstr "Não sobrescreva plataformas já instaladas." -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "Não faça um envio verdadeiro, apenas registre as ações." -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "Não encerre o processo Daemon se o processo relacionado morrer." -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "Baixando %s" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "Baixando assinatura Indes: %s" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Baixando Index: %s" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "Baixando biblioteca %s" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "Baixando ferramenta %s" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "Baixando pacotes" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "Baixando plataforma %s" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "Baixando ferramenta %s" @@ -707,7 +715,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "Baixe uma ou mais bibliotecas sem instalá-las." -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "Ligue registros de depuração para chamadas gRPC" @@ -723,11 +731,11 @@ msgstr "Insira URL git para bibliotecas hospedadas em repositórios" msgid "Error adding file to sketch archive" msgstr "Erro ao adicionar arquivo de esboço para o depósito de documentos" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Erro ao adicionar Build do Núcleo (caching) em %[1]s:%[2]s" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "Erro ao adicionar para o depósito de documentos: %v" @@ -739,11 +747,11 @@ msgstr "Erro ao calcular caminho de arquivo relativo" msgid "Error cleaning caches: %v" msgstr "Erro ao limpar caches: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "Erro ao converter caminho para absoluto: %v" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "Erro ao copiar arquivo de saída %s" @@ -751,7 +759,7 @@ msgstr "Erro ao copiar arquivo de saída %s" msgid "Error creating instance: %v" msgstr "Erro ao criar instância: %v" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "Erro ao criar diretório de saída" @@ -763,7 +771,7 @@ msgstr "Erro ao criar diretório de esboços" msgid "Error creating sketch: %v" msgstr "Erro ao criar esboço: %v" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "Erro ao detectar placas: %v" @@ -771,41 +779,40 @@ msgstr "Erro ao detectar placas: %v" msgid "Error downloading %[1]s: %[2]v" msgstr "Erro ao baixar %[1]s: %[2]v" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "Erro ao baixar %s" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "Erro ao baixar índice '%s'" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "Erro ao baixar assinatura de índice '%s'" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "Erro ao baixar biblioteca %s" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "Erro ao baixar plataforma %s" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "Erro ao baixar ferramenta %s" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "Erro durante Depuramento: %v" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "Erro durante detecção FQBN: %v" @@ -813,10 +820,10 @@ msgstr "Erro durante detecção FQBN: %v" msgid "Error during JSON encoding of the output: %v" msgstr "Erro durante codificação da saída JSON: %v" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" @@ -824,7 +831,7 @@ msgstr "Erro durante envio: %v" msgid "Error during YAML encoding of the output: %v" msgstr "Erro durante codificação da saída YAML: %v" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "Erro durante build: %v" @@ -836,19 +843,20 @@ msgstr "Erro durante instalação: %v" msgid "Error during uninstall: %v" msgstr "Erro durante desinstalação: %v" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "Erro durante atualização: %v" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "Erro ao extrair %s" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "Erro ao buscar por artefatos da Build" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "Erro ao obter informações de Depuração: %v" @@ -856,20 +864,26 @@ msgstr "Erro ao obter informações de Depuração: %v" msgid "Error getting absolute path of sketch archive" msgstr "Erro ao obter caminho absoluto do arquivo de esboço" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Erro ao obter detalhes da placa: %v" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" "Erro ao obter o diretório atual para o banco de dados de compilação: %s" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "Erro ao obter informações da biblioteca %s" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "Erro ao obter informações sobre as bibliotecas: %v" @@ -877,11 +891,11 @@ msgstr "Erro ao obter informações sobre as bibliotecas: %v" msgid "Error getting port metadata: %v" msgstr "Erro ao obter metadata da porta: %v" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "Erro ao obter detalhes das configurações da porta: %s" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "Erro ao obter entrada do usuário" @@ -901,63 +915,63 @@ msgstr "Erro ao instalar biblioteca Git: %v" msgid "Error installing Zip Library: %v" msgstr "Erro ao instalar biblioteca Zip: %v" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "Erro ao instalar biblioteca %s" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "Erro ao instalar plataforma %s" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "Erro ao instalar ferramenta %s" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "Erro ao instalar placas: %v" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "Erro ao listar bibliotecas: %v" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "Erro ao listar plataformas: %v" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "Erro ao carregar plataformas de hardware" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "Erro ao carregar índice %s" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "Erro ao abrir %s" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "Erro ao abrir arquivo de registro de depuração: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "Erro ao abrir arquivo de dados que sobrescrevem o código fonte: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "Erro ao fazer análise sintática na flag --show-properties: %v" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "Erro ao ler diretório de build" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "Erro ao ler arquivo de configuração: %v" @@ -965,43 +979,49 @@ msgstr "Erro ao ler arquivo de configuração: %v" msgid "Error reading sketch files" msgstr "Erro ao ler arquivos de esboço" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "Erro ao esclarecer dependências para %[1]s: %[2]s" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "Erro ao adquirir lista de núcleos: %v" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "Erro ao reverter mudanças: %s" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "Erro ao salvar índice baixado" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "Erro ao salvar assinatura de índice baixado" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "Erro ao buscar por placas: %v" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "Erro ao buscar por bibliotecas: %v" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "Erro ao buscar por plataformas: %v" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "Erro ao serializar compilação do banco de dados: %s" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "Erro ao inicializar busca: %v" @@ -1009,7 +1029,7 @@ msgstr "Erro ao inicializar busca: %v" msgid "Error uninstalling %[1]s: %[2]v" msgstr "Erro ao desinstalar %[1]s: %[2]v" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "Erro ao atualizar índice de biblioteca: %v" @@ -1017,26 +1037,27 @@ msgstr "Erro ao atualizar índice de biblioteca: %v" msgid "Error upgrading libraries" msgstr "Erro ao atualizar bibliotecas" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "Erro ao atualizar plataforma: %s" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "Erro ao verificar assinatura" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "Erro ao detectar bibliotecas incluídas por %[1]s" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "Erro ao determinar tamanho do esboço: %s" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "Erro ao escrever compilação de banco de dados: %s" @@ -1044,15 +1065,15 @@ msgstr "Erro ao escrever compilação de banco de dados: %s" msgid "Error: command description is not supported by %v" msgstr "Erro: descrição de comando não suportado por %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "Erro: arquivo de dados que sobrescrevem o código fonte inválido: %v" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "Evento" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "Exemplos para biblioteca %s" @@ -1060,67 +1081,67 @@ msgstr "Exemplos para biblioteca %s" msgid "Examples:" msgstr "Exemplos:" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "Executável para depurar" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Um esboço compilado era esperado no diretório %s, mas um arquivo foi " "encontrado." -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "Falha ao apagar chip" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "Falha ao programar" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "Falha ao gravar carregador de inicialização" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "Falha ao criar diretório de dados" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "Falha ao criar diretório de downloads" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "Falha ao ouvir porta TCP: %[1]s. %[2]s é uma porta inválida." -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "Falha ao ouvir porta TCP: %[1]s. %[2]s é nome desconhecido." -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "Falha ao ouvir porta TCP: %[1]s. Erro inesperado: %[2]v" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Falha ao ouvir porta TCP: %s. Endereço já está em uso." -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "Falha ao enviar" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "Arquivo:" @@ -1170,7 +1191,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1178,7 +1199,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Nome de Placa Completamente Qualificada. E.g.: arduino:avr:uno" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "Servidor GDB '%s' não é suportado" @@ -1195,7 +1216,7 @@ msgstr "Gera scripts de conclusão" msgid "Generates completion scripts for various shells" msgstr "Gera scripts de conclusão para várias Shells" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "Gerando protótipos de função..." @@ -1203,7 +1224,7 @@ msgstr "Gerando protótipos de função..." msgid "Global Flags:" msgstr "Flags Globais:" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1211,25 +1232,25 @@ msgstr "" "Variáveis globais usam %[1]s bytes (%[3]s%%) de memória dinâmica, restando " "%[4]s bytes para variáveis locais. O maximo é %[2]s bytes." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variáveis globais usam %[1]s bytes de memória dinâmica." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Propriedades de identificação:" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Se designado, binárias de build serão exportadas para o diretório de " @@ -1243,7 +1264,7 @@ msgstr "" "Se designado, retorna todos os núcleos instaláveis e instalados, incluído os" " instalados manualmente." -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "Inclua bibliotecas embutidas (de plataformas e de IDE) na listagem." @@ -1255,30 +1276,30 @@ msgstr "Inclui o diretório %s no registro." msgid "Install libraries in the IDE-Builtin directory" msgstr "Instalar bibliotecas no Diretório Embutido da IDE." -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Instalado" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "%s instalado" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "Instalado %s" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "Instalando biblioteca %s" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "Instalando plataforma %s" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "Instalando ferramenta %s" @@ -1292,11 +1313,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "Instala uma ou mais bibliotecas especificadas no sistema." -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "Erro interno no Cache" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "Propriedade '%[1]s' inválida: %[2]s" @@ -1307,30 +1328,30 @@ msgstr "" "Chamada inválida: deveria mostrar Ajuda, mas é avaliável apenas no modo " "TEXT." -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FQBN inválido" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "Endereço TCP inválido: a porta está faltando " -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" "Depósito de documento inválido: arquivo %{1}s não encontrado no depósito " "%{2}s" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "Argumento inválido passado: %v" @@ -1339,27 +1360,27 @@ msgstr "Argumento inválido passado: %v" msgid "Invalid build properties" msgstr "Propriedades de compilação inválidas" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "Tamanho de dados para regexp inválida: %s" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "Regexp de tamanho EEPROM inválida: %s" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Instância inválida" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "Item inválido %s" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "Biblioteca inválida" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy inválido: '%[1]s':%[2]s" @@ -1371,7 +1392,7 @@ msgstr "Opção inválida para --log-level: %s" msgid "Invalid output format: %s" msgstr "Formato de saída inválido: %s" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "Índice de pacote inválido em %s" @@ -1383,7 +1404,7 @@ msgstr "Parâmetro %s inválido: versão não permitida" msgid "Invalid pid value: '%s'" msgstr "Valor PID inválido: '%s'" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "Perfil inválido" @@ -1391,15 +1412,15 @@ msgstr "Perfil inválido" msgid "Invalid recipe in platform.txt" msgstr "Receita inválida em platform.txt" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "Tamanho de regexp inválido: %s" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "Limite de tempo inválido: %s" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Versão inválida" @@ -1407,7 +1428,7 @@ msgstr "Versão inválida" msgid "Invalid vid value: '%s'" msgstr "Valor vid inválido: '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1415,74 +1436,74 @@ msgstr "" "Produza apenas compilações de banco de dados, mas sem compilar. Todos os " "comandos de build serão pulados, exceto os ganchos pre*." -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "NOMEBIBL" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "BIBLIOTECA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "NOME_BIBLIOTECA" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "Mais recente" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "A biblioteca %[1]s foi declarada como pré-compilada:" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "A biblioteca %[1]s já está instalada, mas com uma versão diferente: %[2]s" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "A biblioteca %s já está instalada em sua versão mais recente." -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "A biblioteca %s não está instalada" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "A biblioteca %s não foi encontrada" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "A biblioteca '%s' não foi encontrada" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" "A biblioteca não pode usar ambos os diretórios '%[1]s' e '%[2]s'. Cheque " "novamente em '%[3]s'." -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "Instalação de biblioteca falhou" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "Biblioteca instalada" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "Licença: %s" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "Vinculando tudo..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1490,11 +1511,11 @@ msgstr "" "Listar todas as placas que já possuem a plataforma de suporte instalada. " "Você pode buscar por uma placa específica se você especificar o nome dela." -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "Listar todas as placas conhecidas e os seus FQBN correspondentes." -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "Listar todas as placas conectadas." @@ -1506,7 +1527,7 @@ msgstr "" "Listar todas as opções de placas separadas por vírgula. Ou pode ser usado " "múltiplas vezes para múltiplas opções." -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1514,7 +1535,7 @@ msgstr "" "Listar todas as propriedades de build customizadas, separadas por vírgula. " "Ou pode ser usado múltiplas vezes para múltiplas opções." -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "Listar bibliotecas atualizáveis." @@ -1526,24 +1547,24 @@ msgstr "Listar plataformas atualizáveis." msgid "Lists all connected boards." msgstr "Listar todas as placas conectadas." -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "Listar núcleos e bibliotecas que podem ser atualizadas" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "Carregando arquivo Index: %v" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "Localização" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "Pouca memória disponível, podem ocorrer problemas de estabilidade." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "Mantedor: %s" @@ -1557,69 +1578,69 @@ msgid "" msgstr "" "Mensagens com esse nível e acima serão registradas. Níveis válidos são: %s" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' está faltando da biblioteca em %[2]s" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FQBN (Nome de Placa Totalmente Qualificado) está faltando" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "Porta faltando" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "Endereço de porta faltando" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "Protocolo de porta faltando" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "Programador faltando" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "Tamanho de regexp faltando" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "Caminho para esboço faltando" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "Monitor '%s' não encontrado" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "Configurações da porta do monitor:" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Múltiplas bibliotecas foram encontradas para \"%[1]s\"" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "Nome" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "Nenhuma placa encontrada." @@ -1627,19 +1648,19 @@ msgstr "Nenhuma placa encontrada." msgid "No default port or FQBN set" msgstr "Sem porta ou FQBN padrões." -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "Nenhuma biblioteca foi encontrada." -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "Nenhuma biblioteca instalada." -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "Nenhuma biblioteca correspondente à sua busca." -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1647,19 +1668,19 @@ msgstr "" "Nenhuma biblioteca correspondente à sua busca.\n" "Você quis dizer...\n" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "Nenhuma atualização de bibliotecas disponível." -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "Sem monitor disponível para o protocolo de porta %s" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "Nenhuma plataforma ou biblioteca desatualizada encontrada." -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "Nenhuma plataforma instalada." @@ -1667,33 +1688,33 @@ msgstr "Nenhuma plataforma instalada." msgid "No platforms matching your search." msgstr "Nenhuma plataforma correspondente à sua busca." -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "Nenhuma porta de envio encontrada, usando %s como reserva" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "Sem solução válida para dependências encontrada " -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Memória insuficiente: veja %[1]s para sugestões sobre como reduzir a sua " "pegada." -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "Não utilizado: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "SO:" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Placa Arduino oficial:" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1701,43 +1722,43 @@ msgstr "" "Esconder detalhes da biblioteca para todas as versões exceto a mais recente " "(produz uma saída JSON mais compacta)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "Abra uma porta de comunicação com a placa." -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Opção:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Opcional, pode ser: %s. Usado para indicar ao GCC qual nível de alerta " "utilizar (flag -W)." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Opcional, limpeza do diretório de compilação e não utilização de nenhuma " "compilação em cache." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Opcional, otimize saída de compilação para depuração, ao invés de " "lançamento." -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "Opcional, esconde quase qualquer saída. " -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "Opcional, liga o modo verboso." -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1745,7 +1766,7 @@ msgstr "" "Opcional. Caminho para um arquivo .json que contém um conjunto de " "substituições do código fonte do esboço." -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1770,35 +1791,35 @@ msgstr "Sobrescreve um esboço .ino existente." msgid "PACKAGER" msgstr "EMPACOTADOR" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "URL do pacote:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "Responsável pela manutenção do pacote:" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "Nome do pacote:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "Ajuda online para o pacote:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "Website do pacote:" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "Parágrafo: %s" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "Caminho" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1806,7 +1827,7 @@ msgstr "" "Caminho para a coleção de bibliotecas. Pode ser utilizado múltiplas vezes. " "Entradas podem ser separadas por vírgulas." -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1818,7 +1839,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Caminho para o arquivo onde os registros de dados serão escritos." -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1826,19 +1847,19 @@ msgstr "" "Caminho para onde salvar arquivos compilados. Se omitido, um diretório vai " "ser criado no caminho temporário padrão do seu SO." -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Executando toque de redefinição de 1200-bps na porta serial %s" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "Plataforma %s já está instalada" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1846,55 +1867,55 @@ msgstr "" "A plataforma %s não foi encontrada em nenhum índice conhecido\n" "Talvez você precise adicionar uma URL externa de 3ºs?" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "Plataforma %s desinstalada. " -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "Plataforma '%s' já está em sua versão mais recente." -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "Plataforma '%s' não encontrada" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "ID da Plataforma" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "ID da Plataforma incorreto" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "URL da Plataforma:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "Arquitetura da Plataforma:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "Categoria da Plataforma:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "Checksum da plataforma:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "Nome de arquivo da Plataforma:" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "Nome da Plataforma:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "Tamanho da Plataforma (em bytes):" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1902,7 +1923,7 @@ msgstr "" "Por favor especifique um FQBN. Possíveis placas foram detectadas na porta " "%[1]s com o protocolo %[2]s" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1910,27 +1931,28 @@ msgstr "" "Por favor especifique um FQBN. A placa na porta %[1]s com o protocolo %[2]s " "não pode ser identificada" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "Porta fechada: %v" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "Erro no monitor de portas" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Biblioteca pré-compilada em \"%[1]s\" não foi encontrada" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "Imprimir detalhes sobre a placa." -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Imprimir código pré-processado para stdout ao invés de compilar." @@ -1946,35 +1968,35 @@ msgstr "Imprime a configuração atual" msgid "Prints the current configuration." msgstr "Imprime a configuração atual." -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "Perfil '%s' não encontrado" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "Programador '%s' não encontrado" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "Nome do programador " -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "Programador para utilizar, ex: atmel_ice" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "Programadores:" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "Propriedade '%s' não definida" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "Protocolo" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "Providenciar includes: %s" @@ -1982,28 +2004,28 @@ msgstr "Providenciar includes: %s" msgid "Removes one or more values from a setting." msgstr "Remove um ou mais valores de uma configuração." -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "Substituindo %[1]s com %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "Substituindo plataforma %[1]s com %[2]s" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Ferramenta necessária:" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "Execute como um daemon na porta: %s" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Execute no modo silencioso e mostre apenas a entrada e a saída do monitor." -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." @@ -2011,74 +2033,119 @@ msgstr "" "Ao executar como um daemon, a inicialização de núcleos e bibliotecas é feita" " apenas uma vez." -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "Executando compilação normal do núcleo..." -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "Salve artefatos de compilação neste diretório." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Busque por uma placa no Gerenciador de Placas usando as palavras-chave " "especificadas." -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "Busque por uma placa no Gerenciador de Placas." -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Busque por um núcleo no Gerenciador de Placas usando as palavras-chave " "especificadas." -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "Busque por um núcleo no Gerenciador de Placas." -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -"Busque pelos dados de uma ou mais bibliotecas (a busca ignora maiúsculas e " -"minúsculas)." -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." -msgstr "Busque pelos dados de uma ou mais bibliotecas." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." +msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "Sentença: %s" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "Servidor respondeu com: %s" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2098,7 +2165,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "Define onde o arquivo de configuração deve ser salvo." -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "Configuração" @@ -2110,11 +2177,11 @@ msgstr "Chave de configuração não existe" msgid "Show all available core versions." msgstr "Mostre todas as versões de núcleo disponíveis." -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "Mostre todas as configurações da porta de comunicação." -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "Mostre placas marcadas como 'escondidas' na plataforma" @@ -2127,11 +2194,11 @@ msgstr "" "\"--show-properties=unexpanded\" se você quer ver elas da exata maneira em " "que estão definidas. " -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "Mostrar todos os detalhes da placa" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2139,15 +2206,15 @@ msgstr "" "Mostrar informações sobre uma placa, em específica se a placa possuir opções" " que devem ser especificadas no FQBN." -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "Mostrar apenas nomes de bibliotecas." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "Mostrar lista de todos os programadores disponíveis" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2159,11 +2226,11 @@ msgid "Show outdated cores and libraries after index update" msgstr "" "Mostrar bibliotecas e núcleos desatualizados após a atualização de índice" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "Mostra uma lista de todas as bibliotecas instaladas." -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2181,11 +2248,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "Mostra a lista de plataformas instaladas." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "Mostra a lista de exemplos para bibliotecas." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2202,7 +2269,7 @@ msgstr "Mostra a versão da CLI Arduino instalada no seu sistema." msgid "Shows version number of Arduino CLI." msgstr "Mostra o número de versão da CLI Arduino." -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Tamanho (em bytes):" @@ -2214,7 +2281,7 @@ msgstr "" "O Esboço não pode ser localizado no caminho de compilação. Por favor " "especifique um caminho diferente." -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "Esboço criado em: %s" @@ -2222,13 +2289,13 @@ msgstr "Esboço criado em: %s" msgid "Sketch profile to use" msgstr "Perfil de Esboço para utilizar" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "O rascunho é demasiado grande; veja %[1]s para técnicas de reduzir o " "ficheiro." -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2236,7 +2303,7 @@ msgstr "" "O rascunho usa %[1]s bytes (%[3]s%%) do espaço de armazenamento do programa." " O máximo é %[2]s bytes." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" @@ -2244,60 +2311,56 @@ msgstr "" "Esboços com a extensão. pde estão descontinuados. Por favor renomeie os " "seguintes arquivos para .ino:" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "Pule a vinculação da executável final." -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Pulando o toque de redefinição 1200-bps: nenhuma porta serial foi " "selecionada!" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "Pulando a criação de depósito de documentos de: %[1]s" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "Pulando a compilação de: %[1]s" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Pulando detecção de dependências para a biblioteca pré-compilada %[1]s" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "Pulando configuração de plataforma." -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "Pulando configuração de ferramenta." -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "Pulando: %[1]s" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "Alguns índices não puderam ser atualizados." -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" "Algumas atualizações falharam, por favor veja a saída para mais detalhes." -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "TOQUE: erro durante redefinição: %s" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "O daemon da porta TCP irá ouvir em" @@ -2307,11 +2370,19 @@ msgstr "" "O arquivo de configuração customizado (caso não seja definido, o padrão vai " "ser usado)." -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "A flag --debug-file deve ser usada junto de --debug." -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2327,11 +2398,11 @@ msgstr "" "A chave '%[1]v' não é uma lista de itens. Não é possível remover dela.\n" "Talvez tente usar '%[2]s'?" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "A biblioteca %s possui múltiplas instalações:" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2340,7 +2411,7 @@ msgstr "" "binários durante o processo de compilação. Usado apenas por plataformas que " "possuem suporte." -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2353,7 +2424,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Os formatos de saída para os arquivos de registro podem ser: %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2362,7 +2433,7 @@ msgstr "" "e criptografar um resultado binário. Usado apenas por plataformas que " "possuem suporte." -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "A plataforma não suporta '%[1]s' para bibliotecas pré-compiladas." @@ -2378,7 +2449,7 @@ msgstr "" " por espaço. Se nenhum argumento for passado, esse comando irá atualizar " "todas as bibliotecas instaladas que possuem uma atualização disponível." -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2387,69 +2458,70 @@ msgstr "" "podem ser atualizadas. Se nada precisar ser atualizado, a saída do comando " "será vazia." -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "Ferramenta %s já está instalada" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2457,17 +2529,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2481,11 +2553,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2513,7 +2585,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2533,40 +2605,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2585,48 +2657,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Utilizado: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "A usar a biblioteca %[1]s na directoria: %[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "A usar o ficheiro previamente compilado: %[1]s" @@ -2634,46 +2707,46 @@ msgstr "A usar o ficheiro previamente compilado: %[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2682,16 +2755,16 @@ msgstr "" "%[2]s e pode ser incompatível com a sua placa actual que é executada em " "arquitectura(s) %[3]s." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2709,19 +2782,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2729,78 +2802,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2808,99 +2879,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2916,19 +2991,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2936,7 +3015,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2948,15 +3027,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2964,15 +3043,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2980,7 +3059,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2988,12 +3067,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -3006,73 +3085,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -3084,15 +3161,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -3104,39 +3181,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -3152,31 +3229,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3187,256 +3264,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3444,115 +3535,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3569,7 +3653,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3577,98 +3661,91 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "%[1]s‎existem duas versões diferentes da biblioteca‎%[2]s‎são " "necessárias:‎%[3]se" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" "não é possível encontrar o caminho relativo para o esboço para o item‎" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "‎não é possível criar uma pasta para salvar o sketch" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "‎não é possível criar a pasta contendo o item‎" @@ -3676,31 +3753,31 @@ msgstr "‎não é possível criar a pasta contendo o item‎" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "‎não é possível de ler o conteúdo do item de destino‎" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "‎não é possível ler o conteúdo do item de origem‎" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "‎incapaz de escrever para o arquivo de destino‎" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "%spacote desconhecido" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "%splataforma desconhecida%s:" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "%s‎extensão do arquivo sketch é desconhecido‎' '" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "%s não há suporte ‎algoritmo hash:‎" @@ -3712,27 +3789,27 @@ msgstr "‎atualizar arduino: samd para a versão mais recente‎" msgid "upgrade everything to the latest version" msgstr "‎atualizar tudo para a versão mais recente‎" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "%serro ao carregar" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "%sversão ‎não disponível para este sistema operacional‎" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "%s versão não encontrada" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index aa7290d171c..34f8b12afc1 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -15,87 +15,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s Версия: %[3]s Фиксация: %[4]s Дата: %[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "Папка %[1]s более не поддерживается! Более подробно в %[2]s" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "Требуется %[1]s, но в данный момент устанавливается %[2]s" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s не найден шаблон" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s, сообщение: %[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s, порт: %[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s, порты: %[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s, версия протокола: %[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s уже скачана" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s не может быть использована вместе с %s" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s установлен" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s уже установлено." -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s не является директорией" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%s должен быть установлен." -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "'%s' имеет неправильную сигнатуру " -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(скрытый)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(устаревшее)" @@ -120,11 +120,11 @@ msgstr "" msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "Доступен новый релиз Arduino CLI:" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "" @@ -141,7 +141,7 @@ msgstr "ИНСТРУКЦИЯ КОМАНДНОЙ СТРОКИ ARDUINO" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "" @@ -149,31 +149,35 @@ msgstr "" msgid "Aliases:" msgstr "" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "" @@ -181,7 +185,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "Архивирование откомпилированного ядра (кэширование) в: %[1]s" @@ -217,7 +221,7 @@ msgstr "" msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "" @@ -225,23 +229,23 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "" @@ -249,49 +253,49 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "Файл загрузчика указан но не существует: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "" @@ -299,7 +303,7 @@ msgstr "" msgid "Can't set multiple values in key %v" msgstr "" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -307,11 +311,11 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "" @@ -331,11 +335,11 @@ msgstr "" msgid "Cannot create config file: %v" msgstr "" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "" @@ -343,7 +347,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "" @@ -351,19 +355,19 @@ msgstr "" msgid "Cannot find absolute path: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "" @@ -371,19 +375,23 @@ msgstr "" msgid "Cannot write the file %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" @@ -395,33 +403,33 @@ msgstr "" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "Компиляция скетча..." @@ -430,57 +438,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "" @@ -488,7 +496,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "" @@ -502,47 +510,43 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "По умолчанию" @@ -568,28 +572,28 @@ msgstr "" msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "" @@ -603,11 +607,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "" @@ -623,45 +627,49 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "" @@ -673,7 +681,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -689,11 +697,11 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "" @@ -705,11 +713,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "" @@ -717,7 +725,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "" @@ -729,7 +737,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "" @@ -737,41 +745,40 @@ msgstr "" msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "" @@ -779,10 +786,10 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "" @@ -790,7 +797,7 @@ msgstr "" msgid "Error during YAML encoding of the output: %v" msgstr "" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "" @@ -802,19 +809,20 @@ msgstr "" msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "" @@ -822,19 +830,25 @@ msgstr "" msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "" @@ -842,11 +856,11 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "" @@ -866,63 +880,63 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "" @@ -930,43 +944,49 @@ msgstr "" msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "" @@ -974,7 +994,7 @@ msgstr "" msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "" @@ -982,26 +1002,27 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "" @@ -1009,15 +1030,15 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "" @@ -1025,65 +1046,65 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" @@ -1126,7 +1147,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "" @@ -1134,7 +1155,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "" @@ -1151,7 +1172,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "" @@ -1159,7 +1180,7 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1167,25 +1188,25 @@ msgstr "" "Глобальные переменные используют %[1]s байт (%[3]s%%) динамической памяти, " "оставляя %[4]s байт для локальных переменных. Максимум: %[2]s байт." -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глобальные переменные используют %[1]s байт динамической памяти." -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1195,7 +1216,7 @@ msgid "" "installed." msgstr "" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" @@ -1207,30 +1228,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "Установлено" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "" @@ -1242,11 +1263,11 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" @@ -1255,28 +1276,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "" @@ -1285,27 +1306,27 @@ msgstr "" msgid "Invalid build properties" msgstr "" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1317,7 +1338,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "" @@ -1329,7 +1350,7 @@ msgstr "" msgid "Invalid pid value: '%s'" msgstr "" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "" @@ -1337,15 +1358,15 @@ msgstr "" msgid "Invalid recipe in platform.txt" msgstr "" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" @@ -1353,87 +1374,87 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "" @@ -1443,13 +1464,13 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "" @@ -1461,24 +1482,24 @@ msgstr "" msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "Недостаточно памяти, программа может работать нестабильно." -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "" @@ -1491,69 +1512,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Пропущен '%[1]s' из библиотеки в %[2]s" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" msgstr "" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Несколько библиотек найдено для \"%[1]s\"" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "" @@ -1561,37 +1582,37 @@ msgstr "" msgid "No default port or FQBN set" msgstr "" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "" @@ -1599,73 +1620,73 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "Недостаточно памяти; прочитайте %[1]s" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "Не используется: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1688,41 +1709,41 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1732,111 +1753,112 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "Порт" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1852,35 +1874,35 @@ msgstr "" msgid "Prints the current configuration." msgstr "" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "" @@ -1888,94 +1910,141 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" msgstr "" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -1993,7 +2062,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "" @@ -2005,11 +2074,11 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2019,25 +2088,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2046,11 +2115,11 @@ msgstr "" msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2063,11 +2132,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2082,7 +2151,7 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" @@ -2092,7 +2161,7 @@ msgid "" "path" msgstr "" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "" @@ -2100,11 +2169,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Скетч слишком большой; прочитайте %[1]s" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2112,62 +2181,58 @@ msgstr "" "Скетч использует %[1]s байт (%[3]s%%) памяти устройства. Всего доступно " "%[2]s байт." -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2175,11 +2240,19 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2191,17 +2264,17 @@ msgid "" "Maybe use '%[2]s'?" msgstr "" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2211,13 +2284,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2229,75 +2302,76 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "Тип" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "" @@ -2305,17 +2379,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2329,11 +2403,11 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "" @@ -2361,7 +2435,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2381,40 +2455,40 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2433,48 +2507,49 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "Используется: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Используем библиотеку %[1]s версии %[2]s из папки: %[3]s %[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Используем библиотеку %[1]s в папке: %[2]s %[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "Используем предварительно скомпилированный файл: %[1]s" @@ -2482,46 +2557,46 @@ msgstr "Используем предварительно скомпилиров msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2529,16 +2604,16 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: библиотека %[1]s должна запускаться на архитектурах %[2]s и " "может быть несовместима с вашей платой на архитектуре %[3]s." -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "" @@ -2556,19 +2631,19 @@ msgstr "" msgid "Writing config file: %v" msgstr "" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2576,78 +2651,76 @@ msgstr "" msgid "archivePath" msgstr "" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "" @@ -2655,99 +2728,103 @@ msgstr "" msgid "command" msgstr "" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "" @@ -2763,19 +2840,23 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "" @@ -2783,7 +2864,7 @@ msgstr "" msgid "error parsing value: %v" msgstr "" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "" @@ -2795,15 +2876,15 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "" @@ -2811,15 +2892,15 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "" @@ -2827,7 +2908,7 @@ msgstr "" msgid "flags" msgstr "" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "" @@ -2835,12 +2916,12 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" @@ -2853,73 +2934,71 @@ msgstr "" msgid "generating installation.secret: %w" msgstr "" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "" @@ -2931,15 +3010,15 @@ msgstr "" msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "" @@ -2951,39 +3030,39 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "" @@ -2999,31 +3078,31 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3034,256 +3113,270 @@ msgid "" "cannot be \".\"." msgstr "" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "" -#: arduino/libraries/librariesmanager/install.go:130 -msgid "library %s already installed" +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" msgstr "" -#: arduino/libraries/librariesmanager/install.go:319 -msgid "library not valid" +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:124 +msgid "library %s already installed" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" +#: internal/arduino/libraries/librariesmanager/install.go:313 +msgid "library not valid" msgstr "" -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" +#: internal/arduino/cores/packagemanager/package_manager.go:335 +msgid "platform %s is not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:298 -msgid "platform %s is not installed" +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "" @@ -3291,115 +3384,108 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" msgstr "" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" msgstr "" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "" @@ -3416,7 +3502,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "" @@ -3424,95 +3510,88 @@ msgstr "" msgid "sketchPath" msgstr "" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "" @@ -3520,31 +3599,31 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3556,27 +3635,27 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index 0043b12c174..013d3565249 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -4,6 +4,7 @@ # Kuo Szu-Wei, 2022 # ZW, 2022 # Mimi <stevenjoezhang@gmail.com>, 2023 +# HalfSweet, 2023 # cike567, 2023 # msgid "" @@ -17,87 +18,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 提交:%[4]s 日期:%[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]s 文件夹不再受支持!有关详细信息,请参见 %[2]s" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s 无效,全部重建" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s 是必需的,但当前已安装 %[2]s。" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s 模式丢失" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s,消息:%[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s,端口:%[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s,端口:%[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s,协议版本:%[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s 已经下载" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s 已安装" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s 已安装" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s 不是目录" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s 不是由软件包管理器管理的" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "%s 必须安装" -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "%s 模式丢失" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "‘%s’ 的签名无效" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "‘build.core’ 和 ‘build.variant’ 指的是不同的平台:%[1]s 和 %[2]s" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(隐藏)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(遗留)" @@ -121,11 +122,11 @@ msgstr "--git-url 或 --zip-path 不能与 --install-in-builtin-dir 一起使用 msgid ".ino file already exists" msgstr ".ino 文件已存在" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "新版本的 Arduino CLI 可用:" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "需要编译器上传" @@ -142,7 +143,7 @@ msgstr "ARDUINO 命令行手册" msgid "Additional help topics:" msgstr "更多帮助:" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "将一个或多个值添加到设置中。" @@ -150,31 +151,35 @@ msgstr "将一个或多个值添加到设置中。" msgid "Aliases:" msgstr "别名:" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "所有平台都是最新的。" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "所有内核都是最新版本" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "已经安装 %s" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]s 的替代方案:%[2]s" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "添加原型时出错" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "检测库时出错" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "附加除错日志到特定文件" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "架构:%s" @@ -182,7 +187,7 @@ msgstr "架构:%s" msgid "Archive already exists" msgstr "存档已经存在" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "存档构建代码(缓存):%[1]s" @@ -218,7 +223,7 @@ msgstr "Arduino 配置命令。" msgid "Arduino core operations." msgstr "Arduino 内核操作。" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "参数错误:%v" @@ -226,23 +231,23 @@ msgstr "参数错误:%v" msgid "Attaches a sketch to a board." msgstr "将项目写入开发板上。" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "作者:%s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "在这种情况下不能进行自动安装库,请手动删除所有重复的库并重试。" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "在这种情况下不能进行自动卸载库,请手动删除它们。" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "可用" @@ -250,49 +255,49 @@ msgstr "可用" msgid "Available Commands:" msgstr "可用命令:" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "要上传的二进制文件。" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "开发板名" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "开发板名:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "开发板版本:" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "已指定引导加载程序文件,缺少:%[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "‘core.a’ 的构建被保存到这个路径中,以便被缓存和重复使用。" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "无法新建 %s 数据目录" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "无法新建项目" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "无法下载库" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的依赖" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "无法打开项目" @@ -300,19 +305,19 @@ msgstr "无法打开项目" msgid "Can't set multiple values in key %v" msgstr "无法在 %v 键中设置多个值" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" -msgstr "" +msgstr "无法更新项目" #: internal/cli/arguments/arguments.go:36 msgid "Can't use the following flags together: %s" msgstr "不能同时使用以下参数:%s" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "无法写入配置文件:%v" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "无法写入调试日志:%s" @@ -332,19 +337,19 @@ msgstr "无法新建配置文件目录:%v" msgid "Cannot create config file: %v" msgstr "无法新建配置文件:%v" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "无法新建临时目录" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "无法新建临时文件" #: internal/cli/config/delete.go:53 msgid "Cannot delete the key %[1]s: %[2]v" -msgstr "" +msgstr "无法删除位于%[2]v的%[1]s" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "无法运行调试工具" @@ -352,39 +357,43 @@ msgstr "无法运行调试工具" msgid "Cannot find absolute path: %v" msgstr "找不到绝对路径:%v" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "无法安装平台" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "无法安装 %s 工具 " -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "无法执行端口重置:%s" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "无法升级平台" #: internal/cli/config/delete.go:57 msgid "Cannot write the file %[1]s: %[2]v" -msgstr "" +msgstr "无法将%[2]v写入到%[1]s" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "类别:%s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "检查指定库的依赖状态。" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "请提供给定的开发板/烧录器组合以检查是否支持调试。" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "校验码与 package.json 中的校验码不同" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "校验码:" @@ -396,33 +405,33 @@ msgstr "清理缓存。" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "以逗号分隔的开发板管理器附加地址列表。" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "命令保持运行,并在发生更改时打印已连接开发板的列表。" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已编译项目" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "编译 Arduino 项目" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "正在编译内核。。。" -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "正在编译库。。。" -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "正在编译 “%[1]s” 库" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "正在编译项目。。。" @@ -431,57 +440,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "配置文件已经存在,使用 --overwrite 弃用现有的配置文件。" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "配置文件写入:%s" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "%s 的配置选项" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." -msgstr "" +msgstr "用于通信的端口设置格式为:<ID>=<value>[,<ID>=<value>]……" -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "配置平台。" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "配置工具。" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "已连接" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "已连接到 %s!按 CTRL-C 退出。" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "内核" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "无法通过 HTTP 连接" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "无法新建索引目录" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "无法深度缓存内核构建:%[1]s" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "无法确定程序大小" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "无法获得当前工作目录:%v" @@ -489,7 +498,7 @@ msgstr "无法获得当前工作目录:%v" msgid "Create a new Sketch" msgstr "新建项目" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "从构建中创建并打印一个配置文件的内容。" @@ -503,47 +512,43 @@ msgid "" "directory with the current configuration settings." msgstr "用当前的配置创建或更新数据目录或自定义目录中的配置文件。" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前,Build Profiles 只支持通过 Arduino Library Manager 提供的库。" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" -msgstr "" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" +msgstr "%s的个性化设置:" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "已弃用" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "守护进程正在监听 %s:%s" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "调试 Arduino 项目" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "调试 Arduino 项目(此命令打开交互式 gdb 会话)" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "调试解释器,例如:%s" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "%s 开发板不支持调试" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "支持调试:" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "默认" @@ -569,28 +574,28 @@ msgstr "删除下载文件夹内的内容,在安装库和开发板平台期间 msgid "Deletes a settings key and all its sub keys." msgstr "删除设置键及其所有子键。" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "依赖:%s" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "说明" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "正在检测使用的库。。。" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "检测并显示连接到电脑的开发板的列表。" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "包含用于调试的二进制文件的目录。" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "包含用于上传的二进制文件的目录。" @@ -604,11 +609,11 @@ msgstr "保存生成文件的目录。默认为 ./docs,该目录必须存在 msgid "Disable completion description for shells that support it" msgstr "对于支持完成描述的 shell,禁用完成描述" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "已断开连接" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "只显示提供的 gRPC 调用" @@ -624,45 +629,49 @@ msgstr "不要覆盖已经安装的库。" msgid "Do not overwrite already installed platforms." msgstr "不要覆盖已经安装的平台。" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "不执行实际上传操作,只注销操作" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "如果父进程终止,则守护进程不终止。" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "如果已经安装了库依赖项,请不要尝试更新它们。" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "正在下载 %s" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "正在下载 %s 索引签名" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "正在下载 %s 索引" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "正在下载 %s 库" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "正在下载丢失的 %s 工具 " -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "正在下载软件包" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "正在下载 %s 平台" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "正在下载 %s 工具" @@ -674,7 +683,7 @@ msgstr "下载一个或多个内核和相应的工具依赖" msgid "Downloads one or more libraries without installing them." msgstr "下载一个或多个库而不安装它们。" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "启用 gRPC 调用的调试日志" @@ -690,11 +699,11 @@ msgstr "输入在存储库上托管的库的 git 地址" msgid "Error adding file to sketch archive" msgstr "将文件添加到项目存档时出错" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中存档构建内核(缓存)时出错:%[2]s" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "错误归档:%v" @@ -706,11 +715,11 @@ msgstr "计算相对文件路径时出错" msgid "Error cleaning caches: %v" msgstr "清理缓存出错:%v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "将路径转换为绝对路径时出错:%v" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "复制输出 %s 文件时出错" @@ -718,7 +727,7 @@ msgstr "复制输出 %s 文件时出错" msgid "Error creating instance: %v" msgstr "新建实例时出错:%v" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "新建输出目录时出错" @@ -730,7 +739,7 @@ msgstr "新建项目存档时出错" msgid "Error creating sketch: %v" msgstr "新建项目时出错:%v" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "检测开发板时出错:%v" @@ -738,41 +747,40 @@ msgstr "检测开发板时出错:%v" msgid "Error downloading %[1]s: %[2]v" msgstr "下载 %[1]s 时出错:%[2]v" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "下载 %s 时出错" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "下载 ‘%s’ 索引时出错" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "下载 ‘%s’ 索引签名时出错" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "下载 %s 库时出错" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "下载 %s 平台时出错" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "下载 %s 工具时出错" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "调试时出错:%v" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "检测 FQBN 时出错:%v" @@ -780,10 +788,10 @@ msgstr "检测 FQBN 时出错:%v" msgid "Error during JSON encoding of the output: %v" msgstr "输出编码 JSON 过程时出错:%v" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "上传时出错:%v" @@ -791,7 +799,7 @@ msgstr "上传时出错:%v" msgid "Error during YAML encoding of the output: %v" msgstr "输出编码 YAML 过程时出错:%v" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "构建时出错:%v" @@ -803,19 +811,20 @@ msgstr "安装时出错:%v" msgid "Error during uninstall: %v" msgstr "卸载时出错:%v" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "升级时出错:%v" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "提取 %s 时出错" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "查找构建项目时出错" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "获取调试信息时出错:%v" @@ -823,19 +832,25 @@ msgstr "获取调试信息时出错:%v" msgid "Error getting absolute path of sketch archive" msgstr "获取项目存档的绝对路径时出错" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "获取开发板详细信息时出错:%v" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "获取编译数据库的当前目录时出错:%s" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "从 `sketch.yaml` 获取默认端口时出错。检查是否在正确的 sketch 文件夹中,或提供 --port 标志: " + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "获取 %s 库的信息时出错" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "获取库信息时出错:%v" @@ -843,11 +858,11 @@ msgstr "获取库信息时出错:%v" msgid "Error getting port metadata: %v" msgstr "获取端口元数据出错:%v" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "获取端口设置详细信息时出错:%s" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "获取用户输入时出错" @@ -867,63 +882,63 @@ msgstr "安装 Git 库时出错:%v" msgid "Error installing Zip Library: %v" msgstr "安装 Zip 库时出错:%v" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "安装 %s 库时出错" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "安装 %s 平台时出错" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "安装 %s 工具时出错" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "列出开发板列表时出错:%v" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "列出库时出错:%v" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "列出平台列表时出错:%v" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "加载硬件平台时出错" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "加载 %s 索引时出错" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "打开 %s 时出错" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "打开调试日志文件出错:%s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "打开源代码覆盖数据文件时出错:%v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 参数时出错:%v" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "读取构建目录时出错" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "读取配置文件时出错:%v" @@ -931,43 +946,49 @@ msgstr "读取配置文件时出错:%v" msgid "Error reading sketch files" msgstr "读取项目文件时出错" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "解析 %[1]s 的依赖时出错:%[2]s" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "检索内核列表时出错:%v" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "回滚更改时出错:%s" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "保存下载的索引时出错" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "保存已下载的索引签名时出错" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "搜索开发板时错误:%v" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "搜索库时出现错误:%v" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "搜索平台时出错:%v" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "序列化编译数据库时出错:%s" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "原始的设置出错:%s" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "启动时发现出错:%v" @@ -975,7 +996,7 @@ msgstr "启动时发现出错:%v" msgid "Error uninstalling %[1]s: %[2]v" msgstr "卸载 %[1]s 时出错:%[2]v" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "更新库索引时出错:%v" @@ -983,26 +1004,27 @@ msgstr "更新库索引时出错:%v" msgid "Error upgrading libraries" msgstr "升级库时出错" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "更新平台时出错:%s" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "验证签名时出错" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "检测 %[1]s 包含的库时出错" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "确定项目大小时出错:%s" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "写入编译数据库时出错:%s" @@ -1010,15 +1032,15 @@ msgstr "写入编译数据库时出错:%s" msgid "Error: command description is not supported by %v" msgstr "错误:%v 不支持命令说明" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "错误:无效的源代码覆盖了数据文件:%v" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "事件" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "%s 库的示例" @@ -1026,65 +1048,65 @@ msgstr "%s 库的示例" msgid "Examples:" msgstr "示例:" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "可执行调试" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "应在 %s 目录中编译项目,但它是一个文件" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "芯片擦除失败" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "编译失败" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "无法烧录引导加载程序" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "新建数据目录失败" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "新建下载文件夹失败" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "未能侦听 TCP 端口:%[1]s。%[2]s 是无效端口。" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "未能侦听 TCP 端口:%[1]s。%[2]s 是未知名称。" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "未能侦听 TCP 端口:%[1]s。意外错误:%[2]v" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "未能侦听 TCP 端口:%s。地址已被使用。" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "上传失败" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "文件:" @@ -1115,7 +1137,7 @@ msgstr "强制运行安装后脚本(如果 CLI 未以交互方式运行)。" msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." -msgstr "" +msgstr "强制运行 pre-uninstall 命令(如果 CLI 不是交互式运行)。" #: internal/cli/arguments/pre_post_script.go:38 msgid "" @@ -1125,17 +1147,17 @@ msgstr "强制跳过安装后脚本(如果 CLI 以交互方式运行)。" #: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." -msgstr "" +msgstr "强制跳过 pre-uninstall 命令(如果 CLI 以交互方式运行)。" -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" -msgstr "" +msgstr "找到%d平台有符合的 \"%s\": %s" #: internal/cli/arguments/fqbn.go:37 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格开发板名,例如:arduino:avr:uno" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "不支持 GDB 服务器 ‘%s’" @@ -1152,7 +1174,7 @@ msgstr "已生成脚本" msgid "Generates completion scripts for various shells" msgstr "已为各种 shell 生成脚本" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "生成函数原型。。。" @@ -1160,31 +1182,31 @@ msgstr "生成函数原型。。。" msgid "Global Flags:" msgstr "全局参数:" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." -msgstr " 个全局变量使用 %[1]s 个字节(%[3]s%%)的动态内存,剩下 %[4]s 个字节用于局部变量。最大值为 %[2]s 字节。" +msgstr "全局变量使用 %[1]s 个字节(%[3]s%%)的动态内存。剩下 %[4]s 个字节将被用于局部变量,最大可用值为 %[2]s 字节。" -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全局变量使用 %[1]s 字节的动态内存。" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "标识属性:" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "如果设定,则构建的二进制文件将导出到项目文件夹。" @@ -1194,7 +1216,7 @@ msgid "" "installed." msgstr "如果设定,则返回所有可安装和已安装的内核,包括手动安装的内核。" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "在列表中包含内置库(来自平台和 IDE)。" @@ -1206,30 +1228,30 @@ msgstr "在存档中包含 %s 目录。" msgid "Install libraries in the IDE-Builtin directory" msgstr "在 IDE-Builtin 目录下安装库" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "已安装" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "已安装 %s" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "正在安装 %s" -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "正在安装 %s 库" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "正在安装 %s 平台" -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "正在安装 %s 工具" @@ -1241,11 +1263,11 @@ msgstr "安装一个或多个内核和相应的工具依赖。" msgid "Installs one or more specified libraries into the system." msgstr "在系统中安装一个或多个指定的库。" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "缓存中的内部错误" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "无效的 ‘%[1]s’ 属性:%[2]s" @@ -1254,28 +1276,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "无效调用:应显示帮助,但仅在文本模式下可用。" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "无效的 FQBN" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "无效的 TCP 地址:缺少端口" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "无效的地址" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "无效的附加地址:%v" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "无效存档:在存档 %{1}s 中未找到文件 %{2}s" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "传递的参数无效:%v" @@ -1284,27 +1306,27 @@ msgstr "传递的参数无效:%v" msgid "Invalid build properties" msgstr "无效的构建属性" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "无效的数据大小正则表达式:%s" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "无效的 eeprom 大小正则表达式:%s" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "无效的实例" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "无效的 %s 条目" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "无效的库" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" @@ -1316,7 +1338,7 @@ msgstr "--log-level 选项无效:%s" msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "%s 中的软件包索引无效" @@ -1328,7 +1350,7 @@ msgstr "无效 %s 参数:版本不允许" msgid "Invalid pid value: '%s'" msgstr "无效的pid值:‘%s’" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "无效的配置文件" @@ -1336,15 +1358,15 @@ msgstr "无效的配置文件" msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法无效" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "无效的大小正则表达式:%s" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "超时无效:%s" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "无效的版本" @@ -1352,87 +1374,87 @@ msgstr "无效的版本" msgid "Invalid vid value: '%s'" msgstr "无效的 vid 值:‘%s’" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "只生成编译数据库,不实际编译。跳过除 pre*hook 之外的所有生成命令。" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "库名" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "库" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "库_名" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "最新的" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "%[1]s 库已声明为预编译:" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "库 %[1]s 已经安装,但有不同的版本。:%[2]s" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "库 %s 已经是最新版本" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "%s 库未安装" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "未找到 %s 库" -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "未找到 %s 库" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "库不能同时使用 ‘%[1]s’ 和 ‘%[2]s’ 文件夹。在 ‘%[3]s’ 再次检查。" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "库安装失败" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "已安装的库" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "许可证:%s" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "将所有内容链接在一起。。。" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "列出已安装的受支持的平台的所有开发板。如果指定开发板名,则可以搜索指定开发板" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "列出所有已知开发板及其相应的 FQBN。" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "列出已连接的开发板。" @@ -1442,13 +1464,13 @@ msgid "" " multiple options." msgstr "用逗号分隔的开发板选项列表。可以对多个选项多次使用。" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "用逗号分隔的自定义构建属性列表。可以对多个属性多次使用。" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "列出可更新的库。" @@ -1460,24 +1482,24 @@ msgstr "列出可更新的平台。" msgid "Lists all connected boards." msgstr "列出所有已连接的开发板。" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "列出可以升级的内核和库" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "正在加载索引文件:%v" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "位置" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "可用内存不足,可能会出现稳定性问题。" -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "维护者:%s" @@ -1490,69 +1512,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "记录此级别及以上的消息。有效级别为 %s" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]s 中的库中缺少 ‘%[1]s’" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "缺少 FQBN(完全合格开发板名)" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "找不到端口" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "缺少端口地址" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "找不到端口协议" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "找不到编译器" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" -msgstr "" +msgstr "缺少必要的上传字段:%s" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "缺少大小正则表达式" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "缺少项目路径" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "未找到 ‘%s’ 监视器" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "监视端口设置:" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "为 “%[1]s” 找到了多个库" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "名" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "名:“%s”" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" -msgstr "" +msgstr "新的上传端口%[1]s(%[2]s)" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "没有找到开发板" @@ -1560,19 +1582,19 @@ msgstr "没有找到开发板" msgid "No default port or FQBN set" msgstr "未设置默认端口或 FQBN" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "没有找到库。" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "没有安装库。" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "没有与你的搜索相匹配的库。" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1580,93 +1602,93 @@ msgstr "" "没有与您的搜索匹配的库。\n" "你的意思是。。。\n" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "没有可用的库更新。" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "没有可用于端口协议 %s 的监视器" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "没有找到过时的平台或库。" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." -msgstr "" +msgstr "没有任何平台被安装。" #: internal/cli/core/search.go:110 msgid "No platforms matching your search." msgstr "没有与你的搜索匹配的平台。" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "未找到上传端口,使用 %s 作为后备" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "找不到有效的依赖解决方案" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "内存不足;有关减少空间的提示,请参见 %[1]s。" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "未使用:%[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "操作系统:" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "官方 Arduino 开发板:" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "省略库中除最新版本之外的所有版本(生成更紧凑的 JSON 输出)。" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "开启开发板的通信端口。" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "选项:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "可选,可以是:%s。用于告诉 gcc 使用哪个警告级别(-W 参数)。" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "可选,清理构建文件夹并且不使用任何缓存构建。" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "可选,优化编译输出用于调试,而不是发布。" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "可选,禁止几乎所有输出。" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "可选,开启详细模式。" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "可选。 包含一组替换项目源代码的文件的路径。" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1689,41 +1711,41 @@ msgstr "覆盖现有的 .ino 项目。" msgid "PACKAGER" msgstr "打包程序" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "软件包地址:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "软件包维护者:" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "软件包名:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "软件包在线帮助" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "软件包网站:" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "段落:%s" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "路径" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "一个库的集合的路径。可以多次使用,或者可以用逗号分隔条目。" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1733,25 +1755,25 @@ msgstr "单个库的根文件夹的路径。可以多次使用,或者可以用 msgid "Path to the file where logs will be written." msgstr "写入日志的文件的路径。" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已编译文件的路径。如果省略,将在操作系统的默认临时路径中创建目录。" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 端口上执行 1200-bps TOUCH 重置" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "%s 平台已经安装" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "已安装 %s 平台" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1759,87 +1781,88 @@ msgstr "" "在任何已知索引中都找不到 %s 平台\n" "也许你需要添加一个第 3 方地址?" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "%s 平台已卸载" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "‘%s’ 平台已经是最新版本" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "未找到 ‘%s’ 平台" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "平台 ID 不正确" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "平台地址:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "平台架构:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "平台类别:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "平台校验码:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "平台文件名:" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "平台名称:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "平台大小(字节):" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "请指定一个 FQBN。在 %[1]s 端口上检测到多个可能的开发板,协议为 %[2]s" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "请指定一个 FQBN。%[1]s 端口上的开发板与协议 %[2]s 不能被识别" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "端口" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "端口关闭:%v" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "端口监视器错误" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "在 “%[1]s” 中找不到预编译库" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "打印开发板的详细信息。" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "将预处理的代码打印到标准输出,而不是编译。" @@ -1855,35 +1878,35 @@ msgstr "打印当前配置" msgid "Prints the current configuration." msgstr "打印当前配置。" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "未找到 ‘%s’ 的配置文件''。" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "未找到 ‘%s’ 编译器" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "编译器名" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "要使用的编译器,例如:atmel_ice" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "编译器:" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "‘%s’ 属性未定义" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "协议" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "提供包括:%s" @@ -1891,96 +1914,182 @@ msgstr "提供包括:%s" msgid "Removes one or more values from a setting." msgstr "从设置中删除一个或多个值。" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "将 %[1]s 替换为 %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "用 %[2]s 替换 %[1]s 平台" -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "在端口上作为守护进程运行:%s" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "以静默模式运行,仅显示监视器输入和输出。" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "作为守护进程运行时,只执行一次内核和库的初始化。" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "正在运行正常的内核构建。。。" -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." -msgstr "" +msgstr "运行 pre_uninstall 命令。" -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "搜索_条件" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" -msgstr "" +msgstr "SVD 文件路径" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "将生成文件保存在此目录中。" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "使用指定的关键词在开发板管理器中搜索一个开发板。" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "在开发板管理器中搜索一个开发板。" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "使用指定的关键字在开发板管理器中搜索内核。" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "在开发板管理器中搜索内核。" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." -msgstr "搜索一个或多个库数据(不区分大小写的搜索)。" +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" +msgstr "" +"搜索满足条件的库文件。\n" +"\n" +"所有搜索均不区分大小写。多词搜索只会返回全部满足条件的库文件。\n" +"\n" +"不符合QV语法的将为基本搜索,将查找符合以下条件的库文件:\n" +" - Author\n" +"- Name\n" +"- Paragraph\n" +"- Provides\n" +"- Sentence\n" +"\n" +"有一种特殊的语法,称为限定符-值 (QV),表示搜索词\n" +"应只与每个库索引条目的一个字段进行比较。这种 语法\n" +"使用索引字段的名称 (不区分大小写)、等号 (=) 或冒号 (:),\n" +"以及一个值,例如 \"name=ArduinoJson \"或 \"provides:tinyusb.h\"。\n" +"\n" +"使用冒号分隔符的 QV 搜索词将匹配命名字段中任意位置\n" +"具有该值的所有库,而使用等号分隔符的 QV 搜索词将\n" +"只匹配命名字段中具有所提供值的库文件。\n" +"\n" +"QV 搜索词可以包括嵌入的空格,在值或整个词周围使用双引号 (\")\n" +"字符,例如 \"category=\"Data Processing\"\n" +"和\"category=Data Processing\"是等价的。\n" +"QV 术语可以包括一个字面双引号字符,方法是在它前面加上一个\n" +"反斜杠 (\\)字符。\n" +"\n" +"注意:使用双引号或反斜杠字符作为命令行参数传递的 QV 搜索条件\n" +"作为命令行参数传递时,可能需要加引号或转义,以防止 shell 解释这些字符。\n" +"\n" +"除上述字段外,QV 术语还可以使用这些限定符:\n" +" - Architectures\n" +"- Category\n" +"- Dependencies\n" +"- License\n" +"- Maintainer\n" +"- Types\n" +"- Version\n" +"- Website\n" +"\t\t" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." -msgstr "搜索一个或多个库数据。" +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." +msgstr "搜索与查询匹配的一个或多个库文件。" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "句子:%s" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" -msgstr "" +msgstr "服务器路径" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "服务器响应:%s" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" -msgstr "" +msgstr "服务器类型" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." -msgstr "" +msgstr "为上传所需的字段设置值。" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." -msgstr "" +msgstr "将终端设置为原始模式(无缓冲)。" #: internal/cli/config/set.go:32 internal/cli/config/set.go:33 msgid "Sets a setting value." @@ -1996,7 +2105,7 @@ msgstr "设置端口和 FQBN 的默认值。如果没有指定端口或 FQBN, msgid "Sets where to save the configuration file." msgstr "设置保存配置文件的位置。" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "设置" @@ -2008,11 +2117,11 @@ msgstr "设置键不存在" msgid "Show all available core versions." msgstr "显示所有可用的内核版本。" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "显示通讯端口的所有设置。" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "在平台上显示标记为隐藏的开发板" @@ -2020,27 +2129,27 @@ msgstr "在平台上显示标记为隐藏的开发板" msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." -msgstr "" +msgstr "显示构建属性。这些属性是展开的,如果你希望它们完全按照定义的样子显示,请使用\"--show-properties=unexpanded\"。" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "显示完整的开发板详细信息" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "显示有关开发板的信息,特别是如果开发板在 FQBN 中有指定的选项。" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "只显示库名。" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "显示可用编译器列表" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "显示有关调试会话的元数据,而不是启动调试器。" @@ -2049,11 +2158,11 @@ msgstr "显示有关调试会话的元数据,而不是启动调试器。" msgid "Show outdated cores and libraries after index update" msgstr "在索引更新后显示过时的内核和库" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "显示已安装库的列表。" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2068,11 +2177,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "显示已安装平台的列表。" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "显示库示例列表。" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2087,7 +2196,7 @@ msgstr "显示您系统上安装的 Arduino CLI 的版本号。" msgid "Shows version number of Arduino CLI." msgstr "显示 Arduino CLI 的版本号。" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "大小(字节):" @@ -2097,7 +2206,7 @@ msgid "" "path" msgstr "项目不能位于生成路径中。请指定其他生成路径" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "项目新建于:%s" @@ -2105,72 +2214,68 @@ msgstr "项目新建于:%s" msgid "Sketch profile to use" msgstr "使用项目配置文件" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "项目太大;请参阅 %[1]s,以获取减少项目大小的提示。" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr " 项目使用 %[1]s 字节(%[3]s%%)的程序存储空间。最大值为 %[2]s 字节。" -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "项目 .pde 扩展名已弃用,请将以下文件重命名为 .ino:" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "跳过最终可执行文件的链接。" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳过 1200-bps TOUCH 重置:未选择串口!" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "正在跳过以下内容的存档创建:%[1]s" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "跳过编译:%[1]s" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳过 %[1]s 预编译库的依赖检测" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "跳过平台配置。" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." -msgstr "" +msgstr "跳过 pre_uninstall 命令" -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "跳过工具配置。" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "跳过:%[1]s" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "一些索引无法更新。" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "有一些升级失败了,请查看输出结果以了解详情。" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "TOUCH:重置时出错:%s" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "守护进程将监听的 TCP 端口" @@ -2178,11 +2283,19 @@ msgstr "守护进程将监听的 TCP 端口" msgid "The custom config file (if not specified the default will be used)." msgstr "自定义配置文件(如果未指定,将使用默认值)。" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "参数 --debug-file 必须与 --debug 一起使用。" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "给定的开发板/烧录器配置不支持调试。" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "给定的开发板/烧录器配置支持调试。" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2198,17 +2311,17 @@ msgstr "" "‘%[1]v’ 键不是列表中的条目,无法从中删除。\n" "是否可以使用 ‘%[2]s’?" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "库 %s 有多个安装。" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定义加密密钥的名称,用于在编译过程中对二进制文件进行加密。只在支持它的平台上使用。" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2218,13 +2331,13 @@ msgstr "自定义签名密钥的名称,用于在编译过程中对二进制文 msgid "The output format for the logs, can be: %s" msgstr "日志的输出格​​式,可以是:%s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "搜索自定义密钥以签署和加密二进制文件的文件夹的路径。只在支持它的平台上使用。" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "该平台不支持预编译库的 ‘%[1]s’。" @@ -2236,75 +2349,76 @@ msgid "" "update is available." msgstr "此命令将已安装的库升级到可用的最新版本。可以通过一个空格分隔多个库。如果未提供任何参数,该命令将升级所有已安装的库,其中有可用的更新。" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此命令显示可升级的已安装内核和库或其一的列表。如果不需要更新任何内容,则输出为空。" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." -msgstr "" +msgstr "显示时间戳。" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "%s 工具已经安装" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "%s 工具已经卸载" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "不支持 ‘%s’ 工具链" -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "工具链路径" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "工具链前缀" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "工具链类型" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "尝试运行 %s" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "打开详细模式。" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "类型" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "类型:%s" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "地址:" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "无法缓存构建的内核,请告知 %[1]s 维护者关注 %[2]s" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "无法获取文档文件夹:%v" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "无法获取本地应用程序数据文件夹:%v" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "无法获取用户主目录:%v" @@ -2312,17 +2426,17 @@ msgstr "无法获取用户主目录:%v" msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "无法解析地址" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "正在卸载 %s" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "卸载 %s,工具不再需要了" @@ -2336,11 +2450,11 @@ msgstr "如果不再使用,卸载一个或多个内核和相应的工具依赖 msgid "Uninstalls one or more libraries." msgstr "卸载一个或多个库。" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "未知" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "未知 FQBN" @@ -2368,7 +2482,7 @@ msgstr "更新库索引到最新版本。" msgid "Updates the libraries index." msgstr "更新库索引。" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "升级不接受带有版本范围" @@ -2388,40 +2502,40 @@ msgstr "升级已安装的库。" msgid "Upgrades one or all installed platforms to the latest version." msgstr "将一个或所有已安装的平台升级到最新版本。" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "上传 Arduino 项目。" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "上传 Arduino 项目。不会在上传之前编译项目。" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上传端口地址,例如:COM3 或 /dev/ttyACM2" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "在 %s 上找到上传端口" -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "上传端口协议,例如:串行" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "编译后上传二进制文件。" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "使用外部编译器将引导加载程序上传到板上。" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "上传引导加载程序。" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "使用 %s 协议上传到指定的开发板需要以下信息:" @@ -2442,48 +2556,49 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 获取有关命令的更多信息。" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "已使用的库" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "已使用的平台" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "使用:%[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s" -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "使用缓存库文件依赖项:%[1]s" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 代码,在列出的文件夹中:%[2]s" -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用 %[2]s 版本的 %[1]s 库,在列出的文件夹中:%[3]s%[4]s" -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "使用的 %[1]s 库,在列出的文件夹中:%[2]s%[3]s" -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "使用预编译代码:%[1]s" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "在 %[1]s 中使用预编译库" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "使用以前编译的文件:%[1]s" @@ -2491,61 +2606,61 @@ msgstr "使用以前编译的文件:%[1]s" msgid "VERSION" msgstr "版本" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "版本号" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "值" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "上传后验证上传的二进制文件。" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "版本" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "版本:%s" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "警告:无法配置平台:%s" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "警告无法配置工具:%s" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" -msgstr "" +msgstr "警告!无法运行 pre_uninstall 命令%s" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告:该项目是用一个或多个自定义库编译的。" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告:%[1]s 库声称在 %[2]s 体系结构上运行,可能与当前在 %[3]s 体系结构上运行的开发板不兼容。" -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "正在等待上传端口。。。" -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告:%[1]s 开发板未定义 %[2]s 首选项。自动设置为:%[3]s" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "网站:%s" @@ -2563,19 +2678,19 @@ msgstr "将当前配置写入数据目录中的配置文件。" msgid "Writing config file: %v" msgstr "正在写入配置文件:%v" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "在用配置文件编译时,你不能使用 %s 参数。" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "存档哈希与索引中的哈希不同" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "存档无效:在 zip 文件顶层中找到多个文件" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "存档无效:在压缩文件的顶层没有找到文件" @@ -2583,78 +2698,76 @@ msgstr "存档无效:在压缩文件的顶层没有找到文件" msgid "archivePath" msgstr "存档路径" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "缺少 arduino 预处理器程序" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "自动检测生成项目:%s" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "仅以文本格式提供" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "基本搜索 \"audio\"" + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "基础搜索只由官方维护的 \"esp32\" 和 \"display\" 字段" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "在 %s 中找不到二进制文件" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "未找到开发板 %s" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "开发板名" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "未设置内置库目录" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "调用 %[1]s: %[2]w" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "找不到 %s 的最新版本" -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "找不到 %s 工具的最新版本" -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "在 %s 中找不到主项目文件" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 为 %s 的 discovery" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "无法检索标准错误流:%s" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "无法检索标准输出流:%s" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "候选" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "无法使用上传工具:%s" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "检查本地存档完整性" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "清理构建路径" @@ -2662,99 +2775,103 @@ msgstr "清理构建路径" msgid "command" msgstr "命令" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "‘%[1]s’ 命令失败:%[2]s" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "命令失败:%s" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "通信不同步,应为 ‘%[1]s’,收到 ‘%[2]s’" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "计算哈希:%s" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "将库复制到目标目录:" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "找不到有效的构建项目" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "无法覆盖" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "无法删除旧库" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "无法更新项目文件" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "创建核心缓存文件夹:%s" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "在 %[1]s 中创建 installed.json:%[2]s" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "新建用于提取的临时目录:%s" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "数据部分超出开发板中的可用空间" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "‘%s’ 依赖不可用" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "目标已存在" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "%s 目录已经存在,无法安装" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "目标目录已经存在" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "目录不存在:%s" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "发现 %[1]s 进程未启动:%[2]w" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "未找到 %s discovery" -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "%s discovery 未安装" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "未找到 discovery 版本:%s" @@ -2770,19 +2887,23 @@ msgstr "下载最新版本的 Arduino SAMD 内核。" msgid "downloaded" msgstr "下载" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下载 %[1]s 工具:%[2]s" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "空开发板标识符" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "在开发板重置期间发生错误。" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "加载项目文件时错误:" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr " 开启 %s 时错误" @@ -2790,7 +2911,7 @@ msgstr " 开启 %s 时错误" msgid "error parsing value: %v" msgstr "错误解析值:%v" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "解析版本约束时错误" @@ -2802,15 +2923,15 @@ msgstr "处理来自服务器的响应时出错" msgid "error querying Arduino Cloud Api" msgstr "查询 Arduino Cloud Api 时出错" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "正在提取存档:%s" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "正在提取存档:%w" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "无法计算 “%s” 文件的哈希值" @@ -2818,15 +2939,15 @@ msgstr "无法计算 “%s” 文件的哈希值" msgid "failed to initialize http client" msgstr "未能初始化 http 客户端" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "提取的档存大小与索引中指定的大小不同" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "存档中的文件必须放在子目录中" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "寻找 %s 的绝对路径" @@ -2834,7 +2955,7 @@ msgstr "寻找 %s 的绝对路径" msgid "flags" msgstr "参数" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "接下来的符号链接 %s" @@ -2842,12 +2963,12 @@ msgstr "接下来的符号链接 %s" msgid "for a specific version." msgstr "针对特定版本。" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "最新版本。" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "针对特定版本。" @@ -2860,73 +2981,71 @@ msgstr "正在生成安装 id: %w" msgid "generating installation.secret: %w" msgstr "生成 installation.secret:%w" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "正在获取存档文件信息:%s" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "正在获取存档信息:%s" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "正在获取存档路径:%s" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "正在获取 %[1]s 开发板的构建属性:%[2]s" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "获取 %[1]s 平台的 discovery 依赖:%[2]s" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "获取 %[1]s 平台的监视器依赖项:%[2]s" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "正在获取 %[1]s 的父目录:%[2]s" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "正在获取 %[1]s 平台的工具依赖:%[2]s" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "未设置安装目录" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "正在安装 %[1]s 工具:%[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "安装 %[1]s 平台: %[2]s" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "“%s” 的输出格式不支持交互式终端" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "无效的 ‘%s’ 指令" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "无效的 “添加” 消息:找不到端口" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "无效的 “删除” 消息:找不到端口" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "无效的校验码格式:%s" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "无效的配置选项:%s" @@ -2938,15 +3057,15 @@ msgstr "无效的空内核架构 ’%s‘" msgid "invalid empty core argument" msgstr "无效的空内核参数" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "无效的空内核名称 ’%s‘" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "无效的空内核引用 ’%s‘" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "无效的空内核版本:’%s‘" @@ -2958,39 +3077,39 @@ msgstr "无效的空库名" msgid "invalid empty library version: %s" msgstr "无效的空库版本:%s" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "发现无效的空选项" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "无效的 git 地址" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 哈希:%[2]s" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "无效的 %s 条目" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "无效的库指令:" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "无效的库 layout:%s" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "无效的库 location:%s" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "无效库:没有找到头文件" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "无效的 ‘%s’ 选项 " @@ -3006,31 +3125,31 @@ msgstr "新建配置目录的路径无效:%[1]s 错误:%[2]w" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "写入库存文件的路径无效:%[1]s 错误:%[2]w" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "无效的平台存档大小:%s" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "无效的平台标识符" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "无效的平台索引网址:" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "无效的热插拔监视器引用:%s" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "%s 的端口配置值无效:%s" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "无效的端口配置:%s" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 方法: %[2]s" @@ -3039,258 +3158,272 @@ msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." -msgstr "" +msgstr "无效的工程命名 \"%[1]s\": 第一个字符必须是字母数字或\"_\",后面的字符也可以包含\"-\"和\".\"。最后一个字符不能是\".\"。" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "‘%[2]s’ 选项的 ‘%[1]s’ 值无效" -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "%s 版本目录无效" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "无效的版本:" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "在设置中找不到键" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "关键字" -#: arduino/libraries/librariesmanager/install.go:130 +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" +msgstr "Daniel Garcia编写的库文件" + +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "仅限由 Adafruit 维护,名称中含有 \"gfx\" 的库文件" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "至少依赖于 \"IRremote\" 的库" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "仅依赖于 \"IRremote\" 的库" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "名称中含有 \"buzzer\" 的库" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "名称与 \"pcf8523 \"完全匹配的库" + +#: internal/arduino/libraries/librariesmanager/install.go:124 msgid "library %s already installed" msgstr "%s 库已安装" -#: arduino/libraries/librariesmanager/install.go:319 +#: internal/arduino/libraries/librariesmanager/install.go:313 msgid "library not valid" msgstr "库无效" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" -msgstr "库路径不存在:%s" - -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "列出串口" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "正在加载 %[1]s: %[2]s" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "正在加载开发板:%s" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "正在从 %s 下载附加工具" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "正在加载 %[1]s json 索引文件:%[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "正在从 %[1]s 加载库:%[2]s" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "正在加载库属性:%s" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "正在加载平台 %s 发行版本" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "正在加载 platform.txt" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "安装所需 %s 平台" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "安装所需 %s 工具" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "在 %s 中加载工具发行版本" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "在 %s 中查找 boards.txt" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "寻找构建产物" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "项目中缺少主文件:%s" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "缺少 ‘%s’ 指令" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "缺少校验码:%s" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" -msgstr "" +msgstr "缺少软件包索引%s,无法保证未来的更新" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少 %[1]s 平台:%[2]s 被开发板 %[3]s 引用" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" -msgstr "" +msgstr "缺少签名" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "未找到公开监视器:%s" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "正在将提取的存档移动到目标目录:%s" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多个构建文件:‘%[1]s’ 和 ‘%[2]s’" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "找到多个主项目文件 (%[1]v, %[2]v)" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "没有找到适用于当前操作系统的 %[1]s 工具的兼容版本,请尝试联系 %[2]s" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "没有指定可执行文件" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "没有指定实例" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "未指定项目或构建目录/文件" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "没有这样的文件或目录" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存档中没有唯一的根目录,找到了 ‘%[1]s’ 和 ‘%[2]s’" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "未提供上传端口" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "在 %[1]s 中找不到有效的项目:缺少 %[2]s" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "对于当前的操作系统没有可用的版本,请尝试联系 %s" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "未在终端中运行" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "正在打开存档文件:%s" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "正在打开 boards.txt" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "以 1200bps 的速率打开端口" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "打开签名文件:%s" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "打开目标文件:%s" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "未找到 %s 软件包 " -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "未找到 ‘%s’ 软件包 " -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "正在解析 IDE 附加索引" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "解析 library_index.json: %s" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "路径不是平台目录:%s" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "在 %[2]s 软件包中找不到 %[1]s 平台" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" -msgstr "%s 平台没有可用的版本" - -#: arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/packagemanager/package_manager.go:335 msgid "platform %s is not installed" msgstr "%s 平台未安装" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" +msgstr "该平台不适用于您的操作系统" + +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "平台未安装" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "请改用 --build-property。" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "已添加可插入 discovery:%s" @@ -3298,115 +3431,108 @@ msgstr "已添加可插入 discovery:%s" msgid "port" msgstr "端口" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "未找到端口:%[1]s %[2]s" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "不支持协议版本:请求了 %[1]d,获得了 %[2]d" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "不支持协议版本:请求 1,得到 %d" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "正在读取 %[1]s: %[2]s" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "正在读取 %[1]s 目录 : %[2]s" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "阅读目录 %[1]s 内容:%[2]w" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "正在读取 %s 目录" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "正在读取 %s 目录的内容:%w" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "正在读取 %[1]s 文件: %[2]s" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" -msgstr "正在读取文件:%v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" +msgstr "读取文件" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "正在读取 lib 头文件:%s" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "正在读取 lib src 目录:%s" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "正在读取库头文件:%w" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "正在读取 library_index.json: %s" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "正在读取软件包根目录:%s" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "未找到 ‘%s’ 方法" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到 %[2]s 工具的 %[1]s 发行版本" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "发行不能为无" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "正在删除损坏的存档文件:%s" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "删除库目录:%s" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "正在删除平台文件:%s" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到 %[2]s 平台所需的 %[1]s 版本" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "正在检索Arduino密钥:%s" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "扫描示例:%s" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" -msgstr "在 %[1]s 中搜索 builtin_tools_versions.txt:%[2]s" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" +msgstr "扫描项目示例" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "正在搜索软件包根目录:%s" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "将 DTR 设置为 OFF" @@ -3416,14 +3542,14 @@ msgstr "项目名称不能为空" #: commands/sketch/new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" -msgstr "" +msgstr "工程命名不能是保留名称 \"%[1]s\"" #: commands/sketch/new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "项目名称过长(%[1]d 个字符)。 最大允许长度为 %[2]d" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "项目路径无效" @@ -3431,95 +3557,88 @@ msgstr "项目路径无效" msgid "sketchPath" msgstr "项目路径" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "来源不是目录" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "开始发现 %s" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "测试存档校验码:%s" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "测试存档大小:%s" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "测试存档是否被缓存:%s" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "测试本地存档完整性:%s" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "文本部分超出开发板的可用空间" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "编译数据库可能不完整或不准确" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "该平台没有发行版本" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "服务器响应状态 %s" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "等待消息超时" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "等待来自 %s 的消息超时" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "%s 工具不是由软件包管理器管理的" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "未找到 %s 工具" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "工具未安装" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "找不到发行工具:%s" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "未找到工具的 %s 版本" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要 %[1]s 库的两个不同版本:%[2]s 和 %[3]s" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "无法计算项目的相对路径" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "无法新建文件夹来保存项目" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "无法新建包含该项目的文件夹" @@ -3527,31 +3646,31 @@ msgstr "无法新建包含该项目的文件夹" msgid "unable to marshal config to YAML: %v" msgstr "无法将 config 编码成 YAML:%v" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "无法读取目标项目的内容" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "无法读取源项目的内容" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "无法写入目标文件" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "未知 %s 软件包 " -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "未知 %s 平台:%s" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "未知的项目文件扩展名 ‘%s’" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "不支持的哈希算法:%s" @@ -3563,27 +3682,27 @@ msgstr "将 arduino:samd 升级到最新版本" msgid "upgrade everything to the latest version" msgstr "将所有内容升级到最新版本" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "上传错误:%s" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "未设置用户目录" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "'%s' 输出格式不支持用户输入" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "在非互动模式下不支持用户输入" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "%s 版本不适用于此操作系统" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "未找到 %s 版本" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 382039fdaaf..8c924eac924 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -13,87 +13,87 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 交付:%[4]s 日期:%[5]s" -#: arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:455 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "已不支援%[1]s 檔案夾!詳細資訊,請見 %[2]s" -#: arduino/builder/build_options_manager.go:142 +#: internal/arduino/builder/build_options_manager.go:139 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s 無效,重新建構全部" -#: internal/cli/lib/check_deps.go:111 +#: internal/cli/lib/check_deps.go:123 msgid "%[1]s is required but %[2]s is currently installed." msgstr "需要 %[1]s ,但已安裝 %[2]s" -#: arduino/builder/builder.go:466 +#: internal/arduino/builder/builder.go:494 msgid "%[1]s pattern is missing" msgstr "%[1]s 樣態遺失" -#: arduino/discovery/discovery.go:74 +#: internal/arduino/discovery/discovery.go:74 msgid "%[1]s, message: %[2]s" msgstr "%[1]s,訊息:%[2]s" -#: arduino/discovery/discovery.go:83 +#: internal/arduino/discovery/discovery.go:83 msgid "%[1]s, port: %[2]s" msgstr "%[1]s,連接埠:%[2]s" -#: arduino/discovery/discovery.go:80 +#: internal/arduino/discovery/discovery.go:80 msgid "%[1]s, ports: %[2]s" msgstr "%[1]s,連接埠:%[2]s" -#: arduino/discovery/discovery.go:77 +#: internal/arduino/discovery/discovery.go:77 msgid "%[1]s, protocol version: %[2]d" msgstr "%[1]s,協議版本:%[2]d" -#: arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s 已經下載" -#: commands/upload/upload.go:690 +#: commands/upload/upload.go:688 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" -#: arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:367 msgid "%s installed" msgstr "%s 已安裝" -#: internal/cli/lib/check_deps.go:108 +#: internal/cli/lib/check_deps.go:120 msgid "%s is already installed." msgstr "%s 已安裝" -#: arduino/cores/packagemanager/loader.go:65 -#: arduino/cores/packagemanager/loader.go:652 +#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:605 msgid "%s is not a directory" msgstr "%s 不是目錄" -#: arduino/cores/packagemanager/install_uninstall.go:288 +#: internal/arduino/cores/packagemanager/install_uninstall.go:287 msgid "%s is not managed by package manager" msgstr "%s 不是由套件管理員管理的" -#: internal/cli/lib/check_deps.go:105 +#: internal/cli/lib/check_deps.go:117 msgid "%s must be installed." msgstr "必須安裝 %s " -#: arduino/builder/internal/preprocessor/ctags.go:190 -#: arduino/builder/internal/preprocessor/gcc.go:58 +#: internal/arduino/builder/internal/preprocessor/ctags.go:189 +#: internal/arduino/builder/internal/preprocessor/gcc.go:57 msgid "%s pattern is missing" msgstr "%s 樣態遺失" -#: arduino/errors.go:819 +#: commands/cmderrors/cmderrors.go:820 msgid "'%s' has an invalid signature" msgstr "'%s'的簽名無效" -#: arduino/cores/packagemanager/package_manager.go:400 +#: internal/arduino/cores/packagemanager/package_manager.go:437 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "'build.core' 和 'build.variant' 參照到不同的平台: %[1]s 和 %[2]s" -#: internal/cli/board/listall.go:89 internal/cli/board/search.go:86 +#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 msgid "(hidden)" msgstr "(隱藏)" -#: arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:301 msgid "(legacy)" msgstr "(舊版)" @@ -117,11 +117,11 @@ msgstr "--git-url 或 --zip-path 不能和 --install-in-builtin-dir 一起使用 msgid ".ino file already exists" msgstr ".ino 檔已存在" -#: internal/cli/updater/updater.go:71 +#: internal/cli/updater/updater.go:70 msgid "A new release of Arduino CLI is available:" msgstr "有新版的 Arduino CLI" -#: arduino/errors.go:300 +#: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" msgstr "上傳需要編寫器/燒錄器" @@ -138,7 +138,7 @@ msgstr "ARDUINO 命令列手冊" msgid "Additional help topics:" msgstr "更多協助主題:" -#: internal/cli/config/add.go:73 internal/cli/config/add.go:74 +#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 msgid "Adds one or more values to a setting." msgstr "加入一或多個值到設定中" @@ -146,31 +146,35 @@ msgstr "加入一或多個值到設定中" msgid "Aliases:" msgstr "別名:" -#: internal/cli/core/upgrade.go:72 +#: internal/cli/core/list.go:111 +msgid "All platforms are up to date." +msgstr "全平台已是最新版" + +#: internal/cli/core/upgrade.go:86 msgid "All the cores are already at the latest version" msgstr "所有核心都已是最新版" -#: commands/lib/install.go:86 +#: commands/lib/install.go:108 msgid "Already installed %s" msgstr "已安裝 %s" -#: arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:88 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]s 的替代品: %[2]s" -#: arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/preprocessor/ctags.go:68 msgid "An error occurred adding prototypes" msgstr "新增原型時出錯" -#: arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:209 msgid "An error occurred detecting libraries" msgstr "偵測程式庫時出錯" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:61 msgid "Append debug logging to the specified file" msgstr "添加除錯日誌到指定檔案" -#: internal/cli/lib/search.go:164 +#: internal/cli/lib/search.go:211 msgid "Architecture: %s" msgstr "架構:%s" @@ -178,7 +182,7 @@ msgstr "架構:%s" msgid "Archive already exists" msgstr "壓縮檔已存在" -#: arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:141 msgid "Archiving built core (caching) in: %[1]s" msgstr "壓縮在: %[1]s 裏已編譯核心 (快取) " @@ -214,7 +218,7 @@ msgstr "Arduino 設定指令" msgid "Arduino core operations." msgstr "Arduino 核心作業" -#: internal/cli/lib/check_deps.go:56 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 msgid "Arguments error: %v" msgstr "參數錯誤:%v" @@ -222,23 +226,23 @@ msgstr "參數錯誤:%v" msgid "Attaches a sketch to a board." msgstr "將 sketch 放入開發板" -#: internal/cli/lib/search.go:155 +#: internal/cli/lib/search.go:202 msgid "Author: %s" msgstr "作者: %s" -#: arduino/libraries/librariesmanager/install.go:78 +#: internal/arduino/libraries/librariesmanager/install.go:77 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "在這情況下無法自動化程式庫安裝, 請手動移除重覆的再試" -#: commands/lib/uninstall.go:57 +#: commands/lib/uninstall.go:63 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "在這情況下無法自動化程式庫卸除, 請手動移除" -#: internal/cli/lib/list.go:136 +#: internal/cli/lib/list.go:142 msgid "Available" msgstr "可用的" @@ -246,49 +250,49 @@ msgstr "可用的" msgid "Available Commands:" msgstr "可用命令:" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:76 msgid "Binary file to upload." msgstr "要上傳的二進位檔" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "Board Name" msgstr "開發板名" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "開發板名:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "開發板版本:" -#: arduino/builder/sketch.go:245 +#: internal/arduino/builder/sketch.go:244 msgid "Bootloader file specified but missing: %[1]s" msgstr "找不到指定的 Bootloader 檔: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:100 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "'core.a'的編譯檔已存到這路徑,方便快取和重複使用" -#: arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:64 msgid "Can't create data directory %s" msgstr "無法建立 %s 資料目錄" -#: arduino/errors.go:512 +#: commands/cmderrors/cmderrors.go:513 msgid "Can't create sketch" msgstr "無法建立 sketch" -#: commands/lib/download.go:63 commands/lib/download.go:66 +#: commands/lib/download.go:77 commands/lib/download.go:80 msgid "Can't download library" msgstr "無法下載程式庫" -#: arduino/cores/packagemanager/install_uninstall.go:134 -#: commands/core/uninstall.go:64 +#: commands/core/uninstall.go:65 +#: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的相依" -#: arduino/errors.go:538 +#: commands/cmderrors/cmderrors.go:539 msgid "Can't open sketch" msgstr "無法打開 sketch" @@ -296,7 +300,7 @@ msgstr "無法打開 sketch" msgid "Can't set multiple values in key %v" msgstr "無法在 %v 鍵設多個值" -#: arduino/errors.go:525 +#: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "無法更新 sketch" @@ -304,11 +308,11 @@ msgstr "無法更新 sketch" msgid "Can't use the following flags together: %s" msgstr "不能同時使用下列參數: %s" -#: internal/cli/config/add.go:103 internal/cli/config/remove.go:69 +#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 msgid "Can't write config file: %v" msgstr "無法寫入設定檔: %v" -#: internal/cli/daemon/daemon.go:91 +#: internal/cli/daemon/daemon.go:90 msgid "Can't write debug log: %s" msgstr "無法寫入除錯日誌: %s" @@ -328,11 +332,11 @@ msgstr "無法建立設定檔的目錄: %v" msgid "Cannot create config file: %v" msgstr "無法建立設定檔: %v" -#: arduino/errors.go:782 +#: commands/cmderrors/cmderrors.go:783 msgid "Cannot create temp dir" msgstr "無法建立暫存目錄" -#: arduino/errors.go:800 +#: commands/cmderrors/cmderrors.go:801 msgid "Cannot create temp file" msgstr "無法建立暫存檔" @@ -340,7 +344,7 @@ msgstr "無法建立暫存檔" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "無法刪除鍵值 %[1]s: %[2]v" -#: commands/debug/debug.go:72 +#: commands/debug/debug.go:71 msgid "Cannot execute debug tool" msgstr "無法執行除錯工具" @@ -348,19 +352,19 @@ msgstr "無法執行除錯工具" msgid "Cannot find absolute path: %v" msgstr "找不到絕對路徑: %v" -#: arduino/cores/packagemanager/install_uninstall.go:141 +#: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "無法安裝平台" -#: arduino/cores/packagemanager/install_uninstall.go:346 +#: internal/arduino/cores/packagemanager/install_uninstall.go:345 msgid "Cannot install tool %s" msgstr "無法安裝工具 %s" -#: commands/upload/upload.go:468 +#: commands/upload/upload.go:466 msgid "Cannot perform port reset: %s" msgstr "無法執行連接埠重設: %s" -#: arduino/cores/packagemanager/install_uninstall.go:159 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "無法升級平台" @@ -368,19 +372,23 @@ msgstr "無法升級平台" msgid "Cannot write the file %[1]s: %[2]v" msgstr "無法寫入檔案 %[1]s: %[2]v" -#: internal/cli/lib/search.go:163 +#: internal/cli/lib/search.go:210 msgid "Category: %s" msgstr "類別:%s" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/check_deps.go:38 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "檢查指定程式庫的相依狀態" -#: arduino/resources/checksums.go:167 +#: internal/cli/debug/debug_check.go:41 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "檢查指定的板子/燒錄器是否支援除錯。" + +#: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "校驗碼和 package.json 檔內的不同" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "校驗碼:" @@ -392,33 +400,33 @@ msgstr "清除快取" msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "給開發板管理員用的網址清單,以逗號分隔" -#: internal/cli/board/list.go:54 +#: internal/cli/board/list.go:55 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "命令保持執行, 在有更動時列出連接的開發板" -#: commands/debug/debug_info.go:128 commands/upload/upload.go:376 +#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已編譯的 sketch" -#: internal/cli/compile/compile.go:83 internal/cli/compile/compile.go:84 +#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 msgid "Compiles Arduino sketches." msgstr "編譯 Arduino sketch" -#: arduino/builder/builder.go:400 +#: internal/arduino/builder/builder.go:428 msgid "Compiling core..." msgstr "編譯核心..." -#: arduino/builder/builder.go:379 +#: internal/arduino/builder/builder.go:407 msgid "Compiling libraries..." msgstr "編譯程式庫..." -#: arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:132 msgid "Compiling library \"%[1]s\"" msgstr "編譯程式庫 “%[1]s”" -#: arduino/builder/builder.go:363 +#: internal/arduino/builder/builder.go:391 msgid "Compiling sketch..." msgstr "編譯 sketch ..." @@ -427,57 +435,57 @@ msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "設定檔已存在,使用 --overwrite 覆蓋它" -#: internal/cli/config/init.go:112 +#: internal/cli/config/init.go:125 msgid "Config file written to: %s" msgstr "設定檔寫入:%s" -#: internal/cli/debug/debug.go:197 +#: internal/cli/debug/debug.go:217 msgid "Configuration options for %s" msgstr "%s 的設定選項" -#: internal/cli/monitor/monitor.go:70 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "通訊埠設定, 格式為 <ID>=<value>[,<ID>=<value>]..." -#: arduino/cores/packagemanager/install_uninstall.go:175 +#: internal/arduino/cores/packagemanager/install_uninstall.go:174 msgid "Configuring platform." msgstr "設定平台" -#: arduino/cores/packagemanager/install_uninstall.go:356 +#: internal/arduino/cores/packagemanager/install_uninstall.go:355 msgid "Configuring tool." msgstr "設定工具" -#: internal/cli/board/list.go:188 +#: internal/cli/board/list.go:192 msgid "Connected" msgstr "已連接" -#: internal/cli/monitor/monitor.go:158 +#: internal/cli/monitor/monitor.go:218 msgid "Connected to %s! Press CTRL-C to exit." msgstr "已連到 %s!按 CTRL-C 退出" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Core" msgstr "核心" -#: arduino/httpclient/httpclient.go:112 +#: internal/arduino/httpclient/httpclient.go:112 msgid "Could not connect via HTTP" msgstr "無法通過 HTTP 連接" -#: commands/instances.go:503 +#: commands/instances.go:432 msgid "Could not create index directory" msgstr "無法建立索引目錄" -#: arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" msgstr "無法深入快取核心編譯:%[1]s" -#: arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:153 msgid "Couldn't determine program size" msgstr "無法確定程式大小" -#: internal/cli/arguments/sketch.go:34 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 msgid "Couldn't get current working directory: %v" msgstr "無法取得工作目錄:%v" @@ -485,7 +493,7 @@ msgstr "無法取得工作目錄:%v" msgid "Create a new Sketch" msgstr "建立新 sketch" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:97 msgid "Create and print a profile configuration from the build." msgstr "從建構中建立並印出設定檔內容" @@ -499,47 +507,43 @@ msgid "" "directory with the current configuration settings." msgstr "用目前的設定值建立或更新資料或自定義目錄內的設定檔" -#: internal/cli/compile/compile.go:308 +#: internal/cli/compile/compile.go:316 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前建構方案只支援 Arduino 程式庫管理員所提供的程式庫" -#: internal/cli/debug/debug.go:211 -msgid "Custom configuration for cortex-debug IDE plugin:" -msgstr "cortex-debug IDE plugin 客製化設定:" +#: internal/cli/debug/debug.go:233 +msgid "Custom configuration for %s:" +msgstr "%s的客製化設定:" -#: internal/cli/core/list.go:93 internal/cli/core/search.go:104 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/feedback/result/rpc.go:148 +#: internal/cli/outdated/outdated.go:116 msgid "DEPRECATED" msgstr "已棄用" -#: internal/cli/daemon/daemon.go:174 +#: internal/cli/daemon/daemon.go:170 msgid "Daemon is now listening on %s:%s" msgstr "背景程式正在監聽 %s:%s" -#: internal/cli/debug/debug.go:51 +#: internal/cli/debug/debug.go:54 msgid "Debug Arduino sketches." msgstr "除錯 Arduino sketch" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:55 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "除錯 Arduino sketch (此命令會開啟互動式 gdb 對話)" -#: internal/cli/debug/debug.go:61 +#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "除錯解譯器,例如:%s" -#: commands/debug/debug_info.go:151 +#: commands/debug/debug_info.go:206 msgid "Debugging not supported for board %s" msgstr "不支援 %s 開發板除錯" -#: internal/cli/board/details.go:142 -msgid "Debugging supported:" -msgstr "支援除錯:" - -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Default" msgstr "預設" @@ -565,28 +569,28 @@ msgstr "刪除 `directories.downloads` 目錄裏面的內容,內有在安裝程 msgid "Deletes a settings key and all its sub keys." msgstr "刪除某設定鍵和所有子鍵" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:218 msgid "Dependencies: %s" msgstr "相依: %s" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:88 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 msgid "Description" msgstr "說明" -#: arduino/builder/builder.go:289 +#: internal/arduino/builder/builder.go:320 msgid "Detecting libraries used..." msgstr "檢測有使用的程式庫..." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "檢測並顯示連接到電腦的開發板清單" -#: internal/cli/debug/debug.go:62 +#: internal/cli/debug/debug.go:68 msgid "Directory containing binaries for debug." msgstr "目錄內有除錯用二進位檔" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Directory containing binaries to upload." msgstr "目錄內有上傳用二進位檔" @@ -600,11 +604,11 @@ msgstr "目錄用來保存生成檔。預設為 ./docs,本目錄必須存在" msgid "Disable completion description for shells that support it" msgstr "關閉 shell 的完成描述功能" -#: internal/cli/board/list.go:189 +#: internal/cli/board/list.go:193 msgid "Disconnected" msgstr "斷開連接" -#: internal/cli/daemon/daemon.go:63 +#: internal/cli/daemon/daemon.go:62 msgid "Display only the provided gRPC calls" msgstr "只顯示提供的 gRPC 呼叫" @@ -620,45 +624,49 @@ msgstr "不要覆蓋已安裝的程式庫" msgid "Do not overwrite already installed platforms." msgstr "不要覆蓋已安裝的平台" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/upload/upload.go:79 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/upload/upload.go:80 msgid "Do not perform the actual upload, just log out actions" msgstr "不要真的上傳,取消動作" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:59 msgid "Do not terminate daemon process if the parent process dies" msgstr "就算父程序已 GG,也不要中止背景程式" -#: commands/lib/download.go:60 +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "如果已安裝好切勿試著再更新程式庫相依" + +#: commands/lib/download.go:74 msgid "Downloading %s" msgstr "下載 %s" -#: arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:136 msgid "Downloading index signature: %s" msgstr "下載索引簽名: %s" -#: arduino/resources/index.go:81 commands/instances.go:543 -#: commands/instances.go:552 +#: commands/instances.go:461 commands/instances.go:470 +#: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "下載索引: %s" -#: commands/instances.go:439 +#: commands/instances.go:359 msgid "Downloading library %s" msgstr "下載程式庫 %s" -#: commands/instances.go:136 +#: commands/instances.go:51 msgid "Downloading missing tool %s" msgstr "下載缺少的工具 %s" -#: arduino/cores/packagemanager/install_uninstall.go:94 +#: internal/arduino/cores/packagemanager/install_uninstall.go:93 msgid "Downloading packages" msgstr "下載安裝包" -#: arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:98 msgid "Downloading platform %s" msgstr "下載平台 %s" -#: arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:178 msgid "Downloading tool %s" msgstr "下載工具 %s" @@ -670,7 +678,7 @@ msgstr "下載一或多個核心及工具相依" msgid "Downloads one or more libraries without installing them." msgstr "下載一或多個程式庫, 但不安裝" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:60 msgid "Enable debug logging of gRPC calls" msgstr "啟用 gRPC 呼叫的除錯記錄" @@ -686,11 +694,11 @@ msgstr "輸入托管程式庫的 git 位址" msgid "Error adding file to sketch archive" msgstr "將檔案加入 sketch 時出錯" -#: arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:147 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中儲存編譯核心(快取)時出錯:%[2]s" -#: internal/cli/sketch/archive.go:81 +#: internal/cli/sketch/archive.go:83 msgid "Error archiving: %v" msgstr "錯誤歸檔:%v" @@ -702,11 +710,11 @@ msgstr "計算相對檔案路徑時出錯" msgid "Error cleaning caches: %v" msgstr "清理快取時出錯: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:218 msgid "Error converting path to absolute: %v" msgstr "將路徑轉換成絕對路徑時出錯: %v" -#: commands/compile/compile.go:335 +#: commands/compile/compile.go:339 msgid "Error copying output file %s" msgstr "複製輸出檔 %s 時出錯" @@ -714,7 +722,7 @@ msgstr "複製輸出檔 %s 時出錯" msgid "Error creating instance: %v" msgstr "建立實例時出錯: %v" -#: commands/compile/compile.go:319 +#: commands/compile/compile.go:323 msgid "Error creating output dir" msgstr "建立輸出目錄時出錯" @@ -726,7 +734,7 @@ msgstr "建立 sketch 檔時出錯" msgid "Error creating sketch: %v" msgstr "建立 sketch 時出錯: %v" -#: internal/cli/board/list.go:79 internal/cli/board/list.go:90 +#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 msgid "Error detecting boards: %v" msgstr "偵測開發板時出錯: %v" @@ -734,41 +742,40 @@ msgstr "偵測開發板時出錯: %v" msgid "Error downloading %[1]s: %[2]v" msgstr "下載 %[1]s 出錯: %[2]v" -#: arduino/cores/packagemanager/profiles.go:106 -#: arduino/cores/packagemanager/profiles.go:107 -#: arduino/cores/packagemanager/profiles.go:111 -#: arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:106 +#: internal/arduino/cores/packagemanager/profiles.go:107 +#: internal/arduino/cores/packagemanager/profiles.go:111 +#: internal/arduino/cores/packagemanager/profiles.go:112 msgid "Error downloading %s" msgstr "下載 %s 出錯" -#: arduino/resources/index.go:82 commands/instances.go:603 +#: commands/instances.go:521 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "下載索引'%s'時出錯" -#: arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:137 msgid "Error downloading index signature '%s'" msgstr "下載索引簽名 '%s' 出錯" -#: commands/instances.go:451 +#: commands/instances.go:368 msgid "Error downloading library %s" msgstr "下載程式庫 %s 出錯" -#: arduino/cores/packagemanager/profiles.go:129 -#: arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:129 +#: internal/arduino/cores/packagemanager/profiles.go:130 msgid "Error downloading platform %s" msgstr "下載平台 %s 出錯" -#: arduino/cores/packagemanager/download.go:127 -#: arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:180 msgid "Error downloading tool %s" msgstr "下載工具 %s 出錯" -#: internal/cli/debug/debug.go:112 internal/cli/debug/debug.go:144 -#: internal/cli/debug/debug.go:155 +#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 msgid "Error during Debug: %v" msgstr "除錯時出錯: %v" -#: internal/cli/arguments/port.go:144 +#: internal/cli/arguments/port.go:138 msgid "Error during FQBN detection: %v" msgstr "FQBN 偵測時出錯: %v" @@ -776,10 +783,10 @@ msgstr "FQBN 偵測時出錯: %v" msgid "Error during JSON encoding of the output: %v" msgstr "輸出 JSON 編碼過程出錯:%v" -#: internal/cli/burnbootloader/burnbootloader.go:72 -#: internal/cli/burnbootloader/burnbootloader.go:85 -#: internal/cli/compile/compile.go:257 internal/cli/compile/compile.go:283 -#: internal/cli/upload/upload.go:100 internal/cli/upload/upload.go:127 +#: internal/cli/burnbootloader/burnbootloader.go:74 +#: internal/cli/burnbootloader/burnbootloader.go:94 +#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 +#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" @@ -787,7 +794,7 @@ msgstr "上傳時出錯: %v" msgid "Error during YAML encoding of the output: %v" msgstr "輸出 YAML 編碼過程出錯: %v" -#: internal/cli/compile/compile.go:354 +#: internal/cli/compile/compile.go:365 msgid "Error during build: %v" msgstr "建構時出錯: %v" @@ -799,19 +806,20 @@ msgstr "安裝時出錯: %v" msgid "Error during uninstall: %v" msgstr "卸載時出錯: %v" -#: internal/cli/core/upgrade.go:120 +#: internal/cli/core/upgrade.go:134 msgid "Error during upgrade: %v" msgstr "升級時出錯: %v" -#: arduino/resources/index.go:104 arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:104 +#: internal/arduino/resources/index.go:123 msgid "Error extracting %s" msgstr "解開 %s 時出錯" -#: commands/upload/upload.go:373 +#: commands/upload/upload.go:371 msgid "Error finding build artifacts" msgstr "尋找建構成品時出錯" -#: internal/cli/debug/debug.go:96 +#: internal/cli/debug/debug.go:109 msgid "Error getting Debug info: %v" msgstr "取得除錯資訊時出錯: %v" @@ -819,19 +827,25 @@ msgstr "取得除錯資訊時出錯: %v" msgid "Error getting absolute path of sketch archive" msgstr "取得 sketch 檔絕對路徑時出錯" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "取得開發板細節時出錯: %v" -#: arduino/builder/internal/compilation/database.go:81 +#: internal/arduino/builder/internal/compilation/database.go:80 msgid "Error getting current directory for compilation database: %s" msgstr "取得編譯資料庫所在目錄時出錯: %s" -#: commands/compile/compile.go:257 commands/lib/list.go:108 +#: internal/cli/monitor/monitor.go:110 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "從 `sketch.yaml` 取得預設連接埠出錯. 請檢查是否在正確的 sketch 目錄下, 或者提供 --port 參數: %s" + +#: commands/compile/compile.go:261 commands/lib/list.go:114 msgid "Error getting information for library %s" msgstr "取得程式庫 %s 資訊時出錯" -#: internal/cli/lib/examples.go:72 +#: internal/cli/lib/examples.go:73 msgid "Error getting libraries info: %v" msgstr "取得程式庫資訊時出錯: %v" @@ -839,11 +853,11 @@ msgstr "取得程式庫資訊時出錯: %v" msgid "Error getting port metadata: %v" msgstr "取得連接埠資訊出錯: %v" -#: internal/cli/monitor/monitor.go:98 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "取得連接埠設定細節出錯: %s" -#: internal/cli/upload/upload.go:169 +#: internal/cli/upload/upload.go:167 msgid "Error getting user input" msgstr "取得用戶輸入時出錯" @@ -863,63 +877,63 @@ msgstr "安裝 Git 程式庫出錯: %v" msgid "Error installing Zip Library: %v" msgstr "安裝 Zip 程式庫出錯: %v" -#: commands/instances.go:461 +#: commands/instances.go:378 msgid "Error installing library %s" msgstr "安裝程式庫 %s 出錯" -#: arduino/cores/packagemanager/profiles.go:137 -#: arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:137 +#: internal/arduino/cores/packagemanager/profiles.go:138 msgid "Error installing platform %s" msgstr "安裝 %s 平台出錯" -#: arduino/cores/packagemanager/profiles.go:181 -#: arduino/cores/packagemanager/profiles.go:188 -#: arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:181 +#: internal/arduino/cores/packagemanager/profiles.go:188 +#: internal/arduino/cores/packagemanager/profiles.go:189 msgid "Error installing tool %s" msgstr "安裝 %s 工具出錯" -#: internal/cli/board/listall.go:63 +#: internal/cli/board/listall.go:64 msgid "Error listing boards: %v" msgstr "列出開發板出錯: %v" -#: internal/cli/lib/list.go:89 +#: internal/cli/lib/list.go:95 msgid "Error listing libraries: %v" msgstr "列出程式庫出錯: %v" -#: internal/cli/core/list.go:69 +#: internal/cli/core/list.go:68 msgid "Error listing platforms: %v" msgstr "列出平台出錯: %v" -#: arduino/errors.go:425 +#: commands/cmderrors/cmderrors.go:426 msgid "Error loading hardware platform" msgstr "載入硬體平台時出錯" -#: arduino/cores/packagemanager/profiles.go:115 -#: arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:115 +#: internal/arduino/cores/packagemanager/profiles.go:116 msgid "Error loading index %s" msgstr "載入索引 %s 出錯" -#: arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:98 msgid "Error opening %s" msgstr "開啟 %s 時出錯" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:84 msgid "Error opening debug logging file: %s" msgstr "打開除錯日誌檔出錯: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:191 msgid "Error opening source code overrides data file: %v" msgstr "打開原始碼覆寫資料檔時出錯: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:204 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 參數出錯: %v" -#: commands/compile/compile.go:328 +#: commands/compile/compile.go:332 msgid "Error reading build directory" msgstr "讀取建構目錄時出錯" -#: configuration/configuration.go:65 +#: internal/cli/configuration/configuration.go:65 msgid "Error reading config file: %v" msgstr "讀取設定檔時出錯: %v" @@ -927,43 +941,49 @@ msgstr "讀取設定檔時出錯: %v" msgid "Error reading sketch files" msgstr "讀取 sketch 檔出錯" -#: internal/cli/lib/check_deps.go:65 +#: internal/cli/lib/check_deps.go:71 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "解析 %[1]s 的相依時出錯: %[2]s" -#: internal/cli/core/upgrade.go:68 +#: internal/cli/core/upgrade.go:67 msgid "Error retrieving core list: %v" msgstr "取得核心列表出錯: %v" -#: arduino/cores/packagemanager/install_uninstall.go:156 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error rolling-back changes: %s" msgstr "回復更改時出錯: %s" -#: arduino/resources/index.go:164 arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:164 +#: internal/arduino/resources/index.go:176 msgid "Error saving downloaded index" msgstr "儲存下載的索引出錯" -#: arduino/resources/index.go:171 arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:171 +#: internal/arduino/resources/index.go:180 msgid "Error saving downloaded index signature" msgstr "儲存下載的索引簽名時出錯" -#: internal/cli/board/search.go:60 +#: internal/cli/board/search.go:61 msgid "Error searching boards: %v" msgstr "搜尋開發板時出錯: %v" -#: internal/cli/lib/search.go:79 +#: internal/cli/lib/search.go:129 msgid "Error searching for Libraries: %v" msgstr "搜尋程式庫時出錯: %v" -#: internal/cli/core/search.go:80 +#: internal/cli/core/search.go:79 msgid "Error searching for platforms: %v" msgstr "搜尋平台時出錯: %v" -#: arduino/builder/internal/compilation/database.go:66 +#: internal/arduino/builder/internal/compilation/database.go:65 msgid "Error serializing compilation database: %s" msgstr "序列化編譯資料庫時出錯: %s" -#: internal/cli/board/list.go:82 +#: internal/cli/monitor/monitor.go:234 +msgid "Error setting raw mode: %s" +msgstr "設定原始模式出錯: %s" + +#: internal/cli/board/list.go:83 msgid "Error starting discovery: %v" msgstr "啟動探索時出錯:%v" @@ -971,7 +991,7 @@ msgstr "啟動探索時出錯:%v" msgid "Error uninstalling %[1]s: %[2]v" msgstr "卸載 %[1]s 時出錯: %[2]v" -#: internal/cli/lib/search.go:68 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 msgid "Error updating library index: %v" msgstr "更新程式庫索引時出錯: %v" @@ -979,26 +999,27 @@ msgstr "更新程式庫索引時出錯: %v" msgid "Error upgrading libraries" msgstr "更新程式庫時出錯" -#: arduino/cores/packagemanager/install_uninstall.go:151 +#: internal/arduino/cores/packagemanager/install_uninstall.go:150 msgid "Error upgrading platform: %s" msgstr "更新平台時出錯: %s" -#: arduino/resources/index.go:146 arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:146 +#: internal/arduino/resources/index.go:152 msgid "Error verifying signature" msgstr "驗證簽名時出錯" -#: arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:365 msgid "Error while detecting libraries included by %[1]s" msgstr "偵測 %[1]s 所包含的程式庫時出錯" -#: arduino/builder/sizer.go:78 arduino/builder/sizer.go:87 -#: arduino/builder/sizer.go:90 arduino/builder/sizer.go:109 -#: arduino/builder/sizer.go:214 arduino/builder/sizer.go:224 -#: arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 +#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 +#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 +#: internal/arduino/builder/sizer.go:228 msgid "Error while determining sketch size: %s" msgstr "確定 sketch 大小時出錯: %s" -#: arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:68 msgid "Error writing compilation database: %s" msgstr "寫入編譯資料庫時出錯: %s" @@ -1006,15 +1027,15 @@ msgstr "寫入編譯資料庫時出錯: %s" msgid "Error: command description is not supported by %v" msgstr "錯誤: %v 不支持命令說明" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:197 msgid "Error: invalid source code overrides data file: %v" msgstr "錯誤: 無效原始碼覆蓋了資料檔: %v" -#: internal/cli/board/list.go:96 +#: internal/cli/board/list.go:98 msgid "Event" msgstr "事件" -#: internal/cli/lib/examples.go:120 +#: internal/cli/lib/examples.go:121 msgid "Examples for library %s" msgstr "%s 程式庫的範例" @@ -1022,65 +1043,65 @@ msgstr "%s 程式庫的範例" msgid "Examples:" msgstr "範例:" -#: internal/cli/debug/debug.go:180 +#: internal/cli/debug/debug.go:200 msgid "Executable to debug" msgstr "可執行來除錯" -#: commands/debug/debug_info.go:131 commands/upload/upload.go:379 +#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "%s 目錄內應該有已編譯的 sketch,卻只有個檔案" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 -#: internal/cli/board/listall.go:85 internal/cli/board/search.go:82 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:502 +#: commands/upload/upload.go:500 msgid "Failed chip erase" msgstr "晶片擦除失敗" -#: commands/upload/upload.go:509 +#: commands/upload/upload.go:507 msgid "Failed programming" msgstr "燒錄失敗" -#: commands/upload/upload.go:505 +#: commands/upload/upload.go:503 msgid "Failed to burn bootloader" msgstr "燒錄 bootloader 失敗" -#: commands/instances.go:166 +#: commands/instances.go:79 msgid "Failed to create data directory" msgstr "建立資料目錄失敗" -#: commands/instances.go:156 +#: commands/instances.go:69 msgid "Failed to create downloads directory" msgstr "建立下載檔案夾失敗" -#: internal/cli/daemon/daemon.go:129 +#: internal/cli/daemon/daemon.go:125 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "監聽 TCP 埠失敗: %[1]s. %[2]s 是無效連接埠" -#: internal/cli/daemon/daemon.go:124 +#: internal/cli/daemon/daemon.go:120 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "監聽 TCP 埠失敗: %[1]s. %[2]s 是未知名稱" -#: internal/cli/daemon/daemon.go:136 +#: internal/cli/daemon/daemon.go:132 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "監聽 TCP 埠: %[1]s 失敗, 未預期的錯誤: %[2]v" -#: internal/cli/daemon/daemon.go:134 +#: internal/cli/daemon/daemon.go:130 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "監聽 TCP 埠: %s 失敗。位址已被使用" -#: commands/upload/upload.go:513 +#: commands/upload/upload.go:511 msgid "Failed uploading" msgstr "上傳失敗" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "檔案:" @@ -1123,7 +1144,7 @@ msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "強制跳過 pre-uninstall 命令 (如果 CLI 在互動狀態)." -#: arduino/errors.go:840 +#: commands/cmderrors/cmderrors.go:841 msgid "Found %d platforms matching \"%s\": %s" msgstr "找到 %d 平台有符合 \"%s\": %s" @@ -1131,7 +1152,7 @@ msgstr "找到 %d 平台有符合 \"%s\": %s" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格的開發板名,例如:arduino:avr:uno" -#: commands/debug/debug.go:183 +#: commands/debug/debug.go:182 msgid "GDB server '%s' is not supported" msgstr "不支援 GDB 伺服器 '%s'" @@ -1148,7 +1169,7 @@ msgstr "已生成指令檔" msgid "Generates completion scripts for various shells" msgstr "已為各種 shell 生成指令檔" -#: arduino/builder/builder.go:308 +#: internal/arduino/builder/builder.go:339 msgid "Generating function prototypes..." msgstr "生成函式原型..." @@ -1156,31 +1177,31 @@ msgstr "生成函式原型..." msgid "Global Flags:" msgstr "全域旗標:" -#: arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:163 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "全域變數使用 %[1]s 位元組 (%[3]s%%) 的動態記憶體, 保留 %[4]s 位元組給區域變數. 最大 %[2]s 位元組" -#: arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:169 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全域變數使用 %[1]s 位元組的動態記憶體" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/monitor/monitor.go:232 -#: internal/cli/outdated/outdated.go:83 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 +#: internal/cli/outdated/outdated.go:98 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "標識屬性:" -#: internal/cli/compile/compile.go:131 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "一經設定,建構的二進位檔將導出到 sketch 檔案夾" @@ -1190,7 +1211,7 @@ msgid "" "installed." msgstr "一經設定,傳回所有可安裝和已安裝的核心,包括手動安裝的" -#: internal/cli/lib/list.go:53 +#: internal/cli/lib/list.go:54 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "列表內包含內建程式庫 (來自平台和 IDE)" @@ -1202,30 +1223,30 @@ msgstr "存檔中包含 %s 目錄" msgid "Install libraries in the IDE-Builtin directory" msgstr "安裝程式庫到 IDE-Builtin 目錄" -#: internal/cli/core/list.go:89 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:85 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:100 msgid "Installed" msgstr "已安裝" -#: commands/lib/install.go:140 +#: commands/lib/install.go:165 msgid "Installed %s" msgstr "已安裝 %s" -#: arduino/cores/packagemanager/install_uninstall.go:331 -#: commands/lib/install.go:126 +#: commands/lib/install.go:148 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "安裝 %s..." -#: commands/instances.go:459 +#: commands/instances.go:376 msgid "Installing library %s" msgstr "安裝程式庫 %s" -#: arduino/cores/packagemanager/install_uninstall.go:117 -#: arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/install_uninstall.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Installing platform %s" msgstr "安裝平台 %s " -#: arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Installing tool %s" msgstr "安裝工具 %s" @@ -1237,11 +1258,11 @@ msgstr "安裝一或多個核心和工具相依" msgid "Installs one or more specified libraries into the system." msgstr "安裝一或多個指定程式庫到系統中" -#: arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:391 msgid "Internal error in cache" msgstr "快取的內部錯誤" -#: arduino/errors.go:378 +#: commands/cmderrors/cmderrors.go:379 msgid "Invalid '%[1]s' property: %[2]s" msgstr "無效的 '%[1]s' 屬性:%[2]s" @@ -1250,28 +1271,28 @@ msgid "" "Invalid Call : should show Help, but it is available only in TEXT mode." msgstr "無效呼叫: 應顯示求助,但只在文字模式下能用" -#: arduino/errors.go:62 +#: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "無效的 FQBN" -#: internal/cli/daemon/daemon.go:147 +#: internal/cli/daemon/daemon.go:143 msgid "Invalid TCP address: port is missing" msgstr "無效的 TCP 位址:缺少連接埠" -#: arduino/errors.go:80 +#: commands/cmderrors/cmderrors.go:80 msgid "Invalid URL" msgstr "無效的網址" -#: commands/instances.go:274 +#: commands/instances.go:170 msgid "Invalid additional URL: %v" msgstr "無效的額外網址: %v" -#: arduino/resources/index.go:110 +#: internal/arduino/resources/index.go:110 msgid "Invalid archive: file %{1}s not found in archive %{2}s" -msgstr "無效存檔: 檔案 %{1}s 不在存檔%{2}s 裏" +msgstr "無效存檔: 檔案 %{1}s 不在%{2}s 存檔裏" #: internal/cli/core/download.go:56 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:93 +#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 #: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 msgid "Invalid argument passed: %v" msgstr "傳送的參數無效: %v" @@ -1280,27 +1301,27 @@ msgstr "傳送的參數無效: %v" msgid "Invalid build properties" msgstr "無效的建構屬性" -#: arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:249 msgid "Invalid data size regexp: %s" msgstr "無效的資料大小正規表示式: %s" -#: arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:255 msgid "Invalid eeprom size regexp: %s" msgstr "無效的 eeprom 大小正規表示式: %s" -#: arduino/errors.go:48 +#: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "無效的實例" -#: internal/cli/core/upgrade.go:99 +#: internal/cli/core/upgrade.go:113 msgid "Invalid item %s" msgstr "無效的項目 %s" -#: arduino/errors.go:98 +#: commands/cmderrors/cmderrors.go:98 msgid "Invalid library" msgstr "無效的程式庫" -#: configuration/network.go:63 +#: internal/cli/configuration/network.go:63 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" @@ -1312,7 +1333,7 @@ msgstr "--log-level: %s 選項無效" msgid "Invalid output format: %s" msgstr "無效的輸出格式: %s" -#: commands/instances.go:555 +#: commands/instances.go:473 msgid "Invalid package index in %s" msgstr "%s 內的套件索引無效" @@ -1324,7 +1345,7 @@ msgstr "無效 %s 參數: 版本不允許" msgid "Invalid pid value: '%s'" msgstr "無效的 pid 值: '%s'" -#: arduino/errors.go:222 +#: commands/cmderrors/cmderrors.go:222 msgid "Invalid profile" msgstr "無效的設定檔" @@ -1332,15 +1353,15 @@ msgstr "無效的設定檔" msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法無效" -#: arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:239 msgid "Invalid size regexp: %s" msgstr "無效的大小正規表示式: %s" -#: internal/cli/core/search.go:124 +#: internal/cli/core/search.go:149 msgid "Invalid timeout: %s" msgstr "無效的超時: %s" -#: arduino/errors.go:116 +#: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "無效的版本" @@ -1348,87 +1369,87 @@ msgstr "無效的版本" msgid "Invalid vid value: '%s'" msgstr "無效的 vid 值: '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:127 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "只產生編譯資料庫,不實際編譯。跳過除 pre* 以外的所有建構指令" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "程式庫名" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "程式庫" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/search.go:40 internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "程式庫_名" -#: internal/cli/core/list.go:89 internal/cli/outdated/outdated.go:86 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 msgid "Latest" msgstr "最新的" -#: arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:90 msgid "Library %[1]s has been declared precompiled:" msgstr "程式庫 %[1]s 已聲明為預編譯:" -#: arduino/libraries/librariesmanager/install.go:135 -#: commands/lib/install.go:92 +#: commands/lib/install.go:114 +#: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "程式庫 %[1]s 已經安裝, 但版本不同: %[2]s" -#: commands/lib/upgrade.go:59 +#: commands/lib/upgrade.go:74 msgid "Library %s is already at the latest version" msgstr "程式庫 %s 已是最新版" -#: commands/lib/uninstall.go:39 +#: commands/lib/uninstall.go:45 msgid "Library %s is not installed" msgstr "程式庫 %s 未安裝" -#: commands/instances.go:445 +#: commands/instances.go:362 msgid "Library %s not found" msgstr "未找到程式庫 %s " -#: arduino/errors.go:446 +#: commands/cmderrors/cmderrors.go:447 msgid "Library '%s' not found" msgstr "未找到程式庫 '%s'" -#: arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "程式庫不能同時用'%[1]s'和'%[2]s'檔案夾。再檢查 '%[3]s'" -#: arduino/errors.go:575 +#: commands/cmderrors/cmderrors.go:576 msgid "Library install failed" msgstr "程式庫安裝失敗" -#: commands/lib/install.go:150 commands/lib/install.go:160 +#: commands/lib/install.go:180 commands/lib/install.go:195 msgid "Library installed" msgstr "程式庫已安裝" -#: internal/cli/lib/search.go:161 +#: internal/cli/lib/search.go:208 msgid "License: %s" msgstr "許可證: %s" -#: arduino/builder/builder.go:416 +#: internal/arduino/builder/builder.go:444 msgid "Linking everything together..." msgstr "將所有內容鏈接在一起..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "列出已安裝被支援平台的所有開發板。輸入開發板名,也可進行搜尋" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "列出所有已知開發板及其相應的 FQBN" -#: internal/cli/board/list.go:43 +#: internal/cli/board/list.go:44 msgid "List connected boards." msgstr "列出已連接的開發板" @@ -1438,13 +1459,13 @@ msgid "" " multiple options." msgstr "列出開發板選項列表。可多選項多次使用" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:105 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "列出自定義屬性列表。可多屬性多次使用" -#: internal/cli/lib/list.go:55 +#: internal/cli/lib/list.go:56 msgid "List updatable libraries." msgstr "列出可更新的程式庫" @@ -1456,24 +1477,24 @@ msgstr "列出可更新的平台" msgid "Lists all connected boards." msgstr "列出所有連接的開發板" -#: internal/cli/outdated/outdated.go:41 +#: internal/cli/outdated/outdated.go:42 msgid "Lists cores and libraries that can be upgraded" msgstr "列出可升級的核心和程式庫" -#: commands/instances.go:307 commands/instances.go:318 -#: commands/instances.go:418 +#: commands/instances.go:207 commands/instances.go:218 +#: commands/instances.go:330 msgid "Loading index file: %v" msgstr "載入索引檔: %v" -#: internal/cli/lib/list.go:136 internal/cli/outdated/outdated.go:87 +#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 msgid "Location" msgstr "位置" -#: arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:204 msgid "Low memory available, stability problems may occur." msgstr "記憶體低容量,可能影響穩定性" -#: internal/cli/lib/search.go:156 +#: internal/cli/lib/search.go:203 msgid "Maintainer: %s" msgstr "維護者: %s" @@ -1486,69 +1507,69 @@ msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "記錄此等級含以上的訊息。有效等級為 %s" -#: arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:459 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]s 的程式庫缺少 '%[1]s'" -#: arduino/errors.go:171 +#: commands/cmderrors/cmderrors.go:171 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "缺少 FQBN (完全合格開發板名)" -#: arduino/errors.go:262 +#: commands/cmderrors/cmderrors.go:262 msgid "Missing port" msgstr "缺少連接埠" -#: arduino/errors.go:238 +#: commands/cmderrors/cmderrors.go:238 msgid "Missing port address" msgstr "缺少連接埠地址" -#: arduino/errors.go:250 +#: commands/cmderrors/cmderrors.go:250 msgid "Missing port protocol" msgstr "缺少連接埠協議" -#: arduino/errors.go:288 +#: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" msgstr "缺少燒錄器" -#: internal/cli/upload/upload.go:162 +#: internal/cli/upload/upload.go:160 msgid "Missing required upload field: %s" -msgstr "" +msgstr "缺少必要的上傳欄位: %s" -#: arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:243 msgid "Missing size regexp" msgstr "缺少大小正規表示式" -#: arduino/errors.go:498 +#: commands/cmderrors/cmderrors.go:499 msgid "Missing sketch path" msgstr "缺少 sketch 路徑" -#: arduino/errors.go:359 +#: commands/cmderrors/cmderrors.go:360 msgid "Monitor '%s' not found" msgstr "監視器 '%s' 找不到" -#: internal/cli/monitor/monitor.go:141 +#: internal/cli/monitor/monitor.go:201 msgid "Monitor port settings:" msgstr "監視連接埠設定:" -#: arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:153 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "找到了多個 “%[1]s” 程式庫" -#: internal/cli/board/details.go:214 internal/cli/core/list.go:89 -#: internal/cli/core/search.go:100 internal/cli/lib/list.go:136 -#: internal/cli/outdated/outdated.go:84 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 +#: internal/cli/outdated/outdated.go:99 msgid "Name" msgstr "名" -#: internal/cli/lib/search.go:135 +#: internal/cli/lib/search.go:182 msgid "Name: \"%s\"" msgstr "名: “%s”" -#: internal/cli/upload/upload.go:221 +#: internal/cli/upload/upload.go:226 msgid "New upload port: %[1]s (%[2]s)" msgstr "新上傳連接埠: %[1]s (%[2]s)" -#: internal/cli/board/list.go:122 +#: internal/cli/board/list.go:126 msgid "No boards found." msgstr "沒找到開發板" @@ -1556,19 +1577,19 @@ msgstr "沒找到開發板" msgid "No default port or FQBN set" msgstr "未設定預設連接埠或 FQBN" -#: internal/cli/lib/examples.go:105 +#: internal/cli/lib/examples.go:106 msgid "No libraries found." msgstr "沒找到程式庫" -#: internal/cli/lib/list.go:128 +#: internal/cli/lib/list.go:134 msgid "No libraries installed." msgstr "沒安裝程式庫" -#: internal/cli/lib/search.go:124 +#: internal/cli/lib/search.go:171 msgid "No libraries matching your search." msgstr "沒有你想找的程式庫" -#: internal/cli/lib/search.go:130 +#: internal/cli/lib/search.go:177 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1576,19 +1597,19 @@ msgstr "" "沒有符合你想找的程式庫\n" "你的意思是...\n" -#: internal/cli/lib/list.go:126 +#: internal/cli/lib/list.go:132 msgid "No libraries update is available." msgstr "沒的程式庫更新檔" -#: arduino/errors.go:276 +#: commands/cmderrors/cmderrors.go:276 msgid "No monitor available for the port protocol %s" msgstr "沒有可用於連接埠協議 %s 的監視器" -#: internal/cli/outdated/outdated.go:77 +#: internal/cli/outdated/outdated.go:92 msgid "No outdated platforms or libraries found." msgstr "沒找到已過時的平台或程式庫" -#: internal/cli/core/list.go:86 +#: internal/cli/core/list.go:113 msgid "No platforms installed." msgstr "沒安裝任何平台" @@ -1596,73 +1617,73 @@ msgstr "沒安裝任何平台" msgid "No platforms matching your search." msgstr "沒有你想找的平台" -#: commands/upload/upload.go:458 +#: commands/upload/upload.go:456 msgid "No upload port found, using %s as fallback" msgstr "沒找到上傳連接埠,使用 %s 作為後援" -#: arduino/errors.go:465 +#: commands/cmderrors/cmderrors.go:466 msgid "No valid dependencies solution found" msgstr "找不到有效的相依解決方案" -#: arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:194 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "記憶體不足;有關減少用量的方法,請參見 %[1]s" -#: arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Not used: %[1]s" msgstr "未使用: %[1]s" -#: internal/cli/board/details.go:185 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "作業系統:" -#: internal/cli/board/details.go:147 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Arduino 官方開發板:" -#: internal/cli/lib/search.go:50 +#: internal/cli/lib/search.go:100 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "省略程式庫中除最新版本以外的所有版本(產出更精簡的 JSON )" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 msgid "Open a communication port with a board." msgstr "開啟開發板的通信埠" -#: internal/cli/board/details.go:197 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "選項:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:115 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "選項,可以是:%s。用來告訴 gcc 使用哪個警告級別 (-W 參數)" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:128 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "選項,清理建構用的檔案夾且不使用任何快取" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:125 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "選項,優化編譯用於除錯的輸出,還不到發佈用" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:117 msgid "Optional, suppresses almost every output." msgstr "選項,禁止全部輸出" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:77 +#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 msgid "Optional, turns on verbose mode." msgstr "選項,開啟詳細模式" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "選項, 包含一組替代 sketch 原始碼的 .json 檔的路徑" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:107 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1685,41 +1706,41 @@ msgstr "覆蓋現有的 .ino sketch 檔" msgid "PACKAGER" msgstr "套件管理員" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "套件網址:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "套件維護者:" -#: internal/cli/board/details.go:161 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "套件名" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "套件線上協助:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "套件網站:" -#: internal/cli/lib/search.go:158 +#: internal/cli/lib/search.go:205 msgid "Paragraph: %s" msgstr "段落: %s" -#: internal/cli/compile/compile.go:427 internal/cli/compile/compile.go:442 +#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 msgid "Path" msgstr "路徑" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "程式庫集合的路徑。可多次使用,或以逗號分隔" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1729,25 +1750,25 @@ msgstr "單一程式庫的根目錄路徑。可多次使用,或以逗號分隔 msgid "Path to the file where logs will be written." msgstr "日誌檔的路徑" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:103 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已編譯檔的路徑。如果省略,將在作業系統預設的臨時目錄中建立" -#: commands/upload/upload.go:439 +#: commands/upload/upload.go:437 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 連接埠上執行 1200-bps TOUCH 重置" -#: commands/core/install.go:54 commands/core/install.go:61 +#: commands/core/install.go:55 commands/core/install.go:62 msgid "Platform %s already installed" msgstr "平台 %s 已安裝過" -#: arduino/cores/packagemanager/install_uninstall.go:192 +#: internal/arduino/cores/packagemanager/install_uninstall.go:191 msgid "Platform %s installed" msgstr "平台 %s 已安裝" -#: internal/cli/compile/compile.go:378 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1755,87 +1776,88 @@ msgstr "" "在已知索引中找不到平台 %s \n" "也許你需要加入第三方 3rd 位址?" -#: arduino/cores/packagemanager/install_uninstall.go:316 +#: internal/arduino/cores/packagemanager/install_uninstall.go:315 msgid "Platform %s uninstalled" msgstr "%s 平台已卸載" -#: arduino/errors.go:483 +#: commands/cmderrors/cmderrors.go:484 msgid "Platform '%s' is already at the latest version" msgstr "平台 '%s' 已是最新版" -#: arduino/errors.go:407 +#: commands/cmderrors/cmderrors.go:408 msgid "Platform '%s' not found" msgstr "平台 '%s' 沒找到" -#: internal/cli/board/search.go:82 +#: internal/cli/board/search.go:83 msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:362 internal/cli/upload/upload.go:135 +#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 msgid "Platform ID is not correct" msgstr "平台 ID 不正確" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "平台位址:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "平台架構:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "平台類別:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "平台校驗碼:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "平台檔案名:" -#: internal/cli/board/details.go:168 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "平台名:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "平台大小 (位元組):" -#: arduino/errors.go:155 +#: commands/cmderrors/cmderrors.go:155 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "請指定一個 FQBN。在 %[1]s 連接埠以協議 %[2]s 檢測到多個可能的開發板" -#: arduino/errors.go:135 +#: commands/cmderrors/cmderrors.go:135 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "請指定一個 FQBN。%[1]s 連接埠以協議 %[2]s 的開發板無法識別" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Port" msgstr "連接埠" -#: internal/cli/monitor/monitor.go:190 internal/cli/monitor/monitor.go:199 +#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 msgid "Port closed: %v" msgstr "連接埠關閉: %v" -#: arduino/errors.go:669 +#: commands/cmderrors/cmderrors.go:670 msgid "Port monitor error" msgstr "連接埠監視器錯誤" -#: arduino/builder/libraries.go:101 arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:100 +#: internal/arduino/builder/libraries.go:108 msgid "Precompiled library in \"%[1]s\" not found" msgstr "找不到在“%[1]s”的預編譯程式庫" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "列出開發板的詳細資訊" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:99 msgid "Print preprocessed code to stdout instead of compiling." msgstr "列出預處理的代碼到標準輸出,而不是編譯" @@ -1851,35 +1873,35 @@ msgstr "列出目前設定" msgid "Prints the current configuration." msgstr "列出目前設定" -#: arduino/errors.go:204 +#: commands/cmderrors/cmderrors.go:204 msgid "Profile '%s' not found" msgstr "設定集'%s' 找不到" -#: arduino/errors.go:340 +#: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" msgstr "燒錄器 '%s' 找不到" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "燒錄器名" -#: internal/cli/arguments/programmer.go:29 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "要使用的燒錄器,例如:atmel_ice" -#: internal/cli/board/details.go:214 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "燒錄器:" -#: arduino/errors.go:392 +#: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "'%s' 屬性未定義" -#: internal/cli/board/list.go:132 +#: internal/cli/board/list.go:136 msgid "Protocol" msgstr "協議" -#: internal/cli/lib/search.go:168 +#: internal/cli/lib/search.go:215 msgid "Provides includes: %s" msgstr "提供的包括: %s" @@ -1887,96 +1909,173 @@ msgstr "提供的包括: %s" msgid "Removes one or more values from a setting." msgstr "從設定中移除一或多個值" -#: commands/lib/install.go:130 +#: commands/lib/install.go:152 msgid "Replacing %[1]s with %[2]s" msgstr "將 %[1]s 替換成 %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/install_uninstall.go:120 msgid "Replacing platform %[1]s with %[2]s" msgstr "以平台 %[2]s 替換 %[1]s " -#: internal/cli/board/details.go:182 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/daemon/daemon.go:52 +#: internal/cli/daemon/daemon.go:51 msgid "Run as a daemon on port: %s" msgstr "以背景程式身份在連接埠: %s 執行" -#: internal/cli/monitor/monitor.go:71 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "以靜默模式執行,只顯示監視輸入和輸出" -#: internal/cli/daemon/daemon.go:53 +#: internal/cli/daemon/daemon.go:52 msgid "" "Running as a daemon the initialization of cores and libraries is done only " "once." msgstr "以背景程式身份執行時,只做一次核心和程式庫的初始化" -#: arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." msgstr "以正常建構的核心執行..." -#: arduino/cores/packagemanager/install_uninstall.go:295 -#: arduino/cores/packagemanager/install_uninstall.go:408 +#: internal/arduino/cores/packagemanager/install_uninstall.go:294 +#: internal/arduino/cores/packagemanager/install_uninstall.go:407 msgid "Running pre_uninstall script." msgstr "執行 pre_uninstall 命令." -#: internal/cli/debug/debug.go:185 +#: internal/cli/lib/search.go:41 +msgid "SEARCH_TERM" +msgstr "搜尋_條件" + +#: internal/cli/debug/debug.go:205 msgid "SVD file path" msgstr "SVD 檔案路徑" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:101 msgid "Save build artifacts in this directory." msgstr "將建構成品存在這個目錄" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "以指定的關鍵字在開發板管理員尋找開發板" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "在開發板管理員尋找開發板" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:45 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "以指定的關鍵字在開發板管理員尋找核心" -#: internal/cli/core/search.go:46 +#: internal/cli/core/search.go:44 msgid "Search for a core in Boards Manager." msgstr "在開發板管理員尋找核心" -#: internal/cli/lib/search.go:42 -msgid "Search for one or more libraries data (case insensitive search)." -msgstr "尋找一或多個程式庫資料 (不分大小寫)" +#: internal/cli/lib/search.go:43 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" +msgstr "" +"搜尋程式庫.\n" +"\n" +"所有的搜尋皆不分大小寫. 多詞搜尋只會尋找全部皆符合的程式庫.\n" +"\n" +"未符合 QV 語法的皆為基本搜尋, 將尋找在下列幾個欄位相符的程式庫:\n" +" - Author\n" +" - Name\n" +" - Paragraph \n" +" - Provides\n" +" - Sentence\n" +"\n" +"稱為限定值 qualifier-value (QV) 的特殊語法, 將只尋找限定欄位相符的程式庫. 以欄位 (不分大小寫), 加上等號 (=) 或分號 (:), 再接上一個值, 例如. 'name=ArduinoJson' 或 'provides:tinyusb.h'.\n" +"\n" +"QV 裏分號為多條件搜尋, 等號為單條件\n" +"\n" +"QV 裏可使用雙引號(\")來包含空白字元, 框起整個條件式或值都可以的, 例如. 'category=\"Data Processing\"' 和\n" +"'\"category=Data Processing\"' 是相同的. QV 語法也可使用倒斜線(\\)來加入雙引號 .\n" +"\n" +"注意: 如在命令列環境下使用 QV 語法, 請自行留意相關字串參數的跳脫語法.\n" +"\n" +"除了以上的欄位外, QV 也可使用下列限定欄位:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" -#: internal/cli/lib/search.go:41 -msgid "Searches for one or more libraries data." -msgstr "尋找一或多個程式庫資料" +#: internal/cli/lib/search.go:42 +msgid "Searches for one or more libraries matching a query." +msgstr "尋找符合條件的一或多個程式庫" -#: internal/cli/lib/search.go:157 +#: internal/cli/lib/search.go:204 msgid "Sentence: %s" msgstr "句子: %s" -#: internal/cli/debug/debug.go:193 +#: internal/cli/debug/debug.go:213 msgid "Server path" msgstr "伺服器路徑" -#: arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:73 msgid "Server responded with: %s" msgstr "伺服器回應: %s" -#: internal/cli/debug/debug.go:192 +#: internal/cli/debug/debug.go:212 msgid "Server type" msgstr "伺服器類型" -#: internal/cli/upload/upload.go:81 +#: internal/cli/upload/upload.go:82 msgid "Set a value for a field required to upload." -msgstr "" +msgstr "設定上傳所必要的欄位上的值" -#: internal/cli/monitor/monitor.go:68 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." -msgstr "設定終端成粗糙模式 (無緩衝)" +msgstr "設定終端成原始模式 (無緩衝)" #: internal/cli/config/set.go:32 internal/cli/config/set.go:33 msgid "Sets a setting value." @@ -1992,7 +2091,7 @@ msgstr "設定連接埠和 FQBN 的預設值。如果沒指定連接埠或 FQBN msgid "Sets where to save the configuration file." msgstr "設定儲存設定檔的位置" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Setting" msgstr "設定" @@ -2004,11 +2103,11 @@ msgstr "設定鍵值不存在" msgid "Show all available core versions." msgstr "顯示全部可用的核心版本" -#: internal/cli/monitor/monitor.go:69 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "顯示通訊連接埠的全部設定" -#: internal/cli/board/listall.go:47 internal/cli/board/search.go:45 +#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 msgid "Show also boards marked as 'hidden' in the platform" msgstr "在平台上也顯示標記為'隱藏的'開發板" @@ -2018,25 +2117,25 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "顯示建構屬性. 屬性是攤開的, 如只想看定義, 請用 \\\"--show-properties=unexpanded\\\"." -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "顯示完整的開發板細節" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "顯示開發板的資訊,特別是如果開發板在 FQBN 中有可指定的選項" -#: internal/cli/lib/search.go:49 +#: internal/cli/lib/search.go:99 msgid "Show library names only." msgstr "只顯示程式庫名" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "顯示可用的燒錄器列表" -#: internal/cli/debug/debug.go:63 +#: internal/cli/debug/debug.go:69 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "顯示除錯作業的數據,而不是啟動除錯器" @@ -2045,11 +2144,11 @@ msgstr "顯示除錯作業的數據,而不是啟動除錯器" msgid "Show outdated cores and libraries after index update" msgstr "顯示在索引更新後過時的核心和程式庫" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "顯示已安裝的程式庫" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2064,11 +2163,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "顯示已安裝的平台" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "顯示程式庫範例" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2083,7 +2182,7 @@ msgstr "顯示安裝在系統上的 Arduino CLI 版本" msgid "Shows version number of Arduino CLI." msgstr "顯示 Arduino CLI 版本" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "大小 (字元組) :" @@ -2093,7 +2192,7 @@ msgid "" "path" msgstr "sketch 不能放在建構路徑上。請指定不同的建構路徑" -#: internal/cli/sketch/new.go:84 +#: internal/cli/sketch/new.go:96 msgid "Sketch created in: %s" msgstr "Sketch 建立在: %s" @@ -2101,72 +2200,68 @@ msgstr "Sketch 建立在: %s" msgid "Sketch profile to use" msgstr "採用的 Sketch 設定集" -#: arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:189 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Sketch 太胖了;請參考 %[1]s 裏的減肥技巧" -#: arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:157 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "Sketch 使用 %[1]s 位元組(%[3]s%%)的程式儲存空間。最大為 %[2]s 位元組" -#: commands/sketch/warn_deprecated.go:29 +#: internal/cli/feedback/warn_deprecated.go:38 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "Sketch 已棄用 .pde 副檔名 ,請將下列檔案的副檔名改成.ino" -#: arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:29 msgid "Skip linking of final executable." msgstr "跳過鏈結成執行檔" -#: commands/upload/upload.go:432 +#: commands/upload/upload.go:430 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳過 1200-bps 接觸重設:未選取序列埠!" -#: arduino/builder/archive_compiled_files.go:29 +#: internal/arduino/builder/archive_compiled_files.go:26 msgid "Skipping archive creation of: %[1]s" msgstr "跳過建立壓縮檔: %[1]s" -#: arduino/builder/compilation.go:177 +#: internal/arduino/builder/compilation.go:182 msgid "Skipping compile of: %[1]s" msgstr "跳過編譯: %[1]s" -#: arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:407 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳過預編譯程式庫 %[1]s 的相依偵測" -#: arduino/cores/packagemanager/install_uninstall.go:188 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "Skipping platform configuration." msgstr "跳過平台設定" -#: arduino/cores/packagemanager/install_uninstall.go:304 -#: arduino/cores/packagemanager/install_uninstall.go:417 +#: internal/arduino/cores/packagemanager/install_uninstall.go:303 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "Skipping pre_uninstall script." msgstr "跳過 pre_uninstall 命令." -#: arduino/cores/packagemanager/install_uninstall.go:365 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "Skipping tool configuration." msgstr "跳過工具設定" -#: arduino/builder/recipe.go:48 +#: internal/arduino/builder/recipe.go:47 msgid "Skipping: %[1]s" msgstr "跳過: %[1]s" -#: commands/instances.go:575 +#: commands/instances.go:493 msgid "Some indexes could not be updated." msgstr "有些索引無法更新" -#: internal/cli/core/upgrade.go:125 +#: internal/cli/core/upgrade.go:139 msgid "Some upgrades failed, please check the output for details." msgstr "有些升級失敗了,細節請看輸出" -#: arduino/serialutils/serialutils.go:141 -msgid "TOUCH: error during reset: %s" -msgstr "TOUCH: 重設時出錯: %s" - -#: internal/cli/daemon/daemon.go:58 +#: internal/cli/daemon/daemon.go:57 msgid "The TCP port the daemon will listen to" msgstr "背景程式監聽的 TCP 埠" @@ -2174,11 +2269,19 @@ msgstr "背景程式監聽的 TCP 埠" msgid "The custom config file (if not specified the default will be used)." msgstr "自定義設定檔 (如沒指定,將使用預設值)" -#: internal/cli/daemon/daemon.go:77 +#: internal/cli/daemon/daemon.go:76 msgid "The flag --debug-file must be used with --debug." msgstr "參數 --debug-file 必須和 --debug 一起使用" -#: internal/cli/config/add.go:93 +#: internal/cli/debug/debug_check.go:88 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "指定的板子/燒錄器設置不支援除錯。" + +#: internal/cli/debug/debug_check.go:86 +msgid "The given board/programmer configuration supports debugging." +msgstr "指定的板子/燒錄器設置支援除錯。" + +#: internal/cli/config/add.go:70 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2194,17 +2297,17 @@ msgstr "" "'%[1]v' 鍵不是項目列表,無法移除。\n" "還是用 '%[2]s'?" -#: arduino/errors.go:859 +#: commands/cmderrors/cmderrors.go:860 msgid "The library %s has multiple installations:" msgstr "程式庫 %s 有多個安裝" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定義加密密鑰的名稱,用在編譯過程中對二進位碼進行加密。只用在有支援的平台" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2214,13 +2317,13 @@ msgstr "自定義簽名密鑰的名稱,用在編譯過程中對二進位碼進 msgid "The output format for the logs, can be: %s" msgstr "日誌的輸出格​​式,可以是: %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:109 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "尋找用來簽名和加密二進位碼的自定義密鑰檔的檔案夾路徑。只用在有支援的平台" -#: arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:150 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "本平台不支援預編譯程式庫的 '%[1]s'" @@ -2232,75 +2335,76 @@ msgid "" "update is available." msgstr "此指令將升級已安裝的程式庫到最新版。多程式庫以空格為間格。如未提供參數,將升級全部已安裝的程式庫" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此指令顯示可升級的已安裝核心和程式庫。如沒需要更新的,則輸出空白" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "記錄每一行時間" -#: arduino/cores/packagemanager/install_uninstall.go:87 -#: arduino/cores/packagemanager/install_uninstall.go:326 +#: internal/arduino/cores/packagemanager/install_uninstall.go:86 +#: internal/arduino/cores/packagemanager/install_uninstall.go:325 msgid "Tool %s already installed" msgstr "工具 %s 已安裝" -#: arduino/cores/packagemanager/install_uninstall.go:429 +#: internal/arduino/cores/packagemanager/install_uninstall.go:428 msgid "Tool %s uninstalled" msgstr "工具 %s 已卸除" -#: commands/debug/debug.go:139 +#: commands/debug/debug.go:138 msgid "Toolchain '%s' is not supported" msgstr "不支援工具包 '%s' " -#: internal/cli/debug/debug.go:182 +#: internal/cli/debug/debug.go:202 msgid "Toolchain path" msgstr "工具包路徑" -#: internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:203 msgid "Toolchain prefix" msgstr "工具包前綴字元" -#: internal/cli/debug/debug.go:181 +#: internal/cli/debug/debug.go:201 msgid "Toolchain type" msgstr "工具包類型" -#: internal/cli/compile/compile.go:376 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 msgid "Try running %s" msgstr "嘗試執行 %s" -#: internal/cli/burnbootloader/burnbootloader.go:57 +#: internal/cli/burnbootloader/burnbootloader.go:59 msgid "Turns on verbose mode." msgstr "開啟囉嗦模式" -#: internal/cli/board/list.go:96 internal/cli/board/list.go:132 +#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 msgid "Type" msgstr "類型" -#: internal/cli/lib/search.go:165 +#: internal/cli/lib/search.go:212 msgid "Types: %s" msgstr "類型: %s" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "網址:" -#: arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:143 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "無法快取建構核心,請通知 %[1]s 維護者注意 %[2]s" -#: configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:122 msgid "Unable to get Documents Folder: %v" msgstr "無法取得文件夾: %v" -#: configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:97 msgid "Unable to get Local App Data Folder: %v" msgstr "無法取得本地應用程式的資料夾: %v" -#: configuration/configuration.go:85 configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:85 +#: internal/cli/configuration/configuration.go:110 msgid "Unable to get user home dir: %v" msgstr "無法取得用戶家目錄: %v" @@ -2308,17 +2412,17 @@ msgstr "無法取得用戶家目錄: %v" msgid "Unable to open file for logging: %s" msgstr "無法開啟檔案做日誌記錄: %s" -#: commands/instances.go:542 +#: commands/instances.go:460 msgid "Unable to parse URL" msgstr "無法解析網址" -#: arduino/cores/packagemanager/install_uninstall.go:278 -#: commands/lib/uninstall.go:44 +#: commands/lib/uninstall.go:50 +#: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "卸除 %s" -#: arduino/cores/packagemanager/install_uninstall.go:164 -#: commands/core/uninstall.go:73 +#: commands/core/uninstall.go:74 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "卸除 %s,不需要這工具了" @@ -2332,11 +2436,11 @@ msgstr "如不再需用到, 卸除一或多個核心及相依" msgid "Uninstalls one or more libraries." msgstr "卸載一或多個程式庫" -#: internal/cli/board/list.go:164 +#: internal/cli/board/list.go:168 msgid "Unknown" msgstr "未知的" -#: arduino/errors.go:185 +#: commands/cmderrors/cmderrors.go:185 msgid "Unknown FQBN" msgstr "未知的 FQBN" @@ -2364,7 +2468,7 @@ msgstr "更新程式庫索引到最新" msgid "Updates the libraries index." msgstr "更新程式庫索引" -#: arduino/cores/packagemanager/install_uninstall.go:44 +#: internal/arduino/cores/packagemanager/install_uninstall.go:43 msgid "Upgrade doesn't accept parameters with version" msgstr "升級不接受版本參數" @@ -2384,40 +2488,40 @@ msgstr "升級已安裝的程式庫" msgid "Upgrades one or all installed platforms to the latest version." msgstr "升級已安裝的平台到最新版本" -#: internal/cli/upload/upload.go:57 +#: internal/cli/upload/upload.go:58 msgid "Upload Arduino sketches." msgstr "上傳 Arduino sketch" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:59 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "上傳 Arduino sketch。不會在上傳前編譯它" -#: internal/cli/arguments/port.go:42 +#: internal/cli/arguments/port.go:43 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上傳連接埠,例如:COM3 或 /dev/ttyACM2" -#: commands/upload/upload.go:456 +#: commands/upload/upload.go:454 msgid "Upload port found on %s" msgstr "找到上傳連接埠 %s " -#: internal/cli/arguments/port.go:46 +#: internal/cli/arguments/port.go:47 msgid "Upload port protocol, e.g: serial" msgstr "上傳連接埠協議,例如:串列" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:118 msgid "Upload the binary after the compilation." msgstr "編譯完成就上傳二進位碼" -#: internal/cli/burnbootloader/burnbootloader.go:47 +#: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." msgstr "使用燒錄器將 bootloader 上傳到開發板" -#: internal/cli/burnbootloader/burnbootloader.go:46 +#: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "上傳 bootloader" -#: internal/cli/compile/compile.go:262 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "以 %s 協議上傳到開發板需要以下資訊:" @@ -2438,48 +2542,49 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 取得指令的更多資訊" -#: internal/cli/compile/compile.go:425 +#: internal/cli/compile/compile.go:439 msgid "Used library" msgstr "使用的程式庫" -#: internal/cli/compile/compile.go:440 +#: internal/cli/compile/compile.go:454 msgid "Used platform" msgstr "使用的平台" -#: arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:154 msgid "Used: %[1]s" msgstr "使用: %[1]s" -#: commands/compile/compile.go:280 +#: commands/compile/compile.go:284 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " -#: arduino/builder/internal/detector/detector.go:347 +#: internal/arduino/builder/internal/detector/detector.go:346 msgid "Using cached library dependencies for file: %[1]s" msgstr "檔案: %[1]s 使用快取程式庫相依" -#: commands/compile/compile.go:281 +#: commands/compile/compile.go:285 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " -#: arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:311 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用檔案夾: %[3]s %[4]s 內的程式庫 %[1]s 版本 %[2]s " -#: arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:305 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "使用檔案夾: %[2]s %[3]s 內的程式庫 %[1]s " -#: arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:116 msgid "Using precompiled core: %[1]s" msgstr "使用預編譯核心: %[1]s" -#: arduino/builder/libraries.go:98 arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:97 +#: internal/arduino/builder/libraries.go:105 msgid "Using precompiled library in %[1]s" msgstr "使用在%[1]s 裏預編譯的程式庫" -#: arduino/builder/archive_compiled_files.go:52 -#: arduino/builder/compilation.go:175 +#: internal/arduino/builder/archive_compiled_files.go:49 +#: internal/arduino/builder/compilation.go:180 msgid "Using previously compiled file: %[1]s" msgstr "使用先前編譯的檔案: %[1]s" @@ -2487,61 +2592,61 @@ msgstr "使用先前編譯的檔案: %[1]s" msgid "VERSION" msgstr "版本" -#: internal/cli/lib/check_deps.go:36 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "版本_號" -#: internal/cli/monitor/monitor.go:232 +#: internal/cli/monitor/monitor.go:296 msgid "Values" msgstr "數值" -#: internal/cli/burnbootloader/burnbootloader.go:56 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:58 +#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 msgid "Verify uploaded binary after the upload." msgstr "上傳後驗證上傳的二進位碼" -#: internal/cli/compile/compile.go:426 internal/cli/compile/compile.go:441 -#: internal/cli/core/search.go:100 +#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 +#: internal/cli/core/search.go:114 msgid "Version" msgstr "版本" -#: internal/cli/lib/search.go:166 +#: internal/cli/lib/search.go:213 msgid "Versions: %s" msgstr "版本: %s" -#: arduino/cores/packagemanager/install_uninstall.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:182 msgid "WARNING cannot configure platform: %s" msgstr "警告! 無法設定平台: %s" -#: arduino/cores/packagemanager/install_uninstall.go:361 +#: internal/arduino/cores/packagemanager/install_uninstall.go:360 msgid "WARNING cannot configure tool: %s" msgstr "警告!無法設定工具: %s" -#: arduino/cores/packagemanager/install_uninstall.go:300 -#: arduino/cores/packagemanager/install_uninstall.go:413 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:412 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告 ! 無法執行 pre_uninstall 命令: %s" -#: internal/cli/compile/compile.go:307 +#: internal/cli/compile/compile.go:315 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告! sketch 用了一或多個客製程式庫編譯" -#: arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:282 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告: %[1]s 程式庫是 (%[2]s 架構),可能與選擇的開發板 (%[3]s架構)不相容 " -#: commands/upload/upload.go:445 +#: commands/upload/upload.go:443 msgid "Waiting for upload port..." msgstr "等待上傳連接埠..." -#: commands/compile/compile.go:286 +#: commands/compile/compile.go:290 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告: 開發板 %[1]s 並沒定義 %[2]s 喜好。自動設定成:%[3]s" -#: internal/cli/lib/search.go:159 +#: internal/cli/lib/search.go:206 msgid "Website: %s" msgstr "網站: %s" @@ -2559,19 +2664,19 @@ msgstr "將目前的設定寫入資料目錄裏面的設定檔" msgid "Writing config file: %v" msgstr "寫入設定檔: %v" -#: internal/cli/compile/compile.go:148 internal/cli/compile/compile.go:151 +#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 msgid "You cannot use the %s flag while compiling with a profile." msgstr "使用設定集編譯時不能使用 %s 旗標參數" -#: arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "保存與和索引不同的雜湊" -#: arduino/libraries/librariesmanager/install.go:192 +#: internal/arduino/libraries/librariesmanager/install.go:186 msgid "archive is not valid: multiple files found in zip file top level" msgstr "存檔無效: 在 zip 檔頂層找到多個檔案" -#: arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:189 msgid "archive is not valid: no files found in zip file top level" msgstr "存檔無效: 在 zip 檔的頂層沒找到檔案" @@ -2579,78 +2684,76 @@ msgstr "存檔無效: 在 zip 檔的頂層沒找到檔案" msgid "archivePath" msgstr "存檔路徑" -#: arduino/builder/internal/preprocessor/arduino_preprocessor.go:60 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 msgid "arduino-preprocessor pattern is missing" msgstr "缺少 arduino 預處理器樣態" -#: commands/upload/upload.go:715 -msgid "autodetect build artifact: %s" -msgstr "自動偵測建構成品: %s" - #: internal/cli/feedback/stdio.go:35 msgid "available only in text format" msgstr "只有本文格式" -#: commands/upload/upload.go:700 +#: internal/cli/lib/search.go:86 +msgid "basic search for \"audio\"" +msgstr "基本搜尋\"audio\" " + +#: internal/cli/lib/search.go:91 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "基本搜尋只限於官方維護者的 \"esp32\" 和 \"display\"" + +#: commands/upload/upload.go:698 msgid "binary file not found in %s" msgstr "%s 裏找不到二進位檔" -#: arduino/cores/packagemanager/package_manager.go:305 +#: internal/arduino/cores/packagemanager/package_manager.go:342 msgid "board %s not found" msgstr "找不到開發板 %s" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "開發板名" -#: arduino/libraries/librariesmanager/librariesmanager.go:161 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 msgid "built-in libraries directory not set" msgstr "內建程式庫目錄未設定" -#: arduino/discovery/discovery.go:346 arduino/discovery/discovery.go:369 -#: arduino/discovery/discovery.go:391 arduino/discovery/discovery.go:431 -#: arduino/discovery/discovery.go:457 +#: internal/arduino/discovery/discovery.go:346 +#: internal/arduino/discovery/discovery.go:369 +#: internal/arduino/discovery/discovery.go:391 +#: internal/arduino/discovery/discovery.go:431 +#: internal/arduino/discovery/discovery.go:457 msgid "calling %[1]s: %[2]w" msgstr "呼叫 %[1]s: %[2]w" -#: arduino/cores/status.go:132 arduino/cores/status.go:159 +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "找不到最新版的 %s " -#: commands/instances.go:360 +#: commands/instances.go:260 msgid "can't find latest release of tool %s" msgstr "找不到最新版的工具 %s " -#: arduino/sketch/sketch.go:106 +#: internal/arduino/sketch/sketch.go:109 msgid "can't find main Sketch file in %s" msgstr "在 %s 找不到 sketch 主檔" -#: arduino/cores/packagemanager/loader.go:825 +#: internal/arduino/cores/packagemanager/loader.go:701 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 為 %s 探索的樣態" -#: executils/output.go:52 -msgid "can't retrieve standard error stream: %s" -msgstr "無法取得標準錯誤流: %s" - -#: executils/output.go:34 -msgid "can't retrieve standard output stream: %s" -msgstr "無法取得標準輸出流: %s" - -#: arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:90 msgid "candidates" msgstr "候選" -#: commands/upload/upload.go:657 commands/upload/upload.go:664 +#: commands/upload/upload.go:655 commands/upload/upload.go:662 msgid "cannot execute upload tool: %s" msgstr "無法執行上傳工具: %s" -#: arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:39 msgid "checking local archive integrity" msgstr "檢查本地端存檔的完整性" -#: arduino/builder/build_options_manager.go:113 -#: arduino/builder/build_options_manager.go:116 +#: internal/arduino/builder/build_options_manager.go:110 +#: internal/arduino/builder/build_options_manager.go:113 msgid "cleaning build path" msgstr "清理建構路徑" @@ -2658,99 +2761,103 @@ msgstr "清理建構路徑" msgid "command" msgstr "指令" -#: arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:150 msgid "command '%[1]s' failed: %[2]s" msgstr "指令 '%[1]s' 失敗: %[2]s" -#: arduino/discovery/discovery.go:350 arduino/discovery/discovery.go:373 -#: arduino/discovery/discovery.go:395 arduino/discovery/discovery.go:435 -#: arduino/discovery/discovery.go:461 +#: internal/arduino/discovery/discovery.go:350 +#: internal/arduino/discovery/discovery.go:373 +#: internal/arduino/discovery/discovery.go:395 +#: internal/arduino/discovery/discovery.go:435 +#: internal/arduino/discovery/discovery.go:461 msgid "command failed: %s" msgstr "指令失敗: %s" -#: arduino/discovery/discovery.go:348 arduino/discovery/discovery.go:352 -#: arduino/discovery/discovery.go:371 arduino/discovery/discovery.go:375 -#: arduino/discovery/discovery.go:393 arduino/discovery/discovery.go:397 -#: arduino/discovery/discovery.go:433 arduino/discovery/discovery.go:459 -#: arduino/discovery/discovery.go:463 arduino/monitor/monitor.go:147 -#: arduino/monitor/monitor.go:153 +#: internal/arduino/discovery/discovery.go:348 +#: internal/arduino/discovery/discovery.go:352 +#: internal/arduino/discovery/discovery.go:371 +#: internal/arduino/discovery/discovery.go:375 +#: internal/arduino/discovery/discovery.go:393 +#: internal/arduino/discovery/discovery.go:397 +#: internal/arduino/discovery/discovery.go:433 +#: internal/arduino/discovery/discovery.go:459 +#: internal/arduino/discovery/discovery.go:463 +#: internal/arduino/monitor/monitor.go:147 +#: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "通信不同步,預期 '%[1]s',卻收到 '%[2]s'" -#: arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "計算雜湊: %s" -#: arduino/libraries/librariesmanager/install.go:145 +#: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "拷貝程式庫到目標目錄:" -#: commands/upload/upload.go:772 +#: commands/upload/upload.go:770 msgid "could not find a valid build artifact" msgstr "找不到正確的建構成品" -#: commands/core/install.go:62 +#: commands/core/install.go:63 msgid "could not overwrite" msgstr "無法覆寫" -#: commands/lib/install.go:133 +#: commands/lib/install.go:155 msgid "could not remove old library" msgstr "無法移除舊的程式庫" -#: arduino/sketch/yaml.go:78 arduino/sketch/yaml.go:82 -#: arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 +#: internal/arduino/sketch/yaml.go:86 msgid "could not update sketch project file" msgstr "無法更新 sketch 專案檔" -#: arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:95 msgid "creating core cache folder: %s" msgstr "建立核心快取檔案夾: %s" -#: arduino/cores/packagemanager/install_uninstall.go:217 +#: internal/arduino/cores/packagemanager/install_uninstall.go:216 msgid "creating installed.json in %[1]s: %[2]s" msgstr "在 %[1]s:%[2]s 建立 installed.json" -#: arduino/resources/install.go:44 arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:44 +#: internal/arduino/resources/install.go:48 msgid "creating temp dir for extraction: %s" msgstr "建立解壓縮用的臨時目錄: %s" -#: arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:195 msgid "data section exceeds available space in board" msgstr "資料區已超出開發板的可用空間" -#: commands/lib/resolve_deps.go:56 +#: commands/lib/resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "沒有 '%s' 的相依" -#: arduino/builder/export_cmake.go:115 -msgid "destination already exists" -msgstr "目的地已存在" - -#: arduino/libraries/librariesmanager/install.go:93 +#: internal/arduino/libraries/librariesmanager/install.go:92 msgid "destination dir %s already exists, cannot install" msgstr "目標目錄 %s 已存在,無法安裝" -#: arduino/libraries/librariesmanager/install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:136 msgid "destination directory already exists" msgstr "目標目錄已存在" -#: arduino/libraries/librariesmanager/install.go:282 +#: internal/arduino/libraries/librariesmanager/install.go:276 msgid "directory doesn't exist: %s" msgstr "目錄不存在: %s" -#: arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 msgid "discovery %[1]s process not started: %[2]w" msgstr "探索 %[1]s 程序未啟動: %[2]w" -#: arduino/cores/packagemanager/loader.go:756 +#: internal/arduino/cores/packagemanager/loader.go:632 msgid "discovery %s not found" msgstr "探索 %s找不到 " -#: arduino/cores/packagemanager/loader.go:760 +#: internal/arduino/cores/packagemanager/loader.go:636 msgid "discovery %s not installed" msgstr "探索 %s 未安裝" -#: arduino/cores/packagemanager/package_manager.go:698 +#: internal/arduino/cores/packagemanager/package_manager.go:734 msgid "discovery release not found: %s" msgstr "找不到探索發行: %s" @@ -2766,19 +2873,23 @@ msgstr "下載 Arduino SAMD 核心最新版" msgid "downloaded" msgstr "已下載" -#: commands/instances.go:138 +#: commands/instances.go:53 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下載 %[1]s 工具: %[2]s" -#: arduino/cores/fqbn.go:48 +#: internal/arduino/cores/fqbn.go:58 msgid "empty board identifier" msgstr "清空開發板識別" -#: arduino/sketch/sketch.go:92 +#: internal/arduino/serialutils/serialutils.go:140 +msgid "error during board reset" +msgstr "開發板重置時出錯" + +#: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "錯誤載入 sketch 專案:" -#: arduino/cores/packagemanager/loader.go:650 +#: internal/arduino/cores/packagemanager/loader.go:603 msgid "error opening %s" msgstr "錯誤開啟 %s" @@ -2786,7 +2897,7 @@ msgstr "錯誤開啟 %s" msgid "error parsing value: %v" msgstr "錯誤解析數值: %v" -#: arduino/sketch/profiles.go:193 +#: internal/arduino/sketch/profiles.go:202 msgid "error parsing version constraints" msgstr "錯誤解析版本限制" @@ -2798,15 +2909,15 @@ msgstr "錯誤處理伺服器回應" msgid "error querying Arduino Cloud Api" msgstr "錯誤查詢 Arduino Cloud Api" -#: arduino/resources/install.go:67 +#: internal/arduino/resources/install.go:67 msgid "extracting archive: %s" msgstr "解開存檔: %s" -#: arduino/libraries/librariesmanager/install.go:183 +#: internal/arduino/libraries/librariesmanager/install.go:177 msgid "extracting archive: %w" msgstr "解開存檔: %w" -#: arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:144 msgid "failed to compute hash of file \"%s\"" msgstr "計算 “%s” 檔的雜湊值失敗" @@ -2814,15 +2925,15 @@ msgstr "計算 “%s” 檔的雜湊值失敗" msgid "failed to initialize http client" msgstr "初始化 http 客戶端失敗" -#: arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:96 msgid "fetched archive size differs from size specified in index" msgstr "抓取的存檔大小跟索引內指明的大小不同" -#: arduino/resources/install.go:128 +#: internal/arduino/resources/install.go:122 msgid "files in archive must be placed in a subdirectory" msgstr "存檔內的檔案必須放在子目錄下" -#: arduino/cores/packagemanager/loader.go:61 +#: internal/arduino/cores/packagemanager/loader.go:54 msgid "finding absolute path of %s" msgstr "尋找 %s 的絕對路徑" @@ -2830,7 +2941,7 @@ msgstr "尋找 %s 的絕對路徑" msgid "flags" msgstr "旗標" -#: arduino/cores/packagemanager/loader.go:100 +#: internal/arduino/cores/packagemanager/loader.go:93 msgid "following symlink %s" msgstr "跟隨符式鏈接 %s" @@ -2838,12 +2949,12 @@ msgstr "跟隨符式鏈接 %s" msgid "for a specific version." msgstr "針對特定版本" -#: internal/cli/lib/check_deps.go:40 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "針對最新版本" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "針對特定版本" @@ -2856,73 +2967,71 @@ msgstr "產出 installation.id: %w" msgid "generating installation.secret: %w" msgstr "產出 installation.secret: %w" -#: arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:53 msgid "getting archive file info: %s" msgstr "取得存檔資訊: %s" -#: arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "取得存檔資訊: %s" -#: arduino/resources/checksums.go:66 arduino/resources/checksums.go:89 -#: arduino/resources/download.go:34 arduino/resources/helpers.go:38 -#: arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:34 +#: internal/arduino/resources/helpers.go:38 +#: internal/arduino/resources/install.go:55 msgid "getting archive path: %s" msgstr "取得存檔路徑: %s" -#: arduino/cores/packagemanager/package_manager.go:311 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "getting build properties for board %[1]s: %[2]s" msgstr "取得開發板 %[1]s: %[2]s 的建構屬性" -#: arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的探索相依" -#: arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的監視器相依" -#: arduino/cores/packagemanager/loader.go:711 -msgid "getting parent dir of %[1]s: %[2]s" -msgstr "取得 %[1]s: %[2]s 的父目錄" - -#: arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的工具相依" -#: arduino/libraries/librariesmanager/install.go:153 +#: internal/arduino/libraries/librariesmanager/install.go:147 msgid "install directory not set" msgstr "未設定安裝目錄" -#: commands/instances.go:142 +#: commands/instances.go:57 msgid "installing %[1]s tool: %[2]s" msgstr "安裝 %[1]s 工具: %[2]s" -#: arduino/cores/packagemanager/install_uninstall.go:209 +#: internal/arduino/cores/packagemanager/install_uninstall.go:208 msgid "installing platform %[1]s: %[2]s" msgstr "安裝平台%[1]s: %[2]s" -#: internal/cli/feedback/terminal.go:36 +#: internal/cli/feedback/terminal.go:37 msgid "interactive terminal not supported for the '%s' output format" msgstr "互動終端不支援 '%s' 輸出格式" -#: arduino/sketch/profiles.go:191 +#: internal/arduino/sketch/profiles.go:200 msgid "invalid '%s' directive" msgstr "無效的 '%s' 指令" -#: arduino/discovery/discovery.go:212 +#: internal/arduino/discovery/discovery.go:212 msgid "invalid 'add' message: missing port" msgstr "無效的 “加入” 訊息:找不到連接埠" -#: arduino/discovery/discovery.go:222 +#: internal/arduino/discovery/discovery.go:222 msgid "invalid 'remove' message: missing port" msgstr "無效的 “移除” 訊息:找不到連接埠" -#: arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "無效的校驗碼格式: %s" -#: arduino/cores/fqbn.go:54 arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 msgid "invalid config option: %s" msgstr "無效的設定選項: %s" @@ -2934,15 +3043,15 @@ msgstr "無效的空核心架構 '%s'" msgid "invalid empty core argument" msgstr "無效的空核心參數" -#: internal/cli/arguments/reference.go:86 +#: internal/cli/arguments/reference.go:87 msgid "invalid empty core name '%s'" msgstr "無效的空核心名 '%s'" -#: internal/cli/arguments/reference.go:71 +#: internal/cli/arguments/reference.go:72 msgid "invalid empty core reference '%s'" msgstr "無效的空核心參照 '%s'" -#: internal/cli/arguments/reference.go:76 +#: internal/cli/arguments/reference.go:77 msgid "invalid empty core version: '%s'" msgstr "無效的空核心版本: '%s'" @@ -2954,39 +3063,39 @@ msgstr "無效的空程式庫名" msgid "invalid empty library version: %s" msgstr "無效的空程式庫版本: %s" -#: arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:142 msgid "invalid empty option found" msgstr "找到無效的空選項" -#: arduino/libraries/librariesmanager/install.go:272 +#: internal/arduino/libraries/librariesmanager/install.go:266 msgid "invalid git url" msgstr "無效的 git 網址" -#: arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "無效的雜湊 '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:83 +#: internal/cli/arguments/reference.go:84 msgid "invalid item %s" msgstr "無效的項目 %s" -#: arduino/sketch/profiles.go:225 +#: internal/arduino/sketch/profiles.go:234 msgid "invalid library directive:" msgstr "無效的程式庫指令:" -#: arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:65 msgid "invalid library layout: %s" msgstr "無效的程式庫配置: %s" -#: arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:88 msgid "invalid library location: %s" msgstr "無效的程式庫位置: %s" -#: arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:139 msgid "invalid library: no header files found" msgstr "無效的程式庫: 找不到 .h 標頭檔" -#: arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:145 msgid "invalid option '%s'" msgstr "無效的選項 '%s'" @@ -3002,31 +3111,31 @@ msgstr "無效的建定目錄路徑: %[1]s 錯誤: %[2]w" msgid "invalid path writing inventory file: %[1]s error: %[2]w" msgstr "無效的庫存檔路徑: %[1]s 錯誤:%[2]w" -#: arduino/cores/packageindex/index.go:283 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "無效的平台存檔大小: %s" -#: arduino/sketch/profiles.go:195 +#: internal/arduino/sketch/profiles.go:204 msgid "invalid platform identifier" msgstr "無效的平台識別" -#: arduino/sketch/profiles.go:205 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform index URL:" msgstr "無效的平台索引位址:" -#: arduino/cores/packagemanager/loader.go:363 +#: internal/arduino/cores/packagemanager/loader.go:316 msgid "invalid pluggable monitor reference: %s" msgstr "無效的插拔式監視器參照: %s" -#: internal/cli/monitor/monitor.go:126 +#: internal/cli/monitor/monitor.go:186 msgid "invalid port configuration value for %s: %s" msgstr "無效的連接埠設定值 %s : %s" -#: internal/cli/monitor/monitor.go:134 +#: internal/cli/monitor/monitor.go:194 msgid "invalid port configuration: %s" msgstr "無效的連接埠設定: %s" -#: commands/upload/upload.go:644 +#: commands/upload/upload.go:642 msgid "invalid recipe '%[1]s': %[2]s" msgstr "無效的作法'%[1]s': %[2]s" @@ -3037,256 +3146,270 @@ msgid "" "cannot be \".\"." msgstr "無效的 sketch 名 \\\"%[1]s\\\": 首字元必須是英數字或底線, 接著可以是減號和逗點, 但最後字元不可以是逗點" -#: arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:149 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "無效的 '%[2]s' 選項值 '%[1]s' " -#: arduino/cores/packagemanager/loader.go:273 +#: internal/arduino/cores/packagemanager/loader.go:226 msgid "invalid version directory %s" msgstr "無效的版本目錄 %s" -#: arduino/sketch/profiles.go:227 +#: internal/arduino/sketch/profiles.go:236 msgid "invalid version:" msgstr "無效的版本:" -#: commands/daemon/settings.go:111 commands/daemon/settings.go:166 +#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 msgid "key not found in settings" msgstr "設定中找不到鍵值" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:43 msgid "keywords" msgstr "關鍵字" -#: arduino/libraries/librariesmanager/install.go:130 +#: internal/cli/lib/search.go:89 +msgid "libraries authored by Daniel Garcia" +msgstr "Daniel Garcia 發行的程式庫" + +#: internal/cli/lib/search.go:90 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "限 Adafruit 發行, 名字上有 \"gfx\" 的程式庫" + +#: internal/cli/lib/search.go:92 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "至少基於 \"IRremote\" 的程式庫" + +#: internal/cli/lib/search.go:93 +msgid "libraries that depend only on \"IRremote\"" +msgstr "只基於 \"IRremote\" 的程式庫" + +#: internal/cli/lib/search.go:87 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "名字有 \"buzzer\" 的程式庫" + +#: internal/cli/lib/search.go:88 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "名字上有 \"pcf8523\" 的程式庫" + +#: internal/arduino/libraries/librariesmanager/install.go:124 msgid "library %s already installed" msgstr "程式庫 %s 已安裝" -#: arduino/libraries/librariesmanager/install.go:319 +#: internal/arduino/libraries/librariesmanager/install.go:313 msgid "library not valid" msgstr "程式庫無效" -#: arduino/libraries/librariesmanager/librariesmanager.go:203 -msgid "library path does not exist: %s" -msgstr "程式庫路徑不存在: %s" - -#: arduino/serialutils/serialutils.go:67 +#: internal/arduino/serialutils/serialutils.go:66 msgid "listing serial ports" msgstr "列出序列埠" -#: arduino/cores/packagemanager/loader.go:301 -#: arduino/cores/packagemanager/loader.go:310 -#: arduino/cores/packagemanager/loader.go:315 +#: internal/arduino/cores/packagemanager/loader.go:254 +#: internal/arduino/cores/packagemanager/loader.go:263 +#: internal/arduino/cores/packagemanager/loader.go:268 msgid "loading %[1]s: %[2]s" msgstr "載入 %[1]s: %[2]s" -#: arduino/cores/packagemanager/loader.go:351 +#: internal/arduino/cores/packagemanager/loader.go:304 msgid "loading boards: %s" msgstr "載入開發板: %s" -#: arduino/cores/packagemanager/loader.go:666 -msgid "loading bundled tools from %s" -msgstr "從 %s 載入整捆的工具" - -#: arduino/cores/packagemanager/package_manager.go:452 -#: arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:489 +#: internal/arduino/cores/packagemanager/package_manager.go:504 msgid "loading json index file %[1]s: %[2]s" msgstr "載入json 索引檔 %[1]s:%[2]s" -#: arduino/libraries/librariesmanager/librariesmanager.go:185 -#: arduino/libraries/librariesmanager/librariesmanager.go:208 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 msgid "loading library from %[1]s: %[2]s" msgstr "從 %[1]s: %[2]s載入程式庫" -#: arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:54 msgid "loading library.properties: %s" msgstr "載入 library.properties: %s" -#: arduino/cores/packagemanager/loader.go:250 -#: arduino/cores/packagemanager/loader.go:278 +#: internal/arduino/cores/packagemanager/loader.go:203 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "loading platform release %s" msgstr "載入平台發行版 %s" -#: arduino/cores/packagemanager/loader.go:197 +#: internal/arduino/cores/packagemanager/loader.go:190 msgid "loading platform.txt" msgstr "載入 platform.txt" -#: arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:44 msgid "loading required platform %s" msgstr "載入需要的平台 %s" -#: arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:60 msgid "loading required tool %s" msgstr "載入需要的工具 %s" -#: arduino/cores/packagemanager/loader.go:625 +#: internal/arduino/cores/packagemanager/loader.go:578 msgid "loading tool release in %s" msgstr "載入在 %s 的工具" -#: arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:183 msgid "looking for boards.txt in %s" msgstr "在 %s 尋找 boards.txt" -#: arduino/sketch/sketch.go:76 +#: commands/upload/upload.go:713 +msgid "looking for build artifacts" +msgstr "尋找建構成品" + +#: internal/arduino/sketch/sketch.go:79 msgid "main file missing from sketch: %s" msgstr "sketch 缺少主檔: %s" -#: arduino/sketch/profiles.go:189 +#: internal/arduino/sketch/profiles.go:198 msgid "missing '%s' directive" msgstr "缺少 '%s' 指令" -#: arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "缺少 %s 的校驗碼" -#: arduino/cores/packagemanager/package_manager.go:413 +#: internal/arduino/cores/packagemanager/package_manager.go:450 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:100 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少 %s 的套件索引, 不保証未來更新與否" -#: arduino/cores/packagemanager/package_manager.go:418 +#: internal/arduino/cores/packagemanager/package_manager.go:455 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少被開發板 %[3]s 參照的平台 %[1]s : %[2]s" -#: arduino/cores/packagemanager/package_manager.go:423 +#: internal/arduino/cores/packagemanager/package_manager.go:460 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" -#: arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:152 msgid "missing signature" msgstr "找不到簽名" -#: arduino/cores/packagemanager/package_manager.go:709 +#: internal/arduino/cores/packagemanager/package_manager.go:745 msgid "monitor release not found: %s" msgstr "沒找到監視器發行版: %s" -#: arduino/libraries/librariesmanager/install.go:201 -#: arduino/libraries/librariesmanager/install.go:250 -#: arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:195 +#: internal/arduino/libraries/librariesmanager/install.go:244 +#: internal/arduino/resources/install.go:96 msgid "moving extracted archive to destination dir: %s" msgstr "移動解壓縮的存檔到目標資料夾: %s" -#: commands/upload/upload.go:767 +#: commands/upload/upload.go:765 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多個建構成品: '%[1]s' 和 '%[2]s'" -#: arduino/sketch/sketch.go:68 +#: internal/arduino/sketch/sketch.go:71 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "找到多個 sketch 檔 (%[1]v, %[2]v)" -#: arduino/cores/packagemanager/install_uninstall.go:335 +#: internal/arduino/cores/packagemanager/install_uninstall.go:334 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "沒找到目前作業系統相容工具版本 %[1]s,請聯絡 %[2]s" -#: executils/process.go:40 -msgid "no executable specified" -msgstr "未指定執行檔" - -#: commands/daemon/daemon.go:92 +#: commands/daemon/daemon.go:93 msgid "no instance specified" msgstr "未指定實例" -#: commands/upload/upload.go:722 +#: commands/upload/upload.go:720 msgid "no sketch or build directory/file specified" msgstr "未指定 sketch 或建構目錄/檔" -#: arduino/sketch/sketch.go:55 +#: internal/arduino/sketch/sketch.go:58 msgid "no such file or directory" msgstr "沒有這檔案/目錄" -#: arduino/resources/install.go:131 +#: internal/arduino/resources/install.go:125 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存檔中沒有單一的根目錄,找到了 '%[1]s' 和 '%[2]s'" -#: commands/upload/upload.go:639 +#: commands/upload/upload.go:637 msgid "no upload port provided" msgstr "未提供上傳連接埠" -#: arduino/sketch/sketch.go:278 +#: internal/arduino/sketch/sketch.go:280 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "在 %[1]s 找不到有效的 sketch : 缺少 %[2]s" -#: arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "目前的作業系統沒可用的版本,請聯絡 %s" -#: internal/cli/feedback/terminal.go:39 +#: internal/cli/feedback/terminal.go:51 msgid "not running in a terminal" msgstr "沒在終端執行" -#: arduino/resources/checksums.go:71 arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:59 msgid "opening archive file: %s" msgstr "開啟存檔: %s" -#: arduino/cores/packagemanager/loader.go:266 +#: internal/arduino/cores/packagemanager/loader.go:219 msgid "opening boards.txt" msgstr "開啟 boards.txt" -#: arduino/serialutils/serialutils.go:38 +#: internal/arduino/serialutils/serialutils.go:37 msgid "opening port at 1200bps" msgstr "以 1200 bps 開啟連接埠" -#: arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "開啟簽名檔: %s" -#: arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "開啟目標檔: %s" -#: arduino/cores/packagemanager/download.go:76 arduino/cores/status.go:97 -#: arduino/cores/status.go:122 arduino/cores/status.go:149 +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "找不到套件 %s" -#: arduino/cores/packagemanager/package_manager.go:481 +#: internal/arduino/cores/packagemanager/package_manager.go:518 msgid "package '%s' not found" msgstr "找不到套件 '%s'" -#: arduino/cores/packagemanager/loader.go:221 -msgid "parsing IDE bundled index" -msgstr "解析 IDE 同捆的索引" - -#: arduino/cores/board.go:165 -#: arduino/cores/packagemanager/package_manager.go:252 +#: internal/arduino/cores/board.go:165 +#: internal/arduino/cores/packagemanager/package_manager.go:289 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" -#: arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:72 msgid "parsing library_index.json: %s" msgstr "解析 library_index.json: %s" -#: arduino/cores/packagemanager/loader.go:181 +#: internal/arduino/cores/packagemanager/loader.go:174 msgid "path is not a platform directory: %s" msgstr "路徑不是平台目錄: %s" -#: arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "%[2]s 套件裏找不到 %[1]s 平台" -#: arduino/cores/packagemanager/download.go:92 -msgid "platform %s has no available releases" -msgstr "平台 %s 沒有可用的發行版" - -#: arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/packagemanager/package_manager.go:335 msgid "platform %s is not installed" msgstr "平台 %s 未安裝" -#: arduino/cores/packagemanager/install_uninstall.go:177 -#: arduino/cores/packagemanager/install_uninstall.go:281 -#: arduino/cores/packagemanager/loader.go:457 commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" +msgstr "平台不支援使用中的作業系統" + +#: commands/compile/compile.go:102 +#: internal/arduino/cores/packagemanager/install_uninstall.go:176 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/loader.go:410 msgid "platform not installed" msgstr "平台未安裝" -#: internal/cli/compile/compile.go:138 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "請改用 --build-property" -#: arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 msgid "pluggable discovery already added: %s" msgstr "已加入可插拔探索: %s" @@ -3294,115 +3417,108 @@ msgstr "已加入可插拔探索: %s" msgid "port" msgstr "連接埠" -#: internal/cli/arguments/port.go:125 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "沒找到連接埠: %[1]s %[2]s" -#: arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "協議版本不被支援: 要 %[1]d,卻得到 %[2]d" -#: arduino/discovery/discovery.go:354 +#: internal/arduino/discovery/discovery.go:354 msgid "protocol version not supported: requested 1, got %d" msgstr "協議版本不被支援: 要 1,卻得到%d" -#: arduino/cores/packagemanager/loader.go:716 -msgid "reading %[1]s: %[2]s" -msgstr "讀取 %[1]s: %[2]s" - -#: arduino/libraries/librariesmanager/librariesmanager.go:176 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 msgid "reading dir %[1]s: %[2]s" msgstr "讀取目錄 %[1]s: %[2]s" -#: arduino/libraries/loader.go:198 +#: internal/arduino/libraries/loader.go:198 msgid "reading directory %[1]s content: %[2]w" msgstr "讀取目錄 %[1]s 內容: %[2]w" -#: arduino/cores/packagemanager/loader.go:71 -#: arduino/cores/packagemanager/loader.go:153 -#: arduino/cores/packagemanager/loader.go:260 -#: arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:64 +#: internal/arduino/cores/packagemanager/loader.go:146 +#: internal/arduino/cores/packagemanager/loader.go:213 +#: internal/arduino/cores/packagemanager/loader.go:570 msgid "reading directory %s" msgstr "讀取目錄 %s" -#: arduino/libraries/librariesmanager/install.go:292 +#: internal/arduino/libraries/librariesmanager/install.go:286 msgid "reading directory %s content: %w" msgstr "讀取目錄%s 內容: %w" -#: arduino/builder/sketch.go:83 +#: internal/arduino/builder/sketch.go:82 msgid "reading file %[1]s: %[2]s" msgstr "讀取檔案%[1]s: %[2]s" -#: arduino/sketch/sketch.go:209 -msgid "reading files: %v" -msgstr "讀取檔案: %v" +#: internal/arduino/sketch/sketch.go:211 +msgid "reading files" +msgstr "讀取檔案" -#: arduino/libraries/librariesresolver/cpp.go:104 +#: internal/arduino/libraries/librariesresolver/cpp.go:91 msgid "reading lib headers: %s" msgstr "讀取程式庫頭檔: %s" -#: arduino/libraries/libraries.go:228 +#: internal/arduino/libraries/libraries.go:228 msgid "reading lib src dir: %s" msgstr "正在讀取 lib src 目錄: %s" -#: arduino/libraries/libraries.go:116 +#: internal/arduino/libraries/libraries.go:116 msgid "reading library headers: %w" msgstr "讀取程式庫標頭檔:%w" -#: arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:66 msgid "reading library_index.json: %s" msgstr "讀取 library_index.json: %s" -#: arduino/resources/install.go:121 +#: internal/arduino/resources/install.go:115 msgid "reading package root dir: %s" msgstr "讀取套件根目錄: %s" -#: commands/upload/upload.go:633 +#: commands/upload/upload.go:631 msgid "recipe not found '%s'" msgstr "作法未找到 %s" -#: arduino/cores/packagemanager/package_manager.go:557 +#: internal/arduino/cores/packagemanager/package_manager.go:594 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到工具 %[2]s 的發行版 %[1]s" -#: arduino/cores/status.go:91 arduino/cores/status.go:115 -#: arduino/cores/status.go:142 +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 msgid "release cannot be nil" msgstr "發行版不能是無" -#: arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:44 msgid "removing corrupted archive file: %s" msgstr "刪除損壞的存檔 %s" -#: arduino/libraries/librariesmanager/install.go:156 +#: internal/arduino/libraries/librariesmanager/install.go:150 msgid "removing library directory: %s" msgstr "刪除程式庫目錄: %s" -#: arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:307 msgid "removing platform files: %s" msgstr "刪除平台檔: %s" -#: arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到平台 %[2]s 需要的版本 %[1]s" -#: arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "取得 Arduino 公鑰:%s" -#: arduino/libraries/loader.go:116 arduino/libraries/loader.go:154 -msgid "scanning examples: %s" -msgstr "掃描範例: %s" - -#: arduino/cores/packagemanager/loader.go:702 -msgid "searching for builtin_tools_versions.txt in %[1]s: %[2]s" -msgstr "在 %[1]s: %[2]s 尋找 builtin_tools_versions.txt" +#: internal/arduino/libraries/loader.go:116 +#: internal/arduino/libraries/loader.go:154 +msgid "scanning sketch examples" +msgstr "掃描 sketch 範例" -#: arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:73 msgid "searching package root dir: %s" msgstr "尋找套件根目錄: %s" -#: arduino/serialutils/serialutils.go:48 +#: internal/arduino/serialutils/serialutils.go:47 msgid "setting DTR to OFF" msgstr "將 DTR 設為 OFF" @@ -3419,7 +3535,7 @@ msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "sketch 名字過長(%[1]d 字元)。 最大允許 %[2]d 字元" -#: arduino/sketch/sketch.go:48 arduino/sketch/sketch.go:53 +#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 msgid "sketch path is not valid" msgstr "sketch 路徑無效" @@ -3427,95 +3543,88 @@ msgstr "sketch 路徑無效" msgid "sketchPath" msgstr "sketchPath" -#: arduino/builder/export_cmake.go:107 -msgid "source is not a directory" -msgstr "來源不是目錄" - -#: arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 msgid "starting discovery %s" msgstr "開始探索 %s" -#: arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:118 msgid "testing archive checksum: %s" msgstr "測試存檔校驗碼: %s" -#: arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:111 msgid "testing archive size: %s" msgstr "測試存檔大小: %s" -#: arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:105 msgid "testing if archive is cached: %s" msgstr "測試存檔是否被快取: %s" -#: arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:37 msgid "testing local archive integrity: %s" msgstr "測試本地存檔完整性: %s" -#: arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:190 msgid "text section exceeds available space in board" msgstr "本文區已超出開發板的可用空間" -#: arduino/builder/internal/detector/detector.go:210 -#: arduino/builder/internal/preprocessor/ctags.go:70 +#: internal/arduino/builder/internal/detector/detector.go:210 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "the compilation database may be incomplete or inaccurate" msgstr "編譯資料庫可能不完整或不準確" -#: commands/core/list.go:63 -msgid "the platform has no releases" -msgstr "該平台沒有發行版" - #: commands/board/list.go:103 msgid "the server responded with status %s" msgstr "伺服器回應狀態 %s" -#: arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:140 msgid "timeout waiting for message" msgstr "等待訊息超時" -#: arduino/discovery/discovery.go:251 +#: internal/arduino/discovery/discovery.go:251 msgid "timeout waiting for message from %s" msgstr "等待來自 %s 的訊息超時" -#: arduino/cores/packagemanager/install_uninstall.go:401 +#: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "工具 %s 不是由套件管理員管理的" -#: arduino/cores/status.go:101 arduino/cores/status.go:126 -#: arduino/cores/status.go:153 +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 msgid "tool %s not found" msgstr "找不到工具 %s" -#: arduino/cores/packagemanager/package_manager.go:507 +#: internal/arduino/cores/packagemanager/package_manager.go:544 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" -#: arduino/cores/packagemanager/install_uninstall.go:396 +#: internal/arduino/cores/packagemanager/install_uninstall.go:395 msgid "tool not installed" msgstr "工具未安裝" -#: arduino/cores/packagemanager/package_manager.go:687 -#: arduino/cores/packagemanager/package_manager.go:793 +#: internal/arduino/cores/packagemanager/package_manager.go:723 +#: internal/arduino/cores/packagemanager/package_manager.go:829 msgid "tool release not found: %s" msgstr "工具發行未找到: %s" -#: arduino/cores/status.go:105 +#: internal/arduino/cores/status.go:105 msgid "tool version %s not found" msgstr "工具版本 %s 未找到" -#: commands/lib/install.go:61 +#: commands/lib/install.go:65 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要兩個不同版本的程式庫 %[1]s : %[2]s 和 %[3]s" -#: arduino/builder/sketch.go:76 arduino/builder/sketch.go:120 +#: internal/arduino/builder/sketch.go:75 +#: internal/arduino/builder/sketch.go:119 msgid "unable to compute relative path to the sketch for the item" msgstr "無法計算 sketch 的相對路徑" -#: arduino/builder/sketch.go:45 +#: internal/arduino/builder/sketch.go:44 msgid "unable to create a folder to save the sketch" msgstr "無法建立保存 sketch 的資料夾" -#: arduino/builder/sketch.go:126 +#: internal/arduino/builder/sketch.go:125 msgid "unable to create the folder containing the item" msgstr "無法建立含有項目的資料夾" @@ -3523,31 +3632,31 @@ msgstr "無法建立含有項目的資料夾" msgid "unable to marshal config to YAML: %v" msgstr "無法將 config 轉成 YAML: %v" -#: arduino/builder/sketch.go:164 +#: internal/arduino/builder/sketch.go:163 msgid "unable to read contents of the destination item" msgstr "無法讀取目標項目的內容" -#: arduino/builder/sketch.go:137 +#: internal/arduino/builder/sketch.go:136 msgid "unable to read contents of the source item" msgstr "無法讀取來源項目的內容" -#: arduino/builder/sketch.go:147 +#: internal/arduino/builder/sketch.go:146 msgid "unable to write to destination file" msgstr "無法寫入目標檔" -#: arduino/cores/packagemanager/package_manager.go:286 +#: internal/arduino/cores/packagemanager/package_manager.go:323 msgid "unknown package %s" msgstr "未知的套件 %s" -#: arduino/cores/packagemanager/package_manager.go:293 +#: internal/arduino/cores/packagemanager/package_manager.go:330 msgid "unknown platform %s:%s" msgstr "未知的平台 %s:%s" -#: arduino/sketch/sketch.go:147 +#: internal/arduino/sketch/sketch.go:150 msgid "unknown sketch file extension '%s'" msgstr "未知的 sketch 副檔名 %s" -#: arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "未支援的雜湊演算法: %s" @@ -3559,27 +3668,27 @@ msgstr "升級 arduino:samd 到最新版" msgid "upgrade everything to the latest version" msgstr "升級全部內容到最新版" -#: commands/upload/upload.go:668 +#: commands/upload/upload.go:666 msgid "uploading error: %s" msgstr "上傳錯誤: %s" -#: arduino/libraries/librariesmanager/librariesmanager.go:159 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 msgid "user directory not set" msgstr "用戶目錄未設定" -#: internal/cli/feedback/terminal.go:73 +#: internal/cli/feedback/terminal.go:93 msgid "user input not supported for the '%s' output format" msgstr "用戶輸入不支援 '%s' 輸出格式" -#: internal/cli/feedback/terminal.go:76 +#: internal/cli/feedback/terminal.go:96 msgid "user input not supported in non interactive mode" msgstr "在非互動模式下不支援用戶輸入" -#: arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:176 msgid "version %s not available for this operating system" msgstr "版本 %s 不適合本作業系統" -#: arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:155 msgid "version %s not found" msgstr "沒找到版本 %s " From b718fef86c801b12b918bd7ec10f12b6fea5af56 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Thu, 11 Jan 2024 15:23:55 +0100 Subject: [PATCH 083/361] [skip-changelog] update the builder container to use go 1.21.6 (#2496) --- DistTasks.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DistTasks.yml b/DistTasks.yml index 7aaaff47a26..1195fd0e5f9 100644 --- a/DistTasks.yml +++ b/DistTasks.yml @@ -19,7 +19,7 @@ version: "3" vars: CONTAINER: "docker.elastic.co/beats-dev/golang-crossbuild" - GO_VERSION: "1.21.1" + GO_VERSION: "1.21.6" tasks: Windows_32bit: From 2b91d4b6b98f910514a0baf88284bb25c7306625 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 22:07:42 -0800 Subject: [PATCH 084/361] [skip-changelog] Bump gitpython from 3.1.37 to 3.1.41 (#2495) Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.37 to 3.1.41. - [Release notes](https://github.com/gitpython-developers/GitPython/releases) - [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES) - [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.37...3.1.41) --- updated-dependencies: - dependency-name: gitpython dependency-type: direct:development ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 12 ++++++------ pyproject.toml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/poetry.lock b/poetry.lock index 0db6b6a98b9..357c705c4ec 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "click" @@ -58,20 +58,20 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.37" +version = "3.1.41" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.37-py3-none-any.whl", hash = "sha256:5f4c4187de49616d710a77e98ddf17b4782060a1788df441846bddefbb89ab33"}, - {file = "GitPython-3.1.37.tar.gz", hash = "sha256:f9b9ddc0761c125d5780eab2d64be4873fc6817c2899cbcb34b02344bdc7bc54"}, + {file = "GitPython-3.1.41-py3-none-any.whl", hash = "sha256:c36b6634d069b3f719610175020a9aed919421c87552185b085e04fbbdb10b7c"}, + {file = "GitPython-3.1.41.tar.gz", hash = "sha256:ed66e624884f76df22c8e16066d567aaa5a37d5b5fa19db2c6df6f7156db9048"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" [package.extras] -test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mypy", "pre-commit", "pytest", "pytest-cov", "pytest-sugar"] +test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "sumtypes"] [[package]] name = "importlib-metadata" @@ -502,4 +502,4 @@ testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>= [metadata] lock-version = "2.0" python-versions = ">=3.8, !=3.9.7, <4" -content-hash = "f6b03857c9f75656180eb32424f9876d1d72a6dc8cfb589430239c650bf80e6d" +content-hash = "97810ce6e4681e1f5b6e19fde79fe38a6a9bf77d8cb512cb6d0e3f485953c7c1" diff --git a/pyproject.toml b/pyproject.toml index 7a0f3c7e283..37945f12b7e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,5 +11,5 @@ python = ">=3.8, !=3.9.7, <4" mkdocs = "^1.2.1" mkdocs-material = "^7.1.8" mdx-truly-sane-lists = "^1.2" -GitPython = "^3.1.37" +GitPython = "^3.1.41" mike = "^1.0.1" From cc2be6052e58eda41bcc3ce5cf3c8b0f101ecc3e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 11 Jan 2024 22:14:47 -0800 Subject: [PATCH 085/361] [skip-changelog] Bump jinja2 from 3.1.2 to 3.1.3 (#2498) Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.2 to 3.1.3. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.2...3.1.3) --- updated-dependencies: - dependency-name: jinja2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index 357c705c4ec..cbdc3c6738f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -94,13 +94,13 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.3" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, ] [package.dependencies] From 8115da162f04b5a77ab442b6a861813fd13e9166 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 16 Jan 2024 14:18:24 +0100 Subject: [PATCH 086/361] Fixed missing `ARDUINO_USER_AGENT` env var setting. (#2501) * Added integration test * Fixed missing ARDUINO_USER_AGENT env var --- commands/compile/compile.go | 1 + internal/arduino/builder/builder.go | 6 +- .../compile_3/compile_env_var_test.go | 60 +++++++++++++++++++ .../compile_3/testdata/printenv/.gitignore | 1 + .../compile_3/testdata/printenv/main.go | 12 ++++ 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 internal/integrationtest/compile_3/compile_env_var_test.go create mode 100644 internal/integrationtest/compile_3/testdata/printenv/.gitignore create mode 100644 internal/integrationtest/compile_3/testdata/printenv/main.go diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 75e86b8f52d..0beebfa56ca 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -199,6 +199,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream paths.NewPathList(req.GetLibrary()...), outStream, errStream, req.GetVerbose(), req.GetWarnings(), progressCB, + pme.GetEnvVarsForSpawnedProcess(), ) if err != nil { if strings.Contains(err.Error(), "invalid build properties") { diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 7cbe0544a26..40ca74e44d2 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -92,6 +92,8 @@ type Builder struct { libsDetector *detector.SketchLibrariesDetector + toolEnv []string + // This is a function used to parse the output of the compiler // It is used to extract errors and warnings compilerOutputParser diagnostics.CompilerOutputParserCB @@ -133,6 +135,7 @@ func NewBuilder( libraryDirs paths.PathList, stdout, stderr io.Writer, verbose bool, warningsLevel string, progresCB rpc.TaskProgressCB, + toolEnv []string, ) (*Builder, error) { buildProperties := properties.NewMap() if boardBuildProperties != nil { @@ -216,6 +219,7 @@ func NewBuilder( buildArtifacts: &buildArtifacts{}, targetPlatform: targetPlatform, actualPlatform: actualPlatform, + toolEnv: toolEnv, libsDetector: detector.NewSketchLibrariesDetector( libsManager, libsResolver, useCachedLibrariesResolution, @@ -521,7 +525,7 @@ func (b *Builder) prepareCommandForRecipe(buildProperties *properties.Map, recip } } - command, err := paths.NewProcess(nil, parts...) + command, err := paths.NewProcess(b.toolEnv, parts...) if err != nil { return nil, err } diff --git a/internal/integrationtest/compile_3/compile_env_var_test.go b/internal/integrationtest/compile_3/compile_env_var_test.go new file mode 100644 index 00000000000..ee786c2d881 --- /dev/null +++ b/internal/integrationtest/compile_3/compile_env_var_test.go @@ -0,0 +1,60 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 compile_test + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestCompileEnvVarOnNewProcess(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/2499 + + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Run update-index with our test index + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + // Prepare sketchbook and sketch + sketch, err := paths.New("testdata", "bare_minimum").Abs() + require.NoError(t, err) + + // Build "printenv" helper insider testdata/printenv + printenvDir, err := paths.New("testdata", "printenv").Abs() + require.NoError(t, err) + builder, err := paths.NewProcess(nil, "go", "build") + require.NoError(t, err) + builder.SetDir(printenvDir.String()) + require.NoError(t, builder.Run()) + printenv := printenvDir.Join("printenv") + + // Patch avr core to run printenv instead of size + plTxt, err := cli.DataDir().Join("packages", "arduino", "hardware", "avr", "1.8.6", "platform.txt").Append() + require.NoError(t, err) + _, err = plTxt.WriteString("recipe.size.pattern=" + printenv.String() + "\n") + require.NoError(t, err) + require.NoError(t, plTxt.Close()) + + // Run compile and get ENV + _, stderr, err := cli.Run("compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(stderr), "ENV> ARDUINO_USER_AGENT=") +} diff --git a/internal/integrationtest/compile_3/testdata/printenv/.gitignore b/internal/integrationtest/compile_3/testdata/printenv/.gitignore new file mode 100644 index 00000000000..8094186ae54 --- /dev/null +++ b/internal/integrationtest/compile_3/testdata/printenv/.gitignore @@ -0,0 +1 @@ +printenv diff --git a/internal/integrationtest/compile_3/testdata/printenv/main.go b/internal/integrationtest/compile_3/testdata/printenv/main.go new file mode 100644 index 00000000000..0701e4f1594 --- /dev/null +++ b/internal/integrationtest/compile_3/testdata/printenv/main.go @@ -0,0 +1,12 @@ +package main + +import ( + "fmt" + "os" +) + +func main() { + for _, env := range os.Environ() { + fmt.Fprintln(os.Stderr, "ENV>", env) + } +} From 3ccdb9d216c0b5eb2d2583aa2dd10cf92658c537 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 17 Jan 2024 14:04:52 +0100 Subject: [PATCH 087/361] Fixed compile error when sketch has a broken symlink (#2497) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Removed unneeded pointer * Improved error message * Update go-paths library * Added integration tests * Reduced timeout for symlink-loop tests * Fixed unit tests Previously the unit tests were creating the wrong env to test: internal/arduino/libraries/testdata/TestLib ├── examples │   ├── UpGoer1 -> testdata/TestLib │   └── UpGoer2 -> testdata/TestLib ├── library.properties └── src └── TestLib.h The two UpGoer1 and UpGoer2 are broken links. The correct tree is the following: internal/arduino/libraries/testdata/TestLib ├── examples │   ├── UpGoer1 -> .. │   └── UpGoer2 -> .. ├── library.properties └── src └── TestLib.h that actually triggers the symlink loop we are testing. * Fixed integration test * Removed apparently useless check for "readable" files --- .../arduino/go-paths-helper.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 +- internal/arduino/libraries/libraries_test.go | 14 ++--- internal/arduino/sketch/sketch.go | 15 ++---- internal/arduino/sketch/sketch_test.go | 4 +- .../integrationtest/compile_1/compile_test.go | 26 +++++++-- .../compile_4/broken_symlink_test.go | 54 +++++++++++++++++++ ...ValidSketchWithBrokenSketchFileSymlink.ino | 2 + .../other_file.ino | 1 + .../ValidSketchWithBrokenSymlink.ino | 2 + .../ValidSketchWithBrokenSymlink/other_file | 1 + ...ketchWithNonInoBrokenSketchFileSymlink.ino | 2 + .../other_file.c | 1 + 14 files changed, 104 insertions(+), 26 deletions(-) create mode 100644 internal/integrationtest/compile_4/broken_symlink_test.go create mode 100644 internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/ValidSketchWithBrokenSketchFileSymlink.ino create mode 120000 internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/other_file.ino create mode 100644 internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/ValidSketchWithBrokenSymlink.ino create mode 120000 internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/other_file create mode 100644 internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/ValidSketchWithNonInoBrokenSketchFileSymlink.ino create mode 120000 internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/other_file.c diff --git a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml index c821a1e1141..05f3ecab7a7 100644 --- a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml +++ b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/arduino/go-paths-helper -version: v1.11.0 +version: v1.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/arduino/go-paths-helper diff --git a/go.mod b/go.mod index c52a74c4774..bd06bc1058a 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 - github.com/arduino/go-paths-helper v1.11.0 + github.com/arduino/go-paths-helper v1.12.0 github.com/arduino/go-properties-orderedmap v1.8.0 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 diff --git a/go.sum b/go.sum index bf71ec2ca0a..74dc55a47ad 100644 --- a/go.sum +++ b/go.sum @@ -11,8 +11,8 @@ github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.11.0 h1:hkpGb9AtCTByTj2FKutuHWb3klDf4kAKL10hW+fN+oE= -github.com/arduino/go-paths-helper v1.11.0/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= +github.com/arduino/go-paths-helper v1.12.0 h1:xizOQtI9iHdl19qXd1EmWg5i9W//2bOCOYwlNv8F61E= +github.com/arduino/go-paths-helper v1.12.0/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= github.com/arduino/go-properties-orderedmap v1.8.0 h1:wEfa6hHdpezrVOh787OmClsf/Kd8qB+zE3P2Xbrn0CQ= github.com/arduino/go-properties-orderedmap v1.8.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6dbLC3y4i02zFT5quS4X6iioWifGlVwfy4= diff --git a/internal/arduino/libraries/libraries_test.go b/internal/arduino/libraries/libraries_test.go index 9896ae577fb..33b0de48a3b 100644 --- a/internal/arduino/libraries/libraries_test.go +++ b/internal/arduino/libraries/libraries_test.go @@ -95,15 +95,16 @@ func TestLibrariesLoader(t *testing.T) { func TestSymlinkLoop(t *testing.T) { // Set up directory structure of test library. testLib := paths.New("testdata", "TestLib") - examplesPath := testLib.Join("examples") + examplesPath, err := testLib.Join("examples").Abs() + require.NoError(t, err) require.NoError(t, examplesPath.Mkdir()) defer examplesPath.RemoveAll() // It's probably most friendly for contributors using Windows to create the symlinks needed for the test on demand. - err := os.Symlink(examplesPath.Join("..").String(), examplesPath.Join("UpGoer1").String()) + err = os.Symlink(examplesPath.String(), examplesPath.Join("UpGoer1").String()) require.NoError(t, err, "This test must be run as administrator on Windows to have symlink creation privilege.") // It's necessary to have multiple symlinks to a parent directory to create the loop. - err = os.Symlink(examplesPath.Join("..").String(), examplesPath.Join("UpGoer2").String()) + err = os.Symlink(examplesPath.String(), examplesPath.Join("UpGoer2").String()) require.NoError(t, err) // The failure condition is Load() never returning, testing for which requires setting up a timeout. @@ -123,15 +124,16 @@ func TestSymlinkLoop(t *testing.T) { func TestLegacySymlinkLoop(t *testing.T) { // Set up directory structure of test library. testLib := paths.New("testdata", "LegacyLib") - examplesPath := testLib.Join("examples") + examplesPath, err := testLib.Join("examples").Abs() + require.NoError(t, err) require.NoError(t, examplesPath.Mkdir()) defer examplesPath.RemoveAll() // It's probably most friendly for contributors using Windows to create the symlinks needed for the test on demand. - err := os.Symlink(examplesPath.Join("..").String(), examplesPath.Join("UpGoer1").String()) + err = os.Symlink(examplesPath.String(), examplesPath.Join("UpGoer1").String()) require.NoError(t, err, "This test must be run as administrator on Windows to have symlink creation privilege.") // It's necessary to have multiple symlinks to a parent directory to create the loop. - err = os.Symlink(examplesPath.Join("..").String(), examplesPath.Join("UpGoer2").String()) + err = os.Symlink(examplesPath.String(), examplesPath.Join("UpGoer2").String()) require.NoError(t, err) // The failure condition is Load() never returning, testing for which requires setting up a timeout. diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index ff827898c87..7833823b424 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -111,18 +111,11 @@ func New(path *paths.Path) (*Sketch, error) { sketchFolderFiles, err := sketch.supportedFiles() if err != nil { - return nil, err + return nil, fmt.Errorf("%s: %w", tr("reading sketch files"), err) } // Collect files - for _, p := range *sketchFolderFiles { - // Skip files that can't be opened - f, err := p.Open() - if err != nil { - continue - } - f.Close() - + for _, p := range sketchFolderFiles { ext := p.Ext() if globals.MainFileValidExtensions[ext] { if p.EqualsTo(mainFile) { @@ -160,7 +153,7 @@ func New(path *paths.Path) (*Sketch, error) { // supportedFiles reads all files recursively contained in Sketch and // filter out unneded or unsupported ones and returns them -func (s *Sketch) supportedFiles() (*paths.PathList, error) { +func (s *Sketch) supportedFiles() (paths.PathList, error) { filterValidExtensions := func(p *paths.Path) bool { return globals.MainFileValidExtensions[p.Ext()] || globals.AdditionalFileValidExtensions[p.Ext()] } @@ -180,7 +173,7 @@ func (s *Sketch) supportedFiles() (*paths.PathList, error) { if err != nil { return nil, err } - return &files, nil + return files, nil } // GetProfile returns the requested profile or an error if not found diff --git a/internal/arduino/sketch/sketch_test.go b/internal/arduino/sketch/sketch_test.go index d6f42f9b805..9f18e45c591 100644 --- a/internal/arduino/sketch/sketch_test.go +++ b/internal/arduino/sketch/sketch_test.go @@ -341,7 +341,7 @@ func TestNewSketchWithSymlinkLoop(t *testing.T) { return false } }, - 20*time.Second, + 5*time.Second, 10*time.Millisecond, "Infinite symlink loop while loading sketch", ) @@ -380,7 +380,7 @@ func TestSketchWithMultipleSymlinkLoops(t *testing.T) { return false } }, - 20*time.Second, + 5*time.Second, 10*time.Millisecond, "Infinite symlink loop while loading sketch", ) diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 2808d14f5e0..554c7c9d365 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -220,16 +220,36 @@ func compileWithSketchWithSymlinkSelfloop(t *testing.T, env *integrationtest.Env require.NoError(t, err) require.Contains(t, string(stdout), "Sketch created in: "+sketchPath.String()) - // create a symlink that loops on himself + // Create a symlink that loops on himself + // + // /tmp/cli2843369229/Arduino/CompileIntegrationTestSymlinkSelfLoop + // ├── CompileIntegrationTestSymlinkSelfLoop.ino + // └── loop -> /tmp/cli2843369229/Arduino/CompileIntegrationTestSymlinkSelfLoop/loop + // + // in this case the link is "broken", and it will be ignored by the compiler loopFilePath := sketchPath.Join("loop") err = os.Symlink(loopFilePath.String(), loopFilePath.String()) require.NoError(t, err) - // Build sketch for arduino:avr:uno + _, _, err = cli.Run("compile", "-b", fqbn, sketchPath.String()) + require.NoError(t, err) + + // Add a symlink that loops on himself named as a .ino file + // + // /tmp/cli2843369229/Arduino/CompileIntegrationTestSymlinkSelfLoop + // ├── CompileIntegrationTestSymlinkSelfLoop.ino + // ├── loop -> /tmp/cli2843369229/Arduino/CompileIntegrationTestSymlinkSelfLoop/loop + // └── loop.ino -> /tmp/cli2843369229/Arduino/CompileIntegrationTestSymlinkSelfLoop/loop.ino + // + // in this case the new link is "broken" as before, but being part of the sketch will trigger an error. + loopInoFilePath := sketchPath.Join("loop.ino") + err = os.Symlink(loopFilePath.String(), loopInoFilePath.String()) + require.NoError(t, err) + _, stderr, err := cli.Run("compile", "-b", fqbn, sketchPath.String()) // The assertion is a bit relaxed in this case because win behaves differently from macOs and linux // returning a different error detailed message - require.Contains(t, string(stderr), "Can't open sketch:") + require.Contains(t, string(stderr), "Error during build:") require.Error(t, err) } { diff --git a/internal/integrationtest/compile_4/broken_symlink_test.go b/internal/integrationtest/compile_4/broken_symlink_test.go new file mode 100644 index 00000000000..42d948269c6 --- /dev/null +++ b/internal/integrationtest/compile_4/broken_symlink_test.go @@ -0,0 +1,54 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 compile_test + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestCompileWithBrokenSymLinks(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + t.Cleanup(env.CleanUp) + + // Install Arduino AVR Boards + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + t.Run("NonSketchFileBroken", func(t *testing.T) { + sketch, err := paths.New("testdata", "ValidSketchWithBrokenSymlink").Abs() + require.NoError(t, err) + _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + }) + + t.Run("SketchFileBroken", func(t *testing.T) { + sketch, err := paths.New("testdata", "ValidSketchWithBrokenSketchFileSymlink").Abs() + require.NoError(t, err) + _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", sketch.String()) + require.Error(t, err) + }) + + t.Run("NonInoSketchFileBroken", func(t *testing.T) { + sketch, err := paths.New("testdata", "ValidSketchWithNonInoBrokenSketchFileSymlink").Abs() + require.NoError(t, err) + _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", sketch.String()) + require.Error(t, err) + }) +} diff --git a/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/ValidSketchWithBrokenSketchFileSymlink.ino b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/ValidSketchWithBrokenSketchFileSymlink.ino new file mode 100644 index 00000000000..660bdbccfdb --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/ValidSketchWithBrokenSketchFileSymlink.ino @@ -0,0 +1,2 @@ +void setup() {} +void loop() {} diff --git a/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/other_file.ino b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/other_file.ino new file mode 120000 index 00000000000..86a410dd1d3 --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSketchFileSymlink/other_file.ino @@ -0,0 +1 @@ +broken \ No newline at end of file diff --git a/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/ValidSketchWithBrokenSymlink.ino b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/ValidSketchWithBrokenSymlink.ino new file mode 100644 index 00000000000..660bdbccfdb --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/ValidSketchWithBrokenSymlink.ino @@ -0,0 +1,2 @@ +void setup() {} +void loop() {} diff --git a/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/other_file b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/other_file new file mode 120000 index 00000000000..86a410dd1d3 --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/ValidSketchWithBrokenSymlink/other_file @@ -0,0 +1 @@ +broken \ No newline at end of file diff --git a/internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/ValidSketchWithNonInoBrokenSketchFileSymlink.ino b/internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/ValidSketchWithNonInoBrokenSketchFileSymlink.ino new file mode 100644 index 00000000000..660bdbccfdb --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/ValidSketchWithNonInoBrokenSketchFileSymlink.ino @@ -0,0 +1,2 @@ +void setup() {} +void loop() {} diff --git a/internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/other_file.c b/internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/other_file.c new file mode 120000 index 00000000000..86a410dd1d3 --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/ValidSketchWithNonInoBrokenSketchFileSymlink/other_file.c @@ -0,0 +1 @@ +broken \ No newline at end of file From 96b411fd7dd89492c44bad560a57ea4544181464 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 18 Jan 2024 11:52:46 +0100 Subject: [PATCH 088/361] bugfix: do not panic if a sketch profile has a syntax error (#2506) * Do not panic if a sketch' profile has a syntax error * Removed redundant instance initialization --- commands/instances.go | 4 ---- internal/arduino/sketch/profiles.go | 12 ++++++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index 3f8712de829..61f0725a0de 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -96,10 +96,6 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if responseCallback == nil { responseCallback = func(r *rpc.InitResponse) {} } - reqInst := req.GetInstance() - if reqInst == nil { - return &cmderrors.InvalidInstanceError{} - } instance := req.GetInstance() if !instances.IsValid(instance) { return &cmderrors.InvalidInstanceError{} diff --git a/internal/arduino/sketch/profiles.go b/internal/arduino/sketch/profiles.go index 7ea5a7589b0..e1873c05ecd 100644 --- a/internal/arduino/sketch/profiles.go +++ b/internal/arduino/sketch/profiles.go @@ -72,7 +72,7 @@ func (p *Project) AsYaml() string { return res } -func (p *projectRaw) getProfiles() []*Profile { +func (p *projectRaw) getProfiles() ([]*Profile, error) { profiles := []*Profile{} for i, node := range p.ProfilesRaw.Content { if node.Tag != "!!str" { @@ -82,11 +82,11 @@ func (p *projectRaw) getProfiles() []*Profile { var profile Profile profile.Name = node.Value if err := p.ProfilesRaw.Content[i+1].Decode(&profile); err != nil { - panic(fmt.Sprintf("profiles parsing err: %v", err.Error())) + return nil, err } profiles = append(profiles, &profile) } - return profiles + return profiles, nil } // UnmarshalYAML decodes a Profiles section from YAML source. @@ -270,8 +270,12 @@ func LoadProjectFile(file *paths.Path) (*Project, error) { return nil, err } + profiles, err := raw.getProfiles() + if err != nil { + return nil, err + } return &Project{ - Profiles: raw.getProfiles(), + Profiles: profiles, DefaultProfile: raw.DefaultProfile, DefaultFqbn: raw.DefaultFqbn, DefaultPort: raw.DefaultPort, From 47645e9b7771f2a0674f0a4d2721c4eeb95cd3e2 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 18 Jan 2024 14:48:23 +0100 Subject: [PATCH 089/361] [breaking] Removed `Profile` protoc message in favor of `SketchProfile` (#2507) --- commands/instances.go | 6 +- docs/UPGRADING.md | 15 + internal/cli/compile/compile.go | 2 +- internal/cli/instance/instance.go | 6 +- internal/cli/monitor/monitor.go | 2 +- internal/cli/upload/upload.go | 2 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 922 +++++++++--------- rpc/cc/arduino/cli/commands/v1/commands.proto | 2 +- rpc/cc/arduino/cli/commands/v1/common.pb.go | 199 ++-- rpc/cc/arduino/cli/commands/v1/common.proto | 7 - 10 files changed, 547 insertions(+), 616 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index 61f0725a0de..88cea4b1c94 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -145,11 +145,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro profile = p responseCallback(&rpc.InitResponse{ Message: &rpc.InitResponse_Profile{ - Profile: &rpc.Profile{ - Name: req.GetProfile(), - Fqbn: profile.FQBN, - // TODO: Other profile infos may be provided here... - }, + Profile: profile.ToRpc(), }, }) } diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 31b7807362a..044eec31c59 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,21 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### The gRPC `cc.arduino.cli.commands.v1.Profile` message has been removed in favor of `SketchProfile` + +The message `Profile` has been replaced with `SketchProfile` in the `InitResponse.profile` field: + +```proto +message InitResponse { + oneof message { + Progress init_progress = 1; + google.rpc.Status error = 2; + // Selected profile information + SketchProfile profile = 3; + } +} +``` + ### The gRPC `cc.arduino.cli.commands.v1.LoadSketchResponse` message has been changed. Previously the `LoadSketchResponse` containted all the information about the sketch: diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 2f169f968c2..a498ce5374f 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -166,7 +166,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { feedback.WarnAboutDeprecatedFiles(sk) var inst *rpc.Instance - var profile *rpc.Profile + var profile *rpc.SketchProfile if profileArg.Get() == "" { inst, profile = instance.CreateAndInitWithProfile(sk.GetDefaultProfile().GetName(), sketchPath) diff --git a/internal/cli/instance/instance.go b/internal/cli/instance/instance.go index 6a3df6aed9f..ec1513105aa 100644 --- a/internal/cli/instance/instance.go +++ b/internal/cli/instance/instance.go @@ -37,7 +37,7 @@ func CreateAndInit() *rpc.Instance { // CreateAndInitWithProfile returns a new initialized instance using the given profile of the given sketch. // If Create fails the CLI prints an error and exits since to execute further operations a valid Instance is mandatory. // If Init returns errors they're printed only. -func CreateAndInitWithProfile(profileName string, sketchPath *paths.Path) (*rpc.Instance, *rpc.Profile) { +func CreateAndInitWithProfile(profileName string, sketchPath *paths.Path) (*rpc.Instance, *rpc.SketchProfile) { instance, err := create() if err != nil { feedback.Fatal(tr("Error creating instance: %v", err), feedback.ErrGeneric) @@ -67,7 +67,7 @@ func Init(instance *rpc.Instance) { // InitWithProfile initializes instance by loading libraries and platforms specified in the given profile of the given sketch. // In case of loading failures return a list of errors for each platform or library that we failed to load. // Required Package and library indexes files are automatically downloaded. -func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *paths.Path) *rpc.Profile { +func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *paths.Path) *rpc.SketchProfile { downloadCallback := feedback.ProgressBar() taskCallback := feedback.TaskProgress() @@ -76,7 +76,7 @@ func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *pat initReq.SketchPath = sketchPath.String() initReq.Profile = profileName } - var profile *rpc.Profile + var profile *rpc.SketchProfile err := commands.Init(initReq, func(res *rpc.InitResponse) { if st := res.GetError(); st != nil { feedback.Warning(tr("Error initializing instance: %v", st.GetMessage())) diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 67619e4686e..aacf38bd9b3 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -93,7 +93,7 @@ func runMonitorCmd( var ( inst *rpc.Instance - profile *rpc.Profile + profile *rpc.SketchProfile fqbn string defaultPort, defaultProtocol string ) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 35ee1782b6b..64d1ebed5ea 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -100,7 +100,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { } var inst *rpc.Instance - var profile *rpc.Profile + var profile *rpc.SketchProfile if profileArg.Get() == "" { inst, profile = instance.CreateAndInitWithProfile(sketch.GetDefaultProfile().GetName(), sketchPath) diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index fb1ebe7ea53..67c9ebba44d 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -317,7 +317,7 @@ func (x *InitResponse) GetError() *status.Status { return nil } -func (x *InitResponse) GetProfile() *Profile { +func (x *InitResponse) GetProfile() *SketchProfile { if x, ok := x.GetMessage().(*InitResponse_Profile); ok { return x.Profile } @@ -338,7 +338,7 @@ type InitResponse_Error struct { type InitResponse_Profile struct { // Selected profile information - Profile *Profile `protobuf:"bytes,3,opt,name=profile,proto3,oneof"` + Profile *SketchProfile `protobuf:"bytes,3,opt,name=profile,proto3,oneof"` } func (*InitResponse_InitProgress) isInitResponse_Message() {} @@ -1352,7 +1352,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, - 0x22, 0x97, 0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x22, 0x9d, 0x03, 0x0a, 0x0c, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0d, 0x69, 0x6e, 0x69, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, @@ -1361,511 +1361,511 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x6e, 0x69, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x2a, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x00, - 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x45, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0xb4, 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, - 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x81, 0x01, 0x0a, 0x17, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, - 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, + 0x69, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x1a, 0xb4, + 0x01, 0x0a, 0x08, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x11, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x52, - 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x41, - 0x0a, 0x1d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, - 0x73, 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x22, 0x5f, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x81, 0x01, 0x0a, 0x17, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x4c, 0x0a, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, + 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x22, 0x52, 0x0a, 0x0e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x22, 0x79, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, - 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x76, - 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, - 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, - 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x11, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, - 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3a, 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x4a, 0x04, - 0x08, 0x01, 0x10, 0x02, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x41, 0x0a, 0x1d, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, + 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5f, 0x0a, 0x1b, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x06, - 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x22, 0xa4, 0x01, 0x0a, 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x44, 0x69, 0x72, 0x12, - 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x17, 0x0a, - 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x79, 0x0a, 0x1c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, + 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x11, + 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3a, + 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0xa4, 0x01, - 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, - 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x31, - 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, - 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, - 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x52, 0x4c, 0x10, - 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, - 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, - 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x50, 0x61, 0x74, 0x68, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x6f, + 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x52, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x22, 0xa4, 0x01, 0x0a, + 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, + 0x18, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, + 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, + 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, + 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, + 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, 0x2d, 0x0a, 0x12, 0x41, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, + 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, + 0x58, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, + 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, + 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, + 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, + 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, + 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, + 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, + 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, + 0x32, 0x95, 0x2d, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, + 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, + 0x74, 0x72, 0x6f, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x72, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x12, 0x2a, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, + 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x8d, 0x01, - 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, - 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, - 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, - 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, - 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, - 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, + 0x11, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, 0x0c, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, - 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, - 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, - 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, + 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, + 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, + 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, + 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, - 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, - 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, - 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, + 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, + 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, - 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, - 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, - 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, + 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, + 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, - 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, + 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, + 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, - 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, - 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, - 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, + 0x12, 0x7f, 0x0a, 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x49, 0x73, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x33, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, - 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, - 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, + 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1908,7 +1908,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*InitResponse_Progress)(nil), // 22: cc.arduino.cli.commands.v1.InitResponse.Progress (*Instance)(nil), // 23: cc.arduino.cli.commands.v1.Instance (*status.Status)(nil), // 24: google.rpc.Status - (*Profile)(nil), // 25: cc.arduino.cli.commands.v1.Profile + (*SketchProfile)(nil), // 25: cc.arduino.cli.commands.v1.SketchProfile (*DownloadProgress)(nil), // 26: cc.arduino.cli.commands.v1.DownloadProgress (*Sketch)(nil), // 27: cc.arduino.cli.commands.v1.Sketch (*TaskProgress)(nil), // 28: cc.arduino.cli.commands.v1.TaskProgress @@ -1992,7 +1992,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 23, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 22, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress 24, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status - 25, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.Profile + 25, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile 0, // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError.reason:type_name -> cc.arduino.cli.commands.v1.FailedInstanceInitReason 23, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 23, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 6a37d222529..9d7ff1d1344 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -237,7 +237,7 @@ message InitResponse { Progress init_progress = 1; google.rpc.Status error = 2; // Selected profile information - Profile profile = 3; + SketchProfile profile = 3; } } diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 8091b9ec66d..648204c5cd0 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -1038,63 +1038,6 @@ func (x *Board) GetFqbn() string { return "" } -type Profile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Name used to identify the profile within the sketch. - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // FQBN specified in the profile. - Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` -} - -func (x *Profile) Reset() { - *x = Profile{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Profile) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Profile) ProtoMessage() {} - -func (x *Profile) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Profile.ProtoReflect.Descriptor instead. -func (*Profile) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{14} -} - -func (x *Profile) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Profile) GetFqbn() string { - if x != nil { - return x.Fqbn - } - return "" -} - type HelpResources struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1108,7 +1051,7 @@ type HelpResources struct { func (x *HelpResources) Reset() { *x = HelpResources{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1121,7 +1064,7 @@ func (x *HelpResources) String() string { func (*HelpResources) ProtoMessage() {} func (x *HelpResources) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1134,7 +1077,7 @@ func (x *HelpResources) ProtoReflect() protoreflect.Message { // Deprecated: Use HelpResources.ProtoReflect.Descriptor instead. func (*HelpResources) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{15} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{14} } func (x *HelpResources) GetOnline() string { @@ -1175,7 +1118,7 @@ type Sketch struct { func (x *Sketch) Reset() { *x = Sketch{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1188,7 +1131,7 @@ func (x *Sketch) String() string { func (*Sketch) ProtoMessage() {} func (x *Sketch) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1201,7 +1144,7 @@ func (x *Sketch) ProtoReflect() protoreflect.Message { // Deprecated: Use Sketch.ProtoReflect.Descriptor instead. func (*Sketch) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{16} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{15} } func (x *Sketch) GetMainFile() string { @@ -1288,7 +1231,7 @@ type SketchProfile struct { func (x *SketchProfile) Reset() { *x = SketchProfile{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1301,7 +1244,7 @@ func (x *SketchProfile) String() string { func (*SketchProfile) ProtoMessage() {} func (x *SketchProfile) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1314,7 +1257,7 @@ func (x *SketchProfile) ProtoReflect() protoreflect.Message { // Deprecated: Use SketchProfile.ProtoReflect.Descriptor instead. func (*SketchProfile) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{17} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{16} } func (x *SketchProfile) GetName() string { @@ -1464,51 +1407,48 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x31, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, - 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, - 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, - 0x6e, 0x65, 0x22, 0xdb, 0x03, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, - 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x2c, 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, - 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, - 0x10, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, - 0x5f, 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x66, 0x71, 0x62, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, - 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, - 0x22, 0x37, 0x0a, 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, - 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, + 0xdb, 0x03, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, + 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, + 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x66, 0x6f, + 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x46, 0x71, 0x62, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x37, 0x0a, + 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1523,7 +1463,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_common_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*Instance)(nil), // 0: cc.arduino.cli.commands.v1.Instance (*DownloadProgress)(nil), // 1: cc.arduino.cli.commands.v1.DownloadProgress @@ -1539,11 +1479,10 @@ var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ (*PlatformRelease)(nil), // 11: cc.arduino.cli.commands.v1.PlatformRelease (*InstalledPlatformReference)(nil), // 12: cc.arduino.cli.commands.v1.InstalledPlatformReference (*Board)(nil), // 13: cc.arduino.cli.commands.v1.Board - (*Profile)(nil), // 14: cc.arduino.cli.commands.v1.Profile - (*HelpResources)(nil), // 15: cc.arduino.cli.commands.v1.HelpResources - (*Sketch)(nil), // 16: cc.arduino.cli.commands.v1.Sketch - (*SketchProfile)(nil), // 17: cc.arduino.cli.commands.v1.SketchProfile - nil, // 18: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + (*HelpResources)(nil), // 14: cc.arduino.cli.commands.v1.HelpResources + (*Sketch)(nil), // 15: cc.arduino.cli.commands.v1.Sketch + (*SketchProfile)(nil), // 16: cc.arduino.cli.commands.v1.SketchProfile + nil, // 17: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry } var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 2, // 0: cc.arduino.cli.commands.v1.DownloadProgress.start:type_name -> cc.arduino.cli.commands.v1.DownloadProgressStart @@ -1552,11 +1491,11 @@ var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 10, // 3: cc.arduino.cli.commands.v1.Platform.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata 11, // 4: cc.arduino.cli.commands.v1.Platform.release:type_name -> cc.arduino.cli.commands.v1.PlatformRelease 10, // 5: cc.arduino.cli.commands.v1.PlatformSummary.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata - 18, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + 17, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry 13, // 7: cc.arduino.cli.commands.v1.PlatformRelease.boards:type_name -> cc.arduino.cli.commands.v1.Board - 15, // 8: cc.arduino.cli.commands.v1.PlatformRelease.help:type_name -> cc.arduino.cli.commands.v1.HelpResources - 17, // 9: cc.arduino.cli.commands.v1.Sketch.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile - 17, // 10: cc.arduino.cli.commands.v1.Sketch.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 14, // 8: cc.arduino.cli.commands.v1.PlatformRelease.help:type_name -> cc.arduino.cli.commands.v1.HelpResources + 16, // 9: cc.arduino.cli.commands.v1.Sketch.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 16, // 10: cc.arduino.cli.commands.v1.Sketch.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile 11, // 11: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type @@ -1740,18 +1679,6 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Profile); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HelpResources); i { case 0: return &v.state @@ -1763,7 +1690,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Sketch); i { case 0: return &v.state @@ -1775,7 +1702,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SketchProfile); i { case 0: return &v.state @@ -1799,7 +1726,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_common_proto_rawDesc, NumEnums: 0, - NumMessages: 19, + NumMessages: 18, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 024fe4e5d48..28e7e2a74d1 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -173,13 +173,6 @@ message Board { string fqbn = 2; } -message Profile { - // Name used to identify the profile within the sketch. - string name = 1; - // FQBN specified in the profile. - string fqbn = 2; -} - message HelpResources { // A URL provided by the author of the platform's package, intended to point // to their online help service. From 0dfb27e8c0e6b66f2f882deca3628b2211d803cb Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 24 Jan 2024 12:11:55 +0100 Subject: [PATCH 090/361] Fixed an extremely rare race-condition during compile (#2512) --- .../builder/internal/compilation/database.go | 22 ++++++++++++------- .../internal/compilation/database_test.go | 10 ++++----- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/internal/arduino/builder/internal/compilation/database.go b/internal/arduino/builder/internal/compilation/database.go index 73441bc07bc..9498b5a9e81 100644 --- a/internal/arduino/builder/internal/compilation/database.go +++ b/internal/arduino/builder/internal/compilation/database.go @@ -19,6 +19,7 @@ import ( "encoding/json" "fmt" "os" + "sync" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" @@ -28,8 +29,9 @@ var tr = i18n.Tr // Database keeps track of all the compile commands run by the builder type Database struct { - Contents []Command - File *paths.Path + lock sync.Mutex + contents []Command + file *paths.Path } // Command keeps track of a single run of a compile command @@ -43,8 +45,8 @@ type Command struct { // NewDatabase creates an empty CompilationDatabase func NewDatabase(filename *paths.Path) *Database { return &Database{ - File: filename, - Contents: []Command{}, + file: filename, + contents: []Command{}, } } @@ -55,16 +57,18 @@ func LoadDatabase(file *paths.Path) (*Database, error) { return nil, err } res := NewDatabase(file) - return res, json.Unmarshal(f, &res.Contents) + return res, json.Unmarshal(f, &res.contents) } // SaveToFile save the CompilationDatabase to file as a clangd-compatible compile_commands.json, // see https://clang.llvm.org/docs/JSONCompilationDatabase.html func (db *Database) SaveToFile() { - if jsonContents, err := json.MarshalIndent(db.Contents, "", " "); err != nil { + db.lock.Lock() + defer db.lock.Unlock() + if jsonContents, err := json.MarshalIndent(db.contents, "", " "); err != nil { fmt.Println(tr("Error serializing compilation database: %s", err)) return - } else if err := db.File.WriteFile(jsonContents); err != nil { + } else if err := db.file.WriteFile(jsonContents); err != nil { fmt.Println(tr("Error writing compilation database: %s", err)) } } @@ -88,5 +92,7 @@ func (db *Database) Add(target *paths.Path, command *paths.Process) { File: target.String(), } - db.Contents = append(db.Contents, entry) + db.lock.Lock() + db.contents = append(db.contents, entry) + db.lock.Unlock() } diff --git a/internal/arduino/builder/internal/compilation/database_test.go b/internal/arduino/builder/internal/compilation/database_test.go index abe5b7b24b9..dde90738d91 100644 --- a/internal/arduino/builder/internal/compilation/database_test.go +++ b/internal/arduino/builder/internal/compilation/database_test.go @@ -36,11 +36,11 @@ func TestCompilationDatabase(t *testing.T) { db2, err := LoadDatabase(tmpfile) require.NoError(t, err) require.Equal(t, db, db2) - require.Len(t, db2.Contents, 1) - require.Equal(t, db2.Contents[0].File, "test") - require.Equal(t, db2.Contents[0].Command, "") - require.Equal(t, db2.Contents[0].Arguments, []string{"gcc", "arg1", "arg2"}) + require.Len(t, db2.contents, 1) + require.Equal(t, db2.contents[0].File, "test") + require.Equal(t, db2.contents[0].Command, "") + require.Equal(t, db2.contents[0].Arguments, []string{"gcc", "arg1", "arg2"}) cwd, err := paths.Getwd() require.NoError(t, err) - require.Equal(t, db2.Contents[0].Directory, cwd.String()) + require.Equal(t, db2.contents[0].Directory, cwd.String()) } From 205a6a5fd778c46c1451e5a02faffd5588c1ee2d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 25 Jan 2024 13:32:19 +0100 Subject: [PATCH 091/361] [skip-changelog] Bump google.golang.org/grpc from 1.60.1 to 1.61.0 (#2513) * Bump google.golang.org/grpc from 1.60.1 to 1.61.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.60.1 to 1.61.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.60.1...v1.61.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/grpcrand.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 7 ++++--- 53 files changed, 106 insertions(+), 105 deletions(-) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index b405c8f9d6e..bf70894fda0 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.60.1 +version: v1.61.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 87d0f1774ff..595f18945e3 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.60.1 +version: v1.61.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 963493a4560..6bfd1abefc8 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.60.1 +version: v1.61.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index d8c002c6c89..6fbd6bae5ae 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.60.1 +version: v1.61.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index f72668e0d03..57a4b98f90c 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.60.1 +version: v1.61.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 0b2554d0e30..942599006fb 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.60.1 +version: v1.61.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index c1a8486e422..4b9f022615e 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.60.1 +version: v1.61.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 3fa948696df..295fb679d9a 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.60.1 +version: v1.61.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index bcaffa43056..7915cb65e04 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.60.1 +version: v1.61.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 55906a766df..7a9c5993bb0 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.60.1 +version: v1.61.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 5710fea78c6..8d713df7a75 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.60.1 +version: v1.61.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 23d9c04c2c5..bdd29ebc5fc 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.60.1 +version: v1.61.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 4002aa44f93..502bc310229 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.60.1 +version: v1.61.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index cf5efce9719..84716ee4072 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.60.1 +version: v1.61.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 0486d49bb1f..3d34ee0c372 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.60.1 +version: v1.61.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 2fb43ade16a..bcf79b325ee 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.60.1 +version: v1.61.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 21db02491d1..759ce583951 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.60.1 +version: v1.61.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 4411cea6a8d..82102d82612 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.60.1 +version: v1.61.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 9f25115e92e..92ab07b1812 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.60.1 +version: v1.61.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 51ff42b27b2..a3351266f86 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.60.1 +version: v1.61.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 0c6bf8e3f28..f8a5b869798 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.60.1 +version: v1.61.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index c9d8e26f096..ea588107cc6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.60.1 +version: v1.61.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index 2c8048a135d..eea311973e6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.60.1 +version: v1.61.0 type: go summary: Package channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 269f346fe8f..c01ed7b86a2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.60.1 +version: v1.61.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 37dd391fd07..70a63c2b060 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.60.1 +version: v1.61.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 90064af85cb..ac52751df74 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.60.1 +version: v1.61.0 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml index e77acab1882..79691a61aa2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcrand -version: v1.60.1 +version: v1.61.0 type: go summary: Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 115db4409e7..4ebe7eff4a8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.60.1 +version: v1.61.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 4fa9616e1d1..4901d271b9b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.60.1 +version: v1.61.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index ca67dec3662..a46d256ab20 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.60.1 +version: v1.61.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index a229ac6e4d9..c16a7608260 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.60.1 +version: v1.61.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 3ea1de05661..6cf1f123e4a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.60.1 +version: v1.61.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 509bc5e1351..fe9126bb1f7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.60.1 +version: v1.61.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 18ddf089bb4..9cf74e8d826 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.60.1 +version: v1.61.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 2c03d8e2e41..91c32cca35e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.60.1 +version: v1.61.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 40d94c0233d..9fdcbc94091 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.60.1 +version: v1.61.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index c9724f12a29..b97cfb30385 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.60.1 +version: v1.61.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index a906efea6a6..612d78ca6b3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.60.1 +version: v1.61.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 3374cc54532..112bba941b9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.60.1 +version: v1.61.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 9ae20d12e80..3cf662dc988 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.60.1 +version: v1.61.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 9b0ce86e65c..25e78743cc0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.60.1 +version: v1.61.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 1da2fed01b9..d98f6b60b6e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.60.1 +version: v1.61.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index ea406673054..70f23f3e851 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.60.1 +version: v1.61.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index b8c1c94aaac..a71df2eb07c 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.60.1 +version: v1.61.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index c51da9eb191..36aa85c0d7d 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.60.1 +version: v1.61.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index b117380b27d..934e003f31c 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.60.1 +version: v1.61.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index f892d67f2a9..2e7f2f51dfa 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.60.1 +version: v1.61.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 44eac1ff33d..ab497a99b9e 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.60.1 +version: v1.61.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index e0ef16f23f8..91e5bad59d4 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.60.1 +version: v1.61.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index b4127108213..f6f9081b737 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.60.1 +version: v1.61.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index f4838c4e8d9..93dbc965daa 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.60.1 +version: v1.61.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.60.1/LICENSE +- sources: grpc@v1.61.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index bd06bc1058a..68126dca170 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( golang.org/x/term v0.16.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f - google.golang.org/grpc v1.60.1 + google.golang.org/grpc v1.61.0 google.golang.org/protobuf v1.32.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index 74dc55a47ad..f88fab495e7 100644 --- a/go.sum +++ b/go.sum @@ -82,8 +82,9 @@ github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= @@ -308,8 +309,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/grpc v1.60.1 h1:26+wFr+cNqSGFcOXcabYC0lUVJVRa2Sb2ortSK7VrEU= -google.golang.org/grpc v1.60.1/go.mod h1:OlCHIeLYqSSsLi6i49B5QGdzaMZK9+M7LXN2FKz4eGM= +google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= +google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= From cf5e87789b4247d8a63d36c941628a6fce7cea23 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Thu, 1 Feb 2024 09:19:30 +0100 Subject: [PATCH 092/361] [skip-changelog] bump setup-protoc to v3 (#2521) --- .github/workflows/check-markdown-task.yml | 2 +- .github/workflows/check-mkdocs-task.yml | 2 +- .github/workflows/check-protobuf-task.yml | 2 +- .github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 5094d204978..abcf6b1bed8 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -117,7 +117,7 @@ jobs: run: go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.4.1 - name: Install protoc compiler - uses: arduino/setup-protoc@v2 + uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index 45f842ba4c0..bbfe63a0ef0 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -45,7 +45,7 @@ jobs: run: go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.4.1 - name: Install protoc compiler - uses: arduino/setup-protoc@v2 + uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index 8e672aa505c..8b321a50622 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -59,7 +59,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install protoc compiler - uses: arduino/setup-protoc@v2 + uses: arduino/setup-protoc@v3 with: version: v24.3 repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index 935939d3ddf..6c5b7024814 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -65,7 +65,7 @@ jobs: run: go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.4.1 - name: Install protoc compiler - uses: arduino/setup-protoc@v2 + uses: arduino/setup-protoc@v3 with: repo-token: ${{ secrets.GITHUB_TOKEN }} From 5d91bac7511a4d222e352410b5020c3a22005eba Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 09:22:14 +0100 Subject: [PATCH 093/361] Bump microsoft/setup-msbuild from 1 to 2 (#2518) Bumps [microsoft/setup-msbuild](https://github.com/microsoft/setup-msbuild) from 1 to 2. - [Release notes](https://github.com/microsoft/setup-msbuild/releases) - [Changelog](https://github.com/microsoft/setup-msbuild/blob/main/building-release.md) - [Commits](https://github.com/microsoft/setup-msbuild/compare/v1...v2) --- updated-dependencies: - dependency-name: microsoft/setup-msbuild dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/publish-go-nightly-task.yml | 2 +- .github/workflows/release-go-task.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index b814f6fdc2c..b01ba133497 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -194,7 +194,7 @@ jobs: path: ${{ env.DIST_DIR }} - name: Prepare PATH - uses: microsoft/setup-msbuild@v1 + uses: microsoft/setup-msbuild@v2 - name: Build MSI id: buildmsi diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index e67a0865042..5ce761742e7 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -198,7 +198,7 @@ jobs: path: ${{ env.DIST_DIR }} - name: Prepare PATH - uses: microsoft/setup-msbuild@v1 + uses: microsoft/setup-msbuild@v2 - name: Build MSI id: buildmsi From 51119b268fd2008cd2f05362ccd317a6eb62e321 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 10:55:26 +0100 Subject: [PATCH 094/361] [skip-changelog] Bump github.com/ProtonMail/go-crypto from 0.0.0-20230828082145-3c4c8a2d2371 to 1.1.0-alpha.0 (#2508) * Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 0.0.0-20230828082145-3c4c8a2d2371 to 1.1.0-alpha.0. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/commits/v1.1.0-alpha.0) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * cache licenses --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessioper.98@gmail.com> --- .licensed.yml | 18 +++--- .../ProtonMail/go-crypto/bitcurves.dep.yml | 8 +-- .../ProtonMail/go-crypto/brainpool.dep.yml | 6 +- .../ProtonMail/go-crypto/eax.dep.yml | 6 +- .../go-crypto/internal/byteutil.dep.yml | 8 +-- .../ProtonMail/go-crypto/ocb.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp.dep.yml | 6 +- .../go-crypto/openpgp/aes/keywrap.dep.yml | 6 +- .../go-crypto/openpgp/armor.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +- .../go-crypto/openpgp/ecdsa.dep.yml | 6 +- .../go-crypto/openpgp/ed25519.dep.yml | 63 +++++++++++++++++++ .../go-crypto/openpgp/ed448.dep.yml | 63 +++++++++++++++++++ .../go-crypto/openpgp/eddsa.dep.yml | 6 +- .../go-crypto/openpgp/elgamal.dep.yml | 6 +- .../go-crypto/openpgp/errors.dep.yml | 6 +- .../openpgp/internal/algorithm.dep.yml | 8 +-- .../go-crypto/openpgp/internal/ecc.dep.yml | 6 +- .../openpgp/internal/encoding.dep.yml | 6 +- .../go-crypto/openpgp/packet.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +- .../go-crypto/openpgp/x25519.dep.yml | 62 ++++++++++++++++++ .../ProtonMail/go-crypto/openpgp/x448.dep.yml | 62 ++++++++++++++++++ go.mod | 2 +- go.sum | 39 +----------- 25 files changed, 321 insertions(+), 102 deletions(-) create mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml create mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml create mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml create mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml diff --git a/.licensed.yml b/.licensed.yml index 39dac817d96..bf25afd5485 100644 --- a/.licensed.yml +++ b/.licensed.yml @@ -10,8 +10,6 @@ apps: reviewed: go: - - google.golang.org/protobuf/encoding/protojson - - google.golang.org/protobuf/internal/encoding/json - github.com/ProtonMail/go-crypto/bitcurves - github.com/ProtonMail/go-crypto/brainpool - github.com/ProtonMail/go-crypto/eax @@ -22,6 +20,8 @@ reviewed: - github.com/ProtonMail/go-crypto/openpgp/armor - github.com/ProtonMail/go-crypto/openpgp/ecdh - github.com/ProtonMail/go-crypto/openpgp/ecdsa + - github.com/ProtonMail/go-crypto/openpgp/ed25519 + - github.com/ProtonMail/go-crypto/openpgp/ed448 - github.com/ProtonMail/go-crypto/openpgp/eddsa - github.com/ProtonMail/go-crypto/openpgp/elgamal - github.com/ProtonMail/go-crypto/openpgp/errors @@ -30,6 +30,8 @@ reviewed: - github.com/ProtonMail/go-crypto/openpgp/internal/encoding - github.com/ProtonMail/go-crypto/openpgp/packet - github.com/ProtonMail/go-crypto/openpgp/s2k + - github.com/ProtonMail/go-crypto/openpgp/x25519 + - github.com/ProtonMail/go-crypto/openpgp/x448 - github.com/cloudflare/circl/dh/x25519 - github.com/cloudflare/circl/dh/x448 - github.com/cloudflare/circl/ecc/goldilocks @@ -42,27 +44,29 @@ reviewed: - github.com/cloudflare/circl/sign - github.com/cloudflare/circl/sign/ed25519 - github.com/cloudflare/circl/sign/ed448 - - golang.org/x/crypto/argon2 - - golang.org/x/crypto/blake2b - - golang.org/x/crypto/sha3 - - github.com/russross/blackfriday/v2 - github.com/go-git/gcfg - github.com/go-git/gcfg/scanner - github.com/go-git/gcfg/token - github.com/go-git/gcfg/types + - github.com/russross/blackfriday/v2 + - github.com/sagikazarmark/slog-shim + - golang.org/x/crypto/argon2 + - golang.org/x/crypto/blake2b - golang.org/x/crypto/openpgp - golang.org/x/crypto/openpgp/armor - golang.org/x/crypto/openpgp/elgamal - golang.org/x/crypto/openpgp/errors - golang.org/x/crypto/openpgp/packet - golang.org/x/crypto/openpgp/s2k + - golang.org/x/crypto/sha3 - golang.org/x/sys/execabs - golang.org/x/text/encoding - golang.org/x/text/encoding/internal - golang.org/x/text/encoding/internal/identifier - golang.org/x/text/encoding/unicode - golang.org/x/text/internal/utf8internal - - github.com/sagikazarmark/slog-shim + - google.golang.org/protobuf/encoding/protojson + - google.golang.org/protobuf/internal/encoding/json - sigs.k8s.io/yaml - sigs.k8s.io/yaml/goyaml.v2 diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index 20e7ba58f41..d2c85c2206a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index ed2f5e071e3..a37d0d26dd7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index 9e7b3d73197..f0d43c6a47d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 995400394f5..a38c33644c9 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index 0d6c4c7c50e..898ffe4982e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index 359f7fc4c1b..09fabf560d0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index 33615a04e43..930bb2e6088 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index d0e40175e7c..7d232465596 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 33977600bd6..8c45634fe45 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index f8a012d41ea..d3346dfe220 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml new file mode 100644 index 00000000000..a59bb0e5cef --- /dev/null +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -0,0 +1,63 @@ +--- +name: github.com/ProtonMail/go-crypto/openpgp/ed25519 +version: v1.1.0-alpha.0 +type: go +summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as + defined in the Open PGP crypto refresh. +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 +license: other +licenses: +- sources: go-crypto@v1.1.0-alpha.0/LICENSE + text: | + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: go-crypto@v1.1.0-alpha.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml new file mode 100644 index 00000000000..4733dccd3b0 --- /dev/null +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -0,0 +1,63 @@ +--- +name: github.com/ProtonMail/go-crypto/openpgp/ed448 +version: v1.1.0-alpha.0 +type: go +summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined + in the Open PGP crypto refresh. +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 +license: other +licenses: +- sources: go-crypto@v1.1.0-alpha.0/LICENSE + text: | + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: go-crypto@v1.1.0-alpha.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index 381c3361444..ae036b97f6c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index 11d83ce12ca..fbe900e5d13 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index a37ac9e1c07..4af94d8107c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index c2078547025..af5a5e241be 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index 571a8c1c167..cc68288986a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 10cecdbb7df..5db542f7f90 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index 3b6bfe612b6..1048418534d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index 2dcb0bd2351..ff8fa4b6874 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v0.0.0-20230828082145-3c4c8a2d2371 +version: v1.1.0-alpha.0 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/LICENSE +- sources: go-crypto@v1.1.0-alpha.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v0.0.0-20230828082145-3c4c8a2d2371/PATENTS +- sources: go-crypto@v1.1.0-alpha.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml new file mode 100644 index 00000000000..5e811cb323b --- /dev/null +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -0,0 +1,62 @@ +--- +name: github.com/ProtonMail/go-crypto/openpgp/x25519 +version: v1.1.0-alpha.0 +type: go +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 +license: other +licenses: +- sources: go-crypto@v1.1.0-alpha.0/LICENSE + text: | + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: go-crypto@v1.1.0-alpha.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml new file mode 100644 index 00000000000..8055615fbbf --- /dev/null +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -0,0 +1,62 @@ +--- +name: github.com/ProtonMail/go-crypto/openpgp/x448 +version: v1.1.0-alpha.0 +type: go +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 +license: other +licenses: +- sources: go-crypto@v1.1.0-alpha.0/LICENSE + text: | + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: go-crypto@v1.1.0-alpha.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/go.mod b/go.mod index 68126dca170..5dd1d4d859f 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ go 1.21 replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( - github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 + github.com/ProtonMail/go-crypto v1.1.0-alpha.0 github.com/arduino/go-paths-helper v1.12.0 github.com/arduino/go-properties-orderedmap v1.8.0 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b diff --git a/go.sum b/go.sum index f88fab495e7..a9f79846797 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 h1:kkhsdkhsCvIsutKu5zLMgWtgh9YxGCNAw8Ad8hjwfYg= -github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= +github.com/ProtonMail/go-crypto v1.1.0-alpha.0 h1:nHGfwXmFvJrSR9xu8qL7BkO4DqTHXE9N5vPhgY2I+j0= +github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= @@ -25,8 +25,6 @@ github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4 github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= -github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cmaglie/easyjson v0.8.1 h1:nKQ6Yew57jsoGsuyRJPgm8PSsjbU3eO/uA9BsTu3E/8= @@ -213,7 +211,6 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= go.bug.st/downloader/v2 v2.1.1 h1:nyqbUizo3E2IxCCm4YFac4FtSqqFpqWP+Aae5GCMuw4= @@ -229,38 +226,23 @@ go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -275,37 +257,20 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= -golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= From a617a401f2b92e96fbea58d4155d39a69597ce2f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 1 Feb 2024 10:59:37 +0100 Subject: [PATCH 095/361] [skip-changelog] Bump peter-evans/create-pull-request from 5 to 6 (#2519) Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6. - [Release notes](https://github.com/peter-evans/create-pull-request/releases) - [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6) --- updated-dependencies: - dependency-name: peter-evans/create-pull-request dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/i18n-weekly-pull.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/i18n-weekly-pull.yaml b/.github/workflows/i18n-weekly-pull.yaml index 952b763e848..e5a0c178520 100644 --- a/.github/workflows/i18n-weekly-pull.yaml +++ b/.github/workflows/i18n-weekly-pull.yaml @@ -42,7 +42,7 @@ jobs: TRANSIFEX_API_KEY: ${{ secrets.TRANSIFEX_API_KEY }} - name: Create Pull Request - uses: peter-evans/create-pull-request@v5 + uses: peter-evans/create-pull-request@v6 with: commit-message: Updated translation files title: Updated translation files From 4a5585e952794b39d648cf2018eb040a36d78c1e Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Mon, 5 Feb 2024 11:21:17 +0100 Subject: [PATCH 096/361] Add `programmer` field to sketch profile and `--profile` flag to `debug` command (#2505) * Add programmer field to rpc.SketchProfile * Add programmer to the sketch profile * Retrieve programmer's information from the profile if the flag is not used * Add profile flag to debug command * Add default_programmer field to sketch project * Add default_programmer to rpc.Sketch * Add methods to set and retrieve default_programmer from a sketch * Modify SetSketchDefaults function to set a programmer if specified * Modify board attach command to set a default programmer * Use default programmer if no other value is specified * Update docs * Update TestBoardAttach to test that a programmer is correctly written to sketch.yaml * Add TestDebugProfile to integration tests --- commands/sketch/set_defaults.go | 7 + commands/upload/upload.go | 10 +- docs/sketch-project-file.md | 14 +- internal/arduino/sketch/profiles.go | 55 +- internal/arduino/sketch/sketch.go | 31 +- .../testdata/SketchWithProfiles/sketch.yml | 1 + internal/cli/arguments/programmer.go | 5 + internal/cli/board/attach.go | 27 +- internal/cli/compile/compile.go | 10 +- internal/cli/debug/debug.go | 35 +- internal/cli/upload/upload.go | 10 +- internal/integrationtest/board/board_test.go | 23 +- internal/integrationtest/debug/debug_test.go | 19 + .../testdata/sketch_with_profile/sketch.yaml | 9 + rpc/cc/arduino/cli/commands/v1/commands.pb.go | 729 +++++++++--------- rpc/cc/arduino/cli/commands/v1/commands.proto | 5 + rpc/cc/arduino/cli/commands/v1/common.pb.go | 45 +- rpc/cc/arduino/cli/commands/v1/common.proto | 4 + 18 files changed, 618 insertions(+), 421 deletions(-) diff --git a/commands/sketch/set_defaults.go b/commands/sketch/set_defaults.go index 612d48a08a7..c53bc1b1ae5 100644 --- a/commands/sketch/set_defaults.go +++ b/commands/sketch/set_defaults.go @@ -35,6 +35,7 @@ func SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) ( oldAddress, oldProtocol := sk.GetDefaultPortAddressAndProtocol() res := &rpc.SetSketchDefaultsResponse{ DefaultFqbn: sk.GetDefaultFQBN(), + DefaultProgrammer: sk.GetDefaultProgrammer(), DefaultPortAddress: oldAddress, DefaultPortProtocol: oldProtocol, } @@ -45,6 +46,12 @@ func SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) ( } res.DefaultFqbn = fqbn } + if programmer := req.GetDefaultProgrammer(); programmer != "" { + if err := sk.SetDefaultProgrammer(programmer); err != nil { + return nil, &cmderrors.CantUpdateSketchError{Cause: err} + } + res.DefaultProgrammer = programmer + } if newAddress, newProtocol := req.GetDefaultPortAddress(), req.GetDefaultPortProtocol(); newAddress != "" { if err := sk.SetDefaultPort(newAddress, newProtocol); err != nil { return nil, &cmderrors.CantUpdateSketchError{Cause: err} diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 34aa397b7c9..29de54d00b6 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -146,6 +146,14 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er fqbn = pme.GetProfile().FQBN } + programmer := req.GetProgrammer() + if programmer == "" && pme.GetProfile() != nil { + programmer = pme.GetProfile().Programmer + } + if programmer == "" { + programmer = sk.GetDefaultProgrammer() + } + updatedPort, err := runProgramAction( pme, sk, @@ -153,7 +161,7 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er req.GetImportDir(), fqbn, req.GetPort(), - req.GetProgrammer(), + programmer, req.GetVerbose(), req.GetVerify(), false, // burnBootloader diff --git a/docs/sketch-project-file.md b/docs/sketch-project-file.md index 640ede7505e..90e78a4f170 100644 --- a/docs/sketch-project-file.md +++ b/docs/sketch-project-file.md @@ -10,6 +10,7 @@ multiple profiles. Each profile will define: - The board FQBN +- The programmer to use - The target core platform name and version (with the 3rd party platform index URL if needed) - A possible core platform name and version, that is a dependency of the target core platform (with the 3rd party platform index URL if needed) @@ -22,6 +23,7 @@ profiles: <PROFILE_NAME>: notes: <USER_NOTES> fqbn: <FQBN> + programmer: <PROGRAMMER> platforms: - platform: <PLATFORM> (<PLATFORM_VERSION>) platform_index_url: <3RD_PARTY_PLATFORM_URL> @@ -50,6 +52,7 @@ otherwise below). The available fields are: - `libraries:` is a section where the required libraries to build the project are defined. This section is optional. - `<LIB_VERSION>` is the version required for the library, for example, `1.0.0`. - `<USER_NOTES>` is a free text string available to the developer to add comments. This field is optional. +- `<PROGRAMMER>` is the programmer that will be used. This field is optional. A complete example of a sketch project file may be the following: @@ -134,6 +137,7 @@ The sketch project file may be used to set the default value for some command li particular: - The `default_fqbn` key sets the default value for the `--fqbn` flag +- The `default_programmer` key sets the default value for the `--programmer` flag - The `default_port` key sets the default value for the `--port` flag - The `default_protocol` key sets the default value for the `--protocol` flag - The `default_profile` key sets the default value for the `--profile` flag @@ -141,12 +145,14 @@ particular: For example: ``` -default_fqbn: arduino:avr:uno +default_fqbn: arduino:samd:mkr1000 +default_programmer: atmel_ice default_port: /dev/ttyACM0 default_protocol: serial default_profile: myprofile ``` -With this configuration set, it is not necessary to specify the `--fqbn`, `--port`, `--protocol` or `--profile` flags to -the [`arduino-cli compile`](commands/arduino-cli_compile.md) or [`arduino-cli upload`](commands/arduino-cli_upload.md) -commands when compiling or uploading the sketch. +With this configuration set, it is not necessary to specify the `--fqbn`, `--programmer`, `--port`, `--protocol` or +`--profile` flags to the [`arduino-cli compile`](commands/arduino-cli_compile.md), +[`arduino-cli upload`](commands/arduino-cli_upload.md) or [`arduino-cli debug`](commands/arduino-cli_debug.md) commands +when compiling, uploading or debugging the sketch. diff --git a/internal/arduino/sketch/profiles.go b/internal/arduino/sketch/profiles.go index e1873c05ecd..a30d0f95438 100644 --- a/internal/arduino/sketch/profiles.go +++ b/internal/arduino/sketch/profiles.go @@ -32,20 +32,22 @@ import ( // projectRaw is a support struct used only to unmarshal the yaml type projectRaw struct { - ProfilesRaw yaml.Node `yaml:"profiles"` - DefaultProfile string `yaml:"default_profile"` - DefaultFqbn string `yaml:"default_fqbn"` - DefaultPort string `yaml:"default_port,omitempty"` - DefaultProtocol string `yaml:"default_protocol,omitempty"` + ProfilesRaw yaml.Node `yaml:"profiles"` + DefaultProfile string `yaml:"default_profile"` + DefaultFqbn string `yaml:"default_fqbn"` + DefaultPort string `yaml:"default_port,omitempty"` + DefaultProtocol string `yaml:"default_protocol,omitempty"` + DefaultProgrammer string `yaml:"default_programmer,omitempty"` } // Project represents the sketch project file type Project struct { - Profiles []*Profile - DefaultProfile string - DefaultFqbn string - DefaultPort string - DefaultProtocol string + Profiles []*Profile + DefaultProfile string + DefaultFqbn string + DefaultPort string + DefaultProtocol string + DefaultProgrammer string } // AsYaml outputs the sketch project file as YAML @@ -69,6 +71,9 @@ func (p *Project) AsYaml() string { if p.DefaultProtocol != "" { res += fmt.Sprintf("default_protocol: %s\n", p.DefaultProtocol) } + if p.DefaultProgrammer != "" { + res += fmt.Sprintf("default_programmer: %s\n", p.DefaultProgrammer) + } return res } @@ -93,18 +98,20 @@ func (p *projectRaw) getProfiles() ([]*Profile, error) { // Profile is a sketch profile, it contains a reference to all the resources // needed to build and upload a sketch type Profile struct { - Name string - Notes string `yaml:"notes"` - FQBN string `yaml:"fqbn"` - Platforms ProfileRequiredPlatforms `yaml:"platforms"` - Libraries ProfileRequiredLibraries `yaml:"libraries"` + Name string + Notes string `yaml:"notes"` + FQBN string `yaml:"fqbn"` + Programmer string `yaml:"programmer"` + Platforms ProfileRequiredPlatforms `yaml:"platforms"` + Libraries ProfileRequiredLibraries `yaml:"libraries"` } // ToRpc converts this Profile to an rpc.SketchProfile func (p *Profile) ToRpc() *rpc.SketchProfile { return &rpc.SketchProfile{ - Name: p.Name, - Fqbn: p.FQBN, + Name: p.Name, + Fqbn: p.FQBN, + Programmer: p.Programmer, } } @@ -115,6 +122,9 @@ func (p *Profile) AsYaml() string { res += fmt.Sprintf(" notes: %s\n", p.Notes) } res += fmt.Sprintf(" fqbn: %s\n", p.FQBN) + if p.Programmer != "" { + res += fmt.Sprintf(" programmer: %s\n", p.Programmer) + } res += p.Platforms.AsYaml() res += p.Libraries.AsYaml() return res @@ -275,10 +285,11 @@ func LoadProjectFile(file *paths.Path) (*Project, error) { return nil, err } return &Project{ - Profiles: profiles, - DefaultProfile: raw.DefaultProfile, - DefaultFqbn: raw.DefaultFqbn, - DefaultPort: raw.DefaultPort, - DefaultProtocol: raw.DefaultProtocol, + Profiles: profiles, + DefaultProfile: raw.DefaultProfile, + DefaultFqbn: raw.DefaultFqbn, + DefaultPort: raw.DefaultPort, + DefaultProtocol: raw.DefaultProtocol, + DefaultProgrammer: raw.DefaultProgrammer, }, nil } diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index 7833823b424..69c0ebdd2e1 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -246,6 +246,12 @@ func (s *Sketch) GetDefaultPortAddressAndProtocol() (string, string) { return s.Project.DefaultPort, s.Project.DefaultProtocol } +// GetDefaultProgrammer return the default Programmer for the sketch (from the sketch.yaml project file), +// ore the empty string if not set. +func (s *Sketch) GetDefaultProgrammer() string { + return s.Project.DefaultProgrammer +} + // SetDefaultFQBN sets the default FQBN for the sketch and saves it in the sketch.yaml project file. func (s *Sketch) SetDefaultFQBN(fqbn string) error { s.Project.DefaultFqbn = fqbn @@ -263,6 +269,12 @@ func (s *Sketch) SetDefaultPort(address, protocol string) error { return updateOrAddYamlRootEntry(s.GetProjectPath(), "default_protocol", protocol) } +// SetDefaultFQBN sets the default programmer for the sketch and saves it in the sketch.yaml project file. +func (s *Sketch) SetDefaultProgrammer(programmer string) error { + s.Project.DefaultProgrammer = programmer + return updateOrAddYamlRootEntry(s.GetProjectPath(), "default_programmer", programmer) +} + // InvalidSketchFolderNameError is returned when the sketch directory doesn't match the sketch name type InvalidSketchFolderNameError struct { SketchFolder *paths.Path @@ -290,15 +302,16 @@ func (s *Sketch) Hash() string { func (s *Sketch) ToRpc() *rpc.Sketch { defaultPort, defaultProtocol := s.GetDefaultPortAddressAndProtocol() res := &rpc.Sketch{ - MainFile: s.MainFile.String(), - LocationPath: s.FullPath.String(), - OtherSketchFiles: s.OtherSketchFiles.AsStrings(), - AdditionalFiles: s.AdditionalFiles.AsStrings(), - RootFolderFiles: s.RootFolderFiles.AsStrings(), - DefaultFqbn: s.GetDefaultFQBN(), - DefaultPort: defaultPort, - DefaultProtocol: defaultProtocol, - Profiles: f.Map(s.Project.Profiles, (*Profile).ToRpc), + MainFile: s.MainFile.String(), + LocationPath: s.FullPath.String(), + OtherSketchFiles: s.OtherSketchFiles.AsStrings(), + AdditionalFiles: s.AdditionalFiles.AsStrings(), + RootFolderFiles: s.RootFolderFiles.AsStrings(), + DefaultFqbn: s.GetDefaultFQBN(), + DefaultPort: defaultPort, + DefaultProtocol: defaultProtocol, + DefaultProgrammer: s.GetDefaultProgrammer(), + Profiles: f.Map(s.Project.Profiles, (*Profile).ToRpc), } if defaultProfile, err := s.GetProfile(s.Project.DefaultProfile); err == nil { res.DefaultProfile = defaultProfile.ToRpc() diff --git a/internal/arduino/sketch/testdata/SketchWithProfiles/sketch.yml b/internal/arduino/sketch/testdata/SketchWithProfiles/sketch.yml index fdbd998d093..868d8eb5116 100644 --- a/internal/arduino/sketch/testdata/SketchWithProfiles/sketch.yml +++ b/internal/arduino/sketch/testdata/SketchWithProfiles/sketch.yml @@ -1,6 +1,7 @@ profiles: nanorp: fqbn: arduino:mbed_nano:nanorp2040connect + programmer: p1 platforms: - platform: arduino:mbed_nano (2.1.0) libraries: diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index 6d337c93576..a5267ef804e 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -56,3 +56,8 @@ func (p *Programmer) String(inst *commands.Instance, fqbn string) string { } return details.GetDefaultProgrammerId() } + +// GetProgrammer returns the programmer specified by the user +func (p *Programmer) GetProgrammer() string { + return p.programmer +} diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index f6536991ab7..b340193e609 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -30,35 +30,39 @@ import ( func initAttachCommand() *cobra.Command { var port arguments.Port var fqbn arguments.Fqbn + var programmer arguments.Programmer attachCommand := &cobra.Command{ - Use: fmt.Sprintf("attach [-p <%s>] [-b <%s>] [%s]", tr("port"), tr("FQBN"), tr("sketchPath")), + Use: fmt.Sprintf("attach [-p <%s>] [-b <%s>] [-P <%s>] [%s]", tr("port"), tr("FQBN"), tr("programmer"), tr("sketchPath")), Short: tr("Attaches a sketch to a board."), - Long: tr("Sets the default values for port and FQBN. If no port or FQBN are specified, the current default port and FQBN are displayed."), + Long: tr("Sets the default values for port and FQBN. If no port, FQBN or programmer are specified, the current default port, FQBN and programmer are displayed."), Example: " " + os.Args[0] + " board attach -p /dev/ttyACM0\n" + " " + os.Args[0] + " board attach -p /dev/ttyACM0 HelloWorld\n" + - " " + os.Args[0] + " board attach -b arduino:samd:mkr1000", + " " + os.Args[0] + " board attach -b arduino:samd:mkr1000" + + " " + os.Args[0] + " board attach -P atmel_ice", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { sketchPath := "" if len(args) > 0 { sketchPath = args[0] } - runAttachCommand(sketchPath, &port, fqbn.String()) + runAttachCommand(sketchPath, &port, fqbn.String(), &programmer) }, } fqbn.AddToCommand(attachCommand) port.AddToCommand(attachCommand) + programmer.AddToCommand(attachCommand) return attachCommand } -func runAttachCommand(path string, port *arguments.Port, fqbn string) { +func runAttachCommand(path string, port *arguments.Port, fqbn string, programmer *arguments.Programmer) { sketchPath := arguments.InitSketchPath(path) portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, "", "") newDefaults, err := sketch.SetSketchDefaults(context.Background(), &rpc.SetSketchDefaultsRequest{ SketchPath: sketchPath.String(), DefaultFqbn: fqbn, + DefaultProgrammer: programmer.GetProgrammer(), DefaultPortAddress: portAddress, DefaultPortProtocol: portProtocol, }) @@ -67,7 +71,8 @@ func runAttachCommand(path string, port *arguments.Port, fqbn string) { } res := &boardAttachResult{ - Fqbn: newDefaults.GetDefaultFqbn(), + Fqbn: newDefaults.GetDefaultFqbn(), + Programmer: newDefaults.GetDefaultProgrammer(), } if newDefaults.GetDefaultPortAddress() != "" { res.Port = &boardAttachPortResult{ @@ -92,8 +97,9 @@ func (b *boardAttachPortResult) String() string { } type boardAttachResult struct { - Fqbn string `json:"fqbn,omitempty"` - Port *boardAttachPortResult `json:"port,omitempty"` + Fqbn string `json:"fqbn,omitempty"` + Programmer string `json:"programmer,omitempty"` + Port *boardAttachPortResult `json:"port,omitempty"` } func (b *boardAttachResult) Data() interface{} { @@ -101,10 +107,11 @@ func (b *boardAttachResult) Data() interface{} { } func (b *boardAttachResult) String() string { - if b.Port == nil && b.Fqbn == "" { - return tr("No default port or FQBN set") + if b.Port == nil && b.Fqbn == "" && b.Programmer == "" { + return tr("No default port, FQBN or programmer set") } res := fmt.Sprintf("%s: %s\n", tr("Default port set to"), b.Port) res += fmt.Sprintf("%s: %s\n", tr("Default FQBN set to"), b.Fqbn) + res += fmt.Sprintf("%s: %s\n", tr("Default programmer set to"), b.Programmer) return res } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index a498ce5374f..d1e9c083a8c 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -268,6 +268,14 @@ func runCompileCommand(cmd *cobra.Command, args []string) { } } + prog := profile.GetProgrammer() + if prog == "" || programmer.GetProgrammer() != "" { + prog = programmer.String(inst, fqbn) + } + if prog == "" { + prog = sk.GetDefaultProgrammer() + } + uploadRequest := &rpc.UploadRequest{ Instance: inst, Fqbn: fqbn, @@ -276,7 +284,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { Verbose: verbose, Verify: verify, ImportDir: buildPath, - Programmer: programmer.String(inst, fqbn), + Programmer: prog, UserFields: fields, } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 04cef9da49b..8ead18d8c1b 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -43,6 +43,7 @@ func NewCommand() *cobra.Command { var ( fqbnArg arguments.Fqbn portArgs arguments.Port + profileArg arguments.Profile interpreter string importDir string printInfo bool @@ -56,7 +57,7 @@ func NewCommand() *cobra.Command { Example: " " + os.Args[0] + " debug -b arduino:samd:mkr1000 -P atmel_ice /home/user/Arduino/MySketch", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDebugCommand(args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo) + runDebugCommand(args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg) }, } @@ -64,6 +65,7 @@ func NewCommand() *cobra.Command { fqbnArg.AddToCommand(debugCommand) portArgs.AddToCommand(debugCommand) programmer.AddToCommand(debugCommand) + profileArg.AddToCommand(debugCommand) debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries for debug.")) debugCommand.Flags().BoolVarP(&printInfo, "info", "I", false, tr("Show metadata about the debug session instead of starting the debugger.")) @@ -72,8 +74,7 @@ func NewCommand() *cobra.Command { } func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, - interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool) { - instance := instance.CreateAndInit() + interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool, profileArg *arguments.Profile) { logrus.Info("Executing `arduino-cli debug`") path := "" @@ -88,15 +89,37 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments } feedback.WarnAboutDeprecatedFiles(sk) - fqbn, port := arguments.CalculateFQBNAndPort(portArgs, fqbnArg, instance, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + var inst *rpc.Instance + var profile *rpc.SketchProfile + + if profileArg.Get() == "" { + inst, profile = instance.CreateAndInitWithProfile(sk.GetDefaultProfile().GetName(), sketchPath) + } else { + inst, profile = instance.CreateAndInitWithProfile(profileArg.Get(), sketchPath) + } + + if fqbnArg.String() == "" { + fqbnArg.Set(profile.GetFqbn()) + } + + fqbn, port := arguments.CalculateFQBNAndPort(portArgs, fqbnArg, inst, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + + prog := profile.GetProgrammer() + if prog == "" || programmer.GetProgrammer() != "" { + prog = programmer.String(inst, fqbn) + } + if prog == "" { + prog = sk.GetDefaultProgrammer() + } + debugConfigRequested := &rpc.GetDebugConfigRequest{ - Instance: instance, + Instance: inst, Fqbn: fqbn, SketchPath: sketchPath.String(), Port: port, Interpreter: interpreter, ImportDir: importDir, - Programmer: programmer.String(instance, fqbn), + Programmer: prog, } if printInfo { diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 64d1ebed5ea..46ec877fc8b 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -176,6 +176,14 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { path = sketchPath.String() } + prog := profile.GetProgrammer() + if prog == "" || programmer.GetProgrammer() != "" { + prog = programmer.String(inst, fqbn) + } + if prog == "" { + prog = sketch.GetDefaultProgrammer() + } + stdOut, stdErr, stdIOResult := feedback.OutputStreams() req := &rpc.UploadRequest{ Instance: inst, @@ -186,7 +194,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { Verify: verify, ImportFile: importFile, ImportDir: importDir, - Programmer: programmer.String(inst, fqbn), + Programmer: prog, DryRun: dryRun, UserFields: fields, } diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index df5f01ef048..977de95a989 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -550,7 +550,7 @@ func TestBoardAttach(t *testing.T) { sketchName := "BoardAttach" sketchPath := cli.SketchbookDir().Join(sketchName) - sketchProjectFlie := sketchPath.Join("sketch.yaml") + sketchProjectFile := sketchPath.Join("sketch.yaml") // Create a test sketch _, _, err := cli.Run("sketch", "new", sketchPath.String()) @@ -561,7 +561,7 @@ func TestBoardAttach(t *testing.T) { require.NoError(t, err) requirejson.Query(t, stdout, ".fqbn", `"arduino:avr:uno"`) - yamlData, err := sketchProjectFlie.ReadFile() + yamlData, err := sketchProjectFile.ReadFile() require.NoError(t, err) require.Contains(t, string(yamlData), "default_fqbn: arduino:avr:uno") require.NotContains(t, string(yamlData), "default_port:") @@ -574,7 +574,7 @@ func TestBoardAttach(t *testing.T) { requirejson.Query(t, stdout, ".port.address", `"/dev/ttyACM0"`) requirejson.Query(t, stdout, ".port.protocol", `"serial"`) - yamlData, err := sketchProjectFlie.ReadFile() + yamlData, err := sketchProjectFile.ReadFile() require.NoError(t, err) require.Contains(t, string(yamlData), "default_fqbn: arduino:avr:uno") require.Contains(t, string(yamlData), "default_port: /dev/ttyACM0") @@ -587,12 +587,27 @@ func TestBoardAttach(t *testing.T) { requirejson.Query(t, stdout, ".port.address", `"/dev/ttyACM0"`) requirejson.Query(t, stdout, ".port.protocol", `null`) - yamlData, err := sketchProjectFlie.ReadFile() + yamlData, err := sketchProjectFile.ReadFile() require.NoError(t, err) require.Contains(t, string(yamlData), "default_fqbn: arduino:avr:uno") require.Contains(t, string(yamlData), "default_port: /dev/ttyACM0") require.NotContains(t, string(yamlData), "default_protocol:") } + { + stdout, _, err := cli.Run("board", "attach", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice", sketchPath.String(), "--format", "json") + require.NoError(t, err) + requirejson.Query(t, stdout, ".fqbn", `"arduino:samd:mkr1000"`) + requirejson.Query(t, stdout, ".programmer", `"atmel_ice"`) + requirejson.Query(t, stdout, ".port.address", `"/dev/ttyACM0"`) + requirejson.Query(t, stdout, ".port.protocol", `null`) + + yamlData, err := sketchProjectFile.ReadFile() + require.NoError(t, err) + require.Contains(t, string(yamlData), "default_fqbn: arduino:samd:mkr1000") + require.Contains(t, string(yamlData), "default_programmer: atmel_ice") + require.Contains(t, string(yamlData), "default_port: /dev/ttyACM0") + require.NotContains(t, string(yamlData), "default_protocol:") + } } func TestBoardListWithFailedBuiltinInstallation(t *testing.T) { diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index 12d4c514e78..096fb6e7717 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -376,3 +376,22 @@ func testDebugCheck(t *testing.T, env *integrationtest.Environment, cli *integra require.NoError(t, err) requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my6" }`) } + +func TestDebugProfile(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Init the environment explicitly + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + + sketchPath := cli.CopySketch("sketch_with_profile") + + // Compile the sketch using the profile + _, _, err = cli.Run("compile", "--profile", "samd", sketchPath.String()) + require.NoError(t, err) + + // Debug using the profile + _, _, err = cli.Run("debug", "--profile", "samd", sketchPath.String(), "--info") + require.NoError(t, err) +} diff --git a/internal/integrationtest/testdata/sketch_with_profile/sketch.yaml b/internal/integrationtest/testdata/sketch_with_profile/sketch.yaml index ed40ce874f3..bc177c5023a 100644 --- a/internal/integrationtest/testdata/sketch_with_profile/sketch.yaml +++ b/internal/integrationtest/testdata/sketch_with_profile/sketch.yaml @@ -6,7 +6,16 @@ profiles: avr2: fqbn: arduino:avr:uno + programmer: atmel_ice platforms: - platform: arduino:avr (1.8.5) libraries: - Arduino_JSON (0.1.0) + + samd: + fqbn: arduino:samd:mkr1000 + programmer: atmel_ice + platforms: + - platform: arduino:samd (1.8.13) + libraries: + - Arduino_JSON (0.1.0) diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 67c9ebba44d..91784947101 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -1117,6 +1117,8 @@ type SetSketchDefaultsRequest struct { DefaultPortAddress string `protobuf:"bytes,3,opt,name=default_port_address,json=defaultPortAddress,proto3" json:"default_port_address,omitempty"` // The desired value for default_protocol in project file (sketch.yaml) DefaultPortProtocol string `protobuf:"bytes,4,opt,name=default_port_protocol,json=defaultPortProtocol,proto3" json:"default_port_protocol,omitempty"` + // The desired value for default_programmer in project file (sketch.yaml) + DefaultProgrammer string `protobuf:"bytes,5,opt,name=default_programmer,json=defaultProgrammer,proto3" json:"default_programmer,omitempty"` } func (x *SetSketchDefaultsRequest) Reset() { @@ -1179,6 +1181,13 @@ func (x *SetSketchDefaultsRequest) GetDefaultPortProtocol() string { return "" } +func (x *SetSketchDefaultsRequest) GetDefaultProgrammer() string { + if x != nil { + return x.DefaultProgrammer + } + return "" +} + type SetSketchDefaultsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1193,6 +1202,9 @@ type SetSketchDefaultsResponse struct { // The value of default_protocol that has been written in project file // (sketch.yaml) DefaultPortProtocol string `protobuf:"bytes,3,opt,name=default_port_protocol,json=defaultPortProtocol,proto3" json:"default_port_protocol,omitempty"` + // The value of default_programmer that has been written in project file + // (sketch.yaml) + DefaultProgrammer string `protobuf:"bytes,4,opt,name=default_programmer,json=defaultProgrammer,proto3" json:"default_programmer,omitempty"` } func (x *SetSketchDefaultsResponse) Reset() { @@ -1248,6 +1260,13 @@ func (x *SetSketchDefaultsResponse) GetDefaultPortProtocol() string { return "" } +func (x *SetSketchDefaultsResponse) GetDefaultProgrammer() string { + if x != nil { + return x.DefaultProgrammer + } + return "" +} + type InitResponse_Progress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1458,7 +1477,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x6c, 0x64, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc4, 0x01, 0x0a, + 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, @@ -1471,401 +1490,407 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, - 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, - 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, - 0x58, 0x5f, 0x55, 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x63, 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x22, 0xd3, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, + 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, + 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, + 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, + 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, + 0x55, 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, - 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, - 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, - 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, - 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, - 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, - 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, - 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, - 0x32, 0x95, 0x2d, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, - 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, + 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, + 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, + 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, + 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, + 0x2d, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, + 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, + 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, - 0x74, 0x72, 0x6f, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x72, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x30, 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, + 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, + 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, - 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, + 0x01, 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, - 0x11, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, + 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, - 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, + 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, + 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x6e, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x79, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, + 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, - 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, + 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, + 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, + 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, + 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, - 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, - 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, - 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, + 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, - 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, - 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, + 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, + 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, + 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, - 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, - 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, + 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, - 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, - 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, + 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, - 0x12, 0x7f, 0x0a, 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, - 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, - 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, + 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, + 0x0a, 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, + 0x65, 0x72, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, - 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, + 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 9d7ff1d1344..b2744414bb7 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -354,6 +354,8 @@ message SetSketchDefaultsRequest { string default_port_address = 3; // The desired value for default_protocol in project file (sketch.yaml) string default_port_protocol = 4; + // The desired value for default_programmer in project file (sketch.yaml) + string default_programmer = 5; } message SetSketchDefaultsResponse { @@ -366,4 +368,7 @@ message SetSketchDefaultsResponse { // The value of default_protocol that has been written in project file // (sketch.yaml) string default_port_protocol = 3; + // The value of default_programmer that has been written in project file + // (sketch.yaml) + string default_programmer = 4; } diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 648204c5cd0..485e1e7112f 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -1113,6 +1113,8 @@ type Sketch struct { Profiles []*SketchProfile `protobuf:"bytes,9,rep,name=profiles,proto3" json:"profiles,omitempty"` // Default profile set in the project file (sketch.yaml) DefaultProfile *SketchProfile `protobuf:"bytes,10,opt,name=default_profile,json=defaultProfile,proto3" json:"default_profile,omitempty"` + // Default Programmer set in project file (sketch.yaml) + DefaultProgrammer string `protobuf:"bytes,11,opt,name=default_programmer,json=defaultProgrammer,proto3" json:"default_programmer,omitempty"` } func (x *Sketch) Reset() { @@ -1217,6 +1219,13 @@ func (x *Sketch) GetDefaultProfile() *SketchProfile { return nil } +func (x *Sketch) GetDefaultProgrammer() string { + if x != nil { + return x.DefaultProgrammer + } + return "" +} + type SketchProfile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1226,6 +1235,8 @@ type SketchProfile struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // FQBN used by the profile Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // Programmer used by the profile + Programmer string `protobuf:"bytes,3,opt,name=programmer,proto3" json:"programmer,omitempty"` } func (x *SketchProfile) Reset() { @@ -1274,6 +1285,13 @@ func (x *SketchProfile) GetFqbn() string { return "" } +func (x *SketchProfile) GetProgrammer() string { + if x != nil { + return x.Programmer + } + return "" +} + var File_cc_arduino_cli_commands_v1_common_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ @@ -1410,7 +1428,7 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, - 0xdb, 0x03, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, + 0x8a, 0x04, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, @@ -1439,16 +1457,21 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x37, 0x0a, - 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2d, 0x0a, + 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, + 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x57, 0x0a, 0x0d, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, + 0x6d, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 28e7e2a74d1..f25f8a92cdf 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -201,6 +201,8 @@ message Sketch { repeated SketchProfile profiles = 9; // Default profile set in the project file (sketch.yaml) SketchProfile default_profile = 10; + // Default Programmer set in project file (sketch.yaml) + string default_programmer = 11; } message SketchProfile { @@ -208,4 +210,6 @@ message SketchProfile { string name = 1; // FQBN used by the profile string fqbn = 2; + // Programmer used by the profile + string programmer = 3; } From ec157a88e451da14ad5771bf8d8e175ef35ea6ec Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 5 Feb 2024 16:06:06 +0100 Subject: [PATCH 097/361] Added --jobs/-j flag to compile command (#2526) --- internal/cli/compile/compile.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index d1e9c083a8c..206ed29e4b8 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -68,6 +68,7 @@ var ( compilationDatabaseOnly bool // Only create compilation database without actually compiling sourceOverrides string // Path to a .json file that contains a set of replacements of the sketch source code. dumpProfile bool // Create and print a profile configuration from the build + jobs int32 // Max number of parallel jobs // library and libraries sound similar but they're actually different. // library expects a path to the root folder of one single library. // libraries expects a path to a directory containing multiple libraries, similarly to the <directories.user>/libraries path. @@ -134,6 +135,7 @@ func NewCommand() *cobra.Command { compileCommand.Flag("source-override").Hidden = true compileCommand.Flags().BoolVar(&skipLibrariesDiscovery, "skip-libraries-discovery", false, "Skip libraries discovery. This flag is provided only for use in language server and other, very specific, use cases. Do not use for normal compiles") compileCommand.Flag("skip-libraries-discovery").Hidden = true + compileCommand.Flags().Int32VarP(&jobs, "jobs", "j", 0, tr("Max number of parallel compiles. If set to 0 the number of available CPUs cores will be used.")) configuration.Settings.BindPFlag("sketch.always_export_binaries", compileCommand.Flags().Lookup("export-binaries")) compileCommand.Flags().MarkDeprecated("build-properties", tr("please use --build-property instead.")) @@ -244,6 +246,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { EncryptKey: encryptKey, SkipLibrariesDiscovery: skipLibrariesDiscovery, DoNotExpandBuildProperties: showProperties == arguments.ShowPropertiesUnexpanded, + Jobs: jobs, } builderRes, compileError := compile.Compile(context.Background(), compileRequest, stdOut, stdErr, nil) From 66a9d6d2bbc2bc642624236b2f38d1bf2a552899 Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Tue, 6 Feb 2024 09:33:48 +0100 Subject: [PATCH 098/361] [skip-changelog] Improve the definition of FQBN and explicitly state which characters are allowed (#2509) * Improve the definition of FQBN and explicitly state which characters are allowed * Enforce fqbn characters validation * Test that an error is returned when the FQBN contains an invalid character --- docs/FAQ.md | 6 +++++- internal/arduino/cores/fqbn.go | 16 ++++++++++++++++ internal/arduino/cores/fqbn_test.go | 15 +++++++++++++++ 3 files changed, 36 insertions(+), 1 deletion(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index a58c40098d5..84599a2bbbf 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -9,7 +9,11 @@ When you run [`arduino-cli board list`][arduino cli board list], your board does ## What's the FQBN string? -For a deeper understanding of how FQBN works, you should understand the [Arduino platform specification][0]. +FQBN stands for Fully Qualified Board Name. It has the following format: +`VENDOR:ARCHITECTURE:BOARD_ID[:MENU_ID=OPTION_ID[,MENU2_ID=OPTION_ID ...]]`, with each `MENU_ID=OPTION_ID` being an +optional key-value pair configuration. Each field accepts letters (`A-Z` or `a-z`), numbers (`0-9`), underscores (`_`), +dashes(`-`) and dots(`.`). The special character `=` is accepted in the configuration value. For a deeper understanding +of how FQBN works, you should understand the [Arduino platform specification][0]. ## How to set multiple board options? diff --git a/internal/arduino/cores/fqbn.go b/internal/arduino/cores/fqbn.go index c5b4384ae5d..8c6ef74ea39 100644 --- a/internal/arduino/cores/fqbn.go +++ b/internal/arduino/cores/fqbn.go @@ -17,6 +17,7 @@ package cores import ( "fmt" + "regexp" "strings" properties "github.com/arduino/go-properties-orderedmap" @@ -57,6 +58,13 @@ func ParseFQBN(fqbnIn string) (*FQBN, error) { if fqbn.BoardID == "" { return nil, fmt.Errorf(tr("empty board identifier")) } + // Check if the fqbn contains invalid characters + fqbnValidationRegex := regexp.MustCompile(`^[a-zA-Z0-9_.-]*$`) + for i := 0; i < 3; i++ { + if !fqbnValidationRegex.MatchString(fqbnParts[i]) { + return nil, fmt.Errorf(tr("fqbn's field %s contains an invalid character"), fqbnParts[i]) + } + } if len(fqbnParts) > 3 { for _, pair := range strings.Split(fqbnParts[3], ",") { parts := strings.SplitN(pair, "=", 2) @@ -68,6 +76,14 @@ func ParseFQBN(fqbnIn string) (*FQBN, error) { if k == "" { return nil, fmt.Errorf(tr("invalid config option: %s"), pair) } + if !fqbnValidationRegex.MatchString(k) { + return nil, fmt.Errorf(tr("config key %s contains an invalid character"), k) + } + // The config value can also contain the = symbol + valueValidationRegex := regexp.MustCompile(`^[a-zA-Z0-9=_.-]*$`) + if !valueValidationRegex.MatchString(v) { + return nil, fmt.Errorf(tr("config value %s contains an invalid character"), v) + } fqbn.Configs.Set(k, v) } } diff --git a/internal/arduino/cores/fqbn_test.go b/internal/arduino/cores/fqbn_test.go index 5c4cd9836f8..53200cabaca 100644 --- a/internal/arduino/cores/fqbn_test.go +++ b/internal/arduino/cores/fqbn_test.go @@ -155,3 +155,18 @@ func TestMatch(t *testing.T) { require.False(t, b.Match(a)) } } + +func TestValidCharacters(t *testing.T) { + // These FQBNs contain valid characters + validFqbns := []string{"ardui_no:av_r:un_o", "arduin.o:av.r:un.o", "arduin-o:av-r:un-o", "arduin-o:av-r:un-o:a=b=c=d"} + for _, fqbn := range validFqbns { + _, err := ParseFQBN(fqbn) + require.NoError(t, err) + } + // These FQBNs contain invalid characters + invalidFqbns := []string{"arduin-o:av-r:un=o", "arduin?o:av-r:uno", "arduino:av*r:uno"} + for _, fqbn := range invalidFqbns { + _, err := ParseFQBN(fqbn) + require.Error(t, err) + } +} From 2b2394e53f0bc0f164ce03171e54251ae5f5ef4d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 13:44:31 +0100 Subject: [PATCH 099/361] Bump arduino/setup-task from 1 to 2 (#2527) Bumps [arduino/setup-task](https://github.com/arduino/setup-task) from 1 to 2. - [Release notes](https://github.com/arduino/setup-task/releases) - [Commits](https://github.com/arduino/setup-task/compare/v1...v2) --- updated-dependencies: - dependency-name: arduino/setup-task dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-easyjson.yml | 2 +- .github/workflows/check-go-dependencies-task.yml | 4 ++-- .github/workflows/check-go-task.yml | 8 ++++---- .github/workflows/check-i18n-task.yml | 2 +- .github/workflows/check-markdown-task.yml | 4 ++-- .github/workflows/check-mkdocs-task.yml | 2 +- .github/workflows/check-prettier-formatting-task.yml | 2 +- .github/workflows/check-protobuf-task.yml | 6 +++--- .../workflows/deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- .github/workflows/i18n-nightly-push.yaml | 2 +- .github/workflows/i18n-weekly-pull.yaml | 2 +- .github/workflows/publish-go-nightly-task.yml | 4 ++-- .github/workflows/publish-go-tester-task.yml | 2 +- .github/workflows/release-go-task.yml | 4 ++-- .github/workflows/test-go-task.yml | 4 ++-- 15 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/check-easyjson.yml b/.github/workflows/check-easyjson.yml index 459884b36e6..a074b772f26 100644 --- a/.github/workflows/check-easyjson.yml +++ b/.github/workflows/check-easyjson.yml @@ -37,7 +37,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index beee36e8963..eab16eb6172 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -81,7 +81,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -131,7 +131,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index ac30e105afc..bffdeb04784 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -72,7 +72,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -108,7 +108,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -146,7 +146,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -211,7 +211,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index 36f5179469f..9ec46485cc3 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -27,7 +27,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index abcf6b1bed8..ef7c927e6b1 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -86,7 +86,7 @@ jobs: uses: xt0rted/markdownlint-problem-matcher@v2 - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -122,7 +122,7 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index bbfe63a0ef0..7edc66ad3aa 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -58,7 +58,7 @@ jobs: run: pip install poetry - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-prettier-formatting-task.yml b/.github/workflows/check-prettier-formatting-task.yml index 44f8365dc0a..5bb45e35d55 100644 --- a/.github/workflows/check-prettier-formatting-task.yml +++ b/.github/workflows/check-prettier-formatting-task.yml @@ -207,7 +207,7 @@ jobs: uses: actions/checkout@v4 - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index 8b321a50622..b2f518565c1 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -70,7 +70,7 @@ jobs: go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -102,7 +102,7 @@ jobs: go install github.com/bufbuild/buf/cmd/protoc-gen-buf-lint@v1.20.0 - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -120,7 +120,7 @@ jobs: uses: actions/checkout@v4 - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index 6c5b7024814..c7f916fb039 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -80,7 +80,7 @@ jobs: python -m pip install poetry - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/i18n-nightly-push.yaml b/.github/workflows/i18n-nightly-push.yaml index 3243679e8d1..0539549159d 100644 --- a/.github/workflows/i18n-nightly-push.yaml +++ b/.github/workflows/i18n-nightly-push.yaml @@ -21,7 +21,7 @@ jobs: go-version: "${{ env.GO_VERSION }}" - name: Install Taskfile - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/i18n-weekly-pull.yaml b/.github/workflows/i18n-weekly-pull.yaml index e5a0c178520..7cff41be881 100644 --- a/.github/workflows/i18n-weekly-pull.yaml +++ b/.github/workflows/i18n-weekly-pull.yaml @@ -28,7 +28,7 @@ jobs: go-version: "${{ env.GO_VERSION }}" - name: Install Taskfile - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index b01ba133497..807f31e4ae8 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -43,7 +43,7 @@ jobs: uses: actions/checkout@v4 - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -242,7 +242,7 @@ jobs: path: ${{ env.DIST_DIR }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/publish-go-tester-task.yml b/.github/workflows/publish-go-tester-task.yml index f358a4fe4e7..c83f00957d8 100644 --- a/.github/workflows/publish-go-tester-task.yml +++ b/.github/workflows/publish-go-tester-task.yml @@ -122,7 +122,7 @@ jobs: fetch-depth: 0 - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 5ce761742e7..cba9fc65f11 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -51,7 +51,7 @@ jobs: changelog-file-path: "${{ env.DIST_DIR }}/CHANGELOG.md" - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -246,7 +246,7 @@ jobs: path: ${{ env.DIST_DIR }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 9cc63b526ef..17ce103a06d 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -101,7 +101,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x @@ -147,7 +147,7 @@ jobs: go-version: ${{ env.GO_VERSION }} - name: Install Task - uses: arduino/setup-task@v1 + uses: arduino/setup-task@v2 with: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x From aa15421aa1996afbcf958a7d726d91f6da550e1e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 8 Feb 2024 20:09:54 +0100 Subject: [PATCH 100/361] [skip-changelog] Replaced internal serialutils package with the equivalent library (#2528) --- .../arduino/go-serial-utils.dep.yml | 458 ++++++++++++++++++ commands/upload/upload.go | 4 +- go.mod | 3 +- go.sum | 2 + internal/arduino/serialutils/serialutils.go | 215 -------- 5 files changed, 464 insertions(+), 218 deletions(-) create mode 100644 .licenses/go/github.com/arduino/go-serial-utils.dep.yml delete mode 100644 internal/arduino/serialutils/serialutils.go diff --git a/.licenses/go/github.com/arduino/go-serial-utils.dep.yml b/.licenses/go/github.com/arduino/go-serial-utils.dep.yml new file mode 100644 index 00000000000..d80310c7746 --- /dev/null +++ b/.licenses/go/github.com/arduino/go-serial-utils.dep.yml @@ -0,0 +1,458 @@ +--- +name: github.com/arduino/go-serial-utils +version: v0.1.2 +type: go +summary: +homepage: https://pkg.go.dev/github.com/arduino/go-serial-utils +license: gpl-3.0 +licenses: +- sources: LICENSE.txt + text: "This file includes licensing information for \n\nCopyright (c) 2024 ARDUINO + SA (www.arduino.cc)\n\nThe software is released under the GNU General Public License, + which covers the main body\nof the arduino-cli code. The terms of this license + can be found at:\nhttps://www.gnu.org/licenses/gpl-3.0.en.html\n\nYou can be released + from the requirements of the above licenses by purchasing\na commercial license. + Buying such a license is mandatory if you want to modify or\notherwise use the + software for commercial activities involving the Arduino\nsoftware without disclosing + the source code of your own applications. To purchase\na commercial license, send + an email to license@arduino.cc\n\n GNU GENERAL PUBLIC LICENSE\n + \ Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software + Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute + verbatim copies\n of this license document, but changing it is not allowed.\n\n + \ Preamble\n\n The GNU General Public License is a + free, copyleft license for\nsoftware and other kinds of works.\n\n The licenses + for most software and other practical works are designed\nto take away your freedom + to share and change the works. By contrast,\nthe GNU General Public License is + intended to guarantee your freedom to\nshare and change all versions of a program--to + make sure it remains free\nsoftware for all its users. We, the Free Software + Foundation, use the\nGNU General Public License for most of our software; it applies + also to\nany other work released this way by its authors. You can apply it to\nyour + programs, too.\n\n When we speak of free software, we are referring to freedom, + not\nprice. Our General Public Licenses are designed to make sure that you\nhave + the freedom to distribute copies of free software (and charge for\nthem if you + wish), that you receive source code or can get it if you\nwant it, that you can + change the software or use pieces of it in new\nfree programs, and that you know + you can do these things.\n\n To protect your rights, we need to prevent others + from denying you\nthese rights or asking you to surrender the rights. Therefore, + you have\ncertain responsibilities if you distribute copies of the software, or + if\nyou modify it: responsibilities to respect the freedom of others.\n\n For + example, if you distribute copies of such a program, whether\ngratis or for a + fee, you must pass on to the recipients the same\nfreedoms that you received. + \ You must make sure that they, too, receive\nor can get the source code. And + you must show them these terms so they\nknow their rights.\n\n Developers that + use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the + software, and (2) offer you this License\ngiving you legal permission to copy, + distribute and/or modify it.\n\n For the developers' and authors' protection, + the GPL clearly explains\nthat there is no warranty for this free software. For + both users' and\nauthors' sake, the GPL requires that modified versions be marked + as\nchanged, so that their problems will not be attributed erroneously to\nauthors + of previous versions.\n\n Some devices are designed to deny users access to install + or run\nmodified versions of the software inside them, although the manufacturer\ncan + do so. This is fundamentally incompatible with the aim of\nprotecting users' + freedom to change the software. The systematic\npattern of such abuse occurs + in the area of products for individuals to\nuse, which is precisely where it is + most unacceptable. Therefore, we\nhave designed this version of the GPL to prohibit + the practice for those\nproducts. If such problems arise substantially in other + domains, we\nstand ready to extend this provision to those domains in future versions\nof + the GPL, as needed to protect the freedom of users.\n\n Finally, every program + is threatened constantly by software patents.\nStates should not allow patents + to restrict development and use of\nsoftware on general-purpose computers, but + in those that do, we wish to\navoid the special danger that patents applied to + a free program could\nmake it effectively proprietary. To prevent this, the GPL + assures that\npatents cannot be used to render the program non-free.\n\n The + precise terms and conditions for copying, distribution and\nmodification follow.\n\n + \ TERMS AND CONDITIONS\n\n 0. Definitions.\n\n \"This License\" + refers to version 3 of the GNU General Public License.\n\n \"Copyright\" also + means copyright-like laws that apply to other kinds of\nworks, such as semiconductor + masks.\n\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. + \ Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may + be individuals or organizations.\n\n To \"modify\" a work means to copy from + or adapt all or part of the work\nin a fashion requiring copyright permission, + other than the making of an\nexact copy. The resulting work is called a \"modified + version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n A + \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n + \ To \"propagate\" a work means to do anything with it that, without\npermission, + would make you directly or secondarily liable for\ninfringement under applicable + copyright law, except executing it on a\ncomputer or modifying a private copy. + \ Propagation includes copying,\ndistribution (with or without modification), + making available to the\npublic, and in some countries other activities as well.\n\n + \ To \"convey\" a work means any kind of propagation that enables other\nparties + to make or receive copies. Mere interaction with a user through\na computer network, + with no transfer of a copy, is not conveying.\n\n An interactive user interface + displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient + and prominently visible\nfeature that (1) displays an appropriate copyright notice, + and (2)\ntells the user that there is no warranty for the work (except to the\nextent + that warranties are provided), that licensees may convey the\nwork under this + License, and how to view a copy of this License. If\nthe interface presents a + list of user commands or options, such as a\nmenu, a prominent item in the list + meets this criterion.\n\n 1. Source Code.\n\n The \"source code\" for a work + means the preferred form of the work\nfor making modifications to it. \"Object + code\" means any non-source\nform of a work.\n\n A \"Standard Interface\" means + an interface that either is an official\nstandard defined by a recognized standards + body, or, in the case of\ninterfaces specified for a particular programming language, + one that\nis widely used among developers working in that language.\n\n The \"System + Libraries\" of an executable work include anything, other\nthan the work as a + whole, that (a) is included in the normal form of\npackaging a Major Component, + but which is not part of that Major\nComponent, and (b) serves only to enable + use of the work with that\nMajor Component, or to implement a Standard Interface + for which an\nimplementation is available to the public in source code form. A\n\"Major + Component\", in this context, means a major essential component\n(kernel, window + system, and so on) of the specific operating system\n(if any) on which the executable + work runs, or a compiler used to\nproduce the work, or an object code interpreter + used to run it.\n\n The \"Corresponding Source\" for a work in object code form + means all\nthe source code needed to generate, install, and (for an executable\nwork) + run the object code and to modify the work, including scripts to\ncontrol those + activities. However, it does not include the work's\nSystem Libraries, or general-purpose + tools or generally available free\nprograms which are used unmodified in performing + those activities but\nwhich are not part of the work. For example, Corresponding + Source\nincludes interface definition files associated with source files for\nthe + work, and the source code for shared libraries and dynamically\nlinked subprograms + that the work is specifically designed to require,\nsuch as by intimate data communication + or control flow between those\nsubprograms and other parts of the work.\n\n The + Corresponding Source need not include anything that users\ncan regenerate automatically + from other parts of the Corresponding\nSource.\n\n The Corresponding Source for + a work in source code form is that\nsame work.\n\n 2. Basic Permissions.\n\n + \ All rights granted under this License are granted for the term of\ncopyright + on the Program, and are irrevocable provided the stated\nconditions are met. This + License explicitly affirms your unlimited\npermission to run the unmodified Program. + \ The output from running a\ncovered work is covered by this License only if the + output, given its\ncontent, constitutes a covered work. This License acknowledges + your\nrights of fair use or other equivalent, as provided by copyright law.\n\n + \ You may make, run and propagate covered works that you do not\nconvey, without + conditions so long as your license otherwise remains\nin force. You may convey + covered works to others for the sole purpose\nof having them make modifications + exclusively for you, or provide you\nwith facilities for running those works, + provided that you comply with\nthe terms of this License in conveying all material + for which you do\nnot control copyright. Those thus making or running the covered + works\nfor you must do so exclusively on your behalf, under your direction\nand + control, on terms that prohibit them from making any copies of\nyour copyrighted + material outside their relationship with you.\n\n Conveying under any other circumstances + is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; + section 10\nmakes it unnecessary.\n\n 3. Protecting Users' Legal Rights From + Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective + technological\nmeasure under any applicable law fulfilling obligations under article\n11 + of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting + or restricting circumvention of such\nmeasures.\n\n When you convey a covered + work, you waive any legal power to forbid\ncircumvention of technological measures + to the extent such circumvention\nis effected by exercising rights under this + License with respect to\nthe covered work, and you disclaim any intention to limit + operation or\nmodification of the work as a means of enforcing, against the work's\nusers, + your or third parties' legal rights to forbid circumvention of\ntechnological + measures.\n\n 4. Conveying Verbatim Copies.\n\n You may convey verbatim copies + of the Program's source code as you\nreceive it, in any medium, provided that + you conspicuously and\nappropriately publish on each copy an appropriate copyright + notice;\nkeep intact all notices stating that this License and any\nnon-permissive + terms added in accord with section 7 apply to the code;\nkeep intact all notices + of the absence of any warranty; and give all\nrecipients a copy of this License + along with the Program.\n\n You may charge any price or no price for each copy + that you convey,\nand you may offer support or warranty protection for a fee.\n\n + \ 5. Conveying Modified Source Versions.\n\n You may convey a work based on the + Program, or the modifications to\nproduce it from the Program, in the form of + source code under the\nterms of section 4, provided that you also meet all of + these conditions:\n\n a) The work must carry prominent notices stating that + you modified\n it, and giving a relevant date.\n\n b) The work must carry + prominent notices stating that it is\n released under this License and any + conditions added under section\n 7. This requirement modifies the requirement + in section 4 to\n \"keep intact all notices\".\n\n c) You must license the + entire work, as a whole, under this\n License to anyone who comes into possession + of a copy. This\n License will therefore apply, along with any applicable + section 7\n additional terms, to the whole of the work, and all its parts,\n + \ regardless of how they are packaged. This License gives no\n permission + to license the work in any other way, but it does not\n invalidate such permission + if you have separately received it.\n\n d) If the work has interactive user + interfaces, each must display\n Appropriate Legal Notices; however, if the + Program has interactive\n interfaces that do not display Appropriate Legal + Notices, your\n work need not make them do so.\n\n A compilation of a covered + work with other separate and independent\nworks, which are not by their nature + extensions of the covered work,\nand which are not combined with it such as to + form a larger program,\nin or on a volume of a storage or distribution medium, + is called an\n\"aggregate\" if the compilation and its resulting copyright are + not\nused to limit the access or legal rights of the compilation's users\nbeyond + what the individual works permit. Inclusion of a covered work\nin an aggregate + does not cause this License to apply to the other\nparts of the aggregate.\n\n + \ 6. Conveying Non-Source Forms.\n\n You may convey a covered work in object + code form under the terms\nof sections 4 and 5, provided that you also convey + the\nmachine-readable Corresponding Source under the terms of this License,\nin + one of these ways:\n\n a) Convey the object code in, or embodied in, a physical + product\n (including a physical distribution medium), accompanied by the\n + \ Corresponding Source fixed on a durable physical medium\n customarily used + for software interchange.\n\n b) Convey the object code in, or embodied in, + a physical product\n (including a physical distribution medium), accompanied + by a\n written offer, valid for at least three years and valid for as\n long + as you offer spare parts or customer support for that product\n model, to give + anyone who possesses the object code either (1) a\n copy of the Corresponding + Source for all the software in the\n product that is covered by this License, + on a durable physical\n medium customarily used for software interchange, for + a price no\n more than your reasonable cost of physically performing this\n + \ conveying of source, or (2) access to copy the\n Corresponding Source from + a network server at no charge.\n\n c) Convey individual copies of the object + code with a copy of the\n written offer to provide the Corresponding Source. + \ This\n alternative is allowed only occasionally and noncommercially, and\n + \ only if you received the object code with such an offer, in accord\n with + subsection 6b.\n\n d) Convey the object code by offering access from a designated\n + \ place (gratis or for a charge), and offer equivalent access to the\n Corresponding + Source in the same way through the same place at no\n further charge. You + need not require recipients to copy the\n Corresponding Source along with the + object code. If the place to\n copy the object code is a network server, the + Corresponding Source\n may be on a different server (operated by you or a third + party)\n that supports equivalent copying facilities, provided you maintain\n + \ clear directions next to the object code saying where to find the\n Corresponding + Source. Regardless of what server hosts the\n Corresponding Source, you remain + obligated to ensure that it is\n available for as long as needed to satisfy + these requirements.\n\n e) Convey the object code using peer-to-peer transmission, + provided\n you inform other peers where the object code and Corresponding\n + \ Source of the work are being offered to the general public at no\n charge + under subsection 6d.\n\n A separable portion of the object code, whose source + code is excluded\nfrom the Corresponding Source as a System Library, need not + be\nincluded in conveying the object code work.\n\n A \"User Product\" is either + (1) a \"consumer product\", which means any\ntangible personal property which + is normally used for personal, family,\nor household purposes, or (2) anything + designed or sold for incorporation\ninto a dwelling. In determining whether a + product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. + \ For a particular\nproduct received by a particular user, \"normally used\" refers + to a\ntypical or common use of that class of product, regardless of the status\nof + the particular user or of the way in which the particular user\nactually uses, + or expects or is expected to use, the product. A product\nis a consumer product + regardless of whether the product has substantial\ncommercial, industrial or non-consumer + uses, unless such uses represent\nthe only significant mode of use of the product.\n\n + \ \"Installation Information\" for a User Product means any methods,\nprocedures, + authorization keys, or other information required to install\nand execute modified + versions of a covered work in that User Product from\na modified version of its + Corresponding Source. The information must\nsuffice to ensure that the continued + functioning of the modified object\ncode is in no case prevented or interfered + with solely because\nmodification has been made.\n\n If you convey an object + code work under this section in, or with, or\nspecifically for use in, a User + Product, and the conveying occurs as\npart of a transaction in which the right + of possession and use of the\nUser Product is transferred to the recipient in + perpetuity or for a\nfixed term (regardless of how the transaction is characterized), + the\nCorresponding Source conveyed under this section must be accompanied\nby + the Installation Information. But this requirement does not apply\nif neither + you nor any third party retains the ability to install\nmodified object code on + the User Product (for example, the work has\nbeen installed in ROM).\n\n The + requirement to provide Installation Information does not include a\nrequirement + to continue to provide support service, warranty, or updates\nfor a work that + has been modified or installed by the recipient, or for\nthe User Product in which + it has been modified or installed. Access to a\nnetwork may be denied when the + modification itself materially and\nadversely affects the operation of the network + or violates the rules and\nprotocols for communication across the network.\n\n + \ Corresponding Source conveyed, and Installation Information provided,\nin accord + with this section must be in a format that is publicly\ndocumented (and with an + implementation available to the public in\nsource code form), and must require + no special password or key for\nunpacking, reading or copying.\n\n 7. Additional + Terms.\n\n \"Additional permissions\" are terms that supplement the terms of + this\nLicense by making exceptions from one or more of its conditions.\nAdditional + permissions that are applicable to the entire Program shall\nbe treated as though + they were included in this License, to the extent\nthat they are valid under applicable + law. If additional permissions\napply only to part of the Program, that part + may be used separately\nunder those permissions, but the entire Program remains + governed by\nthis License without regard to the additional permissions.\n\n When + you convey a copy of a covered work, you may at your option\nremove any additional + permissions from that copy, or from any part of\nit. (Additional permissions + may be written to require their own\nremoval in certain cases when you modify + the work.) You may place\nadditional permissions on material, added by you to + a covered work,\nfor which you have or can give appropriate copyright permission.\n\n + \ Notwithstanding any other provision of this License, for material you\nadd to + a covered work, you may (if authorized by the copyright holders of\nthat material) + supplement the terms of this License with terms:\n\n a) Disclaiming warranty + or limiting liability differently from the\n terms of sections 15 and 16 of + this License; or\n\n b) Requiring preservation of specified reasonable legal + notices or\n author attributions in that material or in the Appropriate Legal\n + \ Notices displayed by works containing it; or\n\n c) Prohibiting misrepresentation + of the origin of that material, or\n requiring that modified versions of such + material be marked in\n reasonable ways as different from the original version; + or\n\n d) Limiting the use for publicity purposes of names of licensors or\n + \ authors of the material; or\n\n e) Declining to grant rights under trademark + law for use of some\n trade names, trademarks, or service marks; or\n\n f) + Requiring indemnification of licensors and authors of that\n material by anyone + who conveys the material (or modified versions of\n it) with contractual assumptions + of liability to the recipient, for\n any liability that these contractual assumptions + directly impose on\n those licensors and authors.\n\n All other non-permissive + additional terms are considered \"further\nrestrictions\" within the meaning of + section 10. If the Program as you\nreceived it, or any part of it, contains a + notice stating that it is\ngoverned by this License along with a term that is + a further\nrestriction, you may remove that term. If a license document contains\na + further restriction but permits relicensing or conveying under this\nLicense, + you may add to a covered work material governed by the terms\nof that license + document, provided that the further restriction does\nnot survive such relicensing + or conveying.\n\n If you add terms to a covered work in accord with this section, + you\nmust place, in the relevant source files, a statement of the\nadditional + terms that apply to those files, or a notice indicating\nwhere to find the applicable + terms.\n\n Additional terms, permissive or non-permissive, may be stated in the\nform + of a separately written license, or stated as exceptions;\nthe above requirements + apply either way.\n\n 8. Termination.\n\n You may not propagate or modify a + covered work except as expressly\nprovided under this License. Any attempt otherwise + to propagate or\nmodify it is void, and will automatically terminate your rights + under\nthis License (including any patent licenses granted under the third\nparagraph + of section 11).\n\n However, if you cease all violation of this License, then + your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, + unless and until the copyright holder explicitly and\nfinally terminates your + license, and (b) permanently, if the copyright\nholder fails to notify you of + the violation by some reasonable means\nprior to 60 days after the cessation.\n\n + \ Moreover, your license from a particular copyright holder is\nreinstated permanently + if the copyright holder notifies you of the\nviolation by some reasonable means, + this is the first time you have\nreceived notice of violation of this License + (for any work) from that\ncopyright holder, and you cure the violation prior to + 30 days after\nyour receipt of the notice.\n\n Termination of your rights under + this section does not terminate the\nlicenses of parties who have received copies + or rights from you under\nthis License. If your rights have been terminated and + not permanently\nreinstated, you do not qualify to receive new licenses for the + same\nmaterial under section 10.\n\n 9. Acceptance Not Required for Having Copies.\n\n + \ You are not required to accept this License in order to receive or\nrun a copy + of the Program. Ancillary propagation of a covered work\noccurring solely as + a consequence of using peer-to-peer transmission\nto receive a copy likewise does + not require acceptance. However,\nnothing other than this License grants you + permission to propagate or\nmodify any covered work. These actions infringe copyright + if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered + work, you indicate your acceptance of this License to do so.\n\n 10. Automatic + Licensing of Downstream Recipients.\n\n Each time you convey a covered work, + the recipient automatically\nreceives a license from the original licensors, to + run, modify and\npropagate that work, subject to this License. You are not responsible\nfor + enforcing compliance by third parties with this License.\n\n An \"entity transaction\" + is a transaction transferring control of an\norganization, or substantially all + assets of one, or subdividing an\norganization, or merging organizations. If + propagation of a covered\nwork results from an entity transaction, each party + to that\ntransaction who receives a copy of the work also receives whatever\nlicenses + to the work the party's predecessor in interest had or could\ngive under the previous + paragraph, plus a right to possession of the\nCorresponding Source of the work + from the predecessor in interest, if\nthe predecessor has it or can get it with + reasonable efforts.\n\n You may not impose any further restrictions on the exercise + of the\nrights granted or affirmed under this License. For example, you may\nnot + impose a license fee, royalty, or other charge for exercise of\nrights granted + under this License, and you may not initiate litigation\n(including a cross-claim + or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by + making, using, selling, offering for\nsale, or importing the Program or any portion + of it.\n\n 11. Patents.\n\n A \"contributor\" is a copyright holder who authorizes + use under this\nLicense of the Program or a work on which the Program is based. + \ The\nwork thus licensed is called the contributor's \"contributor version\".\n\n + \ A contributor's \"essential patent claims\" are all patent claims\nowned or + controlled by the contributor, whether already acquired or\nhereafter acquired, + that would be infringed by some manner, permitted\nby this License, of making, + using, or selling its contributor version,\nbut do not include claims that would + be infringed only as a\nconsequence of further modification of the contributor + version. For\npurposes of this definition, \"control\" includes the right to + grant\npatent sublicenses in a manner consistent with the requirements of\nthis + License.\n\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent + license under the contributor's essential patent claims, to\nmake, use, sell, + offer for sale, import and otherwise run, modify and\npropagate the contents of + its contributor version.\n\n In the following three paragraphs, a \"patent license\" + is any express\nagreement or commitment, however denominated, not to enforce a + patent\n(such as an express permission to practice a patent or covenant not to\nsue + for patent infringement). To \"grant\" such a patent license to a\nparty means + to make such an agreement or commitment not to enforce a\npatent against the party.\n\n + \ If you convey a covered work, knowingly relying on a patent license,\nand the + Corresponding Source of the work is not available for anyone\nto copy, free of + charge and under the terms of this License, through a\npublicly available network + server or other readily accessible means,\nthen you must either (1) cause the + Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of + the benefit of the\npatent license for this particular work, or (3) arrange, in + a manner\nconsistent with the requirements of this License, to extend the patent\nlicense + to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge + that, but for the patent license, your conveying the\ncovered work in a country, + or your recipient's use of the covered work\nin a country, would infringe one + or more identifiable patents in that\ncountry that you have reason to believe + are valid.\n\n If, pursuant to or in connection with a single transaction or\narrangement, + you convey, or propagate by procuring conveyance of, a\ncovered work, and grant + a patent license to some of the parties\nreceiving the covered work authorizing + them to use, propagate, modify\nor convey a specific copy of the covered work, + then the patent license\nyou grant is automatically extended to all recipients + of the covered\nwork and works based on it.\n\n A patent license is \"discriminatory\" + if it does not include within\nthe scope of its coverage, prohibits the exercise + of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically + granted under this License. You may not convey a covered\nwork if you are a party + to an arrangement with a third party that is\nin the business of distributing + software, under which you make payment\nto the third party based on the extent + of your activity of conveying\nthe work, and under which the third party grants, + to any of the\nparties who would receive the covered work from you, a discriminatory\npatent + license (a) in connection with copies of the covered work\nconveyed by you (or + copies made from those copies), or (b) primarily\nfor and in connection with specific + products or compilations that\ncontain the covered work, unless you entered into + that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n + \ Nothing in this License shall be construed as excluding or limiting\nany implied + license or other defenses to infringement that may\notherwise be available to + you under applicable patent law.\n\n 12. No Surrender of Others' Freedom.\n\n + \ If conditions are imposed on you (whether by court order, agreement or\notherwise) + that contradict the conditions of this License, they do not\nexcuse you from the + conditions of this License. If you cannot convey a\ncovered work so as to satisfy + simultaneously your obligations under this\nLicense and any other pertinent obligations, + then as a consequence you may\nnot convey it at all. For example, if you agree + to terms that obligate you\nto collect a royalty for further conveying from those + to whom you convey\nthe Program, the only way you could satisfy both those terms + and this\nLicense would be to refrain entirely from conveying the Program.\n\n + \ 13. Use with the GNU Affero General Public License.\n\n Notwithstanding any + other provision of this License, you have\npermission to link or combine any covered + work with a work licensed\nunder version 3 of the GNU Affero General Public License + into a single\ncombined work, and to convey the resulting work. The terms of + this\nLicense will continue to apply to the part which is the covered work,\nbut + the special requirements of the GNU Affero General Public License,\nsection 13, + concerning interaction through a network will apply to the\ncombination as such.\n\n + \ 14. Revised Versions of this License.\n\n The Free Software Foundation may + publish revised and/or new versions of\nthe GNU General Public License from time + to time. Such new versions will\nbe similar in spirit to the present version, + but may differ in detail to\naddress new problems or concerns.\n\n Each version + is given a distinguishing version number. If the\nProgram specifies that a certain + numbered version of the GNU General\nPublic License \"or any later version\" applies + to it, you have the\noption of following the terms and conditions either of that + numbered\nversion or of any later version published by the Free Software\nFoundation. + \ If the Program does not specify a version number of the\nGNU General Public + License, you may choose any version ever published\nby the Free Software Foundation.\n\n + \ If the Program specifies that a proxy can decide which future\nversions of the + GNU General Public License can be used, that proxy's\npublic statement of acceptance + of a version permanently authorizes you\nto choose that version for the Program.\n\n + \ Later license versions may give you additional or different\npermissions. However, + no additional obligations are imposed on any\nauthor or copyright holder as a + result of your choosing to follow a\nlater version.\n\n 15. Disclaimer of Warranty.\n\n + \ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER + PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED + OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND + PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, + YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n 16. + Limitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR + AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES + AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, + INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT + OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS + OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES + OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH + HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n + \ 17. Interpretation of Sections 15 and 16.\n\n If the disclaimer of warranty + and limitation of liability provided\nabove cannot be given local legal effect + according to their terms,\nreviewing courts shall apply local law that most closely + approximates\nan absolute waiver of all civil liability in connection with the\nProgram, + unless a warranty or assumption of liability accompanies a\ncopy of the Program + in return for a fee.\n\n END OF TERMS AND CONDITIONS\n\n How + to Apply These Terms to Your New Programs\n\n If you develop a new program, and + you want it to be of the greatest\npossible use to the public, the best way to + achieve this is to make it\nfree software which everyone can redistribute and + change under these terms.\n\n To do so, attach the following notices to the program. + \ It is safest\nto attach them to the start of each source file to most effectively\nstate + the exclusion of warranty; and each file should have at least\nthe \"copyright\" + line and a pointer to where the full notice is found.\n\n <one line to give + the program's name and a brief idea of what it does.>\n Copyright (C) <year> + \ <name of author>\n\n This program is free software: you can redistribute + it and/or modify\n it under the terms of the GNU General Public License as + published by\n the Free Software Foundation, either version 3 of the License, + or\n (at your option) any later version.\n\n This program is distributed + in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even + the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + \ See the\n GNU General Public License for more details.\n\n You should + have received a copy of the GNU General Public License\n along with this program. + \ If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how + to contact you by electronic and paper mail.\n\n If the program does terminal + interaction, make it output a short\nnotice like this when it starts in an interactive + mode:\n\n <program> Copyright (C) <year> <name of author>\n This program + comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n This is free + software, and you are welcome to redistribute it\n under certain conditions; + type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' + should show the appropriate\nparts of the General Public License. Of course, + your program's commands\nmight be different; for a GUI interface, you would use + an \"about box\".\n\n You should also get your employer (if you work as a programmer) + or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor + more information on this, and how to apply and follow the GNU GPL, see\n<https://www.gnu.org/licenses/>.\n\n + \ The GNU General Public License does not permit incorporating your program\ninto + proprietary programs. If your program is a subroutine library, you\nmay consider + it more useful to permit linking proprietary applications with\nthe library. If + this is what you want to do, use the GNU Lesser General\nPublic License instead + of this License. But first, please read\n<https://www.gnu.org/licenses/why-not-lgpl.html>.\n" +notices: [] diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 29de54d00b6..0200646b435 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -31,12 +31,12 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/discovery" "github.com/arduino/arduino-cli/internal/arduino/globals" - "github.com/arduino/arduino-cli/internal/arduino/serialutils" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" + serialutils "github.com/arduino/go-serial-utils" "github.com/sirupsen/logrus" ) @@ -470,7 +470,7 @@ func runProgramAction(pme *packagemanager.Explorer, }, } - if newPortAddress, err := serialutils.Reset(portToTouch, wait, cb, dryRun); err != nil { + if newPortAddress, err := serialutils.Reset(portToTouch, wait, dryRun, nil, cb); err != nil { errStream.Write([]byte(fmt.Sprintln(tr("Cannot perform port reset: %s", err)))) } else { if newPortAddress != "" { diff --git a/go.mod b/go.mod index 5dd1d4d859f..c3776bd8f40 100644 --- a/go.mod +++ b/go.mod @@ -9,6 +9,7 @@ require ( github.com/ProtonMail/go-crypto v1.1.0-alpha.0 github.com/arduino/go-paths-helper v1.12.0 github.com/arduino/go-properties-orderedmap v1.8.0 + github.com/arduino/go-serial-utils v0.1.2 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2 @@ -36,7 +37,6 @@ require ( go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.1.1 go.bug.st/relaxed-semver v0.12.0 - go.bug.st/serial v1.6.1 go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.16.0 golang.org/x/text v0.14.0 @@ -93,6 +93,7 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect + go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/crypto v0.17.0 // indirect diff --git a/go.sum b/go.sum index a9f79846797..192d48793ee 100644 --- a/go.sum +++ b/go.sum @@ -15,6 +15,8 @@ github.com/arduino/go-paths-helper v1.12.0 h1:xizOQtI9iHdl19qXd1EmWg5i9W//2bOCOY github.com/arduino/go-paths-helper v1.12.0/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= github.com/arduino/go-properties-orderedmap v1.8.0 h1:wEfa6hHdpezrVOh787OmClsf/Kd8qB+zE3P2Xbrn0CQ= github.com/arduino/go-properties-orderedmap v1.8.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= +github.com/arduino/go-serial-utils v0.1.2 h1:MRFwME4w/uaVkJ1R+wzz4KSbI9cF9IDVrYorazvjpTk= +github.com/arduino/go-serial-utils v0.1.2/go.mod h1:kzIsNPgz8DFAd1sAFKve4ubxrdGcwQ4XzvRLlztsgnE= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6dbLC3y4i02zFT5quS4X6iioWifGlVwfy4= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ= github.com/arduino/go-win32-utils v1.0.0 h1:/cXB86sOJxOsCHP7sQmXGLkdValwJt56mIwOHYxgQjQ= diff --git a/internal/arduino/serialutils/serialutils.go b/internal/arduino/serialutils/serialutils.go deleted file mode 100644 index d99a29ef83a..00000000000 --- a/internal/arduino/serialutils/serialutils.go +++ /dev/null @@ -1,215 +0,0 @@ -// This file is part of arduino-cli -// -// Copyright 2020 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 serialutils - -import ( - "fmt" - "runtime" - "strings" - "time" - - "github.com/arduino/arduino-cli/internal/i18n" - "go.bug.st/serial" -) - -var tr = i18n.Tr - -// TouchSerialPortAt1200bps open and close the serial port at 1200 bps. This -// is used on many Arduino boards as a signal to put the board in "bootloader" -// mode. -func TouchSerialPortAt1200bps(port string) error { - // Open port - p, err := serial.Open(port, &serial.Mode{BaudRate: 1200}) - if err != nil { - return fmt.Errorf("%s: %w", tr("opening port at 1200bps"), err) - } - - if runtime.GOOS != "windows" { - // This is not required on Windows - // TODO: Investigate if it can be removed for other OS too - - // Set DTR to false - if err = p.SetDTR(false); err != nil { - p.Close() - return fmt.Errorf("%s: %w", tr("setting DTR to OFF"), err) - } - } - - // Close serial port - p.Close() - - // Scanning for available ports seems to open the port or - // otherwise assert DTR, which would cancel the WDT reset if - // it happens within 250 ms. So we wait until the reset should - // have already occurred before going on. - time.Sleep(500 * time.Millisecond) - - return nil -} - -func getPortMap() (map[string]bool, error) { - ports, err := serial.GetPortsList() - if err != nil { - return nil, fmt.Errorf("%s: %w", tr("listing serial ports"), err) - } - res := map[string]bool{} - for _, port := range ports { - res[port] = true - } - return res, nil -} - -// ResetProgressCallbacks is a struct that defines a bunch of function callback -// to observe the Reset function progress. -type ResetProgressCallbacks struct { - // TouchingPort is called to signal the 1200-bps touch of the reported port - TouchingPort func(port string) - // WaitingForNewSerial is called to signal that we are waiting for a new port - WaitingForNewSerial func() - // BootloaderPortFound is called to signal that the wait is completed and to - // report the port found, or the empty string if no ports have been found and - // the wait has timed-out. - BootloaderPortFound func(port string) - // Debug reports messages useful for debugging purposes. In normal conditions - // these messages should not be displayed to the user. - Debug func(msg string) -} - -// Reset a board using the 1200 bps port-touch and wait for new ports. -// Both reset and wait are optional: -// - if port is "" touch will be skipped -// - if wait is false waiting will be skipped -// If wait is true, this function will wait for a new port to appear and returns that -// one, otherwise the empty string is returned if the new port can not be detected or -// if the wait parameter is false. -// If dryRun is set to true this function will only emulate the port reset without actually -// performing it, this is useful to mockup for unit-testing and CI. -// In dryRun mode if the `portToTouch` ends with `"999"` and wait is true, Reset will -// return a new "bootloader" port as `portToTouch+"0"`. -// The error is set if the port listing fails. -func Reset(portToTouch string, wait bool, cb *ResetProgressCallbacks, dryRun bool) (string, error) { - getPorts := getPortMap // non dry-run default - if dryRun { - emulatedPort := portToTouch - getPorts = func() (map[string]bool, error) { - res := map[string]bool{} - if emulatedPort != "" { - res[emulatedPort] = true - } - if strings.HasSuffix(emulatedPort, "999") { - emulatedPort += "0" - } else if emulatedPort == "" { - emulatedPort = "newport" - } - return res, nil - } - } - - last, err := getPorts() - if cb != nil && cb.Debug != nil { - cb.Debug(fmt.Sprintf("LAST: %v", last)) - } - if err != nil { - return "", err - } - - if portToTouch != "" && last[portToTouch] { - if cb != nil && cb.Debug != nil { - cb.Debug(fmt.Sprintf("TOUCH: %v", portToTouch)) - } - if cb != nil && cb.TouchingPort != nil { - cb.TouchingPort(portToTouch) - } - if dryRun { - // do nothing! - } else { - if err := TouchSerialPortAt1200bps(portToTouch); err != nil && !wait { - return "", fmt.Errorf("%s: %w", tr("error during board reset"), err) - } - } - } - - if !wait { - return "", nil - } - if cb != nil && cb.WaitingForNewSerial != nil { - cb.WaitingForNewSerial() - } - - deadline := time.Now().Add(10 * time.Second) - if dryRun { - // use a much lower timeout in dryRun - deadline = time.Now().Add(100 * time.Millisecond) - } - for time.Now().Before(deadline) { - now, err := getPorts() - if err != nil { - return "", err - } - if cb != nil && cb.Debug != nil { - cb.Debug(fmt.Sprintf("WAIT: %v", now)) - } - hasNewPorts := false - for p := range now { - if !last[p] { - hasNewPorts = true - break - } - } - - if hasNewPorts { - if cb != nil && cb.Debug != nil { - cb.Debug("New ports found!") - } - - // on OS X, if the port is opened too quickly after it is detected, - // a "Resource busy" error occurs, add a delay to workaround. - // This apply to other platforms as well. - time.Sleep(time.Second) - - // Some boards have a glitch in the bootloader: some user experienced - // the USB serial port appearing and disappearing rapidly before - // settling. - // This check ensure that the port is stable after one second. - check, err := getPorts() - if err != nil { - return "", err - } - if cb != nil && cb.Debug != nil { - cb.Debug(fmt.Sprintf("CHECK: %v", check)) - } - for p := range check { - if !last[p] { - if cb != nil && cb.BootloaderPortFound != nil { - cb.BootloaderPortFound(p) - } - return p, nil // Found it! - } - } - if cb != nil && cb.Debug != nil { - cb.Debug("Port check failed... still waiting") - } - } - - last = now - time.Sleep(250 * time.Millisecond) - } - - if cb != nil && cb.BootloaderPortFound != nil { - cb.BootloaderPortFound("") - } - return "", nil -} From e8b3541b808a86b707aba188581d9350c6dd2d53 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Feb 2024 08:50:03 +0100 Subject: [PATCH 101/361] Bump golangci/golangci-lint-action from 3 to 4 (#2536) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 3 to 4. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v3...v4) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-go-task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index bffdeb04784..ef017004354 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -114,7 +114,7 @@ jobs: version: 3.x - name: golangci-lint - uses: golangci/golangci-lint-action@v3 + uses: golangci/golangci-lint-action@v4 with: version: v1.55 From bd10a5ced88aef21eb0e52fc286d4340bb7566bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Feb 2024 09:03:45 +0100 Subject: [PATCH 102/361] Bump golang.org/x/term from 0.16.0 to 0.17.0 (#2530) * Bump golang.org/x/term from 0.16.0 to 0.17.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.16.0 to 0.17.0. - [Commits](https://github.com/golang/term/compare/v0.16.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * generate license --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessioper.98@gmail.com> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 50c60bb61b4..a001b794b5a 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.16.0 +version: v0.17.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.16.0/LICENSE +- sources: sys@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.16.0/PATENTS +- sources: sys@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index e04edef848c..b65a9a8a66f 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.16.0 +version: v0.17.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.16.0/LICENSE +- sources: sys@v0.17.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.16.0/PATENTS +- sources: sys@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index b7ef058b68f..dfcf8cb326e 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.16.0 +version: v0.17.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index c3776bd8f40..bb3303e3dac 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/downloader/v2 v2.1.1 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.16.0 + golang.org/x/term v0.17.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f google.golang.org/grpc v1.61.0 @@ -100,7 +100,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.19.0 // indirect - golang.org/x/sys v0.16.0 // indirect + golang.org/x/sys v0.17.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 192d48793ee..b0baef986d8 100644 --- a/go.sum +++ b/go.sum @@ -261,11 +261,11 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= -golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE= -golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY= +golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= From 8314f87faad0d347e901b2fcef87704e75103545 Mon Sep 17 00:00:00 2001 From: ardnew <andrew@ardnew.com> Date: Wed, 14 Feb 2024 04:43:57 -0600 Subject: [PATCH 103/361] Add `config get` command to print settings values (#2307) * add "config get" command to print settings values * use RPC for "config get" and add test cases * update imports for changed internal layout * config/get: do not wrap JSON output in YAML * fix formatting with gofmt * config/get: unmarshal JSON RPC response * Apply suggestions from code review Co-authored-by: Cristian Maglie <c.maglie@bug.st> * use same default format as "config dump" * fix import missing after merging review changes remotely * test (config): fix expected error message with "get <unknown-key>" --------- Co-authored-by: Cristian Maglie <c.maglie@bug.st> --- internal/cli/config/config.go | 1 + internal/cli/config/get.go | 87 +++++++++++++++++++ .../integrationtest/config/config_test.go | 29 +++++++ 3 files changed, 117 insertions(+) create mode 100644 internal/cli/config/get.go diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index 38666248f91..c59714478d3 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -37,6 +37,7 @@ func NewCommand() *cobra.Command { configCommand.AddCommand(initAddCommand()) configCommand.AddCommand(initDeleteCommand()) configCommand.AddCommand(initDumpCommand()) + configCommand.AddCommand(initGetCommand()) configCommand.AddCommand(initInitCommand()) configCommand.AddCommand(initRemoveCommand()) configCommand.AddCommand(initSetCommand()) diff --git a/internal/cli/config/get.go b/internal/cli/config/get.go new file mode 100644 index 00000000000..cb2a5cb0072 --- /dev/null +++ b/internal/cli/config/get.go @@ -0,0 +1,87 @@ +// This file is part of arduino-cli. +// +// Copyright 2020 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 config + +import ( + "encoding/json" + "fmt" + "os" + + "github.com/arduino/arduino-cli/commands/daemon" + "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/sirupsen/logrus" + "github.com/spf13/cobra" + "gopkg.in/yaml.v3" +) + +func initGetCommand() *cobra.Command { + getCommand := &cobra.Command{ + Use: "get", + Short: tr("Gets a settings key value."), + Long: tr("Gets a settings key value."), + Example: "" + + " " + os.Args[0] + " config get logging\n" + + " " + os.Args[0] + " config get daemon.port\n" + + " " + os.Args[0] + " config get board_manager.additional_urls", + Args: cobra.MinimumNArgs(1), + Run: runGetCommand, + ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { + return configuration.Settings.AllKeys(), cobra.ShellCompDirectiveDefault + }, + } + return getCommand +} + +func runGetCommand(cmd *cobra.Command, args []string) { + logrus.Info("Executing `arduino-cli config get`") + + svc := daemon.ArduinoCoreServerImpl{} + for _, toGet := range args { + resp, err := svc.SettingsGetValue(cmd.Context(), &rpc.SettingsGetValueRequest{Key: toGet}) + if err != nil { + feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", toGet, err), feedback.ErrGeneric) + } + var result getResult + err = json.Unmarshal([]byte(resp.GetJsonData()), &result.resp) + if err != nil { + // Should never happen... + panic(fmt.Sprintf("Cannot parse JSON for key %[1]s: %[2]v", toGet, err)) + } + feedback.PrintResult(result) + } +} + +// output from this command may require special formatting. +// create a dedicated feedback.Result implementation to safely handle +// any changes to the configuration.Settings struct. +type getResult struct { + resp interface{} +} + +func (gr getResult) Data() interface{} { + return gr.resp +} + +func (gr getResult) String() string { + gs, err := yaml.Marshal(gr.resp) + if err != nil { + // Should never happen + panic(tr("unable to marshal config to YAML: %v", err)) + } + return string(gs) +} diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 2d830978c98..91bb73af9f6 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -818,6 +818,35 @@ func TestDelete(t *testing.T) { require.NotContains(t, configLines, "board_manager") } +func TestGet(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // Create a config file + _, _, err := cli.Run("config", "init", "--dest-dir", ".") + require.NoError(t, err) + + // Verifies default state + stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.Query(t, stdout, ".config | .daemon | .port", `"50051"`) + + // Get simple key value + stdout, _, err = cli.Run("config", "get", "daemon.port", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.Contains(t, stdout, `"50051"`) + + // Get structured key value + stdout, _, err = cli.Run("config", "get", "daemon", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.Contains(t, stdout, `{"port":"50051"}`) + + // Get undefined key + _, stderr, err := cli.Run("config", "get", "foo", "--format", "json", "--config-file", "arduino-cli.yaml") + require.Error(t, err) + requirejson.Contains(t, stderr, `{"error":"Cannot get the configuration key foo: key not found in settings"}`) +} + func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() From 31e44786ea3f8ad1d82c0a396745d2b3a04c2b5c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Feb 2024 09:36:51 +0100 Subject: [PATCH 104/361] Bump google.golang.org/grpc from 1.61.0 to 1.61.1 (#2539) * Bump google.golang.org/grpc from 1.61.0 to 1.61.1 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.61.0 to 1.61.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.61.0...v1.61.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * cache license --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessioper.98@gmail.com> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 53 files changed, 104 insertions(+), 104 deletions(-) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index bf70894fda0..c356354a2a3 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.61.0 +version: v1.61.1 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 595f18945e3..f86d7747024 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.61.0 +version: v1.61.1 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 6bfd1abefc8..470ad237e04 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.61.0 +version: v1.61.1 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 6fbd6bae5ae..73cc166b35e 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.61.0 +version: v1.61.1 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 57a4b98f90c..7279d35d671 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.61.0 +version: v1.61.1 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 942599006fb..6dc1bc24094 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.61.0 +version: v1.61.1 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 4b9f022615e..67dc5ff1155 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.61.0 +version: v1.61.1 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 295fb679d9a..441aa1eaf16 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.61.0 +version: v1.61.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 7915cb65e04..8e59866df35 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.61.0 +version: v1.61.1 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 7a9c5993bb0..d752c565584 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.61.0 +version: v1.61.1 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 8d713df7a75..aee05a11e31 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.61.0 +version: v1.61.1 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index bdd29ebc5fc..3c90dfd11c6 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.61.0 +version: v1.61.1 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 502bc310229..d3049eb2bd5 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.61.0 +version: v1.61.1 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 84716ee4072..ed350e1998d 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.61.0 +version: v1.61.1 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 3d34ee0c372..9aa016697e8 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.61.0 +version: v1.61.1 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index bcf79b325ee..7ff3d6ed391 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.61.0 +version: v1.61.1 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 759ce583951..c06edce05cb 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.61.0 +version: v1.61.1 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 82102d82612..435c1d5a77e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.61.0 +version: v1.61.1 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 92ab07b1812..32522dbae65 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.61.0 +version: v1.61.1 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index a3351266f86..c5aff81e1ac 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.61.0 +version: v1.61.1 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index f8a5b869798..96a538c32d9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.61.0 +version: v1.61.1 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index ea588107cc6..08cf99ca5ae 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.61.0 +version: v1.61.1 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index eea311973e6..4c64ec07c05 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.61.0 +version: v1.61.1 type: go summary: Package channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index c01ed7b86a2..1a6be7c30f6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.61.0 +version: v1.61.1 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 70a63c2b060..0c73f62190c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.61.0 +version: v1.61.1 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index ac52751df74..54c3b765886 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.61.0 +version: v1.61.1 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml index 79691a61aa2..d84b845e35c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcrand -version: v1.61.0 +version: v1.61.1 type: go summary: Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 4ebe7eff4a8..b1f43ef5ce0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.61.0 +version: v1.61.1 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 4901d271b9b..fb91bf9574b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.61.0 +version: v1.61.1 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index a46d256ab20..f6815b7996b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.61.0 +version: v1.61.1 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index c16a7608260..797c6d9f2d4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.61.0 +version: v1.61.1 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 6cf1f123e4a..db0550cfdb9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.61.0 +version: v1.61.1 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index fe9126bb1f7..17bdb07227b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.61.0 +version: v1.61.1 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 9cf74e8d826..7da8625d0a9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.61.0 +version: v1.61.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 91c32cca35e..f213a768ca2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.61.0 +version: v1.61.1 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 9fdcbc94091..d7051beb25e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.61.0 +version: v1.61.1 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index b97cfb30385..fdd4a74b0fd 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.61.0 +version: v1.61.1 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 612d78ca6b3..ecbc02e54ef 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.61.0 +version: v1.61.1 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 112bba941b9..abc5910dc56 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.61.0 +version: v1.61.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 3cf662dc988..e45428c487a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.61.0 +version: v1.61.1 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 25e78743cc0..6b4986c0f88 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.61.0 +version: v1.61.1 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index d98f6b60b6e..2984b45540c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.61.0 +version: v1.61.1 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 70f23f3e851..d42737f212a 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.61.0 +version: v1.61.1 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index a71df2eb07c..ef4ef735b00 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.61.0 +version: v1.61.1 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 36aa85c0d7d..b5a0639d66b 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.61.0 +version: v1.61.1 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 934e003f31c..ee113607024 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.61.0 +version: v1.61.1 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 2e7f2f51dfa..353ce80197c 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.61.0 +version: v1.61.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index ab497a99b9e..32bd380a3d8 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.61.0 +version: v1.61.1 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 91e5bad59d4..52ca787b621 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.61.0 +version: v1.61.1 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index f6f9081b737..5e9c874b6cd 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.61.0 +version: v1.61.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 93dbc965daa..18c11321182 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.61.0 +version: v1.61.1 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.61.0/LICENSE +- sources: grpc@v1.61.1/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index bb3303e3dac..aa45b9f824c 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( golang.org/x/term v0.17.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f - google.golang.org/grpc v1.61.0 + google.golang.org/grpc v1.61.1 google.golang.org/protobuf v1.32.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index b0baef986d8..0a8bd0d4421 100644 --- a/go.sum +++ b/go.sum @@ -276,8 +276,8 @@ golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= -google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= +google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= From 20b9ba12eb03fa201533d82b7cd485cc75004f94 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 15 Feb 2024 11:39:31 +0100 Subject: [PATCH 105/361] [skip-changelog] Moved discovery client implementation into his own library (#2531) * Moved discovery client implementation into his own library * Updated to latest release of pluggable-discovery-protocol-handler lib --- .../v2.dep.yml | 709 ++++++++++++++++++ commands/board/list.go | 6 +- commands/board/list_test.go | 2 +- commands/upload/upload.go | 6 +- go.mod | 2 +- go.sum | 4 +- .../arduino/cores/packagemanager/loader.go | 7 +- internal/arduino/discovery/discovery.go | 472 ------------ .../discovery/discovery_client/main.go | 4 +- internal/arduino/discovery/discovery_test.go | 73 -- .../discoverymanager/discoverymanager.go | 30 +- .../arduino/discovery/testdata/cat/.gitignore | 2 - .../arduino/discovery/testdata/cat/main.go | 28 - rpc/cc/arduino/cli/commands/v1/common.go | 36 + 14 files changed, 777 insertions(+), 604 deletions(-) create mode 100644 .licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml delete mode 100644 internal/arduino/discovery/discovery.go delete mode 100644 internal/arduino/discovery/discovery_test.go delete mode 100644 internal/arduino/discovery/testdata/cat/.gitignore delete mode 100644 internal/arduino/discovery/testdata/cat/main.go diff --git a/.licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml b/.licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml new file mode 100644 index 00000000000..2fdbca2179a --- /dev/null +++ b/.licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml @@ -0,0 +1,709 @@ +--- +name: github.com/arduino/pluggable-discovery-protocol-handler/v2 +version: v2.2.0 +type: go +summary: Package discovery is a library for handling the Arduino Pluggable-Discovery + protocol (https://github.com/arduino/tooling-rfcs/blob/main/RFCs/0002-pluggable-discovery.md#pluggable-discovery-api-via-stdinstdout) +homepage: https://pkg.go.dev/github.com/arduino/pluggable-discovery-protocol-handler/v2 +license: other +licenses: +- sources: LICENSE.txt + text: | + This file includes licensing information for serial-discovery + + Copyright (c) 2018 ARDUINO SA (www.arduino.cc) + + The software is released under the GNU General Public License, which covers the main body + of the serial-discovery code. 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 + + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/> + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for + software and other kinds of works. + + The licenses for most software and other practical works are designed + to take away your freedom to share and change the works. By contrast, + the GNU General Public License is intended to guarantee your freedom to + share and change all versions of a program--to make sure it remains free + software for all its users. We, the Free Software Foundation, use the + GNU General Public License for most of our software; it applies also to + any other work released this way by its authors. You can apply it to + your programs, too. + + When we speak of free software, we are referring to freedom, not + price. Our General Public Licenses are designed to make sure that you + have the freedom to distribute copies of free software (and charge for + them if you wish), that you receive source code or can get it if you + want it, that you can change the software or use pieces of it in new + free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you + these rights or asking you to surrender the rights. Therefore, you have + certain responsibilities if you distribute copies of the software, or if + you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether + gratis or for a fee, you must pass on to the recipients the same + freedoms that you received. You must make sure that they, too, receive + or can get the source code. And you must show them these terms so they + know their rights. + + Developers that use the GNU GPL protect your rights with two steps: + (1) assert copyright on the software, and (2) offer you this License + giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains + that there is no warranty for this free software. For both users' and + authors' sake, the GPL requires that modified versions be marked as + changed, so that their problems will not be attributed erroneously to + authors of previous versions. + + Some devices are designed to deny users access to install or run + modified versions of the software inside them, although the manufacturer + can do so. This is fundamentally incompatible with the aim of + protecting users' freedom to change the software. The systematic + pattern of such abuse occurs in the area of products for individuals to + use, which is precisely where it is most unacceptable. Therefore, we + have designed this version of the GPL to prohibit the practice for those + products. If such problems arise substantially in other domains, we + stand ready to extend this provision to those domains in future versions + of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. + States should not allow patents to restrict development and use of + software on general-purpose computers, but in those that do, we wish to + avoid the special danger that patents applied to a free program could + make it effectively proprietary. To prevent this, the GPL assures that + patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and + modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of + works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this + License. Each licensee is addressed as "you". "Licensees" and + "recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work + in a fashion requiring copyright permission, other than the making of an + exact copy. The resulting work is called a "modified version" of the + earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based + on the Program. + + To "propagate" a work means to do anything with it that, without + permission, would make you directly or secondarily liable for + infringement under applicable copyright law, except executing it on a + computer or modifying a private copy. Propagation includes copying, + distribution (with or without modification), making available to the + public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other + parties to make or receive copies. Mere interaction with a user through + a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" + to the extent that it includes a convenient and prominently visible + feature that (1) displays an appropriate copyright notice, and (2) + tells the user that there is no warranty for the work (except to the + extent that warranties are provided), that licensees may convey the + work under this License, and how to view a copy of this License. If + the interface presents a list of user commands or options, such as a + menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work + for making modifications to it. "Object code" means any non-source + form of a work. + + A "Standard Interface" means an interface that either is an official + standard defined by a recognized standards body, or, in the case of + interfaces specified for a particular programming language, one that + is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other + than the work as a whole, that (a) is included in the normal form of + packaging a Major Component, but which is not part of that Major + Component, and (b) serves only to enable use of the work with that + Major Component, or to implement a Standard Interface for which an + implementation is available to the public in source code form. A + "Major Component", in this context, means a major essential component + (kernel, window system, and so on) of the specific operating system + (if any) on which the executable work runs, or a compiler used to + produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all + the source code needed to generate, install, and (for an executable + work) run the object code and to modify the work, including scripts to + control those activities. However, it does not include the work's + System Libraries, or general-purpose tools or generally available free + programs which are used unmodified in performing those activities but + which are not part of the work. For example, Corresponding Source + includes interface definition files associated with source files for + the work, and the source code for shared libraries and dynamically + linked subprograms that the work is specifically designed to require, + such as by intimate data communication or control flow between those + subprograms and other parts of the work. + + The Corresponding Source need not include anything that users + can regenerate automatically from other parts of the Corresponding + Source. + + The Corresponding Source for a work in source code form is that + same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of + copyright on the Program, and are irrevocable provided the stated + conditions are met. This License explicitly affirms your unlimited + permission to run the unmodified Program. The output from running a + covered work is covered by this License only if the output, given its + content, constitutes a covered work. This License acknowledges your + rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not + convey, without conditions so long as your license otherwise remains + in force. You may convey covered works to others for the sole purpose + of having them make modifications exclusively for you, or provide you + with facilities for running those works, provided that you comply with + the terms of this License in conveying all material for which you do + not control copyright. Those thus making or running the covered works + for you must do so exclusively on your behalf, under your direction + and control, on terms that prohibit them from making any copies of + your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under + the conditions stated below. Sublicensing is not allowed; section 10 + makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological + measure under any applicable law fulfilling obligations under article + 11 of the WIPO copyright treaty adopted on 20 December 1996, or + similar laws prohibiting or restricting circumvention of such + measures. + + When you convey a covered work, you waive any legal power to forbid + circumvention of technological measures to the extent such circumvention + is effected by exercising rights under this License with respect to + the covered work, and you disclaim any intention to limit operation or + modification of the work as a means of enforcing, against the work's + users, your or third parties' legal rights to forbid circumvention of + technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you + receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice; + keep intact all notices stating that this License and any + non-permissive terms added in accord with section 7 apply to the code; + keep intact all notices of the absence of any warranty; and give all + recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, + and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to + produce it from the Program, in the form of source code under the + terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent + works, which are not by their nature extensions of the covered work, + and which are not combined with it such as to form a larger program, + in or on a volume of a storage or distribution medium, is called an + "aggregate" if the compilation and its resulting copyright are not + used to limit the access or legal rights of the compilation's users + beyond what the individual works permit. Inclusion of a covered work + in an aggregate does not cause this License to apply to the other + parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms + of sections 4 and 5, provided that you also convey the + machine-readable Corresponding Source under the terms of this License, + in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded + from the Corresponding Source as a System Library, need not be + included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any + tangible personal property which is normally used for personal, family, + or household purposes, or (2) anything designed or sold for incorporation + into a dwelling. In determining whether a product is a consumer product, + doubtful cases shall be resolved in favor of coverage. For a particular + product received by a particular user, "normally used" refers to a + typical or common use of that class of product, regardless of the status + of the particular user or of the way in which the particular user + actually uses, or expects or is expected to use, the product. A product + is a consumer product regardless of whether the product has substantial + commercial, industrial or non-consumer uses, unless such uses represent + the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, + procedures, authorization keys, or other information required to install + and execute modified versions of a covered work in that User Product from + a modified version of its Corresponding Source. The information must + suffice to ensure that the continued functioning of the modified object + code is in no case prevented or interfered with solely because + modification has been made. + + If you convey an object code work under this section in, or with, or + specifically for use in, a User Product, and the conveying occurs as + part of a transaction in which the right of possession and use of the + User Product is transferred to the recipient in perpetuity or for a + fixed term (regardless of how the transaction is characterized), the + Corresponding Source conveyed under this section must be accompanied + by the Installation Information. But this requirement does not apply + if neither you nor any third party retains the ability to install + modified object code on the User Product (for example, the work has + been installed in ROM). + + The requirement to provide Installation Information does not include a + requirement to continue to provide support service, warranty, or updates + for a work that has been modified or installed by the recipient, or for + the User Product in which it has been modified or installed. Access to a + network may be denied when the modification itself materially and + adversely affects the operation of the network or violates the rules and + protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, + in accord with this section must be in a format that is publicly + documented (and with an implementation available to the public in + source code form), and must require no special password or key for + unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this + License by making exceptions from one or more of its conditions. + Additional permissions that are applicable to the entire Program shall + be treated as though they were included in this License, to the extent + that they are valid under applicable law. If additional permissions + apply only to part of the Program, that part may be used separately + under those permissions, but the entire Program remains governed by + this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option + remove any additional permissions from that copy, or from any part of + it. (Additional permissions may be written to require their own + removal in certain cases when you modify the work.) You may place + additional permissions on material, added by you to a covered work, + for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you + add to a covered work, you may (if authorized by the copyright holders of + that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further + restrictions" within the meaning of section 10. If the Program as you + received it, or any part of it, contains a notice stating that it is + governed by this License along with a term that is a further + restriction, you may remove that term. If a license document contains + a further restriction but permits relicensing or conveying under this + License, you may add to a covered work material governed by the terms + of that license document, provided that the further restriction does + not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you + must place, in the relevant source files, a statement of the + additional terms that apply to those files, or a notice indicating + where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the + form of a separately written license, or stated as exceptions; + the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly + provided under this License. Any attempt otherwise to propagate or + modify it is void, and will automatically terminate your rights under + this License (including any patent licenses granted under the third + paragraph of section 11). + + However, if you cease all violation of this License, then your + license from a particular copyright holder is reinstated (a) + provisionally, unless and until the copyright holder explicitly and + finally terminates your license, and (b) permanently, if the copyright + holder fails to notify you of the violation by some reasonable means + prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is + reinstated permanently if the copyright holder notifies you of the + violation by some reasonable means, this is the first time you have + received notice of violation of this License (for any work) from that + copyright holder, and you cure the violation prior to 30 days after + your receipt of the notice. + + Termination of your rights under this section does not terminate the + licenses of parties who have received copies or rights from you under + this License. If your rights have been terminated and not permanently + reinstated, you do not qualify to receive new licenses for the same + material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or + run a copy of the Program. Ancillary propagation of a covered work + occurring solely as a consequence of using peer-to-peer transmission + to receive a copy likewise does not require acceptance. However, + nothing other than this License grants you permission to propagate or + modify any covered work. These actions infringe copyright if you do + not accept this License. Therefore, by modifying or propagating a + covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically + receives a license from the original licensors, to run, modify and + propagate that work, subject to this License. You are not responsible + for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an + organization, or substantially all assets of one, or subdividing an + organization, or merging organizations. If propagation of a covered + work results from an entity transaction, each party to that + transaction who receives a copy of the work also receives whatever + licenses to the work the party's predecessor in interest had or could + give under the previous paragraph, plus a right to possession of the + Corresponding Source of the work from the predecessor in interest, if + the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the + rights granted or affirmed under this License. For example, you may + not impose a license fee, royalty, or other charge for exercise of + rights granted under this License, and you may not initiate litigation + (including a cross-claim or counterclaim in a lawsuit) alleging that + any patent claim is infringed by making, using, selling, offering for + sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this + License of the Program or a work on which the Program is based. The + work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims + owned or controlled by the contributor, whether already acquired or + hereafter acquired, that would be infringed by some manner, permitted + by this License, of making, using, or selling its contributor version, + but do not include claims that would be infringed only as a + consequence of further modification of the contributor version. For + purposes of this definition, "control" includes the right to grant + patent sublicenses in a manner consistent with the requirements of + this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free + patent license under the contributor's essential patent claims, to + make, use, sell, offer for sale, import and otherwise run, modify and + propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express + agreement or commitment, however denominated, not to enforce a patent + (such as an express permission to practice a patent or covenant not to + sue for patent infringement). To "grant" such a patent license to a + party means to make such an agreement or commitment not to enforce a + patent against the party. + + If you convey a covered work, knowingly relying on a patent license, + and the Corresponding Source of the work is not available for anyone + to copy, free of charge and under the terms of this License, through a + publicly available network server or other readily accessible means, + then you must either (1) cause the Corresponding Source to be so + available, or (2) arrange to deprive yourself of the benefit of the + patent license for this particular work, or (3) arrange, in a manner + consistent with the requirements of this License, to extend the patent + license to downstream recipients. "Knowingly relying" means you have + actual knowledge that, but for the patent license, your conveying the + covered work in a country, or your recipient's use of the covered work + in a country, would infringe one or more identifiable patents in that + country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or + arrangement, you convey, or propagate by procuring conveyance of, a + covered work, and grant a patent license to some of the parties + receiving the covered work authorizing them to use, propagate, modify + or convey a specific copy of the covered work, then the patent license + you grant is automatically extended to all recipients of the covered + work and works based on it. + + A patent license is "discriminatory" if it does not include within + the scope of its coverage, prohibits the exercise of, or is + conditioned on the non-exercise of one or more of the rights that are + specifically granted under this License. You may not convey a covered + work if you are a party to an arrangement with a third party that is + in the business of distributing software, under which you make payment + to the third party based on the extent of your activity of conveying + the work, and under which the third party grants, to any of the + parties who would receive the covered work from you, a discriminatory + patent license (a) in connection with copies of the covered work + conveyed by you (or copies made from those copies), or (b) primarily + for and in connection with specific products or compilations that + contain the covered work, unless you entered into that arrangement, + or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting + any implied license or other defenses to infringement that may + otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or + otherwise) that contradict the conditions of this License, they do not + excuse you from the conditions of this License. If you cannot convey a + covered work so as to satisfy simultaneously your obligations under this + License and any other pertinent obligations, then as a consequence you may + not convey it at all. For example, if you agree to terms that obligate you + to collect a royalty for further conveying from those to whom you convey + the Program, the only way you could satisfy both those terms and this + License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have + permission to link or combine any covered work with a work licensed + under version 3 of the GNU Affero General Public License into a single + combined work, and to convey the resulting work. The terms of this + License will continue to apply to the part which is the covered work, + but the special requirements of the GNU Affero General Public License, + section 13, concerning interaction through a network will apply to the + combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of + the GNU General Public License from time to time. Such new versions will + be similar in spirit to the present version, but may differ in detail to + address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies that a certain numbered version of the GNU General + Public License "or any later version" applies to it, you have the + option of following the terms and conditions either of that numbered + version or of any later version published by the Free Software + Foundation. If the Program does not specify a version number of the + GNU General Public License, you may choose any version ever published + by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future + versions of the GNU General Public License can be used, that proxy's + public statement of acceptance of a version permanently authorizes you + to choose that version for the Program. + + Later license versions may give you additional or different + permissions. However, no additional obligations are imposed on any + author or copyright holder as a result of your choosing to follow a + later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY + APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY + OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM + IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF + ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS + THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY + GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE + USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF + DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD + PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), + EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF + SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided + above cannot be given local legal effect according to their terms, + reviewing courts shall apply local law that most closely approximates + an absolute waiver of all civil liability in connection with the + Program, unless a warranty or assumption of liability accompanies a + copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest + possible use to the public, the best way to achieve this is to make it + free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest + to attach them to the start of each source file to most effectively + state the exclusion of warranty; and each file should have at least + the "copyright" line and a pointer to where the full notice is found. + + <one line to give the program's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + + Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short + notice like this when it starts in an interactive mode: + + <program> Copyright (C) <year> <name of author> + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + The hypothetical commands `show w' and `show c' should show the appropriate + parts of the General Public License. Of course, your program's commands + might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, + if any, to sign a "copyright disclaimer" for the program, if necessary. + For more information on this, and how to apply and follow the GNU GPL, see + <https://www.gnu.org/licenses/>. + + The GNU General Public License does not permit incorporating your program + into proprietary programs. If your program is a subroutine library, you + may consider it more useful to permit linking proprietary applications with + the library. If this is what you want to do, use the GNU Lesser General + Public License instead of this License. But first, please read + <https://www.gnu.org/licenses/why-not-lgpl.html>. +- sources: README.md + text: |- + Copyright (c) 2021 ARDUINO SA (www.arduino.cc) + + The software is released under the GNU General Public License, which covers the main body + of the serial-discovery code. The terms of this license can be found at: + https://www.gnu.org/licenses/gpl-3.0.en.html + + See [LICENSE.txt](https://github.com/arduino/pluggable-discovery-protocol-handler/blob/master/LICENSE.txt) for details. +notices: [] diff --git a/commands/board/list.go b/commands/board/list.go index 22a66b524c3..25c6ef53401 100644 --- a/commands/board/list.go +++ b/commands/board/list.go @@ -31,11 +31,11 @@ import ( "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/arduino/discovery" "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" + discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/sirupsen/logrus" ) @@ -234,7 +234,7 @@ func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartError // boards slice can be empty at this point if neither the cores nor the // API managed to recognize the connected board b := &rpc.DetectedPort{ - Port: port.ToRPC(), + Port: rpc.DiscoveryPortToRPC(port), MatchingBoards: boards, } @@ -283,7 +283,7 @@ func Watch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.Boa defer close(outChan) for event := range watcher.Feed() { port := &rpc.DetectedPort{ - Port: event.Port.ToRPC(), + Port: rpc.DiscoveryPortToRPC(event.Port), } boardsError := "" diff --git a/commands/board/list_test.go b/commands/board/list_test.go index 29d342b48a9..f6e46f19a46 100644 --- a/commands/board/list_test.go +++ b/commands/board/list_test.go @@ -22,10 +22,10 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/arduino/discovery" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" + discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/stretchr/testify/require" semver "go.bug.st/relaxed-semver" ) diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 0200646b435..487840c46aa 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -29,7 +29,6 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/arduino/discovery" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/i18n" @@ -37,6 +36,7 @@ import ( paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" serialutils "github.com/arduino/go-serial-utils" + discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/sirupsen/logrus" ) @@ -209,7 +209,7 @@ func runProgramAction(pme *packagemanager.Explorer, outStream, errStream io.Writer, dryRun bool, userFields map[string]string, ) (*rpc.Port, error) { - port := discovery.PortFromRPCPort(userPort) + port := rpc.DiscoveryPortFromRPCPort(userPort) if port == nil || (port.Address == "" && port.Protocol == "") { // For no-port uploads use "default" protocol port = &discovery.Port{Protocol: "default"} @@ -528,7 +528,7 @@ func runProgramAction(pme *packagemanager.Explorer, // If the algorithms can not detect the new port, fallback to the user-provided port. return userPort, nil } - return updatedPort.ToRPC(), nil + return rpc.DiscoveryPortToRPC(updatedPort), nil } func detectUploadPort( diff --git a/go.mod b/go.mod index aa45b9f824c..46c655a8e1d 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/arduino/go-serial-utils v0.1.2 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 - github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2 + github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0 github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 github.com/cmaglie/pb v1.0.27 github.com/codeclysm/extract/v3 v3.1.1 diff --git a/go.sum b/go.sum index 0a8bd0d4421..46ce609d137 100644 --- a/go.sum +++ b/go.sum @@ -21,8 +21,8 @@ github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ= github.com/arduino/go-win32-utils v1.0.0 h1:/cXB86sOJxOsCHP7sQmXGLkdValwJt56mIwOHYxgQjQ= github.com/arduino/go-win32-utils v1.0.0/go.mod h1:0jqM7doGEAs6DaJCxxhLBUDS5OawrqF48HqXkcEie/Q= -github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2 h1:Yrljx84UtFilOCpe+xE6+OFDyWyhghYpP/4A7vzQneM= -github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.1.2/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0 h1:v7og6LpskewFabmaShKVzWXl5MXbmsxaRP3yo4dJta8= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y= github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4AdBxcC9dJLXasRimVqaComf9L3M= github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= diff --git a/internal/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go index 77d4cc3d848..00f87dd3002 100644 --- a/internal/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -24,7 +24,6 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" - "github.com/arduino/arduino-cli/internal/arduino/discovery" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -636,8 +635,7 @@ func (pme *Explorer) loadDiscovery(id string) error { return errors.New(tr("discovery %s not installed", id)) } discoveryPath := toolRelease.InstallDir.Join(tool.Name).String() - d := discovery.New(id, discoveryPath) - pme.discoveryManager.Add(d) + pme.discoveryManager.Add(id, discoveryPath) return nil } @@ -713,8 +711,7 @@ func (pme *Explorer) loadDiscoveries(release *cores.PlatformRelease) []error { if cmdArgs, err := properties.SplitQuotedString(cmd, `"'`, true); err != nil { merr = append(merr, err) } else { - d := discovery.New(discoveryID, cmdArgs...) - pme.discoveryManager.Add(d) + pme.discoveryManager.Add(discoveryID, cmdArgs...) } } diff --git a/internal/arduino/discovery/discovery.go b/internal/arduino/discovery/discovery.go deleted file mode 100644 index bc62456e3e0..00000000000 --- a/internal/arduino/discovery/discovery.go +++ /dev/null @@ -1,472 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 discovery - -import ( - "encoding/json" - "errors" - "fmt" - "io" - "strings" - "sync" - "time" - - "github.com/arduino/arduino-cli/internal/i18n" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" - "github.com/arduino/go-paths-helper" - "github.com/arduino/go-properties-orderedmap" - "github.com/sirupsen/logrus" -) - -// To work correctly a Pluggable Discovery must respect the state machine specified on the documentation: -// https://arduino.github.io/arduino-cli/latest/pluggable-discovery-specification/#state-machine -// States a PluggableDiscovery can be in -const ( - Alive int = iota - Idling - Running - Syncing - Dead -) - -// PluggableDiscovery is a tool that detects communication ports to interact -// with the boards. -type PluggableDiscovery struct { - id string - processArgs []string - process *paths.Process - outgoingCommandsPipe io.Writer - incomingMessagesChan <-chan *discoveryMessage - - // All the following fields are guarded by statusMutex - statusMutex sync.Mutex - incomingMessagesError error - state int - eventChan chan<- *Event -} - -type discoveryMessage struct { - EventType string `json:"eventType"` - Message string `json:"message"` - Error bool `json:"error"` - ProtocolVersion int `json:"protocolVersion"` // Used in HELLO command - Ports []*Port `json:"ports"` // Used in LIST command - Port *Port `json:"port"` // Used in add and remove events -} - -func (msg discoveryMessage) String() string { - s := fmt.Sprintf("type: %s", msg.EventType) - if msg.Message != "" { - s = tr("%[1]s, message: %[2]s", s, msg.Message) - } - if msg.ProtocolVersion != 0 { - s = tr("%[1]s, protocol version: %[2]d", s, msg.ProtocolVersion) - } - if len(msg.Ports) > 0 { - s = tr("%[1]s, ports: %[2]s", s, msg.Ports) - } - if msg.Port != nil { - s = tr("%[1]s, port: %[2]s", s, msg.Port) - } - return s -} - -// Port contains metadata about a port to connect to a board. -type Port struct { - Address string `json:"address"` - AddressLabel string `json:"label"` - Protocol string `json:"protocol"` - ProtocolLabel string `json:"protocolLabel"` - HardwareID string `json:"hardwareId,omitempty"` - Properties *properties.Map `json:"properties"` -} - -var tr = i18n.Tr - -// Equals returns true if the given port has the same address and protocol -// of the current port. -func (p *Port) Equals(o *Port) bool { - return p.Address == o.Address && p.Protocol == o.Protocol -} - -// ToRPC converts Port into rpc.Port -func (p *Port) ToRPC() *rpc.Port { - props := p.Properties - if props == nil { - props = properties.NewMap() - } - return &rpc.Port{ - Address: p.Address, - Label: p.AddressLabel, - Protocol: p.Protocol, - ProtocolLabel: p.ProtocolLabel, - HardwareId: p.HardwareID, - Properties: props.AsMap(), - } -} - -// PortFromRPCPort converts an *rpc.Port to a *Port -func PortFromRPCPort(o *rpc.Port) (p *Port) { - if o == nil { - return nil - } - res := &Port{ - Address: o.GetAddress(), - AddressLabel: o.GetLabel(), - Protocol: o.GetProtocol(), - ProtocolLabel: o.GetProtocolLabel(), - HardwareID: o.GetHardwareId(), - } - if o.GetProperties() != nil { - res.Properties = properties.NewFromHashmap(o.GetProperties()) - } - return res -} - -func (p *Port) String() string { - if p == nil { - return "none" - } - return p.Address -} - -// Clone creates a copy of this Port -func (p *Port) Clone() *Port { - if p == nil { - return nil - } - res := *p - if p.Properties != nil { - res.Properties = p.Properties.Clone() - } - return &res -} - -// Event is a pluggable discovery event -type Event struct { - Type string - Port *Port - DiscoveryID string -} - -// New create and connect to the given pluggable discovery -func New(id string, args ...string) *PluggableDiscovery { - return &PluggableDiscovery{ - id: id, - processArgs: args, - state: Dead, - } -} - -// GetID returns the identifier for this discovery -func (disc *PluggableDiscovery) GetID() string { - return disc.id -} - -func (disc *PluggableDiscovery) String() string { - return disc.id -} - -func (disc *PluggableDiscovery) jsonDecodeLoop(in io.Reader, outChan chan<- *discoveryMessage) { - decoder := json.NewDecoder(in) - closeAndReportError := func(err error) { - disc.statusMutex.Lock() - disc.state = Dead - disc.incomingMessagesError = err - disc.statusMutex.Unlock() - close(outChan) - logrus.Errorf("stopped discovery %s decode loop: %v", disc.id, err) - } - - for { - var msg discoveryMessage - if err := decoder.Decode(&msg); errors.Is(err, io.EOF) { - // This is fine, we exit gracefully - disc.statusMutex.Lock() - disc.state = Dead - disc.incomingMessagesError = err - disc.statusMutex.Unlock() - close(outChan) - return - } else if err != nil { - closeAndReportError(err) - return - } - logrus.Infof("from discovery %s received message %s", disc.id, msg) - if msg.EventType == "add" { - if msg.Port == nil { - closeAndReportError(errors.New(tr("invalid 'add' message: missing port"))) - return - } - disc.statusMutex.Lock() - if disc.eventChan != nil { - disc.eventChan <- &Event{"add", msg.Port, disc.GetID()} - } - disc.statusMutex.Unlock() - } else if msg.EventType == "remove" { - if msg.Port == nil { - closeAndReportError(errors.New(tr("invalid 'remove' message: missing port"))) - return - } - disc.statusMutex.Lock() - if disc.eventChan != nil { - disc.eventChan <- &Event{"remove", msg.Port, disc.GetID()} - } - disc.statusMutex.Unlock() - } else { - outChan <- &msg - } - } -} - -// State returns the current state of this PluggableDiscovery -func (disc *PluggableDiscovery) State() int { - disc.statusMutex.Lock() - defer disc.statusMutex.Unlock() - return disc.state -} - -func (disc *PluggableDiscovery) waitMessage(timeout time.Duration) (*discoveryMessage, error) { - select { - case msg := <-disc.incomingMessagesChan: - if msg == nil { - return nil, disc.incomingMessagesError - } - return msg, nil - case <-time.After(timeout): - return nil, fmt.Errorf(tr("timeout waiting for message from %s"), disc.id) - } -} - -func (disc *PluggableDiscovery) sendCommand(command string) error { - logrus.Infof("sending command %s to discovery %s", strings.TrimSpace(command), disc) - data := []byte(command) - for { - n, err := disc.outgoingCommandsPipe.Write(data) - if err != nil { - return err - } - if n == len(data) { - return nil - } - data = data[n:] - } -} - -func (disc *PluggableDiscovery) runProcess() error { - logrus.Infof("starting discovery %s process", disc.id) - proc, err := paths.NewProcess(nil, disc.processArgs...) - if err != nil { - return err - } - stdout, err := proc.StdoutPipe() - if err != nil { - return err - } - stdin, err := proc.StdinPipe() - if err != nil { - return err - } - disc.outgoingCommandsPipe = stdin - - messageChan := make(chan *discoveryMessage) - disc.incomingMessagesChan = messageChan - go disc.jsonDecodeLoop(stdout, messageChan) - - if err := proc.Start(); err != nil { - return err - } - - disc.statusMutex.Lock() - defer disc.statusMutex.Unlock() - disc.process = proc - disc.state = Alive - logrus.Infof("started discovery %s process", disc.id) - return nil -} - -func (disc *PluggableDiscovery) killProcess() error { - logrus.Infof("killing discovery %s process", disc.id) - if disc.process != nil { - if err := disc.process.Kill(); err != nil { - return err - } - if err := disc.process.Wait(); err != nil { - return err - } - } - disc.statusMutex.Lock() - defer disc.statusMutex.Unlock() - disc.stopSync() - disc.state = Dead - logrus.Infof("killed discovery %s process", disc.id) - return nil -} - -// Run starts the discovery executable process and sends the HELLO command to the discovery to agree on the -// pluggable discovery protocol. This must be the first command to run in the communication with the discovery. -// If the process is started but the HELLO command fails the process is killed. -func (disc *PluggableDiscovery) Run() (err error) { - if err = disc.runProcess(); err != nil { - return err - } - - defer func() { - // If the discovery process is started successfully but the HELLO handshake - // fails the discovery is an unusable state, we kill the process to avoid - // further issues down the line. - if err == nil { - return - } - if err := disc.killProcess(); err != nil { - // Log failure to kill the process, ideally that should never happen - // but it's best to know it if it does - logrus.Errorf("Killing discovery %s after unsuccessful start: %s", disc.id, err) - } - }() - - if err = disc.sendCommand("HELLO 1 \"arduino-cli " + version.VersionInfo.VersionString + "\"\n"); err != nil { - return err - } - if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return fmt.Errorf(tr("calling %[1]s: %[2]w"), "HELLO", err) - } else if msg.EventType != "hello" { - return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "hello", msg.EventType)) - } else if msg.Error { - return errors.New(tr("command failed: %s", msg.Message)) - } else if strings.ToUpper(msg.Message) != "OK" { - return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) - } else if msg.ProtocolVersion > 1 { - return errors.New(tr("protocol version not supported: requested 1, got %d", msg.ProtocolVersion)) - } - disc.statusMutex.Lock() - defer disc.statusMutex.Unlock() - disc.state = Idling - return nil -} - -// Start initializes and start the discovery internal subroutines. This command must be -// called before List or StartSync. -func (disc *PluggableDiscovery) Start() error { - if err := disc.sendCommand("START\n"); err != nil { - return err - } - if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return errors.New(tr("calling %[1]s: %[2]w", "START", err)) - } else if msg.EventType != "start" { - return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "start", msg.EventType)) - } else if msg.Error { - return errors.New(tr("command failed: %s", msg.Message)) - } else if strings.ToUpper(msg.Message) != "OK" { - return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) - } - disc.statusMutex.Lock() - defer disc.statusMutex.Unlock() - disc.state = Running - return nil -} - -// Stop stops the discovery internal subroutines and possibly free the internally -// used resources. This command should be called if the client wants to pause the -// discovery for a while. -func (disc *PluggableDiscovery) Stop() error { - if err := disc.sendCommand("STOP\n"); err != nil { - return err - } - if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return errors.New(tr("calling %[1]s: %[2]w", "STOP", err)) - } else if msg.EventType != "stop" { - return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "stop", msg.EventType)) - } else if msg.Error { - return errors.New(tr("command failed: %s", msg.Message)) - } else if strings.ToUpper(msg.Message) != "OK" { - return errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) - } - disc.statusMutex.Lock() - defer disc.statusMutex.Unlock() - disc.stopSync() - disc.state = Idling - return nil -} - -func (disc *PluggableDiscovery) stopSync() { - if disc.eventChan != nil { - disc.eventChan <- &Event{"stop", nil, disc.GetID()} - close(disc.eventChan) - disc.eventChan = nil - } -} - -// Quit terminates the discovery. No more commands can be accepted by the discovery. -func (disc *PluggableDiscovery) Quit() { - _ = disc.sendCommand("QUIT\n") - if _, err := disc.waitMessage(time.Second * 5); err != nil { - logrus.Errorf("Quitting discovery %s: %s", disc.id, err) - } - disc.stopSync() - disc.killProcess() -} - -// List executes an enumeration of the ports and returns a list of the available -// ports at the moment of the call. -func (disc *PluggableDiscovery) List() ([]*Port, error) { - if err := disc.sendCommand("LIST\n"); err != nil { - return nil, err - } - if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return nil, errors.New(tr("calling %[1]s: %[2]w", "LIST", err)) - } else if msg.EventType != "list" { - return nil, errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "list", msg.EventType)) - } else if msg.Error { - return nil, errors.New(tr("command failed: %s", msg.Message)) - } else { - return msg.Ports, nil - } -} - -// StartSync puts the discovery in "events" mode: the discovery will send "add" -// and "remove" events each time a new port is detected or removed respectively. -// After calling StartSync an initial burst of "add" events may be generated to -// report all the ports available at the moment of the start. -// It also creates a channel used to receive events from the pluggable discovery. -// The event channel must be consumed as quickly as possible since it may block the -// discovery if it becomes full. The channel size is configurable. -func (disc *PluggableDiscovery) StartSync(size int) (<-chan *Event, error) { - disc.statusMutex.Lock() - defer disc.statusMutex.Unlock() - - if err := disc.sendCommand("START_SYNC\n"); err != nil { - return nil, err - } - - if msg, err := disc.waitMessage(time.Second * 10); err != nil { - return nil, errors.New(tr("calling %[1]s: %[2]w", "START_SYNC", err)) - } else if msg.EventType != "start_sync" { - return nil, errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "start_sync", msg.EventType)) - } else if msg.Error { - return nil, errors.New(tr("command failed: %s", msg.Message)) - } else if strings.ToUpper(msg.Message) != "OK" { - return nil, errors.New(tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) - } - - disc.state = Syncing - // In case there is already an existing event channel in use we close it before creating a new one. - disc.stopSync() - c := make(chan *Event, size) - disc.eventChan = c - return c, nil -} diff --git a/internal/arduino/discovery/discovery_client/main.go b/internal/arduino/discovery/discovery_client/main.go index f908a791a31..98890c9b31f 100644 --- a/internal/arduino/discovery/discovery_client/main.go +++ b/internal/arduino/discovery/discovery_client/main.go @@ -22,7 +22,6 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/internal/arduino/discovery" "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/sirupsen/logrus" ) @@ -35,8 +34,7 @@ func main() { logrus.SetLevel(logrus.ErrorLevel) dm := discoverymanager.New() for _, discCmd := range os.Args[1:] { - disc := discovery.New(discCmd, discCmd) - dm.Add(disc) + dm.Add(discCmd, discCmd) } dm.Start() diff --git a/internal/arduino/discovery/discovery_test.go b/internal/arduino/discovery/discovery_test.go deleted file mode 100644 index 0705f453829..00000000000 --- a/internal/arduino/discovery/discovery_test.go +++ /dev/null @@ -1,73 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 discovery - -import ( - "io" - "testing" - "time" - - "github.com/arduino/go-paths-helper" - "github.com/stretchr/testify/require" -) - -func TestDiscoveryStdioHandling(t *testing.T) { - // Build `cat` helper inside testdata/cat - builder, err := paths.NewProcess(nil, "go", "build") - require.NoError(t, err) - builder.SetDir("testdata/cat") - require.NoError(t, builder.Run()) - - // Run cat and test if streaming json works as expected - disc := New("test", "testdata/cat/cat") // copy stdin to stdout - - err = disc.runProcess() - require.NoError(t, err) - - _, err = disc.outgoingCommandsPipe.Write([]byte(`{ "eventType":`)) // send partial JSON - require.NoError(t, err) - msg, err := disc.waitMessage(time.Millisecond * 100) - require.Error(t, err) - require.Nil(t, msg) - - _, err = disc.outgoingCommandsPipe.Write([]byte(`"ev1" }{ `)) // complete previous json and start another one - require.NoError(t, err) - - msg, err = disc.waitMessage(time.Millisecond * 100) - require.NoError(t, err) - require.NotNil(t, msg) - require.Equal(t, "ev1", msg.EventType) - - msg, err = disc.waitMessage(time.Millisecond * 100) - require.Error(t, err) - require.Nil(t, msg) - - _, err = disc.outgoingCommandsPipe.Write([]byte(`"eventType":"ev2" }`)) // complete previous json - require.NoError(t, err) - - msg, err = disc.waitMessage(time.Millisecond * 100) - require.NoError(t, err) - require.NotNil(t, msg) - require.Equal(t, "ev2", msg.EventType) - - require.Equal(t, disc.State(), Alive) - - err = disc.outgoingCommandsPipe.(io.ReadCloser).Close() - require.NoError(t, err) - time.Sleep(time.Millisecond * 100) - - require.Equal(t, disc.State(), Dead) -} diff --git a/internal/arduino/discovery/discoverymanager/discoverymanager.go b/internal/arduino/discovery/discoverymanager/discoverymanager.go index c1a5f55bd46..831a332545f 100644 --- a/internal/arduino/discovery/discoverymanager/discoverymanager.go +++ b/internal/arduino/discovery/discoverymanager/discoverymanager.go @@ -21,8 +21,9 @@ import ( "sync" "time" - "github.com/arduino/arduino-cli/internal/arduino/discovery" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" + discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/sirupsen/logrus" ) @@ -34,9 +35,9 @@ import ( // is called. type DiscoveryManager struct { discoveriesMutex sync.Mutex - discoveries map[string]*discovery.PluggableDiscovery // all registered PluggableDiscovery - discoveriesRunning bool // set to true once discoveries are started - feed chan *discovery.Event // all events will pass through this channel + discoveries map[string]*discovery.Client // all registered PluggableDiscovery + discoveriesRunning bool // set to true once discoveries are started + feed chan *discovery.Event // all events will pass through this channel watchersMutex sync.Mutex watchers map[*PortWatcher]bool // all registered Watcher watchersCache map[string]map[string]*discovery.Event // this is a cache of all active ports @@ -47,7 +48,7 @@ var tr = i18n.Tr // New creates a new DiscoveryManager func New() *DiscoveryManager { return &DiscoveryManager{ - discoveries: map[string]*discovery.PluggableDiscovery{}, + discoveries: map[string]*discovery.Client{}, watchers: map[*PortWatcher]bool{}, feed: make(chan *discovery.Event, 50), watchersCache: map[string]map[string]*discovery.Event{}, @@ -65,7 +66,7 @@ func (dm *DiscoveryManager) Clear() { logrus.Infof("Closed and removed discovery %s", d.GetID()) } } - dm.discoveries = map[string]*discovery.PluggableDiscovery{} + dm.discoveries = map[string]*discovery.Client{} } // IDs returns the list of discoveries' ids in this DiscoveryManager @@ -101,7 +102,7 @@ func (dm *DiscoveryManager) Start() []error { var wg sync.WaitGroup for _, d := range dm.discoveries { wg.Add(1) - go func(d *discovery.PluggableDiscovery) { + go func(d *discovery.Client) { if err := dm.startDiscovery(d); err != nil { errsLock.Lock() errs = append(errs, err) @@ -117,7 +118,14 @@ func (dm *DiscoveryManager) Start() []error { } // Add adds a discovery to the list of managed discoveries -func (dm *DiscoveryManager) Add(d *discovery.PluggableDiscovery) error { +func (dm *DiscoveryManager) Add(id string, args ...string) error { + d := discovery.NewClient(id, args...) + d.SetLogger(logrus.WithField("discovery", id)) + d.SetUserAgent(configuration.UserAgent(configuration.Settings)) + return dm.add(d) +} + +func (dm *DiscoveryManager) add(d *discovery.Client) error { dm.discoveriesMutex.Lock() defer dm.discoveriesMutex.Unlock() @@ -178,7 +186,7 @@ func (dm *DiscoveryManager) Watch() (*PortWatcher, error) { return watcher, nil } -func (dm *DiscoveryManager) startDiscovery(d *discovery.PluggableDiscovery) (discErr error) { +func (dm *DiscoveryManager) startDiscovery(d *discovery.Client) (discErr error) { defer func() { // If this function returns an error log it if discErr != nil { @@ -194,7 +202,7 @@ func (dm *DiscoveryManager) startDiscovery(d *discovery.PluggableDiscovery) (dis return fmt.Errorf("%s: %s", tr("starting discovery %s", d.GetID()), err) } - go func(d *discovery.PluggableDiscovery) { + go func(d *discovery.Client) { // Transfer all incoming events from this discovery to the feed channel for ev := range eventCh { dm.feed <- ev @@ -281,6 +289,6 @@ func (dm *DiscoveryManager) List() []*discovery.Port { // AddAllDiscoveriesFrom transfers discoveries from src to the receiver func (dm *DiscoveryManager) AddAllDiscoveriesFrom(src *DiscoveryManager) { for _, d := range src.discoveries { - dm.Add(d) + dm.add(d) } } diff --git a/internal/arduino/discovery/testdata/cat/.gitignore b/internal/arduino/discovery/testdata/cat/.gitignore deleted file mode 100644 index a7053b145c4..00000000000 --- a/internal/arduino/discovery/testdata/cat/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -cat -cat.exe diff --git a/internal/arduino/discovery/testdata/cat/main.go b/internal/arduino/discovery/testdata/cat/main.go deleted file mode 100644 index 7f77910fe27..00000000000 --- a/internal/arduino/discovery/testdata/cat/main.go +++ /dev/null @@ -1,28 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2023 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. - -// Echo stdin to stdout. -// This program is used for testing purposes, to make it available on all -// OS a tool equivalent to UNIX "cat". -package main - -import ( - "io" - "os" -) - -func main() { - io.Copy(os.Stdout, os.Stdin) -} diff --git a/rpc/cc/arduino/cli/commands/v1/common.go b/rpc/cc/arduino/cli/commands/v1/common.go index 529c6dfdfb4..2e1464c3fb9 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.go +++ b/rpc/cc/arduino/cli/commands/v1/common.go @@ -18,6 +18,8 @@ package commands import ( "sort" + "github.com/arduino/go-properties-orderedmap" + discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" semver "go.bug.st/relaxed-semver" ) @@ -98,3 +100,37 @@ func (s *PlatformSummary) GetSortedReleases() []*PlatformRelease { }) return res } + +// DiscoveryPortToRPC converts a *discovery.Port into an *rpc.Port +func DiscoveryPortToRPC(p *discovery.Port) *Port { + props := p.Properties + if props == nil { + props = properties.NewMap() + } + return &Port{ + Address: p.Address, + Label: p.AddressLabel, + Protocol: p.Protocol, + ProtocolLabel: p.ProtocolLabel, + HardwareId: p.HardwareID, + Properties: props.AsMap(), + } +} + +// DiscoveryPortFromRPCPort converts an *rpc.Port into a *discovery.Port +func DiscoveryPortFromRPCPort(o *Port) (p *discovery.Port) { + if o == nil { + return nil + } + res := &discovery.Port{ + Address: o.GetAddress(), + AddressLabel: o.GetLabel(), + Protocol: o.GetProtocol(), + ProtocolLabel: o.GetProtocolLabel(), + HardwareID: o.GetHardwareId(), + } + if o.GetProperties() != nil { + res.Properties = properties.NewFromHashmap(o.GetProperties()) + } + return res +} From 2ad8b878fd38557b451adca8a35fd9ffed9e61b0 Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Fri, 16 Feb 2024 15:04:03 +0100 Subject: [PATCH 106/361] use OIDC to retrieve the credentials (#2541) --- .github/workflows/publish-go-nightly-task.yml | 14 ++++++++++++-- .github/workflows/release-go-task.yml | 14 ++++++++++++-- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index 807f31e4ae8..6e6fc6cb465 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -8,6 +8,7 @@ env: DIST_DIR: dist # The project's folder on Arduino's download server for uploading builds AWS_PLUGIN_TARGET: /arduino-cli/ + AWS_REGION: "us-east-1" ARTIFACT_NAME: dist # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows @@ -18,6 +19,10 @@ on: workflow_dispatch: repository_dispatch: +permissions: + id-token: write # This is required for requesting the JWT + contents: read # This is required for actions/checkout + jobs: create-nightly-artifacts: outputs: @@ -258,6 +263,13 @@ jobs: VERSION=${{ needs.create-nightly-artifacts.outputs.version }} sha256sum ${{ env.PROJECT_NAME }}_${VERSION}* > ${VERSION}-checksums.txt + - name: configure aws credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} + role-session-name: "github_${{ env.PROJECT_NAME }}" + aws-region: ${{ env.AWS_REGION }} + - name: Upload release files on Arduino downloads servers uses: docker://plugins/s3 env: @@ -265,8 +277,6 @@ jobs: PLUGIN_TARGET: "${{ env.AWS_PLUGIN_TARGET }}nightly" PLUGIN_STRIP_PREFIX: "${{ env.DIST_DIR }}/" PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} report: runs-on: ubuntu-latest diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index cba9fc65f11..d9090b12ee1 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -8,6 +8,7 @@ env: DIST_DIR: dist # The project's folder on Arduino's download server for uploading builds AWS_PLUGIN_TARGET: /arduino-cli/ + AWS_REGION: "us-east-1" ARTIFACT_NAME: dist on: @@ -15,6 +16,10 @@ on: tags: - "v[0-9]+.[0-9]+.[0-9]+*" +permissions: + id-token: write # This is required for requesting the JWT + contents: read # This is required for actions/checkout + jobs: create-release-artifacts: outputs: @@ -283,6 +288,13 @@ jobs: # (all the files we need are in the DIST_DIR root) artifacts: ${{ env.DIST_DIR }}/* + - name: configure aws credentials + uses: aws-actions/configure-aws-credentials@v4 + with: + role-to-assume: ${{ secrets.AWS_ROLE_TO_ASSUME }} + role-session-name: "github_${{ env.PROJECT_NAME }}" + aws-region: ${{ env.AWS_REGION }} + - name: Upload release files on Arduino downloads servers uses: docker://plugins/s3 env: @@ -290,8 +302,6 @@ jobs: PLUGIN_TARGET: ${{ env.AWS_PLUGIN_TARGET }} PLUGIN_STRIP_PREFIX: "${{ env.DIST_DIR }}/" PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - name: Update Homebrew formula if: steps.prerelease.outputs.IS_PRE != 'true' From a93f755731e683825444ca14cb6e316d191f37c0 Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Fri, 16 Feb 2024 18:00:05 +0100 Subject: [PATCH 107/361] [skip-changelog] fixup, use environment (#2542) * [skip-changelog] fixup, use environment * Apply suggestions from code review Co-authored-by: Massimo Schenone <1193386+mschenone@users.noreply.github.com> --------- Co-authored-by: Massimo Schenone <1193386+mschenone@users.noreply.github.com> --- .github/workflows/publish-go-nightly-task.yml | 1 + .github/workflows/release-go-task.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index 6e6fc6cb465..8b496a6fbe8 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -231,6 +231,7 @@ jobs: publish-nightly: runs-on: ubuntu-latest + environment: production needs: - create-nightly-artifacts - notarize-macos diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index d9090b12ee1..e9fb5097c2e 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -235,6 +235,7 @@ jobs: create-release: runs-on: ubuntu-latest + environment: production needs: - create-release-artifacts - notarize-macos From d99184ed03f81017ce30cc02a5458ed0475e57ff Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Mon, 19 Feb 2024 14:16:00 +0100 Subject: [PATCH 108/361] Add diagnostics in the preprocessor (#2515) --- Taskfile.yml | 2 +- commands/internal/instances/instances.go | 15 ++++++ internal/arduino/builder/builder.go | 42 ++++----------- internal/arduino/builder/compilation.go | 6 +-- .../builder/internal/detector/detector.go | 30 ++++++----- .../builder/internal/diagnostics/store.go | 51 +++++++++++++++++++ .../preprocessor/arduino_preprocessor.go | 28 +++++----- .../builder/internal/preprocessor/ctags.go | 40 ++++++++------- .../builder/internal/preprocessor/gcc.go | 13 +++-- .../builder/internal/preprocessor/result.go | 34 +++++++++++++ internal/arduino/builder/preprocess_sketch.go | 14 ++--- internal/cli/compile/compile.go | 16 +++--- .../integrationtest/compile_3/compile_test.go | 51 ++++++++++++++++++- .../blink_with_wrong_include.ino | 3 ++ .../compile_3/testdata/printenv/main.go | 15 ++++++ .../using_Wire_with_missing_lib.ino | 5 ++ 16 files changed, 266 insertions(+), 99 deletions(-) create mode 100644 internal/arduino/builder/internal/diagnostics/store.go create mode 100644 internal/arduino/builder/internal/preprocessor/result.go create mode 100644 internal/integrationtest/compile_3/testdata/blink_with_wrong_include/blink_with_wrong_include.ino create mode 100644 internal/integrationtest/compile_3/testdata/using_Wire_with_missing_lib/using_Wire_with_missing_lib.ino diff --git a/Taskfile.yml b/Taskfile.yml index c8f7db71ca3..2a9b20fd9ca 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -137,7 +137,7 @@ tasks: desc: Add missing go license headers cmds: - go install github.com/google/addlicense@v1.1.1 - - addlicense -c "ARDUINO SA (http://www.arduino.cc/)" -f ./license_header.tpl **/*.go + - addlicense -c "ARDUINO SA (http://www.arduino.cc/)" -f ./license_header.tpl $(find . -name "*.go" -type f -print0 | xargs -0) # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-markdown-task/Taskfile.yml markdown:check-links: diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index 028e82e6738..019927a4967 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -1,3 +1,18 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 instances import ( diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 40ca74e44d2..303caaa2063 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -36,7 +36,6 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - "github.com/sirupsen/logrus" ) // ErrSketchCannotBeLocatedInBuildPath fixdoc @@ -94,11 +93,7 @@ type Builder struct { toolEnv []string - // This is a function used to parse the output of the compiler - // It is used to extract errors and warnings - compilerOutputParser diagnostics.CompilerOutputParserCB - // and here are the diagnostics parsed from the compiler - compilerDiagnostics diagnostics.Diagnostics + diagnosticStore *diagnostics.Store } // buildArtifacts contains the result of various build @@ -199,6 +194,7 @@ func NewBuilder( logger.Warn(string(verboseOut)) } + diagnosticStore := diagnostics.NewStore() b := &Builder{ sketch: sk, buildProperties: buildProperties, @@ -220,12 +216,6 @@ func NewBuilder( targetPlatform: targetPlatform, actualPlatform: actualPlatform, toolEnv: toolEnv, - libsDetector: detector.NewSketchLibrariesDetector( - libsManager, libsResolver, - useCachedLibrariesResolution, - onlyUpdateCompilationDatabase, - logger, - ), buildOptions: newBuildOptions( hardwareDirs, otherLibrariesDirs, builtInLibrariesDirs, buildPath, @@ -237,25 +227,15 @@ func NewBuilder( buildProperties.GetPath("runtime.platform.path"), buildProperties.GetPath("build.core.path"), // TODO can we buildCorePath ? ), + diagnosticStore: diagnosticStore, + libsDetector: detector.NewSketchLibrariesDetector( + libsManager, libsResolver, + useCachedLibrariesResolution, + onlyUpdateCompilationDatabase, + logger, + diagnosticStore, + ), } - - b.compilerOutputParser = func(cmdline []string, out []byte) { - compiler := diagnostics.DetectCompilerFromCommandLine( - cmdline, - false, // at the moment compiler-probing is not required - ) - if compiler == nil { - logrus.Warnf("Could not detect compiler from: %s", cmdline) - return - } - diags, err := diagnostics.ParseCompilerOutput(compiler, out) - if err != nil { - logrus.Warnf("Error parsing compiler output: %s", err) - return - } - b.compilerDiagnostics = append(b.compilerDiagnostics, diags...) - } - return b, nil } @@ -281,7 +261,7 @@ func (b *Builder) ImportedLibraries() libraries.List { // CompilerDiagnostics returns the parsed compiler diagnostics func (b *Builder) CompilerDiagnostics() diagnostics.Diagnostics { - return b.compilerDiagnostics + return b.diagnosticStore.Diagnostics() } // Preprocess fixdoc diff --git a/internal/arduino/builder/compilation.go b/internal/arduino/builder/compilation.go index d997c264bcf..69fa1c7974b 100644 --- a/internal/arduino/builder/compilation.go +++ b/internal/arduino/builder/compilation.go @@ -166,9 +166,9 @@ func (b *Builder) compileFileWithRecipe( b.logger.WriteStderr(commandStderr.Bytes()) // Parse the output of the compiler to gather errors and warnings... - if b.compilerOutputParser != nil { - b.compilerOutputParser(command.GetArgs(), commandStdout.Bytes()) - b.compilerOutputParser(command.GetArgs(), commandStderr.Bytes()) + if b.diagnosticStore != nil { + b.diagnosticStore.Parse(command.GetArgs(), commandStdout.Bytes()) + b.diagnosticStore.Parse(command.GetArgs(), commandStderr.Bytes()) } // ...and then return the error diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index 9285846fcf1..46fa991a132 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -26,6 +26,7 @@ import ( "strings" "time" + "github.com/arduino/arduino-cli/internal/arduino/builder/internal/diagnostics" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/logger" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" @@ -57,6 +58,7 @@ type SketchLibrariesDetector struct { librariesResolutionResults map[string]libraryResolutionResult includeFolders paths.PathList logger *logger.BuilderLogger + diagnosticStore *diagnostics.Store } // NewSketchLibrariesDetector todo @@ -66,6 +68,7 @@ func NewSketchLibrariesDetector( useCachedLibrariesResolution bool, onlyUpdateCompilationDatabase bool, logger *logger.BuilderLogger, + diagnosticStore *diagnostics.Store, ) *SketchLibrariesDetector { return &SketchLibrariesDetector{ librariesManager: lm, @@ -76,6 +79,7 @@ func NewSketchLibrariesDetector( includeFolders: paths.PathList{}, onlyUpdateCompilationDatabase: onlyUpdateCompilationDatabase, logger: logger, + diagnosticStore: diagnosticStore, } } @@ -337,7 +341,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( } var preprocErr error - var preprocStderr []byte + var preprocFirstResult preprocessor.Result var missingIncludeH string if unchanged && cache.valid { @@ -346,21 +350,20 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( l.logger.Info(tr("Using cached library dependencies for file: %[1]s", sourcePath)) } } else { - var preprocStdout []byte - preprocStdout, preprocStderr, preprocErr = preprocessor.GCC(sourcePath, targetFilePath, includeFolders, buildProperties) + preprocFirstResult, preprocErr = preprocessor.GCC(sourcePath, targetFilePath, includeFolders, buildProperties) if l.logger.Verbose() { - l.logger.WriteStdout(preprocStdout) + l.logger.WriteStdout(preprocFirstResult.Stdout()) } // Unwrap error and see if it is an ExitError. var exitErr *exec.ExitError if preprocErr == nil { // Preprocessor successful, done missingIncludeH = "" - } else if isExitErr := errors.As(preprocErr, &exitErr); !isExitErr || preprocStderr == nil { + } else if isExitErr := errors.As(preprocErr, &exitErr); !isExitErr || preprocFirstResult.Stderr() == nil { // Ignore ExitErrors (e.g. gcc returning non-zero status), but bail out on other errors return preprocErr } else { - missingIncludeH = IncludesFinderWithRegExp(string(preprocStderr)) + missingIncludeH = IncludesFinderWithRegExp(string(preprocFirstResult.Stderr())) if missingIncludeH == "" && l.logger.Verbose() { l.logger.Info(tr("Error while detecting libraries included by %[1]s", sourcePath)) } @@ -376,22 +379,25 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( library := l.resolveLibrary(missingIncludeH, platformArch) if library == nil { // Library could not be resolved, show error - if preprocErr == nil || preprocStderr == nil { + if preprocErr == nil || preprocFirstResult.Stderr() == nil { // Filename came from cache, so run preprocessor to obtain error to show - var preprocStdout []byte - preprocStdout, preprocStderr, preprocErr = preprocessor.GCC(sourcePath, targetFilePath, includeFolders, buildProperties) + result, err := preprocessor.GCC(sourcePath, targetFilePath, includeFolders, buildProperties) if l.logger.Verbose() { - l.logger.WriteStdout(preprocStdout) + l.logger.WriteStdout(result.Stdout()) } - if preprocErr == nil { + if err == nil { // If there is a missing #include in the cache, but running // gcc does not reproduce that, there is something wrong. // Returning an error here will cause the cache to be // deleted, so hopefully the next compilation will succeed. return errors.New(tr("Internal error in cache")) } + l.diagnosticStore.Parse(result.Args(), result.Stderr()) + l.logger.WriteStderr(result.Stderr()) + return err } - l.logger.WriteStderr(preprocStderr) + l.diagnosticStore.Parse(preprocFirstResult.Args(), preprocFirstResult.Stderr()) + l.logger.WriteStderr(preprocFirstResult.Stderr()) return preprocErr } diff --git a/internal/arduino/builder/internal/diagnostics/store.go b/internal/arduino/builder/internal/diagnostics/store.go new file mode 100644 index 00000000000..dc8d9a8f882 --- /dev/null +++ b/internal/arduino/builder/internal/diagnostics/store.go @@ -0,0 +1,51 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 diagnostics + +import ( + "github.com/sirupsen/logrus" +) + +type Store struct { + results Diagnostics +} + +func NewStore() *Store { + return &Store{} +} + +// Parse parses the output coming from a compiler. It then stores the parsed +// diagnostics in a slice of Diagnostic. +func (m *Store) Parse(cmdline []string, out []byte) { + compiler := DetectCompilerFromCommandLine( + cmdline, + false, // at the moment compiler-probing is not required + ) + if compiler == nil { + logrus.Warnf("Could not detect compiler from: %s", cmdline) + return + } + diags, err := ParseCompilerOutput(compiler, out) + if err != nil { + logrus.Warnf("Error parsing compiler output: %s", err) + return + } + m.results = append(m.results, diags...) +} + +func (m *Store) Diagnostics() Diagnostics { + return m.results +} diff --git a/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go index 2c3d61c1397..da8cde2adfc 100644 --- a/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go +++ b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go @@ -30,20 +30,23 @@ import ( // PreprocessSketchWithArduinoPreprocessor performs preprocessing of the arduino sketch // using arduino-preprocessor (https://github.com/arduino/arduino-preprocessor). -func PreprocessSketchWithArduinoPreprocessor(sk *sketch.Sketch, buildPath *paths.Path, includeFolders paths.PathList, lineOffset int, buildProperties *properties.Map, onlyUpdateCompilationDatabase bool) ([]byte, []byte, error) { +func PreprocessSketchWithArduinoPreprocessor( + sk *sketch.Sketch, buildPath *paths.Path, includeFolders paths.PathList, + lineOffset int, buildProperties *properties.Map, onlyUpdateCompilationDatabase bool, +) (*Result, error) { verboseOut := &bytes.Buffer{} normalOut := &bytes.Buffer{} if err := buildPath.Join("preproc").MkdirAll(); err != nil { - return nil, nil, err + return nil, err } sourceFile := buildPath.Join("sketch", sk.MainFile.Base()+".cpp") targetFile := buildPath.Join("preproc", "sketch_merged.cpp") - gccStdout, gccStderr, err := GCC(sourceFile, targetFile, includeFolders, buildProperties) - verboseOut.Write(gccStdout) - verboseOut.Write(gccStderr) + gccResult, err := GCC(sourceFile, targetFile, includeFolders, buildProperties) + verboseOut.Write(gccResult.Stdout()) + verboseOut.Write(gccResult.Stderr()) if err != nil { - return nil, nil, err + return nil, err } arduiniPreprocessorProperties := properties.NewMap() @@ -56,18 +59,18 @@ func PreprocessSketchWithArduinoPreprocessor(sk *sketch.Sketch, buildPath *paths arduiniPreprocessorProperties.SetPath("source_file", targetFile) pattern := arduiniPreprocessorProperties.Get("pattern") if pattern == "" { - return nil, nil, errors.New(tr("arduino-preprocessor pattern is missing")) + return nil, errors.New(tr("arduino-preprocessor pattern is missing")) } commandLine := arduiniPreprocessorProperties.ExpandPropsInString(pattern) parts, err := properties.SplitQuotedString(commandLine, `"'`, false) if err != nil { - return nil, nil, err + return nil, err } command, err := paths.NewProcess(nil, parts...) if err != nil { - return nil, nil, err + return nil, err } if runtime.GOOS == "windows" { // chdir in the uppermost directory to avoid UTF-8 bug in clang (https://github.com/arduino/arduino-preprocessor/issues/2) @@ -78,14 +81,13 @@ func PreprocessSketchWithArduinoPreprocessor(sk *sketch.Sketch, buildPath *paths commandStdOut, commandStdErr, err := command.RunAndCaptureOutput(context.Background()) verboseOut.Write(commandStdErr) if err != nil { - return normalOut.Bytes(), verboseOut.Bytes(), err + return &Result{args: gccResult.Args(), stdout: verboseOut.Bytes(), stderr: normalOut.Bytes()}, err } result := utils.NormalizeUTF8(commandStdOut) destFile := buildPath.Join(sk.MainFile.Base() + ".cpp") if err := destFile.WriteFile(result); err != nil { - return normalOut.Bytes(), verboseOut.Bytes(), err + return &Result{args: gccResult.Args(), stdout: verboseOut.Bytes(), stderr: normalOut.Bytes()}, err } - - return normalOut.Bytes(), verboseOut.Bytes(), err + return &Result{args: gccResult.Args(), stdout: verboseOut.Bytes(), stderr: normalOut.Bytes()}, err } diff --git a/internal/arduino/builder/internal/preprocessor/ctags.go b/internal/arduino/builder/internal/preprocessor/ctags.go index 53990492169..4a0cf783b45 100644 --- a/internal/arduino/builder/internal/preprocessor/ctags.go +++ b/internal/arduino/builder/internal/preprocessor/ctags.go @@ -40,52 +40,56 @@ var tr = i18n.Tr var DebugPreprocessor bool // PreprocessSketchWithCtags performs preprocessing of the arduino sketch using CTags. -func PreprocessSketchWithCtags(sketch *sketch.Sketch, buildPath *paths.Path, includes paths.PathList, lineOffset int, buildProperties *properties.Map, onlyUpdateCompilationDatabase bool) ([]byte, []byte, error) { +func PreprocessSketchWithCtags( + sketch *sketch.Sketch, buildPath *paths.Path, includes paths.PathList, + lineOffset int, buildProperties *properties.Map, + onlyUpdateCompilationDatabase, verbose bool, +) (*Result, error) { // Create a temporary working directory tmpDir, err := paths.MkTempDir("", "") if err != nil { - return nil, nil, err + return nil, err } defer tmpDir.RemoveAll() ctagsTarget := tmpDir.Join("sketch_merged.cpp") - normalOutput := &bytes.Buffer{} - verboseOutput := &bytes.Buffer{} + stdout, stderr := &bytes.Buffer{}, &bytes.Buffer{} // Run GCC preprocessor sourceFile := buildPath.Join("sketch", sketch.MainFile.Base()+".cpp") - gccStdout, gccStderr, err := GCC(sourceFile, ctagsTarget, includes, buildProperties) - verboseOutput.Write(gccStdout) - verboseOutput.Write(gccStderr) - normalOutput.Write(gccStderr) + result, err := GCC(sourceFile, ctagsTarget, includes, buildProperties) + stdout.Write(result.Stdout()) + stderr.Write(result.Stderr()) if err != nil { if !onlyUpdateCompilationDatabase { - return normalOutput.Bytes(), verboseOutput.Bytes(), err + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } // Do not bail out if we are generating the compile commands database - normalOutput.WriteString(fmt.Sprintf("%s: %s", + stderr.WriteString(fmt.Sprintf("%s: %s", tr("An error occurred adding prototypes"), tr("the compilation database may be incomplete or inaccurate"))) if err := sourceFile.CopyTo(ctagsTarget); err != nil { - return normalOutput.Bytes(), verboseOutput.Bytes(), err + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } } if src, err := ctagsTarget.ReadFile(); err == nil { filteredSource := filterSketchSource(sketch, bytes.NewReader(src), false) if err := ctagsTarget.WriteFile([]byte(filteredSource)); err != nil { - return normalOutput.Bytes(), verboseOutput.Bytes(), err + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } } else { - return normalOutput.Bytes(), verboseOutput.Bytes(), err + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } // Run CTags on gcc-preprocessed source ctagsOutput, ctagsStdErr, err := RunCTags(ctagsTarget, buildProperties) - verboseOutput.Write(ctagsStdErr) + if verbose { + stderr.Write(ctagsStdErr) + } if err != nil { - return normalOutput.Bytes(), verboseOutput.Bytes(), err + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } // Parse CTags output @@ -100,13 +104,13 @@ func PreprocessSketchWithCtags(sketch *sketch.Sketch, buildPath *paths.Path, inc if sourceData, err := sourceFile.ReadFile(); err == nil { source = string(sourceData) } else { - return normalOutput.Bytes(), verboseOutput.Bytes(), err + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } source = strings.ReplaceAll(source, "\r\n", "\n") source = strings.ReplaceAll(source, "\r", "\n") sourceRows := strings.Split(source, "\n") if isFirstFunctionOutsideOfSource(firstFunctionLine, sourceRows) { - return normalOutput.Bytes(), verboseOutput.Bytes(), nil + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, nil } insertionLine := firstFunctionLine + lineOffset - 1 @@ -132,7 +136,7 @@ func PreprocessSketchWithCtags(sketch *sketch.Sketch, buildPath *paths.Path, inc // Write back arduino-preprocess output to the sourceFile err = sourceFile.WriteFile([]byte(preprocessedSource)) - return normalOutput.Bytes(), verboseOutput.Bytes(), err + return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } func composePrototypeSection(line int, prototypes []*ctags.Prototype) string { diff --git a/internal/arduino/builder/internal/preprocessor/gcc.go b/internal/arduino/builder/internal/preprocessor/gcc.go index 791a3366fba..d9cf1c446ea 100644 --- a/internal/arduino/builder/internal/preprocessor/gcc.go +++ b/internal/arduino/builder/internal/preprocessor/gcc.go @@ -29,7 +29,10 @@ import ( // GCC performs a run of the gcc preprocess (macro/includes expansion). The function outputs the result // to targetFilePath. Returns the stdout/stderr of gcc if any. -func GCC(sourceFilePath *paths.Path, targetFilePath *paths.Path, includes paths.PathList, buildProperties *properties.Map) ([]byte, []byte, error) { +func GCC( + sourceFilePath, targetFilePath *paths.Path, + includes paths.PathList, buildProperties *properties.Map, +) (Result, error) { gccBuildProperties := properties.NewMap() gccBuildProperties.Set("preproc.macros.flags", "-w -x c++ -E -CC") gccBuildProperties.Merge(buildProperties) @@ -54,14 +57,14 @@ func GCC(sourceFilePath *paths.Path, targetFilePath *paths.Path, includes paths. pattern := gccBuildProperties.Get(gccPreprocRecipeProperty) if pattern == "" { - return nil, nil, errors.New(tr("%s pattern is missing", gccPreprocRecipeProperty)) + return Result{}, errors.New(tr("%s pattern is missing", gccPreprocRecipeProperty)) } commandLine := gccBuildProperties.ExpandPropsInString(pattern) commandLine = properties.DeleteUnexpandedPropsFromString(commandLine) args, err := properties.SplitQuotedString(commandLine, `"'`, false) if err != nil { - return nil, nil, err + return Result{}, err } // Remove -MMD argument if present. Leaving it will make gcc try @@ -70,12 +73,12 @@ func GCC(sourceFilePath *paths.Path, targetFilePath *paths.Path, includes paths. proc, err := paths.NewProcess(nil, args...) if err != nil { - return nil, nil, err + return Result{}, err } stdout, stderr, err := proc.RunAndCaptureOutput(context.Background()) // Append gcc arguments to stdout stdout = append([]byte(fmt.Sprintln(strings.Join(args, " "))), stdout...) - return stdout, stderr, err + return Result{args: proc.GetArgs(), stdout: stdout, stderr: stderr}, err } diff --git a/internal/arduino/builder/internal/preprocessor/result.go b/internal/arduino/builder/internal/preprocessor/result.go new file mode 100644 index 00000000000..3fa45e40974 --- /dev/null +++ b/internal/arduino/builder/internal/preprocessor/result.go @@ -0,0 +1,34 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 preprocessor + +type Result struct { + args []string + stdout []byte + stderr []byte +} + +func (r Result) Args() []string { + return r.args +} + +func (r Result) Stdout() []byte { + return r.stdout +} + +func (r Result) Stderr() []byte { + return r.stderr +} diff --git a/internal/arduino/builder/preprocess_sketch.go b/internal/arduino/builder/preprocess_sketch.go index 106df3d7b40..d7fd6e32e72 100644 --- a/internal/arduino/builder/preprocess_sketch.go +++ b/internal/arduino/builder/preprocess_sketch.go @@ -23,14 +23,16 @@ import ( // preprocessSketch fixdoc func (b *Builder) preprocessSketch(includes paths.PathList) error { // In the future we might change the preprocessor - normalOutput, verboseOutput, err := preprocessor.PreprocessSketchWithCtags( + result, err := preprocessor.PreprocessSketchWithCtags( b.sketch, b.buildPath, includes, b.lineOffset, - b.buildProperties, b.onlyUpdateCompilationDatabase, + b.buildProperties, b.onlyUpdateCompilationDatabase, b.logger.Verbose(), ) - if b.logger.Verbose() { - b.logger.WriteStdout(verboseOutput) - } else { - b.logger.WriteStdout(normalOutput) + if result != nil { + if b.logger.Verbose() { + b.logger.WriteStdout(result.Stdout()) + } + b.logger.WriteStdout(result.Stderr()) + b.diagnosticStore.Parse(result.Args(), result.Stderr()) } return err diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 206ed29e4b8..514a196fbd0 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -366,7 +366,6 @@ func runCompileCommand(cmd *cobra.Command, args []string) { UpdatedUploadPort: result.NewPort(uploadRes.GetUpdatedUploadPort()), }, ProfileOut: profileOut, - Diagnostics: result.NewCompileDiagnostics(builderRes.GetDiagnostics()), Success: compileError == nil, showPropertiesMode: showProperties, hideStats: preprocess, @@ -410,14 +409,13 @@ type updatedUploadPortResult struct { } type compileResult struct { - CompilerOut string `json:"compiler_out"` - CompilerErr string `json:"compiler_err"` - BuilderResult *result.BuilderResult `json:"builder_result"` - UploadResult updatedUploadPortResult `json:"upload_result"` - Success bool `json:"success"` - ProfileOut string `json:"profile_out,omitempty"` - Error string `json:"error,omitempty"` - Diagnostics []*result.CompileDiagnostic `json:"diagnostics,omitempty"` + CompilerOut string `json:"compiler_out"` + CompilerErr string `json:"compiler_err"` + BuilderResult *result.BuilderResult `json:"builder_result"` + UploadResult updatedUploadPortResult `json:"upload_result"` + Success bool `json:"success"` + ProfileOut string `json:"profile_out,omitempty"` + Error string `json:"error,omitempty"` showPropertiesMode arguments.ShowPropertiesMode hideStats bool } diff --git a/internal/integrationtest/compile_3/compile_test.go b/internal/integrationtest/compile_3/compile_test.go index 2f9ba8e5306..076e55b4597 100644 --- a/internal/integrationtest/compile_3/compile_test.go +++ b/internal/integrationtest/compile_3/compile_test.go @@ -117,7 +117,7 @@ func TestCompilerErrOutput(t *testing.T) { require.Error(t, err) outJson := requirejson.Parse(t, out) outJson.Query(`.compiler_err`).MustContain(`"error"`) - outJson.Query(`.diagnostics`).MustContain(` + outJson.Query(`.builder_result.diagnostics`).MustContain(` [ { "severity": "ERROR", @@ -128,6 +128,55 @@ func TestCompilerErrOutput(t *testing.T) { ]`) } + // Test the preprocessor errors are present in the diagnostics + { + // prepare sketch + sketch, err := paths.New("testdata", "blink_with_wrong_include").Abs() + require.NoError(t, err) + + // Run compile and catch err stream + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--format", "json", sketch.String()) + require.Error(t, err) + outJson := requirejson.Parse(t, out) + outJson.Query(`.success`).MustContain(`false`) + outJson.Query(`.builder_result.diagnostics`).MustContain(` + [ + { + "severity": "ERROR", + "line": 1, + "column": 2, + "message": "invalid preprocessing directive #wrong\n #wrong\n ^~~~~", + } + ]`) + } + + // Test the preprocessor errors are present in the diagnostics. + // In case we have 2 libraries: + // 1. one is missing + // 2. the other one is missing only from the first GCC run + // The diagnostics should report only 1 missing library. + { + // prepare sketch + sketch, err := paths.New("testdata", "using_Wire_with_missing_lib").Abs() + require.NoError(t, err) + + // Run compile and catch err stream + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--format", "json", sketch.String()) + require.Error(t, err) + outJson := requirejson.Parse(t, out) + outJson.Query(`.success`).MustContain(`false`) + outJson.Query(`.builder_result.diagnostics | length`).MustEqual("1") + outJson.Query(`.builder_result.diagnostics`).MustContain(` + [ + { + "severity": "FATAL", + "message": "MissingWire.h: No such file or directory\n #include \u003cMissingWire.h\u003e\n ^~~~~~~~~~~~~~~", + "line": 2, + "column": 10, + } + ]`) + } + // Check that library discover do not generate false errors // https://github.com/arduino/arduino-cli/issues/2263 { diff --git a/internal/integrationtest/compile_3/testdata/blink_with_wrong_include/blink_with_wrong_include.ino b/internal/integrationtest/compile_3/testdata/blink_with_wrong_include/blink_with_wrong_include.ino new file mode 100644 index 00000000000..35887d391c9 --- /dev/null +++ b/internal/integrationtest/compile_3/testdata/blink_with_wrong_include/blink_with_wrong_include.ino @@ -0,0 +1,3 @@ +#wrong +void setup() {} +void loop() {} diff --git a/internal/integrationtest/compile_3/testdata/printenv/main.go b/internal/integrationtest/compile_3/testdata/printenv/main.go index 0701e4f1594..fc132a150eb 100644 --- a/internal/integrationtest/compile_3/testdata/printenv/main.go +++ b/internal/integrationtest/compile_3/testdata/printenv/main.go @@ -1,3 +1,18 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 main import ( diff --git a/internal/integrationtest/compile_3/testdata/using_Wire_with_missing_lib/using_Wire_with_missing_lib.ino b/internal/integrationtest/compile_3/testdata/using_Wire_with_missing_lib/using_Wire_with_missing_lib.ino new file mode 100644 index 00000000000..a461189885d --- /dev/null +++ b/internal/integrationtest/compile_3/testdata/using_Wire_with_missing_lib/using_Wire_with_missing_lib.ino @@ -0,0 +1,5 @@ +#include <Wire.h> +#include <MissingWire.h> + +void setup() {} +void loop() {} From b93c639460e8198f9ce05955b5cbdbd3fc82d5c6 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 19 Feb 2024 14:47:10 +0100 Subject: [PATCH 109/361] Allow optional programmer in debug (#2544) This is a cherry-pick of https://github.com/arduino/arduino-cli/pull/2540 from the 0.35.x branch --- commands/debug/debug_info.go | 17 ++++++++--------- commands/debug/debug_test.go | 6 ------ internal/integrationtest/debug/debug_test.go | 3 --- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/commands/debug/debug_info.go b/commands/debug/debug_info.go index b392ab6401c..5528dd53b8f 100644 --- a/commands/debug/debug_info.go +++ b/commands/debug/debug_info.go @@ -154,15 +154,14 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } - if req.GetProgrammer() == "" { - return nil, &cmderrors.MissingProgrammerError{} - } - if p, ok := platformRelease.Programmers[req.GetProgrammer()]; ok { - toolProperties.Merge(p.Properties) - } else if refP, ok := referencedPlatformRelease.Programmers[req.GetProgrammer()]; ok { - toolProperties.Merge(refP.Properties) - } else { - return nil, &cmderrors.ProgrammerNotFoundError{Programmer: req.GetProgrammer()} + if req.GetProgrammer() != "" { + if p, ok := platformRelease.Programmers[req.GetProgrammer()]; ok { + toolProperties.Merge(p.Properties) + } else if refP, ok := referencedPlatformRelease.Programmers[req.GetProgrammer()]; ok { + toolProperties.Merge(refP.Properties) + } else { + return nil, &cmderrors.ProgrammerNotFoundError{Programmer: req.GetProgrammer()} + } } var importPath *paths.Path diff --git a/commands/debug/debug_test.go b/commands/debug/debug_test.go index 09d4e4f6362..9ca9d7cf056 100644 --- a/commands/debug/debug_test.go +++ b/commands/debug/debug_test.go @@ -65,12 +65,6 @@ func TestGetCommandLine(t *testing.T) { pme, release := pm.NewExplorer() defer release() - { - // Check programmer required - _, err := getCommandLine(req, pme) - require.Error(t, err) - } - { // Check programmer not found req.Programmer = "not-existent" diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index 096fb6e7717..ffb95766b22 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -336,9 +336,6 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli } func testDebugCheck(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) { - _, _, err := cli.Run("debug", "check", "-b", "arduino:samd:mkr1000") - require.Error(t, err) - out, _, err := cli.Run("debug", "check", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice") require.NoError(t, err) require.Contains(t, string(out), "The given board/programmer configuration supports debugging.") From 56691a80068d142f7bce67704d6862fe5fef8010 Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Mon, 19 Feb 2024 17:19:32 +0100 Subject: [PATCH 110/361] [skip-changelog] fix ncipollo/release-action not being able to write (#2545) https://github.com/ncipollo/release-action/issues/208#issuecomment-1398625039 --- .github/workflows/release-go-task.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index e9fb5097c2e..f24caab458c 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -240,6 +240,8 @@ jobs: - create-release-artifacts - notarize-macos - create-windows-installer + permissions: + contents: write steps: - name: Checkout repository From 65fb6e5e839b9bd7692306f17ed37da464a8c9c3 Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:49:32 +0100 Subject: [PATCH 111/361] [skip-changelog] fix release CI (#2546) * put permission under correct job only * replace docker plugin with plain s3 command-line --- .github/workflows/publish-go-nightly-task.yml | 10 ++++------ .github/workflows/release-go-task.yml | 12 ++---------- 2 files changed, 6 insertions(+), 16 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index 8b496a6fbe8..c6dce447109 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -236,6 +236,9 @@ jobs: - create-nightly-artifacts - notarize-macos - create-windows-installer + permissions: + contents: write + id-token: write # This is required for requesting the JWT steps: - name: Checkout repository @@ -272,12 +275,7 @@ jobs: aws-region: ${{ env.AWS_REGION }} - name: Upload release files on Arduino downloads servers - uses: docker://plugins/s3 - env: - PLUGIN_SOURCE: "${{ env.DIST_DIR }}/*" - PLUGIN_TARGET: "${{ env.AWS_PLUGIN_TARGET }}nightly" - PLUGIN_STRIP_PREFIX: "${{ env.DIST_DIR }}/" - PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} + run: aws s3 sync ${{ env.DIST_DIR }} s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.AWS_PLUGIN_TARGET }}nightly report: runs-on: ubuntu-latest diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index f24caab458c..f091913172f 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -16,10 +16,6 @@ on: tags: - "v[0-9]+.[0-9]+.[0-9]+*" -permissions: - id-token: write # This is required for requesting the JWT - contents: read # This is required for actions/checkout - jobs: create-release-artifacts: outputs: @@ -242,6 +238,7 @@ jobs: - create-windows-installer permissions: contents: write + id-token: write # This is required for requesting the JWT steps: - name: Checkout repository @@ -299,12 +296,7 @@ jobs: aws-region: ${{ env.AWS_REGION }} - name: Upload release files on Arduino downloads servers - uses: docker://plugins/s3 - env: - PLUGIN_SOURCE: "${{ env.DIST_DIR }}/*" - PLUGIN_TARGET: ${{ env.AWS_PLUGIN_TARGET }} - PLUGIN_STRIP_PREFIX: "${{ env.DIST_DIR }}/" - PLUGIN_BUCKET: ${{ secrets.DOWNLOADS_BUCKET }} + run: aws s3 sync ${{ env.DIST_DIR }} s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.AWS_PLUGIN_TARGET }} - name: Update Homebrew formula if: steps.prerelease.outputs.IS_PRE != 'true' From 870a48fce24256aa81f4b609a61f48b8d412ad41 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 21 Feb 2024 17:25:53 +0100 Subject: [PATCH 112/361] Fixed nil pointer excpetion in upload (#2548) --- commands/upload/upload.go | 2 +- .../upload_mock/upload_mock_test.go | 41 +++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/commands/upload/upload.go b/commands/upload/upload.go index 487840c46aa..fcc248ce3b9 100644 --- a/commands/upload/upload.go +++ b/commands/upload/upload.go @@ -150,7 +150,7 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er if programmer == "" && pme.GetProfile() != nil { programmer = pme.GetProfile().Programmer } - if programmer == "" { + if programmer == "" && sk != nil { programmer = sk.GetDefaultProgrammer() } diff --git a/internal/integrationtest/upload_mock/upload_mock_test.go b/internal/integrationtest/upload_mock/upload_mock_test.go index c41f9db2f7d..330358bb1ba 100644 --- a/internal/integrationtest/upload_mock/upload_mock_test.go +++ b/internal/integrationtest/upload_mock/upload_mock_test.go @@ -726,3 +726,44 @@ func generateBuildDir(sketchPath *paths.Path, t *testing.T) *paths.Path { require.NoError(t, buildDir.ToAbs()) return buildDir } + +func TestUploadWithInputDirFlag(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("core", "install", "arduino:mbed_opta") + require.NoError(t, err) + + sketchPath := cli.SketchbookDir().Join("TestSketchForUpload") + _, _, err = cli.Run("sketch", "new", sketchPath.String()) + require.NoError(t, err) + + // Create a fake build directory + buildDir := sketchPath.Join("build") + require.NoError(t, buildDir.MkdirAll()) + require.NoError(t, buildDir.Join("TestSketchForUpload.ino.bin").WriteFile(nil)) + require.NoError(t, buildDir.Join("TestSketchForUpload.ino.elf").WriteFile(nil)) + require.NoError(t, buildDir.Join("TestSketchForUpload.ino.hex").WriteFile(nil)) + require.NoError(t, buildDir.Join("TestSketchForUpload.ino.map").WriteFile(nil)) + + // Test with input-dir flag + _, _, err = cli.Run( + "upload", + "-b", "arduino:mbed_opta:opta", + "-i", buildDir.String(), + "-t", + "-p", "/dev/ttyACM0", + "--dry-run", "-v", + sketchPath.String()) + require.NoError(t, err) + + // Test with input-dir flag and no sketch + _, _, err = cli.Run( + "upload", + "-b", "arduino:mbed_opta:opta", + "-i", buildDir.String(), + "-t", + "-p", "/dev/ttyACM0", + "--dry-run", "-v") + require.NoError(t, err) +} From 2bfaf6f141f1d62059b64806465b12d31e14fc0a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 26 Feb 2024 14:03:09 +0100 Subject: [PATCH 113/361] Bump xt0rted/markdownlint-problem-matcher from 2 to 3 (#2552) Bumps [xt0rted/markdownlint-problem-matcher](https://github.com/xt0rted/markdownlint-problem-matcher) from 2 to 3. - [Release notes](https://github.com/xt0rted/markdownlint-problem-matcher/releases) - [Changelog](https://github.com/xt0rted/markdownlint-problem-matcher/blob/main/CHANGELOG.md) - [Commits](https://github.com/xt0rted/markdownlint-problem-matcher/compare/v2...v3) --- updated-dependencies: - dependency-name: xt0rted/markdownlint-problem-matcher dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-markdown-task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index ef7c927e6b1..f0f02806227 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -83,7 +83,7 @@ jobs: node-version: ${{ env.NODE_VERSION }} - name: Initialize markdownlint-cli problem matcher - uses: xt0rted/markdownlint-problem-matcher@v2 + uses: xt0rted/markdownlint-problem-matcher@v3 - name: Install Task uses: arduino/setup-task@v2 From b987df195085e8f58e446d264fd2ae0f3fcd0c2b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Feb 2024 10:25:26 +0100 Subject: [PATCH 114/361] [skip-changelog] Bump google.golang.org/grpc from 1.61.1 to 1.62.0 (#2549) * Bump google.golang.org/grpc from 1.61.1 to 1.62.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.61.1 to 1.62.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.61.1...v1.62.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../github.com/golang/protobuf/jsonpb.dep.yml | 40 ------------ .../github.com/golang/protobuf/ptypes.dep.yml | 39 ------------ .../golang/protobuf/ptypes/any.dep.yml | 39 ------------ .../golang/protobuf/ptypes/duration.dep.yml | 39 ------------ .../golang/protobuf/ptypes/timestamp.dep.yml | 39 ------------ .../go/golang.org/x/crypto/argon2.dep.yml | 6 +- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 +- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 +- .../go/golang.org/x/crypto/cast5.dep.yml | 6 +- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +- .../x/crypto/ssh/knownhosts.dep.yml | 6 +- .licenses/go/golang.org/x/net/context.dep.yml | 6 +- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +- .../golang.org/x/net/internal/socks.dep.yml | 6 +- .../x/net/internal/timeseries.dep.yml | 6 +- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +- .../genproto/googleapis/rpc/status.dep.yml | 4 +- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../google.golang.org/grpc/attributes.dep.yml | 4 +- .../go/google.golang.org/grpc/backoff.dep.yml | 4 +- .../google.golang.org/grpc/balancer.dep.yml | 4 +- .../grpc/balancer/base.dep.yml | 4 +- .../grpc/balancer/grpclb/state.dep.yml | 4 +- .../grpc/balancer/roundrobin.dep.yml | 4 +- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 +- .../google.golang.org/grpc/channelz.dep.yml | 4 +- .../go/google.golang.org/grpc/codes.dep.yml | 4 +- .../grpc/connectivity.dep.yml | 4 +- .../grpc/credentials.dep.yml | 4 +- .../grpc/credentials/insecure.dep.yml | 4 +- .../google.golang.org/grpc/encoding.dep.yml | 4 +- .../grpc/encoding/proto.dep.yml | 4 +- .../go/google.golang.org/grpc/grpclog.dep.yml | 4 +- .../google.golang.org/grpc/internal.dep.yml | 4 +- .../grpc/internal/backoff.dep.yml | 4 +- .../internal/balancer/gracefulswitch.dep.yml | 4 +- .../grpc/internal/balancerload.dep.yml | 4 +- .../grpc/internal/binarylog.dep.yml | 4 +- .../grpc/internal/buffer.dep.yml | 4 +- .../grpc/internal/channelz.dep.yml | 4 +- .../grpc/internal/credentials.dep.yml | 4 +- .../grpc/internal/envconfig.dep.yml | 4 +- .../grpc/internal/grpclog.dep.yml | 4 +- .../grpc/internal/grpcrand.dep.yml | 4 +- .../grpc/internal/grpcsync.dep.yml | 4 +- .../grpc/internal/grpcutil.dep.yml | 4 +- .../grpc/internal/idle.dep.yml | 4 +- .../grpc/internal/metadata.dep.yml | 4 +- .../grpc/internal/pretty.dep.yml | 4 +- .../grpc/internal/resolver.dep.yml | 4 +- .../grpc/internal/resolver/dns.dep.yml | 4 +- .../internal/resolver/dns/internal.dep.yml | 4 +- .../internal/resolver/passthrough.dep.yml | 4 +- .../grpc/internal/resolver/unix.dep.yml | 4 +- .../grpc/internal/serviceconfig.dep.yml | 4 +- .../grpc/internal/status.dep.yml | 4 +- .../grpc/internal/syscall.dep.yml | 4 +- .../grpc/internal/transport.dep.yml | 4 +- .../internal/transport/networktype.dep.yml | 4 +- .../google.golang.org/grpc/keepalive.dep.yml | 4 +- .../google.golang.org/grpc/metadata.dep.yml | 4 +- .../go/google.golang.org/grpc/peer.dep.yml | 4 +- .../google.golang.org/grpc/resolver.dep.yml | 4 +- .../grpc/resolver/dns.dep.yml | 4 +- .../grpc/serviceconfig.dep.yml | 4 +- .../go/google.golang.org/grpc/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/status.dep.yml | 4 +- .../go/google.golang.org/grpc/tap.dep.yml | 4 +- .../protobuf/protoadapt.dep.yml | 62 +++++++++++++++++++ go.mod | 8 +-- go.sum | 20 +++--- 76 files changed, 227 insertions(+), 361 deletions(-) delete mode 100644 .licenses/go/github.com/golang/protobuf/jsonpb.dep.yml delete mode 100644 .licenses/go/github.com/golang/protobuf/ptypes.dep.yml delete mode 100644 .licenses/go/github.com/golang/protobuf/ptypes/any.dep.yml delete mode 100644 .licenses/go/github.com/golang/protobuf/ptypes/duration.dep.yml delete mode 100644 .licenses/go/github.com/golang/protobuf/ptypes/timestamp.dep.yml create mode 100644 .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml diff --git a/.licenses/go/github.com/golang/protobuf/jsonpb.dep.yml b/.licenses/go/github.com/golang/protobuf/jsonpb.dep.yml deleted file mode 100644 index a45a8343420..00000000000 --- a/.licenses/go/github.com/golang/protobuf/jsonpb.dep.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -name: github.com/golang/protobuf/jsonpb -version: v1.5.3 -type: go -summary: Package jsonpb provides functionality to marshal and unmarshal between a - protocol buffer message and JSON. -homepage: https://pkg.go.dev/github.com/golang/protobuf/jsonpb -license: bsd-3-clause -licenses: -- sources: protobuf@v1.5.3/LICENSE - text: |+ - Copyright 2010 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -notices: [] diff --git a/.licenses/go/github.com/golang/protobuf/ptypes.dep.yml b/.licenses/go/github.com/golang/protobuf/ptypes.dep.yml deleted file mode 100644 index 48e471769d5..00000000000 --- a/.licenses/go/github.com/golang/protobuf/ptypes.dep.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: github.com/golang/protobuf/ptypes -version: v1.5.3 -type: go -summary: Package ptypes provides functionality for interacting with well-known types. -homepage: https://pkg.go.dev/github.com/golang/protobuf/ptypes -license: bsd-3-clause -licenses: -- sources: protobuf@v1.5.3/LICENSE - text: |+ - Copyright 2010 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -notices: [] diff --git a/.licenses/go/github.com/golang/protobuf/ptypes/any.dep.yml b/.licenses/go/github.com/golang/protobuf/ptypes/any.dep.yml deleted file mode 100644 index 7aa8349dc6c..00000000000 --- a/.licenses/go/github.com/golang/protobuf/ptypes/any.dep.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: github.com/golang/protobuf/ptypes/any -version: v1.5.3 -type: go -summary: -homepage: https://pkg.go.dev/github.com/golang/protobuf/ptypes/any -license: bsd-3-clause -licenses: -- sources: protobuf@v1.5.3/LICENSE - text: |+ - Copyright 2010 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -notices: [] diff --git a/.licenses/go/github.com/golang/protobuf/ptypes/duration.dep.yml b/.licenses/go/github.com/golang/protobuf/ptypes/duration.dep.yml deleted file mode 100644 index 094a5c2f120..00000000000 --- a/.licenses/go/github.com/golang/protobuf/ptypes/duration.dep.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: github.com/golang/protobuf/ptypes/duration -version: v1.5.3 -type: go -summary: -homepage: https://pkg.go.dev/github.com/golang/protobuf/ptypes/duration -license: bsd-3-clause -licenses: -- sources: protobuf@v1.5.3/LICENSE - text: |+ - Copyright 2010 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -notices: [] diff --git a/.licenses/go/github.com/golang/protobuf/ptypes/timestamp.dep.yml b/.licenses/go/github.com/golang/protobuf/ptypes/timestamp.dep.yml deleted file mode 100644 index 3fe208c942e..00000000000 --- a/.licenses/go/github.com/golang/protobuf/ptypes/timestamp.dep.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: github.com/golang/protobuf/ptypes/timestamp -version: v1.5.3 -type: go -summary: -homepage: https://pkg.go.dev/github.com/golang/protobuf/ptypes/timestamp -license: bsd-3-clause -licenses: -- sources: protobuf@v1.5.3/LICENSE - text: |+ - Copyright 2010 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -notices: [] diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 75be7cd75dd..7ef411f9ac3 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.17.0 +version: v0.18.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: other licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index e5dee892420..08f52178da8 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.17.0 +version: v0.18.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: other licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 5171eee51be..449f8662e26 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.17.0 +version: v0.18.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index 0c6945b79b2..bcdeb0258c5 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.17.0 +version: v0.18.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 14bbded47ef..9565db0c7ba 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.17.0 +version: v0.18.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index e20b5c8e05d..4c7e66e5f22 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.17.0 +version: v0.18.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 272b4c42862..b2e4ec28be9 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.17.0 +version: v0.18.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index 2525b8344ef..b4f34666345 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.17.0 +version: v0.18.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index 8669ac548e6..e62bee50fef 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.17.0 +version: v0.18.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 1712ed1d5f8..c8144dfae74 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.17.0 +version: v0.18.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.17.0/LICENSE +- sources: crypto@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.17.0/PATENTS +- sources: crypto@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index fcf7365ee41..3a5b464d516 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.19.0 +version: v0.20.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.19.0/LICENSE +- sources: net@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.19.0/PATENTS +- sources: net@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 7fee7d67c36..7337b512f68 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.19.0 +version: v0.20.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.19.0/LICENSE +- sources: net@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.19.0/PATENTS +- sources: net@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index 6648db41167..c077601437b 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.19.0 +version: v0.20.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.19.0/LICENSE +- sources: net@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.19.0/PATENTS +- sources: net@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 4a10ba0419d..a612a9726b0 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.19.0 +version: v0.20.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.19.0/LICENSE +- sources: net@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.19.0/PATENTS +- sources: net@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index 9f20ec1d3fc..483ff3635fc 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.19.0 +version: v0.20.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.19.0/LICENSE +- sources: net@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.19.0/PATENTS +- sources: net@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 706266a435f..7d486480832 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.19.0 +version: v0.20.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.19.0/LICENSE +- sources: net@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.19.0/PATENTS +- sources: net@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 4626722a69a..97643373f77 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20231120223509-83a465c0220f +version: v0.0.0-20240123012728-ef4313101c80 type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20231120223509-83a465c0220f/LICENSE +- sources: rpc@v0.0.0-20240123012728-ef4313101c80/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index c356354a2a3..6e1e2b8b92a 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.61.1 +version: v1.62.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index f86d7747024..476376bfca3 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.61.1 +version: v1.62.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 470ad237e04..f69712a5656 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.61.1 +version: v1.62.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 73cc166b35e..2578488d476 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.61.1 +version: v1.62.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 7279d35d671..a17d68ec12b 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.61.1 +version: v1.62.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 6dc1bc24094..23b0b7e8a9b 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.61.1 +version: v1.62.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 67dc5ff1155..d9923be80a0 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.61.1 +version: v1.62.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 441aa1eaf16..bc67beb3e88 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.61.1 +version: v1.62.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 8e59866df35..52ecfe0505a 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.61.1 +version: v1.62.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index d752c565584..f8bbece25ef 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.61.1 +version: v1.62.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index aee05a11e31..750315f29aa 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.61.1 +version: v1.62.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 3c90dfd11c6..653d51a5956 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.61.1 +version: v1.62.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index d3049eb2bd5..8fa2b5d47c1 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.61.1 +version: v1.62.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index ed350e1998d..874f55e40b2 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.61.1 +version: v1.62.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 9aa016697e8..1c4d564fc79 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.61.1 +version: v1.62.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 7ff3d6ed391..75a9d508070 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.61.1 +version: v1.62.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index c06edce05cb..6923a7f9ca7 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.61.1 +version: v1.62.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 435c1d5a77e..0d83bbbcb24 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.61.1 +version: v1.62.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 32522dbae65..dad7759e1b7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.61.1 +version: v1.62.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index c5aff81e1ac..d61daf7f46b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.61.1 +version: v1.62.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 96a538c32d9..f95b6fd92ec 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.61.1 +version: v1.62.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 08cf99ca5ae..593b18cb8a2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.61.1 +version: v1.62.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index 4c64ec07c05..a335d172a22 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.61.1 +version: v1.62.0 type: go summary: Package channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 1a6be7c30f6..52471d6f48b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.61.1 +version: v1.62.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 0c73f62190c..4511b8f7569 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.61.1 +version: v1.62.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 54c3b765886..89ab42cf72c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.61.1 +version: v1.62.0 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml index d84b845e35c..bcf3152f0ef 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcrand -version: v1.61.1 +version: v1.62.0 type: go summary: Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index b1f43ef5ce0..0e9a01adbc7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.61.1 +version: v1.62.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index fb91bf9574b..7cda41a2511 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.61.1 +version: v1.62.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index f6815b7996b..644fe9626e6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.61.1 +version: v1.62.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 797c6d9f2d4..05161c6b9bc 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.61.1 +version: v1.62.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index db0550cfdb9..68bd7d25c2a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.61.1 +version: v1.62.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 17bdb07227b..f93eee245e9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.61.1 +version: v1.62.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 7da8625d0a9..8508709f570 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.61.1 +version: v1.62.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index f213a768ca2..e27b84ed160 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.61.1 +version: v1.62.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index d7051beb25e..cb256504e96 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.61.1 +version: v1.62.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index fdd4a74b0fd..22a7132d019 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.61.1 +version: v1.62.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index ecbc02e54ef..3c21798198b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.61.1 +version: v1.62.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index abc5910dc56..0fc3271412c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.61.1 +version: v1.62.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index e45428c487a..da275c8fa88 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.61.1 +version: v1.62.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 6b4986c0f88..9227b0133c5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.61.1 +version: v1.62.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 2984b45540c..88e2b6cf66d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.61.1 +version: v1.62.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index d42737f212a..1b3fa1a3b8a 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.61.1 +version: v1.62.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index ef4ef735b00..7cd842afa95 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.61.1 +version: v1.62.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index b5a0639d66b..5bad78730ae 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.61.1 +version: v1.62.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index ee113607024..ca34ce4dfe7 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.61.1 +version: v1.62.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 353ce80197c..acfe9054aae 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.61.1 +version: v1.62.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 32bd380a3d8..a1d3effd765 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.61.1 +version: v1.62.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 52ca787b621..8851f84969e 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.61.1 +version: v1.62.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 5e9c874b6cd..213bd95da47 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.61.1 +version: v1.62.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 18c11321182..a4bbec4e24c 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.61.1 +version: v1.62.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.61.1/LICENSE +- sources: grpc@v1.62.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml new file mode 100644 index 00000000000..a22220c31ed --- /dev/null +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -0,0 +1,62 @@ +--- +name: google.golang.org/protobuf/protoadapt +version: v1.32.0 +type: go +summary: Package protoadapt bridges the original and new proto APIs. +homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt +license: bsd-3-clause +licenses: +- sources: protobuf@v1.32.0/LICENSE + text: | + Copyright (c) 2018 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: protobuf@v1.32.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/go.mod b/go.mod index 46c655a8e1d..591acf3a017 100644 --- a/go.mod +++ b/go.mod @@ -40,8 +40,8 @@ require ( go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.17.0 golang.org/x/text v0.14.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f - google.golang.org/grpc v1.61.1 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 + google.golang.org/grpc v1.62.0 google.golang.org/protobuf v1.32.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 @@ -96,10 +96,10 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.17.0 // indirect + golang.org/x/crypto v0.18.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.19.0 // indirect + golang.org/x/net v0.20.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 46ce609d137..9b28a354332 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= -golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= @@ -240,10 +240,10 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= -golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -274,10 +274,10 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f/go.mod h1:L9KNLi232K1/xB6f7AlSX692koaRnKaWSR0stBki0Yc= -google.golang.org/grpc v1.61.1 h1:kLAiWrZs7YeDM6MumDe7m3y4aM6wacLzM1Y/wiLP9XY= -google.golang.org/grpc v1.61.1/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= +google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= +google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= From af0b60e6069d3c26b764f17dbbf83b269a9ddbf8 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 27 Feb 2024 17:25:40 +0100 Subject: [PATCH 115/361] gRPC: `Compile` will now fail if a platform core has been modified. (#2551) * Slighlty moved variables near their utilization place * Added facility to keep timestamps of used files * Compile will fail if platforms are changed * Added integration test * Make linter happy * Fixed grammar * Test all monitored files --- commands/cmderrors/cmderrors.go | 16 + commands/compile/compile.go | 4 + internal/arduino/cores/cores.go | 48 +++ .../arduino/cores/packagemanager/loader.go | 27 +- .../cores/packagemanager/package_manager.go | 9 + .../daemon/detect_core_changes_test.go | 136 ++++++++ rpc/cc/arduino/cli/commands/v1/compile.pb.go | 298 +++++++++++------- rpc/cc/arduino/cli/commands/v1/compile.proto | 2 + 8 files changed, 408 insertions(+), 132 deletions(-) create mode 100644 internal/integrationtest/daemon/detect_core_changes_test.go diff --git a/commands/cmderrors/cmderrors.go b/commands/cmderrors/cmderrors.go index 248b785df0e..e6794ffdee9 100644 --- a/commands/cmderrors/cmderrors.go +++ b/commands/cmderrors/cmderrors.go @@ -869,3 +869,19 @@ func (e *MultipleLibraryInstallDetected) Error() string { func (e *MultipleLibraryInstallDetected) ToRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } + +// InstanceNeedsReinitialization +type InstanceNeedsReinitialization struct { +} + +func (e *InstanceNeedsReinitialization) Error() string { + return tr("The instance is no longer valid and needs to be reinitialized") +} + +// ToRPCStatus converts the error into a *status.Status +func (e *InstanceNeedsReinitialization) ToRPCStatus() *status.Status { + st, _ := status. + New(codes.InvalidArgument, e.Error()). + WithDetails(&rpc.InstanceNeedsReinitializationError{}) + return st +} diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 0beebfa56ca..78f8b6d5345 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -63,6 +63,10 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } defer release() + if pme.Dirty() { + return nil, &cmderrors.InstanceNeedsReinitialization{} + } + lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { return nil, err diff --git a/internal/arduino/cores/cores.go b/internal/arduino/cores/cores.go index 63d4a76428d..9be3c48f365 100644 --- a/internal/arduino/cores/cores.go +++ b/internal/arduino/cores/cores.go @@ -24,6 +24,7 @@ import ( "path/filepath" "sort" "strings" + "time" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/resources" @@ -70,6 +71,7 @@ type PlatformRelease struct { Programmers map[string]*Programmer `json:"-"` Menus *properties.Map `json:"-"` InstallDir *paths.Path `json:"-"` + Timestamps *TimestampsStore // Contains the timestamps of the files used to build this PlatformRelease IsTrusted bool `json:"-"` PluggableDiscoveryAware bool `json:"-"` // true if the Platform supports pluggable discovery (no compatibility layer required) Monitors map[string]*MonitorDependency `json:"-"` @@ -77,6 +79,51 @@ type PlatformRelease struct { Compatible bool `json:"-"` // true if at all ToolDependencies are available for the current OS/ARCH. } +// TimestampsStore is a generic structure to store timestamps +type TimestampsStore struct { + timestamps map[*paths.Path]*time.Time +} + +// NewTimestampsStore creates a new TimestampsStore +func NewTimestampsStore() *TimestampsStore { + return &TimestampsStore{ + timestamps: map[*paths.Path]*time.Time{}, + } +} + +// AddFile adds a file to the TimestampsStore +func (t *TimestampsStore) AddFile(path *paths.Path) { + if info, err := path.Stat(); err != nil { + t.timestamps[path] = nil // Save a missing file with a nil timestamp + } else { + modtime := info.ModTime() + t.timestamps[path] = &modtime + } +} + +// Dirty returns true if one of the files stored in the TimestampsStore has been +// changed after being added to the store. +func (t *TimestampsStore) Dirty() bool { + for path, timestamp := range t.timestamps { + if info, err := path.Stat(); err != nil { + if timestamp != nil { + return true + } + } else { + if timestamp == nil || info.ModTime() != *timestamp { + return true + } + } + } + return false +} + +// Dirty returns true if one of the files of this PlatformRelease has been changed +// (it means that the PlatformRelease should be rebuilt to be used correctly). +func (release *PlatformRelease) Dirty() bool { + return release.Timestamps.Dirty() +} + // BoardManifest contains information about a board. These metadata are usually // provided by the package_index.json type BoardManifest struct { @@ -207,6 +254,7 @@ func (platform *Platform) GetOrCreateRelease(version *semver.Version) *PlatformR Properties: properties.NewMap(), Programmers: map[string]*Programmer{}, Platform: platform, + Timestamps: NewTimestampsStore(), } platform.Releases[tag] = release return release diff --git a/internal/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go index 00f87dd3002..68c603044e5 100644 --- a/internal/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -239,29 +239,32 @@ func (pm *Builder) loadPlatform(targetPackage *cores.Package, architecture strin func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *paths.Path) error { platform.InstallDir = path - // Some useful paths - installedJSONPath := path.Join("installed.json") - platformTxtPath := path.Join("platform.txt") - platformTxtLocalPath := path.Join("platform.local.txt") - programmersTxtPath := path.Join("programmers.txt") - // If the installed.json file is found load it, this is done to handle the // case in which the platform's index and its url have been deleted locally, // if we don't load it some information about the platform is lost + installedJSONPath := path.Join("installed.json") + platform.Timestamps.AddFile(installedJSONPath) if installedJSONPath.Exist() { if _, err := pm.LoadPackageIndexFromFile(installedJSONPath); err != nil { return fmt.Errorf(tr("loading %[1]s: %[2]s"), installedJSONPath, err) } } + // TODO: why CLONE? + platform.Properties = platform.Properties.Clone() + // Create platform properties - platform.Properties = platform.Properties.Clone() // TODO: why CLONE? - if p, err := properties.SafeLoad(platformTxtPath.String()); err == nil { + platformTxtPath := path.Join("platform.txt") + platform.Timestamps.AddFile(platformTxtPath) + if p, err := properties.SafeLoadFromPath(platformTxtPath); err == nil { platform.Properties.Merge(p) } else { return fmt.Errorf(tr("loading %[1]s: %[2]s"), platformTxtPath, err) } - if p, err := properties.SafeLoad(platformTxtLocalPath.String()); err == nil { + + platformTxtLocalPath := path.Join("platform.local.txt") + platform.Timestamps.AddFile(platformTxtLocalPath) + if p, err := properties.SafeLoadFromPath(platformTxtLocalPath); err == nil { platform.Properties.Merge(p) } else { return fmt.Errorf(tr("loading %[1]s: %[2]s"), platformTxtLocalPath, err) @@ -287,7 +290,9 @@ func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *pa } // Create programmers properties - if programmersProperties, err := properties.SafeLoad(programmersTxtPath.String()); err == nil { + programmersTxtPath := path.Join("programmers.txt") + platform.Timestamps.AddFile(programmersTxtPath) + if programmersProperties, err := properties.SafeLoadFromPath(programmersTxtPath); err == nil { for programmerID, programmerProps := range programmersProperties.FirstLevelOf() { if !platform.PluggableDiscoveryAware { convertUploadToolsToPluggableDiscovery(programmerProps) @@ -410,12 +415,14 @@ func (pm *Builder) loadBoards(platform *cores.PlatformRelease) error { } boardsTxtPath := platform.InstallDir.Join("boards.txt") + platform.Timestamps.AddFile(boardsTxtPath) allBoardsProperties, err := properties.LoadFromPath(boardsTxtPath) if err != nil { return err } boardsLocalTxtPath := platform.InstallDir.Join("boards.local.txt") + platform.Timestamps.AddFile(boardsLocalTxtPath) if boardsLocalProperties, err := properties.SafeLoadFromPath(boardsLocalTxtPath); err == nil { allBoardsProperties.Merge(boardsLocalProperties) } else { diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index d40fa6312f3..667c62870ec 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -22,6 +22,7 @@ import ( "os" "path" "path/filepath" + "slices" "strconv" "strings" "sync" @@ -898,3 +899,11 @@ func (pme *Explorer) NormalizeFQBN(fqbn *cores.FQBN) (*cores.FQBN, error) { } return normalizedFqbn, nil } + +// Dirty returns true if one of the loaded platforms needs to be re-initialized +// due to file changes in the platform releases. +func (pme *Explorer) Dirty() bool { + return slices.ContainsFunc( + pme.InstalledPlatformReleases(), + (*cores.PlatformRelease).Dirty) +} diff --git a/internal/integrationtest/daemon/detect_core_changes_test.go b/internal/integrationtest/daemon/detect_core_changes_test.go new file mode 100644 index 00000000000..d7159240b78 --- /dev/null +++ b/internal/integrationtest/daemon/detect_core_changes_test.go @@ -0,0 +1,136 @@ +// This file is part of arduino-cli. +// +// Copyright 2022 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 daemon_test + +import ( + "context" + "errors" + "fmt" + "io" + "testing" + "time" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-paths-helper" + + "github.com/stretchr/testify/require" +) + +func TestDetectionOfChangesInCoreBeforeCompile(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/2523 + + env, cli := integrationtest.CreateEnvForDaemon(t) + defer env.CleanUp() + + // Create a new instance of the daemon + grpcInst := cli.Create() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + // Install avr core + installCl, err := grpcInst.PlatformInstall(context.Background(), "arduino", "avr", "", true) + require.NoError(t, err) + for { + installResp, err := installCl.Recv() + if errors.Is(err, io.EOF) { + break + } + require.NoError(t, err) + fmt.Printf("INSTALL> %v\n", installResp) + } + installCl.CloseSend() + + // Utility functions: tryCompile + sketchPath, err := paths.New("testdata", "bare_minimum").Abs() + require.NoError(t, err) + tryCompile := func() error { + compileCl, err := grpcInst.Compile(context.Background(), "arduino:avr:uno", sketchPath.String(), "") + require.NoError(t, err) + defer compileCl.CloseSend() + for { + if compileResp, err := compileCl.Recv(); errors.Is(err, io.EOF) { + return nil + } else if err != nil { + return err + } else { + fmt.Printf("COMPILE> %v\n", compileResp) + } + } + } + + // Utility functions: tryTouch will touch a file and see if the compile detects the change + tryTouch := func(fileToTouch *paths.Path) { + time.Sleep(time.Second) // await at least one second so the timestamp of the file is different + + // touch the file + f, err := fileToTouch.Append() + require.NoError(t, err) + _, err = f.WriteString("\n") + require.NoError(t, err) + require.NoError(t, f.Close()) + + // try compile: should fail + err = tryCompile() + require.Error(t, err) + require.Contains(t, err.Error(), "The instance is no longer valid and needs to be reinitialized") + + // re-init instance + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + // try compile: should succeed + require.NoError(t, tryCompile()) + } + + avrCorePath := cli.DataDir().Join("packages", "arduino", "hardware", "avr", "1.8.6") + tryTouch(avrCorePath.Join("installed.json")) + tryTouch(avrCorePath.Join("platform.txt")) + tryTouch(avrCorePath.Join("platform.local.txt")) + tryTouch(avrCorePath.Join("programmers.txt")) + tryTouch(avrCorePath.Join("boards.txt")) + tryTouch(avrCorePath.Join("boards.local.txt")) + + // Delete a file and check if the change is detected + require.NoError(t, avrCorePath.Join("programmers.txt").Remove()) + err = tryCompile() + require.Error(t, err) + require.Contains(t, err.Error(), "The instance is no longer valid and needs to be reinitialized") + + // Re-init instance and check again + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + require.NoError(t, tryCompile()) + + // Create a file and check if the change is detected + { + f, err := avrCorePath.Join("programmers.txt").Create() + require.NoError(t, err) + require.NoError(t, f.Close()) + } + err = tryCompile() + require.Error(t, err) + require.Contains(t, err.Error(), "The instance is no longer valid and needs to be reinitialized") + + // Re-init instance and check again + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + require.NoError(t, tryCompile()) +} diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index 959b2c2639f..f286359a9f1 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -433,6 +433,44 @@ func (*CompileResponse_Progress) isCompileResponse_Message() {} func (*CompileResponse_Result) isCompileResponse_Message() {} +type InstanceNeedsReinitializationError struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *InstanceNeedsReinitializationError) Reset() { + *x = InstanceNeedsReinitializationError{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *InstanceNeedsReinitializationError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InstanceNeedsReinitializationError) ProtoMessage() {} + +func (x *InstanceNeedsReinitializationError) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InstanceNeedsReinitializationError.ProtoReflect.Descriptor instead. +func (*InstanceNeedsReinitializationError) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{2} +} + type BuilderResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -457,7 +495,7 @@ type BuilderResult struct { func (x *BuilderResult) Reset() { *x = BuilderResult{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -470,7 +508,7 @@ func (x *BuilderResult) String() string { func (*BuilderResult) ProtoMessage() {} func (x *BuilderResult) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -483,7 +521,7 @@ func (x *BuilderResult) ProtoReflect() protoreflect.Message { // Deprecated: Use BuilderResult.ProtoReflect.Descriptor instead. func (*BuilderResult) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{2} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{3} } func (x *BuilderResult) GetBuildPath() string { @@ -548,7 +586,7 @@ type ExecutableSectionSize struct { func (x *ExecutableSectionSize) Reset() { *x = ExecutableSectionSize{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -561,7 +599,7 @@ func (x *ExecutableSectionSize) String() string { func (*ExecutableSectionSize) ProtoMessage() {} func (x *ExecutableSectionSize) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -574,7 +612,7 @@ func (x *ExecutableSectionSize) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecutableSectionSize.ProtoReflect.Descriptor instead. func (*ExecutableSectionSize) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{3} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{4} } func (x *ExecutableSectionSize) GetName() string { @@ -624,7 +662,7 @@ type CompileDiagnostic struct { func (x *CompileDiagnostic) Reset() { *x = CompileDiagnostic{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -637,7 +675,7 @@ func (x *CompileDiagnostic) String() string { func (*CompileDiagnostic) ProtoMessage() {} func (x *CompileDiagnostic) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -650,7 +688,7 @@ func (x *CompileDiagnostic) ProtoReflect() protoreflect.Message { // Deprecated: Use CompileDiagnostic.ProtoReflect.Descriptor instead. func (*CompileDiagnostic) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{4} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{5} } func (x *CompileDiagnostic) GetSeverity() string { @@ -720,7 +758,7 @@ type CompileDiagnosticContext struct { func (x *CompileDiagnosticContext) Reset() { *x = CompileDiagnosticContext{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -733,7 +771,7 @@ func (x *CompileDiagnosticContext) String() string { func (*CompileDiagnosticContext) ProtoMessage() {} func (x *CompileDiagnosticContext) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -746,7 +784,7 @@ func (x *CompileDiagnosticContext) ProtoReflect() protoreflect.Message { // Deprecated: Use CompileDiagnosticContext.ProtoReflect.Descriptor instead. func (*CompileDiagnosticContext) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{5} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{6} } func (x *CompileDiagnosticContext) GetMessage() string { @@ -795,7 +833,7 @@ type CompileDiagnosticNote struct { func (x *CompileDiagnosticNote) Reset() { *x = CompileDiagnosticNote{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -808,7 +846,7 @@ func (x *CompileDiagnosticNote) String() string { func (*CompileDiagnosticNote) ProtoMessage() {} func (x *CompileDiagnosticNote) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6] + mi := &file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -821,7 +859,7 @@ func (x *CompileDiagnosticNote) ProtoReflect() protoreflect.Message { // Deprecated: Use CompileDiagnosticNote.ProtoReflect.Descriptor instead. func (*CompileDiagnosticNote) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{6} + return file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP(), []int{7} } func (x *CompileDiagnosticNote) GetMessage() string { @@ -950,85 +988,88 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa1, - 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, - 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x75, 0x73, - 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, + 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x24, + 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, + 0x65, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, + 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa1, 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, - 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x6f, 0x61, 0x72, - 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, - 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, + 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, + 0x0a, 0x0e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, - 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, - 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, - 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, - 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, + 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, + 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, + 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, + 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, + 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, + 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, + 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, + 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, + 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, - 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, - 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, + 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, + 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1043,35 +1084,36 @@ func file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_compile_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_compile_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_cc_arduino_cli_commands_v1_compile_proto_msgTypes = make([]protoimpl.MessageInfo, 9) var file_cc_arduino_cli_commands_v1_compile_proto_goTypes = []interface{}{ - (*CompileRequest)(nil), // 0: cc.arduino.cli.commands.v1.CompileRequest - (*CompileResponse)(nil), // 1: cc.arduino.cli.commands.v1.CompileResponse - (*BuilderResult)(nil), // 2: cc.arduino.cli.commands.v1.BuilderResult - (*ExecutableSectionSize)(nil), // 3: cc.arduino.cli.commands.v1.ExecutableSectionSize - (*CompileDiagnostic)(nil), // 4: cc.arduino.cli.commands.v1.CompileDiagnostic - (*CompileDiagnosticContext)(nil), // 5: cc.arduino.cli.commands.v1.CompileDiagnosticContext - (*CompileDiagnosticNote)(nil), // 6: cc.arduino.cli.commands.v1.CompileDiagnosticNote - nil, // 7: cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry - (*Instance)(nil), // 8: cc.arduino.cli.commands.v1.Instance - (*wrapperspb.BoolValue)(nil), // 9: google.protobuf.BoolValue - (*TaskProgress)(nil), // 10: cc.arduino.cli.commands.v1.TaskProgress - (*Library)(nil), // 11: cc.arduino.cli.commands.v1.Library - (*InstalledPlatformReference)(nil), // 12: cc.arduino.cli.commands.v1.InstalledPlatformReference + (*CompileRequest)(nil), // 0: cc.arduino.cli.commands.v1.CompileRequest + (*CompileResponse)(nil), // 1: cc.arduino.cli.commands.v1.CompileResponse + (*InstanceNeedsReinitializationError)(nil), // 2: cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError + (*BuilderResult)(nil), // 3: cc.arduino.cli.commands.v1.BuilderResult + (*ExecutableSectionSize)(nil), // 4: cc.arduino.cli.commands.v1.ExecutableSectionSize + (*CompileDiagnostic)(nil), // 5: cc.arduino.cli.commands.v1.CompileDiagnostic + (*CompileDiagnosticContext)(nil), // 6: cc.arduino.cli.commands.v1.CompileDiagnosticContext + (*CompileDiagnosticNote)(nil), // 7: cc.arduino.cli.commands.v1.CompileDiagnosticNote + nil, // 8: cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry + (*Instance)(nil), // 9: cc.arduino.cli.commands.v1.Instance + (*wrapperspb.BoolValue)(nil), // 10: google.protobuf.BoolValue + (*TaskProgress)(nil), // 11: cc.arduino.cli.commands.v1.TaskProgress + (*Library)(nil), // 12: cc.arduino.cli.commands.v1.Library + (*InstalledPlatformReference)(nil), // 13: cc.arduino.cli.commands.v1.InstalledPlatformReference } var file_cc_arduino_cli_commands_v1_compile_proto_depIdxs = []int32{ - 8, // 0: cc.arduino.cli.commands.v1.CompileRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 7, // 1: cc.arduino.cli.commands.v1.CompileRequest.source_override:type_name -> cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry - 9, // 2: cc.arduino.cli.commands.v1.CompileRequest.export_binaries:type_name -> google.protobuf.BoolValue - 10, // 3: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 2, // 4: cc.arduino.cli.commands.v1.CompileResponse.result:type_name -> cc.arduino.cli.commands.v1.BuilderResult - 11, // 5: cc.arduino.cli.commands.v1.BuilderResult.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library - 3, // 6: cc.arduino.cli.commands.v1.BuilderResult.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize - 12, // 7: cc.arduino.cli.commands.v1.BuilderResult.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 12, // 8: cc.arduino.cli.commands.v1.BuilderResult.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 4, // 9: cc.arduino.cli.commands.v1.BuilderResult.diagnostics:type_name -> cc.arduino.cli.commands.v1.CompileDiagnostic - 5, // 10: cc.arduino.cli.commands.v1.CompileDiagnostic.context:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticContext - 6, // 11: cc.arduino.cli.commands.v1.CompileDiagnostic.notes:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticNote + 9, // 0: cc.arduino.cli.commands.v1.CompileRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 8, // 1: cc.arduino.cli.commands.v1.CompileRequest.source_override:type_name -> cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry + 10, // 2: cc.arduino.cli.commands.v1.CompileRequest.export_binaries:type_name -> google.protobuf.BoolValue + 11, // 3: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 3, // 4: cc.arduino.cli.commands.v1.CompileResponse.result:type_name -> cc.arduino.cli.commands.v1.BuilderResult + 12, // 5: cc.arduino.cli.commands.v1.BuilderResult.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library + 4, // 6: cc.arduino.cli.commands.v1.BuilderResult.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize + 13, // 7: cc.arduino.cli.commands.v1.BuilderResult.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 13, // 8: cc.arduino.cli.commands.v1.BuilderResult.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 5, // 9: cc.arduino.cli.commands.v1.BuilderResult.diagnostics:type_name -> cc.arduino.cli.commands.v1.CompileDiagnostic + 6, // 10: cc.arduino.cli.commands.v1.CompileDiagnostic.context:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticContext + 7, // 11: cc.arduino.cli.commands.v1.CompileDiagnostic.notes:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticNote 12, // [12:12] is the sub-list for method output_type 12, // [12:12] is the sub-list for method input_type 12, // [12:12] is the sub-list for extension type_name @@ -1112,7 +1154,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BuilderResult); i { + switch v := v.(*InstanceNeedsReinitializationError); i { case 0: return &v.state case 1: @@ -1124,7 +1166,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ExecutableSectionSize); i { + switch v := v.(*BuilderResult); i { case 0: return &v.state case 1: @@ -1136,7 +1178,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompileDiagnostic); i { + switch v := v.(*ExecutableSectionSize); i { case 0: return &v.state case 1: @@ -1148,7 +1190,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CompileDiagnosticContext); i { + switch v := v.(*CompileDiagnostic); i { case 0: return &v.state case 1: @@ -1160,6 +1202,18 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CompileDiagnosticContext); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CompileDiagnosticNote); i { case 0: return &v.state @@ -1184,7 +1238,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_compile_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 9, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index b53a124b6b8..67f003cf610 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -109,6 +109,8 @@ message CompileResponse { } } +message InstanceNeedsReinitializationError {} + message BuilderResult { // The compiler build path string build_path = 1; From fcb267005c8627bce19c0b1b2e3e4e7dd93e0cca Mon Sep 17 00:00:00 2001 From: dankeboy36 <111981763+dankeboy36@users.noreply.github.com> Date: Thu, 29 Feb 2024 11:50:53 +0100 Subject: [PATCH 116/361] feat(doc): document empty vendor and arch in FQBN (#2550) The spec should be aligned with the implementation; empty `vendor` and `architecture` parts are allowed in the FQBN. Signed-off-by: dankeboy36 <dankeboy36@gmail.com> --- docs/FAQ.md | 5 +++-- internal/arduino/cores/fqbn_test.go | 24 ++++++++++++++++++++---- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/docs/FAQ.md b/docs/FAQ.md index 84599a2bbbf..c9eacaa70c5 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -12,8 +12,9 @@ When you run [`arduino-cli board list`][arduino cli board list], your board does FQBN stands for Fully Qualified Board Name. It has the following format: `VENDOR:ARCHITECTURE:BOARD_ID[:MENU_ID=OPTION_ID[,MENU2_ID=OPTION_ID ...]]`, with each `MENU_ID=OPTION_ID` being an optional key-value pair configuration. Each field accepts letters (`A-Z` or `a-z`), numbers (`0-9`), underscores (`_`), -dashes(`-`) and dots(`.`). The special character `=` is accepted in the configuration value. For a deeper understanding -of how FQBN works, you should understand the [Arduino platform specification][0]. +dashes(`-`) and dots(`.`). The special character `=` is accepted in the configuration value. The `VENDOR` and +`ARCHITECTURE` parts can be empty. For a deeper understanding of how FQBN works, you should understand the [Arduino +platform specification][0]. ## How to set multiple board options? diff --git a/internal/arduino/cores/fqbn_test.go b/internal/arduino/cores/fqbn_test.go index 53200cabaca..c7165af064a 100644 --- a/internal/arduino/cores/fqbn_test.go +++ b/internal/arduino/cores/fqbn_test.go @@ -30,7 +30,7 @@ func TestFQBN(t *testing.T) { require.Equal(t, a.BoardID, "uno") require.Zero(t, a.Configs.Size()) - // Allow empty plaforms or packages + // Allow empty platforms or packages (aka. vendors + architectures) b1, err := ParseFQBN("arduino::uno") require.Equal(t, "arduino::uno", b1.String()) require.NoError(t, err) @@ -65,10 +65,24 @@ func TestFQBN(t *testing.T) { _, err = ParseFQBN("arduino:avr") require.Error(t, err) - // Sort keys in fbqn config - s, err := ParseFQBN("arduino:avr:uno:d=x,b=x,a=x,e=x,c=x") + // Keeps the config keys order + s1, err := ParseFQBN("arduino:avr:uno:d=x,b=x,a=x,e=x,c=x") require.NoError(t, err) - require.Equal(t, "arduino:avr:uno:d=x,b=x,a=x,e=x,c=x", s.String()) + require.Equal(t, "arduino:avr:uno:d=x,b=x,a=x,e=x,c=x", s1.String()) + require.Equal(t, + "properties.Map{\n \"d\": \"x\",\n \"b\": \"x\",\n \"a\": \"x\",\n \"e\": \"x\",\n \"c\": \"x\",\n}", + s1.Configs.Dump()) + + s2, err := ParseFQBN("arduino:avr:uno:a=x,b=x,c=x,d=x,e=x") + require.NoError(t, err) + require.Equal(t, "arduino:avr:uno:a=x,b=x,c=x,d=x,e=x", s2.String()) + require.Equal(t, + "properties.Map{\n \"a\": \"x\",\n \"b\": \"x\",\n \"c\": \"x\",\n \"d\": \"x\",\n \"e\": \"x\",\n}", + s2.Configs.Dump()) + + // The config keys order is insignificant when comparing two FQBNs + require.True(t, s1.Match(s2)) + require.NotEqual(t, s1.String(), s2.String()) // Test configs c, err := ParseFQBN("arduino:avr:uno:cpu=atmega") @@ -90,6 +104,8 @@ func TestFQBN(t *testing.T) { // Do not allow empty keys or missing values in config _, err = ParseFQBN("arduino:avr:uno:") require.Error(t, err) + _, err = ParseFQBN("arduino:avr:uno,") + require.Error(t, err) _, err = ParseFQBN("arduino:avr:uno:cpu") require.Error(t, err) _, err = ParseFQBN("arduino:avr:uno:=atmega") From 03b09ab52a71239f6760ccb7b056b3b9f812a375 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 5 Mar 2024 09:06:33 +0100 Subject: [PATCH 117/361] [skip-changelog] Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 (#2557) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.8.4...v1.9.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 591acf3a017..4c23d0f25a0 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 github.com/spf13/viper v1.18.2 - github.com/stretchr/testify v1.8.4 + github.com/stretchr/testify v1.9.0 github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.1.1 diff --git a/go.sum b/go.sum index 9b28a354332..65736b5ac76 100644 --- a/go.sum +++ b/go.sum @@ -198,8 +198,9 @@ github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81P github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= From 0d86bf5e7592cf9c3a461819bf6d5f0028c7c359 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 5 Mar 2024 10:40:40 +0100 Subject: [PATCH 118/361] [skip-changelog] Fixed linter warning (#2558) if err != nil { ~~~~~~~~~~ Impossible error condition `nil != nil` --- internal/arduino/cores/packagemanager/profiles.go | 4 ---- 1 file changed, 4 deletions(-) diff --git a/internal/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go index 7a6710b380d..2422766e899 100644 --- a/internal/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -102,10 +102,6 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla indexesToDownload = append(indexesToDownload, platformRef.PlatformIndexURL) } for _, indexURL := range indexesToDownload { - if err != nil { - taskCB(&rpc.TaskProgress{Name: tr("Error downloading %s", indexURL)}) - return &cmderrors.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} - } indexResource := resources.IndexResource{URL: indexURL} if err := indexResource.Download(tmpPmb.IndexDir, downloadCB); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading %s", indexURL)}) From 752709af9bf1bf8f6c1e6f689b1e8b86cc4e884e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 17:27:36 +0100 Subject: [PATCH 119/361] Bump golang.org/x/term from 0.17.0 to 0.18.0 (#2560) * Bump golang.org/x/term from 0.17.0 to 0.18.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.17.0 to 0.18.0. - [Commits](https://github.com/golang/term/compare/v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * generate licenses --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessioper.98@gmail.com> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index a001b794b5a..97906ed2cfb 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.17.0 +version: v0.18.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.17.0/LICENSE +- sources: sys@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.17.0/PATENTS +- sources: sys@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index b65a9a8a66f..923a8975f27 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.17.0 +version: v0.18.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.17.0/LICENSE +- sources: sys@v0.18.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.17.0/PATENTS +- sources: sys@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index dfcf8cb326e..951476d3e17 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.17.0 +version: v0.18.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 4c23d0f25a0..90a2b1ffdbd 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/downloader/v2 v2.1.1 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.17.0 + golang.org/x/term v0.18.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 google.golang.org/grpc v1.62.0 @@ -100,7 +100,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.20.0 // indirect - golang.org/x/sys v0.17.0 // indirect + golang.org/x/sys v0.18.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 65736b5ac76..edb33e1b041 100644 --- a/go.sum +++ b/go.sum @@ -262,11 +262,11 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.17.0 h1:mkTF7LCd6WGJNL3K1Ad7kwxNfYAW6a8a8QqtMblp/4U= -golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= From 6a457136b53bb738e1c82bcc3eaef1b9246d3e91 Mon Sep 17 00:00:00 2001 From: Victor Hugo <abjurandam@gmail.com> Date: Mon, 18 Mar 2024 11:44:49 -0300 Subject: [PATCH 120/361] Add "permission denied" FAQ entry (#2564) --- docs/FAQ.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/FAQ.md b/docs/FAQ.md index c9eacaa70c5..f52e8d2b9d4 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -41,6 +41,18 @@ when using a serial port, the monitor baud rate can be set to 4800 with the foll `$ arduino-cli monitor -p <port> --config baudrate=4800` +## "Permission denied" error in sketch upload + +This problem might happen on some Linux systems, and can be solved by setting up serial port permissions. First, search +for the port your board is connected to, with the command: + +`$ arduino-cli board list` + +Then add your user to the group with the following command, replacing `<username>` with your username and `<group>` with +your group name. Logging out and in again is necessary for the changes to take effect. + +`$ sudo usermod -a -G <group> <username>` + ## Additional assistance If your question wasn't answered, feel free to ask on [Arduino CLI's forum board][1]. From 31e328822be6b017290d827a4176e1059350eacc Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 19 Mar 2024 16:39:09 +0100 Subject: [PATCH 121/361] [skip-changelog] Removed dep from 'configuration' package in DiscoveryManager (#2568) --- internal/arduino/cores/packagemanager/package_manager.go | 3 ++- internal/arduino/discovery/discovery_client/main.go | 2 +- .../arduino/discovery/discoverymanager/discoverymanager.go | 7 ++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index 667c62870ec..cea5e799d1b 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -33,6 +33,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -83,7 +84,7 @@ func NewBuilder(indexDir, packagesDir, downloadDir, tempDir *paths.Path, userAge DownloadDir: downloadDir, tempDir: tempDir, packagesCustomGlobalProperties: properties.NewMap(), - discoveryManager: discoverymanager.New(), + discoveryManager: discoverymanager.New(configuration.UserAgent(configuration.Settings)), userAgent: userAgent, } } diff --git a/internal/arduino/discovery/discovery_client/main.go b/internal/arduino/discovery/discovery_client/main.go index 98890c9b31f..b1e461d123c 100644 --- a/internal/arduino/discovery/discovery_client/main.go +++ b/internal/arduino/discovery/discovery_client/main.go @@ -32,7 +32,7 @@ func main() { os.Exit(1) } logrus.SetLevel(logrus.ErrorLevel) - dm := discoverymanager.New() + dm := discoverymanager.New("discovery_client/1.0.0") for _, discCmd := range os.Args[1:] { dm.Add(discCmd, discCmd) } diff --git a/internal/arduino/discovery/discoverymanager/discoverymanager.go b/internal/arduino/discovery/discoverymanager/discoverymanager.go index 831a332545f..2651e9b524f 100644 --- a/internal/arduino/discovery/discoverymanager/discoverymanager.go +++ b/internal/arduino/discovery/discoverymanager/discoverymanager.go @@ -21,7 +21,6 @@ import ( "sync" "time" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/sirupsen/logrus" @@ -41,17 +40,19 @@ type DiscoveryManager struct { watchersMutex sync.Mutex watchers map[*PortWatcher]bool // all registered Watcher watchersCache map[string]map[string]*discovery.Event // this is a cache of all active ports + userAgent string } var tr = i18n.Tr // New creates a new DiscoveryManager -func New() *DiscoveryManager { +func New(userAgent string) *DiscoveryManager { return &DiscoveryManager{ discoveries: map[string]*discovery.Client{}, watchers: map[*PortWatcher]bool{}, feed: make(chan *discovery.Event, 50), watchersCache: map[string]map[string]*discovery.Event{}, + userAgent: userAgent, } } @@ -121,7 +122,7 @@ func (dm *DiscoveryManager) Start() []error { func (dm *DiscoveryManager) Add(id string, args ...string) error { d := discovery.NewClient(id, args...) d.SetLogger(logrus.WithField("discovery", id)) - d.SetUserAgent(configuration.UserAgent(configuration.Settings)) + d.SetUserAgent(dm.userAgent) return dm.add(d) } From ad9936f56432e3805d00bfef0a79f7666ebf9e3d Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Wed, 20 Mar 2024 12:32:25 +0100 Subject: [PATCH 122/361] [skip-changelog] Improve `install.sh` error message when the CLI binary is not found (#2559) --- install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install.sh b/install.sh index c8203049a85..2f74a65295e 100755 --- a/install.sh +++ b/install.sh @@ -220,7 +220,7 @@ testVersion() { else # $PATH is intentionally a literal in this message. # shellcheck disable=SC2016 - echo "$PROJECT_NAME not found. You might want to add \"$EFFECTIVE_BINDIR\" to your "'$PATH' + echo "install.sh: $PROJECT_NAME not found. You might want to add \"$EFFECTIVE_BINDIR\" to your "'$PATH' fi set -e From 6faca0f7fb1bd6b95247b34c0a148db24f8505eb Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 22 Mar 2024 17:18:52 +0100 Subject: [PATCH 123/361] [breaking] gRPC `UpdateIndex` and `UpdateLibrariesIndex` improvements (#2569) * gRPC UpdateIndex and UpdateLibrariesIndex improvements The two calls now have the update_if_older_than_secs field that allows to avoid updating the index if it has been already updated. Also the response is more explicit with oneof(..) clause and the status of each update (in case of multiple index update) is returned in the response. * Do not make any output in case of skipped/already-up-to-date * Added json output to 'core update index' * Added json output to 'lib update index' * Removed unused function * Workaround for Windows paths in URI --- commands/daemon/daemon.go | 26 +- commands/instances.go | 88 +- docs/UPGRADING.md | 70 + internal/cli/core/search.go | 78 +- internal/cli/core/update_index.go | 22 +- internal/cli/feedback/result/rpc.go | 59 + internal/cli/feedback/result/rpc_test.go | 21 + internal/cli/lib/search.go | 36 +- internal/cli/lib/update_index.go | 21 +- internal/integrationtest/core/core_test.go | 4 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 1804 ++++++++++------- rpc/cc/arduino/cli/commands/v1/commands.proto | 50 +- 12 files changed, 1457 insertions(+), 822 deletions(-) diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index 07b4775bc04..a54e104e913 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -121,18 +121,36 @@ func (s *ArduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyReq // UpdateIndex FIXMEDOC func (s *ArduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream rpc.ArduinoCoreService_UpdateIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := commands.UpdateIndex(stream.Context(), req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.UpdateIndexResponse{DownloadProgress: p}) }, + res, err := commands.UpdateIndex(stream.Context(), req, + func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.UpdateIndexResponse{ + Message: &rpc.UpdateIndexResponse_DownloadProgress{DownloadProgress: p}, + }) + }, ) + if res != nil { + syncSend.Send(&rpc.UpdateIndexResponse{ + Message: &rpc.UpdateIndexResponse_Result_{Result: res}, + }) + } return convertErrorToRPCStatus(err) } // UpdateLibrariesIndex FIXMEDOC func (s *ArduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateLibrariesIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := commands.UpdateLibrariesIndex(stream.Context(), req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.UpdateLibrariesIndexResponse{DownloadProgress: p}) }, + res, err := commands.UpdateLibrariesIndex(stream.Context(), req, + func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.UpdateLibrariesIndexResponse{ + Message: &rpc.UpdateLibrariesIndexResponse_DownloadProgress{DownloadProgress: p}, + }) + }, ) + if res != nil { + syncSend.Send(&rpc.UpdateLibrariesIndexResponse{ + Message: &rpc.UpdateLibrariesIndexResponse_Result_{Result: res}, + }) + } return convertErrorToRPCStatus(err) } diff --git a/commands/instances.go b/commands/instances.go index 88cea4b1c94..6c2b3e6a931 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -20,7 +20,9 @@ import ( "fmt" "net/url" "path/filepath" + "runtime" "strings" + "time" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" @@ -406,30 +408,59 @@ func Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse } // UpdateLibrariesIndex updates the library_index.json -func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequest, downloadCB rpc.DownloadProgressCB) error { +func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequest, downloadCB rpc.DownloadProgressCB) (*rpc.UpdateLibrariesIndexResponse_Result, error) { logrus.Info("Updating libraries index") + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return err + return nil, err } indexDir := pme.IndexDir release() + index := globals.LibrariesIndexResource + result := func(status rpc.IndexUpdateReport_Status) *rpc.UpdateLibrariesIndexResponse_Result { + return &rpc.UpdateLibrariesIndexResponse_Result{ + LibrariesIndex: &rpc.IndexUpdateReport{ + IndexUrl: globals.LibrariesIndexResource.URL.String(), + Status: status, + }, + } + } + + // Create the index directory if it doesn't exist if err := indexDir.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} + return result(rpc.IndexUpdateReport_STATUS_FAILED), &cmderrors.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} + } + + // Check if the index file is already up-to-date + indexFileName, _ := index.IndexFileName() + if info, err := indexDir.Join(indexFileName).Stat(); err == nil { + ageSecs := int64(time.Since(info.ModTime()).Seconds()) + if ageSecs < req.GetUpdateIfOlderThanSecs() { + return result(rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE), nil + } } + // Perform index update if err := globals.LibrariesIndexResource.Download(indexDir, downloadCB); err != nil { - return err + return nil, err } - return nil + return result(rpc.IndexUpdateReport_STATUS_UPDATED), nil } // UpdateIndex FIXMEDOC -func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rpc.DownloadProgressCB) error { +func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rpc.DownloadProgressCB) (*rpc.UpdateIndexResponse_Result, error) { if !instances.IsValid(req.GetInstance()) { - return &cmderrors.InvalidInstanceError{} + return nil, &cmderrors.InvalidInstanceError{} + } + + report := func(indexURL *url.URL, status rpc.IndexUpdateReport_Status) *rpc.IndexUpdateReport { + return &rpc.IndexUpdateReport{ + IndexUrl: indexURL.String(), + Status: status, + } } indexpath := configuration.DataDir(configuration.Settings) @@ -440,46 +471,75 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp } failed := false + result := &rpc.UpdateIndexResponse_Result{} for _, u := range urls { - URL, err := utils.URLParse(u) + URL, err := url.Parse(u) if err != nil { logrus.Warnf("unable to parse additional URL: %s", u) msg := fmt.Sprintf("%s: %v", tr("Unable to parse URL"), err) downloadCB.Start(u, tr("Downloading index: %s", u)) downloadCB.End(false, msg) failed = true + result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) continue } logrus.WithField("url", URL).Print("Updating index") if URL.Scheme == "file" { - downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) path := paths.New(URL.Path) + if URL.Scheme == "file" && runtime.GOOS == "windows" && len(URL.Path) > 1 { + // https://github.com/golang/go/issues/32456 + // Parsed local file URLs on Windows are returned with a leading / so we remove it + path = paths.New(URL.Path[1:]) + } if _, err := packageindex.LoadIndexNoSign(path); err != nil { msg := fmt.Sprintf("%s: %v", tr("Invalid package index in %s", path), err) + downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, msg) failed = true + result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) } else { - downloadCB.End(true, "") + result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_SKIPPED)) } continue } + // Check if the index is up-to-date indexResource := resources.IndexResource{URL: URL} + indexFileName, err := indexResource.IndexFileName() + if err != nil { + downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) + downloadCB.End(false, tr("Invalid index URL: %s", err)) + failed = true + result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + continue + } + indexFile := indexpath.Join(indexFileName) + if info, err := indexFile.Stat(); err == nil { + ageSecs := int64(time.Since(info.ModTime()).Seconds()) + if ageSecs < req.GetUpdateIfOlderThanSecs() { + result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE)) + continue + } + } + if strings.HasSuffix(URL.Host, "arduino.cc") && strings.HasSuffix(URL.Path, ".json") { indexResource.SignatureURL, _ = url.Parse(u) // should not fail because we already parsed it indexResource.SignatureURL.Path += ".sig" } if err := indexResource.Download(indexpath, downloadCB); err != nil { failed = true + result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + } else { + result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_UPDATED)) } } if failed { - return &cmderrors.FailedDownloadError{Message: tr("Some indexes could not be updated.")} + return result, &cmderrors.FailedDownloadError{Message: tr("Some indexes could not be updated.")} } - return nil + return result, nil } // firstUpdate downloads libraries and packages indexes if they don't exist. @@ -493,7 +553,7 @@ func firstUpdate(ctx context.Context, instance *rpc.Instance, downloadCb func(ms // The library_index.json file doesn't exists, that means the CLI is run for the first time // so we proceed with the first update that downloads the file req := &rpc.UpdateLibrariesIndexRequest{Instance: instance} - if err := UpdateLibrariesIndex(ctx, req, downloadCb); err != nil { + if _, err := UpdateLibrariesIndex(ctx, req, downloadCb); err != nil { return err } } @@ -515,7 +575,7 @@ func firstUpdate(ctx context.Context, instance *rpc.Instance, downloadCb func(ms // library update we download that file and all the other package indexes from // additional_urls req := &rpc.UpdateIndexRequest{Instance: instance} - if err := UpdateIndex(ctx, req, downloadCb); err != nil { + if _, err := UpdateIndex(ctx, req, downloadCb); err != nil { return err } break diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 044eec31c59..692a52f9989 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,76 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### The gRPC `cc.arduino.cli.commands.v1.UpdateIndexResponse` and `UpdateLibrariesIndexResponse` have changed. + +The responses coming from the update index commands: + +```proto +message UpdateIndexResponse { + // Progress of the package index download. + DownloadProgress download_progress = 1; +} + +message UpdateLibrariesIndexResponse { + // Progress of the libraries index download. + DownloadProgress download_progress = 1; +} +``` + +are now more explicit and contains details about the result of the operation: + +```proto +message UpdateIndexResponse { + message Result { + // The result of the packages index update. + repeated IndexUpdateReport updated_indexes = 1; + } + oneof message { + // Progress of the package index download. + DownloadProgress download_progress = 1; + // The result of the index update. + Result result = 2; + } +} + +message UpdateLibrariesIndexResponse { + message Result { + // The result of the libraries index update. + IndexUpdateReport libraries_index = 1; + } + oneof message { + // Progress of the libraries index download. + DownloadProgress download_progress = 1; + // The result of the index update. + Result result = 2; + } +} +``` + +The `IndexUpdateReport` message contains details for each index update operation performed: + +```proto +message IndexUpdateReport { + enum Status { + // The status of the index update is unspecified. + STATUS_UNSPECIFIED = 0; + // The index has been successfully updated. + STATUS_UPDATED = 1; + // The index was already up to date. + STATUS_ALREADY_UP_TO_DATE = 2; + // The index update failed. + STATUS_FAILED = 3; + // The index update was skipped. + STATUS_SKIPPED = 4; + } + + // The URL of the index that was updated. + string index_url = 1; + // The result of the index update. + Status status = 2; +} +``` + ### The gRPC `cc.arduino.cli.commands.v1.Profile` message has been removed in favor of `SketchProfile` The message `Profile` has been replaced with `SketchProfile` in the `InitResponse.profile` field: diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index b84b855b8ad..d24e486ade7 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -19,15 +19,11 @@ import ( "context" "fmt" "os" - "path" "strings" "time" "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/core" - "github.com/arduino/arduino-cli/internal/arduino/globals" - "github.com/arduino/arduino-cli/internal/arduino/utils" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -55,17 +51,24 @@ func initSearchCommand() *cobra.Command { } // indexUpdateInterval specifies the time threshold over which indexes are updated -const indexUpdateInterval = "24h" +const indexUpdateInterval = 24 * time.Hour func runSearchCommand(cmd *cobra.Command, args []string, allVersions bool) { inst := instance.CreateAndInit() - if indexesNeedUpdating(indexUpdateInterval) { - err := commands.UpdateIndex(context.Background(), &rpc.UpdateIndexRequest{Instance: inst}, feedback.ProgressBar()) - if err != nil { - feedback.FatalError(err, feedback.ErrGeneric) + res, err := commands.UpdateIndex( + context.Background(), + &rpc.UpdateIndexRequest{Instance: inst, UpdateIfOlderThanSecs: int64(indexUpdateInterval.Seconds())}, + feedback.ProgressBar()) + if err != nil { + feedback.FatalError(err, feedback.ErrGeneric) + } + for _, idxRes := range res.GetUpdatedIndexes() { + if idxRes.GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { + // At least one index has been updated, reinitialize the instance + instance.Init(inst) + break } - instance.Init(inst) } arguments := strings.ToLower(strings.Join(args, " ")) @@ -134,58 +137,3 @@ func (sr searchResults) String() string { } return t.Render() } - -// indexesNeedUpdating returns whether one or more index files need updating. -// A duration string must be provided to calculate the time threshold -// used to update the indexes, if the duration is not valid a default -// of 24 hours is used. -// Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". -func indexesNeedUpdating(duration string) bool { - indexpath := configuration.DataDir(configuration.Settings) - - now := time.Now() - modTimeThreshold, err := time.ParseDuration(duration) - if err != nil { - feedback.Fatal(tr("Invalid timeout: %s", err), feedback.ErrBadArgument) - } - - urls := []string{globals.DefaultIndexURL} - urls = append(urls, configuration.Settings.GetStringSlice("board_manager.additional_urls")...) - for _, u := range urls { - URL, err := utils.URLParse(u) - if err != nil { - continue - } - - if URL.Scheme == "file" { - // No need to update local files - continue - } - - // should handle: - // - package_index.json - // - package_index.json.sig - // - package_index.json.gz - // - package_index.tar.bz2 - indexFileName := path.Base(URL.Path) - indexFileName = strings.TrimSuffix(indexFileName, ".tar.bz2") - indexFileName = strings.TrimSuffix(indexFileName, ".gz") - indexFileName = strings.TrimSuffix(indexFileName, ".sig") - indexFileName = strings.TrimSuffix(indexFileName, ".json") - // and obtain package_index.json as result - coreIndexPath := indexpath.Join(indexFileName + ".json") - if coreIndexPath.NotExist() { - return true - } - - info, err := coreIndexPath.Stat() - if err != nil { - return true - } - - if now.After(info.ModTime().Add(modTimeThreshold)) { - return true - } - } - return false -} diff --git a/internal/cli/core/update_index.go b/internal/cli/core/update_index.go index 548ff9113da..37bd8898a1d 100644 --- a/internal/cli/core/update_index.go +++ b/internal/cli/core/update_index.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -42,13 +43,28 @@ func initUpdateIndexCommand() *cobra.Command { func runUpdateIndexCommand(cmd *cobra.Command, args []string) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli core update-index`") - UpdateIndex(inst) + resp := UpdateIndex(inst) + + feedback.PrintResult(&updateIndexResult{result.NewUpdateIndexResponse_ResultResult(resp)}) } // UpdateIndex updates the index of platforms. -func UpdateIndex(inst *rpc.Instance) { - err := commands.UpdateIndex(context.Background(), &rpc.UpdateIndexRequest{Instance: inst}, feedback.ProgressBar()) +func UpdateIndex(inst *rpc.Instance) *rpc.UpdateIndexResponse_Result { + res, err := commands.UpdateIndex(context.Background(), &rpc.UpdateIndexRequest{Instance: inst}, feedback.ProgressBar()) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } + return res +} + +type updateIndexResult struct { + *result.UpdateIndexResponse_ResultResult +} + +func (r *updateIndexResult) Data() interface{} { + return r +} + +func (r *updateIndexResult) String() string { + return "" } diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index c03ad699852..e03c8166d48 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -1065,3 +1065,62 @@ func NewIsDebugSupportedResponse(resp *rpc.IsDebugSupportedResponse) *IsDebugSup DebugFQBN: resp.GetDebugFqbn(), } } + +type UpdateIndexResponse_ResultResult struct { + UpdatedIndexes []*IndexUpdateReportResult `json:"updated_indexes,omitempty"` +} + +func NewUpdateIndexResponse_ResultResult(resp *rpc.UpdateIndexResponse_Result) *UpdateIndexResponse_ResultResult { + return &UpdateIndexResponse_ResultResult{ + UpdatedIndexes: f.Map(resp.GetUpdatedIndexes(), NewIndexUpdateReportResult), + } +} + +type UpdateLibrariesIndexResponse_ResultResult struct { + LibrariesIndex *IndexUpdateReportResult `json:"libraries_index"` +} + +func NewUpdateLibrariesIndexResponse_ResultResult(resp *rpc.UpdateLibrariesIndexResponse_Result) *UpdateLibrariesIndexResponse_ResultResult { + return &UpdateLibrariesIndexResponse_ResultResult{ + LibrariesIndex: NewIndexUpdateReportResult(resp.GetLibrariesIndex()), + } +} + +type IndexUpdateReportResult struct { + IndexURL string `json:"index_url"` + Status IndexUpdateReport_Status `json:"status"` +} + +func NewIndexUpdateReportResult(resp *rpc.IndexUpdateReport) *IndexUpdateReportResult { + return &IndexUpdateReportResult{ + IndexURL: resp.GetIndexUrl(), + Status: NewIndexUpdateReport_Status(resp.GetStatus()), + } +} + +type IndexUpdateReport_Status string + +const ( + IndexUpdateReport_StatusUnspecified IndexUpdateReport_Status = "unspecified" + IndexUpdateReport_StatusAlreadyUpToDate IndexUpdateReport_Status = "already-up-to-date" + IndexUpdateReport_StatusFailed IndexUpdateReport_Status = "failed" + IndexUpdateReport_StatusSkipped IndexUpdateReport_Status = "skipped" + IndexUpdateReport_StatusUpdated IndexUpdateReport_Status = "updated" +) + +func NewIndexUpdateReport_Status(r rpc.IndexUpdateReport_Status) IndexUpdateReport_Status { + switch r { + case rpc.IndexUpdateReport_STATUS_UNSPECIFIED: + return IndexUpdateReport_StatusUnspecified + case rpc.IndexUpdateReport_STATUS_UPDATED: + return IndexUpdateReport_StatusUpdated + case rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE: + return IndexUpdateReport_StatusAlreadyUpToDate + case rpc.IndexUpdateReport_STATUS_FAILED: + return IndexUpdateReport_StatusFailed + case rpc.IndexUpdateReport_STATUS_SKIPPED: + return IndexUpdateReport_StatusSkipped + default: + return IndexUpdateReport_StatusUnspecified + } +} diff --git a/internal/cli/feedback/result/rpc_test.go b/internal/cli/feedback/result/rpc_test.go index 3c7e9cff670..f0158912c7f 100644 --- a/internal/cli/feedback/result/rpc_test.go +++ b/internal/cli/feedback/result/rpc_test.go @@ -221,6 +221,18 @@ func TestAllFieldAreMapped(t *testing.T) { isDebugSupportedResponseRpc := &rpc.IsDebugSupportedResponse{} isDebugSupportedResponseResult := result.NewIsDebugSupportedResponse(isDebugSupportedResponseRpc) mustContainsAllPropertyOfRpcStruct(t, isDebugSupportedResponseRpc, isDebugSupportedResponseResult) + + updateIndexResponse_ResultRpc := &rpc.UpdateIndexResponse_Result{} + updateIndexResponse_ResultResult := result.NewUpdateIndexResponse_ResultResult(updateIndexResponse_ResultRpc) + mustContainsAllPropertyOfRpcStruct(t, updateIndexResponse_ResultRpc, updateIndexResponse_ResultResult) + + updateLibrariesIndexResponse_ResultRpc := &rpc.UpdateLibrariesIndexResponse_Result{} + updateLibrariesIndexResponse_ResultResult := result.NewUpdateLibrariesIndexResponse_ResultResult(updateLibrariesIndexResponse_ResultRpc) + mustContainsAllPropertyOfRpcStruct(t, updateLibrariesIndexResponse_ResultRpc, updateLibrariesIndexResponse_ResultResult) + + indexUpdateReportRpc := &rpc.IndexUpdateReport{} + indexUpdateReportResult := result.NewIndexUpdateReportResult(indexUpdateReportRpc) + mustContainsAllPropertyOfRpcStruct(t, indexUpdateReportRpc, indexUpdateReportResult) } func TestEnumsMapsEveryRpcCounterpart(t *testing.T) { @@ -251,6 +263,15 @@ func TestEnumsMapsEveryRpcCounterpart(t *testing.T) { require.Len(t, results, len(rpc.LibrarySearchStatus_name)) require.True(t, isUnique(results)) }) + t.Run("IndexUpdateReport_Status enums maps every element", func(t *testing.T) { + results := make([]result.IndexUpdateReport_Status, 0, len(rpc.IndexUpdateReport_Status_name)) + for key := range rpc.IndexUpdateReport_Status_name { + results = append(results, result.NewIndexUpdateReport_Status(rpc.IndexUpdateReport_Status(key))) + } + require.NotEmpty(t, results) + require.Len(t, results, len(rpc.IndexUpdateReport_Status_name)) + require.True(t, isUnique(results)) + }) } func isUnique[T comparable](s []T) bool { diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index d0f0e329081..913344f582d 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -24,12 +24,10 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/lib" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -109,14 +107,15 @@ func runSearchCommand(args []string, namesOnly bool, omitReleasesDetails bool) { logrus.Info("Executing `arduino-cli lib search`") - if indexNeedsUpdating(indexUpdateInterval) { - if err := commands.UpdateLibrariesIndex( - context.Background(), - &rpc.UpdateLibrariesIndexRequest{Instance: inst}, - feedback.ProgressBar(), - ); err != nil { - feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) - } + res, err := commands.UpdateLibrariesIndex( + context.Background(), + &rpc.UpdateLibrariesIndexRequest{Instance: inst, UpdateIfOlderThanSecs: int64(indexUpdateInterval.Seconds())}, + feedback.ProgressBar(), + ) + if err != nil { + feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) + } + if res.GetLibrariesIndex().GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { instance.Init(inst) } @@ -221,20 +220,3 @@ func (res librarySearchResult) String() string { return out.String() } - -// indexNeedsUpdating returns whether library_index.json needs updating -func indexNeedsUpdating(timeout time.Duration) bool { - // Library index path is constant (relative to the data directory). - // It does not depend on board manager URLs or any other configuration. - dataDir := configuration.Settings.GetString("directories.Data") - indexPath := paths.New(dataDir).Join("library_index.json") - // Verify the index file exists and we can read its fstat attrs. - if indexPath.NotExist() { - return true - } - info, err := indexPath.Stat() - if err != nil { - return true - } - return time.Since(info.ModTime()) > timeout -} diff --git a/internal/cli/lib/update_index.go b/internal/cli/lib/update_index.go index 9c989254bea..462ba003240 100644 --- a/internal/cli/lib/update_index.go +++ b/internal/cli/lib/update_index.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -42,15 +43,29 @@ func initUpdateIndexCommand() *cobra.Command { func runUpdateIndexCommand(cmd *cobra.Command, args []string) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli lib update-index`") - UpdateIndex(inst) + resp := UpdateIndex(inst) + feedback.PrintResult(&libUpdateIndexResult{result.NewUpdateLibrariesIndexResponse_ResultResult(resp)}) } // UpdateIndex updates the index of libraries. -func UpdateIndex(inst *rpc.Instance) { - err := commands.UpdateLibrariesIndex(context.Background(), &rpc.UpdateLibrariesIndexRequest{ +func UpdateIndex(inst *rpc.Instance) *rpc.UpdateLibrariesIndexResponse_Result { + resp, err := commands.UpdateLibrariesIndex(context.Background(), &rpc.UpdateLibrariesIndexRequest{ Instance: inst, }, feedback.ProgressBar()) if err != nil { feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) } + return resp +} + +type libUpdateIndexResult struct { + *result.UpdateLibrariesIndexResponse_ResultResult +} + +func (l *libUpdateIndexResult) String() string { + return "" +} + +func (l *libUpdateIndexResult) Data() interface{} { + return l } diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index da740e54bea..1df21f22b79 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -445,9 +445,9 @@ func TestCoreUpdateWithLocalUrl(t *testing.T) { testIndex = "/" + strings.ReplaceAll(testIndex, "\\", "/") } - stdout, _, err := cli.Run("core", "update-index", "--additional-urls=file://"+testIndex) + stdout, _, err := cli.Run("core", "update-index", "--additional-urls=file://"+testIndex, "--format", "json") require.NoError(t, err) - require.Contains(t, string(stdout), "Downloading index: test_index.json downloaded") + requirejson.Parse(t, stdout).MustContain(`{"updated_indexes":[{"index_url":"file://` + testIndex + `","status":"skipped"}]}`) } func TestCoreSearchManuallyInstalledCoresNotPrinted(t *testing.T) { diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 91784947101..ebc50b4f000 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -99,6 +99,66 @@ func (FailedInstanceInitReason) EnumDescriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{0} } +type IndexUpdateReport_Status int32 + +const ( + // The status of the index update is unspecified. + IndexUpdateReport_STATUS_UNSPECIFIED IndexUpdateReport_Status = 0 + // The index has been successfully updated. + IndexUpdateReport_STATUS_UPDATED IndexUpdateReport_Status = 1 + // The index was already up to date. + IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE IndexUpdateReport_Status = 2 + // The index update failed. + IndexUpdateReport_STATUS_FAILED IndexUpdateReport_Status = 3 + // The index update was skipped. + IndexUpdateReport_STATUS_SKIPPED IndexUpdateReport_Status = 4 +) + +// Enum value maps for IndexUpdateReport_Status. +var ( + IndexUpdateReport_Status_name = map[int32]string{ + 0: "STATUS_UNSPECIFIED", + 1: "STATUS_UPDATED", + 2: "STATUS_ALREADY_UP_TO_DATE", + 3: "STATUS_FAILED", + 4: "STATUS_SKIPPED", + } + IndexUpdateReport_Status_value = map[string]int32{ + "STATUS_UNSPECIFIED": 0, + "STATUS_UPDATED": 1, + "STATUS_ALREADY_UP_TO_DATE": 2, + "STATUS_FAILED": 3, + "STATUS_SKIPPED": 4, + } +) + +func (x IndexUpdateReport_Status) Enum() *IndexUpdateReport_Status { + p := new(IndexUpdateReport_Status) + *p = x + return p +} + +func (x IndexUpdateReport_Status) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IndexUpdateReport_Status) Descriptor() protoreflect.EnumDescriptor { + return file_cc_arduino_cli_commands_v1_commands_proto_enumTypes[1].Descriptor() +} + +func (IndexUpdateReport_Status) Type() protoreflect.EnumType { + return &file_cc_arduino_cli_commands_v1_commands_proto_enumTypes[1] +} + +func (x IndexUpdateReport_Status) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IndexUpdateReport_Status.Descriptor instead. +func (IndexUpdateReport_Status) EnumDescriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{11, 0} +} + type CreateRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -499,6 +559,9 @@ type UpdateIndexRequest struct { Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // If set to true user defined package indexes will not be updated. IgnoreCustomPackageIndexes bool `protobuf:"varint,2,opt,name=ignore_custom_package_indexes,json=ignoreCustomPackageIndexes,proto3" json:"ignore_custom_package_indexes,omitempty"` + // Only perform index update if the index file is older than this value in + // seconds. + UpdateIfOlderThanSecs int64 `protobuf:"varint,3,opt,name=update_if_older_than_secs,json=updateIfOlderThanSecs,proto3" json:"update_if_older_than_secs,omitempty"` } func (x *UpdateIndexRequest) Reset() { @@ -547,13 +610,23 @@ func (x *UpdateIndexRequest) GetIgnoreCustomPackageIndexes() bool { return false } +func (x *UpdateIndexRequest) GetUpdateIfOlderThanSecs() int64 { + if x != nil { + return x.UpdateIfOlderThanSecs + } + return 0 +} + type UpdateIndexResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the package index download. - DownloadProgress *DownloadProgress `protobuf:"bytes,1,opt,name=download_progress,json=downloadProgress,proto3" json:"download_progress,omitempty"` + // Types that are assignable to Message: + // + // *UpdateIndexResponse_DownloadProgress + // *UpdateIndexResponse_Result_ + Message isUpdateIndexResponse_Message `protobuf_oneof:"message"` } func (x *UpdateIndexResponse) Reset() { @@ -588,13 +661,45 @@ func (*UpdateIndexResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{8} } +func (m *UpdateIndexResponse) GetMessage() isUpdateIndexResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *UpdateIndexResponse) GetDownloadProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*UpdateIndexResponse_DownloadProgress); ok { return x.DownloadProgress } return nil } +func (x *UpdateIndexResponse) GetResult() *UpdateIndexResponse_Result { + if x, ok := x.GetMessage().(*UpdateIndexResponse_Result_); ok { + return x.Result + } + return nil +} + +type isUpdateIndexResponse_Message interface { + isUpdateIndexResponse_Message() +} + +type UpdateIndexResponse_DownloadProgress struct { + // Progress of the package index download. + DownloadProgress *DownloadProgress `protobuf:"bytes,1,opt,name=download_progress,json=downloadProgress,proto3,oneof"` +} + +type UpdateIndexResponse_Result_ struct { + // The result of the index update. + Result *UpdateIndexResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*UpdateIndexResponse_DownloadProgress) isUpdateIndexResponse_Message() {} + +func (*UpdateIndexResponse_Result_) isUpdateIndexResponse_Message() {} + type UpdateLibrariesIndexRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -602,6 +707,9 @@ type UpdateLibrariesIndexRequest struct { // Arduino Core Service instance from the Init response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // Only perform index update if the index file is older than this value in + // seconds. + UpdateIfOlderThanSecs int64 `protobuf:"varint,2,opt,name=update_if_older_than_secs,json=updateIfOlderThanSecs,proto3" json:"update_if_older_than_secs,omitempty"` } func (x *UpdateLibrariesIndexRequest) Reset() { @@ -643,13 +751,23 @@ func (x *UpdateLibrariesIndexRequest) GetInstance() *Instance { return nil } +func (x *UpdateLibrariesIndexRequest) GetUpdateIfOlderThanSecs() int64 { + if x != nil { + return x.UpdateIfOlderThanSecs + } + return 0 +} + type UpdateLibrariesIndexResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the libraries index download. - DownloadProgress *DownloadProgress `protobuf:"bytes,1,opt,name=download_progress,json=downloadProgress,proto3" json:"download_progress,omitempty"` + // Types that are assignable to Message: + // + // *UpdateLibrariesIndexResponse_DownloadProgress + // *UpdateLibrariesIndexResponse_Result_ + Message isUpdateLibrariesIndexResponse_Message `protobuf_oneof:"message"` } func (x *UpdateLibrariesIndexResponse) Reset() { @@ -684,13 +802,102 @@ func (*UpdateLibrariesIndexResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{10} } +func (m *UpdateLibrariesIndexResponse) GetMessage() isUpdateLibrariesIndexResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *UpdateLibrariesIndexResponse) GetDownloadProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*UpdateLibrariesIndexResponse_DownloadProgress); ok { return x.DownloadProgress } return nil } +func (x *UpdateLibrariesIndexResponse) GetResult() *UpdateLibrariesIndexResponse_Result { + if x, ok := x.GetMessage().(*UpdateLibrariesIndexResponse_Result_); ok { + return x.Result + } + return nil +} + +type isUpdateLibrariesIndexResponse_Message interface { + isUpdateLibrariesIndexResponse_Message() +} + +type UpdateLibrariesIndexResponse_DownloadProgress struct { + // Progress of the libraries index download. + DownloadProgress *DownloadProgress `protobuf:"bytes,1,opt,name=download_progress,json=downloadProgress,proto3,oneof"` +} + +type UpdateLibrariesIndexResponse_Result_ struct { + // The result of the index update. + Result *UpdateLibrariesIndexResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*UpdateLibrariesIndexResponse_DownloadProgress) isUpdateLibrariesIndexResponse_Message() {} + +func (*UpdateLibrariesIndexResponse_Result_) isUpdateLibrariesIndexResponse_Message() {} + +type IndexUpdateReport struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The URL of the index that was updated. + IndexUrl string `protobuf:"bytes,1,opt,name=index_url,json=indexUrl,proto3" json:"index_url,omitempty"` + // The result of the index update. + Status IndexUpdateReport_Status `protobuf:"varint,2,opt,name=status,proto3,enum=cc.arduino.cli.commands.v1.IndexUpdateReport_Status" json:"status,omitempty"` +} + +func (x *IndexUpdateReport) Reset() { + *x = IndexUpdateReport{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndexUpdateReport) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndexUpdateReport) ProtoMessage() {} + +func (x *IndexUpdateReport) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IndexUpdateReport.ProtoReflect.Descriptor instead. +func (*IndexUpdateReport) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{11} +} + +func (x *IndexUpdateReport) GetIndexUrl() string { + if x != nil { + return x.IndexUrl + } + return "" +} + +func (x *IndexUpdateReport) GetStatus() IndexUpdateReport_Status { + if x != nil { + return x.Status + } + return IndexUpdateReport_STATUS_UNSPECIFIED +} + type VersionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -700,7 +907,7 @@ type VersionRequest struct { func (x *VersionRequest) Reset() { *x = VersionRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -713,7 +920,7 @@ func (x *VersionRequest) String() string { func (*VersionRequest) ProtoMessage() {} func (x *VersionRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -726,7 +933,7 @@ func (x *VersionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionRequest.ProtoReflect.Descriptor instead. func (*VersionRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{11} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{12} } type VersionResponse struct { @@ -741,7 +948,7 @@ type VersionResponse struct { func (x *VersionResponse) Reset() { *x = VersionResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -754,7 +961,7 @@ func (x *VersionResponse) String() string { func (*VersionResponse) ProtoMessage() {} func (x *VersionResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -767,7 +974,7 @@ func (x *VersionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. func (*VersionResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{12} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{13} } func (x *VersionResponse) GetVersion() string { @@ -796,7 +1003,7 @@ type NewSketchRequest struct { func (x *NewSketchRequest) Reset() { *x = NewSketchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -809,7 +1016,7 @@ func (x *NewSketchRequest) String() string { func (*NewSketchRequest) ProtoMessage() {} func (x *NewSketchRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -822,7 +1029,7 @@ func (x *NewSketchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use NewSketchRequest.ProtoReflect.Descriptor instead. func (*NewSketchRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{13} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{14} } func (x *NewSketchRequest) GetSketchName() string { @@ -858,7 +1065,7 @@ type NewSketchResponse struct { func (x *NewSketchResponse) Reset() { *x = NewSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -871,7 +1078,7 @@ func (x *NewSketchResponse) String() string { func (*NewSketchResponse) ProtoMessage() {} func (x *NewSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -884,7 +1091,7 @@ func (x *NewSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use NewSketchResponse.ProtoReflect.Descriptor instead. func (*NewSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{14} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{15} } func (x *NewSketchResponse) GetMainFile() string { @@ -906,7 +1113,7 @@ type LoadSketchRequest struct { func (x *LoadSketchRequest) Reset() { *x = LoadSketchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -919,7 +1126,7 @@ func (x *LoadSketchRequest) String() string { func (*LoadSketchRequest) ProtoMessage() {} func (x *LoadSketchRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -932,7 +1139,7 @@ func (x *LoadSketchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSketchRequest.ProtoReflect.Descriptor instead. func (*LoadSketchRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{15} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{16} } func (x *LoadSketchRequest) GetSketchPath() string { @@ -954,7 +1161,7 @@ type LoadSketchResponse struct { func (x *LoadSketchResponse) Reset() { *x = LoadSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -967,7 +1174,7 @@ func (x *LoadSketchResponse) String() string { func (*LoadSketchResponse) ProtoMessage() {} func (x *LoadSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -980,7 +1187,7 @@ func (x *LoadSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LoadSketchResponse.ProtoReflect.Descriptor instead. func (*LoadSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{16} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{17} } func (x *LoadSketchResponse) GetSketch() *Sketch { @@ -1009,7 +1216,7 @@ type ArchiveSketchRequest struct { func (x *ArchiveSketchRequest) Reset() { *x = ArchiveSketchRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1022,7 +1229,7 @@ func (x *ArchiveSketchRequest) String() string { func (*ArchiveSketchRequest) ProtoMessage() {} func (x *ArchiveSketchRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1035,7 +1242,7 @@ func (x *ArchiveSketchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveSketchRequest.ProtoReflect.Descriptor instead. func (*ArchiveSketchRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{17} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{18} } func (x *ArchiveSketchRequest) GetSketchPath() string { @@ -1075,7 +1282,7 @@ type ArchiveSketchResponse struct { func (x *ArchiveSketchResponse) Reset() { *x = ArchiveSketchResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1088,7 +1295,7 @@ func (x *ArchiveSketchResponse) String() string { func (*ArchiveSketchResponse) ProtoMessage() {} func (x *ArchiveSketchResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1101,7 +1308,7 @@ func (x *ArchiveSketchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveSketchResponse.ProtoReflect.Descriptor instead. func (*ArchiveSketchResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{18} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{19} } type SetSketchDefaultsRequest struct { @@ -1124,7 +1331,7 @@ type SetSketchDefaultsRequest struct { func (x *SetSketchDefaultsRequest) Reset() { *x = SetSketchDefaultsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1137,7 +1344,7 @@ func (x *SetSketchDefaultsRequest) String() string { func (*SetSketchDefaultsRequest) ProtoMessage() {} func (x *SetSketchDefaultsRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1150,7 +1357,7 @@ func (x *SetSketchDefaultsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetSketchDefaultsRequest.ProtoReflect.Descriptor instead. func (*SetSketchDefaultsRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{19} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{20} } func (x *SetSketchDefaultsRequest) GetSketchPath() string { @@ -1210,7 +1417,7 @@ type SetSketchDefaultsResponse struct { func (x *SetSketchDefaultsResponse) Reset() { *x = SetSketchDefaultsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1223,7 +1430,7 @@ func (x *SetSketchDefaultsResponse) String() string { func (*SetSketchDefaultsResponse) ProtoMessage() {} func (x *SetSketchDefaultsResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1236,7 +1443,7 @@ func (x *SetSketchDefaultsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetSketchDefaultsResponse.ProtoReflect.Descriptor instead. func (*SetSketchDefaultsResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{20} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{21} } func (x *SetSketchDefaultsResponse) GetDefaultFqbn() string { @@ -1281,7 +1488,7 @@ type InitResponse_Progress struct { func (x *InitResponse_Progress) Reset() { *x = InitResponse_Progress{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1294,7 +1501,7 @@ func (x *InitResponse_Progress) String() string { func (*InitResponse_Progress) ProtoMessage() {} func (x *InitResponse_Progress) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1324,6 +1531,102 @@ func (x *InitResponse_Progress) GetTaskProgress() *TaskProgress { return nil } +type UpdateIndexResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The result of the packages index update. + UpdatedIndexes []*IndexUpdateReport `protobuf:"bytes,1,rep,name=updated_indexes,json=updatedIndexes,proto3" json:"updated_indexes,omitempty"` +} + +func (x *UpdateIndexResponse_Result) Reset() { + *x = UpdateIndexResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateIndexResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateIndexResponse_Result) ProtoMessage() {} + +func (x *UpdateIndexResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateIndexResponse_Result.ProtoReflect.Descriptor instead. +func (*UpdateIndexResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{8, 0} +} + +func (x *UpdateIndexResponse_Result) GetUpdatedIndexes() []*IndexUpdateReport { + if x != nil { + return x.UpdatedIndexes + } + return nil +} + +type UpdateLibrariesIndexResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The result of the libraries index update. + LibrariesIndex *IndexUpdateReport `protobuf:"bytes,1,opt,name=libraries_index,json=librariesIndex,proto3" json:"libraries_index,omitempty"` +} + +func (x *UpdateLibrariesIndexResponse_Result) Reset() { + *x = UpdateLibrariesIndexResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *UpdateLibrariesIndexResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateLibrariesIndexResponse_Result) ProtoMessage() {} + +func (x *UpdateLibrariesIndexResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateLibrariesIndexResponse_Result.ProtoReflect.Descriptor instead. +func (*UpdateLibrariesIndexResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *UpdateLibrariesIndexResponse_Result) GetLibrariesIndex() *IndexUpdateReport { + if x != nil { + return x.LibrariesIndex + } + return nil +} + var File_cc_arduino_cli_commands_v1_commands_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ @@ -1411,7 +1714,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x11, 0x0a, 0x0f, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x12, + 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd3, 0x01, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, @@ -1421,476 +1724,524 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x22, 0x70, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, - 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5f, 0x0a, 0x1b, 0x55, 0x70, 0x64, + 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x5f, + 0x73, 0x65, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x49, 0x66, 0x4f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x68, 0x61, 0x6e, 0x53, 0x65, 0x63, + 0x73, 0x22, 0xb1, 0x02, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x48, 0x00, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, + 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x60, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x64, 0x65, 0x78, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x01, 0x0a, 0x1b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x38, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x69, 0x66, 0x5f, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x68, 0x61, 0x6e, 0x5f, + 0x73, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x49, 0x66, 0x4f, 0x6c, 0x64, 0x65, 0x72, 0x54, 0x68, 0x61, 0x6e, 0x53, 0x65, 0x63, + 0x73, 0x22, 0xc3, 0x02, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x5b, 0x0a, 0x11, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x10, 0x64, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, + 0x59, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, + 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x60, 0x0a, 0x06, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x56, 0x0a, 0x0f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, + 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0e, 0x6c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x42, 0x09, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xfa, 0x01, 0x0a, 0x11, 0x49, 0x6e, 0x64, 0x65, + 0x78, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x72, 0x6c, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x79, 0x0a, 0x1c, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, - 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x11, 0x64, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x10, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, - 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x11, - 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3a, - 0x0a, 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x50, 0x61, 0x74, 0x68, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x6f, - 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3a, 0x0a, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x22, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x22, 0xa4, 0x01, 0x0a, - 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf3, 0x01, 0x0a, - 0x18, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, - 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, - 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, - 0x65, 0x72, 0x22, 0xd3, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, - 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, - 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, - 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, - 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, - 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, - 0x55, 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x7a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, + 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x1d, + 0x0a, 0x19, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x41, 0x4c, 0x52, 0x45, 0x41, 0x44, 0x59, + 0x5f, 0x55, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x10, 0x02, 0x12, 0x11, 0x0a, + 0x0d, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x03, + 0x12, 0x12, 0x0a, 0x0e, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x4b, 0x49, 0x50, 0x50, + 0x45, 0x44, 0x10, 0x04, 0x22, 0x10, 0x0a, 0x0e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x2b, 0x0a, 0x0f, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x22, 0x76, 0x0a, 0x10, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x30, 0x0a, 0x11, 0x4e, + 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3a, 0x0a, + 0x11, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, + 0x61, 0x74, 0x68, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x50, 0x0a, 0x12, 0x4c, 0x6f, 0x61, + 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x52, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x22, 0xa4, 0x01, 0x0a, 0x14, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2a, 0x0a, 0x11, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x42, 0x75, 0x69, 0x6c, + 0x64, 0x44, 0x69, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, + 0x74, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xf3, 0x01, 0x0a, 0x18, + 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, + 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, + 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x22, 0xd3, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x71, + 0x62, 0x6e, 0x12, 0x30, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x41, 0x64, 0x64, + 0x72, 0x65, 0x73, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, + 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, - 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, - 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, - 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, - 0x2d, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, - 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, - 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, + 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, 0x2d, + 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, - 0x72, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, - 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, - 0x01, 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, - 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, - 0x01, 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, + 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, - 0x65, 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, - 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, + 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, + 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, - 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, - 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x71, 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, - 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, + 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, + 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x6e, 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x79, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, - 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, + 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, - 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, + 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, + 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, - 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, - 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, - 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, - 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, + 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, - 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, - 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, - 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, - 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, - 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, - 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, - 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, + 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, + 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, + 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, + 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, - 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, - 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, - 0x0a, 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, - 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, + 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, + 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, + 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, + 0x72, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, + 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, - 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, - 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1905,227 +2256,236 @@ func file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_commands_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_cc_arduino_cli_commands_v1_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (FailedInstanceInitReason)(0), // 0: cc.arduino.cli.commands.v1.FailedInstanceInitReason - (*CreateRequest)(nil), // 1: cc.arduino.cli.commands.v1.CreateRequest - (*CreateResponse)(nil), // 2: cc.arduino.cli.commands.v1.CreateResponse - (*InitRequest)(nil), // 3: cc.arduino.cli.commands.v1.InitRequest - (*InitResponse)(nil), // 4: cc.arduino.cli.commands.v1.InitResponse - (*FailedInstanceInitError)(nil), // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError - (*DestroyRequest)(nil), // 6: cc.arduino.cli.commands.v1.DestroyRequest - (*DestroyResponse)(nil), // 7: cc.arduino.cli.commands.v1.DestroyResponse - (*UpdateIndexRequest)(nil), // 8: cc.arduino.cli.commands.v1.UpdateIndexRequest - (*UpdateIndexResponse)(nil), // 9: cc.arduino.cli.commands.v1.UpdateIndexResponse - (*UpdateLibrariesIndexRequest)(nil), // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest - (*UpdateLibrariesIndexResponse)(nil), // 11: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - (*VersionRequest)(nil), // 12: cc.arduino.cli.commands.v1.VersionRequest - (*VersionResponse)(nil), // 13: cc.arduino.cli.commands.v1.VersionResponse - (*NewSketchRequest)(nil), // 14: cc.arduino.cli.commands.v1.NewSketchRequest - (*NewSketchResponse)(nil), // 15: cc.arduino.cli.commands.v1.NewSketchResponse - (*LoadSketchRequest)(nil), // 16: cc.arduino.cli.commands.v1.LoadSketchRequest - (*LoadSketchResponse)(nil), // 17: cc.arduino.cli.commands.v1.LoadSketchResponse - (*ArchiveSketchRequest)(nil), // 18: cc.arduino.cli.commands.v1.ArchiveSketchRequest - (*ArchiveSketchResponse)(nil), // 19: cc.arduino.cli.commands.v1.ArchiveSketchResponse - (*SetSketchDefaultsRequest)(nil), // 20: cc.arduino.cli.commands.v1.SetSketchDefaultsRequest - (*SetSketchDefaultsResponse)(nil), // 21: cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - (*InitResponse_Progress)(nil), // 22: cc.arduino.cli.commands.v1.InitResponse.Progress - (*Instance)(nil), // 23: cc.arduino.cli.commands.v1.Instance - (*status.Status)(nil), // 24: google.rpc.Status - (*SketchProfile)(nil), // 25: cc.arduino.cli.commands.v1.SketchProfile - (*DownloadProgress)(nil), // 26: cc.arduino.cli.commands.v1.DownloadProgress - (*Sketch)(nil), // 27: cc.arduino.cli.commands.v1.Sketch - (*TaskProgress)(nil), // 28: cc.arduino.cli.commands.v1.TaskProgress - (*BoardDetailsRequest)(nil), // 29: cc.arduino.cli.commands.v1.BoardDetailsRequest - (*BoardListRequest)(nil), // 30: cc.arduino.cli.commands.v1.BoardListRequest - (*BoardListAllRequest)(nil), // 31: cc.arduino.cli.commands.v1.BoardListAllRequest - (*BoardSearchRequest)(nil), // 32: cc.arduino.cli.commands.v1.BoardSearchRequest - (*BoardListWatchRequest)(nil), // 33: cc.arduino.cli.commands.v1.BoardListWatchRequest - (*CompileRequest)(nil), // 34: cc.arduino.cli.commands.v1.CompileRequest - (*PlatformInstallRequest)(nil), // 35: cc.arduino.cli.commands.v1.PlatformInstallRequest - (*PlatformDownloadRequest)(nil), // 36: cc.arduino.cli.commands.v1.PlatformDownloadRequest - (*PlatformUninstallRequest)(nil), // 37: cc.arduino.cli.commands.v1.PlatformUninstallRequest - (*PlatformUpgradeRequest)(nil), // 38: cc.arduino.cli.commands.v1.PlatformUpgradeRequest - (*UploadRequest)(nil), // 39: cc.arduino.cli.commands.v1.UploadRequest - (*UploadUsingProgrammerRequest)(nil), // 40: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - (*SupportedUserFieldsRequest)(nil), // 41: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - (*ListProgrammersAvailableForUploadRequest)(nil), // 42: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - (*BurnBootloaderRequest)(nil), // 43: cc.arduino.cli.commands.v1.BurnBootloaderRequest - (*PlatformSearchRequest)(nil), // 44: cc.arduino.cli.commands.v1.PlatformSearchRequest - (*LibraryDownloadRequest)(nil), // 45: cc.arduino.cli.commands.v1.LibraryDownloadRequest - (*LibraryInstallRequest)(nil), // 46: cc.arduino.cli.commands.v1.LibraryInstallRequest - (*LibraryUpgradeRequest)(nil), // 47: cc.arduino.cli.commands.v1.LibraryUpgradeRequest - (*ZipLibraryInstallRequest)(nil), // 48: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - (*GitLibraryInstallRequest)(nil), // 49: cc.arduino.cli.commands.v1.GitLibraryInstallRequest - (*LibraryUninstallRequest)(nil), // 50: cc.arduino.cli.commands.v1.LibraryUninstallRequest - (*LibraryUpgradeAllRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - (*LibraryResolveDependenciesRequest)(nil), // 52: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - (*LibrarySearchRequest)(nil), // 53: cc.arduino.cli.commands.v1.LibrarySearchRequest - (*LibraryListRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibraryListRequest - (*MonitorRequest)(nil), // 55: cc.arduino.cli.commands.v1.MonitorRequest - (*EnumerateMonitorPortSettingsRequest)(nil), // 56: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*DebugRequest)(nil), // 57: cc.arduino.cli.commands.v1.DebugRequest - (*IsDebugSupportedRequest)(nil), // 58: cc.arduino.cli.commands.v1.IsDebugSupportedRequest - (*GetDebugConfigRequest)(nil), // 59: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*SettingsGetAllRequest)(nil), // 60: cc.arduino.cli.commands.v1.SettingsGetAllRequest - (*SettingsMergeRequest)(nil), // 61: cc.arduino.cli.commands.v1.SettingsMergeRequest - (*SettingsGetValueRequest)(nil), // 62: cc.arduino.cli.commands.v1.SettingsGetValueRequest - (*SettingsSetValueRequest)(nil), // 63: cc.arduino.cli.commands.v1.SettingsSetValueRequest - (*SettingsWriteRequest)(nil), // 64: cc.arduino.cli.commands.v1.SettingsWriteRequest - (*SettingsDeleteRequest)(nil), // 65: cc.arduino.cli.commands.v1.SettingsDeleteRequest - (*BoardDetailsResponse)(nil), // 66: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardListResponse)(nil), // 67: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 68: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 69: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 70: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 71: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 72: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 73: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 74: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 75: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 76: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 77: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 78: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 79: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 80: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 81: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*LibraryDownloadResponse)(nil), // 82: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 83: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 84: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 85: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 86: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 87: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 89: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 91: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 92: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 93: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*DebugResponse)(nil), // 94: cc.arduino.cli.commands.v1.DebugResponse - (*IsDebugSupportedResponse)(nil), // 95: cc.arduino.cli.commands.v1.IsDebugSupportedResponse - (*GetDebugConfigResponse)(nil), // 96: cc.arduino.cli.commands.v1.GetDebugConfigResponse - (*SettingsGetAllResponse)(nil), // 97: cc.arduino.cli.commands.v1.SettingsGetAllResponse - (*SettingsMergeResponse)(nil), // 98: cc.arduino.cli.commands.v1.SettingsMergeResponse - (*SettingsGetValueResponse)(nil), // 99: cc.arduino.cli.commands.v1.SettingsGetValueResponse - (*SettingsSetValueResponse)(nil), // 100: cc.arduino.cli.commands.v1.SettingsSetValueResponse - (*SettingsWriteResponse)(nil), // 101: cc.arduino.cli.commands.v1.SettingsWriteResponse - (*SettingsDeleteResponse)(nil), // 102: cc.arduino.cli.commands.v1.SettingsDeleteResponse + (IndexUpdateReport_Status)(0), // 1: cc.arduino.cli.commands.v1.IndexUpdateReport.Status + (*CreateRequest)(nil), // 2: cc.arduino.cli.commands.v1.CreateRequest + (*CreateResponse)(nil), // 3: cc.arduino.cli.commands.v1.CreateResponse + (*InitRequest)(nil), // 4: cc.arduino.cli.commands.v1.InitRequest + (*InitResponse)(nil), // 5: cc.arduino.cli.commands.v1.InitResponse + (*FailedInstanceInitError)(nil), // 6: cc.arduino.cli.commands.v1.FailedInstanceInitError + (*DestroyRequest)(nil), // 7: cc.arduino.cli.commands.v1.DestroyRequest + (*DestroyResponse)(nil), // 8: cc.arduino.cli.commands.v1.DestroyResponse + (*UpdateIndexRequest)(nil), // 9: cc.arduino.cli.commands.v1.UpdateIndexRequest + (*UpdateIndexResponse)(nil), // 10: cc.arduino.cli.commands.v1.UpdateIndexResponse + (*UpdateLibrariesIndexRequest)(nil), // 11: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest + (*UpdateLibrariesIndexResponse)(nil), // 12: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + (*IndexUpdateReport)(nil), // 13: cc.arduino.cli.commands.v1.IndexUpdateReport + (*VersionRequest)(nil), // 14: cc.arduino.cli.commands.v1.VersionRequest + (*VersionResponse)(nil), // 15: cc.arduino.cli.commands.v1.VersionResponse + (*NewSketchRequest)(nil), // 16: cc.arduino.cli.commands.v1.NewSketchRequest + (*NewSketchResponse)(nil), // 17: cc.arduino.cli.commands.v1.NewSketchResponse + (*LoadSketchRequest)(nil), // 18: cc.arduino.cli.commands.v1.LoadSketchRequest + (*LoadSketchResponse)(nil), // 19: cc.arduino.cli.commands.v1.LoadSketchResponse + (*ArchiveSketchRequest)(nil), // 20: cc.arduino.cli.commands.v1.ArchiveSketchRequest + (*ArchiveSketchResponse)(nil), // 21: cc.arduino.cli.commands.v1.ArchiveSketchResponse + (*SetSketchDefaultsRequest)(nil), // 22: cc.arduino.cli.commands.v1.SetSketchDefaultsRequest + (*SetSketchDefaultsResponse)(nil), // 23: cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + (*InitResponse_Progress)(nil), // 24: cc.arduino.cli.commands.v1.InitResponse.Progress + (*UpdateIndexResponse_Result)(nil), // 25: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result + (*UpdateLibrariesIndexResponse_Result)(nil), // 26: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result + (*Instance)(nil), // 27: cc.arduino.cli.commands.v1.Instance + (*status.Status)(nil), // 28: google.rpc.Status + (*SketchProfile)(nil), // 29: cc.arduino.cli.commands.v1.SketchProfile + (*DownloadProgress)(nil), // 30: cc.arduino.cli.commands.v1.DownloadProgress + (*Sketch)(nil), // 31: cc.arduino.cli.commands.v1.Sketch + (*TaskProgress)(nil), // 32: cc.arduino.cli.commands.v1.TaskProgress + (*BoardDetailsRequest)(nil), // 33: cc.arduino.cli.commands.v1.BoardDetailsRequest + (*BoardListRequest)(nil), // 34: cc.arduino.cli.commands.v1.BoardListRequest + (*BoardListAllRequest)(nil), // 35: cc.arduino.cli.commands.v1.BoardListAllRequest + (*BoardSearchRequest)(nil), // 36: cc.arduino.cli.commands.v1.BoardSearchRequest + (*BoardListWatchRequest)(nil), // 37: cc.arduino.cli.commands.v1.BoardListWatchRequest + (*CompileRequest)(nil), // 38: cc.arduino.cli.commands.v1.CompileRequest + (*PlatformInstallRequest)(nil), // 39: cc.arduino.cli.commands.v1.PlatformInstallRequest + (*PlatformDownloadRequest)(nil), // 40: cc.arduino.cli.commands.v1.PlatformDownloadRequest + (*PlatformUninstallRequest)(nil), // 41: cc.arduino.cli.commands.v1.PlatformUninstallRequest + (*PlatformUpgradeRequest)(nil), // 42: cc.arduino.cli.commands.v1.PlatformUpgradeRequest + (*UploadRequest)(nil), // 43: cc.arduino.cli.commands.v1.UploadRequest + (*UploadUsingProgrammerRequest)(nil), // 44: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + (*SupportedUserFieldsRequest)(nil), // 45: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + (*ListProgrammersAvailableForUploadRequest)(nil), // 46: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + (*BurnBootloaderRequest)(nil), // 47: cc.arduino.cli.commands.v1.BurnBootloaderRequest + (*PlatformSearchRequest)(nil), // 48: cc.arduino.cli.commands.v1.PlatformSearchRequest + (*LibraryDownloadRequest)(nil), // 49: cc.arduino.cli.commands.v1.LibraryDownloadRequest + (*LibraryInstallRequest)(nil), // 50: cc.arduino.cli.commands.v1.LibraryInstallRequest + (*LibraryUpgradeRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryUpgradeRequest + (*ZipLibraryInstallRequest)(nil), // 52: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + (*GitLibraryInstallRequest)(nil), // 53: cc.arduino.cli.commands.v1.GitLibraryInstallRequest + (*LibraryUninstallRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibraryUninstallRequest + (*LibraryUpgradeAllRequest)(nil), // 55: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + (*LibraryResolveDependenciesRequest)(nil), // 56: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + (*LibrarySearchRequest)(nil), // 57: cc.arduino.cli.commands.v1.LibrarySearchRequest + (*LibraryListRequest)(nil), // 58: cc.arduino.cli.commands.v1.LibraryListRequest + (*MonitorRequest)(nil), // 59: cc.arduino.cli.commands.v1.MonitorRequest + (*EnumerateMonitorPortSettingsRequest)(nil), // 60: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*DebugRequest)(nil), // 61: cc.arduino.cli.commands.v1.DebugRequest + (*IsDebugSupportedRequest)(nil), // 62: cc.arduino.cli.commands.v1.IsDebugSupportedRequest + (*GetDebugConfigRequest)(nil), // 63: cc.arduino.cli.commands.v1.GetDebugConfigRequest + (*SettingsGetAllRequest)(nil), // 64: cc.arduino.cli.commands.v1.SettingsGetAllRequest + (*SettingsMergeRequest)(nil), // 65: cc.arduino.cli.commands.v1.SettingsMergeRequest + (*SettingsGetValueRequest)(nil), // 66: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsSetValueRequest)(nil), // 67: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*SettingsWriteRequest)(nil), // 68: cc.arduino.cli.commands.v1.SettingsWriteRequest + (*SettingsDeleteRequest)(nil), // 69: cc.arduino.cli.commands.v1.SettingsDeleteRequest + (*BoardDetailsResponse)(nil), // 70: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardListResponse)(nil), // 71: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 72: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 73: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardListWatchResponse)(nil), // 74: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 75: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 76: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 77: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 78: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 79: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 80: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 81: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 82: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 83: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 84: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 85: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*LibraryDownloadResponse)(nil), // 86: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 87: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 89: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 90: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 91: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 92: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 93: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 94: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 95: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 96: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 97: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*DebugResponse)(nil), // 98: cc.arduino.cli.commands.v1.DebugResponse + (*IsDebugSupportedResponse)(nil), // 99: cc.arduino.cli.commands.v1.IsDebugSupportedResponse + (*GetDebugConfigResponse)(nil), // 100: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*SettingsGetAllResponse)(nil), // 101: cc.arduino.cli.commands.v1.SettingsGetAllResponse + (*SettingsMergeResponse)(nil), // 102: cc.arduino.cli.commands.v1.SettingsMergeResponse + (*SettingsGetValueResponse)(nil), // 103: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueResponse)(nil), // 104: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*SettingsWriteResponse)(nil), // 105: cc.arduino.cli.commands.v1.SettingsWriteResponse + (*SettingsDeleteResponse)(nil), // 106: cc.arduino.cli.commands.v1.SettingsDeleteResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ - 23, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 23, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 22, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress - 24, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status - 25, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 27, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 27, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 24, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress + 28, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status + 29, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile 0, // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError.reason:type_name -> cc.arduino.cli.commands.v1.FailedInstanceInitReason - 23, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 23, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 26, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 23, // 9: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 26, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 27, // 11: cc.arduino.cli.commands.v1.LoadSketchResponse.sketch:type_name -> cc.arduino.cli.commands.v1.Sketch - 26, // 12: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 28, // 13: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 1, // 14: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest - 3, // 15: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest - 6, // 16: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest - 8, // 17: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest - 10, // 18: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest - 12, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest - 14, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest - 16, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest - 18, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest - 20, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest - 29, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest - 30, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest - 31, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest - 32, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest - 33, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest - 34, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest - 35, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest - 36, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest - 37, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest - 38, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest - 39, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest - 40, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - 41, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - 42, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - 43, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest - 44, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 45, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 46, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 47, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 48, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 49, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 50, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 51, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 52, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 53, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 54, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 55, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 56, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 57, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 58, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest - 59, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 60, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest - 61, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest - 62, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest - 63, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest - 64, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest - 65, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest - 2, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 4, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 7, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 9, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 11, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 13, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 15, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 17, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 19, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 21, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 66, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 67, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 68, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 69, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 70, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 71, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 72, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 73, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 74, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 75, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 76, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 77, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 78, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 79, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 80, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 81, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 82, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 83, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 84, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 85, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 86, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 87, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 88, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 89, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 90, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 91, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 92, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 93, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 94, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 95, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse - 96, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 97, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse - 98, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse - 99, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse - 100, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse - 101, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse - 102, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse - 61, // [61:108] is the sub-list for method output_type - 14, // [14:61] is the sub-list for method input_type - 14, // [14:14] is the sub-list for extension type_name - 14, // [14:14] is the sub-list for extension extendee - 0, // [0:14] is the sub-list for field type_name + 27, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 27, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 30, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 25, // 9: cc.arduino.cli.commands.v1.UpdateIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateIndexResponse.Result + 27, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 30, // 11: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 26, // 12: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result + 1, // 13: cc.arduino.cli.commands.v1.IndexUpdateReport.status:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport.Status + 31, // 14: cc.arduino.cli.commands.v1.LoadSketchResponse.sketch:type_name -> cc.arduino.cli.commands.v1.Sketch + 30, // 15: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 32, // 16: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 13, // 17: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.updated_indexes:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport + 13, // 18: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.libraries_index:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport + 2, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest + 4, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest + 7, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest + 9, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest + 11, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest + 14, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest + 16, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest + 18, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest + 20, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest + 22, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest + 33, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest + 34, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest + 35, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest + 36, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest + 37, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest + 38, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest + 39, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest + 40, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest + 41, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest + 42, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest + 43, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest + 44, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + 45, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + 46, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + 47, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest + 48, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest + 49, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 50, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 51, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 52, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 53, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 54, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 59, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 60, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 61, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest + 62, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest + 63, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 64, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest + 65, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest + 66, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 67, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest + 68, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest + 69, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest + 3, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 5, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 8, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 10, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 12, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 15, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 17, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 19, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 21, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 23, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse + 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 101, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse + 102, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse + 103, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 104, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse + 105, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse + 106, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse + 66, // [66:113] is the sub-list for method output_type + 19, // [19:66] is the sub-list for method input_type + 19, // [19:19] is the sub-list for extension type_name + 19, // [19:19] is the sub-list for extension extendee + 0, // [0:19] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_commands_proto_init() } @@ -2276,7 +2636,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionRequest); i { + switch v := v.(*IndexUpdateReport); i { case 0: return &v.state case 1: @@ -2288,7 +2648,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VersionResponse); i { + switch v := v.(*VersionRequest); i { case 0: return &v.state case 1: @@ -2300,7 +2660,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewSketchRequest); i { + switch v := v.(*VersionResponse); i { case 0: return &v.state case 1: @@ -2312,7 +2672,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NewSketchResponse); i { + switch v := v.(*NewSketchRequest); i { case 0: return &v.state case 1: @@ -2324,7 +2684,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoadSketchRequest); i { + switch v := v.(*NewSketchResponse); i { case 0: return &v.state case 1: @@ -2336,7 +2696,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LoadSketchResponse); i { + switch v := v.(*LoadSketchRequest); i { case 0: return &v.state case 1: @@ -2348,7 +2708,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveSketchRequest); i { + switch v := v.(*LoadSketchResponse); i { case 0: return &v.state case 1: @@ -2360,7 +2720,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveSketchResponse); i { + switch v := v.(*ArchiveSketchRequest); i { case 0: return &v.state case 1: @@ -2372,7 +2732,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetSketchDefaultsRequest); i { + switch v := v.(*ArchiveSketchResponse); i { case 0: return &v.state case 1: @@ -2384,7 +2744,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetSketchDefaultsResponse); i { + switch v := v.(*SetSketchDefaultsRequest); i { case 0: return &v.state case 1: @@ -2396,6 +2756,18 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SetSketchDefaultsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*InitResponse_Progress); i { case 0: return &v.state @@ -2407,19 +2779,51 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateIndexResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateLibrariesIndexResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[3].OneofWrappers = []interface{}{ (*InitResponse_InitProgress)(nil), (*InitResponse_Error)(nil), (*InitResponse_Profile)(nil), } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[8].OneofWrappers = []interface{}{ + (*UpdateIndexResponse_DownloadProgress)(nil), + (*UpdateIndexResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10].OneofWrappers = []interface{}{ + (*UpdateLibrariesIndexResponse_DownloadProgress)(nil), + (*UpdateLibrariesIndexResponse_Result_)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_commands_proto_rawDesc, - NumEnums: 1, - NumMessages: 22, + NumEnums: 2, + NumMessages: 25, NumExtensions: 0, NumServices: 1, }, diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index b2744414bb7..61d89a8f4d1 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -276,21 +276,63 @@ message UpdateIndexRequest { Instance instance = 1; // If set to true user defined package indexes will not be updated. bool ignore_custom_package_indexes = 2; + // Only perform index update if the index file is older than this value in + // seconds. + int64 update_if_older_than_secs = 3; } message UpdateIndexResponse { - // Progress of the package index download. - DownloadProgress download_progress = 1; + message Result { + // The result of the packages index update. + repeated IndexUpdateReport updated_indexes = 1; + } + oneof message { + // Progress of the package index download. + DownloadProgress download_progress = 1; + // The result of the index update. + Result result = 2; + } } message UpdateLibrariesIndexRequest { // Arduino Core Service instance from the Init response. Instance instance = 1; + // Only perform index update if the index file is older than this value in + // seconds. + int64 update_if_older_than_secs = 2; } message UpdateLibrariesIndexResponse { - // Progress of the libraries index download. - DownloadProgress download_progress = 1; + message Result { + // The result of the libraries index update. + IndexUpdateReport libraries_index = 1; + } + oneof message { + // Progress of the libraries index download. + DownloadProgress download_progress = 1; + // The result of the index update. + Result result = 2; + } +} + +message IndexUpdateReport { + enum Status { + // The status of the index update is unspecified. + STATUS_UNSPECIFIED = 0; + // The index has been successfully updated. + STATUS_UPDATED = 1; + // The index was already up to date. + STATUS_ALREADY_UP_TO_DATE = 2; + // The index update failed. + STATUS_FAILED = 3; + // The index update was skipped. + STATUS_SKIPPED = 4; + } + + // The URL of the index that was updated. + string index_url = 1; + // The result of the index update. + Status status = 2; } message VersionRequest {} From 32d8833d862ff15ceea81c433384a45ca5f251e2 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Mon, 25 Mar 2024 10:33:49 +0100 Subject: [PATCH 124/361] [skip-changelog] bump golangci-lint to v1.57.x (#2571) --- .github/workflows/check-go-task.yml | 2 +- .golangci.yml | 2 +- commands/instances.go | 14 +++++++------- internal/cli/feedback/warn_deprecated.go | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index ef017004354..dc34e42c2a4 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -116,7 +116,7 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v4 with: - version: v1.55 + version: v1.57 - name: Check style env: diff --git a/.golangci.yml b/.golangci.yml index 851aa05b92b..a5e99f738fc 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -81,7 +81,7 @@ linters-settings: issues: # Fix found issues (if it's supported by the linter). - fix: true + fix: false # List of regexps of issue texts to exclude. # # But independently of this option we use default exclude patterns, diff --git a/commands/instances.go b/commands/instances.go index 6c2b3e6a931..df1d96f4c41 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -480,7 +480,7 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp downloadCB.Start(u, tr("Downloading index: %s", u)) downloadCB.End(false, msg) failed = true - result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) continue } @@ -498,9 +498,9 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, msg) failed = true - result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) } else { - result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_SKIPPED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_SKIPPED)) } continue } @@ -512,14 +512,14 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, tr("Invalid index URL: %s", err)) failed = true - result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) continue } indexFile := indexpath.Join(indexFileName) if info, err := indexFile.Stat(); err == nil { ageSecs := int64(time.Since(info.ModTime()).Seconds()) if ageSecs < req.GetUpdateIfOlderThanSecs() { - result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE)) continue } } @@ -530,9 +530,9 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp } if err := indexResource.Download(indexpath, downloadCB); err != nil { failed = true - result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) } else { - result.UpdatedIndexes = append(result.UpdatedIndexes, report(URL, rpc.IndexUpdateReport_STATUS_UPDATED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_UPDATED)) } } diff --git a/internal/cli/feedback/warn_deprecated.go b/internal/cli/feedback/warn_deprecated.go index af2af4a6a86..0a780574d5e 100644 --- a/internal/cli/feedback/warn_deprecated.go +++ b/internal/cli/feedback/warn_deprecated.go @@ -25,13 +25,13 @@ import ( // WarnAboutDeprecatedFiles warns the user that a type of sketch files are deprecated func WarnAboutDeprecatedFiles(s *rpc.Sketch) { var files []string - for _, f := range s.OtherSketchFiles { + for _, f := range s.GetOtherSketchFiles() { if strings.HasSuffix(f, ".pde") { files = append(files, f) } } - if strings.HasSuffix(s.MainFile, ".pde") { - files = append(files, s.MainFile) + if strings.HasSuffix(s.GetMainFile(), ".pde") { + files = append(files, s.GetMainFile()) } if len(files) > 0 { // .pde files are still supported but deprecated, this warning urges the user to rename them From 71c55d741262d032325dcf0405a22a94c6fcbf7a Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 25 Mar 2024 10:52:18 +0100 Subject: [PATCH 125/361] [breaking] gRPC: improved CompileRequest.export_binaries field definition (#2570) * [breaking] gRPC: improved CompileRequest.export_binaries field definition * Disable protogetter check --- .golangci.yml | 3 +- commands/compile/compile.go | 13 +- docs/UPGRADING.md | 7 + internal/cli/compile/compile.go | 6 +- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 280 +++++++++---------- rpc/cc/arduino/cli/commands/v1/compile.proto | 3 +- 6 files changed, 152 insertions(+), 160 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index a5e99f738fc..a4057e492c6 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -29,7 +29,8 @@ linters: - tenv - typecheck - unconvert - - protogetter + # We must disable this one because there is no support 'optional' protobuf fields yet: https://github.com/arduino/arduino-cli/pull/2570 + #- protogetter linters-settings: forbidigo: diff --git a/commands/compile/compile.go b/commands/compile/compile.go index 78f8b6d5345..7a124aceb00 100644 --- a/commands/compile/compile.go +++ b/commands/compile/compile.go @@ -43,18 +43,9 @@ var tr = i18n.Tr // Compile FIXMEDOC func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream io.Writer, progressCB rpc.TaskProgressCB) (r *rpc.BuilderResult, e error) { - - // There is a binding between the export binaries setting and the CLI flag to explicitly set it, - // since we want this binding to work also for the gRPC interface we must read it here in this - // package instead of the cli/compile one, otherwise we'd lose the binding. exportBinaries := configuration.Settings.GetBool("sketch.always_export_binaries") - // If we'd just read the binding in any case, even if the request sets the export binaries setting, - // the settings value would always overwrite the request one and it wouldn't have any effect - // setting it for individual requests. To solve this we use a wrapper.BoolValue to handle - // the optionality of this property, otherwise we would have no way of knowing if the property - // was set in the request or it's just the default boolean value. - if reqExportBinaries := req.GetExportBinaries(); reqExportBinaries != nil { - exportBinaries = reqExportBinaries.GetValue() + if e := req.ExportBinaries; e != nil { + exportBinaries = *e } pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 692a52f9989..009bf4daa38 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,13 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### The gRPC `cc.arduino.cli.commands.v1.CompileRequest.export_binaries` changed type. + +Previously the field `export_binaries` was a `google.protobuf.BoolValue`. We used this type because it expresses this +field's optional nature (that is, it could be `true`, `false`, and `null` if not set). + +Now the field is an `optional bool`, since the latest protobuf protocol changes now allows optional fields. + ### The gRPC `cc.arduino.cli.commands.v1.UpdateIndexResponse` and `UpdateLibrariesIndexResponse` have changed. The responses coming from the update index commands: diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 514a196fbd0..2b607b78536 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -61,6 +61,7 @@ var ( uploadAfterCompile bool // Upload the binary after the compilation. portArgs arguments.Port // Upload port, e.g.: COM10 or /dev/ttyACM0. verify bool // Upload, verify uploaded binary after the upload. + exportBinaries bool // exportDir string // The compiled binary is written to this file optimizeForDebug bool // Optimize compile output for debug, not for release programmer arguments.Programmer // Use the specified programmer to upload @@ -127,10 +128,7 @@ func NewCommand() *cobra.Command { programmer.AddToCommand(compileCommand) compileCommand.Flags().BoolVar(&compilationDatabaseOnly, "only-compilation-database", false, tr("Just produce the compilation database, without actually compiling. All build commands are skipped except pre* hooks.")) compileCommand.Flags().BoolVar(&clean, "clean", false, tr("Optional, cleanup the build folder and do not use any cached build.")) - // We must use the following syntax for this flag since it's also bound to settings. - // This must be done because the value is set when the binding is accessed from viper. Accessing from cobra would only - // read the value if the flag is set explicitly by the user. - compileCommand.Flags().BoolP("export-binaries", "e", false, tr("If set built binaries will be exported to the sketch folder.")) + compileCommand.Flags().BoolVarP(&exportBinaries, "export-binaries", "e", false, tr("If set built binaries will be exported to the sketch folder.")) compileCommand.Flags().StringVar(&sourceOverrides, "source-override", "", tr("Optional. Path to a .json file that contains a set of replacements of the sketch source code.")) compileCommand.Flag("source-override").Hidden = true compileCommand.Flags().BoolVar(&skipLibrariesDiscovery, "skip-libraries-discovery", false, "Skip libraries discovery. This flag is provided only for use in language server and other, very specific, use cases. Do not use for normal compiles") diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index f286359a9f1..aa7921e5a4c 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -24,7 +24,6 @@ package commands import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" - wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" reflect "reflect" sync "sync" ) @@ -92,7 +91,7 @@ type CompileRequest struct { SourceOverride map[string]string `protobuf:"bytes,22,rep,name=source_override,json=sourceOverride,proto3" json:"source_override,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // When set to `true` the compiled binary will be copied to the export // directory. - ExportBinaries *wrapperspb.BoolValue `protobuf:"bytes,23,opt,name=export_binaries,json=exportBinaries,proto3" json:"export_binaries,omitempty"` + ExportBinaries *bool `protobuf:"varint,23,opt,name=export_binaries,json=exportBinaries,proto3,oneof" json:"export_binaries,omitempty"` // A list of paths to single libraries root directory. Library []string `protobuf:"bytes,24,rep,name=library,proto3" json:"library,omitempty"` // The path where to search for the custom signing key name and the encrypt @@ -271,11 +270,11 @@ func (x *CompileRequest) GetSourceOverride() map[string]string { return nil } -func (x *CompileRequest) GetExportBinaries() *wrapperspb.BoolValue { - if x != nil { - return x.ExportBinaries +func (x *CompileRequest) GetExportBinaries() bool { + if x != nil && x.ExportBinaries != nil { + return *x.ExportBinaries } - return nil + return false } func (x *CompileRequest) GetLibrary() []string { @@ -897,14 +896,12 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x27, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x62, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd8, 0x08, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x08, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, @@ -950,126 +947,126 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, - 0x43, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, - 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x23, - 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, - 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x4b, 0x65, 0x79, 0x63, 0x68, - 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1f, - 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1b, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4b, 0x65, 0x79, 0x12, - 0x38, 0x0a, 0x18, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, - 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x16, 0x73, 0x6b, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x42, 0x0a, 0x1e, 0x64, 0x6f, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, - 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x1a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, - 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, - 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x24, - 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, - 0x65, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa1, 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, - 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, - 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, - 0x0a, 0x0e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, - 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, - 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, + 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, + 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x73, 0x5f, + 0x6b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x6b, 0x65, 0x79, 0x73, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, + 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, + 0x76, 0x65, 0x72, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x6b, 0x69, 0x70, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, + 0x72, 0x79, 0x12, 0x42, 0x0a, 0x1e, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, + 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x64, 0x6f, 0x4e, 0x6f, + 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0xeb, 0x01, + 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, - 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, + 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x22, 0xa1, 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, + 0x0d, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, + 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x69, 0x7a, 0x65, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, + 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, + 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, + 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, + 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, + 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, + 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4e, 0x0a, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, + 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, - 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, - 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, - 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, - 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, - 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, - 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52, + 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, + 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, + 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x71, 0x0a, 0x15, + 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, + 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, - 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, + 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, + 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, + 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -1096,29 +1093,27 @@ var file_cc_arduino_cli_commands_v1_compile_proto_goTypes = []interface{}{ (*CompileDiagnosticNote)(nil), // 7: cc.arduino.cli.commands.v1.CompileDiagnosticNote nil, // 8: cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry (*Instance)(nil), // 9: cc.arduino.cli.commands.v1.Instance - (*wrapperspb.BoolValue)(nil), // 10: google.protobuf.BoolValue - (*TaskProgress)(nil), // 11: cc.arduino.cli.commands.v1.TaskProgress - (*Library)(nil), // 12: cc.arduino.cli.commands.v1.Library - (*InstalledPlatformReference)(nil), // 13: cc.arduino.cli.commands.v1.InstalledPlatformReference + (*TaskProgress)(nil), // 10: cc.arduino.cli.commands.v1.TaskProgress + (*Library)(nil), // 11: cc.arduino.cli.commands.v1.Library + (*InstalledPlatformReference)(nil), // 12: cc.arduino.cli.commands.v1.InstalledPlatformReference } var file_cc_arduino_cli_commands_v1_compile_proto_depIdxs = []int32{ 9, // 0: cc.arduino.cli.commands.v1.CompileRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 8, // 1: cc.arduino.cli.commands.v1.CompileRequest.source_override:type_name -> cc.arduino.cli.commands.v1.CompileRequest.SourceOverrideEntry - 10, // 2: cc.arduino.cli.commands.v1.CompileRequest.export_binaries:type_name -> google.protobuf.BoolValue - 11, // 3: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 3, // 4: cc.arduino.cli.commands.v1.CompileResponse.result:type_name -> cc.arduino.cli.commands.v1.BuilderResult - 12, // 5: cc.arduino.cli.commands.v1.BuilderResult.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library - 4, // 6: cc.arduino.cli.commands.v1.BuilderResult.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize - 13, // 7: cc.arduino.cli.commands.v1.BuilderResult.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 13, // 8: cc.arduino.cli.commands.v1.BuilderResult.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference - 5, // 9: cc.arduino.cli.commands.v1.BuilderResult.diagnostics:type_name -> cc.arduino.cli.commands.v1.CompileDiagnostic - 6, // 10: cc.arduino.cli.commands.v1.CompileDiagnostic.context:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticContext - 7, // 11: cc.arduino.cli.commands.v1.CompileDiagnostic.notes:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticNote - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 10, // 2: cc.arduino.cli.commands.v1.CompileResponse.progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 3, // 3: cc.arduino.cli.commands.v1.CompileResponse.result:type_name -> cc.arduino.cli.commands.v1.BuilderResult + 11, // 4: cc.arduino.cli.commands.v1.BuilderResult.used_libraries:type_name -> cc.arduino.cli.commands.v1.Library + 4, // 5: cc.arduino.cli.commands.v1.BuilderResult.executable_sections_size:type_name -> cc.arduino.cli.commands.v1.ExecutableSectionSize + 12, // 6: cc.arduino.cli.commands.v1.BuilderResult.board_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 12, // 7: cc.arduino.cli.commands.v1.BuilderResult.build_platform:type_name -> cc.arduino.cli.commands.v1.InstalledPlatformReference + 5, // 8: cc.arduino.cli.commands.v1.BuilderResult.diagnostics:type_name -> cc.arduino.cli.commands.v1.CompileDiagnostic + 6, // 9: cc.arduino.cli.commands.v1.CompileDiagnostic.context:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticContext + 7, // 10: cc.arduino.cli.commands.v1.CompileDiagnostic.notes:type_name -> cc.arduino.cli.commands.v1.CompileDiagnosticNote + 11, // [11:11] is the sub-list for method output_type + 11, // [11:11] is the sub-list for method input_type + 11, // [11:11] is the sub-list for extension type_name + 11, // [11:11] is the sub-list for extension extendee + 0, // [0:11] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_compile_proto_init() } @@ -1226,6 +1221,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } } + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[0].OneofWrappers = []interface{}{} file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[1].OneofWrappers = []interface{}{ (*CompileResponse_OutStream)(nil), (*CompileResponse_ErrStream)(nil), diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index 67f003cf610..ee86ea2fe45 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -19,7 +19,6 @@ package cc.arduino.cli.commands.v1; option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; -import "google/protobuf/wrappers.proto"; import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/lib.proto"; @@ -75,7 +74,7 @@ message CompileRequest { map<string, string> source_override = 22; // When set to `true` the compiled binary will be copied to the export // directory. - google.protobuf.BoolValue export_binaries = 23; + optional bool export_binaries = 23; // A list of paths to single libraries root directory. repeated string library = 24; // The path where to search for the custom signing key name and the encrypt From 54edcb1cea3cffdf9d6b18b77b756fc8d1cef670 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:22:13 +0100 Subject: [PATCH 126/361] [skip-changelog] Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#2562) * Bump google.golang.org/protobuf from 1.32.0 to 1.33.0 Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../protobuf/encoding/protojson.dep.yml | 6 +- .../protobuf/encoding/prototext.dep.yml | 6 +- .../protobuf/encoding/protowire.dep.yml | 6 +- .../protobuf/internal/descfmt.dep.yml | 6 +- .../protobuf/internal/descopts.dep.yml | 6 +- .../protobuf/internal/detrand.dep.yml | 6 +- .../protobuf/internal/editiondefaults.dep.yml | 63 +++++++++++++++++++ .../protobuf/internal/encoding/defval.dep.yml | 6 +- .../protobuf/internal/encoding/json.dep.yml | 6 +- .../internal/encoding/messageset.dep.yml | 6 +- .../protobuf/internal/encoding/tag.dep.yml | 6 +- .../protobuf/internal/encoding/text.dep.yml | 6 +- .../protobuf/internal/errors.dep.yml | 6 +- .../protobuf/internal/filedesc.dep.yml | 6 +- .../protobuf/internal/filetype.dep.yml | 6 +- .../protobuf/internal/flags.dep.yml | 6 +- .../protobuf/internal/genid.dep.yml | 6 +- .../protobuf/internal/impl.dep.yml | 6 +- .../protobuf/internal/order.dep.yml | 6 +- .../protobuf/internal/pragma.dep.yml | 6 +- .../protobuf/internal/set.dep.yml | 6 +- .../protobuf/internal/strs.dep.yml | 6 +- .../protobuf/internal/version.dep.yml | 6 +- .../google.golang.org/protobuf/proto.dep.yml | 6 +- .../protobuf/protoadapt.dep.yml | 6 +- .../protobuf/reflect/protodesc.dep.yml | 6 +- .../protobuf/reflect/protoreflect.dep.yml | 6 +- .../protobuf/reflect/protoregistry.dep.yml | 6 +- .../protobuf/runtime/protoiface.dep.yml | 6 +- .../protobuf/runtime/protoimpl.dep.yml | 6 +- .../protobuf/types/descriptorpb.dep.yml | 6 +- ...rapperspb.dep.yml => gofeaturespb.dep.yml} | 10 +-- .../protobuf/types/known/anypb.dep.yml | 6 +- .../protobuf/types/known/durationpb.dep.yml | 6 +- .../protobuf/types/known/timestamppb.dep.yml | 6 +- go.mod | 2 +- go.sum | 4 +- 37 files changed, 170 insertions(+), 107 deletions(-) create mode 100644 .licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml rename .licenses/go/google.golang.org/protobuf/types/{known/wrapperspb.dep.yml => gofeaturespb.dep.yml} (93%) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 86cc6294aee..5a6547d4715 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.32.0 +version: v1.33.0 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index b291d739b93..4f78000ca96 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.32.0 +version: v1.33.0 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 893bb78df8c..82d6c4b98a3 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.32.0 +version: v1.33.0 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index b50a32e1add..07a3f0765d1 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.32.0 +version: v1.33.0 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index d05b2994f31..776dfd3a018 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.32.0 +version: v1.33.0 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 8a8e4027e9f..b840c82c7b9 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.32.0 +version: v1.33.0 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml new file mode 100644 index 00000000000..663a1da38df --- /dev/null +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -0,0 +1,63 @@ +--- +name: google.golang.org/protobuf/internal/editiondefaults +version: v1.33.0 +type: go +summary: Package editiondefaults contains the binary representation of the editions + defaults. +homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults +license: bsd-3-clause +licenses: +- sources: protobuf@v1.33.0/LICENSE + text: | + Copyright (c) 2018 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: protobuf@v1.33.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index 3f5fa0aa380..543200516de 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.32.0 +version: v1.33.0 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index 869057a69ab..e1a424a9938 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.32.0 +version: v1.33.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 8a167b8a515..42bdcec628f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.32.0 +version: v1.33.0 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index 4285175c5a0..c3eed6ea080 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.32.0 +version: v1.33.0 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index 1f1e6102305..776c96f8dea 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.32.0 +version: v1.33.0 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index 6aa38301e07..4fff88a1071 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.32.0 +version: v1.33.0 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index d5a13a203ce..f547a3b92ac 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.32.0 +version: v1.33.0 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 5ff68c1faff..cafbeb3c2c0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.32.0 +version: v1.33.0 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 4b9ed00ff4d..415889a9ea4 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.32.0 +version: v1.33.0 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 6c5e5e9b0da..7e4239655a7 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.32.0 +version: v1.33.0 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index 7c7c7104ed7..00ad6a820c4 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.32.0 +version: v1.33.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index 82fc654dcbb..c334e97366e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.32.0 +version: v1.33.0 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index a433d6dae99..e6c40660db8 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.32.0 +version: v1.33.0 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index d6e02e54ec8..f109788d798 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.32.0 +version: v1.33.0 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index d8737a5788c..58e0e8827ce 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.32.0 +version: v1.33.0 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index af54a63abf9..0d06c657779 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.32.0 +version: v1.33.0 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index b62bb6ab011..4de64e7ec61 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.32.0 +version: v1.33.0 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index a22220c31ed..f2c76801ba3 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.32.0 +version: v1.33.0 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml index 254023d3cb2..fec9e44be59 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protodesc -version: v1.32.0 +version: v1.33.0 type: go summary: Package protodesc provides functionality for converting FileDescriptorProto messages to/from [protoreflect.FileDescriptor] values. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protodesc license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 0f835606d06..4f664cb917c 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.32.0 +version: v1.33.0 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index d65478d49f1..7bb57b49d73 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.32.0 +version: v1.33.0 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 1d019473f1d..78e9d749e63 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.32.0 +version: v1.33.0 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index ab4d7329502..399f56a52b5 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.32.0 +version: v1.33.0 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml index f27382151e0..e8925e74ad7 100644 --- a/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/descriptorpb -version: v1.32.0 +version: v1.33.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/types/descriptorpb license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml similarity index 93% rename from .licenses/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml rename to .licenses/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml index f45aedd464b..755ab37f3a2 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/wrapperspb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml @@ -1,12 +1,12 @@ --- -name: google.golang.org/protobuf/types/known/wrapperspb -version: v1.32.0 +name: google.golang.org/protobuf/types/gofeaturespb +version: v1.33.0 type: go summary: -homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/wrapperspb +homepage: https://pkg.go.dev/google.golang.org/protobuf/types/gofeaturespb license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 96a2e4d619a..6a61f1601a5 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.32.0 +version: v1.33.0 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 94ba02006a7..d49f55f4229 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.32.0 +version: v1.33.0 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index d006164a482..cfe67b6afeb 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.32.0 +version: v1.33.0 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.32.0/LICENSE +- sources: protobuf@v1.33.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.32.0/PATENTS +- sources: protobuf@v1.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 90a2b1ffdbd..95dbd1fbe4c 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 google.golang.org/grpc v1.62.0 - google.golang.org/protobuf v1.32.0 + google.golang.org/protobuf v1.33.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 ) diff --git a/go.sum b/go.sum index edb33e1b041..fe4863af2dc 100644 --- a/go.sum +++ b/go.sum @@ -281,8 +281,8 @@ google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= -google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 67d2c57222a0813c93cc11abcca8dc92036f52c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:37:19 +0100 Subject: [PATCH 127/361] [skip-changelog] Bump google.golang.org/grpc from 1.62.0 to 1.62.1 (#2563) * Bump google.golang.org/grpc from 1.62.0 to 1.62.1 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.0 to 1.62.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.62.0...v1.62.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 53 files changed, 104 insertions(+), 104 deletions(-) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 6e1e2b8b92a..62ee640b7a8 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.62.0 +version: v1.62.1 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 476376bfca3..6058c0f378a 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.62.0 +version: v1.62.1 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index f69712a5656..11213d7d091 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.62.0 +version: v1.62.1 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 2578488d476..5ad078d88f0 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.62.0 +version: v1.62.1 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index a17d68ec12b..3e26f90e88f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.62.0 +version: v1.62.1 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 23b0b7e8a9b..706678b8542 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.62.0 +version: v1.62.1 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index d9923be80a0..9e7f87ec769 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.62.0 +version: v1.62.1 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index bc67beb3e88..813f2d1848a 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.62.0 +version: v1.62.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 52ecfe0505a..cf445927564 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.62.0 +version: v1.62.1 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index f8bbece25ef..7cfd24c1c5e 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.62.0 +version: v1.62.1 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 750315f29aa..d0284b77da6 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.62.0 +version: v1.62.1 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 653d51a5956..0149e198470 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.62.0 +version: v1.62.1 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 8fa2b5d47c1..5abf2e3e42b 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.62.0 +version: v1.62.1 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 874f55e40b2..931bc1d29fa 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.62.0 +version: v1.62.1 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 1c4d564fc79..b5ea88e9bbc 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.62.0 +version: v1.62.1 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 75a9d508070..53c6d85d664 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.62.0 +version: v1.62.1 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 6923a7f9ca7..3d764b22447 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.62.0 +version: v1.62.1 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 0d83bbbcb24..16ef0d54511 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.62.0 +version: v1.62.1 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index dad7759e1b7..fdb53258df2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.62.0 +version: v1.62.1 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index d61daf7f46b..eab126dbfc1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.62.0 +version: v1.62.1 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index f95b6fd92ec..3955497b649 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.62.0 +version: v1.62.1 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 593b18cb8a2..25995994c3c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.62.0 +version: v1.62.1 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index a335d172a22..640720550a2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.62.0 +version: v1.62.1 type: go summary: Package channelz defines APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 52471d6f48b..4edf9fadc3a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.62.0 +version: v1.62.1 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 4511b8f7569..5a9c2e5d626 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.62.0 +version: v1.62.1 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 89ab42cf72c..e2598a9c05c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.62.0 +version: v1.62.1 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml index bcf3152f0ef..9d60c0c3ebf 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcrand -version: v1.62.0 +version: v1.62.1 type: go summary: Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 0e9a01adbc7..bf54830a4dc 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.62.0 +version: v1.62.1 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 7cda41a2511..7b82dd5cca2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.62.0 +version: v1.62.1 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 644fe9626e6..066a5e0e336 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.62.0 +version: v1.62.1 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 05161c6b9bc..8efb3bbf8e1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.62.0 +version: v1.62.1 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 68bd7d25c2a..dbb60195ee6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.62.0 +version: v1.62.1 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index f93eee245e9..8f665995358 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.62.0 +version: v1.62.1 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 8508709f570..57bf4f0617a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.62.0 +version: v1.62.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index e27b84ed160..ceb4a491b1a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.62.0 +version: v1.62.1 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index cb256504e96..187c5f45d08 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.62.0 +version: v1.62.1 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 22a7132d019..249cb25fa91 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.62.0 +version: v1.62.1 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 3c21798198b..30964c2f33a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.62.0 +version: v1.62.1 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 0fc3271412c..7a668f477f7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.62.0 +version: v1.62.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index da275c8fa88..6cbddc3d39d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.62.0 +version: v1.62.1 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 9227b0133c5..a7970862631 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.62.0 +version: v1.62.1 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 88e2b6cf66d..433f80ee01d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.62.0 +version: v1.62.1 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 1b3fa1a3b8a..fda4e90cdcb 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.62.0 +version: v1.62.1 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 7cd842afa95..bbbc60f31db 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.62.0 +version: v1.62.1 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 5bad78730ae..b584838c28f 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.62.0 +version: v1.62.1 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index ca34ce4dfe7..c45f3173f61 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.62.0 +version: v1.62.1 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index acfe9054aae..63bb687c8b4 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.62.0 +version: v1.62.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index a1d3effd765..ec029dc205d 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.62.0 +version: v1.62.1 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 8851f84969e..d07da73b076 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.62.0 +version: v1.62.1 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 213bd95da47..041181ae6bf 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.62.0 +version: v1.62.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index a4bbec4e24c..a110132802a 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.62.0 +version: v1.62.1 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.62.0/LICENSE +- sources: grpc@v1.62.1/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 95dbd1fbe4c..13185198605 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( golang.org/x/term v0.18.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 - google.golang.org/grpc v1.62.0 + google.golang.org/grpc v1.62.1 google.golang.org/protobuf v1.33.0 gopkg.in/yaml.v3 v3.0.1 sigs.k8s.io/yaml v1.4.0 diff --git a/go.sum b/go.sum index fe4863af2dc..09d06141c32 100644 --- a/go.sum +++ b/go.sum @@ -277,8 +277,8 @@ golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= -google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= -google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= +google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= From af85d570557d86c0c22d6d1f6059120c62067c20 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 25 Mar 2024 14:23:36 +0100 Subject: [PATCH 128/361] gRPC: added CleanDownloadCacheDirectory rpc call (#2572) --- commands/cache/clean.go | 33 + commands/daemon/daemon.go | 7 + internal/cli/cache/clean.go | 7 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 1164 +++++++++-------- rpc/cc/arduino/cli/commands/v1/commands.proto | 11 + .../cli/commands/v1/commands_grpc.pb.go | 39 + 6 files changed, 743 insertions(+), 518 deletions(-) create mode 100644 commands/cache/clean.go diff --git a/commands/cache/clean.go b/commands/cache/clean.go new file mode 100644 index 00000000000..f823b56fffa --- /dev/null +++ b/commands/cache/clean.go @@ -0,0 +1,33 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 cache + +import ( + "context" + + "github.com/arduino/arduino-cli/internal/cli/configuration" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" +) + +// CleanDownloadCacheDirectory clean the download cache directory (where archives are downloaded). +func CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { + cachePath := configuration.DownloadsDir(configuration.Settings) + err := cachePath.RemoveAll() + if err != nil { + return nil, err + } + return &rpc.CleanDownloadCacheDirectoryResponse{}, nil +} diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index a54e104e913..dbe2fe95f9b 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands/cache" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/compile" "github.com/arduino/arduino-cli/commands/core" @@ -581,3 +582,9 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer } return nil } + +// CleanDownloadCacheDirectory FIXMEDOC +func (s *ArduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { + resp, err := cache.CleanDownloadCacheDirectory(ctx, req) + return resp, convertErrorToRPCStatus(err) +} diff --git a/internal/cli/cache/clean.go b/internal/cli/cache/clean.go index c4c37a1cf1e..32f788e87ed 100644 --- a/internal/cli/cache/clean.go +++ b/internal/cli/cache/clean.go @@ -16,10 +16,12 @@ package cache import ( + "context" "os" - "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/commands/cache" "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -39,8 +41,7 @@ func initCleanCommand() *cobra.Command { func runCleanCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli cache clean`") - cachePath := configuration.DownloadsDir(configuration.Settings) - err := cachePath.RemoveAll() + _, err := cache.CleanDownloadCacheDirectory(context.Background(), &rpc.CleanDownloadCacheDirectoryRequest{}) if err != nil { feedback.Fatal(tr("Error cleaning caches: %v", err), feedback.ErrGeneric) } diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index ebc50b4f000..fb0c77d965e 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -1474,6 +1474,92 @@ func (x *SetSketchDefaultsResponse) GetDefaultProgrammer() string { return "" } +type CleanDownloadCacheDirectoryRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The Arduino Core Service instance. + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` +} + +func (x *CleanDownloadCacheDirectoryRequest) Reset() { + *x = CleanDownloadCacheDirectoryRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CleanDownloadCacheDirectoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CleanDownloadCacheDirectoryRequest) ProtoMessage() {} + +func (x *CleanDownloadCacheDirectoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CleanDownloadCacheDirectoryRequest.ProtoReflect.Descriptor instead. +func (*CleanDownloadCacheDirectoryRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{22} +} + +func (x *CleanDownloadCacheDirectoryRequest) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +type CleanDownloadCacheDirectoryResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *CleanDownloadCacheDirectoryResponse) Reset() { + *x = CleanDownloadCacheDirectoryResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CleanDownloadCacheDirectoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CleanDownloadCacheDirectoryResponse) ProtoMessage() {} + +func (x *CleanDownloadCacheDirectoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CleanDownloadCacheDirectoryResponse.ProtoReflect.Descriptor instead. +func (*CleanDownloadCacheDirectoryResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{23} +} + type InitResponse_Progress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1488,7 +1574,7 @@ type InitResponse_Progress struct { func (x *InitResponse_Progress) Reset() { *x = InitResponse_Progress{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1501,7 +1587,7 @@ func (x *InitResponse_Progress) String() string { func (*InitResponse_Progress) ProtoMessage() {} func (x *InitResponse_Progress) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1543,7 +1629,7 @@ type UpdateIndexResponse_Result struct { func (x *UpdateIndexResponse_Result) Reset() { *x = UpdateIndexResponse_Result{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1556,7 +1642,7 @@ func (x *UpdateIndexResponse_Result) String() string { func (*UpdateIndexResponse_Result) ProtoMessage() {} func (x *UpdateIndexResponse_Result) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1591,7 +1677,7 @@ type UpdateLibrariesIndexResponse_Result struct { func (x *UpdateLibrariesIndexResponse_Result) Reset() { *x = UpdateLibrariesIndexResponse_Result{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1604,7 +1690,7 @@ func (x *UpdateLibrariesIndexResponse_Result) String() string { func (*UpdateLibrariesIndexResponse_Result) ProtoMessage() {} func (x *UpdateLibrariesIndexResponse_Result) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1857,340 +1943,359 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, - 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, - 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, - 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, - 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, - 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x22, 0x43, 0x6c, 0x65, 0x61, 0x6e, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0x25, 0x0a, 0x23, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, + 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, + 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x52, + 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, + 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, + 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, + 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, + 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, + 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, - 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, - 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, - 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0x95, 0x2d, - 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, + 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xb6, 0x2e, 0x0a, + 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, - 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, + 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, - 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, - 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, + 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, + 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, - 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, - 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, - 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, - 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, + 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, + 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, - 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, - 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, - 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, - 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, + 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, + 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, - 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, + 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, - 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, - 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, - 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, - 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, - 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, + 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, + 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, + 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, - 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, + 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, - 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, - 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, + 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, - 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, + 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, + 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, + 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, + 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, + 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, + 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, - 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, - 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, + 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, + 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, - 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, + 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x43, 0x6c, 0x65, + 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, @@ -2257,7 +2362,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 27) var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (FailedInstanceInitReason)(0), // 0: cc.arduino.cli.commands.v1.FailedInstanceInitReason (IndexUpdateReport_Status)(0), // 1: cc.arduino.cli.commands.v1.IndexUpdateReport.Status @@ -2283,209 +2388,214 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*ArchiveSketchResponse)(nil), // 21: cc.arduino.cli.commands.v1.ArchiveSketchResponse (*SetSketchDefaultsRequest)(nil), // 22: cc.arduino.cli.commands.v1.SetSketchDefaultsRequest (*SetSketchDefaultsResponse)(nil), // 23: cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - (*InitResponse_Progress)(nil), // 24: cc.arduino.cli.commands.v1.InitResponse.Progress - (*UpdateIndexResponse_Result)(nil), // 25: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result - (*UpdateLibrariesIndexResponse_Result)(nil), // 26: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result - (*Instance)(nil), // 27: cc.arduino.cli.commands.v1.Instance - (*status.Status)(nil), // 28: google.rpc.Status - (*SketchProfile)(nil), // 29: cc.arduino.cli.commands.v1.SketchProfile - (*DownloadProgress)(nil), // 30: cc.arduino.cli.commands.v1.DownloadProgress - (*Sketch)(nil), // 31: cc.arduino.cli.commands.v1.Sketch - (*TaskProgress)(nil), // 32: cc.arduino.cli.commands.v1.TaskProgress - (*BoardDetailsRequest)(nil), // 33: cc.arduino.cli.commands.v1.BoardDetailsRequest - (*BoardListRequest)(nil), // 34: cc.arduino.cli.commands.v1.BoardListRequest - (*BoardListAllRequest)(nil), // 35: cc.arduino.cli.commands.v1.BoardListAllRequest - (*BoardSearchRequest)(nil), // 36: cc.arduino.cli.commands.v1.BoardSearchRequest - (*BoardListWatchRequest)(nil), // 37: cc.arduino.cli.commands.v1.BoardListWatchRequest - (*CompileRequest)(nil), // 38: cc.arduino.cli.commands.v1.CompileRequest - (*PlatformInstallRequest)(nil), // 39: cc.arduino.cli.commands.v1.PlatformInstallRequest - (*PlatformDownloadRequest)(nil), // 40: cc.arduino.cli.commands.v1.PlatformDownloadRequest - (*PlatformUninstallRequest)(nil), // 41: cc.arduino.cli.commands.v1.PlatformUninstallRequest - (*PlatformUpgradeRequest)(nil), // 42: cc.arduino.cli.commands.v1.PlatformUpgradeRequest - (*UploadRequest)(nil), // 43: cc.arduino.cli.commands.v1.UploadRequest - (*UploadUsingProgrammerRequest)(nil), // 44: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - (*SupportedUserFieldsRequest)(nil), // 45: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - (*ListProgrammersAvailableForUploadRequest)(nil), // 46: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - (*BurnBootloaderRequest)(nil), // 47: cc.arduino.cli.commands.v1.BurnBootloaderRequest - (*PlatformSearchRequest)(nil), // 48: cc.arduino.cli.commands.v1.PlatformSearchRequest - (*LibraryDownloadRequest)(nil), // 49: cc.arduino.cli.commands.v1.LibraryDownloadRequest - (*LibraryInstallRequest)(nil), // 50: cc.arduino.cli.commands.v1.LibraryInstallRequest - (*LibraryUpgradeRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryUpgradeRequest - (*ZipLibraryInstallRequest)(nil), // 52: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - (*GitLibraryInstallRequest)(nil), // 53: cc.arduino.cli.commands.v1.GitLibraryInstallRequest - (*LibraryUninstallRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibraryUninstallRequest - (*LibraryUpgradeAllRequest)(nil), // 55: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - (*LibraryResolveDependenciesRequest)(nil), // 56: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - (*LibrarySearchRequest)(nil), // 57: cc.arduino.cli.commands.v1.LibrarySearchRequest - (*LibraryListRequest)(nil), // 58: cc.arduino.cli.commands.v1.LibraryListRequest - (*MonitorRequest)(nil), // 59: cc.arduino.cli.commands.v1.MonitorRequest - (*EnumerateMonitorPortSettingsRequest)(nil), // 60: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*DebugRequest)(nil), // 61: cc.arduino.cli.commands.v1.DebugRequest - (*IsDebugSupportedRequest)(nil), // 62: cc.arduino.cli.commands.v1.IsDebugSupportedRequest - (*GetDebugConfigRequest)(nil), // 63: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*SettingsGetAllRequest)(nil), // 64: cc.arduino.cli.commands.v1.SettingsGetAllRequest - (*SettingsMergeRequest)(nil), // 65: cc.arduino.cli.commands.v1.SettingsMergeRequest - (*SettingsGetValueRequest)(nil), // 66: cc.arduino.cli.commands.v1.SettingsGetValueRequest - (*SettingsSetValueRequest)(nil), // 67: cc.arduino.cli.commands.v1.SettingsSetValueRequest - (*SettingsWriteRequest)(nil), // 68: cc.arduino.cli.commands.v1.SettingsWriteRequest - (*SettingsDeleteRequest)(nil), // 69: cc.arduino.cli.commands.v1.SettingsDeleteRequest - (*BoardDetailsResponse)(nil), // 70: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardListResponse)(nil), // 71: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 72: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 73: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 74: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 75: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 76: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 77: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 78: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 79: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 80: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 81: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 82: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 83: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 84: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 85: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*LibraryDownloadResponse)(nil), // 86: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 87: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 89: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 90: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 91: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 92: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 93: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 94: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 95: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 96: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 97: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*DebugResponse)(nil), // 98: cc.arduino.cli.commands.v1.DebugResponse - (*IsDebugSupportedResponse)(nil), // 99: cc.arduino.cli.commands.v1.IsDebugSupportedResponse - (*GetDebugConfigResponse)(nil), // 100: cc.arduino.cli.commands.v1.GetDebugConfigResponse - (*SettingsGetAllResponse)(nil), // 101: cc.arduino.cli.commands.v1.SettingsGetAllResponse - (*SettingsMergeResponse)(nil), // 102: cc.arduino.cli.commands.v1.SettingsMergeResponse - (*SettingsGetValueResponse)(nil), // 103: cc.arduino.cli.commands.v1.SettingsGetValueResponse - (*SettingsSetValueResponse)(nil), // 104: cc.arduino.cli.commands.v1.SettingsSetValueResponse - (*SettingsWriteResponse)(nil), // 105: cc.arduino.cli.commands.v1.SettingsWriteResponse - (*SettingsDeleteResponse)(nil), // 106: cc.arduino.cli.commands.v1.SettingsDeleteResponse + (*CleanDownloadCacheDirectoryRequest)(nil), // 24: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest + (*CleanDownloadCacheDirectoryResponse)(nil), // 25: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse + (*InitResponse_Progress)(nil), // 26: cc.arduino.cli.commands.v1.InitResponse.Progress + (*UpdateIndexResponse_Result)(nil), // 27: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result + (*UpdateLibrariesIndexResponse_Result)(nil), // 28: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result + (*Instance)(nil), // 29: cc.arduino.cli.commands.v1.Instance + (*status.Status)(nil), // 30: google.rpc.Status + (*SketchProfile)(nil), // 31: cc.arduino.cli.commands.v1.SketchProfile + (*DownloadProgress)(nil), // 32: cc.arduino.cli.commands.v1.DownloadProgress + (*Sketch)(nil), // 33: cc.arduino.cli.commands.v1.Sketch + (*TaskProgress)(nil), // 34: cc.arduino.cli.commands.v1.TaskProgress + (*BoardDetailsRequest)(nil), // 35: cc.arduino.cli.commands.v1.BoardDetailsRequest + (*BoardListRequest)(nil), // 36: cc.arduino.cli.commands.v1.BoardListRequest + (*BoardListAllRequest)(nil), // 37: cc.arduino.cli.commands.v1.BoardListAllRequest + (*BoardSearchRequest)(nil), // 38: cc.arduino.cli.commands.v1.BoardSearchRequest + (*BoardListWatchRequest)(nil), // 39: cc.arduino.cli.commands.v1.BoardListWatchRequest + (*CompileRequest)(nil), // 40: cc.arduino.cli.commands.v1.CompileRequest + (*PlatformInstallRequest)(nil), // 41: cc.arduino.cli.commands.v1.PlatformInstallRequest + (*PlatformDownloadRequest)(nil), // 42: cc.arduino.cli.commands.v1.PlatformDownloadRequest + (*PlatformUninstallRequest)(nil), // 43: cc.arduino.cli.commands.v1.PlatformUninstallRequest + (*PlatformUpgradeRequest)(nil), // 44: cc.arduino.cli.commands.v1.PlatformUpgradeRequest + (*UploadRequest)(nil), // 45: cc.arduino.cli.commands.v1.UploadRequest + (*UploadUsingProgrammerRequest)(nil), // 46: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + (*SupportedUserFieldsRequest)(nil), // 47: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + (*ListProgrammersAvailableForUploadRequest)(nil), // 48: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + (*BurnBootloaderRequest)(nil), // 49: cc.arduino.cli.commands.v1.BurnBootloaderRequest + (*PlatformSearchRequest)(nil), // 50: cc.arduino.cli.commands.v1.PlatformSearchRequest + (*LibraryDownloadRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryDownloadRequest + (*LibraryInstallRequest)(nil), // 52: cc.arduino.cli.commands.v1.LibraryInstallRequest + (*LibraryUpgradeRequest)(nil), // 53: cc.arduino.cli.commands.v1.LibraryUpgradeRequest + (*ZipLibraryInstallRequest)(nil), // 54: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + (*GitLibraryInstallRequest)(nil), // 55: cc.arduino.cli.commands.v1.GitLibraryInstallRequest + (*LibraryUninstallRequest)(nil), // 56: cc.arduino.cli.commands.v1.LibraryUninstallRequest + (*LibraryUpgradeAllRequest)(nil), // 57: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + (*LibraryResolveDependenciesRequest)(nil), // 58: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + (*LibrarySearchRequest)(nil), // 59: cc.arduino.cli.commands.v1.LibrarySearchRequest + (*LibraryListRequest)(nil), // 60: cc.arduino.cli.commands.v1.LibraryListRequest + (*MonitorRequest)(nil), // 61: cc.arduino.cli.commands.v1.MonitorRequest + (*EnumerateMonitorPortSettingsRequest)(nil), // 62: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*DebugRequest)(nil), // 63: cc.arduino.cli.commands.v1.DebugRequest + (*IsDebugSupportedRequest)(nil), // 64: cc.arduino.cli.commands.v1.IsDebugSupportedRequest + (*GetDebugConfigRequest)(nil), // 65: cc.arduino.cli.commands.v1.GetDebugConfigRequest + (*SettingsGetAllRequest)(nil), // 66: cc.arduino.cli.commands.v1.SettingsGetAllRequest + (*SettingsMergeRequest)(nil), // 67: cc.arduino.cli.commands.v1.SettingsMergeRequest + (*SettingsGetValueRequest)(nil), // 68: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsSetValueRequest)(nil), // 69: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*SettingsWriteRequest)(nil), // 70: cc.arduino.cli.commands.v1.SettingsWriteRequest + (*SettingsDeleteRequest)(nil), // 71: cc.arduino.cli.commands.v1.SettingsDeleteRequest + (*BoardDetailsResponse)(nil), // 72: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardListResponse)(nil), // 73: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 74: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 75: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardListWatchResponse)(nil), // 76: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 77: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 78: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 79: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 80: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 81: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 82: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 83: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 84: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 85: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 86: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 87: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*LibraryDownloadResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 89: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 91: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 92: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 93: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 94: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 95: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 96: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 97: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 98: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 99: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*DebugResponse)(nil), // 100: cc.arduino.cli.commands.v1.DebugResponse + (*IsDebugSupportedResponse)(nil), // 101: cc.arduino.cli.commands.v1.IsDebugSupportedResponse + (*GetDebugConfigResponse)(nil), // 102: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*SettingsGetAllResponse)(nil), // 103: cc.arduino.cli.commands.v1.SettingsGetAllResponse + (*SettingsMergeResponse)(nil), // 104: cc.arduino.cli.commands.v1.SettingsMergeResponse + (*SettingsGetValueResponse)(nil), // 105: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueResponse)(nil), // 106: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*SettingsWriteResponse)(nil), // 107: cc.arduino.cli.commands.v1.SettingsWriteResponse + (*SettingsDeleteResponse)(nil), // 108: cc.arduino.cli.commands.v1.SettingsDeleteResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ - 27, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 27, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 24, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress - 28, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status - 29, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 29, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 29, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 26, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress + 30, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status + 31, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile 0, // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError.reason:type_name -> cc.arduino.cli.commands.v1.FailedInstanceInitReason - 27, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 27, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 30, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 25, // 9: cc.arduino.cli.commands.v1.UpdateIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateIndexResponse.Result - 27, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 30, // 11: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 26, // 12: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result + 29, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 29, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 32, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 27, // 9: cc.arduino.cli.commands.v1.UpdateIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateIndexResponse.Result + 29, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 32, // 11: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 28, // 12: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result 1, // 13: cc.arduino.cli.commands.v1.IndexUpdateReport.status:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport.Status - 31, // 14: cc.arduino.cli.commands.v1.LoadSketchResponse.sketch:type_name -> cc.arduino.cli.commands.v1.Sketch - 30, // 15: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 32, // 16: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 13, // 17: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.updated_indexes:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport - 13, // 18: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.libraries_index:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport - 2, // 19: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest - 4, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest - 7, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest - 9, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest - 11, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest - 14, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest - 16, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest - 18, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest - 20, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest - 22, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest - 33, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest - 34, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest - 35, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest - 36, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest - 37, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest - 38, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest - 39, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest - 40, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest - 41, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest - 42, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest - 43, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest - 44, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - 45, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - 46, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - 47, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest - 48, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 49, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 50, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 51, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 52, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 53, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 54, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 55, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 56, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 57, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 58, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 59, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 60, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 61, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 62, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest - 63, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 64, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest - 65, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest - 66, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest - 67, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest - 68, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest - 69, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest - 3, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 5, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 8, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 10, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 12, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 15, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 17, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 19, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 21, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 23, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 70, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 71, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse - 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 101, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse - 102, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse - 103, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse - 104, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse - 105, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse - 106, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse - 66, // [66:113] is the sub-list for method output_type - 19, // [19:66] is the sub-list for method input_type - 19, // [19:19] is the sub-list for extension type_name - 19, // [19:19] is the sub-list for extension extendee - 0, // [0:19] is the sub-list for field type_name + 33, // 14: cc.arduino.cli.commands.v1.LoadSketchResponse.sketch:type_name -> cc.arduino.cli.commands.v1.Sketch + 29, // 15: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 32, // 16: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 34, // 17: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 13, // 18: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.updated_indexes:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport + 13, // 19: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.libraries_index:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport + 2, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest + 4, // 21: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:input_type -> cc.arduino.cli.commands.v1.InitRequest + 7, // 22: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:input_type -> cc.arduino.cli.commands.v1.DestroyRequest + 9, // 23: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:input_type -> cc.arduino.cli.commands.v1.UpdateIndexRequest + 11, // 24: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:input_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest + 14, // 25: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:input_type -> cc.arduino.cli.commands.v1.VersionRequest + 16, // 26: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:input_type -> cc.arduino.cli.commands.v1.NewSketchRequest + 18, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest + 20, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest + 22, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest + 35, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest + 36, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest + 37, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest + 38, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest + 39, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest + 40, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest + 41, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest + 42, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest + 43, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest + 44, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest + 45, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest + 46, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + 47, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + 48, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + 49, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest + 50, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest + 51, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 52, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 53, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 54, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 55, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 56, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 57, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 58, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 59, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 60, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 61, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 62, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 63, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest + 64, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest + 65, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 24, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:input_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest + 66, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest + 67, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest + 68, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 69, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest + 70, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest + 71, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest + 3, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 5, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 8, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 10, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 12, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 15, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 17, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 19, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 21, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 23, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 101, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse + 102, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 25, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:output_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse + 103, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse + 104, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse + 105, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 106, // 113: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse + 107, // 114: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse + 108, // 115: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse + 68, // [68:116] is the sub-list for method output_type + 20, // [20:68] is the sub-list for method input_type + 20, // [20:20] is the sub-list for extension type_name + 20, // [20:20] is the sub-list for extension extendee + 0, // [0:20] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_commands_proto_init() } @@ -2768,7 +2878,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitResponse_Progress); i { + switch v := v.(*CleanDownloadCacheDirectoryRequest); i { case 0: return &v.state case 1: @@ -2780,7 +2890,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateIndexResponse_Result); i { + switch v := v.(*CleanDownloadCacheDirectoryResponse); i { case 0: return &v.state case 1: @@ -2792,6 +2902,30 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InitResponse_Progress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateIndexResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateLibrariesIndexResponse_Result); i { case 0: return &v.state @@ -2823,7 +2957,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_commands_proto_rawDesc, NumEnums: 2, - NumMessages: 25, + NumMessages: 27, NumExtensions: 0, NumServices: 1, }, diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 61d89a8f4d1..8f26f080c89 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -189,6 +189,10 @@ service ArduinoCoreService { // Query the debugger information given a specific configuration. rpc GetDebugConfig(GetDebugConfigRequest) returns (GetDebugConfigResponse) {} + // Clean the download cache directory (where archives are downloaded). + rpc CleanDownloadCacheDirectory(CleanDownloadCacheDirectoryRequest) + returns (CleanDownloadCacheDirectoryResponse); + // List all the settings. rpc SettingsGetAll(SettingsGetAllRequest) returns (SettingsGetAllResponse); @@ -414,3 +418,10 @@ message SetSketchDefaultsResponse { // (sketch.yaml) string default_programmer = 4; } + +message CleanDownloadCacheDirectoryRequest { + // The Arduino Core Service instance. + Instance instance = 1; +} + +message CleanDownloadCacheDirectoryResponse {} diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 6b336e0d6d5..b7327bba607 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -75,6 +75,7 @@ const ( ArduinoCoreService_Debug_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/Debug" ArduinoCoreService_IsDebugSupported_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/IsDebugSupported" ArduinoCoreService_GetDebugConfig_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/GetDebugConfig" + ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/CleanDownloadCacheDirectory" ArduinoCoreService_SettingsGetAll_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll" ArduinoCoreService_SettingsMerge_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge" ArduinoCoreService_SettingsGetValue_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue" @@ -177,6 +178,8 @@ type ArduinoCoreServiceClient interface { IsDebugSupported(ctx context.Context, in *IsDebugSupportedRequest, opts ...grpc.CallOption) (*IsDebugSupportedResponse, error) // Query the debugger information given a specific configuration. GetDebugConfig(ctx context.Context, in *GetDebugConfigRequest, opts ...grpc.CallOption) (*GetDebugConfigResponse, error) + // Clean the download cache directory (where archives are downloaded). + CleanDownloadCacheDirectory(ctx context.Context, in *CleanDownloadCacheDirectoryRequest, opts ...grpc.CallOption) (*CleanDownloadCacheDirectoryResponse, error) // List all the settings. SettingsGetAll(ctx context.Context, in *SettingsGetAllRequest, opts ...grpc.CallOption) (*SettingsGetAllResponse, error) // Set multiple settings values at once. @@ -1049,6 +1052,15 @@ func (c *arduinoCoreServiceClient) GetDebugConfig(ctx context.Context, in *GetDe return out, nil } +func (c *arduinoCoreServiceClient) CleanDownloadCacheDirectory(ctx context.Context, in *CleanDownloadCacheDirectoryRequest, opts ...grpc.CallOption) (*CleanDownloadCacheDirectoryResponse, error) { + out := new(CleanDownloadCacheDirectoryResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *arduinoCoreServiceClient) SettingsGetAll(ctx context.Context, in *SettingsGetAllRequest, opts ...grpc.CallOption) (*SettingsGetAllResponse, error) { out := new(SettingsGetAllResponse) err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetAll_FullMethodName, in, out, opts...) @@ -1197,6 +1209,8 @@ type ArduinoCoreServiceServer interface { IsDebugSupported(context.Context, *IsDebugSupportedRequest) (*IsDebugSupportedResponse, error) // Query the debugger information given a specific configuration. GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) + // Clean the download cache directory (where archives are downloaded). + CleanDownloadCacheDirectory(context.Context, *CleanDownloadCacheDirectoryRequest) (*CleanDownloadCacheDirectoryResponse, error) // List all the settings. SettingsGetAll(context.Context, *SettingsGetAllRequest) (*SettingsGetAllResponse, error) // Set multiple settings values at once. @@ -1339,6 +1353,9 @@ func (UnimplementedArduinoCoreServiceServer) IsDebugSupported(context.Context, * func (UnimplementedArduinoCoreServiceServer) GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDebugConfig not implemented") } +func (UnimplementedArduinoCoreServiceServer) CleanDownloadCacheDirectory(context.Context, *CleanDownloadCacheDirectoryRequest) (*CleanDownloadCacheDirectoryResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CleanDownloadCacheDirectory not implemented") +} func (UnimplementedArduinoCoreServiceServer) SettingsGetAll(context.Context, *SettingsGetAllRequest) (*SettingsGetAllResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SettingsGetAll not implemented") } @@ -2181,6 +2198,24 @@ func _ArduinoCoreService_GetDebugConfig_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _ArduinoCoreService_CleanDownloadCacheDirectory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CleanDownloadCacheDirectoryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).CleanDownloadCacheDirectory(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).CleanDownloadCacheDirectory(ctx, req.(*CleanDownloadCacheDirectoryRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ArduinoCoreService_SettingsGetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SettingsGetAllRequest) if err := dec(in); err != nil { @@ -2376,6 +2411,10 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetDebugConfig", Handler: _ArduinoCoreService_GetDebugConfig_Handler, }, + { + MethodName: "CleanDownloadCacheDirectory", + Handler: _ArduinoCoreService_CleanDownloadCacheDirectory_Handler, + }, { MethodName: "SettingsGetAll", Handler: _ArduinoCoreService_SettingsGetAll_Handler, From 2d66dfa92a3445e2a1ae88c26f9e4e7f48ffa0d6 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 26 Mar 2024 16:42:56 +0100 Subject: [PATCH 129/361] gRPC: Added CheckForArduinoCLIUpdates RPC call (#2573) * gRPC: Added CheckForArduinoCLIUpdates RPC call * Enable force check --- commands/daemon/daemon.go | 7 + commands/updatecheck/check_for_updates.go | 114 ++ internal/cli/cli.go | 75 +- internal/cli/updater/updater.go | 91 -- internal/cli/version/version.go | 22 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 1303 +++++++++-------- rpc/cc/arduino/cli/commands/v1/commands.proto | 16 + .../cli/commands/v1/commands_grpc.pb.go | 39 + 8 files changed, 955 insertions(+), 712 deletions(-) create mode 100644 commands/updatecheck/check_for_updates.go diff --git a/commands/daemon/daemon.go b/commands/daemon/daemon.go index dbe2fe95f9b..97a2783e0e6 100644 --- a/commands/daemon/daemon.go +++ b/commands/daemon/daemon.go @@ -31,6 +31,7 @@ import ( "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/commands/monitor" "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/commands/updatecheck" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -583,6 +584,12 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer return nil } +// CheckForArduinoCLIUpdates FIXMEDOC +func (s *ArduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { + resp, err := updatecheck.CheckForArduinoCLIUpdates(ctx, req) + return resp, convertErrorToRPCStatus(err) +} + // CleanDownloadCacheDirectory FIXMEDOC func (s *ArduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { resp, err := cache.CleanDownloadCacheDirectory(ctx, req) diff --git a/commands/updatecheck/check_for_updates.go b/commands/updatecheck/check_for_updates.go new file mode 100644 index 00000000000..e7cda71638d --- /dev/null +++ b/commands/updatecheck/check_for_updates.go @@ -0,0 +1,114 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 updatecheck + +import ( + "context" + "strings" + "time" + + "github.com/arduino/arduino-cli/internal/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/inventory" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/arduino-cli/version" + semver "go.bug.st/relaxed-semver" +) + +func CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { + currentVersion, err := semver.Parse(version.VersionInfo.VersionString) + if err != nil { + return nil, err + } + + if !shouldCheckForUpdate(currentVersion) && !req.GetForceCheck() { + return &rpc.CheckForArduinoCLIUpdatesResponse{}, nil + } + + defer func() { + // Always save the last time we checked for updates at the end + inventory.Store.Set("updater.last_check_time", time.Now()) + inventory.WriteStore() + }() + + latestVersion, err := semver.Parse(getLatestRelease()) + if err != nil { + return nil, err + } + + if currentVersion.GreaterThanOrEqual(latestVersion) { + // Current version is already good enough + return &rpc.CheckForArduinoCLIUpdatesResponse{}, nil + } + + return &rpc.CheckForArduinoCLIUpdatesResponse{ + NewestVersion: latestVersion.String(), + }, nil +} + +// shouldCheckForUpdate return true if it actually makes sense to check for new updates, +// false in all other cases. +func shouldCheckForUpdate(currentVersion *semver.Version) bool { + if strings.Contains(currentVersion.String(), "git-snapshot") || strings.Contains(currentVersion.String(), "nightly") { + // This is a dev build, no need to check for updates + return false + } + + if !configuration.Settings.GetBool("updater.enable_notification") { + // Don't check if the user disabled the notification + return false + } + + if inventory.Store.IsSet("updater.last_check_time") && time.Since(inventory.Store.GetTime("updater.last_check_time")).Hours() < 24 { + // Checked less than 24 hours ago, let's wait + return false + } + + // Don't check when running on CI or on non interactive consoles + return !feedback.IsCI() && feedback.IsInteractive() && feedback.HasConsole() +} + +// getLatestRelease queries the official Arduino download server for the latest release, +// if there are no errors or issues a version string is returned, in all other case an empty string. +func getLatestRelease() string { + client, err := httpclient.New() + if err != nil { + return "" + } + + // We just use this URL to check if there's a new release available and + // never show it to the user, so it's fine to use the Linux one for all OSs. + URL := "https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz" + res, err := client.Head(URL) + if err != nil { + // Yes, we ignore it + return "" + } + + // Get redirected URL + location := res.Request.URL.String() + + // The location header points to the latest release of the CLI, it's supposed to be formatted like this: + // https://downloads.arduino.cc/arduino-cli/arduino-cli_0.18.3_Linux_64bit.tar.gz + // so we split it to get the version, if there are not enough splits something must have gone wrong. + split := strings.Split(location, "_") + if len(split) < 2 { + return "" + } + + return split[1] +} diff --git a/internal/cli/cli.go b/internal/cli/cli.go index d08a45e2e80..ba6214967cc 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -16,11 +16,13 @@ package cli import ( + "context" "fmt" "io" "os" "strings" + "github.com/arduino/arduino-cli/commands/updatecheck" "github.com/arduino/arduino-cli/internal/cli/board" "github.com/arduino/arduino-cli/internal/cli/burnbootloader" "github.com/arduino/arduino-cli/internal/cli/cache" @@ -44,6 +46,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/version" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" versioninfo "github.com/arduino/arduino-cli/version" "github.com/fatih/color" "github.com/mattn/go-colorable" @@ -54,24 +57,54 @@ import ( ) var ( - verbose bool - outputFormat string - configFile string - updaterMessageChan chan *semver.Version = make(chan *semver.Version) + verbose bool + outputFormat string + configFile string ) // NewCommand creates a new ArduinoCli command root func NewCommand() *cobra.Command { cobra.AddTemplateFunc("tr", i18n.Tr) + var updaterMessageChan chan *semver.Version + // ArduinoCli is the root command arduinoCli := &cobra.Command{ - Use: "arduino-cli", - Short: tr("Arduino CLI."), - Long: tr("Arduino Command Line Interface (arduino-cli)."), - Example: fmt.Sprintf(" %s <%s> [%s...]", os.Args[0], tr("command"), tr("flags")), - PersistentPreRun: preRun, - PersistentPostRun: postRun, + Use: "arduino-cli", + Short: tr("Arduino CLI."), + Long: tr("Arduino Command Line Interface (arduino-cli)."), + Example: fmt.Sprintf(" %s <%s> [%s...]", os.Args[0], tr("command"), tr("flags")), + PersistentPreRun: func(cmd *cobra.Command, args []string) { + preRun(cmd, args) + + if cmd.Name() != "version" { + updaterMessageChan = make(chan *semver.Version) + go func() { + res, err := updatecheck.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) + if err != nil { + logrus.Warnf("Error checking for updates: %v", err) + updaterMessageChan <- nil + return + } + if v := res.GetNewestVersion(); v == "" { + updaterMessageChan <- nil + } else if latest, err := semver.Parse(v); err != nil { + logrus.Warnf("Error parsing version: %v", err) + } else { + logrus.Infof("New version available: %s", v) + updaterMessageChan <- latest + } + }() + } + }, + PersistentPostRun: func(cmd *cobra.Command, args []string) { + if updaterMessageChan != nil { + if latestVersion := <-updaterMessageChan; latestVersion != nil { + // Notify the user a new version is available + updater.NotifyNewVersionIsAvailable(latestVersion.String()) + } + } + }, } arduinoCli.SetUsageTemplate(getUsageTemplate()) @@ -160,20 +193,6 @@ func preRun(cmd *cobra.Command, args []string) { feedback.SetOut(colorable.NewColorableStdout()) feedback.SetErr(colorable.NewColorableStderr()) - updaterMessageChan = make(chan *semver.Version) - go func() { - if cmd.Name() == "version" { - // The version command checks by itself if there's a new available version - updaterMessageChan <- nil - } - // Starts checking for updates - currentVersion, err := semver.Parse(versioninfo.VersionInfo.VersionString) - if err != nil { - updaterMessageChan <- nil - } - updaterMessageChan <- updater.CheckForUpdate(currentVersion) - }() - // // Prepare logging // @@ -251,11 +270,3 @@ func preRun(cmd *cobra.Command, args []string) { }) } } - -func postRun(cmd *cobra.Command, args []string) { - latestVersion := <-updaterMessageChan - if latestVersion != nil { - // Notify the user a new version is available - updater.NotifyNewVersionIsAvailable(latestVersion.String()) - } -} diff --git a/internal/cli/updater/updater.go b/internal/cli/updater/updater.go index 8a980fb3ad9..1ebd0d382b1 100644 --- a/internal/cli/updater/updater.go +++ b/internal/cli/updater/updater.go @@ -17,53 +17,15 @@ package updater import ( "fmt" - "strings" - "time" - "github.com/arduino/arduino-cli/internal/arduino/httpclient" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" - "github.com/arduino/arduino-cli/internal/inventory" "github.com/arduino/arduino-cli/version" "github.com/fatih/color" - semver "go.bug.st/relaxed-semver" ) var tr = i18n.Tr -// CheckForUpdate returns the latest available version if greater than -// the one running and it makes sense to check for an update, nil in all other cases -func CheckForUpdate(currentVersion *semver.Version) *semver.Version { - if !shouldCheckForUpdate(currentVersion) { - return nil - } - - return ForceCheckForUpdate(currentVersion) -} - -// ForceCheckForUpdate always returns the latest available version if greater than -// the one running, nil in all other cases -func ForceCheckForUpdate(currentVersion *semver.Version) *semver.Version { - defer func() { - // Always save the last time we checked for updates at the end - inventory.Store.Set("updater.last_check_time", time.Now()) - inventory.WriteStore() - }() - - latestVersion, err := semver.Parse(getLatestRelease()) - if err != nil { - return nil - } - - if currentVersion.GreaterThanOrEqual(latestVersion) { - // Current version is already good enough - return nil - } - - return latestVersion -} - // NotifyNewVersionIsAvailable prints information about the new latestVersion func NotifyNewVersionIsAvailable(latestVersion string) { msg := fmt.Sprintf("\n\n%s %s → %s\n%s", @@ -73,56 +35,3 @@ func NotifyNewVersionIsAvailable(latestVersion string) { color.YellowString("https://arduino.github.io/arduino-cli/latest/installation/#latest-packages")) feedback.Warning(msg) } - -// shouldCheckForUpdate return true if it actually makes sense to check for new updates, -// false in all other cases. -func shouldCheckForUpdate(currentVersion *semver.Version) bool { - if strings.Contains(currentVersion.String(), "git-snapshot") || strings.Contains(currentVersion.String(), "nightly") { - // This is a dev build, no need to check for updates - return false - } - - if !configuration.Settings.GetBool("updater.enable_notification") { - // Don't check if the user disabled the notification - return false - } - - if inventory.Store.IsSet("updater.last_check_time") && time.Since(inventory.Store.GetTime("updater.last_check_time")).Hours() < 24 { - // Checked less than 24 hours ago, let's wait - return false - } - - // Don't check when running on CI or on non interactive consoles - return !feedback.IsCI() && feedback.IsInteractive() && feedback.HasConsole() -} - -// getLatestRelease queries the official Arduino download server for the latest release, -// if there are no errors or issues a version string is returned, in all other case an empty string. -func getLatestRelease() string { - client, err := httpclient.New() - if err != nil { - return "" - } - - // We just use this URL to check if there's a new release available and - // never show it to the user, so it's fine to use the Linux one for all OSs. - URL := "https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz" - res, err := client.Head(URL) - if err != nil { - // Yes, we ignore it - return "" - } - - // Get redirected URL - location := res.Request.URL.String() - - // The location header points to the latest release of the CLI, it's supposed to be formatted like this: - // https://downloads.arduino.cc/arduino-cli/arduino-cli_0.18.3_Linux_64bit.tar.gz - // so we split it to get the version, if there are not enough splits something must have gone wrong. - split := strings.Split(location, "_") - if len(split) < 2 { - return "" - } - - return split[1] -} diff --git a/internal/cli/version/version.go b/internal/cli/version/version.go index 990a4cbd236..0f0c85872e0 100644 --- a/internal/cli/version/version.go +++ b/internal/cli/version/version.go @@ -16,17 +16,18 @@ package version import ( - "fmt" + "context" "os" "strings" + "github.com/arduino/arduino-cli/commands/updatecheck" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/updater" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" "github.com/sirupsen/logrus" "github.com/spf13/cobra" - semver "go.bug.st/relaxed-semver" ) var tr = i18n.Tr @@ -55,20 +56,21 @@ func runVersionCommand(cmd *cobra.Command, args []string) { return } - currentVersion, err := semver.Parse(info.VersionString) + latestVersion := "" + res, err := updatecheck.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) if err != nil { - feedback.Fatal(fmt.Sprintf("Error parsing current version: %s", err), feedback.ErrGeneric) + feedback.Warning("Failed to check for updates: " + err.Error()) + } else { + latestVersion = res.GetNewestVersion() } - latestVersion := updater.CheckForUpdate(currentVersion) - if feedback.GetFormat() != feedback.Text && latestVersion != nil { - // Set this only we managed to get the latest version - info.LatestVersion = latestVersion.String() + if feedback.GetFormat() != feedback.Text { + info.LatestVersion = latestVersion } feedback.PrintResult(info) - if feedback.GetFormat() == feedback.Text && latestVersion != nil { - updater.NotifyNewVersionIsAvailable(latestVersion.String()) + if feedback.GetFormat() == feedback.Text && latestVersion != "" { + updater.NotifyNewVersionIsAvailable(latestVersion) } } diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index fb0c77d965e..ca33b869446 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -1474,6 +1474,104 @@ func (x *SetSketchDefaultsResponse) GetDefaultProgrammer() string { return "" } +type CheckForArduinoCLIUpdatesRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Force the check, even if the configuration says not to check for + // updates. + ForceCheck bool `protobuf:"varint,1,opt,name=force_check,json=forceCheck,proto3" json:"force_check,omitempty"` +} + +func (x *CheckForArduinoCLIUpdatesRequest) Reset() { + *x = CheckForArduinoCLIUpdatesRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckForArduinoCLIUpdatesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckForArduinoCLIUpdatesRequest) ProtoMessage() {} + +func (x *CheckForArduinoCLIUpdatesRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckForArduinoCLIUpdatesRequest.ProtoReflect.Descriptor instead. +func (*CheckForArduinoCLIUpdatesRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{22} +} + +func (x *CheckForArduinoCLIUpdatesRequest) GetForceCheck() bool { + if x != nil { + return x.ForceCheck + } + return false +} + +type CheckForArduinoCLIUpdatesResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The latest version of Arduino CLI available, if bigger than the + // current version. + NewestVersion string `protobuf:"bytes,1,opt,name=newest_version,json=newestVersion,proto3" json:"newest_version,omitempty"` +} + +func (x *CheckForArduinoCLIUpdatesResponse) Reset() { + *x = CheckForArduinoCLIUpdatesResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CheckForArduinoCLIUpdatesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CheckForArduinoCLIUpdatesResponse) ProtoMessage() {} + +func (x *CheckForArduinoCLIUpdatesResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CheckForArduinoCLIUpdatesResponse.ProtoReflect.Descriptor instead. +func (*CheckForArduinoCLIUpdatesResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{23} +} + +func (x *CheckForArduinoCLIUpdatesResponse) GetNewestVersion() string { + if x != nil { + return x.NewestVersion + } + return "" +} + type CleanDownloadCacheDirectoryRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1486,7 +1584,7 @@ type CleanDownloadCacheDirectoryRequest struct { func (x *CleanDownloadCacheDirectoryRequest) Reset() { *x = CleanDownloadCacheDirectoryRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1499,7 +1597,7 @@ func (x *CleanDownloadCacheDirectoryRequest) String() string { func (*CleanDownloadCacheDirectoryRequest) ProtoMessage() {} func (x *CleanDownloadCacheDirectoryRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1512,7 +1610,7 @@ func (x *CleanDownloadCacheDirectoryRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CleanDownloadCacheDirectoryRequest.ProtoReflect.Descriptor instead. func (*CleanDownloadCacheDirectoryRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{22} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{24} } func (x *CleanDownloadCacheDirectoryRequest) GetInstance() *Instance { @@ -1531,7 +1629,7 @@ type CleanDownloadCacheDirectoryResponse struct { func (x *CleanDownloadCacheDirectoryResponse) Reset() { *x = CleanDownloadCacheDirectoryResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1544,7 +1642,7 @@ func (x *CleanDownloadCacheDirectoryResponse) String() string { func (*CleanDownloadCacheDirectoryResponse) ProtoMessage() {} func (x *CleanDownloadCacheDirectoryResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1557,7 +1655,7 @@ func (x *CleanDownloadCacheDirectoryResponse) ProtoReflect() protoreflect.Messag // Deprecated: Use CleanDownloadCacheDirectoryResponse.ProtoReflect.Descriptor instead. func (*CleanDownloadCacheDirectoryResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{23} + return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{25} } type InitResponse_Progress struct { @@ -1574,7 +1672,7 @@ type InitResponse_Progress struct { func (x *InitResponse_Progress) Reset() { *x = InitResponse_Progress{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1587,7 +1685,7 @@ func (x *InitResponse_Progress) String() string { func (*InitResponse_Progress) ProtoMessage() {} func (x *InitResponse_Progress) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1629,7 +1727,7 @@ type UpdateIndexResponse_Result struct { func (x *UpdateIndexResponse_Result) Reset() { *x = UpdateIndexResponse_Result{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1642,7 +1740,7 @@ func (x *UpdateIndexResponse_Result) String() string { func (*UpdateIndexResponse_Result) ProtoMessage() {} func (x *UpdateIndexResponse_Result) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1677,7 +1775,7 @@ type UpdateLibrariesIndexResponse_Result struct { func (x *UpdateLibrariesIndexResponse_Result) Reset() { *x = UpdateLibrariesIndexResponse_Result{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1690,7 +1788,7 @@ func (x *UpdateLibrariesIndexResponse_Result) String() string { func (*UpdateLibrariesIndexResponse_Result) ProtoMessage() {} func (x *UpdateLibrariesIndexResponse_Result) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26] + mi := &file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1943,410 +2041,429 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x66, 0x0a, 0x22, 0x43, 0x6c, 0x65, 0x61, 0x6e, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, - 0x25, 0x0a, 0x23, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, - 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, - 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, 0x52, - 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, - 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, - 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, - 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, - 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, - 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, - 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x20, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x22, 0x4a, 0x0a, 0x21, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, + 0x4c, 0x49, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x77, 0x65, 0x73, + 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x22, 0x43, 0x6c, 0x65, 0x61, + 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x22, 0x25, 0x0a, 0x23, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x93, 0x02, 0x0a, 0x18, 0x46, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x31, 0x0a, 0x2d, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, + 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, + 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x55, + 0x52, 0x4c, 0x10, 0x01, 0x12, 0x30, 0x0a, 0x2c, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, + 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, + 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, + 0x52, 0x52, 0x4f, 0x52, 0x10, 0x02, 0x12, 0x2f, 0x0a, 0x2b, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, - 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, 0x4e, - 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xb6, 0x2e, 0x0a, - 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x27, + 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x54, 0x4f, 0x4f, 0x4c, 0x5f, 0x4c, 0x4f, 0x41, 0x44, 0x5f, + 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, + 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, + 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, + 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xd1, 0x2f, + 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, - 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x04, 0x49, 0x6e, 0x69, 0x74, 0x12, + 0x27, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, - 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, - 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x44, 0x65, 0x73, 0x74, 0x72, 0x6f, + 0x79, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x72, 0x0a, 0x0b, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x2e, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x12, 0x8d, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, - 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, - 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, - 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x49, + 0x6e, 0x64, 0x65, 0x78, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01, + 0x12, 0x64, 0x0a, 0x07, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x6a, 0x0a, 0x09, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, + 0x74, 0x63, 0x68, 0x12, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x34, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x2e, 0x4e, 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x65, 0x77, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x00, 0x12, 0x6d, 0x0a, 0x0a, 0x4c, 0x6f, 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x12, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, + 0x61, 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x61, + 0x64, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x00, 0x12, 0x76, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, 0x0a, - 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, + 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x53, 0x65, + 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x12, + 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x44, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x71, + 0x0a, 0x0c, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, - 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, + 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x68, 0x0a, 0x09, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2c, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x71, 0x0a, 0x0c, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, - 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, - 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, - 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, + 0x0a, 0x0b, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2e, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, + 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, + 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, - 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, + 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, - 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, - 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, + 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, - 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, + 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, + 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, + 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, - 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, - 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, - 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, + 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, + 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, + 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, + 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, + 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, - 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, - 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, - 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, - 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, + 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, + 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, - 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, - 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x43, 0x6c, 0x65, - 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, - 0x72, 0x67, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, + 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, + 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, + 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, 0x19, 0x43, 0x68, + 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, + 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, + 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x12, + 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, + 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, + 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, + 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2362,7 +2479,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 29) var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (FailedInstanceInitReason)(0), // 0: cc.arduino.cli.commands.v1.FailedInstanceInitReason (IndexUpdateReport_Status)(0), // 1: cc.arduino.cli.commands.v1.IndexUpdateReport.Status @@ -2388,111 +2505,113 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*ArchiveSketchResponse)(nil), // 21: cc.arduino.cli.commands.v1.ArchiveSketchResponse (*SetSketchDefaultsRequest)(nil), // 22: cc.arduino.cli.commands.v1.SetSketchDefaultsRequest (*SetSketchDefaultsResponse)(nil), // 23: cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - (*CleanDownloadCacheDirectoryRequest)(nil), // 24: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest - (*CleanDownloadCacheDirectoryResponse)(nil), // 25: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse - (*InitResponse_Progress)(nil), // 26: cc.arduino.cli.commands.v1.InitResponse.Progress - (*UpdateIndexResponse_Result)(nil), // 27: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result - (*UpdateLibrariesIndexResponse_Result)(nil), // 28: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result - (*Instance)(nil), // 29: cc.arduino.cli.commands.v1.Instance - (*status.Status)(nil), // 30: google.rpc.Status - (*SketchProfile)(nil), // 31: cc.arduino.cli.commands.v1.SketchProfile - (*DownloadProgress)(nil), // 32: cc.arduino.cli.commands.v1.DownloadProgress - (*Sketch)(nil), // 33: cc.arduino.cli.commands.v1.Sketch - (*TaskProgress)(nil), // 34: cc.arduino.cli.commands.v1.TaskProgress - (*BoardDetailsRequest)(nil), // 35: cc.arduino.cli.commands.v1.BoardDetailsRequest - (*BoardListRequest)(nil), // 36: cc.arduino.cli.commands.v1.BoardListRequest - (*BoardListAllRequest)(nil), // 37: cc.arduino.cli.commands.v1.BoardListAllRequest - (*BoardSearchRequest)(nil), // 38: cc.arduino.cli.commands.v1.BoardSearchRequest - (*BoardListWatchRequest)(nil), // 39: cc.arduino.cli.commands.v1.BoardListWatchRequest - (*CompileRequest)(nil), // 40: cc.arduino.cli.commands.v1.CompileRequest - (*PlatformInstallRequest)(nil), // 41: cc.arduino.cli.commands.v1.PlatformInstallRequest - (*PlatformDownloadRequest)(nil), // 42: cc.arduino.cli.commands.v1.PlatformDownloadRequest - (*PlatformUninstallRequest)(nil), // 43: cc.arduino.cli.commands.v1.PlatformUninstallRequest - (*PlatformUpgradeRequest)(nil), // 44: cc.arduino.cli.commands.v1.PlatformUpgradeRequest - (*UploadRequest)(nil), // 45: cc.arduino.cli.commands.v1.UploadRequest - (*UploadUsingProgrammerRequest)(nil), // 46: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - (*SupportedUserFieldsRequest)(nil), // 47: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - (*ListProgrammersAvailableForUploadRequest)(nil), // 48: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - (*BurnBootloaderRequest)(nil), // 49: cc.arduino.cli.commands.v1.BurnBootloaderRequest - (*PlatformSearchRequest)(nil), // 50: cc.arduino.cli.commands.v1.PlatformSearchRequest - (*LibraryDownloadRequest)(nil), // 51: cc.arduino.cli.commands.v1.LibraryDownloadRequest - (*LibraryInstallRequest)(nil), // 52: cc.arduino.cli.commands.v1.LibraryInstallRequest - (*LibraryUpgradeRequest)(nil), // 53: cc.arduino.cli.commands.v1.LibraryUpgradeRequest - (*ZipLibraryInstallRequest)(nil), // 54: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - (*GitLibraryInstallRequest)(nil), // 55: cc.arduino.cli.commands.v1.GitLibraryInstallRequest - (*LibraryUninstallRequest)(nil), // 56: cc.arduino.cli.commands.v1.LibraryUninstallRequest - (*LibraryUpgradeAllRequest)(nil), // 57: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - (*LibraryResolveDependenciesRequest)(nil), // 58: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - (*LibrarySearchRequest)(nil), // 59: cc.arduino.cli.commands.v1.LibrarySearchRequest - (*LibraryListRequest)(nil), // 60: cc.arduino.cli.commands.v1.LibraryListRequest - (*MonitorRequest)(nil), // 61: cc.arduino.cli.commands.v1.MonitorRequest - (*EnumerateMonitorPortSettingsRequest)(nil), // 62: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*DebugRequest)(nil), // 63: cc.arduino.cli.commands.v1.DebugRequest - (*IsDebugSupportedRequest)(nil), // 64: cc.arduino.cli.commands.v1.IsDebugSupportedRequest - (*GetDebugConfigRequest)(nil), // 65: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*SettingsGetAllRequest)(nil), // 66: cc.arduino.cli.commands.v1.SettingsGetAllRequest - (*SettingsMergeRequest)(nil), // 67: cc.arduino.cli.commands.v1.SettingsMergeRequest - (*SettingsGetValueRequest)(nil), // 68: cc.arduino.cli.commands.v1.SettingsGetValueRequest - (*SettingsSetValueRequest)(nil), // 69: cc.arduino.cli.commands.v1.SettingsSetValueRequest - (*SettingsWriteRequest)(nil), // 70: cc.arduino.cli.commands.v1.SettingsWriteRequest - (*SettingsDeleteRequest)(nil), // 71: cc.arduino.cli.commands.v1.SettingsDeleteRequest - (*BoardDetailsResponse)(nil), // 72: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardListResponse)(nil), // 73: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 74: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 75: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 76: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 77: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 78: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 79: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 80: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 81: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 82: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 83: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 84: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 85: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 86: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 87: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*LibraryDownloadResponse)(nil), // 88: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 89: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 91: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 92: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 93: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 94: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 95: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 96: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 97: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 98: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 99: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*DebugResponse)(nil), // 100: cc.arduino.cli.commands.v1.DebugResponse - (*IsDebugSupportedResponse)(nil), // 101: cc.arduino.cli.commands.v1.IsDebugSupportedResponse - (*GetDebugConfigResponse)(nil), // 102: cc.arduino.cli.commands.v1.GetDebugConfigResponse - (*SettingsGetAllResponse)(nil), // 103: cc.arduino.cli.commands.v1.SettingsGetAllResponse - (*SettingsMergeResponse)(nil), // 104: cc.arduino.cli.commands.v1.SettingsMergeResponse - (*SettingsGetValueResponse)(nil), // 105: cc.arduino.cli.commands.v1.SettingsGetValueResponse - (*SettingsSetValueResponse)(nil), // 106: cc.arduino.cli.commands.v1.SettingsSetValueResponse - (*SettingsWriteResponse)(nil), // 107: cc.arduino.cli.commands.v1.SettingsWriteResponse - (*SettingsDeleteResponse)(nil), // 108: cc.arduino.cli.commands.v1.SettingsDeleteResponse + (*CheckForArduinoCLIUpdatesRequest)(nil), // 24: cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest + (*CheckForArduinoCLIUpdatesResponse)(nil), // 25: cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse + (*CleanDownloadCacheDirectoryRequest)(nil), // 26: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest + (*CleanDownloadCacheDirectoryResponse)(nil), // 27: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse + (*InitResponse_Progress)(nil), // 28: cc.arduino.cli.commands.v1.InitResponse.Progress + (*UpdateIndexResponse_Result)(nil), // 29: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result + (*UpdateLibrariesIndexResponse_Result)(nil), // 30: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result + (*Instance)(nil), // 31: cc.arduino.cli.commands.v1.Instance + (*status.Status)(nil), // 32: google.rpc.Status + (*SketchProfile)(nil), // 33: cc.arduino.cli.commands.v1.SketchProfile + (*DownloadProgress)(nil), // 34: cc.arduino.cli.commands.v1.DownloadProgress + (*Sketch)(nil), // 35: cc.arduino.cli.commands.v1.Sketch + (*TaskProgress)(nil), // 36: cc.arduino.cli.commands.v1.TaskProgress + (*BoardDetailsRequest)(nil), // 37: cc.arduino.cli.commands.v1.BoardDetailsRequest + (*BoardListRequest)(nil), // 38: cc.arduino.cli.commands.v1.BoardListRequest + (*BoardListAllRequest)(nil), // 39: cc.arduino.cli.commands.v1.BoardListAllRequest + (*BoardSearchRequest)(nil), // 40: cc.arduino.cli.commands.v1.BoardSearchRequest + (*BoardListWatchRequest)(nil), // 41: cc.arduino.cli.commands.v1.BoardListWatchRequest + (*CompileRequest)(nil), // 42: cc.arduino.cli.commands.v1.CompileRequest + (*PlatformInstallRequest)(nil), // 43: cc.arduino.cli.commands.v1.PlatformInstallRequest + (*PlatformDownloadRequest)(nil), // 44: cc.arduino.cli.commands.v1.PlatformDownloadRequest + (*PlatformUninstallRequest)(nil), // 45: cc.arduino.cli.commands.v1.PlatformUninstallRequest + (*PlatformUpgradeRequest)(nil), // 46: cc.arduino.cli.commands.v1.PlatformUpgradeRequest + (*UploadRequest)(nil), // 47: cc.arduino.cli.commands.v1.UploadRequest + (*UploadUsingProgrammerRequest)(nil), // 48: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + (*SupportedUserFieldsRequest)(nil), // 49: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + (*ListProgrammersAvailableForUploadRequest)(nil), // 50: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + (*BurnBootloaderRequest)(nil), // 51: cc.arduino.cli.commands.v1.BurnBootloaderRequest + (*PlatformSearchRequest)(nil), // 52: cc.arduino.cli.commands.v1.PlatformSearchRequest + (*LibraryDownloadRequest)(nil), // 53: cc.arduino.cli.commands.v1.LibraryDownloadRequest + (*LibraryInstallRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibraryInstallRequest + (*LibraryUpgradeRequest)(nil), // 55: cc.arduino.cli.commands.v1.LibraryUpgradeRequest + (*ZipLibraryInstallRequest)(nil), // 56: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + (*GitLibraryInstallRequest)(nil), // 57: cc.arduino.cli.commands.v1.GitLibraryInstallRequest + (*LibraryUninstallRequest)(nil), // 58: cc.arduino.cli.commands.v1.LibraryUninstallRequest + (*LibraryUpgradeAllRequest)(nil), // 59: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + (*LibraryResolveDependenciesRequest)(nil), // 60: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + (*LibrarySearchRequest)(nil), // 61: cc.arduino.cli.commands.v1.LibrarySearchRequest + (*LibraryListRequest)(nil), // 62: cc.arduino.cli.commands.v1.LibraryListRequest + (*MonitorRequest)(nil), // 63: cc.arduino.cli.commands.v1.MonitorRequest + (*EnumerateMonitorPortSettingsRequest)(nil), // 64: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*DebugRequest)(nil), // 65: cc.arduino.cli.commands.v1.DebugRequest + (*IsDebugSupportedRequest)(nil), // 66: cc.arduino.cli.commands.v1.IsDebugSupportedRequest + (*GetDebugConfigRequest)(nil), // 67: cc.arduino.cli.commands.v1.GetDebugConfigRequest + (*SettingsGetAllRequest)(nil), // 68: cc.arduino.cli.commands.v1.SettingsGetAllRequest + (*SettingsMergeRequest)(nil), // 69: cc.arduino.cli.commands.v1.SettingsMergeRequest + (*SettingsGetValueRequest)(nil), // 70: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsSetValueRequest)(nil), // 71: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*SettingsWriteRequest)(nil), // 72: cc.arduino.cli.commands.v1.SettingsWriteRequest + (*SettingsDeleteRequest)(nil), // 73: cc.arduino.cli.commands.v1.SettingsDeleteRequest + (*BoardDetailsResponse)(nil), // 74: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardListResponse)(nil), // 75: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 76: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 77: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardListWatchResponse)(nil), // 78: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 79: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 80: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 81: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 82: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 83: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 84: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 85: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 86: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 87: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 88: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 89: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*LibraryDownloadResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 91: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 92: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 93: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 94: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 95: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 96: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 97: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 98: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 99: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 100: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 101: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*DebugResponse)(nil), // 102: cc.arduino.cli.commands.v1.DebugResponse + (*IsDebugSupportedResponse)(nil), // 103: cc.arduino.cli.commands.v1.IsDebugSupportedResponse + (*GetDebugConfigResponse)(nil), // 104: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*SettingsGetAllResponse)(nil), // 105: cc.arduino.cli.commands.v1.SettingsGetAllResponse + (*SettingsMergeResponse)(nil), // 106: cc.arduino.cli.commands.v1.SettingsMergeResponse + (*SettingsGetValueResponse)(nil), // 107: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueResponse)(nil), // 108: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*SettingsWriteResponse)(nil), // 109: cc.arduino.cli.commands.v1.SettingsWriteResponse + (*SettingsDeleteResponse)(nil), // 110: cc.arduino.cli.commands.v1.SettingsDeleteResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ - 29, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 29, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 26, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress - 30, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status - 31, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 31, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 31, // 1: cc.arduino.cli.commands.v1.InitRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 28, // 2: cc.arduino.cli.commands.v1.InitResponse.init_progress:type_name -> cc.arduino.cli.commands.v1.InitResponse.Progress + 32, // 3: cc.arduino.cli.commands.v1.InitResponse.error:type_name -> google.rpc.Status + 33, // 4: cc.arduino.cli.commands.v1.InitResponse.profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile 0, // 5: cc.arduino.cli.commands.v1.FailedInstanceInitError.reason:type_name -> cc.arduino.cli.commands.v1.FailedInstanceInitReason - 29, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 29, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 32, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 27, // 9: cc.arduino.cli.commands.v1.UpdateIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateIndexResponse.Result - 29, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 32, // 11: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 28, // 12: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result + 31, // 6: cc.arduino.cli.commands.v1.DestroyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 31, // 7: cc.arduino.cli.commands.v1.UpdateIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 34, // 8: cc.arduino.cli.commands.v1.UpdateIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 29, // 9: cc.arduino.cli.commands.v1.UpdateIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateIndexResponse.Result + 31, // 10: cc.arduino.cli.commands.v1.UpdateLibrariesIndexRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 34, // 11: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 30, // 12: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.result:type_name -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result 1, // 13: cc.arduino.cli.commands.v1.IndexUpdateReport.status:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport.Status - 33, // 14: cc.arduino.cli.commands.v1.LoadSketchResponse.sketch:type_name -> cc.arduino.cli.commands.v1.Sketch - 29, // 15: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 32, // 16: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 34, // 17: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 35, // 14: cc.arduino.cli.commands.v1.LoadSketchResponse.sketch:type_name -> cc.arduino.cli.commands.v1.Sketch + 31, // 15: cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 34, // 16: cc.arduino.cli.commands.v1.InitResponse.Progress.download_progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 36, // 17: cc.arduino.cli.commands.v1.InitResponse.Progress.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress 13, // 18: cc.arduino.cli.commands.v1.UpdateIndexResponse.Result.updated_indexes:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport 13, // 19: cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse.Result.libraries_index:type_name -> cc.arduino.cli.commands.v1.IndexUpdateReport 2, // 20: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:input_type -> cc.arduino.cli.commands.v1.CreateRequest @@ -2505,94 +2624,96 @@ var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 18, // 27: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:input_type -> cc.arduino.cli.commands.v1.LoadSketchRequest 20, // 28: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:input_type -> cc.arduino.cli.commands.v1.ArchiveSketchRequest 22, // 29: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:input_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsRequest - 35, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest - 36, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest - 37, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest - 38, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest - 39, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest - 40, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest - 41, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest - 42, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest - 43, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest - 44, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest - 45, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest - 46, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - 47, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - 48, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - 49, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest - 50, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 51, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 52, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 53, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 54, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 55, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 56, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 57, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 58, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 59, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 60, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 61, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 62, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 63, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 64, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest - 65, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 24, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:input_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest - 66, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest - 67, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest - 68, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest - 69, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest - 70, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest - 71, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest - 3, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 5, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 8, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 10, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 12, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 15, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 17, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 19, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 21, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 23, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 72, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 73, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 74, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 75, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 76, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 77, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 78, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 79, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 80, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 81, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 82, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 83, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 84, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 85, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 86, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 87, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 88, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 89, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 90, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 91, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 92, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 93, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 94, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 95, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 96, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 97, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 98, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 99, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 100, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 101, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse - 102, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 25, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:output_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse - 103, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse - 104, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse - 105, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse - 106, // 113: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse - 107, // 114: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse - 108, // 115: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse - 68, // [68:116] is the sub-list for method output_type - 20, // [20:68] is the sub-list for method input_type + 37, // 30: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:input_type -> cc.arduino.cli.commands.v1.BoardDetailsRequest + 38, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest + 39, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest + 40, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest + 41, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest + 42, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest + 43, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest + 44, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest + 45, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest + 46, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest + 47, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest + 48, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + 49, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + 50, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + 51, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest + 52, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest + 53, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 54, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 55, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 56, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 57, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 58, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 59, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 60, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 61, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 62, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 63, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 64, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 65, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest + 66, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest + 67, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 24, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:input_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest + 26, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:input_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest + 68, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest + 69, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest + 70, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 71, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest + 72, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest + 73, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest + 3, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 5, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 8, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 10, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 12, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 15, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 17, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 19, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 21, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 23, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 74, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 75, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 76, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 77, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 78, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 79, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 80, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 81, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 82, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 83, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 84, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 85, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 86, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 87, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 88, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 89, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 90, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 91, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 92, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 93, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 94, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 95, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 96, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 97, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 98, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 99, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 100, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 101, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 102, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 103, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse + 104, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 25, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:output_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse + 27, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:output_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse + 105, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse + 106, // 113: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse + 107, // 114: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 108, // 115: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse + 109, // 116: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse + 110, // 117: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse + 69, // [69:118] is the sub-list for method output_type + 20, // [20:69] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name @@ -2878,7 +2999,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CleanDownloadCacheDirectoryRequest); i { + switch v := v.(*CheckForArduinoCLIUpdatesRequest); i { case 0: return &v.state case 1: @@ -2890,7 +3011,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CleanDownloadCacheDirectoryResponse); i { + switch v := v.(*CheckForArduinoCLIUpdatesResponse); i { case 0: return &v.state case 1: @@ -2902,7 +3023,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitResponse_Progress); i { + switch v := v.(*CleanDownloadCacheDirectoryRequest); i { case 0: return &v.state case 1: @@ -2914,7 +3035,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateIndexResponse_Result); i { + switch v := v.(*CleanDownloadCacheDirectoryResponse); i { case 0: return &v.state case 1: @@ -2926,6 +3047,30 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*InitResponse_Progress); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*UpdateIndexResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UpdateLibrariesIndexResponse_Result); i { case 0: return &v.state @@ -2957,7 +3102,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_commands_proto_rawDesc, NumEnums: 2, - NumMessages: 27, + NumMessages: 29, NumExtensions: 0, NumServices: 1, }, diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 8f26f080c89..78660e28d5c 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -189,6 +189,10 @@ service ArduinoCoreService { // Query the debugger information given a specific configuration. rpc GetDebugConfig(GetDebugConfigRequest) returns (GetDebugConfigResponse) {} + // Check for updates to the Arduino CLI. + rpc CheckForArduinoCLIUpdates(CheckForArduinoCLIUpdatesRequest) + returns (CheckForArduinoCLIUpdatesResponse); + // Clean the download cache directory (where archives are downloaded). rpc CleanDownloadCacheDirectory(CleanDownloadCacheDirectoryRequest) returns (CleanDownloadCacheDirectoryResponse); @@ -419,6 +423,18 @@ message SetSketchDefaultsResponse { string default_programmer = 4; } +message CheckForArduinoCLIUpdatesRequest { + // Force the check, even if the configuration says not to check for + // updates. + bool force_check = 1; +} + +message CheckForArduinoCLIUpdatesResponse { + // The latest version of Arduino CLI available, if bigger than the + // current version. + string newest_version = 1; +} + message CleanDownloadCacheDirectoryRequest { // The Arduino Core Service instance. Instance instance = 1; diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index b7327bba607..5021e89d488 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -75,6 +75,7 @@ const ( ArduinoCoreService_Debug_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/Debug" ArduinoCoreService_IsDebugSupported_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/IsDebugSupported" ArduinoCoreService_GetDebugConfig_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/GetDebugConfig" + ArduinoCoreService_CheckForArduinoCLIUpdates_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/CheckForArduinoCLIUpdates" ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/CleanDownloadCacheDirectory" ArduinoCoreService_SettingsGetAll_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll" ArduinoCoreService_SettingsMerge_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge" @@ -178,6 +179,8 @@ type ArduinoCoreServiceClient interface { IsDebugSupported(ctx context.Context, in *IsDebugSupportedRequest, opts ...grpc.CallOption) (*IsDebugSupportedResponse, error) // Query the debugger information given a specific configuration. GetDebugConfig(ctx context.Context, in *GetDebugConfigRequest, opts ...grpc.CallOption) (*GetDebugConfigResponse, error) + // Check for updates to the Arduino CLI. + CheckForArduinoCLIUpdates(ctx context.Context, in *CheckForArduinoCLIUpdatesRequest, opts ...grpc.CallOption) (*CheckForArduinoCLIUpdatesResponse, error) // Clean the download cache directory (where archives are downloaded). CleanDownloadCacheDirectory(ctx context.Context, in *CleanDownloadCacheDirectoryRequest, opts ...grpc.CallOption) (*CleanDownloadCacheDirectoryResponse, error) // List all the settings. @@ -1052,6 +1055,15 @@ func (c *arduinoCoreServiceClient) GetDebugConfig(ctx context.Context, in *GetDe return out, nil } +func (c *arduinoCoreServiceClient) CheckForArduinoCLIUpdates(ctx context.Context, in *CheckForArduinoCLIUpdatesRequest, opts ...grpc.CallOption) (*CheckForArduinoCLIUpdatesResponse, error) { + out := new(CheckForArduinoCLIUpdatesResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_CheckForArduinoCLIUpdates_FullMethodName, in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *arduinoCoreServiceClient) CleanDownloadCacheDirectory(ctx context.Context, in *CleanDownloadCacheDirectoryRequest, opts ...grpc.CallOption) (*CleanDownloadCacheDirectoryResponse, error) { out := new(CleanDownloadCacheDirectoryResponse) err := c.cc.Invoke(ctx, ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName, in, out, opts...) @@ -1209,6 +1221,8 @@ type ArduinoCoreServiceServer interface { IsDebugSupported(context.Context, *IsDebugSupportedRequest) (*IsDebugSupportedResponse, error) // Query the debugger information given a specific configuration. GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) + // Check for updates to the Arduino CLI. + CheckForArduinoCLIUpdates(context.Context, *CheckForArduinoCLIUpdatesRequest) (*CheckForArduinoCLIUpdatesResponse, error) // Clean the download cache directory (where archives are downloaded). CleanDownloadCacheDirectory(context.Context, *CleanDownloadCacheDirectoryRequest) (*CleanDownloadCacheDirectoryResponse, error) // List all the settings. @@ -1353,6 +1367,9 @@ func (UnimplementedArduinoCoreServiceServer) IsDebugSupported(context.Context, * func (UnimplementedArduinoCoreServiceServer) GetDebugConfig(context.Context, *GetDebugConfigRequest) (*GetDebugConfigResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method GetDebugConfig not implemented") } +func (UnimplementedArduinoCoreServiceServer) CheckForArduinoCLIUpdates(context.Context, *CheckForArduinoCLIUpdatesRequest) (*CheckForArduinoCLIUpdatesResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method CheckForArduinoCLIUpdates not implemented") +} func (UnimplementedArduinoCoreServiceServer) CleanDownloadCacheDirectory(context.Context, *CleanDownloadCacheDirectoryRequest) (*CleanDownloadCacheDirectoryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CleanDownloadCacheDirectory not implemented") } @@ -2198,6 +2215,24 @@ func _ArduinoCoreService_GetDebugConfig_Handler(srv interface{}, ctx context.Con return interceptor(ctx, in, info, handler) } +func _ArduinoCoreService_CheckForArduinoCLIUpdates_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CheckForArduinoCLIUpdatesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).CheckForArduinoCLIUpdates(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_CheckForArduinoCLIUpdates_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).CheckForArduinoCLIUpdates(ctx, req.(*CheckForArduinoCLIUpdatesRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ArduinoCoreService_CleanDownloadCacheDirectory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(CleanDownloadCacheDirectoryRequest) if err := dec(in); err != nil { @@ -2411,6 +2446,10 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ MethodName: "GetDebugConfig", Handler: _ArduinoCoreService_GetDebugConfig_Handler, }, + { + MethodName: "CheckForArduinoCLIUpdates", + Handler: _ArduinoCoreService_CheckForArduinoCLIUpdates_Handler, + }, { MethodName: "CleanDownloadCacheDirectory", Handler: _ArduinoCoreService_CleanDownloadCacheDirectory_Handler, From 96cf9627d69e4588bad2a87d91180dc5bc78ae2c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Apr 2024 09:01:03 +0200 Subject: [PATCH 130/361] [skip-changelog] Bump golangci/golangci-lint-action from 4 to 5 (#2584) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 4 to 5. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v4...v5) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-go-task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index dc34e42c2a4..6e347253980 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -114,7 +114,7 @@ jobs: version: 3.x - name: golangci-lint - uses: golangci/golangci-lint-action@v4 + uses: golangci/golangci-lint-action@v5 with: version: v1.57 From 2063b6a0685d90507cb12260b822bec65d69559f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 3 May 2024 13:13:42 +0200 Subject: [PATCH 131/361] Remove `yaml` output format from `--format` flag. / Deprecate `--format json` in favor of `--json` (#2587) * Removed 'yaml' output from '--format' flag * Deprecated '--format json' in favor of '--json' * Updated all --format json references to use --json --- .licenses/go/sigs.k8s.io/yaml.dep.yml | 317 ---------- .../go/sigs.k8s.io/yaml/goyaml.v2.dep.yml | 571 ------------------ docs/UPGRADING.md | 4 + docs/getting-started.md | 37 +- docs/versioning.md | 4 +- go.mod | 1 - go.sum | 3 - internal/cli/cli.go | 11 +- internal/cli/core/upgrade.go | 2 +- internal/cli/feedback/feedback.go | 12 - internal/integrationtest/arduino-cli.go | 2 +- internal/integrationtest/board/board_test.go | 40 +- .../board/hardware_loading_test.go | 16 +- .../integrationtest/compile_1/compile_test.go | 8 +- .../compile_3/compile_commands_test.go | 2 +- .../compile_3/compile_show_properties_test.go | 14 +- .../integrationtest/compile_3/compile_test.go | 8 +- .../compile_3/lib_selection_test.go | 4 +- .../integrationtest/compile_4/compile_test.go | 2 +- .../integrationtest/config/config_test.go | 85 ++- internal/integrationtest/core/core_test.go | 106 ++-- internal/integrationtest/debug/debug_test.go | 28 +- internal/integrationtest/lib/lib_test.go | 100 +-- internal/integrationtest/main/main_test.go | 4 +- .../integrationtest/profiles/profiles_test.go | 16 +- .../integrationtest/upload/upload_test.go | 10 +- 26 files changed, 257 insertions(+), 1150 deletions(-) delete mode 100644 .licenses/go/sigs.k8s.io/yaml.dep.yml delete mode 100644 .licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml diff --git a/.licenses/go/sigs.k8s.io/yaml.dep.yml b/.licenses/go/sigs.k8s.io/yaml.dep.yml deleted file mode 100644 index 75c8789ff5d..00000000000 --- a/.licenses/go/sigs.k8s.io/yaml.dep.yml +++ /dev/null @@ -1,317 +0,0 @@ ---- -name: sigs.k8s.io/yaml -version: v1.4.0 -type: go -summary: -homepage: https://pkg.go.dev/sigs.k8s.io/yaml -license: other -licenses: -- sources: LICENSE - text: | - The MIT License (MIT) - - Copyright (c) 2014 Sam Ghods - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - - Copyright (c) 2012 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - # The forked go-yaml.v3 library under this project is covered by two - different licenses (MIT and Apache): - - #### MIT License #### - - The following files were ported to Go from C files of libyaml, and thus - are still covered by their original MIT license, with the additional - copyright staring in 2011 when the project was ported over: - - apic.go emitterc.go parserc.go readerc.go scannerc.go - writerc.go yamlh.go yamlprivateh.go - - Copyright (c) 2006-2010 Kirill Simonov - Copyright (c) 2006-2011 Kirill Simonov - - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal in - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - ### Apache License ### - - All the remaining project files are covered by the Apache license: - - Copyright (c) 2011-2019 Canonical Ltd - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - # The forked go-yaml.v2 library under the project is covered by an - Apache license: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -notices: [] diff --git a/.licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml b/.licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml deleted file mode 100644 index 685cc250260..00000000000 --- a/.licenses/go/sigs.k8s.io/yaml/goyaml.v2.dep.yml +++ /dev/null @@ -1,571 +0,0 @@ ---- -name: sigs.k8s.io/yaml/goyaml.v2 -version: v1.4.0 -type: go -summary: Package yaml implements YAML support for the Go language. -homepage: https://pkg.go.dev/sigs.k8s.io/yaml/goyaml.v2 -license: other -licenses: -- sources: LICENSE - text: |2 - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -- sources: yaml@v1.4.0/LICENSE - text: | - The MIT License (MIT) - - Copyright (c) 2014 Sam Ghods - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - - Copyright (c) 2012 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - # The forked go-yaml.v3 library under this project is covered by two - different licenses (MIT and Apache): - - #### MIT License #### - - The following files were ported to Go from C files of libyaml, and thus - are still covered by their original MIT license, with the additional - copyright staring in 2011 when the project was ported over: - - apic.go emitterc.go parserc.go readerc.go scannerc.go - writerc.go yamlh.go yamlprivateh.go - - Copyright (c) 2006-2010 Kirill Simonov - Copyright (c) 2006-2011 Kirill Simonov - - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal in - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. - - ### Apache License ### - - All the remaining project files are covered by the Apache license: - - Copyright (c) 2011-2019 Canonical Ltd - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - - # The forked go-yaml.v2 library under the project is covered by an - Apache license: - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "{}" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright {yyyy} {name of copyright owner} - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -- sources: LICENSE.libyaml - text: | - The following files were ported to Go from C files of libyaml, and thus - are still covered by their original copyright and license: - - apic.go - emitterc.go - parserc.go - readerc.go - scannerc.go - writerc.go - yamlh.go - yamlprivateh.go - - Copyright (c) 2006 Kirill Simonov - - Permission is hereby granted, free of charge, to any person obtaining a copy of - this software and associated documentation files (the "Software"), to deal in - the Software without restriction, including without limitation the rights to - use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies - of the Software, and to permit persons to whom the Software is furnished to do - so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in all - copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - SOFTWARE. -- sources: README.md - text: The yaml package is licensed under the Apache License 2.0. Please see the - LICENSE file for details. -notices: -- sources: NOTICE - text: |- - Copyright 2011-2016 Canonical Ltd. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 009bf4daa38..ef245d67a75 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,10 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### YAML output format is no more supported + +The `yaml` option of the `--format` flag is no more supported. Use `--format json` if machine parsable output is needed. + ### The gRPC `cc.arduino.cli.commands.v1.CompileRequest.export_binaries` changed type. Previously the field `export_binaries` was a `google.protobuf.BoolValue`. We used this type because it expresses this diff --git a/docs/getting-started.md b/docs/getting-started.md index ad4de630496..ce3d804d6cd 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -8,34 +8,35 @@ IDE. Let's see some examples. ```console $ arduino-cli help core -Arduino Core operations. +Arduino core operations. Usage: - arduino-cli core [command] + arduino-cli core [command] Examples: - ./arduino-cli core update-index + arduino-cli core update-index Available Commands: - download Downloads one or more cores and corresponding tool dependencies. - install Installs one or more cores and corresponding tool dependencies. - list Shows the list of installed platforms. - search Search for a core in Boards Manager. - uninstall Uninstalls one or more cores and corresponding tool dependencies if no more used. - update-index Updates the index of cores. - upgrade Upgrades one or all installed platforms to the latest version. + download Downloads one or more cores and corresponding tool dependencies. + install Installs one or more cores and corresponding tool dependencies. + list Shows the list of installed platforms. + search Search for a core in Boards Manager. + uninstall Uninstalls one or more cores and corresponding tool dependencies if no longer used. + update-index Updates the index of cores. + upgrade Upgrades one or all installed platforms to the latest version. Flags: - -h, --help help for core + -h, --help help for core Global Flags: - --additional-urls strings Additional URLs for Boards Manager. - --config-file string The custom config file (if not specified the default will be used). - --format string The output format, can be [text|json]. (default "text") - --log-file string Path to the file where logs will be written. - --log-format string The output format for the logs, can be [text|json]. - --log-level string Messages with this level and above will be logged. - -v, --verbose Print the logs on the standard output. + --additional-urls strings Comma-separated list of additional URLs for the Boards Manager. + --config-file string The custom config file (if not specified the default will be used). + --json Print the output in JSON format. + --log Print the logs on the standard output. + --log-file string Path to the file where logs will be written. + --log-format string The output format for the logs, can be: text, json + --log-level string Messages with this level and above will be logged. Valid levels are: trace, debug, info, warn, error, fatal, panic + --no-color Disable colored output. Use "arduino-cli core [command] --help" for more information about a command. ``` diff --git a/docs/versioning.md b/docs/versioning.md index ef8977300ba..02cccd398d0 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -45,8 +45,8 @@ The following changes to the command-line syntax are NOT considered breaking: Any change in the **human-readable** text output is **NOT** considered a breaking change. In general, the human-readable text is subject to translation and small adjustments in natural language syntax and presentation. -We will consider breaking changes only in the **machine-readable** output of the commands using the `--format json` -flag. In particular, we have a breaking change in the JSON command output if: +We will consider breaking changes only in the **machine-readable** output of the commands using the `--json` flag. In +particular, we have a breaking change in the JSON command output if: - a key in a JSON object is renamed or removed. - a value in a JSON object or array changes meaning or changes format. diff --git a/go.mod b/go.mod index 13185198605..456892b5006 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,6 @@ require ( google.golang.org/grpc v1.62.1 google.golang.org/protobuf v1.33.0 gopkg.in/yaml.v3 v3.0.1 - sigs.k8s.io/yaml v1.4.0 ) require ( diff --git a/go.sum b/go.sum index 09d06141c32..22de80e17f5 100644 --- a/go.sum +++ b/go.sum @@ -82,7 +82,6 @@ github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= @@ -300,5 +299,3 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= -sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= diff --git a/internal/cli/cli.go b/internal/cli/cli.go index ba6214967cc..da265d46f59 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -58,6 +58,7 @@ import ( var ( verbose bool + jsonOutput bool outputFormat string configFile string ) @@ -75,6 +76,10 @@ func NewCommand() *cobra.Command { Long: tr("Arduino Command Line Interface (arduino-cli)."), Example: fmt.Sprintf(" %s <%s> [%s...]", os.Args[0], tr("command"), tr("flags")), PersistentPreRun: func(cmd *cobra.Command, args []string) { + if jsonOutput { + outputFormat = "json" + } + preRun(cmd, args) if cmd.Name() != "version" { @@ -150,11 +155,13 @@ func createCliCommandTree(cmd *cobra.Command) { cmd.RegisterFlagCompletionFunc("log-format", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return validLogFormats, cobra.ShellCompDirectiveDefault }) - validOutputFormats := []string{"text", "json", "jsonmini", "yaml"} - cmd.PersistentFlags().StringVar(&outputFormat, "format", "text", tr("The output format for the logs, can be: %s", strings.Join(validOutputFormats, ", "))) + validOutputFormats := []string{"text", "json", "jsonmini"} + cmd.PersistentFlags().StringVar(&outputFormat, "format", "text", tr("The command output format, can be: %s", strings.Join(validOutputFormats, ", "))) cmd.RegisterFlagCompletionFunc("format", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return validOutputFormats, cobra.ShellCompDirectiveDefault }) + cmd.Flag("format").Hidden = true + cmd.PersistentFlags().BoolVar(&jsonOutput, "json", false, tr("Print the output in JSON format.")) cmd.PersistentFlags().StringVar(&configFile, "config-file", "", tr("The custom config file (if not specified the default will be used).")) cmd.PersistentFlags().StringSlice("additional-urls", []string{}, tr("Comma-separated list of additional URLs for the Boards Manager.")) cmd.PersistentFlags().Bool("no-color", false, "Disable colored output.") diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 638246dc4f1..e98dd72b244 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -142,7 +142,7 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni feedback.PrintResult(&platformUpgradeResult{}) } -// This is needed so we can print warning messages in case users use --format json +// This is needed so we can print warning messages in case users use --json type platformUpgradeResult struct{} // Data implements feedback.Result. diff --git a/internal/cli/feedback/feedback.go b/internal/cli/feedback/feedback.go index 04b5ba336c1..db98749bd41 100644 --- a/internal/cli/feedback/feedback.go +++ b/internal/cli/feedback/feedback.go @@ -26,7 +26,6 @@ import ( "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" - "sigs.k8s.io/yaml" ) // OutputFormat is an output format @@ -39,14 +38,11 @@ const ( JSON // MinifiedJSON format MinifiedJSON - // YAML format - YAML ) var formats = map[string]OutputFormat{ "json": JSON, "jsonmini": MinifiedJSON, - "yaml": YAML, "text": Text, } @@ -204,8 +200,6 @@ func Fatal(errorMsg string, exitCode ExitCode) { d, _ = json.MarshalIndent(augment(res), "", " ") case MinifiedJSON: d, _ = json.Marshal(augment(res)) - case YAML: - d, _ = yaml.Marshal(augment(res)) default: panic("unknown output format") } @@ -250,12 +244,6 @@ func PrintResult(res Result) { Fatal(tr("Error during JSON encoding of the output: %v", err), ErrGeneric) } data = string(d) - case YAML: - d, err := yaml.Marshal(augment(res.Data())) - if err != nil { - Fatal(tr("Error during YAML encoding of the output: %v", err), ErrGeneric) - } - data = string(d) case Text: data = res.String() if resErr, ok := res.(ErrorResult); ok { diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index f3266a7e153..3ec6f44f1ea 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -375,7 +375,7 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader // StartDaemon starts the Arduino CLI daemon. It returns the address of the daemon. func (cli *ArduinoCLI) StartDaemon(verbose bool) string { - args := []string{"daemon", "--format", "json"} + args := []string{"daemon", "--json"} if cli.cliConfigPath != nil { args = append([]string{"--config-file", cli.cliConfigPath.String()}, args...) } diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index 977de95a989..639a27d3a7b 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -36,7 +36,7 @@ func TestCorrectBoardListOrdering(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("core", "install", "arduino:avr") require.NoError(t, err) - jsonOut, _, err := cli.Run("board", "listall", "--format", "json") + jsonOut, _, err := cli.Run("board", "listall", "--json") require.NoError(t, err) requirejson.Query(t, jsonOut, "[.boards[] | .fqbn]", `[ "arduino:avr:yun", @@ -80,7 +80,7 @@ func TestBoardList(t *testing.T) { cli.InstallMockedSerialDiscovery(t) - stdout, _, err := cli.Run("board", "list", "--format", "json") + stdout, _, err := cli.Run("board", "list", "--json") require.NoError(t, err) // check is a valid json and contains a list of ports requirejson.Parse(t, stdout). @@ -97,7 +97,7 @@ func TestBoardListMock(t *testing.T) { cli.InstallMockedSerialDiscovery(t) - stdout, _, err := cli.Run("board", "list", "--format", "json") + stdout, _, err := cli.Run("board", "list", "--json") require.NoError(t, err) // check is a valid json and contains a list of ports @@ -136,7 +136,7 @@ func TestBoardListWithFqbnFilter(t *testing.T) { cli.InstallMockedSerialDiscovery(t) - stdout, _, err := cli.Run("board", "list", "-b", "foo:bar:baz", "--format", "json") + stdout, _, err := cli.Run("board", "list", "-b", "foo:bar:baz", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.detected_ports | length`, `0`) } @@ -150,7 +150,7 @@ func TestBoardListWithFqbnFilterInvalid(t *testing.T) { cli.InstallMockedSerialDiscovery(t) - _, stderr, err := cli.Run("board", "list", "-b", "yadayada", "--format", "json") + _, stderr, err := cli.Run("board", "list", "-b", "yadayada", "--json") require.Error(t, err) requirejson.Query(t, stderr, ".error", `"Invalid FQBN: not an FQBN: yadayada"`) } @@ -164,7 +164,7 @@ func TestBoardListall(t *testing.T) { _, _, err = cli.Run("core", "install", "arduino:avr@1.8.3") require.NoError(t, err) - stdout, _, err := cli.Run("board", "listall", "--format", "json") + stdout, _, err := cli.Run("board", "listall", "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".boards | length", "26") @@ -224,7 +224,7 @@ func TestBoardListallWithManuallyInstalledPlatform(t *testing.T) { }) require.NoError(t, err) - stdout, _, err := cli.Run("board", "listall", "--format", "json") + stdout, _, err := cli.Run("board", "listall", "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".boards | length", "17") @@ -274,11 +274,11 @@ func TestBoardDetails(t *testing.T) { require.NoError(t, err) // Test board listall with and without showing hidden elements - stdout, _, err := cli.Run("board", "listall", "MIPS", "--format", "json") + stdout, _, err := cli.Run("board", "listall", "MIPS", "--json") require.NoError(t, err) require.Equal(t, string(stdout), "{}\n") - stdout, _, err = cli.Run("board", "listall", "MIPS", "-a", "--format", "json") + stdout, _, err = cli.Run("board", "listall", "MIPS", "-a", "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{ "boards": [ @@ -288,7 +288,7 @@ func TestBoardDetails(t *testing.T) { ] }`) - stdout, _, err = cli.Run("board", "details", "-b", "arduino:samd:nano_33_iot", "--format", "json") + stdout, _, err = cli.Run("board", "details", "-b", "arduino:samd:nano_33_iot", "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{ @@ -425,7 +425,7 @@ func TestBoardSearch(t *testing.T) { _, _, err := cli.Run("update") require.NoError(t, err) - stdout, _, err := cli.Run("board", "search", "--format", "json") + stdout, _, err := cli.Run("board", "search", "--json") require.NoError(t, err) // Verifies boards are returned requirejson.NotEmpty(t, stdout) @@ -441,7 +441,7 @@ func TestBoardSearch(t *testing.T) { ]}`) // Search in non installed boards - stdout, _, err = cli.Run("board", "search", "--format", "json", "nano", "33") + stdout, _, err = cli.Run("board", "search", "--json", "nano", "33") require.NoError(t, err) // Verifies boards are returned requirejson.NotEmpty(t, stdout) @@ -457,7 +457,7 @@ func TestBoardSearch(t *testing.T) { _, _, err = cli.Run("core", "install", "arduino:avr@1.8.3") require.NoError(t, err) - stdout, _, err = cli.Run("board", "search", "--format", "json") + stdout, _, err = cli.Run("board", "search", "--json") require.NoError(t, err) requirejson.NotEmpty(t, stdout) // Verifies some FQBNs are now returned after installing a platform @@ -474,7 +474,7 @@ func TestBoardSearch(t *testing.T) { } ]}`) - stdout, _, err = cli.Run("board", "search", "--format", "json", "arduino", "yun") + stdout, _, err = cli.Run("board", "search", "--json", "arduino", "yun") require.NoError(t, err) requirejson.NotEmpty(t, stdout) requirejson.Contains(t, stdout, `{ @@ -494,7 +494,7 @@ func TestBoardSearch(t *testing.T) { }) require.NoError(t, err) - stdout, _, err = cli.Run("board", "search", "--format", "json") + stdout, _, err = cli.Run("board", "search", "--json") require.NoError(t, err) requirejson.NotEmpty(t, stdout) // Verifies some FQBNs are now returned after installing a platform @@ -531,7 +531,7 @@ func TestBoardSearch(t *testing.T) { } ]}`) - stdout, _, err = cli.Run("board", "search", "--format", "json", "mkr1000") + stdout, _, err = cli.Run("board", "search", "--json", "mkr1000") require.NoError(t, err) requirejson.NotEmpty(t, stdout) // Verifies some FQBNs are now returned after installing a platform @@ -557,7 +557,7 @@ func TestBoardAttach(t *testing.T) { require.NoError(t, err) { - stdout, _, err := cli.Run("board", "attach", "-b", "arduino:avr:uno", sketchPath.String(), "--format", "json") + stdout, _, err := cli.Run("board", "attach", "-b", "arduino:avr:uno", sketchPath.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".fqbn", `"arduino:avr:uno"`) @@ -568,7 +568,7 @@ func TestBoardAttach(t *testing.T) { require.NotContains(t, string(yamlData), "default_protocol:") } { - stdout, _, err := cli.Run("board", "attach", "-p", "/dev/ttyACM0", "-l", "serial", sketchPath.String(), "--format", "json") + stdout, _, err := cli.Run("board", "attach", "-p", "/dev/ttyACM0", "-l", "serial", sketchPath.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".fqbn", `"arduino:avr:uno"`) requirejson.Query(t, stdout, ".port.address", `"/dev/ttyACM0"`) @@ -581,7 +581,7 @@ func TestBoardAttach(t *testing.T) { require.Contains(t, string(yamlData), "default_protocol: serial") } { - stdout, _, err := cli.Run("board", "attach", "-p", "/dev/ttyACM0", sketchPath.String(), "--format", "json") + stdout, _, err := cli.Run("board", "attach", "-p", "/dev/ttyACM0", sketchPath.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".fqbn", `"arduino:avr:uno"`) requirejson.Query(t, stdout, ".port.address", `"/dev/ttyACM0"`) @@ -594,7 +594,7 @@ func TestBoardAttach(t *testing.T) { require.NotContains(t, string(yamlData), "default_protocol:") } { - stdout, _, err := cli.Run("board", "attach", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice", sketchPath.String(), "--format", "json") + stdout, _, err := cli.Run("board", "attach", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice", sketchPath.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".fqbn", `"arduino:samd:mkr1000"`) requirejson.Query(t, stdout, ".programmer", `"atmel_ice"`) diff --git a/internal/integrationtest/board/hardware_loading_test.go b/internal/integrationtest/board/hardware_loading_test.go index a5daacdd71c..758ce6a40d2 100644 --- a/internal/integrationtest/board/hardware_loading_test.go +++ b/internal/integrationtest/board/hardware_loading_test.go @@ -43,7 +43,7 @@ func TestHardwareLoading(t *testing.T) { t.Run("Simple", func(t *testing.T) { { - out, _, err := cli.Run("core", "list", "--format", "json") + out, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.LengthMustEqualTo(1) @@ -73,7 +73,7 @@ func TestHardwareLoading(t *testing.T) { { // Also test local platform.txt properties override - out, _, err := cli.Run("board", "details", "-b", "arduino:avr:uno", "--format", "json") + out, _, err := cli.Run("board", "details", "-b", "arduino:avr:uno", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.MustContain(`{ @@ -100,7 +100,7 @@ func TestHardwareLoading(t *testing.T) { } { - out, _, err := cli.Run("board", "details", "-b", "arduino:avr:yun", "--format", "json") + out, _, err := cli.Run("board", "details", "-b", "arduino:avr:yun", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.MustContain(`{ @@ -115,7 +115,7 @@ func TestHardwareLoading(t *testing.T) { { // Check un-expansion of board_properties - out, _, err := cli.Run("board", "details", "-b", "arduino:avr:robotMotor", "--show-properties=unexpanded", "--format", "json") + out, _, err := cli.Run("board", "details", "-b", "arduino:avr:robotMotor", "--show-properties=unexpanded", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.MustContain(`{ @@ -131,7 +131,7 @@ func TestHardwareLoading(t *testing.T) { { // Also test local boards.txt properties override - out, _, err := cli.Run("board", "details", "-b", "arduino:avr:diecimila", "--show-properties=unexpanded", "--format", "json") + out, _, err := cli.Run("board", "details", "-b", "arduino:avr:diecimila", "--show-properties=unexpanded", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.MustContain(`{ @@ -152,7 +152,7 @@ func TestHardwareLoading(t *testing.T) { require.NoError(t, customHwDir.CopyDirTo(cli.SketchbookDir().Join("hardware"))) { - out, _, err := cli.Run("core", "list", "--format", "json") + out, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.Query(`.platforms | length`).LengthMustEqualTo(3) @@ -217,7 +217,7 @@ func TestHardwareLoading(t *testing.T) { { // Also test local platform.txt properties override - out, _, err := cli.Run("board", "details", "-b", "arduino:avr:uno", "--format", "json") + out, _, err := cli.Run("board", "details", "-b", "arduino:avr:uno", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.MustContain(`{ @@ -244,7 +244,7 @@ func TestHardwareLoading(t *testing.T) { } { - out, _, err := cli.Run("board", "details", "-b", "arduino:avr:yun", "--show-properties=unexpanded", "--format", "json") + out, _, err := cli.Run("board", "details", "-b", "arduino:avr:yun", "--show-properties=unexpanded", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.MustContain(`{ diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 554c7c9d365..6d6dd605602 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -164,7 +164,7 @@ func compileWithSimpleSketchCustomEnv(t *testing.T, env *integrationtest.Environ require.NoError(t, err) // Build sketch for arduino:avr:uno with json output - stdout, _, err = cli.RunWithCustomEnv(customEnv, "compile", "-b", fqbn, sketchPath.String(), "--format", "json") + stdout, _, err = cli.RunWithCustomEnv(customEnv, "compile", "-b", fqbn, sketchPath.String(), "--json") require.NoError(t, err) // check is a valid json and contains requested data var compileOutput map[string]interface{} @@ -516,7 +516,7 @@ func compileWithExportBinariesConfig(t *testing.T, env *integrationtest.Environm defer cli.WorkingDir().Join("arduino-cli.yaml").Remove() // Test if arduino-cli config file written in the previous run has the `always_export_binaries` flag set. - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Contains(t, stdout, ` { @@ -845,7 +845,7 @@ func TestCompileWithArchivesAndLongPaths(t *testing.T) { _, _, err = cli.Run("lib", "install", "ArduinoIoTCloud", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "examples", "ArduinoIoTCloud", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("lib", "examples", "ArduinoIoTCloud", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) libOutput := strings.Trim(requirejson.Parse(t, stdout).Query(`.examples.[0].library.install_dir`).String(), `"`) sketchPath := paths.New(libOutput) @@ -1189,7 +1189,7 @@ void loop() { ` expected = strings.ReplaceAll(expected, "%SKETCH_PATH%", cpp.QuoteString(sketchPath.Join("SketchSimple.ino").String())) - jsonOut, _, err := cli.Run("compile", "-b", fqbn, "--preprocess", sketchPath.String(), "--format", "json") + jsonOut, _, err := cli.Run("compile", "-b", fqbn, "--preprocess", sketchPath.String(), "--json") require.NoError(t, err) var ex struct { CompilerOut string `json:"compiler_out"` diff --git a/internal/integrationtest/compile_3/compile_commands_test.go b/internal/integrationtest/compile_3/compile_commands_test.go index a680a76ec83..1abdfc9a056 100644 --- a/internal/integrationtest/compile_3/compile_commands_test.go +++ b/internal/integrationtest/compile_3/compile_commands_test.go @@ -36,7 +36,7 @@ func TestCompileCommandsJSONGeneration(t *testing.T) { require.NoError(t, err) // Create a test sketch - out, _, err := cli.Run("sketch", "new", "Test", "--format", "json") + out, _, err := cli.Run("sketch", "new", "Test", "--json") require.NoError(t, err) var s struct { Path string `json:"sketch_path"` diff --git a/internal/integrationtest/compile_3/compile_show_properties_test.go b/internal/integrationtest/compile_3/compile_show_properties_test.go index 01ebc382d9a..c7b400167fc 100644 --- a/internal/integrationtest/compile_3/compile_show_properties_test.go +++ b/internal/integrationtest/compile_3/compile_show_properties_test.go @@ -51,9 +51,9 @@ func TestCompileShowProperties(t *testing.T) { require.True(t, props.ContainsKey("sketch_path")) require.NotContains(t, props.Get("archive_file_path"), "{build.path}") - // Test --show-properties --format JSON output is clean + // Test --show-properties --json JSON output is clean // properties are expanded - stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", "--show-properties", "--format", "json", bareMinimum.String()) + stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", "--show-properties", "--json", bareMinimum.String()) require.NoError(t, err) require.Empty(t, stderr) props, err = properties.LoadFromSlice( @@ -69,8 +69,8 @@ func TestCompileShowProperties(t *testing.T) { require.NoError(t, err, "Output must be a clean property list") require.NotEmpty(t, stderr) - // Test --show-properties --format JSON output is clean, with a wrong FQBN - stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:unoa", "-v", "--show-properties", "--format", "json", bareMinimum.String()) + // Test --show-properties --json JSON output is clean, with a wrong FQBN + stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:unoa", "-v", "--show-properties", "--json", bareMinimum.String()) require.Error(t, err) require.Empty(t, stderr) requireCompileResponseJson(t, stdout) @@ -87,7 +87,7 @@ func TestCompileShowProperties(t *testing.T) { // Test --show-properties=unexpanded output is clean // properties are not expanded - stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", "--show-properties=unexpanded", "--format", "json", bareMinimum.String()) + stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", "--show-properties=unexpanded", "--json", bareMinimum.String()) require.NoError(t, err) require.Empty(t, stderr) props, err = properties.LoadFromSlice( @@ -106,9 +106,9 @@ func TestCompileShowProperties(t *testing.T) { require.True(t, props.ContainsKey("archive_file_path")) require.NotContains(t, props.Get("archive_file_path"), "{build.path}") - // Test --show-properties=expanded --format JSON output is clean + // Test --show-properties=expanded --json JSON output is clean // properties are expanded - stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", "--show-properties=expanded", "--format", "json", bareMinimum.String()) + stdout, stderr, err = cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", "--show-properties=expanded", "--json", bareMinimum.String()) require.NoError(t, err) require.Empty(t, stderr) props, err = properties.LoadFromSlice( diff --git a/internal/integrationtest/compile_3/compile_test.go b/internal/integrationtest/compile_3/compile_test.go index 076e55b4597..aabd30445d0 100644 --- a/internal/integrationtest/compile_3/compile_test.go +++ b/internal/integrationtest/compile_3/compile_test.go @@ -113,7 +113,7 @@ func TestCompilerErrOutput(t *testing.T) { require.NoError(t, err) // Run compile and catch err stream - out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--format", "json", sketch.String()) + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--json", sketch.String()) require.Error(t, err) outJson := requirejson.Parse(t, out) outJson.Query(`.compiler_err`).MustContain(`"error"`) @@ -135,7 +135,7 @@ func TestCompilerErrOutput(t *testing.T) { require.NoError(t, err) // Run compile and catch err stream - out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--format", "json", sketch.String()) + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--json", sketch.String()) require.Error(t, err) outJson := requirejson.Parse(t, out) outJson.Query(`.success`).MustContain(`false`) @@ -161,7 +161,7 @@ func TestCompilerErrOutput(t *testing.T) { require.NoError(t, err) // Run compile and catch err stream - out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--format", "json", sketch.String()) + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--json", sketch.String()) require.Error(t, err) outJson := requirejson.Parse(t, out) outJson.Query(`.success`).MustContain(`false`) @@ -185,7 +185,7 @@ func TestCompilerErrOutput(t *testing.T) { require.NoError(t, err) // Run compile and catch err stream - out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--format", "json", sketch.String()) + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--json", sketch.String()) require.NoError(t, err) jsonOut := requirejson.Parse(t, out) jsonOut.Query(".compiler_out").MustNotContain(`"fatal error"`) diff --git a/internal/integrationtest/compile_3/lib_selection_test.go b/internal/integrationtest/compile_3/lib_selection_test.go index a999384d583..93c58acd529 100644 --- a/internal/integrationtest/compile_3/lib_selection_test.go +++ b/internal/integrationtest/compile_3/lib_selection_test.go @@ -45,7 +45,7 @@ func TestCompileLibrarySelection(t *testing.T) { // Perform two compile: // - the first should use LibraryA - stdout, _, err := cli.RunWithCustomEnv(vars, "compile", "-b", "arduino:avr:mega", "--format", "json", sketch.String()) + stdout, _, err := cli.RunWithCustomEnv(vars, "compile", "-b", "arduino:avr:mega", "--json", sketch.String()) require.NoError(t, err) requirejson.Contains(t, stdout, `{ "builder_result" : { @@ -56,7 +56,7 @@ func TestCompileLibrarySelection(t *testing.T) { }`) // - the second should use AnotherLibrary (because it was forced by --library) - stdout, _, err = cli.RunWithCustomEnv(vars, "compile", "-b", "arduino:avr:mega", "--library", anotherLib.String(), "--format", "json", sketch.String()) + stdout, _, err = cli.RunWithCustomEnv(vars, "compile", "-b", "arduino:avr:mega", "--library", anotherLib.String(), "--json", sketch.String()) require.NoError(t, err) requirejson.Contains(t, stdout, `{ "builder_result" : { diff --git a/internal/integrationtest/compile_4/compile_test.go b/internal/integrationtest/compile_4/compile_test.go index 63192a12774..a909cab3ab8 100644 --- a/internal/integrationtest/compile_4/compile_test.go +++ b/internal/integrationtest/compile_4/compile_test.go @@ -845,7 +845,7 @@ func tryBuild(t *testing.T, env *integrationtest.Environment, cli *integrationte args := []string{ "compile", "-b", fqbn, - "--format", "json", + "--json", options.Sketch.String()} if !options.NoTestLibraries { libsPath, err := paths.New("testdata", "libraries").Abs() diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 91bb73af9f6..107141ccfb4 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -239,7 +239,7 @@ func TestDump(t *testing.T) { require.NoError(t, err) require.FileExists(t, configFile.String()) - stdout, _, err := cli.Run("config", "dump", "--config-file", configFile.String(), "--format", "json") + stdout, _, err := cli.Run("config", "dump", "--config-file", configFile.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") @@ -249,7 +249,7 @@ func TestDump(t *testing.T) { require.Contains(t, string(stdout), configFile.String()) require.FileExists(t, configFile.String()) - stdout, _, err = cli.Run("config", "dump", "--format", "json") + stdout, _, err = cli.Run("config", "dump", "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") } @@ -265,7 +265,7 @@ func TestDumpWithConfigFileFlag(t *testing.T) { require.NoError(t, err) require.FileExists(t, configFile.String()) - stdout, _, err := cli.Run("config", "dump", "--config-file", configFile.String(), "--format", "json") + stdout, _, err := cli.Run("config", "dump", "--config-file", configFile.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") @@ -275,8 +275,7 @@ func TestDumpWithConfigFileFlag(t *testing.T) { "--config-file", configFile.String(), "--additional-urls=https://another-url.com", - "--format", - "json", + "--json", ) require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://another-url.com\"]") @@ -316,7 +315,7 @@ func TestAddSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies no additional urls are present - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") @@ -326,7 +325,7 @@ func TestAddSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies URL has been saved - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") @@ -337,7 +336,7 @@ func TestAddSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies a second copy has NOT been added - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com\"]") } @@ -351,7 +350,7 @@ func TestAddMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies no additional urls are present - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") @@ -366,7 +365,7 @@ func TestAddMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies URL has been saved - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` @@ -386,7 +385,7 @@ func TestAddMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies no change in result array - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` @@ -411,7 +410,7 @@ func TestAddMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies URL has been saved - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "3") requirejson.Contains(t, stdout, ` @@ -437,7 +436,7 @@ func TestAddOnUnsupportedKey(t *testing.T) { require.NoError(t, err) // Verifies default value - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") @@ -447,7 +446,7 @@ func TestAddOnUnsupportedKey(t *testing.T) { require.Contains(t, string(stderr), "The key 'daemon.port' is not a list of items, can't add to it.\nMaybe use 'config set'?") // Verifies value is not changed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") } @@ -469,7 +468,7 @@ func TestRemoveSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` @@ -489,7 +488,7 @@ func TestRemoveSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies URLs has been removed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com/yet_another_package_example_index.json\"]") } @@ -511,7 +510,7 @@ func TestRemoveMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` @@ -531,7 +530,7 @@ func TestRemoveMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies all URLs have been removed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") } @@ -545,7 +544,7 @@ func TestRemoveOnUnsupportedKey(t *testing.T) { require.NoError(t, err) // Verifies default value - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") @@ -555,7 +554,7 @@ func TestRemoveOnUnsupportedKey(t *testing.T) { require.Contains(t, string(stderr), "The key 'daemon.port' is not a list of items, can't remove from it.\nMaybe use 'config delete'?") // Verifies value is not changed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .daemon | .port", "\"50051\"") } @@ -569,7 +568,7 @@ func TestSetSliceWithSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") @@ -579,7 +578,7 @@ func TestSetSliceWithSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies value is changed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com/package_example_index.json\"]") @@ -589,7 +588,7 @@ func TestSetSliceWithSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies value is changed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[\"https://example.com/yet_another_package_example_index.json\"]") } @@ -603,7 +602,7 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") @@ -616,7 +615,7 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies value is changed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` @@ -640,7 +639,7 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies previous value is overwritten - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "2") requirejson.Contains(t, stdout, ` @@ -672,7 +671,7 @@ func TestSetSliceWithMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies all unique values exist in config - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls | length", "4") requirejson.Contains(t, stdout, ` @@ -699,7 +698,7 @@ func TestSetStringWithSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .logging | .level", "\"info\"") @@ -708,7 +707,7 @@ func TestSetStringWithSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies value is changed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .logging | .level", "\"trace\"") } @@ -722,7 +721,7 @@ func TestSetStringWithMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .logging | .level", "\"info\"") @@ -741,7 +740,7 @@ func TestSetBoolWithSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "false") @@ -750,7 +749,7 @@ func TestSetBoolWithSingleArgument(t *testing.T) { require.NoError(t, err) // Verifies value is changed - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "true") } @@ -764,7 +763,7 @@ func TestSetBoolWithMultipleArguments(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "false") @@ -783,7 +782,7 @@ func TestDelete(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "false") @@ -800,7 +799,7 @@ func TestDelete(t *testing.T) { require.NotContains(t, configLines, "enable_unsafe_install") // Verifies default state - stdout, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .board_manager | .additional_urls", "[]") @@ -827,22 +826,22 @@ func TestGet(t *testing.T) { require.NoError(t, err) // Verifies default state - stdout, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Query(t, stdout, ".config | .daemon | .port", `"50051"`) // Get simple key value - stdout, _, err = cli.Run("config", "get", "daemon.port", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "get", "daemon.port", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Contains(t, stdout, `"50051"`) // Get structured key value - stdout, _, err = cli.Run("config", "get", "daemon", "--format", "json", "--config-file", "arduino-cli.yaml") + stdout, _, err = cli.Run("config", "get", "daemon", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) requirejson.Contains(t, stdout, `{"port":"50051"}`) // Get undefined key - _, stderr, err := cli.Run("config", "get", "foo", "--format", "json", "--config-file", "arduino-cli.yaml") + _, stderr, err := cli.Run("config", "get", "foo", "--json", "--config-file", "arduino-cli.yaml") require.Error(t, err) requirejson.Contains(t, stderr, `{"error":"Cannot get the configuration key foo: key not found in settings"}`) } @@ -857,23 +856,23 @@ func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { envConfig.WriteFile([]byte(`env-test: "test"`)) // No flag nor env specified. - stdout, _, err := cli.Run("config", "dump", "--format", "json") + stdout, _, err := cli.Run("config", "dump", "--json") require.NoError(t, err) requirejson.NotEmpty(t, stdout) // Flag specified - stdout, _, err = cli.Run("config", "dump", "--config-file", cliConfig.String(), "--format", "json") + stdout, _, err = cli.Run("config", "dump", "--config-file", cliConfig.String(), "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{"config":{ "cli-test": "test" }}`) // Env specified customEnv := map[string]string{"ARDUINO_CONFIG_FILE": envConfig.String()} - stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--format", "json") + stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{"config":{ "env-test": "test" }}`) // Flag and env specified, flag takes precedence - stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--config-file", cliConfig.String(), "--format", "json") + stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--config-file", cliConfig.String(), "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{"config":{ "cli-test": "test" }}`) } diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index 1df21f22b79..864e45ab710 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -47,7 +47,7 @@ func TestCorrectHandlingOfPlatformVersionProperty(t *testing.T) { require.NoError(t, testPlatform.CopyDirTo(cli.SketchbookDir().Join("hardware", "DxCore-dev"))) // Trigger problematic call - out, _, err := cli.Run("core", "list", "--format", "json") + out, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Contains(t, out, `{ "platforms": [ @@ -83,19 +83,19 @@ func TestCoreSearch(t *testing.T) { _, _, err = cli.Run("core", "install", "arduino:avr@1.8.6") require.NoError(t, err) - out, _, err = cli.Run("core", "search", "avr", "--format", "json") + out, _, err = cli.Run("core", "search", "avr", "--json") require.NoError(t, err) requirejson.NotEmpty(t, out) // Verify that "installed_version" is set requirejson.Contains(t, out, `{"platforms":[{installed_version: "1.8.6"}]}`) // additional URL - out, _, err = cli.Run("core", "search", "test_core", "--format", "json", "--additional-urls="+url.String()) + out, _, err = cli.Run("core", "search", "test_core", "--json", "--additional-urls="+url.String()) require.NoError(t, err) requirejson.Query(t, out, `.platforms | length`, `1`) // show all versions - out, _, err = cli.Run("core", "search", "test_core", "--all", "--format", "json", "--additional-urls="+url.String()) + out, _, err = cli.Run("core", "search", "test_core", "--all", "--json", "--additional-urls="+url.String()) require.NoError(t, err) requirejson.Query(t, out, `.platforms.[].releases | length`, "3") @@ -105,30 +105,30 @@ func TestCoreSearch(t *testing.T) { } // Search all Retrokit platforms - out, _, err = cli.Run("core", "search", "retrokit", "--all", "--additional-urls="+url.String(), "--format", "json") + out, _, err = cli.Run("core", "search", "retrokit", "--all", "--additional-urls="+url.String(), "--json") require.NoError(t, err) checkPlatformIsInJSONOutput(out, "Retrokits-RK002:arm", "1.0.5") checkPlatformIsInJSONOutput(out, "Retrokits-RK002:arm", "1.0.6") // Search using Retrokit Package Maintainer - out, _, err = cli.Run("core", "search", "Retrokits-RK002", "--all", "--additional-urls="+url.String(), "--format", "json") + out, _, err = cli.Run("core", "search", "Retrokits-RK002", "--all", "--additional-urls="+url.String(), "--json") require.NoError(t, err) checkPlatformIsInJSONOutput(out, "Retrokits-RK002:arm", "1.0.5") checkPlatformIsInJSONOutput(out, "Retrokits-RK002:arm", "1.0.6") // Search using the Retrokit Platform name - out, _, err = cli.Run("core", "search", "rk002", "--all", "--additional-urls="+url.String(), "--format", "json") + out, _, err = cli.Run("core", "search", "rk002", "--all", "--additional-urls="+url.String(), "--json") require.NoError(t, err) checkPlatformIsInJSONOutput(out, "Retrokits-RK002:arm", "1.0.5") checkPlatformIsInJSONOutput(out, "Retrokits-RK002:arm", "1.0.6") // Search using board names - out, _, err = cli.Run("core", "search", "myboard", "--all", "--additional-urls="+url.String(), "--format", "json") + out, _, err = cli.Run("core", "search", "myboard", "--all", "--additional-urls="+url.String(), "--json") require.NoError(t, err) checkPlatformIsInJSONOutput(out, "Package:x86", "1.2.3") runSearch := func(searchArgs string, expectedIDs ...string) { - args := []string{"core", "search", "--format", "json"} + args := []string{"core", "search", "--json"} args = append(args, strings.Split(searchArgs, " ")...) out, _, err := cli.Run(args...) require.NoError(t, err) @@ -182,7 +182,7 @@ func TestCoreSearchNoArgs(t *testing.T) { numPlatforms := len(lines) - 1 // Same thing in JSON format, also check the number of platforms found is the same - stdout, _, err = cli.Run("core", "search", "--format", "json") + stdout, _, err = cli.Run("core", "search", "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{"platforms":[{"id": "test:x86", "releases": { "2.0.0": {"name":"test_core"}}}]}`) requirejson.Query(t, stdout, ".platforms | length", fmt.Sprint(numPlatforms)) @@ -200,7 +200,7 @@ func TestCoreSearchNoArgs(t *testing.T) { numPlatforms = len(lines) - 1 // same thing in JSON format, also check the number of platforms found is the same - stdout, _, err = cli.Run("core", "search", "--format", "json", "--additional-urls="+url.String()) + stdout, _, err = cli.Run("core", "search", "--json", "--additional-urls="+url.String()) require.NoError(t, err) requirejson.Contains(t, stdout, `{ "platforms": [ @@ -327,7 +327,7 @@ func TestCoreInstall(t *testing.T) { // Install a specific core version _, _, err = cli.Run("core", "install", "arduino:avr@1.6.16") require.NoError(t, err) - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.16"`) @@ -342,12 +342,12 @@ func TestCoreInstall(t *testing.T) { // Replace it with a more recent one without --no-overwrite (should succeed) _, _, err = cli.Run("core", "install", "arduino:avr@1.6.17") require.NoError(t, err) - stdout, _, err = cli.Run("core", "list", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms.[] | select(.id == "arduino:avr") | .installed_version`, `"1.6.17"`) // Confirm core is listed as "updatable" - stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--updatable", "--json") require.NoError(t, err) jsonout := requirejson.Parse(t, stdout) q := jsonout.Query(`.platforms.[] | select(.id == "arduino:avr")`) @@ -357,12 +357,12 @@ func TestCoreInstall(t *testing.T) { // Upgrade the core to latest version _, _, err = cli.Run("core", "upgrade", "arduino:avr") require.NoError(t, err) - stdout, _, err = cli.Run("core", "list", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms.[] | select(.id == "arduino:avr") | .installed_version`, latest.String()) // double check the core isn't updatable anymore - stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--updatable", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `0`) } @@ -375,12 +375,12 @@ func TestCoreUninstall(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("core", "install", "arduino:avr") require.NoError(t, err) - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{"platforms":[ { "id": "arduino:avr" } ]}`) _, _, err = cli.Run("core", "uninstall", "arduino:avr") require.NoError(t, err) - stdout, _, err = cli.Run("core", "list", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `0`) } @@ -445,7 +445,7 @@ func TestCoreUpdateWithLocalUrl(t *testing.T) { testIndex = "/" + strings.ReplaceAll(testIndex, "\\", "/") } - stdout, _, err := cli.Run("core", "update-index", "--additional-urls=file://"+testIndex, "--format", "json") + stdout, _, err := cli.Run("core", "update-index", "--additional-urls=file://"+testIndex, "--json") require.NoError(t, err) requirejson.Parse(t, stdout).MustContain(`{"updated_indexes":[{"index_url":"file://` + testIndex + `","status":"skipped"}]}`) } @@ -458,7 +458,7 @@ func TestCoreSearchManuallyInstalledCoresNotPrinted(t *testing.T) { require.NoError(t, err) // Verifies only cores in board manager are shown - stdout, _, err := cli.Run("core", "search", "--format", "json") + stdout, _, err := cli.Run("core", "search", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) oldJson := stdout @@ -473,7 +473,7 @@ func TestCoreSearchManuallyInstalledCoresNotPrinted(t *testing.T) { require.NoError(t, err) // Verifies manually installed core is not shown - stdout, _, err = cli.Run("core", "search", "--format", "json") + stdout, _, err = cli.Run("core", "search", "--json") require.NoError(t, err) requirejson.NotContains(t, stdout, `{"platforms":[{"id": "arduino-beta-development:avr"}]}`) require.Equal(t, oldJson, stdout) @@ -487,7 +487,7 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) { require.NoError(t, err) // Verifies only cores in board manager are shown - stdout, _, err := cli.Run("core", "list", "--all", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--all", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query(".platforms | length").String()) @@ -503,7 +503,7 @@ func TestCoreListAllManuallyInstalledCore(t *testing.T) { require.NoError(t, err) // Verifies manually installed core is shown - stdout, _, err = cli.Run("core", "list", "--all", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--all", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, fmt.Sprint(length+1)) requirejson.Contains(t, stdout, `{"platforms":[ @@ -527,7 +527,7 @@ func TestCoreListShowsLatestVersionWhenMultipleReleasesOfAManuallyInstalledCoreA require.NoError(t, err) // Verifies only cores in board manager are shown - stdout, _, err := cli.Run("core", "list", "--all", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--all", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query(".platforms | length").String()) @@ -553,7 +553,7 @@ func TestCoreListShowsLatestVersionWhenMultipleReleasesOfAManuallyInstalledCoreA require.NoError(t, err) // When manually installing 2 releases of the same core, the newest one takes precedence - stdout, _, err = cli.Run("core", "list", "--all", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--all", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, fmt.Sprint(length+1)) requirejson.Contains(t, stdout, `{"platforms":[ @@ -581,7 +581,7 @@ func TestCoreListUpdatableAllFlags(t *testing.T) { require.NoError(t, err) // Verifies only cores in board manager are shown - stdout, _, err := cli.Run("core", "list", "--all", "--updatable", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--all", "--updatable", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length > 0`, `true`) length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query(".platforms | length").String()) @@ -597,7 +597,7 @@ func TestCoreListUpdatableAllFlags(t *testing.T) { require.NoError(t, err) // Verifies using both --updatable and --all flags --all takes precedence - stdout, _, err = cli.Run("core", "list", "--all", "--updatable", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--all", "--updatable", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, fmt.Sprint(length+1)) requirejson.Contains(t, stdout, `{"platforms":[ @@ -674,7 +674,7 @@ func TestCoreListWithInstalledJson(t *testing.T) { require.NoError(t, err) // Verifies installed core is correctly found and name is set - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `1`) requirejson.Contains(t, stdout, `{"platforms":[ @@ -697,7 +697,7 @@ func TestCoreListWithInstalledJson(t *testing.T) { require.NoError(t, installedJson.Remove()) // Verifies installed core is still found and name is set - stdout, _, err = cli.Run("core", "list", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `1`) // Name for this core changes since if there's installed.json file we read it from @@ -790,7 +790,7 @@ func TestCoreSearchSortedResults(t *testing.T) { require.Equal(t, lines, append(notDeprecated, deprecated...)) // test same behaviour with json output - stdout, _, err = cli.Run("core", "search", "--additional-urls="+url.String(), "--format=json") + stdout, _, err = cli.Run("core", "search", "--additional-urls="+url.String(), "--json") require.NoError(t, err) // verify that results are already sorted correctly @@ -861,7 +861,7 @@ func TestCoreListSortedResults(t *testing.T) { require.Equal(t, lines, append(notDeprecated, deprecated...)) // test same behaviour with json output - stdout, _, err = cli.Run("core", "list", "--additional-urls="+url.String(), "--format=json") + stdout, _, err = cli.Run("core", "list", "--additional-urls="+url.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `3`) @@ -908,7 +908,7 @@ func TestCoreListDeprecatedPlatformWithInstalledJson(t *testing.T) { require.NoError(t, installedJsonFile.WriteFile([]byte(updatedInstalledJsonData))) // test same behaviour with json output - stdout, _, err := cli.Run("core", "list", "--additional-urls="+url.String(), "--format=json") + stdout, _, err := cli.Run("core", "list", "--additional-urls="+url.String(), "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `1`) @@ -922,7 +922,7 @@ func TestCoreListPlatformWithoutPlatformTxt(t *testing.T) { _, _, err := cli.Run("update") require.NoError(t, err) - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `0`) @@ -934,7 +934,7 @@ func TestCoreListPlatformWithoutPlatformTxt(t *testing.T) { require.NoError(t, testBoardsTxt.CopyTo(boardsTxt)) // Verifies no core is installed - stdout, _, err = cli.Run("core", "list", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `1`) requirejson.Query(t, stdout, ".platforms.[] | .id", `"some-packager:some-arch"`) @@ -954,7 +954,7 @@ func TestCoreDownloadMultiplePlatforms(t *testing.T) { require.NoError(t, err) // Verifies no core is installed - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `0`) @@ -970,7 +970,7 @@ func TestCoreDownloadMultiplePlatforms(t *testing.T) { require.NoError(t, testBoardsTxt.CopyTo(boardsTxt1)) // Verifies the two cores are detected - stdout, _, err = cli.Run("core", "list", "--format", "json") + stdout, _, err = cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `2`) @@ -994,7 +994,7 @@ func TestCoreWithMissingCustomBoardOptionsIsLoaded(t *testing.T) { _, _, err := cli.Run("update") require.NoError(t, err) - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `1`) // Verifies platform is loaded except excluding board with missing options @@ -1032,7 +1032,7 @@ func TestCoreListOutdatedCore(t *testing.T) { _, _, err = cli.Run("core", "install", "arduino:samd@1.8.6") require.NoError(t, err) - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `1`) requirejson.Query(t, stdout, ".platforms.[0] | .installed_version", "\"1.8.6\"") @@ -1051,7 +1051,7 @@ func TestCoreLoadingPackageManager(t *testing.T) { // Create empty architecture folder (this condition is normally produced by `core uninstall`) require.NoError(t, cli.DataDir().Join("packages", "foovendor", "hardware", "fooarch").MkdirAll()) - _, _, err := cli.Run("core", "list", "--all", "--format", "json") + _, _, err := cli.Run("core", "list", "--all", "--json") require.NoError(t, err) // this should not make the cli crash } @@ -1152,7 +1152,7 @@ func TestCoreUpgradeWarningWithPackageInstalledButNotIndexed(t *testing.T) { _, _, err = cli.Run("core", "install", "test:x86@1.0.0", "--additional-urls="+url) require.NoError(t, err) // upgrade without index fires a warning - jsonStdout, _, _ := cli.Run("core", "upgrade", "test:x86", "--format", "json") + jsonStdout, _, _ := cli.Run("core", "upgrade", "test:x86", "--json") requirejson.Query(t, jsonStdout, ".warnings[]", `"missing package index for test:x86, future updates cannot be guaranteed"`) }) @@ -1161,7 +1161,7 @@ func TestCoreUpgradeWarningWithPackageInstalledButNotIndexed(t *testing.T) { require.NoError(t, os.Remove(installedJson.String())) t.Run("missing both installed.json and additional-urls", func(t *testing.T) { - jsonStdout, _, _ := cli.Run("core", "upgrade", "test:x86", "--format", "json") + jsonStdout, _, _ := cli.Run("core", "upgrade", "test:x86", "--json") requirejson.Query(t, jsonStdout, ".warnings[]", `"missing package index for test:x86, future updates cannot be guaranteed"`) }) } @@ -1170,7 +1170,7 @@ func TestCoreListWhenNoPlatformAreInstalled(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() - stdout, _, err := cli.Run("core", "list", "--format", "json") + stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `0`) @@ -1190,7 +1190,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { require.NoError(t, err) // the `latest_version` must point to an installable release. In the releases field the latest entry, points to an incompatible version. - stdout, _, err := cli.Run("core", "list", "--all", "--format", "json", additionalURLs) + stdout, _, err := cli.Run("core", "list", "--all", "--json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). @@ -1207,7 +1207,7 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { // install latest compatible version _, _, err = cli.Run("core", "install", "foo_vendor:avr", additionalURLs) require.NoError(t, err) - stdout, _, err = cli.Run("core", "list", "--all", "--format", "json", additionalURLs) + stdout, _, err = cli.Run("core", "list", "--all", "--json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). @@ -1225,39 +1225,39 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { // install a specific compatible version _, _, err = cli.Run("core", "install", "foo_vendor:avr@1.0.0", additionalURLs) require.NoError(t, err) - stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) + stdout, _, err = cli.Run("core", "list", "--json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{"installed_version": "1.0.0", "releases": {"1.0.0": {"compatible": true}}}`) // Lists all updatable cores - stdout, _, err = cli.Run("core", "list", "--updatable", "--format", "json", additionalURLs) + stdout, _, err = cli.Run("core", "list", "--updatable", "--json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{"latest_version": "1.0.1", "releases": {"1.0.1": {"compatible": true}}}`) // Show outdated cores, must show latest compatible - stdout, _, err = cli.Run("outdated", "--format", "json", additionalURLs) + stdout, _, err = cli.Run("outdated", "--json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). Query(`.platforms | .[] | select(.id == "foo_vendor:avr")`). MustContain(`{"latest_version": "1.0.1", "releases":{"1.0.1": {"compatible": true}}}`) // upgrade to latest compatible (1.0.0 -> 1.0.1) - _, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--format", "json", additionalURLs) + _, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--json", additionalURLs) require.NoError(t, err) - stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) + stdout, _, err = cli.Run("core", "list", "--json", additionalURLs) require.NoError(t, err) requirejson.Parse(t, stdout). Query(`.platforms | .[] | select(.id == "foo_vendor:avr") | .releases[.installed_version]`). MustContain(`{"version": "1.0.1", "compatible": true}`) // upgrade to latest incompatible not possible (1.0.1 -> 1.0.2) - _, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--format", "json", additionalURLs) + _, _, err = cli.Run("core", "upgrade", "foo_vendor:avr", "--json", additionalURLs) require.NoError(t, err) - stdout, _, err = cli.Run("core", "list", "--format", "json", additionalURLs) + stdout, _, err = cli.Run("core", "list", "--json", additionalURLs) require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | .[] | select(.id == "foo_vendor:avr") | .installed_version`, `"1.0.1"`) @@ -1270,9 +1270,9 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { // Core search { // core search with and without --all produces the same results. - stdoutSearchAll, _, err := cli.Run("core", "search", "--all", "--format", "json", additionalURLs) + stdoutSearchAll, _, err := cli.Run("core", "search", "--all", "--json", additionalURLs) require.NoError(t, err) - stdoutSearch, _, err := cli.Run("core", "search", "--format", "json", additionalURLs) + stdoutSearch, _, err := cli.Run("core", "search", "--json", additionalURLs) require.NoError(t, err) require.Equal(t, stdoutSearchAll, stdoutSearch) for _, stdout := range [][]byte{stdoutSearchAll, stdoutSearch} { diff --git a/internal/integrationtest/debug/debug_test.go b/internal/integrationtest/debug/debug_test.go index ffb95766b22..e298d8e2fbf 100644 --- a/internal/integrationtest/debug/debug_test.go +++ b/internal/integrationtest/debug/debug_test.go @@ -109,12 +109,12 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli require.NoError(t, err) // Build sketch - _, _, err = cli.Run("compile", "-b", "my:samd:my", sketchPath.String(), "--format", "json") + _, _, err = cli.Run("compile", "-b", "my:samd:my", sketchPath.String(), "--json") require.NoError(t, err) { // Starts debugger - jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my", "-P", "atmel_ice", sketchPath.String(), "--info", "--format", "json") + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my", "-P", "atmel_ice", sketchPath.String(), "--info", "--json") require.NoError(t, err) debugOut := requirejson.Parse(t, jsonDebugOut) debugOut.MustContain(` @@ -172,7 +172,7 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli // Starts debugger with another programmer { - jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my", "-P", "my_cold_ice", sketchPath.String(), "--info", "--format", "json") + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my", "-P", "my_cold_ice", sketchPath.String(), "--info", "--json") require.NoError(t, err) debugOut := requirejson.Parse(t, jsonDebugOut) debugOut.MustContain(` @@ -229,7 +229,7 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli { // Starts debugger with an old-style openocd script definition - jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my2", "-P", "atmel_ice", sketchPath.String(), "--info", "--format", "json") + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my2", "-P", "atmel_ice", sketchPath.String(), "--info", "--json") require.NoError(t, err) debugOut := requirejson.Parse(t, jsonDebugOut) debugOut.MustContain(` @@ -253,7 +253,7 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli { // Starts debugger with mixed old and new-style openocd script definition - jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my2", "-P", "my_cold_ice", sketchPath.String(), "--info", "--format", "json") + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my2", "-P", "my_cold_ice", sketchPath.String(), "--info", "--json") require.NoError(t, err) debugOut := requirejson.Parse(t, jsonDebugOut) debugOut.MustContain(` @@ -277,7 +277,7 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli { // Mixing programmer and additional_config - jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my3", "-P", "my_cold_ice", sketchPath.String(), "--info", "--format", "json") + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my3", "-P", "my_cold_ice", sketchPath.String(), "--info", "--json") require.NoError(t, err) debugOut := requirejson.Parse(t, jsonDebugOut) debugOut.MustContain(` @@ -306,7 +306,7 @@ func testAllDebugInformation(t *testing.T, env *integrationtest.Environment, cli { // Mixing programmer and additional_config selected by another variable - jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my4", "-P", "my_cold_ice", sketchPath.String(), "--info", "--format", "json") + jsonDebugOut, _, err := cli.Run("debug", "-b", "my:samd:my4", "-P", "my_cold_ice", sketchPath.String(), "--info", "--json") require.NoError(t, err) debugOut := requirejson.Parse(t, jsonDebugOut) debugOut.MustContain(` @@ -340,7 +340,7 @@ func testDebugCheck(t *testing.T, env *integrationtest.Environment, cli *integra require.NoError(t, err) require.Contains(t, string(out), "The given board/programmer configuration supports debugging.") - out, _, err = cli.Run("debug", "check", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice", "--format", "json") + out, _, err = cli.Run("debug", "check", "-b", "arduino:samd:mkr1000", "-P", "atmel_ice", "--json") require.NoError(t, err) requirejson.Query(t, out, `.debugging_supported`, `true`) @@ -348,28 +348,28 @@ func testDebugCheck(t *testing.T, env *integrationtest.Environment, cli *integra require.NoError(t, err) require.Contains(t, string(out), "The given board/programmer configuration does NOT support debugging.") - out, _, err = cli.Run("debug", "check", "-b", "arduino:avr:uno", "-P", "atmel_ice", "--format", "json") + out, _, err = cli.Run("debug", "check", "-b", "arduino:avr:uno", "-P", "atmel_ice", "--json") require.NoError(t, err) requirejson.Query(t, out, `.debugging_supported`, `false`) // Test minimum FQBN compute - out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5", "-P", "atmel_ice", "--format", "json") + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5", "-P", "atmel_ice", "--json") require.NoError(t, err) requirejson.Contains(t, out, `{ "debugging_supported" : false }`) - out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5:dbg=on", "-P", "atmel_ice", "--format", "json") + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5:dbg=on", "-P", "atmel_ice", "--json") require.NoError(t, err) requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my5:dbg=on" }`) - out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5:dbg=on,cpu=150m", "-P", "atmel_ice", "--format", "json") + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my5:dbg=on,cpu=150m", "-P", "atmel_ice", "--json") require.NoError(t, err) requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my5:dbg=on" }`) - out, _, err = cli.Run("debug", "check", "-b", "my:samd:my6", "-P", "atmel_ice", "--format", "json") + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my6", "-P", "atmel_ice", "--json") require.NoError(t, err) requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my6" }`) - out, _, err = cli.Run("debug", "check", "-b", "my:samd:my6:dbg=on", "-P", "atmel_ice", "--format", "json") + out, _, err = cli.Run("debug", "check", "-b", "my:samd:my6:dbg=on", "-P", "atmel_ice", "--json") require.NoError(t, err) requirejson.Contains(t, out, `{ "debugging_supported" : true, "debug_fqbn" : "my:samd:my6" }`) } diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index 115a3550964..ab49a35e2a7 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -55,13 +55,13 @@ func TestLibUpgradeCommand(t *testing.T) { // Test upgrade of installed library _, _, err = cli.Run("lib", "install", "Servo@1.1.6") require.NoError(t, err) - stdOut, _, err := cli.Run("lib", "list", "--format", "json") + stdOut, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Contains(t, stdOut, `{"installed_libraries": [ { "library":{ "name":"Servo", "version": "1.1.6" } } ]}`) _, _, err = cli.Run("lib", "upgrade", "Servo") require.NoError(t, err) - stdOut, _, err = cli.Run("lib", "list", "--format", "json") + stdOut, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdOut) jsonOut.MustNotContain(`{"installed_libraries": [{"library":{ "name":"Servo", "version": "1.1.6" }}]}`) @@ -70,7 +70,7 @@ func TestLibUpgradeCommand(t *testing.T) { // Upgrade of already up-to-date library _, _, err = cli.Run("lib", "upgrade", "Servo") require.NoError(t, err) - stdOut, _, err = cli.Run("lib", "list", "--format", "json") + stdOut, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdOut, `.installed_libraries.[].library | select(.name=="Servo") | .version`, servoVersion) } @@ -82,11 +82,11 @@ func TestLibCommandsUsingNameInsteadOfDirName(t *testing.T) { _, _, err := cli.Run("lib", "install", "Robot Motor") require.NoError(t, err) - jsonOut, _, err := cli.Run("lib", "examples", "Robot Motor", "--format", "json") + jsonOut, _, err := cli.Run("lib", "examples", "Robot Motor", "--json") require.NoError(t, err) requirejson.Len(t, jsonOut, 1, "Library 'Robot Motor' not matched in lib examples command.") - jsonOut, _, err = cli.Run("lib", "list", "Robot Motor", "--format", "json") + jsonOut, _, err = cli.Run("lib", "list", "Robot Motor", "--json") require.NoError(t, err) requirejson.Len(t, jsonOut, 1, "Library 'Robot Motor' not matched in lib list command.") } @@ -103,7 +103,7 @@ func TestLibInstallMultipleSameLibrary(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("lib", "install", "Arduino SigFox for MKRFox1200") require.NoError(t, err) - jsonOut, _, err := cli.Run("lib", "list", "--format", "json") + jsonOut, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) // Count how many libraries with the name "Arduino SigFox for MKRFox1200" are installed requirejson.Parse(t, jsonOut). @@ -118,7 +118,7 @@ func TestLibInstallMultipleSameLibrary(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("lib", "upgrade", "Arduino SigFox for MKRFox1200") require.NoError(t, err) - jsonOut, _, err = cli.Run("lib", "list", "--format", "json") + jsonOut, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) // Count how many libraries with the name "Arduino SigFox for MKRFox1200" are installed requirejson.Parse(t, jsonOut). @@ -138,7 +138,7 @@ func TestDuplicateLibInstallDetection(t *testing.T) { otaLibPath := cli.SketchbookDir().Join("libraries", "ArduinoOTA") err = otaLibPath.CopyDirTo(otaLibPath.Parent().Join("CopyOfArduinoOTA")) require.NoError(t, err) - jsonOut, _, err := cli.Run("lib", "list", "--format", "json") + jsonOut, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, jsonOut, `.installed_libraries | length`, `2`, "Duplicate library install is not detected by the CLI") @@ -166,7 +166,7 @@ func TestDuplicateLibInstallFromGitDetection(t *testing.T) { _, _, err = cli.RunWithCustomEnv(cliEnv, "lib", "install", "--git-url", "https://github.com/arduino-libraries/SigFox#1.0.3") require.NoError(t, err) - jsonOut, _, err := cli.Run("lib", "list", "--format", "json") + jsonOut, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) // Count how many libraries with the name "Arduino SigFox for MKRFox1200" are installed requirejson.Parse(t, jsonOut). @@ -178,7 +178,7 @@ func TestDuplicateLibInstallFromGitDetection(t *testing.T) { require.NoError(t, err) // Check if double install happened - jsonOut, _, err = cli.Run("lib", "list", "--format", "json") + jsonOut, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Parse(t, jsonOut). Query(`[.installed_libraries.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). @@ -203,7 +203,7 @@ func TestDuplicateLibInstallFromGitDetection(t *testing.T) { require.NoError(t, err) // Check if double install happened - jsonOut, _, err = cli.Run("lib", "list", "--format", "json") + jsonOut, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Parse(t, jsonOut). Query(`[.installed_libraries.[].library.name | select(. == "Arduino SigFox for MKRFox1200")]`). @@ -242,7 +242,7 @@ func TestLibDepsOutput(t *testing.T) { require.Regexp(t, `^✕ MKRWAN \d+\.\d+\.\d+ must be installed\.$`, lines[5]) require.Regexp(t, `^✕ WiFi101 \d+\.\d+\.\d+ must be installed\.$`, lines[6]) - stdOut, _, err = cli.Run("lib", "deps", "Arduino_ConnectionHandler@0.6.6", "--format", "json") + stdOut, _, err = cli.Run("lib", "deps", "Arduino_ConnectionHandler@0.6.6", "--json") require.NoError(t, err) var jsonDeps struct { @@ -284,7 +284,7 @@ func TestUpgradeLibraryWithDependencies(t *testing.T) { // Install library _, _, err = cli.Run("lib", "install", "Arduino_ConnectionHandler@0.3.3") require.NoError(t, err) - stdOut, _, err := cli.Run("lib", "deps", "Arduino_ConnectionHandler@0.3.3", "--format", "json") + stdOut, _, err := cli.Run("lib", "deps", "Arduino_ConnectionHandler@0.3.3", "--json") require.NoError(t, err) var jsonDeps struct { @@ -308,7 +308,7 @@ func TestUpgradeLibraryWithDependencies(t *testing.T) { // Test lib upgrade also install new dependencies of already installed library _, _, err = cli.Run("lib", "upgrade", "Arduino_ConnectionHandler") require.NoError(t, err) - stdOut, _, err = cli.Run("lib", "deps", "Arduino_ConnectionHandler", "--format", "json") + stdOut, _, err = cli.Run("lib", "deps", "Arduino_ConnectionHandler", "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdOut) @@ -329,7 +329,7 @@ func TestList(t *testing.T) { require.NoError(t, err) require.Empty(t, stderr) require.Contains(t, string(stdout), "No libraries installed.") - stdout, stderr, err = cli.Run("lib", "list", "--format", "json") + stdout, stderr, err = cli.Run("lib", "list", "--json") require.NoError(t, err) require.Empty(t, stderr) requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) @@ -355,7 +355,7 @@ func TestList(t *testing.T) { require.Contains(t, toks[4], "An efficient and elegant JSON library...") // Look at the JSON output - stdout, stderr, err = cli.Run("lib", "list", "--format", "json") + stdout, stderr, err = cli.Run("lib", "list", "--json") require.NoError(t, err) require.Empty(t, stderr) requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) @@ -366,7 +366,7 @@ func TestList(t *testing.T) { _, _, err = cli.Run("lib", "install", "Arduino_APDS9960@1.0.3") require.NoError(t, err) // Look at the JSON output - stdout, stderr, err = cli.Run("lib", "list", "Arduino_APDS9960", "--format", "json") + stdout, stderr, err = cli.Run("lib", "list", "Arduino_APDS9960", "--json") require.NoError(t, err) require.Empty(t, stderr) requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) @@ -448,7 +448,7 @@ func TestListWithFqbn(t *testing.T) { require.Equal(t, "ArduinoJson", toks[0]) // Look at the JSON output - stdout, stderr, err = cli.Run("lib", "list", "-b", "arduino:avr:uno", "--format", "json") + stdout, stderr, err = cli.Run("lib", "list", "-b", "arduino:avr:uno", "--json") require.NoError(t, err) require.Empty(t, stderr) requirejson.Query(t, stdout, `.installed_libraries | length`, `6`) @@ -477,7 +477,7 @@ func TestListProvidesIncludesFallback(t *testing.T) { require.NoError(t, err) // List all libraries, even the ones installed with the above core - stdout, stderr, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:avr:uno", "--format", "json") + stdout, stderr, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:avr:uno", "--json") require.NoError(t, err) require.Empty(t, stderr) @@ -546,7 +546,7 @@ func TestInstall(t *testing.T) { // https://github.com/arduino/arduino-cli/issues/1727 _, _, err = cli.Run("lib", "install", "ILI9341_t3@1.0") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "list", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Parse(t, stdout).Query(`.installed_libraries.[] | select(.library.name == "ILI9341_t3") | .library.version`).MustEqual(`"1.0"`) _, _, err = cli.Run("lib", "install", "ILI9341_t3@1") @@ -563,7 +563,7 @@ func TestInstallLibraryWithDependencies(t *testing.T) { require.NoError(t, err) // Verifies libraries are not installed - stdout, _, err := cli.Run("lib", "list", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) @@ -572,7 +572,7 @@ func TestInstallLibraryWithDependencies(t *testing.T) { require.NoError(t, err) // Verifies library's dependencies are correctly installed - stdout, _, err = cli.Run("lib", "list", "--format", "json") + stdout, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `[.installed_libraries.[] | .library | .name ] | sort`, `["MD_MAX72XX","MD_Parola"]`) @@ -603,7 +603,7 @@ func TestInstallNoDeps(t *testing.T) { require.NoError(t, err) // Verifies libraries are not installed - stdout, _, err := cli.Run("lib", "list", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) @@ -612,7 +612,7 @@ func TestInstallNoDeps(t *testing.T) { require.NoError(t, err) // Verifies library's dependencies are not installed - stdout, _, err = cli.Run("lib", "list", "--format", "json") + stdout, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries.[] | .library | .name`, `"MD_Parola"`) } @@ -712,7 +712,7 @@ func TestUninstallSpaces(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("lib", "uninstall", key) require.NoError(t, err) - stdout, _, err := cli.Run("lib", "list", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) } @@ -740,7 +740,7 @@ func TestLibOpsCaseInsensitive(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("lib", "uninstall", key) require.NoError(t, err) - stdout, _, err := cli.Run("lib", "list", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) } @@ -763,12 +763,12 @@ func TestSearch(t *testing.T) { expected := []string{"WiFi101", "WiFi101OTA", "Firebase Arduino based on WiFi101", "WiFi101_Generic"} require.Subset(t, libs, expected) - stdout, _, err = cli.Run("lib", "search", "--names", "--format", "json") + stdout, _, err = cli.Run("lib", "search", "--names", "--json") require.NoError(t, err) requirejson.Query(t, stdout, ".libraries | length", fmt.Sprint(len(libs))) runSearch := func(args string, expectedLibs []string) { - stdout, _, err = cli.Run("lib", "search", "--names", "--format", "json", args) + stdout, _, err = cli.Run("lib", "search", "--names", "--json", args) require.NoError(t, err) libraries := requirejson.Parse(t, stdout).Query("[ .libraries | .[] | .name ]").String() for _, l := range expectedLibs { @@ -795,7 +795,7 @@ func TestQualifiedSearch(t *testing.T) { defer env.CleanUp() runSearch := func(args string, expectedLibs []string) { - stdout, _, err := cli.Run("lib", "search", "--names", "--format", "json", args) + stdout, _, err := cli.Run("lib", "search", "--names", "--json", args) require.NoError(t, err) libraries := requirejson.Parse(t, stdout).Query("[ .libraries | .[] | .name ]").String() for _, l := range expectedLibs { @@ -821,7 +821,7 @@ func TestSearchParagraph(t *testing.T) { // within the index file. _, _, err := cli.Run("lib", "update-index") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "search", "A simple and efficient JSON library", "--names", "--format", "json") + stdout, _, err := cli.Run("lib", "search", "A simple and efficient JSON library", "--names", "--json") require.NoError(t, err) requirejson.Contains(t, stdout, `{ "libraries": [ @@ -846,7 +846,7 @@ func TestLibListWithUpdatableFlag(t *testing.T) { require.Empty(t, stderr) require.Contains(t, string(stdout), "No libraries update is available.") // No library to update in json - stdout, stderr, err = cli.Run("lib", "list", "--updatable", "--format", "json") + stdout, stderr, err = cli.Run("lib", "list", "--updatable", "--json") require.NoError(t, err) require.Empty(t, stderr) requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) @@ -876,7 +876,7 @@ func TestLibListWithUpdatableFlag(t *testing.T) { require.Equal(t, "An efficient and elegant JSON library...", lines[1][4]) // Look at the JSON output - stdout, stderr, err = cli.Run("lib", "list", "--updatable", "--format", "json") + stdout, stderr, err = cli.Run("lib", "list", "--updatable", "--json") require.NoError(t, err) require.Empty(t, stderr) requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) @@ -1041,7 +1041,7 @@ func TestLibExamples(t *testing.T) { _, _, err = cli.Run("lib", "install", "Arduino_JSON@0.1.0") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "examples", "Arduino_JSON", "--format", "json") + stdout, _, err := cli.Run("lib", "examples", "Arduino_JSON", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.examples | length`, `1`) examples := requirejson.Parse(t, stdout).Query(".examples.[0] | .examples").String() @@ -1061,7 +1061,7 @@ func TestLibExamplesWithPdeFile(t *testing.T) { _, _, err = cli.Run("lib", "install", "Encoder@1.4.1") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "examples", "Encoder", "--format", "json") + stdout, _, err := cli.Run("lib", "examples", "Encoder", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.examples | length`, `1`) examples := requirejson.Parse(t, stdout).Query(".examples.[0] | .examples").String() @@ -1082,7 +1082,7 @@ func TestLibExamplesWithCaseMismatch(t *testing.T) { _, _, err = cli.Run("lib", "install", "WiFiManager@2.0.3-alpha") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "examples", "WiFiManager", "--format", "json") + stdout, _, err := cli.Run("lib", "examples", "WiFiManager", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.examples | length`, `1`) requirejson.Query(t, stdout, ".examples.[0] | .examples | length", "14") @@ -1122,7 +1122,7 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) { require.NoError(t, err) // Verifies library is correctly returned - stdout, _, err := cli.Run("lib", "list", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .version", `"0.16.1"`) @@ -1133,7 +1133,7 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) { require.NoError(t, libPath.WriteFile([]byte("name=WiFi101\nversion=1.0001"))) // Verifies version is now empty - stdout, _, err = cli.Run("lib", "list", "--format", "json") + stdout, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .version", "null") @@ -1143,7 +1143,7 @@ func TestLibCommandsWithLibraryHavingInvalidVersion(t *testing.T) { require.NoError(t, err) // Verifies library has been updated - stdout, _, err = cli.Run("lib", "list", "--format", "json") + stdout, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) requirejson.Query(t, stdout, ".installed_libraries.[0] | .library | .version != \"\"", "true") @@ -1301,7 +1301,7 @@ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibrariesInSketchbook(t *testing.T _, _, err = cli.Run("lib", "install", "USBHost") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "list", "--all", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--all", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `2`) // Verify both libraries have the same name @@ -1333,7 +1333,7 @@ func TestUpgradeDoesNotTryToUpgradeBundledCoreLibraries(t *testing.T) { _, _, err = cli.Run("lib", "install", "USBHost") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "list", "--all", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--all", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `2`) // Verify both libraries have the same name @@ -1545,7 +1545,7 @@ func TestLibQueryParameters(t *testing.T) { require.Contains(t, string(stdout), `"url":"https://downloads.arduino.cc/libraries/github.com/arduino-libraries/USBHost-1.0.5.zip?query=upgrade"`) // Check query=depends when a library dependency is installed - stdout, _, err = cli.Run("lib", "deps", "MD_Parola@3.5.5", "--format", "json") + stdout, _, err = cli.Run("lib", "deps", "MD_Parola@3.5.5", "--json") require.NoError(t, err) // determine the version installed as dependency MDMAX72XXversion := strings.Trim(requirejson.Parse(t, stdout).Query(`.dependencies[0].version_required`).String(), `"`) @@ -1580,7 +1580,7 @@ func TestLibBundlesWhenLibWithTheSameNameIsInstalledGlobally(t *testing.T) { _, _, err := cli.Run("core", "install", "arduino:samd@1.8.13") require.NoError(t, err) { - stdout, _, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:samd:mkrzero", "USBHost", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:samd:mkrzero", "USBHost", "--json") require.NoError(t, err) j := requirejson.Parse(t, stdout) j.Query(`.installed_libraries.[0].library.name`).MustEqual(`"USBHost"`) @@ -1590,7 +1590,7 @@ func TestLibBundlesWhenLibWithTheSameNameIsInstalledGlobally(t *testing.T) { require.NoError(t, err) { // Check that the architecture-specific library is still listed - stdout, _, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:samd:mkrzero", "USBHost", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--all", "--fqbn", "arduino:samd:mkrzero", "USBHost", "--json") require.NoError(t, err) j := requirejson.Parse(t, stdout) j.Query(`.installed_libraries.[0].library.name`).MustEqual(`"USBHost"`) @@ -1605,7 +1605,7 @@ func TestLibBundlesWhenLibWithTheSameNameIsInstalledGlobally(t *testing.T) { require.NoError(t, err) _, _, err = cli.Run("lib", "install", "ArduinoOTA@1.0.7") require.NoError(t, err) - stdout, _, err := cli.Run("lib", "examples", "--fqbn", "esp8266:esp8266:generic", "ArduinoOTA", "--format", "json") + stdout, _, err := cli.Run("lib", "examples", "--fqbn", "esp8266:esp8266:generic", "ArduinoOTA", "--json") require.NoError(t, err) requirejson.Parse(t, stdout).Query(`.examples.[].library.examples[0]`).MustContain(`"BasicOTA"`) requirejson.Parse(t, stdout).Query(`.examples.[].library.examples[1]`).MustContain(`"OTALeds"`) @@ -1624,11 +1624,11 @@ func TestLibListDoesNotIncludeEmptyLibraries(t *testing.T) { require.NoError(t, emptyLib.MkdirAll()) // Check that the output of lib list and lib examples is empty - stdout, _, err := cli.Run("lib", "list", "--format", "json") + stdout, _, err := cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `0`) - stdout, _, err = cli.Run("lib", "examples", "--format", "json") + stdout, _, err = cli.Run("lib", "examples", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.examples | length`, `0`) @@ -1640,11 +1640,11 @@ func TestLibListDoesNotIncludeEmptyLibraries(t *testing.T) { require.NoError(t, f.Close()) // Check that the output of lib list and lib examples contains the library - stdout, _, err = cli.Run("lib", "list", "--format", "json") + stdout, _, err = cli.Run("lib", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.installed_libraries | length`, `1`) - stdout, _, err = cli.Run("lib", "examples", "--format", "json") + stdout, _, err = cli.Run("lib", "examples", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.examples | length`, `1`) } @@ -1677,7 +1677,7 @@ func TestDependencyResolverNoOverwrite(t *testing.T) { _, _, err := cli.Run("lib", "install", "Bounce2@2.53.0") require.NoError(t, err) - out, _, err := cli.Run("lib", "deps", "EncoderTool@2.2.0", "--format", "json") + out, _, err := cli.Run("lib", "deps", "EncoderTool@2.2.0", "--json") require.NoError(t, err) outjson := requirejson.Parse(t, out) outjson.MustContain(`{ @@ -1695,7 +1695,7 @@ func TestDependencyResolverNoOverwrite(t *testing.T) { require.NotEqual(t, outjson.Query("dependencies[0].version_required").String(), `"2.53.0"`) require.NotEqual(t, outjson.Query("dependencies[0].version_required").String(), `"2.53"`) - out, _, err = cli.Run("lib", "deps", "EncoderTool@2.2.0", "--no-overwrite", "--format", "json") + out, _, err = cli.Run("lib", "deps", "EncoderTool@2.2.0", "--no-overwrite", "--json") require.NoError(t, err) outjson = requirejson.Parse(t, out) outjson.MustContain(`{ diff --git a/internal/integrationtest/main/main_test.go b/internal/integrationtest/main/main_test.go index 7e039e62768..b702e07aecc 100644 --- a/internal/integrationtest/main/main_test.go +++ b/internal/integrationtest/main/main_test.go @@ -48,8 +48,8 @@ func TestVersion(t *testing.T) { require.Contains(t, string(stdout), "Commit:") require.Empty(t, string(stderr)) - // Checks if "version --format json" has a json as an output - stdout, _, err = cli.Run("version", "--format", "json") + // Checks if "version --json" has a json as an output + stdout, _, err = cli.Run("version", "--json") require.NoError(t, err) var jsonMap map[string]string err = json.Unmarshal(stdout, &jsonMap) diff --git a/internal/integrationtest/profiles/profiles_test.go b/internal/integrationtest/profiles/profiles_test.go index ca26b75b4b3..aafd914db2c 100644 --- a/internal/integrationtest/profiles/profiles_test.go +++ b/internal/integrationtest/profiles/profiles_test.go @@ -89,12 +89,12 @@ func TestCompileWithDefaultProfile(t *testing.T) { { // no default profile -> error missing FQBN - _, _, err := cli.Run("compile", sketchWithoutDefProfilePath.String(), "--format", "json") + _, _, err := cli.Run("compile", sketchWithoutDefProfilePath.String(), "--json") require.Error(t, err) } { // specified fbqn -> compile with specified FQBN and use global installation - stdout, _, err := cli.Run("compile", "-b", "arduino:avr:nano", sketchWithoutDefProfilePath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "-b", "arduino:avr:nano", sketchWithoutDefProfilePath.String(), "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdout) jsonOut.Query(".builder_result.build_platform").MustContain(`{"id":"arduino:avr", "version":"1.8.3"}`) @@ -102,7 +102,7 @@ func TestCompileWithDefaultProfile(t *testing.T) { } { // specified profile -> use the specified profile - stdout, _, err := cli.Run("compile", "--profile", "avr1", sketchWithoutDefProfilePath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "--profile", "avr1", sketchWithoutDefProfilePath.String(), "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdout) jsonOut.Query(".builder_result.build_platform").MustContain(`{"id":"arduino:avr", "version":"1.8.4"}`) @@ -110,7 +110,7 @@ func TestCompileWithDefaultProfile(t *testing.T) { } { // specified profile and fqbn -> use the specified profile and override fqbn - stdout, _, err := cli.Run("compile", "--profile", "avr1", "-b", "arduino:avr:nano", sketchWithoutDefProfilePath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "--profile", "avr1", "-b", "arduino:avr:nano", sketchWithoutDefProfilePath.String(), "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdout) jsonOut.Query(".builder_result.build_platform").MustContain(`{"id":"arduino:avr", "version":"1.8.4"}`) @@ -119,7 +119,7 @@ func TestCompileWithDefaultProfile(t *testing.T) { { // default profile -> use default profile - stdout, _, err := cli.Run("compile", sketchWithDefProfilePath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", sketchWithDefProfilePath.String(), "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdout) jsonOut.Query(".builder_result.build_platform").MustContain(`{"id":"arduino:avr", "version":"1.8.5"}`) @@ -127,7 +127,7 @@ func TestCompileWithDefaultProfile(t *testing.T) { } { // default profile, specified fbqn -> use default profile, override fqbn - stdout, _, err := cli.Run("compile", "-b", "arduino:avr:nano", sketchWithDefProfilePath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "-b", "arduino:avr:nano", sketchWithDefProfilePath.String(), "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdout) jsonOut.Query(".builder_result.build_platform").MustContain(`{"id":"arduino:avr", "version":"1.8.5"}`) @@ -135,7 +135,7 @@ func TestCompileWithDefaultProfile(t *testing.T) { } { // default profile, specified different profile -> use the specified profile - stdout, _, err := cli.Run("compile", "--profile", "avr1", sketchWithDefProfilePath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "--profile", "avr1", sketchWithDefProfilePath.String(), "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdout) jsonOut.Query(".builder_result.build_platform").MustContain(`{"id":"arduino:avr", "version":"1.8.4"}`) @@ -143,7 +143,7 @@ func TestCompileWithDefaultProfile(t *testing.T) { } { // default profile, specified different profile and fqbn -> use the specified profile and override fqbn - stdout, _, err := cli.Run("compile", "--profile", "avr1", "-b", "arduino:avr:nano", sketchWithDefProfilePath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "--profile", "avr1", "-b", "arduino:avr:nano", sketchWithDefProfilePath.String(), "--json") require.NoError(t, err) jsonOut := requirejson.Parse(t, stdout) jsonOut.Query(".builder_result.build_platform").MustContain(`{"id":"arduino:avr", "version":"1.8.4"}`) diff --git a/internal/integrationtest/upload/upload_test.go b/internal/integrationtest/upload/upload_test.go index b3c88cefeb9..0eebbe60ceb 100644 --- a/internal/integrationtest/upload/upload_test.go +++ b/internal/integrationtest/upload/upload_test.go @@ -40,13 +40,13 @@ type board struct { func detectedBoards(t *testing.T, cli *integrationtest.ArduinoCLI) []board { // This fixture provides a list of all the boards attached to the host. - // This fixture will parse the JSON output of `arduino-cli board list --format json` + // This fixture will parse the JSON output of `arduino-cli board list --json` // to extract all the connected boards data. // :returns a list `Board` objects. var boards []board - stdout, _, err := cli.Run("board", "list", "--format", "json") + stdout, _, err := cli.Run("board", "list", "--json") require.NoError(t, err) length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query(".[] | .matching_boards | length").String()) require.NoError(t, err) @@ -67,7 +67,7 @@ func detectedBoards(t *testing.T, cli *integrationtest.ArduinoCLI) []board { func waitForBoard(t *testing.T, cli *integrationtest.ArduinoCLI) { timeEnd := time.Now().Unix() + 10 for time.Now().Unix() < timeEnd { - stdout, _, err := cli.Run("board", "list", "--format", "json") + stdout, _, err := cli.Run("board", "list", "--json") require.NoError(t, err) length, err := strconv.Atoi(requirejson.Parse(t, stdout).Query("length").String()) require.NoError(t, err) @@ -370,7 +370,7 @@ func TestUploadSketchWithPdeExtension(t *testing.T) { require.NoError(t, err) // Compile sketch first - stdout, _, err := cli.Run("compile", "--clean", "-b", board.fqbn, sketchPath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "--clean", "-b", board.fqbn, sketchPath.String(), "--json") require.NoError(t, err) buildDir := requirejson.Parse(t, stdout).Query(".builder_result | .build_path").String() buildDir = strings.Trim(strings.ReplaceAll(buildDir, "\\\\", "\\"), "\"") @@ -435,7 +435,7 @@ func TestUploadWithInputDirContainingMultipleBinaries(t *testing.T) { binariesDir := cli.SketchbookDir().Join("build", "BuiltBinaries") _, _, err = cli.Run("compile", "--clean", "-b", board.fqbn, sketchOnePath.String(), "--build-path", binariesDir.String()) require.NoError(t, err) - stdout, _, err := cli.Run("compile", "--clean", "-b", board.fqbn, sketchTwoPath.String(), "--format", "json") + stdout, _, err := cli.Run("compile", "--clean", "-b", board.fqbn, sketchTwoPath.String(), "--json") require.NoError(t, err) buildDirTwo := requirejson.Parse(t, stdout).Query(".builder_result | .build_path").String() buildDirTwo = strings.Trim(strings.ReplaceAll(buildDirTwo, "\\\\", "\\"), "\"") From 03d86531abab0a85fcb83b41dbd86a05814a7efa Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 3 May 2024 14:33:31 +0200 Subject: [PATCH 132/361] Fixed extremely rare race condition in DiscoveryManager (#2589) --- .../discovery/discoverymanager/discoverymanager.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/internal/arduino/discovery/discoverymanager/discoverymanager.go b/internal/arduino/discovery/discoverymanager/discoverymanager.go index 2651e9b524f..74504c48062 100644 --- a/internal/arduino/discovery/discoverymanager/discoverymanager.go +++ b/internal/arduino/discovery/discoverymanager/discoverymanager.go @@ -171,9 +171,17 @@ func (dm *DiscoveryManager) Watch() (*PortWatcher, error) { defer dm.watchersMutex.Unlock() delete(dm.watchers, watcher) close(watcher.feed) + watcher.feed = nil } go func() { dm.watchersMutex.Lock() + defer dm.watchersMutex.Unlock() + + // Check if the watcher is still alive (it could have been closed before the goroutine started...) + if watcher.feed == nil { + return + } + // When a watcher is started, send all the current active ports first... for _, cache := range dm.watchersCache { for _, ev := range cache { @@ -182,7 +190,6 @@ func (dm *DiscoveryManager) Watch() (*PortWatcher, error) { } // ...and after that add the watcher to the list of watchers receiving events dm.watchers[watcher] = true - dm.watchersMutex.Unlock() }() return watcher, nil } From 4bd85310bf92b033069df7a18707a326af314c80 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 May 2024 18:41:37 +0200 Subject: [PATCH 133/361] [skip-changelog] Fixed broken link (#2594) --- docs/sketch-build-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sketch-build-process.md b/docs/sketch-build-process.md index 6fad171187e..9f1f0067571 100644 --- a/docs/sketch-build-process.md +++ b/docs/sketch-build-process.md @@ -137,8 +137,8 @@ The "location priority" is determined as follows (in order of highest to lowest #### Location priorities in Arduino Web Editor -The location priorities system works in the same manner in [Arduino Web Editor](https://create.arduino.cc/editor), but -its cloud-based nature may make the locations of libraries less obvious. +The location priorities system works in the same manner in [Arduino Web Editor](https://create.arduino.cc/), but its +cloud-based nature may make the locations of libraries less obvious. 1. **Custom**: the imported libraries, shown under the **Libraries > Custom** tab. - These libraries are under `/tmp/\<some number>/custom` From 8c07823c10bde9409a42e7b90febb6cf19e7cb2b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 09:45:04 +0100 Subject: [PATCH 134/361] Moved a batch of function from commands/* subpackage to commands This commit is preparatory to move all the implementation of ArduinoCoreService interface directly as methods of ArduinoCoreService. The goal is to turn ArduinoCoreService into a proper implementation instead of being a mere proxy to global functions. --- .github/workflows/check-go-task.yml | 2 +- commands/instances.go | 2 - ...r.go => libraries_index_search_matcher.go} | 2 +- commands/{daemon/daemon.go => service.go} | 52 ++++++++----------- .../listall.go => service_board_listall.go} | 11 ++-- .../search.go => service_board_search.go} | 15 +++--- .../{daemon/debug.go => service_debug.go} | 2 +- ...ownload.go => service_library_download.go} | 8 +-- .../install.go => service_library_install.go} | 7 ++- .../{lib/list.go => service_library_list.go} | 2 +- ...eps.go => service_library_resolve_deps.go} | 5 +- .../search.go => service_library_search.go} | 2 +- ...test.go => service_library_search_test.go} | 8 +-- ...nstall.go => service_library_uninstall.go} | 5 +- .../upgrade.go => service_library_upgrade.go} | 5 +- ...wnload.go => service_platform_download.go} | 5 +- ...install.go => service_platform_install.go} | 7 ++- .../search.go => service_platform_search.go} | 7 ++- ...est.go => service_platform_search_test.go} | 21 +++++--- ...stall.go => service_platform_uninstall.go} | 5 +- ...upgrade.go => service_platform_upgrade.go} | 9 ++-- .../settings.go => service_settings.go} | 2 +- ...tings_test.go => service_settings_test.go} | 5 +- .../stream.go => service_stream_utility.go} | 2 +- commands/{daemon => }/term_example/main.go | 0 .../{daemon => }/testdata/arduino-cli.yml | 0 .../libraries}/full/library_index.json | 0 .../qualified_search/library_index.json | 0 .../libraries}/test1/library_index.json | 0 .../platform}/package_index.json | 0 docs/UPGRADING.md | 2 +- internal/cli/arguments/completion.go | 15 +++--- internal/cli/arguments/reference.go | 4 +- internal/cli/board/listall.go | 4 +- internal/cli/board/search.go | 4 +- internal/cli/compile/compile.go | 4 +- internal/cli/config/delete.go | 4 +- internal/cli/config/get.go | 4 +- internal/cli/core/download.go | 4 +- internal/cli/core/install.go | 4 +- internal/cli/core/list.go | 4 +- internal/cli/core/search.go | 3 +- internal/cli/core/uninstall.go | 4 +- internal/cli/core/upgrade.go | 6 +-- internal/cli/daemon/daemon.go | 4 +- internal/cli/lib/args.go | 4 +- internal/cli/lib/check_deps.go | 4 +- internal/cli/lib/download.go | 4 +- internal/cli/lib/examples.go | 4 +- internal/cli/lib/install.go | 8 +-- internal/cli/lib/list.go | 4 +- internal/cli/lib/search.go | 3 +- internal/cli/lib/uninstall.go | 4 +- internal/cli/lib/upgrade.go | 6 +-- internal/cli/upload/upload.go | 4 +- 55 files changed, 144 insertions(+), 162 deletions(-) rename commands/{lib/search_matcher.go => libraries_index_search_matcher.go} (99%) rename commands/{daemon/daemon.go => service.go} (94%) rename commands/{board/listall.go => service_board_listall.go} (91%) rename commands/{board/search.go => service_board_search.go} (87%) rename commands/{daemon/debug.go => service_debug.go} (99%) rename commands/{lib/download.go => service_library_download.go} (94%) rename commands/{lib/install.go => service_library_install.go} (96%) rename commands/{lib/list.go => service_library_list.go} (99%) rename commands/{lib/resolve_deps.go => service_library_resolve_deps.go} (97%) rename commands/{lib/search.go => service_library_search.go} (99%) rename commands/{lib/search_test.go => service_library_search_test.go} (95%) rename commands/{lib/uninstall.go => service_library_uninstall.go} (94%) rename commands/{lib/upgrade.go => service_library_upgrade.go} (95%) rename commands/{core/download.go => service_platform_download.go} (94%) rename commands/{core/install.go => service_platform_install.go} (92%) rename commands/{core/search.go => service_platform_search.go} (95%) rename commands/{core/search_test.go => service_platform_search_test.go} (94%) rename commands/{core/uninstall.go => service_platform_uninstall.go} (94%) rename commands/{core/upgrade.go => service_platform_upgrade.go} (88%) rename commands/{daemon/settings.go => service_settings.go} (99%) rename commands/{daemon/settings_test.go => service_settings_test.go} (98%) rename commands/{daemon/stream.go => service_stream_utility.go} (99%) rename commands/{daemon => }/term_example/main.go (100%) rename commands/{daemon => }/testdata/arduino-cli.yml (100%) rename commands/{lib/testdata => testdata/libraries}/full/library_index.json (100%) rename commands/{lib/testdata => testdata/libraries}/qualified_search/library_index.json (100%) rename commands/{lib/testdata => testdata/libraries}/test1/library_index.json (100%) rename commands/{core/testdata => testdata/platform}/package_index.json (100%) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 6e347253980..7388cc095e1 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -237,7 +237,7 @@ jobs: module: - path: internal/arduino/discovery/discovery_client - path: rpc/internal/client_example - - path: commands/daemon/term_example + - path: commands/term_example steps: - name: Checkout repository diff --git a/commands/instances.go b/commands/instances.go index df1d96f4c41..45f6a109f86 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -45,8 +45,6 @@ import ( "google.golang.org/grpc/status" ) -var tr = i18n.Tr - func installTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { pme, release := pm.NewExplorer() defer release() diff --git a/commands/lib/search_matcher.go b/commands/libraries_index_search_matcher.go similarity index 99% rename from commands/lib/search_matcher.go rename to commands/libraries_index_search_matcher.go index 3eec08b4ad9..f8ed7205c9d 100644 --- a/commands/lib/search_matcher.go +++ b/commands/libraries_index_search_matcher.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "strings" diff --git a/commands/daemon/daemon.go b/commands/service.go similarity index 94% rename from commands/daemon/daemon.go rename to commands/service.go index 97a2783e0e6..356c595baef 100644 --- a/commands/daemon/daemon.go +++ b/commands/service.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package daemon +package commands import ( "context" @@ -22,18 +22,14 @@ import ( "io" "sync/atomic" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/commands/cache" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/compile" - "github.com/arduino/arduino-cli/commands/core" - "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/commands/monitor" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/updatecheck" "github.com/arduino/arduino-cli/commands/upload" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "google.golang.org/grpc/metadata" @@ -47,8 +43,6 @@ type ArduinoCoreServerImpl struct { VersionString string } -var tr = i18n.Tr - func convertErrorToRPCStatus(err error) error { if err == nil { return nil @@ -78,13 +72,13 @@ func (s *ArduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis // BoardListAll FIXMEDOC func (s *ArduinoCoreServerImpl) BoardListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { - resp, err := board.ListAll(ctx, req) + resp, err := BoardListAll(ctx, req) return resp, convertErrorToRPCStatus(err) } // BoardSearch exposes to the gRPC interface the board search command func (s *ArduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { - resp, err := board.Search(ctx, req) + resp, err := BoardSearch(ctx, req) return resp, convertErrorToRPCStatus(err) } @@ -116,14 +110,14 @@ func (s *ArduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s // Destroy FIXMEDOC func (s *ArduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { - resp, err := commands.Destroy(ctx, req) + resp, err := Destroy(ctx, req) return resp, convertErrorToRPCStatus(err) } // UpdateIndex FIXMEDOC func (s *ArduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream rpc.ArduinoCoreService_UpdateIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) - res, err := commands.UpdateIndex(stream.Context(), req, + res, err := UpdateIndex(stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.UpdateIndexResponse{ Message: &rpc.UpdateIndexResponse_DownloadProgress{DownloadProgress: p}, @@ -141,7 +135,7 @@ func (s *ArduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream // UpdateLibrariesIndex FIXMEDOC func (s *ArduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateLibrariesIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) - res, err := commands.UpdateLibrariesIndex(stream.Context(), req, + res, err := UpdateLibrariesIndex(stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.UpdateLibrariesIndexResponse{ Message: &rpc.UpdateLibrariesIndexResponse_DownloadProgress{DownloadProgress: p}, @@ -165,14 +159,14 @@ func (s *ArduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque if len(userAgent) == 0 { userAgent = []string{"gRPCClientUnknown/0.0.0"} } - res, err := commands.Create(req, userAgent...) + res, err := Create(req, userAgent...) return res, convertErrorToRPCStatus(err) } // Init FIXMEDOC func (s *ArduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := commands.Init(req, func(message *rpc.InitResponse) { syncSend.Send(message) }) + err := Init(req, func(message *rpc.InitResponse) { syncSend.Send(message) }) return convertErrorToRPCStatus(err) } @@ -237,7 +231,7 @@ func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu // PlatformInstall FIXMEDOC func (s *ArduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - resp, err := core.PlatformInstall( + resp, err := PlatformInstall( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformInstallResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformInstallResponse{TaskProgress: p}) }, @@ -251,7 +245,7 @@ func (s *ArduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, // PlatformDownload FIXMEDOC func (s *ArduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadRequest, stream rpc.ArduinoCoreService_PlatformDownloadServer) error { syncSend := NewSynchronizedSend(stream.Send) - resp, err := core.PlatformDownload( + resp, err := PlatformDownload( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformDownloadResponse{Progress: p}) }, ) @@ -264,7 +258,7 @@ func (s *ArduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques // PlatformUninstall FIXMEDOC func (s *ArduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequest, stream rpc.ArduinoCoreService_PlatformUninstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - resp, err := core.PlatformUninstall( + resp, err := PlatformUninstall( stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUninstallResponse{TaskProgress: p}) }, ) @@ -277,7 +271,7 @@ func (s *ArduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequ // PlatformUpgrade FIXMEDOC func (s *ArduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, stream rpc.ArduinoCoreService_PlatformUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) - resp, err := core.PlatformUpgrade( + resp, err := PlatformUpgrade( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{TaskProgress: p}) }, @@ -290,7 +284,7 @@ func (s *ArduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, // PlatformSearch FIXMEDOC func (s *ArduinoCoreServerImpl) PlatformSearch(ctx context.Context, req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { - resp, err := core.PlatformSearch(req) + resp, err := PlatformSearch(req) return resp, convertErrorToRPCStatus(err) } @@ -387,7 +381,7 @@ func (s *ArduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Co // LibraryDownload FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, stream rpc.ArduinoCoreService_LibraryDownloadServer) error { syncSend := NewSynchronizedSend(stream.Send) - resp, err := lib.LibraryDownload( + resp, err := LibraryDownload( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryDownloadResponse{Progress: p}) }, ) @@ -400,7 +394,7 @@ func (s *ArduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, // LibraryInstall FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := lib.LibraryInstall( + err := LibraryInstall( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryInstallResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryInstallResponse{TaskProgress: p}) }, @@ -411,7 +405,7 @@ func (s *ArduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s // LibraryUpgrade FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := lib.LibraryUpgrade( + err := LibraryUpgrade( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{TaskProgress: p}) }, @@ -422,7 +416,7 @@ func (s *ArduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, s // LibraryUninstall FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallRequest, stream rpc.ArduinoCoreService_LibraryUninstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := lib.LibraryUninstall(stream.Context(), req, + err := LibraryUninstall(stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUninstallResponse{TaskProgress: p}) }, ) return convertErrorToRPCStatus(err) @@ -431,7 +425,7 @@ func (s *ArduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques // LibraryUpgradeAll FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := lib.LibraryUpgradeAll(req, + err := LibraryUpgradeAll(req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{TaskProgress: p}) }, ) @@ -440,19 +434,19 @@ func (s *ArduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequ // LibraryResolveDependencies FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { - resp, err := lib.LibraryResolveDependencies(ctx, req) + resp, err := LibraryResolveDependencies(ctx, req) return resp, convertErrorToRPCStatus(err) } // LibrarySearch FIXMEDOC func (s *ArduinoCoreServerImpl) LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { - resp, err := lib.LibrarySearch(ctx, req) + resp, err := LibrarySearch(ctx, req) return resp, convertErrorToRPCStatus(err) } // LibraryList FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { - resp, err := lib.LibraryList(ctx, req) + resp, err := LibraryList(ctx, req) return resp, convertErrorToRPCStatus(err) } @@ -465,7 +459,7 @@ func (s *ArduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.Arch // ZipLibraryInstall FIXMEDOC func (s *ArduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequest, stream rpc.ArduinoCoreService_ZipLibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := lib.ZipLibraryInstall( + err := ZipLibraryInstall( stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.ZipLibraryInstallResponse{TaskProgress: p}) }, ) @@ -475,7 +469,7 @@ func (s *ArduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequ // GitLibraryInstall FIXMEDOC func (s *ArduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequest, stream rpc.ArduinoCoreService_GitLibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := lib.GitLibraryInstall( + err := GitLibraryInstall( stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.GitLibraryInstallResponse{TaskProgress: p}) }, ) diff --git a/commands/board/listall.go b/commands/service_board_listall.go similarity index 91% rename from commands/board/listall.go rename to commands/service_board_listall.go index 2b4e4d153e2..de20a7ce174 100644 --- a/commands/board/listall.go +++ b/commands/service_board_listall.go @@ -13,22 +13,21 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package board +package commands import ( "context" "sort" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// ListAll FIXMEDOC -func ListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { +// BoardListAll FIXMEDOC +func BoardListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err @@ -47,8 +46,8 @@ func ListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListA } rpcPlatform := &rpc.Platform{ - Metadata: commands.PlatformToRPCPlatformMetadata(platform), - Release: commands.PlatformReleaseToRPC(installedPlatformRelease), + Metadata: PlatformToRPCPlatformMetadata(platform), + Release: PlatformReleaseToRPC(installedPlatformRelease), } toTest := []string{ diff --git a/commands/board/search.go b/commands/service_board_search.go similarity index 87% rename from commands/board/search.go rename to commands/service_board_search.go index 00ea3ac1e20..4bfd0906a20 100644 --- a/commands/board/search.go +++ b/commands/service_board_search.go @@ -13,24 +13,23 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package board +package commands import ( "context" "sort" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/utils" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// Search returns all boards that match the search arg. +// BoardSearch returns all boards that match the search arg. // Boards are searched in all platforms, including those in the index that are not yet // installed. Note that platforms that are not installed don't include boards' FQBNs. // If no search argument is used all boards are returned. -func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { +func BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err @@ -68,8 +67,8 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR Fqbn: board.FQBN(), IsHidden: board.IsHidden(), Platform: &rpc.Platform{ - Metadata: commands.PlatformToRPCPlatformMetadata(platform), - Release: commands.PlatformReleaseToRPC(installedPlatformRelease), + Metadata: PlatformToRPCPlatformMetadata(platform), + Release: PlatformReleaseToRPC(installedPlatformRelease), }, }) } @@ -83,8 +82,8 @@ func Search(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchR foundBoards = append(foundBoards, &rpc.BoardListItem{ Name: strings.Trim(board.Name, " \n"), Platform: &rpc.Platform{ - Metadata: commands.PlatformToRPCPlatformMetadata(platform), - Release: commands.PlatformReleaseToRPC(latestPlatformRelease), + Metadata: PlatformToRPCPlatformMetadata(platform), + Release: PlatformReleaseToRPC(latestPlatformRelease), }, }) } diff --git a/commands/daemon/debug.go b/commands/service_debug.go similarity index 99% rename from commands/daemon/debug.go rename to commands/service_debug.go index d3de963bae4..363f77da862 100644 --- a/commands/daemon/debug.go +++ b/commands/service_debug.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package daemon +package commands import ( "context" diff --git a/commands/lib/download.go b/commands/service_library_download.go similarity index 94% rename from commands/lib/download.go rename to commands/service_library_download.go index 9d174ae1927..56102942ec2 100644 --- a/commands/lib/download.go +++ b/commands/service_library_download.go @@ -13,24 +13,20 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "context" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" ) -var tr = i18n.Tr - // LibraryDownload executes the download of the library. // A DownloadProgressCB callback function must be passed to monitor download progress. func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.LibraryDownloadResponse, error) { @@ -51,7 +47,7 @@ func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downl logrus.Info("Preparing download") - version, err := commands.ParseVersion(req.GetVersion()) + version, err := ParseVersion(req.GetVersion()) if err != nil { return nil, err } diff --git a/commands/lib/install.go b/commands/service_library_install.go similarity index 96% rename from commands/lib/install.go rename to commands/service_library_install.go index 873e442e4a0..b9fa369ebe0 100644 --- a/commands/lib/install.go +++ b/commands/service_library_install.go @@ -13,14 +13,13 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "context" "errors" "fmt" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries" @@ -91,7 +90,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa libReleasesToInstall := map[*librariesindex.Release]*librariesmanager.LibraryInstallPlan{} installLocation := libraries.FromRPCLibraryInstallLocation(req.GetInstallLocation()) for _, lib := range toInstall { - version, err := commands.ParseVersion(lib.GetVersionRequired()) + version, err := ParseVersion(lib.GetVersionRequired()) if err != nil { return err } @@ -137,7 +136,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa } } - if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return err } diff --git a/commands/lib/list.go b/commands/service_library_list.go similarity index 99% rename from commands/lib/list.go rename to commands/service_library_list.go index f5b28bdc426..84030341a43 100644 --- a/commands/lib/list.go +++ b/commands/service_library_list.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "context" diff --git a/commands/lib/resolve_deps.go b/commands/service_library_resolve_deps.go similarity index 97% rename from commands/lib/resolve_deps.go rename to commands/service_library_resolve_deps.go index b734e3d4ec7..5699cbf4052 100644 --- a/commands/lib/resolve_deps.go +++ b/commands/service_library_resolve_deps.go @@ -13,14 +13,13 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "context" "errors" "sort" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries" @@ -48,7 +47,7 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe func libraryResolveDependencies(ctx context.Context, lme *librariesmanager.Explorer, li *librariesindex.Index, reqName, reqVersion string, noOverwrite bool) (*rpc.LibraryResolveDependenciesResponse, error) { - version, err := commands.ParseVersion(reqVersion) + version, err := ParseVersion(reqVersion) if err != nil { return nil, err } diff --git a/commands/lib/search.go b/commands/service_library_search.go similarity index 99% rename from commands/lib/search.go rename to commands/service_library_search.go index 7c2d21cdd70..d5ab7c86d80 100644 --- a/commands/lib/search.go +++ b/commands/service_library_search.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "context" diff --git a/commands/lib/search_test.go b/commands/service_library_search_test.go similarity index 95% rename from commands/lib/search_test.go rename to commands/service_library_search_test.go index faae69ef1a9..84f625b511e 100644 --- a/commands/lib/search_test.go +++ b/commands/service_library_search_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "strings" @@ -28,9 +28,9 @@ import ( ) var indexFilename, _ = globals.LibrariesIndexResource.IndexFileName() -var customIndexPath = paths.New("testdata", "test1", indexFilename) -var fullIndexPath = paths.New("testdata", "full", indexFilename) -var qualifiedSearchIndexPath = paths.New("testdata", "qualified_search", indexFilename) +var customIndexPath = paths.New("testdata", "libraries", "test1", indexFilename) +var fullIndexPath = paths.New("testdata", "libraries", "full", indexFilename) +var qualifiedSearchIndexPath = paths.New("testdata", "libraries", "qualified_search", indexFilename) func TestSearchLibrary(t *testing.T) { li, err := librariesindex.LoadIndex(customIndexPath) diff --git a/commands/lib/uninstall.go b/commands/service_library_uninstall.go similarity index 94% rename from commands/lib/uninstall.go rename to commands/service_library_uninstall.go index aee4ea68143..6f613760890 100644 --- a/commands/lib/uninstall.go +++ b/commands/service_library_uninstall.go @@ -13,12 +13,11 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "context" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries" @@ -33,7 +32,7 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas return err } - version, err := commands.ParseVersion(req.GetVersion()) + version, err := ParseVersion(req.GetVersion()) if err != nil { return err } diff --git a/commands/lib/upgrade.go b/commands/service_library_upgrade.go similarity index 95% rename from commands/lib/upgrade.go rename to commands/service_library_upgrade.go index 0377744b972..75742a22dd3 100644 --- a/commands/lib/upgrade.go +++ b/commands/service_library_upgrade.go @@ -13,12 +13,11 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package lib +package commands import ( "context" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -42,7 +41,7 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa return err } - if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return err } diff --git a/commands/core/download.go b/commands/service_platform_download.go similarity index 94% rename from commands/core/download.go rename to commands/service_platform_download.go index 7c686f4aee9..a8039af55b9 100644 --- a/commands/core/download.go +++ b/commands/service_platform_download.go @@ -13,12 +13,11 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package core +package commands import ( "context" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" @@ -36,7 +35,7 @@ func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, dow } defer release() - version, err := commands.ParseVersion(req.GetVersion()) + version, err := ParseVersion(req.GetVersion()) if err != nil { return nil, &cmderrors.InvalidVersionError{Cause: err} } diff --git a/commands/core/install.go b/commands/service_platform_install.go similarity index 92% rename from commands/core/install.go rename to commands/service_platform_install.go index a568a9dcfba..1fad3919f44 100644 --- a/commands/core/install.go +++ b/commands/service_platform_install.go @@ -13,13 +13,12 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package core +package commands import ( "context" "fmt" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" @@ -35,7 +34,7 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl } defer release() - version, err := commands.ParseVersion(req.GetVersion()) + version, err := ParseVersion(req.GetVersion()) if err != nil { return &cmderrors.InvalidVersionError{Cause: err} } @@ -74,7 +73,7 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl if err := install(); err != nil { return nil, err } - if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return nil, err } return &rpc.PlatformInstallResponse{}, nil diff --git a/commands/core/search.go b/commands/service_platform_search.go similarity index 95% rename from commands/core/search.go rename to commands/service_platform_search.go index f68712c17e3..99f66ffa39a 100644 --- a/commands/core/search.go +++ b/commands/service_platform_search.go @@ -13,14 +13,13 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package core +package commands import ( "regexp" "sort" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/utils" @@ -82,7 +81,7 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse out := []*rpc.PlatformSummary{} for _, platform := range res { rpcPlatformSummary := &rpc.PlatformSummary{ - Metadata: commands.PlatformToRPCPlatformMetadata(platform), + Metadata: PlatformToRPCPlatformMetadata(platform), Releases: map[string]*rpc.PlatformRelease{}, } if installed := pme.GetInstalledPlatformRelease(platform); installed != nil { @@ -92,7 +91,7 @@ func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse rpcPlatformSummary.LatestVersion = latestCompatible.Version.String() } for _, platformRelease := range platform.GetAllReleases() { - rpcPlatformRelease := commands.PlatformReleaseToRPC(platformRelease) + rpcPlatformRelease := PlatformReleaseToRPC(platformRelease) rpcPlatformSummary.Releases[rpcPlatformRelease.GetVersion()] = rpcPlatformRelease } out = append(out, rpcPlatformSummary) diff --git a/commands/core/search_test.go b/commands/service_platform_search_test.go similarity index 94% rename from commands/core/search_test.go rename to commands/service_platform_search_test.go index e67c07c7e95..c6d7b789a2d 100644 --- a/commands/core/search_test.go +++ b/commands/service_platform_search_test.go @@ -13,13 +13,12 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package core +package commands import ( "testing" "github.com/arduino/arduino-cli/internal/cli/configuration" - "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" @@ -33,14 +32,20 @@ func TestPlatformSearch(t *testing.T) { dataDir.MkdirAll() downloadDir.MkdirAll() defer paths.TempDir().Join("test").RemoveAll() - err := paths.New("testdata").Join("package_index.json").CopyTo(dataDir.Join("package_index.json")) + err := paths.New("testdata", "platform", "package_index.json").CopyTo(dataDir.Join("package_index.json")) require.Nil(t, err) configuration.Settings = configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - inst := instance.CreateAndInit() + createResp, err := Create(&rpc.CreateRequest{}) + require.NoError(t, err) + + inst := createResp.GetInstance() require.NotNil(t, inst) + err = Init(&rpc.InitRequest{Instance: inst}, nil) + require.NoError(t, err) + t.Run("SearchAllVersions", func(t *testing.T) { res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, @@ -327,13 +332,17 @@ func TestPlatformSearchSorting(t *testing.T) { dataDir.MkdirAll() downloadDir.MkdirAll() defer paths.TempDir().Join("test").RemoveAll() - err := paths.New("testdata").Join("package_index.json").CopyTo(dataDir.Join("package_index.json")) + err := paths.New("testdata", "platform", "package_index.json").CopyTo(dataDir.Join("package_index.json")) require.Nil(t, err) configuration.Settings = configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - inst := instance.CreateAndInit() + createResp, err := Create(&rpc.CreateRequest{}) + require.NoError(t, err) + inst := createResp.GetInstance() require.NotNil(t, inst) + err = Init(&rpc.InitRequest{Instance: inst}, nil) + require.NoError(t, err) res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, diff --git a/commands/core/uninstall.go b/commands/service_platform_uninstall.go similarity index 94% rename from commands/core/uninstall.go rename to commands/service_platform_uninstall.go index d1c826ad210..26a2e404d58 100644 --- a/commands/core/uninstall.go +++ b/commands/service_platform_uninstall.go @@ -13,12 +13,11 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package core +package commands import ( "context" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" @@ -30,7 +29,7 @@ func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t if err := platformUninstall(ctx, req, taskCB); err != nil { return nil, err } - if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return nil, err } return &rpc.PlatformUninstallResponse{}, nil diff --git a/commands/core/upgrade.go b/commands/service_platform_upgrade.go similarity index 88% rename from commands/core/upgrade.go rename to commands/service_platform_upgrade.go index 57ba8de045e..2b8c5811364 100644 --- a/commands/core/upgrade.go +++ b/commands/service_platform_upgrade.go @@ -13,12 +13,11 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package core +package commands import ( "context" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" @@ -51,14 +50,14 @@ func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downl platformRelease, err := upgrade() if platformRelease != nil { rpcPlatform = &rpc.Platform{ - Metadata: commands.PlatformToRPCPlatformMetadata(platformRelease.Platform), - Release: commands.PlatformReleaseToRPC(platformRelease), + Metadata: PlatformToRPCPlatformMetadata(platformRelease.Platform), + Release: PlatformReleaseToRPC(platformRelease), } } if err != nil { return &rpc.PlatformUpgradeResponse{Platform: rpcPlatform}, err } - if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { return nil, err } diff --git a/commands/daemon/settings.go b/commands/service_settings.go similarity index 99% rename from commands/daemon/settings.go rename to commands/service_settings.go index 2d8b9ca9039..806937fbb0c 100644 --- a/commands/daemon/settings.go +++ b/commands/service_settings.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package daemon +package commands import ( "context" diff --git a/commands/daemon/settings_test.go b/commands/service_settings_test.go similarity index 98% rename from commands/daemon/settings_test.go rename to commands/service_settings_test.go index 93f49174e50..ff2da8dac07 100644 --- a/commands/daemon/settings_test.go +++ b/commands/service_settings_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package daemon +package commands import ( "context" @@ -127,8 +127,7 @@ func TestGetMergedValue(t *testing.T) { func TestGetValueNotFound(t *testing.T) { key := &rpc.SettingsGetValueRequest{Key: "DOESNTEXIST"} _, err := svc.SettingsGetValue(context.Background(), key) - require.NotNil(t, err) - require.Equal(t, `key not found in settings`, err.Error()) + require.Error(t, err) } func TestSetValue(t *testing.T) { diff --git a/commands/daemon/stream.go b/commands/service_stream_utility.go similarity index 99% rename from commands/daemon/stream.go rename to commands/service_stream_utility.go index aa5e70fb770..4b285c443fc 100644 --- a/commands/daemon/stream.go +++ b/commands/service_stream_utility.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package daemon +package commands import ( "errors" diff --git a/commands/daemon/term_example/main.go b/commands/term_example/main.go similarity index 100% rename from commands/daemon/term_example/main.go rename to commands/term_example/main.go diff --git a/commands/daemon/testdata/arduino-cli.yml b/commands/testdata/arduino-cli.yml similarity index 100% rename from commands/daemon/testdata/arduino-cli.yml rename to commands/testdata/arduino-cli.yml diff --git a/commands/lib/testdata/full/library_index.json b/commands/testdata/libraries/full/library_index.json similarity index 100% rename from commands/lib/testdata/full/library_index.json rename to commands/testdata/libraries/full/library_index.json diff --git a/commands/lib/testdata/qualified_search/library_index.json b/commands/testdata/libraries/qualified_search/library_index.json similarity index 100% rename from commands/lib/testdata/qualified_search/library_index.json rename to commands/testdata/libraries/qualified_search/library_index.json diff --git a/commands/lib/testdata/test1/library_index.json b/commands/testdata/libraries/test1/library_index.json similarity index 100% rename from commands/lib/testdata/test1/library_index.json rename to commands/testdata/libraries/test1/library_index.json diff --git a/commands/core/testdata/package_index.json b/commands/testdata/platform/package_index.json similarity index 100% rename from commands/core/testdata/package_index.json rename to commands/testdata/platform/package_index.json diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index ef245d67a75..8e5f0967ffc 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -1698,7 +1698,7 @@ https://arduino.github.io/arduino-cli/dev/rpc/commands/#monitorresponse https://arduino.github.io/arduino-cli/dev/rpc/commands/#enumeratemonitorportsettingsrequest https://arduino.github.io/arduino-cli/dev/rpc/commands/#enumeratemonitorportsettingsresponse -https://github.com/arduino/arduino-cli/blob/master/commands/daemon/term_example/main.go +https://github.com/arduino/arduino-cli/blob/752709af9bf1bf8f6c1e6f689b1e8b86cc4e884e/commands/daemon/term_example/main.go ## 0.23.0 diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index 4243a0fd409..8cc3df895a4 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -18,9 +18,8 @@ package arguments import ( "context" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/board" - "github.com/arduino/arduino-cli/commands/core" - "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -32,7 +31,7 @@ import ( func GetInstalledBoards() []string { inst := instance.CreateAndInit() - list, _ := board.ListAll(context.Background(), &rpc.BoardListAllRequest{ + list, _ := commands.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ Instance: inst, SearchArgs: nil, IncludeHiddenBoards: false, @@ -56,7 +55,7 @@ func GetInstalledProgrammers() []string { SearchArgs: nil, IncludeHiddenBoards: false, } - list, _ := board.ListAll(context.Background(), listAllReq) + list, _ := commands.BoardListAll(context.Background(), listAllReq) installedProgrammers := make(map[string]string) for _, board := range list.GetBoards() { @@ -83,7 +82,7 @@ func GetInstalledProgrammers() []string { func GetUninstallableCores() []string { inst := instance.CreateAndInit() - platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, ManuallyInstalled: true, }) @@ -104,7 +103,7 @@ func GetUninstallableCores() []string { func GetInstallableCores() []string { inst := instance.CreateAndInit() - platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "", }) @@ -132,7 +131,7 @@ func GetUninstallableLibraries() []string { func getLibraries(all bool) []string { inst := instance.CreateAndInit() - libs, _ := lib.LibraryList(context.Background(), &rpc.LibraryListRequest{ + libs, _ := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ Instance: inst, All: all, Updatable: false, @@ -152,7 +151,7 @@ func getLibraries(all bool) []string { func GetInstallableLibs() []string { inst := instance.CreateAndInit() - libs, _ := lib.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ + libs, _ := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ Instance: inst, SearchArgs: "", // if no query is specified all the libs are returned }) diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index bf4e327fed1..7593fd4e54e 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -19,8 +19,8 @@ import ( "fmt" "strings" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -95,7 +95,7 @@ func ParseReference(arg string) (*Reference, error) { // Now that we have the required informations in `ret` we can // try to use core.PlatformList to optimize what the user typed // (by replacing the PackageName and Architecture in ret with the content of core.GetPlatform()) - platforms, _ := core.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: instance.CreateAndInit(), }) foundPlatforms := []string{} diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index a4782b41d3c..82c5c7a0d2e 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -21,7 +21,7 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -55,7 +55,7 @@ func runListAllCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli board listall`") - list, err := board.ListAll(context.Background(), &rpc.BoardListAllRequest{ + list, err := commands.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ Instance: inst, SearchArgs: args, IncludeHiddenBoards: showHiddenBoard, diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index b590ddb6e15..b52a704c1dc 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -22,7 +22,7 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -52,7 +52,7 @@ func runSearchCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli board search`") - res, err := board.Search(context.Background(), &rpc.BoardSearchRequest{ + res, err := commands.BoardSearch(context.Background(), &rpc.BoardSearchRequest{ Instance: inst, SearchArgs: strings.Join(args, " "), IncludeHiddenBoards: showHiddenBoard, diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 2b607b78536..13db316f12b 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -24,9 +24,9 @@ import ( "os" "strings" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/compile" - "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -384,7 +384,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { if profileArg.String() == "" { res.Error += fmt.Sprintln() - if platform, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ + if platform, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: platformErr.Platform, }); err != nil { diff --git a/internal/cli/config/delete.go b/internal/cli/config/delete.go index ae5bd7976b5..2102a2581d7 100644 --- a/internal/cli/config/delete.go +++ b/internal/cli/config/delete.go @@ -18,7 +18,7 @@ package config import ( "os" - "github.com/arduino/arduino-cli/commands/daemon" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -47,7 +47,7 @@ func runDeleteCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli config delete`") toDelete := args[0] - svc := daemon.ArduinoCoreServerImpl{} + svc := commands.ArduinoCoreServerImpl{} _, err := svc.SettingsDelete(cmd.Context(), &rpc.SettingsDeleteRequest{Key: toDelete}) if err != nil { feedback.Fatal(tr("Cannot delete the key %[1]s: %[2]v", toDelete, err), feedback.ErrGeneric) diff --git a/internal/cli/config/get.go b/internal/cli/config/get.go index cb2a5cb0072..74fcd93fa72 100644 --- a/internal/cli/config/get.go +++ b/internal/cli/config/get.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/daemon" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -50,7 +50,7 @@ func initGetCommand() *cobra.Command { func runGetCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli config get`") - svc := daemon.ArduinoCoreServerImpl{} + svc := commands.ArduinoCoreServerImpl{} for _, toGet := range args { resp, err := svc.SettingsGetValue(cmd.Context(), &rpc.SettingsGetValueRequest{Key: toGet}) if err != nil { diff --git a/internal/cli/core/download.go b/internal/cli/core/download.go index daa87f04ef2..6fafe678b5e 100644 --- a/internal/cli/core/download.go +++ b/internal/cli/core/download.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/core" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -63,7 +63,7 @@ func runDownloadCommand(cmd *cobra.Command, args []string) { Architecture: platformRef.Architecture, Version: platformRef.Version, } - _, err := core.PlatformDownload(context.Background(), platformDownloadreq, feedback.ProgressBar()) + _, err := commands.PlatformDownload(context.Background(), platformDownloadreq, feedback.ProgressBar()) if err != nil { feedback.Fatal(tr("Error downloading %[1]s: %[2]v", args[i], err), feedback.ErrNetwork) } diff --git a/internal/cli/core/install.go b/internal/cli/core/install.go index 8193a8b4344..98dc7c4135d 100644 --- a/internal/cli/core/install.go +++ b/internal/cli/core/install.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/core" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -75,7 +75,7 @@ func runInstallCommand(args []string, scriptFlags arguments.PrePostScriptsFlags, NoOverwrite: noOverwrite, SkipPreUninstall: scriptFlags.DetectSkipPreUninstallValue(), } - _, err := core.PlatformInstall(context.Background(), platformInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) + _, err := commands.PlatformInstall(context.Background(), platformInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) if err != nil { feedback.Fatal(tr("Error during install: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index a2434ab676f..db5fbbaf927 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -18,7 +18,7 @@ package core import ( "os" - "github.com/arduino/arduino-cli/commands/core" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -60,7 +60,7 @@ func List(inst *rpc.Instance, all bool, updatableOnly bool) { // GetList returns a list of installed platforms. func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSummary { - platforms, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, ManuallyInstalled: true, }) diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index d24e486ade7..6a6b559a5cf 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -23,7 +23,6 @@ import ( "time" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -74,7 +73,7 @@ func runSearchCommand(cmd *cobra.Command, args []string, allVersions bool) { arguments := strings.ToLower(strings.Join(args, " ")) logrus.Infof("Executing `arduino-cli core search` with args: '%s'", arguments) - resp, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ + resp, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: arguments, }) diff --git a/internal/cli/core/uninstall.go b/internal/cli/core/uninstall.go index 10992ef9bdf..c8e3c212ac1 100644 --- a/internal/cli/core/uninstall.go +++ b/internal/cli/core/uninstall.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/core" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -63,7 +63,7 @@ func runUninstallCommand(args []string, preUninstallFlags arguments.PrePostScrip } } for _, platformRef := range platformsRefs { - _, err := core.PlatformUninstall(context.Background(), &rpc.PlatformUninstallRequest{ + _, err := commands.PlatformUninstall(context.Background(), &rpc.PlatformUninstallRequest{ Instance: inst, PlatformPackage: platformRef.PackageName, Architecture: platformRef.Architecture, diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index e98dd72b244..9bd400fc9fb 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -21,8 +21,8 @@ import ( "fmt" "os" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/core" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -60,7 +60,7 @@ func runUpgradeCommand(args []string, skipPostInstall bool, skipPreUninstall boo func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUninstall bool) { // if no platform was passed, upgrade allthethings if len(args) == 0 { - platforms, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, }) if err != nil { @@ -122,7 +122,7 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni SkipPostInstall: skipPostInstall, SkipPreUninstall: skipPreUninstall, } - response, err := core.PlatformUpgrade(context.Background(), r, feedback.ProgressBar(), feedback.TaskProgress()) + response, err := commands.PlatformUpgrade(context.Background(), r, feedback.ProgressBar(), feedback.TaskProgress()) warningMissingIndex(response) if err != nil { var alreadyAtLatestVersionErr *cmderrors.PlatformAlreadyAtTheLatestVersionError diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index fcda04024f4..a96f5a3ffff 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -24,7 +24,7 @@ import ( "strings" "syscall" - "github.com/arduino/arduino-cli/commands/daemon" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" @@ -102,7 +102,7 @@ func runDaemonCommand(cmd *cobra.Command, args []string) { configuration.Settings.Set("network.user_agent_ext", "daemon") // register the commands service - srv_commands.RegisterArduinoCoreServiceServer(s, &daemon.ArduinoCoreServerImpl{ + srv_commands.RegisterArduinoCoreServiceServer(s, &commands.ArduinoCoreServerImpl{ VersionString: version.VersionInfo.VersionString, }) diff --git a/internal/cli/lib/args.go b/internal/cli/lib/args.go index 75639b8bc84..b69b0664910 100644 --- a/internal/cli/lib/args.go +++ b/internal/cli/lib/args.go @@ -20,7 +20,7 @@ import ( "fmt" "strings" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -76,7 +76,7 @@ func ParseLibraryReferenceArgs(args []string) ([]*LibraryReferenceArg, error) { // library and possibly adjust the case of the name to match a library in the index func ParseLibraryReferenceArgAndAdjustCase(instance *rpc.Instance, arg string) (*LibraryReferenceArg, error) { libRef, _ := ParseLibraryReferenceArg(arg) - res, err := lib.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ + res, err := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ Instance: instance, SearchArgs: libRef.Name, }) diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 557983298fb..248ac85843b 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -21,7 +21,7 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -61,7 +61,7 @@ func runDepsCommand(args []string, noOverwrite bool) { feedback.Fatal(tr("Arguments error: %v", err), feedback.ErrBadArgument) } - deps, err := lib.LibraryResolveDependencies(context.Background(), &rpc.LibraryResolveDependenciesRequest{ + deps, err := commands.LibraryResolveDependencies(context.Background(), &rpc.LibraryResolveDependenciesRequest{ Instance: instance, Name: libRef.Name, Version: libRef.Version, diff --git a/internal/cli/lib/download.go b/internal/cli/lib/download.go index 3616584a91d..733e3567fe7 100644 --- a/internal/cli/lib/download.go +++ b/internal/cli/lib/download.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -60,7 +60,7 @@ func runDownloadCommand(cmd *cobra.Command, args []string) { Name: library.Name, Version: library.Version, } - _, err := lib.LibraryDownload(context.Background(), libraryDownloadRequest, feedback.ProgressBar()) + _, err := commands.LibraryDownload(context.Background(), libraryDownloadRequest, feedback.ProgressBar()) if err != nil { feedback.Fatal(tr("Error downloading %[1]s: %[2]v", library, err), feedback.ErrNetwork) } diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index 11fadebdbef..beca10871a5 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -22,7 +22,7 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -63,7 +63,7 @@ func runExamplesCommand(cmd *cobra.Command, args []string) { name = args[0] } - res, err := lib.LibraryList(context.Background(), &rpc.LibraryListRequest{ + res, err := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ Instance: instance, All: true, Name: name, diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 72a2a0592f9..7bd5c53764b 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -21,7 +21,7 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" @@ -89,7 +89,7 @@ func runInstallCommand(args []string, noDeps bool, noOverwrite bool, gitURL bool if zipPath { for _, path := range args { - err := lib.ZipLibraryInstall(context.Background(), &rpc.ZipLibraryInstallRequest{ + err := commands.ZipLibraryInstall(context.Background(), &rpc.ZipLibraryInstallRequest{ Instance: instance, Path: path, Overwrite: !noOverwrite, @@ -110,7 +110,7 @@ func runInstallCommand(args []string, noDeps bool, noOverwrite bool, gitURL bool } url = wd.String() } - err := lib.GitLibraryInstall(context.Background(), &rpc.GitLibraryInstallRequest{ + err := commands.GitLibraryInstall(context.Background(), &rpc.GitLibraryInstallRequest{ Instance: instance, Url: url, Overwrite: !noOverwrite, @@ -140,7 +140,7 @@ func runInstallCommand(args []string, noDeps bool, noOverwrite bool, gitURL bool NoOverwrite: noOverwrite, InstallLocation: installLocation, } - err := lib.LibraryInstall(context.Background(), libraryInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) + err := commands.LibraryInstall(context.Background(), libraryInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) if err != nil { feedback.Fatal(tr("Error installing %s: %v", libRef.Name, err), feedback.ErrGeneric) } diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index dca14c6f407..1c0ba7dd6c1 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -22,7 +22,7 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -84,7 +84,7 @@ func GetList( name = args[0] } - res, err := lib.LibraryList(context.Background(), &rpc.LibraryListRequest{ + res, err := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ Instance: instance, All: all, Updatable: updatable, diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 913344f582d..2e1e27d4e9b 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -23,7 +23,6 @@ import ( "time" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/lib" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -119,7 +118,7 @@ func runSearchCommand(args []string, namesOnly bool, omitReleasesDetails bool) { instance.Init(inst) } - searchResp, err := lib.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ + searchResp, err := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ Instance: inst, SearchArgs: strings.Join(args, " "), OmitReleasesDetails: omitReleasesDetails, diff --git a/internal/cli/lib/uninstall.go b/internal/cli/lib/uninstall.go index 897b0203320..2a03a463aa1 100644 --- a/internal/cli/lib/uninstall.go +++ b/internal/cli/lib/uninstall.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -54,7 +54,7 @@ func runUninstallCommand(cmd *cobra.Command, args []string) { } for _, library := range refs { - err := lib.LibraryUninstall(context.Background(), &rpc.LibraryUninstallRequest{ + err := commands.LibraryUninstall(context.Background(), &rpc.LibraryUninstallRequest{ Instance: instance, Name: library.Name, Version: library.Version, diff --git a/internal/cli/lib/upgrade.go b/internal/cli/lib/upgrade.go index 5375e5d6795..e83b54f20ac 100644 --- a/internal/cli/lib/upgrade.go +++ b/internal/cli/lib/upgrade.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/lib" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -53,14 +53,14 @@ func Upgrade(instance *rpc.Instance, libraries []string) { var upgradeErr error if len(libraries) == 0 { req := &rpc.LibraryUpgradeAllRequest{Instance: instance} - upgradeErr = lib.LibraryUpgradeAll(req, feedback.ProgressBar(), feedback.TaskProgress()) + upgradeErr = commands.LibraryUpgradeAll(req, feedback.ProgressBar(), feedback.TaskProgress()) } else { for _, libName := range libraries { req := &rpc.LibraryUpgradeRequest{ Instance: instance, Name: libName, } - upgradeErr = lib.LibraryUpgrade(context.Background(), req, feedback.ProgressBar(), feedback.TaskProgress()) + upgradeErr = commands.LibraryUpgrade(context.Background(), req, feedback.ProgressBar(), feedback.TaskProgress()) if upgradeErr != nil { break } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 46ec877fc8b..7f04e731a83 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -22,8 +22,8 @@ import ( "os" "strings" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/core" sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -135,7 +135,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { } msg += "\n" - if platform, err := core.PlatformSearch(&rpc.PlatformSearchRequest{ + if platform, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: platformErr.Platform, }); err != nil { From 3d8f50a5c87719207576fa6a3acb6b280aaac728 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 10:26:24 +0100 Subject: [PATCH 135/361] Moved a batch of function from commands/* subpackage to commands (part 2) --- commands/board/board.go | 20 - commands/board/testdata/package_index.json | 2523 ----------------- commands/service.go | 10 +- .../details.go => service_board_details.go} | 6 +- .../{board/list.go => service_board_list.go} | 10 +- ...ist_test.go => service_board_list_test.go} | 19 +- .../compile.go => service_compile.go} | 5 +- internal/cli/arguments/completion.go | 3 +- internal/cli/arguments/port.go | 6 +- internal/cli/arguments/programmer.go | 8 +- internal/cli/board/details.go | 4 +- internal/cli/board/list.go | 6 +- internal/cli/compile/compile.go | 3 +- 13 files changed, 41 insertions(+), 2582 deletions(-) delete mode 100644 commands/board/board.go delete mode 100644 commands/board/testdata/package_index.json rename commands/{board/details.go => service_board_details.go} (96%) rename commands/{board/list.go => service_board_list.go} (95%) rename commands/{board/list_test.go => service_board_list_test.go} (91%) rename commands/{compile/compile.go => service_compile.go} (99%) diff --git a/commands/board/board.go b/commands/board/board.go deleted file mode 100644 index 3baebc26d27..00000000000 --- a/commands/board/board.go +++ /dev/null @@ -1,20 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 board - -import "github.com/arduino/arduino-cli/internal/i18n" - -var tr = i18n.Tr diff --git a/commands/board/testdata/package_index.json b/commands/board/testdata/package_index.json deleted file mode 100644 index e36f45cb5b0..00000000000 --- a/commands/board/testdata/package_index.json +++ /dev/null @@ -1,2523 +0,0 @@ -{ - "packages": [ - { - "name": "arduino", - "maintainer": "Arduino", - "websiteURL": "http://www.arduino.cc/", - "email": "packages@arduino.cc", - "help": { - "online": "http://www.arduino.cc/en/Reference/HomePage" - }, - "platforms": [ - { - "name": "Arduino AVR Boards", - "architecture": "avr", - "version": "1.8.3", - "category": "Arduino", - "help": { - "online": "http://www.arduino.cc/en/Reference/HomePage" - }, - "url": "http://downloads.arduino.cc/cores/avr-1.8.3.tar.bz2", - "archiveFileName": "avr-1.8.3.tar.bz2", - "checksum": "SHA-256:de8a9b982477762d3d3e52fc2b682cdd8ff194dc3f1d46f4debdea6a01b33c14", - "size": "4941548", - "boards": [ - { "name": "Arduino Yún" }, - { "name": "Arduino Uno" }, - { "name": "Arduino Uno WiFi" }, - { "name": "Arduino Diecimila" }, - { "name": "Arduino Nano" }, - { "name": "Arduino Mega" }, - { "name": "Arduino MegaADK" }, - { "name": "Arduino Leonardo" }, - { "name": "Arduino Leonardo Ethernet" }, - { "name": "Arduino Micro" }, - { "name": "Arduino Esplora" }, - { "name": "Arduino Mini" }, - { "name": "Arduino Ethernet" }, - { "name": "Arduino Fio" }, - { "name": "Arduino BT" }, - { "name": "Arduino LilyPadUSB" }, - { "name": "Arduino Lilypad" }, - { "name": "Arduino Pro" }, - { "name": "Arduino ATMegaNG" }, - { "name": "Arduino Robot Control" }, - { "name": "Arduino Robot Motor" }, - { "name": "Arduino Gemma" }, - { "name": "Adafruit Circuit Playground" }, - { "name": "Arduino Yún Mini" }, - { "name": "Arduino Industrial 101" }, - { "name": "Linino One" } - ], - "toolsDependencies": [ - { - "packager": "arduino", - "name": "avr-gcc", - "version": "7.3.0-atmel3.6.1-arduino7" - }, - { - "packager": "arduino", - "name": "avrdude", - "version": "6.3.0-arduino17" - }, - { - "packager": "arduino", - "name": "arduinoOTA", - "version": "1.3.0" - } - ] - } - ], - "tools": [ - { - "name": "arm-none-eabi-gcc", - "version": "4.8.3-2014q1", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-arm.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-arm.tar.bz2", - "checksum": "SHA-256:ebe96b34c4f434667cab0187b881ed585e7c7eb990fe6b69be3c81ec7e11e845", - "size": "44423906" - }, - { - "host": "i686-mingw32", - "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-windows.tar.gz", - "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-windows.tar.gz", - "checksum": "SHA-256:fd8c111c861144f932728e00abd3f7d1107e186eb9cd6083a54c7236ea78b7c2", - "size": "84537449" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-mac.tar.gz", - "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-mac.tar.gz", - "checksum": "SHA-256:3598acf21600f17a8e4a4e8e193dc422b894dc09384759b270b2ece5facb59c2", - "size": "52518522" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-linux64.tar.gz", - "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-linux64.tar.gz", - "checksum": "SHA-256:d23f6626148396d6ec42a5b4d928955a703e0757829195fa71a939e5b86eecf6", - "size": "51395093" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/gcc-arm-none-eabi-4.8.3-2014q1-linux32.tar.gz", - "archiveFileName": "gcc-arm-none-eabi-4.8.3-2014q1-linux32.tar.gz", - "checksum": "SHA-256:ba1994235f69c526c564f65343f22ddbc9822b2ea8c5ee07dd79d89f6ace2498", - "size": "51029223" - } - ] - }, - { - "name": "arm-none-eabi-gcc", - "version": "7-2017q4", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2019-q4-major-linuxarm.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-7-2019-q4-major-linuxarm.tar.bz2", - "checksum": "SHA-256:34180943d95f759c66444a40b032f7dd9159a562670fc334f049567de140c51b", - "size": "96613739" - }, - { - "host": "aarch64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2018-q2-update-linuxarm64.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-7-2018-q2-update-linuxarm64.tar.bz2", - "checksum": "SHA-256:6fb5752fb4d11012bd0a1ceb93a19d0641ff7cf29d289b3e6b86b99768e66f76", - "size": "99558726" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2017-q4-major-win32-arduino1.zip", - "archiveFileName": "gcc-arm-none-eabi-7-2017-q4-major-win32-arduino1.zip", - "checksum": "SHA-256:96dd0091856f4d2eb21046eba571321feecf7d50b9c156f708b2a8b683903382", - "size": "131761924" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2017-q4-major-mac.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-7-2017-q4-major-mac.tar.bz2", - "checksum": "SHA-256:89b776c7cf0591c810b5b60067e4dc113b5b71bc50084a536e71b894a97fdccb", - "size": "104550003" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2017-q4-major-linux64.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-7-2017-q4-major-linux64.tar.bz2", - "checksum": "SHA-256:96a029e2ae130a1210eaa69e309ea40463028eab18ba19c1086e4c2dafe69a6a", - "size": "99857645" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/gcc-arm-none-eabi-7-2018-q2-update-linux32.tar.bz2", - "archiveFileName": "gcc-arm-none-eabi-7-2018-q2-update-linux32.tar.bz2", - "checksum": "SHA-256:090a0bc2b1956bc49392dff924a6c30fa57c88130097b1972204d67a45ce3cf3", - "size": "97427309" - } - ] - }, - { - "name": "bossac", - "version": "1.3-arduino", - "systems": [ - { - "host": "i686-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.3a-arduino-i686-linux-gnu.tar.bz2", - "archiveFileName": "bossac-1.3a-arduino-i686-linux-gnu.tar.bz2", - "checksum": "SHA-256:d6d10362f40729a7877e43474fcf02ad82cf83321cc64ca931f5c82b2d25d24f", - "size": "147359" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.3a-arduino-x86_64-pc-linux-gnu.tar.bz2", - "archiveFileName": "bossac-1.3a-arduino-x86_64-pc-linux-gnu.tar.bz2", - "checksum": "SHA-256:c1daed033251296768fa8b63ad283e053da93427c0f3cd476a71a9188e18442c", - "size": "26179" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/bossac-1.3a-arduino-i686-mingw32.tar.bz2", - "archiveFileName": "bossac-1.3a-arduino-i686-mingw32.tar.bz2", - "checksum": "SHA-256:a37727622e0f86cb4f2856ad0209568a5d804234dba3dc0778829730d61a5ec7", - "size": "265647" - }, - { - "host": "i386-apple-darwin11", - "url": "http://downloads.arduino.cc/tools/bossac-1.3a-arduino-i386-apple-darwin11.tar.bz2", - "archiveFileName": "bossac-1.3a-arduino-i386-apple-darwin11.tar.bz2", - "checksum": "SHA-256:40770b225753e7a52bb165e8f37e6b760364f5c5e96048168d0178945bd96ad6", - "size": "39475" - } - ] - }, - { - "name": "avr-gcc", - "version": "4.8.1-arduino2", - "systems": [ - { - "size": "24443285", - "checksum": "SHA-256:c19a7526235c364d7f62ec1a993d9b495973ba1813869ccf0241c65905896852", - "host": "i386-apple-darwin11", - "archiveFileName": "avr-gcc-4.8.1-arduino2-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino2-i386-apple-darwin11.tar.bz2" - }, - { - "size": "27152002", - "checksum": "SHA-256:24a931877bee5f36dc00a88877219a6d2f6a1fb7abb989fd04556b8432d2e14e", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-4.8.1-arduino2-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino2-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "25876628", - "checksum": "SHA-256:2d701b4efbc8cec62dc299cde01730c5eebcf23d7e4393db8cf7744a9bf1d3de", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-4.8.1-arduino2-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino2-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "46046691", - "checksum": "SHA-256:2eafb49fb803fa4d2c32d35e24c0b372fcd520ca0a790fa537a847179e382000", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-4.8.1-arduino2-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino2-i686-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.0.1-arduino2", - "systems": [ - { - "size": "264965", - "checksum": "SHA-256:71117cce0096dad6c091e2c34eb0b9a3386d3aec7d863d2da733d9e5eac3a6b1", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.0.1-arduino2-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino2-i386-apple-darwin11.tar.bz2" - }, - { - "size": "292541", - "checksum": "SHA-256:2489004d1d98177eaf69796760451f89224007c98b39ebb5577a9a34f51425f1", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.0.1-arduino2-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino2-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "283209", - "checksum": "SHA-256:6f633dd6270ad0d9ef19507bcbf8697b414a15208e4c0f71deec25ef89cdef3f", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.0.1-arduino2-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino2-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "241618", - "checksum": "SHA-256:6c5483800ba753c80893607e30cade8ab77b182808fcc5ea15fa3019c63d76ae", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.0.1-arduino2-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino2-i686-mingw32.zip" - } - ] - }, - { - "name": "avr-gcc", - "version": "4.8.1-arduino3", - "systems": [ - { - "size": "24447175", - "checksum": "SHA-256:28e207c66b3dc405367d0c5e68ce3c278e5ec3abb0e4974e7927fe0f9a532c40", - "host": "i386-apple-darwin11", - "archiveFileName": "avr-gcc-4.8.1-arduino3-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino3-i386-apple-darwin11.tar.bz2" - }, - { - "size": "30556996", - "checksum": "SHA-256:028340abec6eb3085b82404dfc7ed143e1bb05b2da961b539ddcdba4a6f65533", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-4.8.1-arduino3-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino3-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "28768022", - "checksum": "SHA-256:37796548ba9653267568f959cd8c7ebfe5b4bce4599898cf9f876d64e616cb87", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-4.8.1-arduino3-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino3-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "46046917", - "checksum": "SHA-256:d6f0527793f9800f060408392a99eb290ed205730edbae43a1a25cbf6b6b588f", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-4.8.1-arduino3-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino3-i686-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.0.1-arduino3", - "systems": [ - { - "size": "264682", - "checksum": "SHA-256:df7cd4a76e45ab3767eb964f845f4d5e9d643df950ec32812923da1e9843d072", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.0.1-arduino3-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino3-i386-apple-darwin11.tar.bz2" - }, - { - "size": "748634", - "checksum": "SHA-256:bb7bff48f20a68e1fe559c3f3f644574df12ab5c98eb6a1491079f3c760434ad", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.0.1-arduino3-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino3-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "495482", - "checksum": "SHA-256:96a0cfb83fe0452366159e3bf4e19ff10906a8957d1feafd3d98b49ab4b14405", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.0.1-arduino3-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino3-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "241619", - "checksum": "SHA-256:ea59bfc2ee85039c85318b2ba52c47ef0573513444a785b72f59b22586a950f9", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.0.1-arduino3-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino3-i686-mingw32.zip" - } - ] - }, - { - "name": "avr-gcc", - "version": "4.8.1-arduino5", - "systems": [ - { - "size": "24403768", - "checksum": "SHA-256:c8ffcd2db7a651b48ab4ea19db4b34fbae3e7f0210a0f294592af2bdabf2154b", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avr-gcc-4.8.1-arduino5-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "24437400", - "checksum": "SHA-256:111b3ef00d737d069eb237a8933406cbb928e4698689e24663cffef07688a901", - "host": "i386-apple-darwin11", - "archiveFileName": "avr-gcc-4.8.1-arduino5-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-i386-apple-darwin11.tar.bz2" - }, - { - "size": "27093036", - "checksum": "SHA-256:9054fcc174397a419ba56c4ce1bfcbcad275a6a080cc144905acc9b0351ee9cc", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-4.8.1-arduino5-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "25882375", - "checksum": "SHA-256:7648b7f549b37191da0b0be53bae791b652f82ac3cb4e7877f85075aaf32141f", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-4.8.1-arduino5-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "46044779", - "checksum": "SHA-256:d4303226a7b41d3c445d901b5aa5903458def3fc7b7ff4ffef37cabeb37d424d", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-4.8.1-arduino5-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.8.1-arduino5-i686-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.0.1-arduino5", - "systems": [ - { - "size": "267095", - "checksum": "SHA-256:23ea1341dbc117ec067f2eb1a498ad2bdd7d11fff0143c00b2e018c39804f6b4", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.0.1-arduino5-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "264894", - "checksum": "SHA-256:41af8d3b0a586853c8317b4fb5163ca0db594a1870ddf680fd988c42166fc3e5", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.0.1-arduino5-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-i386-apple-darwin11.tar.bz2" - }, - { - "size": "292629", - "checksum": "SHA-256:d826cca7383461f7e8adde686372cf900e9cb3afd639555cf2d6c645b283a476", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.0.1-arduino5-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "283121", - "checksum": "SHA-256:5933d66927bce46ababa9b68a8b7f1d53f68c4f3ff7a5ce4b85d7cf4e6c6bfee", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.0.1-arduino5-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "241634", - "checksum": "SHA-256:41f667f1f6a0ab8df46b4ffacd023176dcdef331d6db3b74bddd37d18cca0a44", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.0.1-arduino5-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.0.1-arduino5-i686-mingw32.zip" - } - ] - }, - { - "name": "avr-gcc", - "version": "4.9.2-atmel3.5.3-arduino", - "systems": [ - { - "size": "27046965", - "checksum": "SHA-256:adeee70be27cc3ee0e4b9e844610d9c534c7b21dae24ec3fa49808c2f04958de", - "host": "i386-apple-darwin11", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino-i386-apple-darwin11.tar.bz2" - }, - { - "size": "27400001", - "checksum": "SHA-256:02dba9ee77694c23a4c304416a3808949c8faedf07f25a225a4189d850615ec6", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "29904544", - "checksum": "SHA-256:0711e885c0430859e7fea3831af8c69a0c25f92a90ecfda9281799a0acec7455", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "29077606", - "checksum": "SHA-256:fe0bb1d6369694779ceb671d457ccadbeafe855a11f6746b7db20055cea4df33", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "43847566", - "checksum": "SHA-256:445ce3117e87be7e196809fbbea373976160689b6d4b43dbf185eb4c914d1469", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino-i686-mingw32.zip" - } - ] - }, - { - "name": "avr-gcc", - "version": "4.9.2-atmel3.5.3-arduino2", - "systems": [ - { - "size": "27400889", - "checksum": "SHA-256:77f300d519bc6b9a25df17b36cb303218e9a258c059b2f6bff8f71a0d8f96821", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino2-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "27048070", - "checksum": "SHA-256:311258af188defe24a4b341e4e1f4dc93ca6c80516d3e3b55a2fc07a7050248b", - "host": "i386-apple-darwin11", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino2-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i386-apple-darwin11.tar.bz2" - }, - { - "size": "43847945", - "checksum": "SHA-256:f8e6ede8746c70be01ec79a30803277cd94360cc5b2e104762da0fbcf536fcc6", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-mingw32.zip" - }, - { - "size": "29292729", - "checksum": "SHA-256:f108951e7c4dc90926d1fc76cc27549f6ea63c702a2bb7ff39647a19ae86ec68", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "29882960", - "checksum": "SHA-256:3903a6d1bb9fdd91727e504b5993d5501f119bcb7f99f7aee98a2101e5629188", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.3-arduino2-x86_64-pc-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "avr-gcc", - "version": "4.9.2-atmel3.5.4-arduino2", - "systems": [ - { - "size": "27764772", - "checksum": "SHA-256:ee36009e19bd238d1f6351cbc9aa5db69714761f67dec4c1d69d5d5d7758720c", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "28574644", - "checksum": "SHA-256:67b3ed3555eacf0b4fc6f62240773b9f0220171fe4de26bb8d711547fc884730", - "host": "i386-apple-darwin11", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i386-apple-darwin11.tar.bz2" - }, - { - "size": "44386446", - "checksum": "SHA-256:6044551cd729d88ea6ffcccf10aad1934c5b164d61f4f5890b0e78524ffff853", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-mingw32.zip" - }, - { - "size": "29723974", - "checksum": "SHA-256:63a9d4cebbac06fd5fa8f48a2e2ba7d513837dcddc97f560129b4e466af901b5", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "30374404", - "checksum": "SHA-256:19480217f1524d78467b83cd742f503182bbcc76b5440093261f146828aa588c", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-4.9.2-atmel3.5.4-arduino2-x86_64-pc-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "avr-gcc", - "version": "5.4.0-atmel3.6.1-arduino2", - "systems": [ - { - "size": "31449123", - "checksum": "SHA-256:6741f95cc3182a8729cf9670eb13d8dc5a19e881639ca61e53a2d78346a4e99f", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avr-gcc-5.4.0-atmel3.6.1-arduino2-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-5.4.0-atmel3.6.1-arduino2-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "33141295", - "checksum": "SHA-256:0fa9e4f2d6d09782dbc84dd91a302849cde2f192163cb9f29484c5f32785269a", - "host": "aarch64-linux-gnu", - "archiveFileName": "avr-gcc-5.4.0-atmel3.6.1-arduino2-aarch64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-5.4.0-atmel3.6.1-arduino2-aarch64-pc-linux-gnu.tar.bz2" - }, - { - "size": "31894498", - "checksum": "SHA-256:abc50137543ba73e227b4d1b8510fff50a474bacd24f2c794f852904963849f8", - "host": "i386-apple-darwin11", - "archiveFileName": "avr-gcc-5.4.0-atmel3.6.1-arduino2-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-5.4.0-atmel3.6.1-arduino2-i386-apple-darwin11.tar.bz2" - }, - { - "size": "45923772", - "checksum": "SHA-256:7eb5691a379b547798fae535b05d68bc02d3969f12d051b8a5a5f2f350ab0a7f", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-5.4.0-atmel3.6.1-arduino2-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-5.4.0-atmel3.6.1-arduino2-i686-w64-mingw32.zip" - }, - { - "size": "33022916", - "checksum": "SHA-256:51f87e04f3cdaa73565c751051ac118e02904ad8478f1475b300e1bffcd5538f", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-5.4.0-atmel3.6.1-arduino2-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-5.4.0-atmel3.6.1-arduino2-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "33522375", - "checksum": "SHA-256:05422b0d73b10357c12ea938f02cf50529422b89a4722756e70024aed3e69185", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-5.4.0-atmel3.6.1-arduino2-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-5.4.0-atmel3.6.1-arduino2-x86_64-pc-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "avr-gcc", - "version": "7.3.0-atmel3.6.1-arduino5", - "systems": [ - { - "size": "34462042", - "checksum": "SHA-256:f4acd5531c6b82c715e2edfa0aadb13fb718b4095b3ea1aa1f7fbde680069639", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino5-arm-linux-gnueabihf.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-arm-linux-gnueabihf.tar.bz2" - }, - { - "size": "39381972", - "checksum": "SHA-256:dd9c70190be370a44fb47dab1514de6d8852b861dfa527964b65c740d8d50c10", - "host": "aarch64-linux-gnu", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino5-aarch64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-aarch64-pc-linux-gnu.tar.bz2" - }, - { - "size": "38492678", - "checksum": "SHA-256:f48706317f04452544ab90e75bd1bb193f8af2cb1002f53aa702f27202c1b38f", - "host": "x86_64-apple-darwin14", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino5-x86_64-apple-darwin14.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-x86_64-apple-darwin14.tar.bz2" - }, - { - "size": "53727984", - "checksum": "SHA-256:6d4a5d089a36e5b5252befc73da204555b49e376ce7577ee19ca7f028b295830", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino5-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-i686-w64-mingw32.zip" - }, - { - "size": "38710087", - "checksum": "SHA-256:2ff12739d7ed09688d6b3c2c126e8df69b5bda1a07ab558799f0e576571e0e1d", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino5-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "39114120", - "checksum": "SHA-256:3effed8ffa1978b6e4a46f1aa2acc629e440b4d77244f71f9b79a916025206fb", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino5-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino5-x86_64-pc-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "avr-gcc", - "version": "7.3.0-atmel3.6.1-arduino7", - "systems": [ - { - "size": "34683056", - "checksum": "SHA-256:3903553d035da59e33cff9941b857c3cb379cb0638105dfdf69c97f0acc8e7b5", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino7-arm-linux-gnueabihf.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-arm-linux-gnueabihf.tar.bz2" - }, - { - "size": "38045723", - "checksum": "SHA-256:03d322b9df6da17289e9e7c6233c34a8535d9c645c19efc772ba19e56914f339", - "host": "aarch64-linux-gnu", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino7-aarch64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-aarch64-pc-linux-gnu.tar.bz2" - }, - { - "size": "36684546", - "checksum": "SHA-256:f6ed2346953fcf88df223469088633eb86de997fa27ece117fd1ef170d69c1f8", - "host": "x86_64-apple-darwin14", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-apple-darwin14.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-apple-darwin14.tar.bz2" - }, - { - "size": "52519412", - "checksum": "SHA-256:a54f64755fff4cb792a1495e5defdd789902a2a3503982e81b898299cf39800e", - "host": "i686-mingw32", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino7-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-i686-w64-mingw32.zip" - }, - { - "size": "37176991", - "checksum": "SHA-256:954bbffb33545bcdcd473af993da2980bf32e8461ff55a18e0eebc7b2ef69a4c", - "host": "i686-linux-gnu", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino7-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "37630618", - "checksum": "SHA-256:bd8c37f6952a2130ac9ee32c53f6a660feb79bee8353c8e289eb60fdcefed91e", - "host": "x86_64-linux-gnu", - "archiveFileName": "avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avr-gcc-7.3.0-atmel3.6.1-arduino7-x86_64-pc-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "avrdude", - "version": "6.3.0-arduino2", - "systems": [ - { - "size": "643484", - "checksum": "SHA-256:26af86137d8a872f64d217cb262734860b36fe26d6d34faf72e951042f187885", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.3.0-arduino2-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino2-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "653968", - "checksum": "SHA-256:32525ea3696c861030e1a6006a5f11971d1dad331e45bfa68dac35126476b04f", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.3.0-arduino2-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino2-i386-apple-darwin11.tar.bz2" - }, - { - "size": "745081", - "checksum": "SHA-256:9635af5a35bdca11804c07582d7beec458140fb6e3308168c3deda18dc6790fa", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino2-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino2-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "731802", - "checksum": "SHA-256:790b6cb610c48e73a2a0f65dcee9903d2fd7f1b0a1f75008a9a21f50a60c7251", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino2-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino2-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "608496", - "checksum": "SHA-256:8eaf98ea41fbd4450483488ef31710cbcc43c0412dbc8e1e1b582feaab6eca30", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.3.0-arduino2-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino2-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.3.0-arduino6", - "systems": [ - { - "size": "644600", - "checksum": "SHA-256:2426207423d58eb0e5fc4df9493418f1cb54ba3f328fdc7c3bb582f920b9cbe7", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "696273", - "checksum": "SHA-256:d9a039c9e92d3dbb2011e75e6c044a1a4a2789e2fbf8386b1d580994811be084", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i386-apple-darwin11.tar.bz2" - }, - { - "size": "746653", - "checksum": "SHA-256:97b4875cad6110c70101bb776f3ac37b64a2e73f036cd0b10afb6f4be96a6621", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "733127", - "checksum": "SHA-256:5f4bc4b0957b1d34cec9908b7f84a7c297b894b39fe16a4992c284b24c00d6fb", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "645859", - "checksum": "SHA-256:7468a1bcdfa459d175a095b102c0de28efc466accfb104305fbcad7832659ddc", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.3.0-arduino6-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino6-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.3.0-arduino8", - "systems": [ - { - "size": "644550", - "checksum": "SHA-256:25a6834ae48019fccf37024236a1f79fe21760414292a4f3fa058d937ceee1ce", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.3.0-arduino8-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino8-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "697268", - "checksum": "SHA-256:be8a33a7ec01bb7123279466ffa31371e0aa4fccefffcc23ce71810b59531947", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.3.0-arduino8-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino8-i386-apple-darwin11.tar.bz2" - }, - { - "size": "711544", - "checksum": "SHA-256:85f38d02e2398d3b7f93da2ca8b830ee65bb73f66cc7a7b30c466d3cebf2da6e", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino8-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino8-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "701718", - "checksum": "SHA-256:8e2e4bc71d22e9d11ed143763b97f3aa2d164cdeee678a9deaf5b36e245b2d20", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino8-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino8-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "645996", - "checksum": "SHA-256:3a7592f6c33efd658b820c73d1058d3c868a297cbddb37da5644973c3b516d5e", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.3.0-arduino8-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino8-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.3.0-arduino9", - "systems": [ - { - "size": "644550", - "checksum": "SHA-256:25a6834ae48019fccf37024236a1f79fe21760414292a4f3fa058d937ceee1ce", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "697309", - "checksum": "SHA-256:bfa06bc042dff252d3a8eded98da159484e75b46d2697da4d9446dcd2aea8465", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i386-apple-darwin11.tar.bz2" - }, - { - "size": "711229", - "checksum": "SHA-256:c8cccb84e2fe49ee837b24f0a60a99e9c371dae26e84c5b0b22b6b6aab2f1f6a", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "701590", - "checksum": "SHA-256:4235a2d58e3c3224c603d6c5f0610507ed6c48ebf4051fdcce9f77a7646e218b", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "645974", - "checksum": "SHA-256:f3c5cfa8d0b3b0caee81c5b35fb6acff89c342ef609bf4266734c6266a256d4f", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.3.0-arduino9-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino9-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.3.0-arduino14", - "systems": [ - { - "size": "219616", - "checksum": "SHA-256:d1a06275490d59a431c419788bbc53ffd5a79510dac1a35e63cf488621ba5589", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.3.0-arduino14-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino14-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "229688", - "checksum": "SHA-256:439f5de150695e3732dd598bb182dae6ec1e3a5cdb580f855d9b58e485e84e66", - "host": "aarch64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino14-aarch64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino14-aarch64-pc-linux-gnu.tar.bz2" - }, - { - "size": "256917", - "checksum": "SHA-256:47d03991522722ce92120c60c4118685b7861909d895f34575001137961e4a63", - "host": "i386-apple-darwin11", - "archiveFileName": "avrdude-6.3.0-arduino14-i386-apple-darwin12.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino14-i386-apple-darwin11.tar.bz2" - }, - { - "size": "253366", - "checksum": "SHA-256:7986e8f3059353dc08f9234f7dbc98d9b2fa2242f046f02a8243a060f7358bfc", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino14-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino14-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "244293", - "checksum": "SHA-256:4f100e3843c635064997df91d2a079ab15cd30d1d7fa227280abe6a7c3bc74ca", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino14-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino14-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "328363", - "checksum": "SHA-256:69293e0de2eff8de89f553477795c25005f674a320bbba4b0222beb0194aa297", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.3.0-arduino14-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino14-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.3.0-arduino16", - "systems": [ - { - "size": "219642", - "checksum": "SHA-256:6fc443445440f0e2d95d70013ed075bceffc2a1babc1e7d4f1ae69c3fe268c57", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.3.0-arduino16-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino16-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "229997", - "checksum": "SHA-256:7a2726ab2fd18b910abc3d9dd33c4b40d18c34cf12c46f3367932e7fd87c0197", - "host": "aarch64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino16-aarch64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino16-aarch64-pc-linux-gnu.tar.bz2" - }, - { - "size": "279172", - "checksum": "SHA-256:f93dc12a4b30a335ab24b3c628e6cad0ebf2f8adfb7ef50f87c0fc17165b2156", - "host": "x86_64-apple-darwin15", - "archiveFileName": "avrdude-6.3.0-arduino16-i386-apple-darwin11.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino16-i386-apple-darwin11.tar.bz2" - }, - { - "size": "254085", - "checksum": "SHA-256:57856d6e388d333d924afa3e2d5525161dbe0dc670e7caae2720e249606175a7", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino16-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino16-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "244393", - "checksum": "SHA-256:bdf73358991243a9a8de11a42c80c4ec4b14c82f2222cb0c3c181f62656c41fb", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino16-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino16-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "328456", - "checksum": "SHA-256:781c16a8bf813fa68fc0f47d427279053c9e098c3aed7165449ac4f0137304dd", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.3.0-arduino16-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino16-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "avrdude", - "version": "6.3.0-arduino17", - "systems": [ - { - "size": "219631", - "checksum": "SHA-256:2a8e68c5d803aa6f902ef219f177ec3a4c28275d85cbe272962ad2cd374f50d1", - "host": "arm-linux-gnueabihf", - "archiveFileName": "avrdude-6.3.0-arduino17-armhf-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-armhf-pc-linux-gnu.tar.bz2" - }, - { - "size": "229852", - "checksum": "SHA-256:6cf948f751acfe7b96684537f2291c766ec8b54b4f7dc95539864821456fa9fc", - "host": "aarch64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino17-aarch64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-aarch64-pc-linux-gnu.tar.bz2" - }, - { - "size": "279045", - "checksum": "SHA-256:120cc9edaae699e7e9ac50b1b8eb0e7d51fdfa555bac54233c2511e6ee5418c9", - "host": "x86_64-apple-darwin12", - "archiveFileName": "avrdude-6.3.0-arduino17-x86_64-apple-darwin12.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-x86_64-apple-darwin12.tar.bz2" - }, - { - "size": "254271", - "checksum": "SHA-256:accdfb920af2aabf4f7461d2ac73c0751760f525216dc4e7657427a78c60d13d", - "host": "x86_64-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino17-x86_64-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-x86_64-pc-linux-gnu.tar.bz2" - }, - { - "size": "244550", - "checksum": "SHA-256:5c8cc6c17db9300e1451fe41cd7178b0442b4490ee6fdbc0aed9811aef96c05f", - "host": "i686-linux-gnu", - "archiveFileName": "avrdude-6.3.0-arduino17-i686-pc-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-i686-pc-linux-gnu.tar.bz2" - }, - { - "size": "328460", - "checksum": "SHA-256:e99188873c7c5ad8f8f906f068c33600e758b2e36cce3adbd518a21bd266749d", - "host": "i686-mingw32", - "archiveFileName": "avrdude-6.3.0-arduino17-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/avrdude-6.3.0-arduino17-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "arduinoOTA", - "version": "1.0.0", - "systems": [ - { - "size": "2044124", - "checksum": "SHA-256:850a86876403cb45c944590a8cc7f9d8ef6d53ed853f7a9593ec395c4c1c6b2d", - "host": "i686-linux-gnu", - "archiveFileName": "arduinoOTA-1.0.0-linux32.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.0.0-linux32.tar.bz2" - }, - { - "size": "2178772", - "checksum": "SHA-256:f01f25e02787492a8a30414230635adae76ed85228045437433892d185991f9e", - "host": "x86_64-linux-gnu", - "archiveFileName": "arduinoOTA-1.0.0-linux64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.0.0-linux64.tar.bz2" - }, - { - "size": "1961623", - "checksum": "SHA-256:0ca6c0a93bfad50be0b6e62dc51ba6c3267b809bab4ec91ef9606ab7d838e46b", - "host": "arm-linux-gnueabihf", - "archiveFileName": "arduinoOTA-1.0.0-linuxarm.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.0.0-linuxarm.tar.bz2" - }, - { - "size": "2180617", - "checksum": "SHA-256:e63c6034da2c1a7fe453eaa29c22df88627cc0aa3c5cbab7635c19367b74ee59", - "host": "i386-apple-darwin11", - "archiveFileName": "arduinoOTA-1.0.0-osx.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.0.0-osx.tar.bz2" - }, - { - "size": "2247970", - "checksum": "SHA-256:7bced1489217e07661ea1e75702a10a874b54f6146e2414ee47684c7eac014d1", - "host": "i686-mingw32", - "archiveFileName": "arduinoOTA-1.0.0-windows.zip", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.0.0-windows.zip" - } - ] - }, - { - "name": "arduinoOTA", - "version": "1.1.1", - "systems": [ - { - "size": "2045036", - "checksum": "SHA-256:7ac91ef1d5b357c0ceb790be02ef54986db598ba5a42fffbd6c8ecbdd6a271ef", - "host": "i686-linux-gnu", - "archiveFileName": "arduinoOTA-1.1.1-linux_386.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_386.tar.bz2" - }, - { - "size": "2178288", - "checksum": "SHA-256:eb5ad0a457dd7f610f7f9b85454399c36755673d61a16f9d07cdfcbbb32ec277", - "host": "x86_64-linux-gnu", - "archiveFileName": "arduinoOTA-1.1.1-linux_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_amd64.tar.bz2" - }, - { - "size": "1962115", - "checksum": "SHA-256:e4880d83df3d3f6f4b7b7bcde161e80a0556877468803a3c6066ee4ad18a374c", - "host": "arm-linux-gnueabihf", - "archiveFileName": "arduinoOTA-1.1.1-linux_arm.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.1.1-linux_arm.tar.bz2" - }, - { - "size": "2181376", - "checksum": "SHA-256:a1ce7cf578982f3af5e4fab6b5839e44830d7a41cb093faba5c4b45952a6fa55", - "host": "i386-apple-darwin11", - "archiveFileName": "arduinoOTA-1.1.1-darwin_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.1.1-darwin_amd64.tar.bz2" - }, - { - "size": "2248431", - "checksum": "SHA-256:b2d3610c77f969a68cd75b6ea66bf63ec10c263937009d99147fbcd975c90006", - "host": "i686-mingw32", - "archiveFileName": "arduinoOTA-1.1.1-windows_386.zip", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.1.1-windows_386.zip" - } - ] - }, - { - "name": "arduinoOTA", - "version": "1.2.0", - "systems": [ - { - "size": "1839854", - "checksum": "SHA-256:7157a0b56620fb43b8dfb4afd958f8b294476a5ce4322c212167ca5d4092f2d9", - "host": "i686-linux-gnu", - "archiveFileName": "arduinoOTA-1.2.0-linux_386.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.0-linux_386.tar.bz2" - }, - { - "size": "1974030", - "checksum": "SHA-256:f672c1c407c4cb10729a1d891bdb8b010e2043e5415e1c2559bf39cdeaede78c", - "host": "x86_64-linux-gnu", - "archiveFileName": "arduinoOTA-1.2.0-linux_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.0-linux_amd64.tar.bz2" - }, - { - "size": "1787138", - "checksum": "SHA-256:ac49ffcd3239a6a52215f89dbda012d28f1296e6d79fc0efc3df06f919105744", - "host": "arm-linux-gnueabihf", - "archiveFileName": "arduinoOTA-1.2.0-linux_arm.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.0-linux_arm.tar.bz2" - }, - { - "size": "1992476", - "checksum": "SHA-256:160e83e77d7a60514ca40fedf34f539124aac4b9ae0e2bfdf8fda11d958de38f", - "host": "i386-apple-darwin11", - "archiveFileName": "arduinoOTA-1.2.0-darwin_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.0-darwin_amd64.tar.bz2" - }, - { - "size": "2003964", - "checksum": "SHA-256:9d26747093ab7966bfeffced9dbd7def0e164bba0db89f5efb3f7f8011496c8f", - "host": "i686-mingw32", - "archiveFileName": "arduinoOTA-1.2.0-windows_386.zip", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.0-windows_386.zip" - } - ] - }, - { - "name": "arduinoOTA", - "version": "1.2.1", - "systems": [ - { - "size": "2133779", - "checksum": "SHA-256:2ffdf64b78486c1d0bf28dc23d0ca36ab75ca92e84b9487246da01888abea6d4", - "host": "i686-linux-gnu", - "archiveFileName": "arduinoOTA-1.2.1-linux_386.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.1-linux_386.tar.bz2" - }, - { - "size": "2257689", - "checksum": "SHA-256:5b82310d53688480f34a916aac31cd8f2dd2be65dd8fa6c2445262262e1948f9", - "host": "x86_64-linux-gnu", - "archiveFileName": "arduinoOTA-1.2.1-linux_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.1-linux_amd64.tar.bz2" - }, - { - "size": "2093132", - "checksum": "SHA-256:ad54b3dcd586212941fd992bab573b53d13207a419a3f2981c970a085ae0e9e0", - "host": "arm-linux-gnueabihf", - "archiveFileName": "arduinoOTA-1.2.1-linux_arm.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.1-linux_arm.tar.bz2" - }, - { - "size": "2093132", - "checksum": "SHA-256:ad54b3dcd586212941fd992bab573b53d13207a419a3f2981c970a085ae0e9e0", - "host": "aarch64-linux-gnu", - "archiveFileName": "arduinoOTA-1.2.1-linux_arm.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.1-linux_arm.tar.bz2" - }, - { - "size": "2244088", - "checksum": "SHA-256:93a6d9f9c0c765d237be1665bf7a0a8e2b0b6d2a8531eae92db807f5515088a7", - "host": "i386-apple-darwin11", - "archiveFileName": "arduinoOTA-1.2.1-darwin_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.1-darwin_amd64.tar.bz2" - }, - { - "size": "2237511", - "checksum": "SHA-256:e1ebf21f2c073fce25c09548c656da90d4ef6c078401ec6f323e0c58335115e5", - "host": "i686-mingw32", - "archiveFileName": "arduinoOTA-1.2.1-windows_386.zip", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.2.1-windows_386.zip" - } - ] - }, - { - "name": "arduinoOTA", - "version": "1.3.0", - "systems": [ - { - "size": "2633516", - "checksum": "SHA-256:3e7f59d6fbc7a724598303f0d3289d0c4fd137a8973437980658379a024887b2", - "host": "i686-linux-gnu", - "archiveFileName": "arduinoOTA-1.3.0-linux_386.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.3.0-linux_386.tar.bz2" - }, - { - "size": "2716248", - "checksum": "SHA-256:aa45ee2441ffc3a122daec5802941d1fa2ac47adf5c5c481b5e0daa4dc259ffa", - "host": "x86_64-linux-gnu", - "archiveFileName": "arduinoOTA-1.3.0-linux_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.3.0-linux_amd64.tar.bz2" - }, - { - "size": "2567435", - "checksum": "SHA-256:1888587409b56aef4ba0ab0e6703b3dccba7cc3a022756ba9b908247e5d5a656", - "host": "arm-linux-gnueabihf", - "archiveFileName": "arduinoOTA-1.3.0-linux_arm.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.3.0-linux_arm.tar.bz2" - }, - { - "size": "2472427", - "checksum": "SHA-256:835ed8f37cffac37e979d1b0f6041559592d3d98be52f0e8611b76c4858e4113", - "host": "aarch64-linux-gnu", - "archiveFileName": "arduinoOTA-1.3.0-linux_arm64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.3.0-linux_arm64.tar.bz2" - }, - { - "size": "2766116", - "checksum": "SHA-256:d5d0f82ff829c0e434d12a2ee640a6fbd78f893ab37782edbb8b5bf2359d119e", - "host": "i386-apple-darwin11", - "archiveFileName": "arduinoOTA-1.3.0-darwin_amd64.tar.bz2", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.3.0-darwin_amd64.tar.bz2" - }, - { - "size": "2768948", - "checksum": "SHA-256:051943844eee442460d2c709edefadca184287fffd2b6c100dd53aa742aa05f6", - "host": "i686-mingw32", - "archiveFileName": "arduinoOTA-1.3.0-windows_386.zip", - "url": "http://downloads.arduino.cc/tools/arduinoOTA-1.3.0-windows_386.zip" - } - ] - }, - { - "name": "bossac", - "version": "1.5-arduino", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/bossac-1.5-arduino2-arm-linux-gnueabihf.tar.bz2", - "archiveFileName": "bossac-1.5-arduino2-arm-linux-gnueabihf.tar.bz2", - "checksum": "SHA-256:7b61b7814e5b57bcbd853439fc9cd3e98af4abfdd369bf039c6917f9599e44b9", - "size": "199550" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/bossac-1.5-arduino2-mingw32.tar.gz", - "archiveFileName": "bossac-1.5-arduino2-mingw32.tar.gz", - "checksum": "SHA-256:9d849a34f0b26c25c6a8c4d741cd749dea238cade73b57a3048f248c431d9cc9", - "size": "222283" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/bossac-1.5-arduino2-i386-apple-darwin14.3.0.tar.gz", - "archiveFileName": "bossac-1.5-arduino2-i386-apple-darwin14.3.0.tar.gz", - "checksum": "SHA-256:8f07e50a1f887cb254092034c6a4482d73209568cd83cb624d6625d66794f607", - "size": "64120" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/bossac-1.5-arduino2-x86_64-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.5-arduino2-x86_64-linux-gnu.tar.gz", - "checksum": "SHA-256:42785329155dcb39872d4d30a2a9d31e0f0ce3ae7e34a3ed3d840cbc909c4657", - "size": "30431" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/bossac-1.5-arduino2-i486-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.5-arduino2-i486-linux-gnu.tar.gz", - "checksum": "SHA-256:ac56e553bbd6d992fa5592ace90996806230ab582f2bf9f8590836fec9dabef6", - "size": "29783" - } - ] - }, - { - "name": "bossac", - "version": "1.6-arduino", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/bossac-1.6-arduino-mingw32.tar.gz", - "archiveFileName": "bossac-1.6-arduino-mingw32.tar.gz", - "checksum": "SHA-256:b59d64d3f7a43c894d0fba2dd1241bbaeefedf8c902130a24d8ec63b08f9ff6a", - "size": "222517" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/bossac-1.6-arduino-i386-apple-darwin14.4.0.tar.gz", - "archiveFileName": "bossac-1.6-arduino-i386-apple-darwin14.4.0.tar.gz", - "checksum": "SHA-256:6b3b686a782b6587c64c85db80085c9089c5ea1b051e49e5af17b3c6109c8efa", - "size": "64538" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.6-arduino-x86_64-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.6-arduino-x86_64-linux-gnu.tar.gz", - "checksum": "SHA-256:2ce7a54d609b4ce3b678147202b2556dd1ce5b318de48a018c676521b994c7a7", - "size": "30649" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.6-arduino-i486-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.6-arduino-i486-linux-gnu.tar.gz", - "checksum": "SHA-256:5c320bf5cfdbf03e3f648642e6de325e459a061fcf96b2215cb955263f7467b2", - "size": "30072" - } - ] - }, - { - "name": "bossac", - "version": "1.6.1-arduino", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/bossac-1.6.1-arduino-arm-linux-gnueabihf.tar.bz2", - "archiveFileName": "bossac-1.6.1-arduino-arm-linux-gnueabihf.tar.bz2", - "checksum": "SHA-256:8c4e63db982178919c824e7a35580dffc95c3426afa7285de3eb583982d4d391", - "size": "201341" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/bossac-1.6.1-arduino-mingw32.tar.gz", - "archiveFileName": "bossac-1.6.1-arduino-mingw32.tar.gz", - "checksum": "SHA-256:d59f43e2e83a337d04c4ae88b195a4ee175b8d87fff4c43144d23412a4a9513b", - "size": "222918" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/bossac-1.6.1-arduino-i386-apple-darwin14.5.0.tar.gz", - "archiveFileName": "bossac-1.6.1-arduino-i386-apple-darwin14.5.0.tar.gz", - "checksum": "SHA-256:2f80ef569a3fb19da60ab3489e49d8fe7d4699876acf30ff4938c632230a09aa", - "size": "64587" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/bossac-1.6.1-arduino-x86_64-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.6.1-arduino-x86_64-linux-gnu.tar.gz", - "checksum": "SHA-256:b78afc66c00ccfdd69a08bd3959c260a0c64ccce78a71d5a1135ae4437ff40db", - "size": "30869" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/bossac-1.6.1-arduino-i486-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.6.1-arduino-i486-linux-gnu.tar.gz", - "checksum": "SHA-256:1e211347569d75193b337296a10dd25b0ce04419e3d7dc644355178b6b514f92", - "size": "30320" - } - ] - }, - { - "name": "bossac", - "version": "1.7.0", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-mingw32.tar.gz", - "archiveFileName": "bossac-1.7.0-mingw32.tar.gz", - "checksum": "SHA-256:9ef7d11b4fabca0adc17102a0290957d5cc26ce46b422c3a5344722c80acc7b2", - "size": "243066" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-i386-apple-darwin15.6.0.tar.gz", - "archiveFileName": "bossac-1.7.0-i386-apple-darwin15.6.0.tar.gz", - "checksum": "SHA-256:feac36ab38876c163dcf51bdbcfbed01554eede3d41c59a0e152e170fe5164d2", - "size": "63822" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-x86_64-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.7.0-x86_64-linux-gnu.tar.gz", - "checksum": "SHA-256:9475c0c8596c1ba12dcbce60e48fef7559087fa8eccbea7bab732113f3c181ee", - "size": "31373" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-i686-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.7.0-i686-linux-gnu.tar.gz", - "checksum": "SHA-256:17003b0bdc698d52eeb91b09c34aec501c6e0285b4aa88659ab7cc407a451a4d", - "size": "31086" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-arm-linux-gnueabihf.tar.gz", - "archiveFileName": "bossac-1.7.0-arm-linux-gnueabihf.tar.gz", - "checksum": "SHA-256:09e46d0af61b2189caaac0bc6d4dd15cb22c167fdedc56ec98602dd5f10e68e0", - "size": "27382" - } - ] - }, - { - "name": "bossac", - "version": "1.7.0-arduino3", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-arduino3-windows.tar.gz", - "archiveFileName": "bossac-1.7.0-arduino3-windows.tar.gz", - "checksum": "SHA-256:62745cc5a98c26949ec9041ef20420643c561ec43e99dae659debf44e6836526", - "size": "3607421" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-arduino3-osx.tar.gz", - "archiveFileName": "bossac-1.7.0-arduino3-osx.tar.gz", - "checksum": "SHA-256:adb3c14debd397d8135e9e970215c6972f0e592c7af7532fa15f9ce5e64b991f", - "size": "75510" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-arduino3-linux64.tar.gz", - "archiveFileName": "bossac-1.7.0-arduino3-linux64.tar.gz", - "checksum": "SHA-256:1ae54999c1f97234a5c603eb99ad39313b11746a4ca517269a9285afa05f9100", - "size": "207271" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-arduino3-linux32.tar.gz", - "archiveFileName": "bossac-1.7.0-arduino3-linux32.tar.gz", - "checksum": "SHA-256:4ac4354746d1a09258f49a43ef4d1baf030d81c022f8434774268b00f55d3ec3", - "size": "193577" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-arduino3-linuxarm.tar.gz", - "archiveFileName": "bossac-1.7.0-arduino3-linuxarm.tar.gz", - "checksum": "SHA-256:626c6cc548046901143037b782bf019af1663bae0d78cf19181a876fb9abbb90", - "size": "193941" - }, - { - "host": "aarch64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.7.0-arduino3-linuxaarch64.tar.gz", - "archiveFileName": "bossac-1.7.0-arduino3-linuxaarch64.tar.gz", - "checksum": "SHA-256:a098b2cc23e29f0dc468416210d097c4a808752cd5da1a7b9b8b7b931a04180b", - "size": "268365" - } - ] - }, - { - "name": "bossac", - "version": "1.8.0-48-gb176eee", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/bossac-1.8-48-gb176eee-i686-w64-mingw32.tar.gz", - "archiveFileName": "bossac-1.8-48-gb176eee-i686-w64-mingw32.tar.gz", - "checksum": "SHA-256:4523a6897f3dfd673fe821c5cfbac8d6a12782e7a36b312b9ee7d41deec2a10a", - "size": "91219" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/bossac-1.8-48-gb176eee-i386-apple-darwin16.1.0.tar.gz", - "archiveFileName": "bossac-1.8-48-gb176eee-i386-apple-darwin16.1.0.tar.gz", - "checksum": "SHA-256:581ecc16021de36638ae14e9e064ffb4a1d532a11502f4252da8bcdf5ce1d649", - "size": "39150" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.8-48-gb176eee-x86_64-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.8-48-gb176eee-x86_64-linux-gnu.tar.gz", - "checksum": "SHA-256:1347eec67f5b90b785abdf6c8a8aa59129d0c016de7ff9b5ac1690378eacca3c", - "size": "37798" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.8-48-gb176eee-i486-linux-gnu.tar.gz", - "archiveFileName": "bossac-1.8-48-gb176eee-i486-linux-gnu.tar.gz", - "checksum": "SHA-256:4c7492f876b8269aa9d8bcaad3aeda31acf1a0292383093b6d9f5f1d23fdafc3", - "size": "37374" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/bossac-1.8-48-gb176eee-arm-linux-gnueabihf.tar.gz", - "archiveFileName": "bossac-1.8-48-gb176eee-arm-linux-gnueabihf.tar.gz", - "checksum": "SHA-256:2001e4a592f3aefd22f213b1ddd6f5d8d5e74bd04080cf1b97c24cbaa81b10ed", - "size": "34825" - } - ] - }, - { - "name": "bossac", - "version": "1.9.1-arduino1", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino1-windows.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino1-windows.tar.gz", - "checksum": "SHA-256:fe2d6ef78ca711c78e104e258357ed06b09e95e9356dc72d8d2c9f6670af4b7a", - "size": "1260118" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino1-osx.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino1-osx.tar.gz", - "checksum": "SHA-256:c356632f98d5bae9b4f5d3ad823a5ee89b23078c2b835e8ac39a208f4855b0e6", - "size": "47835" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino1-linux64.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino1-linux64.tar.gz", - "checksum": "SHA-256:d3d324a3503a8db825c01f3b38519e4d4824c4d0e42cb399a16c1e074f9a9a86", - "size": "399453" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino1-linux32.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino1-linux32.tar.gz", - "checksum": "SHA-256:eec622b8b5a8642af94ec23febfe14c928edd734f144db73b146bf6708d2057f", - "size": "384792" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino1-linuxarm.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino1-linuxarm.tar.gz", - "checksum": "SHA-256:b42061d2fa2dbd6910d0d295e024f2cff7bb44f3e2ecc0bc2fe71a1f31b0ecba", - "size": "361799" - }, - { - "host": "aarch64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino1-linuxaarch64.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino1-linuxaarch64.tar.gz", - "checksum": "SHA-256:b271013841e1e25ee55f241e8c50a56ed775d3b322844e1e3099231ba17f3868", - "size": "442657" - } - ] - }, - { - "name": "bossac", - "version": "1.9.1-arduino2", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-windows.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino2-windows.tar.gz", - "checksum": "SHA-256:5c994d04354f0db8e4bea136f49866d2ba537f0af74b2e78026f2d4fc75e3e39", - "size": "1260628" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-osx.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino2-osx.tar.gz", - "checksum": "SHA-256:b7732129364a378676604db6579c9b8dab50dd965fb50d7a3afff1839c97ff80", - "size": "47870" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-linux64.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino2-linux64.tar.gz", - "checksum": "SHA-256:9eb549874391521999cee13dc823a2cfc8866b8246945339a281808d99c72d2c", - "size": "399532" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-linux32.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino2-linux32.tar.gz", - "checksum": "SHA-256:10d69f53f169f25afee2dd583dfd9dc803c10543e6c5260d106725cb0d174900", - "size": "384951" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-linuxarm.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino2-linuxarm.tar.gz", - "checksum": "SHA-256:c9539d161d23231b5beb1d09a71829744216c7f5bc2857a491999c3e567f5b19", - "size": "361915" - }, - { - "host": "aarch64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/bossac-1.9.1-arduino2-linuxaarch64.tar.gz", - "archiveFileName": "bossac-1.9.1-arduino2-linuxaarch64.tar.gz", - "checksum": "SHA-256:c167fa0ea223966f4d21f5592da3888bcbfbae385be6c5c4e41f8abff35f5cb1", - "size": "442853" - } - ] - }, - { - "name": "openocd", - "version": "0.9.0-arduino", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/OpenOCD-0.9.0-arduino-arm-linux-gnueabihf.tar.bz2", - "archiveFileName": "OpenOCD-0.9.0-dev-arduino-arm-linux-gnueabihf.tar.bz2", - "checksum": "SHA-256:a84e7c4cba853f2c937d77286f8a0ca317447d3873e51cbd2a2d41424e044a18", - "size": "1402283" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/OpenOCD-0.9.0-arduino-i686-pc-cygwin.tar.bz2", - "archiveFileName": "OpenOCD-0.9.0-arduino-i686-pc-cygwin.tar.bz2", - "checksum": "SHA-256:5310bdd3730168a33b09b68558e908ca8b2fec25620c488f50a5fb35d0d1effd", - "size": "2360705" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/OpenOCD-0.9.0-arduino-x86_64-apple-darwin14.3.0.tar.bz2", - "archiveFileName": "OpenOCD-0.9.0-arduino-x86_64-apple-darwin14.3.0.tar.bz2", - "checksum": "SHA-256:ef90769c07b8018cec3a5054e690ac6c196e03720e102ac5038c3f9da4e44782", - "size": "2275101" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/OpenOCD-0.9.0-arduino-x86_64-linux-gnu.tar.bz2", - "archiveFileName": "OpenOCD-0.9.0-arduino-x86_64-linux-gnu.tar.bz2", - "checksum": "SHA-256:c350409f7badf213dfcc516ea34289461ad92d87806e8e33945508a2c6b2c0b3", - "size": "1210796" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/OpenOCD-0.9.0-arduino-i486-linux-gnu.tar.bz2", - "archiveFileName": "OpenOCD-0.9.0-arduino-i486-linux-gnu.tar.bz2", - "checksum": "SHA-256:4c9793dfd7822b0fc959d039e5ecabfa89092ee2911abfdc7b5905deb171499a", - "size": "1129654" - } - ] - }, - { - "name": "openocd", - "version": "0.9.0-arduino5-static", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino5-static-arm-linux-gnueabihf.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino5-static-arm-linux-gnueabihf.tar.bz2", - "checksum": "SHA-256:cef48c1448664612dd25168f0a56962aec4ce2f1d7c06dafd86a1b606dc8ae20", - "size": "1319000" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino5-static-i686-w64-mingw32.zip", - "archiveFileName": "openocd-0.9.0-arduino5-static-i686-w64-mingw32.zip", - "checksum": "SHA-256:54c70a0bfa1b0a3a592d6ee9ab532f9715e1dede2e7d46a3232abd72de274c5a", - "size": "1641209" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino5-static-x86_64-apple-darwin15.6.0.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino5-static-x86_64-apple-darwin15.6.0.tar.bz2", - "checksum": "SHA-256:14be5c5400e1a32c3d6a15f9c8d2f438634974ab263ff437b91b527e5b5d53a4", - "size": "1235752" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino5-static-x86_64-linux-gnu.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino5-static-x86_64-linux-gnu.tar.bz2", - "checksum": "SHA-256:8e378bdcd71c93a39818c16b49b91128c8028e3d9675551ba7eff39462391ba2", - "size": "1393855" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino5-static-i686-linux-gnu.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino5-static-i686-linux-gnu.tar.bz2", - "checksum": "SHA-256:8e0787f54e204fe6e9071b2b7edf8a5e695492696f1182d447647fe5c0bd55bd", - "size": "1341739" - } - ] - }, - { - "name": "openocd", - "version": "0.9.0-arduino6-static", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino6-static-arm-linux-gnueabihf.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino6-static-arm-linux-gnueabihf.tar.bz2", - "checksum": "SHA-256:5d596c90510f80d66f64a3615d74063a6a61f07b79be475592a3c76bf0deb3ca", - "size": "1319020" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino6-static-i686-w64-mingw32.zip", - "archiveFileName": "openocd-0.9.0-arduino6-static-i686-w64-mingw32.zip", - "checksum": "SHA-256:dde6c8cd42c179e819eeebee1d09829b0768ecb89b75fb10e1f053c1c65f9cf1", - "size": "1641514" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino6-static-x86_64-apple-darwin15.6.0.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino6-static-x86_64-apple-darwin15.6.0.tar.bz2", - "checksum": "SHA-256:00cd65339bc981ff0d4ab4876df8f89b1e60e476441fabca31d5fc2968bad9be", - "size": "1222523" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino6-static-x86_64-linux-gnu.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino6-static-x86_64-linux-gnu.tar.bz2", - "checksum": "SHA-256:d2f58bbd0661b755fdb8a307d197f119d838b066f5510b25ee766e47d1774543", - "size": "1394293" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/openocd-0.9.0-arduino6-static-i686-linux-gnu.tar.bz2", - "archiveFileName": "openocd-0.9.0-arduino6-static-i686-linux-gnu.tar.bz2", - "checksum": "SHA-256:88d948c2062c73c0c93e649e099aaac4b009018cff365f44cfc5b47907043dc9", - "size": "1340444" - } - ] - }, - { - "name": "openocd", - "version": "0.10.0-arduino7", - "systems": [ - { - "size": "1638575", - "checksum": "SHA-256:f8e0d783e80a3d5f75ee82e9542315871d46e1e283a97447735f1cbcd8986b06", - "host": "arm-linux-gnueabihf", - "archiveFileName": "openocd-0.10.0-arduino7-static-arm-linux-gnueabihf.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino7-static-arm-linux-gnueabihf.tar.bz2" - }, - { - "size": "1580739", - "checksum": "SHA-256:d47d728a9a8d98f28dc22e31d7127ced9de0d5e268292bf935e050ef1d2bdfd0", - "host": "aarch64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino7-static-aarch64-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino7-static-aarch64-linux-gnu.tar.bz2" - }, - { - "size": "1498970", - "checksum": "SHA-256:1e539a587a0c54a551ce0dc542af10a2520b1c93bbfe2ca4ebaef4c83411df1a", - "host": "i386-apple-darwin11", - "archiveFileName": "openocd-0.10.0-arduino7-static-x86_64-apple-darwin13.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino7-static-x86_64-apple-darwin13.tar.bz2" - }, - { - "size": "1701581", - "checksum": "SHA-256:91d418bd309ec1e98795c622cd25c936aa537c0b3828fa5bcb191389378a1b27", - "host": "x86_64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino7-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino7-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2" - }, - { - "size": "1626347", - "checksum": "SHA-256:08a18f39d72a5626383503053a30a5da89eed7fdccb6f514b20b77403eb1b2b4", - "host": "i686-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino7-static-i686-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino7-static-i686-ubuntu12.04-linux-gnu.tar.bz2" - }, - { - "size": "2016965", - "checksum": "SHA-256:f251aec5471296e18aa540c3078d66475357a76a77c16c06a2d9345f4e12b3d5", - "host": "i686-mingw32", - "archiveFileName": "openocd-0.10.0-arduino7-static-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino7-static-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "openocd", - "version": "0.10.0-arduino8", - "systems": [ - { - "size": "1714346", - "checksum": "SHA-256:86c4ea3086b4a1475fd8a1e1daf4585748be093dad4160e816b1bf2502501fb2", - "host": "arm-linux-gnueabihf", - "archiveFileName": "openocd-0.10.0-arduino8-static-arm-linux-gnueabihf.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino8-static-arm-linux-gnueabihf.tar.bz2" - }, - { - "size": "1778371", - "checksum": "SHA-256:500cb112ee92092bbfce69649b90d0284752c5766f5aaf5c24dc754100788ef9", - "host": "aarch64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino8-static-aarch64-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino8-static-aarch64-linux-gnu.tar.bz2" - }, - { - "size": "1653652", - "checksum": "SHA-256:584b513ebbc4a645a68234d964ba56f042aaf7668d84ba47398a07a294516cc4", - "host": "i386-apple-darwin11", - "archiveFileName": "openocd-0.10.0-arduino8-static-x86_64-apple-darwin13.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino8-static-x86_64-apple-darwin13.tar.bz2" - }, - { - "size": "1845547", - "checksum": "SHA-256:455d4123146bf6b4b095de86d3340fd01e39bba9c70b2f0bb8e979ac4dddac39", - "host": "x86_64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino8-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino8-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2" - }, - { - "size": "1781892", - "checksum": "SHA-256:5b44889984daefa966b8251edb98445169107ca32f974ca598d4c59e7d2c8901", - "host": "i686-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino8-static-i686-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino8-static-i686-ubuntu12.04-linux-gnu.tar.bz2" - }, - { - "size": "2190397", - "checksum": "SHA-256:35a92f32f2762ef9405d2c684ec7bea2e70c01068f380251aecd9290f5bd5b24", - "host": "i686-mingw32", - "archiveFileName": "openocd-0.10.0-arduino8-static-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino8-static-i686-w64-mingw32.zip" - } - ] - }, - { - "name": "openocd", - "version": "0.10.0-arduino9", - "systems": [ - { - "size": "1714657", - "checksum": "SHA-256:b814b16b52cef21eacf456cc7a89d7b5d4cb1385bfb8fb82963b7d8151824d93", - "host": "aarch64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino9-static-aarch64-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino9-static-aarch64-linux-gnu.tar.bz2" - }, - { - "size": "1778177", - "checksum": "SHA-256:f0443e771f5e3a779949498d3c9bfffd1dd27cdf0ad7136a2db5e80447a7175a", - "host": "arm-linux-gnueabihf", - "archiveFileName": "openocd-0.10.0-arduino9-static-arm-linux-gnueabihf.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino9-static-arm-linux-gnueabihf.tar.bz2" - }, - { - "size": "1782958", - "checksum": "SHA-256:a22872918df899cb808f9286141d42438ae5611156c143cfb692069f52a2bddd", - "host": "i686-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino9-static-i686-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino9-static-i686-ubuntu12.04-linux-gnu.tar.bz2" - }, - { - "size": "2190484", - "checksum": "SHA-256:f53f9a2b7f48a2ebc00ea9196bf559d15987d3779bcea4118ebec8925da5a1f6", - "host": "i686-mingw32", - "archiveFileName": "openocd-0.10.0-arduino9-static-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino9-static-i686-w64-mingw32.zip" - }, - { - "size": "1655311", - "checksum": "SHA-256:6d47f97919f317bb6e5f1f903127604271d66d149f4625f29b8e0eb5f6c94c64", - "host": "i386-apple-darwin11", - "archiveFileName": "openocd-0.10.0-arduino9-static-x86_64-apple-darwin13.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino9-static-x86_64-apple-darwin13.tar.bz2" - }, - { - "size": "1844365", - "checksum": "SHA-256:f624552b5ba56aa78d0c1a0e5d18cf2b5694db2ed44080968e22aa1af8f23c1b", - "host": "x86_64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino9-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino9-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "openocd", - "version": "0.10.0-arduino12", - "systems": [ - { - "size": "1778706", - "checksum": "SHA-256:86e15186a44b87c00f5ddd9c05849d2ec107783dd18a5ac984ce2a71e34084ed", - "host": "aarch64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino12-static-aarch64-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino12-static-aarch64-linux-gnu.tar.bz2" - }, - { - "size": "1855234", - "checksum": "SHA-256:5c6ca6189f61894ee77b29bc342f96cd14e4d7627fabeb2a8d2e2c534316cc38", - "host": "arm-linux-gnueabihf", - "archiveFileName": "openocd-0.10.0-arduino12-static-arm-linux-gnueabihf.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino12-static-arm-linux-gnueabihf.tar.bz2" - }, - { - "size": "1844359", - "checksum": "SHA-256:4938742d3fec62941187666b8ded44d8f6c7a404920ff49d97fca484b9fd08af", - "host": "i686-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino12-static-i686-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino12-static-i686-ubuntu12.04-linux-gnu.tar.bz2" - }, - { - "size": "2276602", - "checksum": "SHA-256:1e23c0f1f809725db3e1f8d1e1f460a37fb7b2cf95e93c6e328e527501ab084c", - "host": "i686-mingw32", - "archiveFileName": "openocd-0.10.0-arduino12-static-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino12-static-i686-w64-mingw32.zip" - }, - { - "size": "1723600", - "checksum": "SHA-256:b40d135449401870302bec073326d6f1df79da38d9dd21326314a5a90189a06e", - "host": "i386-apple-darwin11", - "archiveFileName": "openocd-0.10.0-arduino12-static-x86_64-apple-darwin13.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino12-static-x86_64-apple-darwin13.tar.bz2" - }, - { - "size": "1918845", - "checksum": "SHA-256:bc48be10916f69f3a4b050f04babc14ee99dad1fc5da55ce606077991edab1d0", - "host": "x86_64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino12-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino12-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "openocd", - "version": "0.10.0-arduino13", - "systems": [ - { - "size": "1820630", - "checksum": "SHA-256:47ae7a1a7961ac9daef001b011505b38777baac3c02dd7e673f62601df841427", - "host": "aarch64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino13-static-aarch64-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino13-static-aarch64-linux-gnu.tar.bz2" - }, - { - "size": "1896478", - "checksum": "SHA-256:4dd38b701019ad2fbb58173a3bc6c58effd39501a4a8266256dfe169e7516655", - "host": "arm-linux-gnueabihf", - "archiveFileName": "openocd-0.10.0-arduino13-static-arm-linux-gnueabihf.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino13-static-arm-linux-gnueabihf.tar.bz2" - }, - { - "size": "1883854", - "checksum": "SHA-256:788093504b25d2b9b772657215254ba178ed37773364ce240de68281efe40bd5", - "host": "i686-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino13-static-i686-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino13-static-i686-ubuntu12.04-linux-gnu.tar.bz2" - }, - { - "size": "2334654", - "checksum": "SHA-256:2f3b87c644569f47780b16b071cd0929a64a8899ec769f4ca7480d20d5503365", - "host": "i686-mingw32", - "archiveFileName": "openocd-0.10.0-arduino13-static-i686-w64-mingw32.zip", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino13-static-i686-w64-mingw32.zip" - }, - { - "size": "1767137", - "checksum": "SHA-256:0f3f6e5e03355ffbbc84c4b4750e63c9315b7638c56d63df1b7795968208e6ba", - "host": "i386-apple-darwin11", - "archiveFileName": "openocd-0.10.0-arduino13-static-x86_64-apple-darwin13.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino13-static-x86_64-apple-darwin13.tar.bz2" - }, - { - "size": "1955043", - "checksum": "SHA-256:e4b2ffbc9a29be21c32c6921c2e7c0ee39c664c4faca28a5f839c1df32d3bd24", - "host": "x86_64-linux-gnu", - "archiveFileName": "openocd-0.10.0-arduino13-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2", - "url": "http://downloads.arduino.cc/tools/openocd-0.10.0-arduino13-static-x86_64-ubuntu12.04-linux-gnu.tar.bz2" - } - ] - }, - { - "name": "CMSIS", - "version": "4.0.0-atmel", - "systems": [ - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/CMSIS-4.0.0.tar.bz2", - "archiveFileName": "CMSIS-4.0.0.tar.bz2", - "checksum": "SHA-256:7d637d2d7a0c6bacc22065848a201db2fff124268e4a56868260d0f472b4bbb7", - "size": "17642623" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/CMSIS-4.0.0.tar.bz2", - "archiveFileName": "CMSIS-4.0.0.tar.bz2", - "checksum": "SHA-256:7d637d2d7a0c6bacc22065848a201db2fff124268e4a56868260d0f472b4bbb7", - "size": "17642623" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/CMSIS-4.0.0.tar.bz2", - "archiveFileName": "CMSIS-4.0.0.tar.bz2", - "checksum": "SHA-256:7d637d2d7a0c6bacc22065848a201db2fff124268e4a56868260d0f472b4bbb7", - "size": "17642623" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-4.0.0.tar.bz2", - "archiveFileName": "CMSIS-4.0.0.tar.bz2", - "checksum": "SHA-256:7d637d2d7a0c6bacc22065848a201db2fff124268e4a56868260d0f472b4bbb7", - "size": "17642623" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-4.0.0.tar.bz2", - "archiveFileName": "CMSIS-4.0.0.tar.bz2", - "checksum": "SHA-256:7d637d2d7a0c6bacc22065848a201db2fff124268e4a56868260d0f472b4bbb7", - "size": "17642623" - } - ] - }, - { - "name": "CMSIS", - "version": "4.5.0", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/CMSIS-4.5.0.tar.bz2", - "archiveFileName": "CMSIS-4.5.0.tar.bz2", - "checksum": "SHA-256:cd8f7eae9fc7c8b4a1b5e40b89b9666d33953b47d3d2eb81844f5af729fa224d", - "size": "31525196" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/CMSIS-4.5.0.tar.bz2", - "archiveFileName": "CMSIS-4.5.0.tar.bz2", - "checksum": "SHA-256:cd8f7eae9fc7c8b4a1b5e40b89b9666d33953b47d3d2eb81844f5af729fa224d", - "size": "31525196" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-4.5.0.tar.bz2", - "archiveFileName": "CMSIS-4.5.0.tar.bz2", - "checksum": "SHA-256:cd8f7eae9fc7c8b4a1b5e40b89b9666d33953b47d3d2eb81844f5af729fa224d", - "size": "31525196" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-4.5.0.tar.bz2", - "archiveFileName": "CMSIS-4.5.0.tar.bz2", - "checksum": "SHA-256:cd8f7eae9fc7c8b4a1b5e40b89b9666d33953b47d3d2eb81844f5af729fa224d", - "size": "31525196" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/CMSIS-4.5.0.tar.bz2", - "archiveFileName": "CMSIS-4.5.0.tar.bz2", - "checksum": "SHA-256:cd8f7eae9fc7c8b4a1b5e40b89b9666d33953b47d3d2eb81844f5af729fa224d", - "size": "31525196" - }, - { - "host": "aarch64-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-4.5.0.tar.bz2", - "archiveFileName": "CMSIS-4.5.0.tar.bz2", - "checksum": "SHA-256:cd8f7eae9fc7c8b4a1b5e40b89b9666d33953b47d3d2eb81844f5af729fa224d", - "size": "31525196" - }, - { - "host": "all", - "url": "http://downloads.arduino.cc/CMSIS-4.5.0.tar.bz2", - "archiveFileName": "CMSIS-4.5.0.tar.bz2", - "checksum": "SHA-256:cd8f7eae9fc7c8b4a1b5e40b89b9666d33953b47d3d2eb81844f5af729fa224d", - "size": "31525196" - } - ] - }, - { - "name": "CMSIS-Atmel", - "version": "1.0.0", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.0.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.0.0.tar.bz2", - "checksum": "SHA-256:b3c954570a2f8d9821c372e0864f5f0b86cfbeab8114ce95821f5c49758c7256", - "size": "1281654" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.0.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.0.0.tar.bz2", - "checksum": "SHA-256:b3c954570a2f8d9821c372e0864f5f0b86cfbeab8114ce95821f5c49758c7256", - "size": "1281654" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.0.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.0.0.tar.bz2", - "checksum": "SHA-256:b3c954570a2f8d9821c372e0864f5f0b86cfbeab8114ce95821f5c49758c7256", - "size": "1281654" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.0.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.0.0.tar.bz2", - "checksum": "SHA-256:b3c954570a2f8d9821c372e0864f5f0b86cfbeab8114ce95821f5c49758c7256", - "size": "1281654" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.0.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.0.0.tar.bz2", - "checksum": "SHA-256:b3c954570a2f8d9821c372e0864f5f0b86cfbeab8114ce95821f5c49758c7256", - "size": "1281654" - }, - { - "host": "all", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.0.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.0.0.tar.bz2", - "checksum": "SHA-256:b3c954570a2f8d9821c372e0864f5f0b86cfbeab8114ce95821f5c49758c7256", - "size": "1281654" - } - ] - }, - { - "name": "CMSIS-Atmel", - "version": "1.1.0", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.1.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.1.0.tar.bz2", - "checksum": "SHA-256:3ea5ec0451f42dc2b97f869b027a9cf696241cfc927cfc48d74ccc7b396ba41b", - "size": "1659108" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.1.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.1.0.tar.bz2", - "checksum": "SHA-256:3ea5ec0451f42dc2b97f869b027a9cf696241cfc927cfc48d74ccc7b396ba41b", - "size": "1659108" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.1.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.1.0.tar.bz2", - "checksum": "SHA-256:3ea5ec0451f42dc2b97f869b027a9cf696241cfc927cfc48d74ccc7b396ba41b", - "size": "1659108" - }, - { - "host": "i686-pc-linux-gnu", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.1.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.1.0.tar.bz2", - "checksum": "SHA-256:3ea5ec0451f42dc2b97f869b027a9cf696241cfc927cfc48d74ccc7b396ba41b", - "size": "1659108" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.1.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.1.0.tar.bz2", - "checksum": "SHA-256:3ea5ec0451f42dc2b97f869b027a9cf696241cfc927cfc48d74ccc7b396ba41b", - "size": "1659108" - }, - { - "host": "all", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.1.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.1.0.tar.bz2", - "checksum": "SHA-256:3ea5ec0451f42dc2b97f869b027a9cf696241cfc927cfc48d74ccc7b396ba41b", - "size": "1659108" - } - ] - }, - { - "name": "CMSIS-Atmel", - "version": "1.2.0", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.2.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.2.0.tar.bz2", - "checksum": "SHA-256:5e02670be7e36be9691d059bee0b04ee8b249404687531f33893922d116b19a5", - "size": "2221805" - }, - { - "host": "x86_64-apple-darwin", - "url": "http://downloads.arduino.cc/CMSIS-Atmel-1.2.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.2.0.tar.bz2", - "checksum": "SHA-256:5e02670be7e36be9691d059bee0b04ee8b249404687531f33893922d116b19a5", - "size": "2221805" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "https://downloads.arduino.cc/CMSIS-Atmel-1.2.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.2.0.tar.bz2", - "checksum": "SHA-256:5e02670be7e36be9691d059bee0b04ee8b249404687531f33893922d116b19a5", - "size": "2221805" - }, - { - "host": "i686-pc-linux-gnu", - "url": "https://downloads.arduino.cc/CMSIS-Atmel-1.2.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.2.0.tar.bz2", - "checksum": "SHA-256:5e02670be7e36be9691d059bee0b04ee8b249404687531f33893922d116b19a5", - "size": "2221805" - }, - { - "host": "arm-linux-gnueabihf", - "url": "https://downloads.arduino.cc/CMSIS-Atmel-1.2.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.2.0.tar.bz2", - "checksum": "SHA-256:5e02670be7e36be9691d059bee0b04ee8b249404687531f33893922d116b19a5", - "size": "2221805" - }, - { - "host": "aarch64-linux-gnu", - "url": "https://downloads.arduino.cc/CMSIS-Atmel-1.2.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.2.0.tar.bz2", - "checksum": "SHA-256:5e02670be7e36be9691d059bee0b04ee8b249404687531f33893922d116b19a5", - "size": "2221805" - }, - { - "host": "all", - "url": "https://downloads.arduino.cc/CMSIS-Atmel-1.2.0.tar.bz2", - "archiveFileName": "CMSIS-Atmel-1.2.0.tar.bz2", - "checksum": "SHA-256:5e02670be7e36be9691d059bee0b04ee8b249404687531f33893922d116b19a5", - "size": "2221805" - } - ] - }, - { - "name": "dfu-util", - "version": "0.9.0-arduino1", - "systems": [ - { - "host": "i386-apple-darwin11", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino1-osx.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino1-osx.tar.bz2", - "size": "68361", - "checksum": "SHA-256:ea9216c627b7aa2d3a9bffab97df937e3c580cce66753c428dc697c854a35271" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino1-arm.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino1-arm.tar.bz2", - "size": "194826", - "checksum": "SHA-256:480637bf578e74b19753666a049f267d8ebcd9dfc8660d48f246bb76d5b806f9" - }, - { - "host": "x86_64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino1-linux64.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino1-linux64.tar.bz2", - "size": "66230", - "checksum": "SHA-256:e8a4d5477ab8c44d8528f35bc7dfafa5f3f04dace513906514aea31adc6fd3ba" - }, - { - "host": "i686-linux-gnu", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino1-linux32.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino1-linux32.tar.bz2", - "size": "62608", - "checksum": "SHA-256:17d69213914da04dadd6464d8adbcd3581dd930eb666b8f3336ab5383ce2127f" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino1-windows.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino1-windows.tar.bz2", - "size": "377537", - "checksum": "SHA-256:29be01b298348be8b822391be7147b71a969d47bd5457d5b24cfa5981dbce78e" - } - ] - }, - { - "name": "dfu-util", - "version": "0.9.0-arduino2", - "systems": [ - { - "host": "i386-apple-darwin11", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino2-osx.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino2-osx.tar.bz2", - "size": "65137", - "checksum": "SHA-256:00e87178b81d5721f334d4b688267f19f36eed1d9710a912c9e44bb1a748f766" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino2-arm.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino2-arm.tar.bz2", - "size": "198568", - "checksum": "SHA-256:b364a8fe1de697d7dd6c4135d341ddff6dbda7e33c707321c7dceab85dfc560b" - }, - { - "host": "x86_64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino2-linux64.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino2-linux64.tar.bz2", - "size": "70996", - "checksum": "SHA-256:628e01772007e622dff6af82220c27bcdf1d0726ba886bd2b36807601f66e4e8" - }, - { - "host": "i686-linux-gnu", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino2-linux32.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino2-linux32.tar.bz2", - "size": "71002", - "checksum": "SHA-256:7a6cec3d89c65119c52b6109cd92a9ec84bdf8a9d12083444d2c89e7ac16c84b" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/dfu-util-0.9.0-arduino2-windows.tar.bz2", - "archiveFileName": "dfu-util-0.9.0-arduino2-windows.tar.bz2", - "size": "394993", - "checksum": "SHA-256:8ec0e66acdc41941b6e25545f8c12e7eb7ba01a0bafae0b4ab4c99a70deb2ea5" - } - ] - }, - { - "name": "windows-drivers", - "version": "1.6.9", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/drivers-arduino-windows-1.6.9.zip", - "archiveFileName": "drivers-arduino-windows-1.6.9.zip", - "checksum": "SHA-256:10d456ab18d164d42545255db8bef4ac9e1bf660cc89acb7a0980b5a486654ac", - "size": "7071714" - } - ] - }, - { - "name": "windows-drivers", - "version": "1.8.0", - "systems": [ - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/drivers-arduino-windows-1.8.0.zip", - "archiveFileName": "drivers-arduino-windows-1.8.0.zip", - "checksum": "SHA-256:60614b326ad6860ed0cb99eb4cb2cb69f9ba6ba3784396d5441fe3f99004f8ec", - "size": "16302148" - } - ] - }, - { - "name": "dfu-util", - "version": "0.8.0-stm32-arduino1", - "systems": [ - { - "archiveFileName": "dfu-util-0.8.0-stm32-arduino1-darwin_amd64.tar.bz2", - "checksum": "SHA-256:bb146803a4152ce2647d72b2cde68ff95eb3017c2460f24c4db922adac1fbd12", - "host": "i386-apple-darwin11", - "size": "68381", - "url": "http://downloads.arduino.cc/arduino.org/dfu-util-0.8.0-stm32-arduino1-darwin_amd64.tar.bz2" - }, - { - "archiveFileName": "dfu-util-0.8.0-stm32-arduino1-linux_arm.tar.bz2", - "checksum": "SHA-256:607e6b0f2d2787ed7837f26da30b100131e3db207f84b8aca94a377db6e9ae50", - "host": "arm-linux-gnueabihf", - "size": "213760", - "url": "http://downloads.arduino.cc/arduino.org/dfu-util-0.8.0-stm32-arduino1-linux_arm.tar.bz2" - }, - { - "archiveFileName": "dfu-util-0.8.0-stm32-arduino1-stm32-linux_amd64.tar.bz2", - "checksum": "SHA-256:e44287494ebd22f59fc79766a94e20306e59c6c799f5bb1cddeed80db95000d9", - "host": "x86_64-linux-gnu", - "size": "68575", - "url": "http://downloads.arduino.cc/arduino.org/dfu-util-0.8.0-stm32-arduino1-linux_amd64.tar.bz2" - }, - { - "archiveFileName": "dfu-util-0.8.0-stm32-arduino1-linux_386.tar.bz2", - "checksum": "SHA-256:58131e35ad5d7053b281bc6176face7b117c5ad63331e43c6801f8ccd57f59a4", - "host": "i686-linux-gnu", - "size": "69097", - "url": "http://downloads.arduino.cc/arduino.org/dfu-util-0.8.0-stm32-arduino1-linux_386.tar.bz2" - }, - { - "archiveFileName": "dfu-util-0.8.0-stm32-arduino1-windows_386.tar.bz2", - "checksum": "SHA-256:25c2f84e1acf1f10fd2aa1afced441366d4545fd41eae56e64f0b990b4ce9f55", - "host": "i686-mingw32", - "size": "159753", - "url": "http://downloads.arduino.cc/arduino.org/dfu-util-0.8.0-stm32-arduino1-windows_386.tar.bz2" - } - ] - }, - { - "name": "arduinoSTM32load", - "version": "2.0.0", - "systems": [ - { - "archiveFileName": "arduinoSTM32load-2.0.0-darwin_amd64.tar.bz2", - "checksum": "SHA-256:92fb9714091850febaa9d159501cbca5ba68d03020e5e2d4eff596154040bfaa", - "host": "i386-apple-darwin11", - "size": "807514", - "url": "http://downloads.arduino.cc/arduino.org/arduinoSTM32load-2.0.0-darwin_amd64.tar.bz2" - }, - { - "archiveFileName": "arduinoSTM32load-2.0.0-linux_arm.tar.bz2", - "checksum": "SHA-256:fc0d8058b57bda849e1ffc849f83f54b0b85f97954176db317da1c745c174e08", - "host": "arm-linux-gnueabihf", - "size": "809480", - "url": "http://downloads.arduino.cc/arduino.org/arduinoSTM32load-2.0.0-linux_arm.tar.bz2" - }, - { - "archiveFileName": "arduinoSTM32load-2.0.0-linux_amd64.tar.bz2", - "checksum": "SHA-256:0ed5cf1ea05fe6c33567817c54daf9c296d058a3607c428e0b0bd9aad89b9809", - "host": "x86_64-linux-gnu", - "size": "818885", - "url": "http://downloads.arduino.cc/arduino.org/arduinoSTM32load-2.0.0-linux_amd64.tar.bz2" - }, - { - "archiveFileName": "arduinoSTM32load-2.0.0-linux_386.tar.bz2", - "checksum": "SHA-256:fad50abaaca034e6d647d09b042291b761982aabfd42b6156411c86e4f873ca7", - "host": "i686-linux-gnu", - "size": "814283", - "url": "http://downloads.arduino.cc/arduino.org/arduinoSTM32load-2.0.0-linux_386.tar.bz2" - }, - { - "archiveFileName": "arduinoSTM32load-2.0.0-windows_386.tar.bz2", - "checksum": "SHA-256:79467c0cde4b88c4884acb09445a2186af4e41f901eee56e99b5d89b7065d085", - "host": "i686-mingw32", - "size": "786335", - "url": "http://downloads.arduino.cc/arduino.org/arduinoSTM32load-2.0.0-windows_386.tar.bz2" - } - ] - }, - { - "name": "openocd", - "version": "0.10.0-arduino1-static", - "systems": [ - { - "host": "i386-apple-darwin11", - "url": "http://downloads.arduino.cc/arduino.org/OpenOCD-0.10.0-nrf52-osx-static.tar.gz", - "archiveFileName": "OpenOCD-0.10.0-nrf52-osx-static.tar.gz", - "size": "1529841", - "checksum": "SHA-256:46bd02c1d42c5d94c4936e4d4a0ff29697b621840be9a6f882e316203122049d" - }, - { - "host": "x86_64-linux-gnu", - "url": "http://downloads.arduino.cc/arduino.org/OpenOCD-0.10.0-nrf52-linux64-static.tar.gz", - "archiveFileName": "OpenOCD-0.10.0-nrf52-linux64-static.tar.gz", - "size": "1777984", - "checksum": "SHA-256:1c9ae77930dd7377d8c13f84abe7307b67fdcd6da74cc1ce269a79e138e7a00a" - }, - { - "host": "i686-linux-gnu", - "url": "http://downloads.arduino.cc/arduino.org/OpenOCD-0.10.0-nrf52-linux32-static.tar.gz", - "archiveFileName": "OpenOCD-0.10.0-nrf52-linux32-static.tar.gz", - "size": "1713236", - "checksum": "SHA-256:777371df34828810e1bea623b0f7c98f28fedf30fd3bc8e7d8f0a5745fb4e258" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/arduino.org/OpenOCD-0.10.0-nrf52-win32-static.zip", - "archiveFileName": "OpenOCD-0.10.0-nrf52-win32-static.zip", - "size": "1773642", - "checksum": "SHA-256:9371b25d000bd589c058a5bf10720617adb91fd8b8a21d2e887cf45eaa2df93c" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/arduino.org/OpenOCD-0.10.0-nrf52-arm-static.tar.gz", - "archiveFileName": "OpenOCD-0.10.0-nrf52-arm-static.tar.gz", - "size": "1526863", - "checksum": "SHA-256:b5172422077f87ff05b76ff40034979678c9c640e9d08cee15ce55e40dd8c929" - } - ] - }, - { - "name": "fwupdater", - "version": "0.0.6", - "systems": [ - { - "host": "i686-linux-gnu", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.6-linux32.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.6-linux32.tar.bz2", - "checksum": "SHA-256:8c4e562a8e6fa3d916c4bf6bb24d7eec0df013d8cc45dff187e5c63086a92c11", - "size": "7334059" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.6-linux64.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.6-linux64.tar.bz2", - "checksum": "SHA-256:0e9132518acfe66e5a4e17ba4b6dd0c89dbd90cc0d9b4a54e007ac24d51fd36a", - "size": "7383853" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.6-windows.zip", - "archiveFileName": "FirmwareUpdater-0.0.6-windows.zip", - "checksum": "SHA-256:33a92661f43b8d025ca5f57be1116537ed153703067d9c86297619d58988feff", - "size": "7580663" - }, - { - "host": "i386-apple-darwin11", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.6-osx.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.6-osx.tar.bz2", - "checksum": "SHA-256:3584d7581ff2469bdfde9de6f57d87b2a0370de5c902e9df687b7322a5405018", - "size": "7368819" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.6-linuxarm.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.6-linuxarm.tar.bz2", - "checksum": "SHA-256:276f027e552eb620064b09591c7a7c79927c93c017428436c81f71bad666803c", - "size": "7180391" - }, - { - "host": "aarch64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.6-linuxarm64.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.6-linuxarm64.tar.bz2", - "checksum": "SHA-256:d6a2e72b4869c031b434380da6e6a8a4a6269f8ee6312a3d23e85ea133a37ae9", - "size": "7149332" - } - ] - }, - { - "name": "fwupdater", - "version": "0.0.7", - "systems": [ - { - "host": "i686-linux-gnu", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.7-linux32.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.7-linux32.tar.bz2", - "checksum": "SHA-256:05e26d5df253246cf68ba8a8f5f2de1032ac6f4d7af5310b8080ef6f54030fb4", - "size": "13077590" - }, - { - "host": "x86_64-pc-linux-gnu", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.7-linux64.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.7-linux64.tar.bz2", - "checksum": "SHA-256:e8a36b7ae19060748b8b0540c9c0c9341d8d4c7a630441922a030223f767258d", - "size": "13134534" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.7-windows.zip", - "archiveFileName": "FirmwareUpdater-0.0.7-windows.zip", - "checksum": "SHA-256:e881dd8a4bbb35f7271157e8dd226c2e032ac1115106170b0aaf9c969817df86", - "size": "13337495" - }, - { - "host": "i386-apple-darwin11", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.7-osx.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.7-osx.tar.bz2", - "checksum": "SHA-256:647ad713d68a1531ba56c88e5b3db9516cc0072ca1d401de5142d85ffcfd931a", - "size": "13064291" - }, - { - "host": "arm-linux-gnueabihf", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.7-linuxarm.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.7-linuxarm.tar.bz2", - "checksum": "SHA-256:b6e09c07e816a35935585db07e07437023d44e66d1d2f05861708ea6ceff7629", - "size": "12929770" - }, - { - "host": "aarch64-linux-gnu", - "url": "http://downloads.arduino.cc/tools/FirmwareUpdater-0.0.7-linuxarm64.tar.bz2", - "archiveFileName": "FirmwareUpdater-0.0.7-linuxarm64.tar.bz2", - "checksum": "SHA-256:620f81148b13f70cdecbe59bbcbf605c7e0aae85f9cbee8ec48202f6018f23ce", - "size": "12897349" - } - ] - }, - { - "name": "nrf5x-cl-tools", - "version": "9.3.1", - "systems": [ - { - "host": "i386-apple-darwin11", - "url": "http://downloads.arduino.cc/arduino.org/nRF5x-Command-Line-Tools_9_3_1_OSX.tar.bz2", - "archiveFileName": "nRF5x-Command-Line-Tools_9_3_1_OSX.tar.bz2", - "size": "341674", - "checksum": "SHA-256:41e4580271b39459a7ef1b078d11ee08d8f4f23fab7ff03f3fe8c3bc986a0ed4" - }, - { - "host": "x86_64-linux-gnu", - "url": "http://downloads.arduino.cc/arduino.org/nRF5x-Command-Line-Tools_9_3_1_Linux-x86_64.tar.bz2", - "archiveFileName": "nRF5x-Command-Line-Tools_9_3_1_Linux-x86_64.tar.bz2", - "size": "167414", - "checksum": "SHA-256:4074fffe678d60968006a72edd182c6506b264472c9957bc3eaa39336bfcf972" - }, - { - "host": "i686-linux-gnu", - "url": "http://downloads.arduino.cc/arduino.org/nRF5x-Command-Line-Tools_9_3_1_Linux-i386.tar.bz2", - "archiveFileName": "nRF5x-Command-Line-Tools_9_3_1_Linux-i386.tar.bz2", - "size": "155680", - "checksum": "SHA-256:e880059b303e5aad3a8b34c83dfd8c22beee77ae2074fbd37511e3baa91464a5" - }, - { - "host": "i686-mingw32", - "url": "http://downloads.arduino.cc/arduino.org/nRF5x-Command-Line-Tools_9_3_1_Win32.tar.bz2", - "archiveFileName": "nRF5x-Command-Line-Tools_9_3_1_Win32.tar.bz2", - "size": "812257", - "checksum": "SHA-256:a4467350e39314690cec2e96b80e7e3cab463c84eff9b81593ad57754d76ee00" - } - ] - } - ] - } - ] -} diff --git a/commands/service.go b/commands/service.go index 356c595baef..7121ab48be2 100644 --- a/commands/service.go +++ b/commands/service.go @@ -22,10 +22,8 @@ import ( "io" "sync/atomic" - "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/commands/cache" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/compile" "github.com/arduino/arduino-cli/commands/monitor" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/updatecheck" @@ -55,13 +53,13 @@ func convertErrorToRPCStatus(err error) error { // BoardDetails FIXMEDOC func (s *ArduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { - resp, err := board.Details(ctx, req) + resp, err := BoardDetails(ctx, req) return resp, convertErrorToRPCStatus(err) } // BoardList FIXMEDOC func (s *ArduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { - ports, _, err := board.List(req) + ports, _, err := BoardList(req) if err != nil { return nil, convertErrorToRPCStatus(err) } @@ -94,7 +92,7 @@ func (s *ArduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s return err } - eventsChan, err := board.Watch(stream.Context(), req) + eventsChan, err := BoardListWatch(stream.Context(), req) if err != nil { return convertErrorToRPCStatus(err) } @@ -211,7 +209,7 @@ func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu Message: &rpc.CompileResponse_Progress{Progress: p}, }) } - compileRes, compileErr := compile.Compile(stream.Context(), req, outStream, errStream, progressStream) + compileRes, compileErr := Compile(stream.Context(), req, outStream, errStream, progressStream) outStream.Close() errStream.Close() var compileRespSendErr error diff --git a/commands/board/details.go b/commands/service_board_details.go similarity index 96% rename from commands/board/details.go rename to commands/service_board_details.go index 22cfb36a354..d6637416688 100644 --- a/commands/board/details.go +++ b/commands/service_board_details.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package board +package commands import ( "context" @@ -25,9 +25,9 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// Details returns all details for a board including tools and HW identifiers. +// BoardDetails returns all details for a board including tools and HW identifiers. // This command basically gather al the information and translates it into the required grpc struct properties -func Details(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { +func BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/board/list.go b/commands/service_board_list.go similarity index 95% rename from commands/board/list.go rename to commands/service_board_list.go index 25c6ef53401..5607d932bb9 100644 --- a/commands/board/list.go +++ b/commands/service_board_list.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package board +package commands import ( "context" @@ -201,10 +201,10 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL return boards, nil } -// List returns a list of boards found by the loaded discoveries. +// BoardList returns a list of boards found by the loaded discoveries. // In case of errors partial results from discoveries that didn't fail // are returned. -func List(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartErrors []error, e error) { +func BoardList(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartErrors []error, e error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, nil, err @@ -258,8 +258,8 @@ func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool { return false } -// Watch returns a channel that receives boards connection and disconnection events. -func Watch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.BoardListWatchResponse, error) { +// BoardListWatch returns a channel that receives boards connection and disconnection events. +func BoardListWatch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.BoardListWatchResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/board/list_test.go b/commands/service_board_list_test.go similarity index 91% rename from commands/board/list_test.go rename to commands/service_board_list_test.go index f6e46f19a46..2db649e4554 100644 --- a/commands/board/list_test.go +++ b/commands/service_board_list_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package board +package commands import ( "fmt" @@ -30,11 +30,9 @@ import ( semver "go.bug.st/relaxed-semver" ) -func init() { - configuration.Settings = configuration.Init("") -} - func TestGetByVidPid(t *testing.T) { + configuration.Settings = configuration.Init("") + configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, ` { @@ -63,6 +61,8 @@ func TestGetByVidPid(t *testing.T) { } func TestGetByVidPidNotFound(t *testing.T) { + configuration.Settings = configuration.Init("") + configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) })) @@ -75,6 +75,8 @@ func TestGetByVidPidNotFound(t *testing.T) { } func TestGetByVidPid5xx(t *testing.T) { + configuration.Settings = configuration.Init("") + configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("500 - Ooooops!")) @@ -89,6 +91,8 @@ func TestGetByVidPid5xx(t *testing.T) { } func TestGetByVidPidMalformedResponse(t *testing.T) { + configuration.Settings = configuration.Init("") + configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "{}") })) @@ -102,12 +106,17 @@ func TestGetByVidPidMalformedResponse(t *testing.T) { } func TestBoardDetectionViaAPIWithNonUSBPort(t *testing.T) { + configuration.Settings = configuration.Init("") + configuration.Settings.Set("locale", "en") items, err := identifyViaCloudAPI(properties.NewMap()) require.NoError(t, err) require.Empty(t, items) } func TestBoardIdentifySorting(t *testing.T) { + configuration.Settings = configuration.Init("") + configuration.Settings.Set("locale", "en") + dataDir := paths.TempDir().Join("test", "data_dir") t.Setenv("ARDUINO_DATA_DIR", dataDir.String()) dataDir.MkdirAll() diff --git a/commands/compile/compile.go b/commands/service_compile.go similarity index 99% rename from commands/compile/compile.go rename to commands/service_compile.go index 7a124aceb00..94157244cba 100644 --- a/commands/compile/compile.go +++ b/commands/service_compile.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package compile +package commands import ( "context" @@ -32,15 +32,12 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/arduino-cli/internal/cli/configuration" - "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" ) -var tr = i18n.Tr - // Compile FIXMEDOC func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream io.Writer, progressCB rpc.TaskProgressCB) (r *rpc.BuilderResult, e error) { exportBinaries := configuration.Settings.GetBool("sketch.always_export_binaries") diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index 8cc3df895a4..337266ba1ad 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -19,7 +19,6 @@ import ( "context" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/board" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -169,7 +168,7 @@ func GetInstallableLibs() []string { func GetAvailablePorts() []*rpc.Port { inst := instance.CreateAndInit() - list, _, _ := board.List(&rpc.BoardListRequest{ + list, _, _ := commands.BoardList(&rpc.BoardListRequest{ Instance: inst, }) var res []*rpc.Port diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index f10c6bf70a0..e696be1e3cb 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -20,7 +20,7 @@ import ( "fmt" "time" - "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" @@ -91,7 +91,7 @@ func (p *Port) GetPort(instance *rpc.Instance, defaultAddress, defaultProtocol s ctx, cancel := context.WithCancel(context.Background()) defer cancel() - watcher, err := board.Watch(ctx, &rpc.BoardListWatchRequest{Instance: instance}) + watcher, err := commands.BoardListWatch(ctx, &rpc.BoardListWatchRequest{Instance: instance}) if err != nil { return nil, err } @@ -130,7 +130,7 @@ func (p *Port) GetSearchTimeout() time.Duration { // discovered Port object together with the FQBN. If the port does not match // exactly 1 board, func (p *Port) DetectFQBN(inst *rpc.Instance) (string, *rpc.Port) { - detectedPorts, _, err := board.List(&rpc.BoardListRequest{ + detectedPorts, _, err := commands.BoardList(&rpc.BoardListRequest{ Instance: inst, Timeout: p.timeout.Get().Milliseconds(), }) diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index a5267ef804e..b793d8192a4 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -18,8 +18,8 @@ package arguments import ( "context" - "github.com/arduino/arduino-cli/commands/board" - "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/arduino-cli/commands" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) @@ -40,14 +40,14 @@ func (p *Programmer) AddToCommand(cmd *cobra.Command) { // String returns the programmer specified by the user, or the default programmer // for the given board if defined. -func (p *Programmer) String(inst *commands.Instance, fqbn string) string { +func (p *Programmer) String(inst *rpc.Instance, fqbn string) string { if p.programmer != "" { return p.programmer } if inst == nil || fqbn == "" { return "" } - details, err := board.Details(context.Background(), &commands.BoardDetailsRequest{ + details, err := commands.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ Instance: inst, Fqbn: fqbn, }) diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 14f48414ea9..a91359caea4 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -65,7 +65,7 @@ func runDetailsCommand(fqbn string, showFullDetails, listProgrammers bool, showP if err != nil { feedback.Fatal(err.Error(), feedback.ErrBadArgument) } - res, err := board.Details(context.Background(), &rpc.BoardDetailsRequest{ + res, err := commands.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ Instance: inst, Fqbn: fqbn, DoNotExpandBuildProperties: showPropertiesMode == arguments.ShowPropertiesUnexpanded, diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index f864768fc8d..96fb69c5029 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -22,7 +22,7 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/commands/board" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -67,7 +67,7 @@ func runListCommand(watch bool, timeout int64, fqbn string) { return } - ports, discoveryErrors, err := board.List(&rpc.BoardListRequest{ + ports, discoveryErrors, err := commands.BoardList(&rpc.BoardListRequest{ Instance: inst, Timeout: timeout, Fqbn: fqbn, @@ -87,7 +87,7 @@ func runListCommand(watch bool, timeout int64, fqbn string) { } func watchList(inst *rpc.Instance) { - eventsChan, err := board.Watch(context.Background(), &rpc.BoardListWatchRequest{Instance: inst}) + eventsChan, err := commands.BoardListWatch(context.Background(), &rpc.BoardListWatchRequest{Instance: inst}) if err != nil { feedback.Fatal(tr("Error detecting boards: %v", err), feedback.ErrNetwork) } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 13db316f12b..1d72fe8b8a2 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -26,7 +26,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/compile" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -246,7 +245,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { DoNotExpandBuildProperties: showProperties == arguments.ShowPropertiesUnexpanded, Jobs: jobs, } - builderRes, compileError := compile.Compile(context.Background(), compileRequest, stdOut, stdErr, nil) + builderRes, compileError := commands.Compile(context.Background(), compileRequest, stdOut, stdErr, nil) var uploadRes *rpc.UploadResult if compileError == nil && uploadAfterCompile { From 3ff8e090e9552379ef622a418b92f3912459bb5b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 11:27:13 +0100 Subject: [PATCH 136/361] Moved a batch of function from commands/* subpackage to commands (part 3) --- commands/service.go | 11 ++-- .../{upload/upload.go => service_upload.go} | 9 +-- ...er.go => service_upload_burnbootloader.go} | 2 +- ....go => service_upload_list_programmers.go} | 2 +- .../upload_test.go => service_upload_test.go} | 64 +++++++++---------- .../upload}/Blonk/Blonk.ino | 0 .../build/arduino.samd.mkr1000/Blonk.ino.bin | 0 .../build/arduino.samd.mkr1000/Blonk.ino.elf | 0 .../build/arduino.samd.mkr1000/Blonk.ino.hex | 0 .../build/arduino.samd.mkr1000/Blonk.ino.map | 0 .../Blonk.ino.with_bootloader.bin | 0 .../Blonk.ino.with_bootloader.hex | 0 .../upload}/build_path_1/sketch.ino.bin | 0 .../upload}/build_path_2/Blink.ino.bin | 0 .../upload}/build_path_2/Blink.ino.elf | 0 .../upload}/build_path_2/Blink.ino.hex | 0 .../upload}/build_path_2/Blink.ino.map | 0 .../Blink.ino.with_bootloader.bin | 0 .../Blink.ino.with_bootloader.hex | 0 .../build_path_3/AnotherSketch.ino.bin | 0 .../upload}/build_path_3/Blink.ino.bin | 0 .../upload}/build_path_3/Blink.ino.elf | 0 .../upload}/build_path_3/Blink.ino.hex | 0 .../upload}/build_path_3/Blink.ino.map | 0 .../Blink.ino.with_bootloader.bin | 0 .../Blink.ino.with_bootloader.hex | 0 .../upload}/build_path_4/some_other_files.txt | 0 .../upload}/firmware/another_firmware.ino.bin | 0 .../upload}/firmware/firmware.ino.bin | 0 .../upload}/hardware/alice/avr/boards.txt | 0 .../upload}/hardware/alice/avr/platform.txt | 0 .../hardware/alice/avr/programmers.txt | 0 internal/cli/arguments/completion.go | 3 +- internal/cli/burnbootloader/burnbootloader.go | 4 +- internal/cli/compile/compile.go | 5 +- internal/cli/upload/upload.go | 5 +- 36 files changed, 49 insertions(+), 56 deletions(-) rename commands/{upload/upload.go => service_upload.go} (99%) rename commands/{upload/burnbootloader.go => service_upload_burnbootloader.go} (99%) rename commands/{upload/programmers_list.go => service_upload_list_programmers.go} (99%) rename commands/{upload/upload_test.go => service_upload_test.go} (83%) rename commands/{upload/testdata => testdata/upload}/Blonk/Blonk.ino (100%) rename commands/{upload/testdata => testdata/upload}/Blonk/build/arduino.samd.mkr1000/Blonk.ino.bin (100%) rename commands/{upload/testdata => testdata/upload}/Blonk/build/arduino.samd.mkr1000/Blonk.ino.elf (100%) rename commands/{upload/testdata => testdata/upload}/Blonk/build/arduino.samd.mkr1000/Blonk.ino.hex (100%) rename commands/{upload/testdata => testdata/upload}/Blonk/build/arduino.samd.mkr1000/Blonk.ino.map (100%) rename commands/{upload/testdata => testdata/upload}/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.bin (100%) rename commands/{upload/testdata => testdata/upload}/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.hex (100%) rename commands/{upload/testdata => testdata/upload}/build_path_1/sketch.ino.bin (100%) rename commands/{upload/testdata => testdata/upload}/build_path_2/Blink.ino.bin (100%) rename commands/{upload/testdata => testdata/upload}/build_path_2/Blink.ino.elf (100%) rename commands/{upload/testdata => testdata/upload}/build_path_2/Blink.ino.hex (100%) rename commands/{upload/testdata => testdata/upload}/build_path_2/Blink.ino.map (100%) rename commands/{upload/testdata => testdata/upload}/build_path_2/Blink.ino.with_bootloader.bin (100%) rename commands/{upload/testdata => testdata/upload}/build_path_2/Blink.ino.with_bootloader.hex (100%) rename commands/{upload/testdata => testdata/upload}/build_path_3/AnotherSketch.ino.bin (100%) rename commands/{upload/testdata => testdata/upload}/build_path_3/Blink.ino.bin (100%) rename commands/{upload/testdata => testdata/upload}/build_path_3/Blink.ino.elf (100%) rename commands/{upload/testdata => testdata/upload}/build_path_3/Blink.ino.hex (100%) rename commands/{upload/testdata => testdata/upload}/build_path_3/Blink.ino.map (100%) rename commands/{upload/testdata => testdata/upload}/build_path_3/Blink.ino.with_bootloader.bin (100%) rename commands/{upload/testdata => testdata/upload}/build_path_3/Blink.ino.with_bootloader.hex (100%) rename commands/{upload/testdata => testdata/upload}/build_path_4/some_other_files.txt (100%) rename commands/{upload/testdata => testdata/upload}/firmware/another_firmware.ino.bin (100%) rename commands/{upload/testdata => testdata/upload}/firmware/firmware.ino.bin (100%) rename commands/{upload/testdata => testdata/upload}/hardware/alice/avr/boards.txt (100%) rename commands/{upload/testdata => testdata/upload}/hardware/alice/avr/platform.txt (100%) rename commands/{upload/testdata => testdata/upload}/hardware/alice/avr/programmers.txt (100%) diff --git a/commands/service.go b/commands/service.go index 7121ab48be2..3b47adc451e 100644 --- a/commands/service.go +++ b/commands/service.go @@ -27,7 +27,6 @@ import ( "github.com/arduino/arduino-cli/commands/monitor" "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/updatecheck" - "github.com/arduino/arduino-cli/commands/upload" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "google.golang.org/grpc/metadata" @@ -299,7 +298,7 @@ func (s *ArduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.Arduin Message: &rpc.UploadResponse_ErrStream{ErrStream: data}, }) }) - res, err := upload.Upload(stream.Context(), req, outStream, errStream) + res, err := Upload(stream.Context(), req, outStream, errStream) outStream.Close() errStream.Close() if res != nil { @@ -329,7 +328,7 @@ func (s *ArduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgra }, }) }) - err := upload.UsingProgrammer(stream.Context(), req, outStream, errStream) + err := UploadUsingProgrammer(stream.Context(), req, outStream, errStream) outStream.Close() errStream.Close() if err != nil { @@ -340,7 +339,7 @@ func (s *ArduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgra // SupportedUserFields FIXMEDOC func (s *ArduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { - res, err := upload.SupportedUserFields(ctx, req) + res, err := SupportedUserFields(ctx, req) return res, convertErrorToRPCStatus(err) } @@ -361,7 +360,7 @@ func (s *ArduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, s }, }) }) - resp, err := upload.BurnBootloader(stream.Context(), req, outStream, errStream) + resp, err := BurnBootloader(stream.Context(), req, outStream, errStream) outStream.Close() errStream.Close() if err != nil { @@ -372,7 +371,7 @@ func (s *ArduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, s // ListProgrammersAvailableForUpload FIXMEDOC func (s *ArduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { - resp, err := upload.ListProgrammersAvailableForUpload(ctx, req) + resp, err := ListProgrammersAvailableForUpload(ctx, req) return resp, convertErrorToRPCStatus(err) } diff --git a/commands/upload/upload.go b/commands/service_upload.go similarity index 99% rename from commands/upload/upload.go rename to commands/service_upload.go index fcc248ce3b9..15df0cb295c 100644 --- a/commands/upload/upload.go +++ b/commands/service_upload.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package upload +package commands import ( "context" @@ -31,7 +31,6 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/sketch" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -40,8 +39,6 @@ import ( "github.com/sirupsen/logrus" ) -var tr = i18n.Tr - // SupportedUserFields returns a SupportedUserFieldsResponse containing all the UserFields supported // by the upload tools needed by the board using the protocol specified in SupportedUserFieldsRequest. func SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { @@ -179,8 +176,8 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er }, nil } -// UsingProgrammer FIXMEDOC -func UsingProgrammer(ctx context.Context, req *rpc.UploadUsingProgrammerRequest, outStream io.Writer, errStream io.Writer) error { +// UploadUsingProgrammer FIXMEDOC +func UploadUsingProgrammer(ctx context.Context, req *rpc.UploadUsingProgrammerRequest, outStream io.Writer, errStream io.Writer) error { logrus.Tracef("Upload using programmer %s on %s started", req.GetSketchPath(), req.GetFqbn()) if req.GetProgrammer() == "" { diff --git a/commands/upload/burnbootloader.go b/commands/service_upload_burnbootloader.go similarity index 99% rename from commands/upload/burnbootloader.go rename to commands/service_upload_burnbootloader.go index b589e573698..7d9c34cb7cc 100644 --- a/commands/upload/burnbootloader.go +++ b/commands/service_upload_burnbootloader.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package upload +package commands import ( "context" diff --git a/commands/upload/programmers_list.go b/commands/service_upload_list_programmers.go similarity index 99% rename from commands/upload/programmers_list.go rename to commands/service_upload_list_programmers.go index 76188ac5e2e..0e02d36c25a 100644 --- a/commands/upload/programmers_list.go +++ b/commands/service_upload_list_programmers.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package upload +package commands import ( "context" diff --git a/commands/upload/upload_test.go b/commands/service_upload_test.go similarity index 83% rename from commands/upload/upload_test.go rename to commands/service_upload_test.go index 95d26de6634..f50f06c4583 100644 --- a/commands/upload/upload_test.go +++ b/commands/service_upload_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package upload +package commands import ( "bytes" @@ -32,23 +32,23 @@ import ( ) func TestDetectSketchNameFromBuildPath(t *testing.T) { - sk1, err1 := detectSketchNameFromBuildPath(paths.New("testdata/build_path_1")) + sk1, err1 := detectSketchNameFromBuildPath(paths.New("testdata/upload/build_path_1")) require.NoError(t, err1) require.Equal(t, "sketch.ino", sk1) - sk2, err2 := detectSketchNameFromBuildPath(paths.New("testdata/build_path_2")) + sk2, err2 := detectSketchNameFromBuildPath(paths.New("testdata/upload/build_path_2")) require.NoError(t, err2) require.Equal(t, "Blink.ino", sk2) - sk3, err3 := detectSketchNameFromBuildPath(paths.New("testdata/build_path_3")) + sk3, err3 := detectSketchNameFromBuildPath(paths.New("testdata/upload/build_path_3")) require.Error(t, err3) require.Equal(t, "", sk3) - sk4, err4 := detectSketchNameFromBuildPath(paths.New("testdata/build_path_4")) + sk4, err4 := detectSketchNameFromBuildPath(paths.New("testdata/upload/build_path_4")) require.Error(t, err4) require.Equal(t, "", sk4) - sk5, err5 := detectSketchNameFromBuildPath(paths.New("testdata/build_path_invalid")) + sk5, err5 := detectSketchNameFromBuildPath(paths.New("testdata/upload/build_path_invalid")) require.Error(t, err5) require.Equal(t, "", sk5) } @@ -63,7 +63,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { resSketchName string } - blonk, err := sketch.New(paths.New("testdata/Blonk")) + blonk, err := sketch.New(paths.New("testdata/upload/Blonk")) require.NoError(t, err) fqbn, err := cores.ParseFQBN("arduino:samd:mkr1000") @@ -73,39 +73,39 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { // 00: error: no data passed in {"", "", nil, nil, "<nil>", ""}, // 01: use importFile to detect build.path and project_name - {"testdata/build_path_2/Blink.ino.hex", "", nil, nil, "testdata/build_path_2", "Blink.ino"}, + {"testdata/upload/build_path_2/Blink.ino.hex", "", nil, nil, "testdata/upload/build_path_2", "Blink.ino"}, // 02: use importPath as build.path and project_name - {"", "testdata/build_path_2", nil, nil, "testdata/build_path_2", "Blink.ino"}, + {"", "testdata/upload/build_path_2", nil, nil, "testdata/upload/build_path_2", "Blink.ino"}, // 03: error: used both importPath and importFile - {"testdata/build_path_2/Blink.ino.hex", "testdata/build_path_2", nil, nil, "<nil>", ""}, + {"testdata/upload/build_path_2/Blink.ino.hex", "testdata/upload/build_path_2", nil, nil, "<nil>", ""}, // 04: only sketch without FQBN {"", "", blonk, nil, blonk.DefaultBuildPath().String(), "Blonk.ino"}, // 05: use importFile to detect build.path and project_name, sketch is ignored. - {"testdata/build_path_2/Blink.ino.hex", "", blonk, nil, "testdata/build_path_2", "Blink.ino"}, + {"testdata/upload/build_path_2/Blink.ino.hex", "", blonk, nil, "testdata/upload/build_path_2", "Blink.ino"}, // 06: use importPath as build.path and Blink as project name, ignore the sketch Blonk - {"", "testdata/build_path_2", blonk, nil, "testdata/build_path_2", "Blink.ino"}, + {"", "testdata/upload/build_path_2", blonk, nil, "testdata/upload/build_path_2", "Blink.ino"}, // 07: error: used both importPath and importFile - {"testdata/build_path_2/Blink.ino.hex", "testdata/build_path_2", blonk, nil, "<nil>", ""}, + {"testdata/upload/build_path_2/Blink.ino.hex", "testdata/upload/build_path_2", blonk, nil, "<nil>", ""}, // 08: error: no data passed in {"", "", nil, fqbn, "<nil>", ""}, // 09: use importFile to detect build.path and project_name, fqbn ignored - {"testdata/build_path_2/Blink.ino.hex", "", nil, fqbn, "testdata/build_path_2", "Blink.ino"}, + {"testdata/upload/build_path_2/Blink.ino.hex", "", nil, fqbn, "testdata/upload/build_path_2", "Blink.ino"}, // 10: use importPath as build.path and project_name, fqbn ignored - {"", "testdata/build_path_2", nil, fqbn, "testdata/build_path_2", "Blink.ino"}, + {"", "testdata/upload/build_path_2", nil, fqbn, "testdata/upload/build_path_2", "Blink.ino"}, // 11: error: used both importPath and importFile - {"testdata/build_path_2/Blink.ino.hex", "testdata/build_path_2", nil, fqbn, "<nil>", ""}, + {"testdata/upload/build_path_2/Blink.ino.hex", "testdata/upload/build_path_2", nil, fqbn, "<nil>", ""}, // 12: use sketch to determine project name and sketch+fqbn to determine build path {"", "", blonk, fqbn, blonk.DefaultBuildPath().String(), "Blonk.ino"}, // 13: use importFile to detect build.path and project_name, sketch+fqbn is ignored. - {"testdata/build_path_2/Blink.ino.hex", "", blonk, fqbn, "testdata/build_path_2", "Blink.ino"}, + {"testdata/upload/build_path_2/Blink.ino.hex", "", blonk, fqbn, "testdata/upload/build_path_2", "Blink.ino"}, // 14: use importPath as build.path and Blink as project name, ignore the sketch Blonk, ignore fqbn - {"", "testdata/build_path_2", blonk, fqbn, "testdata/build_path_2", "Blink.ino"}, + {"", "testdata/upload/build_path_2", blonk, fqbn, "testdata/upload/build_path_2", "Blink.ino"}, // 15: error: used both importPath and importFile - {"testdata/build_path_2/Blink.ino.hex", "testdata/build_path_2", blonk, fqbn, "<nil>", ""}, + {"testdata/upload/build_path_2/Blink.ino.hex", "testdata/upload/build_path_2", blonk, fqbn, "<nil>", ""}, // 16: importPath containing multiple firmwares, but one has the same name as the containing folder - {"", "testdata/firmware", nil, fqbn, "testdata/firmware", "firmware.ino"}, + {"", "testdata/upload/firmware", nil, fqbn, "testdata/upload/firmware", "firmware.ino"}, // 17: importFile among multiple firmwares - {"testdata/firmware/another_firmware.ino.bin", "", nil, fqbn, "testdata/firmware", "another_firmware.ino"}, + {"testdata/upload/firmware/another_firmware.ino.bin", "", nil, fqbn, "testdata/upload/firmware", "another_firmware.ino"}, } for i, test := range tests { t.Run(fmt.Sprintf("SubTest%02d", i), func(t *testing.T) { @@ -128,9 +128,9 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { func TestUploadPropertiesComposition(t *testing.T) { pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test") - errs := pmb.LoadHardwareFromDirectory(paths.New("testdata", "hardware")) + errs := pmb.LoadHardwareFromDirectory(paths.New("testdata", "upload", "hardware")) require.Len(t, errs, 0) - buildPath1 := paths.New("testdata", "build_path_1") + buildPath1 := paths.New("testdata", "upload", "build_path_1") logrus.SetLevel(logrus.TraceLevel) type test struct { importDir *paths.Path @@ -149,32 +149,32 @@ func TestUploadPropertiesComposition(t *testing.T) { tests := []test{ // 0: classic upload, requires port - {buildPath1, "alice:avr:board1", "port", "serial", "", false, "conf-board1 conf-general conf-upload $$VERBOSE-VERIFY$$ protocol port -bspeed testdata/build_path_1/sketch.ino.hex\n", ""}, + {buildPath1, "alice:avr:board1", "port", "serial", "", false, "conf-board1 conf-general conf-upload $$VERBOSE-VERIFY$$ protocol port -bspeed testdata/upload/build_path_1/sketch.ino.hex\n", ""}, {buildPath1, "alice:avr:board1", "", "", "", false, "FAIL", ""}, // 2: classic upload, no port - {buildPath1, "alice:avr:board2", "port", "serial", "", false, "conf-board1 conf-general conf-upload $$VERBOSE-VERIFY$$ protocol -bspeed testdata/build_path_1/sketch.ino.hex\n", ""}, - {buildPath1, "alice:avr:board2", "", "", "", false, "conf-board1 conf-general conf-upload $$VERBOSE-VERIFY$$ protocol -bspeed testdata/build_path_1/sketch.ino.hex\n", ""}, + {buildPath1, "alice:avr:board2", "port", "serial", "", false, "conf-board1 conf-general conf-upload $$VERBOSE-VERIFY$$ protocol -bspeed testdata/upload/build_path_1/sketch.ino.hex\n", ""}, + {buildPath1, "alice:avr:board2", "", "", "", false, "conf-board1 conf-general conf-upload $$VERBOSE-VERIFY$$ protocol -bspeed testdata/upload/build_path_1/sketch.ino.hex\n", ""}, // 4: upload with programmer, requires port - {buildPath1, "alice:avr:board1", "port", "serial", "progr1", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ progprotocol port -bspeed testdata/build_path_1/sketch.ino.hex\n", ""}, + {buildPath1, "alice:avr:board1", "port", "serial", "progr1", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ progprotocol port -bspeed testdata/upload/build_path_1/sketch.ino.hex\n", ""}, {buildPath1, "alice:avr:board1", "", "", "progr1", false, "FAIL", ""}, // 6: upload with programmer, no port - {buildPath1, "alice:avr:board1", "port", "serial", "progr2", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ prog2protocol -bspeed testdata/build_path_1/sketch.ino.hex\n", ""}, - {buildPath1, "alice:avr:board1", "", "", "progr2", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ prog2protocol -bspeed testdata/build_path_1/sketch.ino.hex\n", ""}, + {buildPath1, "alice:avr:board1", "port", "serial", "progr2", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ prog2protocol -bspeed testdata/upload/build_path_1/sketch.ino.hex\n", ""}, + {buildPath1, "alice:avr:board1", "", "", "progr2", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ prog2protocol -bspeed testdata/upload/build_path_1/sketch.ino.hex\n", ""}, // 8: upload with programmer, require port through extra params - {buildPath1, "alice:avr:board1", "port", "serial", "progr3", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ prog3protocol port -bspeed testdata/build_path_1/sketch.ino.hex\n", ""}, + {buildPath1, "alice:avr:board1", "port", "serial", "progr3", false, "conf-board1 conf-general conf-program $$VERBOSE-VERIFY$$ prog3protocol port -bspeed testdata/upload/build_path_1/sketch.ino.hex\n", ""}, {buildPath1, "alice:avr:board1", "", "", "progr3", false, "FAIL", ""}, // 10: burn bootloader, require port {buildPath1, "alice:avr:board1", "port", "serial", "", true, "FAIL", ""}, // requires programmer {buildPath1, "alice:avr:board1", "port", "serial", "progr1", true, "ERASE conf-board1 conf-general conf-erase $$VERBOSE-VERIFY$$ genprog1protocol port -bspeed\n", - "BURN conf-board1 conf-general conf-bootloader $$VERBOSE-VERIFY$$ genprog1protocol port -bspeed -F0xFF " + cwd + "/testdata/hardware/alice/avr/bootloaders/niceboot/niceboot.hex\n"}, + "BURN conf-board1 conf-general conf-bootloader $$VERBOSE-VERIFY$$ genprog1protocol port -bspeed -F0xFF " + cwd + "/testdata/upload/hardware/alice/avr/bootloaders/niceboot/niceboot.hex\n"}, // 12: burn bootloader, preferences override from programmers.txt {buildPath1, "alice:avr:board1", "port", "serial", "progr4", true, "ERASE conf-board1 conf-two-general conf-two-erase $$VERBOSE-VERIFY$$ prog4protocol-bootloader port -bspeed\n", - "BURN conf-board1 conf-two-general conf-two-bootloader $$VERBOSE-VERIFY$$ prog4protocol-bootloader port -bspeed -F0xFF " + cwd + "/testdata/hardware/alice/avr/bootloaders/niceboot/niceboot.hex\n"}, + "BURN conf-board1 conf-two-general conf-two-bootloader $$VERBOSE-VERIFY$$ prog4protocol-bootloader port -bspeed -F0xFF " + cwd + "/testdata/upload/hardware/alice/avr/bootloaders/niceboot/niceboot.hex\n"}, } pm := pmb.Build() diff --git a/commands/upload/testdata/Blonk/Blonk.ino b/commands/testdata/upload/Blonk/Blonk.ino similarity index 100% rename from commands/upload/testdata/Blonk/Blonk.ino rename to commands/testdata/upload/Blonk/Blonk.ino diff --git a/commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.bin b/commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.bin similarity index 100% rename from commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.bin rename to commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.bin diff --git a/commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.elf b/commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.elf similarity index 100% rename from commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.elf rename to commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.elf diff --git a/commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.hex b/commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.hex similarity index 100% rename from commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.hex rename to commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.hex diff --git a/commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.map b/commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.map similarity index 100% rename from commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.map rename to commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.map diff --git a/commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.bin b/commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.bin similarity index 100% rename from commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.bin rename to commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.bin diff --git a/commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.hex b/commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.hex similarity index 100% rename from commands/upload/testdata/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.hex rename to commands/testdata/upload/Blonk/build/arduino.samd.mkr1000/Blonk.ino.with_bootloader.hex diff --git a/commands/upload/testdata/build_path_1/sketch.ino.bin b/commands/testdata/upload/build_path_1/sketch.ino.bin similarity index 100% rename from commands/upload/testdata/build_path_1/sketch.ino.bin rename to commands/testdata/upload/build_path_1/sketch.ino.bin diff --git a/commands/upload/testdata/build_path_2/Blink.ino.bin b/commands/testdata/upload/build_path_2/Blink.ino.bin similarity index 100% rename from commands/upload/testdata/build_path_2/Blink.ino.bin rename to commands/testdata/upload/build_path_2/Blink.ino.bin diff --git a/commands/upload/testdata/build_path_2/Blink.ino.elf b/commands/testdata/upload/build_path_2/Blink.ino.elf similarity index 100% rename from commands/upload/testdata/build_path_2/Blink.ino.elf rename to commands/testdata/upload/build_path_2/Blink.ino.elf diff --git a/commands/upload/testdata/build_path_2/Blink.ino.hex b/commands/testdata/upload/build_path_2/Blink.ino.hex similarity index 100% rename from commands/upload/testdata/build_path_2/Blink.ino.hex rename to commands/testdata/upload/build_path_2/Blink.ino.hex diff --git a/commands/upload/testdata/build_path_2/Blink.ino.map b/commands/testdata/upload/build_path_2/Blink.ino.map similarity index 100% rename from commands/upload/testdata/build_path_2/Blink.ino.map rename to commands/testdata/upload/build_path_2/Blink.ino.map diff --git a/commands/upload/testdata/build_path_2/Blink.ino.with_bootloader.bin b/commands/testdata/upload/build_path_2/Blink.ino.with_bootloader.bin similarity index 100% rename from commands/upload/testdata/build_path_2/Blink.ino.with_bootloader.bin rename to commands/testdata/upload/build_path_2/Blink.ino.with_bootloader.bin diff --git a/commands/upload/testdata/build_path_2/Blink.ino.with_bootloader.hex b/commands/testdata/upload/build_path_2/Blink.ino.with_bootloader.hex similarity index 100% rename from commands/upload/testdata/build_path_2/Blink.ino.with_bootloader.hex rename to commands/testdata/upload/build_path_2/Blink.ino.with_bootloader.hex diff --git a/commands/upload/testdata/build_path_3/AnotherSketch.ino.bin b/commands/testdata/upload/build_path_3/AnotherSketch.ino.bin similarity index 100% rename from commands/upload/testdata/build_path_3/AnotherSketch.ino.bin rename to commands/testdata/upload/build_path_3/AnotherSketch.ino.bin diff --git a/commands/upload/testdata/build_path_3/Blink.ino.bin b/commands/testdata/upload/build_path_3/Blink.ino.bin similarity index 100% rename from commands/upload/testdata/build_path_3/Blink.ino.bin rename to commands/testdata/upload/build_path_3/Blink.ino.bin diff --git a/commands/upload/testdata/build_path_3/Blink.ino.elf b/commands/testdata/upload/build_path_3/Blink.ino.elf similarity index 100% rename from commands/upload/testdata/build_path_3/Blink.ino.elf rename to commands/testdata/upload/build_path_3/Blink.ino.elf diff --git a/commands/upload/testdata/build_path_3/Blink.ino.hex b/commands/testdata/upload/build_path_3/Blink.ino.hex similarity index 100% rename from commands/upload/testdata/build_path_3/Blink.ino.hex rename to commands/testdata/upload/build_path_3/Blink.ino.hex diff --git a/commands/upload/testdata/build_path_3/Blink.ino.map b/commands/testdata/upload/build_path_3/Blink.ino.map similarity index 100% rename from commands/upload/testdata/build_path_3/Blink.ino.map rename to commands/testdata/upload/build_path_3/Blink.ino.map diff --git a/commands/upload/testdata/build_path_3/Blink.ino.with_bootloader.bin b/commands/testdata/upload/build_path_3/Blink.ino.with_bootloader.bin similarity index 100% rename from commands/upload/testdata/build_path_3/Blink.ino.with_bootloader.bin rename to commands/testdata/upload/build_path_3/Blink.ino.with_bootloader.bin diff --git a/commands/upload/testdata/build_path_3/Blink.ino.with_bootloader.hex b/commands/testdata/upload/build_path_3/Blink.ino.with_bootloader.hex similarity index 100% rename from commands/upload/testdata/build_path_3/Blink.ino.with_bootloader.hex rename to commands/testdata/upload/build_path_3/Blink.ino.with_bootloader.hex diff --git a/commands/upload/testdata/build_path_4/some_other_files.txt b/commands/testdata/upload/build_path_4/some_other_files.txt similarity index 100% rename from commands/upload/testdata/build_path_4/some_other_files.txt rename to commands/testdata/upload/build_path_4/some_other_files.txt diff --git a/commands/upload/testdata/firmware/another_firmware.ino.bin b/commands/testdata/upload/firmware/another_firmware.ino.bin similarity index 100% rename from commands/upload/testdata/firmware/another_firmware.ino.bin rename to commands/testdata/upload/firmware/another_firmware.ino.bin diff --git a/commands/upload/testdata/firmware/firmware.ino.bin b/commands/testdata/upload/firmware/firmware.ino.bin similarity index 100% rename from commands/upload/testdata/firmware/firmware.ino.bin rename to commands/testdata/upload/firmware/firmware.ino.bin diff --git a/commands/upload/testdata/hardware/alice/avr/boards.txt b/commands/testdata/upload/hardware/alice/avr/boards.txt similarity index 100% rename from commands/upload/testdata/hardware/alice/avr/boards.txt rename to commands/testdata/upload/hardware/alice/avr/boards.txt diff --git a/commands/upload/testdata/hardware/alice/avr/platform.txt b/commands/testdata/upload/hardware/alice/avr/platform.txt similarity index 100% rename from commands/upload/testdata/hardware/alice/avr/platform.txt rename to commands/testdata/upload/hardware/alice/avr/platform.txt diff --git a/commands/upload/testdata/hardware/alice/avr/programmers.txt b/commands/testdata/upload/hardware/alice/avr/programmers.txt similarity index 100% rename from commands/upload/testdata/hardware/alice/avr/programmers.txt rename to commands/testdata/upload/hardware/alice/avr/programmers.txt diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index 337266ba1ad..d351c8e4f5a 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -19,7 +19,6 @@ import ( "context" "github.com/arduino/arduino-cli/commands" - "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -58,7 +57,7 @@ func GetInstalledProgrammers() []string { installedProgrammers := make(map[string]string) for _, board := range list.GetBoards() { - programmers, _ := upload.ListProgrammersAvailableForUpload(context.Background(), &rpc.ListProgrammersAvailableForUploadRequest{ + programmers, _ := commands.ListProgrammersAvailableForUpload(context.Background(), &rpc.ListProgrammersAvailableForUploadRequest{ Instance: inst, Fqbn: board.GetFqbn(), }) diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index c14c63eeb42..2de1a5f132b 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -20,8 +20,8 @@ import ( "errors" "os" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" @@ -75,7 +75,7 @@ func runBootloaderCommand(command *cobra.Command, args []string) { } stdOut, stdErr, res := feedback.OutputStreams() - if _, err := upload.BurnBootloader(context.Background(), &rpc.BurnBootloaderRequest{ + if _, err := commands.BurnBootloader(context.Background(), &rpc.BurnBootloaderRequest{ Instance: instance, Fqbn: fqbn.String(), Port: discoveryPort, diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 1d72fe8b8a2..5a379bb8f73 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -27,7 +27,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/sketch" - "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" @@ -249,7 +248,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { var uploadRes *rpc.UploadResult if compileError == nil && uploadAfterCompile { - userFieldRes, err := upload.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ + userFieldRes, err := commands.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ Instance: inst, Fqbn: fqbn, Protocol: port.GetProtocol(), @@ -288,7 +287,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { UserFields: fields, } - if res, err := upload.Upload(context.Background(), uploadRequest, stdOut, stdErr); err != nil { + if res, err := commands.Upload(context.Background(), uploadRequest, stdOut, stdErr); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 7f04e731a83..7ab259c6ae3 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -25,7 +25,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" sk "github.com/arduino/arduino-cli/commands/sketch" - "github.com/arduino/arduino-cli/commands/upload" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -117,7 +116,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { defaultProtocol := sketch.GetDefaultProtocol() fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, defaultFQBN, defaultAddress, defaultProtocol) - userFieldRes, err := upload.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ + userFieldRes, err := commands.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ Instance: inst, Fqbn: fqbn, Protocol: port.GetProtocol(), @@ -198,7 +197,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { DryRun: dryRun, UserFields: fields, } - if res, err := upload.Upload(context.Background(), req, stdOut, stdErr); err != nil { + if res, err := commands.Upload(context.Background(), req, stdOut, stdErr); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer From 86159855ff6409db0e593c08e27542e50f6e0f3e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 11:36:31 +0100 Subject: [PATCH 137/361] Moved a batch of function from commands/* subpackage to commands (part 4) --- commands/service.go | 14 ++++++------- .../monitor.go => service_monitor.go} | 21 ++++++++----------- ...ettings.go => service_monitor_settings.go} | 2 +- ...ults.go => service_set_sketch_defaults.go} | 2 +- .../archive.go => service_sketch_archive.go} | 5 +---- .../load.go => service_sketch_load.go} | 2 +- ...ad_test.go => service_sketch_load_test.go} | 2 +- .../{sketch/new.go => service_sketch_new.go} | 2 +- ...new_test.go => service_sketch_new_test.go} | 2 +- .../testdata/sketch_with_profile/sketch.yml | 0 .../sketch_with_profile.ino | 0 internal/cli/arguments/sketch.go | 4 ++-- internal/cli/board/attach.go | 4 ++-- internal/cli/compile/compile.go | 3 +-- internal/cli/debug/debug.go | 4 ++-- internal/cli/monitor/monitor.go | 9 ++++---- internal/cli/sketch/archive.go | 6 +++--- internal/cli/sketch/new.go | 4 ++-- internal/cli/upload/upload.go | 3 +-- 19 files changed, 39 insertions(+), 50 deletions(-) rename commands/{monitor/monitor.go => service_monitor.go} (92%) rename commands/{monitor/settings.go => service_monitor_settings.go} (99%) rename commands/{sketch/set_defaults.go => service_set_sketch_defaults.go} (99%) rename commands/{sketch/archive.go => service_sketch_archive.go} (98%) rename commands/{sketch/load.go => service_sketch_load.go} (98%) rename commands/{sketch/load_test.go => service_sketch_load_test.go} (98%) rename commands/{sketch/new.go => service_sketch_new.go} (99%) rename commands/{sketch/new_test.go => service_sketch_new_test.go} (99%) rename commands/{sketch => }/testdata/sketch_with_profile/sketch.yml (100%) rename commands/{sketch => }/testdata/sketch_with_profile/sketch_with_profile.ino (100%) diff --git a/commands/service.go b/commands/service.go index 3b47adc451e..0b34c6250c8 100644 --- a/commands/service.go +++ b/commands/service.go @@ -24,8 +24,6 @@ import ( "github.com/arduino/arduino-cli/commands/cache" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/monitor" - "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/commands/updatecheck" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -174,19 +172,19 @@ func (s *ArduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionReq // NewSketch FIXMEDOC func (s *ArduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { - resp, err := sketch.NewSketch(ctx, req) + resp, err := NewSketch(ctx, req) return resp, convertErrorToRPCStatus(err) } // LoadSketch FIXMEDOC func (s *ArduinoCoreServerImpl) LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { - resp, err := sketch.LoadSketch(ctx, req) + resp, err := LoadSketch(ctx, req) return &rpc.LoadSketchResponse{Sketch: resp}, convertErrorToRPCStatus(err) } // SetSketchDefaults FIXMEDOC func (s *ArduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { - resp, err := sketch.SetSketchDefaults(ctx, req) + resp, err := SetSketchDefaults(ctx, req) return resp, convertErrorToRPCStatus(err) } @@ -449,7 +447,7 @@ func (s *ArduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.Librar // ArchiveSketch FIXMEDOC func (s *ArduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { - resp, err := sketch.ArchiveSketch(ctx, req) + resp, err := ArchiveSketch(ctx, req) return resp, convertErrorToRPCStatus(err) } @@ -475,7 +473,7 @@ func (s *ArduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequ // EnumerateMonitorPortSettings FIXMEDOC func (s *ArduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { - resp, err := monitor.EnumerateMonitorPortSettings(ctx, req) + resp, err := EnumerateMonitorPortSettings(ctx, req) return resp, convertErrorToRPCStatus(err) } @@ -493,7 +491,7 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer if openReq == nil { return &cmderrors.InvalidInstanceError{} } - portProxy, _, err := monitor.Monitor(stream.Context(), openReq) + portProxy, _, err := Monitor(stream.Context(), openReq) if err != nil { return err } diff --git a/commands/monitor/monitor.go b/commands/service_monitor.go similarity index 92% rename from commands/monitor/monitor.go rename to commands/service_monitor.go index 357a885be31..538e99795bb 100644 --- a/commands/monitor/monitor.go +++ b/commands/service_monitor.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package monitor +package commands import ( "context" @@ -25,42 +25,39 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" pluggableMonitor "github.com/arduino/arduino-cli/internal/arduino/monitor" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" "github.com/sirupsen/logrus" ) -var tr = i18n.Tr - -// PortProxy is an io.ReadWriteCloser that maps into the monitor port of the board -type PortProxy struct { +// portProxy is an io.ReadWriteCloser that maps into the monitor port of the board +type portProxy struct { rw io.ReadWriter changeSettingsCB func(setting, value string) error closeCB func() error } -func (p *PortProxy) Read(buff []byte) (int, error) { +func (p *portProxy) Read(buff []byte) (int, error) { return p.rw.Read(buff) } -func (p *PortProxy) Write(buff []byte) (int, error) { +func (p *portProxy) Write(buff []byte) (int, error) { return p.rw.Write(buff) } // Config sets the port configuration setting to the specified value -func (p *PortProxy) Config(setting, value string) error { +func (p *portProxy) Config(setting, value string) error { return p.changeSettingsCB(setting, value) } // Close the port -func (p *PortProxy) Close() error { +func (p *portProxy) Close() error { return p.closeCB() } // Monitor opens a communication port. It returns a PortProxy to communicate with the port and a PortDescriptor // that describes the available configuration settings. -func Monitor(ctx context.Context, req *rpc.MonitorPortOpenRequest) (*PortProxy, *pluggableMonitor.PortDescriptor, error) { +func Monitor(ctx context.Context, req *rpc.MonitorPortOpenRequest) (*portProxy, *pluggableMonitor.PortDescriptor, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, nil, err @@ -103,7 +100,7 @@ func Monitor(ctx context.Context, req *rpc.MonitorPortOpenRequest) (*PortProxy, } logrus.Infof("Port %s successfully opened", req.GetPort().GetAddress()) - return &PortProxy{ + return &portProxy{ rw: monIO, changeSettingsCB: m.Configure, closeCB: func() error { diff --git a/commands/monitor/settings.go b/commands/service_monitor_settings.go similarity index 99% rename from commands/monitor/settings.go rename to commands/service_monitor_settings.go index f6d41c15219..d69164d281d 100644 --- a/commands/monitor/settings.go +++ b/commands/service_monitor_settings.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package monitor +package commands import ( "context" diff --git a/commands/sketch/set_defaults.go b/commands/service_set_sketch_defaults.go similarity index 99% rename from commands/sketch/set_defaults.go rename to commands/service_set_sketch_defaults.go index c53bc1b1ae5..e90b1ef58c4 100644 --- a/commands/sketch/set_defaults.go +++ b/commands/service_set_sketch_defaults.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package sketch +package commands import ( "context" diff --git a/commands/sketch/archive.go b/commands/service_sketch_archive.go similarity index 98% rename from commands/sketch/archive.go rename to commands/service_sketch_archive.go index 8f843dbca6b..b2b28ae4bdd 100644 --- a/commands/sketch/archive.go +++ b/commands/service_sketch_archive.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package sketch +package commands import ( "archive/zip" @@ -24,13 +24,10 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/sketch" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) -var tr = i18n.Tr - // ArchiveSketch FIXMEDOC func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { // sketchName is the name of the sketch without extension, for example "MySketch" diff --git a/commands/sketch/load.go b/commands/service_sketch_load.go similarity index 98% rename from commands/sketch/load.go rename to commands/service_sketch_load.go index 5dadb0113c4..ffca3016715 100644 --- a/commands/sketch/load.go +++ b/commands/service_sketch_load.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package sketch +package commands import ( "context" diff --git a/commands/sketch/load_test.go b/commands/service_sketch_load_test.go similarity index 98% rename from commands/sketch/load_test.go rename to commands/service_sketch_load_test.go index bfae0e6a959..9d058e7035f 100644 --- a/commands/sketch/load_test.go +++ b/commands/service_sketch_load_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package sketch +package commands import ( "context" diff --git a/commands/sketch/new.go b/commands/service_sketch_new.go similarity index 99% rename from commands/sketch/new.go rename to commands/service_sketch_new.go index 5a7f6003e29..1a39615c9eb 100644 --- a/commands/sketch/new.go +++ b/commands/service_sketch_new.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package sketch +package commands import ( "context" diff --git a/commands/sketch/new_test.go b/commands/service_sketch_new_test.go similarity index 99% rename from commands/sketch/new_test.go rename to commands/service_sketch_new_test.go index 00ae7856732..0ba8b56767c 100644 --- a/commands/sketch/new_test.go +++ b/commands/service_sketch_new_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package sketch +package commands import ( "context" diff --git a/commands/sketch/testdata/sketch_with_profile/sketch.yml b/commands/testdata/sketch_with_profile/sketch.yml similarity index 100% rename from commands/sketch/testdata/sketch_with_profile/sketch.yml rename to commands/testdata/sketch_with_profile/sketch.yml diff --git a/commands/sketch/testdata/sketch_with_profile/sketch_with_profile.ino b/commands/testdata/sketch_with_profile/sketch_with_profile.ino similarity index 100% rename from commands/sketch/testdata/sketch_with_profile/sketch_with_profile.ino rename to commands/testdata/sketch_with_profile/sketch_with_profile.ino diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 3b6d9d2c26d..57a3463bcc3 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -18,7 +18,7 @@ package arguments import ( "context" - "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/commands" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -52,7 +52,7 @@ func GetSketchProfiles(sketchPath string) []string { return nil } } - sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath}) + sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath}) if err != nil { return nil } diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index b340193e609..b7a943f8cfa 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -59,7 +59,7 @@ func runAttachCommand(path string, port *arguments.Port, fqbn string, programmer sketchPath := arguments.InitSketchPath(path) portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, "", "") - newDefaults, err := sketch.SetSketchDefaults(context.Background(), &rpc.SetSketchDefaultsRequest{ + newDefaults, err := commands.SetSketchDefaults(context.Background(), &rpc.SetSketchDefaultsRequest{ SketchPath: sketchPath.String(), DefaultFqbn: fqbn, DefaultProgrammer: programmer.GetProgrammer(), diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 5a379bb8f73..f2b36b41e75 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -26,7 +26,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" @@ -157,7 +156,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { } sketchPath := arguments.InitSketchPath(path) - sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 8ead18d8c1b..99a4e4ca8b9 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -22,9 +22,9 @@ import ( "os" "os/signal" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/debug" - "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -83,7 +83,7 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments } sketchPath := arguments.InitSketchPath(path) - sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index aacf38bd9b3..1309210cad6 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -26,8 +26,7 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/commands/monitor" - sk "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -104,7 +103,7 @@ func runMonitorCmd( // If only --port is set we read the fqbn in the following order: default_fqbn -> discovery // If only --fqbn is set we read the port in the following order: default_port sketchPath := arguments.InitSketchPath(sketchPathArg) - sketch, err := sk.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + sketch, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil && !portArgs.IsPortFlagSet() { feedback.Fatal( tr("Error getting default port from `sketch.yaml`. Check if you're in the correct sketch folder or provide the --port flag: %s", err), @@ -145,7 +144,7 @@ func runMonitorCmd( feedback.FatalError(err, feedback.ErrGeneric) } - enumerateResp, err := monitor.EnumerateMonitorPortSettings(context.Background(), &rpc.EnumerateMonitorPortSettingsRequest{ + enumerateResp, err := commands.EnumerateMonitorPortSettings(context.Background(), &rpc.EnumerateMonitorPortSettingsRequest{ Instance: inst, PortProtocol: portProtocol, Fqbn: fqbn, @@ -203,7 +202,7 @@ func runMonitorCmd( } } } - portProxy, _, err := monitor.Monitor(context.Background(), &rpc.MonitorPortOpenRequest{ + portProxy, _, err := commands.Monitor(context.Background(), &rpc.MonitorPortOpenRequest{ Instance: inst, Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, Fqbn: fqbn, diff --git a/internal/cli/sketch/archive.go b/internal/cli/sketch/archive.go index fc0875be9fb..9b8836daba3 100644 --- a/internal/cli/sketch/archive.go +++ b/internal/cli/sketch/archive.go @@ -20,7 +20,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -66,13 +66,13 @@ func runArchiveCommand(args []string, includeBuildDir bool, overwrite bool) { } sketchPath := arguments.InitSketchPath(sketchPathArg) - sk, err := sketch.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } feedback.WarnAboutDeprecatedFiles(sk) - if _, err := sketch.ArchiveSketch(context.Background(), + if _, err := commands.ArchiveSketch(context.Background(), &rpc.ArchiveSketchRequest{ SketchPath: sketchPath.String(), ArchivePath: archivePathArg, diff --git a/internal/cli/sketch/new.go b/internal/cli/sketch/new.go index 3514a05556b..1bfdf36c764 100644 --- a/internal/cli/sketch/new.go +++ b/internal/cli/sketch/new.go @@ -20,7 +20,7 @@ import ( "os" "strings" - sk "github.com/arduino/arduino-cli/commands/sketch" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -72,7 +72,7 @@ func runNewCommand(args []string, overwrite bool) { sketchName = sketchDirPath.Base() } - _, err = sk.NewSketch(context.Background(), &rpc.NewSketchRequest{ + _, err = commands.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: sketchName, SketchDir: sketchDir, Overwrite: overwrite, diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 7ab259c6ae3..8641d746c49 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -24,7 +24,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - sk "github.com/arduino/arduino-cli/commands/sketch" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -90,7 +89,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { path = args[0] } sketchPath := arguments.InitSketchPath(path) - sketch, err := sk.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + sketch, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if importDir == "" && importFile == "" { if err != nil { feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) From 61e5c461641f611298b4a7995c729c88a420c13b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 13:26:38 +0100 Subject: [PATCH 138/361] Moved a batch of function from commands/* subpackage to commands (part 5) --- commands/service_debug.go | 7 +++---- commands/{debug/debug_info.go => service_debug_config.go} | 2 +- commands/{debug/debug.go => service_debug_run.go} | 5 +---- commands/{debug/debug_test.go => service_debug_test.go} | 8 ++++---- .../debug}/custom_hardware/arduino-test/samd/boards.txt | 0 .../debug}/custom_hardware/arduino-test/samd/platform.txt | 0 .../custom_hardware/arduino-test/samd/programmers.txt | 0 .../arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gdb | 0 .../tools/openocd/0.10.0-arduino7/bin/openocd | 0 .../arduino-test.samd.arduino_zero_edbg/hello.ino.bin | 0 .../hello/build/arduino-test.samd.mkr1000/hello.ino.bin | 0 .../{debug/testdata => testdata/debug}/hello/hello.ino | 0 internal/cli/debug/debug.go | 5 ++--- internal/cli/debug/debug_check.go | 4 ++-- 14 files changed, 13 insertions(+), 18 deletions(-) rename commands/{debug/debug_info.go => service_debug_config.go} (99%) rename commands/{debug/debug.go => service_debug_run.go} (98%) rename commands/{debug/debug_test.go => service_debug_test.go} (97%) rename commands/{debug/testdata => testdata/debug}/custom_hardware/arduino-test/samd/boards.txt (100%) rename commands/{debug/testdata => testdata/debug}/custom_hardware/arduino-test/samd/platform.txt (100%) rename commands/{debug/testdata => testdata/debug}/custom_hardware/arduino-test/samd/programmers.txt (100%) rename commands/{debug/testdata => testdata/debug}/data_dir/packages/arduino-test/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gdb (100%) rename commands/{debug/testdata => testdata/debug}/data_dir/packages/arduino-test/tools/openocd/0.10.0-arduino7/bin/openocd (100%) rename commands/{debug/testdata => testdata/debug}/hello/build/arduino-test.samd.arduino_zero_edbg/hello.ino.bin (100%) rename commands/{debug/testdata => testdata/debug}/hello/build/arduino-test.samd.mkr1000/hello.ino.bin (100%) rename commands/{debug/testdata => testdata/debug}/hello/hello.ino (100%) diff --git a/commands/service_debug.go b/commands/service_debug.go index 363f77da862..78af8c12371 100644 --- a/commands/service_debug.go +++ b/commands/service_debug.go @@ -20,7 +20,6 @@ import ( "errors" "os" - cmd "github.com/arduino/arduino-cli/commands/debug" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -44,7 +43,7 @@ func (s *ArduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) signalChan := make(chan os.Signal) defer close(signalChan) outStream := feedStreamTo(func(data []byte) { stream.Send(&rpc.DebugResponse{Data: data}) }) - resp, debugErr := cmd.Debug(stream.Context(), req, + resp, debugErr := Debug(stream.Context(), req, consumeStreamFrom(func() ([]byte, error) { command, err := stream.Recv() if command.GetSendInterrupt() { @@ -63,12 +62,12 @@ func (s *ArduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) // GetDebugConfig return metadata about a debug session func (s *ArduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { - res, err := cmd.GetDebugConfig(ctx, req) + res, err := GetDebugConfig(ctx, req) return res, convertErrorToRPCStatus(err) } // IsDebugSupported checks if debugging is supported for a given configuration func (s *ArduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { - res, err := cmd.IsDebugSupported(ctx, req) + res, err := IsDebugSupported(ctx, req) return res, convertErrorToRPCStatus(err) } diff --git a/commands/debug/debug_info.go b/commands/service_debug_config.go similarity index 99% rename from commands/debug/debug_info.go rename to commands/service_debug_config.go index 5528dd53b8f..0f4040011f8 100644 --- a/commands/debug/debug_info.go +++ b/commands/service_debug_config.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package debug +package commands import ( "context" diff --git a/commands/debug/debug.go b/commands/service_debug_run.go similarity index 98% rename from commands/debug/debug.go rename to commands/service_debug_run.go index 431c8fcb830..47ecbf4fe04 100644 --- a/commands/debug/debug.go +++ b/commands/service_debug_run.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package debug +package commands import ( "context" @@ -27,14 +27,11 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" ) -var tr = i18n.Tr - // Debug command launches a debug tool for a sketch. // It also implements streams routing: // gRPC In -> tool stdIn diff --git a/commands/debug/debug_test.go b/commands/service_debug_test.go similarity index 97% rename from commands/debug/debug_test.go rename to commands/service_debug_test.go index 9ca9d7cf056..e3bb45b0fd8 100644 --- a/commands/debug/debug_test.go +++ b/commands/service_debug_test.go @@ -12,7 +12,7 @@ // 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 debug +package commands import ( "fmt" @@ -30,10 +30,10 @@ import ( ) func TestGetCommandLine(t *testing.T) { - customHardware := paths.New("testdata", "custom_hardware") - dataDir := paths.New("testdata", "data_dir", "packages") + customHardware := paths.New("testdata", "debug", "custom_hardware") + dataDir := paths.New("testdata", "debug", "data_dir", "packages") sketch := "hello" - sketchPath := paths.New("testdata", sketch) + sketchPath := paths.New("testdata", "debug", sketch) require.NoError(t, sketchPath.ToAbs()) pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test") diff --git a/commands/debug/testdata/custom_hardware/arduino-test/samd/boards.txt b/commands/testdata/debug/custom_hardware/arduino-test/samd/boards.txt similarity index 100% rename from commands/debug/testdata/custom_hardware/arduino-test/samd/boards.txt rename to commands/testdata/debug/custom_hardware/arduino-test/samd/boards.txt diff --git a/commands/debug/testdata/custom_hardware/arduino-test/samd/platform.txt b/commands/testdata/debug/custom_hardware/arduino-test/samd/platform.txt similarity index 100% rename from commands/debug/testdata/custom_hardware/arduino-test/samd/platform.txt rename to commands/testdata/debug/custom_hardware/arduino-test/samd/platform.txt diff --git a/commands/debug/testdata/custom_hardware/arduino-test/samd/programmers.txt b/commands/testdata/debug/custom_hardware/arduino-test/samd/programmers.txt similarity index 100% rename from commands/debug/testdata/custom_hardware/arduino-test/samd/programmers.txt rename to commands/testdata/debug/custom_hardware/arduino-test/samd/programmers.txt diff --git a/commands/debug/testdata/data_dir/packages/arduino-test/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gdb b/commands/testdata/debug/data_dir/packages/arduino-test/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gdb similarity index 100% rename from commands/debug/testdata/data_dir/packages/arduino-test/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gdb rename to commands/testdata/debug/data_dir/packages/arduino-test/tools/arm-none-eabi-gcc/7-2017q4/bin/arm-none-eabi-gdb diff --git a/commands/debug/testdata/data_dir/packages/arduino-test/tools/openocd/0.10.0-arduino7/bin/openocd b/commands/testdata/debug/data_dir/packages/arduino-test/tools/openocd/0.10.0-arduino7/bin/openocd similarity index 100% rename from commands/debug/testdata/data_dir/packages/arduino-test/tools/openocd/0.10.0-arduino7/bin/openocd rename to commands/testdata/debug/data_dir/packages/arduino-test/tools/openocd/0.10.0-arduino7/bin/openocd diff --git a/commands/debug/testdata/hello/build/arduino-test.samd.arduino_zero_edbg/hello.ino.bin b/commands/testdata/debug/hello/build/arduino-test.samd.arduino_zero_edbg/hello.ino.bin similarity index 100% rename from commands/debug/testdata/hello/build/arduino-test.samd.arduino_zero_edbg/hello.ino.bin rename to commands/testdata/debug/hello/build/arduino-test.samd.arduino_zero_edbg/hello.ino.bin diff --git a/commands/debug/testdata/hello/build/arduino-test.samd.mkr1000/hello.ino.bin b/commands/testdata/debug/hello/build/arduino-test.samd.mkr1000/hello.ino.bin similarity index 100% rename from commands/debug/testdata/hello/build/arduino-test.samd.mkr1000/hello.ino.bin rename to commands/testdata/debug/hello/build/arduino-test.samd.mkr1000/hello.ino.bin diff --git a/commands/debug/testdata/hello/hello.ino b/commands/testdata/debug/hello/hello.ino similarity index 100% rename from commands/debug/testdata/hello/hello.ino rename to commands/testdata/debug/hello/hello.ino diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 99a4e4ca8b9..631b9046595 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -24,7 +24,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/debug" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -124,7 +123,7 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments if printInfo { - if res, err := debug.GetDebugConfig(context.Background(), debugConfigRequested); err != nil { + if res, err := commands.GetDebugConfig(context.Background(), debugConfigRequested); err != nil { errcode := feedback.ErrBadArgument if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer @@ -144,7 +143,7 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments if err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } - if _, err := debug.Debug(context.Background(), debugConfigRequested, in, out, ctrlc); err != nil { + if _, err := commands.Debug(context.Background(), debugConfigRequested, in, out, ctrlc); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 52e25d40577..a4bfafac879 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -19,7 +19,7 @@ import ( "context" "os" - "github.com/arduino/arduino-cli/commands/debug" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -60,7 +60,7 @@ func runDebugCheckCommand(portArgs *arguments.Port, fqbnArg *arguments.Fqbn, int feedback.FatalError(err, feedback.ErrBadArgument) } fqbn := fqbnArg.String() - resp, err := debug.IsDebugSupported(context.Background(), &rpc.IsDebugSupportedRequest{ + resp, err := commands.IsDebugSupported(context.Background(), &rpc.IsDebugSupportedRequest{ Instance: instance, Fqbn: fqbn, Port: port, From 9e75b4d6b3358410c9095e25fc7cb8cd846e6916 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 13:27:52 +0100 Subject: [PATCH 139/361] Removed unused parameters --- commands/service_library_install.go | 2 +- commands/service_library_resolve_deps.go | 4 ++-- commands/service_platform_uninstall.go | 4 ++-- commands/service_upload.go | 4 ++-- commands/service_upload_test.go | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/commands/service_library_install.go b/commands/service_library_install.go index b9fa369ebe0..021eada534f 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -51,7 +51,7 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa return err } - res, err := libraryResolveDependencies(ctx, lme, li, req.GetName(), req.GetVersion(), req.GetNoOverwrite()) + res, err := libraryResolveDependencies(lme, li, req.GetName(), req.GetVersion(), req.GetNoOverwrite()) releaseLme() if err != nil { return err diff --git a/commands/service_library_resolve_deps.go b/commands/service_library_resolve_deps.go index 5699cbf4052..ccfef15b742 100644 --- a/commands/service_library_resolve_deps.go +++ b/commands/service_library_resolve_deps.go @@ -42,10 +42,10 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe return nil, err } - return libraryResolveDependencies(ctx, lme, li, req.GetName(), req.GetVersion(), req.GetDoNotUpdateInstalledLibraries()) + return libraryResolveDependencies(lme, li, req.GetName(), req.GetVersion(), req.GetDoNotUpdateInstalledLibraries()) } -func libraryResolveDependencies(ctx context.Context, lme *librariesmanager.Explorer, li *librariesindex.Index, +func libraryResolveDependencies(lme *librariesmanager.Explorer, li *librariesindex.Index, reqName, reqVersion string, noOverwrite bool) (*rpc.LibraryResolveDependenciesResponse, error) { version, err := ParseVersion(reqVersion) if err != nil { diff --git a/commands/service_platform_uninstall.go b/commands/service_platform_uninstall.go index 26a2e404d58..9459a92ba86 100644 --- a/commands/service_platform_uninstall.go +++ b/commands/service_platform_uninstall.go @@ -26,7 +26,7 @@ import ( // PlatformUninstall FIXMEDOC func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) (*rpc.PlatformUninstallResponse, error) { - if err := platformUninstall(ctx, req, taskCB); err != nil { + if err := platformUninstall(req, taskCB); err != nil { return nil, err } if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { @@ -36,7 +36,7 @@ func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, t } // platformUninstall is the implementation of platform unistaller -func platformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) error { +func platformUninstall(req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) error { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return &cmderrors.InvalidInstanceError{} diff --git a/commands/service_upload.go b/commands/service_upload.go index 15df0cb295c..a364f3f88f2 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -371,7 +371,7 @@ func runProgramAction(pme *packagemanager.Explorer, } if !burnBootloader { - importPath, sketchName, err := determineBuildPathAndSketchName(importFile, importDir, sk, fqbn) + importPath, sketchName, err := determineBuildPathAndSketchName(importFile, importDir, sk) if err != nil { return nil, &cmderrors.NotFoundError{Message: tr("Error finding build artifacts"), Cause: err} } @@ -674,7 +674,7 @@ func runTool(recipeID string, props *properties.Map, outStream, errStream io.Wri return nil } -func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sketch, fqbn *cores.FQBN) (*paths.Path, string, error) { +func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sketch) (*paths.Path, string, error) { // In general, compiling a sketch will produce a set of files that are // named as the sketch but have different extensions, for example Sketch.ino // may produce: Sketch.ino.bin; Sketch.ino.hex; Sketch.ino.zip; etc... diff --git a/commands/service_upload_test.go b/commands/service_upload_test.go index f50f06c4583..cf2f4ff3306 100644 --- a/commands/service_upload_test.go +++ b/commands/service_upload_test.go @@ -109,7 +109,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { } for i, test := range tests { t.Run(fmt.Sprintf("SubTest%02d", i), func(t *testing.T) { - buildPath, sketchName, err := determineBuildPathAndSketchName(test.importFile, test.importDir, test.sketch, test.fqbn) + buildPath, sketchName, err := determineBuildPathAndSketchName(test.importFile, test.importDir, test.sketch) if test.resBuildPath == "<nil>" { require.Error(t, err) require.Nil(t, buildPath) From f1a015c7a0305faf80cf2f755cc236ca7295047a Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 13:28:41 +0100 Subject: [PATCH 140/361] Removed unused file --- commands/lib.go | 46 ---------------------------------------------- 1 file changed, 46 deletions(-) delete mode 100644 commands/lib.go diff --git a/commands/lib.go b/commands/lib.go deleted file mode 100644 index 8794f4ea94a..00000000000 --- a/commands/lib.go +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 commands - -/* -import ( - "fmt" - "context" -) - -func (s *Service) ListLibraries(ctx context.Context, in *ListLibrariesReq) (*ListLibrariesResp, error) { - if in.Instance == nil { - return nil, fmt.Errorf("invalid request") - } - instance, ok := instances[in.Instance.Id] - if !ok { - return nil, fmt.Errorf("instance not found") - } - libs := lib.ListLibraries(instance.lm, in.Updatable) - - result := []*pb.Library{} - for _, lib := range libs.Libraries { - result = append(result, &pb.Library{ - Name: lib.Library.Name, - Paragraph: lib.Library.Paragraph, - Precompiled: lib.Library.Precompiled, - }) - } - return &pb.ListLibrariesResp{ - Libraries: result, - }, nil -} -*/ From c4ca8522c5afe069166bbbb5307c0f77ceb30e7a Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 14:09:23 +0100 Subject: [PATCH 141/361] Removed ToRPCStatus in favor of standardized GRPCStatus() interface This change avoids the ugly 'convertErrorToRPCStatus' helper method since the gRPC server automatically recognize if the error implements the `GRPCStatus() *Status` interface method. --- commands/cmderrors/cmderrors.go | 192 +++++++++--------- commands/instances.go | 26 +-- commands/service.go | 104 ++++------ commands/service_debug.go | 6 +- .../integrationtest/daemon/daemon_test.go | 4 +- 5 files changed, 149 insertions(+), 183 deletions(-) diff --git a/commands/cmderrors/cmderrors.go b/commands/cmderrors/cmderrors.go index e6794ffdee9..a5024a37a26 100644 --- a/commands/cmderrors/cmderrors.go +++ b/commands/cmderrors/cmderrors.go @@ -37,8 +37,8 @@ func composeErrorMsg(msg string, cause error) string { // CommandError is an error that may be converted into a gRPC status. type CommandError interface { - // ToRPCStatus convertes the error into a *status.Status - ToRPCStatus() *status.Status + // GRPCStatus convertes the error into a *status.Status + GRPCStatus() *status.Status } // InvalidInstanceError is returned if the instance used in the command is not valid. @@ -48,8 +48,8 @@ func (e *InvalidInstanceError) Error() string { return tr("Invalid instance") } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidInstanceError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidInstanceError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -62,8 +62,8 @@ func (e *InvalidFQBNError) Error() string { return composeErrorMsg(tr("Invalid FQBN"), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidFQBNError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidFQBNError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -80,8 +80,8 @@ func (e *InvalidURLError) Error() string { return composeErrorMsg(tr("Invalid URL"), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidURLError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidURLError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -98,8 +98,8 @@ func (e *InvalidLibraryError) Error() string { return composeErrorMsg(tr("Invalid library"), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidLibraryError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidLibraryError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -116,8 +116,8 @@ func (e *InvalidVersionError) Error() string { return composeErrorMsg(tr("Invalid version"), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidVersionError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidVersionError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -139,8 +139,8 @@ func (e *NoBoardsDetectedError) Error() string { ) } -// ToRPCStatus converts the error into a *status.Status -func (e *NoBoardsDetectedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *NoBoardsDetectedError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -159,8 +159,8 @@ func (e *MultipleBoardsDetectedError) Error() string { ) } -// ToRPCStatus converts the error into a *status.Status -func (e *MultipleBoardsDetectedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MultipleBoardsDetectedError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -171,8 +171,8 @@ func (e *MissingFQBNError) Error() string { return tr("Missing FQBN (Fully Qualified Board Name)") } -// ToRPCStatus converts the error into a *status.Status -func (e *MissingFQBNError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MissingFQBNError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -189,8 +189,8 @@ func (e *UnknownFQBNError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *UnknownFQBNError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *UnknownFQBNError) GRPCStatus() *status.Status { return status.New(codes.NotFound, e.Error()) } @@ -208,8 +208,8 @@ func (e *UnknownProfileError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *UnknownProfileError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *UnknownProfileError) GRPCStatus() *status.Status { return status.New(codes.NotFound, e.Error()) } @@ -226,8 +226,8 @@ func (e *InvalidProfileError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidProfileError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidProfileError) GRPCStatus() *status.Status { return status.New(codes.FailedPrecondition, e.Error()) } @@ -238,8 +238,8 @@ func (e *MissingPortAddressError) Error() string { return tr("Missing port address") } -// ToRPCStatus converts the error into a *status.Status -func (e *MissingPortAddressError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MissingPortAddressError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -250,8 +250,8 @@ func (e *MissingPortProtocolError) Error() string { return tr("Missing port protocol") } -// ToRPCStatus converts the error into a *status.Status -func (e *MissingPortProtocolError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MissingPortProtocolError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -262,8 +262,8 @@ func (e *MissingPortError) Error() string { return tr("Missing port") } -// ToRPCStatus converts the error into a *status.Status -func (e *MissingPortError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MissingPortError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -276,8 +276,8 @@ func (e *NoMonitorAvailableForProtocolError) Error() string { return tr("No monitor available for the port protocol %s", e.Protocol) } -// ToRPCStatus converts the error into a *status.Status -func (e *NoMonitorAvailableForProtocolError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *NoMonitorAvailableForProtocolError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -288,8 +288,8 @@ func (e *MissingProgrammerError) Error() string { return tr("Missing programmer") } -// ToRPCStatus converts the error into a *status.Status -func (e *MissingProgrammerError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MissingProgrammerError) GRPCStatus() *status.Status { s, _ := status.New(codes.InvalidArgument, e.Error()).WithDetails(&rpc.MissingProgrammerError{}) return s } @@ -301,8 +301,8 @@ func (e *ProgrammerRequiredForUploadError) Error() string { return tr("A programmer is required to upload") } -// ToRPCStatus converts the error into a *status.Status -func (e *ProgrammerRequiredForUploadError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *ProgrammerRequiredForUploadError) GRPCStatus() *status.Status { st, _ := status. New(codes.InvalidArgument, e.Error()). WithDetails(&rpc.ProgrammerIsRequiredForUploadError{}) @@ -320,8 +320,8 @@ func (ife *InitFailedError) Error() string { return ife.Cause.Error() } -// ToRPCStatus converts the error into a *status.Status -func (ife *InitFailedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (ife *InitFailedError) GRPCStatus() *status.Status { st, _ := status. New(ife.Code, ife.Cause.Error()). WithDetails(&rpc.FailedInstanceInitError{ @@ -345,8 +345,8 @@ func (e *ProgrammerNotFoundError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *ProgrammerNotFoundError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *ProgrammerNotFoundError) GRPCStatus() *status.Status { return status.New(codes.NotFound, e.Error()) } @@ -364,8 +364,8 @@ func (e *MonitorNotFoundError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *MonitorNotFoundError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MonitorNotFoundError) GRPCStatus() *status.Status { return status.New(codes.NotFound, e.Error()) } @@ -379,8 +379,8 @@ func (e *InvalidPlatformPropertyError) Error() string { return tr("Invalid '%[1]s' property: %[2]s", e.Property, e.Value) } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidPlatformPropertyError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidPlatformPropertyError) GRPCStatus() *status.Status { return status.New(codes.FailedPrecondition, e.Error()) } @@ -393,8 +393,8 @@ func (e *MissingPlatformPropertyError) Error() string { return tr("Property '%s' is undefined", e.Property) } -// ToRPCStatus converts the error into a *status.Status -func (e *MissingPlatformPropertyError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MissingPlatformPropertyError) GRPCStatus() *status.Status { return status.New(codes.FailedPrecondition, e.Error()) } @@ -408,8 +408,8 @@ func (e *PlatformNotFoundError) Error() string { return composeErrorMsg(tr("Platform '%s' not found", e.Platform), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *PlatformNotFoundError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *PlatformNotFoundError) GRPCStatus() *status.Status { return status.New(codes.FailedPrecondition, e.Error()) } @@ -426,8 +426,8 @@ func (e *PlatformLoadingError) Error() string { return composeErrorMsg(tr("Error loading hardware platform"), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *PlatformLoadingError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *PlatformLoadingError) GRPCStatus() *status.Status { s, _ := status.New(codes.FailedPrecondition, e.Error()). WithDetails(&rpc.PlatformLoadingError{}) return s @@ -447,8 +447,8 @@ func (e *LibraryNotFoundError) Error() string { return composeErrorMsg(tr("Library '%s' not found", e.Library), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *LibraryNotFoundError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *LibraryNotFoundError) GRPCStatus() *status.Status { return status.New(codes.FailedPrecondition, e.Error()) } @@ -466,8 +466,8 @@ func (e *LibraryDependenciesResolutionFailedError) Error() string { return composeErrorMsg(tr("No valid dependencies solution found"), e.Cause) } -// ToRPCStatus converts the error into a *status.Status -func (e *LibraryDependenciesResolutionFailedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *LibraryDependenciesResolutionFailedError) GRPCStatus() *status.Status { return status.New(codes.FailedPrecondition, e.Error()) } @@ -484,8 +484,8 @@ func (e *PlatformAlreadyAtTheLatestVersionError) Error() string { return tr("Platform '%s' is already at the latest version", e.Platform) } -// ToRPCStatus converts the error into a *status.Status -func (e *PlatformAlreadyAtTheLatestVersionError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *PlatformAlreadyAtTheLatestVersionError) GRPCStatus() *status.Status { st, _ := status. New(codes.AlreadyExists, e.Error()). WithDetails(&rpc.AlreadyAtLatestVersionError{}) @@ -499,8 +499,8 @@ func (e *MissingSketchPathError) Error() string { return tr("Missing sketch path") } -// ToRPCStatus converts the error into a *status.Status -func (e *MissingSketchPathError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MissingSketchPathError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -543,8 +543,8 @@ func (e *CantOpenSketchError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *CantOpenSketchError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *CantOpenSketchError) GRPCStatus() *status.Status { return status.New(codes.NotFound, e.Error()) } @@ -562,8 +562,8 @@ func (e *FailedInstallError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *FailedInstallError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *FailedInstallError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -580,8 +580,8 @@ func (e *FailedLibraryInstallError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *FailedLibraryInstallError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *FailedLibraryInstallError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -599,8 +599,8 @@ func (e *FailedUninstallError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *FailedUninstallError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *FailedUninstallError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -618,8 +618,8 @@ func (e *FailedDownloadError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *FailedDownloadError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *FailedDownloadError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -637,8 +637,8 @@ func (e *FailedUploadError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *FailedUploadError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *FailedUploadError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -656,8 +656,8 @@ func (e *FailedDebugError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *FailedDebugError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *FailedDebugError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -674,8 +674,8 @@ func (e *FailedMonitorError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *FailedMonitorError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *FailedMonitorError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -693,8 +693,8 @@ func (e *CompileFailedError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *CompileFailedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *CompileFailedError) GRPCStatus() *status.Status { return status.New(codes.Internal, e.Error()) } @@ -712,8 +712,8 @@ func (e *InvalidArgumentError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *InvalidArgumentError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InvalidArgumentError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -731,8 +731,8 @@ func (e *NotFoundError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *NotFoundError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *NotFoundError) GRPCStatus() *status.Status { return status.New(codes.NotFound, e.Error()) } @@ -750,8 +750,8 @@ func (e *PermissionDeniedError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *PermissionDeniedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *PermissionDeniedError) GRPCStatus() *status.Status { return status.New(codes.PermissionDenied, e.Error()) } @@ -769,8 +769,8 @@ func (e *UnavailableError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *UnavailableError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *UnavailableError) GRPCStatus() *status.Status { return status.New(codes.Unavailable, e.Error()) } @@ -787,8 +787,8 @@ func (e *TempDirCreationFailedError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *TempDirCreationFailedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *TempDirCreationFailedError) GRPCStatus() *status.Status { return status.New(codes.Unavailable, e.Error()) } @@ -805,8 +805,8 @@ func (e *TempFileCreationFailedError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *TempFileCreationFailedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *TempFileCreationFailedError) GRPCStatus() *status.Status { return status.New(codes.Unavailable, e.Error()) } @@ -824,8 +824,8 @@ func (e *SignatureVerificationFailedError) Unwrap() error { return e.Cause } -// ToRPCStatus converts the error into a *status.Status -func (e *SignatureVerificationFailedError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *SignatureVerificationFailedError) GRPCStatus() *status.Status { return status.New(codes.Unavailable, e.Error()) } @@ -842,8 +842,8 @@ func (e *MultiplePlatformsError) Error() string { len(e.Platforms), e.UserPlatform, strings.Join(e.Platforms, ", ")) } -// ToRPCStatus converts the error into a *status.Status -func (e *MultiplePlatformsError) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MultiplePlatformsError) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -865,8 +865,8 @@ func (e *MultipleLibraryInstallDetected) Error() string { return res } -// ToRPCStatus converts the error into a *status.Status -func (e *MultipleLibraryInstallDetected) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *MultipleLibraryInstallDetected) GRPCStatus() *status.Status { return status.New(codes.InvalidArgument, e.Error()) } @@ -878,8 +878,8 @@ func (e *InstanceNeedsReinitialization) Error() string { return tr("The instance is no longer valid and needs to be reinitialized") } -// ToRPCStatus converts the error into a *status.Status -func (e *InstanceNeedsReinitialization) ToRPCStatus() *status.Status { +// GRPCStatus converts the error into a *status.Status +func (e *InstanceNeedsReinitialization) GRPCStatus() *status.Status { st, _ := status. New(codes.InvalidArgument, e.Error()). WithDetails(&rpc.InstanceNeedsReinitializationError{}) diff --git a/commands/instances.go b/commands/instances.go index 45f6a109f86..ba067358cca 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -162,7 +162,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro Cause: fmt.Errorf(tr("Invalid additional URL: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INVALID_INDEX_URL, } - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) continue } allPackageIndexUrls = append(allPackageIndexUrls, URL) @@ -174,7 +174,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro Cause: err, Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR, } - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) } { @@ -199,7 +199,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro Cause: fmt.Errorf(tr("Loading index file: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR, } - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) } continue } @@ -210,7 +210,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro Cause: fmt.Errorf(tr("Loading index file: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR, } - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) } } @@ -223,7 +223,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if profile == nil { for _, err := range pmb.LoadHardware() { s := &cmderrors.PlatformLoadingError{Cause: err} - responseError(s.ToRPCStatus()) + responseError(s.GRPCStatus()) } } else { // Load platforms from profile @@ -232,7 +232,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro ) for _, err := range errs { s := &cmderrors.PlatformLoadingError{Cause: err} - responseError(s.ToRPCStatus()) + responseError(s.GRPCStatus()) } // Load "builtin" tools @@ -252,7 +252,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro Cause: fmt.Errorf(tr("can't find latest release of tool %s", name)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR, } - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) } else if !latest.IsInstalled() { builtinToolsToInstall = append(builtinToolsToInstall, latest) } @@ -267,7 +267,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro Cause: err, Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR, } - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) } } @@ -275,7 +275,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro // so we must reload again otherwise we would never found them. for _, err := range loadBuiltinTools() { s := &cmderrors.PlatformLoadingError{Cause: err} - responseError(s.ToRPCStatus()) + responseError(s.GRPCStatus()) } } @@ -290,7 +290,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro for _, err := range pme.LoadDiscoveries() { s := &cmderrors.PlatformLoadingError{Cause: err} - responseError(s.ToRPCStatus()) + responseError(s.GRPCStatus()) } // Create library manager and add libraries directories @@ -353,13 +353,13 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Library %s not found", libraryRef)}) err := &cmderrors.LibraryNotFoundError{Library: libraryRef.Library} - responseError(err.ToRPCStatus()) + responseError(err.GRPCStatus()) continue } if err := libRelease.Resource.Download(pme.DownloadDir, nil, libRelease.String(), downloadCallback, ""); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) continue } taskCallback(&rpc.TaskProgress{Completed: true}) @@ -369,7 +369,7 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro if err := libRelease.Resource.Install(pme.DownloadDir, libRoot, libDir); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error installing library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} - responseError(e.ToRPCStatus()) + responseError(e.GRPCStatus()) continue } taskCallback(&rpc.TaskProgress{Completed: true}) diff --git a/commands/service.go b/commands/service.go index 0b34c6250c8..88f03e5fed8 100644 --- a/commands/service.go +++ b/commands/service.go @@ -38,27 +38,16 @@ type ArduinoCoreServerImpl struct { VersionString string } -func convertErrorToRPCStatus(err error) error { - if err == nil { - return nil - } - if cmdErr, ok := err.(cmderrors.CommandError); ok { - return cmdErr.ToRPCStatus().Err() - } - return err -} - // BoardDetails FIXMEDOC func (s *ArduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { - resp, err := BoardDetails(ctx, req) - return resp, convertErrorToRPCStatus(err) + return BoardDetails(ctx, req) } // BoardList FIXMEDOC func (s *ArduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { ports, _, err := BoardList(req) if err != nil { - return nil, convertErrorToRPCStatus(err) + return nil, err } return &rpc.BoardListResponse{ Ports: ports, @@ -67,14 +56,12 @@ func (s *ArduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis // BoardListAll FIXMEDOC func (s *ArduinoCoreServerImpl) BoardListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { - resp, err := BoardListAll(ctx, req) - return resp, convertErrorToRPCStatus(err) + return BoardListAll(ctx, req) } // BoardSearch exposes to the gRPC interface the board search command func (s *ArduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { - resp, err := BoardSearch(ctx, req) - return resp, convertErrorToRPCStatus(err) + return BoardSearch(ctx, req) } // BoardListWatch FIXMEDOC @@ -91,7 +78,7 @@ func (s *ArduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s eventsChan, err := BoardListWatch(stream.Context(), req) if err != nil { - return convertErrorToRPCStatus(err) + return err } for event := range eventsChan { @@ -105,8 +92,7 @@ func (s *ArduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s // Destroy FIXMEDOC func (s *ArduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { - resp, err := Destroy(ctx, req) - return resp, convertErrorToRPCStatus(err) + return Destroy(ctx, req) } // UpdateIndex FIXMEDOC @@ -124,7 +110,7 @@ func (s *ArduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream Message: &rpc.UpdateIndexResponse_Result_{Result: res}, }) } - return convertErrorToRPCStatus(err) + return err } // UpdateLibrariesIndex FIXMEDOC @@ -142,7 +128,7 @@ func (s *ArduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd Message: &rpc.UpdateLibrariesIndexResponse_Result_{Result: res}, }) } - return convertErrorToRPCStatus(err) + return err } // Create FIXMEDOC @@ -154,15 +140,13 @@ func (s *ArduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque if len(userAgent) == 0 { userAgent = []string{"gRPCClientUnknown/0.0.0"} } - res, err := Create(req, userAgent...) - return res, convertErrorToRPCStatus(err) + return Create(req, userAgent...) } // Init FIXMEDOC func (s *ArduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := Init(req, func(message *rpc.InitResponse) { syncSend.Send(message) }) - return convertErrorToRPCStatus(err) + return Init(req, func(message *rpc.InitResponse) { syncSend.Send(message) }) } // Version FIXMEDOC @@ -172,20 +156,18 @@ func (s *ArduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionReq // NewSketch FIXMEDOC func (s *ArduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { - resp, err := NewSketch(ctx, req) - return resp, convertErrorToRPCStatus(err) + return NewSketch(ctx, req) } // LoadSketch FIXMEDOC func (s *ArduinoCoreServerImpl) LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { resp, err := LoadSketch(ctx, req) - return &rpc.LoadSketchResponse{Sketch: resp}, convertErrorToRPCStatus(err) + return &rpc.LoadSketchResponse{Sketch: resp}, err } // SetSketchDefaults FIXMEDOC func (s *ArduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { - resp, err := SetSketchDefaults(ctx, req) - return resp, convertErrorToRPCStatus(err) + return SetSketchDefaults(ctx, req) } // Compile FIXMEDOC @@ -218,7 +200,7 @@ func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu }) } if compileErr != nil { - return convertErrorToRPCStatus(compileErr) + return compileErr } return compileRespSendErr } @@ -232,7 +214,7 @@ func (s *ArduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformInstallResponse{TaskProgress: p}) }, ) if err != nil { - return convertErrorToRPCStatus(err) + return err } return syncSend.Send(resp) } @@ -245,7 +227,7 @@ func (s *ArduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformDownloadResponse{Progress: p}) }, ) if err != nil { - return convertErrorToRPCStatus(err) + return err } return syncSend.Send(resp) } @@ -258,7 +240,7 @@ func (s *ArduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequ func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUninstallResponse{TaskProgress: p}) }, ) if err != nil { - return convertErrorToRPCStatus(err) + return err } return syncSend.Send(resp) } @@ -274,13 +256,12 @@ func (s *ArduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, if err2 := syncSend.Send(resp); err2 != nil { return err2 } - return convertErrorToRPCStatus(err) + return err } // PlatformSearch FIXMEDOC func (s *ArduinoCoreServerImpl) PlatformSearch(ctx context.Context, req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { - resp, err := PlatformSearch(req) - return resp, convertErrorToRPCStatus(err) + return PlatformSearch(req) } // Upload FIXMEDOC @@ -306,7 +287,7 @@ func (s *ArduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.Arduin }, }) } - return convertErrorToRPCStatus(err) + return err } // UploadUsingProgrammer FIXMEDOC @@ -330,15 +311,14 @@ func (s *ArduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgra outStream.Close() errStream.Close() if err != nil { - return convertErrorToRPCStatus(err) + return err } return nil } // SupportedUserFields FIXMEDOC func (s *ArduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { - res, err := SupportedUserFields(ctx, req) - return res, convertErrorToRPCStatus(err) + return SupportedUserFields(ctx, req) } // BurnBootloader FIXMEDOC @@ -362,15 +342,14 @@ func (s *ArduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, s outStream.Close() errStream.Close() if err != nil { - return convertErrorToRPCStatus(err) + return err } return syncSend.Send(resp) } // ListProgrammersAvailableForUpload FIXMEDOC func (s *ArduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { - resp, err := ListProgrammersAvailableForUpload(ctx, req) - return resp, convertErrorToRPCStatus(err) + return ListProgrammersAvailableForUpload(ctx, req) } // LibraryDownload FIXMEDOC @@ -381,7 +360,7 @@ func (s *ArduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryDownloadResponse{Progress: p}) }, ) if err != nil { - return convertErrorToRPCStatus(err) + return err } return syncSend.Send(resp) } @@ -389,92 +368,81 @@ func (s *ArduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, // LibraryInstall FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := LibraryInstall( + return LibraryInstall( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryInstallResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryInstallResponse{TaskProgress: p}) }, ) - return convertErrorToRPCStatus(err) } // LibraryUpgrade FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := LibraryUpgrade( + return LibraryUpgrade( stream.Context(), req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{TaskProgress: p}) }, ) - return convertErrorToRPCStatus(err) } // LibraryUninstall FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallRequest, stream rpc.ArduinoCoreService_LibraryUninstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := LibraryUninstall(stream.Context(), req, + return LibraryUninstall(stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUninstallResponse{TaskProgress: p}) }, ) - return convertErrorToRPCStatus(err) } // LibraryUpgradeAll FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := LibraryUpgradeAll(req, + return LibraryUpgradeAll(req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{TaskProgress: p}) }, ) - return convertErrorToRPCStatus(err) } // LibraryResolveDependencies FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { - resp, err := LibraryResolveDependencies(ctx, req) - return resp, convertErrorToRPCStatus(err) + return LibraryResolveDependencies(ctx, req) } // LibrarySearch FIXMEDOC func (s *ArduinoCoreServerImpl) LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { - resp, err := LibrarySearch(ctx, req) - return resp, convertErrorToRPCStatus(err) + return LibrarySearch(ctx, req) } // LibraryList FIXMEDOC func (s *ArduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { - resp, err := LibraryList(ctx, req) - return resp, convertErrorToRPCStatus(err) + return LibraryList(ctx, req) } // ArchiveSketch FIXMEDOC func (s *ArduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { - resp, err := ArchiveSketch(ctx, req) - return resp, convertErrorToRPCStatus(err) + return ArchiveSketch(ctx, req) } // ZipLibraryInstall FIXMEDOC func (s *ArduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequest, stream rpc.ArduinoCoreService_ZipLibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := ZipLibraryInstall( + return ZipLibraryInstall( stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.ZipLibraryInstallResponse{TaskProgress: p}) }, ) - return convertErrorToRPCStatus(err) } // GitLibraryInstall FIXMEDOC func (s *ArduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequest, stream rpc.ArduinoCoreService_GitLibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - err := GitLibraryInstall( + return GitLibraryInstall( stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.GitLibraryInstallResponse{TaskProgress: p}) }, ) - return convertErrorToRPCStatus(err) } // EnumerateMonitorPortSettings FIXMEDOC func (s *ArduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { - resp, err := EnumerateMonitorPortSettings(ctx, req) - return resp, convertErrorToRPCStatus(err) + return EnumerateMonitorPortSettings(ctx, req) } // Monitor FIXMEDOC diff --git a/commands/service_debug.go b/commands/service_debug.go index 78af8c12371..cb3f682219c 100644 --- a/commands/service_debug.go +++ b/commands/service_debug.go @@ -62,12 +62,10 @@ func (s *ArduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) // GetDebugConfig return metadata about a debug session func (s *ArduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { - res, err := GetDebugConfig(ctx, req) - return res, convertErrorToRPCStatus(err) + return GetDebugConfig(ctx, req) } // IsDebugSupported checks if debugging is supported for a given configuration func (s *ArduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { - res, err := IsDebugSupported(ctx, req) - return res, convertErrorToRPCStatus(err) + return IsDebugSupported(ctx, req) } diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 3bae601a01d..297ba4b59af 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -503,7 +503,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { require.NoError(t, err) platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) - require.ErrorIs(t, upgradeError, (&cmderrors.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) + require.ErrorIs(t, upgradeError, (&cmderrors.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).GRPCStatus().Err()) require.NotNil(t, platform) require.False(t, platform.GetMetadata().GetIndexed()) // the esp866 is not present in the additional-urls require.False(t, platform.GetRelease().GetMissingMetadata()) // install.json is present @@ -528,7 +528,7 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { require.NoError(t, err) platform, upgradeError := analyzePlatformUpgradeClient(plUpgrade) - require.ErrorIs(t, upgradeError, (&cmderrors.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).ToRPCStatus().Err()) + require.ErrorIs(t, upgradeError, (&cmderrors.PlatformAlreadyAtTheLatestVersionError{Platform: "esp8266:esp8266"}).GRPCStatus().Err()) require.NotNil(t, platform) require.False(t, platform.GetMetadata().GetIndexed()) // the esp866 is not present in the additional-urls require.True(t, platform.GetRelease().GetMissingMetadata()) // install.json is present From 23ccd4332dcbe8b8153824381ae79b96de419a20 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 16:47:44 +0100 Subject: [PATCH 142/361] Inlining methods in ArduinoCoreServiceImpl (part 1: BoardListAll) This commit is composed of many parts: * ArduinoCoreServiceImpl has been made private * A new function NewArduinoCoreService() has been added to instatiate a new service. * The service is created at CLI startup and sent down the initialization chain where needed. In this commit only the BoardListAll command has been ported to prove the feasability of the change. --- commands/service.go | 107 +++++++++--------- commands/service_board_listall.go | 4 +- commands/service_debug.go | 6 +- commands/service_settings.go | 12 +- commands/service_settings_test.go | 2 +- internal/cli/arguments/completion.go | 8 +- internal/cli/arguments/fqbn.go | 4 +- internal/cli/arguments/programmer.go | 4 +- internal/cli/board/attach.go | 6 +- internal/cli/board/board.go | 11 +- internal/cli/board/details.go | 4 +- internal/cli/board/list.go | 4 +- internal/cli/board/listall.go | 11 +- internal/cli/burnbootloader/burnbootloader.go | 6 +- internal/cli/cli.go | 30 ++--- internal/cli/compile/compile.go | 6 +- internal/cli/config/delete.go | 2 +- internal/cli/config/get.go | 2 +- internal/cli/daemon/daemon.go | 5 +- internal/cli/debug/debug.go | 8 +- internal/cli/debug/debug_check.go | 6 +- internal/cli/lib/examples.go | 4 +- internal/cli/lib/lib.go | 7 +- internal/cli/lib/list.go | 4 +- internal/cli/monitor/monitor.go | 4 +- internal/cli/upload/upload.go | 6 +- internal/docsgen/main.go | 2 +- main.go | 7 +- 28 files changed, 141 insertions(+), 141 deletions(-) diff --git a/commands/service.go b/commands/service.go index 88f03e5fed8..256cba0d027 100644 --- a/commands/service.go +++ b/commands/service.go @@ -30,21 +30,27 @@ import ( "google.golang.org/grpc/metadata" ) -// ArduinoCoreServerImpl FIXMEDOC -type ArduinoCoreServerImpl struct { - // Force compile error for unimplemented methods - rpc.UnsafeArduinoCoreServiceServer +// NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service +// that uses the provided version string. +func NewArduinoCoreServer(version string) rpc.ArduinoCoreServiceServer { + return &arduinoCoreServerImpl{ + versionString: version, + } +} + +type arduinoCoreServerImpl struct { + rpc.UnsafeArduinoCoreServiceServer // Force compile error for unimplemented methods - VersionString string + versionString string } // BoardDetails FIXMEDOC -func (s *ArduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { +func (s *arduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { return BoardDetails(ctx, req) } // BoardList FIXMEDOC -func (s *ArduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { +func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { ports, _, err := BoardList(req) if err != nil { return nil, err @@ -54,18 +60,13 @@ func (s *ArduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis }, nil } -// BoardListAll FIXMEDOC -func (s *ArduinoCoreServerImpl) BoardListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { - return BoardListAll(ctx, req) -} - // BoardSearch exposes to the gRPC interface the board search command -func (s *ArduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { +func (s *arduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { return BoardSearch(ctx, req) } // BoardListWatch FIXMEDOC -func (s *ArduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, stream rpc.ArduinoCoreService_BoardListWatchServer) error { +func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, stream rpc.ArduinoCoreService_BoardListWatchServer) error { syncSend := NewSynchronizedSend(stream.Send) if req.GetInstance() == nil { err := fmt.Errorf(tr("no instance specified")) @@ -91,12 +92,12 @@ func (s *ArduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s } // Destroy FIXMEDOC -func (s *ArduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { +func (s *arduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { return Destroy(ctx, req) } // UpdateIndex FIXMEDOC -func (s *ArduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream rpc.ArduinoCoreService_UpdateIndexServer) error { +func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream rpc.ArduinoCoreService_UpdateIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) res, err := UpdateIndex(stream.Context(), req, func(p *rpc.DownloadProgress) { @@ -114,7 +115,7 @@ func (s *ArduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream } // UpdateLibrariesIndex FIXMEDOC -func (s *ArduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateLibrariesIndexServer) error { +func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateLibrariesIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) res, err := UpdateLibrariesIndex(stream.Context(), req, func(p *rpc.DownloadProgress) { @@ -132,7 +133,7 @@ func (s *ArduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd } // Create FIXMEDOC -func (s *ArduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateRequest) (*rpc.CreateResponse, error) { +func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateRequest) (*rpc.CreateResponse, error) { var userAgent []string if md, ok := metadata.FromIncomingContext(ctx); ok { userAgent = md.Get("user-agent") @@ -144,34 +145,34 @@ func (s *ArduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque } // Init FIXMEDOC -func (s *ArduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { +func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { syncSend := NewSynchronizedSend(stream.Send) return Init(req, func(message *rpc.InitResponse) { syncSend.Send(message) }) } // Version FIXMEDOC -func (s *ArduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionRequest) (*rpc.VersionResponse, error) { - return &rpc.VersionResponse{Version: s.VersionString}, nil +func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionRequest) (*rpc.VersionResponse, error) { + return &rpc.VersionResponse{Version: s.versionString}, nil } // NewSketch FIXMEDOC -func (s *ArduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { +func (s *arduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { return NewSketch(ctx, req) } // LoadSketch FIXMEDOC -func (s *ArduinoCoreServerImpl) LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { +func (s *arduinoCoreServerImpl) LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { resp, err := LoadSketch(ctx, req) return &rpc.LoadSketchResponse{Sketch: resp}, err } // SetSketchDefaults FIXMEDOC -func (s *ArduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { +func (s *arduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { return SetSketchDefaults(ctx, req) } // Compile FIXMEDOC -func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.ArduinoCoreService_CompileServer) error { +func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.ArduinoCoreService_CompileServer) error { syncSend := NewSynchronizedSend(stream.Send) outStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.CompileResponse{ @@ -206,7 +207,7 @@ func (s *ArduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu } // PlatformInstall FIXMEDOC -func (s *ArduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { +func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := PlatformInstall( stream.Context(), req, @@ -220,7 +221,7 @@ func (s *ArduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, } // PlatformDownload FIXMEDOC -func (s *ArduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadRequest, stream rpc.ArduinoCoreService_PlatformDownloadServer) error { +func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadRequest, stream rpc.ArduinoCoreService_PlatformDownloadServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := PlatformDownload( stream.Context(), req, @@ -233,7 +234,7 @@ func (s *ArduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques } // PlatformUninstall FIXMEDOC -func (s *ArduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequest, stream rpc.ArduinoCoreService_PlatformUninstallServer) error { +func (s *arduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequest, stream rpc.ArduinoCoreService_PlatformUninstallServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := PlatformUninstall( stream.Context(), req, @@ -246,7 +247,7 @@ func (s *ArduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequ } // PlatformUpgrade FIXMEDOC -func (s *ArduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, stream rpc.ArduinoCoreService_PlatformUpgradeServer) error { +func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, stream rpc.ArduinoCoreService_PlatformUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := PlatformUpgrade( stream.Context(), req, @@ -260,12 +261,12 @@ func (s *ArduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, } // PlatformSearch FIXMEDOC -func (s *ArduinoCoreServerImpl) PlatformSearch(ctx context.Context, req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { +func (s *arduinoCoreServerImpl) PlatformSearch(ctx context.Context, req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { return PlatformSearch(req) } // Upload FIXMEDOC -func (s *ArduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.ArduinoCoreService_UploadServer) error { +func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.ArduinoCoreService_UploadServer) error { syncSend := NewSynchronizedSend(stream.Send) outStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.UploadResponse{ @@ -291,7 +292,7 @@ func (s *ArduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.Arduin } // UploadUsingProgrammer FIXMEDOC -func (s *ArduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgrammerRequest, stream rpc.ArduinoCoreService_UploadUsingProgrammerServer) error { +func (s *arduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgrammerRequest, stream rpc.ArduinoCoreService_UploadUsingProgrammerServer) error { syncSend := NewSynchronizedSend(stream.Send) outStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.UploadUsingProgrammerResponse{ @@ -317,12 +318,12 @@ func (s *ArduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgra } // SupportedUserFields FIXMEDOC -func (s *ArduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { +func (s *arduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { return SupportedUserFields(ctx, req) } // BurnBootloader FIXMEDOC -func (s *ArduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, stream rpc.ArduinoCoreService_BurnBootloaderServer) error { +func (s *arduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, stream rpc.ArduinoCoreService_BurnBootloaderServer) error { syncSend := NewSynchronizedSend(stream.Send) outStream := feedStreamTo(func(data []byte) { syncSend.Send(&rpc.BurnBootloaderResponse{ @@ -348,12 +349,12 @@ func (s *ArduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, s } // ListProgrammersAvailableForUpload FIXMEDOC -func (s *ArduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { +func (s *arduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { return ListProgrammersAvailableForUpload(ctx, req) } // LibraryDownload FIXMEDOC -func (s *ArduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, stream rpc.ArduinoCoreService_LibraryDownloadServer) error { +func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, stream rpc.ArduinoCoreService_LibraryDownloadServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := LibraryDownload( stream.Context(), req, @@ -366,7 +367,7 @@ func (s *ArduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, } // LibraryInstall FIXMEDOC -func (s *ArduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { +func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) return LibraryInstall( stream.Context(), req, @@ -376,7 +377,7 @@ func (s *ArduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s } // LibraryUpgrade FIXMEDOC -func (s *ArduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { +func (s *arduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) return LibraryUpgrade( stream.Context(), req, @@ -386,7 +387,7 @@ func (s *ArduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, s } // LibraryUninstall FIXMEDOC -func (s *ArduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallRequest, stream rpc.ArduinoCoreService_LibraryUninstallServer) error { +func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallRequest, stream rpc.ArduinoCoreService_LibraryUninstallServer) error { syncSend := NewSynchronizedSend(stream.Send) return LibraryUninstall(stream.Context(), req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUninstallResponse{TaskProgress: p}) }, @@ -394,7 +395,7 @@ func (s *ArduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques } // LibraryUpgradeAll FIXMEDOC -func (s *ArduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { +func (s *arduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { syncSend := NewSynchronizedSend(stream.Send) return LibraryUpgradeAll(req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{Progress: p}) }, @@ -403,27 +404,27 @@ func (s *ArduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequ } // LibraryResolveDependencies FIXMEDOC -func (s *ArduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { +func (s *arduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { return LibraryResolveDependencies(ctx, req) } // LibrarySearch FIXMEDOC -func (s *ArduinoCoreServerImpl) LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { +func (s *arduinoCoreServerImpl) LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { return LibrarySearch(ctx, req) } // LibraryList FIXMEDOC -func (s *ArduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { +func (s *arduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { return LibraryList(ctx, req) } // ArchiveSketch FIXMEDOC -func (s *ArduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { +func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { return ArchiveSketch(ctx, req) } // ZipLibraryInstall FIXMEDOC -func (s *ArduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequest, stream rpc.ArduinoCoreService_ZipLibraryInstallServer) error { +func (s *arduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequest, stream rpc.ArduinoCoreService_ZipLibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) return ZipLibraryInstall( stream.Context(), req, @@ -432,7 +433,7 @@ func (s *ArduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequ } // GitLibraryInstall FIXMEDOC -func (s *ArduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequest, stream rpc.ArduinoCoreService_GitLibraryInstallServer) error { +func (s *arduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequest, stream rpc.ArduinoCoreService_GitLibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) return GitLibraryInstall( stream.Context(), req, @@ -441,12 +442,12 @@ func (s *ArduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequ } // EnumerateMonitorPortSettings FIXMEDOC -func (s *ArduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { +func (s *arduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { return EnumerateMonitorPortSettings(ctx, req) } // Monitor FIXMEDOC -func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorServer) error { +func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorServer) error { syncSend := NewSynchronizedSend(stream.Send) // The configuration must be sent on the first message @@ -542,13 +543,11 @@ func (s *ArduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer } // CheckForArduinoCLIUpdates FIXMEDOC -func (s *ArduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { - resp, err := updatecheck.CheckForArduinoCLIUpdates(ctx, req) - return resp, convertErrorToRPCStatus(err) +func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { + return updatecheck.CheckForArduinoCLIUpdates(ctx, req) } // CleanDownloadCacheDirectory FIXMEDOC -func (s *ArduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { - resp, err := cache.CleanDownloadCacheDirectory(ctx, req) - return resp, convertErrorToRPCStatus(err) +func (s *arduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { + return cache.CleanDownloadCacheDirectory(ctx, req) } diff --git a/commands/service_board_listall.go b/commands/service_board_listall.go index de20a7ce174..5c9a8664ab3 100644 --- a/commands/service_board_listall.go +++ b/commands/service_board_listall.go @@ -26,8 +26,8 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// BoardListAll FIXMEDOC -func BoardListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { +// BoardListAll list all the boards provided by installed platforms. +func (s *arduinoCoreServerImpl) BoardListAll(ctx context.Context, req *rpc.BoardListAllRequest) (*rpc.BoardListAllResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/service_debug.go b/commands/service_debug.go index cb3f682219c..0f618ce7598 100644 --- a/commands/service_debug.go +++ b/commands/service_debug.go @@ -26,7 +26,7 @@ import ( // Debug returns a stream response that can be used to fetch data from the // target. The first message passed through the `Debug` request must // contain DebugRequest configuration params, not data. -func (s *ArduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) error { +func (s *arduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) error { // Grab the first message msg, err := stream.Recv() if err != nil { @@ -61,11 +61,11 @@ func (s *ArduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) } // GetDebugConfig return metadata about a debug session -func (s *ArduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { +func (s *arduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { return GetDebugConfig(ctx, req) } // IsDebugSupported checks if debugging is supported for a given configuration -func (s *ArduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { +func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { return IsDebugSupported(ctx, req) } diff --git a/commands/service_settings.go b/commands/service_settings.go index 806937fbb0c..f4675e0467e 100644 --- a/commands/service_settings.go +++ b/commands/service_settings.go @@ -28,7 +28,7 @@ import ( // SettingsGetAll returns a message with a string field containing all the settings // currently in use, marshalled in JSON format. -func (s *ArduinoCoreServerImpl) SettingsGetAll(ctx context.Context, req *rpc.SettingsGetAllRequest) (*rpc.SettingsGetAllResponse, error) { +func (s *arduinoCoreServerImpl) SettingsGetAll(ctx context.Context, req *rpc.SettingsGetAllRequest) (*rpc.SettingsGetAllResponse, error) { b, err := json.Marshal(configuration.Settings.AllSettings()) if err == nil { return &rpc.SettingsGetAllResponse{ @@ -68,7 +68,7 @@ func mapper(toMap map[string]interface{}) map[string]interface{} { } // SettingsMerge applies multiple settings values at once. -func (s *ArduinoCoreServerImpl) SettingsMerge(ctx context.Context, req *rpc.SettingsMergeRequest) (*rpc.SettingsMergeResponse, error) { +func (s *arduinoCoreServerImpl) SettingsMerge(ctx context.Context, req *rpc.SettingsMergeRequest) (*rpc.SettingsMergeResponse, error) { var toMerge map[string]interface{} if err := json.Unmarshal([]byte(req.GetJsonData()), &toMerge); err != nil { return nil, err @@ -93,7 +93,7 @@ func (s *ArduinoCoreServerImpl) SettingsMerge(ctx context.Context, req *rpc.Sett // SettingsGetValue returns a settings value given its key. If the key is not present // an error will be returned, so that we distinguish empty settings from missing // ones. -func (s *ArduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.SettingsGetValueRequest) (*rpc.SettingsGetValueResponse, error) { +func (s *arduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.SettingsGetValueRequest) (*rpc.SettingsGetValueResponse, error) { key := req.GetKey() // Check if settings key actually existing, we don't use Viper.InConfig() @@ -121,7 +121,7 @@ func (s *ArduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.S } // SettingsSetValue updates or set a value for a certain key. -func (s *ArduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.SettingsSetValueRequest) (*rpc.SettingsSetValueResponse, error) { +func (s *arduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.SettingsSetValueRequest) (*rpc.SettingsSetValueResponse, error) { key := val.GetKey() var value interface{} @@ -137,7 +137,7 @@ func (s *ArduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.S // We don't have a Read() function, that's not necessary since we only want one config file to be used // and that's picked up when the CLI is run as daemon, either using the default path or a custom one // set with the --config-file flag. -func (s *ArduinoCoreServerImpl) SettingsWrite(ctx context.Context, req *rpc.SettingsWriteRequest) (*rpc.SettingsWriteResponse, error) { +func (s *arduinoCoreServerImpl) SettingsWrite(ctx context.Context, req *rpc.SettingsWriteRequest) (*rpc.SettingsWriteResponse, error) { if err := configuration.Settings.WriteConfigAs(req.GetFilePath()); err != nil { return nil, err } @@ -145,7 +145,7 @@ func (s *ArduinoCoreServerImpl) SettingsWrite(ctx context.Context, req *rpc.Sett } // SettingsDelete removes a key from the config file -func (s *ArduinoCoreServerImpl) SettingsDelete(ctx context.Context, req *rpc.SettingsDeleteRequest) (*rpc.SettingsDeleteResponse, error) { +func (s *arduinoCoreServerImpl) SettingsDelete(ctx context.Context, req *rpc.SettingsDeleteRequest) (*rpc.SettingsDeleteResponse, error) { toDelete := req.GetKey() // Check if settings key actually existing, we don't use Viper.InConfig() diff --git a/commands/service_settings_test.go b/commands/service_settings_test.go index ff2da8dac07..226a2663990 100644 --- a/commands/service_settings_test.go +++ b/commands/service_settings_test.go @@ -27,7 +27,7 @@ import ( "github.com/stretchr/testify/require" ) -var svc = ArduinoCoreServerImpl{} +var svc = NewArduinoCoreServer("") func init() { configuration.Settings = configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index d351c8e4f5a..d21377a17c2 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -26,10 +26,10 @@ import ( // GetInstalledBoards is an helper function useful to autocomplete. // It returns a list of fqbn // it's taken from cli/board/listall.go -func GetInstalledBoards() []string { +func GetInstalledBoards(srv rpc.ArduinoCoreServiceServer) []string { inst := instance.CreateAndInit() - list, _ := commands.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ + list, _ := srv.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ Instance: inst, SearchArgs: nil, IncludeHiddenBoards: false, @@ -44,7 +44,7 @@ func GetInstalledBoards() []string { // GetInstalledProgrammers is an helper function useful to autocomplete. // It returns a list of programmers available based on the installed boards -func GetInstalledProgrammers() []string { +func GetInstalledProgrammers(srv rpc.ArduinoCoreServiceServer) []string { inst := instance.CreateAndInit() // we need the list of the available fqbn in order to get the list of the programmers @@ -53,7 +53,7 @@ func GetInstalledProgrammers() []string { SearchArgs: nil, IncludeHiddenBoards: false, } - list, _ := commands.BoardListAll(context.Background(), listAllReq) + list, _ := srv.BoardListAll(context.Background(), listAllReq) installedProgrammers := make(map[string]string) for _, board := range list.GetBoards() { diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index 01e1079d8ab..8760141b9d3 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -33,10 +33,10 @@ type Fqbn struct { } // AddToCommand adds the flags used to set fqbn to the specified Command -func (f *Fqbn) AddToCommand(cmd *cobra.Command) { +func (f *Fqbn) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&f.fqbn, "fqbn", "b", "", tr("Fully Qualified Board Name, e.g.: arduino:avr:uno")) cmd.RegisterFlagCompletionFunc("fqbn", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledBoards(), cobra.ShellCompDirectiveDefault + return GetInstalledBoards(srv), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringSliceVar(&f.boardOptions, "board-options", []string{}, tr("List of board options separated by commas. Or can be used multiple times for multiple options.")) diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index b793d8192a4..0affcfece0d 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -31,10 +31,10 @@ type Programmer struct { } // AddToCommand adds the flags used to set the programmer to the specified Command -func (p *Programmer) AddToCommand(cmd *cobra.Command) { +func (p *Programmer) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.programmer, "programmer", "P", "", tr("Programmer to use, e.g: atmel_ice")) cmd.RegisterFlagCompletionFunc("programmer", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledProgrammers(), cobra.ShellCompDirectiveDefault + return GetInstalledProgrammers(srv), cobra.ShellCompDirectiveDefault }) } diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index b7a943f8cfa..86b3c257061 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -27,7 +27,7 @@ import ( "github.com/spf13/cobra" ) -func initAttachCommand() *cobra.Command { +func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var port arguments.Port var fqbn arguments.Fqbn var programmer arguments.Programmer @@ -48,9 +48,9 @@ func initAttachCommand() *cobra.Command { runAttachCommand(sketchPath, &port, fqbn.String(), &programmer) }, } - fqbn.AddToCommand(attachCommand) + fqbn.AddToCommand(attachCommand, srv) port.AddToCommand(attachCommand) - programmer.AddToCommand(attachCommand) + programmer.AddToCommand(attachCommand, srv) return attachCommand } diff --git a/internal/cli/board/board.go b/internal/cli/board/board.go index 8cdba86743c..3c3b99a51b5 100644 --- a/internal/cli/board/board.go +++ b/internal/cli/board/board.go @@ -19,13 +19,14 @@ import ( "os" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) var tr = i18n.Tr // NewCommand created a new `board` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { boardCommand := &cobra.Command{ Use: "board", Short: tr("Arduino board commands."), @@ -34,10 +35,10 @@ func NewCommand() *cobra.Command { " " + os.Args[0] + " board list", } - boardCommand.AddCommand(initAttachCommand()) - boardCommand.AddCommand(initDetailsCommand()) - boardCommand.AddCommand(initListCommand()) - boardCommand.AddCommand(initListAllCommand()) + boardCommand.AddCommand(initAttachCommand(srv)) + boardCommand.AddCommand(initDetailsCommand(srv)) + boardCommand.AddCommand(initListCommand(srv)) + boardCommand.AddCommand(initListAllCommand(srv)) boardCommand.AddCommand(initSearchCommand()) return boardCommand diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index a91359caea4..9f7ef87626f 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -32,7 +32,7 @@ import ( "github.com/spf13/cobra" ) -func initDetailsCommand() *cobra.Command { +func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var showFullDetails bool var listProgrammers bool var fqbn arguments.Fqbn @@ -48,7 +48,7 @@ func initDetailsCommand() *cobra.Command { }, } - fqbn.AddToCommand(detailsCommand) + fqbn.AddToCommand(detailsCommand, srv) detailsCommand.Flags().BoolVarP(&showFullDetails, "full", "f", false, tr("Show full board details")) detailsCommand.Flags().BoolVarP(&listProgrammers, "list-programmers", "", false, tr("Show list of available programmers")) detailsCommand.MarkFlagRequired("fqbn") diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 96fb69c5029..0e4e9a4cc11 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -35,7 +35,7 @@ import ( "github.com/spf13/cobra" ) -func initListCommand() *cobra.Command { +func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var timeoutArg arguments.DiscoveryTimeout var watch bool var fqbn arguments.Fqbn @@ -51,7 +51,7 @@ func initListCommand() *cobra.Command { } timeoutArg.AddToCommand(listCommand) - fqbn.AddToCommand(listCommand) + fqbn.AddToCommand(listCommand, srv) listCommand.Flags().BoolVarP(&watch, "watch", "w", false, tr("Command keeps running and prints list of connected boards whenever there is a change.")) return listCommand } diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index 82c5c7a0d2e..fdf39fe0a98 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -21,7 +21,6 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -33,7 +32,7 @@ import ( var showHiddenBoard bool -func initListAllCommand() *cobra.Command { +func initListAllCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var listAllCommand = &cobra.Command{ Use: fmt.Sprintf("listall [%s]", tr("boardname")), Short: tr("List all known boards and their corresponding FQBN."), @@ -43,19 +42,21 @@ for a specific board if you specify the board name`), " " + os.Args[0] + " board listall\n" + " " + os.Args[0] + " board listall zero", Args: cobra.ArbitraryArgs, - Run: runListAllCommand, + Run: func(cmd *cobra.Command, args []string) { + runListAllCommand(args, srv) + }, } listAllCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, tr("Show also boards marked as 'hidden' in the platform")) return listAllCommand } // runListAllCommand list all installed boards -func runListAllCommand(cmd *cobra.Command, args []string) { +func runListAllCommand(args []string, srv rpc.ArduinoCoreServiceServer) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli board listall`") - list, err := commands.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ + list, err := srv.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ Instance: inst, SearchArgs: args, IncludeHiddenBoards: showHiddenBoard, diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 2de1a5f132b..1a09a1154c0 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -42,7 +42,7 @@ var ( ) // NewCommand created a new `burn-bootloader` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { burnBootloaderCommand := &cobra.Command{ Use: "burn-bootloader", Short: tr("Upload the bootloader."), @@ -52,9 +52,9 @@ func NewCommand() *cobra.Command { Run: runBootloaderCommand, } - fqbn.AddToCommand(burnBootloaderCommand) + fqbn.AddToCommand(burnBootloaderCommand, srv) port.AddToCommand(burnBootloaderCommand) - programmer.AddToCommand(burnBootloaderCommand) + programmer.AddToCommand(burnBootloaderCommand, srv) burnBootloaderCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) burnBootloaderCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, tr("Turns on verbose mode.")) burnBootloaderCommand.Flags().BoolVar(&dryRun, "dry-run", false, tr("Do not perform the actual upload, just log out actions")) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index da265d46f59..2e633d236fd 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -64,13 +64,13 @@ var ( ) // NewCommand creates a new ArduinoCli command root -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cobra.AddTemplateFunc("tr", i18n.Tr) var updaterMessageChan chan *semver.Version // ArduinoCli is the root command - arduinoCli := &cobra.Command{ + cmd := &cobra.Command{ Use: "arduino-cli", Short: tr("Arduino CLI."), Long: tr("Arduino Command Line Interface (arduino-cli)."), @@ -112,35 +112,27 @@ func NewCommand() *cobra.Command { }, } - arduinoCli.SetUsageTemplate(getUsageTemplate()) + cmd.SetUsageTemplate(getUsageTemplate()) - createCliCommandTree(arduinoCli) - - return arduinoCli -} - -// this is here only for testing -func createCliCommandTree(cmd *cobra.Command) { - cmd.AddCommand(board.NewCommand()) + cmd.AddCommand(board.NewCommand(srv)) cmd.AddCommand(cache.NewCommand()) - cmd.AddCommand(compile.NewCommand()) + cmd.AddCommand(compile.NewCommand(srv)) cmd.AddCommand(completion.NewCommand()) cmd.AddCommand(config.NewCommand()) cmd.AddCommand(core.NewCommand()) cmd.AddCommand(daemon.NewCommand()) cmd.AddCommand(generatedocs.NewCommand()) - cmd.AddCommand(lib.NewCommand()) - cmd.AddCommand(monitor.NewCommand()) + cmd.AddCommand(lib.NewCommand(srv)) + cmd.AddCommand(monitor.NewCommand(srv)) cmd.AddCommand(outdated.NewCommand()) cmd.AddCommand(sketch.NewCommand()) cmd.AddCommand(update.NewCommand()) cmd.AddCommand(upgrade.NewCommand()) - cmd.AddCommand(upload.NewCommand()) - cmd.AddCommand(debug.NewCommand()) - cmd.AddCommand(burnbootloader.NewCommand()) + cmd.AddCommand(upload.NewCommand(srv)) + cmd.AddCommand(debug.NewCommand(srv)) + cmd.AddCommand(burnbootloader.NewCommand(srv)) cmd.AddCommand(version.NewCommand()) cmd.AddCommand(feedback.NewCommand()) - cmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, tr("Print the logs on the standard output.")) cmd.Flag("verbose").Hidden = true cmd.PersistentFlags().BoolVar(&verbose, "log", false, tr("Print the logs on the standard output.")) @@ -166,6 +158,8 @@ func createCliCommandTree(cmd *cobra.Command) { cmd.PersistentFlags().StringSlice("additional-urls", []string{}, tr("Comma-separated list of additional URLs for the Boards Manager.")) cmd.PersistentFlags().Bool("no-color", false, "Disable colored output.") configuration.BindFlags(cmd, configuration.Settings) + + return cmd } // convert the string passed to the `--log-level` option to the corresponding diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index f2b36b41e75..82b6d49faf6 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -77,7 +77,7 @@ var ( ) // NewCommand created a new `compile` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { compileCommand := &cobra.Command{ Use: "compile", Short: tr("Compiles Arduino sketches."), @@ -91,7 +91,7 @@ func NewCommand() *cobra.Command { Run: runCompileCommand, } - fqbnArg.AddToCommand(compileCommand) + fqbnArg.AddToCommand(compileCommand, srv) profileArg.AddToCommand(compileCommand) compileCommand.Flags().BoolVar(&dumpProfile, "dump-profile", false, tr("Create and print a profile configuration from the build.")) showPropertiesArg.AddToCommand(compileCommand) @@ -122,7 +122,7 @@ func NewCommand() *cobra.Command { compileCommand.Flags().StringSliceVar(&libraries, "libraries", []string{}, tr("Path to a collection of libraries. Can be used multiple times or entries can be comma separated.")) compileCommand.Flags().BoolVar(&optimizeForDebug, "optimize-for-debug", false, tr("Optional, optimize compile output for debugging, rather than for release.")) - programmer.AddToCommand(compileCommand) + programmer.AddToCommand(compileCommand, srv) compileCommand.Flags().BoolVar(&compilationDatabaseOnly, "only-compilation-database", false, tr("Just produce the compilation database, without actually compiling. All build commands are skipped except pre* hooks.")) compileCommand.Flags().BoolVar(&clean, "clean", false, tr("Optional, cleanup the build folder and do not use any cached build.")) compileCommand.Flags().BoolVarP(&exportBinaries, "export-binaries", "e", false, tr("If set built binaries will be exported to the sketch folder.")) diff --git a/internal/cli/config/delete.go b/internal/cli/config/delete.go index 2102a2581d7..e5889a12952 100644 --- a/internal/cli/config/delete.go +++ b/internal/cli/config/delete.go @@ -47,7 +47,7 @@ func runDeleteCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli config delete`") toDelete := args[0] - svc := commands.ArduinoCoreServerImpl{} + svc := commands.NewArduinoCoreServer("") _, err := svc.SettingsDelete(cmd.Context(), &rpc.SettingsDeleteRequest{Key: toDelete}) if err != nil { feedback.Fatal(tr("Cannot delete the key %[1]s: %[2]v", toDelete, err), feedback.ErrGeneric) diff --git a/internal/cli/config/get.go b/internal/cli/config/get.go index 74fcd93fa72..68b8afd0d4a 100644 --- a/internal/cli/config/get.go +++ b/internal/cli/config/get.go @@ -50,7 +50,7 @@ func initGetCommand() *cobra.Command { func runGetCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli config get`") - svc := commands.ArduinoCoreServerImpl{} + svc := commands.NewArduinoCoreServer("") for _, toGet := range args { resp, err := svc.SettingsGetValue(cmd.Context(), &rpc.SettingsGetValueRequest{Key: toGet}) if err != nil { diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index a96f5a3ffff..2422a03c2c2 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -102,9 +102,8 @@ func runDaemonCommand(cmd *cobra.Command, args []string) { configuration.Settings.Set("network.user_agent_ext", "daemon") // register the commands service - srv_commands.RegisterArduinoCoreServiceServer(s, &commands.ArduinoCoreServerImpl{ - VersionString: version.VersionInfo.VersionString, - }) + srv_commands.RegisterArduinoCoreServiceServer(s, + commands.NewArduinoCoreServer(version.VersionInfo.VersionString)) if !daemonize { // When parent process ends terminate also the daemon diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 631b9046595..a4dbe0aba34 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -38,7 +38,7 @@ import ( var tr = i18n.Tr // NewCommand created a new `upload` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var ( fqbnArg arguments.Fqbn portArgs arguments.Port @@ -60,10 +60,10 @@ func NewCommand() *cobra.Command { }, } - debugCommand.AddCommand(newDebugCheckCommand()) - fqbnArg.AddToCommand(debugCommand) + debugCommand.AddCommand(newDebugCheckCommand(srv)) + fqbnArg.AddToCommand(debugCommand, srv) portArgs.AddToCommand(debugCommand) - programmer.AddToCommand(debugCommand) + programmer.AddToCommand(debugCommand, srv) profileArg.AddToCommand(debugCommand) debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries for debug.")) diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index a4bfafac879..085c47c2b55 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -29,7 +29,7 @@ import ( "github.com/spf13/cobra" ) -func newDebugCheckCommand() *cobra.Command { +func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var ( fqbnArg arguments.Fqbn portArgs arguments.Port @@ -44,9 +44,9 @@ func newDebugCheckCommand() *cobra.Command { runDebugCheckCommand(&portArgs, &fqbnArg, interpreter, &programmer) }, } - fqbnArg.AddToCommand(debugCheckCommand) + fqbnArg.AddToCommand(debugCheckCommand, srv) portArgs.AddToCommand(debugCheckCommand) - programmer.AddToCommand(debugCheckCommand) + programmer.AddToCommand(debugCheckCommand, srv) debugCheckCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) return debugCheckCommand } diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index beca10871a5..4a411d26ff6 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -38,7 +38,7 @@ var ( fqbn arguments.Fqbn ) -func initExamplesCommand() *cobra.Command { +func initExamplesCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { examplesCommand := &cobra.Command{ Use: fmt.Sprintf("examples [%s]", tr("LIBRARY_NAME")), Short: tr("Shows the list of the examples for libraries."), @@ -50,7 +50,7 @@ func initExamplesCommand() *cobra.Command { return arguments.GetInstalledLibraries(), cobra.ShellCompDirectiveDefault }, } - fqbn.AddToCommand(examplesCommand) + fqbn.AddToCommand(examplesCommand, srv) return examplesCommand } diff --git a/internal/cli/lib/lib.go b/internal/cli/lib/lib.go index edba456bde9..59cd2020650 100644 --- a/internal/cli/lib/lib.go +++ b/internal/cli/lib/lib.go @@ -19,13 +19,14 @@ import ( "os" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) var tr = i18n.Tr // NewCommand created a new `lib` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { libCommand := &cobra.Command{ Use: "lib", Short: tr("Arduino commands about libraries."), @@ -37,8 +38,8 @@ func NewCommand() *cobra.Command { libCommand.AddCommand(initDownloadCommand()) libCommand.AddCommand(initInstallCommand()) - libCommand.AddCommand(initListCommand()) - libCommand.AddCommand(initExamplesCommand()) + libCommand.AddCommand(initListCommand(srv)) + libCommand.AddCommand(initExamplesCommand(srv)) libCommand.AddCommand(initSearchCommand()) libCommand.AddCommand(initUninstallCommand()) libCommand.AddCommand(initUpgradeCommand()) diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index 1c0ba7dd6c1..a034267db46 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -32,7 +32,7 @@ import ( "github.com/spf13/cobra" ) -func initListCommand() *cobra.Command { +func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var all bool var updatable bool listCommand := &cobra.Command{ @@ -52,7 +52,7 @@ not listed, they can be listed by adding the --all flag.`), }, } listCommand.Flags().BoolVar(&all, "all", false, tr("Include built-in libraries (from platforms and IDE) in listing.")) - fqbn.AddToCommand(listCommand) + fqbn.AddToCommand(listCommand, srv) listCommand.Flags().BoolVar(&updatable, "updatable", false, tr("List updatable libraries.")) return listCommand } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 1309210cad6..9442a1b8736 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -43,7 +43,7 @@ import ( var tr = i18n.Tr // NewCommand created a new `monitor` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var ( portArgs arguments.Port fqbnArg arguments.Fqbn @@ -76,7 +76,7 @@ func NewCommand() *cobra.Command { monitorCommand.Flags().StringSliceVarP(&configs, "config", "c", []string{}, tr("Configure communication port settings. The format is <ID>=<value>[,<ID>=<value>]...")) monitorCommand.Flags().BoolVarP(&quiet, "quiet", "q", false, tr("Run in silent mode, show only monitor input and output.")) monitorCommand.Flags().BoolVar(×tamp, "timestamp", false, tr("Timestamp each incoming line.")) - fqbnArg.AddToCommand(monitorCommand) + fqbnArg.AddToCommand(monitorCommand, srv) return monitorCommand } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 8641d746c49..28f8d77ea83 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -49,7 +49,7 @@ var ( ) // NewCommand created a new `upload` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { uploadFields := map[string]string{} uploadCommand := &cobra.Command{ Use: "upload", @@ -67,14 +67,14 @@ func NewCommand() *cobra.Command { }, } - fqbnArg.AddToCommand(uploadCommand) + fqbnArg.AddToCommand(uploadCommand, srv) portArgs.AddToCommand(uploadCommand) profileArg.AddToCommand(uploadCommand) uploadCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries to upload.")) uploadCommand.Flags().StringVarP(&importFile, "input-file", "i", "", tr("Binary file to upload.")) uploadCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) uploadCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, tr("Optional, turns on verbose mode.")) - programmer.AddToCommand(uploadCommand) + programmer.AddToCommand(uploadCommand, srv) uploadCommand.Flags().BoolVar(&dryRun, "dry-run", false, tr("Do not perform the actual upload, just log out actions")) uploadCommand.Flags().MarkHidden("dry-run") arguments.AddKeyValuePFlag(uploadCommand, &uploadFields, "upload-field", "F", nil, tr("Set a value for a field required to upload.")) diff --git a/internal/docsgen/main.go b/internal/docsgen/main.go index 3448c9f5f62..eb8903507e1 100644 --- a/internal/docsgen/main.go +++ b/internal/docsgen/main.go @@ -32,7 +32,7 @@ func main() { os.MkdirAll(os.Args[1], 0755) // Create the output folder if it doesn't already exist configuration.Settings = configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) - cli := cli.NewCommand() + cli := cli.NewCommand(nil) cli.DisableAutoGenTag = true // Disable addition of auto-generated date stamp err := doc.GenMarkdownTree(cli, os.Args[1]) if err != nil { diff --git a/main.go b/main.go index db1baad2bee..8587037fbf1 100644 --- a/main.go +++ b/main.go @@ -18,16 +18,21 @@ package main import ( "os" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/version" ) func main() { configuration.Settings = configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) i18n.Init(configuration.Settings.GetString("locale")) - arduinoCmd := cli.NewCommand() + + srv := commands.NewArduinoCoreServer(version.VersionInfo.VersionString) + + arduinoCmd := cli.NewCommand(srv) if err := arduinoCmd.Execute(); err != nil { feedback.FatalError(err, feedback.ErrGeneric) } From 53f03e5754ce7d438e525da55fa7b9cacc2912ae Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 16:58:19 +0100 Subject: [PATCH 143/361] Inlining methods in ArduinoCoreServiceImpl (part 2: BoardDetails) --- commands/service.go | 5 ----- commands/service_board_details.go | 2 +- internal/cli/arguments/programmer.go | 5 ++--- internal/cli/board/details.go | 7 +++---- internal/cli/burnbootloader/burnbootloader.go | 10 ++++++---- internal/cli/compile/compile.go | 8 +++++--- internal/cli/debug/debug.go | 6 +++--- internal/cli/debug/debug_check.go | 6 +++--- internal/cli/upload/upload.go | 6 +++--- 9 files changed, 26 insertions(+), 29 deletions(-) diff --git a/commands/service.go b/commands/service.go index 256cba0d027..b96bbf35635 100644 --- a/commands/service.go +++ b/commands/service.go @@ -44,11 +44,6 @@ type arduinoCoreServerImpl struct { versionString string } -// BoardDetails FIXMEDOC -func (s *arduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { - return BoardDetails(ctx, req) -} - // BoardList FIXMEDOC func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { ports, _, err := BoardList(req) diff --git a/commands/service_board_details.go b/commands/service_board_details.go index d6637416688..5f042452582 100644 --- a/commands/service_board_details.go +++ b/commands/service_board_details.go @@ -27,7 +27,7 @@ import ( // BoardDetails returns all details for a board including tools and HW identifiers. // This command basically gather al the information and translates it into the required grpc struct properties -func BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { +func (s *arduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.BoardDetailsRequest) (*rpc.BoardDetailsResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index 0affcfece0d..c76271b0ede 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -18,7 +18,6 @@ package arguments import ( "context" - "github.com/arduino/arduino-cli/commands" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) @@ -40,14 +39,14 @@ func (p *Programmer) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreService // String returns the programmer specified by the user, or the default programmer // for the given board if defined. -func (p *Programmer) String(inst *rpc.Instance, fqbn string) string { +func (p *Programmer) String(inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer, fqbn string) string { if p.programmer != "" { return p.programmer } if inst == nil || fqbn == "" { return "" } - details, err := commands.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ + details, err := srv.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ Instance: inst, Fqbn: fqbn, }) diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 9f7ef87626f..296078a9393 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -20,7 +20,6 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -44,7 +43,7 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " board details -b arduino:avr:nano", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runDetailsCommand(fqbn.String(), showFullDetails, listProgrammers, showProperties) + runDetailsCommand(srv, fqbn.String(), showFullDetails, listProgrammers, showProperties) }, } @@ -56,7 +55,7 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return detailsCommand } -func runDetailsCommand(fqbn string, showFullDetails, listProgrammers bool, showProperties arguments.ShowProperties) { +func runDetailsCommand(srv rpc.ArduinoCoreServiceServer, fqbn string, showFullDetails, listProgrammers bool, showProperties arguments.ShowProperties) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli board details`") @@ -65,7 +64,7 @@ func runDetailsCommand(fqbn string, showFullDetails, listProgrammers bool, showP if err != nil { feedback.Fatal(err.Error(), feedback.ErrBadArgument) } - res, err := commands.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ + res, err := srv.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ Instance: inst, Fqbn: fqbn, DoNotExpandBuildProperties: showPropertiesMode == arguments.ShowPropertiesUnexpanded, diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 1a09a1154c0..999c2c137b8 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -48,8 +48,10 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Short: tr("Upload the bootloader."), Long: tr("Upload the bootloader on the board using an external programmer."), Example: " " + os.Args[0] + " burn-bootloader -b arduino:avr:uno -P atmel_ice", - Args: cobra.MaximumNArgs(1), - Run: runBootloaderCommand, + Args: cobra.NoArgs, + Run: func(cmd *cobra.Command, args []string) { + runBootloaderCommand(srv) + }, } fqbn.AddToCommand(burnBootloaderCommand, srv) @@ -63,7 +65,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return burnBootloaderCommand } -func runBootloaderCommand(command *cobra.Command, args []string) { +func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { instance := instance.CreateAndInit() logrus.Info("Executing `arduino-cli burn-bootloader`") @@ -81,7 +83,7 @@ func runBootloaderCommand(command *cobra.Command, args []string) { Port: discoveryPort, Verbose: verbose, Verify: verify, - Programmer: programmer.String(instance, fqbn.String()), + Programmer: programmer.String(instance, srv, fqbn.String()), DryRun: dryRun, }, stdOut, stdErr); err != nil { errcode := feedback.ErrGeneric diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 82b6d49faf6..b03ecda1e02 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -88,7 +88,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + ` compile -b arduino:avr:uno --build-property "build.extra_flags=-DPIN=2 \"-DMY_DEFINE=\"hello world\"\"" /home/user/Arduino/MySketch` + "\n" + " " + os.Args[0] + ` compile -b arduino:avr:uno --build-property build.extra_flags=-DPIN=2 --build-property "compiler.cpp.extra_flags=\"-DSSID=\"hello world\"\"" /home/user/Arduino/MySketch` + "\n", Args: cobra.MaximumNArgs(1), - Run: runCompileCommand, + Run: func(cmd *cobra.Command, args []string) { + runCompileCommand(cmd, args, srv) + }, } fqbnArg.AddToCommand(compileCommand, srv) @@ -138,7 +140,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return compileCommand } -func runCompileCommand(cmd *cobra.Command, args []string) { +func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli compile`") if profileArg.Get() != "" { @@ -268,7 +270,7 @@ func runCompileCommand(cmd *cobra.Command, args []string) { prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { - prog = programmer.String(inst, fqbn) + prog = programmer.String(inst, srv, fqbn) } if prog == "" { prog = sk.GetDefaultProgrammer() diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index a4dbe0aba34..b4a04bd0c72 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -56,7 +56,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " debug -b arduino:samd:mkr1000 -P atmel_ice /home/user/Arduino/MySketch", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDebugCommand(args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg) + runDebugCommand(srv, args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg) }, } @@ -72,7 +72,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return debugCommand } -func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, +func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool, profileArg *arguments.Profile) { logrus.Info("Executing `arduino-cli debug`") @@ -105,7 +105,7 @@ func runDebugCommand(args []string, portArgs *arguments.Port, fqbnArg *arguments prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { - prog = programmer.String(inst, fqbn) + prog = programmer.String(inst, srv, fqbn) } if prog == "" { prog = sk.GetDefaultProgrammer() diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 085c47c2b55..1cff21c02a3 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -41,7 +41,7 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Short: tr("Check if the given board/programmer combination supports debugging."), Example: " " + os.Args[0] + " debug check -b arduino:samd:mkr1000 -P atmel_ice", Run: func(cmd *cobra.Command, args []string) { - runDebugCheckCommand(&portArgs, &fqbnArg, interpreter, &programmer) + runDebugCheckCommand(srv, &portArgs, &fqbnArg, interpreter, &programmer) }, } fqbnArg.AddToCommand(debugCheckCommand, srv) @@ -51,7 +51,7 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return debugCheckCommand } -func runDebugCheckCommand(portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { +func runDebugCheckCommand(srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { instance := instance.CreateAndInit() logrus.Info("Executing `arduino-cli debug`") @@ -65,7 +65,7 @@ func runDebugCheckCommand(portArgs *arguments.Port, fqbnArg *arguments.Fqbn, int Fqbn: fqbn, Port: port, Interpreter: interpreter, - Programmer: programmerArg.String(instance, fqbn), + Programmer: programmerArg.String(instance, srv, fqbn), }) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 28f8d77ea83..d3609937875 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -63,7 +63,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { arguments.CheckFlagsConflicts(cmd, "input-file", "input-dir") }, Run: func(cmd *cobra.Command, args []string) { - runUploadCommand(args, uploadFields) + runUploadCommand(srv, args, uploadFields) }, } @@ -81,7 +81,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return uploadCommand } -func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { +func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFieldsArgs map[string]string) { logrus.Info("Executing `arduino-cli upload`") path := "" @@ -176,7 +176,7 @@ func runUploadCommand(args []string, uploadFieldsArgs map[string]string) { prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { - prog = programmer.String(inst, fqbn) + prog = programmer.String(inst, srv, fqbn) } if prog == "" { prog = sketch.GetDefaultProgrammer() From 0df21493643bac764ba98a1919b88d06d8a331db Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 13 Mar 2024 17:17:51 +0100 Subject: [PATCH 144/361] Inlining methods in ArduinoCoreServiceImpl (part 3: BoardList) This patch inlines BoardList and expands the gRPC API to provide the same output given to the cli. --- commands/service.go | 11 -- commands/service_board_list.go | 20 ++- internal/cli/arguments/completion.go | 16 +- internal/cli/arguments/fqbn.go | 4 +- internal/cli/arguments/port.go | 12 +- internal/cli/board/attach.go | 2 +- internal/cli/board/list.go | 8 +- internal/cli/burnbootloader/burnbootloader.go | 2 +- internal/cli/compile/compile.go | 4 +- internal/cli/debug/debug.go | 4 +- internal/cli/debug/debug_check.go | 2 +- internal/cli/monitor/monitor.go | 7 +- internal/cli/upload/upload.go | 4 +- rpc/cc/arduino/cli/commands/v1/board.pb.go | 155 ++++++++++-------- rpc/cc/arduino/cli/commands/v1/board.proto | 2 + 15 files changed, 129 insertions(+), 124 deletions(-) diff --git a/commands/service.go b/commands/service.go index b96bbf35635..387beb891f1 100644 --- a/commands/service.go +++ b/commands/service.go @@ -44,17 +44,6 @@ type arduinoCoreServerImpl struct { versionString string } -// BoardList FIXMEDOC -func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { - ports, _, err := BoardList(req) - if err != nil { - return nil, err - } - return &rpc.BoardListResponse{ - Ports: ports, - }, nil -} - // BoardSearch exposes to the gRPC interface the board search command func (s *arduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { return BoardSearch(ctx, req) diff --git a/commands/service_board_list.go b/commands/service_board_list.go index 5607d932bb9..7fe91c58472 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -29,6 +29,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/httpclient" @@ -204,10 +205,10 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL // BoardList returns a list of boards found by the loaded discoveries. // In case of errors partial results from discoveries that didn't fail // are returned. -func BoardList(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStartErrors []error, e error) { +func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return nil, nil, err + return nil, err } defer release() @@ -216,19 +217,19 @@ func BoardList(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStart var err error fqbnFilter, err = cores.ParseFQBN(f) if err != nil { - return nil, nil, &cmderrors.InvalidFQBNError{Cause: err} + return nil, &cmderrors.InvalidFQBNError{Cause: err} } } dm := pme.DiscoveryManager() - discoveryStartErrors = dm.Start() + warnings := f.Map(dm.Start(), (error).Error) time.Sleep(time.Duration(req.GetTimeout()) * time.Millisecond) - retVal := []*rpc.DetectedPort{} + ports := []*rpc.DetectedPort{} for _, port := range dm.List() { boards, err := identify(pme, port) if err != nil { - return nil, discoveryStartErrors, err + warnings = append(warnings, err.Error()) } // boards slice can be empty at this point if neither the cores nor the @@ -239,10 +240,13 @@ func BoardList(req *rpc.BoardListRequest) (r []*rpc.DetectedPort, discoveryStart } if fqbnFilter == nil || hasMatchingBoard(b, fqbnFilter) { - retVal = append(retVal, b) + ports = append(ports, b) } } - return retVal, discoveryStartErrors, nil + return &rpc.BoardListResponse{ + Ports: ports, + Warnings: warnings, + }, nil } func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool { diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index d21377a17c2..7291526e4d5 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -19,6 +19,7 @@ import ( "context" "github.com/arduino/arduino-cli/commands" + f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -164,16 +165,11 @@ func GetInstallableLibs() []string { // GetAvailablePorts is an helper function useful to autocomplete. // It returns a list of upload port of the boards which are currently connected. // It will not suggests network ports because the timeout is not set. -func GetAvailablePorts() []*rpc.Port { +func GetAvailablePorts(srv rpc.ArduinoCoreServiceServer) []*rpc.Port { + // Get the port list inst := instance.CreateAndInit() + list, _ := srv.BoardList(context.Background(), &rpc.BoardListRequest{Instance: inst}) - list, _, _ := commands.BoardList(&rpc.BoardListRequest{ - Instance: inst, - }) - var res []*rpc.Port - // transform the data structure for the completion - for _, i := range list { - res = append(res, i.GetPort()) - } - return res + // Transform the data structure for the completion (DetectedPort -> Port) + return f.Map(list.GetPorts(), (*rpc.DetectedPort).GetPort) } diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index 8760141b9d3..b3fd21d0c25 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -69,7 +69,7 @@ func (f *Fqbn) Set(fqbn string) { // - the port is not found, in this case nil is returned // - the FQBN autodetection fail, in this case the function prints an error and // terminates the execution -func CalculateFQBNAndPort(portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, defaultFQBN, defaultAddress, defaultProtocol string) (string, *rpc.Port) { +func CalculateFQBNAndPort(portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultFQBN, defaultAddress, defaultProtocol string) (string, *rpc.Port) { fqbn := fqbnArg.String() if fqbn == "" { fqbn = defaultFQBN @@ -78,7 +78,7 @@ func CalculateFQBNAndPort(portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, if portArgs == nil || portArgs.address == "" { feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } - fqbn, port := portArgs.DetectFQBN(instance) + fqbn, port := portArgs.DetectFQBN(instance, srv) if fqbn == "" { feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index e696be1e3cb..86f461da93e 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -39,14 +39,14 @@ type Port struct { } // AddToCommand adds the flags used to set port and protocol to the specified Command -func (p *Port) AddToCommand(cmd *cobra.Command) { +func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.address, "port", "p", "", tr("Upload port address, e.g.: COM3 or /dev/ttyACM2")) cmd.RegisterFlagCompletionFunc("port", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(srv), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringVarP(&p.protocol, "protocol", "l", "", tr("Upload port protocol, e.g: serial")) cmd.RegisterFlagCompletionFunc("protocol", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(srv), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault }) p.timeout.AddToCommand(cmd) } @@ -129,15 +129,15 @@ func (p *Port) GetSearchTimeout() time.Duration { // DetectFQBN tries to identify the board connected to the port and returns the // discovered Port object together with the FQBN. If the port does not match // exactly 1 board, -func (p *Port) DetectFQBN(inst *rpc.Instance) (string, *rpc.Port) { - detectedPorts, _, err := commands.BoardList(&rpc.BoardListRequest{ +func (p *Port) DetectFQBN(inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) (string, *rpc.Port) { + detectedPorts, err := srv.BoardList(context.Background(), &rpc.BoardListRequest{ Instance: inst, Timeout: p.timeout.Get().Milliseconds(), }) if err != nil { feedback.Fatal(tr("Error during FQBN detection: %v", err), feedback.ErrGeneric) } - for _, detectedPort := range detectedPorts { + for _, detectedPort := range detectedPorts.GetPorts() { port := detectedPort.GetPort() if p.address != port.GetAddress() { continue diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index 86b3c257061..d64326f18e2 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -49,7 +49,7 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { }, } fqbn.AddToCommand(attachCommand, srv) - port.AddToCommand(attachCommand) + port.AddToCommand(attachCommand, srv) programmer.AddToCommand(attachCommand, srv) return attachCommand diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 0e4e9a4cc11..3236813b0ba 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -46,7 +46,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " board list --discovery-timeout 10s", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runListCommand(watch, timeoutArg.Get().Milliseconds(), fqbn.String()) + runListCommand(srv, watch, timeoutArg.Get().Milliseconds(), fqbn.String()) }, } @@ -57,7 +57,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } // runListCommand detects and lists the connected arduino boards -func runListCommand(watch bool, timeout int64, fqbn string) { +func runListCommand(srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, fqbn string) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli board list`") @@ -67,11 +67,13 @@ func runListCommand(watch bool, timeout int64, fqbn string) { return } - ports, discoveryErrors, err := commands.BoardList(&rpc.BoardListRequest{ + list, err := srv.BoardList(context.Background(), &rpc.BoardListRequest{ Instance: inst, Timeout: timeout, Fqbn: fqbn, }) + ports := list.GetPorts() + discoveryErrors := list.GetWarnings() var invalidFQBNErr *cmderrors.InvalidFQBNError if errors.As(err, &invalidFQBNErr) { feedback.Fatal(tr(err.Error()), feedback.ErrBadArgument) diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 999c2c137b8..6060b19f131 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -55,7 +55,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } fqbn.AddToCommand(burnBootloaderCommand, srv) - port.AddToCommand(burnBootloaderCommand) + port.AddToCommand(burnBootloaderCommand, srv) programmer.AddToCommand(burnBootloaderCommand, srv) burnBootloaderCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) burnBootloaderCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, tr("Turns on verbose mode.")) diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index b03ecda1e02..52fb6d1b60b 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -117,7 +117,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { compileCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, tr("Optional, turns on verbose mode.")) compileCommand.Flags().BoolVar(&quiet, "quiet", false, tr("Optional, suppresses almost every output.")) compileCommand.Flags().BoolVarP(&uploadAfterCompile, "upload", "u", false, tr("Upload the binary after the compilation.")) - portArgs.AddToCommand(compileCommand) + portArgs.AddToCommand(compileCommand, srv) compileCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) compileCommand.Flags().StringSliceVar(&library, "library", []string{}, tr("Path to a single library’s root folder. Can be used multiple times or entries can be comma separated.")) @@ -177,7 +177,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer fqbnArg.Set(profile.GetFqbn()) } - fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) if keysKeychain != "" || signKey != "" || encryptKey != "" { arguments.CheckFlagsMandatory(cmd, "keys-keychain", "sign-key", "encrypt-key") diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index b4a04bd0c72..576f8cc6a20 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -62,7 +62,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { debugCommand.AddCommand(newDebugCheckCommand(srv)) fqbnArg.AddToCommand(debugCommand, srv) - portArgs.AddToCommand(debugCommand) + portArgs.AddToCommand(debugCommand, srv) programmer.AddToCommand(debugCommand, srv) profileArg.AddToCommand(debugCommand) debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) @@ -101,7 +101,7 @@ func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs * fqbnArg.Set(profile.GetFqbn()) } - fqbn, port := arguments.CalculateFQBNAndPort(portArgs, fqbnArg, inst, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + fqbn, port := arguments.CalculateFQBNAndPort(portArgs, fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 1cff21c02a3..111bc40215e 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -45,7 +45,7 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { }, } fqbnArg.AddToCommand(debugCheckCommand, srv) - portArgs.AddToCommand(debugCheckCommand) + portArgs.AddToCommand(debugCheckCommand, srv) programmer.AddToCommand(debugCheckCommand, srv) debugCheckCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) return debugCheckCommand diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 9442a1b8736..342df226ef5 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -66,10 +66,10 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { if len(args) > 0 { sketchPath = args[0] } - runMonitorCmd(&portArgs, &fqbnArg, &profileArg, sketchPath, configs, describe, timestamp, quiet, raw) + runMonitorCmd(srv, &portArgs, &fqbnArg, &profileArg, sketchPath, configs, describe, timestamp, quiet, raw) }, } - portArgs.AddToCommand(monitorCommand) + portArgs.AddToCommand(monitorCommand, srv) profileArg.AddToCommand(monitorCommand) monitorCommand.Flags().BoolVar(&raw, "raw", false, tr("Set terminal in raw mode (unbuffered).")) monitorCommand.Flags().BoolVar(&describe, "describe", false, tr("Show all the settings of the communication port.")) @@ -81,6 +81,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } func runMonitorCmd( + srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, profileArg *arguments.Profile, sketchPathArg string, configs []string, describe, timestamp, quiet, raw bool, ) { @@ -136,7 +137,7 @@ func runMonitorCmd( case sketch.GetDefaultFqbn() != "": fqbn = sketch.GetDefaultFqbn() default: - fqbn, _ = portArgs.DetectFQBN(inst) + fqbn, _ = portArgs.DetectFQBN(inst, srv) } portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(inst, defaultPort, defaultProtocol) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index d3609937875..125b25d317d 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -68,7 +68,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } fqbnArg.AddToCommand(uploadCommand, srv) - portArgs.AddToCommand(uploadCommand) + portArgs.AddToCommand(uploadCommand, srv) profileArg.AddToCommand(uploadCommand) uploadCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries to upload.")) uploadCommand.Flags().StringVarP(&importFile, "input-file", "i", "", tr("Binary file to upload.")) @@ -113,7 +113,7 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie defaultFQBN := sketch.GetDefaultFqbn() defaultAddress := sketch.GetDefaultPort() defaultProtocol := sketch.GetDefaultProtocol() - fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, defaultFQBN, defaultAddress, defaultProtocol) + fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, srv, defaultFQBN, defaultAddress, defaultProtocol) userFieldRes, err := commands.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ Instance: inst, diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 479446d50e6..65e778c1ba6 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -935,6 +935,8 @@ type BoardListResponse struct { // List of ports and the boards detected on those ports. Ports []*DetectedPort `protobuf:"bytes,1,rep,name=ports,proto3" json:"ports,omitempty"` + // Warning messages or errors coming from the discoveries. + Warnings []string `protobuf:"bytes,2,rep,name=warnings,proto3" json:"warnings,omitempty"` } func (x *BoardListResponse) Reset() { @@ -976,6 +978,13 @@ func (x *BoardListResponse) GetPorts() []*DetectedPort { return nil } +func (x *BoardListResponse) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + type DetectedPort struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1606,84 +1615,86 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x53, 0x0a, 0x11, 0x42, 0x6f, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x6f, 0x0a, 0x11, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x22, - 0x98, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, - 0x12, 0x52, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, - 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, + 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0c, + 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x52, 0x0a, 0x0f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, + 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, + 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, + 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, + 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, + 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x22, 0x59, 0x0a, 0x15, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, + 0x71, 0x62, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, + 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, - 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, - 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, - 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, - 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x15, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, - 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, - 0x8b, 0x01, 0x0a, 0x16, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, - 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x96, 0x01, - 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, - 0x64, 0x64, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, - 0x64, 0x64, 0x65, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, - 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, - 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x73, 0x22, 0x58, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, - 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, + 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, + 0x22, 0x58, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, + 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/board.proto b/rpc/cc/arduino/cli/commands/v1/board.proto index 8918473ec86..46a48c945f7 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.proto +++ b/rpc/cc/arduino/cli/commands/v1/board.proto @@ -166,6 +166,8 @@ message BoardListRequest { message BoardListResponse { // List of ports and the boards detected on those ports. repeated DetectedPort ports = 1; + // Warning messages or errors coming from the discoveries. + repeated string warnings = 2; } message DetectedPort { From f65eff25067241587adc0ebda1983d6d1b0df354 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 14 Mar 2024 10:55:50 +0100 Subject: [PATCH 145/361] Inlining methods in ArduinoCoreServiceImpl (part 4: BoardListWatch) The BoardListWatch RPC call has been converted into a method of the gRPC server implementation. This commit boasts an helper method to convert a gRPC streaming response into a channel. --- commands/grpc_streaming_helpers.go | 78 +++++++++++++++++++ commands/service.go | 32 -------- commands/service_board_list.go | 34 +++++--- commands/service_board_search.go | 2 +- internal/cli/arguments/fqbn.go | 2 +- internal/cli/arguments/port.go | 12 +-- internal/cli/board/attach.go | 6 +- internal/cli/board/board.go | 2 +- internal/cli/board/list.go | 7 +- internal/cli/board/search.go | 11 +-- internal/cli/burnbootloader/burnbootloader.go | 2 +- internal/cli/debug/debug_check.go | 2 +- internal/cli/monitor/monitor.go | 2 +- .../integrationtest/daemon/daemon_test.go | 6 +- 14 files changed, 131 insertions(+), 67 deletions(-) create mode 100644 commands/grpc_streaming_helpers.go diff --git a/commands/grpc_streaming_helpers.go b/commands/grpc_streaming_helpers.go new file mode 100644 index 00000000000..d86dfd61795 --- /dev/null +++ b/commands/grpc_streaming_helpers.go @@ -0,0 +1,78 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 commands + +import ( + "context" + "errors" + "sync" + + "google.golang.org/grpc/metadata" +) + +type streamingResponseProxyToChan[T any] struct { + ctx context.Context + respChan chan<- *T + respLock sync.Mutex +} + +func streamResponseToChan[T any](ctx context.Context) (*streamingResponseProxyToChan[T], <-chan *T) { + respChan := make(chan *T, 1) + w := &streamingResponseProxyToChan[T]{ + ctx: ctx, + respChan: respChan, + } + go func() { + <-ctx.Done() + w.respLock.Lock() + close(w.respChan) + w.respChan = nil + w.respLock.Unlock() + }() + return w, respChan +} + +func (w *streamingResponseProxyToChan[T]) Send(resp *T) error { + w.respLock.Lock() + if w.respChan != nil { + w.respChan <- resp + } + w.respLock.Unlock() + return nil +} + +func (w *streamingResponseProxyToChan[T]) Context() context.Context { + return w.ctx +} + +func (w *streamingResponseProxyToChan[T]) RecvMsg(m any) error { + return errors.New("RecvMsg not implemented") +} + +func (w *streamingResponseProxyToChan[T]) SendHeader(metadata.MD) error { + return errors.New("SendHeader not implemented") +} + +func (w *streamingResponseProxyToChan[T]) SendMsg(m any) error { + return errors.New("SendMsg not implemented") +} + +func (w *streamingResponseProxyToChan[T]) SetHeader(metadata.MD) error { + return errors.New("SetHeader not implemented") +} + +func (w *streamingResponseProxyToChan[T]) SetTrailer(tr metadata.MD) { +} diff --git a/commands/service.go b/commands/service.go index 387beb891f1..7faa8043f47 100644 --- a/commands/service.go +++ b/commands/service.go @@ -18,7 +18,6 @@ package commands import ( "context" "errors" - "fmt" "io" "sync/atomic" @@ -44,37 +43,6 @@ type arduinoCoreServerImpl struct { versionString string } -// BoardSearch exposes to the gRPC interface the board search command -func (s *arduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { - return BoardSearch(ctx, req) -} - -// BoardListWatch FIXMEDOC -func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, stream rpc.ArduinoCoreService_BoardListWatchServer) error { - syncSend := NewSynchronizedSend(stream.Send) - if req.GetInstance() == nil { - err := fmt.Errorf(tr("no instance specified")) - syncSend.Send(&rpc.BoardListWatchResponse{ - EventType: "error", - Error: err.Error(), - }) - return err - } - - eventsChan, err := BoardListWatch(stream.Context(), req) - if err != nil { - return err - } - - for event := range eventsChan { - if err := syncSend.Send(event); err != nil { - logrus.Infof("sending board watch message: %v", err) - } - } - - return nil -} - // Destroy FIXMEDOC func (s *arduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { return Destroy(ctx, req) diff --git a/commands/service_board_list.go b/commands/service_board_list.go index 7fe91c58472..ba6cd3c727f 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -262,29 +262,43 @@ func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool { return false } -// BoardListWatch returns a channel that receives boards connection and disconnection events. -func BoardListWatch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan *rpc.BoardListWatchResponse, error) { +// BoardListWatchProxyToChan return a stream, to be used in BoardListWatch method, +// that proxies all the responses to a channel. +func BoardListWatchProxyToChan(ctx context.Context) (rpc.ArduinoCoreService_BoardListWatchServer, <-chan *rpc.BoardListWatchResponse) { + return streamResponseToChan[rpc.BoardListWatchResponse](ctx) +} + +// BoardListWatch FIXMEDOC +func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, stream rpc.ArduinoCoreService_BoardListWatchServer) error { + syncSend := NewSynchronizedSend(stream.Send) + if req.GetInstance() == nil { + err := fmt.Errorf(tr("no instance specified")) + syncSend.Send(&rpc.BoardListWatchResponse{ + EventType: "error", + Error: err.Error(), + }) + return err + } + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return nil, err + return err } defer release() dm := pme.DiscoveryManager() watcher, err := dm.Watch() if err != nil { - return nil, err + return err } go func() { - <-ctx.Done() + <-stream.Context().Done() logrus.Trace("closed watch") watcher.Close() }() - outChan := make(chan *rpc.BoardListWatchResponse) go func() { - defer close(outChan) for event := range watcher.Feed() { port := &rpc.DetectedPort{ Port: rpc.DiscoveryPortToRPC(event.Port), @@ -298,13 +312,13 @@ func BoardListWatch(ctx context.Context, req *rpc.BoardListWatchRequest) (<-chan } port.MatchingBoards = boards } - outChan <- &rpc.BoardListWatchResponse{ + stream.Send(&rpc.BoardListWatchResponse{ EventType: event.Type, Port: port, Error: boardsError, - } + }) } }() - return outChan, nil + return nil } diff --git a/commands/service_board_search.go b/commands/service_board_search.go index 4bfd0906a20..a3714b669c2 100644 --- a/commands/service_board_search.go +++ b/commands/service_board_search.go @@ -29,7 +29,7 @@ import ( // Boards are searched in all platforms, including those in the index that are not yet // installed. Note that platforms that are not installed don't include boards' FQBNs. // If no search argument is used all boards are returned. -func BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { +func (s *arduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardSearchRequest) (*rpc.BoardSearchResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index b3fd21d0c25..a6c3505767a 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -85,7 +85,7 @@ func CalculateFQBNAndPort(portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, return fqbn, port } - port, err := portArgs.GetPort(instance, defaultAddress, defaultProtocol) + port, err := portArgs.GetPort(instance, srv, defaultAddress, defaultProtocol) if err != nil { feedback.Fatal(tr("Error getting port metadata: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index 86f461da93e..9bd7ce99b80 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -56,12 +56,12 @@ func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer // This method allows will bypass the discoveries if: // - a nil instance is passed: in this case the plain port and protocol arguments are returned (even if empty) // - a protocol is specified: in this case the discoveries are not needed to autodetect the protocol. -func (p *Port) GetPortAddressAndProtocol(instance *rpc.Instance, defaultAddress, defaultProtocol string) (string, string, error) { +func (p *Port) GetPortAddressAndProtocol(instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (string, string, error) { if p.protocol != "" || instance == nil { return p.address, p.protocol, nil } - port, err := p.GetPort(instance, defaultAddress, defaultProtocol) + port, err := p.GetPort(instance, srv, defaultAddress, defaultProtocol) if err != nil { return "", "", err } @@ -70,8 +70,7 @@ func (p *Port) GetPortAddressAndProtocol(instance *rpc.Instance, defaultAddress, // GetPort returns the Port obtained by parsing command line arguments. // The extra metadata for the ports is obtained using the pluggable discoveries. -func (p *Port) GetPort(instance *rpc.Instance, defaultAddress, defaultProtocol string) (*rpc.Port, error) { - +func (p *Port) GetPort(instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (*rpc.Port, error) { address := p.address protocol := p.protocol if address == "" && (defaultAddress != "" || defaultProtocol != "") { @@ -91,7 +90,10 @@ func (p *Port) GetPort(instance *rpc.Instance, defaultAddress, defaultProtocol s ctx, cancel := context.WithCancel(context.Background()) defer cancel() - watcher, err := commands.BoardListWatch(ctx, &rpc.BoardListWatchRequest{Instance: instance}) + + stream, watcher := commands.BoardListWatchProxyToChan(ctx) + err := srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: instance}, stream) + if err != nil { return nil, err } diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index d64326f18e2..627f014760c 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -45,7 +45,7 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { if len(args) > 0 { sketchPath = args[0] } - runAttachCommand(sketchPath, &port, fqbn.String(), &programmer) + runAttachCommand(srv, sketchPath, &port, fqbn.String(), &programmer) }, } fqbn.AddToCommand(attachCommand, srv) @@ -55,10 +55,10 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return attachCommand } -func runAttachCommand(path string, port *arguments.Port, fqbn string, programmer *arguments.Programmer) { +func runAttachCommand(srv rpc.ArduinoCoreServiceServer, path string, port *arguments.Port, fqbn string, programmer *arguments.Programmer) { sketchPath := arguments.InitSketchPath(path) - portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, "", "") + portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, srv, "", "") newDefaults, err := commands.SetSketchDefaults(context.Background(), &rpc.SetSketchDefaultsRequest{ SketchPath: sketchPath.String(), DefaultFqbn: fqbn, diff --git a/internal/cli/board/board.go b/internal/cli/board/board.go index 3c3b99a51b5..f07ff8c0ac3 100644 --- a/internal/cli/board/board.go +++ b/internal/cli/board/board.go @@ -39,7 +39,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { boardCommand.AddCommand(initDetailsCommand(srv)) boardCommand.AddCommand(initListCommand(srv)) boardCommand.AddCommand(initListAllCommand(srv)) - boardCommand.AddCommand(initSearchCommand()) + boardCommand.AddCommand(initSearchCommand(srv)) return boardCommand } diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 3236813b0ba..b27869a459c 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -63,7 +63,7 @@ func runListCommand(srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, logrus.Info("Executing `arduino-cli board list`") if watch { - watchList(inst) + watchList(inst, srv) return } @@ -88,8 +88,9 @@ func runListCommand(srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, feedback.PrintResult(listResult{result.NewDetectedPorts(ports)}) } -func watchList(inst *rpc.Instance) { - eventsChan, err := commands.BoardListWatch(context.Background(), &rpc.BoardListWatchRequest{Instance: inst}) +func watchList(inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) { + stream, eventsChan := commands.BoardListWatchProxyToChan(context.Background()) + err := srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: inst}, stream) if err != nil { feedback.Fatal(tr("Error detecting boards: %v", err), feedback.ErrNetwork) } diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index b52a704c1dc..ee3cb40e1bb 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -22,7 +22,6 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -32,7 +31,7 @@ import ( "github.com/spf13/cobra" ) -func initSearchCommand() *cobra.Command { +func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var searchCommand = &cobra.Command{ Use: fmt.Sprintf("search [%s]", tr("boardname")), Short: tr("Search for a board in the Boards Manager."), @@ -41,18 +40,20 @@ func initSearchCommand() *cobra.Command { " " + os.Args[0] + " board search\n" + " " + os.Args[0] + " board search zero", Args: cobra.ArbitraryArgs, - Run: runSearchCommand, + Run: func(cmd *cobra.Command, args []string) { + runSearchCommand(srv, args) + }, } searchCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, tr("Show also boards marked as 'hidden' in the platform")) return searchCommand } -func runSearchCommand(cmd *cobra.Command, args []string) { +func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string) { inst := instance.CreateAndInit() logrus.Info("Executing `arduino-cli board search`") - res, err := commands.BoardSearch(context.Background(), &rpc.BoardSearchRequest{ + res, err := srv.BoardSearch(context.Background(), &rpc.BoardSearchRequest{ Instance: inst, SearchArgs: strings.Join(args, " "), IncludeHiddenBoards: showHiddenBoard, diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 6060b19f131..23dc605a710 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -71,7 +71,7 @@ func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli burn-bootloader`") // We don't need a Sketch to upload a board's bootloader - discoveryPort, err := port.GetPort(instance, "", "") + discoveryPort, err := port.GetPort(instance, srv, "", "") if err != nil { feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 111bc40215e..7be9393b5c0 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -55,7 +55,7 @@ func runDebugCheckCommand(srv rpc.ArduinoCoreServiceServer, portArgs *arguments. instance := instance.CreateAndInit() logrus.Info("Executing `arduino-cli debug`") - port, err := portArgs.GetPort(instance, "", "") + port, err := portArgs.GetPort(instance, srv, "", "") if err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 342df226ef5..597933939a3 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -140,7 +140,7 @@ func runMonitorCmd( fqbn, _ = portArgs.DetectFQBN(inst, srv) } - portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(inst, defaultPort, defaultProtocol) + portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(inst, srv, defaultPort, defaultProtocol) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 297ba4b59af..f994813b69e 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -63,15 +63,15 @@ func TestArduinoCliDaemon(t *testing.T) { require.NoError(t, err) watcherCanceldCh := make(chan struct{}) go func() { + defer close(watcherCanceldCh) for { msg, err := watcher.Recv() if errors.Is(err, io.EOF) { - fmt.Println("Watcher EOF") + fmt.Println("Got EOF from watcher") return } if s, ok := status.FromError(err); ok && s.Code() == codes.Canceled { - fmt.Println("Watcher canceled") - watcherCanceldCh <- struct{}{} + fmt.Println("Got Canceled error from watcher") return } require.NoError(t, err, "BoardListWatch grpc call returned an error") From 06d6842ab2a5f6e03b2b783b4e4c308448a2decf Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 14 Mar 2024 12:20:15 +0100 Subject: [PATCH 146/361] Inlining methods in ArduinoCoreServiceImpl (part 5: Create and Destroy) --- commands/instances.go | 19 +++++++--- commands/service.go | 18 --------- commands/service_platform_search_test.go | 10 ++++- internal/cli/arguments/completion.go | 38 +++++++++---------- internal/cli/arguments/fqbn.go | 3 +- internal/cli/arguments/port.go | 4 +- internal/cli/arguments/programmer.go | 2 +- internal/cli/arguments/reference.go | 10 +++-- internal/cli/arguments/reference_test.go | 11 ++++-- internal/cli/board/details.go | 3 +- internal/cli/board/list.go | 3 +- internal/cli/board/listall.go | 3 +- internal/cli/board/search.go | 3 +- internal/cli/burnbootloader/burnbootloader.go | 3 +- internal/cli/cli.go | 8 ++-- internal/cli/compile/compile.go | 5 ++- internal/cli/core/core.go | 17 +++++---- internal/cli/core/download.go | 15 +++++--- internal/cli/core/install.go | 13 ++++--- internal/cli/core/list.go | 10 +++-- internal/cli/core/search.go | 9 +++-- internal/cli/core/uninstall.go | 13 ++++--- internal/cli/core/update_index.go | 11 ++++-- internal/cli/core/upgrade.go | 15 ++++---- internal/cli/debug/debug.go | 5 ++- internal/cli/debug/debug_check.go | 3 +- internal/cli/instance/instance.go | 14 ++++--- internal/cli/lib/check_deps.go | 12 +++--- internal/cli/lib/download.go | 14 ++++--- internal/cli/lib/examples.go | 11 ++++-- internal/cli/lib/install.go | 11 +++--- internal/cli/lib/lib.go | 14 +++---- internal/cli/lib/list.go | 3 +- internal/cli/lib/search.go | 9 +++-- internal/cli/lib/uninstall.go | 13 ++++--- internal/cli/lib/update_index.go | 12 ++++-- internal/cli/lib/upgrade.go | 11 ++++-- internal/cli/monitor/monitor.go | 7 ++-- internal/cli/outdated/outdated.go | 12 ++++-- internal/cli/update/update.go | 12 ++++-- internal/cli/upgrade/upgrade.go | 13 ++++--- internal/cli/upload/upload.go | 6 ++- 42 files changed, 246 insertions(+), 182 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index ba067358cca..92c317fe836 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -42,6 +42,7 @@ import ( paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" ) @@ -59,8 +60,16 @@ func installTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, dow return nil } -// Create a new CoreInstance ready to be initialized, supporting directories are also created. -func Create(req *rpc.CreateRequest, extraUserAgent ...string) (*rpc.CreateResponse, error) { +// Create a new Instance ready to be initialized, supporting directories are also created. +func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateRequest) (*rpc.CreateResponse, error) { + var userAgent []string + if md, ok := metadata.FromIncomingContext(ctx); ok { + userAgent = md.Get("user-agent") + } + if len(userAgent) == 0 { + userAgent = []string{"gRPCClientUnknown/0.0.0"} + } + // Setup downloads directory downloadsDir := configuration.DownloadsDir(configuration.Settings) if downloadsDir.NotExist() { @@ -80,7 +89,7 @@ func Create(req *rpc.CreateRequest, extraUserAgent ...string) (*rpc.CreateRespon } } - inst, err := instances.Create(dataDir, packagesDir, downloadsDir, extraUserAgent...) + inst, err := instances.Create(dataDir, packagesDir, downloadsDir, userAgent...) if err != nil { return nil, err } @@ -397,8 +406,8 @@ func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) erro return nil } -// Destroy FIXMEDOC -func Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { +// Destroy deletes an instance. +func (s *arduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { if ok := instances.Delete(req.GetInstance()); !ok { return nil, &cmderrors.InvalidInstanceError{} } diff --git a/commands/service.go b/commands/service.go index 7faa8043f47..548a93d9a5f 100644 --- a/commands/service.go +++ b/commands/service.go @@ -26,7 +26,6 @@ import ( "github.com/arduino/arduino-cli/commands/updatecheck" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" - "google.golang.org/grpc/metadata" ) // NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service @@ -43,11 +42,6 @@ type arduinoCoreServerImpl struct { versionString string } -// Destroy FIXMEDOC -func (s *arduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyRequest) (*rpc.DestroyResponse, error) { - return Destroy(ctx, req) -} - // UpdateIndex FIXMEDOC func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream rpc.ArduinoCoreService_UpdateIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) @@ -84,18 +78,6 @@ func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd return err } -// Create FIXMEDOC -func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateRequest) (*rpc.CreateResponse, error) { - var userAgent []string - if md, ok := metadata.FromIncomingContext(ctx); ok { - userAgent = md.Get("user-agent") - } - if len(userAgent) == 0 { - userAgent = []string{"gRPCClientUnknown/0.0.0"} - } - return Create(req, userAgent...) -} - // Init FIXMEDOC func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { syncSend := NewSynchronizedSend(stream.Send) diff --git a/commands/service_platform_search_test.go b/commands/service_platform_search_test.go index c6d7b789a2d..83942433321 100644 --- a/commands/service_platform_search_test.go +++ b/commands/service_platform_search_test.go @@ -16,6 +16,7 @@ package commands import ( + "context" "testing" "github.com/arduino/arduino-cli/internal/cli/configuration" @@ -37,7 +38,9 @@ func TestPlatformSearch(t *testing.T) { configuration.Settings = configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - createResp, err := Create(&rpc.CreateRequest{}) + srv := NewArduinoCoreServer("") + ctx := context.Background() + createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) require.NoError(t, err) inst := createResp.GetInstance() @@ -337,7 +340,10 @@ func TestPlatformSearchSorting(t *testing.T) { configuration.Settings = configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - createResp, err := Create(&rpc.CreateRequest{}) + srv := NewArduinoCoreServer("") + ctx := context.Background() + + createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) require.NoError(t, err) inst := createResp.GetInstance() require.NotNil(t, inst) diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index 7291526e4d5..c86a657793a 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -27,8 +27,8 @@ import ( // GetInstalledBoards is an helper function useful to autocomplete. // It returns a list of fqbn // it's taken from cli/board/listall.go -func GetInstalledBoards(srv rpc.ArduinoCoreServiceServer) []string { - inst := instance.CreateAndInit() +func GetInstalledBoards(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { + inst := instance.CreateAndInit(srv, ctx) list, _ := srv.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ Instance: inst, @@ -45,8 +45,8 @@ func GetInstalledBoards(srv rpc.ArduinoCoreServiceServer) []string { // GetInstalledProgrammers is an helper function useful to autocomplete. // It returns a list of programmers available based on the installed boards -func GetInstalledProgrammers(srv rpc.ArduinoCoreServiceServer) []string { - inst := instance.CreateAndInit() +func GetInstalledProgrammers(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { + inst := instance.CreateAndInit(srv, ctx) // we need the list of the available fqbn in order to get the list of the programmers listAllReq := &rpc.BoardListAllRequest{ @@ -78,8 +78,8 @@ func GetInstalledProgrammers(srv rpc.ArduinoCoreServiceServer) []string { // GetUninstallableCores is an helper function useful to autocomplete. // It returns a list of cores which can be uninstalled -func GetUninstallableCores() []string { - inst := instance.CreateAndInit() +func GetUninstallableCores(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { + inst := instance.CreateAndInit(srv, ctx) platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, @@ -99,8 +99,8 @@ func GetUninstallableCores() []string { // GetInstallableCores is an helper function useful to autocomplete. // It returns a list of cores which can be installed/downloaded -func GetInstallableCores() []string { - inst := instance.CreateAndInit() +func GetInstallableCores(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { + inst := instance.CreateAndInit(srv, ctx) platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, @@ -118,18 +118,18 @@ func GetInstallableCores() []string { // GetInstalledLibraries is an helper function useful to autocomplete. // It returns a list of libs which are currently installed, including the builtin ones -func GetInstalledLibraries() []string { - return getLibraries(true) +func GetInstalledLibraries(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { + return getLibraries(srv, ctx, true) } // GetUninstallableLibraries is an helper function useful to autocomplete. // It returns a list of libs which can be uninstalled -func GetUninstallableLibraries() []string { - return getLibraries(false) +func GetUninstallableLibraries(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { + return getLibraries(srv, ctx, false) } -func getLibraries(all bool) []string { - inst := instance.CreateAndInit() +func getLibraries(srv rpc.ArduinoCoreServiceServer, ctx context.Context, all bool) []string { + inst := instance.CreateAndInit(srv, ctx) libs, _ := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ Instance: inst, All: all, @@ -147,8 +147,8 @@ func getLibraries(all bool) []string { // GetInstallableLibs is an helper function useful to autocomplete. // It returns a list of libs which can be installed/downloaded -func GetInstallableLibs() []string { - inst := instance.CreateAndInit() +func GetInstallableLibs(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { + inst := instance.CreateAndInit(srv, ctx) libs, _ := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ Instance: inst, @@ -165,10 +165,10 @@ func GetInstallableLibs() []string { // GetAvailablePorts is an helper function useful to autocomplete. // It returns a list of upload port of the boards which are currently connected. // It will not suggests network ports because the timeout is not set. -func GetAvailablePorts(srv rpc.ArduinoCoreServiceServer) []*rpc.Port { +func GetAvailablePorts(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []*rpc.Port { // Get the port list - inst := instance.CreateAndInit() - list, _ := srv.BoardList(context.Background(), &rpc.BoardListRequest{Instance: inst}) + inst := instance.CreateAndInit(srv, ctx) + list, _ := srv.BoardList(ctx, &rpc.BoardListRequest{Instance: inst}) // Transform the data structure for the completion (DetectedPort -> Port) return f.Map(list.GetPorts(), (*rpc.DetectedPort).GetPort) diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index a6c3505767a..26c1248e2b4 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -16,6 +16,7 @@ package arguments import ( + "context" "strings" "github.com/arduino/arduino-cli/commands/cmderrors" @@ -36,7 +37,7 @@ type Fqbn struct { func (f *Fqbn) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&f.fqbn, "fqbn", "b", "", tr("Fully Qualified Board Name, e.g.: arduino:avr:uno")) cmd.RegisterFlagCompletionFunc("fqbn", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledBoards(srv), cobra.ShellCompDirectiveDefault + return GetInstalledBoards(srv, context.Background()), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringSliceVar(&f.boardOptions, "board-options", []string{}, tr("List of board options separated by commas. Or can be used multiple times for multiple options.")) diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index 9bd7ce99b80..51247603438 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -42,11 +42,11 @@ type Port struct { func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.address, "port", "p", "", tr("Upload port address, e.g.: COM3 or /dev/ttyACM2")) cmd.RegisterFlagCompletionFunc("port", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(srv), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(srv, context.Background()), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringVarP(&p.protocol, "protocol", "l", "", tr("Upload port protocol, e.g: serial")) cmd.RegisterFlagCompletionFunc("protocol", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(srv), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(srv, context.Background()), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault }) p.timeout.AddToCommand(cmd) } diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index c76271b0ede..ed3eb2f8043 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -33,7 +33,7 @@ type Programmer struct { func (p *Programmer) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.programmer, "programmer", "P", "", tr("Programmer to use, e.g: atmel_ice")) cmd.RegisterFlagCompletionFunc("programmer", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledProgrammers(srv), cobra.ShellCompDirectiveDefault + return GetInstalledProgrammers(srv, context.Background()), cobra.ShellCompDirectiveDefault }) } diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index 7593fd4e54e..a8c828890e1 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -16,6 +16,7 @@ package arguments import ( + "context" "fmt" "strings" @@ -43,10 +44,11 @@ func (r *Reference) String() string { // ParseReferences is a convenient wrapper that operates on a slice of strings and // calls ParseReference for each of them. It returns at the first invalid argument. -func ParseReferences(args []string) ([]*Reference, error) { +func ParseReferences(srv rpc.ArduinoCoreServiceServer, ctx context.Context, args []string) ([]*Reference, error) { ret := []*Reference{} for _, arg := range args { - reference, err := ParseReference(arg) + // TODO: This is quite resource consuming (since it creates a new instance for each call) + reference, err := ParseReference(srv, ctx, arg) if err != nil { return nil, err } @@ -60,7 +62,7 @@ func ParseReferences(args []string) ([]*Reference, error) { // To achieve that, it tries to use github.com/arduino/arduino-cli/commands/core.GetPlatform // Note that the Reference is returned rightaway if the arg inserted by the user matches perfectly one in the response of core.GetPlatform // A MultiplePlatformsError is returned if the platform searched by the user matches multiple platforms -func ParseReference(arg string) (*Reference, error) { +func ParseReference(srv rpc.ArduinoCoreServiceServer, ctx context.Context, arg string) (*Reference, error) { logrus.Infof("Parsing reference %s", arg) ret := &Reference{} if arg == "" { @@ -96,7 +98,7 @@ func ParseReference(arg string) (*Reference, error) { // try to use core.PlatformList to optimize what the user typed // (by replacing the PackageName and Architecture in ret with the content of core.GetPlatform()) platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: instance.CreateAndInit(), + Instance: instance.CreateAndInit(srv, ctx), }) foundPlatforms := []string{} for _, platform := range platforms.GetSearchOutput() { diff --git a/internal/cli/arguments/reference_test.go b/internal/cli/arguments/reference_test.go index 047d3fc9e5c..032899e9f73 100644 --- a/internal/cli/arguments/reference_test.go +++ b/internal/cli/arguments/reference_test.go @@ -16,8 +16,10 @@ package arguments_test import ( + "context" "testing" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/stretchr/testify/assert" @@ -57,14 +59,16 @@ func TestArgsStringify(t *testing.T) { } func TestParseReferenceCores(t *testing.T) { + srv := commands.NewArduinoCoreServer("") + ctx := context.Background() for _, tt := range goodCores { - actual, err := arguments.ParseReference(tt.in) + actual, err := arguments.ParseReference(srv, ctx, tt.in) assert.Nil(t, err) assert.Equal(t, tt.expected, actual) } for _, tt := range badCores { - actual, err := arguments.ParseReference(tt.in) + actual, err := arguments.ParseReference(srv, ctx, tt.in) require.NotNil(t, err, "Testing bad core '%s'", tt.in) require.Equal(t, tt.expected, actual, "Testing bad core '%s'", tt.in) } @@ -76,7 +80,8 @@ func TestParseArgs(t *testing.T) { input = append(input, tt.in) } - refs, err := arguments.ParseReferences(input) + srv := commands.NewArduinoCoreServer("") + refs, err := arguments.ParseReferences(srv, context.Background(), input) assert.Nil(t, err) assert.Equal(t, len(goodCores), len(refs)) diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 296078a9393..c3a7c117945 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -56,7 +56,8 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } func runDetailsCommand(srv rpc.ArduinoCoreServiceServer, fqbn string, showFullDetails, listProgrammers bool, showProperties arguments.ShowProperties) { - inst := instance.CreateAndInit() + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli board details`") diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index b27869a459c..457797403d7 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -58,7 +58,8 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { // runListCommand detects and lists the connected arduino boards func runListCommand(srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, fqbn string) { - inst := instance.CreateAndInit() + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli board list`") diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index fdf39fe0a98..a0cc18e5a3d 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -52,7 +52,8 @@ for a specific board if you specify the board name`), // runListAllCommand list all installed boards func runListAllCommand(args []string, srv rpc.ArduinoCoreServiceServer) { - inst := instance.CreateAndInit() + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli board listall`") diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index ee3cb40e1bb..c49e640ff18 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -49,7 +49,8 @@ func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string) { - inst := instance.CreateAndInit() + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli board search`") diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 23dc605a710..c191d9da4d0 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -66,7 +66,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { - instance := instance.CreateAndInit() + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli burn-bootloader`") diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 2e633d236fd..e0e7cd27ecd 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -119,15 +119,15 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.AddCommand(compile.NewCommand(srv)) cmd.AddCommand(completion.NewCommand()) cmd.AddCommand(config.NewCommand()) - cmd.AddCommand(core.NewCommand()) + cmd.AddCommand(core.NewCommand(srv)) cmd.AddCommand(daemon.NewCommand()) cmd.AddCommand(generatedocs.NewCommand()) cmd.AddCommand(lib.NewCommand(srv)) cmd.AddCommand(monitor.NewCommand(srv)) - cmd.AddCommand(outdated.NewCommand()) + cmd.AddCommand(outdated.NewCommand(srv)) cmd.AddCommand(sketch.NewCommand()) - cmd.AddCommand(update.NewCommand()) - cmd.AddCommand(upgrade.NewCommand()) + cmd.AddCommand(update.NewCommand(srv)) + cmd.AddCommand(upgrade.NewCommand(srv)) cmd.AddCommand(upload.NewCommand(srv)) cmd.AddCommand(debug.NewCommand(srv)) cmd.AddCommand(burnbootloader.NewCommand(srv)) diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 52fb6d1b60b..b5b7039e249 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -142,6 +142,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli compile`") + ctx := context.Background() if profileArg.Get() != "" { if len(libraries) > 0 { @@ -168,9 +169,9 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer var profile *rpc.SketchProfile if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(sk.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sk.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) } if fqbnArg.String() == "" { diff --git a/internal/cli/core/core.go b/internal/cli/core/core.go index 3792ad13227..ac337df6c9e 100644 --- a/internal/cli/core/core.go +++ b/internal/cli/core/core.go @@ -19,13 +19,14 @@ import ( "os" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) var tr = i18n.Tr // NewCommand created a new `core` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { coreCommand := &cobra.Command{ Use: "core", Short: tr("Arduino core operations."), @@ -33,13 +34,13 @@ func NewCommand() *cobra.Command { Example: " " + os.Args[0] + " core update-index", } - coreCommand.AddCommand(initDownloadCommand()) - coreCommand.AddCommand(initInstallCommand()) - coreCommand.AddCommand(initListCommand()) - coreCommand.AddCommand(initUpdateIndexCommand()) - coreCommand.AddCommand(initUpgradeCommand()) - coreCommand.AddCommand(initUninstallCommand()) - coreCommand.AddCommand(initSearchCommand()) + coreCommand.AddCommand(initDownloadCommand(srv)) + coreCommand.AddCommand(initInstallCommand(srv)) + coreCommand.AddCommand(initListCommand(srv)) + coreCommand.AddCommand(initUpdateIndexCommand(srv)) + coreCommand.AddCommand(initUpgradeCommand(srv)) + coreCommand.AddCommand(initUninstallCommand(srv)) + coreCommand.AddCommand(initSearchCommand(srv)) return coreCommand } diff --git a/internal/cli/core/download.go b/internal/cli/core/download.go index 6fafe678b5e..909ffe30448 100644 --- a/internal/cli/core/download.go +++ b/internal/cli/core/download.go @@ -29,7 +29,7 @@ import ( "github.com/spf13/cobra" ) -func initDownloadCommand() *cobra.Command { +func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { downloadCommand := &cobra.Command{ Use: fmt.Sprintf("download [%s:%s[@%s]]...", tr("PACKAGER"), tr("ARCH"), tr("VERSION")), Short: tr("Downloads one or more cores and corresponding tool dependencies."), @@ -38,20 +38,23 @@ func initDownloadCommand() *cobra.Command { " " + os.Args[0] + " core download arduino:samd # " + tr("download the latest version of Arduino SAMD core.") + "\n" + " " + os.Args[0] + " core download arduino:samd@1.6.9 # " + tr("download a specific version (in this case 1.6.9)."), Args: cobra.MinimumNArgs(1), - Run: runDownloadCommand, + Run: func(cmd *cobra.Command, args []string) { + runDownloadCommand(srv, args) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableCores(), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableCores(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } return downloadCommand } -func runDownloadCommand(cmd *cobra.Command, args []string) { - inst := instance.CreateAndInit() +func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli core download`") - platformsRefs, err := arguments.ParseReferences(args) + platformsRefs, err := arguments.ParseReferences(srv, ctx, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/core/install.go b/internal/cli/core/install.go index 98dc7c4135d..d59361f4ee2 100644 --- a/internal/cli/core/install.go +++ b/internal/cli/core/install.go @@ -29,7 +29,7 @@ import ( "github.com/spf13/cobra" ) -func initInstallCommand() *cobra.Command { +func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var noOverwrite bool var scriptFlags arguments.PrePostScriptsFlags installCommand := &cobra.Command{ @@ -45,10 +45,10 @@ func initInstallCommand() *cobra.Command { arguments.CheckFlagsConflicts(cmd, "run-post-install", "skip-post-install") }, Run: func(cmd *cobra.Command, args []string) { - runInstallCommand(args, scriptFlags, noOverwrite) + runInstallCommand(srv, args, scriptFlags, noOverwrite) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableCores(), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableCores(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } scriptFlags.AddToCommand(installCommand) @@ -56,11 +56,12 @@ func initInstallCommand() *cobra.Command { return installCommand } -func runInstallCommand(args []string, scriptFlags arguments.PrePostScriptsFlags, noOverwrite bool) { - inst := instance.CreateAndInit() +func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, scriptFlags arguments.PrePostScriptsFlags, noOverwrite bool) { logrus.Info("Executing `arduino-cli core install`") + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) - platformsRefs, err := arguments.ParseReferences(args) + platformsRefs, err := arguments.ParseReferences(srv, ctx, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index db5fbbaf927..c0ec34a8f67 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -16,6 +16,7 @@ package core import ( + "context" "os" "github.com/arduino/arduino-cli/commands" @@ -28,7 +29,7 @@ import ( "github.com/spf13/cobra" ) -func initListCommand() *cobra.Command { +func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var updatableOnly bool var all bool listCommand := &cobra.Command{ @@ -38,7 +39,7 @@ func initListCommand() *cobra.Command { Example: " " + os.Args[0] + " core list", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runListCommand(args, all, updatableOnly) + runListCommand(srv, all, updatableOnly) }, } listCommand.Flags().BoolVar(&updatableOnly, "updatable", false, tr("List updatable platforms.")) @@ -46,8 +47,9 @@ func initListCommand() *cobra.Command { return listCommand } -func runListCommand(args []string, all bool, updatableOnly bool) { - inst := instance.CreateAndInit() +func runListCommand(srv rpc.ArduinoCoreServiceServer, all bool, updatableOnly bool) { + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli core list`") List(inst, all, updatableOnly) } diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 6a6b559a5cf..610a9fb97ca 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -32,7 +32,7 @@ import ( "github.com/spf13/cobra" ) -func initSearchCommand() *cobra.Command { +func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var allVersions bool searchCommand := &cobra.Command{ Use: fmt.Sprintf("search <%s...>", tr("keywords")), @@ -41,7 +41,7 @@ func initSearchCommand() *cobra.Command { Example: " " + os.Args[0] + " core search MKRZero -a -v", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { - runSearchCommand(cmd, args, allVersions) + runSearchCommand(srv, args, allVersions) }, } searchCommand.Flags().BoolVarP(&allVersions, "all", "a", false, tr("Show all available core versions.")) @@ -52,8 +52,9 @@ func initSearchCommand() *cobra.Command { // indexUpdateInterval specifies the time threshold over which indexes are updated const indexUpdateInterval = 24 * time.Hour -func runSearchCommand(cmd *cobra.Command, args []string, allVersions bool) { - inst := instance.CreateAndInit() +func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, allVersions bool) { + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) res, err := commands.UpdateIndex( context.Background(), diff --git a/internal/cli/core/uninstall.go b/internal/cli/core/uninstall.go index c8e3c212ac1..70df514cccb 100644 --- a/internal/cli/core/uninstall.go +++ b/internal/cli/core/uninstall.go @@ -29,7 +29,7 @@ import ( "github.com/spf13/cobra" ) -func initUninstallCommand() *cobra.Command { +func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var preUninstallFlags arguments.PrePostScriptsFlags uninstallCommand := &cobra.Command{ Use: fmt.Sprintf("uninstall %s:%s ...", tr("PACKAGER"), tr("ARCH")), @@ -38,21 +38,22 @@ func initUninstallCommand() *cobra.Command { Example: " " + os.Args[0] + " core uninstall arduino:samd\n", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runUninstallCommand(args, preUninstallFlags) + runUninstallCommand(srv, args, preUninstallFlags) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetUninstallableCores(), cobra.ShellCompDirectiveDefault + return arguments.GetUninstallableCores(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } preUninstallFlags.AddToCommand(uninstallCommand) return uninstallCommand } -func runUninstallCommand(args []string, preUninstallFlags arguments.PrePostScriptsFlags) { - inst := instance.CreateAndInit() +func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, preUninstallFlags arguments.PrePostScriptsFlags) { logrus.Info("Executing `arduino-cli core uninstall`") + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) - platformsRefs, err := arguments.ParseReferences(args) + platformsRefs, err := arguments.ParseReferences(srv, ctx, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/core/update_index.go b/internal/cli/core/update_index.go index 37bd8898a1d..17bc7b194a3 100644 --- a/internal/cli/core/update_index.go +++ b/internal/cli/core/update_index.go @@ -28,21 +28,24 @@ import ( "github.com/spf13/cobra" ) -func initUpdateIndexCommand() *cobra.Command { +func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { updateIndexCommand := &cobra.Command{ Use: "update-index", Short: tr("Updates the index of cores."), Long: tr("Updates the index of cores to the latest version."), Example: " " + os.Args[0] + " core update-index", Args: cobra.NoArgs, - Run: runUpdateIndexCommand, + Run: func(cmd *cobra.Command, args []string) { + runUpdateIndexCommand(srv) + }, } return updateIndexCommand } -func runUpdateIndexCommand(cmd *cobra.Command, args []string) { - inst := instance.CreateAndInit() +func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli core update-index`") + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) resp := UpdateIndex(inst) feedback.PrintResult(&updateIndexResult{result.NewUpdateIndexResponse_ResultResult(resp)}) diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 9bd400fc9fb..faf81ab245d 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -31,7 +31,7 @@ import ( "github.com/spf13/cobra" ) -func initUpgradeCommand() *cobra.Command { +func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var postInstallFlags arguments.PrePostScriptsFlags upgradeCommand := &cobra.Command{ Use: fmt.Sprintf("upgrade [%s:%s] ...", tr("PACKAGER"), tr("ARCH")), @@ -43,21 +43,22 @@ func initUpgradeCommand() *cobra.Command { " # " + tr("upgrade arduino:samd to the latest version") + "\n" + " " + os.Args[0] + " core upgrade arduino:samd", Run: func(cmd *cobra.Command, args []string) { - runUpgradeCommand(args, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) + runUpgradeCommand(srv, args, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) }, } postInstallFlags.AddToCommand(upgradeCommand) return upgradeCommand } -func runUpgradeCommand(args []string, skipPostInstall bool, skipPreUninstall bool) { - inst := instance.CreateAndInit() +func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string, skipPostInstall bool, skipPreUninstall bool) { logrus.Info("Executing `arduino-cli core upgrade`") - Upgrade(inst, args, skipPostInstall, skipPreUninstall) + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) + Upgrade(srv, ctx, inst, args, skipPostInstall, skipPreUninstall) } // Upgrade upgrades one or all installed platforms to the latest version. -func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUninstall bool) { +func Upgrade(srv rpc.ArduinoCoreServiceServer, ctx context.Context, inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUninstall bool) { // if no platform was passed, upgrade allthethings if len(args) == 0 { platforms, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ @@ -102,7 +103,7 @@ func Upgrade(inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUni } // proceed upgrading, if anything is upgradable - platformsRefs, err := arguments.ParseReferences(args) + platformsRefs, err := arguments.ParseReferences(srv, ctx, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 576f8cc6a20..56b380842d2 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -75,6 +75,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool, profileArg *arguments.Profile) { logrus.Info("Executing `arduino-cli debug`") + ctx := context.Background() path := "" if len(args) > 0 { @@ -92,9 +93,9 @@ func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs * var profile *rpc.SketchProfile if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(sk.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sk.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) } if fqbnArg.String() == "" { diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 7be9393b5c0..569c64a880c 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -52,7 +52,8 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } func runDebugCheckCommand(srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { - instance := instance.CreateAndInit() + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli debug`") port, err := portArgs.GetPort(instance, srv, "", "") diff --git a/internal/cli/instance/instance.go b/internal/cli/instance/instance.go index ec1513105aa..6572fe65802 100644 --- a/internal/cli/instance/instance.go +++ b/internal/cli/instance/instance.go @@ -16,6 +16,8 @@ package instance import ( + "context" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" @@ -29,16 +31,16 @@ var tr = i18n.Tr // If Create fails the CLI prints an error and exits since // to execute further operations a valid Instance is mandatory. // If Init returns errors they're printed only. -func CreateAndInit() *rpc.Instance { - inst, _ := CreateAndInitWithProfile("", nil) +func CreateAndInit(srv rpc.ArduinoCoreServiceServer, ctx context.Context) *rpc.Instance { + inst, _ := CreateAndInitWithProfile(srv, ctx, "", nil) return inst } // CreateAndInitWithProfile returns a new initialized instance using the given profile of the given sketch. // If Create fails the CLI prints an error and exits since to execute further operations a valid Instance is mandatory. // If Init returns errors they're printed only. -func CreateAndInitWithProfile(profileName string, sketchPath *paths.Path) (*rpc.Instance, *rpc.SketchProfile) { - instance, err := create() +func CreateAndInitWithProfile(srv rpc.ArduinoCoreServiceServer, ctx context.Context, profileName string, sketchPath *paths.Path) (*rpc.Instance, *rpc.SketchProfile) { + instance, err := create(srv, ctx) if err != nil { feedback.Fatal(tr("Error creating instance: %v", err), feedback.ErrGeneric) } @@ -47,8 +49,8 @@ func CreateAndInitWithProfile(profileName string, sketchPath *paths.Path) (*rpc. } // create and return a new Instance. -func create() (*rpc.Instance, error) { - res, err := commands.Create(&rpc.CreateRequest{}) +func create(srv rpc.ArduinoCoreServiceServer, ctx context.Context) (*rpc.Instance, error) { + res, err := srv.Create(ctx, &rpc.CreateRequest{}) if err != nil { return nil, err } diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 248ac85843b..9c43830c671 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -32,7 +32,7 @@ import ( "github.com/spf13/cobra" ) -func initDepsCommand() *cobra.Command { +func initDepsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var noOverwrite bool depsCommand := &cobra.Command{ Use: fmt.Sprintf("deps %s[@%s]...", tr("LIBRARY"), tr("VERSION_NUMBER")), @@ -43,18 +43,20 @@ func initDepsCommand() *cobra.Command { " " + os.Args[0] + " lib deps AudioZero@1.0.0 # " + tr("for the specific version."), Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDepsCommand(args, noOverwrite) + runDepsCommand(srv, args, noOverwrite) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstalledLibraries(), cobra.ShellCompDirectiveDefault + return arguments.GetInstalledLibraries(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } depsCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, tr("Do not try to update library dependencies if already installed.")) return depsCommand } -func runDepsCommand(args []string, noOverwrite bool) { - instance := instance.CreateAndInit() +func runDepsCommand(srv rpc.ArduinoCoreServiceServer, args []string, noOverwrite bool) { + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) + logrus.Info("Executing `arduino-cli lib deps`") libRef, err := ParseLibraryReferenceArgAndAdjustCase(instance, args[0]) if err != nil { diff --git a/internal/cli/lib/download.go b/internal/cli/lib/download.go index 733e3567fe7..7c714bb1768 100644 --- a/internal/cli/lib/download.go +++ b/internal/cli/lib/download.go @@ -29,7 +29,7 @@ import ( "github.com/spf13/cobra" ) -func initDownloadCommand() *cobra.Command { +func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { downloadCommand := &cobra.Command{ Use: fmt.Sprintf("download [%s]...", tr("LIBRARY_NAME")), Short: tr("Downloads one or more libraries without installing them."), @@ -38,17 +38,21 @@ func initDownloadCommand() *cobra.Command { " " + os.Args[0] + " lib download AudioZero # " + tr("for the latest version.") + "\n" + " " + os.Args[0] + " lib download AudioZero@1.0.0 # " + tr("for a specific version."), Args: cobra.MinimumNArgs(1), - Run: runDownloadCommand, + Run: func(cmd *cobra.Command, args []string) { + runDownloadCommand(srv, args) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableLibs(), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableLibs(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } return downloadCommand } -func runDownloadCommand(cmd *cobra.Command, args []string) { - instance := instance.CreateAndInit() +func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib download`") + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) + refs, err := ParseLibraryReferenceArgsAndAdjustCase(instance, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index 4a411d26ff6..e8e756ceb0d 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -45,18 +45,21 @@ func initExamplesCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Long: tr("Shows the list of the examples for libraries. A name may be given as argument to search a specific library."), Example: " " + os.Args[0] + " lib examples Wire", Args: cobra.MaximumNArgs(1), - Run: runExamplesCommand, + Run: func(cmd *cobra.Command, args []string) { + runExamplesCommand(srv, args) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstalledLibraries(), cobra.ShellCompDirectiveDefault + return arguments.GetInstalledLibraries(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } fqbn.AddToCommand(examplesCommand, srv) return examplesCommand } -func runExamplesCommand(cmd *cobra.Command, args []string) { - instance := instance.CreateAndInit() +func runExamplesCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib examples`") + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) name := "" if len(args) > 0 { diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 7bd5c53764b..22b6f5f8187 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -34,7 +34,7 @@ import ( semver "go.bug.st/relaxed-semver" ) -func initInstallCommand() *cobra.Command { +func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var noDeps bool var noOverwrite bool var gitURL bool @@ -52,10 +52,10 @@ func initInstallCommand() *cobra.Command { " " + os.Args[0] + " lib install --zip-path /path/to/WiFi101.zip /path/to/ArduinoBLE.zip\n", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runInstallCommand(args, noDeps, noOverwrite, gitURL, zipPath, useBuiltinLibrariesDir) + runInstallCommand(srv, args, noDeps, noOverwrite, gitURL, zipPath, useBuiltinLibrariesDir) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableLibs(), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableLibs(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } installCommand.Flags().BoolVar(&noDeps, "no-deps", false, tr("Do not install dependencies.")) @@ -66,8 +66,9 @@ func initInstallCommand() *cobra.Command { return installCommand } -func runInstallCommand(args []string, noDeps bool, noOverwrite bool, gitURL bool, zipPath bool, useBuiltinLibrariesDir bool) { - instance := instance.CreateAndInit() +func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps bool, noOverwrite bool, gitURL bool, zipPath bool, useBuiltinLibrariesDir bool) { + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli lib install`") if zipPath || gitURL { diff --git a/internal/cli/lib/lib.go b/internal/cli/lib/lib.go index 59cd2020650..deab795b9f5 100644 --- a/internal/cli/lib/lib.go +++ b/internal/cli/lib/lib.go @@ -36,14 +36,14 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " lib update-index", } - libCommand.AddCommand(initDownloadCommand()) - libCommand.AddCommand(initInstallCommand()) + libCommand.AddCommand(initDownloadCommand(srv)) + libCommand.AddCommand(initInstallCommand(srv)) libCommand.AddCommand(initListCommand(srv)) libCommand.AddCommand(initExamplesCommand(srv)) - libCommand.AddCommand(initSearchCommand()) - libCommand.AddCommand(initUninstallCommand()) - libCommand.AddCommand(initUpgradeCommand()) - libCommand.AddCommand(initUpdateIndexCommand()) - libCommand.AddCommand(initDepsCommand()) + libCommand.AddCommand(initSearchCommand(srv)) + libCommand.AddCommand(initUninstallCommand(srv)) + libCommand.AddCommand(initUpgradeCommand(srv)) + libCommand.AddCommand(initUpdateIndexCommand(srv)) + libCommand.AddCommand(initDepsCommand(srv)) return libCommand } diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index a034267db46..df22b4ef856 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -46,7 +46,8 @@ not listed, they can be listed by adding the --all flag.`), Example: " " + os.Args[0] + " lib list", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - instance := instance.CreateAndInit() + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli lib list`") List(instance, args, all, updatable) }, diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 2e1e27d4e9b..6fbd0728a78 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -31,7 +31,7 @@ import ( "github.com/spf13/cobra" ) -func initSearchCommand() *cobra.Command { +func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var namesOnly bool var omitReleasesDetails bool searchCommand := &cobra.Command{ @@ -90,7 +90,7 @@ In addition to the fields listed above, QV terms can use these qualifiers: " " + os.Args[0] + " lib search dependencies=IRremote # " + tr("libraries that depend only on \"IRremote\"") + "\n", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { - runSearchCommand(args, namesOnly, omitReleasesDetails) + runSearchCommand(srv, args, namesOnly, omitReleasesDetails) }, } searchCommand.Flags().BoolVar(&namesOnly, "names", false, tr("Show library names only.")) @@ -101,8 +101,9 @@ In addition to the fields listed above, QV terms can use these qualifiers: // indexUpdateInterval specifies the time threshold over which indexes are updated const indexUpdateInterval = 60 * time.Minute -func runSearchCommand(args []string, namesOnly bool, omitReleasesDetails bool) { - inst := instance.CreateAndInit() +func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, namesOnly bool, omitReleasesDetails bool) { + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli lib search`") diff --git a/internal/cli/lib/uninstall.go b/internal/cli/lib/uninstall.go index 2a03a463aa1..dc80f0de7e3 100644 --- a/internal/cli/lib/uninstall.go +++ b/internal/cli/lib/uninstall.go @@ -29,24 +29,27 @@ import ( "github.com/spf13/cobra" ) -func initUninstallCommand() *cobra.Command { +func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { uninstallCommand := &cobra.Command{ Use: fmt.Sprintf("uninstall %s...", tr("LIBRARY_NAME")), Short: tr("Uninstalls one or more libraries."), Long: tr("Uninstalls one or more libraries."), Example: " " + os.Args[0] + " lib uninstall AudioZero", Args: cobra.MinimumNArgs(1), - Run: runUninstallCommand, + Run: func(cmd *cobra.Command, args []string) { + runUninstallCommand(srv, args) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetUninstallableLibraries(), cobra.ShellCompDirectiveDefault + return arguments.GetUninstallableLibraries(srv, context.Background()), cobra.ShellCompDirectiveDefault }, } return uninstallCommand } -func runUninstallCommand(cmd *cobra.Command, args []string) { - instance := instance.CreateAndInit() +func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib uninstall`") + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) refs, err := ParseLibraryReferenceArgsAndAdjustCase(instance, args) if err != nil { diff --git a/internal/cli/lib/update_index.go b/internal/cli/lib/update_index.go index 462ba003240..9621978727c 100644 --- a/internal/cli/lib/update_index.go +++ b/internal/cli/lib/update_index.go @@ -28,20 +28,24 @@ import ( "github.com/spf13/cobra" ) -func initUpdateIndexCommand() *cobra.Command { +func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { updateIndexCommand := &cobra.Command{ Use: "update-index", Short: tr("Updates the libraries index."), Long: tr("Updates the libraries index to the latest version."), Example: " " + os.Args[0] + " lib update-index", Args: cobra.NoArgs, - Run: runUpdateIndexCommand, + Run: func(cmd *cobra.Command, args []string) { + runUpdateIndexCommand(srv) + }, } return updateIndexCommand } -func runUpdateIndexCommand(cmd *cobra.Command, args []string) { - inst := instance.CreateAndInit() +func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) + logrus.Info("Executing `arduino-cli lib update-index`") resp := UpdateIndex(inst) feedback.PrintResult(&libUpdateIndexResult{result.NewUpdateLibrariesIndexResponse_ResultResult(resp)}) diff --git a/internal/cli/lib/upgrade.go b/internal/cli/lib/upgrade.go index e83b54f20ac..9d018a6ef4a 100644 --- a/internal/cli/lib/upgrade.go +++ b/internal/cli/lib/upgrade.go @@ -28,7 +28,7 @@ import ( "github.com/spf13/cobra" ) -func initUpgradeCommand() *cobra.Command { +func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { upgradeCommand := &cobra.Command{ Use: "upgrade", Short: tr("Upgrades installed libraries."), @@ -37,14 +37,17 @@ func initUpgradeCommand() *cobra.Command { " " + os.Args[0] + " lib upgrade Audio\n" + " " + os.Args[0] + " lib upgrade Audio ArduinoJson", Args: cobra.ArbitraryArgs, - Run: runUpgradeCommand, + Run: func(cmd *cobra.Command, args []string) { + runUpgradeCommand(srv, args) + }, } return upgradeCommand } -func runUpgradeCommand(cmd *cobra.Command, args []string) { - instance := instance.CreateAndInit() +func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib upgrade`") + ctx := context.Background() + instance := instance.CreateAndInit(srv, ctx) Upgrade(instance, args) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 597933939a3..e11c10eef05 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -86,6 +86,7 @@ func runMonitorCmd( configs []string, describe, timestamp, quiet, raw bool, ) { logrus.Info("Executing `arduino-cli monitor`") + ctx := context.Background() if !feedback.HasConsole() { quiet = true @@ -116,13 +117,13 @@ func runMonitorCmd( } if fqbnArg.String() == "" { if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(sketch.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sketch.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) } } if inst == nil { - inst = instance.CreateAndInit() + inst = instance.CreateAndInit(srv, ctx) } // Priority on how to retrieve the fqbn // 1. from flag diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 4859f6159fc..7570da56c1b 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -16,6 +16,7 @@ package outdated import ( + "context" "fmt" "os" "sort" @@ -36,7 +37,7 @@ import ( var tr = i18n.Tr // NewCommand creates a new `outdated` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { outdatedCommand := &cobra.Command{ Use: "outdated", Short: tr("Lists cores and libraries that can be upgraded"), @@ -44,14 +45,17 @@ func NewCommand() *cobra.Command { that can be upgraded. If nothing needs to be updated the output is empty.`), Example: " " + os.Args[0] + " outdated\n", Args: cobra.NoArgs, - Run: runOutdatedCommand, + Run: func(cmd *cobra.Command, args []string) { + runOutdatedCommand(srv) + }, } return outdatedCommand } -func runOutdatedCommand(cmd *cobra.Command, args []string) { - inst := instance.CreateAndInit() +func runOutdatedCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli outdated`") + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) Outdated(inst) } diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index d516a5cc701..3c2d77cff85 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -16,6 +16,7 @@ package update import ( + "context" "os" "github.com/arduino/arduino-cli/internal/cli/core" @@ -23,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/lib" "github.com/arduino/arduino-cli/internal/cli/outdated" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -30,7 +32,7 @@ import ( var tr = i18n.Tr // NewCommand creates a new `update` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var showOutdated bool updateCommand := &cobra.Command{ Use: "update", @@ -39,16 +41,18 @@ func NewCommand() *cobra.Command { Example: " " + os.Args[0] + " update", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runUpdateCommand(showOutdated) + runUpdateCommand(srv, showOutdated) }, } updateCommand.Flags().BoolVar(&showOutdated, "show-outdated", false, tr("Show outdated cores and libraries after index update")) return updateCommand } -func runUpdateCommand(showOutdated bool) { - inst := instance.CreateAndInit() +func runUpdateCommand(srv rpc.ArduinoCoreServiceServer, showOutdated bool) { logrus.Info("Executing `arduino-cli update`") + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) + lib.UpdateIndex(inst) core.UpdateIndex(inst) instance.Init(inst) diff --git a/internal/cli/upgrade/upgrade.go b/internal/cli/upgrade/upgrade.go index cf1f71448e7..98339aad7f8 100644 --- a/internal/cli/upgrade/upgrade.go +++ b/internal/cli/upgrade/upgrade.go @@ -16,6 +16,7 @@ package upgrade import ( + "context" "os" "github.com/arduino/arduino-cli/internal/cli/arguments" @@ -23,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/cli/lib" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -30,7 +32,7 @@ import ( var tr = i18n.Tr // NewCommand creates a new `upgrade` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var postInstallFlags arguments.PrePostScriptsFlags upgradeCommand := &cobra.Command{ Use: "upgrade", @@ -39,16 +41,17 @@ func NewCommand() *cobra.Command { Example: " " + os.Args[0] + " upgrade", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runUpgradeCommand(postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) + runUpgradeCommand(srv, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) }, } postInstallFlags.AddToCommand(upgradeCommand) return upgradeCommand } -func runUpgradeCommand(skipPostInstall bool, skipPreUninstall bool) { - inst := instance.CreateAndInit() +func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, skipPostInstall bool, skipPreUninstall bool) { + ctx := context.Background() + inst := instance.CreateAndInit(srv, ctx) logrus.Info("Executing `arduino-cli upgrade`") lib.Upgrade(inst, []string{}) - core.Upgrade(inst, []string{}, skipPostInstall, skipPreUninstall) + core.Upgrade(srv, ctx, inst, []string{}, skipPostInstall, skipPreUninstall) } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 125b25d317d..0cc1f0f89f1 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -84,6 +84,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFieldsArgs map[string]string) { logrus.Info("Executing `arduino-cli upload`") + ctx := context.Background() + path := "" if len(args) > 0 { path = args[0] @@ -101,9 +103,9 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie var profile *rpc.SketchProfile if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(sketch.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sketch.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) } if fqbnArg.String() == "" { From 8bd0eef02ed248d92d9c803984b47d9a646e21f8 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 14 Mar 2024 13:14:38 +0100 Subject: [PATCH 147/361] Follow convetion where context must be the first argument --- internal/cli/arguments/completion.go | 36 +++++++++---------- internal/cli/arguments/fqbn.go | 2 +- internal/cli/arguments/port.go | 4 +-- internal/cli/arguments/programmer.go | 2 +- internal/cli/arguments/reference.go | 8 ++--- internal/cli/arguments/reference_test.go | 6 ++-- internal/cli/board/details.go | 2 +- internal/cli/board/list.go | 2 +- internal/cli/board/listall.go | 2 +- internal/cli/board/search.go | 2 +- internal/cli/burnbootloader/burnbootloader.go | 2 +- internal/cli/compile/compile.go | 4 +-- internal/cli/core/download.go | 6 ++-- internal/cli/core/install.go | 6 ++-- internal/cli/core/list.go | 2 +- internal/cli/core/search.go | 2 +- internal/cli/core/uninstall.go | 6 ++-- internal/cli/core/update_index.go | 2 +- internal/cli/core/upgrade.go | 8 ++--- internal/cli/debug/debug.go | 4 +-- internal/cli/debug/debug_check.go | 2 +- internal/cli/instance/instance.go | 10 +++--- internal/cli/lib/check_deps.go | 4 +-- internal/cli/lib/download.go | 4 +-- internal/cli/lib/examples.go | 4 +-- internal/cli/lib/install.go | 4 +-- internal/cli/lib/list.go | 2 +- internal/cli/lib/search.go | 2 +- internal/cli/lib/uninstall.go | 4 +-- internal/cli/lib/update_index.go | 2 +- internal/cli/lib/upgrade.go | 2 +- internal/cli/monitor/monitor.go | 6 ++-- internal/cli/outdated/outdated.go | 2 +- internal/cli/update/update.go | 2 +- internal/cli/upgrade/upgrade.go | 4 +-- internal/cli/upload/upload.go | 4 +-- 36 files changed, 83 insertions(+), 83 deletions(-) diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index c86a657793a..f5446d3e4ed 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -27,8 +27,8 @@ import ( // GetInstalledBoards is an helper function useful to autocomplete. // It returns a list of fqbn // it's taken from cli/board/listall.go -func GetInstalledBoards(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { - inst := instance.CreateAndInit(srv, ctx) +func GetInstalledBoards(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + inst := instance.CreateAndInit(ctx, srv) list, _ := srv.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ Instance: inst, @@ -45,8 +45,8 @@ func GetInstalledBoards(srv rpc.ArduinoCoreServiceServer, ctx context.Context) [ // GetInstalledProgrammers is an helper function useful to autocomplete. // It returns a list of programmers available based on the installed boards -func GetInstalledProgrammers(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { - inst := instance.CreateAndInit(srv, ctx) +func GetInstalledProgrammers(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + inst := instance.CreateAndInit(ctx, srv) // we need the list of the available fqbn in order to get the list of the programmers listAllReq := &rpc.BoardListAllRequest{ @@ -78,8 +78,8 @@ func GetInstalledProgrammers(srv rpc.ArduinoCoreServiceServer, ctx context.Conte // GetUninstallableCores is an helper function useful to autocomplete. // It returns a list of cores which can be uninstalled -func GetUninstallableCores(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { - inst := instance.CreateAndInit(srv, ctx) +func GetUninstallableCores(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + inst := instance.CreateAndInit(ctx, srv) platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, @@ -99,8 +99,8 @@ func GetUninstallableCores(srv rpc.ArduinoCoreServiceServer, ctx context.Context // GetInstallableCores is an helper function useful to autocomplete. // It returns a list of cores which can be installed/downloaded -func GetInstallableCores(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { - inst := instance.CreateAndInit(srv, ctx) +func GetInstallableCores(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + inst := instance.CreateAndInit(ctx, srv) platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ Instance: inst, @@ -118,18 +118,18 @@ func GetInstallableCores(srv rpc.ArduinoCoreServiceServer, ctx context.Context) // GetInstalledLibraries is an helper function useful to autocomplete. // It returns a list of libs which are currently installed, including the builtin ones -func GetInstalledLibraries(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { - return getLibraries(srv, ctx, true) +func GetInstalledLibraries(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + return getLibraries(ctx, srv, true) } // GetUninstallableLibraries is an helper function useful to autocomplete. // It returns a list of libs which can be uninstalled -func GetUninstallableLibraries(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { - return getLibraries(srv, ctx, false) +func GetUninstallableLibraries(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + return getLibraries(ctx, srv, false) } -func getLibraries(srv rpc.ArduinoCoreServiceServer, ctx context.Context, all bool) []string { - inst := instance.CreateAndInit(srv, ctx) +func getLibraries(ctx context.Context, srv rpc.ArduinoCoreServiceServer, all bool) []string { + inst := instance.CreateAndInit(ctx, srv) libs, _ := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ Instance: inst, All: all, @@ -147,8 +147,8 @@ func getLibraries(srv rpc.ArduinoCoreServiceServer, ctx context.Context, all boo // GetInstallableLibs is an helper function useful to autocomplete. // It returns a list of libs which can be installed/downloaded -func GetInstallableLibs(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []string { - inst := instance.CreateAndInit(srv, ctx) +func GetInstallableLibs(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + inst := instance.CreateAndInit(ctx, srv) libs, _ := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ Instance: inst, @@ -165,9 +165,9 @@ func GetInstallableLibs(srv rpc.ArduinoCoreServiceServer, ctx context.Context) [ // GetAvailablePorts is an helper function useful to autocomplete. // It returns a list of upload port of the boards which are currently connected. // It will not suggests network ports because the timeout is not set. -func GetAvailablePorts(srv rpc.ArduinoCoreServiceServer, ctx context.Context) []*rpc.Port { +func GetAvailablePorts(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []*rpc.Port { // Get the port list - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) list, _ := srv.BoardList(ctx, &rpc.BoardListRequest{Instance: inst}) // Transform the data structure for the completion (DetectedPort -> Port) diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index 26c1248e2b4..6369cca6bab 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -37,7 +37,7 @@ type Fqbn struct { func (f *Fqbn) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&f.fqbn, "fqbn", "b", "", tr("Fully Qualified Board Name, e.g.: arduino:avr:uno")) cmd.RegisterFlagCompletionFunc("fqbn", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledBoards(srv, context.Background()), cobra.ShellCompDirectiveDefault + return GetInstalledBoards(context.Background(), srv), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringSliceVar(&f.boardOptions, "board-options", []string{}, tr("List of board options separated by commas. Or can be used multiple times for multiple options.")) diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index 51247603438..e3566699b0f 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -42,11 +42,11 @@ type Port struct { func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.address, "port", "p", "", tr("Upload port address, e.g.: COM3 or /dev/ttyACM2")) cmd.RegisterFlagCompletionFunc("port", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(srv, context.Background()), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(context.Background(), srv), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringVarP(&p.protocol, "protocol", "l", "", tr("Upload port protocol, e.g: serial")) cmd.RegisterFlagCompletionFunc("protocol", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(srv, context.Background()), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(context.Background(), srv), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault }) p.timeout.AddToCommand(cmd) } diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index ed3eb2f8043..c17ec739816 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -33,7 +33,7 @@ type Programmer struct { func (p *Programmer) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.programmer, "programmer", "P", "", tr("Programmer to use, e.g: atmel_ice")) cmd.RegisterFlagCompletionFunc("programmer", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledProgrammers(srv, context.Background()), cobra.ShellCompDirectiveDefault + return GetInstalledProgrammers(context.Background(), srv), cobra.ShellCompDirectiveDefault }) } diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index a8c828890e1..84ad12744fb 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -44,11 +44,11 @@ func (r *Reference) String() string { // ParseReferences is a convenient wrapper that operates on a slice of strings and // calls ParseReference for each of them. It returns at the first invalid argument. -func ParseReferences(srv rpc.ArduinoCoreServiceServer, ctx context.Context, args []string) ([]*Reference, error) { +func ParseReferences(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) ([]*Reference, error) { ret := []*Reference{} for _, arg := range args { // TODO: This is quite resource consuming (since it creates a new instance for each call) - reference, err := ParseReference(srv, ctx, arg) + reference, err := ParseReference(ctx, srv, arg) if err != nil { return nil, err } @@ -62,7 +62,7 @@ func ParseReferences(srv rpc.ArduinoCoreServiceServer, ctx context.Context, args // To achieve that, it tries to use github.com/arduino/arduino-cli/commands/core.GetPlatform // Note that the Reference is returned rightaway if the arg inserted by the user matches perfectly one in the response of core.GetPlatform // A MultiplePlatformsError is returned if the platform searched by the user matches multiple platforms -func ParseReference(srv rpc.ArduinoCoreServiceServer, ctx context.Context, arg string) (*Reference, error) { +func ParseReference(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg string) (*Reference, error) { logrus.Infof("Parsing reference %s", arg) ret := &Reference{} if arg == "" { @@ -98,7 +98,7 @@ func ParseReference(srv rpc.ArduinoCoreServiceServer, ctx context.Context, arg s // try to use core.PlatformList to optimize what the user typed // (by replacing the PackageName and Architecture in ret with the content of core.GetPlatform()) platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ - Instance: instance.CreateAndInit(srv, ctx), + Instance: instance.CreateAndInit(ctx, srv), }) foundPlatforms := []string{} for _, platform := range platforms.GetSearchOutput() { diff --git a/internal/cli/arguments/reference_test.go b/internal/cli/arguments/reference_test.go index 032899e9f73..b4176dc4e5e 100644 --- a/internal/cli/arguments/reference_test.go +++ b/internal/cli/arguments/reference_test.go @@ -62,13 +62,13 @@ func TestParseReferenceCores(t *testing.T) { srv := commands.NewArduinoCoreServer("") ctx := context.Background() for _, tt := range goodCores { - actual, err := arguments.ParseReference(srv, ctx, tt.in) + actual, err := arguments.ParseReference(ctx, srv, tt.in) assert.Nil(t, err) assert.Equal(t, tt.expected, actual) } for _, tt := range badCores { - actual, err := arguments.ParseReference(srv, ctx, tt.in) + actual, err := arguments.ParseReference(ctx, srv, tt.in) require.NotNil(t, err, "Testing bad core '%s'", tt.in) require.Equal(t, tt.expected, actual, "Testing bad core '%s'", tt.in) } @@ -81,7 +81,7 @@ func TestParseArgs(t *testing.T) { } srv := commands.NewArduinoCoreServer("") - refs, err := arguments.ParseReferences(srv, context.Background(), input) + refs, err := arguments.ParseReferences(context.Background(), srv, input) assert.Nil(t, err) assert.Equal(t, len(goodCores), len(refs)) diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index c3a7c117945..49fb5aea2b6 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -57,7 +57,7 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runDetailsCommand(srv rpc.ArduinoCoreServiceServer, fqbn string, showFullDetails, listProgrammers bool, showProperties arguments.ShowProperties) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board details`") diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 457797403d7..882de46aaa5 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -59,7 +59,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { // runListCommand detects and lists the connected arduino boards func runListCommand(srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, fqbn string) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board list`") diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index a0cc18e5a3d..8eaa2c9392b 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -53,7 +53,7 @@ for a specific board if you specify the board name`), // runListAllCommand list all installed boards func runListAllCommand(args []string, srv rpc.ArduinoCoreServiceServer) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board listall`") diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index c49e640ff18..057026a23b2 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -50,7 +50,7 @@ func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board search`") diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index c191d9da4d0..21ea22dbf3f 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -67,7 +67,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli burn-bootloader`") diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index b5b7039e249..2a628a752f9 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -169,9 +169,9 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer var profile *rpc.SketchProfile if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sk.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, sk.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, profileArg.Get(), sketchPath) } if fqbnArg.String() == "" { diff --git a/internal/cli/core/download.go b/internal/cli/core/download.go index 909ffe30448..4fdb11815e3 100644 --- a/internal/cli/core/download.go +++ b/internal/cli/core/download.go @@ -42,7 +42,7 @@ func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runDownloadCommand(srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableCores(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableCores(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } return downloadCommand @@ -50,11 +50,11 @@ func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli core download`") - platformsRefs, err := arguments.ParseReferences(srv, ctx, args) + platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/core/install.go b/internal/cli/core/install.go index d59361f4ee2..b032661a918 100644 --- a/internal/cli/core/install.go +++ b/internal/cli/core/install.go @@ -48,7 +48,7 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runInstallCommand(srv, args, scriptFlags, noOverwrite) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableCores(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableCores(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } scriptFlags.AddToCommand(installCommand) @@ -59,9 +59,9 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, scriptFlags arguments.PrePostScriptsFlags, noOverwrite bool) { logrus.Info("Executing `arduino-cli core install`") ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) - platformsRefs, err := arguments.ParseReferences(srv, ctx, args) + platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index c0ec34a8f67..71d7a15601e 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -49,7 +49,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runListCommand(srv rpc.ArduinoCoreServiceServer, all bool, updatableOnly bool) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli core list`") List(inst, all, updatableOnly) } diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 610a9fb97ca..108f41ec2ee 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -54,7 +54,7 @@ const indexUpdateInterval = 24 * time.Hour func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, allVersions bool) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) res, err := commands.UpdateIndex( context.Background(), diff --git a/internal/cli/core/uninstall.go b/internal/cli/core/uninstall.go index 70df514cccb..83d0a2b3cec 100644 --- a/internal/cli/core/uninstall.go +++ b/internal/cli/core/uninstall.go @@ -41,7 +41,7 @@ func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runUninstallCommand(srv, args, preUninstallFlags) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetUninstallableCores(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetUninstallableCores(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } preUninstallFlags.AddToCommand(uninstallCommand) @@ -51,9 +51,9 @@ func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, preUninstallFlags arguments.PrePostScriptsFlags) { logrus.Info("Executing `arduino-cli core uninstall`") ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) - platformsRefs, err := arguments.ParseReferences(srv, ctx, args) + platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/core/update_index.go b/internal/cli/core/update_index.go index 17bc7b194a3..71e14c3b2ad 100644 --- a/internal/cli/core/update_index.go +++ b/internal/cli/core/update_index.go @@ -45,7 +45,7 @@ func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli core update-index`") ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) resp := UpdateIndex(inst) feedback.PrintResult(&updateIndexResult{result.NewUpdateIndexResponse_ResultResult(resp)}) diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index faf81ab245d..22ba5c0dd58 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -53,12 +53,12 @@ func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string, skipPostInstall bool, skipPreUninstall bool) { logrus.Info("Executing `arduino-cli core upgrade`") ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) - Upgrade(srv, ctx, inst, args, skipPostInstall, skipPreUninstall) + inst := instance.CreateAndInit(ctx, srv) + Upgrade(ctx, srv, inst, args, skipPostInstall, skipPreUninstall) } // Upgrade upgrades one or all installed platforms to the latest version. -func Upgrade(srv rpc.ArduinoCoreServiceServer, ctx context.Context, inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUninstall bool) { +func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUninstall bool) { // if no platform was passed, upgrade allthethings if len(args) == 0 { platforms, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ @@ -103,7 +103,7 @@ func Upgrade(srv rpc.ArduinoCoreServiceServer, ctx context.Context, inst *rpc.In } // proceed upgrading, if anything is upgradable - platformsRefs, err := arguments.ParseReferences(srv, ctx, args) + platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 56b380842d2..90d03cd459c 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -93,9 +93,9 @@ func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs * var profile *rpc.SketchProfile if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sk.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, sk.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, profileArg.Get(), sketchPath) } if fqbnArg.String() == "" { diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 569c64a880c..81cc70cb1d5 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -53,7 +53,7 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runDebugCheckCommand(srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli debug`") port, err := portArgs.GetPort(instance, srv, "", "") diff --git a/internal/cli/instance/instance.go b/internal/cli/instance/instance.go index 6572fe65802..2d2db7ff52d 100644 --- a/internal/cli/instance/instance.go +++ b/internal/cli/instance/instance.go @@ -31,16 +31,16 @@ var tr = i18n.Tr // If Create fails the CLI prints an error and exits since // to execute further operations a valid Instance is mandatory. // If Init returns errors they're printed only. -func CreateAndInit(srv rpc.ArduinoCoreServiceServer, ctx context.Context) *rpc.Instance { - inst, _ := CreateAndInitWithProfile(srv, ctx, "", nil) +func CreateAndInit(ctx context.Context, srv rpc.ArduinoCoreServiceServer) *rpc.Instance { + inst, _ := CreateAndInitWithProfile(ctx, srv, "", nil) return inst } // CreateAndInitWithProfile returns a new initialized instance using the given profile of the given sketch. // If Create fails the CLI prints an error and exits since to execute further operations a valid Instance is mandatory. // If Init returns errors they're printed only. -func CreateAndInitWithProfile(srv rpc.ArduinoCoreServiceServer, ctx context.Context, profileName string, sketchPath *paths.Path) (*rpc.Instance, *rpc.SketchProfile) { - instance, err := create(srv, ctx) +func CreateAndInitWithProfile(ctx context.Context, srv rpc.ArduinoCoreServiceServer, profileName string, sketchPath *paths.Path) (*rpc.Instance, *rpc.SketchProfile) { + instance, err := create(ctx, srv) if err != nil { feedback.Fatal(tr("Error creating instance: %v", err), feedback.ErrGeneric) } @@ -49,7 +49,7 @@ func CreateAndInitWithProfile(srv rpc.ArduinoCoreServiceServer, ctx context.Cont } // create and return a new Instance. -func create(srv rpc.ArduinoCoreServiceServer, ctx context.Context) (*rpc.Instance, error) { +func create(ctx context.Context, srv rpc.ArduinoCoreServiceServer) (*rpc.Instance, error) { res, err := srv.Create(ctx, &rpc.CreateRequest{}) if err != nil { return nil, err diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 9c43830c671..87a88837209 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -46,7 +46,7 @@ func initDepsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runDepsCommand(srv, args, noOverwrite) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstalledLibraries(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetInstalledLibraries(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } depsCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, tr("Do not try to update library dependencies if already installed.")) @@ -55,7 +55,7 @@ func initDepsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runDepsCommand(srv rpc.ArduinoCoreServiceServer, args []string, noOverwrite bool) { ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib deps`") libRef, err := ParseLibraryReferenceArgAndAdjustCase(instance, args[0]) diff --git a/internal/cli/lib/download.go b/internal/cli/lib/download.go index 7c714bb1768..415ce52eb16 100644 --- a/internal/cli/lib/download.go +++ b/internal/cli/lib/download.go @@ -42,7 +42,7 @@ func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runDownloadCommand(srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableLibs(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableLibs(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } return downloadCommand @@ -51,7 +51,7 @@ func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib download`") ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) refs, err := ParseLibraryReferenceArgsAndAdjustCase(instance, args) if err != nil { diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index e8e756ceb0d..06f42086fd6 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -49,7 +49,7 @@ func initExamplesCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runExamplesCommand(srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstalledLibraries(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetInstalledLibraries(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } fqbn.AddToCommand(examplesCommand, srv) @@ -59,7 +59,7 @@ func initExamplesCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runExamplesCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib examples`") ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) name := "" if len(args) > 0 { diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 22b6f5f8187..64bede99f8d 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -55,7 +55,7 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runInstallCommand(srv, args, noDeps, noOverwrite, gitURL, zipPath, useBuiltinLibrariesDir) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableLibs(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableLibs(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } installCommand.Flags().BoolVar(&noDeps, "no-deps", false, tr("Do not install dependencies.")) @@ -68,7 +68,7 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps bool, noOverwrite bool, gitURL bool, zipPath bool, useBuiltinLibrariesDir bool) { ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib install`") if zipPath || gitURL { diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index df22b4ef856..1487cf75527 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -47,7 +47,7 @@ not listed, they can be listed by adding the --all flag.`), Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib list`") List(instance, args, all, updatable) }, diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 6fbd0728a78..c76526a97c2 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -103,7 +103,7 @@ const indexUpdateInterval = 60 * time.Minute func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, namesOnly bool, omitReleasesDetails bool) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib search`") diff --git a/internal/cli/lib/uninstall.go b/internal/cli/lib/uninstall.go index dc80f0de7e3..a79ba4683de 100644 --- a/internal/cli/lib/uninstall.go +++ b/internal/cli/lib/uninstall.go @@ -40,7 +40,7 @@ func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runUninstallCommand(srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetUninstallableLibraries(srv, context.Background()), cobra.ShellCompDirectiveDefault + return arguments.GetUninstallableLibraries(context.Background(), srv), cobra.ShellCompDirectiveDefault }, } return uninstallCommand @@ -49,7 +49,7 @@ func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib uninstall`") ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) refs, err := ParseLibraryReferenceArgsAndAdjustCase(instance, args) if err != nil { diff --git a/internal/cli/lib/update_index.go b/internal/cli/lib/update_index.go index 9621978727c..5d531eb96e3 100644 --- a/internal/cli/lib/update_index.go +++ b/internal/cli/lib/update_index.go @@ -44,7 +44,7 @@ func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib update-index`") resp := UpdateIndex(inst) diff --git a/internal/cli/lib/upgrade.go b/internal/cli/lib/upgrade.go index 9d018a6ef4a..e7997e3869a 100644 --- a/internal/cli/lib/upgrade.go +++ b/internal/cli/lib/upgrade.go @@ -47,7 +47,7 @@ func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib upgrade`") ctx := context.Background() - instance := instance.CreateAndInit(srv, ctx) + instance := instance.CreateAndInit(ctx, srv) Upgrade(instance, args) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index e11c10eef05..b60805e36b5 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -117,13 +117,13 @@ func runMonitorCmd( } if fqbnArg.String() == "" { if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sketch.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, sketch.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, profileArg.Get(), sketchPath) } } if inst == nil { - inst = instance.CreateAndInit(srv, ctx) + inst = instance.CreateAndInit(ctx, srv) } // Priority on how to retrieve the fqbn // 1. from flag diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 7570da56c1b..7ec59e81e57 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -55,7 +55,7 @@ that can be upgraded. If nothing needs to be updated the output is empty.`), func runOutdatedCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli outdated`") ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) Outdated(inst) } diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index 3c2d77cff85..210ba7874d6 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -51,7 +51,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUpdateCommand(srv rpc.ArduinoCoreServiceServer, showOutdated bool) { logrus.Info("Executing `arduino-cli update`") ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) lib.UpdateIndex(inst) core.UpdateIndex(inst) diff --git a/internal/cli/upgrade/upgrade.go b/internal/cli/upgrade/upgrade.go index 98339aad7f8..e80b98fa5c7 100644 --- a/internal/cli/upgrade/upgrade.go +++ b/internal/cli/upgrade/upgrade.go @@ -50,8 +50,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, skipPostInstall bool, skipPreUninstall bool) { ctx := context.Background() - inst := instance.CreateAndInit(srv, ctx) + inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli upgrade`") lib.Upgrade(inst, []string{}) - core.Upgrade(srv, ctx, inst, []string{}, skipPostInstall, skipPreUninstall) + core.Upgrade(ctx, srv, inst, []string{}, skipPostInstall, skipPreUninstall) } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 0cc1f0f89f1..97bd50c5af8 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -103,9 +103,9 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie var profile *rpc.SketchProfile if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, sketch.GetDefaultProfile().GetName(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, sketch.GetDefaultProfile().GetName(), sketchPath) } else { - inst, profile = instance.CreateAndInitWithProfile(srv, ctx, profileArg.Get(), sketchPath) + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, profileArg.Get(), sketchPath) } if fqbnArg.String() == "" { From a81069dda0cfc5090b12796fb3a7c00a22417228 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 14 Mar 2024 15:54:39 +0100 Subject: [PATCH 148/361] Inlining methods in ArduinoCoreServiceImpl (part 6: Init) Added helpers to get init progress. --- commands/grpc_streaming_helpers.go | 42 ++++++++++++++++++++++++ commands/instances.go | 19 +++++++---- commands/service.go | 18 ++++------ commands/service_library_install.go | 5 +-- commands/service_library_upgrade.go | 17 ++++++---- commands/service_platform_install.go | 6 ++-- commands/service_platform_search_test.go | 4 +-- commands/service_platform_uninstall.go | 4 +-- commands/service_platform_upgrade.go | 4 +-- internal/cli/core/install.go | 2 +- internal/cli/core/search.go | 2 +- internal/cli/core/uninstall.go | 2 +- internal/cli/core/upgrade.go | 2 +- internal/cli/instance/instance.go | 13 ++++---- internal/cli/lib/install.go | 2 +- internal/cli/lib/search.go | 2 +- internal/cli/lib/upgrade.go | 8 ++--- internal/cli/update/update.go | 2 +- internal/cli/upgrade/upgrade.go | 2 +- 19 files changed, 103 insertions(+), 53 deletions(-) diff --git a/commands/grpc_streaming_helpers.go b/commands/grpc_streaming_helpers.go index d86dfd61795..927e5e40f2d 100644 --- a/commands/grpc_streaming_helpers.go +++ b/commands/grpc_streaming_helpers.go @@ -76,3 +76,45 @@ func (w *streamingResponseProxyToChan[T]) SetHeader(metadata.MD) error { func (w *streamingResponseProxyToChan[T]) SetTrailer(tr metadata.MD) { } + +// streamingResponseProxyToCallback is a streaming response proxy that +// forwards the responses to a callback function +type streamingResponseProxyToCallback[T any] struct { + ctx context.Context + cb func(*T) error +} + +// creates a streaming response proxy that forwards the responses to a callback function +func streamResponseToCallback[T any](ctx context.Context, cb func(*T) error) *streamingResponseProxyToCallback[T] { + if cb == nil { + cb = func(*T) error { return nil } + } + return &streamingResponseProxyToCallback[T]{ctx: ctx, cb: cb} +} + +func (w *streamingResponseProxyToCallback[T]) Send(resp *T) error { + return w.cb(resp) +} + +func (w *streamingResponseProxyToCallback[T]) Context() context.Context { + return w.ctx +} + +func (w *streamingResponseProxyToCallback[T]) RecvMsg(m any) error { + return errors.New("RecvMsg not implemented") +} + +func (w *streamingResponseProxyToCallback[T]) SendHeader(metadata.MD) error { + return errors.New("SendHeader not implemented") +} + +func (w *streamingResponseProxyToCallback[T]) SendMsg(m any) error { + return errors.New("SendMsg not implemented") +} + +func (w *streamingResponseProxyToCallback[T]) SetHeader(metadata.MD) error { + return errors.New("SetHeader not implemented") +} + +func (w *streamingResponseProxyToCallback[T]) SetTrailer(tr metadata.MD) { +} diff --git a/commands/instances.go b/commands/instances.go index 92c317fe836..f795c1ad04e 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -96,23 +96,30 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque return &rpc.CreateResponse{Instance: inst}, nil } +// InitStreamResponseToCallbackFunction returns a gRPC stream to be used in Init that sends +// all responses to the callback function. +func InitStreamResponseToCallbackFunction(ctx context.Context, cb func(r *rpc.InitResponse) error) rpc.ArduinoCoreService_InitServer { + return streamResponseToCallback(ctx, cb) +} + // Init loads installed libraries and Platforms in CoreInstance with specified ID, // a gRPC status error is returned if the CoreInstance doesn't exist. // All responses are sent through responseCallback, can be nil to ignore all responses. // Failures don't stop the loading process, in case of loading failure the Platform or library // is simply skipped and an error gRPC status is sent to responseCallback. -func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) error { - if responseCallback == nil { - responseCallback = func(r *rpc.InitResponse) {} - } +func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { instance := req.GetInstance() if !instances.IsValid(instance) { return &cmderrors.InvalidInstanceError{} } // Setup callback functions - if responseCallback == nil { - responseCallback = func(r *rpc.InitResponse) {} + var responseCallback func(*rpc.InitResponse) error + if stream != nil { + syncSend := NewSynchronizedSend(stream.Send) + responseCallback = syncSend.Send + } else { + responseCallback = func(*rpc.InitResponse) error { return nil } } responseError := func(st *status.Status) { responseCallback(&rpc.InitResponse{ diff --git a/commands/service.go b/commands/service.go index 548a93d9a5f..4fb73e74dc1 100644 --- a/commands/service.go +++ b/commands/service.go @@ -78,12 +78,6 @@ func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd return err } -// Init FIXMEDOC -func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { - syncSend := NewSynchronizedSend(stream.Send) - return Init(req, func(message *rpc.InitResponse) { syncSend.Send(message) }) -} - // Version FIXMEDOC func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionRequest) (*rpc.VersionResponse, error) { return &rpc.VersionResponse{Version: s.versionString}, nil @@ -144,7 +138,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := PlatformInstall( - stream.Context(), req, + stream.Context(), s, req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformInstallResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformInstallResponse{TaskProgress: p}) }, ) @@ -171,7 +165,7 @@ func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques func (s *arduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequest, stream rpc.ArduinoCoreService_PlatformUninstallServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := PlatformUninstall( - stream.Context(), req, + stream.Context(), s, req, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUninstallResponse{TaskProgress: p}) }, ) if err != nil { @@ -184,7 +178,7 @@ func (s *arduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequ func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, stream rpc.ArduinoCoreService_PlatformUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) resp, err := PlatformUpgrade( - stream.Context(), req, + stream.Context(), s, req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{TaskProgress: p}) }, ) @@ -304,7 +298,7 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) return LibraryInstall( - stream.Context(), req, + stream.Context(), s, req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryInstallResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryInstallResponse{TaskProgress: p}) }, ) @@ -314,7 +308,7 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s func (s *arduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) return LibraryUpgrade( - stream.Context(), req, + stream.Context(), s, req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{TaskProgress: p}) }, ) @@ -331,7 +325,7 @@ func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques // LibraryUpgradeAll FIXMEDOC func (s *arduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { syncSend := NewSynchronizedSend(stream.Send) - return LibraryUpgradeAll(req, + return LibraryUpgradeAll(s, req, func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{Progress: p}) }, func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{TaskProgress: p}) }, ) diff --git a/commands/service_library_install.go b/commands/service_library_install.go index 021eada534f..f08c50f8ccc 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -31,7 +31,7 @@ import ( ) // LibraryInstall resolves the library dependencies, then downloads and installs the libraries into the install location. -func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func LibraryInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.LibraryInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { // Obtain the library index from the manager li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { @@ -136,7 +136,8 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa } } - if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + stream := InitStreamResponseToCallbackFunction(ctx, nil) + if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, stream); err != nil { return err } diff --git a/commands/service_library_upgrade.go b/commands/service_library_upgrade.go index 75742a22dd3..327c0245ee7 100644 --- a/commands/service_library_upgrade.go +++ b/commands/service_library_upgrade.go @@ -24,7 +24,9 @@ import ( ) // LibraryUpgradeAll upgrades all the available libraries -func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func LibraryUpgradeAll(srv rpc.ArduinoCoreServiceServer, req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { + ctx := context.Background() + li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return err @@ -37,11 +39,12 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa libsToUpgrade := listLibraries(lme, li, true, false) release() - if err := upgrade(req.GetInstance(), libsToUpgrade, downloadCB, taskCB); err != nil { + if err := upgrade(ctx, srv, req.GetInstance(), libsToUpgrade, downloadCB, taskCB); err != nil { return err } - if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + stream := InitStreamResponseToCallbackFunction(ctx, nil) + if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, stream); err != nil { return err } @@ -49,7 +52,7 @@ func LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.Downloa } // LibraryUpgrade upgrades a library -func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func LibraryUpgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.LibraryUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return err @@ -75,10 +78,10 @@ func LibraryUpgrade(ctx context.Context, req *rpc.LibraryUpgradeRequest, downloa } // Install update - return upgrade(req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB) + return upgrade(ctx, srv, req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB) } -func upgrade(instance *rpc.Instance, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { for _, lib := range libs { libInstallReq := &rpc.LibraryInstallRequest{ Instance: instance, @@ -87,7 +90,7 @@ func upgrade(instance *rpc.Instance, libs []*installedLib, downloadCB rpc.Downlo NoDeps: false, NoOverwrite: false, } - err := LibraryInstall(context.Background(), libInstallReq, downloadCB, taskCB) + err := LibraryInstall(ctx, srv, libInstallReq, downloadCB, taskCB) if err != nil { return err } diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index 1fad3919f44..94c64c07921 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -26,7 +26,7 @@ import ( ) // PlatformInstall FIXMEDOC -func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformInstallResponse, error) { +func PlatformInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.PlatformInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformInstallResponse, error) { install := func() error { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { @@ -73,7 +73,9 @@ func PlatformInstall(ctx context.Context, req *rpc.PlatformInstallRequest, downl if err := install(); err != nil { return nil, err } - if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + + stream := InitStreamResponseToCallbackFunction(ctx, nil) + if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, stream); err != nil { return nil, err } return &rpc.PlatformInstallResponse{}, nil diff --git a/commands/service_platform_search_test.go b/commands/service_platform_search_test.go index 83942433321..315a39c0fbb 100644 --- a/commands/service_platform_search_test.go +++ b/commands/service_platform_search_test.go @@ -46,7 +46,7 @@ func TestPlatformSearch(t *testing.T) { inst := createResp.GetInstance() require.NotNil(t, inst) - err = Init(&rpc.InitRequest{Instance: inst}, nil) + err = srv.Init(&rpc.InitRequest{Instance: inst}, InitStreamResponseToCallbackFunction(ctx, nil)) require.NoError(t, err) t.Run("SearchAllVersions", func(t *testing.T) { @@ -347,7 +347,7 @@ func TestPlatformSearchSorting(t *testing.T) { require.NoError(t, err) inst := createResp.GetInstance() require.NotNil(t, inst) - err = Init(&rpc.InitRequest{Instance: inst}, nil) + err = srv.Init(&rpc.InitRequest{Instance: inst}, InitStreamResponseToCallbackFunction(ctx, nil)) require.NoError(t, err) res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ diff --git a/commands/service_platform_uninstall.go b/commands/service_platform_uninstall.go index 9459a92ba86..b6679b891cb 100644 --- a/commands/service_platform_uninstall.go +++ b/commands/service_platform_uninstall.go @@ -25,11 +25,11 @@ import ( ) // PlatformUninstall FIXMEDOC -func PlatformUninstall(ctx context.Context, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) (*rpc.PlatformUninstallResponse, error) { +func PlatformUninstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) (*rpc.PlatformUninstallResponse, error) { if err := platformUninstall(req, taskCB); err != nil { return nil, err } - if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { return nil, err } return &rpc.PlatformUninstallResponse{}, nil diff --git a/commands/service_platform_upgrade.go b/commands/service_platform_upgrade.go index 2b8c5811364..25d7de2fc79 100644 --- a/commands/service_platform_upgrade.go +++ b/commands/service_platform_upgrade.go @@ -25,7 +25,7 @@ import ( ) // PlatformUpgrade FIXMEDOC -func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformUpgradeResponse, error) { +func PlatformUpgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.PlatformUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformUpgradeResponse, error) { upgrade := func() (*cores.PlatformRelease, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { @@ -57,7 +57,7 @@ func PlatformUpgrade(ctx context.Context, req *rpc.PlatformUpgradeRequest, downl if err != nil { return &rpc.PlatformUpgradeResponse{Platform: rpcPlatform}, err } - if err := Init(&rpc.InitRequest{Instance: req.GetInstance()}, nil); err != nil { + if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { return nil, err } diff --git a/internal/cli/core/install.go b/internal/cli/core/install.go index b032661a918..a6f1b7a35b3 100644 --- a/internal/cli/core/install.go +++ b/internal/cli/core/install.go @@ -76,7 +76,7 @@ func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, scriptFl NoOverwrite: noOverwrite, SkipPreUninstall: scriptFlags.DetectSkipPreUninstallValue(), } - _, err := commands.PlatformInstall(context.Background(), platformInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) + _, err := commands.PlatformInstall(ctx, srv, platformInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) if err != nil { feedback.Fatal(tr("Error during install: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 108f41ec2ee..030fdc981e2 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -66,7 +66,7 @@ func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, allVersio for _, idxRes := range res.GetUpdatedIndexes() { if idxRes.GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { // At least one index has been updated, reinitialize the instance - instance.Init(inst) + instance.Init(ctx, srv, inst) break } } diff --git a/internal/cli/core/uninstall.go b/internal/cli/core/uninstall.go index 83d0a2b3cec..6c8e7526211 100644 --- a/internal/cli/core/uninstall.go +++ b/internal/cli/core/uninstall.go @@ -64,7 +64,7 @@ func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, preUni } } for _, platformRef := range platformsRefs { - _, err := commands.PlatformUninstall(context.Background(), &rpc.PlatformUninstallRequest{ + _, err := commands.PlatformUninstall(ctx, srv, &rpc.PlatformUninstallRequest{ Instance: inst, PlatformPackage: platformRef.PackageName, Architecture: platformRef.Architecture, diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 22ba5c0dd58..131fe713ede 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -123,7 +123,7 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In SkipPostInstall: skipPostInstall, SkipPreUninstall: skipPreUninstall, } - response, err := commands.PlatformUpgrade(context.Background(), r, feedback.ProgressBar(), feedback.TaskProgress()) + response, err := commands.PlatformUpgrade(ctx, srv, r, feedback.ProgressBar(), feedback.TaskProgress()) warningMissingIndex(response) if err != nil { var alreadyAtLatestVersionErr *cmderrors.PlatformAlreadyAtTheLatestVersionError diff --git a/internal/cli/instance/instance.go b/internal/cli/instance/instance.go index 2d2db7ff52d..28a19ad6e5a 100644 --- a/internal/cli/instance/instance.go +++ b/internal/cli/instance/instance.go @@ -44,7 +44,7 @@ func CreateAndInitWithProfile(ctx context.Context, srv rpc.ArduinoCoreServiceSer if err != nil { feedback.Fatal(tr("Error creating instance: %v", err), feedback.ErrGeneric) } - profile := InitWithProfile(instance, profileName, sketchPath) + profile := InitWithProfile(ctx, srv, instance, profileName, sketchPath) return instance, profile } @@ -62,14 +62,14 @@ func create(ctx context.Context, srv rpc.ArduinoCoreServiceServer) (*rpc.Instanc // platform or library that we failed to load. // Package and library indexes files are automatically updated if the // CLI is run for the first time. -func Init(instance *rpc.Instance) { - InitWithProfile(instance, "", nil) +func Init(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance) { + InitWithProfile(ctx, srv, instance, "", nil) } // InitWithProfile initializes instance by loading libraries and platforms specified in the given profile of the given sketch. // In case of loading failures return a list of errors for each platform or library that we failed to load. // Required Package and library indexes files are automatically downloaded. -func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *paths.Path) *rpc.SketchProfile { +func InitWithProfile(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, profileName string, sketchPath *paths.Path) *rpc.SketchProfile { downloadCallback := feedback.ProgressBar() taskCallback := feedback.TaskProgress() @@ -79,7 +79,7 @@ func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *pat initReq.Profile = profileName } var profile *rpc.SketchProfile - err := commands.Init(initReq, func(res *rpc.InitResponse) { + err := srv.Init(initReq, commands.InitStreamResponseToCallbackFunction(ctx, func(res *rpc.InitResponse) error { if st := res.GetError(); st != nil { feedback.Warning(tr("Error initializing instance: %v", st.GetMessage())) } @@ -96,7 +96,8 @@ func InitWithProfile(instance *rpc.Instance, profileName string, sketchPath *pat if p := res.GetProfile(); p != nil { profile = p } - }) + return nil + })) if err != nil { feedback.Warning(tr("Error initializing instance: %v", err)) } diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 64bede99f8d..0fe9fca84ed 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -141,7 +141,7 @@ func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps b NoOverwrite: noOverwrite, InstallLocation: installLocation, } - err := commands.LibraryInstall(context.Background(), libraryInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) + err := commands.LibraryInstall(ctx, srv, libraryInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) if err != nil { feedback.Fatal(tr("Error installing %s: %v", libRef.Name, err), feedback.ErrGeneric) } diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index c76526a97c2..94a4cc616fb 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -116,7 +116,7 @@ func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, namesOnly feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) } if res.GetLibrariesIndex().GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { - instance.Init(inst) + instance.Init(ctx, srv, inst) } searchResp, err := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ diff --git a/internal/cli/lib/upgrade.go b/internal/cli/lib/upgrade.go index e7997e3869a..52bd644c730 100644 --- a/internal/cli/lib/upgrade.go +++ b/internal/cli/lib/upgrade.go @@ -48,22 +48,22 @@ func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib upgrade`") ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) - Upgrade(instance, args) + Upgrade(ctx, srv, instance, args) } // Upgrade upgrades the specified libraries -func Upgrade(instance *rpc.Instance, libraries []string) { +func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, libraries []string) { var upgradeErr error if len(libraries) == 0 { req := &rpc.LibraryUpgradeAllRequest{Instance: instance} - upgradeErr = commands.LibraryUpgradeAll(req, feedback.ProgressBar(), feedback.TaskProgress()) + upgradeErr = commands.LibraryUpgradeAll(srv, req, feedback.ProgressBar(), feedback.TaskProgress()) } else { for _, libName := range libraries { req := &rpc.LibraryUpgradeRequest{ Instance: instance, Name: libName, } - upgradeErr = commands.LibraryUpgrade(context.Background(), req, feedback.ProgressBar(), feedback.TaskProgress()) + upgradeErr = commands.LibraryUpgrade(ctx, srv, req, feedback.ProgressBar(), feedback.TaskProgress()) if upgradeErr != nil { break } diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index 210ba7874d6..f589efa9975 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -55,7 +55,7 @@ func runUpdateCommand(srv rpc.ArduinoCoreServiceServer, showOutdated bool) { lib.UpdateIndex(inst) core.UpdateIndex(inst) - instance.Init(inst) + instance.Init(ctx, srv, inst) if showOutdated { outdated.Outdated(inst) } diff --git a/internal/cli/upgrade/upgrade.go b/internal/cli/upgrade/upgrade.go index e80b98fa5c7..1fee19a4443 100644 --- a/internal/cli/upgrade/upgrade.go +++ b/internal/cli/upgrade/upgrade.go @@ -52,6 +52,6 @@ func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, skipPostInstall bool, s ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli upgrade`") - lib.Upgrade(inst, []string{}) + lib.Upgrade(ctx, srv, inst, []string{}) core.Upgrade(ctx, srv, inst, []string{}, skipPostInstall, skipPreUninstall) } From 917dcc5df6c206f6d1c6e93ec745fd931937cf3d Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 14 Mar 2024 15:56:47 +0100 Subject: [PATCH 149/361] Inlining methods in ArduinoCoreServiceImpl (part 7: UpdateIndex) Added helpers to get download progress. --- commands/instances.go | 43 +++++++++++++++++++++++++------ commands/service.go | 18 ------------- internal/cli/core/search.go | 8 +++--- internal/cli/core/update_index.go | 9 ++++--- internal/cli/update/update.go | 2 +- 5 files changed, 45 insertions(+), 35 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index f795c1ad04e..614825c19af 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -184,7 +184,8 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor allPackageIndexUrls = append(allPackageIndexUrls, URL) } } - if err := firstUpdate(context.Background(), req.GetInstance(), downloadCallback, allPackageIndexUrls); err != nil { + + if err := firstUpdate(context.Background(), s, req.GetInstance(), downloadCallback, allPackageIndexUrls); err != nil { e := &cmderrors.InitFailedError{ Code: codes.InvalidArgument, Cause: err, @@ -464,10 +465,27 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ return result(rpc.IndexUpdateReport_STATUS_UPDATED), nil } +// UpdateIndexStreamResponseToCallbackFunction returns a gRPC stream to be used in UpdateIndex that sends +// all responses to the callback function. +func UpdateIndexStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB) (rpc.ArduinoCoreService_UpdateIndexServer, func() *rpc.UpdateIndexResponse_Result) { + var result *rpc.UpdateIndexResponse_Result + return streamResponseToCallback(ctx, func(r *rpc.UpdateIndexResponse) error { + if r.GetDownloadProgress() != nil { + downloadCB(r.GetDownloadProgress()) + } + if r.GetResult() != nil { + result = r.GetResult() + } + return nil + }), func() *rpc.UpdateIndexResponse_Result { + return result + } +} + // UpdateIndex FIXMEDOC -func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rpc.DownloadProgressCB) (*rpc.UpdateIndexResponse_Result, error) { +func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream rpc.ArduinoCoreService_UpdateIndexServer) error { if !instances.IsValid(req.GetInstance()) { - return nil, &cmderrors.InvalidInstanceError{} + return &cmderrors.InvalidInstanceError{} } report := func(indexURL *url.URL, status rpc.IndexUpdateReport_Status) *rpc.IndexUpdateReport { @@ -477,6 +495,12 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp } } + syncSend := NewSynchronizedSend(stream.Send) + var downloadCB rpc.DownloadProgressCB = func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.UpdateIndexResponse{ + Message: &rpc.UpdateIndexResponse_DownloadProgress{DownloadProgress: p}, + }) + } indexpath := configuration.DataDir(configuration.Settings) urls := []string{globals.DefaultIndexURL} @@ -549,16 +573,18 @@ func UpdateIndex(ctx context.Context, req *rpc.UpdateIndexRequest, downloadCB rp result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_UPDATED)) } } - + syncSend.Send(&rpc.UpdateIndexResponse{ + Message: &rpc.UpdateIndexResponse_Result_{Result: result}, + }) if failed { - return result, &cmderrors.FailedDownloadError{Message: tr("Some indexes could not be updated.")} + return &cmderrors.FailedDownloadError{Message: tr("Some indexes could not be updated.")} } - return result, nil + return nil } // firstUpdate downloads libraries and packages indexes if they don't exist. // This ideally is only executed the first time the CLI is run. -func firstUpdate(ctx context.Context, instance *rpc.Instance, downloadCb func(msg *rpc.DownloadProgress), externalPackageIndexes []*url.URL) error { +func firstUpdate(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, downloadCb func(msg *rpc.DownloadProgress), externalPackageIndexes []*url.URL) error { // Gets the data directory to verify if library_index.json and package_index.json exist dataDir := configuration.DataDir(configuration.Settings) libraryIndex := dataDir.Join("library_index.json") @@ -589,7 +615,8 @@ func firstUpdate(ctx context.Context, instance *rpc.Instance, downloadCb func(ms // library update we download that file and all the other package indexes from // additional_urls req := &rpc.UpdateIndexRequest{Instance: instance} - if _, err := UpdateIndex(ctx, req, downloadCb); err != nil { + stream, _ := UpdateIndexStreamResponseToCallbackFunction(ctx, downloadCb) + if err := srv.UpdateIndex(req, stream); err != nil { return err } break diff --git a/commands/service.go b/commands/service.go index 4fb73e74dc1..4f503fe4ceb 100644 --- a/commands/service.go +++ b/commands/service.go @@ -42,24 +42,6 @@ type arduinoCoreServerImpl struct { versionString string } -// UpdateIndex FIXMEDOC -func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream rpc.ArduinoCoreService_UpdateIndexServer) error { - syncSend := NewSynchronizedSend(stream.Send) - res, err := UpdateIndex(stream.Context(), req, - func(p *rpc.DownloadProgress) { - syncSend.Send(&rpc.UpdateIndexResponse{ - Message: &rpc.UpdateIndexResponse_DownloadProgress{DownloadProgress: p}, - }) - }, - ) - if res != nil { - syncSend.Send(&rpc.UpdateIndexResponse{ - Message: &rpc.UpdateIndexResponse_Result_{Result: res}, - }) - } - return err -} - // UpdateLibrariesIndex FIXMEDOC func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateLibrariesIndexServer) error { syncSend := NewSynchronizedSend(stream.Send) diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 030fdc981e2..096ef44e500 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -56,14 +56,14 @@ func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, allVersio ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) - res, err := commands.UpdateIndex( - context.Background(), + stream, res := commands.UpdateIndexStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) + err := srv.UpdateIndex( &rpc.UpdateIndexRequest{Instance: inst, UpdateIfOlderThanSecs: int64(indexUpdateInterval.Seconds())}, - feedback.ProgressBar()) + stream) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } - for _, idxRes := range res.GetUpdatedIndexes() { + for _, idxRes := range res().GetUpdatedIndexes() { if idxRes.GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { // At least one index has been updated, reinitialize the instance instance.Init(ctx, srv, inst) diff --git a/internal/cli/core/update_index.go b/internal/cli/core/update_index.go index 71e14c3b2ad..01cecd4fd9a 100644 --- a/internal/cli/core/update_index.go +++ b/internal/cli/core/update_index.go @@ -46,18 +46,19 @@ func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli core update-index`") ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) - resp := UpdateIndex(inst) + resp := UpdateIndex(ctx, srv, inst) feedback.PrintResult(&updateIndexResult{result.NewUpdateIndexResponse_ResultResult(resp)}) } // UpdateIndex updates the index of platforms. -func UpdateIndex(inst *rpc.Instance) *rpc.UpdateIndexResponse_Result { - res, err := commands.UpdateIndex(context.Background(), &rpc.UpdateIndexRequest{Instance: inst}, feedback.ProgressBar()) +func UpdateIndex(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance) *rpc.UpdateIndexResponse_Result { + stream, res := commands.UpdateIndexStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) + err := srv.UpdateIndex(&rpc.UpdateIndexRequest{Instance: inst}, stream) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } - return res + return res() } type updateIndexResult struct { diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index f589efa9975..64ea2b77562 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -54,7 +54,7 @@ func runUpdateCommand(srv rpc.ArduinoCoreServiceServer, showOutdated bool) { inst := instance.CreateAndInit(ctx, srv) lib.UpdateIndex(inst) - core.UpdateIndex(inst) + core.UpdateIndex(ctx, srv, inst) instance.Init(ctx, srv, inst) if showOutdated { outdated.Outdated(inst) From bb815cfe050d31ea827b7db3814bd24cf88049ee Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 15 Mar 2024 19:01:35 +0100 Subject: [PATCH 150/361] Inlining methods in ArduinoCoreServiceImpl (part 8: Monitor) This change is quite challenging because it implements a bidirectional streaming service. The gRPC implementation is slightly simpler, BTW the command-line requires a bit of streams fiddling to get the same behaviour as before because now: * the Monitor call do not return anymore a clean io.ReadWriteCloser. * the call to srv.Monitor is blocking until the port is closed or the context is canceled. --- commands/service.go | 101 -------------- commands/service_monitor.go | 230 ++++++++++++++++++++++++-------- internal/cli/monitor/monitor.go | 32 ++--- 3 files changed, 195 insertions(+), 168 deletions(-) diff --git a/commands/service.go b/commands/service.go index 4f503fe4ceb..2d32e1c368f 100644 --- a/commands/service.go +++ b/commands/service.go @@ -17,15 +17,10 @@ package commands import ( "context" - "errors" - "io" - "sync/atomic" "github.com/arduino/arduino-cli/commands/cache" - "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/updatecheck" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/sirupsen/logrus" ) // NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service @@ -356,102 +351,6 @@ func (s *arduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context return EnumerateMonitorPortSettings(ctx, req) } -// Monitor FIXMEDOC -func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorServer) error { - syncSend := NewSynchronizedSend(stream.Send) - - // The configuration must be sent on the first message - req, err := stream.Recv() - if err != nil { - return err - } - - openReq := req.GetOpenRequest() - if openReq == nil { - return &cmderrors.InvalidInstanceError{} - } - portProxy, _, err := Monitor(stream.Context(), openReq) - if err != nil { - return err - } - - // Send a message with Success set to true to notify the caller of the port being now active - _ = syncSend.Send(&rpc.MonitorResponse{Success: true}) - - cancelCtx, cancel := context.WithCancel(stream.Context()) - gracefulCloseInitiated := &atomic.Bool{} - gracefuleCloseCtx, gracefulCloseCancel := context.WithCancel(context.Background()) - - // gRPC stream receiver (gRPC data -> monitor, config, close) - go func() { - defer cancel() - for { - msg, err := stream.Recv() - if errors.Is(err, io.EOF) { - return - } - if err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) - return - } - if conf := msg.GetUpdatedConfiguration(); conf != nil { - for _, c := range conf.GetSettings() { - if err := portProxy.Config(c.GetSettingId(), c.GetValue()); err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) - } - } - } - if closeMsg := msg.GetClose(); closeMsg { - gracefulCloseInitiated.Store(true) - if err := portProxy.Close(); err != nil { - logrus.WithError(err).Debug("Error closing monitor port") - } - gracefulCloseCancel() - } - tx := msg.GetTxData() - for len(tx) > 0 { - n, err := portProxy.Write(tx) - if errors.Is(err, io.EOF) { - return - } - if err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) - return - } - tx = tx[n:] - } - } - }() - - // gRPC stream sender (monitor -> gRPC) - go func() { - defer cancel() // unlock the receiver - buff := make([]byte, 4096) - for { - n, err := portProxy.Read(buff) - if errors.Is(err, io.EOF) { - break - } - if err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) - break - } - if err := syncSend.Send(&rpc.MonitorResponse{RxData: buff[:n]}); err != nil { - break - } - } - }() - - <-cancelCtx.Done() - if gracefulCloseInitiated.Load() { - // Port closing has been initiated in the receiver - <-gracefuleCloseCtx.Done() - } else { - portProxy.Close() - } - return nil -} - // CheckForArduinoCLIUpdates FIXMEDOC func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { return updatecheck.CheckForArduinoCLIUpdates(ctx, req) diff --git a/commands/service_monitor.go b/commands/service_monitor.go index 538e99795bb..1e9b0e7d1f5 100644 --- a/commands/service_monitor.go +++ b/commands/service_monitor.go @@ -17,8 +17,10 @@ package commands import ( "context" + "errors" "fmt" "io" + "sync/atomic" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" @@ -27,87 +29,211 @@ import ( pluggableMonitor "github.com/arduino/arduino-cli/internal/arduino/monitor" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" + "github.com/djherbis/buffer" + "github.com/djherbis/nio/v3" "github.com/sirupsen/logrus" + "google.golang.org/grpc/metadata" ) -// portProxy is an io.ReadWriteCloser that maps into the monitor port of the board -type portProxy struct { - rw io.ReadWriter - changeSettingsCB func(setting, value string) error - closeCB func() error +type monitorPipeServer struct { + ctx context.Context + req atomic.Pointer[rpc.MonitorPortOpenRequest] + in *nio.PipeReader + out *nio.PipeWriter } -func (p *portProxy) Read(buff []byte) (int, error) { - return p.rw.Read(buff) +func (s *monitorPipeServer) Send(resp *rpc.MonitorResponse) error { + if len(resp.GetRxData()) > 0 { + if _, err := s.out.Write(resp.GetRxData()); err != nil { + return err + } + } + return nil +} + +func (s *monitorPipeServer) Recv() (r *rpc.MonitorRequest, e error) { + if conf := s.req.Swap(nil); conf != nil { + return &rpc.MonitorRequest{Message: &rpc.MonitorRequest_OpenRequest{OpenRequest: conf}}, nil + } + buff := make([]byte, 4096) + n, err := s.in.Read(buff) + if err != nil { + return nil, err + } + return &rpc.MonitorRequest{Message: &rpc.MonitorRequest_TxData{TxData: buff[:n]}}, nil } -func (p *portProxy) Write(buff []byte) (int, error) { - return p.rw.Write(buff) +func (s *monitorPipeServer) Context() context.Context { + return s.ctx } -// Config sets the port configuration setting to the specified value -func (p *portProxy) Config(setting, value string) error { - return p.changeSettingsCB(setting, value) +func (s *monitorPipeServer) RecvMsg(m any) error { return nil } +func (s *monitorPipeServer) SendHeader(metadata.MD) error { return nil } +func (s *monitorPipeServer) SendMsg(m any) error { return nil } +func (s *monitorPipeServer) SetHeader(metadata.MD) error { return nil } +func (s *monitorPipeServer) SetTrailer(metadata.MD) {} + +type monitorPipeClient struct { + in *nio.PipeReader + out *nio.PipeWriter + close func() } -// Close the port -func (p *portProxy) Close() error { - return p.closeCB() +func (s *monitorPipeClient) Read(buff []byte) (n int, err error) { + return s.in.Read(buff) } -// Monitor opens a communication port. It returns a PortProxy to communicate with the port and a PortDescriptor -// that describes the available configuration settings. -func Monitor(ctx context.Context, req *rpc.MonitorPortOpenRequest) (*portProxy, *pluggableMonitor.PortDescriptor, error) { - pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) - if err != nil { - return nil, nil, err - } - defer release() +func (s *monitorPipeClient) Write(buff []byte) (n int, err error) { + return s.out.Write(buff) +} - m, boardSettings, err := findMonitorAndSettingsForProtocolAndBoard(pme, req.GetPort().GetProtocol(), req.GetFqbn()) +func (s *monitorPipeClient) Close() error { + s.in.Close() + s.out.Close() + s.close() + return nil +} + +// MonitorServerToReadWriteCloser creates a monitor server that proxies the data to a ReadWriteCloser. +// The server is returned along with the ReadWriteCloser that can be used to send and receive data +// to the server. The MonitorPortOpenRequest is used to configure the monitor. +func MonitorServerToReadWriteCloser(ctx context.Context, req *rpc.MonitorPortOpenRequest) (rpc.ArduinoCoreService_MonitorServer, io.ReadWriteCloser) { + server := &monitorPipeServer{} + client := &monitorPipeClient{} + server.req.Store(req) + server.ctx, client.close = context.WithCancel(ctx) + client.in, server.out = nio.Pipe(buffer.New(32 * 1024)) + server.in, client.out = nio.Pipe(buffer.New(32 * 1024)) + return server, client +} + +// Monitor opens a port monitor and streams data back and forth until the request is kept alive. +func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorServer) error { + // The configuration must be sent on the first message + req, err := stream.Recv() if err != nil { - return nil, nil, err + return err } - if err := m.Run(); err != nil { - return nil, nil, &cmderrors.FailedMonitorError{Cause: err} + openReq := req.GetOpenRequest() + if openReq == nil { + return &cmderrors.InvalidInstanceError{} } - descriptor, err := m.Describe() + pme, release, err := instances.GetPackageManagerExplorer(openReq.GetInstance()) if err != nil { - m.Quit() - return nil, nil, &cmderrors.FailedMonitorError{Cause: err} + return err } - - // Apply user-requested settings - if portConfig := req.GetPortConfiguration(); portConfig != nil { + defer release() + monitor, boardSettings, err := findMonitorAndSettingsForProtocolAndBoard(pme, openReq.GetPort().GetProtocol(), openReq.GetFqbn()) + if err != nil { + return err + } + if err := monitor.Run(); err != nil { + return &cmderrors.FailedMonitorError{Cause: err} + } + if _, err := monitor.Describe(); err != nil { + monitor.Quit() + return &cmderrors.FailedMonitorError{Cause: err} + } + if portConfig := openReq.GetPortConfiguration(); portConfig != nil { for _, setting := range portConfig.GetSettings() { - boardSettings.Remove(setting.GetSettingId()) // Remove board settings overridden by the user - if err := m.Configure(setting.GetSettingId(), setting.GetValue()); err != nil { + boardSettings.Remove(setting.GetSettingId()) + if err := monitor.Configure(setting.GetSettingId(), setting.GetValue()); err != nil { logrus.Errorf("Could not set configuration %s=%s: %s", setting.GetSettingId(), setting.GetValue(), err) } } } - // Apply specific board settings for setting, value := range boardSettings.AsMap() { - m.Configure(setting, value) + monitor.Configure(setting, value) } - - monIO, err := m.Open(req.GetPort().GetAddress(), req.GetPort().GetProtocol()) + monitorIO, err := monitor.Open(openReq.GetPort().GetAddress(), openReq.GetPort().GetProtocol()) if err != nil { - m.Quit() - return nil, nil, &cmderrors.FailedMonitorError{Cause: err} - } - - logrus.Infof("Port %s successfully opened", req.GetPort().GetAddress()) - return &portProxy{ - rw: monIO, - changeSettingsCB: m.Configure, - closeCB: func() error { - m.Close() - return m.Quit() - }, - }, descriptor, nil + monitor.Quit() + return &cmderrors.FailedMonitorError{Cause: err} + } + logrus.Infof("Port %s successfully opened", openReq.GetPort().GetAddress()) + monitorClose := func() error { + monitor.Close() + return monitor.Quit() + } + + // Send a message with Success set to true to notify the caller of the port being now active + syncSend := NewSynchronizedSend(stream.Send) + _ = syncSend.Send(&rpc.MonitorResponse{Success: true}) + + ctx, cancel := context.WithCancel(stream.Context()) + gracefulCloseInitiated := &atomic.Bool{} + gracefuleCloseCtx, gracefulCloseCancel := context.WithCancel(context.Background()) + + // gRPC stream receiver (gRPC data -> monitor, config, close) + go func() { + defer cancel() + for { + msg, err := stream.Recv() + if errors.Is(err, io.EOF) { + return + } + if err != nil { + syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + return + } + if conf := msg.GetUpdatedConfiguration(); conf != nil { + for _, c := range conf.GetSettings() { + if err := monitor.Configure(c.GetSettingId(), c.GetValue()); err != nil { + syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + } + } + } + if closeMsg := msg.GetClose(); closeMsg { + gracefulCloseInitiated.Store(true) + if err := monitorClose(); err != nil { + logrus.WithError(err).Debug("Error closing monitor port") + } + gracefulCloseCancel() + } + tx := msg.GetTxData() + for len(tx) > 0 { + n, err := monitorIO.Write(tx) + if errors.Is(err, io.EOF) { + return + } + if err != nil { + syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + return + } + tx = tx[n:] + } + } + }() + + // gRPC stream sender (monitor -> gRPC) + go func() { + defer cancel() // unlock the receiver + buff := make([]byte, 4096) + for { + n, err := monitorIO.Read(buff) + if errors.Is(err, io.EOF) { + break + } + if err != nil { + syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + break + } + if err := syncSend.Send(&rpc.MonitorResponse{RxData: buff[:n]}); err != nil { + break + } + } + }() + + <-ctx.Done() + if gracefulCloseInitiated.Load() { + // Port closing has been initiated in the receiver + <-gracefuleCloseCtx.Done() + } else { + monitorClose() + } + return nil } func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, protocol, fqbn string) (*pluggableMonitor.PluggableMonitor, *properties.Map, error) { diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index b60805e36b5..94c495068c5 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -204,20 +204,6 @@ func runMonitorCmd( } } } - portProxy, _, err := commands.Monitor(context.Background(), &rpc.MonitorPortOpenRequest{ - Instance: inst, - Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, - Fqbn: fqbn, - PortConfiguration: configuration, - }) - if err != nil { - feedback.FatalError(err, feedback.ErrGeneric) - } - defer portProxy.Close() - - if !quiet { - feedback.Print(tr("Connected to %s! Press CTRL-C to exit.", portAddress)) - } ttyIn, ttyOut, err := feedback.InteractiveStreams() if err != nil { @@ -228,7 +214,7 @@ func runMonitorCmd( ttyOut = newTimeStampWriter(ttyOut) } - ctx, cancel := cleanup.InterruptableContext(context.Background()) + ctx, cancel := cleanup.InterruptableContext(ctx) if raw { if feedback.IsInteractive() { if err := feedback.SetRawModeStdin(); err != nil { @@ -246,6 +232,22 @@ func runMonitorCmd( ttyIn = io.TeeReader(ttyIn, ctrlCDetector) } + monitorServer, portProxy := commands.MonitorServerToReadWriteCloser(ctx, &rpc.MonitorPortOpenRequest{ + Instance: inst, + Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, + Fqbn: fqbn, + PortConfiguration: configuration, + }) + go func() { + if !quiet { + feedback.Print(tr("Connecting to %s. Press CTRL-C to exit.", portAddress)) + } + if err := srv.Monitor(monitorServer); err != nil { + feedback.FatalError(err, feedback.ErrGeneric) + } + portProxy.Close() + cancel() + }() go func() { _, err := io.Copy(ttyOut, portProxy) if err != nil && !errors.Is(err, io.EOF) { From 0e434f236743afb0599fd478785a46a0a2f9a7af Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 11:05:25 +0100 Subject: [PATCH 151/361] Inlining methods in ArduinoCoreServiceImpl (part 9: Compile) --- commands/service.go | 35 -------- commands/service_compile.go | 120 +++++++++++++++++++--------- internal/arduino/builder/builder.go | 2 + internal/cli/compile/compile.go | 4 +- 4 files changed, 88 insertions(+), 73 deletions(-) diff --git a/commands/service.go b/commands/service.go index 2d32e1c368f..27efafc14d8 100644 --- a/commands/service.go +++ b/commands/service.go @@ -76,41 +76,6 @@ func (s *arduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc. return SetSketchDefaults(ctx, req) } -// Compile FIXMEDOC -func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.ArduinoCoreService_CompileServer) error { - syncSend := NewSynchronizedSend(stream.Send) - outStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.CompileResponse{ - Message: &rpc.CompileResponse_OutStream{OutStream: data}, - }) - }) - errStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.CompileResponse{ - Message: &rpc.CompileResponse_ErrStream{ErrStream: data}, - }) - }) - progressStream := func(p *rpc.TaskProgress) { - syncSend.Send(&rpc.CompileResponse{ - Message: &rpc.CompileResponse_Progress{Progress: p}, - }) - } - compileRes, compileErr := Compile(stream.Context(), req, outStream, errStream, progressStream) - outStream.Close() - errStream.Close() - var compileRespSendErr error - if compileRes != nil { - compileRespSendErr = syncSend.Send(&rpc.CompileResponse{ - Message: &rpc.CompileResponse_Result{ - Result: compileRes, - }, - }) - } - if compileErr != nil { - return compileErr - } - return compileRespSendErr -} - // PlatformInstall FIXMEDOC func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) diff --git a/commands/service_compile.go b/commands/service_compile.go index 94157244cba..512ca766249 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -38,8 +38,34 @@ import ( "github.com/sirupsen/logrus" ) -// Compile FIXMEDOC -func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream io.Writer, progressCB rpc.TaskProgressCB) (r *rpc.BuilderResult, e error) { +// CompilerServerToStreams creates a gRPC CompileServer that sends the responses to the provided streams. +// The returned callback function can be used to retrieve the builder result after the compilation is done. +func CompilerServerToStreams(ctx context.Context, stdOut, stderr io.Writer) (server rpc.ArduinoCoreService_CompileServer, resultCB func() *rpc.BuilderResult) { + var builderResult *rpc.BuilderResult + stream := streamResponseToCallback(ctx, func(resp *rpc.CompileResponse) error { + if out := resp.GetOutStream(); len(out) > 0 { + if _, err := stdOut.Write(out); err != nil { + return err + } + } + if err := resp.GetErrStream(); len(err) > 0 { + if _, err := stderr.Write(err); err != nil { + return err + } + } + if result := resp.GetResult(); result != nil { + builderResult = result + } + return nil + }) + return stream, func() *rpc.BuilderResult { return builderResult } +} + +// Compile performs a compilation of a sketch. +func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.ArduinoCoreService_CompileServer) error { + ctx := stream.Context() + syncSend := NewSynchronizedSend(stream.Send) + exportBinaries := configuration.Settings.GetBool("sketch.always_export_binaries") if e := req.ExportBinaries; e != nil { exportBinaries = *e @@ -47,27 +73,27 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return nil, err + return err } defer release() if pme.Dirty() { - return nil, &cmderrors.InstanceNeedsReinitialization{} + return &cmderrors.InstanceNeedsReinitialization{} } lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { - return nil, err + return err } logrus.Tracef("Compile %s for %s started", req.GetSketchPath(), req.GetFqbn()) if req.GetSketchPath() == "" { - return nil, &cmderrors.MissingSketchPathError{} + return &cmderrors.MissingSketchPathError{} } sketchPath := paths.New(req.GetSketchPath()) sk, err := sketch.New(sketchPath) if err != nil { - return nil, &cmderrors.CantOpenSketchError{Cause: err} + return &cmderrors.CantOpenSketchError{Cause: err} } fqbnIn := req.GetFqbn() @@ -79,25 +105,30 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } } if fqbnIn == "" { - return nil, &cmderrors.MissingFQBNError{} + return &cmderrors.MissingFQBNError{} } fqbn, err := cores.ParseFQBN(fqbnIn) if err != nil { - return nil, &cmderrors.InvalidFQBNError{Cause: err} + return &cmderrors.InvalidFQBNError{Cause: err} } _, targetPlatform, targetBoard, boardBuildProperties, buildPlatform, err := pme.ResolveFQBN(fqbn) if err != nil { if targetPlatform == nil { - return nil, &cmderrors.PlatformNotFoundError{ + return &cmderrors.PlatformNotFoundError{ Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), Cause: fmt.Errorf(tr("platform not installed")), } } - return nil, &cmderrors.InvalidFQBNError{Cause: err} + return &cmderrors.InvalidFQBNError{Cause: err} } - r = &rpc.BuilderResult{} + r := &rpc.BuilderResult{} + defer func() { + syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_Result{Result: r}, + }) + }() r.BoardPlatform = targetPlatform.ToRPCPlatformReference() r.BuildPlatform = buildPlatform.ToRPCPlatformReference() @@ -120,7 +151,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream encryptProp := boardBuildProperties.ContainsKey("build.keys.encrypt_key") // we verify that all the properties for the secure boot keys are defined or none of them is defined. if !(keychainProp == signProp && signProp == encryptProp) { - return nil, fmt.Errorf(tr("Firmware encryption/signing requires all the following properties to be defined: %s", "build.keys.keychain, build.keys.sign_key, build.keys.encrypt_key")) + return fmt.Errorf(tr("Firmware encryption/signing requires all the following properties to be defined: %s", "build.keys.keychain, build.keys.sign_key, build.keys.encrypt_key")) } // Generate or retrieve build path @@ -129,7 +160,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream buildPath = paths.New(req.GetBuildPath()).Canonical() if in, _ := buildPath.IsInsideDir(sk.FullPath); in && buildPath.IsDir() { if sk.AdditionalFiles, err = removeBuildFromSketchFiles(sk.AdditionalFiles, buildPath); err != nil { - return nil, err + return err } } } @@ -137,7 +168,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream buildPath = sk.DefaultBuildPath() } if err = buildPath.MkdirAll(); err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Cannot create build directory"), Cause: err} } buildcache.New(buildPath.Parent()).GetOrCreate(buildPath.Base()) // cache is purged after compilation to not remove entries that might be required @@ -149,16 +180,16 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } else { buildCachePath, err := paths.New(req.GetBuildCachePath()).Abs() if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} } if err := buildCachePath.MkdirAll(); err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} } coreBuildCachePath = buildCachePath.Join("core") } if _, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform); err != nil { - return nil, err + return err } actualPlatform := buildPlatform @@ -170,7 +201,25 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream libsManager = lm } + outStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_OutStream{OutStream: data}, + }) + }) + defer outStream.Close() + errStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_ErrStream{ErrStream: data}, + }) + }) + defer errStream.Close() + progressCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.CompileResponse{ + Message: &rpc.CompileResponse_Progress{Progress: p}, + }) + } sketchBuilder, err := builder.NewBuilder( + ctx, sk, boardBuildProperties, buildPath, @@ -195,14 +244,14 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream ) if err != nil { if strings.Contains(err.Error(), "invalid build properties") { - return nil, &cmderrors.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err} + return &cmderrors.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err} } if errors.Is(err, builder.ErrSketchCannotBeLocatedInBuildPath) { - return r, &cmderrors.CompileFailedError{ + return &cmderrors.CompileFailedError{ Message: tr("Sketch cannot be located in build path. Please specify a different build path"), } } - return r, &cmderrors.CompileFailedError{Message: err.Error()} + return &cmderrors.CompileFailedError{Message: err.Error()} } defer func() { @@ -232,7 +281,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream // Just get build properties and exit if req.GetShowProperties() { - return r, nil + return nil } if req.GetPreprocess() { @@ -240,10 +289,10 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream preprocessedSketch, err := sketchBuilder.Preprocess() if err != nil { err = &cmderrors.CompileFailedError{Message: err.Error()} - return r, err + return err } _, err = outStream.Write(preprocessedSketch) - return r, err + return err } defer func() { @@ -285,7 +334,7 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream } if err := sketchBuilder.Build(); err != nil { - return r, &cmderrors.CompileFailedError{Message: err.Error()} + return &cmderrors.CompileFailedError{Message: err.Error()} } // If the export directory is set we assume you want to export the binaries @@ -297,9 +346,8 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream exportBinaries = false } if exportBinaries { - err := sketchBuilder.RunRecipe("recipe.hooks.savehex.presavehex", ".pattern", false) - if err != nil { - return r, err + if err := sketchBuilder.RunRecipe("recipe.hooks.savehex.presavehex", ".pattern", false); err != nil { + return err } exportPath := paths.New(req.GetExportDir()) @@ -313,38 +361,36 @@ func Compile(ctx context.Context, req *rpc.CompileRequest, outStream, errStream if !buildPath.EqualsTo(exportPath) { logrus.WithField("path", exportPath).Trace("Saving sketch to export path.") if err := exportPath.MkdirAll(); err != nil { - return r, &cmderrors.PermissionDeniedError{Message: tr("Error creating output dir"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error creating output dir"), Cause: err} } baseName, ok := sketchBuilder.GetBuildProperties().GetOk("build.project_name") // == "sketch.ino" if !ok { - return r, &cmderrors.MissingPlatformPropertyError{Property: "build.project_name"} + return &cmderrors.MissingPlatformPropertyError{Property: "build.project_name"} } buildFiles, err := sketchBuilder.GetBuildPath().ReadDir() if err != nil { - return r, &cmderrors.PermissionDeniedError{Message: tr("Error reading build directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error reading build directory"), Cause: err} } buildFiles.FilterPrefix(baseName) for _, buildFile := range buildFiles { exportedFile := exportPath.Join(buildFile.Base()) logrus.WithField("src", buildFile).WithField("dest", exportedFile).Trace("Copying artifact.") if err = buildFile.CopyTo(exportedFile); err != nil { - return r, &cmderrors.PermissionDeniedError{Message: tr("Error copying output file %s", buildFile), Cause: err} + return &cmderrors.PermissionDeniedError{Message: tr("Error copying output file %s", buildFile), Cause: err} } } } - err = sketchBuilder.RunRecipe("recipe.hooks.savehex.postsavehex", ".pattern", false) - if err != nil { - return r, err + if err = sketchBuilder.RunRecipe("recipe.hooks.savehex.postsavehex", ".pattern", false); err != nil { + return err } } r.ExecutableSectionsSize = sketchBuilder.ExecutableSectionsSize().ToRPCExecutableSectionSizeArray() logrus.Tracef("Compile %s for %s successful", sk.Name, fqbnIn) - - return r, nil + return nil } // maybePurgeBuildCache runs the build files cache purge if the policy conditions are met. diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 303caaa2063..ad6af436128 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -16,6 +16,7 @@ package builder import ( + "context" "errors" "fmt" "io" @@ -111,6 +112,7 @@ type buildArtifacts struct { // NewBuilder creates a sketch Builder. func NewBuilder( + ctx context.Context, sk *sketch.Sketch, boardBuildProperties *properties.Map, buildPath *paths.Path, diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 2a628a752f9..3ed3b5ca2a8 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -246,7 +246,9 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer DoNotExpandBuildProperties: showProperties == arguments.ShowPropertiesUnexpanded, Jobs: jobs, } - builderRes, compileError := commands.Compile(context.Background(), compileRequest, stdOut, stdErr, nil) + server, builderResCB := commands.CompilerServerToStreams(ctx, stdOut, stdErr) + compileError := srv.Compile(compileRequest, server) + builderRes := builderResCB() var uploadRes *rpc.UploadResult if compileError == nil && uploadAfterCompile { From 12cf52e7f67ca4a4945217208c1c6fa84e21890e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 12:11:12 +0100 Subject: [PATCH 152/361] Inlining methods in ArduinoCoreServiceImpl (part 10: PlatformInstall, PlatformDownload, PlatformUninstall, PlatformUpgrade, PlatformSearch) --- commands/service.go | 59 ------------------------ commands/service_platform_download.go | 34 ++++++++++---- commands/service_platform_install.go | 38 ++++++++++++--- commands/service_platform_search.go | 3 +- commands/service_platform_search_test.go | 14 +++--- commands/service_platform_uninstall.go | 31 +++++++++---- commands/service_platform_upgrade.go | 50 +++++++++++++++----- internal/cli/arguments/completion.go | 4 +- internal/cli/arguments/reference.go | 3 +- internal/cli/compile/compile.go | 2 +- internal/cli/core/download.go | 4 +- internal/cli/core/install.go | 4 +- internal/cli/core/list.go | 11 ++--- internal/cli/core/search.go | 2 +- internal/cli/core/uninstall.go | 7 +-- internal/cli/core/upgrade.go | 15 +++--- internal/cli/outdated/outdated.go | 6 +-- internal/cli/update/update.go | 2 +- internal/cli/upload/upload.go | 2 +- 19 files changed, 159 insertions(+), 132 deletions(-) diff --git a/commands/service.go b/commands/service.go index 27efafc14d8..5ad16c8a0e4 100644 --- a/commands/service.go +++ b/commands/service.go @@ -76,65 +76,6 @@ func (s *arduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc. return SetSketchDefaults(ctx, req) } -// PlatformInstall FIXMEDOC -func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { - syncSend := NewSynchronizedSend(stream.Send) - resp, err := PlatformInstall( - stream.Context(), s, req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformInstallResponse{Progress: p}) }, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformInstallResponse{TaskProgress: p}) }, - ) - if err != nil { - return err - } - return syncSend.Send(resp) -} - -// PlatformDownload FIXMEDOC -func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadRequest, stream rpc.ArduinoCoreService_PlatformDownloadServer) error { - syncSend := NewSynchronizedSend(stream.Send) - resp, err := PlatformDownload( - stream.Context(), req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformDownloadResponse{Progress: p}) }, - ) - if err != nil { - return err - } - return syncSend.Send(resp) -} - -// PlatformUninstall FIXMEDOC -func (s *arduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequest, stream rpc.ArduinoCoreService_PlatformUninstallServer) error { - syncSend := NewSynchronizedSend(stream.Send) - resp, err := PlatformUninstall( - stream.Context(), s, req, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUninstallResponse{TaskProgress: p}) }, - ) - if err != nil { - return err - } - return syncSend.Send(resp) -} - -// PlatformUpgrade FIXMEDOC -func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, stream rpc.ArduinoCoreService_PlatformUpgradeServer) error { - syncSend := NewSynchronizedSend(stream.Send) - resp, err := PlatformUpgrade( - stream.Context(), s, req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{Progress: p}) }, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{TaskProgress: p}) }, - ) - if err2 := syncSend.Send(resp); err2 != nil { - return err2 - } - return err -} - -// PlatformSearch FIXMEDOC -func (s *arduinoCoreServerImpl) PlatformSearch(ctx context.Context, req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { - return PlatformSearch(req) -} - // Upload FIXMEDOC func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.ArduinoCoreService_UploadServer) error { syncSend := NewSynchronizedSend(stream.Send) diff --git a/commands/service_platform_download.go b/commands/service_platform_download.go index a8039af55b9..a4227fa30b9 100644 --- a/commands/service_platform_download.go +++ b/commands/service_platform_download.go @@ -27,17 +27,30 @@ import ( var tr = i18n.Tr -// PlatformDownload FIXMEDOC -func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.PlatformDownloadResponse, error) { +// PlatformDownloadStreamResponseToCallbackFunction returns a gRPC stream to be used in PlatformDownload that sends +// all responses to the callback function. +func PlatformDownloadStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB) rpc.ArduinoCoreService_PlatformDownloadServer { + return streamResponseToCallback(ctx, func(r *rpc.PlatformDownloadResponse) error { + if r.GetProgress() != nil { + downloadCB(r.GetProgress()) + } + return nil + }) +} + +// PlatformDownload downloads a platform package +func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadRequest, stream rpc.ArduinoCoreService_PlatformDownloadServer) error { + syncSend := NewSynchronizedSend(stream.Send) + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return nil, err + return err } defer release() version, err := ParseVersion(req.GetVersion()) if err != nil { - return nil, &cmderrors.InvalidVersionError{Cause: err} + return &cmderrors.InvalidVersionError{Cause: err} } ref := &packagemanager.PlatformReference{ @@ -47,18 +60,23 @@ func PlatformDownload(ctx context.Context, req *rpc.PlatformDownloadRequest, dow } platform, tools, err := pme.FindPlatformReleaseDependencies(ref) if err != nil { - return nil, &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err} + return &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err} } + downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformDownloadResponse{Progress: p}) } + + // TODO: pass context + // ctx := stream.Context() if err := pme.DownloadPlatformRelease(platform, nil, downloadCB); err != nil { - return nil, err + return err } for _, tool := range tools { + // TODO: pass context if err := pme.DownloadToolRelease(tool, nil, downloadCB); err != nil { - return nil, err + return err } } - return &rpc.PlatformDownloadResponse{}, nil + return syncSend.Send(&rpc.PlatformDownloadResponse{}) } diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index 94c64c07921..06c8891fcc3 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -25,8 +25,27 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// PlatformInstall FIXMEDOC -func PlatformInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.PlatformInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformInstallResponse, error) { +// UpdateIndexStreamResponseToCallbackFunction returns a gRPC stream to be used in PlatformInstall that sends +// all responses to the callback function. +func PlatformInstallStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_PlatformInstallServer { + return streamResponseToCallback(ctx, func(r *rpc.PlatformInstallResponse) error { + if r.GetProgress() != nil { + downloadCB(r.GetProgress()) + } + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + +// PlatformInstall installs a platform package +func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { + ctx := stream.Context() + syncSend := NewSynchronizedSend(stream.Send) + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformInstallResponse{TaskProgress: p}) } + downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformInstallResponse{Progress: p}) } + install := func() error { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { @@ -63,6 +82,7 @@ func PlatformInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req } } + // TODO: Pass context if err := pme.DownloadAndInstallPlatformAndTools(platformRelease, tools, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()); err != nil { return err } @@ -71,12 +91,16 @@ func PlatformInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req } if err := install(); err != nil { - return nil, err + return err } - stream := InitStreamResponseToCallbackFunction(ctx, nil) - if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, stream); err != nil { - return nil, err + err := s.Init( + &rpc.InitRequest{Instance: req.GetInstance()}, + InitStreamResponseToCallbackFunction(ctx, nil), + ) + if err != nil { + return err } - return &rpc.PlatformInstallResponse{}, nil + + return syncSend.Send(&rpc.PlatformInstallResponse{}) } diff --git a/commands/service_platform_search.go b/commands/service_platform_search.go index 99f66ffa39a..dfa0d33ffd8 100644 --- a/commands/service_platform_search.go +++ b/commands/service_platform_search.go @@ -16,6 +16,7 @@ package commands import ( + "context" "regexp" "sort" "strings" @@ -27,7 +28,7 @@ import ( ) // PlatformSearch FIXMEDOC -func PlatformSearch(req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { +func (s *arduinoCoreServerImpl) PlatformSearch(_ context.Context, req *rpc.PlatformSearchRequest) (*rpc.PlatformSearchResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/service_platform_search_test.go b/commands/service_platform_search_test.go index 315a39c0fbb..63dc02c5265 100644 --- a/commands/service_platform_search_test.go +++ b/commands/service_platform_search_test.go @@ -50,7 +50,7 @@ func TestPlatformSearch(t *testing.T) { require.NoError(t, err) t.Run("SearchAllVersions", func(t *testing.T) { - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + res, stat := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "retrokit", }) @@ -91,7 +91,7 @@ func TestPlatformSearch(t *testing.T) { }) t.Run("SearchThePackageMaintainer", func(t *testing.T) { - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + res, stat := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "Retrokits (www.retrokits.com)", }) @@ -131,7 +131,7 @@ func TestPlatformSearch(t *testing.T) { }) t.Run("SearchPackageName", func(t *testing.T) { - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + res, stat := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "Retrokits-RK002", }) @@ -171,7 +171,7 @@ func TestPlatformSearch(t *testing.T) { }) t.Run("SearchPlatformName", func(t *testing.T) { - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + res, stat := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "rk002", }) @@ -211,7 +211,7 @@ func TestPlatformSearch(t *testing.T) { }) t.Run("SearchBoardName", func(t *testing.T) { - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + res, stat := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "Yún", }) @@ -269,7 +269,7 @@ func TestPlatformSearch(t *testing.T) { }) t.Run("SearchBoardName2", func(t *testing.T) { - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + res, stat := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "yun", }) @@ -350,7 +350,7 @@ func TestPlatformSearchSorting(t *testing.T) { err = srv.Init(&rpc.InitRequest{Instance: inst}, InitStreamResponseToCallbackFunction(ctx, nil)) require.NoError(t, err) - res, stat := PlatformSearch(&rpc.PlatformSearchRequest{ + res, stat := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "", }) diff --git a/commands/service_platform_uninstall.go b/commands/service_platform_uninstall.go index b6679b891cb..07a32988a6a 100644 --- a/commands/service_platform_uninstall.go +++ b/commands/service_platform_uninstall.go @@ -24,19 +24,33 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// PlatformUninstall FIXMEDOC -func PlatformUninstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) (*rpc.PlatformUninstallResponse, error) { - if err := platformUninstall(req, taskCB); err != nil { - return nil, err +// PlatformUninstallStreamResponseToCallbackFunction returns a gRPC stream to be used in PlatformUninstall that sends +// all responses to the callback function. +func PlatformUninstallStreamResponseToCallbackFunction(ctx context.Context, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_PlatformUninstallServer { + return streamResponseToCallback(ctx, func(r *rpc.PlatformUninstallResponse) error { + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + +// PlatformUninstall uninstalls a platform package +func (s *arduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequest, stream rpc.ArduinoCoreService_PlatformUninstallServer) error { + syncSend := NewSynchronizedSend(stream.Send) + ctx := stream.Context() + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUninstallResponse{TaskProgress: p}) } + if err := platformUninstall(ctx, req, taskCB); err != nil { + return err } - if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { - return nil, err + if err := s.Init(&rpc.InitRequest{Instance: req.GetInstance()}, InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { + return err } - return &rpc.PlatformUninstallResponse{}, nil + return syncSend.Send(&rpc.PlatformUninstallResponse{}) } // platformUninstall is the implementation of platform unistaller -func platformUninstall(req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) error { +func platformUninstall(_ context.Context, req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgressCB) error { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return &cmderrors.InvalidInstanceError{} @@ -64,6 +78,7 @@ func platformUninstall(req *rpc.PlatformUninstallRequest, taskCB rpc.TaskProgres return &cmderrors.NotFoundError{Message: tr("Can't find dependencies for platform %s", ref), Cause: err} } + // TODO: pass context if err := pme.UninstallPlatform(platform, taskCB, req.GetSkipPreUninstall()); err != nil { return err } diff --git a/commands/service_platform_upgrade.go b/commands/service_platform_upgrade.go index 25d7de2fc79..a9b65fe5bfa 100644 --- a/commands/service_platform_upgrade.go +++ b/commands/service_platform_upgrade.go @@ -24,8 +24,34 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// PlatformUpgrade FIXMEDOC -func PlatformUpgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.PlatformUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*rpc.PlatformUpgradeResponse, error) { +// PlatformUpgradeStreamResponseToCallbackFunction returns a gRPC stream to be used in PlatformUpgrade that sends +// all responses to the callback function. +func PlatformUpgradeStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (rpc.ArduinoCoreService_PlatformUpgradeServer, func() *rpc.Platform) { + var resp *rpc.Platform + return streamResponseToCallback(ctx, func(r *rpc.PlatformUpgradeResponse) error { + // TODO: use oneof in protoc files? + if r.GetProgress() != nil { + downloadCB(r.GetProgress()) + } + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + if r.GetPlatform() != nil { + resp = r.GetPlatform() + } + return nil + }), func() *rpc.Platform { + return resp + } +} + +// PlatformUpgrade upgrades a platform package +func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, stream rpc.ArduinoCoreService_PlatformUpgradeServer) error { + syncSend := NewSynchronizedSend(stream.Send) + ctx := stream.Context() + downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{Progress: p}) } + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{TaskProgress: p}) } + upgrade := func() (*cores.PlatformRelease, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { @@ -46,20 +72,22 @@ func PlatformUpgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req return platform, nil } - var rpcPlatform *rpc.Platform platformRelease, err := upgrade() if platformRelease != nil { - rpcPlatform = &rpc.Platform{ - Metadata: PlatformToRPCPlatformMetadata(platformRelease.Platform), - Release: PlatformReleaseToRPC(platformRelease), - } + syncSend.Send(&rpc.PlatformUpgradeResponse{ + Platform: &rpc.Platform{ + Metadata: PlatformToRPCPlatformMetadata(platformRelease.Platform), + Release: PlatformReleaseToRPC(platformRelease), + }, + }) } if err != nil { - return &rpc.PlatformUpgradeResponse{Platform: rpcPlatform}, err + return err } - if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { - return nil, err + + if err := s.Init(&rpc.InitRequest{Instance: req.GetInstance()}, InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { + return err } - return &rpc.PlatformUpgradeResponse{Platform: rpcPlatform}, nil + return nil } diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index f5446d3e4ed..d27e68005ae 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -81,7 +81,7 @@ func GetInstalledProgrammers(ctx context.Context, srv rpc.ArduinoCoreServiceServ func GetUninstallableCores(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { inst := instance.CreateAndInit(ctx, srv) - platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, _ := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, ManuallyInstalled: true, }) @@ -102,7 +102,7 @@ func GetUninstallableCores(ctx context.Context, srv rpc.ArduinoCoreServiceServer func GetInstallableCores(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { inst := instance.CreateAndInit(ctx, srv) - platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, _ := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: "", }) diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index 84ad12744fb..613a16912fa 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -20,7 +20,6 @@ import ( "fmt" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -97,7 +96,7 @@ func ParseReference(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg s // Now that we have the required informations in `ret` we can // try to use core.PlatformList to optimize what the user typed // (by replacing the PackageName and Architecture in ret with the content of core.GetPlatform()) - platforms, _ := commands.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, _ := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: instance.CreateAndInit(ctx, srv), }) foundPlatforms := []string{} diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 3ed3b5ca2a8..1a72719dac9 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -386,7 +386,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer if profileArg.String() == "" { res.Error += fmt.Sprintln() - if platform, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ + if platform, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: platformErr.Platform, }); err != nil { diff --git a/internal/cli/core/download.go b/internal/cli/core/download.go index 4fdb11815e3..790945fa3c7 100644 --- a/internal/cli/core/download.go +++ b/internal/cli/core/download.go @@ -66,8 +66,8 @@ func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { Architecture: platformRef.Architecture, Version: platformRef.Version, } - _, err := commands.PlatformDownload(context.Background(), platformDownloadreq, feedback.ProgressBar()) - if err != nil { + stream := commands.PlatformDownloadStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) + if err := srv.PlatformDownload(platformDownloadreq, stream); err != nil { feedback.Fatal(tr("Error downloading %[1]s: %[2]v", args[i], err), feedback.ErrNetwork) } } diff --git a/internal/cli/core/install.go b/internal/cli/core/install.go index a6f1b7a35b3..18dfe910d51 100644 --- a/internal/cli/core/install.go +++ b/internal/cli/core/install.go @@ -76,8 +76,8 @@ func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, scriptFl NoOverwrite: noOverwrite, SkipPreUninstall: scriptFlags.DetectSkipPreUninstallValue(), } - _, err := commands.PlatformInstall(ctx, srv, platformInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) - if err != nil { + stream := commands.PlatformInstallStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) + if err := srv.PlatformInstall(platformInstallRequest, stream); err != nil { feedback.Fatal(tr("Error during install: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 71d7a15601e..ec926240fea 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -19,7 +19,6 @@ import ( "context" "os" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -51,18 +50,18 @@ func runListCommand(srv rpc.ArduinoCoreServiceServer, all bool, updatableOnly bo ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli core list`") - List(inst, all, updatableOnly) + List(ctx, srv, inst, all, updatableOnly) } // List gets and prints a list of installed platforms. -func List(inst *rpc.Instance, all bool, updatableOnly bool) { - platforms := GetList(inst, all, updatableOnly) +func List(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance, all bool, updatableOnly bool) { + platforms := GetList(ctx, srv, inst, all, updatableOnly) feedback.PrintResult(newCoreListResult(platforms, updatableOnly)) } // GetList returns a list of installed platforms. -func GetList(inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSummary { - platforms, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ +func GetList(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance, all bool, updatableOnly bool) []*rpc.PlatformSummary { + platforms, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, ManuallyInstalled: true, }) diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 096ef44e500..6ec72e4246f 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -74,7 +74,7 @@ func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, allVersio arguments := strings.ToLower(strings.Join(args, " ")) logrus.Infof("Executing `arduino-cli core search` with args: '%s'", arguments) - resp, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ + resp, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: arguments, }) diff --git a/internal/cli/core/uninstall.go b/internal/cli/core/uninstall.go index 6c8e7526211..e06f630bf31 100644 --- a/internal/cli/core/uninstall.go +++ b/internal/cli/core/uninstall.go @@ -64,13 +64,14 @@ func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, preUni } } for _, platformRef := range platformsRefs { - _, err := commands.PlatformUninstall(ctx, srv, &rpc.PlatformUninstallRequest{ + req := &rpc.PlatformUninstallRequest{ Instance: inst, PlatformPackage: platformRef.PackageName, Architecture: platformRef.Architecture, SkipPreUninstall: preUninstallFlags.DetectSkipPreUninstallValue(), - }, feedback.NewTaskProgressCB()) - if err != nil { + } + stream := commands.PlatformUninstallStreamResponseToCallbackFunction(ctx, feedback.NewTaskProgressCB()) + if err := srv.PlatformUninstall(req, stream); err != nil { feedback.Fatal(tr("Error during uninstall: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 131fe713ede..3d831d0a8db 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -61,7 +61,7 @@ func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string, skipPost func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance, args []string, skipPostInstall bool, skipPreUninstall bool) { // if no platform was passed, upgrade allthethings if len(args) == 0 { - platforms, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ + platforms, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, }) if err != nil { @@ -93,12 +93,12 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In } } - warningMissingIndex := func(response *rpc.PlatformUpgradeResponse) { - if response == nil || response.GetPlatform() == nil { + warningMissingIndex := func(platform *rpc.Platform) { + if platform == nil { return } - if !response.GetPlatform().GetMetadata().GetIndexed() { - feedback.Warning(tr("missing package index for %s, future updates cannot be guaranteed", response.GetPlatform().GetMetadata().GetId())) + if !platform.GetMetadata().GetIndexed() { + feedback.Warning(tr("missing package index for %s, future updates cannot be guaranteed", platform.GetMetadata().GetId())) } } @@ -123,8 +123,9 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In SkipPostInstall: skipPostInstall, SkipPreUninstall: skipPreUninstall, } - response, err := commands.PlatformUpgrade(ctx, srv, r, feedback.ProgressBar(), feedback.TaskProgress()) - warningMissingIndex(response) + stream, respCB := commands.PlatformUpgradeStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) + err := srv.PlatformUpgrade(r, stream) + warningMissingIndex(respCB()) if err != nil { var alreadyAtLatestVersionErr *cmderrors.PlatformAlreadyAtTheLatestVersionError if errors.As(err, &alreadyAtLatestVersionErr) { diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 7ec59e81e57..7a105dbfa9b 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -56,13 +56,13 @@ func runOutdatedCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli outdated`") ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) - Outdated(inst) + Outdated(ctx, srv, inst) } // Outdated prints a list of outdated platforms and libraries -func Outdated(inst *rpc.Instance) { +func Outdated(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance) { feedback.PrintResult( - newOutdatedResult(core.GetList(inst, false, true), lib.GetList(inst, []string{}, false, true)), + newOutdatedResult(core.GetList(ctx, srv, inst, false, true), lib.GetList(inst, []string{}, false, true)), ) } diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index 64ea2b77562..944a027fc5e 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -57,6 +57,6 @@ func runUpdateCommand(srv rpc.ArduinoCoreServiceServer, showOutdated bool) { core.UpdateIndex(ctx, srv, inst) instance.Init(ctx, srv, inst) if showOutdated { - outdated.Outdated(inst) + outdated.Outdated(ctx, srv, inst) } } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 97bd50c5af8..ed49145b98c 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -135,7 +135,7 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie } msg += "\n" - if platform, err := commands.PlatformSearch(&rpc.PlatformSearchRequest{ + if platform, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{ Instance: inst, SearchArgs: platformErr.Platform, }); err != nil { From cfe4b272598bafbc4829f0a02e9dac0c7bd141df Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 13:11:24 +0100 Subject: [PATCH 153/361] Inlining methods in ArduinoCoreServiceImpl (part 11: LibraryDownload, LibraryInstall, LibraryUpgrade, LibraryUninstall, LibraryUpgradeAll, LibraryResolveDependencies, LibrarySearch, LibraryList, ZipLibraryInstall, GitLibraryInstall) --- commands/service.go | 83 ------------------------ commands/service_library_download.go | 40 +++++++----- commands/service_library_install.go | 64 ++++++++++++++++-- commands/service_library_list.go | 2 +- commands/service_library_resolve_deps.go | 2 +- commands/service_library_search.go | 2 +- commands/service_library_uninstall.go | 20 +++++- commands/service_library_upgrade.go | 58 ++++++++++++++--- internal/cli/arguments/completion.go | 4 +- internal/cli/lib/args.go | 9 ++- internal/cli/lib/check_deps.go | 5 +- internal/cli/lib/download.go | 6 +- internal/cli/lib/examples.go | 3 +- internal/cli/lib/install.go | 20 +++--- internal/cli/lib/list.go | 16 ++--- internal/cli/lib/search.go | 2 +- internal/cli/lib/uninstall.go | 9 +-- internal/cli/lib/upgrade.go | 7 +- internal/cli/outdated/outdated.go | 4 +- 19 files changed, 193 insertions(+), 163 deletions(-) diff --git a/commands/service.go b/commands/service.go index 5ad16c8a0e4..e1904c5fc81 100644 --- a/commands/service.go +++ b/commands/service.go @@ -164,94 +164,11 @@ func (s *arduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Co return ListProgrammersAvailableForUpload(ctx, req) } -// LibraryDownload FIXMEDOC -func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, stream rpc.ArduinoCoreService_LibraryDownloadServer) error { - syncSend := NewSynchronizedSend(stream.Send) - resp, err := LibraryDownload( - stream.Context(), req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryDownloadResponse{Progress: p}) }, - ) - if err != nil { - return err - } - return syncSend.Send(resp) -} - -// LibraryInstall FIXMEDOC -func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { - syncSend := NewSynchronizedSend(stream.Send) - return LibraryInstall( - stream.Context(), s, req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryInstallResponse{Progress: p}) }, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryInstallResponse{TaskProgress: p}) }, - ) -} - -// LibraryUpgrade FIXMEDOC -func (s *arduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { - syncSend := NewSynchronizedSend(stream.Send) - return LibraryUpgrade( - stream.Context(), s, req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{Progress: p}) }, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{TaskProgress: p}) }, - ) -} - -// LibraryUninstall FIXMEDOC -func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallRequest, stream rpc.ArduinoCoreService_LibraryUninstallServer) error { - syncSend := NewSynchronizedSend(stream.Send) - return LibraryUninstall(stream.Context(), req, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUninstallResponse{TaskProgress: p}) }, - ) -} - -// LibraryUpgradeAll FIXMEDOC -func (s *arduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { - syncSend := NewSynchronizedSend(stream.Send) - return LibraryUpgradeAll(s, req, - func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{Progress: p}) }, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{TaskProgress: p}) }, - ) -} - -// LibraryResolveDependencies FIXMEDOC -func (s *arduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { - return LibraryResolveDependencies(ctx, req) -} - -// LibrarySearch FIXMEDOC -func (s *arduinoCoreServerImpl) LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { - return LibrarySearch(ctx, req) -} - -// LibraryList FIXMEDOC -func (s *arduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { - return LibraryList(ctx, req) -} - // ArchiveSketch FIXMEDOC func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { return ArchiveSketch(ctx, req) } -// ZipLibraryInstall FIXMEDOC -func (s *arduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequest, stream rpc.ArduinoCoreService_ZipLibraryInstallServer) error { - syncSend := NewSynchronizedSend(stream.Send) - return ZipLibraryInstall( - stream.Context(), req, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.ZipLibraryInstallResponse{TaskProgress: p}) }, - ) -} - -// GitLibraryInstall FIXMEDOC -func (s *arduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequest, stream rpc.ArduinoCoreService_GitLibraryInstallServer) error { - syncSend := NewSynchronizedSend(stream.Send) - return GitLibraryInstall( - stream.Context(), req, - func(p *rpc.TaskProgress) { syncSend.Send(&rpc.GitLibraryInstallResponse{TaskProgress: p}) }, - ) -} - // EnumerateMonitorPortSettings FIXMEDOC func (s *arduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { return EnumerateMonitorPortSettings(ctx, req) diff --git a/commands/service_library_download.go b/commands/service_library_download.go index 56102942ec2..152afa466ba 100644 --- a/commands/service_library_download.go +++ b/commands/service_library_download.go @@ -24,17 +24,28 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" - "github.com/sirupsen/logrus" ) -// LibraryDownload executes the download of the library. -// A DownloadProgressCB callback function must be passed to monitor download progress. -func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downloadCB rpc.DownloadProgressCB) (*rpc.LibraryDownloadResponse, error) { - logrus.Info("Executing `arduino-cli lib download`") +// LibraryDownloadStreamResponseToCallbackFunction returns a gRPC stream to be used in LibraryDownload that sends +// all responses to the callback function. +func LibraryDownloadStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB) rpc.ArduinoCoreService_LibraryDownloadServer { + return streamResponseToCallback(ctx, func(r *rpc.LibraryDownloadResponse) error { + if r.GetProgress() != nil { + downloadCB(r.GetProgress()) + } + return nil + }) +} + +// LibraryDownload downloads a library +func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, stream rpc.ArduinoCoreService_LibraryDownloadServer) error { + syncSend := NewSynchronizedSend(stream.Send) + ctx := stream.Context() + downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryDownloadResponse{Progress: p}) } var downloadsDir *paths.Path if pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()); err != nil { - return nil, err + return err } else { downloadsDir = pme.DownloadDir release() @@ -42,29 +53,27 @@ func LibraryDownload(ctx context.Context, req *rpc.LibraryDownloadRequest, downl li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { - return nil, err + return err } - logrus.Info("Preparing download") - version, err := ParseVersion(req.GetVersion()) if err != nil { - return nil, err + return err } lib, err := li.FindRelease(req.GetName(), version) if err != nil { - return nil, err + return err } - if err := downloadLibrary(downloadsDir, lib, downloadCB, func(*rpc.TaskProgress) {}, "download"); err != nil { - return nil, err + if err := downloadLibrary(ctx, downloadsDir, lib, downloadCB, func(*rpc.TaskProgress) {}, "download"); err != nil { + return err } - return &rpc.LibraryDownloadResponse{}, nil + return syncSend.Send(&rpc.LibraryDownloadResponse{}) } -func downloadLibrary(downloadsDir *paths.Path, libRelease *librariesindex.Release, +func downloadLibrary(_ context.Context, downloadsDir *paths.Path, libRelease *librariesindex.Release, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, queryParameter string) error { taskCB(&rpc.TaskProgress{Name: tr("Downloading %s", libRelease)}) @@ -72,6 +81,7 @@ func downloadLibrary(downloadsDir *paths.Path, libRelease *librariesindex.Releas if err != nil { return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } + // TODO: Pass context if err := libRelease.Resource.Download(downloadsDir, config, libRelease.String(), downloadCB, queryParameter); err != nil { return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } diff --git a/commands/service_library_install.go b/commands/service_library_install.go index f08c50f8ccc..c2b9aa7ad1e 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -30,8 +30,27 @@ import ( "github.com/sirupsen/logrus" ) +// LibraryInstallStreamResponseToCallbackFunction returns a gRPC stream to be used in LibraryInstall that sends +// all responses to the callback function. +func LibraryInstallStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_LibraryInstallServer { + return streamResponseToCallback(ctx, func(r *rpc.LibraryInstallResponse) error { + if r.GetProgress() != nil { + downloadCB(r.GetProgress()) + } + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + // LibraryInstall resolves the library dependencies, then downloads and installs the libraries into the install location. -func LibraryInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.LibraryInstallRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { + ctx := stream.Context() + syncSend := NewSynchronizedSend(stream.Send) + downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryInstallResponse{Progress: p}) } + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryInstallResponse{TaskProgress: p}) } + // Obtain the library index from the manager li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { @@ -128,7 +147,7 @@ func LibraryInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req * downloadReason += "-builtin" } } - if err := downloadLibrary(downloadsDir, libRelease, downloadCB, taskCB, downloadReason); err != nil { + if err := downloadLibrary(ctx, downloadsDir, libRelease, downloadCB, taskCB, downloadReason); err != nil { return err } if err := installLibrary(lmi, downloadsDir, libRelease, installTask, taskCB); err != nil { @@ -136,8 +155,10 @@ func LibraryInstall(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req * } } - stream := InitStreamResponseToCallbackFunction(ctx, nil) - if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, stream); err != nil { + err = s.Init( + &rpc.InitRequest{Instance: req.GetInstance()}, + InitStreamResponseToCallbackFunction(ctx, nil)) + if err != nil { return err } @@ -166,8 +187,23 @@ func installLibrary(lmi *librariesmanager.Installer, downloadsDir *paths.Path, l return nil } +// ZipLibraryInstallStreamResponseToCallbackFunction returns a gRPC stream to be used in ZipLibraryInstall that sends +// all responses to the callback function. +func ZipLibraryInstallStreamResponseToCallbackFunction(ctx context.Context, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_ZipLibraryInstallServer { + return streamResponseToCallback(ctx, func(r *rpc.ZipLibraryInstallResponse) error { + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + // ZipLibraryInstall FIXMEDOC -func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { +func (s *arduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequest, stream rpc.ArduinoCoreService_ZipLibraryInstallServer) error { + ctx := stream.Context() + syncSend := NewSynchronizedSend(stream.Send) + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.ZipLibraryInstallResponse{TaskProgress: p}) } + lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { return err @@ -181,14 +217,30 @@ func ZipLibraryInstall(ctx context.Context, req *rpc.ZipLibraryInstallRequest, t return nil } +// GitLibraryInstallStreamResponseToCallbackFunction returns a gRPC stream to be used in GitLibraryInstall that sends +// all responses to the callback function. +func GitLibraryInstallStreamResponseToCallbackFunction(ctx context.Context, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_GitLibraryInstallServer { + return streamResponseToCallback(ctx, func(r *rpc.GitLibraryInstallResponse) error { + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + // GitLibraryInstall FIXMEDOC -func GitLibraryInstall(ctx context.Context, req *rpc.GitLibraryInstallRequest, taskCB rpc.TaskProgressCB) error { +func (s *arduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequest, stream rpc.ArduinoCoreService_GitLibraryInstallServer) error { + syncSend := NewSynchronizedSend(stream.Send) + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.GitLibraryInstallResponse{TaskProgress: p}) } lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { return err } lmi, release := lm.NewInstaller() defer release() + + // TODO: pass context + // ctx := stream.Context() if err := lmi.InstallGitLib(req.GetUrl(), req.GetOverwrite()); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } diff --git a/commands/service_library_list.go b/commands/service_library_list.go index 84030341a43..be293c6161d 100644 --- a/commands/service_library_list.go +++ b/commands/service_library_list.go @@ -35,7 +35,7 @@ type installedLib struct { } // LibraryList FIXMEDOC -func LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { +func (s *arduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.LibraryListRequest) (*rpc.LibraryListResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/service_library_resolve_deps.go b/commands/service_library_resolve_deps.go index ccfef15b742..013199dbe29 100644 --- a/commands/service_library_resolve_deps.go +++ b/commands/service_library_resolve_deps.go @@ -30,7 +30,7 @@ import ( ) // LibraryResolveDependencies FIXMEDOC -func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { +func (s *arduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDependenciesRequest) (*rpc.LibraryResolveDependenciesResponse, error) { lme, release, err := instances.GetLibraryManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/service_library_search.go b/commands/service_library_search.go index d5ab7c86d80..39ff4c51c6e 100644 --- a/commands/service_library_search.go +++ b/commands/service_library_search.go @@ -27,7 +27,7 @@ import ( ) // LibrarySearch FIXMEDOC -func LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { +func (s *arduinoCoreServerImpl) LibrarySearch(ctx context.Context, req *rpc.LibrarySearchRequest) (*rpc.LibrarySearchResponse, error) { li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/service_library_uninstall.go b/commands/service_library_uninstall.go index 6f613760890..e436cbe15a9 100644 --- a/commands/service_library_uninstall.go +++ b/commands/service_library_uninstall.go @@ -25,8 +25,23 @@ import ( "github.com/arduino/go-paths-helper" ) -// LibraryUninstall FIXMEDOC -func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, taskCB rpc.TaskProgressCB) error { +// LibraryUninstallStreamResponseToCallbackFunction returns a gRPC stream to be used in LibraryUninstall that sends +// all responses to the callback function. +func LibraryUninstallStreamResponseToCallbackFunction(ctx context.Context, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_LibraryUninstallServer { + return streamResponseToCallback(ctx, func(r *rpc.LibraryUninstallResponse) error { + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + +// LibraryUninstall uninstalls a library +func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallRequest, stream rpc.ArduinoCoreService_LibraryUninstallServer) error { + // ctx := stream.Context() + syncSend := NewSynchronizedSend(stream.Send) + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUninstallResponse{TaskProgress: p}) } + lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { return err @@ -47,6 +62,7 @@ func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallRequest, tas if len(libs) == 1 { taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s", libs)}) + // TODO: pass context lmi.Uninstall(libs[0]) taskCB(&rpc.TaskProgress{Completed: true}) return nil diff --git a/commands/service_library_upgrade.go b/commands/service_library_upgrade.go index 327c0245ee7..ff8af393705 100644 --- a/commands/service_library_upgrade.go +++ b/commands/service_library_upgrade.go @@ -23,9 +23,26 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) +// LibraryUpgradeAllStreamResponseToCallbackFunction returns a gRPC stream to be used in LibraryUpgradeAll that sends +// all responses to the callback function. +func LibraryUpgradeAllStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_LibraryUpgradeAllServer { + return streamResponseToCallback(ctx, func(r *rpc.LibraryUpgradeAllResponse) error { + if r.GetProgress() != nil { + downloadCB(r.GetProgress()) + } + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + // LibraryUpgradeAll upgrades all the available libraries -func LibraryUpgradeAll(srv rpc.ArduinoCoreServiceServer, req *rpc.LibraryUpgradeAllRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { - ctx := context.Background() +func (s *arduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { + ctx := stream.Context() + syncSend := NewSynchronizedSend(stream.Send) + downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{Progress: p}) } + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{TaskProgress: p}) } li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { @@ -39,20 +56,41 @@ func LibraryUpgradeAll(srv rpc.ArduinoCoreServiceServer, req *rpc.LibraryUpgrade libsToUpgrade := listLibraries(lme, li, true, false) release() - if err := upgrade(ctx, srv, req.GetInstance(), libsToUpgrade, downloadCB, taskCB); err != nil { + if err := s.libraryUpgrade(ctx, req.GetInstance(), libsToUpgrade, downloadCB, taskCB); err != nil { return err } - stream := InitStreamResponseToCallbackFunction(ctx, nil) - if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, stream); err != nil { + err = s.Init( + &rpc.InitRequest{Instance: req.GetInstance()}, + InitStreamResponseToCallbackFunction(ctx, nil)) + if err != nil { return err } return nil } +// LibraryUpgradeStreamResponseToCallbackFunction returns a gRPC stream to be used in LibraryUpgrade that sends +// all responses to the callback function. +func LibraryUpgradeStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) rpc.ArduinoCoreService_LibraryUpgradeServer { + return streamResponseToCallback(ctx, func(r *rpc.LibraryUpgradeResponse) error { + if r.GetProgress() != nil { + downloadCB(r.GetProgress()) + } + if r.GetTaskProgress() != nil { + taskCB(r.GetTaskProgress()) + } + return nil + }) +} + // LibraryUpgrade upgrades a library -func LibraryUpgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req *rpc.LibraryUpgradeRequest, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func (s *arduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { + ctx := stream.Context() + syncSend := NewSynchronizedSend(stream.Send) + downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{Progress: p}) } + taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{TaskProgress: p}) } + li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { return err @@ -78,10 +116,10 @@ func LibraryUpgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, req * } // Install update - return upgrade(ctx, srv, req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB) + return s.libraryUpgrade(ctx, req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB) } -func upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func (s *arduinoCoreServerImpl) libraryUpgrade(ctx context.Context, instance *rpc.Instance, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { for _, lib := range libs { libInstallReq := &rpc.LibraryInstallRequest{ Instance: instance, @@ -90,8 +128,8 @@ func upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rp NoDeps: false, NoOverwrite: false, } - err := LibraryInstall(ctx, srv, libInstallReq, downloadCB, taskCB) - if err != nil { + stream := LibraryInstallStreamResponseToCallbackFunction(ctx, downloadCB, taskCB) + if err := s.LibraryInstall(libInstallReq, stream); err != nil { return err } } diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index d27e68005ae..ad0f9d1f1b8 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -130,7 +130,7 @@ func GetUninstallableLibraries(ctx context.Context, srv rpc.ArduinoCoreServiceSe func getLibraries(ctx context.Context, srv rpc.ArduinoCoreServiceServer, all bool) []string { inst := instance.CreateAndInit(ctx, srv) - libs, _ := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ + libs, _ := srv.LibraryList(ctx, &rpc.LibraryListRequest{ Instance: inst, All: all, Updatable: false, @@ -150,7 +150,7 @@ func getLibraries(ctx context.Context, srv rpc.ArduinoCoreServiceServer, all boo func GetInstallableLibs(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { inst := instance.CreateAndInit(ctx, srv) - libs, _ := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ + libs, _ := srv.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ Instance: inst, SearchArgs: "", // if no query is specified all the libs are returned }) diff --git a/internal/cli/lib/args.go b/internal/cli/lib/args.go index b69b0664910..3d3546a0c7e 100644 --- a/internal/cli/lib/args.go +++ b/internal/cli/lib/args.go @@ -20,7 +20,6 @@ import ( "fmt" "strings" - "github.com/arduino/arduino-cli/commands" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -74,9 +73,9 @@ func ParseLibraryReferenceArgs(args []string) ([]*LibraryReferenceArg, error) { // ParseLibraryReferenceArgAndAdjustCase parse a command line argument that reference a // library and possibly adjust the case of the name to match a library in the index -func ParseLibraryReferenceArgAndAdjustCase(instance *rpc.Instance, arg string) (*LibraryReferenceArg, error) { +func ParseLibraryReferenceArgAndAdjustCase(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, arg string) (*LibraryReferenceArg, error) { libRef, _ := ParseLibraryReferenceArg(arg) - res, err := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ + res, err := srv.LibrarySearch(ctx, &rpc.LibrarySearchRequest{ Instance: instance, SearchArgs: libRef.Name, }) @@ -98,10 +97,10 @@ func ParseLibraryReferenceArgAndAdjustCase(instance *rpc.Instance, arg string) ( // ParseLibraryReferenceArgsAndAdjustCase is a convenient wrapper that operates on a slice of // strings and calls ParseLibraryReferenceArgAndAdjustCase for each of them. It returns at the first invalid argument. -func ParseLibraryReferenceArgsAndAdjustCase(instance *rpc.Instance, args []string) ([]*LibraryReferenceArg, error) { +func ParseLibraryReferenceArgsAndAdjustCase(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, args []string) ([]*LibraryReferenceArg, error) { ret := []*LibraryReferenceArg{} for _, arg := range args { - if reference, err := ParseLibraryReferenceArgAndAdjustCase(instance, arg); err == nil { + if reference, err := ParseLibraryReferenceArgAndAdjustCase(ctx, srv, instance, arg); err == nil { ret = append(ret, reference) } else { return nil, err diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 87a88837209..26cd954739c 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -21,7 +21,6 @@ import ( "os" "sort" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -58,12 +57,12 @@ func runDepsCommand(srv rpc.ArduinoCoreServiceServer, args []string, noOverwrite instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib deps`") - libRef, err := ParseLibraryReferenceArgAndAdjustCase(instance, args[0]) + libRef, err := ParseLibraryReferenceArgAndAdjustCase(ctx, srv, instance, args[0]) if err != nil { feedback.Fatal(tr("Arguments error: %v", err), feedback.ErrBadArgument) } - deps, err := commands.LibraryResolveDependencies(context.Background(), &rpc.LibraryResolveDependenciesRequest{ + deps, err := srv.LibraryResolveDependencies(ctx, &rpc.LibraryResolveDependenciesRequest{ Instance: instance, Name: libRef.Name, Version: libRef.Version, diff --git a/internal/cli/lib/download.go b/internal/cli/lib/download.go index 415ce52eb16..b20877bea01 100644 --- a/internal/cli/lib/download.go +++ b/internal/cli/lib/download.go @@ -53,7 +53,7 @@ func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) - refs, err := ParseLibraryReferenceArgsAndAdjustCase(instance, args) + refs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } @@ -64,8 +64,8 @@ func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { Name: library.Name, Version: library.Version, } - _, err := commands.LibraryDownload(context.Background(), libraryDownloadRequest, feedback.ProgressBar()) - if err != nil { + stream := commands.LibraryDownloadStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) + if err := srv.LibraryDownload(libraryDownloadRequest, stream); err != nil { feedback.Fatal(tr("Error downloading %[1]s: %[2]v", library, err), feedback.ErrNetwork) } } diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index 06f42086fd6..3b5921f8ea0 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -22,7 +22,6 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -66,7 +65,7 @@ func runExamplesCommand(srv rpc.ArduinoCoreServiceServer, args []string) { name = args[0] } - res, err := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ + res, err := srv.LibraryList(ctx, &rpc.LibraryListRequest{ Instance: instance, All: true, Name: name, diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 0fe9fca84ed..dce521eb6d3 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -90,12 +90,13 @@ func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps b if zipPath { for _, path := range args { - err := commands.ZipLibraryInstall(context.Background(), &rpc.ZipLibraryInstallRequest{ + req := &rpc.ZipLibraryInstallRequest{ Instance: instance, Path: path, Overwrite: !noOverwrite, - }, feedback.TaskProgress()) - if err != nil { + } + stream := commands.ZipLibraryInstallStreamResponseToCallbackFunction(ctx, feedback.TaskProgress()) + if err := srv.ZipLibraryInstall(req, stream); err != nil { feedback.Fatal(tr("Error installing Zip Library: %v", err), feedback.ErrGeneric) } } @@ -111,19 +112,20 @@ func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps b } url = wd.String() } - err := commands.GitLibraryInstall(context.Background(), &rpc.GitLibraryInstallRequest{ + req := &rpc.GitLibraryInstallRequest{ Instance: instance, Url: url, Overwrite: !noOverwrite, - }, feedback.TaskProgress()) - if err != nil { + } + stream := commands.GitLibraryInstallStreamResponseToCallbackFunction(ctx, feedback.TaskProgress()) + if err := srv.GitLibraryInstall(req, stream); err != nil { feedback.Fatal(tr("Error installing Git Library: %v", err), feedback.ErrGeneric) } } return } - libRefs, err := ParseLibraryReferenceArgsAndAdjustCase(instance, args) + libRefs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) if err != nil { feedback.Fatal(tr("Arguments error: %v", err), feedback.ErrBadArgument) } @@ -141,8 +143,8 @@ func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps b NoOverwrite: noOverwrite, InstallLocation: installLocation, } - err := commands.LibraryInstall(ctx, srv, libraryInstallRequest, feedback.ProgressBar(), feedback.TaskProgress()) - if err != nil { + stream := commands.LibraryInstallStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) + if err := srv.LibraryInstall(libraryInstallRequest, stream); err != nil { feedback.Fatal(tr("Error installing %s: %v", libRef.Name, err), feedback.ErrGeneric) } } diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index 1487cf75527..8d743bb3ba3 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -22,7 +22,6 @@ import ( "sort" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -49,7 +48,7 @@ not listed, they can be listed by adding the --all flag.`), ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib list`") - List(instance, args, all, updatable) + List(ctx, srv, instance, args, all, updatable) }, } listCommand.Flags().BoolVar(&all, "all", false, tr("Include built-in libraries (from platforms and IDE) in listing.")) @@ -59,8 +58,8 @@ not listed, they can be listed by adding the --all flag.`), } // List gets and prints a list of installed libraries. -func List(instance *rpc.Instance, args []string, all bool, updatable bool) { - installedLibs := GetList(instance, args, all, updatable) +func List(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, args []string, all bool, updatable bool) { + installedLibs := GetList(ctx, srv, instance, args, all, updatable) installedLibsResult := make([]*result.InstalledLibrary, len(installedLibs)) for i, v := range installedLibs { @@ -74,18 +73,13 @@ func List(instance *rpc.Instance, args []string, all bool, updatable bool) { } // GetList returns a list of installed libraries. -func GetList( - instance *rpc.Instance, - args []string, - all bool, - updatable bool, -) []*rpc.InstalledLibrary { +func GetList(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, args []string, all bool, updatable bool) []*rpc.InstalledLibrary { name := "" if len(args) > 0 { name = args[0] } - res, err := commands.LibraryList(context.Background(), &rpc.LibraryListRequest{ + res, err := srv.LibraryList(ctx, &rpc.LibraryListRequest{ Instance: instance, All: all, Updatable: updatable, diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 94a4cc616fb..833b51f6558 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -119,7 +119,7 @@ func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, namesOnly instance.Init(ctx, srv, inst) } - searchResp, err := commands.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ + searchResp, err := srv.LibrarySearch(ctx, &rpc.LibrarySearchRequest{ Instance: inst, SearchArgs: strings.Join(args, " "), OmitReleasesDetails: omitReleasesDetails, diff --git a/internal/cli/lib/uninstall.go b/internal/cli/lib/uninstall.go index a79ba4683de..d8129ec42db 100644 --- a/internal/cli/lib/uninstall.go +++ b/internal/cli/lib/uninstall.go @@ -51,18 +51,19 @@ func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string) { ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) - refs, err := ParseLibraryReferenceArgsAndAdjustCase(instance, args) + refs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) if err != nil { feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } for _, library := range refs { - err := commands.LibraryUninstall(context.Background(), &rpc.LibraryUninstallRequest{ + req := &rpc.LibraryUninstallRequest{ Instance: instance, Name: library.Name, Version: library.Version, - }, feedback.TaskProgress()) - if err != nil { + } + stream := commands.LibraryUninstallStreamResponseToCallbackFunction(ctx, feedback.TaskProgress()) + if err := srv.LibraryUninstall(req, stream); err != nil { feedback.Fatal(tr("Error uninstalling %[1]s: %[2]v", library, err), feedback.ErrGeneric) } } diff --git a/internal/cli/lib/upgrade.go b/internal/cli/lib/upgrade.go index 52bd644c730..6c612eb0089 100644 --- a/internal/cli/lib/upgrade.go +++ b/internal/cli/lib/upgrade.go @@ -56,15 +56,16 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rp var upgradeErr error if len(libraries) == 0 { req := &rpc.LibraryUpgradeAllRequest{Instance: instance} - upgradeErr = commands.LibraryUpgradeAll(srv, req, feedback.ProgressBar(), feedback.TaskProgress()) + stream := commands.LibraryUpgradeAllStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) + upgradeErr = srv.LibraryUpgradeAll(req, stream) } else { for _, libName := range libraries { req := &rpc.LibraryUpgradeRequest{ Instance: instance, Name: libName, } - upgradeErr = commands.LibraryUpgrade(ctx, srv, req, feedback.ProgressBar(), feedback.TaskProgress()) - if upgradeErr != nil { + stream := commands.LibraryUpgradeStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) + if upgradeErr = srv.LibraryUpgrade(req, stream); upgradeErr != nil { break } } diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 7a105dbfa9b..54d1aec70b7 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -62,7 +62,9 @@ func runOutdatedCommand(srv rpc.ArduinoCoreServiceServer) { // Outdated prints a list of outdated platforms and libraries func Outdated(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance) { feedback.PrintResult( - newOutdatedResult(core.GetList(ctx, srv, inst, false, true), lib.GetList(inst, []string{}, false, true)), + newOutdatedResult( + core.GetList(ctx, srv, inst, false, true), + lib.GetList(ctx, srv, inst, []string{}, false, true)), ) } From a3800fa2834b64f4a6586b92072f0af1b984d794 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 13:20:40 +0100 Subject: [PATCH 154/361] Inlining methods in ArduinoCoreServiceImpl (part 12: UpdateLibrariesIndex) --- commands/instances.go | 62 ++++++++++++++++++++++++-------- commands/service.go | 18 ---------- internal/cli/lib/search.go | 11 +++--- internal/cli/lib/update_index.go | 13 ++++--- internal/cli/update/update.go | 2 +- 5 files changed, 58 insertions(+), 48 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index 614825c19af..1b51231c657 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -422,30 +422,56 @@ func (s *arduinoCoreServerImpl) Destroy(ctx context.Context, req *rpc.DestroyReq return &rpc.DestroyResponse{}, nil } +// UpdateLibrariesIndexStreamResponseToCallbackFunction returns a gRPC stream to be used in UpdateLibrariesIndex that sends +// all responses to the callback function. +func UpdateLibrariesIndexStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB) (rpc.ArduinoCoreService_UpdateLibrariesIndexServer, func() *rpc.UpdateLibrariesIndexResponse_Result) { + var result *rpc.UpdateLibrariesIndexResponse_Result + return streamResponseToCallback(ctx, func(r *rpc.UpdateLibrariesIndexResponse) error { + if r.GetDownloadProgress() != nil { + downloadCB(r.GetDownloadProgress()) + } + if r.GetResult() != nil { + result = r.GetResult() + } + return nil + }), func() *rpc.UpdateLibrariesIndexResponse_Result { + return result + } +} + // UpdateLibrariesIndex updates the library_index.json -func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequest, downloadCB rpc.DownloadProgressCB) (*rpc.UpdateLibrariesIndexResponse_Result, error) { - logrus.Info("Updating libraries index") +func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateLibrariesIndexServer) error { + syncSend := NewSynchronizedSend(stream.Send) + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.UpdateLibrariesIndexResponse{ + Message: &rpc.UpdateLibrariesIndexResponse_DownloadProgress{DownloadProgress: p}}) + } pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return nil, err + return err } indexDir := pme.IndexDir release() - index := globals.LibrariesIndexResource - result := func(status rpc.IndexUpdateReport_Status) *rpc.UpdateLibrariesIndexResponse_Result { - return &rpc.UpdateLibrariesIndexResponse_Result{ - LibrariesIndex: &rpc.IndexUpdateReport{ - IndexUrl: globals.LibrariesIndexResource.URL.String(), - Status: status, + + resultCB := func(status rpc.IndexUpdateReport_Status) { + syncSend.Send(&rpc.UpdateLibrariesIndexResponse{ + Message: &rpc.UpdateLibrariesIndexResponse_Result_{ + Result: &rpc.UpdateLibrariesIndexResponse_Result{ + LibrariesIndex: &rpc.IndexUpdateReport{ + IndexUrl: index.URL.String(), + Status: status, + }, + }, }, - } + }) } // Create the index directory if it doesn't exist if err := indexDir.MkdirAll(); err != nil { - return result(rpc.IndexUpdateReport_STATUS_FAILED), &cmderrors.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} + resultCB(rpc.IndexUpdateReport_STATUS_FAILED) + return &cmderrors.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} } // Check if the index file is already up-to-date @@ -453,16 +479,21 @@ func UpdateLibrariesIndex(ctx context.Context, req *rpc.UpdateLibrariesIndexRequ if info, err := indexDir.Join(indexFileName).Stat(); err == nil { ageSecs := int64(time.Since(info.ModTime()).Seconds()) if ageSecs < req.GetUpdateIfOlderThanSecs() { - return result(rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE), nil + resultCB(rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE) + return nil } } // Perform index update + // TODO: pass context + // ctx := stream.Context() if err := globals.LibrariesIndexResource.Download(indexDir, downloadCB); err != nil { - return nil, err + resultCB(rpc.IndexUpdateReport_STATUS_FAILED) + return err } - return result(rpc.IndexUpdateReport_STATUS_UPDATED), nil + resultCB(rpc.IndexUpdateReport_STATUS_UPDATED) + return nil } // UpdateIndexStreamResponseToCallbackFunction returns a gRPC stream to be used in UpdateIndex that sends @@ -593,7 +624,8 @@ func firstUpdate(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance // The library_index.json file doesn't exists, that means the CLI is run for the first time // so we proceed with the first update that downloads the file req := &rpc.UpdateLibrariesIndexRequest{Instance: instance} - if _, err := UpdateLibrariesIndex(ctx, req, downloadCb); err != nil { + stream, _ := UpdateLibrariesIndexStreamResponseToCallbackFunction(ctx, downloadCb) + if err := srv.UpdateLibrariesIndex(req, stream); err != nil { return err } } diff --git a/commands/service.go b/commands/service.go index e1904c5fc81..997f5f88a63 100644 --- a/commands/service.go +++ b/commands/service.go @@ -37,24 +37,6 @@ type arduinoCoreServerImpl struct { versionString string } -// UpdateLibrariesIndex FIXMEDOC -func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesIndexRequest, stream rpc.ArduinoCoreService_UpdateLibrariesIndexServer) error { - syncSend := NewSynchronizedSend(stream.Send) - res, err := UpdateLibrariesIndex(stream.Context(), req, - func(p *rpc.DownloadProgress) { - syncSend.Send(&rpc.UpdateLibrariesIndexResponse{ - Message: &rpc.UpdateLibrariesIndexResponse_DownloadProgress{DownloadProgress: p}, - }) - }, - ) - if res != nil { - syncSend.Send(&rpc.UpdateLibrariesIndexResponse{ - Message: &rpc.UpdateLibrariesIndexResponse_Result_{Result: res}, - }) - } - return err -} - // Version FIXMEDOC func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionRequest) (*rpc.VersionResponse, error) { return &rpc.VersionResponse{Version: s.versionString}, nil diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 833b51f6558..aa1d0f1b314 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -107,15 +107,12 @@ func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, namesOnly logrus.Info("Executing `arduino-cli lib search`") - res, err := commands.UpdateLibrariesIndex( - context.Background(), - &rpc.UpdateLibrariesIndexRequest{Instance: inst, UpdateIfOlderThanSecs: int64(indexUpdateInterval.Seconds())}, - feedback.ProgressBar(), - ) - if err != nil { + stream, res := commands.UpdateLibrariesIndexStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) + req := &rpc.UpdateLibrariesIndexRequest{Instance: inst, UpdateIfOlderThanSecs: int64(indexUpdateInterval.Seconds())} + if err := srv.UpdateLibrariesIndex(req, stream); err != nil { feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) } - if res.GetLibrariesIndex().GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { + if res().GetLibrariesIndex().GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { instance.Init(ctx, srv, inst) } diff --git a/internal/cli/lib/update_index.go b/internal/cli/lib/update_index.go index 5d531eb96e3..f5f5c62cea8 100644 --- a/internal/cli/lib/update_index.go +++ b/internal/cli/lib/update_index.go @@ -47,19 +47,18 @@ func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib update-index`") - resp := UpdateIndex(inst) + resp := UpdateIndex(ctx, srv, inst) feedback.PrintResult(&libUpdateIndexResult{result.NewUpdateLibrariesIndexResponse_ResultResult(resp)}) } // UpdateIndex updates the index of libraries. -func UpdateIndex(inst *rpc.Instance) *rpc.UpdateLibrariesIndexResponse_Result { - resp, err := commands.UpdateLibrariesIndex(context.Background(), &rpc.UpdateLibrariesIndexRequest{ - Instance: inst, - }, feedback.ProgressBar()) - if err != nil { +func UpdateIndex(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.Instance) *rpc.UpdateLibrariesIndexResponse_Result { + req := &rpc.UpdateLibrariesIndexRequest{Instance: inst} + stream, resp := commands.UpdateLibrariesIndexStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) + if err := srv.UpdateLibrariesIndex(req, stream); err != nil { feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) } - return resp + return resp() } type libUpdateIndexResult struct { diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index 944a027fc5e..82b94135f74 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -53,7 +53,7 @@ func runUpdateCommand(srv rpc.ArduinoCoreServiceServer, showOutdated bool) { ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) - lib.UpdateIndex(inst) + lib.UpdateIndex(ctx, srv, inst) core.UpdateIndex(ctx, srv, inst) instance.Init(ctx, srv, inst) if showOutdated { From 738ad7c875f7a09e6b6bbc8a67d731fbe0d673e9 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 13:37:09 +0100 Subject: [PATCH 155/361] Inlining methods in ArduinoCoreServiceImpl (part 13: NewSketch, LoadSketch, SetSketchDefaults, ArchiveSketch) --- commands/service.go | 21 --------------------- commands/service_set_sketch_defaults.go | 2 +- commands/service_sketch_archive.go | 8 ++++---- commands/service_sketch_load.go | 4 ++-- commands/service_sketch_load_test.go | 7 ++++--- commands/service_sketch_new.go | 2 +- commands/service_sketch_new_test.go | 21 +++++++++++++-------- internal/cli/arguments/profiles.go | 11 ++++++++--- internal/cli/arguments/sketch.go | 7 +++---- internal/cli/board/attach.go | 4 ++-- internal/cli/cli.go | 2 +- internal/cli/compile/compile.go | 5 +++-- internal/cli/debug/debug.go | 5 +++-- internal/cli/monitor/monitor.go | 5 +++-- internal/cli/sketch/archive.go | 16 +++++++++------- internal/cli/sketch/new.go | 12 +++++++----- internal/cli/sketch/sketch.go | 7 ++++--- internal/cli/upload/upload.go | 5 +++-- 18 files changed, 71 insertions(+), 73 deletions(-) diff --git a/commands/service.go b/commands/service.go index 997f5f88a63..581928fdba9 100644 --- a/commands/service.go +++ b/commands/service.go @@ -42,22 +42,6 @@ func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionReq return &rpc.VersionResponse{Version: s.versionString}, nil } -// NewSketch FIXMEDOC -func (s *arduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { - return NewSketch(ctx, req) -} - -// LoadSketch FIXMEDOC -func (s *arduinoCoreServerImpl) LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { - resp, err := LoadSketch(ctx, req) - return &rpc.LoadSketchResponse{Sketch: resp}, err -} - -// SetSketchDefaults FIXMEDOC -func (s *arduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { - return SetSketchDefaults(ctx, req) -} - // Upload FIXMEDOC func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.ArduinoCoreService_UploadServer) error { syncSend := NewSynchronizedSend(stream.Send) @@ -146,11 +130,6 @@ func (s *arduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Co return ListProgrammersAvailableForUpload(ctx, req) } -// ArchiveSketch FIXMEDOC -func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { - return ArchiveSketch(ctx, req) -} - // EnumerateMonitorPortSettings FIXMEDOC func (s *arduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { return EnumerateMonitorPortSettings(ctx, req) diff --git a/commands/service_set_sketch_defaults.go b/commands/service_set_sketch_defaults.go index e90b1ef58c4..6b3ba044899 100644 --- a/commands/service_set_sketch_defaults.go +++ b/commands/service_set_sketch_defaults.go @@ -26,7 +26,7 @@ import ( // SetSketchDefaults updates the sketch project file (sketch.yaml) with the given defaults // for the values `default_fqbn`, `default_port`, and `default_protocol`. -func SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { +func (s *arduinoCoreServerImpl) SetSketchDefaults(ctx context.Context, req *rpc.SetSketchDefaultsRequest) (*rpc.SetSketchDefaultsResponse, error) { sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { return nil, &cmderrors.CantOpenSketchError{Cause: err} diff --git a/commands/service_sketch_archive.go b/commands/service_sketch_archive.go index b2b28ae4bdd..67515406382 100644 --- a/commands/service_sketch_archive.go +++ b/commands/service_sketch_archive.go @@ -29,7 +29,7 @@ import ( ) // ArchiveSketch FIXMEDOC -func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { +func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.ArchiveSketchResponse, error) { // sketchName is the name of the sketch without extension, for example "MySketch" var sketchName string @@ -38,13 +38,13 @@ func ArchiveSketch(ctx context.Context, req *rpc.ArchiveSketchRequest) (*rpc.Arc sketchPath = paths.New(".") } - s, err := sketch.New(sketchPath) + sk, err := sketch.New(sketchPath) if err != nil { return nil, &cmderrors.CantOpenSketchError{Cause: err} } - sketchPath = s.FullPath - sketchName = s.Name + sketchPath = sk.FullPath + sketchName = sk.Name archivePath := paths.New(req.GetArchivePath()) if archivePath == nil { diff --git a/commands/service_sketch_load.go b/commands/service_sketch_load.go index ffca3016715..8360ce7adfd 100644 --- a/commands/service_sketch_load.go +++ b/commands/service_sketch_load.go @@ -25,10 +25,10 @@ import ( ) // LoadSketch collects and returns all information about a sketch -func LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.Sketch, error) { +func (s *arduinoCoreServerImpl) LoadSketch(ctx context.Context, req *rpc.LoadSketchRequest) (*rpc.LoadSketchResponse, error) { sk, err := sketch.New(paths.New(req.GetSketchPath())) if err != nil { return nil, &cmderrors.CantOpenSketchError{Cause: err} } - return sk.ToRpc(), nil + return &rpc.LoadSketchResponse{Sketch: sk.ToRpc()}, nil } diff --git a/commands/service_sketch_load_test.go b/commands/service_sketch_load_test.go index 9d058e7035f..36bb58ea351 100644 --- a/commands/service_sketch_load_test.go +++ b/commands/service_sketch_load_test.go @@ -24,10 +24,11 @@ import ( ) func TestLoadSketchProfiles(t *testing.T) { - loadResp, err := LoadSketch(context.Background(), &commands.LoadSketchRequest{ + srv := NewArduinoCoreServer("") + loadResp, err := srv.LoadSketch(context.Background(), &commands.LoadSketchRequest{ SketchPath: "./testdata/sketch_with_profile", }) require.NoError(t, err) - require.Len(t, loadResp.GetProfiles(), 2) - require.Equal(t, loadResp.GetDefaultProfile().GetName(), "nanorp") + require.Len(t, loadResp.GetSketch().GetProfiles(), 2) + require.Equal(t, loadResp.GetSketch().GetDefaultProfile().GetName(), "nanorp") } diff --git a/commands/service_sketch_new.go b/commands/service_sketch_new.go index 1a39615c9eb..a8eb518a815 100644 --- a/commands/service_sketch_new.go +++ b/commands/service_sketch_new.go @@ -43,7 +43,7 @@ var invalidNames = []string{"CON", "PRN", "AUX", "NUL", "COM0", "COM1", "COM2", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"} // NewSketch creates a new sketch via gRPC -func NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { +func (s *arduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketchRequest) (*rpc.NewSketchResponse, error) { var sketchesDir string if len(req.GetSketchDir()) > 0 { sketchesDir = req.GetSketchDir() diff --git a/commands/service_sketch_new_test.go b/commands/service_sketch_new_test.go index 0ba8b56767c..0d0b3e05aa6 100644 --- a/commands/service_sketch_new_test.go +++ b/commands/service_sketch_new_test.go @@ -20,7 +20,7 @@ import ( "fmt" "testing" - "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/stretchr/testify/require" ) @@ -34,8 +34,10 @@ func Test_SketchNameWrongPattern(t *testing.T) { "||||||||||||||", ",`hack[}attempt{];", } + + srv := NewArduinoCoreServer("") for _, name := range invalidNames { - _, err := NewSketch(context.Background(), &commands.NewSketchRequest{ + _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, SketchDir: t.TempDir(), }) @@ -46,9 +48,9 @@ func Test_SketchNameWrongPattern(t *testing.T) { } func Test_SketchNameEmpty(t *testing.T) { - emptyName := "" - _, err := NewSketch(context.Background(), &commands.NewSketchRequest{ - SketchName: emptyName, + srv := NewArduinoCoreServer("") + _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ + SketchName: "", SketchDir: t.TempDir(), }) @@ -60,7 +62,8 @@ func Test_SketchNameTooLong(t *testing.T) { for i := range tooLongName { tooLongName[i] = 'a' } - _, err := NewSketch(context.Background(), &commands.NewSketchRequest{ + srv := NewArduinoCoreServer("") + _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: string(tooLongName), SketchDir: t.TempDir(), }) @@ -83,8 +86,9 @@ func Test_SketchNameOk(t *testing.T) { "_hello_world", string(lengthLimitName), } + srv := NewArduinoCoreServer("") for _, name := range validNames { - _, err := NewSketch(context.Background(), &commands.NewSketchRequest{ + _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, SketchDir: t.TempDir(), }) @@ -95,8 +99,9 @@ func Test_SketchNameOk(t *testing.T) { func Test_SketchNameReserved(t *testing.T) { invalidNames := []string{"CON", "PRN", "AUX", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"} + srv := NewArduinoCoreServer("") for _, name := range invalidNames { - _, err := NewSketch(context.Background(), &commands.NewSketchRequest{ + _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, SketchDir: t.TempDir(), }) diff --git a/internal/cli/arguments/profiles.go b/internal/cli/arguments/profiles.go index 6516cbdec08..1631fe35d9f 100644 --- a/internal/cli/arguments/profiles.go +++ b/internal/cli/arguments/profiles.go @@ -15,7 +15,12 @@ package arguments -import "github.com/spf13/cobra" +import ( + "context" + + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/spf13/cobra" +) // Profile contains the profile flag data. // This is useful so all flags used by commands that need @@ -25,14 +30,14 @@ type Profile struct { } // AddToCommand adds the flags used to set fqbn to the specified Command -func (f *Profile) AddToCommand(cmd *cobra.Command) { +func (f *Profile) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&f.profile, "profile", "m", "", tr("Sketch profile to use")) cmd.RegisterFlagCompletionFunc("profile", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { var sketchProfile string if len(args) > 0 { sketchProfile = args[0] } - return GetSketchProfiles(sketchProfile), cobra.ShellCompDirectiveDefault + return GetSketchProfiles(context.Background(), srv, sketchProfile), cobra.ShellCompDirectiveDefault }) } diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 57a3463bcc3..e946c4fd6a2 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -18,7 +18,6 @@ package arguments import ( "context" - "github.com/arduino/arduino-cli/commands" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -44,7 +43,7 @@ func InitSketchPath(path string) (sketchPath *paths.Path) { // GetSketchProfiles is an helper function useful to autocomplete. // It returns the profile names set in the sketch.yaml -func GetSketchProfiles(sketchPath string) []string { +func GetSketchProfiles(ctx context.Context, srv rpc.ArduinoCoreServiceServer, sketchPath string) []string { if sketchPath == "" { if wd, _ := paths.Getwd(); wd != nil && wd.String() != "" { sketchPath = wd.String() @@ -52,10 +51,10 @@ func GetSketchProfiles(sketchPath string) []string { return nil } } - sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath}) + resp, err := srv.LoadSketch(ctx, &rpc.LoadSketchRequest{SketchPath: sketchPath}) if err != nil { return nil } - profiles := sk.GetProfiles() + profiles := resp.GetSketch().GetProfiles() return f.Map(profiles, (*rpc.SketchProfile).GetName) } diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index 627f014760c..9c5a8dc268e 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -20,7 +20,6 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -56,10 +55,11 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } func runAttachCommand(srv rpc.ArduinoCoreServiceServer, path string, port *arguments.Port, fqbn string, programmer *arguments.Programmer) { + ctx := context.Background() sketchPath := arguments.InitSketchPath(path) portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, srv, "", "") - newDefaults, err := commands.SetSketchDefaults(context.Background(), &rpc.SetSketchDefaultsRequest{ + newDefaults, err := srv.SetSketchDefaults(ctx, &rpc.SetSketchDefaultsRequest{ SketchPath: sketchPath.String(), DefaultFqbn: fqbn, DefaultProgrammer: programmer.GetProgrammer(), diff --git a/internal/cli/cli.go b/internal/cli/cli.go index e0e7cd27ecd..851ced7ddc5 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -125,7 +125,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.AddCommand(lib.NewCommand(srv)) cmd.AddCommand(monitor.NewCommand(srv)) cmd.AddCommand(outdated.NewCommand(srv)) - cmd.AddCommand(sketch.NewCommand()) + cmd.AddCommand(sketch.NewCommand(srv)) cmd.AddCommand(update.NewCommand(srv)) cmd.AddCommand(upgrade.NewCommand(srv)) cmd.AddCommand(upload.NewCommand(srv)) diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 1a72719dac9..d0cd6ca4c8b 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -94,7 +94,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } fqbnArg.AddToCommand(compileCommand, srv) - profileArg.AddToCommand(compileCommand) + profileArg.AddToCommand(compileCommand, srv) compileCommand.Flags().BoolVar(&dumpProfile, "dump-profile", false, tr("Create and print a profile configuration from the build.")) showPropertiesArg.AddToCommand(compileCommand) compileCommand.Flags().BoolVar(&preprocess, "preprocess", false, tr("Print preprocessed code to stdout instead of compiling.")) @@ -159,10 +159,11 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer } sketchPath := arguments.InitSketchPath(path) - sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + resp, err := srv.LoadSketch(ctx, &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } + sk := resp.GetSketch() feedback.WarnAboutDeprecatedFiles(sk) var inst *rpc.Instance diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 90d03cd459c..cb0f37fce58 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -64,7 +64,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { fqbnArg.AddToCommand(debugCommand, srv) portArgs.AddToCommand(debugCommand, srv) programmer.AddToCommand(debugCommand, srv) - profileArg.AddToCommand(debugCommand) + profileArg.AddToCommand(debugCommand, srv) debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries for debug.")) debugCommand.Flags().BoolVarP(&printInfo, "info", "I", false, tr("Show metadata about the debug session instead of starting the debugger.")) @@ -83,10 +83,11 @@ func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs * } sketchPath := arguments.InitSketchPath(path) - sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + resp, err := srv.LoadSketch(ctx, &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } + sk := resp.GetSketch() feedback.WarnAboutDeprecatedFiles(sk) var inst *rpc.Instance diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 94c495068c5..975f68ba1dd 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -70,7 +70,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { }, } portArgs.AddToCommand(monitorCommand, srv) - profileArg.AddToCommand(monitorCommand) + profileArg.AddToCommand(monitorCommand, srv) monitorCommand.Flags().BoolVar(&raw, "raw", false, tr("Set terminal in raw mode (unbuffered).")) monitorCommand.Flags().BoolVar(&describe, "describe", false, tr("Show all the settings of the communication port.")) monitorCommand.Flags().StringSliceVarP(&configs, "config", "c", []string{}, tr("Configure communication port settings. The format is <ID>=<value>[,<ID>=<value>]...")) @@ -105,13 +105,14 @@ func runMonitorCmd( // If only --port is set we read the fqbn in the following order: default_fqbn -> discovery // If only --fqbn is set we read the port in the following order: default_port sketchPath := arguments.InitSketchPath(sketchPathArg) - sketch, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + resp, err := srv.LoadSketch(ctx, &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil && !portArgs.IsPortFlagSet() { feedback.Fatal( tr("Error getting default port from `sketch.yaml`. Check if you're in the correct sketch folder or provide the --port flag: %s", err), feedback.ErrGeneric, ) } + sketch := resp.GetSketch() if sketch != nil { defaultPort, defaultProtocol = sketch.GetDefaultPort(), sketch.GetDefaultProtocol() } diff --git a/internal/cli/sketch/archive.go b/internal/cli/sketch/archive.go index 9b8836daba3..2de1cd0ddaf 100644 --- a/internal/cli/sketch/archive.go +++ b/internal/cli/sketch/archive.go @@ -20,7 +20,6 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -29,7 +28,7 @@ import ( ) // initArchiveCommand creates a new `archive` command -func initArchiveCommand() *cobra.Command { +func initArchiveCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var includeBuildDir, overwrite bool archiveCommand := &cobra.Command{ @@ -43,7 +42,9 @@ func initArchiveCommand() *cobra.Command { " " + os.Args[0] + " archive /home/user/Arduino/MySketch\n" + " " + os.Args[0] + " archive /home/user/Arduino/MySketch /home/user/MySketchArchive.zip", Args: cobra.MaximumNArgs(2), - Run: func(cmd *cobra.Command, args []string) { runArchiveCommand(args, includeBuildDir, overwrite) }, + Run: func(cmd *cobra.Command, args []string) { + runArchiveCommand(srv, args, includeBuildDir, overwrite) + }, } archiveCommand.Flags().BoolVar(&includeBuildDir, "include-build-dir", false, tr("Includes %s directory in the archive.", "build")) @@ -52,9 +53,9 @@ func initArchiveCommand() *cobra.Command { return archiveCommand } -func runArchiveCommand(args []string, includeBuildDir bool, overwrite bool) { +func runArchiveCommand(srv rpc.ArduinoCoreServiceServer, args []string, includeBuildDir bool, overwrite bool) { logrus.Info("Executing `arduino-cli sketch archive`") - + ctx := context.Background() sketchPathArg := "" if len(args) > 0 { sketchPathArg = args[0] @@ -66,13 +67,14 @@ func runArchiveCommand(args []string, includeBuildDir bool, overwrite bool) { } sketchPath := arguments.InitSketchPath(sketchPathArg) - sk, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + resp, err := srv.LoadSketch(ctx, &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } + sk := resp.GetSketch() feedback.WarnAboutDeprecatedFiles(sk) - if _, err := commands.ArchiveSketch(context.Background(), + if _, err := srv.ArchiveSketch(ctx, &rpc.ArchiveSketchRequest{ SketchPath: sketchPath.String(), ArchivePath: archivePathArg, diff --git a/internal/cli/sketch/new.go b/internal/cli/sketch/new.go index 1bfdf36c764..5be99e4308b 100644 --- a/internal/cli/sketch/new.go +++ b/internal/cli/sketch/new.go @@ -20,7 +20,6 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -29,7 +28,7 @@ import ( "github.com/spf13/cobra" ) -func initNewCommand() *cobra.Command { +func initNewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var overwrite bool newCommand := &cobra.Command{ @@ -38,7 +37,9 @@ func initNewCommand() *cobra.Command { Long: tr("Create a new Sketch"), Example: " " + os.Args[0] + " sketch new MultiBlinker", Args: cobra.ExactArgs(1), - Run: func(cmd *cobra.Command, args []string) { runNewCommand(args, overwrite) }, + Run: func(cmd *cobra.Command, args []string) { + runNewCommand(srv, args, overwrite) + }, } newCommand.Flags().BoolVarP(&overwrite, "overwrite", "f", false, tr("Overwrites an existing .ino sketch.")) @@ -46,7 +47,8 @@ func initNewCommand() *cobra.Command { return newCommand } -func runNewCommand(args []string, overwrite bool) { +func runNewCommand(srv rpc.ArduinoCoreServiceServer, args []string, overwrite bool) { + ctx := context.Background() logrus.Info("Executing `arduino-cli sketch new`") // Trim to avoid issues if user creates a sketch adding the .ino extesion to the name inputSketchName := args[0] @@ -72,7 +74,7 @@ func runNewCommand(args []string, overwrite bool) { sketchName = sketchDirPath.Base() } - _, err = commands.NewSketch(context.Background(), &rpc.NewSketchRequest{ + _, err = srv.NewSketch(ctx, &rpc.NewSketchRequest{ SketchName: sketchName, SketchDir: sketchDir, Overwrite: overwrite, diff --git a/internal/cli/sketch/sketch.go b/internal/cli/sketch/sketch.go index 5d8da390eed..2530c72247d 100644 --- a/internal/cli/sketch/sketch.go +++ b/internal/cli/sketch/sketch.go @@ -19,13 +19,14 @@ import ( "os" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) var tr = i18n.Tr // NewCommand created a new `sketch` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { sketchCommand := &cobra.Command{ Use: "sketch", Short: tr("Arduino CLI sketch commands."), @@ -33,8 +34,8 @@ func NewCommand() *cobra.Command { Example: " " + os.Args[0] + " sketch new MySketch", } - sketchCommand.AddCommand(initNewCommand()) - sketchCommand.AddCommand(initArchiveCommand()) + sketchCommand.AddCommand(initNewCommand(srv)) + sketchCommand.AddCommand(initArchiveCommand(srv)) return sketchCommand } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index ed49145b98c..751083aebd5 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -69,7 +69,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { fqbnArg.AddToCommand(uploadCommand, srv) portArgs.AddToCommand(uploadCommand, srv) - profileArg.AddToCommand(uploadCommand) + profileArg.AddToCommand(uploadCommand, srv) uploadCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries to upload.")) uploadCommand.Flags().StringVarP(&importFile, "input-file", "i", "", tr("Binary file to upload.")) uploadCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) @@ -91,7 +91,8 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie path = args[0] } sketchPath := arguments.InitSketchPath(path) - sketch, err := commands.LoadSketch(context.Background(), &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + resp, err := srv.LoadSketch(ctx, &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) + sketch := resp.GetSketch() if importDir == "" && importFile == "" { if err != nil { feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) From 0442319a3ceb1adbbdb6ea54bc73f2f92d99b5e1 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 15:52:44 +0100 Subject: [PATCH 156/361] Inlining methods in ArduinoCoreServiceImpl (part 14: Upload, UploadUsingProgrammer, BurnBootloader) --- commands/service.go | 78 ----------------- commands/service_upload.go | 87 ++++++++++++++++--- commands/service_upload_burnbootloader.go | 44 ++++++++-- internal/cli/burnbootloader/burnbootloader.go | 5 +- internal/cli/compile/compile.go | 5 +- internal/cli/upload/upload.go | 5 +- 6 files changed, 122 insertions(+), 102 deletions(-) diff --git a/commands/service.go b/commands/service.go index 581928fdba9..cf2980f12b3 100644 --- a/commands/service.go +++ b/commands/service.go @@ -42,89 +42,11 @@ func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionReq return &rpc.VersionResponse{Version: s.versionString}, nil } -// Upload FIXMEDOC -func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.ArduinoCoreService_UploadServer) error { - syncSend := NewSynchronizedSend(stream.Send) - outStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.UploadResponse{ - Message: &rpc.UploadResponse_OutStream{OutStream: data}, - }) - }) - errStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.UploadResponse{ - Message: &rpc.UploadResponse_ErrStream{ErrStream: data}, - }) - }) - res, err := Upload(stream.Context(), req, outStream, errStream) - outStream.Close() - errStream.Close() - if res != nil { - syncSend.Send(&rpc.UploadResponse{ - Message: &rpc.UploadResponse_Result{ - Result: res, - }, - }) - } - return err -} - -// UploadUsingProgrammer FIXMEDOC -func (s *arduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgrammerRequest, stream rpc.ArduinoCoreService_UploadUsingProgrammerServer) error { - syncSend := NewSynchronizedSend(stream.Send) - outStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.UploadUsingProgrammerResponse{ - Message: &rpc.UploadUsingProgrammerResponse_OutStream{ - OutStream: data, - }, - }) - }) - errStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.UploadUsingProgrammerResponse{ - Message: &rpc.UploadUsingProgrammerResponse_ErrStream{ - ErrStream: data, - }, - }) - }) - err := UploadUsingProgrammer(stream.Context(), req, outStream, errStream) - outStream.Close() - errStream.Close() - if err != nil { - return err - } - return nil -} - // SupportedUserFields FIXMEDOC func (s *arduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { return SupportedUserFields(ctx, req) } -// BurnBootloader FIXMEDOC -func (s *arduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, stream rpc.ArduinoCoreService_BurnBootloaderServer) error { - syncSend := NewSynchronizedSend(stream.Send) - outStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.BurnBootloaderResponse{ - Message: &rpc.BurnBootloaderResponse_OutStream{ - OutStream: data, - }, - }) - }) - errStream := feedStreamTo(func(data []byte) { - syncSend.Send(&rpc.BurnBootloaderResponse{ - Message: &rpc.BurnBootloaderResponse_ErrStream{ - ErrStream: data, - }, - }) - }) - resp, err := BurnBootloader(stream.Context(), req, outStream, errStream) - outStream.Close() - errStream.Close() - if err != nil { - return err - } - return syncSend.Send(resp) -} - // ListProgrammersAvailableForUpload FIXMEDOC func (s *arduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { return ListProgrammersAvailableForUpload(ctx, req) diff --git a/commands/service_upload.go b/commands/service_upload.go index a364f3f88f2..7990b8aaf79 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -120,8 +120,33 @@ func getUserFields(toolID string, platformRelease *cores.PlatformRelease) []*rpc return userFields } -// Upload FIXMEDOC -func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, errStream io.Writer) (*rpc.UploadResult, error) { +// UploadToServerStreams return a server stream that forwards the output and error streams to the provided writers. +// It also returns a function that can be used to retrieve the result of the upload. +func UploadToServerStreams(ctx context.Context, outStream io.Writer, errStream io.Writer) (rpc.ArduinoCoreService_UploadServer, func() *rpc.UploadResult) { + var result *rpc.UploadResult + stream := streamResponseToCallback(ctx, func(resp *rpc.UploadResponse) error { + if errData := resp.GetErrStream(); len(errData) > 0 { + _, err := errStream.Write(errData) + return err + } + if outData := resp.GetOutStream(); len(outData) > 0 { + _, err := outStream.Write(outData) + return err + } + if res := resp.GetResult(); res != nil { + result = res + } + return nil + }) + return stream, func() *rpc.UploadResult { + return result + } +} + +// Upload performs the upload of a sketch to a board. +func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.ArduinoCoreService_UploadServer) error { + syncSend := NewSynchronizedSend(stream.Send) + logrus.Tracef("Upload %s on %s started", req.GetSketchPath(), req.GetFqbn()) // TODO: make a generic function to extract sketch from request @@ -129,12 +154,12 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er sketchPath := paths.New(req.GetSketchPath()) sk, err := sketch.New(sketchPath) if err != nil && req.GetImportDir() == "" && req.GetImportFile() == "" { - return nil, &cmderrors.CantOpenSketchError{Cause: err} + return &cmderrors.CantOpenSketchError{Cause: err} } pme, pmeRelease, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return nil, err + return err } defer pmeRelease() @@ -151,6 +176,20 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er programmer = sk.GetDefaultProgrammer() } + outStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.UploadResponse{ + Message: &rpc.UploadResponse_OutStream{OutStream: data}, + }) + }) + defer outStream.Close() + errStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.UploadResponse{ + Message: &rpc.UploadResponse_ErrStream{ErrStream: data}, + }) + }) + defer errStream.Close() + // TODO: inject context + // ctx := stream.Context() updatedPort, err := runProgramAction( pme, sk, @@ -168,22 +207,45 @@ func Upload(ctx context.Context, req *rpc.UploadRequest, outStream io.Writer, er req.GetUserFields(), ) if err != nil { - return nil, err + return err } - - return &rpc.UploadResult{ - UpdatedUploadPort: updatedPort, - }, nil + return syncSend.Send(&rpc.UploadResponse{ + Message: &rpc.UploadResponse_Result{ + Result: &rpc.UploadResult{ + UpdatedUploadPort: updatedPort, + }, + }, + }) } // UploadUsingProgrammer FIXMEDOC -func UploadUsingProgrammer(ctx context.Context, req *rpc.UploadUsingProgrammerRequest, outStream io.Writer, errStream io.Writer) error { +func (s *arduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgrammerRequest, stream rpc.ArduinoCoreService_UploadUsingProgrammerServer) error { + syncSend := NewSynchronizedSend(stream.Send) + streamAdapter := streamResponseToCallback(stream.Context(), func(resp *rpc.UploadResponse) error { + if errData := resp.GetErrStream(); len(errData) > 0 { + syncSend.Send(&rpc.UploadUsingProgrammerResponse{ + Message: &rpc.UploadUsingProgrammerResponse_ErrStream{ + ErrStream: errData, + }, + }) + } + if outData := resp.GetOutStream(); len(outData) > 0 { + syncSend.Send(&rpc.UploadUsingProgrammerResponse{ + Message: &rpc.UploadUsingProgrammerResponse_OutStream{ + OutStream: outData, + }, + }) + } + // resp.GetResult() is ignored + return nil + }) + logrus.Tracef("Upload using programmer %s on %s started", req.GetSketchPath(), req.GetFqbn()) if req.GetProgrammer() == "" { return &cmderrors.MissingProgrammerError{} } - _, err := Upload(ctx, &rpc.UploadRequest{ + return s.Upload(&rpc.UploadRequest{ Instance: req.GetInstance(), SketchPath: req.GetSketchPath(), ImportFile: req.GetImportFile(), @@ -194,8 +256,7 @@ func UploadUsingProgrammer(ctx context.Context, req *rpc.UploadUsingProgrammerRe Verbose: req.GetVerbose(), Verify: req.GetVerify(), UserFields: req.GetUserFields(), - }, outStream, errStream) - return err + }, streamAdapter) } func runProgramAction(pme *packagemanager.Explorer, diff --git a/commands/service_upload_burnbootloader.go b/commands/service_upload_burnbootloader.go index 7d9c34cb7cc..96352e57fd5 100644 --- a/commands/service_upload_burnbootloader.go +++ b/commands/service_upload_burnbootloader.go @@ -24,8 +24,42 @@ import ( "github.com/sirupsen/logrus" ) -// BurnBootloader FIXMEDOC -func BurnBootloader(ctx context.Context, req *rpc.BurnBootloaderRequest, outStream io.Writer, errStream io.Writer) (*rpc.BurnBootloaderResponse, error) { +// BurnBootloaderToServerStreams return a server stream that forwards the output and error streams to the provided io.Writers +func BurnBootloaderToServerStreams(ctx context.Context, outStrem, errStream io.Writer) rpc.ArduinoCoreService_BurnBootloaderServer { + stream := streamResponseToCallback(ctx, func(resp *rpc.BurnBootloaderResponse) error { + if outData := resp.GetOutStream(); len(outData) > 0 { + _, err := outStrem.Write(outData) + return err + } + if errData := resp.GetErrStream(); len(errData) > 0 { + _, err := errStream.Write(errData) + return err + } + return nil + }) + return stream +} + +// BurnBootloader performs the burn bootloader action +func (s *arduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, stream rpc.ArduinoCoreService_BurnBootloaderServer) error { + syncSend := NewSynchronizedSend(stream.Send) + outStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.BurnBootloaderResponse{ + Message: &rpc.BurnBootloaderResponse_OutStream{ + OutStream: data, + }, + }) + }) + defer outStream.Close() + errStream := feedStreamTo(func(data []byte) { + syncSend.Send(&rpc.BurnBootloaderResponse{ + Message: &rpc.BurnBootloaderResponse_ErrStream{ + ErrStream: data, + }, + }) + }) + defer errStream.Close() + logrus. WithField("fqbn", req.GetFqbn()). WithField("port", req.GetPort()). @@ -34,7 +68,7 @@ func BurnBootloader(ctx context.Context, req *rpc.BurnBootloaderRequest, outStre pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { - return nil, err + return err } defer release() @@ -54,7 +88,7 @@ func BurnBootloader(ctx context.Context, req *rpc.BurnBootloaderRequest, outStre req.GetDryRun(), map[string]string{}, // User fields ); err != nil { - return nil, err + return err } - return &rpc.BurnBootloaderResponse{}, nil + return syncSend.Send(&rpc.BurnBootloaderResponse{}) } diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 21ea22dbf3f..c17a822b3f4 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -78,7 +78,8 @@ func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { } stdOut, stdErr, res := feedback.OutputStreams() - if _, err := commands.BurnBootloader(context.Background(), &rpc.BurnBootloaderRequest{ + stream := commands.BurnBootloaderToServerStreams(ctx, stdOut, stdErr) + if err := srv.BurnBootloader(&rpc.BurnBootloaderRequest{ Instance: instance, Fqbn: fqbn.String(), Port: discoveryPort, @@ -86,7 +87,7 @@ func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { Verify: verify, Programmer: programmer.String(instance, srv, fqbn.String()), DryRun: dryRun, - }, stdOut, stdErr); err != nil { + }, stream); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index d0cd6ca4c8b..e38ee620ac2 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -292,7 +292,8 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer UserFields: fields, } - if res, err := commands.Upload(context.Background(), uploadRequest, stdOut, stdErr); err != nil { + stream, streamRes := commands.UploadToServerStreams(ctx, stdOut, stdErr) + if err := srv.Upload(uploadRequest, stream); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer @@ -302,7 +303,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer } feedback.Fatal(tr("Error during Upload: %v", err), errcode) } else { - uploadRes = res + uploadRes = streamRes() } } diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 751083aebd5..c7500adfe98 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -199,7 +199,8 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie DryRun: dryRun, UserFields: fields, } - if res, err := commands.Upload(context.Background(), req, stdOut, stdErr); err != nil { + stream, streamResp := commands.UploadToServerStreams(ctx, stdOut, stdErr) + if err := srv.Upload(req, stream); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { errcode = feedback.ErrMissingProgrammer @@ -213,7 +214,7 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie feedback.PrintResult(&uploadResult{ Stdout: io.Stdout, Stderr: io.Stderr, - UpdatedUploadPort: result.NewPort(res.GetUpdatedUploadPort()), + UpdatedUploadPort: result.NewPort(streamResp().GetUpdatedUploadPort()), }) } } From 65ecbaf6e15b55c73795ad3f169d3b30763d2a3f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 19:16:42 +0100 Subject: [PATCH 157/361] Inlining methods in ArduinoCoreServiceImpl (part 15: SupportedUserFields, ListProgrammersAvailableForUpload, EnumerateMonitorPortSettings) --- commands/service.go | 17 +---------------- commands/service_monitor_settings.go | 2 +- commands/service_upload.go | 2 +- commands/service_upload_list_programmers.go | 2 +- internal/cli/arguments/completion.go | 3 +-- internal/cli/compile/compile.go | 2 +- internal/cli/monitor/monitor.go | 2 +- internal/cli/upload/upload.go | 2 +- 8 files changed, 8 insertions(+), 24 deletions(-) diff --git a/commands/service.go b/commands/service.go index cf2980f12b3..4c770c3113a 100644 --- a/commands/service.go +++ b/commands/service.go @@ -37,26 +37,11 @@ type arduinoCoreServerImpl struct { versionString string } -// Version FIXMEDOC +// Version returns the version of the Arduino CLI func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionRequest) (*rpc.VersionResponse, error) { return &rpc.VersionResponse{Version: s.versionString}, nil } -// SupportedUserFields FIXMEDOC -func (s *arduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { - return SupportedUserFields(ctx, req) -} - -// ListProgrammersAvailableForUpload FIXMEDOC -func (s *arduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { - return ListProgrammersAvailableForUpload(ctx, req) -} - -// EnumerateMonitorPortSettings FIXMEDOC -func (s *arduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { - return EnumerateMonitorPortSettings(ctx, req) -} - // CheckForArduinoCLIUpdates FIXMEDOC func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { return updatecheck.CheckForArduinoCLIUpdates(ctx, req) diff --git a/commands/service_monitor_settings.go b/commands/service_monitor_settings.go index d69164d281d..4eb71c7add9 100644 --- a/commands/service_monitor_settings.go +++ b/commands/service_monitor_settings.go @@ -25,7 +25,7 @@ import ( ) // EnumerateMonitorPortSettings returns a description of the configuration settings of a monitor port -func EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { +func (s *arduinoCoreServerImpl) EnumerateMonitorPortSettings(ctx context.Context, req *rpc.EnumerateMonitorPortSettingsRequest) (*rpc.EnumerateMonitorPortSettingsResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/service_upload.go b/commands/service_upload.go index 7990b8aaf79..2c01f7edaef 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -41,7 +41,7 @@ import ( // SupportedUserFields returns a SupportedUserFieldsResponse containing all the UserFields supported // by the upload tools needed by the board using the protocol specified in SupportedUserFieldsRequest. -func SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { +func (s *arduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rpc.SupportedUserFieldsRequest) (*rpc.SupportedUserFieldsResponse, error) { if req.GetProtocol() == "" { return nil, &cmderrors.MissingPortProtocolError{} } diff --git a/commands/service_upload_list_programmers.go b/commands/service_upload_list_programmers.go index 0e02d36c25a..f05142cf147 100644 --- a/commands/service_upload_list_programmers.go +++ b/commands/service_upload_list_programmers.go @@ -25,7 +25,7 @@ import ( ) // ListProgrammersAvailableForUpload FIXMEDOC -func ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { +func (s *arduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Context, req *rpc.ListProgrammersAvailableForUploadRequest) (*rpc.ListProgrammersAvailableForUploadResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index ad0f9d1f1b8..c42e817cc0f 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -18,7 +18,6 @@ package arguments import ( "context" - "github.com/arduino/arduino-cli/commands" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -58,7 +57,7 @@ func GetInstalledProgrammers(ctx context.Context, srv rpc.ArduinoCoreServiceServ installedProgrammers := make(map[string]string) for _, board := range list.GetBoards() { - programmers, _ := commands.ListProgrammersAvailableForUpload(context.Background(), &rpc.ListProgrammersAvailableForUploadRequest{ + programmers, _ := srv.ListProgrammersAvailableForUpload(ctx, &rpc.ListProgrammersAvailableForUploadRequest{ Instance: inst, Fqbn: board.GetFqbn(), }) diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index e38ee620ac2..219a5e0b3ea 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -253,7 +253,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer var uploadRes *rpc.UploadResult if compileError == nil && uploadAfterCompile { - userFieldRes, err := commands.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ + userFieldRes, err := srv.SupportedUserFields(ctx, &rpc.SupportedUserFieldsRequest{ Instance: inst, Fqbn: fqbn, Protocol: port.GetProtocol(), diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 975f68ba1dd..1e9eddbde53 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -147,7 +147,7 @@ func runMonitorCmd( feedback.FatalError(err, feedback.ErrGeneric) } - enumerateResp, err := commands.EnumerateMonitorPortSettings(context.Background(), &rpc.EnumerateMonitorPortSettingsRequest{ + enumerateResp, err := srv.EnumerateMonitorPortSettings(ctx, &rpc.EnumerateMonitorPortSettingsRequest{ Instance: inst, PortProtocol: portProtocol, Fqbn: fqbn, diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index c7500adfe98..b3d89259817 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -118,7 +118,7 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie defaultProtocol := sketch.GetDefaultProtocol() fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, srv, defaultFQBN, defaultAddress, defaultProtocol) - userFieldRes, err := commands.SupportedUserFields(context.Background(), &rpc.SupportedUserFieldsRequest{ + userFieldRes, err := srv.SupportedUserFields(ctx, &rpc.SupportedUserFieldsRequest{ Instance: inst, Fqbn: fqbn, Protocol: port.GetProtocol(), From 0bdc07ab1841c2ffd34d16973618048993ff18c4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 25 Mar 2024 15:08:32 +0100 Subject: [PATCH 158/361] Inlining methods in ArduinoCoreServiceImpl (part 16: CleanDownloadCacheDirectory, CheckForArduinoCLIUpdates) --- commands/service.go | 12 ------------ commands/{cache/clean.go => service_cache_clean.go} | 6 +++--- ...k_for_updates.go => service_check_for_updates.go} | 4 ++-- internal/cli/cache/cache.go | 5 +++-- internal/cli/cache/clean.go | 11 ++++++----- internal/cli/cli.go | 7 +++---- internal/cli/version/version.go | 11 ++++++----- 7 files changed, 23 insertions(+), 33 deletions(-) rename commands/{cache/clean.go => service_cache_clean.go} (81%) rename commands/{updatecheck/check_for_updates.go => service_check_for_updates.go} (95%) diff --git a/commands/service.go b/commands/service.go index 4c770c3113a..e8bf689d59a 100644 --- a/commands/service.go +++ b/commands/service.go @@ -18,8 +18,6 @@ package commands import ( "context" - "github.com/arduino/arduino-cli/commands/cache" - "github.com/arduino/arduino-cli/commands/updatecheck" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -41,13 +39,3 @@ type arduinoCoreServerImpl struct { func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionRequest) (*rpc.VersionResponse, error) { return &rpc.VersionResponse{Version: s.versionString}, nil } - -// CheckForArduinoCLIUpdates FIXMEDOC -func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { - return updatecheck.CheckForArduinoCLIUpdates(ctx, req) -} - -// CleanDownloadCacheDirectory FIXMEDOC -func (s *arduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { - return cache.CleanDownloadCacheDirectory(ctx, req) -} diff --git a/commands/cache/clean.go b/commands/service_cache_clean.go similarity index 81% rename from commands/cache/clean.go rename to commands/service_cache_clean.go index f823b56fffa..3cbdd488b6c 100644 --- a/commands/cache/clean.go +++ b/commands/service_cache_clean.go @@ -1,6 +1,6 @@ // This file is part of arduino-cli. // -// Copyright 2024 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2020 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. @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package cache +package commands import ( "context" @@ -23,7 +23,7 @@ import ( ) // CleanDownloadCacheDirectory clean the download cache directory (where archives are downloaded). -func CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { +func (s *arduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { cachePath := configuration.DownloadsDir(configuration.Settings) err := cachePath.RemoveAll() if err != nil { diff --git a/commands/updatecheck/check_for_updates.go b/commands/service_check_for_updates.go similarity index 95% rename from commands/updatecheck/check_for_updates.go rename to commands/service_check_for_updates.go index e7cda71638d..a53005c6456 100644 --- a/commands/updatecheck/check_for_updates.go +++ b/commands/service_check_for_updates.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package updatecheck +package commands import ( "context" @@ -29,7 +29,7 @@ import ( semver "go.bug.st/relaxed-semver" ) -func CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { +func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, req *rpc.CheckForArduinoCLIUpdatesRequest) (*rpc.CheckForArduinoCLIUpdatesResponse, error) { currentVersion, err := semver.Parse(version.VersionInfo.VersionString) if err != nil { return nil, err diff --git a/internal/cli/cache/cache.go b/internal/cli/cache/cache.go index 43c9d775234..e6b14ebe90d 100644 --- a/internal/cli/cache/cache.go +++ b/internal/cli/cache/cache.go @@ -19,13 +19,14 @@ import ( "os" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) var tr = i18n.Tr // NewCommand created a new `cache` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cacheCommand := &cobra.Command{ Use: "cache", Short: tr("Arduino cache commands."), @@ -34,7 +35,7 @@ func NewCommand() *cobra.Command { " " + os.Args[0] + " cache clean\n\n", } - cacheCommand.AddCommand(initCleanCommand()) + cacheCommand.AddCommand(initCleanCommand(srv)) return cacheCommand } diff --git a/internal/cli/cache/clean.go b/internal/cli/cache/clean.go index 32f788e87ed..4859676ae1c 100644 --- a/internal/cli/cache/clean.go +++ b/internal/cli/cache/clean.go @@ -19,29 +19,30 @@ import ( "context" "os" - "github.com/arduino/arduino-cli/commands/cache" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) -func initCleanCommand() *cobra.Command { +func initCleanCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cleanCommand := &cobra.Command{ Use: "clean", Short: tr("Delete Boards/Library Manager download cache."), Long: tr("Delete contents of the `directories.downloads` folder, where archive files are staged during installation of libraries and boards platforms."), Example: " " + os.Args[0] + " cache clean", Args: cobra.NoArgs, - Run: runCleanCommand, + Run: func(cmd *cobra.Command, args []string) { + runCleanCommand(srv) + }, } return cleanCommand } -func runCleanCommand(cmd *cobra.Command, args []string) { +func runCleanCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli cache clean`") - _, err := cache.CleanDownloadCacheDirectory(context.Background(), &rpc.CleanDownloadCacheDirectoryRequest{}) + _, err := srv.CleanDownloadCacheDirectory(context.Background(), &rpc.CleanDownloadCacheDirectoryRequest{}) if err != nil { feedback.Fatal(tr("Error cleaning caches: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 851ced7ddc5..d2bb82305f6 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -22,7 +22,6 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/commands/updatecheck" "github.com/arduino/arduino-cli/internal/cli/board" "github.com/arduino/arduino-cli/internal/cli/burnbootloader" "github.com/arduino/arduino-cli/internal/cli/cache" @@ -85,7 +84,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { if cmd.Name() != "version" { updaterMessageChan = make(chan *semver.Version) go func() { - res, err := updatecheck.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) + res, err := srv.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) if err != nil { logrus.Warnf("Error checking for updates: %v", err) updaterMessageChan <- nil @@ -115,7 +114,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.SetUsageTemplate(getUsageTemplate()) cmd.AddCommand(board.NewCommand(srv)) - cmd.AddCommand(cache.NewCommand()) + cmd.AddCommand(cache.NewCommand(srv)) cmd.AddCommand(compile.NewCommand(srv)) cmd.AddCommand(completion.NewCommand()) cmd.AddCommand(config.NewCommand()) @@ -131,7 +130,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.AddCommand(upload.NewCommand(srv)) cmd.AddCommand(debug.NewCommand(srv)) cmd.AddCommand(burnbootloader.NewCommand(srv)) - cmd.AddCommand(version.NewCommand()) + cmd.AddCommand(version.NewCommand(srv)) cmd.AddCommand(feedback.NewCommand()) cmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, tr("Print the logs on the standard output.")) cmd.Flag("verbose").Hidden = true diff --git a/internal/cli/version/version.go b/internal/cli/version/version.go index 0f0c85872e0..9c8633aeee1 100644 --- a/internal/cli/version/version.go +++ b/internal/cli/version/version.go @@ -20,7 +20,6 @@ import ( "os" "strings" - "github.com/arduino/arduino-cli/commands/updatecheck" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/updater" "github.com/arduino/arduino-cli/internal/i18n" @@ -33,19 +32,21 @@ import ( var tr = i18n.Tr // NewCommand created a new `version` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { versionCommand := &cobra.Command{ Use: "version", Short: tr("Shows version number of Arduino CLI."), Long: tr("Shows the version number of Arduino CLI which is installed on your system."), Example: " " + os.Args[0] + " version", Args: cobra.NoArgs, - Run: runVersionCommand, + Run: func(cmd *cobra.Command, args []string) { + runVersionCommand(srv) + }, } return versionCommand } -func runVersionCommand(cmd *cobra.Command, args []string) { +func runVersionCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli version`") info := version.VersionInfo @@ -57,7 +58,7 @@ func runVersionCommand(cmd *cobra.Command, args []string) { } latestVersion := "" - res, err := updatecheck.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) + res, err := srv.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) if err != nil { feedback.Warning("Failed to check for updates: " + err.Error()) } else { From 3193b7c4bd8e256a36c15aefb64d104c69765aa8 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 18 Mar 2024 19:20:01 +0100 Subject: [PATCH 159/361] Made utility functions private and put them in their own file --- commands/service_board_listall.go | 4 ++-- commands/service_board_search.go | 8 ++++---- commands/service_library_download.go | 2 +- commands/service_library_install.go | 2 +- commands/service_library_resolve_deps.go | 2 +- commands/service_library_uninstall.go | 2 +- commands/service_platform_download.go | 2 +- commands/service_platform_install.go | 2 +- commands/service_platform_search.go | 4 ++-- commands/service_platform_upgrade.go | 4 ++-- commands/{core.go => utility_core.go} | 8 ++++---- ...rpc_streaming_helpers.go => utility_grpc_streaming.go} | 0 ...tcher.go => utility_libraries_index_search_matcher.go} | 0 commands/{version.go => utility_version.go} | 4 ++-- 14 files changed, 22 insertions(+), 22 deletions(-) rename commands/{core.go => utility_core.go} (91%) rename commands/{grpc_streaming_helpers.go => utility_grpc_streaming.go} (100%) rename commands/{libraries_index_search_matcher.go => utility_libraries_index_search_matcher.go} (100%) rename commands/{version.go => utility_version.go} (89%) diff --git a/commands/service_board_listall.go b/commands/service_board_listall.go index 5c9a8664ab3..93df1f4e338 100644 --- a/commands/service_board_listall.go +++ b/commands/service_board_listall.go @@ -46,8 +46,8 @@ func (s *arduinoCoreServerImpl) BoardListAll(ctx context.Context, req *rpc.Board } rpcPlatform := &rpc.Platform{ - Metadata: PlatformToRPCPlatformMetadata(platform), - Release: PlatformReleaseToRPC(installedPlatformRelease), + Metadata: platformToRPCPlatformMetadata(platform), + Release: platformReleaseToRPC(installedPlatformRelease), } toTest := []string{ diff --git a/commands/service_board_search.go b/commands/service_board_search.go index a3714b669c2..bbe4ca22529 100644 --- a/commands/service_board_search.go +++ b/commands/service_board_search.go @@ -67,8 +67,8 @@ func (s *arduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardS Fqbn: board.FQBN(), IsHidden: board.IsHidden(), Platform: &rpc.Platform{ - Metadata: PlatformToRPCPlatformMetadata(platform), - Release: PlatformReleaseToRPC(installedPlatformRelease), + Metadata: platformToRPCPlatformMetadata(platform), + Release: platformReleaseToRPC(installedPlatformRelease), }, }) } @@ -82,8 +82,8 @@ func (s *arduinoCoreServerImpl) BoardSearch(ctx context.Context, req *rpc.BoardS foundBoards = append(foundBoards, &rpc.BoardListItem{ Name: strings.Trim(board.Name, " \n"), Platform: &rpc.Platform{ - Metadata: PlatformToRPCPlatformMetadata(platform), - Release: PlatformReleaseToRPC(latestPlatformRelease), + Metadata: platformToRPCPlatformMetadata(platform), + Release: platformReleaseToRPC(latestPlatformRelease), }, }) } diff --git a/commands/service_library_download.go b/commands/service_library_download.go index 152afa466ba..37b4ecbb53e 100644 --- a/commands/service_library_download.go +++ b/commands/service_library_download.go @@ -56,7 +56,7 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, return err } - version, err := ParseVersion(req.GetVersion()) + version, err := parseVersion(req.GetVersion()) if err != nil { return err } diff --git a/commands/service_library_install.go b/commands/service_library_install.go index c2b9aa7ad1e..d4440d3d2ae 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -109,7 +109,7 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s libReleasesToInstall := map[*librariesindex.Release]*librariesmanager.LibraryInstallPlan{} installLocation := libraries.FromRPCLibraryInstallLocation(req.GetInstallLocation()) for _, lib := range toInstall { - version, err := ParseVersion(lib.GetVersionRequired()) + version, err := parseVersion(lib.GetVersionRequired()) if err != nil { return err } diff --git a/commands/service_library_resolve_deps.go b/commands/service_library_resolve_deps.go index 013199dbe29..c50cc2d9f6a 100644 --- a/commands/service_library_resolve_deps.go +++ b/commands/service_library_resolve_deps.go @@ -47,7 +47,7 @@ func (s *arduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context, func libraryResolveDependencies(lme *librariesmanager.Explorer, li *librariesindex.Index, reqName, reqVersion string, noOverwrite bool) (*rpc.LibraryResolveDependenciesResponse, error) { - version, err := ParseVersion(reqVersion) + version, err := parseVersion(reqVersion) if err != nil { return nil, err } diff --git a/commands/service_library_uninstall.go b/commands/service_library_uninstall.go index e436cbe15a9..8164427f139 100644 --- a/commands/service_library_uninstall.go +++ b/commands/service_library_uninstall.go @@ -47,7 +47,7 @@ func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques return err } - version, err := ParseVersion(req.GetVersion()) + version, err := parseVersion(req.GetVersion()) if err != nil { return err } diff --git a/commands/service_platform_download.go b/commands/service_platform_download.go index a4227fa30b9..23a8096120d 100644 --- a/commands/service_platform_download.go +++ b/commands/service_platform_download.go @@ -48,7 +48,7 @@ func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques } defer release() - version, err := ParseVersion(req.GetVersion()) + version, err := parseVersion(req.GetVersion()) if err != nil { return &cmderrors.InvalidVersionError{Cause: err} } diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index 06c8891fcc3..caa351a6ec6 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -53,7 +53,7 @@ func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, } defer release() - version, err := ParseVersion(req.GetVersion()) + version, err := parseVersion(req.GetVersion()) if err != nil { return &cmderrors.InvalidVersionError{Cause: err} } diff --git a/commands/service_platform_search.go b/commands/service_platform_search.go index dfa0d33ffd8..4117bf7be18 100644 --- a/commands/service_platform_search.go +++ b/commands/service_platform_search.go @@ -82,7 +82,7 @@ func (s *arduinoCoreServerImpl) PlatformSearch(_ context.Context, req *rpc.Platf out := []*rpc.PlatformSummary{} for _, platform := range res { rpcPlatformSummary := &rpc.PlatformSummary{ - Metadata: PlatformToRPCPlatformMetadata(platform), + Metadata: platformToRPCPlatformMetadata(platform), Releases: map[string]*rpc.PlatformRelease{}, } if installed := pme.GetInstalledPlatformRelease(platform); installed != nil { @@ -92,7 +92,7 @@ func (s *arduinoCoreServerImpl) PlatformSearch(_ context.Context, req *rpc.Platf rpcPlatformSummary.LatestVersion = latestCompatible.Version.String() } for _, platformRelease := range platform.GetAllReleases() { - rpcPlatformRelease := PlatformReleaseToRPC(platformRelease) + rpcPlatformRelease := platformReleaseToRPC(platformRelease) rpcPlatformSummary.Releases[rpcPlatformRelease.GetVersion()] = rpcPlatformRelease } out = append(out, rpcPlatformSummary) diff --git a/commands/service_platform_upgrade.go b/commands/service_platform_upgrade.go index a9b65fe5bfa..2737eac4f37 100644 --- a/commands/service_platform_upgrade.go +++ b/commands/service_platform_upgrade.go @@ -76,8 +76,8 @@ func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, if platformRelease != nil { syncSend.Send(&rpc.PlatformUpgradeResponse{ Platform: &rpc.Platform{ - Metadata: PlatformToRPCPlatformMetadata(platformRelease.Platform), - Release: PlatformReleaseToRPC(platformRelease), + Metadata: platformToRPCPlatformMetadata(platformRelease.Platform), + Release: platformReleaseToRPC(platformRelease), }, }) } diff --git a/commands/core.go b/commands/utility_core.go similarity index 91% rename from commands/core.go rename to commands/utility_core.go index e61078da1b2..b5a57ad509d 100644 --- a/commands/core.go +++ b/commands/utility_core.go @@ -20,8 +20,8 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -// PlatformToRPCPlatformMetadata converts our internal structure to the RPC structure. -func PlatformToRPCPlatformMetadata(platform *cores.Platform) *rpc.PlatformMetadata { +// platformToRPCPlatformMetadata converts our internal structure to the RPC structure. +func platformToRPCPlatformMetadata(platform *cores.Platform) *rpc.PlatformMetadata { return &rpc.PlatformMetadata{ Id: platform.String(), Maintainer: platform.Package.Maintainer, @@ -33,10 +33,10 @@ func PlatformToRPCPlatformMetadata(platform *cores.Platform) *rpc.PlatformMetada } } -// PlatformReleaseToRPC converts our internal structure to the RPC structure. +// platformReleaseToRPC converts our internal structure to the RPC structure. // Note: this function does not touch the "Installed" field of rpc.Platform as it's not always clear that the // platformRelease we're currently converting is actually installed. -func PlatformReleaseToRPC(platformRelease *cores.PlatformRelease) *rpc.PlatformRelease { +func platformReleaseToRPC(platformRelease *cores.PlatformRelease) *rpc.PlatformRelease { // If the boards are not installed yet, the `platformRelease.Boards` will be a zero length slice. // In such case, we have to use the `platformRelease.BoardsManifest` instead. // So that we can retrieve the name of the boards at least. diff --git a/commands/grpc_streaming_helpers.go b/commands/utility_grpc_streaming.go similarity index 100% rename from commands/grpc_streaming_helpers.go rename to commands/utility_grpc_streaming.go diff --git a/commands/libraries_index_search_matcher.go b/commands/utility_libraries_index_search_matcher.go similarity index 100% rename from commands/libraries_index_search_matcher.go rename to commands/utility_libraries_index_search_matcher.go diff --git a/commands/version.go b/commands/utility_version.go similarity index 89% rename from commands/version.go rename to commands/utility_version.go index 2fd87215a2f..a7232d6fdc4 100644 --- a/commands/version.go +++ b/commands/utility_version.go @@ -20,10 +20,10 @@ import ( semver "go.bug.st/relaxed-semver" ) -// ParseVersion returns the parsed version or nil if the version is +// parseVersion returns the parsed version or nil if the version is // the empty string. An error is returned if the version is not valid // semver. -func ParseVersion(version string) (*semver.Version, error) { +func parseVersion(version string) (*semver.Version, error) { if version == "" { return nil, nil } From c08c59eec1997587f32d0ddd8c6e9ece383fdf37 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 20 Mar 2024 17:07:09 +0100 Subject: [PATCH 160/361] Run tests forcing the english language --- Taskfile.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Taskfile.yml b/Taskfile.yml index 2a9b20fd9ca..d5cbf0131a0 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -95,7 +95,7 @@ tasks: dir: '{{default "./" .GO_MODULE_PATH}}' cmds: - | - go test \ + LANG=en go test \ -v \ -short \ -run '{{default ".*" .GO_TEST_REGEX}}' \ @@ -115,7 +115,7 @@ tasks: - | rm -fr coverage_data mkdir coverage_data - INTEGRATION_GOCOVERDIR={{ .ROOT_DIR }}/coverage_data go test \ + LANG=en INTEGRATION_GOCOVERDIR={{ .ROOT_DIR }}/coverage_data go test \ -v \ -short \ {{ .GO_TEST_PACKAGE }} \ From e8e15743bc52e49ee95d4fd54f3231448fb21c71 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 19 Apr 2024 11:52:12 +0200 Subject: [PATCH 161/361] Use correct env var to force configuration in integration test ARDUINO_DATA_DIR, ARDUINO_DOWNLOADS_DIR, and ARDUINO_SKETCHBOOK_DIR are old variables kept just for backward compatibility. --- internal/integrationtest/arduino-cli.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 3ec6f44f1ea..7e2ff315f98 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -109,10 +109,10 @@ func NewArduinoCliWithinEnvironment(env *Environment, config *ArduinoCLIConfig) } cli.cliEnvVars = map[string]string{ - "LANG": "en", - "ARDUINO_DATA_DIR": cli.dataDir.String(), - "ARDUINO_DOWNLOADS_DIR": cli.stagingDir.String(), - "ARDUINO_SKETCHBOOK_DIR": cli.sketchbookDir.String(), + "LANG": "en", + "ARDUINO_DIRECTORIES_DATA": cli.dataDir.String(), + "ARDUINO_DIRECTORIES_DOWNLOADS": cli.stagingDir.String(), + "ARDUINO_DIRECTORIES_USER": cli.sketchbookDir.String(), "ARDUINO_BUILD_CACHE_COMPILATIONS_BEFORE_PURGE": "0", } env.RegisterCleanUpCallback(cli.CleanUp) From 9bab3c51ecca76cde3679d3e1ad2286e477596b9 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 19 Apr 2024 12:00:41 +0200 Subject: [PATCH 162/361] Fixed markdown link --- internal/i18n/data/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/i18n/data/README.md b/internal/i18n/data/README.md index d52ec1782ae..5d8d773c26d 100644 --- a/internal/i18n/data/README.md +++ b/internal/i18n/data/README.md @@ -6,7 +6,7 @@ This folder contains the [localization](https://wikipedia.org/wiki/Language_loca at the source: - **en.po** - edit the string in the source code file indicated by the comment above it <br /> e.g., a comment - `#: commands/upload/upload.go:615` indicates the source string is at line 615 of the file - [`commands/upload/upload.go`](../../../commands/upload/upload.go) + `#: internal/cli/lib/check_deps.go:102` indicates the source string is at line 102 of the file + [`internal/cli/lib/check_deps.go`](../../../internal/cli/lib/check_deps.go) - **All other files** - the localization is done on **Transifex**: <br /> https://explore.transifex.com/arduino-1/arduino-cli/ From 6320f6eb09522de618b3997efb7513ff2ebf325f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 19 Apr 2024 09:29:39 +0200 Subject: [PATCH 163/361] Always use arduino-cli in user-agent string --- version/version.go | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/version/version.go b/version/version.go index 576b48d1b66..abb0f75cc20 100644 --- a/version/version.go +++ b/version/version.go @@ -16,9 +16,6 @@ package version import ( - "os" - "path/filepath" - "github.com/arduino/arduino-cli/internal/i18n" ) @@ -70,5 +67,5 @@ func init() { versionString = defaultVersionString } - VersionInfo = NewInfo(filepath.Base(os.Args[0])) + VersionInfo = NewInfo("arduino-cli") } From 1fddba76a15360b083f457c1028065f764747b10 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 20 Mar 2024 17:23:27 +0100 Subject: [PATCH 164/361] Removed global *viper.Viper settings instance Now the configuration is kept inside the arduinoCoreServiceImpl struct. No more direct access to the configuration, the required config values are passed as arguments or available trough struct fields. Viper object is now embedded into a new configuration.Setting object. This would allow to make better getters and setters methods in the next commits. HTTP downloader configuration is generated using the configuration. --- commands/instances.go | 79 ++++++++++++------- commands/internal/instances/instances.go | 9 ++- commands/service.go | 7 +- commands/service_board_list.go | 25 +++--- commands/service_board_list_test.go | 32 +++----- commands/service_cache_clean.go | 2 +- commands/service_check_for_updates.go | 14 ++-- commands/service_compile.go | 19 ++--- commands/service_debug_test.go | 3 +- commands/service_library_download.go | 8 +- commands/service_library_install.go | 2 +- commands/service_platform_download.go | 4 +- commands/service_platform_search_test.go | 10 +-- commands/service_settings.go | 22 +++--- commands/service_settings_test.go | 76 ++++++++++-------- commands/service_sketch_load_test.go | 3 +- commands/service_sketch_new.go | 3 +- commands/service_sketch_new_test.go | 11 +-- commands/service_upload_test.go | 3 +- .../arduino/cores/packagemanager/download.go | 9 +-- .../cores/packagemanager/install_uninstall.go | 4 +- .../arduino/cores/packagemanager/loader.go | 4 +- .../cores/packagemanager/loader_test.go | 3 +- .../cores/packagemanager/package_manager.go | 11 ++- .../packagemanager/package_manager_test.go | 34 ++++---- .../arduino/cores/packagemanager/profiles.go | 22 +++--- internal/arduino/httpclient/httpclient.go | 64 +-------------- internal/arduino/resources/download.go | 2 +- internal/arduino/resources/helpers_test.go | 21 +++-- internal/arduino/resources/index.go | 6 +- internal/arduino/resources/resources_test.go | 8 +- internal/cli/arguments/reference_test.go | 8 +- internal/cli/cli.go | 30 +++---- internal/cli/compile/compile.go | 4 +- internal/cli/config/add.go | 16 ++-- internal/cli/config/config.go | 23 +++--- internal/cli/config/delete.go | 23 +++--- internal/cli/config/dump.go | 12 ++- internal/cli/config/get.go | 16 ++-- internal/cli/config/init.go | 26 +++--- internal/cli/config/remove.go | 16 ++-- internal/cli/config/set.go | 14 ++-- internal/cli/configuration/configuration.go | 22 ++++-- internal/cli/configuration/defaults.go | 4 +- internal/cli/configuration/directories.go | 19 +++-- internal/cli/configuration/network.go | 47 ++++++++++- .../configuration/network_test.go} | 21 +++-- internal/cli/daemon/daemon.go | 54 ++++++------- internal/cli/lib/install.go | 9 ++- internal/cli/lib/lib.go | 5 +- internal/docsgen/main.go | 4 +- main.go | 8 +- 52 files changed, 460 insertions(+), 441 deletions(-) rename internal/{arduino/httpclient/httpclient_test.go => cli/configuration/network_test.go} (79%) diff --git a/commands/instances.go b/commands/instances.go index 1b51231c657..7d461be1fc8 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -49,8 +49,9 @@ import ( func installTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { pme, release := pm.NewExplorer() defer release() + taskCB(&rpc.TaskProgress{Name: tr("Downloading missing tool %s", tool)}) - if err := pme.DownloadToolRelease(tool, nil, downloadCB); err != nil { + if err := pme.DownloadToolRelease(tool, downloadCB); err != nil { return fmt.Errorf(tr("downloading %[1]s tool: %[2]s"), tool, err) } taskCB(&rpc.TaskProgress{Completed: true}) @@ -62,16 +63,16 @@ func installTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, dow // Create a new Instance ready to be initialized, supporting directories are also created. func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateRequest) (*rpc.CreateResponse, error) { - var userAgent []string + var userAgent string if md, ok := metadata.FromIncomingContext(ctx); ok { - userAgent = md.Get("user-agent") + userAgent = strings.Join(md.Get("user-agent"), " ") } - if len(userAgent) == 0 { - userAgent = []string{"gRPCClientUnknown/0.0.0"} + if userAgent == "" { + userAgent = "gRPCClientUnknown/0.0.0" } // Setup downloads directory - downloadsDir := configuration.DownloadsDir(configuration.Settings) + downloadsDir := configuration.DownloadsDir(s.settings) if downloadsDir.NotExist() { err := downloadsDir.MkdirAll() if err != nil { @@ -80,8 +81,8 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque } // Setup data directory - dataDir := configuration.DataDir(configuration.Settings) - packagesDir := configuration.PackagesDir(configuration.Settings) + dataDir := configuration.DataDir(s.settings) + packagesDir := configuration.PackagesDir(s.settings) if packagesDir.NotExist() { err := packagesDir.MkdirAll() if err != nil { @@ -89,7 +90,11 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque } } - inst, err := instances.Create(dataDir, packagesDir, downloadsDir, userAgent...) + config, err := s.settings.DownloaderConfig() + if err != nil { + return nil, err + } + inst, err := instances.Create(dataDir, packagesDir, downloadsDir, userAgent, config) if err != nil { return nil, err } @@ -108,6 +113,8 @@ func InitStreamResponseToCallbackFunction(ctx context.Context, cb func(r *rpc.In // Failures don't stop the loading process, in case of loading failure the Platform or library // is simply skipped and an error gRPC status is sent to responseCallback. func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { + ctx := stream.Context() + instance := req.GetInstance() if !instances.IsValid(instance) { return &cmderrors.InvalidInstanceError{} @@ -170,7 +177,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor defaultIndexURL, _ := utils.URLParse(globals.DefaultIndexURL) allPackageIndexUrls := []*url.URL{defaultIndexURL} if profile == nil { - for _, u := range configuration.Settings.GetStringSlice("board_manager.additional_urls") { + for _, u := range s.settings.GetStringSlice("board_manager.additional_urls") { URL, err := utils.URLParse(u) if err != nil { e := &cmderrors.InitFailedError{ @@ -185,7 +192,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor } } - if err := firstUpdate(context.Background(), s, req.GetInstance(), downloadCallback, allPackageIndexUrls); err != nil { + if err := firstUpdate(ctx, s, req.GetInstance(), configuration.DataDir(s.settings), downloadCallback, allPackageIndexUrls); err != nil { e := &cmderrors.InitFailedError{ Code: codes.InvalidArgument, Cause: err, @@ -238,15 +245,13 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Load Platforms if profile == nil { - for _, err := range pmb.LoadHardware() { + for _, err := range pmb.LoadHardware(s.settings) { s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.GRPCStatus()) } } else { // Load platforms from profile - errs := pmb.LoadHardwareForProfile( - profile, true, downloadCallback, taskCallback, - ) + errs := pmb.LoadHardwareForProfile(profile, true, downloadCallback, taskCallback, s.settings) for _, err := range errs { s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.GRPCStatus()) @@ -344,7 +349,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor if profile == nil { // Add directories of libraries bundled with IDE - if bundledLibsDir := configuration.IDEBuiltinLibrariesDir(configuration.Settings); bundledLibsDir != nil { + if bundledLibsDir := configuration.IDEBuiltinLibrariesDir(s.settings); bundledLibsDir != nil { lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: bundledLibsDir, Location: libraries.IDEBuiltIn, @@ -353,14 +358,14 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Add libraries directory from config file lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ - Path: configuration.LibrariesDir(configuration.Settings), + Path: configuration.LibrariesDir(s.settings), Location: libraries.User, }) } else { // Load libraries required for profile for _, libraryRef := range profile.Libraries { uid := libraryRef.InternalUniqueIdentifier() - libRoot := configuration.ProfilesCacheDir(configuration.Settings).Join(uid) + libRoot := configuration.ProfilesCacheDir(s.settings).Join(uid) libDir := libRoot.Join(libraryRef.Library) if !libDir.IsDir() { @@ -373,7 +378,14 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor responseError(err.GRPCStatus()) continue } - if err := libRelease.Resource.Download(pme.DownloadDir, nil, libRelease.String(), downloadCallback, ""); err != nil { + config, err := s.settings.DownloaderConfig() + if err != nil { + taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) + e := &cmderrors.FailedLibraryInstallError{Cause: err} + responseError(e.GRPCStatus()) + continue + } + if err := libRelease.Resource.Download(pme.DownloadDir, config, libRelease.String(), downloadCallback, ""); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.GRPCStatus()) @@ -409,7 +421,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Refreshes the locale used, this will change the // language of the CLI if the locale is different // after started. - i18n.Init(configuration.Settings.GetString("locale")) + i18n.Init(s.settings.GetString("locale")) return nil } @@ -487,7 +499,11 @@ func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd // Perform index update // TODO: pass context // ctx := stream.Context() - if err := globals.LibrariesIndexResource.Download(indexDir, downloadCB); err != nil { + config, err := s.settings.DownloaderConfig() + if err != nil { + return err + } + if err := globals.LibrariesIndexResource.Download(indexDir, downloadCB, config); err != nil { resultCB(rpc.IndexUpdateReport_STATUS_FAILED) return err } @@ -532,11 +548,11 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream Message: &rpc.UpdateIndexResponse_DownloadProgress{DownloadProgress: p}, }) } - indexpath := configuration.DataDir(configuration.Settings) + indexpath := configuration.DataDir(s.settings) urls := []string{globals.DefaultIndexURL} if !req.GetIgnoreCustomPackageIndexes() { - urls = append(urls, configuration.Settings.GetStringSlice("board_manager.additional_urls")...) + urls = append(urls, s.settings.GetStringSlice("board_manager.additional_urls")...) } failed := false @@ -593,11 +609,18 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream } } + config, err := s.settings.DownloaderConfig() + if err != nil { + downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) + downloadCB.End(false, tr("Invalid network configuration: %s", err)) + failed = true + } + if strings.HasSuffix(URL.Host, "arduino.cc") && strings.HasSuffix(URL.Path, ".json") { indexResource.SignatureURL, _ = url.Parse(u) // should not fail because we already parsed it indexResource.SignatureURL.Path += ".sig" } - if err := indexResource.Download(indexpath, downloadCB); err != nil { + if err := indexResource.Download(indexpath, downloadCB, config); err != nil { failed = true result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) } else { @@ -615,10 +638,8 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream // firstUpdate downloads libraries and packages indexes if they don't exist. // This ideally is only executed the first time the CLI is run. -func firstUpdate(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, downloadCb func(msg *rpc.DownloadProgress), externalPackageIndexes []*url.URL) error { - // Gets the data directory to verify if library_index.json and package_index.json exist - dataDir := configuration.DataDir(configuration.Settings) - libraryIndex := dataDir.Join("library_index.json") +func firstUpdate(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rpc.Instance, indexDir *paths.Path, downloadCb func(msg *rpc.DownloadProgress), externalPackageIndexes []*url.URL) error { + libraryIndex := indexDir.Join("library_index.json") if libraryIndex.NotExist() { // The library_index.json file doesn't exists, that means the CLI is run for the first time @@ -640,7 +661,7 @@ func firstUpdate(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance Message: tr("Error downloading index '%s'", URL), Cause: &cmderrors.InvalidURLError{}} } - packageIndexFile := dataDir.Join(packageIndexFileName) + packageIndexFile := indexDir.Join(packageIndexFileName) if packageIndexFile.NotExist() { // The index file doesn't exists, that means the CLI is run for the first time, // or the 3rd party package index URL has just been added. Similarly to the diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index 019927a4967..b5cd63a3287 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -25,6 +25,7 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" + "go.bug.st/downloader/v2" ) // coreInstance is an instance of the Arduino Core Services. The user can @@ -133,15 +134,15 @@ func SetLibraryManager(inst *rpc.Instance, lm *librariesmanager.LibrariesManager } // Create a new *rpc.Instance ready to be initialized -func Create(dataDir, packagesDir, downloadsDir *paths.Path, extraUserAgent ...string) (*rpc.Instance, error) { +func Create(dataDir, packagesDir, downloadsDir *paths.Path, extraUserAgent string, downloaderConfig downloader.Config) (*rpc.Instance, error) { // Create package manager userAgent := "arduino-cli/" + version.VersionInfo.VersionString - for _, ua := range extraUserAgent { - userAgent += " " + ua + if extraUserAgent != "" { + userAgent += " " + extraUserAgent } tempDir := dataDir.Join("tmp") - pm := packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent).Build() + pm := packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent, downloaderConfig).Build() lm, _ := librariesmanager.NewBuilder().Build() instance := &coreInstance{ diff --git a/commands/service.go b/commands/service.go index e8bf689d59a..03da5135b29 100644 --- a/commands/service.go +++ b/commands/service.go @@ -18,14 +18,16 @@ package commands import ( "context" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) // NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service // that uses the provided version string. -func NewArduinoCoreServer(version string) rpc.ArduinoCoreServiceServer { +func NewArduinoCoreServer(version string, settings *configuration.Settings) rpc.ArduinoCoreServiceServer { return &arduinoCoreServerImpl{ versionString: version, + settings: settings, } } @@ -33,6 +35,9 @@ type arduinoCoreServerImpl struct { rpc.UnsafeArduinoCoreServiceServer // Force compile error for unimplemented methods versionString string + + // Settings holds configurations of the CLI and the gRPC consumers + settings *configuration.Settings } // Version returns the version of the Arduino CLI diff --git a/commands/service_board_list.go b/commands/service_board_list.go index ba6cd3c727f..aff1085c9c2 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -32,7 +32,7 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" @@ -45,7 +45,7 @@ var ( validVidPid = regexp.MustCompile(`0[xX][a-fA-F\d]{4}`) ) -func cachedAPIByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { +func cachedAPIByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { var resp []*rpc.BoardListItem cacheKey := fmt.Sprintf("cache.builder-api.v3/boards/byvid/pid/%s/%s", vid, pid) @@ -59,7 +59,7 @@ func cachedAPIByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { } } - resp, err := apiByVidPid(vid, pid) // Perform API requrest + resp, err := apiByVidPid(vid, pid, settings) // Perform API requrest if err == nil { if cachedResp, err := json.Marshal(resp); err == nil { @@ -71,7 +71,7 @@ func cachedAPIByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { return resp, err } -func apiByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { +func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { // ensure vid and pid are valid before hitting the API if !validVidPid.MatchString(vid) { return nil, errors.New(tr("Invalid vid value: '%s'", vid)) @@ -84,10 +84,7 @@ func apiByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { req, _ := http.NewRequest("GET", url, nil) req.Header.Set("Content-Type", "application/json") - // TODO: use proxy if set - - httpClient, err := httpclient.New() - + httpClient, err := settings.NewHttpClient() if err != nil { return nil, fmt.Errorf("%s: %w", tr("failed to initialize http client"), err) } @@ -130,18 +127,18 @@ func apiByVidPid(vid, pid string) ([]*rpc.BoardListItem, error) { }, nil } -func identifyViaCloudAPI(props *properties.Map) ([]*rpc.BoardListItem, error) { +func identifyViaCloudAPI(props *properties.Map, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { // If the port is not USB do not try identification via cloud if !props.ContainsKey("vid") || !props.ContainsKey("pid") { return nil, nil } logrus.Debug("Querying builder API for board identification...") - return cachedAPIByVidPid(props.Get("vid"), props.Get("pid")) + return cachedAPIByVidPid(props.Get("vid"), props.Get("pid"), settings) } // identify returns a list of boards checking first the installed platforms or the Cloud API -func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardListItem, error) { +func identify(pme *packagemanager.Explorer, port *discovery.Port, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { boards := []*rpc.BoardListItem{} if port.Properties == nil { return boards, nil @@ -173,7 +170,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port) ([]*rpc.BoardL // if installed cores didn't recognize the board, try querying // the builder API if the board is a USB device port if len(boards) == 0 { - items, err := identifyViaCloudAPI(port.Properties) + items, err := identifyViaCloudAPI(port.Properties, settings) if err != nil { // this is bad, but keep going logrus.WithError(err).Debug("Error querying builder API") @@ -227,7 +224,7 @@ func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis ports := []*rpc.DetectedPort{} for _, port := range dm.List() { - boards, err := identify(pme, port) + boards, err := identify(pme, port, s.settings) if err != nil { warnings = append(warnings, err.Error()) } @@ -306,7 +303,7 @@ func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s boardsError := "" if event.Type == "add" { - boards, err := identify(pme, event.Port) + boards, err := identify(pme, event.Port, s.settings) if err != nil { boardsError = err.Error() } diff --git a/commands/service_board_list_test.go b/commands/service_board_list_test.go index 2db649e4554..e9132a50949 100644 --- a/commands/service_board_list_test.go +++ b/commands/service_board_list_test.go @@ -27,12 +27,11 @@ import ( "github.com/arduino/go-properties-orderedmap" discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/stretchr/testify/require" + "go.bug.st/downloader/v2" semver "go.bug.st/relaxed-semver" ) func TestGetByVidPid(t *testing.T) { - configuration.Settings = configuration.Init("") - configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, ` { @@ -49,34 +48,31 @@ func TestGetByVidPid(t *testing.T) { defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0xf420", "0XF069") + res, err := apiByVidPid("0xf420", "0XF069", configuration.Init("")) require.Nil(t, err) require.Len(t, res, 1) require.Equal(t, "Arduino/Genuino MKR1000", res[0].GetName()) require.Equal(t, "arduino:samd:mkr1000", res[0].GetFqbn()) // wrong vid (too long), wrong pid (not an hex value) - _, err = apiByVidPid("0xfffff", "0xDEFG") + + _, err = apiByVidPid("0xfffff", "0xDEFG", configuration.Init("")) require.NotNil(t, err) } func TestGetByVidPidNotFound(t *testing.T) { - configuration.Settings = configuration.Init("") - configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) })) defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069") + res, err := apiByVidPid("0x0420", "0x0069", configuration.Init("")) require.NoError(t, err) require.Empty(t, res) } func TestGetByVidPid5xx(t *testing.T) { - configuration.Settings = configuration.Init("") - configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("500 - Ooooops!")) @@ -84,46 +80,39 @@ func TestGetByVidPid5xx(t *testing.T) { defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069") + res, err := apiByVidPid("0x0420", "0x0069", configuration.Init("")) require.NotNil(t, err) require.Equal(t, "the server responded with status 500 Internal Server Error", err.Error()) require.Len(t, res, 0) } func TestGetByVidPidMalformedResponse(t *testing.T) { - configuration.Settings = configuration.Init("") - configuration.Settings.Set("locale", "en") ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "{}") })) defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069") + res, err := apiByVidPid("0x0420", "0x0069", configuration.Init("")) require.NotNil(t, err) require.Equal(t, "wrong format in server response", err.Error()) require.Len(t, res, 0) } func TestBoardDetectionViaAPIWithNonUSBPort(t *testing.T) { - configuration.Settings = configuration.Init("") - configuration.Settings.Set("locale", "en") - items, err := identifyViaCloudAPI(properties.NewMap()) + items, err := identifyViaCloudAPI(properties.NewMap(), configuration.Init("")) require.NoError(t, err) require.Empty(t, items) } func TestBoardIdentifySorting(t *testing.T) { - configuration.Settings = configuration.Init("") - configuration.Settings.Set("locale", "en") - dataDir := paths.TempDir().Join("test", "data_dir") t.Setenv("ARDUINO_DATA_DIR", dataDir.String()) dataDir.MkdirAll() defer paths.TempDir().Join("test").RemoveAll() // We don't really care about the paths in this case - pmb := packagemanager.NewBuilder(dataDir, dataDir, dataDir, dataDir, "test") + pmb := packagemanager.NewBuilder(dataDir, dataDir, dataDir, dataDir, "test", downloader.GetDefaultConfig()) // Create some boards with identical VID:PID combination pack := pmb.GetOrCreatePackage("packager") @@ -159,7 +148,8 @@ func TestBoardIdentifySorting(t *testing.T) { pme, release := pm.NewExplorer() defer release() - res, err := identify(pme, &discovery.Port{Properties: idPrefs}) + settings := configuration.Init("") + res, err := identify(pme, &discovery.Port{Properties: idPrefs}, settings) require.NoError(t, err) require.NotNil(t, res) require.Len(t, res, 4) diff --git a/commands/service_cache_clean.go b/commands/service_cache_clean.go index 3cbdd488b6c..df7a091f635 100644 --- a/commands/service_cache_clean.go +++ b/commands/service_cache_clean.go @@ -24,7 +24,7 @@ import ( // CleanDownloadCacheDirectory clean the download cache directory (where archives are downloaded). func (s *arduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { - cachePath := configuration.DownloadsDir(configuration.Settings) + cachePath := configuration.DownloadsDir(s.settings) err := cachePath.RemoveAll() if err != nil { return nil, err diff --git a/commands/service_check_for_updates.go b/commands/service_check_for_updates.go index a53005c6456..15221905d56 100644 --- a/commands/service_check_for_updates.go +++ b/commands/service_check_for_updates.go @@ -20,8 +20,6 @@ import ( "strings" "time" - "github.com/arduino/arduino-cli/internal/arduino/httpclient" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -35,7 +33,7 @@ func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, r return nil, err } - if !shouldCheckForUpdate(currentVersion) && !req.GetForceCheck() { + if !s.shouldCheckForUpdate(currentVersion) && !req.GetForceCheck() { return &rpc.CheckForArduinoCLIUpdatesResponse{}, nil } @@ -45,7 +43,7 @@ func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, r inventory.WriteStore() }() - latestVersion, err := semver.Parse(getLatestRelease()) + latestVersion, err := semver.Parse(s.getLatestRelease()) if err != nil { return nil, err } @@ -62,13 +60,13 @@ func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, r // shouldCheckForUpdate return true if it actually makes sense to check for new updates, // false in all other cases. -func shouldCheckForUpdate(currentVersion *semver.Version) bool { +func (s *arduinoCoreServerImpl) shouldCheckForUpdate(currentVersion *semver.Version) bool { if strings.Contains(currentVersion.String(), "git-snapshot") || strings.Contains(currentVersion.String(), "nightly") { // This is a dev build, no need to check for updates return false } - if !configuration.Settings.GetBool("updater.enable_notification") { + if !s.settings.GetBool("updater.enable_notification") { // Don't check if the user disabled the notification return false } @@ -84,8 +82,8 @@ func shouldCheckForUpdate(currentVersion *semver.Version) bool { // getLatestRelease queries the official Arduino download server for the latest release, // if there are no errors or issues a version string is returned, in all other case an empty string. -func getLatestRelease() string { - client, err := httpclient.New() +func (s *arduinoCoreServerImpl) getLatestRelease() string { + client, err := s.settings.NewHttpClient() if err != nil { return "" } diff --git a/commands/service_compile.go b/commands/service_compile.go index 512ca766249..d7320caeed2 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -22,6 +22,7 @@ import ( "io" "sort" "strings" + "time" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" @@ -66,7 +67,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - exportBinaries := configuration.Settings.GetBool("sketch.always_export_binaries") + exportBinaries := s.settings.GetBool("sketch.always_export_binaries") if e := req.ExportBinaries; e != nil { exportBinaries = *e } @@ -172,7 +173,10 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu } buildcache.New(buildPath.Parent()).GetOrCreate(buildPath.Base()) // cache is purged after compilation to not remove entries that might be required - defer maybePurgeBuildCache() + + defer maybePurgeBuildCache( + s.settings.GetUint("build_cache.compilations_before_purge"), + s.settings.GetDuration("build_cache.ttl").Abs()) var coreBuildCachePath *paths.Path if req.GetBuildCachePath() == "" { @@ -194,7 +198,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu actualPlatform := buildPlatform otherLibrariesDirs := paths.NewPathList(req.GetLibraries()...) - otherLibrariesDirs.Add(configuration.LibrariesDir(configuration.Settings)) + otherLibrariesDirs.Add(configuration.LibrariesDir(s.settings)) var libsManager *librariesmanager.LibrariesManager if pme.GetProfile() != nil { @@ -227,9 +231,9 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu coreBuildCachePath, int(req.GetJobs()), req.GetBuildProperties(), - configuration.HardwareDirectories(configuration.Settings), + configuration.HardwareDirectories(s.settings), otherLibrariesDirs, - configuration.IDEBuiltinLibrariesDir(configuration.Settings), + configuration.IDEBuiltinLibrariesDir(s.settings), fqbn, req.GetClean(), req.GetSourceOverride(), @@ -394,9 +398,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu } // maybePurgeBuildCache runs the build files cache purge if the policy conditions are met. -func maybePurgeBuildCache() { - - compilationsBeforePurge := configuration.Settings.GetUint("build_cache.compilations_before_purge") +func maybePurgeBuildCache(compilationsBeforePurge uint, cacheTTL time.Duration) { // 0 means never purge if compilationsBeforePurge == 0 { return @@ -409,7 +411,6 @@ func maybePurgeBuildCache() { return } inventory.Store.Set("build_cache.compilation_count_since_last_purge", 0) - cacheTTL := configuration.Settings.GetDuration("build_cache.ttl").Abs() buildcache.New(paths.TempDir().Join("arduino", "cores")).Purge(cacheTTL) buildcache.New(paths.TempDir().Join("arduino", "sketches")).Purge(cacheTTL) } diff --git a/commands/service_debug_test.go b/commands/service_debug_test.go index e3bb45b0fd8..8e627c44b76 100644 --- a/commands/service_debug_test.go +++ b/commands/service_debug_test.go @@ -27,6 +27,7 @@ import ( "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "go.bug.st/downloader/v2" ) func TestGetCommandLine(t *testing.T) { @@ -36,7 +37,7 @@ func TestGetCommandLine(t *testing.T) { sketchPath := paths.New("testdata", "debug", sketch) require.NoError(t, sketchPath.ToAbs()) - pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test") + pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pmb.LoadHardwareFromDirectory(dataDir) diff --git a/commands/service_library_download.go b/commands/service_library_download.go index 37b4ecbb53e..8543e8cdea6 100644 --- a/commands/service_library_download.go +++ b/commands/service_library_download.go @@ -20,8 +20,8 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" ) @@ -66,7 +66,7 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, return err } - if err := downloadLibrary(ctx, downloadsDir, lib, downloadCB, func(*rpc.TaskProgress) {}, "download"); err != nil { + if err := downloadLibrary(ctx, downloadsDir, lib, downloadCB, func(*rpc.TaskProgress) {}, "download", s.settings); err != nil { return err } @@ -74,10 +74,10 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, } func downloadLibrary(_ context.Context, downloadsDir *paths.Path, libRelease *librariesindex.Release, - downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, queryParameter string) error { + downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, queryParameter string, settings *configuration.Settings) error { taskCB(&rpc.TaskProgress{Name: tr("Downloading %s", libRelease)}) - config, err := httpclient.GetDownloaderConfig() + config, err := settings.DownloaderConfig() if err != nil { return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } diff --git a/commands/service_library_install.go b/commands/service_library_install.go index d4440d3d2ae..20b98695de2 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -147,7 +147,7 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s downloadReason += "-builtin" } } - if err := downloadLibrary(ctx, downloadsDir, libRelease, downloadCB, taskCB, downloadReason); err != nil { + if err := downloadLibrary(ctx, downloadsDir, libRelease, downloadCB, taskCB, downloadReason, s.settings); err != nil { return err } if err := installLibrary(lmi, downloadsDir, libRelease, installTask, taskCB); err != nil { diff --git a/commands/service_platform_download.go b/commands/service_platform_download.go index 23a8096120d..09f49a2d76b 100644 --- a/commands/service_platform_download.go +++ b/commands/service_platform_download.go @@ -67,13 +67,13 @@ func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques // TODO: pass context // ctx := stream.Context() - if err := pme.DownloadPlatformRelease(platform, nil, downloadCB); err != nil { + if err := pme.DownloadPlatformRelease(platform, downloadCB); err != nil { return err } for _, tool := range tools { // TODO: pass context - if err := pme.DownloadToolRelease(tool, nil, downloadCB); err != nil { + if err := pme.DownloadToolRelease(tool, downloadCB); err != nil { return err } } diff --git a/commands/service_platform_search_test.go b/commands/service_platform_search_test.go index 63dc02c5265..3b7b87cf30d 100644 --- a/commands/service_platform_search_test.go +++ b/commands/service_platform_search_test.go @@ -36,9 +36,8 @@ func TestPlatformSearch(t *testing.T) { err := paths.New("testdata", "platform", "package_index.json").CopyTo(dataDir.Join("package_index.json")) require.Nil(t, err) - configuration.Settings = configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - - srv := NewArduinoCoreServer("") + settings := configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) + srv := NewArduinoCoreServer("", settings) ctx := context.Background() createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) require.NoError(t, err) @@ -338,9 +337,8 @@ func TestPlatformSearchSorting(t *testing.T) { err := paths.New("testdata", "platform", "package_index.json").CopyTo(dataDir.Join("package_index.json")) require.Nil(t, err) - configuration.Settings = configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - - srv := NewArduinoCoreServer("") + settings := configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) + srv := NewArduinoCoreServer("", settings) ctx := context.Background() createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) diff --git a/commands/service_settings.go b/commands/service_settings.go index f4675e0467e..177d0819178 100644 --- a/commands/service_settings.go +++ b/commands/service_settings.go @@ -29,7 +29,7 @@ import ( // SettingsGetAll returns a message with a string field containing all the settings // currently in use, marshalled in JSON format. func (s *arduinoCoreServerImpl) SettingsGetAll(ctx context.Context, req *rpc.SettingsGetAllRequest) (*rpc.SettingsGetAllResponse, error) { - b, err := json.Marshal(configuration.Settings.AllSettings()) + b, err := json.Marshal(s.settings.AllSettings()) if err == nil { return &rpc.SettingsGetAllResponse{ JsonData: string(b), @@ -83,9 +83,9 @@ func (s *arduinoCoreServerImpl) SettingsMerge(ctx context.Context, req *rpc.Sett for k, v := range mapped { updatedSettings.Set(k, v) } - configPath := configuration.Settings.ConfigFileUsed() + configPath := s.settings.ConfigFileUsed() updatedSettings.SetConfigFile(configPath) - configuration.Settings = updatedSettings + s.settings = updatedSettings return &rpc.SettingsMergeResponse{}, nil } @@ -100,7 +100,7 @@ func (s *arduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.S // since that doesn't check for keys formatted like daemon.port or those set // with Viper.Set(). This way we check for all existing settings for sure. keyExists := false - for _, k := range configuration.Settings.AllKeys() { + for _, k := range s.settings.AllKeys() { if k == key || strings.HasPrefix(k, key) { keyExists = true break @@ -110,7 +110,7 @@ func (s *arduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.S return nil, errors.New(tr("key not found in settings")) } - b, err := json.Marshal(configuration.Settings.Get(key)) + b, err := json.Marshal(s.settings.Get(key)) value := &rpc.SettingsGetValueResponse{} if err == nil { value.Key = key @@ -127,7 +127,7 @@ func (s *arduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.S err := json.Unmarshal([]byte(val.GetJsonData()), &value) if err == nil { - configuration.Settings.Set(key, value) + s.settings.Set(key, value) } return &rpc.SettingsSetValueResponse{}, err @@ -138,7 +138,7 @@ func (s *arduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.S // and that's picked up when the CLI is run as daemon, either using the default path or a custom one // set with the --config-file flag. func (s *arduinoCoreServerImpl) SettingsWrite(ctx context.Context, req *rpc.SettingsWriteRequest) (*rpc.SettingsWriteResponse, error) { - if err := configuration.Settings.WriteConfigAs(req.GetFilePath()); err != nil { + if err := s.settings.WriteConfigAs(req.GetFilePath()); err != nil { return nil, err } return &rpc.SettingsWriteResponse{}, nil @@ -153,7 +153,7 @@ func (s *arduinoCoreServerImpl) SettingsDelete(ctx context.Context, req *rpc.Set // with Viper.Set(). This way we check for all existing settings for sure. keyExists := false keys := []string{} - for _, k := range configuration.Settings.AllKeys() { + for _, k := range s.settings.AllKeys() { if !strings.HasPrefix(k, toDelete) { keys = append(keys, k) continue @@ -168,11 +168,11 @@ func (s *arduinoCoreServerImpl) SettingsDelete(ctx context.Context, req *rpc.Set // Override current settings to delete the key updatedSettings := configuration.Init("") for _, k := range keys { - updatedSettings.Set(k, configuration.Settings.Get(k)) + updatedSettings.Set(k, s.settings.Get(k)) } - configPath := configuration.Settings.ConfigFileUsed() + configPath := s.settings.ConfigFileUsed() updatedSettings.SetConfigFile(configPath) - configuration.Settings = updatedSettings + s.settings = updatedSettings return &rpc.SettingsDeleteResponse{}, nil } diff --git a/commands/service_settings_test.go b/commands/service_settings_test.go index 226a2663990..e1d67fb0fad 100644 --- a/commands/service_settings_test.go +++ b/commands/service_settings_test.go @@ -27,71 +27,68 @@ import ( "github.com/stretchr/testify/require" ) -var svc = NewArduinoCoreServer("") - -func init() { - configuration.Settings = configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) -} - -func reset() { - configuration.Settings = configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) -} - func TestGetAll(t *testing.T) { + settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", settings) resp, err := svc.SettingsGetAll(context.Background(), &rpc.SettingsGetAllRequest{}) require.Nil(t, err) - content, err := json.Marshal(configuration.Settings.AllSettings()) + content, err := json.Marshal(settings.AllSettings()) require.Nil(t, err) require.Equal(t, string(content), resp.GetJsonData()) } func TestMerge(t *testing.T) { + initialSettings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", initialSettings).(*arduinoCoreServerImpl) + ctx := context.Background() + // Verify defaults - require.Equal(t, "50051", configuration.Settings.GetString("daemon.port")) - require.Equal(t, "", configuration.Settings.GetString("foo")) - require.Equal(t, false, configuration.Settings.GetBool("sketch.always_export_binaries")) + require.Equal(t, "50051", svc.settings.GetString("daemon.port")) + require.Equal(t, "", svc.settings.GetString("foo")) + require.Equal(t, false, svc.settings.GetBool("sketch.always_export_binaries")) bulkSettings := `{"foo": "bar", "daemon":{"port":"420"}, "sketch": {"always_export_binaries": "true"}}` - res, err := svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) + res, err := svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NotNil(t, res) require.NoError(t, err) - require.Equal(t, "420", configuration.Settings.GetString("daemon.port")) - require.Equal(t, "bar", configuration.Settings.GetString("foo")) - require.Equal(t, true, configuration.Settings.GetBool("sketch.always_export_binaries")) + require.Equal(t, "420", svc.settings.GetString("daemon.port")) + require.Equal(t, "bar", svc.settings.GetString("foo")) + require.Equal(t, true, svc.settings.GetBool("sketch.always_export_binaries")) bulkSettings = `{"foo":"", "daemon": {}, "sketch": {"always_export_binaries": "false"}}` - res, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) + res, err = svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NotNil(t, res) require.NoError(t, err) - require.Equal(t, "50051", configuration.Settings.GetString("daemon.port")) - require.Equal(t, "", configuration.Settings.GetString("foo")) - require.Equal(t, false, configuration.Settings.GetBool("sketch.always_export_binaries")) + require.Equal(t, "50051", svc.settings.GetString("daemon.port")) + require.Equal(t, "", svc.settings.GetString("foo")) + require.Equal(t, false, svc.settings.GetBool("sketch.always_export_binaries")) bulkSettings = `{"daemon": {"port":""}}` - res, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) + res, err = svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NotNil(t, res) require.NoError(t, err) - require.Equal(t, "", configuration.Settings.GetString("daemon.port")) + require.Equal(t, "", svc.settings.GetString("daemon.port")) // Verifies other values are not changed - require.Equal(t, "", configuration.Settings.GetString("foo")) - require.Equal(t, false, configuration.Settings.GetBool("sketch.always_export_binaries")) + require.Equal(t, "", svc.settings.GetString("foo")) + require.Equal(t, false, svc.settings.GetBool("sketch.always_export_binaries")) bulkSettings = `{"network": {}}` - res, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) + res, err = svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) require.NotNil(t, res) require.NoError(t, err) - require.Equal(t, "", configuration.Settings.GetString("proxy")) - - reset() + require.Equal(t, "", svc.settings.GetString("proxy")) } func TestGetValue(t *testing.T) { + settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", settings) + key := &rpc.SettingsGetValueRequest{Key: "daemon"} resp, err := svc.SettingsGetValue(context.Background(), key) require.NoError(t, err) @@ -104,6 +101,9 @@ func TestGetValue(t *testing.T) { } func TestGetMergedValue(t *testing.T) { + settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", settings) + // Verifies value is not set key := &rpc.SettingsGetValueRequest{Key: "foo"} res, err := svc.SettingsGetValue(context.Background(), key) @@ -120,27 +120,34 @@ func TestGetMergedValue(t *testing.T) { res, err = svc.SettingsGetValue(context.Background(), key) require.NoError(t, err) require.Equal(t, `"bar"`, res.GetJsonData()) - - reset() } func TestGetValueNotFound(t *testing.T) { + settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", settings) + key := &rpc.SettingsGetValueRequest{Key: "DOESNTEXIST"} _, err := svc.SettingsGetValue(context.Background(), key) require.Error(t, err) } func TestSetValue(t *testing.T) { + settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", settings) + val := &rpc.SettingsSetValueRequest{ Key: "foo", JsonData: `"bar"`, } _, err := svc.SettingsSetValue(context.Background(), val) require.Nil(t, err) - require.Equal(t, "bar", configuration.Settings.GetString("foo")) + require.Equal(t, "bar", settings.GetString("foo")) } func TestWrite(t *testing.T) { + settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", settings) + // Writes some settings val := &rpc.SettingsSetValueRequest{ Key: "foo", @@ -169,6 +176,9 @@ func TestWrite(t *testing.T) { } func TestDelete(t *testing.T) { + settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) + svc := NewArduinoCoreServer("", settings) + _, err := svc.SettingsDelete(context.Background(), &rpc.SettingsDeleteRequest{ Key: "doesnotexist", }) diff --git a/commands/service_sketch_load_test.go b/commands/service_sketch_load_test.go index 36bb58ea351..822dfea7c5d 100644 --- a/commands/service_sketch_load_test.go +++ b/commands/service_sketch_load_test.go @@ -19,12 +19,13 @@ import ( "context" "testing" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/stretchr/testify/require" ) func TestLoadSketchProfiles(t *testing.T) { - srv := NewArduinoCoreServer("") + srv := NewArduinoCoreServer("", configuration.Init("")) loadResp, err := srv.LoadSketch(context.Background(), &commands.LoadSketchRequest{ SketchPath: "./testdata/sketch_with_profile", }) diff --git a/commands/service_sketch_new.go b/commands/service_sketch_new.go index a8eb518a815..b0c9c079f73 100644 --- a/commands/service_sketch_new.go +++ b/commands/service_sketch_new.go @@ -22,7 +22,6 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/globals" - "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) @@ -48,7 +47,7 @@ func (s *arduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketc if len(req.GetSketchDir()) > 0 { sketchesDir = req.GetSketchDir() } else { - sketchesDir = configuration.Settings.GetString("directories.User") + sketchesDir = s.settings.GetString("directories.User") } if err := validateSketchName(req.GetSketchName()); err != nil { diff --git a/commands/service_sketch_new_test.go b/commands/service_sketch_new_test.go index 0d0b3e05aa6..353dec17a05 100644 --- a/commands/service_sketch_new_test.go +++ b/commands/service_sketch_new_test.go @@ -20,6 +20,7 @@ import ( "fmt" "testing" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/stretchr/testify/require" ) @@ -35,7 +36,7 @@ func Test_SketchNameWrongPattern(t *testing.T) { ",`hack[}attempt{];", } - srv := NewArduinoCoreServer("") + srv := NewArduinoCoreServer("", configuration.Init("")) for _, name := range invalidNames { _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, @@ -48,7 +49,7 @@ func Test_SketchNameWrongPattern(t *testing.T) { } func Test_SketchNameEmpty(t *testing.T) { - srv := NewArduinoCoreServer("") + srv := NewArduinoCoreServer("", configuration.Init("")) _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: "", SketchDir: t.TempDir(), @@ -62,7 +63,7 @@ func Test_SketchNameTooLong(t *testing.T) { for i := range tooLongName { tooLongName[i] = 'a' } - srv := NewArduinoCoreServer("") + srv := NewArduinoCoreServer("", configuration.Init("")) _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: string(tooLongName), SketchDir: t.TempDir(), @@ -86,7 +87,7 @@ func Test_SketchNameOk(t *testing.T) { "_hello_world", string(lengthLimitName), } - srv := NewArduinoCoreServer("") + srv := NewArduinoCoreServer("", configuration.Init("")) for _, name := range validNames { _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, @@ -99,7 +100,7 @@ func Test_SketchNameOk(t *testing.T) { func Test_SketchNameReserved(t *testing.T) { invalidNames := []string{"CON", "PRN", "AUX", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"} - srv := NewArduinoCoreServer("") + srv := NewArduinoCoreServer("", configuration.Init("")) for _, name := range invalidNames { _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, diff --git a/commands/service_upload_test.go b/commands/service_upload_test.go index cf2f4ff3306..e8d70e19c4d 100644 --- a/commands/service_upload_test.go +++ b/commands/service_upload_test.go @@ -29,6 +29,7 @@ import ( properties "github.com/arduino/go-properties-orderedmap" "github.com/sirupsen/logrus" "github.com/stretchr/testify/require" + "go.bug.st/downloader/v2" ) func TestDetectSketchNameFromBuildPath(t *testing.T) { @@ -127,7 +128,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { } func TestUploadPropertiesComposition(t *testing.T) { - pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test") + pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) errs := pmb.LoadHardwareFromDirectory(paths.New("testdata", "upload", "hardware")) require.Len(t, errs, 0) buildPath1 := paths.New("testdata", "upload", "build_path_1") diff --git a/internal/arduino/cores/packagemanager/download.go b/internal/arduino/cores/packagemanager/download.go index c4a7cb62d59..4ac06cf19f8 100644 --- a/internal/arduino/cores/packagemanager/download.go +++ b/internal/arduino/cores/packagemanager/download.go @@ -22,7 +22,6 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "go.bug.st/downloader/v2" semver "go.bug.st/relaxed-semver" ) @@ -120,21 +119,21 @@ func (pme *Explorer) FindPlatformReleaseDependencies(item *PlatformReference) (* // DownloadToolRelease downloads a ToolRelease. If the tool is already downloaded a nil Downloader // is returned. Uses the given downloader configuration for download, or the default config if nil. -func (pme *Explorer) DownloadToolRelease(tool *cores.ToolRelease, config *downloader.Config, progressCB rpc.DownloadProgressCB) error { +func (pme *Explorer) DownloadToolRelease(tool *cores.ToolRelease, progressCB rpc.DownloadProgressCB) error { resource := tool.GetCompatibleFlavour() if resource == nil { return &cmderrors.FailedDownloadError{ Message: tr("Error downloading tool %s", tool), Cause: errors.New(tr("no versions available for the current OS, try contacting %s", tool.Tool.Package.Email))} } - return resource.Download(pme.DownloadDir, config, tool.String(), progressCB, "") + return resource.Download(pme.DownloadDir, pme.downloaderConfig, tool.String(), progressCB, "") } // DownloadPlatformRelease downloads a PlatformRelease. If the platform is already downloaded a // nil Downloader is returned. -func (pme *Explorer) DownloadPlatformRelease(platform *cores.PlatformRelease, config *downloader.Config, progressCB rpc.DownloadProgressCB) error { +func (pme *Explorer) DownloadPlatformRelease(platform *cores.PlatformRelease, progressCB rpc.DownloadProgressCB) error { if platform.Resource == nil { return &cmderrors.PlatformNotFoundError{Platform: platform.String()} } - return platform.Resource.Download(pme.DownloadDir, config, platform.String(), progressCB, "") + return platform.Resource.Download(pme.DownloadDir, pme.downloaderConfig, platform.String(), progressCB, "") } diff --git a/internal/arduino/cores/packagemanager/install_uninstall.go b/internal/arduino/cores/packagemanager/install_uninstall.go index bc29f08fa43..4b8c1cba9b4 100644 --- a/internal/arduino/cores/packagemanager/install_uninstall.go +++ b/internal/arduino/cores/packagemanager/install_uninstall.go @@ -92,11 +92,11 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( // Package download taskCB(&rpc.TaskProgress{Name: tr("Downloading packages")}) for _, tool := range toolsToInstall { - if err := pme.DownloadToolRelease(tool, nil, downloadCB); err != nil { + if err := pme.DownloadToolRelease(tool, downloadCB); err != nil { return err } } - if err := pme.DownloadPlatformRelease(platformRelease, nil, downloadCB); err != nil { + if err := pme.DownloadPlatformRelease(platformRelease, downloadCB); err != nil { return err } taskCB(&rpc.TaskProgress{Completed: true}) diff --git a/internal/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go index 68c603044e5..29e8fb511a4 100644 --- a/internal/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -31,8 +31,8 @@ import ( ) // LoadHardware read all plaforms from the configured paths -func (pm *Builder) LoadHardware() []error { - hardwareDirs := configuration.HardwareDirectories(configuration.Settings) +func (pm *Builder) LoadHardware(settings *configuration.Settings) []error { + hardwareDirs := configuration.HardwareDirectories(settings) return pm.LoadHardwareFromDirectories(hardwareDirs) } diff --git a/internal/arduino/cores/packagemanager/loader_test.go b/internal/arduino/cores/packagemanager/loader_test.go index d0d41992179..a9ee015c86d 100644 --- a/internal/arduino/cores/packagemanager/loader_test.go +++ b/internal/arduino/cores/packagemanager/loader_test.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" + "go.bug.st/downloader/v2" semver "go.bug.st/relaxed-semver" ) @@ -174,7 +175,7 @@ func TestLoadDiscoveries(t *testing.T) { defer fakePath.RemoveAll() createTestPackageManager := func() *PackageManager { - pmb := NewBuilder(fakePath, fakePath, fakePath, fakePath, "test") + pmb := NewBuilder(fakePath, fakePath, fakePath, fakePath, "test", downloader.GetDefaultConfig()) pack := pmb.packages.GetOrCreatePackage("arduino") // ble-discovery tool tool := pack.GetOrCreateTool("ble-discovery") diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index cea5e799d1b..d9a5f79a2ac 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -33,12 +33,12 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" "github.com/arduino/go-timeutils" "github.com/sirupsen/logrus" + "go.bug.st/downloader/v2" semver "go.bug.st/relaxed-semver" ) @@ -60,6 +60,7 @@ type PackageManager struct { profile *sketch.Profile discoveryManager *discoverymanager.DiscoveryManager userAgent string + downloaderConfig downloader.Config } // Builder is used to create a new PackageManager. The builder @@ -75,7 +76,7 @@ type Explorer PackageManager var tr = i18n.Tr // NewBuilder returns a new Builder -func NewBuilder(indexDir, packagesDir, downloadDir, tempDir *paths.Path, userAgent string) *Builder { +func NewBuilder(indexDir, packagesDir, downloadDir, tempDir *paths.Path, userAgent string, downloaderConfig downloader.Config) *Builder { return &Builder{ log: logrus.StandardLogger(), packages: cores.NewPackages(), @@ -84,8 +85,9 @@ func NewBuilder(indexDir, packagesDir, downloadDir, tempDir *paths.Path, userAge DownloadDir: downloadDir, tempDir: tempDir, packagesCustomGlobalProperties: properties.NewMap(), - discoveryManager: discoverymanager.New(configuration.UserAgent(configuration.Settings)), + discoveryManager: discoverymanager.New(userAgent), userAgent: userAgent, + downloaderConfig: downloaderConfig, } } @@ -164,7 +166,7 @@ func (pmb *Builder) calculateCompatibleReleases() { // this function will make the builder write the new configuration into this // PackageManager. func (pm *PackageManager) NewBuilder() (builder *Builder, commit func()) { - pmb := NewBuilder(pm.IndexDir, pm.PackagesDir, pm.DownloadDir, pm.tempDir, pm.userAgent) + pmb := NewBuilder(pm.IndexDir, pm.PackagesDir, pm.DownloadDir, pm.tempDir, pm.userAgent, pm.downloaderConfig) return pmb, func() { pmb.calculateCompatibleReleases() pmb.BuildIntoExistingPackageManager(pm) @@ -188,6 +190,7 @@ func (pm *PackageManager) NewExplorer() (explorer *Explorer, release func()) { profile: pm.profile, discoveryManager: pm.discoveryManager, userAgent: pm.userAgent, + downloaderConfig: pm.downloaderConfig, }, pm.packagesLock.RUnlock } diff --git a/internal/arduino/cores/packagemanager/package_manager_test.go b/internal/arduino/cores/packagemanager/package_manager_test.go index 055a6d332d0..fb215816d0c 100644 --- a/internal/arduino/cores/packagemanager/package_manager_test.go +++ b/internal/arduino/cores/packagemanager/package_manager_test.go @@ -28,6 +28,7 @@ import ( "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" + "go.bug.st/downloader/v2" semver "go.bug.st/relaxed-semver" ) @@ -38,7 +39,7 @@ var dataDir1 = paths.New("testdata", "data_dir_1") var extraHardware = paths.New("testdata", "extra_hardware") func TestFindBoardWithFQBN(t *testing.T) { - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test") + pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -56,7 +57,7 @@ func TestFindBoardWithFQBN(t *testing.T) { func TestResolveFQBN(t *testing.T) { // Pass nil, since these paths are only used for installing - pmb := NewBuilder(nil, nil, nil, nil, "test") + pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) // Hardware from main packages directory pmb.LoadHardwareFromDirectory(dataDir1.Join("packages")) // This contains the arduino:avr core @@ -341,7 +342,7 @@ func TestResolveFQBN(t *testing.T) { } func TestBoardOptionsFunctions(t *testing.T) { - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test") + pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -381,7 +382,7 @@ func TestBoardOptionsFunctions(t *testing.T) { } func TestBoardOrdering(t *testing.T) { - pmb := NewBuilder(dataDir1, dataDir1.Join("packages"), nil, nil, "") + pmb := NewBuilder(dataDir1, dataDir1.Join("packages"), nil, nil, "", downloader.GetDefaultConfig()) _ = pmb.LoadHardwareFromDirectories(paths.NewPathList(dataDir1.Join("packages").String())) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -432,13 +433,14 @@ func TestBoardOrdering(t *testing.T) { func TestFindToolsRequiredForBoard(t *testing.T) { t.Setenv("ARDUINO_DATA_DIR", dataDir1.String()) - configuration.Settings = configuration.Init("") + settings := configuration.Init("") pmb := NewBuilder( dataDir1, - configuration.PackagesDir(configuration.Settings), - configuration.DownloadsDir(configuration.Settings), + configuration.PackagesDir(settings), + configuration.DownloadsDir(settings), dataDir1, "test", + downloader.GetDefaultConfig(), ) loadIndex := func(addr string) { @@ -454,7 +456,7 @@ func TestFindToolsRequiredForBoard(t *testing.T) { // We ignore the errors returned since they might not be necessarily blocking // but just warnings for the user, like in the case a board is not loaded // because of malformed menus - pmb.LoadHardware() + pmb.LoadHardware(settings) pm := pmb.Build() pme, release := pm.NewExplorer() defer release() @@ -567,7 +569,7 @@ func TestFindToolsRequiredForBoard(t *testing.T) { } func TestIdentifyBoard(t *testing.T) { - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test") + pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -594,12 +596,12 @@ func TestIdentifyBoard(t *testing.T) { func TestPackageManagerClear(t *testing.T) { // Create a PackageManager and load the harware - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test") + pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() // Creates another PackageManager but don't load the hardware - emptyPmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test") + emptyPmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) emptyPm := emptyPmb.Build() // Verifies they're not equal @@ -621,7 +623,7 @@ func TestFindToolsRequiredFromPlatformRelease(t *testing.T) { require.NoError(t, err) defer fakePath.RemoveAll() - pmb := NewBuilder(fakePath, fakePath, fakePath, fakePath, "test") + pmb := NewBuilder(fakePath, fakePath, fakePath, fakePath, "test", downloader.GetDefaultConfig()) pack := pmb.GetOrCreatePackage("arduino") { @@ -742,7 +744,7 @@ func TestFindToolsRequiredFromPlatformRelease(t *testing.T) { } func TestFindPlatformReleaseDependencies(t *testing.T) { - pmb := NewBuilder(nil, nil, nil, nil, "test") + pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) pmb.LoadPackageIndexFromFile(paths.New("testdata", "package_tooltest_index.json")) pmb.calculateCompatibleReleases() pm := pmb.Build() @@ -758,7 +760,7 @@ func TestFindPlatformReleaseDependencies(t *testing.T) { func TestLegacyPackageConversionToPluggableDiscovery(t *testing.T) { // Pass nil, since these paths are only used for installing - pmb := NewBuilder(nil, nil, nil, nil, "test") + pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) // Hardware from main packages directory pmb.LoadHardwareFromDirectory(dataDir1.Join("packages")) pm := pmb.Build() @@ -828,7 +830,7 @@ func TestLegacyPackageConversionToPluggableDiscovery(t *testing.T) { func TestVariantAndCoreSelection(t *testing.T) { // Pass nil, since these paths are only used for installing - pmb := NewBuilder(nil, nil, nil, nil, "test") + pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) // Hardware from main packages directory pmb.LoadHardwareFromDirectory(dataDir1.Join("packages")) pm := pmb.Build() @@ -923,7 +925,7 @@ func TestVariantAndCoreSelection(t *testing.T) { } func TestRunScript(t *testing.T) { - pmb := NewBuilder(nil, nil, nil, nil, "test") + pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) pm := pmb.Build() pme, release := pm.NewExplorer() defer release() diff --git a/internal/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go index 2422766e899..6cd6f3578d2 100644 --- a/internal/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -32,7 +32,7 @@ import ( // LoadHardwareForProfile load the hardware platforms for the given profile. // If installMissing is true then possibly missing tools and platforms will be downloaded and installed. -func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) []error { +func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) []error { pmb.profile = p // Load required platforms @@ -40,7 +40,7 @@ func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing boo var platformReleases []*cores.PlatformRelease indexURLs := map[string]*url.URL{} for _, platformRef := range p.Platforms { - if platformRelease, err := pmb.loadProfilePlatform(platformRef, installMissing, downloadCB, taskCB); err != nil { + if platformRelease, err := pmb.loadProfilePlatform(platformRef, installMissing, downloadCB, taskCB, settings); err != nil { merr = append(merr, fmt.Errorf("%s: %w", tr("loading required platform %s", platformRef), err)) logrus.WithField("platform", platformRef).WithError(err).Debugf("Error loading platform for profile") } else { @@ -56,7 +56,7 @@ func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing boo for _, toolDep := range platformRelease.ToolDependencies { indexURL := indexURLs[toolDep.ToolPackager] - if err := pmb.loadProfileTool(toolDep, indexURL, installMissing, downloadCB, taskCB); err != nil { + if err := pmb.loadProfileTool(toolDep, indexURL, installMissing, downloadCB, taskCB, settings); err != nil { merr = append(merr, fmt.Errorf("%s: %w", tr("loading required tool %s", toolDep), err)) logrus.WithField("tool", toolDep).WithField("index_url", indexURL).WithError(err).Debugf("Error loading tool for profile") } else { @@ -68,13 +68,13 @@ func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing boo return merr } -func (pmb *Builder) loadProfilePlatform(platformRef *sketch.ProfilePlatformReference, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (*cores.PlatformRelease, error) { +func (pmb *Builder) loadProfilePlatform(platformRef *sketch.ProfilePlatformReference, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) (*cores.PlatformRelease, error) { targetPackage := pmb.packages.GetOrCreatePackage(platformRef.Packager) platform := targetPackage.GetOrCreatePlatform(platformRef.Architecture) release := platform.GetOrCreateRelease(platformRef.Version) uid := platformRef.InternalUniqueIdentifier() - destDir := configuration.ProfilesCacheDir(configuration.Settings).Join(uid) + destDir := configuration.ProfilesCacheDir(settings).Join(uid) if !destDir.IsDir() && installMissing { // Try installing the missing platform if err := pmb.installMissingProfilePlatform(platformRef, destDir, downloadCB, taskCB); err != nil { @@ -91,7 +91,7 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla if err != nil { return fmt.Errorf("installing missing platform: could not create temp dir %s", err) } - tmpPmb := NewBuilder(tmp, tmp, pmb.DownloadDir, tmp, pmb.userAgent) + tmpPmb := NewBuilder(tmp, tmp, pmb.DownloadDir, tmp, pmb.userAgent, pmb.downloaderConfig) defer tmp.RemoveAll() // Download the main index and parse it @@ -103,7 +103,7 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla } for _, indexURL := range indexesToDownload { indexResource := resources.IndexResource{URL: indexURL} - if err := indexResource.Download(tmpPmb.IndexDir, downloadCB); err != nil { + if err := indexResource.Download(tmpPmb.IndexDir, downloadCB, pmb.downloaderConfig); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading %s", indexURL)}) return &cmderrors.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} } @@ -121,7 +121,7 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla tmpPme, tmpRelease := tmpPm.NewExplorer() defer tmpRelease() - if err := tmpPme.DownloadPlatformRelease(tmpPlatformRelease, nil, downloadCB); err != nil { + if err := tmpPme.DownloadPlatformRelease(tmpPlatformRelease, downloadCB); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading platform %s", tmpPlatformRelease)}) return &cmderrors.FailedInstallError{Message: tr("Error downloading platform %s", tmpPlatformRelease), Cause: err} } @@ -137,12 +137,12 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla return nil } -func (pmb *Builder) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url.URL, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func (pmb *Builder) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url.URL, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) error { targetPackage := pmb.packages.GetOrCreatePackage(toolRef.ToolPackager) tool := targetPackage.GetOrCreateTool(toolRef.ToolName) uid := toolRef.InternalUniqueIdentifier(indexURL) - destDir := configuration.ProfilesCacheDir(configuration.Settings).Join(uid) + destDir := configuration.ProfilesCacheDir(settings).Join(uid) if !destDir.IsDir() && installMissing { // Try installing the missing tool @@ -172,7 +172,7 @@ func (pmb *Builder) installMissingProfileTool(toolRelease *cores.ToolRelease, de return &cmderrors.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not available for this operating system", toolRelease))} } taskCB(&rpc.TaskProgress{Name: tr("Downloading tool %s", toolRelease)}) - if err := toolResource.Download(pmb.DownloadDir, nil, toolRelease.String(), downloadCB, ""); err != nil { + if err := toolResource.Download(pmb.DownloadDir, pmb.downloaderConfig, toolRelease.String(), downloadCB, ""); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading tool %s", toolRelease)}) return &cmderrors.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} } diff --git a/internal/arduino/httpclient/httpclient.go b/internal/arduino/httpclient/httpclient.go index ec4b4acc4a6..0e904dddf8f 100644 --- a/internal/arduino/httpclient/httpclient.go +++ b/internal/arduino/httpclient/httpclient.go @@ -16,12 +16,9 @@ package httpclient import ( - "net/http" - "net/url" "time" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -34,7 +31,7 @@ var tr = i18n.Tr // DownloadFile downloads a file from a URL into the specified path. An optional config and options may be passed (or nil to use the defaults). // A DownloadProgressCB callback function must be passed to monitor download progress. // If a not empty queryParameter is passed, it is appended to the URL for analysis purposes. -func DownloadFile(path *paths.Path, URL string, queryParameter string, label string, downloadCB rpc.DownloadProgressCB, config *downloader.Config, options ...downloader.DownloadOptions) (returnedError error) { +func DownloadFile(path *paths.Path, URL string, queryParameter string, label string, downloadCB rpc.DownloadProgressCB, config downloader.Config, options ...downloader.DownloadOptions) (returnedError error) { if queryParameter != "" { URL = URL + "?query=" + queryParameter } @@ -48,15 +45,7 @@ func DownloadFile(path *paths.Path, URL string, queryParameter string, label str } }() - if config == nil { - c, err := GetDownloaderConfig() - if err != nil { - return err - } - config = c - } - - d, err := downloader.DownloadWithConfig(path.String(), URL, *config, options...) + d, err := downloader.DownloadWithConfig(path.String(), URL, config, options...) if err != nil { return err } @@ -76,52 +65,3 @@ func DownloadFile(path *paths.Path, URL string, queryParameter string, label str return nil } - -// Config is the configuration of the http client -type Config struct { - UserAgent string - Proxy *url.URL -} - -// New returns a default http client for use in the arduino-cli -func New() (*http.Client, error) { - userAgent := configuration.UserAgent(configuration.Settings) - proxy, err := configuration.NetworkProxy(configuration.Settings) - if err != nil { - return nil, err - } - return NewWithConfig(&Config{UserAgent: userAgent, Proxy: proxy}), nil -} - -// NewWithConfig creates a http client for use in the arduino-cli, with a given configuration -func NewWithConfig(config *Config) *http.Client { - return &http.Client{ - Transport: &httpClientRoundTripper{ - transport: &http.Transport{ - Proxy: http.ProxyURL(config.Proxy), - }, - userAgent: config.UserAgent, - }, - } -} - -// GetDownloaderConfig returns the downloader configuration based on current settings. -func GetDownloaderConfig() (*downloader.Config, error) { - httpClient, err := New() - if err != nil { - return nil, &cmderrors.InvalidArgumentError{Message: tr("Could not connect via HTTP"), Cause: err} - } - return &downloader.Config{ - HttpClient: *httpClient, - }, nil -} - -type httpClientRoundTripper struct { - transport http.RoundTripper - userAgent string -} - -func (h *httpClientRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - req.Header.Add("User-Agent", h.userAgent) - return h.transport.RoundTrip(req) -} diff --git a/internal/arduino/resources/download.go b/internal/arduino/resources/download.go index 4f1df1ad5b3..19b37df48ac 100644 --- a/internal/arduino/resources/download.go +++ b/internal/arduino/resources/download.go @@ -28,7 +28,7 @@ import ( // Download performs a download loop using the provided downloader.Config. // Messages are passed back to the DownloadProgressCB using label as text for the File field. // queryParameter is passed for analysis purposes. -func (r *DownloadResource) Download(downloadDir *paths.Path, config *downloader.Config, label string, downloadCB rpc.DownloadProgressCB, queryParameter string) error { +func (r *DownloadResource) Download(downloadDir *paths.Path, config downloader.Config, label string, downloadCB rpc.DownloadProgressCB, queryParameter string) error { path, err := r.ArchivePath(downloadDir) if err != nil { return fmt.Errorf(tr("getting archive path: %s"), err) diff --git a/internal/arduino/resources/helpers_test.go b/internal/arduino/resources/helpers_test.go index e56747d8b40..72c595f6c89 100644 --- a/internal/arduino/resources/helpers_test.go +++ b/internal/arduino/resources/helpers_test.go @@ -22,11 +22,10 @@ import ( "strings" "testing" - "github.com/arduino/arduino-cli/internal/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" - "go.bug.st/downloader/v2" ) type EchoHandler struct{} @@ -37,8 +36,7 @@ func (h *EchoHandler) ServeHTTP(writer http.ResponseWriter, request *http.Reques } func TestDownloadApplyUserAgentHeaderUsingConfig(t *testing.T) { - goldUserAgentValue := "arduino-cli/0.0.0-test.preview (amd64; linux; go1.12.4) Commit:deadbeef/Build:2019-06-12 11:11:11.111" - goldUserAgentString := "User-Agent: " + goldUserAgentValue + goldUserAgentValue := "arduino-cli/0.0.0-test.preview" tmp, err := paths.MkTempDir("", "") require.NoError(t, err) @@ -54,9 +52,11 @@ func TestDownloadApplyUserAgentHeaderUsingConfig(t *testing.T) { URL: srv.URL, } - httpClient := httpclient.NewWithConfig(&httpclient.Config{UserAgent: goldUserAgentValue}) - - err = r.Download(tmp, &downloader.Config{HttpClient: *httpClient}, "", func(progress *rpc.DownloadProgress) {}, "") + settings := configuration.Init("") + settings.Set("network.user_agent_ext", goldUserAgentValue) + config, err := settings.DownloaderConfig() + require.NoError(t, err) + err = r.Download(tmp, config, "", func(progress *rpc.DownloadProgress) {}, "") require.NoError(t, err) // leverage the download helper to download the echo for the request made by the downloader itself @@ -71,12 +71,11 @@ func TestDownloadApplyUserAgentHeaderUsingConfig(t *testing.T) { require.NoError(t, err) requestLines := strings.Split(string(b), "\r\n") - userAgentHeaderString := "" + userAgentHeader := "" for _, line := range requestLines { if strings.Contains(line, "User-Agent: ") { - userAgentHeaderString = line + userAgentHeader = line } } - require.Equal(t, goldUserAgentString, userAgentHeaderString) - + require.Contains(t, userAgentHeader, goldUserAgentValue) } diff --git a/internal/arduino/resources/index.go b/internal/arduino/resources/index.go index 4740c6f12f0..fb05f55d776 100644 --- a/internal/arduino/resources/index.go +++ b/internal/arduino/resources/index.go @@ -58,7 +58,7 @@ func (res *IndexResource) IndexFileName() (string, error) { // Download will download the index and possibly check the signature using the Arduino's public key. // If the file is in .gz format it will be unpacked first. -func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadProgressCB) error { +func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadProgressCB, config downloader.Config) error { // Create destination directory if err := destDir.MkdirAll(); err != nil { return &cmderrors.PermissionDeniedError{Message: tr("Can't create data directory %s", destDir), Cause: err} @@ -78,7 +78,7 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP return err } tmpIndexPath := tmp.Join(downloadFileName) - if err := httpclient.DownloadFile(tmpIndexPath, res.URL.String(), "", tr("Downloading index: %s", downloadFileName), downloadCB, nil, downloader.NoResume); err != nil { + if err := httpclient.DownloadFile(tmpIndexPath, res.URL.String(), "", tr("Downloading index: %s", downloadFileName), downloadCB, config, downloader.NoResume); err != nil { return &cmderrors.FailedDownloadError{Message: tr("Error downloading index '%s'", res.URL), Cause: err} } @@ -133,7 +133,7 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP // Download signature signaturePath = destDir.Join(signatureFileName) tmpSignaturePath = tmp.Join(signatureFileName) - if err := httpclient.DownloadFile(tmpSignaturePath, res.SignatureURL.String(), "", tr("Downloading index signature: %s", signatureFileName), downloadCB, nil, downloader.NoResume); err != nil { + if err := httpclient.DownloadFile(tmpSignaturePath, res.SignatureURL.String(), "", tr("Downloading index signature: %s", signatureFileName), downloadCB, config, downloader.NoResume); err != nil { return &cmderrors.FailedDownloadError{Message: tr("Error downloading index signature '%s'", res.SignatureURL), Cause: err} } diff --git a/internal/arduino/resources/resources_test.go b/internal/arduino/resources/resources_test.go index 9cf8ae54509..ee987ddcea6 100644 --- a/internal/arduino/resources/resources_test.go +++ b/internal/arduino/resources/resources_test.go @@ -49,7 +49,7 @@ func TestDownloadAndChecksums(t *testing.T) { require.NoError(t, err) downloadAndTestChecksum := func() { - err := r.Download(tmp, &downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") + err := r.Download(tmp, downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") require.NoError(t, err) data, err := testFile.ReadFile() @@ -63,7 +63,7 @@ func TestDownloadAndChecksums(t *testing.T) { downloadAndTestChecksum() // Download with cached file - err = r.Download(tmp, &downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") + err = r.Download(tmp, downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") require.NoError(t, err) // Download if cached file has data in excess (redownload) @@ -132,7 +132,7 @@ func TestIndexDownloadAndSignatureWithinArchive(t *testing.T) { destDir, err := paths.MkTempDir("", "") require.NoError(t, err) defer destDir.RemoveAll() - err = idxResource.Download(destDir, func(curr *rpc.DownloadProgress) {}) + err = idxResource.Download(destDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) require.NoError(t, err) require.True(t, destDir.Join("package_index.json").Exist()) require.True(t, destDir.Join("package_index.json.sig").Exist()) @@ -143,7 +143,7 @@ func TestIndexDownloadAndSignatureWithinArchive(t *testing.T) { invDestDir, err := paths.MkTempDir("", "") require.NoError(t, err) defer invDestDir.RemoveAll() - err = invIdxResource.Download(invDestDir, func(curr *rpc.DownloadProgress) {}) + err = invIdxResource.Download(invDestDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) require.Error(t, err) require.Contains(t, err.Error(), "invalid signature") require.False(t, invDestDir.Join("package_index.json").Exist()) diff --git a/internal/cli/arguments/reference_test.go b/internal/cli/arguments/reference_test.go index b4176dc4e5e..f91109f8de6 100644 --- a/internal/cli/arguments/reference_test.go +++ b/internal/cli/arguments/reference_test.go @@ -48,10 +48,6 @@ var badCores = []struct { {"", nil}, } -func init() { - configuration.Settings = configuration.Init("") -} - func TestArgsStringify(t *testing.T) { for _, core := range goodCores { require.Equal(t, core.in, core.expected.String()) @@ -59,7 +55,7 @@ func TestArgsStringify(t *testing.T) { } func TestParseReferenceCores(t *testing.T) { - srv := commands.NewArduinoCoreServer("") + srv := commands.NewArduinoCoreServer("", configuration.Init("")) ctx := context.Background() for _, tt := range goodCores { actual, err := arguments.ParseReference(ctx, srv, tt.in) @@ -80,7 +76,7 @@ func TestParseArgs(t *testing.T) { input = append(input, tt.in) } - srv := commands.NewArduinoCoreServer("") + srv := commands.NewArduinoCoreServer("", configuration.Init("")) refs, err := arguments.ParseReferences(context.Background(), srv, input) assert.Nil(t, err) assert.Equal(t, len(goodCores), len(refs)) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index d2bb82305f6..ef6c54e806e 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -63,7 +63,7 @@ var ( ) // NewCommand creates a new ArduinoCli command root -func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { cobra.AddTemplateFunc("tr", i18n.Tr) var updaterMessageChan chan *semver.Version @@ -79,7 +79,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { outputFormat = "json" } - preRun(cmd, args) + preRun(cmd, defaultSettings) if cmd.Name() != "version" { updaterMessageChan = make(chan *semver.Version) @@ -115,13 +115,13 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.AddCommand(board.NewCommand(srv)) cmd.AddCommand(cache.NewCommand(srv)) - cmd.AddCommand(compile.NewCommand(srv)) + cmd.AddCommand(compile.NewCommand(srv, defaultSettings)) cmd.AddCommand(completion.NewCommand()) - cmd.AddCommand(config.NewCommand()) + cmd.AddCommand(config.NewCommand(srv, defaultSettings)) cmd.AddCommand(core.NewCommand(srv)) - cmd.AddCommand(daemon.NewCommand()) + cmd.AddCommand(daemon.NewCommand(srv, defaultSettings)) cmd.AddCommand(generatedocs.NewCommand()) - cmd.AddCommand(lib.NewCommand(srv)) + cmd.AddCommand(lib.NewCommand(srv, defaultSettings)) cmd.AddCommand(monitor.NewCommand(srv)) cmd.AddCommand(outdated.NewCommand(srv)) cmd.AddCommand(sketch.NewCommand(srv)) @@ -156,7 +156,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.PersistentFlags().StringVar(&configFile, "config-file", "", tr("The custom config file (if not specified the default will be used).")) cmd.PersistentFlags().StringSlice("additional-urls", []string{}, tr("Comma-separated list of additional URLs for the Boards Manager.")) cmd.PersistentFlags().Bool("no-color", false, "Disable colored output.") - configuration.BindFlags(cmd, configuration.Settings) + configuration.BindFlags(cmd, defaultSettings) return cmd } @@ -177,17 +177,17 @@ func toLogLevel(s string) (t logrus.Level, found bool) { return } -func preRun(cmd *cobra.Command, args []string) { - configFile := configuration.Settings.ConfigFileUsed() +func preRun(cmd *cobra.Command, defaultSettings *configuration.Settings) { + configFile := defaultSettings.ConfigFileUsed() // initialize inventory - err := inventory.Init(configuration.DataDir(configuration.Settings).String()) + err := inventory.Init(configuration.DataDir(defaultSettings).String()) if err != nil { feedback.Fatal(fmt.Sprintf("Error: %v", err), feedback.ErrInitializingInventory) } // https://no-color.org/ - color.NoColor = configuration.Settings.GetBool("output.no_color") || os.Getenv("NO_COLOR") != "" + color.NoColor = defaultSettings.GetBool("output.no_color") || os.Getenv("NO_COLOR") != "" // Set default feedback output to colorable feedback.SetOut(colorable.NewColorableStdout()) @@ -210,13 +210,13 @@ func preRun(cmd *cobra.Command, args []string) { } // set the Logger format - logFormat := strings.ToLower(configuration.Settings.GetString("logging.format")) + logFormat := strings.ToLower(defaultSettings.GetString("logging.format")) if logFormat == "json" { logrus.SetFormatter(&logrus.JSONFormatter{}) } // should we log to file? - logFile := configuration.Settings.GetString("logging.file") + logFile := defaultSettings.GetString("logging.file") if logFile != "" { file, err := os.OpenFile(logFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { @@ -232,8 +232,8 @@ func preRun(cmd *cobra.Command, args []string) { } // configure logging filter - if lvl, found := toLogLevel(configuration.Settings.GetString("logging.level")); !found { - feedback.Fatal(tr("Invalid option for --log-level: %s", configuration.Settings.GetString("logging.level")), feedback.ErrBadArgument) + if lvl, found := toLogLevel(defaultSettings.GetString("logging.level")); !found { + feedback.Fatal(tr("Invalid option for --log-level: %s", defaultSettings.GetString("logging.level")), feedback.ErrBadArgument) } else { logrus.SetLevel(lvl) } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 219a5e0b3ea..290b5a4c649 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -77,7 +77,7 @@ var ( ) // NewCommand created a new `compile` command -func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { compileCommand := &cobra.Command{ Use: "compile", Short: tr("Compiles Arduino sketches."), @@ -133,7 +133,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { compileCommand.Flags().BoolVar(&skipLibrariesDiscovery, "skip-libraries-discovery", false, "Skip libraries discovery. This flag is provided only for use in language server and other, very specific, use cases. Do not use for normal compiles") compileCommand.Flag("skip-libraries-discovery").Hidden = true compileCommand.Flags().Int32VarP(&jobs, "jobs", "j", 0, tr("Max number of parallel compiles. If set to 0 the number of available CPUs cores will be used.")) - configuration.Settings.BindPFlag("sketch.always_export_binaries", compileCommand.Flags().Lookup("export-binaries")) + defaultSettings.BindPFlag("sketch.always_export_binaries", compileCommand.Flags().Lookup("export-binaries")) compileCommand.Flags().MarkDeprecated("build-properties", tr("please use --build-property instead.")) diff --git a/internal/cli/config/add.go b/internal/cli/config/add.go index 5018b0440de..5678e52e470 100644 --- a/internal/cli/config/add.go +++ b/internal/cli/config/add.go @@ -44,7 +44,7 @@ func uniquify[T comparable](s []T) []T { return result } -func initAddCommand() *cobra.Command { +func initAddCommand(defaultSettings *configuration.Settings) *cobra.Command { addCommand := &cobra.Command{ Use: "add", Short: tr("Adds one or more values to a setting."), @@ -53,15 +53,17 @@ func initAddCommand() *cobra.Command { " " + os.Args[0] + " config add board_manager.additional_urls https://example.com/package_example_index.json\n" + " " + os.Args[0] + " config add board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json\n", Args: cobra.MinimumNArgs(2), - Run: runAddCommand, + Run: func(cmd *cobra.Command, args []string) { + runAddCommand(args, defaultSettings) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetConfigurationKeys(), cobra.ShellCompDirectiveDefault + return GetSlicesConfigurationKeys(defaultSettings), cobra.ShellCompDirectiveDefault }, } return addCommand } -func runAddCommand(cmd *cobra.Command, args []string) { +func runAddCommand(args []string, defaultSettings *configuration.Settings) { logrus.Info("Executing `arduino-cli config add`") key := args[0] kind := validateKey(key) @@ -71,12 +73,12 @@ func runAddCommand(cmd *cobra.Command, args []string) { feedback.Fatal(msg, feedback.ErrGeneric) } - v := configuration.Settings.GetStringSlice(key) + v := defaultSettings.GetStringSlice(key) v = append(v, args[1:]...) v = uniquify(v) - configuration.Settings.Set(key, v) + defaultSettings.Set(key, v) - if err := configuration.Settings.WriteConfig(); err != nil { + if err := defaultSettings.WriteConfig(); err != nil { feedback.Fatal(tr("Can't write config file: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index c59714478d3..d8d4cbf5e46 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -21,35 +21,36 @@ import ( "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) var tr = i18n.Tr // NewCommand created a new `config` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { configCommand := &cobra.Command{ Use: "config", Short: tr("Arduino configuration commands."), Example: " " + os.Args[0] + " config init", } - configCommand.AddCommand(initAddCommand()) - configCommand.AddCommand(initDeleteCommand()) - configCommand.AddCommand(initDumpCommand()) - configCommand.AddCommand(initGetCommand()) - configCommand.AddCommand(initInitCommand()) - configCommand.AddCommand(initRemoveCommand()) - configCommand.AddCommand(initSetCommand()) + configCommand.AddCommand(initAddCommand(defaultSettings)) + configCommand.AddCommand(initDeleteCommand(srv, defaultSettings)) + configCommand.AddCommand(initDumpCommand(defaultSettings)) + configCommand.AddCommand(initGetCommand(srv, defaultSettings)) + configCommand.AddCommand(initInitCommand(defaultSettings)) + configCommand.AddCommand(initRemoveCommand(defaultSettings)) + configCommand.AddCommand(initSetCommand(defaultSettings)) return configCommand } -// GetConfigurationKeys is an helper function useful to autocomplete. +// GetSlicesConfigurationKeys is an helper function useful to autocomplete. // It returns a list of configuration keys which can be changed -func GetConfigurationKeys() []string { +func GetSlicesConfigurationKeys(settings *configuration.Settings) []string { var res []string - keys := configuration.Settings.AllKeys() + keys := settings.AllKeys() for _, key := range keys { kind, _ := typeOf(key) if kind == reflect.Slice { diff --git a/internal/cli/config/delete.go b/internal/cli/config/delete.go index e5889a12952..75b81563aed 100644 --- a/internal/cli/config/delete.go +++ b/internal/cli/config/delete.go @@ -16,9 +16,9 @@ package config import ( + "context" "os" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -26,7 +26,8 @@ import ( "github.com/spf13/cobra" ) -func initDeleteCommand() *cobra.Command { +func initDeleteCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { + configFile := defaultSettings.ConfigFileUsed() deleteCommand := &cobra.Command{ Use: "delete", Short: tr("Deletes a settings key and all its sub keys."), @@ -35,25 +36,27 @@ func initDeleteCommand() *cobra.Command { " " + os.Args[0] + " config delete board_manager\n" + " " + os.Args[0] + " config delete board_manager.additional_urls", Args: cobra.ExactArgs(1), - Run: runDeleteCommand, + Run: func(cmd *cobra.Command, args []string) { + runDeleteCommand(srv, args, configFile) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return configuration.Settings.AllKeys(), cobra.ShellCompDirectiveDefault + return defaultSettings.AllKeys(), cobra.ShellCompDirectiveDefault }, } return deleteCommand } -func runDeleteCommand(cmd *cobra.Command, args []string) { +func runDeleteCommand(srv rpc.ArduinoCoreServiceServer, args []string, configFile string) { logrus.Info("Executing `arduino-cli config delete`") - toDelete := args[0] + ctx := context.Background() - svc := commands.NewArduinoCoreServer("") - _, err := svc.SettingsDelete(cmd.Context(), &rpc.SettingsDeleteRequest{Key: toDelete}) + toDelete := args[0] + _, err := srv.SettingsDelete(ctx, &rpc.SettingsDeleteRequest{Key: toDelete}) if err != nil { feedback.Fatal(tr("Cannot delete the key %[1]s: %[2]v", toDelete, err), feedback.ErrGeneric) } - _, err = svc.SettingsWrite(cmd.Context(), &rpc.SettingsWriteRequest{FilePath: configuration.Settings.ConfigFileUsed()}) + _, err = srv.SettingsWrite(ctx, &rpc.SettingsWriteRequest{FilePath: configFile}) if err != nil { - feedback.Fatal(tr("Cannot write the file %[1]s: %[2]v", configuration.Settings.ConfigFileUsed(), err), feedback.ErrGeneric) + feedback.Fatal(tr("Cannot write the file %[1]s: %[2]v", configFile, err), feedback.ErrGeneric) } } diff --git a/internal/cli/config/dump.go b/internal/cli/config/dump.go index 9e10bf34f9b..695e5b11ce8 100644 --- a/internal/cli/config/dump.go +++ b/internal/cli/config/dump.go @@ -25,23 +25,21 @@ import ( "gopkg.in/yaml.v3" ) -func initDumpCommand() *cobra.Command { +func initDumpCommand(defaultSettings *configuration.Settings) *cobra.Command { var dumpCommand = &cobra.Command{ Use: "dump", Short: tr("Prints the current configuration"), Long: tr("Prints the current configuration."), Example: " " + os.Args[0] + " config dump", Args: cobra.NoArgs, - Run: runDumpCommand, + Run: func(cmd *cobra.Command, args []string) { + logrus.Info("Executing `arduino-cli config dump`") + feedback.PrintResult(dumpResult{defaultSettings.AllSettings()}) + }, } return dumpCommand } -func runDumpCommand(cmd *cobra.Command, args []string) { - logrus.Info("Executing `arduino-cli config dump`") - feedback.PrintResult(dumpResult{configuration.Settings.AllSettings()}) -} - // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type dumpResult struct { diff --git a/internal/cli/config/get.go b/internal/cli/config/get.go index 68b8afd0d4a..dec61be03a7 100644 --- a/internal/cli/config/get.go +++ b/internal/cli/config/get.go @@ -16,11 +16,11 @@ package config import ( + "context" "encoding/json" "fmt" "os" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -29,7 +29,7 @@ import ( "gopkg.in/yaml.v3" ) -func initGetCommand() *cobra.Command { +func initGetCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { getCommand := &cobra.Command{ Use: "get", Short: tr("Gets a settings key value."), @@ -39,20 +39,22 @@ func initGetCommand() *cobra.Command { " " + os.Args[0] + " config get daemon.port\n" + " " + os.Args[0] + " config get board_manager.additional_urls", Args: cobra.MinimumNArgs(1), - Run: runGetCommand, + Run: func(cmd *cobra.Command, args []string) { + runGetCommand(srv, args) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return configuration.Settings.AllKeys(), cobra.ShellCompDirectiveDefault + return defaultSettings.AllKeys(), cobra.ShellCompDirectiveDefault }, } return getCommand } -func runGetCommand(cmd *cobra.Command, args []string) { +func runGetCommand(srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli config get`") + ctx := context.Background() - svc := commands.NewArduinoCoreServer("") for _, toGet := range args { - resp, err := svc.SettingsGetValue(cmd.Context(), &rpc.SettingsGetValueRequest{Key: toGet}) + resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: toGet}) if err != nil { feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", toGet, err), feedback.ErrGeneric) } diff --git a/internal/cli/config/init.go b/internal/cli/config/init.go index afb05f74279..5bbc753b153 100644 --- a/internal/cli/config/init.go +++ b/internal/cli/config/init.go @@ -25,7 +25,6 @@ import ( "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "github.com/spf13/viper" ) var ( @@ -36,7 +35,7 @@ var ( const defaultFileName = "arduino-cli.yaml" -func initInitCommand() *cobra.Command { +func initInitCommand(defaultSettings *configuration.Settings) *cobra.Command { initCommand := &cobra.Command{ Use: "init", Short: tr("Writes current configuration to a configuration file."), @@ -50,7 +49,9 @@ func initInitCommand() *cobra.Command { PreRun: func(cmd *cobra.Command, args []string) { arguments.CheckFlagsConflicts(cmd, "dest-file", "dest-dir") }, - Run: runInitCommand, + Run: func(cmd *cobra.Command, args []string) { + runInitCommand(cmd, defaultSettings) + }, } initCommand.Flags().StringVar(&destDir, "dest-dir", "", tr("Sets where to save the configuration file.")) initCommand.Flags().StringVar(&destFile, "dest-file", "", tr("Sets where to save the configuration file.")) @@ -58,11 +59,11 @@ func initInitCommand() *cobra.Command { return initCommand } -func runInitCommand(cmd *cobra.Command, args []string) { +func runInitCommand(cmd *cobra.Command, defaultSettings *configuration.Settings) { logrus.Info("Executing `arduino-cli config init`") var configFileAbsPath *paths.Path - var absPath *paths.Path + var configFileDir *paths.Path var err error switch { @@ -72,30 +73,29 @@ func runInitCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) } - absPath = configFileAbsPath.Parent() + configFileDir = configFileAbsPath.Parent() case destDir == "": - destDir = configuration.Settings.GetString("directories.Data") + destDir = defaultSettings.GetString("directories.Data") fallthrough default: - absPath, err = paths.New(destDir).Abs() + configFileDir, err = paths.New(destDir).Abs() if err != nil { feedback.Fatal(tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) } - configFileAbsPath = absPath.Join(defaultFileName) + configFileAbsPath = configFileDir.Join(defaultFileName) } if !overwrite && configFileAbsPath.Exist() { feedback.Fatal(tr("Config file already exists, use --overwrite to discard the existing one."), feedback.ErrGeneric) } - logrus.Infof("Writing config file to: %s", absPath) + logrus.Infof("Writing config file to: %s", configFileDir) - if err := absPath.MkdirAll(); err != nil { + if err := configFileDir.MkdirAll(); err != nil { feedback.Fatal(tr("Cannot create config file directory: %v", err), feedback.ErrGeneric) } - newSettings := viper.New() - configuration.SetDefaults(newSettings) + newSettings := configuration.NewSettings() configuration.BindFlags(cmd, newSettings) for _, url := range newSettings.GetStringSlice("board_manager.additional_urls") { diff --git a/internal/cli/config/remove.go b/internal/cli/config/remove.go index d7870172b0c..efbd416913a 100644 --- a/internal/cli/config/remove.go +++ b/internal/cli/config/remove.go @@ -25,7 +25,7 @@ import ( "github.com/spf13/cobra" ) -func initRemoveCommand() *cobra.Command { +func initRemoveCommand(defaultSettings *configuration.Settings) *cobra.Command { removeCommand := &cobra.Command{ Use: "remove", Short: tr("Removes one or more values from a setting."), @@ -34,15 +34,17 @@ func initRemoveCommand() *cobra.Command { " " + os.Args[0] + " config remove board_manager.additional_urls https://example.com/package_example_index.json\n" + " " + os.Args[0] + " config remove board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json\n", Args: cobra.MinimumNArgs(2), - Run: runRemoveCommand, + Run: func(cmd *cobra.Command, args []string) { + runRemoveCommand(args, defaultSettings) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetConfigurationKeys(), cobra.ShellCompDirectiveDefault + return GetSlicesConfigurationKeys(defaultSettings), cobra.ShellCompDirectiveDefault }, } return removeCommand } -func runRemoveCommand(cmd *cobra.Command, args []string) { +func runRemoveCommand(args []string, defaultSettings *configuration.Settings) { logrus.Info("Executing `arduino-cli config remove`") key := args[0] kind := validateKey(key) @@ -53,7 +55,7 @@ func runRemoveCommand(cmd *cobra.Command, args []string) { } mappedValues := map[string]bool{} - for _, v := range configuration.Settings.GetStringSlice(key) { + for _, v := range defaultSettings.GetStringSlice(key) { mappedValues[v] = true } for _, arg := range args[1:] { @@ -63,9 +65,9 @@ func runRemoveCommand(cmd *cobra.Command, args []string) { for k := range mappedValues { values = append(values, k) } - configuration.Settings.Set(key, values) + defaultSettings.Set(key, values) - if err := configuration.Settings.WriteConfig(); err != nil { + if err := defaultSettings.WriteConfig(); err != nil { feedback.Fatal(tr("Can't write config file: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/config/set.go b/internal/cli/config/set.go index 8fd002277da..10fb9e6f239 100644 --- a/internal/cli/config/set.go +++ b/internal/cli/config/set.go @@ -26,7 +26,7 @@ import ( "github.com/spf13/cobra" ) -func initSetCommand() *cobra.Command { +func initSetCommand(defaultSettings *configuration.Settings) *cobra.Command { setCommand := &cobra.Command{ Use: "set", Short: tr("Sets a setting value."), @@ -37,15 +37,17 @@ func initSetCommand() *cobra.Command { " " + os.Args[0] + " config set sketch.always_export_binaries true\n" + " " + os.Args[0] + " config set board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json", Args: cobra.MinimumNArgs(2), - Run: runSetCommand, + Run: func(cmd *cobra.Command, args []string) { + runSetCommand(defaultSettings, args) + }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return configuration.Settings.AllKeys(), cobra.ShellCompDirectiveDefault + return defaultSettings.AllKeys(), cobra.ShellCompDirectiveDefault }, } return setCommand } -func runSetCommand(cmd *cobra.Command, args []string) { +func runSetCommand(defaultSettings *configuration.Settings, args []string) { logrus.Info("Executing `arduino-cli config set`") key := args[0] kind := validateKey(key) @@ -68,9 +70,9 @@ func runSetCommand(cmd *cobra.Command, args []string) { } } - configuration.Settings.Set(key, value) + defaultSettings.Set(key, value) - if err := configuration.Settings.WriteConfig(); err != nil { + if err := defaultSettings.WriteConfig(); err != nil { feedback.Fatal(tr("Writing config file: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index e251b80c514..996a1b1cbfc 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -29,18 +29,26 @@ import ( "github.com/spf13/viper" ) -// Settings is a global instance of viper holding configurations for the CLI and the gRPC consumers -var Settings *viper.Viper - var tr = i18n.Tr +// Settings contains the configuration of the Arduino CLI core service +type Settings struct { + *viper.Viper +} + +// NewSettings creates a new instance of Settings with the default values set +func NewSettings() *Settings { + res := &Settings{viper.New()} + SetDefaults(res) + return res +} + // Init initialize defaults and read the configuration file. // Please note the logging system hasn't been configured yet, // so logging shouldn't be used here. -func Init(configFile string) *viper.Viper { +func Init(configFile string) *Settings { // Create a new viper instance with default values for all the settings - settings := viper.New() - SetDefaults(settings) + settings := NewSettings() // Set config name and config path if configFilePath := paths.New(configFile); configFilePath != nil { @@ -70,7 +78,7 @@ func Init(configFile string) *viper.Viper { } // BindFlags creates all the flags binding between the cobra Command and the instance of viper -func BindFlags(cmd *cobra.Command, settings *viper.Viper) { +func BindFlags(cmd *cobra.Command, settings *Settings) { settings.BindPFlag("logging.level", cmd.Flag("log-level")) settings.BindPFlag("logging.file", cmd.Flag("log-file")) settings.BindPFlag("logging.format", cmd.Flag("log-format")) diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index be1a0088a62..c983310a746 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -19,12 +19,10 @@ import ( "path/filepath" "strings" "time" - - "github.com/spf13/viper" ) // SetDefaults sets the default values for certain keys -func SetDefaults(settings *viper.Viper) { +func SetDefaults(settings *Settings) { // logging settings.SetDefault("logging.level", "info") settings.SetDefault("logging.format", "text") diff --git a/internal/cli/configuration/directories.go b/internal/cli/configuration/directories.go index 27669e9017c..0fb9a9d19e5 100644 --- a/internal/cli/configuration/directories.go +++ b/internal/cli/configuration/directories.go @@ -17,15 +17,14 @@ package configuration import ( "github.com/arduino/go-paths-helper" - "github.com/spf13/viper" ) // HardwareDirectories returns all paths that may contains hardware packages. -func HardwareDirectories(settings *viper.Viper) paths.PathList { +func HardwareDirectories(settings *Settings) paths.PathList { res := paths.PathList{} if settings.IsSet("directories.Data") { - packagesDir := PackagesDir(Settings) + packagesDir := PackagesDir(settings) if packagesDir.IsDir() { res.Add(packagesDir) } @@ -44,34 +43,34 @@ func HardwareDirectories(settings *viper.Viper) paths.PathList { // IDEBuiltinLibrariesDir returns the IDE-bundled libraries path. Usually // this directory is present in the Arduino IDE. -func IDEBuiltinLibrariesDir(settings *viper.Viper) *paths.Path { - return paths.New(Settings.GetString("directories.builtin.Libraries")) +func IDEBuiltinLibrariesDir(settings *Settings) *paths.Path { + return paths.New(settings.GetString("directories.builtin.Libraries")) } // LibrariesDir returns the full path to the user directory containing // custom libraries -func LibrariesDir(settings *viper.Viper) *paths.Path { +func LibrariesDir(settings *Settings) *paths.Path { return paths.New(settings.GetString("directories.User")).Join("libraries") } // PackagesDir returns the full path to the packages folder -func PackagesDir(settings *viper.Viper) *paths.Path { +func PackagesDir(settings *Settings) *paths.Path { return DataDir(settings).Join("packages") } // ProfilesCacheDir returns the full path to the profiles cache directory // (it contains all the platforms and libraries used to compile a sketch // using profiles) -func ProfilesCacheDir(settings *viper.Viper) *paths.Path { +func ProfilesCacheDir(settings *Settings) *paths.Path { return DataDir(settings).Join("internal") } // DataDir returns the full path to the data directory -func DataDir(settings *viper.Viper) *paths.Path { +func DataDir(settings *Settings) *paths.Path { return paths.New(settings.GetString("directories.Data")) } // DownloadsDir returns the full path to the download cache directory -func DownloadsDir(settings *viper.Viper) *paths.Path { +func DownloadsDir(settings *Settings) *paths.Path { return paths.New(settings.GetString("directories.Downloads")) } diff --git a/internal/cli/configuration/network.go b/internal/cli/configuration/network.go index 793c67de155..c88b974c10d 100644 --- a/internal/cli/configuration/network.go +++ b/internal/cli/configuration/network.go @@ -17,16 +17,18 @@ package configuration import ( "fmt" + "net/http" "net/url" "os" "runtime" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/version" - "github.com/spf13/viper" + "go.bug.st/downloader/v2" ) // UserAgent returns the user agent (mainly used by HTTP clients) -func UserAgent(settings *viper.Viper) string { +func UserAgent(settings *Settings) string { subComponent := "" if settings != nil { subComponent = settings.GetString("network.user_agent_ext") @@ -50,7 +52,7 @@ func UserAgent(settings *viper.Viper) string { } // NetworkProxy returns the proxy configuration (mainly used by HTTP clients) -func NetworkProxy(settings *viper.Viper) (*url.URL, error) { +func NetworkProxy(settings *Settings) (*url.URL, error) { if settings == nil || !settings.IsSet("network.proxy") { return nil, nil } @@ -65,3 +67,42 @@ func NetworkProxy(settings *viper.Viper) (*url.URL, error) { return proxy, nil } } + +// NewHttpClient returns a new http client for use in the arduino-cli +func (settings *Settings) NewHttpClient() (*http.Client, error) { + proxy, err := NetworkProxy(settings) + if err != nil { + return nil, err + } + return &http.Client{ + Transport: &httpClientRoundTripper{ + transport: &http.Transport{ + Proxy: http.ProxyURL(proxy), + }, + userAgent: UserAgent(settings), + }, + }, nil +} + +type httpClientRoundTripper struct { + transport http.RoundTripper + userAgent string +} + +func (h *httpClientRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { + req.Header.Add("User-Agent", h.userAgent) + return h.transport.RoundTrip(req) +} + +// DownloaderConfig returns the downloader configuration based on current settings. +func (settings *Settings) DownloaderConfig() (downloader.Config, error) { + httpClient, err := settings.NewHttpClient() + if err != nil { + return downloader.Config{}, &cmderrors.InvalidArgumentError{ + Message: tr("Could not connect via HTTP"), + Cause: err} + } + return downloader.Config{ + HttpClient: *httpClient, + }, nil +} diff --git a/internal/arduino/httpclient/httpclient_test.go b/internal/cli/configuration/network_test.go similarity index 79% rename from internal/arduino/httpclient/httpclient_test.go rename to internal/cli/configuration/network_test.go index a2dbc61c291..6d6218c8f5d 100644 --- a/internal/arduino/httpclient/httpclient_test.go +++ b/internal/cli/configuration/network_test.go @@ -13,16 +13,16 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package httpclient +package configuration_test import ( "fmt" "io" "net/http" "net/http/httptest" - "net/url" "testing" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/stretchr/testify/require" ) @@ -32,9 +32,10 @@ func TestUserAgentHeader(t *testing.T) { })) defer ts.Close() - client := NewWithConfig(&Config{ - UserAgent: "test-user-agent", - }) + settings := configuration.Init("") + settings.Set("network.user_agent_ext", "test-user-agent") + client, err := settings.NewHttpClient() + require.NoError(t, err) request, err := http.NewRequest("GET", ts.URL, nil) require.NoError(t, err) @@ -45,7 +46,7 @@ func TestUserAgentHeader(t *testing.T) { b, err := io.ReadAll(response.Body) require.NoError(t, err) - require.Equal(t, "test-user-agent", string(b)) + require.Contains(t, string(b), "test-user-agent") } func TestProxy(t *testing.T) { @@ -54,13 +55,11 @@ func TestProxy(t *testing.T) { })) defer ts.Close() - proxyURL, err := url.Parse(ts.URL) + settings := configuration.Init("") + settings.Set("network.proxy", ts.URL) + client, err := settings.NewHttpClient() require.NoError(t, err) - client := NewWithConfig(&Config{ - Proxy: proxyURL, - }) - request, err := http.NewRequest("GET", "http://arduino.cc", nil) require.NoError(t, err) diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 2422a03c2c2..8e719400eaf 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -24,12 +24,10 @@ import ( "strings" "syscall" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" - srv_commands "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -45,17 +43,24 @@ var ( ) // NewCommand created a new `daemon` command -func NewCommand() *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { + var daemonPort string daemonCommand := &cobra.Command{ Use: "daemon", - Short: tr("Run as a daemon on port: %s", configuration.Settings.GetString("daemon.port")), - Long: tr("Running as a daemon the initialization of cores and libraries is done only once."), + Short: tr("Run the Arduino CLI as a gRPC daemon."), Example: " " + os.Args[0] + " daemon", Args: cobra.NoArgs, - Run: runDaemonCommand, + PreRun: func(cmd *cobra.Command, args []string) { + // Bundled libraries support is enabled by default when running as a daemon + defaultSettings.SetDefault( + "directories.builtin.Libraries", + configuration.GetDefaultBuiltinLibrariesDir()) + }, + Run: func(cmd *cobra.Command, args []string) { + runDaemonCommand(srv, daemonPort) + }, } - daemonCommand.PersistentFlags().String("port", "", tr("The TCP port the daemon will listen to")) - configuration.Settings.BindPFlag("daemon.port", daemonCommand.PersistentFlags().Lookup("port")) + daemonCommand.Flags().StringVar(&daemonPort, "port", defaultSettings.GetString("daemon.port"), tr("The TCP port the daemon will listen to")) daemonCommand.Flags().BoolVar(&daemonize, "daemonize", false, tr("Do not terminate daemon process if the parent process dies")) daemonCommand.Flags().BoolVar(&debug, "debug", false, tr("Enable debug logging of gRPC calls")) daemonCommand.Flags().StringVar(&debugFile, "debug-file", "", tr("Append debug logging to the specified file")) @@ -63,13 +68,9 @@ func NewCommand() *cobra.Command { return daemonCommand } -func runDaemonCommand(cmd *cobra.Command, args []string) { +func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort string) { logrus.Info("Executing `arduino-cli daemon`") - // Bundled libraries support is enabled by default when running as a daemon - configuration.Settings.SetDefault("directories.builtin.Libraries", configuration.GetDefaultBuiltinLibrariesDir()) - - port := configuration.Settings.GetString("daemon.port") gRPCOptions := []grpc.ServerOption{} if debugFile != "" { if !debug { @@ -98,43 +99,40 @@ func runDaemonCommand(cmd *cobra.Command, args []string) { ) } s := grpc.NewServer(gRPCOptions...) - // Set specific user-agent for the daemon - configuration.Settings.Set("network.user_agent_ext", "daemon") // register the commands service - srv_commands.RegisterArduinoCoreServiceServer(s, - commands.NewArduinoCoreServer(version.VersionInfo.VersionString)) + rpc.RegisterArduinoCoreServiceServer(s, srv) if !daemonize { // When parent process ends terminate also the daemon go feedback.ExitWhenParentProcessEnds() } - ip := "127.0.0.1" - lis, err := net.Listen("tcp", fmt.Sprintf("%s:%s", ip, port)) + daemonIP := "127.0.0.1" + lis, err := net.Listen("tcp", fmt.Sprintf("%s:%s", daemonIP, daemonPort)) if err != nil { // Invalid port, such as "Foo" var dnsError *net.DNSError if errors.As(err, &dnsError) { - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is unknown name.", port, dnsError.Name), feedback.ErrBadTCPPortArgument) + feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is unknown name.", daemonPort, dnsError.Name), feedback.ErrBadTCPPortArgument) } // Invalid port number, such as -1 var addrError *net.AddrError if errors.As(err, &addrError) { - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is an invalid port.", port, addrError.Addr), feedback.ErrBadTCPPortArgument) + feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is an invalid port.", daemonPort, addrError.Addr), feedback.ErrBadTCPPortArgument) } // Port is already in use var syscallErr *os.SyscallError if errors.As(err, &syscallErr) && errors.Is(syscallErr.Err, syscall.EADDRINUSE) { - feedback.Fatal(tr("Failed to listen on TCP port: %s. Address already in use.", port), feedback.ErrFailedToListenToTCPPort) + feedback.Fatal(tr("Failed to listen on TCP port: %s. Address already in use.", daemonPort), feedback.ErrFailedToListenToTCPPort) } - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v", port, err), feedback.ErrFailedToListenToTCPPort) + feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v", daemonPort, err), feedback.ErrFailedToListenToTCPPort) } // We need to retrieve the port used only if the user did not specify it // and let the OS choose it randomly, in all other cases we already know // which port is used. - if port == "0" { + if daemonPort == "0" { address := lis.Addr() split := strings.Split(address.String(), ":") @@ -142,12 +140,12 @@ func runDaemonCommand(cmd *cobra.Command, args []string) { feedback.Fatal(tr("Invalid TCP address: port is missing"), feedback.ErrBadTCPPortArgument) } - port = split[1] + daemonPort = split[1] } feedback.PrintResult(daemonResult{ - IP: ip, - Port: port, + IP: daemonIP, + Port: daemonPort, }) if err := s.Serve(lis); err != nil { diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index dce521eb6d3..d8aafc8bd1a 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -34,12 +34,13 @@ import ( semver "go.bug.st/relaxed-semver" ) -func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { +func initInstallCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { var noDeps bool var noOverwrite bool var gitURL bool var zipPath bool var useBuiltinLibrariesDir bool + enableUnsafeInstall := defaultSettings.GetBool("library.enable_unsafe_install") installCommand := &cobra.Command{ Use: fmt.Sprintf("install %s[@%s]...", tr("LIBRARY"), tr("VERSION_NUMBER")), Short: tr("Installs one or more specified libraries into the system."), @@ -52,7 +53,7 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " lib install --zip-path /path/to/WiFi101.zip /path/to/ArduinoBLE.zip\n", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runInstallCommand(srv, args, noDeps, noOverwrite, gitURL, zipPath, useBuiltinLibrariesDir) + runInstallCommand(srv, args, noDeps, noOverwrite, gitURL, zipPath, useBuiltinLibrariesDir, enableUnsafeInstall) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return arguments.GetInstallableLibs(context.Background(), srv), cobra.ShellCompDirectiveDefault @@ -66,13 +67,13 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return installCommand } -func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps bool, noOverwrite bool, gitURL bool, zipPath bool, useBuiltinLibrariesDir bool) { +func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps bool, noOverwrite bool, gitURL bool, zipPath bool, useBuiltinLibrariesDir bool, enableUnsafeInstall bool) { ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib install`") if zipPath || gitURL { - if !configuration.Settings.GetBool("library.enable_unsafe_install") { + if !enableUnsafeInstall { documentationURL := "https://arduino.github.io/arduino-cli/latest/configuration/#configuration-keys" _, err := semver.Parse(version.VersionInfo.VersionString) if err == nil { diff --git a/internal/cli/lib/lib.go b/internal/cli/lib/lib.go index deab795b9f5..d26c8678f08 100644 --- a/internal/cli/lib/lib.go +++ b/internal/cli/lib/lib.go @@ -18,6 +18,7 @@ package lib import ( "os" + "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" @@ -26,7 +27,7 @@ import ( var tr = i18n.Tr // NewCommand created a new `lib` command -func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { libCommand := &cobra.Command{ Use: "lib", Short: tr("Arduino commands about libraries."), @@ -37,7 +38,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } libCommand.AddCommand(initDownloadCommand(srv)) - libCommand.AddCommand(initInstallCommand(srv)) + libCommand.AddCommand(initInstallCommand(srv, defaultSettings)) libCommand.AddCommand(initListCommand(srv)) libCommand.AddCommand(initExamplesCommand(srv)) libCommand.AddCommand(initSearchCommand(srv)) diff --git a/internal/docsgen/main.go b/internal/docsgen/main.go index eb8903507e1..69ac4983de9 100644 --- a/internal/docsgen/main.go +++ b/internal/docsgen/main.go @@ -31,8 +31,8 @@ func main() { os.MkdirAll(os.Args[1], 0755) // Create the output folder if it doesn't already exist - configuration.Settings = configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) - cli := cli.NewCommand(nil) + settings := configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) + cli := cli.NewCommand(nil, settings) cli.DisableAutoGenTag = true // Disable addition of auto-generated date stamp err := doc.GenMarkdownTree(cli, os.Args[1]) if err != nil { diff --git a/main.go b/main.go index 8587037fbf1..2255ae626b4 100644 --- a/main.go +++ b/main.go @@ -27,12 +27,12 @@ import ( ) func main() { - configuration.Settings = configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) - i18n.Init(configuration.Settings.GetString("locale")) + defaultSettings := configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) + i18n.Init(defaultSettings.GetString("locale")) - srv := commands.NewArduinoCoreServer(version.VersionInfo.VersionString) + srv := commands.NewArduinoCoreServer(version.VersionInfo.VersionString, defaultSettings) - arduinoCmd := cli.NewCommand(srv) + arduinoCmd := cli.NewCommand(srv, defaultSettings) if err := arduinoCmd.Execute(); err != nil { feedback.FatalError(err, feedback.ErrGeneric) } From 4c50868a2ad1733a280479acb3b5f1a3f3bbccbc Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 17 Apr 2024 23:38:42 +0200 Subject: [PATCH 165/361] Implementation of Viper replacement library - Using configmap allows better handling of config types - The CLI "instances" now caches all the configuration at Create-time - Setting are now only accessible via gRPC calls - Helper methods have been implemented to access all key/value pairs --- commands/instances.go | 25 +- commands/internal/instances/instances.go | 4 +- commands/service.go | 18 +- commands/service_board_list_test.go | 24 +- commands/service_cache_clean.go | 3 +- commands/service_compile.go | 13 +- commands/service_debug_test.go | 2 +- commands/service_platform_search_test.go | 24 +- commands/service_settings.go | 279 +-- commands/service_settings_test.go | 240 ++- commands/service_sketch_load_test.go | 3 +- commands/service_sketch_new_test.go | 11 +- commands/service_upload_test.go | 2 +- .../arduino/cores/packagemanager/loader.go | 11 +- .../cores/packagemanager/loader_test.go | 2 +- .../cores/packagemanager/package_manager.go | 8 +- .../packagemanager/package_manager_test.go | 33 +- .../arduino/cores/packagemanager/profiles.go | 6 +- internal/arduino/resources/helpers_test.go | 2 +- internal/cli/arguments/reference_test.go | 5 +- internal/cli/cache/clean.go | 2 +- internal/cli/cli.go | 135 +- internal/cli/compile/compile.go | 12 +- internal/cli/config/add.go | 62 +- internal/cli/config/config.go | 60 +- internal/cli/config/delete.go | 26 +- internal/cli/config/dump.go | 46 +- internal/cli/config/get.go | 9 +- internal/cli/config/init.go | 41 +- internal/cli/config/remove.go | 43 +- internal/cli/config/set.go | 50 +- internal/cli/config/validate.go | 61 - internal/cli/configuration/board_manager.go | 23 + internal/cli/configuration/build_cache.go | 34 + internal/cli/configuration/configuration.go | 66 +- .../cli/configuration/configuration_test.go | 41 +- internal/cli/configuration/daemon.go | 23 + internal/cli/configuration/defaults.go | 65 +- internal/cli/configuration/directories.go | 56 +- internal/cli/configuration/libraries.go | 20 + internal/cli/configuration/locale.go | 20 + internal/cli/configuration/logging.go | 42 + internal/cli/configuration/network.go | 23 +- internal/cli/configuration/network_test.go | 4 +- internal/cli/configuration/output.go | 20 + internal/cli/configuration/sketch.go | 25 + internal/cli/configuration/updater.go | 23 + internal/cli/daemon/daemon.go | 41 +- internal/cli/lib/install.go | 5 +- internal/cli/lib/lib.go | 3 +- internal/cli/lib/search.go | 1 + internal/docsgen/main.go | 9 +- internal/go-configmap/cli.go | 111 ++ internal/go-configmap/configuration.go | 212 +++ internal/go-configmap/configuration_test.go | 168 ++ internal/go-configmap/json.go | 52 + internal/go-configmap/json_test.go | 48 + internal/go-configmap/types.go | 215 +++ internal/go-configmap/yaml.go | 38 + internal/go-configmap/yaml_test.go | 48 + internal/integrationtest/arduino-cli.go | 6 +- .../integrationtest/compile_1/compile_test.go | 2 +- main.go | 42 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 152 +- rpc/cc/arduino/cli/commands/v1/commands.proto | 27 +- .../cli/commands/v1/commands_grpc.pb.go | 186 +- rpc/cc/arduino/cli/commands/v1/settings.pb.go | 1615 ++++++++++++++--- rpc/cc/arduino/cli/commands/v1/settings.proto | 152 +- rpc/internal/client_example/main.go | 103 +- 69 files changed, 3724 insertions(+), 1259 deletions(-) delete mode 100644 internal/cli/config/validate.go create mode 100644 internal/cli/configuration/board_manager.go create mode 100644 internal/cli/configuration/build_cache.go create mode 100644 internal/cli/configuration/daemon.go create mode 100644 internal/cli/configuration/libraries.go create mode 100644 internal/cli/configuration/locale.go create mode 100644 internal/cli/configuration/logging.go create mode 100644 internal/cli/configuration/output.go create mode 100644 internal/cli/configuration/sketch.go create mode 100644 internal/cli/configuration/updater.go create mode 100644 internal/go-configmap/cli.go create mode 100644 internal/go-configmap/configuration.go create mode 100644 internal/go-configmap/configuration_test.go create mode 100644 internal/go-configmap/json.go create mode 100644 internal/go-configmap/json_test.go create mode 100644 internal/go-configmap/types.go create mode 100644 internal/go-configmap/yaml.go create mode 100644 internal/go-configmap/yaml_test.go diff --git a/commands/instances.go b/commands/instances.go index 7d461be1fc8..58156465322 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -36,7 +36,6 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/arduino/utils" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" @@ -72,7 +71,7 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque } // Setup downloads directory - downloadsDir := configuration.DownloadsDir(s.settings) + downloadsDir := s.settings.DownloadsDir() if downloadsDir.NotExist() { err := downloadsDir.MkdirAll() if err != nil { @@ -81,8 +80,9 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque } // Setup data directory - dataDir := configuration.DataDir(s.settings) - packagesDir := configuration.PackagesDir(s.settings) + dataDir := s.settings.DataDir() + userPackagesDir := s.settings.UserDir().Join("hardware") + packagesDir := s.settings.PackagesDir() if packagesDir.NotExist() { err := packagesDir.MkdirAll() if err != nil { @@ -94,7 +94,7 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque if err != nil { return nil, err } - inst, err := instances.Create(dataDir, packagesDir, downloadsDir, userAgent, config) + inst, err := instances.Create(dataDir, packagesDir, userPackagesDir, downloadsDir, userAgent, config) if err != nil { return nil, err } @@ -177,7 +177,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor defaultIndexURL, _ := utils.URLParse(globals.DefaultIndexURL) allPackageIndexUrls := []*url.URL{defaultIndexURL} if profile == nil { - for _, u := range s.settings.GetStringSlice("board_manager.additional_urls") { + for _, u := range s.settings.BoardManagerAdditionalUrls() { URL, err := utils.URLParse(u) if err != nil { e := &cmderrors.InitFailedError{ @@ -192,7 +192,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor } } - if err := firstUpdate(ctx, s, req.GetInstance(), configuration.DataDir(s.settings), downloadCallback, allPackageIndexUrls); err != nil { + if err := firstUpdate(ctx, s, req.GetInstance(), s.settings.DataDir(), downloadCallback, allPackageIndexUrls); err != nil { e := &cmderrors.InitFailedError{ Code: codes.InvalidArgument, Cause: err, @@ -245,7 +245,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Load Platforms if profile == nil { - for _, err := range pmb.LoadHardware(s.settings) { + for _, err := range pmb.LoadHardware() { s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.GRPCStatus()) } @@ -349,7 +349,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor if profile == nil { // Add directories of libraries bundled with IDE - if bundledLibsDir := configuration.IDEBuiltinLibrariesDir(s.settings); bundledLibsDir != nil { + if bundledLibsDir := s.settings.IDEBuiltinLibrariesDir(); bundledLibsDir != nil { lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ Path: bundledLibsDir, Location: libraries.IDEBuiltIn, @@ -358,14 +358,14 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Add libraries directory from config file lmb.AddLibrariesDir(librariesmanager.LibrariesDir{ - Path: configuration.LibrariesDir(s.settings), + Path: s.settings.LibrariesDir(), Location: libraries.User, }) } else { // Load libraries required for profile for _, libraryRef := range profile.Libraries { uid := libraryRef.InternalUniqueIdentifier() - libRoot := configuration.ProfilesCacheDir(s.settings).Join(uid) + libRoot := s.settings.ProfilesCacheDir().Join(uid) libDir := libRoot.Join(libraryRef.Library) if !libDir.IsDir() { @@ -548,7 +548,7 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream Message: &rpc.UpdateIndexResponse_DownloadProgress{DownloadProgress: p}, }) } - indexpath := configuration.DataDir(s.settings) + indexpath := s.settings.DataDir() urls := []string{globals.DefaultIndexURL} if !req.GetIgnoreCustomPackageIndexes() { @@ -614,6 +614,7 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, tr("Invalid network configuration: %s", err)) failed = true + continue } if strings.HasSuffix(URL.Host, "arduino.cc") && strings.HasSuffix(URL.Path, ".json") { diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index b5cd63a3287..272eaaaafdb 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -134,7 +134,7 @@ func SetLibraryManager(inst *rpc.Instance, lm *librariesmanager.LibrariesManager } // Create a new *rpc.Instance ready to be initialized -func Create(dataDir, packagesDir, downloadsDir *paths.Path, extraUserAgent string, downloaderConfig downloader.Config) (*rpc.Instance, error) { +func Create(dataDir, packagesDir, userPackagesDir, downloadsDir *paths.Path, extraUserAgent string, downloaderConfig downloader.Config) (*rpc.Instance, error) { // Create package manager userAgent := "arduino-cli/" + version.VersionInfo.VersionString if extraUserAgent != "" { @@ -142,7 +142,7 @@ func Create(dataDir, packagesDir, downloadsDir *paths.Path, extraUserAgent strin } tempDir := dataDir.Join("tmp") - pm := packagemanager.NewBuilder(dataDir, packagesDir, downloadsDir, tempDir, userAgent, downloaderConfig).Build() + pm := packagemanager.NewBuilder(dataDir, packagesDir, userPackagesDir, downloadsDir, tempDir, userAgent, downloaderConfig).Build() lm, _ := librariesmanager.NewBuilder().Build() instance := &coreInstance{ diff --git a/commands/service.go b/commands/service.go index 03da5135b29..46c7bf3e6d5 100644 --- a/commands/service.go +++ b/commands/service.go @@ -19,28 +19,30 @@ import ( "context" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/arduino-cli/version" ) // NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service // that uses the provided version string. -func NewArduinoCoreServer(version string, settings *configuration.Settings) rpc.ArduinoCoreServiceServer { - return &arduinoCoreServerImpl{ - versionString: version, - settings: settings, - } +func NewArduinoCoreServer() rpc.ArduinoCoreServiceServer { + settings := configuration.NewSettings() + + // Setup i18n + i18n.Init(settings.Locale()) + + return &arduinoCoreServerImpl{settings: settings} } type arduinoCoreServerImpl struct { rpc.UnsafeArduinoCoreServiceServer // Force compile error for unimplemented methods - versionString string - // Settings holds configurations of the CLI and the gRPC consumers settings *configuration.Settings } // Version returns the version of the Arduino CLI func (s *arduinoCoreServerImpl) Version(ctx context.Context, req *rpc.VersionRequest) (*rpc.VersionResponse, error) { - return &rpc.VersionResponse{Version: s.versionString}, nil + return &rpc.VersionResponse{Version: version.VersionInfo.VersionString}, nil } diff --git a/commands/service_board_list_test.go b/commands/service_board_list_test.go index e9132a50949..6fb1366d111 100644 --- a/commands/service_board_list_test.go +++ b/commands/service_board_list_test.go @@ -48,7 +48,8 @@ func TestGetByVidPid(t *testing.T) { defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0xf420", "0XF069", configuration.Init("")) + settings := configuration.NewSettings() + res, err := apiByVidPid("0xf420", "0XF069", settings) require.Nil(t, err) require.Len(t, res, 1) require.Equal(t, "Arduino/Genuino MKR1000", res[0].GetName()) @@ -56,23 +57,27 @@ func TestGetByVidPid(t *testing.T) { // wrong vid (too long), wrong pid (not an hex value) - _, err = apiByVidPid("0xfffff", "0xDEFG", configuration.Init("")) + _, err = apiByVidPid("0xfffff", "0xDEFG", settings) require.NotNil(t, err) } func TestGetByVidPidNotFound(t *testing.T) { + settings := configuration.NewSettings() + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) })) defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069", configuration.Init("")) + res, err := apiByVidPid("0x0420", "0x0069", settings) require.NoError(t, err) require.Empty(t, res) } func TestGetByVidPid5xx(t *testing.T) { + settings := configuration.NewSettings() + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("500 - Ooooops!")) @@ -80,27 +85,30 @@ func TestGetByVidPid5xx(t *testing.T) { defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069", configuration.Init("")) + res, err := apiByVidPid("0x0420", "0x0069", settings) require.NotNil(t, err) require.Equal(t, "the server responded with status 500 Internal Server Error", err.Error()) require.Len(t, res, 0) } func TestGetByVidPidMalformedResponse(t *testing.T) { + settings := configuration.NewSettings() + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { fmt.Fprintln(w, "{}") })) defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069", configuration.Init("")) + res, err := apiByVidPid("0x0420", "0x0069", settings) require.NotNil(t, err) require.Equal(t, "wrong format in server response", err.Error()) require.Len(t, res, 0) } func TestBoardDetectionViaAPIWithNonUSBPort(t *testing.T) { - items, err := identifyViaCloudAPI(properties.NewMap(), configuration.Init("")) + settings := configuration.NewSettings() + items, err := identifyViaCloudAPI(properties.NewMap(), settings) require.NoError(t, err) require.Empty(t, items) } @@ -112,7 +120,7 @@ func TestBoardIdentifySorting(t *testing.T) { defer paths.TempDir().Join("test").RemoveAll() // We don't really care about the paths in this case - pmb := packagemanager.NewBuilder(dataDir, dataDir, dataDir, dataDir, "test", downloader.GetDefaultConfig()) + pmb := packagemanager.NewBuilder(dataDir, dataDir, nil, dataDir, dataDir, "test", downloader.GetDefaultConfig()) // Create some boards with identical VID:PID combination pack := pmb.GetOrCreatePackage("packager") @@ -148,7 +156,7 @@ func TestBoardIdentifySorting(t *testing.T) { pme, release := pm.NewExplorer() defer release() - settings := configuration.Init("") + settings := configuration.NewSettings() res, err := identify(pme, &discovery.Port{Properties: idPrefs}, settings) require.NoError(t, err) require.NotNil(t, res) diff --git a/commands/service_cache_clean.go b/commands/service_cache_clean.go index df7a091f635..5897ebd2e99 100644 --- a/commands/service_cache_clean.go +++ b/commands/service_cache_clean.go @@ -18,13 +18,12 @@ package commands import ( "context" - "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) // CleanDownloadCacheDirectory clean the download cache directory (where archives are downloaded). func (s *arduinoCoreServerImpl) CleanDownloadCacheDirectory(ctx context.Context, req *rpc.CleanDownloadCacheDirectoryRequest) (*rpc.CleanDownloadCacheDirectoryResponse, error) { - cachePath := configuration.DownloadsDir(s.settings) + cachePath := s.settings.DownloadsDir() err := cachePath.RemoveAll() if err != nil { return nil, err diff --git a/commands/service_compile.go b/commands/service_compile.go index d7320caeed2..9722c72671a 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -32,7 +32,6 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/buildcache" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" @@ -67,7 +66,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - exportBinaries := s.settings.GetBool("sketch.always_export_binaries") + exportBinaries := s.settings.SketchAlwaysExportBinaries() if e := req.ExportBinaries; e != nil { exportBinaries = *e } @@ -175,8 +174,8 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu // cache is purged after compilation to not remove entries that might be required defer maybePurgeBuildCache( - s.settings.GetUint("build_cache.compilations_before_purge"), - s.settings.GetDuration("build_cache.ttl").Abs()) + s.settings.GetCompilationsBeforeBuildCachePurge(), + s.settings.GetBuildCacheTTL().Abs()) var coreBuildCachePath *paths.Path if req.GetBuildCachePath() == "" { @@ -198,7 +197,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu actualPlatform := buildPlatform otherLibrariesDirs := paths.NewPathList(req.GetLibraries()...) - otherLibrariesDirs.Add(configuration.LibrariesDir(s.settings)) + otherLibrariesDirs.Add(s.settings.LibrariesDir()) var libsManager *librariesmanager.LibrariesManager if pme.GetProfile() != nil { @@ -231,9 +230,9 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu coreBuildCachePath, int(req.GetJobs()), req.GetBuildProperties(), - configuration.HardwareDirectories(s.settings), + s.settings.HardwareDirectories(), otherLibrariesDirs, - configuration.IDEBuiltinLibrariesDir(s.settings), + s.settings.IDEBuiltinLibrariesDir(), fqbn, req.GetClean(), req.GetSourceOverride(), diff --git a/commands/service_debug_test.go b/commands/service_debug_test.go index 8e627c44b76..1aa4feb9796 100644 --- a/commands/service_debug_test.go +++ b/commands/service_debug_test.go @@ -37,7 +37,7 @@ func TestGetCommandLine(t *testing.T) { sketchPath := paths.New("testdata", "debug", sketch) require.NoError(t, sketchPath.ToAbs()) - pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) + pmb := packagemanager.NewBuilder(nil, nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pmb.LoadHardwareFromDirectory(dataDir) diff --git a/commands/service_platform_search_test.go b/commands/service_platform_search_test.go index 3b7b87cf30d..dc7df5f190c 100644 --- a/commands/service_platform_search_test.go +++ b/commands/service_platform_search_test.go @@ -19,7 +19,6 @@ import ( "context" "testing" - "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" @@ -36,9 +35,17 @@ func TestPlatformSearch(t *testing.T) { err := paths.New("testdata", "platform", "package_index.json").CopyTo(dataDir.Join("package_index.json")) require.Nil(t, err) - settings := configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - srv := NewArduinoCoreServer("", settings) ctx := context.Background() + srv := NewArduinoCoreServer() + + conf, err := paths.TempDir().Join("test", "arduino-cli.yaml").ReadFile() + require.NoError(t, err) + _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{ + SettingsFormat: "yaml", + EncodedSettings: string(conf), + }) + require.NoError(t, err) + createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) require.NoError(t, err) @@ -337,9 +344,16 @@ func TestPlatformSearchSorting(t *testing.T) { err := paths.New("testdata", "platform", "package_index.json").CopyTo(dataDir.Join("package_index.json")) require.Nil(t, err) - settings := configuration.Init(paths.TempDir().Join("test", "arduino-cli.yaml").String()) - srv := NewArduinoCoreServer("", settings) ctx := context.Background() + srv := NewArduinoCoreServer() + + conf, err := paths.TempDir().Join("test", "arduino-cli.yaml").ReadFile() + require.NoError(t, err) + _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{ + SettingsFormat: "yaml", + EncodedSettings: string(conf), + }) + require.NoError(t, err) createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) require.NoError(t, err) diff --git a/commands/service_settings.go b/commands/service_settings.go index 177d0819178..82bdb030aeb 100644 --- a/commands/service_settings.go +++ b/commands/service_settings.go @@ -18,161 +18,204 @@ package commands import ( "context" "encoding/json" - "errors" "fmt" - "strings" + "reflect" + "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "google.golang.org/protobuf/proto" + "gopkg.in/yaml.v3" ) -// SettingsGetAll returns a message with a string field containing all the settings -// currently in use, marshalled in JSON format. -func (s *arduinoCoreServerImpl) SettingsGetAll(ctx context.Context, req *rpc.SettingsGetAllRequest) (*rpc.SettingsGetAllResponse, error) { - b, err := json.Marshal(s.settings.AllSettings()) - if err == nil { - return &rpc.SettingsGetAllResponse{ - JsonData: string(b), - }, nil +// SettingsGetValue returns a settings value given its key. If the key is not present +// an error will be returned, so that we distinguish empty settings from missing +// ones. +func (s *arduinoCoreServerImpl) ConfigurationGet(ctx context.Context, req *rpc.ConfigurationGetRequest) (*rpc.ConfigurationGetResponse, error) { + conf := &rpc.Configuration{ + Directories: &rpc.Configuration_Directories{ + Builtin: &rpc.Configuration_Directories_Builtin{}, + Data: s.settings.DataDir().String(), + Downloads: s.settings.DownloadsDir().String(), + User: s.settings.UserDir().String(), + }, + Network: &rpc.Configuration_Network{}, + Sketch: &rpc.Configuration_Sketch{ + AlwaysExportBinaries: s.settings.SketchAlwaysExportBinaries(), + }, + BuildCache: &rpc.Configuration_BuildCache{ + CompilationsBeforePurge: uint64(s.settings.GetCompilationsBeforeBuildCachePurge()), + TtlSecs: uint64(s.settings.GetBuildCacheTTL().Seconds()), + }, + BoardManager: &rpc.Configuration_BoardManager{ + AdditionalUrls: s.settings.BoardManagerAdditionalUrls(), + }, + Daemon: &rpc.Configuration_Daemon{ + Port: s.settings.DaemonPort(), + }, + Output: &rpc.Configuration_Output{ + NoColor: s.settings.NoColor(), + }, + Logging: &rpc.Configuration_Logging{ + Level: s.settings.LoggingLevel(), + Format: s.settings.LoggingFormat(), + }, + Library: &rpc.Configuration_Library{ + EnableUnsafeInstall: s.settings.LibraryEnableUnsafeInstall(), + }, + Updater: &rpc.Configuration_Updater{ + EnableNotification: s.settings.UpdaterEnableNotification(), + }, } - return nil, err -} - -// mapper converts a map of nested maps to a map of scalar values. -// For example: -// -// {"foo": "bar", "daemon":{"port":"420"}, "sketch": {"always_export_binaries": "true"}} -// -// would convert to: -// -// {"foo": "bar", "daemon.port":"420", "sketch.always_export_binaries": "true"} -func mapper(toMap map[string]interface{}) map[string]interface{} { - res := map[string]interface{}{} - for k, v := range toMap { - switch data := v.(type) { - case map[string]interface{}: - for mK, mV := range mapper(data) { - // Concatenate keys - res[fmt.Sprintf("%s.%s", k, mK)] = mV - } - // This is done to avoid skipping keys containing empty maps - if len(data) == 0 { - res[k] = map[string]interface{}{} - } - default: - res[k] = v - } + if builtinLibs := s.settings.IDEBuiltinLibrariesDir(); builtinLibs != nil { + conf.Directories.Builtin.Libraries = proto.String(builtinLibs.String()) } - return res -} -// SettingsMerge applies multiple settings values at once. -func (s *arduinoCoreServerImpl) SettingsMerge(ctx context.Context, req *rpc.SettingsMergeRequest) (*rpc.SettingsMergeResponse, error) { - var toMerge map[string]interface{} - if err := json.Unmarshal([]byte(req.GetJsonData()), &toMerge); err != nil { - return nil, err + if ua := s.settings.ExtraUserAgent(); ua != "" { + conf.Network.ExtraUserAgent = &ua + } + if proxy, err := s.settings.NetworkProxy(); err == nil && proxy != nil { + conf.Network.Proxy = proto.String(proxy.String()) } - mapped := mapper(toMerge) + if logFile := s.settings.LoggingFile(); logFile != nil { + file := logFile.String() + conf.Logging.File = &file + } - // Set each value individually. - // This is done because Viper ignores empty strings or maps when - // using the MergeConfigMap function. - updatedSettings := configuration.Init("") - for k, v := range mapped { - updatedSettings.Set(k, v) + if locale := s.settings.Locale(); locale != "" { + conf.Locale = &locale } - configPath := s.settings.ConfigFileUsed() - updatedSettings.SetConfigFile(configPath) - s.settings = updatedSettings - return &rpc.SettingsMergeResponse{}, nil + return &rpc.ConfigurationGetResponse{Configuration: conf}, nil } -// SettingsGetValue returns a settings value given its key. If the key is not present -// an error will be returned, so that we distinguish empty settings from missing -// ones. -func (s *arduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.SettingsGetValueRequest) (*rpc.SettingsGetValueResponse, error) { +func (s *arduinoCoreServerImpl) SettingsSetValue(ctx context.Context, req *rpc.SettingsSetValueRequest) (*rpc.SettingsSetValueResponse, error) { + // Determine the existence and the kind of the value key := req.GetKey() - // Check if settings key actually existing, we don't use Viper.InConfig() - // since that doesn't check for keys formatted like daemon.port or those set - // with Viper.Set(). This way we check for all existing settings for sure. - keyExists := false - for _, k := range s.settings.AllKeys() { - if k == key || strings.HasPrefix(k, key) { - keyExists = true - break + // Extract the value from the request + encodedValue := []byte(req.GetEncodedValue()) + if len(encodedValue) == 0 { + // If the value is empty, unset the key + s.settings.Delete(key) + return &rpc.SettingsSetValueResponse{}, nil + } + + var newValue any + switch req.GetValueFormat() { + case "", "json": + if err := json.Unmarshal(encodedValue, &newValue); err != nil { + return nil, &cmderrors.InvalidArgumentError{Message: fmt.Sprintf("invalid value: %v", err)} } + case "yaml": + if err := yaml.Unmarshal(encodedValue, &newValue); err != nil { + return nil, &cmderrors.InvalidArgumentError{Message: fmt.Sprintf("invalid value: %v", err)} + } + case "cli": + err := s.settings.SetFromCLIArgs(key, req.GetEncodedValue()) + if err != nil { + return nil, err + } + return &rpc.SettingsSetValueResponse{}, nil + default: + return nil, &cmderrors.InvalidArgumentError{Message: fmt.Sprintf("unsupported value format: %s", req.ValueFormat)} } - if !keyExists { - return nil, errors.New(tr("key not found in settings")) + + // If the value is "null", unset the key + if reflect.TypeOf(newValue) == reflect.TypeOf(nil) { + s.settings.Delete(key) + return &rpc.SettingsSetValueResponse{}, nil } - b, err := json.Marshal(s.settings.Get(key)) - value := &rpc.SettingsGetValueResponse{} - if err == nil { - value.Key = key - value.JsonData = string(b) + // Set the value + if err := s.settings.Set(key, newValue); err != nil { + return nil, err } - return value, err + return &rpc.SettingsSetValueResponse{}, nil } -// SettingsSetValue updates or set a value for a certain key. -func (s *arduinoCoreServerImpl) SettingsSetValue(ctx context.Context, val *rpc.SettingsSetValueRequest) (*rpc.SettingsSetValueResponse, error) { - key := val.GetKey() - var value interface{} - - err := json.Unmarshal([]byte(val.GetJsonData()), &value) - if err == nil { - s.settings.Set(key, value) +func (s *arduinoCoreServerImpl) SettingsGetValue(ctx context.Context, req *rpc.SettingsGetValueRequest) (*rpc.SettingsGetValueResponse, error) { + key := req.GetKey() + value, ok := s.settings.GetOk(key) + if !ok { + value, ok = s.settings.Defaults.GetOk(key) + } + if !ok { + return nil, &cmderrors.InvalidArgumentError{Message: fmt.Sprintf("key %s not found", key)} } - return &rpc.SettingsSetValueResponse{}, err + switch req.GetValueFormat() { + case "", "json": + valueJson, err := json.Marshal(value) + if err != nil { + return nil, fmt.Errorf("error marshalling value: %v", err) + } + return &rpc.SettingsGetValueResponse{EncodedValue: string(valueJson)}, nil + case "yaml": + valueYaml, err := yaml.Marshal(value) + if err != nil { + return nil, fmt.Errorf("error marshalling value: %v", err) + } + return &rpc.SettingsGetValueResponse{EncodedValue: string(valueYaml)}, nil + default: + return nil, &cmderrors.InvalidArgumentError{Message: fmt.Sprintf("unsupported value format: %s", req.ValueFormat)} + } } -// SettingsWrite to file set in request the settings currently stored in memory. -// We don't have a Read() function, that's not necessary since we only want one config file to be used -// and that's picked up when the CLI is run as daemon, either using the default path or a custom one -// set with the --config-file flag. -func (s *arduinoCoreServerImpl) SettingsWrite(ctx context.Context, req *rpc.SettingsWriteRequest) (*rpc.SettingsWriteResponse, error) { - if err := s.settings.WriteConfigAs(req.GetFilePath()); err != nil { - return nil, err +// ConfigurationSave encodes the current configuration in the specified format +func (s *arduinoCoreServerImpl) ConfigurationSave(ctx context.Context, req *rpc.ConfigurationSaveRequest) (*rpc.ConfigurationSaveResponse, error) { + switch req.GetSettingsFormat() { + case "yaml": + data, err := yaml.Marshal(s.settings) + if err != nil { + return nil, fmt.Errorf("error marshalling settings: %v", err) + } + return &rpc.ConfigurationSaveResponse{EncodedSettings: string(data)}, nil + case "json": + data, err := json.Marshal(s.settings) + if err != nil { + return nil, fmt.Errorf("error marshalling settings: %v", err) + } + return &rpc.ConfigurationSaveResponse{EncodedSettings: string(data)}, nil + default: + return nil, &cmderrors.InvalidArgumentError{Message: fmt.Sprintf("unsupported format: %s", req.GetSettingsFormat())} } - return &rpc.SettingsWriteResponse{}, nil } -// SettingsDelete removes a key from the config file -func (s *arduinoCoreServerImpl) SettingsDelete(ctx context.Context, req *rpc.SettingsDeleteRequest) (*rpc.SettingsDeleteResponse, error) { - toDelete := req.GetKey() - - // Check if settings key actually existing, we don't use Viper.InConfig() - // since that doesn't check for keys formatted like daemon.port or those set - // with Viper.Set(). This way we check for all existing settings for sure. - keyExists := false - keys := []string{} - for _, k := range s.settings.AllKeys() { - if !strings.HasPrefix(k, toDelete) { - keys = append(keys, k) - continue +// SettingsReadFromFile read settings from a YAML file and replace the settings currently stored in memory. +func (s *arduinoCoreServerImpl) ConfigurationOpen(ctx context.Context, req *rpc.ConfigurationOpenRequest) (*rpc.ConfigurationOpenResponse, error) { + switch req.GetSettingsFormat() { + case "yaml": + err := yaml.Unmarshal([]byte(req.GetEncodedSettings()), s.settings) + if err != nil { + return nil, fmt.Errorf("error unmarshalling settings: %v", err) } - keyExists = true + case "json": + err := json.Unmarshal([]byte(req.GetEncodedSettings()), s.settings) + if err != nil { + return nil, fmt.Errorf("error unmarshalling settings: %v", err) + } + default: + return nil, &cmderrors.InvalidArgumentError{Message: fmt.Sprintf("unsupported format: %s", req.GetSettingsFormat())} } - if !keyExists { - return nil, errors.New(tr("key not found in settings")) - } + configuration.InjectEnvVars(s.settings) + return &rpc.ConfigurationOpenResponse{}, nil +} - // Override current settings to delete the key - updatedSettings := configuration.Init("") - for _, k := range keys { - updatedSettings.Set(k, s.settings.Get(k)) +// SettingsEnumerate returns the list of all the settings keys. +func (s *arduinoCoreServerImpl) SettingsEnumerate(ctx context.Context, req *rpc.SettingsEnumerateRequest) (*rpc.SettingsEnumerateResponse, error) { + var entries []*rpc.SettingsEnumerateResponse_Entry + for k, t := range s.settings.Defaults.Schema() { + entries = append(entries, &rpc.SettingsEnumerateResponse_Entry{ + Key: k, + Type: t.String(), + }) } - configPath := s.settings.ConfigFileUsed() - updatedSettings.SetConfigFile(configPath) - s.settings = updatedSettings - - return &rpc.SettingsDeleteResponse{}, nil + return &rpc.SettingsEnumerateResponse{ + Entries: entries, + }, nil } diff --git a/commands/service_settings_test.go b/commands/service_settings_test.go index e1d67fb0fad..1c77856a336 100644 --- a/commands/service_settings_test.go +++ b/commands/service_settings_test.go @@ -18,177 +18,219 @@ package commands import ( "context" "encoding/json" - "path/filepath" "testing" - "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) +func loadConfig(t *testing.T, srv rpc.ArduinoCoreServiceServer, confPath *paths.Path) { + confPath.ToAbs() + conf, err := confPath.ReadFile() + require.NoError(t, err) + _, err = srv.ConfigurationOpen(context.Background(), &rpc.ConfigurationOpenRequest{ + EncodedSettings: string(conf), + SettingsFormat: "yaml", + }) + require.NoError(t, err) +} + func TestGetAll(t *testing.T) { - settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", settings) - resp, err := svc.SettingsGetAll(context.Background(), &rpc.SettingsGetAllRequest{}) + srv := NewArduinoCoreServer() + loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) + resp, err := srv.ConfigurationGet(context.Background(), &rpc.ConfigurationGetRequest{}) require.Nil(t, err) - content, err := json.Marshal(settings.AllSettings()) - require.Nil(t, err) + defaultUserDir, err := srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "directories.user"}) + require.NoError(t, err) - require.Equal(t, string(content), resp.GetJsonData()) + content, err := json.Marshal(resp.GetConfiguration()) + require.Nil(t, err) + require.JSONEq(t, `{ + "board_manager": { + "additional_urls": [ "http://foobar.com", "http://example.com" ] + }, + "build_cache": { + "compilations_before_purge": 10, + "ttl_secs": 2592000 + }, + "directories": { + "builtin": {}, + "data": "/home/massi/.arduino15", + "downloads": "/home/massi/.arduino15/staging", + "user": `+defaultUserDir.GetEncodedValue()+` + }, + "library": {}, + "locale": "en", + "logging": { + "format": "text", + "level": "info" + }, + "daemon":{ + "port":"50051" + }, + "network":{ + "proxy":"123" + }, + "output": {}, + "sketch": {}, + "updater": {} + }`, string(content)) } func TestMerge(t *testing.T) { - initialSettings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", initialSettings).(*arduinoCoreServerImpl) + srv := NewArduinoCoreServer() + loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) + ctx := context.Background() + get := func(key string) string { + resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: key}) + if err != nil { + return "<error>" + } + return resp.GetEncodedValue() + } + // Verify defaults - require.Equal(t, "50051", svc.settings.GetString("daemon.port")) - require.Equal(t, "", svc.settings.GetString("foo")) - require.Equal(t, false, svc.settings.GetBool("sketch.always_export_binaries")) + require.Equal(t, `"50051"`, get("daemon.port")) + require.Equal(t, "<error>", get("foo")) + require.Equal(t, "false", get("sketch.always_export_binaries")) bulkSettings := `{"foo": "bar", "daemon":{"port":"420"}, "sketch": {"always_export_binaries": "true"}}` - res, err := svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) - require.NotNil(t, res) - require.NoError(t, err) + _, err := srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{EncodedSettings: bulkSettings, SettingsFormat: "json"}) + require.Error(t, err) - require.Equal(t, "420", svc.settings.GetString("daemon.port")) - require.Equal(t, "bar", svc.settings.GetString("foo")) - require.Equal(t, true, svc.settings.GetBool("sketch.always_export_binaries")) + bulkSettings = `{"daemon":{"port":"420"}, "sketch": {"always_export_binaries": "true"}}` + _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{EncodedSettings: bulkSettings, SettingsFormat: "json"}) + require.Error(t, err) - bulkSettings = `{"foo":"", "daemon": {}, "sketch": {"always_export_binaries": "false"}}` - res, err = svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) - require.NotNil(t, res) + bulkSettings = `{"daemon":{"port":"420"}, "sketch": {"always_export_binaries": true}}` + _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{EncodedSettings: bulkSettings, SettingsFormat: "json"}) require.NoError(t, err) - require.Equal(t, "50051", svc.settings.GetString("daemon.port")) - require.Equal(t, "", svc.settings.GetString("foo")) - require.Equal(t, false, svc.settings.GetBool("sketch.always_export_binaries")) + require.Equal(t, `"420"`, get("daemon.port")) + require.Equal(t, `<error>`, get("foo")) + require.Equal(t, "true", get("sketch.always_export_binaries")) - bulkSettings = `{"daemon": {"port":""}}` - res, err = svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) - require.NotNil(t, res) + bulkSettings = `{"daemon": {}, "sketch": {"always_export_binaries": false}}` + _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{EncodedSettings: bulkSettings, SettingsFormat: "json"}) require.NoError(t, err) - require.Equal(t, "", svc.settings.GetString("daemon.port")) - // Verifies other values are not changed - require.Equal(t, "", svc.settings.GetString("foo")) - require.Equal(t, false, svc.settings.GetBool("sketch.always_export_binaries")) + require.Equal(t, `"50051"`, get("daemon.port")) + require.Equal(t, "<error>", get("foo")) + require.Equal(t, "false", get("sketch.always_export_binaries")) - bulkSettings = `{"network": {}}` - res, err = svc.SettingsMerge(ctx, &rpc.SettingsMergeRequest{JsonData: bulkSettings}) - require.NotNil(t, res) + _, err = srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: "daemon.port", EncodedValue: ""}) require.NoError(t, err) - require.Equal(t, "", svc.settings.GetString("proxy")) + require.Equal(t, `"50051"`, get("daemon.port")) + // Verifies other values are not changed + require.Equal(t, "<error>", get("foo")) + require.Equal(t, "false", get("sketch.always_export_binaries")) + } func TestGetValue(t *testing.T) { - settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", settings) + srv := NewArduinoCoreServer() + loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) key := &rpc.SettingsGetValueRequest{Key: "daemon"} - resp, err := svc.SettingsGetValue(context.Background(), key) + resp, err := srv.SettingsGetValue(context.Background(), key) require.NoError(t, err) - require.Equal(t, `{"port":"50051"}`, resp.GetJsonData()) + require.Equal(t, `{"port":"50051"}`, resp.GetEncodedValue()) key = &rpc.SettingsGetValueRequest{Key: "daemon.port"} - resp, err = svc.SettingsGetValue(context.Background(), key) + resp, err = srv.SettingsGetValue(context.Background(), key) require.NoError(t, err) - require.Equal(t, `"50051"`, resp.GetJsonData()) + require.Equal(t, `"50051"`, resp.GetEncodedValue()) } -func TestGetMergedValue(t *testing.T) { - settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", settings) +func TestGetOfSettedValue(t *testing.T) { + srv := NewArduinoCoreServer() + loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) - // Verifies value is not set - key := &rpc.SettingsGetValueRequest{Key: "foo"} - res, err := svc.SettingsGetValue(context.Background(), key) + // Verifies value is not set (try with a key without a default, like "directories.builtin.libraries") + ctx := context.Background() + res, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: "directories.builtin.libraries"}) require.Nil(t, res) require.Error(t, err, "Error getting settings value") - // Merge value - bulkSettings := `{"foo": "bar"}` - _, err = svc.SettingsMerge(context.Background(), &rpc.SettingsMergeRequest{JsonData: bulkSettings}) + // Set value + _, err = srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{ + Key: "directories.builtin.libraries", + EncodedValue: `"bar"`}) require.NoError(t, err) // Verifies value is correctly returned - key = &rpc.SettingsGetValueRequest{Key: "foo"} - res, err = svc.SettingsGetValue(context.Background(), key) + res, err = srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: "directories.builtin.libraries"}) require.NoError(t, err) - require.Equal(t, `"bar"`, res.GetJsonData()) + require.Equal(t, `"bar"`, res.GetEncodedValue()) } func TestGetValueNotFound(t *testing.T) { - settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", settings) + srv := NewArduinoCoreServer() + loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) key := &rpc.SettingsGetValueRequest{Key: "DOESNTEXIST"} - _, err := svc.SettingsGetValue(context.Background(), key) + _, err := srv.SettingsGetValue(context.Background(), key) require.Error(t, err) } -func TestSetValue(t *testing.T) { - settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", settings) - - val := &rpc.SettingsSetValueRequest{ - Key: "foo", - JsonData: `"bar"`, - } - _, err := svc.SettingsSetValue(context.Background(), val) - require.Nil(t, err) - require.Equal(t, "bar", settings.GetString("foo")) -} - func TestWrite(t *testing.T) { - settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", settings) + srv := NewArduinoCoreServer() + loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) // Writes some settings val := &rpc.SettingsSetValueRequest{ - Key: "foo", - JsonData: `"bar"`, + Key: "directories.builtin.libraries", + EncodedValue: `"bar"`, } - _, err := svc.SettingsSetValue(context.Background(), val) + _, err := srv.SettingsSetValue(context.Background(), val) require.NoError(t, err) - tempDir := paths.TempDir() - testFolder, err := tempDir.MkTempDir("testdata") - require.NoError(t, err) - defer testFolder.RemoveAll() - - // Verifies config files doesn't exist - configFile := testFolder.Join("arduino-cli.yml") - require.True(t, configFile.NotExist()) - - _, err = svc.SettingsWrite(context.Background(), &rpc.SettingsWriteRequest{ - FilePath: configFile.String(), + resp, err := srv.ConfigurationSave(context.Background(), &rpc.ConfigurationSaveRequest{ + SettingsFormat: "yaml", }) require.NoError(t, err) - // Verifies config file is created. - // We don't verify the content since we expect config library, Viper, to work - require.True(t, configFile.Exist()) + // Verify encoded content + require.YAMLEq(t, ` +board_manager: + additional_urls: + - http://foobar.com + - http://example.com + +daemon: + port: "50051" + +directories: + data: /home/massi/.arduino15 + downloads: /home/massi/.arduino15/staging + builtin: + libraries: bar + +logging: + file: "" + format: text + level: info + +network: + proxy: "123" +`, resp.GetEncodedSettings()) } func TestDelete(t *testing.T) { - settings := configuration.Init(filepath.Join("testdata", "arduino-cli.yaml")) - svc := NewArduinoCoreServer("", settings) + srv := NewArduinoCoreServer() + loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) - _, err := svc.SettingsDelete(context.Background(), &rpc.SettingsDeleteRequest{ - Key: "doesnotexist", - }) - require.Error(t, err) + _, err := srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) + require.NoError(t, err) - _, err = svc.SettingsDelete(context.Background(), &rpc.SettingsDeleteRequest{ - Key: "network", - }) + _, err = srv.SettingsSetValue(context.Background(), &rpc.SettingsSetValueRequest{Key: "network", EncodedValue: ""}) require.NoError(t, err) - _, err = svc.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) + _, err = srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) require.Error(t, err) } diff --git a/commands/service_sketch_load_test.go b/commands/service_sketch_load_test.go index 822dfea7c5d..d7dfcdcf8fa 100644 --- a/commands/service_sketch_load_test.go +++ b/commands/service_sketch_load_test.go @@ -19,13 +19,12 @@ import ( "context" "testing" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/stretchr/testify/require" ) func TestLoadSketchProfiles(t *testing.T) { - srv := NewArduinoCoreServer("", configuration.Init("")) + srv := NewArduinoCoreServer() loadResp, err := srv.LoadSketch(context.Background(), &commands.LoadSketchRequest{ SketchPath: "./testdata/sketch_with_profile", }) diff --git a/commands/service_sketch_new_test.go b/commands/service_sketch_new_test.go index 353dec17a05..8dfb5a8168e 100644 --- a/commands/service_sketch_new_test.go +++ b/commands/service_sketch_new_test.go @@ -20,7 +20,6 @@ import ( "fmt" "testing" - "github.com/arduino/arduino-cli/internal/cli/configuration" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/stretchr/testify/require" ) @@ -36,7 +35,7 @@ func Test_SketchNameWrongPattern(t *testing.T) { ",`hack[}attempt{];", } - srv := NewArduinoCoreServer("", configuration.Init("")) + srv := NewArduinoCoreServer() for _, name := range invalidNames { _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, @@ -49,7 +48,7 @@ func Test_SketchNameWrongPattern(t *testing.T) { } func Test_SketchNameEmpty(t *testing.T) { - srv := NewArduinoCoreServer("", configuration.Init("")) + srv := NewArduinoCoreServer() _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: "", SketchDir: t.TempDir(), @@ -63,7 +62,7 @@ func Test_SketchNameTooLong(t *testing.T) { for i := range tooLongName { tooLongName[i] = 'a' } - srv := NewArduinoCoreServer("", configuration.Init("")) + srv := NewArduinoCoreServer() _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: string(tooLongName), SketchDir: t.TempDir(), @@ -87,7 +86,7 @@ func Test_SketchNameOk(t *testing.T) { "_hello_world", string(lengthLimitName), } - srv := NewArduinoCoreServer("", configuration.Init("")) + srv := NewArduinoCoreServer() for _, name := range validNames { _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, @@ -100,7 +99,7 @@ func Test_SketchNameOk(t *testing.T) { func Test_SketchNameReserved(t *testing.T) { invalidNames := []string{"CON", "PRN", "AUX", "NUL", "COM0", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT0", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"} - srv := NewArduinoCoreServer("", configuration.Init("")) + srv := NewArduinoCoreServer() for _, name := range invalidNames { _, err := srv.NewSketch(context.Background(), &rpc.NewSketchRequest{ SketchName: name, diff --git a/commands/service_upload_test.go b/commands/service_upload_test.go index e8d70e19c4d..7d55f95b48b 100644 --- a/commands/service_upload_test.go +++ b/commands/service_upload_test.go @@ -128,7 +128,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { } func TestUploadPropertiesComposition(t *testing.T) { - pmb := packagemanager.NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) + pmb := packagemanager.NewBuilder(nil, nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) errs := pmb.LoadHardwareFromDirectory(paths.New("testdata", "upload", "hardware")) require.Len(t, errs, 0) buildPath1 := paths.New("testdata", "upload", "build_path_1") diff --git a/internal/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go index 29e8fb511a4..8b42697a6e4 100644 --- a/internal/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -24,15 +24,20 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" semver "go.bug.st/relaxed-semver" ) // LoadHardware read all plaforms from the configured paths -func (pm *Builder) LoadHardware(settings *configuration.Settings) []error { - hardwareDirs := configuration.HardwareDirectories(settings) +func (pm *Builder) LoadHardware() []error { + hardwareDirs := paths.NewPathList() + if pm.PackagesDir.IsDir() { + hardwareDirs.Add(pm.PackagesDir) + } + if pm.userPackagesDir != nil && pm.userPackagesDir.IsDir() { + hardwareDirs.Add(pm.userPackagesDir) + } return pm.LoadHardwareFromDirectories(hardwareDirs) } diff --git a/internal/arduino/cores/packagemanager/loader_test.go b/internal/arduino/cores/packagemanager/loader_test.go index a9ee015c86d..5d394280aa8 100644 --- a/internal/arduino/cores/packagemanager/loader_test.go +++ b/internal/arduino/cores/packagemanager/loader_test.go @@ -175,7 +175,7 @@ func TestLoadDiscoveries(t *testing.T) { defer fakePath.RemoveAll() createTestPackageManager := func() *PackageManager { - pmb := NewBuilder(fakePath, fakePath, fakePath, fakePath, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(fakePath, fakePath, nil, fakePath, fakePath, "test", downloader.GetDefaultConfig()) pack := pmb.packages.GetOrCreatePackage("arduino") // ble-discovery tool tool := pack.GetOrCreateTool("ble-discovery") diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index d9a5f79a2ac..ffe278a6205 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -55,6 +55,7 @@ type PackageManager struct { log logrus.FieldLogger IndexDir *paths.Path PackagesDir *paths.Path + userPackagesDir *paths.Path DownloadDir *paths.Path tempDir *paths.Path profile *sketch.Profile @@ -76,12 +77,13 @@ type Explorer PackageManager var tr = i18n.Tr // NewBuilder returns a new Builder -func NewBuilder(indexDir, packagesDir, downloadDir, tempDir *paths.Path, userAgent string, downloaderConfig downloader.Config) *Builder { +func NewBuilder(indexDir, packagesDir, userPackagesDir, downloadDir, tempDir *paths.Path, userAgent string, downloaderConfig downloader.Config) *Builder { return &Builder{ log: logrus.StandardLogger(), packages: cores.NewPackages(), IndexDir: indexDir, PackagesDir: packagesDir, + userPackagesDir: userPackagesDir, DownloadDir: downloadDir, tempDir: tempDir, packagesCustomGlobalProperties: properties.NewMap(), @@ -100,6 +102,7 @@ func (pmb *Builder) BuildIntoExistingPackageManager(target *PackageManager) { target.packages = pmb.packages target.IndexDir = pmb.IndexDir target.PackagesDir = pmb.PackagesDir + target.userPackagesDir = pmb.userPackagesDir target.DownloadDir = pmb.DownloadDir target.tempDir = pmb.tempDir target.packagesCustomGlobalProperties = pmb.packagesCustomGlobalProperties @@ -116,6 +119,7 @@ func (pmb *Builder) Build() *PackageManager { packages: pmb.packages, IndexDir: pmb.IndexDir, PackagesDir: pmb.PackagesDir, + userPackagesDir: pmb.userPackagesDir, DownloadDir: pmb.DownloadDir, tempDir: pmb.tempDir, packagesCustomGlobalProperties: pmb.packagesCustomGlobalProperties, @@ -166,7 +170,7 @@ func (pmb *Builder) calculateCompatibleReleases() { // this function will make the builder write the new configuration into this // PackageManager. func (pm *PackageManager) NewBuilder() (builder *Builder, commit func()) { - pmb := NewBuilder(pm.IndexDir, pm.PackagesDir, pm.DownloadDir, pm.tempDir, pm.userAgent, pm.downloaderConfig) + pmb := NewBuilder(pm.IndexDir, pm.PackagesDir, pm.userPackagesDir, pm.DownloadDir, pm.tempDir, pm.userAgent, pm.downloaderConfig) return pmb, func() { pmb.calculateCompatibleReleases() pmb.BuildIntoExistingPackageManager(pm) diff --git a/internal/arduino/cores/packagemanager/package_manager_test.go b/internal/arduino/cores/packagemanager/package_manager_test.go index fb215816d0c..595d08d0c21 100644 --- a/internal/arduino/cores/packagemanager/package_manager_test.go +++ b/internal/arduino/cores/packagemanager/package_manager_test.go @@ -24,7 +24,6 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/arduino/cores" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" @@ -39,7 +38,7 @@ var dataDir1 = paths.New("testdata", "data_dir_1") var extraHardware = paths.New("testdata", "extra_hardware") func TestFindBoardWithFQBN(t *testing.T) { - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -57,7 +56,7 @@ func TestFindBoardWithFQBN(t *testing.T) { func TestResolveFQBN(t *testing.T) { // Pass nil, since these paths are only used for installing - pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(nil, nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) // Hardware from main packages directory pmb.LoadHardwareFromDirectory(dataDir1.Join("packages")) // This contains the arduino:avr core @@ -342,7 +341,7 @@ func TestResolveFQBN(t *testing.T) { } func TestBoardOptionsFunctions(t *testing.T) { - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -382,7 +381,7 @@ func TestBoardOptionsFunctions(t *testing.T) { } func TestBoardOrdering(t *testing.T) { - pmb := NewBuilder(dataDir1, dataDir1.Join("packages"), nil, nil, "", downloader.GetDefaultConfig()) + pmb := NewBuilder(dataDir1, dataDir1.Join("packages"), nil, nil, nil, "", downloader.GetDefaultConfig()) _ = pmb.LoadHardwareFromDirectories(paths.NewPathList(dataDir1.Join("packages").String())) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -433,11 +432,11 @@ func TestBoardOrdering(t *testing.T) { func TestFindToolsRequiredForBoard(t *testing.T) { t.Setenv("ARDUINO_DATA_DIR", dataDir1.String()) - settings := configuration.Init("") pmb := NewBuilder( dataDir1, - configuration.PackagesDir(settings), - configuration.DownloadsDir(settings), + dataDir1.Join("packages"), + nil, + dataDir1.Join("staging"), dataDir1, "test", downloader.GetDefaultConfig(), @@ -456,7 +455,7 @@ func TestFindToolsRequiredForBoard(t *testing.T) { // We ignore the errors returned since they might not be necessarily blocking // but just warnings for the user, like in the case a board is not loaded // because of malformed menus - pmb.LoadHardware(settings) + pmb.LoadHardware() pm := pmb.Build() pme, release := pm.NewExplorer() defer release() @@ -569,7 +568,7 @@ func TestFindToolsRequiredForBoard(t *testing.T) { } func TestIdentifyBoard(t *testing.T) { - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() pme, release := pm.NewExplorer() @@ -596,12 +595,12 @@ func TestIdentifyBoard(t *testing.T) { func TestPackageManagerClear(t *testing.T) { // Create a PackageManager and load the harware - pmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) pm := pmb.Build() // Creates another PackageManager but don't load the hardware - emptyPmb := NewBuilder(customHardware, customHardware, customHardware, customHardware, "test", downloader.GetDefaultConfig()) + emptyPmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloader.GetDefaultConfig()) emptyPm := emptyPmb.Build() // Verifies they're not equal @@ -623,7 +622,7 @@ func TestFindToolsRequiredFromPlatformRelease(t *testing.T) { require.NoError(t, err) defer fakePath.RemoveAll() - pmb := NewBuilder(fakePath, fakePath, fakePath, fakePath, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(fakePath, fakePath, nil, fakePath, fakePath, "test", downloader.GetDefaultConfig()) pack := pmb.GetOrCreatePackage("arduino") { @@ -744,7 +743,7 @@ func TestFindToolsRequiredFromPlatformRelease(t *testing.T) { } func TestFindPlatformReleaseDependencies(t *testing.T) { - pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(nil, nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) pmb.LoadPackageIndexFromFile(paths.New("testdata", "package_tooltest_index.json")) pmb.calculateCompatibleReleases() pm := pmb.Build() @@ -760,7 +759,7 @@ func TestFindPlatformReleaseDependencies(t *testing.T) { func TestLegacyPackageConversionToPluggableDiscovery(t *testing.T) { // Pass nil, since these paths are only used for installing - pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(nil, nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) // Hardware from main packages directory pmb.LoadHardwareFromDirectory(dataDir1.Join("packages")) pm := pmb.Build() @@ -830,7 +829,7 @@ func TestLegacyPackageConversionToPluggableDiscovery(t *testing.T) { func TestVariantAndCoreSelection(t *testing.T) { // Pass nil, since these paths are only used for installing - pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(nil, nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) // Hardware from main packages directory pmb.LoadHardwareFromDirectory(dataDir1.Join("packages")) pm := pmb.Build() @@ -925,7 +924,7 @@ func TestVariantAndCoreSelection(t *testing.T) { } func TestRunScript(t *testing.T) { - pmb := NewBuilder(nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) + pmb := NewBuilder(nil, nil, nil, nil, nil, "test", downloader.GetDefaultConfig()) pm := pmb.Build() pme, release := pm.NewExplorer() defer release() diff --git a/internal/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go index 6cd6f3578d2..598d1cdc959 100644 --- a/internal/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -74,7 +74,7 @@ func (pmb *Builder) loadProfilePlatform(platformRef *sketch.ProfilePlatformRefer release := platform.GetOrCreateRelease(platformRef.Version) uid := platformRef.InternalUniqueIdentifier() - destDir := configuration.ProfilesCacheDir(settings).Join(uid) + destDir := settings.ProfilesCacheDir().Join(uid) if !destDir.IsDir() && installMissing { // Try installing the missing platform if err := pmb.installMissingProfilePlatform(platformRef, destDir, downloadCB, taskCB); err != nil { @@ -91,7 +91,7 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla if err != nil { return fmt.Errorf("installing missing platform: could not create temp dir %s", err) } - tmpPmb := NewBuilder(tmp, tmp, pmb.DownloadDir, tmp, pmb.userAgent, pmb.downloaderConfig) + tmpPmb := NewBuilder(tmp, tmp, nil, pmb.DownloadDir, tmp, pmb.userAgent, pmb.downloaderConfig) defer tmp.RemoveAll() // Download the main index and parse it @@ -142,7 +142,7 @@ func (pmb *Builder) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url tool := targetPackage.GetOrCreateTool(toolRef.ToolName) uid := toolRef.InternalUniqueIdentifier(indexURL) - destDir := configuration.ProfilesCacheDir(settings).Join(uid) + destDir := settings.ProfilesCacheDir().Join(uid) if !destDir.IsDir() && installMissing { // Try installing the missing tool diff --git a/internal/arduino/resources/helpers_test.go b/internal/arduino/resources/helpers_test.go index 72c595f6c89..75961bec26f 100644 --- a/internal/arduino/resources/helpers_test.go +++ b/internal/arduino/resources/helpers_test.go @@ -52,7 +52,7 @@ func TestDownloadApplyUserAgentHeaderUsingConfig(t *testing.T) { URL: srv.URL, } - settings := configuration.Init("") + settings := configuration.NewSettings() settings.Set("network.user_agent_ext", goldUserAgentValue) config, err := settings.DownloaderConfig() require.NoError(t, err) diff --git a/internal/cli/arguments/reference_test.go b/internal/cli/arguments/reference_test.go index f91109f8de6..e55051cc768 100644 --- a/internal/cli/arguments/reference_test.go +++ b/internal/cli/arguments/reference_test.go @@ -21,7 +21,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -55,7 +54,7 @@ func TestArgsStringify(t *testing.T) { } func TestParseReferenceCores(t *testing.T) { - srv := commands.NewArduinoCoreServer("", configuration.Init("")) + srv := commands.NewArduinoCoreServer() ctx := context.Background() for _, tt := range goodCores { actual, err := arguments.ParseReference(ctx, srv, tt.in) @@ -76,7 +75,7 @@ func TestParseArgs(t *testing.T) { input = append(input, tt.in) } - srv := commands.NewArduinoCoreServer("", configuration.Init("")) + srv := commands.NewArduinoCoreServer() refs, err := arguments.ParseReferences(context.Background(), srv, input) assert.Nil(t, err) assert.Equal(t, len(goodCores), len(refs)) diff --git a/internal/cli/cache/clean.go b/internal/cli/cache/clean.go index 4859676ae1c..a55b9c8309b 100644 --- a/internal/cli/cache/clean.go +++ b/internal/cli/cache/clean.go @@ -29,7 +29,7 @@ func initCleanCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cleanCommand := &cobra.Command{ Use: "clean", Short: tr("Delete Boards/Library Manager download cache."), - Long: tr("Delete contents of the `directories.downloads` folder, where archive files are staged during installation of libraries and boards platforms."), + Long: tr("Delete contents of the downloads cache folder, where archive files are staged during installation of libraries and boards platforms."), Example: " " + os.Args[0] + " cache clean", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { diff --git a/internal/cli/cli.go b/internal/cli/cli.go index ef6c54e806e..5467e617fc7 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -17,6 +17,7 @@ package cli import ( "context" + "encoding/json" "fmt" "io" "os" @@ -28,7 +29,6 @@ import ( "github.com/arduino/arduino-cli/internal/cli/compile" "github.com/arduino/arduino-cli/internal/cli/completion" "github.com/arduino/arduino-cli/internal/cli/config" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/core" "github.com/arduino/arduino-cli/internal/cli/daemon" "github.com/arduino/arduino-cli/internal/cli/debug" @@ -55,31 +55,73 @@ import ( semver "go.bug.st/relaxed-semver" ) -var ( - verbose bool - jsonOutput bool - outputFormat string - configFile string -) - // NewCommand creates a new ArduinoCli command root -func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cobra.AddTemplateFunc("tr", i18n.Tr) var updaterMessageChan chan *semver.Version - // ArduinoCli is the root command + var ( + verbose bool + noColor bool + logLevel string + logFile string + logFormat string + jsonOutput bool + outputFormat string + configFile string + additionalUrls []string + ) + + resp, err := srv.ConfigurationGet(context.Background(), &rpc.ConfigurationGetRequest{}) + if err != nil { + panic("Error creating configuration: " + err.Error()) + } + settings := resp.GetConfiguration() + + defaultLogFile := settings.GetLogging().GetFile() + defaultLogFormat := settings.GetLogging().GetFormat() + defaultAdditionalURLs := settings.GetBoardManager().GetAdditionalUrls() + defaultOutputNoColor := settings.GetOutput().GetNoColor() + cmd := &cobra.Command{ Use: "arduino-cli", Short: tr("Arduino CLI."), Long: tr("Arduino Command Line Interface (arduino-cli)."), Example: fmt.Sprintf(" %s <%s> [%s...]", os.Args[0], tr("command"), tr("flags")), PersistentPreRun: func(cmd *cobra.Command, args []string) { + ctx := cmd.Context() + + // Override server settings with the flags from the command line + set := func(key string, value any) { + if valueJson, err := json.Marshal(value); err != nil { + feedback.Fatal(tr("Error setting value %s: %v", key, err), feedback.ErrGeneric) + } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: string(valueJson)}); err != nil { + feedback.Fatal(tr("Error setting value %s: %v", key, err), feedback.ErrGeneric) + } + } + set("logging.level", logLevel) + set("logging.file", logFile) + set("board_manager.additional_urls", additionalUrls) + set("output.no_color", noColor) + if jsonOutput { outputFormat = "json" } + if outputFormat != "text" { + cmd.SetHelpFunc(func(cmd *cobra.Command, args []string) { + feedback.Fatal(tr("Should show help message, but it is available only in TEXT mode."), feedback.ErrBadArgument) + }) + } - preRun(cmd, defaultSettings) + preRun(verbose, outputFormat, logLevel, logFile, logFormat, noColor, settings) + + // Log the configuration file used + if configFile := ctx.Value("config_file").(string); configFile != "" { + logrus.Infof("Using config file: %s", configFile) + } else { + logrus.Info("Config file not found, using default values") + } if cmd.Name() != "version" { updaterMessageChan = make(chan *semver.Version) @@ -115,13 +157,13 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration cmd.AddCommand(board.NewCommand(srv)) cmd.AddCommand(cache.NewCommand(srv)) - cmd.AddCommand(compile.NewCommand(srv, defaultSettings)) + cmd.AddCommand(compile.NewCommand(srv, settings)) cmd.AddCommand(completion.NewCommand()) - cmd.AddCommand(config.NewCommand(srv, defaultSettings)) + cmd.AddCommand(config.NewCommand(srv, settings)) cmd.AddCommand(core.NewCommand(srv)) - cmd.AddCommand(daemon.NewCommand(srv, defaultSettings)) + cmd.AddCommand(daemon.NewCommand(srv, settings)) cmd.AddCommand(generatedocs.NewCommand()) - cmd.AddCommand(lib.NewCommand(srv, defaultSettings)) + cmd.AddCommand(lib.NewCommand(srv, settings)) cmd.AddCommand(monitor.NewCommand(srv)) cmd.AddCommand(outdated.NewCommand(srv)) cmd.AddCommand(sketch.NewCommand(srv)) @@ -132,31 +174,26 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration cmd.AddCommand(burnbootloader.NewCommand(srv)) cmd.AddCommand(version.NewCommand(srv)) cmd.AddCommand(feedback.NewCommand()) + cmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, tr("Print the logs on the standard output.")) cmd.Flag("verbose").Hidden = true cmd.PersistentFlags().BoolVar(&verbose, "log", false, tr("Print the logs on the standard output.")) + defaultLogLevel := settings.GetLogging().GetLevel() validLogLevels := []string{"trace", "debug", "info", "warn", "error", "fatal", "panic"} - cmd.PersistentFlags().String("log-level", "", tr("Messages with this level and above will be logged. Valid levels are: %s", strings.Join(validLogLevels, ", "))) - cmd.RegisterFlagCompletionFunc("log-level", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return validLogLevels, cobra.ShellCompDirectiveDefault - }) - cmd.PersistentFlags().String("log-file", "", tr("Path to the file where logs will be written.")) + cmd.PersistentFlags().StringVar(&logLevel, "log-level", defaultLogLevel, tr("Messages with this level and above will be logged. Valid levels are: %s", strings.Join(validLogLevels, ", "))) + cmd.RegisterFlagCompletionFunc("log-level", cobra.FixedCompletions(validLogLevels, cobra.ShellCompDirectiveDefault)) + cmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, tr("Path to the file where logs will be written.")) validLogFormats := []string{"text", "json"} - cmd.PersistentFlags().String("log-format", "", tr("The output format for the logs, can be: %s", strings.Join(validLogFormats, ", "))) - cmd.RegisterFlagCompletionFunc("log-format", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return validLogFormats, cobra.ShellCompDirectiveDefault - }) + cmd.PersistentFlags().StringVar(&logFormat, "log-format", defaultLogFormat, tr("The output format for the logs, can be: %s", strings.Join(validLogFormats, ", "))) + cmd.RegisterFlagCompletionFunc("log-format", cobra.FixedCompletions(validLogFormats, cobra.ShellCompDirectiveDefault)) validOutputFormats := []string{"text", "json", "jsonmini"} cmd.PersistentFlags().StringVar(&outputFormat, "format", "text", tr("The command output format, can be: %s", strings.Join(validOutputFormats, ", "))) - cmd.RegisterFlagCompletionFunc("format", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return validOutputFormats, cobra.ShellCompDirectiveDefault - }) + cmd.RegisterFlagCompletionFunc("format", cobra.FixedCompletions(validOutputFormats, cobra.ShellCompDirectiveDefault)) cmd.Flag("format").Hidden = true cmd.PersistentFlags().BoolVar(&jsonOutput, "json", false, tr("Print the output in JSON format.")) cmd.PersistentFlags().StringVar(&configFile, "config-file", "", tr("The custom config file (if not specified the default will be used).")) - cmd.PersistentFlags().StringSlice("additional-urls", []string{}, tr("Comma-separated list of additional URLs for the Boards Manager.")) - cmd.PersistentFlags().Bool("no-color", false, "Disable colored output.") - configuration.BindFlags(cmd, defaultSettings) + cmd.PersistentFlags().StringSliceVar(&additionalUrls, "additional-urls", defaultAdditionalURLs, tr("Comma-separated list of additional URLs for the Boards Manager.")) + cmd.PersistentFlags().BoolVar(&noColor, "no-color", defaultOutputNoColor, "Disable colored output.") return cmd } @@ -177,17 +214,15 @@ func toLogLevel(s string) (t logrus.Level, found bool) { return } -func preRun(cmd *cobra.Command, defaultSettings *configuration.Settings) { - configFile := defaultSettings.ConfigFileUsed() - +func preRun(verbose bool, outputFormat string, logLevel, logFile, logFormat string, noColor bool, settings *rpc.Configuration) { // initialize inventory - err := inventory.Init(configuration.DataDir(defaultSettings).String()) + err := inventory.Init(settings.GetDirectories().GetData()) if err != nil { feedback.Fatal(fmt.Sprintf("Error: %v", err), feedback.ErrInitializingInventory) } // https://no-color.org/ - color.NoColor = defaultSettings.GetBool("output.no_color") || os.Getenv("NO_COLOR") != "" + color.NoColor = noColor || os.Getenv("NO_COLOR") != "" // Set default feedback output to colorable feedback.SetOut(colorable.NewColorableStdout()) @@ -210,13 +245,12 @@ func preRun(cmd *cobra.Command, defaultSettings *configuration.Settings) { } // set the Logger format - logFormat := strings.ToLower(defaultSettings.GetString("logging.format")) + logFormat = strings.ToLower(logFormat) if logFormat == "json" { logrus.SetFormatter(&logrus.JSONFormatter{}) } // should we log to file? - logFile := defaultSettings.GetString("logging.file") if logFile != "" { file, err := os.OpenFile(logFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { @@ -232,41 +266,26 @@ func preRun(cmd *cobra.Command, defaultSettings *configuration.Settings) { } // configure logging filter - if lvl, found := toLogLevel(defaultSettings.GetString("logging.level")); !found { - feedback.Fatal(tr("Invalid option for --log-level: %s", defaultSettings.GetString("logging.level")), feedback.ErrBadArgument) + if logrusLevel, found := toLogLevel(logLevel); !found { + feedback.Fatal(tr("Invalid logging level: %s", logLevel), feedback.ErrBadArgument) } else { - logrus.SetLevel(lvl) + logrus.SetLevel(logrusLevel) } // // Prepare the Feedback system // - // check the right output format was passed - format, found := feedback.ParseOutputFormat(outputFormat) - if !found { + // use the output format to configure the Feedback + format, ok := feedback.ParseOutputFormat(outputFormat) + if !ok { feedback.Fatal(tr("Invalid output format: %s", outputFormat), feedback.ErrBadArgument) } - - // use the output format to configure the Feedback feedback.SetFormat(format) // // Print some status info and check command is consistent // - if configFile != "" { - logrus.Infof("Using config file: %s", configFile) - } else { - logrus.Info("Config file not found, using default values") - } - logrus.Info(versioninfo.VersionInfo.Application + " version " + versioninfo.VersionInfo.VersionString) - - if outputFormat != "text" { - cmd.SetHelpFunc(func(cmd *cobra.Command, args []string) { - logrus.Warn("Calling help on JSON format") - feedback.Fatal(tr("Invalid Call : should show Help, but it is available only in TEXT mode."), feedback.ErrBadArgument) - }) - } } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 290b5a4c649..4b4ad4164bd 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -27,7 +27,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/cli/arguments" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" @@ -58,7 +57,7 @@ var ( uploadAfterCompile bool // Upload the binary after the compilation. portArgs arguments.Port // Upload port, e.g.: COM10 or /dev/ttyACM0. verify bool // Upload, verify uploaded binary after the upload. - exportBinaries bool // + exportBinaries bool // If set built binaries will be exported to the sketch folder exportDir string // The compiled binary is written to this file optimizeForDebug bool // Optimize compile output for debug, not for release programmer arguments.Programmer // Use the specified programmer to upload @@ -77,7 +76,7 @@ var ( ) // NewCommand created a new `compile` command -func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) *cobra.Command { compileCommand := &cobra.Command{ Use: "compile", Short: tr("Compiles Arduino sketches."), @@ -99,7 +98,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration showPropertiesArg.AddToCommand(compileCommand) compileCommand.Flags().BoolVar(&preprocess, "preprocess", false, tr("Print preprocessed code to stdout instead of compiling.")) compileCommand.Flags().StringVar(&buildCachePath, "build-cache-path", "", tr("Builds of 'core.a' are saved into this path to be cached and reused.")) - compileCommand.Flags().StringVarP(&exportDir, "output-dir", "", "", tr("Save build artifacts in this directory.")) + compileCommand.Flags().StringVar(&exportDir, "output-dir", "", tr("Save build artifacts in this directory.")) compileCommand.Flags().StringVar(&buildPath, "build-path", "", tr("Path where to save compiled files. If omitted, a directory will be created in the default temporary path of your OS.")) compileCommand.Flags().StringSliceVar(&buildProperties, "build-properties", []string{}, @@ -127,13 +126,13 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration programmer.AddToCommand(compileCommand, srv) compileCommand.Flags().BoolVar(&compilationDatabaseOnly, "only-compilation-database", false, tr("Just produce the compilation database, without actually compiling. All build commands are skipped except pre* hooks.")) compileCommand.Flags().BoolVar(&clean, "clean", false, tr("Optional, cleanup the build folder and do not use any cached build.")) - compileCommand.Flags().BoolVarP(&exportBinaries, "export-binaries", "e", false, tr("If set built binaries will be exported to the sketch folder.")) + compileCommand.Flags().BoolVarP(&exportBinaries, "export-binaries", "e", settings.GetSketch().GetAlwaysExportBinaries(), + tr("If set built binaries will be exported to the sketch folder.")) compileCommand.Flags().StringVar(&sourceOverrides, "source-override", "", tr("Optional. Path to a .json file that contains a set of replacements of the sketch source code.")) compileCommand.Flag("source-override").Hidden = true compileCommand.Flags().BoolVar(&skipLibrariesDiscovery, "skip-libraries-discovery", false, "Skip libraries discovery. This flag is provided only for use in language server and other, very specific, use cases. Do not use for normal compiles") compileCommand.Flag("skip-libraries-discovery").Hidden = true compileCommand.Flags().Int32VarP(&jobs, "jobs", "j", 0, tr("Max number of parallel compiles. If set to 0 the number of available CPUs cores will be used.")) - defaultSettings.BindPFlag("sketch.always_export_binaries", compileCommand.Flags().Lookup("export-binaries")) compileCommand.Flags().MarkDeprecated("build-properties", tr("please use --build-property instead.")) @@ -233,6 +232,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer Warnings: warnings, Verbose: verbose, Quiet: quiet, + ExportBinaries: &exportBinaries, ExportDir: exportDir, Libraries: libraries, OptimizeForDebug: optimizeForDebug, diff --git a/internal/cli/config/add.go b/internal/cli/config/add.go index 5678e52e470..059ecad07c1 100644 --- a/internal/cli/config/add.go +++ b/internal/cli/config/add.go @@ -16,35 +16,18 @@ package config import ( + "context" + "encoding/json" "os" - "reflect" + "slices" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) -func uniquify[T comparable](s []T) []T { - // use a map, which enforces unique keys - inResult := make(map[T]bool) - var result []T - // loop through input slice **in order**, - // to ensure output retains that order - // (except that it removes duplicates) - for i := 0; i < len(s); i++ { - // attempt to use the element as a key - if _, ok := inResult[s[i]]; !ok { - // if key didn't exist in map, - // add to map and append to result - inResult[s[i]] = true - result = append(result, s[i]) - } - } - return result -} - -func initAddCommand(defaultSettings *configuration.Settings) *cobra.Command { +func initAddCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { addCommand := &cobra.Command{ Use: "add", Short: tr("Adds one or more values to a setting."), @@ -54,31 +37,44 @@ func initAddCommand(defaultSettings *configuration.Settings) *cobra.Command { " " + os.Args[0] + " config add board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json\n", Args: cobra.MinimumNArgs(2), Run: func(cmd *cobra.Command, args []string) { - runAddCommand(args, defaultSettings) + ctx := cmd.Context() + runAddCommand(ctx, srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetSlicesConfigurationKeys(defaultSettings), cobra.ShellCompDirectiveDefault + ctx := cmd.Context() + return getAllArraySettingsKeys(ctx, srv), cobra.ShellCompDirectiveDefault }, } return addCommand } -func runAddCommand(args []string, defaultSettings *configuration.Settings) { +func runAddCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli config add`") key := args[0] - kind := validateKey(key) - if kind != reflect.Slice { + if !slices.Contains(getAllArraySettingsKeys(ctx, srv), key) { msg := tr("The key '%[1]v' is not a list of items, can't add to it.\nMaybe use '%[2]s'?", key, "config set") feedback.Fatal(msg, feedback.ErrGeneric) } - v := defaultSettings.GetStringSlice(key) - v = append(v, args[1:]...) - v = uniquify(v) - defaultSettings.Set(key, v) + var currentValues []string + if resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: key}); err != nil { + feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + } else if err := json.Unmarshal([]byte(resp.GetEncodedValue()), ¤tValues); err != nil { + feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + } - if err := defaultSettings.WriteConfig(); err != nil { - feedback.Fatal(tr("Can't write config file: %v", err), feedback.ErrGeneric) + for _, arg := range args[1:] { + if !slices.Contains(currentValues, arg) { + currentValues = append(currentValues, arg) + } + } + + if newValuesJSON, err := json.Marshal(currentValues); err != nil { + feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: string(newValuesJSON)}); err != nil { + feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } + + saveConfiguration(ctx, srv) } diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index d8d4cbf5e46..8c69e8e3f44 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -16,46 +16,64 @@ package config import ( + "context" "os" - "reflect" + "strings" - "github.com/arduino/arduino-cli/internal/cli/configuration" + f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-paths-helper" "github.com/spf13/cobra" ) var tr = i18n.Tr // NewCommand created a new `config` command -func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) *cobra.Command { configCommand := &cobra.Command{ Use: "config", Short: tr("Arduino configuration commands."), Example: " " + os.Args[0] + " config init", } - configCommand.AddCommand(initAddCommand(defaultSettings)) - configCommand.AddCommand(initDeleteCommand(srv, defaultSettings)) - configCommand.AddCommand(initDumpCommand(defaultSettings)) - configCommand.AddCommand(initGetCommand(srv, defaultSettings)) - configCommand.AddCommand(initInitCommand(defaultSettings)) - configCommand.AddCommand(initRemoveCommand(defaultSettings)) - configCommand.AddCommand(initSetCommand(defaultSettings)) + configCommand.AddCommand(initAddCommand(srv)) + configCommand.AddCommand(initDeleteCommand(srv)) + configCommand.AddCommand(initDumpCommand(srv)) + configCommand.AddCommand(initGetCommand(srv)) + configCommand.AddCommand(initInitCommand(srv)) + configCommand.AddCommand(initRemoveCommand(srv)) + configCommand.AddCommand(initSetCommand(srv)) return configCommand } -// GetSlicesConfigurationKeys is an helper function useful to autocomplete. -// It returns a list of configuration keys which can be changed -func GetSlicesConfigurationKeys(settings *configuration.Settings) []string { - var res []string - keys := settings.AllKeys() - for _, key := range keys { - kind, _ := typeOf(key) - if kind == reflect.Slice { - res = append(res, key) - } +func getAllSettingsKeys(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + res, _ := srv.SettingsEnumerate(ctx, &rpc.SettingsEnumerateRequest{}) + allKeys := f.Map(res.GetEntries(), (*rpc.SettingsEnumerateResponse_Entry).GetKey) + return allKeys +} + +func getAllArraySettingsKeys(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { + res, _ := srv.SettingsEnumerate(ctx, &rpc.SettingsEnumerateRequest{}) + arrayEntries := f.Filter(res.GetEntries(), func(e *rpc.SettingsEnumerateResponse_Entry) bool { + return strings.HasPrefix(e.GetType(), "[]") + }) + arrayKeys := f.Map(arrayEntries, (*rpc.SettingsEnumerateResponse_Entry).GetKey) + return arrayKeys +} + +func saveConfiguration(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { + var outConfig []byte + if res, err := srv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}); err != nil { + feedback.Fatal(tr("Error writing to file: %v", err), feedback.ErrGeneric) + } else { + outConfig = []byte(res.GetEncodedSettings()) + } + + configFile := ctx.Value("config_file").(string) + if err := paths.New(configFile).WriteFile(outConfig); err != nil { + feedback.Fatal(tr("Error writing to file: %v", err), feedback.ErrGeneric) } - return res } diff --git a/internal/cli/config/delete.go b/internal/cli/config/delete.go index 75b81563aed..7ba5437cda2 100644 --- a/internal/cli/config/delete.go +++ b/internal/cli/config/delete.go @@ -19,15 +19,13 @@ import ( "context" "os" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) -func initDeleteCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { - configFile := defaultSettings.ConfigFileUsed() +func initDeleteCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { deleteCommand := &cobra.Command{ Use: "delete", Short: tr("Deletes a settings key and all its sub keys."), @@ -37,26 +35,24 @@ func initDeleteCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *config " " + os.Args[0] + " config delete board_manager.additional_urls", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDeleteCommand(srv, args, configFile) + ctx := cmd.Context() + runDeleteCommand(ctx, srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return defaultSettings.AllKeys(), cobra.ShellCompDirectiveDefault + ctx := cmd.Context() + return getAllSettingsKeys(ctx, srv), cobra.ShellCompDirectiveDefault }, } return deleteCommand } -func runDeleteCommand(srv rpc.ArduinoCoreServiceServer, args []string, configFile string) { +func runDeleteCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli config delete`") - ctx := context.Background() - toDelete := args[0] - _, err := srv.SettingsDelete(ctx, &rpc.SettingsDeleteRequest{Key: toDelete}) - if err != nil { - feedback.Fatal(tr("Cannot delete the key %[1]s: %[2]v", toDelete, err), feedback.ErrGeneric) - } - _, err = srv.SettingsWrite(ctx, &rpc.SettingsWriteRequest{FilePath: configFile}) - if err != nil { - feedback.Fatal(tr("Cannot write the file %[1]s: %[2]v", configFile, err), feedback.ErrGeneric) + key := args[0] + if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: ""}); err != nil { + feedback.Fatal(tr("Cannot delete the key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } + + saveConfiguration(ctx, srv) } diff --git a/internal/cli/config/dump.go b/internal/cli/config/dump.go index 695e5b11ce8..5212ec9d1fa 100644 --- a/internal/cli/config/dump.go +++ b/internal/cli/config/dump.go @@ -18,14 +18,13 @@ package config import ( "os" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" - "gopkg.in/yaml.v3" ) -func initDumpCommand(defaultSettings *configuration.Settings) *cobra.Command { +func initDumpCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var dumpCommand = &cobra.Command{ Use: "dump", Short: tr("Prints the current configuration"), @@ -34,16 +33,41 @@ func initDumpCommand(defaultSettings *configuration.Settings) *cobra.Command { Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino-cli config dump`") - feedback.PrintResult(dumpResult{defaultSettings.AllSettings()}) + res := &rawResult{} + switch feedback.GetFormat() { + case feedback.JSON, feedback.MinifiedJSON: + resp, err := srv.ConfigurationSave(cmd.Context(), &rpc.ConfigurationSaveRequest{SettingsFormat: "json"}) + if err != nil { + logrus.Fatalf("Error creating configuration: %v", err) + } + res.rawJSON = []byte(resp.GetEncodedSettings()) + case feedback.Text: + resp, err := srv.ConfigurationSave(cmd.Context(), &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}) + if err != nil { + logrus.Fatalf("Error creating configuration: %v", err) + } + res.rawYAML = []byte(resp.GetEncodedSettings()) + default: + logrus.Fatalf("Unsupported format: %v", feedback.GetFormat()) + } + feedback.PrintResult(dumpResult{Config: res}) }, } return dumpCommand } -// output from this command requires special formatting, let's create a dedicated -// feedback.Result implementation +type rawResult struct { + rawJSON []byte + rawYAML []byte +} + +func (r *rawResult) MarshalJSON() ([]byte, error) { + // it is already encoded in rawJSON field + return r.rawJSON, nil +} + type dumpResult struct { - Config map[string]interface{} `json:"config"` + Config *rawResult `json:"config"` } func (dr dumpResult) Data() interface{} { @@ -51,10 +75,6 @@ func (dr dumpResult) Data() interface{} { } func (dr dumpResult) String() string { - bs, err := yaml.Marshal(dr.Config) - if err != nil { - // Should never happen - panic(tr("unable to marshal config to YAML: %v", err)) - } - return string(bs) + // In case of text output do not wrap the output in outer JSON or YAML structure + return string(dr.Config.rawYAML) } diff --git a/internal/cli/config/get.go b/internal/cli/config/get.go index dec61be03a7..3061333366c 100644 --- a/internal/cli/config/get.go +++ b/internal/cli/config/get.go @@ -21,7 +21,6 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -29,7 +28,7 @@ import ( "gopkg.in/yaml.v3" ) -func initGetCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { +func initGetCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { getCommand := &cobra.Command{ Use: "get", Short: tr("Gets a settings key value."), @@ -43,7 +42,8 @@ func initGetCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configura runGetCommand(srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return defaultSettings.AllKeys(), cobra.ShellCompDirectiveDefault + ctx := cmd.Context() + return getAllSettingsKeys(ctx, srv), cobra.ShellCompDirectiveDefault }, } return getCommand @@ -59,8 +59,7 @@ func runGetCommand(srv rpc.ArduinoCoreServiceServer, args []string) { feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", toGet, err), feedback.ErrGeneric) } var result getResult - err = json.Unmarshal([]byte(resp.GetJsonData()), &result.resp) - if err != nil { + if err := json.Unmarshal([]byte(resp.GetEncodedValue()), &result.resp); err != nil { // Should never happen... panic(fmt.Sprintf("Cannot parse JSON for key %[1]s: %[2]v", toGet, err)) } diff --git a/internal/cli/config/init.go b/internal/cli/config/init.go index 5bbc753b153..65f514dfe39 100644 --- a/internal/cli/config/init.go +++ b/internal/cli/config/init.go @@ -16,12 +16,12 @@ package config import ( + "context" "os" - "strings" "github.com/arduino/arduino-cli/internal/cli/arguments" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -35,7 +35,7 @@ var ( const defaultFileName = "arduino-cli.yaml" -func initInitCommand(defaultSettings *configuration.Settings) *cobra.Command { +func initInitCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { initCommand := &cobra.Command{ Use: "init", Short: tr("Writes current configuration to a configuration file."), @@ -50,7 +50,7 @@ func initInitCommand(defaultSettings *configuration.Settings) *cobra.Command { arguments.CheckFlagsConflicts(cmd, "dest-file", "dest-dir") }, Run: func(cmd *cobra.Command, args []string) { - runInitCommand(cmd, defaultSettings) + runInitCommand(srv) }, } initCommand.Flags().StringVar(&destDir, "dest-dir", "", tr("Sets where to save the configuration file.")) @@ -59,8 +59,9 @@ func initInitCommand(defaultSettings *configuration.Settings) *cobra.Command { return initCommand } -func runInitCommand(cmd *cobra.Command, defaultSettings *configuration.Settings) { +func runInitCommand(srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli config init`") + ctx := context.Background() var configFileAbsPath *paths.Path var configFileDir *paths.Path @@ -72,17 +73,18 @@ func runInitCommand(cmd *cobra.Command, defaultSettings *configuration.Settings) if err != nil { feedback.Fatal(tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) } - configFileDir = configFileAbsPath.Parent() - case destDir == "": - destDir = defaultSettings.GetString("directories.Data") - fallthrough - default: + + case destDir != "": configFileDir, err = paths.New(destDir).Abs() if err != nil { feedback.Fatal(tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) } configFileAbsPath = configFileDir.Join(defaultFileName) + + default: + configFileAbsPath = paths.New(ctx.Value("config_file").(string)) + configFileDir = configFileAbsPath.Parent() } if !overwrite && configFileAbsPath.Exist() { @@ -95,19 +97,22 @@ func runInitCommand(cmd *cobra.Command, defaultSettings *configuration.Settings) feedback.Fatal(tr("Cannot create config file directory: %v", err), feedback.ErrGeneric) } - newSettings := configuration.NewSettings() - configuration.BindFlags(cmd, newSettings) + // for _, url := range newSettings.GetStringSlice("board_manager.additional_urls") { + // if strings.Contains(url, ",") { + // feedback.Fatal(tr("Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n%s", url), + // feedback.ErrGeneric) + // } + // } - for _, url := range newSettings.GetStringSlice("board_manager.additional_urls") { - if strings.Contains(url, ",") { - feedback.Fatal(tr("Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n%s", url), - feedback.ErrGeneric) - } + resp, err := srv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}) + if err != nil { + feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) } - if err := newSettings.WriteConfigAs(configFileAbsPath.String()); err != nil { + if err := configFileAbsPath.WriteFile([]byte(resp.GetEncodedSettings())); err != nil { feedback.Fatal(tr("Cannot create config file: %v", err), feedback.ErrGeneric) } + feedback.PrintResult(initResult{ConfigFileAbsPath: configFileAbsPath}) } diff --git a/internal/cli/config/remove.go b/internal/cli/config/remove.go index efbd416913a..4114a146a45 100644 --- a/internal/cli/config/remove.go +++ b/internal/cli/config/remove.go @@ -16,16 +16,18 @@ package config import ( + "context" + "encoding/json" "os" - "reflect" + "slices" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) -func initRemoveCommand(defaultSettings *configuration.Settings) *cobra.Command { +func initRemoveCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { removeCommand := &cobra.Command{ Use: "remove", Short: tr("Removes one or more values from a setting."), @@ -35,39 +37,42 @@ func initRemoveCommand(defaultSettings *configuration.Settings) *cobra.Command { " " + os.Args[0] + " config remove board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json\n", Args: cobra.MinimumNArgs(2), Run: func(cmd *cobra.Command, args []string) { - runRemoveCommand(args, defaultSettings) + ctx := cmd.Context() + runRemoveCommand(ctx, srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetSlicesConfigurationKeys(defaultSettings), cobra.ShellCompDirectiveDefault + ctx := cmd.Context() + return getAllArraySettingsKeys(ctx, srv), cobra.ShellCompDirectiveDefault }, } return removeCommand } -func runRemoveCommand(args []string, defaultSettings *configuration.Settings) { +func runRemoveCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli config remove`") key := args[0] - kind := validateKey(key) - if kind != reflect.Slice { + if !slices.Contains(getAllArraySettingsKeys(ctx, srv), key) { msg := tr("The key '%[1]v' is not a list of items, can't remove from it.\nMaybe use '%[2]s'?", key, "config delete") feedback.Fatal(msg, feedback.ErrGeneric) } - mappedValues := map[string]bool{} - for _, v := range defaultSettings.GetStringSlice(key) { - mappedValues[v] = true + var currentValues []string + if resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: key}); err != nil { + feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + } else if err := json.Unmarshal([]byte(resp.GetEncodedValue()), ¤tValues); err != nil { + feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } + for _, arg := range args[1:] { - delete(mappedValues, arg) - } - values := []string{} - for k := range mappedValues { - values = append(values, k) + currentValues = slices.DeleteFunc(currentValues, func(in string) bool { return in == arg }) } - defaultSettings.Set(key, values) - if err := defaultSettings.WriteConfig(); err != nil { - feedback.Fatal(tr("Can't write config file: %v", err), feedback.ErrGeneric) + if newValuesJSON, err := json.Marshal(currentValues); err != nil { + feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: string(newValuesJSON)}); err != nil { + feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } + + saveConfiguration(ctx, srv) } diff --git a/internal/cli/config/set.go b/internal/cli/config/set.go index 10fb9e6f239..dd219ba1918 100644 --- a/internal/cli/config/set.go +++ b/internal/cli/config/set.go @@ -16,17 +16,17 @@ package config import ( + "context" + "encoding/json" "os" - "reflect" - "strconv" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) -func initSetCommand(defaultSettings *configuration.Settings) *cobra.Command { +func initSetCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { setCommand := &cobra.Command{ Use: "set", Short: tr("Sets a setting value."), @@ -38,41 +38,39 @@ func initSetCommand(defaultSettings *configuration.Settings) *cobra.Command { " " + os.Args[0] + " config set board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json", Args: cobra.MinimumNArgs(2), Run: func(cmd *cobra.Command, args []string) { - runSetCommand(defaultSettings, args) + runSetCommand(cmd.Context(), srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return defaultSettings.AllKeys(), cobra.ShellCompDirectiveDefault + ctx := cmd.Context() + return getAllSettingsKeys(ctx, srv), cobra.ShellCompDirectiveDefault }, } return setCommand } -func runSetCommand(defaultSettings *configuration.Settings, args []string) { +func runSetCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli config set`") - key := args[0] - kind := validateKey(key) - if kind != reflect.Slice && len(args) > 2 { - feedback.Fatal(tr("Can't set multiple values in key %v", key), feedback.ErrGeneric) + req := &rpc.SettingsSetValueRequest{ + Key: args[0], } - - var value interface{} - switch kind { - case reflect.Slice: - value = uniquify(args[1:]) - case reflect.String: - value = args[1] - case reflect.Bool: - var err error - value, err = strconv.ParseBool(args[1]) + if len(args) == 2 { + // Single value + req.EncodedValue = args[1] + req.ValueFormat = "cli" + } else { + // Array + jsonValues, err := json.Marshal(args[1:]) if err != nil { - feedback.Fatal(tr("error parsing value: %v", err), feedback.ErrGeneric) + feedback.Fatal(tr("Error setting value: %v", err), feedback.ErrGeneric) } + req.EncodedValue = string(jsonValues) + req.ValueFormat = "json" } - defaultSettings.Set(key, value) - - if err := defaultSettings.WriteConfig(); err != nil { - feedback.Fatal(tr("Writing config file: %v", err), feedback.ErrGeneric) + if _, err := srv.SettingsSetValue(ctx, req); err != nil { + feedback.Fatal(tr("Error setting value: %v", err), feedback.ErrGeneric) } + + saveConfiguration(ctx, srv) } diff --git a/internal/cli/config/validate.go b/internal/cli/config/validate.go deleted file mode 100644 index f494bfaac0b..00000000000 --- a/internal/cli/config/validate.go +++ /dev/null @@ -1,61 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 config - -import ( - "fmt" - "reflect" - - "github.com/arduino/arduino-cli/internal/cli/feedback" -) - -var validMap = map[string]reflect.Kind{ - "board_manager.additional_urls": reflect.Slice, - "daemon.port": reflect.String, - "directories.data": reflect.String, - "directories.downloads": reflect.String, - "directories.user": reflect.String, - "directories.builtin.tools": reflect.String, - "directories.builtin.libraries": reflect.String, - "library.enable_unsafe_install": reflect.Bool, - "locale": reflect.String, - "logging.file": reflect.String, - "logging.format": reflect.String, - "logging.level": reflect.String, - "sketch.always_export_binaries": reflect.Bool, - "metrics.addr": reflect.String, - "metrics.enabled": reflect.Bool, - "network.proxy": reflect.String, - "network.user_agent_ext": reflect.String, - "output.no_color": reflect.Bool, - "updater.enable_notification": reflect.Bool, -} - -func typeOf(key string) (reflect.Kind, error) { - t, ok := validMap[key] - if !ok { - return reflect.Invalid, fmt.Errorf(tr("Settings key doesn't exist")) - } - return t, nil -} - -func validateKey(key string) reflect.Kind { - kind, err := typeOf(key) - if err != nil { - feedback.FatalError(err, feedback.ErrGeneric) - } - return kind -} diff --git a/internal/cli/configuration/board_manager.go b/internal/cli/configuration/board_manager.go new file mode 100644 index 00000000000..22f982f5404 --- /dev/null +++ b/internal/cli/configuration/board_manager.go @@ -0,0 +1,23 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +func (settings *Settings) BoardManagerAdditionalUrls() []string { + if urls, ok, _ := settings.GetStringSliceOk("board_manager.additional_urls"); ok { + return urls + } + return settings.Defaults.GetStringSlice("board_manager.additional_urls") +} diff --git a/internal/cli/configuration/build_cache.go b/internal/cli/configuration/build_cache.go new file mode 100644 index 00000000000..a4bca322307 --- /dev/null +++ b/internal/cli/configuration/build_cache.go @@ -0,0 +1,34 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +import "time" + +// GetCompilationsBeforeBuildCachePurge returns the number of compilations before the build cache is purged. +func (s *Settings) GetCompilationsBeforeBuildCachePurge() uint { + if res, ok, _ := s.GetUintOk("build_cache.compilations_before_purge"); ok { + return res + } + return s.Defaults.GetUint("build_cache.compilations_before_purge") +} + +// GetBuildCacheTTL returns the time-to-live of the build cache (i.e. the minimum age to wait before purging the cache). +func (s *Settings) GetBuildCacheTTL() time.Duration { + if res, ok, _ := s.GetDurationOk("build_cache.ttl"); ok { + return res + } + return s.Defaults.GetDuration("build_cache.ttl") +} diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index 996a1b1cbfc..672cbb466df 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -19,73 +19,31 @@ import ( "os" "path/filepath" "runtime" - "strings" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/go-configmap" "github.com/arduino/arduino-cli/internal/i18n" - paths "github.com/arduino/go-paths-helper" "github.com/arduino/go-win32-utils" - "github.com/spf13/cobra" - "github.com/spf13/viper" ) var tr = i18n.Tr // Settings contains the configuration of the Arduino CLI core service type Settings struct { - *viper.Viper + *configmap.Map + Defaults *configmap.Map } // NewSettings creates a new instance of Settings with the default values set func NewSettings() *Settings { - res := &Settings{viper.New()} + res := &Settings{ + Map: configmap.New(), + Defaults: configmap.New(), + } SetDefaults(res) return res } -// Init initialize defaults and read the configuration file. -// Please note the logging system hasn't been configured yet, -// so logging shouldn't be used here. -func Init(configFile string) *Settings { - // Create a new viper instance with default values for all the settings - settings := NewSettings() - - // Set config name and config path - if configFilePath := paths.New(configFile); configFilePath != nil { - settings.SetConfigName(strings.TrimSuffix(configFilePath.Base(), configFilePath.Ext())) - settings.AddConfigPath(configFilePath.Parent().String()) - } else { - configDir := settings.GetString("directories.Data") - // Get default data path if none was provided - if configDir == "" { - configDir = getDefaultArduinoDataDir() - } - - settings.SetConfigName("arduino-cli") - settings.AddConfigPath(configDir) - } - - // Attempt to read config file - if err := settings.ReadInConfig(); err != nil { - // ConfigFileNotFoundError is acceptable, anything else - // should be reported to the user - if _, ok := err.(viper.ConfigFileNotFoundError); !ok { - feedback.Warning(tr("Error reading config file: %v", err)) - } - } - - return settings -} - -// BindFlags creates all the flags binding between the cobra Command and the instance of viper -func BindFlags(cmd *cobra.Command, settings *Settings) { - settings.BindPFlag("logging.level", cmd.Flag("log-level")) - settings.BindPFlag("logging.file", cmd.Flag("log-file")) - settings.BindPFlag("logging.format", cmd.Flag("log-format")) - settings.BindPFlag("board_manager.additional_urls", cmd.Flag("additional-urls")) - settings.BindPFlag("output.no_color", cmd.Flag("no-color")) -} - // getDefaultArduinoDataDir returns the full path to the default arduino folder func getDefaultArduinoDataDir() string { userHomeDir, err := os.UserHomeDir() @@ -136,11 +94,6 @@ func getDefaultUserDir() string { } } -// GetDefaultBuiltinLibrariesDir returns the full path to the default builtin libraries dir -func GetDefaultBuiltinLibrariesDir() string { - return filepath.Join(getDefaultArduinoDataDir(), "libraries") -} - // FindConfigFileInArgsFallbackOnEnv returns the config file path using the // argument '--config-file' (if specified), if empty looks for the ARDUINO_CONFIG_FILE env, // or looking in the current working dir @@ -153,5 +106,8 @@ func FindConfigFileInArgsFallbackOnEnv(args []string) string { } } } - return os.Getenv("ARDUINO_CONFIG_FILE") + if p, ok := os.LookupEnv("ARDUINO_CONFIG_FILE"); ok { + return p + } + return filepath.Join(getDefaultArduinoDataDir(), "arduino-cli.yaml") } diff --git a/internal/cli/configuration/configuration_test.go b/internal/cli/configuration/configuration_test.go index 8b0fd3938cc..68d6ab682d4 100644 --- a/internal/cli/configuration/configuration_test.go +++ b/internal/cli/configuration/configuration_test.go @@ -16,47 +16,28 @@ package configuration import ( - "fmt" - "os" - "path/filepath" "testing" "github.com/stretchr/testify/require" ) -func tmpDirOrDie() string { - dir, err := os.MkdirTemp(os.TempDir(), "cli_test") - if err != nil { - panic(fmt.Sprintf("error creating tmp dir: %v", err)) - } - // Symlinks are evaluated becase the temp folder on Mac OS is inside /var, it's not writable - // and is a symlink to /private/var, we want the full path so we do this - dir, err = filepath.EvalSymlinks(dir) - if err != nil { - panic(fmt.Sprintf("error evaluating tmp dir symlink: %v", err)) - } - return dir -} - func TestInit(t *testing.T) { - tmp := tmpDirOrDie() - defer os.RemoveAll(tmp) - settings := Init(filepath.Join(tmp, "arduino-cli.yaml")) - require.NotNil(t, settings) + settings := NewSettings() - require.Equal(t, "info", settings.GetString("logging.level")) - require.Equal(t, "text", settings.GetString("logging.format")) + require.Equal(t, "info", settings.Defaults.GetString("logging.level")) + require.Equal(t, "text", settings.Defaults.GetString("logging.format")) - require.Empty(t, settings.GetStringSlice("board_manager.additional_urls")) + require.Empty(t, settings.Defaults.GetStringSlice("board_manager.additional_urls")) - require.NotEmpty(t, settings.GetString("directories.Data")) - require.NotEmpty(t, settings.GetString("directories.Downloads")) - require.NotEmpty(t, settings.GetString("directories.User")) + require.NotEmpty(t, settings.Defaults.GetString("directories.data")) + require.Empty(t, settings.Defaults.GetString("directories.downloads")) + require.NotEmpty(t, settings.DownloadsDir().String()) + require.NotEmpty(t, settings.Defaults.GetString("directories.user")) - require.Equal(t, "50051", settings.GetString("daemon.port")) + require.Equal(t, "50051", settings.Defaults.GetString("daemon.port")) - require.Equal(t, true, settings.GetBool("metrics.enabled")) - require.Equal(t, ":9090", settings.GetString("metrics.addr")) + require.Equal(t, true, settings.Defaults.GetBool("metrics.enabled")) + require.Equal(t, ":9090", settings.Defaults.GetString("metrics.addr")) } func TestFindConfigFile(t *testing.T) { diff --git a/internal/cli/configuration/daemon.go b/internal/cli/configuration/daemon.go new file mode 100644 index 00000000000..9ae053c2aee --- /dev/null +++ b/internal/cli/configuration/daemon.go @@ -0,0 +1,23 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +func (s *Settings) DaemonPort() string { + if port, ok, _ := s.GetStringOk("daemon.port"); ok { + return port + } + return s.Defaults.GetString("daemon.port") +} diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index c983310a746..a47538dd298 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -16,55 +16,70 @@ package configuration import ( - "path/filepath" - "strings" + "os" "time" ) // SetDefaults sets the default values for certain keys func SetDefaults(settings *Settings) { + setKeyTypeSchema := func(k string, v any) { + settings.SetKeyTypeSchema(k, v) + settings.Defaults.SetKeyTypeSchema(k, v) + } + setDefaultValueAndKeyTypeSchema := func(k string, v any) { + setKeyTypeSchema(k, v) + settings.Defaults.Set(k, v) + } + // logging - settings.SetDefault("logging.level", "info") - settings.SetDefault("logging.format", "text") + setDefaultValueAndKeyTypeSchema("logging.level", "info") + setDefaultValueAndKeyTypeSchema("logging.format", "text") + setKeyTypeSchema("logging.file", "") // Libraries - settings.SetDefault("library.enable_unsafe_install", false) + setDefaultValueAndKeyTypeSchema("library.enable_unsafe_install", false) // Boards Manager - settings.SetDefault("board_manager.additional_urls", []string{}) + setDefaultValueAndKeyTypeSchema("board_manager.additional_urls", []string{}) // arduino directories - settings.SetDefault("directories.Data", getDefaultArduinoDataDir()) - settings.SetDefault("directories.Downloads", filepath.Join(getDefaultArduinoDataDir(), "staging")) - settings.SetDefault("directories.User", getDefaultUserDir()) + setDefaultValueAndKeyTypeSchema("directories.data", getDefaultArduinoDataDir()) + setDefaultValueAndKeyTypeSchema("directories.downloads", "") + setDefaultValueAndKeyTypeSchema("directories.user", getDefaultUserDir()) // Sketch compilation - settings.SetDefault("sketch.always_export_binaries", false) - settings.SetDefault("build_cache.ttl", time.Hour*24*30) - settings.SetDefault("build_cache.compilations_before_purge", 10) + setDefaultValueAndKeyTypeSchema("sketch.always_export_binaries", false) + setDefaultValueAndKeyTypeSchema("build_cache.ttl", (time.Hour * 24 * 30).String()) + setDefaultValueAndKeyTypeSchema("build_cache.compilations_before_purge", uint(10)) // daemon settings - settings.SetDefault("daemon.port", "50051") + setDefaultValueAndKeyTypeSchema("daemon.port", "50051") // metrics settings - settings.SetDefault("metrics.enabled", true) - settings.SetDefault("metrics.addr", ":9090") + setDefaultValueAndKeyTypeSchema("metrics.enabled", true) + setDefaultValueAndKeyTypeSchema("metrics.addr", ":9090") // output settings - settings.SetDefault("output.no_color", false) + setDefaultValueAndKeyTypeSchema("output.no_color", false) // updater settings - settings.SetDefault("updater.enable_notification", true) + setDefaultValueAndKeyTypeSchema("updater.enable_notification", true) +} +// InjectEnvVars change settings based on the environment variables values +func InjectEnvVars(settings *Settings) { // Bind env vars - settings.SetEnvPrefix("ARDUINO") - settings.SetEnvKeyReplacer(strings.NewReplacer(".", "_")) - settings.AutomaticEnv() + settings.InjectEnvVars(os.Environ(), "ARDUINO") // Bind env aliases to keep backward compatibility - settings.BindEnv("library.enable_unsafe_install", "ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL") - settings.BindEnv("directories.User", "ARDUINO_SKETCHBOOK_DIR") - settings.BindEnv("directories.Downloads", "ARDUINO_DOWNLOADS_DIR") - settings.BindEnv("directories.Data", "ARDUINO_DATA_DIR") - settings.BindEnv("sketch.always_export_binaries", "ARDUINO_SKETCH_ALWAYS_EXPORT_BINARIES") + setIfEnvExists := func(key, env string) { + if v, ok := os.LookupEnv(env); ok { + settings.SetFromCLIArgs(key, v) + } + } + setIfEnvExists("library.enable_unsafe_install", "ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL") + setIfEnvExists("directories.user", "ARDUINO_SKETCHBOOK_DIR") + setIfEnvExists("directories.downloads", "ARDUINO_DOWNLOADS_DIR") + setIfEnvExists("directories.data", "ARDUINO_DATA_DIR") + setIfEnvExists("sketch.always_export_binaries", "ARDUINO_SKETCH_ALWAYS_EXPORT_BINARIES") } diff --git a/internal/cli/configuration/directories.go b/internal/cli/configuration/directories.go index 0fb9a9d19e5..a58aa21f885 100644 --- a/internal/cli/configuration/directories.go +++ b/internal/cli/configuration/directories.go @@ -20,20 +20,15 @@ import ( ) // HardwareDirectories returns all paths that may contains hardware packages. -func HardwareDirectories(settings *Settings) paths.PathList { +func (settings *Settings) HardwareDirectories() paths.PathList { res := paths.PathList{} - if settings.IsSet("directories.Data") { - packagesDir := PackagesDir(settings) - if packagesDir.IsDir() { - res.Add(packagesDir) - } + if packagesDir := settings.PackagesDir(); packagesDir.IsDir() { + res.Add(packagesDir) } - if settings.IsSet("directories.User") { - skDir := paths.New(settings.GetString("directories.User")) - hwDir := skDir.Join("hardware") - if hwDir.IsDir() { + if userDir, ok, _ := settings.GetStringOk("directories.user"); ok { + if hwDir := paths.New(userDir, "hardware"); hwDir.IsDir() { res.Add(hwDir) } } @@ -43,34 +38,51 @@ func HardwareDirectories(settings *Settings) paths.PathList { // IDEBuiltinLibrariesDir returns the IDE-bundled libraries path. Usually // this directory is present in the Arduino IDE. -func IDEBuiltinLibrariesDir(settings *Settings) *paths.Path { - return paths.New(settings.GetString("directories.builtin.Libraries")) +func (settings *Settings) IDEBuiltinLibrariesDir() *paths.Path { + if builtinLibsDir, ok, _ := settings.GetStringOk("directories.builtin.libraries"); ok { + return paths.New(builtinLibsDir) + } + return nil } // LibrariesDir returns the full path to the user directory containing // custom libraries -func LibrariesDir(settings *Settings) *paths.Path { - return paths.New(settings.GetString("directories.User")).Join("libraries") +func (settings *Settings) LibrariesDir() *paths.Path { + return settings.UserDir().Join("libraries") +} + +// UserDir returns the full path to the user directory +func (settings *Settings) UserDir() *paths.Path { + if userDir, ok, _ := settings.GetStringOk("directories.user"); ok { + return paths.New(userDir) + } + return paths.New(settings.Defaults.GetString("directories.user")) } // PackagesDir returns the full path to the packages folder -func PackagesDir(settings *Settings) *paths.Path { - return DataDir(settings).Join("packages") +func (settings *Settings) PackagesDir() *paths.Path { + return settings.DataDir().Join("packages") } // ProfilesCacheDir returns the full path to the profiles cache directory // (it contains all the platforms and libraries used to compile a sketch // using profiles) -func ProfilesCacheDir(settings *Settings) *paths.Path { - return DataDir(settings).Join("internal") +func (settings *Settings) ProfilesCacheDir() *paths.Path { + return settings.DataDir().Join("internal") } // DataDir returns the full path to the data directory -func DataDir(settings *Settings) *paths.Path { - return paths.New(settings.GetString("directories.Data")) +func (settings *Settings) DataDir() *paths.Path { + if dataDir, ok, _ := settings.GetStringOk("directories.data"); ok { + return paths.New(dataDir) + } + return paths.New(settings.Defaults.GetString("directories.data")) } // DownloadsDir returns the full path to the download cache directory -func DownloadsDir(settings *Settings) *paths.Path { - return paths.New(settings.GetString("directories.Downloads")) +func (settings *Settings) DownloadsDir() *paths.Path { + if downloadDir, ok, _ := settings.GetStringOk("directories.downloads"); ok { + return paths.New(downloadDir) + } + return settings.DataDir().Join("staging") } diff --git a/internal/cli/configuration/libraries.go b/internal/cli/configuration/libraries.go new file mode 100644 index 00000000000..6dc73b9b0d6 --- /dev/null +++ b/internal/cli/configuration/libraries.go @@ -0,0 +1,20 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +func (s *Settings) LibraryEnableUnsafeInstall() bool { + return s.GetBool("library.enable_unsafe_install") +} diff --git a/internal/cli/configuration/locale.go b/internal/cli/configuration/locale.go new file mode 100644 index 00000000000..e292ea8f170 --- /dev/null +++ b/internal/cli/configuration/locale.go @@ -0,0 +1,20 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +func (s *Settings) Locale() string { + return s.Defaults.GetString("locale") +} diff --git a/internal/cli/configuration/logging.go b/internal/cli/configuration/logging.go new file mode 100644 index 00000000000..73f1bacab35 --- /dev/null +++ b/internal/cli/configuration/logging.go @@ -0,0 +1,42 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +import "github.com/arduino/go-paths-helper" + +func (s *Settings) LoggingLevel() string { + if l, ok, _ := s.GetStringOk("logging.level"); ok { + return l + } + return s.Defaults.GetString("logging.level") +} + +func (s *Settings) LoggingFormat() string { + if l, ok, _ := s.GetStringOk("logging.format"); ok { + return l + } + return s.Defaults.GetString("logging.format") +} + +func (s *Settings) LoggingFile() *paths.Path { + if l, ok, _ := s.GetStringOk("logging.file"); ok && l != "" { + return paths.New(l) + } + if l, ok, _ := s.Defaults.GetStringOk("logging.file"); ok && l != "" { + return paths.New(l) + } + return nil +} diff --git a/internal/cli/configuration/network.go b/internal/cli/configuration/network.go index c88b974c10d..7fac7ee6890 100644 --- a/internal/cli/configuration/network.go +++ b/internal/cli/configuration/network.go @@ -1,6 +1,6 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 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. @@ -28,7 +28,7 @@ import ( ) // UserAgent returns the user agent (mainly used by HTTP clients) -func UserAgent(settings *Settings) string { +func (settings *Settings) UserAgent() string { subComponent := "" if settings != nil { subComponent = settings.GetString("network.user_agent_ext") @@ -51,15 +51,14 @@ func UserAgent(settings *Settings) string { extendedUA) } +// ExtraUserAgent returns the extended user-agent section provided via configuration settings +func (settings *Settings) ExtraUserAgent() string { + return settings.GetString("network.user_agent_ext") +} + // NetworkProxy returns the proxy configuration (mainly used by HTTP clients) -func NetworkProxy(settings *Settings) (*url.URL, error) { - if settings == nil || !settings.IsSet("network.proxy") { - return nil, nil - } - if proxyConfig := settings.GetString("network.proxy"); proxyConfig == "" { - // empty configuration - // this workaround must be here until viper can UnSet properties: - // https://github.com/spf13/viper/pull/519 +func (settings *Settings) NetworkProxy() (*url.URL, error) { + if proxyConfig, ok, _ := settings.GetStringOk("network.proxy"); !ok { return nil, nil } else if proxy, err := url.Parse(proxyConfig); err != nil { return nil, fmt.Errorf(tr("Invalid network.proxy '%[1]s': %[2]s"), proxyConfig, err) @@ -70,7 +69,7 @@ func NetworkProxy(settings *Settings) (*url.URL, error) { // NewHttpClient returns a new http client for use in the arduino-cli func (settings *Settings) NewHttpClient() (*http.Client, error) { - proxy, err := NetworkProxy(settings) + proxy, err := settings.NetworkProxy() if err != nil { return nil, err } @@ -79,7 +78,7 @@ func (settings *Settings) NewHttpClient() (*http.Client, error) { transport: &http.Transport{ Proxy: http.ProxyURL(proxy), }, - userAgent: UserAgent(settings), + userAgent: settings.UserAgent(), }, }, nil } diff --git a/internal/cli/configuration/network_test.go b/internal/cli/configuration/network_test.go index 6d6218c8f5d..ba713394d34 100644 --- a/internal/cli/configuration/network_test.go +++ b/internal/cli/configuration/network_test.go @@ -32,7 +32,7 @@ func TestUserAgentHeader(t *testing.T) { })) defer ts.Close() - settings := configuration.Init("") + settings := configuration.NewSettings() settings.Set("network.user_agent_ext", "test-user-agent") client, err := settings.NewHttpClient() require.NoError(t, err) @@ -55,7 +55,7 @@ func TestProxy(t *testing.T) { })) defer ts.Close() - settings := configuration.Init("") + settings := configuration.NewSettings() settings.Set("network.proxy", ts.URL) client, err := settings.NewHttpClient() require.NoError(t, err) diff --git a/internal/cli/configuration/output.go b/internal/cli/configuration/output.go new file mode 100644 index 00000000000..67ae5e72d99 --- /dev/null +++ b/internal/cli/configuration/output.go @@ -0,0 +1,20 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +func (s *Settings) NoColor() bool { + return s.GetBool("output.no_color") +} diff --git a/internal/cli/configuration/sketch.go b/internal/cli/configuration/sketch.go new file mode 100644 index 00000000000..27638b67df5 --- /dev/null +++ b/internal/cli/configuration/sketch.go @@ -0,0 +1,25 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +// SketchAlwaysExportBinaries returns true if the compile command should +// export binaries by default. +func (settings *Settings) SketchAlwaysExportBinaries() bool { + if res, ok, _ := settings.GetBoolOk("sketch.always_export_binaries"); ok { + return res + } + return settings.Defaults.GetBool("sketch.always_export_binaries") +} diff --git a/internal/cli/configuration/updater.go b/internal/cli/configuration/updater.go new file mode 100644 index 00000000000..3f553782254 --- /dev/null +++ b/internal/cli/configuration/updater.go @@ -0,0 +1,23 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configuration + +func (s *Settings) UpdaterEnableNotification() bool { + if en, ok, _ := s.GetBoolOk("updater.enable_notification"); ok { + return en + } + return s.GetBool("updater.enable_notification") +} diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 8e719400eaf..76c7e9a24ef 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -21,10 +21,10 @@ import ( "fmt" "net" "os" + "path/filepath" "strings" "syscall" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -43,7 +43,7 @@ var ( ) // NewCommand created a new `daemon` command -func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) *cobra.Command { var daemonPort string daemonCommand := &cobra.Command{ Use: "daemon", @@ -52,19 +52,40 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration Args: cobra.NoArgs, PreRun: func(cmd *cobra.Command, args []string) { // Bundled libraries support is enabled by default when running as a daemon - defaultSettings.SetDefault( - "directories.builtin.Libraries", - configuration.GetDefaultBuiltinLibrariesDir()) + if settings.GetDirectories().GetBuiltin().GetLibraries() == "" { + defaultBuiltinLibDir := filepath.Join(settings.GetDirectories().GetData(), "libraries") + _, err := srv.SettingsSetValue(cmd.Context(), &rpc.SettingsSetValueRequest{ + Key: "directories.builtin.libraries", + ValueFormat: "cli", + EncodedValue: defaultBuiltinLibDir, + }) + if err != nil { + // Should never happen... + panic("Failed to set default value for directories.builtin.libraries: " + err.Error()) + } + } }, Run: func(cmd *cobra.Command, args []string) { runDaemonCommand(srv, daemonPort) }, } - daemonCommand.Flags().StringVar(&daemonPort, "port", defaultSettings.GetString("daemon.port"), tr("The TCP port the daemon will listen to")) - daemonCommand.Flags().BoolVar(&daemonize, "daemonize", false, tr("Do not terminate daemon process if the parent process dies")) - daemonCommand.Flags().BoolVar(&debug, "debug", false, tr("Enable debug logging of gRPC calls")) - daemonCommand.Flags().StringVar(&debugFile, "debug-file", "", tr("Append debug logging to the specified file")) - daemonCommand.Flags().StringSliceVar(&debugFilters, "debug-filter", []string{}, tr("Display only the provided gRPC calls")) + defaultDaemonPort := settings.GetDaemon().GetPort() + + daemonCommand.Flags().StringVar(&daemonPort, + "port", defaultDaemonPort, + tr("The TCP port the daemon will listen to")) + daemonCommand.Flags().BoolVar(&daemonize, + "daemonize", false, + tr("Do not terminate daemon process if the parent process dies")) + daemonCommand.Flags().BoolVar(&debug, + "debug", false, + tr("Enable debug logging of gRPC calls")) + daemonCommand.Flags().StringVar(&debugFile, + "debug-file", "", + tr("Append debug logging to the specified file")) + daemonCommand.Flags().StringSliceVar(&debugFilters, + "debug-filter", []string{}, + tr("Display only the provided gRPC calls")) return daemonCommand } diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index d8aafc8bd1a..7465b4f4fbd 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -23,7 +23,6 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -34,13 +33,13 @@ import ( semver "go.bug.st/relaxed-semver" ) -func initInstallCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { +func initInstallCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) *cobra.Command { var noDeps bool var noOverwrite bool var gitURL bool var zipPath bool var useBuiltinLibrariesDir bool - enableUnsafeInstall := defaultSettings.GetBool("library.enable_unsafe_install") + enableUnsafeInstall := settings.GetLibrary().GetEnableUnsafeInstall() installCommand := &cobra.Command{ Use: fmt.Sprintf("install %s[@%s]...", tr("LIBRARY"), tr("VERSION_NUMBER")), Short: tr("Installs one or more specified libraries into the system."), diff --git a/internal/cli/lib/lib.go b/internal/cli/lib/lib.go index d26c8678f08..5aa89cee8dd 100644 --- a/internal/cli/lib/lib.go +++ b/internal/cli/lib/lib.go @@ -18,7 +18,6 @@ package lib import ( "os" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" @@ -27,7 +26,7 @@ import ( var tr = i18n.Tr // NewCommand created a new `lib` command -func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *configuration.Settings) *cobra.Command { +func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *rpc.Configuration) *cobra.Command { libCommand := &cobra.Command{ Use: "lib", Short: tr("Arduino commands about libraries."), diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index aa1d0f1b314..4bfa3c06a7c 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -116,6 +116,7 @@ func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, namesOnly instance.Init(ctx, srv, inst) } + // Perform library search searchResp, err := srv.LibrarySearch(ctx, &rpc.LibrarySearchRequest{ Instance: inst, SearchArgs: strings.Join(args, " "), diff --git a/internal/docsgen/main.go b/internal/docsgen/main.go index 69ac4983de9..fa175fff583 100644 --- a/internal/docsgen/main.go +++ b/internal/docsgen/main.go @@ -18,8 +18,8 @@ package main import ( "os" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli" - "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/spf13/cobra/doc" ) @@ -31,11 +31,10 @@ func main() { os.MkdirAll(os.Args[1], 0755) // Create the output folder if it doesn't already exist - settings := configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) - cli := cli.NewCommand(nil, settings) + srv := commands.NewArduinoCoreServer() + cli := cli.NewCommand(srv) cli.DisableAutoGenTag = true // Disable addition of auto-generated date stamp - err := doc.GenMarkdownTree(cli, os.Args[1]) - if err != nil { + if err := doc.GenMarkdownTree(cli, os.Args[1]); err != nil { panic(err) } } diff --git a/internal/go-configmap/cli.go b/internal/go-configmap/cli.go new file mode 100644 index 00000000000..3d4313a076e --- /dev/null +++ b/internal/go-configmap/cli.go @@ -0,0 +1,111 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap + +import ( + "fmt" + "strconv" + "strings" +) + +func (c *Map) SetFromCLIArgs(key string, args ...string) error { + if len(args) == 0 { + c.Delete(key) + return nil + } + + // in case of schemaless configuration, we don't know the type of the setting + // we will save it as a string or array of strings + if len(c.schema) == 0 { + switch len(args) { + case 1: + c.Set(key, args[0]) + default: + c.Set(key, args) + } + return nil + } + + // Find the correct type for the given setting + valueType, ok := c.schema[key] + if !ok { + return fmt.Errorf("key not found: %s", key) + } + + var value any + isArray := false + { + var conversionError error + switch valueType.String() { + case "uint": + value, conversionError = strconv.Atoi(args[0]) + case "bool": + value, conversionError = strconv.ParseBool(args[0]) + case "string": + value = args[0] + case "[]string": + value = args + isArray = true + default: + return fmt.Errorf("unhandled type: %s", valueType) + } + if conversionError != nil { + return fmt.Errorf("error setting value: %v", conversionError) + } + } + if !isArray && len(args) != 1 { + return fmt.Errorf("error setting value: key is not an array, but multiple values were provided") + } + + return c.Set(key, value) +} + +func (c *Map) InjectEnvVars(env []string, prefix string) []error { + if prefix != "" { + prefix = strings.ToUpper(prefix) + "_" + } + + errs := []error{} + + envKeyToConfigKey := map[string]string{} + for _, k := range c.AllKeys() { + normalizedKey := prefix + strings.ToUpper(k) + normalizedKey = strings.Replace(normalizedKey, ".", "_", -1) + envKeyToConfigKey[normalizedKey] = k + } + + for _, e := range env { + // Extract key and value from env + parts := strings.SplitN(e, "=", 2) + if len(parts) != 2 { + continue + } + envKey := strings.ToUpper(parts[0]) + envValue := parts[1] + + // Check if the configuration has a matching key + key, ok := envKeyToConfigKey[envKey] + if !ok { + continue + } + + // Update the configuration value + if err := c.SetFromCLIArgs(key, envValue); err != nil { + errs = append(errs, err) + } + } + return errs +} diff --git a/internal/go-configmap/configuration.go b/internal/go-configmap/configuration.go new file mode 100644 index 00000000000..fa504a272bd --- /dev/null +++ b/internal/go-configmap/configuration.go @@ -0,0 +1,212 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap + +import ( + "fmt" + "reflect" + "strings" +) + +type Map struct { + values map[string]any + schema map[string]reflect.Type +} + +func New() *Map { + return &Map{ + values: make(map[string]any), + schema: make(map[string]reflect.Type), + } +} + +func (c Map) Get(key string) any { + value, _ := c.GetOk(key) + return value +} + +func (c Map) GetOk(key string) (any, bool) { + keys := strings.Split(key, ".") + return c.get(keys) +} + +func (c Map) get(keys []string) (any, bool) { + if len(keys) == 0 { + return nil, false + } + value, ok := c.values[keys[0]] + if len(keys) == 1 { + return value, ok + } + + if subConf, ok := value.(*Map); ok { + return subConf.get(keys[1:]) + } + return nil, false +} + +func (c Map) Set(key string, value any) error { + if len(c.schema) > 0 { + t, ok := c.schema[key] + if !ok { + return fmt.Errorf("schema not defined for key '%s'", key) + } + newValue, err := tryConversion(value, t) + if err != nil { + return fmt.Errorf("invalid type for key '%s': %w", key, err) + } + value = newValue + } + keys := strings.Split(key, ".") + c.set(keys, value) + return nil +} + +func tryConversion(current any, desiredType reflect.Type) (any, error) { + currentType := reflect.TypeOf(current) + if currentType == desiredType { + return current, nil + } + + switch desiredType.Kind() { + case reflect.Uint: + // Exception for JSON decoder: json decoder will decode all numbers as float64 + if currentFloat, ok := current.(float64); ok { + return uint(currentFloat), nil + } + if currentInt, ok := current.(int); ok { + return uint(currentInt), nil + } + case reflect.Int: + // Exception for JSON decoder: json decoder will decode all numbers as float64 + if currentFloat, ok := current.(float64); ok { + return int(currentFloat), nil + } + case reflect.Array, reflect.Slice: + currentArray, ok := current.([]any) + if !ok { + break + } + for i, elem := range currentArray { + newElem, err := tryConversion(elem, desiredType.Elem()) + if err != nil { + return nil, err + } + currentArray[i] = newElem + } + return currentArray, nil + } + return nil, fmt.Errorf("invalid conversion, got %T but want %v", current, desiredType) +} + +func (c Map) set(keys []string, value any) { + if len(keys) == 0 { + return + } + if len(keys) == 1 { + c.values[keys[0]] = value + return + } + + var subConf *Map + if subValue, ok := c.values[keys[0]]; !ok { + subConf = New() + c.values[keys[0]] = subConf + } else if conf, ok := subValue.(*Map); !ok { + subConf = New() + c.values[keys[0]] = subConf + } else { + subConf = conf + } + subConf.set(keys[1:], value) +} + +func (c Map) Delete(key string) { + keys := strings.Split(key, ".") + c.delete(keys) +} + +func (c Map) delete(keys []string) { + if len(keys) == 0 { + return + } + if len(keys) == 1 { + delete(c.values, keys[0]) + return + } + + if subValue, ok := c.values[keys[0]]; !ok { + return + } else if subConf, ok := subValue.(*Map); !ok { + return + } else { + subConf.delete(keys[1:]) + } +} + +func (c *Map) Merge(x *Map) error { + for xk, xv := range x.values { + if xSubConf, ok := xv.(*Map); ok { + if subConf, ok := c.values[xk].(*Map); ok { + if err := subConf.Merge(xSubConf); err != nil { + return err + } + continue + } + return fmt.Errorf("cannot merge sub-configuration into non sub-configuration: '%s'", xk) + } + + v, ok := c.values[xk] + if !ok { + return fmt.Errorf("target key do not exist: '%s'", xk) + } + if reflect.TypeOf(v) != reflect.TypeOf(xv) { + return fmt.Errorf("invalid types for key '%s': got %T but want %T", xk, v, xv) + } + c.values[xk] = xv + } + return nil +} + +func (c *Map) AllKeys() []string { + return c.allKeys("") +} + +func (c *Map) Schema() map[string]reflect.Type { + return c.schema +} + +func (c *Map) allKeys(prefix string) []string { + keys := []string{} + if len(c.schema) > 0 { + for k := range c.schema { + keys = append(keys, prefix+k) + } + } else { + for k, v := range c.values { + if subConf, ok := v.(*Map); ok { + keys = append(keys, subConf.allKeys(prefix+k+".")...) + } else { + keys = append(keys, prefix+k) + } + } + } + return keys +} + +func (c *Map) SetKeyTypeSchema(key string, t any) { + c.schema[key] = reflect.TypeOf(t) +} diff --git a/internal/go-configmap/configuration_test.go b/internal/go-configmap/configuration_test.go new file mode 100644 index 00000000000..7c213d15a6c --- /dev/null +++ b/internal/go-configmap/configuration_test.go @@ -0,0 +1,168 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap_test + +import ( + "encoding/json" + "fmt" + "testing" + + "github.com/arduino/arduino-cli/internal/go-configmap" + "github.com/stretchr/testify/require" + "gopkg.in/yaml.v3" +) + +func TestConfiguration(t *testing.T) { + c := configmap.New() + c.Set("foo", "bar") + c.Set("fooz.bar", "baz") + c.Set("answer", 42) + require.Equal(t, "bar", c.Get("foo")) + require.Equal(t, "baz", c.Get("fooz.bar")) + require.Equal(t, 42, c.Get("answer")) + + yml, err := yaml.Marshal(c) + require.NoError(t, err) + fmt.Println(string(yml)) + + d := configmap.New() + err = yaml.Unmarshal(yml, &d) + require.NoError(t, err) + + yml2, err := yaml.Marshal(d) + require.NoError(t, err) + require.Equal(t, string(yml), string(yml2)) + + d.Set("fooz.abc", "def") + d.Set("fooz.cde", "fgh") + require.Equal(t, "def", d.Get("fooz.abc")) + require.Equal(t, "fgh", d.Get("fooz.cde")) + d.Delete("fooz.abc") + require.Nil(t, d.Get("fooz.abc")) + require.Equal(t, "fgh", d.Get("fooz.cde")) + d.Delete("fooz") + require.Nil(t, d.Get("fooz.cde")) +} + +func TestYAMLCleanUpOfZeroValues(t *testing.T) { + inYml := []byte(` +foo: bar +directories: + builtins: {} +`) + c := configmap.New() + outYml1, err := yaml.Marshal(c) + require.NoError(t, err) + require.Equal(t, "{}\n", string(outYml1)) + + err = yaml.Unmarshal(inYml, &c) + require.NoError(t, err) + + outYml2, err := yaml.Marshal(c) + require.NoError(t, err) + require.Equal(t, "foo: bar\n", string(outYml2)) +} + +func TestApplyEnvVars(t *testing.T) { + c := configmap.New() + c.Set("foo", "bar") + c.Set("fooz.bar", "baz") + c.Set("answer", 42) + c.InjectEnvVars([]string{"APP_FOO=app-bar", "APP_FOOZ_BAR=app-baz"}, "APP") + require.Equal(t, "app-bar", c.Get("foo")) + require.Equal(t, "app-baz", c.Get("fooz.bar")) + require.Equal(t, 42, c.Get("answer")) +} + +func TestMerge(t *testing.T) { + c := configmap.New() + c.Set("foo", "bar") + c.Set("fooz.bar", "baz") + c.Set("answer", 42) + + d := configmap.New() + d.Set("answer", 24) + require.NoError(t, c.Merge(d)) + require.Equal(t, "bar", c.Get("foo")) + require.Equal(t, "baz", c.Get("fooz.bar")) + require.Equal(t, 24, c.Get("answer")) + + e := configmap.New() + e.Set("fooz.bar", "barz") + require.NoError(t, c.Merge(e)) + require.Equal(t, "bar", c.Get("foo")) + require.Equal(t, "barz", c.Get("fooz.bar")) + require.Equal(t, 24, c.Get("answer")) + + f := configmap.New() + f.Set("fooz.bar", 10) + require.Error(t, c.Merge(f)) + fmt.Println(c.Merge(f)) + + g := configmap.New() + g.Set("fooz.bart", "baz") + require.Error(t, c.Merge(g)) + fmt.Println(c.Merge(g)) +} + +func TestAllKeys(t *testing.T) { + { + c := configmap.New() + c.Set("foo", "bar") + c.Set("fooz.bar", "baz") + c.Set("answer", 42) + require.ElementsMatch(t, []string{"foo", "fooz.bar", "answer"}, c.AllKeys()) + } + { + inYml := []byte(` +foo: bar +dir: + a: yes + b: no + c: {} + d: + - 1 + - 2 +`) + c := configmap.New() + err := yaml.Unmarshal(inYml, &c) + require.NoError(t, err) + require.ElementsMatch(t, []string{"foo", "dir.a", "dir.b", "dir.d"}, c.AllKeys()) + } +} + +func TestSchema(t *testing.T) { + c := configmap.New() + c.SetKeyTypeSchema("string", "") + c.SetKeyTypeSchema("int", 15) + c.SetKeyTypeSchema("obj.string", "") + c.SetKeyTypeSchema("obj.int", 15) + require.NoError(t, c.Set("string", "abc")) + require.Error(t, c.Set("string", 123)) + require.NoError(t, c.Set("int", 123)) + require.Error(t, c.Set("int", "abc")) + require.Equal(t, "abc", c.Get("string")) + + json1 := []byte(`{"string":"abc","int":123,"obj":{"string":"abc","int":123}}`) + require.NoError(t, json.Unmarshal(json1, &c)) + require.Equal(t, "abc", c.Get("string")) + require.Equal(t, 123, c.Get("int")) + + json2 := []byte(`{"string":123,"int":123,"obj":{"string":"abc","int":123}}`) + require.Error(t, json.Unmarshal(json2, &c)) + json3 := []byte(`{"string":"avc","int":123,"obj":{"string":123,"int":123}}`) + require.Error(t, json.Unmarshal(json3, &c)) +} diff --git a/internal/go-configmap/json.go b/internal/go-configmap/json.go new file mode 100644 index 00000000000..7ab0deaad4f --- /dev/null +++ b/internal/go-configmap/json.go @@ -0,0 +1,52 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap + +import "encoding/json" + +func (c Map) MarshalJSON() ([]byte, error) { + return json.Marshal(c.values) +} + +func (c *Map) UnmarshalJSON(data []byte) error { + in := map[string]any{} + if err := json.Unmarshal(data, &in); err != nil { + return err + } + + c.values = map[string]any{} + for k, v := range flattenMap(in) { + if err := c.Set(k, v); err != nil { + return err + } + } + return nil +} + +func flattenMap(in map[string]any) map[string]any { + out := map[string]any{} + for k, v := range in { + switch v := v.(type) { + case map[string]any: + for kk, vv := range flattenMap(v) { + out[k+"."+kk] = vv + } + default: + out[k] = v + } + } + return out +} diff --git a/internal/go-configmap/json_test.go b/internal/go-configmap/json_test.go new file mode 100644 index 00000000000..54566589baf --- /dev/null +++ b/internal/go-configmap/json_test.go @@ -0,0 +1,48 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap_test + +import ( + "encoding/json" + "fmt" + "testing" + + "github.com/arduino/arduino-cli/internal/go-configmap" + "github.com/stretchr/testify/require" +) + +func TestJson(t *testing.T) { + c := configmap.New() + c.Set("foo", "bar") + c.Set("fooz.bar", "baz") + c.Set("answer", 42) + require.Equal(t, "bar", c.Get("foo")) + require.Equal(t, "baz", c.Get("fooz.bar")) + require.Equal(t, 42, c.Get("answer")) + + j1, err := json.Marshal(c) + require.NoError(t, err) + fmt.Println(string(j1)) + + d := configmap.New() + err = json.Unmarshal(j1, d) + require.NoError(t, err) + require.Equal(t, "baz", d.Get("fooz.bar")) + + j2, err := json.Marshal(d) + require.NoError(t, err) + require.Equal(t, string(j1), string(j2)) +} diff --git a/internal/go-configmap/types.go b/internal/go-configmap/types.go new file mode 100644 index 00000000000..d6a032b8dd6 --- /dev/null +++ b/internal/go-configmap/types.go @@ -0,0 +1,215 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap + +import ( + "errors" + "fmt" + "time" +) + +func (c Map) GetStringOk(key string) (string, bool, error) { + v, ok := c.GetOk(key) + if !ok { + return "", false, nil + } + if s, ok := v.(string); ok { + return s, true, nil + } + return "", false, errors.New(key + " is not a string") +} + +func (c Map) GetString(key string) string { + v, ok, err := c.GetStringOk(key) + if err != nil { + panic(err.Error()) + } + if ok { + return v + } + return "" +} + +func (c Map) SetString(key string, value string) { + c.Set(key, value) +} + +func (c Map) GetBoolOk(key string) (bool, bool, error) { + v, ok := c.GetOk(key) + if !ok { + return false, false, nil + } + if b, ok := v.(bool); ok { + return b, true, nil + } + return false, false, errors.New(key + " is not a bool") +} + +func (c Map) GetBool(key string) bool { + v, ok, err := c.GetBoolOk(key) + if err != nil { + panic(err.Error()) + } + if ok { + return v + } + return false +} + +func (c Map) SetBool(key string, value bool) { + c.Set(key, value) +} + +func (c Map) GetUintOk(key string) (uint, bool, error) { + v, ok := c.GetOk(key) + if !ok { + return 0, false, nil + } + if i, ok := v.(uint); ok { + return i, true, nil + } + return 0, false, errors.New(key + " is not a uint") +} + +func (c Map) GetUint(key string) uint { + v, ok, err := c.GetUintOk(key) + if err != nil { + panic(err.Error()) + } + if ok { + return v + } + return 0 +} + +func (c Map) SetUint(key string, value uint) { + c.Set(key, value) +} + +func (c Map) GetIntOk(key string) (int, bool, error) { + v, ok := c.GetOk(key) + if !ok { + return 0, false, nil + } + if i, ok := v.(int); ok { + return i, true, nil + } + return 0, false, errors.New(key + " is not a uint") +} + +func (c Map) GetInt(key string) int { + v, ok, err := c.GetIntOk(key) + if err != nil { + panic(err.Error()) + } + if ok { + return v + } + return 0 +} + +func (c Map) SetInt(key string, value int) { + c.Set(key, value) +} + +func (c Map) GetUint32Ok(key string) (uint32, bool, error) { + v, ok := c.GetOk(key) + if !ok { + return 0, false, nil + } + if i, ok := v.(uint32); ok { + return i, true, nil + } + return 0, false, errors.New(key + " is not a uint32") +} + +func (c Map) GetUint32(key string) uint32 { + v, ok, err := c.GetUint32Ok(key) + if err != nil { + panic(err.Error()) + } + if ok { + return v + } + return 0 +} + +func (c Map) SetUint32(key string, value uint32) { + c.Set(key, value) +} + +func (c Map) GetStringSliceOk(key string) ([]string, bool, error) { + v, ok := c.GetOk(key) + if !ok { + return nil, false, nil + } + if genArray, ok := v.([]string); ok { + return genArray, true, nil + } + if genArray, ok := v.([]interface{}); ok { + // transform []interface{} to []string + var strArray []string + for i, gen := range genArray { + if str, ok := gen.(string); ok { + strArray = append(strArray, str) + } else { + return nil, false, fmt.Errorf("%s[%d] is not a string", key, i) + } + } + return strArray, true, nil + } + return nil, false, fmt.Errorf("%s is not an array of strings", key) +} + +func (c Map) GetStringSlice(key string) []string { + v, ok, err := c.GetStringSliceOk(key) + if err != nil { + panic(err.Error()) + } + if ok { + return v + } + return nil +} + +func (c Map) GetDurationOk(key string) (time.Duration, bool, error) { + v, ok := c.GetOk(key) + if !ok { + return 0, false, nil + } + if s, ok := v.(string); !ok { + return 0, false, errors.New(key + " is not a Duration") + } else if d, err := time.ParseDuration(s); err != nil { + return 0, false, fmt.Errorf("%s is not a valid Duration: %w", key, err) + } else { + return d, true, nil + } +} + +func (c Map) GetDuration(key string) time.Duration { + v, ok, err := c.GetDurationOk(key) + if err != nil { + panic(err.Error()) + } + if ok { + return v + } + return 0 +} + +func (c Map) SetDuration(key string, value time.Duration) { + c.SetString(key, value.String()) +} diff --git a/internal/go-configmap/yaml.go b/internal/go-configmap/yaml.go new file mode 100644 index 00000000000..214e12ba727 --- /dev/null +++ b/internal/go-configmap/yaml.go @@ -0,0 +1,38 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap + +import ( + "gopkg.in/yaml.v3" +) + +func (c Map) MarshalYAML() (interface{}, error) { + return c.values, nil +} + +func (c *Map) UnmarshalYAML(node *yaml.Node) error { + in := map[string]any{} + if err := node.Decode(&in); err != nil { + return err + } + + for k, v := range flattenMap(in) { + if err := c.Set(k, v); err != nil { + return err + } + } + return nil +} diff --git a/internal/go-configmap/yaml_test.go b/internal/go-configmap/yaml_test.go new file mode 100644 index 00000000000..9293f70662f --- /dev/null +++ b/internal/go-configmap/yaml_test.go @@ -0,0 +1,48 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap_test + +import ( + "fmt" + "testing" + + "github.com/arduino/arduino-cli/internal/go-configmap" + "github.com/stretchr/testify/require" + "gopkg.in/yaml.v3" +) + +func TestYaml(t *testing.T) { + c := configmap.New() + c.Set("foo", "bar") + c.Set("fooz.bar", "baz") + c.Set("answer", 42) + require.Equal(t, "bar", c.Get("foo")) + require.Equal(t, "baz", c.Get("fooz.bar")) + require.Equal(t, 42, c.Get("answer")) + + y1, err := yaml.Marshal(c) + require.NoError(t, err) + fmt.Println(string(y1)) + + d := configmap.New() + err = yaml.Unmarshal(y1, d) + require.NoError(t, err) + require.Equal(t, "baz", d.Get("fooz.bar")) + + y2, err := yaml.Marshal(d) + require.NoError(t, err) + require.Equal(t, string(y1), string(y2)) +} diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 7e2ff315f98..0e795f64d26 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -326,7 +326,7 @@ func (cli *ArduinoCLI) run(stdoutBuff, stderrBuff io.Writer, stdinBuff io.Reader defer fmt.Fprintln(terminalOut, "::endgroup::") } - fmt.Fprintln(terminalOut, color.HiBlackString(">>> Running: ")+color.HiYellowString("%s %s", cli.path, strings.Join(args, " "))) + fmt.Fprintln(terminalOut, color.HiBlackString(">>> Running: ")+color.HiYellowString("%s %s %s", cli.path, strings.Join(args, " "), env)) cliProc, err := paths.NewProcessFromPath(cli.convertEnvForExecutils(env), cli.path, args...) cli.t.NoError(err) stdout, err := cliProc.StdoutPipe() @@ -444,8 +444,8 @@ func (cli *ArduinoCLI) Create() *ArduinoCLIInstance { // SetValue calls the "SetValue" gRPC method. func (cli *ArduinoCLI) SetValue(key, jsonData string) error { req := &commands.SettingsSetValueRequest{ - Key: key, - JsonData: jsonData, + Key: key, + EncodedValue: jsonData, } logCallf(">>> SetValue(%+v)\n", req) _, err := cli.daemonClient.SettingsSetValue(context.Background(), req) diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 6d6dd605602..27b31cb82c1 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -522,7 +522,7 @@ func compileWithExportBinariesConfig(t *testing.T, env *integrationtest.Environm { "config": { "sketch": { - "always_export_binaries": "true" + "always_export_binaries": true } } }`) diff --git a/main.go b/main.go index 2255ae626b4..56c58ea36d5 100644 --- a/main.go +++ b/main.go @@ -16,6 +16,8 @@ package main import ( + "context" + "fmt" "os" "github.com/arduino/arduino-cli/commands" @@ -23,17 +25,45 @@ import ( "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" - "github.com/arduino/arduino-cli/version" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-paths-helper" ) func main() { - defaultSettings := configuration.Init(configuration.FindConfigFileInArgsFallbackOnEnv(os.Args)) - i18n.Init(defaultSettings.GetString("locale")) + // Create a new ArduinoCoreServer + srv := commands.NewArduinoCoreServer() - srv := commands.NewArduinoCoreServer(version.VersionInfo.VersionString, defaultSettings) + // Search for the configuration file in the command line arguments and in the environment + configFile := configuration.FindConfigFileInArgsFallbackOnEnv(os.Args) + ctx := context.Background() + ctx = context.WithValue(ctx, "config_file", configFile) - arduinoCmd := cli.NewCommand(srv, defaultSettings) - if err := arduinoCmd.Execute(); err != nil { + // Read the settings from the configuration file + openReq := &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml"} + if configData, err := paths.New(configFile).ReadFile(); err == nil { + openReq.EncodedSettings = string(configData) + } else if !os.IsNotExist(err) { + feedback.FatalError(fmt.Errorf("couldn't read configuration file: %w", err), feedback.ErrGeneric) + } + if _, err := srv.ConfigurationOpen(ctx, openReq); err != nil { + feedback.FatalError(fmt.Errorf("couldn't load configuration: %w", err), feedback.ErrGeneric) + } + + // Get the current settings from the server + resp, err := srv.ConfigurationGet(ctx, &rpc.ConfigurationGetRequest{}) + if err != nil { + feedback.FatalError(err, feedback.ErrGeneric) + } + config := resp.GetConfiguration() + + // Setup i18n + i18n.Init(config.GetLocale()) + + // Setup command line parser with the server and settings + arduinoCmd := cli.NewCommand(srv) + + // Execute the command line + if err := arduinoCmd.ExecuteContext(ctx); err != nil { feedback.FatalError(err, feedback.ErrGeneric) } } diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index ca33b869446..859a2bf0900 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -2076,7 +2076,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, - 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xd1, 0x2f, + 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xfb, 0x2f, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, @@ -2412,58 +2412,60 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, - 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, - 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x12, - 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x34, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x12, + 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, + 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, - 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x0e, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, - 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, - 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2549,12 +2551,12 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*DebugRequest)(nil), // 65: cc.arduino.cli.commands.v1.DebugRequest (*IsDebugSupportedRequest)(nil), // 66: cc.arduino.cli.commands.v1.IsDebugSupportedRequest (*GetDebugConfigRequest)(nil), // 67: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*SettingsGetAllRequest)(nil), // 68: cc.arduino.cli.commands.v1.SettingsGetAllRequest - (*SettingsMergeRequest)(nil), // 69: cc.arduino.cli.commands.v1.SettingsMergeRequest - (*SettingsGetValueRequest)(nil), // 70: cc.arduino.cli.commands.v1.SettingsGetValueRequest - (*SettingsSetValueRequest)(nil), // 71: cc.arduino.cli.commands.v1.SettingsSetValueRequest - (*SettingsWriteRequest)(nil), // 72: cc.arduino.cli.commands.v1.SettingsWriteRequest - (*SettingsDeleteRequest)(nil), // 73: cc.arduino.cli.commands.v1.SettingsDeleteRequest + (*ConfigurationSaveRequest)(nil), // 68: cc.arduino.cli.commands.v1.ConfigurationSaveRequest + (*ConfigurationOpenRequest)(nil), // 69: cc.arduino.cli.commands.v1.ConfigurationOpenRequest + (*ConfigurationGetRequest)(nil), // 70: cc.arduino.cli.commands.v1.ConfigurationGetRequest + (*SettingsEnumerateRequest)(nil), // 71: cc.arduino.cli.commands.v1.SettingsEnumerateRequest + (*SettingsGetValueRequest)(nil), // 72: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsSetValueRequest)(nil), // 73: cc.arduino.cli.commands.v1.SettingsSetValueRequest (*BoardDetailsResponse)(nil), // 74: cc.arduino.cli.commands.v1.BoardDetailsResponse (*BoardListResponse)(nil), // 75: cc.arduino.cli.commands.v1.BoardListResponse (*BoardListAllResponse)(nil), // 76: cc.arduino.cli.commands.v1.BoardListAllResponse @@ -2586,12 +2588,12 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ (*DebugResponse)(nil), // 102: cc.arduino.cli.commands.v1.DebugResponse (*IsDebugSupportedResponse)(nil), // 103: cc.arduino.cli.commands.v1.IsDebugSupportedResponse (*GetDebugConfigResponse)(nil), // 104: cc.arduino.cli.commands.v1.GetDebugConfigResponse - (*SettingsGetAllResponse)(nil), // 105: cc.arduino.cli.commands.v1.SettingsGetAllResponse - (*SettingsMergeResponse)(nil), // 106: cc.arduino.cli.commands.v1.SettingsMergeResponse - (*SettingsGetValueResponse)(nil), // 107: cc.arduino.cli.commands.v1.SettingsGetValueResponse - (*SettingsSetValueResponse)(nil), // 108: cc.arduino.cli.commands.v1.SettingsSetValueResponse - (*SettingsWriteResponse)(nil), // 109: cc.arduino.cli.commands.v1.SettingsWriteResponse - (*SettingsDeleteResponse)(nil), // 110: cc.arduino.cli.commands.v1.SettingsDeleteResponse + (*ConfigurationSaveResponse)(nil), // 105: cc.arduino.cli.commands.v1.ConfigurationSaveResponse + (*ConfigurationOpenResponse)(nil), // 106: cc.arduino.cli.commands.v1.ConfigurationOpenResponse + (*ConfigurationGetResponse)(nil), // 107: cc.arduino.cli.commands.v1.ConfigurationGetResponse + (*SettingsEnumerateResponse)(nil), // 108: cc.arduino.cli.commands.v1.SettingsEnumerateResponse + (*SettingsGetValueResponse)(nil), // 109: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueResponse)(nil), // 110: cc.arduino.cli.commands.v1.SettingsSetValueResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 31, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance @@ -2657,12 +2659,12 @@ var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 67, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest 24, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:input_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest 26, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:input_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest - 68, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:input_type -> cc.arduino.cli.commands.v1.SettingsGetAllRequest - 69, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:input_type -> cc.arduino.cli.commands.v1.SettingsMergeRequest - 70, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest - 71, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest - 72, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:input_type -> cc.arduino.cli.commands.v1.SettingsWriteRequest - 73, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:input_type -> cc.arduino.cli.commands.v1.SettingsDeleteRequest + 68, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationSave:input_type -> cc.arduino.cli.commands.v1.ConfigurationSaveRequest + 69, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationOpen:input_type -> cc.arduino.cli.commands.v1.ConfigurationOpenRequest + 70, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationGet:input_type -> cc.arduino.cli.commands.v1.ConfigurationGetRequest + 71, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsEnumerate:input_type -> cc.arduino.cli.commands.v1.SettingsEnumerateRequest + 72, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 73, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest 3, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse 5, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse 8, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse @@ -2706,12 +2708,12 @@ var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 104, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse 25, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:output_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse 27, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:output_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse - 105, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetAll:output_type -> cc.arduino.cli.commands.v1.SettingsGetAllResponse - 106, // 113: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsMerge:output_type -> cc.arduino.cli.commands.v1.SettingsMergeResponse - 107, // 114: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse - 108, // 115: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse - 109, // 116: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsWrite:output_type -> cc.arduino.cli.commands.v1.SettingsWriteResponse - 110, // 117: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsDelete:output_type -> cc.arduino.cli.commands.v1.SettingsDeleteResponse + 105, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationSave:output_type -> cc.arduino.cli.commands.v1.ConfigurationSaveResponse + 106, // 113: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationOpen:output_type -> cc.arduino.cli.commands.v1.ConfigurationOpenResponse + 107, // 114: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationGet:output_type -> cc.arduino.cli.commands.v1.ConfigurationGetResponse + 108, // 115: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsEnumerate:output_type -> cc.arduino.cli.commands.v1.SettingsEnumerateResponse + 109, // 116: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 110, // 117: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse 69, // [69:118] is the sub-list for method output_type 20, // [20:69] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 78660e28d5c..ce5aba9ed91 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -197,25 +197,28 @@ service ArduinoCoreService { rpc CleanDownloadCacheDirectory(CleanDownloadCacheDirectoryRequest) returns (CleanDownloadCacheDirectoryResponse); - // List all the settings. - rpc SettingsGetAll(SettingsGetAllRequest) returns (SettingsGetAllResponse); + // Writes the settings currently stored in memory in a YAML file + rpc ConfigurationSave(ConfigurationSaveRequest) + returns (ConfigurationSaveResponse); - // Set multiple settings values at once. - rpc SettingsMerge(SettingsMergeRequest) returns (SettingsMergeResponse); + // Read the settings from a YAML file + rpc ConfigurationOpen(ConfigurationOpenRequest) + returns (ConfigurationOpenResponse); - // Get the value of a specific setting. + rpc ConfigurationGet(ConfigurationGetRequest) + returns (ConfigurationGetResponse); + + // Enumerate all the keys/values pairs available in the configuration + rpc SettingsEnumerate(SettingsEnumerateRequest) + returns (SettingsEnumerateResponse); + + // Get a single configuration value rpc SettingsGetValue(SettingsGetValueRequest) returns (SettingsGetValueResponse); - // Set the value of a specific setting. + // Set a single configuration value rpc SettingsSetValue(SettingsSetValueRequest) returns (SettingsSetValueResponse); - - // Writes to file settings currently stored in memory - rpc SettingsWrite(SettingsWriteRequest) returns (SettingsWriteResponse); - - // Deletes an entry and rewrites the file settings - rpc SettingsDelete(SettingsDeleteRequest) returns (SettingsDeleteResponse); } message CreateRequest {} diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 5021e89d488..4ebd93a59f0 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -77,12 +77,12 @@ const ( ArduinoCoreService_GetDebugConfig_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/GetDebugConfig" ArduinoCoreService_CheckForArduinoCLIUpdates_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/CheckForArduinoCLIUpdates" ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/CleanDownloadCacheDirectory" - ArduinoCoreService_SettingsGetAll_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetAll" - ArduinoCoreService_SettingsMerge_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsMerge" + ArduinoCoreService_ConfigurationSave_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationSave" + ArduinoCoreService_ConfigurationOpen_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationOpen" + ArduinoCoreService_ConfigurationGet_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/ConfigurationGet" + ArduinoCoreService_SettingsEnumerate_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsEnumerate" ArduinoCoreService_SettingsGetValue_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsGetValue" ArduinoCoreService_SettingsSetValue_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsSetValue" - ArduinoCoreService_SettingsWrite_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsWrite" - ArduinoCoreService_SettingsDelete_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/SettingsDelete" ) // ArduinoCoreServiceClient is the client API for ArduinoCoreService service. @@ -183,18 +183,17 @@ type ArduinoCoreServiceClient interface { CheckForArduinoCLIUpdates(ctx context.Context, in *CheckForArduinoCLIUpdatesRequest, opts ...grpc.CallOption) (*CheckForArduinoCLIUpdatesResponse, error) // Clean the download cache directory (where archives are downloaded). CleanDownloadCacheDirectory(ctx context.Context, in *CleanDownloadCacheDirectoryRequest, opts ...grpc.CallOption) (*CleanDownloadCacheDirectoryResponse, error) - // List all the settings. - SettingsGetAll(ctx context.Context, in *SettingsGetAllRequest, opts ...grpc.CallOption) (*SettingsGetAllResponse, error) - // Set multiple settings values at once. - SettingsMerge(ctx context.Context, in *SettingsMergeRequest, opts ...grpc.CallOption) (*SettingsMergeResponse, error) - // Get the value of a specific setting. + // Writes the settings currently stored in memory in a YAML file + ConfigurationSave(ctx context.Context, in *ConfigurationSaveRequest, opts ...grpc.CallOption) (*ConfigurationSaveResponse, error) + // Read the settings from a YAML file + ConfigurationOpen(ctx context.Context, in *ConfigurationOpenRequest, opts ...grpc.CallOption) (*ConfigurationOpenResponse, error) + ConfigurationGet(ctx context.Context, in *ConfigurationGetRequest, opts ...grpc.CallOption) (*ConfigurationGetResponse, error) + // Enumerate all the keys/values pairs available in the configuration + SettingsEnumerate(ctx context.Context, in *SettingsEnumerateRequest, opts ...grpc.CallOption) (*SettingsEnumerateResponse, error) + // Get a single configuration value SettingsGetValue(ctx context.Context, in *SettingsGetValueRequest, opts ...grpc.CallOption) (*SettingsGetValueResponse, error) - // Set the value of a specific setting. + // Set a single configuration value SettingsSetValue(ctx context.Context, in *SettingsSetValueRequest, opts ...grpc.CallOption) (*SettingsSetValueResponse, error) - // Writes to file settings currently stored in memory - SettingsWrite(ctx context.Context, in *SettingsWriteRequest, opts ...grpc.CallOption) (*SettingsWriteResponse, error) - // Deletes an entry and rewrites the file settings - SettingsDelete(ctx context.Context, in *SettingsDeleteRequest, opts ...grpc.CallOption) (*SettingsDeleteResponse, error) } type arduinoCoreServiceClient struct { @@ -1073,54 +1072,54 @@ func (c *arduinoCoreServiceClient) CleanDownloadCacheDirectory(ctx context.Conte return out, nil } -func (c *arduinoCoreServiceClient) SettingsGetAll(ctx context.Context, in *SettingsGetAllRequest, opts ...grpc.CallOption) (*SettingsGetAllResponse, error) { - out := new(SettingsGetAllResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetAll_FullMethodName, in, out, opts...) +func (c *arduinoCoreServiceClient) ConfigurationSave(ctx context.Context, in *ConfigurationSaveRequest, opts ...grpc.CallOption) (*ConfigurationSaveResponse, error) { + out := new(ConfigurationSaveResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationSave_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) SettingsMerge(ctx context.Context, in *SettingsMergeRequest, opts ...grpc.CallOption) (*SettingsMergeResponse, error) { - out := new(SettingsMergeResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsMerge_FullMethodName, in, out, opts...) +func (c *arduinoCoreServiceClient) ConfigurationOpen(ctx context.Context, in *ConfigurationOpenRequest, opts ...grpc.CallOption) (*ConfigurationOpenResponse, error) { + out := new(ConfigurationOpenResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationOpen_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) SettingsGetValue(ctx context.Context, in *SettingsGetValueRequest, opts ...grpc.CallOption) (*SettingsGetValueResponse, error) { - out := new(SettingsGetValueResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetValue_FullMethodName, in, out, opts...) +func (c *arduinoCoreServiceClient) ConfigurationGet(ctx context.Context, in *ConfigurationGetRequest, opts ...grpc.CallOption) (*ConfigurationGetResponse, error) { + out := new(ConfigurationGetResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationGet_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) SettingsSetValue(ctx context.Context, in *SettingsSetValueRequest, opts ...grpc.CallOption) (*SettingsSetValueResponse, error) { - out := new(SettingsSetValueResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsSetValue_FullMethodName, in, out, opts...) +func (c *arduinoCoreServiceClient) SettingsEnumerate(ctx context.Context, in *SettingsEnumerateRequest, opts ...grpc.CallOption) (*SettingsEnumerateResponse, error) { + out := new(SettingsEnumerateResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsEnumerate_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) SettingsWrite(ctx context.Context, in *SettingsWriteRequest, opts ...grpc.CallOption) (*SettingsWriteResponse, error) { - out := new(SettingsWriteResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsWrite_FullMethodName, in, out, opts...) +func (c *arduinoCoreServiceClient) SettingsGetValue(ctx context.Context, in *SettingsGetValueRequest, opts ...grpc.CallOption) (*SettingsGetValueResponse, error) { + out := new(SettingsGetValueResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetValue_FullMethodName, in, out, opts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) SettingsDelete(ctx context.Context, in *SettingsDeleteRequest, opts ...grpc.CallOption) (*SettingsDeleteResponse, error) { - out := new(SettingsDeleteResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsDelete_FullMethodName, in, out, opts...) +func (c *arduinoCoreServiceClient) SettingsSetValue(ctx context.Context, in *SettingsSetValueRequest, opts ...grpc.CallOption) (*SettingsSetValueResponse, error) { + out := new(SettingsSetValueResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsSetValue_FullMethodName, in, out, opts...) if err != nil { return nil, err } @@ -1225,18 +1224,17 @@ type ArduinoCoreServiceServer interface { CheckForArduinoCLIUpdates(context.Context, *CheckForArduinoCLIUpdatesRequest) (*CheckForArduinoCLIUpdatesResponse, error) // Clean the download cache directory (where archives are downloaded). CleanDownloadCacheDirectory(context.Context, *CleanDownloadCacheDirectoryRequest) (*CleanDownloadCacheDirectoryResponse, error) - // List all the settings. - SettingsGetAll(context.Context, *SettingsGetAllRequest) (*SettingsGetAllResponse, error) - // Set multiple settings values at once. - SettingsMerge(context.Context, *SettingsMergeRequest) (*SettingsMergeResponse, error) - // Get the value of a specific setting. + // Writes the settings currently stored in memory in a YAML file + ConfigurationSave(context.Context, *ConfigurationSaveRequest) (*ConfigurationSaveResponse, error) + // Read the settings from a YAML file + ConfigurationOpen(context.Context, *ConfigurationOpenRequest) (*ConfigurationOpenResponse, error) + ConfigurationGet(context.Context, *ConfigurationGetRequest) (*ConfigurationGetResponse, error) + // Enumerate all the keys/values pairs available in the configuration + SettingsEnumerate(context.Context, *SettingsEnumerateRequest) (*SettingsEnumerateResponse, error) + // Get a single configuration value SettingsGetValue(context.Context, *SettingsGetValueRequest) (*SettingsGetValueResponse, error) - // Set the value of a specific setting. + // Set a single configuration value SettingsSetValue(context.Context, *SettingsSetValueRequest) (*SettingsSetValueResponse, error) - // Writes to file settings currently stored in memory - SettingsWrite(context.Context, *SettingsWriteRequest) (*SettingsWriteResponse, error) - // Deletes an entry and rewrites the file settings - SettingsDelete(context.Context, *SettingsDeleteRequest) (*SettingsDeleteResponse, error) mustEmbedUnimplementedArduinoCoreServiceServer() } @@ -1373,11 +1371,17 @@ func (UnimplementedArduinoCoreServiceServer) CheckForArduinoCLIUpdates(context.C func (UnimplementedArduinoCoreServiceServer) CleanDownloadCacheDirectory(context.Context, *CleanDownloadCacheDirectoryRequest) (*CleanDownloadCacheDirectoryResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method CleanDownloadCacheDirectory not implemented") } -func (UnimplementedArduinoCoreServiceServer) SettingsGetAll(context.Context, *SettingsGetAllRequest) (*SettingsGetAllResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SettingsGetAll not implemented") +func (UnimplementedArduinoCoreServiceServer) ConfigurationSave(context.Context, *ConfigurationSaveRequest) (*ConfigurationSaveResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigurationSave not implemented") +} +func (UnimplementedArduinoCoreServiceServer) ConfigurationOpen(context.Context, *ConfigurationOpenRequest) (*ConfigurationOpenResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigurationOpen not implemented") +} +func (UnimplementedArduinoCoreServiceServer) ConfigurationGet(context.Context, *ConfigurationGetRequest) (*ConfigurationGetResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ConfigurationGet not implemented") } -func (UnimplementedArduinoCoreServiceServer) SettingsMerge(context.Context, *SettingsMergeRequest) (*SettingsMergeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SettingsMerge not implemented") +func (UnimplementedArduinoCoreServiceServer) SettingsEnumerate(context.Context, *SettingsEnumerateRequest) (*SettingsEnumerateResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method SettingsEnumerate not implemented") } func (UnimplementedArduinoCoreServiceServer) SettingsGetValue(context.Context, *SettingsGetValueRequest) (*SettingsGetValueResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SettingsGetValue not implemented") @@ -1385,12 +1389,6 @@ func (UnimplementedArduinoCoreServiceServer) SettingsGetValue(context.Context, * func (UnimplementedArduinoCoreServiceServer) SettingsSetValue(context.Context, *SettingsSetValueRequest) (*SettingsSetValueResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method SettingsSetValue not implemented") } -func (UnimplementedArduinoCoreServiceServer) SettingsWrite(context.Context, *SettingsWriteRequest) (*SettingsWriteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SettingsWrite not implemented") -} -func (UnimplementedArduinoCoreServiceServer) SettingsDelete(context.Context, *SettingsDeleteRequest) (*SettingsDeleteResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method SettingsDelete not implemented") -} func (UnimplementedArduinoCoreServiceServer) mustEmbedUnimplementedArduinoCoreServiceServer() {} // UnsafeArduinoCoreServiceServer may be embedded to opt out of forward compatibility for this service. @@ -2251,110 +2249,110 @@ func _ArduinoCoreService_CleanDownloadCacheDirectory_Handler(srv interface{}, ct return interceptor(ctx, in, info, handler) } -func _ArduinoCoreService_SettingsGetAll_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SettingsGetAllRequest) +func _ArduinoCoreService_ConfigurationSave_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigurationSaveRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArduinoCoreServiceServer).SettingsGetAll(ctx, in) + return srv.(ArduinoCoreServiceServer).ConfigurationSave(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArduinoCoreService_SettingsGetAll_FullMethodName, + FullMethod: ArduinoCoreService_ConfigurationSave_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).SettingsGetAll(ctx, req.(*SettingsGetAllRequest)) + return srv.(ArduinoCoreServiceServer).ConfigurationSave(ctx, req.(*ConfigurationSaveRequest)) } return interceptor(ctx, in, info, handler) } -func _ArduinoCoreService_SettingsMerge_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SettingsMergeRequest) +func _ArduinoCoreService_ConfigurationOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigurationOpenRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArduinoCoreServiceServer).SettingsMerge(ctx, in) + return srv.(ArduinoCoreServiceServer).ConfigurationOpen(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArduinoCoreService_SettingsMerge_FullMethodName, + FullMethod: ArduinoCoreService_ConfigurationOpen_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).SettingsMerge(ctx, req.(*SettingsMergeRequest)) + return srv.(ArduinoCoreServiceServer).ConfigurationOpen(ctx, req.(*ConfigurationOpenRequest)) } return interceptor(ctx, in, info, handler) } -func _ArduinoCoreService_SettingsGetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SettingsGetValueRequest) +func _ArduinoCoreService_ConfigurationGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ConfigurationGetRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArduinoCoreServiceServer).SettingsGetValue(ctx, in) + return srv.(ArduinoCoreServiceServer).ConfigurationGet(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArduinoCoreService_SettingsGetValue_FullMethodName, + FullMethod: ArduinoCoreService_ConfigurationGet_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).SettingsGetValue(ctx, req.(*SettingsGetValueRequest)) + return srv.(ArduinoCoreServiceServer).ConfigurationGet(ctx, req.(*ConfigurationGetRequest)) } return interceptor(ctx, in, info, handler) } -func _ArduinoCoreService_SettingsSetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SettingsSetValueRequest) +func _ArduinoCoreService_SettingsEnumerate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsEnumerateRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArduinoCoreServiceServer).SettingsSetValue(ctx, in) + return srv.(ArduinoCoreServiceServer).SettingsEnumerate(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArduinoCoreService_SettingsSetValue_FullMethodName, + FullMethod: ArduinoCoreService_SettingsEnumerate_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).SettingsSetValue(ctx, req.(*SettingsSetValueRequest)) + return srv.(ArduinoCoreServiceServer).SettingsEnumerate(ctx, req.(*SettingsEnumerateRequest)) } return interceptor(ctx, in, info, handler) } -func _ArduinoCoreService_SettingsWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SettingsWriteRequest) +func _ArduinoCoreService_SettingsGetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsGetValueRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArduinoCoreServiceServer).SettingsWrite(ctx, in) + return srv.(ArduinoCoreServiceServer).SettingsGetValue(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArduinoCoreService_SettingsWrite_FullMethodName, + FullMethod: ArduinoCoreService_SettingsGetValue_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).SettingsWrite(ctx, req.(*SettingsWriteRequest)) + return srv.(ArduinoCoreServiceServer).SettingsGetValue(ctx, req.(*SettingsGetValueRequest)) } return interceptor(ctx, in, info, handler) } -func _ArduinoCoreService_SettingsDelete_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SettingsDeleteRequest) +func _ArduinoCoreService_SettingsSetValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SettingsSetValueRequest) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(ArduinoCoreServiceServer).SettingsDelete(ctx, in) + return srv.(ArduinoCoreServiceServer).SettingsSetValue(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: ArduinoCoreService_SettingsDelete_FullMethodName, + FullMethod: ArduinoCoreService_SettingsSetValue_FullMethodName, } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ArduinoCoreServiceServer).SettingsDelete(ctx, req.(*SettingsDeleteRequest)) + return srv.(ArduinoCoreServiceServer).SettingsSetValue(ctx, req.(*SettingsSetValueRequest)) } return interceptor(ctx, in, info, handler) } @@ -2455,28 +2453,28 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ Handler: _ArduinoCoreService_CleanDownloadCacheDirectory_Handler, }, { - MethodName: "SettingsGetAll", - Handler: _ArduinoCoreService_SettingsGetAll_Handler, + MethodName: "ConfigurationSave", + Handler: _ArduinoCoreService_ConfigurationSave_Handler, }, { - MethodName: "SettingsMerge", - Handler: _ArduinoCoreService_SettingsMerge_Handler, + MethodName: "ConfigurationOpen", + Handler: _ArduinoCoreService_ConfigurationOpen_Handler, }, { - MethodName: "SettingsGetValue", - Handler: _ArduinoCoreService_SettingsGetValue_Handler, + MethodName: "ConfigurationGet", + Handler: _ArduinoCoreService_ConfigurationGet_Handler, }, { - MethodName: "SettingsSetValue", - Handler: _ArduinoCoreService_SettingsSetValue_Handler, + MethodName: "SettingsEnumerate", + Handler: _ArduinoCoreService_SettingsEnumerate_Handler, }, { - MethodName: "SettingsWrite", - Handler: _ArduinoCoreService_SettingsWrite_Handler, + MethodName: "SettingsGetValue", + Handler: _ArduinoCoreService_SettingsGetValue_Handler, }, { - MethodName: "SettingsDelete", - Handler: _ArduinoCoreService_SettingsDelete_Handler, + MethodName: "SettingsSetValue", + Handler: _ArduinoCoreService_SettingsSetValue_Handler, }, }, Streams: []grpc.StreamDesc{ diff --git a/rpc/cc/arduino/cli/commands/v1/settings.pb.go b/rpc/cc/arduino/cli/commands/v1/settings.pb.go index 8a594bbd49f..13765e459b7 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/settings.pb.go @@ -35,17 +35,28 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type SettingsGetAllResponse struct { +// Configuration to apply to the given instance. +// Any missing field will be kept at the default value. +type Configuration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The settings, in JSON format. - JsonData string `protobuf:"bytes,1,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` -} - -func (x *SettingsGetAllResponse) Reset() { - *x = SettingsGetAllResponse{} + Directories *Configuration_Directories `protobuf:"bytes,1,opt,name=directories,proto3" json:"directories,omitempty"` + Network *Configuration_Network `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` + Sketch *Configuration_Sketch `protobuf:"bytes,3,opt,name=sketch,proto3" json:"sketch,omitempty"` + BuildCache *Configuration_BuildCache `protobuf:"bytes,4,opt,name=build_cache,json=buildCache,proto3" json:"build_cache,omitempty"` + BoardManager *Configuration_BoardManager `protobuf:"bytes,5,opt,name=board_manager,json=boardManager,proto3" json:"board_manager,omitempty"` + Daemon *Configuration_Daemon `protobuf:"bytes,6,opt,name=daemon,proto3" json:"daemon,omitempty"` + Output *Configuration_Output `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"` + Logging *Configuration_Logging `protobuf:"bytes,8,opt,name=logging,proto3" json:"logging,omitempty"` + Library *Configuration_Library `protobuf:"bytes,9,opt,name=library,proto3" json:"library,omitempty"` + Updater *Configuration_Updater `protobuf:"bytes,10,opt,name=updater,proto3" json:"updater,omitempty"` + Locale *string `protobuf:"bytes,100,opt,name=locale,proto3,oneof" json:"locale,omitempty"` +} + +func (x *Configuration) Reset() { + *x = Configuration{} if protoimpl.UnsafeEnabled { mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -53,13 +64,13 @@ func (x *SettingsGetAllResponse) Reset() { } } -func (x *SettingsGetAllResponse) String() string { +func (x *Configuration) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsGetAllResponse) ProtoMessage() {} +func (*Configuration) ProtoMessage() {} -func (x *SettingsGetAllResponse) ProtoReflect() protoreflect.Message { +func (x *Configuration) ProtoReflect() protoreflect.Message { mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -71,29 +82,96 @@ func (x *SettingsGetAllResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsGetAllResponse.ProtoReflect.Descriptor instead. -func (*SettingsGetAllResponse) Descriptor() ([]byte, []int) { +// Deprecated: Use Configuration.ProtoReflect.Descriptor instead. +func (*Configuration) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0} } -func (x *SettingsGetAllResponse) GetJsonData() string { +func (x *Configuration) GetDirectories() *Configuration_Directories { + if x != nil { + return x.Directories + } + return nil +} + +func (x *Configuration) GetNetwork() *Configuration_Network { + if x != nil { + return x.Network + } + return nil +} + +func (x *Configuration) GetSketch() *Configuration_Sketch { + if x != nil { + return x.Sketch + } + return nil +} + +func (x *Configuration) GetBuildCache() *Configuration_BuildCache { + if x != nil { + return x.BuildCache + } + return nil +} + +func (x *Configuration) GetBoardManager() *Configuration_BoardManager { + if x != nil { + return x.BoardManager + } + return nil +} + +func (x *Configuration) GetDaemon() *Configuration_Daemon { + if x != nil { + return x.Daemon + } + return nil +} + +func (x *Configuration) GetOutput() *Configuration_Output { + if x != nil { + return x.Output + } + return nil +} + +func (x *Configuration) GetLogging() *Configuration_Logging { + if x != nil { + return x.Logging + } + return nil +} + +func (x *Configuration) GetLibrary() *Configuration_Library { + if x != nil { + return x.Library + } + return nil +} + +func (x *Configuration) GetUpdater() *Configuration_Updater { if x != nil { - return x.JsonData + return x.Updater + } + return nil +} + +func (x *Configuration) GetLocale() string { + if x != nil && x.Locale != nil { + return *x.Locale } return "" } -type SettingsMergeRequest struct { +type ConfigurationGetRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - - // The settings, in JSON format. - JsonData string `protobuf:"bytes,1,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` } -func (x *SettingsMergeRequest) Reset() { - *x = SettingsMergeRequest{} +func (x *ConfigurationGetRequest) Reset() { + *x = ConfigurationGetRequest{} if protoimpl.UnsafeEnabled { mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -101,13 +179,13 @@ func (x *SettingsMergeRequest) Reset() { } } -func (x *SettingsMergeRequest) String() string { +func (x *ConfigurationGetRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsMergeRequest) ProtoMessage() {} +func (*ConfigurationGetRequest) ProtoMessage() {} -func (x *SettingsMergeRequest) ProtoReflect() protoreflect.Message { +func (x *ConfigurationGetRequest) ProtoReflect() protoreflect.Message { mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -119,46 +197,706 @@ func (x *SettingsMergeRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsMergeRequest.ProtoReflect.Descriptor instead. -func (*SettingsMergeRequest) Descriptor() ([]byte, []int) { +// Deprecated: Use ConfigurationGetRequest.ProtoReflect.Descriptor instead. +func (*ConfigurationGetRequest) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{1} } -func (x *SettingsMergeRequest) GetJsonData() string { +type ConfigurationGetResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The current configuration + Configuration *Configuration `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"` +} + +func (x *ConfigurationGetResponse) Reset() { + *x = ConfigurationGetResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigurationGetResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigurationGetResponse) ProtoMessage() {} + +func (x *ConfigurationGetResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigurationGetResponse.ProtoReflect.Descriptor instead. +func (*ConfigurationGetResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{2} +} + +func (x *ConfigurationGetResponse) GetConfiguration() *Configuration { + if x != nil { + return x.Configuration + } + return nil +} + +type ConfigurationSaveRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The format of the encoded settings, allowed values are "json" and "yaml" + SettingsFormat string `protobuf:"bytes,1,opt,name=settings_format,json=settingsFormat,proto3" json:"settings_format,omitempty"` +} + +func (x *ConfigurationSaveRequest) Reset() { + *x = ConfigurationSaveRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigurationSaveRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigurationSaveRequest) ProtoMessage() {} + +func (x *ConfigurationSaveRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigurationSaveRequest.ProtoReflect.Descriptor instead. +func (*ConfigurationSaveRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{3} +} + +func (x *ConfigurationSaveRequest) GetSettingsFormat() string { if x != nil { - return x.JsonData + return x.SettingsFormat } return "" } -type SettingsGetValueResponse struct { +type ConfigurationSaveResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The encoded settings + EncodedSettings string `protobuf:"bytes,1,opt,name=encoded_settings,json=encodedSettings,proto3" json:"encoded_settings,omitempty"` +} + +func (x *ConfigurationSaveResponse) Reset() { + *x = ConfigurationSaveResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigurationSaveResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigurationSaveResponse) ProtoMessage() {} + +func (x *ConfigurationSaveResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigurationSaveResponse.ProtoReflect.Descriptor instead. +func (*ConfigurationSaveResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{4} +} + +func (x *ConfigurationSaveResponse) GetEncodedSettings() string { + if x != nil { + return x.EncodedSettings + } + return "" +} + +type ConfigurationOpenRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The encoded settings + EncodedSettings string `protobuf:"bytes,1,opt,name=encoded_settings,json=encodedSettings,proto3" json:"encoded_settings,omitempty"` + // The format of the encoded settings, allowed values are "json" and "yaml" + SettingsFormat string `protobuf:"bytes,2,opt,name=settings_format,json=settingsFormat,proto3" json:"settings_format,omitempty"` +} + +func (x *ConfigurationOpenRequest) Reset() { + *x = ConfigurationOpenRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigurationOpenRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigurationOpenRequest) ProtoMessage() {} + +func (x *ConfigurationOpenRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigurationOpenRequest.ProtoReflect.Descriptor instead. +func (*ConfigurationOpenRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{5} +} + +func (x *ConfigurationOpenRequest) GetEncodedSettings() string { + if x != nil { + return x.EncodedSettings + } + return "" +} + +func (x *ConfigurationOpenRequest) GetSettingsFormat() string { + if x != nil { + return x.SettingsFormat + } + return "" +} + +type ConfigurationOpenResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ConfigurationOpenResponse) Reset() { + *x = ConfigurationOpenResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ConfigurationOpenResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigurationOpenResponse) ProtoMessage() {} + +func (x *ConfigurationOpenResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigurationOpenResponse.ProtoReflect.Descriptor instead. +func (*ConfigurationOpenResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{6} +} + +type SettingsGetValueRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The key of the setting. + // The key to get Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // The setting, in JSON format. - JsonData string `protobuf:"bytes,2,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` + // The format of the encoded_value (default is "json", allowed values are + // "json" and "yaml) + ValueFormat string `protobuf:"bytes,2,opt,name=value_format,json=valueFormat,proto3" json:"value_format,omitempty"` } -func (x *SettingsGetValueResponse) Reset() { - *x = SettingsGetValueResponse{} +func (x *SettingsGetValueRequest) Reset() { + *x = SettingsGetValueRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsGetValueResponse) String() string { +func (x *SettingsGetValueRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsGetValueResponse) ProtoMessage() {} +func (*SettingsGetValueRequest) ProtoMessage() {} + +func (x *SettingsGetValueRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsGetValueRequest.ProtoReflect.Descriptor instead. +func (*SettingsGetValueRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{7} +} + +func (x *SettingsGetValueRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SettingsGetValueRequest) GetValueFormat() string { + if x != nil { + return x.ValueFormat + } + return "" +} + +type SettingsGetValueResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The value of the key (encoded) + EncodedValue string `protobuf:"bytes,1,opt,name=encoded_value,json=encodedValue,proto3" json:"encoded_value,omitempty"` +} + +func (x *SettingsGetValueResponse) Reset() { + *x = SettingsGetValueResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsGetValueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsGetValueResponse) ProtoMessage() {} + +func (x *SettingsGetValueResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsGetValueResponse.ProtoReflect.Descriptor instead. +func (*SettingsGetValueResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{8} +} + +func (x *SettingsGetValueResponse) GetEncodedValue() string { + if x != nil { + return x.EncodedValue + } + return "" +} + +type SettingsSetValueRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The key to change + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The new value (encoded), no objects, only scalar or array of scalars are + // allowed. + EncodedValue string `protobuf:"bytes,2,opt,name=encoded_value,json=encodedValue,proto3" json:"encoded_value,omitempty"` + // The format of the encoded_value (default is "json", allowed values are + // "json", "yaml" and "cli") + ValueFormat string `protobuf:"bytes,3,opt,name=value_format,json=valueFormat,proto3" json:"value_format,omitempty"` +} + +func (x *SettingsSetValueRequest) Reset() { + *x = SettingsSetValueRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsSetValueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsSetValueRequest) ProtoMessage() {} + +func (x *SettingsSetValueRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsSetValueRequest.ProtoReflect.Descriptor instead. +func (*SettingsSetValueRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{9} +} + +func (x *SettingsSetValueRequest) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SettingsSetValueRequest) GetEncodedValue() string { + if x != nil { + return x.EncodedValue + } + return "" +} + +func (x *SettingsSetValueRequest) GetValueFormat() string { + if x != nil { + return x.ValueFormat + } + return "" +} + +type SettingsSetValueResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SettingsSetValueResponse) Reset() { + *x = SettingsSetValueResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsSetValueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsSetValueResponse) ProtoMessage() {} + +func (x *SettingsSetValueResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsSetValueResponse.ProtoReflect.Descriptor instead. +func (*SettingsSetValueResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{10} +} + +type SettingsEnumerateRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *SettingsEnumerateRequest) Reset() { + *x = SettingsEnumerateRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsEnumerateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsEnumerateRequest) ProtoMessage() {} + +func (x *SettingsEnumerateRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsEnumerateRequest.ProtoReflect.Descriptor instead. +func (*SettingsEnumerateRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{11} +} + +type SettingsEnumerateResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The list of key/value pairs + Entries []*SettingsEnumerateResponse_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` +} + +func (x *SettingsEnumerateResponse) Reset() { + *x = SettingsEnumerateResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SettingsEnumerateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SettingsEnumerateResponse) ProtoMessage() {} + +func (x *SettingsEnumerateResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SettingsEnumerateResponse.ProtoReflect.Descriptor instead. +func (*SettingsEnumerateResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{12} +} + +func (x *SettingsEnumerateResponse) GetEntries() []*SettingsEnumerateResponse_Entry { + if x != nil { + return x.Entries + } + return nil +} + +type Configuration_Directories struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Data directory + Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + // User directory + User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` + // Downloads directory + Downloads string `protobuf:"bytes,3,opt,name=downloads,proto3" json:"downloads,omitempty"` + // The directory where the built-in resources are installed + Builtin *Configuration_Directories_Builtin `protobuf:"bytes,4,opt,name=builtin,proto3,oneof" json:"builtin,omitempty"` +} + +func (x *Configuration_Directories) Reset() { + *x = Configuration_Directories{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Configuration_Directories) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Configuration_Directories) ProtoMessage() {} + +func (x *Configuration_Directories) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Configuration_Directories.ProtoReflect.Descriptor instead. +func (*Configuration_Directories) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *Configuration_Directories) GetData() string { + if x != nil { + return x.Data + } + return "" +} + +func (x *Configuration_Directories) GetUser() string { + if x != nil { + return x.User + } + return "" +} + +func (x *Configuration_Directories) GetDownloads() string { + if x != nil { + return x.Downloads + } + return "" +} + +func (x *Configuration_Directories) GetBuiltin() *Configuration_Directories_Builtin { + if x != nil { + return x.Builtin + } + return nil +} + +type Configuration_Network struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Extra user-agent information to be appended in network requests + ExtraUserAgent *string `protobuf:"bytes,1,opt,name=extra_user_agent,json=extraUserAgent,proto3,oneof" json:"extra_user_agent,omitempty"` + // The proxy to use for network requests + Proxy *string `protobuf:"bytes,2,opt,name=proxy,proto3,oneof" json:"proxy,omitempty"` +} + +func (x *Configuration_Network) Reset() { + *x = Configuration_Network{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Configuration_Network) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Configuration_Network) ProtoMessage() {} + +func (x *Configuration_Network) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Configuration_Network.ProtoReflect.Descriptor instead. +func (*Configuration_Network) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *Configuration_Network) GetExtraUserAgent() string { + if x != nil && x.ExtraUserAgent != nil { + return *x.ExtraUserAgent + } + return "" +} + +func (x *Configuration_Network) GetProxy() string { + if x != nil && x.Proxy != nil { + return *x.Proxy + } + return "" +} + +type Configuration_Sketch struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Set to true to always export binaries to the sketch directory + AlwaysExportBinaries bool `protobuf:"varint,1,opt,name=always_export_binaries,json=alwaysExportBinaries,proto3" json:"always_export_binaries,omitempty"` +} + +func (x *Configuration_Sketch) Reset() { + *x = Configuration_Sketch{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Configuration_Sketch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Configuration_Sketch) ProtoMessage() {} -func (x *SettingsGetValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2] +func (x *Configuration_Sketch) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -169,53 +907,46 @@ func (x *SettingsGetValueResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsGetValueResponse.ProtoReflect.Descriptor instead. -func (*SettingsGetValueResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{2} -} - -func (x *SettingsGetValueResponse) GetKey() string { - if x != nil { - return x.Key - } - return "" +// Deprecated: Use Configuration_Sketch.ProtoReflect.Descriptor instead. +func (*Configuration_Sketch) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 2} } -func (x *SettingsGetValueResponse) GetJsonData() string { +func (x *Configuration_Sketch) GetAlwaysExportBinaries() bool { if x != nil { - return x.JsonData + return x.AlwaysExportBinaries } - return "" + return false } -type SettingsSetValueRequest struct { +type Configuration_BuildCache struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The key of the setting. - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // The setting, in JSON format. - JsonData string `protobuf:"bytes,2,opt,name=json_data,json=jsonData,proto3" json:"json_data,omitempty"` + // The minimum number of compilations before the cache is purged + CompilationsBeforePurge uint64 `protobuf:"varint,1,opt,name=compilations_before_purge,json=compilationsBeforePurge,proto3" json:"compilations_before_purge,omitempty"` + // Time to live of the cache in seconds + TtlSecs uint64 `protobuf:"varint,2,opt,name=ttl_secs,json=ttlSecs,proto3" json:"ttl_secs,omitempty"` } -func (x *SettingsSetValueRequest) Reset() { - *x = SettingsSetValueRequest{} +func (x *Configuration_BuildCache) Reset() { + *x = Configuration_BuildCache{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsSetValueRequest) String() string { +func (x *Configuration_BuildCache) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsSetValueRequest) ProtoMessage() {} +func (*Configuration_BuildCache) ProtoMessage() {} -func (x *SettingsSetValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3] +func (x *Configuration_BuildCache) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -226,48 +957,51 @@ func (x *SettingsSetValueRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsSetValueRequest.ProtoReflect.Descriptor instead. -func (*SettingsSetValueRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{3} +// Deprecated: Use Configuration_BuildCache.ProtoReflect.Descriptor instead. +func (*Configuration_BuildCache) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 3} } -func (x *SettingsSetValueRequest) GetKey() string { +func (x *Configuration_BuildCache) GetCompilationsBeforePurge() uint64 { if x != nil { - return x.Key + return x.CompilationsBeforePurge } - return "" + return 0 } -func (x *SettingsSetValueRequest) GetJsonData() string { +func (x *Configuration_BuildCache) GetTtlSecs() uint64 { if x != nil { - return x.JsonData + return x.TtlSecs } - return "" + return 0 } -type SettingsGetAllRequest struct { +type Configuration_BoardManager struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Additional URLs to be used for the board manager + AdditionalUrls []string `protobuf:"bytes,1,rep,name=additional_urls,json=additionalUrls,proto3" json:"additional_urls,omitempty"` } -func (x *SettingsGetAllRequest) Reset() { - *x = SettingsGetAllRequest{} +func (x *Configuration_BoardManager) Reset() { + *x = Configuration_BoardManager{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsGetAllRequest) String() string { +func (x *Configuration_BoardManager) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsGetAllRequest) ProtoMessage() {} +func (*Configuration_BoardManager) ProtoMessage() {} -func (x *SettingsGetAllRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4] +func (x *Configuration_BoardManager) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -278,37 +1012,44 @@ func (x *SettingsGetAllRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsGetAllRequest.ProtoReflect.Descriptor instead. -func (*SettingsGetAllRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{4} +// Deprecated: Use Configuration_BoardManager.ProtoReflect.Descriptor instead. +func (*Configuration_BoardManager) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 4} } -type SettingsGetValueRequest struct { +func (x *Configuration_BoardManager) GetAdditionalUrls() []string { + if x != nil { + return x.AdditionalUrls + } + return nil +} + +type Configuration_Daemon struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The key of the setting. - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The TCP port of the daemon + Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` } -func (x *SettingsGetValueRequest) Reset() { - *x = SettingsGetValueRequest{} +func (x *Configuration_Daemon) Reset() { + *x = Configuration_Daemon{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsGetValueRequest) String() string { +func (x *Configuration_Daemon) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsGetValueRequest) ProtoMessage() {} +func (*Configuration_Daemon) ProtoMessage() {} -func (x *SettingsGetValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5] +func (x *Configuration_Daemon) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -319,41 +1060,44 @@ func (x *SettingsGetValueRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsGetValueRequest.ProtoReflect.Descriptor instead. -func (*SettingsGetValueRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{5} +// Deprecated: Use Configuration_Daemon.ProtoReflect.Descriptor instead. +func (*Configuration_Daemon) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 5} } -func (x *SettingsGetValueRequest) GetKey() string { +func (x *Configuration_Daemon) GetPort() string { if x != nil { - return x.Key + return x.Port } return "" } -type SettingsMergeResponse struct { +type Configuration_Output struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Set to true to disable coloring of the output + NoColor bool `protobuf:"varint,1,opt,name=no_color,json=noColor,proto3" json:"no_color,omitempty"` } -func (x *SettingsMergeResponse) Reset() { - *x = SettingsMergeResponse{} +func (x *Configuration_Output) Reset() { + *x = Configuration_Output{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsMergeResponse) String() string { +func (x *Configuration_Output) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsMergeResponse) ProtoMessage() {} +func (*Configuration_Output) ProtoMessage() {} -func (x *SettingsMergeResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6] +func (x *Configuration_Output) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -364,34 +1108,48 @@ func (x *SettingsMergeResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsMergeResponse.ProtoReflect.Descriptor instead. -func (*SettingsMergeResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{6} +// Deprecated: Use Configuration_Output.ProtoReflect.Descriptor instead. +func (*Configuration_Output) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 6} } -type SettingsSetValueResponse struct { +func (x *Configuration_Output) GetNoColor() bool { + if x != nil { + return x.NoColor + } + return false +} + +type Configuration_Logging struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // The logging level + Level string `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"` + // The logging format + Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"` + // The logging file + File *string `protobuf:"bytes,3,opt,name=file,proto3,oneof" json:"file,omitempty"` } -func (x *SettingsSetValueResponse) Reset() { - *x = SettingsSetValueResponse{} +func (x *Configuration_Logging) Reset() { + *x = Configuration_Logging{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsSetValueResponse) String() string { +func (x *Configuration_Logging) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsSetValueResponse) ProtoMessage() {} +func (*Configuration_Logging) ProtoMessage() {} -func (x *SettingsSetValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7] +func (x *Configuration_Logging) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -402,37 +1160,59 @@ func (x *SettingsSetValueResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsSetValueResponse.ProtoReflect.Descriptor instead. -func (*SettingsSetValueResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{7} +// Deprecated: Use Configuration_Logging.ProtoReflect.Descriptor instead. +func (*Configuration_Logging) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 7} +} + +func (x *Configuration_Logging) GetLevel() string { + if x != nil { + return x.Level + } + return "" +} + +func (x *Configuration_Logging) GetFormat() string { + if x != nil { + return x.Format + } + return "" } -type SettingsWriteRequest struct { +func (x *Configuration_Logging) GetFile() string { + if x != nil && x.File != nil { + return *x.File + } + return "" +} + +type Configuration_Library struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Path to settings file (e.g. /path/to/arduino-cli.yaml) - FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` + // Set to true to enable library installation from zip archives or git + // repositories + EnableUnsafeInstall bool `protobuf:"varint,1,opt,name=enable_unsafe_install,json=enableUnsafeInstall,proto3" json:"enable_unsafe_install,omitempty"` } -func (x *SettingsWriteRequest) Reset() { - *x = SettingsWriteRequest{} +func (x *Configuration_Library) Reset() { + *x = Configuration_Library{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsWriteRequest) String() string { +func (x *Configuration_Library) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsWriteRequest) ProtoMessage() {} +func (*Configuration_Library) ProtoMessage() {} -func (x *SettingsWriteRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8] +func (x *Configuration_Library) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -443,41 +1223,44 @@ func (x *SettingsWriteRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsWriteRequest.ProtoReflect.Descriptor instead. -func (*SettingsWriteRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{8} +// Deprecated: Use Configuration_Library.ProtoReflect.Descriptor instead. +func (*Configuration_Library) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 8} } -func (x *SettingsWriteRequest) GetFilePath() string { +func (x *Configuration_Library) GetEnableUnsafeInstall() bool { if x != nil { - return x.FilePath + return x.EnableUnsafeInstall } - return "" + return false } -type SettingsWriteResponse struct { +type Configuration_Updater struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Set to true to enable notifications for updates + EnableNotification bool `protobuf:"varint,1,opt,name=enable_notification,json=enableNotification,proto3" json:"enable_notification,omitempty"` } -func (x *SettingsWriteResponse) Reset() { - *x = SettingsWriteResponse{} +func (x *Configuration_Updater) Reset() { + *x = Configuration_Updater{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsWriteResponse) String() string { +func (x *Configuration_Updater) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsWriteResponse) ProtoMessage() {} +func (*Configuration_Updater) ProtoMessage() {} -func (x *SettingsWriteResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9] +func (x *Configuration_Updater) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -488,37 +1271,44 @@ func (x *SettingsWriteResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsWriteResponse.ProtoReflect.Descriptor instead. -func (*SettingsWriteResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{9} +// Deprecated: Use Configuration_Updater.ProtoReflect.Descriptor instead. +func (*Configuration_Updater) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 9} +} + +func (x *Configuration_Updater) GetEnableNotification() bool { + if x != nil { + return x.EnableNotification + } + return false } -type SettingsDeleteRequest struct { +type Configuration_Directories_Builtin struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The key of the setting to delete. - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The directory where the built-in libraries are installed + Libraries *string `protobuf:"bytes,1,opt,name=libraries,proto3,oneof" json:"libraries,omitempty"` } -func (x *SettingsDeleteRequest) Reset() { - *x = SettingsDeleteRequest{} +func (x *Configuration_Directories_Builtin) Reset() { + *x = Configuration_Directories_Builtin{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsDeleteRequest) String() string { +func (x *Configuration_Directories_Builtin) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsDeleteRequest) ProtoMessage() {} +func (*Configuration_Directories_Builtin) ProtoMessage() {} -func (x *SettingsDeleteRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10] +func (x *Configuration_Directories_Builtin) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -529,41 +1319,46 @@ func (x *SettingsDeleteRequest) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsDeleteRequest.ProtoReflect.Descriptor instead. -func (*SettingsDeleteRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{10} +// Deprecated: Use Configuration_Directories_Builtin.ProtoReflect.Descriptor instead. +func (*Configuration_Directories_Builtin) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{0, 0, 0} } -func (x *SettingsDeleteRequest) GetKey() string { - if x != nil { - return x.Key +func (x *Configuration_Directories_Builtin) GetLibraries() string { + if x != nil && x.Libraries != nil { + return *x.Libraries } return "" } -type SettingsDeleteResponse struct { +type SettingsEnumerateResponse_Entry struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // The key + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + // The key type + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` } -func (x *SettingsDeleteResponse) Reset() { - *x = SettingsDeleteResponse{} +func (x *SettingsEnumerateResponse_Entry) Reset() { + *x = SettingsEnumerateResponse_Entry{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11] + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *SettingsDeleteResponse) String() string { +func (x *SettingsEnumerateResponse_Entry) String() string { return protoimpl.X.MessageStringOf(x) } -func (*SettingsDeleteResponse) ProtoMessage() {} +func (*SettingsEnumerateResponse_Entry) ProtoMessage() {} -func (x *SettingsDeleteResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11] +func (x *SettingsEnumerateResponse_Entry) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -574,9 +1369,23 @@ func (x *SettingsDeleteResponse) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use SettingsDeleteResponse.ProtoReflect.Descriptor instead. -func (*SettingsDeleteResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{11} +// Deprecated: Use SettingsEnumerateResponse_Entry.ProtoReflect.Descriptor instead. +func (*SettingsEnumerateResponse_Entry) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *SettingsEnumerateResponse_Entry) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *SettingsEnumerateResponse_Entry) GetType() string { + if x != nil { + return x.Type + } + return "" } var File_cc_arduino_cli_commands_v1_settings_proto protoreflect.FileDescriptor @@ -586,45 +1395,176 @@ var file_cc_arduino_cli_commands_v1_settings_proto_rawDesc = []byte{ 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x22, 0x35, 0x0a, 0x16, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x33, - 0x0a, 0x14, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x44, - 0x61, 0x74, 0x61, 0x22, 0x49, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, - 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x48, - 0x0a, 0x17, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x6a, - 0x73, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6a, 0x73, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x2b, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x17, - 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x33, 0x0a, 0x14, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, - 0x69, 0x6c, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x66, 0x69, 0x6c, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0x17, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x29, 0x0a, 0x15, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22, 0x18, 0x0a, 0x16, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x22, 0xbd, 0x0d, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x0b, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x52, 0x0b, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, + 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, + 0x48, 0x0a, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, + 0x68, 0x52, 0x06, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x55, 0x0a, 0x0b, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, + 0x61, 0x63, 0x68, 0x65, 0x52, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x12, 0x5b, 0x0a, 0x0d, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x52, + 0x0c, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x48, 0x0a, + 0x06, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x52, + 0x06, 0x64, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x52, 0x06, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x12, 0x4b, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x4b, + 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x4b, 0x0a, 0x07, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x52, + 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, + 0x6c, 0x65, 0x88, 0x01, 0x01, 0x1a, 0xf9, 0x01, 0x0a, 0x0b, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x69, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, + 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, + 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x12, 0x5c, 0x0a, 0x07, 0x62, + 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x69, 0x65, 0x73, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x62, + 0x75, 0x69, 0x6c, 0x74, 0x69, 0x6e, 0x88, 0x01, 0x01, 0x1a, 0x3a, 0x0a, 0x07, 0x42, 0x75, 0x69, + 0x6c, 0x74, 0x69, 0x6e, 0x12, 0x21, 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x69, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x74, 0x69, + 0x6e, 0x1a, 0x72, 0x0a, 0x07, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x2d, 0x0a, 0x10, + 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x74, 0x72, 0x61, 0x55, + 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x05, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x70, 0x72, + 0x6f, 0x78, 0x79, 0x88, 0x01, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, + 0x70, 0x72, 0x6f, 0x78, 0x79, 0x1a, 0x3e, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, + 0x34, 0x0a, 0x16, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x14, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, + 0x61, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x63, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x12, 0x3a, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x5f, 0x70, 0x75, 0x72, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x17, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x50, 0x75, 0x72, 0x67, 0x65, 0x12, + 0x19, 0x0a, 0x08, 0x74, 0x74, 0x6c, 0x5f, 0x73, 0x65, 0x63, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x07, 0x74, 0x74, 0x6c, 0x53, 0x65, 0x63, 0x73, 0x1a, 0x37, 0x0a, 0x0c, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x12, 0x27, 0x0a, 0x0f, 0x61, 0x64, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, + 0x72, 0x6c, 0x73, 0x1a, 0x1c, 0x0a, 0x06, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, 0x12, 0x0a, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x1a, 0x23, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6e, + 0x6f, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6e, + 0x6f, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x1a, 0x59, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, + 0x67, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x17, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x04, 0x66, 0x69, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x1a, 0x3d, 0x0a, 0x07, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x32, 0x0a, 0x15, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x75, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x55, 0x6e, 0x73, 0x61, 0x66, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x1a, 0x3a, 0x0a, 0x07, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x72, 0x12, 0x2f, 0x0a, 0x13, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0x0a, 0x07, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x19, 0x0a, 0x17, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0x6b, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, + 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x43, 0x0a, 0x18, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x22, 0x46, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x63, + 0x6f, 0x64, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x6e, 0x0a, 0x18, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1b, 0x0a, 0x19, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x17, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x3f, 0x0a, 0x18, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, + 0x63, 0x6f, 0x64, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x73, 0x0a, 0x17, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, + 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, + 0x1a, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x2d, 0x0a, 0x05, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -639,27 +1579,53 @@ func file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_settings_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_cc_arduino_cli_commands_v1_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_cc_arduino_cli_commands_v1_settings_proto_goTypes = []interface{}{ - (*SettingsGetAllResponse)(nil), // 0: cc.arduino.cli.commands.v1.SettingsGetAllResponse - (*SettingsMergeRequest)(nil), // 1: cc.arduino.cli.commands.v1.SettingsMergeRequest - (*SettingsGetValueResponse)(nil), // 2: cc.arduino.cli.commands.v1.SettingsGetValueResponse - (*SettingsSetValueRequest)(nil), // 3: cc.arduino.cli.commands.v1.SettingsSetValueRequest - (*SettingsGetAllRequest)(nil), // 4: cc.arduino.cli.commands.v1.SettingsGetAllRequest - (*SettingsGetValueRequest)(nil), // 5: cc.arduino.cli.commands.v1.SettingsGetValueRequest - (*SettingsMergeResponse)(nil), // 6: cc.arduino.cli.commands.v1.SettingsMergeResponse - (*SettingsSetValueResponse)(nil), // 7: cc.arduino.cli.commands.v1.SettingsSetValueResponse - (*SettingsWriteRequest)(nil), // 8: cc.arduino.cli.commands.v1.SettingsWriteRequest - (*SettingsWriteResponse)(nil), // 9: cc.arduino.cli.commands.v1.SettingsWriteResponse - (*SettingsDeleteRequest)(nil), // 10: cc.arduino.cli.commands.v1.SettingsDeleteRequest - (*SettingsDeleteResponse)(nil), // 11: cc.arduino.cli.commands.v1.SettingsDeleteResponse + (*Configuration)(nil), // 0: cc.arduino.cli.commands.v1.Configuration + (*ConfigurationGetRequest)(nil), // 1: cc.arduino.cli.commands.v1.ConfigurationGetRequest + (*ConfigurationGetResponse)(nil), // 2: cc.arduino.cli.commands.v1.ConfigurationGetResponse + (*ConfigurationSaveRequest)(nil), // 3: cc.arduino.cli.commands.v1.ConfigurationSaveRequest + (*ConfigurationSaveResponse)(nil), // 4: cc.arduino.cli.commands.v1.ConfigurationSaveResponse + (*ConfigurationOpenRequest)(nil), // 5: cc.arduino.cli.commands.v1.ConfigurationOpenRequest + (*ConfigurationOpenResponse)(nil), // 6: cc.arduino.cli.commands.v1.ConfigurationOpenResponse + (*SettingsGetValueRequest)(nil), // 7: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsGetValueResponse)(nil), // 8: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueRequest)(nil), // 9: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*SettingsSetValueResponse)(nil), // 10: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*SettingsEnumerateRequest)(nil), // 11: cc.arduino.cli.commands.v1.SettingsEnumerateRequest + (*SettingsEnumerateResponse)(nil), // 12: cc.arduino.cli.commands.v1.SettingsEnumerateResponse + (*Configuration_Directories)(nil), // 13: cc.arduino.cli.commands.v1.Configuration.Directories + (*Configuration_Network)(nil), // 14: cc.arduino.cli.commands.v1.Configuration.Network + (*Configuration_Sketch)(nil), // 15: cc.arduino.cli.commands.v1.Configuration.Sketch + (*Configuration_BuildCache)(nil), // 16: cc.arduino.cli.commands.v1.Configuration.BuildCache + (*Configuration_BoardManager)(nil), // 17: cc.arduino.cli.commands.v1.Configuration.BoardManager + (*Configuration_Daemon)(nil), // 18: cc.arduino.cli.commands.v1.Configuration.Daemon + (*Configuration_Output)(nil), // 19: cc.arduino.cli.commands.v1.Configuration.Output + (*Configuration_Logging)(nil), // 20: cc.arduino.cli.commands.v1.Configuration.Logging + (*Configuration_Library)(nil), // 21: cc.arduino.cli.commands.v1.Configuration.Library + (*Configuration_Updater)(nil), // 22: cc.arduino.cli.commands.v1.Configuration.Updater + (*Configuration_Directories_Builtin)(nil), // 23: cc.arduino.cli.commands.v1.Configuration.Directories.Builtin + (*SettingsEnumerateResponse_Entry)(nil), // 24: cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry } var file_cc_arduino_cli_commands_v1_settings_proto_depIdxs = []int32{ - 0, // [0:0] is the sub-list for method output_type - 0, // [0:0] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name + 13, // 0: cc.arduino.cli.commands.v1.Configuration.directories:type_name -> cc.arduino.cli.commands.v1.Configuration.Directories + 14, // 1: cc.arduino.cli.commands.v1.Configuration.network:type_name -> cc.arduino.cli.commands.v1.Configuration.Network + 15, // 2: cc.arduino.cli.commands.v1.Configuration.sketch:type_name -> cc.arduino.cli.commands.v1.Configuration.Sketch + 16, // 3: cc.arduino.cli.commands.v1.Configuration.build_cache:type_name -> cc.arduino.cli.commands.v1.Configuration.BuildCache + 17, // 4: cc.arduino.cli.commands.v1.Configuration.board_manager:type_name -> cc.arduino.cli.commands.v1.Configuration.BoardManager + 18, // 5: cc.arduino.cli.commands.v1.Configuration.daemon:type_name -> cc.arduino.cli.commands.v1.Configuration.Daemon + 19, // 6: cc.arduino.cli.commands.v1.Configuration.output:type_name -> cc.arduino.cli.commands.v1.Configuration.Output + 20, // 7: cc.arduino.cli.commands.v1.Configuration.logging:type_name -> cc.arduino.cli.commands.v1.Configuration.Logging + 21, // 8: cc.arduino.cli.commands.v1.Configuration.library:type_name -> cc.arduino.cli.commands.v1.Configuration.Library + 22, // 9: cc.arduino.cli.commands.v1.Configuration.updater:type_name -> cc.arduino.cli.commands.v1.Configuration.Updater + 0, // 10: cc.arduino.cli.commands.v1.ConfigurationGetResponse.configuration:type_name -> cc.arduino.cli.commands.v1.Configuration + 24, // 11: cc.arduino.cli.commands.v1.SettingsEnumerateResponse.entries:type_name -> cc.arduino.cli.commands.v1.SettingsEnumerateResponse.Entry + 23, // 12: cc.arduino.cli.commands.v1.Configuration.Directories.builtin:type_name -> cc.arduino.cli.commands.v1.Configuration.Directories.Builtin + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_settings_proto_init() } @@ -669,7 +1635,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } if !protoimpl.UnsafeEnabled { file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsGetAllResponse); i { + switch v := v.(*Configuration); i { case 0: return &v.state case 1: @@ -681,7 +1647,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsMergeRequest); i { + switch v := v.(*ConfigurationGetRequest); i { case 0: return &v.state case 1: @@ -693,7 +1659,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsGetValueResponse); i { + switch v := v.(*ConfigurationGetResponse); i { case 0: return &v.state case 1: @@ -705,7 +1671,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsSetValueRequest); i { + switch v := v.(*ConfigurationSaveRequest); i { case 0: return &v.state case 1: @@ -717,7 +1683,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsGetAllRequest); i { + switch v := v.(*ConfigurationSaveResponse); i { case 0: return &v.state case 1: @@ -729,7 +1695,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsGetValueRequest); i { + switch v := v.(*ConfigurationOpenRequest); i { case 0: return &v.state case 1: @@ -741,7 +1707,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsMergeResponse); i { + switch v := v.(*ConfigurationOpenResponse); i { case 0: return &v.state case 1: @@ -753,7 +1719,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsSetValueResponse); i { + switch v := v.(*SettingsGetValueRequest); i { case 0: return &v.state case 1: @@ -765,7 +1731,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsWriteRequest); i { + switch v := v.(*SettingsGetValueResponse); i { case 0: return &v.state case 1: @@ -777,7 +1743,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsWriteResponse); i { + switch v := v.(*SettingsSetValueRequest); i { case 0: return &v.state case 1: @@ -789,7 +1755,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsDeleteRequest); i { + switch v := v.(*SettingsSetValueResponse); i { case 0: return &v.state case 1: @@ -801,7 +1767,163 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SettingsDeleteResponse); i { + switch v := v.(*SettingsEnumerateRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsEnumerateResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Directories); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Network); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Sketch); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_BuildCache); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_BoardManager); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Daemon); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Output); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Logging); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Library); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Updater); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Configuration_Directories_Builtin); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*SettingsEnumerateResponse_Entry); i { case 0: return &v.state case 1: @@ -813,13 +1935,18 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } } + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0].OneofWrappers = []interface{}{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14].OneofWrappers = []interface{}{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_settings_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/settings.proto b/rpc/cc/arduino/cli/commands/v1/settings.proto index 05a6ea16a22..71631e56b99 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.proto +++ b/rpc/cc/arduino/cli/commands/v1/settings.proto @@ -19,51 +19,145 @@ package cc.arduino.cli.commands.v1; option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; -message SettingsGetAllResponse { - // The settings, in JSON format. - string json_data = 1; +// Configuration to apply to the given instance. +// Any missing field will be kept at the default value. +message Configuration { + message Directories { + message Builtin { + // The directory where the built-in libraries are installed + optional string libraries = 1; + } + // Data directory + string data = 1; + // User directory + string user = 2; + // Downloads directory + string downloads = 3; + // The directory where the built-in resources are installed + optional Builtin builtin = 4; + }; + message Network { + // Extra user-agent information to be appended in network requests + optional string extra_user_agent = 1; + // The proxy to use for network requests + optional string proxy = 2; + }; + message Sketch { + // Set to true to always export binaries to the sketch directory + bool always_export_binaries = 1; + } + message BuildCache { + // The minimum number of compilations before the cache is purged + uint64 compilations_before_purge = 1; + // Time to live of the cache in seconds + uint64 ttl_secs = 2; + } + message BoardManager { + // Additional URLs to be used for the board manager + repeated string additional_urls = 1; + } + message Daemon { + // The TCP port of the daemon + string port = 1; + } + message Output { + // Set to true to disable coloring of the output + bool no_color = 1; + } + message Logging { + // The logging level + string level = 1; + // The logging format + string format = 2; + // The logging file + optional string file = 3; + } + message Library { + // Set to true to enable library installation from zip archives or git + // repositories + bool enable_unsafe_install = 1; + } + message Updater { + // Set to true to enable notifications for updates + bool enable_notification = 1; + } + + Directories directories = 1; + Network network = 2; + Sketch sketch = 3; + BuildCache build_cache = 4; + BoardManager board_manager = 5; + Daemon daemon = 6; + Output output = 7; + Logging logging = 8; + Library library = 9; + Updater updater = 10; + + optional string locale = 100; } -message SettingsMergeRequest { - // The settings, in JSON format. - string json_data = 1; +message ConfigurationGetRequest {} + +message ConfigurationGetResponse { + // The current configuration + Configuration configuration = 1; } -message SettingsGetValueResponse { - // The key of the setting. - string key = 1; - // The setting, in JSON format. - string json_data = 2; +message ConfigurationSaveRequest { + // The format of the encoded settings, allowed values are "json" and "yaml" + string settings_format = 1; } -message SettingsSetValueRequest { - // The key of the setting. - string key = 1; - // The setting, in JSON format. - string json_data = 2; +message ConfigurationSaveResponse { + // The encoded settings + string encoded_settings = 1; +} + +message ConfigurationOpenRequest { + // The encoded settings + string encoded_settings = 1; + // The format of the encoded settings, allowed values are "json" and "yaml" + string settings_format = 2; } -message SettingsGetAllRequest {} +message ConfigurationOpenResponse {} message SettingsGetValueRequest { - // The key of the setting. + // The key to get string key = 1; + // The format of the encoded_value (default is "json", allowed values are + // "json" and "yaml) + string value_format = 2; } -message SettingsMergeResponse {} +message SettingsGetValueResponse { + // The value of the key (encoded) + string encoded_value = 1; +} + +message SettingsSetValueRequest { + // The key to change + string key = 1; + // The new value (encoded), no objects, only scalar or array of scalars are + // allowed. + string encoded_value = 2; + // The format of the encoded_value (default is "json", allowed values are + // "json", "yaml" and "cli") + string value_format = 3; +} message SettingsSetValueResponse {} -message SettingsWriteRequest { - // Path to settings file (e.g. /path/to/arduino-cli.yaml) - string file_path = 1; -} +message SettingsEnumerateRequest {} -message SettingsWriteResponse {} +message SettingsEnumerateResponse { + message Entry { + // The key + string key = 1; + // The key type + string type = 2; + } -message SettingsDeleteRequest { - // The key of the setting to delete. - string key = 1; + // The list of key/value pairs + repeated Entry entries = 1; } - -message SettingsDeleteResponse {} diff --git a/rpc/internal/client_example/main.go b/rpc/internal/client_example/main.go index dd23b0ec8d5..eabf6bfd2d9 100644 --- a/rpc/internal/client_example/main.go +++ b/rpc/internal/client_example/main.go @@ -23,7 +23,6 @@ import ( "io" "log" "os" - "path" "path/filepath" "strings" "time" @@ -245,84 +244,84 @@ func callVersion(client rpc.ArduinoCoreServiceClient) { } func callSetValue(client rpc.ArduinoCoreServiceClient) { - _, err := client.SettingsSetValue(context.Background(), - &rpc.SettingsSetValueRequest{ - Key: "directories", - JsonData: `{"data": "` + dataDir + `", "downloads": "` + path.Join(dataDir, "staging") + `", "user": "` + path.Join(dataDir, "sketchbook") + `"}`, - }) + // _, err := client.SettingsSetValue(context.Background(), + // &rpc.SettingsSetValueRequest{ + // Key: "directories", + // JsonData: `{"data": "` + dataDir + `", "downloads": "` + path.Join(dataDir, "staging") + `", "user": "` + path.Join(dataDir, "sketchbook") + `"}`, + // }) - if err != nil { - log.Fatalf("Error setting settings value: %s", err) - } + // if err != nil { + // log.Fatalf("Error setting settings value: %s", err) + // } } func callSetProxy(client rpc.ArduinoCoreServiceClient) { - _, err := client.SettingsSetValue(context.Background(), - &rpc.SettingsSetValueRequest{ - Key: "network.proxy", - JsonData: `"http://localhost:3128"`, - }) + // _, err := client.SettingsSetValue(context.Background(), + // &rpc.SettingsSetValueRequest{ + // Key: "network.proxy", + // JsonData: `"http://localhost:3128"`, + // }) - if err != nil { - log.Fatalf("Error setting settings value: %s", err) - } + // if err != nil { + // log.Fatalf("Error setting settings value: %s", err) + // } } func callUnsetProxy(client rpc.ArduinoCoreServiceClient) { - _, err := client.SettingsSetValue(context.Background(), - &rpc.SettingsSetValueRequest{ - Key: "network.proxy", - JsonData: `""`, - }) + // _, err := client.SettingsSetValue(context.Background(), + // &rpc.SettingsSetValueRequest{ + // Key: "network.proxy", + // JsonData: `""`, + // }) - if err != nil { - log.Fatalf("Error setting settings value: %s", err) - } + // if err != nil { + // log.Fatalf("Error setting settings value: %s", err) + // } } func callMerge(client rpc.ArduinoCoreServiceClient, jsonData string) { - _, err := client.SettingsMerge(context.Background(), - &rpc.SettingsMergeRequest{ - JsonData: jsonData, - }) + // _, err := client.SettingsMerge(context.Background(), + // &rpc.SettingsMergeRequest{ + // JsonData: jsonData, + // }) - if err != nil { - log.Fatalf("Error merging settings: %s", err) - } + // if err != nil { + // log.Fatalf("Error merging settings: %s", err) + // } } func callGetValue(client rpc.ArduinoCoreServiceClient) { - getValueResp, err := client.SettingsGetValue(context.Background(), - &rpc.SettingsGetValueRequest{ - Key: "foo", - }) + // getValueResp, err := client.SettingsGetValue(context.Background(), + // &rpc.SettingsGetValueRequest{ + // Key: "foo", + // }) - if err != nil { - log.Fatalf("Error getting settings value: %s", err) - } + // if err != nil { + // log.Fatalf("Error getting settings value: %s", err) + // } - log.Printf("Value: %s: %s", getValueResp.GetKey(), getValueResp.GetJsonData()) + // log.Printf("Value: %s: %s", getValueResp.GetKey(), getValueResp.GetJsonData()) } func callGetAll(client rpc.ArduinoCoreServiceClient) { - getAllResp, err := client.SettingsGetAll(context.Background(), &rpc.SettingsGetAllRequest{}) + // getAllResp, err := client.SettingsGetAll(context.Background(), &rpc.SettingsGetAllRequest{}) - if err != nil { - log.Fatalf("Error getting settings: %s", err) - } + // if err != nil { + // log.Fatalf("Error getting settings: %s", err) + // } - log.Printf("Settings: %s", getAllResp.GetJsonData()) + // log.Printf("Settings: %s", getAllResp.GetJsonData()) } func callWrite(client rpc.ArduinoCoreServiceClient) { - _, err := client.SettingsWrite(context.Background(), - &rpc.SettingsWriteRequest{ - FilePath: path.Join(dataDir, "written-rpc.Settingsyml"), - }) + // _, err := client.SettingsWrite(context.Background(), + // &rpc.SettingsWriteRequest{ + // FilePath: path.Join(dataDir, "written-rpc.Settingsyml"), + // }) - if err != nil { - log.Fatalf("Error writing settings: %s", err) - } + // if err != nil { + // log.Fatalf("Error writing settings: %s", err) + // } } func createInstance(client rpc.ArduinoCoreServiceClient) *rpc.Instance { From 04536776396d55bc6185c41e2bdc50cc1cc3ef52 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 22 Apr 2024 14:41:41 +0200 Subject: [PATCH 166/361] Use custom type to avoid context-values collisions --- internal/cli/cli.go | 2 +- internal/cli/config/config.go | 18 +++++++++++++++++- internal/cli/config/init.go | 2 +- main.go | 4 ++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 5467e617fc7..aa59dfe36ba 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -117,7 +117,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { preRun(verbose, outputFormat, logLevel, logFile, logFormat, noColor, settings) // Log the configuration file used - if configFile := ctx.Value("config_file").(string); configFile != "" { + if configFile := config.GetConfigFile(ctx); configFile != "" { logrus.Infof("Using config file: %s", configFile) } else { logrus.Info("Config file not found, using default values") diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index 8c69e8e3f44..df71ea93634 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -64,6 +64,22 @@ func getAllArraySettingsKeys(ctx context.Context, srv rpc.ArduinoCoreServiceServ return arrayKeys } +type ctxValue string + +// GetConfigFile returns the configuration file path from the context +func GetConfigFile(ctx context.Context) string { + res := ctx.Value(ctxValue("config_file")) + if res == nil { + return "" + } + return res.(string) +} + +// SetConfigFile sets the configuration file path in the context +func SetConfigFile(ctx context.Context, configFile string) context.Context { + return context.WithValue(ctx, ctxValue("config_file"), configFile) +} + func saveConfiguration(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { var outConfig []byte if res, err := srv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}); err != nil { @@ -72,7 +88,7 @@ func saveConfiguration(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { outConfig = []byte(res.GetEncodedSettings()) } - configFile := ctx.Value("config_file").(string) + configFile := GetConfigFile(ctx) if err := paths.New(configFile).WriteFile(outConfig); err != nil { feedback.Fatal(tr("Error writing to file: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/config/init.go b/internal/cli/config/init.go index 65f514dfe39..5fe25273bd4 100644 --- a/internal/cli/config/init.go +++ b/internal/cli/config/init.go @@ -83,7 +83,7 @@ func runInitCommand(srv rpc.ArduinoCoreServiceServer) { configFileAbsPath = configFileDir.Join(defaultFileName) default: - configFileAbsPath = paths.New(ctx.Value("config_file").(string)) + configFileAbsPath = paths.New(GetConfigFile(ctx)) configFileDir = configFileAbsPath.Parent() } diff --git a/main.go b/main.go index 56c58ea36d5..6d49b0e4933 100644 --- a/main.go +++ b/main.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli" + "github.com/arduino/arduino-cli/internal/cli/config" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" @@ -35,8 +36,7 @@ func main() { // Search for the configuration file in the command line arguments and in the environment configFile := configuration.FindConfigFileInArgsFallbackOnEnv(os.Args) - ctx := context.Background() - ctx = context.WithValue(ctx, "config_file", configFile) + ctx := config.SetConfigFile(context.Background(), configFile) // Read the settings from the configuration file openReq := &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml"} From 61b66a7092ddfd1f958a5c0ceee2fd5634772af3 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 19 Apr 2024 09:24:49 +0200 Subject: [PATCH 167/361] Fixed test --- commands/service_platform_search_test.go | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/commands/service_platform_search_test.go b/commands/service_platform_search_test.go index dc7df5f190c..0e98b28fe59 100644 --- a/commands/service_platform_search_test.go +++ b/commands/service_platform_search_test.go @@ -38,12 +38,7 @@ func TestPlatformSearch(t *testing.T) { ctx := context.Background() srv := NewArduinoCoreServer() - conf, err := paths.TempDir().Join("test", "arduino-cli.yaml").ReadFile() - require.NoError(t, err) - _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{ - SettingsFormat: "yaml", - EncodedSettings: string(conf), - }) + _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml"}) require.NoError(t, err) createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) @@ -347,12 +342,7 @@ func TestPlatformSearchSorting(t *testing.T) { ctx := context.Background() srv := NewArduinoCoreServer() - conf, err := paths.TempDir().Join("test", "arduino-cli.yaml").ReadFile() - require.NoError(t, err) - _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{ - SettingsFormat: "yaml", - EncodedSettings: string(conf), - }) + _, err = srv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml"}) require.NoError(t, err) createResp, err := srv.Create(ctx, &rpc.CreateRequest{}) From 087a6f56e5460d99400e1f81a9178b16ca344819 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 19 Apr 2024 12:06:19 +0200 Subject: [PATCH 168/361] Fixed FindConfigFileInArgsFallbackOnEnv unit test --- internal/cli/configuration/configuration_test.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/cli/configuration/configuration_test.go b/internal/cli/configuration/configuration_test.go index 68d6ab682d4..23af3a964e1 100644 --- a/internal/cli/configuration/configuration_test.go +++ b/internal/cli/configuration/configuration_test.go @@ -16,6 +16,7 @@ package configuration import ( + "path/filepath" "testing" "github.com/stretchr/testify/require" @@ -41,8 +42,9 @@ func TestInit(t *testing.T) { } func TestFindConfigFile(t *testing.T) { + defaultConfigFile := filepath.Join(getDefaultArduinoDataDir(), "arduino-cli.yaml") configFile := FindConfigFileInArgsFallbackOnEnv([]string{"--config-file"}) - require.Equal(t, "", configFile) + require.Equal(t, defaultConfigFile, configFile) configFile = FindConfigFileInArgsFallbackOnEnv([]string{"--config-file", "some/path/to/config"}) require.Equal(t, "some/path/to/config", configFile) @@ -51,7 +53,7 @@ func TestFindConfigFile(t *testing.T) { require.Equal(t, "some/path/to/config/arduino-cli.yaml", configFile) configFile = FindConfigFileInArgsFallbackOnEnv([]string{}) - require.Equal(t, "", configFile) + require.Equal(t, defaultConfigFile, configFile) t.Setenv("ARDUINO_CONFIG_FILE", "some/path/to/config") configFile = FindConfigFileInArgsFallbackOnEnv([]string{}) From 9cd9c979b3dc1d0dab661b0bf3ee6cd67d0a8c4d Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 19 Apr 2024 12:07:53 +0200 Subject: [PATCH 169/361] Fixed TestUserAgentHeader and TestProxy --- .golangci.yml | 2 ++ internal/cli/configuration/defaults.go | 4 ++++ internal/cli/configuration/network_test.go | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/.golangci.yml b/.golangci.yml index a4057e492c6..a80fe164d7e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -134,5 +134,7 @@ issues: - path-except: internal/cli/ linters: - forbidigo + - path: internal/cli/.*_test.go + linters: [forbidigo] - path: internal/cli/feedback/ linters: [forbidigo] diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index a47538dd298..50e0faf771b 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -64,6 +64,10 @@ func SetDefaults(settings *Settings) { // updater settings setDefaultValueAndKeyTypeSchema("updater.enable_notification", true) + + // network settings + setKeyTypeSchema("network.proxy", "") + setKeyTypeSchema("network.user_agent_ext", "") } // InjectEnvVars change settings based on the environment variables values diff --git a/internal/cli/configuration/network_test.go b/internal/cli/configuration/network_test.go index ba713394d34..6c8a7def80d 100644 --- a/internal/cli/configuration/network_test.go +++ b/internal/cli/configuration/network_test.go @@ -33,7 +33,7 @@ func TestUserAgentHeader(t *testing.T) { defer ts.Close() settings := configuration.NewSettings() - settings.Set("network.user_agent_ext", "test-user-agent") + require.NoError(t, settings.Set("network.user_agent_ext", "test-user-agent")) client, err := settings.NewHttpClient() require.NoError(t, err) @@ -46,6 +46,7 @@ func TestUserAgentHeader(t *testing.T) { b, err := io.ReadAll(response.Body) require.NoError(t, err) + fmt.Println("RESPONSE:", string(b)) require.Contains(t, string(b), "test-user-agent") } From 384c30c86c39a85b5cb24f7dfe8c1411edbf88ba Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Sun, 21 Apr 2024 18:01:18 +0200 Subject: [PATCH 170/361] Improved error message --- internal/go-configmap/configuration.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/internal/go-configmap/configuration.go b/internal/go-configmap/configuration.go index fa504a272bd..5ea74eac983 100644 --- a/internal/go-configmap/configuration.go +++ b/internal/go-configmap/configuration.go @@ -109,7 +109,12 @@ func tryConversion(current any, desiredType reflect.Type) (any, error) { } return currentArray, nil } - return nil, fmt.Errorf("invalid conversion, got %T but want %v", current, desiredType) + + currentTypeString := currentType.String() + if currentTypeString == "[]interface {}" { + currentTypeString = "array" + } + return nil, fmt.Errorf("invalid conversion, got %s but want %v", currentTypeString, desiredType) } func (c Map) set(keys []string, value any) { From 6aa742ff40997e0c1df5361bc09e046914f46db6 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Sun, 21 Apr 2024 18:02:18 +0200 Subject: [PATCH 171/361] Config set adds only unique values --- internal/algorithms/slices.go | 14 ++++++++++++++ internal/cli/config/set.go | 5 +++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/internal/algorithms/slices.go b/internal/algorithms/slices.go index ab904a97f94..90ea3d1984b 100644 --- a/internal/algorithms/slices.go +++ b/internal/algorithms/slices.go @@ -71,3 +71,17 @@ func NotEquals[T comparable](value T) Matcher[T] { return x != value } } + +// Uniq return a copy of the input array with all duplicates removed +func Uniq[T comparable](in []T) []T { + have := map[T]bool{} + var out []T + for _, v := range in { + if have[v] { + continue + } + out = append(out, v) + have[v] = true + } + return out +} diff --git a/internal/cli/config/set.go b/internal/cli/config/set.go index dd219ba1918..a722f3f176b 100644 --- a/internal/cli/config/set.go +++ b/internal/cli/config/set.go @@ -20,6 +20,7 @@ import ( "encoding/json" "os" + f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -59,8 +60,8 @@ func runSetCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args [ req.EncodedValue = args[1] req.ValueFormat = "cli" } else { - // Array - jsonValues, err := json.Marshal(args[1:]) + // Uniq Array + jsonValues, err := json.Marshal(f.Uniq(args[1:])) if err != nil { feedback.Fatal(tr("Error setting value: %v", err), feedback.ErrGeneric) } From 0aafda3a00f5d986cceb989e5512a56072ac4b28 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Sun, 21 Apr 2024 18:04:07 +0200 Subject: [PATCH 172/361] Fixed initialization sequence for 'config init' command --- internal/cli/cli.go | 16 +------- internal/cli/config/config.go | 2 +- internal/cli/config/init.go | 70 +++++++++++++++++++++++++++++------ 3 files changed, 62 insertions(+), 26 deletions(-) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index aa59dfe36ba..de4832318f5 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -17,7 +17,6 @@ package cli import ( "context" - "encoding/json" "fmt" "io" "os" @@ -81,6 +80,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { defaultLogFile := settings.GetLogging().GetFile() defaultLogFormat := settings.GetLogging().GetFormat() + defaultLogLevel := settings.GetLogging().GetLevel() defaultAdditionalURLs := settings.GetBoardManager().GetAdditionalUrls() defaultOutputNoColor := settings.GetOutput().GetNoColor() @@ -92,18 +92,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { PersistentPreRun: func(cmd *cobra.Command, args []string) { ctx := cmd.Context() - // Override server settings with the flags from the command line - set := func(key string, value any) { - if valueJson, err := json.Marshal(value); err != nil { - feedback.Fatal(tr("Error setting value %s: %v", key, err), feedback.ErrGeneric) - } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: string(valueJson)}); err != nil { - feedback.Fatal(tr("Error setting value %s: %v", key, err), feedback.ErrGeneric) - } - } - set("logging.level", logLevel) - set("logging.file", logFile) - set("board_manager.additional_urls", additionalUrls) - set("output.no_color", noColor) + config.ApplyGlobalFlagsToConfiguration(ctx, cmd, srv) if jsonOutput { outputFormat = "json" @@ -178,7 +167,6 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, tr("Print the logs on the standard output.")) cmd.Flag("verbose").Hidden = true cmd.PersistentFlags().BoolVar(&verbose, "log", false, tr("Print the logs on the standard output.")) - defaultLogLevel := settings.GetLogging().GetLevel() validLogLevels := []string{"trace", "debug", "info", "warn", "error", "fatal", "panic"} cmd.PersistentFlags().StringVar(&logLevel, "log-level", defaultLogLevel, tr("Messages with this level and above will be logged. Valid levels are: %s", strings.Join(validLogLevels, ", "))) cmd.RegisterFlagCompletionFunc("log-level", cobra.FixedCompletions(validLogLevels, cobra.ShellCompDirectiveDefault)) diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index df71ea93634..2662befe322 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -42,7 +42,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * configCommand.AddCommand(initDeleteCommand(srv)) configCommand.AddCommand(initDumpCommand(srv)) configCommand.AddCommand(initGetCommand(srv)) - configCommand.AddCommand(initInitCommand(srv)) + configCommand.AddCommand(initInitCommand()) configCommand.AddCommand(initRemoveCommand(srv)) configCommand.AddCommand(initSetCommand(srv)) diff --git a/internal/cli/config/init.go b/internal/cli/config/init.go index 5fe25273bd4..4e297fda7c5 100644 --- a/internal/cli/config/init.go +++ b/internal/cli/config/init.go @@ -17,8 +17,11 @@ package config import ( "context" + "encoding/json" "os" + "strings" + "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" @@ -35,7 +38,7 @@ var ( const defaultFileName = "arduino-cli.yaml" -func initInitCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { +func initInitCommand() *cobra.Command { initCommand := &cobra.Command{ Use: "init", Short: tr("Writes current configuration to a configuration file."), @@ -50,7 +53,7 @@ func initInitCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { arguments.CheckFlagsConflicts(cmd, "dest-file", "dest-dir") }, Run: func(cmd *cobra.Command, args []string) { - runInitCommand(srv) + runInitCommand(cmd.Context(), cmd) }, } initCommand.Flags().StringVar(&destDir, "dest-dir", "", tr("Sets where to save the configuration file.")) @@ -59,9 +62,8 @@ func initInitCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return initCommand } -func runInitCommand(srv rpc.ArduinoCoreServiceServer) { +func runInitCommand(ctx context.Context, cmd *cobra.Command) { logrus.Info("Executing `arduino-cli config init`") - ctx := context.Background() var configFileAbsPath *paths.Path var configFileDir *paths.Path @@ -97,14 +99,22 @@ func runInitCommand(srv rpc.ArduinoCoreServiceServer) { feedback.Fatal(tr("Cannot create config file directory: %v", err), feedback.ErrGeneric) } - // for _, url := range newSettings.GetStringSlice("board_manager.additional_urls") { - // if strings.Contains(url, ",") { - // feedback.Fatal(tr("Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n%s", url), - // feedback.ErrGeneric) - // } - // } + tmpSrv := commands.NewArduinoCoreServer() - resp, err := srv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}) + if _, err := tmpSrv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml", EncodedSettings: ""}); err != nil { + feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + } + + // Ensure to always output an empty array for additional urls + if _, err := tmpSrv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{ + Key: "board_manager.additional_urls", EncodedValue: "[]", + }); err != nil { + feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + } + + ApplyGlobalFlagsToConfiguration(ctx, cmd, tmpSrv) + + resp, err := tmpSrv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}) if err != nil { feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) } @@ -116,6 +126,44 @@ func runInitCommand(srv rpc.ArduinoCoreServiceServer) { feedback.PrintResult(initResult{ConfigFileAbsPath: configFileAbsPath}) } +// ApplyGlobalFlagsToConfiguration overrides server settings with the flags from the command line +func ApplyGlobalFlagsToConfiguration(ctx context.Context, cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { + set := func(k string, v any) { + if jsonValue, err := json.Marshal(v); err != nil { + feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{ + Key: k, EncodedValue: string(jsonValue), + }); err != nil { + feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + } + + } + + if f := cmd.Flags().Lookup("log-level"); f.Changed { + logLevel, _ := cmd.Flags().GetString("log-level") + set("logging.level", logLevel) + } + if f := cmd.Flags().Lookup("log-file"); f.Changed { + logFile, _ := cmd.Flags().GetString("log-file") + set("logging.file", logFile) + } + if f := cmd.Flags().Lookup("no-color"); f.Changed { + noColor, _ := cmd.Flags().GetBool("no-color") + set("output.no_color", noColor) + } + if f := cmd.Flags().Lookup("additional-urls"); f.Changed { + urls, _ := cmd.Flags().GetStringSlice("additional-urls") + for _, url := range urls { + if strings.Contains(url, ",") { + feedback.Fatal( + tr("Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n%s", url), + feedback.ErrBadArgument) + } + } + set("board_manager.additional_urls", urls) + } +} + // output from this command requires special formatting, let's create a dedicated // feedback.Result implementation type initResult struct { From 921fa61acaca0a11035b292b16fcc7116927b1f0 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Sun, 21 Apr 2024 18:04:59 +0200 Subject: [PATCH 173/361] Config search now looks into ARDUINO_DIRECTORIES_DATA env too --- internal/cli/configuration/configuration.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index 672cbb466df..5176acc9a28 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -109,5 +109,11 @@ func FindConfigFileInArgsFallbackOnEnv(args []string) string { if p, ok := os.LookupEnv("ARDUINO_CONFIG_FILE"); ok { return p } + if p, ok := os.LookupEnv("ARDUINO_DIRECTORIES_DATA"); ok { + return filepath.Join(p, "arduino-cli.yaml") + } + if p, ok := os.LookupEnv("ARDUINO_DATA_DIR"); ok { + return filepath.Join(p, "arduino-cli.yaml") + } return filepath.Join(getDefaultArduinoDataDir(), "arduino-cli.yaml") } From ad8dbd9e7d1edf60ee95b97d47fe16ea1066e78a Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Sun, 21 Apr 2024 18:05:23 +0200 Subject: [PATCH 174/361] Fixed all config* integration test --- internal/cli/configuration/defaults.go | 3 + .../integrationtest/config/config_test.go | 111 ++++++++---------- 2 files changed, 54 insertions(+), 60 deletions(-) diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index 50e0faf771b..46961e6979e 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -68,6 +68,9 @@ func SetDefaults(settings *Settings) { // network settings setKeyTypeSchema("network.proxy", "") setKeyTypeSchema("network.user_agent_ext", "") + + // locale + setDefaultValueAndKeyTypeSchema("locale", "en") } // InjectEnvVars change settings based on the environment variables values diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 107141ccfb4..2742a7205f3 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -50,15 +50,6 @@ func TestInitWithExistingCustomConfig(t *testing.T) { err = yaml.Unmarshal(configFile, config) require.NoError(t, err) require.Equal(t, config["board_manager"]["additional_urls"].([]interface{})[0].(string), "https://example.com") - require.Equal(t, config["daemon"]["port"].(string), "50051") - require.Equal(t, config["directories"]["data"].(string), cli.DataDir().String()) - require.Equal(t, config["directories"]["downloads"].(string), cli.DownloadDir().String()) - require.Equal(t, config["directories"]["user"].(string), cli.SketchbookDir().String()) - require.Empty(t, config["logging"]["file"]) - require.Equal(t, config["logging"]["format"].(string), "text") - require.Equal(t, config["logging"]["level"].(string), "info") - require.Equal(t, config["metrics"]["addr"].(string), ":9090") - require.True(t, config["metrics"]["enabled"].(bool)) configFilePath := cli.WorkingDir().Join("config", "test", "config.yaml") require.NoFileExists(t, configFilePath.String()) @@ -71,15 +62,6 @@ func TestInitWithExistingCustomConfig(t *testing.T) { err = yaml.Unmarshal(configFile, config) require.NoError(t, err) require.Empty(t, config["board_manager"]["additional_urls"]) - require.Equal(t, config["daemon"]["port"].(string), "50051") - require.Equal(t, config["directories"]["data"].(string), cli.DataDir().String()) - require.Equal(t, config["directories"]["downloads"].(string), cli.DownloadDir().String()) - require.Equal(t, config["directories"]["user"].(string), cli.SketchbookDir().String()) - require.Empty(t, config["logging"]["file"]) - require.Equal(t, config["logging"]["format"].(string), "text") - require.Equal(t, config["logging"]["level"].(string), "info") - require.Equal(t, config["metrics"]["addr"].(string), ":9090") - require.True(t, config["metrics"]["enabled"].(bool)) } func TestInitOverwriteExistingCustomFile(t *testing.T) { @@ -96,15 +78,6 @@ func TestInitOverwriteExistingCustomFile(t *testing.T) { err = yaml.Unmarshal(configFile, config) require.NoError(t, err) require.Equal(t, config["board_manager"]["additional_urls"].([]interface{})[0].(string), "https://example.com") - require.Equal(t, config["daemon"]["port"].(string), "50051") - require.Equal(t, config["directories"]["data"].(string), cli.DataDir().String()) - require.Equal(t, config["directories"]["downloads"].(string), cli.DownloadDir().String()) - require.Equal(t, config["directories"]["user"].(string), cli.SketchbookDir().String()) - require.Empty(t, config["logging"]["file"]) - require.Equal(t, config["logging"]["format"].(string), "text") - require.Equal(t, config["logging"]["level"].(string), "info") - require.Equal(t, config["metrics"]["addr"].(string), ":9090") - require.True(t, config["metrics"]["enabled"].(bool)) stdout, _, err = cli.Run("config", "init", "--overwrite") require.NoError(t, err) @@ -115,15 +88,6 @@ func TestInitOverwriteExistingCustomFile(t *testing.T) { err = yaml.Unmarshal(configFile, config) require.NoError(t, err) require.Empty(t, config["board_manager"]["additional_urls"]) - require.Equal(t, config["daemon"]["port"].(string), "50051") - require.Equal(t, config["directories"]["data"].(string), cli.DataDir().String()) - require.Equal(t, config["directories"]["downloads"].(string), cli.DownloadDir().String()) - require.Equal(t, config["directories"]["user"].(string), cli.SketchbookDir().String()) - require.Empty(t, config["logging"]["file"]) - require.Equal(t, config["logging"]["format"].(string), "text") - require.Equal(t, config["logging"]["level"].(string), "info") - require.Equal(t, config["metrics"]["addr"].(string), ":9090") - require.True(t, config["metrics"]["enabled"].(bool)) } func TestInitDestAbsolutePath(t *testing.T) { @@ -289,21 +253,37 @@ func TestAddRemoveSetDeleteOnUnexistingKey(t *testing.T) { _, _, err := cli.Run("config", "init", "--dest-dir", ".") require.NoError(t, err) - _, stderr, err := cli.Run("config", "add", "some.key", "some_value", "--config-file", "arduino-cli.yaml") - require.Error(t, err) - require.Contains(t, string(stderr), "Settings key doesn't exist") + j, _, err := cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.Contains(t, j, `{"config":{ "board_manager": {"additional_urls":[]} } }`) - _, stderr, err = cli.Run("config", "remove", "some.key", "some_value", "--config-file", "arduino-cli.yaml") - require.Error(t, err) - require.Contains(t, string(stderr), "Settings key doesn't exist") + // Delete array key + _, _, err = cli.Run("config", "delete", "board_manager.additional_urls", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + j, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.NotContains(t, j, `{"config":{ "board_manager": {"additional_urls":[]} } }`) - _, stderr, err = cli.Run("config", "set", "some.key", "some_value", "--config-file", "arduino-cli.yaml") - require.Error(t, err) - require.Contains(t, string(stderr), "Settings key doesn't exist") + // Add to non-existing array key + _, _, err = cli.Run("config", "add", "board_manager.additional_urls", "some_value", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + j, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.Contains(t, j, `{"config":{ "board_manager": {"additional_urls":["some_value"]} } }`) - _, stderr, err = cli.Run("config", "delete", "some.key", "--config-file", "arduino-cli.yaml") - require.Error(t, err) - require.Contains(t, string(stderr), "Cannot delete the key some.key: key not found in settings\n") + // Remove from non-existing array key + _, _, err = cli.Run("config", "remove", "board_manager.additional_urls", "some_value", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + j, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.NotContains(t, j, `{"config":{ "board_manager": {"additional_urls":["some_value"]} } }`) + + // Set on non-existing key + _, _, err = cli.Run("config", "set", "board_manager.additional_urls", "some_value", "other_value", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + j, _, err = cli.Run("config", "dump", "--format", "json", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + requirejson.Contains(t, j, `{"config":{ "board_manager": {"additional_urls":["some_value","other_value"]} } }`) } func TestAddSingleArgument(t *testing.T) { @@ -434,6 +414,8 @@ func TestAddOnUnsupportedKey(t *testing.T) { // Create a config file _, _, err := cli.Run("config", "init", "--dest-dir", ".") require.NoError(t, err) + _, _, err = cli.Run("config", "set", "daemon.port", "50051", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) // Verifies default value stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") @@ -542,6 +524,8 @@ func TestRemoveOnUnsupportedKey(t *testing.T) { // Create a config file _, _, err := cli.Run("config", "init", "--dest-dir", ".") require.NoError(t, err) + _, _, err = cli.Run("config", "set", "daemon.port", "50051", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) // Verifies default value stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") @@ -700,7 +684,7 @@ func TestSetStringWithSingleArgument(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".config | .logging | .level", "\"info\"") + requirejson.NotContains(t, stdout, `{"config":{"logging":{"level"}}}`) // Changes value _, _, err = cli.Run("config", "set", "logging.level", "trace", "--config-file", "arduino-cli.yaml") @@ -723,12 +707,12 @@ func TestSetStringWithMultipleArguments(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".config | .logging | .level", "\"info\"") + requirejson.NotContains(t, stdout, `{"config":{"logging":{"level"}}}`) // Tries to change value _, stderr, err := cli.Run("config", "set", "logging.level", "trace", "debug") require.Error(t, err) - require.Contains(t, string(stderr), "Can't set multiple values in key logging.level") + require.Contains(t, string(stderr), "Error setting value: invalid type for key 'logging.level': invalid conversion, got array but want string") } func TestSetBoolWithSingleArgument(t *testing.T) { @@ -742,7 +726,7 @@ func TestSetBoolWithSingleArgument(t *testing.T) { // Verifies default state stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") require.NoError(t, err) - requirejson.Query(t, stdout, ".config | .library | .enable_unsafe_install", "false") + requirejson.NotContains(t, stdout, `{"config": {"library": {"enable_unsafe_install"}}}`) // Changes value _, _, err = cli.Run("config", "set", "library.enable_unsafe_install", "true", "--config-file", "arduino-cli.yaml") @@ -761,6 +745,8 @@ func TestSetBoolWithMultipleArguments(t *testing.T) { // Create a config file _, _, err := cli.Run("config", "init", "--dest-dir", ".") require.NoError(t, err) + _, _, err = cli.Run("config", "set", "library.enable_unsafe_install", "false", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) // Verifies default state stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") @@ -770,7 +756,7 @@ func TestSetBoolWithMultipleArguments(t *testing.T) { // Changes value _, stderr, err := cli.Run("config", "set", "library.enable_unsafe_install", "true", "foo", "--config-file", "arduino-cli.yaml") require.Error(t, err) - require.Contains(t, string(stderr), "Can't set multiple values in key library.enable_unsafe_install") + require.Contains(t, string(stderr), "Error setting value: invalid type for key 'library.enable_unsafe_install': invalid conversion, got array but want bool") } func TestDelete(t *testing.T) { @@ -780,6 +766,8 @@ func TestDelete(t *testing.T) { // Create a config file _, _, err := cli.Run("config", "init", "--dest-dir", ".") require.NoError(t, err) + _, _, err = cli.Run("config", "set", "library.enable_unsafe_install", "false", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) // Verifies default state stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") @@ -824,6 +812,8 @@ func TestGet(t *testing.T) { // Create a config file _, _, err := cli.Run("config", "init", "--dest-dir", ".") require.NoError(t, err) + _, _, err = cli.Run("config", "set", "daemon.port", "50051", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) // Verifies default state stdout, _, err := cli.Run("config", "dump", "--json", "--config-file", "arduino-cli.yaml") @@ -843,7 +833,7 @@ func TestGet(t *testing.T) { // Get undefined key _, stderr, err := cli.Run("config", "get", "foo", "--json", "--config-file", "arduino-cli.yaml") require.Error(t, err) - requirejson.Contains(t, stderr, `{"error":"Cannot get the configuration key foo: key not found in settings"}`) + requirejson.Contains(t, stderr, `{"error":"Cannot get the configuration key foo: key foo not found"}`) } func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { @@ -851,9 +841,10 @@ func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { defer env.CleanUp() tmp := t.TempDir() - cliConfig, envConfig := paths.New(filepath.Join(tmp, "cli.yaml")), paths.New(filepath.Join(tmp, "env.yaml")) - cliConfig.WriteFile([]byte(`cli-test: "test"`)) - envConfig.WriteFile([]byte(`env-test: "test"`)) + cliConfig := paths.New(filepath.Join(tmp, "cli.yaml")) + cliConfig.WriteFile([]byte(`locale: "test"`)) + envConfig := paths.New(filepath.Join(tmp, "env.yaml")) + envConfig.WriteFile([]byte(`locale: "test2"`)) // No flag nor env specified. stdout, _, err := cli.Run("config", "dump", "--json") @@ -863,16 +854,16 @@ func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { // Flag specified stdout, _, err = cli.Run("config", "dump", "--config-file", cliConfig.String(), "--json") require.NoError(t, err) - requirejson.Contains(t, stdout, `{"config":{ "cli-test": "test" }}`) + requirejson.Contains(t, stdout, `{"config":{ "locale": "test" }}`) // Env specified customEnv := map[string]string{"ARDUINO_CONFIG_FILE": envConfig.String()} stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--json") require.NoError(t, err) - requirejson.Contains(t, stdout, `{"config":{ "env-test": "test" }}`) + requirejson.Contains(t, stdout, `{"config":{ "locale": "test2" }}`) // Flag and env specified, flag takes precedence stdout, _, err = cli.RunWithCustomEnv(customEnv, "config", "dump", "--config-file", cliConfig.String(), "--json") require.NoError(t, err) - requirejson.Contains(t, stdout, `{"config":{ "cli-test": "test" }}`) + requirejson.Contains(t, stdout, `{"config":{ "locale": "test" }}`) } From 4061131fff567b11eb19e725d4e59a6de8c68f8b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Sun, 21 Apr 2024 23:34:28 +0200 Subject: [PATCH 175/361] Added missing type schema --- internal/cli/configuration/defaults.go | 1 + internal/integrationtest/daemon/daemon_test.go | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index 46961e6979e..8c05b793d19 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -46,6 +46,7 @@ func SetDefaults(settings *Settings) { setDefaultValueAndKeyTypeSchema("directories.data", getDefaultArduinoDataDir()) setDefaultValueAndKeyTypeSchema("directories.downloads", "") setDefaultValueAndKeyTypeSchema("directories.user", getDefaultUserDir()) + setKeyTypeSchema("directories.builtin.libraries", "") // Sketch compilation setDefaultValueAndKeyTypeSchema("sketch.always_export_binaries", false) diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index f994813b69e..08e60cffccf 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -357,7 +357,7 @@ func TestDaemonBundleLibInstall(t *testing.T) { } // Un-Set builtin libraries dir - err := cli.SetValue("directories.builtin.libraries", `""`) + err := cli.SetValue("directories.builtin.libraries", "") require.NoError(t, err) // Re-init From fa835de3bd81d9e73eb466469aafed9f9c3dddae Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 23 Apr 2024 12:40:53 +0200 Subject: [PATCH 176/361] Added docs --- docs/UPGRADING.md | 163 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 8e5f0967ffc..f30e270530b 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,169 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### gRPC Setting API important changes + +The Settings API has been heavily refactored. Here a quick recap of the new methods: + +- `SettingsGetValue` returns the value of a setting given the key. The returned value is a string encoded in JSON, or + YAML + + ```proto + message SettingsGetValueRequest { + // The key to get + string key = 1; + // The format of the encoded_value (default is + // "json", allowed values are "json" and "yaml) + string value_format = 2; + } + + message SettingsGetValueResponse { + // The value of the key (encoded) + string encoded_value = 1; + } + ``` + +- `SettingsSetValue` change the value of a setting. The value may be specified in JSON, YAML, or as a command-line + argument. If `encoded_value` is an empty string the setting is deleted. + + ```proto + message SettingsSetValueRequest { + // The key to change + string key = 1; + // The new value (encoded), no objects, + // only scalar, or array of scalars are + // allowed. + string encoded_value = 2; + // The format of the encoded_value (default is + // "json", allowed values are "json", "yaml", + // and "cli") + string value_format = 3; + } + ``` + +- `SettingsEnumerate` returns all the available keys and their type (`string`, `int`, `[]string`...) +- `ConfigurationOpen` replaces the current configuration with the one passed as argument. Differently from + `SettingsSetValue`, this call replaces the whole configuration. +- `ConfigurationSave` outputs the current configuration in the specified format. The configuration is not saved in a + file, this call returns just the content, it's a duty of the caller to store the content in a file. +- `ConfigurationGet` return the current configuration in a structured gRPC message `Configuration`. + +The previous gRPC Setting rpc call may be replaced as follows: + +- The old `SettingsMerge` rpc call can now be done trough `SettingsSetValue`. +- The old `SettingsDelete` rpc call can now be done trough `SettingsSetValue` passing the `key` to delete with an empty + `value`. +- The old `SettingsGetAll` rpc call has been replaced by `ConfigurationGet` that returns a structured message + `Configuration` with all the settings populated. +- The old `SettingsWrite` rpc call has been removed. It is partially replaced by `ConfigurationSave` but the actual file + save must be performed by the caller. + +### golang: importing `arduino-cli` as a library now requires the creation of a gRPC service. + +Previously the methods implementing the Arduino business logic were available in the global namespace +`github.com/arduino/arduino-cli/commands/*` and could be called directly. + +The above is no more true. All the global `commands.*` functions have been converted to methods of the +`arduinoCoreServerImpl` struct that implements the gRPC `ArduinoCoreServer` interface. The configuration is now part of +the server internal state. Developers may create a "daemon-less" server by calling the `commands.NewArduinoCoreServer()` +function and can use the returned object to call all the needed gRPC functions. + +The methods of the `ArduinoCoreServer` are generated through the gRPC protobuf definitions, some of those methods are +gRPC "streaming" methods and requires a streaming object to be passed as argument, we provided helper methods to create +these objects. + +For example if previously we could call `commands.Init` like this: + +```go +// old Init signature +func Init(req *rpc.InitRequest, responseCallback func(r *rpc.InitResponse)) error { ... } + +// ... + +// Initialize instance +if err := commands.Init(&rpc.InitRequest{Instance: req.GetInstance()}, respCB); err != nil { + return err +} +``` + +now the `responseCallback` must be wrapped into an `rpc.ArduinoCoreService_InitServer`, and we provided a method exactly +for that: + +```go +// new Init method +func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCoreService_InitServer) error { ... } + +/// ... + +// Initialize instance +initStream := InitStreamResponseToCallbackFunction(ctx, respCB) +if err := srv.Init(&rpc.InitRequest{Instance: req.GetInstance()}, initStream); err != nil { + return err +} +``` + +Each gRPC method has an helper method to obtain the corresponding `ArduinoCoreService_*Server` parameter. Here a simple, +but complete, example: + +```go +package main + +import ( + "context" + "fmt" + "io" + "log" + + "github.com/arduino/arduino-cli/commands" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/sirupsen/logrus" +) + +func main() { + // Create a new ArduinoCoreServer + srv := commands.NewArduinoCoreServer() + + // Disable logging + logrus.SetOutput(io.Discard) + + // Create a new instance in the server + ctx := context.Background() + resp, err := srv.Create(ctx, &rpc.CreateRequest{}) + if err != nil { + log.Fatal("Error creating instance:", err) + } + instance := resp.GetInstance() + + // Defer the destruction of the instance + defer func() { + if _, err := srv.Destroy(ctx, &rpc.DestroyRequest{Instance: instance}); err != nil { + log.Fatal("Error destroying instance:", err) + } + fmt.Println("Instance successfully destroyed") + }() + + // Initialize the instance + initStream := commands.InitStreamResponseToCallbackFunction(ctx, func(r *rpc.InitResponse) error { + fmt.Println("INIT> ", r) + return nil + }) + if err := srv.Init(&rpc.InitRequest{Instance: instance}, initStream); err != nil { + log.Fatal("Error during initialization:", err) + } + + // Search for platforms and output the result + searchResp, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{Instance: instance}) + if err != nil { + log.Fatal("Error searching for platforms:", err) + } + for _, platformSummary := range searchResp.GetSearchOutput() { + installed := platformSummary.GetInstalledRelease() + meta := platformSummary.GetMetadata() + fmt.Printf("%30s %8s %s\n", meta.GetId(), installed.GetVersion(), installed.GetName()) + } +} +``` + ### YAML output format is no more supported The `yaml` option of the `--format` flag is no more supported. Use `--format json` if machine parsable output is needed. From 72e05eeb805e89ac11b7bc26f51c71059320c424 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 30 Apr 2024 01:14:28 +0200 Subject: [PATCH 177/361] Updated documentation about configuration file format --- docs/UPGRADING.md | 4 ++++ docs/configuration.md | 24 ++++-------------------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index f30e270530b..1273fa0a455 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,10 @@ Here you can find a list of migration guides to handle breaking changes between ## 0.36.0 +### Configuration file now supports only YAML format. + +The Arduino CLI configuration file now supports only the YAML format. + ### gRPC Setting API important changes The Settings API has been heavily refactored. Here a quick recap of the new methods: diff --git a/docs/configuration.md b/docs/configuration.md index 57bda320635..bfde1372dac 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -97,8 +97,7 @@ $ export ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS="https://downloads.arduino.cc/pac ### Configuration file -[`arduino-cli config init`][arduino-cli config init] creates or updates a configuration file with the current -configuration settings. +[`arduino-cli config init`][arduino-cli config init] creates a new empty configuration file. This allows saving the options set by command line flags or environment variables. For example: @@ -106,29 +105,14 @@ This allows saving the options set by command line flags or environment variable arduino-cli config init --additional-urls https://downloads.arduino.cc/packages/package_staging_index.json ``` -#### File name - -The configuration file must be named `arduino-cli`, with the appropriate file extension for the file's format. - -#### Supported formats - -`arduino-cli config init` creates a YAML file, however a variety of common formats are supported: - -- [JSON] -- [TOML] -- [YAML] -- [Java properties file] -- [HCL] -- envfile -- [INI] - #### Locations -Configuration files in the following locations are recognized by Arduino CLI: +The default configuration file is named `arduino-cli.yaml`. The configuration file is searched in the following +locations, in order of priority: 1. Location specified by the [`--config-file`][arduino cli command reference] command line flag 1. Location specified by the `ARDUINO_CONFIG_FILE` environment variable -1. Arduino CLI data directory (as configured by `directories.data`) +1. Location specified by the `ARDUINO_DIRECTORIES_DATA` environment variable If multiple configuration files are present, the one highest on the above list is used. Configuration files are not combined. From 89a79cba60561ab16f22654e9bdb230bcae56dbe Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 30 Apr 2024 17:39:47 +0200 Subject: [PATCH 178/361] Fixed a small imperfection in test --- internal/integrationtest/core/core_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index 864e45ab710..fbda8da1c0c 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -101,7 +101,7 @@ func TestCoreSearch(t *testing.T) { checkPlatformIsInJSONOutput := func(stdout []byte, id, version string) { jqquery := fmt.Sprintf(`{"platforms":[{id:"%s", releases:{"%s":{}}}]}`, id, version) - requirejson.Contains(t, out, jqquery, "platform %s@%s is missing from the output", id, version) + requirejson.Contains(t, stdout, jqquery, "platform %s@%s is missing from the output", id, version) } // Search all Retrokit platforms From 240c8b3e5a87aafc6255afdc943326e3ca1a8dc3 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 30 Apr 2024 17:46:39 +0200 Subject: [PATCH 179/361] Pass context in upload and burn-bootloader --- commands/service_upload.go | 7 +++---- commands/service_upload_burnbootloader.go | 1 + commands/service_upload_test.go | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/commands/service_upload.go b/commands/service_upload.go index 2c01f7edaef..6dcacf1d3e5 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -188,9 +188,8 @@ func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.Arduin }) }) defer errStream.Close() - // TODO: inject context - // ctx := stream.Context() updatedPort, err := runProgramAction( + stream.Context(), pme, sk, req.GetImportFile(), @@ -259,7 +258,7 @@ func (s *arduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgra }, streamAdapter) } -func runProgramAction(pme *packagemanager.Explorer, +func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, sk *sketch.Sketch, importFile, importDir, fqbnIn string, userPort *rpc.Port, programmerID string, @@ -447,7 +446,7 @@ func runProgramAction(pme *packagemanager.Explorer, } // This context is kept alive for the entire duration of the upload - uploadCtx, uploadCompleted := context.WithCancel(context.Background()) + uploadCtx, uploadCompleted := context.WithCancel(ctx) defer uploadCompleted() // Start the upload port change detector. diff --git a/commands/service_upload_burnbootloader.go b/commands/service_upload_burnbootloader.go index 96352e57fd5..448618b164c 100644 --- a/commands/service_upload_burnbootloader.go +++ b/commands/service_upload_burnbootloader.go @@ -73,6 +73,7 @@ func (s *arduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, s defer release() if _, err := runProgramAction( + stream.Context(), pme, nil, // sketch "", // importFile diff --git a/commands/service_upload_test.go b/commands/service_upload_test.go index 7d55f95b48b..d350b5a6470 100644 --- a/commands/service_upload_test.go +++ b/commands/service_upload_test.go @@ -17,6 +17,7 @@ package commands import ( "bytes" + "context" "fmt" "strings" "testing" @@ -186,6 +187,7 @@ func TestUploadPropertiesComposition(t *testing.T) { outStream := &bytes.Buffer{} errStream := &bytes.Buffer{} _, err := runProgramAction( + context.Background(), pme, nil, // sketch "", // importFile From 24ac040537cf2e8dcab1ef788b4af646d8038433 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 30 Apr 2024 18:24:40 +0200 Subject: [PATCH 180/361] Pass down context in all places where it's needed --- commands/instances.go | 8 +++----- internal/arduino/builder/builder.go | 4 ++++ .../builder/internal/detector/detector.go | 12 ++++++++---- .../preprocessor/arduino_preprocessor.go | 5 +++-- .../builder/internal/preprocessor/ctags.go | 9 +++++---- .../arduino/builder/internal/preprocessor/gcc.go | 3 ++- internal/arduino/builder/preprocess_sketch.go | 1 + .../arduino/cores/packagemanager/profiles.go | 13 +++++++------ internal/arduino/resources/index.go | 4 ++-- internal/arduino/resources/resources_test.go | 6 ++++-- internal/cli/arguments/completion.go | 6 +++--- internal/cli/arguments/fqbn.go | 8 ++++---- internal/cli/arguments/port.go | 16 ++++++++-------- internal/cli/arguments/profiles.go | 4 +--- internal/cli/arguments/programmer.go | 6 +++--- internal/cli/board/attach.go | 8 ++++---- internal/cli/board/details.go | 7 +++---- internal/cli/board/list.go | 13 ++++++------- internal/cli/board/listall.go | 7 +++---- internal/cli/board/search.go | 7 +++---- internal/cli/burnbootloader/burnbootloader.go | 9 ++++----- internal/cli/cache/clean.go | 6 +++--- internal/cli/cli.go | 2 +- internal/cli/compile/compile.go | 7 +++---- internal/cli/config/get.go | 5 ++--- internal/cli/core/download.go | 7 +++---- internal/cli/core/install.go | 7 +++---- internal/cli/core/list.go | 5 ++--- internal/cli/core/search.go | 5 ++--- internal/cli/core/uninstall.go | 7 +++---- internal/cli/core/update_index.go | 5 ++--- internal/cli/core/upgrade.go | 5 ++--- internal/cli/debug/debug.go | 13 ++++++------- internal/cli/debug/debug_check.go | 11 +++++------ internal/cli/lib/check_deps.go | 7 +++---- internal/cli/lib/download.go | 7 +++---- internal/cli/lib/examples.go | 7 +++---- internal/cli/lib/install.go | 7 +++---- internal/cli/lib/list.go | 2 +- internal/cli/lib/search.go | 5 ++--- internal/cli/lib/uninstall.go | 7 +++---- internal/cli/lib/update_index.go | 5 ++--- internal/cli/lib/upgrade.go | 5 ++--- internal/cli/monitor/monitor.go | 9 ++++----- internal/cli/outdated/outdated.go | 5 ++--- internal/cli/sketch/archive.go | 5 ++--- internal/cli/sketch/new.go | 5 ++--- internal/cli/update/update.go | 5 ++--- internal/cli/upgrade/upgrade.go | 5 ++--- internal/cli/upload/upload.go | 10 ++++------ internal/cli/version/version.go | 6 +++--- 51 files changed, 161 insertions(+), 182 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index 58156465322..30fe31ba783 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -251,7 +251,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor } } else { // Load platforms from profile - errs := pmb.LoadHardwareForProfile(profile, true, downloadCallback, taskCallback, s.settings) + errs := pmb.LoadHardwareForProfile(ctx, profile, true, downloadCallback, taskCallback, s.settings) for _, err := range errs { s := &cmderrors.PlatformLoadingError{Cause: err} responseError(s.GRPCStatus()) @@ -497,13 +497,11 @@ func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd } // Perform index update - // TODO: pass context - // ctx := stream.Context() config, err := s.settings.DownloaderConfig() if err != nil { return err } - if err := globals.LibrariesIndexResource.Download(indexDir, downloadCB, config); err != nil { + if err := globals.LibrariesIndexResource.Download(stream.Context(), indexDir, downloadCB, config); err != nil { resultCB(rpc.IndexUpdateReport_STATUS_FAILED) return err } @@ -621,7 +619,7 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream indexResource.SignatureURL, _ = url.Parse(u) // should not fail because we already parsed it indexResource.SignatureURL.Path += ".sig" } - if err := indexResource.Download(indexpath, downloadCB, config); err != nil { + if err := indexResource.Download(stream.Context(), indexpath, downloadCB, config); err != nil { failed = true result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) } else { diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index ad6af436128..1727556b846 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -44,6 +44,8 @@ var ErrSketchCannotBeLocatedInBuildPath = errors.New("sketch cannot be located i // Builder is a Sketch builder. type Builder struct { + ctx context.Context + sketch *sketch.Sketch buildProperties *properties.Map @@ -198,6 +200,7 @@ func NewBuilder( diagnosticStore := diagnostics.NewStore() b := &Builder{ + ctx: ctx, sketch: sk, buildProperties: buildProperties, buildPath: buildPath, @@ -305,6 +308,7 @@ func (b *Builder) preprocess() error { b.logIfVerbose(false, tr("Detecting libraries used...")) err := b.libsDetector.FindIncludes( + b.ctx, b.buildPath, b.buildProperties.GetPath("build.core.path"), b.buildProperties.GetPath("build.variant.path"), diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index 46fa991a132..98d497d475c 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -17,6 +17,7 @@ package detector import ( "bytes" + "context" "encoding/json" "errors" "fmt" @@ -196,6 +197,7 @@ func (l *SketchLibrariesDetector) appendIncludeFolder( // FindIncludes todo func (l *SketchLibrariesDetector) FindIncludes( + ctx context.Context, buildPath *paths.Path, buildCorePath *paths.Path, buildVariantPath *paths.Path, @@ -205,7 +207,7 @@ func (l *SketchLibrariesDetector) FindIncludes( buildProperties *properties.Map, platformArch string, ) error { - err := l.findIncludes(buildPath, buildCorePath, buildVariantPath, sketchBuildPath, sketch, librariesBuildPath, buildProperties, platformArch) + err := l.findIncludes(ctx, buildPath, buildCorePath, buildVariantPath, sketchBuildPath, sketch, librariesBuildPath, buildProperties, platformArch) if err != nil && l.onlyUpdateCompilationDatabase { l.logger.Info( fmt.Sprintf( @@ -220,6 +222,7 @@ func (l *SketchLibrariesDetector) FindIncludes( } func (l *SketchLibrariesDetector) findIncludes( + ctx context.Context, buildPath *paths.Path, buildCorePath *paths.Path, buildVariantPath *paths.Path, @@ -269,7 +272,7 @@ func (l *SketchLibrariesDetector) findIncludes( } for !sourceFileQueue.empty() { - err := l.findIncludesUntilDone(cache, sourceFileQueue, buildProperties, sketchBuildPath, librariesBuildPath, platformArch) + err := l.findIncludesUntilDone(ctx, cache, sourceFileQueue, buildProperties, sketchBuildPath, librariesBuildPath, platformArch) if err != nil { cachePath.Remove() return err @@ -297,6 +300,7 @@ func (l *SketchLibrariesDetector) findIncludes( } func (l *SketchLibrariesDetector) findIncludesUntilDone( + ctx context.Context, cache *includeCache, sourceFileQueue *uniqueSourceFileQueue, buildProperties *properties.Map, @@ -350,7 +354,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( l.logger.Info(tr("Using cached library dependencies for file: %[1]s", sourcePath)) } } else { - preprocFirstResult, preprocErr = preprocessor.GCC(sourcePath, targetFilePath, includeFolders, buildProperties) + preprocFirstResult, preprocErr = preprocessor.GCC(ctx, sourcePath, targetFilePath, includeFolders, buildProperties) if l.logger.Verbose() { l.logger.WriteStdout(preprocFirstResult.Stdout()) } @@ -381,7 +385,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( // Library could not be resolved, show error if preprocErr == nil || preprocFirstResult.Stderr() == nil { // Filename came from cache, so run preprocessor to obtain error to show - result, err := preprocessor.GCC(sourcePath, targetFilePath, includeFolders, buildProperties) + result, err := preprocessor.GCC(ctx, sourcePath, targetFilePath, includeFolders, buildProperties) if l.logger.Verbose() { l.logger.WriteStdout(result.Stdout()) } diff --git a/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go index da8cde2adfc..399ca34f742 100644 --- a/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go +++ b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go @@ -31,6 +31,7 @@ import ( // PreprocessSketchWithArduinoPreprocessor performs preprocessing of the arduino sketch // using arduino-preprocessor (https://github.com/arduino/arduino-preprocessor). func PreprocessSketchWithArduinoPreprocessor( + ctx context.Context, sk *sketch.Sketch, buildPath *paths.Path, includeFolders paths.PathList, lineOffset int, buildProperties *properties.Map, onlyUpdateCompilationDatabase bool, ) (*Result, error) { @@ -42,7 +43,7 @@ func PreprocessSketchWithArduinoPreprocessor( sourceFile := buildPath.Join("sketch", sk.MainFile.Base()+".cpp") targetFile := buildPath.Join("preproc", "sketch_merged.cpp") - gccResult, err := GCC(sourceFile, targetFile, includeFolders, buildProperties) + gccResult, err := GCC(ctx, sourceFile, targetFile, includeFolders, buildProperties) verboseOut.Write(gccResult.Stdout()) verboseOut.Write(gccResult.Stderr()) if err != nil { @@ -78,7 +79,7 @@ func PreprocessSketchWithArduinoPreprocessor( } verboseOut.WriteString(commandLine) - commandStdOut, commandStdErr, err := command.RunAndCaptureOutput(context.Background()) + commandStdOut, commandStdErr, err := command.RunAndCaptureOutput(ctx) verboseOut.Write(commandStdErr) if err != nil { return &Result{args: gccResult.Args(), stdout: verboseOut.Bytes(), stderr: normalOut.Bytes()}, err diff --git a/internal/arduino/builder/internal/preprocessor/ctags.go b/internal/arduino/builder/internal/preprocessor/ctags.go index 4a0cf783b45..73b60f80c49 100644 --- a/internal/arduino/builder/internal/preprocessor/ctags.go +++ b/internal/arduino/builder/internal/preprocessor/ctags.go @@ -41,6 +41,7 @@ var DebugPreprocessor bool // PreprocessSketchWithCtags performs preprocessing of the arduino sketch using CTags. func PreprocessSketchWithCtags( + ctx context.Context, sketch *sketch.Sketch, buildPath *paths.Path, includes paths.PathList, lineOffset int, buildProperties *properties.Map, onlyUpdateCompilationDatabase, verbose bool, @@ -57,7 +58,7 @@ func PreprocessSketchWithCtags( // Run GCC preprocessor sourceFile := buildPath.Join("sketch", sketch.MainFile.Base()+".cpp") - result, err := GCC(sourceFile, ctagsTarget, includes, buildProperties) + result, err := GCC(ctx, sourceFile, ctagsTarget, includes, buildProperties) stdout.Write(result.Stdout()) stderr.Write(result.Stderr()) if err != nil { @@ -84,7 +85,7 @@ func PreprocessSketchWithCtags( } // Run CTags on gcc-preprocessed source - ctagsOutput, ctagsStdErr, err := RunCTags(ctagsTarget, buildProperties) + ctagsOutput, ctagsStdErr, err := RunCTags(ctx, ctagsTarget, buildProperties) if verbose { stderr.Write(ctagsStdErr) } @@ -179,7 +180,7 @@ func isFirstFunctionOutsideOfSource(firstFunctionLine int, sourceRows []string) } // RunCTags performs a run of ctags on the given source file. Returns the ctags output and the stderr contents. -func RunCTags(sourceFile *paths.Path, buildProperties *properties.Map) ([]byte, []byte, error) { +func RunCTags(ctx context.Context, sourceFile *paths.Path, buildProperties *properties.Map) ([]byte, []byte, error) { ctagsBuildProperties := properties.NewMap() ctagsBuildProperties.Set("tools.ctags.path", "{runtime.tools.ctags.path}") ctagsBuildProperties.Set("tools.ctags.cmd.path", "{path}/ctags") @@ -202,7 +203,7 @@ func RunCTags(sourceFile *paths.Path, buildProperties *properties.Map) ([]byte, if err != nil { return nil, nil, err } - stdout, stderr, err := proc.RunAndCaptureOutput(context.Background()) + stdout, stderr, err := proc.RunAndCaptureOutput(ctx) // Append ctags arguments to stderr args := fmt.Sprintln(strings.Join(parts, " ")) diff --git a/internal/arduino/builder/internal/preprocessor/gcc.go b/internal/arduino/builder/internal/preprocessor/gcc.go index d9cf1c446ea..f97426c2df8 100644 --- a/internal/arduino/builder/internal/preprocessor/gcc.go +++ b/internal/arduino/builder/internal/preprocessor/gcc.go @@ -30,6 +30,7 @@ import ( // GCC performs a run of the gcc preprocess (macro/includes expansion). The function outputs the result // to targetFilePath. Returns the stdout/stderr of gcc if any. func GCC( + ctx context.Context, sourceFilePath, targetFilePath *paths.Path, includes paths.PathList, buildProperties *properties.Map, ) (Result, error) { @@ -75,7 +76,7 @@ func GCC( if err != nil { return Result{}, err } - stdout, stderr, err := proc.RunAndCaptureOutput(context.Background()) + stdout, stderr, err := proc.RunAndCaptureOutput(ctx) // Append gcc arguments to stdout stdout = append([]byte(fmt.Sprintln(strings.Join(args, " "))), stdout...) diff --git a/internal/arduino/builder/preprocess_sketch.go b/internal/arduino/builder/preprocess_sketch.go index d7fd6e32e72..86d7bd7e7e9 100644 --- a/internal/arduino/builder/preprocess_sketch.go +++ b/internal/arduino/builder/preprocess_sketch.go @@ -24,6 +24,7 @@ import ( func (b *Builder) preprocessSketch(includes paths.PathList) error { // In the future we might change the preprocessor result, err := preprocessor.PreprocessSketchWithCtags( + b.ctx, b.sketch, b.buildPath, includes, b.lineOffset, b.buildProperties, b.onlyUpdateCompilationDatabase, b.logger.Verbose(), ) diff --git a/internal/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go index 598d1cdc959..9d3bfba047a 100644 --- a/internal/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -16,6 +16,7 @@ package packagemanager import ( + "context" "fmt" "net/url" @@ -32,7 +33,7 @@ import ( // LoadHardwareForProfile load the hardware platforms for the given profile. // If installMissing is true then possibly missing tools and platforms will be downloaded and installed. -func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) []error { +func (pmb *Builder) LoadHardwareForProfile(ctx context.Context, p *sketch.Profile, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) []error { pmb.profile = p // Load required platforms @@ -40,7 +41,7 @@ func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing boo var platformReleases []*cores.PlatformRelease indexURLs := map[string]*url.URL{} for _, platformRef := range p.Platforms { - if platformRelease, err := pmb.loadProfilePlatform(platformRef, installMissing, downloadCB, taskCB, settings); err != nil { + if platformRelease, err := pmb.loadProfilePlatform(ctx, platformRef, installMissing, downloadCB, taskCB, settings); err != nil { merr = append(merr, fmt.Errorf("%s: %w", tr("loading required platform %s", platformRef), err)) logrus.WithField("platform", platformRef).WithError(err).Debugf("Error loading platform for profile") } else { @@ -68,7 +69,7 @@ func (pmb *Builder) LoadHardwareForProfile(p *sketch.Profile, installMissing boo return merr } -func (pmb *Builder) loadProfilePlatform(platformRef *sketch.ProfilePlatformReference, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) (*cores.PlatformRelease, error) { +func (pmb *Builder) loadProfilePlatform(ctx context.Context, platformRef *sketch.ProfilePlatformReference, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) (*cores.PlatformRelease, error) { targetPackage := pmb.packages.GetOrCreatePackage(platformRef.Packager) platform := targetPackage.GetOrCreatePlatform(platformRef.Architecture) release := platform.GetOrCreateRelease(platformRef.Version) @@ -77,14 +78,14 @@ func (pmb *Builder) loadProfilePlatform(platformRef *sketch.ProfilePlatformRefer destDir := settings.ProfilesCacheDir().Join(uid) if !destDir.IsDir() && installMissing { // Try installing the missing platform - if err := pmb.installMissingProfilePlatform(platformRef, destDir, downloadCB, taskCB); err != nil { + if err := pmb.installMissingProfilePlatform(ctx, platformRef, destDir, downloadCB, taskCB); err != nil { return nil, err } } return release, pmb.loadPlatformRelease(release, destDir) } -func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePlatformReference, destDir *paths.Path, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func (pmb *Builder) installMissingProfilePlatform(ctx context.Context, platformRef *sketch.ProfilePlatformReference, destDir *paths.Path, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { // Instantiate a temporary package manager only for platform installation _ = pmb.tempDir.MkdirAll() tmp, err := paths.MkTempDir(pmb.tempDir.String(), "") @@ -103,7 +104,7 @@ func (pmb *Builder) installMissingProfilePlatform(platformRef *sketch.ProfilePla } for _, indexURL := range indexesToDownload { indexResource := resources.IndexResource{URL: indexURL} - if err := indexResource.Download(tmpPmb.IndexDir, downloadCB, pmb.downloaderConfig); err != nil { + if err := indexResource.Download(ctx, tmpPmb.IndexDir, downloadCB, pmb.downloaderConfig); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading %s", indexURL)}) return &cmderrors.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} } diff --git a/internal/arduino/resources/index.go b/internal/arduino/resources/index.go index fb05f55d776..e9198905e5e 100644 --- a/internal/arduino/resources/index.go +++ b/internal/arduino/resources/index.go @@ -58,7 +58,7 @@ func (res *IndexResource) IndexFileName() (string, error) { // Download will download the index and possibly check the signature using the Arduino's public key. // If the file is in .gz format it will be unpacked first. -func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadProgressCB, config downloader.Config) error { +func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, downloadCB rpc.DownloadProgressCB, config downloader.Config) error { // Create destination directory if err := destDir.MkdirAll(); err != nil { return &cmderrors.PermissionDeniedError{Message: tr("Can't create data directory %s", destDir), Cause: err} @@ -100,7 +100,7 @@ func (res *IndexResource) Download(destDir *paths.Path, downloadCB rpc.DownloadP defer f.Close() tmpArchivePath := tmp.Join("archive") _ = tmpArchivePath.MkdirAll() - if err := extract.Bz2(context.Background(), f, tmpArchivePath.String(), nil); err != nil { + if err := extract.Bz2(ctx, f, tmpArchivePath.String(), nil); err != nil { return &cmderrors.PermissionDeniedError{Message: tr("Error extracting %s", tmpIndexPath), Cause: err} } diff --git a/internal/arduino/resources/resources_test.go b/internal/arduino/resources/resources_test.go index ee987ddcea6..3e218c1f89d 100644 --- a/internal/arduino/resources/resources_test.go +++ b/internal/arduino/resources/resources_test.go @@ -16,6 +16,7 @@ package resources import ( + "context" "crypto" "encoding/hex" "fmt" @@ -116,6 +117,7 @@ func TestDownloadAndChecksums(t *testing.T) { } func TestIndexDownloadAndSignatureWithinArchive(t *testing.T) { + ctx := context.Background() // Spawn test webserver mux := http.NewServeMux() fs := http.FileServer(http.Dir("testdata")) @@ -132,7 +134,7 @@ func TestIndexDownloadAndSignatureWithinArchive(t *testing.T) { destDir, err := paths.MkTempDir("", "") require.NoError(t, err) defer destDir.RemoveAll() - err = idxResource.Download(destDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) + err = idxResource.Download(ctx, destDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) require.NoError(t, err) require.True(t, destDir.Join("package_index.json").Exist()) require.True(t, destDir.Join("package_index.json.sig").Exist()) @@ -143,7 +145,7 @@ func TestIndexDownloadAndSignatureWithinArchive(t *testing.T) { invDestDir, err := paths.MkTempDir("", "") require.NoError(t, err) defer invDestDir.RemoveAll() - err = invIdxResource.Download(invDestDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) + err = invIdxResource.Download(ctx, invDestDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) require.Error(t, err) require.Contains(t, err.Error(), "invalid signature") require.False(t, invDestDir.Join("package_index.json").Exist()) diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index c42e817cc0f..a8867c51cf2 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -29,7 +29,7 @@ import ( func GetInstalledBoards(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { inst := instance.CreateAndInit(ctx, srv) - list, _ := srv.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ + list, _ := srv.BoardListAll(ctx, &rpc.BoardListAllRequest{ Instance: inst, SearchArgs: nil, IncludeHiddenBoards: false, @@ -53,7 +53,7 @@ func GetInstalledProgrammers(ctx context.Context, srv rpc.ArduinoCoreServiceServ SearchArgs: nil, IncludeHiddenBoards: false, } - list, _ := srv.BoardListAll(context.Background(), listAllReq) + list, _ := srv.BoardListAll(ctx, listAllReq) installedProgrammers := make(map[string]string) for _, board := range list.GetBoards() { @@ -149,7 +149,7 @@ func getLibraries(ctx context.Context, srv rpc.ArduinoCoreServiceServer, all boo func GetInstallableLibs(ctx context.Context, srv rpc.ArduinoCoreServiceServer) []string { inst := instance.CreateAndInit(ctx, srv) - libs, _ := srv.LibrarySearch(context.Background(), &rpc.LibrarySearchRequest{ + libs, _ := srv.LibrarySearch(ctx, &rpc.LibrarySearchRequest{ Instance: inst, SearchArgs: "", // if no query is specified all the libs are returned }) diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index 6369cca6bab..e1cb338c77d 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -37,7 +37,7 @@ type Fqbn struct { func (f *Fqbn) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&f.fqbn, "fqbn", "b", "", tr("Fully Qualified Board Name, e.g.: arduino:avr:uno")) cmd.RegisterFlagCompletionFunc("fqbn", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledBoards(context.Background(), srv), cobra.ShellCompDirectiveDefault + return GetInstalledBoards(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringSliceVar(&f.boardOptions, "board-options", []string{}, tr("List of board options separated by commas. Or can be used multiple times for multiple options.")) @@ -70,7 +70,7 @@ func (f *Fqbn) Set(fqbn string) { // - the port is not found, in this case nil is returned // - the FQBN autodetection fail, in this case the function prints an error and // terminates the execution -func CalculateFQBNAndPort(portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultFQBN, defaultAddress, defaultProtocol string) (string, *rpc.Port) { +func CalculateFQBNAndPort(ctx context.Context, portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultFQBN, defaultAddress, defaultProtocol string) (string, *rpc.Port) { fqbn := fqbnArg.String() if fqbn == "" { fqbn = defaultFQBN @@ -79,14 +79,14 @@ func CalculateFQBNAndPort(portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, if portArgs == nil || portArgs.address == "" { feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } - fqbn, port := portArgs.DetectFQBN(instance, srv) + fqbn, port := portArgs.DetectFQBN(ctx, instance, srv) if fqbn == "" { feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } return fqbn, port } - port, err := portArgs.GetPort(instance, srv, defaultAddress, defaultProtocol) + port, err := portArgs.GetPort(ctx, instance, srv, defaultAddress, defaultProtocol) if err != nil { feedback.Fatal(tr("Error getting port metadata: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index e3566699b0f..1d138043fbc 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -42,11 +42,11 @@ type Port struct { func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.address, "port", "p", "", tr("Upload port address, e.g.: COM3 or /dev/ttyACM2")) cmd.RegisterFlagCompletionFunc("port", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(context.Background(), srv), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(cmd.Context(), srv), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringVarP(&p.protocol, "protocol", "l", "", tr("Upload port protocol, e.g: serial")) cmd.RegisterFlagCompletionFunc("protocol", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return f.Map(GetAvailablePorts(context.Background(), srv), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault + return f.Map(GetAvailablePorts(cmd.Context(), srv), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault }) p.timeout.AddToCommand(cmd) } @@ -56,12 +56,12 @@ func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer // This method allows will bypass the discoveries if: // - a nil instance is passed: in this case the plain port and protocol arguments are returned (even if empty) // - a protocol is specified: in this case the discoveries are not needed to autodetect the protocol. -func (p *Port) GetPortAddressAndProtocol(instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (string, string, error) { +func (p *Port) GetPortAddressAndProtocol(ctx context.Context, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (string, string, error) { if p.protocol != "" || instance == nil { return p.address, p.protocol, nil } - port, err := p.GetPort(instance, srv, defaultAddress, defaultProtocol) + port, err := p.GetPort(ctx, instance, srv, defaultAddress, defaultProtocol) if err != nil { return "", "", err } @@ -70,7 +70,7 @@ func (p *Port) GetPortAddressAndProtocol(instance *rpc.Instance, srv rpc.Arduino // GetPort returns the Port obtained by parsing command line arguments. // The extra metadata for the ports is obtained using the pluggable discoveries. -func (p *Port) GetPort(instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (*rpc.Port, error) { +func (p *Port) GetPort(ctx context.Context, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (*rpc.Port, error) { address := p.address protocol := p.protocol if address == "" && (defaultAddress != "" || defaultProtocol != "") { @@ -88,7 +88,7 @@ func (p *Port) GetPort(instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, } logrus.WithField("port", address).Tracef("Upload port") - ctx, cancel := context.WithCancel(context.Background()) + ctx, cancel := context.WithCancel(ctx) defer cancel() stream, watcher := commands.BoardListWatchProxyToChan(ctx) @@ -131,8 +131,8 @@ func (p *Port) GetSearchTimeout() time.Duration { // DetectFQBN tries to identify the board connected to the port and returns the // discovered Port object together with the FQBN. If the port does not match // exactly 1 board, -func (p *Port) DetectFQBN(inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) (string, *rpc.Port) { - detectedPorts, err := srv.BoardList(context.Background(), &rpc.BoardListRequest{ +func (p *Port) DetectFQBN(ctx context.Context, inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) (string, *rpc.Port) { + detectedPorts, err := srv.BoardList(ctx, &rpc.BoardListRequest{ Instance: inst, Timeout: p.timeout.Get().Milliseconds(), }) diff --git a/internal/cli/arguments/profiles.go b/internal/cli/arguments/profiles.go index 1631fe35d9f..59d56656fa6 100644 --- a/internal/cli/arguments/profiles.go +++ b/internal/cli/arguments/profiles.go @@ -16,8 +16,6 @@ package arguments import ( - "context" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) @@ -37,7 +35,7 @@ func (f *Profile) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceSer if len(args) > 0 { sketchProfile = args[0] } - return GetSketchProfiles(context.Background(), srv, sketchProfile), cobra.ShellCompDirectiveDefault + return GetSketchProfiles(cmd.Context(), srv, sketchProfile), cobra.ShellCompDirectiveDefault }) } diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index c17ec739816..6f590b85164 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -33,20 +33,20 @@ type Programmer struct { func (p *Programmer) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { cmd.Flags().StringVarP(&p.programmer, "programmer", "P", "", tr("Programmer to use, e.g: atmel_ice")) cmd.RegisterFlagCompletionFunc("programmer", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return GetInstalledProgrammers(context.Background(), srv), cobra.ShellCompDirectiveDefault + return GetInstalledProgrammers(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }) } // String returns the programmer specified by the user, or the default programmer // for the given board if defined. -func (p *Programmer) String(inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer, fqbn string) string { +func (p *Programmer) String(ctx context.Context, inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer, fqbn string) string { if p.programmer != "" { return p.programmer } if inst == nil || fqbn == "" { return "" } - details, err := srv.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ + details, err := srv.BoardDetails(ctx, &rpc.BoardDetailsRequest{ Instance: inst, Fqbn: fqbn, }) diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index 9c5a8dc268e..c8b8dca3e28 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -40,11 +40,12 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " board attach -P atmel_ice", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { + ctx := cmd.Context() sketchPath := "" if len(args) > 0 { sketchPath = args[0] } - runAttachCommand(srv, sketchPath, &port, fqbn.String(), &programmer) + runAttachCommand(ctx, srv, sketchPath, &port, fqbn.String(), &programmer) }, } fqbn.AddToCommand(attachCommand, srv) @@ -54,11 +55,10 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return attachCommand } -func runAttachCommand(srv rpc.ArduinoCoreServiceServer, path string, port *arguments.Port, fqbn string, programmer *arguments.Programmer) { - ctx := context.Background() +func runAttachCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, path string, port *arguments.Port, fqbn string, programmer *arguments.Programmer) { sketchPath := arguments.InitSketchPath(path) - portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(nil, srv, "", "") + portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(ctx, nil, srv, "", "") newDefaults, err := srv.SetSketchDefaults(ctx, &rpc.SetSketchDefaultsRequest{ SketchPath: sketchPath.String(), DefaultFqbn: fqbn, diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 49fb5aea2b6..4e7d8579f19 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -43,7 +43,7 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " board details -b arduino:avr:nano", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runDetailsCommand(srv, fqbn.String(), showFullDetails, listProgrammers, showProperties) + runDetailsCommand(cmd.Context(), srv, fqbn.String(), showFullDetails, listProgrammers, showProperties) }, } @@ -55,8 +55,7 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return detailsCommand } -func runDetailsCommand(srv rpc.ArduinoCoreServiceServer, fqbn string, showFullDetails, listProgrammers bool, showProperties arguments.ShowProperties) { - ctx := context.Background() +func runDetailsCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, fqbn string, showFullDetails, listProgrammers bool, showProperties arguments.ShowProperties) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board details`") @@ -65,7 +64,7 @@ func runDetailsCommand(srv rpc.ArduinoCoreServiceServer, fqbn string, showFullDe if err != nil { feedback.Fatal(err.Error(), feedback.ErrBadArgument) } - res, err := srv.BoardDetails(context.Background(), &rpc.BoardDetailsRequest{ + res, err := srv.BoardDetails(ctx, &rpc.BoardDetailsRequest{ Instance: inst, Fqbn: fqbn, DoNotExpandBuildProperties: showPropertiesMode == arguments.ShowPropertiesUnexpanded, diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 882de46aaa5..20001f2ad82 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -46,7 +46,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " board list --discovery-timeout 10s", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runListCommand(srv, watch, timeoutArg.Get().Milliseconds(), fqbn.String()) + runListCommand(cmd.Context(), srv, watch, timeoutArg.Get().Milliseconds(), fqbn.String()) }, } @@ -57,18 +57,17 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } // runListCommand detects and lists the connected arduino boards -func runListCommand(srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, fqbn string) { - ctx := context.Background() +func runListCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, fqbn string) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board list`") if watch { - watchList(inst, srv) + watchList(ctx, inst, srv) return } - list, err := srv.BoardList(context.Background(), &rpc.BoardListRequest{ + list, err := srv.BoardList(ctx, &rpc.BoardListRequest{ Instance: inst, Timeout: timeout, Fqbn: fqbn, @@ -89,8 +88,8 @@ func runListCommand(srv rpc.ArduinoCoreServiceServer, watch bool, timeout int64, feedback.PrintResult(listResult{result.NewDetectedPorts(ports)}) } -func watchList(inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) { - stream, eventsChan := commands.BoardListWatchProxyToChan(context.Background()) +func watchList(ctx context.Context, inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) { + stream, eventsChan := commands.BoardListWatchProxyToChan(ctx) err := srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: inst}, stream) if err != nil { feedback.Fatal(tr("Error detecting boards: %v", err), feedback.ErrNetwork) diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index 8eaa2c9392b..55381ba2ffc 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -43,7 +43,7 @@ for a specific board if you specify the board name`), " " + os.Args[0] + " board listall zero", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { - runListAllCommand(args, srv) + runListAllCommand(cmd.Context(), args, srv) }, } listAllCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, tr("Show also boards marked as 'hidden' in the platform")) @@ -51,13 +51,12 @@ for a specific board if you specify the board name`), } // runListAllCommand list all installed boards -func runListAllCommand(args []string, srv rpc.ArduinoCoreServiceServer) { - ctx := context.Background() +func runListAllCommand(ctx context.Context, args []string, srv rpc.ArduinoCoreServiceServer) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board listall`") - list, err := srv.BoardListAll(context.Background(), &rpc.BoardListAllRequest{ + list, err := srv.BoardListAll(ctx, &rpc.BoardListAllRequest{ Instance: inst, SearchArgs: args, IncludeHiddenBoards: showHiddenBoard, diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index 057026a23b2..42b85785788 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -41,20 +41,19 @@ func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " board search zero", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { - runSearchCommand(srv, args) + runSearchCommand(cmd.Context(), srv, args) }, } searchCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, tr("Show also boards marked as 'hidden' in the platform")) return searchCommand } -func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string) { - ctx := context.Background() +func runSearchCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli board search`") - res, err := srv.BoardSearch(context.Background(), &rpc.BoardSearchRequest{ + res, err := srv.BoardSearch(ctx, &rpc.BoardSearchRequest{ Instance: inst, SearchArgs: strings.Join(args, " "), IncludeHiddenBoards: showHiddenBoard, diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index c17a822b3f4..7c8f4c16896 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -50,7 +50,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " burn-bootloader -b arduino:avr:uno -P atmel_ice", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runBootloaderCommand(srv) + runBootloaderCommand(cmd.Context(), srv) }, } @@ -65,14 +65,13 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return burnBootloaderCommand } -func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { - ctx := context.Background() +func runBootloaderCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli burn-bootloader`") // We don't need a Sketch to upload a board's bootloader - discoveryPort, err := port.GetPort(instance, srv, "", "") + discoveryPort, err := port.GetPort(ctx, instance, srv, "", "") if err != nil { feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) } @@ -85,7 +84,7 @@ func runBootloaderCommand(srv rpc.ArduinoCoreServiceServer) { Port: discoveryPort, Verbose: verbose, Verify: verify, - Programmer: programmer.String(instance, srv, fqbn.String()), + Programmer: programmer.String(ctx, instance, srv, fqbn.String()), DryRun: dryRun, }, stream); err != nil { errcode := feedback.ErrGeneric diff --git a/internal/cli/cache/clean.go b/internal/cli/cache/clean.go index a55b9c8309b..184d2e65b90 100644 --- a/internal/cli/cache/clean.go +++ b/internal/cli/cache/clean.go @@ -33,16 +33,16 @@ func initCleanCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " cache clean", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runCleanCommand(srv) + runCleanCommand(cmd.Context(), srv) }, } return cleanCommand } -func runCleanCommand(srv rpc.ArduinoCoreServiceServer) { +func runCleanCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli cache clean`") - _, err := srv.CleanDownloadCacheDirectory(context.Background(), &rpc.CleanDownloadCacheDirectoryRequest{}) + _, err := srv.CleanDownloadCacheDirectory(ctx, &rpc.CleanDownloadCacheDirectoryRequest{}) if err != nil { feedback.Fatal(tr("Error cleaning caches: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/cli.go b/internal/cli/cli.go index de4832318f5..e2ad85cc9e2 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -115,7 +115,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { if cmd.Name() != "version" { updaterMessageChan = make(chan *semver.Version) go func() { - res, err := srv.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) + res, err := srv.CheckForArduinoCLIUpdates(ctx, &rpc.CheckForArduinoCLIUpdatesRequest{}) if err != nil { logrus.Warnf("Error checking for updates: %v", err) updaterMessageChan <- nil diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 4b4ad4164bd..f04f01e8fc7 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -16,7 +16,6 @@ package compile import ( - "context" "encoding/json" "errors" "fmt" @@ -141,7 +140,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli compile`") - ctx := context.Background() + ctx := cmd.Context() if profileArg.Get() != "" { if len(libraries) > 0 { @@ -178,7 +177,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer fqbnArg.Set(profile.GetFqbn()) } - fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + fqbn, port := arguments.CalculateFQBNAndPort(ctx, &portArgs, &fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) if keysKeychain != "" || signKey != "" || encryptKey != "" { arguments.CheckFlagsMandatory(cmd, "keys-keychain", "sign-key", "encrypt-key") @@ -274,7 +273,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { - prog = programmer.String(inst, srv, fqbn) + prog = programmer.String(ctx, inst, srv, fqbn) } if prog == "" { prog = sk.GetDefaultProgrammer() diff --git a/internal/cli/config/get.go b/internal/cli/config/get.go index 3061333366c..3dfb5345c20 100644 --- a/internal/cli/config/get.go +++ b/internal/cli/config/get.go @@ -39,7 +39,7 @@ func initGetCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " config get board_manager.additional_urls", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runGetCommand(srv, args) + runGetCommand(cmd.Context(), srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { ctx := cmd.Context() @@ -49,9 +49,8 @@ func initGetCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return getCommand } -func runGetCommand(srv rpc.ArduinoCoreServiceServer, args []string) { +func runGetCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli config get`") - ctx := context.Background() for _, toGet := range args { resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: toGet}) diff --git a/internal/cli/core/download.go b/internal/cli/core/download.go index 790945fa3c7..fb5fe3f3818 100644 --- a/internal/cli/core/download.go +++ b/internal/cli/core/download.go @@ -39,17 +39,16 @@ func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " core download arduino:samd@1.6.9 # " + tr("download a specific version (in this case 1.6.9)."), Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDownloadCommand(srv, args) + runDownloadCommand(cmd.Context(), srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableCores(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableCores(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } return downloadCommand } -func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { - ctx := context.Background() +func runDownloadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli core download`") diff --git a/internal/cli/core/install.go b/internal/cli/core/install.go index 18dfe910d51..988602fc2ac 100644 --- a/internal/cli/core/install.go +++ b/internal/cli/core/install.go @@ -45,10 +45,10 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { arguments.CheckFlagsConflicts(cmd, "run-post-install", "skip-post-install") }, Run: func(cmd *cobra.Command, args []string) { - runInstallCommand(srv, args, scriptFlags, noOverwrite) + runInstallCommand(cmd.Context(), srv, args, scriptFlags, noOverwrite) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableCores(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableCores(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } scriptFlags.AddToCommand(installCommand) @@ -56,9 +56,8 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return installCommand } -func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, scriptFlags arguments.PrePostScriptsFlags, noOverwrite bool) { +func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, scriptFlags arguments.PrePostScriptsFlags, noOverwrite bool) { logrus.Info("Executing `arduino-cli core install`") - ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) platformsRefs, err := arguments.ParseReferences(ctx, srv, args) diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index ec926240fea..3c2dd954818 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -38,7 +38,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " core list", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runListCommand(srv, all, updatableOnly) + runListCommand(cmd.Context(), srv, all, updatableOnly) }, } listCommand.Flags().BoolVar(&updatableOnly, "updatable", false, tr("List updatable platforms.")) @@ -46,8 +46,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return listCommand } -func runListCommand(srv rpc.ArduinoCoreServiceServer, all bool, updatableOnly bool) { - ctx := context.Background() +func runListCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, all bool, updatableOnly bool) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli core list`") List(ctx, srv, inst, all, updatableOnly) diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 6ec72e4246f..8a58cbf5a57 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -41,7 +41,7 @@ func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " core search MKRZero -a -v", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { - runSearchCommand(srv, args, allVersions) + runSearchCommand(cmd.Context(), srv, args, allVersions) }, } searchCommand.Flags().BoolVarP(&allVersions, "all", "a", false, tr("Show all available core versions.")) @@ -52,8 +52,7 @@ func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { // indexUpdateInterval specifies the time threshold over which indexes are updated const indexUpdateInterval = 24 * time.Hour -func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, allVersions bool) { - ctx := context.Background() +func runSearchCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, allVersions bool) { inst := instance.CreateAndInit(ctx, srv) stream, res := commands.UpdateIndexStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) diff --git a/internal/cli/core/uninstall.go b/internal/cli/core/uninstall.go index e06f630bf31..a5df772935c 100644 --- a/internal/cli/core/uninstall.go +++ b/internal/cli/core/uninstall.go @@ -38,19 +38,18 @@ func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " core uninstall arduino:samd\n", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runUninstallCommand(srv, args, preUninstallFlags) + runUninstallCommand(cmd.Context(), srv, args, preUninstallFlags) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetUninstallableCores(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetUninstallableCores(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } preUninstallFlags.AddToCommand(uninstallCommand) return uninstallCommand } -func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, preUninstallFlags arguments.PrePostScriptsFlags) { +func runUninstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, preUninstallFlags arguments.PrePostScriptsFlags) { logrus.Info("Executing `arduino-cli core uninstall`") - ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) platformsRefs, err := arguments.ParseReferences(ctx, srv, args) diff --git a/internal/cli/core/update_index.go b/internal/cli/core/update_index.go index 01cecd4fd9a..c7f0129291b 100644 --- a/internal/cli/core/update_index.go +++ b/internal/cli/core/update_index.go @@ -36,15 +36,14 @@ func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " core update-index", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runUpdateIndexCommand(srv) + runUpdateIndexCommand(cmd.Context(), srv) }, } return updateIndexCommand } -func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { +func runUpdateIndexCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli core update-index`") - ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) resp := UpdateIndex(ctx, srv, inst) diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 3d831d0a8db..03185784536 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -43,16 +43,15 @@ func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " # " + tr("upgrade arduino:samd to the latest version") + "\n" + " " + os.Args[0] + " core upgrade arduino:samd", Run: func(cmd *cobra.Command, args []string) { - runUpgradeCommand(srv, args, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) + runUpgradeCommand(cmd.Context(), srv, args, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) }, } postInstallFlags.AddToCommand(upgradeCommand) return upgradeCommand } -func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string, skipPostInstall bool, skipPreUninstall bool) { +func runUpgradeCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, skipPostInstall bool, skipPreUninstall bool) { logrus.Info("Executing `arduino-cli core upgrade`") - ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) Upgrade(ctx, srv, inst, args, skipPostInstall, skipPreUninstall) } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index cb0f37fce58..3da3c125371 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -56,7 +56,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " debug -b arduino:samd:mkr1000 -P atmel_ice /home/user/Arduino/MySketch", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDebugCommand(srv, args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg) + runDebugCommand(cmd.Context(), srv, args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg) }, } @@ -72,10 +72,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return debugCommand } -func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, +func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool, profileArg *arguments.Profile) { logrus.Info("Executing `arduino-cli debug`") - ctx := context.Background() path := "" if len(args) > 0 { @@ -103,11 +102,11 @@ func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs * fqbnArg.Set(profile.GetFqbn()) } - fqbn, port := arguments.CalculateFQBNAndPort(portArgs, fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + fqbn, port := arguments.CalculateFQBNAndPort(ctx, portArgs, fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { - prog = programmer.String(inst, srv, fqbn) + prog = programmer.String(ctx, inst, srv, fqbn) } if prog == "" { prog = sk.GetDefaultProgrammer() @@ -125,7 +124,7 @@ func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs * if printInfo { - if res, err := commands.GetDebugConfig(context.Background(), debugConfigRequested); err != nil { + if res, err := commands.GetDebugConfig(ctx, debugConfigRequested); err != nil { errcode := feedback.ErrBadArgument if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer @@ -145,7 +144,7 @@ func runDebugCommand(srv rpc.ArduinoCoreServiceServer, args []string, portArgs * if err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } - if _, err := commands.Debug(context.Background(), debugConfigRequested, in, out, ctrlc); err != nil { + if _, err := commands.Debug(ctx, debugConfigRequested, in, out, ctrlc); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 81cc70cb1d5..c16bb13cc25 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -41,7 +41,7 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Short: tr("Check if the given board/programmer combination supports debugging."), Example: " " + os.Args[0] + " debug check -b arduino:samd:mkr1000 -P atmel_ice", Run: func(cmd *cobra.Command, args []string) { - runDebugCheckCommand(srv, &portArgs, &fqbnArg, interpreter, &programmer) + runDebugCheckCommand(cmd.Context(), srv, &portArgs, &fqbnArg, interpreter, &programmer) }, } fqbnArg.AddToCommand(debugCheckCommand, srv) @@ -51,22 +51,21 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return debugCheckCommand } -func runDebugCheckCommand(srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { - ctx := context.Background() +func runDebugCheckCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli debug`") - port, err := portArgs.GetPort(instance, srv, "", "") + port, err := portArgs.GetPort(ctx, instance, srv, "", "") if err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } fqbn := fqbnArg.String() - resp, err := commands.IsDebugSupported(context.Background(), &rpc.IsDebugSupportedRequest{ + resp, err := commands.IsDebugSupported(ctx, &rpc.IsDebugSupportedRequest{ Instance: instance, Fqbn: fqbn, Port: port, Interpreter: interpreter, - Programmer: programmerArg.String(instance, srv, fqbn), + Programmer: programmerArg.String(ctx, instance, srv, fqbn), }) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 26cd954739c..8e18e800515 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -42,18 +42,17 @@ func initDepsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " lib deps AudioZero@1.0.0 # " + tr("for the specific version."), Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDepsCommand(srv, args, noOverwrite) + runDepsCommand(cmd.Context(), srv, args, noOverwrite) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstalledLibraries(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetInstalledLibraries(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } depsCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, tr("Do not try to update library dependencies if already installed.")) return depsCommand } -func runDepsCommand(srv rpc.ArduinoCoreServiceServer, args []string, noOverwrite bool) { - ctx := context.Background() +func runDepsCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, noOverwrite bool) { instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib deps`") diff --git a/internal/cli/lib/download.go b/internal/cli/lib/download.go index b20877bea01..562f8b07bb9 100644 --- a/internal/cli/lib/download.go +++ b/internal/cli/lib/download.go @@ -39,18 +39,17 @@ func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " lib download AudioZero@1.0.0 # " + tr("for a specific version."), Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDownloadCommand(srv, args) + runDownloadCommand(cmd.Context(), srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableLibs(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableLibs(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } return downloadCommand } -func runDownloadCommand(srv rpc.ArduinoCoreServiceServer, args []string) { +func runDownloadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib download`") - ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) refs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index 3b5921f8ea0..ff24e3616cb 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -45,19 +45,18 @@ func initExamplesCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " lib examples Wire", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runExamplesCommand(srv, args) + runExamplesCommand(cmd.Context(), srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstalledLibraries(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetInstalledLibraries(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } fqbn.AddToCommand(examplesCommand, srv) return examplesCommand } -func runExamplesCommand(srv rpc.ArduinoCoreServiceServer, args []string) { +func runExamplesCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib examples`") - ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) name := "" diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 7465b4f4fbd..fbde0cf8a6b 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -52,10 +52,10 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configur " " + os.Args[0] + " lib install --zip-path /path/to/WiFi101.zip /path/to/ArduinoBLE.zip\n", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runInstallCommand(srv, args, noDeps, noOverwrite, gitURL, zipPath, useBuiltinLibrariesDir, enableUnsafeInstall) + runInstallCommand(cmd.Context(), srv, args, noDeps, noOverwrite, gitURL, zipPath, useBuiltinLibrariesDir, enableUnsafeInstall) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetInstallableLibs(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetInstallableLibs(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } installCommand.Flags().BoolVar(&noDeps, "no-deps", false, tr("Do not install dependencies.")) @@ -66,8 +66,7 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configur return installCommand } -func runInstallCommand(srv rpc.ArduinoCoreServiceServer, args []string, noDeps bool, noOverwrite bool, gitURL bool, zipPath bool, useBuiltinLibrariesDir bool, enableUnsafeInstall bool) { - ctx := context.Background() +func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, noDeps bool, noOverwrite bool, gitURL bool, zipPath bool, useBuiltinLibrariesDir bool, enableUnsafeInstall bool) { instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib install`") diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index 8d743bb3ba3..f764df4985c 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -45,7 +45,7 @@ not listed, they can be listed by adding the --all flag.`), Example: " " + os.Args[0] + " lib list", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - ctx := context.Background() + ctx := cmd.Context() instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib list`") List(ctx, srv, instance, args, all, updatable) diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 4bfa3c06a7c..94780be95c4 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -90,7 +90,7 @@ In addition to the fields listed above, QV terms can use these qualifiers: " " + os.Args[0] + " lib search dependencies=IRremote # " + tr("libraries that depend only on \"IRremote\"") + "\n", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { - runSearchCommand(srv, args, namesOnly, omitReleasesDetails) + runSearchCommand(cmd.Context(), srv, args, namesOnly, omitReleasesDetails) }, } searchCommand.Flags().BoolVar(&namesOnly, "names", false, tr("Show library names only.")) @@ -101,8 +101,7 @@ In addition to the fields listed above, QV terms can use these qualifiers: // indexUpdateInterval specifies the time threshold over which indexes are updated const indexUpdateInterval = 60 * time.Minute -func runSearchCommand(srv rpc.ArduinoCoreServiceServer, args []string, namesOnly bool, omitReleasesDetails bool) { - ctx := context.Background() +func runSearchCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, namesOnly bool, omitReleasesDetails bool) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib search`") diff --git a/internal/cli/lib/uninstall.go b/internal/cli/lib/uninstall.go index d8129ec42db..07ca7248db2 100644 --- a/internal/cli/lib/uninstall.go +++ b/internal/cli/lib/uninstall.go @@ -37,18 +37,17 @@ func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " lib uninstall AudioZero", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runUninstallCommand(srv, args) + runUninstallCommand(cmd.Context(), srv, args) }, ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { - return arguments.GetUninstallableLibraries(context.Background(), srv), cobra.ShellCompDirectiveDefault + return arguments.GetUninstallableLibraries(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } return uninstallCommand } -func runUninstallCommand(srv rpc.ArduinoCoreServiceServer, args []string) { +func runUninstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib uninstall`") - ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) refs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) diff --git a/internal/cli/lib/update_index.go b/internal/cli/lib/update_index.go index f5f5c62cea8..a9c93240b10 100644 --- a/internal/cli/lib/update_index.go +++ b/internal/cli/lib/update_index.go @@ -36,14 +36,13 @@ func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " lib update-index", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runUpdateIndexCommand(srv) + runUpdateIndexCommand(cmd.Context(), srv) }, } return updateIndexCommand } -func runUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) { - ctx := context.Background() +func runUpdateIndexCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli lib update-index`") diff --git a/internal/cli/lib/upgrade.go b/internal/cli/lib/upgrade.go index 6c612eb0089..bb0da0caaea 100644 --- a/internal/cli/lib/upgrade.go +++ b/internal/cli/lib/upgrade.go @@ -38,15 +38,14 @@ func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " lib upgrade Audio ArduinoJson", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { - runUpgradeCommand(srv, args) + runUpgradeCommand(cmd.Context(), srv, args) }, } return upgradeCommand } -func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, args []string) { +func runUpgradeCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string) { logrus.Info("Executing `arduino-cli lib upgrade`") - ctx := context.Background() instance := instance.CreateAndInit(ctx, srv) Upgrade(ctx, srv, instance, args) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 1e9eddbde53..eb237521445 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -66,7 +66,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { if len(args) > 0 { sketchPath = args[0] } - runMonitorCmd(srv, &portArgs, &fqbnArg, &profileArg, sketchPath, configs, describe, timestamp, quiet, raw) + runMonitorCmd(cmd.Context(), srv, &portArgs, &fqbnArg, &profileArg, sketchPath, configs, describe, timestamp, quiet, raw) }, } portArgs.AddToCommand(monitorCommand, srv) @@ -81,12 +81,11 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } func runMonitorCmd( - srv rpc.ArduinoCoreServiceServer, + ctx context.Context, srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, profileArg *arguments.Profile, sketchPathArg string, configs []string, describe, timestamp, quiet, raw bool, ) { logrus.Info("Executing `arduino-cli monitor`") - ctx := context.Background() if !feedback.HasConsole() { quiet = true @@ -139,10 +138,10 @@ func runMonitorCmd( case sketch.GetDefaultFqbn() != "": fqbn = sketch.GetDefaultFqbn() default: - fqbn, _ = portArgs.DetectFQBN(inst, srv) + fqbn, _ = portArgs.DetectFQBN(ctx, inst, srv) } - portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(inst, srv, defaultPort, defaultProtocol) + portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(ctx, inst, srv, defaultPort, defaultProtocol) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 54d1aec70b7..7ca0a442e06 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -46,15 +46,14 @@ that can be upgraded. If nothing needs to be updated the output is empty.`), Example: " " + os.Args[0] + " outdated\n", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runOutdatedCommand(srv) + runOutdatedCommand(cmd.Context(), srv) }, } return outdatedCommand } -func runOutdatedCommand(srv rpc.ArduinoCoreServiceServer) { +func runOutdatedCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli outdated`") - ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) Outdated(ctx, srv, inst) } diff --git a/internal/cli/sketch/archive.go b/internal/cli/sketch/archive.go index 2de1cd0ddaf..19b2a280651 100644 --- a/internal/cli/sketch/archive.go +++ b/internal/cli/sketch/archive.go @@ -43,7 +43,7 @@ func initArchiveCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " archive /home/user/Arduino/MySketch /home/user/MySketchArchive.zip", Args: cobra.MaximumNArgs(2), Run: func(cmd *cobra.Command, args []string) { - runArchiveCommand(srv, args, includeBuildDir, overwrite) + runArchiveCommand(cmd.Context(), srv, args, includeBuildDir, overwrite) }, } @@ -53,9 +53,8 @@ func initArchiveCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return archiveCommand } -func runArchiveCommand(srv rpc.ArduinoCoreServiceServer, args []string, includeBuildDir bool, overwrite bool) { +func runArchiveCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, includeBuildDir bool, overwrite bool) { logrus.Info("Executing `arduino-cli sketch archive`") - ctx := context.Background() sketchPathArg := "" if len(args) > 0 { sketchPathArg = args[0] diff --git a/internal/cli/sketch/new.go b/internal/cli/sketch/new.go index 5be99e4308b..79dfcccc373 100644 --- a/internal/cli/sketch/new.go +++ b/internal/cli/sketch/new.go @@ -38,7 +38,7 @@ func initNewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " sketch new MultiBlinker", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { - runNewCommand(srv, args, overwrite) + runNewCommand(cmd.Context(), srv, args, overwrite) }, } @@ -47,8 +47,7 @@ func initNewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return newCommand } -func runNewCommand(srv rpc.ArduinoCoreServiceServer, args []string, overwrite bool) { - ctx := context.Background() +func runNewCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, overwrite bool) { logrus.Info("Executing `arduino-cli sketch new`") // Trim to avoid issues if user creates a sketch adding the .ino extesion to the name inputSketchName := args[0] diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index 82b94135f74..6fd4e7c91e0 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -41,16 +41,15 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " update", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runUpdateCommand(srv, showOutdated) + runUpdateCommand(cmd.Context(), srv, showOutdated) }, } updateCommand.Flags().BoolVar(&showOutdated, "show-outdated", false, tr("Show outdated cores and libraries after index update")) return updateCommand } -func runUpdateCommand(srv rpc.ArduinoCoreServiceServer, showOutdated bool) { +func runUpdateCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, showOutdated bool) { logrus.Info("Executing `arduino-cli update`") - ctx := context.Background() inst := instance.CreateAndInit(ctx, srv) lib.UpdateIndex(ctx, srv, inst) diff --git a/internal/cli/upgrade/upgrade.go b/internal/cli/upgrade/upgrade.go index 1fee19a4443..4c311201dab 100644 --- a/internal/cli/upgrade/upgrade.go +++ b/internal/cli/upgrade/upgrade.go @@ -41,15 +41,14 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " upgrade", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runUpgradeCommand(srv, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) + runUpgradeCommand(cmd.Context(), srv, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) }, } postInstallFlags.AddToCommand(upgradeCommand) return upgradeCommand } -func runUpgradeCommand(srv rpc.ArduinoCoreServiceServer, skipPostInstall bool, skipPreUninstall bool) { - ctx := context.Background() +func runUpgradeCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, skipPostInstall bool, skipPreUninstall bool) { inst := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli upgrade`") lib.Upgrade(ctx, srv, inst, []string{}) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index b3d89259817..752a1a5ccc4 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -63,7 +63,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { arguments.CheckFlagsConflicts(cmd, "input-file", "input-dir") }, Run: func(cmd *cobra.Command, args []string) { - runUploadCommand(srv, args, uploadFields) + runUploadCommand(cmd.Context(), srv, args, uploadFields) }, } @@ -81,11 +81,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return uploadCommand } -func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFieldsArgs map[string]string) { +func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, uploadFieldsArgs map[string]string) { logrus.Info("Executing `arduino-cli upload`") - ctx := context.Background() - path := "" if len(args) > 0 { path = args[0] @@ -116,7 +114,7 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie defaultFQBN := sketch.GetDefaultFqbn() defaultAddress := sketch.GetDefaultPort() defaultProtocol := sketch.GetDefaultProtocol() - fqbn, port := arguments.CalculateFQBNAndPort(&portArgs, &fqbnArg, inst, srv, defaultFQBN, defaultAddress, defaultProtocol) + fqbn, port := arguments.CalculateFQBNAndPort(ctx, &portArgs, &fqbnArg, inst, srv, defaultFQBN, defaultAddress, defaultProtocol) userFieldRes, err := srv.SupportedUserFields(ctx, &rpc.SupportedUserFieldsRequest{ Instance: inst, @@ -179,7 +177,7 @@ func runUploadCommand(srv rpc.ArduinoCoreServiceServer, args []string, uploadFie prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { - prog = programmer.String(inst, srv, fqbn) + prog = programmer.String(ctx, inst, srv, fqbn) } if prog == "" { prog = sketch.GetDefaultProgrammer() diff --git a/internal/cli/version/version.go b/internal/cli/version/version.go index 9c8633aeee1..8c5d8eec4c1 100644 --- a/internal/cli/version/version.go +++ b/internal/cli/version/version.go @@ -40,13 +40,13 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " version", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { - runVersionCommand(srv) + runVersionCommand(cmd.Context(), srv) }, } return versionCommand } -func runVersionCommand(srv rpc.ArduinoCoreServiceServer) { +func runVersionCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { logrus.Info("Executing `arduino-cli version`") info := version.VersionInfo @@ -58,7 +58,7 @@ func runVersionCommand(srv rpc.ArduinoCoreServiceServer) { } latestVersion := "" - res, err := srv.CheckForArduinoCLIUpdates(context.Background(), &rpc.CheckForArduinoCLIUpdatesRequest{}) + res, err := srv.CheckForArduinoCLIUpdates(ctx, &rpc.CheckForArduinoCLIUpdatesRequest{}) if err != nil { feedback.Warning("Failed to check for updates: " + err.Error()) } else { From 6cf4eb7d20bcb1bc7372648bc76b721f50df005f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 30 Apr 2024 18:25:19 +0200 Subject: [PATCH 181/361] Removed unused parameter --- internal/arduino/builder/internal/detector/detector.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index 98d497d475c..8f9a305cea4 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -272,7 +272,7 @@ func (l *SketchLibrariesDetector) findIncludes( } for !sourceFileQueue.empty() { - err := l.findIncludesUntilDone(ctx, cache, sourceFileQueue, buildProperties, sketchBuildPath, librariesBuildPath, platformArch) + err := l.findIncludesUntilDone(ctx, cache, sourceFileQueue, buildProperties, librariesBuildPath, platformArch) if err != nil { cachePath.Remove() return err @@ -304,7 +304,6 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( cache *includeCache, sourceFileQueue *uniqueSourceFileQueue, buildProperties *properties.Map, - sketchBuildPath *paths.Path, librariesBuildPath *paths.Path, platformArch string, ) error { From 27e9c3e4dcb31961ca60911032b89bb90c59a642 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 2 May 2024 15:00:53 +0200 Subject: [PATCH 182/361] Tolerate errors in invalid config files, and report them as warnings --- commands/service_settings.go | 14 ++- internal/go-configmap/errors.go | 54 ++++++++++++ internal/go-configmap/yaml.go | 5 +- .../integrationtest/config/config_test.go | 27 ++++++ main.go | 6 +- rpc/cc/arduino/cli/commands/v1/settings.pb.go | 87 +++++++++++-------- rpc/cc/arduino/cli/commands/v1/settings.proto | 6 +- 7 files changed, 155 insertions(+), 44 deletions(-) create mode 100644 internal/go-configmap/errors.go diff --git a/commands/service_settings.go b/commands/service_settings.go index 82bdb030aeb..2871844b8b8 100644 --- a/commands/service_settings.go +++ b/commands/service_settings.go @@ -22,7 +22,9 @@ import ( "reflect" "github.com/arduino/arduino-cli/commands/cmderrors" + f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/go-configmap" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "google.golang.org/protobuf/proto" "gopkg.in/yaml.v3" @@ -187,15 +189,21 @@ func (s *arduinoCoreServerImpl) ConfigurationSave(ctx context.Context, req *rpc. // SettingsReadFromFile read settings from a YAML file and replace the settings currently stored in memory. func (s *arduinoCoreServerImpl) ConfigurationOpen(ctx context.Context, req *rpc.ConfigurationOpenRequest) (*rpc.ConfigurationOpenResponse, error) { + warnings := []string{} + switch req.GetSettingsFormat() { case "yaml": err := yaml.Unmarshal([]byte(req.GetEncodedSettings()), s.settings) - if err != nil { + if errs, ok := err.(*configmap.UnmarshalErrors); ok { + warnings = f.Map(errs.WrappedErrors(), (error).Error) + } else if err != nil { return nil, fmt.Errorf("error unmarshalling settings: %v", err) } case "json": err := json.Unmarshal([]byte(req.GetEncodedSettings()), s.settings) - if err != nil { + if errs, ok := err.(*configmap.UnmarshalErrors); ok { + warnings = f.Map(errs.WrappedErrors(), (error).Error) + } else if err != nil { return nil, fmt.Errorf("error unmarshalling settings: %v", err) } default: @@ -203,7 +211,7 @@ func (s *arduinoCoreServerImpl) ConfigurationOpen(ctx context.Context, req *rpc. } configuration.InjectEnvVars(s.settings) - return &rpc.ConfigurationOpenResponse{}, nil + return &rpc.ConfigurationOpenResponse{Warnings: warnings}, nil } // SettingsEnumerate returns the list of all the settings keys. diff --git a/internal/go-configmap/errors.go b/internal/go-configmap/errors.go new file mode 100644 index 00000000000..2ad42f3e129 --- /dev/null +++ b/internal/go-configmap/errors.go @@ -0,0 +1,54 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 configmap + +import "strings" + +// UnmarshalErrors is a collection of errors that occurred during unmarshalling. +// Do not return this type directly, but use its result() method instead. +type UnmarshalErrors struct { + wrapped []error +} + +func (e *UnmarshalErrors) append(err error) { + e.wrapped = append(e.wrapped, err) +} + +func (e *UnmarshalErrors) result() error { + if len(e.wrapped) == 0 { + return nil + } + return e +} + +func (e *UnmarshalErrors) Error() string { + if len(e.wrapped) == 1 { + return e.wrapped[0].Error() + } + errs := []string{"multiple errors:"} + for _, err := range e.wrapped { + errs = append(errs, "- "+err.Error()) + } + return strings.Join(errs, "\n") +} + +// WrappedErrors returns the list of errors that occurred during unmarshalling. +func (e *UnmarshalErrors) WrappedErrors() []error { + if e == nil { + return nil + } + return e.wrapped +} diff --git a/internal/go-configmap/yaml.go b/internal/go-configmap/yaml.go index 214e12ba727..e58f8f31ecf 100644 --- a/internal/go-configmap/yaml.go +++ b/internal/go-configmap/yaml.go @@ -29,10 +29,11 @@ func (c *Map) UnmarshalYAML(node *yaml.Node) error { return err } + errs := &UnmarshalErrors{} for k, v := range flattenMap(in) { if err := c.Set(k, v); err != nil { - return err + errs.append(err) } } - return nil + return errs.result() } diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 2742a7205f3..d180ea5699e 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -17,6 +17,7 @@ package config_test import ( "path/filepath" + "strings" "testing" "github.com/arduino/arduino-cli/internal/integrationtest" @@ -867,3 +868,29 @@ func TestInitializationOrderOfConfigThroughFlagAndEnv(t *testing.T) { require.NoError(t, err) requirejson.Contains(t, stdout, `{"config":{ "locale": "test" }}`) } + +func TestConfigLoadWithUnknownOrInvalidKeys(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + tmp := t.TempDir() + unkwnownConfig := paths.New(filepath.Join(tmp, "unknown.yaml")) + unkwnownConfig.WriteFile([]byte(` +unk: "test" +build.unk: 123 +`)) + t.Cleanup(func() { unkwnownConfig.Remove() }) + + // Run "config get" with a configuration containing an unknown key + out, _, err := cli.Run("config", "get", "locale", "--config-file", unkwnownConfig.String()) + require.NoError(t, err) + require.Equal(t, "en", strings.TrimSpace(string(out))) + + // Run "config get" with a configuration containing an invalid key + invalidConfig := paths.New(filepath.Join(tmp, "invalid.yaml")) + invalidConfig.WriteFile([]byte(`locale: 123`)) + t.Cleanup(func() { invalidConfig.Remove() }) + out, _, err = cli.Run("config", "get", "locale", "--config-file", invalidConfig.String()) + require.NoError(t, err) + require.Equal(t, "en", strings.TrimSpace(string(out))) +} diff --git a/main.go b/main.go index 6d49b0e4933..52499c7ae1d 100644 --- a/main.go +++ b/main.go @@ -45,8 +45,12 @@ func main() { } else if !os.IsNotExist(err) { feedback.FatalError(fmt.Errorf("couldn't read configuration file: %w", err), feedback.ErrGeneric) } - if _, err := srv.ConfigurationOpen(ctx, openReq); err != nil { + if resp, err := srv.ConfigurationOpen(ctx, openReq); err != nil { feedback.FatalError(fmt.Errorf("couldn't load configuration: %w", err), feedback.ErrGeneric) + } else if warnings := resp.GetWarnings(); len(warnings) > 0 { + for _, warning := range warnings { + feedback.Warning(warning) + } } // Get the current settings from the server diff --git a/rpc/cc/arduino/cli/commands/v1/settings.pb.go b/rpc/cc/arduino/cli/commands/v1/settings.pb.go index 13765e459b7..e367998c9ab 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/settings.pb.go @@ -407,6 +407,10 @@ type ConfigurationOpenResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + + // Warnings that occurred while opening the configuration (e.g. unknown keys, + // or invalid values) + Warnings []string `protobuf:"bytes,1,rep,name=warnings,proto3" json:"warnings,omitempty"` } func (x *ConfigurationOpenResponse) Reset() { @@ -441,6 +445,13 @@ func (*ConfigurationOpenResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP(), []int{6} } +func (x *ConfigurationOpenResponse) GetWarnings() []string { + if x != nil { + return x.Warnings + } + return nil +} + type SettingsGetValueRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1527,44 +1538,46 @@ var file_cc_arduino_cli_commands_v1_settings_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x0f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1b, 0x0a, 0x19, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x37, 0x0a, 0x19, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x0a, 0x17, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x3f, 0x0a, 0x18, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x73, 0x0a, 0x17, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, - 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, - 0x1a, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x2d, 0x0a, 0x05, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, - 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, + 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x4e, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x3f, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, + 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x73, 0x0a, 0x17, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x65, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x22, 0x1a, 0x0a, 0x18, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1a, 0x0a, 0x18, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0xa1, 0x01, 0x0a, 0x19, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x2d, 0x0a, 0x05, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/settings.proto b/rpc/cc/arduino/cli/commands/v1/settings.proto index 71631e56b99..c55a2c122f3 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.proto +++ b/rpc/cc/arduino/cli/commands/v1/settings.proto @@ -120,7 +120,11 @@ message ConfigurationOpenRequest { string settings_format = 2; } -message ConfigurationOpenResponse {} +message ConfigurationOpenResponse { + // Warnings that occurred while opening the configuration (e.g. unknown keys, + // or invalid values) + repeated string warnings = 1; +} message SettingsGetValueRequest { // The key to get From 141c3430baf7776d23a498918265e92a5ad3a84d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 18:24:00 -0700 Subject: [PATCH 183/361] [skip changelog] Bump jinja2 from 3.1.3 to 3.1.4 (#2596) Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.3...3.1.4) --- updated-dependencies: - dependency-name: jinja2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index cbdc3c6738f..5b896956710 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "click" @@ -94,13 +94,13 @@ testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs [[package]] name = "jinja2" -version = "3.1.3" +version = "3.1.4" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, - {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, + {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, + {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, ] [package.dependencies] From 21c58031030bc1ac66e34107e6233fea52f9118f Mon Sep 17 00:00:00 2001 From: per1234 <accounts@perglass.com> Date: Tue, 14 May 2024 00:33:01 -0700 Subject: [PATCH 184/361] [skip-changelog] Correct profile dependency version constraint format in demo sketch project file (#2590) The Sketch Project File documentation includes a demonstration of a complete project file. Sketch project files use Arduino CLI's `<dependency ID> (<constraint>)` version constraint format but previously an unsupported `<dependency ID>@<version>` format was used in some of the dependencies specified in the demonstration project file. This would cause a panic if used in a project file: panic: profiles parsing err: invalid 'platform' directive goroutine 1 [running]: github.com/arduino/arduino-cli/arduino/sketch.(*projectRaw).getProfiles(0xc0003f2000) E:/git/arduino/arduino-cli/arduino/sketch/profiles.go:84 +0x1fe github.com/arduino/arduino-cli/arduino/sketch.LoadProjectFile(0xc0002fac40?) E:/git/arduino/arduino-cli/arduino/sketch/profiles.go:265 +0xb6 github.com/arduino/arduino-cli/arduino/sketch.New(0xc00022d6c0?) E:/git/arduino/arduino-cli/arduino/sketch/sketch.go:90 +0x587 github.com/arduino/arduino-cli/commands/sketch.LoadSketch({0xc000150060?, 0xc000000004?}, 0xc00022d9b8?) E:/git/arduino/arduino-cli/commands/sketch/load.go:30 +0x58 github.com/arduino/arduino-cli/internal/cli/compile.runCompileCommand(0xc0003aa000?, {0xc0003029c0, 0x1, 0x15c1559?}) E:/git/arduino/arduino-cli/internal/cli/compile/compile.go:162 +0x1dc github.com/spf13/cobra.(*Command).execute(0xc0003aa000, {0xc000302990, 0x1, 0x1}) C:/Users/per/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:944 +0x863 github.com/spf13/cobra.(*Command).ExecuteC(0xc00019e300) C:/Users/per/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068 +0x3a5 github.com/spf13/cobra.(*Command).Execute(0x0?) C:/Users/per/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992 +0x13 main.main() E:/git/arduino/arduino-cli/main.go:31 +0xda --- docs/sketch-project-file.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/sketch-project-file.md b/docs/sketch-project-file.md index 90e78a4f170..896e66eb16a 100644 --- a/docs/sketch-project-file.md +++ b/docs/sketch-project-file.md @@ -81,9 +81,9 @@ profiles: notes: testing the very limit of the AVR platform, it will be very unstable fqbn: attiny:avr:ATtinyX5:cpu=attiny85,clock=internal16 platforms: - - platform: attiny:avr@1.0.2 + - platform: attiny:avr (1.0.2) platform_index_url: https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json - - platform: arduino:avr@1.8.3 + - platform: arduino:avr (1.8.3) libraries: - ArduinoIoTCloud (1.0.2) - Arduino_ConnectionHandler (0.6.4) From eba4af603285f533692ceb32830b75c96916dcc7 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 14 May 2024 14:36:54 +0200 Subject: [PATCH 185/361] Add [skip-changelog] prefix to dependabot commit (#2586) * Add [skip-changelog] prefix to dependabot commit We use the `[skip-changelog]` prefix to avoid having such commits in our changelog history. When merging dependabot PRs we always manually add the prefix, but it's common to forget about it at costs of manually removing that entry in the changelog when publishing a new release. With this PR dependabot wil add that prefix in every commit, the GH PR will be open with the same commit name, and when pressing the `merge squash` we won't need to manually add the prefix. * apply CR suggestions --- .github/dependabot.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 882c6a4889f..adce0d2b6cb 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -11,6 +11,8 @@ updates: interval: daily labels: - "topic: infrastructure" + commit-message: + prefix: "[skip changelog] " - package-ecosystem: gomod directory: / schedule: @@ -18,3 +20,5 @@ updates: open-pull-requests-limit: 10 labels: - "topic: infrastructure" + commit-message: + prefix: "[skip changelog] " From 7658db6d637c75f3b1372294e1cd6387c96c2ba2 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 2 May 2024 15:01:23 +0200 Subject: [PATCH 186/361] Improved handling of incomplete configs array --- internal/go-configmap/configuration.go | 2 +- internal/integrationtest/config/config_test.go | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/internal/go-configmap/configuration.go b/internal/go-configmap/configuration.go index 5ea74eac983..ad0f41bdb1a 100644 --- a/internal/go-configmap/configuration.go +++ b/internal/go-configmap/configuration.go @@ -97,7 +97,7 @@ func tryConversion(current any, desiredType reflect.Type) (any, error) { } case reflect.Array, reflect.Slice: currentArray, ok := current.([]any) - if !ok { + if !ok && current != nil { break } for i, elem := range currentArray { diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index d180ea5699e..5ed5145dd62 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -893,4 +893,12 @@ build.unk: 123 out, _, err = cli.Run("config", "get", "locale", "--config-file", invalidConfig.String()) require.NoError(t, err) require.Equal(t, "en", strings.TrimSpace(string(out))) + + // Run "config get" with a configuration containing a null array + nullArrayConfig := paths.New(filepath.Join(tmp, "null_array.yaml")) + nullArrayConfig.WriteFile([]byte(`board_manager.additional_urls:`)) + t.Cleanup(func() { nullArrayConfig.Remove() }) + out, _, err = cli.Run("config", "get", "locale", "--config-file", invalidConfig.String()) + require.NoError(t, err) + require.Equal(t, "en", strings.TrimSpace(string(out))) } From a58c3506b83d27ea84eec6b41ecaed603d04eb36 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 May 2024 10:23:57 +0200 Subject: [PATCH 187/361] Disable logging until it is setup in the arduino-cli pre-run --- main.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/main.go b/main.go index 52499c7ae1d..5b2b095b215 100644 --- a/main.go +++ b/main.go @@ -18,6 +18,7 @@ package main import ( "context" "fmt" + "io" "os" "github.com/arduino/arduino-cli/commands" @@ -28,9 +29,13 @@ import ( "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" + "github.com/sirupsen/logrus" ) func main() { + // Disable logging until it is setup in the arduino-cli pre-run + logrus.SetOutput(io.Discard) + // Create a new ArduinoCoreServer srv := commands.NewArduinoCoreServer() From 9585728ef6811f5bdc7b374088d7de9637f5bc57 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 May 2024 10:39:23 +0200 Subject: [PATCH 188/361] Show config-load warning after feedback package initialization --- main.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/main.go b/main.go index 5b2b095b215..fa29df9c148 100644 --- a/main.go +++ b/main.go @@ -30,6 +30,7 @@ import ( rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" + "github.com/spf13/cobra" ) func main() { @@ -45,6 +46,7 @@ func main() { // Read the settings from the configuration file openReq := &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml"} + var configFileLoadingWarnings []string if configData, err := paths.New(configFile).ReadFile(); err == nil { openReq.EncodedSettings = string(configData) } else if !os.IsNotExist(err) { @@ -53,9 +55,8 @@ func main() { if resp, err := srv.ConfigurationOpen(ctx, openReq); err != nil { feedback.FatalError(fmt.Errorf("couldn't load configuration: %w", err), feedback.ErrGeneric) } else if warnings := resp.GetWarnings(); len(warnings) > 0 { - for _, warning := range warnings { - feedback.Warning(warning) - } + // Save the warnings to show them later when the feedback package is fully initialized + configFileLoadingWarnings = warnings } // Get the current settings from the server @@ -70,6 +71,15 @@ func main() { // Setup command line parser with the server and settings arduinoCmd := cli.NewCommand(srv) + parentPreRun := arduinoCmd.PersistentPreRun + arduinoCmd.PersistentPreRun = func(cmd *cobra.Command, args []string) { + if parentPreRun != nil { + parentPreRun(cmd, args) + } + for _, warning := range configFileLoadingWarnings { + feedback.Warning(warning) + } + } // Execute the command line if err := arduinoCmd.ExecuteContext(ctx); err != nil { From b279d4b3f5de34ddb053751ccfbc0c4ab246817a Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 May 2024 12:13:03 +0200 Subject: [PATCH 189/361] Fixed 'feedback' package initialization order --- internal/cli/cli.go | 39 +++++++++----------- internal/integrationtest/board/board_test.go | 4 +- 2 files changed, 20 insertions(+), 23 deletions(-) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index e2ad85cc9e2..c2333c1827b 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -203,19 +203,22 @@ func toLogLevel(s string) (t logrus.Level, found bool) { } func preRun(verbose bool, outputFormat string, logLevel, logFile, logFormat string, noColor bool, settings *rpc.Configuration) { - // initialize inventory - err := inventory.Init(settings.GetDirectories().GetData()) - if err != nil { - feedback.Fatal(fmt.Sprintf("Error: %v", err), feedback.ErrInitializingInventory) - } - - // https://no-color.org/ - color.NoColor = noColor || os.Getenv("NO_COLOR") != "" + // + // Prepare the Feedback system + // // Set default feedback output to colorable + color.NoColor = noColor || os.Getenv("NO_COLOR") != "" // https://no-color.org/ feedback.SetOut(colorable.NewColorableStdout()) feedback.SetErr(colorable.NewColorableStderr()) + // use the output format to configure the Feedback + format, ok := feedback.ParseOutputFormat(outputFormat) + if !ok { + feedback.Fatal(tr("Invalid output format: %s", outputFormat), feedback.ErrBadArgument) + } + feedback.SetFormat(format) + // // Prepare logging // @@ -260,20 +263,14 @@ func preRun(verbose bool, outputFormat string, logLevel, logFile, logFormat stri logrus.SetLevel(logrusLevel) } - // - // Prepare the Feedback system - // - - // use the output format to configure the Feedback - format, ok := feedback.ParseOutputFormat(outputFormat) - if !ok { - feedback.Fatal(tr("Invalid output format: %s", outputFormat), feedback.ErrBadArgument) - } - feedback.SetFormat(format) + // Print some status info and check command is consistent + logrus.Info(versioninfo.VersionInfo.Application + " version " + versioninfo.VersionInfo.VersionString) // - // Print some status info and check command is consistent + // Initialize inventory // - - logrus.Info(versioninfo.VersionInfo.Application + " version " + versioninfo.VersionInfo.VersionString) + err := inventory.Init(settings.GetDirectories().GetData()) + if err != nil { + feedback.Fatal(fmt.Sprintf("Error: %v", err), feedback.ErrInitializingInventory) + } } diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index 639a27d3a7b..0541f1a5c0f 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -651,7 +651,7 @@ func TestCLIStartupWithCorruptedInventory(t *testing.T) { require.NoError(t, f.Close()) // the CLI should not be able to load inventory and report it to the logs - _, stderr, err := cli.Run("core", "update-index", "-v") + stdout, _, err := cli.Run("core", "update-index", "-v") require.NoError(t, err) - require.Contains(t, string(stderr), "Error loading inventory store") + require.Contains(t, string(stdout), "Error loading inventory store") } From 278a33147e07a6ddc274d8804120cb97dfc26968 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 May 2024 12:34:20 +0200 Subject: [PATCH 190/361] Applied changes from code review --- internal/go-configmap/cli.go | 10 ++++------ internal/go-configmap/configuration_test.go | 8 ++------ 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/internal/go-configmap/cli.go b/internal/go-configmap/cli.go index 3d4313a076e..d467cfc9c32 100644 --- a/internal/go-configmap/cli.go +++ b/internal/go-configmap/cli.go @@ -83,21 +83,19 @@ func (c *Map) InjectEnvVars(env []string, prefix string) []error { envKeyToConfigKey := map[string]string{} for _, k := range c.AllKeys() { normalizedKey := prefix + strings.ToUpper(k) - normalizedKey = strings.Replace(normalizedKey, ".", "_", -1) + normalizedKey = strings.ReplaceAll(normalizedKey, ".", "_") envKeyToConfigKey[normalizedKey] = k } for _, e := range env { // Extract key and value from env - parts := strings.SplitN(e, "=", 2) - if len(parts) != 2 { + envKey, envValue, ok := strings.Cut(e, "=") + if !ok { continue } - envKey := strings.ToUpper(parts[0]) - envValue := parts[1] // Check if the configuration has a matching key - key, ok := envKeyToConfigKey[envKey] + key, ok := envKeyToConfigKey[strings.ToUpper(envKey)] if !ok { continue } diff --git a/internal/go-configmap/configuration_test.go b/internal/go-configmap/configuration_test.go index 7c213d15a6c..a1e1a0fbf78 100644 --- a/internal/go-configmap/configuration_test.go +++ b/internal/go-configmap/configuration_test.go @@ -17,7 +17,6 @@ package configmap_test import ( "encoding/json" - "fmt" "testing" "github.com/arduino/arduino-cli/internal/go-configmap" @@ -36,7 +35,6 @@ func TestConfiguration(t *testing.T) { yml, err := yaml.Marshal(c) require.NoError(t, err) - fmt.Println(string(yml)) d := configmap.New() err = yaml.Unmarshal(yml, &d) @@ -109,13 +107,11 @@ func TestMerge(t *testing.T) { f := configmap.New() f.Set("fooz.bar", 10) - require.Error(t, c.Merge(f)) - fmt.Println(c.Merge(f)) + require.EqualError(t, c.Merge(f), "invalid types for key 'bar': got string but want int") g := configmap.New() g.Set("fooz.bart", "baz") - require.Error(t, c.Merge(g)) - fmt.Println(c.Merge(g)) + require.EqualError(t, c.Merge(g), "target key do not exist: 'bart'") } func TestAllKeys(t *testing.T) { From c355478ffd6e3760983638c302eeecb275b24e13 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 May 2024 15:41:11 +0200 Subject: [PATCH 191/361] Updated client_example --- commands/service_settings.go | 2 +- rpc/internal/client_example/main.go | 144 +++++++++++----------------- 2 files changed, 56 insertions(+), 90 deletions(-) diff --git a/commands/service_settings.go b/commands/service_settings.go index 2871844b8b8..d38f4a95cfd 100644 --- a/commands/service_settings.go +++ b/commands/service_settings.go @@ -177,7 +177,7 @@ func (s *arduinoCoreServerImpl) ConfigurationSave(ctx context.Context, req *rpc. } return &rpc.ConfigurationSaveResponse{EncodedSettings: string(data)}, nil case "json": - data, err := json.Marshal(s.settings) + data, err := json.MarshalIndent(s.settings, "", " ") if err != nil { return nil, fmt.Errorf("error marshalling settings: %v", err) } diff --git a/rpc/internal/client_example/main.go b/rpc/internal/client_example/main.go index eabf6bfd2d9..9fe750f36ea 100644 --- a/rpc/internal/client_example/main.go +++ b/rpc/internal/client_example/main.go @@ -23,6 +23,7 @@ import ( "io" "log" "os" + "path" "path/filepath" "strings" "time" @@ -71,40 +72,24 @@ func main() { callLoadSketch(client) // Use SetValue to configure the arduino-cli directories. - log.Println("calling SetValue") - callSetValue(client) + callSetValue(client, "directories.data", `"`+dataDir+`"`) + callSetValue(client, "directories.downloads", `"`+path.Join(dataDir, "staging")+`"`) + callSetValue(client, "directories.user", `"`+path.Join(dataDir, "sketchbook")+`"`) // List all settings - log.Println("calling SettingsGetAll()") - callGetAll(client) + callConfigurationSave(client) // Merge applies multiple settings values at once. - log.Println("calling SettingsMerge()") - callMerge(client, `{"foo": {"value": "bar"}, "daemon":{"port":"422"}, "board_manager": {"additional_urls":["https://example.com"]}}`) + callSetValue(client, "daemon.port", `"422"`) + callSetValue(client, "board_manager.additional_urls", `[ "https://example.com" ]`) - log.Println("calling SettingsGetAll()") - callGetAll(client) + callConfigurationSave(client) - log.Println("calling SettingsMerge()") - callMerge(client, `{"foo": {} }`) + callSetValue(client, "daemon.port", "") + callGetValue(client, "daemon.port") + callGetValue(client, "directories.data") - log.Println("calling SettingsGetAll()") - callGetAll(client) - - log.Println("calling SettingsMerge()") - callMerge(client, `{"foo": "bar" }`) - - // Get the value of the foo key. - log.Println("calling SettingsGetValue(foo)") - callGetValue(client) - - // List all settings - log.Println("calling SettingsGetAll()") - callGetAll(client) - - // Write settings to file. - log.Println("calling Write()") - callWrite(client) + callConfigurationSave(client) // Before we can do anything with the CLI, an "instance" must be created. // We keep a reference to the created instance because we will need it to @@ -243,85 +228,66 @@ func callVersion(client rpc.ArduinoCoreServiceClient) { log.Printf("arduino-cli version: %v", versionResp.GetVersion()) } -func callSetValue(client rpc.ArduinoCoreServiceClient) { - // _, err := client.SettingsSetValue(context.Background(), - // &rpc.SettingsSetValueRequest{ - // Key: "directories", - // JsonData: `{"data": "` + dataDir + `", "downloads": "` + path.Join(dataDir, "staging") + `", "user": "` + path.Join(dataDir, "sketchbook") + `"}`, - // }) +func callSetValue(client rpc.ArduinoCoreServiceClient, key, jsonValue string) { + log.Printf("Calling SetValue: %s = %s", key, jsonValue) + _, err := client.SettingsSetValue(context.Background(), + &rpc.SettingsSetValueRequest{ + Key: key, + EncodedValue: jsonValue, + }) - // if err != nil { - // log.Fatalf("Error setting settings value: %s", err) - // } + if err != nil { + log.Fatalf("Error setting settings value: %s", err) + } } func callSetProxy(client rpc.ArduinoCoreServiceClient) { - // _, err := client.SettingsSetValue(context.Background(), - // &rpc.SettingsSetValueRequest{ - // Key: "network.proxy", - // JsonData: `"http://localhost:3128"`, - // }) + _, err := client.SettingsSetValue(context.Background(), + &rpc.SettingsSetValueRequest{ + Key: "network.proxy", + EncodedValue: `"http://localhost:3128"`, + }) - // if err != nil { - // log.Fatalf("Error setting settings value: %s", err) - // } + if err != nil { + log.Fatalf("Error setting settings value: %s", err) + } } func callUnsetProxy(client rpc.ArduinoCoreServiceClient) { - // _, err := client.SettingsSetValue(context.Background(), - // &rpc.SettingsSetValueRequest{ - // Key: "network.proxy", - // JsonData: `""`, - // }) - - // if err != nil { - // log.Fatalf("Error setting settings value: %s", err) - // } -} - -func callMerge(client rpc.ArduinoCoreServiceClient, jsonData string) { - // _, err := client.SettingsMerge(context.Background(), - // &rpc.SettingsMergeRequest{ - // JsonData: jsonData, - // }) + _, err := client.SettingsSetValue(context.Background(), + &rpc.SettingsSetValueRequest{ + Key: "network.proxy", + }) - // if err != nil { - // log.Fatalf("Error merging settings: %s", err) - // } + if err != nil { + log.Fatalf("Error setting settings value: %s", err) + } } -func callGetValue(client rpc.ArduinoCoreServiceClient) { - // getValueResp, err := client.SettingsGetValue(context.Background(), - // &rpc.SettingsGetValueRequest{ - // Key: "foo", - // }) +func callGetValue(client rpc.ArduinoCoreServiceClient, key string) { + getValueResp, err := client.SettingsGetValue(context.Background(), + &rpc.SettingsGetValueRequest{ + Key: key, + }) - // if err != nil { - // log.Fatalf("Error getting settings value: %s", err) - // } + if err != nil { + log.Fatalf("Error getting settings value: %s", err) + } - // log.Printf("Value: %s: %s", getValueResp.GetKey(), getValueResp.GetJsonData()) + log.Printf("%s = %s", key, getValueResp.GetEncodedValue()) } -func callGetAll(client rpc.ArduinoCoreServiceClient) { - // getAllResp, err := client.SettingsGetAll(context.Background(), &rpc.SettingsGetAllRequest{}) - - // if err != nil { - // log.Fatalf("Error getting settings: %s", err) - // } - - // log.Printf("Settings: %s", getAllResp.GetJsonData()) -} +func callConfigurationSave(client rpc.ArduinoCoreServiceClient) { + log.Println("calling ConfigurationSave() >>") + getAllResp, err := client.ConfigurationSave(context.Background(), &rpc.ConfigurationSaveRequest{ + SettingsFormat: "json", + }) -func callWrite(client rpc.ArduinoCoreServiceClient) { - // _, err := client.SettingsWrite(context.Background(), - // &rpc.SettingsWriteRequest{ - // FilePath: path.Join(dataDir, "written-rpc.Settingsyml"), - // }) + if err != nil { + log.Fatalf("Error getting settings: %s", err) + } - // if err != nil { - // log.Fatalf("Error writing settings: %s", err) - // } + log.Printf("Settings follow:\n\n%s", getAllResp.GetEncodedSettings()) } func createInstance(client rpc.ArduinoCoreServiceClient) *rpc.Instance { From cec1fdb86bbd130c2bb926cce6d61bf87687a707 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 6 May 2024 17:14:53 +0200 Subject: [PATCH 192/361] Improved array handling in configmap, and unit-tests --- internal/go-configmap/configuration.go | 6 +- internal/go-configmap/configuration_test.go | 70 ++++++++++++++++++--- 2 files changed, 66 insertions(+), 10 deletions(-) diff --git a/internal/go-configmap/configuration.go b/internal/go-configmap/configuration.go index ad0f41bdb1a..e1a9dbb791e 100644 --- a/internal/go-configmap/configuration.go +++ b/internal/go-configmap/configuration.go @@ -100,14 +100,16 @@ func tryConversion(current any, desiredType reflect.Type) (any, error) { if !ok && current != nil { break } + + resArray := reflect.MakeSlice(desiredType, len(currentArray), len(currentArray)) for i, elem := range currentArray { newElem, err := tryConversion(elem, desiredType.Elem()) if err != nil { return nil, err } - currentArray[i] = newElem + resArray.Index(i).Set(reflect.ValueOf(newElem)) } - return currentArray, nil + return resArray.Interface(), nil } currentTypeString := currentType.String() diff --git a/internal/go-configmap/configuration_test.go b/internal/go-configmap/configuration_test.go index a1e1a0fbf78..c9c025cb3ce 100644 --- a/internal/go-configmap/configuration_test.go +++ b/internal/go-configmap/configuration_test.go @@ -146,19 +146,73 @@ func TestSchema(t *testing.T) { c.SetKeyTypeSchema("int", 15) c.SetKeyTypeSchema("obj.string", "") c.SetKeyTypeSchema("obj.int", 15) + c.SetKeyTypeSchema("uint", uint(15)) + c.SetKeyTypeSchema("obj.uint", uint(15)) + c.SetKeyTypeSchema("array", []string{}) + c.SetKeyTypeSchema("obj.array", []string{}) + + // Set array of string + require.NoError(t, c.Set("array", []string{"abc", "def"})) + require.NoError(t, c.Set("obj.array", []string{"abc", "def"})) + require.Equal(t, []string{"abc", "def"}, c.Get("array")) + require.Equal(t, []string{"abc", "def"}, c.Get("obj.array")) + // Set array of string with array of any + require.NoError(t, c.Set("array", []any{"abc", "def"})) + require.NoError(t, c.Set("obj.array", []any{"abc", "def"})) + require.Equal(t, []string{"abc", "def"}, c.Get("array")) + require.Equal(t, []string{"abc", "def"}, c.Get("obj.array")) + // Set array of string with array of int + require.EqualError(t, c.Set("array", []any{"abc", 123}), "invalid type for key 'array': invalid conversion, got int but want string") + require.EqualError(t, c.Set("obj.array", []any{"abc", 123}), "invalid type for key 'obj.array': invalid conversion, got int but want string") + + // Set string require.NoError(t, c.Set("string", "abc")) - require.Error(t, c.Set("string", 123)) - require.NoError(t, c.Set("int", 123)) - require.Error(t, c.Set("int", "abc")) + require.NoError(t, c.Set("obj.string", "abc")) require.Equal(t, "abc", c.Get("string")) + require.Equal(t, "abc", c.Get("obj.string")) + // Set string with int + require.EqualError(t, c.Set("string", 123), "invalid type for key 'string': invalid conversion, got int but want string") + require.EqualError(t, c.Set("obj.string", 123), "invalid type for key 'obj.string': invalid conversion, got int but want string") - json1 := []byte(`{"string":"abc","int":123,"obj":{"string":"abc","int":123}}`) - require.NoError(t, json.Unmarshal(json1, &c)) - require.Equal(t, "abc", c.Get("string")) + // Set int + require.NoError(t, c.Set("int", 123)) + require.NoError(t, c.Set("obj.int", 123)) require.Equal(t, 123, c.Get("int")) + require.Equal(t, 123, c.Get("obj.int")) + // Set int with string + require.EqualError(t, c.Set("int", "abc"), "invalid type for key 'int': invalid conversion, got string but want int") + require.EqualError(t, c.Set("obj.int", "abc"), "invalid type for key 'obj.int': invalid conversion, got string but want int") + + // Set uint + require.NoError(t, c.Set("uint", uint(234))) + require.NoError(t, c.Set("obj.uint", uint(234))) + require.Equal(t, uint(234), c.Get("uint")) + require.Equal(t, uint(234), c.Get("obj.uint")) + // Set uint using int + require.NoError(t, c.Set("uint", 345)) + require.NoError(t, c.Set("obj.uint", 345)) + require.Equal(t, uint(345), c.Get("uint")) + require.Equal(t, uint(345), c.Get("obj.uint")) + // Set uint using float + require.NoError(t, c.Set("uint", 456.0)) + require.NoError(t, c.Set("obj.uint", 456.0)) + require.Equal(t, uint(456), c.Get("uint")) + require.Equal(t, uint(456), c.Get("obj.uint")) + // Set uint using string + require.EqualError(t, c.Set("uint", "567"), "invalid type for key 'uint': invalid conversion, got string but want uint") + require.EqualError(t, c.Set("obj.uint", "567"), "invalid type for key 'obj.uint': invalid conversion, got string but want uint") + require.Equal(t, uint(456), c.Get("uint")) + require.Equal(t, uint(456), c.Get("obj.uint")) + + json1 := []byte(`{"string":"abcd","int":1234,"obj":{"string":"abcd","int":1234}}`) + require.NoError(t, json.Unmarshal(json1, &c)) + require.Equal(t, "abcd", c.Get("string")) + require.Equal(t, 1234, c.Get("int")) + require.Equal(t, "abcd", c.Get("obj.string")) + require.Equal(t, 1234, c.Get("obj.int")) json2 := []byte(`{"string":123,"int":123,"obj":{"string":"abc","int":123}}`) - require.Error(t, json.Unmarshal(json2, &c)) + require.EqualError(t, json.Unmarshal(json2, &c), "invalid type for key 'string': invalid conversion, got float64 but want string") json3 := []byte(`{"string":"avc","int":123,"obj":{"string":123,"int":123}}`) - require.Error(t, json.Unmarshal(json3, &c)) + require.EqualError(t, json.Unmarshal(json3, &c), "invalid type for key 'obj.string': invalid conversion, got float64 but want string") } From e7e11dc509e8a013fe1e54f8f3c5cc7debdf0fc4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 16:30:40 +0200 Subject: [PATCH 193/361] [skip-changelog] Bump golang.org/x/net from 0.20.0 to 0.23.0 (#2583) * Bump golang.org/x/net from 0.20.0 to 0.23.0 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.20.0 to 0.23.0. - [Commits](https://github.com/golang/net/compare/v0.20.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/crypto/argon2.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/blake2b.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/blowfish.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/cast5.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/curve25519.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +++--- .../golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/context.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/internal/socks.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/internal/timeseries.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +++--- go.mod | 4 ++-- go.sum | 8 ++++---- 18 files changed, 54 insertions(+), 54 deletions(-) diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 7ef411f9ac3..70e763cf6f0 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.18.0 +version: v0.21.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: other licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index 08f52178da8..a14bb4cdd7f 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.18.0 +version: v0.21.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: other licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 449f8662e26..3a2b36d4834 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.18.0 +version: v0.21.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index bcdeb0258c5..04ad057a302 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.18.0 +version: v0.21.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 9565db0c7ba..85e104a9271 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.18.0 +version: v0.21.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index 4c7e66e5f22..8b5ba7e34f4 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.18.0 +version: v0.21.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index b2e4ec28be9..a566b1e0967 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.18.0 +version: v0.21.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index b4f34666345..b002052086f 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.18.0 +version: v0.21.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index e62bee50fef..a3246603198 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.18.0 +version: v0.21.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index c8144dfae74..2bcd466e743 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.18.0 +version: v0.21.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.18.0/LICENSE +- sources: crypto@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.18.0/PATENTS +- sources: crypto@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index 3a5b464d516..ef0ab89847f 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.20.0 +version: v0.23.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.20.0/LICENSE +- sources: net@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.20.0/PATENTS +- sources: net@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 7337b512f68..79cad6638fd 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.20.0 +version: v0.23.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.20.0/LICENSE +- sources: net@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.20.0/PATENTS +- sources: net@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index c077601437b..80781a17411 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.20.0 +version: v0.23.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.20.0/LICENSE +- sources: net@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.20.0/PATENTS +- sources: net@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index a612a9726b0..25b0bc46372 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.20.0 +version: v0.23.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.20.0/LICENSE +- sources: net@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.20.0/PATENTS +- sources: net@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index 483ff3635fc..b2906705fed 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.20.0 +version: v0.23.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.20.0/LICENSE +- sources: net@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.20.0/PATENTS +- sources: net@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 7d486480832..6286e35273b 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.20.0 +version: v0.23.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.20.0/LICENSE +- sources: net@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.20.0/PATENTS +- sources: net@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 456892b5006..907122cb85a 100644 --- a/go.mod +++ b/go.mod @@ -95,10 +95,10 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.18.0 // indirect + golang.org/x/crypto v0.21.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.20.0 // indirect + golang.org/x/net v0.23.0 // indirect golang.org/x/sys v0.18.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 22de80e17f5..db70e61d63a 100644 --- a/go.sum +++ b/go.sum @@ -231,8 +231,8 @@ golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= -golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= @@ -240,8 +240,8 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= -golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= From 90b5d2b60419ecc9ba7ecb0c8ea6b0627ed3cdec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 16:50:27 +0200 Subject: [PATCH 194/361] [skip-changelog] Bump golang.org/x/term from 0.18.0 to 0.20.0 (#2591) * Bump golang.org/x/term from 0.18.0 to 0.20.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.18.0 to 0.20.0. - [Commits](https://github.com/golang/term/compare/v0.18.0...v0.20.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 97906ed2cfb..d96bc981bfa 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.18.0 +version: v0.20.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.18.0/LICENSE +- sources: sys@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.18.0/PATENTS +- sources: sys@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 923a8975f27..8c6dd955b88 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.18.0 +version: v0.20.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.18.0/LICENSE +- sources: sys@v0.20.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.18.0/PATENTS +- sources: sys@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 951476d3e17..1e692160978 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.18.0 +version: v0.20.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 907122cb85a..cffa2f341b3 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/downloader/v2 v2.1.1 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.18.0 + golang.org/x/term v0.20.0 golang.org/x/text v0.14.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 google.golang.org/grpc v1.62.1 @@ -99,7 +99,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.12.0 // indirect golang.org/x/net v0.23.0 // indirect - golang.org/x/sys v0.18.0 // indirect + golang.org/x/sys v0.20.0 // indirect golang.org/x/tools v0.13.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index db70e61d63a..4341f082cfa 100644 --- a/go.sum +++ b/go.sum @@ -261,11 +261,11 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= From 98d1a7ae6b65950bb57f4635f2a2f83fc7bdb9d1 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 15 May 2024 16:53:23 +0200 Subject: [PATCH 195/361] Updated documentation about `arduino-cli` integration options. (#2605) * Fixed some examples * Added example of integration by embedding golang --- .../CLI_Go_library_interface_screenshot.png | Bin 90520 -> 0 bytes docs/img/CLI_JSON_output_screenshot.png | Bin 171155 -> 0 bytes .../CLI_configuration_methods_screenshot.png | Bin 178654 -> 0 bytes docs/img/CLI_gRPC_interface_screenshot.png | Bin 77234 -> 0 bytes docs/integration-options.md | 248 ++++++++++++++++-- rpc/internal/get_version_example/main.go | 50 ++++ rpc/internal/list_cores_example/main.go | 71 +++++ 7 files changed, 351 insertions(+), 18 deletions(-) delete mode 100644 docs/img/CLI_Go_library_interface_screenshot.png delete mode 100644 docs/img/CLI_JSON_output_screenshot.png delete mode 100644 docs/img/CLI_configuration_methods_screenshot.png delete mode 100644 docs/img/CLI_gRPC_interface_screenshot.png create mode 100644 rpc/internal/get_version_example/main.go create mode 100644 rpc/internal/list_cores_example/main.go diff --git a/docs/img/CLI_Go_library_interface_screenshot.png b/docs/img/CLI_Go_library_interface_screenshot.png deleted file mode 100644 index 6fc6787a8888f7ba0eeb59b568d0e7620e680073..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90520 zcmcG$2{@Gh-!I-!NS0(9duSosjD3rerDO?_EryXTlCA7U5}L8K*`hL8vTq^8gc-^f zvSrJRNR%e~em=MQeSgn6|K~i<^}o(JuB$FHbI*N$KJV@IdcWTHE%uU;9y22^<Gy|S zm@k~yHr=<676JZQG0=f`J}!>L?%Q{C-v#Znmjj;8kFDFA-Ok#j?ud&%@NH^1cqhx@ zAok9edohPjiETbP@A<mOqM+tesQqD+QSa+T=DAhUMWR3TIWHAjc)n>LP3;<0`w_DF zcA~YuQM2XlU5}IRFBpj|2xV%Xp}9My-Hq+`8Fy>^CABq7T^x*oe%kaNY3$yf7RVOb z7a6tpM!5JGeHafyzfnvZ`k8v#JNDd_Ahtcl&IW#xHtBT0i(~XzXnVWkBH%~JbYn~A z@LO{je(B*W`RobI-nVS@pM{^2Lec8Zo{V?Ug5KIOm|Yw`!^|@by>~xp@4X14*+o=1 z3(qhOc<<hez4yG-vb)o_g`Lz{;Mva@NcZLSx~~d@>jV{uhc*!NsD^Dd0to$GvX@z@ z*tYXYXbEnQG`vF6?~q);8f19I-eoPNW1+n~%3fM`eZD{L3b>?w*Rw30S*88ZCJrc) zaKUV%;;2VEQIBw3*{mLcS5H8fxF{Z)$r<2)Us|uP6Q;<6&yR=jNa+g|erTk|Le{FP zR&#%((S7^4BR?IkmvwxkrwIWqP9*R^*hjI@odrop59os-o5`j#dmmgoVDwRJjCMtf zbPDw-EOAFb>I45by@sREm+S-hnx;Ju@kGNGtL|boTkltodqj7KorBE9vfplL?Mlbm z#g=-!U;UbKr5K;Me&dV1RUp4oNScnivoV2suL4XotV7trM?HJqs}A8-`ar^&vMm}N zC1FeOL@%wcizR#C;@djr5h5TL0Y_>ur<{r9dKPuR*XuI04xfaCrW2POr;853C!(>> z_G1&q&qQl9Ld(!TvR~^<8=t(FeOth3R0y~9Z*8pU3t-?>=yLpKr#v3r=LwI4m(bz7 z$ixa)s(Ins_c;Gwa?p8YXI3Lb&wUJ#aN0sT)*nIaa7YX4VH3^)KPW?fu=*W1v?l3H zBj@DA3J+)CPRJr+Uy%Ei22)G+Hp8Zg<$n`N+D@U~Xj}6q1Sr|n!=+{E51qRUKK>>} z#+N2ZIM)lv>g(Y=U=-s?5xvTQ;}%X~a<4PiMWGA4Is3jXNy>FJhUfS>k{1mr7%y$d zz|D#$roRwb?!5J7Ne5cygQP2Xy_`I%ymLLLtUituz=6<@tF7UX9*^hZ5h2cbb(lex zh`g&+ChGDjK+f5gm1mbP&RY%j2=1RGVOuXCS+0A(cbDNXxFoZpEGe!!lJrcAbcKy# zL0D6@n_}Ru#uJH_)N4=YH3K7{t&M(ZZ}V1hpNi)h)*@+&kiKG)H0@p{)VA?R|J22{ zzstIrSedDA46Z7lCnl)wLl?(~q`0*OsPa;N#CVINLU?2}Sh-d15Dz6~ebd}`vf&um zhpFzq1BtmNqAIRir<@*P;qPJiPmho)O~i+;-b$AByeIW{BcT*qs`}+P)y5|8(}F7y z28YNJX--^f)-kQD;gJ}Re-Qd3^SYa+9yoAna7uZGdTYK$K;b9JVBcMw2#mr_CA-xq z^LTn6w;qk><hi3g8?FrPXk4*;e?qzm#i*l3_7qs^8oEW98E#L)O5mk4?_&FUxVW>3 zW0px$2Jzu%!MU}I6UF^T<9LnHqzn_D_req>d6JL_$$=1{W;e>?pCoFl9?Nwll2~-f zn-W*EI%EZT%7<W6CaU6L%fNdDP2v_7^^_-VvZ0kwG>Ue%2f2;2h!+Y2c*Qd7RnilV z0AH9anh5PrXemwNmH$b?NeHulW1|2|pR}tNkbVGGgQ6l#)r0%OjKFf_&j%_6jmGj` ziPSai2vBpXKa8|H2q%(tn)0xZW*vXt!%Fm!^$P<8#eOyhuJW(rz@A+%QE#o)a4NFg zA!Vd^t2rGrka#G|i+5_VJb;rS6UW5S`ccr=?DA@aMCw?d?G*&>04|N<=r}zj1)oUu z(@&KVofZhkaogX;j`WB)+$Hv3qDmSVLB%%d;wY=Ym1f;uhBzi9r6Q3U8RM;j+Cth* zF>=4^5s|XwkG^l~P(GLFHLo6UAFQXXAjIEJ^vXA7Rz9UWy80afa9NP;inOE!iq3~T z?9)lIPvsCR*KHA<o>Et}3y_C}IGB##CX*gN_df1C#l$0yNAB<=We?yMD8!yT?AXmR zq+v&oE4HAAtZZqE<*>g;imzga+y{G?>@XEHT608Rx&;?!!lT#MK7S8~#UmSV@MKyN zA717s35yp;cj;cW<?&8Z{Y)0Ko~OrFT2hZ0&A)wBEwonweQ&fTV!cI=yL-^bZKrrE zo}vuI;3|6H^kyH_6X4x?4&zkk`t!r5hUcgvNL&7dsv0h-2WTC~r{}{We|oLPdTu5_ zmU`cGWd>X?Uc#HA?rw|ad4-pa*V2uR@opfNyRcC}P>I_;HRM?|tpVSU*Ry=ta{uLd zs>3A@&(pe)6_P`E4UUj?^*<>Kz3`TCuIG_8&3zOo;plV_K0NTYhE3*1T&=S8(*@m{ z^Ko1*@5qSDqfG48yKF;HmMlH_WqSC{5v5yr(%Fy7Sf1PGNIj0>D!S;=SooX4W@RSm z9BuqEnYh{jUg=wS9rx1nOq{nxoG!MT413&Afl~6Nm`b<jXspnC2a4{;^Qq3$K5YRY zlFql(C_V1z#84*!l4P%TSkzb=v-?U}zof%XUGf$-7~P3>Sa1M&kwuuw7JG0+*$A(z z|FPz<+(2J@;W^#j%JO~p;ng%GP??G1XggMJmmacvp>iz88yY7wIbgS*5yRqrKD<iB zx^XQjRExG6wd@XiQGlbOSL%oO{L46Hrq5kJlw72J>jsOqKUCh>dTd11l<2{Ge#%81 z?w+`~9=Me#X%I%~3@BrOr;>?1*2&X&7i3+%DV25)h1=5gB?>$fNHvJ;j{X?$fU=7+ zIyiHJ7}CEZJHT7^n#UKB?S!;}Q(*|`{A}w@dJ==GSEm*{^iyBPnA|*-x&@=qQym++ zj!T@hq0&NF7SqNp+v;pnm_V(LNji;sWW7o*3UJfdP!Yj5b803+N5q5(%c_pLCpC_; z;g^CSD@afs(FIPo2kMwc9Smk8_YP`H_V{sm`g<+h#YQq%#?h7m{>(t&p@iN1jU<my zVf}2@y(ks2FAo(q;I6V>IqDdKeB1$Q2zrS)Udw$2Y&Q?Pu5k5{2IkL2-M+j=kEWSU zA9EbFW)<xd!#%`!hb|Gv{AJ<?>TCF9nBY(y<Mr^ky3fqL<-9e!Xy0YoD|!x+G^9Da z%n=H4@*5UQb*#Vts+WGx-bpe%-H~Ila6LStSR1FL=fJ-ow}qF<EDrV-l*yGMUz>Sn zc3<cWh#_t5hRVe+uV8Gx*48a;Wr8GnJYr$3{Tud^zf5sUdso%Ne;-%z<7GP=Wi|+I zAKx@|5H6F@uqI{)M?fc$AA)yBa$>=IP3IZmS9I;wGgPNTT9LEVa{Q0G<bSQ|hpXD8 zPmA(cs=>WiPCju>L%{iej&-Q_(7Z`A!rI1%aGRt#p`DKuHjS&i`EGGRNrZvY$87pg zJv`){XyoCi$WN%dzr6$@i~K%K2`uGjqZGVyD#kSd<gn7SSGTTQ2&(s(n2>Hii#Vax za@J5JbNU+jS=9QPi-Shyv<vz93ASOjto8|+V86qkHQ@Jii$ucIxbIJNMUgKQ#8m0L zYZLssK{+(Af0DIb3o#YIf6vaa<zqoCgQ{S(rsN@=Qr&f>KS9^Evi;+?HjX>z!Fwbl z#g5RXvO#W&N3T@rS8>aXtO%{H?Su0Pe{r)rv14w#uOrQI(w=xA;6ZW(lC4({O>({S z>!o>1qqNRGdp+y5!E6R~H_oIVT7LU;S%`_0vcsyn=jvaT9reSJ5-HvcMm+gze0y;m zf*#qS91(T?!qwh;`^4f8F<djo<i-+lI4krvnb?PUAAh(fJ=u*@n)dYjZtW*`#jg$H zBR|&JS289?WLDm9Gq|<0c1PhXyjRc#9K)<4i2c&@p>dC!wQb^N-ev0I#;~@h)EOy3 zgf_$mxvQ4@Hu>81Ib?#}*2*I`MLoMh4(>0{PxP#>ZYmE=w_#s1R7&}1xc`oR>;QeJ z>v$u+N$5$G*p4&gC6R@Z&p{nUG2XXN<4W`#KzTIQwI98@DtogUX+tgdf3^vGC@B40 zNwYn$9<Jx`TUJ1N-k6W=Ztf9Xdt8vUPV}M8NIg2?^G)9_?ur@kbFV<fo0-ODRiJ_g zS#|5AZ}4ecvaW+I6MUB^wCuFM$C>*2gK#}+dG^=55t*&K=M{FWQe;$6;Qs__l6&2R zS4hxd;PF!`D9G>B*%cxCo1{xjZ_~t7P{7yPH|YkOpfq~>qpFhMUl8flmHR^v_v4k* z4uX;5O$Z2Hy7uK0GMMVf1YZmo9`$MY!JP@)<KGdkzU^!UG003AwRreRv-ew09Dtk* z+0@Gne#34@Z4Q{V(iI0M9g)f0Z(v=6$qnqyO+4M%u9g2#+{xHBMQg>cF^1!$S=&p= zFG_~O*Jn6nf%&rD5ds7y6&&e`qstT?8+^DEmZ0n4Avt~f2;#S)kZ<6K)0N!#VXI0n z2|LAw)AK#pa4oXPPB<s`b3>BO)^06F1TFSXMp&a};e(o(Mzs7+spMs<5@bZSz=`R% z(E@t744v&vgX6x}I7oeNPJ#z;5`C@waSZ{o{v8}LMfU=b2Rg=^hd#|)5u7gYN6mJ& zYv<g({>~}xfg<CgU!%l`SgR^?ie{xR-?hEvI+`syn6<#W6XIstdk31&r|VDu7Q-3z zwawGv)cRU&?KVXmmWVx{kc&E-Rpe`w%yWW5`_SXIZAWfNI}N8NM@e3hc2fCV!<YKw zkd?-mjL7vzORd~bRXNUmrW_sRzqYCM<VP99z|9|rz!rK?W!~Mwb!-$@lg8~=PDZ*8 zqn3v#@8!#H(>N~?L%yfr{bih~B6@_F??;_<VqE)<k=^XLpjZg!n#L>19P&)lzQA2t zxe@mMtg8(N?&PM<)-7p{#*9P6zHJef5X9x)w)Qjc@R0~7E3rGD(a0rt5vU*}t|)Ig zxG~(h8nZ{x7(+;lUn1DhUZ?j0MU9aXNEouNm!W*a_Ps(Yl8JBx->vHRL5P=8hu}i5 zNNeX`Hy_x1&}jd_;dVK7_U!o!OIy?f3G(wsTu+gY4y{0mPWOtrZo~jak#~G*aQq>f zgEZ_IW(6Rruk{$NLD{-y!S#E}de-(%PjX~AJrm^5q(-^@9cK$n;ASo7Q}ms^&Nfz< z!0io0gIjI-TBig<y=&)E;sUH1v46rfvVG&K=PgmvY_XG1LQ{YPZ>kH7@^0XLCOEy# zsv|CWxsF9FY#(%Hw)NhPtMnZry5t}@tFFV;km;}ljMBA)OvlSO!zg}B#CJ`h!Dg)+ zl&HVwPC%kML`glDWyKF|{D^O=S81$PU=(eYm%RX^Y|f&m)e-_#H+()iE?pbz+Wt4l z+?d&c;Ss&L4^()gcxpsbWpa~-nc!Z=LJw;LCdR*EJEJy@$k%?vTM+*Rv(|NZ^PrX? z%a1Z3e)+KL*+!xdIS}QBLW|^Y*rEUj0+h==D6~3jRXltG>=VtKIuE0~Cx@o1C8V}u zv3QwhHzsn|U=WaLPhA8rW`2ux5Mq+bMN=<g*WYp?8qzeJ8v-T*9vctq*;g%~|D5vq z;_OPO<#i=Tb)F~{v?3!q7}=<ln`E^gH#%qk(nyF;dBaf<ky#wN?zgE?I6RQ`&n2!` zy{=JUMEgp0q+`708AWI0WyR-EPw8;oxe4zP8^H1kHmj%pv3y!laE3O{1&`1-7JbN% zV5v4<aotE+CWlh`&v@Fc61%>&6JDYJvIHDp1tN|w<C@^K&R@iE%Z_2IIY}4BjfSlV zVy8np#`oM?IR3ftpVbspE4C{#iuzx?W^X9^PyzMyYJKm+S#-RfeIfTxK3eB~F1o$w zVwNtbl2?OAseI`b!|C<4+1BS}PhqIj8{E}k+437r7$_C8-Z}R_abDMRm`c+<(X0yZ zrX_W4aQA(~nnU>L82kf^w6pLW$N&5CiVL#|aGrst^8!&wR`{X`{M8)F3ABMl;Yqv* zQ$2f&8=s5*Ia)&L$BG9B=^-X5SOE7DL+#z*7UwSUQw;4G@V5s=3xR?-m20Wh8@K9a z6S&P_ly@j^Dg|pDgciW*5ZY=n6O$Xs-BJUMppIv|^-2E|NA901+kuTqi@|RO-zi(S zEm#qhZFaK=OUT8Z<ea#_=Cw^z{8<i<qDH$p6&FW(OQ86rzTCdHjs5iFp#Z4HRsQ8~ zd$|AFOVN<;_OL*dcWrh#7MN?yDDaCa{5IEbHD<Um_pgx=jle<SRv2Yv2}$|Zo^#c* z%pvz5s#G*oTA_(jTuAcdO${Vi0>@Xe=*CBF3DV=T=In9U)gQQj?-hJ;%mhwx+`(AW zQxK^7dd$S|2De*X!Udc9iArzoCtgD@{;^=Y()>;3I1dmTFUQ(O>jiP6ht?B9ym=PZ znrXsp<^VL;dujaJnd|oixbTRd($lwZ3*f4`f43h&m~#KR_;v?t+t>P}WTN=rCm!@# z{VXr*G8pOYFWl$>6P;mkTH*RtSGAM9OMYyclfa{AuVK~tH%h)f^dH&Ob2w%wI@g$& z?J|cNwP{=UZsf#5OUf2#8}IO{5J2=6?~+|Noo?qO955vqa5z%yp0}PyYExUu6717T zsP5eznNKg?-Ph!T;;uSMhfsrv>*%@l;l@=~k~*p*Cn>O&Jyj1T+Da2vJ<tfxP4K+# ztsLqx{Mi!}98+czriTNkw@t<0*JRl{!~62rBmBmqa&)-600)aAsl7%{;|JlaT))(8 zcFFVP$J6+K$oP|@u@i2*sno0|K82Cqm5CE2w4@#ur=K!kl1q1p0n`t1;|EhpF87t% z!xJtx$#13SGmhoINfAGma>JOt+1o^{$vFSiRzkjDf_Zix=Yyh#?hpt0Ooqi@tmdcf z@=pDVeXcO3h(P&7iEY(gic28+HHWqcE1xiEV%1XF(KAm-&S&)CB56sbZ8Lc@R57Zo z8JjcjoXaE0p2fQ4%U+HVHC*kv&$fm~FgNCX|7D%0osNK&WgT6A;|eSNvZdm&-5&m8 z<=0us+AU_q-Suv<wO^rqp*bbi@%_d@rHj=Qr9ZsFo42~VkE$XE$eSLUUrStJA8C#r zGq|?wTebcBiow+?__NW*Xo1}|A<6KYLd|lf9J}<8P}MeJb)Z96ocr~o1{U29T45K| zk^=b=8p9DCuMcdQ4mJ*fYRZsORL;NO{#DMTl6j=Cb&Ig2<V%XCxk3yZ^T~1c7E6!A zt&R`iSa~GV!XfcB!+uPx<L-q`5hN$HnTQm|B6tLkqk0ts+ORsE-k|t!T)3I}aw}Gq zLD=yy%RzRe+4(bR@O!CRG-0OZ4pAu%wZ{0ocQW~^pBO}uy11s}?|#+9!PtfAC~q#s zD>~4Wx12XPjP4QcXmW7KnwrTvK&bhw@5Etz?hvN1*Kz7{S95K$X4+4)a({MGzl8`= zf*DVmLCyZKvGiNNUa;`k#C8gS8fXZJxVvP+5PONz>{a6UZr%6(ZY0!XO)Y?6ac6+5 z^|ie$jHEgVH&)*kS#&4Vl+&gXX~M(@!@X}(^#N6Q3iCBgaoDhwqI+R%9(P+OZmi@@ zNm``2R?aL%$eeRXEdF(HIGVtLZSKj<uZrOgUSSBVIc6Xi8gecrYP%_*uhq)&SQz(G z4#r9(hw>_)DNDJ<@0pvU`c6)M#oAL*seKPf&PQ)t7O~#ff{SU5d1^4fKC%0HQ$dB( zw`}g&ZskUO1xDPinzTfniaJ!fvn)Z}JqvZSzi+n>+;|O-@~+7!e>nH9raW<CETgTS z7xB~c#k>=}EH_B=+MR2&xi(HJ3=O7+&1W6%5NCeoIis<Ov?iYL;UUqf$v2lG?9G|i zu70H4KAX_#rEBS^18Y1K)NzD;euoK7*wQhN1fQn}lWfLj&IvPvyjZKt?^=@Ed3j24 zY^NfhQRtxCw!J9JJI%|>IT)2w2C|`JXG{mjEBC=OQ}5@sC|B-_!6h{P>bP9FFK4Vp z_CB_BX+_FocXPt9uf=*_jPN<BhU5xNDx&e-lDFMe&Z^z*g@1b}tX5~hA3@9gyY4M} zDxZz`MMik=ASS6isytUMQN^0Du(6R`R8H4n;_!etBbcXe0IM)-Bcjd4NwGZ)?93-; zry~FaFZ#>T^3Xb$CEmN*q`Z}vPe4?>7C){fvUBQ_V{yt|G33yauiD)m%&eI?<s3cC z_e=_=q*K>pbW#kZ)pR+=i1(gA;|?wH`V~?404AWGl+SdQ@to?SIbm<_vY}j3%s8^U z*~s~?JmaBpE}#csY1`)Ia#FSqEV_mZHv*%?Nj<uHmEg6wAv3oLpqU4;dRHYUp_zz+ zY`nU^IqNse3;6XYkG>yeS(rw~*Fz_!(==AK$Q<QKjtosil==~UZ)-8cSc6X6JI;P4 zY{|MsN^E+QWM8X=S=(I(thf_4$`2|_u05*omp)vGR9|P*>h5+Um%Ul}HBsw*cXea9 zo(&p&0QnPBbH3nN^Ip;S0i4joGk1P12$3l@m3&R&nlX)T>~%nt30@5FIZzx18bj)J z8!+qU{g@NN>{eR)R}QYPRpgT@g9l9<jtJ)KCyMH#3*k{%Ew(Uo1<RI}O|APxk(~>U zg*r=2qfwIfI4C$i9>fdhGap*o&B{Mprp!O<sH}Jp{i`4!b~XP^&O(ov`>!i6xE_<w zJKbl?X?0*qIgf;EGJIXrS72r*S~?wMOOe5m*tof=YK$psOFgbT;k&Fl&q8nx;-W~0 zFxsl^A6~Ao!x{1&<lv~*yAGS-yGqVQ_K`Iv&1{bkd)CJ75#XuJgh7v_Di#t+D+~>Y zL|e(!Yn0O=xSoyJ2qRoiEs-ZTVR$UUfV{!2LOcB&0pq^=YE8)ebgj9s)Ii>`SYfDg zhnw|JUNNWD;Lbr6Bu4T%<3+Pn8L(0E>TDmN?P$KrFSTxy9dn*jMa<px*s?N@<UlgH zBN?Q$1R*F`xFfh~?)wq!m-WTCe6|5cG^#EUt6AXwYe7pv<47-LhT~dUv%&5}hNs*) zWSM;4ElTH;?&%Q~HHst(gx`s`6EVx0yLaF2Zg4AZw>FCAI!fQ#eYP8k8<s0<us8Bo zQC!)^aqSZd3+`VE+@n27!5VfII=@xH9+N!XZ<VvB9vZxp<STKlWIwLJM(pBvgvX}F z2n<cxkny26z$WIdz58~G@;M#p_=udaH%$y_zCrM)WJipwzHeYp#TPxI)j)OJKI+SX zP`rJVuLd(QzabNeM3Hsa05-s-?m5<okueAu*y=H_Bm;=VN0exy3QOqG*M%D^GTJ(5 zoq=EigCl(GXm!b4AAU-I*$wD)wqm(+hA}0$iGS;=c{F5{$L_qnEeN6z_g=r#)p}jA zy)<#+ZPBB*K~nIE{T(y6Xi0rikFq7dBunhE%orLXIOrmvig87c;%0VX0*Fkn7xN+X zvcYrqPYTCh{zHu}T6jHZNSt_Q<m7WBTQZ!Ga&@v-h(@<qpzUA!Sq%rm=$6Q00Va?g z`GA%b0&6V7P)Q1?(UAxb3EF!Qsil)@#|(cTFmkf1<HBWNRBmo$vC`^JV=YxbYYo2^ zXj7E?!+k#@_jfoa-xjH;dt9C@?aXrthW2M`4~?fKjdOkIx^>j1-W~rB&y=!zZ30-% zgKASnx(*E`8Ru8p1m!w9+(j6Lq$8Q(`Jz6gnFWhM8VUXFdQcSs{knbfvWpnxL~O^n z#fP7^9lc|ivS2CrGrA6{Od$=aM@KSyKd#P3?C*jQ<(!Dj8`<+>DE_M*y+ibNhv1Y9 zTW0v8K$|U4gQOkZWKbR4zy2OwieycR0F=Q;3Xa8E)v_U`)so&ELC{v4-r@)UUwU#F z5uA{*48doV>|e|90h0H_8u9x84!BEzt|L8$+KBNEU~4~DZrkER{lNV11~cF*U8=Nm zVA~{7a{Cl&-mb+o2jlI>3_nNU_me|a$^Nn7r3#jmq8oG_XQN?gFNte!Xh_qlaIXV6 zVY~XnhzBx`ZbMqBe;eIS@?*ZjD$^%^$cw3<<uY>e3MDYr$7DBS%DmYw{%r+xZ-I}9 zlJs;P7_1db6J~w12s2zWlemZ(u5Ues^0?aa;P2_;iZDC@$o9wSw`_o6?Fb&DzHObD zvIZ_38P*r{yS@)oRvVK|4?~Y?4Z{&6skI?X%)Y<(0z3leZ@vCEqykduI|x`SURqKB z@*<i58c-1%!cbjGb|3*RO4@|^o<h)&YW{6PG+1>?_5@wWt9>jf5rY`3#<_h1KVALd z2+%Q<@*#wfe@v6O-gcIdV&BngK`0#Sac6{MiyrYHe$sd3OAWx#^>j>seWDf&))?EN zj<WD{Agmoj;RZ20a0J&N=5I%SR33q%v+L*uo5%oZPz=Iv2DT{v=iBFx+@_s26NgnK zz$kAqR&OHyTBl1-LJ0-@$pkN<$IXg7>7{ih-plyYn~BJE(Lk??>499u1P5QfF%#Cv zm~yU3J4B-6^44>|9PRThuE<aL1rx+^q3&n5Mb)(~Z>{bLIJ4@^@Men-OmH*8JW#1` z5ug^?l^}ngSN>q?eW6G3Oza1?q`x6eVwS&cZp|8Bp}wO(#IYL+C1#rfSp4^*&KvX{ zV9*u8gOK_$vvm|z<-?e2or&Sm6s8Z~-F(Kz$Ng$;VNWM4E)zi5aI&U6S@De!LfF_O z9MC3A#q|88Ml3IezOPIiINik<wWegw$-=-6m8LKYbB7m+j<wx@#TIhNQqP#*0Y&Sk zVM+uCvV*)?FX8^N;8Zg}zi({Q4)MyP<dth$bj1hdE}e|mD#>Ts#pmlKyGw(bu8Vz< z)2jRtVRCbJb?kMpgtUD_-dcJBv=Q5xADH3KK{%MG7r|rYGed{2ci|Z3)e$|%oJ0&* z(R56+i8Ss^Nq&dlGyBW_0Wb0~x=iO%lsR(m(%71GBE~dKaKv4c+0x4&Ma*!7TrI9J zGlioUV-RC5sfiJQqEGTUsLB!<T4GLpVtmh)pcBuQGE!ZFUVP$zzj1xfl>Sd(6{#?a z386A$=>kF0?sd-$?4gvd<EM0!#AC?)=oYc9e0Rjy47a(!z(KTu5TBmE=>)EczpU&m zVO2}~)**_4kPN%*FXP87X)sZx=_!VkXJJ7R2^vB6R3#y(vcKtqBd}LImkhxr_(Nb7 zZ@!)<(Bmv{gqtRwY313RqQB~%>&3X%K!%o&!5iAMi_<}j)yk0uSg(QIIZLOlVyyw% z^5L8`4Z9OgU$XO?Cee>XQ9E;uVWc|;REZNI5DZPJdL8JPej@61mhg0~w}f`OIcK?C zkm=`sgFI!9tj~uLi%~n6*id#}66Q_usVW}C4E_ENwE3&%Rxv%o(uzjYZ%!;{_#(9E zq&W=_>xBu};t5AOdxFPOD53DM+^;j{j?00sU={5iszV$|7C@$7#!epYKdXGopgc`$ z<-FMIHC}NT`?9l>%YFFF%EJ2k@I&RGB@Ee11CV+VpNyB7;Wi8p2TaZ!*IJTK2dFs0 zl<90`-krQBf{0z=%XowHTA;b&Ym&58IP~Pb7Z+8Ay|V4FXsJ;fNz+`lKxeCqM)xxP z<m*eZfbX{4rx9sEC5Lyfjt^3XD_Z~YDHA-E#u?0<U_uB$U~KM|LCq@YQ!J&N&R)LA zn!@QwCwMS>E&5Wz^(LkQ;@WF1S?INnd9=|Bj%>#V#2==#IkxbK+<aN!{hQbMzNQS_ z-1;gLnxgFX^rAg9P}TlmCW5*ps7{3H7RH_qR~Kf||3ZuZ)fy$yy_uw-?7xvmPS_jZ z*@_wy_)!D|ibevJm36M{#+d$Hy_i2Lg2;n-7$qAsT(ztGw-7luFr<Kqu^eiAWsk&) z{60X3Yozbk`0=OeWGV5}?Y;O@>63O*gtdzVkFoYYNBcB^LSLH<`@?|2$O_cQ6JK2W zM5)W%#{-75&)Iv4k}3Vt;R!rCvF8POPHdt@A>S-Gf(35rcBR0VmKC)w(>sjZJLo#B zGCaM_@>8m%Y+L8N!DUftBTSwkxwktO%l>h2B&L2;IlWrOIx$wpxcg2XOVjej#Y^@X zS!=#~MTd?FPKTRF<V7TRCx3}tl^xwt+1o)Dfe1?S8nX+`chma7Mi5^SJU1~kFo>&* zKO=%(DgWkACuCJ2UqV;ByS$fN$g`;=2gSyQl4@$_`S{71KYH61H|;$bMM<{Oq$ae8 z2Kd<UqHpPqe&zJlx?A4TTvBb78(Yb_E)H`W)R=ga$@Nv{wMsYsd(7<AT0O6_apEw8 zL8w0?i##{j>Eu$<Y>Lf;!vC;r1A;dP;*g&;(C|m=O(TB4!5__!{OF%c_mIRYH`Z;n zr^hDkLMEe$$76c>v$Zbs<%B)%5Ikria5q{h|I%gUQ9sQ+51D-VbC?ZG?(rU|EGh2A zLVPZaore?GFs^GLpKbw7__ZS<fZGl#XVT&FShQU96b4GV&Kck^F)=7&_})Ea5AN+9 z;IqHuDVeP%Fq@{NcG+S?44SR{Sq)UuVrb}qarRumfq*0aMh)iOUmRpR!1OQ36hk3U zf52NC7WuD;VT1#}?dh*3guR85h~3Wkl4`clw{fo4Pw;D$J^Y$L|L@|ZLH%@l0j$FH z><RGOA>f-qna*>e{`bk<%ur?Ffvy=A`DcM$doRw#W8QaTiP;s$*UBzNccu5QxjLNC zUOrs0$@DIb^Ub$6SE7H`y|!GsLHE<P;LQ8^q@2zFE(|KT5lJTR0z&GzI@K7T_v<>^ zU69Q@U8r}?Gk;d&wYm7(iwfAa<L}!#Vwz?}`=F>`LoD};D}S_Q03Phq%R%3`Q2rlR z3~RL`T)yJ^>zoU1R+f2Ax93$&K@iv}8Vv!?id9}uQ5%*8aoYA?c%A<#INoC1te-?) z=bo_+F}jj`KbQ5pp^#>+dE{-r-p-$L`(^6<{^Z0y$UXb{gJBgu!<Ge@p26J7_uHy{ ztqER(S!I8weH?kfnJE}w@<+e)IW%t0rZ6Wl)XIHh$eqzjH8&Bm?SUhE*)C}>%O!B- z!wbU%ZBtVQt>$|m%7sr^M-{6nfRyI3_B{4M{{gkILa<h~U1zIXb<RZfB+ut1hDxEd z_$y;Uf5H~C=X@iBO3X@?TL9HE8bs>US5oQ?zJ~&Fi@DB|!_7gXZ!98?3pt^`D1Nw} zPJ&kKH-RjS4qPb}l*>ISz7q^BD#;fFRL65JcG2e`ic)z@{#HJpco1?tmqAkYTzYs1 zWO<D7C3I^}Y>iI?#}m9fln_%T(3a0$8$z%pH%by0^_T;E8d*-Vc4BndbJi$O-4b#8 zKM(Q$2U+v~^puMOJSrj_ARon2IJ{Oh<nA9yQkU)czPO;^-sAmd6#uLdBww+8TJGB7 zml8k!S2efa_DYmoKN=K(X9Phm9X|F`>LDnzW#oj3%>H)Y9#G4HcS8b$o;a4wfpkw7 z)axtfuUjoR)%V4`T2T1K&s|BChG@Cw=xCG?m4Rq)FCuar3FWb<ivbfT;llZmrJl|E zE9ali53I(<ahBa~b$XetJ5+yK+UN{GoZmi_!W(?^FyEVA!Yd1z<o;)qHwenXSHG^@ zIH&qE^h)f<(ie8yDnIEAJk1%oWI9Z@QoM8Atm2z7-e3JYKk82UCkTG_8%&4*NaF)X ztOu42RrntPC89ck`AS1{T~%Rw>-%$Z9N||p0ymxuMjbdPCUN1`+_sVS6vG};OfkY; z;E1a19BpVr=<=+$8@{7p=EHc9x#`Ds&VUk=x#eeHZxHq~f|2C?Cm9dDU%qZDD)Hw+ z>;!lWL6fFEe2iJd@Z3?5@agd_VHvx9z3kf<6O;oFhJpI6(rfLMCT%M3Uqc)`nZP7B zrg+Kr={}P&A;h7j*#N%+y0P2tr6KPvu?u~n)m)s{@P<OkkB?DiBZK-{Nf@hYAO0Yr zfytgCUP*6?%vZ3*8c<p6)CXS7*a@usO!1&{Pi)m&+N#>z5vue1R&N!Tz~$VumORmP zXTN&ANmO@2r}kj_#N_v=Hvu>CjBixR6vM~kJJ}13a2g?+>=U61tlf=XXS(02@(;-! zpdNI`ZdO(sp6l!7FSJU+{!~*4*vW&{RT;>SX$1MfyPl;*fy>l{H0+<Vh_6t70d{vc zBYks0NT@^?IMj#Kaz5y4T(y@~azfR#mU`%=gt`fftN`5y{fll3>%4i6<6?djug+>a zmCpL|8Y+KgHEdl~y8a8D%mTr|`lyLT>#sS%)1>%V(x83)x|KkGn<BP}b-ew|U<NOA zx~~^W*82@^S;&L%N_xcMSi4)r%>Hp)v2&@6ssUoZW^LG`pfxjtGw#{5E<LLYvZ}?8 zD4-_syQjKS>+arTCT{cxLI9w7YxWm0*70RdjYhtS*{idyUw!K5dnb36Plf!lyVoDe ze*jl8=>KJN^;&Y*cUIQP$#<3&BHS5D1=RA3(FNSojzK0_{ewW80~nOkI_c5UIZ!72 zHP~;Wh#0)sN9`Y02>|sjx$6m2Kvy(s`J_q!NHYM;P}Ye&NUJuiTK5`!;=i7=*&(Li z0)Z)TXr`t+;f+}Z;+DZ~*~za%iN9-&Wb|9UF5aVT4)p(4s<vrJ2FN^RxW}Q|Kmx41 zW&~_RUaIq5tvN;VMoE$WJJt+l5aqhgx*SGAsqurSgMe(}<EJ&{v40v69@lXV9&|aL z8iwZr)&f8$JEo^ksQ=l6-u)^5(OuNU=JB26tEvXRK6jj@<wO|)6b+T0V6{p$fhY4} z4WCVm%6_<+#Re!!YxVV>di*{B8`B_Ofr;fm<p91zGYyjR;6e97TSYDz!MVfiqNu*y zb=Ps{)8&s-@<`ZLRRh6NmKSbTEYnYpiJq1^qJnn3Il1KVR9SwEtntIM@8hsZT<7&x zQKU)S+I|J+Zh2Dk;gHSNKvzv=W&jgn&(s*Z1qbT*5nXnJqD49o2E8)7ckVLlyZZ^P zS&PoE-K6eR%v^si!L47^<ZpXJGVRIqQB4^xUPCyqyXmi5y@Y!2?X#}9UnN~#?;gEB z7=vRZy`(lj@40&p@LPxwXu6*Pk=XVD*F>e&2^hoQ7Dsj1^995DKtV)rVh;=8o7&i3 zK)H5c!>=zC6eg|JG3$;r6&kQU<xy46)rJCX%bKNGpN$Rqt&hW)b!NBo7vs)2oTae{ zcNAbS)kVGB-!c7~LM0xYQ_!SOJLElMec-;!F<~hMnnnEwFG`FnYM)iGrGOm107K7# zI5=IqFhHJu%;+lbz`)8%N=3`v44Amw_v5Rt9)zzPT*pvTF_$<D?(2CzUT%AeXG=-b zXP#Di>0n?X-)kxgRbjtW;*&?{=Ha<CkR03z{+7>;_3oeG2Z#(+m&+hwgEC1oM2G3h zW5c>%Vq$Q6yuzE>;o&i%{BEhtf-e@J!7%MK5iPLCb^ON*tCW)xk03ydz!eSTLw~MC zi13fvh^^oD95es&OLO}>BXig{kJ5mrHiHSRUl)%b?!U+W3d9X0i(|b)uF?Tg1xy$c z=8@CCYBM6w!mU}Y!6WF})xieJ&O5R%6b|0m{8hSgC#G6olvMZl(Z~QyahW?-vcDr0 zy?xRj6cJDfknWdjUe2_S;<B{W=L)L>w&&jfx^R(eIiZ+`HYeWzy}08N-$`i5IFOSN zhrct<kaBQ+yLA=3b{+58_4TqZIMdg=^RV~seg(VLZ=FqjZ#Kj8AITrT7>|if;HI8) ziR>4GnVN|}?G12BZUW$@-nTrI52Yk%b|{99Udp&%H?h*l`XnSVF24QirD)}y)3&Kv zT<o4})zX?W7Qf3T=lxHQsxEh`KHKRoS__cu;$Pl%^VD8i`9r4hHVOgN!ejHk=YEx6 zJQ+-Y>qX!IR7dM9tQfxlCSGl*cq&^K6j<E(@LF*3QyJp-uWxR7dHn|x=^n&S5_clC zy405xOLKB}TV^hiv=0RU*z<L^UhueVnTR=*>p}s+f_0OaK4}F^J1@Oe0-&6T&LGZ! z=4eTuFh4H){(CSyw_7>5p(8`h3Kw_%caa9rE1+Mz7lMx4`Og`46Hiq%8u0-g*RL@B z%Bj++NDplH>Cj6Hk1>FNd?E+)YoaXGj_@jenr{2r%x7*{d6YftGlCbSo);0()F19R z@A0W+P5Cr)3a3y4@$q7|#j|H}zWc+1WQ9PPH4=*EhoKk#2EFxNPf)}&M@!^FpJpA@ zo9T2PZLo;QNI#iX8&cWHhSY=Md+tu&oV%<J=rbt!N&<M&VCOI>#r|(MJ+nJsd1Mv~ z924<50Pvn2AvjU2gMPaTM9}aS0620PL$TkF0zfKbNV#9$^P9dS$`s2^iLj97yY8=5 zTw*Mjaae^Z1$Of7MXqaahy4gX`;QBsjdRIZw)}lokxXF@_s&!~{r>y@qPL#BRh}uR zMQ@8IaaFu!Kw*rw$pt`VY8qn$qln#kdfHw$km3li!^Ic-!@qzuxse?RS3B|9&v6}e z;9M`<m{QgPUiS}T!Fp`PtKnsA{ZC*IAM;$}M5rkl`$?eYbrRoVX6N%1qk;@7_Z2Dj z-uGt2Q?&;J9Oq;H^o#(kE#~5YI5f?{N2B}UlaevG6#&8{<;~`3&^r3z7_)sJlwG^3 z0nB-B^X%N<m<b_dTjwClYXf4Q$>gQz{lX%$L*zI9w>-`VUIqE-%sC0}%q2lR2vdQ$ z)9ebkPY|S6aM9g1vF7ma?5(U7wTAkH(OT;pNSAsyxA+mWw%?16NnqK_>!E4_#=>&N z^yO(sma`{IKAF;<P*)#vzyH*v=hGyR93lgU0B)THy%EvAUf_U1m|bB%NBOkpLn#{P z?tu$j*I_vZMnLdgvAY7u*ZjJyYE@&KqiP(Hx;pF;QXYVtrKGsR02EOAa&}%@chO9P zj-4epk*6fqv0?iA=qoEl+G%`LYK_mkpvzhx#Ja}3Bs`6T)32d9x-vHh3yv8IZ-R!h zVJE9)GL-+VJ-4FsmjUw;vjWp`1I|aXQS&V?W-aEvcf_?T@E0JFcREJ|1o%uFq90+9 zN+rj5G*72``5UG}uB@O8^qpyLiYCwGE+XBuc2yNA!S8EcMeJ4EpuB6R01)3;y#*ec z+Dmp_KxQ-j2k?GIvX!%JuA1@!CAFS1WX%yf96*=Er~LO?wC5ha2SP`oeMWQ&9LC1B zeUf5IlT#GPSbX&<whWzRqAq&yc4JZHo0#1*zQUEC&wsk?4ho0M@|Dh)FAoDWhw!-I z;Ugx`U6Gv*oS5tDB*0z<m$-lBxpLP2{Pg_Vj1zbd@B~stSJ1cb8{E{32jQWiyg%(r z%GbHkaVPjof|mjsO|Vl_h|7=NKKgbe9!tLSI4KJz9Qn-n3qPWBM9=X>{qA)F;@cu$ z@2`1>(>aC$@!oIB*2vmrU=Xuft9l6T(w&^AxSt9b9av*}quydXjqO_m_pntDKv%8J zcWwdwMb$CxE-*Qlf%DBGJH1X$u6T&eIkGjXwjdr~pD=26riB`q&C)Jsf<YQQ0d%4q z;6h-VW=}7uT)0}^=EJtzGa!=8O;!4olg1UCo1+cjen8|G?u7AuCH~z52hZy>A_baF z?FK<R0qEBeu-<u%`0cvf6fSClpujyc&xO2-GO6X?$I(3iZ9XrZKXyFIQee@f=M+Ra zvxTmqTVf7lHP0xkDZUJ0b%B`yzG#?D2e1cV>&=^9FZ%OdP*0D9=F$NI5EH{twRZYv zm`&`!)dTR;s!RtSl6$CzJfL)%*riFX58Yg;jemci)GjTc;mI2fyfcN1eMgS6f_WQ) z=lFsl?E~h-FrXOM{BYC%TLapXbrD$C*{Iqsps-(;{9)a6YspC?Y`)iOOd~g7{|&oW zh@xxonz-`yP<lE80O^2qf}$<}=`8)6yagDQaCa`~QlM@r<}~nV>mI;U(q#)2#C6Sb znOcRqyWRm-rXFkwQFiRZ$H?IxW$+E4i?n83C%xu;G9rd`--O{=kcICN_7ifKuKF|n zyjs%IZ9Ido!1MY##}mN!IXG8ZQz|e#3a9wFHPhojm#{W%dk}D=a)uNjRRLZQ1FrwA z#x_2yX%djCY91)F#phi4Pul}EsB`3G`T)(4Y)Alu5r10z%!CrukwshQICkE*#SQ{- zEylfh;1lSss8eAAPeLEXdF?89lT{INxjb2G(Oq=%Ug<c{f_XwJS<`o89|IFN+oRH7 zk0~6JXDHBk|L*PF<8Pss(cKB$b^hLMfOUW}+gfnrbVH*Ry6pVeXs*|IHDJVw#(qEE z7ArjF4GFIxP4XtU<)J)4GXvBoux7nhrE3;8u2}cx7^~nB`TBsu3bm+8r<L=gyAK`W zqStc{cf~V{Pc&N*IzVPUK9miSQy}hmfB)r|UUEU(3EVVkMC_x7)VY}%BIL^Y?*kOD zddc;pd^1K|>9^P(){;I9&sod+D>taB(L-Iz)+U{;x*VSzc<{nddrAs$e*?n(Shm8P zkwm|*+3&wK*jz^zxtH>S<{x5W&s;)HFY5E$S&;5D3we7WfmuXkw;3woIEQ9!`A;v8 z20FpX?4O3p+{oz}u^#rgME-&lr4K)ABi}iP*zt2Iein)qnYd_h84o(`F$M94CUj&> z+wNXiqW=@g1s$%p_oPV>P~ZMr+3-ITKvJr^AUZwgsr~L{K;3Gp$)lL5qye>*;o8LP z0>DdJfPl;qF1Yo$Sh}CA^~9&4IO5x6+$roKEB)8O?Z=*~Srx8Ps$G_U+X9U`3y4Yf znVAaT?5-GRXX^rODM?N02-`3LSYVBrV&0+idh+{6DYcVz%b|{Fo%t~&kK3!N5=lYs zlS6NhtfE*`B7+Z=g|Bjy>@eM?B@NG=ss^H*_d=aM=pC28cY7<L+zU)S?E1$i<fYoZ z!N9P-nCG(?D7ho`TH7PK@fhmNOaY(+X-~c$)v)WlBr1};CyAUZ#(3X@p>5pt_k&7+ zJR$M9K(loWL(NY7cod>EtGuu6cCCQa@%$ziq8Jk7^sKQQyBQ&8_f84jE1e0!$JV|7 zPHd?9U&Mw<_X!{*JU4CyB=cK?StQg#hdcvqYn~XN=SEH8F&<-~Pw5(9@Lv0v@^Q12 zCE-RtDwZ!?yc?*mM7atoxs2uX>i1G0-e7w${~xhI>oRKuU>Bgd5ggBJnrU^;n(JJ+ zx!h!{USkq9`qVOA)2ns*pmLz=y|0>w7hK47CDV}d4#~H)!8u1Y&U$)316rc1by_4O zp@1UVEu?@Nd=i^8qL;wZylz$j$pb)CMU8#%=7RaYe9fSyv^p^np!HDhgl_Mgdwpm- z;DQR=WT2UhZdV;4$~`E|G!E__Jj1!D`(o1wBtWF$vp(0Ro-kKcknWL?f)VB>_+ci# zT=ky)>Nn&q1Nnv>a%cDVJl!fQj<8>LbO0m2fYSlVbU*}EUXcZ9VE}UawyQl;AmtOZ z5v#Lvo>1Rzb9!aI&~<CePXoxO5Pm?E<Wl=(?8I?-4>2ItH&aGlLkhNx5r?P(ak;T~ z@Ur_y?>GD)S!=@IG78nZgc5`F0LAeaSlbC5&aT*KJ{J&x7$|Jh0dyA<C4hL7V)qF2 zRX@NbCqvD8z|28S(Xa(*Tfe?pFas?wr*#)74r_gbi#JzC^Z`3!g5<M{E*B5;N$6`R zLfzxr_1U%W^ZZbq2k%P?>Va~UcAMi1@I}sy&zIOxFyygSKFz1;r}za_Bp~~7-D71< zT3**TxJ+@q&IUTUGYieCP@Vk-e|&La9Z-o|9%-(sUB-akC^V6P8fLsF+`p^IL;veu z0Ei`w44#4pC6)5@a~5$GHE*j<9RL@34gwGAmqVRYLC+;cLu%_em;{<$Q2L(-ZaU%K z$CEbWtU*eP$ccXN6B36lg4P{?_8B0k0|sSxYZlS@{$Sc00HDA|4$W!mPS?QmH#Z~| zL(>ufKfU1Uba{{P1JVJwPRf-BI2YEro=ex2XHQ9<Cjd@z<j5z>Hy)BeOcOq#OUN-^ z?5Xbza*_bT189#^)KLOjK<@02x}Y0m{c?6{7Vtr?RX4Bndw`jF*r^G|#=5th%tHp} zAO-Jz8PV)I2lxySRJ4G00HmMsuNd!@T0u9dCP?zgkmb(`Vz3BN=K=~6+Y#Plv+KOy zK17)o+!O$^N=~*)TQ@dJm;K(oG!9ToM7?ao5A%v{6;${luKCc2;O`*awh*rJ&`=fH z$4mn6C5_u0<+AvjTW8pS^{z6)7Y9jp1Yj-l(2j_9YaYT!TTIo<0v(|-=J$+vsNy3K z7b~3O&j48n!l1Vcr`WipLu;QlXfOj`pu*1a0xEL}G>QGsriMbEcK!Df#lx+-m1RZ8 z8y94AxQ;;@ejoM-GB-ebw^66v=jIQxZOnIJh(}0=Y4Cx)gQiu-KT7v^Sr1r=Qpx2r z_=8ZCck!o3G;ijl-I%C#pt*5Xs<nmMjPTw<jIPyod~ewy4PG01d+msP+Rc|hqkXF@ zr5n%iczInl(3MX5natT6Mv_1nm;^^z^yv#U&M=#q$YiF*ff@xyo2A#=wV~6HSrKZA z#)Kvk6BFMFGEmIw8tK`R{@^GirvAq<%{*)oR6CQN?QrjTpznOn-x1d^rJ25#%+h=> zHm6%a^U_^_565?li|QEpGndTwMn926%4ltvI#^HyV7nb4-GQI-KxYls1%3lUODiag z)}f8B4JqSKQ&hriA<hKG7F^G+gK&zM_*$xvh7{KP*?GaTX4W^j%ILQ~;i<}iX3)!? zyU>gcuN!qSsG*}12!(*I12&W?F>|rZ$z=Ci8WNTNL0)koe0qp!e#8p3F{FIzTO1}e zaUwiqVZ;hEEwHV*3brgS^&=tfkGdgcq?PezH&<U?s)B{fCZVtIf08(u`U)8j9hna+ zs+f2Ut_+~9&zS}Y{6~Qn2-M4**6=*yVcxoGgQj@Hd+6m~4X-R$Osb~P_{|$q8at)C zJIwvBYBq}|L!Yx8Y+794`*>+g=u`h!d=U-MjWWj27vpCnREBS=8>NnhZ;n220@0qX zo38zuvKnIH%n=r*I^p>6QR%N2ph0Y2Q=bd>jg1-I8-n5Vs@;FxI9EG7bMMQwWTO=f za_4LRH_%0c0pRW@aGQ<qf?B(RU_tWCXLYNp89=QH?J}>guIw~2u7-ml+kd5x#FuWU zfZ;&R%^*e48ds$F<g&~*8Uuz`cWAfZgFIkyF4Q+Vhh*O#L4ci?ZwR7WwIPT6R|<&< zJ(@6-9`C=Xf8a?7DzJBR>FnDpG^8z=&m)Qk1S;*l*N0y?ob!yg)c`6zI5(J;KsgPP zxd^UX!_<m<WWr9NEXkvwqH(1w**Y`~$YN`=??diJ(~oSaiZ@;df;&iBgH{9Erzq?2 zBS+i=w&+(3kf#%D26*D*0Jx^;K7Gm02RJkMdlL}M{~SDfd3B-1IqZ&?`V(+J;#j^n zWM=>)rDRIk#~i&68zGzxJW;YnuQ>a+uX}e)B*c#|g1P9e-0x|-br-a!4nmVelzPKe zEGcLK+}NeFwI`#@0}&dMQPvV_vOFrcV7@Otk*8dqKW-;kXC%(e^%<PhW}$T^Tv&LZ zW96kNP`Y*9UF!}n7%`Rs@u;PhZ)Zc*H|Piu@}zR^fbl~!(DXetx;~WmScodp(oO?; z2aCC&&j>x|qLWxL(=O&^D+vI=<3`zAFy6OqlxGDVNzV}q-PVcKapg5urBM1U?15AW z)WcD7$?vSsvM5k33&HIl)3G<e?RgC4w@oL8O*|Qwfreo1`I3{up^GNKBS~z=v?pXw z!NE|baNrTxRfo9Z)5MYVjT2vQ`*R?G#{}p*(g*E6ludqP6%y5j$FFax&&|fr4&K9o zo-XS^Dpc~o(j;|1tA{q^d}c^lsyvU?q*D&=PVN?1o<8jr9LmF%#J?x5Iw(X*j_q)i zgT^Su%;R*{(R}9JcdMYNlGhw8sxKT&vANPNHNXyJ67OI}t1vrBXb&2VUbz&Y^evyU zFw1I?-|9DaCxDQ!F-(#>m8J@@3WO$`8(>pFt;IHeQB_R^Q}owqS_Ac-<vN7<Vb%AJ zQUsuTgWE{Q=e|p#AZe;~h1<&Db-D76MtYnvR{}DWpIzz;kPt#Xe`>U7w<0{%kR6-k zkfqp@I|pqu)D+sC2_cmT_AAnsyN|E_OIj&N`!A)HejlufCjOC<*#QAVVc(Uy4{Qk2 zcxIsAfkMHWL7S6k?)p^v#_rF8K#P)ylih<rk-C+eNNicsi^H#m+*AB;iWCzwwI@d5 zKId})omX%6sS~L49|5hi^B=Km39ot!2Rji~QDKUW9XR<gL!jTXQI!>mq!AI>FeYX1 zH?Udcu&q<(2El?4&^-crbT?nN-H2%|zz_0XeFAl*>w8K6g$u%<*K4haUd|y->+*cw z(b)n#1<XduoOOz4WxfDez;Eo;+4ipY(7eO~(29)ZoQ#Jr>2Lr{S4*x8*AK+%vO|-X z`iVRpA0IfV(BIy;r073ERe>9cAM$`F5e(gd>;sDHqvR7dQsie7iT40EL3)0_iEED| za-Y2agAVt0upd1772KfxS~v!f)EE7qGoSQ<fy)({4jnN60-^9R>?SYhC8V-GgN8Fz zp|>=qQJx2!6l73^WlISQ(!lF;bzkW)AsFx|jlv2Z#KRLL3TUf!%%Vlb#alRBOlh3o zi?m1m(6hnX+O<qvN_V$zd6sr00stuXVF3R9Lo#z~_*t3<53~$gOCJp?0746O{#*Ct z>k^=WQI5_mUN8Cuu;urTs_a|;a;l4&u~LaZ0*GFKYAo!(DIckEUqyCe&Ns`yKDh1; zM~dtRBpuu|5lL(e_ffacO)zK$GBB7hT?Z=mg#Gv6oiF2BezwxBK+u2b+JpqfA^wL< zc?@VY_bBH7Uwx$WiqQWpedHtjKi=rzY-{82CayfMN(k}&aB~{d;__+Qe)HTf<IDO` zN1&>fk93)407Ahz6Nhk|idyRbkv<ape_bCrj?&VKEdBnFf3(gnc0AgDZ7ZP6hFi@R z%!XPY`#|EvX1W3w_ETr*#&qb&;E3xYIeo=$5Db?f-Q;%XJ!)tr5R?Jaq=2!Xz{Ddf zj~74YZ$B1A0pJ18i-?H8gKry<0M~)$p6+bnfbzvxaZQ4=LdcVGopbHiwgGlV3(x|M zvvF0^;@@h`A_3HYtj7~hsXu)?gU>P_0^|zn+dxK*?wTFH<(c~Jmp8bB@(y&{lO>R5 z`~CPH6xYl1KuDKk&TJv7ch@KR7<dYK;%b`9>sc6eU1V=iPeUqo5CKELM0HsvFzTKk zlBaeWso6??kG~&?pD$K}dq4v)2mE%D*zdP3+6thDzxkQ%nT&{t#GdK`rd%ywWiC>; zOlSd5fN(Ql8T#V_S!ba;u>L%O{lDBN^`8qK@l^L|APfE&chNNwd7x+QwGRazo+!2k zlM;ZZW?O;3uGH3E#?BGi)@$jqz@1}~#k8XR|GV2W25hLcUE+cfYJ;bKE%vP|PEgFR z@dDr3Tum96U=k7}`_VT+gBpPG_cbj<L~NjYV;cVlb#ED$RrKxq(ny!IfYKdO(jqM& zpfpIAbcl3IcO%`>-Q6JFNO!k%pZWNYefIwBd(S!d)wwT;XRW!$oO8tYH|Dc+o1UfT zacQ!a02W-^B4=I{(9B0o!8CR0d$YENIurhDpt@zN_x}Zm1PA*&`!qs-(umbN%ZzyZ zFO3;X#le>SfBO~y+B!WY*UK!fWf%rTA+<Pq<yfN;(jpM;Z}g^V<frU9t4r>MnD^%R z5*M26fUOKZ=4M!w=ms)KHhQf3a9Ke=n7OoUU>m@7JqBVf7u$8jtS!&6iN1r%@<c0Z zdS7T@(G%(UFia0FAUo@lW|8Er5<u>NDBOg^S=V-Zbac?`7NDo<58U6rk7UF_Oh|u2 zstW+D8o^@6Mk~YB$T5SYUm8Xtr^zR(Vl(qQnOX#$3=(#0yns18WH}KAVcd907Yl^1 zQivF}^>{)vLCQ<tFP<dG3}7FCdVmRlUhmB}z}2$fPfdrm#y}X~+K*WX1q65c-KbyD zZSod`apn}J_VCZVUzdt{Bv9CO?+2{@7xYA#hLfx%E%3M{(H~MCgH8eTgCE}4aMj&z zbMv_wU%sG2XaN`)zsIEKXASB^OELhSx8;U9z-=@IwY}{bdez_t!J{24EO>aVBgukd zKltvq%m4p-HBv9S-;(@q^lEG@Ux4zF*`14cAU*^FRtm40nmxD?9wWg#7VmOtWPP)- zfeEX^TLtLc5(vT;N<rPN0w0$UgYoV?E|2b70~@?xub1^Q>O-i%B<42Csx&wxamh}^ z9i?P5X*?&)e3nW3?A_tIvZxJ%WtT5`W*?>~rgeL#d<-Jy`Pn_D?IC9+?A(t3%>IMO zQAsU}tI!q6uMUQh>5OJ7LcZGC^}C1W>+6(^hccz!)lhunl_ZvfHx)C1Dz%doEDk$M z#Ht#r7ph0CjjFbS3ls4yOefAv2cPqQ*Ef^&US8?-HWo*n9SY*x-Ljud51_rdkA<~r zUD&blU~9u1b7XB}ZIdC)m0|j3Y32VCqq9QnrtWU|-LL!9VMW*4-oWV|N`oI&j*t07 z$=A7Z*g6aMxB)OzZ7*)-0=*FFBa(0e>t`O>M_zyFHuOefrD@siq#&k`{E;s#XG|Y< zc<jsh7TThYF&YnyWG%HZC?X|COjr21aw)B!_&)u2)2fMbD`O0V=^v1fNb6&xdu)1E z(x7=S;OcyEod6ma&yi}ff7YFI#>B5OXE8Q}Y3FJ4?(SbUU$t52#m_}lYu=Czg-Z2F z&b$;-@h=`3X{(f*l#H9bPr!Bg_I0%-mMS1Px)YOvZ2EkI+V#W;g-gg%EKVx8X3OBk zV?Wy-6wXdV1Bzc<zv{C;N!E83B^`N<Ebr3KILB*>Wl7ts%U&W6;B98r(ISgyArBuZ z0wZ9E`HFarl5{LP*F(qRvW=Sj%xa<}64!@=b0SbDincZ=#jzOr)i*r8_Cuo3W-X~j z0X|`Mrbor|W_SL_?{i5`a{E<D8F{^tpPv&J<6kk`?Khdf_&w!wI|m1`^dDW6mg_Ru zf`FBzfeW7T(?wF6+mu~NxldXBF94za(|lx{PL!YnGw8-3ebQf<>gG;L0_f`eyn=DC zgmWShQ>fIAT{fayk)4szS{JvQs;e}5Ou?7D*S#yfA`el<?$=j-wRhvi{V&$p+fa+x z^?Pf$V(@?hg&jJwWJUbRbN0!JTgx>U?+2l&=w8RzbPVP2@eyn0@{h2E1Ig^4`Q?|X z9}mc|y5OCxIax~uw2wL4p5uzIf{Q0`PkbLl<-}W#vMW|g6W82oD<O4lC?)}>!@`<4 z?Vu)3y$=_wNVUI;)mxIm$;^U3SXc_{f-@YwBE`ajMTM2=b6oc&bX-~bcxq>qiy-92 zXV(EcIOf(oD()9Nap^ken>w69E!Ym1pnvCrMZy#?k?K@M6fUHQdtNShpFV4qQChed zaD4fO>aN~M32Dit8OwV?DPpd+6485Ms{A_ILH$)<Cu<`MEQ>|Kh3ay@p|9gQ)kw#Q zBw95R*iv*qYHrvVzL}f()Xs&B>pfK07GkYcg_`x3N_#r#PRM%=nuN5;Ef0&@+KS3= zo4wJne}R5%BUzHhGOuOT(QzYEZFU4TF>89>aF3E?em&w`c|H5^?a3J~VSFv)?oMcb zh(MLQYB6PgzTA9F{&zrN<T{w4ti7|cyLEI%jRQi}ro(MV*pT*@D~$pl!sDU7<eT1~ zAId2H(06^bNY_tcXUFlsdPA9^e<hI;Wvmqu&eE30Ibmb&QA%k(XloQg*LH7RMkXcI zKBc@v{`pQ*ld{;JM9z~?Rl`fAR<d*((W+(z?82@Q#BUcXHSj!Z#>Of{-`rTMlR~i- zOmsbUJ&_1qg!X$FjeE+zaIgM;TtdQNJyL&J8@^=Oey=7Xs}DB0wkz$!i1W=jOsTJ- zc1`orM&*s)O9x!!+SW0~AJb-XI9HvE-v^sLjtpH6zc{YLf5}k6r|ZmMAu-9jcoCZi zmN8_Xwl98@ipHteGx;$TuIBdb{@9#zZKp-+SJh2rWr?)sthGmdFYm&TF-%J7s+L;` z`qh%s0o&)|)G(K0`W}2T`;}`i!Bfozo}%e?5*=60-rKJle0WRA6hFT0NcY+!v34$- zls5l-KEl7Z$Cs%nd!}x8Gewh<AjF5_&5sH;=$lj7G(;7&8Ts}%^2LEJLcPQ~maR+} zU?Tq{EXgN%lA&Kxkn1(fw4!XOZVwK2{hYrSI`ejQh3<K%pklYni_2^pWX**-+pON6 zBhFIrr6H@)IW}IrK9z5E3~wk+ns<a5G#i<bPE1Dn!^+=K{?Rs^^!F46(rIz1)SJ3_ z(i5#$<j8n`7yWOrKG{iTgxW$5x}L`7ne=oeBK%j|wilzICYBOkpF$g%MQ7{qkCOzS z@gr}zg?%lLSmAC9p*?3#PID_3Xstq^q81P9ba}CsCk-C1n)8$tz6w|svQta%X2%lO z6!h6&xAEVUiG8#V4p#xo<eK3go>$va%va$}P3z1)=DfqQS^$`2VJ*w--}gHyDnwMi z{0^RM1RJCtEPb72`Wi{uJ>n74urlA`rYYKrT1(AkpnFuF{ZYzWuFR5VtlB3x>>HeP zwC2|RikJ`yuW!{utiv(4`{u-{R>Ffq_=srw+TZ6vFsTLJuBe^=ABK$CZ7AtXQVT_8 zZRbbyLU`u19V^byW+H5B3%7x+G8A5G$CnCqc8kXXZIu2Vwa=UXM4FU5^HlHeG9{Jm zd+o~oim$16^~?dCLw&|$&yZ@2^vs)X(Dl+iDO;!=gfe~0cgmX2eGeFmd(WSWu9m+K zE|T?SNlluS)K0b|0Qq^BRCZ&bfT<i<0l(8{2z=xkc<CtarAHVU8-*ANoC>dM+$g9@ z8`=77H&;WkkP+|9(tRS@HaK9tB+~pij_Rld50>G!C=I*rkp@XZ5Ww1k3`N|kVc-+C z(+W=KzYjhn(RSWxH#OuenR(V5YT?ybTolDV%f&OEK_t;iQkrtf_dPQN8(Nt2RU`QG zl2gvu@$1Lb87Fqx>w^a_sp2$^z3N==$HWMD-swP8R$us%yU#zP(aR5tk!EH5tB}-K zN4#30vVs!)$S^LlnkHAu!y;1-j$0}*Sp?T-W4_iIr{%Tp;ihs%!tM_Oy9v4$!WYI# zCq+OqfQv4uPAHt$&b*&&9K&H{(WLqY<@L{SIN!LpxzIeubI<5bP)td_|M-e|xRSNr zSOQ;}iN*T^jgPv3A^}D&>)G$OR5h(*Ax#UCle25(`#$KUDc58qdGCP#UL+BJF~7Wj zTEi=-<%P3+zIvj99!}Q6ZisHb1~LW^^4mYx;s;o@RY$J=22lrLM&%{@Cm)b<yjWU) zTk4jF<G~7@I}#bTNM`SR_|=?4d<D461U_~gDJlA|HAJUF_$9dpY@OodXZSjB^@Utt zz_?irO+n1s7z=C#5vx<1N2j_g6GZV+evR$Q^qu_%1Y}mP;rN#h@M~a1Qi(UH+-1Wd zSG8OeG<?{zYU<|h3qk9Mx0D&Y@}6Jv<i6UkS-tnB`xFee6IIIfCbG&|?o*Ki8W*dv z5p~N${}E?fOgteFTgbp73J6yTSY=Frs<dvY(!ZO)Pzi6qX|1G@J?Kh{D-Z|EiE^c0 zDTY|{s+9-f^c4A&6n(3KUTNZ_TY_ZAA@^<}T!Kq6DCPRoN5#C#?oL5-)xEd9ypho2 z#DrlY+Pq~uaW5z-X(?Gi67-{deNp*2?v4Uj+;U4_V&M{WQhnZXvNj6tv~^-6Mn+|N z*DrXI9M`M?FDYehD|Ce@cq|?#g;MR@FthEkTU>wb>cS`UL%pk)q3cZPV|H)2|1FzG z91`I!5o0qazR-(<tDUY9C=t;a9Egj0R*%FGkGr;F$%pQGw1;7L&46fX#?MD;Y-Cz? zctH&bI?Kn$7YWPq@t$(E)xmCr;^<lYuCtN8KNR)hmfY*HB(5&js<-#YrYz5&v6fop z_XZjIz5#nTXE!NWoR5TW$>L%sdd(<5q&ta)dj$jnke+$<A{0=<hb|;bHnrrC`nTGy zoE;vu;EwCYz}Fu`QK;128ibhd3ne!*;A*>0dV$5SKN7~wF-Z;iyrK%4Z~0qjY91aK ztEM-wV0hh)rCe*%PP0)^S;}&~>ljL_C!~nqnr8g=3RFQ}H)19{He-*L`{dbrMg_8j zlefOvgoBdh<;eVZqG(~Rhh3+zZjO4R-i?+l5t^-Up~WK_{c;7%3K0<<=F6|+UV!v6 zc*8-*w75k69%O9@)5<F)^C(RS1j3|#AaU!K-#y|Wk?~ZZ?X=#Ga&<jbKm-dYEIu`# zcp_Y6_-LRl%);W0dpd@;#~jmcoxnnn*~lSCHqLL?lUhp59Q?7s9}X+SgYS46o{sbm zZmLiq>2{cd29<~j;$P1IoPQ`gb~#8UAX&q&Htex67%qV|BBtXBi^DbR?xVN(gLas- zZO`$=bm#YFAvaq-w9#7~;&HsF=M5iQolM+?B%tVSyC($VvrHfHnU9Y9gkQ}iMxCtA zGhJJT<IFFcToP0yL;D4ka3c^PBt+y){NhiXmp=jjW38hSo~<_3s-)+Q4f6fW?7m9v z=dy80kk69(klugdn55Eq+Fp!qArlqN2!Qs3rZy0jK(YSzlblWgUL@qjzH<C$;vao? z;aE`~hfKc&??~?FW1jD_S>+xl(l(r~t!;pOe>qD?DvzEq;GLTV3@V!~K`55v*(Sn5 zZH2-3Rd4|9b2d=Xd=J?%fj(}Y{!ZbN0)lPWc52z_Oi~~%Wx@cOo?W8=Uqcy)jnnSf zSfP--^B>38`gA~G`3I{ZL}f+&`^BN6uYABT|9-sztpTJ~`uqK*zNp~Q3C0#3mc6!9 zT};QV-a}3nk!us^5a@_1D3~VmJHZ$l`bN9!L%y*Y%c&E%Sc=mwoTv7!A-NB?p^$GW z7TrJtcMcJiHWL_5;X_jD5?Y`6`<>=HX};i=;^eQ`h~k-3{Oc<m$E`j<E}t0*xjz5> z;~n8|5|U_lyT2C?h4}CF)xjTWtS;Y<vzL=0*A}IKSV2-W4_>q3D=Aa)#ee#53I)w5 zf9d#P3LYxU|8#9iJQgj_(yODybK+<SpXwuqJZIpD&=W!JBA3Uwl?-GY<W_&56Hl73 z<>?WVL%lnDIpOb3mmmfTn42S#*Dp*yPm20`34F*UAfL*NXa^(x$2r5-1Ue*KLrwqc z1t9o)azEf5!vE*F_-}6Tf9XXPYGgu3I*nJttr3|AZZR49XdV!nwGNU}J32_n!p%qq zj@5&hMuZOST5=j*_+uQ4e0M(BW@8e-B6GcF9!|bNlCyF)A0HtG>uStEAFNocX4=9o zvsEQY%#8p%1I+J9)Q}7IZ=Gj-yQyG%a+5Kqe7svGi%f|=a;QI?U+x&6w<0<FHeK9` zad&wrZmv0*od)@4`^<b#$htfCErOOd_z~^?$<KQ}o~bKLPUu;krj-?U*b5%0dcC=X zn##?apQi_va<aFlkQFG43)w8!Tur#~hHj(_vVE2~udU^$$#0U}R%KNg*#pz$`WwpR z``V0G*{zkQeNtB0Bk1y|JfbOSPu|rL{_J!)(WoOi?l+BiB??y^p4(tr^tfrf@MjfK z)ozQ!s7T9~@A9~_8GOr2OvO7Jp6$3HRr|F!T$(K*E*_6avS!CVtc?7Wcw0J{Z7)5$ z8^1Z5|8)NKj&Z3Phh4d}WA779`PKp9pz5Jhs)O4pl5$a<z>2%XF6Z^~le=&CN3LA6 zvksIIoeB1Exm$dAh*cFK>y%=SBH9nTRtI)4<3u?dg<ka8#A#R&0?R-_*Nv$zZws1L zcVh*S;xh&Co%40FeQ&EVNhVu<>=m$CU(l1UXN^@EadK%kz*TGcggx=Y^=`>xZs<lZ z{OoMmrAyc|!;FqZ{p5yr#AlCOvzaQKWiw=&25q#mr!-lr4(&_-0vLh+{AyXUZv;Dj zOiXO0!`CjauoT^N8RNw@GFTzJxn_TE_gU5gX&%{kwVy+F-zRv8J27d3HmYaTxaXIM z3pzHiSlh0zP)tTT_S3@bsj>oBUGTW&0G#6eT}s{lNi7&t8Dj%{t?N!Boyy$`l%@NV zK=|$>%wPkG$J-2K{GW?w>*2IX6D;n-!&1FD(%X^INm!FDtxt~{j_2iG3S@TQz7e@U z-Voq1H8_p8(n2<TF7jXB=m;xQ$|!cfz$D$}(b?ENLTo7Z`&A+FSxbFV1Sp7}&+^&y zdOd&vu(Bisi=|<}M;2&U_52Y*JYDGy*85a0#wT>9n$`+c`DaJrSJkFJdgj(;_uBSa z6hFkHecAmbe0Vp_t<}Rm!jE-co|{9ncC|dRGM;mGy%Bwt5fmZ&pC<DUt`43v5-Xx1 z6Df4hD^%Q_M#I22Buf<Tq!GBQ>nHm-It#*-KXah>neV+8YN+$bW5LKw=IfTs<WKQ+ zlwaI@cx`c$;Zw$}LGJ#6t!EwFhn8*#!*p3_wwwgRQk8vA|JzL4!ngT*si#ax(_<q2 zUmw{5Ba_BRDCF-DlvdsG^`6L*Ov&>Hg>?7sNvaL!E0pIti8ICR#bj=@H;uk&?%v&v z4o*cQHTT~b=WA#5omoMO;lKJbtwrK#Fg5-1VKSd=bY_M#cYUehg6h%>5~_$maDo=! zU}!TKn5<*m?<7~FwuNU(jf!0@Dl%4trhb<YCbG)psG{s+`wDs28`;h<zpT&uxQmRo zEoNx9w_$mtlcUowL53o6x~QjzLB)Ee)}Mbm-m<t0{17pvBck{bmHaFHvp*}agOwwK zzCY94Iab{9@ite&g@(!5ezE47btv>f<~{qL4;%s@BC;Bnd!+s9&l6_GD8n@owZl9Z z@N1C<Os|=aLTl<KVvoKT*R)N;`gw-h04R9t5%H1{cFoxtvpv(9T`E=J`bkFo)Wpa| zM_h8_byt2lqs{g#{phIiWuFfQ>vSSAB)(#qK5@R^pI-J?(Q<MhoY|<~PF*|x8=lc1 z;Z{Wdyxsp;=W(dgbvQie<2uBOx(dSywKh+QO21p52H0j+AhG;m0ur=F2{yM3^@bM& z)6P(kE7{Cy>@?>kKLmEtq&0<WdkAzV{*7Qf{|-;jAgJX3AXWH}@N`ycz|5VIQDUOG zzhlCdRo1p+=l=C8+}c{zy1GA0U?4B}q86Ob$ND5J^?F3(6Z*}=h55rGV)a*K@@Psu z8zx_C64@ry0Kc>izuEm#zT@zl+D)i*+aA2Ora=ob1-Xo7O3aM0Ego<mOI0$Kbwy&d zc=qg#vwO)|XufFPsc6Rd#TYb?+!V_iLf2xMka$s2iXx!0;@A|e8_ERwRrc=LFA1@= zoqtu0h)?o<X8%U9z&iY<yqrie&RCdwfn)d1xw(V^xXFtSU}koz-LLP@`OH~GC9XAd z3tkg*PB}%ll(xX(==3loK(XWAC&7e#<Rqzd-q#6Gkh^V>+4`S`njQ2<W>Ou+b$G^f zbEk41lQ@fT$~h~GqRU7{_M)5gtg;ekOi??;+m)h$uR!OxBK_s^PI-t6iI{Ib>Hdy6 zr*xu2J>jQJA1#TGde0O0f>(D6#7mnI*!O}kElyDFKn<U+kGr93eW@yNSy@3Yom{FY z>t8<z=kgPN*pgw-6gfQ@xuu6eKwx^m-o%0)Cq5t8+E5H{aFhCtOVN%wJB5>IaSZeO zz_~;i$S;oa-ig)!G8^&}vhC)0j-Qj!n1$^2jaZ#{AR^{D)v$`0L0<Vr`>eiiWg}56 zu9|#7E~1;2NwsZhFK-3XkE}xVWEvI6qo1#MVTRChzypthhr4ew_;rKq*N*AcbE`K~ zey%zuuMJl%?)ehKN1UNo#<*DGOgxx}xJH)+?&Bvk6Dwwkv_%9770!Y|kt;FQ8KnsS zS9Em9L!l-5yC%hNEk9(c?oY~Ve|Oe^ZkT5nlUMm(F^+ovRZ;3l2rR<CnOp9QYH>fo zMzqt@mb>tnSOXn#i`9f$1=WZ>_BJq;w0+WEnybjq*i))U_mxNoxF+$P(8w&?C)=*o zC7hiZD`ZZ=Y`?|N5f%GFeUO4j8#6&U0RIVgeP0#6zEHljP8_Ve+TNg$Dgv99YI^+8 zi|&BXsh96dzt=B(zudAdg}3qm3Ieca-_VD5VC@&sSB@<z0Q1r2W)v1<<8D%m?kWWY zj-}g(v(XPosEk%CZl+gG;f8%xc%Pjs-f0kozdfUlGP<A|lt93_w#EUB63?NFdbuPo z_Px<mrwML2a%O1W=>XV6)}Hj-8Fzd_Z}p%&jJK_dJHAuX@?G`^=#&qE2M3}irSOpI zj8_AC&`_jW>;2|eFf6^kX;V00h`!g|B3ZE%yu2_s^}n(jO2)>pz??<I#(GMoz(`3s zgDui^SD4ZAY%_-tOm$Z6PlRr<FW{7iL~AEPv9jQnaZ*442#%0VnH-hL!7+TIwSu>y z8zArBISbzRk!d+Ne}WI%Y?P(iE5L&jYVp!*k3g|Uz2BsN-rMuuEEzDgg^i#uCSMq% zzkBcOJRAHv{T?|Qti5wSQ~pbeh_}$WHoqTtvtkmaH2nJ{efJX$sM52#8FyK*$;bki zQWMkfB6hx(*i%!AI;WI|Dmo5w6QKc@kskDnY^s?p6)HL*uT#dDiDNFKOt-k7#NKlk zJYecpqn(?&I_kmaDZQ5;<br*h2Vm+uE_k?<ebk!mqej{1_D!odoW2isz)<X2z^^r@ zS-kgr>40VwnP>`Gw#^gR)+Z>Sv&I3Ep8og<9LSr-Vt2k8d_01&ae3a7!)p{)5+<Wx zRltjF7`Y%s?i1>K<%KVb;|C^Xols-o8k3TY@T&<#W(A9(iYrz)gP>sb*U6ZSiLw>R zxZl(`9EH3m;gUJ+JEqQ}CEoI1nmIi4+wQ0=J9p7hMSnL9+H~L94mtzC{^k~rm`ImP z1ah9gUQ?z2>?Ch?zoE-QXQk@i1=A^S#`IR#3+onZ=<#{b7wfNRQ+1P58(BphBFQW& zG9sVc*nk<z6gOYeFkqQhn=8&#R}Q&+>JN)UK3(EA><Qi;Yi3y_QCfHA0WSc0a)qSA zpWeG$zMe}QaBERhq5s*rWQesq9Txip_371*>1oZdWa1Y(iNx=9t2ctGF_AYpfWtqd z{Vgl%DFsYj**KSFC2d*&-F&%X#&b_7OXKd~X@dx5_e09nOla$nMnXTgQn^T%fR0Ug z8%rm%1U|t;$`i@eDukxZKu+EhYonxvgJ)LCB#%M7H4DMUW?a28$QH+x(J4TFVDz}` zRnI^=ED};AEu*BEL@?pvVXS=Ej>E=rLk)L41q*lgaWe$^i0VU9V0Obk+=<aeh0W^v zIE@d=<h<$(J<Y{U3zStH&UnZYI69_g$nwfjt9Hb|oAr&H9dKiskbuPrRw=olWgbs- zV;f)7L_G-nG9iWe;iZZ29=-H^otQZ)z(tCgnpXAlH*0NH&(5h*QtgfzUp+R`c)`fj z&_Q1^2WN{sn27E1Ck04t-F<nt#atz4;Ax{>8|l@y_+6%$u;4JSq@VDUCt-b>FZ_7= z3*tiIv_(G<C)AT3O10e%6GQkt9!m<RqJkTUmfNEt1$<8s$druwS%0jJO)2kI`qXJ+ z`3+ybH$dBW6i~LYi3HmsA|Vg>+yLM8F}Q?|`{y9kX3P|(k0Fy<T`?)~%!qqLNhKP= zSB4F9u`_O&i|%a%golf|NW<TfaAgzbaLT=(`ue7^Ffu+GE>t;U@+BOvGKk@GCH9xf z1-Zd~Wd6Vzk}%;)z7N6X)0<J;c6#0fYcpd+5Q;z>J3-~eAP>;c&y32U5Op(XJ-x|M z3A)HsQog;h0>)U8lxqrmTS}V!$Ve=j;nG67x6&eXdU_lsAMTlO^GL@6Ju+cJ_8Zh9 z)8bJ>mEU%i?Qb1*k>#k651DvYx_nK!#_j(?%QXB}GZ}%X*mJ|6Ios#a`beSYkNDTo zaNwL-W;pY_l^G<!!o5A<3a54f##>dVd0fln*twu5K*j1Ckis^jA_R51Nzq@277~V6 zInzRIxw~7wvs-p;jsQ4-Z~j_D&5ct@E^`(VD=@~S;&#S}C1i(&Q}f=^QV|))q|a!r zvxV5E+jsStj*iO*x%;CHlQR6V{WJ<9l^)B`(8o_%AQ<=pM<eK;dikxW#qWWHC&bq2 z3xYE*BbcMnDJ>+s`d?O|;Vi!J;^lH9eY!CZz=<F2eYYwc_5p#{?ORgevDAmPyqZ$Q zhOitEq94$S=QQXkJ2?xdUMs3>wk>@Tmh*>?-7=SwPwIoB==(fW+Azn!R#=N}-<jAa zMobO~E$$L%M0>&V>M?#>3g<T;!OU!_Kjnk4nNn=Dack0_kQQ%iF$%Str|sN~3^I<D zgPP0{OA$MLx+sasNBD*kpgd+xa%91Q1i{(GbW~M4BwKXG8A2ugX~ORuS<qo6rfEap z4LW2^ESS&cb5nQH@`@;7IpY@gD~|q*qfUnFzp(|S`LDLWxmI>gPg}x)n#gMIbRTHR z=iSSd7R~5McoACn1}&z*x~uz(?s3J-Zt25CM_Q%TfN(oBvBTmg@O4jPian5=SoD+R zhi}-<C7gEqCTtWmW?yADz1gyAo`E3_8s;Jq8is*a(1}CzmH++RHo+t3IvJJmVNcrp z`b-WLX0&IQ>P-4B<+tM|@<xC8)9qbox-{#{)~xR1*O#(#x~pN~G;Z3x(rMV?!cc@Y z^l1Yd98)4zGAE6x4ohw%XI829pRX<+u9iC%oF1axhe2ua7zkN%kFiG0x39Na>Tw%H zVL1?rdtI~Y;lhklQ_mkzv(F-h2R)8Iw+?`+M&j^~VRTJ+q5D0wk7w7R%T<W8z@7<H zvIZ9g7sJrLYp8IrFjUVUy|n$j;=-P>EJRQ)I;D8*NFx>uvYA-ObO3eHaWD-ig+SfL z0O<kH#k{fx&iuvTod^nwH?LRyvqr_~X&y*{m2Q7RN`V`d2Df9<$%S&jAoZI-NfXWV zN(ki_)s5=yrX}O`iW_D828AGvTSqO9jHlE3kV=`+p@87FoFZ`8y4PDPGYRZJ9mYq5 zz)T52u;5@!hWx--lRJ}g8gC$)$73KsAR^yBEsnY>y_qAO^SqNw>+u_iFF%P6$223N ze@l(GwUW{LBp%s}!w^Q=-XP@OTQsBP^}Y}@zW(m_6=^jzMN&kufP->!$;qG2A4EQQ zmCKGK#LS;N7JFMHW|Q4fVf17_TtxY*+HCOsT4ogbiaBj4;zd_aNd~J@N}m5_WGV(& zwMg&=1slcgW#4Dn47}sH!0Oh=AVe0et`0dN;g2?{*H>XfNll~@+Y~-gXRE0#jx!%h zw--#9+s9cP8f!fED9s0~;s>=|ju;t(t-7NYwRINBTJ?A18>zNkIV>NpDF&S{48wOJ zLrV!q)!SlVS@k;GF5m02*{I=iW?UDHD?&&zNL@-;xzI#yr3SS7)`W>!^NoK&!N;__ zH<8d=?Pz9Y7V}BbkDC83?PLfaSXu*=dc$AUR%4Z`eW9&#XmcIlw{Zv0qY8#%JD(U4 zk>)$Aq1`DUl<c{tZuio`%k3yhBO@%xQ;-L}P%h=W;TRL?e8YO1yHq;CFGZC@_O>@^ z^C7qr;V+8|P<P{yi|!wH5?}^jdQvsEzBMX_FOZ}fXToJQ$bK8)pJD!ujNU3GJi9}) z%P1#f|5T!UYw(K{0nSGIR2xT$+978fzzuaz=U*V#yk3xbKF3#f6uzurbN0gKNA>ow z-sV_Vz%NO^cTBzB7)!keGuk8*7Z><C5WEB!5}-LmM~#SJnCEj(eHxxND2lKXzZHW~ z@P~zqBkvY^Ei{tkKW0l5b84Z|ck(oRJl*ju#27x4n@X=|`?cM05Qd)2=YSnVw-gRu zw?{kqw;>3rJXaAFhILBmPIK!>e>v;)(WQGN@^p-#&KcL~5U?x}XzJnu8O_|Qo9z`> z%gWw{9wHq@b$G5vC&KP9W*haX4tRZZ)|`jo^x<&c_lNY!Nz#-Py*N7WjW6^bd{F{M z^Zll;es@Ma(wU8<h%GKU1g0@;4fPb@^!9!YeSlAZCu?GH=Q7CF!SsAJ#Qp+gH;k&R zh(eFo4`_`)nWi@DzV7m4V`o|Y<^pe`c|`jglD^+x8lm1_;K!J@@4Ets23fhSg|e^R zE?9(u+uKNV&VSjg-Iw%|buZK|ov1FW!pgW>QX@cjZ5stmj2Fj(0k<UTcN<XZUrx_h zFMB)%`#(Nvm}762<X98Sd4AEXByxE1o8^a*7ArnRvJi{AmdjBQr2+0N-)WmwYv?Y~ z9SSS(aDi#nHqNLpQPg&p>qxB9aZBD566i~1E)CfnWB}+(s5}2bo2Ldly%qZJPLEg~ z^Y&_e#7^=F-C%D^zK7?mW$}AShRmuU#rBWkHq{E;y$a!J+xVdgO-&<`%=NlW6>oVD z3j(Hw&A@kSxK_@Om$r0)EpIdRjy6{~N6C??DV(N_!wH48b}$+)1}vk@x)Ek~<_d@R zFvBJw{}zxFdgcBNF<~RhHQW$P%<XNX&DNkC_d#k&nr=5heOS0TExPmI6`Z%+5MAU4 zw%+SdXy8P6Z5GUMDi*lD;8X-YW9|7vjtV2c&l$C=l@zh)TuIp$GyGL==*NVJ2Tp$1 z?b8Fx4pde^#45x&iC3#7$ElgMzkEqJ3E3DH>&}eV){V<{W*Y8%afkE!Y|Z8$TCb=L zw1G4YkE6qZWg3%R`!@ev%ZIv;hPth&@x*^*xmiJs{<G{ercJHw?ad_X-Ek*^PY+KY z21V5>&hcLGo?oEN;z5jy^w+p!Pitp-H0~nK*tQzP3W5%~Z(1$8Q&jDal79z!3=?ZK ze_KlnfWpc61o1Qqt$WNn(fS#ofzP*jARBy{#IL-GK->=Li1)sjvaM^|0IWy*U2@6| z<MwhVoaxWk`ih*ag&$r>ETd@XNXotQD@JB$;R^{>DUtM!e(5lkP{iYcfOMlKZ@Qs{ zNFrIQthXM^&}Ulqik?m!l@W^<cRHCTbZI+H3@pT;gA`SVRg47uLEI;<-%#v@TWscP za8)r2t86Tzto<ORs&&7|g2cbE{J>EvBL1yX;Eq8wfU4Gl&50krl?Zzw3P2&Ttx)Ub z9Ln`bC&q_cJ26qwb2$hQV>bkDX2;b46L^ZQwy8qZ(?#81)(y6sUpb1KF(AQm-(4tN zL+DoiBW5ZjE9#6`p7L|?xW)4E%#N<-qQ<scUI;>qXVwM&C{L>b(+5hi)4i(9eF_=! zkXLDfX#3-0b%&KCS;(xwWO0WNM8u_<?YAiS^0l@+ct_U+Ll_Gz0><j_MpkZUU;`bq zh5WGwzYB+i5#hJvbVB*G__c1Abkh%~e99z3ehsk$R37-|p7}#*;Xm>2!!pmQ!=1d` z`)oO&sRg-l1}@!0!N%zTfl#1SO#(%kR3Hdg-Vrs65p=BVrEWUz7ng@-auJOoFb$^( zg?f7*NO_b%@`*1He_@jRhfkeSw#Q`eb(iScc3Su=8t(N5OXJOcL&uv~rfByjK-Hf_ zAr&3Rd$7(oYB*oLW=8f4dCs`hj6#CpQhJk~|1-ZHz1sa&UG}?Ju%)<q!|^iYeOsC3 zkjghhp}$N?w|k5Nk_suO-NSzl7oy*N26+Ll=nTfcS>pex?D!un@!wk7|D{sbe>+l> zC{R^KfWl_?j%{iu6M`-fQ$DcmwQ|NMfg*row-<BIwjz3TT2pX!{}2#2Bk|;so2giy zyn;c}8Lpm&u=6TaKxbwyn*RKtAx|XuTXM&N+A6O9McUbgGcG8{M0aBWh1A#m3p9Db zov_{qkF$aV->F_|U2Db>Mn>G3@sDj!E5>?5$*(aJOIopiP&M-@CwbbR!T_rA&>;h8 znLgFuOxF0p3)CZ|@1@7BcG&KTVP(vV5MnpgB9OR0x4Nv8oe$z*$x;K=BY{rp=cmkN zU7uIH9ow&!VrTR6hm+3TND4hZ>gHzUz{s+{2W0^NqnS_`6#FcwbRZ<RA_^7MLYVkJ z#d3IvvG%N={b_?1&qzk_c?E+Y0tcSuIc{!;PJpK}#lq<NH8(;6@oL)tbjSQmew^xQ zn6$HMbskW<b@iBtHy{00MI+h|?&jW5+G6a(6*;q*=6{ZtomoeVcFBz5e8|ZfpVV~& z3bcd)nKB1;Naa$J3)PU9p`H%NR!yQSz%Zl6wHd|rFY@ydY}}oli)LyM05Fbv82t6& zopBOj^CeLgM+`Ze0(Zf>%=?gc0F%7<Jhf9jqa*$qD-%t`ixp5a01zcPiAI-9#jV0| zm8DBmH86|v%s6$~*oXikcqfoqcE}teK}_D27?>JHFRG356VMRF#LBVxPd+6z?>Dw6 z-^0iNK4^3?Eu2N7ZUu0o`85Bp^12cI=y*)r!SVvm*ORJ$Ru0NLW<Q7a2QktrP5206 zyk4aSmAk^{&Bkd~K#58K0*|B9l^F^DFB}(%K9)h0ic&NaREQTf?|$<!(e`m?R+pm! zC=w8;5PYSjVaM}6Xnf_ML>!chPW8W{Ea05cLB3^chuwVxe<L0a;b$TeX7Ir9s!UFR z{W^UQe>)<~y8o<eOo?epsIwKtZ)9Zn{o9EU?DI?2F;ETirktyO`pa?ST}wl@ex&7X zbB<mmwYvBO&?^4Ty?9JRQ9(hrwq7k5Psi}9Eo81kp;QAfRZv}ik>btFqQJz-5>}H! zi0RMpE*MJm2gU;w_ib^caB<u#Dm9kjTIJ2m@)iQX?7=<&b3MAG$&7~$Z~=t+fVIn; z0+Sn3X9n+DZJ>SM96AKSVp+&^znn$)p7((tK#i_o@`px108cH~ksy;IJ@{j0CI`;t zhhWte8~j_dg0pnM(UmFEf#uZHvKTnFx2b|TSuBP&`vzlLbh!yM=f5N>cz^#c3BU#x zSlJuZo*%X10>h?}L5T|ag^S%y9&Ct)u5iH!=)hJr=tuteuU-JNVt5lvMlqQXA{!eb zz-#X;I^KMYSyHm&xYr`w6^A46)gx+{qgPO{d>5nTn?Qg@Wc)m<VnHeWgJggx0I${R zZxy_-fB`{449t>V(NQe}ie9jhRO#&idwNA7fCmr(B|n%;2y8Gb6$ZEsu-!7HZ6KH6 zz=nVa1E$s$raxDB57{=$y3zldR^@l^vX`MI#`OF?{PfghL$j}enN+pyzEKagK6L&! zEvA6cPB(TZPn~(YY~^)?MxH7E7pHB;JkQCn@jK3y1lt^N=B$!Phya^VIVOMH8eI!! z@>02Srsm|RHoX%i{U4MUlX$<8D=#NwGVASnDeJ_9uCTazh=IDuXDq->dR(=X3alZ5 z(bdG~mqEeAb5=kph}{~)eFT89yY?(c>`Pv8<aBa9tc-Kw)$l;G0B2O~AHpweGfdze z?#dR~0F=CYw=sIbMg-WPFfP`@{BD;h3D|J$Iwy+<r{Zu42SspSt0a$?udgM~FDKtp zFMJ2ndj3@%)PN*2^QD})1O4ycHV<8Vd`ZKH1guW(N77i#i!oiWke=oPxH@C!5mm8r z81SEK)x#sw!p1H+210!543w)Bqjs2syxzF9Z5!KY0xmxYZGhksoTjhOS+Y-*p1*98 z7!kVZgm(Ubx3ffW$U{M%$oSXQ2ffEdH?EyJ);IwCS)J&8Z`EU*-$&pjZ$I}K4V~R= z33N()iU2p1Y*Zfo2sDMNH?S#(v49<Q-H5@DAKuarii$fQ_X&V-fZLf^0iQWRr&GO= z@w3zW$FRB$2@+Dt$~H458p~Iu7^4oZAa^l<%)noOC;_G`Abdv4B}+&#YZIMy$uzu* zNcf{<G_%ktbk9tA14?OUXHX+cSnJ!@3yMgrfH0+9g#)4}+XuYH$54cF!e}~nts<!b z;6+t5atxY*kOdYy+AR;z0$t!Njcb)qS+{I)_AJKB%qr12pOCkBo>hg7J$tU>hj^k0 z!9^LyDkTYixwm@18w+&v`-K6QoizQ?>wFKN5a_4{>(&b2z%A|qs0lU7-vl@+Ehz+G z_B1Ql*#6xz2Q^B!_u^SO<%1NGAqJIO8JQdt`%ROIu+E2%%gS+hIS`*e=J%`*w`7ZK zNDCRS1)1HH#rL)xL`YviQ~M-UFhP9ORki{-G-smDiZsBrAWVX25eQbzD^5;z%^ng- z@}}oI9CK_43APgnFd?P-vNEGia0z*4(A2zrP+8%LM6!K@hN-@{t6<c*FJWa^M}%Dp zXS1el3_SA-Pe}y5ozP*5^*KNbZIv#kaK1Qf@?z?U<-2#3$S5Dj#`MG;T&Q9wZsR~1 zgLB%1aO;lp)d~~K7t(l;Kqmssa}-8zaD9{VJ-JBqYn5_{6LCA&t211kb7!TtcS;~u zA^UN1E97^K&FhQVC?p!xXHyE?9xQn{Wd593t44b;8Quh<$lAJJqG&yeiIkKA<^~Rq z&Yl^HE}JpM`%>&#(?3+4s*ey&+o!UZ9`Na-lLK_tL^Ij&^BGeoFxN(txK4{Be^Ggy zlMKe!qDXhJni;>}lH*u{ncvKISR3J@YFjcq<$)3|gYMDBsQ?X}4T(^)eYVlC+^<kh zUcgm`>2!D1C3-nEF0~^Na968u*$5%oE|1)c3Y3CE48D##AmAOO>0>ZP_jPwxVe$Ar zvAi%TLOnSuSnfc)3U?yz<g4E+#jOht9_Qyhy+dXNa)?ts$V8+96#^#dB4V;zr^~06 zPVza7vq0bjPB0)W>}@e886c+g{n<mU3s%>m;;=FOyHR7`D`b#%4$C`Yut2&NcwHwM z6K@n!uq+3%0X#b{a(mmZUWv@+92oG?@sN_a!czo-9QqdzVMJ0E!Dh?rK$^uX)lY}| zq#R{ajMLgP<<ye%4jXjsnq7Z(knbP<@Eu4W`|ds6^}KmB)O&!s>j^U@=okMBb^Bdr zIX_Ri1`4ANAIO@(c?#W_!a+6CPFfl&vA|BM#$TZE$$-Gn*OrKPelV{Z?<KW3np+Gu z;M01D4?3_iAT&tF7UFo^R)4rZ+L8es=X7)cpMMdD1p=YD@)sKS(CI1Y*1Wa=+UDaA z_m8PQI@4H;Ii|eHi^?0@R3cfpl&ehgo`Dcr&W!|2HEO!qHzF&ZwzxIMIIzqvgf(K8 zeq8(Z3IR(Y?{CHYnpb_WZ|L%Y;`=`!dB9Lb5B)1){~kgri1rH>pS@C8FKa(oNI)S6 zA|e3k=^$HCaiIbNbUAD0^s~HTy0=zxXprE=R8PzN{_K{R4uZXh8o}q(0!^$qvp~A} zFo!`N_9AyW4di{mA&woFK?D{pOJt(GAbHnfx_Quyqplue_Im@Xo$}9II9mhC4=<RI zcWh`NKRll^8=ckK9ShWsXheQYu`mLWDX*yS9oQHn4~)z*xc=St4o&D=s#B(f1%<Xc z$5lW>^L}slZM2%DGbbDMAtDDr_vr#n+UMhB73bm^30%5D2Kf_ox_@!J`ip)(Zkp4% z2Qp32Pt5?jpoxIs2?9t&EL|}g^7)Hre^^1L*FL6%CJ~Pd??eZ5_$vbO`pPL+i)R~} z2?MgJowSIK=-z4)Wg&E9JEo;wKu?%NGcyH&185V2c?{l_^Fe^i4~6DPwkX?SAFvB4 zK&FD*<3FYXdprc;O+$ejmjy`LGpg&&HM6V%A;ePH`72RkkAKwHkqNux(Jqe6D0^uy zW7P$D!SPPo|8w)_e_Pvt&wxGoU%D87d_1Q+C4h_2Eo>;6|MjK7e<{KGbFDCUs@udT z)w=cd{f5vkZ}V)mewqi>C%Ugl2pbMnGPmw<neqb)yoC<qR}=(W{dzBWY@x6K*t(}} zMi9EUem={y3o4v{DRnt{S=H8-vmw8Ws`hKp{t39(q=d8*RSoTK6&hV<?H7AU5HGc_ zEEb*x!p|l=E%B*d-8u0)o|5Bvobq6!^jxA`u8-aHz1(WOI!butqNX79@$|oJ55;Lo zyZLOP>ap69tzE0*dVhLXce6F?9$)V=mGb+xXW&0ZaaIZ>hV@gqXRK^L#QCis`SHw` z5hhTHqk_&@^)KiF=3hQ>Bb4)0D1e9H@PDx7Os7R6@RLZ|3+~lBLVD<2K*?GkF11B> zIo;!>L8}#Lee3Jv_;4$TgB1!nE;AUzb{9I+&7G%)##MU82l|EvRkS)_w@37+0@wR2 zEMgd=HKW2o`&cI+4`q)X@C%o-=sVb`Aa;)u<21Dtlfb33nSf(pI(?GuO%BUFZa+Wh zc5V)+y6?OUN?wezC=zhMi|ek{`*p+u;jrcB1B(HiIq&1fXnKS0Za{aM>dET2E>s3u z(H+Gdr$07DJa$BYW`rj#dmJ}R@~Xu%wF8U^X=78ZxiT~0o^~G8zWyaadvw?iV0$m1 z6*i#BigMcywEI!wZtL!<XzM}l@Ad~DbTNjQ3Mpc}cD>m&{(aF+17fY*wGE*A0W-Fz zB`I3lLZB;<w!%RVPzBYi-s6OeIR^PJxNEQHR7s3l{$Nih^ZAE*X!ZQ@S(Z$Ez2tV_ zQhN2lT_vebW++9v{C<U7^{Mqq_pr1z^C<@(lMtV3xD=3_V28u5kg3A5+es-1%3)WQ zPSf{Q58JvhD+j-V$T|z<9%L0sd*b$=VQs)NgHR!4rMeNrt>y=6qT^Qlq5T=Xp;>mv zlQps5+yaE>0xx#dY|WQ8E?mC}zJ8OdPXf5H5(<9Eu1i+mY-l68M=)AEi~eDKC0MkK z!we}?`}RV|Z_0#r^wBO|I)P%4IpUz#nIo-ww_ghRmwItP?*A@Yk5w3mCX)Iy&6D>% zlUlD2@$^db)zY&)L5RIn>t9!OzQKCngS0=(@PJN6Kk0a#f>JLaLU+1d>0IPTM_@2u zF56#gfN{c$h$HLC<^z~Dx^7X_N<^UVgavsTK(F*(N9m>t5d(zWp~_Zu09w<^K_g<9 z0i{SroPImvvHs<LY0z0L5zmp}r2w959Z7y{PQVCz2IxFBm{bfJfG8P^x2`lHTi9LO z*`VuFY60A{6~2G0K)nvCQ0~#Y>5{t3fJmX*8k)4pQQ@OW1+#`Xr|}2<cK>;-v}kmD zMYtf6&ujO9&!WPpR@|W&Osl5{DUvUKgccF+&$|>OEABpSP3y60eZZfS%z5*$1#h>y zznme0DB(63YNmXL%IX6JfrWc{&vv5MA#<yWw@A)BakjCpdOH;_Nk8bjl;HW!1yRO+ zigf>v3hYFk5ht<>FJ^oSv)}H`aWlo=wE--U2@oHx;wn%B)*%@8oqJrJ%+mmi-qfi+ z*l(id%0$SAB&^G?trTZCBc^_S$aJ%AJAQq(<c<S*&M<$(3~7#+fSdv0KzO;conP8} z!2@m3By39C^Yp4YLoTcn^cu=L?Yr)LT8mVS32wl3a4zcAMjI4$wF0D7w=>NHT#^DC zr9zjH<z24_srTO8S>|M)%?Jj~=-D|=z{t?|@}_6Ot=BJr92j>nFq}fR+H!Y{z9$H} zRH2*Bj`sB*!(RQXeh33irQrQS-6MeH0gWS@DsTcwDc{H4e=c8y*C5SSG;2#EbNp9X zqI+cPrn3C#>P%k3tht1x{3S8Q!$YkBCbZahRM4v!GTA>K$P*s)rS7=(No-eUw;s55 z{mEiYX7?H}u>e!P`)Zmwb5RE?lWs>85;gAn9C!PDZg<z7yk^v~(uWT{d9_%yZP`k( zffLSY9_Yi{eoIv>zgy6Npa8$n18SkoTJH7sVEpcpDQP^tMPDIG;fqu<4^g1qfe6}_ z_>t|IBie_o`jSU5RRnN4pKH2~Z6R|2^uQmZE{+?Olzk6y2@0fztx)U7E)>-j&wbvu z85w6;yyKcX4sF4&S*aQMcCDFacv`ILbe?CR4p{d7)0NP#Dl+#sK^m4nh$jV?+^$I8 zSg#bOhX)3j6#PwcY(WaY3NK@kOzHy#9DUc9Vpt44Fk^a;F2|XxEiRbHIhY45ZM2-W zRT$_xQ{h57fPm}SMdnst1r7jLtNbyYrNUv&YuOz~s1^g=kx8^Mc4+r%Hm104MDW%2 zXhhtG9Wg|#U^f0-19$a!A3Xw$IB2qT6dv~x_h?ErF%ce_wG$;Dz}297D>TmPU&p4M z5N*`p3g3im;n^qPT)6Jx2|j)1#5=r4#kjvr+DJwT`hvMp0>xf|*>FE9Jh{;FyBgzg zh~Rpkh1M;E6!*aXLIUd*3UAwa>-BxY@v2TLmGBW?Tgas<Xf^OyCJuT=2$4TIw}&&H zHt}^oH%N{jSY1D?GPKEbUG;zklm((%+Dzxof>GKw1z`P}N9Vg_Y%brdvvQc4ACzD4 zyuMBR0AziLD$l+N>X=Rx<|A)OTd5XMjC5$Kf*4|v<`x88d0dk{{>CG$%zV!UBtiib zrw2p;J_!jM?~(DqGL3}`C3m4AedD2Zzi^u7UuLpxEErzeH_PP2;2{749|0W9^bX{T zwnDPi3*a=_&sOF;r>vw1G?pEEfk#^4!*dOI+-zU;Zx3~VSPBsb^6KsKdmCKg6Z)=A zfb4>}r_AinrHlx)@Z>lIpcRKo|640&68b8SigQE41hL-f67jx0+D6N#pWdeLrZ29u z^jrLWoZ{fXaV_>aeIQ!GxLNhZPUsdCimyLhL6pt9tL?OO(lMkZZO<P8$DxLIm(JfC zSDjN`U!c@jp*WJZJbYt`TXHv(-#&QcEG*j(mg})+0f!C{{uX=2U?Vg=GK-c$8`W(h zwhFH&PDOnwkjyFMiHu+VquOLfW3*8D@xCbRqdt(Dvo_liyS{iKljEKlt$UrdBt>*@ z14*r46Z=FHKxxeUPocZ~OCGmXGd1^}i+ND&O*pOh>K5N$rd?AT)NI!3&$cv^PWYg) zb^^Nv%uowRx87o36dwIaNS)H@^b>lDkuhs}(t_CMeL56Q^q2GH?~Hx>d&&vZP;S}n z`p(B^BM4K0%PO8oTj1=U8ums>$CEckZTOukP~iN6LxTS}quHtxm975SWFrG9EJPYQ zTmF7fqfrLVFo?ok3p(y@Zl9b_ES1hnYSgxTr%7{tlV=zhkc<7-9NW|3LLCd-wdA~< zSPfkn9V+SG0q+ang3kW&g8p>5FfmIrifQe-mxNUP78k#?M=wVa@-B$L-n3~rs~@V< ze-Z>4$V=ec&X$}|fOsQ(g%ch)07nmGVOyYa(}F<v`Cw85DANXtN!^B!eheT%qVvdJ z1pMM4|C!T1)$ZD*vCO^X3J=NQo`<Yn@f6@Ow}E~Hf2T)t;H4rJEW{!00Sd{Mik_!a zpl>NhgQ5JiAJ>5MH)iZ}3cO3uJOR#ay!#*x3*=f!I)<(k|CUn%Ea`|w-r429sT^8~ z%eMMUb|4Oe3`&uu9u4SWw1*CQAg$5Ed~4te4mhkp^sCYTqWx{<l@x+Jz&9U70}pyY zUBHZ+vXgdZ=4JjH479673PSN&?SD^<E{JCsX2Yq%@7(cXi0Ua7!O>eCKLzyj=16rl z<oQ4Ik*X1B&1}&23`boc#h|<j0$0}j#)|;`{A;ZUZhj2MSrS;z*Zk4H1BE~<$Z7o# z6RlR|gRatX`ZCba0BKesU<d+{-m7BP&Dwm4a(0Br?#}x9q{VY2=p$}enunlY$x;3j zMdm*bbII_4Yd|teAaTcUgc^gX{m7&PB+SnuKOS#rfL^v$jTG_Hfpba?xbNRuivl4P z%<U^gx#u2FkO0fNU#&6<I!f@|1Sc8k<b_2+xmO91^z2*HdV7Re)@w!tW6vo9NApK- zes|U#Ptu`kHU~j6JrIJN&)pm?2PWzqPq`NwthMB~EwlHiYX7BeL9)(ztL9gPdzaz> zv`hy+Ih(kzxU;>f<C8_i(SaN-=s*5^)%EaG4w4DwWs&nAkAR*bAfsVuHSK_Yu$zS+ zsu$}RjyuP#<+mFweO6ZALOnS<za2Wmp|gT+3dr#QaFPddxJKF4;kW+p<+p!3pE+Bg z!iV_$Q~Rs6Mxyuq8JD{utuK%id)}B2GtC%#8xb7$J^F_Or%xDJx+MaRa%mqF-C>*w zWEH4jK0)&b<m?6Fa9S^zN$a~Mfj*1W)r$mT&{c7j!s`oZ0(c$rN7T&<9NZ~$yka)5 z`--&xcum5t?Igt;QbC7nx9kiH5l=y*&hDO&y?+%;G&4Pn@$mikia+mKN2EU4k+@&4 z(kcojGGJrL8va!jy9J)^slPhZez<kVR4}RAUTQ1@$EqHfD?$5;sv|f@vaAARL`aCu zpew2<fb&OpLmMh1)1)N-BSD<s1vz^7j4W$bOf0|LcJnnY&56U$fB;KM;06d1GozyQ zPk)6S_6>gk@)M+$>mSEa{@e2Of7R(FL-)%Y8=UMaLq<p&0H;i@`CSnnpE;~l6k(Km zyN+M+#Snfy{ax{_??XwHj0$Z>xgnNlJ>As$+=mBLhRdS|nAS&U<Vqtxnuj`2Q`2(% z&CKbXh1;mrcwWO-j~HsjD6LhW&{ICM6-9adtV1@sWm(_;=8xeE!qb5R?nLq8?)%#z z$$(1%%`;KB1jt#$ByJ(3YCkW?5yhS`(A7!3;rhy~4O?w1`?yy$0U4T_00&DaEbSWI zZtGI^wj3PuP%!yh=fBp9RI^r__8+JaoJ3(GJ!?g?!rjK;o})IHHk5{JOGrHo5w2%L ztD|lp*;DA%axkP00`3>`H*iev`8G}bhW>wFyWJ*~8hffu-t*oT`>6gt!A`Ba;YTnc zk<eAo>V17gt>+}3G-3}reQ!VqnK>`y9gge&%m9#CEnN&Cr{zMwEP_Hw2YBa*nWgXG zU=GB8`rxyWPsh+RvmYOFL-xmxqa!A0f+Jtg1ph=i{3PVE{V+3m@pRg{=|d3=_3Aqo zj4oA3nej8-5!NWy7j-nT4MDKaBh}|ki!C0i=6Ka5EQ+U_9jb>5st+Ze!xy@_c?8sN zME!a_dOY8|e&d+1&{@Bo>~d7U?KC1OS%I7awFPRfJWWnGL08ediC2NBB-YNPLhd1U z+rt$tNrL+H2M>+T7eNCyBTTb_OzbY0#EG!zGq4R+o4;8vUez_7D(f!$wSkkX0+Z9q zjm_>@aKe~yY&EaEUU?DPha|L}^yq?Wh9bvH0Gai!Pp(g6e9+bM-Vy_Exk;Csw6ZOG z62pyS^?di!?@D9*eZD6stf(j@uE4;+uRKTfRD7o&x~~Se-`dc&B%r`u_ZM}9Ww)JN zuPbONe8*==efi2}B})-<M`6skh_;CT!QER1)zx%efP_GBcXxtIaCZm<hv2~_1b2sA z+zG)Qf+V<GaCZp7AwYlt!Ciw)-{gJ2sc)+0$JETPsi*2G!o8f+r+e?U*WSH$pU!AO zSp{R-wHL0iyu~-a%;*g^JbY9iH+fr5QsMiZr!A{&S5N3f=dasmu6(=TGLElj^PgX) z>et|CxbSi1$QYXXauR$%=+_M)V}ukte39_DGWxx<Be|50XJ4uR_dd~nFO6Rs%aYO1 zaZne-Wx;g6&>#)90S{Cny7>00N!PgbX`j@%jm@3{%R9rtTYLV`AC$%qaJXtagW*fS z@XrwyLn;W_4TU9qCF_><2>y=Uj0BqyJ5_BU2ggQLRPEi>wd!nVneQE;R}_H&>KQM5 zQLbu~trGoS%UY)7R!OIA`U&a~R-yaGBKHOnb~j2`;@m)-H5%&QYe|K{g~C}*pWOEv z_;OL9ILE@MlL$qlxnTt?)qWmK<t2I&$suiNm3tbb3|{E&@X8n#w$Jlo7th<<oANl5 ze}9u76XK=qfq16i-nGg{XiBk1f%T?LD7d-Ls0aMJedRL1d>X3`h3N0ydY&MmB8`5b zN#6+3z(GDSm1NCU=FlOdi0pK1A|K2aLx^%%>HOO9*k1zV9McXSG~x?aG_l~W!Xcyv z&CW#6mB}gMok_zx;a+{JQV&4S8S{@(vAWRPUNDMy9g1>odud~vJt^|#{Kr?f7=MIN zO2k0Qa4IQS@E@i_NRJ%)`q>0uj~uO|j~@60F_5qYY6h6S`VtwX{hK3JCxD%&F6taz zo<nT}j*}N^m{fniN*T`i6b$~~tiee{6G0dD-zSKsqvC&W@z1o(o`K~dgkBzc2d=+& zz)!3zmwf(S8O9}++{wo~G$?i5H+=K^lSeWY4hUnEGE8KvZHo!~im>8B8;afX#5W{L zH6v@hqMK#-YtyCY_Ustl0vg1h9L)ooUzr4mszO3s)_-Jg6*V&%2ph)ynIo?9_KIAZ zGD9-rK)<Tw;V`$j#t^J{4?~W8M!Gto7H>G;l8@NPHoN{%|Li60tQex=-JfGTpS8o~ zjPTe9=yaGC{C!qi)w+_ta@YhOpJ%VgM+qD3iByFRu^n7tKYXS`V-y*Oqqn(4W$Exi zcu;fplyB`i%N!Iur1%-M8qi^N)%Ep43N3xBm@?kc=~3_LuhaI`$cV^OQ@4lFOfkKK zOYc($3rg79CdMc5%@X!X4w{Jshi}T|WYghHPoxps`divi4>&a;y3O23IRRyEgj@L+ zy7S;YO0Z9xF{7Rb_T0xUorz=)Zo>NBdy%t|mUe}arD5JElDZmbtB`z1T8pcpCQ>H< z-YnuEWwBEuGhgr1vNR=uNrMJmIFq1BN)ED0Ln>O`zHW9FPw|shR!H%0gRuU#)kTr^ zDr?@@ySt#}jS9r*JSNl<9W1H3?@I?4zgCCE;VijTKad35Se@IegfX|GK^8h{5vM*g z{K%e*U*AyXp`Vk5uoH&89?{@%upG_ZxNSsI{349Fyc|IFLgDbT4zu^AB-B9WJL5aU z1L;z0d<bS;J@OB%2~hPL#eeS&At#uB>8|ndsJ`q&nYRCfTE8SJw~3I&mb1#j5!+4J zF&}B+VV~dDNN{xTPSIDY{l13;0l=zh^Yj*?@^cvWh{jh=I;JYd;BxcAa*vGWz)||w z`%n(H`tTs~uafv#;z~cGF^nddo`u@};J4~c((ooM?M~a6qGzt&s1?>s4E;IZg?#5- zjW2e<Y7vX@%=u&})b`GKHXJ<kZ=Ec3ib=RV*YVeD%ONLCuC2s;<0RGY7Q63vwY=mJ z(T`YrDhX_ycBIi}8w+b=<$_U876t^aH_NcB0xG)G@ruj%Mi=+R_aACtQdD-GHd?_6 z7V&XSIuu%@<EO)G-js}!1TByH?=uMAIo%YH?=5}rB1nZD{6zX+EkH$^t}*?b%=+Er zI|D((82H+Ssoo-PY0i9;F_iW4Q-MM%aAZ46XW)Vp{~wp6F@Dp0zpA4>YUuMofBz#5 zP|%j%&6={34@;z3wV9Ir1kpV;Tha#nT0utav!(-9UWgbt=zDHiGlVhAkF1@;g+u%o z3FzDY6|!bQc95#)9OD%>1G}ynUT>P~jy8L%gYbBJbd;%HDV+CtEGb#|Uv4vv+G=(? z2g~9ycV~^bg-2a<t&ll%lNC!U)?p+(C>@nLop|yr>ZzaH4Cn!Gh|%*~ZKIEOJT{TT zXUqE1RUTD;eX^u(UZA_$VaHnB<XH9$YfUn2b14V>>7;Qu9PsS&qeA1$bHdqXKWUt* zY8n&@ck`MDHddKHp_DyL!g+0S2PxxEQD;@hce-^~m!?CNeDP=FzOznBQ@*33zKHVm zJUZTc+Tf%0WgBf>6TOzNx!;paPY<(n&h7;Ca)c$kH_S7(g`7?~l3A>Y<6AL%-$Fom z2(5z9K++llDDbnzqP|VT1zQ!aFYnDkBjr{T?F(GsRC&1;M1iK%s$Uz>4%m&*OFJEJ zHu6?$h$8PuujN9;<8y-W;>abIMw8*>XgDhRyVe9LAjNmNI5DdS)n1Cf_96}sJ3gd1 zJRU7+735Y+JP{K^k0mP;uS%RCB?$*FrI$dEdQB+(DFUn#HEZFKLy?l!`ufQ`-y3VT zPt+mDSW4nv)zJbEU~2bQb%Q;V*wsJw^0zjkQq<K7iR+6^|J;vfD%1HG-6_sS`|#t5 zQVw$RsnZ{IvfUUg#N<;fl8vB+sZVJel53uscWPlg%<5Qpn<2rTM*9yXFnd~soF*l1 z&eJ3`m?Q^5;f_>V>?&P-8#86r8sn!Wnw}f8eR?bbd{~nT4z#_0K3O<nx3(%dDO!hj z$GFJ4))mq4_9JMl4o0e*i0odBHTbr`x@<d>ZH+}g0c)yD^w8u{pB)i2a@IL{G*Z18 zWXpiJ@+~Q3{Z_Z<JzQwB5lW!bMP1icwQkI0lk2BvH_htc3-fgnF$rS3l*jux7kP$r z(9Z(OpP*Rw1&*AFo3;`H2i3iph!%l3ZGLrbs)*?%{qZKyIw47G)yFGtAjFL4_uCP1 zfWHb+=1u<nFlI_QzF$mbpx0QnXP378D%RRMK*PF#;oST@;o&1S(KHw)_)uU00#Iaq zzALi*Pct2!j|VOl?;=8t@e^<z-m_K@Ijln?oA=)DY1F|Vy4x{#7UJ;Cw^EU;h~j{t zQ1!MQnaqyp_+m4cLnU(03Jnwa&oF2JFt=SzABf!RtT3g09vNSX)XleaiePY+xpIcY z`SxfB;(e%iEjNUvp%;$V@fe%<j0Q(`ikqVJ!84jjj9gk(5iYnr`{fJG>UHab-R>Hp z#`sx&B*|(5SX`6v(eWy;@fZqs<D>Sho@|0ZLZ!d)m=}1oze(3`ILxF{%l21aCi6CC zm=W(4$!b5&Cha#`wK~1^x;E~FHM23N;qQ9TjEEdZSA6sr+iQU+Q`O=jgb8s&B4Q)N zRa6K}O=%F^Sog~zJF5{b-iz-qldRo0(s*?vTC{hm5|GMbhs<Grbj-dVJ#UZIl#fUC zV4LfjOX=}#1hF!flwrVl4i`K%G+w^?#*(H^5s`zTS+zd#GT~>xK>o5zq%S=*Xw%Z& zeofQ{m`^fm$-iHw1dMA8rT+MGhXf+{#|7^lQ%_m9Aa*L4)6p;JVS5mbFs3yAnp#-L zD+Q6jK+n;WxLGT-mQGS39S9%|TeTfx1YjW5a28+Y+_cQN?K8P*1V=LX%=Kd`oSG_B zsA}Eb2>i%HQhXgk+L6gqQ?XZKF*M&%8-8PppE~?vN#g@_ovDXOy3|F%PvYV*7z!bL z_C_UU-FH_w<vl)=(JVSJF@nab7WT616EbJMc!GLUX=>Eq39_>{fI&Zzf#0%jeC#UD zas9$2jk@Fe)Z(<l!T36{%}ahQax>NG80JhDtTI`pkx(Y}kHs1I`{XgUESH_{9zg4z z)|jpm=(+SiYYFI6skP3NVMkY3M0sAfkMw?RWC`t-?4L3(rt&0WI?s)s_FU~|+<xG( z5lpW%>{=vXC+te|*=JxTw}RbJASFHg21m~*fG#5P1~CqiXu7_t@mc?!?EL7=)IQ(P zJ#;yz!pc45HXKDhTx{9ZSa;R#v;ZW4&H|HGFLW_uX1<JyV|vE+9I`7p#PYeD=K&mx z2w3Ggcso+XXai+sWPZ&C@0CcV`2*^RuPSD_24>Qpux%#wTy#RR`gjX_MiWCBW=Y(@ z9EG(r_tnYIPJJRpik9!U9pD@yw64eM3Dm9bVdC)Z;{VZXU^N-R<Fw^SR~jTXy(d`8 zc^d<B;n(P@2J0T6Ym7IW-Pz>)ZwaS_lV0D<?)K<fSmCEWOzpEwQDCu|7x_f?;iUP5 z3>>wPcNmuSH7=o4-!1n(iK}V~?9GYVf<FOa-`+#SU_0H_c7G5S*i<4dCv=6E9UOuH z9a-`vs=w}MS0n_{rS)pbFYKhw-Hpoc7B^+Q*?5iRN0ZZL`Bnnu3NI}OEk`igK1y`I zf-!79%{L_RWb^b@v7HRExAP}>dq>ZhIWA)d67fHk{~<CRiK05@Y#U=YYJ7I4OllV5 zLi;ydpeq?mZc0FtE9c1J!&M<uN{zwcNOSi%m5j39ydwoWa*ZX-)Ir24FV;CK+j~{6 zU##9<z6l&WW3Sh?pW^ZRHDOc7@3exzdVTafR_HSTt~Eg1BqfErHoe4u^N@q(q0}G4 zC-m{!bX1zM#2;%65V2)l7dwAbJf>Vt198F~__fH8`DZ}{*5&dg-mCsl?>AOFvKyXa zYc{%>+?4-tRthK8W2;X$$svmhR$KYP?!7U%qCUG2HsQ!*gE1pTXbFe!e0&55*BoXg zZr;yEz=9_?Y3}{vKM6vA?*A=MZ;sD7F#{)f&q{G>aK(pjXs3+_yVd8O_%xYY2sPh2 zJ#MQsHYC5kbY$!Dyg{e=9g%XT@ZId00;U5FH0$Vowzw6d<G58fbM?_N?Vi!xl-;rE zX@(>|qmt}Paq!!5xS|3(JWI0M_>1NJ91OFSVw|!gkj(?X(biYlcH}_^)&~+0Obxxa zd?K-Mp};ur|8#t6&$CpWTem}0d>Q_EnbF*``KM!;oUzWuP|nEiH|2_$?m`d`8AZ$X zb_CFYY1htbnHOD^%Q(_il2#zB7;X3>r<KB<0ao}{*Oql~e4PV8jDhOC$-uD+mC#Ah z_!e%>-H-NFbs}^~vs*R3zrWuUTE`tX!BJ(kVZP&i*^_30{R^H7LjZx?HD{Zjo6)Dt zREz=a*{V?eDN4N&Hh?u7D%oV@-CHsSud1Z=+uYwC=t}EJ`T&oD$+EdIou_c!L1cji z{1b#E1}4P*A*rGZr=Yg}_V%Z*^3&v3_p1b0=RU6Cr@m=v?=Dgzd6uOeNQm+eVZuj; zr2mYhsQ$A4$$Vxd%fN4d0gVRf<2gaXtXONh#X5H*Zqor5Mq5o@SOE_;eaCSh^T9kX z`uLQ?$?k8&mDd`XoJD{Bc{-2cmW8Cao9JC9auE1Q9OaQgAX2;DczHEI|G=PU%{zB< z?P+4ALzwD*UwR<#2YyQm(cmGWj!+{V4rz6pct?7U9KQyl9N!uz)w%8!+!s^R741AI zQdopw*_L>>e|C<W()MQHpHM7lhsNxc5u9KY=4WIw^pDEYeM(vZlfmJm$8B%;#iA$- zsjYvb7emnZp&CB|sXaXMT(Vv{Hg?9(hEe%0w<olo2oVjBl13?z=FhMrph`CJ?X|5; zpKkF_nDJJ^BTu_qP&Ra<uHWFL!q=KQ-5JB<s;wX*uX9FiWc8UC_I7wl@d9ebz@EIe zyR&B0E9OJ&gZ22Fq{fbIouZ`kN4sWN44E#tPGB`XDF{UiiHBr4n<i6#-VK_=!oi)F zKmKJdMOX>121@fZJ*5~(9W;pdk)j(X;GjA0IL{9FV@ch3)VT>_9iecvuuhg#valbS zlyI+Z!nJSK2aXhUTME-m@K3DJ{mG&Mrg4QaV_|j%Nq6@RNeR9z^xOPu|C$)xPdied zz($v*?5T;#l<oPsYo3!{&-+KMWX!0`6n3?*4S4EF*i=JIzj*nm8k-$bs@8A`+l^uU z{~X|#lpL%+!kst(ng&R+)Xt(-ov2r!^81Ub6QpyQo>=zk-M9grlRrls{_RObew+!K zp9fBTuBx_fTz)s&_SfD2QEj(JV~+m(K90w2uDWd4dpLQ@F41d4^+w{k*5k!<!6)2V zVqw#a7dlrpDRlb4l{CMqvow3*>^(eWh}_%3IK6zW(CTsmD`?o!pMGdxdd`nSsH7}N zF53E3g=)Y*d*9dr>+#+OtxRT03Xd>Ci~ytzP~r?tKw=wEXMdxF37yAQsISFTb_@>8 zOg;P2sv31K6!oFhq$36c1803IW}(SlHV({?)9)7bSqE=GMAm_kLD$b{oS4(c8@2sG z7-I}yqdOBC$=(Zc!T2-~tZ#+r8Hky6hLP!lH(Bb3Ha_PN{e%R~<?RhQ?st6@KF)9Q zubcW+1$^Ei*yvbDjw_79uJVwZd_OW14@!3AI^0Gf31P0#dsm8%Nof{b@D5Air3SUU z`o^st0%#8Zl?zW1uk=DWIMI=*Ynl1tdee4QS+l|bAOvl52JaUrX?{my!F376Fmc;x z40r$dxIHUWe*dcVG5p?ryTmXij-%129>BVxsQ|Q|u$WY=rT@{Tsi!tP2RsX~OshD} zwf%|LU-)FJVl7IaIs%#|`iI}@+sQ;KC;UYAeMDtLfasSFZTxqfkJIwdtZVFSJJsio z&@}RoY(c1oapbF0$E!mnL}7%-jchnhd`f6VX$4k^U|dSXqiAVrP1*n2iM>cE=hvkx zW`0U?pZxrJ`{Kb4A%i8v$wM$a-t6{#Xuc|M`C!MfAM(_P!)Khk@pBNREHM=CP2mPp zIq@W%kP-U~UuG=6=b6ZnB7Jer7h{$--^2jU_1uPDHLP2h5hO&I5%ko6(x=2~=X0z+ zXw~H7VW$T0NvMk%G&v&64>{SZMA7*Ah3M22Ao)TLcwB*H2SP2I@X2mt0C-)FN);$i zun2qLM+(O*O-W<s$AE-_-=_e%k$nalW!*o&iE)2v{II;g)PZ7QF)K8T1-B;p|ENy( zuY%T_`Zw+TS3#rfM};zo{LnWojT@8sE%Pl7&tYNxmb1zKmDo(rB|vS3s{|1Vsk2;v zt_pCE#?K-DslNF^@jF`Z@^C5Q@^Z#r1>tWQ5{~m0x(q~a`wM40vy~1mK7#+L@l7K9 zEl_UkRW_QOZDIV#M*m+o+4VeX^Emn0W%p&K_~*$$i-^d72K*a3V9V(>8tk9@3mZ_L z0&2mCNNBD;>Hod*ztX4KO$Jt~trGEdAd<Zb#(zfR{ckkB_ZPgrHJeh<<^5MY{Lk>; z61?~~jBfJ3QxV(t$K7;nG3o#MJg*0P3Yz@>2yTt0ZGo!Ozp>?G{H+%EthBBEoDie< z`RAx3B&T=jVCO$|O<4-)HUE7Vj??n5eg0?6|8FXu|Mx5T|Ib_XGSEI3Lf^5DG>Le% zKO!e@g1mdKr&ux;^x5&#(wQ78nQj$(Yg@BaBn^!cq`S43sxOauOkA?{N4W*n`MNmy zy4Bgd<I1Z`#N(^(f<<9ZFP9&N?4cwwnwU(?FP5`o*C>U!p6RAd+N;Rbv!STPL+k~v z9P3Cf!(-7yE4Y^rHus`?gE_zrd%$1gZs|7$7-S>3_^R8H7pPM-e)jqTuE<%;iy<Ll zCdO|0cUOWny-eo|m)Sl!K@|KKzPD@4TP-5xJ!6jUU%7Rw2Zv&VzS&U2W#e$fpHVb! z#}N|4P9UXfW`w~6R8sZf5MjM<B3$^e{!#%|?rr#d`DT1Fc7%aa>zElWhm=_rtXbKt zIManhs=<qQaD&O6O*C0Fj2tsxSz4|(9P3Fg37KKd=&3|Ui#l~q9k2)?+i>O<3{<E0 zSLZ2z$3{nuMRD<rmDWGoy$8It6CBDseqc?86k0p=T0JpvKGnE!JAzPD_AAYcSxN|z zz)Ry$3hdO$uE*z)8$M{Qm5T|SqEoX(wdN@D^I%LS%TVZNs3-Nd*h>XODKLNF(qLM# z$i@zTjF`7GFuqV~{+?7w!%Lsa^A3xIM#@W`_??Zj@t0v)cT3dZ`yvZ#9;cV#7*gt{ z{O7OVP4BvVn5@LX!@`1jV=V~QSu@G1h8BzwJ#9z9ynxZTY%;e-_$k#>-;p=E$z8<H z_{;=CSSUMD`rwDYOxdWFk4PGnMJH)T^x}Yl+|g!_a@P^R!M`I7w+Jv`WVdqk+W3%2 z82j!GKDc%wUZEuYSv~(D<W~XWv}TFg=ebXmd{3yc{wQfE)}g{TBOzj($yw+=gMK%q zfOFs`@MQ4iYjLCE&}zM)R!}=@D|dE%BVd3bE&J@nb|r(7)n?Dc1P)riLGTdW7lsjW zyO?LhZY-X6PKs@fZc5K*wj_QEK#DhXi4-)GGse~4#7FdAb7&FY-3h04FpsO$3`@DX zazvgbU{-$2*Gqx-OCmmDYJN@VLK=Z&5)>)5KBo;NkqNnxC=$9(B_kGDX%%(4_|}Z^ zPrs&QE}xD6X6Nwt&;F)etZNsQf4jLkCKJR-0D-KOdCm|`ezP2qz`_fTtU=A#j@437 z(@PYzy@JGrM|HQ-PVdw+Fe*qmn_gF;MAy2{>yjla_^E=)Z0CJ)tDw=w#H=9WCPROB zAEMaw(-_OuqR2-rKUOMMaGVtuhXiNTz~k)Rn2}?AaV>M7zo1Z>T8Q~s|GR;Sr~04- z(6WY{-HkLj9tmk@BDn}91yfmFM4JXLTb%ew_H%>RgwU`JxHxt9Q`>BPqv8f3r8==1 zV<WH&+@+cXin-{>r`T)HtNkrw3OX5ZCBDpBR9DcX@S)f95C?}`Y|_x{g$|#h0?Sd= zOAY*KJo)}mTl*HA(Bw3FaY!K+w)Z4&PWsoE4PZK*I$1HJu5{OdCuMuPWvm`re6p~A zAv_HDBUofOc&{b2gmlt~z#qX+2FUQ~A$h~+ou`-UlnjFi@mPLnML9Xo!S@)F)UU%m zKMeJLnJmU4I-CfW561{HV1rb$Q(#9tk33EIkkOOOT27D7^OdE5UQY5i50>Pb^sJOj z9%5j%?9)POL~0{Z03NiuuCOjON-^@bb*NzB28W|%>)C8nH+8i#BU9h*SxfppcmlhO zPs2hps)jK!@&8gjNy$`l)WsB^D)<$c{09ZU&h0ok<6J&pY2lQKBLy!3sVuyp;TKa< z`oBixbW$mBBPq8$4Wdy)OKgLK!>RC5a@7X%N`!F?R`}@^fsx-T@SM8f{AAt=VkeAq zYz`Kv7>blp^T&pTZ3VxCB5LGEZbz?*&r=I-7gq$Ix>BPEEjWDpe0v8%KCR@2Tr0`V zvfzWs{)y7xvlJBsJS$OwaZh-BrNFX)kuoWg68i-FUo~HYhHdsMI&E**0$!?j5dMi% z-p^A-vi@ggY`vzC*Yn+X(k-wXEa-1^1)Xa)DDhD+vB+V}Vl2gB&H5J*qw{@+l6+Q( zl3{61&Vt+3?PekzwK`7gfIA-e40UbCg@I}H`a;ob`h+;TnO7(ScvwNlO-tSi0*=5V za28@`9;Wa<*x(R(RsDP-&4Knh2D~Rv3=!jR^xUws>U+j_t2B3mz_=u-5F$>Tfj|62 zp{L{#zy`1bHc*c**K?ICWh8wGd)s}%Gvux0)?*XO?U15(ci*X&PDtpa!a+UHasYf{ z0oR}8&JQ5V&6~AA9gE)iAt>0hd3jp`Olx4_Y?h|>BAS(X0h6kFDr`i~a}c@^QO?ZV z4)gPa)btaA%Ff?j-*{2WT6+(fv~Oo^^2m`zP5*jXdUhMG2upwNY!?iU5{6Nb!2}47 zd2<?{jScTtnC^vTZb=I-%a9ok9zp`*7eGS1i(nQLDj%j!B{N2{c8+zDtNBu`bi$;~ z)$#I&^QK|VXcQ}CXr?#6fC2vDK@#qncit!37#_dXq=p~5%Y;aOg9X`8#2N!r)uCqE z39j<{YFV>0Syx#D+b=y-_A!F!Y1Rs}9!Mw7zibXXnxv$9zszh`wNJfUS5-?kxni|{ zEklpJUM}Qk3073qe6kw%&nYxcii%c51rhnc;$WHVa_F^N%fE_{mRCbQTVUb1T!}<` zroXv~7$1IgPNfbIo=GL|16Y@2x){#M7u<v{Yj*jlV>A@WQTolTPG9(bQBrnZgtgV~ zrKeR$OLWMbS@c=Il#ez34!scs;<v47B~8N>w7f(7R*sgA5!;KmU^2dw(1x4EtCVS? z?#9@amLql@5gk9TD|IB@y>KX!3=87q%8s^`eH5o_92g|?rJ9PpV!HC!G2nM;P1?AU zv?mORQy`8&gEwJGO&TvdjZ)Wi{OLz-=~l)mU~v#gk*`jB?x3Ou`k%qz|3OoYV$0#; z^)V9bLiI@B@}0h9CN|t8ytFc29qr_YS%Q;o>y5mIrhu`0Dv+KOl8q0=N@dIVfpvR! zAxv1(`O9Xb+!9*{n~dyEmj2JFdijXyp_i3cObn9c;S9j!DYj4$bLzNYchuYA9Zr`k zSt)iH&2JVxXWu%4NIR|TXKK7BBX43zy>2R%HW7QMjqYK5^^p~Fa=E6vsm7L)3oO?# zwdqvY@qb`3M4aPE|GStTnJ%!%iTFjRO#T#D7=UVMCR<R7C_x4t17??ohMkwDDp*Jm zi>DD}Zsa*Mt#wRTCh})`7na|5{zw(X<~XY(II~h&lLi#3Rsi)7)dw~KlfrUFS5q3k zOQ+mKGy}fqkvkFc6QCD0w{-L~vx=D|E-pZ_cG2_(r52`8O5AkId<UdQRP8>~;1gjP zdqm1KMLDd$X|4#li6}!L4zuz8V$D-jZ(s>IY4Ds%1ukLNQExadNIlF@Y`vH*8a5;s zkEZ5C%kfp+JuI)47Ok3hHy&Dg4BI)#PtPKM{X6`BFvb$Xsb!T99DMh<Nxj3f)d@UN zs&{5ezGR8ao1wXW8a7^BK%weyNddG60@MT!M~xMra~KqU3<H3p?8x+!MGqSYh9*{S z^THv~Jv?sqV{Wooc)h_xFEw=Jzi63>gxD5LCRtVq7LZn0FQ)4n8(4?A)NJTv^>m41 zgfelQs)|jyP6V14(8}q=oJ-3g=tqQZiX5?20?gu=O?{{wkA?umQ(1$feI6?G<J)I3 zYAg(5H_~^m?|_f6y5pFA_9%d-XL|7=O}2kCCa794BkkGtnJlTTNwej|<o)h$n|WHw z!^HFA>4A4ldB4YAkq>3uZVsPy{*UM5mCR#;NWDPT{PS!;%BWCQC)NDhHb8kPwiHTM zI_yv;G=QmFIx_O<Gd=y-c^{sd#XNJW&O63UxA#m_jFzwWDr>~iQzHGY@yWK|<nZ^U zgCgrr$MO7K=SS51PTKyFatiuLO2U#dc*`n%_7*+E*biaXzzuC0)f(oUN+&I<iRV+_ z64@M9(V3WFgYX_&CzZiGSI@ydq+mR)%Nd;ul@e)Ei_k@4k!~5F3sS#GBkU(ela%cJ zd8XtbsDa&M7a3^=G4c30^6I<oEX@F{nON-aMh1@9LprOgR_0VF1ECgRgnbRX5FJu_ z!3<2A)QwblRZ*<kU?LuqT~67ZG*L|*%yE7h1D=G$%C`=p2*TJul+?nV?_6DJLH)z+ z2f9#cPb^%~yrl7MoZwd}W2WI3xshllepZYe6?Hv5z<Fb3?p6#*rDdK$X%V2MrmXIq zuI>{;Bg}DP&>#WmpPE`Sq%QF#pp6WJN>%Byd*L6uao<i?k0RoMQ=l!k{R-e^e+oPS z><QpB4YxF^S$(KiEK(akuUyFO#&3U~jo*g5IVleom@Ig@NYO_mkP|bc=(BA|{#Q=y zznMC5Q>#<inq>xG?F+)MHET<ov@E030=#c+Kfd~}79e2ui<zBry@~y$F&1DsT5_~h zD|Me+Hxa=m^_rtnPvv;ghnTuf=|!S(_Il0`+bY<NcU}VB!f(3QaBG~GG^`|Vm9na@ zC^4hp*+djG*Y>|!T1x9HQ8Ba2OF65<@f*y+hfYvDT9%|;2v&oX>X*&JHaH4bT1}$n z^?Z{KQ7z1mj}Syfd*#+Kuf4y8Y#i^4nezRzR0$+S1ylahgR%%0cXol6?KfS{XsCb! zTF?~_Hl#AGzq?09JeJHdw9!j6>}CrCa0qgcJhcIdb#`eJL+p<U)H+#70GgjX;Vt@5 zi1CP9^KkAEmNjFd4JV67@}f**5Ds>Zphf><%7!O$8uP)iqX-6RJxLH1D^DaH%=n>~ z_NiXxs&-|eI@XKtxBw6+t3P<jfgteBc+{d?gfs4ij(uwPTKZxK_VZeSXddE0^Pp9F z!;E~%ch0oaM3Y)>l||}ybdC2;GR7=B0qhqOuO4GCeMuFmHc)PhJ~ZD7S84y3iv~$z zom+MlA8Y^sgg!-`POFG2H8m{ISi%7Gr8a7x$@Ce@fNztJSOYWt;iWJZ0gahIbB|oF zRGS2powfRTh9hFU&tqDu>r|be+i|7mP*a2WMYYNJ!ohh`iB=r39xq{nQmgQJ(mQjD zc3oA*lun&|2z5!NFR0vAB&Tpqr};%)`$-!B&WL4Q9TmsK3+ElxHzMGU&o1PR`L@P1 zk69^<Wj;lB)J{+F$a|n~!3_<p07y5gCtqCOp2p`Q^RR~QH-@jK0RdVO-`<cs7GPBG zt>PyJ!(j+ZmG<ZWV+A0f=J0KC)W<m2n$y*>3ej+dw8)I}1A<l{6K;|P5qLaBgq0co zQ81Q1-{28C4lN9OtPV*mIFK2cR>KId@N1E*?;AS1Pqaurz8R!_kc0woy;;R<C7`X~ z=kUF`YAi(hRCglp+6FdJHe8T2d|}z0bNqo&C{z4xD;57FYy_brd=={-T;oAbPI+0^ zRiaaRv~2^hI+%O=hB=CP<LaHlOM^qxq2Hzhqx$ylmUZ1DkBoeL8`9?9gSY<LdC=U{ z)5q!O5xcamJd=&|!h*<=f?+}eHQ<{Nbw+sL={$n<Gq)&K;E-?eEG#q%ECLA$(Ju^2 za%~bLdUxYMtHUrz0?;6^&|y*R!Lzgp*%{|Uer!l1#>A!)97_c16|_7N%4CD3&Qt&r z0dXuMK$GHf#VJ6-RU<2(xm-DZNat>d9iKpUMbGXxao(Eg34(U#>gq@xcsn)O!ae?p zkj+TeOiVnqtZq4-%RE*kFtBneTRvHQpiJi+QpF*bh+p_gxzevTsd#udj3X#WW)wU; zj{w84N+3(q(U_9CIVCX4NnrNwn8i~zx-qd_P;5X^W*&Z_>hKLDbe3+?E1}RuM|UwX z{8*fzZkb-X96+*}hZtSDxrr(oApBjOI<1_VSz)TY0ZS<w0~`lVA3d`$I7hGdM%xMl zw!PCemN<(T0A&f&i}?5=N3Vjxq&=vZ$$$+U%EDB;k!&IQjGE&VQ|z~b()NxRd?$BO zCv9Y52xE9OqIetCz}8biMyhBe8|6K5xKMV&iT#h}%}*fAPS^6nYM{p9ErpJJh7<ph z@bEn53oFRZzd^G@-tyYrj+mNSpCPbxsQMjG6LOJ5@)UX$&7A7}i`OMrZS9TkZFVgB z{92x-O)LbMJAVP`GX_TAjYESPo1%olDA;gwDI{~(410q`c;?3AAX2I}Kux2>$pBFU zE5?`FU`np&Z??LRZuR9mC9p-nRm<!WLH5yeBkVYB&ric?i2f!`{@FXGnL$7l>>BsZ zvpqg)Hyd>8d8Cy_P#kC6y@z23OA4iGMH~cMbT#h5+zE+<<7E?d7vCjW@N+?!0@Vjg zzj1L)MEYDUhg+m4`hF<@6V6({X<JBTkPR%huP)s04!4>2YqN-3n;?UHsjS`}q^DE( zgGukEe=D~1>bC2E9U{R}5}JRNRWR=m04DY!IfFMC!wTwQ!rEDs;ghcbwmDB%1L2+! zpzw7<WU-DEfNxEusKZILiu_F<;MYtZ&;tq-Kmv?(V)8V7Tne-Iw=DU3Sf@DqF+2_? z;cqnH$>6O1d!6MDG_dy*2<xY+pU`ugC)9n9*v8MmF7M(+_6!IOG5#q;gZ0BBlJmC4 z>crnzKQm42vR6rH0TEL=%P=Zhv+sj@4^3#!-4D1h{XaNxCzt;pX-uP;dh;ZJprv?> zIR1J&i$7EuCJQD~s~+`LCJ|SW=|WqJ15ehlB&$m+j^iIUmk>HWhfj`u&W)eVxG6D@ zIVwE~c*i_L*|%V=)somA4{CPJu1(pF`wVhln0fAUKr7YJbbqG{Pg2YQDoKQ~xDL;@ z8lR-GCm_t5N7*yHG`)CyK*-KoZFEXjmN9Hlf(+@mB9^OUzh62^nR_+Ykhj_8VBg$O zXrqs%t+t=+632V0$yMe5oeVB=^BCVdXd;LICx5ag*+0$ggAuflclP)Z=r)Hgp0TuD zFl*hP5Jtit<bJnSF)m=D6MO=sXf^Fdo)0YVL~rH~HXk3!%q|6481CI)IssiTs5Czs zL8q69M{%VsAq~5brS9;X%1Rqf5{2t0lL76w|MWsw`dYonJvh#4HI_Vj<RZ|mUeE1y zcxi%d-98Hy)SB&y{&kX$s&<=pZ}{}0n^7zIU{sgbhv>@{Ll)rxe2W7+Em)j4nPDN@ z6Q6)c^Ob*FM5f1<ewNL5KB3&DZxM@jIr+Q!7`Dkn#_-S$^_rzd)o<Um<$PiNCQoj8 zOh^96O28(rr8WexLv^8>lTy>Zr<}p<ejU7IAIl^MO0_@G^_g^~O}#xjkQwPgKvWJl z>82$vJvqFv0l(_o?RW@2i7MB!c-LM*XIEPGeF#TU{N~mjDhfYnYfJUJ#spfZ(UYIS zgk_K06tug{)z@2Sbs|2IVB7nBXU0I}=K?o6J@UIyw}8hOi>pIwpNIV?a}tnk=}b{S zTp%WWR=N6n#_?NfV@TSAMZ_j<jrEQGB<BvVXx2>B_|TPFRyC}_A%AHTDUza2F7m6= zSktp;dmzP*p?fX&bC1;|gi$dwE>^zrWN4H?r&tW(wa#JHb_#Tt<G-~n8i+MedQpoZ zfK5(hZ5Fwa{ID`>^^2vBUNBpj`dYy-7W~-fg65;Pb&)m<u(iKW>9`N?@xk6~ME^VR zD8tyP;PL9N&c#JM=<o7>g)_4DMy>|PDFnqM^$<9JyR1V2VnkY^lH-+oAKnpD23U>e z6TeXr|LB{{w`Kk5+Y@QAVyjV6n;u8GTM2PkxFqmidemE4!stDpb2tKUz&bpCfAd+H znn@cCf<b|`>-v&fs%y<#oD@48I%}i4Q<Ugvfh?T(K!(3C2CZ7y*>{7Lk+${X1hz_l zbo*@NXywU-3$;de7EICM0(@TO^Ij^*Td#A>-DWObFB`v8IG|$+mx9GA9+TWnynQk! zQk}z>E$SEjT*W`E5u>9rGilB7oSo9qxa0eq%AMZ8?;={OE?yg)JRV%8Qs9Md=n}SX z(RmfUg4chAXqk{9ji!IKNlkAdf~>2;-Gt;(n()$!LPk%7XHacZPhsS-`VetP;y<TD zR4m)YKN!uwKmEHQb@(svuDvw2ygL>-)5Ru=REGKJNCZ?5a17l*zZ0Kwa84S8mwH^L zIVG^_`V-Wa2}SRN={OQR{CYmZfDKrEE_8BZQK+b=z7$1xA_6nA?c2jC-7o71w$D@1 zG>{0k;Xa`Ax0KaH1ua+oZGKb9(`S|@Lt`0b9TC%(CSVhF)C$_}L1LFp!@>oh1p{Wv zed=u*fj(^Q`D`VF-VOQL!t+54pgrZ>vlxXn6CkT_U)tvIU*Y?n&{(kGy6ibigZGq9 zKqjQOKxft?TM`{~intT~ej6hKsg^1K`t&IAsPT3szSA~sAxN?Cz@~pQwg*8YKu(MM z&-MCnj%xaM;a{gTz(T|0!5%1dbMK|`xjrvfPTSMI-*A+#BA<ey?Q0n%u=W1TXwb<! zwhLKNp$+RmM5Js3fCLLf*L|DUCX9nC`DC}zw!5IRkt@dvs5yYZ@ZTJ)p$NS7xx{69 zQ_T40>aa#OKRU;uK5bkXru{{LW0N0vq{0#G>}}~$At%(*hg%fj3&ECM2G?-6i>zl4 zusy)X0Wzq*PO5Ep@H!^Z*s_FFCl-{%@tW>7wxmq}fqtE^cX(l=zs%Tk3Yx;M!RVi; z1fY+l1(lmk4mP1QJ$81H`PzI7#WHf?dr7|58qk_awBhHBdq))2_<bv64O7G(B1Jh) zTFC6b>@zTSW-E`QhI*{n-%Ut#Iasr1m}M3Ypp5{<N7Wq#fMxZs$h3V-bF=wI6pZm# zuS0eepU;s%w~c2{9$?P^Tn*~4Un{u-=l<<^fef$-ifG^|bX+fLMs~P2UINOdbuo#6 z7#-Vr8}I<(r+qJ=Rl7qo`{e`cDD1|8aU^bv7&-6~+;U%xSN1EtJ{`+ID`UaM&W1AD zgD|Mek3njm)0tWr*~5dRxZz>@1oPILy8SCG6!0&GaAx05se0*a41zY8YU_S3T3Os4 z4de7~%R#*$i<to+q15kX#|W1(S@&frz9Y&R-<8p<vW6R((+>oJQLT%yM@tmCeR=Y? zF@(si&P~ir7LCP;o&(Hw3h3Qg>LA$Mo7M5l`EJ}>B1X=Y125`Z=Jk+?Md&44bAek^ zuCD{j1(a{84{aBT6kKb&+)zLs<oXEkCM0*B0fd|d(w(XlWv<gYX;)Y+l*O?ECA-e` z48GiKAsm#6EDJJ?iL{8<0S`}9;ydl{K(hj!D5TxJva9aiC(kFKZRTp^@JE9{$Y|@r z`%+jl`9Q<4*tyE`hIseTO=|y&KG(WNo{%y@7rb<4e{;XaCLr~m%dA3fsj_89)xF#c zr7N#b(XFX<+BHk0UotF}hQ`o*vcKC817$hrCcD{hj!{rT8JZlnX{}(Pf~AKMyHRR? z5D}{_WPk+0*ey0N*+R$n>>1F5uK~4`e;6GDJ$4ohH_Db|iF$XH8_MF>oND|NzBl}F z{eG)d49XB%siYZde_ctIMWc3UprQeymSEb_4@*CSe{9hM+hQ<k?B9C(3PiqdyzH)w zS(ZTW`_^YM1bhn6@+aMiCD|3ysno#U+*`qb@m)Du&`875;zBZYc@!ipf+WEi|1!$} zp=Xv=k<bbjCpit)?o1MHKu(G!h1%hS8pMn$^B%=DpI6oUm#lDojEY`fT<Xb<o>*G< z7X-E80mFxHcnMB~uv4dp+@KedH)nuG>+=iuR+pXi_j}oGGIu=yR@4Tj&8E)TdWY%( ztg0og1eVu6$m$=wF0I0|9;s@0cxL|bWw_s6*GAfIsCcIoz#z4*;$s|mN~%`G3@cX} zx*CT>W)+^N8CJqF%KPR3u_YKs#M_Dz+^L~B)DQP>^B<TAR22l4b#i5C#P=w&6Vdnj z%Uy0l+Nb*KlszqdR+lDn%v<Ei>t%BAY`Hk^g;^s6k~?fUweD{av_$<;#{!#EUCt4G zNH!gbwzBvw7iDkuiGaRI*Dk+|W!m(iI04EkKuF}gy5{V~-45#EQIaqHaozqpefQxH zyv-bk)ed(;?i`fQ{f6VPdlW6*I8)9NfBqhH2b7wDmNCV9cfQ4J_q_YfSKLNz-HWFS zX`NtIM;~rDK-a;ym8l@Wm8csEIxTfT6a>Mr?^j<dL(T|A-1-c2)&9yGAdl-VlM<t5 zpbxwe(uSj#sFa!tIRj#F2^(#KB8vHeNHfZLy<V{&^UER8Lg*Li%D&tODxe<^$}Zd# zMF24wQDo%W*kpu8$@v$x2u7pu)Io}FK@;1?h9_(w{vkq<&JC?mHM6dB*8m>L1-e8H z<F_OfybmEabS+dDBnuQD=%5i`?XSY?f9X;FKUXpIKKghDBK?LV#PwPTihDIEGhCn- zW&-!WTf%lOUl7KeKZ4i4>@PRsOcklr_!x9pa9L8^SW8clkW$1rx}`6T9N0~r{^Tp* zS!DkcfMbQO-K~nZ1=zMZ8Jo3!UtIv`K_jYnlhXZSQ9skr4Z=&bfFbDmI&kaHnscM{ zeY|h{+XLs?g#0(1x!aSU)_#Fe2Mq3H#o@~2ZeJt30K2pb2+Cf+7661*2o>5cmb}{b z6sQ?nX;*%FDf^agQsMgKIdA;Y@joI5ZVhE|s*}y*2Xn<@708PAhP?JGt+0?FXT>b_ zxF1_ZSV~7iDQvOV0<!6Vf7S?wXTgAOlf7dHSxIBfYHA>$2ejg8Y0BqZ7p1RDBcVO@ ztQ`NV=__Wwc~zE-O>gD}6PzWW$`1am0+U-#APso~;pE!>jl~R!x1wFTGuZ~McR=kL z9qYO0wrgjgtvxtf0PTZ2zFcb&VXgSr$@l0z3QMD+5~x`y{iz+BHICf$7UK7}cU9B1 zLTY2hVOfhjp?xK`ufssjK!(#CsXDx};=RcpexuRnhbAVDmaF~Fl9`d^?3I8ZsNn-R ztNMA)IC{P21AfHB#aTOccxk*6+u4dH8`KFv>>J1f@H0h206XCALDez_T&wK*-s2am zU&_TBnQcLq_LHckk=12`c4u^rBK~X%4!yskA)dGCTV|JQQZGx&yT0ppK+}&S!<Kh= zmJ3-+I)B#TfkaixRgG=W6Ljyo#F6y@kzm=*VSi@6oQ}i7=Y!R--8iw{^P?-X8HzY) zIsqiEp(5;)eO@{ssRHuV>R)pigI-qcuLXq++X7h_(NV@TWqlmj^~goV9VJn5iU7Z3 zdc#P6v=RZdXZaw+7Vs&PJL>V;?{~KObWkf$QN-`jqa%s;#8!S=oC&FCH#F{#Ls+Aj z@nBP{g41w6>IOrCiebUzA^M5vI`NO#ynjIopc^_?D1%8?5e@yO{o9#%40Z!ReftPF zj|p@I1ReERgw#Lh_&BJ_efS5RnOsB?j0=eSB|cTB3uM12p4}aDd;Z>o?TvXi=wqxV z>UTy?6Q&_TQO<cW6CsC@XJ_~}314oL2iV3azb6c|wXQbqE_gWRD1UP;NK|4iM#@J8 z<0I;8sgfRnDE!=;VG9t-NlU?5I8doC;9)i0-2ROSGR&(|L+LX*7uyuj83!DZbHGcI zO<}f77Vw<60XNu32CeUZuM2No|5_F@ng0rZ%bM|R_8t{PYFS%dtd@rxul$xj?B*7Q z^P_TLQZ>eb^u1OvTO@!NpmQh)r_das^x^I)JnMeLjF5P6D4CJTj8TBe@`xd~QFHW5 zJA4=4opK{PL+#hEn@2Wzysnfr{l5+Uc-3&aTh_{NunkUl9lhPb1Z@$^Th$;pg)aBx z;*13oUnAmZz&Bx|5Fn0)svtr8q=|wQ?%wrngDa4Zgn{n3_473amh?*46f40MZj}&+ zMuPRvZG}+9`k7VV`mZ=a-^Mn?_I6VG>>Ul<CeK!4;Fnd#?wR^<{kml6%Hdsr$VmV% z0=>QBps6_Zd<-42)vL_$G};`bU#NgE>)dxdc3t;r9mC=1n2;ikLbE3Itn8c2FO||Z z+H>!BLz(TGy~h=yO4sis&&?)hMtG-Q;6gb4FBySAy7$(8a`P2~(dxMGB`%UGpo{eE zQyr^uAY<Hf$gFo52RqqwGrnV_A{YkNe3=(fEV@hW$O!2BM3;iX|JiroRw@d00EUT$ zi}M6Tq|$^W0BKMo2i^^`$-#7yr#42d;_p8lnVbSQ`R1^I3Z((KCZKDXWc`Eq)-_P` zemmL4!@Uvs>8OOZx%+rOQ6eRR8;D~H!rjx0A89}nPE%Be$?X3~#)u}X74#j+7)09e z;nz|>d*p%z$$%l#M>lhV*S*1ka>~EHYgB%bfmkw0&}LMJkM<n&U?5=l2ek!w6U><( zw>3e#`9`l#C_z^_ChlkP%ew_2R5wq$={~c<N>6_e(lco5z;4Hn{>T9}!y7{bXyYzV zj&C%e5Q9_LoJYT$K;G87`J#%BgJ_CAALl)gog>?*7=t_wnqmDS8aj?cmFTY<g0l6~ zb6PEaZCPU`vER}g9<vxoAPr`w5DPsyD@TlskpxV$!Ad1w)GrbkAn++o|E4FBMk-L3 z0R^A6gQK8W?MlkzS0HCL-rN}Ya{K$Kqvyu6H(^m)^^|$CVV%Dbx1I>tJsN5WgRVdc zDA}|79n7Eun<H-2`x=*PU=N5;EgBuD8p;qsqYv$Gx53nfLDHO7pXY#3QdzAD!#(fK zbzicAI*Y->b-OF>_9x(0h<_s927o%)JYFgozz0BsK$uniWnp$N_9$MW{=(!PuU{~{ zm9kVaCQ7wIBwX9LC7Ba9>_%BD6x1%W$&2im461)HRgMpjB=LTKy^o{_9u?pi<)lu` z&+E5Psv~IFM(hqzllIyGU9^C(zD+Of{w}l6D7HyQ)#R)YSB4q@ROy2+6LO1c*mH#2 z5f-(JB(jKLnhjvwEMdm)4Pw$_iuM+PcL9NO=h_2;5Kv<uRw6@xL~zH?FX=vqEvkDN zO0pfpz>XwQ_njoiezYI7nQFnh7;AHW#OWKHfm_S4yXnzGub4J*k@EyR9b`U|pg55X zpe|b|0g2`{<0MGInFQyk_(h39dhvS&yws>;M-ns-Sh@AgH24DZS8Mf#msW@7v<<oe zVbmNaGkAasTAZ>WCmVzLs`_R6eQpWL3jd}oI8W}Al{~L*d6JI>Y*r2I`1apuYiA== z)RBze$|V0r6TG{alR9R3@UQzT$$R&WdrS_HbdW$ah>nw3%|O;2MgGrY9ssvfXq!9~ zC^}dj@IUJ&2}_Ejps{<`Q?+RZI>X9{e|6)HaBlp3vQ?{VOj=kE0uR8^u*_^#FU(Vv zGP$&MO$A!IQd{cFGk3<rXzPSYQ1X!!TD$KKoJ68z(jN0oQO%bExn^01Q=;}otFDgo z88{;WVCSrGz@anIIRRm@Lc~_7_BYqH*4Oh8MJgM?0CZ5ysct8U>?}|$fyN`xNH{+e zu^-0u&$`sS#ss|Kb_I%JM?PlorKx>-9Uv?lym*c;RPl)r6g`c>K^A790Qf<$8C}>U z2c}6q>`#6P1GM!_XO#!U4S<JLM55wYTXkj6fu%JM#J<Q0GNqnG631pUYtP^`Lq1&o zGqY3gOv?cpa&*WNHm?q;+!R(#XNeFnnq1k@&5?B<Pt$?@|F=vtJX|_;>RcV;isu8% zwGnot)^gyoRjb1$^ZXb{Hzu;lgJ}MYq+#J{dmb&*+Ai7d{^l9e0DVvzEz|8U&_Hw4 zPe+le9Y3C}G47b)M~^7{qskp0Yg!cipP&P=5$q+=bAVo#Q4i3b9tOOAbo=Y0|JwKI zDzIr%`*lr0pAFXs8j`m9z6El9wu_a-kTHg4Y9Ph8m45;lO#wGy^=-hTnc#ib$)wKX zgxDww1z>fcJ_Pz32u#xaXxd^I`OxPs+<R8s+%~;_mM#Bu%({wVQM3A-_xUr*cVn@} z=@ST)qH#fuX#iyZjb4h_Y_$S1`8dX7@$7p#(54Mekdfe4=)~rxzSI&1Ou`K9#JQ>H zSxtf63@|3ZjCiN41v+LyZ~aPigS(q<n-_($=iLd|`kU{a;b#&Q+DG?uY4XD$8i|Jn z5m08PEj1V}1&{1r*;YBaTIiY%Uj!OPU0eOfSQHz4N9_9zpT{5d$;enCBrmr_fqLLr zK^}lit)@Ig#mN%<*+eezoS+P^r!?iLX$T0oM1M4Nw!isaAalhOgFH$V_idVEHuV$G z-~k*nE*YW21O&BF5_#?2Dr$BTz};l_5}xnBfw0KB5qB(^@htWyYRE)bBj<cDJL3;q z;tLtQTM$x>R)(o5;NNPwL9tx#k6~8cdrt!zQ;Xk$%C!K>c6Eg{;7HIjTq4Ka+&^at zViQ{ZWeZwXp92iDl2S?mQJBX`1$zT}NNOPT>Jy}LG(R7IFbFY2V6L*1VJaDxqB=H@ zW8fvEhBk!!;CJW+?IqCG;Fg9o!E&WD&H1KrZuM4gFJvt?9=BA!iV^8EUyY^nGYIl% zHhE9v*{*fZ7d*m|#@*KxcD>+?53Zby@f?>O0X|%alNO(W^+>`Vn$F2@tg|b4))9`Y zCbw*WL!=e*4X#I(2p|HIGFe&uR|^0N>v{fvQbwymi;Vk}by|Sj0ZG`NcZ<o<*RMb# zG;8nJH2y~>nfCLSZ&Ont$Kja&%Y5X{UN4bh#cM)4b}oC!Yl3y4WO{rur~1%>eXo2P zM08`2>}XvVp=^h}HePA-AKM{OsqOSch&%`dt;WQY2X0|z$Z3c77iE0E?$v%-m%-6< z2zHl1+!E)~l_&&!&yJ8SAxPSvB|zarNZg#SOa#IRIvdBdE5(y>2lk0AU-^TF>uVs_ z;Uby5{S`6d))U{!fKt!<*#Bxhrs4COQ9)uL&jEE#fB+vF3(^=zQol=rx{wA7^Z*$y z^rQ;VeQzZ615*A-?SIy@pzgo7TY54;(O~4Ov;NZfmVLzzx@SRunNH#KlJYz8^E{J* z6lgF9gjNUaZ5Tu4#$Ik(hEJ_&-gISmvb1~kyqlgRgI0Dr<+z{pg}f*;NDpTId_I4x zW`w}W_Z$(lTYbo34oPX;8N2;1gEW6%hyq(nNe;^P&~D~^>&Y^gSWt=d&C|G;l+_}c z0%$rjg732pI<5hQ4Vr<dluXqMPK`rJ-A#dmJ2bB3wl&W6j(~yPFTNY=SA_@fowT*| zQyK|coj0{CYamu?2+6-3i)KCuZQI)g`ky4;k3iGHUPId<9+aKUc8zWvQ{3_|AL7Rb zt#I599RVA^qqmq-bkXL)GFBZMtR6F~3|hGTU?JK^6aHI)yY~+>St;tA*Y6c0)ffc4 zGQWQ00r$n3zDb70Aj@nv|8ObboMpFX7_%H-MPU1=!qLX6Z&zlC34K7_PfF1`Z{`XR zb*ZjXx>2jVN=&<n>`$(C%*+Og)>I&KBFpZ{?krF)ZWOWjnF&gNplu9bz|nHYK(ru# zX%E<m18K3jpLX4;h%0Ov7OWhG=OaV&D~-WSk<1NEWYCBvK~7&!f&r?`pj?%q@$3yA z;j0qS+fK{p4j{iBG`g&qxvEG^scrqL4qZN+ZWOA^>b4IlJ@xDyfc_qx;=WL!BFILU zoexd;PEB-ZSd0+&xJAqsKA@db!^eMp8|AydVE?u84OXgMhD)d$@`9>R$mMPoGpq)P z8!1H}tTPBq!JT;HSZ^-29;-c8AC+D|QglAzqi~lpD^0~0DJ^o_r5AB2WfbgW%V*3$ zSR}OIB@)pJFQaa;egy?053BZu<PKu$2EHFu#k!zTPrJQ+z)auz=r%>>cXi_V@a;!N zhR>mh{P^CAi!$NHyIrmJPDGBbUD>J$XMb)4o5v>j`__e*Lu1bRCub9e9+?)4u;)(< zaqv9Ts{<&~`O40k6*C$8qQLgcz8(&*uxIDB{Yy3GNd)mCW@OK@c{oCq2T{JeEN$LZ z1ly<4p9hv?vbWehk+;YFM9RDcwHP{8-=}c|!l#}J)K*<yQhXar-6gNH^(vka8HuG# z4ohw~G*3(sPfQN}Q6yNlcVsmR$8GkAFn|2>2@`<_jZC5VUVveD`f9*cI=qF+73q&Q zACxJpU{PM#^qi>dKUb4Y{xLoZ--r8_qnT^Xh>U*(U5iNezFd=WsXlLcm3px=aM*QF z$dzNR$jfn-fB#$bhR1vn7TnT!D8ym%<T9gdgeiQ}WFhH@6WsPg5<WG!<<PYI|3Tef zM^)KHYr{B=bW4LsNJ)1$h=d@W8|jelM!G>-kW@NFknRQvK{}*U5D+%aw>F;l{N8iM zZ;bCf<NM<qpX2%CVefn2G1pvk&3RqdTzAgoU8P%gcYUKoVTfS0STY><_Ahv)r88{& zjgpu$|2Y2owT#K4gb!6xr3|Q((AID)9ID*kKeb85s2jRJS=$CZi94ztj&Fw}peKa< zWanR9yc1G)u6+fmg}l9g>+!_IrDYZ=eGXMj_A*O1VK?f@<l}ts^Xk=3M1@lq-Jd2k zPbph*sJl4st?33{t1YhXNiU;5VKc8ja;;{+i2GLGjQTm6`}4rtQqvfD)9X#&<2C-B zov$b&RT+I;cAkIW=IR)FUJ@+DBJjZ%T3m7!liAWJzLfKRA@=yAFvjppzva!j<5b(Q z9E}=V_h$K}?pX?UK65PhmUn(~*o>O>Zx#%4n+JW!jv<qb+qxgB??x#J=k*iwwccD^ z`}kq6#S@@Ap6$_twl;4KDWy!^Fuqz$E?q({?)>8%;$dp6A&=+Z^fm<UQ?SBL=myNy zJT0=xR&uQSEw9NsSHECz)cq`}l)O1pXRLiwb4FA!CV69rxh+f&w$>(qs81<EpZLEp z;sXX7uePt7dEzfCOX_{N68>c<!qfVxsn_=Cw?88plL?PY6BjhX&9&Psk<uY<w6m6t zr8SS)?{2@%K;M94S{NQh#>IEdi`(ZpJMqg{zYr5&uuWy}e*cm<F<<?O(T5%0_4$0T z-}Ijiv>frLb7!O2tc{-VrB^mk8HUO8Lkj~>jPuLBbC>QFFY{AB+yj?j<>rCO=A*XA z`-KMoo|USCAOuY0bTnF>z*R?DNcufbszFl(a0SRuhjtSXp%!10pA-msI*-}U@O+E+ z&pJ9@s6#Y`6t=g|@G75v+x9b>$l~39vDkLYvb=oUmoW6+(6;NwRDQzch-&)w^4XR@ zcn#`R=bUvPSH}f;kGOhIl&jK0GdY;Ip;*wP)m?Tm%b4GhFXQCF<5usbW$J)g?ATKC z({`&0Vy>({#QD2bROh<?`QOF%BeH@&F;JotUEYOir+HOej128{X*7=aEp{R<SA^d8 zSJ4whN{o2Th4(k7sxTKaJUW!=Zu%*9Z8=lvNyTEn*a5=8@1Mwl-DlJgfyGA(7|zFk ziE~VU{}!)4xE>a3cE;lGn5xi=lLc?m?7sDZU6)nBAG7iMS<G*wvhI27k2>zZnT>9) z9a!&o<u~eh8Z5exNh}EtFpO~f!#6*Rv9=!*cmuTIJ;n-GA)GlmBvrJX<fs*@GVZca zZSh%H0P_YLDHHB>yNzI~zXuvQl}N`>CcnwTm%;6kP$p*NElS~cXC8;1$^{e$o;6Ii z)$5zg@%Li`@F#>=Mj3bH<>qCrLmgY;tSpb8ckHeB_kzG8fA)o5$Mrl$J1{bGb9J$? z$_aY-y!bR(`p);bs756U$75#w2h+1r%5SC%h3IBXDC{y$UU)i}1~j7-HEUOwD!vV6 zR9ev#X{y3_1i~4bFi+sH)#HPGn`z27;-eU<dd`Q<)PV^Vrhf(VZ(uscG8T@bS-iiC zt<iPg?j^wBwUV7t*dvk6R5``}JZbrpnojScyz2vH%f4H~jcU$Xo@7KVArBH8uBd8_ zlC>Q3{2g!KrvZMyf0jM`Eu-e9pL!e>(&vA~K}AXZ`>L|tXU0ulR)0rxRIJ1DTP0&2 zT&gzTo8DOR9iUWTH)uy$NL4OB;s`%!Ts>-WZs=^sdFN+eZB2}&fZM+|U6DC%<$RNB z{WK3w8h*>zyzdUj*9iXDd~2j+wxPyS0~(IY<-67+aPz0zyx92`M}>ZU{bci0LFG6g zZ)+u_?e&06y{k39`@tgL;dSR@WD<0aduBUCr6@Z1A{9z$lSJ<+Xe2nr8J1?Tncyui zDfua}2$2?6{)Eg5lUaVIum=Md*XQ*%YCE;SJh;=UF1`-m>Hz)^A8h*k0?=saDC+8X zO%~2)o=|jBqhVYA{U|jskPmJ(3|HzAO-MquBzzbGCQS(JFOy&}LrGvC<4Sd*!0zPX z<B$+6bPhtu!^e-%$O$2g9ZHPW6k><6_1yz_*M`rYagiCTlyv@Pa$k(LlgAGiKD?$J z?dc-4%f#6Dl)_E5eOw4xFlg8;#Bqq4-y@?{$rg#azdb@}DirE#U4&f&P4(YdpJJox zKdl>BlesqBt{C8I5&lepk4=o0rQj%_8guQB^Rv|l>UdmZ3{P##IZ>0Y)=Km~1haiV z2JBsVGCWr8w$C8b|LPYVIOV`N%p3&nadOjd{LQ8tj`|hSAHj#kCO+a=F>VZeR#X@7 zqYHZ^{N;b^uDjfx6Z;oR=+gzY?=Sx9`THv-`7{>2YEB?+-ZlkmUJVHAt~obkf^I1> zo0BUm(M>7rxh6|C<yU9K<?Sx0_0KaGhbN;>#;^a-d<wN;z1S1*K3wWP$?=!5X=C2t zinj>NSg6LJ>=PR)@guJqZ3$hjJW9+_+pZgxAm*$a+3?V(#e-BDwaOUw!|sdA?!hDi z;AH`U1c_(q#3d9z>W8;Sy1*Gjnm$uS>T)HIWrTt${Nx3bM-}(&ZL7}RWITt%K`@7A zOv8p}vHsrD!wsQA?rI7KN~ff8`{fJU2;azh4_v#PZYhHXU$j0`ZcF9h_I8);Hj~!h zjaXp2*OKM|<tn&va`@VFFT1RBf`*nsqy0G9z{|^RTSuXVKCn$Da1pu|n0>idWAp-7 zmAj&H0_2>Yow9XgN$2F*?7o5C!z@If#&)$dDiO$ZNOHFnvfdwWa<se@(~qAN!pJ&w z`r@;C_44^*n4xFkCN1=SFy9sU3tjKa)@jP`aNX;waxO0^4;L>fFOl<BK0k$d$*~OZ z)sYZxJ$Sh+8d>UJNoRH1OZ&<J0qjD{^M@Y7i12-<mET|ep1pi*<b8SHLbZ)ic+s=& zvm$zIY2VGJRJM3<XG}udRo@uMs{6a{&<Z&{PKD*_I-q;0`CGO7Qj}Ab{)0CL{4;$4 z5hMhk^9pWYI0~_n9~ju`c5K)`4F@TG)@-7BxXI$XBCB3Y!ttzvJ58pZAjt>{LX3#u znC;R;8{*`f%KneS?b1m(+=pk;u-Ua5`>_6P&nU2bprr?=vBVq!5m~LyOs&HWtXWf2 zA0Qm5oK)n4Y-V<dBZa!()RO0RJoGaymgM~9epe59pEAS-!RF?`pMSRZCDe`dC`y*@ z!;@Gu4XatjUNiQ&#@Vq@l6|j^9V&?mQkR&Ffj;IAI{N58e^#YILP-3scmPj4E)OZ) z@;fR=l?gxo`fHk~(>uHg`YptC{d;WiHy-u=y}TS^p6<YdAL2jE4@YMKP658pkHM>I zkNXLmXHHg;NU-@4!Y)-!2R}!{a!{??bMnI0Z>TTkg2mSawBQ+-KLk6p2}aY(w^O97 zlPCthAhI+8%9a+fZT1_FbI~KNXBMU@w}eJHr^I|?d(=Pf4BC9N!8VyNV|B|tgeB9p zUwQGzedL*V&j@3#+hE_&`NAGvdLW%cbI<Ag0PW_upFN$g)pQXAT9}n1|4(BW>}W9k z`CyL+vnn{X-7DCsVINB=%;v&^q^FfmGrAw#6`aUzZ=TaiPGW9pRhR+;+NGCBCn2<E z2Qjyt>%veQcep#r$K4d9tAF7ct94tZb#D$3>=y3k8>n#tz;aknqO#|4xrR(;Aifg0 zzb$-xc)q8$l=g{^%BD<8-143$lb@{GUUo3Tj^!m@u%Gb0<K<U^nK2J3)~z_7OOfAR zWqpS2P1|1gvv!P1VP*=i5$~7Pp^G9}cVDo;VQ<b(d)JNpxqOfFNeo)O(F99JoK}dX z<j7$$yeGU#bGV<k14N77M>vQF`rksnek5^X1%CZCw0k}W0$=Dm3WS4a==il}5qSOY zh=~SuveOB}a{}77pwVvoEOM@6!@)Wuy=SK%69)V4`q_e!)8Us+Pvk_wMz58)4lOoh zX-)izF=m06W6_(lC-3102Mr=*5`Q`7kU&o^Pr$>PAd@6A;)7ewm!LgqR?*VJto*ni zsKOGaKp44`KDcgl_zG;a(sC+Cq(WK0ma@$CX#Ht;ONC4SZ^jw={1TO@0@RUpqxw~E z`?;qF%e7#%gA*nmeB{{VDN_1!I8LHga(}`TRV-^^QzD4o6(8iP4SK_7JS&PCE_M%I zI)ToiL<ljE<LWqA(G1T}W$tfP>Wq;MEGbdyysWZYH=54#u2YRK8D;&0oK(Gc`358- zyc=(CClQpISdnjU+a(j}$)SEUW;_q>=L_C_7gF*@q|uUp`V4CNoBA7Mr3rcBSS`j4 z{dWZ{b(>ykMBF}~0mTdoEBjfE|7{Q)ffZ$cJ@|6d=kH>3II(|2+|^H(j#Xs@5Ns2b z)=sfir~|>kl)d#lA%=i)y6}zdZ%&{T^u~Re%KBG7RRUfvg&-WbPvZM77xDV5%Qtp@ zy*qaSr*eo|V%ibf-os9Z4V3a?oCQP4YsX}&zk2IF3!Frfu6%S~yO6|q{Cx~DjlThB zJ8t24M1)stekt%s1?Gx2py)8VCS&aA=~M2U-=r6~H7AGVaMxStW)?EFVn?lIFPD}g zL@IpkIRa0BdF-6vVZ+ossdC`kicac$Ud8Ds@_1~lTO0NH#hsFH92Lj<;3#XK5K)*J z%-pcc^vZvaC%X^!cy6IQ+*fqOyS6rioh541Jxo6IM8(W~c>XF1Z^`BK&w&)ysP9}@ z^fOAGc4v+R8Cm7NS`1!+V=orA9QU<?C9Gl&I_^>1qdoO<W8HTSsux04os@SCz1y5; z2T~TcDeHgwpEvl<M@m!kaGnQs$4VGg;%bl9OMfH}_Y*ek-{{HHDt2DeIqDB3z#hrS z4u<8dAoqklh_&_d*>FH0nnC#I5`>)17XP->3Cf~JU+V{a*`NnfsaYevw&Yk1j$J{g z#&hG%O@vNeOyy&?&=!%FZv~HYe%tmWs*a?K3lqzW^RC}gx<$lqbJW+md!Yeih5e-h z$!_)T{okFhEFHv3T_1>}I4!pzfq2n^o?oPcq^bF?eGii;(R~}5vya=Tf5RocHVzGa zrkcCGEXsO&h|ipzF{WdGkR30GijzBT-RqLpE<M)j<9U7~*e7Ibza*92i1!+L(A6Y< z-vdk4cmI}%86OQy1nV??_0brT8jyL&^p0r&$WU{S$SUH6uuFeAz{uWNyOJ&6ufMP~ z+#BWkSIjr!!{%^8{*cW2RozZwK!6M)W|}xD$Zqn=D<$%uVh!z~mp3>e7WR%L;O<~! zF1&SY=sfDsG1}|?3x!@8FvP@51>8Fnm!99>)UiZyw!V%GLBhrkSbV2}w$d8&Hn7ok z2+dCyUtsZB^&e|q72joas+GE|e(-`?#pi#`UnC47ji=GC?vE|}nfhx7<pX}WK7z+$ z!~8lSi8A_QmA1*)0`G&f-fZ_eA9&TGgd!ggsLPn%4&hTQ&LFjQ2os{<?_iG{><S9F z^hE6`qJ2rJnf<C3Uy$>GCgROK*>^1Ki>-95%_f;oiWk6;)p{E-rvAIh1g{r}5{C0% z=_bBQGX9!ZC-~8cf^6^8E3>{Q?Aj4a3$}l*%7|iS=766*!>)VN`{OCyGZz|_jr>Aq zj=+{h{Wx}Ud&v|g<P6dYtMa7$rR+h0s+H_&Q@J$!(ky|$6)fgiGp~GGir~2mEqp|c z5~$;Cw}m)>eOP6AwnRU7rPTf&Q15A&85|~pl}a#|GXESI5&04Gtr~)v7(%5uv5J7> zK_Iev3EaEl7oJ|yq|0{>DKp-82$-2dBdcGU5npR3MS+khmezV)igxYsQ!<G-eoYDw z`_Q)QrKtHoSB2dH#Ua6LUB%Ue&kh=_BCB{l(u{EJKD`PqyW<u~^YLW{D|+*{nP0&0 zd=5NM`0UYp-e809A$_DriGC{E;9l8HxhT@wP)}%UM1pBYeOM{47W62kFIlaz_5;9q z#+I7L$NbPiiVCol8t@WxwZ&b>DpTORn(d1{<*MRxQOpD&STcV7##LXtHT|5m`9$>V zWHavbD9MM^W&4!Z*#9%}wb(50nmLWxLv0my@r%6!06Y_@Ps-Gf{8?9Q<c_+-BUBuh z=B#vT-+P_K@S_a}Tybu|t?!S@*|gnP;y?FmO~0J*?=#JFr#Y>|!uIflXOK^cZ1!-F zOerJz(Fh@jEH84+{z@Cncf9p28e>^RH1e#+UEs&zYZwCoaBd9&dcS8dvu|PE%aOg! z-mziUzc$~9-S^8{a*EDC?6-_s(0$)0_8^3j)p-4JQIG1N%=Cd?Fp@D4+>xvdW{UZh zkp{#~>q$9LzVaVjRQeZR$sF3Y+V%C{enuiz6(Wg$>(_g+qu2oTOv3cysmwW&@e1tQ z--<;!SQaCBT1&_&IaVfqhoA()T}y4Omzen6Ld13sWjO}Ob${^uwHE|FQ4NWkFEc7C z;%<H!_9OJ*82AD<dxyg3%4Pxc&%xWD@>HT&EEh;UR1rST9C~?q){UKA&ep0&*9{wb zSn%EEESHs~@o2&oh*=NxCwIpN3M5ANo}P|37f!9m%@PRsOrc0O+Ai#Cr{*?{yNO`8 ztn3hdlAD}bI_kPJ-rAtAW6AC>j~92ncL3wN+<u2XE9?2aLcjX$+{hkpj?W=!mf-2n z^pwPeV+mMJcid?lsHR2Q(quw!ZkdZCp_f=TF#*sd*Vb+d8NusXMCm5P(+d(3{}ITy zw39jRnu|q#oq+8);a?-7H^`>Koxs~c%<0D92$i*gL7b!+*3v@6pkf{y>O_G`X!E!o zLWpxznh{W!9eR3`usvo-$NG*N*WG9JP>-Y@<uj~;5v+m$XVQ7@+-~Tp_u+>$b8S0Z zHwemL<ciBo_*~nBtd8ddpz>_dU6Et@P8aKs%k|aXO>epOQD)KRr2D0=kKc9L3xXJO zuxu3U5I0A%?-`a~QAN^Pxr|d>k^F0qpAzf`Cm!gVi=mr)I+WTDcM8^7Ibu<eGqXD| znod=LbiiA?RT7LJ<h&Slf-}kK*7q4^Jnt_=WPs15cT*Y#GR@F)HDx(9;0=s8B7bi& zpeZ|@7iGs`cW`{Jf9qRwJ=@ljhZ((%<KWJ#x+cT+n0-9g!;Q)Li)m|W`{f5T7mLya zn)p6of^r?bkl6;N2IqP|oo!By;Y#15(>GJ^qlp*yNt(CUL#ZoK7e_zne|sf#`a-J; z?3Zb0&~owpe;>1eKu&Mu^o=Z~zwil<n<^{aTbl_!3a?m*I26P8tvG9%KA%2ck+XLZ zMRKY<)cQ_7ZL*x$9dm|&Oj5r9_GTo8{4i%~@PR&#iVC0h92|^0L+9AnO7=u18S7j| z#99iH(>9kyZxc0<cl(UQSyPE}>JoiYvt5yh!2!Z`{GkM9fP2|1#F0qpiu4JhdAKuy zRl=zm#hQ~wDPNb7u!?(9k!(~bFJ~W-2peZ&w1es_r)44f8_s^en5vv3GuO0*tEh=1 z!qz&?N;rbzef{cFGV}m=iy1y@_`+`#_kLd0ZJ?@KRciHJ4MBXn)yZ-%Wn!iPAEr#X z1-tpbVhAx$x%*gnP=u=B5l0ZdSFex*1S<Pr<PB09KyyLLwLb970?KIw<~K;?$E~#? z)*fQ83`@O&q^RAFJkbxbKj$!3U;|U=0-Kv2H+BS>f@vaFR0K8OEHxK!{`)IEH7TLy zUsBuo)syD2uiN6jlT+AK05Ml$S(zH6;Q-<Lr=RFIJw>TlJ9x?sLjfjkF2c8c8l3KN z@MxV=l7iX~j_dC{jYDvEY{&fF!YkhCtEC(;?ZBUB;4ORwlR}?d5}8-mL7+EdL6u$? zUMQ7D=ZGe@YUv|ysjVRM@xV;oU33yISV(ARGgDO_>udYyW^`RL;*4C;_3pxCrhWVI z=6c1w)|G+#20`r@o7vA4>HDShJ|U(`|H)M<{SzAyPHf*l3l>8IAm1wKbkp`0Y+31} zOp(AcyezQy?`%qlbr0M%EIZwkI^Xq)jX4aVC4z{2(^XIYW7UOj;n6T-T+soBzcqUd zv_m%FMMSzS%`q`4{%K|hflyB`d4<hPY86sUS^~#CC3%CGmjRMIDFjqw%C8b1m?cU> z;!ROm6_hr*a#gz~5H0NHi{-QRA`BNwYe3pcTO9sW%-_o6ZPW77ZmoW0Q6e@+vqyWZ zawZ>kV<kR5_Cqx&#>hN0?s6}dtSJX020R!63^{URCEld!kCjmmN4iO`<GiZx+Hzay zbJ_9aZqNK>LOQ*4_q^s#qsJIaN5mR_joYZSUG^DjgNOzH2T);c3}Tnxu0KxZWuUVd zd<8IBKo9-mb-@ZJ584#Jjo2dg0c)R$t0aawxeGQ`$CTmG6Ul7!Jeh+!5uHG<+q3VU zzw6S%UD+B$w24dZ^^2rI1qIx%3zRN2$RuU5ai_+OS3Sf3g*;dq^YX>LkE_r$T5<so zkZjWn@?x}BHasRK5$I1x>>1vO`|&%Abj-oS&Le#zE)KE)yRQq}PFur#W-O+7l%g3< z+NPtJTTkw0_{gNFdR8n_^S-kND?JV!iLnCN*NHr0mEo|9%Nnd$ec5!HSP>%&lI_}} zZOFN+_G~IxR5$H}3*9UvnTa}n&~?uhR92crQgJ6D+w3?u;CYr5jfh5wiy8(pzeZnY zo7F)|&qtUEJR&tzWaKghl07z<OS$0QJ0gx`&}vO-DJEnRgo`>%L;AIjByTXbik)`4 zEzFqSB!Frt$A{0&vjc<&o%#kiDHFQ<g4X68WU`)iKNn=NMa_8MSX<otJe&`UK_TD0 zu;@D)P><8F{3v3;T33awmyp~8t8am~DA0+3%F_wlH%M6#u%T!pIUl1P+P|#t>gK67 zwp9CIA1=3s?s5xB`&aUa6N^HR3Y>1q6i&W?@-uwP=0oxS(gFaMt=K?B;N`3W3TPTf z2QOOU(pzZRN2a-_gMmx9;sCzxgyref9T#8z|Bw=XP;&{BW~?#eX3zz9hqjRVJso82 zJPtbjI?oh4`kT%jYRZ2$4{MEECwnD9yh?D&0<MYt;DCq5zJDfMy?Q4qH@oIYn_y|* z^W!DhCA1UK0{RWNo@Q{kkGn`U4_eh;UD>{38}JU9#8j5a|7sUKKVR@}m{8&~Co(LY zb)lhpYp1Qvg?>mtz)aiTOLg0dAOiLKTDRdD$e4jA?P5QHRgz|wkHtVzG8|v{?EIj9 z%ld^!o6kYNL_v19n{q*mjV@l>T?-Z{z}9CiEkMPF@0b<N4pzGw>jEn9^VUMOtz+71 zD}O3j&3L2D*K)hUY{n$jEVQWetT()Q-w7n<;JBK%uR~|}Ft6xfX)&yx1=S-g`DcjV z4SieTOd$&Ct8<|ga4IIMOTjk~+H}Rq+Hwp=O;4X4gwYS6%z))UPCLO2eLRDvcradp zXXfSc?sY7zoQsF@cq;!CQHS3u*{v)oLfuQ#*t_+S?`lv01$M;CqO6!oh~3_wz<Fjg zvHNOdK+Zw;@cUL#usOi8Yqa~kdzXE|@g$n>Z{<%f<Ufh%9JHKZ$IjTm?hio(;d)MM zr&_K8Tubo*U%pL<Y86S)qI>s`<>=OC_xxUHU;9nzfN6dI#a1~z;D8YZ8N({LMRpu% zO>xf|2RcM0KWQQW3nNKRjR!0yB{)80QKX1VMJiI_&=RMW_~XBWMb{jr7BdY;s5I-V zU1;Gmv-J347Nc2FvE)8|e&X*g|8%#epZ<+;TEY1bP{@pM$3j^;N-xq%4fE@yP|e|( zIE^CtT}q#0YT0O4(&T)<pZFtE970H!_WzHFScK9iTwGYO8qR~Z<DrHl44MKMrb)tu zF67=4$_qBb2WT{8b>>-aIoW)Nn$&<e$YuVVb>1ym*_=?}$Uh<#fAIbP6X5Luo%_d5 zjD*zqjA4Tvyoo?P5c+9j_5Oq417LT#4dYxaq+Yyy*|j;mT?1J?fWcl5sO2#X%Hv)= zxP}mWduzpC`~N#(WcULJYk9Qn@n<dC7WR~|Qw{V0tPeoTr=!9PHD0GL0iE)I2%4=u zT%pTrHPrHWJ$^;HiXA>)-0MHE#t<cne?YO56ue5-1-{48GOYGhc&SPS^?N|9X$TNu z5FEkiY5ZXaNsQhf<kx_e`HxG&>hXV<Jf2V02IKT!ZbiB_0fw`O;0FA|U(fxjG4`jc zD4@4b9&U{Q=i$szN^G6bm4N7?oNUg+>xUmmF;Kzy8ip9Z>*e06_PdC9F>f5SwOOYX z>i^9){{`m!->m&V=7Ju6`+tX{{(tiVVS&S$AtNK7)E4AIC1ceqoHd3MJ}}Fq)eb!$ zZ`zWhJmLM~Bx+<Av36-y{9La2dkC8)QGPzH^s-#_7X~^R8bLw#sbMbs6JF<8R&Q6q zvR8UpyocA57HsmVPrVFA_jMj=@E=s5n3>VVU5lw8nI2!tJ-W0kfH`#+SL(Kuap6g` z0UdsBx4l$Lg!tAq!%Nk`ZX1faw=tW<Ei(ATJRO9O&A_HoJeB>?Z$FlB6ys46ph->< z$~b2~@*?jXn%6K!s8bYT*tQT@lSOb9VorRIj|#s3bCJ~NmlH+?ky~qt3zcvSMi_Yl z$i9SC7%^xeg^zx@Q=R!lB?2I|Ub@)Kn0roh?E(6M8ISs-W5b%>Y?P|YpYe9lcYG>} z{AI-rh&fL(n?Ta&Q=$3)ek$gl7I{C4kDEpKQls57(OyJy(!Aw=e~N^T!3A;P?O3*v zu#Y25WuP?MMLTr+^uv>9s<EjoJyS8UOwrBw`1^>`8`oyCaSh`xZ|YgQg05USU28s9 zJ$ec)TGsDEpG4iYB}m5P%|lVJ%kbWAIVans;65r0@ht~&Co4+>dPlS|><9KejGp+B zE8F}X$)^l{v*{pVXh=?79dpk%YTTYX@4ErETV=8n(ejT^r<X!`uDs}4S^-t7x*iwr z2FFtvO=@>mt+?|`r4UVSeo=OT0cQT&SgrdPe5GbR)nPL&osqI;B+nWrW#~o&ZVUWp zQ-*;{*-h$xdvYMvw<()j%t4?PP4%0Pz=rvhhVX>6ziUxvXx82(_;G1gXJ2FM&%i7@ zG;lY+zLKdKzwVhu0ZE~OX6dz#)rlDmDhc1VW(uvWvbh-7Mr1Y5F6^EgC5M~J?M4S* zK__eNXZ5iLG(YFpm%^#&hmNg(9!l)`Q64<071THX=2IcMw09102MLol3Sc1DS>@`l z$u!TxNpAp$y;1tf%6`1dx+1XkC!BN!`b2zdypkL*a97|~9n+=ZlUndgra^Sv+-O^U z>R%U>tlqMjBE90vaj+AZk4gAUpWBt||FvCC?iO8Zx_F0)Be@J>%bVM66tso%TwQ%_ zarh@Q(_SftntHi}?Mu>f3sH@^k#$l^f=Kk%`7{5w+_~jE<i4F|eLf{^P2-05Z!5g5 zPSOoE=32JH_4yxN7X1sp;LRp7U~VN7-mhaSMiCa5jNo`JM2*l1l*<j6zlo4R(9pCR zH{ow2CqqM1v-*~i@bS51Rsw2?22z<WPOqu9O8**mOt*~;@HB7$Bm1yqX5(UOR)1#5 z^cELznFwOEgmjYNrVmod*0s{hID8%uFoeE*d#0uWU>+n?C`l@@5`&)(3@c-llz0BQ zOfsq4Q7aslY*Bz~6oFSM!_(DW##$}B!k44<VZ2HCdCGfZXwILyonP66`{D&>1o3g+ zBs1_q<g{(Q<<0VUN(^$PJ-l}c%(3CD&*4)UKKhV9$I{#Rs@Q|(g^PYUF!(~&4v^JO zBMZLNE_I6Nz;CUspMobPIkWl7mliba;>K-C4jG9RdK4<+=#})!{70@-&b|>_+OrPp zvOohiIVmYZB@|wvgF>36AT(DaO+j@Kfi$$YXpMSMjX6k3xj6T~d=Y$>cVL+-%#oVP z1!gj^L2O?We&6wsmLh~VjaF1SM1TfoP7y7u9=$4oAi{txto7%kNIL8qPKr;TdL&ml z&ttxC%eBd2gPqGRJlmR040StO(#^O^O?cA^J}Ct4q$|kC%X2juGN&*(>ckFc6@tkc zE`uK~6%W;@9^<d4cw6}=>9YcgF$b~~4K>rCQ~7Wyi&}nOJ;_=KV^5zmP1-YwrzR-r zVA7qO{^(qld&0zt0-XGs7o=|*WV}|zEOKw&@POBfj{nFtcl8?ub_-uZiWQ<X$lgD# zpHxFjROq-86~}iAP6!}-SQE4I-(gPuB)l@DA`(T$E^|`Q&V@Os9+&554kJ3CKjq!~ zX+-nHm{z(j@)B9>F??aA_a71v;CGz0XxQRV0emAkho4UF7SoK&#N_0t$09{V&5;F{ zluQ`RW~n)ja_$(Xy;U&2>!tZxzg$Avux6%dofLwPpFh4^EMvzyb4!xOk4AZpPDkH( zNa!wD_5>ddm%LjttrmTPlLD$!8MF=N*}w?NT?lFrLd@qE;lAG?qy+_rlCHUULwp?@ zC6i0{mQ3$Wtf}n&YG?3_?>jHv_xCwZY?hOyz)gZ{927w1ip|YkRHWv{B;X4>OvS&{ z(#5QA?n}LRs|i2VxLa;){4w*;ZCM0s(*+DNQc=ab<MhE|xtB?!M=pB$LnQq-PMu;a zv(8^hTMutS)TeEd`i@Qo4YUKD^jJF9mERm(cNlKX3Q#p=X~vAxCPhw|@Jr%uHccia zC83A^+-ZvdBb8g%7=y<e+`28FZ;yMT`Y*eBimMb<@SVgF*R4%1tWWQ#kA+;TmTFEh z^7>w3l)&m6)^bn{&-EetiDv<X6+uaN7m^Sa6$h4EbhI}!>A75nabvd!U>q3uzLuSJ zqj4B4(@kj;cTL*_wizI6x|eEuB&||a`Nl4m4QFt%^jfa_iXg^xsm@feS*G|LNQ3iq zdA42qqURS%TofPkRe#LyQUca4=CMhrN|YoN|5{cKu=F(I&W3$~-0ud5V(vhuX<6`+ z&BgGR`eJ3V_|yg>I3H7h51H2+@?|r9t;M%Zmwby!2obSdI~6f<iYMz5YrYHR(4tcr zkj`wR01KO99jIpUmpncQ7`W$<<G-K)?q=e^d-d`2xS7WFM~Li`^mo8<Ixv*}+5EDN zV7R{g%U>keja4y8IjJ$I(~tORm3^}EI#4lil0?~~4y_6r8x5-NT9s?qkGoLQH8`T* z;`>1Ub>OUcENJ<ZR`Wk&r_|uEvb0O^^ihhaSOAw@h4;Yb8qM1kn+aNBKy+DKkAG<@ z<(&?`KyCYl+D7O`uUOSACC!@!x84}*8%qH)9PpqW0d}mTz^jAgwkRRVOfh{YfybB} z&W$80`oDxBL1e?(+E%@2YOgjG)buqYuzir<CrOj<Z;EZvAd!?cE-n>28@5`YkhqwZ zXa^osB(tSOl2*-t#dc3cKo7ppW#lFBRv(qw!)FVUH`)CxR})J)LBej`oy1CEN(^E3 zI`BSacqx4%&@Yf2@`(uw5cP{)Ch>@Vd*i(P{Itr{gsb#cWmps!LifG{o?(2OTtALa z+XG@eJnJvl*XNk<Ss^UXAQZb9t&wV5wc@?E8$BzNdIRE!#5d_NID-4)LplxwrC-tT z6qWbT8--~ssk;{s2{%VW%L^;+G;aF}ag~&h=q^e3Z1|lb%b|9;`&|&?F9sT#NcTUI z6lJZxg)aAo{N{V-*SXC|UtPCHx>Op*%sKHBi*=l*IfaNUnULw7J$NjCZ}$?C!(;V} zU8!jSMZ<x2DRm&ydD$E}iRH^L;UV(!g#FO5w;xA2h+9|fU^DyP)~tzz`AN%+uFGPg zIqmc^Y4xjC2qC1Dxvvr<1K`z#<+P-bo1a*G{lhjB*A(J>6wY1<LX;_o_rZSlVCA2% z=jN31Y?C`YyToM#n~PPlss97tNQW#x)ze|r{X{;z2P^daTLu{~q~yIJUys%}jPX#r zUr(_Y;7%``$JY7DK<IRoe<)P)Gzvw?4EB8l(}>|;z9jvUa$t$-y(nR-!$1I5mGF|M z@lK&yH&(a-CXy&JPvLvk7>hO4tIA3dwdc&ZI4^DnrLSURB^Dl?Baf}CzWb~ju2_H) z899O5dzzS$(X*4<`4}uraeRnV%uH|I2*#8}B7&fAV*Nvs4*v;5>iS{o`(#2yw@TY5 z_I9kqUX9jZrEh7f!P@pbMot1*nwrtM6>hr{CWt^Tsl`C%bvGm=VO;6W^YRs4frCi+ zK3R{0J!>cr@3JVGOsM2<`w=8t*3*lmR|drr&d!+Nk_s;g8u#{1J#c3Mxqsq32{|R1 zH9DT{I1hqU4XK1G&`E&glS0c>0iHp0i8n%geIkUEVSNW{4V206QrtkLp4)_X;Azf6 z@2D61iuwIg@I+m2R6^gCxdj6aH}@bfiAXk%sTbS&p?URKELdA9-3c`2N+M#{X}D?8 z&b5MV?Oy%;<s+mMI5?z8MbX2)LCeI1LKc6l4giZ;Upbo-vjj!ih}hL9oSbCJSoGtM z!E4H2m3;y^N-n!LjS-!MmKK-L0Rx>6=2}(hcy3KSNn|7^kPgRw<`ChF5PubDa+*yY z*(5n2j`dJGhBd17?-1WKjEvCfeD|(GF=u=#sG3{+1o2#p7Q_lDaj=Gvz!n3q=1%sP z8S4rOkl}tRIW}4tni+ub?oaF%V|wZRf-FEzk=Y4POt^|cqTEmvN4e)<KCp=f=1#$| z?xxF?O&f%Z8Pf*Jo`>V=fE$TaT*4e!@I3-l16Xdo3Q6A7WguvWgfLEN5p`MfcKz5O z(_bwsn^r&~2{5O86181WS@;Mn`ZF4hAXT)ACaV5$2A+6)ULED5)-JZ49fDG*5mwn8 z?`GBK7yUaw@S`5^Ziyf{Y~ZC7Z&5Td(Odj+wF*?iD>QM+dU@UK-nvNwY#-oLgZm%8 zEItDHg7VosCk{vFkkEU0hF41vmliNCR@OiAy6xXp{De!A{GJ{rOafB9ST}m$c2vsi zAGh6%z${}V90d7v-lW=Y_GRgk#T%Z~U}TsqYHkkSLl@+`rd{DRk2vgx^l}qB7d7_g z<)f*DD&9Nw%T>J3FKI)%Bon02Dmb!EE}%7h&8h#l`h#IDy|;UwIRRw$zvRGD0|}8} z)wpO~q8{`@0Ao)pwvT?V7VvhA={XuuaR$M0FJDVOI);%4BOwVisv)f31NbvQ2DV|l zVHDggO+>_ttSHO%#<VdaE-s`}CbDmSEun~tAq4ki4E!h|G8%@91f&!fGg+0hgiUH4 zTZK_!g>;Sk`vd}bM4TGvLK)cpyA1SyT>2l6SGyBk!Tp8zyo#3gpIMi6QCr*ukOqAo zo?_1cH-Fr<KW6`wXfwp`_fJl*3Jqm!uD?M6bk3}!k(K4R;HBA;$^BKGK2gNIzxIB< z98fclyS@Yv3D?y>*d7R~sW>_|>iA3z1MVA+w%cXx-cXch-USo!gMA1;3h#)y;eV)4 zP55RC08{SsfL|`U&MFLrzn5YGFD(Pq6tJEL0EhLr9>kjxKtT7yh`2kUDD=?eQdK<v zJajwkuijXeU@QQ43-q!jw#_;$bNoUwxQkE>wj0f(t9{1eoW#WeJR=9}1(a8)0Qx~y z<v_+z&F%o&`9w==SPR6Z7I$gdb2KmgJF?+-I#k*1-pG^Up48~U*g%j0nm(dFY^MR$ z7d0_!M^A)l&DA$!PQMkOgft>)ep@mi?Ux5_5H#)6GLJZ9d%Z4hp*eW$QD_YxU3Jlc zlri|}OTNSH2ry<l55;^Jhx=H6Rxs+Tov&++!z+0}O(NoRmo*~<BLSPx15Ru=rZl-y zi-<N&4p-R$CQQA5bq%EI;ZKqymWHVvZh9G_$5EeDFvizV2EZ3K4DTMk+1dq<OuA1b zF#qS^+cr#puXTUULa|Vfy_?>0<IG-Zc#W+)G+~{LEWD*A1rHkl81D}VMp$2o!qDiW zl5%hrwaWu;*ofGI7IZ**1PVwGc~eI>XL%kUwS%4mr03D?O(rW%z1v>3EmN?}JL5|I zFMPzy7mqH;1kW^eJWr5daOsaDw!F2B%a~1~=*N&_eoGjZ3G3^W?q6_t$|jgyGYW($ z`SzO_RyyCv%KUGU_m38X-VQTBosD>ivG%o0FJp6HWKXuBA38W~jF25rasj<db^SeG zs^KM7qq5uKrg^Pp?)IIZ%(I>*>e{z+F+f&c?N2S@aVebB&r(&FapuK4k`qi%%+4{? z1_*0lbW1lCl=36p(A#Thbt#K{997Sc&jsWS0MUyPe<(#TO`*Q!SDOqLepj688W|CB z@ltuMKU-UX7!M}-2lCxSKq`T;2JAQX`($UR(3rmu6}T}PtxvQsn8Ho&C?bBmUm6Z4 zhoB%eA<`;>w*aEzyyEjgk=bQRc)XEsGnh|9nbaMQ^XqU)pCe<4H2(f#9p?|!vQ}5_ zAl;+27SW|$1T&-Z5mTwsY`t9<&;bEw4RzC<IfJfW+Rgwq9WpyJKBYr@B#dZmji(e| zhBaIuR(2PHR>r%k^P=LE9mH3^tWK}VN-mj!!XD#xu?SFM!JxH-#s7}9_anAk>)^K! ziCIaz*pu9#_0`T2^u*NM6j7Tj&!U=?k~j?>zxp=CJ=6@EB0z(Vw7NUW$y<w^><^>G z-L}^b1#ebGK5do#0v$oAD;H=6cV-}ssXp=i!=5RM*cxz)Y{bL=2`UL{*v?VgYB+*} zEYCJnt#Y#&<ikyE@0z1vLuv0S0HdN&KLE8PeTSDjxBKisMbesf%HYNOSP&3<f`3U% zQ`y|_S6rZMQNk4d#-^+YF)igJesHt`Seiin_mfwys{g0g+=FU)!)en`pkG8YDVX^F zj{Ipx&n*cs68Ygua7%gmgY60|E+K}>-?j5_0tJ$m4AZ^ju?zN>J_c{!{DOz+tAJP$ zkDjo)5>Uv$`ka49ZBGEnc&b4Q9OyHMX{G|ia^ayr@%eq*)>)P=b-+%0_E#QQ^or>R zy)eWt*$n?S`oC9?6N4LKmhKP|f&L*rynn5MK6C8r3N;0dG#t?3?wD=DS=N|S9(9ls zdr_9axqt>Fk+UftEw|0a?d;ABZsVHDdl0C)2>xXPH9lfS7pqNU=4+TGV}}fWa0N8e zQ_WO>-!cUa4X>KlysGTwK^o$zmYD9b!2#3y0?Z$I{avHcQbbsEe-36FBubUmZRBP4 z!5^OyjD@%5!%ZNV$WppP??I5ef-{@>p!0jZrNB6U|6^z8+#6XT*V@8790^xn!u_Vs zRTKx-{+9%KAE(h^5=rQGPPN0*no<415LC>#yEd`1oC^YrPg~Fx(tStIq{V%u|B!t* z8`bgT0y?V$%DpfxL3zGd6(q#^TqC#}>oMfLls7dJ21n57z5;T3CV!R5o`yU3-E$oQ za$<IW?))QOfQSDFjvfXq@Hppm=>k`=X9san`wlU2YrAV!lv*|5SdeeAJv`<FANr-F zdBvP(aqV*?EftJHa=c8+E9c4uu|>yw7atf<C_fle3cDBR!B0I#Feu&{dEkVpPrKdT zGG@#l-ihlG5~v66E?zzc%{N`1tj*IK*c^FNSbW?@Sg*9Sff#13Kynq#^5y-wxT1z+ zr1IbGv8A7*@iOU<fJ79CEUw@@(uA>RfWY<s^vjXAxxK5~Sya^DYoX4r@VCPjBG<pY z`dnI?5^8+^J$IS^vRxHi?Z#SY0^-Q!=`%o)*lBIs{nHyf*}qZ+qGyo@F}VqnjS?W+ zb-Ye3225W(4sdzwR+id)|Lq>i3tIW&uJ6kgTgSpOt&gQZXG6ov?@}^bSl}=7i+CA_ zGyi;mIw1H${tKu}OvO0ZWC~f{w2B&=8_ul618RHm-g2j|vQjR}wa+C<)*7@I{FyIw z*Lw!*qvFi&<?aYk=LhYR-9Q*-p_$slO1eHOH`6T42^I_gnXyXVJP>*NOx;+FC8#?Z z3V<FRv&EvC%`6B(>GB{0NY5oZKug>TDn^@7+@AT^)nYtkyRKm}2&_4-?8H6CumzzN zL8;p1<UEf5&%AA0{LH%hkw1AR-&-?7V~{?DJp0F&{8K`gx89<<au+@YA+{?w7<5`e z?Op>9*1PgfR5L<Q)5CYp+ym=m4yTLy+ySW$P~3wRRI2cK2Uul&`4$O@%z<o@dWe}8 zxCw60G3juU3m51Cot#FHq{x|&NJ%5=2I3BNUP0VJx?;UAk3>C=o*I21IpK7|S*x0g zALcyr27UV=9BBI0`TV;2+S<J2p);H8W*8t2TV_x6$ew&3>jea%>A59pi;-=`DMkHv zWG?#9n0_y{M9;0iOt8j0uPr$cI3dfk;bI-UC}FZoB)L8|LRz<17<689zxo}QJmkPF zq~CR3GrH>0JlBxcHHS5CtcLE-EN*N4XTvBKI9h>aNP2V49!iP+-y1DEVB5;ry4U{8 zxM3R7;EUc2^$otCoc{3)I)RbOF)peFtdm4oDg`1w76V|@6-tLji<6f`!PMR6uAvz2 zMyP#TB*Y`3bnN8kKr>c<Uk^Y64;2&<!3xS1e;;Nm!!3-$U*Xhj1$EC`0*aG?FyHZC zDDNbj1d$T+G^Y==DAoXeyZq`mzmktbypNtS=+;#|oQnlnA8gTPy}sjOe*7FFl0)4s zJ0mRou&@LBn#ZDnwoz~1MHm@eX}nG~{Hu&y8N}n7wLYwt3+PIWbuzuzT>9yyWO<_- z1{kL|tAhjsZ;MHPa31qV1eC{lCBK3jW+8_i4-4$XmBzs!vG6F!R@N;}wkZ5xS^%(~ z!iF3+slYnX4f7KfGLA9}az2%7v^RM@wz>w+B0%pAYksW(%ss5f5dEXpw3}%lX!`{* zrx&D7B(Kl=82UPouL6#5>TF@HX=VP6k-OK+fW;m3^mnfqyhTjhzq=uTE$T4WX#_JY z)v!4VwoCzCB%arEter+5;-L?nht8b{F;C)fK!1pi|N66;PYA?q=1NH;7B^AlUvV+w zsJp{J(sI+MY9wwpc<z^wuMSzRp@oU?#;lWrKh6NXOZDE2arMcTG8ntwNn?r=bdI~x zK{yj%LjTK6A;qtk@cYjHi?$9t^Z*OZ9qB`gZl)pXPaJc@9kc1>cNc0|^Y+>ne&#>v zX>qpy%$-AGm_Z|)lBt)G>H3A|VWTDPrlouRKlYjOgw^*y*RKCK(A5Y`<QU@r#}� zvHU;ig!><tK>x2@z$^mr1sk?z(*9xqg3iczv2GN%LxOE)jn+L6;|l<c?#EX9jVvKC zQQ&YBlOGhPc8^5?$jkVAlx*Tu&*W8sMi~W^D~w!M4}n!#2+)ZWi@B80Th8Q?S4OGa zhoAtZG5y!%G^~@2;g>OV<eaDw2%xv)r*{np#sC-kF)1VM-^MBm51{wO_}Y4%AjJX; zodv5>_8>j_v&I+%rJesyRLcErQ4b^~15}Qiy-<FBk;Id9uET3s|Kf>*>_fRrM|c8* zptEo{JwBd%q0k_iT5qe82H#yIWiz}h_|9RoodQk__&fmOOJ<RX9$s?=f}Y2Xm8b_X zK#4{sQMDQ+`7odeLq7GSC)Dd(Pvw4<i7Z9O0v6CC`>K%gh;%<a#s(DAjI0BJ07odQ zKoE-WGg47u1_lDB&3j^ect$2DSW;ZY7Q&z!#^)jk5EQEul;#fr{b|fODk*8B`}Bp5 zzBjk6@Dbnw=SMbQZ7bppdUdtl9Lw2gxPB^wXK)Yg`trjr=Q{7XR`oI}0OYs%%yxqf z(*Q>dI9C9#!h!3a@yg<&XLx+q5LDOs;O02bJg%c3Go@jo(4XIx3&TsL8`0zV9{5qO zMat+6ksxP7KERgF9NRES2U+}C+_c?*A<KY&Otqlo*>eSqQXaUecg3A7ztycp$o8TD zatPpxC<9IA_4L}jS9IM!Hs<3~`_vUaA4~4b0UhFO)(m<unfd3raqAREo!0mng%n<Z z(TP1%(MK+2ImLUnQB&Cs!ZXENxq%<}uS{NbKah+Otg>Hx8acA#htRPAQ3`Cp_>-B` zLmmb@aTvz|qXGCzM{g)0DQTz)v!=!%r~mXAEcB!M9oHS)1H<NT1m;oLA)r4RoLl{M zC<lK^{*uKzwJNz#BW0LJRQ>A^Bmfj6z?Ybq+WIvd8}JyJ)N>2D#5dk*lko!R=t<%u zV0Q#TMKoYn(CxDX8(N+3o8Yh~LJas56NzHYQ9reaFR(ZOLI(`w=!KV{um%X65Cu9& zIe(Tghwq)4&U5eNU1wZ&d<izyz)2e!t!YR%n@%7p$72r&>vMAjRRS6S(*eM!cznAl z&60(_`onNyHiJ}FLb%;$Bmih>51@Slgm&}WKP_9f2CEY;lpnRwB4r-sC7?#iToel@ z*yfz_I`jNYdjj}!n=*7Y?bi`7nxy=>d;Dufg$OC&tp|2!Yat>EpPvH!j!~+iIT>(x zD)RI&R1t8FYDEPAz+%kS)zbAwC~y)c>^$rM@cG7;LSh1LD3~gJ$7GRTPCSz!0P1Su zq6SnYz~=z_=+<5}H)Vp&-?fxJrcM{ko{o^05TCpu0JVkribk1Ci$Y*e4+$XB@|7}w z`?vjfYLGLe#`0Y;lh}&5-55(IP~2ko_c;RMn#PzmoG}}S@hE^{0ira}j{i`8sHg#2 z!v_79Ej}t6A^a!FiKaI!$)&;(1H?IcJWCTp0oilqrd;hzAg2lc`H0QoPYvL1tK=pf z5tJ+}@PRMUdRj*l0YcFIUOW*YW_u~_fEA7PdsFB7QGtm8m^dJK?9Wtj6swt&u}Xt6 z0G#65nx}uxYXJXhhVBc3Xa_o1QdG)9Dtp`(0mnaHY<O)lRYr<sI&*4P%vU4s4%{7J zm!1c+)@laHyN3L7f*n(uIBoqh$G#7SWF{JP{7OpVQ7u)`O;O3xv2)|<F+7;su{hvc zRrsl=)4IY@yl_-Gys^err~iF776oKBOPdb>j+CRXi@JZP_c4|=mL$UhlQFD`F&zzX zLkRMjoWFj7Mlj6Sx?bsd|IcdcKS^wgpIac|C8<$5o&>@JmJq<Wp5={_(Tfxohyeod z7Qf<xwoQl139C>hWY9RWYbyrLD_PdSlmSmH*1QdbC{knvY9_C^NB1Rk2}FiIe598I z(cpnuMIk!|rofCJ^|E$KZEjA<Qwr^p-=6(((A;dm7`r~dhfu}l9mYkZB)6qg39wDj zVF15*yv~bn{+vxCw{8AD^bsFWue%|q_a6;mGEQz@RETrdP-s&UoQzwrg#$uUy#hZf zM#j-APc;hA64ioL0Kv@_DxYL-MffzRU<jH{?^PaBJVqGEZ$Ez3dfmCL8U})Hqk+h$ z-(U_ivYY#_@=vD#`8b~`HUcV%g>+S;B*xE2DCr2XBhAM}N=~SV*fVZKOWa63J<fg4 zJ1%S+WcwS=nV6Wq)+oheJe~&c7z9r9<A=<zQ$y{WXbi4JtOE&PIf`#QR?<x@8?~bv zMBcovXPeCFn5NVa1j?#JM%x#O@0`*s86O^xq;Uj#ZK%DrR16JePshwq!hBnU0C02W zST8_ZLjp~ljDVb>@A?TXE$1f;Y@v!De*KPc4?a)y;PWV85q`UM5_mhQIak8LkJT!y z@L4TbE}o4U(3%4Cm@$%_pr-*yTj*t%5trvsNJ=z9+%v5eHeX%r`mgKObG_v=EsvDJ z->!w%GDry8qltNTGWAM7M#SyIn0aTVi2if$jm;~6HvLYr0OU(&jm&gIUz<|&SK6<U zu+t0!Irm&z$rAFICpSIacx~**^NTr>KqE6!y2Li`EG#ToFuezO{?%`(K9~wS2vI3c z9YMb=yCxR0ae@TaerYxsNyRz}e3lTv-O&3>GB3c4u=B?@0pZ#J?Y}Ht(HvbbbC|?b zUIc6e0h6BSXK-!IkdX9LX}zF{+LqRTkL**H$Z3nW0GE`LhW#=L`)MK^@E4D7g!S+Y zcM}bWz_MZi&I;{kFhcNqzP#650sJ@@Cm6kC-Qa!({S1Wdf*L76bO2olbPnz{^J|Fh zPiZ>*!2Zk)=mly%yLMiE6Wj!6;xEx@(Pw~L(NY9Ln>-D=W>hQNXd;?eC-muy*Jccz z6BZISrMON~ROmchKqqsU@d@nMb6gPgI~17|ghkxwf?TZ^x6589^njK57^eurC?55g zyuVSC?YnR_k{;@v78GG4S~V>;2mBG`&xevXQZzWax`T)C7j}Cb;p76~Me-ohP6IuZ zBv37Ys9|Qoz}eLQj~zk-7Y;f0B^h>+&OVO+kKh1Sa^*961zdTW=gLSgYuP@*5fA_# z%Q!cY#z-dk0*&V0{-2q*<UY;_;HiS74zMHAd+lNn2xiRS&WGco&ypCCba6F+&;$J~ z?qd{Fo8?l@U&_b{!3V2NeWzgIfDNX-20fijUVSMp5VHW*8ps4<%4$WH>A?N0R+E|7 zv&!0({<&XhK7ulq-Q2IQ1eh1NtR$hlNFaOSDn)F7`!rvJi3SPx6B0iDBf4ZlsU1n7 z0p_xZ*xvfXz4;}g+X!^64}@s>lH)VbaI>%spV7u6mo%oJ8KaqXR0T{X#2K$c!6O%b zasB>kxR)x8s9puA`5fY7=e$GkzrUz+tWI19pVIf)CVxkegYqAhD}Us|cd?9>?Tq0h z5w>{3ReP``Wx;zi>FaBSx%HhYd~iLyz@sWIU3j17)2GEULXM{POR|NIy7pR2u@JO) zOzD{e*3Gfk&}Vs;Dn3dXJP4uOryS;M5fNq1ZteW=rspo2m;PSIbrxm}{41WR;wUbb zq9MoYVWCTGmS<$sw_ET9*O@t_y!D%7>95BrJ|j9i7$+?j^!ufYm>_Kt#>krZQ}v1R z3`}%8fIHsY{*ahKapNBsU}kknkHTj;{iT*WSeth{mMSn2=dXDO?u20^e0SiBN1`tC z@&=X^ij(*6n3Cig#M15^mm%^Pu1~=~MNCW*6eX#hxdKGzrln_oKHlV5(xBl<vGhWu zl^F#S4-Zdmzc0|FV^NcYLk9e-AV&;?mxle{lnn>u-)AxvDE|i^q7^ApN7T0MHspQp zOq#!Sy7!G};j%WRB!lCDWAuVj?p~X_TgOXIGRWVa?#{80-}~-s8Z^10pkg1!T|>ho zA{3CpRgzv^?Y|x0$cz<f6+N8f{W{T$Q%`5}onh){I?Bl3k61c?=gZXYMfmJXdm{;` z^Gu7%8v;}#A|f<6!OfzXe_19?^SyMs7m3JcQbX9v=tlkXt^IfWH8eOPVgMTj6On;t zWTI(3jPIG$4&E2STPnNhuwO9_D3zBMtIBU#uXc7#sEaiAqxtJ<7{{AeU#<`uoPO`J zY<uB!e-+cTB>rdtG|kSKAlBR@#n){1VNGR;hab>1){Cj!FB%EBY?0fov~e=$Y`+pk zY`;S1lo{)|Zj*QV&X2KTJISFi7I>&C#V(4)Zfp7{*g*(((GZ8H7B+_6Vtrn3QKHV4 zJ!hbdY_{CT*+&z9ax(9Tr>uh=JJaG%=P{FQ{Qjgkpcn4VbwYOwiq?sq<7oRLUl?VE zEzLWc?S81JqOWSf>~*-u=(ZT^nRjUKOeN=kb-6kCYhjY>HK)r8)s$gV#8sahtN%K$ z>%k27&9z#3{7_X}4>+!Rb;z7h%!TpbH+iK&U$r3ex0QB?&>lHCtr)Rx$B2+Chi4D# z6fnQZ5r2ulsLkld-sw#Kn!|o-j>7WUi81I=Kma;w&O8CM9S69MJIr&?%uBOlquVmN zzNOgSIvQmLz3{fg9A8+AIDevI9Z#d#{_H~Rv)=#J*mnjrv2|S=5RiTYN<vqVB2p51 z#}YsROB9h#AT$L*q?b^nlh9Noh=PD3NDUypgq9$Li-`0ps328(5ATHgJoov2e*VLp z%$&2%-fOMBXEI~+dh-UkVC3rDhYzB6w{@lSxGz`jGi8A;4eJYM_q66Dze;{;opTho z)lfIOr^+p^jmyo|tKS@Ov2ALqb_UrWY51?P{!G*{?jf>2;+WXfii_UZaxR#}GJV?r zVt6Zj`BuwgE!KN`mo(oxWu<1sF_?26%wKFfb-0!M4nXzw#*NEzT4x^YHK-PAMTm}s zH&^Kt&rZdaoY*y2W}JJp$|=JMY-Bj-dGRFn?g)CQh+RLVfjw%$%uhe?<bDOXvhlwE zPlvoZFR-qAL+sx*4M`a(QMTodCnvR6=D^Z{M_NB{^}=sF1GA>4w2gx|#h%^8d^x=C zJXpkCIZ+>rG=yYXZT~%|?sbAxWPN7KshS;sqFfN46}g+&6mSMZj=x;z_U23AVmNfQ z%~HRl6=D;_6S%z`vp>lMq_+kX#)glu<AK@i<-Ro#h8}oJj3?S)BJqX398~N40Z7xX zqp1F^`29gU@xNfLvpls_)5L_3Q{%P1Ec*={f(r0O>g6jnH4P~`K4(#mF7vjV$?lpa z4-TI;X_s_giX70{S&*m@+A$B5-dU*nq+hCF|DmX9f>EVHtvU3<K;X<fcNVWhx#sQ9 zeWNo@HkXH1%syX~Ypv9w5;0n3q7yH*s&y)lb|prBdNEV2pS+4HYMQ*1h-}T;fBpsi z?Xlts0Eg!rJu$jOoW<R+{tt~&89|8~P4|17LT<g*+Lw7LV<FH#s161v4<4^ngcX1K zFr)P7zV?*Hq%n{Z;Z3srd(#$^->O3dP3S;<1oy<eL*5Jd+F3tNZ(_l8AhhO3ND{Dj zMI*Ogf6bk)ErI!Ml$g{BzMB2SYYTc&;xO|eN$rC$rjLMF@ZO)94{4TbG;7Y>1TBHS zueR`y2-q)t?zAzq_UHZBlL2mg)W+=@sb9qxib^{F;eq7gl-4(^nx{4T8M+f|4jnMI zCb9@hedF`x?#Ol1{UsH=KT0l2$2#VR;^vH(R-nVo$R|VRhY#CE-J8OU`Hy4(_7y=9 zVJNP+@z7l$mG2bY`ZGvNia$4S`-8S(f59GUe8P5;xA#t&>5t0=?TbHx-P{qki^%|M zc5XMWAPWZ>8761zmFdej+?s7>UB2tgC^Yg)$}{7wMji_cu33iMTI=k(eQtLon&%gK z-Mz^ym@TBUVNS!1O}wy#^s4Uz60^njb@UT+W5e>=`_fQe<qyR5(B8xA*Ln<Erw;P* zjpd-t`z3bYSJ9PC!eN5=XU}wz{_I>}urBK{T~iX0FhyG8npc!RKaP+#0X=`YtZ!bs zJlC`-g|feTU@d&^IRiywM76Nj%|<iny-RgrcN-(-@t^HNI`QdKX)lF*B3$za_-8A4 zJHB9w8}B=U`utHgiYGdF^QmK5xSM9qC%*WO;ip!Lc7G}A$ysn6Y({MMw}kRq5a_ye zc1`yP!lSj!K=S2p__JNWM?DHT05!$G`4pOJ9gv^^Xxg{=V>W7+MgejCc)~X@<|xm- z;&F@)59oPvTAXmOYCQ0J2MV&y?+h&L95v){VKXo2jS0x}Qs9Zq9dT4rMp#&YMSWp> zv$u_{X_6@eWhQ_F;Ar@b9z7i`tsOWJc6v<^8<)iIcsWkd4e5=+ukiZ|35Og}I}S9- zkKVbTxyM(-EqpmzTdm`brVy*O|Ap$-uRsFeicG^6n-6<sKd=JnA1QO=M#ucf_pQOT zgL2c|U8gy9*Rza9X`$YeArfr(3C{SIm%xv|CO!OtQJ{R@3%2gUHTLJ`Wo@pcUOr6v zN)oQWc4=F}w(UR-3J>8J*<MaaI1I3x=oO_MEFrkDJ`xubV=hXQ!7Mz3QCUWW`6Gag z?|OVrO&r9adv86Ce<Dqndt=o8wdSslqLPx`)Z50&qd>XDq}ZsP2D>w`H=FkL*+0KK z*?@}oSyo>wvv`l3tuNBz3KA{|?cHp8Yt4_#4BA!w&`snjg3v&^Tz9Cn+1t08t;`1q z^UnL9wZF=ea>Av6-Iq}~)90%bJHiSnT^f)v&fEnvFm0cEFLt|*Z9aPXs6HMLE7u1P zTjFjVVL{J@*!Q7=dp}USWMNywyW9p77^c?QZXQM)!0<o1H)(9ienO~Nk~7fa;ix?& z<Tt}N6=glk9L;wqzRp`gaR9d6gIY~gDfQW{CmZXSz2ApH9Dx7%qz*VFwwganRW{jo zXXhw{v7$0Bc7WiZZ>!?>XP<nqu&Lt6#B9OK>M9fWXRja-@8SU4mBo`byoB^vW6eL^ ziX@c%G<^JH*J+ySU*)spEy!9SG*|rLZB8*dRaroImo!={lJ@%dKm+$g@IL#&!8*fo z+h1U0K{MdHlIVAL@BX2Dr|+N`VE1Rgj(i&Q4$6xs-?IS)ul<|>BC3JwKusGE)zdn( zi2{c0Ki>piQwz+V@BiaJlP&>>Xs)gq4*4BI6i-0SVdGom4xuq&Eq$H8woBemO$DEB zT6ZTOVV=|q(?D%}^p&Izkn@S#Ys(tN+C9lRQQyDi_ar-37pwQ4@9eqPzIxxLExUdF zox4q)k61>qc`#;e4$e7MP;&FEjMc%}yCNdlel%jcHq|^WVtn{Vi$;p+TaS`o=MGb$ z7j=%Lr<oT%O5F?wvxUbGhBO0vydatF6~d*b2_IaY1@r;tOhONN9oGKdH_9vU5QH63 zxA{%${er&*=RVS~NBwHl%4>KGN)Op*|0$u}4lq^5p(WGJH!+MS))RyPv8j743oyq; zcjIr3vT4!e_~zezHfQ^Pd`eGANm!q4BFBKQzFS%Ul};`VYX6E4p#liY)39VVdNdRl zNlvWUgSyc>ZhimI>wii3$ALH0QBXYwAeS(qoG9`^AQ&536S8yGvSE+AY~)jH=U~$7 z`Bqw_-jg`u49~rFd25OamG|TmGOHRX&vZG9s#H|UvZ_k>a=6NlPqpzE^5*|2J?XwO zA*kx*oVl@7?le0CK>Ynyqr@*8dO+|_(Jc2l;H1#8-BV|V4)M3|hnFR4BYvhz5SI5> z{y6vZ(Qthkasd9i;=($f8S!Z{So8oI?x>l2;BWl;fUeJ1d5qfdBk;EGZxM0#Vos_x zpki^8R7g~JMl3KmTn4z*wbu2#xyp(2Gdp$oy>LBb)ybaobNd$XW5O>_f16_VPAgNN zu&-PD3FSX}PTQ2A3D@s~gthe^5$%^|MAzykyg7!c*^4=xgw<3RQ|hYz+)$PN(7x-$ zo#;X9K(oEW(mnGcwoDcN(W3)yzy%pjN&soEu)TD7{5>|$-L-96#ri5aSS#GUYOjWo z&JmCqsLiMV2PyQyWSs_2;~wWX>*`S2M5lj1pyqht0|i><>$*24%$GaeKKQ!{jv3^j zxp1>+4!t0q0nCxr`pvH&j;<atb4E8bjAI^o9PXXb+<EK$=Vr#*sbWhtx$*qZ4+j~W zsCx=}i9+D*rc7Y#YcqkIK9}`dgTM5Ta0%jo8d3Xdimvg;_|e;q)@@+rx2eC6M1CR0 zmWdGzI34DGr{J~<!O`%hzc0#N1(qTiuyDic@1@9%LPfT8rK>w?U39r1;?w)qR{~7< zM!XjyUa`)?1BRcKZhO|zmjiCQPz}Q;7~p#q$T;1jAo_J1O};JQnMvDn-->N69`1a! zDWHsr_Rx^MG3i8O@GWX!2d}>lz+P9Hn=yF@^M>a??7avs4h#LQ<00@6ct_5Yk8&cY zCqmFT=7oY}g|%R>xp8(;NH@9CqAF>9&{n1--xr42eohniT$_+~fHa*)&(YHg8X#A` z9CnlWUH;B&CFXPYX5Hctl9p}xH5tr`ZDHmXCT%X<PnsYF_`EmV!qEIn2eK7Np558Z zx7knpDO4)JL}|9PbSFxqel`5j^a@#jd_chjz6C<&s67WvPOfLcS5S;KEo;hlkCrl( z)poQ2+dQ;I7OpPQul!9eW5H)|PEbPzoP>k<B5w(^1nS7qIgX8VPL&+hKGvpf>(D;% zG|UImW@VT5R_`^Lq<!U_V5N=$ltByW%JJIBM^$d;fZ!Sq-$(CfhA@g=-j+D0cB6G* z(j6f%TF!!hp&V=+v>F1?pVjYEX1gDbTC4jD-tMQ<J9=IByi}})QLomx3*<^bJoVxR zkT&~$x1dx%+aa=K@a!bCDpzD@Av;^*5Acgl$&ip@tGbA%W_|D6LuTU9L!ScEb5^we zv8l0KFn&Iu{AmNA(BAf)qn@V>m0yJNdS>oxi1(Lp2HI4C$`66t%>dC;JTY`I>JFqf z_ZAJ0JncZz8rqD(2=M$*n^e#}veK$N!7sY7p}gALTTcU>o4vl-Gys7Dk)y`!uD7ea z8QwK_FwhCoajkB|tSm##Do(JU_*(uIHXU2jGGohrBC7ks?Y){PMoPFLBxgs*UH_z! z0l!YJvTJLta0n5o;le{mZS0?b-3KX@IbZ&x^p|ReiRZHPp0+yAQlL*taE1csB73l` zLs#n5w|u!5O**NvZ{Ua2rj0c)aBGnD&qRGdnQkP|IbNj)2+PyS^E8Zqp=Dz55s`w~ zf|W)8$Oh&GCgXvK$Zni|w<*#ug(|D{IYphoY1N4|y2;UrE7C>r80lls=%M|f-Jc(F zRjl%Zi{ujljWE#JJG;2O7cb1uMyrTuSQ!W#ilM&B-$hOi#f-%!Mlev&7Ajc)IRIV> z^~bU9XJ(K<&=O#7npV-t!|%2DPIPq%{GxP|-y1$`PJLONlb;WM{y|d&lUX(C&z)ZN z?E*#<5G!Xi@q7T$_>n!aEerxG2dewkj#`60oe#dL`@KczqnJrZHxZgIJ5M$#ytEs8 zOElO<3H3xGkqi{i(nmPptkOa021HHY9}fgnOS?7)NAj&y*ygCW+g5Z+r#xKuXA(=* zlD~xh)-09dI{}o0lWRRmhn83A^#H%NS1f4icVKEtd=dOdNT|r1`@sEcc`ngQ@4xo~ ze5J8#a~E$R(8!XoJ#5D|i#o~EGi~bLy({`8z>9DY5H+sz*Nq$Ta{~>}H!!l6J0Q<r zc|8I^TIxQ3aJ(!SYWb%1$zx9WG47j`Hs0uubg7Q2w9;b|kZO!P)E%6<)u^)g$ePip zq#ij0JT?-59a~r|nDjD@WxPZP_GWMU3Vmqv?p<0%e!4kaJWxlG#R9ks6GQ%auE2%q zo#VTclet{5ThjROl1BCKdoJUu`{y&v7&qp*w39Mk=i2^sk|^E#HV9RGBoD-e-N<ux z=MzsS6aDoQQJeWC$r`I*ues;pW1nZz<y2voOVax_eDt}VZY5K2!X@HqZOo~QIvQa> zvxVkdSQCX?f#^+c@>TI_GAC-9T1Lb-S+;iQuJ;n$IX8q9xB&G-j3IpHzd`W(J4RhA zW)B{KsoTGqzE*MazQWoB*Web5mu9Hj&w$3$wgM`f2ezrf2}ha3<>-Kuy1xkC04X1B zrT^jkS@G?(>#OxM1Kly26F(h@KtdaRv`J*wIl?iXRlQxp2dmX#o^dI-9r&FNsC7U5 z;d21Q_;dOKGGtSVFSJzDL<;mgEhWk@^>0)g{WO!*$KWE}MD1`1$ZP$5O2?aMpvJ*_ z&z+r@wQ2*n3I)IfbKP2E2sU?=%3TTO`UH_hjTTwtX|Id2a4cg_DG&GbLuuzUoY-?R zCE5c`HQf?HGL6y!MBpotv+xIfjM9NkyGn1lXyeeG2Bmu&7hD_sxxMcfqnZh+t;InD zhu2N--wQ*N6U>8qCPI!TB`=tr$Ly1CeDb62wtDOaUPB<xb74dCC;ek+(kOrbo>i<9 zhj7gPtj7oE$#e8hJ;B&9(3;aEPDqPxGRTwbk$J`;`UT*w6r38Hld@_&jsk$b932$q z!HOSegJ%ErNa0SY&yvAA=7hXt1#XG>*47!)wMps_dS>;D>F$}H@aPS4{cdDNh&3R{ zZhqXbI$l`%wvZ$7*y-w;Y0^2aPqhBm?<Ql|@CbH1-#?Z(Ir$Fp+gK3@cq3FSAI#9i zr2UWqI10c`hQJ?UKEw(yL;(kWlbz{5Elr^q6Jnve>SG8aCBw;%3)X%{$=9A(573%r z^&k3#racjLpU$}b+2dAdti)fm0R(2eRu2p{#z5KAP(}gDQ|rAD<KA@0)pcJQC>4Ox z0D*{=&_oR=pz7K1>>8PNMAgR!{SbmfS5$R~5bfg^e%XRBejn}rJ$grS7KH08N_k8P zwBC79p8$aW@1QnN`MG6K`OFvAA_bK4Qt*fe(RkpI6LIJH<Bd7n#mOdx<xD1;{}&Ug z1Kl;N8uuW&jvOk|iz}iA9!<1|g7b=t+iE-~Z8zq?*KXFREN5~akLCcR$8BAf5qF2E zxL73!``Mqq(i!@>!>B#vXkYu)D?XZ8@>-a<u$;+#`~}8>&<iCKt~w~bEg(mPU<Dsn zhC=fn4u|nR-#&5Y4u;m{1^!8TNI&qWm6hh8^>^OHLR(^lTEGU3LtspBy9a2!#>8+X z_Jx||0Q4Y_5@4Ww94TrEy<m0M_x?#X_j97OPBkx@_@X$Uo00Yz8{YJ!k*<|JQQF4W zmw`enHgdZcW~lzONI*^}Gf>vNlR<Zp<WP?@uur4u^tk~G87N}mctxKg%Eb85Ge*i+ z4Hycb#%AA1OeD~<@HnzOp69Bx5;OkHy>uh`++CKRze4jTYMJ^iwzGW#T{!TqMWQGJ zDVLRwP_^I#2H?T69PafVY}=pQ`L}z3{xq<NTW4tlEcA&22}t5eQPO!-rJ<)LO) zO`<@5VZas4XtaLz=ne02FCAfWg+A9mR7aln2{S9ce^Wz~6@Q5dP^Y&NT+*lnRTlg& zH7GWec?`kB1?vt!V1v@2sI7~o%XNK(u_qQzI`YE8qD@CQ@uI#qL`BZEs*^@jX0WnQ z<_QET^c*layDnW3^-=j16NMxZ4(ih+hCmpM=HT+T=pC<K^&@`kpv!eg%KWFL@0<4i zVgXxEDEy>R{5jMWA-mrW#FMpW#X;OSyd(pKG;RVaAG9U9qK;Fp*GfhnrL4+^Z^#9e zd-!_Mi&xy>5=HqO%0OY>8XN|6j#YJ`X7>cQA;$@dl#aB{T9iilu+rzck()<B<qPi2 zd@va>S^|YrN%j|nrFf6F(ux0pbvZLq=tBgb7TgbMxo`7^_%zaUhMIkzw)AIkRy^@c zXBhB2%`AbUQ09%WqENViumU@DSO9mAsJW}+1iIU_ejA1wP!afZ9);s9-<Xd~dN$uW z-+%G(>U5$<2omT`fx(|+fYm9}MxA0bLQ&h@fQ2@@5hE(&wm~^-FvIlYL;&JcoASiJ zpA-{qrZ;nH81S`UzI}@+EZnGWg2mFd9Dx9p2U+<M3qOuavC*dH16-Op_Y%&D*9y_$ z;emz4c$|g>W&pbj<a@0kjD7z-s9gL!ijK3K?IdovRk|Svj)THa0^(d<f*Jkyu!TZ) zyr*c#OX24$B}t>`=nphn+|Q0y@4JKR<b3GFznlsCyR<$`Is=6ENhy=09Z-=G*WW6Q zz4%ZQ17{QZDohjnj6StxIU^c$BFVqTA=qeB7CP~bb1z#$k=0jfyiXb#()wEe&5@W; z!ZxgHGlR*<#6(@zMmt(7kpD{-T5rteHI1DRdbvHJ$y#k+|AGNY@it(=dbB5$z=nSr z9CMv`au#(SgswLjUJqraG(+i0(^3v4Hh-=Ef=usiUZhn8#p9#XR5~%*Tv!|ySbkn2 zMrhKD^MSYn=+h)oFMt*Ez@8SonBj$WlRLKjfL)NYVM{Z6Q0=uVy|om`C8*)he%OAU zHWB+D-B+cz@!D<jvY@`NGDuG7@V(9f&<s`T=d(`pTQ+QAym%q4@)>H&aoBKO$S>U7 zU~$j@aho1hO@|Wvc#N(QRsHerJ8#%qH$webd1*l*rk=vzVX4*jWcFN_6Y;zW@mdB0 znhn|?Z59PUTaH?sL{v`nL9R}z!Fbd1Jwj}cLn#))_UGc*rQE$^PQMcz^IjTdlnLtN zqtn~8eYxc(GCJi?eD{8z;4?1uT4UR4%;p7c2?+VGyO4JNjz!J3wFG9UK4<x9O;!>% zy`$a_j1y2|8!WM*^(0W#gW-RJ*3X+hZCC;ILf9^?1H@hA)SNeg5a<7qxXnt7#Tdz# z#*8~fZfCKb02vFyNWfFhh!HmL7lV>?Cgjf2aL+b<qC;F+I@4K6NBT=HgVAW{hCPxM zx}M$<5q{8Y^`8dPIHrYhCw^Tn3KT3?a=VfnmZg$Z!vQTv+kXx9*nt^p+`nMxE>eyU zkNw|?XKjq#&X#*dmi0xOE~_7uZLY#UfVfkfnui)<DfUS=icH)q|0RM8-A&gRcN(h0 zq@{X7WA71%Y7B;5lWd@{bDpp)5IRW6sNUw%F-C;*0aQb0VoYLU<m4qspCC&2na&AD zqZcK2+&G{sOuOB)DCM?)rTpt`lVo?3D*u!Uqftfi?JZ5z)9{11o~Hzjjum?j@qaN` zdqQpRKM`U`^z)B=vOz~`zhQ3@e&C|A)b?smFt;b1x#6bTzk|7~GNps4hKC$|yO7=! zA@!M{8Fdum{soQNSR=)b$x<CCOv)1m?g@V|9Qi*yaAe?J;zwNCM|a9)?6-A2LMPW4 z<x?)cXgCF3DZb;Q-BF^+B&w#z^Did(0>Yl^N7I|^_Kx=@M_KT56Nq2I9O8@6v>)m} ziSRPNrqJU(w)?!XV>-2GA31}*$+VN>PoL%l$_e03```(SBX>+6($ThABu-3%OxDZ{ zA=HLZZV(qks7g+tneS&qrl4j3ni))e0`O@dlfTLTyG;2&zxM!(kjWw$M_ha`j$byK z{8OCF_`{wi$5VL8NyINV4$|=dGmi`AWHM#e#?F&IO#(FIm^8U5fE&Il<MNMz^4ezR zpHRX0y<gvjlrZi9%5FV|_~pf+=k=y+6`BSN>?%+p|GRUJWby!BK$zPq)76(MHlmW0 z#%NT?v@0kq`kZaOq;R<9KU#Lve{*RZBGJ0<laSaR5ITt=o^KJrwZlUG4VZW8^^;P+ zZ0tcZzi-%gdcw96l65Ea1_a<?X#21j=95M!$o~R?WgL^AH|nEdZB8eyX)Wz0d^d=S z?L5FjRFY!p#aY4+2-<o)wXA*OqB6^J$G~QrIzLb5DIbUQ&!DY2{#<0j6{ta(dcp}T z_%BxYFSfzGvPP4j!x`$8<Kc0Ujr4oz%Z-Xml;w`^m=Zv24_6$iVtXKTAcy#Yx<ehg zV{y5KA|n;M&w4B<l03g;Wj(6)v%P{S2YdEa>vAtao>O_6sQQfX*uP~dvfpKm=Hl(q z5=L?R*nht9N+<(%J!l=@-~U-?u@MnS1+EJ*B?LfW*4@nrG{n)Nn}=e4J0duovF$KY zmzGyQ-Urh&y+u*&w#((p##8;en@kySYiFC{)u8vu9h&&aWUa9$y8YtPB_lCqpEf0} z%0cg4=1W~S16~*x>tA<}iM#l))a#zo%i_Y8XDRn2%?Ui%)RN}x(6WA0Q}bAcE~!6= z&r+JmGM07heY;=}wO=wa<QYSgsa3HqcvT*oC$<yj<iYz(TB`lE?t6TLGcOC|<=e-X z;Vh8TXcO#HiI>XhO(z-FQ&GR_v)>;0>vn_$d3?duV4vppSV7%xRzE0*T)QC?bOogi z&^GdEtYtaA$OE@<ZYJP@m&}=3QYWWbNcZder!7+%1|EcYTc8B*SC^hFhsdxNum6&k zWi37uvMCctlrszSH|&BpRSN*~WE_lVeR&UM`#_8*rHG?g4kBk0o_)rJVDE5-w$88j z`X!6=E(41<kQzh}&jYC3jsB{{f4j0$sH;HP4uGpK+NAakX7ykP|M>trf1;@<)I*(V zrXMa}RR?R1w$M9gM|X~!4^B!-D<5*~kR;*Y&Jjq_Q~VlPv@+twslow;Y^5ZRH};nL zX1dsi)hDOL6fJS9T&5~|V%ArfwzWnu9^OIH2J3PLAnq=-eVJ`=zZD=)7C-}M&3m&Y z=0b5^vL3|_-S&b{RQ!nwN!os~4F_{RolR176F5op_{eV;iY@FHgph^T!gb;1lvc4P zgJROw2CXv=gzNQ+Ot`bw1H(fYFbTW6jCJ+X0VgCzGT;V*JW5RVZ(>EyN~Vp+FptKA z5k_-vxb!4sEHC;?gl_y<*Frk|lqaWXGJ3t*DzRfgEz9NHjQZ#51o?O#@^>zOd!y5G zVcrhL(_#j7a&C!<HE%*<PvIlf^u+7#42N4mhmrCY;Jb}Cq3~%@hiSA!8F1{hn73d= zyrgSH7@A9s7P!ph(uCw9UxbV3%-#jBM-IF)Jl{pey&tH_i{nz)yq9O%2YTVa%opc> zAT+djQbGxVIEpKNa#I!;?hhq{(KY;NA$b!x`ix>rUUEdd!4H}@6_YC1jCa0aZ>jS6 zX}h$!ajS0S!nC6GYf6J((>|9vaD9FT4QQoeLb6)To#D^YxJ4QYV2-V51n#j4$+2T7 zHVyR!nyq(QIX4Wg;722ByPLM`q83Nc!Ruk0&poW(^T=$q=qj&>#6gCMjZ1#354YNX z{Ryr}Ok}1fZ3*D8(dK$C5RzNlNqUlP+qGFcql6URt0WT&^eIX4;Yr&ZF13#@>}Ut> zh#1|B88(;jx?#_E@mzDZkj%5kU;)VUzw1<S5GPN$XMVA3%h=9Uc-^{OOK9vKT>dkx zsZ$pBrv~;l$9~NpI()lnDF!(dj~q`%#`C7+fg|G;pPaU%RWOq0P7S~uU4(l1uAja* z-<w@MlU=%Cr(tb>bzj_5t}F-LGTS%=L<jo{d43096uLSMO`C@`)mcF|{h<Xh$?RKQ zzw8#Ha1SXlPf79*ji&XKyl8XgO77p&s}Pq@O!<RC#_^<o7fJU;@(n@Suy1N0ay~W! zoGXDrK@<$p&j)9;s#hi{D5jusQ#=k@Fb<s|$fqQM$+&x85PCo;7}4vK=7kvncFlG! zC-@{6g&<ts6V*GVOe1=;`DA6t?S(#8#%}zq@u|*&f_EGIrG?03BYHhmrkOQpTAyuj zffckM$G#T}U7#JiEGCHnR&czG#=ZJe3MR)J%pC`WdV%-NxmO+4*7C(45Y5?qGTD!r zHDq&37q|-i;QV90wfocUe;OBe@Xl0SKG@BK<VandBuaBA5~*dtqt2Pb2hSpZj_8R^ zrnKXiNJGqNF?b}$s}360{&RWy$C<boJ1AqaAlS=C%Mn%{+lnDJNQzY|u^u~D3GYLr zpZPJr2_yu1QToPHoldS!ukGN0yU0B8lMf-kw&LyQ=?@>S!{))FwRUDc?<m#$Xdd~O zaM7W(WQKV7!!}z{P63Ht8n2v|`?$b69MDniCSP2DYZe)K0LStaJZ7Hs1`G2l)Jd6% zS-bW$n6fQn-GmfIF$9JB6?v3(;!by-pr~gxYfium%A+>CmV}<yJ4!(kAr44*ye_a4 z->#B5G>(#Jc*R!RJU1;0M7W3{3p;$wB6_DUSDSJy@Mo@1%Uc^KCipk(Pj9Xg==E(< znT)P1x8Q;OjmK*(i;|wG=y??``gE9*a408n5ob1}C`)>2b@IuC@hMvQYH(W0CH>2% zB<CV~%UisI7FaP28IxWS7D#~^<a<4K#t+Q7#5CRhcP{}kjsY$MT3hA2eqt5XGH_Jp zoKdtp-+K6U93L|bT^CF%O#-*!oPB|~JZX#OQO#{e>-`jFqsg?y=|NE`7yjYeYZXyk zq&QTn?r9mv?_9MrcIpcvcwacjf<`>#y#@I+<Ms_-n|i*9Dq+|J08T9{w-CH%Sl!^) z^|lI43B3ohdKLU=u)L3*9#oMBiRM$`Nk;4b6lS5FL{8PJ1YZ<}a1s9x_ZqjhKOAgV zT@eZV8=K=t@b+3%v#nPh!K}{h;2ns57@Uzh>r69JzC0^f1B?!!ZSjn{eG6Jo$+@tF zB>mWx;W&)w?wHMV4CrUyMzZsuEBwH+Emn}`WcW`%By_|Vh@S36>?lBACvl@zP_q7K z>8QPKQN5t{vi@ZG88_UVshM*Jf@5Ewg!6DBDbny~1@I@t2q;J$snYgVH~jf0tjD3K zg#_>5UDBqBeJNtO0<YJle!Uu+h`sJ(h0rJ2-xn)r!;Xw$%X82fi;b$B__py#!mDUx z9Q5;&eHIw)eLQ<v`$9WCA*Gg5a2t?l_}Ca)O_B}uDD#0^u*MGDByFa^O^mbKZ&Y{q zSheYsq^EVCxEev_UV6&K*6mN55dk+tnwL!L2Of6ZHl%(hmrp(pE;^D1XN-T72ao6H zC(z>ko0Mdszx{$(iYYVa%Z@iZDb7fCNS!`uk%V=2w%MICrCVxLWyMP_w%|E8_!FP` zL*OQ!@UP?0UV?mk5)#Y1kOz*w;WuR(nNV<owsUcyx&`Qr`n5`HuA(9Y0bm247F{n( zO7()B(#o`Vy{Vw!bN1!Hn*C`Q%C3r4w86y8?**kU2Cglk_w!nshcXG-VcL#6>s**k zl6ET;)t3pTk>YgEL;%V4(Rp*jwDvf-X<>Fdvig*h)en7AM34Wfs`Wd4@}gzBK;$@N z7R3GD3i@Fk<|aZr;G${TqI23CJb{G|`7NeZPe}FSKMUtGD+;k+5bx!?SV}Ep<EiVl z<C4ubgY=1_Gup7>HK`|uFh~|Wez9ffbu@t=ZhK!^=Rpkgxu}B)xzjZgch1o`TwLVg zl@>i7m4Rfm&T;E*`WEI9x>AqD%8+-^jO2~KR|?H(zg``afXx@+wU~T-wz^TtI%QGa zTKbo@9bj8e!;lk^1pkX^=`qQ``sE>_qwyZx@*m-79>wfDa8&&HC&tHGlc&U8grN)= zWPeKWI22>$dGEY>))G-COY(>G&DK}rAR1K(?GLwg)ldQ}Eq-1vj1<4Eh}*r>?>t`) zPd+D#PbBavWWOcg_%09O84{i>s*3GJKLudDrh9ro++^Y0uzF|p1dz?=O&1Z^&DUK* zzYDQHli`q65&n_wwK@F#IyrIBj2nd1mt$|OhjW%C*{SF`=#w7a7ncTrAf100VVm=p znorKLFe3AdeJKM**-9@ZO^lz4DVkG!Eed@tjeV_f>$1#XIpxHJ;c<-G;|=eFrf|9X ztkbZJm6mFu`TIEh%OtoSZr%;om*l~vKza+-yK!x(V_Hwm%Q%lZLo0KCoJn1P6l@~r z%nd3A<crC;1tpE%Y29kmrP_#g!>+x-oAuSaBZ-^KUCodQ7%P5grDaHX9-@nzigV}} zbr6cenNjeJ@n;_*Y(?Ywug~Q%9utF$sQJ2S(Q|~$#a=#2^-b(4o-XHAaZBSwoS99E zbSxw?>ku)7VP-Uv_O)FU5__)o<Bk|$P(|bMk`cHfeDdO#A!hz^B0*3Sm?NU-MW=a( ztBeDWRGB{yFg@>Te7oUXG4_ogbD-&aY!14241+uc<@B{>)BjwLk0x-#3Cz6Zcmi1Q z*&DtGLqn$oKdk;^a~F#}3kPm|y$x=QGbqLD8dkKnKdK*k6X@aTMftsq%?U*gM-nhE zD7I~;HiSiFn`s2D9G}b-ZvenX@>%q2Ue-Ae%*bmyu6YFE5MM#k%QI!bE;$oUr8>78 zBC7qAwzHpjQGPCCfqZOWol&>51JtobRCFi>+>Z19vZ#E}{#SIoqTBf_^t-jxS3uC@ zDZwlNuu|<8q-O$*DjczFJRTJ>J{E;OmUcA@(+>4*cH8Y9M1+i81~NT%_261sS5k62 zZu~8QTiGNGt#NGm%+>n6lU=PG&PY{;>vGAswTemUlPJ^etu>IUIyo?iyFAC9WgP|t z+xR%ttRqiA?rwZq$J=54wbbUDL#Fx(y!}mcG^}G=KEEPA6m$@h3KSW5MDl(!?hF>< zejbTkvPzw6$1c@CI1>|e<xpJb?FxO-0ui|WV%$BzDeB2Q{5DMrUR3@5LztDuTxTXq ztc(YY9Fwz8UyMQ_<9T}Bu+JY8M!c`T^NTenBK9TI05|xgts0L_25gGDx%e;*qVcz2 z-FWY@n5$&B4VnaeaxC*s>f|%1q;eJYONZ-<nNwQYH}df7R*>O(?2=zH+minN9R2~Z z%~Oc<plxV8-h)p*0j<aNkIB9_rOGM<%qCkSaX#R)Yqywr4)35xHp=6)j8GKTb+CQG zFZSn{p(P!uD~90t&ZwTBJGhV{Wlu>+%_jlnixI7SIW0nd@XusSd<OI!U8IL=jd(7S zP=q+10<@jucM)}2$Avh1K>2!R#H@k)#KEG~cEiib@;z7e#2nc!=LjgB17u&tAbAFP z0$3C9w2bHl;R5e_b9_dXHx=T~TrD-#HB@ZX{n>#ZzV|s6Dkn=PP7u{|P}bv-cWk8s z1Sa8(05o0sDG|vos3D+FJ4mvAz2#`kz)h0{nO?pd6)*3y@TB+J`505?tMS9dhAuIX z`yjM0MEoT<2N3XiQ{bJs@OWO0%c8M-W<x`90{q7*@l8t2lGCiH+<rl!*ZiiKDJ7@f zp&H*^JESVlGwSD2Nn_QUfKZ)*gE{MrW1;QiP>pkF2}k3n;))O7*`m2re6HxH%p7<4 z;^a#PG^AWE4%bS1Es2|trZHd*Dyo?w`gO8T{ouu|<0NdVK3S6mFR6!v)WJEfl7cB6 ziD}ov^|+KsrGSVs5oQ=ls34m8itFFg_11E*jQ%{}lKtt8GrJ@!ASzr-kKv=<vG?jF znJ9PV8uK?2GP+yaMD1K7aJ$90Lp(uHiN`|}D=>O2N?xf+Md^hD7LG1T3#J}CGP!j! z$}M8nt6W7jsi7aNgUZ!VWBRyme<(JFfO$u0cEiE!U6(oq;PrnfPxZ7OzL?g7KQaDH zy+ga;B*s@Vpd;lXQ~v3dL19ODyQVqC$0FkUG-|MYIT`Lg-9Fw+xK!nL8nzk>Egy&0 zX~_HdI2hZJ)ScUqIb150SIM#^R9hNOPcE{!2=;rw95%mE+4!6Z+wBZqtW=%wKn{Dy zqU%*T@Frk5hY#8^8kd8IbMmd{5fb<%vSv(-uh4ofl8C|qrH>2J1)Jt`Bfy3&>R|`J zXO}HJn_HchL~$wE)wA(xz;lEYr}N-Z@c~mqtb)KfMObcIIK>V)mu<dwJ#^xg{z$XQ z6$5^7c03{uZyJd!z$1s=5EA(OhfH-78onG~zLD8)v$YeF7|0TdJJWB)^P!ik@A35{ zKj1=AAz%jL9Nx#o+NKD*MV&ZtV)Q!VvT?^yJa0iBfrEdONZ_a47l`ncQgM+;`II(1 za<fvX;*1QO4f0{t4s-8`*ECSOc*H{^MIEH-;BHq)Zj@^@-2>dE^^~9R@t2Fz*Ogv$ z@^!n$OISdniUr>wumz8iL*9fydugFnuJF)RSvxzhd?$QH+*vxCbaM<LLA$IQvn=2? zU@YaLT&|QkjzT89G>tHPF)j8H)b~-8<knFg&wKp~GzWN7w(H4+)MlD2c&R)tBi%8p x;~fkv^UiV={H<ud7}fRWFS%O{JK|KGYQZ(Hvp>Y_fn}b!u6q+vd<FIN{{X1L6B_^k diff --git a/docs/img/CLI_JSON_output_screenshot.png b/docs/img/CLI_JSON_output_screenshot.png deleted file mode 100644 index b1e3952b78b6919b741447a6b19ec5d03b12523a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 171155 zcmY(qdpwi>`v)E!D3zpIQdX(AicG1TcJMCId6kO7R4Pe@gq@6v5T#NIvq=XPS&|&u zs0o$qb_h9b?-BP{%-oyV48Pm-`Tl-CkB2|*-Fv-W*ZF#0*Y#T5!2>Sy<}8~tZQ8VX zyLUMqo;FPfm^N)XO?MXjN!ph^_ohvYoVMHP-y_7<KOKG#Iuu@@l3eS1juChO4_L{b zq`gR6kp1kw#rk6%uj@-&@2se5;h=U09!t9WcFU=>ExRMveCXc!yyC<j|J`f9<z1|5 zF<iOeYppST`hJ`J%j_M`53iZAYo*XeLAX@V-d%=Ll$x;T$31tqbXdQbEQZEzFL#)@ zH|<DOT`({mCJ3g?dHS_JW2uc+RIujR(NRa*E|{_4hnD7X)rv2{5r&RdI+`b^s|$d! z+tY;0HBSrb{zdD|_`A$WN4nhUqUQ5yLX$7S3#z9!SkPbq{QGygqmv6-=kwI!X{%O9 zmq%ThTHq7{FDU%G0E8E8nL5wW5nk~3v}s!K0;j3dra4`O7x4ZrsD&5U{(lxo>Fw!b zR+^oE1FUa)qLmEORMTV)zmbnEGj0&?5bp%e*L*>{ggC#`j%$}`r+JJOY1_wwx?pUN z=5b|)W-+{cYVlpo;=uoRaU{Gr)9&=&#l5Tle~UBYMJi;c-Ra_3ubtMK{SHp6GnwRD z=(!Y8qoMxf!PO;SEi+6RrjO&h{*Q>xl1P}ula}Y>|I+bHulKZlr`@5aMYbk3$$CB7 z|2whd5WC3oeLU!X&m+Z@uAy?}i+GWHPCTgFlWBK->U*o<{UR+HrgS~<|IS!#zrBQb z$K5hnuSG-Kr`nm6j@{1?fB`Q$_^*-{G|arJ<%M>!Mer)7ROPr2Q8)9dba|cU7Q|l@ zG4OIk)K&yX1?PFLoYF#6$R;nR|NlnyJEt~6rk)=#+ow6u(UE2KW}hPhhz@2H&Y4=d zpl++R)Dw*WW(I$ze)@r#`m{po4{e_miRB~%#V4m!x4k5GQgHF`C+7*FR){HcczMAI z(ZGqDe4_`JFXD}@@jW~B{UyDy7;+nKf!yMUcK;J#U%AoGt#*?~@@58qnc{Il!z8gV zVHLr?Ew2LS;<PpNZi?$)J$Yn2yunG!RQ)f@+7Y3eH@cD=#sZC`e2JN)nb?%L-<`Ia zH?d;ic&=VAY-N^o{nHB&)ndf=m@d8Nz8dAvdT<c?_Ed+17-r5AX5_|Vn267wGc;T; zXx|yKYD%<1>dWSy>&mxZ0=>^`Xt6@C^4_IU1gr*L^w1MR)Ts6pmqN}vq1V*A_Et|T zWYo-JcS7cr`E6bKK>y4^#FQ>3<?h>5apjQ4A05vi8lm~UoyGrSkWg@tP;=7qj>e>P z{~Xzr6EEWLfE5j?%5a3Pz=3vhM`zK=d6R5Le!}G#5cVNpxk){35kF#N>XMMKWAim@ z=j#6Jbp%-REMBx)BZXjFra_JWf*<KS5Z^RXh?0MvCx%s{ku1qi=xG&pEBv5OG3vVJ zwUeA&C7%<0)m-*uuBfv(5L+vxI$I#V>do&e{cpzP@hAVAPP_fIWNpb^%glIihY_$7 zdOZsQXI=OgYvuhcoi-VHr)AJ)$XCtn)1K6zemEN0cOLr#J_=DCtx<a9lRJIe$=FpL z6wzvxm5zpwYMoX0DLBuiQ|f4b^V52MU$O}H8p~8Y@U-$E>f6pg1M@XR9-$L)8Ba>J zH-(?u<<`4h6$nd$s@n-0CUg?^u<l6;rkyT%%-FjNWt9;xnr;Mp%%rSppv0cj#qJv2 zt$d;XWw(+XCDWcxzHM3(i5-D`55d#1eC+W!zI(OCl_N7QKO{&Om&9VNCSTTYf(TdE z6s`vB65^X7Pt7qeSFI|`m6qC{;{12F^wZs#NykI*^5c43%niQd=%h8wZ(HvAF8u-g zHvEp5Sd(&TskcR&6(P}`_U{@Et4{LVGQx?mm$a9C|Bel@KKm|e2%asri;|_Vn|gzH zES(Ghp0+G$E4w~>=mP7jzQ<jUDLZjz=~rFhTrii@@gKnt2aw4cYw9G`G{NTkDQ4(N zB0pb4<JL95noYTGYhkO<E{P;05-lIQS<&78dEjP#*CVm{e1E^5@8lOFwRHOtvnXSP zbMB~h&%i64;RknUe5L1xVU0QBM|Q~?RyWymitYtXGv)SQWE)WRI;4k}uUWzYz|I*G z&IPA`uw=<SewQ!)qOWnEpLgB8YibD(?-Jy(v@_FSQBQi`j^#X^v!@91gM_vQ@#3+} zABdkC5?)%qMi}vT%7pg4lO~#}ygLJ`UrkCm)qa?|YrCT1FGB-vW|fbY{(|QBy^6WJ zc9z^87JRtvqzPO*Z(>c?_u7JNQdGs9Q}*j!m|Ws`q%aw<e&1~N47q;GGktHz!pTqw zJxT1@iY+6+PAk}|{P*6Ja~?!KFqDPN?Iq2US#R~q^kBw|j>dt!_su9eu*it#Uu4BP zx(>JT{#5*b{Rr8RUFM7&SxfHFCf9hpCSon>(5Gxsa<6F5>!iFqcEUkyj#zqaz936O z{4Dxi?*ox2+t+SGIip5!>}Jv6@Et?C#Mo=g+PwvZeyrF1@OboS=hDfqpLD#gYLI&r zBB(u_`&wiB_8%y55Mm!_g*(}zZ0OCWg0R->>e#g>Eg$@~d#>v34EbpvmGwit-jG;P zh&!BBcPs(YFCchH&d`}WDu1G8YqIw)WR0&*@5UkeYNFOP^*2{!-$<2)yuN?>Sl5nW zo0zY?-C5*axaDRqyiLq{#<r<aPOnxu!p_PjNIflBj#h~VJZoGXBg}#|l-Yim{c~#( z>b}N5-{}oD4fUR;9(_vg=6yuG-Nm}%ROpBtgk9Nf4IRPRhO_=s=eZ7L@nBSY$>gDq zZ&A1$@0aIy0h=<-MD|J-nRb&%d+M;r^OkhCu6a<&jNm7KO)ulWnbh<qQI>c`UE&d| zOt+wD+SS<UD#xl|AsbtVP6{M^E+9R8T71xQN=H^-_sU;K%a*ywUeCNLhOW&OnQ}?k z&+N-})EA%5Gkh&rhu0x0bk@W&H4*ORs#BbzTI`xloWqh#xAo6FGW3tY)}rHgi6P5z zYONrd)UhkYLnorHR0mC&%z{RPdh;c)r)q_t>?*Dx75I?;5wgELBpp3XT6?`{0pa`% zT;S09Nme8GEc|W0tUY_-&+G*a=6TM*`b;-WM)Q_uaH1ov`izzokhW%$jwW|E-u~TL zWUC2PvEpMxN9Xn8-Bvzx>$)wYHi_gOPmn9>V+rC(ky<~l8ui*T(+Rqk(A_;NNcu5y zBwXWp8J$teJ<$p(mmHqlOG+oAf^TC3_sUYEWG5=2Q}aNVm{qC3*#$Mhlydf;;6D|W zSAsm3Yl6~C4^P&<1Z2^}$(1)2*6Lh|w#@KF!X9%W8Zw=E6Eb}s1^p3N0c#)YpI(Qk z(y0B5{9irs^t@dW_M>+R!^<$$aE8zmbt(hlC2`%<7o42uq@Ju6$osMWj+Lx{<v9IG zfgGG(zM@0Cw6Pl9Pv}{O5yxVGXoWjFvJRjXl_a}5wAVU-<VSF}K*2WPD&0=<+D<G( zS>D`4ld$R#m7|j<N4Ed$Zr1fT5;QogzGy{AS=X|3|Cm9u#o^N_f6l5JT4u^y7V<t8 zdK@X(uG&|zUG-yulWb2VY%K?b=uWdpIzInVo+YYl5yh)X*d(~F$>0CkXw6k$D9zbP z*?6q)ES&^cWg?c;GT)qaM9N|buV9FQK=KlQ8}Wi^4ea4M_6G6LhNvq+Z2PI;{M@iv zY}6D#zwa!Ain7o2RUaUStR{~gD263Mx-6x>2o<VZ_BHiXL_-$^n~;wml8o+oE=Ro7 zNb*qGvCka!OTzF5&O6C-#Nyg~7%G=UGS)DfH>bL7qJs--bgUlxs_u|>Hh1rg3X)Q$ zO`*{X|591B$Ea<&j}|wIi}xVuYsp7}B4F-$Cls2|ye%~=0X(~r7wnY^j(i}U16#~P zlQ}=OlB7@A=dO9a*QD-sxZlm#9E4#*wfjqi(wTfO;AvKzsAYysm0RnZQ`=AhkzF9r zpY)oOP@ufG>`je7DVcL6&vQBQw{59LqhF(n2oe!?!6wevt>l|o9r5m&kIG=ws<Sa8 zac-#X#Nf0T$k%@f54EUh8|&Z}z~>a<umz%OXW*ncoczTd{jWm4y}6fUQSVQz$D}P* zMSHF$pPf!#!Qajzn(@#KeR0b0(;EwGfZxVH{1;cp>vl(1Nv}^Q-tG#$RQ49DVPozL zX_>vS^zARg;ghT{n>p&8<jZ?y39D5G2Ap~WIC`=gjKP_2ez>A)8e*UmGoV-@x@{|I z#SYT`t|C;QMh()^%qN@!n=ow!<mdd|sPKmb?m|vZB;lYFqSoOHY(B5Eq3caOq!{QH z{VeNCJ-X{8fdG3$b+9I?txGQ=y!lGFco5k5!tFOl)`zOgURuj6aAXBJA`N&tzi&hJ zPnFi)E|4qCOz^Gl&Z3o5{{Cl&akGxivu4vw-v#xCIkn;iwL1S~>YqR(dje_i-(|Hn zuxj+1X?}zuuKI|9S&Q|Y?zPcUa_Oj-0QFX3GILUpubqFfoD)!6a=~Ry4RC^F-yXj@ z-vHAVR%^bZHk(|@nYEt;C(J-><X$M1d6sq23Q<)NG`Z683~TUo>E=V2vd0X+UHFfC zSR=<3BL<xRA_rE;u6e*pq}Z}9p;=dK@hgCABcA@5E6JQN3*22ltHdRh!SlLbO(z}* zQlIzgl6!uUXtLyQpFwVT=%KP_Z)rKPj|tIt8Q4su2vLWB5hp_KF{m?~b=9|BFJ4r> zs8+lJjxxgIX^+@jfZ($XY%<7R%@W$POT9m-BCs0zB9WC9)R5#q#W&^qo|1<iGr(mS zU@iHWZ+p_0V6AW>uQ1WJkpP3H3zJ(AT28|D1vorFAS%VnO2vw3*_O#|4({!w-7_eC zTto<U$1nb=WAUOHmkAoxzX4)UjOM@~LTk$Kk-gA`Qa^^<761+o{LkpJgM_SgmYyi9 zDXzAEVFjIGeLsvzdrWAysn5rX8QU_D2ZAcc0vo57K>cykRk4AD8?ODk5#U2KK;S$l ztv82OH+9d99xB-xv`K?E7PQ3^zPoLD59S{P&@c3VEyHvy#PqLMY$&~9g34^R%xE5@ zj()Y;30+|LM|>CzWDtW0h0jU#CmCQpnsuJh^_o5ZkSCk)XYM3dch^fxbDv-eUlN@6 z;qEo8=3FqqWGiZYX2>o$$(A1zX_Nm%VozVfqU+F!VKwFjn^7ZcC?TdK#vyj6&?A9x zQscsRQ)|7O*D>8rqD*rUR6b|VCQQ8Rz|4(x@$-AnvTAj<W+b}P^}nVJ@7Y+><pRYs zm*#st_EtNMKlyQ;BtK0`zJ?wh;S|0f#JK-!FHa=>)=2zrRIT^E2Pn)Z-xa^|XN&WE zRB_KXjlJ4aAsdO8QMJjfHg$<-7S?BTwj<vYX?7Wjy5QL_P(pJL$%1DX4QT`Kd`mZ@ zLQgT=tN_zww}8diXX1+!z-0GlTI@i9Zhzz4KiywsvQ?asqbk>y7+L!xksrR;O-ZNR z)ap>7?;8l&Dj~Y})$kYJ)_l)2#7HtJxeiUT!g-&!0_>CZ4=+c&*LZ$j>3m;tb)5Kk zr7ZJUZvn2Kanvc1_<ii)A@fOqkNj@KGgTvUP2g=#q?$R@5NH+=8)z1|d(slLFs=Le zjG@!piP79b6kW632BV(6w<RgFhAleDCe<=+AM){4;oG{`D;kVYb-@w(oDu^sG>eF4 zzJi025z`O2a><0^N9b+%Gn@Ag5qbyHyM8#K>37Kd-#bPs`V3<xH;sI~ur+(>uk6JQ zuB?Xq1W{GI$1`7px?qyt*wvt{_Qbh?j>u<n<=2(bP|AHSNf<y!41OT>f-PM)A&W;n z#~D62f|`r|c$PF%ySPYGSz5WDDwP!x&g?_c?lI(kitWjw<1=KgOGJ6oOXQ?^aIj#E z9HER0)xE#6TJ;<n7!~zw?SRK-^Lknsrx0JWCw2~5OzPs`?oP_X)s(tTn6kUH+=T|= z5jXeB+K-9+mWc8zHrB?^5k2%|#)DhugKODAjQ&=1wqd_r)es$cSLN}@S4ks<`u>V{ zzuUYjG#>8e!GCh~ylEl2(v+y-BiAs!+c}XhO&ne#!s;<K>lHh8!u||{nw_$LbtiG% zJiaZfwG|y7NZXtpt#mEs_z;F)!#W16lAAZ&*9Q^#iAZ}*gnY354D0L};A%0$;+dpo z?X#+Q(dZnzenR_h#py>P#4WE$^iu5FZ)d^tHGgjlT)Z@XWR`D>k424P&X0JHRNqBE z%*$3HiZt5zZ1x_pyvemncDh+4KauJCb~}Dqt*`l#+U!zC)Mkd8?W8p?o(IP9ZGgTb zqtUzS(4n@hpD^z>KdL=b-Efcf_pDS@*iW*%veeD`UGs)#W`t)|UYWj1XO;4ozidlZ zJEh=RJuJf;d5(&4(u&Sv8y<vdz@~jp8D9RB^!x@X!JXl^4!@u}{!Z6X{mxP=O(tCW zVx4#3dBFZPvS!;$uxuB~@>y6y?@W3S&b>Q!vT)PyFb3_Iei9QP*tX6j%#XI3Y>OX# zL0S@!Viwm!F@z;ZwPKYY5AlAfft9-be%Hx%t1#mm!UNJ*lPd!<AIayFleNZb@6M7v z-8xUyT><3-`n7%P;`;{*yuV6rLv!GK^*e7{qB5Cu+^hv6Ja*f7e^lFWl3B+ysMRmQ z#r64wr@p~WoIM5@q4wCBZ(8BoCL#$6o7%*tEpV_&k08F~k`83G2FLZ7ZMLtYtrkBg zf$pU!XDjBwk{Uy{HzQ;n${|7jJK}2M3bavmSImLR@hR((O%zo9dq<o<^UE+jlbrdO z_RrIuWZJ6m2yc!lxkvKE%<D;&t|*!wg#2U!cU<UQq&Ei&fakbI!b3$3Tr=e?>CstO zIYgACfJGL#)X(qO|J<V<Tx~N+{WP;Tt<Wv;aXOJj-G|S21|%D0B6C@m^@%5l1$8ju zaa)<GAAn{B+5$tjp=Z9W4fOMgNS=>njkQA!1Dh(T`ENNT88-JhJ)Oikc!p+A(Z2I6 z;yxfS-NZkI@FbRoKI;So$1!^6jP<H=YR#9!GO@~NUd?E}5W@KUYM5J2swWb}HZ={= zQ2Vi-*_kB%XU}zra!u%Y5?;HVa&|lU4>aIsN_IAvecdaYE7*Zc@o~f*r8?r4TW359 z<#G~;gwu{lqwj%yGq{j9%B{hlgX;o9TG)J02^)J{&kciWovpDrO{}fGR!g|-iHwcK zCeh*uzt$@ZX9Gpd<vBCSN44QVks_rocuLBJ15WS@3{)_Q`5j!K@jQ0$78EA=(b8`^ zmQnGo8cw^NRa%MtM{o5hD`mw$e8}~88E4`M;9}L2IrKp0t3GYGtAg!3LU|~#En8s6 zs5+4fl3rjsNyB4#<)r)P2|O-ZaCWlXdbpbO$~)3zX(y^wUsJ+FQgsD43SuQH@n^FQ z$i}_1d;J8vfd2QR#m_fk4m;u(){U}ilbmHDt+8JC|Ee<_*g3V4*wu8GI1oq<e2r0c zqI*fh`+)bp;|yi-j|2HGq$)Id9kZJ1#b~5-%ja~4%n>TX^U91TSy@UhR~yg&?pgH6 zxDlVF-{-fTob#A5bXzu;?}Q&VQN^5gk=<BtO3w9d?_vbvl3X28)(pg=S{J%Mf(O|( zFt(&JQ8uZ_{YF2m?Y?0h^VqligAAqsLc2M#HU3WDQMjN#{>;~~7U*7Bo3ybO_p{*D zT0#bJF0hodCm`dI5um3lQdUj+9>0|>vf-I8s7WgIXZTqGA`8ldyNT(8EW%?1@_YQ8 z&ZD;kEwoeQ1lsT<l5wn5mw3!rd>c9%-@mp}{yvMZH@h#7zbkQJ0}S4)5=3Tu$$Fdw zn_A$AB#P2#s`~oLlII!?f$xr|!JQ;f@qrZeTq#v^Nq^3p1bJc8tKYGIoyX3-$G-n> z`@{|nSUNInGyjOiJGe0MH>l4KHxIY(-hfGhYnsfec_OnbRK2kyx2y-wvabz9QKCCZ zDH1xEXOBx7KSJp)Cpk;f%#NqIz=?LBEeo<6M!R*(<9|2K7ba@VXvZ6q&z#?12~rq_ zZ6$xunk*VhbEcDLE)h*%QS17l{q-!_y=!`)0Z;b`ijGUVWXr5M7ex4-GJG*p+42}{ z(J@U04XR^S-;MvTF<-K7a?|optmvcWMa`Su>WemTE*oIJFT_CB1M3l@#`z++@~8!8 z$i7!WC!8Qpe1Z3_JX>JhW5kCo_;;J}M%9m;pmpFcU{T<$@NGeBBGd<etfRdRUYfY# ztNztF|Ct^BB2ljn8<1{u{vEFA@_hYax<ei0)@_4wnj=lAQYDyDKi`A9fnpH0CbPu8 z;<7}>*?j;hj!+fLf9lrM9Yy(P6^uioY<N1RbO~xB9jNe3@rCY?>d!MqjfQjZZ+t&2 z0L<<`%Dcdm#0!ijIXb!S=#~$UiW7kKuMrCy%<~Tbmmijz2{&-u9KDwTKo9Xd=Y+Xz z$9kaXQ8<@VFGZKbNHK(P&xYrluLthty$8cGF$1LG{5-Dmsvr<X#mpM{a*EKb+1l<Y z+!$p!EmF*ku%JxFolmT!hl@MRKN0}a8$QMM*u`C}KP1K610N+dwwVev$T)qCu_Yrc zL1fSb`XS)rmWW+0RA0TNsKGCmmy-Ctt-v|<HaxPXnplQDY|C=80xa)?oRuukxr&Lo zn#dMC?tESAj+j&>vpDe4ZS^z62$r1e+wM9;Hg*;c9yO{cN=iTmVq%=s7fJX=G?AkC z#$XWe-g}*NAEmuOS<DxrhwG`iVOu0YjBtFyc}C9)C=>tAckwsF7^%e#Vy*#uS<vXJ z)Ao~D@6)Ftv3Jl>(;o=-Wx)J{uTfKjlbjBGL=-p+lI));Zi&DvaLm728NRK;NU?`= zjX;1sJTq}_UnhG>03A422v<ur@$P9=<YqJpHj^!=E2kK;H56L>(A7M4`z``p{l{yd zguVLQ^=o&;$8X9XZ^B&Kg)iBM8p@$;^OybB!W?h{#0ivAbD2FO5Lr4?728PqkkzW6 zMeITs1`?vJ`(fR*aJfoH`WZZxhRJd#gswzwy)$~fjO90J1ESBYC*39;@!l*q)7NGW zV~p@!lI6AdBj@56)pm+6da^~n?TK#kgwg+I$o}<WCjPt}g4Kl;!{I8gJr+_UZVIXP zH7Uahk9r<btI+Ymf9zP_gX4ZjR|ZKnhWt_-uzV@In|$mPrg<khbt~C#uk6B`T5*vh zvfZZErxHrlk#Rdo$~twiklckHP8lwl0hyRXbA3q9`Br!e8FP6Nela&+Pf)BgFvFWo z3sePShbJkYw!_EXyTWPodM35f04w-pvMIND!|N=)z7|wnK1mOA0EStaE*?x!Jxk@e z6(O>|u>{Z=yA73xP`lV)tox772a9JyYs5plvWG-_hyM7G=B*|fU28{7Om6PD^C@Lh z{D?M}JPWRS?=qkiMFI>Cv@pD7nA1+cnP`4+9O0N_*<C+JR=YL~)=#04KVAFJ-h@0e zN$&y~VOvlEehhCbz&hD&?cI1`qv9GSW^&`DD`_>^*gVdyZ26z3<R7kshjx&^1WS(2 z6(v^96$P29uJX-gXkO8yMYZ}z?K5z0WeQ+#JXrqLK5;RRX>==)(b&okL$mm;=)&j9 z%s`V~G$j{q6CSj@t0$N|U?sPCRSrUNlQRDhCVMCO=Uv*$ie;F~yAo?R><Kr<{Oc$% zCS7A-Gu-6!;ADpxGZwjQh5>l^1p5Jz0eXO>olr5GZwmwlVc+_;Qk<Y4co@n4=(;&n zWDdQ2f{u4&Y)H_*tP9BFC(I@fjC^uXAvkmJm58zVov%R?gq0AIk_J+oWGQP5Fnz`% zP>ie#rcUor4qxw7X555cGcVw3Z5W^tFCPZ06G^?-@%P{0CeRJmk7_1>usc!&?l`lz z>q>$o^!^z>e*PP#<C0#rVGaAdK(+e<<2f!a-TkHa1IbWQ-@r>>K@y!-)_Fc)R26@9 z3HCFkZ}*zfj=R15<4CHeEL!<bS#EO8{n6Lx2(PUJ4!;l4Iz}$g?_?`jev$*EP|Shf zv>c!R2st}`GguzJMazp2;*y1BBUQQ1{nqzRe0x}0pV#dfTF~&GQrk_lX3g6l7Ood= zc_XYAn7_-B_1|m-TxCR8LiV{l;P+x+GzQvnHVU$hhq~6%{UnAp%=5I<m&crB{20Ye z<Valvf<O45e$1#~a5xYUBRxeS5GN$=qfd#r;1N4Fez>q~ZOW*iU6yRgXV-?ibr{vH z@Z!8$su&I(<pku!+BgO4?<}6I%_5)t*UX(07_dAb=K-y(lKm-sXP??%0&_Q>dtgBF z3~v+LXiApf9_jea$TjioJN&U&a;-30$3!g*6_9`(4gG>=gHFwB$*nWVKdlF53mjQ{ z9C7LYIs(7PAYYx(aO~l4fed>F&V%a!9@PcwntODvpd0w&BNV!Izka{NGTLAj-}v&! z(Rrt;=Ara&zgi(|-D=DoT6{aOMpW`E`A|Z4h?S;$^=YxV?;GnIqBAwh*)1W)-!0(0 zBE7%4%!1uBpu=^D_=6EX;kZ~kbeU|;kW`<(Mtg^MWGR)yrcI#y_GEj~6gHUjm2^;5 zNg~v#FTMy!118d)aZ<hu_YI5fkboc1&2GxkH$QeDD(`60sqO;TNwb_b?Wa?=<h?!c zx>4NL0X|2SnX5-ACWLp}1+JewM2CQ)s(HOZtI6Z$vRDI5(oAwfBq2$z++`v}14KfT z0~oV897K0_s?X3}`@eBX$M!<&%vupKP}sN#AA@+)w(MBK{*m39%5mDs$oDFsRs10e zIdU(|n;OCKK}#0Yjk2Q&qB)$qk%UjiqMeqt)^|YbkXvAP4v$&$4<pO2k+8>>HPA`5 zuWakNRD-`On7DykeC!Rsc6`MynzkmXO<VeDtLl4Gflw}dBN>rmwK&0O=7C~Ipeup0 zJ|F|GQ(_us$%<21KrlSPX4|uZZE*&sbmp!STcC3v1*{;6x44MIp(e?eg@12s%)(`` ziZ2Hf!H;}H6WrAc|2j!Z9C4}5vlaB!<X2i_DHo@!JlT<0*8(}IN6L;p&j_)_C0Wuz z@@q`B4UZB9!62!4pI{r4@P1o>GERY6_+pzUYO3KpZSEmQ=Hu2D+VpTT!RC8s0_BOh zEC(opqcHhFB%?w(oU)7&fQ%%Xpy*kNAY$PcD9idbcsvFgGm3(GV};b9EdeB=WFN6{ z1<UX+#W#Np<v9~8E-7MSUL;z~6}?Ip`Hq%F)7Z@mF&CUrLkSdKKt>jA0(~0I8c`14 zvyXyO5)KqRGUTCt+S0?~d%i6JDfV9=v-!YH<oGw{Y(sHably?g^(i}9`dY4h{i^nH zy8%sP#t)NIDV16r@f?iUdf@mhS*E~IQh(^Fj%=xv&D9ED6CX%;)Tk65k+QKuwd4Ij zngwsP$Jf+?2gv4u8xu`zO$OMKnp2H^^8ef4IlDQgZGhxMJTsB^T*~%$lu)_h_N<wz zxDp-NNLCwVmP}Ww{_0o(EyX!LKL+mP1Y^?%j!;$w(6eBl^S{LC**ALjO+bXCoKns+ z_U=97prQQJ+g!lyz)jef&}x~EA`0Welg$-jc93(d2f)>(H)xhE4x+OzvbjJZlGoJ_ zB}`Y<C1{hoyGS{WBzhR{qx#ORuVAa5Cmj_F#&MNOxVXvkN&^x>+=$^L{0F>h>W;v) zlS{jlufNqkZZ+a7eI%EvU`a9ujBB%k=Zi*R^Lr<NLr1?h=20O~Jy%4kfKrxyfqn?= znEMexus'}PX1qWNt-hqxqh5<!epB!{VqMWHp7Z|f=GloED`C&Nb?e>^u7cOm3i zt`^7Ni76(3=S&zW)@hAV`(~0qh#|e`Tp;mx0T!^z01-g^e9)^CZcC)Qz@EC_7PrVh z#00zz5x~~2vY=8_r!gokC&^s<<GYm81IC0_CDeAjreKA^!$svSXX02I?QKUY!xo)} z%|O=JWiWS<x#3H-$@4l%k0P;$8v_{?ed@s1jik@<5Fvoh{4sbNdM`;+==Fp*^|;l1 zm<VP?Kn~?wt8<|wO)F&Drv)F+wUh)-7}HJ?&`ht|<j$S4XTI&gIcg;)&8F6s8OYo? zK^@(<Ut6`SSBTDnEh$G}hcC8`*xb~~_OQh<_u8WR_Km6ou{cKA;4-PE;+uA|s7o0l z9JgVIA40>WN;I~Ca?NCIh6E39d)g6S;D{fZMUEo!S7m@7u&l4j;a~7XiI)v|3hX2y zug7}la!GKD(&r}ZVZN<TEqJU-D4Hqy5<De)%PMHpM6?7j&8am^55lEY8!4vS&5%8D zXZkLxZO8#!_RIr!RzeAGpiX=&Sj-7B2@axd*={Q_s=<e;*O)Oh1>H0&9K-w1UQQQj zi56!<dkl^tw9Nk^v1vOU@gJ}_^d~X&Rm%Pvh;{wcr#|>XLigS^#v^Tl#d;f_>{a@< zf)sV_t6>GDBaLrF5Y_x8PO3hP4hVUc%rn5;upS8KJ4%+-J!M~G>~zE(=WAo6%Hdck z`{hh>y_`gnvH`)}P5>^yMtI8TGx1Q86c%pSYs`LIJo&}g)n@#KPR&J*Y125Jqz92E z;n7%xc}5sUNV8xX4jk$t{iB7s0rk5K%@;kdgywKU2y!B0w=ED9!iT$7mxbtT>;6OK z#Y9bFo90+X<YO`wc3q_}FKs-Yf$Wc{<cJ~(B4bg|baH1Qz%=itQYL46x1{KX!0~-~ zV5=cJm>(Wu0^`tK@zB$62=EZxTKb;=?^-ZiY=!(y3}!C`gVt988Ttft#0L{t1dhm8 zF1GlkK=3>epM`BUp#(8njKR96%BwehTPyyG>i!pKd=;kELB!!ZGVjP{sakaPWIQ<j zB1C(&Rj;<du^pau!x(edMmI3{+c7X^A;TZH)SBUPobECY)aj&ONHhZSZ5#Ljm-rj$ z-giJ&co#g_nz9lpdj;TesW<P2nc)nX$hRF1iMr;pE`tL_F0(~uNt|mYzSm5`!U-zn z@aqa_GgrCqKsK~vHf%I{-svv0LC}@OtA_XPO-lVMzfYY+J}N_Tf?4Iz#qe@WTnHHI z$iA4hTN9XJx+1?$QlmCGPYSng8GdM#8QqKwqL10)5M!Pcu4}(vIZ15D_@5>Ui40#y z=73?XB6PNB3^tOm5>BvVVqodmk!Wr5134*yNPD(j!c08kKnImgq-#R;5%zgLhVFuE zEFD>KlV3;8tvydm`5$E!#8S(4#iur|VLbWpgIK;Kf%3<u*7pip2)i9K7FpXx55QmH zV$vcRgH*~jt?*|9*-&}(8=m!i@Hi)!@Sid0$0cRque`z2{%3M}oysJ$&9^}k`x>^a zTJD`;rYkbbpD!}1g0wIK!ag)|u#xm2kWUF2Kk_b+2HzRMofzn3zftbSqcv0bX&IBS zqPBq^1PsiR<<Fk3QWCW|A_ahdREA}3cLZ<@my{MniGA6@_CEC)bt9=PjMtU!&lKm| zO9m@RTJcadbI_!05x_D4rr^aFNQWPqhw{1u&YUG924paA!{t)xFEIph@P%+ACf`q+ ztd^5HrmJ>sEmsD^Q~vEsK(nsWV1^~#1=|SMIn0UOxxI(}#;M5pQgz+ljj!CCP!lkP z98;AP-n44ID9fT&ycmF6MCeY^hj@rK5&b737qinA$4Akb{f0bH#kk<Dp6|58w-x0A zx%|(fRbL>N;1e0XidkePjL?WC@-gUQCuv*@(@bReIHI;Pkl!{le8+ht*dp!;>~Kh7 zI;1`ZQchPu7kTe-8~%o-+Kr3|K|OK&{A{y!#TgP86E7!SpS<}*;J}dYxLKP|G-O`^ z?GmE-4&W$+Zf1np;(poD3%f{AoA+oXa>4(}D_*Mp@7o=(^&cZ?_JuaJa3sx_@^Lsu zU^s1aRzrXOPR3>Y(%NA1DD{l(F%bAd6{EZ0R2v12rC7pjMnTq_1a`pqzR|@xC+-xM z3C8}KM<lWIqF0e(l;1Sq^5)LZC8n8X;nO)jjuM!66SH>wRR^KTs*I{Q5oU?#)pS*6 zEbZA%J=whyP6%V74?Wh2{$4yhb{55>+=Sl4*-EJHH2c``Khs;$sT`=5vfUhU#LT-h z$+Ae=hcHK+$*F55U1N}~6n()F_n=%GLq?+lt}z5d=nz}f$q*CR<vi12XaL73W^BGa z&UhmO0XISiQihd6^=UM2)nDnpUBh@}Qi~`kSgVB@QmHRqmM{_Tu+061SYSg20?yW< zB!)d5_ej!5-KOkg3nWb<7>{s*OIbc>TpBT?)a(ixZ^)z2{k<3Q!jQKA{BPfN4CdqJ zBp4*+2poZP;r#wF$U>XUkT7xS;!$uiN<U1P#E!+(a^>e7UP0B|Nm?a<1ziyVqSLJV z%}iM}s2C^|9Y7l$3;3TBZ(<pVxq6Dy@k{-*tHo<K#)-~yt}(u8a|ELxm_J)|$dsH& z#3pEk??wZZ5ZW4XBPk|A7sfTegz7Ux6(n|We=vquz>HJ!NVh6TzXNH1UjI*x(_m4L z`|Q;wPZ$oE>5-;$nzh3NlC?NpqhNX$i5^LKC0C~Oy#dS@0l}W>OkS@ir4SxX!D4}t zJHi_7+sy^*I!Ue8{ZP5mbbsQlzxc@W7N}rP68!THXs08C@s!F~RHse;4txI>JyBez z^3|3AW|f}E<+P3r+;g0nxG3n|*sh9B63|G>4CG%5;hznntp)=5r-B$&#$ZRL@_8V? zci(6?{%WG<9k3?g<HWVX_`j!hl8QjNKyZ2gBag#bk&NF_l=@hcOV{|~C`zanrdk0| zP_@=*0so2gSok%<J>vMqN~wB#Gtp!#+~m*2?6yrD<|!GwvY|y1dKIRzbR8Y{PI7*9 zwBvuNE*5;$rM%Xq*F|#H!sHtctU!o-PnSjzXpX?;YbFxvs1U~MX#5AWIbiVG99~xx z<l1r*T9Xa+ZWh=jzPH6SS<?&uEcxq|?#ls>jj!;IsJ?l!XJUx60!{!+fkb&6Sk+Yl zO*di&u=-Tgf3jdqH_)eUS>8zs%7)g#q}>5maFvZjY_ll?aW$9Yfleg89=l>2LHyLE zy!E1czt8^cWBBOC6*(ocv16VpTFB^9kBA!cV_rX1OIe&V^3?1T6Q%O8WN-MD+SV<% z<e8k6h6KL%R25w5U+Zr<mRBLr4A7_TS_Fi_2{nGY>Y5DZSWc>n#5S8{_;Roj8`|W` zi>Z<0`?hIevgM>(FqQm1_OC$NOE=p@Rg>}?Q3#Jp62o#aCv2JV#kRN(8@kJ#o{lBp zC?Xn;=)WzaAvh|z7r_<&yd&s<=)t-d(yik1d8pO}115r{e7gcW^^eMpr^pRWZ_E6E z$~Qt^n~Sq??dmSYma?(R0`U$XxoVKR_cLb*+4cI>+lv=B<ajw4eF&h>WznQg#KB?b zkzPrf?#Hr-)qg0U)34Dxaf6==4@8A^;0y?gp}4^6JKx@(y0SUP6JzA;*0koaw@SR+ z17}ou`LV7!p+UDAd0utRdFj}_7ZGjhX32T7k7>?%n%X=y0$G_FfouIYeBUljhKn4L zsy~MYl(gT^w5a`<9vETqdA7n`!bB~5@9dEgW-lZ-!mw|s4P2qEy7x;@b{f9gaYX4! zDI+qz6%X5HL%XDE>N_IMqP2LKGaClKOL(SL&|an|xh#lgQQxV~Oc^fJ--8a=_}csJ zg$+3#`B-*w-uit3{AE~<kIRVMn593_-(y@pLG9fy+>82Xr<PU|7LJRW(%N7}S9u7= zQ_>x{hG`#e7H-*gbDqDYv+T9ydk-O{CjOuD4pfS+gyL%INenPmx5}JGYRZ#@dS)-U zNIGMVcd7?+T=e6}Navp;Bk4Y_LK_BMw@l`4x_mUxdE_2tnXqzWk}&ll!j!spg7hI% z`RmNmwoOLK5#FX26rjXPb*4e;yfi&cw;H#_=os3%@q@ben-w{9bpqoet!#&w`;O^> zNG^MBP<fetal)?EpaX%{0JjCE45Y_Wz<*)w#|r4Hgo%_aseM!ljRgs?xZ`S-I<N<9 z%QgXA)BPhXLu>(a28`7X@$Cgjp(jNa#sgl=fgyh|V>KPe4h!rg`Cl4ev0stXwt&%E zvQgbM?<4mSf$Tbx@7A%b^h#AWSI|MBjKnna7njOaA9oPPFhUR3M+bHJSlEY&5w|n} zUqyQ(nQ*Wfm;<IxC~Xn~<~AR($|yToaioY=edgE1joX8gEMuYmIkR#my=_6M`p1jG zLS)CXaiL)w7e^ygbeS!6?=e)dYa7=FTe?*(kFkj<Ba(d_UQZ~x426cs^HEG{ztae> zZcc7(RceI5%&dG!$M{r>AuJ<E%)RBC#eJQ4X-+fkoQFHK_air+)_rp@6A%#VSa9pb zCp+R4#a$k^@l-{yxcr^|?U=Kpxq8(R=g|q5Qs<hxja;9?Vx4fA`%7!Aj;4iaoUItw z3jYRYB#MsANy22t!sB=q)W4P!PJ6*F1Y9=An@BJi?(8JV8cDC=TN9oXI6)KHfmlZ= zJLFt=TkE`j*FR;UW4VJ>h5Y5E)KPP8vxI}8LLp(%5$r|PAN|5dZPF$bVg<iW4RGFZ z_DtYy{>-7+T$*j17QsJzbmZHG?j!CW&TUqI<roU{KN<@o==2L!gJol1lLu??m;Gag z27CMa1NpnfZ5|T}2`=x=iu#G)>YIaUG5>I*6<fF)KmOB-^yxL1?Zu7Xa@)ccjW$Qu zHQcruR;%8stlPM)-u#gD$%5KD-7CV!PapIiE%rJk2LkkckS$A{fo&6>i3u@_!?tq2 zi(ll@uT9CQ<O|e{`8D9;Mm`(^_3!38Mp%^F)IQ}z&|Xxj(5<7Ov{R|PBc;M^N4P!F zVD|<9zk9%$i}G%)WgnMRLgXvoK!l0tIAfl^>^NOA*_7@uP0gAQV&F7SSkC*%4&tv* zEkys6?W*ZgDsoci6y~-qI9GUCuPnIXwh-kF4Gqdi2hLXw2CV&gOB4~(R$Y#`T)N5g z*9S~{(Pf{J=C!m0l&9U|+!f5ZNaEYN`TPjg&zrEpwJa-DejCVRGmkk<^aZDtBN>bf ztXd>d?ljVTwi2oqs>hv|b`)CX6xFI9<HFacPV~)-%Nc8zBTQAn#$3@8>09-i+g2Yg zA9kFIY?jHlbM?Z?20n-4O4^fpTx1vMfw&bu*RY7*G3bsM^1*1sU|9^oV@kT5)SJ}? zS6M&0l=rkdl}~6=HrR*m>4a;R;C`KjWx=!$6AqxYw3Ac_4*=3364Q}f1r5YQF%I+# zlI1{i<AC8v+3~H5FVpI74hmPal}iLyTt`~dS@Q)K)6d}zcqspL;zX+#YrZ%2TYR}o z*nqAFEI7hJZq+Y)mkI9Hq*DU@t=s?;x~@0vTrkBC9!CR;H!lLH7d=KFjG}N&x&a@9 zSF0Nk@MOGnG4Ij-=sKHi+;=|B(Rum-y8hUY)<Ijmb3*FFyIpLe&zdzypT%u9IhM;= zCf3v)k<n5$W3N>GWUZ7<*1|N6g4TxwI7vt;#~Y0gD-Hh_jbB_#`2sD2n-8yx>;c6Y ziZj@Xm%#~rl<tpf3JAd>)-%E!ni(7DisR{F6p$@224TdsgOa$VOi~BmXFi+#f_vM) zImY`}!PBv0N<l|3<)1q0XFJ7<V+j-G9+&4Z+w)948`RQci$*rx*@~--pw%3)m6_fi zbZ{}_HZug&ZZ$c1T$t3>>OVX|J&9(IeTW+jNJglE;Hw)f%JL18YjX8`fPlIF5#6dE zT;;>XWC$o8>PjnrR~&LmcB!igoQl7z7`UIO!U>heqF!EMmOB%P9Fi+N?ZnW%dN<H_ z&xv%iSg^wl#LJJTGx5|(^i;MC@C~MdXlGkNp)DPC3w#PgnKw2(kAQnje#u5^Z!#jL ztax;5N(?m9w_Q?<p-Pj}xW$*+xFP;cF?Fk#fH3m~{$}Mm{CeH8@H3mK-7PgKE|Xuz z!4dOYv0Uh85)d^SkiKq!3BqWlRV{Vahq*zvENB|PFf62&9z_b4JL7ZwtH|Q1`XBBO zC0Ztc6htL70@sPLi)tat1U0v66vQ-vRZrglimLEY^_jc?CVXKcMrRWPVZhS|7xDBf z=YeLUQIH`flLU85-+u~Z{Fe^F1HXH^b?i&3U8AFXk8<L;q49_Jf;AI;D_GyR(j&z6 zDm5z&cR*a#mhb0Z6e?GF;?oif_TSX;ZqO|o|LrsqpJnr*SxBmcl35W~{YT2JU4`u* zjZc9uzJ-1Q9O#K}m~)@%C&nxW4m>9d(C?bG$4rgeB(D?uVMJ0zU8T9$KW%TPvh=AN z<?y^EqK*Sac+|Z{?QlPI;=)>lcN=dD!|h}^HtCQf@>@iR35Jdc&BZjpl|Z109m9nP zs?TqO0px5jv0@&$32x#ff^Q_jlIa5PG$P+Vt+aQiF&EX}YBb*2h^ofWy-Cx@#y_^= z_z~yFi&y~{=QjUl+Y1Uvo6+)y+k-B_u0ms^AeCZU_J@UIuT?)XO%i%3wsK!L+KuO5 zj8-mAI;DjDQRHcwGp_7c#z55p84;nrOT#a0P8k15bT6jXYp>8)TTcb_5mg2CMoZEC z#-em>mCsCiAl?K3oE-$T)qLeJ{DX(NU8I;u+L~jI$ooXbg%Dban{8RGPssRHb|KF& zhnMsP>Rl^ElWg&Fp7OeDf0YCC0^BnInbjf$4`&-bavD8R3RmV5&#jA1T8h@HKW{|M z7ZfRm;X&>wl>$|bmiHu5h)~m8n*0b{3l?U|9R@B&3GC4Zr9<sKTrR1)5L<vz_bTTJ zO>xb-=B%_I5@xqMBoXX4Jk|2KCqjaK_k^R1+Q9I}3QGTcA-YRp8!c`}?9i|nxRp^> z(2>|GrIwVd(8Jne#1~o|*BjyjY~uJhX#(np<02Tz=<XecE89_dF_Cd4gtn@?PrU<E zPRf~l;`e)wsv8!hz^xHQ+!?6@2)|$k_q%l}`7mF{a>kosH<}=Z=Ve3Y1d7{8cAK{W zw#?tRD46OqN~M}0!QWrbJRbWNH~8FITn;nyrk2PbvH=2Sd)sa@y38T1w(v-4=u@|T zd#i?#hwKm09g26D1J4KiBVH9?k@`<1D*~8b3$atFAzI3Ayq8-E#lm9;V^KUD)gu|i zaI7(o0X)NWFg~l$d(gOtH6Otn#sEbf*+@wDjz#eBJCD<G5BJ(K2bS`{TxST)w}Z9x z)ROm<9Xwv!8Hh!t7WTh#Lr;L&|CE1h4w&y<q=Yk@qWu^ZUG^S3(ea3F%Pv$l=h-I; zR>EMIeFi);qGrSmKJ>LgnD9JKNU|rs70(m?O0?llC^2^G{EM8B((ug|l=EIoDYPB# z9)o@A&Nk2{>LIdiQEp3^7e!0bKNTz<BLD@@vv+sh5)tM=5poyY!#JiDj(-OA`zCS1 z`CBt!c2wx6ktS>5yV|w!2_UH~gjVEji%SRl)UQO@P#1=8kNdEN0ZbtORa7Y3xfP`5 zMv^R$?-w$DzCE}f!zC3~DAj?4EF!i^*0G<-&%;oAo6^c{yeV$$rR;9JH_6|&EX3on zXMX8e^TS^J9`h`2n*`2h^z=D`kuOb$J4w~vgkMW(;##MXM?Qw9EW}4cAs<g^s<V6O zRj;C981uwqBX&roY^6``ctyG}wE+f?I?MXY{_$R<$zm%RKs-p954X1xW%ESwa3eGp z41&|x@GvPEY=e85Nyp(I>#;`~Nw<>vkLU83f5>nRhnB!@#SNr=sOm%a6%YRwvOUle zCG2T|v@M~w0e;~ga0}sl!+z8W<an8v!*{zD+BaP3_`qOy8^M4^Yvv8!M_l@<?tmh; z+Akg+uO*Ho!9djpSN!HZal8Pui9s!A&Q)+OqNxE**?$ULPbrO!Pbod0K1k|!J5V?= zl=~Jg9Nwy9s>;7hcmE$JsL9%t90fPQr<1WTguR2TO|+aZ3V}J&hPxpQ`wX`&3^*C6 z_ZgYBLGJ0e#Q`BSbWa~lJOCq*D)LRJYcEg`Mh2;pPGYI-Hl&1qP9s%QQu)7rEuwX) z(uFJu^{5}L8vihky&6Oa77Tb7ZnCHz=~ClLeK$~LV_iZNgTJ&?{;L0Z1=Q3xrZ}+g zW{k;leL>Lv$_aE84C9e2^vxLrWE1VO8%e4TZjO0~<S%d*6j~-+k_}9C_TP6Zz2K=( zR^<5L{YcvTQRVOh_|}F7ZH@tjK*TI^5L(a-_CsTf!$;Xai6)ye5*LNO!+h?9Z)L*v zh|-1on`I%TsCo}j)8*N{h?nn9$F=$gm9C@%S4kinf}uwEN#MzFp<q<iR|QEfs_Nuv z<q@1yz9S#+^Bu}^<XsaA*uB)BzPuRZCg6AzV-8u|h*p7ag#5>gdN=^u;0iXX0oSC- zq$O;7M^jL*Y)B{#Lnnk2clZg_?<Ui4GNuIPEA48@RAiU37X#j-O`*Q<cx>h+zj5Vo z@3@{U1~F4+t0!}@wiTFc%mALx5si+{kWCNQCYQ-c65{w(1(DILqUJu1WNd(&rSP4} z*<cJg8e$9VaR%LQp!^lbz_BjUF|ZXeq0esXWV_l*Xt|udw%*j&;bcGCiBE<w_Lu-( zzZzuB^WY*bw=XUYnn;JIBLVGUE+gfS_={*4PX|*Bn11MqGMGu+HaN=v={ej*8u>9i zSkdxrus3Fzux<S4O{5RR?E0m8Wu>Ymx-0AUceBH=k`Cx7vvpZ=zXzf+^lz^#a4iGx zodEhxC;y`-bJF63p#_G1;n-$722yMYB!<O<Af*ag2j2)D>m7cnHTLyn1;pkmtv7K= z*NL>vJJE0#QQ`aEUeI8}Fq;cLf{h_?{CtdS|3?^xz&(O$<{voN>i8P~5uxSDgA}+F zjqtuk9DhE^%jwNA#BtySSCal%*PE34hgfP#4GP^r4GlA;wuPNV0*^3P>=**~3+S?8 zxB`7Q{cnraA`Zk~y#wlLtJp+_MTUzz(*-SH;2kAH!^%9^4?O=6O-B3SUMqE*7aE_B z#%)H!9Wy&A`g0$30>(v_9evb8XnaU6roN9|?f^pA&z^B$I^QmFDGyZ%l^4W<f;>1# zQ^t}9Kf)Aymq~^XcPTYh;w1PhOaHZ~)J9AkU*Re&^gU4xT>(B6zE1{`;SrOB`x*mo zAK<5@`sTQIdF}cAZ@QIcAEM5}A??@vzs-BgN~q96<L>~Gu`<I~I!<Cp(c>!gSu`NJ zI{M_9RK3qx%Emh)*PGIj-$vd*rDkou`L-=IEWZ!E-IhsM$OF!hb2%C-5_GJhE2uCo z@1)`-f#cWA=6@&?V79_+G|KLL+b=B46&Q{83^YGj26*7cBZ`%kgUOYZf%_|w;KXo; zt1uW&JKkQumX1qZ*OrpTzg-e4@CR<Dgx!vbP;pvl2|jOZ00GA282Tf2vh0HIn0psv z6T+{$x(|O2IdxI|yW*`x&r|~#zCfCpvJ#%M7!HtT${H{TQ3KqGtFxaaOXwt3X0;{$ z+{i#4Fa`{Bc~7IDb=lDLJia|(IhlTrr-t#6;zC>8TUk03Ln#f$8u|zERZ)uZWfc%& zTSvj=9V3Y!LvNx4!?)_WO5C<^`5m{L-keizMVC4%-=ez`p^1`n8-9$HbqN9N`&CrP zwQWy4=sh7y9>g8kH`zloDfQpd6~X9&L$yO?`B2tB<*DAS$4{WWN2@=!YDLJhQYSi? z3#WRWC;ia4$1U0%e@9?M)4C6F#2W(mGi6xG3ZM(V267vO3&~yg1F?o%>A=yGA+!zg z@EoX+2PneD><C+Cbyx_0JskzxRypY(2_4V_-8$hR#{kJoKH2m9Rv<2C4YV7K%NC<H zq8Mf4jKN1N8foO$ofW4j5X;vB=4Yn)3ogJeHW(j)TUjyq2a5n)K87kUt`X|NLHf?d z+g7P^JE#$6XYBUdi=pV8@ro7wP%r%3ovmeT>jZ{>RCfSU-@I9MU3UtzRzV6FKd19? z_+T!lOQrtBCGyv2z};DRj`{=YuYx0*Aq-_*In7{JJtv%T7L5{LrIbq1iH*wM1UQl{ zJ`2yxn1wvoFHnkQHk2zwEBn-S@K5;oed@0diTsEV+TaCr1UyP+eI8<Wx4G?)&i5#c zM)8L_2Nepz@jd8?9)HQ42-&+wQKo5yH^ogkfZE5i^vZ^I#k;scZ{L5o0@|6q>!oTB zW~<4#dWUg2XyP9gF?9W#RkD2bN9CqmVy}~X=t(bk`L~Tzyf!jhmgL%zz1)MEo!squ z^j2$lJrB>?1@!|ilCmvd{utF}!Qq=D)m9BG1>5p<MJ*K&O^f4(#xb!B=CVIwfXn?T z=$RBvvn@O5ZtMNl7MHS_j+Ct6DJ*A$!FmYLt4n$DfKWYBA6R-ai1xm`Q@sla<AG)W z<`IMVbHIKgHvHwb$t*nJe{t?ae}zpHi!XhB1<q08t-`V`5o%;=`=Z<$q0hyQEn$}# zbD6Z42IHN*w^uz_0F+7d-t>3F^%>fvv@3P_`0?BeG`efjDH*2gl+rp0<}#XjaiU!g zH_B>I+9uwJ$`AWK+$cre(lELJ@Ti7t;5h#11Uy18>5m${H*VJc)S}kfPJnH*V<_f` ztfkY*d@(drsy=dGPEv;f`i}xjFmNyTKhII&5wI0?bspFYcZjf3c9^ZC#GV-kXC_y4 z;wX=l1se!mGLUZ@QB?kFm?5RsIe>1s77S?<18%Vlo0Y$g;9idI4hT?*hWmwhg7p7k z>)Yd@%K!g&yKJ>>No}cwN~MeF?sm+mT#_WIkjrdIDvZ?_9A-?q3273gV$O()5<*Pl z+7`KOb10cyhIKs?jmaF0xfs8<?eqP9e~+*4AA5T|W}9=~=k<QQp11dzk7K`r?14&6 z3cAk7an5z-Zidp$^VK8zK?0MB7Y{yt+e2)aTM=?`Gp(n`ZU6Y8z^>9!FFN4OU3|9R z)!GkBPFZ=1FEQ<}Emb>o)%S4De160Qx8W?D^aTh3aZ!E5rnx{IJpH4hmjMd3ANair zvr-1AWK?_tP|Xe?dUO$nX(73zvb0Mb*)3Kl*`!~EVEVS>BK1xJx(3lXv;<8rr4y1) zS)gEC+b%-uA%4ehq&jqv#&{d5O{EgFbW<`sr(8J}T1ZSeP3-{aOB!-xihYLI15CRc zQ2)UVM%Ow^zFz-s6jJf@%V(K@bFDLcc(iLKAlds>E{Aozwzzaoe2o6i9&@-#WQ2J= z%EAL8E{2b%?{qrV?-BQ>sI^w9axH4c`1V&D%Ld;{eDvP6qDx;BChrcu`+^U?6aHPi zZO`^o)E_|zyj#YSl439ih`So8sOXf_9JUYQHnHw(8@d8YAC)P|5Bq}@f9(<@KpZg1 z1&I=~7VQwK=aW!i4fzZ=%aHN_mXwJ_gS5cnQVKzUv2eX&wr>Fat%6%UsDZk9z6{&E zs;wA+d~c&D#>R7WRb04uE~$95|NF40?OiiyTltX2Sk}owy!NF+lszi59B;+lehnL> zxhb-75}c+!^cr5P;P5ou_AEV7dU~zCnW^>(`f19k05(bS)&Eq>S0LGyTf4w<hFAZs z;6DPPfYJ0|04G3hC!mwxHG#u)zf%yg*$lCnD~#_Xh>Hl~#c1v?Bb2@z)MqfTc;W!q zkdM+FiU5k#IS90zlg7lhohc4Ui+N1y0*txtx2cg1_Hl(WdI*rZ<wFqyH{Ydb1?TJW zIQuSsPUlk9x4WF{6%~`bcC>I(mPKALIeeYf^<hc!+YpW6gim$PzTXigba{ybt`eaF z0&T*}4fjZ4TyPt&D@cCJNPaL^hxX^%7j8+N`4N#zK??>VNF&$UWdd)*iF{S8*;|R4 z{q@EWX4Ks*y7~_pgw-SaE7<1bq6UppM#Q!PDXQ~8qcOzLH5GMZhlEW+UGh>d3nrI< zZb;R5MKIJ)B_`Qgpc@gQ^F>HpZYq{G%M!HS!Sc|K-6=Y8%Xq+NnA*J)%#uOwm_b+R zC+=8IEPl8P0GuBWRIO<T!buw{1i847+|I?S!Ps0ihU}qpZ?VOs#6S193b<#qtJB_} z9Hq#+OnBdT*Qu*K>F{-Qh<tUDN~Vv$*DLCO1pu!~{x12Qn3eKd0kLszo6+HZa3!a+ zagpYRcS1#TVfxqr>2Jf-T-g)Wsj7kx>~WnblxfQUQM6^ifXw>2tWAMA&IoJ5MF0?h z%#PXC1~ufsA`~e3U#ote5O!aR*z*oVc}^~FNUy|)el~Z7h>2g@u=SPrx-R8`crlAz zw+8{oqA(DQ3>}7YDWbA>vf<fXH0hl`wI^BlwXRadfbybot}hhe+BlL1#$wo~d*98B z1dCJyMIdVl5JQ0sQ%FR)ev>kt0F`n5L6^-8sqk26wbqg@{L_*y2Fs(9kgZKf@GuUT z;Hvs%TmQvEJ{@gyjX=*fT(xDq$DOeBeemJy-r>#H8s{gR8Z|tl)4-<%+qew3AA8;3 zKs{BpMXxnBgf#14<_eNa5ve^gfS$`H<;rv5T<FvQ0{c}OgDLVu70P4a+}86@&+e~d z`?_UauZE$n0U$z%SMkg$@g9(qiU6UzlPsGsOc~1lENkRptync~Ue;kke6=kF4aaDU zKr50weLpbT6(8sJHn%gBK4lTLMkGVAp{mjF05yi{dD6Ach`=o=0SkJ3pT0fkYNzOD zPVmh1-umeHUp4$-f2~4Rb8qY<H2Q4Jfjl4R&`!WNOE@*Ar`hFgruS}sT}+*q)2XVh z38z}#ffj`?>1uT#FYqODworGG6kGUFpV=MDPCx=Bg_s9)diq-p;=lX4K^N&P+=v*O zbe6A9mEOR#X37tVFA*k1xD{y5oKGV4DFvouD<b}?iDJvD@Ee2pk`@-3nNI*`A`Q;~ z@SboAVrw+mNC+*6ehSg4rgm&g7gX?B)?zgbf`}m9n-X#|B?O3sT@hWhVw5{Zj>Ttp zDc>w5D!xRHNuT*b6{{LDKxmn`r_h9^l6!P91IoB%%L2--sF=AGdd(k8M<?9G$&5l7 zd$K2~Y@Je}8GMcHUSV=5$5ZFtU2Z;U_tG4XolA#`z1ITf9QS=rhTc08RJMI;dbQOL z8{3UEOZ~I?6=TZ&?|RsttDWY1)V0IIb=zNh@6ab5mk`mrPN)2w@!TH0>UWZVeV*%C zTSiblxRd7NB2&KK7FMKg-D#x#p8UX%9Zlla{nzUG!W{!Pc=E@-z_X|nW#5piWS>=^ zr8GsPEUc97*?6g(I3ycOXsMthn^W~X*~H`vAWc5*2Hvi~^J4iDS4?K(bUFy2nfJ&L zgJEcxI|fhA1W{4Lh_uj+joh&-&ONf8ShP@Q`RmXQ&$FcP;RPdFeE+#N9KZP$417Ts zlUye2-Xv9sZ~l(D<&}+2OnwIpNZb*$|GuDjYiW?+eLtIX--xG(xS92|H8A|*#U0AO zlUH^TbpWRW^3T5(PYCc7;qxj!8nBQ-3#N}x05a|b+`cx_4)qfinQy@Vetv?w>*?E= z@C|_G4ZamR#l7t2jsnw*vsOMjkuJjm<^r$K#;lYXaSqZqD>Be$?ALvfBANZe@gHGg zJpfu~>26&poWBf6v0*oH(fl6S-*-aGccn^Q+30*>V7KhfRHdPnH?V3DK%$s;!}*sy zqeGECS@1BF&fzh^sW%|snq9+fK=yp*d=LtW1=<%y6#Gv0HZ)?}M>7oknF)nV%z0U> z{p6XxGq1e`@4q*S%-#kFUhY&5#g(+KnfTWTD=hI`q8chUdu#MiHPq48HmNcU2)7zP zinqCSij4xkEG3jsY+je-ZKwGR>fMM@Sx1UjvVKk8WAwHbAfV3Bi))o*UDo4lz)#rp zbNk1qY_U$dpWV2E88DwTIo>>Fn|&mF==imtWZXQr0?t$?NG)}h<AZ?zJ0H64`+l<= zEs$-$6$e0tSVyh?){FW4lu`qIGoy}$U-=Oi?OgErX257{{an<q5pva+SXij_cM?lS zjh|ASqxHdNQWUz}ZMXUf&z{&HlE{I@sK%U;!&3&L7`R3OQBqWD6*>tJ2h0iW*qW*r zp(yQ?m%ah()Dwyf%1d8`BHd@g4FXttE-Z|iPghMIIDHL2px4IS>cK)4>l#cD!(TD_ z2}}&&CMhg`!bhh~CxU#bTjt&QDL-s;yGi+WWjhE^{N3!|)nir^MG_S1D&Oa@x{Pu= zS45P_av4<Y*7s<DNZj!@;_E;=g<`UxpE1_i^v{csEny6W@XYJ;ZI<K1AWmV^@p&#f zaY%PcTTn)o#eLVDv$BgXHF}#XI)Bvx;7Ls7p$iRPS<;mqvg<81uJ*fOlEZNy{|?`4 zs<+R8wYXNlB3J$1<ap@v2`*K{sZY|HTFlm%Ui+wrPl0<29G!Z`1xTNfs{VeDM@;|W zSN{feEnb91*q9;2mhFf%VzN{!r=7PTDaT}KqwuF8&q4g~&*o!a$5!>o@?L{9g_wgb z`2_^9%+b^I4snp;K+~Uugw=rm|4EH_`659S|5nC@8<iIzK>txdp3elZh%5Wt6{;s) zG@z`zUI$*q5q*#@eTxD?BVa{lXaxLd;_}nx%e2!U<bU>1HQ#RS(R`QnknHPsVX`yn zR=`|CvTC@Q!;n4^lS<f?Ck|g@<k2>}E7EFT`qrNb{kkBbtB-T&I=|g?h3DwU{)!5C zNBb+^9e(b_6`l>s^2z558%v!mb^Ip=Yqu3WdnVgn)L}>(&W}Ag8TPHp{sWWI*ZQ=- z`b!v5pz%X81i4#|+%Zdc!mlmzfS4^^APkq!8YyG(F{Y(ETVwIRO6dHyGn`Rb`6@op zc)}_^iRj&M(<Nl^>lhat47mSUcC8zvhqLgi;Zh*{|NS-;`OF>D9-flZR-)2iV?MyN z?%~W3UidY<S+4{n(o}hSZ(?{MkIURc7xx{PukQ^1%49BhQ~f1k3BB*w>!)AC-#<Lz zz9V@1%iQIOv&Wv>ouXB(-ID#|#gD705UC>u3plwLE%{}nT5XIrS?UX(!N{2G@@zRc zzClF9;)yX>657!x!tH*h7u#8MwyjA8s1D3{F!H9zbROt7qwvxWLM|C%$El;~DSi%x zrecs*V1I^RaCklxV}8deY6P%aNi1}P#3HJ%M?%!FcmEM1e!8KK>Ja~YvVQbeVJujf zZrKt#kK>^8fL|Gw5+KeebZT`4g}0Bwk3$Kc==6>)h<H#Pm4cZIbh2kk2aZn#fl*W$ z8u4@`u&Zjv9tW^|v`}4^uUH)oF^m|bMHrJ7p&AvGjx{L`daf)TA;@*#4OIyV|CKj= z0`jJG9ONo+kz+G9ALWF^U^}Cmfh#vx$ZEz|;08G;`rcFkQq>{93NvC%1i)HBU<e&A z!}T4CbPk5+OdNY3z|tWt=anFSD1}N8Gp@#JV9c>!vH840o4J_dGR(o!gdaf->`-0h zj}(BY++gAVq&7DqfW*aj5E-Y3+c5QI!tiib0Q+kxp|ca{eZAl)`PEAV&gxWg+=>RN zMmeG4b|^g}vvL&P+6@nUmOb+XNXm^Rj{SYA$8+a)l`<ey;;sN)UiJ=u2Xf26dem`Q z%xfD~ZvU^l2F`i8k;k`#K<Dn9Ex&vzB6CuK;WOm#!0Ly1u=RlQ_)Ua!D+AbK<|_iR z6KwSP!mo!pq>cXsDGIKvLcPkVhz*3&s1c@(ZWz<rodvkGDI>ITKzR^iuH@;0Q|SN6 z*4<c&_PjtbRse%>byW75gO+5Y3NYKx(zW#vJvTOcP^Tfh3J0;f7Qbf9suI_=1*wIV zl{f+-*0~8Hhph{+vTj*kN7hu(bYP&=31aLT8ldepCbm+j9k;OX{F5w08m7#biaPkJ zp8txhYV^o7+a@wU$1j^R0#Zvh?rc&t_DRr;+06H3vw6KDJnQEP_ZOqGNWvh#WmtJ; zcQ@>r(Pncen^yqR%(*;=F&CB&6G)Pyo-CaY+fzbJ`Jj-cX8aC7$f_YeAs`UANg#h* z5g_&aua#XmObhsSDT3?zfs|?!rU1d%DFJtAA=t<k;-;TUW{<2_FSCIhK-{&Q9+B!` z0qWD?DNRb-ll(~pbR0@N5a04Y!+(b&pg(Sl4UNd398g*?tKgJSLfLAB?YbOYg7`9j zN5M2-m<0kGm3Y)zAW#~2Qh@LMM`JfQ-OL79=sM-UF3EG4=4e6sv)p{2Ma5!N%`<vx z^8~SRk-~J&h(L?S5%csBG&l|ep;HiBoxB|UI5eWPTCTLb92)VQHw=M?%3XW{gDY{I z-UDlA;aS7b;AdIh?BP<t&*(r$&{M-441UGt$gkt~nmGcvB6Q)KNwgzeY8CHKS4d07 z%|jrm$xdC{bw0QCH)o#NYw<g!Qh#9M9~M@3?p#@Wy4l2((w~CCAqoyZr{VbLlGDx! zN>w2J$hV>AIa<%#`JTQ%;^zP2@1Itq6qmLxr?)yQ`nY8lY|h+~YhPx`Z?2cqn%C1y zjw5JpaWg@>gl=HhN&c;a6(KsFn%u{g3h~aAbkw{S4~XoOo&0sgeluDzJ1ayxBT@AJ z)g0eD`GRdV-+Wnam2e`&{B1<N=067)ethZF-(hk*b}^D{h&n%h*2b=0P9J(U2H$VQ z91GEjS_-F0G$c_f-X~$h2U=7YwT>1g_i{5bDSGhG`T=EvYl>zsoLR{8uavz`FlNtN zOf|@*8faiVDsQ*;tq<Qj6CmPD_y@QA|GqM(29GxBiofZ(>Bs~nsulB`CC@aBRBbpD zIkcUs$UlTI@{_Q`Gw7dvMz}t(cD@DE7AcuO!f5+8$}77;agemzrc`f6_aAH_s9PY+ z);ip|v5=RcFKOo(OShmtYyPuO|NAR1?L|=eJ*-GwxNwF*Se53>uK4wsg7$W816#33 znA3>;A{82-L>ZGnT3{k?kA;{%BK&2aENk>OChpNkoxSW^R4uNEq0Rl6?cOD}DfPWv z+mwpHXj6u0In|(7mdJugLANnHGL5$sCM=kC%j+aG)1gM}gwa`Wd8K>;`^Fl1J7ZwX z0bGy6z?fnAQO=xL!eseaBc^GERA+R^PS#PRnfMK8@{BGjNaGR5V@*TuV&p;|$>tZ1 zBhqHcnhy^xqH1SB8MO-~KaNEG_x=9#r5-=;3=?`cpjxwvKgU_wunpa26~{qr+z|Di z;jsZV&mfcTWsr^L2Wi0N19yrA=@2PFh#Nm9Gxs8sc?%`V<YP$G2A=b~I8*j5j<Ite zclQA8@3m;QBc{8d{Q^sKEl;m38egLkm~#MML4SMYKj$(2=Nc^2ED>LF?ZyWC#R8@U z`_<ea+kr7*D^`DRMAY9TDxXyx3#l!ms~UI9p<R)xJr*OfaCk(P<^T^_r3S2mRgEPO z>Es+(+hefZ7GccWi!g3hKt|EH(Z@`RYc|CwaL5Be?R;7FRWiS0mE1tiqTc_UWcu%m zXz1mhP&pek_-K9P*zgIQBrLXg31ykE{$ne45mvoFfjERFVvRE<u4G$q60lFcTT#}m zVrN);--wL41r=1ni@>K!prjZINun$x!Z}0M^OjM|S8W@h)%rBSub`w@%Ct?j=on%) zZv<vEVg#^Tgg6{)!KuS<r=xs#B=;9kQq8W&oJGP%b$C*FuS_~#gLBA|c5`oqd!n)0 zYIOfiQwG^>P#I^JO-atgS8y^ZTu8c^S7yl~E@xeyw$P4}6zI<J)RNCchM#T&yZq0? z0`iuIiKk>X=P_B$5vjkxc8D@)sCYO_UTQZYQ(KSnpLWQ^McuSos}#lI7S)~<&@L99 zU5w>U*s!X>gWYwWpkq6`YaP#KYqvYoloNy78U>dBW1F%?LVJHAW&eK;BmDO=U)l(F zERDyy<^@#+&cnPH3+-;r5S&!dn$|W{)2!J<{%rYkhsdGz)RJ%!1(hh{I709b=%q!- zvv7mJPlJXik-QBi>+w1tR&kx`##|j7G2hjw|Hndy<+{A}lJ@du*fJ&j9%k5{#=};n z@qAXL^R7WU(~IsGn6NAhVi!1ck{1czEsHd`i+u`~&|2I^xY-s`lEQrhnz8RT){%}* zJRvhZkZLoz`_Q{d|A_%sfB{TiitXIf4L&pTiJ$c7Ag#k-Kw0S3#66C<RmomjrPTLv z_ogT^sX6w+YSzEQ9TB~|rj=Z;iP;zG(RfVPX>sJxQH4A8#KU(Nv*<$(NJT!_UAG9* z^{9r@h7Inf{sb`b)}q9=8eCX|n>+w*XGC`54rWNN$Hl&SpzXwCKd14YfXWMi30;qx zxe&OX(q?XTCf)^}h_?QKy9Nf1@n_cKtJ;76@5k}uUsj{nh&$>iMv>aP<TT@cA<o|r zNzlGH!c8j1&PERDqh(g?+-uO}GGl5<0>oHq2$vg-@`x|MQCpqvc2G8HJW(GE7To*> z?r0WB28|&925y^W%)E!~-yVZ2bQ8Lzw|@ls{^zS#uSGMi*~D0-s+rW{nL^wO7UAdT zL>k0nw?LbX)V3Q4Hj5-^9ZOZj5GFskrYi1WYvu*z#$$w8^5!HgE3XDe!KOHNV^f>n zjCzV%A@9kiHjNKp#`JQRQ4JjUgdQYEYg)sbbq_NbMeV<~eUP-TYXIxEBa*;59Zg{L ztfG^Ht~|10Gk#k|*WN`fF=*)I&K;2^>&lg#&1oI7hcy)DrndAdnRBNjh+KBJmq460 zlkN?uzb{L18$;50$6+wi@bXWEZoaH(rT>#2s2U;C$K6C%&=M_->L{cc9(OU_g%aA| zOo$0?w*X>~ZAB|)C1C+q>M6t-<{ebj=n*ujcp8tX2M*~<+U@Fs-QaTlTq>al^p-Qr zunn+wcs3;q;%_L8Qi?@_43~Y2rx%)RUKjI_q}>`I0ol#!R&0KME4CqW$O>_D;<Q<^ zHG5^REfI%V2L-CXNCRVw`nbnZE8=!jORhkZFHcC6YCf>)!hA~vw9kMJr=sfZ1MOMH z46-`5giyuxZ;~a_n`BPso8WKV?#luVLdW(gwWlrnIZ29A9bOj_IpnEmH;}u}4KhzX zwnS)GY++=&8=w<!z7P*IgSD+kxSJa?vS&;bCR<D{2AlB^0-nEg39K?7E5?!!A|=uI zY6)%kNd&#N2_@N7aw$!+a2uFx&o_uQW&fE;CEvkz-pK@|1bTB5cP-C{{=_$GS}VLI zY2Vyn(>Ft~5zQ_{`x-HPkEGo-wZw{D-zSUlAAz^Q+J{o3l8fmH*6e_FaQW|P5b00b zHf^xKw3fo;+gP3@tF6hDS%WWSOWFwo?fPiCFAKE2j<x85ZU|hcCClw&;j}Wi^rcVs ziasKvP(}dMV(*$C<SU{)gV;qilq(iG2~Ww)xg*iLZxGn|wgQ4^1L}OUTN%q$7Ls7? z6C<*RwK%c4ydQ4w<3=Tl4tLWG4yFVwf`?27piGFAXw7o#ga3BK(i^*Ji>5t;1HH0T zD`b8oVI_HlYX}pTvWn?Vppjhl7?GWRDWm`drB79)>>uGC`*->*oI!tAOF_Gp39-fi zQuva@P*Wx)DN&>juB8e7o+vu0^-D=6p7AjgpB-z=X4<B>eJUK3q)e7gY@1$%@ItdM z@V@c%y`R_5jw2+^9|^T#R|MZAu;&6Kbr@;0V$V4&P+4z4D@^Ngj)6q!aT}mkbG|uq zJvE%x3%?1&!0@Bgjd9Kf8YE%cEm;-8w@jsLQTy)p-2=)v*OV+t`%3B%w|NSIeB8{_ zNK50zb+>QzC~?ci_f8wW|5zbybA!TR!jko9)G?U6OgO(-2j7gc(orx-d`I9*tr!^d zf;99>Jsyx(k1rZT0ye_s%Po<L(M_oNQ$OYnN=c$f$D>!KcwI*UxORcwfV%<DD+$Zb zoIdPV-^JdcbQ^YC9i>f(&!&vX9$Te4xXvoJ1Rx+NS3=vj7C<h+6xiDk3F>U<Ua@&F ztfKq(!AAmBn+-O#RYV;VE3>j7H6(w+sl8A3dcAiE_G9i7B{ZHjQoW3NI6-?NXTh{* zFM&2i6$T@VR2vT>b8Zj-gvqmJD-H_?8u1vf5Pg?`d8VPd5@i8^Fu#tBH<^>#FG`@q zL{aB{(9W5QvF$au_v9$gqmS#>BrDyYO#zd@Ta!v&hS_b8q4;LwD;V9YrhTn(EhSk< z36CT!Ij(5;NHsKWB9LNkf#SAiYtAa(jM^-awCgu`C1Cl*SQlu$x3<b5Pl=LVBT@ET zPry2R4AJ#djdt>z9pV5dV);DLmH}GFDysH%NT<1yYm1=uzN`{!7HXW~Yt;0#Vfm$L zTiqJ&cvOS`91H0H;H@4xbR21W9FSB?d0>%LgR29Mu(rYDC?`r6rCYKqqCJr0S;dC1 z%D<onY_&s(VO_7RB(#=-Wl})v_0vVuj}|e$FQsZ5!3Nn>@`0A2jVSh5((cs6O@^=p z)@@9QPMdWWOvw4lHdZfpkuaT*jvmMQPAc3rgkuu-xg#rVMU-?4qr@`{*P;T@k83E$ zQyrr26i?WJ_Rw}mqGT@bl~pfTi*_FDm0d92)CT4NKpP2mbz{qWx%%FUQexncEuvY; z&4Q%K`ShU87iLU{JDz<qi!aaG>_M6IR;_a4I9yLG7OY0A_uGP|zkQ0y7|kCs<TYYh z;Jv%mRtQ6?kCJkdAX03ih%A9j2b4wy#$df%`H3Pnz*J>*6q~@I&8TzAAPaTrmAyj2 z`UDbm5{x;`rWJ<j*h~k#)&HAaS-gT6rt0z7bBl@qb>TjQd37nBkQ=_!K2;5nj$?>J zeXs1IC87y5xOMXO)eY>ZRdj;?QlV!r*J(s{;Tsr-aS%zID6%tf#JcKm!}4DEiz66i z<b-^|I`p$(<JmxM1`K9D8KAk3C$SSS`FCvE(|B_nq5R_A2rdJ_{7;TklfYZz&Lr?> zg&k_d>KmsjLJzWJhi8Xt>&v0n;4%Cpp>4{9CSQN;l^Kynd2uEqGixbe8lTU``G2MH z==A`91FlOr9gm%4%?6zy=El@i9x%S2&cn1oh1OE|nUv$mC-K64{~HrqAbNc-@9~zr z)j1E!XaxQV&@ns2FzgPN9^8mU03?}O52a@aDWAPeZP<*Wxg&<YZqoKFh*1&U%XLke z>{`v6XfjjVkGNIJOlxuQmHvHPyC%@ZH7jLj{5G{Mg|*$9xEoOQX>{{d&D2#3O{j`j zwZ0E}x!QCBcrx?PMiS0PgIzi|i2bas+I;Q^=(cP#8-y|9A*F4p!ISp(%CdGp3(?Mp zLJqa4J_E+Jy&hj$02vLvyv;Y8Ja-QR&_Dww7}&Ms)KMxNvHnESFM&ggsj4r>QxpKd z{GpCbTzDQ=^iFRY2Vaf4`c?<-F;?yiU6*d5v#ka{2QEi)Tq49*6hIghyhKQD#6F#f zEcXMj&400Q2TagDJ%tp)?FBhtb@D!&12SXyOFXunZ%%T6$y<2oeegy{EGr_NM>Ml$ zIk;7F#hLg|00HtQ9{aHq>nT~rM%Ju3cQETI_&OafAiXk50mNV10Kg?(KK3AU1jrpU z!a;;M3MlbPI$_CHG(8<HtHs|mV@iY5_QkdRaLxcyRiXy*U~##wAS#ECQI*tMtz zy#AK7JEowTX*{hy?vCZGbl&=S?64!Y5EMW*#SA9j@7)DQOrPMAlnV$DQYx-MIwR}Q z46Q!d?UhF^XwnT5u)~emPJ>45u*7{s!~Q#%(=CZIAsu2b*oacW%O&9QSHS=|SIMja zxKskpuQSz0l=M*04_uM(n5oOkv6&JJG<*NWOc{PUubRw~YVn_sBYOWw$%d@bm>MNn zdmoHFYs-Khli9oH2f4unop`VvwROM~iGdh8IS^^yYSg)BBicD93G0|G538jZZfff^ zyMc#*cQ+9ZrkFkP<J3{q9I>B!x#`B7c+AUjl-K8o6+<Dhri@eBA>>5tmq1WMTw`|N zGO(c!FL_{@A|<YH?vu@%HqvV-%^w2~#bXZdmnNNwBN)vcQ6RI5_YVYrjy`|u?>$sS ztguOh%#y#bO3ms(0pvEEk~k(FlauOkbV%a9xuL9{l1oLCE<YxBW=f#`OnmoUjO}#~ zI}xaz43PrwVLK!GWNEI5gFz<12!PicgX^piFQVp%elOPRmCc%ld$!e3s&wZ?f=2|} zp3X)&?fnKh&0w?KopJ%Ro}4k+Axng5Y{_Om=#|wytid<g0IuhVp!<NjqLM%(i6YRu z^=x25VGf|D;G0|ODZWkI-IDfWgYEm9xP{GJ|GMC<1MQnp*_k=hc6d7|mpCZtDOo4J zeu`!Vx{h$KKuMNtn_B$58C+f(A%Ql_+X>Wg_g?t7XKgb<0~tV~HlZ^g`;lVSc$Wb1 z|6U*UnOToB*VN(1!MT>WZg&Ip-JuqOcsZ2}X5d{crx0+T4z+1t4%Oh{ivczl3>{On z3k&_y(XCVSo(}FZ9b)vkA#GrTj&4QGpOB?Tr9iw1UnKNhk0y0*K_};KL?>N7g#n5) zw8>k+zwcCJ7E8gV{=592b?7^X7S*wb`2rIFxX=ubG~Prs9`5kIQmhud_kTB7<#!3> zdKXJmitqaaY@5m~{S!2|;6nlfAmeSDKVl2?m-J<kg#Mj!CH!0C6g7G_1dlgjfAz{Z zuR*u-HAF>~Fu)|)B|tHV$A;rfCl^89C8o=7I$}MJj@TZc+MPt^2ZD#ZA+Y?9MOdRF z76T>Ou*^Q2>I7v`a}HmeK80Kn=2x=qNkuyV+)e-kXe8JGD#m@o1S?~Ypsu~#U2@1` zAlP<9HnK8<9C8Qq96$o-u&N^+Qp@UqUu<ei0`2I@;WrO!0r(^VFw8!AbWToECVojm zt8_)wjGIjPy)g0rC`mlx3RK~vi_U59l^s|PNQ*wY9-xC69tl`cBbIAF!~8d(vNU+* zhO1hv5r*qdxLmjq-Jcn*od8WPKZeZ73K?=ma^C|@!mdvibW;M|OceDvZfaXEp|zTO z107m3ofo&MO~)ph5+DKE1DM1B6M&^ksh+kH7Hd%*w_X#UH$dv#h>CpK=$8yK=<~4z zqgsmX2n?vJ+dy!x1Ue_c0sihbK(W(zF>%o)h;d#Q6w4;Gv$&oD*Nqu&=bNz?ZXZy> zsfnUoQ94g>w5a09%NRT}3|kE68~~pQ)(a$@TZ-K~iB$@!4?d5(!m9qi22lMY?Jj1G zuGPGtbO`&ccwSI)lSn<9;JbuQc2X#-(on!yV=WjWGf*+9LR<|j8kj=<x3R;|+RW?m z`-6xg3A1xMfmBeEF#I7zT0lY^fO_+cnuOJN^vNDuA|+NodaXw<w=)xf1;%gFw$J5y zJhc(ChRKVC&vzC8Q5UpYqZml-VX?p($$e1>F&zYy5LgujTE_Mcpu_@Y2Cxj0*2kji zwW!Fc2+-p)NNT{-mCz2|n}SFr+di(z007iF7Xd;77xJ<U0)uZFOZ_QVqC^rPom(7; z4M39iQ4Z4u{I#-Ib|0{&Uq`6V!pVB*hZ%IjEeUOVCX_UH<R=OAEer!&#X}c${?;qg z>y*$o1HKpnP>~**(JN6tJBFa)iP*wIUbe)Yb@R}swgr+>ooSq5JP`|_!i1;wc*HY^ zp&bvzATR_Ztzfp%cu7!_H5+s%k6FbGaMQbBgQY^ykxQtzF&!Y9GB|g!*zGlxlCY_9 z8VnSZGQ7~XMfE;q>h6=$`?zSL=pwAW&0BG<AyITTFe2pK@6)cpvL1ir2n0}<ATT-X zTAuv7_oe`9$rCdBqz-JbL>SS_g{a}bNobz|FqhxOJdbh!4_95ZtHHk<Et+!|TLL69 zf2ShUG{aAA1B#j3u-cybfu*+V<!<1KdS&L*hSxv)5oyV1bB?;uTHHrM(6)Nq7HCF` zgayl{7GNP2-ESutazny%!?nx7DZ;}*nb81DybOO`hvyD%M9pI;nqcq(Ra2siV(Dwq zcegPhQ`sWKqB?wg^RLtD3r14vPcGD2@>kM6B*AXS+@KF8w&~~sUL6}^54%g-nUKZ| zfjy{HcJ(@x7@C09@9mRmBtY!>t5Mb<;0QoKpw!~h;UtW5suu49V8cgQgI8^Yhg`(& zz*9<qq>HIJ081Fzu#$WK?}4okYRUi=x7OgQpPsb=j&wW~m?ot|vhLy<+y#uH&8Wu! z0^mbuGw4LWftm5tPr4cH>xRH&DCv-y)=Yu7ItumW^7JVg8q7iebe<NV3_$$>9|J9A zjybplz+qd-kD3=wTlX5u9N1u%{56;j9s|K2{A*_wgUY{{fEnsbXcudLAK7dtAY4!v zdi@eveosQH1Jm<YQ0+iH?7Ws(Y@P}+xQ=~rY9@Z9PlnwFTEP7QRy7b!Em@S`!7zw6 zWgA6Ph!XdQ`JlUAkFHxqC6EvD4=YV~&6xH?)=Ekz?sq5tCQ;@9Hu+oYW3qGuy7gI` z$w`3pQ@8N8E`BqRJH$1DhgLVttf62{B2}NvuSNnL85mO=&JG9m9R0B$vjk#jIsh2q zF{MIP15?nlo-(<q4XBFeo4A&UnoA!SbjjM~(<a0Bb!e@wRR&pyIX8$YY2P#@`08A| zgJ};UQDEk0hLeFvSi7zPpaG*~u-)1#CD6%~D19^u$f+jYil`%fa8McEcMhmzC(0-f zAa;DSS&}u2l5(^NkUNiQi@(SPNlr)SyZ~*p2GC$N2gI<o9w=d*t0YRNxe{d-VEEt$ z7@Zc9_KSbI!9!0vWQs2XEYv0%&pjJBv=;Ts4jHmTvRDFAU9h2~eKk*SX&`_kt*aT| zRsx+A45O1aZwcNC7hp0atg6Lrrq3S(G<}wQNvuUkW;o&8Z47v8J2w!|-oX}vtE$B} zX~IMMQ>&eja9e?P0mL+sD;32}=98Rl1FVXX<y7s6UfIf;DGYl{;x77I9oS^RZUQU5 zhL=%h#hMe3#Tc`<#{#+mj_ub4Pg?@ev6;YW$a&W0Gvl*4e^tt|h6{RV_7oHY3!%0d zz0zzBWJYuYOeg{S&(5rSJxaR18r9%?APgWID#Eb5$9^G+*!*QM0dqtgO6u_p<Y*DP z39Lp#Sq-IUC`GYwQ=7LVCVk-uT!4x#y|Tb*mr(=sKk@-V1e!Ah7-tCp9JjIO4xeTf z19R;a;K}!j0ru_X0%>e@gLlM7Kvd5GPGgHymkhzFHMou^&<qo>ooo1JA-5p@$D-T= zeX>jq0RCDCeFkWpBgRax1om59a7HHny;ru;H}ZcgHJ2cOaaKKmLShIN0rmpm1e}dD z02b>l0>4id3v^SVbv#xNI90AD7_9E|fhc<bsrN-nVsOsSl`>65qG%^!fTj6KbJoF@ z^3@J4+FQ|V0FnR@$c_h&P~X&`1%~&`U*Mc*JR-|D>9L;%q-`~A7c7#LJ}a}CMH(=u zUELsdO+yvgQ^?3VlF+ROeD)3UcJ2_@e_-r<mW6aRsx^RA18SUDL(z=Xz5=P~QWZxb zC(eE(zyconojSA^Ar{t9tWpfG-pM!DhYc#Zdw~uxO&qzj81B%$Y`8xG8$Kk^25xob zYV^vyAX@>RDuE6Na87dWkW6hI3aoX-JuL63AEU?6TX7Q&!?gRj9(BQBqi(OKq#K6- z2YUImkrtYS0Rq@xjCqAwWH=&fvu<NW&)R@au(@H>uK|!R%hcQlkn`*?V~Nr(rBBw% zHwT=EnOB30Zv$FNgHFJNzP*Us(IU-0*%4r%yNKHtQwe{>nCgHpjKCUqPAjNCfcumF zR`)!Bf8hPx0Q;9UnS;hnjT~A8YpVhKO#@a%*!Rg&jw5rj!&T&o0c0{6fY)ukvNRwr zYPcg&ck(9+T|wZ)+&dhQq*}1;PlCFxJRx?E2NSo*!LE<%1w@!8S*T?S;I2S@zgif) zYMT0W2?9>ktwyXT><`T1k`TY4fiI(L16Aa1G2K=gax{|AV?<SGhDYYe4roRK18(YJ zKCqZPy;um+5^dBQkknBMl>@%K3P^CuJ}y5Km=NH$D4xLjzX9g$YE(}n4XAMg?FkU) z1|=Q5j_`KAz+k|=29LUp{Xw^Fz4upyifK9aX|m;gge=$cUcPxi56kQ59z|b8LZyjn zL}#9USJH2<1RK_^-_7<{v@Lw1B^sB`x;MTvfTU_YqO-?}=&-1ITt-ZAIeL0e>ny() zu)!K9b}Xa6XSK<C4gTy|*X0gx(XYym2m11aK;%hh*UCsLUHbq}ed0)o*okC6Pxj*{ z<$wj}wja@1s=Cq34Ihz(0+0i+&cvcVnHNwVZW21dt=%gYY(_Ko<U;_Bj7gxYO`_y| zNQK~w1bQ_Er3u|uhywtF^Z(VN1wi*XWC?o1{qL*Mzf9{N-s>Q>JmE^e)phFy2VS`A z-FKXvIs1@lQhw{6;GrttV7O}ukaQz=vqWCc&R;wC&VB>$6Q%A;mrA{ZPuSwWsq5pa zfKHs_a<ZBCT@IgK))w;0c|^<fy{vZWiBG{P{++k3g}vO{f4akF5bZcqRv=EydxQ1l z)BW{l&(NB6-**Y4?vJH&OkI3Bb%W3P*|zr-n%wK}ELc*nKOAuWwP*6(4+alpGL6LM z;fV2rq6D^!qHu4KZrNP_`TwyeJ$q%k1yF^i@4%RP2uwaCAe>1k_SihtlrsQh%C|+B zuDvqL8_(LxYVfZX|Mo!?j>k?}vcWEz6oQSiu;^<aoHD?27{7-}rZiMw+n21Hnomyv zISa1~wnqlLmC+{NCATqVTA#@TceZ5Ji|PgANxuaP<uil5`pgEyrFtb}14j2)q{6&3 z#yIyI+01~KEfx{K*dOL+SL>Twa(`{M7M|(7SJ1QH>05INBc>=Zu;+vLh3Fsy$QQ%d zuI30XiTKOtlk1=OMrZEL{_eHUG3ixa?=p7OGv-Hh!d&CpvFg#EJs;V7uP<5I^1vsy z+Y_dYGKKIxX|~;b9oM&$e$~6%t~P9VmG(UBo`*}>dELUV9d4d&?{mtP&!x490(Cu0 zuIlgn_ZJJMmT&kDrUnH4ndQB*prBrOHC%pX3wq5$s*4_v)OJTILhen8{g3J?1s0QF zoJsHZg6=hTzgHFmsLDw(kpJ6#%P6gJrw!3Epv?h&5u|{GnIKltzGjN-N3B8sDz3xF ze5EaM{Lac58@8S~i}^#aC*}KVW241CTVmO3YVZ%sVZ>u|>#ZHD-0#!UKbhf&{r*WU zdcvM#*cl7Ncm=w<BWdMf5@;2gc1WjY7yh07{JSziMEnI_sQi#uRg(OrWjLwMdMA}o zCLh>Rl0V{#4b&U1O|a`Gh5S?OpLRfWGiArHeiJ;n9n^BX=qvQ$PJ)ro*<Y;?oiol! z<w8v;Y{+3Qe5*<HpP~Z&&^}nAjHe6m@aEzvzXgbY9s^@=f(5@cWkW-hU;sg1Te1N| z&<C{gO)<us+K3YcR;kq+(EYjL<p{ueb$|#f1+BFdFI|vq(yHRdK|0c{D9Nf<)&!7~ zM+)VaY)QLKU2r-W!hRMAK#2hoWvisqDroT|OC%|6fzg`tE7t3qXWxJF?AsT|%7fBX zXEdI6R5~N1ug+;<CVZH*uh-<u?RZQ)xk<ipqCKjH@{isCRA|wT=4NTe3z6_oR(HW$ z^nbFo+<OcjAKI4X2k9R@gDn-S_fjs#hQvM;z9uJI?#bxQ%byUf_5Ib`2fQ<f<R|Vb z&^Li8s*1>=GVj7UcW>?+pz-lbYtj1u(WMu|2DFdw4lMI}099nw<9Tl+?SSmsB5Jn1 z+}(28m-X^?VBa*Ev*)@<0nqpUSFgGoX9yI#8k{+N4-@nEBaG+*pgmp&+M^BPAdkl= zw<PU_9b88wD<RGuVZvD<Id!-hfPnzAKFoO<Po0n_YH6+Vu`#9!up>BazE#uRZ{*V$ z=|!bIqNnFwAc#5~UA~_#+$OeLy1*k7UbyGCCL3QSg3*HxjWni9^}g_0Pc%VuI*c|v zN%{_t6l&Lo4}8^ci$Ae$))s+HoW&6`0ru=@*krl0(6F}ugFgCfvQN}rUpxdgVkPnf z=aySHPrv%{8(2U6^ra3z6%OZEv5E5vhGaoND&9&Be>^11`V){LK)jqdX7zZ>D7aTn zA_!%~06J!eR0QXQXy-s7(GWW@340#~1ecr}Q*>~<?`=#HhP58n42M;3lc(6enib#7 zrq|>WB;EMS4m-=%fEeQ_<0we&vXGea>X6)TWX;RQ_xmD+(vw6h`RRZ3?r>fgM~?E! zoiDH`4-MPTMiVo7<Q7Q4w?n(+6c6?OAFs;$=_k<r<DRvp_sV+y02URs#1%pBmp=3o zQ0!A39y(1qYzt-x_9FGOid{h)NWyZx60v~ONkDH?c^WhrA&}Y;F|-RNYfu5pW#j|Z zvX;_0$}?GFAZgzSlycdt1c-FAhT;UG29kE;NWilwH%EDj<ExyC)Lhef?7TJ*iUL^1 zxwcqKopKu!?*C`b@+GeqzH#oqoala{rJ>3IWh}xs<|SP?t>^vkJt$=hDcb+ppdjG& z4j`ocXCoufMRe`;sL8=SeK$Jq)KU~pq5`CsyGc&_m{JT_EjzD<;x!O_9K`!%mQXKz ztXG!tMnWSm0b(Ke9GZzI<u#j0H=-U+MY(`4&I>|;b`cA*GglzC5lHZW2cvli0cKep zg%gJDZw7WTzM#y-_NzSy%R94nQ}X)tXP%#lzBb_E#Qx~xTXW04IyH<F9rSmlUwk<~ zw`m!BKZX)*Qo_@^+OO15Mjy_lrP#%E(UF`7!^S&KbBEqj;#VasOMezuRhSmU@kCp` zmK-s=fqppF=HwqGO7>}V(NVil(NsNS(zCXErN2ImbbpMBIJQai)AGe)R4r)1s4C&{ zEkp3iB~SZXryw)lmZ!rhD@?SX?3IQ?{=da?oBlLxs1AH-@;2~REVU!AOykTJ$|4VD z<?@`UcP<C_c!a!zVz8L+)p-XOi`z<0GV|+k9V+bkDcIe8^5xK@)1}ce;>V~vcTQK> zSo5}!<R13YRrNb>X25&d;rXM|WFCK9yvv|zmox&KLoaVc+A2rqegC%MJn5lP{eama z3C)4OBJf4wed61ioBte+FveF^fS+|?ZR|IBc;%v3L~v8NP1DZXroS9L{lLasYG`_E zjG^XQ@#7aKeo{6}p|>4VXvewiE+BMP{}h9mA3@^~;!xJaVgu)D8IWEU3kkh&qD2(M z1b7r%jdqg#U~Nc3t2&M_$M0f>mjPupX0jm-;C$0Q=^x6FuoJC!WSrC3lI`nND8O8L z9%#OhDYrKNDfu<)0%7gI?x$IoQE}Re=)b<b_0TUlus6J7{K1Kue90D9S>*n2Z-%$L zxTZsy%=0`^G`XmL^NVimM9ooX)s^!7)`wSYX%YNArp0~pkT;qa7BSSPXqAcUtFU#- zJ0RYOcZyPRgPcZGU`Ia~X1}Zq`A59;=&sK)xlixCP5h@v_Bk$?lu9i8xA2~%9;E&9 zh)tv$sWA7Br|VX&MBRPtQv_NWp=RP!W*=keh9@uZZ<hynx^8Xz-1=^%gNM&n4RT&s zN6zuMs8Pz7hGz#qQ_{;3xBTSKuSRZcZ=jVkcc&C@&T)=#)tW?})Lj;X?BcVpR{9C8 z+&`1HCT<?HNp3sWF6>F_;jj|ntdnd`>8tpUocXd*123zRmE-PV$Zn);Q@`#*=hzD? zt7yMlo<7riVq<3%+it^$dCybr9jkXvls{yaTzBHTEFt!nr)#*>B4<gsP2DZpcGXUN zb12dO6jiBA9xuB@$W>K(t7JB=d#ecB`9rA}7i(AVV5J9ZiTX|a4^`2KJ=opD(isui zzRVO2tRrY>LspOU8Y|qbD#UIyOefv9zS{X-tJ*oT!-tKI{XwI}*xly*sS(h#3n_n( z-S8TKPR^1oc}siI?v!Ou*GnMoYzk(3J1--Cm88hc3bS7XG%Cyk&ZT;Nq|9SG)sN%v zR7mV;RmRv8;n>^fGf&f;biSKSI+-jJ!TX@jBRbnhs{U4PR{gyX-IwIDlf84{s*1na z*G$Ky&lAV==tF$@hDoz0Gf~6bC8*=5Ue3#ynOe$-6KCaQSgC!2Pv1Mj7nD|fG<gzs z^ZwJZRFiA{kpuVAyWQOk+Lz((S^){**2Z^wTw5OH`Tono;tlI}Ki!k=OQHxL+ah92 zda8KgN7)rLwp$i7^QMt^PF5a!@YR^%k+xm`ygrZ)N0Tx>ww@?rN*y0&B*U6VN}O?@ z;DMQ~1p&7)lL5P+$t~DKKt-$0*U8!8<I7WvGJIl=5z$Qp<}o?;XZIF<lpcR{_=$JS z^FdcZ7v*$H^km3)AM2Hz`*VJT+Q$R?OyI|vO``n<&)VoUlr;@NU;s&ANeVCxXP=$& zj>z}0<|Yv!9X{+Lx&WlJ9N=>Kl^Xns&Os!cX$m~bKxddt5(A;{nlW4AELP@OrL@&j z$~u72rSs<<j41+gm$#XHu$wLNDee58t!tlZv>2p*6c_A>aXD+<_}+}M#=pL5AEWJa zMDT^sTOMwz5|_v8<Q)@E`tD=T7!@kHrrGeB>mp*H>y04dN1w^O*l%)4KsSY4Dq}r) zemOnVS=TJIPrGCneov6*wc?g7F&yhC*l(o$@<p0QQ7mJ`{G#31+*3j1)2^lB=J0o1 zoUO6J*=3?O>-3dN&hTN!y;K{+d^5I+eX(Opr>j-ZDRr%$#DhhC46~B4gR-2Fj+uJ7 z#)j^ao>k>|qChpy81)UfrZU&9XDff-eM-8kAof$%x3MV3Fe=l?@*6tawn=M1wXm5k zT|snsQl>a&X=cdqiek{~f}4wC;ud%^lbqajbNJEKPHDOK<qc+|1v0A1j%}M~k*tHi zzK{9cY5j`NjsC`zE6gZYdSkhR!eC%`v8-P$I4l&|%@TW6?Y1xe$yEd95t++sQ6i~G zL~QCje`>-e_PT$0sLhDNt#tBJXa<4xZCga#kyq!<*x^Dt=d-WNiMF$o5qDNRSpUM0 zq{;pym!;tEcO*S$^s_^PmFvy^?7p*nr{~VFb;`sI?{6)yrybJ5dcGx13Jfey$W;4Z z4D!6{U&pQzuM%tSQgiHIkfCy*zkL36+hFm;eGgCNs;~RSzmKRY<Z2zAo&~&QHP`j* zC4yPE$G^Q=+t_)RyRn$rq595fiS$actUUFPz2UA1*_R7tBU$(HfI<GG16?^*Hj&_w za<Y%!vu8`Um-%O_Kb_>l{Ng>$W{SfpW^w$w3D&*?j;-HyCv=tNGPfpb#n`}>!EQYB zz7Fm0^fwnB`X<kBhz`ChwQ=oyq{^<Ph&prx99310KK;}@M$3@FI@$84!$CrM>WvFV zA0|)gbXS|071azlc=S=k1d^yE1HZXEgCi>qie^OAb}YO1w!$mIb*owESM3txf(xO) z#Ej^fCXM-CIo)%Qz|2^7qr#U$G!JRgDtmJ>oUwG`m^gt}ifFqo()>Ap{`2vQ&fOoD zj^K;Mor%i?L!Q>v`u|8*wBG(g54lftE?vs^EFo}idfl9qN!sT$w-{Ac*PL2o%`rP8 zeRjd*IrI3E=f)wvB#~=Y*GS=l?ag;M-Z6s#M*Q=1$+t?o6UUB=73GIeQOQDWFM$+^ z{-Dbl@ewerRfj}xa$8{4AsQgEC;q~opHZ8{7E`Ea^IkK-TTL&$zm!K@+26ENH@3Tc zpXT=VJ+=)MNzK~7v#r2;HI#Es)G_z=_&Zc@3cf>h5cE#e2CY)H+9@Z0`k+Cc7tNG^ z{{h!55Z`|jyxHME1O~)h2Y4qyCrks;`(J}Vs6`uC<^XOn7YhM=T-UG$^?DJaZHeT9 z6Axbt6R~?!5ScKr7JasG-z$hTqK{4hf2Ni~-H{h(%AbmFyY+F`4?t^CcHX^Ph`k}2 za1?j-IJJ8)C)1m|qDtSj=*D|e!Ip}BrPnRP>#R>E9<E&)>zZ`7b4zUDt3TI|JLxOq z4`ft*8QjvjcJe(bgf&@?sjl9h;aRS>^|z0ghdw_+Pyd{_%%AdWa9;jQt#3`AOoH(b zV#jK}ist08yt5W{y4QV&ki6EZSR8i)FMd|$V18?yRV)m<%SdXjm%8w`TI~Ru!|%JF z*Q60E3pWM`fv0CCEzH{z%hqi?T5V`jze1&D8n7Umk`Xt1<$EhHxipA<@h*XL;6N+C zZmm(pFD0$F3S#7kJ=#BtpJiKVE?+lmVxsrc3iZN=-D@?!w)Q18=jXIJRE{>StrFrn zPQ-4$=z16aRc~v`(RJreTGzgJS=5JFI35dEV|!(=x6XA8a}qP_b}#mdjL419$Yy+; zvBwJ7blQQpvERQk&id6hF>ca@D+4qZ&nMo29Bg@~o+w&fb2r18q~P{Y;l|tc@mFY` zCOcI}#heTq4VOEDaM|FdwfS8m)a@OKz5(}R$Dzll)rAUmT=)(<tvz~l#-(19(cRf% z)=JkuDwNKP+bF_yW>RILyoF)?;n7MBpN>4X3f<EtwwqwfYpNb__7w~1Y(`R6Zh1@| z{lhl)$B@@mCNwO1(E9%GyIYTkSG-_;H2Jh4YqbQj65O<Me3@|_yK7=!(%f4154Bew z+lhOzyZE<v*xuI97o^<1qc@bG@$|&q;2!qzw!o8?q|Gyi9q2hFr&u;JwgZHmovq!w z_+?w^?fT7wC6)cN8-0YPzAi%vj*~h2`~~%F%3{@>0sRHCoh!ZdQn$Y-WH&o!ieqG* z-@^x-M)WQ5n?7(y;6ZS_D<#X0WZAj-IrQf6LR9EgKjeC&gOfGtVtM&vJL&n~6KQN* z92QKoExq+#|HF1UJ&7??t5>k^O>FoM#?~_HlIy2$-46qrfbGzd#DyvOKJDAuClk?I z?O4@#^ZQE&4cQJ0Q%X0db%}N;kL{t_wb^S{lSOt7+tpHD=b!2|@o&D3<aULzyQGQx zI>sV~>Jwcbb$wd^q`ZXJV@99DlgDoE^Vflwshq_7ZGNeCecKuQIw14IrXK!q{+B-< zf52Pmmk7>&kVo8zt!aPbU)xWVmb8o(gbbbkTtQ^%J?YA@&wk}-2a}H>h4SB|wxTbu z)NA>aWk2@%9|`ri?pqz#KJG5Ld&1N}mt6u811ApiJ$FcUj5df6Idg+toBeEH?WJ_p zCJ+^0Qv+hBDnXJ3GZvB}`E;*ZyamJ}E@by{{mXD~O4C#VTBjH?dg`Z>2%_AzQ&C<w z!1tf_7hJ!ya!=Ejzj()V{(v8>cbwrdckJ@!;fG##6)wTn(TfH&*QaHrmD@#Igh?|N z`T1CDwB*?sx>RScQ7>x>>e}O5vZp3YyL?f6qB>VT$4qtZj`x|+1754vqm#Vn$;Gbd z73}#RDyNzzC$wLdr&l%X0I?izWf;7w?d4{2YZZ&Ej%ey8oLh72anoN}6EChYqTWrQ ziB*5zv9Kdm&d4kJQmo!<GSSwNQ}6=kEolx^<Xu{OD6Y^Q*u6pitvL$^_;-6njepGx z&J@QRj}1TCG^|xvHKth_rzW6nyn5NI>~k;F{1+)iu=+*L_aegZnUj`7N1KjRXIFpQ z6+r4aO|bGk`jEd)ZO6`zBd<IJ@%U5U!~DUwBhQ6)QF874d$A#wmVx{-pKraNTpN=z z>0eQksuI2f^69cE+iT@l)2xXo<1mJMk{U4$a;|gyJ!WwAx|tu$OBoqtG{k?)^B%iR zS9aH0-N-zb9KNj3qo;*%eBtE&&bj;7at4Q9-WYitXC|0P|Msmi-&Wq3V$+yK_V>Dr zt;6l4MfrHb7Wwt1@}1su9+@N(q`lu?+;-k~^Fz50ae`6tB|?=`<dx>&`}T6>O7D2# z>(Lv#k&?d#Q1>NX|GX4V?mYdXJwocxJTd6B#=X7Y_@Fra2IE8&0bMX$^k5O?@ZS<z z$zrX;js30EC*iFo1SwU@{O;R{a_bkW-L$OC+`JdHFFmt#&O$f|qa7OkPFR1dYVvT; z_}ode4|lbcC(lu?1nM6B^dR{L0oZo3(5)}p(TDK=W9zNsnr!?3f4dNo5Jb8|kc$um zHb6QA1f)x)TO0#N&87sTrH0atw6p=zoOFjujGk=39E|ZhxUc)VAHVx^fBnOU4~d;S zcbrGO->=v6wLj3b+OPX+mxX4+fMS*D(Q(;s<!APvrrm4l&0M38S4#88+#8q;-;j(R z#)TP-V^W{+wX(r=`Xx{I3M4HlsBXqJDzb8<*rNh33Ix2f)y0z+nZSOWggHyU_o=}> zi1F9F`L?+@KN=B_og`d|+&`n>XnEs6xMIth(2JydPezp`q1$WLUKIcALHgQ1y7LAJ z%EufHBCa1adKIT6S_$7gZf4dc&9SV=mZU}t?TOH>`9#+L`NL@URC=&r40sU+p(*Rb z=Upd@o1kgWjkGK>^MK%CH1$N4SO`YEYfV1Tp*sxwz2pVCZerXv0m1r<aCklF<a1k; z9^%|iMmH75PGk=6N&(xldBkMgCP8X!pwaK~6Fp5|IY#(50rH4B#)~NfZL#gOfkD|V zvdBv|x60v!?cQ&!9`i~H>$rM3Rflppx#+RqW_eSs#iDF)gvQx+bFo9#J+_^RZ{#!= zc6d+5iVNbMH{ldq-cWAuuhrJSbJdPXC&5fl?Mdzf`K*@90QP|HnZokrARu1hIT17} z(hrL9vn{ZUSx{vQm;ptY9Z-@2jY9DfCGa<xC_q0yy8&j}T2~1>Qf}V27jE>&Mi=7) z%`$%1q`=VA<6kgR$cot%|HP!~A%@73PJ&af^}6>9?ukkX8TDSLSZuuS?%-FA(E*~S zNLN^!*zApaENR@4p)YMET5*C+`P`Y@21?Z-kT#PAC~<Z9@fnhLWVp<=E*i;shi_+J zYu-lP)337kD!SHL$IUoX{P+dq+XD771J#%x<0HPxA`<+b-9PNZGwxw)G~&WupIfHp zf(kNz<I;X3QtnU9`TkZg{H_<>LxBFkrBJ1+=Y=8`G|qfieQExfn@z@ADbstd+@@Tq z%$g&7^m=Yph4h?xc0rlj5D&gJAa|}J2;L+DN8~Nbhn+Xiq|Of#>Xo%-(LFYpv2rlX zG-gy`7-^z=*O{t%=44i*=+uNSg>7XobW15H9G%zG__(HFK0A~#dwX+D6k3s7nXXb$ zU1=0bF`(B`%!cK8w@tkn?264EG<<F3Q(?Jhq0Kktn`6r)WBP|R8JZg3+%fLexcBpY zj|#7hrj<c<nlrsCOEr$cMCN0uy#9{3N>E7-G0JV<a#7afIoB8UjN7#R@vp6hW%BTs zI#HRhlQ~3D`A3@Wd$-{A9l?9VQw78Cdzs>ct>S*0GAf*>Rk?{=`NUgAe?CQ@<o8|^ zp<R6^Rogkv*wOP<z$%J@lj2wo+7_E?yR~fW;BXhEht;3ZaMsI;G)rN~(-pgCtDu#R zUfvVfB8V-u@VJ!C$SezZn9$9Ac>#pN6I#Lpj^~8o+)D<*P_|pb7o0V>#J!TXnY;_T z+f@(A0=GUYK}Hz0;eac*5v&PU|MGlN=&8^ZOv<nyT9aBn(96)DkavEOWH36I`<J${ z-hq1Zp`=<kQu|p@-`j-eOONOh8LT&?FTKI1Ejbx1soFb{zDE-^d-x_!k7TClXd9Ml zqV#gktwPiH+cWN5$HOLUFh*ME=qh|lr4ofnHzoRXrRMq()H}v|dgi2r%tN=J>LM>q zi`UN-a6cA<eI0$mz|<+UbS1?tc3Ady9R%X&^q3XD%NqD<q?QRDNL%Ynz(a$bJjy)K zx(@Pdmr`6YV^tYHHd47gY`?l`McpJFKKsOB*(W9*GG}@Q81(8(eQ5eyrF+Hq^{pPP zF!Q-`Ky)4$rH#*rdIZIUj+GxC+Bls*LNj&b?!Kmn7nhmcp4fh%J~rG=w{m!DN}>&> zfp}=#O-p%Ge|4g`bqdQF`D|MmXbU$Y;(ak)?sq+QRXvI+X<VycYpq!>Czn<2pM-xi zDu~+%{hJhi43zuxU>u=wM`Bo+PJ$Yoa}@OPK6N5O>ahcOvM8wA4sWb+Lrn9$5cX>< zwi~ox)-->15HvM_T?Y8{tSoR=2}jMm0lXE<GSHX(YxhvwK?nvlY3<$c#>cyBlo#vf zMtN_SO^H(Fv1t<4?}yy95!w@<pZQAn*b-j0<ofyXpmkU3^B(23iNpryAU(Jp#6&y7 z^Dm{o5~52xePy3JrsrORpSxCv4bTi(N@cYT2Z1gfLoPJxc9<(1^FcWupHcPbPJwXN zpfJ<Du=<wC6Vm64Qflax-<YfMr>k^sIvNn;7=KEqz@oLk=|;TEiuj<8aZ`Re7;7{c zxTahgx`4%fIA=b;R&Z(6H`S*|OVKIx^gVdV`k-me;W!^(*W&;mmVR6+G&g8uMin!s zD4c0HCVJEW%B~oZc~u-pKcFwGcJtS@i5=?I3{oKM?uJ46mK}Vtj(23M58kWT2+OOv zUR>;i-Ih3wuK4En`qjG6H5u^M)OgcJ%c8-U-7*zsx)!(zllv=|$T4~O9(pz9@^3?f z)+v6;+BCL+t6_x<UyD|s&Y!smcC35Uw_|b|ECO1uYHNk{WC`uTQh2&}7;r9Onljxt zh4ZJO8+X(sBHrHNF|cD%>)2ORTg`Py__+Sdy5?(Zox3I`zla5x-*MI>KB{5g??D-v zS6Af2aBed`ZDj_Y1D;&RtA_`9nF_LBZSQF=$e!m6U+59ekDC0W;-NPdm6;IfVO&wP z62gMsx*=b=c0amc#%)qxd#b-1{&Y1-!?5B|$j|`y{?6^#eK_2%A2FnMv*<<WRV*aw z(}Hxf%YvCo(+j7bBO){A=R5JNxseYj$=h|LMtvuyjqq)k2v}Y)SR3wY8hN;5@lNMc zy5r{$RE9t2VsFhm^{Xed6ovQayiqnsB@Ch>q{A1AaMcYmuI;)@^Y1Wh+lJKSX~Cg4 zL(^_-ev8!U{3yK)rtBb@3qJbJEy0Q(VUXxVZy(%tbf4AXVrDOmFK%q<&_{v8ph1=` zWNBt^Xl#c%QR-6EGz)ENcrk8BAxS#sswC>}5`BY+upx@Fm-=M)gVPj4CxLtC+k7Bq z#72L<<evS9udu(PU_VC-K%z*9<CQ5fE$|&;)fWdGO+GaEY0xDBoets+sA&`qx;SD; zhzklDkw2WV8%ABk2O_B#QTK*Xq4;S~)&pno>Sqfg5R*GlmH;KOoWnjstIJmn;4XoX z!n6%E?uKwFG#<gIQqk$8#l%V$q-Z!Rc6ws0%k@Ixow5Sa;)k^)Tu5rexDh3#sJfRN z<gk|U6<%`JJQV+gouN}JM$qDvjGB<sQoMZLPGTovY|e~Or%?WG+1Gu-Y3Qqmu~98M zl0Wk-PJw=)Pj9ed3mk0bcZiy<zc}t-<|x1QO-#l-Q-f2QEmtVMG3vI%QeYPuQ;5(| zFPExDPRzdGr`1bk7PJ_#sULXmd|F<Tk>ts6TPOLr;V75u9rv#t1@}#<4Km{;YMo7A z)Jhw<iSBE6UPLwL_J8Np<}1#53O@`qFSxz&NK~-is6c2xB!8>^(7CK5oGX>bcT`H< zFuG+w4mro-D69U(A&#+`tP~RZa%{E5u*pWi+dTmr<T~RcEc0XX@MS2XuTjaIzp9sq zLGAjIW3-*%JMu*h4DN2_DOJ~%VA|9QL%xB^(JFH7@S1-AYi3;&xh@1<PGGRu9J)i= z?u>&z*FauQX)YoQp{?EZ9sN?~9V`#U+3-nS^{HECBIdfbb7j~!c-ZXNlg&gSeB!E% z*POw!4rZuPb@8$wK_@(9o!S7p@I3_^Sn8VnhIX>)<)+uG5$>UAX{WR&FwsnZo<S+g z9<E7AwuH@2(O3;)ZsFY2T6K=dMX9+}mZZ%~*9|t<mo9>ie@)*0sKd=1Ie4l;Vc<k% z@_JJgv`n7Mw_YZR8t(qeDE=7OGLK-Mv0Rx@3pkS<uxOJiew7a@us?%isgfOa`L_8C zqvKEFpR`v_z4A|o`7<NLt%Yyg2>q?$h$_9smj#OsR{-MCI3+YtHhLBZZ1O^pCuR^c z1SVQP0bSt0eOnJq+6E_p9ESSD0qXPc20!XXghF&IHiLDMRGbAntbdIs`_19W4tMa= zKvd}mbe8ZgAXp%nEt2x86R@rtz|@@w{)-6+xs7nZ84R6@#hx4my(5@ks2osP<ymTD zB2Kek%5iI{%F_z<&TMH;XL}zCvo>V<*hPLk>hyM<p<J&eYj{(LWpUq`HbMyX@Tb{Z z)@O#oqlJb_!)R+tWWs1o{S67rMbbohQt`)!==;eU6`_XpZpfMyEM_;3yR9bfZgzYV zQ=aKgM>>ZV=DN^`X+r$SC0aX_JaKu&&E;nbx1dYR@E)c$V{qbw8*vAb?N%3ETgh~L z_{pAn_NBEoFZa0^DsHw?vOmMJLDlW@nO@BS6M@oYz?mPav)skf4PJc#vsL-yH`|Ln zBbup~Evn#S5uf??!ll_u8;!ORy3+Ti{C3krKgC<iYfDafA2bi5he?n8+J*eSeA`#L z#$jXuf9&stop~^Yi0wiY9w+~<i%sBROy=CPQ^n9%O?>YDo;$wabPEr=-V)BnkusR| zRcNm~w06vw$vi&BR;aZ|TE@`FQ?GM#`J841%ygB|SAH=h(qh;&A99ZA<V8=GT?(z* zSxbJ!#g1?uu2kuVh!bO9<FWE2$)20W&O@Iv-348wllkA^vVy&1B&73$LiZk|EZD5@ zLIr1h4Uj4y%N-N2fs_fqZSJWUo8rR&N1L4S-}#-0!ZJOO6|QzZxMg<6+hXDvZ`bYO zkBzbL*{Q&WpXLMjMoroS4QipELgDZ1gD)JZVlcKQ0us_Q_cD4f&3wYW<7$P>GQ}Uo zEZst0OyjV1oT60B?4*Hef!ZpvB$CFOEk5@EG>f+;Q)yUrg8M67k#@BT(k|2ehkR+$ z>i-4=9UVwkbup=#z`z{%r_KY!Hlg~MY0QXL+(34BG?r)dFi_iVOv`j3o-DtBdID^= zKr~|1<qP}=4q}i1__;wfOvA7|*dWm|0f(y}=q<X*zpBZEF;S_co#5(cQFHaBTcBB` zDNl^OmYA(eDIgV#<i%T;d6?J?O}A~1)dKy;)X;@7qI^EpczkZWVV#kb=ESp0CIi#G z!j{qMKhR$Fk1Pu!O4JohWH`L7`m4GSF`oF{`FE=9Iea;qw?$Lp2R9Qpy`yXxsoqQx z+LQ@2z~LbjV;kj>qh1(us()5x#ZB^YcV_d+u;w^@N1tSkfmM=2b?Juop^d><saN3p zwqeHEyzH3L0_}8tZPRNEZe3`edx{C%8&wpg>MWgk>lbYJKo6|rwX?=MnXNDR6%)4Z z345eY4>qk2cQoFpj)wbx8AL27ujd_V-cNGmK?W6wfnumI;^l{nuNWv4P!t^(Rrs!| zD#(EtHr-GS1<uYtF7=OehDRff3zrhc!nSc1s+?N3lc$t!rmgJdnDqtlbRtp^f&s5C zYm*Vq&6%1HYc+M~{t6MQuJ=DE=#w8YtLei5K#QRr@G)8Vm)m9V(CTv=#$l_t9!x<i zYtol0{vgyv2>F)$&wYaRFOf;|#86al(_qb56$ex5rz*&$4jc(LnZ5I+Nn7nhF@xe{ zc1?$ihOjOIOWL=<J5E>aeMNv0sHi2vV!qxgTbDafkLy7ZJRoep?x#iE`(hXQQpJpc zacItbO~l@X-0wt?&SUs3Pl8uAmPaV^u#3aR4253Ks|?Yi`VQ}SPy<?khrEN7fi}&7 z%FOr<W<$XzHpgI_w7a|?fqhkw?QSxLh>3pIQe=QdS9~8DGk>U@yWdn@|13Sn$#{qT z$@5xoN8h@$C`#V=v9)(xFQdJ?;(gS5Pat+iOnra+aVSXpSHjP+W9}YD5<JgsJ>cii z2MYZ#twoaAv45#IJDp|-V^IZD-+(y^_?C4rWe(dYpnQAdk7WUx+}T@4n|5-wTN6-~ zqI|l1>tKEWdX)%kX*#`FXSV#IDm<BQy{Gi#`h#y=yH#}&aQF55=?($g+v{QXUdR-^ zOrJ4^*tf<m${@qWq;bU$T-JE|)kJ&oawcO#K)$13Cy>z>wpR;|lNTP`iRhB+p7VJC zN&qRl^vw&hw`1DF#8rO|WFn!1^YC<@9P~C_C+7FiCEq)`x+I=1gtpf@KO_`O7|+r= zfVXorU8ee-i{rF0?d)^j=^IfaR<Wt=u6&@z8XJx{YuC+z3W92fn%L^n$EF#qYT<;D zzEhA2?e>m9*?6wB?w`4hOlu@bwnnfStqmJ`u8b*@ts0-5kjW;FP{oz0G1v~jzD)Oc zqkSZP<M1-wGj3TUzJhmZ99mtA8^neuC5%m0X3f!yiR-j><J7SqYlriZbU0K_08qdy z80784i(EIOtogU*4IINpb%@)f*R9|A6cifvHO$~RnS@B|%u9iK29fz04Kq%AOW;%$ zyxC^F!)@H)tIsW)@RKpJ>_YAmp_cn`)M2sQIKA~ZFeh1x&3ZH3>f+C~&W&Z(IHNvZ z)3RZf5db^9<Y9VN_3)xZG$v5)n|49fYu(f#vUWj>OEa~c{@Bjl-56Gm0|8c)9zN=2 z+OCxf@kLO30DPu$NW!loi`c#+-Q0!S=cO;1pjuy$9g+8f`5DEtpVPs_-5>3~mH#|- z(k5UDv^xvk&q#D2v|p8|(Zs#&6)TB@RHRIQZ`s<+acRqM!veV~&RM4fwP)a(L-%!u z37K4j@1&;|QRDZ|qHOM`Udh>c+%jvr|0gJ9vZw(aPyDG<oY`yyI}0}UbS%7$xf6L3 z^u0}ft*ph?YlYvxm5!zCots&Ug1_sRNga6op?F%`52Z&O#YFTmE9bwtoZ(mHq;@TJ zC$AKxWBfM;_t^M0p1f<(0bFo(Rv2g;D2GrB;E`dk+63-ucAXgn4j>zV+70MwZQq!# z`pN(pmLQ~9S`PHn!1Vh|AEQrti><I`Q9nXvT)%{$_G%*VsWbtPu>!FFIbC#_I&u-e ze|EeGRy!=;;&d6SjA3abWi9&y10%<5EZ&NKc_O)OeHFtWlakKeuN5Vb$Lx8c;B+x( zL;Os>2d&U-NUFR!Zu3lHl6gh$%9M+E1Y>)lrT=)Cz|eZvAd}jOrhTK(Q?#@$FHH6m zxQ(5~Z^?Exz*@GJ8lLF?*efG9YW?b0UXPUN$|NPnoR0CF*7c8t<!Op}Y~eNHuna#p zfVk}-4lMU?VhtV+#M|O3>BW%VN-IuAa8>sq)W8WbkN(SZ(Y0+q8z3{2+ejbRKOV`& z1w_+wvtlh3#r_>dpLs5wZsC|<(?TfNx@1R~kr?7Mu^Zp`XLR@_$O%Cu8`5*gaoH#M z!UdIwc(si`O!|6oa_3_eKW3)zuOR7DqyF5=A@!KmKb6Kmd8J^Rs^gNzcyA(tp$OLU zS9NB168Y}t=~p8=#n=I=rrmOB{$&g6v><`LBniVRYZiN?#*K4Y@6z5@H{XO@c=V82 zm^NiqYTL#Q7m)#EZe5*z`kYJY_zbGcXaO}eks3uCXK{w662@UI1N>R<L^roA;+t%j z$wevk9^I91dt4U@QX_9^<n(K8R){-yE+@kB5MFYAMjY))Op05<k0z1y?=It9)QZ<O zAK8-$PJ(&5XTZ7wK}a$)&!cOu$uL|+2O&+u_pPm^B??pAg_!(H6*0RWV8R)L-6r0l znDh2(y^UoZ!_cy3FjY&?`=Ep5u1mWrW6s85PdU7j^Bg}`=y5HxS;Ile8KbcK`_;Ih z7V*<p;UtL3A?308+DP!XYD!Ya=&uyDPz)1Qp{hF1MiXy+<zr!3Ct~uE%EtQe*~|r! z%Rh#J;It0H1K%~u5b$P4_W<l(&L;CJ#_b5rbM_(-67B&98$d$XrPc#0B;_8kx&x<- z)hfnv0X4mf0j5e98B}w{`9)x1Xt%|**ovV%Gb)0b7VB{Sz_GHL?gmP{Nk_WJH6Xms zfVE(aFu)fnu`)A}iMPsru6y17td3vhmy;XHZxr2Rd-_JCLgP0q{E4S1*iwAcdhh{P zle)jY16#M%{JodF@y_Mu=U9>A(Tr7snOn<1BNL%V<yw_rGVqvG8mgYHW^0Y{+l$8n z83%GG=10VPUe5?O)je%dJbAbh72`Q;j4_J*)f}?^y8ie6w@w0~_G=85Tq$I|Mq=uA zwRq_I;&ct1Z*J(8kl<8%9~@oMjnL-P5z=x1(JOd(OcY7FB{8^;uyt6`*Q{Zftd5O| zGj)l@^1h3$X{);-zCfyv&(VYg9g`RpR$QtA*kM?YbeC0{VJLDwhtOvvzL`x>(PqCs zF_Pc?RC9P&@x*|9lW=P&5TVSscc)>olmuIw>#8j0J&MSK?<xKsB$=2qEi3EPeD&g= zWnc0^exp)rJAEz~XIQ{coYjZAl!aL7mN|c-zKM=Rd&v@Dc}dEEnmd;0AO5@f;HT}g zB?G#w5m60~MOm%eDc?2&_t4L<E|c*wjqLce4EZp$2kQ{wa;LpMZV?K&r*9P?2G_s0 zj{7YFxv*}?`UpRnz<lZ?ELUxuN6&C+(>Ske?6;czv9|A7-rETq_puMMac`3Q+!xvM z90s5dMpKMi`+DuY8kuFQEEd!VshK&?Mw6u#$t)c*X&<KZF*P9HYA8y1G<d#Q3u8p0 z8zayqQwysy^KUf$N|s~!$2W7i88&vh9(bf#p2KP{_}D2GCJlqK-!uTznF5)h(~-si z7~?yEJ=PM~Sb`)0SaT}|>!qBCP3-#xuskKOT40eDgls2(ixX5SLGNIk|Hv2JFe*O= zoZSu$63jENU}HJA)XIGmM=IJ~dl7|h!G(Lr4ud}Y@hiUyWPy73HtbZ$bDAkbZu<8& zoF<sn+*pu$_{u;I`I3=cW2W56Qko0TRH#aMf6&oay!<>ozS}Zo-uuOlyNmA;fC>1S zj6Avpj;lbz(6<tU1r7R-R$_Q^p42F6Ka3p|AlUC=un|>b_XNz>6n&a8izt$Ux6P!o znCP-m%6z`mBse1A#f@iu-Wf~z?dMi3p6f1~=7>3;NYI4FT@tbSPG*M6CV}l7V9>q& ztt02wBA4&f_rB+B)p6AZexF|9HTeXoRo8oh2^T-o`&)=2vtW7aY*PGvind#4aa8T3 zcLaK{gr|MK^N#P#@;HO84&ggc$`$W#hH6p;9_;un23%8>OFtQzzC=~~O4SNfTCH{W z_=Pi9+%pVMj(^))Y4+*9jB3XIp2%Noxw0UeuHQN9Xu^E|(v{yNnYg)=>wDLF%TSBe z50ADDL;DBz2IurKOcCy<CvWi^Xx#kV6y6gxr2-6l+X)E-g$;8I!RbPwdDFlm3RrBW zhLCa+XZy*WSdrL?_-C(|F8WiCbVw_R<?=3l{N{&I#)Jq$JOm%E>k~s?GsMIyfh36A z?u3W?N6)3qntC7$a)Tjes?2-FLk!ivC)|#MLD!223@A*p<(H{HVH6wx-QHb8!he`a zmt#S_c80>s-Jer1H3p<@zyX(l?REoDsDUH!Rl%n0LLKh{oDp@S=`S}fDCt`acGMpW z*pLN3@PUF)feIBU;@Q^HHM$XYO~8D}0c75D;rO&{KNEFvpjt6nd*@dXvJ)~+OYz%l zsyUaOQEk+*El_xiqu9&otPXLNO2>^Y%-ru!quCp}%;g=K(ZJ0_vuU0%dq0KFFmrdb zei^=b2RQU%)#FnPEkm>FQ+W|Hr97PxS*|79_wkKG#+W3wTfFv*iHX?NGiT~IQ&{B` z>%P_qU{UgAUH%3<z(dC{px&NfEnr~t)YeoE$2l%~YzWJL5MP>&H+i*C;DpFb6nDjV z!IvAH91>RT!WW(lkrb?>1o-SLvQFC7TPecpIVG%a?PRP^Yd29uZu4<z7CJ7O?(y@K zS=D#ii7wV@_1!f;IV(_kp~&1@m%eC2t{eNIef`(A@L_3;-1nwRoSB1463*}}@GJjX zJ;O&IK6$1jDfr6G>88MTAhJsttij3oe6^h1)#Zn(Wx1AFwHK+U_n57r9~l|*4ICj! zHBFj5k(0NYzh)R|4tmc0yiuifjboEzL?)qsiJ2}1NC<G6qCW_|*PFzQCVlHe2Cg#B zjpS|&O88dT(O^_Cz${xWtDagk_$N?<;B!>1Kl9^vnf}Bgi6+;d!24c@$S##6EWUlb zOV|OFCJH$67V0r4dl4F&k;_EgdJawx`M*UGoHj?r))86RF*pa|9x?E40(KV(IR$nj zV(J0aL||qO1L{Hfz#l@Bvk5kh&8)ew!)r<y^i)a=Ho`jwYb(<T%lH_FMF4rupg)#S zJ|YiT2OWfbK$gRke@YH5)LdCaX}ccp?i6v%^Bai}d>s3WW_8LuV1+&L!;R87E3s}- zJ0@S53*LH<n+}y&<nK1R&GgB`8{V*Gs=<(7{*Vb{M`gOThs-(fJfBSqYpdAJ06Bg6 zQQ^oCm_V`)w}w2ra7U9iG>Xcb_W^yyctOl*YbDuk0*p2cR8{Dtu0&eb6u2d*by(4= z<*6xu=Y=$ukXj>cEpGlM1uf0Y8Yn%qUbi6a3cmXE&TJh~<a+J2bw&U4<x<C>7so|& zYpmHWN08m%mx3t}udlb`2q$lnd2k!$lg`qw6m>Wrv-j7C0JSLwTb|yy(TgYV(TGA} zwv_8(=~q)24^k#mUE3WOjl<W}6up|mviSu%W7fGJ*B<y)ykn}OAhy4}4Be!sttvSF zs57P91P_zwODHc59kAMJ3Mav)B>!@peAz#^U-XV9uv4FsoP#_|jVE(Fv`Z92^$Go& zPtcBZ#ttF(%k#gj`M|5`u1n#Z2Sb)V;J=rOUWaP0J?KQNo{ev|4M=?Nl=50~3_g>$ zf<dl>O=hH)5;h5kV2w-F#SA?OJ=cQ{?R7jWHZzaN3J5>g-lp@`ABhUm?jQucJrcsW zDQX&EU0lT`kC|BoE7=bY@C=Z)EW~CK6j}z;EYZ8_3v~(FW<KfOfu&;@@dCI$e%_gw zQ<<eBA_?5fe~-4OzX2GiA6)+jKUA=O0`|b>Xu~DnN#HWZ$dAB5soxmD#7&4~UCkp3 z(X`VHAjBR1GRK5)^(Q?ah0lQwyASQyZOlF}s%T=wfOQi9k^w2Xv<QX+3VWNzoNMLg zeCz%mk^z~cH(F{BIo(7`9jAt>#uz@5dmj2`)u@$u&DzfO?GFB;$YDU~jZa?guR^iJ z^gs!o!HW6|XDO1gtJX1C&`S@GPj?f7T(*i=tTJLBTb8hCBZt!$S~QP0BcjcEcDNyz z7;jK_^j-VbvfV~19A$S|h!U?aE6p2=zi=xQmdCIy@FaDaw!|;QT-~#-3<@iPVR<R> z{H_UeQlTfc12!g0$%tK6xlSMeE+vM%HZl#;D19B<wU5169;Qm~Y-$_)pg~?=-qG+J z55DnZp-mY{FQT)Gt4*h>IHN|ac$%YA<V(AT4vsA`Hf`UIN@iAu=!-E}5_84nh!s~9 zSh`=B^xMvyO%m%3x^EmgQ<@qUOv$hZ;$)LD>R^BSXNwFQ;obbNkTF>4!HVo$b1R;b z!$H{Fm<=z2PQ|sG!QOi%7}AGiNIz^!A}~nLv(wYS&)iLZvOf+R`-)dhbtLKI(CSi# z!cFRG5f6n0(r6-9io<B>R99w}mQ6~uUp7-i#JBJu?blb43bIg!X#Sb)T~S_W#YXc` zkEp(prk1|Dv6*}>ycNFerixKawL8r&lQ-bjwJP6=$h`p-y!p=G9MYzX>HdD!t2T2m z$p1W-9D7bb6T!!I+s&_<ZK$1Y2C7H1fjVdXx9Ui3x2bqpE4Vsw#%WMQ>mP&u)BAXG z7%wuQ3MO-5I{;|F)lq$0*P)Vsfq5QQ!Dy_GOu2!=cTf~{Zpc(77lvkj4YQrB0_cFi zqu~`G0%$ZZU}&x+?4%MPuOwD&@BlIBy9(<htR3wU8xFHTiWB95=#2>Gc3P1)`n*P} zD<+?7C%(OAeo^~Z*@UTCuX;*@>M+XInrbS+^hR(C28&6s?eyP_UZXO%S*Qyw^ju|J z;k?PEgil-eXjF9{wje87IFMPH-&C5@yxDY}+jAXKv<wX{f3%^7ArOjS<5^-oMxyq6 zrM}n_RY^uQL&bJZNa%6w%VFxBaRGMy%IR2mv#R;@B1)ODNYPsjr&1O3vp@1|=4b(d zc%32jcoos0a0>K$x2}xpx$Lf8T0KafEF$#TC2k_Jo_qZ?FmcoFo+I2>W=4N-XzgIi zaC)<e+vG4$a%(J?c(p)fK2UVQ(iQg|5hMc7dbx8^Pmu17ZIRJ8gh<}|$%AJKLa7^y z{sSLLzpfX>WK(9f@o7;>81t`vkxj$<qvatGVBN*2XFxaOPgnr4P`J#Oy!*MjY7cqd zHE;cd7dbEcG@%*pjjZ85?5@=*a;awR_$y<)JWw~JuNjX;_za~SgGp8_%hfF3x=ChM zO|>haLGHpIUkNyx$yiN?g1`Fo1<2_&T(I@O<lGQ!JNIKeFY&8ju_rhX=&Vg{$6owp zzB<ll>OzC^e9{LM{0Ooe;H`0hNDq0=q4{OyDcW=Al%ZXrDxuK_7yDT?Pmm|O=eEVi zpRCqbMgGTg|Dg*JvP=lLfrQSA4q*L-?4k>%kf_psF%OQYAA`{_+bDC4e4b}g2SOit zR8Du`=_24*G%+o6p?EUkbv!l;z`#`4d7zw~z8Qc;SOo}Ejn#BT$uL5RAOyZq#<#+) zy4T$_*kSvnesvpF;Y%yr%*^LPeAlRTn%mcBtIlo(+G2N_AG9@G+hE%IgR6}2EiY~O zw#S{!e<xLJ)|Vj{tkGmisxG1s)eDQ>4W=^l2W`hm*g}b{2K2oo=2CnbHxIEU^jb?$ z{d6(|mH*(FfMX^8B%A*=>}T+`wV?>Jsl{Np<gxQyVlf}Vgt$VeBovKMU+miXV0UHU z*Qeg+f^4a)o~|y5Hw|KH5m1VbQqb)HjhIlYk<1t^_P70-NZM;cu7w_xp~?}zf?sOz zXVBLN2Ng#17^wK_N7!i{n<EVAudGkERwyXsJ9-40Tj#frzp=;HMe|mT9!3$G^_cl@ z+-Vw+IaO`-sdo@2(w~=a&iw{)%H!o-Lwan0zhWd$m)zT>SQIA)cxS{CsDB#<q%3j9 zx;430am}0*G_IekpnIsG*+GYV%Y#ILj&?BoKs71$bAcktxGMEi%kPYhu}z&Uj_NH9 zV&!hpi#>h;e=o3SOyo{x;eu*`DSa1~y>r&pjxIn;8oDV}GxP+VCq0rO(7L7nDQaIA zSQyF>z<WiOLx;y#eUe^&*Y<L$3V#qXu7*^3?(1HEHeuamR|IOyea(!_qW94ILAcmC z*J}~X3s7`}w?q+nk7@Lg(PT($qNw)x&PEjQ9Hh9<X6|3coee>=Ep6;KG@Hj)l#i#g z>_oFFm<}E21?c5CeF;Bc8x%kH5C7%&b;t`4n?Ni5EbA&}KLNXmgieCO2B5mO0jK5y zDK`P@%fyQT)0rOTY`)(nKh*AkpSHjSj@HfAfdU@@FL6PlJAG#xI}m{UXpFgz6vl+M zP@yo5b>QIr`}HsD^<SH3Oj0ZzQzx5h-iN1`x!jjWXv_4}#iixkn@D-|9$2G^l~ru7 zXrILvj-J==V*DDmI%#8|R=~gDJn)8bIxX|`JQsB3Lk47VV^%zj%tKT+^Yo_H(e5x@ zRSdUilFelI0_CeNSzx2I*!G0JVVBf)HmNchCDiO)s-Ldl+Kj2!hbvESO|p~^1JZ;s zIH<;SJP4kikG44%rZS)eT3+z4hq>BrM&B(l5#k?3<Eq_|FGdKwUo@0sGShbI3mQxE zbuV1sjqut2wU>{4t#vQAxUzp{3}K+}tv5j7<<acnCE%Rs!d*QEvR}H3EBMxC+!sv> zc97+32-50db5VQvVDB|QIUlzheQqV?j}E`r7(-JKJtgIu<`bi-bwx%YE+xA(Zi>s$ z`5>_&aZ2LuH%(+LhT%(owM=L2e01*cxps7DBwIq2L0eWoCzmoJ%SQRvh$&YbRoB`R zOUK`9DNG}1=RQp`U%CU+JpyQmRPW9@<RCYq+TY~C#7bT0goZ#JPpxUP^`&OZSo_CY zIM$jM#Qo6-@_sX=lq&M1zzz8>`@H2NX$H?P%g{dp592iGT6~8!&;#vXE={c&RWu~0 zquFUkni{Fy8v4Tb4J&rpOZfj%T-vOe=U>szfjJYx-PxbR=6>O=noI|s48q+!0u4BX zXJ)vU1{hR0GRsrDa89~To)vDcEjjzy9VP~b^K$Gm*1ZUS{vX7{2%{o@+gzy`-r<!= z=Xsr;D~-CL6+s)BFWYo?6w0dgaXkU$U;5XYUN5x+=D?n}STFiAWCY|Xzc4xQL+8*M z{h3cOE8?Aqfzg18FFJl|$;T(B6P$w-45pq*+#YBdI>RMiTSypv7H8_-9wLpYdd&LJ zCe4g7m2=yvZnz`pX<r`ctLV<*DeXBqaVgQIrj3Hoe?T#<{16KbJ1s>M5FWSR-%-Qt z7X&CU0>Gv*M&p#f5@@dzVInAn=BOjcV2dU|a-BeJ8WIC_fc6^z!oX=6$}zyw0&{0B z%=GO2Dp*Eb2O;?`@Y@64QW1=!CJDQdYKzHxbfH4q%-1pOPvwjoULrzvx6C{VF^6df z=BWyTn9265PGBDZ!lsP#v@vAFnW<e{Es+Gq1k31hI~svk9elJJ62=kAhO1_Mm8}_) zqgEKVl^0@qEn(R)wxsWUFw6V<f3_}kt(ximykRo(#4NiwSFO2u1pOPgrDogc6N`O# zTU;pQ=G$olqmb~m);X0G^P<#CmA?x8%RfE&jfZ=St|0UkQ|W2r!EL7aPyTrH+}17Y z9se^Gq3LMFCm#^&Ul27#8&7;nW^ca5a^vM1($X{DXmZz^Y_rpO3z7E@@PIbLlcm~G zTxqA{Uvtv`0I&`o#>hCNGc{@{5AwfN_?CM)Hs9J06FOYZs}uZlo@)zjL?VjX1x)H! zWWAVIzIAs&MD0FFyPz!BGmkhsIGMyjm~Or9`)eS+AgJJ?(nPcL+?eJta%n6v^WY6_ z4KMS`)%J_+%k>BG3Bytz`Le>8_3SrvlDO@)VC$s&w8wv7{f##4go7S5_jMP?Ky2KT zid=EgFH{r%j7f3j75$mMZSd4dJ?Z7gwMDGq%;daa0>J)VzgGWJic8BINQuv-09T}l zXh|p^*+G7PQIWpwYJNU$;lMi$S_J2Q-pz2oo2L^^NW6y^Z+4e$kzUx>NMBM_4C-jV zeVA`pugsmInJa~<`_ewBxPwZ`7FO$6!cBL#Z(O3l4b5#jJx9A*EX%mK6DJF|rgh7| zbea4B26z{gUQp6xC1LmN4Pt(Y*qyR)@ig6v-4-LWLH!kO6&jDIx*BpSm)%#5BO$E7 z`TB{4I<rrjJ&q+zUTZ<gr2}or#xYx55s*_0+3EQwnb>KM=0}!7ZJ%vb=5P!x?Ji^6 zt2&e*8g^o%x!#+#N|_y!xex(wZeJwZm!VZKd?I0rvlVeUL&d1pc|o>X!@!~G9mmSV z!ora3=;Z$O>vLm$gF_J$HHTUc6b}QQzpGr4>)-iA5gycV>B}<Y)obrs2+El^vA-DV zM5h1}KMf~kf1=~XKgJz$Jlms%>#QZ8{!@vhMqfh8q5rAYD~%snr@z-9fr+a(QQ)Ct zSWZ>Jw1mLsD)8i9#u%)mcP#exBvsT-A7F`=3!*$taYrsHPc2kw=N3bB+0-K$9=dM= zWx^6hBH`+c>MMS7ua`dzL5yaeD>eqv`?>YUG@m~;G@a^<`=o{`Di{Hqme%KG7(E-y zA2%^A*VxnzlNkM6eog`D+?<nr(gktHJEn7a)_F2>x)IN?-)+yk=+oURDqvN`XbfhW zR&>AC<Sdc?NV^ww(CKDCH3%wdBgFoPB{iQ5((|f0%(MCh{Uhy1)kB{!Ivmq{s(=aG z)EM1*zbmwnf??eigKm<H>dSN|K4(V3&G!c%q9W}PFURceX3ym$6QhFilcG7o9j7`B z0zTXhYW!%S`jg1Km!-beCNJV``TDR|Gr)2Jr5)#`X|z6$t{Q7J&YUT-j4nxqmAS7E z@?}q<Sg=akLzYu0{@fng?ewD5C_zFR*Y(iz3Vo%`d%Er>v5_ac++#3CeR4P$lC9-? zO|A(2Fil!1&jJb14yyM>)#MaY28Zsh9kfbZ+PiqDo_a}WKh)Hvff+z$lBG2<?3jq2 z<Wa21w?Bq91bH_FzX;<|jU~oOGgF*^&gr0*^ni)-efsrWN}6yo$Fey%6RS$+h>Ai* z*S4|Vd8o;~VkByde#(4kK~7q=kcgMtx-;aIrol$he-B@~nX!ftLH;MYDHP~P7@`0+ z(3%_2A>pb38fAb%0Ax<9BLEL`K{IRV4IP9!fOx7vqc-1F%mC2oD=vu1V}aBNv{-r* z0N?Fd>__40An1xxgqr3d7x%+~i1lB?si9_fUqyL)$1|46?Xib-aBE*N9}BV(u{S7u zNauA_Cpz(paly3#3UhW3=gcI=<P(g>Mm=bo0K0-M;E%G1eMFmV(3Yk7pR6|5aE9D# zDa!nKoC;PsqMpHciTAx`4?`G)zR`E^8u`FFkitaEl@?>eo!uGsK?oixnRALpm~W*a zW_;z-*4y+9D}z$fT1y0CjI&PLB`ycwm>ZLx{-i+c$>52+R2bA#X0O3<C!Z>(g@A+q z6ohUTrbK--(#LX-b&N+}q-u))@|62~>xm%zcdaXWV=05%MtiQYHa_W*2BG}J&JN*M zJ%5eGpHh1(ox5GA)~N409mwnI8E5seMocttXzAs9q)owLEP1V2USu`HCXRLf>jI03 z_j>{$s}{z8kX@-)lY4tHcko1~&~a(u-`;8~`%|SCL$59SSbOY8%as|*_w&<r*&9?9 zeJQtj{1xoqLHThT0hgpmNTF;h8nlLk^8}w9G?rl9Z+Tt&#y~P334F;%PGcu*(UY9w zw-mGyQjrB~-7U#`0@Xt~uk@ob!-DmN77Jh@S9KUlTxDnmf+9FV1|g><lUrSAKArB{ zG3Cz;N8(z&U_p^Nxpf_c=dQkb=>bAbe&E3GKBe#SWcQqRbLlSvx7x5FiR!sDb6bUw z7_i@IFjFm0eCEAC?K~mue6stQT@&}Wkg>Wrd(t5^Yw0T!>)}?fnAOm}g77uwOEs5} zJo-~Pq^Ba6zWlPQut!^DGLN_^zS)HKn!RZ%sLUnA`^vsEagq2<(#qwWS-H{`C<XC& ziJcM<mANFhLg^;l6H1a*tB1|*w-i*_wcf_GhgFAFigtL5ZsxhIiMR2|b|L!wzpy;{ zghu%94i`U8La7ByYxZPrit<H7cTexOVPv06cKvp0bxy{^ZF8%z1j4wBE&Q!r-?rpW zq%5Cl72yqe`g1`mi6EHN{&p>gx*4<j%-kFIQwU0kJhdo=|C7EhQvnf{bYJW^bV|2x zVQr$6Ad$kjiIY7Zg}SlKsdA?5ox!V~)Nyu73Trgl9zJ>7Ti@}G1G^*@bGxqk@9^1% z3ZW8%DDNEfq1sIqz(M)Df;SCXC53U=y?Sg4Y!1X`(Ch#tD`@+l-|mjX;tl|Zg&TSy z3PC}!Sad@S_V6Wu=xCxgZ#wJ)wh+f_yj3p|2Oe)npf9M4!E#tHlIpzh)A_S?=BUz) zQ`>RhFnVbXU4%SeRIoEAM7^56wg^z-S5VCtQ0x{FgEOa+Uzb04sGGaK$YgvmLOROX z)qMN|c~vi5ziYrIDkqz%yZ+0_3k3d^gSvNmKmnKL_59rMQg5ME*_`@2Ei6g~?bs!z zU<bCW;c9P@p<|UwKhHf%eC@!-6YgAbevn+~E1bW=KpgShY^(hvJGQmN^tDM|-}xS^ zpE4_2H7(C>C#E>47kNA9vsOoZ>d7v7jYW9gqN(+t*+18Y2t`6Ixhj|loRLae$Z7ZZ zFWsB1!zYB@SaJ)ST?!fP5!SY1Vy>jqVmjr8%|ax<SCLKHEGSeM)V_$d7=Yi%nljrZ ze7{i2)@>_$MKVua%!4I%V1v^2<G#jw#KJYN?>_=?Q}8(2yuJM&_nOJd^^W)T$Tsk{ zRwtW$F@(>Ryf=Dc`5&H7dJ5A*5g7%$fm0zloOPk&OZ(yaeF;J#RBjEel2?6~RYcNb zCBwb?zH?c=Wb=yuk$>k#!)IF*kE(t4qH=p=SodXu3(v?Uu?}kZwC(nR)9Q|?kkTY0 zabdhiBp><C65ffzn0~UA;PZIF&`l?Dj3C&3Zqu&rO37mdoP}a$%n)(Xf^+P}*xW*6 z*UFOYj)czlvqZX+0xBH5Is@&rv9FLbmxAK4h7`Z&Ns)RI2flYw+z<D*jISx61jfWC zc58MyWP=2T2AvY54DQ9Zxi#p}Vr+PMUf0cB58!ujp^yF=m*enIIw2p;Gujj=zIkhk zN&#`|FU!!Y-;5829!s9gGnEnLZYrsLNZljq6+@T45A&+JyMNism-!Y95S5{#n6+0c zB-?FfH_se0>z9mIxA2LF8?`W|*1QG7uy-wsTdm$C!fS;S@7jHR)hgFtH0B}_&o>1w z>@O}OZxnqEN@!2Dtm{2t9oY91;<R3CuaJ5rr+6pacV!BFV=0=MWX>0kHLy%y=iXvg z4mM%<J=fLisNlK%=2HeQpPZr{`<!e}Z@lH?!@S}I!zbw%w>k*Y=`gG=P4l+-jm2*) zW+a4Lx|!`Qw=?K7i#OF!m%8>O$bUquMd8`Ma)V{{_vQF+Wf@gH@g$?-%90KhKclGU zEw<C@!WC=Z!Ed0?V1tEe=S_m8ce$rY2sm`;df0b)O{M4b_kW}5et>`nI~qK>6^Mrc zyk>z^qldx$;f0`?Zp4=ldG%QSg}TIgYca?cJc^Y%Nm#TJCL|3;teZuh>p%nzquzBR zl8%s(q_Af&#lcR3O$Xs^+-nyGp3vy-_x3u+`FI^7(0ScVzWBwD1f3hf&m4FrTf0RR zf~z*%K60;QEmD2I7`_+~rd@4~e!ct46x|}+%xW9-taF2bK0P;0ppSnpeX4yqfGJR2 zWVg!cL%UtW)Z}bCQxpYueP{BPu;dK|BhQK-Dc`N!Bu%P}-iTUAO0@E%RX4X1X|I1* zvH0*QT0&dvdhE`Won1mRYX|i)ih`|eW=VB0M=`=m;Nj4MS=8v4!%M1``Lqiahpi6U z$3M?MZC6nS{$`nYLZ_|(>(2U%K%=FBD$e5LCLV-ywla|SG)Uk)`|UtMy^qIp^o3H? z$(`}wUHxXJI!u_Gu4WIvj-!xyg|?8mtp4b!rMmvH@}k}>@#em))j6d<r`%XIiZX7W z;2U{T$}k_>E=Ww`)xo44)^Tk8NmzTw5hQ4q@hZ~}*^U@GGbuYmnYKTyiPUiLxRX@< z5fvPofOuVE{pNeoCgGRbm}9VXT3tu--9szd)OTuZ-Dj(|)nc%$F&QbAE0&5CCG%v~ z5mXA+F>&EepmO4Foi$}sZBmt(Mq(yh`);RHdfIh~nj;#gKS#5B`0qC0u~Lwod8rw& z^N8fg7fM89Oh)4#U-lvil#NEZ2~;EUEobm#m#ZBFwshEB^IMpr^jj?0DvWWKh)*6r zrL3%Bvwhk#^i9aePc%;{^N_`(-u<T0-GSwZAJ5mWjvfoN*_P2!GQ702iE)X+z6dF^ zSI>G{O!dXa_BZpnzgL#a-1s9RY6J|V^ihVFYTm4YKId6MkU#-OYD5N}Jawg;U<=lj z!%GiPlq4Y(WmRIauB3ARIuza1MW_V;Q;Uo*0;tk5zZ;KYur=p9(_u1&ewY3!k9`ti z`Rf*;W1$<WczvrIQOd!=^4?wG@7F$d*%O}@G}u)NSjR;HrJaP6C&Bs?ht<%BcO%l3 zS|m`xo&a7A)Ju0UhjjjUvTf3JNRb)jXo0WiUHT;g^$yDe$TIYX8$2^HSbuNIDw8RS zf_H-O)3?(CfNr9UwUvaKir;|Tclt8wK`I8`N=B=$%&+v0FKngcKXC(Jg>;^kid?4W zqS#_*X~gd-HfvLH97e}uS%Ylk>s4ts1wPFD`<g!&!TfBAWM#b7eG^PWNkC~F*7q5u za_RTIJSRO28r%c@8=TOUXTi6Dp3e+3b-LaUMPbB~3l~Upxr-zcIM&|)xi<@S3Jwj- zs8SB{mpH7zKkNL{k0EPs1)La+T!RzTQ#i}&)8$NPTz-B-yBS~+EtI%eBdVYxzkjk; z-(tZp%+*3Q2NVFl=~KXM?;z;JV9{2YfGx*~qR4J9kR&q}NE#fAq<|rSFEm93ZyI25 z{%^6Caz~u+X+Km{)xQ~sPakn|$tIm)Z+bt1I}|H9pd7jsUodGtP&7=F1ot9Ud-C-% zrAf7l<=^)K3`&bqR5N(bETeEg9;g<H4{Qg+`4y~%4n^6CU95{!Y8l0oH>%^X89m(u zL>!*nw)po*mJWph=JEHPJ~)uY<NW_QpMJh6pdg#H$F4Ax*=;;5wIR|gU=y5~^2NL! zEq}@5%)eh)p$nn*KI7IXTqYK~H@u<Ybo?zAo5T<4M=sRqzCWviX*jpdA_AeQsZkVk zPbUH}i$AMl4u67RB){uWy8L^fxm?x5tbtI94g!rrH^BR*#$ef3(*uA!?I>`^6X0JX zVWt8S$cL5P1eJfTPRZ<Y(mUPA%2cVqy(o3PIk$`HjUO=Sl7$?Wx$EJK$+K)5|3;J@ zb6g;OxV>Em!sP&!96%3G)gOWY3g9h0wMPYPR`knE@mTc}fW3OS3GSFoJQfXhWoQ+Q zd<222lTel<20;gJv0}mJ(_o6!?_lV)2AJYVC!%^5rL^#`$^Sq3pf5QF3K-~9^~A+p zN<(ovF6<s^^8a=eD18RsD}-uZd;#+-4JZW=;b+0(NAU3(;G&vcBn_>JKrKob+d7yj zyZwC-p_PC=x|Qw6<FP49L<5Z1!~%)`fB4GhZlju+rBIYffJT<!f}&4yLeLFs%;5u0 z2<$prX7S{*et-u&$py`k1R)5VC9Mr>Y?UxN-oZb>nGr<j{tr9)m>f{MssYvDfl^Za zj0UP1AV?dICt-2QCKwiw2UG|m#LSOARWF+(ygM2lv`A{1?jWE~-@^oeW9LOMl!@eI z0TgAl5!435U)&;si+dacl1^i>@{S92a_7ro#Jfk}VSn%cOiceCO~;PGIteOgTNb#X z^i|AS)5xm@Qb8rmuQ-6RECkB;sP_wXAcQsvcDS#-PzN$wEKwAp-+1yXG=BOohXxr` zX{zS>PT&6oQ7DCip_2|{TECU&Ni@Q6yabnU55P?x%pd^aeO?{Y(gc8_(QACroXzti zlR9wT6(B%xl>P}`XlJKS%o@Y7Ck#b{fI9po*Z&)fa!do&M+t?;7QqyEbueDZAZP*b zY`YMtN~Yby0RV58zCgMTo_fm;;EO*79zHM&5I=V#ECpzyU@}HHAj`~HU8wVT2%zz` z(;Z-B$^OqL{pkW~(~3wIUaVtS9s@}N*`6UVKe4_tZ4lEN3z9_akLG+3M4163DG&cb z75aJFU@|~PM1$u-9ioXK3exQ~<h(t>sb!eiA61&`{{M<*k`3VFL4n|>_LNlcfjt)m zZo?fL5kMz@RRqAqGvKH5#`G|Ui{JtF;DoGC%Yjb=%q|j(B#zw0I$-1d2t#iGQw&}o zqlj0*u;jS6yoJsE?<*y7Lc}r~jAFeH`1k<gQV<C&G+;lquhPhkqDcS2PX{#-iej-* z|BoO%D*%z_?ib^SqQ$r&j}tTTu(9(#9fbQ`h`blCz<5OR;mKJaV19ZN!8v#<Tbz{` zL<207d=eIy9j+XvtCw%NFl4;Dy``1RkkMl+Dae0=I)eK@!|z}J;DnHPE868g{Itpp zf(I46td5}yjKgAW7G?M4nv{s(;{tMxvA0;JIPBrBIp%P+40gyD55k2M7we1^4nKDg z^nsTxOdhpaI$LLhY5By9Dvgi>fg^Lnod}`6rVa#VVf`1`u@k|F7583=PqtMWDM1d) zj^6&(eIQi_zatrtB~>o2TGz(Ma3xZW_P;OhE%tZ<R^v;|(Zm3PNGPn}we;;!lojwf zv?zniVZp;V@nn_Hi*<63PVzyuoX`Qcv_kr7!!>6@+lh2?&FyGKufe!7%k72znuUQf zw|f?rx-kZ34FCUlbnu#}O+5^Oc#wd#RL5H-9qol@M&Mw6lz!%EfoTD`S&Cr7%7yvG z)x*IS1rByezyh9+09zHQr+6}OiHC-2UcX{$Iyjr^pq7ZH51dInaj;yAlzY-5oa66} zJk9-obL~)`oY2OJnFg32$Z7`Lh$nBcWne~##vH9*GCUC5(U3DmZTdA4uE$}~XRR<r zY;9GrTBK?j-m1vYGYOjqX8UfXe}%+J;sd8{V=_>Q*!`m=;04U<oE<8dsCPlv{nF5i zY3ePe9tGB{@0;qvUiq27QZ5MR3uf`^FfywB_w80XlA2*)hoHxZ3QoY26M#$=@01Ed z`#m^1uKS(@i=7XiJbo9mCeZjO5*GcY#?b2F84p-$RwZugIh+4>_ccDt#}4tN7w4$d zRLvZG<TCsI@0|uaE1KSJ!bv|o`A!^m%5#BK3Kqs+!jNotrOkU=5Nw&}Npl`m>OZ6d z0!&UEq%u7Nw`vYNV|ni2zCdC+m?^m;@W@*~2X(_cs8XGYz8x-3sEMA|;luh@?nznO zSfQy5O0$m9RF=<vp1sJ^|9+Rpp2cGKZ@<OnHFqM^ahpKus*l8zJFlpMcfW6qn+Cx+ z8~DXK_$oOU1RU@5z2Jo4WAci=Ai54<%?Fj$j2EkjzUH}Z0JEepe4DtLbN~3M|9*)_ zAkIcv6C-~CFkE4G!6FZ4L;`*~U5N(F;%xY7MHFQV>^_h`URJ<N-87UiEV{oLg^P-^ zLvSWisM+Z$Z6fY}@^!9u6FgU<Pw+!DU@B}GO2b$mRnS{NiaX;4{Iq-5?prWUPT#>a z=(yYm-#{G?Lzhh@<1432=%i46^sj)LZzTy<8$n><gVu_iZ3UoIf6HY`5EY}+e_#Ev zmPJyz9wy^m5*YuRCYZHTd%7Uy4hcc&r~NxR3F!Zit*;J?YVF>(z(7C@kXDf{B^?+T zgHTesLFq;qYDf!FkZu@ekZz<KEILM7T4LCQfXq-seh=rop7;8l_q*l~y!0Gk@BQqx z?sczwtvewc;yC5?9fbA{pkF=-Tpx`};Qpq7<T-U0BN>F$01=^xu-6GJ92SqbTQiUi zkpK5*JO>Wc8F$5bkK!7z_4)vuQvmWf(Ffdj#*x08%XfiUNI3Kq%pjhS0$WuizB7Y7 zsa}ys@R2+NjDUXK{DWNo`L>_Z;T{ji0V@8Lqlqd!>ncnz<oqru0MZ<A1aj}glUBjX z1<n`XWCs9zE(cCG2%#uZ03MxCe!x}bPvP+A8(w&PlpoBt+;HPyH8^iH^oyv}M$|a~ z5pRkU*SN!pn=}Et**Q@wYUo3gsEzKg8ki+JGPuWL^g%nQnnA*L9Q}|Q2cb{g0KRWx z39av%Djoo&>QUg~CyXcUpQg>V&-t*wl@|m*G>coTO`P2-K6c{IkN^8?d<+zLoej5f zLJD{+d<78RAJp=V_jNIcqX2d+bpiBd3@p0A0B2*vc>s>U>H}&&li6wpRH2G=IMh5= z8+X6p0l(|IGtklEH$+XRD^34>SbytbSiy24@O&MHW3<4nTMv(fj;;@cz((LygXhB` zChmftCK?Ml0g$jf4fg@qCj6BEZVNy<wj?;B?l#adO2pi_p<&}=7T(>kY7Lf$L_Ua6 z`=6&Y1gxNrDwFPsZt$m5HQ*|KyoMuyY92fh4?%Djfi!SP5<Gh=5Xq{+KOeN?NwmOq zK#e7aC#{X0nvY-yVvd%`(D#)jc5Ylky?Dp^j6a8(rU)(K|K7Y~9t0nlIi7?%HcRsU zD{uNQVoV&5pcM(>8w>4tK@GqQ{h$q5Fmd#g)Hrd7Z9d!;XJAtXB=_RnIESd$@+im0 zt7G}_p<rUhvb;-bZ8x~o5rx6`aGt!P%%Dt$T-(BoofVEn>~cm|9EH#{x(Sx$=(OS# zkuz4j{jcB`e^j#pbM!C}aK4qo5g<qU9_8J_OY;-6u-&RBZA6V^xWCJBl;h3sphf{^ z>N+45QMeviZXSrwf($Dule`Pe>o2{qK^2C<ft3irY~Y?D-hO<nrO511Z<r$AnBO~9 zWVgOe<Vf}#kDT6Hi{saqOv;!$uvB>1{q4(tCM5sds|&z^=Gjw}9~Ek)2<}gfTFHVR zdcFho6B!<)mm|woM>&ks?seR<8YC`{8FCl-o@O#Q-?rr-DKzbq#8PjPwmC%=q}mz1 zFkbxoUl(kMflt<$9=(oMAe8`}FyhNy%;B!kEUEDUIK&pfu+Vt{1YfdQ(wZVL>H{^Y z<O;}OU<Ub8uW~d*6QSMC%bS5&V_C#5W__r>mpH<Z)&&uTP9(GMyxW%Wzjcou6(H0l z`9IJ85MK=-FW?8xx&jKrg%bptec%^W`QopWo(xU}aKM^;1zaXg*iZ*NuR*}KsFg$& z(m|_Ci^)kb5Vfia49r~sLf}qgJREV(4kbY5^*Uf>FIuVcAVSH*DeJMT5<`a7mB)wn z)X9FskrDG&jjP|k&7B$FxlJF;`se=s{q^pdcH;Q84x*U}p0pI)N)+V4lRO&n)xf^! zI_h8?kO%(P!M+P-He6RbQMnb_N3+m2$fOTXOfOxP6gsiLz9hE4{@|RfoY~rcmQ?-u z{%5k`lhiNahz(^7;@ol6!Fd804*(zd<!X<i`@TdY*Bv*-cA}O4FLmvEw`Jw7yZs@7 z{_`E4bE3LgfO{nCVx5L{2eS6=P#f}H8r+K28oc<g!EvNOu^dAkkP+Z$Z~)Phr%--} zF9H~980UWvxpCvL2gQn7%5J99{{w!XapH6Yc)((Cg5giFHaI>S9DWdHQ7orWD=W=k zwJ~<nV|M{`kAzl%^_E1dfCk11)`1+ANy9!j#FN%S;vni9e44|W%Dadn9>U(1k?k+r z%-t=1-DCecW=ieA0C|@kH!cHC>QOr)99jj1+Lkm}@IL|I`Z&?<Ca&wu`Yq6+AQ)gI z!PZW09AaD(RBrb$ywiI;z-Mf>ItnhBSCqQ%!J7zoT6FlIa`8F55rBT+hz33@VQ`Nt z5d4P`sAXJk#X?r$(Eo(GqrVD=J^<_jh$LgoD97>tPa6CP0=#r9sGp7?->DtZ2&nLc z)LWny1c!g}<V{@TeT+#td=eBs&?Bm&=lbWd|NZsag(LXxcT|8)7N1>T0;F!?3sB~% zVGjEQk819(_c8vj;DO-dv|^XByQT5*-znzQLk#bU{o-{k5NW_~`rwF$18(K#(vQ}t zc%T}<)4zNJJO)FfN7QbFI<vB<6|kq}UqR$K97JrWnXq>jl&;{AfM@FDh&~FMd2x_B z8gL`+L@o*oI@+FYQX~h?%3W?Di#76pewS^2T$oQJl%&H4u(1?+mV^z509spd+@5PA zQfGo7VFAvE`3DsiIRcuKsTGNnk;_uIzfbN^7oP=Q6oB%@q;@P~OjCu;$BC`hdE~S* z|M!LgeA14rze^qcpO`TI9&UB$o;+I}ahF>3=!PA=g<$>u<ayu)L1l*O9;=R0iW>cT z^b*NoOJz*p==ABua|$Y5soS&XgD%OmWIk2<7y6s6W<+(reg#LkbK*<@!BPYOMCIS7 z;RS#mb9mAqDE1>fPy!8u<?G+~-~P@&$wFh3k(zsM#J3>bQKz?Z^?NB|YhKAmid6Tg z)+sh8y&^I-wV3N)=-{v7=Mw_eumqqCvkx#`1qN<Nu2v!#euYfFf~QCw4j*FR=EIZZ zTZxP}aS8ENuD0`z>E)$*5_@hTD$)+$7wEiiO86J$7bf0F`}jXUV5|-l`T`(!G6Q3G zkTs9)PFDvg?36o@78fLf0J%0MwteyjZp#<c+h>7a7Hmk`>IDX)@le!ZqhE4dHp<{Z z*>7uftZJsUyZ?KFg5saGD*rqeV1q_LH?9Ii9}luV$jE&^j~)>q>R1i&fLQ}ALEu>z z2Z9kGb{Y*eF^3dj!n6CUA_gISxS@`(W^i)^XmuFu-iv$z-+GWLujc@&Uo|zG>B)0@ zle!oF6)gUGfsbBdM|DizD_&iK&*^`^R>wfKcSNCr5{w6&2wxiLDG#8VZsI0Kfveb0 zFjMw#JbMiA*>#yY9Zl>;PN;+K5V-&94csst1MtHNhr|It8vv*N`+fL}NdM>J|MMDy zH@+2ARb(}KsD_iMl}dOe$oWJ?z<!@sMENlQ^feE1=Jo&KN`N1S0Vuj*guM`uLR61f zmkXe>0U~n=HQ?j&uOHKTR7z%nifb4+6gz?Iii38@!3-q$#pIJsD&WvNkUakN{}^V% zt+05|ECWz95!f1lih~6d;Wz+CS3z;EdUPWGb%Q_Q+ljucz?C)$K9man`RD^$O}_F+ zf#_d><Jbp&ocMJdI6>e)DoTQbXA3_yOIl?4pG!UCjB>m*f1MqND*_vIDE`WEh6T)@ zqaq|=|M2O5e);F1FlqU~h9f(A?Vhp$%sK|j16l~6cj6K!PJAyC3VcKGIs3ntn+l&i zcLjCO3p&}$k1+m6+2Uw5^ucGqHXKL!0a`2xIM=Omu>Eye|GshyutFZ(B;ZEpL5QUq zE>o7lE|t0+#nhwEzn;hQXHlTQ@{0mK;YSaSHx8-@r57Oh@IC}o?f>Qzz%tYwb>5fQ zaEEW;jZCP6%10<i|L0!Lj)1SkA0A~V%A>>moNa3*^E=|e>c;+ze-)H<sFd1jZFd*P z2x5%EbQOVVdau%7i5B`qtP+tim>iJW#U6M>Za=e@tv&Ya(Ql^g?qbA&{KawqCughe z-oIDK7)9K)8$v-@v(Jmje!5h7a}F=*`!5B4LYNrqc>1ah?MPOt&+fdk`V*e6F##}} z{p7FL<fy9t>)Mq$Wb_v9rN1On82Y^{I^es10DlIlhoSn6=O=3IK7{tDjQCZ{NEVHi zx{4^DZPPm*HR^-Te|aNu6dT?G5vln%)$S{h8|N~XUD+DA8%*3zS6cfeS!UJf16QtQ zXBYQ7`O4mDyzZyX#M`%D;LHpC;??`VmQS`V=1@}bw9ij1U4b18;^wjo(^PyoieLBZ zzEy2cSy)yZkutf+*Y|DbmY$Hy$DV~mXGrDT25!^K5K34Wzg;bMYK4@k=BG!`&!Rj$ zxFfrmu$Wr)ZJlCEc^?vomhiZ+_`pA>&QJy;NCtXo_rMiT!ci;e5)d}u5`0(zbb9+v zH47bigQp-brFZ9?0**grzDh)SGb0^(?5te9hk9fLYvQ!p5!7#*w3wsgflAagjpW*L zhQ$RgIy`BJ!}yG50*+-}23P4Yy5(WL+I5jV)BLn%{N*9d?-QdIc=)srZ&sf<4elyo zY(hTGtdDCrQF%BZKp>KkI(?m;KPj_9zRb#ZZ<HfOTzhgpTYXr-l!}WMc^r4vf-;6` zKLRVS;#`cz_QMu4&$`Cel3ig}*nKP3%Ga9paFpZZ#LsU?Ydzl#du$!yVvzE~7G3vC zZpMZhk8p=$Q8TOaUnNAh!~-<fVK}l!)2Nk3qll%GMP!nYVziOwsq3h&Dqr3N4zV|Q z;q|h?qU0|1`^WI8vXtD6SgMI4TPWW5j@()91iHkmsC>OmoTI2kD%NsAS~2q-&Vy_O zSKUY$3-SANm#^I->|G%2UBr`kTZwkpfRn%jl;cwC(VIT>BD(A^&<xP70y*8Ci?9w3 z2KAf|SrH)B^=hn@a!z`re|q<Jok-@V$x|SWiGWZ$wO?ig4f=a0@Anjo19H#!oZI_~ zzHZWu<vQbwd<yQ9e7!v_l*;z2<PR`9I&WtL>;zZhSXHCgDG7!*cAmJa-7cpr@7+r~ ztM4Q7$is>AwC2UqS@ak~&j=Rlq4%{b7UC1IlUy`6fbW`x8Sm{sR-hYRCF6^U4dcxC z?Za_3ah1AFbM*6U<AKMC<vPP?;%_2?wf9H!vGL-KuD53>20TQ+6B{?pcOBr^toP^> z>7>nTI4m%VGda_av=ft>RaOy0HSF6)l$@ggA#_x(x|RtwVP*hr*zI3rKCGb8L>Uho zD()gqt6-1}o)bS@H+Mt#e!26_EwyJd+?MC1nSVFP#{jlPA!bn4?oNi5-S_?}q%YV5 z5(HGANAW4R4Qa%A3&2##qm~DE9iDW27F88#-}NCt{!+!6N{2=4l2&Sm1EH>=_C=_4 zVF%sEutrBUKUA>^0d2BVn(e=bQoIzns0c3XdQb?i3Kmh3%CD<yHFrhLvM_ml{RWAz zD)|*RZp&O|CR9cayhOYa$lD7dht}v&gu}z*A6<ml>?lv`W012jiZhP>^eAI$;0|Q0 z80Kdb<v{p_Gny{@nhOlBJJXxKo?TONH?O693tQx9Cl){yF2+9_U?qdVLvu-DabbZ~ z0juvVA-^yTR-FuKW3onommCKVD(%WFX~S@-fF31a=WD6`PS+%JK{J2jb2N0iF~5BV z$(l&<94=T;6g|{w20iW^x<WYsj4nM<cXtiN>xDCYWB-AId!Xs_f<+0{Fp~z7`Fckr z#99;xKRoph`dINU+t|Ns%WNI<Qr@>Z7Za7XcrnUR`}M^}`#HKLFP5=Ng<=NaRUH}? z5vTgK!&jtMoP({WhC@PN{k|0XZD@DOG7)7^2DyL2!@ick*Bk7TW{SZ*0sKqJxnM_E z{=Z1KR%8oGLg4nRH?&@Ormo&n|H35o-cmIpTxoD8d)_q>ag{m|ZsigbY;Esw*I>yY zP+vgvzvJb{J^=-M;t^OzP)ecvXzv5u1>lfV75wl&Wf0&B78)bX$F==(yml;t-HrL% zywJAFLt`&{pAW`0#0r8vd#6Do@|%*qPffJ&c_3LVgzKc9=quZVtepGO4*o_5M$kh1 zon3g>A*C~moSus5D?uFd;Lhvw)hmX-*vbEa0?+OEjyfEm$9Du48sP})H}FH!8$cv+ z&;dXK983vgwIAP>sOwuwC;OGwyY7EfNlr^H+c9sBRd)>}Z$g0vR6`GLT74GvUR`5| zs`(SBC+Od0dy|XTkN^Fvgy1>nY+8wr^_KpNYwltuFC2jna8!V;@Hyb12HL0o<S5W3 z;yemFnbqE$0TObOcnYmpg!gJJH~Z}{4zbe?f?<_5hmcmyhFQr1T^%s3mbmKsP2#YA z53?LlxF>$-810lA=|42Ty;yCrGhpqlpuK_qz=30PTQ+}qA$5PiYUaCKkG7E{i8HAj z`oOHQ<>PDb|FxnjP6f2l8$jMe>{~^)Y!bZ$dvY+Nh+c;8WqT1SzQPKVh%_I#PMO)^ zZ3b3_bEXGUqpLeT*h0Xqms8AE6R(!?;6$Dy(Y2)hDLrebbj!kjPSS%|3OWmu9PQ4& zSdXr<1S0B$sH%)a7oxl6OtXIGxMFmlA#;iwp;xRl2g{ynxQmyCLO_mxQnc~k(ib>T z51sP*(T*e@b(zIOr4d6XQ7jUm32g#EBfvPZz}WZ*M0)rf?-C563(Jg-UY@>65g2uu zK0(FJVM9HBt(deM5OZbyT5s*;nYeEYC=x-R&>qAs${Uwz8bddZP8F#vi(m9+$o5W+ zl8~1K2|d(BF^F4C`s;c*XO@MUU%(wdRKy(}mZonRZE*)Z({}F8*9YADHCl8}yM?-` zKk!JaioMa}=;L#kVSEdC1PaTSsYTRLvk6fU@KR(vxltKbw(bH~bmBD3R7<U~RErF& z=@p-~0nzv2SL%HrJ-p2NmM?Q9*yIOsm0hotD=R&mhaoRJM-}F{B|}$EU8&|!>)But z5N+Pp{~9aqoT#Upvd(H`a9KOHXJtutwByiW#8X;cZ+h$fNXVgBY07icX{n)bJOeal zGFI;IXrp%5wi`K$Ja@1@1_vFR^w<})ix-#s*mtbVR4>K!Yrky>&vTHu#TJKRX)QML zzGv|+b~BD$DYa_uOS`)5FULseC-k__Sa4J^^a`s?7dYei16f2@Ta0fI6t+wAfw_%^ z57q6^i4@qv$|%xWyj#=LHsKC%X~~vo9%=F!x(kxOsc~m45?zG6xOEnzN?#uK1MiUg ztMW?7KtIpiyTW%WsP5cYhW3kQ?{~`+4$>zcG*oprPjJ9iUEfz|gv1|~${^;7+xIi8 zM$+MNzJf;GdMK9y?nt+mt}#392#Lna8j15(m~ZTpN$hO$u)w71H(_*9KfUW0=c`<I z4LJ+3WLYCC=-#B&kRc&sPLztnyzOONb$>-HiOV3vzT)xAc%n;FwWqNotBuai_qRf- zM6WL5;r<!LR=GZ6)s$P{?nM(PWdnYYo7;AO9^4##*y+o?02`Sr05E%+sA^jQm17XX zvPLON6#tDcpftc9HNgM{avvk<aZMPgT|sFH)W>0<YFBJUUH~J9{^CVt@7;A3f@Tm0 zb=(=`6cOf%RLc#<k(1DjssnWgms?T9uSyMTM<+Dqkn}hxoqlc7c`acY&Mwk$`(~lX zgL73`{#*bJs7`#HoeRI5KC$RS#F5xZ!HrvZm^KS8oLx$%V&JzrE1)uznUFfEEQf&p z>-rU{hB7P97i73dFx(q&b!oIWXpmzY?B1Sm5zzFI?A6A`SuFm%FX+&yAB}4&4(W$J zULUcEW{_!AP}uNs;)~%;%C&h?DDT+d2@<h_;70t;OuI7u=}Y}TMjvw9z*xc<FGZ;s z2-41zOsHdK7Q%;V8XUk%B@)E5SINl7jXXD|ps=z_mVtNOUaDEHF+%O3l6V;G1TKfP zC9x6|f^Dpe<2H>2?Hr1n*bZvAR}ywb5vy;xR%a^m8xpCiih}L@HzrS;KkA72QczNz zIM;;!?9jcHlKcSeak!uBW6YP{HPM&Rj*NxJ@-1GqyM*kGWU3q$q|32Md9=sJZysR$ zaTXTbNqEDvn6z+l=~Fsi&WCknsJK>9wSgz&y#8qeuC_=AukLUQ$r6hB3<qgE48c}; zck{NLC5v0A$6LSJ^kg0X?pIhHi$;|a%i4NY*x@&;$69s;95<Om*>+Z^1eZ)5FYc?O zi_&wyM8lya-dw({eUH46vG2me%g&`VCTvAlyq#k4^#rLdDRhbff*sY_DO5I=*JaTS z2flFLrT2$rWu@QgH_&3RRsO`=-3`l+%{+u<-xXsu4EYA%93LH<EsOOXjzpG~XeXMS z^lT_}%!~2Q!!oYph`RZQ!jfj1>~j}bhSaW$O>9ehCOa|Oe8@<9Bta^(fz!$u6b3sF z3XgM(&yi}5^M5D6IRqZ~G|+3$seYASe~fmz@96c9LI*Up{i+Fu=UhR5#yt|GaRg8g zfIknk5&ueBM~UlNC-9-neScT_z~O=Sl)kYETbT1<VZhwhvS7F#EhoEoToWHI%R{dG z;bu&q4Y$fRSs9NMtN(C%)TCI9#L{F;T(#AthYgVg*DCM#^0C1Y>Kv++8~C6`1Aj5W zv@0;v3BNsll4-K+$wLFF(~}Q~cY{q#uU#deEjHJ(D2G*ea+xe+kHGY@Dfm14A<sYo zTW|SS0pgXHD&uy9V^jEg^b*JG?VNd?f^*w#mYV7|#jPsD=DdHJ5s1Ef7K*&5Kbgkh zS)C$VdAMA8M^n@KY?j;d=NT2SgI`}ho|NuJ=u9;l!4fvPxbe*qkwRYEj(Q6EX`7Hc zmtFRz0fs0SGP3D4a(Ve1^msHm%$I=DaMUh#BL5MwEXLbxs15cpI(H&?a|)u_X{#Lc z8m?$*xAIYp3F=)-c5Z$vs9<27MD=YI^R`<=@RrdE|+GAv`S1A(TmqhDgJzSP{J4 zPP`;9jX2YzzxX*4f;F+1k(B7otQtpK__z96;LYco1-A04_iuxiyzrH__Alb1!X^vC zaQOz~%)MUq_D<etVio#<+stSvVb#o;G60W%v#+I48_l<f`4ygl==bA-SR6vNA<Bsq zQH71<kW4&mGOgxwaM(~AV`E(_F}j~=#IHQXh(b}uiBRX?(DF1?dZ0_zhiM`_T1$7n z6s~${|1PSby}3Lz!aYIn$+D{)i%G>Ltg2Cq{SxC>q`CXkcS9S2Mel~5A5=S5qvS$) z-3kW_qEuaRasEXfHNkxJ)z?d(vWp2Al__88LNLS)Emh6g^O{ZdWqxI7nZ$bE;aEY8 zX2IaU3Gn3RL2~>L5&b0+Q|YwCrGIAYkG(Dh;{^|n8iL}$%XQuhv@-947B-Ne9d%{_ zztOm+h*|muxMkmqAD6S8fn@A20o?<PiO#m{;q+AcMPH7qy7PU;A4}j)^EN3_s*LJ4 z5u}C(WO#PzHsb49P~m9VCJ{S`Ay!EB#Ow{20l7Y&!bHnlQ*^-dikTOx+rOpPVR<3n zr>9HEWx+E@PJ1WYBQv;JJa87Kszr1CXZB3lultob&o>C@!?~YvTKc}JV43QR1}_Qa zG`szN@lo~$s_%pu?m)T$K03RRMITz{&ksktxvk`Nc0pV8?w6i@(8oBXgek3BOj`c% zHEb#Io8{UkwP9gzHj%0yynYkPN1B-3XPVL!TApD=)IH1C$Z?-1C67@LM3);4B5+f> z@S$=}VG)m8a%M{>)%$-FnQ3vTxvBVz%LjqIte!Kcf=}4Vg-!|2t<NNzIf!szm@7lt zx0_QgpU6EW4WuZ$5eFWc+fI^lqktX2Z<2m*^&tsO@r$u7+St#%ZNNVd^lKDtd8`#V z7ps<GUwqWzR<tf-2V*PL4i^n4lIBf1QmK*aMYTd_y9ww~_lKR7lBvlgl5;<PedVov zVB7Nbgya`3Zw60)+b^fAOblwBT{9k4;}l=`&9pwf8mN%#m;|@VDRYH$lSwP$K9Kwx zXHn_=i#{@)@;m2G=Ki8LqEFe~y03#-1(ooL9g>N+%lUac%Gc`Eo^&OyxfC_LTDQsF z!$O9)2y(4(xc0+SS`hz%$t?Bo_f<yyi)QvtnvUi@I3$I9RJ7LPU*%L)rEuuB(YPU7 z%P9(@6@$}=qIW2_H?&kOcoJPxF$$x7YMcBD@=@5CA^ipP*%xe61C+*#<TMAnJp<A( z)%QWSE4?ImAu{QS5?xlzh?vUjmvE@MFt<RiqFO>;>21ZZ4~$h8br2vf^**>*qM$$! zjwLXN33S(cid-M6;jAgXT_^I>+2JShnS{>@XPxsSZ}RDCfi|n}g3uw&T1?CD9;c;| zz4j${oMzVLMjhrC-N=(pm|@T6rMmhsq>0fTbU4wlu`29E088QzhG;wK$}3xJ6X9{O z$&f})(5DWfNbag__)yN~bqsc(<PK<-05->^@bTcRTkd7-&^iH)SZeF!G-bh#Gsa;L zf5ZOBXhBaL_|}91Vt-G+9l84o(7+a`hAKC(BlqRAkl*c@Jhse^nS&9udaIfZofY+u zyE}1NnJ?r>#Mlp(p#33qm};<RY%A9gEnq7%y1tq1?sI@rxtE~CoY#<VNwcK9bEku- zG1{@67G~EEn-D0xEuWbg@?Iq>H99REq!gyqAgj&h`AzCanPA_7(Ed{F<>Q8u5<Chq z-ZnzYce13k)96XkajKbIF?LG3HzZ$P!{MFNE_(`}vSN7hj^+%idq`{45~p-6tw%av zvF(#-?5J_Uy>1gTQ{ma>v$5TKoh{;lV1qj7&~tNmo|JL0O1^y0u+lisjwLyhS-den z+H$LfX-8)1Zt(jjVs-8Y=A|QICB7@>y_=+${P$gwv_q}t2mNnK?uE*gxttd^yX(*5 zNA8wPnfSWyEgW+GrWR&9${SJ67Hy!Px`BJheN{NSD)at1hK)LO#8Y#NyFr3!2S7TZ z)zfMk*=Nm*6E~_BbXJ9v??AP9j?)`nx*xq2KNPL2@@C*?)ikj2R&t3szGbpZqiW~1 zM0C`Ww&}kjHKSSG-dHHi_1h=@xGEG4U1I!tofo${sT#p}-jl`g(z1r8My`XYdM^^{ zSVh(>EN(J@^5mAN6DTzlVeoR%8>R1`$(`u7OxbWAy*gu0i55e*Oy}@}8JYX5O5#mk z+!|oiFsAFF;q*)B7;Wz*Q<k4^2mABk2^P=8;^NWl8o`xRm2dqd<ugRJ-VorG>8~q{ z`EAW&cdc>efqUNN7>UV~S$3@Pt7>Al3xh8nheJCDIo+4wet~g2<@U#3ghM`)=m42Q zRnrM5M7(&hG*n&ee))M3#i#jlABe&VO0I}E)gifwcC)KF!zZee8Dx`Oa((yrTEOnJ zA2$@WvX_BK$<rQ5xz2kDf*+dWJH%iE8<Z2zKbPn#IJk8cOEF@Ga`o+I<)n<$dXa@d z8K1vFGhG^2m9+tt9*=^290v25@TI9K#YHdFONnJTs^YT?nwmzLooc2S0jK=SONtEA zR)2{3GbL~Ypw@wooO2eX3tEniAi)H|5kO$9BEy>+i9bKH=YlybIC#G%OIYieZEt2^ zPh3tS5E^`|UagEP_jGp&_FLRU`#h~@TXNACBETDD++!izGUr3XFb+zz$!}ut-ask6 za>=u3_MuWY8X+(u_h=bj4dYqm?oA2Ny&Sf9L!ZQ}NN-~N=CmS4vh^$AGtWoE!<4eR zAooY#rpqi+WaVDfTsoWkohO&)(sCc)PIObj_EdC3-P#M2b|h<z1FM6N$sY0j*nRHn z{n0gO{!a!*ZY{1W^ku%%PH_;Yuxm@mSYxa3&oiHc+mQl+;SpN-vhN7{0?f)b<>^Kv z&<oihwOFr3^04|!UQI&{oA^gx9%4#$r~5yheWdq>cxveLoa;nZMZ?C!_q$($Tr{?t zaj`{e$yV>hG^~-D>4&KyyOy<ANA)i^RIEJ-PV`D#nDAAcKT!R4(w9-!Xhd~Cqje?z z*s<rw9?9I(Okm>W*!2Oc(U6KkTmowJW|&z%`Kr?BxmNe`@j*;?E5oEEzItSkPq%v2 zL)ERdW@&MIa7(X29>c3%ifn=r40qJ*eHh$S-ED-hX+L0nFVX&~Mx&h4*IzXc1~R2W z4<2D8ty+G*J$&Ad9Icx4k(N&&1rSh+kngai;i6eF?x|tFn+QX@gPZWVq9)s$2pkPx z>*|Ete*UM!&<jiaS)u;9NtGO8fm{O8Gwr>V#8Ot{m4O|yN|-;@ly{Wx_whuwx$6ST zJwHb6Yh+|U;;Uy$acLV?FQTAD=W^UDYIQ>dg{(yPgYEZ}|6#Cyw$GAYc%vG~{^9~z zs0e$>VT3)<+kdT6HhVJf@-bU|_d@?<qgh>HDG9M;^0}Qdx*_UGfsT=OjQVlO4&*`2 znonq?u1IYJ1)og^qb*ZvI%lQ){Ab@wgt1sEW8VbFs!#IzT!1FooZz$DsH~RriVQ59 z7y`>GJJu3o$(0jt<?3$4HtW5UDdXvBnn;awxZi>fe;6e?QH{+}i-O6@W@a?IMM9N+ zN~vvKGzE_0PKG~c7#zrZ<k`ix%5B}glkA3M;@&F()dFjSL4@eoc=D?jWq|Hu8%W!g z%DE0szqxM+Z>wc8MI`X1t-xdv!8$6qN$~-;-LS?5ViE76u88*}pX{i-M48ujZ`06e zzv-Olz*6|oT=2#{g%VGUVE>Zv<wHZ4S!)G@)4I2yn3$S+x(T0f9YeXWiK1~`RQD3A z)3X{6!KN<qvw35`Q~SffWZRF$YvT<u_S^P%ke`7{N#u58b^%JeGRgd+hLE|Gn_JYS zLtp8*SJf|3FR{*kdS{o>f;L0QYb#RMVWXNT27jnxiRYho=JUK*pjcsfawN|>s+NvE zBd3a)fy5a*e+}nEyGMv!GAfi#=rNvfk@x|cV1}>d9PC~x9p^JyIjp$n@W4U+TS5%P zcN|2+GKNo%bW^)IWg9N{YB61OL?PQ=l5ArsU_-kD>j(AbTwBmA#=+lcw<3*nXSFy? z#8KTXQ&8(hk=E3wB$lAOcHctcifW^2&gT<xxQxIiRSl;oZSv=`YLDD3et?}G<F%Fi z1g99g@rcNq>{2ahom1`|-GXXjo<C9*ASw<nc2VGT3l5KCSVo$S*E1Z^Ep|Yw=U`W> z;J~ZnuB6o4^ZeKO)54>Kxhu1y6?pQvvQl2(V9OT=1G+H-EX_a0CEGOBHMs2<h{AIr zr#F%}SRgqolt943k*Hc{q45?z@&>9&osi3j_6)UjUbboQ`Ta?OH_Ymn5a~@DvA$9< z+P=+gRBlfkEn(unpO;$iw}+FN=@Rng9~tRddIre^wv-zTTU%yqMrbc@j|nDz6Mh@C zImRjYGHYppsZaJx@Frk;vLroT?$TfRZ{zk%864p(h$A~_MJlI&$(o~H#a|zjSrYKP zd=@bsqdcG<PwW`YYFzF8ZHgGLPM*G@Ekq2OpBlZQT(zcX?DxV+8^h|So0dDLUu1J1 zcG1tr_s8ZJ{dej7xw+3GyaCoNs;_PwURs02hz-f;G;wv%hPqRO-Lhv4LUa?<K5;m~ zHvGQ5>Q70Zh{-W!<;uyep76PcIvX>fqi&&iMXPe)hfPrgci?gaj#0Bm_mVroP~rC% z)8R(V+d>|<R!VL+&5zZ6uvqZa_dcjgc-=Sd9Snya&U|P(9=3d)O^vtRoY`z+8&KIS zX;Ve|sq!)zZ#2#KVl2;1^)FQHY%qlw=$lLlHRtN*T^Y7cV$_pHCfl3L!nQI<`?u*~ zE2};q*2@))ZtjNG6~=G7;v$G!>gJi3M9rFkt``pRVU^UBlxkYs>-}-}4Fu=PL)1p0 z;PtRWJP)oK-Td99QTqXAXa{tQ*wfwuJ>-XyW`*h(_m`=^DxMS?Z|K?h#%|eqk>y}o z;36ih3z0O!(6e*W>US#--#M?#V7J|$#@(_1^ge)J&cKT&H*sM=>IUWBX@sK$n!p&y zE#B=L`69O_(*_Wh!;vQ1wpRmk<xb`bqV(YA_*&J<Wj<VWg^RmivCi4%)c5!nGiAd< z4I}wiisKGesBSky-o)H`g}Z)hU6DpHm3tmc33On}Pn<?mbjXGf+ZbBJn6*jyO|<mA z?YwRJ!Z?jSEIF3j9X22sY!&Kd{;nw1IO_8CX)7&$x2K#ql$nCBRh0Hp!swGHg`=8f zv-RHEKzi6W@^)AE9x9=O1cYB#DVV=53prGB(s!8wkGHWm<1<D8oxQmDx$7IJm720a z!PS<Npw!8DU%X|f&av1M$7EJfc9?5#&*<ou@Ib1AXvAQ&9A)=SR!q9zO>Cq??rr(= zQWY5)FIGuqDgKf2F(BJsQdB}il;m}1tu#1sTTPw^xWkB_1n;wL2_m(K%ow*HFq7z+ z$x*MS<wOlbB|w(Vx~)kGuqX#h$4@05f3O}A)NHFSoe;}drmf=h>M#@$c(p5JEU*`; zcPnqJMtRAq;yg>wfBE~n*+&AvBZ402Jj8&E8!TX<x`4%#goy-0=6NvoH`Rm(Q#PO- z$QZjL-mVb)o{9Tue_SuxSe!>fx#3QnsJq+P0e6BIhxcU~g3-I1PK$Q#yyj>;EQ?BI zEj&oun}*dPqZwnVEFpbR!rlFK!vx%jG-^goO^ua$^4vTA4&L>#6+3OfJ?`ql8A(+4 z@_=-IW;vU@r$=Z-Z9&=+!bWrAF+clBdF~Q()Z(`U;YkmsS(KZdF9?E;5Fjy@ukzh8 zIBm3BOjGIiFmo#4UO~v6aX&qW7|(+VJPPTb*J5SQh2y-2dq7Y78HoAS^O^Tba%E3o z6PV3Re^rL<aNw#ZH@jWGk5i;K&m9bl^@CxHmo=dhMH!-=GpZKIf>`&1%r@fM#&vE- zsr~U~ED);UnhEH%3OW{LTkfe!<8BQ=91WGrC@i5*7>pxje>uLjQ!1-!H(SwBuIG2% zbdaxQF`2?$N9?n;eKfJ8yTYAw=rDA<5~1?0P48Y?3LriHyflW?V9auWuxALgWPd9u zlENXUqK6pleauO0lbnrFK(v=FvzlL<V^?d`LIWwFf#tx@!TS}5&YhrewuBh{EHHC- zuzMva7$?RqK!WpiX-$3E7)TBP^N0w~M!A3(3u8Pg{iqke>0gnNLbtBs76``E=Vvf& z0`z)Ca=*oimVu{VFb?sR<|f)&FAcopco)OfdL_~Kj!IhIKA<ihoTM0+@G{>a%&0Ox z<;PX;?^=45xwfGfQa<Fh<=xTzrYl6*x!xf%w4>P(p_T)lf(gZVBQ=Ue<=Jphc_|DQ zi)-Ljn*uG?p0R^dA%&Dx?~4yej)^~*O0udC99~Jt87yEPp}L`;N@op;Bb}Dis&-0S zGFgTO{a&L34&}xz&kd7o^X7-K-s0+*umb9L8~nEj=)T?3cx^Tu$w`QCuC7qW$7rw< zPXDN|q6ZA=7<jqqpt^}vTZ$`)gO9G$av0<(pGU>p=#s($!M*A)8f{nqEAhIvO)&Jj z`2gj26>zGwU<eV2v4Ak`@5k`~^J?j8S1SS4Du5lB*9~>SkIWVF^?k<WjjR%aja9IT zm?*3Gpz((o&YOwhkXnxBP!HHs96MU@%E5KD5QHx7FBEz0U^AIc<sf&2eZ`E2s(YZt zEULvi>D4hudh4_CU`8YtIbtN5yGFuN+gN|V3K0kvHBXd}$u3<uEL?Sr#_{H};gZD# zeRQ)x6DF*uG4bl|^#pRO(`D|y+m5nwTasJ1TZz9puj}P(<#&^fVYeqy8SK&F(d^K@ zz_lv{=~9BZTz#{p2*TdOJ>`za!8r$uk6wDbudpMaTQnTJlh2|YBle}@BcL{M84PEZ zW#4p!5eAvO-nn;wH3FKhQAhdt!_zD>r-Y8bBPSRZC}K?1?vwCJ#ZGS<J6Z*A8P-<w zBZGp?hv_zuEu9nD(LdDw+0b_E*tNg3RG_i^20j@8KOOg+$C{3cgQ<6yhX&8GJ*VIx zA2OxrlvcJJ+wY?xxNNXv@XKZt;nXg&GSOSXdRXy@-R(-|EXv60)%!8czKY7=nb&}3 zTF{ytP8py>kjm~!X(S6IUD#_->FMTw)wL;td)Zw~rKd3-1)qkRFPap<SStv7enEAr z{0_A|x0GcF69@7_A^em!IRDjUAu!jKs5r`^LO}0&^KH@7#^l^n?PCfu$H%o+D|b<S z8J50dv2jwMfM$8c-<(f#LN~1q0z$j#cxBU-iXr$U?MyC)1^&^C#Cn@zplpy#6%)Kv zk_kN;_Pvf`VcY=+H6PdEW}Ki{^#-M)R{Rbua00w<IOA-8*>aw$CHH4jzA%#a9^W2& zuX2*JflK<{V2A9o1T7V3lkfFEo4t=6yTC&*yfXhH78?BnR)IcmHyrv@%QV|6E9zFw zqf;GPEv{>xeLuXfj7o4r!~T8^cnKn!$t>{3O(z;3Lasw$4v^>il7v=ef4jAUDzE_2 z=+j;@Iw6;#zWXrgvV!`K-_s9$<~sqNGUhzWj+DIWBOJIWzT>e_4y?@6^){;TVa7RS z43Xn_=#N^Y<grwkgqB=vSOF!^@}beA)An8M8#_Lv>Wwb<o;Il9dn}YpNwv}50oH@? z9pg>3Emyv_7t{A+vU=Iq7*EN7ti3csoJ7@w>A(yDh#I^qYV`>uvi|-d8L2*_{_lM< zv7JoVZ?olxtQXgOmTHq`;du(PL7BF3)!(1Z$oU6X6ytgDC|TbS-&e8QBN9JuU<)ck z5XouGBV#Md7$`2LE!$cP1Kv0F_oq<;OV)I>9U`+}0$BC~J8mXQ$lA6AQ~i91SK#CY zJf6OFBdt#Jpn<2r%Dsh4fLm&wX0m(PtgAC-=>zTYL)&-ir39bEFfc=CXaem2>LRXP ze_lQ)iaJ>L>OeM7Tbz8|>y(<hM*oL^yM_xBq5Hc8^y`}?1p~2X&Dk%&)tVd(*0QP_ z2?KFW-;chV0o9iwthkMN2G)hp!NptjjXwd#uBok~Y#>M{f@<si!ee6Y9SbqlkB&{= zXbP2gb{V?ChL7H9kW^=yi;1q0i3XrQ)bSU?YIJXJX|!U-6yDgIVOG!pD7vTARY&T5 zlrnk-j<XlkRr#yf91YcqxpcGM?#gku+G;7YGxQZ=Tf*%S)b$5b!yd+!cWZqvS+fs~ z%$RTdQBEl4Ux1ZuTPsLz{+hVT&H>hxcKFj_(d_IEzJ1Lc0~G^Fj*av4t|LCTv)-Ag z@cL|3u&0>4!rsn`(+1l_JO^XCM5W7<lqenAdW0@NW8`O6Z8h_j2(>rp!B#bwkI31n zl1R0d4rjnIbqF^wRH6vHG{Ql*(gNqGnv|Wm@S?k<%0E*lsub-aS)1LOhsOURk4j?G zFT0H+CeJKS?{dch2-`S!IkvYakg`CKx_hfVL>x2s&fAnSewd}Na54=}H<WB(cw^`$ zH?~Qa8NIZ@g+mdKhe2OWhRTrJY&gBU)SVmF5gUf*Zf2!(rO%@5?=x(uc-SH7olIv! z?pcZ*_Ph4mVri;O)|K2)@8_v$i_g-FRDDl#AV=-#<qwPEfs)~3Ke73n<@f&0kIERQ z;0>g)qbWsn8H5TIKhB51^ontHGQaQ0-dQT6>5Gg|w4l_|9M@L_iTN@kHWc^cKTzP= z1AMhnigz4n<$1(HfqzZKf)Ul#UxYm}pt=XEJJ{QgMs=^Hzg2vgRXlK9*_vsuL_tdo z)@s_$%tvNA-HWHNC=XqZDv|`}XF&^7dLGKo1!XHd==JMwN?z8%Z{vE5Rjs(Cd$cO9 z%3_fEdbEKnH@<FfKN_@8*wiu}+H&w(_lxOuAp#A!vwiFtKHn?!#R{M&b(w~yijIV~ zjZ3Q;@ET6SLEL#Mt<c*-EFchIqN0Z$7AGG(@L(JFzi<qNiFnY_(wA5l;bt8rl~op_ zmWpQ=N?dF6sD;Nx99rU0N)iPam0-WDw<anXyli?WuP!$a>GkMlNSQS>W;R#`{a#~2 z9IVRp#Oaiafoae5x=7Qo46++H@-;P$ub0BJlO#FB11;Q7rY)V9N3q1k3#0|&&<e62 zzfJcZ!`ys!=krA$>klST5S-eajuyql3zyG=W_fKo9hRFJeZ4ZJ;_S}^!RdbA7PmKz zpW<U!fRU|0^IRD$q|lWeDNt$euaBJ=@s!AFgA(d*7pqu!GMVv3V|~iE`2A;LMV#Z8 zmN(sLiDZi7k0T*9)8zc6?4dcK2IzB>anL(u;+;lf^YhOE#tvr3tPt6bMH|Mn>}LQk z@5LBRX;(oY+Z&!9q<;4~26DDB-P^EX#JgLNhetjyKVFGc@S;*)4VADbk7C3ZwlT$M z0S90MHrH)uqe3l1)7Pbno*kk8D3S@FCIL|K=rbgP!J25G{6GQLDSt9EeXh4gS?sr> zLFmZLTRGu{homNF$TNvH!kuG2dF4avRUFXc6M_d`2B{~6{+O@1Q*cZEVQ!0M#I0MC zc3i$_d^HdGIiB|MhARBSazdtU!W)ASZPv-Fsa5Ic`v@`Yl3Dc7L)~%?Z|LD^S@;>W z=1-CB<*&<xA3jumx4T52`-W8Eck$W2qKo0!&xEz;{Oe1~zd!a*iG?b*K3kv@Dz6g_ z&h%)pH+4!9!*pxdx;Kmhez^1kg8}2S3#m-9KgK3)_3y}bbTNjCLMORJ`lT@j`g}_# z^IU8loeT$UH`y&#$7|dAg@-fFa>Y^@MJ1~%RZFVmS2a%I{Ur7?Gs`E#%lksqjRL{? zz%mQtpOh!{Yn&MOoDL3T16ImOtdXa=`)`kY2q~6tENm-V#_UKq2`n(Imc-dTW^17H zo?l7sh=b~AOf}!5+}JKmp0sj%7FUzpqWeInRBQ_s1NHcXo(H2_y*m_&Dt2DSWf{sY zZTS}}f==Pg_r|>_C`WTtO*N1;y8Nf+cj?}h+l%`pc$f*>(49%&`uvdVm?6)T4_+s= zI;@z`SChH^_EVNT7|fGxZ^bn-pja}}#UW*l%`Q&^)0I4Rp|1G&C=@dhW-Bcb!r+}$ z9&#E@miA~*^2Uv4dX{$z{8p9X`0`RM$+>d#&r}OByh);%?z4Cl(pMCU6bT#ZU*BWY zGW|n;U&9Gr1k(mrQGUR=3jzAEjj#W%1Sbe%=D^AUY@2WrQOk)=*0Bwfx%7;3^>RXJ z|5(R?I<33YuZS0l@*2_M)4CM>dKkMNNNB^QkZ?j`<iG`O(oUxx-3O#k%8SmYy!2z& z6m{890vb^u6JNH&yqcda;tS2EM<t5DN@Y!T#CEki67eWG<A}?2i*v_A&+zBvrOwZb z)a;v`8{d%^8sEA1S)(kAlUoDOPLHE7z{r6RBwL%&yUhBl#R`75u(ef0FHc)B>Hrnh zJoF|VUhQwv#*rdbX)P<@{LRkChgNh;R0H(el+u1N#KZ}({T|q~O6U=txJSKWz<i2= zH7SEG>yrgdt9s`L)iX6MwVfTvwK0_0ixGd4=hu#t(TQ3qWnE!yRL^#I(Uv+2Axeqg z&l<)?xGjeqA?m(wOW506ZfVHhTe>$s-qO^lT&>gBT+EWpaDv2UmWpih;)c&hGxR7- znvyK~rJn++>4>yiC;L~$eK3(=U97r^OS+{)EafT8?Y)tXYgm3r(*@kaTH>`FubN&r zn(TRadR2!xbyKe)tYE8e-#gBLXqb_kp-q3XVo6UrA@kRli!jF<{rMczex4Za{Opth zh)9J4P*;a--NK(#ktX|`T5z*t9@*gM<~wy*kv`WhfnOvq2$sWG1sAvBZ}k_Kk$mpu zhiSQh!ciWfdbQ*5nmlOD7vy&phH~~`fsC75z}N=MHNJ;C3{`DS1tR*>YEri**`SFh zL-Zbp2#D5}-a3}CtxWk?QB^@+lU1S!3H9YEbFfPJyA2WUv|TH28A)iTZV;l4lQ4Jw zd6B1S+H(&E27PyK3$D3omk-(|tz8u`h{9-bA->KJc}Y*cx-fF*n_YV6{aH&)1CsHO z`cIq#W+fcBzZCaidY=Pla#|ZK<N(V-0Ez-qu9M<Dt=fxMS3YJL9X32*PFr?lJ5H&w zW{K}xjIvp_Som7m5v?(Qb$=<b!dLOjMVFPSJ28Wr?OX=2BTP2>ljApKKkSqJ5)<93 zi4*T8>}ksB6RIoBFPmCuFgLMVDxetR!XH_bi<Y^HEdP$wkxOQj(e_ql#>kCdO4fJf zoTPK&h#z6fcrkpOA$~<Co<4l*_otR@*9I1q7t#&V*|PjZUx#|#l%9d74Cn=qJMtE0 z$${P<)$gI`frzVr;O<1U5T=M<s`hTsv4nGy5+S|c8kZ!KtSzk!<wipO76?$L*J%xk zk9(KqJIMW<gc!Q?NKMmFPRa7jrP6dI5HfpTi(5%N`J5#k*b{TF5BJ<(uo1}Dy5q_k znp%v!g%r(F9mqigS9#;nj_ht3;0cH4mxSjU3=Ivgi$BY@StT9JZE;##8*jZQV}6jV zpub@~^YCXw0*k?+=FYiE|Bfd~^IO#={-x<{0$iCBIV>4Q4Lm1a?&^#_PI|BD;Sn+w zUy(c-5x^_Ip6eUj=&}o4j=5@8ct%6L*Tur-M8Uz9(~=7xJ}%}Rgd3*hbD`qR%}t5O zI8I*;y3#wt=mM(k(7mnBm29-rc-z;MHsl&#wI(^m(|tL{ZlB&C1AKEqH%csL+t1T4 zKVT*#4xDjw^8pK$;8ay6+2uL-Ngu<kwgMWMxFsE}M&UNhiSOrH2eBzLUXj|K{mNbu z$}yM;v)Hd5MEqefEKw|W1G?cBdiC<s{p36TN<Jg_cBC?a&Ze=*n6n7SKA?4(4$Ivn z*x?#FhnZkW(-0+?4DMi}7OIPcB6SPjaqEec2>tv%Sa)!~bK}v6<ZFWrD@An^1afq5 zjV%LuHEWzGJ3M*EYkcSz{~i-L?anNRpxdP@ag*`7tnQu-byUbhf+$b&YVZ)1fK8eo z$BgvH>(Ue<h38@U8+Di~I+|nxg#DM#w9j_mG`oo-5y6ZP8x6Ml&#OQf)5WZUL2WV} z0i4Ov49Z_)mvIw#81<b}f+4FLm<<xR6lxx+)>pw$#%IvZnCBB|1?DaQg~O@gm?x-Y zXTZQ5I>m>BCA#~VeHVZuoD@Dg1F>JUDNypm>U@$%m_F!IyV-&9>4VxU4En#~dX|}9 zv<g=1iL9-`z8Lx!_)Ie0i%pDJC3d)O1bAqg*Id4xTlc*YuKjea-c`irYPAE$q6oKW zoVH3PWmtjLlft1=rcjkM!W)JW|Hj;RPed<$TFX)%mR68lEB&D<Q>3h069t{`$PX<R zBW-Oi4M(^H1;o`ai(9;INTg3mEl#xDY6fZJ*{w&9xb-qMAf&5gu>Xp<{;vPz;EG~F zQK!&LEK(vXYKzS@lHC=wOkTAj-{8I`G2|zZnsIl11V!0&<Sw;$F;6aU)K>c(qcD|o z<olk{D79aroR;^>bv3kUxs=iXRp@A(ofCcWoyJfRwoBbqeWgp0j44T>+=0@C&!%TK zb@lfiYWuUBU(_&VH(gs~q-q-PN&Wiu@~l!8{8KPAK|<%~p#T}Y9R1E*anqZn#RsvN z86j_q;VH`d0Qs*ZL_(d(lH4L9lUbwo=5fjJmNir~;fiEQ{{uA(_5uX9{v#YJZWGO| z?yhMmzgxESTDMR4j&TKu>XjXgx#kO(eYH=li0_alos-8Rh_5@NX?!=#?hT%)oNKqr z=r*$5ytslG3+pGX|EO3&kF2~BpUc2+3*ZLI{g&;!m-KP;K6~_nKFYD{aPDoX0%DzU zB~@AA<KZ9?c8Z9?o6mPPet%^c-zmE3Gxuj7TI<nrC(C2ApeXsngn`X>NAm8|x!<@R z8}p3bcnSt(I^qtc>or4_!IA`WZqZri2FIT5k!wxOR#h<&`X!vL@~xcC>1c*xlMoXs zR)76Co923>D4^Qm`qEi<pB|qlBkEM$@cf{Lzi&f;Syj#0W+6a^$z*h2Qk&t*R#!<7 z8EY_uln;U!c*!p-VJ;E>h<jK_OIThXaq!EFD$}WAC~xcuO5IRPC0IU+&?MHOmu8jH z4qIUZT)9QPgX$12XA$PR`_+TDL=eruqDu1wdHRyMGA>GRoaChI`Fq1D*t?^ZoABsa z>36}RyjVT*3WtbaE|=c?8ch<Ch>-1XZ;OuBILKt2o1XwmLVaKO12B$K$!q}PB_nPQ z%snQZnX~(;zg(w>U+;)5W-4yun>f=e-lq)MX#!6?P+Mi3*GzTv$j%vh4X5+PvYkYI zJvXEcF${muHH+ItRDK>e;C5YVx!EXIW4H@5SkL*f?Ft*pG3(5pZ0)+5dML=E!qY>d z=F=R~%i4e6XB0OWR~w=q<CalM$gq!V#C`Gl$o?c%;C?5<21e$h{L`#MqRoUEVv-ib zAqNUJqR|)&Mw29$&fgrgsszJASfzTpuGE3`#|9rQ83_s~G1O~k%AdWbeIY%T(!$m| z+Hq2WfDF9=Y?&&Qw7Te}-w&QhSTOf(Er6T&i)Gn!Tp-dpC9d({ns(Z0rm`yBkgMYt z_lFLZe(#)bU&^ysxM(5#!uwGNk;@96ZCe<lCv)FMgVIX>r}eXmGrx5mYn~yn1kb4h zVUEFt*)sda!Q(89=zHd-$cL6!ZuvB%b~QKQ_L&9YLwbEKHZDlrPN>}%hMkegr{v%N za1$3p;w~zaaWqVz#g3{-^D>T5`RU32(}MzwO~d~)C5iGQ{nL0i91n)LD6Z(lcJycM zy~MDMCGIATX9jHE{8@4?$og4>4ol#a*U+B&XaU^6@xI!YFqic0C<gCD^V!>qh|qYm zDq0c$qKw7>J{zW|i~PyCd2m54!HiuG_3WB*mCRq`(kA_(xRPg6J*Ucp8>hS`X^ubK z&+libXpjEtmK-9~<ldqiD3_H|QLmDDr}1ri7|m9qi804WfgU<-e2poMSv|!o3M$$3 zd>s&3Fsx3F4EY(;M^CTU`i!v{J?aM&OyiQ28{w|3l8MOe!4#@Sc=K6o$LCoItJ`L` z;9H-@%54~hT)q?~Flv-(EXbQNvEa!4u9mabyg#p~Cxow0cLI95ly99)0|qN8la>3w zTV$mc%VmBFBZ#}G4|bPFin4{}8Z2hJrNoTLGhvS-=u|HKD&BAMZQ(R;Z)jtDD2C~3 z-yGb5M%nefg_K`W_$qYG&TAG8@iiGZHvICCN~Nrp(tGdyYqa8_-iA|r<YIex=sZ<G z_E28Ee;#^O!IozhT}$xP@3w+Bc;<saw<xuuI_H-fDMVsi#OyGNKq6e7`E|M4g542+ z-5*<uc*Z*2xNvb_qA~yGHDbE)eU6(}YCt5YB!zQv-`YscH|k3A+G!GX@wF8QreVZ# zK<B&DzkeT>84j4}d(+|laqg{XfvlsZ9-W!JJd?j-rw#G+Oi4dEZot-Ib#YLC@v2ty zEyd~JhmZ7hq;ABx;Pt=%ETMG`@lco5paf$j)tTj$=E1x6v5Z0647^R~E6fl|d9I6Q zPrP1ZoUl6b#$aJ3*<52N0rM3p$J@0W2IdK0ik)5#KKOQsxiYzW)iG;*?0$x$=b6yc z0$U(BT^|fpab`6m)C`a`>FE^9T>l?y?-|w9)^-hBjujOvh%{-^i}cV%dT-K;bm`Iw z5F!c!QbUy%q<4@OItYk#A~irLQbR`w5JDil``pj*9M3cEXN>R1H})9(+3d1b_FC&& zbIxmCyi8prl1AI!F!E`RE(hu)sd>*_NZpKeY5A+7mhYgW$=7zl(z_I;^?D@-YM38; zB1-k|zxUmBBj{E>tOfCQ+=i|!-UUgXUi?*y50Hb?^zNN-{s$?lp9AcV01v<MK5UZY z6?HgP<|W{nsM6;SRH23aNA6T8ldt7(ahb`mlJR61?tnOE$k$)3jMs_o+>5ys%?#ky zak=U2Oq}xLS)4^I`EM(Edwbbq=d{hD{6t$t0jrd7RRyaLmSpis+L^*vQ1L4Twk_LI zt^O;E6)%_l7B_}FG>-#8A+p!+1q9MAd)$IFrrv=SeYG$j*lL%4gJ!9%i|2K_o`AWX zZev;?$L{pyG%#DQeg#Aup5bDs8@NhYCeVdXvAoC2-_%3zV)2fNw2!-N#!vkURPy%T zi%Ayqq2nmYEhMT9$*ox}UQ6Pl_QQ*tL+_YbG8#x6wq6XKbRato4>ndYZuq)cQ_#vC zrrI&>b92R+!jpZ)W%lHYyHS8*as;nBk}Jlu)B4OUMHFmF63sn3@fA7c&>E_atLMgx zL@k|gtOV&i)%)q+fkNW$Cw*Mw!Mu(aLl&>Ur>wG!SoW(FkdLa^cU(S7+&2chM7g&H zoa9}CaK1*tPavm0{F3hvpti*01VOcXPO;CE>w|eolr^nE%Snkno1Cn6N?tJ<an*88 z12{N6oYS^uKJt!O23aVfdyt!6Sq?s3LQY|Q0L8|)ff%Ms56*8qN7P6hTR5CryX}~M zm|mh+E<9;@&IvG%J1v*6f`8$Nz;XyktO3YgB(O|GK=qTPYl&aL9dN)6fSwOv06cat z{<)mL`!TNum<`3r<=eM+spOQ}fy+K9F#`a$@jmZh0i^n@MJk?WYQ~D+Gv4wnT1NCd zZI}M2=a!HhR_1neG^pE%(xBYQ$PPvQU`gWAv`c81Qrz<EqpF7_`yW5vsQ#5;`ls%@ zB~(oE8sNcm{y!=GCq>J6!6ndDK5&3$Q_ugnhTZO0eQEcnz<Q%P12UJ$M87@Pb@uBP zQWL${Z{K4ue*c4YB>~1Rf2hGF{VWaP8&|+T0i%sfF_ijifaCs4Gvad(V@#9jkQEmt zQPPJr?_(Z`PfT|y+W(t!?RNi_v<_@0X#tw`Pd&+>o%cpLz~HW3ZtRp&%3KB@F;Cs& zn^=!CU@KvHPWY>Hfp92XOb;+}0c=#E@Barq0Ww6HLjmhYYtbdpo4*VYoF(UG6!TzX z=kfTBrP`Y*e!^-1)&rE2F#B~QFb&WDkd0UW(=Y!q^$7|RJEO7s(?ae)HVuy_WMm9k z%S+<(yw9MAv&GFY1|!tTH9l`X%w}^VQ$jYUZ#(SVv+sU8&A3^@-mJp9^JL;^<&15> zQp%AoecZY5$LAX?3R}W)tYoV6e7q_)O%=K-N*gbWbMlgRa_jX4gKkS-r33ze)&4oU z6&Yt-dwwpw*$k*)6wTo7Ss$V3>E>wC0MCx1IsDAHLZT(vWvziiwEwv}NkJ}A-EHrL zZMfnL)c5O#EJ)VBk87adQIFas@P!3d4l*H@tENY`R+tALx}ZM(Dl3(n*ZzC~E&?dp zTIxUVa+NL~^Uo2)C{|$~2b4F@fPGUm{-3w~>)(R*(*8OAYRIos8gT8uk9+^V>UOXD zKga(%^{<Zjb+5l}{jVnd`Od$cUk3ei{I64)V)=g`%>TaX-wplO4e9<rH*T*jE+s1D zP7))NK~7Gc0T*MN$Wmg?Qin)<$~O_2-`??GFS2xz0kxHsGVW`)?xfkfUbN(lNV0a9 zx%K>NevaV}2mfem%lT{fm4O6F?U3sqlno@7j%yaZr+E67UP;;}srO!)=$a46qpI&} zD*wAp|8&7Js6OV}K4r#Aj~UTB$_<047rGOB9+sPNQhQL<ngV^Q2pP6QoHqWbQdc9M zT0ZTnb7wY_?2{PWGAiLFe`lm*Uu1RWQoOf^f><x_MgX6VChlYrqTt?FigaV*9AlrA zQux5m#;EgxHMmWyr=KmJGGnQCD;1ol);P!s;dc`Sopr<wu1o_|@^UBA&k$;Qir|K5 zi-*->CC%kRC^M)JvlSJGAmh|nXrs&5R$5DnOxoH$OrD)B%#(HjTh+Q`xY!R}UafN< z-@UQerOKCAPx66D$Dq)sAEoGREYbqGdY5`@?QlyBzt0`A__)rK@9YGk{-G}(3b(=> zGwJJc<=UwHBu`Q_Own_m>D8u#l=gi~o8ufI&CmDC{amMml+-t+n*;}JWyB$2s>|b% zO`#$w<S*p4Rq7$fdc{!zZ$*5&I&H82{h9sqt?!*6ABBlkfH(+e`mod1as`}BlGQSq zuyi(}^ciB7V;y<eVw@-iR_wo8o`ZItymhu62%7DUv%97n&%{rW0b7nk%nMH9{d+{B zGMzq|41>$Lg7%Id)t`+uD5-zmwJ<fF&5AaJKWDMFB2)0xZtmYw?<UUaE)h{1dq2@P zJMyN_Y)rOKEngt!xO!K6KgExYchB@ozvFhjleC>sLe(ngTubWxia?0zl@RZ67;H2# zJ#`+-KtZXxzqh~nkQ-f3w6Y=Zo^GpK!|5ih%<7svHs_YIrv+_}ASBJ=TZucH(M1uD z-=Qy~)Ao{QX%hThH2Q8WhBbax7|%ckcSXG@+$d7lf4iU$-u~nf>DjYQ-ZwAUWLIO3 z6_|2C%G6q6E;HgqI1d$S2dPhcOh!npZ7=0CRH(ftzfujAgIXn#l-+dtxp`2nu`cq+ z`k<#|ZDf3@O-PqE1d1afH~<~~0yisa_ppJJ_w!&EFxxHjTCbD#E(flq($1f#nn7Nc z+2V()N2>*2LE)?IIgQDtYZ=>5mp^A&KSc;y9b?{LIdmSf#f{lk`Eq-yoJxb9F!N2N z{~F@I55=<)*bZxK0&~^gO7ul*E3iT(_IgMAMa?|Uz0G`T@F^j%>BPxQdhEf|Y?Ynq z-lS#u@rs`W?tsaW>cOzh;>ezLyx+ZJ1K)@YZ=jCOn(>eoqal1QJO;BtTQ3$83g8b3 z30+ltqodfQ)@{4y@Xo#r+)_QhxtUwH+L`$-T`FuVZUs&@>0kfpz}MGSC7UQ&;xTM$ zNBJQU^A39o+{9a1S1pr^$`{)u4kqmQ4U5la-}yepodUhG;<sF1D9TcfS(!a6KV!#c z_pN`IoMCrSnS66#>%Oo{E?QU%k?mx29s2eYi^v=gnj&Mg0YK2+6^!H#71~SFY-k%{ z%B`g6S&E<DpbM&UgRuE`>AqK~@9$gOsrBfG?Dmz7eQU==HwZKd`#b^P!f%iSS^4^@ zz)$O_t1>!pbUA+czWlKSkptDx_^yR3p+xehgJ)yq1Vb-Azr}@{@r)isie!moecEfZ z4rXMu{i|3_!@4N41l^*X+6*Vd<0%!i%|7VwIs2bw5KPQxK$_$fHa<1D@jmG?6T38A z2v^%ZLR-tZ`*Q;xRMcnLiyh@p;`gd9cs#5K?f5R;YPE9zD`)0OrdH(l>g8=>Qn8kX zPVcD-cj)kxy(&7Y2m0pfSN|RP6omK;JFpRZRPhQ`tJg{$)Muk7i^gUkO3R^>+7%v0 zegxi@r}RQDOP$mvDVST`$0PNhuZqSb1MBkXkEMEfAQhIO*UIcT&yVqdK@DBDC)Owh z^rJ8i;a4JR2uB|DRzbJcv)<XBP2pLVLF?DPUH*LNp*tNMvNvs{Q=&C$8Z#tvAJZQ1 z!CutdP-A+F*pjz5>YSmU^HLt3%_)yCvq~t~c@=QxDNlYYNaq;+)(k%ryK+eXz$lBM z?|If9)dAM|y}B;VKyRPfVSCpUYR~5c$r&jnpB}-Hfsx#ziJDnMWtVSfZ1W-MMb+>V zSyVV`l3S)HZa&1i#M}_Rg*~#anO6EesK1l2e}uR}og^n%bFWFdDrUm7IC(Gazm1f9 zG07M3e7~>S8c);%CcI>pDnW=Y+6eYwd;1i5?M!LMiMSuiq<I1fqB~=qZ$_&pIz;tN zS=%a=T*2>R;k&Nak^b5^+JM@%QGxEHbYxPg$2#~KezSFNsp@PnY1As?e$tDcAO0E6 zCZCcY5`|-S5BR#VwzMr`$X?d(ql29V&vPHdrW+k;*0T0uam>iw+CW~8I>WG7BxO0- zR}6PTD%7(lvUMe_i##@0e&o*3G@+8<rTF&2gB^hjGl`gPxxj8Wzj=zvmtwq-drOCX zfC`ZbS%Eq^IxcW`e8YbjIl~$2-^Cy#>1juM#ele!fgaqE($NzfZN-UykJC13Sly5f zI)WaLAo6OEfZ&ePo#^dcm)p{;NdA8E;M^I#mSpfhU5Ebx<lagB7JSeG_R`U{M1Rxh z+_-(SQpJKI-m+Bz6%A6ZebA8WC%-JrySQ)^b$pd-7NMPJQ0Fdc22cY!9z{3ss3;ZZ zs8=boIih6+Zfz)5JFa>s;uC=}_Q;umDVxVGkMkr1!OkSe4v~G=T4tbk7?Bkr-cjmk zI;~|<5(Lda_ZB5ybMb!5U@r&Y9<9jS{^){-l{L?HKT8r5vN<q@V>Tl(T}Zj|=%vy( zy%2te_b4;^n<fKn!$>xy=C*asm?j0^ZM&!~QJs@KS}x<p)a4OBD|zol?6?Xv0rujj zDIsO_e)OgsN0by{Ep>g!Ewo?ZouBcTPCm+35-N6TZbW{ZlLP0fXGQ)e-uyEz`X>tP zb$4Ukqauhzm)>#^u{{}Bq($V`m&*?Gsb~B|_H)K`UWro+n(j06$}K4qF$d+}+eS<@ zekiCXAvR@W&ggo_irJu{eKLIt)+Xj*VrM94pNu((fu963m->&d4Nhk0bjGA5zwn%b z5`JPqKj3LZ+PB_e$m2?}^~LbEtL9b$P-dgs{lw{0iOONCvFl->-1Qv`nK;^!s0wc1 zPdV*)s?P*`>>of4Z=?PCacaKpU^e!zW?Fd$)Z5cuidvP*<>eK{27D%I!1%B|vYMZ@ zlHtcAJfgiFCTX11Uy*FT{lq09Jk1cGUX-#vaOx)+`w%lZI&wE53bH&@y|hG_vumt_ z?>7RA*wz?iXR9??^ka;uD~DT_*xw=R@8NGxZa22N(G-XsVYc(D0y&1%Ce%8G0V$8! zZzQ~$dg0fKnn5OYnrPfl;(r&UpypNR(>;h)e)d@=Hxxx18=;aRcQZfD+{{Md9T2zm z<e$Z{3lUQYYBH4%nlTTe@l-N(_zO(2$uB;^2EzQ|o+bW~zV9D?aeYm!yQT7j;dpy| z;3SCY^571i`>gQUVjbRKHdsNC>f&;SRT-M?OiLVU_Lwnw@{*gV|8|%^*>*An4x_(0 z{KuWS7-~~(wct#x1c^|%jybs3c3QDFX|O`gHt-5Pr>MNB>LiBQqtzlz@8kxC{Kfd0 z)4E!$x^4zlFSc;&siHErhxzQm;;erxdD5zy;KAldE7dGgA=4!xOnG=q<PqD5-`mpL z&U5`E@!k1~(9uTygDYt-9%r7sZV~=wyK=&?Ay{_JiNfhT`o?{-Bqccer-R3EmSKIA z#c8vAXKA7=Y|IoEFxQd+!yFXClL(^?ub20X%bCoa{q48$ktf9lj2;6^;D*fH)-hP$ z#6`+UhDx;wxpNmF_U;^P;=UMtd4EE&*)zeIY)jTkW8iDBJYg*>7**Kp=)BMuyA#<Q zsq~><9mrc*;j2ww-CC9(al?)@;j{(w0yrc=@pyG&J=0AS)fI~22iO#omQT~DRqVw} zM(#c&&+`#?dfoq9EShHgK`i73D;sxG$efe#J)&?xfX`i#Lzz}(`>72buKAtMXB*wa zZ?=c1qkpIgU`9u07?nx$1yXL`r5Qe_8HRQtvvzaW@t4hI%O6>|Uw8XP=Zk~}z3r7g zumPBtz3i=p{OH`kPsKTvXvY>q;ghD;((XYtQ}QH5T-NZOc4w*_D%sK+bDZm!Wi+xR z{hEr#<%L(Peqt#qoVQt=?ZHjY*tGl5uN+@*M}=V}qjnF>dpxf!aK-7jU%&*NuFtWa zy#{kosk|Z!6jdxcqR$v<;^jdx809%WBWN_v+Wy#k;Lu<_t>-`3HmB#w?dC}SUGRI} zPzbZ4Z>Uy$E@%Ab+SiJz2gzi5RC;Ib;sF!_m=J6fhr`L)8mW<HhTpz7eX@{sVw{=J z`rCJV@9igj%ujEY^%>o-B;)(I(c^hZXF7|xne69!yM-CO0{`Lt&U%?`!ZNIwD#`3J z5UfVgdPfPLA=(gpTj6POn56n<SMk9H(AhddB*8*Rav(v&I+sJ@<2d3C!J+n|%#bgM zvgdi3EZilF+m)WD04v4Ku6xSgH4AA3f?9?t^4XSjW@4-sryn6@2L8P!7IT=DuItYE z%7qVY*}y~3%6j&w^_)qQSl3&QX`x2(XC;C-gs>av1$n?yPpJ`D)2*(d-gK6TX%QIw zND!#vD<b(+X7)ZB+v6UgS$gWk=DVfBWm)`O)8M7Xw~SMPu6i%_<EHNF$QOV|!g0X! z%F65IVwRT%FOe93Cpy8R%lY_7vI8)2XHlj;?tS|^p@QDS*i<i+#B`x0>GFRK%hYCp zx--gf<{vo$V>%5`qlA}Wd{{fVBxTA@lF-?$e8)3SGr+u9EdhBuH{qsd<*ALL=}F~= z!u#x(^wfk5X^rO|oebgHI}N#&g=)Dsq5>6<UM45ptt+ZmyVYVmrg*q0iTv=Y%)U%g zvv+#n=XwhwH2!&f3$-VdN|*7h%(2xpet%#1FjF8y6d}UG9WWaS?vG3&S=f7!ZURIn zxpkFV;~4`P`ospkEp<`e3JEqm{6`r5HzmUMi$MI!9L_^>F*)7!!GnZI&q~`~>Se!a zj2OXA&&IopNmTN-_Vu|VMm-!EBDjBXM+jJN<gBr>-R^qNU|jlN>RbJyLi|WGJj&^A z??7svfM>Ob8&Wgq?qWUlMWlHdrtXJpDmfHc?}S@}4>nBu{oeAU3KqL&p#EG-L&F^u z2@ze?7g1L;lic1{4}$7tkMS`BE@$rQ<i0tKVC$E8X1Gt1Wn2cy7Z5p_RkCPvV*^%| zxmdW)V?d_7%rrIO(iI<EsP1Q0qG0eMayvCbWcLY&ulV+`0|Ro`VB#IHebCXiM`MT+ z`<kyP$t%t+J%?dLypsLwQQ-u$Qssi8-oks`hCEH9+=~v+V-vmV(u0a0Kj!Xm`o4X! z^aeAkbaRjy33IicIB9u-;haZLjIHm77XU#9XT!NCoMRYc$*g{%eq4!{#Q|D?^T3t! zk4A;h1tl%nid{~k;RBn*peT@6wFF}B%Y@m8+fm6IOdqhh1QSQ*efVo7xoTZB;eUfc z|3FOfm?e6ke86s=Q*F>|oKKQmG@1}EcqrI)BC2px=FT=0{BY}ifrS~5$A{NAg)W8s z4-5}jT8%O;fewCbct(DPoSY^qJ#n}@6N|KDe;%8l?Nh|_Ugb^9TZJlyi6Wy%IW1M1 zH2zg(u{Rd3cLjYyR4~l`bTRSMR%r{l23Gm9Nab`sCw4Agh~C0`mdgnBb0*Jo+U#)u z5lu2yQ5j?cUv$5MAuP4kQZ@iZg^1>Tu<3JmTDf*6mq1aZyVuSA^ofc3QY+_Wu1WBs zY~&@TDt++t5l0`Sna4v$b;_@kCOECQJkAbhFWPT0^xNG|*_a&nyEp`hsF@57t^FYi zBb~H*hoN%m5uy6Qqf{R^l!Z(EOWcvT%T@tU=?x~p@~@<!j&iqN)Rzcry?2d1<4$Kl zidgxM{jl#VlCQDr_JzC$WW$OZt1f;+p7+f{f~PuMgmMwh^Akvgn>!;>!6aU%n*FX@ zd*4ne(sm@P#A??ETa=Dq%jd<(rYP2rv9IxB*H8wc11-%lxh+*|qc?6GfgkHQA8<m0 z$hm{i9K8=cb#|2Xi=KZ~b&3?uqRhZ}F|i=eAiy*QYL&<rlTR(&d3A$!<4d7(9WqoJ zIe^Px5C00-Vx?hH_4lUtwWs92vLY+2FY;cUz$tb`EW|Jc4!E*EvR8#xWa8?Ja@CM+ zvzGpZgJE;S9hcgix`u^ETw(yxtzP@>u>SN~{>-OVj=~Zzvh>Fg!j!fHW!U+V?a!+3 z52I`M1l-??J1>~+N7uS6n}O5Yh?|HL`MELC$!wC9&0Xm0fG>8n`Z^Y<{PrwflO`LS zroQmIEg3a?%H3}F2tt9&UnuIIAlh&E89w8qae}2K0JeC7Ujm{{*TaZlpQ0T{jc0+1 ziv+WBMNQes!uIQN*aX!Yk+pJ*&FG7&<dn*4Ij?-jwd4_&yii|nmF!EFVdryloYrsd zcoPWovtxCMAC7%@FZJ@X4VW31+2z*Gau~Mnc(cDPwXMYHfZTQ9mU}dXOR!!FSc^hi z<W)l15LcnIbNt?vq1~#ZU@IRB00$TU5zT~j-R$qbpq;ld*nY`>5P*t<*orzW2WL!f z4?{^l^yXG(n#v_zS^h!G&Ze*k!>}+X)#_iru>1jO#>KQOU`U2Zz$EhQ_l*~KUbSm3 zX05oxsefCONZmo5;)cFcwnF4ecI)fkqo&-#mx;}x+@z1a6-X4?rxGu-@}L&kIrx@e zWaCc3GC|_&m)3u{u6>P*#R@D8C-NRaa(<TCImI-tq%B0gisCeHT4@QczH$8|BuE8t z7BO(6?{lTj?6q%x-#u6L44<2UaB2hmswrm0$8*DPl!(+Yg|E1a$cq3#%Cp{$_5Ra} zb(XAQQeuVu`YX%+jbIHog0vd--f?eEOY`Jtn*c_H3!o2j5}+k+0m_%jFXz-v$KUL2 z_jgXm_XEWuqV`c+kKuy`7X&#E>2GX8n|z>b_O930HMP}?wdEm1tr2;TSNFxH>eB5x zRy@GlL&1-L&`1UEvf2(C5A>>!+jP^i^p5l{D3GW1`-yvi&p2ZyL==`(yeu%OdMX2F z=ye&XmfgGwrN&9hr?!K$9naB+np}Fu{AhZSbbb87L))L&_wdUjYBS8^e$WDAa*V$9 z>rc2zi6>K#d{%7Id;>4fTyc2YPrmBi$>wXeb6C`hOR>>LnONm9U~^P9VmWpB*xLx6 zO}wO3a)YNp9@tBp=)YOC$ker8H)q3*2MU@jnI|Eq+j6)>8hSV6=icq|@SchsJ5Bqs zv&(5D(i$aSp$Vv>%dH8Sd_JsAQcYXYcasF>FU!PiL;eMm$?f-ZAZ1!e#W`|)A+vhF z<NjW1IeB#yeX02IOpeumk2g<{@(uF9wx@4E-B@Ywj`{gD*A2cTEY?R0z1~vzu?{M@ z)2$*C@GUkrwBM0-{rjr65s>NR`86ILdi&Oxjv>r?{*{eNymy3G!8rxh=*y^}?r)J8 zcab~gt!ImfKa|+jRG-nZ0-Jk<@+d`rnIHxeLB?_>>*=Vg?f98yqsOQ2;##^!_ZXNs z|8OpTKoOyUfNm-5=+uHx-pDx#uEUMs&)ZaMF%dV+q}y-)5Tm=On=t@4f<MoZ;-9#1 zokKE(%;l3llCR;!B(J28U*tO(C?;M!&ZKL0F?(-XLc$7nG!<&Ka`Ymq@Q>@^ywjF4 zT<EM$HRb@JKEF+fDjyCr<V_i+6Z}|u>J?RXb(vBhIqE9tuDkkA?WGs{r&tB&fG^cy zAm$oCQ&+cCcVXqkavHmTH06>b7V@g`EFppTDBRTEh_Z%5o1vEkb3yZC!o3&(4Q4GY z6xk)Bq1jN|-uk+%=^nw?ntNhyv`142IYmXU5Xq4(e=p|%jY}2S#yJ;7Pi4raVA_1b zc$*jVg$Ir=N!`u5izGFj`mB31hd)?F#S8=UTVq5l{qazCxL`>DzZvvBala&-?{!*U z%Zm5l9h}93p=oolKd0H-SkgY`wLw_Lm+Bt05W~0Rktt(+;#4^6_YgJbD1|Ztk9NoE zdd#?bb<JA3Yfo=g!251%8Qs=vIL=k}l;ael4h&PLX7))3on#{a{fsQ=5^q41EdSw! zT0gT=BR2|&U6FE8>UuvCk>2fOm9MB+KeZvBbF{Qlz-RL^;wu>^>wG{akG>6@U6-n2 zc6iQaJz<R0oN&d_&pe58N&rC)+M=-(Yrq%2xDqXwV0qF6={TM&RiA_C(*IZL10;*6 z7w|+dFrNu)RJa>6^5hJ+H{02&ul|YDf6iK%m>cVEyOGhqrAn38O0<(d&huRw+?sHs zja!)TriNuAu7)&;*<Cm(5UXWk{|dIYj8rS@y8Ge?os;7qDJ`*$0dPS(5l27Qw%MdU zHg2`lY1HBqOon2NT{XORb$ZVjXEMm~dU*LF2OCRi=?4S2w~7H^g5@x^)7|_YMuuAz z4`)KsNyXS7)$z9DF68D`5;~QHV<)N3@c!{Cq75&fXR|X57oaI_JT{40@%FdWNbxnw z;n69Ab;jtj+D5M5%$Jg6L%NFxVtWP|_NJX3NL$hI!$nGp(rhdH6X9$c&b!;0j!EtX zm4Fc|h)m}O_o1?l+OvM7^R}I**4*<vx{ZtUa?#=~?2nbB^U^OpNNH&-q_d%XZnOno zjm?+bV&p)Um$(QVkfIG9&mfv_Up*ir`9p)u)?jt_S=7@N5oI=qTV3SZmnWhan9~q6 zZ>ffcy^M??Z#gbKbD(>V2hTYoGsVsp;nk$ICLN)t*lzb)V83l(_bt68piMC$nip{V z)LM%;eitlb?I|!NC{;lL-MVpOygdS>8Xk}kejMXPLvewg{4$+i2s}GavwW0OWpkH` zbw;~=@*+=wV+dc#>cTlbiG+~yXymK^`VoM+A6wK`<SUNIp@$$_9n@@^(Q12`r7LMy zK`L*#C6f_{%#n28dmW0?tA|3BIszu@%d)hy7vkckd27Vi74iXe{_6&5ddwl-1RQnk zq^yEVQ8`*&_}krVA&G&TI|42}m>KTGuUj`wi@wyefCH}BK?vxy0`(Ko8iAraE6iap zua*WAw0)5tJ6<vrwSrA?TzFw{89_naqifom9QqEjNxrQvB7L*aUp)9Jz3Yq526n!5 zFX?g7h+LjB63OTGSb&l^#<%S$0kFptuBLJg_`8+aaplSEBVcKuKLcz@ED)Cdf?1JU zkR4ba)Cc^1(q^H+_~wfjz0Kvf7+mNyDpnZ|f;#`m>{Z$#F9V9oBl+|-xhx%?PX*j@ z1uCnREgUt-rJKo_>1vu`uD*86ep)HaGMUG<dZAb)<GNWs^weMWy0TK5%H^53bO0N6 zC|P`zID@B0R>%t>EGss4r?mGE=84}U%$}2+PQCY#+^0q4w9F_yFGCmHPm=9%ckBwR zRBbHc9TuMq2Qabtk=l9xx4AELFH^cl<&FsqN|Q&hcB~N5Bz9V=w9UH~K*rUo5nF1R zrG3EPK*#SqGL--21sW|c47NiY4s*j-o%Mitc^Yz>%ErSK0uIYf)>5}3DO9h!eixXs zlkE@I27BM~{>CKnc=_`c(BTS#Ub8j_z}k^?Two%hW&37$vpSN!{tj58Sztvbiv9!T z-TlMTKD6Fp))Jo6ecPQ7*MR)|f!uvN@el9xM*`^Kxow#Xi?il*?L&UvX<}z5lDN)A zZi%ORl%AFr?)o^;x4D<|a?e~hA<ny?dahRf1Hn|@3VJZza8%w`1i7b_1)b{8FOC^G z`Q(gb!2z;+R9ROEMYh)D#vg7pae&K)O4V&TjqZ!=2Go;CR}%1*Rj)4ErAHgRx_B-0 z)dE2GUc%M56zOeG4@y=*q$UPrH$x!Q%k_}CDlCaW>XktXf=^df?zar)z3I|q4q!(W zQy5}UuiK2|S+2ml(HYksE(83bmX79%45y`}2S<0sh8$8Rsdrs6TntrxxSXK5N43R1 z=dg2a2Uamg#~j{KmEi@zu&R93ue{z#6^fnCYrtJTx?X@Rzu@Hgf~oU=X5i1Wl_vQI z^mBhAhK4#dL$({cTQlEL^1#k?%VDck_DNLHitm39Bhs2Mt60XQep;0R#v0~TzABRJ zCqF9W?J%#Cs>)fPbkoUN<kG%pNu7A;8Wq<4BevIGJSyEykSsLf5Zssksxhf`YfWNJ zVV*i#EaX$5et3eeNamHdI!U9|{N3oE5<BB9RSw6^sTs>X13v@M6^CI^mpv*Awkjz> zGfv^5Dbkji7%|+MA7`--XZer^8X+cMv|Q5EuDuMB=u_(30cpZXxpAV>t38snxdkOB zI)$N@3-H8I-NJ}qeqTZcA%&ApD@$&>Ich^5^p*2FP%<!ek)9r3NiPEwP|Oy~L&&M! z_h^`Ci=Q7aX2MAHZ>z7)HC27-sLlu*pko$oM+3h8AKp)Cllxd%9b5UhO3j`G3;_8c zQDZ{#eeO9Y$lfYo?!M<JX7(C!0sQkoE?#Ws(N07x25`YZ{S-lxgK0R5h3SzPDsa@U zrw2$Hj`n+x-fLPl0ZL0I-}Im(S;C(xfN3be+prG}ufP%&f*c0(6(9jEcq$=!%djYg z0<88+o$&i8i^EYv;OmKrExHLG5t~I$4mx4ftR1%A%>0HAV=oT9z0@}R5jGQAY3%D$ z7yVRA*m7sR^1VH)i`XTsDCdf|6YIIp>h>j&hG=E91iuhVt&6G3Y4d?yi(|8CgaWy9 zSepEtbMOA)$LjrBB?FU$?fS@5GrFKzpd<^!h1xkT&>ofDKwR9yZ4relRBR{~4I>|w zod`uZ^X&t?{4%Kb(!$c=)`|8q{`=h}Je&bpfrN<Nsecq{x6YomE_s?^tcsbF7-hv? z(N6hBnL(TUXl6<ttm|gt+PhP%gm&&Ny2o0;&3bxf-RmyXZnI1V=Rm50U8aCt>Ultz zeB8XqE80It>%GpxOMcWZF78zET<L?nZ@ypF@R2s$OdV{hX+)WhfPlY5Fzed8Zko0J zd^x3vjuPCARzS~+jy*^~G`m+Xu4~1b!Nf@8<K^?6gdovq@<hxU%R5u%cO+U_C~rYg zJM?btkR2MM?wFbcGoYK(X2jmHLu=mZobPs@Y0s=4UQg<<?CBmhpE|7OXUD#oVV*tn zea`mCp5?#OCws(8SDwt@(R5P(VQHo%ulpaCj=s^1LsU{;2P~)CwoA{z;fyltw;Qb! ze;Rdlz77<d*a*!NvWX{X0t?(RJZv@`tvp55np32Ni>t}5*t$P{TU1z2W{~CtqMAsH z?Ec|j9zUvMr?dbtZ+8;(vkI%6+UicdG_|xA<1qRU&39Z#Su0<=Nbjum?43wyZ_a_< ziE)3>hPN^d57g7Ap3j=8P=9UWSGA3DCSfvKsV4RQnk0w+u!P3~w2t+sgJDLLbuSjk zp<yrXxYX@Fn$Q^%r)hVFg;CGn2b6OYe3RCLYe1n-Pa31ok`UP!qwU#$g2~Uw-g+pD zsh30xdwQHsHu;>4pUR6rO4|sJ#gx7)ecBaBstr$VK@{k0Lm|S4&Mn5Hvd<C$029~( zx^Kz@k+dwN6k%DtJG{Qm0&W3F+Toq!vhAq>(8@<I@hZN6iQ43+l_d>=P3PJTLxU@Z zwn>ij{SKxNj<uTx-7l?w17PXg>bze3KUnF%h#J3(?HV}F)3LiVebF|I%#uG;ept4; z`^C~|zIJ-P#rD}kwV?6(2kXV<rnnXAF4^@-fS6AYBPL6P)u6UqfpTCugs+gedrULu zG9w_>wWi#!7{wU_IU^YY@4vq-C39@Bv>M#)e)Z>qR^(DOP&6L2Gdg+{eCzOL?as`? zDQg0z5TyX8^`7lcjM=%?JF))R-T!JT-Y?EDFMl?gJr*<ZD6^s#KP>Yjw+}lF6oiEf zFM)x|A6Ehk=VWse4Cl58{0>vv0d<@U61ai=AoP^@jB|&YXjFg&m4!IK$a@JHKd<m@ z>2@z~mGPRT;Zo^%o8P{`TYU559(!rw5C_L0{AX~USyvXFqmu?|_WnVAUvwVR+Td8C zIv{G;wj>V2FpXO1;eykrWk~IZ!=XNDk_Zbs+Rg8W#iu&4dbRf|kWf_oJLh?r-2XLS z-FR{gh!E16L+-GWag<j-S<^NdmP8lt5j=g&hNTn@9K+6ow{O}X8;I^v#St0UF9Hlh zoG?~gYgWTOi$5|Jv+_vfeWS%TEPxA?x{%mka)A{{L;ytG$+Hv*HTmu<RkdkX6-9@M zL*A)cI=ZmWoAm|V?$MHrqIY1J+sB1HyRz`-vs7{<+Z*sP1!SsMBw*oVS{QT2RB77> zz1Z^2;;jP{(vJn{5|GG@#bu2k7H87|4Z;`$L<LQJrty#?E@aM8*ba??_ouWJPE3w8 z0+B16SeH#9|6aBA%}yqFclTkBmT<1<@d$bArjo4ofq=>yL;}3c#WG&XWE$Mndu6U9 z)irx~if{U4n%uNI$8Kw&b!}eO>fv0&x5hL_mUD}Drbb^RohM6}G^&=0slAC1mF(;1 zidoxo#a3OMS^vXQV4JRtQ&jZ!15mU$dM3Dygp%af^6+nc;^5Pt^#DL)N&~H3%W06i z?x;|dgXT)8J^VxH@Jvn3E#q#FY0gl~VbC#<R0}XH%j2bDGxtO_)$V@RV?r_n%U6Oj z&?`p@P8mBSN-x|?BRFn$pO%kPUwd0=2<Bw~;%nujBk~FiXuEANRaTydUf{Li`Wh>w zwAq7wdA>FTcA{;Rop^ErNI`4PePM8Kj8ns#E5BXnRqDk$JV6f8MwF6*Jm<Hd+lntN zo8`vf9%>VJ%_pjBg;2)uMWTgYc*KoXE1L)QGiMWDKjnYYN0@OJo~tFVJW^IlFL@F; z%uB5ez{PZ9oSwcryQiBc(p&0V5i|;G)GX|$+CV*ff*ZaDTGOROm7fI^<yPAym8=oS zBSC+E?-IgSG~EQthr}_Ip4Aldo>qQqj;oZaCiN6{dKgaiU2sd~Y4_#fskt&OYBw=a zWG~0d-1PF{;Co*6oZ@MTjT9{ob>-rJYhiw$NF+u0wd#2oMO_lxH3R&3t0%baC`@<n z2Q3AB4OkVwm!B_#?B$GsCA1YN97-v6=7vTC=6dqEEE2S+;H!=6iM|O^<?Vi1l0;0R zl?~YwMpI5OjmEBX5-8_gpI&^7j)Lkzfk*8!i1+f*2~+-cBV%O)&-C6~jbb5W#{&oW zSr8I1?sJ*xP6``)ntu|5|5TlKypKG(*W(_)W-4s)0Cz>28=umH%~|rFxv&ss$LwXl z-Lhs{@5#6G^)Rq{&Yf^iO=)L?1zB-5w=PTC#+!L*R&S#c+ga%m?WwG*PZPjlsqEDP zD1=n(Pb=t)g>teo$HP7i_Or$u56anXy9~W@-%_vGlHpmJHZuv`_tD+>Zg6~!b4QsS z3y@!q*WQY_L?^70i@q17#-~{vhb|N;4G=AItGzdB80TDj4vivER}2vfTc%nsa!DEo z1*6g-^CmB}(`^ig4vA=Zi9~urHNVTKbXj1%1Z#1rYo*dl|Lx>ew{H~tk$@Zx5dISd z`~=(U8yG>8+2PASJ=vBee*IFv3mNuYUt<u;Hr`J>_GsHl+69-R)Tb_^JuGOXAI>3r zucb9Gvwr0y-Wq!CrDF{7>&xA=J~my(!?16J;gb|2?r*;P94<xyN`rew{I|*KLZ@px zAJg+S2Wq^%08)P<B%f~iSlqc!s<>)yQ!!&se0EEQpFZ|8q;4_Yp^g_Ea9I-;yO}t- z6;=Qg4gt&hR|?N@7f0JtuZcl<Sn(}cq)Kpy^;3<)LLueB=H%H&aXF$WWq9#RuJX}N z5W-mY`bMKS<Y^xzimc>w)_S_r-Lhmcd86Iby*a_H@mZ3o?bKr%Ur9E+m(WNx4j<6$ zC0g0wkfq$Zvwv;H;U$W7Uy~E!l+rsxHoUm;j*a`?R-7yMwhdmV->C3Ax9<&+41m~7 zJdSz--s?!zmj8~+pNrHlv5K<h<OnsU(x$_;f+G6m8@wat!^S!NRKC$)Zd83@_zge% zX%kXGm9YFr`0l3VVp<GmyXoyWXLH9K>f>-^aNmss3#0WZN+#AxPsqB92-yWPC1saX z3Ce*@Kx{45XmjzC)Za3S-vnlA5*K*vfP`<Vs1(GZ>A|s*)h;oJ?-?ltuIJ3E>w)Jr zyCzDwMu^mNrSbkvne5Lq`5!QSi5Rwf3u2g5A*>FU1nCZGbbNKoOS|^)%RC^-CgC44 z4AR6z9X%!;FNGnKG2<Poi++RjDb#iz>UYQ1)+AJ`T$CgI%*vI)kO9#<k$ON)oQUD! z=4;oe<7?1r52zCp3qoe46pfcdDnpt+lwez4_Tb3^jBCU~zIa_xNln$7j}&YsbbjzZ zPWp;_-l76_wk~9emvx69THKV$L?Hw_BVv)=`-(`NS_by=Vlfv=k@!}@0`>08^9Lak zMf+Q01D<ML=S9VFLr#zB(Mn1mi~zFKsBjiKhvH<soeo!6`J-CTO6pk=7Kn{{0I8xi zuyOYZSK_LhNmqx9o{piJY@yy(*RI8XHT4LVph`C145oM`%Fy=?7$FN=jTMcGfPzL~ zaiwJw$R(T9UJ&=TohERo+u)w0jh?WC2Tsy3cb>SCTn1>;{T8|2vv@0HP3$mB2rTy* zpYE23(?h?02g73z?hMLbI-!4UP9#NRK*`CMLbR|UoNF0t2?Kg0^Y_PbI!eq;oqF7{ zvD0i*x0utt4}26{Xtd=*Mn2`+f6Y?&m!&H#DED>o1H82wa&q#NvSFUB3;ejSI~B<W zmnsi@+h8owEodIplCpmMd=-GVQPEulT`-6>-zNP^DnVjx;Xb`9Fta(}Kf^vjc0Wd8 zV5RQS`Hw_r(1J^YoM?K)dBkda%Ru28oE=E1Sy6Z{R?Yu1!1M{l<T&VS!<9qi<7vMq zjnwmj$2>J*;^@;|*<KsGmB+#7*##P@s7#4<(`LJEmW9}LpfGD`=e<|Zi-WccG-ICp z?{O)IGGnyGx0-3eQ4JHLBUwgN!sz==#xWW%tbL+i6X1;pG=KwRGS(n0b{M4!Uu^M; zsCLMp;6&n7>p7I3xvt4GAU&0DLwTBlzXtd?PA0xDdtwX4vbZ|0)04SQ`k7}F%fwU1 zoY?Q)EnYLFsH(k%KYhL1KAdgm`rr>Fquo}+!!hUnX6IEAV6S;)pRj{?>K#$Sjn6Z= z30i*F;tEjC<R7TE7+&At$e98+ZgzX^XPQD4rNbjWKfHd*P8^SV*wu<7Ry^rUNVvvL z_DnF;_RiurxLtPO@UZvbHEW<`H_C||NRD`1N+@+mtQ2Q1S0FE=HaX}1Gx~+LTvFA| zo4=;ne<cT$QDi`38H&|0I@Qfbp6W~w4tYC+o@Nz70*`V@pA3ixcUIzopS4y!U^)>% zGty7wtsL!B^tAV%FeLaiJUH06c^?>rrQ5sLU0e5G8frJSkb;S8W^UGtop0snf#h7f z^&Nk+?~3QstRya8U}4XfI$>JowJ+P6Z1pPHINg$ZQu~b`;=8anz)2j|dazsGF_aV& zemW1a3}<IMFqWz~zwCc<;WAcgWO6gqDvg{zW}`7hKtQbQykDI(e|^6vo#7!sDMzuq zSsK=9=*sbJbp+q4*Vfg`#<}CL)(ME)`T80#%k^u66qsPYm_(agBV1CvT{HM-U|v8> z5c3C~+8b}{<1zm>UCw|3HGuJs^i;G{jZ~t~Q9-oX%H@4(;o75G)-yE9<?VNdhQ8W@ z^Pn`1N>O(VLMq)(cVyuk@NPJLq;U-sP46|M2m2~siot6nkB4EWpInOM35=n=-M+p+ zz3e+qk%Ak>+I6P`+fk_jgU~R)*JhI6SB$P03D~209o;_R?m#FGWx84>6?)(a+AJ?r z4=S_$z#-^z){ZDxR8Ur?C;IKeT|n&)Dmpp;t!l4fDu_?<2hQY@tXit;RMc8H?1Q9R z+fe_Yj}EQV8O?FoV%bH@+&(=HT&svmM^vd6u;c)m(-H{vH@?k#W{y*wh}h2~KP;nn zcgN;~2zNu*hnDBPD;XX?S43;bw})T<tcTw}tka$qZoS0k{GN@S-&*ur7LZ!!bJ95_ zj~=Euy?%@`)*GrZ)OhRe3Jw>z)ZAP!|N7Zj86eoxw<P_)W*#Ah8B^5kl1hQ)1*$#e z5xrK!2-XP;WyYjDz?Ts7`gj#{Hl-aX+ARJAG9o@KFv~h)X~Omxa7eLU?kUN84Iz%G z2@mY1O&>Ahnt>9+#B#^_vx5c(Fs{`YR{u^>wJ>URWpGGsEqOJ*V(i(Z52!qDUCm=^ zPPda>*ssAwS-7U~3nKVBJ>jtwt$$;gwN-^p@6$tx-Zct|<QWRdc+S@C4FPkPL%<_q zjcOyFI4J?BdLKME4G&e#$sbd|>BDA|IFSwx9!Sq_5{}s~HRX~SabXAM0~T)@-eJ2A z)SV-`2UBxHuWD?F0Fj2y^b>j;|G=0$vFP|GF$T90Ebf~_rT)!%gu|7FQ)c<fmMdUq zTh})QzK4ryI*g|sKRqYJ_zw!}Dvu`|>Q1`d*|jLqVvbE8lWOyJ+H5o75}ow{wS~)3 z&<wkb&)mi8w$|gLjY4-U_6=p>scy(Y&iKH3Q*oC_DN_0LB-EJkHl#Ig2%}%Z*C@KO z|D1(%b29QUO!h8-fAJ!COFTJwsX^OSjXWQ}TU_j3T`0P)Dj%Q&mppYfDoUm7-(mE+ z=^bl43>wOWb;F#le44ASrT#oMaVXmQj)M_!b&5@16g@PIjVo<N)|^!`><`p)iGLh! zxn(&3D3B2_3@kizmdg&USgkhG1hYNfR&+3qVxg^ejc~fg{qWf_*sQ`Cw%Z%_X>LrG zhrxzwO<L0F8|Br5t~nP_>pQ~G_er-Fr>9)kta=Or#IS0KB=Lk*`_?E=e`m&De8s;b zk)FW)39sX^?w*C+8oJ2GqRQ7TWg@rzcb)J55Iu30ZJEr#AI{;dv12EG377`%4ch!P zZ!3e-z*8e3kDUqZ=G=!?SsA`zNr(8^YZ#s;{)dFBejLeLI)eayhy}h?V(%<0(j1Ft zRvrdIm~N?`B2<Nsl8;5;gmc&Ut3+uAU&qvaWG!MzTJ9P-1}A<OZ`q7#7ee~oTn0Z> zm<FUG4-A;cGGo_Ma8Hm2J6feG55jTzX$0?T(ssy1KoyIu^#cIrw{G!%D6rAX-fROY zEZp#hXpLzxivzoH&^Xs@R*Wg8OBnI$$z5p0;d2C)B!c$%^z$iz$i%nDe#NoKo4xgl zzN9L@adLh*R!`^2H1l-JVr*bNjl41Q^)lOCV)b?hP1V-N4XQNJ2n)$FvnVl|tkn&X zM}r6rE>^SP697?-7U3!*wObw8hG)W4Hl!iYp9j916)U(^=#|e2%4%&jrM2C@fu+i( zGSm0sPbZG0`o(8{g&F^nBk$$kTct^E70QJnZm0feLs2$x?<PmvvD`@L?jHUmw@r7K z>_TT$0Rm8Y!SfD-?@##Dv&<~cn1kK+;23MqF#x{*Aa-P<y`AdrwB{fwICf+}ze_pb z$qh&a;~N0=e3(+;cAB@3x_6q;p&Mu6H+aP?NgcVf>X?zPk+rOKKz$Y_&_T?~#8*93 ztahg`pNHjQ6~t|4$H5%r{&P^^@wzM0|MD;+Lom^<OGO!5WCcB%N#x@FBGDAX%X~UB zbE6zI=Uk7A_G~sg5`)@JKJ_bVWa2|JbDow~9$TqJ1HdRg<}}n{Vx&11Hu=f2&ZM$m zASdl<)*Wa_s9X1^HhjPX7PLzuf69a8`;NL9{oft{r9gGdx2~d^&T0h;JBf>WcLE(H zE)JFH_dl%_%Eb6r-<ofdeo#S=yjTfn-1}(587|v&RBrqMhA-}=?xkF-?eZ*T0J(00 zqIu<;i+3DHgGv4JN`}l{2DbN(7}yEn?h|a8XIvGLUo*wzo4b*uChB%+3&W?FA==y= z$h05h;&C(4Vy59DNyKK!6WGh$k?b8IPtw=k=0ExgN(>u{>2{X7j0AYx1sVtwVn$)# zXJR(1Yu_j|MUFO(r67AE<ws61bHfBvxfEdzGNKl}v14jqeHc|D22a>~pHdagxnjBm z4&N6>c910V91iZNe`tK{v$AO6s$*?gS|XkvmoMo=i#A(q_>Mr=L~{wF=&O{WG}55@ z3MPd@4|T7g4DCbf*A+?sqyYS;C<5VqUMrh_*6Fo(puU}u64E_{mC?$t_q3SVAhnyC zj%wqgNTG}mtGPpAL=Ag}_3V0Cn-|H=#;&((N0KxWm7ZY4(vo$Tm4oZW<8>~3X_~G; z$7iEfvXFFsT(u%fA^JxDt?urHm>VjjN+^xm(OMzpPt_{fSZ<L^r6yjt!zWUwEqlMy z-5zG?JBpegaw~FhNZcMWr7(H)bXl?p73ff8XLq-@^++SC%hj3745qzp>b~hSoQ?6l zpmm#=`u3$_f5c^BGO6k(hh*h^*3(Xd?*7*Lz&74$tu4abaOLoc_4H`w;5?0X?W4|I z!XJKv%^_t00d<?MQ8C}U?jS2PGDzMY3M8$cl`B26OFU=A+r5{9Fkjbrrm>-FMg4*4 ze#JzaLxA(#qQ5$fYgJhF)3ewq=sS^Ac(PP-NEMe9<4STvtix0l+^k`Y_T|udEd#V2 zn(h!gLw7hstKfBS^tl!3E85j~Sgv{UB#oY2Vn}XjtMc3BgcV{&Iqew2nuV=AX1qm> z53#Qx`#c@*IG6nG>8NPNS}_~tMs86dojK3S13lgJ7VkzIj-RW<)tl+1ygYo5wT&#N z<|50Zm2mpyI)bA{mc}WBG)S7!ba3Y}C_T^r(UcM69Hp3dYY<jCRaWjJyn=?>@-<OA z)l$USqC_Uc0u|z5W;<{&eT{pfEm1JK6&;&5OQxu{!pHk7uKgE$uzNL%zgF%<Ha0Q9 zwd)(PEObgq4ZuT2hMSKCS}-!N@|XjRLzF+pbb*-i>pbqB4gyqV&x*Sij5wZ#<J@S{ z9^ooWi;80_TnmxLm7v1sy6R`^w}!i2yVLHwQy)ogD`&MUAz2rU7g`d#TNNcwaoTCv zLDVrIn`8mu&%ZNkl@o7pDx+Jwfr`<`xArCXu0dpsfNk*bu)3K{jDm^iF$IQmryJWr zAG>=n|I_O{q4K~@)6GP7vr+QX=97oo-!U)g{y0n=?60J+tT}7_GJ1Fn%7eB*_{<19 zSf^a`$n&;LOo7Cq?H!)MmvrYV#dB<rJeu0{!RFx|DtLytjxEahr<-rTspXgSKix^e zeiI+;=J;I6!`LWs)sCj-N5}NLEup@YN(g2vmg~aF1fSx6OIG@G!_TEz@U8JE`*Ypb zDWphRCDhkJWtplEcH3>}B|v#Agvh109)Z=r3B50~>AU$i<@{ToCy)l!-NiasaUi7z zH_LW_U7Ht9cFsLHRP1^cvQ2Q@@t&PV_p)e6cL&@4cm~y(8?rj4bT~WQ5(>Y|QGWD^ z9`j!p7vM>>qwi{!0m#Dov@^{k%1cr4MM91Gu}OK};Wxz9!b0a$Q}oN!O=x`)J&7iU zlAG+S(fzD``XJ+n6N5RA_36d6#of+|J;A5wz-fZLD&Ul|?3|Zm{dczUzngHip6WA- zH>=C+q>^17ItBAP(~rxQ=i_Y=q<>CwkyjYS4ajCIEn09(A)H|R2K)mSh+-50=l>5} zi41g07QE(lo#Y%aK+Z5lOJ_ou#jsDItgP@{j;-MTqtmW}bm6u8HAVNK2ZR>6gx2G& z$0sg~<G9CFGy#otHMcR|;_(JSF(e5Xipfirc>8CB?84GJyGP+npoB@zU$FD<8-MLT zg~RoZ1_>*P?Hb7{juE}vXzM@YXE8h`QS1z?XG*Nhf9c{bld=;~L2t?4v2Zhpk*QPG zRqbkhP|vxfAYdEdDSFKO#qHOqYsUc;;6De@61^wiUHns+z4`p_valu<<pH_b_6doz zw{qM3O*GBe@$gTK%#BP;W1VgcLB@|*^VF3x`Txe1eg|uTU%kl%7S*ku<KF6yzF_8% z1F|Oj^<3aVze}HgMT5T@{l9*?->wS!y+8hzQU7)QKMnbfZvSgs{2pljddy#^{?}Xo z8c6?n>hFu!@2>&;)9?ASfA_#&xBma5aeMj9GYqVS&R8i6Sjvh`@@?s|o2+&;`A})I zV2SW$H_cP=zMz=woD{FOwwc|CyNbO`V$8X6`|iL@s6C0i<5t?GwZ&kuf6reRf9@Ec zjZEZ-BV9~?<4y*2*YDjiOZZ`BsuCN^8Krht+G;{_ggnUu7u<B!fV<4JKGm*!Ps#AT z9y2N4&7=O_*Gp}8Da<HgxmQNsQ>>-0!#11Rl|SaxeQdDE5L%Zl5&3}pP?Al%_=m0) z1y%a}c1S2kYqVXg1W?QQ?sC@pPH<?t2hP0Jj+o(m+y|s-9%ih{pK-(mD)w;Mt=qwt z<*TOTIe|31M!P`1_~aKfFx<$aR<69#$<zKBm5kXd)1=Lk*P=`c&FdkF$Ka`hAGX_X zEs9&A!r9i764RL&U(mt62HTIS5x(q=)%iMT%c1}N(fC1H=}Ecsg&&T%BQcaEs#GVx z^`{7qUcjGw!HE=8m`y%OO2gR|UN=`K7%j<ikgm#G&GWblFb3BxvCXk_5}mm>6Pv94 z+8h;|Z1R|zfx7ZGF|8+3vj<1UG%YEM2x)|Eah`q_Ppd&zF=a~Ri+W-f;6n^uHQBg> z63ZP?OY0-*=Y+8S4)2KYb>^Q2hd#GGiL~9K5r=o~;3$@@aD|9hD&q3gO5ytPZ_9_S zP<wN$HO?K)R7rHn9+2DmUzRd>S;Ec6nRJWqz1qj8o&nJH&(S<U!ce%R4jHaFx`c3a zHWRvg<NvYsp5bi2;ooqpLsijI)ZU{gRWrn<HnnT-y-I3Cgtn;Kn_97I*4|s~EmrN( zS}~If62y4&yPx|w?*Dx}&%5v2Tt}|+I?wa7a`2K0tou<h{Pi6B;DtqehA#llgP^h9 zU=r$>7G2l@nrfk<)!#Ov)YiiJ55W3ybQaHP&b0nSUsKPLEe<LyIw-~xS`<Sq=Wx1O zotAG?3A21fg=M%){Z^@OCj3%y)>zzNOaxa)68`4>&%gieuVz<^MtKoR-DP7gpX@W; z_qrPzl?Pi8>jeF#-}`Vm-=OaFZ9DHWb)>^NJDz~0DWy3r`P<zh@~fSjy~;xb?gzBl z93QdvAD1ZW!(XY^cOwU`|4Zq=-vkBY>!(|L7Ij+HZck{PRQkay9x5ZbfASV3I!yRH zmWCUHrg=5F*U!(s?33ItZ0s$|Ng4m0R{P>l>!tvSs<}}|s+^Zki`IvQB*qqxuGFa2 zugAA>c^a?f4g_AMWMF!4crEtZ4mbw4gR6*1%86{#eiVY);il{yMLGD~gLu4)KaI(5 z8h(F9V?i6=x#!`$>zuqX;++k|#pA{$n@)WA{PC*vqXLVYRxX;CO2-i*pjAKQmg{X2 z;;~9~EuYI_&-~JSHi+OEHovt(3m@1xb}qtQup|9s45L=iLKv1uuKcIZR5^-gB&#v= zkwJwBSEK!D4Bk{?5ocp;k=c2(Edar5c=B!kh0RSpPt#h<cT*7A)?NS2Y;K!vqO9EO zQ$IgD^;T$ykawg<cOYf*zL##I`nFPT`RwW0na&^+-a`=<p>=XKoeLLm5*VH@A<3O! z5Abw<7p@0Krx%grdL)Y(W+KW&X)>BFiD&0K(>?IA$~lCzhDOeu<sSq$wr+MRBX)@x z+^9klXIpX-K3F+(BXvX%e^Fv2QsGm3+h69)Mpy&~Od?pJ(vL$>@S_;KVE=De452aJ zZ>R;pDxi_s=SY7A9S07EZXm^~ODK<q9AR}IECVK~(|tu7CCZN~Aixzyjo=@|>g35S z=TLe&_ZH7q<>kc^uofzPe;Ru~u8TXbpIVt?nn4fw)ECeaG;^Es_G~5~@I)hR*UL-b zxcnP79G~2*H<(#(_LaKAo94}}Z$ZxM>u^2(Qpfj)$qrDeAz_~$OB2?VS0XwH)I7H2 zfN4BEV?QAut;^8%k6y6$4Y#dp?;EGfIef^AyXRVd?vM2|&a4K-Lh*ekFO|_BkZD?h z!TGNZaO4}fAV!i)aYc1{(fkDv#I(OcJ)^~=8T`HEbw6q&+s3L$+v3V?=>UboJp0oR zZ`0K^U@*$ArRIH}lA>zsS#ZYRZYQPwWa7-&e%*`>jQk{hZ(v5?&-d=KH=v3L?2J<| z;3BNJGyGyyZ9<qd7rF($;+jx+Ze(OOBsK6Id_^Evwb%PF+i^5}-6Ny*-3I{t{IYy^ z8lh8P1Jst4-|671JuDlOG=||0Q7?9by~jZwVWl$+4$;aTG<e6>fY6|-qK*k*(gQfd z=_f~#+1uJnHD@N5c?1Xo+|AibNWGzYS@ClgTexL6AC|_k^lR<_4E@><HHC;WodisV zKM(!KpXI;Wy+S}W)DMyQP=UGbTc^r^H{f1h9bgEvbJ9c%RUInhK=1zV_vR+=i&Glj zvl5Mw!9H()Y9DTyuQ#S{IVu~47cEz|Utp!Og}F;hfit0cZ;Q0?mT>lX1rRd0p^_re zKO&|l@F6D`J|A+QUCT@9qEKlVI)=W&qo@<1@XIK$7g*peY?CpZhu6-k(x`ErFC%SV zRQ)C!G!5i}3;ef%_td=hzc}c`ANzsgw~<Ck{uB9i=igi>C-_rTvG%%9PU*Nq5l3;* zi@vx8TP^*A8bjX{=MPWt=q&2<;^C2L%=N&#=Vh1N(_)U>&xdArzCV688>4u>aSP$5 z)D%G(DB9Xo<+Z66H7Wb_>?V{h4`MQ{83Q}`h1zU&m)AaklfKMrzz!A?k0|i^V1sd= zX{p~YlQMgYNXEpYLJuLAW6`$X_@xf)xH+F@2AGa@e4mLxmq<`ZuU`uo*?q{<R$6d| zmc6=<z;J3TcjSCvfZ|a^y!A<6I~)(B2`(<o&hyn3t+@lmd`{cOzxzC2A6$^BljIR` zKQmF@G&cM5if8Hp+X<G_;ElZ5f;}VNl_B|dYwla}ZzETx^Umcv(zh7RGz;AFeU!kZ zx1!JnfbUtv_Y`yPBetVj7yQ2brWxdB+;Ouhi%X)M(JC`>(MtZ=<gqh+II+0Ty`-p? zh+V<5tj;d34Kr5sh7U@|6V1#$Tl6sme?#OI%VacO4SxQ;{(Vyh=R8>b3LbP{a_7QN zxk!U4YpCziei$^)`hhyCXT<J94IJqBs-K?BA{|rhxYXM>Q0=Uc*L+_hh>Pu~YyfAQ z9e(m*+}stC*hddUJ=lBUZuByl3Q>3eetKK=dpt?35Y)c9()Qo#?-k+BB7bep+YS`% zfj8^w=3Nw@IYssxe6$scOgnf%x^e9Q8`R}^*+*%vp{r|N3e^C@yTqA>N@^us<wh2k zKJl&OOiOdsTI6Rd%sK8*nT-k>);<3Y(J?Wt@Y#fwLTc6qKbS99QJ<wtuTuv*gnpdC zJ{)hm!}``w#&XW<YGE@Ig~E?9x-*n)Cj?81w%Y1FP`KCiUP#q(&{MVD>pQ62=Ad@M zWt1j-{JaX<r)|h|m+=;)r&d;`73fgE9;WX4({3gC8mfoUl9KZ7-1VCbx9uj}Uv)-+ zPwLEs-fA8AaGHq1gO(_RtI>Vla<}2q#3-5w#@i`u=FUa=&4TaOH{HPdZvwNhjKLn2 zP>*1F>V!_5u@PP}xuRnQYx@@+66P`^S#UXa{x6f{fMJZE;zY}E#xQMCULKLXux;er zfj%F4!E_9aM6jIBWZPyJ9X*79e6`rJ1G+S^JMOkSl>Yti9QO*p=&c}5P2_){%f$*m zUhGv5L5p@fQm#+~X9(qw;S5*vx7pkEBB!>ty!X6uzCr%h3Y|1;tz(cMXIh=NO$Nv5 z65SQX_%8Z?i~v{nIN;`X7QY-$`|tnhXX8b^gNbEQ*B8rpnDQQs6B8I}bFnA)l-deL z5a1yMT3lUuRl!um@ju0#t;=tAUJXbNMVP1fc0~e$ni;OcCI35R#~y0I6)O07VP!dh z1r3yJddJ1B<M{gXZ<%Fk4!9|y#K%N3pPid|SKaq!7_Z@zCsolEq!M2qC%xOF2}if% zeJi<0e9+zR^sn#&lOg#Ss>n!oAj7x($glfY9{4lL$Ou`<%j0SkuxS0sE$IzDn3B6K zP<x87DNHUO4OF5I*B@P5H`Gs62xNFgoyjHRrf#mhxp>)R7q{mZu#MN&7|t4>OaHl= zTwlaKw57f**;W=JFE0_VxiWyYUA?IjLPmp+=d?c&IX{ZWa=?#U_$_~(ip?yo=ZH2c z2i>k2xthRCl(n0iI7AF2j>{?f{@xr_N88ljRXOddatc_*c6?LZzK98|;EKS=l~CYW z-p5$Eow|5Yf237U#%|-mYz?;eQkpY{kUBss`b7vZXN^|xFVajQ%jdLTpe@mR5L5~I z1mdlztfA6Ud>fE)32c=9$O-n4F~W11C430ct`3eGCgDpzYTA@&B{EY6kPa2$5ko8L z35Y!vEHVj?zy9a-LxB2$v6^QAb{UDn_?_RunfLH{$=N}(9(ucy@50$|vxB!Q(@K!z zqD<xFS5zX_EbMl+<w3M(<)9xkiA!Fo#mlCAIEN>{&KTFRinF+NQXJBJMy!#fDJLV5 z3EOY<JlX!F^5Z|O0fYJ>C<a)$D$2a~#=CO8jTlLhzn!p6yeYp0QYgm?nr%)XM!kyJ z2kYz$N()S@sJ6D@knlmk-<Ag`_L~<QkL}m3maN)0ZP=BCRB~6FA4hJ$@tjvh9pkXl zx}OtXA8wzeudmFzEZNk}Xj@rZR7yUT<PmLm${W5~oj|Dbh*>Ht)@-)iJtBY>&A_ID zG)=P>8Pf96Xo?(sMw}y-t6)j5eLGaThpAlL02Y^t@sP>n@DAj2sdOukc?BN_-Dw>0 zr#yS&)d&H0iaxiMgKv+5=y~6nltrcDX<B*mbDeR@IKWkVYoX|0KHzSFU=Df#c&l_K zgU7?Z5Eti=HkqFqynh$@YI!3_Ky+TmX-TqArtf^}jdW$sFPp|NT$1<6+ci9@f_Gbr zkooz2J=kG{KcNNhN{9o!L$aw~<Fya&)xE}UUmqyGzpwTm3-N!>xXFmYuIFtbv;b$# zfg?%z`$>l1w;0x6=oU39f28!W+oI(Z6?qI3pr^)510uBe@n!-40h$8r;{aW>QPZrm zaAwDy{0RJ=zoH!mY1pw4SYeOQrGK#UDJZcJIXoq52c;QWfF}L;<>Az)Z*w8~%J)%+ zYu~kYZCUwsQ~#PI&{EcJ!};JWb9mLg@CLVTw3Y6`cmmOA-N?yu6S}alN^|fv?)<3{ z9&xj?E5y4R1e{r{+`5dXKN<wH>Cz_k2ySBp(e%%(aF*qL2FeM7obN4;gSNqP33D>M ztb4Ltw|-+SuQH{bJc5B{%7fVw`zvH1X}nd1{Uw_5sLQ61xB^cSSEX*Tx|`H;07o<g zCOBKq)rXxSKmoyQ2fqqD#SC29;hjiv@J(OVEgoW=K^-G_i%7@@d~OUMqsWiw%7;&S zhdqYW_&)rC%7U%GKn~9G)oAzvUVPV<h23^m9a*794Lab(=J%wzM7Dw3h`H<T<8m}Q z%?S))1jjlqY((;mhgvCTDLB~vr1`O|r5Ux8pCbong|nbo&`gSMZMJEIBjE0O!f3*! zH4Q0QMS&nf;+M>oT8YBvD~G@?44FVMAo<wI)nALrWMAm?VBY^>oeZ@lTbRJW62<7y z)sv~lxs&VR>yJHX`s?_n_k~4_@LA_mn#?LH%?_e@T((ZS*mXk3Q!bZhpIQbSX1a3N zMJLl9s;O`N^`o0Y+_w4Lc*YK8;0bVEanF=iMb^O0kN5%^xGDGo8!l&cj@pcJ#`eDm zCl_<T)wQ9F@)`U4I|0S!O0j9a3=MH{*oo_ZUtU}Vx#8LTWkr|G1AQu!GIH^ZYX|pe zL^pj{-DzxZC$Fq$0he>FjSo})_;%6#*3Oz%o^Slk<dI1kRN341FBD8TFvr;}He?p! z9YAZ5YuzN&u8eTW@boi7U-iQ!Gpt!)weq30RV9agH;5A8pwP}5;+TO6+gjhs<ACeW z51HDQ1Hlc+TL+h`(oS0zN(YO^_9f|TPkoG-;WH~4*<?}Eu_F$qKVSy1gVblGj5NaV zGws+}61#XBLDZ)Xq17d$&5rH>#@ZZSzf%T5y(T_!skVqJ?jI)t0<18O$w8@e7lqW* zYg@Cyj0Y!x%pxS-I7nTF_?mG4uTKKPA1nC{kqw{Sj7cjZIalAXc(3r^Wi;Z2vvrXF zpKaBJ-tdWJlet6<RXUPXpedd$te=DD{IzowHDe%^qWpiFgNX1hIW@(R6Ll5BY=hh> zE@r6{8_sh#aO|UdIHk=0?xF<#F6Qgc&hJ`OKIoo|$PFIxhi?G5WSCC~DI{tllItmB zQY1<rl*Zy*i~oh4{t80OwAt$DU{r{WElf}3jy?xD;Nur(&JAa*Jw^_Z&G_&tR~}VU zGnf*LEk+PC2_=Wo*DLk@F{?s8i;U3Dy0=6zJ;1gx#2<XB8pBW_IK#n|f)E$gCACeY z!Cur$?2|mtX%^q$*=lK<3<$y_uH}#=n_ErGYQ-6-3xlQt!&$ln9i9{vR#XxfZ4x3} zDttZTMKP3srpHndo8Ws!JV{-*pz3vOVIkxUR80m|Fe)gjnS=g3+6?aC-`m4?yjSAj z&eIQS)CO6;!E&%F?#|hsBBt+4v@tHXakniMQ`bt{_B-hlRoJ`R53D~)n6H}f5@U;g z_>~>>Nwez04ix`UtLsuZ%0vbPR^I%IMlFEo&?MM13&qn5@HQCF{6BGvbX>WNbyy9@ zsSOk<;;rkHl?v@8h&+j(ozi?it@5at!a2K#d_u71#1bvcxA{~X7&5_CH9@@*i4WoH zXGfY#aDew<J;S$>A;ibP)s=O64$pT@Q`o|Rm+&L~miW1-9hxpsy+T+SMMU63FcK4{ zFONs{Md2Y8y1J%$_KE4PzadBAliJ^XjTX(=T;UD{`7iOBlWe?$15m&K>`{CtJih0P zWwem3Yskb#8J_a0r@NxNJeBLSTB@*Pf~U$ISo{fxmMITDiq`Coe4|Mh`{cz<Vp7h} z<GQT&PiscF^A~YCj&zWWatT`LP7%)Ye$SETd&OQ?vZ{yuk?;S|X$ONp2AVaC9r0bt zeU#jHW=-gfNAPMpX4No3_qlF)y#U`1(D%Qz`uAEm-Svu9a)9;Z{>Zp_1ku|BGq{sD z4?c5e0(j(BxiC0IfNylrW`lDgFH56OjC-yooZ)Rc=qo>70=%;&<NEP+H$|OfZiTJs zCq<-ybQ9k468~HxS8_sv%hdwP#NJAFN`PY#IuKsqYS{pAv*CN^izu3`CpttUAUtX( zRbQ}_1_;8v3-@sUiXnLyjNBImH|TWXR!+5jvPp`A821_9@U}mimx7{1gC*@?qfsMj zK5jK@0v$`Rnos0#D1`&CO)CN63;p$l(lS@PQ#773xRK(&_4NPTpW#jAnt+3-*+!9} z5Kl5T`qwS9lT-Nu-+7)-ug64JD=FCPW#cKrKXY?|UFSsCD*tV)Wgg-sD^IkoRSsO# zn#m+0uu@Z>aTzF*-8o8erYyfQsKs9RhAd9=q>kQ5R>+_EsF>mSjj&jW%@I7Sv7^1y z#KD(SSb{$P^`Lo4Qn<uoo9NaliDLpn)o+D|<0wLMmSgrM<&HAfzp)NkwQa7y!fD*M zM@CVJDMxXpuqv6%8R4PkO8@;`XNs1z4g?_IdR5xh#%%CRzwJn|iHX-`<Q2^hmc{Kz zRavvHRr-f6b~VkR37OQ2`DkHsxqRBvC!wV%`OW2?2a$o{2$Gst$JpbcBN>-S6~5b) ze31sf$$(fxpN^C^HgwZMdZ9qh!=JPVS&kJ$xV+7va|^leb}-h9*pZV8v8W=ZS97Z8 zdhlEN&DR6mKhy{FxdM^<Gk_SadTQk?G52gvp-sH8@*P!0IeiG83;R~vgg8dDw{*M; zZ`*My)kmf)wM-0pO0#=L?P~e4zET{!5T9cDG*&zsD&11aI<EDPCoqujsf!TYfL14y z@j5yd-V56uO0;gmpZ=I$KKx#x{hL-{_M;F6T{E3ho%(No!kl(thrmOMiTFl_!Owvq z=Tp+$zkS@8Lf^=ByyE6hX+VH<wvCsk$w9~WV;|5+;$f)l0&^1qK~YCLNW+9MMs#$B zsj><<h|lDdi{WhAezm{$Z#sUhZtDYBX-%dr?iW@kT&s;~Sk)sv?pxs7obb-I?Ye=w zS-<^~RpsV-<cgG>nR8dpPAr`n*_wL-v=8Z*mZR}AG!EOM6)Z5$dmykw4`_40?9{&D z;yQ-Jd%UWII0&$d`P|=pPQ~}f%vOm8tA#E3RJUGQ&Hb7U;r|z+4^yDu*`n;fZig&E ze18B3&m$3!15vCn1J(nDb}J1}Iu}swQl2zE>M|2G7=UP}1;;)iNuslDJqz#pp;&uD zd<xjp)AJOy;FGvElSc#FR|(z>E+FD?E0T-6O{gs<9A9KmYkQsvW0(;34;HTk*%NXs z_u}k7#SS?<Pv>|PMNutvca1F;n)*lv@|PB59!7nGgyNf@3ScD92*(~dKFjGpZP@=9 z9`VnZ8Jb>zWkDHow&*t7=_^Gc<$Y2G_UceP2$c`8Ny?j3jBAKwNb30>-A!!i@`aU; zgZ@G8JWUW_c8C&WrjlMTy$DNIP*a2u?Eat@%wAEgQK{o-d^_M@0TsdP$GO_4>E^d0 zWPE}$1~1At#ntu8%;ypYyNLr0^xTtyo`=pUreY_y!M<h`JSb(DBrErC=n=K2St*cg z9VgtDZEt+UH|`vaBz~ravE$X<-4Lo@bM)`s6Wqi_7oh2Nm^x*L!?HF@?Vnf5?D-v? zV4as6xjxTKZ|0oFLV_oRzir_ybH~5VAXr@(rmP%GaT6_$;c%(XwK97PzLt*j*|Xnn z_;kP?*!ib{s<Dc-myl@Ng(Pe_ntt$ca*FGvErh<;j-JZuN8dsw<+FJe3i_8%%Q9o* zFaQe}{2=sFNuxHK6aTW*`Sotv2Q&w9ddD3N&lKeE|JYRyc1~v_sen3B_aBjU>cPF* z>Gh<)dC1Qi01;uwcrQm@`cnE>>D$3F_I1^ECheHr1LRwb&)?PrTEzKTEU-(AMNDS2 zjrpZRgn?pRSF8$!sj;O%ljqLhVwXQTo@5>%0RBu%m5}Q$zUQyG?2cbfLcJ&w5qpLm zQ306OAD{S$qv>mN>l+RGM~!m~){YP>;qZK|Tku1$$3)k!`c1s|f+T!zp{=E)9ylT4 zkCuANFxYdKkGc9_cRvX*llCC?T9UFRtiRPg^c7x=m^ZSIpU2$)+S_MH912Z}VKj2I zVS}b=Y(gSd$9*&3D#Qm2-=1FF{D4HN*qtg3$7VI{f9>Ql&jl(=dBN&>P?VQXlJ{Z) z9!6pP#ovNFe<p3vUQcDw6i@o~nTBi8h49kuXVqiGrKz}@1N#R@{@N;?DQPuxnxY=~ z;^c3qM3ze7!d$ECL!xm30rRs-F=;2Uz(JAg?b~s!bMwd8D%bKEK#tL6<!Z1?I#sAV z8gI_2#n3O$>dEYXC?%-{L$rLM#<b%qftIRHf;~zCYQ1$-jjlC04gZko2|E5gXE0`X zHiEIO;vx$Yzk6o=ccKkm;L&0|5C}ZTQi5%Y=j})Kx<5L-sXSOimO9r^U;Vjaqc;D$ z#5)cNC_g?d!be*@jno)l7g@9KfMjPNuia3=m<!jIO@MH3MqLfA>16oCfXFbF3mEjj z!0P|gkmB9A$-!%rt6M6>?LezIc$-)Ir|g#uc>ty?q3IshaXZ|Hwo{Fd2kMp}%b#H5 z@~KDJv-LBU$k%e8HknCiEDVo>HJ)0*hhqPd?$IA5FJT^fQ9sNk`lu1QA++>$sSs4I zml2RD!eG55n6T;(;KN5vZ`vA&$Hozr*S5MiGq}xc793WKwY+sNHbsQ0Q2)T^@*N~n zfi(Mf=qpNcld1-(pQOV}r{R*M?eEt#nGK9h-a94F8op&HF7L!s<r$R~%}Kwfz5nqy z?riaM?et6m*Lnz087d#yuM5&t33pclTCA&JekLNssdU|`!k3K)KNNq=^qq6xx6{*( zn){63$?NLD=TmjoLnya(=XC_!i!^1wes1jc)s&3X&;Qm55WU1oje>Yv=ZbyWiW=5t z$3^$1Pf&9=_Y#J8jl4AgHa%yo@CQDf%=)Yc0*AvEyaXa*0-dvP-&0myFC$?Cb&zKi zMocATRdCuG2~KJxgvd=Ba{{Nxj2dS5I~3D%yA)fGWWniL8FE_eJaF3ts0G+#Uyv1+ zv)I#3PiPvc_?QavOlND0;nLaF(%iL{3@5UFE{t6o0{s~4Z*bm6rb?uI!$`foz#|w8 zT2>bF_t_h5x`XN)<A1Sx=eD0NAR-H<;*aZPRQiYXD_<n7bZ#_PDO01;A(7Wr>f`6X zodz~zr${TRByKRbw}%~$ehkWq71vB_XO%vP*rdXHcTN2NOA&y?Gv77&^e~r8iL1dx zw@DaU=-g1UhvPcfp)fGs`SbqIr?=5$kf}epS_Xy=c6Nu~7%H_tySbG$d|23OG0k58 z3%oooS}zXRT+2AwrVcYEp6w(?(<eTaK^zCW4=?3H9|YYw5Trn7`3=)XA%b(&tPLd2 zVS<|iqCWk{M$xaz-Ad9#66RI_I(#>l#fv}R>y=lq*y4`qjt7}77dNLl;ERZd<I)>k zTUV`YK{gWDq)OqlFUL%7Jw%&Qjl!Ir2L7<Hd9I+tt+3-y(bq?n`elg20&f}Rp_8e5 zNr-ghjOHpskbP}AovBn8S-vFQR*R(H<LwSsmNBzF%lHoO;j_>GSQf&MyN(;GH}}dx zZu|zL0zkU0#?jrejF?}D&-ITnOYX&xAKFM%1+I^=M(uZ7LkoMyZ&5Mg#TV;q$>Nj_ zG2!!42%)lmRAAj6iX+R`H8W##i9$N(n}!4bSh@Bk?vC`{(8h<6i(is!Uq75(0TS;t z!?WVDfR5LVB))*S8`n`wP<-dYTwfP;4$zSgOo|D>&~H4nC71jF7v{FJD>$2y8v?m$ z6azpPMBY2Jqhbi%HR^dJ?Oy5@=Ne5TGzcVWtvef0pk!f6SfzWtsHAf${se7I{xPQF zr@K2jQ<N0R_MM5qbKx)t<fb++xbhwMbG#oZxN@r{5%Ir1&U+IO^1kvWD_Pj>y8s|w zB<VQo%AX{w3RV7D*D57&*AC0<PO8;)6d)IBj<^V3_woqx8K%i#@+QNzs19YL1NPX4 zJJxYGtus<{n`4&gzOZZW(GLE3+*u`Pdn)7pRf2BjdX_K5F+heoAGyq{8<Cw!z0B4) zH=fG%=N#Ln1qp7_X9wOmkCIKQkPR5oX+d4<o{F5ZL%&65_%Uxu9eZ9H?`&~0(Ww}~ z);rhVuLK6E+ELDMaEC@8?f<i1?U^Tc7T4DO-S5$ZYPfqWAkFJvH3ZrT1ZjtZHuqZZ zCo!cX*sGr;pgYyNnMA=8lAmNhJDIK<Cq9ld>O$Q=S;d_!!ke;VAiP>Qt3k$=`FfuB zAa#!S5gMY`hL+)#3^y>``uc~tu>jPIJu1KyHVnumJ2ScFvesYDD{{Elxq#!c(*8}| z-Ey^2R!*Mu^tBPA<-dC+WHIK$0wt=v@elH3@T{`wO8w^pYi;+hf|~#GnPvN`l^slb z4l|z=zdNMFye*Srv#s4+!ToJrXwfSkDbzl}$-*f3-f}M8NH-R%FU8)!JD!p1P;6U0 zvydmBQ_cUgGA$_gF1T$w3#dchRC`&0*SC}c1^imM0_>O~q15fzY#B>G2LWw0fl)U? z1|@>#Tr-%Eh6jc0_}fnz2Q#-qz#HwG#v^^PB5K)w<<F03Eg2Jh{&312B5QmWo?p%+ z?dtqqIG-2-%~2g}AKVhn5l^2j26}pC0-J)S=XlecJ~6X=CmmLA_`taZK-E<=jdI;% z4N@sVG#I>8+4@<I;!{twD|?JQ2{YJ%Mg#m}$o6pgc?}KrJ7d2zau!-X4xhkpPTK4F zt50a&ROMH)@S+yVXs4nUQ3bAU0v(}8xc-Tz(?(SR%VewaBQ`*EgFW;L9|*V7dBF4# z|IAG}T=mo4Tw979TpwOU`pLsi7@5`fNVMpPlOMps+_VpahMPTCEE7&53<lMFuhAI+ z2+Vw@^j)8e?nrJ)JNq2L`Cl?r9ADN~E&_YAn%+5qxeSI6M`J2F6A28Oel}6rRcU^l z0HBU~t89*BqhqR3Vz6v~Ys~c5#`Aq*NA^WK)(!P|w`>=Ikme4?HQwMQU!Hv#Z}f^f zca9Lkql>AX2G=^!_#BbZv4wY*s%~?22wJ%Lb9cpJ{d|9X^$3*=9HdJ8W*?j;<ve@N z4S1=~;Ez3*j&GXlTo-N(GkjHpB5^*M=w=KKjPGSKr8$ExyYVXM&(1|vK+e-LArs(s z_&DKDttdbn44{{{)gqtwj{ARH?5&oKxVJFsOa=K05MudfP!;IQ3w;?!HgQJvkG^rI zY6f!O{ezs5Nq-tscpw)8DZHDnn|&d21a&Ro;}BVnZJ#wckn-gW%Odvl)=fQ({IeFM z<m(HIb@S8^+CB+6*Cua7r9hl7R(qb^i4sX>XlB9tSxtHnWd;e*8A_pElUlaA)75qD z(o19U!Yf4f_QO4XOuBfz)cNt(rv*f0Uw3eisDLLya8~+9`D&CA*BV2hgs+${vB;BF z|KsJ=p@!|Y8!s_54U?y@-PIZwIt%sXd<o4X<tCf$7uUCeTavtdHw>zZbVQCMpX^qd zdRX;8B$grwX*sBpI^l|7*yLrCw<xCI`|$JL&uz&sKcdaogNBy=bq+pkC1MmLT*kGL z2Px;n5FXoEKhN*P&o)5m$XK&Aa-9jMkxlWh&^)QDxOJk{TPc>QQX8ohj>Jy@%bD4& z70e+uvsI9^>UIl5+y0IN0v%$|6ugCM>s$@=7+fQxMXAYx54P=#$D^S<ZQX5Q<=I^l zN5F#oZR}+8ch~UWs?5YH`uU!1n(YB;TVQL|m{WAabRT<6XkmnEU~Vf3ZcKWA^eGds zuLrd5S$xw@%Yg|785}VLs<gL1N;fLDk4;sw%fYI{6h3H{$3{FakFJ^LosCU^QjZzH zD(cIm52WOXN6T0bvg{hr8He#TtS{X$9})$7w%VTpoXxuO3VtsJ)^l!JhYSfwnPTM! zUTW00Zid$0`E7hm(0UAk2}tGy>oTKemzaO-6&5>jzNrBt>D%k;4##sC5OW8b7cvlm z#s>=TO~hxgG-<%Wa0!Erb(w0H2ZS81POGmWV6{1hM!L*j4MZELG$7ekV&9G0A^g<~ zBNIW{a!y*w8>Swbe5J!%l-FSwqKSo4x=rw9sHVi$1>)A2J1B0IV%{(9%T|4R$;wA9 ztz*~?qLjRIBnEDaebN*eI1fN8CES7npfd*-`<qcVnS2*!%hP<SHggVcT}xxlN<(d| zaC3B*r2I|Qs!5{HIsXu-^eF?9())Rv?R;H!QUc(VlX+5HGWV-)a_A$(?eXH`?IBFf z{^+H4hJ-Jv{Zi4V10ylfD3m+O?|3QDt_ochY!mGM^v#zR%xOQ-`i^&y(r3QKiy00$ zb;r7@H5+-BbLS<_y}0w$4Zz6mWLzrH9_~NTm~fixQl)rz)P4TX(psjaxo;BVG&|h6 zBmSUaohUG3IvN_GxOL$SM;0hrSLHO3S#szF)7g_v49bz8+s}(`+rNdS8P1OS9Kt%e zeE(eEnuBf*vv;K?Y5p;9UF?Ah^R39&j2=1=PBX*R*{xr6{aPZyWF(Gs+)SqJ@C9Am zMBXxtF-`R1&3~WKoR<jH#Q8)^?YpHZnm`<&EePP=fUHU~r>Yh1xBV^fyC8UNg&U+Z z5eS=Je|hke{uk-X|8J{sBbb2T_&w3UMV(c3>o_ld**0;Nvd9gVUKLoJ7oD_NpUcX+ zFBX2UOyJ%HlED$TZ4U^wuiH3TIA$%*D;%%*LUNY29S_-CtJNp2a)U=5E)-05d=NKX zlW%PVa)3SRssLLF+ns?>!!Ky*Mcbga_O$Gb28#CsOD#T^H{MOW+3OD70&EifCGBqb z;A6;Rm{8ZC`0&Ro1Ec#xC4u?0|E4=qm>)Sv5BhQb#OyJkK>RDl@sZZm$5u+0<j6E2 zwR};f+?S`+NWM$vmwz*WxTB$li`##Qz!mf79G|L%o!;PCE`IZNLFk(z+aVBXsp$7_ zW~feH__*IQr{Mh<)M&gS<KiWUK?ABVQ1bH~cBifj1hiC^eTYFFM!_9$RB`-q7?d_! znfNK4sXaVY7z7*PUfaySu<*;Sz)gSRe-@x__xAdZdo52dnl|Bi!}?#$n6U5WS<!t^ zs>j4|0B5smEm7ptc03V92H>=2>TI$F&@EJOsATRKyV`avZ#z!$D(<LKCO7xSPMxGj zy7MHvd#brIRkNM44v2oZ)tAws?A&}tT7Dhz`xyG*kOJeCO%rW+&*N25dyoPoN?-9I z^qF5_&(+AL2nYqTNvmdf%58b=H>sZS$xN>{l75fUoKwyQ_IrZq%c6dfAY;7cf@`9! zTR!C`MdKdo3oxxCH{ar$BTlPkX8X6Cl7psRls<-HE3@<U%aj_?ZzOpxA)lgY(APDI z`FPO&FnE38lTatUkaF7K51wzbyT`UldmM#*cpsFY7YJq82vN7`bN%=0(K7}oolG~) zl&V1{izX_~otOsCObC~CAF^tN(6{eM$|Nf+#5Z9^bdm$o$wB{!K%ttmqmxFvZ1kVO zm29gRQ|V-v6NY#0?q**g$Dav_UeZ;;O;bY#ODbtbu-5v@TqUC_foZEK7s?-rt``!P zJQViveRQEo`M%7L&z;ugAgr$%-s-z-j>=cD#h<!;$MND)Az^@?W3k@+(*A=9_36}w zSPr;fX9uV5^w9D|W=o6rOm=|^v<ZuSM8oSnjavvYW)nFZ_aG-zl@Q>M07~1@Nm~|e z0lLE9$O3QgK^)eJrRgB*z~C@H?W(gGRm>Zni5kbo@YZ-C2c#9s*wU)^@Ig6XPU7UT z&wboAzSyU&c>FtJ+593uIAt3qZ-sZe)tj81`rB!H!sYw2t6Ace_q~mbvLNIrr}A+S zUR-gq7Vzrhz&KWp^wa)Vhu}EHFEGKnEkaj*nXa7>W;h&H^>Ihc@e11yd67Z0Nc}gB z1f2zzaoQ1uq_DsLE|qw_QwGR1mLX=c8NXtH^tB9<?{TXiLy3|k$LM!y4&wCprgcAE ze3s$_)V7uyA1c(PE5taE8l(e!FnBiyn!{hdzE6B5<8B+btJKL&3dP#NP4NZ>XEENZ zsUCi@Xec7a6TG45<x5lu#I9~Yj3p=5N6YpT$uZ}V=UT3Q`3Fp0%0Ie0`t;^r@i-n& z2$$d1W}F-R1+pE*_W40=Q%L!T7T6^qI@wWf!Qv6m3n`o_$q{}w!=S|XZQ;1=gfN}- zgOcu7W}xfUi9AMCOt)5X=Fn4h*rvAMDOODYd}X<AWSsqa9wl<~u>f@Fq%%jUwxSps zv<|m7D-zJUaO}bNqk}tGclgIc9!J{4t}{PX?tne6?p8%NTchPp3K>#-K?WqbQY8FX zx!DT>tQXGkIOEQ?bH&=zdyf+VaX~ulHFt3>6-H^<wgbieX@Bba_}>{iA@`rpW_D4` zTT8=+RJ%AxPqb{9Zy)W5;Fuhxj%&s)ZQPsD$8ELRU$3X}9nkYJr_BDK9@^^8#}SVh zLOO!Vtz<yY(N_n-tr1#%E>x9@!zX!*&k&in2e9D?_5Z&reK({Rg0o5!sugFKS}19+ z4W*W23D_l_AdSpIRm;ga8;snOoma`xmQ~|8EHGgCTl?}lQurYI-MapxHv}(!Yii1? zFe5a`@8G+3y?f8(AHFGY{P+vt+y43`*n=ql(zi(r;9aLr_8uUc_NevfNqWfQV$b6Q zdA8k;M|-WeptL~lSZ!El4uys@5}EvmWL=I)o`>X0Hm$|T?r*}!txJ8CcPyI^u_%d5 zviZ<JjZ-c0j|#}oAcwI>itGNJou25G#D=F!@p@Ea1<1dQUE%D6BcIc)6Mm5d^P?r5 z4LKElooQl5=)*o#xw}UUc^ZleODH&ayiq2yfeBPD&9j{SxPKSIMs&xQl){P2`42SN zgX?==D}y<0g2-4vBPDrx%0?t@@p^Pr+dz0$&vZupnpj6d>AU>kLJ~#tp<FJ8`%gfT zJ_BuvF0HQh^CaTn9FFF>$+cAfv62PRE*TJb1SNIw5a<zE@v_SO(VX`##NUwT$T<8S zO+4a$5z)|7U=Y&4`|geAzi30E`z4Qo8!QzKALdf@PAMFA)rq=mM3MR;qQk9HM(>cz zY>6o@rY2c?QJb}xi_ZUA;6)Mzp4Ldk?!1O3b+<GQJLah6%hsgE(qGax3OyB6qGMfj zlFM5bM++yFEc^ca10xTIRd-&hRIk10-9eHHkyYa65!oc;BoPc-P#e7#UrkV*8E^UP zf0e^0BN9!1zEA5-(;7h2NyA4%AZ-=t8nVoZ1c8<7t)T?@($oe}hNH=A(Ursld<jx_ z`=FU#5KOki%}xfQp7yorA4?b7ei>3(v(>_&-Fc9@D9HjWv8h9S?<&~x#xDPSR!drX zxykhyZ&KYMJ*nKq_c23KvO`T`{_UhoVei6Ex6<jXA+O(t7NG=n_tk9&rRQ?2q{*vE zjQ-Tc3B4_UwkXpfGRCMe*$gR%w^;Ao4^qKTmh9{(G<bnD-EZ82?4|Ga)PuS-3<tYv zPoImqX<Zj1*il~?@m=uKIqNqKrL~YQ57jpmcK0HJuGV{g1B#1E0j~(8G+=Gl0jn)T z*I$pgZ{f6U9H5UY9D{HCs}^2<6WIEfUT_}Yv3VWjnsFVEsJwm0BbCE;6Mi9vb>i(} z$#BXGVM-b@Qk}J>{{sHt@owlvaE@@JlrPkp%QQeTkZAQ^mI^**^x<hN;V@_Xqk7TL zr=dgd+ZwosDcFDJuiX8tDRQ2oOwEzbBG3eUx!8L~=x})rxL@-T?D+cv9Yv5186!(n zDmPI>^?iz8y(*tPBun!RQByiJS5;CN=$yAsKpbP#4qv=d+?BiiH<+1s+(ng87EHYb zh=88MpQ>cDt!gPj3l6*A5ZVSZ4{0X`yt@0KdwFu2(N9XKnA2zwDo@n)gy^O~Io=uR zQwjV?aam1P?uyx!bkK5NF$G<Y;iSFV+3kCTuOk7(i&6zO1?I5Q!s6Z*e?MbPu5$2l zVot)7KrGy-e<CIWpe7mmaky!A^Su)i@J`(}FtrLke3O(x9}6?E(-z)DslA1ytUHXw zF}>3AFH*H*d%>3ISv1czF5%@a0s-EvbKQDdV7z~t_2%f`O*0U_Z0sp}WWeb>|C9wT z6->Que)y5zawD~6ZS1l>>vo#v_BGh!NB|@K_bf(RQP(=}xOhgbM@8(oe~fzKvNOkZ z=T*vBX%Z@btHprEDkr`DH9rv*rXxoPC*^qYdpRl(1CmT+hFR*iR4I0a#3QnV2B;K7 zr`tFGUUb*nE!Vg<b&~SH!E1BK${}p4>Mw(xL+?=|HhK5$DEP!EOe0a?M&Rb(Oit4_ z?KwI3y9&2g5)GOa&J}{>GSpS@(8LdZ+pW*d;)P!{diA-x<^39sCzoyAY6;%KaZIGc z17+YJaA%aN1ImINdUT<dVy(h_Ug0ctx3+pmxN0w=vK;_uCiWhau5Ik&FnRn0|G!sq z|9vpM_69n`n^Sne95?Xk#4DgVYdX^MT1uSWe8u=Vxmc!@xa0WUmm1aY{(`UGXFb^f ziiLDJ*3VZwKl#FJXUTNY{u&L$hqn)xAYMBT4@{3p48LoVDc+CnExiVG&zBNY1Sv(G z>Wo#XsKBaF<>JK?$%Jppl?)~>k&(9`0!>y*H=H)3fOo6%<#jKYqOy{CK+4>-QBD0) z3+8a+^U%q;H&SVuV)-FEk@!<5%{BpVS}7iiaXDTtzo&cdZKNejtftr7nc4B7H<h5h zn@Dzo_P7*8jqOuOYSzu9A~%8gl1fiB#1D5wEzxd;XYn70@IlWvNn{r4{eAfJW?8Uu z@szbIc=+Lv{1IDxf>SxjAC|?s7p}ZMji0LCqk%eABP#iQo^85enklj)xv4F|JY|pC zal^v5h}0SpsW&K!3RM;g(5}(~cenkQ#63d;FY`mD+>yUyi{30cqR6T+yCc6JtTy`_ z`nszAm-D(|w+1C9<g6XJ)jZZ`&l5-VFPN2`AZ31W*vObw1q-^ira+;1&H+wR_>-t| zm%}UT^6D6U0wq(Kc3yP*dvckc`^4l({k=sgFW=q@vt-3*wn7s-My<AXZo*q|qda!{ zM<okXl*dCSyDKYarmsRd6holJf_wBa$}nOun%Xa>pN%2iGFxFa;U))*ci|+zH|^SO zg>cFn)7c?b<X`vOTXRut`Bjn6Flr+CWQ}MT^!El<vXdp5229`IO(59o*sEenehafq zZAgh19swOOs0N-^zA7zOHEootBnhC<oC~;F_seb>H&&%ruNPBTvX;4GCz+e?i3e>s zMR@Aj;sU##jK6v$Mjp)Wl$9n8zTpXDXb4ue`JVa=(6UGIO^BN7+UlZTa`a87bweJ$ zT1Nb$Z3tSrS2wZP_J$;PS#cs0t{~MLb5tQDdf}hdK-6NaW5i_#ZH|2X3>+Ji(+1p( zdr4%(LD`U~{|iTqMZ`b{+2w1*<RaN?Dazr)#04xb|3N0Qj={zhhTxr6qwI(nlXg+W zb-5zBs$ml~0eWTZ_;L;t4gJx}46k5lglr$%hP@#z@ym5Oc{5A!RYo!#f;Ff7PJ#x` z>-~9&w@|yR0S`kSHl6y8+_>i0P8=#92eP=m2#UuudOcMRGh1I%>f$2A!dDufXZh_q z!-lBPSKJ`u<q7H0HR0Dn?4bd*2XzxDs9$fXhm(dW5!;@mj4rziB?h-(%M%mVn6t&V zb8HNPEeGIVf9{>Yo16<AW(qX^zGBTH-m3u~m+f|V7=O}FB;*K)ixG%X&5!OPr0aTt zOLmJLz@w~}<dVUi{E_6P<k>dECm*Y{<ty|h5YO#74CUG$iP5ZGuhBVF6^RAzpV4u^ zk6MkJ-|+hWv!l;R4khHtuL%CSzHA>jbj`j<9||Po#<Y_z4yB(BC!b{G6p-3el9i9B z4a!=w=Y2+$zClQ-=A)MjG{uXx)1vlG{-__mg;Jpys^jvrLMk**8JSZLmQ2`d#%}mK zFBU;5kO?}jj%Lj?fO;6TSY!AkP4EN+Pe;W-cG#>1ECW+E?)7m*&PXTmKF61?VGsvA z1!#me`|m@>TXu+9nYQxEWG!PfLs*cIyzKUo$1?NX@X4~)qEJGnpl}{y(r#}{&lOpr z@Ttwb{S&DzK*wEb<-%!+_?9Z~N@*e<5u%Lg-rq8>GZ4ztv*cX#sl)k=zXfWxE_w#C z?$7rc%sq|8T&}1$Z={F3K!-PugmfYr#$P#8&@u6VZ|1B9to=O{-y9M>q|o>S{oT+w zBoqWBb*<5V^xozx7SJlb6L{<__jq{ByY#faJ7E>SD32W7-<S{}(2EMhh|$fq97R_} z7p>mQveKyil%o!7OFUuEdq)Ji-fPu2krTCqew4GzP<{OERQzf+#fe=d&CT2^2mecy z5|C_8L6yLxU!xIO`Sl?f{kL-HXTL&nYyPa0>*K=J*C-x&LjqITJ46lK%Y(b9^T7@Q zzMRCTR<<mK98R|b+0-g#13z!LK6Rd~{{Cf19x70w=?_iV6cz=ni2lt!1ByZ3x_UY) z+HaweWdf@jDI_U?b_nJ%!Rnlr?a7PapH|(0Ht_R}nXBfli=`tD)pwttC^TjRS}%TO z7Q_jtH2@4CIt0E(Jb^XW5yQXnn`zL;y`6T@*2$MpNMBkGwLfIrJm=FcEix*TxrR&j z%J_4gHPU>GXLDR<?gHLqfBRNVTujNwhx5~Jfy+$VJrUGbo@=|Uic=2{52{iZUO)8| z%p%CZ`5FH?)%`pQu90MweyNkK^kYCtYk2!chsRnMGb$acNuFi-il$b9y^OuwLD-4u z5Q7lglxPv<hZD&C@~dUC#lDAJsoMW+@X@_?a@#!L|9<R6o^+ZD4F1dU&MVthdj&8e zG(^9>blcy6Qe4iKb$eb&s@4Wgm%L(@kv3N_h1gAW#BBj`P&BB7REAWu1!3F>*DcPB ze53CDw}_8C@VG!7X5WEC%4jn5+H}BQzovkcj>nl~!>W|6l5qsy-y_clVjG(eq90?@ zM>p>R>~_Zc_Cxh&+NKZB@>|*9Um1kp7=W(^kMrvFna?+%@*cY_!N$`e5JvQ>@f*V> z(>$pcbO3grWrv@Kmy7gIu|pUT>!#WoK^Pdj|9;klPq0tg>rz8$1<;CT+9EUB*@M!g z3aYiICPH|0CwSvat<N}0Nw4=4^?pyj@FP9GsxPW>jku;`x=cW@S=lm=HQL2`4ADc; zp!$9i(D%+g!bM`{_3bC<8N<-Sn=w~8e8UgQc_(SX=lZ>-dYJe)Py*6eXisf0S-QiG z$7|BB<3!>Fyk2dg^51q#{xSkH)=HIIVxA1m*qxA}1CIx?a%M?h2ECdy`g?gk!}5T7 zNHy_#f7z5QaAJ$0&ho*qbX#J3YNjE<ngyEP6#S-G_%BFk=Saa^E-~_=bF_`uIY*~f z2^JNpr=1x*_vfPYi*|!Wv#29a=7J4&9QpTdDFK;fS54ij(PR&Tt@M+f;Q(>YU4x_} zqs&_P%A4TCJ5)h%D_`3sPZ}!J>bPY(nu4zx`D->;z=shY+`ryg-$t)Gq7n{l0wqU6 zf@9Z+ubiDB&oBl+I>o@Z5gzz{>fQfakN$UI>NjP9BgXEIaLJ7Qb-7v6nB##1KC!rK zRi6~j51yere&+^A4znbx#c;`Z;;?U-U$1~9Q-O$IL)}0=$dg5{i?v9mPiy|woW>|o zZsyPR5qEE^BWD?Z??()s45z4CBIj>z4lnDq?|kt02`TGlN!xegEgWZ=OexpHt6zp` z_=z-_@6u>KVr&XO7zE{VzW&@U!ydtr{Ahq>6UNg_EGTP`mGap>d$y@BCkJuz^WOAG zV5%%3r4DXSGNXj!fp@-&eIv$4wV#pw8TrK1&;@ckpUfC3<293S@r|sOu7{81&J|sw z)I?R-A-7L$?{AQ)XWyYyTh}Yih$=<bq!izuT_SAN#k6gw?;1P(M1#L>XM%Rpc@me% zaY8)f78lS~G5gNY5Ur=&Qnpa?U$t1VE<s+Y*GUf^x&H9>Kk0~fFZOFB$#^rD_KxV7 zAfzN~lHw)|%g;>ejIyR+#rKH>0Cyp+g_RG9`phX2fv4YT;4}%Vj#c9JbBluM1z{7z zNgP@_#uZo5RLpU=a9{RE0e>+zJ*nLIRpBF&HAt-@GqS6pc(g0{lg55cLFu*V(2086 zPmfRH6ZH1&mC~Jm>N7gN_`oV;IlA3`2=xw=9@Z&wlzz!8oVHveujRLvVwuJ*E@{Uy z2~ZK(P9AcdRa97*ej{JRvdq=|O!0}4FR5N%4&_k)hK<GyrgezSBN_LO5n|GWTRgT; zURJy85O?Z&g)Q6MTQ6#<>osm`V3zYXO?VKoFg>3>X)$R@w}^1wO#9F={TLs0j{@F% zb9^pxbWbWj|7l}EekI7ym|#ERQ0+Z|8M)|~<o6C>2iM+TC_DTlG(Mfwz!n*K-~Ekz z=nnyXJ!Eh&8wYqIAm6if)wbF?Fx5}FIyew)rlP#_ytaw`-^a`g0=Y}zkDHH2!w;NA zp5jRV!5zdnS+_10dcMaa7Ct1?yU`JT^1K@E$|fV1sv3W|)dFT3ig4WLWgrDxY{!}s zNcLSee{fVKcVr$Sm0xm*0>(9UY6p~Ajj1Dro?wy+54z9mjIu|5emh9Y<F;LA`N7}{ zYxo+cOw3zW=gj*HSmxs7`_)l-h3a)zSYl-*{DQ}%28Ri2i|S+uu$GRp#7?vQ*cBK{ ze_$Ee5eXQP;LJnxSA8}iWfx4T#I4<%NL97}=wFq`F&6<f1mfXZ<V2co@xtLA`-|pb z`6)FoNh8(h&*F;N5sE4Lpy%Y|Xm3pIF-Jgac5PXJGfG}WT2-8DOgc2%-n01jqTn5q zb0+<FjRz0W^uZZ@#3p7|+I=~qC-I_Whxg`k94bSxHfuug#IYPLM**erM;mjT(YfS? zGqc|vdbIE;t7vZYX}{ye%cQg3NEK{QGqOQ#bZmkl6gWtlZ1}rX>0VG&PFv!0AHL7* z(g%q`aomDeopb@zl3MV8@7OV)q0WMi>~u|5c#^}!C3#cfnS3S~ah~5NyMO|))vbN; z<!DQcpOIW^GBW0YOSw*!buZan-ER`ntZifsn~vl=jN)X2FREV_6Dn1NDOT!&_>bX% zIW3_2p?2-7J%dd`sSDFT+7uv`;|i-B_x1l8s{eZyj64mAa8%2>;1x=^bG!1}xhw9n zyU<vj{htjPn0{n$G)wK$fK;KyUbobpETGBKQ_WHf@-9*thSkO>fBAeWSx7!KB5ko^ zEP6{l)OxZAo03NSv;-QT$(Z|$xYAw)`C6m1e$DRoy#K+(D`i?dR}_fO(r^x_yu@;& zU1D~A1&ngRRUfN}o#$?W1LV}d5G}@kxqY4eo3$8HKWZe#yl~gcPnZO)!2>YO$cC&x z_#y62Z*y<IJRCjpRppFWkt@`3j)1yYef*5a956;v`Eku+IJl{G>+s_79?h-zbB(_j zk`Kv~?uPaIOcdlan(xVgZt1W_SW5lTP@wWo0Dkv?*QdDfZ>8tZnA+akU6G-*d-~-; zVMK^5P{`mU$Wzu9ep$Tga`uturfm>%wO%*~0eQNH`hPjh>;S&3U7TC<B|YP8AhgM` zx!mnkM`x9-Dc@4YBc^RO_0zfh%(l#+0o~g9`DlHDGd$Dv$%ka1W!$nK-Iqr;6b%H< z22YERzVV)*#&zl}L+vp&O+()Xh<^>R!F344L5-~2bvY6SNG|Dx&Sb}lLW@lOmkK3v zk6$aJhUq(4QljS=s~s9G+{Jr|do5mf{6B2HcQo67{QljclnzR*+C;S!wP|8+YVR4d zs<zk>N~uzcs7<s*?Y&p1+C^G>YYDMKLWp_i^ZVW3``q{W-Tyf!=g2uZ$?N@mUDxBf zo+ob!r8BO(o6k`JBc02OSTE_3^($W^KxEPhdF;AbZ+4*R_(H~_)6;c-pN1s&Sj$!O zd6m53k$y%cL8gGUi$5u1OVY_-Xss?(C%Fd&T}Ggd%Z!HzDg3}pPw#demq{`dP80N4 zUQW?*t&K|?;v2cWTT*=Jv{NLkGbDW~Yns63EDI>jL0_p4TXS;#ZlwPbDH*T~TONP} zUK-1!CoDGMDY|cmKQ}Sd&{WMWMx2y#P!2#!+pAc@N793icka2B&Yxr!b4M?WIQEHs z>FJTP!;m=wpUW~C7}Pq-x5+Sbq0~ph5{6p<V$sIT3;zC##KdqJObX@>7s+y%ksZr6 z$UFN<N=yZ5uv5-|jR{}$O;sueNrlUuZhi;g4s{MSzu9;$ohc&brx@D>1~@`C$1q68 zVylp^R`o}LGTDh!=PeNlBS4D>MQlnn#%yOD)g3Y_w_fQu*6mEnkX}maWRZUx^;7*T zx@HkuMQP9A#==#=sm2p9FjECx$6LRv%k*Fb;6HC?izw@6Ep1(1TsaVaSB}Dt<mI2n z298|L-t#6nZ~!%EU8kJqN6bkOZ02#z<J2~=2!|~9(O#2T&V2Zs_}PrVW|nVCk!LJ7 zjmuVC*6G98gkFcl;wf4Cd2-&@KGC`B3+^73i)R{Pn&|ws;7jp1U70Df*gzOw49=;x zu66_5+fF?}9`ZQk7>4MM@e;$wY6Y}ORl1{o;lBsI`T)l~F%b7}C^CNdQ&ORRj;M1> zlJZ05>1~Qs4-7NkbRVdJN7!d_IM9IC?%q7CD_;2WsY`OhZy1FpFX`+Wu*J2*z5ors zUUqBm7fGo5sE)9MZ?uif#v%UwlY{}b_KEwzWR+*DX0uKY4r24li;RtK{~9e)MrcRg za*>--;0E{Nf9@CcJKtM~E6y{xmsdgdzs9QnFJ!{a6)eYM6pT#j9fI5lNGVg)^SRvF z!0K#s3S8{ll3%plE;W%N_r;QQ59A<n;9r`SqKpRgdT|3#TPZAR5OU)K3WUoUx`Y1c z;SDkjzD#Tz9XNko@GWucZEUKhyoT0My!ODYDALCDcgCNZf6Qgmsu<y{lLep0^qZ-j zbJ988h3qU}c8ZPiU4;ley<82?g^VI9K6jPh8xpk1ofo6d5Y|vUTUP9yAKCy`?8ms@ zqZnM^Jjt04lpeL@uX^Ka+u4Fa9nbzUqM+(7GFsEnFRd(8ox9ChvotsVFaFtG&9&+L zB<qrUA;~**!qpmuG^uJ~dLx|+-lf}F!$7%g9Ge*RoB6CzO3iikWAi}3#yx{j;-#+& zLrtlWe>9CFTjh6XQ7Y!5CKXebJOoLWyqc^4^|MPgw)Nb&uK1zicJSq4q;WV~eVh!& zspQa>x^yz2P*BU$R&xQ7YmZwng<%Q}76Z@CV<GcK*Q#S*8Mb5@hOv}jUS#I|lX=l9 zjkXqt7{iU)w_fzc1j6>tFX>**WNQn!b-b|-6iONREx(v&I5e4BSb0P*$;5MMYi@cm z%AXj-&cDe%gP8GJc<XsJVYje_-}|#vtWr76!3gHF_h*n(fjJgPov(5<*;uSEyd$s) zr8WFuy~lU$i?uiZr}J}4&BiwmBM0DFNl^#q?~gx$q#R9bt@v;Q0hgSvAFHz8T+;mQ z#G#djhVUqP!RL*u4h8Zr2x(JKjIZ<U2xl9u9DcfgQb3M%fCXA0rJUD@hWezPH_M!4 z2{u+V@GD{!X2leN-`jY4DQAqxS23_P!p?Ekfw`F%<$iCzv}Q_eAr5c%j##f?i^I{m zbEL}B6i~XUc)xbeSEBtaSh`AqHQD>H$2w1?;W>%VSk(W9W5W!W41Gqoq?#6am~^`k zXf-xd*>`$@qlc$G?A;%ufR;^Bg<S^q5ysj}O^Y7j{e`@IAkI_nN*v<*Xr5Hk$HaAj zKBIp9tJW&mcI)uvp{5eT<if5htMi4R3m?2(^K&KX5=>8DnhTD0XVcO+2eAyc&)oZ< zS9<ZYXDdyH+VE?3LX^m98@RpWA?_eh^(h4oCQk{0YaEIff9u0+v2PE4SyOts*1|j= z3O_cC=Tq51&qZNT2QK{zUVSd}?@}<my2%GR8SnmGushRe_*<SlOr4OXZ@4%5cjrsJ z<=?gpV9$&5Qr|kswit4r+FibaHO0@MCK34D)OvwruI;~pqch6fJ{Ql;%?~ucD{){b zz#^;k$QU&WS_|%Bgr#JGP!H8VF{rM{tdxCOH?}UB#QdM*$j?-dy!Pi0G)^*=W1V91 ze(9nh1*=Ji^}avJkXbLr%1osL+Rbm!EYQUiK*L-1#Qn&a(WHcb?CYv&S#*oc>s~m< z<^k?J#1|Lp=_DMCWaUP2*m%d01Tafp6n#v~d+owE(yUHOrAb2>e${wP+2uK-|9hZz zvO)sOZ<5QM-hYne>{4FCAFN`%kr@)dACyY=kuRJN?as0!zJ0U1hl3j7_$HTPY-%_~ zE9K$<CuDyVY1%!$7~OCaR+6339F<`%;vl+QWnzzN?*Wubo@pPm;Vra39qe2f!3=%S z^Ola|8~ELn_RifGw^S!x4_`k^E1eD0Lofmb7ug)ZyC5}-w-^0Od_7fUm&?ucMaI`O z*D#c3FGLsctg*+!awGElXECo=klk){vFqQY<0xv-GH7x)5d*!U4d@e}N?9bSDV9Fc zBw@t$)*hrAa#$dxp4euhMYEZdAQ$1;cY9@+y4gj;l0J1xi^B}azVmT_O!<2ORkd%p zNy5EL#2TT@Hl?&ZkXc$bq(EVP7q3r?nj>`E&cEJECbB+8SxE6fekPaJp71lQC6|gj zEf~C?(VKJu-AGcQwUTwkJaKxJQS3d>U>rBmCVcRz^=IY@8h@sN5DVXfh4X9#UV7_j zEF0q~R?b#N;a<uqgN<GwbJ7>NDw;|TTnkO@N!kkGlHZwGx(rcv3gvNpvp#rO_!<S# zP@gA#09H%6Fyyx0bS_FxMi`Q)QuDke4yHJD1=|Ql_TQiF7~9bvZn?hd_8T+5hu<L% zSQO>A`!bOLZLn7E_saXOVElxUXSGRIqpH?3ZV#*BuyBH(i8cHbchN9_$-D#j_qeVl z$NA9<tK2GOG@p|IR@Ttu&HBH&+}<wRU_tjc*_LqH6v^2B$5gQe=U`8189pu1y3XKA z>*hl>!l+KW9(t5|CDAz*lrAY#@om9w`i|y<+@ChS>yDmUy`56vnj_D(eFqg!=+cSW zPX4UM?;btZEq5^jK%>=3_?gx_eO)QaCS=8|{GDdaEUDbFEmAEkL~zH#+&?CeYskkH zETDzRkMon1mq<p1iM#JSs9-OzS`dR1E!IdAw1QHboUydby|L_Vks^(#)TyUl)}7g= zx{&mu3sbMqM#pMl->V(of!&xvh!j!;Tc!r6_yEqmTiO)fvUYdmzUpZ=WO?^puHmki zM=W5a;9!S$t-;q+<}NO0+jvqcrT`NNFn9>Ih35UI&HleEB@*s^pI#aA^O7t6=Rofw zZ=Rp@liM#0{T**gu!cOEo8#%xsnw#m(J*E<zQ9-;?4*%5kOTtHlE@c<`{^Lzk8lkA zfB)hE*~j%NGMKf;+dk@*@7>w@d4Hsg=_>X%{dK&<UcrX$0gyh0ur_t*(q?Fl-~)jE zs;t!Yr|8+$Tlm)ZAv`3hmsqPPw`)Z^QEq?x3oyKu79blMzWDT6$s(SpceUF-@a{eI z#~$eyxnr!Q8iL3^XgL+P<bthRzcCye>gc3K2iv%1d!fn&(=JyK!-S2o;vGnU@Y5$g zl<v1nYSs)kub2++g5htj+=u@}u4oaF>9$9Y!mC_e=jI=AHR2ZHZyNS(CSj5^SdOR9 z17jkoOmZknLQ)tg*V+G*z`NYauqsDiN(>4D#kfaD+L3-<ykq@LD~ZTrzHtCCnHIKw ztG9*Gl3WA4O!@^rdqPVqT5f&qX&VNq!uC~62~lTT`smS^e$bOtnKzWz&oloJYsz_r zb7icUx%jwZSYCXClhz#^=@Rb5{xfZ9$+M@nyX$bUhPkDC)noS=)G6mUW%BhZ^QA`9 zJ2)oZM@Ku~_?8uJlNR<)k2IU97rv!S#?&jCx5!}mWDeMhTYq0kP68i)eX~tmQwTU~ zbJOjxfd0eUaj;u46D}+W=W8r?a2=sSSmR8<<xGdYKlBgLFl_y?oWfoQRWe2*p(2yc zF-8T!SGOD7*Z&oFdZ4HHjnyqa;5rHTavAlzcT8T}=XE18VM=F*L%<3@iW`yPFusVf z@>M|O0gdRTxDp_G86Zr^VYHs4UM9FVb@I|ed41{EJ;?jm#yPvHeY(N+ZJxoGRU5{l ztNjV!=CehUt4yvAnPn&OnBl<RXEHfYl;9L5trRt@vj9{{qgu!!En+5Mrz*8e_p^q% z!<398iKaHJZ<GM`AWrz>uZ|V1$VbO#e&porSm#mMW`{anpj#Wi$6wqg6vj?cCO0>& zN_EI({)4FvLe~Ainex`SLF`@)@D|8MCm;{L%DQAVkuDc!ik|G?UPQw&U@C|n18AEN zZ_@a6zik@NS|Pibj7<%&>g$9ukQ#Q<DO||u2*%W%*`pD1%gekicAkz}>!By7^;x$E z@X*noIde;tuEYhQ>{pBuqD@e)lzZ~L$C&hP@c+MuCmH?A#>9sdGN*0y56zr;IR(+g z)VCnM?AEWc9bfp+|JiG{Ycf&&_ljEDZ2mJ;=tX+8o&}Fue$Cprl&kiIcufKnp#?PH znA2AzZxU&R%Q*sD2q+$Ua}0EUJ8h0wBOnpS??Fw9PPbE91pW-|A`cX6V9)`)JQ#n| zFsaM<)-L8^OuKP<X3(347RaED$or-D4#dd(uOv_xA(pl_neggmr0qwkJa8I6)4Um6 ztG5VoE?hg_k9>xs6i$D6`{A|QhwQSJ8L4j%XU|0`Ip=D4&1WYjYhCtwQ#{m%<Yh^I z=v0IrA{;td;^8Uht?(xmAsp~n_<gC3^KN{>XA5e1voQPAy0AcACPy*yy6y3?eo>nn zCIk5IeYa&)uviE-0~C0X6yivClY>gMv{<}Us7qQrpizx~f^vZIkC!-o4S&y(Lh;I* z=}gO9+P0ho7in0dk|o(p1OBA5u>f3gFHPHP>>HJfvL#J3a>@iBFPndXYYF<ofg3vt zUVc?mNxVqg`zvN_TEt?GA`i9|q&-tydwhW!FC%3rruLo{l!Gv^c%cMRo~TSuNZQ2- z!B_;4Ai2iGPHi|<N8L}#yEF4kv9@_ka0a?W(xXmx^Hu2h+OABne68+C#sQF<%i4C; zy0w#5Lp!_X*^}b=^sK&l0Liozd{V;T>UY+$bCfzc!b~Sd!HXgywIFKE7e}uYtS@%c z#2O@B*Hzvn0RbF&a#mY8R1vb03oB8u_4C<MX?%T8=6uFMUJ8Ul@YN`Tae;_h>S%@8 z^<XG!cpTT-S{$k387ts+f!|G<OS1Zk*qSxynhl|^A6sc*X^V_n_lr1(erbkGGlSXE zMMA(%^R9wQ+7v*!ogxVx9oHuZ4>Mg@J|>|Ye>qxMQRHR0v=CR|c?vgv%!w_f)5}{I z{2Mv3X>UWLI;yUMmt7e&u`BUQH=*E+zddP+R4$FC`DmG%cO-jdR)9hoEhDFnow3vM zPbXdX-<hiv8ci=eKA@Q!0ZF=1$Ro&D;aU3OKQMCsjl-F(Gy|jZr#{-W%0JJpxiuGj z8$FU)B8&Z*u(<1xXH=qEBUKl$d#dd5+#MVR;`ju|q%ii4^Pse;Nn9^|M%yngaIZ;# z!EC_)sr!E=58JlPzOb!fJ(Zc!lu%^24<d7VC8Tq!cDJ)YcwYB;GQT;vagkM&boh&< zd6?nO6ZH^u?L6KI?I-=|5w`sB5Xk|Rx1Gi9b41jY|0wZr881eDQMG#O7RC4X++?z_ z)1^Xp;Py?WYc~Wr$@X4EM<4mz3?XqM4{)Il{=?<@V}Yl8Or1*ya$No%)lY3F@h*Am zz<FWo*?`DkV+sSo)4?mb&Z<CGw{WhcDv)KuKx13LGgZ`13a{bUBe_G6uq5=l31Vt$ z+^V(|IoPyTNPkot<6ZU93^Od&hR<2bkwVxU-W=O8kafIZK3spvt|13O4!7X;mGm`V z?^U%l2@2xQ$3|<PXcy>;3y7eq*$+uRqJt{T(bSy_s;V6xqqiU$MkX9wX?#Y5>VYmM z!9c~$wrvgQ9O<;oLm<k~)=XFv&`5>gN8wemrj5DSQQ>leK(C6>eEY{0CWje#Qz8ib z_Gq;3VVY^-W3s!&elS+t_`1*t(-jYpaC|uH3vTJ6rRSCi<0i4Fj3!KAC)v`_<Qu|{ z1*N;tI{EEvrk7TwGAy;bsYkCaLs^VHMZ?EZJz|=5R1pyQijG{;M~VMh;i;#C0JpR4 zI6pD|tta;~i?e3=_aFX%VUyaopystuoG>QT6*HR5KD{g+@csMO-iox|#tDfJSFcSp z*w2sNA9h}l3_50x)#VY7m+B#n$1HgOBOpv4#|j?jZQ4^Y=KK_Do6+tfEj#EnS_D7^ zgMZ?GUSgyJ_hBUyT^ZmUj{=mR##FZHtp}-ekc-Q~>v^D?WmX?ukCI%f0E2yx#p~3Y zr~_PnQ?#nk)^VBcf-sMY3vxi--^>CAAjdBk_;=aPRoWTT3q<AEaP7a!<$;am_a+2& zon1XbFEx>XRdWf+Q2K|=B;#z=Eo$;9@)9Fk)F3Q|%W0Wfn&0Jfd2aSv{+$!_J0|OS z@cqG$Y`W@=Fh3D}*RS2JZpGN#fyRCo$Gug&-ktanIqZ4=RrnGRLLV#aah!E0kbwuP zW0BMG{%A;SuH(JzS2fzl9}SUt?+F3R)c>HbHGPFt5cqhHn`{qe189Q`<$z%U&bg57 z?F41g^4oX+2)9oP*={b9Ccyu5sx*^pZvOUy8}{;f{v<0cM3?=%OZj(_?I2m4dsi{E zS-8SBnnVNQ%7En$J%VjGeNO)*Vf0c#dI9E`=Q>v#B_CHu2fCAt7H6K|_Z%&L4*yH; z<&q!ZG5okYVxhzR7g%h1+bqv8;Z$hQCGzj#TD15fWlUb<%1|RFuHyB6nOw9&hvYVS z{89~CY@3E?#6srSK?g{f>E?-6lAinW+z@MWFTr9PAERT{B7se$UN%^sN(-eP5J(>S zms$}W2oC;~<LHxGCj^Uq_r=mky*kmJj})Byg)rRVCAV`d+4(Nq&Sr&dDle52*p9(U zo9PQJZ`v+be17nB;$iLX&Qs&gwOlQm2e%*Sgqxo2HQL(h3J|##8>sEok1|pbodmx{ z88?K$<Xo~`_57W%>O3uhf`VlIk#>iN;6k<A*1$BHubIZe9HwU<woYGdvTd2MkOWMv zI&Xz^RI2e5S<eHq^+YRIGsH3FzlPnj8?%)lYBS4k`VkZE(gqK3)}deZKPG-Y5xlP? zzs<%G1VzhS<}kY<et0<7I8M!(Xx`AI59)7R2nzeN>_VH2fj@KX6V0)^HtR3BJA}V; zIkSI%Bb|i{H3A~d;AsFZl00#lcc!~HXxJnhP5fl!@~g0$mD0{22}hYC+44Q_ul>~X z)K45#!K3Wb{`R0T+%-d)aS3mI9Eh)|r+vIZW6jaiGmb1CWJbkGE24zxPxk0%sK4i@ z9s);szAQR4Q3+@(7;9lG1*zK?mP>xeEreE<)G1H!idKQ-IY?5XAbfC>r2Vv{A@9p) z&he(Fs|uZeL7PbqLJ*pk6+x>%AFV%2yC1wH*VXby;IoFmrt$6Ce=aMGOPAxX^n-Qb zMjBk`zx*=vqmQ?^(?C*<g-D*dI<i>v`e(Pbm#AOf+xuxoTE<G#vL@mG6dR4ro6jLw z{b{MiWG4QxPr__olMr05UZl|1ckt*Nm0dp?&8t$gR1-G{4)Y~-C9T5@COJM)i~BX6 zbj;LP)WbE7c80%ZeSf8CE&B|29;#S4{HIz=*T_tLE-dQ5NZ#lF0b~A`5nWUD^0h`Z zapcRlcR!g7+h?T#zWUp2SjJ2jD?z2aabxs%GB=Xl5lJ&&C55)zp&JkP#^pc@P+Y0n zgi|T7HG>j23tHx4)#L4lz-9R(Pl4ED<s7=t2y+%j2h1%K@^#szlQ)a5d#<QrK5Wcx zIfKmZJ5q161Jut|x(o{^TAN#MYg1}HS3UJM?W~IrM>Zj4i@R5moKNq>xvhjDu8zx0 z!(%|r8=p<4JB(HmoajUPV+1sccTUe!@PAO5fgowIonzr5(Rx_5fB>a#ql1s1kM!$h zd!)<j0O^tm-c|All5MFf-*qB12q|rwv3j<7?N6VW%7B?8sw_Keq?z%QkXI^oBT??( z{)I%cJBsSS9a&fY-FDyx^kN<i7P)GYy4@ZFVr&`T*0p!_z}eP=%q(osi+_%#bIBS= zlztjAAdtF_WO-teFoSz#)%BLN#)x3qS_3olRyj<LtXWM}0ri2&Xlk|_xfVtHYTsyM zyz{#{%7M0j(GQYWn^qGKJv==_!EQvg=2P)S(jFZVSrqogPe}f3%>k)j@l@TGn+-yJ z^mVIGzskyK{?6u^tZ?k(%@xHDZ)+p=fZ=nW^A22~;m1}f9!;?U^-9&NC}2LHU+n>= z!(>V-E=!r86jnSrlph6B$ICmE?QBL2yNquJhv9>hx~?5qOpnnLW%q71MBEGQUJf|F zV8?ZRy0zU<-e`*y3-y=~N4%dC8}S<56ByjjH9=%!5FMb+d9|soldXADNhgajS8dM} zLb)1tip3c1-K6(Ff`3^lL!XEA52C7K&)7&DlxHnm&r`S%;H5W*z{q>3@9Bgf`iH;z zdgYOp98b>RyKA#1(EBwGtI9U9haimQCcLb;<M$cS<n_h9(YsC+d_j_fc#3dJcSe`E zdI3~|Jfr73wQm-Z1CYMr>gKr?4x9=51)7k9()z}M)bg)58AtNJo%Q11-X25Bts0pw z(rmiuMH;RljlBtQ3?Qj+4o@N><Fr2H%*q<J)XL$JyQIryf1;vCR6)S}9k$HlAP9y; zFlv%F9P`PdTu2E_QkjY&{BAKnH6QA^Y2mti{e@^Xgk;U|)ugtgj}uXzDL87<-fz*% z>iX*1vw}>w+1CaIq;Nac|Bz^S`D?*pdV`Q&E;C(&mTg+;J;m5}+{{R3wh$bxNkv02 zg|F0K|BEvJ5<e~WBq3T+sfBbeSm3M-1N`&l&lF72!kel|s~;Ema(e#+iu*nL3rD*i z+>5T1$*~Qw&G1DmzP-ZZjnCeN_ab#MIixrBD>S`lW8OINZE-8nLH4%a`DQ8P+}yx4 zFOOd$^6Ywq_ecr$HOvJ~EEz8xeG&y%-++LP)pKOb(*9olDjXVIl8@;B^uv=6dk8eX zHy}cA^aqIsmY~(tWF?<iO#WsiI}e}te>KHdsP1gK$CLi1UcX_IrRkAiX6@T^U9&dG zRh1O?<XdbUDDX_2pd~!`r5{%cc>#b51;{>h%5OTK87c--_FpLP_kFrTmhmPsNUsX4 zDz?2{4(yf8{bZ#1FcIW(_q6CVg<OT}R6V^<1u@Yml+p4z7qKhJ`9d7HfmH<Etj#P! zrSfX_JqcKs{H_F3#}2gd9&B?;#s-3(k7M~~+bO5c8S~aV#pbhJrf#E$J}&Q_uF4}t z8IE&(u9WfbJR@Vw{z!-e;k6tBc;_QRWT&Kt#s<^Ipcd!VKsr%W-Q#&K^c&;JY~*W+ zCjs!V(da@6*MB>+{4VbH*6yh`iEiu6qq$`S`4p|V7iH)c7q5OZ_485<gumU3V0r7l z=IN7E`^@bqbj$P&o*Yg^e@`p0%UIwVt=Z9oF-nOi=kq~>k5b$m!?;=8u0`Ggi@(7r zMU4@uTn<jly)Y+rE=~%4tIC|H==#wrnybYyEI$1AuV(pG3Ge5)_L-cIr6Ak_+ZhW= zNG9(>J#47XAU$>bcu82Yyt!O%kM$edJ;~m^o5Rt*u7#<g)LuL8M}um!ZUJe%9C7Ei zh_+9f`!yJb(2cD=G@0?IdfC?>09nZk{wqP6mU5hs+AqZ~zIpPXOpMYcQq#*xGdfBs ze2)Yt9xv0!iqTY;3_@1*p56Op@kdWo0_rR|MgB(6Q9J)q4%_&>g?n3$MNaxy?z!yW zdACkMEuT}LYv;Lx`kkIK5HI09v1DN_#IG}POrjGu<?OQxpTVgQ-H%4FSBT4xVdRxZ z3T8z+Lu_QOBKr5GpWf$^72fpyaE*eqiuz$o+eJirjqYiA-=$9F%M)x2(;eBBpAh4n z-C5t{#BlmI99;bJnp6D9mEpbuY>`toNZ#k0{=}Q|(rd?!2X;Cu;{5af)lP8G1z%eJ z4=D;##+`5e7=&nl5eUBY(QeA4ds=RSIl9_8jgjOhGc+-d5_qy|Qse!Fi;gu`L)-F! z!kgV~ttStJVg`)J3f{@pv!)eLxNQ7A6(NOgM*7p=bu}I`v2MKBxBt8>Tv80#gK-=t zb`YEvi7Vrg)UTJuC>n)niw~feVI5B+kcqr3xqq(?dpTdLruOac>?4+DOV-I`SLsFs z`JsH%k8>D1_fDJ!R*qWgDQTuWzlDX)+~?ooBp;)Uq$yBrJSS|Aa5Cx8k00uH2i_-& zJr~<ZeBi_=x(uK!)L!5%JM7zYGNc@Zr5R7gy*w+^_xg)CxK2{wQ#6dsc?rE?46Z$M zY3uQ&jnyr&J3_u))5-wORIkZ<Bb1c<{3gZbHS|r`ED&S1sm1mJ&dE)+@2X$02q}R) zZ#SOSm*JSpwj~|*C8ch0!0*Ex?(%McMJ-JNoZ>5$()tpqZe$^lCK1#Gui=BN9=~MB zTpxG-Hsr7?y{ZO$7li7Pbrw~(VcrleK{Pl58lCN>?QbxSAyXJ5Wj`)WG42Uv5>5QQ zU2U<s9x+QIkjl~aRYzB2dpxLoTt)KJS^hVHMUlwge=VHvwNn<vCtoB=T`DO^hzH4i zOfNo37sRB5%jS8zyLWC`Ar3or&i`FGblzlvq4DSS^Hp|UHC)Hxw<mx>UUUK!Rc~DM z9z7?VtYv>03Ond4Z`r#fpv#jm>m9iE${Vr3%fy6)FIe~XgY?GxeT>ns@6K;Hk-)`* zmO5FuyMw?PZHHrD0p!av->vEhMy!z9>F@WL=K(S~^?n#Vvqh@EDF;{z`iS{uGU(a` z3A0G`KXW@vCZ!&UnXVjbr;>WkeNgf#YgbiRpX8cC?XD=tP-vv-)Jo#~Xfi4eE}%hg zCc{E)dJc)?MU}Cv9-qG7e@uKbbEj!!_PabWL~PstAS9`ttAcH+e`W4QA7m!Sc_$Py zeQrMHB;&p~(Mx%SsBQ!BgdJFf$UWBNH6EH%5e*9`uDee?gx6{!7|kZMCMz0Zi@zW0 z5cpExr={KNV_XVlN|Wv6yV!QbJVBD7aw~J!A(gCzhNLRr=}hxnjSK+hlwZ~LZ2d%+ znpcE7BY(9l-xV9}`6~|hq4mb`#@yyb`|6Wmp~m$l8%=i&KUo6nxq$qG;rOfJ(?jI> zrzRalUHSu-Ai{DJ47@j0rc?B#od0VlZnHBlMa31kJUdNVX_>OLnh8mLl|bfkT1?AF zDLHjt1Vip}25Vs187e$0Bl+wBLjQuvNroI){bE`LE#vlggE88b=n?RV;i1__W0?0+ zr+}m;?>zl~WH{bE8Kd|A9)SVWy7V$5>(}V->-y}ofgeF|zQ53Rexg-Q!oy$J4l}8W z!hQ9fI8ltdyx)r7vLRRq?_$S(O|mW}8LZo}Lpv7QMO}P7tZx7bG_ezc@bF~zZyeWy zM}z7K{^T9H%R9GcA(x>IWQ@(>_ZJy5$p9r8ZNwGB-`kg7R=OCws&o12WH-d!edOR5 zG0DR-=;^Ntk|#MZZ#Lyz!FL#=9}Tv(5iWq|@==o#7*0Nrj$`KVi`FYWXG>N86fsfx z9W<i}A0REMKP4=nb2qBsMoe_qd|jHXoz?Bqdn0#Wcy!o^dO5!HtmiYIMFgrbs;Mf? zn63{=KyL1P0pbNpS#l~c>8hp6a>4<eC3o92w5Hmwi)cT*(Asw%S_p3e_OC96d)6cw z?!H@e5Ln^8LsL-jrl_K7UdBv+?aFpR<QVaBtEwfz6_Z)<Eh#Wy{3(B>&Iy9@3!O&O zs@|8z@=`_q+p9=NuVD?{0paq1(>{v$ioHaZdV1H5LIcVri!(hFuZR}Cmaw4FFQyJl zYaQ51^(k9YW@#p!Y5rDA{X=C$6Lsrk!#~vQ@k6PBXPSVNu;1Bd5utL9gyNZF#XCuV zdjDwL!t`}WWZv;v<NoEQg3BaJz+*~bqR&9;9+9^kEsU1AAtR=~vFF=(ZQ2YyW6g)! z2#8*iiqSTm(wxeYk7v!HvdjHhE%)S;MT>w>J(^ix4RiRdP8SifX3WOLkF)X@RtH60 z{te}D+{GZ-|I~H(d!Y!{URUg5jzh9|AX$xB6GIQOT8$ek@<8`-RRK@1eW<hem}AZt z5q>~u_&5KzY))P-VV{k$6>s~!zVr^SLCZ+3LT#C1sjn746S3mwpBAYmv>dC{oDlB| z3ot@@d=;lIyMnfP2LjJ2_w`s<K0_i!me1}7Vew|)c_zmgNzQ?J_=gtN-mR{J%zT%! zc1fwFjCD1it(Pt1W0Ow<#M%RC<K@lFga49sIQG*eVfdEVf`uHjjJWCjr$!Y<hl5r* z5I~ugk7;o>E;~P?6hv{>mQkOLwN-2NOt047kH;-Dy5t_*<#j$vM&ONG#2D$c>C8ST z#lpz@0s>%`gxLYHYPE!2b)8k`55wS=mcKbKtXhSE30K-jVHu#956-)Vb)RPEV_v-n zl*BUJmuczMyr4rw)TqVHo*uM+EK8hLRg#@N`_vIW#i4b>9v6B!6u)z@xga0lusa&r z8J5YiQ?|$69+;=@?6$Sig8=BcOI|81L{Sv{Y@6f8^%q}$esrZuOTBVJm$19*kiC1N zAo>Rm;8Ucf#?1vHDMRR%&;Df@jZZw9`M?BJ!FA{AZ{OGv#^GXVxsPe)F#@@{URBYS z@CEOz);e{yR|z2bH9}EdrzlH~MTuQlEUijMUMM|V__V3QXNty&-6osyh32B88}#kP zMt{R|fJV8$mu3GEY5fH&eD60v-|8ShuvSonuVO>-{l9vQ4<~{GxR6!d>}D3@00Msw zrwUHNg1q!vdq3j9R;KLKsWNz(Btgx&j9Ihda@cWt!ZOjl5>U*OSc4Irm6Rb!yH8oE zW}4Q~U74E3UvHyI&2c#diJ4Bn3;L#@FAF)${M?v|nG6cf>%U8{22VwyY?^X|d%0Tf zgqbd(y%*Zk>uC1}UiUtRH;S)g^FuGkI_M3AKElZ5Q2zTCH?P9fCvpo~Wu3Nl2bin6 zEs!!CBy?f`5*8Cxv&iA80W1v_Q$H~Ag&bF2pEi3+clC*^`$Lt3yLICn1L;Z=y|S2u znWvVc!JX^LlOo^$<pU1}@p*OX2q;;|3v_UXf;<R!o(adqohYi7s4)ew$9%B7pXb(; zmNSL)++558TR#=`r0H?$KK?}gf@FIF%yoauynNYj3J1f2{>V?zk~O>D$7m$dGOf1W zDl}Qo5**zrbmhvvK)S7mZCT9`$SmZja0@BsDtm{{AM|I#8a7|rX84f^;he9`)OGo~ z%222pJ%dJ{+yyZ}A^yC6&APen8HM}(hMVl<BS%)y7t3Xcjd&dr{;hEbdE4Z0A7sSX zXEP>^b$nr*K4jh4A-a2(vz+0R^#T}e{=VSxkHYG5%XMe%z#_7JPJ2yLE(Pts@;=x_ zL$1H>5|O)^>d%oaWk&qAyMg-A`isBOeu;<7EH(TE!kUsblREAB=PUg9MbG`ce~D62 z*PQO-+A2C0eLZfBz}An`y`E|Oou8xCt`A5&Vg{y!<jj$`=BUeis@?#l2bc~YK?|}{ z6yQKL6P(v=Yo}6XZNL=o0G*Y|k!nN>MwP4EE7X5B(>gcl$j}*)=ku3XogELP51*0k z>oE<pcxuBRi_=YgoP)*O5s0=U+%!fEDP8p>&FDJS5ZQO0hO5V=Vk7N%ug5yQTdSCD z-eq1`nr-+-OIxX=8c{&P-%CV~bt1_XpAFE`R&dgE4+=aT#Dmg%JUBKa8{NdKZOHRK zI*u|-+LAg1CQF%*e^e)kF=evQO-3}QerxGf8kpIF*saa80Oxuo@t(<Ds()7h>HPrx zy{Ofty|u!L^3ZcQRR*{JVr7$ZtJM2!oHb(kW*aL43DwXbsLQKjm{unx7TWlN0bC>$ zk1fxe>vm_5hi*uXq5aT{cVysJIbr#_C^8s)Gn^gEJc{P|*#dw{6m%D4{sM5^f=uK} zowLPS(v}EeD~VckjdOIGL2wa55=y3by@Q}a@C>omtI(0TY4kHWFoP+-4|x|zDjc8` zSSmNXe-`p3q<VWNG|*<r73Nl!G=Kx~rWzVh)byY@-zWbStXRtK>ROsoFJltJ&ggBN zbp-j3GK(KCiTvKK&ycvrlwPwYvU$dCYI7|eTOorP<?~|fZu`e3I_<n1=_KOz`e3V_ zCN92nMo(;+QwQ)>WnkV$`01NpJ9t58X~l^y;w-`}c{s1#Yl@yqu%cs+)k6yMnT#f^ z?~Ib7Z5FtdHP0<K!4V50$w$}_jGp4ywGL9_Qrma`TVX=mWnU{shW$TF><yjBi{;gz zO-Kq5?1Pqxz>y~%=>4mhwZ%GhQTY~fO%0m6gt_vyd#l=vsgFH<y2QN0?K1-r5&YWj za?=#$yS;7^)<8Vwl3FS!Ykh)t0ubAfA;OOMIOjTrOYL_{mi-{6u!E_d_xGrH;2MNX zK?C5D2V9aI<%1dG%=5#x0ucH7@B_qYyew}G=gw-)a^2$;UiFnSg_FG&VMj10!-WWO zgx5lyv5z~?G5i}h1Qq<gVC2#>ZzgOl;VG0`FqKMc;jDkpE`QonI9A90GG*bU2cLT) zCAn$N%1dYV9l4M>pMyJA-n75;RX*o}Ut1e?LVhGheXfzEu!v5XO?bLm_L<iv54L)d z?Bks1Fv1OEL*&cm!&dU51u*GV!qR+tY2TUk1=HMSB&~;!1QMs>h4qsqTGrg*m<1yn zZE=GMofYJk-#vm1{n0&N+lDZqfRMf%E06BLW*Aj$;Xi-(K?s4mtf$fQTyI_JSfjIs zVzE-#p0JLLRXnKRI6r#jl=s8y2RLDyqz|B5JOtlXL4yM)bBy{sV4P?@y}MMgSAY9A zj)-!W+yyp&wi`^$JKN9#9Q%B3epfDiPl9y~`OXCKsbU;R<HCcRGShbW)1vo1LRM`( zCn-@JD6`lG$cbRh<!jX6B#UXOi*27ufc?{{^dI0Kc`rZfcgZQ-Dd2*9dWEoKl%{?Q zk9$<JN+&=^%Tm4E3#oJ;`PISO78v$kPXO{1Emh?%9M@@O{wU{I!;h<R#k3K78pm+5 z5=$_k^=}<%?bWMxd)xBEx<V|BA>ejf!t%>+g0bWa&>3MZ6$FQ@Av!Ny<B@Hr+f*04 zjl9Rq{?j8M&~8a!?CNCP9<2KCF0{37rR={4$p4ejJg3$`VA*Md+5h*&`-a2oZdPf^ z(`ah`^K6A11!QkOaQ$8(zY|axvW4qNZAQ1`_2z)tk}Vo(>#Wn?$^CePR{kk_aQlX$ zeh!FPzUx4p5B1It+TrvT&)WD%p1t@|56Hyp3zzWSfbE%3^(kr8OL_YL2_dIV@JdlA zqRRZc%LC~untOj)ktDz;U+eBCAOd_L@4h}85M}*%|8M28PRSRpccfZ~Skbf$t{K%r zRZ-jmul%pvl8=3AQKx~ezP(KaV^RLYfeKrOw;Vjk!oLGh;mh~dkG=M=c0A_tNl`Rk zYf|sg$i0IoKYiz9e|Pw9vtjSoGd}4?{GtRi3v>ST9@D`U;gUqrfJ4wN9SkVNG3p<n zzKAa}si1SV?wf54#`wLV*7q-qsJ&~0f1%>E%5t@j+y7p%oSg;ozD=}QUuvpIkVHK> zzG`bjBtNjxR6tlk&25&SIX*(j$IBjfIIh#kzteA!)fQf|h(Elmr-sn(^|UV}8>Nif ztC9M8yp`yDmt^h1g2Q9`D9^ywhJ0xIldSTH`K7jA-4hs{hyQV}=JDd=>bx}4aYK9G zk2dPF%qd=Qvv+%GTenzhN2jR@y;&PIok(g)rQnh-0TA;3^$P}5lshB%tbKYc_ja&4 zGvEn0<{#9>qb5;IXlHvk+v?TQPSzEafZwH2Tqk$t%B3ncj1waq%5Z?$KOVM)W;#{H z-HEK~T=G$4P=k{%W~v+8!>bt^DdU+V%tLQ%mvOo#gvvuwWYim+xpD2`Z=Q<_xBEm& zOKj6aDR$-(NGpHfeo7K9FC=dpesio=pK>t|LqMtLQ50ORo_jHYAaQxL*>lp$s-MTN zZf?!E0M%ilOKp`6`7~0qT1imwASCcyyRbHU`vj76;6m!yh>%zx&1B1qYV(H9=CPCv zKn`R-@)v%S0Zq+N5grEjzw#Wblg|0@O5lCrl^<0h$NKNzJNiy?bFjBCc2be1S`WfO zETkVgu08jx@-v#35Z{cnrvi>#q1<1poUf6JC5{2hm6<*V$6ACcugZaox~3?M7~~oe zEB5q**@x9l?UY(@LF-jefEHmW8}EZ+f8zSvWohrn-lH}_XhB0hzy<Vvp9nLXi?D`; z{wQ&Mos6214Ikfm2M*23^OomKPV5oR?gE6x1uw6-1QQZ`?o1e21G}+F8)@#LD#_jD zc`YNE1DPLXJ}s}0e!VyA)=g;%VEM8WwW4E*E-i9bxv`>M#d{ZeXX|Eg@a$nYY235& zOFSA1p+ey?SFmXq>H!cY_ARc9iInZ31-}T$qa45=X@vW@73IZswyiy0I_Ciicfgj; z<D*hkG}G*Hpa7WfXv3v=IC3ABdJPb5=a#~2+XKv(3}|RQo6J_Ye?F7E5_PFds$D^i zN+%jh>@JFh31TCNgK}>sJ$G!CwIj~EOFv^2EcvZrz9LBZ)5i_+LvuVLfF(=1O+2&I zYzDNOy638zz|7JwO^mzYWjz*-|M#YQ3V85)Zhmt<RpArN4aMqw(Sf7;<OL)Nu}{zb ztkUV(WW?uKFuBb=5FvzO9SvCaX>Vhzn)xYR;h37$%~SsQuVTx(J=6`5GDxxB=kMa4 zMI=EH`yg0OdeeGYmPF8>Q>!4Z%KsaT!=K|8czz!%Bf^gw2Ox<G^0!H~MSdiTYIDev zTRsqb#&Y>pHf`eeJ7qo!R{qt|^>p42NsE=klQqt#zOQ{MJ>G4QO>C@&zEDGmhsuVq z8|tW41%xF&!<yq*yUz>N?<=t@ERk{xqGdAGIJ^yhnBEp;1tvctwsLGJlMAPT@~m?Y zv6=Bf{I9yvGO6ELZ?wq841bE)gAHsk0;78;NevrtR#sx=w2y*<aEjLbd9grG$lNTE z5J#3Mm^=z?II)EDm@fZ9Y=Ca2cJ`0h=iDS7&~Y?%D2X;Ze)%;^+$&{a)vg|Of4<Tn z)nwsi4D501plRFN5d3g{oa-fdfz@#0+c~0q+(ZcMGx;v<GF4JRo`SkUvMdvVuB*r? z-@2ukwZ2D)r{s`Z9vkOUv~&ANyV%*m7^yPQfruNQKO$8Dxdi`8?b8XU2%7%>ExCa= zfJcgLr9brxqC=GTdW{*Es9%-fy}pnBI!Qi$!KC7N13@E813o|{Z{j%-|F{}Owp&88 z$-evG?3HHPIEk7>(IttNka`Ob6@~yeOUd6Y^~Lt*X>}1tm@zxV+JeRut@fiudM>x0 z5b@azyr*W?>(^c%cUUL~@pI%YE~NI7>paO}_%iJWv_kD>I9aj^t}%G>gMm<Ct}>$4 z3N-Qf8IHAcA;8pY1PaH;mfhhq?V}^l9FG_t2V<G8906-tkL~nQrAnXCP*tT=*b85e z$Iuw&*YoSHg(i=S%<K*!L(W_sSn5}=;xCw(y-V9fw^rTzK5of;uxw*kS#E2))bM4> zV$(28#*P{^#Rc=#A_?$oKNh&E!&iG-N!@4;JXU8kXqhdEDo)<8z`^c9SPG_a1=>PM z)3#EipW6b)S@-=qC*_yl&iFHzEw4W41}Z5{HZ{F?_X_r4rk^8HUqD+CaVOJEpDT4) zh}fL%l-okZT>Ri++Qf&uo~^Kgep9vMC%1dDt7a~*i-nJsOhD)p`Ew_Cd(grBfXAp` z1%_jlRq2~MskXFy=&Oabk|>wR8A<xV0sQB)ctF-juinBDAVEgYJdbw?*l@PjS|bCn z3MFVFAxE3Hu1;xG#y;`Hc6SjY`418}<-ixnY&7dStsV^~)U36mR4)U=GpG#6H#+f| zStm7|sr=!zDREk&qq=c?wK8YYl~q>iHS{L3j2C556)(uih36#k?k@8RMF8c3Lpo*6 z6jE{ZaF~9|{(=@9Fh~aOJ!u=<5r;Bf2DBaQLJVhQ2~zOc#qDM7U|5@!XuwWHCLDgk z07yGMYi5S-*y@fdE_s#I1;M6>edXXK-YxSStp3dh&_{To9qAf!p#>YixFNT3EhiqI z^q#aJbnuJ6tYf*Pe5Ww<k*>;1Uxw-ec^~-8f&rrEoK{VxZP2uqw7O=}$>#T-Amn*1 zXN7<C&Q*C$8^CYI>HQ274a8&hUn$_d_b2qTo~sn^tn8+yUh2!mimF9_`V&j&bo$X^ zhS9fAgcW%Gq>PVJ;T%coTv6sld9eKZj3(xjXt&P)y9{HQIoNZbFo>VF;6&x|2UmX3 zQ)7Rc^tS(ey`E&m^uGN5;yObF@r<tO(E)BR?(p(iNvY09vhSi$KOYqU3*~J(_aN@+ z`Lw@G5mfwg8%Jza-Tc1$f~9aR$NO7%$o(rulHU$*;++j;t2yQKAR&Ec=&NqU>a6dN zDcOAz1{)}of7O$5T<`fu<RUUFOo?$TyN2bJV{Z|OImV1iWba8WfAtoSznJ6X17+VJ zFm|m#+fVA)?*l7ajK$u3Bo(|dVlUpAMv(Y2mCR928n_WJoEUfGM?r72PZ6Yf`yyTA z*Z7fJ>>WUJ37Kj@wia*GT#t<#z=u<I#Insha4^%7BV9|bRA;PW>H9QT)uuxX`GOx^ zRiO~HGW)*YFc>y6+uX^GFDk7O*<4VeN}=*C)!F!|{x^lcokD)eoBd*1r{rPLx5KUc zJGD!vk12BSuP*Xt`2O8Ah!T8c;q7eAb!;HKk6n(ZpUep5xZc+HX)0=Rm#no~wwxZ_ zUSf+O)})g0mT2(|^eq$REA>)=j?2JVEIRk;$de>@D6bL?4~mLe(R&UF242R`HWY1- z;u2(B2I2+L?w*g9f6hG2uE}hD&Nb;n)0z|&N<qcc&NCpnIc?><Lmc~XxTco;b}42M zn%BDZxY&<|X5=B@iNtYzk%XR`m8Daqez2o}#m>pX*=1JyF?*f7esAhlNITR?iSmWR zugrX@cA24>FZ>ReC$)WKVNkx)!Z{GEyHqQ(B7O}WEs}iw@wHz|{Emc^$eql@%SPUC z!`)%zxchp9&WTpQ)scrF?h_|O|8da9NFe|9yy*1}vG7l}>74R$LhVgXQFoUU<9_wM zYk+l_dH25c@z}<SpSg#0_!$@|tfU1hiQbDPo4PN{pn7f9sD0@({~WU9y5^DwAW%Ep zun*4O`(*05dQ)NKaTZyQ>(d{WU$VC0nZWVw6kVghw&|PVc)LAP^Ny~6zCeWz3(NZN zl;5nRh0K{V%PcSE4Q=(-Uw35Ye_UdfXk;98+j)LGdc<Ym6<+7scN!V`o@xg|q^IEi zMz>47^K?gkfR@Kb+t;zRz?Q5?8!$_0_{JH!lqn`zRg3)Bg=T@o@Oy>)78|W?9A^4T z+Gml8l-_*!sPjV)6`|@NRV0(;Bnt5AJFcNXs<vi)F~0-eqiJ%M@|%5dIhbP@7Fv1! zZL2;+qn~yIP^gG@_~>wa?ULH{6?_;cIs-Pp1E{fHEXwWcETZsjM@&_~*j75fHFk%D z)Vfr)uVPcn{{j0<YhoG*ZEtRF&V-$!9p-}*&*of)A**-zv>3YIS9{$Zp^h7I$T{F> z245EN<G;-=lW_4I$SrzNEc2aE_bE0PR=BD5kQ<!O{&s}zQ~L6ph792v$Oo*0uyXP( z=Pxg(nb3TW(ekv@iDKK=4a0_q4GgA+(5J72EP!^HTiYK*1_M^4Olnul9LFSYd3W}I zVtW?$BbZtgGGV<v)?os!d0IU_UwgG$HRg~HX||%3f+y$AY~toZX16g_BOl;2$R3;3 zqPlRO`$*w{(>R*86WWXMn}(V&5T8G_&n(3jC_HOBy9UFGlIc1sO1QEMwVF0-c@mK7 zWIn+vYRY~vN2!SLlJoPpwcYwPfA_6NomTEEN4{6X>_Ct6ub;jOVF256AQr;sD2W66 zVf^#U;<<`to6n7gfNMqCa$?jqn`cMrTx~3~*>q3#{y^Byv_(r3zJ5rge?bir$L1VG zm)>=Q$-6u{FMLy{{=iY8V#B^%*na)tpoR7;A&J<|42$@`Gk>^?ehzz_b5|;_$t)}4 zIIz$l`+*!mtr1%r{!1AbuD*uwQu)15dex4(7c%MQ;aLEKtKpc$Uyq(+GXm@U7KaU1 zJOA<I4g86NkO<+ECj<DG0x0Ekizw;;IjFgVFKtL2)QKd(@lt=_LG6?*nvQe5Yv{*k z&ijh`q7z*4NepPt&jGxVW-^+cRjpGDTzM@FleMf{oarSqGF*z0E1xOcZ#+&4a~Vz5 z{%xm6GjbkpN6z_$LHM^qSFBqze7G=qo1zoU-n4c2`QidFEl<}P)(#y8DD*Vb{QbNC ztD#$CLQiV(rf7s_$a6zMKXLL9yNfQkow-YkXR5Xbq>k))iKTtTgD&2`JRO1`%c3?o z?NVH;@33%D-E(fB1w{TO_2|ImLIgY5YLO+yuWVbU^}+--)TU@^Q^>BGvF{0{MK$?4 z1D3Ql#ib5{2ea?sd^6AX613P(yOf?s^?!)_NverUCh9mRIz98XVb=JNmWBu@aw$hK zXR@S`w)4zIi8YGzUmySU)w5`7Mz@q?M=kV2f*Ltd@r*wfPYGRVa|bccR4<d4V&lyo zPd-z+&y;QGfavUNw~G9FSS=`pRqb2mnYV8HHwOsjb0rHXNpiN{yvleQbVUQ)1PncI zOhQiTB#_FVe+Kcz8+2r5NAqST$ZOsL@u2joj80{zhGv=}^`r4p7p>YmtU5fuJEqCo z9D}Ww%w7v-%WIdtSp%B4l?w(pF^49C1o$8GPAbj8Kd6#+)K?_kC+kulVRcT#ewLZz zj_{fF8e`(2?bkX!(B&yEPCd>Z%=$}Y_KK`2w^(W@e|OncL^B5JZEIZBGoe%TU*d6N zmX8UH7jzIbmK6UG+M!L$$X4tn+^J`19bMB)b3F6D@*n&0(g?Kgs=HG|>dR=W^Inde zkx&IW|1Rs%&J&bjG@FEDf;{{lFza@?EI;nx0TFMlNJLW7F9~B+lE4q98Rxxd>7ly8 zI=SUf1LG}076iN913pLknU+HVugt)i(?@lA_W8h=5HgP)kyo<$8*i~`DQ#fpQ(8^H zs%%}jVwA(S<p}EvFuHwYe{RNgkI1=A%mFYx>^CX-8=RR}&es<K_>|oHphnRlhCw|y zqD0XZLiW^8sB`RCYOEuimNh8xY|#a0RJz{`i6oB9tjgO#PwJ*l=!mbvV;gc87`MAu zCT1s04&hABOCmiIXCTKhS9dbW%EBTecu#Z8;pofQl!KY{;QK&z;N24-R5!V(xFJs_ zZnw8`zD7r)@+>;1VK~DQ=tBr4UZ-3r_Ub<on>sO_*&I#E?PL7gW`NYf0GZW4z|N&g zCp1-@1t-o(TavWDc>DBeTmM2^?8tc!waJ}npie9Ij(YQ6g%3VmIyPU+^(kB-EsMZl zKsgCMjNpMTz1s)t{Ee|^F5sJ!uM%A@hagU(>LWS!yQ~vn%`9vE9fYuX)sqZw_Kd^P zn=rbImHdZh6G52Mm3O`FPQqo39LZQZaQDZGB=5csEe8kNb;(F#PwUFUKybX+byRQb zZIm9t_-qMo@&SW>KN`C9$Qza_IZevRi%V+ap5R?O2|6V1leA~WB?WY)^}mr9J<^|$ zHzY0Vw^1@igzVIc6D6WcI%^2Z&u9NHy1oReiR=4cw3b?{Xi>4E#GP6c>dH0*s<qYy zuv$fBYuyzEG(aYh1Z;~4h*YUk6(*=vswlV;0|`_mq=;rvipZ8o0uGB1hXKNnko@o1 z*3$pCzn;@mPfcd#y?5WepXI*EuqhU+Uu^v5)b??Yl5Eh2<abN+?;C#^aJ)8k<Ht8I z&HOgae^ZFP?9NMbaL|O}2e&Lu+*b;AQ%#cW#ToX&WUE=|haX*#woKg7FE|v)aj4w4 z)yiV6$?=y|=OvqOaCnLP_OzI&(cvAhV_aH#?%(T|Y6LU18)vFw9=mr;uRbw^XURYO z-1Us@(I;igo<Hy@y_ztP8~;sSq~d}17zcft)F*S^s9uv)tPdK{pXFXB6Q4^4YEz`Y z1|~nxT6TTevzHRwt}E}L)yr+OZeNguO?z+3Le|Z%0;3niPkM5wH|}+<+YjW3eYelH zpbMP49lLJcN+^4t;g}d?o*JdO{wgA<8=IB5I4Z9x<GBA#^Dp0huZj(NH)hT5YuF?2 z8==(F=ZeXZIbW>)-lJuE)PM`OGyNel%6Me%bMf5T?;>86eA}ORZ<6DP-tVPz`#(G` zn>|u{;7E0BozA)U(SZuV0{w5o)o1cO@sx93@A%uM6E%1DDgE4+JWIcB3f-u><Kg~= zv0`qfrAl+!msvB`1fI}&WRs*>b-szVI`BJH44|En6~KjIy=h}$KE)h~{?~sF>;~9x z^%G+D`E#{B$M8%ut-FlP@b*^b&3OOum2+$Pcbi;G;L;EUa1R<jYH<ke_5WS^&l_p1 ze6Sd4=AR!fVs#l~-t;;C=XEFB@k|Tco9OaoR}k~9Kfi)~#53)m4MT#P{qN($Jxt+E zlGPckACcHA%y5}!!bbD#rdMn$qY4vNVpf0tcF_Nf{9F^S_jk@TrFuHgv4pp@%czJ$ z%p3ol1+(@9kvbX#XPCo(P1oO(_uPtSTJyFg3?5kkI?eyy0=}zr<=J&`F^?|3-(T0B zah!-1*f&YWwESN~`Uy#eV+Mcro=~aDNb$A*YjVewQJczo<KB)vc5aizH*41_EH;hJ z>$GkOJC2CoDfsg=-~S9GiMtvr_F0LkV@1DHtgWCqeg8GQd5p4xm(`v80nv}>c4?xa zuK}~HA~w&)MWyz*V5o=Vo00$jar9<l<mXNhjt5MZGyh?c@M%p)8u9H=I1u=s-+6n^ zmyQYK6@l^b-%<4abX;UV8<#DSpFTmH@`oe6>c4&qN@vM4Z9CjV>;JFWG=2IeK!)<{ zG)iVpjoKObw)a3-vr0x{C&4K!crD2P%nh@aF0dCi@Vkr$ws!GXlu>hkB+Py=JBJXf z_qt1(Xf6|K!uMRFu2#TLdmQ34l`kb)o-8HcS0n6+?Z?y3X4_)_IT+?0xjYjLLARJ^ zN*5d_%wKmQcD&FrA|y6*KF@AU3(JNle6{=B!W&E4t~LaPZ_Fn$=$uMrU)!&huJziV zsu#KJQl`7wQ%RB3`v2TXT}F6yelfgm<j<H>Td@r@)r|SgAMn&?_=QDf5FnRh1N=H( zpVph`b@t1kAMYW$B?o6!{AV1qy`TapVN0<zKN7KzC-F>goEa^|a)S-e6bmY*Vg^$o zf)jqHs^Q3H@Kbx-Y*b9ehYcNoV`;JE<{}Ps*Aq2P;!K-jRb-G^==-|uaW2*6oW3Tw zNb+K``<7p9v;J$s<Z!kj72dI61AU}<GV<FK1YR`icPbAewtQ@V3GcgylpnJerlK@L z{V}g|7s-Fs#PbQgu|8-$@wKzFTjYLkpODyuTj7zVynbpw(R_AFx|i7ym|bvrIXma< zf8Vt61i^iJ88K&-QGF$J_52dv-Y(=Ypl;(Z7#Ri!)3{6~^Bi*s<9s-7#IY$35nsTY zKqpP<nhaV)NY8%<@(Cj03oP~mlc_-A(m^M9>d8>^g*3trGAOS<tC+WW$M@YH2`(${ z3wDIua}`3C`Okeb3s<l2s@JX?)@2kigU6B(^M*2bAt?=Wp~%YmwNzs07%xJKQEpAy z<H}KM|4v<lLtXPJOyRbUX}G8}4T+^q$B8^O*yn-|c%k%WW^`s0ep_G_mYr-ozjv3R z=ddppTpM`6Cv#4v_kUh+`f&K>tUo*1jUF@c3-3h3Z<FYl2khK{`N7#iCwC|F*dK{( z{QpR;B>dVl{K#LI(T2H7>N3oHW=9wDc@}FDuX8M9%-Baw^x^*_p~a5rs_!}g!-o)s zb&}15;0r9Hmf7R1H_a#i6<o`sey13@HXHu+x2l|l2g6*>=9!>ku}1PtzJHD-;J;?? zFK^QP^Y2ugm$@_jQ5l84(|_nqy=DF<GiU9~D=5D9-WAT0;-$`?{ntt+4f_$2=9^Nz z3NyUZAF~{KWBOU~i2AE8#K9%_>yCh!f==n{->I`sj;<Fsm{Vo$9mm=WbbRxw&H}OF zQnmM@lBlhlyJq^I$~@NmJaNBklD6jNzRlK_iQ_ECS|@%qJno$<annB=^3I5*L(0B9 z+CPw)e8p|U9h@D*He_5GT4cp8zwtDO72!WbP}D!5&ndfw%SxP<4*Bb!xM|76`UjKo z%HA&#d(1&g@0>##f18J?XJZK^)EY0(;iS>QiSN$Sr4`S-W4UeR{#ZnEfH>Htbr!Bd zEdRdDuhX&Y%=SeJPSyIVtuFSMHJ+@X7G;Tw(4x-~eRoc=@srI3>O|tsz>TJ^r>C2m zb>{V5#ip0>O*KSf%imWS;z&x(DjtfkSQpWvZ<C0nF8ZTHR~urDR~|kyf+(RXZSctK zy8Wba=W$duQHBcV?dGwwj}k1=cc|$R$LY>8`Xsyxyry@fS8(*Fr`G)8G&8pUwZ6<M z$naIyo%A5@puSp%vXM?jClGUU*z1uW{(b8)xNkHP%shA^VgCuHAL>TdzoPT()v+CS znqHLzr=7m$P}cQ;jQTuS8ar?EUH!@hg@RcUp<&%YNz`mQy4|Cjpofq6`*KH!UbN^_ zgp^KECc<N%OCnNNr4prF-1h(yHn6s>l=AVi$GCTVZh2C#R+r^?_7hDHPV3X;vXIsh zda`$tY)A7q(<LgS3;oQ&^Myym-xu~mQYYey2vS<5I6Mz?KJ1J+-zJS?Nn=R~r@4@5 zB>5*%A0%B%bAo+M9iFjRJ(96^MOWye;Je&;k^_cy3-0i4bUf8qmQ@Gu<c<FOvPTFN z$v*?%w8z{_s2Lhpk{{P-yx3$gcU@?Trq-=njo-m_0p9F0LTBCpxA@B<Q<wfkv7s*g zgqe&LET%<f+^^0dQux`>zb~obC6WOyHMz+|L+%%FU2EKT6QUd5ZBasndU;+WjkHtj z4EnKqvCjluYNX0lU3f|w+u>9u4&p7Q&8A*?(?>qHhy8uE&r{(t<HzBJIh+Jk)e%v` z(eS!aY($Ixmc_tKIklw(Ww%@7A*WEsce>Xgq8V61e}YYrkBSxJzB#%gkyvlbvNs#U zJXd0ZQ@h`eJAAK(J`;@O?a|N=-z%ZKmm_#QM<bbr>8x?BoJz4!P{TEn7dcKsXNimX zvzy&nJxUrq_-*I+P4cj!`-Lz6e!e01NPf^qc#M5rB5@K%m_7>zoWREP!`w)I7HPbw zo1LDnoP8$>5q+ujmZkBVS;d*iihp*{L=+Ltgzq?{5a)E5C=M-J_c0dMqor?1?(~s} zH4Nb*+9=n}_S;KDlg397l1_r=v&IkK`TG%m)X=`_zQ96<lxW1}fy509Yu51GGhk15 z?p9ES66&Cq9!Rsn>ns{R#EBWDRFoI@7~wF0V(&)4f=~YYI&p8p0G{3n%eH86z{;~> zOeLJRe?2XQ*c$VGGT~q%r7!L9UBfgy-S(Jo5Wjfpcp_nyR7$}f%AN*$s9-%3wo}9N z%<`LzXAfw2&RN#D#oyOii(pQp5e)x4g>a`)ENX>6QtbLGTC@VeOQ>sKl2V%r-|dKc z3LnXnC@69%$yeFospft>mQH926Y&~LOj+i=4p?5s>b-^m)T9rdjlB(*ammEUew2Od zkC6nM<Ue%4!hT}mwui`o_lWP4iPXiUG0~M-<3wV{7+kUH2$Amd8N9?<?sp<Ytki30 zOKq$-W`642H|xE>pZCQ?+{qg|iWZFt;i+!RVL~}DYtk#IYII8p$3EBqi6x~j9o9zX zYsxS-s3FaM_V<_LlC<<)M=aUCZXOwc)Y#3#s>_p!E6-LUtn+B@sFrL;Oy?q};;(3V zlVGJyn80)qQe)66%(eFwrHJi#jthID7l;LSrr;q4>oT3%48JC4dKofk{XZ??+;A9+ z`$i#R8P|uIMf*~;h__C|YgmkxTgWKqtxK?E3y)8kWu1V>SPcB6pf-ML?k~@qsTTGa z%E~?avYV=^g+Ci#Rp;4@u42BY?2g*sNzj&QRGYeRbH7&0GR^&G1@CKUsUO0!4M%i8 za1^L&t%7PkmrSfEp_Y=yX{7WK%3ePe^Bs#{=sRoH$2T?js#dWj^tTI&gwrHNyvs6| z;9Az|Q><h5IU=9gHUvHsXDecezvpbo4Gk~nt2-LW^W1lB@Utb<dKPYVgs`85`F@Ch zKagrR<dikn)@-N0nJ!REsZ#nOSsXSGcbb>6($pBQyX{*@jU4m$#ik<I)wn0$3>gwP zWaa0deJ$QHj^w*&>DeT*4pB47X$8tNc^03MdYaO=OX2yV+8;DMeOlA>swp_l86RNN ztzkk;+V@yD8%I{Vye)hacO$;;oAlGEkLA?K<Ee!2cN*Ty#BdFrrt(bmLaY*rwm8)> zqJWEYNdCpONSJFYX=D~Q$oPz#7FN`?w<|@*cjC3y<;`^BYu(HIiu$j?%EPOO5!}h+ z@5hfjR6@C?qS%r}>8NTXF=HHlt5Mp73PotHRf`>znF@iHR_#e49<M=kmfcshwC3_L zq9e}4w<~`2_eF*rfwl$u6VljJ!pVkGv<~sSltPTsqbjSGVMmEQP?6qlpcfHx>Wd%H zqUNzU*VpgQDM}&v$>`hE8ModR_isd8FqUlqQXJ@w*!VZUSIVht%RqDa`V5r)E6RrC zzwi=T^kXt{jkWim6f)#z4XsGyNUC@_b6geFM}{u`^b{iP7%8o*4bVvLy6NPUKldP{ z042;CQ6i^ilW@UTq_oEw`6p2gxnPYGRU|+9HOY^9PeXgdenb{w)d?<`cv!&-L^SU% zB08a^=Wjq*GX@Q9Q3+N1o`R~&C5>@t&`v}>9rGK9H^&97Lu}L@R!Iak=utlqAfiuP zF{i##DrI^(WqDCS30+t>QQ@aQqNa!=T6#tTD%>Q5M5m>1h9SW^1?1J@$n0>$W>|qE z=G&&BGuZGvZiAkCmV)we5!tBRarm%{=aSha)PX?6#*a9z<#8vUO(xohYk2V60J?Z8 z0MUu7N>`>3>t?VTQPXozOou%~RTT;j*}$2G`L<|y{SUqvkNbOO^jl;OTAh1xD&%A- zwetq5nu;Zqa;nohN~kyKr9n&kNKtHLiv^^j2D|G}o8K;bRxMgI(E|$(-l9(?I;t2n z$d`B_ev!)K#|WzxvoO{e9KIiVj)|EIHn==al|--xW%aB?qM_)gRAOW&$@e)z>@hzr z<(w1Mz$R|qs-SAKG?EHmUjd?a+`%*PenCwo6LIJ9Bw}09ppkr%Wy_>LZ;~&cg*mSw z`8jKmbXbr?LR-L;^=DSII0&8xN&9U?kI~W>0l{u{fmIWCzDM#MT%aI4MRVCTrp+08 z0AI^K#GT(|;r_(zr5Z_R0|%CK@OX_VdqxQrF|Ia|cv{wb0*Y0JK~6n8xi=C~&sT6R zuP;p^BB4}#h;u9ix3%<F7fJr&shHSTY*_*r&JQqx3n}FmcohC?8sW0(r4;=u$v-$# zLwAlTr7nz3B79{UI_e{m-#)H{qb($MlmbMynv3BzTBwouE+6rri40$$p}$y3@)J-t z>{v$<*^A^|*6;$8h;~vd>1yE2!F(@~{QK^hQ?#5~Jt$%~X?VTc4bm}6cQU}BlFY+K zraYR3=|$cf<<!ng>PV+m{#u^LOw3m0o`+zbN!Gajfrj3A9Cf@yqNFkF45~Uh8E+pC z+5D-7SLul*ms8sS&OS|r6yXejXa|J$;BbC00r#IWZ!Z#Tt)Zj65Ve%B!{dqU$E0y; zG@_n~S%o06i%LlTiX_5aMM|wJ#zP%$xkpN43ZOFK(8=qnaecd_hn=wG9F7QbUBOp? zH0&RjQV*sbBScmoW43A!&naYpO+_X=*A8CiM7;X&3@mlHoZ=0-z;p$*Tn~W4Nki{R zB!s$5OF5^Si=QNo-}aCJAGFBOBKJuQyr>jgB{7Sb%EIN99a|Bu0Mgb!`7IPN*Vq<^ zaUtk}!&3>49D=yo2$L(Lc&#$(1*(cjB?{VWXV~JbEgJgXo@0c5K+C&ug#lFavAnOx z;JZ$e{24xo=T6v6aX$ZmJ+IeY{6$)NUkMuI4r`nWh%0X{)aVA7Y>Nh03?KVXm0i0W z5#3Tyt@0ojKLvF%2oZ&+5O)r0CC`V!PC4D|3aK$P5thbA%WLUEZn0A*;E_5^uLZaz zHubj;iVO`sL`(lv-Nn~_uArjh$$)(iI(3<`FJG%*D|UWZ5eQ+hgESuKW_I^65*gL< z?9Z`Oe@#jq<y6lmvi@K}pfzs4faEWqf{)i>?OHluHg@Zup~X33-20MPgq1uQmsd&r zkl=+SRKXlfcSbAu!#)t^&@)p@J2LtFA&J-k*m=A16FX3q!14JwJSGRCJ2gimL2m{g zAsX5r`;f?fj*{dzjKjG{hz+Hj<<_v_YvbS&0lWg)ZbZGll-jWaQ6ESqLdMIfZ3hvS zjfVbt470HLsAF-=pvfNs_wKaAJ%Q>dC|TNgT+YQ4W@C6iWaYsnFzY_b_V+<-eDg!J zlGiG_ERk5zh8A&aHInkyUO>SEak<Bco|{_U`tdlIVv;HQ1E4$&oyAD-I1N2?P{t1e z!j{%W@;^I5BsZ3G8f6^F_k~+>Zb4?8sFZ1W%aRD&r2r)^tVeA6n_G`TuF%rGYfGtt zPqcL7H(L4&DXJRLa&};F7!4tjxmb0*mcF_S2|h9j*PoYDYk+;{Xz3*|xA+DN*&k>S z6q(`kF;=@N#cvUS^638WKO4`ipp;WEaAr)!LXuxQ>)#PK7xN9#NWyQ*Y;pU;GqL0u zwI*=;UCH`cnCHi^l&2=+sghFa%xZWa`FPy+Vkzf<V9*46)j%Qtb*YyAV~m`t{asG2 zID?utjRnZUM`19#Aq^cuRpCd8c5X*@-9pm%^LoU0ShOn{pzj3gW$PnmmL49CUm)1R zZh%Q{h*O!)4I)c%V{oStWWcM{TamEHk6p3khE+!its}{A-S|?*$wr0ik1|Lo%;R2$ zKxaH=+Flrfguzo+?p%fBEx-!jiO``Y7a?MW>I0_WdX0kfxR8K25ruM-h|^p=xrB-j zK*G$GO9$;9pd`24fLVVRjNnpk(TNcRjTTK9gFE{Q5%mTI^{A{j<_uI>Sla4qxH+Um zOAphw_BJLGw#PL*eT3m4?C$Kk>}D?BjIw<PZJBL|2vR4XjrkUqP|b_5ya`8$lr>D` ziEg7oPSY^wMB@8If{tT<PD)$t0J;kT--iv#U$PDn{ZUGdk3>WVQi;sLvElUt>L}x4 z!B|WQH3=eKI9)55T+u^HgFZuozk;$gku>J-Lc*FfJg2N|xjshC||LYZ27<JT~C zt$fhX-y@ATXJK61pYAdf@G~HAC_N9|v9RqLdY>bvR?4a2{z%w!Exqao6dMIoDg5;a zu|h~1i(Ii?_vvA)UHpL5t%p*RlS)i0hbVQLh=;%k&b>k%bMcXovLVe4F3jH`!4XM> z7G|zfM*W65_Iiq%C6nQp1H;&?j2gP*+z}#SxH4a7tEI0vVk`$I%o)<};~7}84zoE% za0Wg9#{j~{;6!-}k)&7VBoPfueuh;sk;az*+bv5tkGqTu#i(hjE$$5b+wx+`n`AO) zK1QfLfFtkmVgU{TDatQ*P=#K50P(f;dnu!SC8YqiL&hsOt$Xu3WKg?QuyL87?|Y|& zdhouMeo%pizTfg-EFK2C8JmsiUTS#{#^D#acy;JV3lCd-*ELewIF8Y_3Ynys9UmuL zCe$N<TVgvR2h}#xcsg&EXNa6?r;^e-s2aU8Z0^p2uYsv|T(QPS<v{G^mBFQ^;Dw`b zXAJT-vOjr82}hDLdJ(1r8os#E_>P=XC`sx3p$u*C(DDEjt!8kRjh6oUHd^%MpuprH z#UGBrIXToKEH%EA^KGP^Jr=e+iHHI2ONW<mHh851yaHT4rDB*?QdvlB1@0N6N+CGs zNIo{Gmi~qowM@pn%c;w&(jhvE(vpet;TrndHGph>Q*e$h(^kVvL)kM)zSC4}wS^3L z_KCx=lY_)1)T2To3B~+H@DW&DR%Iyzo@!9l7lWR335KUz<Asg&)3D^mfTP5%rHC%S zAP6a*mATIzON~O*y@0=_XlUXg!?&Mk=o!;6)*b*tpJKa)7K9+&KrBQ<f43NOP9deN z3J(o$c9z2_So&%?r=b<H-`g@(f(q$=>DEZL$hAh*w)Ul7S&6cpN~qhs%Rc#5i!kS} zNxrxX4YEohVji$?-7!9rKCJ&pDOF`X2Dcwi@&k?#+n%AJn?x-0o$6S6#h`1G^<!|G zhpB`lJg8c<57=&3+GBuM)j3B9tD#zYnMSfx5cCD&c@z{;ruxKm!eZOt?iMl>l2S}) z62V!Dh#V&1d1L-T5I-goBSD^8GZx>V%Pf>rhnFE??<y$B>C>>V50)XGjP67+qb@&6 z6n>?Zz^Sa&2>wpQ2BccXTyx=4#7`RIh=mT?puc%wPHv#fEYM1>y8-kNH;e^fE<uZS zBoS82w30blF{M<X8O?pa<sedgIhpWYhNuC#_@6<A{!{R<(Dy84(}qXD-FK!E4iYpp zS}(Q6ZI1i{2P#S_2Ux|?3!y@7IYKN<LfQ5(iG0{~KTpIvbeT4Zgg=c2agP#;jdMW~ zW&(da&VpsM28LmeiGD?M1^NJM+;3|s=RqN{@L3OU6Czq$Ld_3Bf@l82dZw;o$k#nG zARrSSKoj56Lh`Ag5ez*P0<ycb4G9CD^@NMd88}pp2CbJ<1#Xzr*OPJkdF50Es_LJn z?~gUjr|XIb5zR6929keoB3_u%cE+gUH8bjy_@;f`wo+<?hAuk>07l5rQ=l486jaaH z6rz%5iu|C&1&P-aluai&wR{`GT3<pX#-XbHyGtlOqD!FmA?nE&(cG37@me}C5b>N? zikiNJyxYtWi@Z;K#k+u$&cU4T|Fy|MeZ9EP3&?e6YZM>?TZ*rjvi>#aP^?8}g|2Sk zOIrYunOrTCH!Cky?GFHol?Xgb^p%tw3Y8m3!df{6tY1wXAq+wi>G%Z{<Ww|h4+IWq zybR(_h7asuGK&r}V*|B`l<rI<)_FPE;lv=+2g^Y(!kn4_Rh30S>YVcP87+M{7~Yys zoJNCKN;D|-BV6a8p})VPq1Wf3Mc#;$C#D7x-+Tx-`EHUw7_<XZC`jv&ph4vdPGwo| z>H4x>NHGt_;AiC;UVdbOf_j%kLK(`xOUt|ULo<B?c-Bw80I^Gew-1i*d5l_D2jIv9 zOSLTJ+z`<+u5gV@O{Wb`=`yPq=`!<NexSCJ#)|ov=eiOmr`AtUE+hlSDs?|#`&hZC zNwNfU7*?<Z^DHZ+43O?}r(-q{kc`v<^xC}!4FZq~fy8}Ac+bh=no2tcQly_KIOR+t z^;|OTo$h^z%`>8bwf0&ZdtM%Hv%vGkpbZk9NL(vEHG-&IecCb7J18?5l6}DGaIBOw zP!?r|x~e2D>XprCXY9>^pkLBDtf<C-H%Ju`yFpc(rppxl0y@U8s0rN-HFP%SWRpUa zR(70~t2~?`)FA1@cIaTCg938gQDPfx#IHWac0G_x#CHLf-^j)iq+HeH!>F)n3VwE2 zBH;_-@`JRoxbrYAPmo3Ot0&>jl^xV@wTGW0K8oZ&oyAbO;NLR`CloIzuc5z8nUg{^ zlr}})1frXE3C-P<8KUJmWrR&qyNmQLHSE_Y*87zXEpq;j40!Tef<5Lr7ufkp8$3|u z5nLsU=^TrD>tJo^%->Mer=^@cF5D2xQ`p=O|4E1-<;GXhDX-e3zsC^kEl4ExX5e^W zGnsh?1+~K;aq3n{Vvw*g_`K}86w=uGqk>v-3RIpzh9XKksZPlbUao5cs9O(vc+S{r zU|T~AwlTsR-5We80c6GI3+5NQ6(0}G%+c~<Be57=z%fFp%M5doaaI0UVG%bMGHxkq z7ZMo+RD1!*^e-8GuM`a(O>n0JeoH12*kr)_E#Hzxjt>5csa#*(VW^pktS1^MRZVXl zz^G*`#`<9E#^Sp`H#ziA<sGsd$ZImONAwirh(#IMWPsQ$UG1)O!sEkpQ;5tj(miT~ z3jR%5C{G8Bp<JLttZ}YG5@Bd0`5{dj`ZGv_pLu3Lq!dk_fvF2FBodGBlYEfO)4FP+ zS|bdLq3n138#b&!f*;8_2O@>u2W|!;b)5%qHq61YA786`5djI&6|=e*L->%!-Jfgd z%6p|$;jm<4{9HUfj@^Pf7RA_oi0|4aXEFvr)U;N4lTGpTe{yw3RBT-mQEU_xvYIt? z_g1N1=|Aexhj^rYoeV4|Si>)bI_Z~)dQmB5zf6Xx^C1@dKuh`s%^ls+52@O`28iNf zknz0qM+n6qBp;uIha6_+7IK#~rf4TmAK)_QTUhCQmEqnr1y$b<0*{~uEs*sr^JX^; zVmfhb%xR}q0&>eu&341ym)oI8x?fewRPM#iU}Qc9uH-7Geuj<qI~wYrSvVIT@DW@2 zB5I`d4Veu~pM={7Xh8G=8T0s{RTHD^%oIXWMPG$$*53KrzRnvsRfSaL4iG)a#dAJs zeDZq<1$03Jh&~eN6Qmhu5JP;+-Y{bGuvL)-GQ;;NgRU8gn3okgl-bt_H1rR1Fs{L` z1iTAk4+KaeF={oG)$@xnf1i9yNZYO$iw28B4k|+`K-1sKdZ#53A_pzcF-viTh=FPR zbpgg&D5sjUKqH>~2EU$5C7$;4m)>HB6~}Z=!P8F!8{0sVeT$pO09%}6UpKOd>sZR^ zDeL7UqC0YGF-Us3N{ZyyOu#SpPV7?gW<yIEmksLb+9|mBuq&pXHwm9oO#phfI!XqN zZt04R^Sj3Up{}N~qx~=!uS9c&dj5L2@x*GP0A=q<B9cIFxA5@z*IIo7!UX-DFjBa0 z%`rk#)*Fi0O!9lV-Ed-mq^jbo(z(GWKW}9Y6<M6tQGTk5_XrSNB5{f-CXNZzSI3CD zu^Qg(%8q3KG2UhT+u&Y-zJ45D-Gp`?Ebv%_sUIq+ZA!*QeXAi25i>Ikk5ql!KU05- zSo$Z<kZzufIcua`yGeMDeI2MS7uHXNhNTiJyIDb5-q6s;{Sd#*P^(~Ubvp$@!!_0< zz|)VWVPfHnLCR3pF(Uai>X>ieUe>!UZ8QKl<pYhRPet=j>M{ZAXZqxeYSGUAPTpnG zxUwECvW2=Ckpk5xuSVtJSIW_I@sS{wY(+%lK-P*V1g_>gSc6=<6#yWYy?`_ZMFLJg zMyvqQZYARMx|0V4{t@tq_;jM@GX*sYvZZB&_nTT@LhZE2Mp_7>myd4g*$42MTD~4} z&IlEqsvhJb4*6BX+jX?Yy(SkRYYmEd)(9)LGAjDg**k7$CMtJ54TsDqcFXiZYTyq` zU4kF}z@fVMRnxGXf{Ub#^Po%G2-0ygDlA4pNxAV!hWg22ju|Zq+=vwWFTy;pI%4HI z%%I?Kyu@;<YC0(u`o$E;uA;e~4Z?-71r75t{l6aQOOn5Hj@S(^;p~Zoh4IeefDShy zk%%lti?${bP|GCs>|2eX9gWAuE1>9Xu)!BvG)%+tHfiZ&pb2Dz;-ys0hg$lF$vE+p z5v=+DLYY}Mc(A#dbt2>n%H9S*$VK$y1JK=6R)n{<EGiof-ID2Nhg;o&jlK!O0_<1y zs6-+G$Y^%F1~y*$WZd>N8Y<LF|3HP0CgQf>tn4^SNVs^Rg+SibImp5t0_3vNw4JYm zdM^(Tg*<=klt)d`o`B3cl{=s@MOw$%Q+j1Qn%j0#yib>zqoG43U@|LLe1a(e6oR0Z z_c7=^)_9MF2MgbyU3ZeKZ;vSa1Pl9^5ud5<gw=Y>$3GCQz0a)fK$nQ=Ty=k=UN;CR zfUbpS$D{1D6k;1FuIHhwr**9N(PcUxCHc?nvG$Eb&-Jv9dn9rTv4YxzU@JCfik_pw zwM&uMwL&D%Rx1ITSBgTprF}fH>M0sYZ-n6z8Byqn*#I{l)gnRJ-h(LMMBMzmb5&QH z(fV;&?*Upyb+*-asU(ZByq8)D+T&`CR~LXmFcs4smUHm5jw^sHC*UkaDv=)^dW7I6 zOvBVuzCo&ocYh}5)V21GZ!aVYEy()j2*b`$0S4Kvwf9Uc)51{ms$XjG9X@C)zOcpx zKKZ^NM?%FrMm*Fj7uwf3FKmQDl*cRK)Ws0JRlFvEEmz6<ut<<=gFg`ROrHu7+_HPd zoGjMpriM2(;_NDOC!Lwag{iCT$b~X{jMxgouB164#vZFa5o@jz4FZ4+4XDQUiRBzB zh5#QwIMdf1kk~Qem@ZTNfETzW(*R!Vn+$VqI#%9@Y(><1k2+8(jn}_?gJs%K)2~0F zb_WY&;IO`Ahz;j)KR@XGmWJX3%Y4Op4exb7-_@p~xo2>6ZAHx6^G^k5w)^B~3sx1n zRcGvTmUF7gqB>#-sH8#8C7ckKVw)ZrwFdE%aqTAKtX&%3dT@}2Y9-S%6i11=5>7&8 zM-Vs!U>mFima+uX!8ZDC0agw_G6(#$k7*yO1M#PW+B~R+xRFNUTC-#}$Pv(Fp<Vz@ zFHCpP*(Vy_H7}(2BT`14C+mycK++da*3b=4z&J>NLbgLeE!&T9JsKQM3C~=yIv;WM z6kl=PWnXbJsAz!b+d0)Jdk%9`kmwXm!1KUvDh?jRqK|+Gq4Ix2i5`?i9f)*v#6$A+ z%55c_1_o^hy^JBQfYQtjdbK^K40@<$U@;l{Ai#8A93|q1_G8ns)Ro0CcJ7#MHGz@R zCHqMJ$|J<#%8qSa{Q-TAgT;)=Orkj3k^7T-4VFk`jy}1W@h~1hmcMm|DJV;k;4vC{ z>l0LU738N#UL>{|W66^V{fc%O2N=>6;Ps<`54I^ly69~o>y4fC!QTs+Qvag{n0az6 zW#iGn40qeMr~Ltd6nd)71AbwH0{RHik9JDjxB?wil}Iw+mRndFa22Q!4`4TDoCSZf zD+VfCk^fZ8|2_|d1%*qEV+rL1?o0M)(s&End{&sC<X5l`%VIE70w6%p2f^o3m*wKX z3tqQIHCq0(S0MBb5)Bg7vOsMZtC4_;+fx>WqoFZ6eqc~0@Gl<E4r~e%HT`Z>(W-Dz z6Dv^RL<hjoG3>9)0b{{SF8VtqAmp$cLX!ze9BkOraRAYeW!L4+`Ioi!%~7H?UJG*V zHtS=+4U~{so<9yyy9XZ`i&y$=+K8mPXSd0yf^HR^m`FI<*LhxZ!&pCkgp0OA2Mr%l z&z*;{J_i^Cb&IFxuW)PVoPgVW04!iw^gT$;<KFlq7g_klN>GE};vcAZJ0sZ+*Oc=> zJDrB@@`EXMJj@|L<AM#`X8gQ_vRsGg-zR`b0V(SQW8)9B^Ew+OHkpsu^QaA;`HZNm ziG%vH4B}VzjIai>=J1d^*bx0u3x0xufdY_#QYC=3dYym=fAqLb3ZhHHaSeTn4bTrG z%A&x=tGfVcq2uQ7Wl?!37DFMWZS{*W&z>ZrE?$|RK91Q#yx&`+^dKuF5eI-3mU3Jf z02sLeQ9lGtrJw)B77>s}Xm3z7qmE3_|6?WF;AZM^Q*Hf0VI*isSE_h#&`vuLRB)@7 zl^^D`Za2)^6Ile6$<7XM*hu7(0e9S-Kv0~a;7F|6HM|W_1s#ClIbmU={SjwCM4;Cn zBSwxU`5QmNA(t{H9t+85gc-*?@OT%S2C4_mxP}MPUyX)WdoF{?J0J=JoO_8Dg`hgA z5rm^7jLx<kiA6uuNXAq^!S!5H%Aq3+6>l`hLJ(srfDdeZ)xcSg_~qhYUZDkn|6ilT zZ<C-YsrIffBF@-Xe53wTfB+L2p=b5eHsfsutFyiXP!fq0ha?g6RUXx)l#33l=2$d< zmtGRX07&OWZ)!|!$D%A}SZJ|u_uY(8Zm@_eyq>Z{L$B(3_a7rE4!RsimN}WI)Q;Sl zY>WE+Yl?C>Vl>x3GwfyU7O^B=$}q~UOxxtaG|<mar*$0HNE|cVL6Ax7=tu3$GENNQ z6j31fSxa9CV2p}wFysbm!yIrP1E=8J_e(fD0U!ktSHqhDta2%UI<|8z=!1NSAoJ({ z6x^vmvqAgwE2VC)mRwcdBBf);;9+10GH&0;YWKXFjgYB|KbnX?29xp32%-%Q`X(~S z1&h5j8hRo@!5ZFe5N6jc)AD2|0R4y@G`wX{q%WeONQ2!(JiV(O+8_L`;)((bSxnKO z=7u5JsLHd3-Dr)c8?_)C_44*as*;IFe}s$F2$w=`y5Cjbygf#Wn&jVrr&$9&gg-;i z9}LZ|D?dgQK4dIG48+LMWB{tKZ;UAHgTukT;%v{XuiL5l^8Ue+QUK!Xzb<dyX()EE zakudtfwgbR3`r-JO~M1!?f`HPkHNPASKo~3Qnw>qs}|S};x!fn=N|M!dyFS|k}5Dt zp_-->vob?{&84l^a9g>Lm<uLG0Adv=D#SuXz~;seDs)#FF*3C*htm*4EG>S2b7oFD zA?A?v(Kls|@zmjQpgBXW0o@=p6<iPvZ%IbjUO&Q)tT${goP{|==fkWtCKFa3pql~v zy`BvOl3(qC<$;hk-xX{35hu3;;$UAsLY%Jb80?kYl~V`6i#ZD3DSLLV5^VElnP8Hp zKss5_XpDdquTfBi%Ra(cfYw66o{P~N^RFXele7|kLEr~1r%~a)r{M*H>DIWR9a`kx z=D#MC{S3MWWhnbw5OU_kQ&CK_CDc-#9#Ud`)J;ft!mJdc=lBsO=_bs@!mOrax;iay z;Z!U{?V-Nh-$2FGaPje^^b)LgB%*g~2t7)S^?`MJ4kV>7ub4b5{ue$1?I8LVHTk;K z4VLLemBbZtbV29#7*8z6kEnav##el()GZh2>cKSi&9_M<E`>vdR$oIf*5Oi)z^iy0 zkJ+MC76UiP2*cq>f$-;1EkR_xQ&!#tR4<)Szz#0#kg&r(t|qD@Eg&}}#j$hW8?4}h zzt;c3>$`2+3&(*J=XjWEudU)en3gdzhsrm$F&$1h)c!dcIy6t|mwZ*J+j1Xjm^w{M zYr%kgNE#3ALaf|sp!W&+Mj%w&WP_{l_=Jx*FJx%J8;zbP07<&JAK);XNr#KG>kJki zg>2FBp#^u@x_7z@4hlfoa3lkw4gBv0F;nOr>SnrK3QMWb!gZPZYzqB$Mq*1Abodj8 znM}c0G+SMQpIuWnhuhtC!{_1)!!kiLT?X9_Cnw=KAhLKN=JT(+kY}w?4W991W?{P1 zTHcJV)~NIz$sEiH^7jKf+$IBBHNe1p1jx9cLCPMiu-f4%VVUJQoX2HRF^Kb3W!TC_ zzW4jY4ml^UN&>|EOF7d?3flJfaa{ajkA%x4Vb%mFx8oS*H46*dq2<A^OkRo>bVBCo z!$Ls@k+MabHhHW1=KYg2U;Lq<idSpt`+KA1o3><TKQ8OpZWsk{Du@x8AEK&|eTS>) zXi#xZbZ#$PkO62Ty-MPUIr!x3wUT8ntQ(NQd4L}4grFQw84CH$c`<m59t}ZG4w!pp zs5()~#uc3TS+JuIkHg2eQ$LDv0<6lnu@7EGRu%7YY$Q7esZlM0ZDn5<9}XF)@Dz$! z5jn$s@^kLf(efNB2(jWb;b?hHIiR6!;<dcXIt(n%G)Vowh9g|p2IyVTKhj}gebCg^ zL+|YD;H>wmF6A`PQSv&F3Jwk`fZba9v1;LOm&D3!SO=!Z;0*M1T{;Vy8MJkP?P|b- z6P3;eptU{>a>|AFm|GoJ;&L}(YGAXEzdgbT!UMp7-?Te`@P8<~ZZT1Jr<^(ygNVQ` z@Eio*d_V?}@l5TWJq!v-J-rcx!643Ntnivr!2F-gjRf>(CjiuT)UP(Db<k+hN05tr z^C1Yc?dM`FP?w8zSd4<2u?@+C&CkkNY2g93UO81T3p9m58(g4bTLE;PRzd}vIy;(9 z?+R{8f7^2Y+ni@@%fpN>@t0`l>t~WV88LFsv<w_*N;QZpvLr2i&JaUfg5Ea*L>2;$ zJq#OKFdwtb2xTk=Ls3lUm<q^uUbgs#?7Fa3Wc|2`ko+ErV^-efVbS)O?a=<V!@*vF zLp+z9Lk-d%U92Hn4{g}Azj58$rFM~<Oy%k|LQ26k!0T9Raz_vcnSSi3NZ}&}?F45M zD!05a!Z+Xf7e=cmsw7aV*vvFkgV_8fxS@=T32bdAtagoX?aT}-H>~g~u4kGhECz(f zD?3)iR};_@W?cc|J~T;GJ7Mk52w7!^_#&!WRLZmlx?<(+)SLv=MChGn2gkHlK~HJ0 z#^x<L`)$r2ZJ#?y`(#bm^z62|_{DJ0Jmd#{eO}a0O6SO_I&ku`l8GKZlGnPCP~2>+ z_rTiEY^x~iJrBin7f|#aNNhCBXwe+tIic!>qEK;>0I<igcIv%1Mo&!-ow<*ZSTo~t zgRqclVjZH(3{4-}Pdikn>7-pwa1vz@;qVDT%)Q*$pE3%O%R!mtVVNO5`N;zhZ@Y=+ zUscACd~kk=jo_J70r|`OB9X8J{oBlR283?GJSRUzi#Y3`)M=Pj!U2s$-x}qO1doTH zs{nLQN5K37I5$NYjz$WC^zIG0iG*Kv`iWS<fO8oqxc}Yax83hUd@i%hud2(cY?Irn zpyA+J4ksPF+Drm)gidn{GRNWR7y;W=%e$S{u?NXZDB<jIah6l|PrwTK5;1odTaLj; z4v!EZe(!b<OwX<xZz1pn4Fd~9JYRvg)7rbW9l($N{g(V5dLG9MGBw1O!m4H4Er&9Z z+VHC&NxNA%|7|>F<W|u)@`N2Hn|yWrpN~FvOuxy9RCWGLk*sd6;<3T;=1ZEYBp#T; zqXxPK`G(KsRKgCB=SrDIu7sMnq6?cvF+~C)r~R{vH++5>@Bj{C6$H>D%trWHfVid` zUn|09;)s5F@yxgP_Bp<h)lbCI%e%;ueM>S}XUAzI3o;D3%CI&qZ+3?I#C`hA><sr@ zW%|O#dO@VBEy*#5vjM@cDY@EA&;+RKdZi}^sR{ZDVg26Pn*_+r1v?AG+p?5;)D<wk zLcrMUVY>ifLdQ)g<2if7xACel5%gSb6|f-^pV28?WuQ+{SE`d(efx#Y@V}q#w>g_K zJ<aR7nq&K-x~gxbbF`~PRXmWv7kI3exv76*k_}MUyv-X4htWAyi+vrp!8bqb_eOvk z14TqzJ@J_1jiee>yv?9+_k&cU8y=C$7|{ViA_e<Rp3TtEC&n?nOT4e0dR*ThASei& zQgMe2xWQ(HiNb<?gyv_KW$8s-^M<<p^IY!{v2eO*cCn$-P<BUhayvMF_rfxrKgglL z1ji3k09S)HBQ}iQZsS_Rt_P<D)zUW0I0b<{=HFiS(A)HJ!n~tB^s>Aj34k6`Kfh*S zmV*{Z3UM(G&~a#>$oXnJwQ^3D@9v@fvBqAfGIeb0*>~O^6N<B*tQ5idg*0d3z{WzW zl<aF?+9>TuHG<u1dkl)MeVu#enhywSoePB0au;Y?4vchBFG`@Qe$QdjbN*K#&?_X+ z2}-JX;Ye)TWZ<0nR#P$0YoB5^{vt3Q!0_U37UgYuMtnv}LD32Un?Ey|2n`cCJR?@q zVtju)MM_RKrL|scs*dI73C@4-T=DkwhtH{vX8NgLQKqp?4`*7!=I(ePL32GoAUB-q zd&UEydL!7E@th7}4v;VP`l3j?d^c_ikpS%jU#~)(W!zAZc0?~w$Kl=U02}%NdA{%w zehpS>pI6>W3qe^7z$HLHrWe=c972poGM<@ssaF`?etLCTxms{dkgJst^zygW<I}bf zYNMX+<qCh63SMfr@5`_J;WmR#dOPDP+pkgEZaI>CZ?_sCTh$wKU<(H)PQ;sgfBk@Q zoZUx*{{&UKOAC#l$%G|z&l<*p<2%p*P5~rAM+SgP$1cPQbMY#&9#EU9V*NF|(DP%b zWBANs9@Wq!3NrAzG|ojLI2#lkDtf(pAYAaW#)iV&%Yr_6Rr49o?ym@od+*)8YlVH> ze(U;Au_`n-^2~s3M-io|E*2SI+!5Iq3*l;-zI~G(`PKVD@xkNaVa0jMcrhrxMN{RV znMp%kYaA8S&gEpl?sPfynf-<eTgKwa?{pVl%m_8lHAWOp&kB1vw0{OP#vNjKnCHin z0dxr}7iLxOw;1s8%*tzM9r&hVc!a2jcQlTDs$j|b)s9EK?R6Q28AgJoT50OADfSLB zl-ZV<O;6g(JY|>23nFps5U%m6Hes*YW`I-fJIgcem)L<=^CDhVS#i%mWpTd1x7qSa zu_+DnJ7yNtSrr^J*Xm=R($)DaE<d=V@RPht(Xk!DZb9(Q_=oz>Js+A3e$D30hVqSh zr_K62>8TzM-@I}9j&HjfSbr_-d*nl_gqQB>^7(?itVd>#L+S%lifxD@SBGNf)#_iy zuTjg~)urBQr6EH7!d=}G`_vqzHVH*STqji96w%zf5#PZf!1yIMTwNBupRIZ_pdKM> zvYeeafGlg+<0kCWI@bnfS8)MYR>f>-*mc$Ymo<u?tcNyhkf|9^$MD@MH*q`%L^_We z><j3j%C#c&j~eR@GAg07QTkIAG|S>YPy<_anW;fY>P@zJZd-r-B>eklL}zy02J<u! zT|kqSkAdlzb$0dAQxszStc*3c1}z#p4$uA|OhgRpKUjCCX3N3I=sA*u+vZCS3Z_Yr z#ntm`4(vI&M6&3~;xs<uc*e)^*p9%vQ5QO9Jh68^VdW{o4w%}$R-eo*%jcvQ&hB?i zvESv-?sTWfO$vF42P-15Zziv}`9h9|E>eJABpR%oxIk2h`dMX)DZ4f}&W`n%QBXmC zrl|8^-5F>eNIl_Mtfu{HMCx|5U1pVPUfdI^@ZV3Qd0yONru=mm&9$ZwqE_|D^=yyw z^dB`%sjGIq!|FCR_Nm1KJ;TZjN};+dzsX5=S+@VR%`NpnjmGIbS7zMUOL&FJ{(>$U zAH+Jo&Ro;??4|yiProwTIH6Cd1D}2U2mN+*uVHVixWe-X)G+W$@7L<zarU%Myz8Kv ztLCrhd)L_cQL7=`eD;7o=HP0*EywK7=~Z)!zY<?mUvpPquMDg0;)asyY_(iHq39&H zI8$GAaiqH1UtM=n-B_n?xuxzXR8xg&y*$jcf6vG<2Cp2O+XeS5m#!F7w=`#Q#{Si| zB^Sx4bQkWP>2;qx6+Y?sNLDm$k=2d(+x<tLuXgNiG9*0@-r{koVaJw~oj29{whX*{ z_y=E+B9Bsk6tbMEX;z^(q2>1L98RUC9`w@P3^><bRe}S1If>B2L4~b3&}|qnUYT=@ zNZRO)fSP1~1`Ty<VD!0y9y+_Whj*2W`$3OI%{bh)jWM-Dp7tA0N!el1*Kl{TzOjST z&>zrmpIp+zbI-!_heo&cS-!GgxOz&Zz%M&Bc8I!V_we4Uw3hXZlC=o;+zeSlqtkOD z9fSVpw?7x1>pik~k=wn23%yPgK5I|+DQAL5<#bsa96)TiC!5lsh;C{z-IM#eIc}FZ znGX)Mtn%-)IbcZVc>Y!#V_K(>jCL(C_grn+s;t}fxsBTop5NRyRUA*FhdoS~K*ZFJ zRkZ|^iq_P|zCK7@TItlK&?}1j`=&l;{gwL0^_9LfP04$tOAM<m+7ZpS-ms3pOW>d| zj`B0ALJUicHgiJDRi>$ic?EjGmcE_W`Y$yMs2Xf9jJRhA{7PTP>z^kx>>u!0K19b) z#f2BriyOs7?d2B6qZLDI9Y;(<_FEFm_XM|eAHMAokhxcXB;Z2dFO`lZLsX}tMoSLe zK9cf_?R}?<W2M{J6273QVM{?nb6d(E-CHkJMHswunr}ajn&fMr;biMaSlbb``^f<A z%|JL7>N|Pl8*ba))mHD!Xb(Aun7Wo{bA))9*6}dhgl5^-iO&~t?Z)B7M?kJ$UyPc< zKP9DrntTxbCXo#&sBvIj!eK)=U$9x^3=oOXNFMY{cOD^f+o{d!I4Fn%aco=9tnA|J zw=Dwu;;U1Lz=v^;18F-BGB)gwadxxL$9|L8qDxrO{o{|OjpL`u?%(aSd6q1X{0{kZ zf_;2i*fj^FkJjd<zGUC4w^MrGLu?-7eJiMaF2z4t5vnH$3vb@tIR*45$YW_W;ee!V ze(AaU++_{ZcDdE}_yZ{3PM<JMJKXA*vT#QRUx+^a0o0znR*i%Q3>ePDg?B<r5d0l= zyZI#VW&^mXwcvvPh6X8P2>)R`9e)UE3@t%BCs*ifMzug3ha(N(6!(g8Z;OGT*Zl#8 zUdj9{XK*K9^9un5xnN-|YYi{m*DJNqOLS^z|EQj!fk`d3!=qomD%^U=?)K8+D~T=a zX&we&&FQ7lOD;iEOzYV51s=bqv#M9jDpHK-`f~z)+nv*8@V`hFhL6z)pENj@bJ`E4 zf0LWoeB*oGk~6^vww$qCK`qKi4xu>tyK@6G)N5C8Qo~hKY#%lnlR^(*K|`M%rfw5= z4|7CfP)<~-1mt*`o6UWR)Q!uo>71zaJKAV0;<~_s6wJmfMf-|%Q8$6(Zo8_4*5lw0 zxQIFlIt+fAjB{_c!)c{d*t+kN2-Qm;ix#NhjAwftoGtI<7d7;BaHeIY)=g+(JR#^^ zaf&?@G&O6rx%=liS)!CN72ab5jo%+KWyIV|>)bV$l-}GCeduR9*I!dt1=u(JnN7cG z`mSeBl6HJT*ZuN?qTQXc1;x9MzSK3Hr)Q<^?hL;)u=SUPz;W=;sSkm`9$@d-lmU88 zgCuHNM(XJapzey+T~ns-YlNRlg@eKl%pjSASXyZ$Fu}1KiB1xE)>c18IkJT6upW!g zD2mAq7I`Y)?Uuc13=n#GF2X{CQ$ZPm$Az4=7;N4*4Uytvft{2c9FC~%uCx6tyCr*l z?m7(X|HU;c#OH2~@~&b;OL~t(H`N~pOY5n<yEJv&Q-{RXlE^<-@x^xAb1t2B4{=Ls z#7njVN3h5$@QjTo4z20mCR4YHcGZG48+%Ds-nu5{8|GNe@HtpvJQecP9ei3zV}RjA zxjP&j4nW(%_=0}MP$Udw(Uah2<|&h<k)4HZd375J{i4QtFp#0gJ3+3c8$MLK<8mq! z)JyY*P{b-gl&5&3PbP`+#qHFrIa%c-5>p^3H+OJCyz=UX6)5`oYu<0E2F3ZKIoOJ5 zGqkjvMmr7fMxVBjU0v826m~v#-{y0c862z8t<Cc8*VoyfAINO^tGQ%4`s25W+R)Wq z&(9$*<{B)c=AU}`%({bEV_)lJbL=G@4&A{-h7C~@ZaNOa-YDW+SVl~)GJ6Uf<ll0i zo}bO>IK#B+k1A%QuJ-%9ut+#G7qk(no(G(l`W@`+6$9I2W|78lG#w7Hnx2oTVC@;& ze|$++x{Mth`Cbdn^!C<$8z#zYm@u@zBfv}aRgpk-T@=Pe&HQy+M840J;_R`3qg&>y zJyQ?f4-7aLoETdwGcNAmv3iY_N4w*^%4HMU?j2~DT>D^a%#Dej`;xhTrTGo-bZXAk zImH>|ucwC`+%eVcMS4G<ROVEWSAI=*I(W3_<IpW<3a>s6ydddaQ`q)(p<sV!k&DQ= zm=pRwk;LiHE_Gq~fkZ#)c<6!7J8r(V8%@`!x`A-j&JhHNVYXOfK#xlD{9O-5c7x$N zpD*T`K4;;2!A3&FyQ&mT@T@Ui_IL5z4E=KK*tIh;&n`FzsOaI{sO(7Uffgm*m1-hV zOmz%ccV0qOf0S_G7iM&5uB*DU+a#$R3QBO*yAf5kE%6&$SizN+5!pwC7b{kB8>TnR zI`1CeZIzVJeLX8^!<xL0bFFLsWJPhme#PIUK~EpA?+c<07WeAMJg!q7&fMX*f)XO! z)R&_hja!?-v0jS}F6Qgq;p~u6M5&y<Jv(D0QJc~jkVLFkl8E^k9Q+Sa-T`@ecy$#o z@D7uDpxsfd^cxQ?(j(w>fie)zAV4#|eVyoMwYz>xCY;O5&7t5p#X2v2BJnVey@)ja z?!YMJiq@#Ae(=}#TLhYWB~muv4dB33FYlKg`j=T*sl-s|UOlV!bROP)-MTY0EK6Nc zd?@JtNBV%zi`PcP2YG+)m(ZQO?8B#?5q;kiBNE$pXp4XNbF^7M#06e@lBku>kj(#S zMbOWNjP2F)9;=^xL7jN^(q_>U$Qt{1)p{<Hh1oT(iFvfXLrK&UaHb`JdgRU+r=k!b zt%s}I>gQp4wVU{w@_Q|leW2x~=a~e|!aSunS-&T;Q-(PIKz*Ccyi_6G4)^dC6I#hG zFERK}UQQG6YuR;`#gg;a@KIqRr->R#YX?W&BQe4f_QMe$LCxff><75Gj!_9?-sw)A zY|{dJs%2Y$T<7E`c`nN%n&;@Lm+L!gjtHMTB(4^6zD%|IW8i-Ob$QR)*uVJ47jEG; z^FKHsMW=G#Z`KvYa_(4CBkk_h7cGia+*|}|fWwpXlF<FaFK#VyintOumg$9atNxhJ zBvV}pHJspr{1srMT%5z%@8YYKurokT-39vbMKLJmux_c05M=c|NE_okYJy(C`IGRX z@z8tW^e}~}Q<26!k<h_;9JRa4PB)dMZpyCn1Gn_u?(VQh8jvu0v^*~_QR3tZ?~&c} z=bSgpt!QSMy6E2L_Vt+?Te@sp4v#PBORhG|>rS43s%7A3Y*cHf?mS`B%8Ge6QoK;7 z`d0SST|0ZJpS3zC>aX0C{j9A2+2SL8fjh_K%|21LRZ_kus_LOJY1*0K4PEcQEZFUs z_c%3^>slGQ`K$wedj(%x-=~yFT}1QeD#sJG_A?K<hz<s2gs5DtJ|Ijv9D2LK=Q7i~ zoasjtp39+DfLy<g;}W~}3l}{!2)Jl?kGME%BiTs<&nXtA5ND@l*Ky$m3(kQ|$D-~_ zqD~Bk!6f`5)zKzq{3G#FKLrO4*mYZOZ!r+nb0NM>^mknYRM*h{$m}?~=u!{s3Wvm& z^vB5&<tz2*w1Mv`mwG%~B|CH7C&2R0EOkVS9YB_T>{qnG&g178$485wATg&ro<236 z7wi$1cIQj*+WLvgyqxNn7c=(y{lMwa)Hh~=Iwqd0e5}i;ehj-7j$qBk!Y-@f0EJ|- z(zcCp1Y#bdLQu(AyWwogUL^L_c-*@&fQ5TH?T-{zJ7mDAirv|D7fLvhUU|@2-sRR1 z1iP~98Bs2wI^0XecpaSj?WIpG#_EPf_a>xI%W~R0v;d^E<KVs3P#sIXz(mR3uM;VR z!x}!UkXv`2+f@&1f5f6e=N+M*)qio#mwqCi+2xz#xjg5AHHUT-toT|i@6j|4@FR>i z)BYTLhN@+r<?EZO@%kfL)=%P@;=^55Umvg6H*_T@>7)u}*%RXl>Z#N)ueJ~4IcB66 zE=hkN;T>RKWLJXwe?WQLaG0aL+}nEbQQVCkYuu{Yp)S?zZ+QgN)8^i$3CgM*4mbd| zV5jUt#8;IN-0dKy#3Ee(Oz7A8p6REieOk$SI3>s&20EajW1-DzxtB8*>bXc1nmQKO z-Oa<(=lxZ8>jeT(J1zm<%7ylDQ8`gJzMWG{b&Nb5_y3ss`go?-|9`is9O({~n(m}> zvu>1OOr>;=$~mVS$z3<6kmGi=4cka=N~KPx6tgYes4$hJ&1@k#CEF-=Vzv<Pv21vc zwaxflKArmh{Ba)V@u>4S@3;4Ly{^~md3SkQsm+uT4eB#hIKd@55s~+zbGycP>I&oX zK;D*(y1zEvg-)=N3gy*%RBmGk_;YebH_@5$-x8SpO4f3q!3`a~u&Vq`PU+h*yN?(i z(fSOgS^jhrGA=?+xUXaPL}3-GW?w>Y&;qcD;Ygr_V4-a6H&Uw0c|dc;SyT9@u$0#c z%qzp~;CE#@613!>%$h_7Ss@Bb1W6&7nc2{`5_rLUz7Ck-b0M(|)@G)1AQG#_Mqpl{ z@A0V%Ta`NL#q<R2Db3m-smoHJ@SZKT?wgT7Q}M$-C}{ribsox#+JoF|s_DQytAUNj zS!b>@&JQYXENVN^ka+Fsq#&8q<Nod2#=7-ZVU2R<zS7m>pLk93T*p+O-X3T6)`^~N zGIwi1tjn*aM5u_pK_QeT1*NG)WJmF1Wx}?^X&BM$B(R8N!kwA1q{gK@87r1^XAV@* z500N@R?x8$ct`Uf`1_c*=it4*C>zl3EavqBjaqT1VGk4100L8?E#ub%q6Ww#7UqJP z2WW+x)#J9mb)DhpF2C;tF#P!9CW9Jnec7=3%uX+x3N{(^nzj1G=SRJ`-3hOCt0XwV zGCnhJfgo7Ci`#=}xl{Ju_woR^2EzaRRL?i`ICX6;>vaA6M$C&(lQo-8uNInM6CI`w z!+V7b-|32&L#vYoZ$%0D!4=N_nb`V{i956F2;?ZlnMYkOP*(No(uKUe3h<%OXbR9Q zASosMO3)5=#Cp>4Kp6mtyk8rz#jyYr1=d3Tw2+4=vE&cQz`&Ph$Qn%0CcPVDo<IXp zg|)G88d(N^fSW1xjRuIWOoMi&L%js1epmeKU~56~7t@3lblPSkWkqIcv^yl9-x4hL z$+c>2Bctq*_f5`?9lIbqne^X$yr?<bBPnj;Y`v=K#clNJn*}Ebo|GoZm7z$uq>mHE zNEV6)qTo00Iwp3UbVkbdBzvJ$u5C`GJYpRaB#~_eRq21+Q%oW91(5nsTt37UmIIF` zbu0CMqNgK(s>=XROP=5TNAeRDFAGg2Z*(3(4{Cy}_=W)22dyEHi%6caiQ+4U8gNA< z$7$N*Ma%19@-;w#++{~M#iYOrS~<{>y3&z{4Op6#>LzO`GnLewP^ZhBJXbxqO!=3; zbmKl|=OJnT6%zCFm5^O~%GWS*|2X{Lw%bSF);NN?I#JYZefk{s3-qp5M2<kjML7}e zaF_b;H!#;z$OpEe^86~TNWCdXKud`CMD!M7bAj)hS1?4qcNr?2_fYiuVhJ`74O$04 z5y=9fzE{|$!IYQNE}kqmY7F2GiC#$Hc>V|Aq)yZV1J+W06F|O!d5cyx4TW|t5@=<x zW9}GXvrhl|B`8F{=8=kDJf@)Kjm=1U7$&lq*R`b8L$U*jxv%ve^G#FS`!;O)XH1P6 z{co?O{!*V{k-3%BIJ;+K?^oNt@V6&}LykC9)kGkM8O%{{t%bI;UmZ@m^GVx3SV`#K zKcugq_~D&EkH9`Q2WmW(5i94oNm>~^;H?f^%!}-pZu?z!+LrUIU42?lMg^nEe})!H zau@KbemPPoaReM}kDB+O5hn71w}w{0tD2@r=_NNHMsa7E3`<A@Ix3fiGB|U^w1!*U zo1!g+HSBInKznOm#HS$;f{GE*keQNh!P-bKS(S9=yl22K-l{nRRw=yd(2<J+3`pE{ zW3c}*>CNWSJey8?Q$@P+TgRuj@A~FDrv&;U$8*&_Bfh&79jI4v#MRtCb(Vjc_TN{u zygnN3-prWYe?OcNm>)VTAiwc&0oY8UqxH-Q9@Ca8t7j%9dV-71h#|9~4!l@eG9aEl zIp^~H6QGXtea~h75DRqofP(@VVL<3UjlkE&mhyUm`cs8RkXX8k?bF;FU~pY(h|`#v zPY2LW(SQpBkQHV-(B-mTCW%N2WP0ZDtD0hHS*849wh+K7a@8c^tF<(Jjx;@6`rMYK zCMpFt5%^J$-}jiC%jzwKB?<q%WHzFtWb2YRk;e^fRy=lt`T4%VSW+93Vil0@D|tgK zVs4>CT0+k&nf$?^pCHZVp$0KZn2Bw~@rv2}N~j*p7QRqN1?UXkPb*tx0PQh{dInQI z9!um5K5;{?q81#2qCtKY4p1dg2V)BTm+%V>HN^+n$&&%M$C&sm?nUsQNT1`Q$tu7Q zXK-tSKyz?^O#K>&uV(;a$*vlRRy_Vq6%(~=srpQmS7_`U>2nuB$t-EU1<SF>lstEX zv9e;0eL|is%g;MEx!>c|9`5HcllP$199$$%HUGADe{<=O@ZVnO9p9pMuf2-?BLK1F zond?b^LvDUI)YSGW>i$jA90?CJ|C!_Bw`gVys)2QD16Xv{v8`)?@9sI!hFE2)q!yZ zd^QkU3PpDV&6c+KR%|p$ChGn}8}j+ukk+=0X9_g@D9{PtnOfjM^(V5rP7=W)_bV;# zblKhxRcF<aV}a!>c}7CL0kI*TQ*$3b1>Rd0txw!$Eii*ReM9JezvvTJf_~oCTCj?p zCV#pe=}~08L-RLzH&S-DS{0x={F}#WhSvCu>fe2--;0dz*UQYG%#Y-_8;|(jP~45H zd*OCD^a;soPRPw<b{L7b<)*LX<H1^yWpkxn#~p4A1M{9S8|W%L?}QW<)DbS?z@}tR zi?voztieFmol?7nBGk5sp1XyPxPFw+<)!-rxe-UUn5X(;*SWcSBF&bfumZa^@glUd z9;jU;>$<z(wKAB<ot`*-j?g+Ko~l5a2`vWme5HwUZ<G2ANZm4(X2L@|C75ZgkG~f! z!L?idb&}~pN3NH60m&QlF9ViSQHi0(2Ml%=DZH-atMd5vn%LdQ(NiqX`^n{P9`#8U zX&w$wL0O9b?|6(qk$C;>;S7_8xMHu6)qgc!?DMB^raI0N1OelM@Mw2_bZ~ws612F$ z*AM(n-4po>d5yC(r!hWt8Lvj-T1AP>1OEiH;@Duy`=va8Q)(pmn;?`4IL~ZcLF2;$ zc6&f4I;^ASJ$AF%gU&s}(t%7BAZO?z5P`%+23&E^0nQLaLuN6iO@p_OqWz5%dNu6l zRBgB0I^%@*>hbM%qT<9Dy38<1Iz4kDL4?UZR^;S{qd~W=4i{BZ5>@5{I~Kh+eKoe; zAo*jan)~5fi*r<I)~R}2n-y2(6|!qJ@~H#g2woZX@t)%S6TgarBEqRShHDED5JyL1 zgQu6C>t2*UEdsfa7v@n<xCM3OHlOBKf)@1b4zw^6&eQ@f9!zIwe@dh|SvIjd?y0Wj zSIVD29MqU1LtFFH_f-MSdxKvU(D86|z{H@^OzfWhKVp8rTq9b_SN#o`9vPh9GXzYi zq2L=Ah&=(h3IL<mnv|8G_F(9tIg12iP^WtW_Y>ui)Kfor=77zO*tcDM6m5V6E5E$L zBjGy2^8Jppn#U&N-Is>Gz39sanZuvf%9p)H5>g5rkbn8)^gUP9TCHNAWaRX3M*&pf znkHO6@m!s7Hx{8jpnVpGLXH$-^Qw4Z!D2UDaACPASi?0~#8Wr(i_<8<WBlY=E56G? zAOZnfG#vyc0SjfuA&^|9=IH@RL@GEx6pewjrs-4z;AIin(VNKW17gq6Ej2`H09~=j zkfk01{i@S0<>DwW|DDQRA5{FkG4xzlb{Zqeq-*M;mU1Qo5q3WM@<7P8U{zM;OFHTG ziCYY_FD<K*-?_BaZ%-NV3SHiwH}Ick<JY3wYD>#;N4_fg7+dl8^J{~X^F*$hfxO4n zyGEtAgR=W<j#&2FxW0<dyUtv9vw;7Me|>(lZ*niXzXuKTm`QQ+`Mk;!IMa!uI9#Xp zz@l)dkDPv>vS@%)+tgGKO3aZuumRn(fLs8x=+)o^x3EqP^qP*rDDomzLh}2$(*nVN z03>^i2=o^7#GY1@Yqk`|faR(N%}pm%lge2`i}9z$(&9){?Cwf0+$`z+1@aRt7s0B+ zIGmZZAy1l_&2W>E?tKct?ca?f*wpOaZ8LB)#DS4zGCpt4cW_#7JC6C=M0|u~Y17Ql z*I&mAkIIKH6P{Ik>2PVz;YP}zI;&<uh2aQGUJfVDGXO;?k+{+}vawWGA!iLZWU6?T zPzP>PH_%z*%mBbC0>Z<8x+i{}$LoEK-H$?Y+{lldv#$-^dkshVqPf;ff&T~S?A*)w zs+DY_ywVfsiZ=?O%hL)&(9(750J$wWFe5>yVY3$iz>?0tX(d%>hn)06B8zCqxh?$6 z(w1dAlCD-Lx;N?`)!S@sx+uFdx8wZyx8=F$a<<3U<s_z3an4C%f5Ln8mlK3fZzoD) zoc$Ti#qr$}t0J9+Wz8qD;DDjd{=8Ml>GuLf7RbupH(<vej_*O`@hc@y*;qghj1ICH zA%#dF_h|A2qMa(<7Q4=aBj_(>@SQy<$uK}bK>`#7k9da8ee4FrZAA(yd9cb;^0bT( zhL4SOOl%-6hQ;7lj!ZnT;hUE76UnO{8nDzlY=dUvaB~<DBqWuMh;%xv>{}5Ed~Gd# zWSrzlM;@`1va&r(E=l*<iOlSktv94jiaRFktDe%E2*ii3`sqEn{!+-hZ%50^*sQ@v zK@TtTT^iF~jof^K?ui(e#@x!vgr6J-3XNu8yaYXN4b>_rF5p<K0J|=5PB%C<B)@{B zlEIXn^LYNg!G)c@Okh+4s!N}2=;|Q|=X<2E@e=gJuL`3C%GBM{GBxu#((Pyo2+&HZ zt>UK}YVJRqHvb0$nV>FJoFkRB&QfjJ>s7@egK!d(f)-{ey$=sL=?AAw1zEKeCx(fv z*#1(dd0i11(E&v!S;~^ZD{|e|q@#OsE!s~|h`ClDa~f5(ukhbKre553+{8irx{ac_ z4LO-{5cUh}+LzxQFbW-2eHU!2a+l_&!2C#I|9;j{r*l|gc*y5V@TYJ_C`Bf5l_*mn zFv$f+2iAm(@1cbpYe!18BQMw=qMfQEboG`2k(I<gIdL+8-3CsbsSijB2)3EpFCQ2; z0CI!@8QeG-Lz6VkNGKm87z4aa0LRcu3|I^Kj{lqYwV-R&0q`YviQpc2)B0piS4v%Q zl^35ONYp2;fPKrJrGj^?x&<;zy=fQbxA5ISfY_?L)+aO#J>;7XusM6<arfF~-`;fX zs&oDe8tyd4?O1NJ+rh>0U9jKN$UEu-x38;>_oHwZ`x(CA+`t7FloT<YC|a-;yJH^( z&w<8qyteL?*PAK)PO)oVFM;J&z77=7KoHwIK?fe&JHr6}Zzrr9LHB@hqya|m3MVph zK}>`k&jN{^ISjt=gh_&|6UtXj4<J6XrFDVk0FE9{sdfbHLeMfn*wS|Bi2-X|2fK2O zSzwY{874BN#UmrnlWZqSt0T^n7+$+=GH!zC;i8uayJ!AsQ@_vn-%ELwBBI+!?{lX1 zKE3M|^1Fk%+nZ=~lV=2pkCr-XFMYw`v+#1(R#0Caf!?)8q`Cyp61wp608XhnQ2oLU zq`&S#3(sNOnB#w<BwNd;3Buq)6HcPM!Yvf})Qt;OyP4-ew>$&?XEO1b4V8rew5uK* z`^)3e5)gG_yst{jAv#UIw_PCvu1z7Z;sc}hn?@{9n0!*70bqJO=m3-}6*OzB=>zb{ z?UI$6KH2?L#PjXKT?tuRl18q{_utA!D0i_|K8Um$-044<me#f8qi?P}J)}A-Q(N-w z^SwNO=wsE(9MT7gYj4><H9ap@UWxR3YT7cv_5rK4Vv{g9?9$SACrX>aRIKU|^<IJn z*dg%kT;ebNBMZ{z_YR^}JTPPWmcS?M?}6;7K@nUAFnaQ5;PwLfDtl1n%Yl{f?6n~f z+GGLXjD1zrCQ7qNFU$v{gmu(N!=!&TqOdg1pMWQMV@EHqW|PIvNI{_is~;Q}2E>0> zvWVwBt)6)!pYG<rR?6C8xs8T%HQIHAaY>esL0epso!mJdu20fiL0U8%`r_ML&1|-N z-LT;a*SBLO{@0(7^BcFUvd{ZfKAOo)cHknGHtjgnuLFbCtz>FAx0~yX9J>VD(!!$y zDK6K$*~^*%piy3(1>5dNS@A1fnqvxch)!<<q3xIhz~8Wtug!rc22(Z{1Mzw{-ZOQ2 z%)DxtbQp-0wdl8+iSuAiK64Q|CIhZ|(DfBTooypQ3j~E?4EIC;9mILL(f!KtGnBS~ zmbDi2xd?nsr8)PEl}}f)5-&v`xf|+uMoe6EJgIG)$1g`Q4Nv~tXp6=dg`8ff`ss7V zDuTrm(URukXR`RJiZ9PI2%_r*_k6!sfR8P0HtR-rSVK4V54ATCKDk4to;h&RRtoax z?x4l|0w9w)eE|~36aua>GPH`p1HGgl09B{y4}VCzV=3Pp2(5V=UctWzA+2#cqzaaJ z+Pu>Qsa%f4dP$y@gBUfC4pFJEJ491yA+X*4PUXb<PR&SqW2#K?2GKt3jdYW8LD@Xr zuD@+HJ}c(cgzq*#KajRfSK4cXE}8kICEY#lKkb&0ynA+c+A;KzrAU0d$J!f#5+v;@ z?GNNLXYMi3QqP<Py$%PvEObM8vtw9C<1e$p?F~E`uec)$e52{eh9iYdLvN!JIR%%X z=WWcnd_Y(M_1VcXo{K{X+<dkKFve3N5J=*<kxJe+ttR5e1ke;_$BCr5VZbS%wAkqt zdP59q@|EzzysC0-4cTcjcE7Q5u_84DNK&1k&P%4s0HT*-a(jFLJ&(D)DkDK#Ep_r$ zS{w72?&p;APb39w^H|F;U;fxU_}qW9(u|{vxJ`v%W<7jxDRO=jUmNe*gjm`fvoMLz z7WAOs-a6w-L9V~UjE?iXkpms9i3{<kM!IAHMdjv~`@q5jWB2LAko~W)8!1S8v1{n! zCvECo!2FVjM`&xXRo8~nx`86fOrPj}XquurSVIJ~uml*;eL#jSFrq~eL#kfGsj1Xm z32mB`gK-?<&c%WZ8-ynaN}DGTeujrYtJS7ov!KPpAgTFe8fo)BZ~u&h#_W)U^N1xa zC6@;{+qxFDd-SrlKDG)d^O-&Lo594)8A;!E*3r8uDUKZ~)+Vk!Yewt|Bi!NK#_ZnT zwyRT5FgsgQwjSBwPmQ2$<i<n?7367NGbayJ4+d#V0fl^{fw_?q2x>jQvK*BOx1H?< zW|GY%aPUDi2DHxMD3Hx}xSKsZ2$J={7zDU;cc*UlC>{~Z0g`}&z;)6$1pBDrAq&ur zOs~Rbs8bOk!2q3Xrxw^vISj&7%FvlyH)@Fl<L@ZwgNHWyy$IyL;JZ=c%su<$Ro;M_ z!z+sX+$o8;9O>;99__z(EqQO4Cxg~sl%32{RTvSzz2wC|J|jx@^hqYsbuX|>aWg;n zWsTmf6^%K<*7tT|s}>Alw>#7PmHO)_k`3Ib=->j=7W8V0-;JfbFo$lDhR1|^QUaf# zBrRF+UYL32AP_i!Gf-IgXL;lyC~+M{1^i}j{UN8AX-{%>%f9F2xTnCNdvj#sb_|-l zi9V)2CeQ#ya3Qd((F@w4bwlcL7LZ9MPqD4|08`_i=2zt{6(lO?fK#>*<j~?noo6UX z-a_MqD%+&)oh;mLT<*YII^*JC{|iLqL%BtV<CCuB7SGgs|KZxHwI&Ms*P(eY`4(UI z9YJ4-<czK7m}Z@ehYph*9d2}<WwN*W8)HX$O7~AUoyE<OaOCp^L&o(4sWmiG5AvUQ z_hK1Ag_6x#0AG?XorVqFD4k+A@|W>;!p9Nz#Ws*XY$H&-!fQoK1b&}1Xw@V$i5LP0 z(1gv3>272|2M6?Op*RE0-ClR;r~whgkz(iAiA)RQLN@@ucpWY;J4AX{d-zqh-1>d_ zt_uSPjmBQS2thqvAo+$brKUA1>b9YmU-ZfCopT$#%K`b+3Av;>hw-jU*ncdnBQX*V z59<KNeluvE7zMW2UMwn4?5fy_?E>v_Xd&`s9f6d{0i3bw9n=AI89{(kB!KCskvZ+l z6n9Tl03R9c2KH&!Qhv@1rJo7gQ=&@N0w~JRK(ot<Zga~}b2-^d;jPT7jiI?4E1M?_ zy0*}*{azGfUiB}tlD<{(ug~)U#NiE`V9Y*2yAC&!a-nH{@R%Rv<36UWUE20q8PRKV zfN~;9`6AlWIP_F_?vn0RuhnTgQ~uj;dT%E(Eqkpc>Zcz$X-D{v++W2BH$-3RHRe5b ze>J+OHi-0IwD4V`FE;J~^wb$?pYQk88>`qqbSbrgu-Ur#V0TKe4X+{kIyl>&0;bI& z2T-DNxSfebN!DrF)pz3S3Fq3>T@PXkr*Hs`ibmT!9U~B?o5oypJCyYibS`ugql98S zC(KpC>CAz)0DefT1!-d{KG87AB8DDlpgC7RyXI@4G$+$Sb9SMiYgJO|HTml+@?|Z( zuaxHL$CEy32Q6NY{hpqjq5og;U-XMDDW+t!pqr2zbIZok?DL!_=u;c2d|>OAvjpi| z_P?zuEB=fC3^(&nlnrt&58MRK!xnc0OI$&n#)j;7<gKDcs?30a1xT-aGO<Is05Jr> zLK`;`v51!rt}USZoCgjxPT!Mh)3C}=;+gxzQ{^d{+z{dwGsv$h2T@o7Pdv*lh*K$! z*3+qR5uV+ErnomFp=q6Jk5?5XUa>PF*o!vq(dSuCz}yqrvXZ@3t_noVEzgC&5%uDT z^dB!1S3mAp&fXxO+h{+luWtstNxWH=({D=&_p4VQE^Q#Ji=oKs)fa6kRlUp@R48C_ zM+Z}|dL`J~rkZkIF8dHv08&<vRE0T+7kAoBjqJdKY~{P){B6?*5D+kc%D^No1Y>j= z-yb;8!K4PF!mfZeod&XPx9Ag}zMO^YG9bQt?uC4|orXJdJByPOa?-oXWDK>jYsm-G zU1Qf4{(FA-+nQRQWbU^J6MAY9w`aKP+2_L{V*%rj?=ku3&tz2+X2lfb{`@~4>$>_i z^LQfIJom9fk(yXwDh1IdxakNN;DK{#fESg(X1*wi1O92(gqXR8qJ0g2s^U$#cTDRL zA`LWW-lfW`y~v9!1yMk0(UMcjSDb%^N35a)ukRG7ZUx)DR4G#;gka20RE=4B$uyxn zJDOw|T(#ZYtq%+!Srn|IA)yf~XKeGR-c7qkQa8>ToQ%1r-8uf?N!Kb4IiXEq{#W!i zG3MVa-L<>(R${)r-i8ZKjX{5EN#*v#QG&kCJC1*vO19LWz`dIr61>!E6?5H<Cdog| zve7F?<(5r*YbTD(suhJrAyOWBm_hrBJF2@=%0BNO8fA{(*99fxQJCSG5bg9K$cGBr zrg6`Y)PcL=Zc$>Q9K<S^#6Be^^fI^5vnrpm^_RFDk3ckeWvh1)X1{$$``1y1VV zL=G|F*Ui)z$wm$t=!D?>1@h;qo-*Bxq*ZI_ewH((Cl+5wWuPj05Q3<A!B(wM5hoWB zRfurCU%;=Gtljd+>hhQ0wkJPn_)nRbdbZYmv{k!<ulQ@E_l4`<0Li+#@3FS@t#04b zEXpa|Oo(-lxi#Mk#rHJo1|r3KvC*hDfC|*ahJd8JR<SFHQHAQ%jL9Hi{=~#5%Rm#z zYXaKI5}5DP^GEV+e8}en?U{iQ_P-i*M<)atL0Nt(qBo^lel8h!R9IyoJ#o5*#}PTF zJi7rF0MxVyK_Tyj57Cs^KuBXGn|CGffV?LxPYVAg@j*J?wNBSu>Yg=dY?vJTht2L( zySLv|cb^t!$_-ko|K1RCWGT11^un(p!5eVr`{De1YW8Sn%9`ny2w6+vOP+C~5cvBZ zHlVo!%HD3#*n#9{ZOj!Ekl+0f>KGaUId0srSx_=S&b5DN>;KyK+~+dney<VMFXcB) z=OZIPS_)r-J~S=={9S^H$p#%%hx!cUA^<MN!E@E?>9QVXbOs}k?)R^OhO$rq4kBE@ zZSBs4F6#lHmK=;w{dGL4?>CR_f0R3L%+de+C&I2@%(~N{_(j+=na2LdMY!@d`t$1K zi{bM4{H_FQ&Be__Czw^u{&iN<v!W9P*$_x6;8&V2r$hqfk!mnV*n0pJTb{5CyhL}( za0z@2ub9aBEgPzzFK9w_h5SJz9dMvqp(F@LdNqeEzGA>yUsS$srN&WfE!ACdGD_%M ztjau<Ay>~yTGDD4RV+%J*A;eNKCd;|H(~Fd+{E^-@m<qxDvDvv=lWSq?2wq1lQmD3 zdYIKC{}p4@yv(scDzu)BpBO)!o18ha-hlAr+7~QOHu`%yGx}t7P=4nf!s4(F;Kp0h zJQhQ#&V>Ih?l|GVON2UdGT<HSC^i;9LAlM{6WgA|lAv>?fT(~6g^*u87$Zp2(oJ%Y z75|cc7r?UH@ua!B6z!u$AY_h)YyyFV@tk1Q3>IwAwSpcf_QH`&YWm||2Z!92tz;>i znpKqQufA=LMaZv(iClU0?(%+i^0S*E@xLMw|Hk~Jwt076{cYc)qMjtZIF2X$CR%aX z>SEtcu1VwUex4~T^E3s{M?Vuv7^ucKS5UML&31pbfM~+b5uiztWz;cc)=+o1NOz!` z?+%sZ$0F>hLX-J?+TTm~C(3!#cMKqsiNLFG1*V6ShMG*k%~MUKv_oK^0NDUp95QGB z;4EC8i(m+t5~k*`qBESh8FIE4$g_E}5)$2UY9Y2uD{5DG?Al{KXVAiD40W||<~QO< z@8anRhUWznqtPd^8#!Z|8Suoq@yFq$2KRh-c7$it<$hic_V#9@^5(=GY*rg{bWimf zN-{T&WZ&~}eAiY=bt%BVf<TZdpoRRYe@Z|YX9`O4tQ45Uo;O8paiD6;dA=SW<$_mJ zQ{(bV_eZNfzW<ssbZg5cWbcd}=|;Qm<+KDZU!9is<QBEu1^fEawnrVe7SCIJ^;WX* zP9@a^I!TLO+m=iIV=mR-K+{1EpC^Oe&{JjEkgXRV=u652X~lXT8PNVzPKmKnm*_=1 zOjq>j>GoRCAuDMgPS5}vx-d~rsuQX=M7Jhshqo$IDZlBoeT=+Sv!T;aQcGC*-;Y66 z<0}P8HnMwdd1zkb<DjX_1j}af+dG6=JeQUfAJTmyF^YkD&mc%rX7l$e3Q8m>+F4i_ zftmsVeUhZBhYJ;WN@O`6VmAz?%;%T?j-L!f@Fi{Cgllc;y#;N|Ied?HC^~iW&B-)G zjVFzyO_?oFY=SytY#97&*-nA9PBDh2r%Wb)#Ulm1b8Avw2Wu@^#;qkAh&{-TrT1e} zlNt!Bh{ILfyb!}L;(rka!%n+n2JF7Sz{)|h50^Gp+n!10_{wv8U6+>!-pI4;zvt3C zb@gRD{1*L31bF^QV;(JB0zTGhq!Ul!v5~$19Nd%@>zVkdi;d#8BYAe+6FfrVWI;qC z6-0#wLNo(^h@1&@KO;dVQb3HXq>@{^)$SnPj!h&TCUSI`Ay;5r)YmMehUpUrby$14 z4Y?i`nvbv>W_y@O*Lh1`!K1FKhu7qiGD8jj7cc(uB%SpDe|C0=`2gZ3V%Ff^V>R|K z(^cO8{XE-=_t=n>d#-ohuTHh`L-|35{l7c&iHhjJTmI|_YAU=k-%8k@gd(HoQiM*t z&_hUGc||PMUC4P`N066cjVaX(Ug0qNbmAOp$?(KskdY#Tb2G-&S#xBtCy)dPp)kp0 z?1IAB&}2j6d_iuVe(;2)riT0X1;uUCeJsqQ!?%4`)X3S@swEzX_kp)H!vfCk(jUL* zB@3QG=eixQfV*4?uj+y>^iQ?kQJ+|xUv;=(>Sh|ymZ3rCqS;f;w}uLeJNWbQ9QA9$ z=|lzrLc9Fl#^9-v%6a9W=URdWxx$#>+0-n(q=i%;S~R!g6?RCIvP2MrFklVqup=6D zI)t=qhuoPezA4mMtf#Z57V8m5Q>tUrIGIxQ0=fOj?BJBwI&tXfd<)I0H?wQpi-g-) z#vf`h4=#<aNU;A@nEl^RxT&?;{hzhVh0B>sn+*N?F(99POC+pVBi=IQsmI$NF0V#m zO4G4@){rCcJ13It>#!dOCwA!bFmo#1FmmEkkDvJILa6w5aVOc_802@*ZC+4fs`Od- zG?KzRJJDNm&{4p*(bME;Q$tYQlNPO^$;&mz;xi_r(wwpq9E%|Fj;bA+Xhf^WMi0Zm z7MZdomALPdXV%w@^WPt`f5yAcY)R6>@{BmzPW76<ti>DhoZb~5>R;dsD^^1vJ!*rV zIrHxjPRB7wy%UxEhvQJk{-LbC{X^wTC9eK8i6l=wiZ2N1gytv;X*^5*f>csRUrO~U zBK0-was-{HrvYcKD>YePQz<bBHjtW&F-QkNp}sESSXwlu*Hd4L@KrwClGKBIJD?I2 z3#ETulUrv`{(Dy1forwB!Z1l3QmZT<%wa8<_uo&8XhV?sXTMDn{$wd)AHm`6&Tu)? ziE9Gowl_I8Z&BpirQDuGSA)ulk3y(k6O1U_Kj%O$w;I%CLqXc>bNDtd)q%ixUY`sB zspTwcl|e$)81oN8NQEaiVTN)c)kI(8`$h|GNp&I`5*60eJS(ZsQ)7)=k(E9X!}TiP zrbJ$05EkfG+$~?h>UpM}I^fW{g-!yolS^7{iZo=u9u0q6<XEy`Qg>4@r~k);N0}dT z$r@JJE}C4O)3c?xeQIzLSC@HEJvDbZbLKmtNtm$%Ermbvb94liAWUgCLAQuTpA%wG ze%;KW1E2{$p!Kz#22?^_8N5V1;)$EEhtPR#C`3`npU=-pjSiv-yVXYYP)j}C@dbjD zAZq#*9Ft0la+i1-OCPHExkgauy;RO71C5n;9wpY?qjz#;8g#*y)&F;O(j_Mk*(5)H zvPr4@r7Q9w!(eQCr=HBq^ZRc-t!=YOeBW^qX9;pSVN}WLElTNGTHW;X_`;iZyb4VI z;afhA&0HY2Zr&eDx{?8`SwQv|JIQjSMEXN+C_gqf8Z87Al?mlf^8R$_dI_xVWxCKM z?F{~<Q~+pUHkE;BVVc5DPggtJW0o}DJC8%A9-%8rS7>s2tfgV^?L_;t<)d?0jq7l( zcdOaw86kIyB|do!a2;#4NiEBS0j238+Dtf`o(oT~*O2Bd|6Zr_-H&RI;g+6jOn+hZ zmle0FopQ{t<`}hh)aR}0T_ixC9h(!OkFZ^bjg@3;UTO37;tqdOaR<&9xIh@e#!%QV zDDIV7^=}^nA!BeOk(<jWX6wtYk%>}$Y9znP#<U%{`^kFJSpbb=6P@%EfMjne$P#@4 zpl!wxI_-_bOOl)oMd{U$&QpW#M2fxromy?~Sq`}FE>E$m$(CNbg2);;`73!)+1+CL zvA5e}C28IFXD>Q=Yz*~vSx(QU<;Yb`yT7gWJ@$Pf!Uk~k`)4^@)v3)h?h%agp?%MU zjAky#0PwBdg`y?(rf}!;gu@~e-WI4MW~YJz&Ij}B;C#GxZK!cJ+NGWeB||5A)sX%$ zdrBi3odg#EP9HT3=`p2z+f>pG6Xo?)^eKPU)F&r>%{3!>b(w(XzA9;spdzd*qqxg= zYLI98o_wKB8P;HqE%U0uaQG(O+kPDFSCR*$%d#XVRuK?yX>GJn+~J#3^|SkJou>?- z<Ic2HSo@kzc+Z}Ug7N=5&2{@Kt83L(=+KkHDVQ|qX`4Dr&_=MJ`jqnA3;#5)$C`U# zexpTC9ng&fq2$El(UjyfL{K`80p6}1dI%3~^};NRPoo+pw9O8lDaC*tko6NiW;rY2 z(&Vf0T`Y@MJF9`WCs}46B7f6GG@4i5S&n|;_x<?m?NyEnl0A1bj{I$sN&vI5U6M16 z-w|X8`P{+|Er^|T8+lFeL;02Q00!+Tq}Idl1}7#TA2NdGqsf8iq5LYI6$tQ|!!K!v zXz5~4KSNEyKV#~^7_X_LNmD7vbm>)7Wu7dRiZ>+M#npK%Y~gw(oj%V9xJ^z^a4pK? zF@0*zi>*IIS`JcQM*Eyu{Jc|7+`<3;c;3(S*o-%$g(pSF*?K(~oxL`=yl;Y)c#sir z1M_w{A>tTV3~#R!R^N;i1XXX99HuA^Qch!TetbACVvb`6+@XTl5H}&|K`_Og5=rYC z6iFq=@M0(>S*JmpN>`$%_FjZo#+s;p9k$s(N3@{E7-+7aPIC&m9m#v4@GwfqwPk(r zQ0jiVTmIpSCv*4I*#QiSeTm^d!r7l<-*sVdzfFSk<LLUa@IPX*VBI{78;SXS{Tke8 zTtAwO&b^1*KX<BlL3T1FIFA!B>8;<l#KF(;-2w>&y=2d5-hb$-5q1@2YRDnNnS3pz z!0OXPMr@qtCW>O66?6^i*c*#D4=q6nd({IE@T8D*$TXN%pcgzgPB0K4e^JmNy<m7! zoy;9m=bc%l*L5OoQUg*%^gQGgK>IQ9R>TD@p$Atc8Q&Ei*XYs3=53AJ@Ts&PhhXk| z*hKM>@jAmdUU-mM&qC++m*4mA*Y|~63;GA|5t`4Rk=+`1pwKRKvsKp6HM~<Qe0?F$ z0`HWD9bk?p+AK5RTiA8-`!k^xGWh(|;|lzwcrjlx&<+h4YfKF3_QRrMM23OV1P{&> z4_uwj8C);4S#GAUn+y#(?nVA>#3^Z3YcP*xx1noZYt4;;mA{sIj}cC||KBS8q+D7- zj8T^#YyTV~8zpBy4pK!kPn{H-G~4E2C6&xS<D#?R9&2cS3AWoBT8FM;$AQHfO@P?S zcEUhV@*KXT67@0UCEOlU2o4U(m>LQ&OiD_d{LNT83J>Ahpib@z)=vVLxgLg6bBR~g zs-)9t;=zmBg?BNQh4IL38jftfhv~q*_i}#7Ew388QXroqKI!VHxIbb#<NGmj)ozc_ za=7rs>dfS`ctMfK`i%=+)a#sF;?k^0Q=e#RorrNJ51sE1o8_z`^opLM{Oi@9dnVRY zpmI~O-OO>E;~{8YOrd1lLnzOI=0Tk$Vo#N;B)Sf+Iy<I5_*o0(8*38(F$k{Su0r=t zTC{{(9g+t7G2Iz04LN`pke=CHjv9-8sbtWd28wTZ6a-Hk-}T>4GCII7o*^00y)Qm? z6|LXL+Q~$`E4k4}9`jw?>}wA*!o_oWs&kP*T5-mh;(~`#02R+jhs}*qQ->>2G2`vb zg}f>={@zqiJ!&!oBri{HBu!T#P=AhlaaCElCUk!QA?PW!cDqOImGzG-Sc_X|?kkc; zE+yFBwUYSe?MO0u;8T>e_PKe+NT-?h`woBhD;=?ry<;QW<S#3_C^1-!KgkFw;0~XK z)6taj#k<<hkB7Fmh(`8kCwDmGh`nrmim(Pt^2b9#Pu$3z_(ac_?$Fg(P9>g1sfQ2A z;3iOh%0_kAkF!)CG(j_@R_1!dVhg$-JALxcWrDUak$Jtp)YjY2K(nN1D%@khN$qv) ztg=g4z4^$VT!XRY2W;kdrxAbb;fGL;n73P;uvcE`gnK!<egn=2KKQZ&Z36jlVmTa? zUtuIBT=kl1!Rv!M0EOlMQhj?oNZV-%b=(2b?N~G>2HcFNuRHR@)5S?pJc3S_&ho-g zjFj$+>9iPXOz2`uX^#rzV~eb*ak#)DYakommNe_V%~{Rcg!bU{LCjj=K)$NgF--Da zK&>6mw@9|-_}8+-rdEG{#v)hxGyi##h<su9&I#U*7iYFj77n{dm@myUP{00p9NN0p z?}VC!Xi}tsX8goU_TZl6EEgVD0l)!X@u!LOrMzkGEswz~H%Wy%;|@WP3{Mj4@%i9B z1{)_CtbvC@OqJkbiP@<fmz8vz^}HAUPAx9}(x<i>7jH~!SxYG5=G-p!?$8~|-Mgp6 zGY2HI_?&9G<|y40U1zBI{;7?A=bN()ub`K_wXxusQ%!-4a#IyIEP5wgZ;)@Zmm4|R z^r5={vM)T#84SCJiaUs(rZ)$70T)a9H5CS1<<WeeDV`)U;CpnZ>_+Dvrb(oF!614B z>fE170<5wTHMD<t!l}a3k4={ANv-kG9=#+~+-sd_5%(WTe3gTMc5)vR)6C97;CNl? zVC65~R@+!c@5^!$Ry@G0Kec1bXY;nixj%|y_^G2FKFf2DTnoD*TGr%f_pfnyNR@Nm zOXkF0_)#Unl9wy|H1Wy^LWFfd22crrDXO=YU}1NN8#6Y@wx{w>6Qfh6K>o-qG<P(B zmIDa99;P|Hco?mk!#b5VnQ{m0=(r^U?sAO_I*%4dUg_EE<k}Z~xF~WTD{#5T$hKD( z1}cmaBRVIx{g|z?MI(V7cf`J<27i-_zfOMDzB>6~FoU_^X0l_mZA`x3ZNk7_SafR~ zO|h}#KO;B5L^~9}@HEa%7)|U=@tXzp<9OFf;9SEp-qg(3@OTNlnp&;L0^SNcIyqiH z0kr?)@Q}^l3Yz4C7*j=^ZkD41Zb#1TdhAV}Ilvth@4(e7ubaKEY)U9jOloH0V#3Q` zpIO059s`$yAzi<JZs+A|s!H2%*+q)Y8FR%8>mx1u>J*R2KV`<hN$!tukRVT}KetZ& zWA=`A>Log>|6x`0&ae*QPrH-v*L<{wRKqC;jX|6{uiOagkZjF_Rf(~3P>CwtLg!4k zp8PQ#oFg*OJ%8-Qou|(_nMSP#5v8I3>Jj75Q}w{Ht@*qTSMQ3OSJWw#%Aqd1xm`o= zs#iTQPaEu@zPm%7`@L$XwHJ0*uef4*1#R#)@`>o_`aDjs9CxGZLjN4-W6h2Jo&`hs zmFkS>C<GJbQmZbLxkFSu6(jVV>|xtd8oLQw=u-h><LaNcQ2q6inl<P+j_%hKj&2{< zQ(-K<7A8XGgo$v^QaPbBl;o4*?KE$tkb6P0V=5CA0vr97N~kN+av&e8s0euI+qt;H z?)&f0JFw${<fALmPTloscZl{7!R&_5S@o~so+AwPYKp?OFkHf?tAGDA;V_ej1d-{; zTJ@Ws#I9D|>Uh5@mpWKF##}&GR2n46KqZ__G!y`fQw$}Zze0n&XREo2KR@YB<ON?C z;1qWqd>p-V%z%+|+asRI@WSyC&Ci$ps4mAgFi$#iF%$dXnp2MFlIbtve~$LxB24=7 zGnjHmc<%;PU_S7=?GNklU+gTApx*;{r$$4BPoub&wdxRk-W{<kW<DFsNrUFZBGMqN zyAY8JZTG^Mx^+1jC{@3Baifi-v%FP?%D_G?q_CTceZml&^i`Vrcq1wCp*y!H4ctv$ zdOz^juGuon11`OqqyNfhkJd!$Zd1Q^F%Nt;e`UzE_h&h!&*o&60kFC8m*swDb?mDm z<F^@ysk`7%*~=6^rgP{?@fI-ia9^sGt>`mRa!_6z9e9dS1tnBd&s^9HW(LW^mLNUo z6xxMOSWdAUN%_fZsv?O<DtZM!fQJC_k-He}r>`lSJeTZDH}#jU^a|D1yBJH6n^HrL z6ctOnK@|+WKd;6}>gr7{-KErxXGas=Jq!mJ51dlR#1F)G6yKjZJACf5=zlBxdsbeZ z$ZEya*B*8<go(B{P5DpCZ>xKM%FjF0Z~iHze(ffE_{u%?$Np9}z9@JGgxnm9s6>Sx zMDj2<Euk#l|0FsKQ6_womsnH!l;=w=bPoVfUo<J=)M(dU5>;PWvB<0Z@NMl%*3^8D zrL87A5=XNBu_a%bA^(ns%zPQL`eIHj+xRabCD>dazOMgnEaqnCjeb_8dUF%F`*O4+ zs1jwxj^fzwgqd~B&xNpk?I8MVA?#9F+!4ldQ{+JXDt;4QK0_+p26ajf86<tsLeOHg zxt_9hG45law7_0j=ukxaDBkX0lSN|Bl9mtIC$v;c7kkq(mHTdnz^7RA+Q?sO4phC) zO8&n5R(|SyVzb16>GGFV?L-FJ^k$@gf5Sbs2bz5RNWN)%f1OM7SS0-F;kcnK#U=^> zbaQ4xKTkJ+pgnyvI1yz;&E>i&W<f*4qMxKR$XuGK;=j+1HdfB^#@Msd#Q2QKU#hp4 zdnsGjsalr=8xNEZMJhXXvJ!83nhjny9fQ>GUPhl&*|6V}P(%OzfDOH!X$s{^4*%Iv zym5AN=|71mdBu9+a>Bss>RC;Sbaf<V11%(<mY>(}9%9#F7LEWY-E3aXzDnQ-;64nX z1RjDG><X+vVPyD6!RH|8P7m{Qiq?o8Il^|K+khGFW$!s{K=--od4fCpn2J+#iL(WL z*(BDJUF65!p%&oOlm5ILlmAM|omyFVR@u1!O0>Zk`q9+0v_boMkEW1AZ*Yds3qI+} z&2g&aLgO(TYvNk7fm=BG4^YEw=7$xMjAm7Gt<4tHB>K0$h%u8Xmu6hu0<UOdNsvjO z*8Dabe_5yC98>q29439$Yl7`Qa&N2m+d0$D!EHtqMNFMK=Ur<`u@U5Bj6xPM^?92k z;gA@LuO;Ne1L_`(`w)Sl`}Zk|8;5QK_sc0#I5m?)uo2yQSY#vxo++(iQuAV!|1K}d zUOmm_Ga1yR1;J0fB~9$}^5LzTHAPnY*d|^{*AiLxq1wnZ1KekSGNXSWqeVMacfxo= z&m75{Ln)HLiZ#Mx%wqx3`1&B$2Fc-DIr}QOSJMcmBSMmd6ZHOIY;T81y{8&Uk+gH; zoPrB6D4|n2yom}l!Be8KLKt2#5~L^nt++Gyn%Y2P-K3c)`;?-+XDI-ze;%(2AZ6VK zH3_eY!pGamA?h`(&lGLNLVDOdo&V;dz~x;@{au<fNoyaeQ1cY$h8%mX=6zqm2E}0q zUg7dBmzST5A5t~WJM1(AUU?((r6{wXUkZJ+u<K}u<(x4?W%O$r)SbW>5_S%(+#qwP z4#)FJgZ0n~9S=D9^JYlxc6nhA8EO>QQzr}b1egPcETa}%du7%Y@u!Q)ee;7S5t;zP zc?QWUShbaP>MB^kK2CIb^{=5B3oi|odHy{|LLoo-4h<EZY*gXgzMeUJK}&yOby@55 z*7jFM!>HL>zQa2Y@#ga2eC}GuX7e#$Y;F}mv#3uUJn|*i0hrIhl2(UMd?l_^HQF9_ ze;Hg+`)LA$pX`=Q;Sj0OFX0=eN?e?RmaM1IOucMMCB0W&)OM`HZK3;>2^1?drfu_U zQl-gfw`d}3mvjx3R-d{hui950@Sw3SDW_tX?*9E`o@b`tU5k>Ze=hl=dR2Kiq+&hU z;pOO=qtr~8;`_NpqzCQyg-v3eLi2Iy@S95YrMM`B5#&D-J9)pYXW|qmc5<pKMK(O~ z%7TyiD8`VjCMF4bbRSxrUt#Y*z2ILJvP07O-Zatz@I2hzdD3l>$`#8!=ClWLnVzR7 zMz?)GiIqtl$w*B$AEZ#~;vS<Djxo@0Le6133FC?N{}ic7$D-t4pR1eRE*Oe%uBuaC zvZvTA`~(6-fW?wGh+fF&hn<~f1^iBw@@w>T+fAhQj`S)w3CX;rYu^idOX*)KfrrGK zzmhc)m0-2o+;hltHlyn6W9I4<lg~fuvlL;??fiuQP$ZhwbSWk;i+zj{oDWR&CGGuf zv80c{nHoa@$=h>y{zp*U>@=9!t&V62gdB&1Od-i|%F8jrJpK+|6?qd-eFxD^^jN^m z=MJ>B_7+9%)HtM53vyYW^vs?-u=hr{CLO;Oosl>I;xw;ow%I<`7HQYo^=9q*zp8v> z?vcjQI^uBkPu-{H`Z>HI#!ZCxxZ`xL<HfUA=Q+G{c^P!J547^ZCL7EH3+$|*b{C#) zBo=bvt&+In+&&@zXpSc#E<q3g6D#bg$m40Gfmzb3^<EO$*qkIsy44M7>lRJULb|o( z!0+BMW&`i-6D9XpW^Kf{nm*=N+gHe~-#?GhZvMk|lv8^Ag1<^`i)`NA$?F>nC$0B_ zH|~3uRTD!p=lMIuP)uqGcNz$oq-(8udP@;Mdv80ikdj4>R6KFBnZe(jN*b*3^qatR z0z5Eo7WhmaY0!Kx%&?JiUzn&lmFlg`nV5!VGcA%n&9A|C1Wz1Fa=hzDo;#AN6hCIT zTbV!mfpxdsT#m@;O^X~gxPduzoVoN}uF@2Kfc;|Y>`yyIo(Tc=Lmw({H$4LM@2K)1 ziU}u9tURDiMDVg+!T<n>=}{k*!S6qo@yRxyb=WRz={m2_0844H!ZcexQyNMB+CLm* z3?4;;?XH%ZF9%n`=Brvt+NF~@3H*ba-Nm1V9*f;c55Mp9l^0$O%o{ZR+_qcJb}-k+ z>gQwNpnOQYIdtzGHMX`R#m4~hnG;iB_esRrs>*;5f{W~)>+zQPgPb25Vj}1Kbh8$t zCoKk$%`4D$CwcK#X&PtPiR}3=a7iYhVuPOc!#dR<R!-QH=hO<{j5Zq6J5V0-02(xq zYn^3e2e0qn>Xj;a$;6qg*xDraPrV^1M(XJ2O8<IRP{jsh8dI|uenlAHV)7dpWFp}U z3x+DgI#fZtXXUj7z-TPwfnS$o2}<z<6`Bsm4F{P?H=%K%^w8WYF917cp+E>g9I~5f zB(U{W=81h127Xo%bwA@I74pVwQ;(XhT2ELG9(*jnD07qq{y0Te=6hVOUO_PWTU++F zOR~X_a*}^X{qXcjsyp8)AYb9;(Cl-hpy`un@-@&YT0<w%Qw!6lukhJSEq7P1rt*&y zC!r01Et}_Y35wFM88=JNEmj>&H)bss*jY&tkZ6mql9Vkc_jj4T?|UGQtYna}%Tj*) z?~70q^0U2+-3a48pEru9#9H>n{*J15_rjfm^M$3&w&CLWJP%9A-jNdep-$ZxP^*p` z9-K&+0d>H5ajy=hSMdY&S)BlNr~3|z^acABbOm2uu+u(4y;wEB$SP0zM%ChHb6k^N z^~+sI<hN#O6P0AATk%LTWy*c=%arC=_lo-%UF({nCNJI3MG@h`TGmX_l;#Q!Gi9vp zU2HV*eOb3`?S+?e>T_xp>3cT)L`I+QCaj)v9VvWlbz@3bGZrd2;kTV>{H~Z2$yEiX zG`vOYE;Emw<RHD^4+Wr$o%nr>p)Oey)?pk=GUo%{caJHAW2u_+=0FRkqoEC{=1<+q zUt|5f`4c9Gsy)k15}IbIBo%g|EveDl69%lM@-R_M@H~%{^U;Uz6l~Nj&l*sxT3l`n zBtL!onB)-pz@E=ZuDQb~W5;4H1iWxbDgVET`T6QB#ah|}_xX^jD|*u4wA@|##l4Sv zmn$Qk!dHkiXPB06o5MctJj^h`4!jjbMTnI|Z2hfqUlV6xow~BS5LO*RP3?c~M%zp& z7-l!B&zPfylo(vdv`Phmuj}G$=UOlXk$N@t^NB-ym20x2(L)Rm1$Cz~ANM}TcP!Kl zlAJgeJej80AU`(|)RQ;=M|W^LOL3lgXP=i??=AUFZvByTrg1YI_L0B71wDrc=Fg2` z9WmDI7|%r%cj{?jH^BxKlLeLOcl9PzTk;!HCm-6=p%L)qkxL5W{Fbw<=*jG?5F@3i zT6$?NaS(Y_vW3+>l+e2=`10V!7Yr>OFBP9K_|f)zeJT6$^WhV{FBZMA{WZESK5T<a z**oL#XjBuG%%9kPsUK;5hiSyKwd*(;OY%2{0??{+Fm4yh>XZ7s0skbpB1JYVQlF1C zN9A=BnpD#lmf(VDD#HYwwKT*|WSh+?o}rAK+ALSi1qA5(D-66f(X6$=vBlzwJZ->l zS>C|dW3jcc^R^cJQhpSyCFXgM;A-GTp(i;i=W}_J$NS?1$D6(aQCtK^A3}tSb$hgl z#uVAUN;`k(XJ;2+v~i%2H<k1J?1v}*e1iAXqto0R1v`Mop?;R?%4YduK>Eem=>FCk z-B+|9O*(UxbRTc+kvnkv0W~AhkijLb(&nY_!YhdDIgSEk*^VDy=d4wLLb1wG&uLfe zz>%PtJtr5E_kZPe*!&YL>@%6|5V`}ac>l%vDB}56E2rii?fo`?6?c?KT)-?|y$kr6 zp^4lJ4NQH$Nd|TqAX}9o_z+X+5wy@i)4A9{!?dG!=1JR9L(l_MvXzHCN?9?$y%@Ni zrT?B*bA!D0!mF_m-|?v2(97Q^#_*H_A;0UR82Y23?9`x{edW0olCbJ@^`r5n)pOo8 zg;Ue8CeAT6&ip!c!0hHo-ZS#E!U)M46gOZiMK;1VrkD6tH8S{q7x4%)X}^o0+E7zA zTVS&?Nw7|}Wp@l~7p^hE^+7T{$%A2I@40YYw?}w01G5TqWTNgz3IF`$72?STJzVew z?Xeexy&<WiA8>=7vQhZWm!qTzw<b9;KNx<_{3FUKfT9TFJp+foIIP3IJH@csP=fNS zBQ&)!H&b%cAOkO((?s!nfdn@rq1c#ZRaBy1Q#(7D<t=2iI9}oG$F>Kblg_y!HhvG8 z$~w~&{~saSzT*?lZmGHcsO4_?)Ah6&SjDw3S7UBP3fPn0)jfN(`BvB4`%8X7VX}8& z^Hj~icu!;1sR#D>Lub&TZuF9UFUW(FGm<_m#+emijFd0-%bRaVE%(G|b|o$Tu=g>i z{M=aE&toPQ113eg@#H1MUq}(IQ|SiZmqk(kuk06!FEd`o*q*KSdSTG$kt!PcDcPV2 zm;M-i`lORb3n<@!i3-OB6sXW3?TEt7qn*ZB7BL%{<14yT-r(g#4)M8Z0w3@o`<Uep zsUb}7yvf=S?}Q<(^oX|#Eem;>U{Mr!XwZJj+->8F$u*Y3THJ;oc*je**96t{vPy5% zZG#mjz$xek_i-w-H(>n1b!Jm_Kj=h>-4j*+ZXT)y`ZYGzQ&q*wy9|Z#WH1m`Px3gP zs$hE4A?fd4p_dZg>LUHEeG@)LsOI18l=zT;n>9eaDK>2L2`F<hR52ToKfe5jS${zx zI@R^fuj0&?tI)ObpZYgBBVRISG#9WV7^(2;{6<Hf`K}CDcCuFe0zavkF}=)Ap>r`3 z((xdgIoC_5r^zrAsCHOMfkM2=6-QIG3_+szS4eWb0pmTA@|Q}l1G$Zfm_I^~Ol;cm zy=geHV|0GOy30O#V7^1l0Qwxv?4W#e&ekeNp5l*K(u%_ru+sU%m#}6O8NU*VO$^C} zu*S;H7BMD9H-j~PQERgKZjQgS)i%ktXv(BD(XK0pKB)@zJhF$IHTXWP3t4fK<8C~- zK&C8Q{lHGV7jrXn%=xKlY!`m^q}uBfqYmGc)h7J@INr}J0=PR$|6FK<-2Rnwe{<Vk zL8?>gHGeDiY*R}lO}<wqVwb(?{C|aAYdn-|*T*>Jkfc(PA@$h%br{7)F=HGmJC)sj zc2Q0vyCe@Y3^5qTZ0v;U2{Fd0)b21!2j)zw>0rhTm0fdk$jms+U`AswytnuFqy6pu za(}$<>%P{y*1FbO|Mg$^v)L&RGW)_F?_D-z>cpW(do#^gviaIrdeT98=N7Tu1=mO? zTv?g;W6sjP<Xowtq|;DQ8pDGMd@J!uN|-oe0XA<hQ*w6S;Tzhg%>D{}auU+=sV5nn zylFY<mxU+?MLsZm56c}g-@U4rNqK|2KaG1H4c1QuC1GyMp4<*hnrsYv{y+38=bU{H z-<zFJh^Q9ovlmZNT~ncbw1+@j11?`|0QU|xsPCs_1N7o1G`KQNk6I$J%8_0Ml3S@B zvIu`g)2RFLOl!46<mP5Z<2(+5EuIcEUX9Zn*I%#v8wDp6&Y1VM3R4XqQ^t(QQ<h{6 z=Ep$vZd{zu74m|ZoS2XYxYUb1N~TzMrNtGPsS|+`X!jKADl9ah0R7A04#gE6k}=0t z6MJ`ex)vuj+<f#QTzzCY${<8<U@Z=sYrbIZZi8_yzh6$#AIU`!LaKxFi5e_NfoXv# z0%etb4?Ez_YOxo30Gv_TQqq3!y3KeK6pcD&tf;W#wdi3$>UiV&ejAcOuS*dP=(ei^ zH%FdZ+Fi5pqsya+*R$x)dS-)#IPuki1bC_$1*BM$`&Vr)S{G$@>GB>*W;(U#Yp=`1 zJM_d!hcXxwP|H)Usk-u^o8Melv=K7<8@b<890)L6d3y=>!<VU``eguGa6bS}{|UlT zY6<*WG!@SNEd>g{$biZy667x38EYK}8fSK5f1ZB7admUkj==8p@=+9<ay@I}EHepO zwNM+4ED%YN)nq4TXbY2(D|dG(kl%jD5*LcE=2%^Pq5ikfOnL(-bO9a7i=mPvc-iTO zI8z|)XJ09a_3y94w7g1gOG$SL@xDJdAh|pdSR8p_&B3G{i8zh!Nc^e1?js2E_lrf} z=guuaPuElhW-G2mbz}>x=PSx79A|=Urs}d<q5%$*x(n_vh_?7T$mSl+<U8`o9UAH% zwz9>Kd}WC&>b6_`2oiTcUt@g15kcM9ubH~4t2+%2p(3r3g~O$RNf3u%{O`h9ZFz2m zXp5`Rz5x^G(NACnqO26JRW-*2D+#22ShR<7g|h}JTc-@d3gMO3^EWg(Ef+R~n~Y8h z{K3E9NC0kJowIveBku}-3C<^<d23ZVb>jyx=o^>!<LZ7oy3v*|=zb=2U=tD;*F>Ho zzt5?kzHBBkswwAAz<4BH)L8;Z?pfK!1cDDogg|sf9+Y_J3v$cFd(@3A^|U3tpPnt4 zF;?8&oE}x2g@7w&-5rzT6c&u@(qX5*$kV_2ku>_KKG01cYjf1r1AgPaL+0C8f4bUu z7v%OA+5XVsG}mk9k13!kdp2*(=vT&6WK{;C`x$EKF;HxGL*kTqa&PfEvER@>J6^a3 zKm7&PEr$2;4o^0dCIv>dY~arvB)Q)rBj&Fzg1V1cKj<GMfga^c*HrbxrWbmhiSJYC zHUSa2BZr;A7R;s!QA!-T|CLG~s8(IPr@q+z5kPiC>f#|f>=yMF$rd<dn5e@Z?`cPB zrDv?<WcLUIkS3!`hO=AZQoO@V{`j_=0r6e^#3qB+fh@5nvz9o}zV*%75ZJ~l2L7Bo z?JQ8w8~VaSC*ljy%%RMUOkj|PW_1tHOq(Uc1$V0WbYKR=Zq4*@clN^=UhNi1VmaYJ zvR;69oX)6hbM|qa{B+%q%tsL&DbVNk-e3Lm$YvdkF0WPjna0NngrU;kvdT!IH7=L# zBX~K(r*<J9IhZhJeuV5Hbl<NOp`m?Ctc-Y=;ID7fgNxbZZK*(~$-m&<1nuN;EiBGO zdbKEPyhIXj4YlOh?g`f%CyxywsN4JV%U6z`(dws|x>qZ&^(pa_$Gx_`ZF)rMZ1q~) zfd=>tpSSO=`$JCF!ihN)eetVjDu!Fkmt6VMd8xkGZvc>38~}z{)S!OW;_Gn&b7&AP z1y>IMpE+@s4=Roxp>K%-isNO%F&j0knSS%NBDk|kdU>qU?Kkfkzi;8+QItj7{pJXE ze}XX`bGJQ9W3GBB!=Kt!&^gf<3+HTlE<l9t3liP`*_FPz_FN?{CN;7q*onml@K7`) zjAtRn3ig4GS<%xJfO~5L)&aiUWzMdtOI!}Yz6OA(I>^QapY*6J5!g@Atg8tT&4$5a z34ych>r*%EhH5`e9u1ya6}7+XxGyc+Yi6RARQc1sY`e*4KPYpO_$11ZF?!ll^r>&+ z+HDnIfoc`s{1yQe1As&Oyc6SvSMC>Dt&?mE@ZJ_*AZ_;-Y9!k?M!v0(6#A6Y_To~4 z&XA&N1%@B^sBn#m1~%d4MNg7m{$j7^T4j6tw*1O!p|TzVy}U>Z`E%$7T$=k8+Q3`h zAvbXDIfF5(2B(D7(2v)~ws?Qc`ZE7ph7P_CXgG?W%KR(GYDPER6OJVMde3Mpehz?W zl19Q6RVUIN8#DY!hRybH^$CUEu0oR}a@6$T_gL}E&N-eB#o(={AJMoQD}<QmW3-s# zCq+xBtl#tG!XqeHvDgM^(Y++^a|A}2r3oz9hD8Exw%PK5mVJXTqk8&Jlmcn4#2mD9 zzJx_CJVVm_82M}-HKMlJvx&Fr#)^vaY%(=A$O^t5M-cqvO7%&Rix0ZZWm2{uA4{)j zAOeWT*l~B3`Fg+xs2a^Bz<nmQLWeX|LY_LB{P{=aq@Utc)cl*ff(=}sf7sN5DIZ|* zZ)(fE4BkUot!2fc)VG-fi_!YH(CM(OdurujkL68<V)y7y)#oDv6i0j+kn=WFJaT74 zS?%ww`NkYSYju;wtw6znAlj8I!TJx>W0XT(=`R1Nvn3(X9Pr%gADmwp%4kz*q(*Ba zb%rBi{-&}XXTUM)7nG6_$4U_aA(%Tt=Kl4KJ1y`~=E^VP0Um=G6G>f{03HmQpB)HP z>}pizDLh?n$?jXL-KHyVnB2{H@F9Ctf1LT4UnJFlt{y|v_}zeqndHEEdT;wefV!i5 z?ESkhlcrmF+n5Jr)q%&Jx`$L}JY*iqkvB|J9-nPvpf&iY6_N*Jt8e81aU(mfhXnqQ zX=4UHBOAK4+5JGuqwnJGn0k0{M&BVgALCptBRh1<GC4ewTUjPIELRk9S$=&VC6RUj zB{1oUS=ODO%UNm$)fd{55CvHXe+92*hiMF-YdzoUO!d5*nsag0%<pX6oinHJAvF}` zHxRqtg;8Ar^1wr;IPgzieS}cl3Z~s?aB-7I9T?xUp6w@uFE;_ULS3>@4rHy!65Rmh z>DzTQ_sv(vY;6~&29B*AMD1jg(qYUl<;$d&>l3h;&(LE}7*5P^p_}ZHoA=2^Ranro zI_3ser~CqZ*+pTjxDGUJ>IW*mprx?^N{?|X`r%5S`IHd!g7vGysI}E<y=>d|j*Gx- zV-B-g?{mD+vr6_H0h1oPv}Yn-ew_6bX@*;QZA^jq2}og4XC}1+QF4Ju_Gf>3uMNqP z?M))EhkHnEry7-~Z}sf>;PZVav|d&geckKeo=a5iA~Q~1WZWjE$1ioJ;rT$y+^tLX zYp}R>kOIM%X-o2!^E4zrIk2w={5(lpL!5$Y9RSwstGqP!kD5U4fUO_KxuT{*)HWuc z$T}~5=C&M?*bM#ln<olp>jl<e#T2is@?Um5fXAfF-W0m2SGfNHrvTXqKDRU#v}}KW z{sc+97iu_O+Tm3AEo+W;RDTT)>HpNSyOe=4-()_}KB`XYvk*O&RoxfvRdyu(SVg8I z1?#$9&S&*nFo6-jU~SgI@V*?Y1>JOA&Ix<PxB-xjY+4r44k~>W`1i?sZh1zh@3=>o z&FB7ULRu4{e^XxjjyH_XBsF*BtTTP~RE0Ynt-OI@_F8)A0g{XN8niN!JTp`n)o0Wu zdzW~ON=qg2pCr(eqv-H^pvkotX&3dFzxAUD30iXQIeUPcKKqv@)l{6k`jyIa8xCA% zBz6>dq~^(=Z0k~OO<P~zcB(#-;lQqWz!n~)78Al6?KSx+#R9Ef3q(5quv+clJu&?c zl*w~Fy87hs(Q<%B>4YI#d;>$4Pk=uJ%DWD`%7`BQO++DA)I~`Y0L*;WxUzil<{a8) zJ6;UxHUE-?Y8{U0<;x$Cbw0#bITg-A<BfB$ws%Z|(K=~sTGzPGCl$STv19szH2|wN z`fnM)*CY>;?}sqs*gSMBZ0t)|iKs)>I+a-?go7tbGF<%W+kd|TL?g#5MsuqK7N3He zVBOO`H&^ejMH<slK3<mZ7V?O(;Zk)4aULpv9w;w=rpmCufkEQSIq0cO8#`W*!E*HM zzLBL2UZ}*6RxDW0ag;Tgn}!>Wmf8vR{Abe;-@}cf^Rzjr#Rm6*v^T9`IU|V(=@k(^ zP;P{yUpZA1^g=b8$9gL4HUuU-E+MBZ;Xo#%Z=Di`Y^X6+ha0dRiwKvJkw@r?*9!8B zNK*W9Y_a_}%+Bwo&5=sXiWxH=cs|>{@lAL+Wy?E@GpgIR6)_#W=vaJM4c$VYsh1{P ze7Xl$=lFXH%nI*mGq3VJ)*c!xu`4YiL^QhRC3DG=KiW7g2I9kicuZ&6%^9B7AHRSA zZ{VA2e0Smgf%ysGIYI|&cS*}7A-Pg7aZf-*N~!vuOGQS5Dy0s{7*vQ@=hp+_AXity z$amt@;8W-q3M8uRw<E;Em5zNNXTHuyy_YHV|1_RH$0=G2<6i_@-WwvEasal!?xV7* z&_T*zZy4Qex$C)W3x=E7j0D~aFquXaNwF`equWx=>bV=RHv<({KS}lnxJQvZ9|%d< z`Y&;&;HRtZrAXgMc6m7Fx$LQO$770jm3u_ByRUo~u8<nPRJc(5t*-#W>Tyjl!~=<> zKuv|2ZGD{wh!k6p1?@247fDR*_)XT~rK83^SVS1|&k6YVJ+Fd>_(ivaO3QLbQcr|L z=*msvgGE%%Vyz`}_Rbg24%Ou1pruz#u9b;I2e`T{m1O7zw4Iqhq0wxjKgMYnXbXCf z(J+(_BGW(P`(ZrXqeI%!NnYOxT)Q>PmH9I{DMZuvvj}OfsL6>5Vm(!c;d-=L5ZF>3 zeIEJbm!+$kK-KZ65Z<Dt2%0>$0)tL~j#}xAnigeYWRTM_N6I`vbV~%i_Oo6Ddu_|l zFIZ>NtZ7M0f>W?veZIsE?;$gAsjjH0fv9{(=_<ZxUtQPUsG393UcORMrZPh{)o!Aa z4DP?BS^?nLD-p$`;XdKKaQ11c32lW68gW?%Q~w?BHtv%?-auYY!$wi87_)In;2-MD zDl-1htb_{9CZFWVZvt^<f%r0Pa0#Gs1@}8}TH>s!UE85wuP9)5fI&ec**1rw(!B@_ zn+%Vq-`lMGKWMbH?RYtk;%SUfA5pe<GyLS&bVe9e(GQuS5auDc{C1aWaf)ZkVT9Im zfx1$G;?05dO}EUQsp~)39_O2WI(j+98zsx1PVEFQb!4qskqhg3xw`yg`U(Ei&X(po zF}wbIh#D19HewYh58}4Df}`SLAdkpH@|HA~iTC1E*Z=q6F3FcQM#WX{?Qi8gU+J~{ N`M@!Mf-fTPe*vc+=V|}| diff --git a/docs/img/CLI_configuration_methods_screenshot.png b/docs/img/CLI_configuration_methods_screenshot.png deleted file mode 100644 index 6836d27aecc4b0e9f96bf724dc9a16315abccd43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178654 zcmY&=c|elc_jgT;l~ZP$l_f1x)>zr*j%cMhl}k;fnTl;@W{TzpvRPJIrZm%{xqxG( zl_@Rmf=;<mE}){3qL?!Jhzblo2mvndRcgM!x4(qvx%ZxXmd`oob1&UK>gu#`!RiGw zX3SW4=r@PoXUx#y%$PCj;Jmrun=mow*o+x5GY&cIJAv&O?o!gyMjsE1t7frj|6W-z z|5{TTzIdzond1xpGMr~7pYhl1pRP6GrH!@WJIz{~ycVpVzxel}U)sBdskX+Dm7mgz zKSB)eDr&fUu;qDYarhB<qG!CrXAiacx8l75)j(OrM!iayP5#SLSvjF5mk##C%>+V# zf7UCyj*+*2{<x7-`S>HRs+&AZ`+erlvMUqSVQ<!GKQ89hghgFHwMhFZUesG^vu~S@ z_EUAZtTSWXqwfRHm0=}GiyOXAzupIF@Z;~r9LF&2h#8wh9T56IzE2rmPjuKB*Nc>Q z4r!m4Hv2AasR?_(Ce(2H3;T4Z-weQLhY;=a=C%4$^VWR-SRHvIT;{#kpjNx+;xGEm zHDLyiEx$|KTNaPP2}=_W|MFenvpx>A2eQsNzueQx9P@m~Q@0MR<edH|?F{xO44RFD zkWr!Y`m_tKd!8_Ge>b&!v4iZ>*Z2Ou+HnJ^k_~TlMF&=LYzNMjHZ7cfciqPX(Sxm7 zl=%L0rHi!^#C+Y6?WTxFZAeY%yKbqSaesLVs(qt6K4eF#u2B2cyx|S%3wi?^vr13x z_%7MHR|%r~wpo;U(DhRL?~}a-!YX1=8`5?AH&}`B%cln)W=mnmi1j}9((_2=jD=A< zmFG+>wNeV^t;^OGRjqDvatM3xy~UthyT@JVqXsR;cwh&%W7vAFnPWZ~bvlO6Bsy5q z2=Bd@Y1L(a0a1~X-(AtH!Ae}o2euiov=gK_g!(ujCcw7R^?Y~!_;xX`M*hjDMK=+e z+Qy$s)-2%jQ~zR}r7I_%@5s_4*@Go@_M|5K(`!EcB*xP8X~KYNj$FT)ursUl=nj%r z@OWwLs#Zt&`}l#4A8@!QrKeE1C*KBh$kT&n{JiTg;z(_{K9eyeuR)`Z*`tI`?W4Yg zk#oT2&u0=Z?2Ze2&*=Qid$x8jD=P+eJWsZH>ee5F+P$i(^wLDf)A|39zG!#!v+E_= z@Gc(*DP~H<Iq<%PeI(28kI3EzEpy~(AY>0A<%#Ny(^Wg~LF}Mb`)BSA7~ZTI{j`KT zM=qEn|KrnQF#2lT)&JZV(U6J4?N?uz2dt~w=>Wf<*Z-5&5n}!o<UU6=toLy+t&I;s zJ#PjUs@AT#+5eI$`6xmXzk{04zbU@I?`~i3_dzA7_<h7v`^&(i<S9q^30Ev35Bh1h zf7a(W#K-ADv(`2qSzGUj(W?2=(jMaoXM^S%c%~i{ySnkns`{JXBj`O-Zyyu6o>;OO zL{2kd%XQW3gIDc_we#Kj<!$mW*=Y_4!L+SC_L@5GH27FvG<azG`I(gYLw$*&aXnEL zh&y=w0w{J_qh@veoU8A((Yv^}e#vLeN-i+vly~FkS*2%CTmI<O^PC=UAC9;V0x)5q zY9&X<CS7mePQ;%_C2?o2eP+y_eqp>%IeK7eyUwO;rSVhUf&11#9aZ`bbFRu(O+Q~* z@y+h_KBgYfA=w8>BXIj?t!~iS@<6wH`tgiDy?<vdZ`Cn>nzkRI#-biS!I|_huDmBa z-%yHpHT_D=SJb^@%q#1O_l%p31E>9SW2#=*PJ`O=;;W4b)9=_L<`4JX8H`=lQop*{ z`25sM8bdaIw;wv|6v}f}DS5AUwF9dlonM|OZ+fb{xZ1}a@ePYQ)kBz(g*yavI%fnu zxsD;dZJ=Fs{q7f8_(SK_>u$(*JIX&TYjT<m3ueO~&f#dYaP6@rSS_O5^JSRgFG=yI zOvMgm_t1k_lw}X$TNbW67B_!`>hH-Ayf%8b6dqd9Uca(cv$`eDGD|Pa9<izxzzby9 zP`|8RXZJmg&QH_p?sV8!fjP#cOnExdfwoLW_)>*i-%Pl79Y@(%I!_BTN2vn>_&MsI z^~^8vJ2I7K)MUGK1B)Qkyk>^)dxrE6f<3vZOY;TR>Sq4!;S9&oeYzsQ+XLg&{fO)- zd@`^J66B5!$1Z8mEUCL0tbOyIsgJkm-sgJze=|MlV9<nL!EuDII>NhaM)oEAL;4O` zS@_UnOy^xpV|`}Kp5{2SEImi00UM_D`z`9f$r?Gdrbdbz)=W?M_l(rmKbUuSG4BHK zGj*IYOPocjazl#V;VlLXZ6K|$_$8G2cP6^_9x6qjcy%s_VTL9I^=~thH6JF$U0u(x zr=YX|5ql`alzf6?^;CIo1M%pFvKRq`MP2DZ@&e$u4siN)T;(}c)2-0S812kw$@6}~ zKRy@Tyq@W-Z#%hF{%LuW&ac$ut?34<8u{}fN7u(t*`G|xAKo*x^WRWjovlFE$UEK3 z4J;D{lz5c$Oyas;)$1GZUw8V)Pq9$We-ZvB9Tkkvo8DfN?m0XnHrnoUxxwOQe$ef4 zkcT#ACZnisj{@M`2jShUk$rkXKh<9(-bRkryic6fJAJP|M~6EjzQqSGAnxof4S<(8 zz)N)C3Wt%Ix4%y8(!Q8AZttK(IgFm2C#qWB9A}XU(u~zDIQ<Du|9C(1=YCsCA2F$y z^jeF?u}cK?OImd)BIW{-mD>}8<;`>CM%7_GV>-`hd!@go8Z4{VEdQiq9&b1H^R(zY z<LB-zP@23nSiz06%F-R^i-)RKvX4||5$$7f^aHpTy(Q$8({Ik0wfL(pWpEBlzHfnO z9No7gGZ{%$?oQYHrvTU7jD#KzGZ*yPQiPi(dvMSJH?2IjJ6FZx*B@iXq)?TYmDlbJ z*wXf!y4gzuk+gyyf_)awF1sNisqbdo)jzZ_l;V7>;_g1C?|NocfP5ci;HT(CGKTk1 zN4Zy<fF1xNvvAGF`%CA->HBf*z2DYN{>v2Zn-=fP-e%j%5~|lx(}3Tk*wsXP_I_#K z0_EFR7~pJ2RyKOggB%aSo!4=82UIf-hEA^2`o??GnGJZm*l5!O>R*7>Y%?i8OUe`; z#(tL4Evd;nQ=k>~M^>`pU>)Ugt-iiGD5=$>XqJ4*O?lDAXx*-mowL-rv&t(#8oL2! zaV(@xd!=m;aOn5Q<WmBc{SNo<mRSR9R)5AX=Z4J_Il4Sa-kcQ`x@bDre89co_WRxK zXQu9!Mr<?nT}ex~8^(~oYJq!Teh+iaH70MDE#)4yesA>rjnUNO1NV1L`2jKA+|+Zg z>4uc#O%L?0E=I`7C7nglT0Ht^|FG2elIfA77#k2KtC=i)W-=JJJyVIKMuq)0mU#mX z&S?x3;w+jO17`%XaNO1dI4fZ>`R8fH#C-F;LNGmh)b!l1%z=BT_~Qe%^9Sgowwcgs z&P{kt6%GxCZG|^%ZU|e{H@@JX-l%fww1Q&N<E2cBxaQz!*8b?`z^?Mg2QgNe(9WAX zGK&qGoNfjA;E(k%lA9T6A%c^8IW{RuvquJowKe|Jqca<1mEZnG3sR{5ze(GEiSFJQ zeS224DX*CFfIP_f8X|xKV6+2F1rfWfA>rq~@%h3k<*bR%nrWdk({CsVKjAB5ql?!w zleq&p=f4byE252#55yWZmEVCr;F5b7Iwl<nclvR2VZwQw@-ITuxf1d}TFIYxQ@&8$ zPDsx>b4;Ept+Jx_0HLFR&^O>EZfOSkjr^3|(u>>is5cBvz{u_!vVCJc#QK-oO6$z? z+fuiGR=2^620`pO=7mdt$x6PwfcWQJ`F>$(2z9amr{9dEZ-phXIMbX@^@!^6syWl^ z-q1|kRG{aM{&XN(FS|M6F7WwXGnsi<LH7&zdX;LnjPcw|+(ivShfkRrGV>AmY>{GC znu_)MA5yel+~|D$Uv&5h>9*`Bi-+iMd!woPOdbEfqLw##4djo{8*p@`0e4|8gmA8D zQA-*VsJo@+kD@G23d-$wT-N%hUy_`;aLCa$Cu&8DF72RnU6w)gin18$5qrc|PMKol z7EH<r5+q+jUq3_j-y#iMDXr4`lE%U=o8H5gYX3?K;-9bRD<@3P?Pf+zAuZDY_?ua# zMIsa%!d9)j1v9c6%M<&V8M~##ZBoy59NS1pS*6a_rid7HolRZxrneBH6;2X~<K+82 z%An=V8q1r4?ih3u%yF7a93-5nQVFeY!q>BK{{D}lRSod%K4y|oTpKd^d|Hkf))X0& zGQ_+i!rhQ3u@9PV$tpIxHu3G>+46m9D1>Oz6RKLu##;voT=sGz>KKJ*1VP(4#4JYU zPQg0_Rf*Dq?gP(&bNDxBZ7W6c&*!75>zVwAlA8zR!8uLF`|LTIVHo75#1M2-0j}~1 zj(WU5PX{(~c?hj!86O|3kO{PH+nMJs+25#v-qQB)DS!MHASXFZO)*C<o5`fe#@fzt ztPsGZcT$yGQk5H1l)E1oEMYlbncheyt+^tmL{OiJ&b~**JJ4>-WR}AmU$HOJ6t2bz zni<C|O|LlOi{CT2TVbP`5ynPb@mWUhI`s7tVwJ6))-CQI-P%hqc*ErXO^rGs^>>zD zSj{|Uv+b9s#iez`EXC<74$|@2>W}MO()9u@O{41=%u51MI8O7P!9O&Tv>&G@#JZ6( z1wK1?-Q(+~#gd<BCwZV1U(gOGFgDpymd^yize&S?W#+|Gg?rT(<`4K$r;<B<DH}e` zL2YS9N<|}~$NQ{qja1x{1q<aq)3eyW2scz}R(^pO3|bT$wuUVf_1zulnk~Pj?_<xI zg5VEj3im}BrjC}<$PR|9rSyU$p4!aFXd8B%3nTaA+<LL)`V2k00($w7cBh$h#_viU zS&Ggl(S}?RbG}Fg0?<6mB4fYl08&oXk*|oBtOKcFE58*dfYL3jzgC3zFuDR@bG8}A zEY%I^SCOqbL*=bjtl5tfoJDe0N)W$H%et<icr_nhG+a7+l<}DnwYG&94oZU44$^;+ za&%s(baSS~<yWyG6FA>q)rFs-XP#UEd`Y0btoV>!Uw*f*Ywk#J6}HFjg4A1!%ktxo z&*R_yO+9{;W0GBL*ixQx&~$GWz(*>yI%*~}6N^rb5U;%f-;zzi-C(NXvZZO@Ue5VC z#<Mf%@NJx}_w>%oD-_!LFJ;ZGT_2zopEb+4UJFD)&QFr9vWl&*2|h22PMXQ|#E3a6 zsD=)<J=Cgdii0<E`y+%n-5$oWW=7^2LFg9g?mv?^-O=c1Yk_&AI0wasC(*23OdWuq z`b=qHCuo&w;NM>bB6>pvjRmSrysn3?)-XPx=1tBsrowLbc0Tm_&VjVkWen=_41W0^ z2R`%7F!)0MWac6xBwia$vw~)59Lg7Nmd-5*zdLu~%e4HHIrm*!KW9~niC>Qe)HLT@ z^pW%qNrnMjzMU(7n~y;}-gX@FTL_7r(=6`vdvp>or$ZY80^*)&o_Xp%%HI0UAZL5d z4ri|`7Kmvh&G^{te%t_jA6Zw{xu~49eeKnT7os{ZNuX_(LCB)$%AeG)U8W$=b^+v* zAAniL=9CX-7hF-@8J=I(_h1hCwRW0Jr!0<RPQr^(ct>TaaH~9fCeszvzX|gPh>25m zQ8}86UdlFfgtw*pl8&E#%i0$(6p+C9-hSHC9OzzeHP=Lp`rs?r73z|B^xswk_l+}^ zR#YVsq^~eGe<5@;9V0ksS=syOVf*6+AFQ+sKiHVbnyv1$=;HHY&=y%yOPVy{6F9pZ zj&3{@Tb$4I=wYOpiQ9}%m5ff9iS9kAc$^pW?|yCPHKXr!*Q<<{eNNOrgT2Q8NvZI- z6V{}=XuuEMO$|gMfICI>;zrM1TFE)Gf?ZX^>v|mNT~xV;{XKFVvbx2u!z;s^BchT5 z34RL)p5OyaWP}u6ak3p%@0ca+k_$e_l1|*8H+sTa)S%0Kb+eu^Lp#|1Q-k;Gy%{03 zb3A#uJWa>^0T*70o~Jz`9xFgwlJoqJL$eU<K-#>ex8R)5Hs1y?+2V_mff{X@J>&3Z zYr#IJ3}m*naCuXj^Iv)ddk#@OR_HxT{hMhHJFv2y>XH$)iak^VZ>Umz!%noW)T|*~ z>9{<&!4#!c+|k|5vPX#UhLTzyCk9O?_v<$$P*EJ4%&6s@xN|=Ej978~GB*Eqe~&_k z>Wn9dhtSyXwtgDPSH6BV)HX!KrN;^q!0302G-|~kB$o_jpby@Rs(0FwV(d{8G@4qV z;Vn{TX%pp)O-WGm=*vXR;#twTGD6em;;3aDoq$0`R|wjIn*3|JUDwX^1W3Ec&XqF4 z(OJ>uTqyA;btZ7Z2f>33#88LMmjAtCDPx4%lcS&i6g|l+Hdw|<_!-Kmg&Cg<i<fZf z7qf>P;X>+S&Ub6cWn;HP^DqPl(_{9gm(&dIsCd*mtQn9f_j1^HefCf-Y?Kj-HvQl9 zTV#xfF@m(^l2Pk{fAcUL;EUVSA+re7j2=dNszTi}c6(R#cgk<&11t)a<rY3SI>-U> zG=>Vvadcpd_8d060221%jG=VpmUK!Ybe?viSYS%kYQ+BW6bif=TDaeyHZTS^GYb(j znHX7Tnc}KjI%}yjQfuy*_wmpy!zN=9(DA385vYM4hPrym_l=!--HRKKM~%%SF3#cD z+=Vu!S!4WtG)w!yy1W9gVxikhFLzsNWVgqU=|*bd1Ml*AuJ#B-vt~^bZOcU>zCD{W zR2z02TFQb+w_xnmlefPc;^+hxebO$IE+X1n5CwZPAtTO_wd{lxYmQmE-LA8i2LDG6 zVGO!+cC<bhie26WM2X!QAsEP1RpbYng1sj}=cy-55cTmtCLY07<ck-2*<;EonESYE zABf=nLYybB&|oc_#e&B^lw!45J!94~j^S*1$H6bI_Vl3p;|o9!j*^BU$%Upe25qRr z%L-y7_l$v>F1t%%+mP^m)B{VZ6K}{1R2^gR_0Poy2##-%DOIn&6_-2I0m}DPRjL#$ z0HvBACcKM9eVoZGdJ_p+lEv8^r(2{!MpcMl+zN6_On`7V;55n7AKug|BdGrJ<OQy1 zGNh4Fs7ziF3!On0T((C%0^8`tRc5n|PxAzOsd~RznuZ~1C_nV+y%D4izmBnjf^(sL zWSWQSUC`kWes*I@+KTNd8Igjs?x)MR4Fy<@XTSu*Dj+QYR+ISV^v)s|lj5NJ8NWVi za7~j~+60-CT{{@Fi?vBHhAmXBn=6m(#c^W<PekzVweZ<gYfO}n=1a&#xUz?E0*P4L zSih39@vd}t1W8@nfD@I6_2(Eu+keY7*zQaTuH4e~?#$V;mm_4FEgpS(*LhOv9zRmY z+vMV)K}Nv^ji)Gu?&1QiEetA~Xw7RG?{42<8~wgtM8#nK$hQs{3jfS2c8QaiZEwu5 zF%GhN7N_*-L-E7otOB0Qy7+Wq<t{U#s9|eBtTZUuyyQx`{F!di5nmMXaL2zX0Rcjy ze|BR($HmK8c3|q*V8)Cyi-oFzcq+!8TviBnG%D@`pac+w*NQV4>PVOm1(xYTO4OfQ zk08542gkzez=p0l>T>CkU0cUPDH&XHS0GPbsqjplz;*kH$ivLN<5kr1Z1NZ4A$8B6 zYq@4&P)^mw1~>lby4kD;s@pm)hfFwK8;DnVn?+KD;FodXleDLks(&_%CXw$Bskuwj zp4y?_2J~?%Qw5bcZn$`>S58&3+mYk`%k0F=_UmAu2eNZaeRggl%B}@*4QP-5G{**? zR=1cuw8IBQcYJ*o5D@F1b8>=EF0a8CAMv#gJluh;TonL&Zf@3M)7*_z`l)Wk>bY`j zh(^&H2wb2$ke834Idh?n_kj~OMu?x7mRua_5Pk?Uj}Qb{nu5)Tb&Q3xt~-kE`xxX* zGC6PMQXR>|3BpIz);1YUXS>^E<lj`08(#dU;Pl(`)@1hey@h|rRPcK}MUS|}hbv3M zxbjMB$1mfWgtTXNm2VvnM~tcZ8o8Cs*Pd!_s!I#s;>x2PmKXVZ!#;O@2<B%e_~)3? z%*=v9CL;r4J+hxI?55r~kH(-o2F7I-BZAI?9<O)Yxu))@iF|R(En^p#w8o4f9c?WB zy{-mcGb_4qU(wqNrl&mzPt?42rcwT}iU1Lk{7bq82(OGVL6D_h;s;ft64j~1R<H_G zqBr7Vx5*&754Un{iAUEN!N<zsVkdP~a02&c*ovoH=ggKrvuQl6mtO2=?l(c_VB9TI zEJjQ@L60W>{o8}PiG{hJ&1tav9aF|lm-p$OuOnPuQ8P3LK4?xj@2>9U9&fpo1LWlB zH)-uqcSSU^+><vHWsd=vF;~WTHIvE2PF$AB2=axOS90n>9g|{-S=MN5Eo3~rgu2+v z*qrJyx`!&YB9fxR<HTH=!t>Dt;op&>54bk+ni3E7xa0^p>49>B!hRm8U%>&gR{E(i z6in&_{H&3`06IA-Yq==W(+mD{ht1ivz1vyKC25kqHbl{ft)e3wH#c8gRIpbMfoM;T za_#u~_=TuG#|=ol;)ldWoZLZ2`9c58;-$@jUVh~!oyMv5rg(spZF5-gRo4s;sT?Fk zsPrXsAcO?^n`eHSH66*uszt}49R7-J&XWba7CCM0Ex38+IQ@|%C5dKb7xb_y$gALt zYgtcg9@h@pfwS~QH2HQS$J<`gv+wIs|18S*OtkO5G69S(3QbbACRM2hVkT}H7r7X& zwXzLDRjnG(W^unnkny7tO<|{d1bu2nFxyTF$yL8S&Yn)UE*X^h&|2pVif^01(Gszo z6Ig|->{XdBH*QQ%Mzu%e6nPX{j7*9vouY%9$M!~Dj?%}b)pgrltb8GYqOSZoF?v(- zK{c>kLidH+3NF1LF7Pub4ub1~_yd7^S`6HS(kezir{{lA`I~h5=Wx1<B09oZ?Ewi} zN#C^MJusshtZlME_n^54HD*M?^Hs_~HL@5h7<vJRg7kilZN-7_!WVlOf>s<eL_o(@ zz^$r)(GNF8Wa+zY$sy=b-{kGC{tc<TlbM3h=HYN<yVtWxRqN)`8}LhVbhuD1-dJ>m zAHIuN(f+|oR1dixGGrjPPYt{Y0W7d0y%cHFPt2bz_|{C~2_$AyCPbPWjfQA;%?IsG zYved588Yt0lsoc{L+3xJo?`{Y5n`Vku%SfahO~?BXUIkQHW!CJ!*`*{vTh^Ms3Y9+ z*{8GUfHIYesu;=@bpzY+uoD;#CRI=pDcl=$5xS<%#j~A#OUP*jJ^XiJiI6WT&|N(y z_5yHht<e(hnc*^m6vRXQ#!O`p5$|$-I}k=!#z>1n{r>2ocs$jbbKVD^1Eo`RAy6m> zSyoQu>)?$zIWCWB6?^<iYK?8AD_Jt~3O+4UkxH@0PPg<7DqigA&)&0$zhhiH3m|JH z!!cimM0J}=J1oUTSoe;%v7-aKmQOsa0+@;_4eA(RmX_AS^b@FV$Vl*O(A)4wZDOtQ zHr)ljwfX0PC)PbBG3X{06qJWS+yg1F20lx(mh!Bi(GNJgUe$-KFgF5T@s!*d#`CVi zwP7L!>(}mLzQdx(g7omd+g>?#sB~$a;$?SdacCq}?Y?&QV9J8Ykx$2`!938Ct{ywj zf12p-?B?bCu59h}>X~<C3{QJ{2FkQb1y$`PQp1pl%oi{#EY%u8yjHN716x9j`ym1f zw&KFzSi$9<5Aw=KrrUp^P6`2fJzkrCkOH%%)`9i%$^5OG!M7U?bHb9om<QPwj`NE| zz*mkySCY-K0hiay#&o;8&4aLG4+>P_vhSvOC1b?L2-GTQdo^r5lL<0EONXo`JWW0h zF_R!iw~VMTHt<+bSMzSbLz3uBNJdBwfVl?}Ry-pM{5`>}Zuo77x*xZB&OkH9Ulj~? zZf}_+m8D=Oa#$9w25a8A_{#{*>GEfA@e#wZ%uMV=Z=|T+_(yr}_ijiKcfkjf6@w~U zTC}7I|E7Xz%!TGu!^mt-!fj~IP55>%&It6PdeC@0WaFAalX$=0IUXQAx0yq(3}=NO zj=K*ftY~nxpjG&(b69t7LzTYFP-|jMWI*nsUe!eydTL60<D>3Xg6U}F%lv|#W5>VO zYB7J-!WU-}JLR}fKSdk)(<l-K6O;*Csd}tB#lhoH7kE6>VQdW{cl^6c#)u6eb!Fso z-}aeAtN)?e_@T?LNXF!>>uls?-=AXc1h+pjoPUw?`2G%LWSTrq2P|00(BuZxpt;sI zFhK!eE|lA1K>KwI)$VQ3bn;GkLHgdwJ=j6*E-lNAK?fz|(a2LMw?c?}oWm*i=|Z*S zJ`^V|!qK**7q8~j?~M?Mte_`CTvv!72U`(QBYM}LV<#!H99MnqE4>9zA}>khxoe@E zRT+Y!7ch6ej;jk<`L$NWF~v{=Ehjn2=592>_`|)xZ`qP^0CV4BR*7J@;EbvK>s_U~ zC1oEX%l_>T;I8feHdEW<9v#67wq#NyHyqQ+=xh-jy|&~bR<JYE;B^`C!cq4k<<&uk zrzOIWQ|`+H%@2iYO<y==v7Wz0FxTct<ZqKjlT;9a<n}1f)3)S&9WN93MbfvcM2SP@ zM<&%{7pI=#BDwOfs<dZYeO@_sU*LHL#HJOy_>#gd=F7&8&^f>PGOnZ*sD?}b)0r97 zV&1@LHiy4(U@3@NJ0jXHQxBHol4T5z2_Fx7oXu1S=&P<w@d$8z%Q-_g;XvuBj7N&~ zR8Hz{J0DaONiD@o(gTr`U4PyT-~_-ej{xMYde@(=o78ST&VAzBsARw=eGmD1nLl~* zP<%4YBba}S<?7;#4d#0bRS>mvcMyY+{qP5xOl7LnxpKTUa+1+FD$a1FdGIf<%I4q; z%ZN{XP52sAgy2bpI0)1!`z@s&NJ<Iuqg*8#t+B}_w__;YA5@d4Dz<gmkoTpwh=bC0 z+Yy6`SBd&^ftH}hglx_vE7gVjGOYOH2Z9GEk&A-fUUBdEdQ04rjIQ@r12s9j8G18( zI<8P(e9s8GSyN6fm*b2engNI}ITx~`2ZJM5LBb2T6Lh&N*{o_fbt)|x73Ept6=QOZ zUjlck?(pat^Hp|lB$jZm7i`J-BnrxIJd$Iyd(-$R$lzr1oAQ{caw!$X2zpX*A<ok? zMXFY~q|wZ+FC3f#yKGS0b)B@F97%iE0=Wl0H1G0@T+u)NueMCu5{0B2G!5lprc%|r z3g!ha)OQ!MdUb`qloN*=WN;(IOEbbMP#`X%y^)pu3XNt3rz&ze#HP|n#r!|z2pvh+ zS<CJ{#Mj)c0sxQsp9?AFL0sq=X07?AaX*8ZwjWeF#lh*3UdY_s2yvk~&D=C7{EJ+E zbKZb7d__~`*ymSr)k&`$`i`_s>DpHMffZF6@!RLo+8TKNPtjfwO&LPO2jp<P;vw;D z`5)e($6v!qNVAs8$`s{8&KVZ-pz$QAZN41#=eSjN6^<{LkWW`^8xLpQ4ER()00qr_ z`5wLQ9pi)4L_WG_BF8N4DNRsztRqO)K-kP4a>+!XY>5*+K`qI?X>IP7-Cz4wwO6Y) zmp``DHtm2B5Nyk&+=il*7^24Bjb<VGJWhc!@~_atb`rX<R8}iU<y1{8?%GgCu3P@@ zYWQ_T&9OaDPO<^pZL%ahM^0AqH%?(gM68NzR1l?xh>xCCdNOu)Szt(~EelgZDkh3f zq9)Jc-Hvd4%MPjI;>-_EDoYz%XukP~hDlIia_#Iu57Sk*5O|)so6U|?A7@MY%g!SD z4%%ZBxzSw|=7!0rkk>ZIA1eDlFYKQxH`Ohmc=AQQaa8v@@}IgyE&0xO&D~DrEgZ1* z>K4?<RnIF@d2(D877aMM^AY$XGQwB)B8xO@+D<C8CqnS4OflL+@Bx0prk4^=Ztcaz z&p?IMG31SpVQ#K2^o$baokC(>(8%@bBM(m!l{F$|x#S+|#aK5@vePt=YGEqg6@)e~ z6y);F&-XLJKU_QBl8{U`BZjj)T5_T=4<;twC$^CBSDwhrH5P{v-KC-Gf07n*W4qh8 ziJ3zU1wnm^(ZLEn<0{|W`ckyIv(W2l<te74y7Pe7GmafILOllapK@$VBh;O<K*{Dm zdQqgCd?llzO!KNhCC8DPv_;0x&PY4Uq3Ddc@?c&uw3~=t%JIrTAsX7m=X+Hl^efT} zgUB7}Z)A+}2=R7W7@!kaweU&NAm2Uv86NR_ox!!W*$qeHTxiLzG%Hgg{xc)|_dc@3 zf*73Yemy|ssCzMIIo{<+PTrRt8RMft+(V!p)rie)U1(Ot(&8ZQoUoSKdjF^NH7K(n zto(ue;eniIiOTfH=4rM(z3=xdW){?=b^LuW;r58G$-x>p@~7yWA%5<{y;2c;*0T%s zd(lI&AI+K*<fG{l=Lh;4vg_A;=P_b9y|^baf^hYiWa1UZR0vork7CNty>*Jn>?v?D z0)gViL-kleW->zf|G1u`LR@SN>gCcR!UQgPh;NgD!WdJN{nU)EHt|NWa|R%ZhStpX zwV)PTM+n;L6z8(pd><YPl}^d9t{nXQFu>z`Av5FfTF#T9wloxduKXYu66a&2qjKC6 ztbje`T>_CDw*#E_D8LPZyem>b-57u-c>d<^^x5BMs^Nn(nM0#u+Y}V-ZZ2Q<HpD#L zF8I`n8^;Q|T5;a@GMqDbw_wn~5&kE9NH6Z)RM}$g)s1SF<Crl5v0OD!ky<au&37*b z^rz;{TjCi&;GE(KE)5d0BE+K~R9~<p+7CYJ83j@TM(D{bwZk+$IbhU2s8;NDqa_DK zXg;pXyF$0UPyu-O?RkNfIhqJ@Ani==ce?uLgUCv{W>l;Uuc%-mxKN=>)IE1_MjP#i z*EtU5Rl`|1Y><gb<f;%--*)AlA6!{KwgTGc$x8#NJOL2#7!F>|=)($n<hb^!;b;Bu zCdZ+*^ed)StvIit4!bl^hAz7PL*Ur89M)X92KMY0#ED>rM=@kh6!Z-$t^s}dv<u2# zz_K0&8acV`f8^&%8ABykjjzqan4VJ;F1Z&gH-OV`0nXH;hyo^G&dJpaW?}`oFW}K0 zM&1kfP0!e!H0hyoNyKXdZHYW%ODK|(&)b$+d{v=xn8{2L!Ea;)XM6f>2<J?TdRJyE z4ddVu99?ufs<~C=FJqKUPbPi=pEUE&=r;ag<)&&_F)JD@wk;DfBZ87P%94m~9aK=O zVONhLgXJ8<Tksn9qA1%4G;^g_hBbZulp>pZynpbWfIiJ|rWFHPFPy&ZvYK%p3wTU$ zv|zDdAcF-*TRh!NRYv&XD|6UVw*Mf*Jl!{x+x5d@4{WL3;ZfX}iS~9V$d%UZLlwa! zdN8K-m2LvK0F&V%#L?Z0cxl#j0}kFSLSXqn9WrE$`WW=za$I3XzZFp+8B|2umL})& zo$5#eoQVma1sdQxkT8es<=ZZ3Y{iZCiZ@evx=^ym@P;1@ae$aHWq1={gby(Sg&Y@{ z%V*7&r(#i?Gxa_WD!|@u(yx%qM0JWsV4}MaE-vgxYyn=$LT|t%;V}x)w#Vi%3bU1} z42{6M300ZYD1o|8k;4aweZ~(@&-sr9P3e>|KsRx0{9U04&cT<JF@J`rlvC{$7h4^V zCB1+zPhq-gxopReMe5dYl$KkDqWx$nMAxCbU_>ic&|jyBJ`Ody7eTusDp2Xgi#g!3 z&<}-z5WuWxa-tE@3kQImBBx3IwnrTx;#s+T08RM9w@gqXZ=phf9~$w5*1ihFMD-Gg zNcvK+au2(po~ncUPMyWH)WWj>mwm_{v${FVyPI0y4sCa(@rt^OW<^s#XgGsPx~atz zYD>sTdjT)v6#{!PLw5Y|t(a;!dL}asM3PzoIt9S6bF421A!$E@n&vh{iCV!Ka>*z* z;_#6}jLqrAOF3|=^?!_aj8Ih;gHjB`;HHI*jL`+EYkyj?At!exQ;ePXwwMLqb}s^F z5ni6{f^Ad_uXeO46)Jtp<iCIiZCqC0gpXiK4*YOZ(Ekra=gpQ^08a(AdAM(oe+1q{ z#%P!0a%GHXZQ^GM&?c{T!7u~P?qMWg1&UT&5E8NcKg+GWi$xnY;jM^hLyi{>g&|0A zk3pob<^<{;MBIScHlFPho=9o1AO4TykjLJ~|J%n-A?^hmMLQFLH<mGkZDL!Ll2Md6 zb^U-KP&t_J1BI%R5cDY|hB!EOXY+9=*_-Ut;rT=G7I2z(4N&3MMAWa;;w4Q9cc8>< z4oHJz9>vMBPPn2Pz6Q4b=L;Bn{l}pKINf2aZW?l-`5qe-!B<}eBfz!4#~wxCbmc$O zoT&k(8NXAM&B+Tk^+3{<H#gsbY*A9i&_i)s!c#7m$_1nh7EQeBbG1wS!@EGZ`bOb7 z*&LfBXsI(z86JVxfvCmHI9`@YWHJ_wKW}{p3Zh1#fF2TLjGs;TaEf)MWiPJpQ@^9O za+`5@H7Ck$-B5HRI1{Ov$}m@Q`Chl7^FKxJgQ&crHXjzu0C;1_i4!s4tZcSvg~I&5 za4_P~nRy^@6)ubf8X1NF!^9Z^mu7oV(y<rdY#OwLfbt@*;CQ82`x;ES*N>hWC<RFo z!R{W#Jl%n=ykK8$%b?<{wUSYSMQ6cm;mja2DpdZKscKcJv1pqJpl+V)|3<HqF&ahi zMF1~4a>1+M$!*jq5WRaLs-6Q<s$jrxUtPiA1_^%L7jUx)-_Rw)H(Z?epW2Y%umqS; za3MnDKa=R^1*&m$m*7blCxHSTh!g+^5bQ@{$b)0=uvDn^|2vv-q0s|l#Q@UZmN8d1 z0Y&8j6rhH2ST%4n`Di#&3YzjrwhiaJA07|_g@8=`-}qR44t^I=klQA1WZRlXN8n9+ zaVxi8@WZ<xrAiz`y9t{Sz1vB?U05_`5V<$ix^iIk4^<yVaOkCl<080BHdcYk2l@(E zGcdqH1tJEBd`l@K5i1y}Q>c$aZCHS>{|Oztlw;@u+PgFFK*Ub#3+UWNNr>rH4cJ_C zMoPai;GE5OA-~h@K+T|$;r*XrvG2v*7s1U_{###A#>64XFNeZ7frc_rjHI(|Fu+F4 zx6CFi>iskb4heDMR#h1mZ7Vzzjzrl0fBt>h9s??dvKTZb0&kY7JQslnS&q^s&H$N> zV=MJUn%3i>wJg{u{|YG7rstVp=3?}JoI+Kvkdo{{&ja+mys5sTjA>3)YC7S+;-QEf zHaGwmr$+(!<t0F+^edHgNu8qJ%X?}||Hash8h9=!LZ;JldD(cye)nSVHn1P&ssuMv zM)0;b-Az>vF<|#z+*XbaC(I8oZUv#za%u4YW>*j>xk0Z1QmyhRjv`8M0Jhv9s?wGk z1$u#cp!+&S#|zkGbE-8x5#s$g0NnXnHkSI?z1U-xdig?dcIn+EU||LHFpjYg(p1fW z(fL<^zR-!#C<rlzy1&5T2jnba!Q%k*FR2OPNI*^FOUj5%z<q*{7>EHf)YRbHLX|(@ z&5_cJej1?t);h&5D8qN-58VHo1$T(x4&cj!3UiJv=x1|-3LgS*2R&hoz!gb1oVxb5 z-8lnX`m^w9M_)l=D&CGybh;NgO&JjgC7b=@F!0RIUYuDbINuz~;qVIIOFW9Z?Eul4 zCB&IP;Qsm))nR)ZTAFtSvx(}VcaH<qSp<p(P)Gr?<=tDKAG>;g2Y6f;6$3n~Zz{b{ zXO1p(5%@bDTF&u0HJwFlq>MH!8kF>H#=M&zT@M}&lVbj>xB`*gL6fhB%u-R9l^mcJ zCKrop24%-|8bJf<HjHxwL>x{qRa{GOP!MR^YvD+bqW>_6Aw!-J;%svH0Qqja7Z*oM zaN*p38KV-|6XY=KmBhupI4ib|Z(9ov$^#Yxr6rgI`F=;q?>{#3b}E&%#ZV^)6%Qjo z5|DJlGj9XEqOnN2?MG%VRuJx|;r0P2Pkbo$L}GUS&mjTmXSo+A3p?Q)FOY@Ou%JkI zb{iU9<Ov+nLoaE{z{p-470QTu_m<euimRE^tNQ!P)w-XQRf{`<`;$a52PkfFh_KTg zL8`xORjE2gk^8MjO7^ty7NG#U8uSP2+OCW2ZnJXKBCFni3NC#b`A{jiiz|Oxm4q_W zq}oVHnY^+Uji+Dl#oz5E<(gsQY^~MlVa46HYh{U;X9p<ii>Db^$jY#Ui>BW0%FuXT zhss7Gn!f(FPKhP$a{>NAL|Id#%FCEMP&y?-ZiQ<&pky<uhRXm`ixqrm#l6F#qx|rC zy{a!Ef^$gIuMD{3q1fY}0^kg$Q9EhOkbn;8?<Xx4I&1fw==O5p+bV34Yw<1Z0hI@m z8n1U<Alx+=F7QxKm`HQ<>{LF0C3|?2%*@N);cQx|x-YM<RL99%mEF$V{%xzC2X5{a z<l~Lf6?XEH@K%|BHYR;cTsMi_C@vY|rA~BxLnR|ZPAFuJYlt5_edY*DvW2iiOy@<l zVwNg(X?Il)d6Xi`Ly*#wZ2CGsR9+-75u|Tv!+~f*UtYV};3)YVUP`_YJ>Et0S9;|w zccQi^(iZm$^=#B>B4PI!F?uqm(iK976lzLqG}}oi9)1m)AZCe%SX2pV>Y~%SNi4`a z_`-#*1!d!R9)Y4IM1o6@5wbu$-knOjpe*@R3NaHQ%2X+7DJAq`QRY)O3TiT<s8w}} zKtuYKNy&1HJJ2RGqJ%9<^Cz0-;UuHs8YX2?o3f~ChbFt+J?{{0OhFOV@;!3IQ35BV zbRUv3W4yyAFqR)?T4{4sHfETUet$=$BB@}o$DexyGxp1PuLn7eh_IVb`DWj*jM&Gm zEa$e2w*)Cs?iL}5D=1aFjHzACVt!=pBGEM#&8>2*p8T5|X|i#z-)GleoNlknLfOh% z9%HP`rUqV7V|Z{!d4E!Py^o&1yPbMm-b|m&&&5uRo_DLCn4pjp{BVIIuaxG+=#D&H zHmPQ<N2*)(v{y_Pyx|6G{C(){gNke!BcV-Pnt`9Hx5_}N$O?iw!L_$B*~~lBFtdWg zM@f-!Sn5sKyccK6wxO559q*_$;n#p)?X+nSo`wz*bm7HI74-P?#_5r0b2Am2V&}r5 z%EgDuQ4F38xt|m9kpAxF$Z4#oE$Tv`P^YgV8fH>HJ4t9`z4R75V(jG;?1aP(<wEfw zx!RsqtvWF@;Y4%O<XPrF;TsrkAWh`jJ*ALfrKsdSXYI$KHwYQhD2;DIaq+${8+{do zkrozQmd;A5qZ)uKJFg*L1=SrTcP<;HI=vImmk8NL2^%Xy%cdJx`yK#XZQ`5hcmZe~ zl%24v5SPoHx>b_|iW>qFLHtILfJ=WcJIyu2myh);$L^pig_<%ETj$;A-%<I54cptr zF^9%iDtA-kEMucs&oq7}O*&go2qymxdk9s9iEi;FZjdj*r>s94Z*vDSK}4I|NNqQS z=2=En+}}96D79=$SE%$!dn<1CyT|Zcc;$6cHH;NHU!lea?k)<#ilq%`4Wc~)NwMHo zpVxOX__@XX&ReUo6t32KcPP-DSHT<rYa4oTfFtPz$(3;vW|!ZF9H~(xTpX0a^J)h_ zgo11n!<IX(jXD^uN~ApnamJT7?y0mm%H>oo=IET9EzO9s+v)PS&{8+w$w--()T?rd zLZ;wXdKW4G60z(wK?)Ve5^8x*Bmt)UI2D^Tt-&dxBs-VSkB5?#y`6A=FK!5;f}aGU z@iBPNxI~{J^vDR;f&N(VNpJzk9C(at2Co*@t%g@@K4frlX_*dr{OPuajEITlqG2ie z@wilHO*Fy0u>54KrT*l0w#-)X^c}aDUAmX3xt<H!EuTMJt;fp)CJ#^oEqzw`Z)Pok zr37h5!!wU=D(T<PZtue03zPqCv!mbnmjT+jg{|Y({>{OnK|{$Wb}o8+01i+R7nzLh z>XhEYJQY^rf~|#}^)1Df_><PKO|svy5c+u1bL5J0XUp5Tfnzxrl~KrS*~%JWv2-8n z0tIS+$TB-8vT#KiZ|@qqSI{UI50R)T`IMoaSMUxue~<iU!e0>xviUJ2<z0{4q+*k( z;GHQuJ8Ot2@lhfz%U7_+*nI)Ax8p--4`XWNM9C2Jl*_?j@lLE(oXzlK;@DPy?-X0o zaeq@+jS<0FL8cKW9=3}Upije&^_$1Mbq%B$H<`ydYINV5lHKKvEb5qe7@xpzXBS+3 z+^Z_Ipf^x+Fbriv-FTr>6(vDqWAx-eQataW^den1)TNe)1weg~1KpOym9SlHhq8uu zB@W@mkLxvlWV?LXxAaikHNWGWFE;R>1v?~aFw${KgQOU{rZ?i(>%N_ei!wq-dIoo2 z9PNRRUff#Z<;d-=BndX`!0f7TDY3s6|0Nje%G#v4&>bc=TSd=X>e&4)Ri+YZ?ouey zO;lqi`s9Quy;BnQR&zB=xURQS3NCDl29~m4j&&X3br~dI2rQ2Jf}>H_8tc>d$ZGFx zq}V*UTItP@L=27$Pf$({j!GbqrU?y;$_YW8!o|KeN$a<$H7NOWO#Wmvzu`-TXnZNX zRQAR=Jz7u#of=bO7p=Kk{pktSBhWXk7uAJR#tv2-GO3sx3_S0BKts3OQNE~Gv4-&N zc01=@yKb@{<p6TCEY*NstnFa@ZbJrp<Do*}<aSDeUp;W|l^ot2d6rO>5+k^X1oYwu z5P2bJV=B+an|TaLw}}uOp02N>ilYR$d=ozX#cjx}XRO?#^Jps8sPZZGq`%+Qu`J{{ z5Bg?NZ=mDP4Df3SF31#Vq;EZ#7E{uARJ&)b)MG-K<BK)%iEI=HB-<`}WmvSMbg)SN zTi<HRy%opg!tRM(<6|I;WHgWc17os}n2;^@9};&begv<S(WyhoKRmi8b`pgT!sZU% zw9Pu(nPaD_@%6_XytHXS#4>iy_QUm$5UIgs!fOTnr93X*PW{XHaB?Nby@oY;cjvc% zQ<L9aYPk|bc=d0E7=Win^PxVt&Zv8y3B`8&a<mkrUc~qyu-~^vrJbusHx`pxct%vh z(f>mx(a;+5<7i}c+;HM7%t;iAjY}E;L<KA2n}R}mOq`f!F&ZqCb&t75i!*4?5EH}2 z5eHlt`@WVYcN<2HR||I@b4bD#@JLSi<pR>9MOGsZw(Y2W4A44WIvGou*leq5DHnC> z(%I*NpZvD!zEJ-$ZSuXw^WUVz1)*eyYQiZXqA$YcdUUP{w|*IC<1Lo(IP>6YV&?-- z8$al`?!v*_@=g=!Go=a7&0AMiHuBzyoIyH@Lv_DXzZjO?wb;5>jnvok#Y2$jrU&^! zSB}nF(z!AfJMJwnwj`-HY~uOV?bSj<%(v$Y|JK*v_-k#TOXn>L>78OVNmhtBiRMW@ z?!Wp3YlI<{NFJSRCszt9Sc4VE&akt(OuAY3+ga7D+U^(QDdQe%d{tw#yXBkdC6fH% z)WAqGi^m9TOC2_6$@J>=kiT|a<#kBysQh*~_bOkgaQrz)uIe3Cq%38#i=wMxW0bG= zeY^2*m=+TZ*nq(9Psf2Qi}TfnmwHRrQiu%CU-NHbGt??m6Ha2CQr5K8)O|uTr=7!M z2yxzqace^BN?7ajX_l-18ldUumkNh!h?OkfBFwkYgh#_ZI3{5)KDI9QAz4~OG*?5T z`m8)6nn-Si2Zg?qM0G%4;Z_M3kHG$l7qklELW55D8VW}>xBY$VgO4zF04v$F2P*p> zLJr<;vXtt;;S3W50v^?#wMQFrl=Wq3rU<lS!5FMW)zxRCWMoYBCvJ;5Lv!VG6B$vU z^iazfT$ruV=XhC3k(7txznbe5yKCTYjuAIXEin;t8q1Wn@l}wo3eK7pUEP^-0zas- zcz17Ps)o=*D)yJj6gqEHjE-&jaJc$Wd{iOX?i_bWI<X<4kb+blUU4SB+|O@CaWA8P zn`P~4MIH3Gyh<Y6e1l>o8xEJ;<XzbCp>m|Z>=W!kE|}otZYZg4{U?+0oV9G&(W5hc zPJTRHvj!V}*4IQ*kKMKb>yV!Kb;&ic+ROc!my~2_>yC4|W50~TTF&dTlBDJuaD=kT z5q0@nj#6E2$LZD7#Zf<PxPTN;?BI?P>>AmK%0s}JAbB5&0$0@{4JE{{BDs5?)WMPx zf9e8~qS=t$z$qW-Xn^UA<StWjEvzJ~(}pYJKd#0Ym5fT9T8Mh6`&|aIZXvn0)t`B) z)UA&czo(w8sJFWiI&`fra5S+v&$ZYC)m@Jv+_N?ACE1P+C!Aiu?*e5<`Z@LF^&^;% z)%`Kcoznm852|!>qMI7{kisH0Ld_jf+eOTxvcE=bS;WQ4vz<{Ef{L=MK6!_y>Y#*( z(6tW337WHm=`}7w9Ani+!I-|%kFg7SY|!nRYeX`~XWV9)|8&M%uaG~d*E(7n>+27_ ztCV+8xZ5A{vMrrZ`B2G0VMOi#)`(L)?^|2o?(3oDGNc5Kf2O}jxH7(6>U-aZChJ&B z-z6Jog%MdkmFA>be;0_~S>z)pV-XiQH|I%ZO5vM$zLD|(LsCmzon~?;)t;j1FHi2g zXZuJtUd?&*O&w~}n`o!!PEu3{-DZVn@zlYaIk}Xog%9Z(Qs3#plSs<Yy5KP6T-mLH zgT=dweqs2O8VO4$n01_c&D~y%esma@*nWPZWyp?=zK?l1#z+dZ&QHYds3s?{zCEoQ z;>vM0yhJF}j+K@kTp@g4H#w0ztkUQ4%IzlhYT83#AH5ts6PmHWJG58Sy?mN+*#f$= zs}cBBY+LDGDrM0?VNhu$DB~WAfmMn)HsJW%31Ln1KuY`S6x-6>3f>ZZECCJIee@;P zC^y#k+j~8(A5ZW{<msYrweLNr3%7k^e2GF^&)I2P^20BSO+}QC*_@Z5yUtA*Y1U9z z3>QQxj;K>sQbf&1^2^N9)UU?ZygB&Irn`KzZmPcP#%#yo+rKT&eQ~}qYWCZCd%9l| ze3!cXvWWW_^0oPvGF*{(FSN(c;^HpmbNcf4A(eH)rTaE-4mdv=%21sn^}YFWHktS~ zgsduzy4buU3sc<(F6_+a%-b22AH5;rj(+&LCAJg(H%jKc-2+K?_nW^W476|iP_2@@ z=_iKvsT28&bIBZ}bYxpeZK3-GBpuB^sn0yW`&}2-sCZ9>>y4LvI%_g~_`nHZ#WNoH zPam$VG%)tEgV2OtX_Me8+Z>z1PHOwA`zt4BURr1xjUY)JwkE3@_1>PGSZd1xm2s%e zOYV#H0(*U>;|&4UwRlee<C09^S(3>5mYOCBTD|Rji&d~cL$>MjNfyySwioSjE_%Fa zquU{6=j4S*J3B?I-di5!qHN3<F@7@o#YiFVgrt0424DmTr;C(#>V_Kb43}BaNBnm+ z+E|YTSHh_F?nJ&uu8Z*qW^HY!)dac_n7O~w-{@xmTBwkB!5jQu4*q7;`-V_()wd=s z>0B&8OptT-n?GB_JI>JWNm<HSt+eVTMSpFE-f7ezral=Zf78fLIXq1|zhuKD7O#Xp zg1H`TxM>9Y#2uL<Bqc#)#$Wx<g`AJ1+G=sUW;@mR&2_u{$I+Od2F$5E)QWng-LLp3 z?sRa1uCc&xWDVK5a-m`GsHM(hukKQA^S*xByt9Aw*~pjbT`Tn`d3N+)dGPgNTw&xx z&7e~y&6Y<Sn=pLHOFjU8-(XC|Z5N+ZS?O~`mZyKor+tIHB+-`mr0SuraT)GcGHJ+` zq9y0#R@Cl)L93Z6f)D2M!FdKawF1`*0hv?0io*w#G&n+Amq}R`Ay9#<y#%&RCH*xP z6+OssmLWHfo!js&gGNYoOpagK_TpX2ox7sCG$~=HO?_l;fJ#R`?-$T&5fw+^c`tL! zQm!ZZmY8}oJi0QMkXIZl>3R9J4odjMn>SPc=lazgVQTyy^!XO+4=%HBN6*|dffTeZ ze)FOoN;AiYS}U*TzB{#cY0;a@WgqznUSmU@uqmW1w6D_XC}l`2tQ*IRU6jwZ?uoj* znzOOMaiBf0lFqX=AxISEiSr-oU&~!usGnX;t+?cUB1tqf*wMQ|sJc`vXv2Xv&ThD5 z=!<Bu)MogP9hDMx#PKeAHt=Yx{z?S)%l!6ZI-!lMy_dufCLbMNk-hZS?kXF*2|vZI z&@Pt(cIAC6slH3kpZiQ^+gT236|2#ZKIq7+rpbRS$PHPcW8Grs)iiJd+n%;>!|8+f zG6u{!T_oidBL0a5VNKWvPfzE>03MfJ_B;ScVgjIzbM7#)cFbq+Agcu7<kV_;HB)`c z2-o>oXf%X9?&RzR4reK!4<YHUx-4+Rj7E_uH=++(QlOI#Upwv*YNK}4PXt#hv9Oc4 zbU3uKX0`O2RA$xdvK&_#5ZFGlyxjpuK<pAD{G)m0l5=4WopDQTjmvIBCuQ%702^S= zu7*)mr#CaR6qQaTN#EAm>6{;r7N1{EA<mW`r2DmnH46RJ91~yRb0PZ_*$xmh2EMo> z3fO9bP;)Hj6?y3=o(b>wQ5D{`&;Jxs+Ph`(G>0Dp?z{m09ZrCheNhtCx>|S*#})y8 zhB3HPb<l(l8u3y0B5*>QmmUR9&J1t@l`7enwnAD#-b$70>zuo~jjc;LYSesHNz~&^ zAkPKf$V*w0I9jH^8Ad-d?AgLjPV`M;nTm|9c?Df5hLz9tc6F_i4NkSmTZK61Gqr>K zlt)RL4f_wjvZcJ<y?L;qbN$+|miBh#68-1x(B1iUr^u7d^a*p_k#}k7BJYC1^ZLj7 z%e;8E{*DiQQ&jGWoNVSy>|Q(B7{-l!C@p_TUka(*a}0!IqtUxYGpk%bN`(93A=$wg z%gLxt)`<$rskk+~eXp#Npnp@2;@Ho?|0+VtaFoQq8KoA>4*oy7-UXiNxBnmSOi4~f zay})5ba0$QAxa2Ia;lI@PR(g%lajL`r*fD=Ifalj(*biROAd3~a+ooPWy3Is|FzHO z`~BYc=e~dcM~^%_H1BP%_jSEq&(pP@y$VA`^1prDy$^5HuoS%db?nz&qpWn(Q`oST zQn+xkKVj?XJm=B!*W#i(?D0#1tvsB3rt3Gopp87zqRp>-3I1)X4o*o-VP9YVY2?zZ z*sm99gu(OZGS0#H8ehBO360|+)E^9;qQ+8G$oyoSZuzl$*C$~1UMf{iOqB-k2^_2G z$M9Cc-RwVeL%LfwHshTY;iM(^^W$QC-Q{u;7_-LEQ`Aaayyo`zd9uBIb2+kk1gBfD z1Szcx+=|A>->P(CZt!{8N8$+-AsNl}*A0x_M)&77CovjZ^Ckn$Ja>H|@rvjA)v8-k zUq!Ajk>NK=-%+q=Z%ROgJ0(R8`M2x+GdmFTxEZL}c4Lkn&tX|`U}$D!!NGCgGLD(7 zR(k#kEZt(a1H|hb8Y?p32@w-w2^a6lSvK||jOU72mc2y>OVIuT(iQ$1G|s0VccLdN zpYj){OxpjxRW8!phw5mw=F&}T4Ob_tZ8sA3dFM~0EvvjZk@#mq!E0eHc%?+4MlQ$x znltv%pGY5`{rBGa1&&vVxi&wIpSjr<h+Hvc+;=+n_0ESumR2$35vRs);4Lch7UQ@0 zZVt!qxx8MTRqpKXWUwo$zp;E3GgCQd<Yc~7d$}F;K#a_8BNn4hR2^_Mn!06M*G<W? z(bh!kZf)9467+sv`@oD7KiXS7^1VQ8R4TYF<LChiG*;ttesJ-&N93ukaaq9qUSTP- zJs~^4ioLpkK(IJ@>-l9T1;SCj8ikVvvO$wq0V31UDSZ)iS9RO2u}<RVe8^^o?)@+4 z3A@hpTnL(&CA*a!^Vy=p|EMTtt7yBASIqlFD+-h+{+`wnyB%WM233^2+o)q7w6eh0 zMrTI?Sb>k}TiUSQsjJst-4qTB6lL^Gnm6BOxaob+iJz0xAp=E27@CE3zx6nw0JHwa zF&I}J`Q0fUXgv`_*fD>c)FfH~kd>s=#j1OkO#HRZz(ooX4w`d~U6uI$$o~G>>5k*L zN&mJg(RjB7sP5Mdn1DkX!h9*He}0rPNa41cUt01ByY#rQaQnN1^*VzHPYE%1@d~T` zO<6Gtk42GXvwgm7sGVuKz*E+-MDG6qSt?(;oH74HmKq}cm+N!=S)k4%KX~X;V^1A< zWdgSR^ZpX#6E98{j57;}7~fA>eeks#1lWZl=m&vq*SYGq6g&_7!=>QwovYEHBY{(6 z;HSU_0p8-{CCKA*h=}>LH7@P#d;Fqh&3@MWkm}6(GZ}yd2sIC4-23^4l)uwA>Urdy zhv&1zYShM6RfQK)P377)C^g8nEBr^L5?Yjh%{}B--{8SHOG3Ig;s)y`B9kgFESIA; zzH}l)@6tC$7I8N}+BD<YLwIg0)h>sJXP<j!6!u{)699WnEnJPj#gmwBSNv#V$y=1T zV7$k^^q}}}MG@IQZo<L2nsSO(j(wLECcX^Od$IB-@7?lx$NKptNX`=jT9BB4#Vm`c zH_@iqoOMnTmY*#AV3at`66SxfE&2H9wm^}~8Ruz{WWK1`^<G@v`G&H|6B_hJg<pLq z8K(Q@j1+XS6X__m<!ipWtUgqDvNT`4L4$CO7UQ(#@Xeh@bEg(CH?GH##jLj%6FnMv zWF(<}>8gaEy)#QFH95{pka+UI^OS6!xN5i2I$G2`)G=gkYtH%Mt$Kz8P<pEFZeixx zQI{F5^fFAgw$75@<q(v2&#@X8Bkya{guKd}`$GDSrNLBM#sIo%Yu<ebp<_D<i&QIX zasL$|wxg8gJG?%(6CB~N+R-f+pPj2VwsdDq?P?2Mo?t9c4nf;2-OpRIk3-w|s0OY4 zI1EC4HJAn+G_`gP37p#%@}=PUL~K_1c3scB=HDb>1_tr+@neFcgAMiIxJFsPB8XuC z6VeDYrCu^1RT0G_z_sXqsxu2NV5S88KM1w)B1EjA0^wRp&H}@+N?`<?$g4@O5Eo$y zTIv03GJ%<eP2OYYhcRrTSy|ck4ojM{*cBpR{!jReCIu$>vc|_wp<4Uw4BDJFH@qq@ z(0RmBx}?$hv_+L3!A1M^wT(A~$1B0Q6R>Lsu;&+wy+Ue{Ah=dXH_8JaL14&l%@U<P z%{fNod1XE^TW!K@cjJ0PIZsAUGGlfL%tcB4xjgfOIsZFo!hTetwBcOL6`qTds1W9+ zLa&<H#_9%k9O$38fnMO>;!Ka@oS&6v9UI~*v4!u`8%_HGh(q?pC^EodS%ISXpMEJ+ zg>7WZw7N2;2VYMKZ@_1%Y%$STI)$#gn6#Fe<^YBFs!g}7&<SkK-Hs7Qv?<94%Vq<Q z7_!Gc5K5v@k$)bpUVa&v6~!zKGHruV%cFxmj4_pq<dQaeHgdD!^vmkX7ZRcj%6b3X zkvc{_77k3wYZMT@ah3^aRK<qGxR(xPz|e5g*y*o2_Umd_JRtF=`{M{lFAUqIkWCj> z1Qm9a>nH;&xEO!c+lQSY*_N=Z!1-C5N^&p72#xcEhtc#0n%*iBp7zbeX)T4<tKXN= zQ7RpZoXNLA+hAjZ99uKS@6B}#2O=GgENv#e*KPP)FNsEh+*1u1zPR3*-oH?Sr9aYB zmIRt3!ycUM0sbkqk+>8L+-TtEPtv<VvSua)L`hi&K$;>NtDMKB4P3Lt&I{ZY^QjG@ zo!!E5PI&;%t}XYPBhyMo;^ev^_-bq&MR#k)tKt+tPw`lD^9b!*#c#24nfFtY1})07 z?jaq>S?ikniQtgRW?v<yMoCpyZ5k6dB1lFUjmAa|<vRwtZ?*UukS_E1V;vYj?p+Qm z9Xxv7>q5|?7v@#{nFYX(mUFp6lEw(`UbZQwu}0U$M5ZOv4I%Cq(AX2J{uAp6F6|@) zk-E8-#;JS1=Ot;VXkwaGh9wALANR<fPOwBc0~^<6wvpEo7NNf_IGYDJYsRw2xOf&P zkh6XeBGC0e=nAZN&MjW0&xMUs7)Qs!QNVa@`twx6XFk3)*^s%f^VF6VZ;Gves~2~q zu9%3%<d6OF)<~UdUfiUq(n1S;&0b~54k2Yc#`L4)_<oL_JQ+z=$Y`U31IzfFG!-=V zWb7@w=GEqsM}Z|C)^*B7UoJRCOs+UDhY+2K-zrzO`J&XM`w47Ibr^UD=NwwV>pr>I zd^%7xeqGKD>9yro1FQ+xvL>JTE1M7p`skb=@jGuh(~gLdhG&JWEM&V1Nl~=R{GE^w zZqw)I{#K%s6wqoQbgPNRmwJL@6?55eaFzi87mzjw5f`y~V93MBuogP*D~z$!2y!_f zQ3nKQ5Sf^vvp!s5<5OVGlNNfUrHUf|?zsrD?UQzeLT{zEA(w17Y0T&GJDPSP7~eAe z^le%_Ul*6Ud=ssWZOCP&UyU%b8s;1Jp8c)LZh@Z4o`nYTwk+Np?RCxq60%l@27~<M z(iSmrWbdSB$iD1X$#Kw<kkwggCHwKYY@sZDp`{7n$flZdUJi_F&R{s-G&k4@JY6Jl zQWSqVRB;i18fCpmZq>lji#=;);YkJ%WSpemXgHSw-Xu2=`Ey+ML-UTAHZ!L_d-6Ng z9!=PpEwe+BYev_vZ?xuzWS~P<B3@wWwFi_M=ikq#2d!jfyY`O7m8P)29U7WR8M)B& zXa|^MqX8i5kvk7<^FT>)P?|fY!{+Ow3k2}C3SPgX=1!gbF$ois_~;)E+al}Chb`0Q zbmgSc5rK#poJiTbxc9xzNf&{lTXtn>`1sCNx3ziRe!rV&Y9n*^?3Yd)37nI*pIln9 zA^LiaFG04EE0E>D=O(%MvKJ<)ZbBjhNHK*GO*>4AT2!l0%0!h!4i$Jv`E$5BGRDbC z49BH4-3Kf;N2W+38YtOAP)dU-YU0$T#;9?C<WpY!QQwdzJXm=`T9L-&tMfGx7<^@X z{c}s`e)E3B-W!qR4i4S5yQ@BACtrv3{^#IzaxG2Ayb5OQ^s$asB)G8xv-6{@v`qsD zt?{ywgsSK=t{DxG9Vi|Fng}1j!Cirl%nsJ~AQElMT0E>zIvRqpKKr0vVMGe;WV;=R z9PG(|4}1wNyCsq4)A82@o8O?gMaW;<lzWsLR#Ee<ZzI_o0zn|~MwC+!b_$-kGS*Fu zR~HUdnSg!J@H&c=ylQQ;(H3U^El`v%lM9lyzx9?fq4+5enR@w5fq;T!b=&ad+ADU& zrKPxgHeuDT=27j(k}~2Xt&5YQd=M?LDxNzT+S^0tCp6OTGrT^emj#%?g1y*8krNy0 z)f+uj{8p{!1S||oNuLi&JV!XnE5?Vn1D<l#^Y|YF_1LPA?N)qz_5*a2dd5789sdXt zUm%8`8PVM))jk{svUudFWBA}vfhFO>14Syje-!X`2J~9xdpUI$wMz16qg~Cve+gAG zH5R-0%(coqkH#}6tKp&@gu{P;qu_eCHpN)by`JjWv}$?|w3L&o>1I0v8fhPN(;#TA z6;FM&rOkoP3&Pn<S>2uDdOo@ju+aUizXj?P(}>ELCkypUY@%=pIG<G$eu<2K(RmZl zNv$%(yjb?1s-}@Z(d?bhIcj%zMm%|EHzz7neLBy}O*du&8chGrQAu`3msP2xh#G0O zR2}6Th$CF@DFXb7d})*bUTia1z6w8`d38#^)S51AZz(F^;%jwrb-#<|s~+U2k^3;7 zSc}t3wL0{Pks+Z&Iz^lFG1v#h=X2Qy#X_}JGg=tIAoVbS=rtXEA1I}Ft=G*fwh)4I zD}y8C<k4m7w5fTW*b(H{LgLcjtL|q;AjWf}arl580K%<-gqcx#^#lmEg0qVR$}+5B zsnJtU3=_D0V`OP_`ryR+N`USlz{`~tO*zH%Zahe70yqQg8)3s!n~O4dxACeIuFkDK zo9p}22tUsc_$%0z1h?%UQf`t`YNbpE72lJ(YQSC^cL|I3^<V9xMd}eDlkmxt$7-@L z2;jdnE7Wb`$k2cX!KJiO!-jW4UUpdsOdwq^tmI-4kM5t3e85E6K0hM)CyVOP+aJA^ zYo>lKBQh43vcK#b$}3Q$1+THuQdz-NJ6T~4S!whU<C~kBG=56i*i_%EK{(3VWbFb@ zx?1?P4x3;8mHxtv>1Wt%m?D!JHvwx5o&18uqq9U+KCY(6sPRIWzlNdpc0ec=^$x?w zBexhs>C^WU72^X%=SsvJ=}%TQM1v;Yo&FieIX;pfQ(7y-5#pX-hbt5s)QThb%HzHT zJ`Nb8|3019-{3gG+(42xqRV!G#P|+z;;}*`QvszA8Lu@tY9ia1m0Olesi(iXJmwew z96N?vx*Wxx){hT=JPhleu%Cnl2am4SqLmsq-}^8gj)n&yX<a+nP4vYW$&ukzwIH1I z<nhGJ#8}>A24|i|^IZR;cm4A|dHLzcgV1gbH|#;T=}ZkW3~gRcM3gN)Dvl{yJbATt zrxtncQb2!cR#Aa_S(ONBJw8{zZ-RDWU8hYVr|-uW8}#V3`n(<S7z{)GV=EXFAlA$f z8XvQQ9hs)g)o=Zdi`{K}uh_TM@3`H4NC>^*J7X-d2cs9{^OzcXHpl#}(!xINjpO`s zYj)S41vTu<Kev<4o*zK)4yk=?I<UbmStqOc*x|RqO=OfNY&-QkeDLbMYK-j0ZSnge zdvBeJfKG}AueUiDhI}gTRq@^#t#ysJKew3p@O74qmWxhx?3s$Dz6(`Bi*pDWTzTzb zkLXhy>ET%w`*-bplnUd%#4hpImnKDAmSqhyiLArWR_lN^AaHvV$$xS%Q!ta7DHt26 z&aav7m_oknx{*MBknouVYp8_OECwv5k_mDnT(*|gV&0?F;DRn_p5}|=mkjc3Z|FU~ z*gb9t^Wr#Md=wi)Tkyb=_UjmUjJ&NZD)?mIdXijFP-rW!(0rp`wd!i0j3isri^u7W zpRoZv7Pl<=-@Jd1JDRw+BdT3JQpZ?XKcV&A)JC$zE%iIbcN)Wte8&f)dLH%Fvhy6; zN<7e{70VTE?LL=b7%B0Kf8}S=<XzpzQj!9F=c_e413yV^od4A+^zgGqe7K%sdh?}U z7o>Q3EVA1$-v;URY9x)$P|c^GF7~aMjcv~kL2u+Oa?NNBstJ)pn6pF_EjZI)!!u3i z1x>P(_u0Y183CKVf?fe?L4!HLq{a6QO<0gWcAjmfOkGq`T|dXl+WSUyDLw(ziu+lL z`-yj4xtv^8PA^}aREe^c_X~R4Zqk0rUP@Z4^PXC_#2Kh>Qz%5+<~YyKf`<3g2sF{P z`;{_&W;P~B=ZpWoTTd&=KLw+rTh|lKVB-~4^=9!`uEHWU`=nM)MHjgD#~$q|)7g}n zP=}~$|6XVJOVD+TS~lw29rpYCL~BJ2^wL%I?c27pBi4G=f`}(r0^g&14=$B;Lchx` zh^T2p4{eb9`UHdQU5a0}TJtWs$DY%Id7d8poO9fs<LnFZj9vW4#3zJD)a~n+2Kjc2 z6hN@g4rU5Czk}g<QeLTAZAg7YHmgl(Ov$YxjFvT~*Go3e&8WSaw8$Uq{_-kch3YT! zO!NAg05S#Y(70_(;bk12Uq>xPVo-2>iz{`bYSoL7)A%Vb%*82H)QgI;TU8dQ$rJd( zmlr-ez4p%Px;fCHBHFZe+8HW8{8d}`jt)(RR6Z8UGp^`Y*5#2l{@LftE$__l_%)@@ zKg<1PFAZDDj~JO-$e0x6HQyCg58QnA-QpFwr>y*)AvT3cgFC-H%76MebCi(+F+#iz z5iA_>;XIY3g5Bs^yZAr50BnVJwIp&i6D{^J&r`Qg!>_>>osolEAi?0DX`^@y`95*P zjW#Oz6K;-X+-atJ$>H{z4iTWR#YQ3wJOYO#o6&^#J{IqQ8bl5oicGxFaeTyhr>@4q zX~2}ca4t;NfM0sg>e+~o&-B86U%DYOmA2Age1W6<K>6M%Z=;YSJ8cZ_)9eb3^J+P` z7?UnUCwHT_k@RU4o5VBcyTp6*F~J6m_0g{{_CDDYG5W$l|Fwh$Je?N!?fn>KC88N( zc>q4K5$$3WVq5DQ$Ijg+vhQ^<C(#(5qbRPBNE3Gbl!VbvA-6FYl=Xc?tOiwk{r4;v zj<Bf|bFSOIaqbjO;_=xh(~*7W4OCh<C4GHNv1U#w=jUg*LOY?$R()bFG8+<|dwkf$ zgT7DHfqSp#qTG2<W9w$Tg7dYzW$t~t(tOgAlBzsWo&l($6}!B{2g38d1^C!cl54}G zDVLKHOs@NxHjtpld)Gv}<6DoJ`-<d<{%MdcL#8ZupDG@+e_kHxJGFM&vN6E0U?MO9 zlVNuxkl*U}W{sc79i@wQ_Z&kv&;7dY96aJ7(!&Q+!Y3xY^BfH!T_u*zagvSf#0@nz z_`~EnC!}!_Xo+MW&I*U8N?NGUdTc;~#J&-6Uqf`RQu(WWe$RDKlY$6Z%aBl$60S$I z{pnN9whMPWzf=i9A#L)*f)girCJ=tqFMA4t5n^A~RHp;`B&OLvMXA`_9XZnAAv4ea z>iCd3x@p^VTg)$TYmuYsJx1mYGFm6#&zhk*?7PQqjYWk$qLbameq2A(HVwbS`y<db z#qQNXm=HQa;TV6`qS`aD$<E+rRSK802#|;rzNf5(xCp9LbI&TkP;fr}q&M9zJWrY1 z&qJJ#ymm|CeDQzHIxL~I9ZKz6AkZK`L8DG1@1BPfL|`Dkzd*D^2Lur5yJc|}7F&wA z5@r^Bs!q-oE>3GKW@c%1(!=?&Tit9gA!4U~zf<3LLRx%PFXB3EYt{*^eNDoOXZ=x) zk)jK`W%T5^1o3cbtO>&4j@#7Hu06Y*%RCzU7}ort`wqJs7i2J;=FZmU9l^v1EVXjT zAF$twd(Hi>)5a^=T{naj+D=4^o|8nTM^*?>x8)vw&tK!Yy(W^wyni(H%7!buNV~ZH zr%M<a*Y7WrF#@GJN3VQ(G&b#+Mh<^$k9qXG-h1J#afglA&QaU&WqjgBeZtA1D`+8( z-Pg^M1@XIk*sjF+w$2De?rYl<qes%v8xyB&d|ipC_X=@HeyaLhdeH-hTGi{5=TFny zM~HZ{N%DGVo|k2`?|k>1`^A0L7H2wVISgLk`x34}5lZYCB%erJO&IXfZD^s=1Dd=1 zcNt$mwNI)f<@D)Z9%d9*`6+G;h8PQp$NAg5kf-n#Zgh3xP2TTy?%A~=Gkqv8DZJnt zvVSHw^0T2TijYb^WpwLW`04w46q;K0j?5Ek0>)fYYLDbNRU1h?g<IN^<B_Y_HQBk~ zR<FB5vTYA-)vNHTN0*6n?oA=@@_VlN)a86mnC{kg$Oe%b<bW2ULnOnxich%gj)}ZE zru^~qY%TK0mz%q$7xXs{#d<Ao9SiDi(cZJg@ls$RX1`2TT#4kyUfZW(6_S?1iS*hd zQq~$2zMi?zWHx7R^0#1L>MVR^8(%gO`$h?2_)@Ck#A~~c-23e;?;tlyIfg9Gyq|da zB(Jex@29uT8)@6e(H~Ni@mIC(%^#mU1m&*|`&@hJsOI+8%(`33*`|-?q`E|sME>WL zyZa`;J>Yo!@F{b5cGbVysWG(!+KVAOB#<4(7^C@+01n?`h}yoOkWQ#_s2PlK0p@vQ z@%l@$ncPVEuNGUh*Lz4nU{t)oEcZq3*^4|^UQ&+j==wkTWZn@$lo&oTvERaH7x9I` z1;^S+^);9{^VQ@#?I|wI^U34bmZhx)u1&>A^NwRzqW15NWIybSvkURt^>8nb?8B|S zM{f`23i`#?pQRkZ>M`FaiszlA_<y0!?-S~dp$d8QkDXtCkRK(XZvHY~`HiDJ{+NQU ze)FL`bHOcck|FG;xx`T)2ZuuUVE<>#;U8Ol!!;I0mzy+J)Py;RD|p#B6<2#UR8-K# zsd8PxxEF^nYal|MZ;$Y<gzev3>*(&JHzw#et5AQ8<ES|4MD?e_Y+1tqxMO*7K=MJ- zH>yR*DS_d^Qtc)9<cU3F(6NU;Q7ZYrgC7Wd(x&XjGWt_5Ys4W1j-pR(4RSZm6xS*_ zXYRkDlzgS;+tkNydghq@Q=%Z;W+YC)c{Jy+*`9&gBf@O>yUTZlck;{cZoOP+8C8ze zSezR)PVlEhe^#459ZZBM)${H~sR~JXB+m5nV<?uT&QmVyhr1OST4IbV`SknKKcH^U z)+Cvq*=~nOg=`O_+U&z=@h9Saj!D1vh@DeWHaN4`I>UAuo-5qum%&sXZZ9?0B!sku z1rC2z7v1jqwD2!<nde3euB?O**R0XZt7AGxr|QNq<ZoBe@F==xJCuHZ2_c7TvaHUS zs?%_7kif-h?>-FkBv41?adYsCXsrdni_L=g+V>kgmMmg)mbksFPhGimKf>w3Hs zBJshU$5(#hd)mVe8;O4`-+@eNROhg}_z3<DZU1^1-)zw%?>(uZ;E0?Ajx!WItNxn| zQk}%l656QLPv$Ljz|}E=A<UC~`K=r-YgLP?0Q0ON!nmgD@JRAanCBQZla_f{oLeNe zj{qi^bd#^m>Wh;uZ|=X<+jn|(UCGwcHRJ75?q77DaKu=7${x%2&Kcp`(VMdWDuPRG z2Q-_B&X`)a2_=}&?0d^-qtZX+a1G+P=4d)0jchlJ@_)&~(|Z%hi`|q{xUGeNMH!qH z^{=;Y_w@Me&qU4FwC9KS|4i%2@2MHeKRBzM@JRc#rYY&@>FeZD9dD}K_C-S(mkQ*+ zb|Cwb1Pj^=d7eo?;5<lmc5m3^aoT&vq;ca$%&X{;MYzs9X<ZHu^GvH~DkH&S+UkjQ zMrb>RRzL!oz|3NVLcAU<l@r(bt141ynXDnSg)6th_cb_er<Uj>ly3D$=vo{4?G-5e z*MQ=l5XX(L1cPydNg*qRE*h~=6ex8{ebWx9&i0L+13lp-c^lL@9YUQ6hj>xnLUbP_ zl9?i;y5_C!EE24e3x=`fsxVC^vnn_nFpMK4KcK6L?Yz@eBHFy5r&?w5{V#b5<DRfW zd(prhv_-42oyIM!YS*NZnToW{J6r&{sZGI*$~vG<J>+lZXrYuDeRQtGW+xQdxvEF1 zd)Q3Zo2o0%*Lwr-9g=+ie{S`^y%pB8Bz%ztvlI<hOc?^V)d3a{c$%?2O(wKa#h(ap zZSZeR$|RUr7hP!~z%!A2`3UH6|9X9Yf7kAvLJrqs$lw~%>k;i8(7B5dxe&G0J!hus zV9n5C2&0Zz#|2ZG7`=!Vf=gUS|Jxh<>jG!jrs@JH{$8-fl=`vDXaHqdkK8ks0In+5 zO&h)WhRX$pIz&+h52ye)_y;qKO%hZ?3p^!)8bFYo7?r`*fHkJzE{8k#Z@Yt4V!_ii zVPsh)M2!k3@czM&t7)VDMEd8c|Jx%M(eQ)I5)!x{`zcbOYs-@~NE-if4T)s(a}(CX zFfYmctoGhT8-+L1^;225^nY(`8l+}~+F0@a%8S-_&|m*~1(&D1Cz4J&;sDlGf)Rv2 zLKs!lx+F-z!Dam{hIT%LDgs+naD{udL&4!iHyGyK!h>c|$-g!!fwf8h^Ul3h#vvBq zgfyBkdfBd>ZpK72Dj+p{GY(1Q0WK~H7$Jwp$5R$JW<kb~)-T2Y)jg3c+5O-3ks#`^ zYVG}sK-+xd1@ny7sp*8K>4|;)iw-!jdYRr7jM@5>v~J_WLSs6oNOk3GU-gp6x^bM= zcU5K|JsQ4tLF2RqLhWoM-`l;pZAJyJS{@%u%Pc;*4_j&WZ(EjCl<>C@27wWLrh~rf z*#)iCV<_NE_h@s&j-0|V_0d$FQAL=eS1Ng?)|0hjA|L`jV3(DB5V=Kz1U*XC^qzmV zv5DO&ToDQ=P~po}=g~|+JACjYgp`OjZyG8(RfYQf$MQTIJEZ|}0wwJSw{QXODaGoO z>c;wLe1HwQVZSD6Jt2WC657Qo_DPuM)Z)%bT4RSKPUyDF)9c_I#eb~UgmDR+!=5oo zTm~i!O#J#1F#DH3v$O;l*lHk229VNp0Ug~AO;g{I$2m-FJ~he=0QmfQ0MO(8xlVUN z|7!=Gt(~f405k#a&`(y|JhZ%5^zUBIxB+es*nyz8aEZW>MP8)38g<>tR~1c8Q*{kc ze<!pWyaRezxEO-nl?%y-{99lCt3yB62OUpaP54a>#B1?2>!og|lAZQ%2xb?Kz^&2Q zCk$wtpI;X{m<%nNfF2_75uz&s*5)vER2pZP2`FVi{$sT+=;2+(kO0FhtN%wi-k!#d z?*lEckqWwNgH;XV1*<C7=ome&Tj=b?bcou)WzdPrW}s^iJL$VmgUdFMG&DbgN2rTE zqXpkHeij{@UHatERqOFa(xdx5_fnEA-n5xTTkafJ86uY>kBfY`$6IObuY+m0_5<B~ ziF8cK@?hb)zL|rGI?c?j0=XxPVV?wPTeeUKB2L*c2N1o2go5)cldrC4V?Q%|bdpDI z?K>l(?)c92SclIcvT_<R|5^s=mT0on>5~pDVZ!y)PohazrXqIM1g4{O>SniEZo##< zbndtBN!|VUvMw!n;vv*E3u4@1%eOrbAGOV&wJy+2D=mBY;m0Mm;6-wWioB|vktr@C z|Iqa5#L1)I9g5Dnb*HV0UeNhkE<BmvQaEbMVGXnaPx^zEu>$c~u2NNp(yrPYlrMNm zj%7YM{U@kC=P#M>ex<G{Z^uo>2@5RNn0YH&NxpoibX{%Nj;@?<(Wd9^MPWI&8<*aH z%IH;*oH)A-BX_LFT)k;5l50MB8<8dE+CskW-zSR<um84_i@HCnqf;4Jp8lRmPW~f} zJsa4Tt|Z%LW%gxHp_q>MKfB4dzgNj<E(=2dOadcNX~H7K&7?Y$OuMP|jmyXQwLVV4 zCaV#T7Qb3Q!hJbM+3w|{ERaKr$zCBgZb}4epb2U7;uqBu3hDeMzp$Fr^+hm9`Flo@ ztKmfjkGSPL7-M4Cu*kg8kFN2WZ<&-PS!(~B`Hm&EdDEyVkP%VuPp%urkZarRoWAni zTOD|g-xv)k9&CABSM4WMU2LKzIybkb-^8TV1korlngJwCXS&5byCac5vfv~ASrJ}+ zLJr|JV%s+a%5*LJt48{sy>s8VhR(mHd_$SIW2FtJXUN-?JC+LKcW$Kx%%Suxbrl=p z3-ilDti5!%>>TRX4HWIG-zR<K#3LSgASyL|CtfBW!?yT1A~sFN2JoMDW?)qh)-@A< z`Nv3DzQ+xak#BXjS9RqT-K#ql?F;<H)MY%PSA$F9p|fp#RgV@<Ubz3VsgW!G$Mrc? zPn(Dp;ZW$rsO15Nv^56do169Q%SUq0%UX}tPPci$`&Sy2ry9$2w@r3-OsXsxeC+e6 zE=FHIamS{_zGle(;;yL>i-#|g#kTg4jWn)f-IT|ASNd`$UP46#UW6Is7p7`s`y!ln ziYX`TTz%R$EBYzkOqrEG>$0<A%7lguH$%VN^y8Voo$neo4p&k0g5EO6x7@_~Uq;_< zuE_f5V%TedF7uj~#x*gtsba82-kD@_GFdx;Jfq%C3l3@Sq^DHvwL|O6J7Lyu7))A> z4Y0*Kar?~kriB!4m^R4lX-M)F70F30BZ%jSU_<92dCbq-&gA~}Vy?ah+)gUhYYcYF z^oYs)GQwc|X1^z&28R!FdO`%x@DtPU-zaLo61>yalvd>Xu*$iwQUYfYZVOE<8faRO zBzld)Wv~#$cy;96%>109a;rW_PP#HNSaM?ROK*Jrk<zPUnGH0(G1&4=3b`i+hmglf zJTDtVD*1)bHWlSKrWA+wx~jhkL7L&^kf`d5=j$~lgg6fC1h1DR^N_T2u(P4LWWzPb z+STjB?9FyHZ(FMs55rKJA3PrS6JgRZT;7?JZly5>MuJ4dwq1%+Ay8qiH@>m#jHtgP z=<WGQ2IaG~;XHP7=jgh<bwhu(?rs-_r!!c|!>0rFM(*Cd49A+TFQTd^X->(#X6Q+x z0^ZXSx4eScS<!vMS)kuXoaG3xkKtY}m!PQ}2=0Jp?nOL&XjoDY+ey)(x{Z~IU48AX ztv;~0m4Cxv^gMR8H76FU+}vLNImHgwXYQ=O{`21iKQML=pM@PE;+tu~&AAW;yKg5w zQ~_t9vL%UQWX(w9YCef9RD<zK*b4@2V-kd@Sumv`4diTQ(c@OlV_C0c?y0)pk9wpP zcss{m!ZERWM1ITioEzL=x{zKY)1;d7ou^Po+pF}^kl&4_9hwu*(6N5bYKytncgG%e zb?ZO+^6Qa?W9>FFavK?|#MXWA^^sY`>Mw`&CS4e^cB`Vka3`b-rT@}jh#30jGG&o7 z!@mpnooHyFHKmkCEn)NOdl`MAFym*zjVmF9#<|FLk3I{hPG~X$+O@k-*TB(PVh=LB zb#IsaoOPrUm*r3WmP;;Dezmq}DZ{POE!h>fxxB^PiF1D1?~5YW9{x(LMY(x}BvEsY zV8o8i13|EP<VaS^MtpR(lErYOe?*HwM+mvD{mGo<zE9s!O|p4M%EfnEYN$)v8p_mG z@6{9Z*5>Xp&LuolY0Z0JP5fj+nH;Y)=UvG<i%7L+_I-NItAb>X+dWi}h3R<pT-9LP z_&zZ3P2OwZ(y>CE7;lz5;%(9W;`$fu!DD4Y)e8&0A~#{E7eWb(K#5E$@UfQ~K5W@o zQE#EBRAzB;{EAMc<QpAM@QA~I6NUeSlkGo~0V<}Jvc!gfDUINVvcR4(Xm0;Yc389n zGko2HwEhJ^D;~h_2rh|aPQ|ll028{;czU9iCd~7R`}s|t*FfiXXk0Z8dpL*jzvASv zt^F%gUtS-jPe>18d&_Y!{`^ovR^(t6Qtaz7p7ue;NNKG4fz^fZ&jv;FFS-VX-#4mu z(bK3q$;k_o&nGnBk-|@1Fmjl@#XV&_%Xv43iqH*;#;;4D;^)dkof%aS^Vc^|>FOWy zjdao=7b~L?6&9;WL7BNtor*C$2}Qy&{F#=CviGNo{k6s3DDv2Pnmz{*(3pw-&~>lW zUAU&S(0Z6Q>9sR=Y~3>%*64|idV3J%@fzZhnr9y|=s7rSYwyhEvnfjcJQ49b@~FxC zXSWhJB86*`$m%=&Be<y(JWZbXvOloA+gP{K(V#~{2u~nqDOir{H-_l`YM{PFdLMB* z8@!o(s|v>4ts!t$F!^-hy<z`<AW4_&olq(Q_k%Vn^HY)5SO_S^z97cb`WG)HT+==P zBX^~c7n2u&4!v?8hB`9RMYC^V{cNG0Ds8GTvn*(=V-T-zPeg1I6tq_WdZBbr21rW8 zqcM*Z_DLM$IT#0p1g=_;x^HuPuZ!Dp!s6P!g`G_oR4?4Wlxz+|`A!bPN3KX_2rfZi zu|tEo9!@&HeDc^;!LoN!lX)90bWhCHDC~T9l%{Iweh$vzBUy>9hvtO*eG8SaX0bPa zlo(AxBCi{XXmrqjjBpJvs>DBdays?1+jX*ohe`WZi56D}BS1{O<m9y_voXx4iktig z#2w&0n@@OX1I~)KsxNE%8a=Tit$)usn>bdW)>mw0d(SWXl1Pquw}KtX3O#vlFh-O^ zyMCl?a1wEOT++56R0qp;<ew$<29yRvZjuBXbIdzgJC*#tZy}j{gf<%V@ryi**D+Jb z4P1;Uh!NI5mHgxRZL}IyQ~qA>B2?j~*9~(=B+tX>qr>4pV@*4k=KV1B_hU*vw7Dha zA8U6*H?5nZTmz0o1{%oVl<i77i%;C}TTs2y6Sq~TMpZ8Wa=Hw*fcUBFCMBJukyFI; zLc~}^uQBI{xLvtgwZkDVdwlGW>&xkeGE$v|XC`#LGe{2KuZ1(U`0i6dR_m<ranD$| zx9gJ$z;VfZdyoJk^f{Y;J90%3MZd%4<K9vQTF<fdcAxPql$c<)oW;gk?1il+je1=j z8S@{u*X0%#<ewKS3i-a)DjiLuN}Uy+9sFU-PD%H#t2_#sN$&W(YisI#gYGR7Z0r5l zFLMhozxuKdh3?hw3SrHC8XGPtiw&5m^$uvwRA#WT_+RM$f4`jidsY6RH4a$-;7#R# zE%MK7Pt^e$H^rjQ41mG~@&u;pj54{dgON^VgG`J{;l{Em^1*8EX3K^UKf-F9Da&;n zHk~>{Yxa)gm(2Hh4t!tdZHmdp*?sC%`K2W-ZyI*eMP~J5b*G<!URmMD$=P-vQG+@m z_-(tP+IJ;Zlz?K0vTdX0?-@t%aj%P=2svU@rJAsAMC3TrTz9n&BDR1kGIEfN(~<r| z$}n%7T3;Q*_7!u5MD0=)V_VrXi>TdtS-<rsPPn&FG%*}9!0QUSz+ePH=@<+s&mfxD zv-P#UeHZEZ8Qmf>$9z1h37ggF{bz0e5OHjj-?$$|6w>mdTqM8W6xd@0<6h1yje5 zVCh4l+jhMld-EYi>4Et#Wd65me-qQU!0&|<JXjSA|8|}w3$PWjb~aE}V)Vo+Xq(0A zfSY?x%>%K)VWJTfQOgy$XStIBwrJ<4oO-Y$p)*HI9Bx!xvP_?Z?uVuZ<y1=i;+%~^ zbYx9wSl(>jA`vM-O6m_+glle<`iwY6-7z|Prp3!+(kx2Hsk*}PR`cD4`X}_lOt!?X z?J3yBCCd@^C$cc)?6h+t*_e~MTo;?EA^E&H3er5Th_mw-<CAMDBt0dQ2l)^WU9&#% zAp-z@vVHLJ$-+rFWs1*>ZR#vX4G9u4qHLlWEDJ-aQi~u)c^j0K3>lIpzup~{ef+L> zLVR)+iwC?c7TmmQN$ZBnFjTA1j|NmNX}i_z2~qqM<jN`+XrQ%9?a(}=TK8;>VHdu` zaT+Ya?xuyTUtRyC#V*JH(!+tB7Ow~RVgUGrzD}SfF<-KVl_JcOAD~EJx-(mWZZ@#h z&9ndoTs1&9w5<P5APcEd%S|JWOe=1jfT6YK+^1mEu`ocO^Xvj%lHc|?N#TB2VAPMS z79ck$F+rQOn0CTivi(p7lbPtmFvsf587~1B*C={LkC7h^q1FbQcj5`-S~Ov}6W0wG z`W3oN$uUG)7mJ>mwKc5J)ueoRAaMHBU|(ai`IJUCPf9|eC`B`9Yssl1U-Q?Be&o&> zio4ylLs{|*k7aRyl(T`q`DI06eS)ir<nr!BawKmABxHFaO|&WsNc%+SsEWeg|C`W% zEvxW+$WA>K#sFLHO~_x{5pfde99gvB1lDBMnW~GVEBytfoxp#lp;dY*$I3(3#&+yf zPfNo4giqnIap~!W=sE@jiykn8qx0_{>u|I0`Rs=#O8gQ@>{%0$d^aib%hx&E&p<_p z7Hp~935~=zMc|_IE}y5HtIiU99M)S+3=VM_0Q{=-s?wl|N%9)v5N2kLRPAqBDMiSV zAV$N=g|$<ej!EPK>Q`77iG0iDsWGC#ofE$$de0%JE8gkG_(|9{VAvJ4dpHC?a*J!{ z53U}MJgPQ4ERQQEYGdNhP6V+<LvV7p#F=$vr9+Z(zq9z$|4AoY?sP!|n@d@%L5n3Y zTA@Ss0x|N=)<`=YrNh#s*untzoS9mGZ4%(oYqN9aQS|VT|D~p_O)o$C7x$s;(KYZ+ ziO98^`>2H+HHOIB&GAiG1^oFA4eloN1!oL7ATl=mdJ7eWu9ue^U1;$G)XIDcZbjF* zpz-(-*vIVm@=mCAs$KAS@8P@AS!MbpYp(@bDn}UJJ;_Y-grwGgj6>tHin|>!)TsGt zrJFNR5Ug7{Q4@(;UTx>UgHIK#gZ2T2Hrhi?yW!HvAa??vOvKruE%QYRpv2|ObN)0) z&7II?>&+t%huEG$j2trOYvl^(vzwXv9;3tj-aFF&XgckBKotjX8?+f}7aauv#KOLf zk4fa|t?r0)NZIkHw9Qs#ND+;4fTwjDm**y6VxTI$IFJ=#5SS4{91SvXp@6n|<!V6j z=@-I=(H?ofbO0Yt3v1CCi)?9K=Xn_0H#2bd9&rv~)C~(;s2=#nTQ_1y6Sf%X=)E81 z-Fo5t<FR7oalUy!&d6$A=u)XLT)Y#?K5Yw4yV7!je^+wJExcTXpv54k-EdzqBcu~% zmenkS@6Sji15Xs<cOJeSZANT$B*l%aUI~Nf1lZ%$24(_I|5itgqwE>oO|p%@>Kpj& zTV{3O1nA*nh*&XGd4m@d!W<Xsxc$3tG3gtxwLh}(^d6wNpg!zxAARZ^YR5$w98mn{ zHadU?)c{H)H)tQ<uA_7HS6;9LL7<BJbLE99;&cIZGxp50z&iFurYgRwydn9OM};}l z>Xve$GA}8)%}or#l*T@Far&5ddleJDoN4jtmWU?uV%}n<TC<5ug)L>`ma*FQ<^uJv z7L6QJ6UXq3i3;jE?3>3(iAXvFFuT>b)Ib1zti?#)hux;#jU8d&YBclYdmnxmjH`Tm zJ8kFipf;|&c@508Jhb>mIUC}}SKmSt_6dNqu4;`l9>kk$RNgw?18xAxFy!nnrv6hY z1Z4OSVmF6EdVok`@?!YfWsTm7=th)o(51ZFHE#`Bf=JNnhML3TUU|g^;|gBs_oQN$ zPOxC)MLID*rSZ!4#>uUN&AK5gp$2cHa`n7#6h-&>y-aG>v+jSKG6P=@>3itZNzaSj z!x91FA=sSVE*!u0+5S=9v&Tv6cmytsHT2+i=mr*uO-Lalt*RNX|3@!|%d>P)y|tID zeG0_EUr5`mI&Y(~kPQom+Erse`+8ZXo0O!GWMxjhg>>c0@q|7Z*J8u;OUnc}&C$<Z z)J}4I*RH3#t{7arfhp^DtS|N)g%=WbXf=`Ffm-l*zjWS%-fF}XQTDsRY{Ui7x?R*U za07<gQ(UG_h@FdzS0~g!LcesPF){&LWna5-owAEmN1w?$Em`YB?SGm=9@IsGA*jSG zlgy`5&gLHRF~u)J(k7+eY4M-B6S}K(?@AviyxzSs`(Ei7#p?$QkV39{MgGfD$#<D( z=U=7xmAd;sY=>usxfdH&v!A@v2w^syKBWF`L}ZJXM5w2KG!9H8yQ}%VBoE5Jaq&r! zt<q{)c`+B?Hyaa>2dQlX0#enF@Sg%S;lu?K1^0fHu?T>@Q}*wjfd<d~6Q&(V13SL{ zFVP>}1zMqyStT&0-Y|ix%5@J=hF&2+8S1RjYMhEN)G5dIrPz6mM|N{OevBn8o__Aw z$nLD>2Pt{(HShPRbzL-2t69{NV>$@Ymd9golsAifk<TtiKW?B(lGG)We2~Tg>^F@~ zjh!<?j7EGCyExKHQk->zwrziWGA4rI?98((FW8EXv_1c4qt}Vj%GB+99TUJJ-6=M; z*Q@51&R-{K=)|ka%N6tX#P8o#U?j|!vr!=09GPRZPrdY@2PUtv%_M;(P`iE>T>;6f zez2!t!@T$i?QZBHe)igvkv^Xq#_k<3h_u0bS_4@wm9{sM(RsmCUItq2az#%twQTr7 zhQEleNte=1&XLt34!mfm<7DmqW%tv6^bj}jo_vWOc$*+A^xnr2cMQfy7AF5`CL~D6 z<1#c^l?1N>&RV@SDP&Qfzm#m%Yb1>WU7*iK{xppCn?I+mB7IR>a`l~=@sFgYoTOiL znFTc+GW8bsv%whQ*=~vFRu>|t+w#s%kiDA|iIJI?Z4;2fq|m+=^l0QYqdIZrL`faj z;nQ}BQPj!cHBrf_EQ99eCwIL5)K1wCv5A}&`N}uJca}ef^H1fKyH@Zj5kPCnm6xS+ zPp{cNE48YeGRk;^($DQ}B(0byy~`X|nU%M|zp#i`SItu#_DSAGT)S7jDa>)=J6Rv- zdut-nO%5X4=T*N$?IWMeQI|xLcR$=oI!n_^8ON%;<&{G<&HHdZaB9%};`6inlmdnW zNaVgFmt$@<2a)R{7uH>^El=h<zi|>;2(S2^S=;8Vz5UZXQ}T1U_pX)LiU_P(@0Qjp zu7m%WO6<V-ssp(&))G|%MnM`dk~sNTR#br)4EfO=NW%S+xSqFQM9I3Gd3Ktu{nFC{ z|M`gSqci`!j^JUMJ<9@U*dO#8m`dibBVL-PNp)Ai>}NcKlu;8QAPyn+Ui?Wt5c!Hc z9xd>aiq)=ug3SHYk=pYyCfI1-+WXY4mu*{}Kk~D3sQ=;UVM>6NQ4J}}hlqiz_w7n1 zKlr_yWwZdZD1Zxqs<+?z`d(9hmvdC)2iVklFC^x*yNURp)NoE6u9!?Havy$IaX-~q zTcTCdvKFseT@-=S?bs#(AxU~aWG?of=mnv~qN*UHvj?Hq39Zo+yAGaGJdHg4V^j_& zhl}EvkBe*iR-PST^LhKvpe)*N@byCtX#Y@5K>u8PNFi1^!~*1Ilg=-2p%KZEbcWM* zZhAVSSlod+HZ+3%=W~V88i9#ywX8vcd3DmOol8+aaiHdCT4n;l4cH{NYaf@e{4ZAa zHV7n}C}U~O{ka0!{o|`9kNmIHrE?48n!5j4Et)Aw<BtsR#hY|VbqBVSX_>S}>eTx5 zfM*xbae=nvyWb#5DktQ7%c%>%`7qEpt}A1PT%CNyefi&gXu#s9GCH7Z&EVI5lmIsr z_*r+JI|927NNJ$*m(dMcQvYq6vVNyV5BQ1tZ$|#A-gjDKk{&QSoj|w4TeEb>2wLN_ z|28)-O5qfOSRQbb0w7@EH}WBB9d!P<NIEi^Jo9lZiEQ`ZPNtwLE!e$=g}5249t-qN zWFonM8-zb^NdEtrx^}?S^-Y2>SR(gcb3jL6zd;NBe;UABr+_yiS^zpY=rbRa$qRce zfrG`6!>Ki}asT&Q*VjjT@p8=oQ*968cL&`cxPEjm1z>*tm!ZggwtyAbU@a%MWPomT zxTj$HF^9uS+vzkv&Sdh|_rWVYk1lyPZq{fKckcRrJRxvYA$CpUJC$r?9+^zvf@oaE zjEp_mac-INL{J+NFFxv9W5-=!<Q;w<)A49CS-sBl+?uWUg6fSmpKFoJ+V0xBHc`+$ z|9}F#uOJclxoDOj9V&s_%_<j3W45Ko%BCMn+_uT8_inHwn&Xsis!^M7#yf2TeSi43 zO`w;%_6Hn8mjbLHdAZy-b~L^mq-A@bXNtf}-^o;MN-uRI9Y?%b__{J8>iiLFU~s(C z*;xt!|Lf4Em$k*1`r{2afPwXaTNe32yEOK5)Hj`a{*O)Z7To#&{R8|&DGJ<Z<RDK< zjcDUdxn7QjU<@z^uDn+B(glGRvqM=$s#U@XXEU38&0VLy3-T{)ew*R;BMn&j0pK~_ zom=zG5}ogQtZ>T+2dC`bTHQ+9`Oh>0%j^I(SHMXCuRJ1P3g*zO#G1c;o8SG8WxvFe z=wk?)qa?m&5i(jrlQe|^jY&>_WV~`L8Y%YS&eF3lK!}fc2Qd;mkJks59%W-p;6Ef> zW92TW`bE})0C7fOvPM9>a=@D;{$|jV^z)0rKpE>6q~w=75ZxQ{X~JK9@3r6HVF2e* zGBLur!MThvehODIC7}HFKipnS3dD;d2C_b2<-e83^>`<fUAQ~x=wDVavr}Mo{j)Q4 zLXB9O2kYJLW>L~)GU7;19@Z>6mHnZCyHu<C>Ou2sIGY};%D%AQ`x4)5qt4yGmmD3L zagu0)RyD~fEoZ11+!d#d9xKUub1&&h-eGk!mrY-dQe7B|nzIRRd6Thm*4xYGk;`_g zg%8g)VHn2QY_!dvQ6^caC|nLkGiHMO7;k^w;aX99eVgGaV52@+DA)_Ni{*&++w5lK zzAyMQc(@SWx1S<Hj=S2PywQT2d<pf1x0xW;c?rf^VsGP9-i&Y)_tttQKb+4yo=w~t z09j!DtlY)tQdW76!BwzZv0L_kKr=HRGmSD%&6aq+3l)WYp?T$6wp{kbhP9$3pfV(j zk+Fj<8W#7H58@*$Vo!+ic-!rJA$#R@Pud<qfqzW4_Uo*m3m80rl1O!XfW(szfU?3O z9cG{vP(eIJ^hPq7UqwyxmZ9kn%M|yFzR*d5z6G|jen8iX0-85VSSlq8IQM%E=K`a8 zBiSPXZX*Av?~3-3KiciTwBiXxriyF^w7XOvCz|j*u4lD(-81Ta7%zZ4p}aCNCPw+* zs<lyDRaB5S3SI}0f-^au{Q9nl&`!W@Q^pBNj4aGt%T~VFje+kk&9JYIrWbTIm-Uiy zj`jI-US^*s1kU=eY$$?4cY#?X<>#|KtY78%%|EfgpLXn02$|r>qyJqYEJ8lLf^` z5ZeM?I|<qPzXw#SJ2mD}yEQUX9X<@G&0m*Y-VAeZW&A{&J0dLdyNQ;?10FrD?Hms- zw$=czFkd8%+69|S_a9R7-34afOWb33?R!jS$K9xkz&(CWy&tVmdk<pBzXi9(;w_cU zopy@4onUW3By&wzY%GN=g?&-n_|@<ce%q>Exw(hDS+ntHZl?fP4t-d7;i|BD$+S|z z;Rh=EE}Q48{Kygyu^jcv$G$trbL>;+;{A8gS@1k7%LJk&Amjp2!XBVIfYixfGYP<M zO&BJd7Q8Ezom@2RLHSm;bF9#Rp_{{Rv2$;~&pH}(rbJ`cNSuipx?qTI6ZySTbZ_GK zjC4kf%lUnZn2^~v=M@%t9Goqt(0=5DezyvEKovJRp)qnbJfWoy=TKJ$!YS_-Awl`W zTAoEf2-WO_8h@@hHrLOit@Ak!uI#!SWVC_-7Xg;7D_8CPWC7aXCiEi$=Mz;_Q{1)R z1RvD-H0ZNRy(F&u=kN9o1xx=va*CaK6NMN1{5Z<&yMHn{VZm)BV8Cm%R8(h2+ArRa zJHSsHgU7ah-DiB`Q^v}12@qSLCLYnyouUD+a4PuJHx^ml?y>oJd`}O~%wkOc3OW~a zy$mW)dZR`RlenLACXGd-_Diz7^M&CM%ba?^5S@G2H+Hw}?|xAZyB#kP%Ng76=7mfv zr%euCZ^ouORbOpOEiZ5$Da}Pk2L1azkO-rVra_42AX%VuYYKLb1milcrE*pA*6os2 zF|D$jB_q=JluxSI{VJ1noth(-Sb*FTuf#|x^BnU2_O|Zj1BI>%b1bN1n6RkheHB<F zGuz0}+s!@^?D(4O9sav+vbc~V(bgUj-GMGE>Gd9xy*whEv$fQAjTOo_r~1P?D|KXz zFlkBei-vyBgK~6*3LrJV#<X!iT=iNYISU}5Y+R1XU8t4Ksq-1p*=oAykXCwQ{z6=d z=sK)m%QFAP;c$qN_N7`!%#r~`OpcnE)0p?T>XXD2qpCq!npSIdAoP!P;$jJN_}%6y zwc*{f!&c`w44>)?=X&}tYTs4(4KOqI(lhsf>@M}slFzE@L->y>r_S$%^4};32ekgG zw*Sen7Df?7Ohf5Xm<Hzger_oL&8zi(>|UP^qAIH~h8tJJd8X)oO#RKtz!|BL05K~G z3!oVPqo*If2qRo$)z}vVY|fHk#9gxou0%GqWx1S@^psd~3|X^EQ7XMjjNd%r5lhWV zNS@!xHFK)XmE?O5kGj}yWuT#t8R>u;-)~<C$adiA;SSY}J-Di=yZYerA!slWuvaTg z{l$<~ljbhyxtK2ZdTCtw%q~)^pC<wNrgwXq7=I|0JtUcf1`Q%W?7$e1IuZ0ORol_> zn8n1o`)M6}_UBDIS>Z>oOx)XfJfFMp$w-Uer0@LVQH`C61**KN3O1iz^bk$hFAfuh z$v|6;&IXmc?plq+hQO`RQVmag24+nBvoB^$Z0xx*g4%zyglSeZ!bL2K!HdOQV_4t+ z$C7h7)d}VKYrH+b48m9b`T*UrkoBG~Y`m6q=@rcuC+i<K%bKzzf)gc0n(ZuYWoi9E znQK$_iB<kUI(|I)s?Bl2s+aB|Rbf;5kT*&_nFMoiE;fD`N&WOe(oP~e5*cZqc1L&S z6fV(GxT0?ZafPFd%-2Us6=B;uTr)Z<pl5cmP*zeCD1$iX!~0<<93*&q$l?y$B>*ez zucD36%J$XO*p)p!qUSEy@qcpxQKXT>-spcjz81!PHkqZ)G_X>cSuF4l6l={xr1jr> z<US{sirg!!{bZkV+EH<KG_e}t_k({3I+BnWS#bdqk^KL$_1=MOzU|w1Th(f{Mzuz5 zYSk*L_8z5_Qfkjod&UYvsU0h}B3iR3YVX<FBlae0#U4pe`*(Yu=lgr!&-Z<k|By)T z`?{|4IFI8v&vS<a7RD9Ia2Xo4A1vK;_P426Jk<WRz6XKq_TEMO+h<(z%qz=VF;`E^ zF*K85-qLRl2`A|bex|r}A*qHprjBQn5g>ophKmgsLwWjT0kI<*o$RjHGl;w9PcXFb zO<?I3j<9HtP}~4=LLy;B7n@+NPn4U$@i+6QjOyY!Qp0guk9T?P+yUSdlt!vS=O?pv z|IB#4iC-H`u5Xf@&NY^1MAqzx0n1lj+D+i-9S`8v*^%-#p7-8Y%=*n3&A9W!eyXv{ zE_2JBy5?WLqwCNEIKgO;cmWS&923!D&-ZFwO>+2-mOV}-H4~(~j$FEX!8u6By;=@; z-^IW9PaeZp{!TA@m$agPA{#S+E$z7uo`F*M7y=}|YI6)SI)ieaLlpS>MUzg$=sKS1 z8$a)gMcYi$uO$~h#Q@hSx|zy4!Oy7&{K>-$w?x75YrbpGB0%9H&&bwAA?k}>r7l0I zFU4ZnKTVIlSRk3+FKoWPmDe~QK>9bPDtsNFFu=>Cqf8Oq)Ztl~@$T(FeN=VjJz#TV z<;9j!YZt>?uc~^F8LF4xyV4@@P5{#e@4PP;<~(e7Rt**Et5~=X;5-dtApFLOI*Pd| z{w^N1BBpC$$drrl6oW*&GHZ%3KpaW?x+Onlw)kG<cSFKX*Nk3U@_J`WZ7=x0Ay=(k zIoV|7MGgxAFPqBdch^CHTz&zrAos;}NKgMh?$C)p`W<UGZUVaV-0q{Yw9o&tL;f2s z|I$K$e!fGT-O=crsyO{q5wkg+hSKia1wEH&(2XL-s1Zi3Ph8Zaq|XKI50lVa^Kf+R zOfwS_`LEh6WF0e7J^c`{H(qTFMP2JS@n}Q9GaZwmBl8DPTRJbXF(&6DMHre#zT-1* zM-ayd-&lnw_c$Q7{Xy)!B58mR;MyZYlMT>w@&m+*5XT(EF&h%)e^M&%3#czd`_ua= zZi1jArfF8Q_kDiuvM7UC##^&2Us3XJ2bSa>|05N;_GbbBngO|WrUV#IbH$G-b_|Wj z8DxnIMi~`$B$EMqBH-Ho2~<K(hrJ7-dE58AJTZ{u0EnAa03C@vZ!N=O#I}nr0o-W- z32Uk`@%t-a3TZY!RD|~df209G;}*EM32)b@?u;a{NwgJXKB)#z=A;AZ(~PyhdUEZ? zjhEkbRz-rEtfX+&WTzn(Qi>QDd6Cbq#5Pd9YHfgv0Z6oqkx~r=U=kBgee~16;ZR`R z3dpX;oiH>U6Q%PmRR+61f{o(P6J?+H;>DZZmF(>B`WLYQX16|_GkP*+_a;*=hPbBh z7Qx8vJO9ME0B5%U3Cf7v0`i|U@x8A=YC`eTQ-lf3h`Ux;d@^Ty>gxzOSu8~*Co3H? zztD(|V||o%sE-Xby01w_0^2P<rse!1ioGk2%rbz!6)P>UOG3>9eDFw!K?|`Sfe67p zAOOD}6VmLF8p%ASICQwnG{N|-W=~{c=hWz@Thum%-^m&oY2Kw|Oz^!hR==Y)A-!(X z<Onfgeg(<Tr?%73N}W{*Zj4J=JsLIsYPT|RaGhB2p%{y$xMYn|O`R0v5(xX7^Su6B zdpqlyk@xEte)@}__6<UJMv%psZRB{}9z!M=aj_Pyk&<QK3UulE@a2Z0n5p4B<Xr6( zuUc>aIAg^I|J0kO_Z1-}(vowcZ))im#Xr{xHh>2y#*V~`L+?=B4G@=_+5%F6Cb4Tm zV-DsbQ&w2-kw(yj)uI3XGL2vd$YrK=s4$}}Pl<~byG!F}+iA~I<)-K)APWAH^PGi8 zp&D(4exr`cybf$g(!}WR_B8aGPV*t;hZpM{#&ItsMbwWLlC)ND_F@5<reMp{q}K(_ zW4Hk}aTFurCOV1G!puiK;z_SD1ju=r-pF8lR1^WmU=2tqAR|!*tAd-h^C3H$lkC(? ztw1;p?Z_zt^updfj~y`%2b5mxU|e$`coE#EGd|0c@}du0<caV(suXg%JCwXV<NpSb z<7(tLUb9$u1D!DjYqo{i-KT&nC@H9(0o05PhVog}ylCtF%i&_INB09mL-_Wm^zG%3 zpXorC(K_`x!1UNHecWO%kF((^9)0saPR9p#AjZRQuj4?|b0jg5FU0ZRmO~&fy%8S9 zuG=lN4UUpPlIBLOe^jd4K7Ul@FiA@4rkJpc_?&M^>;^QRjaC%hWh-q~db$m0B$hEQ zO72Q3+rtk6&UdjW!0#U$6c!d7tML0c>&e!$Lh{v5x=s_8UMIVmo4=B;?r<SBIzis5 zGO@BV=9xA*ESV&ac+Z7j{YD>?_P{Vp^$cxn!D`yfenb@aV!SJ0_iOk8A#qzhdP~&p zJgXO>mleolXh}&=GpW3;p7N;lh)$G~V-V1tasXKS1ArPib7jgRn#tCL34}h~2FIA) z0`b?6T^&G0@_pF@6B9yxf{W**WmKBPp)<V77LAO^NvAo+jjN2!8;4pgkeYlRG;c{< z0!~pZ(q$^9F`ujWN4&%yV>8^F-r&Bei?q3S^Vn9@S?QRa=WT!gZtQh=UkP5m1?fG0 z(tf>n1zU{TZ`~&G$Qg7gY)rY#|J<K}dM_AqNLh$(62rF#>gOnvtvR;~c1s@s#=VhJ z=K)HJv}*cy@hSEH^o9PL5?Y1m+COEZRTTx;i1(!5qO|6wIK5kT*``8id~BDkfJpRc zKQ+ESQ%?Fz%*~$ptg{;<uNwd%XGd)ATlA*i86ZZv17?Nm{AyML85On}IcM&EZFC4w zLS4H86Yy4LB5Y{z&hmh29)C)*CHO$>a9GlUXO7&8RIA|Mh(I-jq>2ReqDaYHp0|cp zoEb(4XlPH`B7<*U_Pzk*GavQ8COMA%maT{-51)Ry6vTx4?VbobiEn6<F_vfImr<gP zfYaFF`6-}*bkE|pnR=dm@{peWbEWZ-%Ms9&a>EXd&eVIamapAXckuE>TloOiVSM1M zbOmdzg5w^$8U0>ke(Lpws8PlcmUEL7COYIF8`o@fY=R4~qShaCKc-u`U_`cjl=J!~ zd46P~{Ks(&k3FTLa@733FP(dc!d*0A0D3i*ea2X_++GzrLavJ|H^Vv}R>Zt|5pxJs zW!C%8YXGTC;g3`nezpId&emeY69FK2{cOCF)_3S0IL$M<PCl6+jMg`Q&s}DtS!{ju zEHmn_RzAmCRrm`X^(nq_QIa6Qd74~)AV&Bl;HF8M(rW0PmFEd-XtNi=AGu?ZfGtg} z>ExW3qc3+WhGoEAqvt;9F<|GA^Gnik&_b6i=<rINkH+UwORHY4%h4=(V*5U*)c<|W zE9o;bh$nw4D}F~agagh|2$)cecw@xfVIW|Lq*M55ja>|G+kCv%Ayb}RYSR54JPP`Y zae!1I3OuXO4Cpp^+a?GRP&3!#+QY>tF7X$qc$+uTG3q_<ffDKNLuqMd{&^i*Q~0fw z{cAFEbkZby!o^7U*)YY$)5G}OQal(PorGr<{VB^c-1B+5`1ZU)P=4uQk@)K%$y2Sf zY3gez;x6I46SKZNanZ%tAY{Lgt(IQL10#Be`Yy(0URT;hzUk<q@V2#JQiH9Qm20MT ziP&W0=pUIC$u%S}18~v{K!+w)63qD=QW?A=?``#>!n!O1@r9eTOz9T_z`2^9%U3(m zpFug614$t12Xgfw6mX6Q(siXvf)MIGPf3#*H<n!JXzp%Qv)%53ttj00Jm+Ha({G&& z`M#de56oU+G<pTBbCo8d07PsY+ho)hUo*_xWd=4wl#{DIkiMfGk`?C~KIIuP5fZD` z#}nr^_m`_#jN3ChVb+G&Bg`|Wze|Lnbw?7<>`Q_MgJrAL4mru9FiDN@otd_E;_r78 zsCI%n9_fDi<ciN^7Nzj?Ix#z3JQvP0x(#&-aFu<8e!`P*B&X*xp!fxX<4(XkG&_cJ zJ(E6pr{-HN)O%Y75i2Tp8e1o2e&uS%db?8Klu9xNpR8hyM_VCxwb1#}mC8VA)#=IZ zKTrh$kg_BIg(sr_K1Ti#NUzhj|E%cr*gr&Bi}`s2TC3v^jaWq)RiHvlVTVfp2pHEz zImG%9N1hwkZ^rm5Wtfa<d<k<{UJBJom2iUOSN^NE?!W)znnd2q6R!b?(d*h9C8=8{ zQ4;fIHBg<lg+(==wtrfg{{2}RO;%2ls<WY-NTC|d{{?!1Zw6Tq!}x;jGJC;)-}ho= zSdkik642>x|M;8$k^N1a-U~Bl00>|IkJ1_7U9M{_{`LIdFZ|DG`~OrTt}!?8xdxVi zGvFU&`Smx3Tyg^?LjO`s{_kp_|Nk=o-!J?Z>b*w3;D2P%z&l=3$Nzr*b4y%*yZ@o) z**-^<$^5ZhC}eV9T)R`{+Q)Q=P1rXUJ37w(Ja$Dre6i;*<XV2(71m>)e^XJ(H+{y< zJ`tCSYv0%m<$E78A-E|?O+(E&X=OQDHvZgFu`{-ALK!}6>y9<AtDf$&D$pR4o9=2* z_M29%TAmXf_p->1Q2H{1M#GS*8a}1t1v^%gg{g#AKOZW!1VW^mOzZn;*Rks{KPX1X zG_BO$H}Fg-Wkx8y8AAI1h!40mWByYr9^H@B9>|~Uh6->9Ip`jh^2N80wF`nRBggl6 zb!0S#@v;r$e`#F=+^<5r7VB5~E&Q~N59-&d3(b0qd4nAbb7@Nl|LeB>_W~(9@k<J8 z?zCu>9+{Ntz&Uta@JJ_IKNj0cv>02GTOGs1yI@s8{g1VqK;gZdJ@2JFG=40t&gFzz zYuD%L_6mG-6`q~cY@sIppycx{x&a*dd;8@)?*zd#)|DLz(9H=cx>d)v8KKb0O%7zw zCpg+`BgQ4tW3~V(Vy7%QYx-$mw5TR=1Cp&aUR_KX$NP%|d6wM2#8s6IDxR4!&W*Fm zd5?(q`*Wrt^W4`qP`~<{eBy^EMH*yx_5|7^6$C6EeDlxk@25<Hfe(aGOZ6w3cmEpP zLShrpsHBxfHzZ06ABG+8zQ_1$sh;h1N4HpnLw=!l=Z}q&7T)EhvD5iJOO5qNd`SA| ze=U{&EbfKvYjweby&Ft}^tu<@V*N3B^`!gWH>QLAi!TzKfS56yH~N08d8@=DIwNUr zbuSyLQW#;h(^RFp!U32)WQjgc;VgQ={9l=nq{TrL16~KhU{Yq}-ABU(;pM{jj#tJ4 zZ8jS;WD?Lhv#JEJ$B^*L+XsS@FXJ%jI3$X^zBF;X)?#bqG){&a3083(pNQ9XMXC0_ zrBA}p#Cf;Ph}a?%^|eQ<W%0XyzeD(g9#y=zWW<|!<|Ko7$_L1=|K2SL*P7#hHUh9c zAv%_h<Iybj8A9J5o&go`#ZS}VTsxnw$Il(_*Zg5ZHd*NEKUx)`dWZ4-T}$%h3rVT$ z(h|!P&RNsN{!x`pbWt^DRpG{dFQZr<Q2EFSYkQXXC6jT)=`2;yR^Mzbw&}xl%xSi$ zM8Fu)vSg1!qP|u(NL|p-Fe2GyhRZh3hVei*+nkfoz|Vf<{q8K>|6O2<%Na5g*wgs; zdG$YMDklB<#5{iLRW{<0JNRTE1?3(9yEGl!`I4ccZ7nn^s0sW!-ia64)A~%9M@`cX zgc#)Lp(@8RuR^XqSry{j8TmX;cGCaKN*pT@aeW2u0n*cdM6G`l0Ko12+l^f$IQ+HF zQGR-XUUU{zyYjJrm+~XBM#bgt{P!N)?G<N1$!D4bDq%VXYFa%9YajYQ#504$TLh$6 zK8qCEuKXoI?gfIDwUozcP9(F6T*R@S8VL9+Qf8^>j4Z#2$-u1>Gu7Db(XeD+-3N>H zA<p4r=Uqxy8swdxT}us&q_;Nlhcl)cjvC+rxr++(Umxxp(GXwlDpz)6LNt}9n@^@} zIY2tulT7h>g%9sOAKQfq7S=Wn714_N`<0&_pgAzIgomMal*Of2p~EuI<!h7~Ff?7# zZp52(UD6UuS7n)*RYV$+IKE0ga#dd`(futs+GU??))2@hr4)63*KKmpR~l5d`WEWS z{`qU2BgS38#%}QE3tw~&-5lt?`*NvNmhn)Hi^Q6@Th;6D=et)YWDl4Pv-&7UN0Qwe zmKp$;>0j~FPa2_`G2W4jVt<WHB8YI~nVol3R#L1C?=%d?WGd6+z?bx0^{2^Y(%srM zZMLehbtbhl9X9q~{i9wU+R*d~R)6*ddfLeN-bE*Sc(QZ$1|TEdNFLX!ZTUvHMpEvz z@Pbr(ye1|$0AnQoT4ZJv_?WQ&$`2h6Cj$BSDz#!kr8q(rpYAE?%+@IaY5gm?PQ_R| zga?W<@*sTK!yTc}l4_#;!^5OdV|Jz}7rNa?yJ91jj)$Ta<om6C2jmy$$3G2>2}!Fj zk?Mab6r>_nzpEX90>2=)@J;KYm~l(L@FI{$sAP_I{jORPY1=jaLp2*O8nXjXM?}tu zL=nf{$+GkK1|soeawBpR_Xy0Fy^E4M{<*_*GHE04H9c&_XI$6MPcddYneQt!bNvoz zLMul-R=Xfke4l(?mgwz@DEh}ip8t08m!{1^eY^5ngNy~7op20UQ6`XDJ{25p;ED3v zaij6a&|E2AJjDukmh4pY>5kS(U<0?PSciPZfk}?>&HIPOLL(BMSKntJAt^4&)BLQ& zRlEn{oA>yjq~n|82*l;$Q-g{6*g9+3@94`%sp;R7gm_|K70fj%1+QDVZC#-A%igE& z%}P;Y-vkXz5pA|l5n<_Or5ZY4owD=>pv4->4&p1d<@3+hVnF$~$6})Po+5LE5&07H z$PQEt(YEdgxlD=G3rNVQ`=@2^-GMgJn~6nR)10h**s>}jXW9U9J8CT9sn~8&O4o~; zr^mE&;2}i79Ip$sv+9k>5VlA>)LjPQkA~zC9pmhfG^;O4hVrAVs_A_VvDU{ZGU2sj zXytrFQPVH6s?dXNigjqahkYMPx1?;<2_e@aD0N1OBvSL=OGCoS!oWQfAF>UPsh68W zua;1k)e2w#tv&x2rcfCI=8M$((NWq3C!<>0eUE@Rtq;HPFjS{d4~Dfwz1^ZeBx}#s z+F5vlxsax^^ZpY?!O_9_5&wMNs9wAxnPRHhEqKaaSc~JVtK+T82hOMD-OUxXcg{<4 z3YAKblb01<j6u+jK57aj9K+F9yM_<>)t*1Jw~l|j13&**^t0gLa@OMaGv$Ivr83&n z26jT@`))PReEF_7Vp&lYXtdkO83~8L8?1bDc2kxn8T39wrMuts1MQj?L*tLjb9SCQ z+BWr0rlsy<`G6HZSx%Rr%yhtT+|4bqvJJs0Xp0ShURCSS9Pw5?uKuVoomxWSZCVD$ zWGIyKS3c|Qb4~YYMXd2pQVcei`VET%|B**J$<u;3%!sx&*4(D6x~Qt2rpVoZ{LR%K z;CM||<vVSFO$@~2-}T{{RHAnjE!XS~*}}1$ux=jUn*}CMunQP-Wu0^9Pkt8^ODYtf z&s&ybq6uc{<m{Zq0r9-ry<i67m*I#!EL1zbNh8F{tf%c@0(6U5#-}t6SxsC~rkAGO z9S7Y4fr=cFiL<?03xS4k0ia**=at|KAkvRLhw@M**VD;hH*BlkAPv^VyiU+txyzMV zTy=xor)L;V!%6C+`=yi6#=|-94Rowl3LC3}yu05<(JTi)iw3u$kdA}o?&hf1MveS& z1N#NIUj^t8#_LXfDE|EL2U-kA*x<e3*Qs5TI}Wz*vOKR$Py;hno2FDfL-}_SNL>AJ zFk%HuyBdecKbHLqf{&D_Y~`9P=CX9wmL^nF?wK9jLr6w>PeG>zyLd+2KVLNOl$6#4 zbVp1aMuT6`l>iyaJY$t0dC=FU*Qe|8>pCgav3Gn{ClnA(&SkX(T?RitM)$`Xh0|m{ zrsLj;Jo)YnX$DC!7?sQ+adojhc*onAJbX+$rRCI*t*Xj;-I@Lk1u1f9&S3vLOF^uK z#^cUcYj@6T98K!J80fJdKlfj~GM4uX>g68L9zShvx!8Vc6jN2=bJg}nySz|0cyn3T zBnap-SbO((9$S%nLsCJL&K6Ff!<;m00vy`WRdn7VFus|@U-i(zxkIA*a7w=}S9LHz zq#xDio9<tQp!ab55ie>#cAT*kp{E&|vh_}F4o`7*z{T5MCeX~0*U50b`FOHB<@@9^ z9+(+H>l@D6pRs{IY7uQKxl<@-D0E4mYW$JAFBzR%@)6d?Bp*3FUVkY|ww=l790Lz_ zIR(aKKZ2)xMdv<JhdPSsabFQ-JVkpw{QfIv`=xf_o=OTCU+Gt=Dq~$<q&ACo2S1%3 zreYmvs#xc)uaQ?c2Cj%K;w-sbq0;Gj?{Jn2?2xN2b6y<V*xeGLP7KXwJ_$YlJI5XO zk0r>!WP>r6L6Rwgyaos-U+&wj=Fwgk=@pG-T7t_|nDVXEo1jO8vK8pnZY=)h_^vQJ zrv)t{k)*ikq_&8r6N~eO#@xe#_x2u|MR>5Y_a$?wrBEChmx7I8h@w6rZmm=>j>g7D zJ*>9;5PQpywaaC6eyMMUc;8pR&ZfC=p;>pcWhY|GIKaDTu2Ly?{e-Z5a1#7-S0P-) zX2e76aB2Zs@WEls9T>L*++w1h-l58&SI_A{^w4R2$Mo6ExnB}@CPR_SsZWrw;8X9R znBk=LqAi>RnZJNpSwSfuAB(8slVbLv9TN`ZrxdF)Q>w|3I=hQq%TvRxvu72gC3wi+ z6QZq>vy3+_zD8sso-aSVphS+y@bP&&a%)9-8&5$YO(m$RQ-lHQ<R6twP;|#sfr9}L zm~-=|F{;RU@7~DavO1!V>BfBLy?XH!<WP*!vTf5C=Vj7E^=<Kz{U%w7t0gBs9R7Kf zwGgp6(T|}E0t3*u7PaX0G%k9$_oYFLRo#x)^Koo;ON)xLgqI(up(X<ogD8t?aX*AQ z1^Xqn3Y3lBGV?{bx1_Q98!U>D9~;u#_4j|Wj+U(q9c^N=@+%Q9T9mwbGrI06vaJ@i zhzMwI@&y&-WF52Y|Hnu4KZz?u?KH~eJ(J<1W%DRBzMwI`y`*vO7xiKdstSRNUT|Z= zZxxBg?V$8u^zDB^-l!^3$USj?cX;w&k0xuvWT`mD2RAOAyR2LqX-{KNdCWxs9;9@b z$)w<Y2VPtC^1C}6k&OB)X`Ho)THBl0;Z9EGy*_5dNxnrTH<9QW%oZIUY84q#7%oxq zeqyNJHujQL8_>PoX2`~Cb<iayPi;)u<Cjfqx2k|Cf0%ny!S*p%PjbhDT5=`YoU%Q& zXL!cj%fa`fZ|Y51DvPuy+S2a8L^}vg^TX&HwNf9E6+N%vit~7Rn{o4-!sK1!UGBmR zUf84b6_Mxw>$;3xk07tm$X330p(XW3*&n(3vEIYv@rY-HuZE&YyaEhogMPAW?<BPd zPz>%{u)J7-tR@B9Ix2i4c!0CXrX8l(&xm+Scq<MB$YEif?JBJ4U|?O8UTA#wmY4WS z7jN}ZILWNoQ6S;Tg-&mbx3~t&1q~E1z3W$%xToeU*7zs~Q`lQOjVYu#`lJ)@++h5~ zueI*6;QVtWU%YD$@b_K*M8~Pv$~^Pxb@6LD=W*0W<v1WHNm=+GU$kf=Uk~hh-$<F= zXL{-$j?b%Wzlf8ai$$~V1??+UW!ZeAA=?S`Zu9EubM80msoPjshPcJP8B|FYAwct= zzI=A0S8KLf_BPd8AJ7vg<!-D*dkSHh^UWQUHe}a!>lU1?)-lqllG*rUcBxr(>)#3= zmk1Glg-N+0NjBpbdkK;|wlLb=vZfua#NA^N=pz}cq=;@rz)`yhpHppTr>zZH0%7}u zrB3CKi!5h_4zSg;zg(N`wdChg#;nT<{A;<==#6$u{1N&WI%?tJF1{}I-QaWzhk%3H zU+<GkBrOSK39K6=A94iwJeeWH7VrsmA2v|bzU=W$+?^t?C05L3DU9+alAhi3h;gE^ zf@u&tDqHVVG_Qzss@N-*>o<T??FDbyJTx2H06I&Bcz0IQA%%fabDj-dN97M$N;>$M zxA&^_z~G#8SEmi<`5G70>&zfw!<D1}z&qd$b6phh@{?_#hRSpv<4+nIwKxS6ylil} z=@OzKm~z*pDJ9#P*2|-nZ>XBm1pj8_dn}Y1N=!KQj+k;;jsI6Hy0$ZJyki7mvL{r6 z7OvziQ8|sbgp+PE$e=2s&^-OY>@}76yQx-X>p#>G_lEb<<rzDl%upQ@`YsqI^OvZV z9*9p)bF<=D02kw`-#Q(|@GHU_Wt4Z2*|n%@<CpUS!<o3N?1w{&B#OFo)-_Z2-P85b zSy12s?p+tih~Vq27W12n#sx8hfSpcJo@XVCtNG;s_jf58;tN{P9hk|j9^7y-eib9! z)g;aZI?VE8;Mf6@H?&$l!EAA~or`ahxp7Dn$j5N3c44w5AR<qJI2J{^@Rf(%J*<4+ z>2Ww&2KA0oQcrLQFX<bOm!qX{TS;0|rrm8ia<^Yb1h?=yOZ{594aiHyre6Tiu0Sij z>;4+CjJOjJ<0BPaF>v7-T=wY(OksPCZB76#LrCZoDKg=e*Li5l$bv9>*9<Jl*zdI_ zy(ryNr}B@-SRX)5?G^J}wb!%%*iUM$V@Ou=a3|uVV|R~6UJgXcCmC7?aHHJ$MqsWP z;_LlgXUC_M!)4lu9%kEbv^bAqLypzQEK*YHd<ck+e8TzE$e+U0@HT8JV|!d}`cyKo zEWA0@tb!q@rgbjVZ|kJtILwaJ9B_5XS|?P}N;=WbreHmczQe7)DTVHQcIM5{5ivlZ z`6P`F*PrT?SQUyw5K$AzJ01=;-QYRu7d$VLslYUYs5QU4pU&u+#%L+173KTH?u&!- z>#x>+Wo>QlsI2Nc(>0_1#c}=@gl}YY2j2VkXchLIjzB?O%TwXomzwhKqmC+V#Bzt} zGW?C6jHIC0+bj<38!(F|74PHyE-t@aP6<rS3>Mh?7|f|_Mj=Y)o9i3bReTQPcBXn- zUcLRLJETWp-DPKTbQ;{QyVa}ZrC!deKfX}X6||ErkK?jbA%FO4Ts@@WbPB5#E32H* zK#ovfPX-TX=V%-gb_RX!rt;@K-yV6U#@icL-==c-w_ht$^Zr@U(&}AuK4}65@B6%8 z_8&bO?knC6CQt)f0(n(7TEw%X$ck9ZDdDg-mokiIy(8*=jYSbTqmAFUAnQnJONLgM zsQlnkFguf1Wb&U7@h%Y{9~iz;%v96<Q_q`&MDUREu+tm=?#eq!1{o!yt(jx&n?CUJ z!og^Cw~Cg0I^)tbNtxH5$4{NEm|D!SvXBEYA4qcoJ+CM{n1P2`naO6~DDrLheY=F> z10cHGI*@%({*q6~Xy%bSiyrA<F&3x61|g~oeI;aUD;r^kn*aKp^2A@>PiFBo3)@l8 zT!{5R`3$7c_RM^q_hUrPFTtSo%b*8jx?`UyJY(y^qTM2@`Bp?u@tZ&U-GSVv3bKBV zb84jQgxSkGeQ6;C;$HYVueFf8J#!%uDFR;wt35iLs44aR`n+9BZbXGEsmEFu?RJB? z+S~ecDjnQx<07*~o>W*gn%Xlz?dM@4fy;^w*2&MYLI)s(7z^sq*dSrO+f{$0>+I~p zmy1~Hi+E4*$S)ZRpYo>h?UI%y3kn%z{TSvY?Z_zYqF9Ry>^O-g4Enj=NfJ?uW-+t> zU3dDVljrpG{yat2=&gA4a^Nqc@;4?@r{7Aydjj^#X{{mu6~Ejrp<SIY#{>nTQ(bm+ z?NGN`AQ4zJD~r#Bd5H@3tG2aC@^#kPhwgOZjetu#PgLvWcAA@ka?bpQVEND;(i(R9 zO(qszIqq5A=h$5LhR47qrlQO~BkLsW{1Pvm?4w{&Nkb0<VJMLATt?&PL1Jp1485O& zNo$V>h8-NE+Fwg7E<|?AB`@;mj9OXMZ^}ru^p7JYLxO-(;;>2ua*{feby4XCw$;3z z3OuG_7v#Lxcg;?g6{?)Chg9r({>Hno`UhcNo#01nuPuItja-lhels6sN)!>wS7|Sj zMiyJk&Ef5fui^A6#Jk+3yZ@XJf*<d4*P^6LzP2oTPAJ5#Q<v564o6cGQk~L;Uj|w0 z^}B?b%g=w~ip^I}>QF!=-#j&}rT9k2ph3O`p$6T9a_AmA^jDA|*QqH#1Bx36j^Eod zER)_xIfitn^bwX^dsSz(G*?zuUP}liKt79=^QxAa^{k)V0)Y;4T}rkgb*IhLyrAz& z$oX2HN%NqG)qn})JK<s7Fg>48sWp3|D8b~#J$^#uSQvSS06C&KN>!ujZ8)76(=B&Y z*9Fmqm8L~PB}XUu=3QjFnP2(2n<o<6Gdzqr54?N<)<F10tH!-bE-OYy1bg>WVIW5l zw`Oq%d>i3BZTY3yibyoc7i*RN9&0P?6wrfjeYR7Aj8Oi;#*{V$;N0G%#*_BMoIC&# z`Rgo-=<TMS^*IPsOKb6r`6rtZ$)Va%*26YEBl-KPfmZn+)F)z_0mF|ujn0=dQwd^A zPZb2{eAzGjgaD?^CzZv^cm_M@Z;?MHEjm|_VBTEN4U6L9^zx85kx%=YSy@N%MYsnn zo@UNRL!Pr}SnDJmx7-|a)Y^`I8p(O#gL~57Fd-RS_ki#x->YFF&|80#kPYuo-CcXJ z1G!RHeqC6G@+SP}NQ&|P#FM*VmP@*hiTnK3hks?EOHS&Mcl*0M(18g_9Y;?iky;n$ zpH8S?Rc~;H0r;`Pk_i8O)zxRn;SahbLEG9?75v&MB`A65UeVmPeoDlaj9xmB7^HxE z2@i#z<1E~MdC9DiaK(k)+n<L0OTzgtSBs+px`!k`^7>{S{h&*Q_y<8KNf#kgjt2Hg z!CCRDNb}uqVaW|^xb52L>Aw4haNOjUR^Z#2<{wM;F-ny_8>Tt<v^$&wIUM&%c~u#U z4zlhBQVjnvnx}Z0*`>l(`7mpp#ARswRcBw!_^#569MRu&)oPi+TEXnn5~h2`c4Ie! zZUsg0LYkfDX&?uI{A{Z^?%s?M6sKYJZLmu10ZRn?EBQBnauW|Qn+?P9O-xh==8t*v z26)BGXm8F?LkGFIfUY(COc@RC#5PLI3F<+1?i!_i;Kub|5Et&WXc;aR&lwmgOkf{F z+Xb96iv(#NZG=ww-!&R<_aV@m6(qOHe|C&~h$T3ilfAn%YFDOYQCT=uIaDfcvL$)P z81n^v$L<Xl4o#@0<^6eJ?wlj{+-1y8Z@>@&uUX!H3Yp$hL1Ygc+@j<~Z<n(&RN(R3 zrch)qS|Tj`gsT+gi}g|#&qY{7m~tM%r;;&qTsUf?;_W2y&~>?2kHDz*lQOT?u%lqN z^4?$;ckCS8V@phdI!ldVi4;G?PI_~wIZU!kB(grljn;~}^)gfJbX2YU8@<dMbE02_ zrehgKA_oHUF`xrY2CSR0O*9ShaY}cNe5TLSv{jLn7Z%0t_ErNu82MtRVh5{&Cya#6 z>9<MbS#lcf5BY>%YibxU+rzWS`SFGmQew7yBfA9%+_!Yg;?cTOpD6aHG;d)!XS$Mc z9q9pOJC%$0t8LXZCF`|<k0h+QXYWgd%BafNo2lxe&AOdH(G>s*tQTg+MFVu6;tQLf zQtelMvhjc;^6@x8TH;&j80s;kBlLb&b*3nr-8{yI{r0MIoYYL6WKi<uZWQPP6DV`# z{XDXX^kfdyJyH{@5<K0jjdeEAz#RHLV$-CW)T{P$WV4BU6=c{64#}A_O0n`$cOD=M z&zKoe2E3e3Mr(sKTD$CnQ7)e=H`R`r&go!-k+=;HgNI!Dd-cht(cx)`5f03w5vrEg zRK*w?5GkQ4gYN;AxPd`S3^MHZEV`Hdh10lwrolaT3NF{yCL+y2M>E9se92iift1bP z22Ld3(U6DK=@c<-+(2SLe*I`l`_YZ=PtOP?aaFoCTqFk{L}mr5f#T+x+iC}q@jwRx zoL#s67ERb$sGZEr(<f>0v5mb?x97WJscw_Dm)8QdcFdMDCV%Qmk5a{j<|p^(=77E* z@?>nAXNh&F<%RP8i+*4hNM*y}o-DJ$6Y@4)0h4dsWiKYXea#Zl-(Pbj{6;;j)iIN- z^r8Dbcf%zb@)RbzQ=QUEu1Hza9Rb%!;cy7^xkX;^jn~X@X5cNJGJ@HbKC>f9K@G{= z?Q7|I@oksOqWno%Grc)qL>1RxgB!>9xxRPFKHo9~+JYwBgef``3tc(DTKEp^BT&nT zHcxIqo+SX9lm7c@q0|j-yrJH!QuDSY3>tMn<vTG+7mO!^0JSKJ1%%*`f8`duWXzy# z5fo^}FYe6VE&06iBu0FoKM%rxpSjpiW)G4wvhwaYjrAG#8@)Xv+K5aJDuJS|q<r?~ z*<QQz==*2ekv$^~P6Sh~rUR2j(CP06A2GZzb-e@PpE7M_6{a`I^zj{pNGUW`A$D!O zy$ij)6$NBlPeB(1qef==g$s64$OZB%V_y9);nI?@FzYXI^dh~tO<%PcaUw-bSgXSp zkbRo1ITUA6$riZkH(E@AaQ4G3pcTg{kC?RlbTk#|Waq6Q)qQ?FxsUivLepa9-t9c` zXp;DSk@&7q`dOM0OLUz(Ee}#9-ix{q`q6J&J)J^E<=JwTQfXuHpNmPmv$Ye7<IeW` zN8d{k;-G^&WG&}W)fqYz@(my3ztmyGFVvDw6SZm}XZR?hpSmGUWOc+d?~S2W7;yuF zA!~Aitk<MozR5l3CJ*d6Qj{o=@+-s&2r?H`#YaAc%GrZ#*<1Um!!}~2bWZEDdZ*|N z^u$^<+X}<-W0VwbeT|&If?2o1NjXgK8RMB{jUd_G<=adQ<a_CcMzst%+|H3k=r{3u zcEmizEiq1s;%LY(c@IQop5M9;4fxmalO9?J)xG`-0lWCVQN9KbUzsl!?oGCPS+Asu z>{dmfKbZzi?2OWd?jw&>Pm{>qUaEIc7u1f{=gh%QdkV_!zbB%(h?s5TTHu<0zXeM4 z)J@ud8}6Nl86>a_Cv^*!W8LI^>N%^=Q^*5DJ8Y{`Uu^bZ9X2E+6Do9gkDY62G~TA! zZ8hB9V`>z#gnh8Zf6pTJ+WXx7ZqlpD^&CNnnuV=W6;5RSi?GvUa)J?KDk;`+d#f?< zVyp!!_u;B!nXm&rcV>@#Q6|T6nm#1j7fnlLGteNbVbD$PF0Ypd;v>8(Cfb`4_Aa`G z5lT^56PrJd+XMPTMYYN%*uy~%sO$^F=e)9}8cqlX8ve_MV66;p<jDfEe$9%n&Uldj zT|@3;!h^MvRHGBgTf#tYC)35}cLU?QieRZDoXE>L9&C69i|_fVC7~9RDOOg#Xd$nr z__UL0_sly$Jin!%_n3kld^Fgj4?mPD=i0YNxw%<#<@8YBrRplbXghIe6VsEglxh*H z<~xxxa@;wyOIv|>J5cmG#BmePlry9q^~y?=Yrti!$y=ygo9TVZO$<%y5Stx2RhV@D z7EUzuRhrIMe-uPr9c>^FJQC2o;MF?Jc|L)Z{GRt$laa%30mZJzpD*GwQKMVc4WYIW z<AgWy1d>NI+;7==!l7tK9mwGCok&Xo*JF52v+ReYV1=FA9Ygm(&&eR&My%F<`{zk_ z&M(G@N8)=dSiR34(9W!FnJ$5U!JoiI(|fMG;Z6k2+CIHLzYux`!UeA!2Xi9a3IOMP zfqjb@YlACWZT+FDqAHz1_ypsl91ru*%DicL5wao9-uNRWq^c^vncSu#Yhk#20r`hi z@%*=s6`07PGTz#HRElTDCJ_!VD$z1g!&pm|&y?r+rzgQfi|rCnWuw8MXO`_jeDOb9 zKirzWL|0C4DmiBnR-AFZ8AmP=Y0^%@#Mz>FEtQR2_PUpS{D*6tujbX#Ontw4Dlzg? zyd%naitG*WlReei{agu$z<pE2tz47JZG>;Vba0AP$i?R(Bs{(qBN2lV|NA)>U3HP` z{p|)E<Qp<pGJf1E8>Q<TyTA;eRe-sN4Z^soN0uY^7NK&$s02|BipW)m0S{@a_$AyM zk@(lc(8?#L!huQa?Rn|e<4ll2-5%pgh4M!l)a?w#HM=6ql!u>h<T)z8m&_?tkEQy= z-k4$`_47yYS2-L>N7vt;g*+*{Y||p3cO7VfIc%XXYd}%W?%XKxQs%LQ!<YVBzgT@e z>2qk1LAE=WdxoCdXQ!LZ-#^cd?c1b%EK@>=zaIJs4SZZBAI{IZ)+S4+$r+zj{Q)<i z&nHmwXOsGFd=D(IbK)tkRBX=yB}PB|$xwjwxH7=8xDsm%QNwu-Gvy1Oz4383@q(y3 z%D({GNuLh>YOc_;-Tc9$h@{Ds)JfJ}ctT&OXBrl1F-*Jq0y<quo>c~f-?FB&_L+!J zHebZ^%v}0q6*j}PT63*BJdfLwsO9;wbi(d7;AxR8u8HOI4Qv*>?U%~&?m>OXAR1(* zCK6cnotyNax$=Brpu)2Cd$js|bON%v>rZ;Z-JPsr<W5>5+K36<zZh0sx-%<(*J=-j zrx<O0B%a&M{8S9uT$cN0q3oooJX?Itty(<B%60IJija%)7;?7=iuiehVM~CEps7^n zs{Povb7|HH(Y05E)5p$`EK48*DDy{MvQINSH;#h&cK01etG-6pAJeBapP};|(4P2& z6e`Ge_XB&*O@qeLxDzu}VpK5f_<M4O)#UHP*!j<Vp}}t=A698h)PPn_5EucNCzoH^ z3-Zw;gRR;0&{NLwizM>t&(C2aBQ8v51DO;Vh#v3^9!SSnYUv`-ld$uvkC>@UY8ddq z7(z<Kbr76L|4(xer_3Ci!8nV})8b<Oj|YW72h>@os}f*0S5gQ|<)r$?Jf1q+di@xR z!lbX?WW~WGyPz*fRW{pZd|03?@muE^^yl&y#Zz@JG(iFziqDS?QU^;7ym^j(ujo(E z8ZN9o?k13DwMq50h)cd#Q6HaU17Voq@X>t1G!ikw${d1S5h2Ug>5KoiY^DB#857d^ zTP3W;y#kow8LO7Ktj^v?G7=*o)9aGT1+Y&hBe7Nm<fPf-1q=d^X7otN+&Z7Gzn21w zZF%;p$k`VrG!qM$Hay5$L}!6B?n1(jMQl>iWnpEiH2qaydmxvkpP;-6Ka~k>!Dsm% zavB`()a2uh5P||WWEyMCLo-M*4OOtb{!bfYe!txnc8V-KvG+O5hbe#A%ERwzv0C#s z)l1dTm}@q&n%93o2x#b6-USce!edHE8Ox|~RQrRTs)2*9NLEDRe?!hHm~`oR`oQFr zTCX2i@_*i<76AKxt2Hkj)_j9Ag4fqE&)#A}%ZvQ#jw>d7I!HIfMb_1S@5!H8(yUtn zNLiZBd~UW6=zKVDEV{D5{@@+#KnhC!kt1L_UvQSJ@^lY3@T7tK^^D1kOj3Jo(!<c? zn%KQaid^V2aV6)LLX|jLvirQ%Ld0F&;I&#+b=aroC|zc}JFelu)C7;C<2~tBk95?> znENXZoZbyfPT4?Xiy71r@BO;yP)R-|OkTX-->UTcGiz;7i+fVOpT2eTX5Zg71S+ap z8v)Xba4#u_ztZPM=JO!*y-Mmf{w8vh{CEOMPv$o)hsuPRkTYAJO-!^4<W@hJdiv?e zP2i$XACc*0`?`{4@ym&UU3om34Me%xT!-oB^7}BxlVx6Xdm-_!ILtI+u<MMJaKRSf z2?qu0xp%^?IAO-3r*+C}sUsdLp-jCAn3NhnM}Ci^obOhfrSNUMokTRwq57uu1mohH zf^yiI$KhqCA;sSOx&JexVeC^IC8N3f5J{`UAMGe{^k{QCQ#VAAP!S?D<L>8R`GDuS z(@3bm(flqZ{ow05q{C|6i6+^##JIKlh=Hq~nZL;zcB}W`51Z#oFV?={do_-;+<vT2 zt8MCP|Gn7r9k^#-$-Iw0Z_BUQ=g8?dI~I^WwrYG3F=XK_6?4x~yHic0YjiPDuU^ZM z@selTetUBox2~kK1Bi>iFCGnSO%m91EX8BBf^O{0PRsuhXAL2jWZzVdZ}t=lpyRWh znx>x{&^5pxq`ulaN<tHt_CARkSUoAP=NM>lf(!;>r$h^Sbass&YuvL!%x6%;Rc8jr z&yp2i?iN_7oGm4;v<8q+f+q)UNnOVE81AIhf@JF@-~nU!1+P;Z8Q#Q8xNbq|WO{Df zjbWQv>fq5sPV(<r6#R+-^FJ^(WM!<(eKg7>oS?R;r~NIsC7$GS$ZtUgxhaE}DpJw0 zw^`9C&&+SVNFz`XX4)x=$?O4VY3awK2_mAC&=ooZkv`1N8`&?Q@(0Kapg(Rmx{$3g zHZ7<1V>?Du1j<WhuZm&Z`qY6(0di`GlFq-EP!4GfXK%v^KttBlV>K71bBy5PuazQG zB^U=`kL8ZY%xKR9^RLuqvs8EMTfnSz)9P@^9tkD__(P?io37ILO?Xtk@onh71J*OI z#2q5Xzvq<|Q+5Iubcgyl5qY-BW4Tzg(oSQOV_F}UYGCDLs@yHlUuayJdBA<R#)dk| zP$#XLLuuBo+S$qxLStPdY|8hh+EQLaF{Ij&s<rlaMWFJIVpdeqs)$b%g@V1NI!jx% z2vc9tELmWz54+{m6#0g|-i_qLd)0c~{6VpCjUL0)8@(b@?RgRfokgpVIhE6N*(GKR z64<PIu_OFrlcmT5wF!DXK(@I}KSDlSz53e|O0AJ5@m^7tc2d;~J|jMhZUD;A+tH>; zj*TA>F{)e9M{1dJ)%GQ#PNdrvzW#%^?jcC2M|{GqG)42QCi|P<w<zl7ly1|J{^c@X z{t~9o?d|uZ2OExMdr~bk^Zu3EW!Cd5pX~v0OI25Khpt9mhD0xq4>fE|e=7JQ`z0i7 ztDz~)zKVtd%k+nC6&RX;feGHby{Q_}Qe_fMr(4iWe0X1Va&@9vW1i|8WdGjoX9c3j zR2pz6W)0>OmcsT>7+sQ7SM?);i<x^><RWfQGX&S8I5WCbOvp6SlAW1mIQbhte)%%I z5=lPEP#K$&rv4++yS^fkud)f#cs#_|lZT^;<Rg$I4}A2{1iCl9(3jisIXkTftG8Mf zW49ybYuy&8UgFTh4Kz7Ce9MVR_xwKd;E@k+DX)X&yPw6sJzGqw=Z`SyR&O;zVr(G` z370;HVpG+lMcD|wzaJh?4~T8SU)QYkf)_ZVlPVPUi58SvmY}st+np!6>4ppBxe0#0 z`e`-ge*u}zQt2Z@wNiNVh2}&Jai<ee`S*A9RnW6bTy11bBJNlY*7crT!$p;8%&x|y zXGH{A-MHg#yLy7xbXU|0n8e1E^{-f)h?Y_S)~gf0&0(j-!5>gDKL{J0V>KEyyG!S1 zk4dM;g0|$v1%^9U9>gPvk9v}Owz<Wewch7s7&L>;RM+Tz%<TwnMyu!0$LD0|@v6=! zXt_g77OD}%f0W1YF+s}FdhR(U?$3Wkb$v)0J?G*6fey%4)MD)cK1x^*==q3gf8;?2 zS&>{w=R%n3X}`(Ud=T@aP-uUu8)M(i_-}?{XU)9RqEbN*3T8+FRDS&WwgT#@3kKQ; zeuf`EZk0Kk*w6*48j>)G7N>t@rdrVr&hklp&~Vy$X|cM{!50ubS7IzL6Le3OdF3QJ zc%YXL_QEVK^2a>|8+A`aF+IdM)qZ=LH_Kh=ZSQ4!*c90Ez@MkMOT&G$q3K0xs<I91 z@HEo3bv;iBWGHd)Hm(0ikWQe%9kS5$kkB;bEg<n`@FObnbnjHWy;-2+q=>K@M$}}B zTbZe{BDc6BzX63{mUDlohQ1MU+<8zEDM9!O>3|J<*jeae`KQlCQLUx!xPWKl1oFz5 zCq_`g=i_8NTA^SEawnFNVdbRi?ZC`q&`q+dNEb2WkMQ7!_W7DkM)#l$1`iV1kT#(7 zOe_6t<g_;&EuODbG??@R*U=pUKbkzdf8@_*fDeLl@xSRhP%v1_b@29@^K?h884FA+ z>+fu~yw!VI^$22|aa8xp=Pqmwvm%1o_rmQo!MRuRD75k}Xf{N_9sMNI7OFkfGK(~D z^4dYBTKhedQz8^7K%N<0oP>_2AkU{ppX;qa4wqy)M|E-U)P&S%M~n;4q=4z{c4%KV zq}}hwvMdJOZGmwBehmXNG3!yjhB!MYeao^MGg>{OB;*@$NpN^sZuQYU_5BB2hHBUc z-rbZ=u?_(ih+5~TtfrXBZ4*s)WW_d~O3grv#KOVokvg>BKuAo_(@W3t;Ks4nQo#;9 z<2wMeplRG{*4RjVi?%<sQC4d1koOeR##3^vFO$&%y|aV+b9<9ov3_Drua2P24y%w; zKLr!W%48_hLyzHGQwLyHR^t5Sp%`sM#Sr|mFXh8CB**K84gdxcdJv=7!`%@aLKnuV z)#}yuU+JCI&liN9q3^qo_CT<b>RxPbMX~3Vu3>)zTMKL|FZk#UN;0lFl&DxwtG~ia z8KS`r8#yKFEA=_WzeryG-QM)2pBSjD2OdD`dJTG$GapF3f<(t!%1Sr|eo=;Vuj1-M z>88it$y1>IAV@G`$l{`$Guk2P87tQN%AQ>-ce1v2?>?oF$j*-;Jm~#R<a6(`F^ZIQ zY&xzOYi=^wL?QI@u?@`G2yAM@5^Pq=coNTKh%9jJZPkaU+5S;QsGCS;zuP8$-e=8f zTKGPnzaaQUHxosu8s!s0y0D+7Okv;eu{NK0vIfL{IB$9dleX#xvj(Qn{79Z&Y;fCt zZ~h2jt#!1;^(7XBL{51M7qe-;|De9+$i3GS9l3LAx+i-Q<y)GFuB=jRBt7Vm+^EX} z<HCBIyNi3UGu;$fidMx4y@j*=cjasnYOiC|a|}x?<b>aeA2E2OTI>Py0zR4DBIS@B zv$>oaVdlQV9|jia$^7wQVK?}wb}$~OQg2566sI444A)mp8Z??b!K9aQsmu<xCuVub z+`*R&eQ9P8NMxjyAW1)^E~fH%7NMXJNh{7aDBi$nF+E_2{ORT^>J3tnpHVM}=V?$v zyhl~sAGwJ#5FCC>pW9-2-1;|A$y8%<or>&!3$ncw$YNzlR>(obq}IjZIo`neZ4R`% zhQ88lZ}~7oXQ>&`pIZ#C3fwE5YkDU1MXb+DI&&Z%&72=yB<~sXg|Ea}gVM$USW6fp zz5d%$fu-3snO<M_KGj|^+fbWDuF&QhCrA;Ven_t9*e}s^f~5ohuNHOKcJ4<C(wh13 zO{F@<n*xEi+O#~1?yjAVk6`}m$-@O$^$}}&(w*T-J99+$w7HR_&3Z=fg(Aho)x*h= z)F|bLjoy24B$8a>zF$pUo*^SZtIz?v)stG>H2j`4zwG0xP_DRFPDt<w2e??g#<Ax3 zLTq<~beci8^$B6sh=+87<Lf>!qO{QyL(BAOk6Tyz^UFbUuvQ<qQ+P%;X+E#Ow2a*5 zPfgNsyQ4g!f`n&_t?Z%n<RHM19nEO^#mu^zTiPGMJs%)wtq>^pzLk?4OaqBVhXNs| zm?nbx*9IAGCkx*Rr&BG`8;@>8mp|z|oNBk#lbbfu_sK*{L>;NmT#X#vxy$@ZBRlnp z<6Vex!_J+S7TusE?)wa2W$bajBwV66AsYJr&)%&PtG5u1-V*GVK_#%O{*QDLhG_)4 zJ|N4boO8yF1R4fx+*5xr(K=PvSZDj>T4K`oxEJ`Pge0EFPn?xHM$qGObR7CFS5;$) z(u74>bz|Mg?z6@gj(){Jva(XO<n&1sCzZ5*866)+_xQ2arsg!)L~*#MI`2-t6c;(L z;K-mS14=SUSsTJWM0eoFIELTL^WG@Hu0U#bFX9MSTU>}0$OPn15_9^Frc~-)i4q)i zt`JQ&quc8(RuKw}9&is;U$Q8*$4}jRS|%e}0jNr#wfVU_HN1FCf`KG8C8vp`AcO71 zZ=uRc9_E~pvsIE|Dr%S%q!2$F_Llskp$d|eiqwP0{?&=9JSQ2v``t**nwoKbW)G|Q zEEAG5XD9XXFW=1SBkTv(Y@5(y+&YCTRqE^)`xOB(WFqSm8&8O4n506(Kn@`p1~QTj zpdNHAV_8bj-XjSQ6XbbWFm$6dnL=!=7rc4;4uVu;4Z+Ufk^N3hzg_}UfyK{ioq~L= z`mjE9o5_Y|$QjISk3WB#@?MJcnFq}5Jl2mcl8_@Q5Btn@-?N&D*G5V_pEBFJM&7$d zQ1gL?@1{;}leV7M=!BJ)dk!Z*>7Q<0g$u#Cyk1N?)KrMpDAk8}j{5AAKuD~lnB7@q z&2&3uXU)uo5;o{L$i*RzJ}J6lI*GL6!+>>#a7hxn@??|X1M5L}{l_I=9q*_yryU7Q zB-8y@Dw!FRbSFfl&U%Fh8l#;;WX8m~4k6X8l=arwxj+x8mrPv19Ye}|9>wrRnRE|U z+oOk)@TtRU;t1x*j*W042q@cVb&uE`%aQfKkj?r$r?_B-(o)8+-^nyDJ|4cM!qRki z?q_LrZKG6APo{W<F04wwAj{Z;xdnwU;~cQFms|yKbmi8Mf&G#Y5;O!UAne4u{G(+k ze}Z2B1EtFwqo1bS)OU+!-(TU<=j3eQqjPhf@-sHo$zH|c`RexK)lB~%d+!z2RJXN( z+C@<TQHt~+O(_CO4M8#VCZI@1rFZEB2-pSb9Rz~X6p`L*1Zkl~0#ZT=B^Y`nK!602 zv)p@s-@pI;pPO@cF7~?MSr0r+!d!EWG2VB)V+@Koqvg93wB7Sjt6C0d6>jbB<zTeO z#`Bvy1q2-FO>Gdzjmn}*&0CD0NnK_u0XqnxihD9-6hfhJLIJ(?u61Bf$qP=Kzky|7 zG`W&On0UeoQ5A!WxO((AnZpcf5o^0YXZpA>-ri;#3cXv@UM{LvB)Dv_Rc)Hd{gJ@$ zf!-~bzQTuW+S>z>esL#jTylO{%NZi7_}v^}tLNDqZh{V0CDtBg&B76z@!l`BLfKq? z)6MSfZk?*@nTMZ*_0Q*Rz)#n}j#_8}-ZR7kHpC4Nv88Y|Qfxjao$(dXL_S%2Z&e<y zVi!{TTT+TKgJkswh5m~lQishLz{1AhD%UY_+rI+qq)Q}|g0;9>(f0azA$Lssd~>(s zvwtS#O5XuHJrNQTN#Lzv4Ng`!$_KMD-vv?X#nFt$>!yZp%AMqMn6ycwZCaTVS{)~b zj_5JVwn+=%{U-BIJ-N{E0<Si{!!xrN_FgYnusY*XMuU&zTGJ$0fA*O@A)`iM4~Ux9 z#0`&0H(;tXM5P<Hqn^LK8_|s@Op~vTP_TazeSbl3qde${G%IVG3(o}}Tb+h?>30ld zhYauz>-i4=<C+`FLJ_|ry54CMo_Mb4ZU;+}X47EF`HcJ2Y?}UeJAorP6a5`tG4A|N zz){Ra9>qqn&|4`5p2El6UWdE1Z{5x>FNvW&xfr^*(V0?R1S4ey7$QH{vE#8mwZ}T{ zxrJ!>h+kEJC*MTtT^j5A@}tW2V%$g{6CV1B%qw^ERrd~QCIz}UGx401CG(g?bB&&! zD&n%287HBVXf)jYKzI{)3&bqE^|!e&FGp)(y&e<flOBl#JqyRm2qkBUs?LF4-*J;v zr)a~PgipzL*EWM)?v9+CJUTU|6Tk#PhCUR_?4Z2tQ){edJKyulD>We9ufUoy7tNVQ zs{QrhydxElp-0#Zy46{o_P4#%sVkRo+=Wk_)^DRyb>mAp0*tnQM11dku}JpG*@;U5 znjzNJurP;%o)eF1`NSCgEhK*}aUI)IGe2<GpF9)A>Pn@zk`QIp)6LS?iXZk?)JCtM zd=cjMQ=;o9k*au0j{xQsh?`-4{h(#Cn$BFFv_>k0yw|{*i8@mHJegduU72aoqtm62 z_y`pz0KYj5zRuzoO_Vj&lltnlk+T`$Q!F9URgn9d&q^w)wNezDdlMCnj;b4squjnU zHd$7O0DtN?uQs-{t$vtmx!+&O!+346r->!1ymEvj=!0doJLwV&lj<@4GUk~=x}9T; zmmfpd+z@7KA>Olr5iQh#49A5lDxmf2%6Z6yiVwA3ns1J>-6-&Q?p;AP?~)d!mWb%0 z_0p>XOno$eQZM7?IHKFY;Z%%>YnNc}JD+!JS8f3hQivx=3s?O$=%HwD?483OB3GtY zKI${dVcc?~qh?H;cQa#C*!X1Ll-C!}$cDJ=%O7h${75U2y74hfR=ec}JYXiND*nah z8>jPQ-v}CG?$j3ygu@haH336mBYIDL9}zOS&gga}fe>BQY?)f>W>d^~)YBBv&7oLV zopQv|<o8qwJjaQ<f5zMMHMq>)R(n#x{9+Hs&;-zTDL8K8#pLDXCVh{UfZmLgl@m?w zfIZ{hALz_w@A{GZT4DkuK)EC~;3lN7Fg`C)P@-m*-ysJD8!AGG?G=~rQn)!33U^MP zoZ_>)v>v<5K7+#o4G1MjS(PE>vC)NAI!KiZT}@^lxL<)sk+41M+l3X_z?;1<1DDq1 zMJ?k;fIb?CC?GTtMW_5DZ6u1G6hpIQ>5a&qX$xzHTFMHbm`Ks1!dJ)NCKCmVSUi}> zJn^(3;)DG#gcSgxSx=?eOs0LEsJqGucC?>jN@|4Gly`F_9nC+KSoavq>x_dBYPy;U zSEt{f#qupF-^lIJX5|h+O^;s$eW^h)$EFnA5c%?o0Y3_?)lj^fMt0CVHFEZ?2Bu%I zMok>qDAjR)i1#Io-z;LO)igC!FWH}{DvCX`+Z?pjtQDB0AM^|5i)nO9T7y1j5$b}n zbw4^5jv}8lLb5+WZl!{hK-px;*vLl4vb7kW9^vhMu7p9o`^Fk0iyyK?tASWTuggP% zI9X4fr$qE3>zs<<Hy&GBp3<8gFjEw?Kk3lc!Oa4(VsvOb!L}GZGG~*nP`b_)RVOKG zD7+En%)!QUL%M5M%;d!Nq69JBM;FU#y^>zf=_u-?F&y#&+#CJVA=<(ms|!gQgpm$P zPX~)^Vd!xOkBv^RFU;`5?JyaU?b0sDyZk?-nD=9#znz9kL!GuFQ~axR;|rB__fa(l zCCPV@#>lK2N?0?OoNnSPEgMz0GVmw34C-A+p1wDv_eJpSdpB5O?tefu0Nok}=Q&s2 ztE{0)+n|v3=Z)!=PhHJ#Zn&8tOit;6d<`hdL-tmN)u?2xIBbF4q9QAGTe<7)&f7F~ zxbcOl)9aa$wx!5w+<t#!lpaSh^Tmt^P>Pbn{i{+)x3NRDXVSGkyqGvv>E0lH`t2{? z)>C#fh@oxSF5g_uvec>&eubVJxAXbCMM$pw{hQu!SVB9u-5m>Zwem`)cZmec?+h^7 zIMxeX39dah$NTwir8l#O!8GXOsh@hksva%*tzEYX9<5k<7B-OH@kFfm6&Y%6pR@#% zNsYeb)TfrRd43LMra3tu1RYN5eNP@Qa6Hxmn8dD}*9k1S)t_Kujm?I#M%uq(Fiq{L zT04h7o*CnQHE3Rvv(p)c$UJ`_0S#jR5DRO?NJbiqV6yCng*6TN_!5ZbBX%WVG-$Ri zjlGun<6y3IrP5SdtgbuPUD!EZ<!fD!y3A%=Tsv=~$r;NvMqbIXpe(mXhK>kpakgG^ z+<>Kh8~hy96<i^qxI2%CsP?!?sW3(O@^QsV#>p92=5n8k;bC#e*vX((+{;xu+=&-; zYK;ow<nZvm4VA{6DwN1h<qmWAbr|9%Trp0{coV|^Q)%eywgX#?z^^6U?ILRMPE_Tb zxn^NJ*v0B9TGj>1X&VN&-Of<Y{B_Inz6NXyaz|12&8B(B1^>2?<BY^{zRZyyW4&lF z)+y~hCB6BnkA2~+4b0P*C;B?~+YsRu+I-(W37quM(l7<2YFMz2C^0t+)l~Vt)-U5x z&JdyQ@pE$2&&+=RWs9J-5@FW*xv!7)w#3S_R*jryQgEMoAS@$ZC(8dqN7F?{!v^+V zgm*l(jEAaVxaNE4=+efy;3iiJPPbt^w5Klr+$=@xtYb@V2a$geN?RLLvBHeHK~iyn zq-yJ`l#9lPI$QvwP@<)&ulmS}CmVte3VVRaSWY*EOUYkH>vB50>3G6~6-rET5?xR5 zj&PC*3CanpO<tj!_H4Nuf$Ze$grn3sh?UY&A*JvQ+*dFGw-Bg~CC20IH?GyZZQbPM zlu7kC@x<*-DhaIn9QpB}c^15dX&nq<V`OOvm|3n2QzxJAN?bXq6m1C1h2WBGX+)}P zh=vi$)1!mm;m)_5u5SFC7=6^7y12Wty|}*G=aE1VcXqVO<qblkDCCyKiudXUR*ZJ` zGa*;uX>x%zS=v!P`8=eJJJ~-(>cdyQY;O#ac2oW{Ub6vsws;(m@dfES$*f85IZM>@ zWHZzneZ%~!(yke$M9B@r5M|~PM090ggZA94vwEfc@8ZkX?ATdVy|@|XzTtIdZr#}A zP25PERI_51=!Rgjau~kHt1%q<`&w9^U`{Yz_Lq@XzY1a1e0e3p@pk)-JK7To*n<r! zmaPH(>Q}Omi5(_!dmqNiSE63P&warfcWJlp1Q+#}w0YI~$our<3GV=X2Q_I!#1;<v z_?3Og>g`H;@0;{<cDd>Bg?;)r?=3*J{BnFC_k2db)4X`*E5Wl0QK`Z|J!kOxKqyyw zM*DjQAFD<WbMLD&uH-h}_eqHNOTM`-W>=pv^Up{6@GHd;eVNj1CNjk*8*a#VO0Yhj zpbZi*G$<EH|E9+k&Mtrc<Uq|!^p9G1%%^Rb)AS@Sb_UgOJ9M0o9n){f4ss3A`<3YO zK?@-mY$ongk@fxxs_w~Hd-|*$pF=EXh!ey#>lZTk@p;U?PQ!+pW45_Tpsnr3V|?}I zB183Y)MmA<V3{Hv`_=Z-jvkldVSlN!Y_g#Z-Lnjg&Q)VcoXEeL^i}Khcup!KhVl78 zMHC*E^YQyNmzWG^!ux%Q%RZnO$W1C?1JFVNL#5G>hT1^^9UoM!eY@N=?XG5zFZArP ziA$4S>qgW4mC0nq?qBp_)B4y^HrfphQ>h!*JQ}3SKCa(96~oKfzNMqs?kfVnt|D@H zT(R9h#l9=6J)*rR>XUklwSKow?vKx>DH;Xg`RJn*7aQEhEkEZesfC-M@)Aq8(6rja z+uUzIgV_Q%`y=HZgv})9essDTI1*i<=d)$bX2~4WJ>I_8TVo;_%|69-m?@`ii?%%R zEw>uRg$X!Z8zdp7CZFiCV)?qUK2Q9i)XGO+<X+U?f+5sDRQ?bUo*xcTi*Tw;XdUp) zBy&C4i1etq@y>Uvzd%)>Q@fa#$cltqifVK1^sjqMfxh?bjbiYTvG_rANlRYX6w%!= zyNY&M5FcN#eogihR$*Vbh!Y99@FLu{fxCeTZ@Rw4XQZc$w~^zsO$qZdYBqez=WZMC zz|mvbpAebeu<F?D8)BOu=xJ#&4~P-u*s<r)3|Pz;6<v_S&BN$c#kk!xtoX6r?RTpV z;syP?$<$lB6$M~O8`-2dFK*aioE1!j6sFXf&e<4%Q+A5ghal$Som+2^1c}>UMbNU+ z1ABCaCrT~dE6xsGck$--FN2Cl0(+L)RlZKxx-xEGrgY5tm`gj3I9?ZBUvCv%$qW&C zd5YcwYB`N~K0=@sbNTLq(WNhU>v<LllJjX!vLO?`5`feyiWCzVxech5lqfB&mKFx$ z?T^mouVYj>xL}?ngLeu9ii;o&{RQj&o*+m3IibehMSZ;(=)<-s%{vOIGgoL+7WHr2 zyRDkbJ(fa+ijx$Yzg|pe_M;xK5g8d&W<s7+I0Q=_Xngb<E@kTQ4RoWRW6t+&nFS@2 zapT0sEbC`>Lu5rsM(Z!^_I|IxgdjU7eNk1n3mq+6(eo{F=gu6+N4W;o)juF*`OHuB zrK>l9JY6!Ak0QOCkvw8(-HcQ3btV`vtszP+W6n&=K?dQFlvs)8h0V!gErc%^)DCM+ z@R$wVZ_qsSUT5&_dP=$MkqK0z`lD2ah);@>t4qquivmIgq8Ou4L2*`%9*?Ix2b)=C zgzbrv+w#4oRg18?ZEHa`wokk0dcZ$i-fXtHydF^z=49XO+H3v!@&YSk*AwZVrOt1o z(e8cmJNhe$uVr9SoGAn#PXqdg!pRB-jAh7-CqUC~6m>z*u-fUF+OwYfVR6k?7_4Ey z!=<{Eal}DJp0$X*ujob;e*cd|FaO7jZCO3Cv?2<6M64j;(pt;In{8buf_pYJ>pD)H zV`V(pbIN_O`bdrEBi!pHbx3-%J^zVGuvEkk)7`CgtRU!Ey1RpqqLfnWEoM`_3$jOR z$g`L?m<~e0pi^aBkHCiVqzM^n(W=)Wn3NtWo=6xf4c?AgQiOh+@G%D!edZGuXZOfp zH-f4s)#&kqviD~IQNerlc>CpNiu7EG{UUi~3q+dn=x$udyMPC=GJ_bsK}%(khioQv zJsH{OJW0XO$TX3!>GcTY$7J)5pAjxemIh%Dnasa92@jghKL3{9807j>?(|)Y>N}u~ z^hbThq9&4BUeL=V0o_A{2znoqAg0$LP@2KtiWn8dFr)5Fu$;f?L#cm*y%xnEFBZCM zA8hE0X$^jOJ<27%*}dUg(6@Yg;NsI8lv_!wdKW>5_3~ZW%}ay8&?a--`xZyX5upVO zxsQe+8XAH~vo({e=qmV9V74VYD>6DN+E9~sGD~~{q6#Y9wVL`-4n$d7377P)$f9!8 z@4w-|R@Iy1mKb2X6MPt2^`nI>pUfGP<;er(<t+0lOmSQCaL<Ul00T=gjFV$U;wDJ> zIBU=LCrl8$yz=v_$l2iKhc1F(`8_Lf<~u-cP$3KM8ED0Bl*cqGzVRqagF_k?&2aT% zgM?B0Pf`}G2YQpmU8|_CEH#&+i!SzONwH{}RvS&Foaf^edz!H(8KYSMX_IzITDt`< zXuf>}70c1nWYGKkq{FsuzBBiA4^4A2JNDed49|2hFqP3HEqYN}fZp|-Sy<(Z@MKe= z$J6-(Z4`NX;@v$ID6@eH!4=vXi1kc3CeVbDdpIe~8K@w9?D>}c1XuiQG$*)97FBUL z@_y<jz1f$a!JMOG@6NQ(IST9Iot)dxKojvNYbLxR`W+LFEZ)Wqf@npIT_?JpcI;cj zqUJ!^d%ro5E-&*Zy;gmjED%+{-EEq~J)-+1wg)f@HDWT#cnO2KjK00QlmmC=<hA`S zD!chBEid$z=mv{XwOlx#>kK<Aya%f1GSv25XGHlhWwnnLT7vTJZLx(t7dU*?v#?Te z>WuoYOhDT5X1vvym$lOAWYm+Ox_+6;@^W!6qciJ~5Ke!Rj>}iaP@&axM6h^|_?beU z2KY4!A!2S5qM7M1w3tGoUiElEkYZWu`7Tf*q2zWtaAr(-aDb!z*eQhUwoCnQQtM|! z8PjvR-8c=zWHY;-UXCodNylfSDbT0aA#_kqL#s|Ksu0RK%wG0jcYPaa4!v#Ln_J20 zwbh%j3uUuS?yA7#N_3r_v0R#rSnBafZbe@z=qZCcUR)e(67!I4Vw$bHx1)SdvuEq; zL6Cu<mTW_YM6JNfGsFuC{veeLQ8P-^KtBJ$W8z)1U7<6Xl|B(I<?Q;)Phq?{+Bqzl zv1OmP2gXCF8QGf~T~#@qx711C5JY_EbLm8iGV7shxWm_h+TdOp4SPn*p8Ma_3NayF zsY|}FG4?3mVO(tV!|jYSzQR8bvwN!~CV#zam9Ec*Hvs5-*MV|;m(yr_v2}o>lX$Gl zYv%AxK63aSMb7ecd3wlBYv<<7WzK|NBYL#{L2Y{VBVbG3{;vRXQRJj5Hshwo6KPn2 z$bBF*YTn|cO;}h=yJI4gdrjE%^&LyzU&akM+w=Je$4wBkv=xO*;yFUolD|ONe<l(1 zocZhD8uD@_VfBOsPoIkRbgc;VTkkm6{{GT{o}XZP`i)-)3z*eMi8UqExVn=ksBI+P zIC01l=}}ItetO}U;k)SwnXq8Z{4V!hyj!riu!LB6?{gUr*}P=WMEE*O!pP|{tE;i1 z*NxvKf|Bj}trV}ny09)Gg=v(lOgv+-(qsy~Sk!-lm!SD!QUAq|fm4D1TW2X(uQmUE z>H5Mqy#=~rxlumZt$x7;`XCGmYwuspo#a}52cjEtRrz=ZP{jTt*p@&0X2_xOn=CK# z`w12nwJ-X;i2ExOa6fb;+2L4%Xb|OO(f|}6Ki|~-p>2q7{Cg%bNlw8KTRwh*<#q>~ zznYRKIjGPp=Dl32KInabx`j(D;QrbDZ6;GAo;VzPFL&pX!lGdY2rqV8`1n3oyR?_8 zbr<V~uLdQf)ML%^Co9n?4LF@Dj>~IJ{zTTKh@|1*IWKiaIZ*I55A+D%q84Xtx=bO6 znqUyE2pbygjAEofr#qz|hRctF3X8jyh1H67b&#lp5$>pvdD#(|5l;AtqT6smtBNc| zkzOVd67CDxNI{u(SP2>tYS0;X7Bn=%d%ISRo4DCMT5E_VeAR6%!(CmphHb;xqyp#w z*C%H$`?*J1!t*6H+oiw@O}V_=maaazctuz$>x!LD%WI(s_534?awTBiqeXTuNnq8z z5INICNd0GsqG_3rjz{Tpnm!eABiuMY3Egxd_UH8$rdXB8icgP-j%-h(b>b|q<P}zH zjSZxKuS&V!I#kEGfC;uIAsXkvcQHziV5d#X8I`ApS#PDYS93V+){+$@qio{O=-~wo zS0x7dYZTTiwhwYR{qKb2+9qDfsm&I-8r1c>89HTPbKh0d+`7C*ohWek>@a2P-0XXp zr{L#PaXb^h$oD1CoDUPE@;yFDbt}}Qd%OBg@A4tMtoc^Bh^j+~Ub{1BMg+^0@?lco zxtZma7^BU8?bVE0)UjA&BxR$aTY(bZi2sx{h`nuu%%ufw{O0VfGoASzJ(qzp>mC&w zk}^fVgQ%04DB$%M)cN3dGWI_Z9Cxc^@@<xrLUUSP6iKmJjI5e$yRE!|^z6^WWm+6( zbc1Z9h3g!e-qzl>7GQP>FQAC4)HUR=m~<5oeLPq##J}JhSavH(fGwLjAH}9Sol#r2 zH~0e6WH?%vH$_cmJC89?WE(TP8Vt+%G+5O-VAe)GVz=4&Qa8^_aDmG@sMGgt@JCzw z-J>suy{jlZ5z*(SY?oo<_xHHoNr>qn^)*IQN}8)2JOmK1<#a>aMHQ|yx~DEtuqAuz znhjl}Y|G<%nf<-bt8q2v0zk$6O1bmU^~3DeLFv8Fg!*;qr&`tFz0YJ8>Ml=oi3aw* z^!-7!u<UPBFrO}S<{F?pc!0DQM}<}0&=?CLIu^(Nk@I-yt!Vz<)$S@pdkqc*1wB+| zyY94J0YV2#Mz7mh^u6jZ>li(m(%RzcD4y?d;EB(E<sF6djUJltDp~Gxf^r&n?;tM2 z-!e(H6zAg_KF!uyky}-ogjHJqEjbBHGip5zC}Eh^DH+ac>8wMq_hME2COHOrUY%XG zi~Pk;`qKB(z$_xd53ewA;?|H)zLFCN;<agziQkVtlj<ST4mu0^5&0gP8<_glT?(p5 zY^sJd9IUiztxxyNw*x#Q2Hi+(mgb+VeE#*i$AFRmPs6OAR(`h=x6s|8_0c*m55u0o znL{S4>5*S0sra`{Q5;%#Y_W}wVV-gle-sKvfFAdsY-x`nATE8}`sn-AxJk0;i&0S3 zmhdb{h`gDS(A8KIafXG(g$ruO;@#Pb%`f%xunk<?m-xVFQ~^IL_#u+PzT&u^%gw$X z2@obk{+7B$FvvNw-2?5NOyHSDhp_8-gRV_LUR4SoYb>!`9eJsBZ)Q5;vj?L+uZ!2n z>bhhqQ8MD9<Iu&Zw9kyWwJ06mrkQT^uv<$Nf8s99=6K>yYO01XYi;+JLHzexRri76 zQSvuAX7U2x1^Wg5X(hX}83x#@XFC5&$|y<7OCjWoU(FU+{;f4JHtJlc#e!||3eCB{ z5~w<hkBZRJRI_-58I~DLyi%iLMCjd$En_tvO>ED+Uz=~E35ky^aOq7S=gK(r*N&Rh zx<<E@I2|dIufp<tFo2<Vi<slGxIOEB7bu^l(jW<lpx^Zg6}J=CAZv#+qa%cpHnliw z!dRzGm&fA?@@rI!YP<6Tig#_xnMvWPv8s_eZU0yWTtKk?_WFQ`X^jgt-4dcL7iw1N z+;^arFc_d{&9}xScBmbv68=4_N3N4L?apqLEr;;Ko-Xxr^$kg{3Qj%Tle2l&T@@+U z-+rdH+Z?Ex@tIp}K}`^LJ5sMZRx$st=L_hsq0lg(OQN!=#u~Uz5<lG9#|3(q>4ybW zaC!h?l4TX_ZyT{VG~9jYTmVd3v%AxUfO!V`%&v6VuYNC1jL}RL$&4-0Bil}2TBaL9 zs$}7WtRHjhMVDZZ)`5hsmtC=6kU57;mt=0NH<m*b0WfawwY{D)RJXhUUBT4te)8|I znW*!{IU>o7QtSG$GvimHg5-FtSvYgeMBD1sd&vcp?A1N?7-bMzq_#n2+rzbz4_A0D zTS3XZ#Y?+-u7s(~fNV9zyc51Na2)l{I_mCcOM`!dP^DmYV7ND+G@p`j2?uiW2o|6j z+nP<7hpo^0z)OMAhzm9?f!Z?e^Xd2vYFM+HIc%mv&m4SfA}m<nXCAda6suLFZ>vJ< z^FUF)_ay<jW1+xlFHYRM*V3{N2P0H|8EW8W_~6v}>mf;kaUR;H8#detjdj%a=aBDj zUT>=&Ed2uT;0AMny%hf<IHb0Upvb8o=Gd`m_{1Gm3x8JZwHAjf?F$gs3ufZHB1V%C z`SS|?OC$v3F8oCEN9~dKK=<|n`+%eDsR;xIBF1}(!Q)z0nJ*=DwcxQI)beA}mE<^8 z;GqY;v*|3_yRFB=w_Tn#&_6D>3>QY&n6^*5!^kn8Z85b@>n`>bbeo;#Yy1IBzHfJQ zd!097z7hSDLSFiOd?i;5j&_QAbDDZ^gCgfcXFq;Q<hW*x)*HhstWi?WaN^an#`Tss z)$@(JT<JIUd0Fjl{kSlG;RUWF_WJ+c^FRN@U)TTGlRswg@9S^vzxtn7^snn*)ja_A z{j=a-*I&ZLe@dwSTKM0#>F-s6o4;~B|BNU9TKKO_@;?FgUkm?*w1H#t_o~3ne?RiS z?Z*Ec#{cf}e-Fn0+rgl7a6lY2e0I7RQLHYuX65cCpK^$?o-K(^wlERc<_=RL{4Lt@ z^m!kG3LN-em<VitAnyI<)ODh8)I(2?G3jnY>vXG-gV&#<3W{rmR97+ID^o8xd@GL} zGT_tA$un`1LOKvyR%alp<1(w1+jRV#Z=8@+%jRRB<pih1oWOOMr4_rKy#M||F;R#y z&8rsvC+Yi->u+mt(0%&Y&N@@89t3FEj(X$qR_QP_5H}{jKdefV-zR&~lcs`J9;|+N z%sDQ<PnrxD3a7=<%Q(Xiw&=QYL@>70ZqT|J0wX4sEhs3HvztAxW*-28e2wApjG<P@ z-n2X__p+tZPG~jG+l1}vCn+#O+^kXBp2$=&wXqDj@n;+Ire<ifQTV}-V4Sesy`1{O zG8)MiRmh|1zVLqy(nCaG^0WP4z~=%Ng1wR=xD`T;Wj?$3+;HFCzK}=&I;kyc3ZVG_ zHV3v?Vwk9Uu&kQopSer_wzz-V$P>B$yKftk{0}zqA8Y?*LP>ea1csUk#?h-=sh)Zo z(U~4R)vUQjUZx1ukwB=71DRyMk$67AX3{5xuM$jG$0eXNa}LD@>%#h;^8wkX#%=?1 zW;;ASL)R;F{nEevfq!w9f9kmc6Zh0R4(=_E#;GF&7b_cYtXL%z>e6l_r@OTNsnq+& zqxstdq!9kZWq>XIhpYb2=a%|oz3nLKl}l9O@oveh=;rNAd<!ltJM@66DuN87Z{e{E zQo>QD?)toIx4v#j3+vftHIr5i6PZ*GP1axobS`CBn9m%x46_iL5V}oO6)K}q>QF^n z@@GxF0^uLREB$uJc$5=PZ-%}uk5cBN2`Gl|EZa{dpY&h+BSF<A^C;$o(sooAwkG!7 z=Dc!fb41jlW{z&yP#`o4iKG6Q#n;&$+=@-woZzD;ShZ}17CVf$?Ebb#f2=|gk(4-m z52_f&v%9U+rH4q%Y9iSOPuu1%k~~Poe$i&lK5oH?JHYrkzn$%d>zGyewUuXXlmX3f ztx^b0O(tXxYnjTszd@xGj#bDg`YxxT+`Q;=`w9}&-SAy~(tV`>kEt+)<smQo;xUX3 z4B}5FIm`d_KWZ7kqucjsOoGVg%T}T<X%j9CTW!H<;(~S;RE6acVYkd{9vk-j2!0aK zpWlG07#_or>DtRpIiV?2THTutZUNO;wqP<J&#pe#2kT)u<`zOJ`106`SMbG>xFl95 zK7HWqJP68~Ij*URgpnHRFs(cO)tcnunUFmznQ|8&QkB8GCE~3|e%m1wS?W&$+_66& zHY8tPh;4<3$9+T<F~(_fx{rs6!ajSMRNC*<;!)M-!}glIl5qKU?XRnC<G59ou@>+m zth_mL=MgZ`me?HxMS`<=L&leuOL~1N#}@lkzzL8z-2UgAY%NK(FT027zv@+}alPRc zTwn-nu4ebT$6k~d&5QIY{J^WgcBIxDtF;T!f4%D+9@pkFIe`FE@O?uU_Q8i+dl{O! z;>xnh$Jh5e$5h?D2iE4o0CQz=NQ;IQ=T3$1uW?C3Fp%2(g?2`l?0a;tRw@<$BeHKZ z`m=m(Ig&E}z;bw@IV1G<vOFrpC8rSqDXyn$EGn)$?4@&}Doh?OP!v_W_Z=*9u8$J? z;lDPc6@piSNljApR4|p)G_>K<Jy>0`xrT>r{Zh^mR-t^d1Ek=${tjRM6&N)?h(7^8 zUDurYIPa4X(~irEpHVPQ>Xe9OAfI6?Z55g1MI+--b>Z}!cjHHC*~sZ2N=>6rtcq9o z)?C_VcA>N^D3=sydr&g5xhFzz@t&Mx!-an!{J@h0(OnIDdI4cHo(Uf^Dd{z-x$p2$ z&1`GmEe;ufj#pY}_euh%Eqw=>)Qt$f)#24w$#Jn=NI5Wo);$avvrsgCcskBDmIxew zwaVay8D{UA-8hBGT0+prn+`|Yz7u#EU2+}<B%@Qh5r!Mi>X&B3U%nUahP57$RWofh z8}#Zg<a-dG+bIDiW1@0t$~9m^^^bxW-AL9t6_cI?&W>F$Z~D5<watmOLVjHEeSN($ z=cG`mWSL|_1bm5p^00aAne-+Pr0-bT>pppPt}h;3T1wC$oBgWU`ItaR@iq~=`Uy8^ zSt*cjr<wLR=Z;-cAcS&P{2HnW^2oct&nqk|6frZFI^FHs_4;wek+-WVFj|FKPkTir zwWpV~YfIPE^6G7N&bmu69Xp=9L1!{D1O!~tL8vbtLvP%=d)5vP!r3%$To~<LrQH?D zU!=Q4)mnA%(YA9?cNL>TDqpioHIwgbm<@yrK3jH*j?5N9vrN^D>2bM25oq&jNqbd? z8aVDdN)Q<;R_6uYnX*Lv9va3d9vnY%<k=Bz=$-q%ao&cz&lf9}Z6yG8nrmC7ehHw| z3^}J=ON1+U_|p5=$7~N5ahq8mn%#)uBd;b<zGcl^Id(%jGr4B~HQL_Ta?23CUy}bX zZ}XQ^IA0mCMZ;rb*g;Q9DfF_5YN-aq=-AR3U*%hg%q}gf--?)xp%@>PBqvGjE&~Mn zP_4)y<l;qEqo<n*PG|FgTC#n_T_?5p&{W=}&knJXdKx$R_vMIyXq<zn7+QN(f_7lb zq95@z{f5WmN`Lfb#0E5&E`4a})VpQu=bH1(?&514FKkf7m@PEC6Pu0tdeRN_J~6_U zM*G#2qYhi-aiS+|8L@|Mbjm}b8B9QF1gYtC@a{^;<so1E$WH_7A9wD%2|o<q@8?31 zwjn)NpMA4#g4vQtnS4TCExWLd_PE%1!cS_}uzW-S@+YYo7r)7pprgpYvcwma>SfSX zI40}THE-Wnnpg2`cGI>6QQJ@?(Ten$E{(4+A`lND6V+Q<GGQw(oSEVdNQ>_dnt~1= zqF%PV{h2}-IUZ%jTnwdLgtdD1J-64lU>C2w9ZOUV{;1A5n1xgVLI&d|JC?I>-<7OI zRPsb0rV`AValR6%|GolWn@X4pacOJI1fmBQ6}=2T7925jyIZsyjiez_pU?REbnEsi zvwmgRbE$gR0SnAuj}(29@1_DwMw=eQGc7wU4UbT_6|aMQ-k)O$8Lo(;4c-FhkcXO` z?Mua8x*toaUbkd|a+T3SW_Enfzr=XQK)QE(pigh|9Cws7%huDIoPXnSTCg$O?NLQn z?@p7l$J~QaDf1(KOC1FPs4YX}K?unxIGdP{Q;x5-q;$NiMuMrmO_wubpAA~tcbFOC z=9;4!ec4M4H4L*dzZ&FZfcczH@8A`?rz%&2%oFJkBc2ZGQwa^elzCQxR$cg32AiE# zk;>XT(H&LVB3-BtQ&ACIam*t=`iRx{xwlf9zs`ow{xbvszWytEgMBB3+V+g5;V23j z;MJzjoe#KnU-jH^)z7NP9|pxV&ETYRqgh_>57nvMz2_ZM{%E4hba9^@cW@oH@pCtc zcGt3SriIY<d?0s!F9i9KHBoAq$lt|08HmHxW%#N6a++@dGPXOg@EtWOUJ=)DuvE3I zs8PfGw7_|r9&-{<I~PW-p+Wbx%dEMEw6M#zEx!YVl&U@tdcJAGxT(zwHYKDmSmp+7 zv2ik=)IYmC2=r4}d~u^Cg_IQn2_@-du{P)^;!#?dowy7I`DK+ydK<@1w4&8sVmqai z8O6RQJR1>mS=qwGI+3`Ue~33Psk*DhGIOV&<N0Yd%fu_K2nyMkd=cK$Q>4f#35c+T zxwVP%Udk^g)e+wdG!c<n8!PB&gu*8ovQ<6VFN)l|xh(tb2?87ZNT7|6c97#gTq}6b z<*m9}@Et5WN3mk}dwuGvMp&H_+LujHC3ItG@4_;r;S&}efAZL7pOab8gKD_C=AC3! zMmek?djG<tOuuz=t9mlTBL%6N+B*E({R>UmWz<}}4aWy3rLg%ARN<q%q81ewDC62& zf+5GbRpBZPO~MQ9Jj;8PPxpUSON4SoT{86;pY}OuDl_!i-mY0fx=XdcxPm?9GMy7l z8>=|-EDVSB)%ZUS@6-t~<5${29ULq{3_O_L#KLq@6XQ+b#rkqX$lK}eRi2_^mWx_Y zQ0FR8?n`FYkAe0J0`rmyAzCRezNYxIy~iE2w}3+1<hzJxTuQDM>gRaCVbUAL6yhYN zQhmf{&;=O1F5z&^Xh~dVmZOOYvHZJ{cYro5btoJgPU|(1mskq_OyZ8zRMz-bF?Nvc zVb!emDwr)sFJvI8sAof*M8)rOHAG$dvZz=Y*E)U=ABGJhNK7*?oSo$1KOO~X@<2z{ zKg2v|U!MzA?(vl|@3*NJe)z~FOq@ImhM&4++jF}sO0UpV%DITwHhyCV4|6MDdbau6 zF1{qsnZ8Bt@!bgg-BYwF{wS0m)U;I9;~cBs^yTt!T@v_{Ew`$#3LAVR%n_HcH8cw2 zy=Y`}D34H`NM*AV9zespxW%M`QAq@GH3f?>Q|2Q2y|x*WIP}rSlR0)$Fhn=ZBlB=W zFtg1L-I?w^JKpL1(n^rgabwA~G2m~U_b>SGCCfy<lFAMC7Q_E&;tNj^x2h0YCf%lM z?FRqeD_|C0<BL7g$2!JyCsnw~ZNE9cR{fX2d5!3t6fk+aSm0uWj>hegB*L2EpvtXF z`v?T_;OD37MR`sBeCgLKS)N0;4w>=$WtfU*3@EUR#yd~Q-7o7l$2H`s%3?2&v_51~ z-3-0?h6-e7dy_~v);7=D4Yaos#B28y6xV4ct5$|gyyuZ`arnk$gsA#(e6wetIU(v{ zt#zR%&KJ~i%Rv!7)7##7_4^TzXwjeGgfx_|{lc(R^Yrii<-Cv!*)hb*-zU##=M26~ zK493u725SDoA-HI!f0!KM5twt@+tq0@o$9sx2^(**h!>>!;zqcyeXng*u7Igd7FDQ zertk5``5`Xt(6T75JpKab?>lcS3f`q7A>cRA}aB;cPojVnt$-B#SA?<TA*gkFx=DL z-8mnJiw0{-Cb>dXx%z0Ld~7il{+c_uo~7rP=sO`f?6Gt15=MZ$C~mE8P>rz`B6>}8 z#g{&`wJ1tUvw(hc>QAq`R{1(~tBxK?IGeBn{xoj<u?q3?FYo>rxkbxMBYb;x2+X&$ zBk`Q6c3+Q84@GXxKv1!VA`5hun7YvE!3#ObnhXM2iuA3rR=!H!qw(s^rr&3#YgmSB zNLgAWjj{x)V~*tsPzah0e&O+}n>2wQU(9*dhIEme=4RiVB3z;P`;3;DLsA{r^1f?l z@GW$*;CB}IPdeYS`pvBu4w;q?<aYlCm+Z(eCocjnbnoqy_z_iLyf4Re#qJ#GMXZ!y z4a}0L7!?Me+hKa*wU&!UwC)8(fGJis*$;`ZnN+>whi{^bp(gTY{a>AHwq8`6uXZ*< z?QL`L9n}7DN^mE0CFU-uds;rZ%m=B9e2iQL%J$Ir3fGJVb1$EGI>Z432#VKZ6F{KB zkr6qiafjP$(zjW-J<Ke6I3}8D?F`PMFbU9oh+lhr=k|=#XI0u@)l*D#=K!7#gi-8_ z+8jwyY|aTM|LF1Bstz$+i)rXqqk89;ZrIjc=r+zhp$|ZXtH0No{?mpXh=`!87`A;M zBBHhFnut(E&hh(+nbRO8YEis9^ztZcvB$|xFfbP#KOINskYN~l^<fZ1e@55%DscLO zYN(LBTCD{FZP^U5f0{=+_*thK={uG*0%i4yQ9S`0gbc&Fy@b)j;bcy5skx%P@j<U0 z`e#e4yOhT(`;zT}+!)IRV2GW{Lr0>bpYY0yrT)la_QR`-`zq6?HM-uqhc7q3W-f6s z;r9<@+fng3_}Y#JO_*Q0iyKrntO47$JU0A3_U!7_C#giAwH2CGM@UYnzojN3r(qjf zbyDQ#&6sSKF*HHWQ#EVK+8`-z)&V?#@nS#o!)SqUsdr1SH0f97=8^q(<0X>Aagalk zWM7waUy!&U%SFY6b^9-~TkaFjLOn|)6VTjE0q5WVO>*T5-%JppYD(RhM+iMp*DTtO z1fh`!mdPPI#{{w3E&`pt4V?FM(0xZ=ld?)=nWshshxSWS1mle!?JaS>-i0FJw4b}z z;2!hQo#)r>r2g}LusK5d)%y075HPXPV1|xg#V?@g+$^#A`kE1?*m9Bm*<r6FH0^hs z{pyBY1GS@ew|VWOK6avv4j?OCudqw=xx`s-)buX7<lPe<zM<rvqxQCLq|jdnKhG0c zVs3^30Qv3(NJ8yaE?PgURlykh=PeiZK}^~pa6ypeA><y#GudP*{C(|P3m4sq@}3X3 z;_r?4uU7=}fq7oU-XBZeH++ELQwRo9kJJmElV*2R_+6_m(RRozs=+I+J-)BpRbU3$ zm(*8&J#QW$&uT!1TU+BQN?2f!u$6X><3P&`r!ug)8M|QDz}KFw^OH;uatm2XC)#t~ zqE##uE+me&Y9W|76>q`TP!FGo^II!~bjWtyLr;vJ4$NOT>7%N<H9Z8hZi{ZqO$E73 zUC9&fkKC+C*qj3b<CzthXARg%9JU-2*E@8GX1C!xtkXgysUHKR`ERkvn!r%OfrGa> zG%>8^+9G1~asmN1`Q-0-?yrtN^8DqIzXctX)J`6K1+K57e#6sj&&A%v_PmKR9`&4I zfAS%3Fy_F##oI9A%@}U~W`<3CWrnlL2_K*=c|&A!cmMSmM0Cn6?b3XH7f^Sr#SNOT z`ius{3={=lDHtx04%QRFWr91(ItUY+{L>n(;FMUdmeZFtm7Rw2ko&WJ7rf#!1G%*! z^pzX|mZI)SBSc`peUZZ#K0V}gjjy$fR4cxO)e#|M4n?bNa~Yj`a!|?LHPtWQf$XYM zQbQb#w3u(ml}AuEK*U9QABD9Nd-kW${93rs-6~VSGSxW~mr={o&Q+nF%PSrOGPVaB zQOF0awj&yxwm=ElLf2I1DoF6OQBSe_#sE*A*?}LxV*<!mR)Z8eyOlgV`$DGv=Sc6C zMrF)YG%$c%PdM+ckv-T03Dhl1i7QdS9&xARtecme<R?!yQ$|I+feym}#i2>+-o~Y+ z)md-8jrn`a|HZP^v4BP{a5r%zJcTxZE~Wd0f9M7}%+2`<L`9yks&sXOehkDnBrs(h z@UJKv&b0Nzia{4M&^#)zTY;)$WB{inZ|o#~)+26x%(4@7V1A3EErk0n?q^R23!TPL z_l8w<cBMo6qpiI4v5Oc4J_fZV(p!1>P>NPKyr@{tqy*XlNIM=zHWG;4<#<od8klFA zmtA}^z4@?>UBC?$_M;$+MsdXN10XJNYHaXOWYYiK%2wBKK_^!TQ;vtf)UQ}(+AyIs zy77~3>7>tx0i*n$z*n2yE+N@XLGX=Tu}OefmRCX3HC_cH&bgO?Mcg`TTSTrM3tw4V z#OYoYx72H<k%^#2ni&?obpk&nw3?S?nMAPH<pB7>4cMqVmMhBbvn=M@L&gm!+u%=$ z>ik|-xrPZVDuxJIGJpR*S5bpvfF~D^ipncbpb5#(1On5JC&d8a<zbERJrA&{(IIzd zrOa#AYa?6>`4Wpjmi9h|$2pCFTB)3dJ!rlLfv7Haps1MuCf<7Lhb7F2d9WtNipg*3 z6?jzLJ7!MXX7m!#w{y}6K9p)bd>9PJT?K+Td3e+Rd6X%7mzocLX`<HD-IAJmpFEvd zSr^FDE`o?0(&ev9Z#|0h&%L9&To9hbRiWQVfNP>PEnFa)lvyxp#s=s<#wI>}=?TMr zCwxpJAT`%HoU<D!urK%D-HgBH)l4;KH0nW`ykS7p_V^A)hK5pKN?A(K0r+gsc3a$g zaM3NWRzYO9;?YDQvnscpHDy26lU0k_4G@Z@M;oBMo4M{ss$+7I55}a_F7EfW)M--A zb0~eh_%kZ2w=eX^9MeMeKt;r}%CKuZ#Xyt#^;f}PJcw0nUn5&}6*1jQZZ-ZW+B{ID zd#E|M=$PVM2Bw>*A%>WM*(IyrMI^glWaTnoLwLEFhlY71sAkT0N00O-te<k7+&*;4 z8HX?FC7ZYbq>S@^W3~jFp&$IwZJ+%iLXs+NANgcXdws9k4u{g=Ol)i>&uE{dcT{<e zq!6t5#D+hitrMCUUPzy*7?AG4NC)AQ=e0=HUvc#5vCRpU<(4`*Q=gdQZw+H>Uobm{ zqAb7NhpX62xLmz>;22RkQU1x;^QETVx*x0+pbYSJIrLjAb~B0RB{mXjz4t2!XBQQt zbRy<~&Xl>;`?~UMsjBej$@{Rwi_3#@C;srs%PrxVf1<gDt(lpM&NGaUE6IaZecS8* z>AGf4nSPy2u?j!vv|st^Fwk+Co&)b<Y0JLsqB|l_EfP$Lzr5BEn|$XS|2gJ2`Timg zZd4u<xbxoS#2rnP@9ls?$|3r$0(iGK1XV6Qe4W~|C6E6p;_%q`Dw<sq$L+)YSnX;! z{UfW|2I%VqA(i3IRZzDx6d?#sEtxP%47R1q=DuwZ?znVM<fn1IAYM`Ib>utf8vlwg z+Ug=E#pm`s^Yg=%vT&}kSI@3pY?S{FaNh4!^2D5a6XCfmO9iV-d}C^_Zc=ZvCQM^n zd#YXR*~X&3K6!r1<NEb(jT5%wvkIY-*k#?a@N@tq)tX!X7*(>k=bZyk*)b<Mk$;T! zx;E$Fq2u98B|cdfo9bQ2@$T9P9hJaERJ|kRWKl;|YiEtgg*eE*4udUQ4D(QyNa^Ht zbd@>~fZ-y7q0NbMd`8h%KM_qzt4%1U8Rb(;ribPjS?eEC1b2ULblblEnt%Azv)693 zw*<9{+_$!}b0dLkZ))Xa0y(JSk?(hxE7;1grW3xw^a@4^d&09h)?pc1NGM%{a<HcA z7n+qrtU@19N={#=<`N1#a*}H0uP!?Qme~j3Q}!+pW~o!h)zT$IDpksI;EUPzd*ht` z-Kl9ad*xYS2kW0%yI5D~v86&J$`MPpr`cAFllRYY$Vqp-_H?m!Tu%s4&nTU&RHe;i zpe5O2qX8<RG*X<=if`eB$8|12H}<iquV5$TD0W+^lxg3x*0kvNH<Ym)gnVo7P>Op3 z_|qDvX82*4%j15=vT$ZGYEidwHaSkFfT)+=Dmu|hoHJuEY2tS_qBO&lRZcM~1+2mA zClq>a{T9!aSc3!!m!kO;{?CEr7wj60PDa)wK8L5CK9@5hd}exP3u(rt8j+Vo;A2d9 zbFcB~`f@L1ttWb%uIv$R<)zu{d$sSKzw%vB*v?q^TW*2G(Dg#N0DVRuZRlq^gdhlQ zf)yJ`<68op3DXD4-TakFe(UJw1A}}Ijn6khXhB!G!*huz&%8J{QA>a_^cT3*id3<c zYB#DVl-~t>&An&7Mx)RnqOy-<t}=_s1n3l=b7$Dx<Je}%_Q+3BBJ-$MXgaq-fPk@G z*|ZP8VkpU#)TNwLFt$Zy4lj{V`=G)<7XM)6c+nTJ??T0OLac6hGZyZbR4Iw_Ao+>Z zQ3>i<->eEC$2Z-`wD#L)DPwf5Kr<(X{E8nMe^IE#_4|w{{ZD>mMsM=cy30M2J}tX^ zE{E=0RZnO4CNy*Phhytc$D%4C^`tJk%L}5#LNHmXI|pTVMM2>Wrj(OWj?7U&_K=tH zp#p7lJM3Mpr?XV_afW-C%I;(Ds->#<z#uyQH5bYaIG!YuC7-6Mn?6F8ZAf?-t)-0> zT;KkVZq;wyr-qA^HScKmEHt|_K+jYKy$RbH@%0ko8kV*nC_GHCej&X$P_5!*_o!rq zXXK`s4Bw4_@^H$cCL%_zS-7Nc!HM?_OTYgnTB>#bp}n}Mj#N$sKm(I@4!p!GKX^vk zAfy8y$as+7u|?^8)_t{6(`_3~G|I`(bFzB$oYig~$R{N|oH<ayUY-zq6a9X487+lf zUszn15Y=2st;h<~7EZyE|1|Ux4aDRQBWywsUskK8U}YK4a&Xy(E#v_rV-mRUe!2Zm zvRQu{K?mK!RlyNaIR%^bQ+k8s-u+%*15nnEJ2#$8^=l0o=6r;>vWxwok$GC;Luo%% z^TLyM@~d+GPg<3hmq5VDLm4ijqWbSX6*y5T>We?F7CIdJy<+U<3x?+zA~!uX5XX(e z*CJzPH5B-7)w7-GvU8c7Y2BS0_pJwzpZG6H3qG|o+Uan<iO${l=}%G+miZzh*r0S| zvic>b`55Z)-j5dCfyv-c5C9Wh%1xzwxbT^Yd|vY$OF>jnQ=TQEHy!e_t0Sz-UF3F# zAih4lH-&QNcTNk*{%%5V#J86slAWM)u}L*$#;yxvR~mV9??gs?f-|pY@EkY8C#0R9 zbG(zxvK)-Z|E!);)n8rkLOnEBJlH|r{VIUi<x|PA#7)U_vLHe?N|=!hhOJb8$~2m` z$LB4jX<(xrHk3vrFFgfnpJ=Q+;SdSId`Y<A>Vmm7=vqQNLl2eFxCwWTJL&#}IDbUI zb{)NF%@Y0#!<sO6^yuV!Ff!;c1HYHC`p*>P{3_j2vM*foikFOB{3)bp(w#9Xwfo6w z?0OpRpqMlr2ci1f7w}tTZb|?h@ZPW%O1|@c8GNvUE`Xfjeo17uM&4=(SV^vU5}-6Q zGKqP1^4b`Na06E$PTSrkVrA)v_Y5ooV#mCe_RL<j?XgD1U^btJ9PLnH*<15Qa|{hJ z3Y?uB!^5PzFtuO0wXj@_$CNA(femH0`SVWV(0jwN&q+Z55KP)MVee9Whli1y=MM7C zK3(`M8{78ejoH=BMVwvJ1vY{EpH@EQ2x2*3&giT@>it^Kz$wVPGI@z{z?sh-cf0Vy zaNU2Z3HF&@HEk@j7G*}x3QACSs<Zi@8QO+|$tgk(H<n>>Ijy|M7&#w?oNG0FN7T## z@V>NXKoi+O_*nL(Mj%V3CkaWsaA~>5eFAo~<9JbG!Yb5dFdZN?ds89|p{ipr+R8AB ztRe!^_Y#(ovY|hK(&Vn4X@~=GyU1JK)?}-O&Cn@6Ze@5$22gXs+JM4EtPLnb+TZx~ zhQ4vuz?@^(4v}GU2hK+SqOI`5;VmDjDb?M;;;ZKzy8M}iLRZ>j>cc@#S>}MCRf~7& z*4H_=WuI_5b8^HdAlb+4a9i2V2>RWq6c|x@E8O2_d!(jU`kCnO!Ku^PC(kn|Vlfkb zU-P(`8=<mQ_wa2>MXO?bxgR54;d=*mC?LIeJ$%>Q9d)~LIhY`PKETwp`a5~%c=w#e zF0T?R{NNhXWVIBtm|pVl4=hQ_{&DV<)0K(ayJ>uINhrB;ySYc}s+7kXDG&X|N+OZ) zNfHc1^Y6LsIzF<d2_8F`O2Kg4+4gd?yRdM4Qi@x5lF9N+dHn0w3Q)h@C1sFeh7Fe; zuYdNK$i&$f!C>Fb$X*Uq`}x}O4~OTq=&kgg{m)V>wKb%x5B9#CZxWn5ZRuyfo+0Ps zm3<#q&51p>+>TD|eyi(Z{zIzAO8UvcSJTM{nvC0z^9t4Fj;!2hiUSP0cFxHv3;X+X z?_EyA7SD;l_)yBZ^@a_K_BDV6&Mv*K55zJU?YWoS&QUhy6?8Qz9plX-&Q_p+<Vx<E z!iAmNO|xd=^(zzM_N1*Z(y>l_j0*Kgq2k(~`Y6a_Y`ZgGXez-u1QGeSr~NBQ2LdHt zN1H?K{?Y2_pP1lpaSNd1gn9md{=vU#?EY47umj?^zmNOBb?8-xhROK-QA+@UKYn&I z3YFElnn(?k9{2g1DgLi)?tix8-!+_n<2T^u-=EmuG~wTEZvHDy1oq^=643wu9*n;A zc68%5gE-@#lfJAcEcO1q_=KElM)gx2(w3)+(wa4yVC}VGrV99PmDnBMrp-sV=cu)x zvPt_~zplRQj-eRM*dYraqo!)AlKx1$KUnUzs=lW-Q)x4(=*z=NK<7%KJSV+!cwOLE zo$i4!!8e-J^p;>#AKNlocGw_I@O|Rz%wJuKAs4Q!O+BCTd82=Y)#K^VFPQe&23(x= z-=({Lyw;6OI+VDKv~!61s|}yJe-jt4@GdFdG_Qi$`W*D{;K!HUP?fio6O|ju*ATZ? zZ;3;`6N=}W01vHGy8%J;+crust2}l0(X2aI=m&%&iU9jsMchyg7MQ3NIozm>LB%JS z*d42(-Exm3md@0REYB$aKU}?cR8wEj_ZtXR1VohHq=<AC=~V$~(m{Grnt;^M10;Y_ z1nETu0@8ag(wh`%kq)7SBB6r@5(p(XzvsE@uJ^tFW@Y7^le72ineTjNruzVQn<KMw z&Hu5Yl=CERYc-lo;_{LZ5n3**)2R>|+heQ~nh2is`BHMKX$m2G^~a`PCG?x%pC*Ud zIfnV9Nw=PzN15!Gx(}mut+f6_&ngKx2D40<zYjJvN6JNtAhJEeBQA@=XbS!6gNBkF z20Kg)2CH<YmeI%_hkuntzcQ@V3q%|a-{6+hH8U?SB|>yU$v%I^^!Obp1uK3{;b>Sz z@xQXXms`;p-S5(QAQK|#&I3+;lDa+HNjB1nxxsQMX8s3e9d%=SCUX$91Zg0fE$rOq z&$0sU^O(r-s*BvO>c0f0ZF2ro!iD}?vBSz7FkP|v-9<**^(WBOcKs%SXQ{63^w3%& z9kR+wU_V3fJL<~33@yaAyc^h-OxJE9C+97gQml3Dhy4#Fw@#m_9m=C{{N)#V<G5+9 zm4JFa$#{lnaghrt34XOq@V+xbBfR$(J~~Y6;(qS+$?m27I%<qJtz0vy9^E&%IU962 zdNcV+WV|}p`%~M(m*!n_s=1$EjGn#hZ<G=G4;++aEuk&McH0vGn+;!KHx{`D4>0lI zXOZ?q31ix<X&-h1Uil}?t)^S#RTg2^wUm{8!P-&>`kj3HtxIEB7~HB>cJW)Y*r3#) z0E}m|Sa{ey&YUxEtR5t6(<;%5hOLSy4&m)9^TS#WWei%Z%H#%%rvkl2zGf+|SyaTq zuGRTio721c&AbS-*4k76^#mL(3uaiw;~TK6*WPTV`539TX5z>%MBM7!D8if=X0E4% zVKL+e`Hu`<<<|>a*1zWicY*_sk5*SYk4s8hVB$Lj1Pts1Aik?M$B9yRDK2U6D>M2W ztQ(`@-zjRd-!t5Y6PZN+aM~2-nw%4V5PXo`VvT4%$X3e7u0Kgnv$^YQ{nVenAzCdr z>&!~HMX54pYs_$VN~U;?G$BS|HT0yi3;Q5Q=?&bx-No<C2xjY^$%=K+9<F>AlXfpR zVUVwUB;nSq<YXx~eQGDR!(L(UYBNZ}ztFPtW)6dL9dg^}{$mb3Z_LkjT(MVi$cA=A zv~f52H^?N}o^~<QRovQ-Gr632nQoF?Gbd~x!kwBz`olZXJyzTH@~`=>>)M%t-@#E~ z`9Wo%z>rLLu|9j7M73yGqmXj*&xakxxMvV=jhqXw*M7QESrW~!dOfz?z#qd7=G}M% zCH!V{&8LjZb-R>A;A6t$p&rhBJVN}?t@rM^b#<f&o0=sCv>~P;Ebq1N$qc#phOy)J zY78CE%Xp?h4`gdNiVVhDVDFGFKUZM<A}rN)DOAOTmfggXK8*bsqI@=F8(MR7Q-jaN zE#Yq<dl}8@29%4dHpc=Nd&}wVKAqO*hl%)ev9ob3-csS>0KRuMizVr5W#<5rhv86o zo6{xEn_YalC*<7pYzuunbJoIHKKbh!c9=))EZWJ_-C2AHBelv-u{JI_3OR|jBDVwh zFLrmMZ}^F>z33692J@XeElY2wW=kOF&%5v!wm0gX1-Y9YN-1AnZ*kV7qCEH497$AN z|71#*7L?Rf3<WRWTy1v$S_r{o@y51cXsI(yXGwWL-~|0!#TtMu<R%l3LO5@4B|<Ko z&(_s#EBg6sZr%2ZRD?sZlxH^uVzaq7II(=H48;?0kG+G{%V7-QiQBi!KZ}i#-qKzN z`6!SGe@spHB?_weSPXK#1Su7}Ic<RD>XEV$>n`_<sM}r*oVD0Ou(U4t#nI!^xoU6k zJ7%AQr2V&}!d4-;+?C(5KPYxAreq!;5{d)C$OS$)*oncoLa+N~QYkm{>_!i-P(WEf zGV?ir<MJ4y((PI3knzK2R2~G+I#&EUqch0-<0qSs(kX6kC9%(kY`x`g87XnA888?B zm;Wm*9&wI2ep&+XE6Fiy5wKCXI?t+|lZ@y>pd=m&m@3?y!dKm1*y549oQ@Npge<L5 zE=8ojV?t{Y5uY7H<nj8yL#6#O#U;8*SLb>N(N3WR1)B-=cm>JDMacV^X)%1c$3AwE zxwE)-2-f4M9^O_nuP2Q@xhbe|kRPB^-=F#0Ak_y`DM8-0?{#>u{-gU6`Ipn!DXghN zvG`Bg=;|4AH}_|C-3?Qs($z)oOgmQTel&H90<`r~<JfIZoFnvKm9*3k84as$w8r39 zw}@SpH$e@Rlx{W?R&ATO_az1Q4!5L+PQ&QO7%HQX?|Z}C4?i9-d(3|a?v!|P(27MI z92Cv1+A$vV1t{U$ajM;;R@29{2VZTFvI;GRw%EwZXd}i|8%*%QUaqmJXXqm=?x+M} zs<eA~UAokZL#_ZWpLHM4lp~_!r>vS#BQdgGpjSni=QlQ*V<Y-#6#4AOA+)Rd8;lq+ zoCxDC$4bgIi=7wV=P=1hcf}UHkqF6CalazvmWF7jyiThca?*gRnOlAhw(p-p#R&sZ z9OGp?0S{*eO9O#$g;VL0a^?D`T%qktGrO1Kgsm9#1{vfsDjo<kfjJ{DsCd1ZU0iX# zxeM{d$+BnL#gBmS&rDC={*0jm!l~t@PL_K>JTEiw>H+a1)$FhBQA!49n<bF@fuec! zWqLF)84WTmBFA!;;JyeH+a1vPtDpD1SO6i%>zTwvt!t5qcwU2cT{EX>6#v9ZnucW< z_zVLi8teh&iFgV2lHRGhC(p^WR7JzleZYv*Z4W(cYuahQr@qz74&wnJwkIa}`a#^I zV(+r3W;TAa2NK`;a{&bmQff@C%GC)Pyl0SiKJo_GiPGi&`$BI=b(kNT>CsVR*f2`W zGuX`cE1Nj&OM5$Kn5g|rrB(1rYY4_P6av*LRRsKt*=amYUbE>&>km9cef)sxa^t+X z1o(Cb9>Q=qI6mnZ5KizIUT0bNq?5w&|Ipo|p0Q4<Qbb&9*QXE%4%nXC!)=-xt)IoD zaL9QHKBXBpgFeP&FJToia^)nEDAo29>TrL{9%g>%)Hh7+x(wQ8O%{0z(ie_W*5=9> z>z?Dhxjr8~{v-2!kVl}?j7{>(Jg2V`XV|~b%@QqYVu{&p4->>1j~i+r#zB14u#>A% z&l^#DH``I&=WDBtXOlE=CHy8lZjJ=~4_Tmu8#=|TB$8mNoJeHvNLS>&+|GKUs!r4l zJ@!J%V1Pf`@H=XgyDe*YGd8jvpd^{b5t+^52^*^#{%fkXlwy)M3N$x3u#XUR$Ox`> z&a0Q0D-l~w_H$SqYsg$XgGhCN*7Aoz+>I;SRKp%b#%wQWa(>+P(lPfNB7A%qFm(1K z<m_<mI)VQ57cSuy^Q34pYQg*9f$Y$E0mLfNgQ)E*>yajBw%sx%oEbY3bp+M;>$NT; znRc6Q4&fwBfZRU{R=x{!M9SFz?67o0BmZjeMRCaO%lU?>!apvxh1dipxbvZb&GF!n zt3S4mp|xwZp2&A+8cRZMaI^6pG$Sc&sQ6HSy5y2{P~!HC=spJ!EH~2{4VvNr!rd<y zGu~;|gl_j%B7!<hrzFMBIG}6SQiC%e`P+GCk9?*!x^JB<qaK~T`ot19>%C%2*aIDp zPUM}`%gcAG45=fVTrE2^mu~VYitdb9jFM!-ZJAPLw#D3R2|MJ!t-?dtSO4Ex7esiB z=&M5ICYqq|lAgQVzWw1S)nW#dMhXqGE-xmUt*>hkt$fy2GA1O6xPKtb$oTlu{Y8S- zFJY7We%8bSP&z0x%|Onsm+37S&>ujN0q_xil$vbYxg+O1ay*cX>WX;<NJqEXorGLx zki^cB4Fg~$0i5(b%E3zuh4LmQYXwJ27Zx--;o-|}MYLMNffHzcRH9aQ<poI(5tgVi zgciVeD0XObZ*oS4yY>Y)msl5%%M7zP?)fRYb+oG$H>!uP-m@f+Y>sa20OQ5OEub7+ z>zjJr_xTg`PqM>KZ;#_Hd(f#<pG>UL(4N&?hJ51IOnM5-6E?v1F{Hi*FRgaxi4Gnb z1+7SjkyF8xE)L{&FBu_M<~1en&${P?6OQn4ut@b_`L2r_+sHl;t_QLHjX(FsJe%o< z7?(I(psp<*(~Vd1JNfB&pE<WxIFROchyP`GC3Sw<BwhAfz~1wM?)+)qd^XF|Lt6Yp z`^cQ$@Q9!XQ*3~_MX9pt<&K(vpY|2jFWN0KcQQjo<OaTmtwf+sIW=5u=^MY-R+{&) zV`96A3?`dqeSNq;%lkv0@QRbWB@Z8XAun>UN*VVK-kSPeGRyUx>Rg9uUdC>C?&s+5 zH~$3pp}!S}F$*0$Th#hOo5zP6Xp@DUc|fge4J|#J7R}k%MXe!_@7B4cFG4x@<+fLR z8s92Hi#^b4uJ2EC!81*_N7}q>?B_L)9Pu<U@u`g6L(R3h3romG>K;AcjI;jiO=zkK za*6ZpU6A8@W^Ff4kw<P8B!h=1%On51|Kd8Ks1H=|NxZ#t_2@FuSEazK^n;dA9#G9~ zdHilJUj6j9Mb;^wM8m5QIXinMmF)<{nrHIr*gD7+2kP_QAje{sxvfTD0`Vkhd-Lao zWrc<RKo2_8HpS=Z%oy{a|I0mZG5&9LZS980%UE!#t7YH6Y`o3=z^->yQUq^qYajxZ zHf+`+@v>@-K}ceLT)u<pZh8tgcz!Xuq1?XSplanVdI~f9-<c6lI7R+n@9)2@k!(r^ z1DZ((V%65HlX1;#6!dC;7;^SMpxD?-eyFnfe4!?(%@+r0@11d8ELpDyS!q32PU8cl zKQf}}iH)x;KPKG8(Y?HDLYYo4+WkRw6H?}cA`kbOLxtuFbSmEe5oJZSupw9d05M1N zH)ffyZ=5^|ukJ@XAzF@aOF3afD)V+NNwf}76F+d_H^|!gtZ*wa#&>X?P|)%))Mw5> zcgh~{!Co<3$_DwhRZQ6PuCf{fV2=b?1Xz`32)v%4ftRHoFc7UMNQ-dU^h|!;Co)*! zyeN2s-zFBbCyAkJ{k;0rx!2G{iB_K96<@yE%^Zo?zERuVYmas+`rL4-s|kth1@+u5 z8wht*RlO?_PeUhjXyUd&12+$les$uh>uue$5DkQzdydJW)fL>hpAy;bw9Q-nlUWo5 z*fwGh(gRFVj^Zp8obw(kPcZMgMWdt@0?(wrST`bNHrI<w7C%blXUT7__KT5}R%PTA z=T@@57x1Uc>RCW9yHC12SeMb&1*q_sj*Gb&AMae^vPl$ahAHf#Q5QuzMEe$O&l+zu zGa@)|#wE}%0S?*|^mZ;yLQkp!e{DW*UuXz9biHl9za)^=Qi9X=4>_OYoMnB0d<bTn zJbP_UKVm9<_{<zoso{{FB&k;1)(3h|v7aH4oOih4gOqXk6Z`(5HWkfnbzSTG?H?Lm z)mAcz5e86chr%s-AN(HSe(^9oJqjfb4x#asu16lA(lc_JPdw_4ub=(re&E}O1`o^I zN(}Rvo#E7_TOCDmE>(#!$!W)ou(67XuTEzO+@IZo|A{j$&emI#84YN;n>g;>(q9Gp zsXCf$i3znwhok;yLH>;SpRW-X<b^i3n<Rhfk8IiWHTg0@GMcjT?>yy&pcXBWLt{^O zz4>{P7s;ikw@l_5^k(B>`jflqdrf{v$@B(tBPQd+-X?PXh64_w)pEG);y{x{h`!0Y z*jEDScs)T^lcE)Hi2Dwr%1{e2i;MXU>8M`H$WOWT&E(BxW%*2Z6^nf3Cj@FM%&nQX z74v3t-7P4w@kzxT`CeGJqQ$`WO!?c;#F6j)Q-cv10{3f%cAL(+B4_7UKV^7t257AO zbeU~EZtg+f*mIT^@5bF63&+CCG7&o!o1I<OJwWBC#sU-SPGUpI6$*bhPnZ4ZPao*R zjxx=cR+`eciCwqI;8o3k(r2`N`3`wzYp($~wFs0IZ4y_?odxLzRN%r%HiZ*Z^zp|S zmlg_%Jr;U)fz8nUE@-YT3yhu=Zl%rY5yF+U2J`3m-5&s@Xu%MDW8xGV2U(TN1(NmA z=p3A>j}prazXiO?S46+2)n~c|vjmJ0n<=Y1=b-FPtlkf92TDkHEpg_oia%=*JYnM} z^(E@$^6OUkhCRe8CD++mMf8H~H~`<8fU2T3hlcJ7^!3fZM2W7bNa0^cu^b@}@@}0R zl5BlP%Iv38K#tC$mGCNdiZr*c$n172jXcP+#KC$L3&eR+ehDPXmL(oC&#zqjK|*e% z$SJKjUChT>%?GRxdYCOKhCSYMPNGdq!p?{A_e*j<wM{tof`sxzQOk5hlRKZLb)zFt zZ{z%y%%;Z}CrD~O0zP)D1?n=V!n<xXF~V$P%Trzj@HxbT(HHsD@k{F$yHqW+ogYgb zac?}q(kIzXIs&9~e7pPF<%ofsNy$Mao|=Dzbsq1mX_9r7vF{~mt{FISZkZ4&b++aa zyQ|i{cX_VWhaM(K1M{XLelT)uK<Qi^*+pko!F2IX;H<nw%}d&VxUp<zeg0#e(QBGz zCM?856K&RsfYk?fjUYy5hkHfw5<{zt0#NMvih!oxQHQ!#*c>-kFC?}3%W?3wCFu{( zWezckUho;7_Gn+<ou1l|F>ri)C&@n}<{)L;aQ4Y8?=`3F@9)9e7RFT^skarH_ge-& zkg95|jY@Ca1~`ya3NHyf2#p@2ZyI4GWS{Skn=Ko2CvA>JGT%?lU}&VRsYy)p_LzgS zEKEOa19T+n>QJ)6Y8LPD3B+mAu5}NUXj_Yqmsd7fxzD2iR8CsyTUMgVjRvnjQ?Fll zs+=ka%&OD+Y2#eC6E7eBarmS-b2eW}om^+Q)LHx8%uh#Z-?@?M(L{y7y}*udC)t>e z`*i&9qc87MoN3>=Fnj7R-oMzZa_`OUe!cG&!EyW#^ECD?`|?tC6sDyDw#Z;IYf^T` zEg~G9`6J#}K~dsq<_^y;p8hP9aDaHeUl2Xy(vfzHm*@>?-dC)fDE%AXRr4Bm)f5a% zMb|fWrEAMYV=iH9Wqw8ZomOhc8YbOT2Iwpn%tFMcgj-F|mtv$&e-yd0GhQz*72}!` zTK0l|%?7W}G9E<lB+qTG19QqP;lQ>!&7~~66SkZ()>4ChaygSXotN!2lDFAkdWvhK z9jM6;%n>)W3^|g?t(3En{2Au<RcrT+kpAp{Vs0I_`}eVY1!|2R;L>=Dcohrp1Xq@7 zaC7rnr?%zDjMK{e+VzXG`Ca-$yXALE!Lj2tv%%lKq|zDk@A9`<migto`9H5Y#obf* zjjQ+HpE?i*4V%^D&-O5tiCzIWS`*`Ge>Y^3HGjFfS>+45i%h#!sKM4GCm&s!{KoA2 z)mh`4mG_O}R!zS~Kd7?pY`1U>Ey>*ekds3Kj-yHbN|NKm_QN){i}sjdUw-hxJ^7)q zx|fraqM>U#27ig%vV3?e`^&3uG1ITH`3@^W-5;bVv4tXF*}|7}Xr<bDXZuCSZxDv! z$b8niX!V52Xbr5IU$}hy&4tdoevqr`k>!C}>8m>i0%iHy@eeR>-o3FlcC*aMpGP3> z9CQA!f$stRZ`>O4(E)5#+|$+*xnm_`cE#svbM4_?h{!N56~xh&R$qHogwxZ`3@;|m z?6j7+o}b#!g3hY}Ydi6K0A#!3+vsu@+43k|h1Z{r7-t5}rs%{x#DBMW?{##o4V61$ z>MdH_|8jnJYk634Q-C$W*If#hym@s$V65UO@_4wxrT>n*w6CejDZ9QUJ(c_=U9zFD zSNnbsyF}o>???Sc$={6<x56a)hfa^tMcp=7z=HPA^NEJNGwQnX($JTFN8MG&*mvt; zoMq1y6hn?dkC2IJX6XjAV%=1xPb<i;PeO}GAE_HNM2{&y?co)e&keg_437jBw8N-i ziMs43KpN!&cIgihsMj-sT*)e~%GQO{PTlWLvP)HarW4!rp!9M~rx7TqkgJF|4ZxCn zp@U{$rVy2v8)UwF`g^?xlvjS=kxIIDo|Atg1%qb4GgQ&#hTrM10-m_PV?BMP9&)iA zT9z1gI_4Ma%HR2{`#Jfik*rK=_*ZbggbUE%kf5h!kif&As)ksUwXNihY4w5zSp!ua zTz>Y2SSF<q0&s#egdxed4e#!8SN8nQ(XQ8ZWi!<qaHdBH#tDcjJvo!_1SOCVIzeC8 z-^*)Jl`1$^7UB}Qc0JKpqqPH;Pmw)k;Vrx`dTn>e2t_UE^@zi{+PVuoeM}CX1xIg2 znsn!!!DWNaPxbB|DiGwB`t?>o<u{r$WErjT-8wg0M#57ns*nqpr0je+$h-x!hk&ED zf9f`Dw~-Yq<V@C@S8Bd5TX{Y}15bpt72}5dW5s_C*<P7cHKp@XlEWG@7NvgcxWcCy zF$n~^z2HE-Hy>|H8aUDZ*nbS+7N}0J?Kgu_?|wzSNoVg7*l~oSzB;zL9xX#<|E{J% zEx0hdw8gVW+WqCjq&Tk=J>F-(AF+L%KJ<R6gB@!cLHBp6Kfm6nmmpT2n%<HFID7bo zv&hVpC3H0yaWAw=(Jd*9aP=4OkkGQSKJW^;de<WB<6Htz3yaGReavs~gT#FiEET#% zb&o;n{;22q^|~CrV0*n?5KZ+ykBN(RnewNV%xDt}&58V{qHkp6JU<yuJL8H(pdY0o z8gskWAJrc3#mE-r2HETrwL!)Ezi?zleMcmnglNCd2e9RfxnM7bx`MbIuO<T?&d!vD zO`7*avFn3GK=(Zc!>N<KUAMe4VY%ksUW8KHC;!T+)HomNVJLY~?fss5!{{RRU=P|A z7RDc4PXtdJGJx<&{%npxnt+P_7XJ6RXC?D9@v>g_uMqe54ca+sKcfd=LjC!ph5If0 zJe%G78%fHiXV1Af+f)X_Q?bPkq8AFAV-^lKFM2@$ND#PndGp5{s)5Q)YcAb`-o5`9 zpFn`0)?DSv-KwQIUR>b8$}hG36ue^bnalS3Zsi(@tPZ?x^<fpm3bAV}k8(f}qUzFP zmtS_G!;XJhnM?Mw_4CBvQtx^29Bm4sG?XT|Fq;#$Qpq~xRRp!qb(Y0G5pG055Fup6 zt}(JSavl6G^Waklz&Q=tO`g9o8&(Cn>T0ghN|($m?=)qYlioL)J1;!4H~l@v0C<b5 zJw}wuUWB{5@3;1NOp#-<P~Hr;oZSbUizy$i>d74`EY;Lr><EMkxd_r-dxr+BG4LeN z&+sW>s%>m(L%K`Edh8DR&nIEE>_Hkix#k%qxe8@8t8BCjB?l2YZ?6l4q=iq9T{8WA z=bCN*hVH8tltfZrvbif2x{sF8hWI1)@MYlXr=rSMm>vBdPJRkZ;C8O$aOml^8S6oi z4v$~88#j|Y`8{!^9nwp#L%#$*46Aw?0d(G4oM;;VlJu*%v`!WCSd5$k<BoZ_J*gPA z^RDjZFv$j8Is5%Ory6h>;MU?|Es!3-S=U6hf4N)`1YsbuyBgdHge!>aVH4{G7fKuQ zwc8oqpH-exU#7oKL&s%Lv-}_O<5hYzN{7AwZn#V0d81<PQh*`Erm;=T3AYN^#l?yf zSAc2PjP8e$n>dZ<jg%fSez_gbp@>$Mc$H&HCs0Jxov0!Dx~jc;cTLGajUD7V&H&b# z(lD8k6k0pu?5=4pA>q)lI0@MrQ!hvNER`P*E3Ck#iNA;oUK;=Dc_0zE@m=|(el^rJ zbSt4p1^vS+bmdK}6Y?AwYX+}m`Q3eNIvc5e>dd)!sbtV(UovB9u=`*=XsLQ%up(GP zS>{^oc%|l+MaiGbxr>T&cPw?&lZT^g>fEb5M%rrm;-{Q-E8sthRUlJdpEcaX-D=ya zAkv3E`p0nxU3>uITB0<vdxVlip1d%u4-Y)NNIO=(1=>G3J-@}mt&i4bu{8?}!)>rL zlTSI&QzPC2nFuS>`Qs)k#A`ot2$IB7W&?j4_Jw~i9#vVWOE?U6)KEQ*-NiCZnTKWJ z`~mFgF<_j5`C8MX@$>xtT!e0Gl;W!iPVZ}#Kz09*Pz|J@!G+I4-q1%`WQgJp5td+! zm1(H#IxGC%Y8&sRAY1j0|6Q2_2r%EXcb~RU;i#TTU@#|1?d&rw)tCL*P!fzjRrV7a zGPwDWvi%eTS^+e?8lFnty;w7!yM$=&2hEAmWj97&8cShBwe;9-5sFKoK_tH8M+&<@ zQSYyJMMken>5p73E0!DyL)k;s#Y&~521SE}A!Wm$!5HV?tAm*Dvzp{(C|q9?m_UfR z`4YX;SaCmH&$xNNvVHDIxBzL}n4hVqQqn6%?Qqo2Ts6=+q-?3FQ>@}BunZ~FCf<oU zkC+}0Fx2YZw>ZsyVrNquFc&DZ9`x#M!rWKRKW$o;nkfVU6|J`9T}YHa9grst8bZKU zKz$8^n2NhW6USA<=uPM9nn&`^xw2kYDL9+8tkyx7LHFxx!xw4n`o3FsC0A0pY9)nQ z_ZR@|zwg|F9k<F0M~|Z!$xW;wO=1zQ)dP^E+dupwRFM36kDkb>e2Cmr$W-4t`Qd4r zg$HTJxca_?fC6)q&JMo)q7Nk|c7oH~iuYRG6j6Vc%MJt5><rbl8{K_FsSgw-{uxfh zwgG%~@OzG9MIrcycC}ofo0Z=yiHejAL!y#p;2l6Ivbz&HmXA$dsS5kS_xpWgSdi}Y zFM+$ggKTuWtR9Vx;(HmukU@R{v1#!XT7BA5=`N)F6UZBVq^`O4S5;!-k5DRrlvtoH zwNrlf9}ZklDnFR-?bp(ogq+WN!%Os2j7SEw%k%CpjmCbbD>+YXpbK94)I{H+eX{_U z0Cgea-w`Nzsyren8I5=VyId9t#a{(|IZHz!^-5uR+X8In4hfMG!w2rWO^sErOnlR* ze#(F#F9CGHFMith+!W^ae{*6RO7x2pC&t~r?Ho!hK+4fASEiLUYPEis=GJMlKWB%` z!*1XsA2Bxf1VR|()<*>^pjGX;^>_|M>E+2(O2_`(OA%l}v}#sS@n#9|e&@j^prd-e zZGeeOCs;%;XD_vxz2nJ4z?hq;NFd?Qbs@4=^a3q27RkP@K{SQIv)Pkc`yR?1vNb>N zS><8VNAMbci3g~r<`U0Xb6WcaCKzdky#8jx$^7(&|42uK8MgW13Aou7$`!1ZCK>$3 zu^E8*PUZ2NVQKoQ1wXu~82j@thsnyJ<&r8BP^_x+!(EPU+m95!Yz|&wcJh;!+inLM znaxJ&DNhQumU!za>`Gz|{6Rn8(Dpsp{BcB{L{ITqlmKFv2Nl{3l6P9P$aL(0>T4f+ zoO0%z5LfvJdOQ!Fdvtk!f=<;=54MvY1o&hxw=yRQ8f-92C1jR(fxtzz7@wnQ@O{vS z&kvS9%){uClX%@9THXd@D(4{i=giUnnxFp4sIy%fndDiyOT-~6Z`%NvfD=!gVP(=u ztHGie@O;sOMeUf=YR;1?cTCpyx~%u7H#A-(k4pWN)?N*t?h=Ek6U@5~9y->0K9K~U zc_uFZJ(RH_$PCy5DrV1G$Ip=q2t#IYw&s^O`ePk!GS-%NVT4&d@VD1_QVt6OQy_yG zeeOd${PxY*<?%dApvV8ExL1f4{`~`m#bh=v-@?Z^%p)6B4QyJ^z9W*2>Rg-d&#M)d z=VQ#nH{IK-%YI%xyg2y$+1ujnY+Kc@l>82t?R=}$wML_=m6WZMiO+YHm%-->5?&iB z>Bb8iiRHS(?#7|&tC^+f(@$M$XLUIzYzy+fd*91<lnPf7u<y2Go4n;<72_z?!b{|h zb^7bo!@wK=bQ5u2IGI0cCb5jVd5xYucmCM}ftgnIV8>k5bn-~l^^lVBO7zjK$~Csk zk~vT9`z27nr4-Vc)L@u@`}{EO%oSFk^y@1h@k<R__i!z)g_DU+Dz6j!CZ38A^ONjX zl!YtXUM$1C-#f1pbG?wQV)f{g7ZzK&jL#<-sbL@h{JCP2KA+&lmAld@Is)~#?84A; zl{lnO2^-9iL}S+1q<V*3+rHB(@P?qB7h^a(OY3jBs+C&n8ViQ@4L-J2y<>z&csN7z zdh`)58;dfjiL<?^WuJduRbF7JuxK0H0{2iFtiDDBZ-0Y(7uS|NvAreFx!MY+UEap# z-2R~_P574_)YO3Cou@}Z>oRbGio+xfOdg^=NT%R)+pMLRAlwL7)V`dPq@h(6QHp!1 zv|%g$YnP88QF^)IC#jxx_aG=NF{%0|@-07X5OJ%-4O@?WEmI0*Q31;GQl-{wvX9&- zhKRU!ec03vPS~WiaDlEV?Ueh!WD*Hp{oK$BtrEIux0uHN`S>0impX4O$77C7@#w3h z`$IB9aW8b=tke_KP=Kk&3U+>T@U<8zOkBx<q0aS{CHU7UG2Ht+FXIRN*RGKFqrYt# zDfDTNyfOs637RJDC7tA1c~}4yVVG$8CqYXRgrVy|z2B+xeE75v1e5k*rq7fCX3v@^ zwxh5)(`AQ$eGA4zeW<cm#sN71?p{qMenRLrNeGG*igsZ#R#8r3BIYB(m~xT7LDk86 zmT&Kp9GDwS)_5+6k|WrX$m7zQkuu~zQ%i8X*8(mUG5~Ulq-`eU{s%I<dXd%pw%@n^ zOOq-`;%;2S)s)F;M(zCzN50GEeRyZxq7l-gbcZ2tcwO#yLgYUwsq>@W>kVH#0WRs+ zO1ECIUiYL2008aT6xyyk#2!Sp$|prf9|8K=<X#$f)$^pWhQ;tp&-hP@0K<GkBVM&D zmMSIHcZ_q47t?!Sf;uOp%Ved(vcaU_B+dFbLz#{H6rdiG2pWp|C_`2a;QGqrOGCjC zyc(d<?d88<@Z~-LzB^PM7nverS8&9N)?f)xz70*3)c5B~Q|U8YmkA}(`qUpar=HhY zlvpW*6h4WQKyeO9geTX@eX2LndY*x}o5_WT%X95Fztj#Q;$m-8GnOvPWyHI;TH8Gi z{Ta(8X&*hNfQye*(F!Y;4FOv{H45wn&2c)i{vhA~W_+^@tkvec@EqiMAZPu4!1aJ} zhq`QHQ+#@0P?M8kF#HKoA#uq&p1im-=G!pwRf@LgRI)>-o5|2^KE3@Y`r1FU3|eUl z=(WdY{N3NJ$M`W#ejPT0-c9SR)?TW_!y@-#mTs9BFKf)!;sy58gt@wIKLA!wq8Lv9 zaIjB*p3-x37Z0lxXA@zfnlh<bVrkgG^}wQdXoDevy<c72-sg`o2lsXtlIw|0Bnu1g zTW14?3!&4Lp@-i*QtGU_C0>W&w_mQ|xZbvV*FJnF32Ya6tMG(Vb<OA#?-z7pD4SlV z5>Kdd%l!LzhRZwO&yoxu0uFg_uryh3#5KE`%m!QJ%@fQHw_C~u(nk5+>E{bO8)9~f z{GZ9{$d(LD&S&D``B5A~6ua3ay*g<l)s7;Ai+IueK(!x?gqV7H6s?rFd*hh1tmh<m z57lWevR^+6Sl^zBC;;w%s~ZYZKB(kS9}ExT8>MXPvuf`J;o?P4ZX4p&c^`_zhc`C_ zyPu3{Dd;Y^&iOk9c__1bJ#(mBH2T+6m3J62!BWgFZD^qN0ir|bfBk<VLwMqp6odQ; z+fE_!MK(nrGY_>}pfAHHHZq{j>${ca2AfOMBYYy@<7BX4g_C~gQHmDZ9hi}n;O??! zcbAC3NfG;R8$^>Obxuer0=sIMwTYgI+Icnm6k^g7G~4s$dgCZe`Asyc&@^Dx)|KHQ zL+RkJ2G`RABh9rgCv=0#N1eLG^5F9?S6xo0=Y7u$3tk^J-<y3F`W*2hI0zd2IB>#m zT%2)*NJip(PA!O|_~zRQ8xy(lX41_s)Y?VwE%%}*QQYY-(>1EG+l(;rn|;XvN|No9 zZ;@_CdQK$HA3O;9@H<iN?^V7%)<7e%XY$Smw??x__Ld?4$jcTvZWBhLi@ftQS#s+s zns11aZ02GR2=2^p&n1UhCeUy~E;=dDv`olWXoNyEylgCD4_Z2yN@ei3aa@Qhe9YW6 zoD(J<;BhDMueviJ<F%}PPo;?s^mN_h&TlGMckw*uNks!hi;D+NCR_9;jl6P{;N;@$ zW#p3_xy(Y>Q3NT}T{G!XK(-~|LnXgqvpDuYlO6SJI-V!^%Qx$7+a;*WkqU_jn&TF% zU{iI_M}bQ*=SGwbKnOCVt<McV<8`WR&tb!U+zS`kL6556d+Qj`q;Y5U{yvBOkpV9f zevBTKrN>w0mnVO{QIoQvNXYnN?!0IAA~Z6=svet*7Z_bCjNX^8Ni{OpDTx=~e;m+T zd|v-7?N<XIPvofdM=JQdXDoLAnVX_`x9hKy?5SH;KqP0D;)!7|DF0_-PV3RA+4uQ} zaI~)v8_dKuWK-zP^WXq&{_K-%iCe=?9d|H<`mqa3%haEgF~{Bx^@dT?c+6_fMk%px zvwB0f;7N9XAzRgg5OZ`cgI4MLPp@pe0~0#45TUQ?o6K~17Ss>K6DoI{gLOad2M2}P zFQ;f>&8D6PsHqiaRPBVAon%K|ZC#B)Ef!{IQGhkZ<b~50{UDq&i!1+QBH<zihccCx zhg*3$&l)FG4)$Pz;ff#>nSznNr9@M|X4V9e?5@{P!YRcM%l4pME=n$h+}cLP_x1`u zb7)F%RgckNRO3}Q7CLnrH}fx^sE5&Rm#tv@uJt0X{UI5gNJod~>~4-WbNK1hGN6>) z7*P3yR#l-ud=3QdRgSq?sfuH}C#g0-sS&HCYfchfB|Gh)1~`>omocYD@UsH*NyCdA zOpq*7ft!!(35in*2bl)|)ts-lcEoCZHUewLs0=c*-fjT5BMD_U2%$EG?m2QHZ!RvD zMa8+D$NKS-sfNoknSiI<LXO$;NEu{|?7o%Cvl>Q?t=0+?)Hi=|2yF50X$Y_~=EEx3 z(acw#N#4050JdWiySQ8JMs)3)aG!2&<Aay;i>f6C`rnGmLUcd73BuZ$>X57-Y;7|e zv~evEKJ}5tnKSRvS243CRjSPyy4q%`mzpyT>E*KAPh{+rf^0O!M(Ds%6NaqI6%Ira zo6IWCtabEhwLKHb=@G4H;%}9kUZ*V4Y_3BMtAvYtkMpjR!M{?~57^CTZ>n~BY!h|% ze;uaG3vZWx8MH_?Cz?DTPoH4#@%42v!znfEPF4lQeA74%1ak7}15st?+6+@95xPvw zOdbTdsZ<_*OyTRGMV=1YY#&56In~-`u}d1W=?n;XOwq$qpM)O||Ev>`osgI&O3<QL z5B*9bTk;L~v<h(2O5U{6!e0_td?tll{*R%&{l5qn5Ds}jl;Nd6@|-hz@tA-y5^$O1 z{?{}%W!+To0U7twB&r@+@!(`T>*vWo5o&8=c#r#!K6E^sZN)Yh`X!E5gOmc7VWQA) zr#rJM>ZEM6xj~g}m^Fi}xAj11Gd&DA$m$Q97Q=*#ZO`byJz;76gM($DIM>`Er&)~| z`Rn0oR=U7L%uukwexqu!QFjRFy{<+e%=mX(hxhgUb(!c1HXBgjs}HU0F)54C7_FW= zfN{!)2PfGou3SvfgA}!ijeh_{G#SoVn7#p}IT4nE90ufQW8`KbQUz|d+rA4Fjb@3J zc`8{sP-d-8AVQP}&*W%Tin}v`*{%J1S)?(fr;R0W8-c)y&Q21uztwZG<xw!G?;4?( zEzccBYoCmCGhbwC+GaG$!|&Z!BVWoN+Olu=6LoH?T=vqRICfaJ4au*|)Y6~3@A3dX zrQvtD-ATUO7g^9jDG-pXv5Q^pfGyc0PT|=bGyz8mJz3y0k3JSw&CxqnJX)jeK+4F5 zVg9uf4BgPGX+0UB(>xbok81OcM6otMj7=qn_kA58UME;dcXFF)GQ)%=)Lr&B3gWqP z?7Nqf`y5N(j#<A_{Wu=pQe3*ieJBmIBec|{<@2zA*9+ogx=d7q_fc-fDP0TOQ$T@E zh7oThXw-QLIUd%{+dC~a3cn&wj(A*@68t8v9}~Rx?Lj8LqdjYgjvu({$ZI`F2ecMZ z&<81Jc1PPj4Ad<nBg|?S+5heH$%p<a(RWs>C8f5}+?76RSVNTO+O@_u1Co_S-dR_m z6Cmw`Z#V|37N*JolC(+W6F9`g<%i}P7!I3Z*TB#}V6C!RY+KbR;Xs(no@=4efK-kN zy*9s#=&|uT-!fS|K6F3tgkgoRZ(5BtMLhyU)Ee&+OkZ$IS~1&{Ud|EyiHZX%?lwGB zc_36NLt_P)b9YhxM-304?T!eA74YTu-Stl5$4SEydFe|(qEcaB9(gF!y_mrp8g=<7 zxRk|q6i8l2acxp=y<1w`(RQxRb?$w~Us~v2Wx6F}kfcfkqRl^V4p!zJWLy{y1*|aG zJs1#iDZ<*anv=w7+}Fv1+RVwmeHHtOY}>$enT1tO9>pw8^y4|J;V9Y?scrQV@u?St zQ2*IwBKMU7B=%Tc2V`4#oL4waiw%W#aZ@fbyRMnows{%yEIq$J!KGTQm9=@->X=^S zFdO{=rK;txbD4b`aJ^(?X!}J)e=b^r#)a58;1e~EiO-`zoA2|%weQ*D4s9D93hizW z7b2S`!lMX=Ow|9%u4Mo6E{!16FWVxf*e@fo=b?5Z=2e3m_4^MRZ-q$xom^m2Nb7`t zeDR~$sqIy;D0M}AN;Y4A5ciabI(bi}sqv}dhn@E$-1-*K;D0b0G0~IkXZs$y0-k&R zZx|P9YRlHsZq+T3vnAACFFcs4CeMyD-qN-RG(1er50%;dd3Yl4`u)||?#CDqr*vY- zQIn3G=8*1J(u1}o>3>~N;OC_un^33EP4qAj1P5nI&0ifANC+S`Yz49V|5miUl4|~V zc?p0dgd6`~l+O(}1?1!>FRF~Eq?$4i`Maf~+K8r`XXEMY_f*p@kR4ra%{@CFmi8YY z8!oZkF)+=FiS^~0|NXrrqtp-$+f1|H2Nw~XsRl)Dv|U0H6Rj}gV{aM1y#TjP{Fgf9 z#mTOEc_X+bI@&o6VKB$%?!FdkJ>aM$_fuQcBX#GZH<i{z%ex%~@=puURvMguRKA@O zvc~^D?MFB00jH+%3`iM?^jHegFyOCj7gr)l#Zs{C0PmlmK9CsEy*os=3%yvoz1A;! z7DQX4b}aJ{aWwF7%c>RosTS4%j<R<O6E-LE5*5bW6BlgKzwls%xV8<3pWHqH65Q}Q z_L&1xj|ZxM>0FlQ6h!^f@mHJp<l&j9=I?5E61#vxA;~Dd)#!bJps+yQnd)ho(vD`8 zuKtTYbJH*Pj+8l-AMD2FT(=;D9-l+ZmehNy<`+H^M*ofTdGS}|1<xW|+4f8WhC8M` zVJ^EGj{|i%f6X94NNENNW5)b<-oZUI1jlQ^&2_wi?06Y0*hY5?)}Uw(jF;n6&$bU# zTe`pft?81GjIwO(^`Bi-5`dE@5Od{#kzG6};5HVqMC+K-+KVQT6{5_<!kzxN>?3mi zMW8(XO?O|lNHf(j5EWM3Hvv>SDLl^59abl~nrP*@@!im+U>B7q-?B(X$&U(V*4_(D zsA}Pc3pD+G+KXP;vhv$l9{)Iu);mM9L}bj@A!YFHvwi-Ns1RM(fH@+AQ8&q-A3mTQ zNbT6`G3q4@>gV<~M1#bGO(JhNAz#;9=Mh(EJ^aJ3S{<tjgfQB2f<}7cx7bss+9ANd zssPqGAjUVcK%SJQOgnvkmHV!T<LFcKlaPPDxo&ApNiGf#{Pupvt}?Q~K=1VSUe}~; z&9I|nx%FbDts0O2I8#>U<*HJr4l)3G)-Sb)^J;S}3pR?Vq1<^&Cy+8MR~tjAN^baY zZ$2Pg<MjuTJ3VenJPLpRVjo(s%j~v$HzI>R_xr(gfn$sk@Yd?$ni0rKLd5&BZf#zP z>z3*k*EArQn}ORYmSZg_Ur%w<+`q@O7qmAY+<RMDK_W=g9hQ_{_x6Mhs^V%}{YR>Y z6P|X})HNJ*N?k%S-~D7Gm3RCUc|$X)XSe~3ypt^m{r<GuZy-*Y>oNA~1tM^@Y}rp( zmp#b2kFY_zHwND_^JlYo+1M?ofW#fHOl8ZZztC$qyr?ffDoblasVV}?s=NVnFz_=m zydgx6NgnmBapQ!DQJ~?1-Tsx1Yd{Z2QF*%%g#IME3(335a-NhfDob|T5ylwq*LmdK zlPs}s5WUnE?FbT-9W^D<UCNP><qu8nJD@FGu-Q`(loJ|YCYJMr2iF}m)Kxus%CVrM zWvyBg<^TAvift8bCAh{<_2n(hi>dJT^o*nfRz%e4M9Z%RtPShm8cH@2;ZC)h?0pvN z43;%GQHV&OZZT2*LKTX=P2u}0f`N5=O)6PXP{t&ihQPjPQhpk6Tgo(KM+v;ozHX5= z%<e!5HEq29G*HjpE_%BxPLFu~;<dXaTrABpk8@5uhxmuH?S^dq{RQ!!nA9vANMm9v zH`Og>=a`g|8O=xPxBhQTv1<gN@KjR8RgnIV+E1qF;ww7kXHRnJN&9<im)3WEK4|<M z30Kk9dLrY4Dbo^sPwg{YYkj|YTm$D{Ew+oO!c$O(nK|`>kW!O>j^@=$3nLg>ol#v& zf=}>^-vJW8FB4ZxL)DKp$Nk|uLD$ys?*V@}D1$x|Z*?LskblWXZ-58$5hz9dMFH|5 zz$qf*1`1qH=+czw3D71Y;C_YG#R*Tzhi2MVLQmogpTCsy-pEs|%%WHS;j%<T@_G+7 zck~za0fl<a4lAHyD_n#8Yhs&7#jH}n&=*Cl$D^qECTmoH4gA|ufEIUsYsM4n&)-n0 z&h+L7jZ!-*eF@yLTuu|i#&(`Uk0~^im!NlT_QS`R8RV6`k6r^P3KK)%3u^o#&F#t@ z6-OsUtei39phS5*#E_9al=t%!gWjG;*{V!R$_?~sqNFf;qZ(mp`J_KQX3fxaDB<3n z*)Qx6Qa1!;K5zotb#cXc_SbZ+;y)DJhg!POOQ{7n?m>XV@@;H6<#Aeh_nRY81gW&M zAJkRqUd8BNdZ<kg<C@&e07lU7r4VOdKDAY@g|?NGHX#&sVmrUnen(zZwR5)4y{5&b zxJRO{gm8r)!`Nl~OzimWy)QdUQhwP<yx{@GD!A|GPyqIeX5GWiU0V_fc_CJw)NB8k zE<_DM)@!ge+pQp1DMa9_dO>Wjp!pjye^01>oo`a&8?S$Qe{`E<9{n{;1vC1#PKygZ z?JTYndnAudw_wJGVs~508;ccs7T>?cB!wKO+uXEJ!f9LkK&M?0Uz@>Jm8D?ch+!}e zKih)moy5ZE-U*Sw8H*U_K+)_Z#f+v+pQdRp`6R!E?qJ<`Y=88VP{Dva%SgdH&gXWS zN~C85KZ@uhn?v-c)1uFHyDmh^;ibQ>=R?ohc7a%+KGA+@gZAO+TFs^7cG5F6+cN#Q z24eM(Dp^WOM%Y2S>;|)dD>)Rz7%~BrO9abl@;W(Eyz+`fH3r$NsQ?J0y-TKv==K1? z)xd`qP05;mp0nI!ijP|enq-kq;VkKt*#sT*8KUQEp|^n@Hl5*+7<06DB*>h#2#OSZ z0{(-Pfun*o-D{RI?(*hmj}gDNe*2V4+K3@FBW!-)P59SJN^Z{9nye()0*#<L&E?!d zFY6`@KpvganW-*MATuyKfts41Q;D&_q$do3r%-0Pk+A{SDj*e-v+Xc4Jf3lX+WmHd z>xzII6%CvySyP62T`q6OjhXW(*YwYg)HW-^<LS+RQKGzIbDu(lto6w2$GY*E*K+wC z%yO_HCUBLz>%?*Q_Gr{^Y2!`G#Y`UQ6hdY^6-;k(n8D7I_KbQ~O9nVM<HMFhyh?3k z=wS7O6U0g*OrVSphlNMc{y($b>9SB6lq5q$+qX)!qhhHNQ3~$;Gi6<BkW~5skHe3I zxv%kXEr@7ff_0z4Q0C&B%!OE|%&A8nUr9zRv}eD!gt}dZBsJ-X1UU<Y<HA|iZi>%D zWagJ9rXYx|4=8DHkOExW%Wz?@v~%J{?fSewAjAcu2a)Evltf4MYi@c~9Rzi!H6;I! zO7`SGF!n#tsin6vYVP^j*0fRu=gnWp>}j>Vq0pCOL07q1_1sW?@(5^O5it<{O}7W# z+fN*{Kd4thJ!wu{A32i2TNZv4WY!?_TtX)&bJ+c8sScH)`XibOj{fE!jPJGl-2s5F zz1Af44_qxEOMpD`TcVHXMR&Z6{X`(Ji}Ox8u)o2h(F@&o<;iUhWda9jpT_F{=~)wH zcuZvX8P4(V1FG=jHW!QX#QNX1ac@IC+)*TaYZc28wwq{dEhtZ3>cc)Cf}5o+?<npk zf*%W0!hjeNrXLn3%f#X{;O*bph~xM~R(W!(?5>?ijR4LNQTMZ8hF#l3XfPk`27w=H zU-_$Ma--9urm~dBS(yBGh4^ydc~2OjnoFtbkdW&o&O7ZSw>|IXcWkldyns~Tl?|qb z{?jMJ`-ySyc6pT}FO=b=FA#Zi1PNMsinv*oBYLWY5bUHhH@X=Q#s$^W@Dd_F8e>9t zz}s!jRjv8AmGKMJwS<H)WasDo@B*kRCfkmXkRe@;Jf0M~M8{?~A$ss~Jk#ED>r#!J zD?WR&xU;C{oc%_2Iq;tqlaHvvsBNr&C~?T!I6@=qrX4}Ih4I0v53k19P7`?~7iBUT zl%3p@f}CVd*erw5go$BmL3n!z`yruL2CYH~sE8*&<`<)vSD!bByag*>yfl%056{2- zAehYzG;#X@A^pEtF#mO@HY}5t49@d*df>@$eX@sJ*58(TN#yU7{9X{u)6tTW5w@v3 z)D9&m5p5jK(r)f=r|Te@)!oM}BCP{w-4yZxqfEVR8=W6pe@>1}k+P|K3tN|~IvZ=7 za}x^6kQZPh!3KG_c$3fJi_fU9;y^)Bo|S<z-}ad>5f@Pt9&*_~J*(y9w0T_lDYC1h zI_j*L%Zp~SS><nL`PYfq(jE4)QK)QL*Uk}tJBd%UmeDvC&B%znc;b2a(m?<@#13=5 z%)io5UpCsMT!7lakwKB1Fd(DT1a6N`+!XMfdz%@bQfx>B0ba_62#hv_AS0U>8Yns_ zPC5b!GQL#o6sC>A3v(MLHt{8?>@5D#D<OJiHE?UC823LS7Y$dN3@A@HN+)jpVux<+ z8=vbM)ehab7H*&LBG1%B><8Q5<h`70G10cR!$phNzkcg~V0O_!vvQPnCG7X_S^!ez zK2=|^v_R&@7IUQZK}DU3P+LI3OVdI<lR|LdJsiWGe?|61WwOECLJ5ANi(A<o2#X@} z%k4!Y?ter9hI>1^>hA!-2<w76l|FQG@T6_tF+p?K^Gn?YfYmano`!xv%Mr5H^Oc~Q z{Wj-sYS@M7gOjVzE%`qmTA6t{JwTJeSMR1GZRuwWoa2{~GT=AXkk9z`qDpe9z@yRn zCwz1Vk%gb;-Ok1$&3|ogxbUB?LUnVd><KI+4dXjYy<+l9glMTqiqCEJ#%e|xq)d^N zmuQ}^n&F*5#i0E8`>;(W;K9(KkLUi^-VdFEd4;1aPbu9qB{ZL1o!5DED&e#k&sW)< z9L4fK7a#rqMEe*25V%LNikCa+?%@Xl0+v-46{`D06Oi*Ei00lO_a{Q8k?FE=MG9cT z3m0e--3W5aRnwS}@f#pd2rZ4$RZKywJ1Sg85C>4fXmf%KKgn&&bFKNOTTHEMFLj}c zKaB=qhFm}0uzAra>(Si3FE-B}rgub_YQAY<dEIgw9!@mZ>-%UOiJkel<O(t_7m^RC zm?bDalSyp4w1>;6n(H<~nBrk;SxQMm(V)%>jEb@G2Rg^?2{FuHydg>+&nWoiO3;67 z4QB-bz#fecm8|moh9^D5JG>Ta%%txbr%?FwL_9;_E-Bk<dYGmDH0`s8*voJ-Bn#IF zO0~N!+=Y{b13mxch~<j~$=VdU{HpAi3Z?yH$xyrG(1w1Hp$0h{hr9M`skI<s+34$d z%@Jz`d3E>~(=z^Qlmj202@`>0V5%?4!V++uK|;wDHP{_!MWp*3+4?72P3O(Fta(jP zHpMbQyS5OEC^GRco*wF27@|Wu$~@91l;I;ilnUHwo>h>;nQ2>m#}$ID3*stSxu;Bd z>StJ@y|(`yg7p|3=O`FqsB}qJxwF|9ZN~%35>|m>Vc(r(m8Fa&qt;mDovUNnwh?gr zdBeh!8aMMe=^f-)lIcI;PVnPE*pCAJ?Zh=eW+zhS4^t)hLjkRHoO_H$FagJJd%k@K z25-Y6Mu$t4i>a%5B9=XD4^Ean+OKN46)k;Lv`TiG_KO=TsNq#uKsGpR=J0$Uj$eoW zKkU8rUzA<j?@x#*3MeV9q=2-5zz`xKASvC_4Kg$iA>G|DAR!GBGc+jDHFT%M&^0s+ ze9!B;pZnVPv!B;~efJ-*`Eh`A=A3n`a~<omKF9m`iMr}~;~8R5@>(fND~^@vJ``7O z4r*ky`w-9naqDY%i(1O;jt})NcEXf>#M2+MqD%Cuo792WRGRcAJnD_EKew!l(+q0L zicsG_83i)Ia{QI<Y!x>j7;R{c5@u69#v<lpN~!?XlGj*m6sAAJ$$#MTYCn(OeCsW` z1P_x*^Bn~fug8dGdcI*_Hu<AnCk4Xhc5=e_5^HhAuP5MVL<PnE0xms<#38Q)DVQ3d zUNRk^sg=aHSLWVQ%&|!gsbZoz*Rcgl=k(b0<e0OXgJ2fW!P07gcI_{Az4rSptpp3{ z5AYD^y$Rt^NRGW!`o}t`>%9wllUl<aRuu=PDa>K0&wH;eg#a6c56uIWsH}{{L5!{m zKja%6?X9AS40+K>r9?Kz$_H48kCN@+T;r-NE;f)d$CqRcEQ!qtu``U)uGcdx?d2SF zlMT`zzDk*b9d~~x*LN^21qiH|b<P?a-cEs~uxkhhY`k%)_a^u71f}b65C|I)q{ig0 zI&yeF|8-@|D`%2r!7?H0ybH(40^&^*F5L5m-{6gVbA#^F%DllKLQuEi!OOm6NP=jF z9eJ`r4Rzl9nW;@f4cv0*#5#kB%dM{g-aGWmXB80B6;3X57Kzoqo_yM$AC}y^=se84 ztiy1Z1NY)JAK0VXM7VE7!kzQi!nx>u4P6niZ8XD(#H+t|WdF`?jO;O?CouyGqKX7X zA<Sn*igCTp+&wSEo*Y#A-Vw@$^!xvjm&_6r>@3}#ed^y_j?x-GqcKOgzcEvYfND<W zjj~_g%U38l|Ejrg){_JH{B~ta+;$V)^>$>}7lHFTavFgy<alXxOWnP3OHKTG$<O|R zQL9+f#htB8i=y%Cb$AF!PPH0ARM_pj@5xuT(ya%vv)_GOZw3^71Iuad0kR9P7S-zb zgx>i&#x-Ag#?b4zm7gdNbS8i!5IjwAV7DIJJLKjSQ=oa{qvNAIo=^UR^`&k6NwK~x z$D+y;d#2^f8XhmLpTwsv3(G>biABQHpD;KFX&5SY$lfcir6&nYKVq&B096+4#J@(@ znmX@?(&<03Cs2pwUhk=Xb(`@$$)!uRn6(K~u)jW9c(i<FIU(|Trz9Z@{gH^G-*x;s zJYYfP@W$QoYMVFVmhQ*v*R5L6CK3+<sZvLp#3j>!LU$U25zoV~NW%hh;B>6zd0Uz4 zq`;vS&~2+?ReK7w%;o8%*A`<&Iv$9FnA#Q%g>^L+kO@6U;6p#&Zx4^Ap<G&>4GxCC za6P&bZG%+FI$Up8FCA_*-B$c4I|>Rw@@l4;`#kZ`xyy)GZOpy;!69I<L4;}36vaUC z%x&*nTAGipY^0zawHPO)L$2Q~61*_N3LFQP?>n~MX^jN2G~&C7pm~3SOA|5DD1R8N zj^R!m80@}Ywb**?#>?OI>Xk?IVE2)~=c4;XGy7kAv8`BJC&OP)2NdbH_3oqNrp(Mf zCu3d0Ry=Q_CENCdyf0~HSPW=j+l@?3L{qMWgRdwnfp6&4RrQayjr6ie|Im%v;k@(r zobpf_C|AL~cqR_8mb#hEOgP-JVC8bW7)TKJ`h$_wYQ$B0c!nm#>Pr=qIESO8lPzd& zbou*YQ@ocsXJCDq&2uh-tq`Dw2dKtZN9cp6VZQze8d;=|R6a?J=5tZ-ZnX|^N%;v9 zcuvu}%OKo1{E7qWx(pa(C?X=O^<DRmfZJhdcRNw3o6ocT?x||8ZAr4@AJo_*MKssV zTnSgnO~VYR4GZn+9YbT`deVYp4ddB=kXzw=0L%CQRi9i%>}Q1uOUbd%Na}fHjwrT# zED1(0y#{M=euUD)rgoWleVwwo+TotHhNCl03k(1hB$pRwS9la&Lomdd?`3qL>Fa@y zkR!<fjtdBHM0h1Lc`=MZ*}i)e7@BO@*s23%4QF98Q?=c-*v~xok1_{TFY$hZsYTxR zD$?n(Y>Q5LU7O{xfR><%xq!P{F5jt1w&nBo58@VTPT<ANKR^ZJr!oOhH~iy}KN6<+ z+GAGPm{R~TRU!HLN}ClD8@d(bvI-oGf~MTKdyCm(KM+pVa|lK}fU_#!K_O3R4CEJ_ z9zhlGZYFu<t`ELX#Rt7Rz+RR0CVRWNF(Q0P9l}}Z**#)>F6l<d0y-DkC%O9AF7oXJ zNcMLEjwzE3UUarqHn(%i)f`;imd{xhR9HHm>drAKGI>P;f<;43R$^lg`UJZL+|;cX zS9QBftptcu6n1obyIGC~GwyBtVj+2_UW?O@JPXsNP)~=N0{;8n%vb3}Zo+#*0;Q(= z-_apq7%y!8U`d8;xX4^osNYkx(=3;2dz|T!b4<ySjE@wQu`Efx?8o|1dOv1U94~&| zFh2-4{G9Gi#Xhv}F&?7aYr|3ceru>hc&{c<II@<$y^?2R&{6YyqC5<z#OF`#7p=u6 zqtOvu$>L{nisD}T#eacTwp%L6K)&_{iG5|XvDdGapdX*gNw<X(-**j!sJe(hd}Df( zg%ycWLWGa}P)<z%I>!w8<p0eN18OafL5PEBNY>r{LO6~y$uXK2YF2#Ecb*^2^$IM0 zQ*6I~F8jxgP^oFs$Ozwqz^Y(FAOw{SK_`qKxwV7y`^W}cki$Y#ua_sHM0vIJ-(4Lg z8LqChgLer~aw1nUNHnTfAMn}*wOLeC#d<;(+)gL3a#m^G9^m%SCvkZJ-jdi!MHWmZ zKJVzc9Gj2Rhx6{n6on345+y+K9ZyackZq{8)a{EMo%1#QaFa%^07f&fPjB;Bve7d} zzKizub>~Vwvlg7YuxenZ80a;**}HI^T`JBwp6cEXrk5`#S=@m|*TXQoaYjeL3oHPH zhH~ycc>#zSCPu*2GhShOt9!sj1hOQ+@Q!2{B9Y3j%papX`|T|7>tT;Q^;5eyrs%!% zyAlgGIwK-bOlUvJazDtVFw?pMut{q|yl3So(p1n_9PQw)&aXq8nR@9yeQMfDN{IqF zB+_pV^^IlcVtp%rzwLR5sDgm6mHPNW*bnw$@M7$t#$R2Z=8PCUqF1L{^IFwjnPK$~ zl)6o!TeG%nf<y^%pEkXddFina2KC1B_ln#Xm@BSBJVMB|(At!vL`?_zJd~d=l%UTQ zl3{V|&@(X8iV*)VxwyW!pHc78)w91}2!yO8uw31{c!dKU>)PUjR7m*0+i97S$+!2b zD2Qf=gX5C>ak-YgLqomVG(|P8-p%g)IHSouM_lAm=yg+(No$0#O9d0L;_H7>YA=Re zc^6L@)W&{wSF?%6Z6A2Hl|rhq7l`!x8jTbBU|#<Cy$(Th4Lw;H6duDQF)5Gp_z9++ z`l-4+T__yKt#;2&y~Yx^z}MWqpp*c?*N;Ny#GeIYB}o|Nh+|lvIHj=L)de7r@)lZm zF_KN4)T#}^S%BBZ;gE`Ztf{|F^UIS87u7^ZFS%$5%hvu%RwqyQFp`Uo^L~FM*?caX z$4jZ?Zkk)IE}<{Ya^gfi#AW-raFQ;v7V$`UHD^R<VU24}0{<*25J}YF<s)(8bQh&M z)o_pTU<}^*2<jN6pblw*z#9F-9G+f@b;lM1Adju<UbasLbbU%7F2K@Q39;itWQZ*w zA7WOOt7RBg+GkpSosm1iZJNzHP|yihf&9F`roJXehXMCHams7S79wN1sxgeD+0xbA zcK7rh_v&smkE)4I`NIg5Vz+=fY)TabBCJ}HU*YE6w+HXpQeAhan?7!qmwoaO$k7Re zDeyCuumJt*PuVX>qlNA~ja@PZ!hhvVG>w0&)K`p!K-Gc3(9dzBdgdLSj-V(?ETm%f zK<U0zNCHk!`X9|Oj5@L9U1?1`K@ZLYaape~(Mn!iGbCNtUC#NEmG)=-0fOD;^Y|US z|4D#BX^;^V9f;osNJ-3KK4<-g3C3Wkbm?V(fnjefm{Vsf4(rfkM0+jMoyHOE(PZn< zsr;tqHV|^s#?SVlk3(jdg3;$WGG0@+B3HL`r5kAq6{;(49%3%X-`H%j^~Udy&a#lh zE}!2W;j$GvjK`gc>8=YZ%LQKl1j_0P>J12($UXg1T(3XEKWb&YKb!c9jPI(ge}|ua z`JVpIDws;sAjVH$D#Q5=;cE{Rhoe>OM|Gs~;Nu)`@Y}ZbAf!|_>J>qZoV%@Z63t^M zcHgl3&*yFH7_$%CF0jiRi<L*2u`4kkO3&YhpD`3xUgj>{T_ms-J3JB+W5+=-t!w+h z3~O4C^5`56GX;(*mY$+@CZ=mPbFzJmrrff`h7pm?+oZ~bGz1`AGK0pWR<7-<5MPag ziM@zcTqoVw!L65{esTIl94<xdm!JM=%Dy!~toyz<*fX}b-={t*?CUz?z=7&X#9wXI zCbYI%*Q5b5j)Cb=bavC0G8Mv0+dB5B`H&h?`*Ti&?hDblYG8W1RJSvS%Fx%bZ_A!` z&J}OGr(I_W5TD~OR*h~u?>v8qJt2)4BVTquSV2XMY0uKD`}@&&EiO7Go@m#+(9G5H z<p6x)Z|H+OhdOr-6m0gAMnl-^_WL0^S|<~H>4LDI;s-Ytd+oD8y)`D%Pk$G0>PN7D zAE1;=7_m!>qt<TFfJwIZ`&%LEu4i*&KoR$Y%|G?++Pq}DxD!#3Kh)%$pzf!E*YY}# z0ImHnvw`s)cD7Ly`nfU3n||A6?k<=qA1?Xn-c&HMneI<0?!4tf0&DN(VtB$R6WY)p z@**#c&kJybMei{PXZ!e+cf;DBLT;N6zv##83@j3}al(FToKI6ZUDVhN*HktLL2qUO zpVGWx0-5$&QZ>I-Fs{w04>yNuzTWD)!Z)zr;72*6!fJKcuH}@K5|8K!vWnrD$$Fxr z7zz}*al&Eo*waKo6eR{^&q#~ztdv|o2n5~WKMj?7Li|l0f~4WZ5LvrM!?lgBkStB= z-7aJCIS&poo=AFQzN>T$)qj1zw;?TFVBrxo0$cT6m7m2)!RLB`=QhG(41;u^6hz%c zT&n2L2o@<(vSz4C4OEtu{RUwXBg}6Js`8NFu!Zt4^QF<x5Wh12^jMvH7zSA%#d0EO zEk$h1YliT)!}B@0?SGDR+;TpQ+)G2fWyn<hV<5q_Y9~E>rDmqJeH3PxuMpx8b?v`T zMOBA8aC*CA`W8rU?uX!1Hcm)Y5Yl+S7sFBs1vo!%iQL2;6a8wg`8Ba|v9xl68ZpP9 zQ*m$k4do_`3`o+<;>CqQG}s9cfN1@C=87UHdQ)pw!VR-j8HjuS_skdyg;}b7RbKjT z(9P2&25OHX;i_fi5HaM1>oKtQO3Htsw$+~FZ_$Y8<GAQkG`n!MQ9odjLf^+;+3FO! z6*F~ju6{j@BVs?JN#6=SnROnV{66)hvB^PU*;{SLqs7Q_Gepbga-dot?Lf4SS2%_T zHludhciLz9EAaHFAM8eBzafpi4|RQ*DJ#BfJ;Q$b=5jRZ0PlUnP`$(0^)qwvvZ^dm zk>^bBv8cb1^`-u>)O6Ksl=+#bb);imk#@fsFv??_C5l5t&fR@t#6~$iD~B5oGFdk6 zL25R_TBf%Af(_c0s*PyJQ4-s3O`OALBkv4&gMrzYI_Tc&I?ld#*2no4a^)gRK_IqN z;p!Y9%Y1)dc1_3}%VOvx<aFQoud;;yW!TF82$aM!T@83*Xc^8G^B$K-%8XY?op`G2 z7HrR+!=<9m>6$A0uFe$LPI}hpNwZXot8GFUHH4iq4;I7wv`?<>(2%>4^NGWm7<IL` zU<n9nx{MNYNn-2f`$IIYNgz82d8sd3a*l`2+&p1hfIBBG@fOdW`eS(5)Hp^y1U-xX zz@Y(DFRxKR8aaZ>`PhWZCGT1#N#Tn9mVch-TsH_!ijYqIRhU~2LEvwF1iJBHZc2?; z&LqAx5%=@m7y7~{Db2F>iu&-bFdvHmM@Z=v#_t_>+7g;a)>c5Z{CnA@{5DzvSJQI! z88?riPhR#Pv!ycjg*{|)EiN+y?EL~n&71l7uX-QV;ShbftGkPRFVLU`Zj<V1y<V|A ze%!j`eKDWw^)oq9y{<HQ|8rY2>Q~{dTb%s-?ZR1o8500Yx!7I&7-2IaywZ@gF&iFj zS$0M%#HE6Vi$&ka!SZzhcSwG3Kgn>83<Ojz3m;EJwb1h`qKT3|u(^%$+%;pg5z@Ai zU>MMw@ZntP0zD^(?6#k2MD4vhULvzXuk|007r1sie2$uM_a>>;qVy>xI1v+7(j@Vz zKg`@Y5WSK-?@W36lOP1B14_)h%eP{wzUY|A@L9eMfIgCcP;dU=f`6rf+MzI|XZHU7 z$LJSUTah$D+w<%01<G%v87)ada1e0}0?XThNKdBI+lKFqZ(m-UNFOH<EIw=xXVX2= zzkBOKuyF73IRV0^WjBH3R_jEBAR8s>_VSagKRd|xc*ea%wvy>u*G)cPGA%SU5@4bI zTpJ#0;oZ;YWD)r-|3+ikqXUHZYU054ZJu>))(m7hQk+ewuAUPEy86-|4U}q=G<{8o zO&a`anS%`gCMsfQzanqkTi~SQH_%1!yixlvHq&L7qAC$POqcSiu7<Ac;y($F6Bh$7 z?%bOZQh`<QWIV*>qS#W)tRcui`yl&n%W`5w{IU$+)xZX9RuZvit$rYSqkq+36O+~Q zVkmNxUbsDdS!9yux{U9mJhunuQ-^D1t`Z%GU*KNOSR)4EE`5xk0O7SQ^u@8H5T;#a zi&;1g6m_uNv6!=i6(*-Y<8D0bq*G~r6&jsj0p%$hyFTj~_c{GG$!@#E+!Q%>#6<1E zITL?!{R@Ea(KV10aJta|-V#Lp^>Re4=}%hgN<{0<Pit$D1JyUkNNXAk`zptpq3OJ` z^9PeMH_=~7-Qiv%%R<~Z&wjmq9UIhR{gdTXe9AE@DPUttQVP#PW9<@?%3i(~p`HQn z?mu{H>5>b4K79<zkkg-R#snDYx_S9Om?^6*wQPT43We-yzCPJpanP7lD*?<G_jF@T zGObiw6B-L@I6g@ikpjinsd5?ni1%&nnD0zwo0xPfy&o1Yl8e`=)9(#|QdPr*C@^78 z?+WPQ8!<<cf<-fmwfs5MR`vy#fDjxRg@M0+WUPt5Yn!quzOTAy$myiowf36=^J!&+ zlpVqD&Y`R#ZIj4)%vsX-@z|h%iqLmgPKybk<c3aYH-OucZm0w>7n7zmypt~Y9{T15 zJq9~3j}DEurSmsJ5ox-x4qUgmGu_;s>|M2wUW%Q&59V#<_4=e@DA?s+kO(AhT7H-F zayNdwgqirN=uxPfa4CjYd5=pbPv{!1@kb*FV&W4ZrlydC>TF!Gw>+7xOICT^iaZtw zGC|*6o1P_n)NKQlOMRsC=WO|cg~^+}RuFY9vjECqR+r86=PXXXrPkF|tY&=PX_>}J zs95#>R*aV75l~1fA<ce@(pgvv{-%o=zNvX_may5;OZZ)MMd&IPC~{U>L>bfo+(bW# zjq2Py$&<t~G5~o(AqGkjyL3riazWJgc-6U#>hOL7<h6}d4;_Hf!i>VCAb52x(SYm6 z369UqW}11`oV7`>-fz`nL_W;0{Vqf-<hY<-+{x7CQ+67WH}<9lB!8QyoUSO&)A(+t zUUZQ^plhvI3^N@>Wfji%XyoLipuSZ~Eo<z%YX&yW&uPR<uCJ{t7`5Y#`(&WH-G|ou zRQGK=#BzwSz1pg_%~k_f@AYTo5}VQDd|1keuPR(9>+c(K{+#~J-p{lDlc}Cbylq-i zSf1!Hb+x+js<Z7Q={jo#X}yL`z)GZZFBuEbiK#oMamKqZ?pf^~2k`)ZvkNLvNW7QR zDrB31&UI97+7wvIYB<oFb4B|Lrx_-$Dl7X+AUqo!z_t5Y;gfA60a<^VJG76efm0&z zcdNrGG1<z#li3dgldHw{2Jpo?krQfT>?-8^QkqYzEnJ6w755BoouQYHq*ru#Scuoh z&kdh%f>(O!5Cr{q)W(hAOQ`_aLM{0{>23cQD1>czs-*XQ30SR?Fx%&q>dFp-TDHGC zx+z*zaQ!O2Vgak&fYA5kpk8ofWkjUUVC8bT7q=w$&d(+lbYL4YaUacfx5Vo$S69=X zNB5MCvq=dyWRzsvO$NI&_2i5@{pnJfzRCU&u{58U<4oDrN#S?oGTAUtM*G-_SGxjZ zKAl{R37j)GQpe{JRW*3z{A2)=@2N5MV=huCw)~R!VbIlF+r=oBERz}TPp}BL#6@O+ zH9<kk_Q~wn2jYURPr}2|OM2&j?ivVldP?CXq>yLw^+wVL=Rn2t`n-uWiPtai$zvAm zuIaD$&%}lW_uD9cP7)wmt`w=tgoJ#~zK5R|sm2f^t_j;na*R)ZHR8se7w>1|SnnC* zKj?Hl5l`g|+b`HC{YVZ`EuC8ODH<iuB?8vd2i8#|zD6gPoNcRdI0)?PgE2Y3nUw@B z9L<U@5TLxXc-4T7<!3*n;i%=}DsnV3y`_&TP&&2rO&;%AX-AEwyNP?awxb%*g*Q9X zh6)SpSMF{vNKf-(+Ekg6B6fyUwJ0sa>JA{gMoUU9Yp5o#<}a!vsuhPI>K9nF+HL9{ z4(6NBk29__+q|@x3dDUcqpD{K?%og_%u{_KoO!}P@KV2jK5t3MV;}x~gl6*B3bB^{ zSggoOLq?XxjsIq(zopqtG?wdKUghufkaIc+lg?93N@$H?`veZP057W4028#c=8wNG z?0R%OcwI4r3;3?h^nSR^6CfJkMsuuUmTkX^S=8OqL_>!9PR+tz7TbV>kSp?#o#F6+ zrTKU-SA{zcGofH1SK`8FyD=HR^#B=VkzBAdEHA~Jn0==SYuU5j^bl~@)V{<KvyG1@ zZ*{wI|LJ47h0Vl@$DXbQ(i@0)fPi2yD?XpPlm*|`t|t#<(LL5FBr~3GYf{W=6sI}# z&d+Imnd4K6gAnQ|oCM%8LFuJf6LbghFO8P{L`C7~w4aI?S%e<q-cYX7GQven`0t9H zW|=#VF_l-Y9pF;DcPUP~bgZWy{y0RcI&p0$@gFks%xSH;Ff4?ut^6Ow6J&bL#AHW_ zpM#trA7BS|YJ8TsfB^=_AcVlJCw1=N*B7jh7-IR>XW>@NSV>38wOw%CTC)c|<*yE9 zQ89FT&QW*<pFM^Q)6+}N3~0_|d1iwe_Z;>x66sp`s#NaWed3gkD2n&?U_)7~{b8}B zhbWID)T`;BgpmAbGT9J^sZAB*>NyaGvtBo4t<t#%poQ&YS|TPp|D0M4GX3DqJeiVE zX4i$DVLX2)6pE4Y0~bmCmsjHa_h*dyg9txI*Yc-#phJCXz4!#CK94wqPqeO0ehCGG z1<=F!uTuk^4IwoVU2)fgM$d@4iE_<Sun<#r(P|%AyeArP!I%OORR-1`4oOKr3553o z-n`jtU8Yu5(Ias-teOjo>hxiu$fOGmB&al#&zJC?tSiWfu#ZF-nvS)cIDd4>1PCas z5d7N9)>dk7cVw;|0oh3mLOzB6T`<0lGnYmRK)TfaRyWY*cf%5qty~T+Bo1te?6Gc< z6`pfQdYA?p$vd`vv~IX*Rw7GAyg@?OK7j!MO5~*8s)N^5Qh*$u`p3bR+vEKMr-gF> zC(=t&r!wh(`Ex^<&+hU5&SCi;i@$BgV@8hI`?^eo?{V53Y+d|lSGZ*?o)pq@6Tn0# zY;JF2zjW6Chw|XreAgiNXutDh7BRifHyD$sop7vWAsut=spLGrkK|Qt7;cpV0{`2C zl!@%Qo4j1eI2mB$)jOqaEo>xgW{4ZR984fuKsR#GT%-?%m6$BYN(Bib3^g-Woxf5; zJ4=!q`fZjkLQ3qXTrYhEJ(Lz)Z^gCl=7fO)0lMbWyB7Mpwim*DWv@?WTz{8XUwz#c za?!fGHMl&;yy6MFA#l~!pB7-Z?|8B7*^L^EI%4B#lbeX7*2=nGoP^v+>__EmoRk3= zkRL#&ZymqhJmpqZR*G+ThpRs+isaO}p9WB4JxUY;zuU(i$4@FrJt?53zxG4t|D;u0 zCK~LweDFLF8JnI=G9<+loUuW|jj6J%Li6OJQ&3!iQ7|^?WxMNJn?T}08`z7~;nw() zGry~HI-e65^?-K)6$@qZCS*qpAn_(Ic}lMh(!JqOP5UWl+#h6np6}@J!@S_$bEy)0 z%WVJKd=m>L0_v9M{E+ei%wM_2xH9ggbqAsv**@rit6f5IdA!fLv3pOEZhrDJ54%!A z_m@IaQLv2Fd-}tzz|*RDZgCIcbU1?ajq{21eEzaFN?zk&i)SNE>VfXwA3pE9wo&02 zF-&DS-+`O5?*^UU0>{z$&to2_@?t!D@2iu7x>i=83w=<yu&J!3Yvreq&$vUxJudQ^ z{fDs5T;L<GJEYiHQ%u7)+tB^|=-aWcLpgbx_c0^{vmv*I+4+$&hoMlbH1P`AscV@H zkZbq@qe;P?blA~FjU$t}2!Ut@eS!f)T`&F9p;?(>@bfZphW7xX;u-;qzPKWnXX*Y< z*yHsgogx<9{3CAD<Rrn{BGBo1wefS)P{q!)Km7KEc`kH7p?AG@VH=tytfS2h`7Iql z*SoE$zmgZ<C*k$LpxASJ;@3a>dm|2K`SgjcfB=*7?%Ovg31%#6X310XLe8^CKG^ky zxX_T&M~Rf5zvH=o@6ApXdF6)R@{LBz0rHaRMf2!njo1OlbV^IeP{XY1nTV~pNv8k& zq?qa6i%3&Ro6XnXYJ)sY9O*N<56DmAP8FF0oVu}!Z8i;(imWI3XDm1uE+i)LxhbcW zWiqi^raY2fv{Mi?g`iY^I6vN$vT*}!gcahhD{v!aC!%&a`gxuoBF{wG1>;$+hk8+U zW`ucYBM8d9cl7H!Itp3=du7iT3`6K0Z{HB915Ca7Z8+B3s|~&N^tb?nPYc8n`1Luo ztg6EjSjGz-M~i;1=PIt-yIu-C!QCYu^!U?aeJLvW8c1%DLTTogZ1iGs1heM`G^(-= z%J0`WS&gUcQPEerbWclp`%(FD-a|SJWyY5yc2ZIsQzVU(Y=*2elo^{b7HhG-LQid4 z8+TW+;GwC$_UL1P^bCIfYbfXlw-uwxe_()Pk8wL=bJKV@!Ai--2Rqy^Q$mK`)pS%X zU{X+NK>njFY>|6Oic*AOE~b@_m31y`4UBE8vwnH3H>%^kMfEgrJQDh5l1ku1)Cc*v z9`~-_6$zL8(ojDqu-(`3Rh-cT)s^A$hy2BJ(lq*9+!irI9pA9(*Y$8eRukxG>3Hcg z!am!kz2V<&6JS2gG+4ry2j3fTCdA;D0Oc{tN)Vxby{VVBGi9&qVk-WN57^dZkUOP= z7{CY1Nikc;1QZy$Pu4T*roVKsdn;w4rVWqtA>$`0l|xhIx=;WIEi6hWed!SJs@vzT zWmH^1*6r)Nh}-DBqSzzL*4~#@W$~6zdAvAx@(+0Ldx3s{rRY%~poCw#wtk+{Jm=L+ z+PO>@5m`1O%-_ZR;7nMp>qIE=rCx`n$4i3B>d}nYg=pi$MAz>;*-hLpuaIzuFV?4H zC+P=CpN~su9Hku+JTbcQt5x3{owVq&P->{lJ5RgzY%%Ofab3H?I2vx>945JOBg=a8 z+?ip6bQ*vwi>beTmSg0_Y25hHLd{@2j=xX=*PAenbM<YWM|OnX7$eJmBY@|vza-5e z1Zj3A;a)`AcHS2X%0}Z}la!!GW}{6~&bM0m&Id$R{fM!m)u*>xw1U_9cBQyOSkEFB z7s_p7TA}<y&3{6JqL!YJB3Jy>S+5xjK+V*!ANV!MD`~FtrDynlhbM8m8y{Jq<@UQG z1e9;yzYlDjloqpGnt|@#w#u%F!sgO^?Wkw&IhQ`_bbE3-)G8m0Rmc}8n)f!*ux>E# z)MjJePkb~}h+-VUWZR{gQcZH>kU&efNZ51x+|BTgtUJ8r3XOfJ98Ah3%k$q|@D64Z zIW0H{Fje<p>c2?vfB*hCJd7A>nYf1DxWef8M!>83jrxY1pM>j?M}pz)ykv_r@w&xd z3K+Y7BR7-A=(mK=m>$iU*KbxDDCQ;>^gdI*h=)c#Qc$dN{O>y1-;nvxxD<&{D@NBn zwZPie6`512hsw{CyIhOGZ#&K+(nqIyz-GiVPio3w4e1ojk<UC0sp`}raF;9T=vD!f z<;%(|0&<GNblIK!V1Cv8jNCuTUkFDN5YWAp*NsxYI0_9L|2~;L8uG*7?(PkHjIC!v z3;>fS&V92zAj)K+z@Z1@M+_a?<cz4!zeK$M=v?s^yZ9+X+b1E&k-glnW|9}KzF(dd z`$h$F0fNf*&m#o|Xhc{80~;^rSmcTVb7Iz;&$pBDr{63+1gt1s8DxAoUKre{ol<-= z>!xB?_v!-f6d#)K2UN&wL@G#D+Od0LzQ7=0AHr6~rHSJj)GyCu_xJbn)$H8EwyBQ| zksyq;4w~t2jqyjazhR-u8&9sk$Ljyq#--0+1wca5?3Qwv;;SWOsom>$b>sdYG;)BJ z(&MPV=yOm!UTGArGA7JaGak8whj%(mF;y_sd7DSB4$zJ$ey4n}$+(_SMDN4ZA*rcC zjIiawXOx~Jfug3xSCPA7PBJZ*nvoRm{vw_Kh3AUX(tHdu5}Kh-$O%4kFG}M>m%uA^ zyZ8Wtk$K{k%}m1J`Z$_GV?^hZ8vO5n_&0a=U;RM-CVc%X>^lApi|znG)E@<8I*XwV zniTytfOvt5K{82SUv`6uKKpE*)h9~5z*~q+`QOIpwy!56gGe2H!8-8+RVL4|#clfc zm+-IDs)rpHQCHm4VaD(6AQ45krx`Z${a*Orm+<6af^qBN@9zv>Ys5&&W$@^<s{96t z@hNJ!Y2r!Ii7)1TS2{1QVlXIiZGKxoVkXxJ;nV#4s{ett{`*S*c{l$GpMSmbpH%q& z)8G8R3tqCnXfq-&HW?dL2ijQlm2#-t3d&}D_VizKxBYUgxBt#T(SK7*)3en}ac8dd zO^l;-M+wk5gCb<D`SEF2*B+NtlR!6P(M==0#;{5moTac?4J_%apeJvxB;XLkch>cv zL-Mbv`0JH_Dysu}cK|4&n{+GC97jb2uV#XZ3f|@t93!UTu2mdCx2J~d5LsM)6lU?x z<7p=4q)buy=P<UyY6)qk!W)Zke9OK|FaX*zQ-i%d7^Pad_NA+!usEyR+nl=5B7Nd} z(FJ*~0YEXC@Xs*a?#aq3DJot|N>4bR<aOO&$sCZAH=Hb8f1Pt3Z9h}LP#6*y)>{H_ zZb`?<ixo$Xy6*oycm79^{Tp&RkMFUk(!@zn49pY_z~ii2v$c-xdmq}CDk<f(>Xao6 z@V`hW$?q&^1f8(ncz{2g*xt4evp+%r=#z=HUNMRg0Er6|n*E6~(sK$IKJURrxRY!& z^P+*%kF~WHYkt=fWhS$NeoN1ZAd@>F{m}qUyZ(Pa6efC7x~OYK7qClP!+^yxd@-)X zr;fQDnCNYht1>c;=|X(ZQEKz*R~bWIDoaLrjh1@q8kRw3U=NL~7XU?3BZW4kIi0)^ z)L!}+kpSjXN4nGu^uhxf|3<t1$L#)JBm2+eB_(#&?dn6DRMr%}da0|PsiFLD%fIGp zDaX#~?94OL%E@hC-<{LB>~0Fnh4wdPGt}tz$lt*G=zJW&l?=Z3fAJO(Pd*W-i21my z{nbN>sG4v5z)-FJZ`Qqxp@C=8%4I3re?2Atj|2Bbu9}}yRgrp6m7Eq)3J<#vd%-(- z+IW}Ua=u@>y?J|{J;F6%xb>b(4Tn?;N7ZhcivGFrK}&b?cb+ar%8!Z%E%STe^Xu!E z8-fR}(+@%*%YMeg`o8*H#6v>f2&fL9Y=cEPYccD2C6`-L1Txi03+{DV%~n@y9cMeO zhTOQi(`-1u-9J4EWK4-o+Y8@FYPc-jXbAo;Tvyhx$g!xtv%#6QV?naf4N<C<e~TPq zb4F=uHZk4a+Fbupd{hqU6>4~wjQlvpyZ2=|sXW3U$#HD02$h}$E8ZP!4mY_Q0GIE1 z-9PmgOA&ACh{~We+PHP`y_>-Ym!a`n>1;KJz!ZFs%Cd04^7Lo}@xrA+4C~7Vhv>Fo zn5k`xUhSuE85&w!M7-7W39B-2yZS%Il9G+=C7kY$riSXSxy~V~j;lKB&ixTLJCIdt z8=K(L<D=?o*RU#U-#n2k`O+wbx#ClYiL>DSDJeA2@cZT@R*Yu#dbrzhWuBJ~7e)Vh zSj|!P$$*~fUUk34l?SDEM`^Q{yhBCjkBTZYa28!k11Asr+<qx|dV(MfUYL8O&Lirp zp;&nqPI*`3-v=+f`<`z$eQi6%=|r3`x{%t-%2`?6!J*H$v@uD4x7*2IGtYQ8D}msd zIG5J3FF2^wjbMSX*VGUHG256|Yl8l<W*jn^0;_YB?vD|&&51c||1_WLw_&%VwYFFB zF8pq;-8SVu$aNZW<(sq02t8W;W?5lf20xWXNuu8F=r<qho2DDaB9RmG`<?~Q%8Dva zzyj>A!FqcohEF|jrK!j+Yy)FjCW9Mp8@;kkTy7p{T)rRduXz(qOBko4_H1e%n)>=T zDI&wXYDTmUVpoh#*IO+tJoUyOOd7ud%{>9P(b?MT+e5Z36DG057uj{mnqK+R*>A}A z^;YpSXtTS%@`HZP@sNOG0~o1){Tx$!MuTLbgm@2ge{(s4Wh?4ZpF}h1Yr#1_TOPPH zPA2T=SNJZ$O>O5#cFNCc`07OVP=m6Q^`kg7l0jX3#0d)n4d!Q1(UiLSRl&J=ojakV zaB;Lnh=_A}r@c6Akuhz}#@8OoQ}eT<FB+9GKSEW0drPx_W8j-5C_MiyCBtCn2v$+l z=rVk)Z^_R!r+E<FGP`|dVDAi09@t{2V}xqDbGnLf*;QMLt<F_M;cf?*R>B($5cY0S z_V~<)*9q_9mGubAkM|ZVvPF^Csxx=x-BW2Elc-`xK{{>HD^EG}WfXtKUWcyx#jL>2 zyVLdJsksGz@{9$tyM{Ck^Zl9LUIrpTWw(dr{H<J!-;|o+3;Ro=&{jvc%(=}Cj!Iyt z`7Ab?G?yHr-hrr(5iFM!$#U~+*G}gJ9Fy+hES<m71Vt3P+@T9rSg<xc?CtDa&vl2n z5&qV}ase_)2wQRG;4?kKO1RtmX=%$&1vhrG+_~o8cXrR^%01%^W0z=Rg1`y}dyO~_ zNN`4(IR9<ol9jtR<dwXbQWy`HOIFz*$vU@gUiamo@-qsECNLQX?k5E8xO3HIJ1(}_ zNNfp_jN-lizH@aF@W)hsI}%eIPzszg6w>u@l9*as*yn$dr`s#Be;=o#L{tYQRSAxN zP^?lU@v<0{?hL3XzRUq{?o4t~t3XR*U|SN1QLte#P07HBixtdXD%SWw^#0gFStDKq z&ET(@2xOqVr~T^@bj*Sk*mY+krbi~Y$D&ZjE#}8%z9Kz(XpeKN#R17%cOai2G6QzF z_EEX!C#!+bb?L5lDJjClhMTwNV&?3Wtlw#tu@R?_d9?||tZ5}mZ6IMiUZvBMH<Oep zBBjqf3H}|Q7(L)MAs|S_Kp*6l+%wK9Uw>|L>sAwFVuG*XtzE|1&gml?qL{fT>jdi? zPao;$`6}irRGT7$29uvIvaCAmmV~|SCGPEliKOTRALgDu;;2#QHH?2JX?T#4`V4Aa zTBasvX@DHxp{cm+u_4Zf?QAp!b42K)RwnjOGWOgCfAxUnYSx*D=1juDs;c7MG+&Bm zd|P|39JVIC5}f-&=YLoR$(h0wD_Ok-b}15FXFQqJzTb2Vy45v;(?n}{2bq=#FIva5 ztJWGiE{T@h<6Bsa90hr5%RJ*AY9`ER!BabSKy4%I2u?TUD5_iDo9&F#rsSrYI*}W` z+6KjI&Gb#RuA(cGygT27<W^B-X>()t43WaJ9>!$u;;n85dc71K3!B4q6${T)vvHXS z@U76f{;Y|!HYE3r_AJn)sC*=Fr*~?0q2w%h7$AR(cWx^!DI@oHxvLr*^L|yIYt4Q4 z;~*=YU4EhfRd~IjMb>m2L@IN=bt;g3pB=%}D0rPZGR;q;zrJb{2YXAUcyhIpqGy+< zFdc{2D<tHQ7bDu46<BP-)ibS0y?2Nxw5;)<eBoJfnf1}o43hJBMIxV26Y8G1U<|3h z9<`|JiwR;AwwrEh->4nb6BkTcU$i9d=rGgL5ucMP&%fkcx>G=Bs)!ef6ExRP2#~#G zHt7XtXx;jxYY{Ea1`-!rsoL`7KNH<qHJj=jyw$nZd@=07UZb}+P8qKmJ7rszP+h$@ zbCOAQUa|Xe!la%Z^Zht3_&vQInkWXOWgZpPir}w<u}a^S3w^u%4s%1@%Cy~g0QcW` zovQa(un#_5P=+||mn-dXL43zAZHwq&KHJE2qgf1MH~e0(ec;IXR}&LtP?Upbze&W_ zMxJe>puP3bhYz7Nh*^p8l_}lMPc{zu^kF3dcA~YjYu*SRtbaoJ??8?Q-39ccs%Lec zesifAB-Kbcjm!LWtpD}qB1%9DR5^bys#=t3A)=)3L-_mQ_xdss@60bYG)Z*AKAU5( zC1?{l&exK#Yn8_z#2?0M5(R(4GL(e;-X~?wW<0Rf)YNORPa@C~QFj(&6`2~;Ri|JJ zHR(n5_VUdiZ*=Zol-e_QG7WWizASv@SsAGi*4{Dj%C-smcD<LWGwIT+p8Z{Qu8*6Q zMS*;K_Ceoph5qaAK700$A2TQz-Q0{KLs8tG6+RjQ1yG~3RJOsgSE@;;P;SwQz?O=U zFD|fNCj0Pb`!x$pPD~Jf&G<MX-G{AQU6<FTnXRYN7V!ScS5=R%Z+Q<pRS+Pq6P`kk z(bS?$_`bI|f%E)Ve*Vc2qLPx(Cuq;pB(nw+-FQ#U1-nwOoG45$#cJI@%9Y*m$hVW9 z{i@q04g!*pjotpp3<Gp<5GN~pw~2wh$_!XTTcz2mM$+Zd&77~)tkvZFqO=_D`MkJv zzS)GYsjLTBkAD3*YG24=U`BYK1<e*k@xO~hhO?e#RUh(`{c0Zl9*Js26O~Y=7-pZJ zXKr-+o_8w3ADRGjfwQ!B_(}zxb34oo_$9^Ym=VBDqEFLHbl#H{x(>1%yvwkyW!}=p z>>N+VW`8&JprsPEd!LF+L;BgAMz!JkEG(E!KwZaJM)mfc!A`f59BhyjyB9pDF*q~k zLtPv9ey87M>CQ_tW6sBc>8iniyKsENV0u0|)<Fn9c_oqY(&FlX%%0@g)I`kH{<OPm zX;k6bMSW}(&>kM%un7~mgTh+d@a(cQKNOO0G$k1vk*eE;o`S9%R0@dfxhcjpg5L2I zRB6n(ixS_x{3jqW{wpE{-xlp2NVqA)o}AxGKozvh9`wE$pBe3gPVU5S>Zq<eG3hW8 zUyB6j>Vy&nHO5G3)(&u0mb-))&RSrV4K3M9K7RP}ThVT>|60Qkb#~(G-|{ealor*) z51Hp+iw4o(Yi0?7-ze(GJ}N#djv|^GvGlRc`xUnn_rb!vM7CcWARM&qoN{||el8d= z3zG?(?R|kLu2Lnd;BDh4>x-lvnjWdQstHO`KVOX_U%jFPw+Lz)i57vT-gJ6Z?iU{= zk)*uVUsxPQin3jnl^rM4!7~`Ci8cNhwh#YlWj7T}1|2Z@hp-{g+I7@=tIW&=r`7>O zVUynQ>_#ImVTp`;>S1q9zWm-_XHL%(6t?2TvFwYf1rZ7~Y;J!2)&m~Qm{GWL5LOkZ zZfzY5EG>B~g`lwKRS~FR6W`Q7H<Xo)3_D5S9p;D-mx3z%P;lG1?W0Xui;C9kteJd% zTEN&QP##F5`VBZ(K@bh=7DCSuYKDSy0<2p#v+Be<9+69W&{D3`$hT)-+&n#WP%Pb@ z&^i7n)b8dZ`?7~~68WfQaz|Y&l#;B&+5p=&!wR-%Mc#d9i&Hdb?@P`f{CeoJL57=7 z+J8nh7Wwy@dE>9bYM0cMoS6zF<<PWPk~&bfYAPKY*2m-H8*kwcHk<Ry7d0Bh^njBY z{K0sOw(sU~wLrl6`wqDua$gENpJ<_<av*Bt@ycJ-@TzG{>QJnU9thP(&ILM5zR$UG zgJ)?^6_T{(*O+5o3y=(PJWOg0)0tVYG(3+-nts<iE1fMxr7-oFhFM3&^);~P=^!SI zH2i<jAF&*jS*j#EWPezG%d74wHmq&6`c>d%5uuBPv&$>1gs+BUpi~_VN@2332+MOl zIHZ29p-a#F;P)a!8f!yE6b7*UxavsgGum+#jp;Bu;a4X$cGS8&AK^rhD$hPABAepq zo|@)&{qD)dvy0pfuW;TfnSG*3V6ZCSDD65h0M=k0PJd2OT2pVTp^%!HJ_70RW0L^U z@K)A(cJ8m6?hN-2`fy|-&-7<Z+95$kvc55PNRRb~$%je8G1R0#2BDw1&s7I(^TMG9 ztBIOVpr6D|Equ<K<8PvGZy&BT+`Aonv7}h?{Tl;mnX(=^iro93k&%EhAmWfcsBfm0 zDEKP@or3BHU`vMW!yJq3BZ*|fVPPrMW3D#8a(ji3@W_VRv@2U89j2Q`hbrxbS|^8R zYK3cbM$N3pat(Fn*la7#U!v5JwuI}=%g|%}YG;M1hG`<3Ips<!?(0^|JJuRQrs}CZ z-F-N%p*i{)D5TnmDF(=CtqKageKakbanlA8Ofq*WMmvb!jQ|T!vGWnNZRM5rSGo1L z-<zPOk)hZr$VO$wR)Pjv!X>FUSxP-^S2QJK*UmaAVhTlY7I}&rhg6PHuC5;Jqh6}F zEJ!LP?D}+Fe7gT$tIPE|?X=~3x?3~gF4E9ev}!UMKU4$%ttrpwu|Cg7RV|7uv80A% z#zc&%`K`<J>OOwU#1U#Z=JO}HG?oIh^Avl>&8VBMVH-S?-_WFmugypVOzEC^JO6%F zhx=zm&jCK*0X)%7DPpe{%3nFFRB@0z42y5&`SYpSF=6Q2l>WrD6=z+Ru4T8z4Xv#Y zu=C<6J_x|(daak?E?U<qz`L$NGAEPczX6Y?RAC}skWErF5v?q7e;>I65srTD1;HBv zISMxm--!8SS&Oy~naJ>T8SP^JGm?LAnivovkwZJl(@7oWx`zBYYdfrnm_@5F)<T!b z6HYm!q_0a$P4o3)37V-$fqgw|oiP?i*xV`Odq$O9okrNA;^vDKCiBGJqN!wiz4=1w zE8}%fDTzA0VoTV&V>OCgZ1Wn0`}}srHQ<>fOwJi*R*JL7BH43xd;1G95gZEI=MXlT zEep{M-h#aK242m8Gs62x(X?~QtXJQj#~HzM+V^}vmC7lEdG)%4ZIsJuHg#s$?3Jx} zlwd#BfR;K6?g5Fsdo}yVyDyPqn{S%FY3VUyQPs&-C&4a1>3Yd*imEdkSXu#3Lh&2t z2*8R#%Lys%w{P8T8C?sv^~zpobsGHQ-q(F}i_FkBlvW+^wg!h(@5(lTv|xdo;05f- zJ>5@J^WF`tUuwc8Y1&#l8fAa&63xvMb0GK$(#NVMbG2V~WoM;Qo7xr53C+E2xG@#f z1-6p~*tDMxz57wdV3p3?8O^A7JbCi;>2o4OjxLHm731z%xO4(_2{mB5y-|qz1jD3u z30<w2&EEL^5+2o=3xAN-dgu>CX<6%#q&Ui=FdN)|86o=5z&-zK0)p2rhdtzxgANrn zuN2I^O20UOBw1pS!j&S)pp+AS)`O+Gb>pR)M!^He*Kgf`ZDU=vYnAy|d8O~9YZQH% z_M)u<^oR`aez3W)yGt)BxI7}55yQI=ob{9=tj*XpYVL<f{0p{~;>Z2k*)f^oEyHH< zW*f|RAmK5=rrO~G@(ow<5MCvw5;ucgc7zs;E35}4B4QG5erk$}(|`br=!Ir**=(h4 z>Aa5<;x;uklNLNcTl@8`?x$A0A0=J+>3!U#bWHP!D|4Q10T~*4LOBw2;UFzm%cP5x zBC@DCst>O$$;jQr>jc8=w)(zm=y{#_uVwTp?C@v3pc7TXOsAVuuAuttS<%W~LfZ_| zI;%0U&-PVhLYpp>UiNIuN<vHVej2YgELL7V_iW_}wj;evV)7XZ=|`FC?J%IWg~Th# zIt42eU(m6`Pr>C(Z<8L{?-%LtAGqtC<1!#lAvqtM?0rTy9@__xq%VLS+%pXi<iEU< z5%&ee8e1W<IAs5gFpcf2ppDSA2F8o&XUCwcFWzfH|6`PX&{I6i4B~i7bwIJ?4-)sZ z^%hS<ZfWZ39y|SpUQ50+&r={9a4uZh<@VHoHP7}@?jS|i6(lX(>UJZOk$s#R6b>!$ zMo96(&fB#HUP-2GAoFsYDd1BSlXod*yh$97Or^NaGRVNDOedRZXhMAW;HE5f8j^4K z%CpsFC%0$j$lbjwv9xb_sz#<C{E#E7pzO>x;p;5gyE~yv`HuoU50HGy7nPc|2|SzD zS?!)oH>Pv&tZ?22_INQpKMOSAD-x0|mY}UrjHEz<1Z2V&Z>`!_@Tv5eva0DvO)-5a zb^tihhf44AWVRq|9k(+_0Yk9Y;gt{<lLwkYt0zfPslmHmqBtyuIBGoUG~ot1Yw3=C z#)wy}UzWv&;~qD?s?jx{o7+W*roihXbK959p#(Be_ip5LMMD<vZ{9vvGrummW1t6$ zi<N8kDghB+joo7xIt{l}qE(M5mTqR<Q-T&{s`9Q6GXGN*61N)>68Obi&Lr;Q;H0FZ zs&5VhqWoc$wk6RH^(=86yy;`z?B2jJlwyvJhEp{c98idOAg%{0%^!xjC-rDDTPeS- zAVL!D5LFAedA+p6Jx@fky~|7`efnM4*Intie!_Kp>nWA(!r1C{vU+7%_FlB1V^xjU zBhy6V$+Vxs?t182k$k)Bd2_I0MG1b@(2V9C8@re;RN+=WUtWL9HA$0J!-&(Ao{EW4 z9FQmZbjX!O#vY-Xx<w5=4eNZ~o?Ap~$LsDrC?S>V2isGsYTB!eik80Cw;@BY*WkZ6 z>O)P?;4}NfKL7dDg9?{U(hS#^eUiwTN=liq`n{k&i(Ft1LK_Uqj!oUrgv-ePvE}<U z{wzZ^SOFSyz7x^sJ@+Pi?wPR6wyk}#>Of#G_@Q~&>1rjsF}I`|*U)lmPv62e>5mb` z<}7utcPZA-z`*ekF~Jae#P1FG<o8+FBfIi(N?qYLcaYLyRe?OM=E%x0TS{UU@vT8z zvUNAdz4e7WB;GOgKl9?hQoAo5azlevWfDn!_S4l?D#&15VEt$K5G?P2DC6AgtF?1o zhb6U`rSrl#`p-AhhX)+w#O1O8-E8JMk(8QagseO!@dKdJHL+)YwBbemH8;8gycL`k zzLYpJBIR=#3m(FO*gcY{EWPJ4Ey^4IsF9D2$smu(SJ%g<u0ySNuazS0Av{dt4~H&P zmJOF=+BJ!(^6|l@b9bI}F1v#7-J?ObNmO$ZI;B);5aBwfEG?g>#ZgMDA}q^$v13o{ zA5HfFVW;Sn#)QK>g;jiY64+r_nKGW(#OL$MWwE78;6uGlB;)345>g>!+x|<8zU^Lu zq6pD3sLAfT{gdJ5k7u>jdwJrO&ilBAc0N|X>fTUm+v+$wwMkUtETax(H{7T!*@8}` z`49w~|1RAQ$l{`-M@-0;Y~=Wi>+&b|ku6YB-oThrNO9L;r0}P*R7pzn^A0;96?6z5 zJlzyE6sk<JC$j*&kXRdu`z!%B5h=Ri_G@0v{jk6u9%nTa-vALH*lb!a%XXg~k0V}v zi3t(60yJQYOR;dn{y5}6BjyK)tA8bZ44ki%PG5cc42XEl*{g%XG0DjIy4Bpi7WUO2 z<vVs(Ni6%UKN-h1D$}RX>H9Pg$U`oO;qk0|jr;49-q}gdMz$b3^L~V*3#*XOHw3qZ ze06{M%Wyp??x-x%{GjniZwE|(f>Bzo4G?db0~zf~lQmA`tCBG@VmBra3_lTZ(@SMs zo6XoJ_|H}#$A#Jxa;q<rp0<2;lp+cSbPW&f>IP1FOd|)LZ`b32hl=-z&iis{<dc1T z-`^;nPer;a)kCWW&L@fmXBpCvu1RP^Wt}3nEC*8D^qp%_7NHyqb5|{<z%2Moj`Eq$ z=;JBpFZOF+ykq)4vtu`%%LIeiV|*85>PjdX&CX~`$D8%*6!*5ndp*_~N{EXh8!L(d ztK4AKN-WZgdG2K8pssFb9tAyDXZ1Gs&E6014S9iJg1|mWQh{pY@^iACkAJ^FoHoxU zI&Ytb{xF=Vs!fT6p}N@>?1li5K$q_;zfy+p>*y+h&qXAj6US_KX{{Ly>Vto#0X-nN zXem4GNf^0(e(I98=}}44;}MFvZ@#MRJzzZofmyG-RGVovL9=4IO3>7N*8WtdcEK6! zsWDst_ri9st&#skNPZ(p@0GkyrImq+`BL7LTvW}~|3}?>Mm3qPZNqkD5E-#jqf(SE zARrKeii&iQ-W3FtP^245u!2aF4kAH%57K)wNRt|n5?YAT0tA8(LLec@cQbp&J^R_u zTHpKU{qgdPm8{(5DrY;6<GdDu;*FwY=^E`d_~@^x|0}r$84BH2AlW?G$U|2?J{m`e zdkPfR&1;Iak}o?ur}0htJ*!qB*qJ%yR@?~u4b1TGFR_om9}rXV+yr4|ktjA^>YXO6 zXhLGRnrV{z=w=N$B`Xk%s1dQUAk|CxTWa_@7p&w{Zs9jlUA5{5;4jcrgt#v9Au;P_ z7x_D-`%WT?e^U2^=G^kfb;Jhb>lAi;H9|qc2LN&;vh9Q`g}sd-^iAUGD1>5SZ;G$1 zVi(hHXkSCJr{Q{w?w^|KwzRADE)3R7<NGoPyI?KI%i%Xh2O_(L-x%`ugH*n;Z&;^# zM6{)MU(&vi&-rv=`$6pQA8}VZ`Qfm%#Ga(b!>XGl7LIZ@j6BQug#d^N&s$%_v)a$R z8IK8V;tC0eAtAm|XwxJ%wDaZMvAWyZkK4)N*og*3QFHM8e8b#FJ~KnRC%mVP1z5(| z`o%_RH@_h{dNg$^*IRd@2xH>Z@IWs-4H4^D-c0%G;y+CFxWGRfOAvzwFXk?g0?z_o zlgKSsLA!@L3Y3gGbnvG9truRP$h#tH0^Y6?#<@2bMY=rsws_`1Klq%O2{KB`kJKFV zVg@!pDnfbn$Yrx59>{WHbq^J~!?4_2ogVJBMaPxPY<Y!>cIz}d5cRl+dv-sh{pr;* z;~(~Y(YXqW^5~)6CNUfHAESO!l^oaT86KpeerFLOdbOmN&L0r8g07AZu^OiN#f%UL z{a6JLE#+ty^3knNcLcfa8>GdVUahL<1D0QaS##C|snH$lrE>NL^xZ^}3m1p3@7dxH zlWCmSLIqkf`|cOlD5i{!2Gl*oc=ecKWzO6ocf0B;<4jK8BCZ4A%>QDDIM1b1#g{H} zo6DlXo33-f4t)It0NX?qgdBt@dcIxuUDBGxS6d1qmv^E@M2t2qnz6EC3<3o&*3z8k zUFe*uGGA8gT_E@Fw_A6LwOqBIkNdjg(b3F=tBGS46}f%`8&h-6-N$RQ<S+e@fHuJW z$|9kO-kcR;7{4xyOq2m=CCI(9*arQnQOD2rPHdo;wa0ofD+BF>s+Ma2nOw5I)v)t( zSqe6N{=-hXj2yn2&t`UQ{K+>9?BYlgQfxnv+^5{&Glh}phN-m;sE$&Cx!9z&!_$7X z<U@Y8j-J+MP9(@Q6YF(t%1<ttxwZY?DDANnKaYg=+k!hg>{5TIPCme_O@89wt~`gS z@hh6R<$jNCsjF+r)ZW_R39mpy$Bd7elE2%n0oYP(+=dA*wT<Bzk8w|dx(!wqsQIX7 z3bJtpKC0ym19L9CZi8RFTy^q>=jl{Ves>F_=1EWY_^6RQMpR}lE{xaFt$3<VHZO3i z__1m^QeOuG)T{#XIIc|m{N32?^Rt1VpI97F%R_g{szg9^5dIi(^uj&T-DurKRYgJG zFu&UqPkpsBB%bmMKOnwD`@6#o7b(Jv)uGE4*fmQMBK<u5?E!v{Ox=?&z}SWSw*3lO z$HRdC5+Ar9C2DO>O~V746SFweCVAN1+{ddt93R;p#@73Wq#LU(sR)k_Ui|9)%UJzg znmDO0>*7nef9g`)$!;d!iu?f>vP7G$?c2`0$Qj`!q3c%qNFeKJ^s`>^{+f~g(KWSM zH_Xg8St03yp;Jjk-R0cgr|t5wacE`G^(37jFV`$b@aPW42Z4WVkrj7M!|q9W@6$xH z5apZ%7<j{aMq_-g`*>o4n@V}V?6W|&=^CV{WID4!A-UD(=2N??-JLM6>=##GI& z&Iw+&LZKf}9jx$9Obpx|Q8;B3*C!TU0yh9@9xpr|B%vw3Zrt!R$+1!kbtDU#v4*BJ znvT_f5o1?N+1T~`LBHonH>rT>cHZx~YI^+RdT?e5-Vg6DU+gk9ys1-s_IHdt1;RFx z=oV3$^}N4Y4KK{WxwCytT-BqZGG{;w395d!TqR=^f^@fA77^+DY_8@NoEA<zTugWa z=@~05MEcx(10q&KNE0jM?i91py8hFg(Sq+w)}&E^?$K91n7Ir8ICJjBu5n4htuIe| z$e*MWxSJkgwBnf`l2xSLYobKr=Ht3Qco6-hY9&^~%1H$!^$M##A8qmJI|6+5zuR#9 zxH%8I>VH`%&)2NN0K^B&9m%QeFtl%?%uS?hfX~OTqe6z=`^3{%`MW+PJ@=@PaB0q~ z$9mhI=@qS}76vO@shUn%`9{#jNh?;d8$XM_4cf6pq42$EO`uUM2(0Ay*jvdKhJ+Y5 zJ?0qch{c_&tvglwvL3fE5u_t7XS30Ot}jImh8DiNQ)$yvUcFTk%OP4iTGoBrOq6b( zq4D1tM9ld+BaR|)J=CbXaC+D!qrLQjPxCB8)bQ~bW~Ppm^7cwpkV1LdjkZOe*bL$0 zDf}TUWvZH-feOh^ZE%81`+{$+hpT-Caa=wCS6key`X~<Kj2ZE;%A=z6%q9~DC)~f3 z<4PY}fZsA#WX?LAI$~q<;4@f8#PvAWY|NV%wCqmG5o+pd+l+d(B({T82duBF1OwyM z?bOg;$*T)4=7To{^9Tt3kin`Rwckutbr?Xtuy4eCj0C6U<Ug9*aHE)-(jS(p#_o*z zgR|)}2$^?KK8G#!TQM?vd{-g#Xge0Uh|sXn_I#E1SuZ`3aj@UH3n-!&%YJG7Fd0lM zCw^ez_hDpHo}J(7yZLLo{T&v@l!47mOZ!Pl*9KGjm1_g9V8fFL5;=mM!^6jWHo$(_ zeX?Oo@pw*0?&3pe+4m-*-wlI~I4+UutAsD<CHM0Gobr3NJ5awWrc!o(V28ZP_UjJ& z{zUd!>fPRnH>7N?_H>6iC!Ovv@#BFpe}C<yb=S;~!I02#44g=9ExzP@qS*4rt-D*F zr)vxHrb@@ld)=n-=M~eo<Si}8ot}I`aVB{xU(dtsdl``yj>P4<gO2GQQ<Yz0?u-@$ z9pN|p#5Jz3e{VVQ4ez6QY3s^Av<8cXg72I9l^u6VtOe;vyann8>M`KwhF?;Uz3Vbm zxvx-w5<;Qx;?mtMEsq2r`t{iV8W>ic<7C*uxt*U`a&;zbpR(XJj&A@fPq?9YP1?)Z z!@n-R%*|h00n0%TCX^vOEQZC{K+?)80fV$RG4t0SCHGf(*Z9_WExq(osk9{&156k{ z01*64P}|Zf7Pm5xnTxtC*f*DOycY1SK&V<;Y-#F9DA3pL@p*C>hRiJNx7Q`KU_FXf zjVgj!<i1z$4i9?zz0#Ka>MRg5qjj)wr(S`nObDLtc0nVm#zQ}@=8q0({CbDKG3#hB z$c7I!I@3Q*sw!Dv_xJxWcHeYS3EwF;jw*5}4D`D%8!Z2&fJYrbuyGEaD5%6Ho;D6Z z+EYzuMmQ-Sf8OjN&vCmmNM}eozw3J(U9W1*seetKNbi|y%kk;h<-Fk#s7~EkXlcl* zrvDU|l#*17f&3e8{M)1-bzEOi_Fv3(s-2y>JGXPy;CgMFB-D1!GP=~4o`H8s<MM;l zjsufEe5O|_GX}&3q`nQQBaZHlM6O!KoN_H|*%TljIQ1ZHrz^(#u5|nBN9ps8U_Na* zCY^0)Pg}Mo$BwvT<|RqrBl_H_?S1YH#2MsQH4v{1^SZ?NeZm&{^9X<awEaqBMSCf( zyf=4l&JT3*-^J9w$Lrsq|K3pk1^oX%^I>^PTmnGAGXJqKQtGv&G%pB8U+xg9d!s$t zFcC^YJ|4Z*aX}Bkm$rCT!j`z4<i6PcMVM%P*S7sVGWEUbV~4Wx^UL!4Xbv-*5)nho z6L*uZWiMv-Cu>w=5Io6q-2|x`c$!UR?`ZE}#gW6%{>UkdHpO2{?k^gTAO@t?y)fJe zC<bRCJIiLZs3(NC__b6vQBoM5xeDJM3YmH%UM6$IlWJ8&U&u!{+A(RYfOVWS%O|a7 zmHV4K0bAy|2H#AlFJV}|x^8sPlOM;jIW_USaj>)bR0w@g(zYDdwwBLvF_E0qu<~*| z`>rx)(z=n{6vb+-F@v?C=1*vr*3FBFmcP>8u|c<E%_}IZiFEv$?Y~MGd$gkv14Md? z%YnOJw!TGpTs`9HoGsEAtkK`tdRdxRL*Fj=0StNk8z+R(f~+i^eIMxM$`#BJQvwDl zI))Ob0>3rSVk_l&CpDsc1m1zsFuFRi)*rIlp{fcw{NMbM6F@yJc|bXE>5Tu@M$|=Z zyqZ||an5537r}rGzykHhs!BjhI+>WP^+l~Hwc$DV+>jAFPQz~3m1<R6PmWC_IEdud z*Vt&_c8V2o2z6%--8;wrQLy|q{y?UG<33F%`J=^*i16IiBkFTY>s_1@7~${v`DZ4~ zuS_Pw56|r^F4l@_)=LQ&533oq6g)Zij}p&c$iiNg`kCvz5@5#P|GS#-*PZ}|?s3IM z;mWo?1iDw!uCdQ;s%Fyd3641GG5%vY*~6>;j*0uq+$Ov%bES2Jx3;lQGEkD&P))o4 ziXS`gXuU5}IgLRv^>Fo<k1%cQ3RjZ31GV+6wrX%G){NoMRl$8}hps9!y1dgXZInC; zq3&uA2o6W7F?Y-4t5>~!wXu`+t-*31hjzW!Dv5_&aVWf`WzEAsAbcvY(BcC3pKEI0 zi_RjexH>fD-j(#$O^ACo1?g5&a%BsT#=+#goGk)J{9T4ZOB=1zJv5x)^XlSOQib_` zi`=8GF10BJt`b(wBZ<bN_3J3kqb@xL^Ds+5U>b-i|2?<zoa$!9>Iaa;;Y4K3!)6bo z{Pv0&@2+l1<Y!kndi<wL@yw@&n!y=6vf#F>ttRDp`Bk_}o@(uksb?usw8yNxe6-dv z0zF;CF}X@(d-6u6OwKbPPaIiLU0>Z5^J5`N73mpV+{c?HEjXNiD$jAkn~0eAJ{M;8 z>?b3;zPzhe(`{wvgVrl(p8@E!+2}-5wfvXP?@l277M@IJPyxVstS_+7w5msrbUY0n zI?=dQm9V>iz8+E>*t>xl7#N!)%=VLD^*NpZpi(`6kY7Q?b5$@@tr{Gjb)t+&L=X!@ z@}JLDw9zJH+R7lympq#J<wQqnYbPcO=}=o2cz-dp3dOgylgW%gBwNyFMJJJz+vJ9a zCh^+cS1KSwA4lb@Atkt}CBPD$B&%GyK?TO<U0dZ^SyW%+N~0ELudX3~ExF2;`Z3ML z3cl1dATtnDYB~0p?D>X;jFcz%tlsHSn4piklb+7z8_N8fD)`sRoVC}okM2rb%+Owp zj8NBuT!}NPgeKJ+okP}RNkNaiXpO+0|I^YasxfiR)OCN-w}`Sd>qY&3%`eU5ABumP zA}^<YU*R*=q=E1r(rTbxV;RF2zCDD-ox?NQaj-S^Q>G7B%_qj@q|lprKx5(zof<fu ztTu(?MEM1BW+-Z&)<zI38#xj354}hm9LXkERjQ&0Qt0JLD#(BR4OTtFac0x?lvIP> zANnE8GLIqNgIn1h&`#74iGbe4q+h3IY5sAr6G2{ObqAA&@T(2L@q7`1q#f+k$HP4i zT1Md+I~3?t7g^euf@6)F7f4St7Onh$EbGQQ2?nEnCd^sKzjl_g_4jCICDJ$OXiJsT zyntkCXF;W={K3p-$;ntkT+2;Acl{b)fHTN^D(fpx%@ZM5tQ6zV;CVRPD-ar46d2lF z+cvBV!e-`1GvI65>32TM`T(M>9L->UM{fJte3Nly;?MQ8<1QIwLCWg7`5~}z9Ho3c z(Z02lOu#e8n`sMS?&He~2I2WT1K(g{&6~?AqxlU<6YJxOAzq3eA&bgXM3s^X7x%zK zLUx_Wt}EVGVpBCPzYMoChS0d*NPxzl@@51DbkRO}<26q)Kd1*pgW!x>`c{5OT`hyh zb9?TLnStdgGWRvSkdxgeeh83eUglNr>rq*Q|L`NJt?qd;Geq%P3<9<6-o$)CA1KrR z5Yy7sL}0OmLu}kW4(7!y%B!g6PvPKHGNhc3-NxJU9=DH;88K<}R(n4^V|M^|f>LI` z@<(|@jpj|Vd(J{zIu*4t<kT0H-<f}W8|KzFs9aDNzinGt*lN?bgQWMygwJdMt@9Ub z(e&`}74zKh)puPY5#$iU&QEU;2F>VM7^Z_l)}qs4EedAGg)o$KL#48o5DgnIk0!>G zviidHX0KJhMSsN1<MxTOpdtLYf9&+BnkQLVMJ+T<hf3;CCB=sUBCM~!+}7X0)Uy<` z+HNhXSYrbLBb*{U8s~gErr<_$UHtomYwv{;g}^>j`acEFO|4f-*O}R}{&?L1Oy;7( zwY7JtBm4lBFd{V3YU&Os#x96u=1=a|@arQ(wtOVJ5W0PVx8AHbg5c1KAL)VkItOQj z|IuiObKGKc4BEdI&-jvqz1Qs>ellEC)3%G(jqiL3*o;@mq2D^F{n4lei%>p<X@r(F zLthf})fm`x>grdikEi4Ws={wFezrKPeQ4V2waRvz&8!R7^_2&2Cn(a-IIpdIIPId) zWeOiXNax-mC|Ee9>f|jiAE7yzi)o?eli<5)mtT$rq-<C-J_lnB15GKf6mES~W>u_( zkxAdzBhH=+&`r}eK6!ygp16^T-CW5CVx%!@?Jd_op@!szp=NHboTaY^j1a`;iQWsI zB}zi$K`ksQOzo`Vbe;31Y6na>B+JNCB(q>FULvF=WbGabv|-)s*NG{_yTU;fx9+dS z=SMcI$+vj5hW+!UnpOZk>;pz--@&*a@3h->#{$OdP<;p!vIcqMXL!#RO!Hd|YP-F8 z5nb%i<!$4!^TAETp<3keRLsW)d(Tg5Bl*i#)#{gQ$1%-{^N+^IL{%)SNZ0Lyk@P}F zTBB_KL1WwloqMB|qvvhxFc;TD7^8tAo1EL`L8Kk48psue)6RkxnHTRjKZt?4OnRg} z4!wlIv*rRPuLy?&)MU#wjBP+W94T)`)=Hgxm=<a5dsF5UAS~<*4$?NrAme51;4DR! zjd!IT3<(u$w83lO88rRId{Xd0$l4QRf$nlA=kCXE)SH_NXWa_MeZN<+QLQ|JUC(F) zxSI}aL%}{Fs%Z-&t;nQb>+)A339N>N^heP-Z)H!vva1l!)<vfzUmwP3hz*$w=R=oG zeUo{UUE|G@3S!^hKbtLED10j6q`6`9qZ=?dW0X!RrJ{ZMR*&jREPmjc=>B5USU7aZ zQ(82^^1CgJ5gdQf14XXyI*GGdHBfj$CpnPF9;}%?Bd=kMIGUw%<rM`utme2TqPWbq zX}!j(p=jK3!K5xB(q7zK>fz<^D_v)kR1qnVAqD<>4Oe<>b0dXqecT+Y#8ga!CH8OA zCNoZ$PdvK<o}bK#n~6){s)-AXXy|S)=I=f-@~r4~1r2QKxA>}?jBv;-v2%Q;rUP?N z{N2<|UR2Cb^kTm2v%Wi&S2G&9l_m`qjs-&%J@mK!lo;8OwcxGzzQc(tW+9qapeL*Y zSDW7^P=iZd$3H6xeD!Ys!Cp2cUpO{(GS#g6EY|$7tthdn=AlhSitD8B@Wh4nGLDOK zJp?+m-zQw4Pm-Zio>yn=<QF2m7~%m#atL!Ra*gvGrR36XIAY}WK1{}82Ip%=j%a%H zrJ3QI2n)S-?k|lp_JYgX1v8auKv`vU;ZT=dRG`=0SV|ewI715vL%3Qk(X^gjf$mg7 zKwcuzN_PytG2#K&1(WEd{c2X_?OC*&yoWY}-kG%{gx2mkX0Z3g_BUS+6~c_*Cr(!r z|KJvfmC1bL$>xx|=|pcil}vNJJy7XV`Enr&<xq7Z*D-Ot(gkO>ySM{vh-wwV+ApKd z%~CsM4qzXTQZ#LPa7y_R)K`ezHcOSJG>mWQIB(*{hHA`6eZM^6Cs6$iYh8-8QL;Dr zm1*qzn_gC)K;Y8o4%l7nv6CR{9{7}hHQ|b(sjcY`SL$5dk8_J$irtZsqJ2SD35TUy zq{lB5vUJ`GEs0_hO+;JxO}|-P%FN#!VF(KgcL;?FnFm7hX}9dvQ;7{*_j<_t!h18j zy&Xec<ZkJQ=MxM-qQ!<>`m*v3Q)M|e?`=@Ij&>O`hG{;d6*R52*y}u7(wQaq{b}{k zttl}>)qJN^lOxB7AU4KlECAIWy|*EzO?wE~&TEc&%mVl`GNSsTM4(S^o3Wy#Qknij z-Jy?Kh0u>cBZ4uF1Iv~?9&8HD8o{UhI=n7m-U!w88=Me7RSGAiUMwa;vm<iq#S{u$ z1I=O2`q~*98I>HM?x_<!pFolT3Ms_R!`L;7_m+&XxMgAj%2M=s+<a_~zFY8)Lx1~v z|0eNGj(3RTr2M&8a)ed~AA}<}k!R9hz}JY&I}G6DfT}%j*qfUi_@YpH<w&Ba<Wk^l z6z5b)QM;hBMnX#|$6<i3dUG^*)3UTYv2N5q3USkUP@^oC*0d0*fOxXHCa=dNx7<ww zNV*WqS#)bjR!6gkYpeNY-kGR!1(QYPcS?QfGV$N&B_TlEUq87PL_%#anycN=eZp=Z zpAlL;+#rQnH%i`d{hIB+%?snv>3*BfQ>tsTH*?c{N2_1IfJ^PqxBD(`w6l`SyG4$@ zo?M4MuCDp=LXY09tZMSpf+m0smDqQA{FHv7WmgP8U2lS53^C&l3Z{KUYY49h>j)f% z!O2@13Vy+d%?qQlrz;5q^$<4$m|wbFnRBEtH1VORQXcf4*a>P1cDSsDoGQ!%aQeo~ zIYTuJ5zy$unU`~E3%1_$7dMk_OwZOT7(Q12I&&uN7NPV}jTTZIDc!t%cQN)DP#O<R zcp`4dhhYe>j>@lo_8b=3$F^*~X7c7Bf6piHkCdrw6NI>+#cJTCIUcUWmim#2XTwHs zwMvc>wa1PeZm*juQiDz7X;*xr;t6&&(1L`3kWTL7rU>YXKAXC42;DTO&?kpxf4@H2 z;^~VmC6)CW#o%OX(~K}j$6}tB3PA;y&nt+5rLh`PV@D2@#+G+y0v%^0U`TmtoE;0z zqTp-Jh9$n?Tv&(>&Tqhue_kKvoBURTL1@Sz&kwKj@mvm$iP?-5|1~FnC4o%yZtu($ zo5aJTN`+kRw92}Q(VWj(6U)}K7&JYiabv@czH=|(MWTcO%+j%DS;Ee-QG4I9L@qRS zM_+_Xs3AY}9tyG1BpmvHQ=L0KIY>wQgw`k3GaIg4zjx~;UxS|pct}q&VpWPUfq6pn z<Eae+G5zTzSby`O4+>Wn;aK-(!u<;So?69eW-sz$7e8*{i6~6U*=gkYqj}7U#A;&g z%GHMw7lj5XpEd}F350j~@@W&Ra4|{MVwbK@kTTE3G4H9iYB7aP>dp|xW(}gPBGY^| z4{T<AMbQ6hD!Ka#)>%I3og_c{_t0n^1Jg#ayT+2%GA;lU^I~ElXJhCD;~|zOx3VJ8 z^!D~o^4kK`?hLOC*3L19QwURST3Fgmn)Y6FEtB8ad;=u~gTxy;QX{bHiu*ZC5NSCS z2A46YE@0KKw|v;C7=zlW>{`;D^rMa!<hq<(FX5E)a^e_60??nbvu&Efm+9;cGSAUw zY2`p$j63fw_ht{M`xwDQ^<ok@Bi712xD0wl%7Kzy<ncIo#P^!N&)lsNSRPe-QJh)T zUpO47d1qA}w|M05Dg1j^#Uz3`g|cNugk6O1o!~=1_M(I%dp#WWm(OiFOQE=oc#a<q zhlKA>j7(k}s&9@v5jTFbei5-4Iq{heFlji%YukDk*?VYBFoJqKw{nldDBbv_rA2bg zOR$-ey=LMfwV<R-ONywfv6~@kk=uO8!eGlnc)1k<O4lqde@8l+eza7MaP(Gce_Z4s zc64X3`(wiOqL0|C5}u5LE^p0mTe!{@xLDwH#<3`2eD!|ef-j%A2Fj<4sZVU7{nRNP zfFCTcrf_ZbT_eXtljqhq@l5aQXFpJtBlb8=v(9!;pN#(?*3h<J>BB!$MTu(WA*VyQ zx@fSHK7ckLoaoEw_SSSxmxB{aW865t$vc$BTE6<CfC1=<#BKKULP$z^q;d510irUj z-I5^PQ4M(<uRm7K+bWEy7Ih3~A>P`s{WwZ3w8ICO{xncqy7Kx#)Cz1@qb%ydP^Ck+ zw;Rd;e>_h*1I<hdR_qMOi|e*jk-AVvs2H)LC&d3ZP+!s}5dVOnO<b{I9Dq|><Zv&| z>@}PniOI}vzvDgU1;mz=97%2C=Nh$tETesqJ70vMxTc1?4)YCXd-M|d3>uHb5#%FA z+l22QfH8rXW~`EOxzGe@F<uYM2zGq%A$Cn4F!Dl{uX;zA6PK0BsKM(vJNl!7npH4Q z^6&TkTvB@7Ct+<Jx5ndJJ)JhP#W4PUQMp>VVVbK<gU~fV_P;`wrma2yQt=^WZ6qk} zI%^?6<oFd#waleyg)8)}-Ndx5@nqZJ&Jju6fNF+=p-rQgx#Gg{TCkeevR1Fx;*Ri$ zX_C#Fk<)gi&BpzgX2e1`G7kSRqgoExbG9vk@FBv5?hNFWTCGr~+gQU8btyoFY8jlb zR=soilAnjA=K7B~LeXzt-^bdKTF3D9wE47|^F1AqG)PtG5$8tEwpD-hXTeK%wGhO& z&&|1+fapo=&=ox&H51pj!kA87#7QFrG&{xC2rQuF>-z`%bP-e5({d&1koVb=ryjvS zP5j@yl}}T-PW(6J>948-=ulVua>HF}R?NjNZp}-KIJ+6cTQ<4RglkO%OyeHcb+;_j zsyT?I)|K5A9&T#i@5@H$GAUp=^Gl0gMzAvg8PGPWwyG(oT$W#$Uns_*Ss!awhzB$W zhBZC4&<g-(Z#(XNwjo0Mwq}(jZ26p>KTx}}pB8_H*T`T^<@a^JPnQcBe_oLAEamO6 z5}~^&m_ChV2KTVu11M&3F7dc4MZM(ykMj3(Miw5ywrP6r#9bUv)PZpAQM_0pNMQls zrOH3gEv`9XZ=_SN;`?Ks)OUX9$nTkgcK{spzFBJH!7g$<6J~F+|4M0z+>at^>BPWj zIt;0l*~fNsA)tg}#(M{lLYX`mn8<S;3*2rh4V!o{=*=%MyOvLkc@4($)O&|Kax?UO zKL;NTeIYxRm<htrKBcT$(BRj;dPmKRmxVmwW{KqrKu@JcBZ29l;67E~BfDAATaHG1 zM7_C<LhihYi2?0WdvJkv7A(UW{=e<jzP~0R?D?VgtX$p_zS8ceYf3)-Z4q$P({)Rg zNs|o?!a3qOR_hKs%<-B+Eoh}%FL<)Tq*YFxI7PuuuO<<O!hpdw*4of~I|Y<?6rH>R z9y=A}^!TH9#f^cq0VpMm*vP6nFMKo@%yu3Qo=GG~TZi<_?U<-3YFHwO+!&jNlU+18 zeJCZ)U@Z_`45k1DXO2LymbK=J=t5G-6j;I;!P+FSQmrSrgzwG@qaPvmoM7NW5`Wli zbZKUmxuND0oIc@v@o%jUAY~Bf64({9+pmG|n0oz*S{MX>szBQue)%w-U=$4YBdLt2 z)>iNTK{dxG=$5SnyA3Q&`O9vqny{OFkl??EK>zHvNj9_Q58!Zoq1}CVG^4{-#*50h zXZjO(UEZfn03~~L(y=(Lu~=r&mGW6BlW<(@mi143C8L|1@bYGtcWHRBf@>{sYUIn& ziNT+^T=-Dvv3LT?W<5bH<ad}<zZK<uNTVYDM27UO)R}T1ANMPC42QZGb$7oi@d#j! zrfZa3dNKMaYET~J&``GEJGU5hi0S#OTKBh$d37^ur+N~UdU`aqp?f%?&ZMJ$uAqWn zWs9#ia^^?>qljbpw+|WtKlph3ao1tZ{ngU<Y1=^s=LL$u$<GZ^=WiH`y}G8e;X%Cq zct%ABQ5;pOa%sM!OneA9o$mG@rfHw5dP&#kcgD39R}f`*hELmk{TPZ^U?N~3vQbhL zI<VfKs)R)|F@R9?V1AgYKw>O>HY#vyiigPTw~aAFXn)kYA{yv-1#7TCeS_qhYv|Z6 zOchkV?ECtbtzja4qSng6b9*@PCVL>88QTq2Y7xgOE_GmV{KsBGx<+IX^bmoAGeLkx zL?NMoBkna<HB_Ny(pz<fqPtG+<^`FneFU@aKUU#o(6X=q`wA4i6H#1b!z~6rb1rs+ z8d6K{2t*MU3yX2N4f#UzZ~A*aNd#1Zv2~^6!w<`FKQV?1wUAAvJy^tlnvn$!uAi4> z7jxL^ntRP>MckYQVg~w{7SB^ju@5HD@`C!R9t<7tAko_4POeei;uA|Pi=@RS5sHqj z&-;f|qpn;@#~0tyq6R8+b^=`3J0Y9B<Qi1rp(Zh)Eyj)sgazc`6}mQQR$G>Qq7V~H zJ7`t(fWeys|J%$y=*#o-r>A3Vj3yyHIqZ*a%+eI%o5ivv_n#4A6F8l?j+<HIO*n|O z{G5deG+v-~S5GFr2xd+Fm;u(fezc|!?9PZtv(Rmy6RUEki~^dGa(MhRl}o7Bx%vU6 zRiMt7M&F%8r(9dH@Y)_{E3DDHu_0j#bH9bs{<7FmF541jgwQ^XV|<4OGKSwkgS%&o zB{qP9sg+3WT#T%Q#wC$0{^su})+%1aM!4e3q4zU}v$6x@sEK_~XZr%rs>Q{qcky7G zu0LI=zvuX(xUBx;mwG{nbiN2-LWXUbK!xl~+l%Q;6nUKHHOkhyC$4VUDOu2mu?s2I z@7Oe&jdQDvw7*Y%|CU`mUey>TmEgvliK;DKD{J0Dx<wufJQ9^#K{tT}+us`fyp^p5 z1*!2ab?y~Y>>CNhxa4F8H4Wi;0mjS@InnOq1EZI`RH|udFVbq-4#=qdOpq{lFDnEk zi1P7g<a(d2k3rLf0W;;nW9nYc#6rcfwOdQA#%eKV#9PLfrMK61K4#T3`u93@I=CtO zE$r;?$v*0RVXQYh`;bp)@R&K|2Ufd1dvx~o=9iP{f&tMy=+Q}@oe>ZBA2Ys!QkV#_ zvwj(Fz&Y%>5NN#p>?;iXtte&$OM}NvjXJTrMY5@cwk>Q`9XGS696pnT;Y_zu*1F~C zIZ-ykU4KSFpc~~e>DjhWt<{Q^uvDE%l>KG6e<kZZV6(0VY#9jI+i?$D;;NHGscpv` zxwVcLKC0+$7gsl#Paiq!NYmO{T6vJJj&xnTaePT<{qqJ%J&|zBnWh!3bzBo@8tpZm zXe{MbFGu)rHE3s{kpuvKPuu`kBFywbRV9XmP`!Jcu=SMy9+3JpaEPUYji&aJ@72)2 z@q)L;a~!>wbraa!9>3qmuLqM__xiqlhf2{8sqH(YJPRYeJR{XZt!>MP&__5~Sl?)h zxTj`qOP0CO0;<ENV!aguuPB)ULIBXYN*g`H#P-~YOQIjI{jt;Yu3Xn<yf7|XWh<j% z>^`Wd`^)h4{+Xm4Bg(<{%$$Vis|IggZm!5S_MZ-k$`7?LSVG*HXV>v60!`Dm16A(d zT+i9Y%H3mXt_Uc5?v<^!Vtvvqx6FH=xZ7+Ix3cDWZK5-*TpDF_)pmECBg{1YOoET4 z5jZaaa<e#QT%t>BsS2pE)Q#>or0!(<#w~J?7;waKps0lQ%9Q6A^wmTuVR+$uVr7!S za5FDY+LSO}8U$ajq>o{UFXrlLH=rXw;*;H)yQET9U3f>+N|+>U$ONStai>hx<&_qS z$U|!q1K)$Yq+6ByrD+BSD~zTR032*Qu*z>LfOx9b&nRCr1c*2U5P{63m>#snk&0#l zsdFocLFri{Ajip%EA?k-rfKXGZ)M%RUVnZjkybg@R!+M30?Bdn4BW;5>{9w|9dvYe zYT&LQC3S*&RgC?fPqA*1`NdR-V183zR3s#H_U3%O*nU0;ti40r>tokpUJ&I4veZSg zg`4_t18iRG4+0b68!|idoFSFuq2z1s<uZL@KcS`QeAzCOsQG@n-9%{kXRX7Q*=tSI z+;)46*hR~sJ!~gx&5hNZ-FI9+GBZf!*RuT!PVH<T>srcmZr94WcRF%Y8kZ<jd>q<! zj8S1%p--sQvR#zGuE80}D&Ff2T>{M-FD>r}T%WH;7{2_mV@67O6c0vG$MsLX*q~&T zsCG9DE7bz=D9zKV^Wv$Jxb$vX{4sz>{(8KoU!4TRh*Py{3_(D=!Azbzemim^C$4Gc zT}HfW`})(b-WS9DNE^i>DkFF<T`s49=o>$u#J4`x?w{r+bs@6?!f_fh7d3PI9)n+Z z+*oa7OcO?@Um){QFv?b#LJe0AD2SF#$vpJwwmI1Ce$bUhvp7939mld)<pby6@GJfN z1Xj7&UXk>w#EH@hK+fM()gVCc!j3cg51p-v_5S?V9lqGDXV>Rq3ReR{?=3CH>;_q$ zC*KPNveTQw``y6L%CsAbBtM*cC(76v$Hqp<x%7};Iol%y85h!IzEx=J-abOUSDq7C ztY)kn*f||fn&|Tf80{ati)=sbl<a(RHjn^#|Cris%rdNXBD42<Bj|QN#B9kMhabHj zBH2gmSH0}2^JT7nbmr^enb<x>ORLkZv6LmnK#{&Pj$=nLCQ4<Qc(`b4u-c>zmVM#X zv)NUB++2aykrt7CrKPoa`j^qV2Lc74m(PZ2dDwotdhUj<Cu4-Sc7no<Xx6G7oR2x% zxn%~8L1?7is#<aeCb2Y@TbQ(iEb-{;`owvf9nYe9)V74E9rBjaK|s}G=9ts11h-c8 zpUwG!%gPN1l*Y?Go+#dl05^Mcd{yg=KBMg2<=`TZ?UW29XeQ-F$4nKA$yade-$~!! zLa-}0FWpS_;t)@hP%*lsf&Q7S6F>KUH~zfwU789NB{N?03EuY^s65|NKVUr`V8_}F zA(7XZD@at(q}FNiMgv(9Kr@z;_94O9Sq0z3$PDLTd!Ovyw3?)#FfQjuQhjn?*cK*m z%)?O+I2M@wlurP}6Cg;GG`C7(MmQUi9^uIFsO>o-zCq5|Bp?u%#4mDPBf#iQhyE?g z)%R7#exDWY7uY4Xqv-<{W(EpsNKaEM=Q-25SDn(S)(Ow6WT%+=j+Z)lLGRQPmCZgD z>c1?1Z>--V#aj+HC|u{T@^3iD2w)bnHH6fcp;&3*9*#1EWaF@{R|qRYiZ~pzQ%#*F zs9AvE;}nbb21Fqm5@Y~FDm-=wm(8qQQ(kaK!7!KzH9)o)D~~-LACcs?Sd{nv+DdQ% zR4m)<%t2BxE!*utYz{bpR%GIBaJKHz+Kmls;Tn^N_Ez+pDt6Xc=ETI&W11G>WOMSZ zPPLpzNfUS3OC9jc4bD^9=Q7ZaBm6!c3;?YIiD5FHDYWROe0V~f*y$;2&`0f#*qcFf zM$flr(9E)^CU`WhUUs6jzkZF|Y~GuQD`b~Wt781X($`CvsQ~xyl^D;xcj9t1N0xuI zKAJhwRxMOfBvf#zz1vr^W_<2p0=rpAvDa5FymL38?%qD;cBla9#^(n^mh0S0Tlz3@ zqE3+ncfp@|H%}~UcJ|iIqLJu!?FodIfGokoMNqSeZ5+jIBu}zyj~#3|Sx$Y83&{#W zefNHMrq3o=LjVjPjK0biq13)R(Z|0PoZTl1Rq!=H{Z|?VI<wgmqR9=Eb}Yi}E`}G& zISTV6P_FDR#kS_Whm>I{^~@YYaF#wnmk1fUPcGGMsA+pOS2=ObPb;7oQ=A@miPkjW z{PH+lH3FUoJ+W{cR^5e6^+S7XmZ;vzM&=WV)#g|%MreCefH9s?V4QYY*vSgC$WYCg zf7tP+x>YTPruw+^v>IeKum8L;Xt_Dg^=9Ou+Zp<*1M)&0S!FT?b|*B{t{^Xw)fvBs zOSZqBkTX!b0{2aNRtDM3FtO&SVw>qI*Ti9z{Jdxf*<7oA->t1Zh(5YHP*)HoSbtG4 z1#}a%sE;#S<!YHYm7Y0igeV516h8W3G)hm3Qn7DeOlA!5s|_`F7-Wo0WGO6KUMk_b zccJMFv_<YvFrZYnHEVoX&QqXDi-b&)16t(i5rq%ZKk}W436QGR_ulF%XX6Y`Kh}{$ z;NfnzU1Cw10whh<h~t|AHsV`@r`eiE=N|+gp9Te)QIgk7{f;{DG^xGSwb9OqvNaoK zK41)vQ55wYF6aB&8I|iV`Tg=be+f2@?t6X_(5Px;fz^I}weK%;0kopox9=b9qQ6;c z(SYvbpKX=?#lF-)R4(oVe)<co1Ae>LZAlPg;j?ewT{M`rBhB(Y8e@0sAI#Z*-s#`> z|NDpkVD#^O`HK+rZ^H(B`WILYbk6z51@`^@OoIP>o_&AgIeh<oE1<*nU%I7#P{jAH z_16&nlj#e5`v2}D!(3tTWB>W)Kf~e)VSlsK{$u?9n!Eo?Q?T=X9#(bZe~j$Dja{If z0=0dw1=8Lc`{&=U<@*2k;lGvxCxC<<;Q!Be-S?F|D2xdVu$kKtyoBLI)GJqPOuhQg z``kcqMu6A6-U|w2=Jo#+Pygqt+M9g!_XI=W+W+;0J8NQ?Y~TR4|FO9KUbg?m?c4zw z{I3rgCWtv`7V+nj{KsAb-uurfVL>*UBJcdi;5-=aCg1<x2Iya7vED-#I1s$qO^#@l z!W?`7F^8eJ|8r!1e(fUnsV5L#Sn=7y;GUbn4<OvI=`wK0ng98kHxO!E8@ncd-t9l$ z=wEw?bz>ulaIA}*r}v-R@sC*%%=~^pYrS?GFbE(Gn83-!|MT5O&g>$)zYtJIu>a>( zfxYO^L;j<*BaZMQ?G8e%V*~vA|Gexo>v`DsyL*i&Vq*z52ZBFu?4p2$rxp#CyV$O) z+wVPee**_Z-kkFYfCXuN%Q7=9;eFrvwyskSTn+Tn%e3)2QMpi`KIhAM6JtbW_2wft zLcpq!@fmF*aB|KQPG1zb+dEk6K9Z8g<kNKv9FRYHmvfe@V(N7cA9dw4t6A;!&c^Vz z5WNXWPGAMzM$4!w3`VWXWK&~OKm0)OC12aDiQ%3gAdGqQ?oM3wvkYahKo37=Yy_)9 zWF`?RAM$r;yJ0(0A5y;YlU2*N83zIMAAbLSLt0A80wOi#S`b!1P7ArewLhh+>#W>t zelCqNw{EQ{588|z1gnVd$j}u-;#9G(mkLQsY~gLx_bj*gMG>JKiz(pSrHi|b4+8vk zqSHQnIseC6mEK+Zrz^w8G@!Hwo0jYk6T&p|2?HyddG9NEivhF^2zmNHDYxpePxgo% z)Y%N?Y`;xFqRd<RIe|h_S_YE@-yyPy?LgIY$Zev=`5v~!qH5w#Qe3_o3oBnu^45oZ z`Ev4Z{-J*9RA<kCwMq~U05vt3$xZR!bcXfydSQ<a)3yt_N%LuI4gaFs;-sgHvTtuZ z$xi$S-xf4qzvSRTOe}WCSovG`C7q>izHVX3DpWs02HRr0N^OVN0xt^@>e^Md#^`2z z*Jttw2`6sC^BUGQ$K6*pBQL6w6S&_XA7W8R1wOy{p$*pW4(YO$->PjIoiO~mmQO}N zA`4`Kw4bDO^Kd?AjcxO?QvxP%4rN8rUMYOS?cO_=Kw4`E*Nn~3L;`vYYdw8!jL*60 z=_NpDOVT=L3f^9bTn`6&JQ|<U<kC{7xu*^bJLi+xcdmM>DmjLx#eMie_x~A30-U}3 zeXj;U3>$c*yawp<*xozZT5O}`PIAC@zI)hrRMkPhe|pJ>Y=#Bj4Y`~FT)Vfzc@hSX z?<v0G6wML)apO`gYp0a-m2y_md1)$^MW^Nn`7ii|wa<m(dbnQ=ZmIADhxwLP#!QB$ zA^4i7m;2Gxt)-K9jvoLv(`+(fBO36sI}Q?<m_1Y18eNet{6NT6ny%D&zO8ZTLOU*i z=-^L%RTc?Ue;9vk1pSEfCB4!Q`Al>rUY`R9-?!~r1;qi3#u=cRQ72Yorj|J-C1*Db z6A6k8xdMDu{T*)*>_kijI3poxjmJ-;&3E?4tdvYy(0~Q0U7H6NO2*V@-BG9K;)Z)K z)w<$uLR-7lHE_d`sUdI6^}b5_LiIoT=_Vu3Pud0zuGV|gIWJ@6#0ib^oqB#$^~q|Y zJ9bqOqzQvO4EO+5Yn~PwTM_nd2(dsj<^udlrTp&edCF?}@pr8e+PzN6eLlR@QXfEe zjjO8ay%^q8G;iV#bUJh&{h~EWC_t-^T<iA+WL&@@Y*h`LUz%Fne%qWa?K^$c&ebp9 z*27;r?c7C-da<|Ap1uZ$64%9Dz&yMLD2%fP>(a?G^*c8N9j<ndE^Rbu?KL!H1_F(+ zOp+)31@{6gruoM1vAwNT@RiIC@SlZbF~YBXFhH&&bL186j-$O|i^yvr>-Aoc_LknE zP;fCQ?_$LoddR-}UpNJ9U=Y>nf#A({j33%JO$B5DL&hySOE=q-H<qhw@Al=L1x$3% z*HnV$I5Mwr#I2duR1C#GycB3qaaFX_cdF?LRlLYfCdWDH54(XT)o-DzDpNVbO=`o> zj^>>1^Hae;n*~Pp)mqLckQNV*4Y5ZWFx#K_9rAPP<kPiR1E9*u9GVDyz5dS%8R*7S zFo8E>Y*l=A#C{y^2hU`ZxgYBjvswP)pow&u*SR3P)@JU){D~+1VA2M7?AW(cb4rmS zFy>0zqeeVR+-mBb8zr*k@x)KC>PYE$eQ!Di@4&lN@|2C+;?Z8PxUu_Ueg|NZXJ5et zvTa_0O<R3ZvxcFlZQhw1O~C)hVbj6`dnUe4?)iq8HBc~1&*(XSJowa?R{-eRusLNR z6}Vt6?yZYHuo2|r8mHNPrAA&>GH^2}<I<i(2h_3|TD9Wr0k^b}fnM+D!@|@N#E-r< z8g3~mADrE2g3-<0bu7bqnEt!ul065eQN37V4W8r=fTgLdPxt{{9KV)5eAVM*EV_$3 zr&urN;a67;4+^DG>(pL?V~)U1WNRXz0wPXMjdN3clg6#*BN0j_#wH6}))O;&sA-bZ zh{=haZLU4<7O4fBp5F!fFmPHsRe_VKyUlYj{WV@mASQ?eheXc9Y60&hhzU6gTvQ!# z5Qw({7Y%v>WByU`^!yxf>iyn0XyhH}t1_;Ig=8l_8RhO&rUpGtd&A`xB(K2rGgbJF zIx~=OFHAv~fx`y7&a?RIvK-4*0vm_q=@c0y!n)q=z3~1526P*7REi6@evBQ$pUr1( zXEtiCFXy#uk3hn0vBDBx$I5f{GZySN{k`?>mRcyy0VYyrFa-5E=!G~XgI7hVV)EIS zDjk5YJb7k^xJZy=5V>JzaAjeRvdgwR?IS1-Uu0d@C`8ROz!be<onbWD0|-B;oee14 zA>U1c+(q>35Etu;W+d^@BCC>}&?X#iRH?Np2axK=rM*OSFg~d}iCen?0+dw%%i8al z3MoELEP46WdE^M?O^3bKw^sU__cW8$0lD54p2@gzUj+z&bKasq1pt&8L(H_d#BHxo zc=*Os%;J5u0(@XcMTcN*vDnQJ#skmqgctVqPCL8zKs56K=h^T#<N}otZP1*ddFd zo7Ram=wY&!T8xdB^hk$98Pq+I<|!djT%HmoZx@>X+O7zV32JoKa?;$E9t&oTHOx-t zDBSIgLFfkm-u96uS(Y<_P&F6aTsfFtUWoPOz=_L-vX?fzhN!#;n;l;a2Ko|bl6c#0 zPVXZ>?9I6bkdlY^TLHuux5tAf)v~@GHZ#Nxh<EtnnD$yS*${){cP0#-%X7~g*_~J} z8N4_^wm9$`0CM|&d^vimy_BZoW)k#RkNDwTY?cN4u6F|G`S^gl!Da=Vn@YjX^V`0b z*hn)3k*CNd6V7gb?Yw>;@$(v((hRi3DNyMA;Qj7gDK;PjK}`)8jhV;u3)Ob&VV)Yv z{$^tjuTPxNlSItMv5QYtmDnrx$8^RYe542E>(J}@Ow~^L&Cw=?g3svw60LzC3Y;?X zD&;6_uUus+i|=x)Q2`1;!@_XnrQ`)XHhxJ-cxwla#_!gNoHO<b5%ISL1ja;D|G@0B zLT7d>a>j@Et{8ki$GEUxOv|wxPd1A!C0tL(7nYJ_<=3dxI00|B&#p4WMkUh*h^$De z)W!U3vLbNn5fBd%&XQUp^wzaWD9RUq6+Y8jQGRcI5uLxi{>;xSV2U`jb`c{#%~tO? zN<GC@sb0yXM7pF+%T1#%kNR#l%owcaIt$3j<8*tZNF<C99&hxGfd`4?MyG(yR&?~F z7X>1Q<CJ1|<~zOYwGbXw8-juuldJ$Qtx)YAj5l}tVfT*S1L7*Y)|FJ{RhFcTV2@*B z|Fz#15*ii+p(_EjN}ro|sL=hhdHElzhytzQ@KR~9MR;?LQ<6%Ee^}z#<eVsGP{2b} z`1k1$mZm~@agCmqUaj{~{v!8pmoT3&IvFRK$AhsGhk6F|`n#g4fQB@V+iFI^AwrKH zHFz2s&Fs=$U$VJZYr65u&9~Tp8ly(cee4&L{$S=LJa+UlerRgTh^V_y`wM46H4<Wy zQMe`>!7eE<oc}Hx=mhsV#NM=K?Nty_gYxE4Tz4Ne^2I$qp~-Eh?ZBwCvn)%nj7*=x zft<Pd`f?iwId_+$D6@c@sOp>RvP!T}mIX2-=>V_3<0?c&v}@rHfYaSR^bAkc99P=f zUDjq4!VOjER{5*+hg$FY3=@GP3dNf6G4)E!)NixO+7{%S&ba(Dw>$1T6hR@g1a*Ks z;E?NgMc`Y*Oba6W^B)Lp@_gaRUgU_Ji)()0*DBAEZAVMBxyCuycB6*UI}8?6c(C&+ zs(ozxNi5t<LLXBHnr*O+i_ve_De+shFmja$;v2udV2%e^^VMe;<vwTxgp5)0^PI-c zLxWmJq3xcV0Vx);Loqk~tV5iESi2RHJ!Yifv&n}IN}ZYfT|aO087n>hk$2-K6_GRS zViwG+ijRo!0K|9h;ZDo=Vf?}N+dmm{xK0yGGwUUbZ|vj}yAB=hUG!xy=QEA{-f2@y ziptg_8$|<ae3UX&+6sMOH2)CMpCR#9J(v&*ch+dH8b#*_U_79{H|NOjDxWb0o`t}j z{i-wnKq-z~uF=zpY}VVljH%uNx-7&*MrZ`{-~{?aDJ`4GdVW~w%dghG(LrWyMi1{$ zzwu-wWniIECX<w)00D-zCog%;6NQ#PDu}(Z$ebRUcoO`3r*g4E&fIj2FuhUTHV4$H zqemh)0~I1LD}5f8906old3*jA=#qw~J_9&YFJ&&GKaEIJGE%Q@pr0mRc+cnVGP#Bz zuaij{_=d8OUA0r3c0u%W{s89*hdk(PeTQ=Y)Twf$5ume5KPjbIMAUqH&kMcLaa80T zicZNOWlO_7rE$+DU*9rU5#rwBQznq$KNJ7d?n$Fr#ewsqbaz~m-YLsHY{P@vQYoU- zZ-aU$D_QcV9tOU>sz#b&FAGbu&$zBSiLk=5ZSP6@k{KU)3qZnNek&@gaApr{YH-NR zM$4(Nnmz$ttCvR6Bj{U%5Odaw^3#d=(|weXRNZ%?`-ej&l}|L7*@ob0f2w#;yFWZg z)heKRfGMW48C7+GS49|?<4TNfWpYpZ?n!DWeTqya(lmX7Uxoa#*rH18nja8Jm|+$C zoC#ZxtU5Ep{A)H+?x`hUO8xl*qZ@evS@F7o+T-XcIMv(#=k^`NMkkAcl_7I2y)r=6 zgtTqM;lgMuY0OG`^hf{7qO;V=Fu;Q~-g$6=vL{)>GMct^$jiwgmTIDRp=V1^Ff?|D z=fGx@pZh!K$vAKA^(%%!%x+!mz}O>MKOy^Nmh)OOefE0Xp;ZqbL5<4+&z}E$E!;%C zaO2sRK<)R3*j@@8YNno!nu^Rx9W;*`S|RmLudd>zo2il;eU}@G#}|>y?)x}?6C%fK z8y;vVk`)vb<fXjcuP|#g)-$WoKL$TyzPm!UD^_!9-i#6;zbF-5p8BRb*s|FBvRfKD z92jiq`d;aCtpI$BeWZ}evu~1Zcz?-H74`rR<_tFEOh{WbH6y6>gG#6)$H5lwg~1WE zQYqWuPpIt$&Hyzg=Xi3+Fnz<D!J4YAK&gNKTqZCZ$N9E&d!i!#Y8fs-)z$9nik88h zGrIOF(kNOf7{vRB^fY|?%^1&%+n^GoLg$X3JJQVWicUe38dk3|%o2fSxSWWlT|JXw z--4NL^$HXo&@7}<Jy@Ii<?}_M{m&opJngG*GiPo}vqS@zch2G2C1T$89QzHku6^U@ z)-;>1Q3%?eGgE`qO6yNY0cYf@9O<9W43A${RNGY#Xf~7g(cJfZjdAM!#z_1*w6PkK z%qp^?F;%jsn<cJaxMYB=3%pS+_0dq>pHx(cff&h2+ZB|DahhP?+%XAyb^|hd=sB#s z3ThWBwzy~#b}o6iZRoPg#<<*wKc&H18?&A{>3`shcmKD#DJ~Ngd2xpnIMX^xEg+}U z$28ZB-&j*ve*cf1=rJD?wP0h&tYm3^f6?3FgZq8={a({??%k(z-)nH^KM)oe5WH-N z<;#7yEMwe&Ly$)mO9GOR1zne8Mta$krIh<^3}BM!US%2MH#mI8{8vMtvzn5m*hC)K z(2>?gM*0~=qRk?z$z=sEw*=Vke|}?0E162R%M?4(Y23LJ;WEcOC|{a^35c9RODn`p z4qtTGzVO<GSM4x3=3b9cn6zyiK%}iLh;iH6%9nXk5q;n06Z3rrMELiclN@MJy}$nI zV93~7q_!EXG;DtQR17Er5w<pMax?~E;CXYQ#_}1;aSh_eiYnS^YvOrmw^)6BV@DhY zUz;y3^4oZ;B~cP2{v8Il$!z+$ngS`%o8~t?XQ#865mWd>E?ulv49`jX`TsHX-O+6R z@85~oyA)NkRl7!Mt4N4yX{k|r(~73HiV-`}sRK1@g;woNMU4=pYE{(Ui5Y4aF=G7k z`JVHf^ZcKabCUOcU+?QRuIqKVA>^x5IhQ3xfPD4&#U_&0$<yl#t0q%|yJ5gSL&`PC z=wO_lMWA(_LHF+=#8b1K{Z}wfKpFb*W}0q}*6i||)Z^c}fqy%PwE|DazuO%-M2Ur{ zf8M+H^_9ScrKSGedpX>1h+5-?eOf|^VT)Ev6-SLkY0WQgMlyArm5kR*zyCFPgoVbc z#_3yzJ_~}zN5^tn2o&m+sRpnzr;qMzW@^YR&T)MhVR}JcvqTwN!s`K4Rg;b($+BOF z><=X?J-FiL3O$!CrVJeZGgg<hdq|M7uo_2mg9aol9=TSH9gNj00u_(JH?-}4JFM{8 zca?YY_8Y_@NlRZaY;K#s`hxG@U;KTEu6h`cSYz=s8+6RePYH#^DKw{>!E3do6oX0( zybbAjZ?zf(*n}2ZM2o}{FUI3pmbwq%6?-MvZARNTs0%q!<e^8@!`NLXtw85ZcW+%l z#VK#u7dX^c9H|&J*)CO>kk7;NMt#ra&Js$oZ#hD<h&=oykj>P|T?lPDdO^f8(5h4P ziP4|7JnKZexZDX$sKvZX+02e0T|p)<*W4X=?~UB+);XeK{>wC7k1O{ma`15hiV%Ht z*<P8Exs6!GuShIhzc(3NHFAk6$qiQWlr@L%k>ecJ`NTZcI?~%L{RuCba_P)Z`qCY* zMV`hRoR0`q(4COyD6ien9xtBTb?PeWHV1`r%|~r36o|5y^rcBbn%VXJ*w$bW4^Hdi zuAe?>g9&Tv*Q&M~Fmi_{p}M#GZc#J|ZNIK6GnKt#3yl(M99QBq-3mbiuA`k9j(UY| zjZ2-1(6EBiQz5Z|=H>&Jn1k*9=XALij=r^`Z7<$;{nI}kww!}tKRHH1^A_N&;s5=6 zWvPR6Vy{dZqX{+$>E&#z_`LL8Tgjc#AbqUn>OHq}<x0M?$>N`(I`m^VBJ&?m1&<Gp zagXYMU4~<{w6`ILwJ&4CdRQ>_k@F<zhfJ|G!QGV;<5)PTSG|VGWCa%yY)auHz<o^= z0()$M?VRTi^h{aMSIZ{E=ESz1t>tdBIjT^+!yYd*zn7@lMM*3W%5RBVI*$DcPoZY^ z2cb86|B#u{tj0mV)qjM3Gr3-zt0pt9t=ODCaPrHSqj;vCU(is7d*;9Vn;BbV<neDj z;$7NBT2|TNt7tMmG)jo1PAV*Iu=FO@9KZC4bbk&IQSlq)P4Ykc+!Yei#f1X?14nL` z0g4JLB8!?2Pb=v7oWl2nEJvp#w#2!?Om;~YwS~L|6|Bl2J>1dZ=5S9%RKez+8qgT0 ztAB#$&!Kd^+oZQTqr8slu0j98YjyZ-c8&f`ZJ|;de(e0#oLfBd3>9;1p*lcU3})3` zzn|@T3Uc*tEsnM%*8}WOy4ruq+2FA0Yit5g*4~e#mo3M^d&fPSZVCYMv9{l7SC6wn z_Us<}a-qjs0=d!&b$KKk3K*dmdgQHr_H$E&TxEsi6b4bM`Fq6*DfzSN*qQzbCFS1} zV)Tj1qPybUmaDVrSib7qhzh23j7F3$K-!cu;+Y5qkE>LmFj9ZYns!8!OF^V(Pd1{L z|1}a%r)w*A?ZT-UEk({}v&5l=KZwXtSF(ip4&7Dsl5@oV^U&jen&(b4vOiCLEHbC- zS5pDQ#pW_THP&)2Cq?XyMjfY){JzU_zH%ouM3RH<_qaBH(_-jxk5bgW5)b<vJ)zzi z@hg4|poI>sD<?Z2WBA?!nmP&;l?E}2Iy%<A+Pw99B!sOl=9kltjxyq<ccY?zwTn-H zLgICKo)(08r8%(!>*KE@ETMR97tb+a7bK4IbNi*d%9D}j*Gd^NyvO*{4(n3~=N>RK zV`cahc>?=RF5SB(po>Qu`C<<rwEcnpAg4$BtmkYb^58ZU*#{Y{Hk9O!7H1tvg1g$k ze;x>Hft>wQE5;U0Dk)1@MLpE63$Pv$b~aK@46dY0Hd`W0_lK=U6;<p`-I~-wGEuF} zzX$`ENc6E3hx%d-B?pTvvQqIzUXRDZ2IR)cu_~~RCBzMjKOaAVT=<S}?~*pLP}=Vw z1$jt|YCpWeJLqxyY>EX_qsIHMdw6SI(}S{O?Xf!p0Vch7B`p~NCpq+E8D5a_Ynl0+ z!{KvD%<(D~$XL!|{Q~-M32!#|@W)i8#n7e4CsPR;Wfdk~&AQ&ht};(oQ^<9h8WOI~ zEMR@E?fN{PO8m|*QLx2ys$z+8Sr~L>sHWgc_H%tQ{ld}FJvIzzlI2Qab~>L+4}{a% z&P+Gh;fSFrWtV+|Q8(UgI_M~~l(y@Y(Wb{3BGsXMy8Jmk<kX?!*TXJ6=Sa_qBZ}<G zC3^2h^xrDk8++rbz@-T5ikM1mX38zULix3=OgulGS^l2tpGU;n)oT8AIN{xgUFVk1 zQlb#E*WYku!S^@Ohe2p<CJ$Dy(o?DlmgNF)V4O}v3Ca1*OR&s3F|}bhW>VMVuUQ;Q z)J47}yYYsMQasK(UEnVu81tOjp;3EHmP5-QJGi51*!gy+FNNVsfU#Ogq_%&)xd9dt zCt-bbT<$C4J4E<^eM#;G%4md^8=@{CJ~efQGfw+Gy(5n1jR)Yje~9+?z|lIil8=uO zgz)FEDz$gbai+-j;8L1DC4|J^=lXO2OIGR|WUU@v+lvhO9M`Pdm9zg+1FF)Y<zKE! zVhdMMm!Ig~ZHSBM1F-PEoBqN!!ax0wh$e*u_*bKh%b9k0z$i{28J->6bwmpoJzD*1 z^6~HYu&lpfCAyp!-Is&iT0y=5@tLj66BLd;Yl9orswxOVfDS6vRNf-?X5O%Cf|+b2 zVfit!{hB*Z9xS6H?wYbzmiU(6t%j_tbaHWyygfBuh1}zEbCCpI8@sXd2u!cGV8u5U zDaIt6V9S{V@}ujpG28&b=txz@Xp%a$Cgi*EX4$iGXVmBIcdsGye&~D_%Lxa$9IdHl zj<C}8qJO=C6uay-_bO=|hW^k+b@^t=)zLp#+^o7^V{xtnK&1bf6@f)4xgMNt5g|Ph zPMUJ+g1I&Gp#F6(+B2hW1tFjTUCjWk3TZH$2nzkEv%XnXL~8=V!8sq*#Tu`PQ|CU7 z0CiZbhPk7)yqt4ZA)5aAx?cOGSfeU;Z?-Wmtla)6<)w*}iJ$RH9!hnOqTXUDUdo0y zT#}*@hBJ|47@L0HyS9<5P>mVm+JXB59N>!kotRm6i3<ut&(1lt9=4qnYs!O@mFZe{ zC|%DV2cta3iJ_dRC*h1+Sc}OIj+Oi_7pHdw@!Ch(euV76yVB6(nRx}X<hDL-m(dt? z>M-ec<1g!Z_;;pO<did={H|Ri-DS!vdO{Yyels}U`&`vul4+T|%j{=Q-=3Q3ut~Z@ z^9iTHch!sUD~H2IA_Z3yCJS5%%YUk$`$u3tduk#T`DAiw!L+JT6aZFvg_8Kow~@|m zY%+NQKIT?F-?&}l@XNu*umikwx}jV$N}F$dgK^FwLH>)249S?S|H=5j$WZ)FFaTr7 zzf$8|NWsLoN!A}m;pvn+SeRcfG8}9~B!q;lbhr+y`CFhO%tAlEHPI4x%R=kzfAa?M z9td!AvtyK;!mgMya8HLKABZ!z_<D$$!38!8J5tb#0PV}Rjt!?aIV_~dPv>6X%?;!d zje1TZ54N=#!f8iYSAFqZ&SnIJNIOZWER^X}nzcj4KuwQ@u3<Jz+>XTiW}z`3DzFPm zI{eLbmekul^~H{_z?%;jC!#JPK1mm|`p}08f=GD*-n37lmn0H*{z4z(@Gj!d9v$j* zwd-ZWLdu!Ib*D%dg-=xPbur=<Fnnqmjpq;-uEhE-eCqD2;D@-l!hY50LG7K9oJe>n zs-AeZ7{#2aQ0DU|yN5RnDuA*Fh;yfeO{_m-!_@FkJ*O(Ti_MHc6z6rvTJW}!OO18g zVgNnL@3fzj320;Wm9OtFSLqaAaWMxNc?~JP3(BQErQCq<$CT2f(b&<3tHoYcWF=xM z<n@Q)8~aBLm*YA5PU@LP#Y8{xi&Q>I=5XYZ*@3I|21S$IZg~Igm=>rO==QM7b3i(D z0}oSG)~tOX$=67r?O?Raibp6$Rk{No2!2g|cn#p!sDy*6e6PB@#s@H3d|TEyH|pkV zL*+SB4O}}ere&!gY^Z4$%d2G<H{^?^F#$O(mMQ~4^uH>OCa#lPolo~#uDHDDzJL#) zm^5p-DmwhZZtb51ydYbxoT|PH{)riT?yAa$NfDcRr@BfbK^WSJ!^GLbH*=a?)dMUq zT9+;q@F8!n#_7`B)Ga5vlnBGodt>`UuT}yZ;n@HU7tg-dn|vAOS8W%P{NlPht<{az z6O6Q|fAc&tA&T10oW_qW+&AO#&!A4joiAXs8*hk8i+S>UXK^!8;{78m7*H0lCj1HM z$S8SmOiHpRSPE7=^fq+3+D{J<DFY!?aeVy-zqcX43a)#;QnC@U5ve7)_O9W`ik?vS zE1xA(``^Ep7n=g@`GP1cy)#9D_Yb#<Ki+3CCSly{;>3==U8y9g?}#=dtX0mqt_K%( z?uN@MVJxHWi8Ke;mNONa8{r8RlH}#ExZ>hJ_mdwEURj*8MHDkBznW`1@mQufqG>xY zLYh~%GIL&bjH{!G^v_@;qC5c6Y->f+%&R9uZ(mim?Lh9^dhE7>QaQ35;@J^ikL)ep zP9%PkJTu|G^U%75uur^K3(?S(To@{|32KKOMyTa3?4gUpyWUEHhPtmy3^r8bZg;m$ zqy$r<$xX;5NwCY6g3Hc1GVulFjol2y-OVn%KOMn}GHmi^XNvZbb~1yy(rk}?H$C8^ zCDX2$KZp*+sx%j|&eG2eunE6WWIQEkwpey_v}+;zC@z-bmS6H;ICa>UVXm1;v>fyb z>OSdEKoQv-0`Dz`o`VF06cOGX@af7Lj6BKjnnGv8G8iwaji)EPEZSoZkV15gq3_e2 zN`U)!bSyId0$|Kvc*Pk|covK+2u5_I#b{rM7feg4abAx>B)^to6C&NVjT~ubr3Y|- zjv5g~3M7b)r+y8Mt9^q(FI%Zcv0>P3!fsvG5eT{Q5|coL{Z6<a_hC<1bAfqmgpPpD z_D=l3a|`&ueYqsX44=eeGC=+Kmk}UHlGdme0^#|xEdIh1hC3(hC8xSB1~a68NBvRE z#z~z%tjJ&p=<HW4R7wgHr+@UmLC0Af8Ov2wjbrh@uh2Py7?bvU|I9_~wcf?AU)n=q zmUF&<Po?H**p`K+2WhEE@uSqlkjniu2|g8@d6%sw{mEWgZ-Hel?bb}@AYdntjA?~; zSKSRjTJCcC0}H&S0-&<x{ebXcmIZ^KE`BeXJVVUx-y3_`XW6>Lmi^(KBfy8Hx7B38 zf4&lXqeSEOGuJAyQhLV3w0FO``~QqNuU5NzC&H=|1C2($B~LdGh-aIgDL%#l$n?@x z1mN&;(p%v$US7+$*!d3hMVw+8-P4mkSqPU(v7j`NdCh#O#kxY8D(^%sN_Z}r@G>e# zLwiAvH?wv*?%E@hKKPU;vM)q89}H(hrK`h|7Tzcr-u(ohAJA%VslMNoSxc{Dssn0y z<r~9&R_*N7)t#et%cg+57Dd?t%NMd{$B7vXHnf$qD2mTFR{yqyz<h6;-P_6}tkGw3 z*^$CcC(UBKw?xI$-|~l7<owVZK(mk5xJ%~j-=vD7jFg4uziCpL%V&ijpP9So58%{n z^$nJ5)Jk(WHIc^dk<mYyZ`&ZRU$(qXSyhdva4a)r``N^CHA*o9?rl(~(Lqv~*AAHQ zkYUp=?j`3$lp<N}T^tTlem8#Mc%w=SIQ@TdriUG`$b5n8bTTv#YPRKO=fhgHkz_s# zhroM~lVfW-giI0Vnj;sAGif%h@r$|0nRub^3NL_CAa+)O($E~6=OCON)SVT@W;K*j z?oi>kfILk#$!O)>^uXkrQxi04CgMW9XuL5BxbNhP+<=sa#kDx`fu*Uu@plE0n<1w8 zpS&JL(*vrSw=&pahOd8_IG$T3PbQv>9Vfhx3G0_vpQ1o>I*#jC=~6l$FzQX{gn9uA z&$E*%7%*Y*&xvJJsaf?^mYn0pksSfz@x$m_w5==Sc$6lwmhOPp>+;QzlbBtZ{fPV1 z1$)4;CkiZPRnNWn!F813A1^Z^p?@Yo%_l!>#j4$b$<loewHyJY^qthruFz~;fPQzc zFAS*_xRyygW>Eyfs+CY#W0m`xRgdHW=z-N{s<4a4x@JN3`cz{5twR^Nm)w3o>^R?x zaE;A9zOe<q?9*~^>6jML>6XG9&cOVnVmf3u&o#&V7ImCg{M$w3Msfc(V*8|-8tcLw zZ7`-yuZ}#!hyzF7tcGBHC6gSFLW?7AwIVtm+*H^2lE9KPWqmew=aFq9J#@Bbd$<_^ zx`_>rGaP2>`<jo{sdal@GRz>j3eI4aXtrdYDXLyS%4D2~td<y=&2#+L?c-%WA1B7v zZ=_&9Q!eQr)eMsa9sDhb?Z%}Xew${Yd!c~xU?L29rY{5o{;j>TYDtKJA~7PY;Qh=t z$a8HDaNQD4-ia@;lpT``H+Ydao<$6`*_aI@<j?PznPsnSi%euA_uqaa)dQR%k@za# z`v>2;8D(3w!uK)6%`&*@z;w|a?I1JNn+j<w)9(!Fki<Zw;xIQ2H7$a2dA#QKPwZD= zo-nhq*$}<oI=1>9Q0|{mHR^R&OxxfO#C+qd1ubzNek%g<DQgotWfjT{0imr3r{jPA zV|7DU$D5d#JRpMajPstV(SgbJO}!OQ752kyxvtQ8Y<+2|YU!v@Q>uJhs<r{VGq%(( z6xg%zDgIP%ijP;x)O#aVeqQiiWqOMO+T4LloDuKs^hnI<cxQH8%9gm2H-myqYJYg2 zSkLwVHz2+BsD4_H6<Sw(ZmbmnxH|s*Sd@D<!(AUMAvg@x?zmI&R6Z<j?M}G_C=0Hz zx?b|D1E;ks$6?%YiQ5R}=K68;f`g~RFkAUv(NJ`$TdM@Bd?ZG%tC!vd<l4qU2;o=e z#NWfyY3y-mJknBd-NUR!t_{{*Q5IJ)bq*kHhXiB&Yz>PDny>E_Rf~ts{V9YMP*Xhf z!w;Jp&0g?=D<Cv8yZ%jiom-TsD7``xtbRpLBkzXMidVsVBMb|e{uEe=J_$nKp4k%4 zN_-|(MQCAC)jG$#f=h|17o=0~di*muoU~|fqZ&Tf{-x)vR1Lh3eWYS<4I<Ptx~xo| z0^exOy~0Arv;Oq75V-?hU=+kw*yzS5tqhsGI=Y-jF4L>@|A@vh2lUC+Rouik0F&0M zlMyBV+V}nVuXBvt-wbYC9nbxIz<4N{oNzVom!Ng7mJ-PALRcGOf{Pn4XYYjhD`L^- zlKC3WHD2D51Pgw8h(EL<TCaP!e_p@R%7jNmc-QsJ0NNJI^8B&m(`@nUf3roudo`kV zmgx_h#Yx8$)VJ$?9){b0ZjR1SAn$PdK@VN4EWnR8&smVD5bjSOqFgbkNN0N&G25G~ zY=n9N$ZuHzlXodnOy6<A&R^C9mhMX?dY^k1$>*6rJ#6!p?zL`zCqKlbG06D;3sQg0 zf*~kP&s^AY033Cb)T<wo)Rjg<&|DUacaN8MqoEgN|4gdOxn!m8%-6sz0v=O@6wW;E z@)SHtEzaO_Vu{ZomN+We`6Bxqc+A*tA3f*$q?7WMp&XDGG`<aB#}7>c2xv8!BsG$e z6u3B|ddMD;5phY}HWR9MltDf}G*KQH-VKzk{S8?%cIKd_Cw8%4e>^kzi%>HCu*kEI z6gf$%XRwfMWJhAMTFcKN$KL1dc}T@i`Du0oZ}-}A3(2N~TgQ$p>(q*)S{^jF{_ za%1438<#`Lf>3?(UjcKv>*ICJ$_R<p9p7(JS4*E(@5xUI^~W?PQUnyJ><x>dDr-29 zT~mZ|t0E16D~okaI5r)bZan)t#le>x&vz5qw~2V`k$0J4^kHk;O3gu5MKd)qQ<6jB zM2H^)N-c6iZ&FU!;q2o(Q>u+Q69oP0zI!xDZv@v8NB>E)6(Nw>BJGDsST)w+437mU zZ`AnBrmTllnO7WEnHxTyOxmn)2bU^3MqOFG^Nx+~$;?mxb@{HZjFdl78JO{UqxGK8 zE)gY3<x9b`i-B0T=|Op+Ja`>1*cYQI*&@^sVINW5(<~f1yw$GBLFl?%5UwRSjkB&O zdJ{lp?@JoEcw>8^YAQI&d$78CMHFewc=jQ~F7=fA`sEwebmt1sL$!C4C+HsQL;{+j z)B6C-{#D13(XXYU4@%JFwA$YZdwmza8bIG{E$4b)^B|)2hLs~jekNG-mugM%=gSE> zZDo43wdtp)FofA~qXqh!ZsoTt;k_l=5C+Wp(gkD9-+csqxi9EwkJ)6iTXq<vWS~B` zYE1qsm8V8FT9Yh%0-N!Z!%5#56^HgL440;Qhn>2noK_%TzWD&S0Bv*m3E}{myWPL( zP!oF^6FLBu2l|9SjUR|mZV+tQ7qeixje1}yFT{Nhz7Ai4yP4TbP9Lh<#-TXm<dOJ% z?BM$Z2jBz1u7y(nCI=zo)hc9hD)mIc(OD+%u*>O#p$Xej@U8(#9q_7(wW(#IV1RYK zrC?z5;K0Z_=81}u?(Zqa$F{feYy|bSLBywP?Aa^v5r*o2jc)1)G}cDY;e=-orA9+l zd?N{=<-tm;$vDktEIRbx-nfXuK2D66se!p*89~Wng(>(z7%8moq78N?i|=uxF9-~O z4>fXjR??C55gXSgE~TzaUbm5N6<>2Kfas2FNd~*Hhuxg=+z_FE>8*hth2ECB5qc}c z*VKEmkpjIAxOvp>D>6v^h)=`+*V`GV1)LH$5U=Az{*_u+dPoOR=_-5eW?c&{X6><} zXTMKm*Ez+VeosNR!m+k0Wek}unMnYdVu4$&C#Gbm5<<R^Lxg(NX&hmEKRbB6CwK+1 z*fM@lurwQLkL;UK^!8`)dRW#`&JYvqB0%^I0VxPKMVSCDoIWIln6ETgI4INFu#edn zG4@_c7D!IDZx`lFI0&;vv}AW=^DL>JDaRLz^hriC27n{><k1o+VFRATVZ)ItN=s4u z1yQM`u8}^;D7J#FtJTLSrS~rfYM>|BjcY4u?Cnff07^|gJ(I0F5{P$Z(cqza^H z%mJtEjQLxyO+y?TQB`$7jQQg!ANIyC14HA6!HcRpTBr}|P9yW6zoyUdED8VANf-9T z2Z#5A@i}k4_vX;yYgV02R(u24o4))yv6G+>^^lzBukcPWl%72iVm`-S7;B`&+?0DY zK<7~B7vbCk9laY7-`2eb8oe~RZw*~D)tjLEF_n=cjB3sTFadi?L!P<qyn0C<1Go*W zfA)IKbkBTtR)Q9Bu6>qVqNGL(G#Y8d7D>y1$q4$2^Oo0RoVAA3ub!S;S<bRBaSE5- z&q=*G%>09au>G6<mJJYa;8IZg^(7#0WjlHLx&CqS`*<C(w^8_P22hJ9ntX79coQ_E zV8{%fMI@Q;pH2@?W_Lv%KA3!GDL1_-X%&<v0sd8?Vzr?|43LIYW0H2rTD!p}eU+O^ zZy+<@_szOH5qflc+kzIwTi#;aBLJ}z5mfbPwq726a@o22k!}r+ZoqkZ$}9i4xZqnL zA(gih1Du6lzj)NP6hF+lMmh&Xf=*Cxc6Xilm;Y#9vF+S-j_v!VT@x$`Gsv&u1(Sno zDxB0QK2mHNx!A+3S7caNU9Zx2l>_*(>H+STo?y6^wK}-!s!eM&S>Fj~p&)HC8TIRa zubHEO;{8pZ?hl$-?z{1EeKHoZk~ch}_FCO2rfPwAqA%Ihd@B7?*@jpHTV&`Fnj=Qr zI0#jn#j{;E*7t_-JB249{vUdzo><<FtRMT6KfMiX8T=ggyD@PH(;m&&lLC>|p^jBB zVnBC0<*-y?rPnJA>|j=l4vMtW<muwKq+o2%l_XY}_u@cHQtwk|(@wTc%)A0!B;X>f z2{<NOfU^TsE~Q$!%Z56Y5A-Hobmoxp5cKADR3WdQL(?F4DE{dSl^RM~_OpaTcP2tr zh|2DA1xJ4ny~@N!|F!*3%>y;1?>AR|xzdII^Y}Ndz;fAA$MIu$%GH(VhTB}rp!~`u z(9U{K^-BfXg=3Iz=yjGtbWW03JgoQi_wkEw;6ZX8e4_v*mxI;UK+vnG48p^K(eePz zv>I5888)lbW662Qbm1d!9n<2`qinN%STo%;Kr4xig@E=V-LgP#7_#Ryp;1*^P@)-S z)}9fhS7D!_DgDMs&<%ejv~zy|)E_e9ZSpOxvL|Qn6&X-z8pdV5aq-q~(aViVD1OcU zRLe-HoM02j))Zg=M{laSK~>@ntxzn&HV5EolpPqpvydn14xjy2XVPGQ`Mu*ZYokbI zcF{5v`we!vLirPj*?TVt9{0-i!GU_8$Vjw@kmi?p-B)ChL8I6*)584O=w@ClWZ9NC zT*_@))ew<Kr~Bw+HR8|B85zo*&8?=ti*WY_r>Hel;AKB}E#8_`PpP4=Fn#!fl_Q0~ zvNv_5@;%}X1uF{IIq^Kx3u@vMze8o+?3SO(#*2>%_UB_YV12nlnlujJ7I<=v<^5+3 zb^?~Snc$)}K*_r`S#bM}Jh#rSU%9zR|0+KGsUXQw_UHdJLrJ7hl{SdL0X}1yJ;ZUa z5S&wef}_dOyGv=4TU%3fcuNk)ggv(Qi&?fb8omc#JrP8^f+|&|6<^h!zlx%N!*&(0 z0Bk^VR`zux_xMS@iWy!oUmEfaZhU`xQlO!6zv!1z3-8khU2X-0hhKzq{@uhQ0CB!7 z-U7@ItO}H7C@|H~)CxFfuvlYvxO4r<gS+jTEy{IAQJ~cD*$X+T{;jPry}0Co_8{AA zluwS5?Xstm_dcZ+5zUJF4c_eWjoOm07d4Ql4~<7aPI}ivrR;C32STO8X8N97MfROu zxBwCTcL7xgb!ddFUBT-edH7l&BRBp*^jor$ohADd2(^0;kOm}BewhKsZgB9#YW>|n zogOT&#T^sx=yRXq664yL#*;0b6~NNmF-|0TTSL+o=^!)P$h1}B{F(CgNHg#0v`U|? z%$c=aui)Ydyd94WR6Tq%F!Xp%ljU1Oal}_g?o`X>85RuU=JC&IqLxJ~(JbZ%3;)25 zs8Ah6HrYaJy2jTr;yhGX#ulQ%XYrPct5Brs6wTNrSxcw$+|gP6`lYSkKE$;Lou-HD z)5YGi?=LnZOu9quA>9#qmAUZxnU4I08WFN$Ax^fQQ>kKZD86y6K?%$>1PnWOl&87A z9>I{jc^yp5$Sl+7bJ|*d>Url&uHvhWsgHykV%Y*N8%zY}X4AmL8VZ`7s$$s~$tn2{ zy?LtiJC`1rO5rH!+j(bJE_?v-bY-J!uW92V1h?nCh7H~eUDT-^FL-PAeOBG}2sYW` zj_lJa626$q9_3ZPdBhRuNBK@)3R|WA*$EE|_}dY2X^w#q(q-)Y)E<e+kaaU!*<amF z`#@`=GpwX)6y86TNmzqkDH$S?VaeorgRg_~_EE2RI`HIwSe0b+WF^6Jv8K<dvv@@p zpyU9MnDoj~wseXwReTgw<Jlnh{K*l}1PH+MqtGY&8~04ygPm!`2KDop^HUXV)19z` zUn^q=nd2V13(ARk1dPST=vA?dyr}M92EH+oT1!Y8@a`YgJ8DIUyF`}ZaR1WO)sRnS zTB8@OX-u7aFLBtJ8b7gM8i;D1g+=_UFHe)|qThe%^)giCfE^ISv)-FZpt3^8_U)?w zvb+V#XpVp4`$VEAtbmMS!sssA2*`=YmpM(EE8I*-Pn8Au;-C$~x`LH=ogbB)H6)5I zEBKE3w+dlgbw6XZU3|<_Lt$JT3g4J|-#8(a|5@P?a$Z-SOhyrlHp}=AVzl?l`*gT_ z+V5I-++3GgD^|Dp@%>5-b;ERQ9oT3ezQXEfXJm_1DOZ?$WHch`vg#oOMRj#Gw#gM- zR(k60<BN0}wO?EotCVFs$`@EVaBCdQz<qAfQ(2KTT}qapCkC7Jr~eq`vMb}<`e=c- z@xIGKI^>J6n*UWL6n<qNR>8=28ESISRITgA^Qm>8jm~s!3DrM2quGzDX=P1!7xDC) z8XT(<0mH+stilR^q|IjhG_gIJ>$u#t1wWPEJ5(<`(QeiI)<@d;7;}F$A>OT>R*ke3 zz`^Jp=+@NZ7$GhUQFZG$;w8BP82WT;3e->3MfQn3cDK#@J91+Ex8m$TX~o;Cb@;_l zIQli<Tn^fiFh9&X9yYIUY`E!$>VFQ`PK6UNHc8df%x-U5g5a8ozdiQDeUY5vEH_p; zk*CKcn+zKC(L*rt|2%Oa@+5U!_4-B&J7zU17k6Zs`<iOfl0sB)3cKJJJ_g8k#f5*~ z9P3?)NA=TeYnxc*3`|!kLtgWa!C#^w(%3$FWnKVmJBc>%({y7cWHrxq2aUk-rw-&) zyQEENo0n#UAj0-5vO<=`r8pod>Tt=NAdEU3i402U8n2Oi_7Y9!%YzA{-Z}G{Hv?9O z$G-P0iDp0vyy+&yDLFjb#R=9Y$8LpFF?WV%RLdjFPq@S}Rc1PK%g2&&8&8%L3$3-! zvL=}z=dwi<k;aunF{-2BG;$Iz7dFLQpHOt1z^E-|z?W!x43az!W^f;`<VPCc02HuC zae+tSJUZqxI<m_%$<t^3*x%@bR*~)4t<1l2_+ZK;PTHAiSmH<XyZ1c-nTaKY!+lK7 z%cB%6@2G35e{(zOd^Cav_zjL&^RU2=&HFN9!ifnht>xJv+YWpIyGO~hr`I(shu;(K zN&P#R*Qe|E?8v7lrR;IMyWT5oE)l%hFdMR2-FrCEC3qMzxl%)i%2J785+SKWMi12& zyAQJlXJQEo5e2g$unFLB$my5x=C5!(whk)^vSSJ_-y0INM{<@vF?#-E=i_~Ch&cqc z{f|1U8T{2bVz0AZB`oJQej!m><<<AhIa+Vkp}aQ^zqHO4O^^NcwM-r?-J?|-?oG_K z0ujpI(ub5y|L1J`JL>7VB9dj6-Vz#McK0yppn#(zKZ`ol_dS!ZC*Ls!>wWzPkN|9_ zsm4l^SuP8DC~{Miujn&HJ_l2K8FAp7WJe4fF`{>0b_*NxobD6qk(I9x39vZRB^So4 z)VcyU<Z?8a6BRB^JZ+Sxt%NnHm3Or_n2@4Bnf!$5D8JftspY|4UuJ!GCmMfzvwB#y zo_z2bwM8%f-U;}*r)S8z>nQP%wI5gx2txBi)kzxAM6b0|Uhl_s$y(6KXz~~+UgiSW zWbo|d(S=#{9D4hY{(ozJW5>Js??{+C@8+FNuO>s{6lwL6{_V#Q*6%Ria~4pdw;^)? zH?n-4D9~$omj&l5duh`m_5kHXhHg3Z3FA5}v;d-@ZAX-+-f7;{vk2c0rGufnJ9qVW zeey5T0mOvFOOi)eQ#dE~B5OygKUZ|zESVC*4E~BRf8%|=@&-x`TIt&-XjZV`784aN zL^}MA&3jRL0-RNcjtF7Q(<A>Suw6I%qG`I+Y{@C?_+nBN_49y9&i;V1&B+4zn*W_t zk995pd`@OweF5Pqylu)tc9*&7J$^ZCP<AzAgl@p>ZiW66+nMSJq2z?peb)>CV!~wC zQ%Jm@jp()hF4DVVEh;kGx$byMO6IlG+<|jn({P_Nsa{l~ITLbEoOger{@^{dOoqAq zvi-^0;I*PFP|bKsjNV}y+}Cs3POH43#NXDEr7tyC%^}q5VsYSA?>KGjb8@K&xjms# z@<W|-AW!k=o$+rkKg+ROhG@Xkzj;#%RX4QOI*X_h{xi>-Bfkv;0{+vjk)q5P`%;>J z#iz;?L{O6f*8yl3^*-Y=BgXdulCzM38&i+8CvACq3+&1;vYPV;olXVrHPT#Bz{$m0 zZ%k=-Eu8yKaYC^!oqyy$Im)`Ak7%L(@`eZePPa;qF8`vNx0*4oA!1g2yhO~KW1S0{ zv&|d4beN@&R;BH5U7t`PpeMj^i602mDo(n*cc<s*=*=y%z*61R3AyF0t>w@SoGT3o zRbCN;_)HShOYi6K;%h6z*YnzDMtXOi1#{C09?1U&!=nb+(pG636u||)5GaK!>QD@* zN<jNFO)~0=g2G1rwi+=u@IH0$WnsX80?~1;q{H#N#@Kasl^r=q8rkB{Rv-9mhj^CC z)U3H42x#U76S^x>_*nqf$KuUtITDnN<l!Gt*|q`e-qHL&SO{I<x?`cd*5`-iP*30| z&Y#*jy5R$QH0M@gQpee*qS$IuNNkyA+s@^2L;80d??s%cY;q9B5k~51A~sHJFGL6b zAR)3Zl%h$j4$g+Ehng@YPAzc)-JAEtGlX+Q){cIZYw;yIuBDErTaAn7_^-8sfPK5| z`RAL0SDpZ5(iZ6mnqd%JYDk)+s+J@K3wlD!ikOz&5jMT<>4xEo(}ZKl)=iUXWLb4l zk<>jd!|{NEgsJCs(`jTx!4FmfkOI5G`}9xnUixkwe2T`D+ol|*mV0;D5x$E<!*6V5 zqGC<GF5Xux;tz9_1xq(Zgfnb`&u7?kAvY!@K6=zS)h*0j41`kA-5*(oLpHvY@>(($ zLMz=&qDPx!A3hteEiOLmeJgpXPG|DrCp*g~*DYcE-EoHk0+8KUTlk~EWb?S|j0Vsm zahTZ;Ahjpr`>_<>LI1|DdxG6Qz78AM-LW%pvVglJ3#YcSwqB9MccDNY^sF*ADIrdz zZZJ8GA@F5vf8Vv8<H37e*QIupxdBOdz{%B|7`5|XG8<qA(-$qW_1fQ-n?Qv5Wpo*D z^vlXho3HmwD3M->w%PJA-8>JL-a?!G(@`b3HmMNet{WZ_N9TLYe)&*(RJ)oA{s9Ds zo6$n^0uHv#t^z4-2s{t<P4CVGAdS36t3u(n;{mvlBxxpbU@d@**9;Y|F~P2J`YKBx zrkyh-xcQN>9BVxfQvdbN5UEY7C+Lz^Qb-`&t<$X-O-?j~&=pk$lY4irvh>=rfh$&v zQUK@=%!EGzlGTprYqVDbox}4Dp>&)^US`h74X1dh5LjsY=m@gb%~+VQ^?kqa;UBr@ z%7|ZbBHINpqm)}r{*_`3M}POmHiz}I@E0l9(U$ZYd}@5}2#-EAwJ=o&cfQfi^Bx$@ zCa**gLShvcuTFitiR2{ZFKCcC^On`+i+FV0Bc#K6i+cAhqCYEzgzKflQo^zWKi<F3 zb5D{=+44vB9lF$>iTmMYcQR2dzj_hgg9kRpTNA`<o0ginycQl#DRKj0WzTY~=wc6i zUTWP+{IVOItTw*!<3D7_4tCZ?Zu~~$X6x0|Zf=E(%pO)ZlOO$O3Z>yYe(3%yvM5TF z8$+OZog;+UF(3h;T57qr74d9~t4oei3izVyY3>7M7wRi45D@qsU(ZkuOh++x&px>Y z)#?CpSCS4f%0CcL$;ucnC_a9=$Dq0Y89^-a+hz#o_b-`E4COQmdi?KU?2Ip1nufT@ zv#GQ;dU%zC5Hd4tPoPa(I-Qttf(ov_S86`YoqFEfGK>8cJHyiDBdLm8atXEx#hjfG z&$975kz&dhi~HLSXpTBOzH>-+@)S4g^BI7z3B`a6tuL~JWEck`PJfHRd~cOWVhQBt zBg$(Ogka4|s840ss&XzsCG7E6udqN5+K8vRp@EYrSIeIA<3-sq^PnzaY$FpSUqRf6 z%H~T;Wvg%$T&WWa->`X-Jun%xm09ccbcL5Hne&1$zRu!uv?x>#$dy-n4#VgdR4`-a zCA#v-JO6n?@y8$hf}Zg|A}b<K;U?HKn(DRCK$+G)oj)rsP>NcyLBB+)N+XR|LN|=? z-CZ@KBMZbzA<t4gvRE_x^c}GWQN&rPs<M}L;>v(DS@9G{P{()7^k%ShdXe>b3+UsA z@J*G7R0?NfD8{+bCqq!Fm1UbcT&aneE+-#$;;3}}8DwLPl#2XK%3D&%e$MWKlmy0U zLtef>jK+({gvsj)KNaD=@at=Fig|(K_>lSO_z>pCyL-F4;EId2n<341NY1N_yS$yI zTFRFZl^jVLL$a;>pJ~j~Za5b>u16t4BFKnapEfWNBDFZ8joo(txDrD5lXwAK;d@R~ zjK<VUE|isJu1beGKCXFZIlXX>a4?74INYWnlOGP3Fs4RUJ?<(O86pzrf7I}=(jcD) zjqaP2m>(V5$$a2c;8ph)tJ3vWGt$%4VD8oV<E9(8RiamF!<M!`mE2iFy7sGbe82ky zMw8XLhj*B*evGJje$NnXu;YTwZJ)^xODxj9{YnWJ;9U0&l!ul{N`zYm<O<^htcm(Q zcvF33?(e&%p_)>z`ig0h`Vr~*+|BX|h*Q9Rtg%vWLWoN+^a8z&#f(|GiUGn+0r)0q z(3yr53hAmXG+@uD<<8`QM16f@@$2ar@`lTEU5UNN)E;Q@Oyc`%Hx+)4%v?}KbJE?3 zP$Ae#=bXngANYhZZoJ{=7NzO3d$`>lBl&Lr%DernlBu}as9P^0=V43T$Ef-h3S5!u zHRUJ=PU_uB#v@ijBCCy#&n?nYq;7?UVzh%dLO2U00VtKh`<(r${{Q^rxM$THm@xYU zCSTiXD`a2#U;-M);TNzAw-Z1FGv0MhYUkV!eyvg`y8V!9{bwh0@9Sf_(3~Hgb{)3? zz`XixHdrJ`Pq!@JW&AQZ&zyjW#$8<&A}`K=7qzD^PF(S_9*^Gpv0uN|C58cwutYw} zx;07X_J-*>*^2OtbS-+ie+Gy%jd_7$XxZFqbhU7-C{bb6>Zc0Z21zZhrCP~_mv>0- zWQLe?pvn8$UV-d0kIHH9(BA4tRvE>!YIk^mjrX4Gy6e{Vo{w|i1?IP|n-?#@Y2<p{ zIm|x8OY)8m&C_?0R<M3v$s*PNyxzt@fSmMkfVns@_JEVJS7aZQ4~?h*1&ATb7irKC zmN(!jEW<8CJ`0iMQf>-3`G`WCGJJYr#|l{xxb(1y?i+vuf4{NUx_S8~mSWfypcU*D zd4K)GeJ&v|6aM{!-(k=^5#ikTH@BF#yqO3LR(+ZLTMsBVD~bD}&_qJBU-B^rAIACI zr<1dx#MBmtU}S9n=s{c*m8(c4zG!q(5%F>DVRtwp&YbM~Vp`O&*zOA31xK^KDDp+s zlqyiPD8PWX25ue5<@H0(G7jf6bFQU4j0cyPY?8lCyF4)V&-mT#_rF7Lmurt{!5YN? z<w>7A%DbLodpK!q6Y-mbaqYfwci@`gQQ+D6hd(V$kw<^6zx2FhtMgia9`b0gm86am z(RNki3TGZ~fo=?y4!Etl>3E}V0Cj`XrW1eljsHMIhfIV?F9gRqh0Ejqc=wd2+$@HN zV!}D?IV{RhUW?AB8=L>eMb}58TM?1j6=WJ8TIlBD<)eG&&3q%%p3NsFvaU=evTQ4S z>3|_MZixJN;PkOQBw*KwCR4Hae?PQ1o@|3_2YZ3I-!3FyFVrWr4By;$9^gSiKVn5k zo6m5R*<M$3W*~!aZv3O^fa9-14ur|cb*v09-l~52OL?=K?aDYuna9Em1pT`!?*>-# zbyvAq)IsMtjF?81`1mSF&9^u%xP1b8dS?ZV<3Sp~0;kny3Gj=2Zk}iBhfu*gzkR$M zr{5_+;%LKC^-O3M*e(;;Rr>?~Q_k-jP7Plu8n7N|eyjUjUh*XqVG1Lx1lQ`f7NbA! z)@!xwRkpD;Ua-`>miq*woqDaEoXoiE8n!Fe&JQ+GEDDhb!l`Px+UC75YCO@=dE!`; zUQKsp1^^}$x|_ApM#=s#aecK8xn*}}-Kg&)UV!2hYi&Z|!rm!@#2m`i6bJw0`RMTd zs<^8}D?()%g)0~B`|V*e)%|FqAj}oAl^NM9k0vLe!^#csN=Z#Z6Q2T;nx0Cls`x}r zu(r7B7jM5S7uaih%Jr=Ppn+=tSR+E`(J!Q|k+k+~!%)_{n$nq2@OtC5{M9|y_m@=7 zyI-vaGV>{a{H%r>Qcylm@?f$63`@W@yk_eytpx3XKN25#s=@IjTeSx{X6Vf^pwgJc z2@1W9|4&9&X-<=e4A9u_3hcRPNtv`pn)QI0f&Fo$&R&bA9yAW>4v9?yQ}I{n0G$}7 z-qgAjB~XL+{0BN(x@_~W&*uXk*cAh=m&EP)L-b1is49-d;3irhi%0$1ZRKm*aRb(t zxzVY}+ON~&!)v;Lk6~+iYiw&`g@9-Mj*HMx8U3G=8v@}8e0QMZ9x7(E_x?~g=;@v& z7KDbX*)frXGD+&TT^40I7D0BO&-NctF4`93x8i9eISa^6x>N~xh1OOqhLPT|ZDjum z6Pm2qK{r0$4+-^UDyDmEIW|^4n$&&K!V3T7`R}&q=HAJ=_rZlKi;CJN!!(bn^;sQ= z`m)LtlG~Jb6(;kSg8(n5#Bh2gUVY*KyhY!N1O>@ixojTTM&DhNmukP)2pT~n=&AOR zPZWI>s-z={#R1}54iyZ^s!brxTWz;Mh2c6@hflI=B@d#t7R$+E)!v5D5qzt-J9nA7 z1~$w8?d*Ny#yhFIN_O@xm6nWZR6i$&I~N5oaaGk>&!639tA3LlBw*$gS*Zvky8g$D zZQcL}*BCm}AfvH8a^uNYUsdqF+XxLX!jR=|wOipX9<FT&aiO%d9kS28j!XtK&cN7v z`4W|U@uz<@V3R&^_Yzd5X{{R%nSW#=B}yy!5L4i*EV+=&qteDmKs&%D5K%eI+*6I2 zGR|h^s)obsubsaeBv0ZIhhHYN74Xpm8?XmqprSbJ9hN(@6Q;B3gsf-#IL5;DnETGb zNaK!DzOPV%cc=*U_H`8qP#ZA%FCAMsNng3so2O|ub2>cQ!aKGXqk97YcvNY?JO;$& z)Dw-?e`z`V>=`aRcpzK<!Aa2}Bxf#xvy|F=1^VKFTfoWODpBLMJ?R2=mdy=a%B4;1 zfGkmYnr1!slR7%2Yz<XT)h6BQ%Xl!VRvpkAOcefgcIMla8K4LQS6)QkV~}m%ENB1c zV#d&~>n}E&bJ(eAhQW84XfV{dmQyd^<S==a(QcsSqEOiGu@FumwZ-O=A8J)lx5k8s z908sk{S|1bqluoLv{4-gYBI$)@O9`(K<7+0q)KMXN#$fueIx0TuMXTZ8|0|V^7gGk zr`3LT!_vJBwvmxYh5fe>|CG|;qDV@RBO<OB<dW$;@O@(|lO!4rCI}C}Q+?e-yq<T9 z7}F*kCWf@Gv{3(Zha2$In~Z@{ZITl#zs#8(pKt`db39$yET37SBIMhx`VVCzQWD4e z4vmD8xayk1{v5;7M~w)q-}8wSY#~fr^ZkRKL@!v$uYmiTIY(QAqgc`8hor85Wuh7X z<P}U(yxRV#1ILZGz`0o4NPWhzP|IB6Og>W(aZgA-nrzEaMklAgF=KxJ=de7h#iMX5 zZLb2Ywa-Zt#uXZcPn??Lorb$4TYrV;)SG{pjuJm1Bhn{^rL`72wf|7R&UQZgBN?#~ zEd3<JVEHu&qrXnDUWfOw#g|>UXr2)yd64|xWTXM6l>)iKZ_Tjwr^&YBY@w!L!+$r| zx4m3#{cU3NTJL;+7ei4vNl5sQN{hH8fp{Kla<$k3XI<VsanA4GLuN8V*a~m-{hQ-a zYH#{FgIjlKV?=sJI~_aM9=#%u*$(<;HC0L*UOWG3N$e}n3SG2w-#w+p<R1v9Z>cv^ z5BB(twBlvQL*IX>o^N)0-IY#;8|NI&o8%7dnpMDk(8qi^1_n8eJs<=Ju0ic}{J7ru zB&ACaSc{s+Q4_36b&sl*BD54tFGVuw(1C^eTR#Cunip4q;mbj-j>V&#m`$a=J*Ybr z=vEP7I5`qz-E-W}rraxF#d>SRRSegk7dx|-x@JI&Qhu8?$RtS(KL{wma~sSb9lhE^ zk;|_djZ~>V<!)!Pr?6gN63q&`nSb%9<YWZ1_H=FQ$IgA(ia60G?_&2#D?D#lER>6= zPM1sLnIMvdvd(LbRw(b1{cpa`u4|d_FNV^{KJYkihKP!*psywTCBBU<RN+g)^C*G* z&CT|?M}cd4Ezm}&B_F^o5TfX3#E-cB>Wm7cFaghxCBnAiMka65Y?p`;mAlkf!wRXN z`U9_LsNlOyu=Y62>c8a)PK;sB3nvM@itTbUfvJ#JSz@0Vh;gkL(3&+AIH-9ZH%pVn zN6i^C!?x6k4;<I>s#-<{=kSX6T+&+ptlo+89C;~zuB&_c;z1a=pKt8#v^kyg(LGI= z6Ym|jQP+mTs!mnCXot1v7vC|EC0KTfH_y}S{y}c7Hncm*k!-bi_<^@Ee@a8Ez}F`P zwQL+3F{q;B+#~u=L_18=aaB~Apt_|iX(SnWszaBhB_xo+V5XU65;o5(vj0v5TsI*S zpWJfA8~SQ7?0H>OTSX=1eH<(6Gxs7aSwlxPl~x?T(>%y6_zN3hM^z;)w-#3;Ko`aY zGA{*f35Vr*Fc1X~M1pF2E}5?At}_)v+dhT2NGMxJD`)mGcs<>~vSAWmHcwoQ`j6`y zf4U`nTIWG4*>V3fi)d{*^u+vB<02@aPO)tW=;l`Yec7GWECt)qsgfhTSe6`ziquVL zM*8#D40a&Q%DCZ85oI~4Yx>=mAcd|m`U#tpMBv|98hYOnx95fagiM4<!Djx13gdZI ztj-Qb&*J@Yw31SlaP4GXd*$J&nK;M3I9oCmsM2M%Ao%&m&X0dmX=>x8stAFvyEk&! zfeFY8>suuCP@5)-Ddu$_le97O7>(%XzMxMzQHmnV?H`lImAq=6wtWnAd`P^6AB+A- zF9mqboGxyzT9RWoLK-^E(0R`KojCN&IuO*|3R0?4*sV3}!9rS9QK%2Nwwi>j<MsWh zM6c01I4n4Wn)90LN0UBM>Snt}rRaY4sY9)>C|}r@+aLtMWk561@A$=A!@eEQ7-&8O zYH6U6ZI?iB9UPNHZT+-X6mhK^OK}XMdd${00md>)BRZdrPj=4L>d*NiwRCvaTvhUc z?*Tq4>DH4bnx<XP)|hVfoof2~KP>j#@}k_#D+d;}jE1r@68`X^^_DXO@g@&1p_;ds z1;r<()Yk<1fq3aRsB5NH87gbf?$`T6B<ERtTt2Lm4hfyT{mmczS6~F^#*;L;5}(99 za_C4BRKP{a6ISbZkH9e%_3xF|uQY-+@#KE8RoxpARUgB(=<6OCp+C>AaYo0W@KFCA zQTH=+g=QmCzu0EYP|0SrhE1%i{%5mZRO+{ghkGC)9<id6G+&|E+8+qIw}k_EyQrNL z=UQ*072JF^e9dEHmk&5fJKbx)t}GSj36-zy`0gSKuYR<i5ZAbq+GSTjuVN$$DJfq@ z#E{sC1~P4lJE01vpMMpt=hgcPw!@7?TMn#7_KUFs9hCCD1c`UIs4f{WP0+iZBfYP^ zH~TqB_oNP6a}fzEUg(bQ*=@J9CYa4&t`JIJeLDdIl#TffLB;Lni8cqDh-dSHiTr6- z+-46S5EkX-%Dy;-n)${Vna40B7jG}K+}Jy=;cML)%Y2MJ>MeV;^eL(S^tzm__lJ8) z{(G%`>9IA6Z>FM7UcJ>ey?lb#9-8N8*$z9GHWe{i&c^P0%m2Y$IG+KE&ULIba5+ru z$gZw0`{T8JN1S5B#{L!Z8^u4e4I)u%-6W=1>fdK&v<KeugK@)B*`{tt5T->z?(VvA zx0ztzZyuOVzUnaRg<q%X&l7HJvYXO={L7ku<FsWCR}dJ?(z46y%$-RC(Cn7GTf~G^ zw$`~x+O`-OQ%zo#c23$-1xw=IDn`AD1=$z*rJ?O=GIL)h?RK=RF8{)$V1e8MU9L4M z_JG}{(|KI0@US~uj$LzZ(9+=92M?`h1|la8n=ECc(=lnAU~p=6!!9L4MGBSd)jPdS z9g?1uSj@Z0^EM9CuqHRC5mxK0!UN<3@RXnRGnOM$y`5=eE%_-8dCuy9Xn|4pm$n0g zNdgNnlv~Qe5pFs5|LA(pu%^0hYnYCJf{KVrQ<0)bmudo75JeD`-ceA5Pz@!NP*sp3 z3eq6~kq!wRgH-7?^w2v52oNBI5bC?VpZlEe`|%upaB+oXXYIA;9BZyQ#~e%Z*}1c( z1NxajFXRH^dtX+Fo$uSKopGi+QmE*q{(#YmiR1!E$sKC-jt~MeG_4fm@6Yr;I`T9C z8ZMba7MTjgHf`9)Hz%KaZ|>9S@8e`VG{@-l+J%MY<F;sk6%OF{80R-?n2iQ}XG1BO z-5gz|5uC9%hJK!~)LgUxtuZ?UJZ2<+EQzbPE^!a%2?s;PRE(}ex`;Gh>Sxp|tUwc+ z)#+IM*O$h#uKz*(dPu7#@oSA}*}lNwAkE?MrACd#vYuNg0m5O(a+`6#?Ae|DhJLde z?osCvc3OG{f0y+y39uEi)>r!7Q0=E4tMk&TC!w`o@&QqZWgDN;>Cu>g=lea9RkFDC z8Knxt9C!bBW%qW$;LoEvYC5~jRYGm|J7kgTr^k{4q{)bPvG{9y7xr&3cc30|aPNTn ze8z1uy7<gr#nc<`i&+akb*f)l<*So)0JtvjU=r#!(OQAoM&PTQ4wIBss<c&9wA=;_ zR*-!Bs?I3z=J&owAvQF4y`|5`ZNjw|UN0%(uN8{40on}16kHpBxkGfx$W*O7FObgX zIJ`tllf4m@llSF)E>p4Kt!EB})tP!FKfPMoMp5+*_mj;Qcd=kT62m1%d)FB-v8%)^ zx1eF7y^8s8&e~(OCJ<gV_U5~tkJ2)CwRLy!`?(V59dBv;LwJvs?ud(?W=Th37q?Ne z`8V6?TTcj4r#*&KBbH-FViZ8OHCy^?LThn&krh$}{ucz9GEjkB)5Qci_?U#uJlHz- zy(HV_(4&U^+!$in_6xZ9%LG#GXNSj$2dC?S?vPaGNx3=aNFe%I*E4Ru687TU+!CVF z-OI_7qw5S<C3+>EBDr1RhI3mM4U%)FJ1WtdOi>y_%Z$kr=~z?W3*f0Oq;FIa-G?#9 z!yC3cp}*k`DZB0|%x2iC*39fDjIpIoJfx3!gG|n0j^vh$xlIk1A9tP`4kDi2Q$JM5 zq~^lr#xwY*wR#_aJk~O~7q`dM@)0~MaH)~eQKW!gg%B)$j;ZCc^y`JxApB<iU$#J) z^96+D)Q*%MJr;Kk;Y066kDca&vA?6C+xMf+3#mxCXD<FQTyr}Q9b93nWVl0<Ci;TC ztv1V%B}W7OS~FeH_me+u?(7FV1M|Ygp*(EuVfp^n^oc5Y-P!-U%yvX@#NOYdmD^2@ z0BP;DQ&>;+%-jr8JVT1qvy#+yw=BcEiwGUWZ`6h=)#R#<=%(56*U=c!=jWE0e1Cf0 z5!yNDT|nw``2)S7L71HyKr=Q;8}7gtmvjT)7{tjyJ8u@4)<swUraY-wf2yD+G7uvz zEopT&@Kglj*~<lM(jI5_PPTswFc=iaja*c|aW<Id+w+zW-NlFq<|2=$<E_yaJR1*~ zDs@lh<zmbFy_eUL&-aR8hdjJA#yP#~KLN1+41Ut6x=_dYlFgyBoBnO_lQrhFN0vSg zJe#fHV(qjXT`zojJ(OFt>)fvcNR7pa%4Q;7x9Up30iZF&GGTk0=GdhXddMyHEskYa z<+UW|%%7>_wQ%APwUd%r<|75`!M867L6YH-{#Sp^N2wl%>=RUvpXPZ=`TbV?Njnwb z+7i&?JORH}p*4DFd9-0U*eu5JP_=e*Vr<-cfNf5|_~|aAd>5&hcBu*LL?H2e?E-IW zuF|h&R^)1E7RmA--uBSi?7zIu{S1K-4j5Lwbp46drh?P+s57(N7UT1k2sM#3V)8N+ zs7pQmu$9I$94ABVvfW(}icK=VXaJLtbS@`0UNoy+(b!@fk)>6)2|_BuhoJ0xf1qOT zBIHF2ROjECV+0^!62xWVn~}>6$_&0`lnBXE{8*OL7Mwv^s|&G30^5uZFJr9?M=lKA zpDN#8Uz1KV?QCbH{mdD~{{%x=nkQ|`)=NH5aj@|Yp+Dd5J2e~A{#!vvLv96<g;X^J z)B#vwOcwwem8hjER4a0-PV)IMJ3{sgz+%@Sk^*@u7pV0Oh|Eqpa}Iv+H3|n8VgUVn z&!z5)|Blg;%if<K-*ZGR1vng-AIQ*IAPq)ygpuGFX-`0@AhHzNZ+#{GgRf{Wcdzl! zR<$_Avz3HD>ex#i%#Rp*BnBGePQ~iI6o(2M1<FhZ*rHyU3nM@mk9v9FIxj1bQDy)Y zBJFB%(S0nX1kl3<PKr4k{wQm|+`|X{B$D@PDd+nL<-7Vc*CqQK3-Lbt;S>vua77UN zDjD9N&w&be)UdsfhYF9kIVvLbK)Hq3QjupStHc9Y4D5~-Xt6BcX@WTHQlsHhrEcoP zbMfL=^$a)9EMMLHP|r4Yop*R%I2nPJ;Rq7Dv8+z4oQUfwV&-?!1GxNCp$8v9#)ULh zC_(LhdcN6@``93xjqPn@{P6_6S|4=nYxUrgcgNs<5GxykM8|tdO+c^y#+$D<9Z#ps z2!X9aw2Xfv+Gx1<U6B6r*Q`E8SJXfYqp2<7{!2O+`Bdi_{d<X&{ma$gneUVNA>ZPc z8alE`e~=C@XQZr|wF-Y7seR7pR<yb)Bx$|qAHVDx6UpK-qq5A-_k+VqR*K<>PHb%k zli7LBQ_`XSlriSW#Mx&0xAy`dQ{(6HW;?56ukd}<u<Qb_^4FCWFvljN84ya;DoDSm zzxkE8F!@SOYFeU!(FSZdx^s{DP^JP<f_dGlra#8GllqQpCPe)8{4&>BJe!`Vt`3t* z@5chCJYgE=Ux@ST0ash-6JBZA*zU*OIfj}3oI<OkY>O3~b~;ViSBo=FG8C8w(<)?3 z@__Xb>_dw;V;gCXW4=TW$!*m}LYL|l+X~n(E;sC-dFMY9h(|^~{rWTwB5JI&84yba zV?z1IZb&Tv3QK|UBV1st5S!6S<zy{TG;NhXHJ6@B19>7WJ|xoHyz??DX~2*DBv>V7 zhN`ilNyE0`FgIVxY%{UE^=nwb``YpcrB8I&LN%_#a|fSQW+vE@AGY1vWon%bz`sma zCmJ7KBlzw2g|3lmF&6{-*4#Iu1hm^uA1g@s{b7|V@wQ~ndpKh*^kIhH7d(G8^b@#w z%7sdB+B#RDaCSf*ri+b~V>p!g)Sl^7oLkE&{`x_HQIIdIV-U3Mm!z{;JUCRcN#0=2 z8W3nWi0ZO+pz-hE%_3X0_DIyGyp-ENy)|iAAf$iq7c){2X7iBn#r@Lz1G^w?Bc7nt zB94;kb(uky+dM;6rfvuJzHBN%V0rI~r#-$sf<b}?bXajUggHXQBj}4=->mu8N2{of zjP8=k%aVkaLu2M!@Dv<wb2?%r`k=ZPl1x)nF=m-keRp}gTf?+TSh1Czeb}pkWOh<l zToy$;^;9al0`4nF2tx8G52a_3jsNWR%6adQ`55ZX{%qo3n3!FwsJ%NQ@NTjsC)4Za zlzc+tf2zCwbu$=AAHRbcYVes;*hw0=;2#o>W|9{1n|2@IMW~k3U}7lTxd6Ltl^S37 z?Y3L~ZN=yBR$4gqjiw5eeMA`F`BIVv^zHPY8qH!D?}Xh-`rBT>$a+MzJc+Ll$Euu^ zUrAEDcDXdbMg-<`&!j`dpIj*R^gE$lQ7BkSDdTa8S)ygmrkO>kP26K=*Y?{-_>*tc zYxOagB=`Pu(5}*smX(Td4?)2mGVf_YJ7@5TK<6e`+QZy+av7WE<(Sy;9)_Z0>U5^V zF7kxz-??u#3<Zs-TzZ-49H8sv_`BYOZO|mK2}i6wRhY86Yo!0&@3~c(rx3%!M8EmX zjB5UXcjE|n-VfA+RFIFkO!LW%1;<rB<3=^y>L&@)5xYR^eOFcA<H&lo0EGKGaBq5V z;3325B!NYs@Hl+wRFmDtrMPHHJ#?3G-#W^dbTmC!$c$uT=#t2>;BIRLciNkfO;qDw zjxGnlwWK=IdtT*k(zKms!eVbvz0l@+;LS04p68HIcO1Vz>wKbH4_d6e8A-h0@Imz! zj_`O`W|!U}-YT7YI@f7kXGC}BS|w0MJ4+YHU+;bRV^J`$EWo!Tp1z58whMi4dVZcp z<tq)BcmMnV&4%7k(ORPWsH1LQpes#pJ`V@bJsME+Cd#0k_12BE5A|NUzcat3JMzZ# zp~&0tsH3@LRd1QSb0y@b`KFER*sX6~`}h&szzhD=$`f(ICKc;1>8N^Yc^3a{b3)lU z$3m@~aX6~Hwem<CO|RUHd&#)4S-(@FDP}Xw*%aKvf_U71yP{m_@VcYwCGLu6!Uw+% zYWZ@w%j?wi*>xVr$z=}Eera0{KA;P?E(zDOfW#k9$_}|7{|M`r*k-#E3MkDj(hKGh zJLKfZYq`E2GfU$7N_T`^_|n+dN`vt->_@URLV%$56r469Mu$J2{ir%6*wNndRpuc` z4<_L!;#YTTb(Pzy6ZWO5bUJ&7x1E(^nds4yo3g|nI9#tQM&iGAl}3ucW3*KERh>-) zXDHxcGMjyJ#v>j>H0QTF^t$)TZ2Wap;KEo0?C{}V@q^gi)46STd;~B+EHE1HJ@rIg zKe|w-H%Q+JS<X}K{uKM>c|Cl-Z(at~GCCjqgul0?Lj4KWnMQteCXW5m1M1Ak{z!R+ zh<Aa2va}?j8D!MDJ76mm>{q&*4^)AwrC}0M*JYlJzyCe;ARM&@ujKza7{*k$2JKij zJROnyMV9-<*L!RDAu+1w=CETQ+~iG-p7hAq<2L}$QF8g_<)_1!HdDBVtE($%Sd7gZ z)PzQ@0<zkh8@KO|-5L+0X@*;>nQo@ox<6CM?ds>HjkMvS3+e$~=5l$mVv@Z!0_d*f z8J!@wm#RZmv++JF;Wrg-T!}pxu#VU2d+r_DNg1mtKCe~3cfb9rPJ8G38V7%s^bQkE z!wDX)6B)NE^Q&}Hu5yd7E-Sc%Y_HJ?lx>(9FEmC6w(Xz05a0(CUVy}j^$wB=6e>Z! zLKoEMNPq=vs(hU_TDmyHSiopN<Ds(K&sW93`if1B_3lUo|0ZwEPp&s?T}q@qcljG9 z?2>MZdO$_}cuI{k@E)KQ08Z!Fp$mP|re!K$_h!B3e9S}KK)la_2}IzPfSQb^LF<#W zhO$EmIn{xScl!Mku3o%)QTdfNZ7f4>n!wt4g~RXRCt=5z1N>eWn_lI^0ZMtWfOs29 z79@GIyTxr=LCs@_{rMlipoW*jLdrtMR#I<rXzlB5m)Lr*7crS$KZx_23vm3+PXa*T z;wgrHT9&O~HF-C+i%Q11Hli_;L<VeT)f261o9t(n8?o<?7}V3)+#Y9!{n@{cQPG3- zBtA}~dH#MXwcLsNWNq5C63E8&ms&){b}$z(S4140Yf|fd(fO`s#8;H-(PlG4=*)cI zgO&8?uVRiak9x1n_dX6@CKaRr3e8Msn|kl!e!S0T{W<x`n#R&T&&Fn6=i-Fz$GwAA z!7+b(|7qiE`d8NK?>5kl(D=Y~PpvDa0F)-f*tL5B<$GL*!7AY_RkPJ4Y&+X2rRqv_ z$T#bj+L-(lt#FA^$pTK51Z1g>$N2Xf*+1AW&$@$$=7{28nl7sIn4Vrmyf^{Fe+%R( z)Y=rPZA|-c=ToJx_$ET_X1?1A<LEf*7DLJ?Lk!RrcvbOpX$p}uMa+Xs_tY~20{jzR z|CNERNFiI&GhF+HbYl>HxeN93^g*N=3*Ff!)h9G#WqY|wN2&A)UnG}66mVtROA$f7 zcN`D#qXmNZX!o>y<&N#Lr=l9@m?JMqzqV;?genlAKuS|=;_K!_w~@jHkiQimUiS$v z3kkxrF(J^>cQ5R*l`+1jvke#u;K)bIW!i>|B{AOEp7yATyqVhL?vc2Y{x*&N9$Uwi zMWu+3r|-#Z(%!SljvuNR-AyA0{Q0G|lFt6UpcjW<R$3pnK6rle1<^AR@AZk5C9}!w zeq6wK-lu1Y0(3^Z5<}r%qGdG~JfBgRN50<cw%x;3TB0ekfyD0`l7)8q`jO^8*fbx~ z-=EfFvD#@jDP<BG5~mC36(b0GH1Iy)4QH^kx$qSGy0dmK{^fw!%}n;T`;>@g6Se?@ zUq0>!U-)>e3K%|x@|W@T%>`^J7G^L9y*rrnPy3V6$Vw?6@h-X=qdh(ks$z{>6gX`~ zA5Yqu%5fpOw%qGw3qVTy{rV#Gy9mB3K(N%GzF8ZDKkpV`WgVd35diez%5++jd3$*> z2QeH6*G(;-T4@%+w;Gln7mv?%ydCXa^cI&bUq34vbR;G3%MV#+Ko!e5)W2z5E;7G* z8%OdPjwOd_cb!9W7W@P|UZ$BGve=E_U(>Ag85gVw0LPi`=Ad6${=|QWOn<ALo5^%Z z5s;`m7}F?esdePrge-HIkFSj8efpzZRFNXKdvNQ%O2|<d8dnkFU$$Rus`3Yi@Wp*E z2ab@7#SWl?AeRJe&j4lGoeHtTYsfc#d!=fGro&6zNO$|rO$lGmG#dq>!WFyJmj+@* zE|z|nvCEZ~emX4f-XS8qqA?aL6;dKH#%XspW3erZ-`n7U1nI<&@3A%QO4}#Tz>)1A zM0782CK?&tT<oB&vQZGZsJASwpQDp;zbj$TdhADQM`@y=y>aR(N*2+*x71#v0OXJK zld!Ht+4`l&IcZ2PhnI{$ahiM|^`ZKGU;NQi!l|2md@=gBv2&xJ_boM}bXBI>H8k0n z;Fc;nXzy&Lc4Y|P-rHKAMyHO5RsqpithB|(<#^Lu(Bk^{VaMhL{DSqW7ZSP?5<)WR zQ6fdJC+QyS$kHAaSjs35o@|5iyFe99iXKgwqq|(KO9kYt1%IPF-*=W5Vr$JfPSKvK zJqU7mzsphec3LQ2uTy!`xq8Y}PiN1C(89h%T^JB;XBV{g3ZXBWWmKut5$pQ)@@IO0 z@P05|`7eq5+d7Cqnnw?)PBnHKWdZjr!gTG2st_-mYrz^oV4OG}z*sLR^%YM~vhIIL zA9s!^)OnOk9QSRAIbi`~lSkYAdZ3@zM>Rxf&sF35_fNL$0i1UqpVew}6CPmS`>Kzq ztk`;Io-P}I3{{UmcM$!s(r1n{vr_5uz%ylaWPzLzvG0w+DDBN=w%%({)#o&HyAQ6? z;`Z*Vq=^(Un_m4rgvyp4jik{V#<KKmUv~I>usNMR^7C*#-%-4#S56+aINb!0#C_iC zF7cY5g9S+R(G#AkPFWodjQZ^CFI|CfxFB=BU%)63Uad=t%!H}5^J<H`6bc;#rZGEw z!DJKQ+K=j-RbLTIHrVd`Vfv+#f7`I7-eiu$U|Zn~A^wKnHI0sukn^Fh$$+RDp|>AQ zN-L0&rwM%n9wm-D0u5*^y5-ugd>)4lOGDLnKY!gGS`NcYU3B<n#ji<;iS1Ti{{r3p zW=i%h5gAdP2rhV&c4fLSf!-y`=fjmfx`@UW0EQ#q2p-mX1_aoQtd`GterNRT2*^BC zIQWEha9wjJt{V1uOIbjiiJhA9$dJRDIAV;6;U4qOOlmCe80EEL8i!B&w(ba*-}ANW z3}>-QoH0qat|G`*8*@bRsCBmB@W=ic2DY!Sup@@{8dICqKML>naP1(3{e%qNI!M8z zH2AAWZN(ad2pjQUA%YsxsYlk2zst~h04gMUwY#QO9Es&$yzMfUeemXp#OqUQjU17i zzyF$&EkWN_kY4Fuwp2gGq$#UmNZ`Uvd9Vu4sQBU^yC1-DQ(6Pl*%=Sx4SHYPH}I~n zSM{ZD2)f*ik@zj)G0J(YYjSO5?~LCguF%IvmphrIm|C80o~t$4of9VUPy8h`aDpt2 z<UmO2O;Fe71XEfa$7V_vC2*En9@_v__)AUYgyK(w6#h0|Qy%-yVmMvofWHA&D^OGu zonymJw<ysBv`j2QAys1Z6gH1jUFjbbFFSvapDOv1HvRXFQyR37bWKuDlPlUE)fuql z2jayFgRE@cyiZe});GtGj)c+Qi2xR$rpJ4;O4WTFh~J|&%bSNLYCwlKTyhq}E$KhM z>3jJvSJr~&2>t;NDDnI&Eb-4UfKLLiq_d4~h+ChL@yotl8^Gn^(fruiuw&6SUI1nt zTl)9%3-E6_3m0x0>qI$}901yR0GSOsbg{6GgE#-px_)Ds4E4Q9Bx2o6znSIl%}H-g z)RO`>C&JkPNO!Jvn4#*N0;+|z2Cxm<<*CiXU;k|oub64>W@LiIg|Z*49}vX9f1kR{ zCrLS#ds6n#NR7WeA4`^Jy8B}eC_EVAqMPeUo2=_sOdj#*--Cbq{#fK|1nK+mh3-c8 z?Ha2WY(htowf~G<BnaPn1aR@L;#jfb!uB)NyL4E3+8y#oydmgsLl%w>%b3RemqqL} zgZby1U{3!&Bk9-wzT#zhG9|wWDu_1J&3OjCbS|-GI9vGQZ}mNA?*YsG*P26a`j^2x zf1g4EK=?ZZqRr~w*CBsHv&OP|s&^x)eg>Ej&+`a@yPodmGgQJFR0QUC-}#3UJ@#+- z&{PloXWIT6$G@+HQhmmOJ4Bp(ZeN|TDopw{Quvnu@3#|<&Kk^RZp=G*nBQ?5oK~^% zMXpNbuZ0!;At`aty8$uCgVPG25YH>HW5gdQhnhe0tQYb>6J9dA*eL#ut_wI9Mc>9Z zYaeD>)))S-9oRfzd(%T{646XFsQ=LS`JY!u6a1Yuazf#sZwbq(JC5`G&Z}K{WYNiN zf*jv%$}=xMVE9P_(|mrc^%7_k9?~!sj6nRIbDPM`Y9ik!e0r>df9otpK<xw&FN<*x z1m^fSrjg|JKezbrH~;T!|NDm*ewKRpDFBG2&ZvU?w__Ticc&a@s60Wy=Yb*ym<G<c zIkD>VKacCL3IDe%IZJ{n_fydf2-Ao@K-f5<A9w<^2p`%VU?5Hb$GY`UwlwrbMCq&l zc<6t-#6O<0Fd2k*sRuI4;p)dXHYf6@sa5q*$uABwUNkT#90dqC0V|@f2eKCM$W60w z;9F_-!)7o%X*~ZwL;5d6Y%`_7PDVHj{p}O%oWUe3p|}vHr|+BvRT|j?ok9vkc;zgH zL(NhQWXaU4a24c#rdQI32Ka7qAoYZ%t@_u8{>zpBnT~1#aN!RSfNlDgdL_kjH-Hp* z8Y}*YS01*}SklOfU8mU}XTcI3U0}6V|C;&#HIqbfkmbnC=Hb*`TI@P(&xaWs{{{)r zX`KT2onTI6u)^kFH2i0>{@ZB2QFsuI^bdeqNgWAjUsK>Y!-NGJ<Cze3%>OV6${R_S z0kJNoWuSEN|9Rp6H5g|=9m>cONcJQ@@uu9h1R%J2<yAJoBC~>RoayyfhWR-T{e2=e zvs70B*v1fLLI8p6O}5)8{D@Z_uQr4iy+QAfX4MdX&L8XzJk}qzNJsg~Wh^;y<N-y^ zuE3%f4m#r#A*R>Mto)r<Ks&!|(Ukm7%buJqQpk|Vc*ay`d4%>;{YEyv60Aup&){y` zuQSr9!Jyl6p0>|Zy`_GzUJ0AZm%C{%Y7lRs-JW#g?Ye)|VFy2%7C*LB)9HH#&#USK zfk*z=2?I!(NK%n1z>y>0wPeCZ9W+A2!6<fw<v}~p|8N56e4YAhUR8}yaiH#SYqAy) z_M%<R|A0rAVu2ez1RhZ3+Lsp@c;%r*$!z^`SjJd|!Z3g?&Tq{t)bqOf&E!04pYr8M ze0BHc!P7?Eb+vuI2HDpn`mkZ=W&6t|SI&dowD|PyTF(Kk^q(_-lxvyqPcUKumE7rM zFZ|HOJg81<bL9=2tWNBEF;ephAo-dW{az-5L;k;cVOt&myzGW-SaA;wAm$zG0NfKm zg~o9sd`PeVr)>-js@s0_PgjTYIS>{trbnWL3^jAd+`1_OHO@i+W<IPtx0{{+IefB2 z;^UcSXP|>UgWOiG;yz3LP(M$RCxO8FXSyms^Rq_|=kvW_LYxe~^er+<g)0j~qQ58G z&0ziyS78D2y3y;-!1TI)z+YsO`@3rCH$wA?)Z`ENS~!*w0r{*wy0>`<=+x((*yNk+ zzcz6fxLfwhD*msYU7h3kZ(o1nW3oJ2g=$OJIfB|X#;?C|Zng)ng?^cq3REP@f~Kp* zOwby61%Lkq;LQKwC?3F;ao6`Cwa)JEg9qMKPf}n9fQ~Q2o!$*_4ccX*A_#ly?p3K* zTSGrPM7#9`oZt$xVgIP=dHFBGKjDe_m;O84d{bb-idQV3!HP541ww&ImjY>|0Pv#5 z!SWXjduOPPUuTuN*Vq3_z@V8yI3O+&57+?SA8;%WuzTL%v|_4u>^09IH(VGxOesw{ zldcD#nqJJtK$~K@nDD)Yflx*A)^2@ojF#EH>3}8NN3VLUy}X!ZTat2}{@C`~+g!gQ zrTZl}RU>z*blj>Vuq?GeMqPF6N_qvMSjuo|f#>mNskYC8ZL()e8?gpoWFGZ~gt|m- zi0fTa`?QgLt{CAX#oZS;%&9!a^;^=4=;fwv=Yj*zE%M*J&FA1FOS2CYQ@sm{Ulyu4 z+>7$kDC^{xCq~3gkN1ohTHgTV=#w!0VuY8I#<|yHqQP|!5|St31wNm_>MhjK0bztd z5V$x?Ae`TvqE?~)Yb_N2L#L(TXs-aRE$d0#x*j0{^fho)KI*_5E3AcWIrVusuEbzU zDfe04UCT%)F5zh6Cxhk1OGUuw8rN&Y;@DI3Bn#cAmvlrAUX3G+ic<@{QzE!)+RP>( zVJf};o8=SvcwTWI*KAY&i334+-Sb(@L}N+F@`pDEtUjc2+NZbc0*_ON5#;inCj0|3 zml#U;M{Cs49x7yH>&tTQ@b{WR_tptGMV{g^7Bl5-!#lpV6B;$O;9FRpE&m&L2yg)( zI^UhdpQ$=f{7`WUpltm&D7}#aEDym`z^~B1i;vu2ecnsClAw_6PwZF$)M<pz*35Gt zH4oig>Z>jAwr(Ub1Nvq3Z;*Aa09)5_)A!Y7kZmJSdSpv;c7q|3keP4M6gH4#j+h$* z7KkNR`|-N=F16Z@lbrcsSHg$77Wr4weSp(0lFZf>~?3G*i;f%>+-anwNI3E=K|f zVU)U-@4bJS>IKRZmf$zgPvyF$ETm4OpC;`*b*}Kd3?)A+UD<s>6J39<1q*-F<B>PF z^wM;h7ijrPkqv_mt^t6s)%-!Zp!ITMLK!I3$}?ijG9e>LV|8#L)5(3QJ;7uUtCH<r z@4kFf+NX}kL>c?46LrZwP1!Qid^s8-xs30&Sm)wfn~cx7vJZJU4ai^frb~atRF`W- z5`0pI=6~h5V>Ydf&ZOGwddV@;oy8T}R3LbuTJ4=L&1Jjkgd}SdzPl?Pz0(_SeC6&^ zWDpQ5`50&!*9Fk{4d4B5USJWmBuljri|~mK(2&aLjhdD|LFJ4}S*hArX^)zJW-@iz zRIZ&LPpuvltmuNbNb(v`$scbCgZ0Th<!y?Z<>u5Ww$OKh{?3WRs%*m~-kPS&>~?$< zaIl8OYy_qEU2p~V+NkMr$-(lqSl_F%GqqR0-pD@;SOr8<AwB-`=>T)nuzXVAKB@w` z7JESM#_T%(TE8X_*50o^SWUNHO`}<}!g<>B{Ne5u<ZDaH#RF;82dTq8NnrqS(1-5b zDsNk{q5ASsM+&eccKBjJ{JO!}WBL`fmLBRB&tcDK=qNew#0=;0znij)(9cw_e4F`E zy-GJ;e`+lU|1P}haIviRq-ZRr2<uUk5gpxxE7sZ9DboyS^j^cRZG#ejPx{?*y2Wxu zD+rv){WgDN^ucP=<h9Z9a7pr%Uk<!{iYL-ryl7JG9$oz|pxDq!&N+EwPJ*y8e7(!~ z-bJ|Y(a-7{Enly`hS#G=JOZ;{p(9Cd^J`-Mzkm^-GK6n=H9`%CF$%y&jt5|;cPN~} z(%Yt@IYIuL?0-maXy8Bx4*-kj5Oqw;Ku_G2G|OF@o#+3oRsh>rWG5@h2asGCO$d3k z%J_)pu3$_wuPOx4YIGfVURaN$`ZTWY72czAZ!$h)QXCJ2$XK@Dsy%Ej3jos$Po!SM z@GH`PSURRz*$HxJr|}HxiCtf`pY6-3=R(bU&ty#Cw-RUyS^|@}0D(G1EY~||18s_6 z{R#D;kuK&^Fk#f2-CKf<LxW)_)l25qVynV>#QQE*$L0KU=C=WkZ`BOH2$8+hmx)_h zkGOSF1IGSPTdXTuuGDJl37CD!ZS^>`KqM{Cz53qLrBie0%-6J4H1e_`A44*>eT|vj zw%$E#>6M;bh?nDwO(_^_;Tigt55EqrG@D6ve|1=j+Xs;JQ<;j#h}xsInG!#Fk~&3X zquNh}=JI5bikj~4F2^0Z@6JQk4T#H)H)|^5__=qg-1zJ+CIed(n<jn)c;T{G+QxRg zSO|VZPhaC>lF{15`nF$}*`V_jU7*vocYQcI!U4tTAY<!><t<{_HEGq0seiD$?A<^L zZNfpkcOKP^EZEN|sa=-poap;pjvg79Ks%$F<uB10@uVjGXu%4^Vb3Q(|I~=|wz?ik zo=x>pZh-FUd%yTnps+hrgDwC^VeJNLT|%@ys9$mv-2w5Bf|L4ogE}p*!|Sv{YX^dc zKKk#Sma3>8K_-u|9$stb>)x(NT>^=Se!>=2_5~BC-Z~c>bnmb2xjg+)Xx_S9eziA@ z036%`@^XGWOap$u-p{S;-JLwxGs0j>BRN0hZI4vUNh<3JSelssxwrQsk<F*DwsLH% z;Ouh?{i{A+kJ0eM<2zJi17n2p`%E30!`gzQr6{`p8e5Ol1N%La=}l0jW<?0FxBUbx z@6JGT1-ASTsaLZCeFhQovShNJl$=lW0s76rG)LJ1_*VD~#&Vie$%zoL$z=OZ|10+B zWPOsQl4}Tq-a3fvX@BzLQH*FP>*Hxk;hiA5ehQr9dQRx0Gpx}|2+l3dDyYWB<Bg-& z?l}Jq^JJ6qyhP}5ihlX7-=%ql9>sGWr3QtJ)~e)M(o97z7e;@}?B34owDS#HRi%{M z#&u&1OU(qsq!sICq2?-Zwr67bDz)8+@v^r0EeC>wyY^_0@vk<9i1m;PkxKqlY1h?1 z!5PA}5iQ4~!U=w_vR*g~;{*_QI2%cEl26}C8h!0Due~!`;+&u8rl(gNiD$)k%DEo@ zE)_OF++xAM{Q+&=Uzo#d#0V<vCgwiUmaVO|dLiRE8f~+VYVharUH9hQk&`g1`Qftd z(>-JDdlz<_Tw`&32rKa=n8>c@eI`FJoKlFvTC(%E{(zyPvZp;s<GRB4Cw<+NN4*?0 zws%+GEJ+Vg(k~UL<)9zLtX0ik-5I1pNEdGaYVCc#kqUK6sRcfs8K398wdC#<wo~RS z*>C*T*(fk4uK6rsP$G;)91`ntF%`~dP$K5c-p|U^?{SudIe4D9^q4^e2gZU4@YdP& zCD%b~6pwJ6qlIHF2lz`ikzYpP@v@0nIDQ2ht?cJhM?FFTCwQAr9Ly_`_D6Q6mTabG ze0p&%J1xhbKkqlR4n|6-cJf80wNDP+l}~t=KMf^!at0ILXRx$;o3GauDNuKG;=6<y z!553?yu4+D_~|E?UH0}>&@j|H)ChcSsn%v?Nxyx9>uI#yZ(K6vCLF{#qz=)@{#gFS zqE$!K%zwA>4T(R4q5x(mP@L{4a4gq6#X(+xaM1LGLKi1QT?4_s_1pSVc@}P{KQf;g z+pNO*g<Lh%&8m(i_G{;ByD1QJLn^eJ-+c6{+3<%r?fi;%;HjRjpjx1<h5LE*^5!u7 z%#J6$q%^`4o=d|UV_&OPVA}731E;Lr2fErhRHaNM!z{+VCB969q{`1c^!HpQo^tHy zozF?uu015kk;>Qj4$WWeDBeP-@`K`$T1=i`B-^lrfZ0H2v}159d1}TRhs1T8srws( z{GE;Mo%F`4{PRcOSsl|>+dL`p**sh!2H`Zn+@z)X=SK}B2~2;-ZaT~l{TmQ%p7MGD zq9_tmU@ClbR2wzVNPK1Kmaj}2;W~nKS!fI7zX7}fi}0Dk!BA(9rV`C{2`yZpd_Vsy zSgzX_61MS6_V5jiPE^8)ABBR?y5CI7?HOGvFwwS+`&fC#M>wlWPA>0KvgJy?`}DpE zSxLg*^|sg1`p1vD;mU$0x>fR9pfh-r129()x5O<tZ$Ig0XU{DIm?jPe3EFL*FquW3 zsb$hmy|sOlrY6M{icZUa^6H2RSaocli6J^Pr?;x;>J9t%dM`Aw>)j2|Sd<vMdV|Bt zr=catpx$OuDj^(Q++ckWq$J{N@ExY&GkYH@?=_24{N-_>=T37W%UDgeC-)~g^UkVo z_wxHl`LphP%Sq2fJUZv7&lzgn>%|ZR=<-;P&Yx9Cf9oKzuL|<<=<rVI@oyCKq%Yt| ziw~kIE1vRJRXN)Sf!~63R+3bFha?dM>~hP6Nr#we11VSf`t^nS%o;&#d9Cx2*JO1@ z@=d?({(|&YV{{CM$n@Q?Im}eu7mI0I6k`o4><iEHQ`4S)QB>ZsiuCdYb-V|`Bw4X` zrsQ*tw}9@<(8F4~-M$9v?NZAgJMz(#Jc2;{s6RfOIGx>o6g!TKbwccUwL^R&hku-G z1$mwH=N%pTOoT5H!x}jUj<Bd3r5A5s8qKkqqb~T&Y;fMym@;%L?P}6HT(s#tE<9}H z|JO`<VF;9iz!yA4qvtL<3~vY3YV^8-bv|ezwF_&4qIj_aC!2MXb6&z}xMtFiq4nLZ zLmlhOSP~vVQ9{%ezx$ThGI$}g=M;*~eiVjc>G+dYWmisxvBoJ647=Ow$22M%8X+^@ zm5^#me`}vLFtaRq<v!anbBhXd5{^(nOG6^b(%pHxVMAnhOaEKu7?gekRW=fjHd5v) zzLRKj0nYWDj1Ql~{6J(yxVK>VGfJdtV3W6GV+*mF3Hsbc=I<Ey!wMnU!;u7s1z`cK z0s;pXki`0lVO&mfym+|?pU^mC;eD}Rt3JJDo-ZbbM{!k4uUny<`p#=SpNqW<6o})m z=c=;O%fH+`n0Ai|%_<>JPlGY}E}a2A?!%e~uE1_9*(R*#Pwmm<W!XsImGJpSg`bD- zzpxZ=+O}FsDX3qVe4gQWfzviRs)Z!PW02Tth)v}umXH>wjY^sd*m3y&Fv^d1$fS|m zR=BlrljXtw!|kOKq4r`^frR-pciO=|4S$9KQSf={%)xLTl*F$DyB)uPQb^{3lqFfb zG9?zPD^S|<)(Kq~>Qu0wDDsiK`CnT|l77_=h~I}uBzcz(>Q^&WNkL9Gs;>R({|`Uo z?GAYAV8<dv7-GG;e5-n<nv@4aN$@EkxEXd<&SOKeu%s>DnV1mwt-~i02vtNFUY8cm z)Cy%}SHIWH#`uL15{E;Cr?x<ww+!E6#S=Ra&OKQ}-}C7-T~iVrg)65`D%>``3==N> zvYEFp?J=Y!wKRSX&C~xa`6jEvf4iU1?xju3p>i^W{vv{25*|07#{}gX4EgUZbUjQs z+;v;uf$we|G|xyUl){P=VfyuYzNX4lxM)&x>}oJkeHyZhweR+=VybrdV-7*fkrSiv zthM=5#tM7WB6Ml|g7B&9rn`=bNdY*`!?X94dEo9D!NM+NGssH|NS`}<+5Id?j`Mje zm$Ccg3c>gtDmzve7vr@3>oD2+tqFD2P$VSV(*NjD$-!Pzc^b5(vqxoki!SNX7d~wH zly_&K_{TaO-HIxN%KoGhbm0DOo!!UXrixF5B?{N4fd)#F1sgmH?|B0ATab%UCT+bU zNt0_98h;%pBWxYd@7dkk8$KAX@>ED5@2PM3j?cK~;%CBb4P!iY)^5YiZ|>V?Vrtn7 z#ZT;>*!V*?r_v|}>I-6){0g`aPF6<x+q`5UgbpuT@t+i3RPv)8kbO5*47!v=z-*Kk zYM&jOvqF{Yu*Xk{rco5ZD*JF|bgja+NupxLk;nV>N)fh`YWZZdqx}z5#22&a*8jDN z2y>85@|!C?A@kIjRoL++#{+z-?Y!4<HOY<}3oV>bLPRm_)NlEUrd3|T4y=&m=csyW zb;)-rzA^|MhMlc2yfWH^6T>=dLW|O$arYOF#D~qR<6+r-Ya7I#q~~s{8|mL*<o<$6 zE#H?8HKYUR(u67e46CSD7}4ZO>M_;O0%@BiPo8$mqI8zxmHnpy(8$SL&T&DZ@8u72 zSrX>H8vGzo?BJ#MPq<Yr<T$g`r-QFs`oWI^!+pBubFc@c@!|7%wa$)=ZLLu4GAGqv zHJecVK0PPDGakAoHNI|}Ap33IsKs?)I1n2`U}1ZSczz6~Gd_Wsv5^%ayk&-M?vI3Y zRXG-dPPVbZgq4#EmO9?3?X73Fp~>#c9AA>24FABU^E~b6QGVS5WduT!u*SUMcVb^4 z^YwWXR~%D23-M|Ly;ZN$)}Sl5cSdXxA)$CfX7pAGC4*Do*+b*WuCFJ)3U#SQb^gc4 z-}<rX^Owt(ev2X?w~msdajuC#Tp4S@;T<*c%QHsF*1XP8A@SWuuTdXc%Q<S3&$=1O zce$z``eUAk-NH+9w8Z~ui37<V8uQJ`NYvX=ERL{r4bER9u>2{hq*WwU0te0F+RWHG zG<d&1l|IK)K9%Aue|DL0S02{A#o_ZGl&3LoB9-xF%~lt}5YJL8`LF}>ykZD$cc(e8 zU>JgFXD3M0uoA%c+yGR#r%YNhOyxNrR^W6q=@5g*J83cOV8U@^$m-!o<G13)f3|FO zBoi;a=5*_a9nXY3&8)L5*5jPugp`B`#$~mYXPIrS66!2<HV!umKF683`t4@~w|vBY zNkZFQM-b%(CRdQSQLJ6lgy*X$Lz=D@=nLMe-Eq$LN!1kDbB`=L(PF}5<^8b5it-pj zs&m4Vm)fz2qrJ^R%GIQt!LYZCi-)au-ygv_skKL~-TlvjgW;mIRS*y%3aZ`CuF$dW zuz3q;k9a#Y13|H2dIs>p5H;Htf-o~!5_!DxgXIIOg>tfq0{gOJz^D+uUm+4-#Z;a< z6Mo`8G;x@gmM7a#iW|V_uyY_XK68yHJ?`=23v&+Ju&WmHnZg$u$-56c>Vlzg^Bs<a z)p;+c_r?RHupg9T*p${}JX`{xucqwtW69om;doDff4>{Mt03rPQ#!t84Z6G(q;o>( ze+<Hr(uStr($~+pyEkvUXFfSOf!TSqL+=)wm?_|XCNsu4TTG4~)IJ5_AWzSk*>)1# zGf0zl#|KRiQ?x4|XBy#|!mCBgap&6>Aed#6qW66LOilV~%k7#+cg+2$3a!kRmaZV& ziz`E0hf6bZ6xx#_=Kt71?}%yma1tuJR>6D9OCF(G^aXF{qt%Gf2I&}9WN(2S)0#*| zTOjUU>n4(enh1g-i4e0%t@7#paOY#8r722PXP(N9Md>|5OjDh%zfQ$?!bHpL%P|Ju z#OUmkTvoF5mngQ_(|(Rq<HCMPFh5sCgjn3qKyt7ckwZK4pb5%2#aX#40*#lD9_TlD zQBY6bXit6n=l3!e(p_b6PRy5Zd!FngpOoX=qtT=FivNl)yzXe+opWb93N5V2g)R3x z77?1&o=&FIQ$dJH*-iQ>KLI;0mh_-S;6#%|6nQqO1vj7ZweW0SZx&%`F{ztLWy@@K zqhTTPB5R|vzX@(YM+O&@HSZotpiCSt4feX{e;#QJMr)sFD>zmwqhZ^J>-zg+`#e~8 zFu`^B43CMJ#V*DT3{J}0GDGSN^l_r&8#9p)aG`&IaCzEu!<-XBu1c!=K_zGsuT>R4 zv@KITJU9c@PO0^2v+vZvZGjH_atY9RpX6@J`;CFdr7MG!*F9ITj?7P{1tnDyLh;O! zL~TDMTc?$BG^O=3Zo0U?9XhA<uiwsjDQtnp;Tg@Oq}X+9ZmdQRI0^vf07Mk9R!_<x zvS}xqNP$%_3y%%VXS@&|ku90y=I(=>!vr;tne%A9(-pNSg~ILX#l!KeBGj7=xmT5J z5iGi4cS6uLNR}s1EtsBYpG{Q{i=?l$NtKPgy|e(9D?<YA*Tul4T~0_L0DuWW0d}u^ z?)6kcJa1k3^h4K=mfG>$lULJZ%jDV%TAdmZksqT{`R4~bIg(oQ0GxYGN^Y0M`WwHm zD5Xmt{)(T++%H!_^V7pqsU-B>x>}~F#MfgTg@i8Zj&gF%a>~ZpEi>CHg6sE^()n(N zlLgilU(iW2#94@l9CbWSHdu&H^{jIkurKYOmPd$PRJ{XP8~=<q$vmQ-RK0ex?{hbW zO`g2oojFi-yzgYXb=bQQ$zqag?(xYh2ZoxzDgjcox8OEp!oJ!4l(Kf?*YKR!{>4Ja zX=#{cuXTard3}XzzpAmTS)b6y@5Png!~M6dHkI6idr<Rt3!{XVl@a*tK6lQDtaYwd zcT#M{)7z7Zhej)K>e|BS4(oK)wY=r|m6kXk{}e@%nL^41q}Mah|M;8VU&rETB^^Af zDuIh4xKlhWE@MS_7D+Bn0ssgnMd9t9Itn6e?`|12k$wcI49rnU0mtSW6Qn+vlh1~i z3IdM>V_W{>Fgy$&)@Pz$*lw%skM;IRCnL4zF|R{<4kcK#fpmjhorYL*rNEfV1?g$k zgN+4hf2$_8!ThL4xzuk=E8cP}xjOnYp7kZ`HmjP+ITV)c`~}Z!JCAX?3UilP6FqJB z$A~aOCPU79J-hdHsOn()kebJWd#c$JZ!n12T3`8Gnutu%wty4XzpdaxV(?edQ^hE$ z>Tct*wiIS05Sayp;|lK->shuUVt#Al9(g{A!iR}Nx^cO3N2ZY1sejz7u9!z{=~$vH zrO`J%3tJ3RZnGtXts;+B`fWg};0yZhf`76o3dvEfL=Jp+x#0yft`#m7$9YTz`!aQi zoSFOxh}tI;(t2|eFzZ%ZxNO3c=?oPeo-MOiJHbym@$JYeXs-iH=w+<CY*ga*FvMxo z=pE0)W9+fRrrA44aFD|bkY%|w{JrPqR0jIhII}4aA9Qmmx>@)%f$X!>61cE9>MZ2* zY)yt}UPXP|JS_JS|B-t-bkjh_f3c*Y)l5bvb@D9;TU&u!o3I-0BZQuDOlhlYwa*Af zY1AOI6hs$Sh+nb7mWD*$QI+DFU>N&<oH$Jb*j@jH+w8)k+X!5$r^N*<66tw7x$K3P zy#uVmn|7D65PENQ5R!Gd2`U*TANDjUV9={i_2}afgN-}_`ODqvhKJ~dEIgC{>#Qmy zTE%arT%ntaTdCT@bZP{5NKU83^VZfn-?}aK9WQtQ>=c0LOHawg)p@&vKw=gAF8s$b z_3pGXBHQw$r6yTx^Jp83>!NIjo7oKRzdrI*7toGd${rwZaRu!FLDnX+5h)n?ic(jn zh(YbOJ+>NZeQa0?cyU)!U420X&N|I~j?DlqYMycO2R$uSXL+Kq!$hB2XHgNTW{KVI zhG;1o!iL@4hFS-x9m*7=Y0_^IkEA^lid?nN`*<(kJ6;xLAJr_A4K@j`GCUmosq(aP z2R;`I%@ciPezD)VRzON6Aq_bPHJsOyt2P|xs67qP?5OPWqqnQOc-MIh!ZLLomHWPM z$Uqe9_YBNkg>Z}WG~F^Io>?kBX)RnBGZfK2jJymi!j>5KLd?x&k^nkkFSVxl5%C=B z7`K3y!!^+`yf?3$bRnAB5ib(W2r>BXwAg#`^yKCXxA`!BQ!q!>MwzCCg6IlKY!`8` zlY@!d0mnH$y;OC~6cs$BgYtv_(Hcg3+opOBRssQp#j3@4(hSZgrRToo$wte!>C*N3 ziUpDYDgoCp+yH&C!|%D-@570XX~6C5<}C^mUo}DhMffJtK1`*oq~->~@FR52YYm2A zS$?xM@n(PGCPIhFZ5)PBrBq8G;*mZoyx0)KN{Sdl?DQ=~vFCP2nAg#rNS%3%Fl*gm zr@pK<h_KGs4ji#LpcQ8yW|*!gaMH9+|KQsTX~*@RGs2?wi<sIk3c%9q`Z8TB9X?I< z?7rm=Kg^A-BXKYM8BA_3<~h)I>vKD(EhQ$kWq$o}k`<cwyz*#Mp3~864#TqN-1U^* z!cUUA<gcT}j-D>H6HODhsFT4^0d#0T`W@1Bg4QP|6&Ri#7~IjQLnc`0@AbLu6;LyD zD*=gX3e{!P%Y%3HTNk2E3dqbjCt=b0`+qZu4>N%@5Aj}|#sFm>j3)|6D{w7io+seu zb91R&ro%UUbciyX7$Dl=-7)F6{xLL6OdWL$LZgII9SdCc@++5;Th;Ru<c136j+BYD z8)G1H-#tzVw4c{RLC`RXDo~f;sDcBG8FJ&k<mE%e9VYv+gTi*g%3=dF9c>HbFW<_@ zn}0)d?NgJbyGU@mxzpa-Zz1nZaVfR@U}x6ZF`3Q62Oz^!TF!`Gw`v48yn4`O&=Cmo z_Nt-p#%G|<3K(&uLR=hz%{*DGqL9z5G`q{1oRe9;{v-LR%E57oSL&*A-<k9K)!wHs zAW6k#PeAdO98>gVHEQVm<fxtmqA8JW-w0}WTP|j^>gJ=98c_t{%D5D)h5+y}WtH!m zkDqemTP7ENE#%?sBCHOg7P?wP9`S29%8$T(v#Gq^$N|FpRj(_D3fiXANAn*S2o2C& z%0LzV9uDR$@oO1uThUl?770TUOvj~n5mSy8SC(rYM5Wgn@ZC#Cuk6f}=Mi5-RiY?A zw3)}IzCA+{vToF%cJ>F|(;V5oPx{F)r_JNt{``z6`Yqo7*sYqt92LMXq%qRdf(sjh zy;~WIPbBpe&SM4!z0^Tix0%ZV*izaWFOdJzIqb=x6hgJVnbexORlPGo8iO6DT}SxK zz`nsJl3|EXmLKt+?2c&jo8}j>at(PmU#UwM`l-4tf;m-G500ZhXC{4;Fd52c(bCou z(^~O;Tj;Fn>xeWK^arxUOY@WayWgo-$X*gBO9?DLs8Jc@X4YGl+Rwx-czkOC&9)oN z%$6a?#B%hr)5jD-JFt&T0TL02`?Wpw$HQ7_{5nf-vfgs_-MNR3ZQh?q`eE3GOM0z+ zvbq$A_4{QbY(_p>KJ5;^NF{IAc|)fLFRU5*W1M~@IEnUpje7cd4yP0sl0Jmbc`4V_ z&bN8Uj-q<e`V?=89rxuey{|7%8$=9JeyH(moAd*@Ud|m~0;HFrMuphWNlbo+A~lnF z-));o7du6poikRj7WGI*d%1v@g_)ZD!BgWLj<N$q)RpPap`HU1AJTa4yMg&?w`*BE zy${L0%VUG{1+DL#HmbC6WP;bQbz!o?&H<MRIc4JL2(z$1qckkcI1W1=FtkvJ3PeFu z(Qx}s*PSh!laDn^%OAdOnOzW$Vn;oIt4tQ9L!P3UkDLY0pt3uW0tzpTaBcvg_EGoN z>6Z>Y;m)=yDxkfjDTSzD1olvA8HhZbdixTI0vrfiaD3IuJ#6E*202%1`23Qxep`*| zuNENJ>1E!X1aV4`LgzQM_G;e-sseY2aE+a+{hcB&^Od(@I?PeF#{@mMVfXCi{N%vx zn3bd})81CeO7?2FDtVd1pK~LOlQe0R+&c(lo&Vs$qf6s3R2{bmFTB<FWPhSc3E#E= zIcS<u>bKql4)*zp-$`v8XR9<>77miTJIpcF+LP3(DWHKCsZk+&22649Tw1B|Ygk?U zXgkP>{WnYI#)%E@xeEkX%)?vNo7JR0uwzATEb>kS{#b1MK@-Ur!hZsDl7(-a#RjMN z01LM)EtuzT{B2>hvg2h363B_b$K{U?xSvtaA3r#Y<$8GG8dncjrQ@(@d^5CgHMPzj z^ErZ5lr=ugf;CEn$a{yg{SA=kh~|2If%fl?&aEPggX`$RLV4U?YWwF`jJM$hKhSS_ z=9+~&ZiTH-j(6+O$x?em(<to^3%^66KN1WSTS<3Z3jIA}s8c(zm4lvVx5f1Ah02BV z<N}e;ItZ@MZ;!dU`INjn(k$h-Jo(+jAi;_<IVdnfp&z_>`t8LF9n0Ut*Tqa${O`I` ztY)p#zSj9s9+5zz+nKgMlao39s_knp!fzKQ`Frh7q~T&-$Nwl*p{#4zMq~XGMikRp z@4s3fXps9MH^90^eQff`l-`4H{M*Fd(s#@~LGxIrKie}(63VUn<d1AI!G@Hiwj=U1 zTBq<GfaX%!in)puvL!mP)#C`*GXR;c+e%xr%u7iFNG`CX_Xb(I1YbO!B8_f0ooq{A z8FSkPn>V7-N^T$>T(nrvwAcF{EqMa<`A-mK<(tjl-2W$r$+a|m*IRMFdC0;?<E3KU zytn_R;xhT03Oj2NHG?Oqg|q{An*7bv9jWw|tz`zfDp%0@aGYPhrmlJ7^oxsF5htxg z2(W)mB5V!cIjM|6=TC!vM^E$-R;SXxLHo*I%?wxCcHy#l4DOIEcecniD`R_00t(#_ zTi0d-CT%+bzG{ubB`hb7*poqoP48I&TSvI0+3!ETCslzOrWY>cbVE#SD>$a`<f)&y z`=gWu74G~Bv>a}{HAX{ld0z)TKVL~nrch2qm6SjHZ_F4DvnVf_Y=VZzuE%bHN=twx zAzK%32g0HpbpFZLIe<9ar!WvuWuh{2Y74~KYx)@<Gk{P3e|^1sAd~(7KVB(1OFGMR zKB=UfZKIHS=hVBR$T~<!3^Q|W#NCOK)ZJZ9Gp9RL4kcNejfyB`!?4)Fjkv}#t!pgj z?`wT-?)&}w<L58`>~+0fujlFUd_11l)(K4r5s#T1%m4+QUgXzj;G9(d9R6DP)h=P* z^OpcDJHY1tOqbt|^Zo$aaK=$6`vY8#De5i$svD)J%nN@XVz<jNLjM9MWiqVz9Jl(` ztMAAsD>3)V@XdKa?iv-{ZysG3{mUyrOmC%1aYOL3$U&cyMoJgW@!|>cDQliGr=5PW zhIv0JH>g1Jcu&E0_i-#{@ez}Py$J=J-_OwfuMM{kMm}^*+=2CT5Bv1ji~8d)T|M;+ z`?{nTXT9H%#_$|kCF$DHW6)k)onOaq3yxe{kd9*p5B?Q=@}%YVe(6>N&R*%r%Azw5 z^92}rM6bC^63;8QxuX!?2Y`{VSISpr)i^6ykJ1E%+atiQ>_L+&2pI7DC-SDJ;Wy03 z&Buoeu1#V|?;C#~@CN!_Ne)H&7q^d_`l=mYXZoy^Sb6IJE$dS2@DJ$r_<Ru=+c?mb z_ExDlf6?w$7QN6I!7Qd#@c&cjF+M<!7<_%4y#=@Wv@=<3s)=(R87JeG{dhHj<3DKW z^j|tUCxKtlZoJnr858bY?+>to^st_WCp@fUQSvlu^e_1n3qGYcr@4nK4c-=CaSc8# z*xu6L=8Jp4-2G_L1Qk~~LM7i_eg!`65G0kh<Say(js6jR#8(XwX(RYyeu-GKJvqW) zo4fbK7{>Pz6rakk{mVa<9^u!`&peF8Q%qBp<^_(*$lW;dAcW?7{dbVEyq=i0E14XC zPaPxE7o#c$d;E)`GYypMfivnI*ONaFrnJ0zQgb3o^EmsF!ks5Q#f5^YQI+}c`Gjov zdej%S|EvF!BWMGU)+^6CS;)Fy(n6kG80<ZI@;$Nzrb+j&nJ>}mg4Wanfni66PbZ^} z0r$=!TUw)wER-y1c;SZ^UEeKxSnZm6>4zWXpXnV8{voHDHilmrt{(f^HOV?ldnwu) z_9H3ukg2KfoYyUxQkFD$4226HjQ`q_ed~#@qq0og6fIY_3F*0j>@Z81_cxwCUW1I) z4&}(l!tBsR=mEf6!zyY^mE7k7g6o|l$1=S^&iW}t<agn6m`2j&Mj4Lo+Lx9~$S@wx zeR8oAQeK&OX8NC8$3*-oe^)2z3tUN{cRlynErGG6X;QDJ|3Kj02VZ$|sJ_dy)WY4A zCV8!vb~JME*@KTBzj5zs+VMW8T%Vx-&VL*@V~_pLF{L8`<IPQK(VFSRe-~|H&r*P1 z{BBKb>3%d7eIVmfo9^FRzZix#uo@U^OylNrE%lT@wqaKhYQnL_O!kd%>~hs*?#&QX z1C|!MntOzcDT;&jyt{_S#qSAotPAe7JoPNt)nfjs3X$oe&@^}N{FmG_DT6J4K`9Sd zdwl|nf20vV4z|<wW=a8k{C(w><zeqjUH3?LdZiu3AMyFkpFI&8fx?}6zNZ!Xs{3*a znbT>vWxkYkk$thmb+mG;&x4}Lu#K(62p@f)8>98i(Oa*^Jsu1{d$iS{0?Uuk9I0@> zA8BWAvaoP#+KDu)Tz8+!veOGf<Zq7xPSHXpjW;KJc05L&7>qDD`EmnesCgbi5lyr5 z)ImG_eF0~+x%>15x}8u51V4~R0C*i2PCL~~i-(61jvyAcgVO*b3Dm1G4b(gdCKfLJ z1u%b)gA+tujQ4#*St>FcONCIg<mi0BV5B6gmk$XZd~9`IyfqhV;oF(xdL7Vu<^n{Y z<1|D=pLzX(x;&qd>&ZGAd{AM=OYSk%OFN7m=Ei+&E^-1xAy_IP^7b$k!-m>xDkcPj zU%$raCDqg^s~>zR>6uiBY(8Go+r8CPkM<u<6uC-u2P#B(+3@wCq$Jsbo8DaTB$V&J zA9ktu@D;)bw9(DYjbEcUi)fRGG9g80lY*8dwf5m6;2Vs7{aHh31I)k}$LE#4K-4wd zbs8PDbPLVnI#LeA*K*I5oXYozgS94#yMTk?)({eV5e>D+zeK!jps!1M=R9&sPpn2} zcACps0i&FO!-bKN=R?wl;=eXn1#Uhw(Vdb!zdb4#zc=cA@!KwRYR!&fH<+EqB3&ef zbaiakP9Hoiv6vjI(Z2@67m7!#?q1+z*<EB)qPE7j@9|iu67`2|-%bwjAK*3GE8U{l zk0O44JstA>$LPl_qW*vQJg=01SFg+QeG!D={=dkt$3@8(K!f%1NKyHFui1Z_8Hf>| zYgM*#N&}p8S#czoc^Ip#uN`U#m+d3sw7C1mO~cVeps=l%3-LtC3AA%A7l?-g4EThc z^-YKX@e<zYPTeVBS)5`8djG&%!Hy+QfV7mzVqAEU9MQ6A0I(3hzt?fyOh`0v#3k=b zsCm6PrD~#E2l<>VTflchul%IWy^&KgIL1=+rLxn^oO|;L1rvP#(6@bWmCu78LIt}) zR!3ZS8b2!|?zZ46KYy?8w9_8g?$NS}i3;UFl8x*BKF(QYHF6)}?CN50A$a#Mt_Mpq zJ=KZ@&Cn+XOq8>XGJxc=RgHNBO*dBxjcJK#lq<a)MFRZy3NvQBxf2I3hSSQbky?Zk z&^3JFNdE>};!WhHT-d`xwyA7uBOmko@{8zoMmwvKu{7s7p*1RY0IkD~ai#OCkWV)9 zh;ZVlaPu^|Fk?mrSI)ZRT^67M4%`}~;~^06RczE6?#pAaV;58^Rlfy0+jl{&5X=Ka z<SZsCKQmhFjZR-Esr)}(cy~N3hH2A~dB%+BUOlcS*V5n)oIsF|ee?xmBP8)Tw6n+a zf!eT6Xe4??VW6fqH+L4(8*N~rjMzrg{Np|08G*aC3u@>Kn<lqs%&4CP2NFY`RUKXr zXUs77J8ZlEI9kuW70}zs5Bu$Y?bH*jF@Qdf=7xc{t+>ws0j|e=rbhNg>;3%Nq4yt< z25-XwX_RTs72Ij{9-8w_!n{Z^bV~K%)0h&F{Ugvt^I+h5z*M;uv>q_T23nazx>fjT zAcyr5Qp0hfGQbz(N||X>C=4uh=LlNQvlX=w@UW`!h~bC*!{LRrJ}eRNx1e*_N(1@$ zDuJ6`gZNCS(sQCpM5En;xoTtxtr;u>J4l3%v>-Wu*G;gb!kA`&vos>2lq{rE#r;I? z1s*}dE(gT$(=+HOR}^=jh~!?4JdMT%sw`jEIo#zdM_2ss#+=b4^8q1-W)--Wi|7k# zcF_3Oksdi~T}I3uxHVd)!<BL|B$ZBp(F4vm5`;Fu{<4Me$7vC*(0^MBb}Q|lU3D$t z#<`UOLb$(n$b<3g@+(x4>BF_;Rw2a*ClyFS+(D3vOV^@liAFz$Kvh>jT;MqjxHVi{ z&4B;qc4yID42ukBQ0@m<J83J^NMNiea34{e8ZINq7z8wTb|}WzW+sM^!~*u!l)O?Q z*nmz*2d4SB(f{pha*+1*1&-*1a4~d3l^oG}T>p2FCz?AXx@@L*8@{VA;Dw{QSOjfu z)Fd3`1Rh}=iPPqK(I~WZEO1h_#1P)U_Xa{DLR8;0{P=g3F|kHOaU%o|hs#Wf*a`V* z5&F_Ekg}VWkRO-;Y@)^lHu<j}py5?S{HK2(@^Tm0aGG-!vUNhvYN!nx4abpGyVL{0 z@6`ppWx(KiC@>A~g8m?I2O<q$6=wPpEvGmX;0ux{w1H=<_#Ffvle69<oCTnaL2wl^ zL(T#)UR^$x+8HixVZb(WH2r_ge;CbmOalw2!fC1D6OJr^7GCe$O>>*00BX>h`i&}> z5V%^U;b(>8uE>V755hD-e&GL@T#LKFt+c%$*#ZxY@2WycGF6;#!&;I+(xL)EI3-9t z5H2%|q@h*~gvf@04<%#y57HJ%jOFMm222N+V&E?NckGS$%Q}e-uBG<oD(vNa138W6 z#vm$%N<8d>CQ&U0Oh5$>O;lCt(k@1G-w=4<97SU|3P7^j=6=$r|FyqiEWF6Iv<5wZ zjt9S_02|9A%&2r7uBR*bdQIea6WLmBBnJbgJnUWRZq<m-Th+iq)E5o|zQKe4ziUm@ zAjK-1qb_+<`XN|zms_djd&CE{{vRP2D;I|Kv0jDah$;s)FjE3YP-2xVkWmY)p8>rI znCt)k-u$dW#+o2+G}j@my%^Vu`pH6E<ibuCK>)y7F~${*50OFqUnb0Lo;iM$Mc~@x z2O9iuz>VL9PaK1nf~`D9IC{-DkX%<dEx`-SXF$LZMj0Me$WsD0rVCQSw9)@H9B&^j z=47k58B!G&UvE$#4Hm&&tGM>F$gwK^xc9Amx12?XX_onc&I4wvPl>R5@V)Bd(5Vy5 zh%N`CO46I}pf3;mBP|BT?4<}N1_X2y!wYTD_k|4x!K}G@U&X#eiZ^=ThY;E73f!kK zP$fkv%>U)UtJ1@1XIcY08C|tQKM+p30$~A*<H0R}OtC@~h&GrjNvlEBVHyzHJ&OXJ z)hzz?Y2f~PDHhy(RZr^%2$ve<3!J7A2XA&1TGIG53T_GanJXRSgBUgDEf_Sl38l=) zj7$F$LaSbei?2QGFNFb^5Du~c)?@{FQykIsG>dc-xlkztR-rADoRE(})|0!x^bINQ zKFI1thW{1F88z~V$iXIP3(eG{b;7g1HcXqVo6GsssjBEzgqZL^?RuWt*RnhCMxIJ! zjd2%YmvINQrdT9U62Wk<@?aNK^05B_@TS_Kd!W}~J9U6w2L$7;PUwU+$V6JMbRW%Z z`d!#=rbsSC?mZKL8LXEeKjd)#<zCj4T@dg@VAqBw=$p!4amzUUox?AGgrhoG$o+5` z5br_w5B-p+s>6#eD4zg|?MUTCKtx5;&WLapk)T0{`=3SMBvm1lFns}{A`uKyEJ*IH z6MH^4L2kdU&AX4Kl%qkOA<82zyV9N272o=XihKXjp+TuWgFMPFqFR8AJNyJe6<r?K z0NnC&!b+|O2$j){g>w|A(E}m|-11DIx3Vy>B7nh++>!C`RQ@6ke3Y==z4c02sP|~s zHhqDI)c{(Xi^RVM?nlw)2IO$Tq~SQwI?sq`<-Uc>9n$~(d5{WPL18)uV?fH3sHWLe zB_$C|w1O-&UjkT=P6gu#7+d(Ks$mk~<sATGvUgHR=EMm!P2ia39D{Hi(UX;D+T!5# z9E_%6Bz7rx*DPiLS`!+AMrPF(;s3qFcmixEZS$fL0nZ)qj^T-pY6<tI=y5IGOzClO zeqhmJkPL-BBWQNlpS~m1e`ANk=maw&z%u7@IX*45L$WUD$TPv<g;EAnH1v(o-izGO zFWodbgq&i@rz3L)Ci^b^>~K%t6Xf@BoH0>GXo2!n<(O6Qupb~acoz9vI1U{tyCP$p zuvVTFO`tQZo>H*@+ySrdmXbD4${W{;Bc>OOrX8*EC=K-a<==_UX;vXA76!Lr*A5ow zvcP2??ScvqD@|w#JO=zCmn(Ip=gwqbB2rov!#$oF4^~DQCz$F@ua@D1``OI8z$?7Q zQF&5Pss#vL;S;16U`jtUeZFK@6`_d0)df)tTyPe-yKiVr0Rjuo<yx6Ro1wwF$E@M$ z)n;H2srixL)wb@|NCpcrxJ}UK@Ib(J#UUKeP6$giy$g4Rg1TcJ)fPdd9JQw7MB>XM zWAFM$KVDs)`XDMwP83H^FBeVw`7y3&>jJkxCr<lVNk|{S9s(y&B^e~MqFXQ#pd`Ro zYy&>d#YDNT;R>i&fa$P2c=WF4p)129=f&6mwU$eTWzg7v`<obFoK!WwG?$Z3F1oD8 zM>rlpwzt;Q;?{Hsku5y9H!cV4=|`Hz$5OWagTyPCbkhyf>tuKtOpvb>6S-PEc^lOt z{jMtDSeN=D+NzKom}c)OLhZ_kS{XVb%*R&@KA9&mSX%#gGYHZOhxPp#^zji%GxZ8d z)R~WXI30uA?H0l8ldZB~G2|~7b_)Rk6LB*?Q02$V>op9R{>m#4PO~Ddpn(sJuY<$S zevgVeXM&&Vv1iP%KGFnV<a#83!-SYHf~4iWB#;q2_<-CVH71IA5Bq0!LFMrYRfr1@ z4yZ<4-RP!sC8cukP5k&%KpL78-kr^T@F3C3Axzio;Z9Hb#$;oX-4Db~+_`AM^s(oD z%dH5noQ*v8CvCD+rW>U>v3Kim{Bt>50m5to?MLc$B-o=>2L1s9Y1&*2NR4_WtDXry zbwcSmTzsoTy3eeUX3CjOi8Aydj_9YEIdRx2Wb9qtSIMxB8h<ObjJDR?vg3QQ|AWFc zF-~U;7dtVi5kY;8*B?A^I&HMrp)G3cK=I_4;S23A2-TxcvVG!}cmL#U8qmEGIFQM! zrd`Y3l1BX@`%|PxT~#c7BZr54zFC@h!{yn>!dOuk8qam5QTqqHzhR6n2x!;3#p4<E zEh3Hi0j=!zPd%PtCjCOUu5r#~;gqqgPkT<RWyyRLrB+g9z&!7OtbFg|g9#D(AH)8L z@M<;m&U$}g)S*<caFFT%e>BY~S=7IJZ^OODoIm;<ax5K9@=6Xrj^7dB+UNGWNkK`l zqjAwk^&Hfr(ibHUANTJJ@bmLH=979U5XNt+*)4Q%@?>~1g^w-Mlbw9DL8XH9ayUSP z`uwo}gj{GsO|U}`RDyKQQvusDCZ<m@{B=R@&I|w;*VM<CX@|zdot}`qz5X^%*%+f; zB8z;NTYbYLeG`n&!J=4S23GqNwWkI3Z|riY?$y^@le@d!#3^UDXs^?0mfzZnaIbea z=GCa<ch)%6S3C-CHVYYIRQf2k5TV*kUgDi=xqF>()E{p@F0fflUBxm)S($oAamu}X zVstV4zK(CqwPz&~e>TOkW1Jqf5hS)Ru7!!m|9YJ$(zt7GG5>EDdb6-&XkTc1db6N3 zy7-Yxv)*m8U8&Eq!MhRKA59-b95cW70Kc~t_n_a*Pw;UFHJE-`^FKOAOLZRa+8%Jk z&;LJyV{KWDCJ#%WmUyO>lYO50JdW27!1<{i(>x+bvN+ZDx$)*B6XU^GC9fX$?+OU^ zOFiP@iKPjyBPT&${A*_CgT8<gB8DnDp}1!P(BO?U_j@{|gNZBR2+JgcUq#?Y7n-63 z(b(k;YI8ybu{2EyR!e01C#5E|CQocsSTpbYR5&P(d`{0Un{cQo)H16HNk1#os%!Q< zodx9u(fS<?-+}o%5{PN6RCwOI%o#lp;!RPga6=sSNmpMOKODEB-oBFoQYiq007!B* zLfgY}rjfYS^%y{m%u+$4StCKV6>AK#_zqd7^Lk4S*}*ROC49kR+0+*9WG}IbA`L?o zZrkXw-Q{m1qW14eSXoze*A~g?0N8qcC1_QZ^HrR{ZfcEtD=t*bs8hW@B70HHHd2*( zgIn<M7Tg-HPi@~&NBG1w0No2YSc3%;F%Q<AqquJ@Tlvl@Gto}*?t~1>liXd8Iqsmm z-KVv|a%vA|4H9_J1e4*nlfI~@^jOcZFLoK{NEUR@4_UC;zin6LaPo?Gj1y>0U5<`J znxNqFWac^=m-?`OJPzJf5XgVvX$*24SH~gU`8^>nTBgk%T~g0AD-2RDl8BE<P+IK6 zhe)@3jrWU8o@y-kRz;e6u-x*}D*D~83>Vq*Pm$Lcjz*eh0jRxHpRyAM?-)L4`aC$^ zwbaMLx48)@D(Q<soiL@@yNkdbgU3<!Mq*uOvd_ks&6B+H7e33W7r8M^lMfm!>ZKWu zN7f{XH|5h&(|KUkvCJ##13w5+0vFkuPX#T-0(C-+uWWAs?F<jMinEXXaR=488o|aO zupBLGf<(1Lm$$~hDvksNAql1>)b$NT`=po6R%E_Z70{A!*^>HwQbD8|IcdA%jh1Nd zpFlN)Gh|vVUbbOV2mDLxy?)L|of{!FCvnR^duBr>RDnH#?uV3CLiypSebky13%!_! z{VzBw+NO&vgG7B{f?h;%pqC81nMU6eiQ1bnS{RJqm{oRD0bZ)ylIM1F@aAu6b2a~d z#yYa;aXCT}sJrl&uBi#(pG9406rOJro^vb<FascfXy(($y6j!n+yuow?8jIRu+rtM zm(BfFO@)C2A_WvD6@cS}MN+U?qq9TPw=0;jw8)J`7TWBcS%T}KMM)^Lr<Qg@kFHL; zi`T~=KHti%DwXkHaW7a~lFA&C6K*0*U-8*C;d*L1aV|XW&Y#E=Jwa+8_FFwKW^1bO z@CiAZ1LlN4L#}|xGY?`%BP?bsmiP+;a_iX}nBIqqEH;X^<iyPF%bZ2I_w(-=tr>5U zZp#rOKV3e0^GEGTT<}dsz@DPJJ&E>N5YLYwHST}Z5wU@$#89nn1BwzLl)ygL4qDCW zR$4WZMH4;?$2x%qsVH#rMF^3S*Na@7iE%(Dtgeq~p~D+ST&y+GH)PmbR~VsbWdVoq zdmrLf@(QjpeNN)_OQ+E49^D&18LR-cJpXwb2b>ZqbC3o<Lh51U9<S#{2b%Zf2TZk} z2kSbg<u2MQY=T;Ahx90nVoVPN*L6Z%SGs93w#Z$CqKvTOqXDA5Hb;?AFpJr|M)`ER z;-(f`f>vb3ijDqEs8Xb41Zp>@y(3?*pE~}Gv1_mW*A>O9Ld3{3aP?=egM>ssLLyS< zbrU%$ZR4qWkg_C;B2cmc=7t~kJIPsi&<ULui9u~KJ(t7vD#Vi(Nm^BD(9U1T4KEBP zB_F^Sb1=4tif;G5xJthF+Ufe=bCENau&;%Tua3%d!L9kErcOv4{D$TAnE1DGkLUXt zSioojo%#-1AZ>fr$#66qsBD5H5BojSNn%Gdo<O8*$w;V1qIs~fQ~>g#oi)jP6x}oo z7tX{)O+crtNw_ZYC0qQGM*Z_-Nrre+A!&tZs!FS(bH%_9WO7|5Yty4Lb)+zh(VQ}L zr~}<(4m;*@kPaca56#<U<D91X9yx8M%Edl%;pPmu;xB+sQk~L43BA)x;1Bk5yBKGz z0qovAi#f1{RJ1*m8!KDWXj83VX5dye>sFHU|G8fD)o{mkMR8wWWwL^IlIHaUHlTY- zh9xOO9YHeYQ;{Xr^dujv#Z3=)O!J{!$bW+5fL1NQw7Lm8hsHlIj?C|5C>0Dhbb@K5 zthjs}LgT|Gpr6rKD$YhyUJ~lrx%C7sQMZG_Wj%Xuj>g=+SHT$T3tK--xz=3Kx$M^g zYc;iMKb?n?&R#L*dlW9$AaH%fXlm4dmvRPxV>xooL0drVV2Pd($^b>u7je0hG0+$G zEF2X~EUQxtBjH#Ull=@3O3~Pep<!RZj!d$;qj7XFQWzV!vhf+`P*Gg(tNo%4Ps?r+ zr60uS!l%rgL0=nHDjVGwk&1QUuX;LSdy2O$uDkFpYtT3FMGj`DiZNggHv?$9JO)_| zfQ*WZ0(M}5zP?<}dYYh-0P}o^l)rij@L+#?v%2C*xcHRyWazex1ll#3*$wfYtg`f5 zGMz@zR-TRepv!L<_t@!Y=boQ*5W(=6;{it91?a(9899f6HzFmQxJB)7=ZO=80_lb0 zmPN$=$YhHFz<!!^LEoDD{j3v;nHcSQ`!0yui}XkV0wC}au3)Z&yKy9Uqn5}!p5ke1 zut;K}g*ktS9^bovOOx8{p~835>8oqYS8j)=PIS91!*i$RiqE>)ke^x6?H-(eTiHCg z5T?30rIi)>C!mRdOdxcizXDApQ24%fs4ZL^*WB;Cs|%{(!ND!`m5%8e3ngT^+ib;U zTY9p}zftEOmUV3+^X|!3@W$QBO>axJyrv(#&%H9eRZu!pa7ecD6XqJDi#(L0-zMUh z2yP&kHS`z4b6~3JA{G0T+44#WdjGvNtA1te5a5`5`i5|h>7)7hs8xZH6i@5)+pyLw z@|p(3C&R5E7;kYywzMIDYiBUOH}gE1c)UVr_EaO`+iddRHR8>}#ex7^`4-;S6Zg@! zJC%!j?luVVZNflDicSYhMnx{y__GSfGbfot!QirawP7%zH~WU}M^8k40o7=prg<c; zw45C{!rGZ(l>mpq>8A4~#`?kqY9ntXv&mK46}Mw$AzR3=?_DYAG+5W3apiH3!N)!K z+4PxzztA`%+HijR#8FnO5fr(t!oAHTWi}ykU!9FDf$xV@cL>j)pm>_mF>u6%K4FL_ zrL_raW`?yt0c3*Am^i`qHX8`?9=(8`bR)^pZ~DS=dy(33ai;=m9T{o_li8%1<22EH zCDT}T;+Uji1Nr(roG!1ZdCabP)6>y8Lni-JFW#vK>7N8+!irOyD%@Ll)w<hfpB1|s z6{VW!dGc^NoB`r$&XF9>zO?7ts3c<|XumvjIHRwN*;v}-GobD$oBIPC(qnM#xaIY^ zozPbm&OD+<7Ohc+&SzhESmtGmFK&$7^rvOD;>&)K!Sk5-X{`78@)fI8Qoszu1CZxV z<-DGU&sue}hl9)}Ux&7_fGt*bu=;>4_zReY>@Lu|vx+g7(F1Y?BNDB-FA{Y=k}~q{ ziPa>lEE*T8&a7KQYCj=+ti^uIkd&`y@6O?C4EnE#nmO`*@O#6Qb{(C(tBKneAh7oI z%JX059Z+eWM4|fNR@Y%%OFWAF29BB)S;A;5qO7ctUH1fG0@{(PqMd7izL&^@9r^Uc zIf}6nAOVUUt&1!)Fcft%Z+mEatPB&6GRujX*B5vWbMf+2P|wIb|C+K6zqVHGeMoxq zH(3Mva|v|9j2l+8`yFGjiD74^^yFg$kHG;&mjT}vP!tFv74)$63P@ins0j9KN10}5 z+9^_^vBmE&^~=cKwnZmloJstZr++!BP~@V%bJ^tAADr$?J#k5y*Z0xnsO&?5TD7U_ zNTx4tuXkVtO|&_s%rUj>I&xW0ddv(@@ucvc5E21+=TM#(i!5mg?-hXib58%hY9{8* z?2+TPlOv>uJ{c?R74}CrkUMrL%a%VAE;vBeF%*TpqMSNzut>T&n7#XXf^FERFM&Fu zE<0!%<7qQ=?7v@K6{!9GNM-opwFV2mp72R3%fFzh`zh`!)bZ!A==bIQN3({rfA_@& zS3_TKA!j=Py=HR*nQ%%2Z28?>z}1ZkO)~`4C~?bdvLqV2tbu2$k$6Hz^54?1i_d`7 zn2xrZt3eS9P0hfqX)*ZeKaxmv81tIy%Ib+Fcb|OZDm~SpfNh#upVS-^1-69TAl#C= zf_G5!?I8y<?$FD79jw$_fb*ro?;t$aLK9>-K!NgkunC+#3e@{y_{2<1<o;6K`rIw` z8=W$1VkIW)Mfy4X*@M;RFfJGLluM>ir#1XmKnOwmt}B|?&3Pf*oJ7~H)6J<Xn-344 z=s%%qTnanT3Uk=YiYU(g)iae#>V48l0MB|wj+)I0Z8w&^*hmgIWDvfOThW^S@n&d3 z5>BT{&7KI?i$kU>)Y-P6pTm>~>4<6k*AtmSi${Xl$Y~=3&7R<FNL0dTZtc;H0SeQu zN+?m<mhGHoYA$7MqKy__Hi(61=5T>HR+`H_GK&nFm*R3!#~4ubBe!J%p9U`_XdHBX zZFx}fP3P<h+aj#CC~6IR&!3i6it7EMy-#EAe0ytyp0csm&LOTa(jwaN%=h`-D_#h< zBnh07-O~MVsJckk63ZCmDpH4ZpasoY*9q+ej!uEU0br9mB6j9*c6Bn2m?Z$>+LcZM z0@zBfSH236^)A@zU>$WDkT?9<ig(5`Z*57-O!g^TdfGv~TawM|F}4mx3;LYSvG<=H z*uk0t40}Y^$IRJB^q%)FBG$dLe6(^l5@DoF-Aj+{A)&%!kP^?<d_V3@MBv&n7W_O2 zOlXvMpof@4%y4l}6Xc;U(5XRs(UGdgHJ2-Dp?jo9O+4R}5j9?BHj~}4MtSj=By%Hq z*od5$BwN!Ikj*5V#IJun_4MeA>sg1_(QkjX%R~q5Bqi^~Tc*^QwWAN20Vy&o2-QhN zo)Y^j<>=F9dWlaEYdNdpnV`mRL`aOJNTO-+lKr#DZ`UZl>9|~(kHOh$?u*B*24IkR z%!PiZZ}&OOe|)z#O+9OF+uNTLpW92ffAzTTw$0#H_uyM$R4w|FQPBc;g@2ppJE*Pm z{7qzwv~ARkhy|@-*L#HKoSqva;DYIucuC<*_KvJXb;YBNO#eg5_}<6+**l(EULRa? zKl1W{f9$%9b?u=1wl!|$M}HfJ*UqB(J)Q>%0zYI+2TKxxtWr60<RT#RML6VeC|cZ6 z7E?qTVfBs-ErHX0&X@(vQ9LEo$F;m(Sr|m39-!ZnbmTTzePnk~szT#3aI2f8@0dQP z2R1OLj<rYo`WPefluq7)uder58~zZ~{5bhmxITsAl)CZ;a^Dw6DTgdO&@JXLN7`oN zn3gbHJ9Il7g&$#kyQc(J<o6;S(GyK0W601fa<jQ4;c8)U!iol~kXsU^Zf=8U3(x-= z)BAYQBIz6_w;Mxq-%b^R89!sbXKs^ynaxp;1(C!GEN1OYN;rs&4mFHrugHe7kvhF* z8eU8^1K&@P-N6D=jdSFz{PlEmB5Eg%gpEY?eM3xI=wK3I_k>K1DKeK3k4cDHn9=H< zr42SW6<bu?25F%b8_Yf$N_uNGP1*9cT`rqD_;U2+Of?2&8-D30-Q3UmR~bi)=(vVJ z^8i^$Ig}p+`guYJm`Jd^jw}HOrxCGtkHPY;VWSjm0yHt~V$FR|kOBc;;y8=RU&eH_ z#v5h{@`(ludYcVJyYgxlN)7)3TCuAtH_i#+yWmy;Rsr&85N@FY0bN?ca5Lj7EOLXu z9Kgm7bfY=E?_3}Hzvu)yla1%W9ejFOdX)I0wGykrK0BZ78&Bzqy}~ujGNm2_0D2G< z^QV?K2H#|+nN4NEb%FLhturp`TsyL<XnuG13s$T9P@C_Sq8q;AbyS#ZI<SK}nnpmK z^&DO0m=@#SiZTKMp$J770WWe-^3P=F<H6w=&eq(6il@<HfFE{d#N3qx9~c?GU9luZ zeb9OSL}#(4G+vG3ym8uR*(>DmkHYwjynSC3^D0~>{QQp0Tk+Y(9{D}!ivEWZDA>%v zohMt)A;?*u2%H7{S3aGPw;7($hyGDJR4r#ody#`u0br=S(xR|S>-QN@U1qXh8OwIr zDstAdEpkRRh@*KEhd-VPmj$z5exGVZ-z;4A1ODk<@TSzb$#_A!3$E;Uk<TtlY6IFd z80GCqaefDt5c`)OgG)PD702NCPG}Sq7NA}!Al_g<&padXpyISOeocdoL$+I50&YcP zY89wvGE~bmHA?=MsmIJXUlpX>6R7i{{{VxsleDNue5~iUtl?c!Uu;?>ltJv@1#U7H zUZ2Ym#KB&moZurz!)Gh%k4Xw_L)-5KuI5RvjYP&(#D1$}o;i(QA-;u7CGpPEgdi&} zsdui4XI5drapL`_CuKUH1$TRf!^NSFl>DIGj+M|iVt<zjQ5+X820Yq29(-3S5G<6~ z!Rh=tirqQ&$V_&~!!jRR<)Yq}XCi_j8*-_@4<{yioJ`OYOf|FCsfI$Udr_B~_493@ z!#fj}e%7%?n9KXS8_+*W81`mBTgB_ET1#=w6Qo{Wu&Zmh;$0Pj0#&IOaRJzRp2UU+ z@6u2#IVN%3!2D!HesD`sn<QJ+)Su1tIIX$5?Vm$MG=Ag?BAL-gNO}INN;6qIAC0OL z1ly5&4G~5(dz#5Wuo=F%P(<ou)dk5=+{tDqG*?{#WN~8T=pl5`Trj_cmW&Mf7{lrG zCH2?xgNsrRM4i^F_p%G+-@C#O+<<X)Q7(`wF_TOCeWIsO*IDZOkz}^N<@120>kmNZ zcGA%`tQ|=;u|3^zs#Ph?MDs-sJ3a^(!5MzJP1^QS&e~0Nt0sI35`zFpvLMC6yoeFu z#YoEY=!ue3)|$bK$*IRAo3+?72gSDaqJ24h^}(xovZXEKo#e7<EIZ@+t-l<*!q2TM zy7iTqDct<XeqN7>Pl|^<(h-h2--fOl?g3$~&HYq4%=7JFUGf}tNVCvf!>tKWW$Z8k z!ey(Gdv0W}{4dF0XrEgjvvDN*xt8es8qCQ<MX|m6uafOflH#TE^A!G1`{jRo%{r$$ zGWQ3IU0POL7F;K(3eozj4Cx=x2VYcZn~>m0`5A=zPDRwEZMonLn-U;;=5T$^TWcEM zK<Q`2%<p|@$lj7CuqEa`$7%6xY=@F{x~JSER*!MbF1W@lQ2T@bM#yfPL0tF#tI$_p zpiDaPdafgW7DUu$8tEld#cY2X>_0Knb0yK|7vtH#j0~Dw%LVMiwh7A{*<MUL7kYdj zE?8t(N?P4M^?)SK>8OM4e`>rA)kwX2lz-ro7xeY4ILwHiW`ZY|L#NEZ*Z?yK_o@)n zzM~9yV|Nqu;bH$4+N8W_(lmL92Rnc2g3hRs8-`(%ne4Rfimk@SB+Xjv1|z1;A^cJm zQ|5h~v`G4P1Ep%+R8D+T!fWJyjZFP5;KB1=ofDCN?tWxCuc!Q2&+Y~xWJk&KL;O~7 z>^p~fy;j7+K-ntpC?+zntX#AiaM}0--FjXuc3HhnKA45PfxEJT{6)o$C9)Z?7unN= zez$M&Ikw-~0rWqJsPg(ma=HJp=K;%!bsO6cJthC=!&#Jm3aF+Bc|9oqHeL`7Pbs*G z%#gN8JE7PhG5rYw1o{yLbZxNzg=+q40Gnayoate&80fTB#IDC2bRpgDqXo0$|C&xp z?u$DXb-oVR1eh8xbtI@^%o6sMSp=YVP!p;Nqd}-qDnSqwSXPK>QTYI%Y-?_VsR}&a zGGiqzO8jmOY4U{Z+y?UVdnk(>)7U<7Fed1Ku#WDf`gy0x*N<${T>Z&rHnOBaNV21R zGw$bYrYimVSXf%w4WN&*lrzUiUxWOhDX}WismJ8hzXbf@&d{=0)Yd=C93Bg16WjA- z+Wc#_Lx%IFrRzI4K3Kg}_RjTo%<|i0u&DbkuiNk{Bftp2#HYT2`vSyHW|QmP%``(e z!^*C;9Gz+cJsM?2vn;?D#li*oc>MMZd(W<k`1i}m?{_GF#LBSoGVMkihsR~JiBj-O zQT&(aiK~~5ry)-CS*?geIV+8Bb(P*{nfx*8lxRA?XYg20pA)e`=xsN8+-x!@&A30n zkxBxIX+6ztuw!>8RGLVsMv^TfQ5!RIwL}+hlsQ@ho>J-F4QhV3Pi9T(L6CAE8j3dL z2@VqB=Q!;zN4zK*l4%Rg+WynLypB5=$-Ely@_Db`iSa+fn8Ni*F|@r!Xn}A`N*Ogk zby!fB1?S+72z944C6;FCnC^^3i^Jo~YL<~7AoZTE%>PpmR!BwuUgYa}VzcLzgQS5y z1Gl55W`Sprm*jii7&%4BOCKK%jmf#s+Wm-M;6+-{V{)t~p&;k84b@+^FF+PmKKywu z+_jg8Tg}Zy6vKzCC(A2lMw(?=^#{(!gxD(64&p5U;oM|%a4_dLOt^2tuCG>mrizuX z;mMkoKeb<*+{(EhaiN$c4`p!wfHbq9?|z8kJh;8)6kn`-f?RozpbGJNG4oWlBGZi# zbFvp@{3k^nSOzE&HnWHPbiPidgH_q}x|lnbvqMr31?m7lCJZ!x+pOP)$XUI&!_xhb z;CW!cgD-~AK9Lm5nUO|W{5heM#<GIK5PGbnkSFP0j|p;6F6?tU3VOi-n~14mFyqXe z$x{`0!t;PNyED<pcNS@?%x%)ZdbPZNQA<f~2dG3V?UCRGa2Fspz*tc2$j}!!-F|_D zyQ77!yfB}=-<FhiFhRGm;2L@Vand{$;Hmlt5o}mcuW>rHDj?wyZh5U>evj+1o)rxd zJE&2-B0r=vXd?e%kht4iMVgUTa6!9)t{xdGpRE9%s#kAgugEgpn6BbMJ-x_ZGjL0r zBj1s~e{iBs?LOnxYmw`+qD5aH-DjQJMvCk1vjhZauu;N`EX<pfp{ITbrxIEzZKD8G z;EvX-8SEd|lwfX2G<CN$=)@?tzFIHx*();1vy2%`c_TI|R+_w-2K#DNBdaI-XPgt7 z+!Ndg;h&^w_BdZvM`{PZVea&FcZ}8eE$5V-;iJrHB#TJ#yOE*$;o`FB2`~Cg%wHBH zfgb=gGOLFZUpfucM)PFLTXxN&c>IItOIE$pxf#s24qW+Bueo%2dv8eYS@GFg);22N zj_?i&Mh{%_q_`b}3#yS9C)>rq&ttYLB5V!F`$BF@-X36jI%qC$0=IGR18QA)S*M=q z-@X^Udi6_>+wJSKR8-E=+I}yHcNT?CQJ!y$K))LfFYw22r<G|a<jH_PQR%A{uMgNO zA`TU~cj0s!Qe#3BZz;x%n9eSmTFst0P3am#HLv<?%A&$GwK`JgqvX@>Nbns0ET$X2 zE?t<4{cqEW)1BdYhh$4@7hGd}x(-F34Yc&5CG^;d_FOPBSO_m~VC|tgU%LegR^W1O zZryCMo*KDs(}=IN@(e7d$I8|=UaJY6%#i7|q|O;CR}Y^Gq>IdxR-?)Qt=;U(&42Lc z5E4%YF8>^v4W7YpGm7fdt@E#h_B&HeI#@N@a2FVlK4pzBuVte%M)L{ywGI9)OuBAk z>U+i3%~AVb#|-xThPm<&-4)<3UKByLJ2ClvQTM|atY>FYW+`R)KBP1g(y0cl_PgPe z??E=5;9k)P<?pMf=+svhhT!$H?C13^I?s$euBq2jX&=@(4edQ^`c1OK^Hl9<YSoYW zw=9DO*2fYk{T-yoF;i;7lMB~yHoiv=%@l2<DGf8q@`Je*v6pk|Qwu{h*&GqH2B?sx zw|YzWi?C0vo(wP8e)__I&p&bcVoh|wH4vqx@qZS+`dJl{dRBa)7VTsN_KLF#z%J!@ zwv;Hr7-vNxW~_;E44v)@v_V=#LNsn!0}xs3a_S>Dl1F;FmNuk1{8@9SxA3TFSALoO z(3cm}U1n(ItK~lxa}&kq1TI&rek{@MF;*E)<93f@Zk=E*Y=`0LQ<Ycx&=F<>Xqq!W z8n>!Je-@LwM%i;rvS<U@?vTM9N#+5jmqXE_zWZ5Z<c&;E@DJK8(WQ6Q1hwx$S^OSz zyF2qL)cq&4zx}p$9VVx4K_}FmGITX4&^Q1aPzgDAn$KjPv(}7Q%mir3<AKDLCs}Vp zz5`%%b87YA^GtSB@H96q=S^^>HlgbL(sKfbzP7l4oe5f>y^4HD@jWdatazku9?a=r z(LwVBq=v<khyKC^vIBn1T6TOaO8?K8yS+~PMf>t==Jt;-oUXf{*9MHSD*PS<1*|ji z+-$3A12)<rXZ72_m~=f-=P@5%&o$Qrqp9G#kh+$Ft7S@;k#(d(o9l{uh9IF(Vg{{$ zW5@jiLda`X@t$anTT|;*_2bQ3)=p~7t)8$BP~5m*gT(wN$RpL6jWXP96<I4?K5SP= zR2s-H@dsml9KV*o(Jt%&W-2gr)%zD`zjj^=WL#n<%j6M#nW`5m>=2ryXmdoB&@(y9 zR4T9m_~n4LW^pxps}`oph)Fzz-<acOOKg9RGAd3uH?16=J$OqvE2Z>yvHE#|%lY>q z(zCdwb#deq?b#3yQCU79jUdi_f*h1b<ftneV<#fx;EcrCil18J8qcC-`{HSuy)V1~ z6;w1&3KZaH|8l7v7u-N^Q|MTg^YZ%bZtPp(u9V68D@J&V<EXN^ff^+K1f;OYGJ9(S zFv_Z~xEhOt7BefCF^|}CZ-V?JTi$5n_}HT=RFEOlZP}$pxl`|yG@bn?f3pl<qFmUu z`!}J*AN;BxIlS)7oX;;CSo!x`4<bpt9?ux0I9$Ams*Loc+zUtfkDwL9aDlpFcgt(~ zk_ManP|f9y1?QRGE~NOr_%5c;<pG<}snus_Z49qmCEj$`(k>*<1$Buj#3YRtUQE!g zvvEuvE%d|hqS|9%7W)a96{AK^v=<Zw>*dDEbQ}H8lfMClG+#sW+srP?<*|)(|F&BF zsF|+Eg2;@+6+r=;-`YTqJCzH1#^ZYe3jMZHC)<PXz@oG$F{}!!Nomm)EfHX0f5f7~ z9#cGj$=fS<1=pDN$2GP1mbdz+JRyU0U`V~a=bY$x#CZlB%5dJJ^sJMuRZ*LX*9o}* zaA?Ajo_xSwILAceRyXXLMHcuAYc^)t&+iSGGkEhH#`VJ1+Ucq{alh=<HreVAaT}n# zk3Uwu6$Uo4&NQH_Q^L}Na4k+g?q;U)v8aju$<3nKim0#^^`CanNRJk`EhGPRLT0#u zoPQ6sHz#opu_zB^_FTE^A7Dv4_<hDX^r20f%RY6fBd>pf<Y)eEn0HVBI$;fGvh}c; zo9VzFnmu+h;<FmLHSPmtzG!0>X?bISN^!=mY|*J1e01KjVLI;bZVb~r4-{C^{I4@@ zpvawgt0endJ^PHPbch4}5$<G-m#<Zz>=pNTlEC#C2M7A%KGadsmO@|`ueJa5S#tMF z>cswc^jlv{Rtj$NHa!w(AkoKqFn4=ia7@#CRm4`ze2GjRL7t<?0Zhd~#iN`CM8)xH zTBM=2<qOn@oX$_{gsT?pPRsP;eed0N?f}DMr>5@b$ehm}@jY6(b-BmPG?#N<vRPZ@ zV`qZ7Rs;UOI!(i@QOE3<#l0Qp$=P|RZH1<{`m3f3V6|zOeL}~~&eu{~DDNa{M-uo# zll1LKP6Nmv;GMKw9+=sCk3<a`&=RDIVYAr^7oW_SSV@0DXpv^Gp%>HNMRRG(#)Ct< zv#0A+>?(%GozC*#guDKziS54f7F~5|$Tf@6T{5g#2#+UOB&^`(dRY$$mXQ^);s^Hv z^>|T1;V*~c`i{<`aQ~6wR&kf0HryGt`;ptSD>qMVaC?$+R|?%Q0Q;a4OdD;@n9LSz zSL6oH6q#n#;CcasOFzY0Kk;Q<&g5S|t5I9>=}TL0DW;tGj(3yH;`XRU2;D_ydTJv3 z#F-x!pTNe#fSMj^XW79@3j#w@HQi%`foL32%V?2A*D*8Zw&cYDa_keu9$xRnQH<+Z zy|QV-YX({SP36ttibFE16XMHE)~oGEeS>PO25*F43ut|4CE#h9L#`m_VmPNHFE%iF zMr6gkiO(I2UYX^M+70T>8uM<v;=5Hi6&dvv(V~iV;+^+m=5^QQe)7Kt<!wh6XPbAh z#=)!%@V11qYE0EKa(1k^(TM4Ih@Q~PUE3ZWwQyBam-<leifM<l){$FAtO9cjh6fmq zJ2h8-PIX8I<O^U84EZJ8??E^nE_e?!<-owUER|Pyk&`k|*h11u!L5<0>)J3Fx~%+6 zld(2my{nM~O7*?BER6>6eUr#)6vrbTW-pfL76k*W5_7s&99mFz1myiZ!Og+fzeV<3 zpB~`4m@_nTH30b@up`q3$~%j)Na4RSZTCfmw6Wqr_qv{{aSQkZcEH{mZ<#f!uBg_+ z96U6D&M}Sa!~Vujtry#mc}=CZJy+z6gwr~9vAa8YUTt@~1Duoj2a$oAZ7E7L70}Ru zy5La1sgXa#P8fyQlF&Ms3x|~R`X-K!pUSAPPN@m&oQ|NXfp9~#!#WapDLIq1e-EDg z2ugj><LFkR&8dt*oH`*7si17Jq=0rq++sw|zZD9G#R6UMTc6k58Sw1Vv-$gyqRXq` zLSn<}1IEASWeWE`s!7_DfbkZ;Z|xbM4|lyN6q(bs>&uc43~b1%ncwSV$i4xtIiIB0 zHhNY#*)i+yRn{F;o}rd@2;9%#2r26QVeQ{Kx~lG)V=CB76|#C|y?}aPU|km7I37@< zUNwp>``PR_PSXNd^bFLQyo;SY|CH(<E^pBv{(zjbp$~pY@){1ibNID77#;$218I3f zD(#kd$cS8@BwO8N6Ei5Yu{4|-505T?-xoZ;bN?)c{WkpCPik`zmj+f|*Wi{E)44F# zGi+@oWY7t{jGic3y}F*gk?d>(mO-t1T60&rPye6vTeu<o4>Q^7kJsM+pv@r^`HF{H zdjPQ#HMoIF2jhpARW|lu<()sM$XG8j%(0)>_gfa3e?RT)G&Q7{*UFCT{A~mD+$C`J zr)%oS>Qw+)E$V`zTIiso$kHA6{1ua8Se3Lf=gB8r@N1hlRuA^Bnw}JTlVtaOZZK>2 z@01%MF(<`#dq`L=I>-p`)h09m3cabEb$D_@Prn6k&i}v+dQ>FX346Q<tG$u$?Qh!Z z;dMHn-cZ{J?_Ta6;BV6xa_Lt537f*>9%uaJdCwlY7B1*-%Ub1{KNviXXftLiv09lA zcG8xV_BI*+d79vU{&6AEo0(*1?_qJd`2DHUGULY%I;Stz<s1nN=}Q}SwP<$XzuMx9 x4{R%+)TsFR-r$Nn?#x){%K!g=_l@%>H3ag}JsJ^%`YP8sZ0BTKc;M{S{|BI(*f{_I diff --git a/docs/img/CLI_gRPC_interface_screenshot.png b/docs/img/CLI_gRPC_interface_screenshot.png deleted file mode 100644 index 91250f0c13fdab534e9df4367922eec4b7dafee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77234 zcmZs@2RNH=`##=H&1$Vu)K)XLQgm1)C=%3cC~A+|v%?-$tr4|qg~VR9M=4sf#GXa% zP3-l%<MV#r_xnGNzoS)==ecu_Yn<nKT~9-vsVR~Y(Ggv^aDnuxlAPv+3ztzBE?jy{ zcn$mpdv~P$!iBpRp2|IfxhJlS?|HEvAm%;B{nE@IU%P$@`r^XV8*g9TAi4XH?Okg8 zQ?_D{EoE&wmCvH7S)7(zIHmOKM6tX<uO){kVrpb2C#1`Z?G=pHCsv;u5qS8J5n0F{ zj*;IDy>JnBfr$6x$>O}n$!}G$kY`u>=qK%cmRXr9J^fAzSkAw0x|E&P>@C+vy6&zO zoG?<He~CU?&i~x&ioopLQjo)cIgeY8``F$_>B-(Ze=WDiljrpe3+X@n&Urpen)04J z((2@{vHbe+l3OtTEBmP))1a~ZAUCwk7gC1WAyYcPwG&&#Q|fBg1Y0Kf@crreui{jf z)haP>F`i(Ahk`O8=XWz$j*G9}$;Jer2gpe-N1qRw&ywer&2Xt~5q$957yfPAG4^NO z=R@dx7-;PY?{B}}7YIg{@=baSTTV*C-?ZS1av?X!dRAKsZu(#pbEDsL{-34qSdQP; zVTb9{q4XvzT|+hU+z8L#u#ye$Yng^=BdvUbO2aks#BE$o`0@MFLzT9(x!q5!ohOyo z^Du@)D{uXWSxfc+ea^0w%=rZ;e?40<11BgpHF+=%`pG3)Gl!e_ccMyjm@s;7NwCBL zaGSkD&b#QTe-^(~Et!gOneQj=!+;4Yd~*x8DoL$B;W=McU-t5i+(Eu)@=ds^E0$7< zuX0?!3HUAlv%zapIs)dSJes5IYO-lA(cjd=t>{zq)_<ShxyQPiUM9@~UzRut*4DuI zgd3@OTh*rH=R%>e%`c!=76Hqf#<A)MDho&{jB-4zKNvl~kxeJz%Cec_5<DEMLW<3~ znI1>|Rc}4}{5|KjPw#dxa!X~z*mm+>vFkl5BX8?)os;L=R%LG(-~bng6&Qd0_5dm% zpwu6tk#`9kL;OF-kO42WqC&6IW$}?>+e3QiOmM|4xMJ7ba^HV0IJ7=;fHTANsj^pT zv-qxKU5R>8rnpa+Vap7O|BT?U_}$Yo%2V_*d<SA1bk~+!L7(<3-*{!+X2L&fP7w>! zDSJ}3sbp*W^_vUwo0zgbZ3cG`*X7Un0kS&{H48CR=sYr5-VCe^Vw-gr&Z?k)GnIQC zx>vU;d%ib4xA|t^WzTHyYL=1oeY=hwi1_sFu2MpHkM_0fv82_`g0pMq*FAk@*@2<V z=~S@FxdadE!J-;rIU1Vsk4Bbg;mk7nb*8=%=aVMFa+&mp_iHO)wjSEn_h5l}hG}S) zy({f!##nh<ov=K_Pu-azn>H_xtlyQWuRRnS*oZ4mheh1Al~ABkSTIwVr#C)vIp1T+ z*YTSe3GMz5u>MPB($g?UB!($-OYvzxNw0z_%rV&N&X)qeok9F32j@TNe4^cnUr7RK zpShyCK0{V$BTgtC*ZUq8al`hJx7FdLjnjg2^F+@R1=yApaZABQxu2DVX$>PV{e6a_ z?@HroZAIkt>5}y7zuv&FyR3w|C5J8*qmaQ(3d=+7T2Z5PM3u~%U%jUoSsL<Qt(~hq zoG3r{VE!b!*5bSmLxHAcJxaBg-eR62zsX07(P!LDPggc6og#!Yi<J3J-Ni4giU@Xn z_?l^1loDJhbj0TCH`7Grz(q3!^e2s8^LH>OXV{}~G4Qch=d0@<pPx1NRh#sp5t|G# zp-^tAXY2~<qs+kPO8YfNesZDd9*sc5xk-BhFO|M!*o<+jlRw|&NlW;THZtw2sTdJW z0oG@;5y{_V)RqGmV<I%!@pmZ8y(*a+?&vz$()nix3u1$EJ6^=lV<HqVpB~mOIgU(2 z;GD|(3>n2Hr9C%ng=7*&E$h$y*g2w9%$z<1o|($cqp8o3%@>S~^+%g)aGOTMx=P0t z-ou`TbBFw%Ybx1H+RH5W`^V<ntX+PKQRcFwjwoe_-N_b0?X}&O?iW(a0SA><+Jmmv zyNdoqYs>qPp1ecA_kjL<>3g+v@3cJ%#i-D6l-ZqXtF;{xCrVNZi)L3Wn*_N{<zSX? z#Ap(Y&jWKB$0cpc!Ztb$IJ2ez-?P!XYE(g%QVM9jN8I8HvjN%eZ!lDe0=|n*H5&u} zm<?rhE^vTL+LF5Tgz)=OBQL)iHB02(M%glDIw=4{(`**hla-?nQCEGxIiYiY(t3(b z7wp*dV*D|ml;Fb8X2X-ey-vhXqT-k`P0}-5-j}vG8y59wWD0UKrnOCP3tiqi@LIox zHz&(Eq4zo-rQFxySEKYyDd9F>?8hI%B|JUj9WfG6eL=mESJ9!W<1uvXaG}TCZq6`X zh2@~^8bVtR$>r6)?%IF0{zUXnB~dzDEq8#d|1gSMG<4)QA*OEu{j+akZl?4=0~=W? zq&#bI6E&;BEv(e6s2J0ny+RmsJE_?1xA;UgWp~}?d3@I}jB_y<dG&)kM0-&ePK|a_ z)My6IEfG@}4Snr6@)G%tOF0v@_Kiyk46q-Zok$o%l@doA>SpX0gg2OlUIQz__F(P% zMcmS9Bf1&igr3c+t=hs9F*i||B%P6m(PARX+~2Y_F5`DU^D#{1Aw5Y~pz#$WR=g8f zneq`CviInTYs)`|b8FI*!iwZS_0dY(vZ?jUOu|H<aH#^=ESIf$bm{QjJo<E}CouCj zVmITuYYwUU$2@jy@q@7RqdhuCl=|Ap2ChAZcR3q3za8mVKyx^b3`I{|Yby0g$D5<x zBRy$Do#)|gq#DB)F?S{CeG%@n?dR6Dnl4|&!)d^73RlbK4(?mBtm}WvZSA>Eg^x?6 zwrQ}bzVTQBG%TDu;#tT(jE6VnKk<7>gU5zF9d4Q17T%|Q)hb=fYgANCfDhUq+UuE~ zQI=Nf&2>EaVB^N|_k`bzQs)j9Jn}`>{npvs+aS5DJ?$hfJyRU4U!ryeVrv$y?T=R0 z;CAI-Y&Slj9&p<eoh<z4p6IGFKV2^z?0cV4rlV)kBtI)~7g*T6n$R?u$<kVLbA-&n zpP4WA(DUWUMI8Qp5~;%fflahbM?29<B2(uCV*8$pPd2j84O?&!_|H{+T=osdj;EH@ z&FCc%`#du9LVM%tw^VhHI=<Nd16<@Hig)94s1-G()XHQgOH(1XPooDa*r2TQpN$M0 zb(YWLJ;*Z8%e2?vo)hT4%$IsJSwxLEP1FX4D$_;a>TAY~%-OiIi8uc&<O|%_BYx{) zjL*|}j%l0_3dc>RC90sZoTP(cQ*Ksx+FtM!vvch~^UDnzl(BtfRUnrr=3IwXPDkBD zV7yC9d$yIEyYAVFDBnh%U+BybeTa&Zh;ivcD{FbieE6d6Z`rP>0wU?cD|925&!&pJ zp8a{sk(2A>-ce<B<QB8Su&L?ax8lBuT8fMn^D;s^NBh>YC>y&kTYvfQwVqRX1%|=c zg7z>i(Jt{?f4oz*ze0~~E62z!67SVv4*ok+nl&G|W1^T>-J;otF9X-H)RD19n$beg z^H{MU$+Z(<4g#r$)^h~rWohZ~y_#O0jkd_%`Ssd@{|$nFC85Tyvjj&d7wDy<L>pn5 zJ-y~x8)COJyK4_*lD)LXAxUC;FM2SoY4AwP*XrA{-NSFMy7lxaZI>5VmtHnZ?qbQ> zl_JN-847fIpSabJMKje!xR4e1Z4~B1tXSDl)E1Y|TEre~n9!V0vSya9C5TzTw^%4L zCAVXy$wOemiL}YS=iaHuX$aZaksPOtw_y;I-)J!YFS*g+)I@9bA0{2&qbdW2{e{cd z#@q)#bgh%5Z%Z{TfFC1eUdY9%9G!#E;NUOYWAy9jTUmU_-kg?fOH%}9?iKnSmHV>c zO_Wiz%u!3Vs{MtFD&#UG9-G_FS9HU)_dO)vkw0ea(EA&i+*KvH@qJnH__&<6!Cs#S z|L^`E7lvaZlVWSkE%Av}#qK?huSZXG0+QEN|Fl%QI;*-`)v=y0U1KKMXT~tz(Q{K% zXiI0Qc1%O72hwj>3bQIoS4b-zhV1A&??3vfPnALA16dDHZ|O5SlOyom2+ZeJ5;z2( zQe)a%UeMnEmVSLW=N&GMetkFH`tecH`Edr*X)Ps~&)}vHP^&^#m<LceEuZb*nqGx8 z+}iTG$j;w-@x|QxntJRE-}Unmiz$2Y`CnKw`*|z&92YgZB4u7;z?-5@he0#=9qe@D zIFDgg9pi(OmRxG|(v!GiMOFB9ths^;y>tO?da1e$jBFhdgdQDx&(v|0kzOidMYk2o zA1t!E(hwx1prUfxJ?N4~%;FN^`t?c6tHpzCbP_Sk`A!&WxEXt8nI{hD<&{rutLlqb zVIa^^i_+3v$_Zi(PimBj#$iW}vE_b<ap}_L=NOM+#3A_3tGnakH}S6evh3+M4Oisp z{-^?P#qwkwzdEO6y)ds7RH|M$oS(c~lpR0$s?cPQ9iCoC&w-~qGo`!H6RxzPwvteN zX+2LzBKuk{z5q*)=n0RV)xZ?@z<cNODhrb;s57L>$|SoPsTFds))ts39cqVKTGP6; z^z@x#zm~f|vJN+=a>8}2<!fLfzf#(c5I=+Ng`jJgxR7l}Q}mKhW$0{7$wm|;W=~pe z_Me$xlzmvm)dZ65^{kZ(5(7Sdp%cw3BK#zW#E3`eY|bL0)u!@FhBWfHYPZ|s5<Isi z<0|)iy0H{vT8^9PDQB@)?R{%hw&s0si1;ujANxy8J`LFiUH=KImEfM{nbIy3rA{c` zsYX_uCjbckC1O+r{1ml8q;cpes2l+CnQeDJoSkdz<9ywRBVZP&5z04PqK^}|I-H_c z=BL35+(t3^M8<_NpKo4UvhP9r<HXpitiDHEUE(p~nL3-<Xl1O&a-bzE)}1OvpWCz) zW<z9uV4?^t0UcM@hr0%`Ui=O`_nGNm-25V;?~SeRoUF<LDdHM>N#&m4clBo9gX|an z(8u{5RiPvuXQZV(PaSIJloliQ4tr*&D>KiRq%*7~;DfeH4CM=i`6(Ct$hN#Z|3yqV zX^&OMytLGts9?w=(@X=SfLy{cY&>_an8$|;rhmf)0W;HDW#H7U`vs+I-So>1wUKU9 z@5P<>H_Ic=|89^nOdQK)<wo^}RdGl<%v@xZoLE+zcMI$}NJ5OccYlcV9eBfkHA>}t zF01H1ahjRZi33zw7Vg`6w&gZL&$@?|N>PP9Yhxg|R}(37(Cme=Bf-uw0`t@@T#~1e z{B*Ld5Sp{YUm*p#KX$yjOvjf$Fgm;V_p##nn1eq*8`p69qhBT}g99_|gIQ6q!5d52 zvF>K!v7vnKY+?cB-bLx#J-y{Ha;<YeWZ|Q1!sTH!w3yY*po@9sH$L@cFPcH;Pn2>{ zn;2<5?n)y22ri##`TrQQp^tivdx2e|a(-{lZnh;cYFms3rE0)}ito`xZ!4>49R3Ki zx2n5%ZuJzR%ONzAykT1L^9f>tR+yGdQ@xw02<S}SeLX#D)Ti`J7GlQ!ghnsMOp<@5 zQ^lx^&|}Op(ej+-^@q9j;c`c<BEDb*lXSF^MyDbZTQTkl417L0CZ#xHftu9+B@=;~ zjg|lntphF3W(8G&{NG;jSP$z!%bcvuHbY$Y#4F3rtC4JJxXpRvLGR1|tlVl~rn{bB zR?V8%pUtALlq&4*ucR&>9w<DaWwf!US5Ko2a_(el%U}D%`yD+G(ouQHt{hLKSjmD$ zXN-G$I&A9IqG@+6>VMN{P4-gV%wBAkh$(qokS708j|vqh8d2`ulWr2Ntv+MxS&FM1 zr2S7K=X<a_X6;^MmnbG|br?~sfgK6ETjnHbFOS6d_@c)wYiJZz+M7y;U#l>At%*K3 zT*>)A$r?ATLl2zYBY*KZG8Aml{Un_(57Z}w=OWe}L})(w#dJ60p8u^Cyow6O&MByt zC3o>iLFEN*Vf#cTmgFOoy-FmZnF=ZbYEx#&bE??mqCtV8a^$w}E2TuyD5~brJhHNp zELdr8Q36s879=$MarY{&)#d(g<@i@4+2}EqR)Ya&BY0D(NolD9QcO5P2VfY_@9Dsv zk4c*TBl6S*rFcAl*@sh=Pe-Y$&hrs#v12{hn@VHm<HR0B=w$Y2{%dXo<g(kvhv_IQ z)p_{T1MFN=Y1ct!<10%z5(8}LXslN=TE=^xy;J<0WU{20OMA~}ZcD(Y474iKQL_j= z87uC+2U_qZTyd8`3_Z$8QH9C#Fzo+q<ietWn7Gvl6l{7jIu~NwbCB7Ob<b&nS<%_& zEyspN#Qqo8xPxm$0pO|1M{h0GOx{T98V%is@-)Kw10v<R1y0PH4>I!@`Fu7OX+$Ug zg@8MMumVOS*_P<hKACQq&BctlM%dD^CMjw&HZoRbpYp$ZLXhHFWYSm4fZFDk?grqK zN`GJJ*FmO}z%5p>2%V*yf;$Q-|HXh0_WQzI6jj*;7}6ai3wqmI3?6isMqT~L2J9su za><Zmu2~=?$g&CRu9BXqULV{od+=_K{+!@bXq3pD{Ux49c+Ru;qqbv%EO(rZJm%vu zMHe)&2+ZO^W~O}PQuzOty?^{!ppQY6kMEsxW|uG(DVAEmo6W@+UDNMA%jb#vqa`r? zT3zP<AiHkqgPH~BiLi83vG%;}h9}BO;0<oK;Fw>gmyDRHU$VZmM?SJm@qerFUi&rA zqo7J}cm>_F4b`u`@QEA2?KZ_)IVb?Prdyv+c30ab{RdKKKTq+Ru8dWkkEu#V_g?)7 zBi0ht`I}e15mmgcGI_HR)+I90`)X0ZXX?-&-GpedWG1yPP}?4589a5p^7@gEieFIe zWN==D{2dD|3BC-(H=M!YNgutWptLmGp)^+OiNvo=5kEB+1i4smYV7gK?=dztV#`G8 z-XUG<&h=-Xn=$XL$5IbgE0_$*Y@c*ku>{W+DsCN-w5YL}Ui>S39bAcYCViN-{$}Dg z^8@Ov0FlHl8P)a3ful!4j30O0zv-<(KA_Q$I_+D{WH>wPn0|V!Tho}PpDe8QTl-1{ zf7wwnc3<=EgAF)Ocr`jt%ykLd+FWGI<k=1lM5j@CbkE%$B-8R36riexLP5UNr$QM; z-U_PLSRgH{&lh)|b`S`Sk4HS0?VhL4lXzD7%F}ZJ2rb^Ph;Gg7#-4uo(Z>5}^8)Vx zBeG+Bp=Z1TceMD$;cm*)VBhZFAE|l@bv}>kbV*D5zwyh>tT*MC@L->2tyyTXV#x+; zPBDnFeG)zf;j2~04U<6Pt5e0DwSCm3{LuqP7n@+!^BKc?m+!CptTwz{13Mp)`Y30v zJRtiy6$0}@vS7%}l&&h-(gO)j&(_rpk0l}kBI$rRh(zoS>&Rzq%53bH@C|d3xw32= zC@lN>v`B|{oDz|=EM1P$>xg9}Awdd4UbNtF&o;3;PlGn>&0p`ukYL*j%PNDP`<={B z3mL?S&$m0lr=Kie-a6`m4~zZyNs4U_u*~JK3-u*$ibjll=ngT^nXQdPC=dR+94X5q zlT=QL5&~(=CD}4ed(KuBDOR)*)pw8?DSIZ#7<WISoC+Z+dOvstk!$C?yI}Xijc05l z>tj=sHaKYqi4LkWBO>h6!3(?J;-b3QJ_dJckCWBglMqx>P!>P6vF9~$?&COelS=ZD z7%~2?XGJ#rp7x!%;n1)_V~-K#`}fofIEICi+aHxD<jiFQXKaY7^$}1tGT3qA7R8_6 zV=w#HHxCpXt!){<C-C1{Ex7BYdu*u8nDstMsk3Lc7dD~CTwf#c9>#L_So${k-I@gj z@8-y3jZ5I;!;NXD%66Ch3uua;=H_*!cALLZn`HJ5cIfHK%M4A4k_sm_&Jk_1E7~R0 zI^9xql#8o{e5s-wSG$+lI#c?wC9muNQ(&JPP#8-z{YoG-!kJJd%<ko`&JDv|qRG$Q zY&Vb$t-EtKor13C7IdW+bU)iE`7zz}YU%OIU+-5QksPF7>HT%r=0st5G(~OlqJBL^ z&ab;$@mD_V>J;ADZFsp9d*Uu1S1X!QzLBQC&sdU4zey!q9ORhz_tVfgk?Bjh=MOs$ zTMMhH6qrBD0he*_BUc%Qy%ycQjP~*M^duZ^lE^jF8cL&J5*zF;e_Pb!JEoVQ2rhgq z7P8|^_~GsLU<&pz-LE0uVgf<A*ay0*SE7a^zY7beEq!C&sR`Ze2!CPEskv<}Q*diE zq1i{%exaf9SVV}Rd9Yxo|Nf9oOX#{f`z0i?nu&}^zzTvSz~*LDu>&_bmT{a^u90!Y zE&x%qBv)Pl4#8=s5w_ymR$HL?cZEQ+K-EcURppoag&s2j5JtA*M+)qpJkcK0Gj4Dc z3rIhqx?<kyKg_A<r2$p%PgeUP9sDc#W`b0>>3}SLm%-<h571z~k(PVW5=c>iFf}x4 z)H0-7U$~k~-Mdhx?dP!KfOM3qC;I%{Q$Kb)@#k=0rcy1FQmxo8pLKfr<<<f7O<2N7 zl3B;0B9A%gfsd)KaZ*#?->(}LYjy$MXZ1g<wKg{wet?jmc*G;og(@tmWP2b`TYFd~ z-1GMVlicdU+t!pA(WJf25)B{)2vg}_K<72VY~&|eXk<P)`YtBLg(41N%T3N+ub<-n zIGQxR9YZ|cz1T0WiKr@~ZUk`z#Iv7F%~Ly)0qdKdi9c5gUYLx1kV&`*LREl`=59hP zb~xy>0TFc=S?X8f)?vzUlpQZ$MZm+`cS=q8B|=h}d2GZkKUhN~{?(+KdRAOSjiE<z zR#LuudwqeldD06kzIr@ke{-a=>`HyX;gbuM2+u^-?~A3Wif)%*f1gfpSX{pLgcHOO zUHzmcFdx_I>oSvE3JRV)zHy1_5lLNjRfwuDgeKOnDS!`>kn0zfQz`H+#ra6ZfD<1e z#crh0D`?RW#k0*l(SjsYJAP8RK0gb>`<*p~o>2=B+e6&@BFkVdFN2#EP0XkhthZ_D ziqj_T<k(iePiX57k!5_7eV>Yt%e+C-3*`wAiC4{YhY!*a1=Fo6HZYdrzuyO1SgzeM z$L%f&-d}w7pjeb9(Z5~v&8aWzwQC(i1_`ZJTgQ9oBBr0i^D5n1k!uQ$`qIh`=2DR@ zi;K+e(yX)&NW`+ZiHGC0;rH9*lORb|7+j`x8FA24GPTKN%6B9nYn#p<wtdpI&D~-r z-Y>mx9O7P710(tM#*d`3Nus57wQy8b>Bl9DEVD$vhB)ObABT;<_r9a2wkGF|O%Bz% zsf-v&uYNnb0hNz78mntFwzoplpiIiO)_h`AY-B%r+J1UsWvtv1HYK%8{~n}T<vyLF zdb$Y1pLc%Th}i#aFOG2PefyY$Ig$Hwc&CZwcf%d8Bb#O}^v+n{C#mq67XqOnj#AeM z_=YA79t(-_c>6f~em8mm->*$yD5s|&f&O8Odv~((z6_c~=vp1bW0EsGFV`i;t5dso zxw1gjWZj1>=r*vO8Y9j_n`_|_!+8HT6ysjqi(vM;(KNDj=WtblR@D&6eRM%_sqAUi z`a_%M$oEOpLASs8vT|@TY`80M+Yu{57bVd|*sQKbT$c(a(SqCJBHMGGZ7~K^Tro>Q zaX{qXWMe&RI(tFrI;Ki6JYttM<!J-&*3;3s!%M(8NYBX75EsdA#V6A|zH+QGQ|mOw zIF~~*n~W!f9cn)h$JH#Dga`x|aLvu0yIm8|S|iQ@&DSnxle;Y}c3mHIPO5d0bHX8^ zN>XDHjpGe0M4f?_k}junlNQ2%N<UI7cmgl@8#(<cC0Fbgs@5kE^Ij{?`T}QV^oCca zUDiz##L_mU?BAiu4}|G|KyC>P3S&<0X5*HLz9-${Bj(e;o=wG+8TEeaDi<zL4Fp$U zrfnmq-bS3e<*ZaGRgvMi)Q?Yz&N%iqZ%Xa!t6b$#_|*pyv{PhGfVs$iEa|3K9hVr2 zAY^?*Q-8+td2!{gUAFrTH$9~$JMq*(%q=q9s;gGBiBYE=y;HJ|pmY`ePllF&o@u3_ z_fu2TtCQnI#Kfg{R^%Ww5ByY%b)5ma;%*d<A;ibty}j5*XOCZ6;>s$cI_U^*SE<<v zoyw(E0w<${zaK~908SBWH~PF{ksg_O;sRp+0W{4dLkysifjJiELoyKG0?uS5t(vAA zMZimF)irLJ2T{PZSYf+JFN;KpA?dR-5QGN=cqvO?^Y9+m_5V=qNU5FdJZ$;nNYmuu z;fOMsdn()=GG?pGUj&KS9%0*^hzq`ok<tA^Tve#OJF>DDK{a{nWnG-1w{7uocrmI; z7?_L4pUvuKNS^RH<?7^p)3+4k0cy<3+JEzO_m#SKRF(}mP~N4mRmiwfP@#n2ZOzty zdjX73e%bu`sl@c5<lb<~?*SGn)GWbHdl;x$gb~R2SP)Q@{gn305{c2w5~xGRp=RC9 z75v40K_m&=w!5<;58_ag`Y@?BLAEY(&0dEQ0@9G6J}V?sgdPk8HCIvJERs#&E|pl% zKS23t2qW|k_qHzA_LdgDEg5BYk&3xNjP32~7|(+k+-g=ojoj7ozx>CWLqpK4>&40s zOJ+k+!x|&+ie>1TBwvQ0s3@29QJ8|ai=V<`W$clA2*YtD#~qL{9ISmVh7n_FUD{G^ z8lR5Y<#)2WA+sxztX2t>cMqnfi~u%LijKH&eKeu-jU4Zr4quY;?VQGLE+0ZyU^)Z# zl#Gg>EA@vIRAkftiBM*IRB|s|FNq~kfc&RI+<Y6DIHipkD=v@><bcL+hEApRnwxZ= zl&{DsUe&qvh*Ic!;@?m#*D@#)BDm*WmB)41M=fhl9(GxOzN2}hX~}J0d*Z?`@my5C zPgwZfvBsvT+pC}4HK#3Ur_({Lv39)vD9VVnIkFil4cSGyhie<hF0~>#8OLWo(tW4y zlXa*O_LS8#eBV_NOtjAv_-RC_v2;JGnzWsr8U@Vr$HWntt96Q9NqsG^cjTmaV0!JV z@lnp55fMSV*41OoUr$C7ttvG}_hY-}Z1jSeDO<h;=H<l<1)VutOQe`9nl^;WgNoNX z19#lpEwc;C`i+0SUgfOJSa6zIe0hT+0GrMKi3sbNYIdK#lgsDR5MdF7tJZ@r5CsrX zplJgylwo8<H~03}X+)L5rhT>kRN#azRe<G?78R;p^b*SXcUkG5{C&3iWb?*S5$WRN zKLuwif4Vh*09vjUf@&&VY3Ov{T`U{hM<(8R$gJ;o1=_Vs^Lz{DJ#7>=)~aIlHp(c6 zOn43PL+2Q{EF|YojboU+o9o2vm5$iy*HU8U1w+@qjFU&NY+pRn-F#56YDOCoGf!w| z%gaKMK&6n)uaK#Wj9pVH84XOFhkK5?GT$a|ked1N_!W^<f(q^JMfqJD%DRb1KIVRz z({H3eKmg9Tw*Fl83dqDQ4R3B&Hpz{zK3;|J)hB80!9zTc-X;!mRQ}jyN1upNI>Up| z7IMJ~?~87M1aOB;c-NJMP@qb1k*?uz$)Fj{ugTBvE3!y;V_GL`y+OgVjvH#q<2%(f z6%{4(lH9a#kG|-eWRU(c@j}^>L!#<E8C7{pq|sR5?7FZCg8Kv?2FlB+ViWUb_aZ{n zUdMXcIz>o1NY!)SkBG+;2MZ=Ih5l`*0RNl5jkX$610e-%<Un;GI#H!rq?)B*s8O-4 zTc9?_3du3^Hq^3&=KdXXycIV}L|BPHT@I)3^OvFe+SoZs?D9HUX(jwh1mmkTezIAq z85^lyvrayGeH&pVt&jV9{N{x;gC->k9K_$qo1d@)EiEe&U7^P5&JKn9HFN@rUSpg> zhWWT!t3b;auDNs5Tux2S2;V9j{Z;9Ne9P=Z27Qb4tFtSvpI<5c8b0-A<SY&n?76D@ zSH>tT^<Hk?KuVese~n1`E79Q|4f+oy=upBGV(Nm~=ZDV55x|#ZWF=n7Gbi{1v<5bd z3cCz)$XHi_$;*B3BOae%O}&S5c0dlZ{pn#e`(Td1OM}hiA_<9JVN`N!qxWoE1wnOL z)}s%`$Tl7-ROV{Cv}iD3IF~;x`Dmztq<1|$0<Qi&x+=+OEyrMI_wxM$)rg7;fv2kl zYm!<X<>KAt>H605dy|W$%r|%Mx*;1LMwF2+MG;|N{m>DOadYG0wb{#jXoO5@$@Qa5 z{li8*mlY+e%vA?P4q1OrwAIb`Tqkfc#{25cqURZ(r<ue;0?>(rs9sAtO)Zaz7Jd+= z8ZGb1={yIyUCc2V9ZGz+|9O1*8oTLBgZ9!Xh;4JGNi@GVZ2K@%JyCrI&I4UNQ2+<I zKy%P1{B2s%TYfn0Mw!ShJOdAaUSiyXfQY3Kcyz<ax!ovUM~xQXffXD6?^BSbDTt}4 z<1NlgSm#yoIXksKFE}q%k6!`G#6E0Ws1cSWpa5U7`A(8zPkE4Dkp}6fmn^C;;pO#x zS#ld9ENrl;fX1dovH*k!p{ur1;}QB&^-)&&kNJx`14f3;9&I3IjM9hE-YKP~p&d3- zIBuL)v<g_<aBzH^3Jx~6R&wfvx*ZZkJ0xwnX@iDAhlNj><N(0Kj)|&>K960gHid<o zJS9VufN8v{FTATD#Q3JCkI(u@m{!WMkp4T6Ilez4UO7>Ks*}T^SEG;IJsz+&Q;=0( zzxKqU`IYMiirCcD6{qI{rtreT8f{f72TkdG10cTdI+y1W2{M`Prnbd5U1!WHf#y+7 zPhY^vYVgMQsJzKwZ;rRWer;34y&oqup<p_+@eB{gA?&?w1Bg>d7%~R2H6Q)BU85`* z9~$PukeI|oM*{u&@#!D)VFF8Wi`FPUeF=`|7MrY<2n?2{J9BiLNGD?C=XEULaBQX} z3#-Dg#7itLQnO<^Ab4Cx4|3ekz{ik&KvZ|{2F5H5Pb=mF-6kXyo=P*91)T8DjwAx& z%2L9VBdMqv3PX~SJ_lqg^!X(1;ZX##`o4z2jqEe;CEV^D3sL-)71vwfz@PnO<L+|P znYkZTLfQ^rKY6%j{dvf1vH=XfoqBI*l>;aj6dRFngQAC4KVWz)DxfyW&*$4`fi?9W zBP*}=Tyi$|yGp!`1r!|d>Q51i6-_22&t;f)b2(nD9LQmD;g%fGvWh^<ynx71gkJ4N zRN}UZ>~^*!qN;f17HYZAL`sU#mW`6%iUR}~GJv6nMneFAe!L6$0DExP;KP&9L`b2o zi>~T5utoqQm?;vPy<cJGqIJ^ID!R;N`<7;o87sw&&fd99Ks^9d2M7X4a@Bi8T1j=Z zw1CbYq)%s(iS=%ac25Cx<iGubUrma~QB}gBf~FZD2ggE_A{?bamcxxF=Jgea8Jmr> z>V5c|FK@s8{Fp6<?By&7Qs3O~f)6+GamimxqXK&~HP*IunIaucJS8tKbR-CzOJXdH z<>qd~i<RiI6RJINR!xiUr;A&cW(SL7j@)mDCjrLtlZndS;^4az*Fxi|+U8xZ*EgQ9 zt!O;>GVe-`XBB`$AZEvAY?R#}^pBAL*gc2|rqNFbqaw&_w*2TgRY^}*Y~p1~0SpXs z;?Bx&liDeY9t8lbW_M1_;QMX3X;7E>J%c-{*ROIq7ShO{a(yU+5uWTWwKsEJ*DA>* zh(FQoU%7D~VO5?0sI&j*K|khRlxDeBmru--|MH?wCH0bb%xyB}!FD?o-g@-HHO+*w zcb1OJF3X~zGbiNh^zy8709tMG?Y+SZuHRxmcC!_}296W$WZ7fr*!6M^q9Is?Zh6gO zG5RcR;OOnAL5`xmx*m-LhxnAo93h=$9)OAv8^;l80h>;$lc1wBa-MnR2Qb96nYUF0 zV|5Dyo)lP{Za4`#!+qv@EdC~0=$T&3&_pWpy~&s@gTjfmid34x5fxE+r~p+z|0mD( zv8HHa-$)LPHfi3TbUSw<lYHOWR=iw)rK+5ybU7&tOIrIzykbfekjjVJYSim_i-Zc^ zS;u2Mej!0GRIf_&Pot>4%0a6j%ZTMT3>6CK9{aV^DI=4K3<Y#kY*lu&Ofd5EaRzee zQR@BIvGYb+K4wNmDlG;F5I*B59bTw){!cH*sr2IW0pwsm_P=^o*aGFcY{CPnZQNZt za7js%2gufoCH6I5SDRp+*2uOR7&M)j39M4;f6D%0N4gtK_W~M>U5e8~#oa<p=7MuJ z;#TNtRQ$KzL?*Mn!0?>-ZrSuF!OZ;XUc|_8rbz}6l-+z6vzR>e{*UbJ``7Y-_-;sU zN6s9(X&*VZSN7XeB&Li-;9mv*vOI#jNXTA4VDWik8yR*hAkr$pk|!TAG89_l_OEiE z2Mb&r4+KKva2a&je=))MEJB3@TM~u=yJZp=s_~6wJ<0kuYQRVuF#7QDzWR@cL$72# zy>{SdYe4n^=y@c^`p{M4jyVbW-oWulGjYsk$#b>3ji1g>HdygQH{|f8-&w;$M_Guz zr%3&3UR?pZlaY9-2w+N<%zQVFCbZWGfEuz}9w+MeV5IY07mq`gPZgIVx;qHTcGJGd z?&@4+5=d*;Ai+w7>dfVN{h}3ZDz!120C{|N5aP2N;npocrNs$dHsn^YlAlnQK8C4? z5f!wCG>rqEIbu9WFX;%vLPtm8QvE2<f|Y*|>(>{p4XP7cl91}<)S=9gYh!wk8)UV& ztygcLQY)WM-Q8o0`|(}v3J3}dq)Cl?fY}7B|FXC_G-B{0!}{y=Jd$r*m(1(qaO9Lk zLgU1)Q~%!2BHAyFKxS^RS#5=q?ctt{w;ubpKw>y{s(Sc=?EVX4JL}s3$+HCtUWjA$ zKT8ax1}k&Lp@ULBl?fHBsI){k;>y|}KBp5$tMn+%K?s}@Wd_y=x<+0aH^Ejk1yj7X z4niS(sx!85B;$(QpY4c&lf!T?+V~SH+VCX4gA)^4lss4hUK_F($7lPQ+uwoISNSJn zLmKG0KUidNqpBb?-mO|`UOnax3=EA-0t!-Ir#xWBf1F4g06J)q9(!i6W-l-^aCk{< za8A_6AfGjGafg``svm+-W+&m3F#^Jz7P%}tbe@kKyA|WHY$&AARR+pWxCtG4GHlhL zP;DQ?XHN&ySh^+(H4C&%j|&BLGBs5)7BAWy`Xs>3fwIbTC@0If!+LYK?^ut8x&i1t zl0F2VHs3%R#U-tB_Uk4}EY-?DZQ%D}caw9k=$qPAGms0|OiDs89lij1sapldoyNVt z07>jbny@lFW={B#w{vyKCMLxxGGfOR2x<V4@4CebE;GqTt_7})_5cm(;5VgH(B|~| zb_CVstrb`QIS$9dTj+h+#g~O9M1R(_X{Y4fn)hCkn}CG#2$W7nrNcoG2b-p9D}3U5 zOU>yX37H;V@(e56djA$6hK3c1Z{l$urJyf-T*!QUu1zgx&adJ{YmUZ&b^507c2@w6 z1c-=g^fwN71IWs{?Wi}3tTHzF-R*TrnXM}?I9bB^!Gv|Z$88qzqWKEq4re8sYk4DF zYx{>?mYQ+mZe@K*IKZnRx)*-weock!cqB=Tgt4SNeZf9Wwfi2_aDXlYiH^wMTd?~B z($4dg;}g#T*+4+9fo|v&<OrCgF8>b)Zi)s2hnv8x0rTK``I)NVs^*^PZSohDD@UEN zi~xhu(n55+)oTYMdIy`r>;U8X$;9peK-Ydik05#;PKHN`3}8LhIj<K=;C8Ymh>;av zhf<nmT;H?K0yA<GhX^Tu$c|^y&z07X(&5bRB~C;+0Al_8L;w__Eye2@pTCD{JOJ3T zd|-~EX0fs7RJk*SS@D$X;$X$)U+#Zw=#^izNE>YGM*ID&_@|t3<l!RGQITZKSI4v> z_bhwU7g#+}q{l0};w7=R$^wqp;y|4NA_m@olNmAY#-E-<*y<{$s76NM9)RE5*z%h& zi@+)Le8etm{z_<Ei3i)l!O3IMtz=6NiejINo`d5K=JhE2LI|+ddkb^9{bV5f+T{uS z0q)&%N_45jlxjVqb3!MpgdFJ9x+<N_UeCPiT*cz>OaJp#epg0d$9)mkS>Jt2qf8I% z3A^c!#?py0XaGby47BE2E+#|=S{{VfC^wcm`!0?TPH3#sp=ODh%2=S~;&F21LL3}- zell>p5c=hZ1-l1iNX$VQ2w*6FC_~=fTrReqUT|EO81d?7C@3$0!`|>r3S}ZdQ()iM za&fe*;<2vR>+8RUY?@brC<1_EkA?6Hn~o1a?y$R>p1Zcl3|t4uQZLFAKB`><xTl{K z`}PqrC`j-o$^#RVf|Bp0H4<C|m5*=Y)Cm*jcGp@0qI$>k9QrBOft7=~0POsmUXmj6 zuqYNI6J*CPG3<c!lvV?E7`#ZA(s=>I+{a?iH{U*5+ym9A2GOa9;8^vaODK(Z0mN=M zuQRpx0k2C#Aa4O0-z~me0?a}ma0Lfs&uC8T-;B#@7AY&E!`A)RStoaWS?At;285rE z2)h~~51bAn)Eksuo4xVY|NHNdF+|$**VivI$bmM)OMOs63NCi2y!Lz2{s&;}Km!Np zlBbR{hVX7l{kzPo;-Jc?%PZX&{q+7GTn!l;%+SYVq2(ZH3+j#y28Fb@m6LVu{r}4J z+}&Dn!X_gNz8}LoiH=+=W%M_nNQc1*fC&dcZ}POufb_Rt+YBj*^O1<rjc=YCc@P+w zi&u@Wdli;bQLC+j`XL_V(jwnXJgZR$;uDqZlMkBC9Th<c5tk-&VUw2?6$L*@wTkA; zaKgZp!%_Tzy?`1W`oOpFyxahslx`DY&-rc&!4nwd1?X6=1T<khFcSxgfb-h4IUxx^ zKR=gGK4%l=eSgFQb_1xZjpo7)GmJ7v4Vw?<GQLHC8WjKF1%;&M*O=Cp!zns9!gaWU zDGiW><+{zcplXtM?l2+zrM5tA{=oV<fV7TcSJTn-D#UgGfEVw2+>eZ-Ti=$0<$)(I z@;gR5%AhKU!xj2<F-p`d&o=jUY*<`41v&U08byIBsM*eo4McxZY0hRq;fpX9Hz8p) zsdo7Sgaj2%q$GMk?fCv;!M{u=5)^_#)kU|9Oh|zLWuFaFGHL!yylz@iB+c9ED-0Rf zhU)M<*H9yW00r;Wkp8CM+&li<%y-3pXJEf$<GRRy9<8E6qegr0<7+d()Bu@e{=<|b zAyDxE8iC>mb*?a3)0%x@pmONkSrE0dHl=tw><Far*Qx?7Ph~!5?-!=y9_$Qrr|bcl zYT)8`1xf#g75@!4uztWn5V*DJJ(cmUg<_gz8tTm9N~)IW#?p<wGFai-%7y#o+vYDW z5qR~4s*mrv#nKaDw=@C)O9L!oYP}ty-n>l-jNwbgaG&cxdUo!9IgI5^EvTGoTmc4| z2T_e%_3{yWvgsjBPZ|d(=4M4ulx(O<ixN+h^MEY3_d|e~ZrPn>SU)7ZoMMk#d04Bm z?*~GWgF5;3(c{%)t7hwBkj6h7Xi8jdn5UNq3v$o9KNdkG`y~HZBW<mYMI73kJlNY! z%P8Yl5G?O4I!XQmR0`|p!kb%B$4&5p*5OYOs_FvGz@R*f0<-x^CQ>i<ER>x+@ATZT zb#<a`I*wVf0M6-6Ya*MVk&dOY$j39)Re^H}Jk4sae{to>+}C|QacNQi+B}C%k4?#< z*e^U2ZXrHKT{D?2M-M3Aw}?TvfDl{&U^O8H5oq^x=}BX0SEdPf6RvZv5tqsdAEy=T zW#;YD@tZah0`5LzgR#P(?i@fb0rcL{L6ZJa)dZCIHj7Tbr1*;go!LI|T(FL5je{Z8 z;u!o@tFD1eOz0;&lqb!g`>WD0{)DzBd0Tzg%URqZG4GC`^jKIUfH*HJ$U%$%rL6*q zpP(=><LXNV>;}MG%Hm(4ub+tzCXj1c7v!5rZv0fT?|*9#_7iFH3gSB8{efQk?)tKD zU(#Hy_f&(Mdj$<hAveuf$DHivTlBK6u1GTO=sXC_zfJ&B55CX}Dgp}aGHg+=rC1T_ z{clyddxl^WTN?s-MEagaV7D8y-+dnf@$3$NK$y|}q~=wApkG%{+i+7n<XtK_I0JG) zS)+*NjD<v(FAy+Y+<3x28(<n+Mh@PtPS@xUd>d_pFwhmVq};0`YsM?e;pd97|2(jR zJjtt|Nq`qR#jpA#FVoq`$5GPZB!yY$luN_yqI4yKd$)#YonU}iHofKOtu8Wje6W`w za5n1+!1HBn(B`$A=tVR$DEm^K&Fw|N{bNDkZT1icu)NU=^i=S96Y^M$;yYKC#fi$h zU#<n_O>)_6zyAJoWek%jJsW@f(J5Ezh!3CYZ2w}|dS~Y3eEe++nTn{9`Pm0XRyFu! zsV<Fs`5AF&-U+F#IOi+PR380gT1D1KYS0XLtqEt>-slX9ai0x}=gf4KK^>n(Wk>P- z4^Yzrah1Y&)701QCa?j*31>L;EuW<rw3*EOuV(Rn4<4vTxY+X;2x<-ncRV7QxV;JC zlWka8?VpiIz*HFG(QukCh~A)m1fIj2BN#L2CMF4j(sf`4P_^Wg&k3M-^?2gdlC~(6 z&myHOPNt0J)<z^%H^GQeV9yYIQxrW~8I@chi44ix&mnX6%98{!9ZYG4Ev|88*p+SG zRiTkF!x|a{m%<AnE4Bhn>kI+b_!6~2PvsDG*xE|s*mWdd^W}{qK`Axj#n4sWf7Iux zqc6emKy;bT;4@@sb6(<nS-1Ja`f*sQ_Z17v?|jx%1=@jVU^M^|g2JPh6oo&{IB4|& z2viMOr)RyH4iL_<MXKoi`)?kL-SbRN?Cbu>;}@M>eaXFZaH}wj8w3L#_H}}3gx*=* zNOxnY_lO&KtYM8nqztM~3hy+ppw$DaEZ{v;v=HK)YI|E=qR6mB+b6uxoj@}Gclk?@ zop6|U;pmDF6{zC)vX^zYd(`x~r*NiO^&>pXze9XfM9#fD50dARY?;$oN}I_?i0#cZ zQ3mDuS_mJYzMT-&mdj~cMhs-aYEEcO^Mk)covJL<n+QLz+Z<Zru6BF~pi`EdF7^9u z$NNLZaV+UY%Ql|cJE98xBv{ZkHAWIXc>D#1<S;3L6O1VvCbn72dcCI6Kjxy_)lO{J zU%rEN66WUhE&V3RnR~4NNqHidmc8BLrY<st`qYT7tfqqRs(I^Dau_fB>l?RFiT%R= zS7L@^3p4C2M5c4ToR(En<?qYV1jLzhD-2}V&36tv_M^7cf}yi~G84CkMs#`k#fo84 zjLWwf$^aw8R3w4IKW=NQfr?n`KFHm>+TQMPqG~+?^p25u2AMOxhmpV+M{-ub=#Sx1 z-yd1`n>uR<AAQd&^Wg1J$BVOSS)@^g1eHx!u61?Yil)~yVM;boK*oXwOJDwZPszSw zh#_8_PvLPfwpN=>vh?P*PaiFePEDoL(u(8BLQR1F6Nm$&9@s{rcz=hb58&vyq2n&7 zEjyrqk1j!C&Rx)HavsD*h?sd$v*(WXQ_kMTEJn}brB8xXh{L`BNbQlbN+WK%t!7XL zsuCA^&`50mXLH`@7CDwP+1e60aufmJncQV|y!@QG8~xxusN-|JyxI6@PLJFFF^7iZ zsrs)&D?*^xfnxC&fjK}@!TLa7PQLDQSSKVRZ@;LB`d#yg)~1xR=OTnbLZ1>LBXYHR z-2d%G;Y+82@;tZWCK?R$FXBccl-TV<`F%66ZVisqY?+Jcnh1=zvx!&wmXjdk)wnRh zFI50zX@`Hnw@Z5}d;}dutQH_`faU@`I(DF>`Ssj5&*=D-dqu^o=7nrhyjJ}^j1mu7 zIW9(e>FUa{*DO#gFahwjVz21`o)>5Y6%~B}QHDjM_eEd^F75;3fuJD*2<DVDkMGg* zU7v790DKKfQ=n^O#fA_5fIzbxJECuJgNxERbuzzYT2ULZnZC8128t{{*PiA}v>Dbl zgxmon1aL@vW5KHM3r{P;$|m>Cn&RTC(I6dn`RsTq01yTN^2ndBRLeQ9UC1?;YweU6 z7TP?FGJzH`H2IvGTDEwY1Q~yuntJ>Gqy-S)Ls|bYy)V<z5jOfVOb#j!{~zU8LQzu< z#-VLqR9_nor~^VHZu-*W@nXNgJ0|BcwGW@q!t8bgiyx)^b7a?eVgt}UK#R(NQ4++2 zYrakalnrbJOke#D1&nC7E1zjx2`N@Z+Fn#!=?^QeKz2vxcnYSx`Vo}W$qr&E_>;>K zx_*C_>7%kOy(Yp+#0B2~p^UTHWF5Q!<hy1}Z5##4Y1aeYs<L);9Bq98q|e@8b6r!M zRmOd!*kbGW0TQ6Z-D<>z(5$yZPRySGTU0UrM23|TfCpGEY6|8NVq?rw7CeyOO5Q(X zw|_?y&o>U}AywBsqWxBfPbx$N7iJGvIY7f3QP`ouah3JhTcGeeFm^PzH)m6z0I?7o zq<Qv}gGYhe1(+R3O{~h9?3={#Y(VS~6yrX-NeT1`T|!l6H{`=z2*;JqAzeqxTy1<S zJ{3>8GMI$N^MBMIHk}%|hX+1X!lI(OH4i!hRQ#i<bGVwd9oy!IhCMu=;@i>6yB<^H zW#>O*BwPs`vwI&*?6WEiUy{!#HD7MbB++Iu0t8jt#y+{^4gWax{qomsqHmJ&*a2Nz z8Pmg5g+Ibe%UwdiXkL<;1p7<F5zMYqDx+$PLf1lucv%pD_}3;G0|I^n^t0im+dIkV z%7RR-M=Sk9AO1R22La(2NIjUs-VH}FxFD4VFBCuuP{v=rkrVlEFF;7lbNmO|3z$0h zY44R~Pb>!}UN!`bAKxkUAHn?{5ZvK$QN4?x<A1RM&|;7$b2+RcD@3Z8D!RztsnolP zQsmMW#of{a{Ys5tc2lBLpaWECh&6o6NE`Vfa%bj+_&dNQ0f^pCMaKr9d-~XOujwa7 zna21Scbdh84Fi=p?rWtx=FOc>o2E~r7AY6Y2fFzEii?8Z)H_*WnlVjQLcu_C{%qjr zmq@M(hib%)h-EaE;%b1p9hO>tu5B+l3FeV$-9M`7o5{qsd!;bZmfrQE)v0;K)^mc< z22s>Zj{@ap^oazUWpt?d9--&Mr`6en+bKBx@)B8x+ZD*6MrEorM+2&kMus5{;}!c! z0T`?^f!FHA#$jmgrMAN*Cp8w?Z;w2Z`TUWgx+W>k+KtD+txb~R-aMV#U9TJ1W7iuL zhVr22+m{c!1;KY=18uCw!Whm6HTFD;1O4TcS$X8x0>cOhAJ8o$@CdGPJx`{)WDF!1 zi8~RIv7emGUyFl|8_<=7D8k(ZU0S;>(=j#fd+_UZIZjgjFNzib%|DNNToh44@84^O zM~;Fkzjm89%pE@N+=hn)E9u>XssKgV2kE;?6tviEjg;A(PH;ay7?f|qfktU#ai}bM zYt|&&2iZ9eL<c$M1km94wqNeXw`(-Xy(9nmDBx7gZnUl8)w{Ej!Ai-Xa*eR^1w|r& zyF$B&IatzOr%+zU;#;j>A!SaFmmedw4TJ&_BkrKl9_j*i9P!`h7qX3zvD$M$H4I8Y zAdQsq?|BMBfinH?71q-xNNSpg7&2^cTMda;CgSjmGg7AIKhHlL>82wNk%<tW2*gMg z#Ao5@zs>o?Dc%cDy_ZrsZ==BAI(2{`%Yx4Gf3@}9j7HqHdfnFtP~!ukCYT!1cPc=9 zgd6JSmAGHB#&BF({bt>5ve$dYCUZr~eg->v<feKOuE=<Dr*3zrpzp+!m$4<~WOxtp zZGrxjK?|F{e<HijaJ-->`$K1<GV5SQ0squXAHHL1^OGQn7Be)Ze$TfFarkpQPLvc| zzaZ1lBrQX-<h(Gr^QzAATW@cxTH)c(_oQcM-&19dJ138?dY@YMtRK}*9;te-ZKqi6 z?>#tcWbi&aI=lF!>Ew&7`T1itd1)e0rphBHF!FKjUV%BX4m<!qdKbF>O$2INWp|uA zPrEIdFh@TN-#8$UjaWaKT37KkPId5?J=>NInD{;Xd;MT!u>RfNq@Vuw(fQ*)eadA` zxcoW9;gZ*6-66trZ^vy!2FmHI00yg2K7dVhFO2PfwWyvx^Qk|gW?a}L^gGK*e&Ve+ z-%`JB)H=EIazk-^8QJrk`?MR`^~T;=aie_v_Hq6A^J6vjn|4Xh2Uc+zGwz4=C+so@ z1oe^CvWNP)vL{y<4?nNZpzDvBIb!Gh*W3M8r5|h>pV@nFTF5qO`5inN^V}tKHq(%h zoNvv!V03k(f$2=6e?8=^H)|98NHLJ&drAFl$9QUO@`P|%T~=eq$M3k_mnKqr*W=gd zxPAF_tL&-Q4-*wqY1zsBmTLF;@p2Kr)bnREtTMHOfCx8<K!RRQH$5SfrQbV$ETmfr z7Y{LY9Ka`5Ccc+;T`9>Yt{?yWquf*5zd+yFaR1RBnQs<nh?$}6u_TX7`fJww*FUR# zlAZ4eoGsU<+5dQ}@0QX+<9Dc~yP~~Pzf0t_UV9nT96e2Giq~sMyY+6qUvqRH_*Ahy z=oit)+JCXqV{fqvaky1~$}^DcPI664{K2Ax(ZNCYRLvq)UF(2-3ph1DMNdBd<!@(; zDW~i1e|x$`aW%&y1t&svxXi)-t)~rA+XS)YhOYbUXg1=2G~XYKI8=&M-#=>g<k(E{ zbPcFKd)&?D+vjtoT5a(6>NYr$Ir}qeAh=VjZ@J^TeJ_BS7IpjHOgVmksAaWh<a0Y^ zziV9^-xDZv)_r#6Jz9Uiobzm2pb%GdYieEQOvLvP>-WZQfN%Mm-@H_Pi1>PK?!L^C zx7L1p{c-)qaJTQ{Z5kr{^G#{m+yRSOjJ``w`1-(lJ*0MfX%zeqF4UeJ{`E{d;nVh2 zk^c4deYYC-JbOte>v~~EU^1yI7a0$+vTs3I@~6P*C7Gl8M1r}tESa~8GRGGLPXBT? zMvr%&_JE#S4->@UzTas#)!FXPAf~$q2L%50-2zuOuqmgPQK(k4@m)~avY#4vt7ki^ zQ&WwcW;)wc++S2byEu8W=JrC!cs(Hd{D}_mh?JX=&k>#f;!*v`0OBx=Ts!4xh^q*4 z;v4}v0Y1PDeO<NvOls+N^Q5Z<nDW@I#`<MDRb=cXY<=z9`Llx*NVOL+N`@8m0It;G z9(P^<^r-dpSQdUf%F5*X=EwVbwqu`0(RV4QIHtlvcdY^2v$Z{6asl7X{OKbDI>D0; z3z_@_;;Z;))--rdrr)cVx*?OB7f)zV>SgLk#=Y<vfogL9`n{#9jlJ>b@`%Ht<fq5B zZYVUm26Q~{92<HsO`bk#K0CrO`O=Ud2g&9idY~0$A_?lxm~u`H)$kx@e~SE!Sk2Dj z<@j#>>GBytYikhc_`31gj{Vl1^Jm|xcK;u5Zyi<D_OA~g1f--vx|NPiN~1JNDBZF_ zN<g|x=?)RyNJ)cqgCN~q(%l`>Y~nY!p6|W)9pnD<#(2kIoB^D*S#!<#$>(`K%Qt~r zY7a)?!iwHv4-r8nbuXd0poqlwoPFuQgD0$ItYD`lcy8t*IptBy4<E%H#f!icg*J~> zE}uul*)M2Bnvd@;a1RS|Ac89`g>@<`S-zJfqF4U7`9AYb^kH9a*IqBq$*1{R<C!I5 z2>-l>c;DSrAH^5fv$)r7NcvolO59M%cHSrVFsxzaLhQvHE@?I}A}m|)z3CtXQ{Cy| zbzv(Od;vYD6QAMrm)O(+Tp6(DY-h9Ux96C^&;xw8yO$PRa`HJ@)S{ChzsQ8`4?FVR z&KmEiKr~tOy_P^&a{bBOjUsGX@7+$V`Qh%uotPnN%xz1?(AHY8C4Fr~<5m70X1R<P z%Ecwg{-T!8+77k^*Xx_@nfj<d)3gSjx&eq)MM4q7hE*D{j}DD@XpNE4zRMN+6L2`k zpS@m}ybbd0<aJGLO1<vB8$S$TLp;;4#y8NdcSB5J^S)-tycd&PloK}|b_2nqcianO z2c)T_9j=XVs_UDDJAOH3!~pc>v@v)qgkma~u>Lpi#XbPlG~$gCV4mdppA4Z+(ONOr zdJ?+vpV7X;(4Z~CL2ku=SzqbGc8JXv(A#1D%N6gxzz*D+(<06OH&@a-L;ma9ug0){ zC(c6n+QCBq%;e!)hW#g7(~p3ev43xz$r8l!@1K-cd!Y881!n*EA6EMBMg0HvhgFe* zP7El8_)mP%?)UwjvKqTd(X%=R-vbI8j1}pe!wY_TAjmJWEj2F@uZCBk4z{}0Hhkhx z6$!+{kxuf*GpwedR|A?UsdJ6~JuB-98Ze{q-Pctx4F0iFE9cTgMoW#ic<uSvOb`V? z!<H*zg8I!~-nclVHr|4=9I`?^4obpbEnp9;3IW`0{K|K(cxI0gq2Q{fAin8SJ&Zs0 zND6zG2;d<v#^IrxkA&HeDXi#*A^Zt-r36PU<6L*#%urZWP?AmSpP48{#G(KnWHA{I z#z5KuioDnRpHU~PUlY@7w3XNXnV{U>>wjF+i!;w;fZQ@+3y^U@S@o3RKD1ifa}n$V zGzkEj5xA<OH#JVM&hg%&u+@5{K4+;-4SwMRwf*A>n$}O#WQcjC&p=X!;6FnsKNU)Q z%Xc7$`Md)I2Vg`50x>Ewip39In|`dA*bK3W>=hicArY15_)#ek4Iq1;It);sg0Tw3 zj*nUTEBjJsgSHu{kpLxSSJCL_^gH{I7f9!Uv{3s6D!1@kf0L$&MJ19BSvbFMN-=Lx zo=5b=O~v4A(+6sA&4G1U>gnPP8i9TTemZX`2B6k<+Y`{l6cmT4q$MR$HqC320`eCy zp9RwOEfd)}!Ed8#0L@R(kOPo3R(C>x3xf|KB+EiVv|c}nvcc>P7=r;#5cmLuR3!gh zxHgbXA}yUqM@@fkm`5<jfL7lt212HmW<w(Jh1|o_k!JxDJBVQ^Fp~p@qGY0T#=PUL zz?t+{UWRq*+vZ+h0YVxv-8cOjsBQ|D32)wrz6bLhfMo+*DCMp!MEo5|142vzWL=2K zEf;zKpvbqGu~9n$AyVvPTtLu)J&|Yf*I*b1J^7&s=G3Ec&5a>f7dvM28D=W=<cA|Q zl>)ENOD)zL!dR$=&UEu}x1UGHcF$siBwE{AW2e`fidB1FIklI6ZvEARBWp(6LlhVT z80C>|=s5lkAeH|~Q}dsbaQ|N@Rq?vJtQo}E*YMi$L?|#dA|8c4)bMjKtCn@ZB_<9C zEeL5?we#cU_9erL?NUw2x2Y4LM-&*3MyLwF%+P`kP(@Z4!^ue@02=iJCtDb~d~SNC zwFrnmu(26Gnd?(x!&1o}C>ojXT-San=UR&<08DaB1R6j?Vnq~leM&^Zv>o7jz}Ob} z5*U|kVXh=EUQ><!l4Mg;@w$l7AMi_Ho0}abk>j?mckY`ofq5)Ie&e`i0C_+U4zT3N zz2hu+J-|T_daT*r#(jiFi^&gwsGc*uq!c1|c$Ov{0hQ`_zz_hwtgY+BP~J#iuPpdK zCgzq`DuB)ktQZW7wA|Jc94#AFUx-AVrK1}NQpX(oKz3+|&)OH2wEF)DC&9H~6Ex1B z(Px1;I9g>=dWPVX0jV%|prdPN0sz~i!OxhZ07e4*LwyRqw&y9B<f{=9F+BA)P9?|1 z(d8ydY6D|K0*OdK)Ct^gsXv=2`>(>%2=Jd^t$o4S-+ewO;g5Pig#qF_3%v&hJv<79 zfqGFxk?Z7A763w}WxHT5CTKxVbh30tsf<P?56&7q_YN?8fnX*Pz&6mfZi`(%Fdmmt zik09`3N{a5D1SLY2(RO9hi=&YoY5d~{NU_u8?uVO;F$eSuJXf#r+A=9DNi_1gFV33 z0pb&&oHMdzW2gK^_8?hsGStY%83&L!z~wKzGBjrLlJH@*i*NcN8Y>OYyD8fi$z9cN z>VVh+FwX6bLdo9zxT*lA;IHCJHk{w=?$AXCA4W{P_!1Sn8UCbZ;(@aP0ci#pC7f6R zZEHY3qwkd`-*W4`G71=o1O$e$uX*h|7<oi8>?=7KCx|>MNB*S?-L}UC6NN!X>`xKX ze}V^^CzH%`8vud^(ZKDeGT;J8Dasju3c&O2%Zrqeol)Sx;QWEq6(Tyz=Jii`#bSr< z_uu?Z=8hPSPng~uyb$&dw!;%!p$-}z!%plEiG{9h^n_2%U;<qWXvN?6n*|I$(IvL% zum21n^2{pee~n_bguoGFSWCya!Ywa&5ngg=$AzGGtBE!FjC;HdFU1dzBEURs(+=5( z!Uc37J~(#VIA{lf69}JM4ya@r=R%B(?g7KuHK%E^E(io-U&PcST^wSd4xk6XS^#>m z<aD+K+^#)c>VGi0`(e1XK&q9bOaZ3bz<&W%iDEXWf*k810ZVfF2J(S}!#{vq$a4eJ z59%7QuYGfZ-H*eoS9X7Xkq2#ckmZaHx)Rj!=b6PvU^HN65=_LTsXX0DHqrG!rX(*L zzj3Nf8rgb%C*f&+J1_m~?5MH*UVo<LNQLE(YRg2Yg)dGD=RYkI3pq^Vdo*PPbo8DV zhNRQqOYd6tw+?&%{^=BpUqLZ*4{}(+mA9`vZ#UmeCRSnelZn$>P9EN5A;)#`-t#2* zY)&?PIC0JAsEEB>GgV0xr|EljjTBK3CFL-OEzS5CJn<n?U5YeD8}S?l5hCk_cwE$N z6!lL+H0&Xf*g>yymNI#nUUZX9aj+`NT9!Ho8EkX4y-{PyRCVm^A4$N#h_y>e%uzNP ztR{aU*epQ0gi=8ohDT|An<!|C9-$OSY0s@bW5=i{w`?%?DqR68qOE{|A40MDZPhGK zkcu9O_gZ;dev%|r`K>nW*DcmD;nV@EQT=Yfm-k1KGM2(0<I>&4UT>OI`I81ZXS0iQ z_9?@v$X^T@Gk1VRe7!H+{&~kHFt2)%xa$r5n8wDpY#z_1@xC=dZm8Q%)Lgu~(lZ{p zLzvC04?Gl}Wn(I(+)<5cb|okrLB=jDevOUpvIAw~sVX`I5Hslafl!KZ_>T;o*SjZT z7n3Cn_a|)kfA=P1GqnXj)5}=z(+v)K4jmyb?Nt0h9~JWw=YiKDakl!p7~Ao^4y?#i zcg~sl`dPP6xR^#-dhz}RecH#zJtMIYygEs}3^ViTQ*2apj3X&+7}1aWj)^oBgb`OC zko+z#AfJduXq*OnUZz)c=^D;eqGh$`F_&~x^cGYw90Yu$<z98r9aWCtc%-NRi(->b zSAYmu3MT((&dg$csm9IcN@#AS$noxJgx$UGJv`rR*`=TP&=ah*QWZ%!{}RLsB#enq zla}(Po_UpQ&1!03$4*6-*I2poka}MN;@Lu#M;Qf)zrq^M?3a@&B(D{+f7yZZ0bh46 znSh{W_+|e3wUU7|&PUNr$~sRi@iFx`bYlINr<Qrcl&;)JD}jO<%n?fC*IcZM>rM{d z?ej2eR++`83|3oxlQ@Flh+m49$m(phDcO|e5pg3^B^5l#QajgcsDi?kqxSg;4z{CK zGnq9*EUd<?b-uF>uJ-j|!j@cBgRNfQ3wq7;OA}?vM=MW#^Q3P5H<1hy&+z-hvVp6B z0QtQD%U92M?jd{Q6SGLg38b2gK7>viGt1_eqQog><reiBn|~x-3c$zD-tX~}N}h%q zPKN2cxLJMcl2^)!YmdBN&(i&>plMz2GfIRG45z9(mXVj?VgHr!Ckxfs&)<#A%P*!O zsaKIIKDA{_qRxJ!*B>u17Mbv2cjK~Sda2ziFx7<fg1&I+xTLE5hwQxRRh^i}1g{Dd z%mzF2B&S4QN+*~XBvxFa<DQ!vxT8kY`jm{p?Z3ZNpRT|@`VIk>+LXy<ywG}9Uw8IY zFQbZZwIe&$HIXSK)-QksW7J;ex$2|s?~X~bC?`h==-wvHG2`5rq&`-P;7{2rzlaQ~ zl8wy15*?o#@XPNIViUXX{7VS^6TB?B<t@e0X<0ztd+y>>Rp!;MZq=5d+-IR3<ks!4 zzJ>kRri>Qu+@Fuf<&U4@47B$6-eOqL9@sL}MQl}zLvDUa3w=ugVR-VQ-Gx3qV-2zu zo;02Op1TgB8C3?M3Uzgsv&bd7>bTc+&+Db;$Dr@O6)zM}EXGM@YG<*l<An9$1dtRo z$<mu5W3*%sl~`<aHN96W^04UvQ5m*X3vQy)@`n$h<OIuT35qDMOK%G5l=UFiT82m~ zKl&!LHfoajmkE<N*u;X8f92(MEziaw9CLlZzQWkzw1%k***g}7_aSWL0SGaIhJ^dp zFqNAQrbhj#5@C@jUK26W(1pW5mU#EU5_Gj0ovCK^PiB)Cqkh-YnzXobFx}~(5OlH# zVQhK^(*jQ$O^*jTdv+7lV-w%^L}BtUf)z4?>_>{7*b#Pqdey0I7j_m_!PKYG#gIx` z>fF`VmKv*6dipmO<0A7rh2Pnc^SZ~QzRL4qFeV2XNWI-smp-yv<6wC%^Vz>Lr;5~> zJa{MgJ|PuVh^7e!-1CtzK4R1N_1)u@XZ5V^*H+_z1+@j|4@5jCyJr&DQOH)zHd7Ll zMAV#MO5W}296V%x@9SxMS6_&Xs<GgRT1IRFJ{Gu6SrG+Q;r@L^%Et11SE@Ya@6m(O znq%1F8~b&bq{mmnD*C-tYhRMtihJhcUF{ATY$D0064s;gGx)Rpy9Zy8x*TRSKj1w6 z>h~y$;v2&SdLaleb>n5fv|Dskx^vhuNN-!l<oJdQyVhP9I7iJrU9j7BXt-SK2_jr> z0imUY;?wGCd=%Rw_75Q!m};!YDWlpO9r0SpMjJhPTFL%>5!&c5AZ^;R9Cq2M?R_!& zN++fJ)@6eF)59ajwX8+CHn$Id>|07-pP76o$+eF(jf9+1I^YDwyr}-OET^Eh-)bhh zK)NxofAIV+X<Nwm>8V(W94;;tSEW(<)R?|i@lbsD(6H`}!OsFLis8x3tec%bjl$%j zT$CBMni^4Vv4+&cMdZ-bCg}X9FPRy+5HcTCx;6r<4Q2rW($doA^(Go5@u5{Fp@?r5 zo?I#-e~zZAIr<F`{=GN!Z!$Zz{b@oOB^O@4zpnrA{wbyqu$h@nEZ7p3TDXmcl><IL zb<_PIZnPI)`HXxCzZLeI`qNy(vC>onCsD2KO(`BqO7?x=YH7WpJ0dJe9*K2B#7(p2 z%+aTegmiq;m~qOjIyrBe<@oSB7_n79GJwmPTw_WcPKy|RDG);phb)f~r%f~bNFa=3 z;eecm<bIs8KS-w(ModgEwuZ@1MV;?$gLP0odS+J=fGxhF2m^<26sM5$A=-j~3;MRs zKv5g!UI(jCAFK+u*IHjgZjR;|F`<nMrTqe@7vlCS&*5CyE2!Xqi%6N%&1IObrV34m zgxPd->!$^%mjmbJE<r<`yFnBL^dH((-gn6#@5af{9+pDIPbn6z9n4xKQ!y-Z)iR{x z-p(sCH=%)DrS$9>P{%=$_(=Om+VASCesloB6MO5Q6B}dutRDC;8ey2n(1Y^@4)KwI z9uIHPzv2^f1)^$*4q{V`FKvbh5Yvm!(y02<ji?cWqjkKeS!;!xp5E6SZA|0<@;i|g z^94S410D2vi_`44!dG?r;RF;E50b0imz(vdC80|6P?92j>6T{ZQVK3r@Hg}3{tm{Z zy1x1=ywG@>!|^n~G+^|S@C6Dp%kw}5t$>G8+<d4CUGmY;xu<Imj&?DVFe5(jYOgWN zn8XZ+3q$(hM?_YAug;Td1yH-BbMv|+!5`rLNClkwYmYVGPB>bXwLBF06R`L#=^9V1 zhJe7!3<sldB5+zQ*V0kwxDQTbWGwG13S*PM?YA<!Z=1%W58Y<?8j{5R7?fckiVbV0 zqB$#5=BzwEB}oT{+L0{@e*5y(*Cjif1m2mF#|#`_=Thj}!6@^r>zb6yX9A^D_g!15 zjE=3{_w=lIpy&V@*LgD5`K*XxN<l;VKBCl^xWt|pZu#X(3^7v)ztTNk*rC9Br4O^N z_6}w9vZ)Fm9?y-9F^Up+yVWE_kS$K{7*hqD&ah?dxA<eA7I9j?%1LLR%LoCvv;I9d z7e%gduP#1oFOT5zm*S!4D&dIIi%Bw<$uu+?5|0)N9kKjoTXD{4j|f^}m>;JK4awjB zl7H@G?I~5*E7r|rF2HWohm;wHwoTky#aE>lhYpI8;;3MS*8xFSqS5{|7^EPQe0E1N z!I6Gb8?3C?l$V1VK>`kaOw+tIcl28oYa-#0-6N3Ij>zr0x!$0a19L&76KCAiGg=nz zdqEwNq~!eTg~{I?5GL~OkBR8xWyG`&X>X1tck3NuzRfQe3;QmIhr&(HOplyqd#KNj zpTdB3SUNKjK#T5ou@LYlFg;Uris^O!XdL=vL^UJ1$deA;kCemD?@>s^r)TVEL1V8& zdVVXq+%R){KqQYNUP?+{z;Xh?=SjWgVILun(fw%k@yJ;#?YDa6-hJ*dEg?641A_Qk z!43oXU$@nWg?$2-|M@aj{J;MrDI=&N_$GI8J4r%m{JXPN1A?A+UQ<yvqyH52{23G| zq+)KZ2+@7e&hT6R?gRF$*i=UJ-}_ydOSOCo*s76<OAYX=m(JNR<-rHnxlnX9S_iQz z$~44*GdXt~Jt%EThG64-rsZOyp7+xVx?v~CMtOz@zV5^k&q(#<0uKMy{_=tQx8hN& z-^T<m)nTIRmQ>#%H%v>)u&B*yCg^j-<tRtR{(tsV;awCaFsz)7n`=_wHXv>tZ8qR9 zA?336zE3N~WAw)Fc`=I5yb-owti%JhJvNpa+1mt3@rpjzae4As)%QMe78$5AGJf!2 zC2Vn1Lchk~;n*l~Zlr*!M_w_+$d`nev7EDPY3bHwiyibS%AW}WFGE3@JoGY0_DyDl zqY^0jHP#Xke?uWL8W?-DIs0RuduL>bdp{qcb*4o(z)+Jip@VZq3?18YoFu#lF&32h zeB*0$EZj*9ij?%cJpa)G{6sCLeN7b|BwTrEuyY)fLT=-l+7^J$H<kw-AxQ)6R$MW$ z=@v7avW%KHHS6=y*yOAL<-};v8=R4swo%BSc0;!L5Ydk7NlLkvsidSJDBNSdraz4n zpaI2IW;Sz2eZij{e0I(C^v|J5u^-8nH;|^K`6w5652&ZtKk8rc?CiMDAkInj`|0Zo zv<uoNFHpUukOIUBC#}NxyAeqwIWIta8M}0n;uUiG&>t6Yc$u#7L6K3?se+O*xx)nd zwmBYRGfu+5-bVwDI_C4+hf<%9#l;EJteBss2qPi!;HPIGBm7%6@NfVt&F&s>Y-TnE zDX^V93FsIYOE|}Ka}k!>FsH5-J|;a>8yikZ$!k1<<>0Gr$~rPN5ZhW>u9ptDq_trZ zAmlw_(mCc8=X@Y+Bc4ug8gqq(k4SC}=(o3KPqxC!oL1kkEHQjVk1Ika+u}YvO-97% z>uXYUQZ7)JzcNS&1m%jP<fGi;fu)*{OpgLG+FwSDtug~w6aoDw$Zs9>egAIU=-)IE zn?UW~^ZP;0hIf0M(U>JArmzZrC?gcKBhAg@2@}BJwyl2QnA1o}J_3<+t&eqmtt}c1 z5OGuukiNJHT;F)!KN$J95$@Yud&2@2(GH(m`9ufKPjXeHd#^HsMN#PoeeNgCXN3_M z4m&-Gpxv^J<@W`T%WUE&IHCS2n?Z=B=lZV9=}}wYvnDstOUi-+06pVX(7k|wi)Izp z3QxH}$tdu!i4tH_fpsLgS{L;C^9Z=9_aguCy|zZAKjkSg$V#M%e7g^_7)DfybMqFt znyin`NhH-`Kpy<3u!A5mq+HWpyFkH(+=)eik+k3A-N{s2KnQqCVAXzWgR!lmKz!M| zPSC*R7WRPVE{T;0R3UJYCn7kYCl+DfDChZ<%jzip4@59IgHG}0(Y?A4NVT&Q%CL_7 zmX}(|$Z-uJH)iq3mS1o}p3AM`tU_gUgqPLRcB@}Xqe?cpr2+pswDT3XsiL1N8`ltz z*;qgLUIi~wz-eIn^B^coWPcl3)sOVAw31hx3Nt|syGemHNyep;SJdT~O&gl*PIRSM zLKxis^$qADDQ~?&NCVMefLjDgPGiQTSjk^YjWw!|)-p!_5!4E2Eqt6rL9+P};urP! zw1iVoq15EOH|@zHvM*rIuV=AF|EumlJmMb2GtcTQN!Q(dI*Zc*0v+ygHDNXqatmJ! zgW@H&;9u*(OL_Lk?LOcu1E*ZbvU+3eC0J2eE7jl&I?OaW%@3yd>iGCbyWCnWe1el7 z*lal`;<d;KQGf@+XF5CUi-u$0b8qv#l)gVr<;tWOudMHGC2F^(!6Id3J#y%<#=p%M z5@IJFPDS))fP^L%?kV)6x{%G*+8QDU%g&L>C=g6OezKOemCHW(#&?GtGv*`F)(P2u zK;Bp&Tk%>lXjlG(<Ou3Ndr7gpEIF+GWy5Ja65k^&O&s^gK26F;Rw|hsU^((PWFSYp zdL0)I?8}&FoJ?D*MI9VeHV;L+%=)4nHzs^huIxiX6=-=tk+r(k0aC6Y5oGQ07Bj12 zP^vn5X<MS$zB248<Ud96qTHXNn62TW37zSwUSjWkiQm8mvoM#?U9E&iU#iFO#VCK6 zbEg@W2DU1%5Eam-^3Q8(;|WQZYzNwl*fvV1T*fa9{}z2;Q8OFyw(>AR<pT_&bsogD z2aL)0?R)S*qM_xJ4g=+q2*sW<C~~<zJ<LkarpJ2rY}|<m2h&IT-(+g+MEl=GVKK>{ zqVS&xyOx+#d`k9bN-_^Yq61zfuN;N|m3T%9W}<5dvsLr(G)$3a+5xB`#NG0aW)y@H zV2Iy9@B_!q+A~6h3Hv7jou638g8#GKc+n5SY~Zw@`N(DNhhVMf@&j~Abe>aon@jo? zlm~!apd?94=kt$zV-*g9tc|IFZscQdTbzTe5KL(kZ)(QG=RzM6XX%KPpEd|ngWN;D zeN1^@qNiK6Y-R*tE6>O%A|6WN?@Y59^_6d(R=x#Wk_G@BdnnH}a=|P2ISe%r%|U7# zdP4LxhhI*#DjA9K-(<_}5d(P)73K_i)djU+U#-cWUgmH^t^74*{Ym3*xdG}A*FW2& zk4H$gYFC(r3X%~B1X8-K^8cEB+eHw_*lPc|K7>2)|MMTMwVn3JSwC}~UK|9ZD{P`_ zFF(ghHq0OBZTgi@vdH$(?K)|0rpG>~k=XT0Z<w3ORPlG09N!0}*5q5w)qMZmqJ)v} zEwSFtT#v<?n<dph1x42G;jQ56s55&YF^3;hrI3V?y-^Yn64er{rot+|g{&VOsxUld zZ0=9giiKr5dEAZ{TFJ{tP#ss?655%!f)fqZFpXi^-D!#~S=t_mx2`*zc9oOe6RV>Z zlawu=-*eudRuMmQUTpG(IP3PpeDzwW5uq4k**7J~)pHo@+eUF?$?pkISeYjY{YV_8 zp<cNe|HqyDpi@!TmXjG<T%(Q%f#40*kJpH&0{6@RY?fBdHnHR^QuR490a9ryiatsl z&RgOxbrf@3RmJ1SP<C)qy*!jcKEUrYqTp7?OLCKQTH~Y|JzzQovSL?lb|y1XaO3y( z=nW;onmY1rN+C~WPV?Oq#0?yTS`7(lHiDzaiPI0{8TL=A(@PDx-^^URHve_A5F=p~ zbR)EcQs8~|X|$FY?W(!Pl+bU*gmRuOs}#o|np#M-Ge@m)^^9ZSy*k(XOLKUKXmrQN zwO$hF&Uhqeu}=Le_U`n}B`n9efK-9vbJxuf*3;NHsOvy7b}tc>a>l^@PTY)oHadh4 zepc$RR%TD9Xi%BzwU_@g&R?&(s99y3cfIPV-QUXhcEi%Gnk2l)K*~**9&8!Jz0<|% z=8~yplt6CHy(qxaOcRq@^a2%$C$#nWk)oJ+P0PuMf*9CJ9rfq?)mu98;SCv)U0P^q z(u85*3p=H6o(X%3GwMdr3?`Ns+u#2fm$|8v9M0x_KOhK`&ZwZJBAdtWm@+N;l#FZ( zNxO_TnYibXVlwXrd?i<B)Y5g9r<^Duz6WmDN}LU4IST1hY_3;h;y&I%2H!s0Y;<EB z(&}5hyFC!@VGGkYB*{W=&yYJ$Q=gi-Z2S;gu@sA!T{}9B_cc>e@fl9`-kiUwtM5Gk z#d=ZTwu~9Tw?e%Q>YeVZWec8trtQG_i#JJf`)?O%XrCP$I7xU0O$??=NowSs)>{y4 z&+m7Hd7cm5oUlye(n#9r^LdJka^TzE-8>mN#nyJ)V->!;po(*~4(?LvG90b)WFnv6 zli4{NEV){eVy|^aR;Y|;xaGvq$b$J+;m)a~8V^TLyga$mA8=Rd)UTis4|ouV6JC55 zvY(@JWOipdz@JYeE*(~N-=@wreP>Xj^r{(oRoPMO`DV!Jj;9^`Ec#`8q%s<9>rlw! zYFlXkN+-nT1|_>Narp2Zm!~)nFRB=qAuT-v*|Bn}<oRfhw#zw_CXw<&HHi|%d}{<U z9N{Ex$Im5}pYu~s1&M&ww)^#d5$qHmNO?9hz%{uL=r}X=Y6bY9%Xti22E^uon*Hw5 z+)2Va4D|~a-Q48rA+U+9ulw<n)wb266;T0@etF!cltH$m6?ej`D1qf)mPdGyV!I;C z5mvi5uc?YspDeAW-S2}Dbf%~=dzD&B;SW&Sv>?2uA_qXGu{fz~fKT9Ovp=h2)EAr& zaNp~u&ORn)hb8)r22<FrNb)vFWVV0OB=&4D*C=XD=pqi^6R}9{EwkT;;goV44;)SR zpz8~!IbMlfXU*66%m+L)VgHI<n)^MZsW0ycxa=TiuMCx?pmz<Dcsj=9?`QbZ4TN?} z0q+*Q3tITNpY`+_c7m5Ytom5Y{3M)HNijM)rHK{GLjC#ABL|7Iua=$-(raPWFXt*T z*?i%|R@4$fJ}YRumql{XFMqG^Yzn$Q%%>533SW|n>6Erh$#`jQe0F5A>GK;U{}%q5 zwA$M5C10o(d1T^~G-tT^`kn7@?s0KnoY+*nQq<Z_)WsbxzxUh|=bw3~UN=+KbbYlh zOWfK;J-iA$P7;PL{i1mZforhet&tR5?`eJFa-7{CxH`jQ^o2@DwdVAP0`J&0SxDO% zW^fYo2$*OPxpxN<+8_tUg|I%bSlP}gUin=1r6gA^xuPF;6gi`*MYc`b!MH-_cIO7( zH!?%shvJ&I9=O2p+JJ%VnjO7;+iQ1sYjAOR@tLVXB0?rySavoDfC1m@G@-wI@4_|C zeWix4g|r=3gjLB4kxdz(tz}(CXLUvH*QC6SLLsy%lAe#O-43mDI6nX09th$%FZt<e ztU>01gu+tm+`tCirs3@TG*>rtx`{9B>x<r+9f^l_;i0|`SR}zA+~dI$=x>r#N0hR< zvr$60?&wbf__?nT>zUjGs=w~ak!suekzyiNT`zR;f;4lh@@1oNq}c1SZ^-%kcR`sy zSOc=!GHfPr*nc_`O1`#5CoPBUp+Zi34Zv+AACmc*N-W4U?`lnXY76Vzo30PfhONCQ z-QB2jVeoII1MUrs;G5A|KDsJPjJDc`wZ?0|0!;?b$ZQi%#6}?=ai~o@1lcPVYOy-o zITG5PAV6lEfYNL~{PN*<G3CKhli<VEZYiRf0+rD4=nwh6&2&75=bza!hK`p}d%kcy zvoL0VJMNSYpW+pPPGcGEcORs&vb>ky_Mi0A?}~qg2bi#Fa4B2~)6kO`VMfXs>jMI_ zOY$(yLfxqN^Me@!I7pC`m})Z0!mL{LsDZ+S&wAu@bE?xe+Oe1&_GDt%pdP!EbnLH7 zCoOeX)O`e9N~l5FqbgS`xrpQoo)99;CTI*5bX5#aQRY`?#dyogV7FF*B%54`JY^ly zj_WO3L280e!64fpjE=Rgdl3Jb{C(6EOP4(Edr3OKQWo+jTmlSY98LR(Xz+_y_M~7y zMm3#CO;4j{bRq0QP-1?oAU~=tE6xKH40zP*$j(ueKY}dk%#RYdZ{B)7Mx;cem%3JL z3<wV&pc-9zo{FR=&g}Qxlqzzt`}2yjFPm|CyIV064cnJD^dh`?pcI)(_%-+>etB+R zH22d-BoYIpDsO$ibB{jL0eZzj5LAAZ%kC~{1dc4f%&~N4RJ@$-u!Fpt4+xwnqGyz# z0Pd!JvcezS;xsjv`psYh>&{LnlMadU{2aJ)$;p`wifpjd=1%12LGktisfCh_R@LR< zn_aSP&k1@_ex$G@CyNDl3i_0H&RO9P5obncRDXDN>8O3Ph-Cb`Ja)>sN$<|J6Y5Sm z3&_xS9TgycL$6m&q%)b)?DnlTQSm+#*t!-1^DpXm2O;=`LLxw)EO4>Lf@r`dn4Kp; zEOkMguy_A9VD*X>C6B1fHZ_z#n#S?I+1#&KufV+g1L4c?L2md3H}hBmx>7_S2t$Za zE~oG0!r8jiist6sd3tcVnEz8mZZ@bqr{Wuk3Yj|;;I`3ZXlDq^5P=F)Qk=y?w7qWR z`mWb$(~ryWzETFa)b71}xc1YD!sUs{c25u*mYV&0u835x2#`Ac2EXwqfiphw_T;{^ zrb#aw#fwXgd{TUpVLGE3-BT|E3q!tv9GtL-yka$)txipu{4)Qo{RZwzN7;N!!|nA4 zt|CF{l&LfLQhjk1ovVNJ5Uxi~9+E=BHQCWduW0hSe9B5u?@4QoJ0ZNz=3Ke&dV1QT zC;rtY>aMJ0u+&Tu6~yZre?z<dcNWauP6Dns%1t8XdlT5SX_s@Zb8|=sHj>iCBb_LX znQdd>=~WnNSC^ta=0eyHk5kNj#bUdApXYA6(;)qCxrOUH!E+4zT;Od`v+d7G4UB2d zS1sYlwNxxtY7JvOWi}J+OvX@?b4n8P9|^Rbq;id)2L;p8FRdILc%3j|cH}AM^^kc$ z>e#f7e(fVdxQk|4ql!=d=_Iz>-2iKaib{#d{&Se2i1~76#(@O`8~bHuxwkBR)NVd9 zgHy7AcncrBK8n(_lDVUbv48k1iRG0rp2}E~o_QIDmM`!>W8}qk)4;76zmI}mvgS`; z@H#Pgl9U_xO4*Kl<E0ArXRaP;58Z#jFX#niBTlW358KU-BjOv!D0p)^7#PI<L3M9- z%Xtww^F=Qvj%*WBI1sR9!SI{#>qPa`gO6*~gHFtfB!+d{C*q*Wv^O(lcP<wl*B=z{ z{b8!j`GF<US^M^Q@DLws=(6(wkry!6`y{76KH=V(k#d;;{GE%0d&__!1}PUi{F1XQ zXA(`x{;}d*r4R_1f`v4wEf_Ayi6F}C$u-DqrK93OuD9hITE?bau~n3sW_<7ZF-jOt zPCKT}Rq&I)v{S=RMx#q@W*Bp}N=%QIC+wG6w(zT0raGh3EL%Ny4~8BQdm#O>SWOjM zsf`0%I-C;<RdTtJAkc$p30UK2&kd%e!MD^-?rA%~AJX&g&7hgL@IizrfBvKX7<IRl zFZm&;hDt75bNXCCa;(=G<vw3M$B_XLcEOF4`D@fbA-CVFbS*7Z6RmBNe?dOltOjym zT&7PX&7U!Uee-0Q#i+hyH|NejyLFe*%2Lo;?kmN@>*&0@(jVRxd-L7+o<4LuC-*|S z<f&uN@gRoU4#z=K6XY|_)L)}&apYud5C-aCu1HoXdXBH;fVtqQc)RRaH!xXXiz`Hw zU6lc^Qe3G1vLgA|s2<@(nv_4vvBd?6vdjAc3)rFpyOJjzJ3lk(-qX{DUkkwv@-;cC z>&7*hj^=;PSXfcq{&;BKQemQuiL+m{PRYAvVt4ro>0Sr>M?`=f`XFCU`%tA#&(>@a zE~PtLGt~E^tATss76k1)Q<uS(G%<ddxKNaqFv#xd#0{Gw(;+5kJHwTt6p_xa@Gg~0 zJjd<EVK}m!=5{yr82v%o00kVIL>~n?LzA=LIMA|42DZ<QHQFWr`Z&T8&mUN1$qk|T z{(7+yaEF2edrDKsf`Gg%WSXyUoWDf<T17l^Ii3HO#|e4@$M^yBZ$by*aVqn{L+WdL z*ubh_{muD82uD{tsQ6=l83))OGj57c|1*aM5}pJl^aqF^NhVmFuO&hG;WF`qAbWp0 zX*z{})938L==q)uh!E&X6|&{=ozjBN6Jy>L&DS`h|C(TBjgv^rSwo$RcTlv%eAAA| zK%xYeR<Yr-b0HI=yjrauT&3LcIRoMroX(&fPfy53Td6&?72rK=6fPAVV-?Q4pJ(fv zS%A=_781$EQIXF8dbU0*Q#2ILRGtMyEdyEsU~qzw5eEwJt$_xfa#chb(AFkwm@OHB z{Rbw(Qmx?Myxid$=WvB614(o0B<481A~JnJ@@mKVgvm7Z4!K{|oXAv%ev`HcMwBdC za8IJv)l{stxrOlhG)7i)0SI1OS3$434`LnGlIu-G>XbYDc%j=Ht0`a$0*~UNg+MW% zT#2dnq^dbM)^4p(Zzd2?y3;cxD1{fkuWFBn>>WsiyC0il!zn;WD;`v+BJ=`ht1oQ1 zFRB}0`7Ff|>~tg_<+Pgr>LV65l*VbpP}JjHWCu5b>rK!RE82!{#4BT|-YFnz?67t+ zL|d$MV6~gV{}BOeEwxSPo*8fy)%R#)Y+KR4(j+i*UenMqaOa>uPUbAHyQzwPad<m3 zQ0=<8rEYRw<q*8lp$KE_ObE=2gg7uN0tY+z6QStp3KMQPJ}ZEZb5<u9S=bBz%EM&u zcq7-djsp9jP)c5seZIyGi5GX@m6<%4K@kltO2_V!K!o&dI2*JFRLAl!{6NuW2;XNO z7x(P(xV;GO9>%gWd%QRQL5`~SclB$bdpsFB2QOj5@S?2_#sc^2$-U~!!&X;!xfz2} z2MlE|U$?eBxAvc&F8H=o7^6#*C1=Ui-0(@)m6jkeY@at)tx@AJ9&y595HMZbH}zp} zceg`g0<;JIdGOaJbgO-Xh-|PC6@Q@c=svm1w2JGQhGtQ791|`+9__lb#PZs|kw-qu zZYQi_bsamns9wQYUu!;=AX}=ifbn253Z(Da`gK!GHM!>Kj+Xd|cu2Bu$B&<WFZ;e7 zp9foiV-l}|(n&uI&18mK#6$&bU6*@X%v82M^Jwq`>)neQ6taJ?_JX9eu^q|S>GnwE z?RY^|UDfe0jeJ3#9js$ed?6xQTvuZE;Ho=_KG^DkGxl(l!5dfY36*5gvBi;iS8zyu z$)<ChO|Q2j*>bS8C!u%sprijpG*$e?iAnJ?(-FcSk6+`Q7f9Hz*#rwb0Y{v4oBZCM z`q~2GQ2UQW%9Bzn1CHkClgM#0-xr4rG_g7rT-)-kp~aOYDDTQpB);<Z&!0}UG*D@{ zRnHuGR4iet$qFK=QcQ?72s*7L^P9+n*L3Z@J9AZh7Bz+KU}R8hxnnk8RBy>m9HX%2 z(n(@a7t}uC`^G?DYql;ptNI;%-n8MatN0Z%%QSiLxk^FaQ_v6N4E|Jv_PBRsh3D$m zM%?^do)-&#ai9G#kAdXIEt1eS&7ob78bhu3TOdPeQ+M#0WsSocWwC9Y)r9%QqQ5i4 zTYyyoq&a;gjqSkBTF_OOLQ`UOqeo;~fc@hY><c&Xs+)Cd6oMpe>4BfWDtk{MnCsT; z)hFWJvrqO}#~U0i^04FOC-<2}IS_|h(yb;0IlJz4l%I{pdxN~%mwe93`C6R!5vaUz z|7~_=s>+%vR!i~azZbrlAVUDKoL<Om2Mgx@G)hxHd!dIJ0P;8%nLYxsMlo@I`^Zx| z^KlyJEyfCT`rkc%S@z9et-BFC_I-&mOFmi57l#>TkFoGGRlogkeEcI-{8SrO<b6x| z7)u!MYp(PP{J{9s9}REj!GoG|Y^>z$-bo&c5bTvGO1-LZj2EGD`tID*E<PWMB<`GQ zwDj8b!b?{>oC6p;>1gRgD!EqHmE3Nwg#vOOBWmW+hAUiP`U6}4=vYX2q1%WwJ~eWx zF>vZ<QA>1poz>?q79*28n|PM>iIz{jE9{ZP)}the`GEN%{akf|F-_S;&=fHK<j;+H zMbdg-A}sVFsBzviNP7zZ5-iCl55-V@)CPx+!pT8qi}+<bH8^d3mq|oZul7C!9pBHt z5WfUe3gTPVBdkN28c)*>WvnAe4;qtgpY*aC_3;*xL_MJsAHX#}k`~~yhWgWBe`PVe zmL*rbB3*rRKRx}?gSzT?L={)pfxzlLWpI?e3Im1Zq6n0jIg^I$@1ueSrN(6-0Duef z&-rXgMtyY$-;tP%wSNO8ALiII<}NJR!EOE7A7g$653CXpsNp*XM*t5x8Y)RY|0p3T zNm}P>-?`6Kz0&OeI_B%PKB)+z3VwKNhZ>gj095&)yuXVH*!m7{qyu#czNG@p`<m2z zPT#_Tk^=oP`(x@f1y*&}!ZIwMPZSd&9OWOPrhnpWM-~rZ(LSPk2r4nqt9IezRP_PK zAls+5SD(7Ic5RraJZ@SYH+C#|1*caI_G5;#!ypk9iRlg1Xxx`mF*5fV@~Q|B1){XN z4_pxuFUCe^CTZQU56&FukALJd=vCXc?vM;H0GtWnTZocJ4#a)fmv`*-SI7kUJ(Ep7 zYK^n)VYo;us2WN4qG=@F(+l@)d80(Qvvl9xEI9KC2tCwmEnV7W;n?&#K~qiK#{Wth zZs~b$1fn}N7O3vniFgss8lp*|z~gf5AgcQ(kgFA-5L2E7APj_<5)Aw%0=4CG4@L5q zz-;UTDEOp{-Z*pk?;+5$0eA~N1bz9_1fua-*(GCk7{Lc^OQ3}QvtIL505u4`az}1M ztlS_8yJ0U!1gPc=Crek<>dW6ncAm*ZaQ-EAq*ZD7>Sw|cfWcrmiS|V+v9h*zhdKRs zO^(iwGu1<vaH&4w6YLyh$j26^^*)x1mFR`Tsg1<o6V4;zc9`dHPXuxXe5Gx7r87ob zqa(#Pp=In9aM?#0I?-9xwi%#FOk231%RZP1|50hM>n`4+-gtzpICGrkK9j_D<HB&a zZ|#5cZcVS`-L^s3O>J`eAHaKYuko&<XThg^jLTKXK#Lvc5b<3ayqi!N!T}(l>;pKa zf$wc-<zTAG@2I`peciyR&b<k;z^t~F)8mby<B8WU@BD6&8ZJ&JM7jpZ45c-E^PUL& z%xSK4WSrfymGSt_?;A&uHCdbWKuejz?%GIf+We96p$oT7|8vTz*TEDdU+vc|2n`c0 z=SKMjwL??{h?cg=7~bhybOg=cs~3_Wu9K*w>5h&*Zv9~J3uFdVi4z^<3PAaIjp(S6 zeYmOnZnu|&@kIq&x=&+z&@JpS;ZgICd-~$0c0UXv$`|Eq2UObgKI~Zx_)G*uPmoOS znQSv92ULqV+5?>8i@mSJ$$zu}%G;%HEgyP$*BYWe{`!*g_WQ$$!9+VdSN^(NV3iDa z)KglW4W0XgJ+JghTP{80pD)|(B)XUHqN&W5y7$VtU0)!XRUSv{_cvI@e5$;YnJ6lq zVV-iKy>!|RC+X|-1Bvr2!QHC3`NRBjPZ(rl6~jrw-ETm`M-BkJyH(+#I7;oFqx(`{ zszH!H{b^OY-FRo}3u;Sf$|cb>?(+b~ydnFu2OhUqy-T|mph!h@S#I!yMk)|3Jok*C zKLFHU$N%McP*?2fY^9L6F;e#Kyy<+<_7pFBtv!{DZD08dlcm{-lEZ0@0uZV}@b4VE z+g-Q*wOkbSK$Qh@Fs6W55`h2w3c4Ai1M`X-(LsUK`a9KE7TB%Z&VbG46Cb1Ms?(j~ z^TpE%^SX-i@7t=gKb*1Ynf5zdOQAqV{FOf$0cB|3p0Tm*+Wgd(Z3$ZIVOG3xAORp< zNabM4a^*qPbi1mXjzCg+VKYcwlNV_I)#3JLt^U<XI^d)0NunP<dBBmLIyMw_Y@^{0 zVcFfE$)ZEDm}|gh^ZgkNkhFUsK_nqziJSTyif8vMd!1aLl9*@1Y!UVHy)_@Vi^KVt z`{E(Pe@L$u3|_Me=-iKeZk0}n$S6m1Ax@KhSc5H>dC=)X(@6Dv+vh@>NO$3oJA<ls zb0OK;)6fMb89o2_#`)t-+xvqT_;;LPVZSbxwq<hCpEkKc?{2w<Z>OEUoRhIoR2ASl zSM*2ob_I2Ec_FH@N{d(EHLne(eG7pl!3fT+1t|^sLC|&o5f6_Xr|!WW>vn<~{#Q!0 zQboU{yu!_^W0fxYWVCUzzQ$LuD+TWox1*gyD%nh^pPj6s4<kt9Kma+k(x|bT$&gos zITG^^fc9XHzfmf7MA=fu@|X;h`H7#$uQ-n&AsMsljxF)rySB5Q<dVlcJrU?4g2n`) zJUwrQZwl^A=}ML@9fjAO#YKDfr-&hQmoii<(Q-Q=*v99AMh6WBxrNS@+;NK|zb^#} zd=CEsxNpZbuXhOBX`ju-0<$89aYabPgN`KzwAdIt-pod=ha2Ub83?EeG#xXjwDxGu z+o4MkeTp-zkH)tN;-C;F1)z2l088*QPpn_yl|lVTDgL9b`XikpRr`PYBbAmkrq|(E z9U1wD*)4vId1J~{^(YBOGQ_W%@0s<D-l#Bg&4(zJr}*P5uTqj=GC_N-OCHG(<Ln5T zu8}8+!NqRj3#r_-{etTUN`KkY2%0~5lU5hXJ?oQ!56@{`Jo*I=M0a7Iq9I8BPd_|C z@zd%Mos**DlA!qKa7m7$gO94GL{X8={-@5VJo@NLXJdP|63tWgv=1o%GO$<}Y6RJL zf(_?IP5QRKU^yl=5hT!_U{G^Cd3XCB6f&LH27kq5AxCJ4YgdBy=26|Y=OS|E`<V$* zrjid*)q7K_+tsuT{})(3wQA#qdXXE}FN6FN(2$g_1Mc97Pg6=XAiIF;0$`z|el!O` zKmimBW63g<I?JRYaBFuv*<$!4{pT{THS7paEY6meBm1LcKYY~J#K1YQMM3$1pP=Og z(5$O1FaB<g;9qfFFfa6N+F%`~WBp2y)4}yw0)irXG@(T&pY;@Ed&J2D9DA34^vo+1 z0spxea9y{q0b8W4Z3q*iNl5TB{Krwn2UkM@2_(n1hpUoB5x<!^6uRyId7n~UC)8=) zmxO74$N9RU4Sov*(#9+KDltSFD4-Ou8Bi@q^q6?ZVX3OV^a4M-@!ElcQEe19L-JRZ z!hQQ!LBRdCMO_f7*Y^@tr*KxM?u=m}-D&vV*?EQ7YvZNLeB}cZ{A?YL*2J5*3ydT1 zk_eOe`l+OqXU(?=+)v&({p0zKxz<73&MDgD0$mxibpkdDnzUUJg$<PTBq8L-)pJpw z>whe_Qu<j5{}t8Y{IMF>h|drJ9eg9P3mNE0c9~A$8ZNWRABAfN<n6KVysU*E8}JGI znxR4fIUz&l^aq}UMf0I~k7>%lYa@8TZI~rL3Qa_2Lu@R6Ee&VD5#W+=-RJ098~nfb zSt0yW(o<zTR=jCl1%Pn!m$lzN5Cqc-d?z`j8eOdsZ>nVB^y0{*Yd~Rxl0rdizKS4! zu?l^3GlpounaiZ3!cZ@;Gn$5$p99*r7yegONb37XcCdfZuNN$Q0Lj@1F7I#xJu9=p zMNqGm;b(|x0O64ERKVmjD>b>1_%G3rNbDD#pQqlpX)T`^()3*;gC?rgW5M&>B9i4_ zfe`86m7>+ZC^1nLC%T8<LMc5<_3khOq`hDd4+_7P^fY$$jHNk4<u~(R9xGBLZX^A( z;Nxkb{yVl9LJSWpfp$oZnKgz!y)%-3tXk*EF-G08`<)Aq2rud%iOZM~saNh8e?83n z@9O38<n0_(QK?mUmd+LK*B!UwBa|M2j;~u=th7qcE*%T%eQDJ0$|;(UxOXqXE!9*B z0ZnDQxxY^t@3qPX#xh9CJ~?mN)J1ZXH)Fus8XRAWYLX8u#ho=CF7?StJs&*Xxv7Z$ z&lBPyo)BX>%kHA<nf3fNUFK~%w+hz3me_!>#80$_nC*{IYurk48}Dw}vX!mKj!*to zX{@0A`S^cS8XZLc4}T27e<Y+3cD99qcNO8S8{$jz;lsT?Uk<V*sJKbWLzO?vC`kj2 zng`O!J-59&29uPOSlZI>4|rr?oxV&&O2)_OBv17%(?+e3-w@2!yAy{h^l<yWHeQtv zIhS%V`_^j}wO`zMJ@K)VFZqvH!{gmb+nqR9tALj`6GD|x;298nxd`Z%F(HSX2_ljp zT6!;w85;v})2BA3Z7|>HFAC>jlwPH^PJJm{Cr2&W*fQGJ9@8&8%|JH=NSU;kZts{@ z(l}k)_ife?<d4Wr;U>(ak){q++!U0fH1FQ0aeMSF_%c_hylC22=>_USNCBKu@G$jD zRpLEF#0)@Y)#9X3gMM8Qk7K~(AQiAV*%T+Jr2%RZ2cDpKYS$L0%il7SKYqDS1E>w? zJ_7*d>*XsivcB+Tv9o#Z7mS~yd5s@SWaOnGfpGSgeyJdG;uE51cOU$f=r2%;__d{r zv_ZiFPZSjNLl<*SW0N+V!QMCXh}E8`PsQxt*%D;~cB=Yx!h+!_F@#H^*v%5z99STD zu8r2HLQ~Gbyt=Ygmb*7lFc}9_4UF?1qxLj*9(tlK)*Swz+XqOh@<RE4^cBKa<;92w zf&hmUx1|CQFVbe&cIXi}=bPeOQn0Hqvg?IA137n@*wIEN=+$6AG=vHlctO&U3K*6G zXMPA3Y&l8w1K{__^=M!o8<_I|1zPx*0izzG(cGNSztsr<aeZqj)m#oFCo<$VuW#rc zBnn7UF80<k{;%?YgAKiaynL$&JppKUKgFic6_M@D0+o89F3yLc-6A@*0HGxNJyhCQ zI6@y;6wy-g)3fAyBXt<0o`?Dk0Zt}yt>(1^+5DBJHNJP8USRAh`&Tj~dH!KE;cF}V z(*k_BtL8H`JZo1UI8#<`acEnqKZs=Y7z;icCg%}hBM`5eB0Q}@Qv0n;>W&W5ohJ(a zi*BG~Lk(zjj*WSNY~<oCyvbRPJQhZK+U4@K0+Vt|D|iR!2HbOzc(dC|H@u_?OMut} zK^}G<Ga_1l?&0xQb8RRr?_R%qW@CyHwOia8KYHJKljFTMPwdb2R_8!%U>XOft1G`* zkU=*uW6ACMNd!<Si0&m=oB`+;(yiPDfR3Pk)P2`TY=_76g=wv`(VOS_VPXwNhTjdu z6)iQO2sF$}MRs9W_OD<;|4C^k3d@-fbYKVQrnuq1q$y_&`bCO8HP?g{H^SP-Kaje* z51_eLaa%PRylr1rOuE(#=aox@6!J$o;=W!8b#wG#MQA6k+zD}ZzstUYhIDRCR#s9< zoRA$!rQ!pP5}ly-<}01)la%{_!aZESR!7`9-#k*goSp)NNdVs_iO)8%kTf(9BKjkK zf%NQL2nyWg>+w<@vNLiO?{Cv?{$iu%St4-Vd(gZc-OzDlS9}*Oi%d{kIqLU)Yj+xf zPtrJHax*R3<xe_)`AfUl?&5)p^`vSxhp(RCrl(9mIHfp(mwm%yJ3m<C)$@L0<Ize} z(c5dc`2Z@tUcADRDm}TgapSZ6(4<Cg0hyKSBgPP~%Q~bVJ;mTq5Uds7*xPa-y@HN< zk}Dh5d|$X2i~YO-+D%04aIsufd(!=8{=&|Ht|*yzX|ma4lRRB)z|j>1B_pus`qzfh z;E^wkUyyx_t1)dem|^;?D6Nu14vcEbV^$NUY^kx-)gU||hP#*7d{X764E`B4PFxJ= z;qVVhK-)>*S&DgRu1Rhm)T=C_H#lbkD)u}3k!i;#K?Lg5oAUrRkzx(d%rT0h?IrL; zhg)*(g3dKaudO-T!`c%zMMgqWG-`MG8HTkM{h3;vl+K@nx3R2+Of~ZUDTXN*pTiJZ zo8!SVI#v;E0Hz@LS=}ld)4^WAXSyHVTkHKy%g6nY-%1!T%TpnkY5+?B^rf`E4!+-~ z*bp|h7DUT-<ae30qu&o>br^Y7yUc;0dsSs6#eQM~cHwEPl`r6sr>ANk1mn`!U5dk9 zHRyN^f&eI`hoK9zR!0cVdR|E47aq31$so`gBo~T51bcyaLK~VdPqT=mwk0r}HD-r> zUodqHkz)J$+O|oD$Hti&n$UyT=h*24P<g4Wk6?`V9_ajy#&iO$09XZ1Z&@N$i<avN zIuH(Ybw3D@T-y0PXKg9awhTN+H=;Bo5}yHtW>m*Q?9Bp8j2b)1;Ifa9w$95Xe`nN- zTMCYuqjINQfd)PFyt_vr=X?Xu+Vs~#D_4%>EWdgqbeI<8j^EL|nZQVjJtgFzaTwu> zK$<Y3id+IOcPKDOXcb9*c+m&jpVVEi;B^E+V!i$=I?XT&kQms(9k7;H`j8nShOic> za$7rGfv$Z6&BlhP=!8ske+-LsqTG1@cM|TtwaIt|3c}>-brg&O4CPhgm$r2ntbBnN z?RfsS2SCU3a4CfHLCF*a$cU(aZY&kQ9sWs=h8f5O06*Bs_hpo-MYYcWD|xmME6e`+ zQ)mp{{ok}f&I@s9+%@)T332;jWp?^oyd_jA!0dr3rxogiS_E=E50gZQocP9NA}w?r z<P4l2aVC!;w(Jl>lk2!T#6Ri!U4KfpGl@uDOZF)l8&u|wiJ~Tjrs#KXi+n%q$F^d0 zTf|l%q41|K0rYh9xHA$g?fZiT>3fw4p@P>M92>TM$!3G~Hu`HMuYqOztf<LN`@A-9 z8Pk}1WK=&in%5C~<J{E~L&wC62lj}<9y*<=@vWUS90V_r616M&ur{Kf*tZ4NRoSkM zuzR_F!<kC>&^7R&4eWr}!|aDax?iwJxvb}3MtF;`#eOAtU+{no$5$iVweDE72e-lb zQ7YMJ8s_L%pvMxkk_OL5uzYiPbR{`kKiP+Gy}ym^dU^<wsWxEF0eMv8(Ge0zWr_ZP zXmP#W%mw>W{)G6#$ReWSD#Z)%jMg_L=)XAYSx@eB>@PH8rA3=BPyFpUDHj!C_ho}K zNZx<Xd@uGndo&$n*bwCYc&F2CVz=_UveSbA!jj#66@Vnll_!IqN%<}tfSbHHyDOB( zWAWhq0Av6|Z{4q9gI<AuwZ>$oN=d56Tz1oRB99odj`IrsV5d&mHoUX&1qV=w@25Bc zPIZpWfilIaKx+{g`*r3x{%rgUo>E)$$MBhvgm<}A9(Zwa3vUesV4XPQ875VyUN7<d z6G;;Hgx~3qjSp;y7`#1k`aZQlQ^eMm^MAN|%doD#ZfjWS4y9880qITwk(3aSPD$x5 zY3UB7LlBS-=?-b6yE~*qx_Q^;f8Xal=e*CkuJe3-KlnlTv44B5J=dILj5*fY#6_f* z{;l``J7E)=?w`n+Dy(eYxlRq}=Gm`-N$DoDkAH^>+>fePXer-OX)rlUR?=C72&$PX zZTRwlel4^DjEt$rE#EBrlHxuW7>8kn*0Rr9J10r}GRWxPcf8#G{(LqLfD$0(<(MvM zLZR9M9zDr*$@*wy2(P{&$njOH6u`a$6t{tAf#9P6ApYHwn7APiE?bK@BMjy#`-u@| zvsuNO5b~8pOQ07wVgE?_*Nwg3)>rtg-GenMd+p5kZ=ZoZWd>F{7UCLakFKvLvhaRT zUAvu-s9tucCe%G-cRVf7t9Oi6W5WiT91o05nF8-hs{_m3`(y3_Nle|yTC;1g{j@lh z)$Wxq(N2cASOO>(K}g4io;t;qo(08WzxqS_k&v(sU7h8&yN7YI)2tXe`L$Iv%RVvG zB)zRD;=UMb1NAYz-|%dor>>a{I0``<p2w>JnHRPNK_cTP%Loq6pQYc?fk>#%q*%5! z|A;2P5}_XMT1^}1r@(b}eaC-om|goM@up)V0sKp8PCngBf8L*fp<}R3Sy~smHkjlM zny8TBve4$6$1eYX2N)PRvhURb8AGiHs(G4_@qt36S?zo!@X8cxr!B8Wa-+RWqonls zR+s0<IQa2rG5|`7fy7!1J4Y|~(Q+9{?ceXhMZP8X1$AfFTH1I<ky{Qm?wx;m=a2-) zV_>hcpVNa6bGZ%4iq<u?urO{>VeD`1+9`6mU#@!-@hHBR5F{}p?O(2Z<L{0+IFvTI zzEz>ACM3a^olZUU^{01N_@;B)rw?k1SC2ow2+w6%kKS;%F(xk0eu3uDS=5Es{H4<= zgkGxEX6HSsyGJ1RNCRm5Y6)4l{z30ZxYuA)l0tTiu!c}a=ekTlI%|^S#_8#|pu17m zcS~^q^pOg-RUPxsm9+<g>;~Z%P_i8u2gMDvW7^bhz_tvK+q5-%0pLqLW~$Pk)b>P9 z@QPp=pLHk}0~Sn>vW-9g84aHh4n8wQzPRcoicDLjYX)Ff^^`b`Z^Q?x&sOjAs7QvH zbQ_|g8Od$+^5wy6@akYvZi|ttnX60Aj8hr8KCI^Nm5ZkJ%T&+!W$lJnusFtkxZHkL z-%wiUDEpQT)1uIm9u-XJtX?AW`Hu(^Sv^+=F9G9cgYTUzfUU~aS5Bb8z?=~DeYnUO z_eQtc&}sWH$x54AC8HB#eQ4y!D5$yY#!{c_{!`>vpf0bUDQG^sJ{C1hnADP4C?zeL z6<WQSm-o*rKMv-^g_;^)xAUJ71$|Yiu0pkcN3yE5A(b#uwATvUwpd@jpr!w;6;5=% z!pY}XozdQrO7Of`uAi#Bwy!=|3tG}m*KXSm+Oqu1Q_<x}^IO>_5+JQv<kXKM44`6^ zH#4HwX${oKR#P(g3|1-Xg_d__gQ7qC>v*qb8U;}M{*lL<T5<h}jYk|0F;TaTRhg*7 zWA9+$muLAOiDMP9mbBUkl^r;;$L6+<+C8QS-y**U&Hb(cMkC;(ZI4JeW|U4|7}Xsg zVaVBlg@J?2wJCkCm16vs0e;RY|8!BHQ6G_<bIJK$@|Gq&p8|#+&v*%#!?_xNmezMB zTEfAz){Gdxz77-ZUjL*1?Q4cSh}rc%wAx<g$H&c-GCSs(Ho(OTY`Ktyo;~M?ykR-| z1M*)_r&G<zBa6swZb8Q%@TyP+!^vUG8FgAR=J4B6ouw~LuYUC9OOvkOpTwCKuBH4v zRMe+4{UtNVqj*{K^+537D21W`9>Xt>O{JAk9tm0R`}?=MC0Yk>NqLi6PrC2;D&#h* zT&h4OZEVRQb9yO*nu4k*ca1_Rt6qyBm-<Td^{-8I9+U?i1UV3gIU&*|M{b%l9#~79 z*JBgu)#bEYM)m2QMb8{m0t2&(b8$N`4cbIhk_&|K(#Y9F1pg2O3Xh`h!3y6-J8KNH zcKaP3Vi05$$W<?&*`FDZ@OoC7-KwYYu~M!rmVP53WpX28YnRBU1+3z2q72gdqy1cc zuSikjE8w4wNB;v_<rwq!JyLz_?<t?l%*xOK3efJNDmQAnT(B4G^jHDm7<BI$G);sK zmy6jAY}e6|OaGj^35eLQYlF5X@Jh1%c(nmbuICE8Jl@_a)s+AbmN4lJ!|n&QIj)oT zao^`HyGsayEyY7K73oO5_(m(=m^fYQ?RYo1PVjVh0tYB<j(;<wh7I**eRF*S@R60a znVzxk+_bo!Fbgnxw@j>87&xH-sA%WMlXgS*5(Vsz2qZ5$l1gjYs-k!zRBmEh{j-D} zka*p#<N@eV4i}Fr;1PwCfpFCRl(OIWs+UHI%jMe17aehB3c#K6F0|`TTiK~=eq1&} z%S98Na;L|fkf20+5S(X>_o?c!msX_*z<fd{=yvO*NZm%**}%HQ<2A?kh!&t(P#iJ* zx8!&1dKuCwRdu|)JTKSZl3qgd<k@z*P*U9UmA=YTZ4Ibma*fNyWKJ|P@O|AUxZ+8* z$2uMBy~g5ucX<CS`|k`rBIo7CLG<I#K&Sg#EDnoKf~_t&FwT2Z(2xSG4|NAC+|ORR zEj+o&wfOx8SU7X{wSs}OADon8rA1lQhrnlcJ|nRBjio<z#AjfUoT9jaK$s3bUxle{ zW@E6{=hJ7PxW1X6oyY2>B2m@-KlaiiK(BLpJ`=dgD)w$*yoZ+$F;`Jc|J`MEHMy>k z<)Z8N4ob?H{wxNTqfN#Xx+-W-&@2NscH*@D1|a(?fb6f(ELNZCii;-@IkH;Frze=O zvW>v9IIDc+B+s#jC33GQ9@2a5yNsk*YDfW?atA00l5(h@rCth0tF#1PY%qPpn>b%H z=$c^j^JBpZrQy>W<hE9M5<y-lk<x>ip8n=cd(QDALrbKfmMT*0`>?uvBrQSCiX{oi zX#}_{um}frJmqEAfk3&t-xhfMYKzgBu~IOZObC#<m}XW(Wnpi?0M<=ZELdKHq$jb( zE)d`d>&8THfIC}T{b(66Afxg?E?-(%yMzhngxK=QGJ+Ogp2S;hXGW{{J~#k#l$21S z|F!j$e0$UdNJ&bfW0TQVG`bknxBu~6bjR{Pc>|`lt_+Q<(&aB!03MaGRDMqJ#xFnv zp2^eNsUNj0xa2oYGefzEGA?%1g)B)~@7YGORO#ROH=?3JBq6O$l;L163+dh6Ldt2M zI|0ef=CN$nROPrQSE;=V9#|ZDy@<t#<SEN^%>?PS$G7j|d6DM9u7)eQ9SPZlKZd=w zzz2<j>Vr*0XNV|#QB!^9kZ)^f%{ZcH1Webuz9`{qVOt;ts8x%H=h9*Wv5sU~GZYYc zUY{xL*=lzM>Lz|&jFFhw=WSma=awYsvZlFmDmx*AgFu0uZPwtDd;&%#6F$pF;c72q zTtKR(911_|s2@@`Ij%LF8G@cJV(fdLA^GPyO&gkVDGCaBRv4a2xZXUm<N!Y|!wIb@ zTGtc=ULuWt*`yES;CFHlah@n5ti0BI5Gifm^e2r&{X^HsF$|l!k<ubCLv<d+kYOHD z@;m#Jr>5Vd685_?G<pz&&NT9ECnl@MqRv>+-ip>!(xi~{?D;?@>)847c`JO%l+U2c zUAhg_U3jQ<T9#9xyH}n=g3SnUz`uHrjz93Y4gaT3cjUAHGq6YeOcM%BZN7u_F{h1Y za4R}q9%oU<u4V<>_tW)*)wIO{=u2L`q2B7Q(HJB34pCqNDP*yP7217>aK#j`zO+*% z5o8F)wSUbGemRk=@U(u4GKfgwN6_2>;+(%NeZO{e^3IjVRO0kBJG*gU?Rg5X?^B_7 zUGu%{wwLEx?zifNo6A#~=-ED^n0KCdQ_bvz+;`nwi3TIrlI@W-1flzZFW3c)X6^p2 zp)t^sTi9}NjI@=BdGlPG;}ze32^9E1)6%Q>3hu_lH}4rCf#k~0puX*G<g2;M0<7k{ zsOPREVRd#=E-p#SLkl=_bxNNDCqvik@Q}ZH@5jtmqlNw8bznh|W%>wn!)W8+MYrGJ z;ogyNB+S#m>^OBjH?~V@am|4+Ik2(1?D&^bcx=yJ*5rvyB&m#qve7dut?sUlXm)wN zwc!^&hTpUF=ku|&coKcxR6nk?e=)U-yj19DU!!zCHDzE*P4VXU!d>YrmGReR9QTOl zK-P%EL#S~yT~a^_fpND8BW+qt_L&7AndpEaxmi@ALNi?-KB+%ZH{c-CqHo>JSPrLp zDT$yV>GdiqAWjI?cF$eV$tqO!la}&$cmoM{$}J}<W-;z^YcR<VD!z>M!8h&Vn9SX% zU%elHXUeR9z4C7_Kq^U%stuJ;G16CWH)5~3w18{XP@Jk?*;KqMYmtdHZZ3aHL`Eu) zFB7zP{nIdwmIh|K<j@2LCH?)?R+mrp4P}!#GA!k*o1d(b99|Eq*SMrV3g4mp`}gbb zRXiE^V6r%7lo)u#E#7z0_M`2=KD!N0M_n@0l*)a5T~?waQM&XuHA3jl%!BRysPMT7 zJAu~DRKenss^`svV<(gr#i8v*((vHv#(@<IVghyJa``Bc@Z#8ksVAiI?|iYLe~Sah zh8?jcvY>T}PxC<EuPjCOAvOFgTl2h_><vk2R9Fr#G8+1vjQzdsCh7c`_^YL(gW4Kb zriW{7h^%zwn%FJKJCaRMB}8;owyGtW7(_%wILV~Gx*Oy)W-(&PI{&^sC>@lSl5=Vo z7JuPKJJ;X{-$}j7t^fS?db|*+rAkh}LMLMRD}thB{Hn-_i$O&XdCcamlpN`1Ez8`- z^SjwBD&CN~_9wUTg<9(Vjn__1@q_x%m2I(<bx;ByStn>DKhLNjIQ^;9GGk<j>2@dI zm;3=m?&n{(S8%u2Kd5*q7}|;A;t+z6z6JFfe|+{ry-8VRk~JYh=3;h3gbmI#EpJ-l z(1yEXFpy2YKp6FJv-Xf7JrxaKYo`i~s_IjcnPi_zdXY*UCJM{k!W2~J$n#@Z3g4H$ zFT;H^8tY4!FYPUMw_Cr4;xB#U@VvbX7F4pAa<^F)#n{(L4UQK2*yHGRE6<XEkrtha zjj^9dM|2reVf@$KYp$N{>EgajTsYU&2RvLo%AF7w@JACrF^J2(>w+YC5fl*~&Yq^A zD1rw30y;RHVubF0_v3LwM2vkg%~=l;!7_5EGZhVHOz4DV>_&35Y_x2?j*bot=Y6fN zl^4gAI(QFPb`>I!A(U|(Sf;!l9xBn<S${YfKI7cCC8kAbgM{ydk;}Sx)Rp()T=30X zU2sd|yo;Xos2@CQ#s1r;3)PQV$pq>`6B29)h&+Cr9)ULmgX5hqpmB`z;>C5=*es*f z)$<QcU!pNZ?^fziKimS5(8J9cpU&cqPSqe05bl^azIr&rnWO2So2y>jZ&jTYn*49K zK@uAe-PUHa|35bi#(YXVY1&Bg@W&^fED3B0+c>J+5_64iu&8)_!>;Q8c^HI&m|lT7 za^%Z7X-!?C#P&t;fe*i4!2I7$_W$r`#?|@JGY%_-+k+PBHIRNSUQKVZCIri&zo~3u zB&QHD@ZfmNw(z!8gLxFpIjiwLL)Niskwyq9f76&NFLb)K$)|@=Pe}Ua{nQPxx_#4* z%#}b(@Jr@Ga%VQ9pl^@i%k{WQA+YJ8H#Vx-9wYc1m#xQ*`s*eo;DpA-6|iuz%GZU( z#=g|hJb3=<mE_KK95gPDF5Mp8{BmGEWQRk1HJp}ydbGnQ@)VY#*5UEE^T9J(Zq#?t z9@y$CK7Q-cYjNZLx~_*qf@8%WikxbTG=+rikGYBtK0HJt30Mbt1Cmd6ZDfUDNv|%a z%(23)PYu?5w%)*6&v7I~Y+SkU<fQrJ`Fyijknw#BCgA19d~rkm#B<3Ln_tfm3j809 z5y7o|5ynW}*;q#PEzz?Ktqdg%Ip1puh`;~~>&+!|m+sCwUGf1DZb-+*V0wBEBBy1M zonFb>lBc1y>DQvns|D=~IqBGbXOyG1KX;yR8%73Vy^Ldx?%wK)d%mT$>77Plw2YnL zS3DPPdD<$<EaBk4`TW&JjKxi+Z!<3cIK|N}R3ie{k)EP8X55EHm_a|2VK!UkP<f97 zCN3w(^z9L`i)`wU^9@mZ2PZ)hhl;D!C{{+o!PLrp3-yP`Ki>*X>QgN^%7&rAE~4j; znh>(p7~z&;J-ulY2G|dO3HUM?B4Hfj$gm9lf*m|PUV4!bG7<ZdCtX`eb$P?2ECLpR zwZ=HgzaQbb4GvYwQ#kNxBJ0pEiEst`bK+nYmbhM^VLV<4(pGvrc<~a8%9W*xrM2$N z31`<Nz_%IS=cr8n{0N?6V<4_56U+^VgL4}{FBwSuFU?gmvx{(_WO`fuekbf{0weFb z`ADWnMt4s?GO0?XU1?ynCZ*%rDHDt`JWd%;Mw?Qkq_&ydHk5vOX~TPM8`ora$JaM4 z$0Bjg@`LVQ@{MJZHB56=3AlBm;0au9g@~jH38Zcr-=cW>4EmnZ(gIYc1*<Zn_oGjS z!2-|z_@vUv(IF{le;-3s7J1mU@nN<1KP*bWb%drGqbOwI3!&)>^DDwKT{`TO!`DK@ z?C4se2iMcjuzS(m#YSV`6=f%FLA<D<X9xGNkto<p$)9JyW<Tx69l%Uh4!Rn6m!L+} zn{DKE_cBha?wOmmosCeB*WKH*nNIsBNsp##_(h_?`y|dcZKm1$>z%&qN|bl5Yh7HM z#@yOSW*Wu9kKX**%jI#=;;@{K?d`Uh;rR5G_l)wWik>j4+XiMr&@-%L1!njp<Z1JB z)Agek$C$xRU&Lz8g(`gJ)Mv~>(mSU~4{NLKAq=XB{8meZQ%q(a`?eG}SoxH;TGa_4 zu>ZZ}pSOtp_gMJRGQ=Ag6J^8Iz<p#LE1H{^oE&|~FjZL3ni?8@4vnFiwl8s3GZXo< zz2qaf-?}W7PNngT(Z?Oew6}NP!2mv;_2v3*`6$vvHD<l#C^8wm7u`YcON<CeC1c=o z#!Hk<21V&pisjrlG0J<4SdcBI?LzSe+ln+*!L0+eDdWcv`Tu(BO)N-lm~=jQzPdqV zzKKCNg=59i>MY|9q=;zx;-^80g>qb(M<*|{jz@9eM_r7j4sU9A9e=mnX6RC*XEUXH zV^R6GjP*>bRLKnBr<sy)02~8WGohpE0({Q99>mec`gNGH%1{A{o{#CD7OgnWPM>>D z>mxl8P~)5Vj{JERXZ$>3fFa2n+?<(`%2UP1^Yf(L32}w7buv&kZ+l2yPvZzLa(8>^ zB~K3Jg%ClAfSVi_$WAIWsA%CRD}*EFi*a5@Pt*QULw_J<tGZB%l6^M8beM+2%q@^% z5!dNUKJM7$_dz^l?!<?*-%i^l{zIeBRx)u+G5tm;qngdO-|i_`T2w`9*+<8)Fpb0W z^N&IKs5C-HMt|+>jHpFDU7-DtOdVjM6!^~O3EFUaS|kyy*9B6xTBhM)W)4CvEvJod zylx1AZ?Fj)QXH|e>im+#_5|yUu9*p4OV2DL?fp7|R^}VMoh_g4+VW*W{vm;>_7Q?g zxfz9;9b%BIp7SshJAPxvR@R}@>{3G*t!p)(Qb+#86M_iK#=-h}JS$Yqaf6F`u-k9c z@PlZ-!c9#=$ZB(j;eB<&<{vm|3F2vo>X&*`bBmD|FHrRkcD!Ra3x+QKgqs{@=5dZ6 z_DXt#2SM$Rs5f0npP@3b8Da-z&0O9WCC5&_#uhkb)f~UW``mUWlyPwB1&c)(wbUX) z<2@%`zx}g>S)sZbM%9ABeUg(dB1G<nmaSVLTr;<-k4NxnCBKEkVH^LuvJm1mx_$sB z-B0Qr0!tQLDp+6KSTerPb@-%HW3#>>Dni5)9Wl<jKo~2443>YefQ^1aDcQ-D5GOYu zEGMn0XYg`y#>C1vc<yJF{@!ZW)X5d6V3Q}hH}B|roITn}%SiK`=xQ=|?!hijKkDzn zmNIiy`NiqrtoZvU0u$m<Xb##sF7@!qI?bKnp{`jjA}G>79cC*9J8MCquyDO40;xa! z<l497*cP8rvC);c>Hbc$^7^hXaj`_Vg`{ZG_&=)M%VETp&IuT=dk;j<yHu(8;9%sg zz1c}!uCR?-=w%RJ&Y($o;=wX95*?MRi$$HcHL8e}#sVM`6}U*ovflqSmir&z#s80g zOhogPCh6D0g4WLZ5a)spM)yDp+wOT{qBKhZ3o-@<p2i}A_MbJwV0HhuZ258hJwb1V z3@2?FF`E%VhWLRDp|)?h_<NBFFFmC;G&PAcX@wrEOo(eR7f_6jv|=x96aqRD_oY-Y z<Y@Iv+Ediv<;_X%5nVHjjL1z|ay1RpgHOo`+mvjr#I@?I35oHa`@$q^YG=Ct<jA6T z#7L579Ym(C(4&OE7w-g?V0BVb#xaD^C|ze6yHc`Ak2C8_G5~o01$W=Z#fj7Q$bIe? zeVWxPD)(2+-Qx2^Z+>6%y3btOJjV2BMpQg0EDcSs!cXfTElRUg0Z+jRa{;@i3O0_F zE$zY7hes6>pYNAgRq$mP8PN0$41Bs-nAbMiTRS`9xVU<DE=&NAUJUf=J^u_UP$&LF zJ_-pte4{^Sn04IW{{jr)5x-`+-p|>A0kpi|&!GX`q^OBXTn1^tJY9jo;+RH%-m>4_ z8!W7+^D2X)!RR<VOz4eL4fj!*fjkQ(#@oNqVnv_8o#Ir5)V@oi)$APUK??pGtq?^V zNT@y>6m}R;TH4e(tNZMRJR{RRN<aXG{rCwBr9FxdO?_}&a3uO`(F7X(OhAJu!GJTD z*nB2RYY4pj0$nMnd+@QBb?lDE_n1+ok>7tsICFM2BY5LGFV?~#$o1%pNE|mS=dZ$6 zDh1upNc5;Z39)6hXv@lSc9EH}A@AE*-0(+U#so<BIe$G5PbwsAg((UP!(*8;nG&Sn z;orTnQt1n7Cg0vJd8R-r<Kgkm@S2^cTXvakU_eDu4!y0f0nSi1)UP=$+Qe%eOzC77 zwyC0sLIQDMMP7PI1<At0oJxi~(29g4Lfwx#FeD@~i}845+rfFk!fiU$m6fa?|Gap{ zFa`_7?8F4xa(XHY8_}**A{PGVxk3{#$kwsGN7>m38T%2o!*`Oh7~bE$5rVtK!d(vU zJ3*?|{a%>WJ!Au8mn|o3=*JCyqi1d&FqZc`;YqsS5E?G-GP;C>w3-G{>+tXs5Re%Y z^%ql*`ue0lXJ)=Y^Sc)rGF0vB4k4Q`CLof1-4dq8!>7?YKaRkQqQR%U#|*oC501Bk z3AXhvsp1MqPDV$uUkxCY$x?z>RGu|6Ji)drH(+_ugRe5tX=9%p)H=uW$z|HSff+on zD6lKgF7X^&hBL3tN3<MoG-gc~hz2X7PoZy*jHF~>KwsXq2%jq?_*6IB6Zd;CSWHD6 zhk+6OIcv)2AAY}sBLBu~;%mwPHY54;f!xt>Op)d(io^_XvyMv$Tg?U4#deBbQoP_* zTW3SIecYXbmsP@P3BCabpQ?3Eiz1mCTq)z`)6{gZrgf}#)b$k)1-(dvCn6#$&Yw=q z0{8=Mz2~WtA><ZD5g^Xqw=S8ZN{jT-$@uvDr+4l+I8}+agz-qC(fsOGBL`8bd;N~S zGXK`d+M4SyG0r!Q_eHC*mQP;3<>_IGh_F@4rp`bRi`<W#e2gTKtQUdLp1*UP{QIvN zFm!0)V4{A#ANckA?_x=^vdCk5eQW|205W?=$v|AMO?2o&?;J{cAjdB|JFjRHuygEQ z$AOQVX%@%)mPA&Zaa5pt&h&cgyL2j<6G}bJ0JziZs0k|Jj2j<!shE|=HXm`RTl%zy zK54o)fVXoC!1%lTEj!Pl#zeRRPhBBi!*nT`C(Ml~lcE6|UtkJ_i<1@U`N6J`@^vpr zCt!r4qc`r~x?UvY&rE#(ZIuv*$K)DW9S@80vE8(R`F+l|ILr7C4Aif~@T0q1A@$22 zjYJ<FoPS{bx82I*0`w#MwR0L@=w(i(K2Y4}z+Khry1M#}#EDR5Mn=Uyh2`c>#x4?~ z<kZ^N>2rS34*!fz=1xaSID>l#ms74hPSyy2O<{Q<BQEEQ4VZpmD-tcOLL+USHlO(~ zXYW|XISyaygG}+!Pz=h;?8gW=>omF=bv#RXGatzIooM?)@nzk(6FNJBdQCqvh0#JI zS^8ak)G{_JtQYlOT($1V?0q2o?@b@mkFIbqH#B+f)}HSQH@gV9Rf+wD(^_I6lG_3S zadwbRSt#j=z+6kk|2?*SGf~lv?G=!%?Gg*mXl`x*;^ga2Re_|d6afsZ)>`(pD?bG@ z%}1q3BxDRb5j&qx{Mpp-l#XV(yQe@EZEWNXL4C5gAZ?CDZ*IWDuc@b^_thkd7)<@Z zJ7LuYNq{t8Vhd)tJ<al#Qs70kTV2|w5c(8RXL+hL63cBspzYG=V0cI=TYoe&gR$!- zl8G!8|28Zw>`-2=cFUIaF2ia$#DqvD)&mpb5&;i#3E{#5Mt7p1*j72)ivU+p31P^s z1F^k2hrA667Xykw)v0ZXjDcqqW@EWfP!Xp}`BrEM+t%KN@N4s%f}=skZPZs1G(~n; z0wRn6Sn!SAsbv1`HNQ(LIsGeRv0uH~<v`(h59SAiDk?Z`T1}0J;!_!Y$k9_40f9GF zeI~x9Y9;krJGsw>MfPX0Eji~u5aumQ29Xoobk8e$g3Yzoh&WA+##12kDL(a$iL*D; zXIU|T)wR+?0^b^5J>Gpmxn|V$%(Z8>B~r^$K8hI8nz?`HYr72$+xzy&(7!5&H3=ZH zrww#}{LrrGTCrtK8q?e2!Usp8e@<iX>w_mq?vA`7!Qnv$6-d|85{=#d@z?6pu|IoD z5}<5BNi94a8RjNMj4>?<LD6Ut7Q$KS57LP^$VN9FvCfyrV0Bxmgzc`l{2(D^{Bm_x z`rN<PHYofo+D$7g|GSal4K_vVt1rp8z8N=gYliQHmHeu;dSk#0z0V2g*?){Hz|=W{ zgk1U<OjBs03#|9Z;-IP8EH?I^U{Fdy7`+jfB6uaRD<4D7j7keccy+=rNSM*qvZ298 zxbwaFR$l6A1QdIFnX)5_tyoJm`#t6+JdZ&+pzRJ9fu33l17fOP!S@u9g}Wt@MQnvL zHW!p-s~kZl{6Xc92DfUefOMF~vD=a@BXf#PxXj3ZHabcv+Qn&UmfPyaF5)}?ToNI* zvB2ccMssj{T<;}!b#THL+;9MqP{^AN4R5|!h^~VFlvI=NA}@h+SKS)k=~=ycA1$)9 zYxpAhrzwl_sQ@JTeSL^J<o#l<?!jPXS8pq@RI{@J3mOl?p`Z*BeD#pWTju*!mK%NF zXMaRMO4_BK{D%z%3A#hSg@~G{s741^g8#gO?T7OJ?#EXx5EtfnYyuOdp_%ExyYm*q z1ZF7_OTfyAl_U0<g-ZIwIdXVf?$LWCp&Fr#^I{8A;hvdsfCnw5eine2=HjRDr90G~ z|MkG7ay^um4yY{19Jy4P_*mn7fOm7Vo;F_~U0B#}bMJ}je*3Bdl0Gv^+re#KwWtHq z*Q0C3H%tQ0pRBjBDrjYd1ei2X7K#o~weh181E?RBH_g*0f85&+qJBhXtJrySjCXHK zCi_T>(nq4Pco=RpESwlCDv`_Tdfc>(`45Re7{qa=#{K<`2Y;EC9k>ZKd8-qu*)3xN zamL_Q=>9w494uViIE>L?v}_4Ykp~5d;g_?n*clFqmFBAYlf`=n9^?`2`P)W3Ha0&e zdWA(rIpUzm7UJ3V*}DFvn@?!UV!62=05mhW-xu(T=J@;^O)kDbD0}YFRtF#@M~lO& zY1dkP5edYe$Xld?JY*XT<X>Y+W*1p6nkVgmgrjHgB~&IjjW(Gp|EXOxLsx<w2#aF9 zd8pY3zID20`gAReUW+YbF`tUaKgi11IleaDVE^P=Yu3mBp0UA$;%ZEgBo(F8Oa_EG zlg+&jK*#*7HNMW-<@=ZdWuR=|SMVh=N_=pEhTpcEGo%kG$1}BZb1HB#J1M~9-FXrz zn&&HwPK3<l$gxy@v=IvIr;91_$_4z5=<Mw3%4KP}ZFZ`m)@tr-3#fu{AC0~PforVU z)gOH@jS|p(AaVuw7RbB&;V2WjhBGG<{54a>)y`NPqbc#}w@hJ;<5Nf=1^vR6c&3qy z<E)m7-NW;;;-V0ryfT9)$~qyqjMX^B{2!Oym2O>34^Mqu)UGDef*9x_CW%9K4oEe{ z4;Fk#h!c^+1k_WOYq7J95cS<RQSg5tIDIxncg)Zws?UX?x0=T(vcIe>2rAH^(h%36 z8QC$zofzC@l!YWlVm>}dQoPB@3W>7~N9kAryJLq&eSr!`#qfb5=|f35A-H>RNOsf6 zZLt+8kW(P(4TwJ=&^&c(CnRi8j))7>Oy8>6ZNU(^x|SR{h0fXjY;r^FxIW7*g3b5Y zGHLz^L_Ub~FEv;cn$-H&#WS<))O(bvXqsv(w)b^vRi%cR{{D1Uh$~KamRENmENc4q zb>sG4M@TZa=mwMH`dEb(+UfQ5s#<NC+1vmrc*+OF4>~XHOg%9Wh<|x$(Cxa<VaLS# z=eii#^_q_8=kLDZuFD|dEQ$p2kD$q{DykY|V4#Y>+c5u362V8z-~;*B0@YtbYUDuh z2KR>9^_qOxwKJoGgA<&9Hcxu79-o=9W#22EzI!lJS<rTcwgqn`I?Vu@J1qmV=&7X& zSX8hr709o9l9aIkmgA&=Bd)JAJO<)Y#-G^qrt+tXe+Iq3Me;X9>j#b#y+qFj!fvjq z2OLn@YjyLt6L=7=bnU&GX+<S*cP%=@iqbGs`#gCADo)MywoH6GxvdSml<11hu+7pc zGH>DyYz~h<=fxtwIkGoAj@PaYD{EV9V;w?lfoBIAYe$Li)(~GlLjo5hvATRWVlvt@ z8>^^%qkn=87fcq$7*<l;ND9xNw7hiS|Gj|$(o}%HW3-cNYA*IsF>}PD_&1-{8`xnu z-Qn8uL#Z(DQh)4M`V@MryvRO=&m=h=oGG*I$SfMQmgB$pR7R3h7S=ohA&%imW&(qi zkXYQ5YCfdTH*!#*7)74+D29yh5zsT#>Zc%;mo@fSbVp%QUqe;ZceTswy@sIUBJ5;0 zmc{;o#N3J$&xOmgT32|Y>#L=ujXYc4@$qnHk24oa4DxBAe0#uJzc4`p#W*rha6#t% zhEw1)jg6?-hMW;<p7)RVX$RV!hYFLI@5hKL!HJQ6gG^5vjSK6J-pK|B_ENbGb7=BQ z`}rZzt!;2Oc&l?cI6Skyjz`&e!SwUZZGkEaTXc7JEXiD?&$s@vNf7J=%GIW(ESzl7 zx|iehNCUlih>GYDzpuRRywAtH4HBz8i03lfKy7=I?(m3C(VX34d(Yc^?e(GBO_xip zN^4ENn2Gx_!qfSbwVo|9(g^C;czxg@95vsWY5AC54*EXs?zA8IwNVENz!lw-&Q7iE zBWhJLXB%nyzq3#w8J%N7;_3H8_N=iYNFyFC$$;_Sq2)a!1=o<`U<A)LhWr{E%s)tC zU`n14<yK*Y@g$hZbN}#`)1U!ghT^>Ux+UV{u-h2?=>07?n`U9Yu)=-23GuRjR>AhD z#$=|9KK{#e#oJZ8`~u<wjY_kZOdswH+81R(z199lF@|9u9lrR39wq}{*&D%;FjK=% zzc&#N1Y2mfOUtsvPMX%i(Q=-@-`KizU6LtM8hH4l#a5)!mZxWmjJ@YlS~;StwJICs z9yeG%$N}9IT{ENnvd}E*0EE%aOMB=xXcNrrWIz!J`Vrf!x3L!xuC3jDRe?+$*9nqL zbY+S^-nxOMX7a9m&V*9tQJ<-T`bs{YUjHH{ZXA1I?j!X1dAr_72^P{T5%1bY&ZI{? zfpD**(EMtg>-{BS<Dm)z<^oL?Z45!taR-utPv%vO@<7JNC40JccAZTf;RdLOl_YFh zW$#iXKko<kfRO{tkclj&1Tvly#1CGL%FC~0n-D=-eSH>3JzS9?a4#~A8OXtuQ&;!5 zxI_BS>O|4<>34uqMvNXn$a5BY*l_EGUqkJ$_sS^Iv*RMTz!TznA+vSOflj_kDAQF( zZ*8Mf)#?J32aodz6O9R)<aM9C3iD-2H1upRbfC09Zmuu{3in#Vk3#M6ufEsV0$xmP zToZa*AG})GJyAeP=#5J}ofm|bkciyi=LH>5Vqt;0>e5Zf{ckV8G}JCC(fWOd%GlG@ zS<EzC;p}VL*LrE^XwXrV+=h`oBL6}Xp)HVODeEOl>~T*C=o?S(R9afn)gPIaVSp7- zU9D0R5oxUzUnxbmvb4dwukFH_M?CV&c-?|NISy$4Wv^+$Q~^^NURLIu*^vN{seib$ z%-3t;z2bcNFh!1);}^HPwpm6XuC9h28Z2-i8Hd*&4e+`WfY>O|$}T>B0aMPlmi^P* zT4E%`NNO?16r5HmDGWxITctj|Bw;WgtEvn@#h!m{QO6SUa=ZcUT&2jF>nUu1-BD6v z0>v05tho3J-a&ecQq<=2>vB1Hrwg}Xf$Z&wU^yw6eDXPo-`)pHPq?7^*nZNFPRoBI z0Ods)__4;#*I-U;4$r@;Utg5wR;nqpIEJId9`wvMXyeGVg`kS+O-;2TfoA?ov~2qb zGI8i}Wf!25FPDenIJY(OOrclXOmfp93XK?&0t8feaHh8}CxJT<Jsy62&OvlTt9SW? z;cm5|$4LCjW1J&_NRt5FAuBvsz9#h&*QmyJRc?JY|Bst|Nv3)+{lO8)M;`XRo$Dl4 zECM#Vm{pe7N_%%SVDdo29+I{*=Iaf8$)`W@w1JvOAr-nFm#m=}4$uO~p2+mZn*R8k z$KagStUwIijO3>b-w-tWK?e*{u`~X}bR)p@ER0YQZz+!InjP@7T=cFHCW5BjNG|G8 z{SROA+pC?()hfAh_)*!PA2Ll2tRThTZr=j5M1sY8!&CU(Y=-cyxogDz^|!ZU?RJuI z?|Ge6U<lKt#YPv=vq3okLU<)GcjQL|=f%DRIlW|iV9$HC+4aS?PSfj={78^CJ*hys zWyUW9J($jv%s```%J7Q98G-pi%;~$`m^Mg<;*y>b;2I+!m3GA1pq&VN9y^UWHYpLv zC{7f<Ii2SRpCQZ5w048ZMI{FdCf8#mqE&nGSIZ)5i_3KGj(adb<I`@Uk)dxR0s&Ha zKT#Yfz$6~+n2VY{Abbb#pjc-oI=Ha6w8^t4@v6^lFPCUbz@I`8r7yd)rK@8%#!D;A z_y&jL<gAtdC5FmC6__QW@`HkGD8kaSPqDMDtv=^fCT=#F31=WOTdO)a3IrA;XSUv^ z@4G>L(d6rE>}JE~yB-2jWgl^g78|}0-<TBo<N=BI?(Q1H?qheL3xN8VxDPl6T>TA5 zFrZ{-l>Wq|w_1?DsDV?YR|LI4B#`B#>Nj{V+@PK>Sm%_JWrX!6k5ww>TC*pADqQap zN;L~1@spodA9FNEvViJPXlV}G&Ue^g&{4GD2r34EoTZuX{l^^5<tHznn9t5&)th+F z*@4Pzcx?_6ECW`^1TGKahq&g~B@#&{SM|^+^%j_gdch^eS+S{LVSnR*ZT(=VlR;Pt zJFfexnx(rvMzw5W{V#<@oVh{o_L<}uq9U=gF~iO6$*)y?rW@9w@yl-;3Dl}TU+<05 zs7)?JfX4|nvRdo(%#3_SL=X)fmH0Npsh8V$r^vy|BthzQKA_!wzr!(&4_2D+d@sJq z=2i=6!YpAe75(KK198GO^uBR(PMzcA<on$?y;3SK<9XrOuU*pz3Il$)FNXNhqh6Ki z1o?@8p~c*10LL?tvHWL;JwF6Km4Pj1D*=V;tgXAAQsDmP7*nlI>CX0Tk|!p>RVBMK zxMR*v`djPGq8r7f7}=&<Z)?1o;X8@uu3n3Zo}@z>TGl<SDa*JMZ;*qq`x_jqg}NhQ zzeaMeSAHSz_7yr9|0Zuz_X>b>>L34!ZyoJb-dUIL=;^_sS5;||{4LN4;4ArqY33?Y z{~r^LHY5%G-|^D_^6Ax1fMaDphdIA595Fhs@(KpHDBRqIfz%Q!AvXQ=mJM&A>#nSf ztF6(kdTHYzZ`|_qfr+lxcm{wzT}_v$$!$&kd(fbYN_5d+?oum1wv~ALNK+2K)+I1< zw=1Q#Jf_KcJU<JZ5hPt?4U3LKPxlK1-*eV0$sHrYqP0BR8iy^0yUQH(aw!ziV=^Jn z&xn{-2EB2zQj69`mI2r2noBzy>8F;@udtvz_M{Pi+sE``mx7AvC($Gua80zPWJ(0w z3IfW<@i+m8j4EkAJ}!*<(ODDOfrnR9<ZY$Xp49G4rFOw-XJ01?#Bkqqp4!Lh+?lsu zvp2ic?{>upEa(*0*%K?O{v<hOyPNbe)ql^Rp;6pA)&6?Rt*B6Dc*YfT`M{mKOUl;v z@%~(G_`(9&T)i{Cr{~P=mp|G8)Ci#TdS4iYijB$^$qWt6h5|Bi&?r-^kluZNRbZ>` z?5bU~TVIt|jR^5B*IQSD{9MXR+dqBQCRPgwitNFym!-DYU`PII6SeOnj)nO;0kDYY zW{t&I9!L;H4qiZYY&r2DFa<3~S2b{w?N=2KhNQUZ3S_|1#;%%3F{!hk+}xg%%E$&! zn(+$8=xR7_QIOm;F5#>NmZ<xiZ0?IYh+QVc{cXmR!6cgroH;ERZ}QrikQ<t7u<YwK z0yEvzB*>tp^q9t2v%Oukb-Lr-&h?J=i|b~w%R!;wY<R<Lh+G#smNaC3(NPT@$0UQ& z=0M9`P?Bl@=+Xa}m<a3Lm~V7`S}tvzul48hxGRCnGJoVUT8k9&My2W$Yb<(+)<r-% ztZ}<C<C~7ZAF$sigep5*Wdb7%`G;oeYMIl<dPro*m&RXCPNGdZctRA^GnxZ6K!JF{ zz~cx5U{Tp6SmP~#_ZWb3sc`*+lzg!U<KRaP>muG_1r_A{K^G8E15MJu()j3Zn%n@j z18nsI@jMeOe2Y(aBwvhPv@wC>tT<O%d}j}j$kMz*CYYT5#c4|brC)C*@h$T4`qkr; zrx=yCi+||foThR?=p?wGV1L50&Cd@Je9*vc9qUozYW|mbC-y(gJLEGNoJt@mhgX*` zCI3{gy-^*mFj8eQxcY-IZT?i+V9n|p1~kS?(=%c1z4%Z-0@fo{b#zpVzFq$>#vn<x zCQ%Nr+wz<sbsqB2fp20Uuc^7;kpLzt+G{8y-C1s2#KJbAS|`^k{ZSu4Gf1!i#|N!# zyFfhncK?9~FD1uO%|!Iy-U33>84{<N>vjoK-ZYD7VBhBLy1t!zn85j%rJQv#*NPzV zEtJY+7L}Ma7g`3NLOw)hN_apQK-7ZqgB~?!F)<(l>k%Cp_Qs&GpWJd)UQRfEzMlb} zp!uC=5Fnw?3EoBVTg4i`%S^8)-nqX-gfu7~!+T8hY~XPzU0Z?gyK?%O+iM7xLE-%d zd7;-C&R=P~jH`Xp;VP(X<?T#7YxEQ_OA~AX;B(EA9L+KA9an<K;Uj3~fmH_F0jL8M z$>jC9Z}z(qATCjCb~sf~@S*ch0PWOp*p=!}!_z<Wx@H2yB;URbVv&+&JKam~<mbnY ze_^R+d1GzOOpSQ?QoHj72UfU;2c#mc2n}GmZ)lLWZ0)&mT&5YA&<TV4gUV`pHNN!y zmEwuE0!@P<HE>Y13^|l2GXtzxvbN%{_bqvB9NnH@8s}ivcgA?I1g!DipE};gZz|?$ z#jZ%%lx+6povq$GGs*od=m177v4h0xQH9!BqA_jycBXtt-2o6q6o5n4gZMOXk`oS< zD<~df#i$4Mse&GUeT5vcy*Hj`JSxQ`i)2iq_XrPkf%5-M@G}8o8@)n$oM>8dYA5C( z#tZH@nCX*XlP#&sY_nhZ2Gx{H{d1sH6>9Gq9dD2b_;fZ2exkvwfazdJ2t2*Np{zS3 zV$69a1XR8M4{?9JY6;R$nO6_CQMs;}B?7-S_oq&A^!isha`z#?5k-Yo`}y$9763AS zH}mibOGD}wFkpqdUe+2}WM7fb-1_*+zt}xP=E}A;WPn8o2Z5229a&|uIS^V)Ae$6p zx2SzO3(GA~15z8vS#hM3F_i^ivC%n4j+$u5&<u7%A{9_2fD*&B#C?7q%G3v{Ha>{9 zHcmPm03*9+o6tc%V5)nq=&S{_W5?@W0K#`>W)(^@2{G<;ka~LGfMpbv!mkNV_cN9Q zbQHcSm5GHT_B%MULB8x>bJ%rz+sx+XLQd*jVyuA;D(pQsyueNo==`2xgu5`h-#Hwu z1vv14DCg&!h6u!<?*MvXSl7Rif_2(Thh?c`gS;qaGaA^6ymBYJ`5K_-NDS~}uGcAw zPB1GV>0Q8L8+AKPW4A+O8M-xOuuMeg1GFuyavMRwE~v!Gp97uY@Lfb;Q4VTD^lE8U zk*tHlKEb9hs8ohrmOfDF6^EnTiS94EqLxJP&D#>Shp2)UEielCfm8{MgOJDr(n|<< zz_q#>ASl$+xLQVjBjBB>Aa#>8<fhu6AVG59+ht*!NQ|y7?&3_7bEau`S>L?;tJvcX zyuyZgnDYcAP~(?Yi6_^6OwBYX`1sRa?!DoS$s84RaCUxX)-zR|f3SGZh(XHt-JuDf z;-p8ASqmCv6^oCA43)(zn%`$Rb@#ktZqAuti34||KhU;-!!KYQezJ7|1>(GJW<Hy* zzLq(aRH{eYN7vPTsoz5d!+DkBd!q*wYM?v$Z#W$MQ1fq5f_`sbOPfIS?z8li;h3Ol zS49BdG#^+@H4=fDfBT6=`{{wdj|Qdbk_aqq6yL4YE=+kf9+CAsYs<#KM6vw%%iUvf zU?ukI+o2h5Mt?xjK;ZNP!WqkO|69+dWw=@!8p#uR+ZArAA}uDj`Jwsn5{mU^D?mI& z=YV|u7=#nHg2t<lvkG=g{I%ESfG3DwmXdSMPE`M+5p5!#Cai6LUdvnguqi784@pQy zxy#>i|6i})I1~SfE)jU%DpeIh*)G(gpg0w@czD`0=h7#GWy<lm#MT+F5oq3HV?A)7 zpdHGQZ<gVzXnlqjX}zvp(k}myqgD4a0SJAJ&B9i{^eqzHjwq<(E41?R@23;>Fs6}V z2uG~GK9(z88`0hQ4WeBPUk?<&+$Lw$iqwCrJ157JuiU?vU26fdq?GcCDX9wJb3-n4 zG#m=_?ET^8vdagPVc-Qjpj)!r0ib!dn*k3g(7;lq2ZSz`_gGHi#4=ztLUkN+CV|D_ zzwDgbmo46Ry9N4<efN9q0E{a&NnDBi0+nO^O&++)dg5q8>8bs+IieSH?ZjdkIffpv zF!}GKZT|72egs0O%v88m9ny0=x;W9ZrFP<%;eb&7V*3S_iq<oHnciMwaQ^2kN^f3w zD85`&d>UuQYEGXI{ISj54e!m_>`ygbLpL_|QEY5pdGf3lrD<oC`Fj$6>uPZFncng= zdzsBgf!~h-AZ(=;i8ArDdauk479S9ma)<A!jQ$;JCuF0YO-<ehTF%^n@u7RhAxxqG zJ(Tr+@`K?qU@rhKNGlnmhYPlz^eF)@Cm~;Qgl7+E=?72VkZ2k&g=u97|JJx)MzR*A ziQbF<NBW+)xs_jj1&B}9{FPnv44tNx#;Q2rjrs$_l#=T88WVh!oEw|i3X`Cr9@ycP zBH^mNmtZLYAQDP1?}`4q@hU0H%}uP^udgP;!cJpH97uuxQmQ_>$^1u41u%t<7+9}c zpbE3uu(F@{{GMANl6{mS0wcOZBnzQP+WSiyLys~-P~H9On}mlK=F41wG69;Nn;zc( zj-#xJ30;WQjArym1GoZ|6M#lCP`7{_4}g@`Nh&Pj+0xF>YPuT>z&SY{AHIDnUq=cU zS=0`lcEyGl?e#Ji<n<(-Axim|({ocG-zSgSQN(E%Xx1P%spI!LhXcPO$d5=sZkp+e z1nf86A`u9Er8hImz&8CgwiK8&r*8l#98V2=zyL>(>ML5L_uiabD6alzWqP$LQv!zN zV^S$1+J!y3dAMIM9CU5)K`JY|G6L3M>eo0yKbEabShOoXky*{x<^N@c4jGe@LXmK| z!LhZe5H>cZ(V9<L+BEc?s8W&fnsu$QUL;d$m>(P|Yo5i`k($3x`PJtDiDi_EdP?iE z8mFxJcMWjh$pn?D=enF!Tcl=hP%Ar%02ztJm=Ee_0JaHo^?O(1url5J-?eY&YhN`M z<3T+Upmo18$OJu}icPm4zbjk8+W2yscQIG7G9jzZ!bmqD2KrJUzkV<FESm8k$Jq^( zh}_SpuNN`B&}uNeE7@ir_WFnZLy2pB5+|*Ok<@aH>0^v7#*u{9I0Zn;Pm*2TL>bv2 zI^4qjAvEsi)$vFI!YB~s@GDm^oHetcOvS_Orge6z=D6N}WmvwM@jCVk!YJ@X2WceZ zzT~a>a02UpqA%{s%E&qM&=Be^*7gPqw?DI44Brtn5TMxK<Ky5h&fhMnyN%7>T(Q<k zr2SOvb*7|s)?hK*k^XGBE&hX*0^ipk90^kOvoFh*#@=4));U)*e3Am4hewH!7Pv&0 zMVDaq9$I~UmW(BTmSF))r@d9sWvD+wc_ILus{ue<1oAd;c?xT9NMFdwMLYI?Ys%9( zNd@8$`kZtAiait;4c3@I4=mX_H3vdd$R9`+Jh`dOFb(lB1qR-iTFuVyQ?ytr&rh-7 zeG~kT*L}7^G`WF<`Vb`CHm?F>v=vyssdK=}rRLuKeb>{j1Q}%6vR_1QUcCJJjh*zI zd@jE6-CNoA<BdUVtW95``vyP1>Y|>JvSfN*<NWKirwOs%ppb|Q<QJZ#TA~I9gFcg{ zgW%Z7+>d-Ku&AdfGc53cekE@3A#Kj&7woB|El_Lce(Y=A?F(d26h{Ev;>$R<Y%wlg znotf~0?Jo!yiouFL1O7zd-fsrdTrwa#_Gw|hvmJ@i!Njke*e-*V|SiYKwd%845q@O zf8@|MjSV0Qiq4}0m`6c`)jFi)1A4e9h`41$Y&8QmeOFd#xuFY^RmxFe+APW(7sDV9 z!a<)f00W4l6OK(W=scN{tw%4)KHLO`sIy>J%B2O>c{NIp>hgIg3iNpKW|yU;Mx@)6 zD!M<{UtJCZ6a%b(h~10f9|Cv39sZnwt=3{u+xA)fiJ(aBz8!vtwhNF5|D|4Lt!v!A z243p_a4l01Ge`k>(L#@7XkE31T^y2(uN3Z%<$xhy1e7xpoL7oAz_R~Ei_t4G5#$gB zmT*n2;JSf$&{4x56{*Jn(E>_Xg#U(Td?OQ3dNYd~MponQPgT{XM<`~TYKt2@Q&H-V z=upW=CaC?jU5fevkgS`Z5H!UnO#`ff10&l96d7ly5Fj(t#h_+C_Fe$2{BuF_)y8Ci zAHw(gdRV6DwSx{kD%TQ{76KSW#V3bXr{+9-=oqi6Yz;_(ei5e0SpCd}-zJv2MQQw= z<R8s?Mzj8x*ViL*-~5AlF*Sw96P49%URO(v=}D={9LU)s>+Ypudfyzwk;I=qD`0=0 zl#(1kER(h9pT6<NaS}zW-dXR?+IPMHs0+hG^F@bbqi0V2`>c$qS*{hkAP4KtR>=iw zV+P-uKUhTq>PqmyRt5-Ba^{F~>B;~yI&I<x*ipBInV*{j4?zD*LX5bl-@avpmhnnN z>W=PAN^0rABMQl_xtGEdrwZYRAJR#ll>Eqt0WD41WcC|3xo^HV!$8^q#(*V)P1yLM z*Fb`KQrX!ss7nVF%I=OoYQWc^yS|4Pb8m+Rq>qwQ2jR83X%s}$e4aacsWY$8V5@f- z3Lmpxtz<)A2!iEvY<bb{O2^b37T}Oj-LnZt^9JY*@L7sxm&41XB!p2QrQ~{C!9{or zLjAVe3~Nih&_5x9?&^0iPeeMF-GSd5bdY`KXrp`#bw7W>t+r}qW>n`oR0dEy1C>L$ zOF0^XM2TudnP+eLQJg(s0p0-kI1_XaKv^?77^g~bb*axN*r^@S#o~27TUwG>u(An9 z!4;?<wUi>@IzOibt*WVO*JnokbdZe7eetDE7tD@40M(=1+`q<VWE{M5sT~afPf)wx z&D$*{to>jq1}yD%+BBhO`(y-<r+<H3VqYL+RaKt<bZ*NEa18{YK9Z9VaL~9rVQ=d= z01ylV+N57pG<|`D9xA@#gmf4O-aZee8r<)X$)Bn`7hj$c)+7`I^ftD~3jGz|2mPZk z8PEs)4)kwGK<@<dD_WQhB>n&+$1><4;&NMm2U{r+dM~+lI{{%a_>Os$Tn)ya^`}KC zBd|~|837y+j}h<D`5@gcPZSl<(hVrPk!jSFkl-`l7Tf5I#b7nKU*hmPVI0&ZiFaPr zeEJJB05%9GBuLiO@#<Y3(LMUr<l$!6Yx+cH{C4o=Ortc{#h36vc3=&lBRT(Gd`JYO zezJ%VM3<gReN>2ZKm<Kg6LVwkN3oSmQC`3YaTE}etS?_7ffA#@Q&t<C#R}D@+A9Ol z3vQX4c(ZChD(RDFFZpZMMrf!~ZN3sB7eE|uiMg}~BbXU3bU4f`C5W8_)=0?E&dbgg zpo|!N7y8eFpw?q_8is)^1W<qCY??jB(@UOft?^6V=V?StT}w@3B3CyB&{fmorrf#} zG!h~q`Xt&LzJubG$Hbf#9?zVnKe#|jIfIuL0|yZt0LURW2k}m3Mi;eNK9v@wVbE{- z4Yue=VUoU{55)k@T}Xk(U9esU#4XF~HW(BJpk(FQXm1fu=s}hlWGronk3)9-T(@Cw zK<*ftos>^Zo&exdTKilI!#xn4loW*=-$38O?<$d7{#)iv(==FsLvXaatsnJG!*&OS zI)H)z+AMngZHR#U%HsGak*dmWmr!5#{v(cy0=k>q<R(#UUJEi()aLR=n%A$9tXL@_ zp=`U<-Rl}aF85oRsKDNnVr^lNW`Q&+eKHle3^)3#5UtR{v;}1J^#gAu1#S|U28H`= zT(C(4hcq*mkujs|2DEg4RUXbAl)1fLyk&i@JWp`NlL6+~0K5y~0o}vb>he6E)=V;t z9LcS7zy=T#NF)+CuNncZ1%C%Ali&t{_$INnst@=3*K0Yz2%oW-ANp_`7?5(k@`?aX z8bka|5jQ%}v;pK5e3Tec&%nz9!FI7Y^Gm5>9dGa%$fy9ed6h1W1?#~p0$~Bgi3{>= zfF|C<(is*x-Cn=AyS9#vQ{Mj9ZV3P5H*a8}cg;ZBY2}Vfyl*D@-Ffpj6KiV;fCwXi z?Wu6rbaQV{Y<sq=7I@P^e6#-djtiED>W`kB{q~%!qLNaj8-p*_8ep4N4C$q?RVwuc zwWA|tQ56EcHKse}WMws_^)*)(<qYB<nXaTj%ptfS1orpNRzz<hNS^!30|nr<xJDJn zA{Lfr7)V#!Uq=NXvh}MpJ`TbtzjLwq3CZXQ+WLI==twlMe)T2@4Fqj21_4p^M92sv zP$HpvyZyN*?pLO5HF1HG@f|dx%YTaK8@^w?PSi+FNB(T^J#wO#?Fm;E-o^C+|KYLf zt49d{)5*y2SS>aolsju61s<I`c4bK$SC*l-U8af5WHKa>3E857gA0&R;j2->E?B<{ zzn7pa{#yIpb0Bj2w@V~f{-_NZI~dw7a+hP``ekW}2ixn;1><@8<5jRBR-4P(Gq0!X zS=2sDb>-`^lqYKSe64`{*UmOU8-FyICry52(L7h^xQ!pp$$2Iyd{_G$>_@nos<+OW z@OkXJ6)3FEA}blz5=)PNxYF@7CJs0F&+V}sG1!<}aD-?<Pp=4eRC5*%?+4%YLJR(0 zk)u(P$L{1&wrq0#>CqEx)1J8r7-=S*UqDfWBw#SjUv|i@KPWcak^*6E+N9UOyXB<q zJ43>g;p_i<uit;}sql4(vAl_FkpUZAflrr{rGxM`?^9k{B-nvg@{~%08N7EUMDB6Y zMsq;>A?2`xh=|8-p<mcN)q14Gkm%7Ek5-)n-u=yJfcgt~jYX^fhqm_)hePY$hSLdA zB8X0q=#1V;qJ|M<bU}t7MhnqvLX_xHM-O6{(V}+}HG1^u(V`Q*^X-vyp5ODn-~0ac zUEln1t`pbHu4}J#uXV4zHekOQ`)DtG#%4X@FB1$`41LgjrcTt*Z_Y=(;C3arMEj8V zOm$_R?gLxz^rg2v^`n?UdlxbPbk0qVn2r!Rh~%5!!UDp!zGzBs#fyv3yZ|Wn6LstQ zl5+C>>2nj6SJnnDSqmd_@^AG1k;7Z>e{%s4p8D8KNyYuYB(moXUhKtRFc(E~tNGtX z!>JDvr3YSDZ?%Ac{{I%dH`;5w_c>qRcjssqYrsL0Q$)FEq7^nugw5HZA$f~+YC${? z0m80q-)(i~DK=i{#n;ix*{NhJj`-%i5&t2w!tFB-lk4!{T|npN<fo<8^*M&hL2AA0 z{R~{N_lgzoUEGiXGOA<%QEYsCb>nuP`2Qt+>tzQvybKb%B6ckR!EN;dZtM59Q((jc zU>SkSIu7fcH6$i4tl-zek%~WEo>FP)o?NZDd?_@MTDE^7HtzAr6i8$gH1sw-^0G=D zCOChx34D_8K{}z}Uf2Bk{oPd3V?&>R<4r5O!Ptd!Ai4-JQI@|zh+GEVs=Q8N#bEwS zldYm&<@3F&)c_ftUVG&wx6j`Ma$h;*d7J(AU)<PeooS9qUn+Bo#l1<O@x7-9HoL2h z+Gy?TOnq6fmd64&zyHE~o>R}J#uuH|tAI?256aJ9z{R68%;5vM?zc~cFLo<w6AvY{ z-u>zdX*+FSavA8071(BMUk<N0RuoIiN*T@NQR5C5`8T0beJ&F*OULR72brs-nel?a zX6Nr+PM>e#N0O5*q!({ff?Mut+Vxs1j(=x%=kLr4ULZi)*@H_qum%loZLsHa9-Hxf zhu{j5jjiOeHIP1m1|}c5{+1#R+b1(Ge#PE^2_HY~wcp5S7U1U~Ffi!h75%RLzb=<6 zA|iO{Mwrq<_;0#?$F(&@y+Y_b-v$R#=@!c;7p;2|la<1bz&k{cKqYB>3yVo0{JgNL zeCv6h+jA*=m^EwL1<8xd-Om&kgFI|wxIML`(5MOV&+xhJtRQ}%jtv4Qz^?p_Vc&CC zj(YWSa-R(P#_Z*lOJ2uo!*(O#AOjnA$HXdm?489ly-9i|EoUd^+)ydwina#I6JMW$ zMJIkNBwOO28~f20$!4N;K9t={S)Y{aiFtOm=YNMkKmw<viCgb2$h5$ErUO#$*i@m0 z?p6b#bI<GjU)$<j_Ey=bsFqtyr4dxvS{V%zSsCcL%T8L41ztp2C0cu`C7!d?p<R4= zI>Z$;Qh*iM7X3RrVlX?lUU$2bCf?PboA)_6L;op((8q;U8L}I4kBx8TKd*cXZuWjE z$yHpLzlT*Q6aU{>V*yz=1FnQi;K%?@eyD?={G=}u#A!uV_bI7XI`-u5TmrG$%nqtV zYU90cSFvdo4=#Zu2~bPw+=bU^{YYu$cy@~M-Vj~)({}n=6La&xXy(DzQ&49FR04Vk z$^qaPWmV3s&&NXq`n+@%-+-t4n!{*~5ZD?B0&dueeSV0r4%PCtaFDBHB~_Xiwxu6( z>$K|Zy#}%=Uuw*&--QAqr10oW@~2y617LkYj5PhQ%!%9uJXr#grAh1R54S}$xNf}< z4ZTKGaJO;L5%SvAHGUdYG7*h?+V#UtvX|V_@~T9QVaTtxA*DFoa`tQDWe>8S_XJ@W zpehbOj`kLPK+zH_Oz2yNL+QLYxsO}V=#!*VLhmSKG2I`rXj+Mf&G>FO-3RfY>0x@l zh}2ost~E6Quv8^wlQJ$Y5knoI08$1vVNMBe@iD|2<i;w$`t)74eA*zQuHZ!i;C4*| z>b1qZpJ-lxnslPO<e}nY;T1-G<&?|R!?Uy0P_@J~*N4rMqNcXf?&Oca&!4z|b|8(Q z^2`e>KDg}4QTau3%)dnr;(P-G<pTgrh$dAdgK{NXL5_c2299nz$a??|LE}KXYzb7+ zix8kCY|0nu`q2##_GJL)q9v7w0ELNV`#BN<^51$vim#xzwCw0nDe)~FZmm26TC%bV zA;2I~;yMVWM5#H=;ead>8Eh`GQFYL-E6sTk?O@>BPJXGIHrkU@J#?)>WXjPt!4JL( zFpkU5pH(<X(X%}XJJ{;i8L!fLo3pT`7BS16D4o@Wb6of2v6(;qQ~HjkwR*hGvFTeQ z9`5cp>y8A-h0p72-OoD?y-q~VPPL`XQu7_S<z%x1iQ(T5i6aTwMc>mfEkp)Iiqcb= zQIv^x{^maxu}WzCj+_-rjZYM6{FyRE&pkZ2TbDn4>{45>g4aX8E}fgdjG4@@rK=^} zIHD1F{vDKNI>RM!AKrECR%wXzleC*(Wgf3U`j+Ov9G>f+WB;^yddT@)H0}c>jO6v+ z+_ez8ksX`>?quIT--hlTq)FlI8kv8>a9)R}4N)#4_bxY#%pMaQ1_pkSLYb*}PakXZ z*dEO`4V<_fk13PyIJl<3wrA~LPAPJ-F26e};C~G|<YbNHJ`4>!5H72irV!>)X^D@z z6Cqj{HRqZ=qQOs`XgL{GlV>!gIDRN~*LqBkxxW03(dXHgW||}sfg5PwQAH{Fwf$xD z!@EkqS*9Db@7NtHad)RGwSrFD7Aowy`_Hytk^Q3bKn(lGrpB%5)p<BY&N-*a4PUcF zmf5TY98@q2q;^M0^bpcs5%eyY#O?q3<<d)=F`un~`t<a|+kUC^3W@p2_ruYztYn|L zQQ?KrJRVH-PM_H{*-15g;q8ss^dR+g#A}P<FFY9v*V#W2jTLx)$E&u)j_J>0FApy6 zfYaLT+v?j*5L0C2+h@pb5wBbLJfIq^5|0BN(&zp#bws&s!RhHoJ6iSat^4w^`41h8 z?|#n9YpSY0;}e8(<>@h6E;uoVQ21n55GqpeUNa@4d-3Xnz*)2z)Z}=#WpOZvSo{-F z`i$6%uOU|kYCJytJj)N)Oyo_jC?xNfK9)VG`|{_ZgzFY=qr!J@4^v$uXpic{l_4*Y zH}+RX%Pmd4Q&S+4`*LDM{9^YwSEm-o*>F#fggiS#eDW(ioJjW8sQkeyz4xyT-ZU{@ z-I%I%WDTRI3Qc)3y_iVzt{^O|vBk0PHD)X+=%}BPReuNv>=QAiX>Td1&>Lfx6SY)d zy9|>bg7>bumlJ(U-gvVHry?C7S*Qo~q;&CSW_^2e%tgXH1hxiA`cXY5Lm^A8?h4=i zm%ul9ZM7KnuGjd!yPE!bLyxZNfk4-@VGY8sOLt~_g+;HN9+k9sOVbx{KotmV16FoN zaPbfp-ufd&Qa_D^$Iqr<_A_eUVpo|0<T7AZ45+!LX&^Ta>!hC#_r<)daGsw&z`u$k zo90=qMe&1&B>s+piPf*StRoQ3YN3*oniEbgh?Sziy71iWkCfX91(b>DloQzY%xTUd zcwN+}t#qY-oSh;L4U753;IOWT2fBJMHummOh>OYZzftF(|K-&w>3*Z|>JfujA%2mQ zO=IK=!5^YmL5D#t^0^gns87KyQZ-q~D6_-k@n4ts_Or-)6b>7Wc(*&E0-vt>eERc{ z+1wnr-mrQvZ*x_b=|;`MWIHh<;}(}cTVwRKxrP$Qti9~(#L`v~r`EN6{aESo(bLCC zGvUxuJ}=rhCsgu2)OAJ%nK6#-D@C6oZ<Y$Oo}5(7S-Zt;ksF;5HpX!~xmJUx#<>dd zQ$S^A<9!jCdi+X2R`fcqjalXDPpIx~cd{-9Rcmh(-<frLp#}|ce6Uq}roLAmN=xf2 zKDEFoG2U}lR@H?T@idkQS(lO6npV`vU0&I$9eHemFr=xI;(fGrh_e&i6uM#0Y`ZOw zG%V<el^qq%dN9hw!dh|P#vq0B=2tdRyDIQR@0a`eo{4J^{SzLK?No<3Gv{}ynb$eb zxL$A8M@8_~Wz5YIuG593H=w+6l<KvmmGMc*9?a})Zhkq)IZ2GV3F8{}AMNSrjreAL z-`j<kaaS|qX;-k!ix;q;mZyf2XwM!So%0^)$g9IASI<M2>r*oN-BpIY<V=`~oZ9L2 zqV*)`1-;MnT#p+z>ZN71oT_^2Y#ABt=^LZrN>}XR2@sDjFGX{~kVYNWLi8@t9x;FG zF;3<}g5n=@vu5WD(P@-00L=1y5@SUOlMDhQu@96i!Q3mlCAW>*7S!?jwZ4%<v-7?M zxjU<$&iI|a3DJf9-qLYy5U5lol5igi>^2aiI5POY#v2MQMyJ;8Sqs_oiFbIVP+lKu zG<h$*p{+hcp=lt7GwmfK6<HN9GNn~6I%rC+86JF|{GLrT?A;m9c$LHmow;Dl)t7P0 z@(Rae(%sZ>1i>7tJo$)|fFH%I=*6<R`E751U-`oT8Oke`JUegMHnnyIoa8ZW``eVJ zwJqWfxY4J&8Zm-gsai+1N4k2S!0B18FY6Z2ipgX!@lcpPgH}QY?X9y<YdZN}zSai^ zf%tl5AH(2rt=qHq0f`aoYi*Ufd##!RLh0Vq8Y4YXU}<x_stOKQq&!^cuV0U<J*p+S z{jrh)bqhukLDa7i2eBT@!$(|hV%Fb}RyjPlv_<5>d?=CuXWu_-DpAk&*utp_r}urU zwzArBu*}{m?kvA0k_n+TGVlYdd^>8q(JN@(2Y<@g%Cxe>Wa4IjSYa=?H*?$b=mF)C z!J=-v_*1y<3{YqyySfQ~JbkZi-X3l~a&&hfDy`46dBZ-GyP9)YDPHaH;LhR57F<s^ z!H38>n_g!w6e8*AQ8Q<qC8gX5em>-lvw3d_68eS*8bI)&Wfy;Fz9uJ@S-Eas$oj;t z{vN%jTZeZzqFy`k#}{W_GmTqXJgO~&wnb{?_Xp>B?ctdDQMF^&${e6_e(H(iUXPl+ zP4ScDqdNJ3HLXvFIZK+2GCLy^S5=+1>T)vwP0Lg%P0#0YCK-Rqo(Z9wx7F>}FsK4b zin##u9;%N*PtQp#7#R^#7t2VYS451@?Xj}8_r05UOWBnv*VjQ(+11^V&M#1H_}4T1 z{=%4fr0247+gMQD8QylCD2uE9!&e*wR~99{JAPQHd1DT-pXWRF#__{R+X|ohSXS0B zUl^l$_Rx5gbz~uf6e}#?i4TRjd2^~G0~aQ!b@7|@`2;vz<<X1{vWjy)G>Utk3rQ2s zVa{@odB>o+=MGID$v*Yg$G)u6Rg+krbwAH)e>SfaqB6oqOV5U-^|Jk9U$NPGmDOd| zfVOdQJ#e(UO^tWH?}>P`Ps}r<D4X-C3uGkDEc_rrh4sm|{#qZDh&ztiTc!*HFe7rR ze8^J95=kX_!V0=;yS3DQzgC@3`sP`l-izrZI-S~@@ca$U;I9n$SA0(#yq`OSUt6JX zyb+ih6&epm=*RS?ndndSfO=#JL>C%$#=j;2RDkn)KaIu>|4`JUgcbci+q0~72eih= zyYdU~*mRB>9p^lE(oRpy8pGvtb%L@FbVBktTdNj&3>r$jAK%#PydKm_`{wWn0Z-r) zB#NmQW`xhF$u_qdLtWW0Mm5AKdb&p)Jrwm`v_6bJ_m$thaT<pA&MUu~;<&x$?$o%G zk(z$gj1L{H8kv8C#TC~B2-AU{$F*Fb3Piw<zTu1&nzTN^>gmjyA=7A;V{Y)6sdVrz z1M*Hl%O`EsmCM3e;h~Kv#BgKy_|5*#56Q1<rKnBhn;E3IaUJyoe(jM3G=}@=&y3$) z`Uxz#+diIx$8*So%+_=O+2VRMfq~;ta$^EOAoA*aEBoT=U+p7L788hlK7ER9kntq% zTn{T|VPUu@b*;DeY|k`R?{N;w{?b!=>VQc}rigKI8Y5cTEOF>5CzqPRBoX%9<aI<D zNI5AzrO7w?F5mt6>0V<lI2N%<ojH5%$<cJdPnN(V5d^Yv-H(12c`-btqg>gli1^`b z2W(Jha!jDp+DUJfBP<$iK&{s};B?SCUCTsZB;!TCa!(z9K}Y))Y1g8Edr=)YG=gdH z%N6eX4?x-MqBN0YP+2N=^5F6Z6L|)9De?~%8IZN8#y#oDL)}h-e%EcYnd;yL2WeGs zgbcAqC=!VL6|!*p4DzpEB8`v7WXAlN&c8}UOP`RLo*&cOI}Ja%@f--MVs}?VyZgS{ z?n3JK(MnqWF#1NIliEzg<o26>FNH@OPEy4c<hfN-oI6A8Ot^+5jtELG1@U+VM5A4^ z&sHj#)4}3IM5p+h3fqqEe;kdy7f>496f&!z4qD9i+Pngjl6qUHX$je1rHm^W=0<an z8`Ql|s6Uq<jAG&5(8li{xOckQ!Q*@j6gMW6u9}MAxyk3;D8Se5(<Qhuy*2Wr;$Z4Y zHk#%apZjkc<dN=~pJ{XL>)k{E<;C0R3>*Cgl2^wnVZ=_>R3ZNOx)qMDd`~@N{TtBv z?qpabRiFy}y2er2z;FxC=7Tlx=1Xmh4Zx$6^|6hU&E26x`gP;B-xa1_t`zBVr43e< zrk<MAOYwg5!cX``Jglh22e1+NLMx7b0Pd7Dmo#0LYDg<+51{co)j|aFaov3|*BGw? ziwu+3Gk++?YXm5V>$+M}tYwJl?=pL=E`D4CFVFO0)hYeDm7Z3vlQq!bmMzl?)}sfr z83v75uY~5{MTO^iVakT)lh=XL`3A>?Jt>0e3Xx}?MepF3krjuY(ULB26XJM4xmd}U zYvcY}gy&~nxB83C&wWMTm{siZgQ`4JCP+SL8-5U|!u_eT*yBvXV=0&?+*p2^G*vqM zH#28vmG;148Dl|)dgIvimhPtK>!n?X6|JkI@*EqRyQPnOpZ%E)A10=m+1OqH{_Z*) z+uYR~ok{+SbT@H>aOLYQ4zt07kg^W1X15pSl_%VrOqNTYr%DqUAtpwNM5Dy+p*$}! zW^iV6s(kw(WAb8WkH2mJz+w4YmI2>c@r_NcZnmANv+AR23L*^Yx9@f~oLzMX;~WT~ zm&TLvr;=t%{8xQRFxZ|;X-Ig503zFX+Id%zVtpct7wwAes8yQIm-_A-tO%@5ijfu; z&K%ncIbS`J8;$!pl-m6@A;wda$U1$v@$-|}FXkJB@BMI&PAZ9S_m26(+yAL&xy6Q6 zlGvbM;P))-alwXK7#UNI!JM(7%D_O6p#SyDB_kppFQw@uDuOdw3DZ=@UZ+aaU;Ji^ z5HwYyyYwTCz-9vR)yJ>c^X&OW6W_%_%l&2xi-j^e<u;)`sW{kx-)&bMfWbyrJ+|5& z<r*0+Z7+b^)!;Mv4fs?-;y6U>&3kLqo@WyO-G=!f=KjIq!We}B>vdoej!q82ok?(O z(wrAciRya#O6St@O3%zlu{_o@q7^IKJ$!R9IL03AE+!_&6qrGAvi4+h-a31pdHij; z`0wa`eXIRh_@?-O8{HobLu>=-<@gtarIB>P)wI+;K5_lquQLSOuaZ@kQ-$ZT*zeBx z=?j_p&ornN!o5PKypAbTL1jEW1^<J82Ym6vi}}h*HG>IbYggUAeMpLhr5AsmgWZDp zW2=CG*{Nb@_y5<I6P1zq=zj*#tKX(}@vnb(zw;Z!dL3R>6#37nYz3Mj2D)wk8L%sP z<A4lYudp!epD%oVC)`kCY(o2=c`&y?c6E_9X8+7kw-c`)9N1F*{eQc-^+yhwKT#F; zA2BO3MhXo>xc(i|*drJ+wk{8T#QrqV64|X+(zkH;V)1W(tTyA)8>wmB(WI{%f>%{J z0fD;MQbqr)1_#HruyP2re05U^Ngfkj2Ohw298ep$;#B7)Www|Y=evBD=Y_>!-=76V z8vZM{3)e{L`Q3Kev38;K5?`5>z3chg{Ybmn7P4zM4i8VvXUr|$wdp3?ooQ69hg(kN zlK~gf<YB#Hsy7j1-j&I3r~V$*z@vRhUv1+kO*1YzzR)vr%P1B3*6)qm!HMgS6@`u! z{WmXKEGx+s!f6{q8rX_9jOsjYJ8evIAD{gRd;w~s-kBh&J~%O#mwox33mUAXRC@=d zzXyR%;P(&OzC?~P-=bgbhjjfcYNKmiIXlAdu$gSi*6bi4P&CHbd9;^L>z}Ip`Xw#^ z+<VHgo=}H<7i_M269H}DukXay-XBy;{FXjHr1A5+-VmOu{)3EugZ47;w~~MlF+!Ov zamFu1g_@rB(lHvL2kyw>>d_A+E+{{XQ^V@g1W-?1UrH+O$`c0f9c~kU2qpOXZKBa` z3Hm^2xF+Ds4{z$T=U9FJ^|CsJuvp8F-Qx!qaRX%i;hz5OQ`G942fSvfM<i?R_m_`o z><etq-kr+>7tNp3kipem&4pp;bocI!&V=>TmG51{_FVo1^dX7D1&j=8XH*14L=8Ok z<Byb-ct%<|jS4Bi9i9C{!N*{c1fbgdP#{f$)Xuz6M+70fYA0YNaGfq3IXUqW>-g~) z8UKuwGxX-xYba@b&zpTxtG;&%+=uDS+4Fl6j5-Hr!)#C^76e>rvar;N81F%AhUQms zR-=)-+h$9_EDE<^Io~V7vR_#>4KM|Kgc#!*yE(Rg9r064NkXq|v)0y;(TD}c8+mZM z>WAMn`Er)(P28In+T(pA<@H?DRaT>nv-6!iec?~}Hi@gp;w|#CZBYt=!Qs1y`=Cx* zTvnq)SBpV`H_|5ixPtQiQbM^D^z`av^TF=Qm!n~$!u7)ouxL&4`5sw+jyU;{(N_RT zc{j!>Lv#wS1?N8>I@#sNN~*`Vk21*pF41Fe=f$Y^z&rxq=_+s=f*rwyu${Qn`}{X7 z=}yg3U3ZCGw6_jN_m!H!1@A{2xgT`gwr{YXAJ77D@*;IDB+!~gcW9MWgzp+aM2q64 zMSo7am0gGPIa)Vo6<*dGl|qt5^Em2G1PFxdI=<~M6n{Y<Ny^IWGKZr<plGJ@iB8cM zmi(mT_rNZFadHegJ*5@D@e2f64mP)5(nt$Xb==*JytP^mqJo;HD&gTFCBObUy-(;& z^clrnB38aS93T4@y1DWR4c}@42*qwa*x?pEdvde#I&E0bUU*A*981R8%B{|XNiwfk z@1-iKvC{2w?@(-qw!;vIAOZ*1r02*7PWYwX^a^{S1E(8I`N|M*Sec}ridmlY=1+s| z9X^}FI^4c_GJj+|376};A8P6by)1*E-6_^RQiJIxWbAgn=A^bQ-C_m}Nt>PgBs^GN z6ghEm<;zd%XgX>?i!2Zol%71R1@-UQJnD2QlVAUyy9V5JN-R#t#ww(P-G{dzHV(I* zrc#8j+%3Y&myeHuHj73q>Q`SpbfS2EOz75QFDDvoEG$UVQ(fcdj;#P+A5j{dYjaKe z&d0cZxh=bGbLZB$)XXQ7ze6E;|A%1ZWXWin%5XQ*?t~SSBJpU+*C?XWgu|yHQ#z`U zEJq!{6fE}SSf6PAbtt#DPr$*}GG1&BvFpE)Tjfmzf{qN1-<|_HtJ;P|YrJ}8tLir^ zg!5ATSlOqO=>j15veOH#y(mlb1KpC^x=hkJ<F)>*KST((y!Z->tK?qVJcnYyg)N-v zw$AlDB5l4~FH_#z_<Yi6XON9qwYzCcU)p$LdqJn~b=TQhgb@6@^q<@9^pcNvje6AW zcin+*Vm+i$DwxN5ik9>r&<cbZ%WZcw&L#s_tCDf?Y~55?MeK3!2oEuye^tPq!yxhU zUeEDYZ3}^~XtB@rz<+(ME0TsK{u7uD;?G&=_VzRF2$Hl9CAsYyDFPinkbnvgc%HcV zTMYi5@NaZ@a_HudevBjpOOc>Zp9XHGy#ku*dVq9Gd$sc~+hh8Yb8(%$SrzE<9Axyq zqg-l@m4?(|;~J#v^feJcl_lrS0a8!0uS3ogw*%>ga4)Cj{V-MYmThq)_2Nl~<Xy)) zB)E7)va$hXte$`HZ*(Q!cTI|=?Ef6Hnf)p{l^4*9r0rTfah~2z@+?-ELc*p!8+xC@ z3=`%Jo|L%v;D3mR?^8UPXngImq3H3&F>sF8F%hN?d^ppNqfgfQ_yAiHDvO`{@kl+9 znTXYJP{I9nP)Pgw^l{lbq!dJ?65}42{BXDa1p?^g-AmY@{I99y!5+TP_qmhXWL4%b zHMQa}Sv%aqx^7R+%)5r=)zp-eL`5$jI}ymFPTp1wB>DzI?K^i@T|vZ|D<$qFcp9FQ z3ybSJQzvSd7RXG$0qDONM`Gcf^8X6?k_^tDCgdls!z-pD!d3Uf8{AJbh(XW*1a{?D zbH3XE+i7FeCTIBcZi($M-ozalbpe^0orBq0ruXpCYHg8qgO0|XlWR?_*Wr`7vRH~> z({5<QUH|jOxCliWd?OviS+dW?u3oRS<4#>!eAkQZ=aHCsnu*C(JFsHUX%!cq{F@5^ zXpXfFB6-Ed>cEhl#+gH`2le*PYw2iil@^8S&&Qt9(h}tOG+r%bsqSFr6tPs+=O$qz zR?~g9N2J%}u4Sk^W@#dzy9DfH30~QY`3dpw<Ar3s6SKF+3WR?rOLOQNkBXa<u+vG) zH~je)xcGzIP6mh36p?az+Nczyj{jl+GyiAX8>jFz5*s!=9{!OI6f*EhpKbEO2-jP| zVZ4a*->GJ>ToB@{oMdq2(s1*{x26um`i2eP)Aq`_DktBno2s1mQ0oZX$*eyKp}W(9 z^?k1fn_-V*q_h_5{}g2YIh9&zjZgmkfSk9siixp|*3C4N34ZV*Zh>iEZymrH%GPlB zbhDcSbjh##D(uUg+tsbTwbJ_fU*GTLy6@e($&_1=n9;74zVnSIa_wG5>#fEpmT+QH ztJ`N1w566)RKPbg{_4JUZuGOH@&*7kTi*qhWapl^T^zASxL&ENaN__kR6BQ~3F4Se zit4aE4eZU)9yu2ms1igN*2w~!nM*Hj&x$xZqn_qf@f~Kv*{3FioqzSt7(-5HyKP+q zS!ZMPCiwkzuA&KbcPk-l5?|O_9&Aj6CQUd-w#MH^Id4oh<?8lBk55CWh6shZmFhSC z30%t-hkHgby{^AEMJEB&OE&k$!biyIYx8~vAt51R5W(tA^W9xBg9bJe?TX^wv_3M3 zE?D%P4Uo4yn|$-Y@o}Rc=lg&hddB%SklhY#YGX11j8SfP#h*dh;~wvS!{EnQk^vaQ z!ul?9)ScE3amTw$)~B_lw!=!hhu{4y02?P#p+NQ8$RpA}M%k^gr;ii`h6M;0HNi`Q zG5H@!`=u_SeWt4EK)f)zQ}wZmoOfI2Yaogh+n(HvOnK@*Dq#_?wMMDgsi;4e!aORv zKDibbuKreO8=LVblm)ES=(+nr5eaAQ=GBvvsoP#*@cYeJ_q4<w_mdA(KtyrY)Bf#k zBA2_Rmu_@f95Ly2b;M=69+KeKo!$WJ@@lF$(XlPBF-;ze$$(z&U8+S<J}Mn9cU|Z) z9v8E`q~H)D&-Iqj)5yU5Y~$0a_qoiJ$C9Ob@6!1T(C@J~mf`4{^3DJOt%d^L?YWyH zspU+S!&^hiqZ#B6Prf|bE8lI0Du8Zr5wynVhhp5yVIeDldY3*XC!XPoy!ov$UcI03 zdu47PypqJB?=|EF9)PZ}pZ6Iq09EdtE2&W&LpH`p1YZB>T2*6-%b=eB635x)jr8C1 z%FL!AaW%C&3#kzR?t$Qu(T|R^ed)Gig*?4{aj4~GEO7=dANlHC0{T6cGp^VVz0GG_ zxgp05WfCii@tCkkRf-!=0PoX-2V+18o8VmP24P?W2u9ffx4P{^G5I;Fb-?;*bBp7~ zO=+*03Z3y9=F=m7yec<l=y2Zp!j`C;L-`HG%^Kz>ork))kDNh#>)1OLKx*f@o|xB3 zl=`L2x^JLvd{CgBfH2bA8RYVZ)34J6^<}CID*|2Iw$ZNcP~uow!37m}CTZ1v_)A=* zs7I{70&T{CT41T*oG$x_-ygmo_H}u_&(ayT>z+N9geR>GLyEO*03W~5GHN9xMjY4# zR^1<W1TBv;^oNP3O}f3~!^T&+{}h*eO#)Ab+PQ?FdmiNgl4^%1iQU7fdtGeg{+BZ8 z7P;nD>;c#DT2Xkp{xhiVP*jCOiE{{I;I{2Qw;fiH-vDCB0+Q0$LrMPiYkK@%dFe(> zU~cl*mp|!_@zz*oU?Dy!(ezvd$jo#{+)r)HPNLNHOzHE19q~09rei@qXRA_a?ot;i zty2f1z2hhC6yX4vnw$wQ@TQef-E4&Ug-5w_mDf&`T^s2!Hn1_k|0I*je4v{PU#6(P zXU(LB&+wpfiFxG^-)y=iG$)}TDu8H%qb{FEM?`;kfr$~pJ<xy^i&MB>buxT;6Jk&k z1V<Edb5Iw(ro$3`uev!w+=#)o{v(*yEKUg+|6&t2F0NxTZ;_vc;ux;VRPb}8Sof-# z)yVs$R8L0NBue<`kJq>H$-9Missn?Hez|!H1>xNRZ+Ir(rx9YN!m1DUPZsj13z~s+ zBUFigxYyKwP!w8TE3HU^0#Q`|1`RfwyIm{OB&f;}0}!P_y|cHnVgS_WeJlQaaPn9U z5<(i?J?T+EZu^E@i%EK`O6dW079v%fnBUyqN9s{wl0DNp)-WKX%sMmGeiZNlAnb#q zrfVMH)#>+smFt#K`28~O*Wh~mKj>1*Af?Sksm)ZVve$x*z<NK4c&ZfMT*=dih0stX z+XODdx{A9}qZSjXE;BzU+6*;pF#z8IC!k^96j0;wEC4Eo0e*5PN#HU-Tv#$3Dt&}L z^#q2jaAuFIZMI)HcbEpt7+_&d-;kE#q)=JWI323?%>y_vM3_{CwcW0=yV5|tZ|!YF zT{G9IRvfqzNvZR3VCImu5=HasHtlHo)DGKs=`TdUIjc&#v1$(R%3r1^m{|fpj3!dT zSsyvtFxb;~rP4L(&!04phvIm*wi=7gLlvo6>XSSi5Al-3&tp{c;XpZbx;YZT{Lxtr zJD$4`gBD0>@Y*nS>DxbLEFA0O<lOUXQifI0!nvOPDfK5;>2EfcSj*x#Y=|_?ucZS< zw8S61=6=&&?6$Tg^2YnJBJM-l0o6UrY`-OiV`r1rFcp8VyS_N3-$1N;x`MgH#fAjy zM?k(<ct<}&KG-L8)@|1>M%6Pzb2^UUWB#bj*BiUxkp%sKw5AXo->nM(d;!RMaADhM z9W`&U=gZ~K)r;K%WNFKndt2pd@q)EE`o;GAS&q#M0j-QIjl1t>ecCoF>_IYvyJMw| zz<YGYch+DlD{p`SU$zXLx#!dTDvI9kPz6P@WUHdJm9aF*_dOgkEII*c5BNqZve4s8 zSXeccln|J$UHnxtssSWV<a-)f<^Foek=M`|%5zx@um8~-v$T`)0Nh*nKTZw-F39-3 zQNMOf84yEiGGXL>j~QdZw%y62YP>Z$!A(y+oKGZHVmG0kRGdY~VKWuE`qAN5KL~~n z{i6Ayuvuy0>ZxzHAawM5{>5%V{ixA`wbuC&hd+-&?tx$lm_rB`HSa=wmcb<VzMf5D zB^md;=dKPHe3XgpGJp__Wl=|x22sa5U%?hH{wT~_H6f%w!yPNDwLK7HX51pnfLB44 zk##)~K~hw32gVOBW~+NhO^<ps{SG+vw}Eut22S@J54g6)Eq|Dyu-6!lq7&tmILQV; zMwZ3tk-gImU_AZObVU!T0F_f!5=EE|q6Q!(L_<KxxGCs9fNd>O6a!S)lNj;`xZlL2 zw>d}dnq`oqU|I7sN4v^E5DE+5VNEh>zLn|0gG+Z>n`e%<hX6N4*dZ3vFwkQxDS)y8 zWw)9FUYsB);u^!Z?5lnq`B{A?MEDv?HroC2oi2h`)!T?T+0cX_k(WxW$98B28Uz5z z^;}B)W~t`sZF>3;kW+zWcA|<)=)Fh*iFkhMA%RWRn46piY|29b)^}D`+zxu*5&4^p z`9BK$aPwiJP`>xer8trgfa%31Fvuz#bI5;I1adH59UA~k&4eEsFG&*k{$JRkesmQA zKAPox%}iw@$i_g17~l~({;KKUnQf7QCAyGm@$QtQx9<;#LAy*0e`t>vDxA590O!mA z+-fXu1o8-;6H51ypuoCM^4IlX84Ii+CJLPe0{{L5?NDMlyi*Fegv(gosP}3Hfp@51 zvmBPm?KhvJK61%~5a4dM0?&?j_JFr(PgUN*nC2Ot{YQiH{xf8>&-2fubBuiXOn{(Y zEo$}BdBO`Qw}+Ewp4dpwnI8<BB2o2ODQ-sLy?k2!;{CFo6IycbCAKze60x+ceR-h7 z*hu_|<gMx_S;bE2+dfocfp;IZG=p6yE+Fw3d99;&zX)f2fw_Bj{4BbS&Er|_kv2Hf z5&iP&0X8~v)r|Bf(T9YJLM?l~0zG6Hr@=eGUt_^OEzAwRS-Qb%XOg#4?-@UAkIi53 z@}j{y!l1uJ3CMM2?~1URaH*1dBW1wa==}l~?0biH{d{+gEC1$1^P8d#Te3ggUPnvh zd=E0wUfhi7zgtA13tSv`{g-Bn5dLToQ2jhE2)&!@;*OQGQx5N?9_cjluOYLotG4AO zh!4D$?O$dl4X|GGNLHOJNHl6|ZDHR3+7P@8m?_cUC;I{|+S>4Mezpd6EuA0T|D2T= z5mP=m#V?JAFPj(o&ti`E)$o53ef@C<^<>FH$7%ZkSmD>Yd}hZdN^mN2x<FuWnKDyP z2u5OFnmRNb!j`Zyu$#pXLFkBMnI2ypq3b?+NT)^OK&E5)nbwXdyVYN>I#VW9NKlU+ zaTS`LK70<e-qP$WugeQ+;L>SRpg_Wch~2AO>xNy8;c<z3Iu;{YqmsO&0ec}|ckxF= z-0d53<`a%=?%tuM4os%T$(Vjjjx~-l?((?%7EZwB1v+yEaK|TVJW|X#FTElqcNRJa z>K%5z*L}o#gy7H_Ob%ZVVhFbsAbK*>1Mg8Q^7o<D58nU!m2$fRWMbGD7ES&(*TJ~l z5D{24SRH>QNj7o_$p9%)f9B0Cu*q;N;UO{O4GOBr1iOQeAWa11Ze*M}+yF77*OhY6 zHlGyG*ZH#0;})s&&Un~nD}DWR#%Vr(gdVFO8dzh$ekn;G5CJV*FQ`|uUt{;@OtAI# zF35EtHL419>`BqJ?YEyn&I#HBu_gzVE`fiPw$(<@>i*}F??R8=q1e02d1^84v>bd* z${r?e&aIt1QVR1?(pa7n3Enq#fLgeP-n@nXwW(_(WA)orEa27L-?#^y$r8NCd?7V= z&lMpv5yWMv^j`cQ*IOylILfw@4|jv_vU=~}g25TrbA_hLNkUtr<BUhbhYIRJ<nd$a zo5VRSp2!7u7q0zc9aZ9PV6W$iyyZsD&jPTX*QH@96o*#quYOe`j3JYG&l%2}-<=WX zDJ_Jp6V<|Gwk$HT1JB$1mVC(a;d;-yA&wl-jv@U<2hCk_cO-YgXf_23Ut6oqe`!@% z0NNE@2baVnM4$JZsg&6dlB|wYH!k$}E?TSU=)B#ZGFsSPxMz$HGm<8<C!-__O7*Jp zYg*4QS1zIiB#`u(3&A&^JZ>SDryf3xey{H{BD&2u-Y+%8XaWpas~I8))z-BAhFQ*I z)jt;tSehJWf-Z2fnIPL0l~iQ_`Hv;^;vSu<pN+{dtI&YH=9TZI<$duuWW06*y%EaH zIGa9J+LEa}#Q@TIQl;<S_P5v;GFyFp>(02spxMcRIt8DG$Cawo=Bj$vks{*~l5tyr zE*)Rs_lqjG8-_zBRx%-_tsvesw0iKp1Y)39_=p4*tTcSHalq{oNu$P7kZKrxw#5%l z+}EN+VZV-nz(9%VpPP*o!rccJ9Vsn<sZ0Oe$qUWHp|A8`O7C-w#5VG+1X8-2{0uoN zRv7QM<Rt?~OqgRxP-RiBv<(*x|7AiZCDI|u^)(G(6^66@EiAf(eBo8+YxuC0%ZddJ z15P}!N=RvHXUAVUFkLv@3Ynj)LD=8EzXnH09xQU<!CL2QQ2t8^dKSpocE6>Zs}U4` zsi>VB$l6z#{gTjR@TN2yba()GMAo$nG1%D#G?dsE>mh9fDNvUGe!azxpkMGtqeG4{ zQp;w~3MnRJzKz?jLjSX|#G~<PJY-_k5Xo&gzm0!E;RJp+2rCcbB}XOt!S(9k<}jqq z(WiL-r5usLJE(4!?F3qsa{I9I1?~?Iu&~>t0o4<F4t^&V^m;$EO*M+Xpv!ig)bU_r zdB#?7M73r}R>Q!MXH~<11!aLTvVDzT6Tg378bXdDqh49X(nkSo;A?T{5q=cNI1t%t zy9_FBOfB5Ke?h|48qk0|g&Yd!M!+l)x+6#T;+6?u`b6MAtv3Xvq1X5M@+Rw4sj|cx z9hyf~8XyMGwYYA=THWK_5Nx(>k=I4M&q{iDlrHE<x9Y$Khi`ZmNN(;NasWcLc)=qT zyh=Ic8+Rrf2Ug%!^Np(a;fP?E47|!T9C(^m<AbEA(lOIUhj<xeY_u{M3J**lDK^R1 z(ixmq;X=s$Tx51TIPzlcCb_%Ig9`ny%>t)jg59hwL5~v#7UG)%^=FnXEt|8irezwc z$Wgc6p>Pb#))5~x#)gs!uYX>X+7HfN8MhRK7v~-iShEB--p*wGK!5*Wse0B6K6r5r zB*!^c1)yb+-0TJ{w_sx*YKq{PX)WFY1!P?ithk}Xs`lc{+1>2VB%@Af7%1y;h}o)z zcGXb$6Ve8Pcm7O9cO<S|*Z1(UyI?(g#~y9cp>mR*&T$#p8nmpCqH-|hFEn?xCiWqk z1pV3ui$JC}_+xIu7W7+?bf_{<R5u)B-$7B#6Sy`ee8Kj59#M!!@q2i^``coo>M(ZG zmtPaXRNtd#Kh&f{9P2bg+>m%Sl(QX>QtpL`ErjUCgYtD##P4Rv%f(9)panpT;Sz4{ zA2vU^5FT5ceL#IK4f0KLMd~*T1VcOrGw6t5mHI8&0qEoMkoe-yoddz}_3_6ie;Q5y zN8~R4uHU?P6Q)00+X6<)0}Fs~O?`nmBN3wU!=1tJvcT;wEU(M+O7x?)EppU`%mg1+ z>W&mDfW%bBq2B;kG@;#p2}Q&V$AEo4W!cUb+BIg?ExNSO?K%HH+sutaZz1wgdqol} zAonW+(9eNBP$fkL?L$0iu{3Nl3Nq--w?Wn4C?LT|k?Q3}j6=A(dnotM1n-WVW>Trn zY2v}!B%xEELH6IJNT3-fItD_bT)Qf8m0~%+Zq%O#ZPbYeL`NI`mkbPjs8QO7<c*)a zEAtIcc!P9XHbm*E{*Dp9)HeJdcD97Z<FgZEfx<d`c?see2D1%7@5J)95Ix-5z5bWY zp5xvplH%Lf;svLYO-Y3S*49=-hYy>Na`nSu7%^A*hxOhui=gqCtEnGY`o+X=OP0X` zrB$7C6o<ydZnyiR+iRio4H`XMCNEWgYmS&Nulz@Y=<UZLzzX-|8P7FnfYXq;N2hMo zVkrQX1bb4;vdvEOmU;BQe~_>j*G}W{vgJb!9azosi&movACmZ^8>L{aK!#G$1w0q` z(SYyyVclq%0ySe=(|5-;CU&#xO%BDI#(~E2kV1d-Ar1rE2EW1V|7f$KeV)OR`hlO{ z6uRNdX#Hj&$a_~K1SUH)HZCj5@5LV-UAa&VjP`Ny$I2682aB4>1lJsj9zQfS%QlAg zZAlG+DOS@;ttJ&cYi;7;dHF&u-L6!2NTirPRpt<4UFRXA^_W|6M^@3I()C*?#NxFb zE<Iawaz`S-ve--aYZs&H>aedAfzSASO^EjCS!Um9W~LxvaV8a!)HBJC+8ueuow%@V z8%mRtOUzxzP}A7${~B4WX^s4TT!JTKL0_J+gCE*l^|zyUD*B~pL8rBeRfntR|BT9x zvS3Y!mnwFXO7h@)6w6iuIaWXf9aGUQ^ELl73e%UA1xv@ugHPuiS)k?gA~u{*6^To2 zWl6)lP`Q2n(iXG`RId2n#1ywXoI1K};`;1BneiFM9mk3Jqu-roqQJC?QDa0j&Ui4Q z)XtSjDVWKB52gdw;S#eS=e8hg2x}Nfz8Wz;Y0jP?$dwaI<1_a^;u0wn-i{$NR}Nk0 z5nTDj6#gDf$+Ar~Va{G<9kOjdY0CcJZ7N$(Zt(e;)})U$ElwCMFWqq^YaAHEVW2eZ z=6HkK2ki7e$uw?Eqy>lsE<yXnk13`#lTruYPa)QX$52heNB?yW@&f2;$&Z!i8wLiV zTm?7y2g{R&cO48ZlSX5=M`s4eQDwR?BO_3m6Z=`WPvYWYE3gRa(}uH$K8xvh5uB{o z=s0`E|8$Nl0F6WVaBI)ruvNGJ*N=y(Mt^@JD}O!UhMRSn#tNSyKao@)4a#PXU+}dw ztQ6vyB<Lt{?TLV8!jIa-9v<vFY2cGVQsoRw;wtrDG8>i&2WcDH1`FM1&w2vT>z=5- zv6e-H?i}YK0o&g+sYZ%_`;ea}>$bBk)9B|joF8kdsIJ!#ggVni6Tyo2<K4`L9HL$i z4Q#%jOv`9JIx)WJgt5=^=VIYZl*^#aZIcEobk=^{XoExRqdScQxt^#Lq@aOD6?n4B zEZy>%bE=Wf-)<09dy8SYK9BeJW81r8j}YEyJtRWv(vwyxSb6Mr!k1wUhhyZ7re)!4 zQ!?`0+@_OxGGw_G!EY{(*73|7Uh_6Yr|vWV^vGwOhBbJ_ck`NZ<v4iXOxu%k>-bX& zZO0iO)!au4m0yD`aJCGH2CJ);;9i$&M)Flt92S!^dJkQh>q-i*iQoRHFG63*|NEYE ziv%=<_pWIF0)x5UZF>~iz2lf%ba5V@*}a?><a}A3C5Zy24<5|l9W|Zn`jUtgHelCg z_uLZDy<?BUBfZFFaecR<qhYbSEYa;qha(>Lk+!uvil${S9%eS$I##w>ZY^O$ow@)` z^=;$-J=(fa>9@T$dvv0UA0cgd57o&n|45w|FNl1^{l(}w2{g6*8vk#eQfHZIA5&!I zYf+FT^I;@d%Xn`_la-yVIqAMBviPOoZ*GH7*N%2x+YzcxBg1#sIXJNE6{MY~Stl7n z?XIk1)ROb1USs8(0#MG2Qn2FK?J99gM73uK3y{a`FuP@%>`FhetC}XC#R4!8t?S<~ zEH5rFf`puP5<AtHSh#m`Yb$~mBdBPtzD)7CTOF}-Ib0S!`%d9OS8P>j$gs?@vY;PY zIBvV0*5|Y1kVZ$O;R3|qOZsDqEV=ucMRt0NG+En8vjdKM8f<F2vKWYlU=zl;gbG*p zLU?2Z!W8CPiqmmp2-HJ)F*Kj^i$6!QCbNY0J@#WQ^+z)(X)hwV$mG#mR_O6Gg)TT{ z0W-8~(j4P0T5wp5a*N$r4u!R?q8XmjnyXIS)ZqHKOoNHkA-k5NSAobBeT|*WV&2TU z2+ZbWS)|30?p!Q9oXlk4bwm~S1eqK<@2&(%CS3xTqcdee^|3O@6&~SSh^clAxmk>| zS9Wu3w%EjjCk4gr1;y>RU&q8MI^NWLlpExuNs*7Yd6DHcNA`3UR%w^}s&hqx+lhuh zrzKk{qP;t^POpk1q;H07T>+hczh<jA)4n{=!luJTk_6=zx6MxLGq;xu6d%feRs*b! zsM;W-CYOd^A^V+Ny_p!ScK@C@(2|#4n7{3!!z~+QtYI0^-W5p|`i$vVsVkMsQDWyi ze}@aOx2l{Ag7zyEOztZ47ppP-PLa@#JxOwqGTV)DkPh>-kR4B}`Sl=W(Z$h2{eTF? zP!EHhwVpLz*eoie7`*%0{`iTUI=l0akL#?0mbU0_nQ)2P5a8ff?Z+bwx>uTYVYPM$ zBABlod-a9}+_m7%r{y4xEH%v#%|~AlAGGrX<hZe>tk!Xy)|@>QPTN`)bbFaNebhwb zf#UTJC)52Xs*q<U$4aK@1C7O*da;|!6GrT}VBtIqF{0O=bmXG{)S-%$-RAcb+iCqj zi$4|YOhF_+8l*z&8EcZ}7Hwkg8UGbad5DlERR<_8n2tM0mqBH&DA*af9QLfTF^qIC zrk!h=Y_eRV)e61%gUOa_c90BZ#<?))h8yW#j2hif#5AMF-znN3Ki$278B!$k!yt0m zWpjq!UOWT2MP6!`^C~xoCasTnkTgTgSHngcjq(k<rj9W;LQ@uJ`V&d=xl$G!!x5wQ zhM_DwZm*sc^c5MZCt<o$#CSFaNwQ}YHSslvb;z#g7+18byTdO~2H)dWq=wCN4yvnT zEv<-q>>=uTkB$%{`J<fZ*nVf)i~*RkOKD2eO0X$lJlMz0mw($EW&|*xyAm*5OS{jL zFg@7T9dByTe#DSsx(nF}wCqX{H+3$KkC7U6y;zuIa_hJ5*_Y~ph){L)2&LFH1oHl_ zRx~@U%S(r{fe@MSx!BDh0E_(5ALnZ#MacZnK)UtfcEr|&2dT2cI^6vBMPo*sF#_%w z7BvG#%{SRqEf`jvn5$auofjxKUPgjWle!fwd-tqKCNWt{b~nQypE6=hm0iqJ+wL$Q z8ZEZYF<AY6cwnSY(udXY4P}8S9J5W#T&mlTy5m+#|NgUeJ$g@sY(h!i#-d<*75(fJ zMjrFxfhM;`vWX^5?$$Jd+3aGAJ3l)nu?qtoN+cd0mn@?pz<*ZRgMaA~0l^d5M;aK? z48$Y$<ojei6Pi``Lt<G6YYQ~yzcTecsZlD<bR(3s=ZC6R)bs-EK+v6lFz8#cNn)Q^ z&?qSx&V8sEtg)b`8KkNH1wo`Exl<E?)!V&eji-gEQ5P+N8{~4?<GI-oc@^AegEC=B z8?a@wXoNw7<(?IKq{GFTM&cels>^;z!{SMSagvRl^ixex+OWet@rtJ4v+Mk5?zCmn zob(qlvN_O-WrDx@O|_5D%#mg`sO2lzpanaJw9d|Ky^tUu4Qn3sYiaZ}D;d4h%iw2{ z$}Wj3R%lRPb|}wez)Zz7ZijtMSdc1<FMzSFJEdw>QZwaI%ry+dGr3|krjQ+1EAzGH zE#3Qih7hc(2(%Ii<1Y=-oo}g5FD!&SzFwT3PN9kStd;UvbM0rJ)6d-jG?bywRI>gc zME)q+l?~*|gzp5PT{~PuyAzaVcbE*6-BdpGYwwE=mTYJMF(3h|Lz4o-UWlQ{W8cKc zci>;gp6`z|8MA7cg?X<yIfK+jhzBV$^n5j}V+UNN(c_*<1aeqSM}IS8;D;6ZNr#JO z<G|{CO_95bicVjS14U$ti01Rr6$$rcr%y^unwHs^>p9OVmht{B6i+XoQw;Tf&=n2K zK(W?r%17);_sKXX25B;>2*vH4Zx)EVD^D1-SSlg07R=>IK|5Tr-HyF3CS<hFaA5@2 zyJgt=&{2}PP4HQ=`7<(^K{l;<A59YM=w&;CuU?E^OTOiE_pDy!X2G_|h%3z+ReC;u zMi6h+;|Ge#ack|JkwLNR?Gq&O%F&21ZG_d$0=DAJmd299?gY%5@E~axU)HWz3;J(= z`&Tr%p3R$RQsnx)8YKCm^nB*xE#vP5pbsUJ=e@|EuH&mTX?n&3$qX@x7xMbyS^Ru; z1FPnQ_Na%svI;&-wG(^BHN|f|u}oUl8_f|^6O_lidN3%ev5U2l%YlCnd1@~tHijC< z@`IX1U{!Yr;seki80V$@Nmepir_Zi8ZTSH-B}dUA1vRB`+gzU%xY}XLHZ+{}G)ii; zO+F!lHFkB#aB>8m4_+C{`*NY|_!Kt|23$QjgbB$*<K=E+1m$<Hp<j*UZ*!tYy`B|k zXjtDY7=Nc=)*VZA3%1df&^{?8U-5akM#QnM2OXPP+wHDOa2=!f8Sk+smsU)=rleu1 z9M{Dfn=evlv4^_KnY_%zbtF_Tr4S_j+)(>@OWE0PpG{Cy$u#cIa;0Plj+t_306M@- zC3Icbk>zPA=UR;ZBu9CZw(4h$ABI({`5QZZz8=%Xnr2t3Q4hC=2FRJ1k5%Xi%I>yg zKaL36i)81X5WKHMu*zY5qc{@;DL9HzV*80$JdpQt(m4p`msyMGaCf|pfqh00XvXO{ z;%ZgC(hS!=eWZ-FgmaXmt+`4jMy<R>+Xo}A9(m;H-Mk29MY#^AQqBnjgX+dfuI}>p zcH&B!dogYR62p*gE<+j%Y_;o6=vB|BrhCclT`5&}vh|oW*)-$|*>7pZy9|;PURc?# z&{xnLpix5OlUoPv?_t=mN~M<*z3ug^`8c|YGSltp^zM)q`Zq*S!V=LJY1j)_#5UV! z7+;%}|Bn5qH-`V2TpETd$LED6o_5!5%jiWvAM8<|G^C?=g9&{z-_qJW`wITP{e5-{ zh31q(m7Eg~db!U)I9+4?3lo3bp9DdD3^8iGD<Prk^KhpK*_ya!yyPICFGeVs{ewnc z8iqKh;l&_vft$%+$xSQ?Gl^+wNG~jAeO&rJ+a!d&Ck)dQfk?jZIH@|ynXa)wVpv<8 zDNdO3^?dE*;Ef6#ag>W53%F+y(y#q)nI=omTs8Ct=A)t`p(Z?6>{`zA5(J?RS4o}7 z1w3Z6d-EJ4wC+g56x{Nod)8{ft|Em(kV$dS?8$xgBaG#aELuE(*44etVWBmZ!w<c0 zuChz-&m08%miMxRdrgp6ErwB(SK~Ss&5XQ?xv7(P?_wJVXaZY`5VJ<TNL_(4Cpz!y z_t}V$ggc-0;?^-!B=QfG1ZkWGXv~z?;LBYA#wfc@oj+WIfIEz(*D+Q}ZVYOUa+uB# zObT|HC;n+N<Q3&Cd+5iQD;hTSV08t>6=Tu|>|!-kqlboQqf26X@7JUxaSalq9&{&& zaV-g&)T2{GcAtJ?m&1gq#l-8z5NOd}wiH181En_(G_55#sXzJP4w9rR@h&ehI0`H6 zu5&n=-z?}Ic_stLm=0;|M;iLtVZ1mfqh>VjtA)y8JhBltfxr&Z7MlGyehhB0$jaK1 z^Mr_&hIqy;;i{Dq57K6^KUzk!I^KL%ycdJeZCLqjg@!<DB`ueolHBa}G#qbeLW0?Y zG<MY{R(FVGXmX2s+3$SmE;-4#czb+{EVD3oR7A(-WL2V@Jha(BMuR3JeMG&K@|kUS zWCCU8B$7*z21OU#FFCrGlu%bP-1RUfSfe%#!=f|Tpy~Ym0via*=(Sec&zhEA8l+9< z<6X9iaC^Cw|13J8qF`WR<XIeKcQn$F;8>+A1Xf#|W&aLi8ecG^=twY_M|e)Lb1lcM zhQ0TQC>bl--=ji8Ob1(9+b>r&n@X%p7!FfsG|X4oKf<`j4!lvvxErBAD7#4BMRhSh z9W+-ZxP}?!1WHKE4^yTyNS=4ZG=$5<LyldjojpEpD8`gCmoznjaez&>v?cqM(|}?G zrYlk?i*;8A>E;H&8(cAAb|BO<%f2|PD)ykgGd+k=(>6QESW{B3`Eri%Up$gPUAdVT zTUa<=p(k)dn?Rk57eo3vNZBd0C$fEwWso+L4@j-sO%RR-)pXIlB7@@Y2mv($1q?JB z&qVV9SgApszbjQsR}$tM)6$n-SiXJmoHX6vc%TVu8wACbYAXu{Sl|e=q-EVvjugol z?hQ?RjZD)zpjs#}cvve;H8c3?FBlVKacikjGBK~*EPMW5Ea3kcusN|x_d2k$zqlzj zc6*bc&RtVmuUgS%XSMuTw@<pbd&~7N4p)U%`Yl{#87A8lsu^W^bhT$9qy#KvJH9pR zaq97nTkrgcHguZn6r$^9E4d_U+B>bgLdz`OR!S${+VeQ%^u6Gn4xv^mp4m%YafSx2 z(PCSz5VMtSja*wYaFZtRFr>zr$zc~~MC8ioN>z6sdojx?B)vyV_hxAHw$&!yzpPwV zMklT+zjkGI;i}Ti^|wC7EpA*Tv9ii3R1H)|hwpjS5d~_^E=oK6z#=^NkB<2}vEGZo zBB-cmm*f(!YR^)gyI=FBNX^y-4xqbD|1wK-`8J2EqRXYy{lBuTn&)v<XjR`vE$KB} z7lFOktwu7tKq<h5ZH8&zRim_N()reXCtZ`vmI_=ITKtY><-*7y$0=6dr|u5SdL|S% z`OuZ-!mML&RvvV?D!=m6>Dp9hpsVIKhZ;ulx~!2rQ^g26xn`01<n70nMjbzS?s4|c z!W|iB^rUW|Ze4Lt;%mtSt+SJ=w7pE*U#@djH?_U6<?ph69l^4Vt8BVg*$0&#U*)ys z)X~-NI>6O#Rqx5(_N&J(dL<Wp<uDan+_ibJRnwL5z*j44mzwS7n+sgb^1E<V@&1)w zb6&;W%1-zeBC%puTHtr<*b1+Ot8BweT~{Bgxa##z-V|Kdn$Iv@ch#sZOsW~!HuxzJ z+84O=W?<q3sTrzQcb8nBqfwgAxqhv?FIVvWBP%bxS$R(~#CG$FD5X%_kfR${sYaEu zuZc_BYXB~tJ1Y`+R+s)+W5PCFdi&}273U;G&-6*nQv|m1Umex}mICWt=Sa=4Ewv8d zbzN1oLhJadsx4BS5#^OC4d5<z@AI`ES6%zK`Ig0<!ZYhsL3Q*^$5pA*w(N9YxzHeY zU13(*f>)g(Zx?Fyg+5QXD!1+z6S&rSadsIn!lkND_g;Q_?CUB;U`xc8<I;6gFVVwW zERU|-&UAIH$5n&btK?RHI=D(~JzSTndE7OlYhhBWPxrpR>U1Ter^?i0w&xVC!&jmU zS3M0gn)T>PcjGGapsT>l9I>^1^}Pj<2$;LWSnZn8voNX6r+Yt_9$g{cd?jNFu%0+( z9H=F|%&s?>*SmV_8BncWr5tJ&BAOJc8}YSu^-oBX;mRKgdFgD)YVF>;PmlfX^G#53 zyUP{CyLm~~^mo6My!Hw#dv<iCIa6ryl3l`}#<O~qt?*`WYCJpJIyqH0xp3*mJ@*8z z$}GOe5ybDh(*5w4t$o3J8(-xuIn}bNc+D!d)qMq~#wp->BQD(S*tw`<PtHBA*!gi^ mjJ!l|;9kdHYA&FJ_VItg@%Khi%fDtY0D-5gpUXO@geCxq;BbBb diff --git a/docs/integration-options.md b/docs/integration-options.md index ca1cc381134..ea4ad1eda9f 100644 --- a/docs/integration-options.md +++ b/docs/integration-options.md @@ -14,9 +14,51 @@ how we designed the software so that it can be effectively leveraged under diffe As you might expect, the first way to use the Arduino CLI is from a terminal and by a human, and user experience plays a key role here. The UX is under a continuous improvement process as we want the tool to be powerful without being too complicated. We heavily rely on sub-commands to provide a rich set of different operations logically grouped together, -so that users can easily explore the interface while getting very specific contextual help. +so that users can easily explore the interface while getting very specific contextual help (even in Chinese!). -![contextual help screenshot][] +``` +$ LANG=zh arduino-cli +Arduino 命令行界面 (arduino-cli) + +用法: + arduino-cli [command] + +示例: + arduino-cli <命令> [参数...] + +可用命令: + board Arduino 开发板命令 + burn-bootloader 上传引导加载程序。 + cache Arduino 缓存命令。 + compile 编译 Arduino 项目 + completion 已生成脚本 + config Arduino 配置命令。 + core Arduino 内核操作。 + daemon 在端口上作为守护进程运行:50051 + debug 调试 Arduino 项目 + help Help about any command + lib Arduino 关于库的命令。 + monitor 开启开发板的通信端口。 + outdated 列出可以升级的内核和库 + sketch Arduino CLI 项目命令 + update 更新内核和库的索引 + upgrade 升级已安装的内核和库。 + upload 上传 Arduino 项目。 + version 显示 Arduino CLI 的版本号。 + +参数: + --additional-urls strings 以逗号分隔的开发板管理器附加地址列表。 + --config-file string 自定义配置文件(如果未指定,将使用默认值)。 + --format string 日志的输出格​​式,可以是:text, json, jsonmini, yaml (default "text") + -h, --help help for arduino-cli + --log 在标准输出上打印日志。 + --log-file string 写入日志的文件的路径。 + --log-format string 日志的输出格​​式,可以是:text, json + --log-level string 记录此级别及以上的消息。有效级别为 trace, debug, info, warn, error, fatal, panic + --no-color Disable colored output. + +使用 "arduino-cli [command] --help" 获取有关命令的更多信息。 +``` ### Console applications for robots @@ -26,18 +68,68 @@ system. There are some niceties to observe when you write software that’s supp one in particular is the ability to run without a configuration file. This is possible because every configuration option you find in the arduino-cli.yaml configuration file can be provided either through a command line flag or by setting an environment variable. To give an example, the following commands are all equivalent and will fetch the -package index used to work with unstable experimental versions of Arduino's cores: +external package index for ESP32 platforms: + +``` +$ cat ~/.arduino15/arduino-cli.yaml +board_manager: + additional_urls: + - https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json + +$ arduino-cli core update-index +Downloading index: package_index.tar.bz2 downloaded +Downloading index: package_esp32_index.json downloaded +``` -![configuration methods screenshot][] +or: + +``` +$ export ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS="https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" +$ arduino-cli core update-index +Downloading index: package_index.tar.bz2 downloaded +Downloading index: package_esp32_index.json downloaded +``` + +or: + +``` +$ arduino-cli core update-index --additional-urls="https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" +Downloading index: package_index.tar.bz2 downloaded +Downloading index: package_esp32_index.json downloaded +``` See the [configuration documentation] for details about Arduino CLI's configuration system. Consistent with the previous paragraph, when it comes to providing output the Arduino CLI aims to be user friendly but also slightly verbose, something that doesn’t play well with robots. This is why we added an option to provide output -that’s easy to parse. For example, the following figure shows what getting the software version in [JSON] format looks -like. +that’s easy to parse. For example, the following figure shows what getting the result in [JSON] format and filtering +using the `jq` tools may look like: -![JSON output screenshot][] +``` +$ arduino-cli lib search FlashStorage --format json | jq .libraries[0].latest +{ + "author": "Various", + "version": "1.0.0", + "maintainer": "Arduino <info@arduino.cc>", + "sentence": "The FlashStorage library aims to provide a convenient way to store and retrieve user's data using the non-volatile flash memory of microcontrollers.", + "paragraph": "Useful if the EEPROM is not available or too small. Currently, ATSAMD21 and ATSAMD51 cpu are supported (and consequently every board based on this cpu like the Arduino Zero or Aduino MKR1000).", + "website": "https://github.com/cmaglie/FlashStorage", + "category": "Data Storage", + "architectures": [ + "samd" + ], + "types": [ + "Contributed" + ], + "resources": { + "url": "https://downloads.arduino.cc/libraries/github.com/cmaglie/FlashStorage-1.0.0.zip", + "archive_filename": "FlashStorage-1.0.0.zip", + "checksum": "SHA-256:2f5a349e1c5dc4ec7f7e22268c0f998af3f471b98ed873abd6e671ac67940e39", + "size": 12265, + "cache_path": "libraries" + } +} +``` Even if not related to software design, one last feature that’s worth mentioning is the availability of a one-line [installation script] that can be used to make the latest version of the Arduino CLI available on most systems with an @@ -53,7 +145,58 @@ of features of the command line interface and waiting for clients to connect and following is some [Golang] code capable of retrieving the version number of a remote running Arduino CLI server instance: -![gRPC interface screenshot][] +```go +// This file is part of arduino-cli. +// +// Copyright 2024 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 main + +import ( + "context" + "log" + "time" + + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" +) + +func main() { + // Establish a connection with the gRPC server + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + conn, err := grpc.DialContext(ctx, "localhost:50051", + grpc.WithTransportCredentials(insecure.NewCredentials()), + grpc.WithBlock()) + cancel() + if err != nil { + log.Println(err) + log.Fatal("error connecting to arduino-cli rpc server, you can start it by running `arduino-cli daemon`") + } + defer conn.Close() + + // Create an instance of the gRPC clients. + cli := rpc.NewArduinoCoreServiceClient(conn) + + // Now we can call various methods of the API... + versionResp, err := cli.Version(context.Background(), &rpc.VersionRequest{}) + if err != nil { + log.Fatalf("Error getting version: %s", err) + } + log.Printf("arduino-cli version: %v", versionResp.GetVersion()) +} +``` gRPC is language agnostic: even if the example is written in Golang, the programming language used for the client can be Python, JavaScript or any of the many [supported ones][grpc supported languages], leading to a variety of possible @@ -68,13 +211,86 @@ For more information on Arduino CLI's gRPC interface, see the [gRPC interface re Arduino CLI is written in [Golang] and the code is organized in a way that makes it easy to use it as a library by including the modules you need in another Golang application at compile time. Both the first and second pillars rely on -a common Golang API, a set of functions that abstract all the functionalities offered by the Arduino CLI, so that when -we provide a fix or a new feature, they are automatically available to both the command line and gRPC interfaces. The -source modules implementing this API can be imported in other Golang programs to embed a full-fledged Arduino CLI. For -example, this is how some backend services powering [Arduino Cloud] can compile sketches and manage libraries. Just to -give you a taste of what it means to embed the Arduino CLI, here is how to search for a core using the API: +a common Golang API, based on the gRPC protobuf definitions: a set of functions that abstract all the functionalities +offered by the Arduino CLI, so that when we provide a fix or a new feature, they are automatically available to both the +command line and gRPC interfaces. The source modules implementing this API are implemented through the `commands` +package, and it can be imported in other Golang programs to embed a full-fledged Arduino CLI. For example, this is how +some backend services powering [Arduino Cloud] can compile sketches and manage libraries. Just to give you a taste of +what it means to embed the Arduino CLI, here is how to search for a core using the API: + +```go +// This file is part of arduino-cli. +// +// Copyright 2024 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 main + +import ( + "context" + "fmt" + "io" + "log" + + "github.com/arduino/arduino-cli/commands" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/sirupsen/logrus" +) + +func main() { + // Create a new ArduinoCoreServer + srv := commands.NewArduinoCoreServer() + + // Disable logging + logrus.SetOutput(io.Discard) + + // Create a new instance in the server + ctx := context.Background() + resp, err := srv.Create(ctx, &rpc.CreateRequest{}) + if err != nil { + log.Fatal("Error creating instance:", err) + } + instance := resp.GetInstance() + + // Defer the destruction of the instance + defer func() { + if _, err := srv.Destroy(ctx, &rpc.DestroyRequest{Instance: instance}); err != nil { + log.Fatal("Error destroying instance:", err) + } + fmt.Println("Instance successfully destroyed") + }() + + // Initialize the instance + initStream := commands.InitStreamResponseToCallbackFunction(ctx, func(r *rpc.InitResponse) error { + fmt.Println("INIT> ", r) + return nil + }) + if err := srv.Init(&rpc.InitRequest{Instance: instance}, initStream); err != nil { + log.Fatal("Error during initialization:", err) + } -![Go library interface screenshot][] + // Search for platforms and output the result + searchResp, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{Instance: instance}) + if err != nil { + log.Fatal("Error searching for platforms:", err) + } + for _, platformSummary := range searchResp.GetSearchOutput() { + installed := platformSummary.GetInstalledRelease() + meta := platformSummary.GetMetadata() + fmt.Printf("%30s %8s %s\n", meta.GetId(), installed.GetVersion(), installed.GetName()) + } +} +``` Embedding the Arduino CLI is limited to Golang applications and requires a deep knowledge of its internals. For the average use case, the gRPC interface might be a better alternative. Nevertheless, this remains a valid option that we @@ -106,7 +322,3 @@ tracker] if you’ve got a use case that doesn’t fit one of the three pillars. [commands package]: https://github.com/arduino/arduino-cli/tree/master/commands [issue tracker]: https://github.com/arduino/arduino-cli/issues [contextual help screenshot]: img/CLI_contextual_help_screenshot.png -[configuration methods screenshot]: img/CLI_configuration_methods_screenshot.png -[json output screenshot]: img/CLI_JSON_output_screenshot.png -[grpc interface screenshot]: img/CLI_gRPC_interface_screenshot.png -[go library interface screenshot]: img/CLI_Go_library_interface_screenshot.png diff --git a/rpc/internal/get_version_example/main.go b/rpc/internal/get_version_example/main.go new file mode 100644 index 00000000000..9e72414c8b0 --- /dev/null +++ b/rpc/internal/get_version_example/main.go @@ -0,0 +1,50 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 main + +import ( + "context" + "log" + "time" + + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" +) + +func main() { + // Establish a connection with the gRPC server + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + conn, err := grpc.DialContext(ctx, "localhost:50051", + grpc.WithTransportCredentials(insecure.NewCredentials()), + grpc.WithBlock()) + cancel() + if err != nil { + log.Println(err) + log.Fatal("error connecting to arduino-cli rpc server, you can start it by running `arduino-cli daemon`") + } + defer conn.Close() + + // Create an instance of the gRPC clients. + cli := rpc.NewArduinoCoreServiceClient(conn) + + // Now we can call various methods of the API... + versionResp, err := cli.Version(context.Background(), &rpc.VersionRequest{}) + if err != nil { + log.Fatalf("Error getting version: %s", err) + } + log.Printf("arduino-cli version: %v", versionResp.GetVersion()) +} diff --git a/rpc/internal/list_cores_example/main.go b/rpc/internal/list_cores_example/main.go new file mode 100644 index 00000000000..f627ee6e448 --- /dev/null +++ b/rpc/internal/list_cores_example/main.go @@ -0,0 +1,71 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 main + +import ( + "context" + "fmt" + "io" + "log" + + "github.com/arduino/arduino-cli/commands" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/sirupsen/logrus" +) + +func main() { + // Create a new ArduinoCoreServer + srv := commands.NewArduinoCoreServer() + + // Disable logging + logrus.SetOutput(io.Discard) + + // Create a new instance in the server + ctx := context.Background() + resp, err := srv.Create(ctx, &rpc.CreateRequest{}) + if err != nil { + log.Fatal("Error creating instance:", err) + } + instance := resp.GetInstance() + + // Defer the destruction of the instance + defer func() { + if _, err := srv.Destroy(ctx, &rpc.DestroyRequest{Instance: instance}); err != nil { + log.Fatal("Error destroying instance:", err) + } + fmt.Println("Instance successfully destroyed") + }() + + // Initialize the instance + initStream := commands.InitStreamResponseToCallbackFunction(ctx, func(r *rpc.InitResponse) error { + fmt.Println("INIT> ", r) + return nil + }) + if err := srv.Init(&rpc.InitRequest{Instance: instance}, initStream); err != nil { + log.Fatal("Error during initialization:", err) + } + + // Search for platforms and output the result + searchResp, err := srv.PlatformSearch(ctx, &rpc.PlatformSearchRequest{Instance: instance}) + if err != nil { + log.Fatal("Error searching for platforms:", err) + } + for _, platformSummary := range searchResp.GetSearchOutput() { + installed := platformSummary.GetInstalledRelease() + meta := platformSummary.GetMetadata() + fmt.Printf("%30s %8s %s\n", meta.GetId(), installed.GetVersion(), installed.GetName()) + } +} From 4b31d79dd10c475e7795ab33a181d251cf8b905c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 16:59:44 +0200 Subject: [PATCH 196/361] [skip-changelog] Bump golangci/golangci-lint-action from 5 to 6 (#2597) Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 5 to 6. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v5...v6) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-go-task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 7388cc095e1..0cb0a076913 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -114,7 +114,7 @@ jobs: version: 3.x - name: golangci-lint - uses: golangci/golangci-lint-action@v5 + uses: golangci/golangci-lint-action@v6 with: version: v1.57 From db93172b721e068dad2e4ed82b43555cc803ce46 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 May 2024 17:08:03 +0200 Subject: [PATCH 197/361] [skip-changelog] Bump golang.org/x/text from 0.14.0 to 0.15.0 (#2592) * Bump golang.org/x/text from 0.14.0 to 0.15.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.14.0 to 0.15.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.14.0...v0.15.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../golang.org/x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index 48b180cab1a..4d9a673afe7 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.14.0 +version: v0.15.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.14.0/LICENSE +- sources: text@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.14.0/PATENTS +- sources: text@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 72e83aa0b96..b216fbb89dd 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.14.0 +version: v0.15.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.14.0/LICENSE +- sources: text@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.14.0/PATENTS +- sources: text@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 2b15d607ebb..ed15c2844fe 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.14.0 +version: v0.15.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.14.0/LICENSE +- sources: text@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.14.0/PATENTS +- sources: text@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index ccf57e2f655..e3c2821ff56 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.14.0 +version: v0.15.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.14.0/LICENSE +- sources: text@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.14.0/PATENTS +- sources: text@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index c247310eb18..db95a791f6d 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.14.0 +version: v0.15.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.14.0/LICENSE +- sources: text@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.14.0/PATENTS +- sources: text@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index baa52fe747d..aec13555120 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.14.0 +version: v0.15.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.14.0/LICENSE +- sources: text@v0.15.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.14.0/PATENTS +- sources: text@v0.15.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index cffa2f341b3..75eb9646432 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.20.0 - golang.org/x/text v0.14.0 + golang.org/x/text v0.15.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 google.golang.org/grpc v1.62.1 google.golang.org/protobuf v1.33.0 diff --git a/go.sum b/go.sum index 4341f082cfa..a3159e92dad 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= From 8b78c05eea86e534c69394fa50b3043070890a80 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 15 May 2024 18:13:50 +0200 Subject: [PATCH 198/361] [skip-changelog] Batch updates from dependabot (#2606) * Bump google.golang.org/grpc from 1.62.1 to 1.64.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.1 to 1.64.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.62.1...v1.64.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Bump github.com/fatih/color from 1.16.0 to 1.17.0 Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.16.0 to 1.17.0. - [Release notes](https://github.com/fatih/color/releases) - [Commits](https://github.com/fatih/color/compare/v1.16.0...v1.17.0) --- updated-dependencies: - dependency-name: github.com/fatih/color dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Bump github.com/gofrs/uuid/v5 from 5.0.0 to 5.2.0 Bumps [github.com/gofrs/uuid/v5](https://github.com/gofrs/uuid) from 5.0.0 to 5.2.0. - [Release notes](https://github.com/gofrs/uuid/releases) - [Commits](https://github.com/gofrs/uuid/compare/v5.0.0...v5.2.0) --- updated-dependencies: - dependency-name: github.com/gofrs/uuid/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Bump google.golang.org/protobuf from 1.33.0 to 1.34.1 Bumps google.golang.org/protobuf from 1.33.0 to 1.34.1. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache * Removed deprecated functions usage * Do a connect-retry loop during deamon integration test * Updated grpc tooling version used in build and CI --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/check-protobuf-task.yml | 4 +- .licenses/go/github.com/fatih/color.dep.yml | 2 +- .licenses/go/github.com/gofrs/uuid/v5.dep.yml | 4 +- .../github.com/golang/protobuf/proto.dep.yml | 39 ------------ .../genproto/googleapis/rpc/status.dep.yml | 4 +- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../google.golang.org/grpc/attributes.dep.yml | 4 +- .../go/google.golang.org/grpc/backoff.dep.yml | 4 +- .../google.golang.org/grpc/balancer.dep.yml | 4 +- .../grpc/balancer/base.dep.yml | 4 +- .../grpc/balancer/grpclb/state.dep.yml | 4 +- .../grpc/balancer/roundrobin.dep.yml | 4 +- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 +- .../google.golang.org/grpc/channelz.dep.yml | 4 +- .../go/google.golang.org/grpc/codes.dep.yml | 4 +- .../grpc/connectivity.dep.yml | 4 +- .../grpc/credentials.dep.yml | 4 +- .../grpc/credentials/insecure.dep.yml | 4 +- .../google.golang.org/grpc/encoding.dep.yml | 4 +- .../grpc/encoding/proto.dep.yml | 4 +- .../go/google.golang.org/grpc/grpclog.dep.yml | 4 +- .../google.golang.org/grpc/internal.dep.yml | 4 +- .../grpc/internal/backoff.dep.yml | 4 +- .../internal/balancer/gracefulswitch.dep.yml | 4 +- .../grpc/internal/balancerload.dep.yml | 4 +- .../grpc/internal/binarylog.dep.yml | 4 +- .../grpc/internal/buffer.dep.yml | 4 +- .../grpc/internal/channelz.dep.yml | 8 +-- .../grpc/internal/credentials.dep.yml | 4 +- .../grpc/internal/envconfig.dep.yml | 4 +- .../grpc/internal/grpclog.dep.yml | 4 +- .../grpc/internal/grpcrand.dep.yml | 4 +- .../grpc/internal/grpcsync.dep.yml | 4 +- .../grpc/internal/grpcutil.dep.yml | 4 +- .../grpc/internal/idle.dep.yml | 4 +- .../grpc/internal/metadata.dep.yml | 4 +- .../grpc/internal/pretty.dep.yml | 4 +- .../grpc/internal/resolver.dep.yml | 4 +- .../grpc/internal/resolver/dns.dep.yml | 4 +- .../internal/resolver/dns/internal.dep.yml | 4 +- .../internal/resolver/passthrough.dep.yml | 4 +- .../grpc/internal/resolver/unix.dep.yml | 4 +- .../grpc/internal/serviceconfig.dep.yml | 4 +- .../grpc/internal/status.dep.yml | 4 +- .../grpc/internal/syscall.dep.yml | 4 +- .../grpc/internal/transport.dep.yml | 4 +- .../internal/transport/networktype.dep.yml | 4 +- .../google.golang.org/grpc/keepalive.dep.yml | 4 +- .../google.golang.org/grpc/metadata.dep.yml | 4 +- .../go/google.golang.org/grpc/peer.dep.yml | 4 +- .../google.golang.org/grpc/resolver.dep.yml | 4 +- .../grpc/resolver/dns.dep.yml | 4 +- .../grpc/serviceconfig.dep.yml | 4 +- .../go/google.golang.org/grpc/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/status.dep.yml | 4 +- .../go/google.golang.org/grpc/tap.dep.yml | 4 +- .../protobuf/encoding/protojson.dep.yml | 6 +- .../protobuf/encoding/prototext.dep.yml | 6 +- .../protobuf/encoding/protowire.dep.yml | 6 +- .../protobuf/internal/descfmt.dep.yml | 6 +- .../protobuf/internal/descopts.dep.yml | 6 +- .../protobuf/internal/detrand.dep.yml | 6 +- .../protobuf/internal/editiondefaults.dep.yml | 6 +- .../protobuf/internal/encoding/defval.dep.yml | 6 +- .../protobuf/internal/encoding/json.dep.yml | 6 +- .../internal/encoding/messageset.dep.yml | 6 +- .../protobuf/internal/encoding/tag.dep.yml | 6 +- .../protobuf/internal/encoding/text.dep.yml | 6 +- .../protobuf/internal/errors.dep.yml | 6 +- .../protobuf/internal/filedesc.dep.yml | 6 +- .../protobuf/internal/filetype.dep.yml | 6 +- .../protobuf/internal/flags.dep.yml | 6 +- .../protobuf/internal/genid.dep.yml | 6 +- .../protobuf/internal/impl.dep.yml | 6 +- .../protobuf/internal/order.dep.yml | 6 +- .../protobuf/internal/pragma.dep.yml | 6 +- .../protobuf/internal/set.dep.yml | 6 +- .../protobuf/internal/strs.dep.yml | 6 +- .../protobuf/internal/version.dep.yml | 6 +- .../google.golang.org/protobuf/proto.dep.yml | 6 +- .../protobuf/protoadapt.dep.yml | 6 +- .../protobuf/reflect/protodesc.dep.yml | 63 ------------------- .../protobuf/reflect/protoreflect.dep.yml | 6 +- .../protobuf/reflect/protoregistry.dep.yml | 6 +- .../protobuf/runtime/protoiface.dep.yml | 6 +- .../protobuf/runtime/protoimpl.dep.yml | 6 +- .../protobuf/types/descriptorpb.dep.yml | 62 ------------------ .../protobuf/types/gofeaturespb.dep.yml | 62 ------------------ .../protobuf/types/known/anypb.dep.yml | 6 +- .../protobuf/types/known/durationpb.dep.yml | 6 +- .../protobuf/types/known/timestamppb.dep.yml | 6 +- commands/term_example/main.go | 2 +- docs/CONTRIBUTING.md | 6 +- docs/integration-options.md | 6 +- go.mod | 11 ++-- go.sum | 26 +++----- internal/integrationtest/arduino-cli.go | 20 ++++-- rpc/cc/arduino/cli/commands/v1/board.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 4 +- .../cli/commands/v1/commands_grpc.pb.go | 2 +- rpc/cc/arduino/cli/commands/v1/common.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/core.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/lib.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/monitor.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/port.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/settings.pb.go | 4 +- rpc/cc/arduino/cli/commands/v1/upload.pb.go | 4 +- rpc/internal/client_example/main.go | 2 +- rpc/internal/get_version_example/main.go | 7 +-- 111 files changed, 267 insertions(+), 497 deletions(-) delete mode 100644 .licenses/go/github.com/golang/protobuf/proto.dep.yml delete mode 100644 .licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml delete mode 100644 .licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml delete mode 100644 .licenses/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index b2f518565c1..cdef10be24a 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -61,12 +61,12 @@ jobs: - name: Install protoc compiler uses: arduino/setup-protoc@v3 with: - version: v24.3 + version: v26.1 repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Install Go deps run: | - go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0 + go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.1 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 - name: Install Task diff --git a/.licenses/go/github.com/fatih/color.dep.yml b/.licenses/go/github.com/fatih/color.dep.yml index 8cb2c72d45b..10f4250204b 100644 --- a/.licenses/go/github.com/fatih/color.dep.yml +++ b/.licenses/go/github.com/fatih/color.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/fatih/color -version: v1.16.0 +version: v1.17.0 type: go summary: Package color is an ANSI color package to output colorized or SGR defined output to the standard output. diff --git a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml index 06b74d71a62..b1af89a5d84 100644 --- a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml +++ b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml @@ -1,9 +1,9 @@ --- name: github.com/gofrs/uuid/v5 -version: v5.0.0 +version: v5.2.0 type: go summary: Package uuid provides implementations of the Universally Unique Identifier - (UUID), as specified in RFC-4122 and the Peabody RFC Draft (revision 03). + (UUID), as specified in RFC-9562 (formerly RFC-4122). homepage: https://pkg.go.dev/github.com/gofrs/uuid/v5 license: mit licenses: diff --git a/.licenses/go/github.com/golang/protobuf/proto.dep.yml b/.licenses/go/github.com/golang/protobuf/proto.dep.yml deleted file mode 100644 index bf2a2ba4901..00000000000 --- a/.licenses/go/github.com/golang/protobuf/proto.dep.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: github.com/golang/protobuf/proto -version: v1.5.3 -type: go -summary: Package proto provides functionality for handling protocol buffer messages. -homepage: https://pkg.go.dev/github.com/golang/protobuf/proto -license: bsd-3-clause -licenses: -- sources: protobuf@v1.5.3/LICENSE - text: |+ - Copyright 2010 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -notices: [] diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 97643373f77..39ef8d23cab 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20240123012728-ef4313101c80 +version: v0.0.0-20240318140521-94a12d6c2237 type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20240123012728-ef4313101c80/LICENSE +- sources: rpc@v0.0.0-20240318140521-94a12d6c2237/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 62ee640b7a8..a67b93376ca 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.62.1 +version: v1.64.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 6058c0f378a..d5a0d7fe501 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.62.1 +version: v1.64.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 11213d7d091..e650cee4e1f 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.62.1 +version: v1.64.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 5ad078d88f0..129002447a6 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.62.1 +version: v1.64.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 3e26f90e88f..a982c5809db 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.62.1 +version: v1.64.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 706678b8542..8ef5bc02e67 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.62.1 +version: v1.64.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 9e7f87ec769..3aa7bf780fd 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.62.1 +version: v1.64.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 813f2d1848a..c031a2d9113 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.62.1 +version: v1.64.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index cf445927564..439537a6f78 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.62.1 +version: v1.64.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 7cfd24c1c5e..d02abf09265 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.62.1 +version: v1.64.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index d0284b77da6..efe1d2cb38f 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.62.1 +version: v1.64.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 0149e198470..571cbde0b29 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.62.1 +version: v1.64.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 5abf2e3e42b..94f2ea13d4f 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.62.1 +version: v1.64.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 931bc1d29fa..56ad90afee7 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.62.1 +version: v1.64.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index b5ea88e9bbc..d4e7e06705a 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.62.1 +version: v1.64.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 53c6d85d664..3dd10072753 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.62.1 +version: v1.64.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 3d764b22447..a181f934a6e 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.62.1 +version: v1.64.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 16ef0d54511..a42fc10226f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.62.1 +version: v1.64.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index fdb53258df2..34734fdd910 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.62.1 +version: v1.64.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index eab126dbfc1..51cfa9f0c78 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.62.1 +version: v1.64.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 3955497b649..24ab72cde06 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.62.1 +version: v1.64.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 25995994c3c..eff84fe64bb 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.62.1 +version: v1.64.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index 640720550a2..e81e03a8e7d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.62.1 +version: v1.64.0 type: go -summary: Package channelz defines APIs for enabling channelz service, entry registration/deletion, - and accessing channelz data. +summary: Package channelz defines internal APIs for enabling channelz service, entry + registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 4edf9fadc3a..0370966a4fa 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.62.1 +version: v1.64.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 5a9c2e5d626..b046eaa6041 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.62.1 +version: v1.64.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index e2598a9c05c..01c0438d179 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.62.1 +version: v1.64.0 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml index 9d60c0c3ebf..63a4e8275e9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcrand -version: v1.62.1 +version: v1.64.0 type: go summary: Package grpcrand implements math/rand functions in a concurrent-safe way with a global random source, independent of math/rand's global source. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index bf54830a4dc..d2c371c0850 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.62.1 +version: v1.64.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 7b82dd5cca2..49fc63e508c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.62.1 +version: v1.64.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 066a5e0e336..0fed46f0982 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.62.1 +version: v1.64.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 8efb3bbf8e1..253e33632f6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.62.1 +version: v1.64.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index dbb60195ee6..05f9d0891a2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.62.1 +version: v1.64.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 8f665995358..08be9f23a58 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.62.1 +version: v1.64.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 57bf4f0617a..fd2627083cb 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.62.1 +version: v1.64.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index ceb4a491b1a..1ef000f158a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.62.1 +version: v1.64.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 187c5f45d08..ca5e8984cf1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.62.1 +version: v1.64.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 249cb25fa91..6acc344f708 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.62.1 +version: v1.64.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 30964c2f33a..94e768671d6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.62.1 +version: v1.64.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 7a668f477f7..254ebb52339 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.62.1 +version: v1.64.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 6cbddc3d39d..bb7931aba56 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.62.1 +version: v1.64.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index a7970862631..b8c8533ec3a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.62.1 +version: v1.64.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 433f80ee01d..f5706613bf9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.62.1 +version: v1.64.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index fda4e90cdcb..c15171ea00c 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.62.1 +version: v1.64.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index bbbc60f31db..8d916439d89 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.62.1 +version: v1.64.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index b584838c28f..bedaa82f60a 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.62.1 +version: v1.64.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index c45f3173f61..45b14380176 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.62.1 +version: v1.64.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 63bb687c8b4..50b963dc020 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.62.1 +version: v1.64.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index ec029dc205d..3bb21af97ef 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.62.1 +version: v1.64.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index d07da73b076..7248d8ed704 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.62.1 +version: v1.64.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 041181ae6bf..059f7d0308c 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.62.1 +version: v1.64.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index a110132802a..0aa6d66e246 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.62.1 +version: v1.64.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.62.1/LICENSE +- sources: grpc@v1.64.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 5a6547d4715..9217928c9ef 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.33.0 +version: v1.34.1 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index 4f78000ca96..e15cfd96242 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.33.0 +version: v1.34.1 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 82d6c4b98a3..d935d1df67c 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.33.0 +version: v1.34.1 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index 07a3f0765d1..dbeab8d9303 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.33.0 +version: v1.34.1 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index 776dfd3a018..bfa250407e3 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.33.0 +version: v1.34.1 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index b840c82c7b9..1b4a97a555d 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.33.0 +version: v1.34.1 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index 663a1da38df..65cfe030690 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.33.0 +version: v1.34.1 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index 543200516de..bcde818c389 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.33.0 +version: v1.34.1 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index e1a424a9938..ba65ae97ee7 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.33.0 +version: v1.34.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 42bdcec628f..8cf22dded57 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.33.0 +version: v1.34.1 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index c3eed6ea080..9026707ad0b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.33.0 +version: v1.34.1 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index 776c96f8dea..a9708de07d2 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.33.0 +version: v1.34.1 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index 4fff88a1071..ee63cc3d2ef 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.33.0 +version: v1.34.1 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index f547a3b92ac..1bc0bc1c221 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.33.0 +version: v1.34.1 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index cafbeb3c2c0..c839cb6b49f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.33.0 +version: v1.34.1 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 415889a9ea4..4ad5ad85489 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.33.0 +version: v1.34.1 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 7e4239655a7..74669222b46 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.33.0 +version: v1.34.1 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index 00ad6a820c4..58483233938 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.33.0 +version: v1.34.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index c334e97366e..43e239a6b02 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.33.0 +version: v1.34.1 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index e6c40660db8..b8f4d4e9610 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.33.0 +version: v1.34.1 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index f109788d798..9f59966eb2c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.33.0 +version: v1.34.1 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index 58e0e8827ce..a2137bf6689 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.33.0 +version: v1.34.1 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 0d06c657779..29866ee233b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.33.0 +version: v1.34.1 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index 4de64e7ec61..bcbae244ea7 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.33.0 +version: v1.34.1 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index f2c76801ba3..86b283d6478 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.33.0 +version: v1.34.1 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml deleted file mode 100644 index fec9e44be59..00000000000 --- a/.licenses/go/google.golang.org/protobuf/reflect/protodesc.dep.yml +++ /dev/null @@ -1,63 +0,0 @@ ---- -name: google.golang.org/protobuf/reflect/protodesc -version: v1.33.0 -type: go -summary: Package protodesc provides functionality for converting FileDescriptorProto - messages to/from [protoreflect.FileDescriptor] values. -homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protodesc -license: bsd-3-clause -licenses: -- sources: protobuf@v1.33.0/LICENSE - text: | - Copyright (c) 2018 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS - text: | - Additional IP Rights Grant (Patents) - - "This implementation" means the copyrightable works distributed by - Google as part of the Go project. - - Google hereby grants to You a perpetual, worldwide, non-exclusive, - no-charge, royalty-free, irrevocable (except as stated in this section) - patent license to make, have made, use, offer to sell, sell, import, - transfer and otherwise run, modify and propagate the contents of this - implementation of Go, where such license applies only to those patent - claims, both currently owned or controlled by Google and acquired in - the future, licensable by Google that are necessarily infringed by this - implementation of Go. This grant does not include claims that would be - infringed only as a consequence of further modification of this - implementation. If you or your agent or exclusive licensee institute or - order or agree to the institution of patent litigation against any - entity (including a cross-claim or counterclaim in a lawsuit) alleging - that this implementation of Go or any code incorporated within this - implementation of Go constitutes direct or contributory patent - infringement, or inducement of patent infringement, then any patent - rights granted to you under this License for this implementation of Go - shall terminate as of the date such litigation is filed. -notices: [] diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 4f664cb917c..d3829449973 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.33.0 +version: v1.34.1 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 7bb57b49d73..737474192c5 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.33.0 +version: v1.34.1 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 78e9d749e63..559ff53fc12 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.33.0 +version: v1.34.1 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 399f56a52b5..7687cce6e2c 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.33.0 +version: v1.34.1 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml deleted file mode 100644 index e8925e74ad7..00000000000 --- a/.licenses/go/google.golang.org/protobuf/types/descriptorpb.dep.yml +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: google.golang.org/protobuf/types/descriptorpb -version: v1.33.0 -type: go -summary: -homepage: https://pkg.go.dev/google.golang.org/protobuf/types/descriptorpb -license: bsd-3-clause -licenses: -- sources: protobuf@v1.33.0/LICENSE - text: | - Copyright (c) 2018 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS - text: | - Additional IP Rights Grant (Patents) - - "This implementation" means the copyrightable works distributed by - Google as part of the Go project. - - Google hereby grants to You a perpetual, worldwide, non-exclusive, - no-charge, royalty-free, irrevocable (except as stated in this section) - patent license to make, have made, use, offer to sell, sell, import, - transfer and otherwise run, modify and propagate the contents of this - implementation of Go, where such license applies only to those patent - claims, both currently owned or controlled by Google and acquired in - the future, licensable by Google that are necessarily infringed by this - implementation of Go. This grant does not include claims that would be - infringed only as a consequence of further modification of this - implementation. If you or your agent or exclusive licensee institute or - order or agree to the institution of patent litigation against any - entity (including a cross-claim or counterclaim in a lawsuit) alleging - that this implementation of Go or any code incorporated within this - implementation of Go constitutes direct or contributory patent - infringement, or inducement of patent infringement, then any patent - rights granted to you under this License for this implementation of Go - shall terminate as of the date such litigation is filed. -notices: [] diff --git a/.licenses/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml deleted file mode 100644 index 755ab37f3a2..00000000000 --- a/.licenses/go/google.golang.org/protobuf/types/gofeaturespb.dep.yml +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: google.golang.org/protobuf/types/gofeaturespb -version: v1.33.0 -type: go -summary: -homepage: https://pkg.go.dev/google.golang.org/protobuf/types/gofeaturespb -license: bsd-3-clause -licenses: -- sources: protobuf@v1.33.0/LICENSE - text: | - Copyright (c) 2018 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS - text: | - Additional IP Rights Grant (Patents) - - "This implementation" means the copyrightable works distributed by - Google as part of the Go project. - - Google hereby grants to You a perpetual, worldwide, non-exclusive, - no-charge, royalty-free, irrevocable (except as stated in this section) - patent license to make, have made, use, offer to sell, sell, import, - transfer and otherwise run, modify and propagate the contents of this - implementation of Go, where such license applies only to those patent - claims, both currently owned or controlled by Google and acquired in - the future, licensable by Google that are necessarily infringed by this - implementation of Go. This grant does not include claims that would be - infringed only as a consequence of further modification of this - implementation. If you or your agent or exclusive licensee institute or - order or agree to the institution of patent litigation against any - entity (including a cross-claim or counterclaim in a lawsuit) alleging - that this implementation of Go or any code incorporated within this - implementation of Go constitutes direct or contributory patent - infringement, or inducement of patent infringement, then any patent - rights granted to you under this License for this implementation of Go - shall terminate as of the date such litigation is filed. -notices: [] diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 6a61f1601a5..c787fffcc90 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.33.0 +version: v1.34.1 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index d49f55f4229..461ad3f24fd 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.33.0 +version: v1.34.1 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index cfe67b6afeb..05124ff5fe4 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.33.0 +version: v1.34.1 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.33.0/LICENSE +- sources: protobuf@v1.34.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.33.0/PATENTS +- sources: protobuf@v1.34.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/commands/term_example/main.go b/commands/term_example/main.go index 4d202ec5bd7..f5f96623617 100644 --- a/commands/term_example/main.go +++ b/commands/term_example/main.go @@ -31,7 +31,7 @@ import ( // This program exercise CLI monitor functionality. func main() { - conn, err := grpc.Dial("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock()) + conn, err := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { log.Fatal("error connecting to arduino-cli rpc server, you can start it by running `arduino-cli daemon`") } diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 743c01efe39..cda5fb721dd 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -80,9 +80,9 @@ If you want to run integration tests you will also need: If you're working on the gRPC interface you will also have to: - download and install the [protoc][6] compiler (use the version required to match the generated code, please note that - the latest releases does not follow semantic versioning anymore so, for example, the version 4.24.3 must be searched - as 24.3 dropping the major number) -- install `protoc-gen-go` using: `go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0` (use the version + the latest releases does not follow semantic versioning anymore so, for example, the version 5.26.1 must be searched + as 26.1 dropping the major number) +- install `protoc-gen-go` using: `go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.1` (use the version required to match the generated code) - install `protoc-gen-go-grpc` using: `go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0` (use the version required to match the generated code) diff --git a/docs/integration-options.md b/docs/integration-options.md index ea4ad1eda9f..fe476365407 100644 --- a/docs/integration-options.md +++ b/docs/integration-options.md @@ -175,11 +175,7 @@ import ( func main() { // Establish a connection with the gRPC server - ctx, cancel := context.WithTimeout(context.Background(), time.Second) - conn, err := grpc.DialContext(ctx, "localhost:50051", - grpc.WithTransportCredentials(insecure.NewCredentials()), - grpc.WithBlock()) - cancel() + conn, err := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { log.Println(err) log.Fatal("error connecting to arduino-cli rpc server, you can start it by running `arduino-cli daemon`") diff --git a/go.mod b/go.mod index 75eb9646432..0ade346819b 100644 --- a/go.mod +++ b/go.mod @@ -18,9 +18,9 @@ require ( github.com/codeclysm/extract/v3 v3.1.1 github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 - github.com/fatih/color v1.16.0 + github.com/fatih/color v1.17.0 github.com/go-git/go-git/v5 v5.4.2 - github.com/gofrs/uuid/v5 v5.0.0 + github.com/gofrs/uuid/v5 v5.2.0 github.com/leonelquinteros/gotext v1.4.0 github.com/mailru/easyjson v0.7.7 github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 @@ -40,9 +40,9 @@ require ( go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.20.0 golang.org/x/text v0.15.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 - google.golang.org/grpc v1.62.1 - google.golang.org/protobuf v1.33.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 + google.golang.org/grpc v1.64.0 + google.golang.org/protobuf v1.34.1 gopkg.in/yaml.v3 v3.0.1 ) @@ -58,7 +58,6 @@ require ( github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect - github.com/golang/protobuf v1.5.3 // indirect github.com/h2non/filetype v1.1.3 // indirect github.com/hashicorp/errwrap v1.0.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect diff --git a/go.sum b/go.sum index a3159e92dad..92d69469e74 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,8 @@ github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmW github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM= -github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE= +github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= +github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= @@ -74,14 +74,10 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2Su github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/gofrs/uuid/v5 v5.0.0 h1:p544++a97kEL+svbcFbCQVM9KFu0Yo25UoISXGNNH9M= -github.com/gofrs/uuid/v5 v5.0.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/gofrs/uuid/v5 v5.2.0 h1:qw1GMx6/y8vhVsx626ImfKMuS5CvJmhIKKtuyvfajMM= +github.com/gofrs/uuid/v5 v5.2.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= @@ -274,14 +270,12 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= -google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk= -google.golang.org/grpc v1.62.1/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= +google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= +google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 0e795f64d26..62eaa27ee08 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -408,10 +408,22 @@ func (cli *ArduinoCLI) StartDaemon(verbose bool) string { } go _copy(os.Stdout, stdout) go _copy(os.Stderr, stderr) - conn, err := grpc.Dial(cli.daemonAddr, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock()) - cli.t.NoError(err) - cli.daemonConn = conn - cli.daemonClient = commands.NewArduinoCoreServiceClient(conn) + + // Await the CLI daemon to be ready + var connErr error + for retries := 5; retries > 0; retries-- { + time.Sleep(time.Second) + + conn, err := grpc.NewClient(cli.daemonAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) + if err != nil { + connErr = err + continue + } + cli.daemonConn = conn + cli.daemonClient = commands.NewArduinoCoreServiceClient(conn) + break + } + cli.t.NoError(connErr) return cli.daemonAddr } diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 65e778c1ba6..7a782004a74 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/board.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 859a2bf0900..d89dc0e8352 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/commands.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 4ebd93a59f0..b91e934cef8 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -16,7 +16,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.24.3 +// - protoc v5.26.1 // source: cc/arduino/cli/commands/v1/commands.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 485e1e7112f..97093536331 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/common.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index aa7921e5a4c..f71c4b5b2f1 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/compile.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/core.pb.go b/rpc/cc/arduino/cli/commands/v1/core.pb.go index 6c3bcb7c5ed..ab9cedb3af2 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/core.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/core.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index a596613a8e2..99ccb687775 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/debug.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/lib.pb.go b/rpc/cc/arduino/cli/commands/v1/lib.pb.go index d4cc8c3f386..6158816c5df 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/lib.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/lib.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go index e0341c1a20b..f9844a18099 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/monitor.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/port.pb.go b/rpc/cc/arduino/cli/commands/v1/port.pb.go index 6af9d70f214..c0b33bd5409 100644 --- a/rpc/cc/arduino/cli/commands/v1/port.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/port.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/port.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/settings.pb.go b/rpc/cc/arduino/cli/commands/v1/settings.pb.go index e367998c9ab..acf30368097 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/settings.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/settings.proto package commands diff --git a/rpc/cc/arduino/cli/commands/v1/upload.pb.go b/rpc/cc/arduino/cli/commands/v1/upload.pb.go index f7a4dd72b14..1e1e2f7518d 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/upload.pb.go @@ -15,8 +15,8 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.31.0 -// protoc v4.24.3 +// protoc-gen-go v1.34.1 +// protoc v5.26.1 // source: cc/arduino/cli/commands/v1/upload.proto package commands diff --git a/rpc/internal/client_example/main.go b/rpc/internal/client_example/main.go index 9fe750f36ea..00f0acaa7f7 100644 --- a/rpc/internal/client_example/main.go +++ b/rpc/internal/client_example/main.go @@ -43,7 +43,7 @@ func main() { // Establish a connection with the gRPC server, started with the command: // arduino-cli daemon - conn, err := grpc.Dial("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock()) + conn, err := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { log.Fatal("error connecting to arduino-cli rpc server, you can start it by running `arduino-cli daemon`") } diff --git a/rpc/internal/get_version_example/main.go b/rpc/internal/get_version_example/main.go index 9e72414c8b0..0143a14d1e1 100644 --- a/rpc/internal/get_version_example/main.go +++ b/rpc/internal/get_version_example/main.go @@ -18,7 +18,6 @@ package main import ( "context" "log" - "time" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "google.golang.org/grpc" @@ -27,11 +26,7 @@ import ( func main() { // Establish a connection with the gRPC server - ctx, cancel := context.WithTimeout(context.Background(), time.Second) - conn, err := grpc.DialContext(ctx, "localhost:50051", - grpc.WithTransportCredentials(insecure.NewCredentials()), - grpc.WithBlock()) - cancel() + conn, err := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { log.Println(err) log.Fatal("error connecting to arduino-cli rpc server, you can start it by running `arduino-cli daemon`") From 63a48c50f7900dae7037476e48a517c4412c5a3b Mon Sep 17 00:00:00 2001 From: Umberto Baldi <34278123+umbynos@users.noreply.github.com> Date: Thu, 16 May 2024 17:14:25 +0200 Subject: [PATCH 199/361] use eToken for signing (#2599) * use eToken for signing * update workflow, we have a certificate and no longer a container for win * remove double quotes, they cause errors with new version of openssl: `Could not read certificate from <stdin>` --- .github/workflows/check-certificates.yml | 65 ++++++++++++------- .github/workflows/publish-go-nightly-task.yml | 13 ++-- .github/workflows/release-go-task.yml | 13 ++-- 3 files changed, 56 insertions(+), 35 deletions(-) diff --git a/.github/workflows/check-certificates.yml b/.github/workflows/check-certificates.yml index a3ecf724fd6..e91169ef7d5 100644 --- a/.github/workflows/check-certificates.yml +++ b/.github/workflows/check-certificates.yml @@ -36,9 +36,11 @@ jobs: - identifier: macOS signing certificate # Text used to identify certificate in notifications. certificate-secret: INSTALLER_CERT_MAC_P12 # Name of the secret that contains the certificate. password-secret: INSTALLER_CERT_MAC_PASSWORD # Name of the secret that contains the certificate password. + type: pkcs12 - identifier: Windows signing certificate - certificate-secret: INSTALLER_CERT_WINDOWS_PFX - password-secret: INSTALLER_CERT_WINDOWS_PASSWORD + certificate-secret: INSTALLER_CERT_WINDOWS_CER + # The password for the Windows certificate is not needed, because its not a container, but a single certificate. + type: x509 steps: - name: Set certificate path environment variable @@ -57,7 +59,7 @@ jobs: CERTIFICATE_PASSWORD: ${{ secrets[matrix.certificate.password-secret] }} run: | ( - openssl pkcs12 \ + openssl ${{ matrix.certificate.type }} \ -in "${{ env.CERTIFICATE_PATH }}" \ -legacy \ -noout \ @@ -84,26 +86,43 @@ jobs: CERTIFICATE_PASSWORD: ${{ secrets[matrix.certificate.password-secret] }} id: get-days-before-expiration run: | - EXPIRATION_DATE="$( - ( - openssl pkcs12 \ - -in "${{ env.CERTIFICATE_PATH }}" \ - -clcerts \ - -legacy \ - -nodes \ - -passin env:CERTIFICATE_PASSWORD - ) | ( - openssl x509 \ - -noout \ - -enddate - ) | ( - grep \ - --max-count=1 \ - --only-matching \ - --perl-regexp \ - 'notAfter=(\K.*)' - ) - )" + if [[ ${{ matrix.certificate.type }} == "pkcs12" ]]; then + EXPIRATION_DATE="$( + ( + openssl pkcs12 \ + -in ${{ env.CERTIFICATE_PATH }} \ + -clcerts \ + -legacy \ + -nodes \ + -passin env:CERTIFICATE_PASSWORD + ) | ( + openssl x509 \ + -noout \ + -enddate + ) | ( + grep \ + --max-count=1 \ + --only-matching \ + --perl-regexp \ + 'notAfter=(\K.*)' + ) + )" + elif [[ ${{ matrix.certificate.type }} == "x509" ]]; then + EXPIRATION_DATE="$( + ( + openssl x509 \ + -in ${{ env.CERTIFICATE_PATH }} \ + -noout \ + -enddate + ) | ( + grep \ + --max-count=1 \ + --only-matching \ + --perl-regexp \ + 'notAfter=(\K.*)' + ) + )" + fi DAYS_BEFORE_EXPIRATION="$((($(date --utc --date="$EXPIRATION_DATE" +%s) - $(date --utc +%s)) / 60 / 60 / 24))" diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index c6dce447109..d42fac2d954 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -174,7 +174,7 @@ jobs: path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} create-windows-installer: - runs-on: windows-latest + runs-on: windows-sign-pc needs: create-nightly-artifacts defaults: @@ -182,11 +182,10 @@ jobs: shell: bash env: - INSTALLER_CERT_WINDOWS_PFX: "/tmp/cert.pfx" + INSTALLER_CERT_WINDOWS_CER: "/tmp/cert.cer" # We are hardcoding the path for signtool because is not present on the windows PATH env var by default. # Keep in mind that this path could change when upgrading to a new runner version - # https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md#installed-windows-sdks - SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe" + SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" steps: - name: Checkout repository @@ -211,14 +210,16 @@ jobs: MSBuild.exe ./installer/cli.wixproj -p:SourceDir="$SOURCE_DIR" -p:OutputPath="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}" -p:OutputName="$PACKAGE_FILENAME" -p:ProductVersion="$WIX_VERSION" - name: Save Win signing certificate to file - run: echo "${{ secrets.INSTALLER_CERT_WINDOWS_PFX }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_PFX}} + run: echo "${{ secrets.INSTALLER_CERT_WINDOWS_CER }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_CER}} - name: Sign MSI env: MSI_FILE: ${{ steps.buildmsi.outputs.msi }} # this comes from .installer/cli.wixproj CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} + CONTAINER_NAME: ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }} + # https://stackoverflow.com/questions/17927895/automate-extended-validation-ev-code-signing-with-safenet-etoken run: | - "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_PFX}} -p ${{ env.CERT_PASSWORD }} -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" + "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_CER}} -csp "eToken Base Cryptographic Provider" -k "[{{${{ env.CERT_PASSWORD }}}}]=${{ env.CONTAINER_NAME }}" -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" - name: Upload artifacts uses: actions/upload-artifact@v3 diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index f091913172f..d6545e0ab73 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -174,7 +174,7 @@ jobs: path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} create-windows-installer: - runs-on: windows-latest + runs-on: windows-sign-pc needs: create-release-artifacts defaults: @@ -182,11 +182,10 @@ jobs: shell: bash env: - INSTALLER_CERT_WINDOWS_PFX: "/tmp/cert.pfx" + INSTALLER_CERT_WINDOWS_CER: "/tmp/cert.cer" # We are hardcoding the path for signtool because is not present on the windows PATH env var by default. # Keep in mind that this path could change when upgrading to a new runner version - # https://github.com/actions/runner-images/blob/main/images/win/Windows2022-Readme.md#installed-windows-sdks - SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.22621.0/x86/signtool.exe" + SIGNTOOL_PATH: "C:/Program Files (x86)/Windows Kits/10/bin/10.0.19041.0/x86/signtool.exe" steps: - name: Checkout repository @@ -211,14 +210,16 @@ jobs: MSBuild.exe ./installer/cli.wixproj -p:SourceDir="$SOURCE_DIR" -p:OutputPath="${GITHUB_WORKSPACE}/${{ env.DIST_DIR }}" -p:OutputName="$PACKAGE_FILENAME" -p:ProductVersion="$WIX_TAG" - name: Save Win signing certificate to file - run: echo "${{ secrets.INSTALLER_CERT_WINDOWS_PFX }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_PFX}} + run: echo "${{ secrets.INSTALLER_CERT_WINDOWS_CER }}" | base64 --decode > ${{ env.INSTALLER_CERT_WINDOWS_CER}} - name: Sign MSI env: MSI_FILE: ${{ steps.buildmsi.outputs.msi }} # this comes from .installer/cli.wixproj CERT_PASSWORD: ${{ secrets.INSTALLER_CERT_WINDOWS_PASSWORD }} + CONTAINER_NAME: ${{ secrets.INSTALLER_CERT_WINDOWS_CONTAINER }} + # https://stackoverflow.com/questions/17927895/automate-extended-validation-ev-code-signing-with-safenet-etoken run: | - "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_PFX}} -p ${{ env.CERT_PASSWORD }} -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" + "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_CER}} -csp "eToken Base Cryptographic Provider" -k "[{{${{ env.CERT_PASSWORD }}}}]=${{ env.CONTAINER_NAME }}" -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" - name: Upload artifacts uses: actions/upload-artifact@v3 From b0cc1a9c6c4ce8ad3286d507cbb7b55db5a235d5 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 16 May 2024 17:47:32 +0200 Subject: [PATCH 200/361] [BREAKING] Add protoc `oneof` clause where appropriate. (#2608) * Added oneof clause to all Platform* responses * Added oneof clause to all Debug* and Library* responses * Added oneof clause to MonitorResponse * Updated Docs * Fix typo --- commands/service_debug.go | 6 +- commands/service_debug_run.go | 16 +- commands/service_library_download.go | 12 +- commands/service_library_install.go | 39 +- commands/service_library_uninstall.go | 14 +- commands/service_library_upgrade.go | 44 +- commands/service_monitor.go | 12 +- commands/service_platform_download.go | 12 +- commands/service_platform_install.go | 22 +- commands/service_platform_uninstall.go | 14 +- commands/service_platform_upgrade.go | 37 +- docs/UPGRADING.md | 50 + internal/cli/core/upgrade.go | 2 +- .../integrationtest/daemon/daemon_test.go | 4 +- rpc/cc/arduino/cli/commands/v1/core.pb.go | 721 ++++++-- rpc/cc/arduino/cli/commands/v1/core.proto | 55 +- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 334 ++-- rpc/cc/arduino/cli/commands/v1/debug.proto | 14 +- rpc/cc/arduino/cli/commands/v1/lib.pb.go | 1567 ++++++++++++----- rpc/cc/arduino/cli/commands/v1/lib.proto | 89 +- rpc/cc/arduino/cli/commands/v1/monitor.pb.go | 178 +- rpc/cc/arduino/cli/commands/v1/monitor.proto | 26 +- 22 files changed, 2399 insertions(+), 869 deletions(-) diff --git a/commands/service_debug.go b/commands/service_debug.go index 0f618ce7598..974b75c5267 100644 --- a/commands/service_debug.go +++ b/commands/service_debug.go @@ -42,7 +42,11 @@ func (s *arduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) // Launch debug recipe attaching stdin and out to grpc streaming signalChan := make(chan os.Signal) defer close(signalChan) - outStream := feedStreamTo(func(data []byte) { stream.Send(&rpc.DebugResponse{Data: data}) }) + outStream := feedStreamTo(func(data []byte) { + stream.Send(&rpc.DebugResponse{Message: &rpc.DebugResponse_Data{ + Data: data, + }}) + }) resp, debugErr := Debug(stream.Context(), req, consumeStreamFrom(func() ([]byte, error) { command, err := stream.Recv() diff --git a/commands/service_debug_run.go b/commands/service_debug_run.go index 47ecbf4fe04..1b76ec05e68 100644 --- a/commands/service_debug_run.go +++ b/commands/service_debug_run.go @@ -71,7 +71,9 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read // Get stdIn pipe from tool in, err := cmd.StdinPipe() if err != nil { - return &rpc.DebugResponse{Error: err.Error()}, nil + return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ + Result: &rpc.DebugResponse_Result{Error: err.Error()}, + }}, nil } defer in.Close() @@ -81,7 +83,9 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read // Start the debug command if err := cmd.Start(); err != nil { - return &rpc.DebugResponse{Error: err.Error()}, nil + return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ + Result: &rpc.DebugResponse_Result{Error: err.Error()}, + }}, nil } if interrupt != nil { @@ -107,9 +111,13 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read // Wait for process to finish if err := cmd.Wait(); err != nil { - return &rpc.DebugResponse{Error: err.Error()}, nil + return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ + Result: &rpc.DebugResponse_Result{Error: err.Error()}, + }}, nil } - return &rpc.DebugResponse{}, nil + return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ + Result: &rpc.DebugResponse_Result{}, + }}, nil } // getCommandLine compose a debug command represented by a core recipe diff --git a/commands/service_library_download.go b/commands/service_library_download.go index 8543e8cdea6..f6a5555e325 100644 --- a/commands/service_library_download.go +++ b/commands/service_library_download.go @@ -41,7 +41,11 @@ func LibraryDownloadStreamResponseToCallbackFunction(ctx context.Context, downlo func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, stream rpc.ArduinoCoreService_LibraryDownloadServer) error { syncSend := NewSynchronizedSend(stream.Send) ctx := stream.Context() - downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryDownloadResponse{Progress: p}) } + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.LibraryDownloadResponse{ + Message: &rpc.LibraryDownloadResponse_Progress{Progress: p}, + }) + } var downloadsDir *paths.Path if pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()); err != nil { @@ -70,7 +74,11 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, return err } - return syncSend.Send(&rpc.LibraryDownloadResponse{}) + return syncSend.Send(&rpc.LibraryDownloadResponse{ + Message: &rpc.LibraryDownloadResponse_Result_{ + Result: &rpc.LibraryDownloadResponse_Result{}, + }, + }) } func downloadLibrary(_ context.Context, downloadsDir *paths.Path, libRelease *librariesindex.Release, diff --git a/commands/service_library_install.go b/commands/service_library_install.go index 20b98695de2..e07a748da24 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -48,8 +48,16 @@ func LibraryInstallStreamResponseToCallbackFunction(ctx context.Context, downloa func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, stream rpc.ArduinoCoreService_LibraryInstallServer) error { ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryInstallResponse{Progress: p}) } - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryInstallResponse{TaskProgress: p}) } + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.LibraryInstallResponse{ + Message: &rpc.LibraryInstallResponse_Progress{Progress: p}, + }) + } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.LibraryInstallResponse{ + Message: &rpc.LibraryInstallResponse_TaskProgress{TaskProgress: p}, + }) + } // Obtain the library index from the manager li, err := instances.GetLibrariesIndex(req.GetInstance()) @@ -162,6 +170,11 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s return err } + syncSend.Send(&rpc.LibraryInstallResponse{ + Message: &rpc.LibraryInstallResponse_Result_{ + Result: &rpc.LibraryInstallResponse_Result{}, + }, + }) return nil } @@ -202,7 +215,11 @@ func ZipLibraryInstallStreamResponseToCallbackFunction(ctx context.Context, task func (s *arduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequest, stream rpc.ArduinoCoreService_ZipLibraryInstallServer) error { ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.ZipLibraryInstallResponse{TaskProgress: p}) } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.ZipLibraryInstallResponse{ + Message: &rpc.ZipLibraryInstallResponse_TaskProgress{TaskProgress: p}, + }) + } lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { @@ -214,6 +231,11 @@ func (s *arduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequ return &cmderrors.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) + syncSend.Send(&rpc.ZipLibraryInstallResponse{ + Message: &rpc.ZipLibraryInstallResponse_Result_{ + Result: &rpc.ZipLibraryInstallResponse_Result{}, + }, + }) return nil } @@ -231,7 +253,11 @@ func GitLibraryInstallStreamResponseToCallbackFunction(ctx context.Context, task // GitLibraryInstall FIXMEDOC func (s *arduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequest, stream rpc.ArduinoCoreService_GitLibraryInstallServer) error { syncSend := NewSynchronizedSend(stream.Send) - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.GitLibraryInstallResponse{TaskProgress: p}) } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.GitLibraryInstallResponse{ + Message: &rpc.GitLibraryInstallResponse_TaskProgress{TaskProgress: p}, + }) + } lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { return err @@ -245,5 +271,10 @@ func (s *arduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequ return &cmderrors.FailedLibraryInstallError{Cause: err} } taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) + syncSend.Send(&rpc.GitLibraryInstallResponse{ + Message: &rpc.GitLibraryInstallResponse_Result_{ + Result: &rpc.GitLibraryInstallResponse_Result{}, + }, + }) return nil } diff --git a/commands/service_library_uninstall.go b/commands/service_library_uninstall.go index 8164427f139..add0b7be491 100644 --- a/commands/service_library_uninstall.go +++ b/commands/service_library_uninstall.go @@ -38,9 +38,12 @@ func LibraryUninstallStreamResponseToCallbackFunction(ctx context.Context, taskC // LibraryUninstall uninstalls a library func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallRequest, stream rpc.ArduinoCoreService_LibraryUninstallServer) error { - // ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUninstallResponse{TaskProgress: p}) } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.LibraryUninstallResponse{ + Message: &rpc.LibraryUninstallResponse_TaskProgress{TaskProgress: p}, + }) + } lm, err := instances.GetLibraryManager(req.GetInstance()) if err != nil { @@ -57,14 +60,19 @@ func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques libs := lmi.FindByReference(req.GetName(), version, libraries.User) if len(libs) == 0 { taskCB(&rpc.TaskProgress{Message: tr("Library %s is not installed", req.GetName()), Completed: true}) + syncSend.Send(&rpc.LibraryUninstallResponse{ + Message: &rpc.LibraryUninstallResponse_Result_{Result: &rpc.LibraryUninstallResponse_Result{}}, + }) return nil } if len(libs) == 1 { taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s", libs)}) - // TODO: pass context lmi.Uninstall(libs[0]) taskCB(&rpc.TaskProgress{Completed: true}) + syncSend.Send(&rpc.LibraryUninstallResponse{ + Message: &rpc.LibraryUninstallResponse_Result_{Result: &rpc.LibraryUninstallResponse_Result{}}, + }) return nil } diff --git a/commands/service_library_upgrade.go b/commands/service_library_upgrade.go index ff8af393705..4b0fa20223d 100644 --- a/commands/service_library_upgrade.go +++ b/commands/service_library_upgrade.go @@ -41,8 +41,16 @@ func LibraryUpgradeAllStreamResponseToCallbackFunction(ctx context.Context, down func (s *arduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequest, stream rpc.ArduinoCoreService_LibraryUpgradeAllServer) error { ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{Progress: p}) } - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeAllResponse{TaskProgress: p}) } + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.LibraryUpgradeAllResponse{ + Message: &rpc.LibraryUpgradeAllResponse_Progress{Progress: p}, + }) + } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.LibraryUpgradeAllResponse{ + Message: &rpc.LibraryUpgradeAllResponse_TaskProgress{TaskProgress: p}, + }) + } li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { @@ -67,6 +75,11 @@ func (s *arduinoCoreServerImpl) LibraryUpgradeAll(req *rpc.LibraryUpgradeAllRequ return err } + syncSend.Send(&rpc.LibraryUpgradeAllResponse{ + Message: &rpc.LibraryUpgradeAllResponse_Result_{ + Result: &rpc.LibraryUpgradeAllResponse_Result{}, + }, + }) return nil } @@ -88,8 +101,16 @@ func LibraryUpgradeStreamResponseToCallbackFunction(ctx context.Context, downloa func (s *arduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, stream rpc.ArduinoCoreService_LibraryUpgradeServer) error { ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{Progress: p}) } - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.LibraryUpgradeResponse{TaskProgress: p}) } + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.LibraryUpgradeResponse{ + Message: &rpc.LibraryUpgradeResponse_Progress{Progress: p}, + }) + } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.LibraryUpgradeResponse{ + Message: &rpc.LibraryUpgradeResponse_TaskProgress{TaskProgress: p}, + }) + } li, err := instances.GetLibrariesIndex(req.GetInstance()) if err != nil { @@ -111,12 +132,21 @@ func (s *arduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, s return &cmderrors.LibraryNotFoundError{Library: name} } if lib.Available == nil { + // library already at the latest version taskCB(&rpc.TaskProgress{Message: tr("Library %s is already at the latest version", name), Completed: true}) - return nil + } else { + // Install update + if err := s.libraryUpgrade(ctx, req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB); err != nil { + return err + } } - // Install update - return s.libraryUpgrade(ctx, req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB) + syncSend.Send(&rpc.LibraryUpgradeResponse{ + Message: &rpc.LibraryUpgradeResponse_Result_{ + Result: &rpc.LibraryUpgradeResponse_Result{}, + }, + }) + return nil } func (s *arduinoCoreServerImpl) libraryUpgrade(ctx context.Context, instance *rpc.Instance, libs []*installedLib, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { diff --git a/commands/service_monitor.go b/commands/service_monitor.go index 1e9b0e7d1f5..697483b05f5 100644 --- a/commands/service_monitor.go +++ b/commands/service_monitor.go @@ -160,7 +160,7 @@ func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer // Send a message with Success set to true to notify the caller of the port being now active syncSend := NewSynchronizedSend(stream.Send) - _ = syncSend.Send(&rpc.MonitorResponse{Success: true}) + _ = syncSend.Send(&rpc.MonitorResponse{Message: &rpc.MonitorResponse_Success{Success: true}}) ctx, cancel := context.WithCancel(stream.Context()) gracefulCloseInitiated := &atomic.Bool{} @@ -175,13 +175,13 @@ func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer return } if err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + syncSend.Send(&rpc.MonitorResponse{Message: &rpc.MonitorResponse_Error{Error: err.Error()}}) return } if conf := msg.GetUpdatedConfiguration(); conf != nil { for _, c := range conf.GetSettings() { if err := monitor.Configure(c.GetSettingId(), c.GetValue()); err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + syncSend.Send(&rpc.MonitorResponse{Message: &rpc.MonitorResponse_Error{Error: err.Error()}}) } } } @@ -199,7 +199,7 @@ func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer return } if err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + syncSend.Send(&rpc.MonitorResponse{Message: &rpc.MonitorResponse_Error{Error: err.Error()}}) return } tx = tx[n:] @@ -217,10 +217,10 @@ func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer break } if err != nil { - syncSend.Send(&rpc.MonitorResponse{Error: err.Error()}) + syncSend.Send(&rpc.MonitorResponse{Message: &rpc.MonitorResponse_Error{Error: err.Error()}}) break } - if err := syncSend.Send(&rpc.MonitorResponse{RxData: buff[:n]}); err != nil { + if err := syncSend.Send(&rpc.MonitorResponse{Message: &rpc.MonitorResponse_RxData{RxData: buff[:n]}}); err != nil { break } } diff --git a/commands/service_platform_download.go b/commands/service_platform_download.go index 09f49a2d76b..912ac645c8b 100644 --- a/commands/service_platform_download.go +++ b/commands/service_platform_download.go @@ -63,7 +63,13 @@ func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques return &cmderrors.PlatformNotFoundError{Platform: ref.String(), Cause: err} } - downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformDownloadResponse{Progress: p}) } + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.PlatformDownloadResponse{ + Message: &rpc.PlatformDownloadResponse_Progress{ + Progress: p, + }, + }) + } // TODO: pass context // ctx := stream.Context() @@ -78,5 +84,7 @@ func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques } } - return syncSend.Send(&rpc.PlatformDownloadResponse{}) + return syncSend.Send(&rpc.PlatformDownloadResponse{Message: &rpc.PlatformDownloadResponse_Result_{ + Result: &rpc.PlatformDownloadResponse_Result{}, + }}) } diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index caa351a6ec6..65651447c53 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -43,8 +43,20 @@ func PlatformInstallStreamResponseToCallbackFunction(ctx context.Context, downlo func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, stream rpc.ArduinoCoreService_PlatformInstallServer) error { ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformInstallResponse{TaskProgress: p}) } - downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformInstallResponse{Progress: p}) } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.PlatformInstallResponse{ + Message: &rpc.PlatformInstallResponse_TaskProgress{ + TaskProgress: p, + }, + }) + } + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.PlatformInstallResponse{ + Message: &rpc.PlatformInstallResponse_Progress{ + Progress: p, + }, + }) + } install := func() error { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) @@ -102,5 +114,9 @@ func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, return err } - return syncSend.Send(&rpc.PlatformInstallResponse{}) + return syncSend.Send(&rpc.PlatformInstallResponse{ + Message: &rpc.PlatformInstallResponse_Result_{ + Result: &rpc.PlatformInstallResponse_Result{}, + }, + }) } diff --git a/commands/service_platform_uninstall.go b/commands/service_platform_uninstall.go index 07a32988a6a..8417fdd4a60 100644 --- a/commands/service_platform_uninstall.go +++ b/commands/service_platform_uninstall.go @@ -39,14 +39,24 @@ func PlatformUninstallStreamResponseToCallbackFunction(ctx context.Context, task func (s *arduinoCoreServerImpl) PlatformUninstall(req *rpc.PlatformUninstallRequest, stream rpc.ArduinoCoreService_PlatformUninstallServer) error { syncSend := NewSynchronizedSend(stream.Send) ctx := stream.Context() - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUninstallResponse{TaskProgress: p}) } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.PlatformUninstallResponse{ + Message: &rpc.PlatformUninstallResponse_TaskProgress{ + TaskProgress: p, + }, + }) + } if err := platformUninstall(ctx, req, taskCB); err != nil { return err } if err := s.Init(&rpc.InitRequest{Instance: req.GetInstance()}, InitStreamResponseToCallbackFunction(ctx, nil)); err != nil { return err } - return syncSend.Send(&rpc.PlatformUninstallResponse{}) + return syncSend.Send(&rpc.PlatformUninstallResponse{ + Message: &rpc.PlatformUninstallResponse_Result_{ + Result: &rpc.PlatformUninstallResponse_Result{}, + }, + }) } // platformUninstall is the implementation of platform unistaller diff --git a/commands/service_platform_upgrade.go b/commands/service_platform_upgrade.go index 2737eac4f37..8c82447d662 100644 --- a/commands/service_platform_upgrade.go +++ b/commands/service_platform_upgrade.go @@ -26,21 +26,20 @@ import ( // PlatformUpgradeStreamResponseToCallbackFunction returns a gRPC stream to be used in PlatformUpgrade that sends // all responses to the callback function. -func PlatformUpgradeStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (rpc.ArduinoCoreService_PlatformUpgradeServer, func() *rpc.Platform) { - var resp *rpc.Platform +func PlatformUpgradeStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) (rpc.ArduinoCoreService_PlatformUpgradeServer, func() *rpc.PlatformUpgradeResponse_Result) { + var resp *rpc.PlatformUpgradeResponse_Result return streamResponseToCallback(ctx, func(r *rpc.PlatformUpgradeResponse) error { - // TODO: use oneof in protoc files? if r.GetProgress() != nil { downloadCB(r.GetProgress()) } if r.GetTaskProgress() != nil { taskCB(r.GetTaskProgress()) } - if r.GetPlatform() != nil { - resp = r.GetPlatform() + if r.GetResult() != nil { + resp = r.GetResult() } return nil - }), func() *rpc.Platform { + }), func() *rpc.PlatformUpgradeResponse_Result { return resp } } @@ -49,8 +48,20 @@ func PlatformUpgradeStreamResponseToCallbackFunction(ctx context.Context, downlo func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, stream rpc.ArduinoCoreService_PlatformUpgradeServer) error { syncSend := NewSynchronizedSend(stream.Send) ctx := stream.Context() - downloadCB := func(p *rpc.DownloadProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{Progress: p}) } - taskCB := func(p *rpc.TaskProgress) { syncSend.Send(&rpc.PlatformUpgradeResponse{TaskProgress: p}) } + downloadCB := func(p *rpc.DownloadProgress) { + syncSend.Send(&rpc.PlatformUpgradeResponse{ + Message: &rpc.PlatformUpgradeResponse_Progress{ + Progress: p, + }, + }) + } + taskCB := func(p *rpc.TaskProgress) { + syncSend.Send(&rpc.PlatformUpgradeResponse{ + Message: &rpc.PlatformUpgradeResponse_TaskProgress{ + TaskProgress: p, + }, + }) + } upgrade := func() (*cores.PlatformRelease, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) @@ -75,9 +86,13 @@ func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, platformRelease, err := upgrade() if platformRelease != nil { syncSend.Send(&rpc.PlatformUpgradeResponse{ - Platform: &rpc.Platform{ - Metadata: platformToRPCPlatformMetadata(platformRelease.Platform), - Release: platformReleaseToRPC(platformRelease), + Message: &rpc.PlatformUpgradeResponse_Result_{ + Result: &rpc.PlatformUpgradeResponse_Result{ + Platform: &rpc.Platform{ + Metadata: platformToRPCPlatformMetadata(platformRelease.Platform), + Release: platformReleaseToRPC(platformRelease), + }, + }, }, }) } diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 1273fa0a455..47e72044b41 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -182,6 +182,56 @@ field's optional nature (that is, it could be `true`, `false`, and `null` if not Now the field is an `optional bool`, since the latest protobuf protocol changes now allows optional fields. +### Some gRPC responses messages now uses the `oneof` clause. + +The following responses message: + +- `cc.arduino.cli.commands.v1.PlatformInstallResponse` +- `cc.arduino.cli.commands.v1.PlatformDownloadResponse` +- `cc.arduino.cli.commands.v1.PlatformUninstallResponse` +- `cc.arduino.cli.commands.v1.PlatformUpgradeResponse` +- `cc.arduino.cli.commands.v1.DebugResponse` +- `cc.arduino.cli.commands.v1.LibraryDownloadResponse` +- `cc.arduino.cli.commands.v1.LibraryInstallResponse` +- `cc.arduino.cli.commands.v1.LibraryUpgradeResponse` +- `cc.arduino.cli.commands.v1.LibraryUninstallResponse` +- `cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse` +- `cc.arduino.cli.commands.v1.ZipLibraryInstallResponse` +- `cc.arduino.cli.commands.v1.GitLibraryInstallResponse` +- `cc.arduino.cli.commands.v1.MonitorResponse` + +now use the `oneof` clause to make the stream nature of the message more explicit. Just to give an example, the +`PlatformInstallResponse` message has been changed from: + +```proto +message PlatformInstallResponse { + // Progress of the downloads of the platform and tool files. + DownloadProgress progress = 1; + // Description of the current stage of the installation. + TaskProgress task_progress = 2; +} +``` + +to: + +```proto +message PlatformInstallResponse { + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Progress of the downloads of the platform and tool files. + DownloadProgress progress = 1; + // Description of the current stage of the installation. + TaskProgress task_progress = 2; + // The installation result. + Result result = 3; + } +} +``` + +The other messages have been changed in a similar way. + ### The gRPC `cc.arduino.cli.commands.v1.UpdateIndexResponse` and `UpdateLibrariesIndexResponse` have changed. The responses coming from the update index commands: diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index 03185784536..ccbae460315 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -124,7 +124,7 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In } stream, respCB := commands.PlatformUpgradeStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) err := srv.PlatformUpgrade(r, stream) - warningMissingIndex(respCB()) + warningMissingIndex(respCB().GetPlatform()) if err != nil { var alreadyAtLatestVersionErr *cmderrors.PlatformAlreadyAtTheLatestVersionError if errors.As(err, &alreadyAtLatestVersionErr) { diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 08e60cffccf..366fec20497 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -559,8 +559,8 @@ func analyzePlatformUpgradeClient(cl commands.ArduinoCoreService_PlatformUpgrade if errors.Is(err, io.EOF) { break } - if msg.GetPlatform() != nil { - platform = msg.GetPlatform() + if res := msg.GetResult(); res != nil { + platform = res.GetPlatform() } if err != nil { upgradeError = err diff --git a/rpc/cc/arduino/cli/commands/v1/core.pb.go b/rpc/cc/arduino/cli/commands/v1/core.pb.go index ab9cedb3af2..b3ea05a7bd2 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/core.pb.go @@ -145,10 +145,12 @@ type PlatformInstallResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the downloads of the platform and tool files. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` - // Description of the current stage of the installation. - TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *PlatformInstallResponse_Progress + // *PlatformInstallResponse_TaskProgress + // *PlatformInstallResponse_Result_ + Message isPlatformInstallResponse_Message `protobuf_oneof:"message"` } func (x *PlatformInstallResponse) Reset() { @@ -183,20 +185,59 @@ func (*PlatformInstallResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{1} } +func (m *PlatformInstallResponse) GetMessage() isPlatformInstallResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *PlatformInstallResponse) GetProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*PlatformInstallResponse_Progress); ok { return x.Progress } return nil } func (x *PlatformInstallResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*PlatformInstallResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *PlatformInstallResponse) GetResult() *PlatformInstallResponse_Result { + if x, ok := x.GetMessage().(*PlatformInstallResponse_Result_); ok { + return x.Result + } + return nil +} + +type isPlatformInstallResponse_Message interface { + isPlatformInstallResponse_Message() +} + +type PlatformInstallResponse_Progress struct { + // Progress of the downloads of the platform and tool files. + Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3,oneof"` +} + +type PlatformInstallResponse_TaskProgress struct { + // Description of the current stage of the installation. + TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type PlatformInstallResponse_Result_ struct { + // The installation result. + Result *PlatformInstallResponse_Result `protobuf:"bytes,3,opt,name=result,proto3,oneof"` +} + +func (*PlatformInstallResponse_Progress) isPlatformInstallResponse_Message() {} + +func (*PlatformInstallResponse_TaskProgress) isPlatformInstallResponse_Message() {} + +func (*PlatformInstallResponse_Result_) isPlatformInstallResponse_Message() {} + type PlatformLoadingError struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -314,8 +355,11 @@ type PlatformDownloadResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the downloads of platform and tool files. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` + // Types that are assignable to Message: + // + // *PlatformDownloadResponse_Progress + // *PlatformDownloadResponse_Result_ + Message isPlatformDownloadResponse_Message `protobuf_oneof:"message"` } func (x *PlatformDownloadResponse) Reset() { @@ -350,13 +394,45 @@ func (*PlatformDownloadResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{4} } +func (m *PlatformDownloadResponse) GetMessage() isPlatformDownloadResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *PlatformDownloadResponse) GetProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*PlatformDownloadResponse_Progress); ok { return x.Progress } return nil } +func (x *PlatformDownloadResponse) GetResult() *PlatformDownloadResponse_Result { + if x, ok := x.GetMessage().(*PlatformDownloadResponse_Result_); ok { + return x.Result + } + return nil +} + +type isPlatformDownloadResponse_Message interface { + isPlatformDownloadResponse_Message() +} + +type PlatformDownloadResponse_Progress struct { + // Progress of the downloads of platform and tool files. + Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3,oneof"` +} + +type PlatformDownloadResponse_Result_ struct { + // The download result. + Result *PlatformDownloadResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*PlatformDownloadResponse_Progress) isPlatformDownloadResponse_Message() {} + +func (*PlatformDownloadResponse_Result_) isPlatformDownloadResponse_Message() {} + type PlatformUninstallRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -438,8 +514,11 @@ type PlatformUninstallResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Description of the current stage of the uninstall. - TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *PlatformUninstallResponse_TaskProgress + // *PlatformUninstallResponse_Result_ + Message isPlatformUninstallResponse_Message `protobuf_oneof:"message"` } func (x *PlatformUninstallResponse) Reset() { @@ -474,13 +553,45 @@ func (*PlatformUninstallResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{6} } +func (m *PlatformUninstallResponse) GetMessage() isPlatformUninstallResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *PlatformUninstallResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*PlatformUninstallResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *PlatformUninstallResponse) GetResult() *PlatformUninstallResponse_Result { + if x, ok := x.GetMessage().(*PlatformUninstallResponse_Result_); ok { + return x.Result + } + return nil +} + +type isPlatformUninstallResponse_Message interface { + isPlatformUninstallResponse_Message() +} + +type PlatformUninstallResponse_TaskProgress struct { + // Description of the current stage of the uninstall. + TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type PlatformUninstallResponse_Result_ struct { + // The uninstall result. + Result *PlatformUninstallResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*PlatformUninstallResponse_TaskProgress) isPlatformUninstallResponse_Message() {} + +func (*PlatformUninstallResponse_Result_) isPlatformUninstallResponse_Message() {} + // AlreadyAtLatestVersionError is returned when an upgrade is not possible // because already at latest version. type AlreadyAtLatestVersionError struct { @@ -612,12 +723,12 @@ type PlatformUpgradeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the downloads of the platform and tool files. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` - // Description of the current stage of the upgrade. - TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` - // The upgraded platform. - Platform *Platform `protobuf:"bytes,3,opt,name=platform,proto3" json:"platform,omitempty"` + // Types that are assignable to Message: + // + // *PlatformUpgradeResponse_Progress + // *PlatformUpgradeResponse_TaskProgress + // *PlatformUpgradeResponse_Result_ + Message isPlatformUpgradeResponse_Message `protobuf_oneof:"message"` } func (x *PlatformUpgradeResponse) Reset() { @@ -652,27 +763,59 @@ func (*PlatformUpgradeResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{9} } +func (m *PlatformUpgradeResponse) GetMessage() isPlatformUpgradeResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *PlatformUpgradeResponse) GetProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*PlatformUpgradeResponse_Progress); ok { return x.Progress } return nil } func (x *PlatformUpgradeResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*PlatformUpgradeResponse_TaskProgress); ok { return x.TaskProgress } return nil } -func (x *PlatformUpgradeResponse) GetPlatform() *Platform { - if x != nil { - return x.Platform +func (x *PlatformUpgradeResponse) GetResult() *PlatformUpgradeResponse_Result { + if x, ok := x.GetMessage().(*PlatformUpgradeResponse_Result_); ok { + return x.Result } return nil } +type isPlatformUpgradeResponse_Message interface { + isPlatformUpgradeResponse_Message() +} + +type PlatformUpgradeResponse_Progress struct { + // Progress of the downloads of the platform and tool files. + Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3,oneof"` +} + +type PlatformUpgradeResponse_TaskProgress struct { + // Description of the current stage of the upgrade. + TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type PlatformUpgradeResponse_Result_ struct { + // The upgrade result. + Result *PlatformUpgradeResponse_Result `protobuf:"bytes,3,opt,name=result,proto3,oneof"` +} + +func (*PlatformUpgradeResponse_Progress) isPlatformUpgradeResponse_Message() {} + +func (*PlatformUpgradeResponse_TaskProgress) isPlatformUpgradeResponse_Message() {} + +func (*PlatformUpgradeResponse_Result_) isPlatformUpgradeResponse_Message() {} + type PlatformSearchRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -788,6 +931,168 @@ func (x *PlatformSearchResponse) GetSearchOutput() []*PlatformSummary { return nil } +type PlatformInstallResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PlatformInstallResponse_Result) Reset() { + *x = PlatformInstallResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformInstallResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformInstallResponse_Result) ProtoMessage() {} + +func (x *PlatformInstallResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformInstallResponse_Result.ProtoReflect.Descriptor instead. +func (*PlatformInstallResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{1, 0} +} + +type PlatformDownloadResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PlatformDownloadResponse_Result) Reset() { + *x = PlatformDownloadResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformDownloadResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformDownloadResponse_Result) ProtoMessage() {} + +func (x *PlatformDownloadResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformDownloadResponse_Result.ProtoReflect.Descriptor instead. +func (*PlatformDownloadResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{4, 0} +} + +type PlatformUninstallResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PlatformUninstallResponse_Result) Reset() { + *x = PlatformUninstallResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformUninstallResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformUninstallResponse_Result) ProtoMessage() {} + +func (x *PlatformUninstallResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[14] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformUninstallResponse_Result.ProtoReflect.Descriptor instead. +func (*PlatformUninstallResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{6, 0} +} + +type PlatformUpgradeResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The upgraded platform. + Platform *Platform `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` +} + +func (x *PlatformUpgradeResponse_Result) Reset() { + *x = PlatformUpgradeResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PlatformUpgradeResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PlatformUpgradeResponse_Result) ProtoMessage() {} + +func (x *PlatformUpgradeResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_core_proto_msgTypes[15] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PlatformUpgradeResponse_Result.ProtoReflect.Descriptor instead. +func (*PlatformUpgradeResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP(), []int{9, 0} +} + +func (x *PlatformUpgradeResponse_Result) GetPlatform() *Platform { + if x != nil { + return x.Platform + } + return nil +} + var File_cc_arduino_cli_commands_v1_core_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_core_proto_rawDesc = []byte{ @@ -818,115 +1123,143 @@ var file_cc_arduino_cli_commands_v1_core_proto_rawDesc = []byte{ 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x72, 0x65, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x22, - 0xb2, 0x01, 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, + 0xa1, 0x02, 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc4, 0x01, 0x0a, - 0x17, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, - 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x22, 0x64, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, + 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, + 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, + 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0x16, 0x0a, 0x14, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x4c, + 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc4, 0x01, 0x0a, 0x17, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, + 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0xd2, 0x01, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x48, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x50, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, + 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x18, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x70, 0x72, + 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x72, 0x65, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, - 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x5f, - 0x70, 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x72, 0x65, 0x55, 0x6e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x22, 0x6a, 0x0a, 0x19, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x1d, 0x0a, 0x1b, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x74, 0x4c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, - 0x22, 0x83, 0x02, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, - 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, - 0x10, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11, - 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x6f, 0x73, - 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x70, - 0x5f, 0x70, 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x72, 0x65, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x22, 0xf4, 0x01, 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x56, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, + 0x1d, 0x0a, 0x1b, 0x41, 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x41, 0x74, 0x4c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x83, + 0x02, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, + 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6b, + 0x69, 0x70, 0x5f, 0x70, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x6f, 0x73, 0x74, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x2c, 0x0a, 0x12, 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x70, + 0x72, 0x65, 0x5f, 0x75, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x10, 0x73, 0x6b, 0x69, 0x70, 0x50, 0x72, 0x65, 0x55, 0x6e, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x22, 0xe3, 0x02, 0x0a, 0x17, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, - 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, + 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, + 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, 0x0a, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xa9, 0x01, - 0x0a, 0x15, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, - 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x16, 0x50, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6f, 0x75, - 0x74, 0x70, 0x75, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x1a, 0x4a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x40, 0x0a, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x42, + 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x15, 0x50, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x2d, 0x0a, 0x12, 0x6d, 0x61, 0x6e, 0x75, 0x61, + 0x6c, 0x6c, 0x79, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0x6a, 0x0a, 0x16, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x50, 0x0a, 0x0d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x75, 0x6d, + 0x6d, 0x61, 0x72, 0x79, 0x52, 0x0c, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -941,45 +1274,53 @@ func file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_core_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_core_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_cc_arduino_cli_commands_v1_core_proto_msgTypes = make([]protoimpl.MessageInfo, 16) var file_cc_arduino_cli_commands_v1_core_proto_goTypes = []interface{}{ - (*PlatformInstallRequest)(nil), // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest - (*PlatformInstallResponse)(nil), // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformLoadingError)(nil), // 2: cc.arduino.cli.commands.v1.PlatformLoadingError - (*PlatformDownloadRequest)(nil), // 3: cc.arduino.cli.commands.v1.PlatformDownloadRequest - (*PlatformDownloadResponse)(nil), // 4: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallRequest)(nil), // 5: cc.arduino.cli.commands.v1.PlatformUninstallRequest - (*PlatformUninstallResponse)(nil), // 6: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*AlreadyAtLatestVersionError)(nil), // 7: cc.arduino.cli.commands.v1.AlreadyAtLatestVersionError - (*PlatformUpgradeRequest)(nil), // 8: cc.arduino.cli.commands.v1.PlatformUpgradeRequest - (*PlatformUpgradeResponse)(nil), // 9: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*PlatformSearchRequest)(nil), // 10: cc.arduino.cli.commands.v1.PlatformSearchRequest - (*PlatformSearchResponse)(nil), // 11: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*Instance)(nil), // 12: cc.arduino.cli.commands.v1.Instance - (*DownloadProgress)(nil), // 13: cc.arduino.cli.commands.v1.DownloadProgress - (*TaskProgress)(nil), // 14: cc.arduino.cli.commands.v1.TaskProgress - (*Platform)(nil), // 15: cc.arduino.cli.commands.v1.Platform - (*PlatformSummary)(nil), // 16: cc.arduino.cli.commands.v1.PlatformSummary + (*PlatformInstallRequest)(nil), // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest + (*PlatformInstallResponse)(nil), // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformLoadingError)(nil), // 2: cc.arduino.cli.commands.v1.PlatformLoadingError + (*PlatformDownloadRequest)(nil), // 3: cc.arduino.cli.commands.v1.PlatformDownloadRequest + (*PlatformDownloadResponse)(nil), // 4: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallRequest)(nil), // 5: cc.arduino.cli.commands.v1.PlatformUninstallRequest + (*PlatformUninstallResponse)(nil), // 6: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*AlreadyAtLatestVersionError)(nil), // 7: cc.arduino.cli.commands.v1.AlreadyAtLatestVersionError + (*PlatformUpgradeRequest)(nil), // 8: cc.arduino.cli.commands.v1.PlatformUpgradeRequest + (*PlatformUpgradeResponse)(nil), // 9: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*PlatformSearchRequest)(nil), // 10: cc.arduino.cli.commands.v1.PlatformSearchRequest + (*PlatformSearchResponse)(nil), // 11: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*PlatformInstallResponse_Result)(nil), // 12: cc.arduino.cli.commands.v1.PlatformInstallResponse.Result + (*PlatformDownloadResponse_Result)(nil), // 13: cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result + (*PlatformUninstallResponse_Result)(nil), // 14: cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result + (*PlatformUpgradeResponse_Result)(nil), // 15: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result + (*Instance)(nil), // 16: cc.arduino.cli.commands.v1.Instance + (*DownloadProgress)(nil), // 17: cc.arduino.cli.commands.v1.DownloadProgress + (*TaskProgress)(nil), // 18: cc.arduino.cli.commands.v1.TaskProgress + (*PlatformSummary)(nil), // 19: cc.arduino.cli.commands.v1.PlatformSummary + (*Platform)(nil), // 20: cc.arduino.cli.commands.v1.Platform } var file_cc_arduino_cli_commands_v1_core_proto_depIdxs = []int32{ - 12, // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 13, // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 14, // 2: cc.arduino.cli.commands.v1.PlatformInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 12, // 3: cc.arduino.cli.commands.v1.PlatformDownloadRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 13, // 4: cc.arduino.cli.commands.v1.PlatformDownloadResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 12, // 5: cc.arduino.cli.commands.v1.PlatformUninstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 14, // 6: cc.arduino.cli.commands.v1.PlatformUninstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 12, // 7: cc.arduino.cli.commands.v1.PlatformUpgradeRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 13, // 8: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 14, // 9: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 15, // 10: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.platform:type_name -> cc.arduino.cli.commands.v1.Platform - 12, // 11: cc.arduino.cli.commands.v1.PlatformSearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 16, // 12: cc.arduino.cli.commands.v1.PlatformSearchResponse.search_output:type_name -> cc.arduino.cli.commands.v1.PlatformSummary - 13, // [13:13] is the sub-list for method output_type - 13, // [13:13] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 16, // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 17, // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 18, // 2: cc.arduino.cli.commands.v1.PlatformInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 12, // 3: cc.arduino.cli.commands.v1.PlatformInstallResponse.result:type_name -> cc.arduino.cli.commands.v1.PlatformInstallResponse.Result + 16, // 4: cc.arduino.cli.commands.v1.PlatformDownloadRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 17, // 5: cc.arduino.cli.commands.v1.PlatformDownloadResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 13, // 6: cc.arduino.cli.commands.v1.PlatformDownloadResponse.result:type_name -> cc.arduino.cli.commands.v1.PlatformDownloadResponse.Result + 16, // 7: cc.arduino.cli.commands.v1.PlatformUninstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 18, // 8: cc.arduino.cli.commands.v1.PlatformUninstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 14, // 9: cc.arduino.cli.commands.v1.PlatformUninstallResponse.result:type_name -> cc.arduino.cli.commands.v1.PlatformUninstallResponse.Result + 16, // 10: cc.arduino.cli.commands.v1.PlatformUpgradeRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 17, // 11: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 18, // 12: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 15, // 13: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.result:type_name -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result + 16, // 14: cc.arduino.cli.commands.v1.PlatformSearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 19, // 15: cc.arduino.cli.commands.v1.PlatformSearchResponse.search_output:type_name -> cc.arduino.cli.commands.v1.PlatformSummary + 20, // 16: cc.arduino.cli.commands.v1.PlatformUpgradeResponse.Result.platform:type_name -> cc.arduino.cli.commands.v1.Platform + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_core_proto_init() } @@ -1133,6 +1474,72 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PlatformInstallResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PlatformDownloadResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PlatformUninstallResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PlatformUpgradeResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*PlatformInstallResponse_Progress)(nil), + (*PlatformInstallResponse_TaskProgress)(nil), + (*PlatformInstallResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[4].OneofWrappers = []interface{}{ + (*PlatformDownloadResponse_Progress)(nil), + (*PlatformDownloadResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*PlatformUninstallResponse_TaskProgress)(nil), + (*PlatformUninstallResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*PlatformUpgradeResponse_Progress)(nil), + (*PlatformUpgradeResponse_TaskProgress)(nil), + (*PlatformUpgradeResponse_Result_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -1140,7 +1547,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_core_proto_rawDesc, NumEnums: 0, - NumMessages: 12, + NumMessages: 16, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/core.proto b/rpc/cc/arduino/cli/commands/v1/core.proto index e44331dada8..a1f0325c4e3 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.proto +++ b/rpc/cc/arduino/cli/commands/v1/core.proto @@ -42,10 +42,17 @@ message PlatformInstallRequest { } message PlatformInstallResponse { - // Progress of the downloads of the platform and tool files. - DownloadProgress progress = 1; - // Description of the current stage of the installation. - TaskProgress task_progress = 2; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Progress of the downloads of the platform and tool files. + DownloadProgress progress = 1; + // Description of the current stage of the installation. + TaskProgress task_progress = 2; + // The installation result. + Result result = 3; + } } message PlatformLoadingError {} @@ -61,8 +68,15 @@ message PlatformDownloadRequest { } message PlatformDownloadResponse { - // Progress of the downloads of platform and tool files. - DownloadProgress progress = 1; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Progress of the downloads of platform and tool files. + DownloadProgress progress = 1; + // The download result. + Result result = 2; + } } message PlatformUninstallRequest { @@ -78,8 +92,15 @@ message PlatformUninstallRequest { } message PlatformUninstallResponse { - // Description of the current stage of the uninstall. - TaskProgress task_progress = 1; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Description of the current stage of the uninstall. + TaskProgress task_progress = 1; + // The uninstall result. + Result result = 2; + } } // AlreadyAtLatestVersionError is returned when an upgrade is not possible @@ -102,12 +123,18 @@ message PlatformUpgradeRequest { } message PlatformUpgradeResponse { - // Progress of the downloads of the platform and tool files. - DownloadProgress progress = 1; - // Description of the current stage of the upgrade. - TaskProgress task_progress = 2; - // The upgraded platform. - Platform platform = 3; + message Result { + // The upgraded platform. + Platform platform = 1; + } + oneof message { + // Progress of the downloads of the platform and tool files. + DownloadProgress progress = 1; + // Description of the current stage of the upgrade. + TaskProgress task_progress = 2; + // The upgrade result. + Result result = 3; + } } message PlatformSearchRequest { diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index 99ccb687775..30aa64246b0 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -116,10 +116,11 @@ type DebugResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Incoming data from the debugger tool. - Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - // Incoming error output from the debugger tool. - Error string `protobuf:"bytes,2,opt,name=error,proto3" json:"error,omitempty"` + // Types that are assignable to Message: + // + // *DebugResponse_Data + // *DebugResponse_Result_ + Message isDebugResponse_Message `protobuf_oneof:"message"` } func (x *DebugResponse) Reset() { @@ -154,20 +155,45 @@ func (*DebugResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{1} } +func (m *DebugResponse) GetMessage() isDebugResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *DebugResponse) GetData() []byte { - if x != nil { + if x, ok := x.GetMessage().(*DebugResponse_Data); ok { return x.Data } return nil } -func (x *DebugResponse) GetError() string { - if x != nil { - return x.Error +func (x *DebugResponse) GetResult() *DebugResponse_Result { + if x, ok := x.GetMessage().(*DebugResponse_Result_); ok { + return x.Result } - return "" + return nil +} + +type isDebugResponse_Message interface { + isDebugResponse_Message() +} + +type DebugResponse_Data struct { + // Incoming data from the debugger tool. + Data []byte `protobuf:"bytes,1,opt,name=data,proto3,oneof"` +} + +type DebugResponse_Result_ struct { + // Debugging result. + Result *DebugResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` } +func (*DebugResponse_Data) isDebugResponse_Message() {} + +func (*DebugResponse_Result_) isDebugResponse_Message() {} + type IsDebugSupportedRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -668,6 +694,54 @@ func (x *DebugOpenOCDServerConfiguration) GetScripts() []string { return nil } +type DebugResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Incoming error output from the debugger tool. + Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` +} + +func (x *DebugResponse_Result) Reset() { + *x = DebugResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *DebugResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DebugResponse_Result) ProtoMessage() {} + +func (x *DebugResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DebugResponse_Result.ProtoReflect.Descriptor instead. +func (*DebugResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *DebugResponse_Result) GetError() string { + if x != nil { + return x.Error + } + return "" +} + var File_cc_arduino_cli_commands_v1_debug_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ @@ -692,103 +766,109 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x72, 0x75, 0x70, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x72, - 0x75, 0x70, 0x74, 0x22, 0x39, 0x0a, 0x0d, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xe7, - 0x01, 0x0a, 0x17, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, - 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, - 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, - 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x6a, 0x0a, 0x18, 0x49, 0x73, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, - 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, - 0x46, 0x71, 0x62, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x75, 0x70, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x1e, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x17, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, - 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, - 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, - 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0xe4, 0x04, 0x0a, - 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x63, - 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6f, 0x6c, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, - 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, - 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, - 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x66, 0x71, 0x62, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x6a, 0x0a, 0x18, + 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x62, 0x75, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, + 0x75, 0x67, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, + 0x65, 0x62, 0x75, 0x67, 0x46, 0x71, 0x62, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, + 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, + 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, + 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, + 0x22, 0xe4, 0x04, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, + 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, + 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, + 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, + 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, + 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, + 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, + 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x74, 0x6f, 0x6f, + 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, - 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x47, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, 0x64, 0x46, 0x69, 0x6c, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, - 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, - 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, - 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, + 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, + 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, + 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, + 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, + 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -803,7 +883,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_debug_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_cc_arduino_cli_commands_v1_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []interface{}{ (*DebugRequest)(nil), // 0: cc.arduino.cli.commands.v1.DebugRequest (*DebugResponse)(nil), // 1: cc.arduino.cli.commands.v1.DebugResponse @@ -813,25 +893,27 @@ var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []interface{}{ (*GetDebugConfigResponse)(nil), // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse (*DebugGCCToolchainConfiguration)(nil), // 6: cc.arduino.cli.commands.v1.DebugGCCToolchainConfiguration (*DebugOpenOCDServerConfiguration)(nil), // 7: cc.arduino.cli.commands.v1.DebugOpenOCDServerConfiguration - nil, // 8: cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry - (*Instance)(nil), // 9: cc.arduino.cli.commands.v1.Instance - (*Port)(nil), // 10: cc.arduino.cli.commands.v1.Port - (*anypb.Any)(nil), // 11: google.protobuf.Any + (*DebugResponse_Result)(nil), // 8: cc.arduino.cli.commands.v1.DebugResponse.Result + nil, // 9: cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry + (*Instance)(nil), // 10: cc.arduino.cli.commands.v1.Instance + (*Port)(nil), // 11: cc.arduino.cli.commands.v1.Port + (*anypb.Any)(nil), // 12: google.protobuf.Any } var file_cc_arduino_cli_commands_v1_debug_proto_depIdxs = []int32{ 4, // 0: cc.arduino.cli.commands.v1.DebugRequest.debug_request:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 9, // 1: cc.arduino.cli.commands.v1.IsDebugSupportedRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 10, // 2: cc.arduino.cli.commands.v1.IsDebugSupportedRequest.port:type_name -> cc.arduino.cli.commands.v1.Port - 9, // 3: cc.arduino.cli.commands.v1.GetDebugConfigRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 10, // 4: cc.arduino.cli.commands.v1.GetDebugConfigRequest.port:type_name -> cc.arduino.cli.commands.v1.Port - 11, // 5: cc.arduino.cli.commands.v1.GetDebugConfigResponse.toolchain_configuration:type_name -> google.protobuf.Any - 11, // 6: cc.arduino.cli.commands.v1.GetDebugConfigResponse.server_configuration:type_name -> google.protobuf.Any - 8, // 7: cc.arduino.cli.commands.v1.GetDebugConfigResponse.custom_configs:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry - 8, // [8:8] is the sub-list for method output_type - 8, // [8:8] is the sub-list for method input_type - 8, // [8:8] is the sub-list for extension type_name - 8, // [8:8] is the sub-list for extension extendee - 0, // [0:8] is the sub-list for field type_name + 8, // 1: cc.arduino.cli.commands.v1.DebugResponse.result:type_name -> cc.arduino.cli.commands.v1.DebugResponse.Result + 10, // 2: cc.arduino.cli.commands.v1.IsDebugSupportedRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 11, // 3: cc.arduino.cli.commands.v1.IsDebugSupportedRequest.port:type_name -> cc.arduino.cli.commands.v1.Port + 10, // 4: cc.arduino.cli.commands.v1.GetDebugConfigRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 11, // 5: cc.arduino.cli.commands.v1.GetDebugConfigRequest.port:type_name -> cc.arduino.cli.commands.v1.Port + 12, // 6: cc.arduino.cli.commands.v1.GetDebugConfigResponse.toolchain_configuration:type_name -> google.protobuf.Any + 12, // 7: cc.arduino.cli.commands.v1.GetDebugConfigResponse.server_configuration:type_name -> google.protobuf.Any + 9, // 8: cc.arduino.cli.commands.v1.GetDebugConfigResponse.custom_configs:type_name -> cc.arduino.cli.commands.v1.GetDebugConfigResponse.CustomConfigsEntry + 9, // [9:9] is the sub-list for method output_type + 9, // [9:9] is the sub-list for method input_type + 9, // [9:9] is the sub-list for extension type_name + 9, // [9:9] is the sub-list for extension extendee + 0, // [0:9] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_debug_proto_init() } @@ -938,6 +1020,22 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DebugResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*DebugResponse_Data)(nil), + (*DebugResponse_Result_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -945,7 +1043,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_debug_proto_rawDesc, NumEnums: 0, - NumMessages: 9, + NumMessages: 10, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 25142875d38..2f022fd7a35 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -46,10 +46,16 @@ message DebugRequest { // The streaming response may contain chunks of data from the debugger or an // error. message DebugResponse { - // Incoming data from the debugger tool. - bytes data = 1; - // Incoming error output from the debugger tool. - string error = 2; + message Result { + // Incoming error output from the debugger tool. + string error = 1; + } + oneof message { + // Incoming data from the debugger tool. + bytes data = 1; + // Debugging result. + Result result = 2; + } } message IsDebugSupportedRequest { diff --git a/rpc/cc/arduino/cli/commands/v1/lib.pb.go b/rpc/cc/arduino/cli/commands/v1/lib.pb.go index 6158816c5df..4d5de28a1d0 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/lib.pb.go @@ -313,8 +313,11 @@ type LibraryDownloadResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the library download. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` + // Types that are assignable to Message: + // + // *LibraryDownloadResponse_Progress + // *LibraryDownloadResponse_Result_ + Message isLibraryDownloadResponse_Message `protobuf_oneof:"message"` } func (x *LibraryDownloadResponse) Reset() { @@ -349,13 +352,45 @@ func (*LibraryDownloadResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{1} } +func (m *LibraryDownloadResponse) GetMessage() isLibraryDownloadResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *LibraryDownloadResponse) GetProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryDownloadResponse_Progress); ok { return x.Progress } return nil } +func (x *LibraryDownloadResponse) GetResult() *LibraryDownloadResponse_Result { + if x, ok := x.GetMessage().(*LibraryDownloadResponse_Result_); ok { + return x.Result + } + return nil +} + +type isLibraryDownloadResponse_Message interface { + isLibraryDownloadResponse_Message() +} + +type LibraryDownloadResponse_Progress struct { + // Progress of the library download. + Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3,oneof"` +} + +type LibraryDownloadResponse_Result_ struct { + // Download result. + Result *LibraryDownloadResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*LibraryDownloadResponse_Progress) isLibraryDownloadResponse_Message() {} + +func (*LibraryDownloadResponse_Result_) isLibraryDownloadResponse_Message() {} + type LibraryInstallRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -456,10 +491,12 @@ type LibraryInstallResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the library download. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` - // Description of the current stage of the installation. - TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *LibraryInstallResponse_Progress + // *LibraryInstallResponse_TaskProgress + // *LibraryInstallResponse_Result_ + Message isLibraryInstallResponse_Message `protobuf_oneof:"message"` } func (x *LibraryInstallResponse) Reset() { @@ -494,20 +531,59 @@ func (*LibraryInstallResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{3} } +func (m *LibraryInstallResponse) GetMessage() isLibraryInstallResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *LibraryInstallResponse) GetProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryInstallResponse_Progress); ok { return x.Progress } return nil } func (x *LibraryInstallResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryInstallResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *LibraryInstallResponse) GetResult() *LibraryInstallResponse_Result { + if x, ok := x.GetMessage().(*LibraryInstallResponse_Result_); ok { + return x.Result + } + return nil +} + +type isLibraryInstallResponse_Message interface { + isLibraryInstallResponse_Message() +} + +type LibraryInstallResponse_Progress struct { + // Progress of the library download. + Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3,oneof"` +} + +type LibraryInstallResponse_TaskProgress struct { + // Description of the current stage of the installation. + TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type LibraryInstallResponse_Result_ struct { + // Download result. + Result *LibraryInstallResponse_Result `protobuf:"bytes,3,opt,name=result,proto3,oneof"` +} + +func (*LibraryInstallResponse_Progress) isLibraryInstallResponse_Message() {} + +func (*LibraryInstallResponse_TaskProgress) isLibraryInstallResponse_Message() {} + +func (*LibraryInstallResponse_Result_) isLibraryInstallResponse_Message() {} + type LibraryUpgradeRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -580,10 +656,12 @@ type LibraryUpgradeResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the library download. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` - // Description of the current stage of the installation. - TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *LibraryUpgradeResponse_Progress + // *LibraryUpgradeResponse_TaskProgress + // *LibraryUpgradeResponse_Result_ + Message isLibraryUpgradeResponse_Message `protobuf_oneof:"message"` } func (x *LibraryUpgradeResponse) Reset() { @@ -618,20 +696,59 @@ func (*LibraryUpgradeResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{5} } +func (m *LibraryUpgradeResponse) GetMessage() isLibraryUpgradeResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *LibraryUpgradeResponse) GetProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryUpgradeResponse_Progress); ok { return x.Progress } return nil } func (x *LibraryUpgradeResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryUpgradeResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *LibraryUpgradeResponse) GetResult() *LibraryUpgradeResponse_Result { + if x, ok := x.GetMessage().(*LibraryUpgradeResponse_Result_); ok { + return x.Result + } + return nil +} + +type isLibraryUpgradeResponse_Message interface { + isLibraryUpgradeResponse_Message() +} + +type LibraryUpgradeResponse_Progress struct { + // Progress of the library download. + Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3,oneof"` +} + +type LibraryUpgradeResponse_TaskProgress struct { + // Description of the current stage of the installation. + TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type LibraryUpgradeResponse_Result_ struct { + // Download result. + Result *LibraryUpgradeResponse_Result `protobuf:"bytes,3,opt,name=result,proto3,oneof"` +} + +func (*LibraryUpgradeResponse_Progress) isLibraryUpgradeResponse_Message() {} + +func (*LibraryUpgradeResponse_TaskProgress) isLibraryUpgradeResponse_Message() {} + +func (*LibraryUpgradeResponse_Result_) isLibraryUpgradeResponse_Message() {} + type LibraryUninstallRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -703,8 +820,11 @@ type LibraryUninstallResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Description of the current stage of the uninstallation. - TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *LibraryUninstallResponse_TaskProgress + // *LibraryUninstallResponse_Result_ + Message isLibraryUninstallResponse_Message `protobuf_oneof:"message"` } func (x *LibraryUninstallResponse) Reset() { @@ -739,13 +859,45 @@ func (*LibraryUninstallResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{7} } +func (m *LibraryUninstallResponse) GetMessage() isLibraryUninstallResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *LibraryUninstallResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryUninstallResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *LibraryUninstallResponse) GetResult() *LibraryUninstallResponse_Result { + if x, ok := x.GetMessage().(*LibraryUninstallResponse_Result_); ok { + return x.Result + } + return nil +} + +type isLibraryUninstallResponse_Message interface { + isLibraryUninstallResponse_Message() +} + +type LibraryUninstallResponse_TaskProgress struct { + // Description of the current stage of the uninstallation. + TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type LibraryUninstallResponse_Result_ struct { + // Uninstall result. + Result *LibraryUninstallResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*LibraryUninstallResponse_TaskProgress) isLibraryUninstallResponse_Message() {} + +func (*LibraryUninstallResponse_Result_) isLibraryUninstallResponse_Message() {} + type LibraryUpgradeAllRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -799,10 +951,12 @@ type LibraryUpgradeAllResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Progress of the downloads of files needed for the upgrades. - Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3" json:"progress,omitempty"` - // Description of the current stage of the upgrade. - TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *LibraryUpgradeAllResponse_Progress + // *LibraryUpgradeAllResponse_TaskProgress + // *LibraryUpgradeAllResponse_Result_ + Message isLibraryUpgradeAllResponse_Message `protobuf_oneof:"message"` } func (x *LibraryUpgradeAllResponse) Reset() { @@ -837,20 +991,59 @@ func (*LibraryUpgradeAllResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{9} } +func (m *LibraryUpgradeAllResponse) GetMessage() isLibraryUpgradeAllResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *LibraryUpgradeAllResponse) GetProgress() *DownloadProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryUpgradeAllResponse_Progress); ok { return x.Progress } return nil } func (x *LibraryUpgradeAllResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*LibraryUpgradeAllResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *LibraryUpgradeAllResponse) GetResult() *LibraryUpgradeAllResponse_Result { + if x, ok := x.GetMessage().(*LibraryUpgradeAllResponse_Result_); ok { + return x.Result + } + return nil +} + +type isLibraryUpgradeAllResponse_Message interface { + isLibraryUpgradeAllResponse_Message() +} + +type LibraryUpgradeAllResponse_Progress struct { + // Progress of the downloads of files needed for the upgrades. + Progress *DownloadProgress `protobuf:"bytes,1,opt,name=progress,proto3,oneof"` +} + +type LibraryUpgradeAllResponse_TaskProgress struct { + // Description of the current stage of the upgrade. + TaskProgress *TaskProgress `protobuf:"bytes,2,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type LibraryUpgradeAllResponse_Result_ struct { + // Upgrade result. + Result *LibraryUpgradeAllResponse_Result `protobuf:"bytes,3,opt,name=result,proto3,oneof"` +} + +func (*LibraryUpgradeAllResponse_Progress) isLibraryUpgradeAllResponse_Message() {} + +func (*LibraryUpgradeAllResponse_TaskProgress) isLibraryUpgradeAllResponse_Message() {} + +func (*LibraryUpgradeAllResponse_Result_) isLibraryUpgradeAllResponse_Message() {} + type LibraryResolveDependenciesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2090,8 +2283,11 @@ type ZipLibraryInstallResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Description of the current stage of the installation. - TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *ZipLibraryInstallResponse_TaskProgress + // *ZipLibraryInstallResponse_Result_ + Message isZipLibraryInstallResponse_Message `protobuf_oneof:"message"` } func (x *ZipLibraryInstallResponse) Reset() { @@ -2126,13 +2322,45 @@ func (*ZipLibraryInstallResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{24} } +func (m *ZipLibraryInstallResponse) GetMessage() isZipLibraryInstallResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *ZipLibraryInstallResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*ZipLibraryInstallResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *ZipLibraryInstallResponse) GetResult() *ZipLibraryInstallResponse_Result { + if x, ok := x.GetMessage().(*ZipLibraryInstallResponse_Result_); ok { + return x.Result + } + return nil +} + +type isZipLibraryInstallResponse_Message interface { + isZipLibraryInstallResponse_Message() +} + +type ZipLibraryInstallResponse_TaskProgress struct { + // Description of the current stage of the installation. + TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type ZipLibraryInstallResponse_Result_ struct { + // Installation result. + Result *ZipLibraryInstallResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*ZipLibraryInstallResponse_TaskProgress) isZipLibraryInstallResponse_Message() {} + +func (*ZipLibraryInstallResponse_Result_) isZipLibraryInstallResponse_Message() {} + type GitLibraryInstallRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -2205,8 +2433,11 @@ type GitLibraryInstallResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Description of the current stage of the installation. - TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3" json:"task_progress,omitempty"` + // Types that are assignable to Message: + // + // *GitLibraryInstallResponse_TaskProgress + // *GitLibraryInstallResponse_Result_ + Message isGitLibraryInstallResponse_Message `protobuf_oneof:"message"` } func (x *GitLibraryInstallResponse) Reset() { @@ -2241,13 +2472,311 @@ func (*GitLibraryInstallResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{26} } +func (m *GitLibraryInstallResponse) GetMessage() isGitLibraryInstallResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *GitLibraryInstallResponse) GetTaskProgress() *TaskProgress { - if x != nil { + if x, ok := x.GetMessage().(*GitLibraryInstallResponse_TaskProgress); ok { return x.TaskProgress } return nil } +func (x *GitLibraryInstallResponse) GetResult() *GitLibraryInstallResponse_Result { + if x, ok := x.GetMessage().(*GitLibraryInstallResponse_Result_); ok { + return x.Result + } + return nil +} + +type isGitLibraryInstallResponse_Message interface { + isGitLibraryInstallResponse_Message() +} + +type GitLibraryInstallResponse_TaskProgress struct { + // Description of the current stage of the installation. + TaskProgress *TaskProgress `protobuf:"bytes,1,opt,name=task_progress,json=taskProgress,proto3,oneof"` +} + +type GitLibraryInstallResponse_Result_ struct { + // Installation result. + Result *GitLibraryInstallResponse_Result `protobuf:"bytes,2,opt,name=result,proto3,oneof"` +} + +func (*GitLibraryInstallResponse_TaskProgress) isGitLibraryInstallResponse_Message() {} + +func (*GitLibraryInstallResponse_Result_) isGitLibraryInstallResponse_Message() {} + +type LibraryDownloadResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *LibraryDownloadResponse_Result) Reset() { + *x = LibraryDownloadResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LibraryDownloadResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LibraryDownloadResponse_Result) ProtoMessage() {} + +func (x *LibraryDownloadResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[27] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LibraryDownloadResponse_Result.ProtoReflect.Descriptor instead. +func (*LibraryDownloadResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{1, 0} +} + +type LibraryInstallResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *LibraryInstallResponse_Result) Reset() { + *x = LibraryInstallResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LibraryInstallResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LibraryInstallResponse_Result) ProtoMessage() {} + +func (x *LibraryInstallResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[28] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LibraryInstallResponse_Result.ProtoReflect.Descriptor instead. +func (*LibraryInstallResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{3, 0} +} + +type LibraryUpgradeResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *LibraryUpgradeResponse_Result) Reset() { + *x = LibraryUpgradeResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LibraryUpgradeResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LibraryUpgradeResponse_Result) ProtoMessage() {} + +func (x *LibraryUpgradeResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[29] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LibraryUpgradeResponse_Result.ProtoReflect.Descriptor instead. +func (*LibraryUpgradeResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{5, 0} +} + +type LibraryUninstallResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *LibraryUninstallResponse_Result) Reset() { + *x = LibraryUninstallResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LibraryUninstallResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LibraryUninstallResponse_Result) ProtoMessage() {} + +func (x *LibraryUninstallResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[30] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LibraryUninstallResponse_Result.ProtoReflect.Descriptor instead. +func (*LibraryUninstallResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{7, 0} +} + +type LibraryUpgradeAllResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *LibraryUpgradeAllResponse_Result) Reset() { + *x = LibraryUpgradeAllResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LibraryUpgradeAllResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LibraryUpgradeAllResponse_Result) ProtoMessage() {} + +func (x *LibraryUpgradeAllResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[31] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LibraryUpgradeAllResponse_Result.ProtoReflect.Descriptor instead. +func (*LibraryUpgradeAllResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{9, 0} +} + +type ZipLibraryInstallResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ZipLibraryInstallResponse_Result) Reset() { + *x = ZipLibraryInstallResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ZipLibraryInstallResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ZipLibraryInstallResponse_Result) ProtoMessage() {} + +func (x *ZipLibraryInstallResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[35] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ZipLibraryInstallResponse_Result.ProtoReflect.Descriptor instead. +func (*ZipLibraryInstallResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{24, 0} +} + +type GitLibraryInstallResponse_Result struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GitLibraryInstallResponse_Result) Reset() { + *x = GitLibraryInstallResponse_Result{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GitLibraryInstallResponse_Result) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GitLibraryInstallResponse_Result) ProtoMessage() {} + +func (x *GitLibraryInstallResponse_Result) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[36] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GitLibraryInstallResponse_Result.ProtoReflect.Descriptor instead. +func (*GitLibraryInstallResponse_Result) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{26, 0} +} + var File_cc_arduino_cli_commands_v1_lib_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_lib_proto_rawDesc = []byte{ @@ -2266,381 +2795,430 @@ var file_cc_arduino_cli_commands_v1_lib_proto_rawDesc = []byte{ 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x63, 0x0a, 0x17, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0xa2, 0x02, 0x0a, 0x15, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x44, 0x65, 0x70, 0x73, 0x12, 0x21, - 0x0a, 0x0c, 0x6e, 0x6f, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x63, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd0, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x54, + 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x15, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x44, 0x65, 0x70, 0x73, 0x12, 0x21, 0x0a, 0x0c, + 0x6e, 0x6f, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0b, 0x6e, 0x6f, 0x4f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, + 0x5d, 0x0a, 0x10, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9f, + 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xb1, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x22, 0x86, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x44, 0x65, 0x70, 0x73, 0x22, 0xb1, 0x01, - 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x53, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x86, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f, 0x5f, 0x64, 0x65, 0x70, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x6e, 0x6f, 0x44, 0x65, 0x70, 0x73, 0x22, 0x9f, 0x02, 0x0a, 0x16, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, + 0x73, 0x12, 0x53, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x89, 0x01, 0x0a, 0x17, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x22, 0x89, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, + 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0x5c, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, + 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, - 0x18, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, - 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, + 0xa5, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, + 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, + 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x18, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x67, - 0x72, 0x65, 0x73, 0x73, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x4d, - 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, - 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0xdd, 0x01, - 0x0a, 0x21, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x21, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, - 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x7d, 0x0a, - 0x22, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, - 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0x85, 0x01, 0x0a, - 0x17, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, + 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x06, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xdd, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, - 0x32, 0x0a, 0x15, 0x6f, 0x6d, 0x69, 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, - 0x6f, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, - 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, - 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x41, 0x72, 0x67, 0x73, 0x22, 0xab, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, - 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x09, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, + 0x21, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, + 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x7d, 0x0a, 0x22, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, + 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0x85, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x22, 0xad, + 0x01, 0x0a, 0x14, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, + 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x06, 0x6c, - 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf4, 0x03, - 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, - 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, - 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, - 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, - 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, - 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x69, 0x65, 0x73, 0x22, 0x56, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, - 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, - 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a, - 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, - 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0xae, 0x01, - 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x6f, 0x6d, 0x69, + 0x74, 0x5f, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, + 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x6f, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x1f, 0x0a, + 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x22, 0xab, + 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd8, 0x02, 0x0a, + 0x0f, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x55, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, - 0x62, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x74, - 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x6c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, - 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, - 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xf8, - 0x08, 0x0a, 0x07, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, - 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, - 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, - 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, - 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x44, 0x69, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, - 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, - 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, - 0x44, 0x69, 0x72, 0x12, 0x2d, 0x0a, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, - 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0d, 0x64, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, - 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x6f, 0x74, 0x41, 0x4c, - 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x65, - 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x64, 0x5f, 0x66, - 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x64, 0x46, 0x6c, - 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, - 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x50, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x2e, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x06, 0x6c, + 0x61, 0x74, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x19, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x06, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x12, + 0x2d, 0x0a, 0x12, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x61, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x67, + 0x0a, 0x0d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, + 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, + 0x79, 0x12, 0x40, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf4, 0x03, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, + 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, + 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x61, + 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, + 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, + 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0d, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x08, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, + 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x2b, + 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x12, 0x51, 0x0a, 0x0c, 0x64, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, + 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0x56, + 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x11, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x73, + 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x10, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, + 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x29, 0x0a, + 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x61, 0x63, 0x68, + 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, + 0x63, 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x22, 0xae, 0x01, 0x0a, 0x12, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, + 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x12, 0x10, 0x0a, 0x03, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x61, + 0x6c, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x74, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x5d, 0x0a, 0x13, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, + 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x12, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0x97, + 0x01, 0x0a, 0x10, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x12, 0x3d, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x12, 0x44, 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, + 0x07, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x22, 0xf8, 0x08, 0x0a, 0x07, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x12, 0x1e, 0x0a, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, + 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, + 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x70, 0x61, 0x72, 0x61, 0x67, 0x72, 0x61, 0x70, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x77, 0x65, + 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x77, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x79, + 0x12, 0x24, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, + 0x63, 0x74, 0x75, 0x72, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, + 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1d, 0x0a, + 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, + 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0a, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x69, 0x72, 0x12, 0x2d, 0x0a, + 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x22, 0x0a, 0x0d, + 0x64, 0x6f, 0x74, 0x5f, 0x61, 0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, 0x18, 0x11, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x64, 0x6f, 0x74, 0x41, 0x4c, 0x69, 0x6e, 0x6b, 0x61, 0x67, 0x65, + 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x64, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x6c, 0x64, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x13, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x64, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x08, 0x69, 0x73, 0x4c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, + 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x53, + 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x17, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x06, 0x6c, - 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x18, 0x1b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x12, 0x60, - 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, - 0x68, 0x18, 0x1c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, - 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, 0x5f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x44, 0x65, 0x76, 0x65, - 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, - 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x5a, 0x69, - 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, - 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x5a, 0x69, - 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, - 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, - 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x69, 0x74, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x18, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, 0x6a, 0x0a, 0x19, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x06, + 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, + 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, + 0x1a, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x18, 0x1a, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, + 0x18, 0x1b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, + 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x18, 0x1c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, + 0x65, 0x57, 0x69, 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, + 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, 0x74, 0x68, 0x12, 0x25, 0x0a, 0x0e, 0x69, 0x6e, + 0x5f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x1d, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0d, 0x69, 0x6e, 0x44, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, + 0x74, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x1a, 0x41, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x57, 0x69, + 0x74, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x8e, 0x01, 0x0a, 0x18, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x22, 0xd9, 0x01, 0x0a, 0x19, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x73, 0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x2a, 0x61, 0x0a, 0x16, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x4c, - 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, - 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x24, - 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, - 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, - 0x49, 0x4e, 0x10, 0x01, 0x2a, 0x5a, 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4c, - 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, - 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, - 0x2a, 0x46, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, - 0x74, 0x12, 0x17, 0x0a, 0x13, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, - 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, - 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x43, - 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, 0x10, 0x01, 0x2a, 0xc3, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, - 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, - 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, - 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, - 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, - 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, - 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, 0x45, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x54, - 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x1e, - 0x0a, 0x1a, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x04, 0x42, 0x48, - 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x56, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, + 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, + 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, 0x22, + 0xd9, 0x01, 0x0a, 0x19, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4f, 0x0a, + 0x0d, 0x74, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, + 0x52, 0x0c, 0x74, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x56, + 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x08, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x61, 0x0a, 0x16, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, + 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x49, 0x42, 0x52, + 0x41, 0x52, 0x59, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4c, 0x4c, 0x5f, 0x4c, 0x4f, 0x43, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x01, 0x2a, 0x5a, + 0x0a, 0x13, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x20, 0x0a, 0x1c, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, + 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, + 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4c, 0x49, 0x42, 0x52, 0x41, + 0x52, 0x59, 0x5f, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, + 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x2a, 0x46, 0x0a, 0x0d, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x61, 0x79, 0x6f, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x4c, + 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x46, 0x4c, + 0x41, 0x54, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, + 0x4c, 0x41, 0x59, 0x4f, 0x55, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x55, 0x52, 0x53, 0x49, 0x56, 0x45, + 0x10, 0x01, 0x2a, 0xc3, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, + 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x42, 0x55, 0x49, 0x4c, 0x54, + 0x49, 0x4e, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, + 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, + 0x25, 0x0a, 0x21, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, 0x55, 0x49, + 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x02, 0x12, 0x30, 0x0a, 0x2c, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, + 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x52, 0x45, 0x46, 0x45, 0x52, + 0x45, 0x4e, 0x43, 0x45, 0x44, 0x5f, 0x50, 0x4c, 0x41, 0x54, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x42, + 0x55, 0x49, 0x4c, 0x54, 0x49, 0x4e, 0x10, 0x03, 0x12, 0x1e, 0x0a, 0x1a, 0x4c, 0x49, 0x42, 0x52, + 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x4d, + 0x41, 0x4e, 0x41, 0x47, 0x45, 0x44, 0x10, 0x04, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, + 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2656,7 +3234,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_lib_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_cc_arduino_cli_commands_v1_lib_proto_msgTypes = make([]protoimpl.MessageInfo, 30) +var file_cc_arduino_cli_commands_v1_lib_proto_msgTypes = make([]protoimpl.MessageInfo, 37) var file_cc_arduino_cli_commands_v1_lib_proto_goTypes = []interface{}{ (LibraryInstallLocation)(0), // 0: cc.arduino.cli.commands.v1.LibraryInstallLocation (LibrarySearchStatus)(0), // 1: cc.arduino.cli.commands.v1.LibrarySearchStatus @@ -2689,55 +3267,69 @@ var file_cc_arduino_cli_commands_v1_lib_proto_goTypes = []interface{}{ (*ZipLibraryInstallResponse)(nil), // 28: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse (*GitLibraryInstallRequest)(nil), // 29: cc.arduino.cli.commands.v1.GitLibraryInstallRequest (*GitLibraryInstallResponse)(nil), // 30: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - nil, // 31: cc.arduino.cli.commands.v1.SearchedLibrary.ReleasesEntry - nil, // 32: cc.arduino.cli.commands.v1.Library.PropertiesEntry - nil, // 33: cc.arduino.cli.commands.v1.Library.CompatibleWithEntry - (*Instance)(nil), // 34: cc.arduino.cli.commands.v1.Instance - (*DownloadProgress)(nil), // 35: cc.arduino.cli.commands.v1.DownloadProgress - (*TaskProgress)(nil), // 36: cc.arduino.cli.commands.v1.TaskProgress + (*LibraryDownloadResponse_Result)(nil), // 31: cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result + (*LibraryInstallResponse_Result)(nil), // 32: cc.arduino.cli.commands.v1.LibraryInstallResponse.Result + (*LibraryUpgradeResponse_Result)(nil), // 33: cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result + (*LibraryUninstallResponse_Result)(nil), // 34: cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result + (*LibraryUpgradeAllResponse_Result)(nil), // 35: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result + nil, // 36: cc.arduino.cli.commands.v1.SearchedLibrary.ReleasesEntry + nil, // 37: cc.arduino.cli.commands.v1.Library.PropertiesEntry + nil, // 38: cc.arduino.cli.commands.v1.Library.CompatibleWithEntry + (*ZipLibraryInstallResponse_Result)(nil), // 39: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result + (*GitLibraryInstallResponse_Result)(nil), // 40: cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result + (*Instance)(nil), // 41: cc.arduino.cli.commands.v1.Instance + (*DownloadProgress)(nil), // 42: cc.arduino.cli.commands.v1.DownloadProgress + (*TaskProgress)(nil), // 43: cc.arduino.cli.commands.v1.TaskProgress } var file_cc_arduino_cli_commands_v1_lib_proto_depIdxs = []int32{ - 34, // 0: cc.arduino.cli.commands.v1.LibraryDownloadRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 35, // 1: cc.arduino.cli.commands.v1.LibraryDownloadResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 34, // 2: cc.arduino.cli.commands.v1.LibraryInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 0, // 3: cc.arduino.cli.commands.v1.LibraryInstallRequest.install_location:type_name -> cc.arduino.cli.commands.v1.LibraryInstallLocation - 35, // 4: cc.arduino.cli.commands.v1.LibraryInstallResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 36, // 5: cc.arduino.cli.commands.v1.LibraryInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 34, // 6: cc.arduino.cli.commands.v1.LibraryUpgradeRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 35, // 7: cc.arduino.cli.commands.v1.LibraryUpgradeResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 36, // 8: cc.arduino.cli.commands.v1.LibraryUpgradeResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 34, // 9: cc.arduino.cli.commands.v1.LibraryUninstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 36, // 10: cc.arduino.cli.commands.v1.LibraryUninstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 34, // 11: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 35, // 12: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress - 36, // 13: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 34, // 14: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 16, // 15: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse.dependencies:type_name -> cc.arduino.cli.commands.v1.LibraryDependencyStatus - 34, // 16: cc.arduino.cli.commands.v1.LibrarySearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 19, // 17: cc.arduino.cli.commands.v1.LibrarySearchResponse.libraries:type_name -> cc.arduino.cli.commands.v1.SearchedLibrary - 1, // 18: cc.arduino.cli.commands.v1.LibrarySearchResponse.status:type_name -> cc.arduino.cli.commands.v1.LibrarySearchStatus - 31, // 19: cc.arduino.cli.commands.v1.SearchedLibrary.releases:type_name -> cc.arduino.cli.commands.v1.SearchedLibrary.ReleasesEntry - 20, // 20: cc.arduino.cli.commands.v1.SearchedLibrary.latest:type_name -> cc.arduino.cli.commands.v1.LibraryRelease - 22, // 21: cc.arduino.cli.commands.v1.LibraryRelease.resources:type_name -> cc.arduino.cli.commands.v1.DownloadResource - 21, // 22: cc.arduino.cli.commands.v1.LibraryRelease.dependencies:type_name -> cc.arduino.cli.commands.v1.LibraryDependency - 34, // 23: cc.arduino.cli.commands.v1.LibraryListRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 25, // 24: cc.arduino.cli.commands.v1.LibraryListResponse.installed_libraries:type_name -> cc.arduino.cli.commands.v1.InstalledLibrary - 26, // 25: cc.arduino.cli.commands.v1.InstalledLibrary.library:type_name -> cc.arduino.cli.commands.v1.Library - 20, // 26: cc.arduino.cli.commands.v1.InstalledLibrary.release:type_name -> cc.arduino.cli.commands.v1.LibraryRelease - 32, // 27: cc.arduino.cli.commands.v1.Library.properties:type_name -> cc.arduino.cli.commands.v1.Library.PropertiesEntry - 3, // 28: cc.arduino.cli.commands.v1.Library.location:type_name -> cc.arduino.cli.commands.v1.LibraryLocation - 2, // 29: cc.arduino.cli.commands.v1.Library.layout:type_name -> cc.arduino.cli.commands.v1.LibraryLayout - 33, // 30: cc.arduino.cli.commands.v1.Library.compatible_with:type_name -> cc.arduino.cli.commands.v1.Library.CompatibleWithEntry - 34, // 31: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 36, // 32: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 34, // 33: cc.arduino.cli.commands.v1.GitLibraryInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 36, // 34: cc.arduino.cli.commands.v1.GitLibraryInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress - 20, // 35: cc.arduino.cli.commands.v1.SearchedLibrary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.LibraryRelease - 36, // [36:36] is the sub-list for method output_type - 36, // [36:36] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 41, // 0: cc.arduino.cli.commands.v1.LibraryDownloadRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 42, // 1: cc.arduino.cli.commands.v1.LibraryDownloadResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 31, // 2: cc.arduino.cli.commands.v1.LibraryDownloadResponse.result:type_name -> cc.arduino.cli.commands.v1.LibraryDownloadResponse.Result + 41, // 3: cc.arduino.cli.commands.v1.LibraryInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 0, // 4: cc.arduino.cli.commands.v1.LibraryInstallRequest.install_location:type_name -> cc.arduino.cli.commands.v1.LibraryInstallLocation + 42, // 5: cc.arduino.cli.commands.v1.LibraryInstallResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 43, // 6: cc.arduino.cli.commands.v1.LibraryInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 32, // 7: cc.arduino.cli.commands.v1.LibraryInstallResponse.result:type_name -> cc.arduino.cli.commands.v1.LibraryInstallResponse.Result + 41, // 8: cc.arduino.cli.commands.v1.LibraryUpgradeRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 42, // 9: cc.arduino.cli.commands.v1.LibraryUpgradeResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 43, // 10: cc.arduino.cli.commands.v1.LibraryUpgradeResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 33, // 11: cc.arduino.cli.commands.v1.LibraryUpgradeResponse.result:type_name -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse.Result + 41, // 12: cc.arduino.cli.commands.v1.LibraryUninstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 43, // 13: cc.arduino.cli.commands.v1.LibraryUninstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 34, // 14: cc.arduino.cli.commands.v1.LibraryUninstallResponse.result:type_name -> cc.arduino.cli.commands.v1.LibraryUninstallResponse.Result + 41, // 15: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 42, // 16: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.progress:type_name -> cc.arduino.cli.commands.v1.DownloadProgress + 43, // 17: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 35, // 18: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.result:type_name -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse.Result + 41, // 19: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 16, // 20: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse.dependencies:type_name -> cc.arduino.cli.commands.v1.LibraryDependencyStatus + 41, // 21: cc.arduino.cli.commands.v1.LibrarySearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 19, // 22: cc.arduino.cli.commands.v1.LibrarySearchResponse.libraries:type_name -> cc.arduino.cli.commands.v1.SearchedLibrary + 1, // 23: cc.arduino.cli.commands.v1.LibrarySearchResponse.status:type_name -> cc.arduino.cli.commands.v1.LibrarySearchStatus + 36, // 24: cc.arduino.cli.commands.v1.SearchedLibrary.releases:type_name -> cc.arduino.cli.commands.v1.SearchedLibrary.ReleasesEntry + 20, // 25: cc.arduino.cli.commands.v1.SearchedLibrary.latest:type_name -> cc.arduino.cli.commands.v1.LibraryRelease + 22, // 26: cc.arduino.cli.commands.v1.LibraryRelease.resources:type_name -> cc.arduino.cli.commands.v1.DownloadResource + 21, // 27: cc.arduino.cli.commands.v1.LibraryRelease.dependencies:type_name -> cc.arduino.cli.commands.v1.LibraryDependency + 41, // 28: cc.arduino.cli.commands.v1.LibraryListRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 25, // 29: cc.arduino.cli.commands.v1.LibraryListResponse.installed_libraries:type_name -> cc.arduino.cli.commands.v1.InstalledLibrary + 26, // 30: cc.arduino.cli.commands.v1.InstalledLibrary.library:type_name -> cc.arduino.cli.commands.v1.Library + 20, // 31: cc.arduino.cli.commands.v1.InstalledLibrary.release:type_name -> cc.arduino.cli.commands.v1.LibraryRelease + 37, // 32: cc.arduino.cli.commands.v1.Library.properties:type_name -> cc.arduino.cli.commands.v1.Library.PropertiesEntry + 3, // 33: cc.arduino.cli.commands.v1.Library.location:type_name -> cc.arduino.cli.commands.v1.LibraryLocation + 2, // 34: cc.arduino.cli.commands.v1.Library.layout:type_name -> cc.arduino.cli.commands.v1.LibraryLayout + 38, // 35: cc.arduino.cli.commands.v1.Library.compatible_with:type_name -> cc.arduino.cli.commands.v1.Library.CompatibleWithEntry + 41, // 36: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 43, // 37: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 39, // 38: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.result:type_name -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse.Result + 41, // 39: cc.arduino.cli.commands.v1.GitLibraryInstallRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 43, // 40: cc.arduino.cli.commands.v1.GitLibraryInstallResponse.task_progress:type_name -> cc.arduino.cli.commands.v1.TaskProgress + 40, // 41: cc.arduino.cli.commands.v1.GitLibraryInstallResponse.result:type_name -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse.Result + 20, // 42: cc.arduino.cli.commands.v1.SearchedLibrary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.LibraryRelease + 43, // [43:43] is the sub-list for method output_type + 43, // [43:43] is the sub-list for method input_type + 43, // [43:43] is the sub-list for extension type_name + 43, // [43:43] is the sub-list for extension extendee + 0, // [0:43] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_lib_proto_init() } @@ -3071,6 +3663,121 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LibraryDownloadResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LibraryInstallResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LibraryUpgradeResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LibraryUninstallResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LibraryUpgradeAllResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ZipLibraryInstallResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GitLibraryInstallResponse_Result); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*LibraryDownloadResponse_Progress)(nil), + (*LibraryDownloadResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*LibraryInstallResponse_Progress)(nil), + (*LibraryInstallResponse_TaskProgress)(nil), + (*LibraryInstallResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*LibraryUpgradeResponse_Progress)(nil), + (*LibraryUpgradeResponse_TaskProgress)(nil), + (*LibraryUpgradeResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[7].OneofWrappers = []interface{}{ + (*LibraryUninstallResponse_TaskProgress)(nil), + (*LibraryUninstallResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*LibraryUpgradeAllResponse_Progress)(nil), + (*LibraryUpgradeAllResponse_TaskProgress)(nil), + (*LibraryUpgradeAllResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[24].OneofWrappers = []interface{}{ + (*ZipLibraryInstallResponse_TaskProgress)(nil), + (*ZipLibraryInstallResponse_Result_)(nil), + } + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[26].OneofWrappers = []interface{}{ + (*GitLibraryInstallResponse_TaskProgress)(nil), + (*GitLibraryInstallResponse_Result_)(nil), } type x struct{} out := protoimpl.TypeBuilder{ @@ -3078,7 +3785,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_lib_proto_rawDesc, NumEnums: 4, - NumMessages: 30, + NumMessages: 37, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/lib.proto b/rpc/cc/arduino/cli/commands/v1/lib.proto index 262a4b9eac1..17e157f6b7c 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.proto +++ b/rpc/cc/arduino/cli/commands/v1/lib.proto @@ -31,8 +31,15 @@ message LibraryDownloadRequest { } message LibraryDownloadResponse { - // Progress of the library download. - DownloadProgress progress = 1; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Progress of the library download. + DownloadProgress progress = 1; + // Download result. + Result result = 2; + } } message LibraryInstallRequest { @@ -61,10 +68,17 @@ enum LibraryInstallLocation { } message LibraryInstallResponse { - // Progress of the library download. - DownloadProgress progress = 1; - // Description of the current stage of the installation. - TaskProgress task_progress = 2; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Progress of the library download. + DownloadProgress progress = 1; + // Description of the current stage of the installation. + TaskProgress task_progress = 2; + // Download result. + Result result = 3; + } } message LibraryUpgradeRequest { @@ -78,10 +92,17 @@ message LibraryUpgradeRequest { } message LibraryUpgradeResponse { - // Progress of the library download. - DownloadProgress progress = 1; - // Description of the current stage of the installation. - TaskProgress task_progress = 2; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Progress of the library download. + DownloadProgress progress = 1; + // Description of the current stage of the installation. + TaskProgress task_progress = 2; + // Download result. + Result result = 3; + } } message LibraryUninstallRequest { @@ -94,8 +115,15 @@ message LibraryUninstallRequest { } message LibraryUninstallResponse { - // Description of the current stage of the uninstallation. - TaskProgress task_progress = 1; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Description of the current stage of the uninstallation. + TaskProgress task_progress = 1; + // Uninstall result. + Result result = 2; + } } message LibraryUpgradeAllRequest { @@ -104,10 +132,17 @@ message LibraryUpgradeAllRequest { } message LibraryUpgradeAllResponse { - // Progress of the downloads of files needed for the upgrades. - DownloadProgress progress = 1; - // Description of the current stage of the upgrade. - TaskProgress task_progress = 2; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Progress of the downloads of files needed for the upgrades. + DownloadProgress progress = 1; + // Description of the current stage of the upgrade. + TaskProgress task_progress = 2; + // Upgrade result. + Result result = 3; + } } message LibraryResolveDependenciesRequest { @@ -352,8 +387,15 @@ message ZipLibraryInstallRequest { } message ZipLibraryInstallResponse { - // Description of the current stage of the installation. - TaskProgress task_progress = 1; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Description of the current stage of the installation. + TaskProgress task_progress = 1; + // Installation result. + Result result = 2; + } } message GitLibraryInstallRequest { @@ -367,6 +409,13 @@ message GitLibraryInstallRequest { } message GitLibraryInstallResponse { - // Description of the current stage of the installation. - TaskProgress task_progress = 1; + message Result { + // Empty message, reserved for future expansion. + } + oneof message { + // Description of the current stage of the installation. + TaskProgress task_progress = 1; + // Installation result. + Result result = 2; + } } diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go index f9844a18099..0f1c91ead0e 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go @@ -232,7 +232,7 @@ type MonitorPortConfiguration struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The port configuration parameters to configure + // The port configuration parameters Settings []*MonitorPortSetting `protobuf:"bytes,1,rep,name=settings,proto3" json:"settings,omitempty"` } @@ -280,17 +280,13 @@ type MonitorResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Eventual errors dealing with monitor port - Error string `protobuf:"bytes,1,opt,name=error,proto3" json:"error,omitempty"` - // Data received from the port - RxData []byte `protobuf:"bytes,2,opt,name=rx_data,json=rxData,proto3" json:"rx_data,omitempty"` - // Settings applied to the port, may be returned after a port is opened (to - // report the default settings) or after a new port_configuration is sent - // (to report the new settings applied) - AppliedSettings []*MonitorPortSetting `protobuf:"bytes,3,rep,name=applied_settings,json=appliedSettings,proto3" json:"applied_settings,omitempty"` - // A message with this field set to true is sent as soon as the port is - // succesfully opened - Success bool `protobuf:"varint,4,opt,name=success,proto3" json:"success,omitempty"` + // Types that are assignable to Message: + // + // *MonitorResponse_Error + // *MonitorResponse_RxData + // *MonitorResponse_AppliedSettings + // *MonitorResponse_Success + Message isMonitorResponse_Message `protobuf_oneof:"message"` } func (x *MonitorResponse) Reset() { @@ -325,34 +321,76 @@ func (*MonitorResponse) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{3} } +func (m *MonitorResponse) GetMessage() isMonitorResponse_Message { + if m != nil { + return m.Message + } + return nil +} + func (x *MonitorResponse) GetError() string { - if x != nil { + if x, ok := x.GetMessage().(*MonitorResponse_Error); ok { return x.Error } return "" } func (x *MonitorResponse) GetRxData() []byte { - if x != nil { + if x, ok := x.GetMessage().(*MonitorResponse_RxData); ok { return x.RxData } return nil } -func (x *MonitorResponse) GetAppliedSettings() []*MonitorPortSetting { - if x != nil { +func (x *MonitorResponse) GetAppliedSettings() *MonitorPortConfiguration { + if x, ok := x.GetMessage().(*MonitorResponse_AppliedSettings); ok { return x.AppliedSettings } return nil } func (x *MonitorResponse) GetSuccess() bool { - if x != nil { + if x, ok := x.GetMessage().(*MonitorResponse_Success); ok { return x.Success } return false } +type isMonitorResponse_Message interface { + isMonitorResponse_Message() +} + +type MonitorResponse_Error struct { + // Eventual errors dealing with monitor port + Error string `protobuf:"bytes,1,opt,name=error,proto3,oneof"` +} + +type MonitorResponse_RxData struct { + // Data received from the port + RxData []byte `protobuf:"bytes,2,opt,name=rx_data,json=rxData,proto3,oneof"` +} + +type MonitorResponse_AppliedSettings struct { + // Settings applied to the port, may be returned after a port is opened (to + // report the default settings) or after a new port_configuration is sent + // (to report the new settings applied) + AppliedSettings *MonitorPortConfiguration `protobuf:"bytes,3,opt,name=applied_settings,json=appliedSettings,proto3,oneof"` +} + +type MonitorResponse_Success struct { + // A message with this field set to true is sent as soon as the port is + // succesfully opened + Success bool `protobuf:"varint,4,opt,name=success,proto3,oneof"` +} + +func (*MonitorResponse_Error) isMonitorResponse_Message() {} + +func (*MonitorResponse_RxData) isMonitorResponse_Message() {} + +func (*MonitorResponse_AppliedSettings) isMonitorResponse_Message() {} + +func (*MonitorResponse_Success) isMonitorResponse_Message() {} + type MonitorPortSetting struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -662,56 +700,58 @@ var file_cc_arduino_cli_commands_v1_monitor_proto_rawDesc = []byte{ 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0xb5, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x72, - 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x72, 0x78, - 0x44, 0x61, 0x74, 0x61, 0x12, 0x59, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, - 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x0f, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, - 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x22, 0x49, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, + 0x73, 0x22, 0xce, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, + 0x07, 0x72, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, + 0x52, 0x06, 0x72, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x49, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, + 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa0, 0x01, + 0x0a, 0x23, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, + 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, + 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, + 0x22, 0x7c, 0x0a, 0x24, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, + 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, + 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x9e, + 0x01, 0x0a, 0x1c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x23, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x7c, 0x0a, 0x24, 0x45, 0x6e, 0x75, 0x6d, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x54, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x1c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, - 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, - 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, + 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, + 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, + 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, + 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( @@ -746,7 +786,7 @@ var file_cc_arduino_cli_commands_v1_monitor_proto_depIdxs = []int32{ 9, // 3: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port:type_name -> cc.arduino.cli.commands.v1.Port 2, // 4: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration 4, // 5: cc.arduino.cli.commands.v1.MonitorPortConfiguration.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting - 4, // 6: cc.arduino.cli.commands.v1.MonitorResponse.applied_settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting + 2, // 6: cc.arduino.cli.commands.v1.MonitorResponse.applied_settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration 8, // 7: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 7, // 8: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor 9, // [9:9] is the sub-list for method output_type @@ -867,6 +907,12 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { (*MonitorRequest_UpdatedConfiguration)(nil), (*MonitorRequest_Close)(nil), } + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].OneofWrappers = []interface{}{ + (*MonitorResponse_Error)(nil), + (*MonitorResponse_RxData)(nil), + (*MonitorResponse_AppliedSettings)(nil), + (*MonitorResponse_Success)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.proto b/rpc/cc/arduino/cli/commands/v1/monitor.proto index 5c122789d9c..dbda9635610 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.proto +++ b/rpc/cc/arduino/cli/commands/v1/monitor.proto @@ -51,22 +51,24 @@ message MonitorPortOpenRequest { } message MonitorPortConfiguration { - // The port configuration parameters to configure + // The port configuration parameters repeated MonitorPortSetting settings = 1; } message MonitorResponse { - // Eventual errors dealing with monitor port - string error = 1; - // Data received from the port - bytes rx_data = 2; - // Settings applied to the port, may be returned after a port is opened (to - // report the default settings) or after a new port_configuration is sent - // (to report the new settings applied) - repeated MonitorPortSetting applied_settings = 3; - // A message with this field set to true is sent as soon as the port is - // succesfully opened - bool success = 4; + oneof message { + // Eventual errors dealing with monitor port + string error = 1; + // Data received from the port + bytes rx_data = 2; + // Settings applied to the port, may be returned after a port is opened (to + // report the default settings) or after a new port_configuration is sent + // (to report the new settings applied) + MonitorPortConfiguration applied_settings = 3; + // A message with this field set to true is sent as soon as the port is + // succesfully opened + bool success = 4; + } } message MonitorPortSetting { From 827d5f84837056094ea565115791e551ccb9ba9e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 17 May 2024 15:31:47 +0200 Subject: [PATCH 201/361] [skip-changelog] Preparing docs for 1.0.0 release (#2553) --- README.md | 3 --- docs/UPGRADING.md | 2 +- docs/getting-started.md | 3 +-- docs/versioning.md | 10 +++++----- 4 files changed, 7 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a8d93cb2513..18633011a45 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,6 @@ and many other tools needed to use any Arduino compatible board and platform fro [![Deploy Website status](https://github.com/arduino/arduino-cli/actions/workflows/deploy-cobra-mkdocs-versioned-poetry.yml/badge.svg)](https://github.com/arduino/arduino-cli/actions/workflows/deploy-cobra-mkdocs-versioned-poetry.yml) [![Codecov](https://codecov.io/gh/arduino/arduino-cli/branch/master/graph/badge.svg)](https://codecov.io/gh/arduino/arduino-cli) -> **Note:** this software is currently under active development: anything can change at any time, API and UI must be -> considered unstable until we release version 1.0.0. - ## Docs For guidance on installation and development, see the [User documentation]. diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 47e72044b41..e213d3959c0 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -2,7 +2,7 @@ Here you can find a list of migration guides to handle breaking changes between releases of the CLI. -## 0.36.0 +## 1.0.0 ### Configuration file now supports only YAML format. diff --git a/docs/getting-started.md b/docs/getting-started.md index ce3d804d6cd..f0e1f97b4bc 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -1,5 +1,4 @@ -Despite the lack of feature parity at the moment, Arduino CLI provides many of the features you can find in the Arduino -IDE. Let's see some examples. +Arduino CLI provides all the features you can find in the Arduino IDE. Let's see some examples. ## Before you start diff --git a/docs/versioning.md b/docs/versioning.md index 02cccd398d0..17b0414a8ed 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -1,21 +1,21 @@ # Backward compatibility policy for arduino-cli. The arduino-cli project follows a strict semantic versioning policy. We are committing not to make breaking changes in -minor releases after the release of version 1.0.0. The project is currently in the last period of the Beta phase. +minor releases of Arduino CLI 1.x.x. The release rules are the following: - Alpha phase `0.0.X`: In this phase, the software is going through a quick iteration of the API, each release (with increments of X) may contain massive and breaking changes. -- **Beta phase `0.Y.X`**: The software is usable, but the API is still not settled and is under continuous testing and +- Beta phase `0.Y.X`: The software is usable, but the API is still not settled and is under continuous testing and review. Breaking changes are expected. Bug fixes and new features are made as patch releases (with increments of X). Breaking changes due to API refinements are made as minor releases (with increments of Y). - Production release-candidate `1.0.0-rc.X`: in this phase, the software is considered ready for release and distributed to the users for final testing. Release candidates (with increments of X) are possible for bug fixes only. -- Production release `1.Y.X`: For the production releases backward compatibility is guaranteed, and all the breaking +- **Production release `1.Y.X`**: For the production releases backward compatibility is guaranteed, and all the breaking changes are cumulated for the next major release (2.0.0). Bug fixes are made as patch releases (with increments of X); New features are released as minor releases (with increments of Y). -- Next major release development `2.0.0` and up: see below. +- Next major release development `>=2.0.0` and up: see below. ## Backward compatibility guarantees and definition of "breaking change" @@ -36,7 +36,7 @@ Changes in the command-line interface are considered breaking if: - an optional positional argument or a flag is made mandatory - a positional argument or a flag format is changed -The following changes to the command-line syntax are NOT considered breaking: +The following changes to the command-line syntax are NOT considered breaking changes: - a new command is added - a new optional positional argument is added From ba19a2d38ada385799a2348831a47e63010b1cfd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 20 May 2024 10:09:51 +0200 Subject: [PATCH 202/361] [skip-changelog] Updated translation files (#2500) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 1359 +++++++++++++++++----------------- internal/i18n/data/de.po | 1362 +++++++++++++++++----------------- internal/i18n/data/es.po | 1347 +++++++++++++++++---------------- internal/i18n/data/fr.po | 1345 ++++++++++++++++----------------- internal/i18n/data/he.po | 1347 +++++++++++++++++---------------- internal/i18n/data/it_IT.po | 1380 +++++++++++++++++----------------- internal/i18n/data/ja.po | 1345 ++++++++++++++++----------------- internal/i18n/data/ko.po | 1345 ++++++++++++++++----------------- internal/i18n/data/lb.po | 1345 ++++++++++++++++----------------- internal/i18n/data/ne.po | 1345 ++++++++++++++++----------------- internal/i18n/data/pl.po | 1345 ++++++++++++++++----------------- internal/i18n/data/pt.po | 1362 +++++++++++++++++----------------- internal/i18n/data/ru.po | 1345 ++++++++++++++++----------------- internal/i18n/data/zh.po | 1388 +++++++++++++++++------------------ internal/i18n/data/zh_TW.po | 1363 +++++++++++++++++----------------- 15 files changed, 9858 insertions(+), 10465 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index c35e4b77893..e6341117003 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -12,11 +12,11 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s النسخة : %[3]s commit : %[4]s التاريخ : %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "الملف %[1]s اصبح غير مدعوما! راجع %[2]s للمزيد من المعلومات" @@ -28,31 +28,15 @@ msgstr "%[1]s غير صالح . جار اعادة بناء كل شيء" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s مطلوب و لكن %[2]s مثبت حاليا" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s التنسيق مفقود" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s , رسالة : %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s , المنفذ : %[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s , المنافذ : %[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, نسخة البوتوكول : %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "تم تنزيل %s مسبقا" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s و %s لا يمكن استخدامهما معا" @@ -64,8 +48,8 @@ msgstr "%s تم تثبيته بنجاح" msgid "%s is already installed." msgstr "%s مثبت مسبقا" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s ليس مسارا صحيحا" @@ -77,8 +61,8 @@ msgstr "%s غير مدار بواسطة مدير الحزمات" msgid "%s must be installed." msgstr "يجب تثبيت %s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "%s النسق مفقود" @@ -86,13 +70,13 @@ msgstr "%s النسق مفقود" msgid "'%s' has an invalid signature" msgstr "'%s' لديه توقيع غير صحيح" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "'build.core' و 'build.variant' تشيران الى منصة مختلفة : %[1]s و %[2]s" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(مخفي)" @@ -120,11 +104,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "لا يمكن استخدام git-url-- او zip-path-- مع install-in-builtin-dir--" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "ملف ino. موجود مسبقا" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "نسخة جديدة من CLI متوفرة " @@ -145,7 +129,7 @@ msgstr "دليل استخدام سطر موجه الاوامر للاردوين msgid "Additional help topics:" msgstr "مواضيع مساعدة اضافية :" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "اضافة قيمة او اكثر الى احد الاعدادات" @@ -161,33 +145,33 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "كل الانوية محدثة باخر اصدار مسبقا" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "%s مثبت مسبقا" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "البدائل ل %[1]s : %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "حدث خطأ اثناء اضافة النماذج الاولية" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "حدث خطأ اثناء الكشف عن المكتبات" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" "الحاق سجل التصحيح الى الملف المحدد (Append debug logging to the specified " "file)" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "المعمارية : %s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "الارشيف موجود مسبقا" @@ -195,39 +179,39 @@ msgstr "الارشيف موجود مسبقا" msgid "Archiving built core (caching) in: %[1]s" msgstr "جار ارشفة built core (caching) في : %[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "اوامر مشروع Arduino CLI" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI" -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "واجهة موجه سطر الاوامر للاردوينو (Arduino CLI)" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "اوامر لوحات الاردوينو" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "اوامر cache الخاصة بالاردوينو" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "اوامر الاردوينو المتعلقة بالمكتبات" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "ضبط الاردوينو" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "عمليات نواة الاردوينو (Arduino core operations)" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "خطأ بالمدخلات : %v" @@ -235,7 +219,7 @@ msgstr "خطأ بالمدخلات : %v" msgid "Attaches a sketch to a board." msgstr "يربط اللوحة بالمشروع" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "المؤلف : %s" @@ -247,7 +231,7 @@ msgstr "" "لا يمكن تنفيذ التثبيت التلقائي للمكتبة في هذه الحالة , الرجاء ازالة كل النسخ" " المطابقة يدويا و الاعادة" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -255,7 +239,7 @@ msgstr "" "لا يمكن تنفيذ الغاء التثبيت التلقائي للمكتبة في هذه الحالة , الرجاء ازالتها " "يدويا و الاعادة" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "متوفر" @@ -263,20 +247,20 @@ msgstr "متوفر" msgid "Available Commands:" msgstr "الاوامر المتوفرة" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "الملف الثنائي (Binary file) الذي تريد رفعه" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "اسم اللوحة" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "اسم اللوحة" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "نسخة اللوحة :" @@ -284,7 +268,7 @@ msgstr "نسخة اللوحة :" msgid "Bootloader file specified but missing: %[1]s" msgstr "ملف محمل الإقلاع (Bootloader) تم تحدديده لكنه مفقود: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds الخاصة ب 'core.a' تحفظ في هذا المسار و سيتم وضعها في الكاش و سيعاد " @@ -298,11 +282,12 @@ msgstr "تعذر انشاء مسار البيانات %s" msgid "Can't create sketch" msgstr "تعذر انشاء المشروع" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "تعذر تنزيل المكتبة" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "تعذر ايجاد التبعيات للمنصة %s" @@ -311,10 +296,6 @@ msgstr "تعذر ايجاد التبعيات للمنصة %s" msgid "Can't open sketch" msgstr "تعذر فتح المشروع" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "تعذر وضع عدة قيم في المفتاح %v" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "نعذر تحديث المشروع" @@ -323,27 +304,23 @@ msgstr "نعذر تحديث المشروع" msgid "Can't use the following flags together: %s" msgstr "لا يمكن استخدام العلامات التالية مع بعضها البعض : %s " -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "تعذر كتابة ملف التهيئة : %v" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "تعذر كتابة سجل مصحح الاخطاء : %s" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "تعذر انشاء مجلد لل \"build cache\"" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "تعذر انشاء مسار البناء" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "تعذر انشاء مسار ملف التهيئة : %v" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "تعذر انشاء ملف التهيئة : %v" @@ -355,18 +332,24 @@ msgstr "تعذر انشاء مسار مؤقت" msgid "Cannot create temp file" msgstr "تعذر انشاء ملف temp" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "تعذر حذف المفتاح %[1]s:%[2]v" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "تعذر تشغيل اداة debug" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "تعذر ايجاد المسار المطلق : %v" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "تعذر تثبيت المنصة" @@ -375,23 +358,24 @@ msgstr "تعذر تثبيت المنصة" msgid "Cannot install tool %s" msgstr "تعذر تثبيت الاداة %s" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "تعذر اجراء اعادة تشغيل المنفذ : %s" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "تعذر تحديث المنصة" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" -msgstr "تعذر كتابة الملف %[1]s : %[2]v" - -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "الفئة : %s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "التحقق من حالة التبعيات (dependencies) للمكتبة المختارة" @@ -405,15 +389,15 @@ msgstr "" "المجموع الاختباري (Checksum) لا يتطابق مع المجموع الاختباري (checksum) " "الموجود في package.json " -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "المجموع الاختباري (Checksum) :" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "تنظيف cache" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "قائمة يفصل بين محتوياتها فاصلة تحوي عناوين URL الاضافية لمدير اللوحات " @@ -424,19 +408,19 @@ msgid "" "a change." msgstr "الامر يبقى قيد التشغيل و يطبع قائمة للوحات المتصلة عندما يوجد تغيير" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "المشروع المترجم لم يتم ايجاده في %s" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "يترجم مشاريع الاردوينو" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "يتم ترجمة النواة" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "يتم ترجمة المكتبات" @@ -444,25 +428,25 @@ msgstr "يتم ترجمة المكتبات" msgid "Compiling library \"%[1]s\"" msgstr "يتم ترجمة المكتبة \"%[1]s\"" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "ترجمة الشيفرة البرمجية..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "ملف التهيئة موجود مسبقا , استخدم --overwrite للتخلص من الملف الموجود مسبقا" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "تمت كتابة ملف التهيئة في : %s" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "اعدادات الضبط ل %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -476,23 +460,23 @@ msgstr "جار تهيئة المنصة" msgid "Configuring tool." msgstr "جار تهيئة الاداة" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "متصل" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." -msgstr "متصل الى %s ! اضغط CTRL-C للخروج" +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "النواة" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "تعذر الاتصال بواسطة HTTP" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "تعذر انشاء فهرس داخل المسار" @@ -504,23 +488,23 @@ msgstr "تعذر القيام بـ deeply cache لــ core build : %[1]s" msgid "Couldn't determine program size" msgstr "تعذر معرفة حجم البرنامج" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "تعذر ايجاد المسار الحالي %v" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "انشاء مشروع جديد" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "انشاء و طباعة اعدادات البروفايل من البناء (build)" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "انشاء ملف zip يحوي كل ملفات المشروع" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -528,7 +512,7 @@ msgstr "" "انشاء او تحديث ملف الضبط في مسار البيانات او في مسار مخصص مع اعدادات التهيئة" " الحالية" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -536,16 +520,16 @@ msgstr "" "في الوقت الحالي , بروفايلات البناء (Build Profiles) تدعم حصرا المكتبات " "المتوافرة في مدير المكتبات للاردوينو (Arduino Library Manager)" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "مهملة (غير موصى باستخدامها)" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "Daemon يقوم بالاستماع على %s : %s" @@ -558,51 +542,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "تصحيح اخطاء مشاريع الاردوينو (يفتح هذا الامر جلسة gdb تفاعلية)" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "مترجم التصحيح على سبيل المثال : %s" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "تصحيح الاخطاء (Debugging) غير مدعوم للوحة %s" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "إفتراضي" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "تم تحديد FQBN الافتراضي الى :" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "تم تحديد المنفذ الافتراضي الى :" -#: internal/cli/cache/clean.go:30 +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" +msgstr "" + +#: internal/cli/cache/clean.go:31 msgid "Delete Boards/Library Manager download cache." msgstr "حذف كاش التحميلات (download cache) الخاص بمدير اللوحات/المكتبات" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -"حذف محتويات مجلد `directories.downloads` حيث يتم تخزين ملفات الارشيف مؤقتا " -"اثناء تثبيت المكتبات و منصات اللوحات" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "حذف مفتاح الاعدادات و كل مفاتيحه الفرعية" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "تبعيات : %s" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "الوصف" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "الكشف عن المكتبات المستخدمة ..." @@ -611,11 +597,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "تكتشف و تعرض قائمة اللوحات المتصلة الى هذا الكومبيوتر" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "المسار الذي يحوي الملفات الثنائية للتصحيح" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "المجلد الذي يحوي الملفات الثنائية (binaries) التي سيتم رفعها" @@ -631,11 +617,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "الغاء تفعيل وصف الاكتمال في واجهات الاوامر التي تدعم ذلك" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "قطع الاتصال" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "يعرض فقط اتصالات gRPC التي تم اعطاؤها" @@ -651,22 +637,22 @@ msgstr "لا تكتب فوق المكتبات المثبتة مسبقا" msgid "Do not overwrite already installed platforms." msgstr "لا تكتب فوق المنصات المثبتة مسبقا" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "لا تقم بالرفع , فقط قم بتسجيل الاحداث" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" "عدم انهاء عمليات daemon في حال تم انهاء العملية الام (Do not terminate " "daemon process if the parent process dies)" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "يتم تنزيل %s" @@ -674,16 +660,17 @@ msgstr "يتم تنزيل %s" msgid "Downloading index signature: %s" msgstr "جار تنزيل فهرس التوقيعات %s" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "جار تنزيل الفهرس : %s" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "جار تحميل المكتبة %s" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "جار تنزيل الاداة الناقصة" @@ -691,11 +678,11 @@ msgstr "جار تنزيل الاداة الناقصة" msgid "Downloading packages" msgstr "جار تنزيل الحزم" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "جار تحميل المنصة %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "جار تحميل الاداة" @@ -707,7 +694,7 @@ msgstr "يقوم بتنزيل نواة او اكثر و ادواتها التا msgid "Downloads one or more libraries without installing them." msgstr "يقوم بتنزيل مكتبة او اكثر بدون تثبيتها" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "تفعيل تسجيل تصحيح الاخطاء لمكالمات gRPC " @@ -720,7 +707,7 @@ msgid "Enter git url for libraries hosted on repositories" msgstr "" "ادخل عنوان git URL الخاص بالمكتبات المستضافة على المستودعات (repositories)" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" "خطأ اثناء اضافة الملف لارشيف المشروع (Error adding file to sketch archive)" @@ -729,59 +716,63 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "خطا اثناء ارشفة built core (caching) في %[1]s : %[2]s" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "خطا اثناء ارشفة :%v" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" "خطا اثناء حساب مسار الملف النسبي (Error calculating relative file path)" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "خطأ اثناء تنظيف الكاش : %v" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "تعذر تحويل المسار الى مطلق : %v" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "خطا اثناء نسخ ملف الخرج %s" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "خطا اثناء انشاء النسخة %v" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "خطا اثناء انشاء مسار الخرج" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "خطا اثناء انشاء ارشيف المشروع" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "خطأ اثناء انشاء المشروع : %v" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "خطا اثناء البحث عن اللوحات : %v" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "خطا اثناء تحميل %[1]s : %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "خطأ اثناء تحميل %s" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "خطأ اثناء تحميل الفهرس '%s'" @@ -789,44 +780,40 @@ msgstr "خطأ اثناء تحميل الفهرس '%s'" msgid "Error downloading index signature '%s'" msgstr "خطأ اثناء تحميل توقيع الفهرس : '%s'" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "خطأ اثناء تحميل المكتبة %s" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "خطأ اثناء تنزيل المنصة %s" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "خطا اثناء تنزيل الاداة %s" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "خطا اثناء التصحيح : %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "خطا اثناء اكتشاف FBQN : %v" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "خطأ اثناء القيام بYAML econding للخرج : %v" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "خطأ اثناء بناء : %v" @@ -834,11 +821,11 @@ msgstr "خطأ اثناء بناء : %v" msgid "Error during install: %v" msgstr "خطأ اثناء تثبيت : %v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "خطأ اثناء الغاء تثبيت : %v" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "خطا اثناء تطوير : %v" @@ -847,23 +834,23 @@ msgstr "خطا اثناء تطوير : %v" msgid "Error extracting %s" msgstr "خطأ اثناء استخراج %s" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "خطا اثناء البحث عن build artifacts" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "خطأ اثناء الحصول على معلومات التصحيح %v" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "خطا اثناء جلب المسار المطلق لارشيف المشروع" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "خطأ اثناء الحصول على معلومات اللوحة %v" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "خطأ اثناء الحصول على المسار الحالي من اجل قاعدة بيانات الترجمة %s" @@ -873,63 +860,63 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "خطأ اثناء الحصول على المعلومات للمكتبة %s" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "خطا اثناء جلب بيانات المكتبة : %v" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "خطأ اثناء جلب البيانات الوصفية (metadata) للمنفذ : %v" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" "خطأ اثناء الحصول على بيانات اعدادات المنفذ (port settings details) : %s" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "تعذر الحصول على مدخلات المستخدم" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "تعذر تهيئة مثال : %v" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "خطأ اثناء تثبيت %v:%s" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "خطأ اثناء تثبيت مكتبة GIT : %v" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "خطأ اثناء تثبيت مكتبة ZIP : %v" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "خطأ اثناء تثبيت المكتبة %s" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "خطأ اثناء تثبيت المنصة %s" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "خطأ اثناء تثبيت الاداة %s" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "خطا اثناء انشاء قائمة باللوحات : %v" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "تعذر احصاء المكتبات : %v" @@ -941,8 +928,8 @@ msgstr "خطأ اثناء انشاء قائمة تحوي جميع المنصات msgid "Error loading hardware platform" msgstr "خطا اثناء تحميل منصة الهاردوير" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "خطأ اثناء تحميل الفهرس %s" @@ -950,27 +937,23 @@ msgstr "خطأ اثناء تحميل الفهرس %s" msgid "Error opening %s" msgstr "خطأ اثناء فتح %s" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "تعذر فتح الملف الذي يحوي سجلات التصحيح (debug logging file) : %s" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "خطا اثناء فتح الكود المصدر الذي يتجاوز ملف البيانات : %v" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "تعذر تقطيع علامة show-properties-- : %v" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "خطا اثناء قراءة مسار البناء" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "خطا اثناء قراءة ملف التهيئة : %v" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "خطا اثناء قراءة ملفات المشروع" @@ -997,41 +980,45 @@ msgid "Error saving downloaded index signature" msgstr "" "خطأ اثناء حفظ توقيع الفهرس الذي تم تحميله (downloaded index signature)" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "خطا اثناء البحث عن اللوحات : %v" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "خطا اثناء البحث عن مكتبات : %v" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "خطأ اثناء البحث عن المنصة : %v" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" "تعذر القيام بسلسلة قاعدة بيانات الترجمة (Error serializing compilation " "database) : %s" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "تعذر بدء الاكتشاف : %v" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "خطا اثناء الغاء تثبيت %[1]s: %[2]v" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "خطا اثناء تحديث فهرس المكتبات : %v" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "تعذر ترقية المكتبات" @@ -1044,7 +1031,7 @@ msgstr "خطا اثناء تطوير المنصة : %s" msgid "Error verifying signature" msgstr "تعذر التحقق من التوقيع" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "تعذر العثور على المكتبات التي ضُمِّنَت (included) من قبل : %[1]s" @@ -1055,23 +1042,27 @@ msgstr "تعذر العثور على المكتبات التي ضُمِّنَت msgid "Error while determining sketch size: %s" msgstr "خطأ اثناء تحديد حجم المشروع : %s" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "خطأ اثناء كتابة قاعدة بيانات الترجمة (compilation database) : %s" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "خطأ : وصف الامر غير مدعوم من قبل %v" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "خطأ : كود مصدري خاطئ سيقوم بالكتابة فوق ملف البيانات : %v" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "الحدث" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "الامثلة للمكتبة %s" @@ -1079,75 +1070,75 @@ msgstr "الامثلة للمكتبة %s" msgid "Examples:" msgstr "الامثلة : " -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "الملف التنفيذي الذي سيتم تصحيحه (Executable to debug)" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "توقعت وجود المشروع المترجم في المسار %s . لكنني وجدت ملفا بدلا عن ذلك" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "فشل محي الشريحة" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "فشل المبرمجة" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "فشل حرق محمل الاقلاع" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "فشل انشاء مسار البيانات" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "فشل انشاء مسار التنزيلات" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s منفذ غير صالح" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s اسم غير معروف" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "تعذر الاستماع على منفذ TCP : %[1]s . خطأ غير متوقع %[2]v " -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "تعذر الاستماع على منفذ TCP : %s . العناوين قيد الاستخدام مسبقا" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "تعذر الرفع" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "الملف : " -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "تشفير البرنامج الثابت او توقيعه يحتاج تحديد الخصائص التالية" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "اول رسالة يجب ان تحوي على طلب التصحيح و ليس البيانات" @@ -1186,11 +1177,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "اسم اللوحة المؤهلة بالكامل FQBN مثال : arduino:avr:uno" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "سيرفر GDB '%s' غير مدعوم" @@ -1207,10 +1198,14 @@ msgstr "يولد سكربت الاكمال" msgid "Generates completion scripts for various shells" msgstr "يولد سكربتات اكمال من اجل مختلف ال shells" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "يتم توليد النماذج الاولية للتوابع :" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "علامات عامة :" @@ -1227,21 +1222,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "المتغيرات العامة تستخدم %[1]s بايت من الذاكرة المتغيرة." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "خصائص التعرُّف" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "اذا تم تحديده فان مجموعة الكود الثنائي الذي تم بناؤه سيتم تصديره الى مجلد " @@ -1259,7 +1254,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "يتضمن الاحصاء المكتبات المدمجة (بالمنصات و IDE)" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "يُضمِّن في الارشيف المجلد %s" @@ -1267,30 +1262,30 @@ msgstr "يُضمِّن في الارشيف المجلد %s" msgid "Install libraries in the IDE-Builtin directory" msgstr "تثبيت المكتبات داخل مجلد IDE-Builtin" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "تم التنصيب" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "تم تثبيت %s" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "جار تثبيت %s" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "جار تثبيت المكتبة %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "جار تثبيت المنصة %s" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "جار تثبيت الاداة %s" @@ -1304,7 +1299,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "يقوم بتثبيت مكتبة او اكثر تم تحديدها مسبقا على النظام" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "خطأ داخلي في الكاش (Internal error in cache)" @@ -1312,16 +1307,11 @@ msgstr "خطأ داخلي في الكاش (Internal error in cache)" msgid "Invalid '%[1]s' property: %[2]s" msgstr "غير صالح '‍%[1]s' : الصفة : %[2]s" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "نداء خاطئ : المفروض عرض مساعدة لكنه غير متوفر الا في الوضع النصي" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FBQN غير صالح" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "عنوان TCP غير صالح لان المنفذ غير موجود" @@ -1329,7 +1319,7 @@ msgstr "عنوان TCP غير صالح لان المنفذ غير موجود" msgid "Invalid URL" msgstr "URL غير صالح" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "URL الاضافي غير صالح : %v" @@ -1337,13 +1327,13 @@ msgstr "URL الاضافي غير صالح : %v" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "ارشيف غير صالح : الملف %{1}s غير موجود في الارشيف %{2}s" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "تم اعطاء وسيط غير صالح %v" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "خصائص البناء غير صالحة" @@ -1355,6 +1345,10 @@ msgstr "data size regexp غير صالح : %s" msgid "Invalid eeprom size regexp: %s" msgstr "eeprom size regexp غير صالح %s" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "نسخة خاطئة " @@ -1367,19 +1361,23 @@ msgstr "عنصر عير صالح %s" msgid "Invalid library" msgstr "مكتبة غير صالحة" -#: internal/cli/configuration/network.go:63 +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" +msgstr "" + +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy غير صالح '%[1]s': %[2]s" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" -msgstr "اعداد خاطئ لـ log-level-- : %s" - -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "صيغة اخراج خاطئة : %s" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "فهرس الحزمة غير صالح في %s" @@ -1387,7 +1385,7 @@ msgstr "فهرس الحزمة غير صالح في %s" msgid "Invalid parameter %s: version not allowed" msgstr "معطيات خاطئة %s: النسخة غير مسموح بها" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "قيمة pid غير صالحة : '%s'" @@ -1395,7 +1393,7 @@ msgstr "قيمة pid غير صالحة : '%s'" msgid "Invalid profile" msgstr "ملف تعريف غير صالح" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "وصفة غير صالحة ضمن platform.txt" @@ -1403,19 +1401,15 @@ msgstr "وصفة غير صالحة ضمن platform.txt" msgid "Invalid size regexp: %s" msgstr "size regexp غير صالح : %s" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "مهلة غير صالحة" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "نسخة غير صالحة" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "قيمة vid غير صالحة : '%s'" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1423,20 +1417,20 @@ msgstr "" "يقوم بانتاج قاعدة الترجمة بدون القيام بالترجمة فعليا . سيتم تجاوز كل اوامر " "البناء ما عدا pre* hooks." -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "المكتبة" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "اسم المكتبة" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "الأخير" @@ -1444,21 +1438,21 @@ msgstr "الأخير" msgid "Library %[1]s has been declared precompiled:" msgstr "المكتبة %[1]s تم تحديدها بانها precompiled" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "تم تثبيت المكتبة %[1]s ولكن بنسخة اخرى : %[2]s" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "المكتبة %s مثبتة باخر اصدار مسبقا" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "المكتبة %s غير مثبتة" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "تعذر ايجاد المكتبة %s" @@ -1466,7 +1460,7 @@ msgstr "تعذر ايجاد المكتبة %s" msgid "Library '%s' not found" msgstr "المكتبة '%s' غير موجودة" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1477,19 +1471,20 @@ msgstr "" msgid "Library install failed" msgstr "فشل تثبيت المكتبة" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "المكتبة مثبتة" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "رخصة" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "جار ربط كل شيء مع بعضه" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1497,7 +1492,7 @@ msgstr "" "انشاء قائمة اللوحات التي منصة دعمها مثبتة. تستطيع البحث \n" "عن لوحة محددة اذا قمت بتحديد اسم اللوحة" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "اظهر كل اللوحات المعروفة و FBQN الخاص بها" @@ -1505,7 +1500,7 @@ msgstr "اظهر كل اللوحات المعروفة و FBQN الخاص بها" msgid "List connected boards." msgstr "اعرض كل اللوحات المتصلة" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1513,7 +1508,7 @@ msgstr "" "اعرض كل خيارات اللوحات مفصولة عن بعضها بفواصل . او يمكن استخدامها عدة مرات " "من اجل عدة خيارات" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1529,20 +1524,20 @@ msgstr "انشاء قائمة بالمكتبات القابلة للتحديث" msgid "List updatable platforms." msgstr "انشاء قائمة بالمنصات القابلة للتحديث" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "انشاء قائمة بجميع اللوحات المتصلة" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "يحصي النوى و المكتبات التي يمكن ترقيتها" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "جار تحميل ملف الفهرس : %v" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "الموقع" @@ -1550,21 +1545,27 @@ msgstr "الموقع" msgid "Low memory available, stability problems may occur." msgstr "ذاكرة منخفضة متبقية، مشاكل عدم إستقرار قد تحدث." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "القائم بالصيانة : %s" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" "الحد الاقصى لزمن البحث عن المنفذ : على سبيل المثال 30 ثانية , 1 دقيقة " -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "الرسائل بهذه المرحلة و ما فوق سيتم تسجيلها . المراحل الصالحة هي : %s" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' مفقود من المكتبة في %[2]s" @@ -1588,7 +1589,7 @@ msgstr "يوجد بروتوكول منفذ مفقود" msgid "Missing programmer" msgstr "المبرمج مفقود" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1604,49 +1605,49 @@ msgstr "مسار السكتش مفقود" msgid "Monitor '%s' not found" msgstr "المراقب '%s' غير موجود" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "اعدادات منفذ المراقبة " -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "العثور على عدة مكتبات لـ\"%[1]s\"" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "الاسم" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "الاسم\"%s\"" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "منفذ التحميل الجديد: %[1]s(%[2]s)" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "لا يوجد اية لوحات" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" -msgstr "لم يتم تحديد منفذ افتراضي او FQBN " +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" +msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "لا توجد اية مكتبات" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "لا يوجد مكتبات مثبتة" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "لا توجد مكتبات تطابق بحثك" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1654,7 +1655,7 @@ msgstr "" "لا توجد مكتبات متطابقة مع بحثك\n" "هل تقصد...\n" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "لا يوجد تحديثات متاحة للمكتبات" @@ -1662,7 +1663,7 @@ msgstr "لا يوجد تحديثات متاحة للمكتبات" msgid "No monitor available for the port protocol %s" msgstr "لا يوجد مراقب متاح لبرتوكول المنفذ %s" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "لا يوجد مكتبات او منصات قديمة" @@ -1670,11 +1671,11 @@ msgstr "لا يوجد مكتبات او منصات قديمة" msgid "No platforms installed." msgstr "لا توجد منصات مثبتة" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "ﻻ يوجد منصات تطابق بحثك" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "تعذر ايجاد منفذ رفع , باستخدام %s كرجوع احتياطي fallback" @@ -1686,19 +1687,19 @@ msgstr "تعذر ايجاد حل تبعيات صالح" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "الذاكرة غير كافية؛ راجع %[1]s لنصائح حول استخدامها بكفائة" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "غير مستخدم : %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "نظام التشغيل:" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "لوحة أردوينو الرسمية:" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1706,46 +1707,46 @@ msgstr "" "ازالة تفاصيل المكتبة في كل النسخ عدا اخر نسخة (يعطي اخراج json مضغوط بشكل " "اكبر)" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "فتح منفذ تواصل مع اللوحة" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "اختيار:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "اختياري، يمكن أن يكون: %s. يُستخدم لإخبار ال gcc أي مستوي تحذير يَستخدِم (-W" " flag)" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "اختياري , يقوم بتنظيف مجلد البناء ولا يستخدم اي بناء مخزن مؤقتا" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "اختياري , يحسن مخرجات المترجم خلال تصحيح الاخطاء بدلا عن الاصدار" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "اختياري , يكبح كل خرج" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "اختياري، يُفعل الوضع المفصل." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "اختياري , مسار لملف json. الذي يحتوي على البدائل من الكود المصدري للمشروع" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1753,15 +1754,15 @@ msgstr "" "تجاوز احد خصائص البناء باستخدام قيمة خاصة . يمكن استخدامه عدة مرات من اجل " "عدة خصائص" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "الكتابة فوق ملف التهيئة الموجود سابقا" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "يكتب فوق ارشيف موجود سابقا" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "يكتب فوق ملف ino. موجود مسبقا" @@ -1770,35 +1771,35 @@ msgstr "يكتب فوق ملف ino. موجود مسبقا" msgid "PACKAGER" msgstr "المُغَلِّف" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "URL الخاص بالحزمة" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "حافظ الحزمة :" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "اسم الحزمة :" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "المساعدة الخاصة بالحزمة اونلاين" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "موقع الحزمة على الويب" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "المقطع : %s" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "المسار" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1806,7 +1807,7 @@ msgstr "" "المسار الى مجموعة من المكتبات . يمكن استخدامه عدة مرات او من اجل عدة مدخلات " "حيث يتم فصلها باستخدام فاصلة" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1814,11 +1815,11 @@ msgstr "" "المسار الى المجلد الاصلي لمكتبة واحدة . يمكن استخدامه عدة مرات او من اجل عدة" " مدخلات حيث يتم فصلها باستخدام فاصلة" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "مسار للملف حيث تُكتب السجلات" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1826,11 +1827,12 @@ msgstr "" "المسار الذي يتم فيه حفظ الملفات التي تمت ترجمتها , اذا تم ازالته , سيتم " "انشاء مجلد داخل المسار المؤقت الافتراضي في نظام التشغيل" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "جار تفعيل 1200-bps touch reset على المنفذ التسلسلي %s" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "المنصة %s مثبتة سابقا" @@ -1838,7 +1840,7 @@ msgstr "المنصة %s مثبتة سابقا" msgid "Platform %s installed" msgstr "تم تثبيت المنصة: %s" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1858,39 +1860,39 @@ msgstr "المنصة '%s' هي باخر اصدار مسبقا" msgid "Platform '%s' not found" msgstr "المنصة '%s' غير موجودة" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "Platform ID" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "id المنصة غير صحيح" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "عنوان url للمنصة :" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "معمارية المنصة :" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "فئة المنصة :" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "المجموع الاختباري للمنصة :" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "اسم ملف المنصة:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "اسم المنصة:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "حجم المنصة (بالبايت) :" @@ -1910,11 +1912,11 @@ msgstr "" "الرجاء تحديد FQBN . تعذر التعرف على اللوحة على المنفذ %[1]s ذات البروتوكول " "%[2]s " -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "منفذ" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "المنفذ %v مغلق" @@ -1927,23 +1929,27 @@ msgstr "خطا في مراقب المنفذ" msgid "Precompiled library in \"%[1]s\" not found" msgstr "تعذر ايجاد المكتبة التي تمت ترجمتها مسبقا في \"%[1]s\"" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "طباعة تفاصيل عن لوحة." -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "طباعة الكود قبل معالجته الى stdout بدلا من الترجمة " -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "طباعة السجلات على الخرج الافتراضي" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "طباعة اعدادات الضبط الحالية." -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "طباعة اعدادات الضبط الحالية." @@ -1955,15 +1961,15 @@ msgstr "تعذر ايجاد الملف الشخصي '%s'" msgid "Programmer '%s' not found" msgstr "تعذر ايجاد المبرمجة '%s'" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "اسم المبرمجة" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "المبرمجة التي سيتم استخدامها , مثال : atmel_ice" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "المبرمجات : " @@ -1971,19 +1977,19 @@ msgstr "المبرمجات : " msgid "Property '%s' is undefined" msgstr "الخاصية '%s' غير معرفة" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "البروتوكول" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "يشمل : %s" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "يزيل قيمة او اكثر من اعداد" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "تبديل %[1]s ب %[2]s" @@ -1991,23 +1997,17 @@ msgstr "تبديل %[1]s ب %[2]s" msgid "Replacing platform %[1]s with %[2]s" msgstr "استبدال المنصة %[1]s بـ %[2]s" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "الادوات المطلوبة :" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "التشغيل كناطر على المنفذ : %s" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "التشغيل ضمن الوضع الصامت , يظهر فقط شاشة الادخال و الاخراج " -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." -msgstr "يعمل كناطر من اجل تهيئة النوى و المكتبات و يتم مرة واحدة" +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." +msgstr "" #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." @@ -2018,35 +2018,35 @@ msgstr "جار تشغيل البناء العادي من النواة" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "حفظ ادوات البناء ضمن هذا المجلد" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "البحث عن لوحة ضمن مدير اللوحات باستخدام كلمات مفتاحية" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "البحث عن لوحة ضمن مدير اللوحات" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "البحث عن نواة ضمن مدير اللوحات باستخدام كلمات مفتاحية" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "البحث عن نواة ضمن مدير اللوحات" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2093,67 +2093,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "الجملة : %s" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "استجابة السيرفر : %s" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "تحديد قيمة للاعداد" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -"تحديد القيم الافتراضية للمنفذ و FQBN . اذا لم يتم تحديد منفذ او FQBN , سيتم " -"اظهار المنفذ و FQBN الافتراضي الحالي" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "تحديد مكان حفظ ملف الضبط" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "اعداد" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" -msgstr "مفتاح الاعداد غير موجود" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "اظهار كل النوى المتوفرة" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "اظهار كل اعدادات منفذ التواصل" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "اظهار اللوحات التي تم تحديدها كمخفي في المنصة" @@ -2165,39 +2163,39 @@ msgstr "" "يظهر خصائص البناء . الخصائص متوسعة , استخدم \n" "\"show properties=unexpanded--\" اذا اردتها كما كانت معرفة بالظبط" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "اظهار تفاصيل اللوحة كاملة" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" "اظهار معلومات حول لوحة, خصوصا اذا كانت اللوحة تملك خيار لتكون محددة في FQBN " -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "اظهار اسم المكتبة فقط" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "عرض قائمة المبرمجات المتاحة" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "اظهار البيانات الوصفية لجلسة التصحيح بدلا من بدء المصحح" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "اظهار النوى و المكتبات القديم بعد تحديث الفهرس" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "عرض قائمة المكتبات المثبتة" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2214,11 +2212,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "يعرض قائمة من المنصات المثبتة" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "يظهر قائمة الامثلة الخاصة بالمكتبات" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2235,21 +2233,21 @@ msgstr "عرض رقم نسخة Arduino CLI المثبتة على نظامك" msgid "Shows version number of Arduino CLI." msgstr "عرض رقم نسخة Arduino CLI" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "الحجم (بالبايت) :" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "لا يمكن وضع المشروع ضمن مسار البناء . الرجاء تحديد مسار بناء مختلف" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "تم انشاء المشروع في : %s" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "ملف التعريف للمشروع الذي سيتم استخدامه" @@ -2278,7 +2276,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "تخطي ربط البرنامج النهائي القابل للتنفيذ" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "جار تخطي 1200bps touch reset لانه لم يتم تحديد منفذ تسلسلي" @@ -2290,7 +2288,7 @@ msgstr "جار تخطي انشاء الارشيف لـ : %[1]s" msgid "Skipping compile of: %[1]s" msgstr "جار تخطي ترجمة : %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "جار تخطي الكشف عن توابع المكتبة %[1]s التي تمت ترجمتها مسبقا" @@ -2311,24 +2309,28 @@ msgstr "جار تخطي ضبط الاداة" msgid "Skipping: %[1]s" msgstr "جار تخطي : %[1]s" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "يمكن تحديث بعض الفهارس" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" "فشلت بعض الترقيات , الرجاء الاطلاع على الخرج من اجل المزيد من المعلومات" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "منفذ TCP  الذي سيستمع اليه الناطر" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سيتم استخدام الملف الافتراضي)" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "يجب استخدام العلامة debug-file-- مع debug--" @@ -2340,7 +2342,11 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2348,7 +2354,7 @@ msgstr "" "المفتاح '%[1]v' ليس قائمة من الاشياء , لا يمكن الاضافة اليه\n" "ربما يمكنك استخدام %[2]s" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2360,7 +2366,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "يوجد عدة نسخ مثبتة من المكتبة %s" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2368,7 +2374,7 @@ msgstr "" "اسم مفتاح التشفير المخصص الذي سيستخدم لتشفير ملف ثنائي اثناء الترجمة . " "يستخدم فقط من قبل المنصات التي تدعم ذلك" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2376,11 +2382,11 @@ msgstr "" "اسم مفتاح التوقيع المخصص الذي سيستخدم لتوقيع ملف ثنائي اثناء الترجمة . " "يستخدم فقط من قبل المنصات التي تدعم ذلك" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "تنسيق الخرج الخاص بالسجلات , يمكن ان يكون : %s" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2403,7 +2409,7 @@ msgstr "" "بواسطة مسافة , اذا لم يتم تحديد اي مدخلات للامر , سيقوم بتحديث كل المكتبات " "التي لديها تحديث متاح" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2411,7 +2417,7 @@ msgstr "" "هذا الامر يظهر قائمة النوى و/أو المكتبات المثبتة التي يمكن ترقيتها. اذا لم " "يوجد اي شيء يحتاج للتحديث فالخرج سيكون فارغا" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2424,39 +2430,39 @@ msgstr "الاداة %s مثبتة مسبقا" msgid "Tool %s uninstalled" msgstr "تم الغاء تثبيت الاداة %s" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "مجموعة الادوات '%s' غير مدعومة" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "مسار مجموعة الادوات" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "بادئة مجموعة الادوات " -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "نوع مجموعة الادوات" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "جرب تشغيل %s" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "يفعل الوضع المطول" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "نوع" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "الأنواع: %s" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "URL:" @@ -2466,33 +2472,33 @@ msgid "" msgstr "" "تعذر تخزين نواة البناء مؤقتا , الرجاء اخبار المحافظين %[1]s لمتابعة %[2]s" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "تعذر ايجاد مجلد Documents : %v" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "تعذر ايجاد مجلد Local App Data : %v" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "تعذر ايجاد user home dir : %v" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "تعذر فتح ملف من اجل انشاء سجلات : %s" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "تعذر تقطيع عنوان URL" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "إلغاء تثبيت %s" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "إلغاء تثبيت %s، الأداة لم تعد مطلوبة" @@ -2507,7 +2513,7 @@ msgstr "يلغي تثبيت نواة او اكثر مع ادواتها و توا msgid "Uninstalls one or more libraries." msgstr "يلغي تثبيت مكتبة او اكثر " -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "غير معروف" @@ -2515,27 +2521,27 @@ msgstr "غير معروف" msgid "Unknown FQBN" msgstr "FQBN غير معروف" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "يحدث فهرس المكتبات و النوى" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "يحجث فهرس المكتبات و النوى الى اخر نسخة" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "يحدث فهرس النوى الى اخر نسخة" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "يحدث فهرس النوى" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "يحدث فهرس المكتبات الى اخر نسخة" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "يحدث فهرس المكتبات" @@ -2543,11 +2549,11 @@ msgstr "يحدث فهرس المكتبات" msgid "Upgrade doesn't accept parameters with version" msgstr "الترقية لا تقبل مدخلات مع نسخة" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "يحدث المكتبات و النوى المثبتة الى اخر نسخة" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "يحدث المكتبات و النوى المثبتة" @@ -2559,11 +2565,11 @@ msgstr "يحدث المكتبات المثبتة" msgid "Upgrades one or all installed platforms to the latest version." msgstr "يحدث منصة او كل المنصات الى اخر نسخة" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "يرفع مشاريع الاردوينو" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "يرفع مشاريع الاردوينو , و لا يقوم بترجمة المشروع قبل الرفع مطلقا !" @@ -2572,7 +2578,7 @@ msgstr "يرفع مشاريع الاردوينو , و لا يقوم بترجمة msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "عنوان منفذ الرفع : مثال , COM3 او /dev/ttyACM2" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "تم ايجاد منفذ الرفع في %s" @@ -2580,7 +2586,7 @@ msgstr "تم ايجاد منفذ الرفع في %s" msgid "Upload port protocol, e.g: serial" msgstr "بروتوكول منفذ الرفع , مثال : serial \"تسلسلي\"" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "يرفع الملف الثنائي بعد الترجمة" @@ -2592,13 +2598,13 @@ msgstr "يرفع محمل الاقلاع على اللوحة باستخدام م msgid "Upload the bootloader." msgstr "يرفع محمل الاقلاع" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" "جار الرفع الى لوحة مخصصة باستخدام بروتوكول %s الذي يتطلب المعلومات التالية" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2614,27 +2620,27 @@ msgstr "الاستخدام" msgid "Use %s for more information about a command." msgstr "استخدم %s من اجل المزيد من المعلومات حول امر معين" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "المكتبة المستخدمة" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "المنصة المستخدمة" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "مستخدم : %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل المجلد %[2]s" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "يتم استخدام توابع المكتبة التي تم تخزينها مؤقتا من اجل الملف : %[1]s" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام النواة '%[1]s' من منصة داخل الملف %[2]s " @@ -2664,25 +2670,25 @@ msgstr "استخدام الملف المترجم سابقا: %[1]s" msgid "VERSION" msgstr "النسخة" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "رقم النسخة" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "القيم" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "التاكد من الملف الثنائي الذي سيتم رفعه قبل الرفع" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "النسخة" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "النسخ : %s" @@ -2699,7 +2705,7 @@ msgstr "تحذير , تعذر تهيئة الاداة %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "تحذير : المشروع سيترجم باستخدام مكتبة خاصة او اكثر . " @@ -2711,35 +2717,31 @@ msgstr "" "تحذير: المكتبة %[1]s تعمل على معمارية %[2]s وقد لا تتوافق مع لوحتك الحالية " "التي تعمل على معمارية %[3]s." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "يتم انتظار منفذ الرفع (upload port) ... " -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "تحذير , اللوحة %[1]s لا تُعرّف الخاصة %[2]s . تم وضع التحديد الالي لـ %[3]s" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "الموقع : %s" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "جار كتابة اعدادات الضبط الحالية الى ملف الضبط" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "تكتب الاعدادات الضبط الحالية في ملف التهيئة داخل مجلد البيانات" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "جار كتابة ملف التهيئة : %v" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "لا يمكنك استخدام flag %s اثناء الترجمة باستخدام بروفايل (while compiling " @@ -2757,11 +2759,11 @@ msgstr "الارشيف غير صالح : يوجد عدة ملفات داخل م msgid "archive is not valid: no files found in zip file top level" msgstr "الارشيف غير صالح : لا يوجد اي ملفات داخل ملف zip في المرحلة العليا" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "مسار الارشيف" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "نمط arduino-preprocessor مفقود" @@ -2769,43 +2771,35 @@ msgstr "نمط arduino-preprocessor مفقود" msgid "available only in text format" msgstr "متوفر في الوضع النصي حصرا" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "تعذر ايجاد الملف الثنائي (Binary file) داخل %s" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "اللوحة %s غير موجودة" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "اسم اللوحة" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "مجلد المكتبات المدمجة غير محدد" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "جار استدعاء %[1]s :%[2]w" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "تعذر العثور على اخر اصدار من %s" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "تعذر العثور على اخر اصدار من الاداة %s" @@ -2813,15 +2807,15 @@ msgstr "تعذر العثور على اخر اصدار من الاداة %s" msgid "can't find main Sketch file in %s" msgstr "تعذر ايحاد ملف المشروع الرئيسي داخل %s" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "تعذر ايجاد نمط للاكتشاف بواسطة id %s" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "المرشحون" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "تعذر تشغيل اداة الرفع : %s" @@ -2834,7 +2828,7 @@ msgstr "جار التاكد من اكتمال ملف الارشيف" msgid "cleaning build path" msgstr "جار تنظيف مسار البناء (build path)" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "الامر" @@ -2842,23 +2836,6 @@ msgstr "الامر" msgid "command '%[1]s' failed: %[2]s" msgstr "الامر '%[1]s' اخفق في : %[2]s" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "الامر اخفق : %s" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2870,19 +2847,27 @@ msgstr "" msgid "computing hash: %s" msgstr "جار حوسبة التلبيد \"hash\" : %s" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "جار نسخ المكتبة الى مجلد الوجهة" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "تعذر ايجاد ادوات صالحة للبناء (valid build artifact)" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "تعذر الكتابة فوقه" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "تعذر ازالة المكتبة القديمة" @@ -2910,7 +2895,7 @@ msgstr "" "قسم البيانات تخطى الحجم المتوفر في اللوحة (data section exceeds available " "space in board)" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "التبعية (dependency) '%s' غير متوفرة" @@ -2926,19 +2911,19 @@ msgstr "مجلد الوجهة موجودة مسبقا" msgid "directory doesn't exist: %s" msgstr "المجلد غير موجود : %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "عملية الكشف %[1]s لم تبدأ : %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "المستكشف %s غير موجود" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "تعذر تثبيت المستكشف %s" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "تعذر ايجاد اصدار المستكشف %s" @@ -2954,40 +2939,32 @@ msgstr "تنزيل اخر نسخة من Arduino SAMD core" msgid "downloaded" msgstr "تم تحميله" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "جار تنزيل الاداة %[1]s : %[2]s" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "معرف اللوحة خالي (empty board identifier)" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "خطا اثناء تحميل ملفات المشروع :" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "تعذر فتح %s" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "تعذر تقطيع القيمة : %v" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "تعذر تقطيع قيود النسخة" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" "خطأ اثناء معالجة الرد من السيرفر (error processing response from server)" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "خطا اثناء القيام باستعلامات مع Arduino Cloud Api" @@ -3003,7 +2980,7 @@ msgstr "جار استخراج الارشيف : %w" msgid "failed to compute hash of file \"%s\"" msgstr "تعذر حساب تلبيد \"hash\" ملف \"%s\"" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "تعذر تهيئة http client" @@ -3015,15 +2992,15 @@ msgstr "حجم الارشيف الذي تم جلبه يختلف عن الحجم msgid "files in archive must be placed in a subdirectory" msgstr "ملفات الارشيف يجب ان توضع في مسار فرعي" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "جار البحث عن المسار المطلق (absolute path) لـ %s" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "الاعلام" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "الوصلة الرمزية symlink التالية %s" @@ -3031,16 +3008,20 @@ msgstr "الوصلة الرمزية symlink التالية %s" msgid "for a specific version." msgstr "من اجل نسخة محددة" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "من اجل اخر نسخة" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "من اجل النسخة الحالية " +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "جار انتاج installation.id : %w" @@ -3065,19 +3046,19 @@ msgstr "جار جلب معلومات الارشيف : %s" msgid "getting archive path: %s" msgstr "جار جلب مسار الارشيف : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "جار الحصول على خصائص البناء للوحة %[1]s : %[2]s " -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع المستكشف من اجل المنصة %[1]s:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع الشاشة من اجل المنصة %[1]s:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع الاداة من اجل المنصة %[1]s:%[2]s" @@ -3085,7 +3066,7 @@ msgstr "جار الحصول على توابع الاداة من اجل المن msgid "install directory not set" msgstr "لم يتم تحديد مجلد التثبيت" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "جار تثبيت الاداة %[1]s : %[2]s" @@ -3097,51 +3078,43 @@ msgstr "جار تثبيت المنصة %[1]s : %[2]s" msgid "interactive terminal not supported for the '%s' output format" msgstr "الطرفية \"terminal \" التفاعلية لا تدعم تنسيق الخرج التالي %s" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" غير صالحة %s" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "رسالة 'add' غير صالحة : المنفذ غير موجود" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "رسالة 'remove' غير صالحة : المنفذ غير موجود" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "تنسيق المجموع الاختباري \"checksum\" غير صالح : %s" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "اعداد التهيئة غير صالح : %s" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "معمارية النواة الفارغة غير صالحة '%s'" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "معطى النواة الفارغة غير صالح" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "اسم النواة الفارغة غير صالح '%s'" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "مرجع النواة الفارغة غير صالح '%s'" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "نسخة النواة الفارغة غير صالحة : %s" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "اسم المكتبة الفارغة غير صالح " -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "نسخة المكتبة الفارغة غير صالحة : %s" @@ -3157,11 +3130,11 @@ msgstr "عنوان url لـ git غير صالح" msgid "invalid hash '%[1]s': %[2]s" msgstr "علامة تلبيد \"hash\" غير صالحة '%[1]s' : %[2]s" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "عنصر غير صالح %s" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "يوجد directive للمكتبة \"عبارة برمجية بداخل الكود المصدري\" غير صالح %s" @@ -3197,31 +3170,31 @@ msgstr "مسار غير صالح اثناء كتابة ملف inventory %[1]s ا msgid "invalid platform archive size: %s" msgstr "حجم ملف ارشيف المنصة غير صالح : %s" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "معرف المنصة غير صالح" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "عنوان url لفهرس المنصة غير صالح" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "مرجع الشاشة القابلة للوصل غير صالح : %s" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "قيمة الضبط الخاصة بالمنفذ غير صالحة : %s:%s" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "اعدادات الضبط للمنفذ غير صالحة" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "وصفة غير صالحة %[1]s : %[2]s" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3235,43 +3208,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "قيمة خاطئة '%[1]s' من اجل الخيار %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "مجلد النسخة خاطئ %s" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "نسخة خاطئة " -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "تعذر ايجاد المفتاح في الاعدادات" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "الكلمات المفتاحية" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3283,26 +3252,22 @@ msgstr "المكتبة %s مثبتة مسبقا" msgid "library not valid" msgstr "المكتبة غير صالحة" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "جار الاستماع للمنافذ التسلسلية" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "جار تحميل %[1]s:%[2]s" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "جار تحميل اللوحات : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "جار تحميل ملف json index %[1]s : %[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "جار تحميل المكتبة من %[1]s : %[2]s" @@ -3310,32 +3275,32 @@ msgstr "جار تحميل المكتبة من %[1]s : %[2]s" msgid "loading library.properties: %s" msgstr "جار تحميل خصائص المكتبة (library.properties) : %s" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "جار تحميل المنصة اصدار %s" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "جار تحميل platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "جار تحميل المنصات المطلوبة %s" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "جار تحميل الادوات المطلوبة %s" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "جار تحميل اصدار الاداة (tool release) في %s" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "جار البحث عن boards.txt داخل %s" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3343,7 +3308,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "الملف الرئيسي مفقود من المشروع : %s" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" مفقودة %s" @@ -3351,7 +3316,7 @@ msgstr "يوجد directive \"عبارة برمجية بداخل الكود ال msgid "missing checksum for: %s" msgstr "المجموع الاختباري (checksum) لـ %s مفقود" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "تعذر العثور على الحزمة %[1]s التي التي تشير اليها اللوحة %[2]s " @@ -3360,12 +3325,12 @@ msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "يوجد حزمة مفقودة من الفهرس %s , لا يمكن ضمان التحديثات المستقبلية بسبب ذلك" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة %[1]s : %[2]s التي التي تشير اليها اللوحة %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة اصدار (platform release) %[1]s : %[2]s التي التي تشير" @@ -3375,7 +3340,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "تعذر ايجاد اصدار المراقب : %s" @@ -3385,7 +3350,7 @@ msgstr "تعذر ايجاد اصدار المراقب : %s" msgid "moving extracted archive to destination dir: %s" msgstr "جار نقل الارشيف الذي تم استخراجه الى مجلد الوجهة : %s" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "تم ايجاد اكثر من build artifacts : '%[1]s' و '%[2]s'" @@ -3401,11 +3366,11 @@ msgstr "" "لا يوجد نسخة متوافقة من الاداة %[1]s من اجل نظام التشغيل الحالي , جرب " "التواصل مع %[2]s" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "لا يوجد نسخ محددة" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "لم يتم تحديد مجلد/ملف المشروع او البناء " @@ -3417,15 +3382,15 @@ msgstr "لا يوجد ملف او مجلد مشابه" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "لا يوجد مجلد اصلي في الارشيف , تم ايجاد %[1]s و %[2]s" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "لم يتم تحديد اي منفذ للرفع" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "تعذر ايجاد اي مشروع صالح في %[2]s : %[1]sمفقود" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "لا يوجد نسخة متوفرة لنظام التشغيل الحالي , جرب التواصل مع %s" @@ -3438,14 +3403,10 @@ msgstr "لا يعمل في الطرفية \"terminal\"" msgid "opening archive file: %s" msgstr "جار فتح ملف الارشيف : %s" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "جار فتح boards.txt" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "جار فتح منفذ عند 1200bps" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "جار فتح ملف التوقيع : %s" @@ -3454,18 +3415,18 @@ msgstr "جار فتح ملف التوقيع : %s" msgid "opening target file: %s" msgstr "جار فتح الملف الهدف : %s" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "الحزمة %sغير موجودة " -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "الحزمة '%s' غير موجودة" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "جار تقطيع FQBN : %s" @@ -3473,34 +3434,34 @@ msgstr "جار تقطيع FQBN : %s" msgid "parsing library_index.json: %s" msgstr "جار تقطيع ملف library_index.json : %s" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "المسار المحدد ليس مجلدا لمنصة : %s" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "تعذر ايجاد المنصة %[1]s في الحزمة %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "المنصة %s غير مثبتة" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "المنصة غير مثبتة" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "الرجاء استخدام build-property-- بدلا من ذلك" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "تم اضافة الكشف عن الاشياء القابلة للوصل مسبقا : %s" @@ -3508,19 +3469,19 @@ msgstr "تم اضافة الكشف عن الاشياء القابلة للوصل msgid "port" msgstr "المنفذ" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "تعذر ايجاد المنفذ : %[1]s %[2]s" +#: internal/cli/board/attach.go:34 +msgid "programmer" +msgstr "" + #: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "نسخة البروتوكول غير مدعومة : تم طلب %[1]d , فكان الرد %[2]d" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" -msgstr "نسخة البروتوكول غير مدعومة : تم طلب 1 , فكان الرد %d" - -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "جار قراءة المجلد %[1]s : %[2]s" @@ -3528,10 +3489,10 @@ msgstr "جار قراءة المجلد %[1]s : %[2]s" msgid "reading directory %[1]s content: %[2]w" msgstr "جار قراءة المجلد %[1]s الذي يحوي %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "جار قراءة المجلد %s" @@ -3543,7 +3504,7 @@ msgstr "جار قراءة المجلد %w الذي يحوي %s" msgid "reading file %[1]s: %[2]s" msgstr "جار قراءة الملف %[1]s : %[2]s" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3567,11 +3528,15 @@ msgstr "جار قراءة library_index.json : %s" msgid "reading package root dir: %s" msgstr "جار قراءة المجلد الاصلي للحزمة : %s" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "تعذر ايجاد الوصفة '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "تعذر ايجاد الاصدار %[1]s للاداة %[2]s" @@ -3592,7 +3557,7 @@ msgstr "جار ازالة مجلد المكتبة %s" msgid "removing platform files: %s" msgstr "جار ازالة ملفات المنصة %s" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "تعذر ايجاد النسخة المطلوبة %[1]s من اجل المنصة %[2]s" @@ -3609,19 +3574,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "جار البحث عن المجلد الاصلي لـ %s" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "جار ضبط DTR الى OFF" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "لا يمكن ان يكون اسم المشروع فارغا" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "اسم المشروع لا يمكن ان يكون اسما محجوزا \"%[1]s\"" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "اسم المشروع طويل جدا (%[1]d محرف) , الطول الاقصى المسموح به هو %[2]d" @@ -3630,11 +3591,11 @@ msgstr "اسم المشروع طويل جدا (%[1]d محرف) , الطول ا msgid "sketch path is not valid" msgstr "مسار المشروع غير صالح" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "مسار المشروع" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "جار بدء الاكتشاف %s" @@ -3658,12 +3619,12 @@ msgstr "جار فحص تكامل ملف الارشيف المحلي : %s" msgid "text section exceeds available space in board" msgstr "القسم النصي تخطى المساحة المتوفرة في اللوحة" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "ربما قاعدة بيانات الترجمة ناقصة او غير دقيقة" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "استجاب السيرفر بالحالة %s" @@ -3671,10 +3632,6 @@ msgstr "استجاب السيرفر بالحالة %s" msgid "timeout waiting for message" msgstr "نفذ الوقت اثناء انتظار الرسالة " -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "نفذ الوقت اثناء انتظار الرسالة من %s" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحزم" @@ -3684,7 +3641,7 @@ msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحز msgid "tool %s not found" msgstr "الاداة %s غير موجودة" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" @@ -3692,8 +3649,8 @@ msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" msgid "tool not installed" msgstr "الاداة غير مثبتة" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "اصدار الاداة غير موجود : %s" @@ -3701,7 +3658,7 @@ msgstr "اصدار الاداة غير موجود : %s" msgid "tool version %s not found" msgstr "نسخة الاداة %s غير موجودة" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3720,7 +3677,7 @@ msgstr "تعذر انشاء مجلد لحفظ المشروع" msgid "unable to create the folder containing the item" msgstr "تعذر انشاء مجلد يحوي العنصر" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr " %v : unable to marshal config to YAML" @@ -3736,15 +3693,15 @@ msgstr "تعذر قراءة محتويات العنصر الاصل" msgid "unable to write to destination file" msgstr "تعذر الكتابة الى المجلد الوجهة" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "حزمة غير معروفة %s" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "منصة غير معروفة %s:%s" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "لاحقة المشروع غير معروفة '%s'" @@ -3760,11 +3717,11 @@ msgstr "جار تحديث arduino:samd لاخر اصدار" msgid "upgrade everything to the latest version" msgstr "تحديث كل شيء الى اخر اصدار" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "خطا اثناء الرفع %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "مجلد المستخدم غير محدد" @@ -3776,14 +3733,14 @@ msgstr "ادخال المستخدم لا يدعم تنسيق الخرج '%s'" msgid "user input not supported in non interactive mode" msgstr "ادخال المستخدم غير مدعوم في الوضع الغير تفاعلي" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "الاصدار %s غير مدعوم من اجل نظام التشغيل الحالي" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "الاصدار %s غير موجود" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "تنسيق خاطئ في استجابة السيرفر" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 512be6e636d..71de46d2f16 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -17,11 +17,11 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Version: %[3]s Commit: %[4]s Datum: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "Der Ordner %[1]s wird nicht länger unterstützt! Siehe %[2]s für weitere " @@ -35,31 +35,15 @@ msgstr "%[1]s ungültig, alles wird neu gebaut" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s wird benötigt, aber %[2]s ist aktuell installiert." -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "Muster %[1]s fehlt" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s, Nachricht: %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s, port: %[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s, Ports: %[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, Protokollversion: %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s bereits heruntergeladen" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s und %s können nicht gemeinsam verwendet werden" @@ -71,8 +55,8 @@ msgstr "%s installiert" msgid "%s is already installed." msgstr "%s ist bereits installiert." -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s ist kein Verzeichnis" @@ -84,8 +68,8 @@ msgstr "%s wird nicht vom Paketmanager verwaltet" msgid "%s must be installed." msgstr "%s muss installiert sein." -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "Muster %s fehlt" @@ -93,7 +77,7 @@ msgstr "Muster %s fehlt" msgid "'%s' has an invalid signature" msgstr "'%s' hat eine ungültige Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -101,7 +85,7 @@ msgstr "" "'build.core' und 'build.variant' verweisen auf andere Plattformen: %[1]s and" " %[2]s" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(versteckt)" @@ -131,11 +115,11 @@ msgstr "" "--git-url oder --zip-path können nicht mit --install-in-builtin-dir " "verwendet werden" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr ".ino-Datei existiert bereits" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "Eine neue Version von Arduino CLI ist verfügbar:" @@ -156,7 +140,7 @@ msgstr "Arduino CLI Handbuch" msgid "Additional help topics:" msgstr "Weitere Hilfethemen:" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "Fügt einen oder mehrere Werte zu einer Einstellung hinzu." @@ -172,31 +156,31 @@ msgstr "Alle Plattformen sind aktuell" msgid "All the cores are already at the latest version" msgstr "Alle Kerne sind bereits auf der neuesten Version" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "Bereits installiert %s" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternativen für %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "Beim Hinzufügen von Prototypen ist ein Fehler aufgetreten" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "Ein Fehler trat beim erkennen der Bibliotheken auf" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "Debug-Protokollierung an die angegebene Datei anhängen" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "Architektur: %s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "Archiv existiert bereits" @@ -204,39 +188,39 @@ msgstr "Archiv existiert bereits" msgid "Archiving built core (caching) in: %[1]s" msgstr "Gebauter Kern wird archiviert (zwischengespeichert) in: %[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI Sketch Befehle." -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Arduino Befehlszeilen-Schnittstelle (arduino-cli)." -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "Arduino-Platinen-Befehle." -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "Arduino-Cache-Befehle." -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "Arduino Befehle für Bibliotheken." -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "Arduino-Konfigurationsbefehle." -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "Arduino-Kern-Operationen." -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "Argumentefehler: %v" @@ -244,7 +228,7 @@ msgstr "Argumentefehler: %v" msgid "Attaches a sketch to a board." msgstr "Ordnet einen Sketch einem Board zu." -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "Autor: %s" @@ -256,7 +240,7 @@ msgstr "" "Automatische Installation der Bibliotheken kann in diesem Fall nicht " "durchgeführt werden, bitte lösche alle Duplikate und versuche erneut." -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -264,7 +248,7 @@ msgstr "" "Automatische Desinstallation der Bibliotheken kann in diesem Fall nicht " "durchgeführt werden, bitte entferne sie manuell." -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "Verfügbar" @@ -272,20 +256,20 @@ msgstr "Verfügbar" msgid "Available Commands:" msgstr "Verfügbare Befehle:" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "Binärdatei zum Hochladen." -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "Platinenname" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "Platinenname:" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "Platinenversion:" @@ -293,7 +277,7 @@ msgstr "Platinenversion:" msgid "Bootloader file specified but missing: %[1]s" msgstr "Bootloader-Datei angegeben, aber nicht vorhanden: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds von 'core.a' werden in diesem Pfad gespeichert, gecached und " @@ -307,11 +291,12 @@ msgstr "Datenverzeichnis %s kann nicht erstellt werden" msgid "Can't create sketch" msgstr "Sketch kann nicht erstellt werden" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Bibliothek kann nicht heruntergeladen werden" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "Abhängigkeiten für die Plattform %s können nicht gefunden werden" @@ -320,10 +305,6 @@ msgstr "Abhängigkeiten für die Plattform %s können nicht gefunden werden" msgid "Can't open sketch" msgstr "Sketch kann nicht geöffnet werden" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "Kann nicht mehrere Werte zu Key %v zuordnen" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "Sketch kann nicht aktualisiert werden" @@ -332,27 +313,23 @@ msgstr "Sketch kann nicht aktualisiert werden" msgid "Can't use the following flags together: %s" msgstr "Die folgenden Flags können nicht gemeinsam verwendet werden: %s" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "Konfigurationsdatei kann nicht geschrieben werden: %v" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "Debug-Log kann icht geschrieben werden: %s" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "Cache-Verzeichnis kann nicht angelegt werden" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "Build-Verzeichnis kann nicht angelegt werden" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "Verzeichnis der Konfigurationsdatei kann nicht erstellt werden: %v" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "Konfigurationsdatei kann nicht erstellt werden: %v" @@ -364,18 +341,24 @@ msgstr "Temporärer Ordner kann nicht erstellt werden" msgid "Cannot create temp file" msgstr "Temporäre Datei kann nicht erstellt werden" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Der Schlüssel %[1]s:%[2]v kann nicht gelöscht werden" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "Das Debug-Werkzeug kann nicht gestartet werden" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "Absoluter Pfad %v wurde nicht gefunden" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "Plattform kann nicht installiert werden" @@ -384,23 +367,24 @@ msgstr "Plattform kann nicht installiert werden" msgid "Cannot install tool %s" msgstr "Werkzeug %s kann nicht installiert werden" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "Port-Reset konnte nicht ausgeführt werden: %s" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "Plattform kann nicht upgegraded werden" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" -msgstr "Datei %[1]s kann nicht geschrieben werden: %[2]v" - -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "Kategorie: %s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "Prüfe die die Abhängigkeiten für die angegebene Bibliothek." @@ -412,15 +396,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "Prüfsumme unterscheidet sich von der Prüfsumme in package.json" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "Prüfsumme:" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "Caches bereinigen." -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "Durch Kommata getrennte Liste mit URLs für die Board-Manager." @@ -432,19 +416,19 @@ msgstr "" "Befehl läuft weiter und gibt die Liste der verbundenen Platinen aus, sobald " "sich eine Änderung ergibt." -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "Kompilierter Sketch wurde nicht in%s gefunden" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "Kompiliert Arduino-Sketche." -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "Kern wird kompiliert ..." -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "Bibliotheken werden kompiliert ..." @@ -452,26 +436,26 @@ msgstr "Bibliotheken werden kompiliert ..." msgid "Compiling library \"%[1]s\"" msgstr "Bibliothek \"%[1]s\" wird kompiliert" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "Sketch wird kompiliert ..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "Konfigurationsdatei existiert bereits, verwende --overwrite um diese zu " "überschreiben." -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "Konfigurationsdatei geschrieben nach: %s" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "Konfigurationsoptionen für %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -487,23 +471,23 @@ msgstr "Konfiguriere Plattform" msgid "Configuring tool." msgstr "Konfiguriere Werkzeug." -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "Verbunden" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." -msgstr "Verbunden mit %s! Zum Beenden STRG-C drücken." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "Kern" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "Konnte nicht über HTTP verbinden" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "Indexverzeichnis konnte nicht erstellt werden" @@ -515,23 +499,23 @@ msgstr "Der Core-Build konnte nicht zwischengespeichert werden: %[1]s" msgid "Couldn't determine program size" msgstr "Programmgröße konnte nicht ermittelt werden" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht gefunden werden: %v " -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "Einen neuen Sketch erstellen" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "Erstelle und drucke ein Konfigurations-Profil aus dem Build" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "Erstellt eine ZIP-Datei, die alle Sketch-Dateien enthält." -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -540,7 +524,7 @@ msgstr "" "einem benutzerdefinierten Verzeichnis mit den aktuellen " "Konfigurationseinstellungen." -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -548,16 +532,16 @@ msgstr "" "Aktuell werden in Build-Profilen nur Bibliotheken aus dem Arduino-" "Bibliotheksmanager unterstützt." -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "Benutzerdefinierte Konfigurtion für %s:" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "VERALTET" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "Daemon überwacht jetzt %s: %s" @@ -572,53 +556,54 @@ msgstr "" "Arduino-Sketche debuggen. (Dieser Befehl öffnet eine interaktive gdb-" "Sitzung)" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Debug-Interpreter z.B.: %s" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "Debugging für Board %s nicht unterstützt" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "Standard" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "Standard-FQBN gesetzt auf" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "Standard-Port gesetzt auf" -#: internal/cli/cache/clean.go:30 +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" +msgstr "" + +#: internal/cli/cache/clean.go:31 msgid "Delete Boards/Library Manager download cache." msgstr "Board/Bibliotheks-Manager Download-Cache löschen" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -"Löscht den Inhalt des Ordners „directories.downloads“, in dem Archivdateien " -"während der Installation von Bibliotheken und Board-Plattformen " -"bereitgestellt werden." -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" "Löscht einen Einstellungsschlüssel und alle zugehörigen Unterschlüssel." -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "Abhängigkeiten: %s" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "Beschreibung" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "Verwendete Bibliotheken erkennen ..." @@ -629,11 +614,11 @@ msgstr "" "Erkennt und zeigt eine Liste von Platinen, die mit dem Computer verbunden " "sind." -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "Verzeichnis, welches die Binärdateien zum Debuggen enthält." -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "Verzeichnis, welches die Binärdateien zum Hochladen enthält." @@ -650,11 +635,11 @@ msgid "Disable completion description for shells that support it" msgstr "" "Vervollständigungsbeschreibung für Shells abschalten, die das unterstützen" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "Verbindung getrennt" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "Nur die bereitgestellten gRPC-Aufrufe anzeigen" @@ -670,22 +655,22 @@ msgstr "Bereits installierte Bibliotheken nicht überschreiben." msgid "Do not overwrite already installed platforms." msgstr "Bereits installierte Plattformen nicht überschreiben." -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" "Den eigentlichen Hochladevorgang nicht durchführen, sondern nur die " "Abmeldeaktionen" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "Den Daemon-Prozess nicht mit dem Elternprozess beenden." -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "%s wird heruntergeladen" @@ -693,16 +678,17 @@ msgstr "%s wird heruntergeladen" msgid "Downloading index signature: %s" msgstr "Indexsignatur wird heruntergeladen: %s" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Index wird heruntergeladen: %s" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "Bibliothek %s wird heruntergeladen" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "Fehlendes Werkzeug %s wird heruntergeladen" @@ -710,11 +696,11 @@ msgstr "Fehlendes Werkzeug %s wird heruntergeladen" msgid "Downloading packages" msgstr "Pakete werden heruntergeladen" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "Plattform %s wird heruntergeladen" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "Werkzeug %s wird heruntergeladen" @@ -729,7 +715,7 @@ msgid "Downloads one or more libraries without installing them." msgstr "" "Lädt eine oder mehrere Bibliotheken herunter, ohne sie zu installieren." -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "Debug-Protokollierung von gRPC-Aufrufen aktivieren" @@ -741,7 +727,7 @@ msgstr "Geben Sie einen Pfad zur ZIP-Datei an" msgid "Enter git url for libraries hosted on repositories" msgstr "Gib eine git-URL mit den Bibliotheken aus Repositories ein" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "Fehler beim Hinzufügen einer Datei zum Sketch-Archiv" @@ -749,58 +735,62 @@ msgstr "Fehler beim Hinzufügen einer Datei zum Sketch-Archiv" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Fehler bei speichern des gebauten Kerns (caching) in %[1]s:%[2]s" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "Fehler beim Archivieren: %v" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "Fehler beim Berechnen des relativen Dateipfads" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "Fehler beim bereinigen des Caches: %v" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "Fehler beim konvertieren des Pfads zum Absolutpfad: %v" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "Fehler beim Kopieren der Ausgabedatei %s" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "Fehler beim Erstellen der Instanz: %v" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "Fehler beim Erstellen des Ausgabeverzeichnisses" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "Fehler beim Erstellen des Sketch-Archivs" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "Fehler beim Erstellen des Sketches: %v" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "Fehler beim Erkennen von Platinen: %v" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "Fehler beim Herunterladen von %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "Fehler beim Herunterladen von %s" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "Fehler beim Herunterladen des Index '%s'" @@ -808,44 +798,40 @@ msgstr "Fehler beim Herunterladen des Index '%s'" msgid "Error downloading index signature '%s'" msgstr "Fehler beim Herunterladen der Indexsignatur '%s'" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "Fehler beim Herunterladen der Bibliothek %s" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "Fehler beim Herunterladen der Plattform %s" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "Fehler beim Herunterladen des Werkzeugs %s" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "Fehler beim Debuggen: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "Fehler während FQBN-Bestimmung: %v" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "Fehler während der YAML-Kodierung der Ausgabe: %v" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "Fehler beim Build: %v" @@ -853,11 +839,11 @@ msgstr "Fehler beim Build: %v" msgid "Error during install: %v" msgstr "Fehler während dem Installieren: %v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "Fehler während der Deinstallation: %v" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "Fehler beim Upgrade %v" @@ -866,23 +852,23 @@ msgstr "Fehler beim Upgrade %v" msgid "Error extracting %s" msgstr "Fehler beim Extrahieren von %s" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "Fehler beim finden der Build-Artifacts" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "Fehler beim ermitteln der Debug-Information: %v" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "Fehler beim Abrufen des absoluten Pfads des Sketch-Archivs" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "Fehler beim Abrufen von Platinendetails: %v" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" "Fehler beim ermitteln des Verzeichnisses für die Kompilier-Datenbank: %s" @@ -895,62 +881,62 @@ msgstr "" "Fehler beim ermitteln des Standard-Ports aus 'sketch.yaml' Prüfe, ob di im " "richtigen Sketch-Verzeichnis bist oder verwende das --port Attribut: %s" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "Fehler beim Abrufen von Informationen für die Bibliothek %s" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "Fehler beim Abrufen von Bibliotheksinformationen: %v" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "Fehler beim Abrufen von Port-Metadaten: %v" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "Fehler beim Abrufen von Details zu Port-Einstellungen: %s" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "Fehler beim lesen der Benutzereingaben." -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "Fehler beim Initialisieren der Instanz: %v" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "Fehler beim Installieren von %s: %v" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "Fehler beim Installieren der Git-Bibliothek: %v" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "Fehler beim Installieren der Zip-Bibliothek: %v" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "Fehler beim Installieren der Bibliothek %s" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "Fehler beim Installieren der Plattform %s" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "Fehler beim Installieren des Werkzeugs %s" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "Fehler beim Auflisten von Platinen: %v" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "Fehler beim Auflisten der Bibliotheken: %v" @@ -962,8 +948,8 @@ msgstr "Fehler beim Auflisten von Plattformen: %v" msgid "Error loading hardware platform" msgstr "Fehler beim Laden der Hardware-Plattform" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "Fehler beim Laden des Index %s" @@ -971,27 +957,23 @@ msgstr "Fehler beim Laden des Index %s" msgid "Error opening %s" msgstr "Fehler beim Öffnen von %s" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "Fehler beim Öffnen der Debug-Protokollierungsdatei: %s" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "Fehler, öffnen der Quellcodes überschreibt die Datendatei: %v" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "Fehler bei der Auswertung des --show-Property Attributs: %v" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "Fehler bel Lesen des Build-Verzechnisses" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "Fehler beim Lesen der Konfigurationsdatei: %v" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "Fehler beim Lesen von Sketch-Dateien" @@ -1017,39 +999,43 @@ msgstr "Fehler beim Speichern des heruntergeladenen Index" msgid "Error saving downloaded index signature" msgstr "Fehler beim Speichern der heruntergeladenen Indexsignatur" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "Fehler bei der Suche nach Platinen: %v" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "Fehler beim Suchen der Bibliotheken: %v" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "Fehler bei der Suche nach Plattformen: %v" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "Fehler bei der Serialisierung der Kompilierungsdatenbank: %s" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "Fehler beim Setzen des \"Raw-Mode\": %s" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "Fehler beim starten der Suche: %v" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Fehler beim Deinstallieren von %[1]s: %[2]v" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "Fehler beim Aktualisieren des Bibliotheksindex: %v" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "Fehler beim Upgraden der Bibliothken" @@ -1062,7 +1048,7 @@ msgstr "Fehler beim Upgraden der Plattform: %s" msgid "Error verifying signature" msgstr "Fehler beim Verifizieren der Signatur" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "Fehler beim Ermitteln der in %[1]s eingebundenen Bibliotheken" @@ -1073,23 +1059,27 @@ msgstr "Fehler beim Ermitteln der in %[1]s eingebundenen Bibliotheken" msgid "Error while determining sketch size: %s" msgstr "Fehler während der Bestimmung der Sketch-Größe: %s" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "Fehler beim Schreiben der Kompilierungsdatenbank: %s" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "Fehler: Befehlsbeschreibung wird nicht unterstützt von %v" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "Fehler: ungültiger Quellcode überschreibt die Daten-Datei: %v" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "Ereignis" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "Beispiele für Bibliothek %s" @@ -1097,75 +1087,75 @@ msgstr "Beispiele für Bibliothek %s" msgid "Examples:" msgstr "Beispiele:" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "Ausführbare Datei zum Debuggen" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Kompilierter Sketch wurde im Verzeichnis %s erwartet, aber eine Datei " "gefunden." -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "Chip-Löschung fehlgeschlagen" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "Fehlgeschlagene Programmierung" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "Schreiben des Bootloaders fehlgeschlagen" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "Erzeugen des Datenverzeichnisses fehlgeschlagen" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "Erzeugen des Download-Verzeichnisses fehlgeschlagen" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. %[2]s ist ein ungültiger Port." -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. %[2]s ist ein unbekannter Name." -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. Unerwarteter Fehler: %[2]v" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" "Fehler beim Überwachen von TCP-Port: %s. Adresse wird bereits benutzt." -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "Fehlgeschlagenes Hochladen" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "Datei:" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1173,7 +1163,7 @@ msgstr "" "Die Verschlüsselung/Signierung der Firmware erfordert die Festlegung der " "folgenden Eigenschaften: %s" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" "Die erste Nachricht muss eine Debug-Anforderung enthalten, keine Daten." @@ -1219,11 +1209,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "%d Platformen passend zu \"%s\":%s gefunden" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Vollständig qualifizierter Platinenname, z.B.: arduino:avr:uno" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "GDB-Server '%s' wird nicht unterstützt" @@ -1240,10 +1230,14 @@ msgstr "Erzeugt Komplettierungs-Skripte" msgid "Generates completion scripts for various shells" msgstr "Erzeugt Komplettierungs-Skripte für verschiedene Shells" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "Funktionsprototypen werden generiert ..." +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "Globale Attribute:" @@ -1260,21 +1254,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Globale Variablen verwenden %[1]s Bytes des dynamischen Speichers." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "Identifikationseigenschaften:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Wenn gesetzt werden die erzeugten Binärdateien in das Sketch-Verzeichnis " @@ -1294,7 +1288,7 @@ msgstr "" "Eingebaute Bibliotheken (von Plattformen und IDE) in die Auflistung " "einbeziehen." -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "Verzeichnis %s in das Archiv einbinden" @@ -1302,30 +1296,30 @@ msgstr "Verzeichnis %s in das Archiv einbinden" msgid "Install libraries in the IDE-Builtin directory" msgstr "Bibliotheken in das IDE-Standardverzeichnis installieren" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Installiert" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "%s installiert" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "%s wird installiert" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "Bibliothek %s wird installiert" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "Plattform %s wird installiert" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "Werkzeug %s wird installiert" @@ -1339,7 +1333,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "Installiert eine oder mehrere angegebene Bibliotheken in das System." -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "Interner Fehler im Cache" @@ -1347,18 +1341,11 @@ msgstr "Interner Fehler im Cache" msgid "Invalid '%[1]s' property: %[2]s" msgstr "Ungültige '%[1]s' Eigenschaft: %[2]s" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" -"Ungültiger Aufruf: Sollte Hile anzigen, ist ist aber nur im Text-Modus " -"verfügbar." - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "Ungültiger FQBN" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "Ungültige TCP-Adresse: Port fehlt" @@ -1366,7 +1353,7 @@ msgstr "Ungültige TCP-Adresse: Port fehlt" msgid "Invalid URL" msgstr "Ungültige URL" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "Ungültige zusätzliche URL: %v" @@ -1374,13 +1361,13 @@ msgstr "Ungültige zusätzliche URL: %v" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "Ungültiges Archiv: Datei %{1}s nicht in Archiv %{2}s gefunden" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "Ungültiges Argument übergeben: %v" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "Ungültige Build-Eigenschaften" @@ -1392,6 +1379,10 @@ msgstr "Ungültige Datengröße regexp: %s" msgid "Invalid eeprom size regexp: %s" msgstr "Ungültige EEPROM-Größe: %s" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Ungültige Instanz" @@ -1404,19 +1395,23 @@ msgstr "Ungültiges Element %s" msgid "Invalid library" msgstr "Ungültige Bibliothek" -#: internal/cli/configuration/network.go:63 +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" +msgstr "" + +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "Ungültiger network.proxy '%[1]s':%[2]s" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" -msgstr "Ungültige Option für --log-level: %s" - -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "Ungültiges Ausgabeformat: %s" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "Ungültiger Paketindex in %s" @@ -1424,7 +1419,7 @@ msgstr "Ungültiger Paketindex in %s" msgid "Invalid parameter %s: version not allowed" msgstr "Ungültiger Parameter %s: Version nicht erlaubt" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "Ungültiger pid-Wert: '%s'" @@ -1432,7 +1427,7 @@ msgstr "Ungültiger pid-Wert: '%s'" msgid "Invalid profile" msgstr "Ungültiges Profil" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "Ungültige Vorlage in platform.txt" @@ -1440,19 +1435,15 @@ msgstr "Ungültige Vorlage in platform.txt" msgid "Invalid size regexp: %s" msgstr "Ungültige Größe regexp: %s" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "Ungültige Zeitbeschränkung: %s" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Ungültige Version" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "Ungültiger vid-Wert:'%s'" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1460,20 +1451,20 @@ msgstr "" "Nur die Kompilier-Datenbank erzeugen ohne zu kompilieren. Alle Build-Befehle" " werden übersprungen außer pre* " -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "BIBLIOTHEKSNAME" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "BIBLIOTHEK" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "BIBLIOTHEKSNAME" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "Neueste" @@ -1481,7 +1472,7 @@ msgstr "Neueste" msgid "Library %[1]s has been declared precompiled:" msgstr "Bibliothek %[1]s wurde als vorkompiliert angegeben:" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1489,15 +1480,15 @@ msgstr "" "Bibliothek %[1]s ist bereits installiert, aber mit einer anderen Version: " "%[2]s" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "Bibliothek %s ist bereits die neueste Version" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "Bibliothek %s ist nicht installiert" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "Bibliothek %s nicht gefunden" @@ -1505,7 +1496,7 @@ msgstr "Bibliothek %s nicht gefunden" msgid "Library '%s' not found" msgstr "Bibliothek '%s' nicht gefunden" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1516,19 +1507,20 @@ msgstr "" msgid "Library install failed" msgstr "Installation der Bibliothek fehlgeschlagen" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "Bibliothek installiert" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "Alles zusammenlinken..." -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1536,7 +1528,7 @@ msgstr "" "Lists alle Boards mit installierter Support-Plattform. Du kannst nach einem " "bestimmten Board suchen, indem du den Namen angibst" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "Liste alle bekannte Boards und ihre respektive FQBNs auf" @@ -1544,7 +1536,7 @@ msgstr "Liste alle bekannte Boards und ihre respektive FQBNs auf" msgid "List connected boards." msgstr "Verbundene Platinen auflisten." -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1552,7 +1544,7 @@ msgstr "" "Komma-getrennte Liste der Boardoptionen. Kann auch mehrfach für mehrere " "Optinen verwendet werden." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1568,20 +1560,20 @@ msgstr "Aktualisierbare Bibliotheken auflisten." msgid "List updatable platforms." msgstr "Aktualisierbare Plattformen auflisten." -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "Listet alle verbundenen Platinen auf." -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "Auflisten der upgradebaren Cores und Bibliotheken" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "Indexdatei wird geladen: %v" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "Ort" @@ -1590,22 +1582,28 @@ msgid "Low memory available, stability problems may occur." msgstr "" "Wenig Arbeitsspeicher verfügbar, es können Stabilitätsprobleme auftreten." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "Betreuer %s" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "Maximale Wartezeit für Portermittlung z.B. 30s, 1m" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" "Nachrichten mit diesem Level oder drüber werden geloggt. Mögliche Level " "sind: %s" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' aus der Bibliothek in %[2]s fehlt" @@ -1629,7 +1627,7 @@ msgstr "Fehlendes Port-Protokoll" msgid "Missing programmer" msgstr "Fehlender Programmer" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "Fehlendes benötigtes Upload-Feld: %s" @@ -1645,49 +1643,49 @@ msgstr "Fehlender Sketch-Pfad" msgid "Monitor '%s' not found" msgstr "Monitor '%s' wurde nicht gefunden" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "Porteinstellunegn für Monitor:" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Mehrere Bibliotheken wurden für \"%[1]s\" gefunden" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "Name" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "Name '%s'" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "Neuer Upload-Port: %[1]s (%[2]s)" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "Keine Platinen gefunden." -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" -msgstr "Kein Standard-Port oder Standard-FQBN konfiguriert" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" +msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "Keine Bibliotheken gefunden." -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "Keine Bibliotheken installiert." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "Keine Bibliotheken stimmen mit Ihrer Suche überein." -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1695,7 +1693,7 @@ msgstr "" "Keine Bibliotheken stimmen mit Ihrer Suche überein.\n" "Meinten Sie ...\n" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "Kein Bibliotheksupdate verfügbar" @@ -1703,7 +1701,7 @@ msgstr "Kein Bibliotheksupdate verfügbar" msgid "No monitor available for the port protocol %s" msgstr "Kein Monitor für das Port-Protokoll %s verfügbar" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "Keine veralteten Plattformen oder Bibliotheken gefunden" @@ -1711,11 +1709,11 @@ msgstr "Keine veralteten Plattformen oder Bibliotheken gefunden" msgid "No platforms installed." msgstr "Keine Plattformen installiert." -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "Die Suche fand keine passenden Plattformen" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "Kein Upload-Port gefunden, verwende %s stattdessen" @@ -1729,19 +1727,19 @@ msgstr "" "Nicht genug Arbeitsspeicher; unter %[1]s finden sich Hinweise, um die Größe " "zu verringern." -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "Nicht benutzt: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "BS:" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "Offizielles Arduino-Board:" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1749,50 +1747,50 @@ msgstr "" "Alle Bibliotheksdetails überspringen, außer für die aktuelle Version\n" "(Die JSON-Ausgabe wird kompakter)." -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Einen Kommunikations-Port mit einer Platine öffnen." -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "Option:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Optional, kann %s sein. Verwendet, um den Warnungslevel für gcc festzulegen " "(-W Option)" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Optional, leere den Build-Ordner und verwende keinen zwischengespeicherten " "Build." -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Optional, optimiere das Kompilat zum Debuggen, nicht für den " "Produktiveinsatz" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "Optional, vermeidet fast alle Ausgaben" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "Optional, schaltet umfangreiche Ausgaben ein" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "Optional, Pfad zu einer .json-Datei mit Ersetzungen für den Sketch-Quellcode" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1800,15 +1798,15 @@ msgstr "" "Übersteuert eine Build-Option mit einem benutzerdefinierten Wert. Kann " "mehrfach für mehrere Optionen verwendet werden." -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "Überschreibt bestehende Konfigurationsdatei." -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "Überschreibt ein bestehendes Archiv" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "Überschreibt einen bestehenden .ino-Sketch." @@ -1817,35 +1815,35 @@ msgstr "Überschreibt einen bestehenden .ino-Sketch." msgid "PACKAGER" msgstr "PAKETIERER" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "Paket-URL:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "Paket-Betreuer" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "Paketname:" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "Online-Hilfe für das Paket:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "Webseite für das Paket:" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "Absatz: %s" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "Pfad" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1853,7 +1851,7 @@ msgstr "" "Pfad zu einer Bibliothekssammlung. Kann mehrfach verwendet werden oder die " "Einträge können durch Kommata getrennt werden." -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1861,11 +1859,11 @@ msgstr "" "Pfad zum Wurzelverzeichnis einer einzelnen Bibliothek. Kann mehrfach " "verwendet werden oder die Einträge können durch Kommata getrennt werden." -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "Pfad in welchem die Log-Dateien abgelegt werden sollen." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1873,11 +1871,12 @@ msgstr "" "Pfad für die kompilierten Dateien. Wenn nicht festgelegt, dann wird ein " "Verzeichnis im Standard-Temp-Verzeichnis des Betriebssystems erstellt." -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Ein 1200bps-Reset wird auf dem seriellen Port %s durchgeführt" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "Plattform %s bereits installiert" @@ -1885,7 +1884,7 @@ msgstr "Plattform %s bereits installiert" msgid "Platform %s installed" msgstr "Plattform %s installiert" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1905,39 +1904,39 @@ msgstr "Plattform '%s' ist bereits aktuell" msgid "Platform '%s' not found" msgstr "Plattform '%s' nicht gefunden" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "Plattform ID" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "Plattform ID ist nicht korrekt" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "Plattform-URL:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "Plattformarchitektur:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "Plattformkategorie:" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "Plattform-Prüfsumme:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "Plattformdateiname:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "Plattformname:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "Plattformgröße (Bytes):" @@ -1957,11 +1956,11 @@ msgstr "" "Bitte gib ein FQBN an. Das Board an Port %[1]s mit Protokoll %[2]s kann " "nicht identifiziert werden" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "Port geschlossen: %v" @@ -1974,23 +1973,27 @@ msgstr "Port-Monitor-Fehler" msgid "Precompiled library in \"%[1]s\" not found" msgstr "Vorkompilierte Bibliothek in \"%[1]s\" nicht gefunden" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "Details zu dem Board ausgeben" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Gebe den vorverarbeiteten Code aus anstatt zu kompilieren." -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "Gebe die logs auf der Standardausgabe aus." -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "Gibt die aktuelle Konfiguration aus." -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "Gibt die aktuelle Konfiguration aus." @@ -2002,15 +2005,15 @@ msgstr "Profil '%s' nicht gefunden" msgid "Programmer '%s' not found" msgstr "Programmer '%s' nicht gefunden" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "Programmer Name" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "Zu verwendender Programmer, z.B. atmel_ice" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "Programmers:" @@ -2018,19 +2021,19 @@ msgstr "Programmers:" msgid "Property '%s' is undefined" msgstr "Eigenschaft '%s' ist nicht definiert" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "Protokoll" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "Stellt die Includes %s zur Verfügung" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "Entfernt einen oder mehrere Werte aus der Einstellung." -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "Ersetze %[1]s durch %[2]s " @@ -2038,25 +2041,17 @@ msgstr "Ersetze %[1]s durch %[2]s " msgid "Replacing platform %[1]s with %[2]s" msgstr "Ersetze die Plattform durch %[1]sdurch %[2]s" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "Erforderliches Werkzeug:" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "Starte als Daemon auf dem Port: %s" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "Starten im stillen Modus, zeige nur die Monitorein- und -ausgaben" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -"Startet als Daemon, die Initialisierung der Kern und Bibliotheken erfolgt " -"nur einmal" #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." @@ -2067,37 +2062,37 @@ msgstr "Starte normalen Kern-Build..." msgid "Running pre_uninstall script." msgstr "Starte das pre_uninstall Skript" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "SUCH_TERM" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "SVD Verzeichnis" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "Build-Artifakte in diesem Verzeichnis speichern." -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Suche nach einem Board im Board-Manager mit den gegebenen Suchbegriffen." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "Suche nach einem Board im Board-Manager" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Suche nach einem Kern im Board-Manager mit den gegebenen Suchbegriffen." -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "Suche nach einem Kern im Board-Manager" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2173,69 +2168,67 @@ msgstr "" "- Ausführung\n" "- Webseite" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" "Sucht nach einer oder mehrerer Bibliottheken die zu einer Suchanfrage " "passen." -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "Satz: %s" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "Server-Pfad" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "Server hat mit: %s geantwortet" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "Server-Typ" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "Setze einen Wert für ein zum Upload benötigtes Feld." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "Aktiviere den Raw-Modus im Terminal (ungepuffert)" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "Legt einen Einstellungswert fest." #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -"Setzt die Standardwerte für Port und FQBN. Wenn kein Port oder FQBN " -"angegeben wird, werden der Standard-Port und -FQBN angezeigt." -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "Legt fest, wo die Konfigurationsdatei gespeichert werden soll." -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "Einstellung" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" -msgstr "Einstellungsschlüssel existiert nicht." +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "Zeige alle verfügbare Core-Versionen." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "Zeige alle Einstellungen des Kommunikations-Ports." -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" "Zeige auch Boards an, die in der Plattform als \"versteckt\" markiert sind" @@ -2249,11 +2242,11 @@ msgstr "" "\"--show-properties=unexpanded\", wenn du sie genau so haben willst, wie sie" " definiert sind." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "Vollständige Platinendetails anzeigen" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2261,29 +2254,29 @@ msgstr "" "Zeige Informationen über ein Board, im Besonderen wenn das Board die Option " "hat, im FQBN angegeben zu werden." -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "Nur Namen der Bibliotheken anzeigen." -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "Zeige alle verfügbare Programmer" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" "Zeige Metadaten über die Debug-Sitzung an, anstatt den Debugger zu starten." -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "Veraltete Kerne und Bibliotheken nach Indexaktualisierung anzeigen" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "Zeige die Liste mit den installierten Bibliotheken." -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2299,11 +2292,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "Zeigt die Liste der installierten Plattformen an." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "Zeigt die Liste der Beispiele für Bibliotheken an." -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2322,11 +2315,11 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "Zeigt die Versionsnummer des Arduino CLI an." -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "Größe (Bytes):" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2334,11 +2327,11 @@ msgstr "" "Sketch kann nicht im Build-Pfad gefunden werden. Bitte gib einen anderen " "Build-Pfad an" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "Sketch erstellt in: %s" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "Zu verwendendes Sketch-Profil" @@ -2368,7 +2361,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "Überspringe das Linken der endgültigen ausführbaren Datei." -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Überspringen des 1200-bps-Touch-Resets: keine serielle Schnittstelle " @@ -2382,7 +2375,7 @@ msgstr "Überspringe die Archiv-Erstellung von: %[1]s" msgid "Skipping compile of: %[1]s" msgstr "Überspringe die Kompilierung von: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Überspringe die Abhängigkeitserkennung für vorkompilierte Bibliotheken %[1]s" @@ -2404,27 +2397,31 @@ msgstr "Überspringe die Werkzeugkonfiguration." msgid "Skipping: %[1]s" msgstr "Wird übersprungen: %[1]s" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "Einige Indizes konnten nicht aktualisiert werden." -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" "Einige Upgrades sind fehlgeschlagen, bitte überprüfe die Ausgabe für " "Details." -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "TCP-Port, der vom Daemon überwacht wird" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" "Die benutzerdefinierte Konfigurationsdatei (wenn nicht angegeben, wird der " "Standardwert verwendet)." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "Das Flag --debug-file muss mit --debug benutzt werden." @@ -2436,7 +2433,11 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2444,7 +2445,7 @@ msgstr "" "Der Schlüssel \"%[1]v\" ist keine Liste von Teilen, er kann nicht hinzugefügt werden.\n" "Vielleicht kann \"%[2]s\" verwendet werden?" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2456,7 +2457,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "Die Bibliothek %s hat mehrere Installationen:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2465,7 +2466,7 @@ msgstr "" "Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " "den Plattformen verwendet, die ihn unterstützen." -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2474,11 +2475,11 @@ msgstr "" "Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " "den Plattformen verwendet, die ihn unterstützen." -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "Das Ausgabeformat für die Logs kann %s sein" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2505,7 +2506,7 @@ msgstr "" "aktualisiert der Befehl alle installierten Bibliotheken, für die ein Update " "verfügbar ist." -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2513,7 +2514,7 @@ msgstr "" "Dieser Befehl zeigt eine Liste der installierten Kerne und/oder Bibliotheken\n" "die aktualisiert werden können. Wenn nichts aktualisiert werden muss, ist die Ausgabe leer." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "Markiere jede ankommende Zeile mit einem Zeitstempel." @@ -2526,39 +2527,39 @@ msgstr "Werkzeug %s bereits installiert" msgid "Tool %s uninstalled" msgstr "Werkzeug %s deinstalliert" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "Toolchain '%s' wird nicht unterstützt" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "Toolchain-Pfad" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "Toolchain-Prefix" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "Toolchain-Typ" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "Versuche %s zu starten" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "Schaltet den ausführlichen Modus ein." -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "Typ" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "Typen: %s" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "URL:" @@ -2569,33 +2570,33 @@ msgstr "" "Der Kern kann nicht gecached werden. Bitte sag den %[1]s Maintainern, dass " "sie %[2]sfolgen sollen. " -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "Der Dokumentenordner kann nicht abgerufen werden: %v" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "Lokaler App-Datenordner kann nicht abgerufen werden: %v" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "Das Home-Verzeichnis des Benutzers kann nicht abgerufen werden: %v" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "Die Datei kann nicht für die Protokollierung geöffnet werden: %s" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "URL kann nicht geparst werden" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "%s wird deinstalliert" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "%swird deinstalliert, das Werkzeug wird nicht mehr gebraucht" @@ -2612,7 +2613,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Deinstalliert eine oder mehrere Bibliotheken." -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "Unbekannt" @@ -2620,29 +2621,29 @@ msgstr "Unbekannt" msgid "Unknown FQBN" msgstr "Unbekannter FQBN" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "Aktualisiert den Index der Kerne und Bibliotheken" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" "Aktualisiert den Index der Kerne und Bibliotheken auf die neuesten " "Versionen." -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "Aktualisiert den Index der Kerne auf die neueste Version." -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "Aktualisiert den Index der Kerne." -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "Aktualisiert den Bibliotheksindex auf die neueste Version." -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "Aktualisiert den Bibliotheksindex." @@ -2650,13 +2651,13 @@ msgstr "Aktualisiert den Bibliotheksindex." msgid "Upgrade doesn't accept parameters with version" msgstr "Upgrade akzeptiert keine Parameter mit Version" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" "Aktualisiert die installierten Kerne und Bibliotheken auf die neueste " "Version." -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "Aktualisiert die installierten Kerne und Bibliotheken." @@ -2670,11 +2671,11 @@ msgstr "" "Aktualisiert eine oder alle installierten Plattformen auf die neueste " "Version." -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "Lade Arduino-Sketche hoch." -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2685,7 +2686,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Adresse des Upload-Ports, z. B.: COM3 oder /dev/ttyACM2" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "Upload-Port gefunden auf %s" @@ -2693,7 +2694,7 @@ msgstr "Upload-Port gefunden auf %s" msgid "Upload port protocol, e.g: serial" msgstr "Upload-Port-Protokoll, z.B.: seriell" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "Lade die Binärdatei nach der Kompilierung hoch." @@ -2706,14 +2707,14 @@ msgstr "" msgid "Upload the bootloader." msgstr "Lade den Bootloader hoch." -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" "Für das Hochladen auf das angegebene Board mit dem Protokoll %s sind " "folgende Informationen erforderlich:" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2729,29 +2730,29 @@ msgstr "Verwendung:" msgid "Use %s for more information about a command." msgstr "Benutze %s für mehr Informationen über einen Befehl." -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "Benutzte Bibliothek" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "Verwendete Plattform" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Benutzt: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Verwende das Board '%[1]s' von der Plattform im Ordner: %[2]s" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die " "Datei: %[1]s" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Verwendung des Kerns '%[1]s' von Platform im Ordner: %[2]s" @@ -2782,25 +2783,25 @@ msgstr "Zuvor kompilierte Datei wird verwendet: %[1]s" msgid "VERSION" msgstr "VERSION" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "VERSION_NUMMER" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "Werte" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "Überprüfe die hochgeladene Binärdatei nach dem Upload." -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "Version" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "Versionen: %s" @@ -2817,7 +2818,7 @@ msgstr "WARNUNG, das Tool %s kann nicht konfiguriert werden " msgid "WARNING cannot run pre_uninstall script: %s" msgstr "WARNUNG, kann das pre_uninstall Skript %s nicht ausführen: " -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "WARNUNG: Der Sketch wurde mit einer oder mehreren benutzerdefinierten " @@ -2832,26 +2833,26 @@ msgstr "" "werden zu können und ist möglicherweise inkompatibel mit Ihrer derzeitigen " "Platine, welche auf %[3]s Architektur(en) ausgeführt wird." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "Warten auf Upload-Port ..." -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "Warnung: Board %[1]s definiert keine %[2]s Präferenz. Automatisch gesetzt " "auf: %[3]s" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "Webseite: %s" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "Schreibt die aktuelle Konfiguration in eine Konfigurationsdatei." -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." @@ -2859,11 +2860,7 @@ msgstr "" "Schreibt die aktuelle Konfiguration in die Konfigurationsdatei im " "Datenverzeichnis." -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "Konfigurationsdatei wird geschrieben: %v" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Du kannst das %s Flag nicht verwenden, wenn du mit einem Profil kompilierst." @@ -2884,11 +2881,11 @@ msgstr "" "Archiv ist nicht gültig: keine Dateien in der obersten Ebene der Zip-Datei " "gefunden" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "Archiv-Pfad" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "Arduino-Preprocessor Muster fehlt" @@ -2896,45 +2893,37 @@ msgstr "Arduino-Preprocessor Muster fehlt" msgid "available only in text format" msgstr "Nur im Textformat verfügbar" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "Einfache Suche nach \"Audio\"" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" "Einfache Suche nach \"esp32\" und \"display\" beschränkt auf offizielle " "Betreuer" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "Binärdatei wurde nicht in %s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "Platine %s nicht gefunden" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "Platinenname" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "Verzeichnis der eingebauten Bibliotheken nicht festgelegt" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "Rufe auf %[1]s : %[2]w" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "Die neueste Version von %s wurde nicht gefunden" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "Die neueste Version des Tools %s wurde nicht gefunden" @@ -2942,15 +2931,15 @@ msgstr "Die neueste Version des Tools %s wurde nicht gefunden" msgid "can't find main Sketch file in %s" msgstr "Die Haupt-Sketch-Datei wurde in %s nicht gefunden " -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "Kann kein Muster für die Suche mit id %s finden " -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "Kandidaten" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "Das Upload-Tool %s konnte nicht ausgeführt werden " @@ -2963,7 +2952,7 @@ msgstr "Überprüfung der Integrität des lokalen Archivs" msgid "cleaning build path" msgstr "Build-Pfad bereinigen" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "Befehl" @@ -2971,23 +2960,6 @@ msgstr "Befehl" msgid "command '%[1]s' failed: %[2]s" msgstr "Der Befehl '%[1]s' ist fehlgeschlagen: %[2]s" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "Befehl fehlgeschlagen: %s" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2997,19 +2969,27 @@ msgstr "Kommunikation nicht synchron, erwartet '%[1]s', empfangen '%[2]s'" msgid "computing hash: %s" msgstr "Hash berechnen: %s" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "kopiere Bibliothek in Zielordner:" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "Gültiges Build-Artefakt wurde nicht gefunden" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "Überschreiben nicht möglich" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "konnte alte Bibliothek nicht entfernen" @@ -3035,7 +3015,7 @@ msgstr "Erstellen eines temporären Verzeichnisses für die Extraktion: %s" msgid "data section exceeds available space in board" msgstr "Datenbereich überschreitet den verfügbaren Platz auf der Platine" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "Abhängigkeit '%s' ist nicht verfügbar" @@ -3051,19 +3031,19 @@ msgstr "Zielordner existiert bereits" msgid "directory doesn't exist: %s" msgstr "Verzeichnis existiert nicht: %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "Suche %[1]s Prozess nicht gestartet: %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "Discovery %swurde nicht gefunden" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "Discovery %s wurde nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "Discovery-Release %s wurde nicht gefunden" @@ -3079,39 +3059,31 @@ msgstr "Lade die neueste Version des Arduino SAMD-Kerns herunter." msgid "downloaded" msgstr "heruntergeladen" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird heruntergeladen: %[2]s" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "leerer Platinenidentifikator" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "Fehler beim Laden der Sketch-Projektdatei:" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "Fehler beim Öffnen von %s" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "Fehler beim Parsen des Wertes: %v" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "Fehler beim Parsen von Versionsbeschränkungen" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "Fehler bei der Verarbeitung der Serverantwort" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "Fehler bei der Abfrage der Arduino Cloud Api" @@ -3127,7 +3099,7 @@ msgstr "Archiv wird extrahiert: %w" msgid "failed to compute hash of file \"%s\"" msgstr "Der Hash der Datei \"%s\" konnte nicht berechnet werden." -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "Http-Client konnte nicht initialisiert werden" @@ -3141,15 +3113,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "Die Archivdateien müssen in einem Unterverzeichnis abgelegt werden" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "Suche den absoluten Pfad zu %s" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "Flags" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "Folge dem Symlink %s" @@ -3157,16 +3129,20 @@ msgstr "Folge dem Symlink %s" msgid "for a specific version." msgstr "für eine bestimmte Version." -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "für die neueste Version." -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "für die jeweilige Version." +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "Erzeugen der installations.id: %w" @@ -3191,19 +3167,19 @@ msgstr "Hole Archiv-Info: %s" msgid "getting archive path: %s" msgstr "Hole Archiv-Pfad: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "Build-Eigenschaften für das Board %[1]s : %[2]s abrufen" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "Discovery-Abhängigkeiten für die Plattform %[1]s abrufen: %[2]s" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "Monitor-Abhängigkeiten für die Plattform %[1]s : %[2]s abrufen" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "Abrufen von Tool-Abhängigkeiten für die Plattform %[1]s: %[2]s" @@ -3211,7 +3187,7 @@ msgstr "Abrufen von Tool-Abhängigkeiten für die Plattform %[1]s: %[2]s" msgid "install directory not set" msgstr "Installationsverzeichnis nicht festgelegt" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird installiert: %[2]s" @@ -3224,51 +3200,43 @@ msgid "interactive terminal not supported for the '%s' output format" msgstr "" "Interaktives Terminal wird für das Ausgabeformat '%s' nicht unterstützt" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "Ungültige '%s' Richtlinie" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "Ungültige 'add'-Meldung: Fehlender Port" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "Ungültige 'remove'-Meldung: Fehlender Port" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "Ungültiges Prüfsummenformat: %s" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "ungültige Konfigurationsoption: %s" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "Ungültige leere Kernarchitektur '%s'" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "Ungültiges leeres Kernargument" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "Ungültiger leerer Kernname '%s'" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "Ungültige leere Kernreferenz '%s'" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "Ungültige leere Kernversion: '%s'" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "ungültiger, leerer Bibliotheksname" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "ungültige, leere Bibliotheksversion: %s" @@ -3284,11 +3252,11 @@ msgstr "Ungültige Git-URL" msgid "invalid hash '%[1]s': %[2]s" msgstr "Ungültiger Hash '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "ungültiges Element %s" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "Ungültige Bibliotheksrichtlinie:" @@ -3326,31 +3294,31 @@ msgstr "Ungültiger Pfad beim Schreiben der Inventardatei: %[1]s Fehler: %[2]w" msgid "invalid platform archive size: %s" msgstr "ungültige Plattformarchivgröße: %s" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "ungültiger Plattformidentifikator" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "Ungültige Plattform-Index-URL:" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "Ungültige hinzufügbare Monitor-Referenz: %s" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "Ungültiger Port-Konfigurationswert für %s: %s" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "ungültige Port-Konfiguration: %s" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "Ungültiges Rezept '%[1]s': %[2]s" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3364,43 +3332,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "Ungültiger Wert '%[1]s' für Option '%[2]s'" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "Ungültiges Versionsverzeichnis %s" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "ungültige Version:" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "Schlüssel in Einstellungen nicht gefunden" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "Schlüsselwörter" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "Bibliotheken verfasst von Daniel Garcia" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "Nur von Adafruit erstellte Bibliotheken mit \"gfx\" im Namen" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "Bibliotheken, die mindestens von \"IRremote\" abhängen" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "Bibliotheken, die nur von \"IRremote\" abhängen" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "Bibliotheken mit \"buzzer\" im Feld Name" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "Bibliotheken mit einem Namen, der genau mit \"pcf8523\" übereinstimmt" @@ -3412,26 +3376,22 @@ msgstr "Bibliothek %s bereits installiert" msgid "library not valid" msgstr "Bibliothek nicht gültig" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "Auflistung der seriellen Schnittstellen" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "lade %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "Platinen werden geladen: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "json-Indexdatei laden %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "lade Bibliothek von %[1]s: %[2]s" @@ -3439,32 +3399,32 @@ msgstr "lade Bibliothek von %[1]s: %[2]s" msgid "loading library.properties: %s" msgstr "lade library.porperties: %s" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "Lade Plattform-Release %s" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "lade platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "Lade erforderliche Plattform %s" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "Lade erforderliches Tool %s" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "Lade Tool-Release in %s" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "suche nach boards.txt in %s" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3472,7 +3432,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "Hauptdatei fehlt im Sketch: %s" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "Fehlende '%s' Richtlinie" @@ -3480,7 +3440,7 @@ msgstr "Fehlende '%s' Richtlinie" msgid "missing checksum for: %s" msgstr "Fehlende Prüfsumme für: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "Fehlendes Paket %[1]s referenziert von Board %[2]s" @@ -3490,11 +3450,11 @@ msgstr "" "Fehlender Paketindex für %s, zukünftige Updates können nicht garantiert " "werden" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattform %[1]s:%[2]s referenziert von Board %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" @@ -3502,7 +3462,7 @@ msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" msgid "missing signature" msgstr "Fehlende Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "Monitor-Freigabe nicht gefunden: %s" @@ -3512,7 +3472,7 @@ msgstr "Monitor-Freigabe nicht gefunden: %s" msgid "moving extracted archive to destination dir: %s" msgstr "Verschieben des extrahierten Archivs in das Zielverzeichnis: %s" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "Mehrere Build-Artefakte gefunden: '%[1]s' und '%[2]s'" @@ -3528,11 +3488,11 @@ msgstr "" "Keine kompatible Version von %[1]s Tools für das aktuelle Betriebssystem " "gefunden wurde, kontaktiere bitte %[2]s" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "Keine Instanz angegeben" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "Kein Sketch oder Build-Verzeichnis/Datei angegeben" @@ -3546,15 +3506,15 @@ msgstr "" "Kein eindeutiges Stammverzeichnis im Archiv, gefunden wurde: '%[1]s' und " "'%[2]s'" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "Kein Upload-Port vorhanden" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "Kein gültiger Sketch in %[1]s gefunden : es fehlt %[2]s" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" "Keine Versionen für das aktuelle Betriebssystem verfügbar. Kontaktiere bitte" @@ -3569,14 +3529,10 @@ msgstr "Läuft nicht in einem Terminal" msgid "opening archive file: %s" msgstr "Archivdatei öffnen: %s" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "boards.txt wird geöffnet" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "Öffnen des Ports mit 1200bps" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "Öffne Signaturdatei: %s" @@ -3585,18 +3541,18 @@ msgstr "Öffne Signaturdatei: %s" msgid "opening target file: %s" msgstr "Öffne Zieldatei: %s" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "Paket %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "Paket '%s' nicht gefunden" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "parse FQBN: %s" @@ -3604,34 +3560,34 @@ msgstr "parse FQBN: %s" msgid "parsing library_index.json: %s" msgstr "parse library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "Pfad ist kein Plattformverzeichnis: %s" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "Plattform %[1]s nicht im Paket %[2]s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "Plattform %s ist nicht installiert" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "Plattform ist für dieses Betriebssystem nicht verfügbar" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "Plattform nicht installiert" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "Bitte verwende stattdessen --build-property." -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "Pluggable discovery bereits hinzugefügt: %s" @@ -3639,19 +3595,19 @@ msgstr "Pluggable discovery bereits hinzugefügt: %s" msgid "port" msgstr "Port" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "Port nicht gefunden: %[1]s %[2]s" +#: internal/cli/board/attach.go:34 +msgid "programmer" +msgstr "" + #: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "Protokollversion nicht unterstützt, gefordert: %[1]d, erhalten %[2]d" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" -msgstr "Protokollversion nicht unterstützt, gefordert 1, erhalten %d" - -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "Verzeichnis %[1]s wird gelesen: %[2]s" @@ -3659,10 +3615,10 @@ msgstr "Verzeichnis %[1]s wird gelesen: %[2]s" msgid "reading directory %[1]s content: %[2]w" msgstr "Lese Verzeichnis %[1]s, Inhalt: %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "Verzeichnis %s wird gelesen" @@ -3674,7 +3630,7 @@ msgstr "Lese Verzeichnis %s, Inhalt: %w" msgid "reading file %[1]s: %[2]s" msgstr "Datei %[1]s wird gelesen: %[2]s" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3698,11 +3654,15 @@ msgstr "lese library_index.json: %s" msgid "reading package root dir: %s" msgstr "Lese Paketstammverzeichnis: %s" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "Rezept nicht gefunden '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "Freigabe %[1]s für Werkzeug %[2]s nicht gefunden " @@ -3723,7 +3683,7 @@ msgstr "Entferne das Bibliotheksverzeichnis: %s" msgid "removing platform files: %s" msgstr "Entferne die Plattformdateien: %s" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "Erforderliche Version %[1]s für Plattform %[2]s nicht gefunden " @@ -3740,19 +3700,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "Suche im Stammverzeichnis des Pakets: %s" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "DTR auf OFF setzen" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "Sketchname darf nicht leer sein" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "Der Sketchname darf nicht der reservierte Name \"%[1]s\" sein." -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3762,11 +3718,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "Der Sketch-Pfad ist ungültig" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "Sketch-Pfad" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "Starte Discovery %s" @@ -3790,12 +3746,12 @@ msgstr "Prüfung der Integrität des lokalen Archivs: %s" msgid "text section exceeds available space in board" msgstr "Textbereich überschreitet den verfügbaren Platz auf der Platine" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "Die Kompilierdatenbank kann unvollständig oder ungenau sein" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "Der Server antwortete mit dem Status %s" @@ -3803,10 +3759,6 @@ msgstr "Der Server antwortete mit dem Status %s" msgid "timeout waiting for message" msgstr "Timeout beim Warten auf Nachricht" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "Timeout beim Warten auf Nachricht von %s" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." @@ -3816,7 +3768,7 @@ msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." msgid "tool %s not found" msgstr "Tool %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" @@ -3824,8 +3776,8 @@ msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" msgid "tool not installed" msgstr "Werkzeug nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "Werkzeugfreigabe nicht gefunden: %s" @@ -3833,7 +3785,7 @@ msgstr "Werkzeugfreigabe nicht gefunden: %s" msgid "tool version %s not found" msgstr "Werkzeugversion %s nicht gefunden" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3854,7 +3806,7 @@ msgstr "Konnte keinen Ordner zum Speichern des Sketchs erstellen" msgid "unable to create the folder containing the item" msgstr "Konnte Ordner, der das Objekt enthält, nicht erstellen" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "Konnte die Konfiguration nicht in YAML umwandeln: %v" @@ -3870,15 +3822,15 @@ msgstr "Inhalt der Quelle konnte nicht gelesen werden" msgid "unable to write to destination file" msgstr "Schreiben in Zieldatei unmöglich" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "unbekanntes Paket %s" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "unbekannte Plattform %s:%s" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "Unbekannte Sketch-Dateierweiterung '%s'" @@ -3894,11 +3846,11 @@ msgstr "Aktualisiere arduino:samd auf die neueste Version" msgid "upgrade everything to the latest version" msgstr "Aktualisiere alles auf die neueste Version" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "Hochladefehler: %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "Benutzerverzeichnis nicht gesetzt" @@ -3910,14 +3862,14 @@ msgstr "Benutzereingaben werden für das Ausgabeformat '%s' nicht unterstützt." msgid "user input not supported in non interactive mode" msgstr "Benutzereingaben werden im nicht interaktiven Modus nicht unterstützt" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "Version %s ist für dieses Betriebssystem nicht verfügbar" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "Version %s nicht gefunden" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "falsches Format in der Serverantwort" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index 03ac292fc58..cc007e473c8 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -17,11 +17,11 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "¡%[1]s ya no es compatible con la carpeta! %[2]s Para más información" @@ -33,31 +33,15 @@ msgstr "%[1]s inválido, reconstruyendo todo" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s es requerido pero %[2]s está actualmente instalado." -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "No se encuentra patrón %[1]s" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s, mensaje: %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s, puerto: %[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s, puertos: %[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, versión del protocolo: %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s ya está descargado" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s y %s no se pueden usar juntos" @@ -69,8 +53,8 @@ msgstr "%s instalado" msgid "%s is already installed." msgstr "%s ya está instalado." -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s no es un directorio" @@ -82,8 +66,8 @@ msgstr "%s no es manejado por el administrador de paquetes" msgid "%s must be installed." msgstr "%s debe ser instalado." -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "Falta el patrón %s " @@ -91,13 +75,13 @@ msgstr "Falta el patrón %s " msgid "'%s' has an invalid signature" msgstr "'%s' tiene una firma inválida" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(oculto)" @@ -125,11 +109,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "El archivo .ino ya existe" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "Una nueva versión de Arduino CLI está disponible:" @@ -150,7 +134,7 @@ msgstr "MANUAL DE LA LINEA DE COMANDOS DE ARDUINO" msgid "Additional help topics:" msgstr "Temas de ayuda adicionales:" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "Agrega uno o más valores a una configuración." @@ -166,31 +150,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "Todos los núcleos están en su última versión" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "Ya está instalado %s" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternativas para %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "Ocurrió un error añadiendo prototipos" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "Ocurrió un error detectando librerías" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "Registro de depuración añadido al archivo especificado" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "Arquitectura: %s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "El archivo ya existe" @@ -198,39 +182,39 @@ msgstr "El archivo ya existe" msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivando el núcleo construido (cacheado) en: %[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "Comandos de sketch de Arduino CLI." -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Interfaz de la línea de comandos de Arduino (arduino-cli)." -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "Comandos de la placa Arduino." -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "Comandos de cache de Arduino" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "Comandos sobre librerías de Arduino" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "Commandos de configuración de Arduino" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "Operaciones del núcleo Arduino" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "Errores en los argumentos: %v " @@ -238,7 +222,7 @@ msgstr "Errores en los argumentos: %v " msgid "Attaches a sketch to a board." msgstr "Conecta una tabla al sketch." -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "Autor: %s" @@ -248,13 +232,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "Disponible" @@ -262,20 +246,20 @@ msgstr "Disponible" msgid "Available Commands:" msgstr "Comandos disponibles:" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "Archivo binario para cargar." -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "Nombre de la placa" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "Nombre de la placa:" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "Versión de la placa:" @@ -283,7 +267,7 @@ msgstr "Versión de la placa:" msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichero Bootloader especificado pero ausente: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "La compilaciones de 'core.a' e guardan en esta ruta para ser cacheadas y " @@ -297,11 +281,12 @@ msgstr "No se puede crear el directorio de datos %s" msgid "Can't create sketch" msgstr "No se puede crear el sketch" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "No fue posible descargar la librería" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "No puedo encontrar las dependencias para la plataforma %s" @@ -310,10 +295,6 @@ msgstr "No puedo encontrar las dependencias para la plataforma %s" msgid "Can't open sketch" msgstr "No es posible abrir el sketch" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "No se puede establecer multiples valores a un mismo índice %v" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -322,27 +303,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "No se puede escribir el archivo de configuración: %v" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "No se puede crear el directorio de caché de compilación" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "No se puede crear el directorio de caché de compilación" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "No se puede crear el directorio de archivos de configuración: %v" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "No se puede crear el archivo de configuración: %v" @@ -354,18 +331,24 @@ msgstr "No se puede crear un directorio temporal" msgid "Cannot create temp file" msgstr "No se puede crear un archivo temporal" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "No se puede ejecutar la herramienta de depuración" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "No se puede encontrar la ruta absoluta: %v" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "No se puede instalar la plataforma" @@ -374,23 +357,24 @@ msgstr "No se puede instalar la plataforma" msgid "Cannot install tool %s" msgstr "No se puede instalar la herramienta %s" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "No se puede realizar el reinicio del puerto: %s" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "No se puede actualizar la plataforma" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" -msgstr "" - -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "Categoría: %s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "Comprueba el estado de las dependencias de la librería especificada." @@ -402,15 +386,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "El checksum difiere del checksum en package.json" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "Checksum:" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "Limpiando caches." -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Lista separada por comas de URLs adicionales para el Gestor de Tarjetas." @@ -423,19 +407,19 @@ msgstr "" "El comando sigue ejecutándose e imprime la lista de placas conectadas cada " "vez que hay un cambio." -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "Proyecto compilado no encontrado en %s" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "Compila los sketch de Arduino" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "Compilando el núcleo..." -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "Compilando librerías..." @@ -443,26 +427,26 @@ msgstr "Compilando librerías..." msgid "Compiling library \"%[1]s\"" msgstr "Compilando librería \"%[1]s\"" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "Compilando el sketch..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "El archivo de configuración ya existe, utilice --overwrite para descartar el" " existente." -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "Archivo de configuración escrito en: %s" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "Opciones de configuración para %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -476,23 +460,23 @@ msgstr "Configurando plataforma." msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." -msgstr "¡Conectado a %s! Pulse CTRL-C para salir." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "Núcleo" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "No se pudo conectar vía HTTP" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "No se ha podido crear el directorio índice." @@ -504,23 +488,23 @@ msgstr "" msgid "Couldn't determine program size" msgstr "No se pudo determinar el tamaño del programa" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "No se ha podido obtener el directorio de trabajo actual: %v" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "Crear un nuevo Sketch" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "Crea un archivo zip conteniendo todos los archivos del sketch." -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -528,22 +512,22 @@ msgstr "" "Crea o actualiza el archivo de configuración en el directorio de datos o " "directorio personalizado con los ajustes actuales." -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "OBSOLETO" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -556,49 +540,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Intérprete de depuración e.j.: %s" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "Depuración no soportada para la tarjeta: %s" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "Por defecto" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "Elimina una llave de configuraciones y sus sub-llaves." -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "Dependencias: %s" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "Descripción" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "Detectando las librerías usadas..." @@ -608,11 +596,11 @@ msgid "" msgstr "" "Detecta y muestra una lista de placas conectadas al computador actual." -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "La carpeta contiene archivos binarios para la depuración." -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "La carpeta contiene archivos binarias para subir." @@ -628,11 +616,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "Desconectado" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -648,20 +636,20 @@ msgstr "No sobrescribir librerías ya instaladas." msgid "Do not overwrite already installed platforms." msgstr "No sobrescribir plataformas ya instaladas." -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "Descargando %s" @@ -669,16 +657,17 @@ msgstr "Descargando %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Descargando el índice: %s" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "Descargando la librería %s" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "Descargando herramienta perdida %s" @@ -686,11 +675,11 @@ msgstr "Descargando herramienta perdida %s" msgid "Downloading packages" msgstr "Descargando paquetes" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "Descargando la plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "Descargando la herramienta%s" @@ -704,7 +693,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "Descarga una o más librerías sin instalarlas." -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -716,7 +705,7 @@ msgstr "Introduzca una ruta para el archivo zip" msgid "Enter git url for libraries hosted on repositories" msgstr "Introducir la url de git para librerías alojadas en repositorios" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "Error añadiendo sketch al archivo de sketch" @@ -724,58 +713,62 @@ msgstr "Error añadiendo sketch al archivo de sketch" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "Error calculando la ruta de archivo relativa" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "Error limpiando caches: %v" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "Error copiando el archivo de salida %s" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "Error creando la instancia: %v" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "Error al crear el directorio de salida" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "Error creando el archivo de sketch" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "Error creando el sketch: %v" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "Error detectando placas: %v" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "Error al descargar %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "Error descargando %s" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "Error descargando el índice '%s'" @@ -783,44 +776,40 @@ msgstr "Error descargando el índice '%s'" msgid "Error downloading index signature '%s'" msgstr "Error descargando el índice de firmas '%s'" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "Error descargando la librería %s" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "Error descargando la plataforma %s" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "Error descargando la herramienta %s" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -828,11 +817,11 @@ msgstr "" msgid "Error during install: %v" msgstr "Error durante la instalación: %v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "Error durante la desinstalacion: %v" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "Error durante la actualización: %v" @@ -841,23 +830,23 @@ msgstr "Error durante la actualización: %v" msgid "Error extracting %s" msgstr "Error extrayendo %s" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "Error obteniendo la ruta absoluta del archivo de sketch" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "Error obteniendo los detalles de la placa: %v" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" "Error obteniendo el directorio actual para la base de datos de compilación%s" @@ -868,62 +857,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "Error obteniendo información para la librería %s" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "Error obteniendo información de las librerías: %v" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "Error instalando la plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "Error instalando la herramienta %s" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "Error listando las placas: %v" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -935,8 +924,8 @@ msgstr "Error listando las plataformas: %v" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -944,27 +933,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "Error al leer el archivo de configuración: %v" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "Error leyendo los archivos del sketch" @@ -990,39 +975,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "Error en la búsqueda de placas: %v" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Error al desinstalar %[1]s: %[2]v" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1035,7 +1024,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1046,23 +1035,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1070,75 +1063,75 @@ msgstr "" msgid "Examples:" msgstr "Ejemplos:" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "Borrado del chip fallida" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "Archivo:" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1175,11 +1168,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1196,10 +1189,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "Banderas globales:" @@ -1216,21 +1213,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variables globales usan %[1]s bytes de memoria dinamica." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "Propiedades de identificación:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1244,7 +1241,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1252,30 +1249,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Instalado" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "Instalado %s" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "Instalando %s" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "Instalando la librería %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "Instalando la plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "Instalando la herramienta %s" @@ -1287,7 +1284,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "Error interno en la cache" @@ -1295,16 +1292,11 @@ msgstr "Error interno en la cache" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FQBN inválido" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1312,7 +1304,7 @@ msgstr "" msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" @@ -1320,13 +1312,13 @@ msgstr "URL adicional inválida: %v" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1338,6 +1330,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Instancia inválida" @@ -1350,19 +1346,23 @@ msgstr "" msgid "Invalid library" msgstr "Librería inválida" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1370,7 +1370,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "Parámetro inválido %s: versión no compatible" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1378,7 +1378,7 @@ msgstr "" msgid "Invalid profile" msgstr "Perfil inválido" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1386,38 +1386,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Versión inválida" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "LIBRERÍA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "Última" @@ -1425,22 +1421,22 @@ msgstr "Última" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "La librería %[1]s ya está instalada, pero en una versión diferente: %[2]s" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "La librería %s ya se encuentra en la versión más reciente" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "La librería %s no está instalada" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "Librería %s no encontrada" @@ -1448,7 +1444,7 @@ msgstr "Librería %s no encontrada" msgid "Library '%s' not found" msgstr "La librería '%s' no fue encontrada" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1457,25 +1453,26 @@ msgstr "" msgid "Library install failed" msgstr "La instalación de la librería no fue exitosa" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "Librería instalada" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "Licencia: %s" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1483,13 +1480,13 @@ msgstr "" msgid "List connected boards." msgstr "Listar las placas conectadas." -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1503,20 +1500,20 @@ msgstr "Enumera las librerías actualizables." msgid "List updatable platforms." msgstr "Enumera las plataformas actualizables." -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "Enumera todas las placas conectadas." -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "Ubicación" @@ -1525,20 +1522,26 @@ msgid "Low memory available, stability problems may occur." msgstr "" "Hay poca memoria disponible; pueden producirse problemas de estabilidad." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Falta '%[1]s' de la biblioteca en %[2]s" @@ -1562,7 +1565,7 @@ msgstr "Falta el protocolo del puerto" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1578,49 +1581,49 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "Monitor '%s' no encontrado" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Se encontraron varias bibliotecas para \"%[1]s\"" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "Nombre" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "Nombre: \"%s\"" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "No se encontraron placas." -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "No se encontraron las librerías." -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "No hay librerías instaladas." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "Ninguna librería concuerda con tu búsqueda." -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1628,7 +1631,7 @@ msgstr "" "Ninguna librería concuerda con tu búsqueda.\n" "Querías decir...\n" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1636,7 +1639,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1644,11 +1647,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "No hay plataformas que coincidan con su búsqueda." -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1662,75 +1665,75 @@ msgstr "" "No hay suficiente memoria, ver %[1]s para obtener consejos sobre cómo " "optimizar su código." -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "No utilizado: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "OS:" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "Placa oficial de Arduino:" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Abre un puerto de comunicación con una placa." -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "Opción:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1739,61 +1742,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "La plataforma %s ya está instalada" @@ -1801,7 +1805,7 @@ msgstr "La plataforma %s ya está instalada" msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1819,39 +1823,39 @@ msgstr "La plataforma '%s' ya se encuentra en su versión más reciente" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1867,11 +1871,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "Puerto" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "Puerto cerrado: %v" @@ -1884,23 +1888,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1912,15 +1920,15 @@ msgstr "Perfil '%s' no encontrado" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "Programadores:" @@ -1928,19 +1936,19 @@ msgstr "Programadores:" msgid "Property '%s' is undefined" msgstr "La propiedad '%s' no está definida" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "Protocolo" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "Reemplazando %[1]s con %[2]s" @@ -1948,22 +1956,16 @@ msgstr "Reemplazando %[1]s con %[2]s" msgid "Replacing platform %[1]s with %[2]s" msgstr "Reemplazando plataforma %[1]s con %[2]s" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "Herramienta requerida:" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1975,37 +1977,37 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Busca un núcleo in el Manager de Tarjetas usando las palabras clave " "especificadas." -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "Busca un núcleo in el Manager de Tarjetas." -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2052,65 +2054,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "Sentencia: %s" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "El servidor respondió con: %s" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "Muestra todos los núcleos disponibles." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2120,40 +2122,40 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "Mostrar solo los nombres de la librería." -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" "Muestra los núcleos y librerías obsoletas después de una actualización de " "índice" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2166,11 +2168,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "Mostrar la lista de plataformas instaladas." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "Muestra la lista de ejemplos para las librerías." -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2185,21 +2187,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "Tamaño (bytes):" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2225,7 +2227,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2237,7 +2239,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2258,23 +2260,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2286,13 +2292,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2302,23 +2312,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2336,7 +2346,7 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2344,7 +2354,7 @@ msgstr "" "Este comando muestra una lista de los núcleos o librerías instaladas\n" "que pueden ser actualizadas. Si ninguno necesita ser actualizado no se mostrará nada." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2357,39 +2367,39 @@ msgstr "La herramienta %s ya está instalada" msgid "Tool %s uninstalled" msgstr "La herramienta %s se desinstaló" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "Habilitar el modo verbose." -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "Tipo" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "Tipos: %s" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "URL:" @@ -2398,33 +2408,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "Desinstalando %s" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "Desinstalando %s, la herramienta ya no es requerida" @@ -2441,7 +2451,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Desinstalar una o más librerías." -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2449,27 +2459,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2477,11 +2487,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2493,11 +2503,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2506,7 +2516,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2514,7 +2524,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "Subir el binario después de la compilación." @@ -2526,12 +2536,12 @@ msgstr "Cargar el bootloader en la placa usando un programador externo." msgid "Upload the bootloader." msgstr "Cargar el bootloader." -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2545,27 +2555,27 @@ msgstr "Uso:" msgid "Use %s for more information about a command." msgstr "Use %spara más información acerca de un comando." -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Usado: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2595,25 +2605,25 @@ msgstr "Utilizando archivo previamente compilado: %[1]s" msgid "VERSION" msgstr "VERSIÓN" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2630,7 +2640,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2643,34 +2653,30 @@ msgstr "" "y puede ser incompatible con tu actual tarjeta la cual corre sobre " "arquitectura(s) %[3]s." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "Sitio web: %s" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2686,11 +2692,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2698,43 +2704,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2742,15 +2740,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "Candidatos" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2763,7 +2761,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "comando" @@ -2771,23 +2769,6 @@ msgstr "comando" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "comando fallido: %s" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2797,19 +2778,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2835,7 +2824,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2851,19 +2840,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2879,39 +2868,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "identificador de placa vacío" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2927,7 +2908,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2939,15 +2920,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "banderas" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2955,16 +2936,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2989,19 +2974,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -3009,7 +2994,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -3021,51 +3006,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3081,11 +3058,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "ítem inválido %s" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3121,31 +3098,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3156,43 +3133,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "Palabras clave" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3204,26 +3177,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "Listando los puertos seriales" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3231,32 +3200,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3264,7 +3233,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3272,7 +3241,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3280,11 +3249,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3292,7 +3261,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3302,7 +3271,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3316,11 +3285,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3332,15 +3301,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3353,14 +3322,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3369,18 +3334,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3388,34 +3353,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3423,19 +3388,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3443,10 +3408,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3458,7 +3423,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3482,11 +3447,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3507,7 +3476,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3524,19 +3493,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3545,11 +3510,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3573,12 +3538,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3586,10 +3551,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3599,7 +3560,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3607,8 +3568,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3616,7 +3577,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3634,7 +3595,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3650,15 +3611,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3674,11 +3635,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3690,14 +3651,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "versión %s no encontrada" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "Error de formato en la respuesta del servidor" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index cd4508d7335..83eb44897ad 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -11,11 +11,11 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "le dossier %[1]sn'est plus supporté ! Consulter%[2]s pour plus " @@ -29,31 +29,15 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s est un schéma manquant" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s déjà téléchargé" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%set%sne peuvent pas être téléchargé." @@ -65,8 +49,8 @@ msgstr "" msgid "%s is already installed." msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "" @@ -78,8 +62,8 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "" @@ -87,13 +71,13 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "" @@ -117,11 +101,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "" @@ -142,7 +126,7 @@ msgstr "Manuel d'Arduino Command Line" msgid "Additional help topics:" msgstr "Aide supplémentaire sur les sujets :" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "Ajouter une autre valeur à un réglage." @@ -158,31 +142,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "Tous les cœurs sont à jours vers la dernière version." -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "Déjà installé %s" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternative pour %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "Architecture : %s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "L'archive existe déjà" @@ -190,39 +174,39 @@ msgstr "L'archive existe déjà" msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivage du noyau construit (mise en cache) dans: %[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI croquis commandes." -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -230,7 +214,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "" @@ -240,13 +224,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "" @@ -254,20 +238,20 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -275,7 +259,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichier du bootloader spécifié mais absent: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -287,11 +271,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -300,10 +285,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -312,27 +293,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -344,18 +321,24 @@ msgstr "Impossible de créer le dossier temporaire" msgid "Cannot create temp file" msgstr "Impossible de créer le fichier temporaire" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -364,23 +347,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -392,15 +376,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -410,19 +394,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "Croquis compilé introuvable %s" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "Compilation des croquis Arduino." -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -430,24 +414,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "Compilation du croquis..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -461,23 +445,23 @@ msgstr "Configuration de la plateforme." msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "Connecté" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -489,44 +473,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -539,49 +523,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "Défaut" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -590,11 +578,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -608,11 +596,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -628,20 +616,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "Téléchargement %s" @@ -649,16 +637,17 @@ msgstr "Téléchargement %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -666,11 +655,11 @@ msgstr "" msgid "Downloading packages" msgstr "Téléchargement des paquets" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -682,7 +671,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -694,7 +683,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -702,58 +691,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -761,44 +754,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -806,11 +795,11 @@ msgstr "" msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -819,23 +808,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -845,62 +834,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "Erreur lors de l'installation de la librairie Zip : %v" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "Erreur lors de l'installation de la plateforme %s" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "Erreur lors de l’installation de l'outil %s." -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -912,8 +901,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -921,27 +910,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -967,39 +952,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1012,7 +1001,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1023,23 +1012,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1047,75 +1040,75 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1152,11 +1145,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1173,10 +1166,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1194,21 +1191,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Les variables globales utilisent %[1]s octets de mémoire dynamique." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1222,7 +1219,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1230,30 +1227,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Installé" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1265,7 +1262,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1273,16 +1270,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1290,7 +1282,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1298,13 +1290,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1316,6 +1308,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1328,19 +1324,23 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1348,7 +1348,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1356,7 +1356,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1364,38 +1364,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1403,21 +1399,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "" @@ -1425,7 +1421,7 @@ msgstr "" msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1434,25 +1430,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1460,13 +1457,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1480,20 +1477,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1503,20 +1500,26 @@ msgstr "" "La mémoire disponible faible, des problèmes de stabilité pourraient " "survenir." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Fichier manquant '%[1]s' de la bibliothèque dans %[2]s" @@ -1540,7 +1543,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1556,55 +1559,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Plusieurs bibliothèque trouvées pour \"%[1]s\"" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1612,7 +1615,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1620,11 +1623,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1638,75 +1641,75 @@ msgstr "" "Mémore insuffisante; consulter la page %[1]s pour obtenir des astuces sur " "comment le réduire." -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "Non utilisé: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1715,61 +1718,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1777,7 +1781,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1795,39 +1799,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1843,11 +1847,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1860,23 +1864,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1888,15 +1896,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1904,19 +1912,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1924,22 +1932,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1951,35 +1953,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2026,65 +2028,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2094,38 +2096,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2138,11 +2140,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2157,21 +2159,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2197,7 +2199,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2209,7 +2211,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2230,23 +2232,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2258,13 +2264,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2274,23 +2284,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2308,13 +2318,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2327,39 +2337,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2368,33 +2378,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2409,7 +2419,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2417,27 +2427,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2445,11 +2455,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2461,11 +2471,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2474,7 +2484,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2482,7 +2492,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2494,12 +2504,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2513,27 +2523,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Utilisé: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2566,25 +2576,25 @@ msgstr "Utilisation du fichier déjà compilé: %[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2601,7 +2611,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2614,34 +2624,30 @@ msgstr "" "architecture(s) %[2]s et peut être incompatible avec votre carte actuelle " "qui s'exécute sur %[3]s." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2657,11 +2663,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2669,43 +2675,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2713,15 +2711,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2734,7 +2732,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2742,23 +2740,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2768,19 +2749,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2806,7 +2795,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2822,19 +2811,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2850,39 +2839,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2898,7 +2879,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2910,15 +2891,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2926,16 +2907,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2960,19 +2945,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2980,7 +2965,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2992,51 +2977,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3052,11 +3029,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3092,31 +3069,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3127,43 +3104,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3175,26 +3148,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3202,32 +3171,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3235,7 +3204,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3243,7 +3212,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3251,11 +3220,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3263,7 +3232,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3273,7 +3242,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3287,11 +3256,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3303,15 +3272,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3324,14 +3293,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3340,18 +3305,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3359,34 +3324,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3394,19 +3359,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3414,10 +3379,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3429,7 +3394,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3453,11 +3418,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3478,7 +3447,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3495,19 +3464,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3516,11 +3481,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3544,12 +3509,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3557,10 +3522,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3570,7 +3531,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3578,8 +3539,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3587,7 +3548,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3605,7 +3566,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3621,15 +3582,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "impossible d’écrire dans le fichier de destination." -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "paquet inconnu %s" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "plateforme inconnue %s:%s" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "extension de croquis inconnue '%s' " @@ -3645,11 +3606,11 @@ msgstr "mise à jour de arduino:samd vers la dernière version" msgid "upgrade everything to the latest version" msgstr "tout mettre à jour tout vers la dernière version" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3661,14 +3622,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index 10e578b6ef5..01b99e39108 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -7,13 +7,13 @@ msgstr "" "Last-Translator: rel_m3, 2022\n" "Language-Team: Hebrew (https://app.transifex.com/arduino-1/teams/108174/he/)\n" "Language: he\n" -"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n" +"Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s גרסה: %[3]s קומיט: %[4]sתאריך: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" @@ -25,31 +25,15 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s תבנית חסרה" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s, הערה: %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s, פורט: %[2]s " - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, גרסאת פרוטוקול: %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "" @@ -61,8 +45,8 @@ msgstr "%s מותקן" msgid "%s is already installed." msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s אינו תיקייה" @@ -74,8 +58,8 @@ msgstr "%s אינו מנוהל על ידי מנהל ההתקנות" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "" @@ -83,13 +67,13 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(מוסתר)" @@ -113,11 +97,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "" @@ -138,7 +122,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "" @@ -154,31 +138,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "ארכיטקטורה: %s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "" @@ -186,39 +170,39 @@ msgstr "" msgid "Archiving built core (caching) in: %[1]s" msgstr "" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "פקודות סקיצה בשורת הפקודה של ארדואינו." -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "שורת הפקודה של ארדואינו." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "פקודות לוח של ארדואינו." -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -226,7 +210,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "" @@ -236,13 +220,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "" @@ -250,20 +234,20 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -271,7 +255,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -283,11 +267,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -296,10 +281,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -308,27 +289,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -340,18 +317,24 @@ msgstr "" msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -360,23 +343,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -388,15 +372,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -406,19 +390,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -426,24 +410,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "" -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -457,23 +441,23 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -485,44 +469,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -535,49 +519,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -586,11 +574,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -604,11 +592,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -624,20 +612,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "" @@ -645,16 +633,17 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -662,11 +651,11 @@ msgstr "" msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -678,7 +667,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -690,7 +679,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -698,58 +687,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -757,44 +750,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -802,11 +791,11 @@ msgstr "" msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -815,23 +804,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -841,62 +830,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -908,8 +897,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -917,27 +906,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -963,39 +948,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1008,7 +997,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1019,23 +1008,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1043,75 +1036,75 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1148,11 +1141,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1169,10 +1162,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1187,21 +1184,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1215,7 +1212,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1223,30 +1220,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1258,7 +1255,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1266,16 +1263,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1283,7 +1275,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1291,13 +1283,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1309,6 +1301,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1321,19 +1317,23 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1341,7 +1341,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1349,7 +1349,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1357,38 +1357,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1396,21 +1392,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "" @@ -1418,7 +1414,7 @@ msgstr "" msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1427,25 +1423,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1453,13 +1450,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1473,20 +1470,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1494,20 +1491,26 @@ msgstr "" msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" @@ -1531,7 +1534,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1547,55 +1550,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1603,7 +1606,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1611,11 +1614,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1627,75 +1630,75 @@ msgstr "" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1704,61 +1707,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1766,7 +1770,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1784,39 +1788,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1832,11 +1836,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1849,23 +1853,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1877,15 +1885,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1893,19 +1901,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1913,22 +1921,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1940,35 +1942,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2015,65 +2017,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2083,38 +2085,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2127,11 +2129,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2146,21 +2148,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2184,7 +2186,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2196,7 +2198,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2217,23 +2219,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2245,13 +2251,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2261,23 +2271,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2295,13 +2305,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2314,39 +2324,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2355,33 +2365,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2396,7 +2406,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2404,27 +2414,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2432,11 +2442,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2448,11 +2458,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2461,7 +2471,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2469,7 +2479,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2481,12 +2491,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2500,27 +2510,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2550,25 +2560,25 @@ msgstr "" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2585,7 +2595,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2595,34 +2605,30 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2638,11 +2644,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2650,43 +2656,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2694,15 +2692,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2715,7 +2713,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2723,23 +2721,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2749,19 +2730,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2787,7 +2776,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2803,19 +2792,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2831,39 +2820,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2879,7 +2860,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2891,15 +2872,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2907,16 +2888,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2941,19 +2926,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2961,7 +2946,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2973,51 +2958,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3033,11 +3010,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3073,31 +3050,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3108,43 +3085,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3156,26 +3129,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3183,32 +3152,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3216,7 +3185,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3224,7 +3193,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3232,11 +3201,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3244,7 +3213,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3254,7 +3223,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3268,11 +3237,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3284,15 +3253,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3305,14 +3274,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3321,18 +3286,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3340,34 +3305,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3375,19 +3340,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3395,10 +3360,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3410,7 +3375,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3434,11 +3399,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3459,7 +3428,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3476,19 +3445,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3497,11 +3462,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3525,12 +3490,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3538,10 +3503,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3551,7 +3512,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3559,8 +3520,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3568,7 +3529,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3586,7 +3547,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3602,15 +3563,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3626,11 +3587,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3642,14 +3603,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index 5386234f77e..8c0e6f3005c 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -7,20 +7,20 @@ # Gabriel F., 2022 # CLI team <prj_cli_team@arduino.cc>, 2022 # Gaia Castronovo <g.castronovo@arduino.cc>, 2023 -# Giovanni Scafora <scafora.giovanni@gmail.com>, 2023 +# Giovanni Scafora <scafora.giovanni@gmail.com>, 2024 # msgid "" msgstr "" -"Last-Translator: Giovanni Scafora <scafora.giovanni@gmail.com>, 2023\n" +"Last-Translator: Giovanni Scafora <scafora.giovanni@gmail.com>, 2024\n" "Language-Team: Italian (Italy) (https://app.transifex.com/arduino-1/teams/108174/it_IT/)\n" "Language: it_IT\n" "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Versione: %[3]s Commit: %[4]s Data: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "La cartella %[1]s non è più supportata! Vedere %[2]s per maggiori " @@ -34,31 +34,15 @@ msgstr "%[1]s non è valido, ricompilo tutto" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s è richiesto ma %[2]s risulta attualmente installato." -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "Manca il pattern %[1]s" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s, messaggio: %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s, porta: %[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s, porte: %[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, versione protocollo: %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr " %s già scaricato" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s e %s non possono essere usati insieme" @@ -70,8 +54,8 @@ msgstr "%s installato" msgid "%s is already installed." msgstr "%s è già installato." -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s non è una directory" @@ -83,8 +67,8 @@ msgstr "%s non è gestito dal gestore pacchetti" msgid "%s must be installed." msgstr "%s deve essere installato." -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "Manca il pattern %s" @@ -92,7 +76,7 @@ msgstr "Manca il pattern %s" msgid "'%s' has an invalid signature" msgstr "'%s' ha una firma invalida" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -100,7 +84,7 @@ msgstr "" "'build.core' e 'build.variant' fanno riferimento a piattaforme diverse: " "%[1]s and %[2]s" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(nascosto)" @@ -129,11 +113,11 @@ msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" "--git-url o --zip-path non possono essere usate con --install-in-builtin-dir" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "il file .ino è già presente" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "È disponibile una nuova versione di Arduino CLI:" @@ -154,7 +138,7 @@ msgstr "MANUALE DELLA LINEA DI COMANDO DI ARDUINO" msgid "Additional help topics:" msgstr "Informazioni aggiuntive:" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "Aggiunge uno o più valori a un'impostazione." @@ -170,31 +154,31 @@ msgstr "Tutte le piattaforme sono aggiornate." msgid "All the cores are already at the latest version" msgstr "Tutti i core sono già all'ultima versione" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "Già installato %s" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternative per %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "Si è verificato un errore durante l'aggiunta di un prototipo" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "Si è verificato un errore durante il rilevamento delle librerie" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "Aggiungi il log di debug in coda al file specificato" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "Architettura: %s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "L'archivio è già presente" @@ -202,39 +186,39 @@ msgstr "L'archivio è già presente" msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivio il core compilato (caching) in: %[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "Comandi degli sketch di Arduino CLI." -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI" -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Interfaccia a linea di comando di Arduino (arduino-cli)." -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "Comandi delle schede Arduino." -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "Comandi della cache Arduino." -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "Comandi Arduino riguardo le librerie." -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "Comandi di configurazione Arduino." -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "Operazioni core Arduino" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "Errore di argomenti: %v" @@ -242,7 +226,7 @@ msgstr "Errore di argomenti: %v" msgid "Attaches a sketch to a board." msgstr "Collega uno sketch ad una scheda." -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "Autore: %s" @@ -254,7 +238,7 @@ msgstr "" "Non è possibile eseguire l'installazione automatica della libreria, " "rimuovere manualmente tutti i duplicati e riprovare." -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -262,7 +246,7 @@ msgstr "" "La disinstallazione automatica delle librerie non può essere eseguita, " "rimuovile manualmente." -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "Disponibile" @@ -270,20 +254,20 @@ msgstr "Disponibile" msgid "Available Commands:" msgstr "Comandi disponibili:" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "File binario da caricare." -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "Nome scheda" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "Nome scheda:" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "Versione scheda:" @@ -291,7 +275,7 @@ msgstr "Versione scheda:" msgid "Bootloader file specified but missing: %[1]s" msgstr "Il file del bootloader specificato è inesistente: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Le build di 'core.a' vengono salvate in questo percorso per essere " @@ -305,11 +289,12 @@ msgstr "Non è possibile creare la directory dei dati %s" msgid "Can't create sketch" msgstr "Non è possibile creare lo sketch" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Non è possibile scaricare la libreria" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "Impossibile trovare le dipendenze per la piattaforma %s" @@ -318,10 +303,6 @@ msgstr "Impossibile trovare le dipendenze per la piattaforma %s" msgid "Can't open sketch" msgstr "Non è possibile aprire lo sketch" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "Non è possibile impostare valori multipli nella chiave %v" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "Impossibile aggiornare lo sketch" @@ -330,28 +311,24 @@ msgstr "Impossibile aggiornare lo sketch" msgid "Can't use the following flags together: %s" msgstr "Non è possibile utilizzare insieme i seguenti flag: %s" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "Non è possibile salvare il file di configurazione: %v" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "Non è possibile scrivere il log di debug: %s" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "Non è possibile creare la directory di build della cache." -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "Non è possibile creare la directory per la build" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" "Non è stato possibile creare la directory del file di configurazione: %v" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "Non è possibile creare il file di configurazione: %v" @@ -363,18 +340,24 @@ msgstr "Non è possibile creare la cartella temporanea" msgid "Cannot create temp file" msgstr "Non è possibile creare il file temporaneo" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Impossibile eliminare la chiave %[1]s: %[2]v" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "Non è possibile eseguire lo strumento di debug" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "Percorso assoluto non trovato: %v" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "Impossibile ottenere la chiave di configurazione %[1]s: %[2]v" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "Non è possibile installare la piattaforma" @@ -383,23 +366,24 @@ msgstr "Non è possibile installare la piattaforma" msgid "Cannot install tool %s" msgstr "Non è possibile installare il tool %s" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "Non è possibile effettuare il reset della porta: %s" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "Impossibile rimuovere la chiave di configurazione %[1]s: %[2]v" + #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "Non è possibile aggiornare la piattaforma" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" -msgstr "Impossibile scrivere il file %[1]s: %[2]v" - -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "Categoria: %s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "Controllare lo stato delle dipendenze per la libreria specificata." @@ -412,15 +396,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "Il checksum è diverso da quello presente in package.json" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "Checksum:" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "Pulire le cache." -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Elenco separato da virgole degli URL aggiuntivi per il Boards Manager." @@ -433,19 +417,19 @@ msgstr "" "Il comando continua a funzionare e stampa l'elenco delle schede collegate " "ogni volta che viene apportata una modifica." -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "Sketch compilato non trovato in %s" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "Compila gli sketch di Arduino." -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "Compilazione del core in corso..." -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "Compilazione delle librerie in corso..." @@ -453,26 +437,26 @@ msgstr "Compilazione delle librerie in corso..." msgid "Compiling library \"%[1]s\"" msgstr "Compilazione della libreria \"%[1]s\"" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "Compilazione dello sketch in corso..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "Il file di configurazione esiste già, usa --overwrite per sovrascrivere " "quello esistente." -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "File di configurazione scritto in: %s" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "Opzioni di configurazione per %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -488,23 +472,23 @@ msgstr "Configurazione della piattaforma." msgid "Configuring tool." msgstr "Strumento di configurazione." -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "Connesso" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." -msgstr "Connesso a %s! Premere CTRL-C per uscire." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "Connessione in corso a %s. Premere CTRL-C per uscire." -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "Core" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "Non è possibile connettersi via HTTP" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "Impossibile creare la directory dell'indice" @@ -517,23 +501,23 @@ msgstr "" msgid "Couldn't determine program size" msgstr "Non è possibile determinare la dimensione del programma" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "Impossibile ottenere la cartella di lavoro corrente: %v" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "Crea un nuovo Sketch" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "Crea e stampa una configurazione del profilo dalla build." -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "Crea un file zip contenente tutti gli sketch." -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -541,7 +525,7 @@ msgstr "" "Crea o aggiorna il file di configurazione nella directory dei dati o nella " "directory personalizzata con le impostazioni di configurazione correnti." -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -549,16 +533,16 @@ msgstr "" "Attualmente, i profili di compilazione supportano solo le librerie " "disponibili tramite Arduino Library Manager." -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "Configurazione personalizzata di %s:" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "DEPRECATO" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "Deamon è ora in ascolto su %s:%s" @@ -573,53 +557,57 @@ msgstr "" "Eseguire il debug degli sketch di Arduino. (questo comando apre una sessione" " gdb interattiva)" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Interprete di debug, ad esempio: %s" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "Debugging non supportato per la scheda %s" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "Predefinito" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "FQBN predefinito impostato su" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "Porta predefinita impostata su" -#: internal/cli/cache/clean.go:30 +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" +msgstr "Programmatore predefinito impostato su" + +#: internal/cli/cache/clean.go:31 msgid "Delete Boards/Library Manager download cache." msgstr "Elimina la cache delle Schede/Gestire di download delle Librerie" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -"Elimina il contenuto della cartella directories.downloads, dove i file di " -"archivio sono organizzati durante l'installazione delle librerie e delle " -"schede. " +"Cancella il contenuto della cartella cache dei download, in cui i file di " +"archivio sono collocati durante l'installazione delle librerie e delle " +"piattaforme delle schede." -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" "Elimina una chiave delle impostazioni e tutte le sue chiavi secondarie." -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "Dipendenze: %s" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "Descrizione" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "Rilevamento delle librerie utilizzate in corso..." @@ -628,11 +616,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Rileva e visualizza un elenco di schede collegate al computer." -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "Directory contenente i binari per il debug." -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "Directory contenente i file binari da caricare." @@ -649,11 +637,11 @@ msgid "Disable completion description for shells that support it" msgstr "" "Disabilita la descrizione del completamento per le shell che la supportano." -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "Disconnesso" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "Visualizza solo le chiamate gRPC fornite" @@ -669,23 +657,23 @@ msgstr "Non sovrascrivere le librerie già installate." msgid "Do not overwrite already installed platforms." msgstr "Non sovrascrivere le piattaforme già installate." -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" "Non eseguire il caricamento vero e proprio, ma solo le azioni di logout." -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "Non terminare il processo del demone se il processo principale muore" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" "Non tentare di aggiornare le dipendenze delle librerie se sono già " "installate." -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "Sto scaricando %s" @@ -693,16 +681,17 @@ msgstr "Sto scaricando %s" msgid "Downloading index signature: %s" msgstr "Sto scaricando la firma dell'indice: %s" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Sto scaricando l'indice: %s" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "Sto scaricando la libreria %s" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "Sto scaricando il tool mancante %s" @@ -710,11 +699,11 @@ msgstr "Sto scaricando il tool mancante %s" msgid "Downloading packages" msgstr "Sto scaricando i pacchetti" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "Sto scaricando la piattaforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "Sto scaricando il tool %s" @@ -726,7 +715,7 @@ msgstr "Scarica uno o più core e le corrispondenti dipendenze dei tool." msgid "Downloads one or more libraries without installing them." msgstr "Scarica uno o più librerie, senza installarle." -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "Abilita il debug logging delle chiamate gRPC" @@ -738,7 +727,7 @@ msgstr "Immettere il percorso del file zip" msgid "Enter git url for libraries hosted on repositories" msgstr "Immettere l'url del git delle librerie ospitate nei repository" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" "Si è verificato un errore durante l'aggiunta del file all'archivio dello " @@ -750,63 +739,68 @@ msgstr "" "Si è verificato un errore durante l'archiviazione del core compilato " "(caching) in %[1]s: %[2]s" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "Errore durante l'archiviazione: %v" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" "Si è verificato un errore durante il calcolo del percorso relativo del file" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "Si è verificato un errore durante la pulizia della cache: %v" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" "Si è verificato un errore durante la conversione del percorso in assoluto:: " "%v" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "Si è verificato un errore durante la copia del file di output %s" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" +"Si è verificato un errore durante la creazione della configurazione: %v" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "Si è verificato un errore durante la creazione dell'istanza: %v" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" "Si è verificato un errore durante la creazione della cartella di output" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" "Si è verificato un errore durante la creazione dell'archivio dello sketch" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "Errore durante la creazione dello sketch: %v" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "Si è verificato un errore durante il rilevamento delle schede: %v" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "Si è verificato un errore durante lo scaricamento di %[1]s:%[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "Si è verificato un errore durante lo scaricamento di %s" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "Si è verificato un errore durante lo scaricamento dell'indice '%s'" @@ -816,44 +810,40 @@ msgstr "" "Si è verificato un errore durante lo scaricamento della firma dell'indice " "'%s'" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "Errore durante il download della libreria %s" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "Errore durante il download della piattaforma %s" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "Errore durante il download del tool %s" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "Errore durante il debug: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "Si è verificato un errore durante il rilevamento FQBN: %v" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "Si è verificato un errore durante la codifica YAML dell'output: %v" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "Si è verificato un errore durante la compilazione: %v" @@ -861,11 +851,11 @@ msgstr "Si è verificato un errore durante la compilazione: %v" msgid "Error during install: %v" msgstr "Errore durante l'installazione: %v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "Si è verificato un errore durante la disintallazione: %v" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "Si è verificato un errore durante l'aggiornamento: %v" @@ -874,28 +864,28 @@ msgstr "Si è verificato un errore durante l'aggiornamento: %v" msgid "Error extracting %s" msgstr "Si è verificato un errore durante l'estrazione di %s" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" "Si è verificato un errore durante la ricerca degli artefatti di compilazione" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni di " "debug: %v" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" "Si è verificato un errore nell'acquisizione del percorso assoluto " "dell'archivio degli sketch" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "Impossibile ottenere i dettagli della scheda: %v" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" "Si è verificato un errore durante l'acquisizione della directory corrente " @@ -910,74 +900,74 @@ msgstr "" "`sketch.yaml`. Controllare se la cartella degli sketch è corretta oppure " "utilizzare il flag --port:: %s" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni della " "libreria %s" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "Impossibile ottenere le informazioni sulle librerie: %v" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" "Si è verificato un errore durante l'acquisizione dei metadati della porta: " "%v" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" "Si è verificato un errore durante l'acquisizione dei dettagli delle " "impostazioni della porta: %s" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" "Si è verificato un errore durante la ricezione dell'input da parte " "dell'utente" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "Si è verificato un errore durante l'inizializzazione dell'istanza: %v" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "Errore durante l'installazione %s: %v" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "Errore durante l'installazione della libreria Git: %v" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" "Si è verificato un errore durante l'installazione della libreria zip: %v" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "Si è verificato un errore durante l'installazione della libreria %s" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" "Si è verificato un errore durante l'installazione della piattaforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "Errore durante l'installazione del tool %s" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" "Si è verificato un errore durante la visualizzazione dell'elenco delle " "schede: %v" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "Errore nell'elenco delle librerie: %v" @@ -992,8 +982,8 @@ msgid "Error loading hardware platform" msgstr "" "Si è verificato un errore durante il caricamento della piattaforma hardware" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "Si è verificato un errore durante il caricamento dell'indice %s" @@ -1001,32 +991,28 @@ msgstr "Si è verificato un errore durante il caricamento dell'indice %s" msgid "Error opening %s" msgstr "Si è verificato un errore durante l'apertura di %s" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" "Si è verificato un errore durante l'apertura del file di log di debug: %s" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" "Si è verificato un errore durante l'apertura del codice sorgente che " "sovrascrive i file: %v" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" "Si è verificato un errore durante il parsing del flag --show-properties: %v" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" "Si è verificato un errore durante la lettura della directory di compilazione" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "Errore durante la lettura del file di configurazione: %v" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "Si è verificato un errore durante la lettura dei file degli sketch" @@ -1058,43 +1044,47 @@ msgstr "" "Si è verificato un errore durante il salvataggio della firma dell'indice " "scaricato" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "Si è verificato un errore durante la ricerca delle schede: %v" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "Si è verificato un errore durante la ricerca delle librerie: %v" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "Si è verificato un errore durante la ricerca delle piattaforme: %v" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" "Si è verificato un errore durante la serializzazione del database di " "compilazione: %s" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "Errore di impostazione della modalità raw: %s" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "Si è verificato un errore durante l'impostazione del valore: %v" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "Si è verificato un errore durante l'avvio della rilevazione: %v" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Si è verificato un errore durante la disinstallazione di %[1]s: %[2]v" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" "Si è verificato un errore durante l'aggiornamento dell'indice della " "libreria: %v" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "Si è verificato un errore durante l'aggiornamento delle librerie" @@ -1108,7 +1098,7 @@ msgstr "" msgid "Error verifying signature" msgstr "Si è verificato un errore durante la verifica della firma" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" "Si è verificato un errore durante il rilevamento delle librerie incluse da " @@ -1123,25 +1113,29 @@ msgstr "" "Si è verificato un errore durante la determinazione delle dimensioni dello " "sketch: %s" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" "Si è verificato un errore durante la scrittura del database di compilazione:" " %s" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "Si è verificato un errore durante la scrittura del file: %v" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "Errore: la descrizione del comando non è supportata da %v" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "Errore: il codice sorgente non è valido e sovrascrive i dati: %v" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "Evento" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "Esempi della libreria %s" @@ -1149,74 +1143,74 @@ msgstr "Esempi della libreria %s" msgid "Examples:" msgstr "Esempi:" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "Eseguibile per il debug" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Ci si aspettava che lo sketch compilato fosse nella directory %s, invece è " "un file" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "Impossibile cancellare il chip" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "Programmazione non riuscita" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "Impossibile masterizzare il bootloader" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "Impossibile creare la directory dei dati" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "Impossibile creare la directory degli scaricamenti" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s non è una porta valida." -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s è un nome sconosciuto." -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. Errore imprevisto: %[2]v" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Impossibile ascoltare sulla porta TCP: %s. L'indirizzo è già in uso." -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "Caricamento non riuscito" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "File:" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1224,7 +1218,7 @@ msgstr "" "La crittografia/firma del firmware richiede la definizione di tutte le " "seguenti proprietà: %s" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "Il primo messaggio deve contenere la richiesta di debug, non i dati." @@ -1269,11 +1263,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "Sono state trovate %d piattaforme corrispondenti \"%s\": %s" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Fully Qualified Board Name, ad esempio: arduino:avr:uno" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "Il server GDB '%s' non è supportato" @@ -1290,10 +1284,14 @@ msgstr "Genera gli script di completamento" msgid "Generates completion scripts for various shells" msgstr "Genera gli script di completamento per varie shell" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "Sto generando i prototipi di funzione..." +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "Ottiene il valore di una chiave di impostazione." + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "Flag globali:" @@ -1311,21 +1309,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Le variabili globali usano %[1]s byte di memoria dinamica." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "Proprietà identificative:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "Se impostato, i binari saranno esportati nella cartella degli sketch." @@ -1342,7 +1340,7 @@ msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" "Include le librerie integrate (dalle piattaforme e dall'IDE) nell'elenco." -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "Include %s directory nell'archivio." @@ -1350,30 +1348,30 @@ msgstr "Include %s directory nell'archivio." msgid "Install libraries in the IDE-Builtin directory" msgstr "Installare le librerie nella cartella IDE-Builtin" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Installato" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "Installato %s" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "Installazione %s" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "Sto installando la libreria %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "Sto installando la piattaforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "Sto installando il tool %s" @@ -1385,7 +1383,7 @@ msgstr "Installa uno o più core e le corrispondenti dipendenze dei tool." msgid "Installs one or more specified libraries into the system." msgstr "Installa nel sistema una o più librerie specificate." -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "Errore interno alla cache" @@ -1393,18 +1391,11 @@ msgstr "Errore interno alla cache" msgid "Invalid '%[1]s' property: %[2]s" msgstr "La proprietà '%[1]s' non è valida: %[2]s" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" -"Chiamata non valida: dovrebbe mostrare la guida, ma è disponibile solo in " -"modalità testo." - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FQBN non è valido" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "Indirizzo TCP non valido: manca la porta" @@ -1412,7 +1403,7 @@ msgstr "Indirizzo TCP non valido: manca la porta" msgid "Invalid URL" msgstr "URL non è valido" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "L' URL aggiuntivo non è valido: %v" @@ -1421,13 +1412,13 @@ msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" "L' archivio non è valido: il file %{1}snon è presente nell'archivio %{2}s" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "L' argomento passato non è valido: %v" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "Proprietà di compilazione non valide" @@ -1439,6 +1430,10 @@ msgstr "La dimensione dei dati della regexp non è valida: %s" msgid "Invalid eeprom size regexp: %s" msgstr "La dimensione della eeprom della regexp non è valida: %s" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "URL non valido: %s" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Istanza non è valida" @@ -1451,19 +1446,23 @@ msgstr "Oggetto invalido %s" msgid "Invalid library" msgstr "Libreria non è valida" -#: internal/cli/configuration/network.go:63 +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" +msgstr "Livello di log non valido: %s" + +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "Configurazione di rete non valida: %s" + +#: internal/cli/configuration/network.go:64 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy '%[1]s' non è valido: %[2]s" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" -msgstr "Opzione non valida per --log-level: %s" - -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "Indice del pacchetto non valido in %s" @@ -1471,7 +1470,7 @@ msgstr "Indice del pacchetto non valido in %s" msgid "Invalid parameter %s: version not allowed" msgstr "Il parametro %s non è valido: versione non consentita" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "Il valore pid non è valido: '%s'" @@ -1479,7 +1478,7 @@ msgstr "Il valore pid non è valido: '%s'" msgid "Invalid profile" msgstr "Il profilo non è valido" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "Scrittura non valida in platform.txt" @@ -1487,19 +1486,15 @@ msgstr "Scrittura non valida in platform.txt" msgid "Invalid size regexp: %s" msgstr "La dimensione della regexp non è valida: %s" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "Timeout non valido: %s" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Versione non è valida" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "Il valore di vid non è valido: '%s'" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1507,20 +1502,20 @@ msgstr "" "Produce solo il database di compilazione, senza compilare. Tutti i comandi " "di compilazione vengono saltati, ad eccezione dei pre* hooks." -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "LIBRERIA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "LIBRARY_NAME" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "Ultimo" @@ -1528,22 +1523,22 @@ msgstr "Ultimo" msgid "Library %[1]s has been declared precompiled:" msgstr "La libreria %[1]s è stata dichiarata precompilata:" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "La libreria %[1]s è già installata, ma con una versione differente: %[2]s" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "La libreria %s è già alla versione più recente" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "La libreria %s non è installata" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "Impossibile trovare la libreria %s" @@ -1551,7 +1546,7 @@ msgstr "Impossibile trovare la libreria %s" msgid "Library '%s' not found" msgstr "Impossibile trovare la libreria '%s'" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1562,19 +1557,20 @@ msgstr "" msgid "Library install failed" msgstr "Impossibile installare la libreria" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "La libreria è stata installata" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "Licenza: %s" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "Collegare tutto insieme..." -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1582,7 +1578,7 @@ msgstr "" "Elenca tutte le schede in cui è installata la piattaforma di supporto. È possibile cercare\n" "una scheda specifica, se si specifica il nome della scheda" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "Elenca tutte le schede conosciute e il corrispondente FQBN." @@ -1590,7 +1586,7 @@ msgstr "Elenca tutte le schede conosciute e il corrispondente FQBN." msgid "List connected boards." msgstr "Lista delle schede connesse." -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1598,7 +1594,7 @@ msgstr "" "Elenco delle opzioni della scheda separate da virgole. Oppure può essere " "usato più volte per più opzioni." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1614,20 +1610,20 @@ msgstr "Lista delle libreria con update disponibili." msgid "List updatable platforms." msgstr "Lista delle piattaforme con update disponibili." -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "Lista di tutte le schede connesse." -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "Elenca i core e le librerie che possono essere aggiornati" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "Sto caricando il file dell'indice: %v" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "Posizione" @@ -1636,23 +1632,31 @@ msgid "Low memory available, stability problems may occur." msgstr "" "Poca memoria disponibile, potrebbero presentarsi problemi di stabilità" -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "Manutentore: %s" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" +"Numero massimo di compilazioni parallele. Se impostato a 0, verrà utilizzato" +" il numero disponibile di core della CPU." + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" "Tempo massimo di attesa per la rilevazione della porta, ad es: 30s, 1m" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" "I messaggi con questo livello o superiore saranno registrati. I livelli " "validi sono: %s" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Manca '%[1]s' nella libreria %[2]s" @@ -1676,7 +1680,7 @@ msgstr "Manca il protocollo della porta" msgid "Missing programmer" msgstr "Manca il programmatore" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "Manca un campo obbligatorio del caricamento: %s" @@ -1692,49 +1696,49 @@ msgstr "Manca il percorso dello sketch" msgid "Monitor '%s' not found" msgstr "Impossibile trovare il monitor '%s'" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "Impostazioni sulla porta del monitor:" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Più di una libreria trovata per \"%[1]s\"" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "Nome" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "Nuova porta di caricamento: %[1]s (%[2]s)" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "Nessuna scheda trovata." -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" -msgstr "Nessuna porta predefinita o FQBN impostato" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" +msgstr "Nessuna porta predefinita, FQBN o programmatore impostato" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "Nessuna libreria trovata." -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "Nessuna libreria installata." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "Non ci sono librerie corrispondenti alla tua ricerca." -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1742,7 +1746,7 @@ msgstr "" "Non ci sono biblioteche corrispondenti alla tua ricerca.\n" "Intendevi dire...\n" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "Non sono disponibili aggiornamenti per le librerie." @@ -1750,7 +1754,7 @@ msgstr "Non sono disponibili aggiornamenti per le librerie." msgid "No monitor available for the port protocol %s" msgstr "Nessun monitor disponibile per il protocollo della porta %s" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "Non sono state trovate piattaforme o librerie non aggiornate." @@ -1758,11 +1762,11 @@ msgstr "Non sono state trovate piattaforme o librerie non aggiornate." msgid "No platforms installed." msgstr "Nessuna piattaforma installata." -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "Non ci sono piattaforme corrispondenti alla tua ricerca." -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" "Non è stata trovata alcuna porta di upload, come alternativa verrà " @@ -1777,19 +1781,19 @@ msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Memoria esaurita; guarda %[1]s per consigli su come ridurne l'utilizzo." -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "Non usata: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "Sistema Operativo:" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "Scheda Arduino ufficiale:" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1797,43 +1801,43 @@ msgstr "" "Omette i dettagli della libreria per tutte le versioni tranne la più recente" " (produce un output JSON più compatto)." -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Apre una porta di comunicazione con una scheda." -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "Opzione:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Facoltativo, può essere: %s. Utilizzato per indicare a gcc quale livello di " "warning utilizzare (flag -W)." -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Facoltativo, ripulisce la cartella di build e non usa nessuna build in " "cache." -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Facoltativo, ottimizza l'output di compilazione per il debug, piuttosto che " "per il rilascio." -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "Facoltativo, sopprime quasi tutti gli output." -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "Facoltativo, attiva la modalità verbosa." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1841,7 +1845,7 @@ msgstr "" "Facoltativo. Percorso di un file .json che contiene una serie di " "sostituzioni del codice sorgente dello sketch." -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1849,15 +1853,15 @@ msgstr "" "Sovrascrive una proprietà di build con un valore personalizzato. Può essere " "usato più volte per più proprietà." -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "Sovrascrivi la configurazione corrente del file." -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "Sovrascrivi un archivio già esistente" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "Sovrascrivi il file sketch .ino esistente" @@ -1866,35 +1870,35 @@ msgstr "Sovrascrivi il file sketch .ino esistente" msgid "PACKAGER" msgstr "PACKAGER" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "URL pacchetto:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "Manutentore del pacchetto: " -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "Nome pacchetto:" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "Aiuto in linea del pacchetto:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "Website pacchetto:" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "Paragrafo: %s" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "Percorso" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1902,7 +1906,7 @@ msgstr "" "Percorso di un gruppo di librerie. Può essere usato più volte o le voci " "possono essere separate da virgole." -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1910,11 +1914,11 @@ msgstr "" "Percorso della cartella principale di una singola libreria. Può essere usato" " più volte o le voci possono essere separate da virgole." -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "Percorso del file in cui verranno scritti i log." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1922,11 +1926,12 @@ msgstr "" "Percorso in cui salvare i file compilati. Se omesso, verrà creata una " "directory nel percorso temporaneo predefinito del tuo sistema operativo." -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Esecuzione di un touch reset a 1200-bps sulla porta seriale %s" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "La piattaforma %s è già installata" @@ -1934,7 +1939,7 @@ msgstr "La piattaforma %s è già installata" msgid "Platform %s installed" msgstr "La piattaforma %s è installata" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1954,39 +1959,39 @@ msgstr "La piattaforma '%s' è già aggiornata all'ultima versione" msgid "Platform '%s' not found" msgstr "Impossibile trovare la piattaforma '%s'" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "ID piattaforma" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "L' ID della piattaforma non è esatto" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "URL piattaforma:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "Architettura della piattaforma:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "Categoria della piattaforma:" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "Checksum della piattaforma:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "Nome del file della piattaforma:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "Nome piattaforma:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "Dimensione della piattaforma (bytes):" @@ -2006,11 +2011,11 @@ msgstr "" "Specificare un FQBN. La scheda sulla porta %[1]s con protocollo %[2]s non " "può essere identificata" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "Porta chiusa: %v" @@ -2023,23 +2028,27 @@ msgstr "Errore di monitoraggio della porta" msgid "Precompiled library in \"%[1]s\" not found" msgstr "Impossibile trovare la libreria precompilata in \"%[1]s\"" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "Visualizza i dettagli di una scheda." -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Stampa il codice preelaborato su stdout invece di compilarlo." -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "Stampa i log sull'output standard." -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "Stampa l'output in formato JSON." + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "Stampa la configurazione attuale" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "Stampa la configurazione attuale." @@ -2051,15 +2060,15 @@ msgstr "Impossibile trovare il profilo '%s'" msgid "Programmer '%s' not found" msgstr "Impossibile trovare il programmatore '%s'" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "Nome del programmatore" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "Programmatore da utilizzare, ad esempio: atmel_ice" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "Programmatori:" @@ -2067,19 +2076,19 @@ msgstr "Programmatori:" msgid "Property '%s' is undefined" msgstr "La proprietà '%s' non è definita" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "Protocollo" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "La dotazione comprende: %s" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "Rimuove uno o più valori da un'impostazione." -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "Sostituire %[1]s con %[2]s" @@ -2087,26 +2096,18 @@ msgstr "Sostituire %[1]s con %[2]s" msgid "Replacing platform %[1]s with %[2]s" msgstr "Sto sostituendo la piattaforma %[1]s con %[2]s" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "Tool richiesto:" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "Avvio come demone sulla porta: %s" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Avvio in modalità silenziosa, mostra solo l'ingresso e l'uscita del monitor." -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." -msgstr "" -"Avviato come demone, l'inizializzazione dei core e delle librerie viene " -"eseguita una sola volta." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." +msgstr "Avvia la CLI di Arduino come demone gRPC." #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." @@ -2117,38 +2118,38 @@ msgstr "Esecuzione della normale compilazione del core..." msgid "Running pre_uninstall script." msgstr "Sto avviando lo script pre_uninstall." -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "TERMINE_DI_RICERCA" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "Path del file SVD" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "Salva gli artefatti di compilazione in questa directory." -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Cerca una scheda nel gestore delle schede usando le parole chiave " "specificate." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "Cerca una scheda nel gestore delle schede." -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Cerca un core nel gestore delle schede, usando le parole chiave specificate." -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "Cerca un core nel gestore delle schede." -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2227,68 +2228,70 @@ msgstr "" "- Sito web\n" "\t\t" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "Cerca una o più biblioteche che corrispondono ad una ricerca." -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "Frase: %s" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "Path del server" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "Il server ha risposto con: %s" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "Tipo di server" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "Imposta un valore per un campo richiesto dal caricamento." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "Imposta il terminale in modalità raw (non bufferizzata)." -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "Imposta un valore di regolazione." #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -"Imposta i valori predefiniti per porta e FQBN. Se non viene specificata " -"alcuna porta o FQBN, vengono visualizzati la porta e l'FQBN predefiniti " -"correnti." +"Imposta i valori predefiniti per porta e FQBN. Se non vengono specificati " +"porta, FQBN o programmatore, vengono visualizzati la porta, l'FQBN ed il " +"programmatore predefiniti." -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "Imposta dove salvare il file di configurazione." -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "Impostazioni" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" -msgstr "La chiave delle impostazioni non esiste" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "" +"Dovrebbe mostrare un messaggio di aiuto, ma è disponibile solo in modalità " +"TESTO." -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "Mostra tutte le versioni del core disponibili." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "Mostra tutte le impostazioni della porta di comunicazione." -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" "Mostra anche le schede contrassegnate come 'nascoste' nella piattaforma." @@ -2302,11 +2305,11 @@ msgstr "" "show-properties=unexpanded\" se si desidera che siano esattamente come sono " "definite." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "Mostra tutti i dettagli delle schede" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2314,30 +2317,30 @@ msgstr "" "Visualizza informazioni dettagliate riguardanti una scheda, in particolare " "se ci sono opzioni che possono essere specificate tramite FQBN." -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "Mostra solo i nomi delle librerie." -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "Mostra l'elenco dei programmatori disponibili" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" "Mostra i metadati della sessione di debug invece di avviare il debugger." -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" "Mostra i core e le librerie non aggiornate dopo l'aggiornamento dell'indice" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "Mostra la lista delle librerie installate." -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2355,11 +2358,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "Mostra l'elenco delle piattaforme installate." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "Mostra l'elenco degli esempi delle librerie." -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2377,11 +2380,11 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "Mostra il numero di versione di Arduino CLI." -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "Dimensione (bytes):" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2389,11 +2392,11 @@ msgstr "" "Lo sketch non si trova nel percorso di compilazione. Specificare un percorso" " di compilazione diverso" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "Sketch è stato creato in: %s" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "Profilo dello sketch da utilizzare" @@ -2423,7 +2426,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "Salta il linking dell'eseguibile finale." -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Salto il touch reset a 1200-bps: nessuna porta seriale è stata selezionata!" @@ -2436,7 +2439,7 @@ msgstr "Salta la creazione dell'archivio di: %[1]s" msgid "Skipping compile of: %[1]s" msgstr "Salta la compilazione di: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Salta il rilevamento delle dipendenze della libreria precompilata %[1]s" @@ -2458,27 +2461,31 @@ msgstr "Salta la configurazione dello strumento." msgid "Skipping: %[1]s" msgstr "Salta: %[1]s" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "Non è stato possibile aggiornare alcuni indici." -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" "Alcuni aggiornamenti non sono andati a buon fine, controlla l'output per i " "dettagli." -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "La porta TCP su cui il demone si metterà in ascolto" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "Il formato di output del comando può essere: %s" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" "Il file di configurazione personalizzato (se non specificato, verrà " "utilizzato quello predefinito)." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "Il flag --debug-file deve essere usato con --debug." @@ -2490,7 +2497,11 @@ msgstr "La configurazione fornita scheda/programmatore NON supporta il debug." msgid "The given board/programmer configuration supports debugging." msgstr "La configurazione fornita scheda/programmatore supporta il debug." -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "L'istanza non è più valida e deve essere reinizializzata." + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2498,7 +2509,7 @@ msgstr "" "La chiave '%[1]v' non è un elenco di elementi, non può essere aggiunta.\n" "Forse si può usare '%[2]s'?" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2510,7 +2521,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "La libreria %s richiede altre installazioni:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2519,7 +2530,7 @@ msgstr "" "crittografare un binario durante il processo di compilazione. Utilizzata " "solo dalle piattaforme che la supportano." -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2528,11 +2539,11 @@ msgstr "" " durante il processo di compilazione. Utilizzata solo dalle piattaforme che " "la supportano." -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "Il formato di output dei log può essere: %s" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2557,7 +2568,7 @@ msgstr "" " vengono forniti argomenti, il comando aggiorna tutte le librerie installate" " per le quali è disponibile un aggiornamento." -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2565,7 +2576,7 @@ msgstr "" "Questo comando mostra un elenco di core e/o librerie installate\n" "che possono essere aggiornate. Se non è necessario aggiornare nulla, l'output è vuoto." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "Timestamp di ogni linea in entrata." @@ -2578,39 +2589,39 @@ msgstr "Il tool %s è già installato" msgid "Tool %s uninstalled" msgstr "Il tool %s è disinstallato" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "La toolchain '%s' non è supportata" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "Il percorso della toolchain" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "Il prefisso della toolchain" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "Il tipo della toolchain" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "Prova ad eseguire %s" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "Attiva la modalità verbosa." -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "Tipo" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "Tipi: %s" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "URL:" @@ -2621,33 +2632,33 @@ msgstr "" "Non è possibile memorizzare nella cache il core compilato, riferisci ai " "manutentori di %[1]s di seguire le istruzioni %[2]s" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "Impossibile ottenere la cartella documenti: %v" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "Impossibile ottenere la cartella dati dell'app locale: %v" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "Impossibile ottenere la home directory dell'utente: %v" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "Non è stato possibile analizzare l'URL" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "Disinstallazione di %s" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "Disinstallazione di %s, il tool non è più necessario." @@ -2664,7 +2675,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Disinstalla una o più librerie." -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "Sconosciuto" @@ -2672,28 +2683,28 @@ msgstr "Sconosciuto" msgid "Unknown FQBN" msgstr "FQBN sconosciuto" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "Aggiorna l'indice dei core e delle librerie" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" "Aggiorna l'indice dei core e delle librerie alle versioni più recenti." -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "Aggiorna l'indice dei core alla versione più recente." -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "Aggiorna l'indice dei core." -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "Aggiorna l'indice delle librerie alla versione più recente." -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "Aggiorna l'indice delle librerie." @@ -2701,11 +2712,11 @@ msgstr "Aggiorna l'indice delle librerie." msgid "Upgrade doesn't accept parameters with version" msgstr "L'aggiornamento non accetta parametri con la versione" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "Aggiorna i core e le librerie installate alla versione più recente." -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "Aggiorna i core e le librerie installate." @@ -2717,11 +2728,11 @@ msgstr "Aggiorna le librerie installate." msgid "Upgrades one or all installed platforms to the latest version." msgstr "Aggiorna una o tutte le piattaforme alla versione più recente." -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "Carica gli sketch di Arduino." -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2732,7 +2743,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Indirizzo della porta di caricamento, ad esempio: COM3 o /dev/ttyACM2" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "Porta di caricamento trovata su %s" @@ -2740,7 +2751,7 @@ msgstr "Porta di caricamento trovata su %s" msgid "Upload port protocol, e.g: serial" msgstr "Protocollo della porta di caricamento, ad esempio: seriale" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "Carica il binario dopo la compilazione." @@ -2753,14 +2764,14 @@ msgstr "" msgid "Upload the bootloader." msgstr "Carica il bootloader." -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" "Il caricamento sulla scheda specificata tramite il protocollo %s richiede le" " seguenti informazioni:" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2776,28 +2787,28 @@ msgstr "Uso: " msgid "Use %s for more information about a command." msgstr "Usa %s per ulteriori informazioni su un comando." -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "Libreria utilizzata" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "Piattaforma utilizzata" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Usata: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo della scheda '%[1]s' dalla piattaforma nella cartella: %[2]s" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Utilizzo delle dipendenze delle librerie nella cache per i file: %[1]s" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" @@ -2827,25 +2838,25 @@ msgstr "Uso il file precedentemente compilato: %[1]s" msgid "VERSION" msgstr "VERSIONE" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "VERSION_NUMBER" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "Valori" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "Verifica dei binari dopo il caricamento." -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "Versione" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "Versioni: %s" @@ -2862,7 +2873,7 @@ msgstr "ATTENZIONE non è possibile configurare lo strumento: %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "AVVISO non è possibile eseguire lo script pre_uninstall: %s" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ATTENZIONE: lo sketch è compilato utilizzando una o più librerie " @@ -2877,26 +2888,26 @@ msgstr "" "%[2]s e potrebbe non essere compatibile con la tua scheda che utilizza " "l'architettura %[3]s" -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "In attesa della porta di caricamento..." -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "Attenzione: la scheda %[1]s non definisce una preferenza per %[2]s. " "Autoimpostato su: %[3]s" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "Sito web: %s" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "Scrive la configurazione corrente in un file di configurazione." -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." @@ -2904,11 +2915,7 @@ msgstr "" "Scrive la configurazione corrente nel file di configurazione nella directory" " dei dati." -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "Scrittura del file di configurazione: %v" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Non puoi utilizzare il flag %s durante la compilazione con un profilo." @@ -2929,11 +2936,11 @@ msgstr "" "l'archivio non è valido: nessun file trovato nella cartella principale del " "file zip" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "percorso dell'archivio" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "Manca il pattern arduino-preprocessor" @@ -2941,43 +2948,35 @@ msgstr "Manca il pattern arduino-preprocessor" msgid "available only in text format" msgstr "disponibile solo in formato testo" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "ricerca di base per \"audio\"" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "ricerca di base per \"esp32\" e \"display\" limitata al manutentore ufficiale" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "file binario non trovato in %s" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "la scheda %s non è stata trovata" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "nomescheda" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "la directory delle librerie integrate non è configurata" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "Chiamata a %[1]s: %[2]w" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "Impossibile trovare l'ultima versione di %s" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "Impossibile trovare l'ultima versione del tool %s" @@ -2985,15 +2984,15 @@ msgstr "Impossibile trovare l'ultima versione del tool %s" msgid "can't find main Sketch file in %s" msgstr "Impossibile trovare il file principale dello sketch in %s" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "Non riesco a trovare un pattern per il rilevamento con id %s" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "candidati" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "Impossibile eseguire il tool di caricamento: %s" @@ -3006,7 +3005,7 @@ msgstr "Sto controllando l'integrità dell'archivio locale" msgid "cleaning build path" msgstr "pulizia del percorso di compilazione" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "comando" @@ -3014,23 +3013,6 @@ msgstr "comando" msgid "command '%[1]s' failed: %[2]s" msgstr "il comando '%[1]s' non è andato a buon fine: %[2]s" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "il comando non è andato a buon fine: %s" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -3040,19 +3022,27 @@ msgstr "comunicazione fuori sincronia, atteso '%[1]s', ricevuto '%[2]s'" msgid "computing hash: %s" msgstr "calcolo dell'hash: %s" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "La chiave della configurazione %s contiene un carattere non valido" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "Il valore della configurazione %s contiene un carattere non valido" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "copia della libreria nella directory di destinazione:" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "impossibile trovare un artefatto di compilazione valido" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "impossibile sovrascrivere" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "Impossibile rimuovere la vecchia libreria" @@ -3078,7 +3068,7 @@ msgstr "creazione di una directory temporanea per l'estrazione: %s" msgid "data section exceeds available space in board" msgstr "la sezione dati supera lo spazio disponibile nella scheda" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "la dipendenza '%s' non è disponibile" @@ -3095,19 +3085,19 @@ msgstr "il percorse della directory è già esistente" msgid "directory doesn't exist: %s" msgstr "la directory non esiste: %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "il processo di rilevamento %[1]s non è stato avviato: %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "rilevamento %s non è stato trovato" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "il rilevamento %s non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "il rilascio del rilevamento non è stato trovato: %s" @@ -3123,42 +3113,34 @@ msgstr "scarica l'ultima versione del core SAMD di Arduino." msgid "downloaded" msgstr "scaricato" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "sto scaricando il tool %[1]s: %[2]s" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "identificativo della scheda vuoto" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "si è verificato un errore durante il reset della scheda" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" "si è verificato un errore durante il caricamento del file di progetto dello " "sketch:" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "si è verificato un errore durante l'apertura di %s" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "valore di parsing dell'errore: %v" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "si è verificato un errore durante il parsing dei vincoli di versione" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" "si è verificato un errore durante l'elaborazione della risposta del server" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" "si è verificato un errore durante l'interrogazione di Arduino Cloud Api" @@ -3175,7 +3157,7 @@ msgstr "estrazione dell'archivio: %w" msgid "failed to compute hash of file \"%s\"" msgstr "Impossibile calcolare l'hash del file \"%s\"" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "Impossibile inizializzare il client http" @@ -3189,15 +3171,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "i file dell'archivio devono essere collocati in una sottodirectory" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "sto cercando il percorso assoluto di %s" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "flag" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "il seguente collegamento simbolico %s" @@ -3205,16 +3187,20 @@ msgstr "il seguente collegamento simbolico %s" msgid "for a specific version." msgstr "per una specifica versione." -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "per la versione più recente." -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "per la specifica versione." +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "il campo di fqbn %s contiene un carattere non valido" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "sto generando installation.id: %w" @@ -3239,22 +3225,22 @@ msgstr "sto recuperando le informazioni sull'archivio: %s" msgid "getting archive path: %s" msgstr "sto recuperando il percorso dell'archivio: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "sto recuperando le proprietà di costruzione della scheda %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze del rilevamento per la piattaforma %[1]s: " "%[2]s" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze del monitor per la piattaforma %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze dei tool per la piattaforma %[1]s: %[2]s" @@ -3263,7 +3249,7 @@ msgstr "" msgid "install directory not set" msgstr "La directory di installazione non è stata impostata" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "Sto installando il tool %[1]s: %[2]s" @@ -3276,51 +3262,43 @@ msgid "interactive terminal not supported for the '%s' output format" msgstr "" "il terminale interattivo non è supportato per il formato dell'output '%s'" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "la direttiva '%s' non è valida" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "il messaggio 'add' non è valido: porta mancante" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "il messaggio 'remove' non è valido: porta mancante" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "il formato del checksum non è valido: %s" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "l'opzione di configurazione non è valida: %s" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "l'architettura del core vuota non è valida '%s'" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "l'argomento del core vuoto non è valido" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "il nome del core vuoto non è valido '%s'" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "il riferimento al core vuoto non è valido '%s'" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "la versione del core vuota non è valida: '%s'" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "il nome della libreria vuoto non è valido" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "la versione della libreria vuota non è valida: %s" @@ -3336,11 +3314,11 @@ msgstr "url git non è valido" msgid "invalid hash '%[1]s': %[2]s" msgstr "hash non valido '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "elemento non valido %s" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "la direttiva della libreria non è valida:" @@ -3380,31 +3358,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "la dimensione dell'archivio della piattaforma non è valida: %s" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "l'identificatore della piattaforma non è valido" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "URL dell'indice della piattaforma non è valido:" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "il riferimento al monitor collegabile non è valido: %s" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "il valore di configurazione della porta non è valido per %s: %s" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "la configurazione della porta non è valida: %s" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "scrittura non valida '%[1]s': %[2]s" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3418,43 +3396,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "il valore '%[1]s' non è valido per l'opzione '%[2]s'" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "la directory della versione non è valida %s" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "la versione non è valida:" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "la chiave non è stata trovata nelle impostazioni" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "parole chiave" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "librerie create da Daniel Garcia" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "librerie create solo da Adafruit con \"gfx\" nel loro nome" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "librerie che dipendono almeno da \"IRremote\"" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "librerie che dipendono solo da \"IRremote\"" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "librerie con \"buzzer\" nel campo nome" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "librerie con un nome che corrisponde esattamente a \"pcf8523\"" @@ -3466,26 +3440,22 @@ msgstr "la libreria %s è già installata" msgid "library not valid" msgstr "la libreria non è valida" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "elenco delle porte seriali" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "caricamento di %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "caricamento delle schede: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "caricamento del file indice json %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "caricamento della libreria da %[1]s: %[2]s" @@ -3493,32 +3463,32 @@ msgstr "caricamento della libreria da %[1]s: %[2]s" msgid "loading library.properties: %s" msgstr "caricamento di library.properties: %s" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "rilascio della piattaforma di caricamento %s" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "caricamento di platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "caricamento della piattaforma richiesta %s" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "caricamento del tool richiesto %s" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "rilascio del tool di caricamento in %s" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "sto cercando boards.txt in %s" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "ricerca degli artefatti di compilazione in corso" @@ -3526,7 +3496,7 @@ msgstr "ricerca degli artefatti di compilazione in corso" msgid "main file missing from sketch: %s" msgstr "il file principale manca dallo sketch: %s" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "Manca la direttiva '%s'" @@ -3534,7 +3504,7 @@ msgstr "Manca la direttiva '%s'" msgid "missing checksum for: %s" msgstr "manca il checksum di: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "manca il pacchetto %[1]s a cui fa riferimento la scheda %[2]s" @@ -3544,11 +3514,11 @@ msgstr "" "Manca l'indice del pacchetto %s, non possono essere garantiti aggiornamenti " "futuri" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "manca la piattaforma %[1]s:%[2]s referenziata dalla scheda %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "manca la release della piattaforma %[1]s:%[2]s a cui fa riferimento la " @@ -3558,7 +3528,7 @@ msgstr "" msgid "missing signature" msgstr "Firma mancante" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "release del monitor non è stata trovata: %s" @@ -3568,7 +3538,7 @@ msgstr "release del monitor non è stata trovata: %s" msgid "moving extracted archive to destination dir: %s" msgstr "sto spostando l'archivio estratto nella directory di destinazione: %s" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "sono stati trovati più artefatti di compilazione: '%[1]s' e '%[2]s'" @@ -3584,11 +3554,11 @@ msgstr "" "non è disponibile una versione degli strumenti di %[1]s per il sistema " "operativo corrente, prova a contattare %[2]s" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "non è stata specificata alcuna istanza" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "non è stata specificata alcuna directory/file di sketch o di build" @@ -3602,15 +3572,15 @@ msgstr "" "non c'è una directory radice unica nell'archivio, ma sono state trovate " "'%[1]s' e '%[2]s'." -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "Non è stata fornita alcuna porta di upload" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "Non è stato trovato uno sketch valido in %[1]s: manca %[2]s" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" "non sono disponibili versioni per il sistema operativo corrente, prova a " @@ -3625,14 +3595,10 @@ msgstr "non è in esecuzione in un terminale" msgid "opening archive file: %s" msgstr "apertura del file di archivio: %s" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "apertura di boards.txt" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "apertura della porta a 1200bps" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "apertura del file della firma: %s" @@ -3641,18 +3607,18 @@ msgstr "apertura del file della firma: %s" msgid "opening target file: %s" msgstr "apertura del file di destinazione: %s" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "il pacchetto %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "Il pacchetto '%s' non è stato trovato" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "sto facendo il parsing di fqbn: %s" @@ -3660,34 +3626,34 @@ msgstr "sto facendo il parsing di fqbn: %s" msgid "parsing library_index.json: %s" msgstr "sto facendo il parsing di library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "il percorso non è una directory della piattaforma: %s" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "la piattaforma %[1]s non è stata trovata nel pacchetto %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "la piattaforma %s non è installata" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "la piattaforma non è disponibile per il sistema operativo in uso" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "piattaforma non installata" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "utilizza invece --build-property." -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "rilevamento collegabile già aggiunto: %s" @@ -3695,20 +3661,20 @@ msgstr "rilevamento collegabile già aggiunto: %s" msgid "port" msgstr "porta" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "la porta non è stata trovata: %[1]s %[2]s" +#: internal/cli/board/attach.go:34 +msgid "programmer" +msgstr "programmatore" + #: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" "la versione del protocollo non è supportata: richiesta %[1]d, ottenuta %[2]d" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" -msgstr "la versione del protocollo non è supportata: richiesta 1, ottenuta %d" - -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "lettura della directory %[1]s: %[2]s" @@ -3716,10 +3682,10 @@ msgstr "lettura della directory %[1]s: %[2]s" msgid "reading directory %[1]s content: %[2]w" msgstr "lettura del contenuto della directory %[1]s: %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "lettura cartella %s" @@ -3731,7 +3697,7 @@ msgstr "lettura del contenuto della directory %s: %w" msgid "reading file %[1]s: %[2]s" msgstr "lettura del file %[1]s: %[2]s" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "lettura dei file in corso" @@ -3755,11 +3721,15 @@ msgstr "lettura di library_index.json: %s" msgid "reading package root dir: %s" msgstr "lettura della directory principale del pacchetto: %s" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "lettura degli sketch in corso" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "scrittura non trovata '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "il rilascio %[1]s non è stato trovato per il tool %[2]s" @@ -3780,7 +3750,7 @@ msgstr "rimozione directory della libreria: %s" msgid "removing platform files: %s" msgstr "sto rimuovendo i file della piattaforma: %s" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" "la versione richiesta %[1]s non è stata trovata per la piattaforma %[2]s" @@ -3798,19 +3768,15 @@ msgstr "scansione degli esempi di sketch in corso" msgid "searching package root dir: %s" msgstr "ricerca nella directory principale del pacchetto: %s" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "sto impostando DTR su OFF" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "Il nome dello sketch non può essere vuoto" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "il nome dello sketch può essere riservato \"%[1]s\"" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3821,11 +3787,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "il percorso dello sketch non è valido" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "percorso dello sketch" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "Avvio della rilevazione %s" @@ -3849,12 +3815,12 @@ msgstr "verifica l'integrità dell'archivio locale: %s" msgid "text section exceeds available space in board" msgstr "la sezione del testo supera lo spazio disponibile nella scheda" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "il database di compilazione potrebbe essere incompleto o impreciso" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "il server ha risposto con lo stato %s" @@ -3862,10 +3828,6 @@ msgstr "il server ha risposto con lo stato %s" msgid "timeout waiting for message" msgstr "timeout in attesa del messaggio" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "timeout in attesa di un messaggio da %s" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "il tool %s non è gestito dal gestore dei pacchetti" @@ -3875,7 +3837,7 @@ msgstr "il tool %s non è gestito dal gestore dei pacchetti" msgid "tool %s not found" msgstr "Il tool %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" @@ -3883,8 +3845,8 @@ msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" msgid "tool not installed" msgstr "Il tool non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "il rilascio del tool non è stato trovato: %s" @@ -3892,7 +3854,7 @@ msgstr "il rilascio del tool non è stato trovato: %s" msgid "tool version %s not found" msgstr "la versione %s del tool non è stata trovata" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3912,7 +3874,7 @@ msgstr "non è possibile creare una cartella per salvare lo sketch" msgid "unable to create the folder containing the item" msgstr "non è possibile creare la cartella contenente l'elemento" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" "non è possibile eseguire il marshalling della configurazione in YAML: %v" @@ -3929,15 +3891,15 @@ msgstr "non è stato possibile leggere i contenuti della risorsa" msgid "unable to write to destination file" msgstr "non è possibile scrivere sul file di destinazione" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "pacchetto sconosciuto %s" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "piattaforma sconosciuta %s:%s" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "estensione sconosciuta per il file sketch \"%s\"" @@ -3953,11 +3915,11 @@ msgstr "aggiorna arduino:samd all'ultima versione" msgid "upgrade everything to the latest version" msgstr "aggiornare tutto con l'ultima versione disponibile" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "errore durante il caricamento: %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "la directory dell'utente non è configurata" @@ -3969,14 +3931,14 @@ msgstr "l'input dell'utente non è supportato per il formato dell'output '%s'" msgid "user input not supported in non interactive mode" msgstr "l'input dell'utente non è supportato nella modalità non interattiva" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "la versione %s non è disponibile per questo sistema operativo" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "la versione %s non è stata trovata" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "formato errato nella risposta del server" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 0d3d4ffdec3..dcabc53cf9c 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -11,11 +11,11 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" @@ -27,31 +27,15 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s パターンが見つかりません" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s, メッセージ: %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s, ポート: %[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s, ポート: %[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, プロトコルバージョン: %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%sはすでにダウンロードされています" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%sと%sは同時に利用できません" @@ -63,8 +47,8 @@ msgstr "%sをインストールしました" msgid "%s is already installed." msgstr "%sはすでにインストールされています。" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%sはディレクトリではありません" @@ -76,8 +60,8 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "" @@ -85,13 +69,13 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "" @@ -115,11 +99,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "" @@ -140,7 +124,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "" @@ -156,31 +140,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "" @@ -188,39 +172,39 @@ msgstr "" msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sにビルドされたコア(キャッシュ)をアーカイブ中です" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -228,7 +212,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "" @@ -238,13 +222,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "" @@ -252,20 +236,20 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -273,7 +257,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "ブートローダのファイルが指定されましたが次が不足しています:%[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -285,11 +269,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -298,10 +283,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -310,27 +291,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -342,18 +319,24 @@ msgstr "" msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -362,23 +345,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -390,15 +374,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -408,19 +392,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -428,24 +412,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "スケッチをコンパイルしています..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -459,23 +443,23 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -487,44 +471,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -537,49 +521,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "初期値" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -588,11 +576,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -606,11 +594,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -626,20 +614,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "" @@ -647,16 +635,17 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -664,11 +653,11 @@ msgstr "" msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -680,7 +669,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -692,7 +681,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -700,58 +689,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -759,44 +752,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -804,11 +793,11 @@ msgstr "" msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -817,23 +806,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -843,62 +832,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -910,8 +899,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -919,27 +908,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -965,39 +950,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1010,7 +999,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1021,23 +1010,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1045,75 +1038,75 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1150,11 +1143,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1171,10 +1164,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1190,21 +1187,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "グローバル変数は%[1]sバイトのRAMを使用しています。" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1218,7 +1215,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1226,30 +1223,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "インストール済" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1261,7 +1258,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1269,16 +1266,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1286,7 +1278,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1294,13 +1286,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1312,6 +1304,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1324,19 +1320,23 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1344,7 +1344,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1352,7 +1352,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1360,38 +1360,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1399,21 +1395,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "" @@ -1421,7 +1417,7 @@ msgstr "" msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1430,25 +1426,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1456,13 +1453,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1476,20 +1473,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1497,20 +1494,26 @@ msgstr "" msgid "Low memory available, stability problems may occur." msgstr "スケッチが使用できるメモリが少なくなっています。動作が不安定になる可能性があります。" -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]sのライブラリに「%[1]s」がありません" @@ -1534,7 +1537,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1550,55 +1553,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "「%[1]s」に対して複数のライブラリが見つかりました" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1606,7 +1609,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1614,11 +1617,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1630,75 +1633,75 @@ msgstr "" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "スケッチが使用するメモリが足りません。メモリを節約する方法については、以下のURLのページを参照してください。%[1]s" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "未使用:%[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1707,61 +1710,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1769,7 +1773,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1787,39 +1791,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1835,11 +1839,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "シリアルポート" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1852,23 +1856,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1880,15 +1888,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1896,19 +1904,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1916,22 +1924,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1943,35 +1945,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2018,65 +2020,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2086,38 +2088,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2130,11 +2132,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2149,21 +2151,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2187,7 +2189,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2199,7 +2201,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2220,23 +2222,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2248,13 +2254,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2264,23 +2274,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2298,13 +2308,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2317,39 +2327,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "タイプ" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2358,33 +2368,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2399,7 +2409,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2407,27 +2417,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2435,11 +2445,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2451,11 +2461,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2464,7 +2474,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2472,7 +2482,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2484,12 +2494,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2503,27 +2513,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "使用済:%[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2553,25 +2563,25 @@ msgstr "以前コンパイルされたファイルを使用中:%[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2588,7 +2598,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2599,34 +2609,30 @@ msgid "" msgstr "" "警告:ライブラリ%[1]sはアーキテクチャ%[2]sに対応したものであり、アーキテクチャ%[3]sで動作するこのボードとは互換性がないかもしれません。" -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2642,11 +2648,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2654,43 +2660,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2698,15 +2696,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2719,7 +2717,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2727,23 +2725,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2753,19 +2734,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2791,7 +2780,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2807,19 +2796,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2835,39 +2824,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2883,7 +2864,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2895,15 +2876,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2911,16 +2892,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2945,19 +2930,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2965,7 +2950,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2977,51 +2962,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3037,11 +3014,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3077,31 +3054,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3112,43 +3089,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3160,26 +3133,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3187,32 +3156,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3220,7 +3189,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3228,7 +3197,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3236,11 +3205,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3248,7 +3217,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3258,7 +3227,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3272,11 +3241,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3288,15 +3257,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3309,14 +3278,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3325,18 +3290,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3344,34 +3309,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3379,19 +3344,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3399,10 +3364,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3414,7 +3379,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3438,11 +3403,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3463,7 +3432,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3480,19 +3449,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3501,11 +3466,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3529,12 +3494,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3542,10 +3507,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3555,7 +3516,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3563,8 +3524,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3572,7 +3533,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3590,7 +3551,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3606,15 +3567,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3630,11 +3591,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3646,14 +3607,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index 2050a50a1d0..e643a9fe945 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -9,11 +9,11 @@ msgstr "" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" @@ -25,31 +25,15 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s 패턴이 없습니다" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "" @@ -61,8 +45,8 @@ msgstr "" msgid "%s is already installed." msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "" @@ -74,8 +58,8 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "" @@ -83,13 +67,13 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "" @@ -113,11 +97,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "" @@ -138,7 +122,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "" @@ -154,31 +138,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "" @@ -186,39 +170,39 @@ msgstr "" msgid "Archiving built core (caching) in: %[1]s" msgstr "" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "" -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -226,7 +210,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "" @@ -236,13 +220,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "" @@ -250,20 +234,20 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -271,7 +255,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "부트로더 파일이 지정되었으나 누락됨: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -283,11 +267,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -296,10 +281,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -308,27 +289,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -340,18 +317,24 @@ msgstr "" msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -360,23 +343,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -388,15 +372,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -406,19 +390,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -426,24 +410,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "스케치를 컴파일 중…" -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -457,23 +441,23 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -485,44 +469,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -535,49 +519,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "디폴트" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -586,11 +574,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -604,11 +592,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -624,20 +612,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "" @@ -645,16 +633,17 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -662,11 +651,11 @@ msgstr "" msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -678,7 +667,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -690,7 +679,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -698,58 +687,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -757,44 +750,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -802,11 +791,11 @@ msgstr "" msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -815,23 +804,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -841,62 +830,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -908,8 +897,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -917,27 +906,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -963,39 +948,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1008,7 +997,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1019,23 +1008,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1043,75 +1036,75 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1148,11 +1141,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1169,10 +1162,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1188,21 +1185,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "전역 변수는 %[1]s 바이트의 동적 메모리를 사용." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1216,7 +1213,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1224,30 +1221,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "설치됨" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1259,7 +1256,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1267,16 +1264,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1284,7 +1276,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1292,13 +1284,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1310,6 +1302,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1322,19 +1318,23 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1342,7 +1342,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1350,7 +1350,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1358,38 +1358,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1397,21 +1393,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "" @@ -1419,7 +1415,7 @@ msgstr "" msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1428,25 +1424,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1454,13 +1451,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1474,20 +1471,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1495,20 +1492,26 @@ msgstr "" msgid "Low memory available, stability problems may occur." msgstr "사용 가능한 메모리 부족, 안정성에 문제가 생길 수 있습니다." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "라이브러리 %[2]s에서 '%[1]s'가 없음" @@ -1532,7 +1535,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1548,55 +1551,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "\"%[1]s\"를 위한 복수개의 라이브러리가 발견되었습니다" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1604,7 +1607,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1612,11 +1615,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1628,75 +1631,75 @@ msgstr "" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "메모리가 충분하지 않음; 메모리를 줄이기 위한 팁을 위해 다음 링크를 참고하세요%[1]s" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "사용되지 않음: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1705,61 +1708,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1767,7 +1771,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1785,39 +1789,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1833,11 +1837,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "포트" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1850,23 +1854,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1878,15 +1886,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1894,19 +1902,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1914,22 +1922,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1941,35 +1943,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2016,65 +2018,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2084,38 +2086,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2128,11 +2130,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2147,21 +2149,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2185,7 +2187,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2197,7 +2199,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2218,23 +2220,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2246,13 +2252,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2262,23 +2272,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2296,13 +2306,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2315,39 +2325,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "타입" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2356,33 +2366,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2397,7 +2407,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2405,27 +2415,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2433,11 +2443,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2449,11 +2459,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2462,7 +2472,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2470,7 +2480,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2482,12 +2492,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2501,27 +2511,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "사용됨: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2551,25 +2561,25 @@ msgstr "이전에 컴파일된 파일: %[1]s 사용" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2586,7 +2596,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2597,34 +2607,30 @@ msgid "" msgstr "" "경고: 라이브러리 %[1]s가 %[2]s 아키텍처에서 실행되며 %[3]s아키텍처에서 실행되는 현재보드에서는 호환되지 않을 수 있습니다." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2640,11 +2646,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2652,43 +2658,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2696,15 +2694,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2717,7 +2715,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2725,23 +2723,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2751,19 +2732,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2789,7 +2778,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2805,19 +2794,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2833,39 +2822,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2881,7 +2862,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2893,15 +2874,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2909,16 +2890,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2943,19 +2928,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2963,7 +2948,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2975,51 +2960,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3035,11 +3012,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3075,31 +3052,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3110,43 +3087,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3158,26 +3131,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3185,32 +3154,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3218,7 +3187,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3226,7 +3195,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3234,11 +3203,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3246,7 +3215,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3256,7 +3225,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3270,11 +3239,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3286,15 +3255,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3307,14 +3276,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3323,18 +3288,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3342,34 +3307,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3377,19 +3342,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3397,10 +3362,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3412,7 +3377,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3436,11 +3401,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3461,7 +3430,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3478,19 +3447,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3499,11 +3464,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3527,12 +3492,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3540,10 +3505,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3553,7 +3514,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3561,8 +3522,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3570,7 +3531,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3588,7 +3549,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3604,15 +3565,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3628,11 +3589,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3644,14 +3605,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index 41eec671cb6..f874e68305b 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -9,11 +9,11 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" @@ -25,31 +25,15 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s schon erofgelueden" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "" @@ -61,8 +45,8 @@ msgstr "%s installéiert" msgid "%s is already installed." msgstr "%s ass schon installéiert." -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "" @@ -74,8 +58,8 @@ msgstr "" msgid "%s must be installed." msgstr "%s muss installéiert ginn." -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "" @@ -83,13 +67,13 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(verstoppt)" @@ -113,11 +97,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "" @@ -138,7 +122,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "" @@ -154,31 +138,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "" @@ -186,39 +170,39 @@ msgstr "" msgid "Archiving built core (caching) in: %[1]s" msgstr "" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -226,7 +210,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "Auteur: %s" @@ -236,13 +220,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "" @@ -250,20 +234,20 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -271,7 +255,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -283,11 +267,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Kann Bibliothéik net roflueden" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -296,10 +281,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -308,27 +289,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -340,18 +317,24 @@ msgstr "" msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -360,23 +343,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "Kategorie: %s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -388,15 +372,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -406,19 +390,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -426,24 +410,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "" -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -457,23 +441,23 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -485,44 +469,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -535,49 +519,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "Beschreiwung" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -586,11 +574,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -604,11 +592,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -624,20 +612,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "" @@ -645,16 +633,17 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -662,11 +651,11 @@ msgstr "" msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -678,7 +667,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -690,7 +679,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -698,58 +687,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -757,44 +750,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -802,11 +791,11 @@ msgstr "" msgid "Error during install: %v" msgstr "Feeler wärend der Installatioun: %v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -815,23 +804,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -841,62 +830,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "Feeler bei der Installatioun vun %s: %v" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "Feeler bei der Installatioun vun der Bibliothéik %s" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -908,8 +897,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -917,27 +906,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -963,39 +948,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1008,7 +997,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1019,23 +1008,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "Beispiller fir d'Bibliothéik %s" @@ -1043,75 +1036,75 @@ msgstr "Beispiller fir d'Bibliothéik %s" msgid "Examples:" msgstr "Beispiller:" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1148,11 +1141,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1169,10 +1162,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1187,21 +1184,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1215,7 +1212,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1223,30 +1220,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Installéiert" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1258,7 +1255,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1266,16 +1263,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1283,7 +1275,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1291,13 +1283,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1309,6 +1301,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1321,19 +1317,23 @@ msgstr "" msgid "Invalid library" msgstr "Ongülteg Bibliothéik" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1341,7 +1341,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1349,7 +1349,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1357,38 +1357,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Ongülteg Versioun" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "BIBLIOTHEIK" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1396,21 +1392,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "D'Bibliothéik %s huet schon déi neisten Versioun" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "Bibliothéik %s ass net installéiert" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "Bibliothéik %s net fonnt" @@ -1418,7 +1414,7 @@ msgstr "Bibliothéik %s net fonnt" msgid "Library '%s' not found" msgstr "Bibliothéik '%s' net fonnt" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1427,25 +1423,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "Bibliothéik installéiert" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1453,13 +1450,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1473,20 +1470,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1494,20 +1491,26 @@ msgstr "" msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" @@ -1531,7 +1534,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1547,55 +1550,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "Numm" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "Numm: \"%s\"" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1603,7 +1606,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1611,11 +1614,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1627,75 +1630,75 @@ msgstr "" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "Optioun:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1704,61 +1707,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1766,7 +1770,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1784,39 +1788,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1832,11 +1836,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1849,23 +1853,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1877,15 +1885,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1893,19 +1901,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1913,22 +1921,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1940,35 +1942,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2015,65 +2017,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "Astellung" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2083,38 +2085,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2127,11 +2129,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2146,21 +2148,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "Gréisst (Bytes):" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2184,7 +2186,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2196,7 +2198,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2217,23 +2219,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2245,13 +2251,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2261,23 +2271,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2295,13 +2305,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2314,39 +2324,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2355,33 +2365,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2396,7 +2406,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "Onbekannt" @@ -2404,27 +2414,27 @@ msgstr "Onbekannt" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2432,11 +2442,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2448,11 +2458,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2461,7 +2471,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2469,7 +2479,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2481,12 +2491,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2500,27 +2510,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "Benotzten Bibliothéik" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Benotzt: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2550,25 +2560,25 @@ msgstr "" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "Versioun" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "Versiounen: %s" @@ -2585,7 +2595,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2595,34 +2605,30 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "Websäit: %s" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2638,11 +2644,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2650,43 +2656,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2694,15 +2692,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2715,7 +2713,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2723,23 +2721,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2749,19 +2730,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2787,7 +2776,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2803,19 +2792,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2831,39 +2820,31 @@ msgstr "" msgid "downloaded" msgstr "erofgelueden" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2879,7 +2860,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2891,15 +2872,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2907,16 +2888,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2941,19 +2926,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2961,7 +2946,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2973,51 +2958,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "ongültegen, eidelen Bibliothéiksnumm" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "ongülteg, eidel Bibliothéiksversioun: %s" @@ -3033,11 +3010,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3073,31 +3050,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3108,43 +3085,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "Ongülteg Versioun" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3156,26 +3129,22 @@ msgstr "Bibliothéik %s ass schon installéiert" msgid "library not valid" msgstr "Bibliothéik ongülteg" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3183,32 +3152,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3216,7 +3185,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3224,7 +3193,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3232,11 +3201,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3244,7 +3213,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3254,7 +3223,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3268,11 +3237,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3284,15 +3253,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3305,14 +3274,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3321,18 +3286,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3340,34 +3305,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3375,19 +3340,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3395,10 +3360,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3410,7 +3375,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3434,11 +3399,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3459,7 +3428,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3476,19 +3445,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3497,11 +3462,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3525,12 +3490,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3538,10 +3503,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3551,7 +3512,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3559,8 +3520,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3568,7 +3529,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3586,7 +3547,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3602,15 +3563,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3626,11 +3587,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3642,14 +3603,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/ne.po b/internal/i18n/data/ne.po index c471a0ea11e..5df26d23900 100644 --- a/internal/i18n/data/ne.po +++ b/internal/i18n/data/ne.po @@ -9,11 +9,11 @@ msgstr "" "Language: ne\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]sसंस्करण: %[3]s प्रतिबद्ध: %[4]s मिति:%[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" @@ -25,31 +25,15 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "" @@ -61,8 +45,8 @@ msgstr "" msgid "%s is already installed." msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "" @@ -74,8 +58,8 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "" @@ -83,13 +67,13 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "" @@ -113,11 +97,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "" @@ -138,7 +122,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "" @@ -154,31 +138,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "" @@ -186,39 +170,39 @@ msgstr "" msgid "Archiving built core (caching) in: %[1]s" msgstr "" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "" -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -226,7 +210,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "" @@ -236,13 +220,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "" @@ -250,20 +234,20 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -271,7 +255,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -283,11 +267,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -296,10 +281,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -308,27 +289,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -340,18 +317,24 @@ msgstr "" msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -360,23 +343,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -388,15 +372,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -406,19 +390,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -426,24 +410,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "" -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -457,23 +441,23 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -485,44 +469,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -535,49 +519,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -586,11 +574,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -604,11 +592,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -624,20 +612,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "" @@ -645,16 +633,17 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -662,11 +651,11 @@ msgstr "" msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -678,7 +667,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -690,7 +679,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -698,58 +687,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -757,44 +750,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -802,11 +791,11 @@ msgstr "" msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -815,23 +804,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -841,62 +830,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -908,8 +897,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -917,27 +906,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -963,39 +948,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1008,7 +997,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1019,23 +1008,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1043,75 +1036,75 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1148,11 +1141,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1169,10 +1162,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1187,21 +1184,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1215,7 +1212,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1223,30 +1220,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1258,7 +1255,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1266,16 +1263,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1283,7 +1275,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1291,13 +1283,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1309,6 +1301,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1321,19 +1317,23 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1341,7 +1341,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1349,7 +1349,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1357,38 +1357,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1396,21 +1392,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "" @@ -1418,7 +1414,7 @@ msgstr "" msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1427,25 +1423,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1453,13 +1450,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1473,20 +1470,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1494,20 +1491,26 @@ msgstr "" msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" @@ -1531,7 +1534,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1547,55 +1550,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1603,7 +1606,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1611,11 +1614,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1627,75 +1630,75 @@ msgstr "" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1704,61 +1707,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1766,7 +1770,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1784,39 +1788,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1832,11 +1836,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1849,23 +1853,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1877,15 +1885,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1893,19 +1901,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1913,22 +1921,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1940,35 +1942,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2015,65 +2017,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2083,38 +2085,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2127,11 +2129,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2146,21 +2148,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2184,7 +2186,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2196,7 +2198,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2217,23 +2219,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2245,13 +2251,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2261,23 +2271,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2295,13 +2305,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2314,39 +2324,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2355,33 +2365,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2396,7 +2406,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2404,27 +2414,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2432,11 +2442,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2448,11 +2458,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2461,7 +2471,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2469,7 +2479,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2481,12 +2491,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2500,27 +2510,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2550,25 +2560,25 @@ msgstr "" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2585,7 +2595,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2595,34 +2605,30 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2638,11 +2644,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2650,43 +2656,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2694,15 +2692,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2715,7 +2713,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2723,23 +2721,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2749,19 +2730,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2787,7 +2776,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2803,19 +2792,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2831,39 +2820,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2879,7 +2860,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2891,15 +2872,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2907,16 +2888,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2941,19 +2926,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2961,7 +2946,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2973,51 +2958,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3033,11 +3010,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3073,31 +3050,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3108,43 +3085,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3156,26 +3129,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3183,32 +3152,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3216,7 +3185,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3224,7 +3193,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3232,11 +3201,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3244,7 +3213,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3254,7 +3223,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3268,11 +3237,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3284,15 +3253,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3305,14 +3274,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3321,18 +3286,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3340,34 +3305,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3375,19 +3340,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3395,10 +3360,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3410,7 +3375,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3434,11 +3399,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3459,7 +3428,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3476,19 +3445,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3497,11 +3462,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3525,12 +3490,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3538,10 +3503,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3551,7 +3512,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3559,8 +3520,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3568,7 +3529,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3586,7 +3547,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3602,15 +3563,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3626,11 +3587,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3642,14 +3603,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index a8eb18daf7e..7b5de067485 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -11,11 +11,11 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]sfolder nie jest już wspierany,.Zobacz %[2]spo więcej informacji" @@ -27,31 +27,15 @@ msgstr "%[1]snieprawidłowe, przebudowywuję całość" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]sjest wymagane ale %[2]s jest obecnie zaistalowane" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "Brakujący wzorzec %[1]s" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s, wiadomość %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s, port%[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s, porty: %[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, wersja protokołu %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%sjuż pobrane" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s oraz %s nie mogą być razem użyte" @@ -63,8 +47,8 @@ msgstr "%s zainstalowane" msgid "%s is already installed." msgstr "%sjuż jest zainstalowane" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%snie jest " @@ -76,8 +60,8 @@ msgstr "%snie jest zarządzane przez zarządcę paczek" msgid "%s must be installed." msgstr "%smusi byc zainstalowane" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "%s brakuje wzoru" @@ -85,13 +69,13 @@ msgstr "%s brakuje wzoru" msgid "'%s' has an invalid signature" msgstr "'%s' posiada niewłaściwy podpis" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(ukryte)" @@ -115,11 +99,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "" @@ -140,7 +124,7 @@ msgstr "" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "" @@ -156,31 +140,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "Architektura: %s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "" @@ -188,39 +172,39 @@ msgstr "" msgid "Archiving built core (caching) in: %[1]s" msgstr "Archiwizowanie budowanego rdzenia (buforowanie) w: %[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -228,7 +212,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "Autor: %s" @@ -238,13 +222,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "Dostępne" @@ -252,20 +236,20 @@ msgstr "Dostępne" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "Nazwa płytki:" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -273,7 +257,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "Podany nieistniejący plik programu rozruchowego: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -285,11 +269,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -298,10 +283,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -310,27 +291,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -342,18 +319,24 @@ msgstr "" msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -362,23 +345,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -390,15 +374,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -408,19 +392,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -428,24 +412,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "Kompilowanie szkicu..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -459,23 +443,23 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -487,44 +471,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -537,49 +521,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "Domyślne" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -588,11 +576,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -606,11 +594,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -626,20 +614,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "" @@ -647,16 +635,17 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -664,11 +653,11 @@ msgstr "" msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -680,7 +669,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -692,7 +681,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -700,58 +689,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -759,44 +752,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -804,11 +793,11 @@ msgstr "" msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -817,23 +806,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -843,62 +832,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -910,8 +899,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -919,27 +908,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -965,39 +950,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1010,7 +999,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1021,23 +1010,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1045,75 +1038,75 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1150,11 +1143,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1171,10 +1164,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1192,21 +1189,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Zmienne globalne używają %[1]s bajtów pamięci dynamicznej." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1220,7 +1217,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1228,30 +1225,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Zainstalowany" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1263,7 +1260,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1271,16 +1268,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1288,7 +1280,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1296,13 +1288,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1314,6 +1306,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1326,19 +1322,23 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1354,7 +1354,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1362,38 +1362,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1401,21 +1397,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "" @@ -1423,7 +1419,7 @@ msgstr "" msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1432,25 +1428,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1458,13 +1455,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1478,20 +1475,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1500,20 +1497,26 @@ msgid "Low memory available, stability problems may occur." msgstr "" "Niski poziom dostępnej pamięci, mogą wystąpić problemy ze stabilnością." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Brakuje '%[1]s' z biblioteki w %[2]s" @@ -1537,7 +1540,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1553,55 +1556,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Znaleziono wiele bibliotek w \"%[1]s\"" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1609,7 +1612,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1617,11 +1620,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1635,75 +1638,75 @@ msgstr "" "Niewystarczająca ilość pamięci; sprawdź %[1]s w poszukiwaniu rozwiązania " "problemu" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "Niewykorzystane: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1712,61 +1715,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1774,7 +1778,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1792,39 +1796,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1840,11 +1844,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1857,23 +1861,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1885,15 +1893,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1901,19 +1909,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1921,22 +1929,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1948,35 +1950,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2023,65 +2025,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2091,38 +2093,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2135,11 +2137,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2154,21 +2156,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2194,7 +2196,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2206,7 +2208,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2227,23 +2229,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2255,13 +2261,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2271,23 +2281,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2305,13 +2315,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2324,39 +2334,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "Wpisz" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2365,33 +2375,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2406,7 +2416,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2414,27 +2424,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2442,11 +2452,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2458,11 +2468,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2471,7 +2481,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2479,7 +2489,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2491,12 +2501,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2510,27 +2520,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Wykorzystane: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2560,25 +2570,25 @@ msgstr "Użycie wcześniej skompilowanego pliku: %[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2595,7 +2605,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2608,34 +2618,30 @@ msgstr "" "może nie być kompatybilna z obecną płytką która działa na " "architekturze(/architekturach) %[3]s." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2651,11 +2657,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2663,43 +2669,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2707,15 +2705,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2728,7 +2726,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2736,23 +2734,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2762,19 +2743,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2800,7 +2789,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2816,19 +2805,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2844,39 +2833,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2892,7 +2873,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2904,15 +2885,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2920,16 +2901,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2954,19 +2939,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2974,7 +2959,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2986,51 +2971,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3046,11 +3023,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3086,31 +3063,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3121,43 +3098,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3169,26 +3142,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3196,32 +3165,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3229,7 +3198,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3237,7 +3206,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3245,11 +3214,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3257,7 +3226,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3267,7 +3236,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3281,11 +3250,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3297,15 +3266,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3318,14 +3287,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3334,18 +3299,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3353,34 +3318,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3388,19 +3353,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3408,10 +3373,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3423,7 +3388,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3447,11 +3412,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3472,7 +3441,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3489,19 +3458,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3510,11 +3475,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3538,12 +3503,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3551,10 +3516,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3564,7 +3525,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3572,8 +3533,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3581,7 +3542,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3599,7 +3560,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3615,15 +3576,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3639,11 +3600,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3655,14 +3616,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index cf5d658fa26..95141308ee0 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -11,11 +11,11 @@ msgstr "" "Language: pt\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[5]s%[4]sData%[3]scomprometer%[2]sVersão" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]spasta não é mais suportada! Ver%[2]sPara maiores informações" @@ -27,31 +27,15 @@ msgstr "%[1]sinválido, refazendo tudo" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s‎é necessário, mas‎%[2]snão é instalado em nenhum momento." -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]so padrão está faltando" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]smensagem:%[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s,porta%[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]sportas:%[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[2]d%[1]s, versão do protocolo:" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s‎já baixado‎" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%se%s‎não pode ser usado em conjunto‎" @@ -63,8 +47,8 @@ msgstr "%sinstalado" msgid "%s is already installed." msgstr "%s‎já está instalado.‎" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s‎não é um diretório‎" @@ -76,8 +60,8 @@ msgstr "%s‎não é gerenciado pelo gerente de pacotes‎" msgid "%s must be installed." msgstr "%s‎deve ser instalado.‎" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "%spadrão está faltando" @@ -85,7 +69,7 @@ msgstr "%spadrão está faltando" msgid "'%s' has an invalid signature" msgstr "%s‎tem uma assinatura inválida‎" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -93,7 +77,7 @@ msgstr "" "'build.core' e 'build.variant' referem a plataformas diferentes: %[1]s e " "%[2]s" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "‎(oculto)‎" @@ -122,11 +106,11 @@ msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" "--git-url ou --zip-path não podem ser usados com --install-in-builtin-dir" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "arquivo .ino já existe" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "‎Uma nova atualização do Arduino CLI está disponível:‎" @@ -147,7 +131,7 @@ msgstr "MANUAL DE LINHA DE COMANDO ARDUINO" msgid "Additional help topics:" msgstr "Tópicos de ajuda adicionais:" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "Adicionar um ou mais valores para uma configuração." @@ -163,31 +147,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "Todos os Núcleos já estão na versão mais recente" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "%s‎Já instalado‎" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]sAlternativas para‎%[2]s:" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "‎Ocorreu um erro ao adicionar os protótipos‎" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "‎Ocorreu um erro na detecção de bibliotecas‎" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "‎Registro de depuração de anexação ao arquivo especificado‎" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "%sArquitetura:‎" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "O Arquivo já existe" @@ -195,39 +179,39 @@ msgstr "O Arquivo já existe" msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sArquivando núcleo construído (cache) em:" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "Comandos de esboço da Linha de Comando Arduino" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Linha de Comando Arduino." -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Interface de Linha de Comando Arduino (arduino-cli)." -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "Comandos de Placa Arduino" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "Comandos de Cache Arduino." -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "Comandos Arduino sobre bibliotecas." -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "Comandos de configuração Arduino" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "Operações centrais Arduino." -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "%vErro nos argumentos:" @@ -235,7 +219,7 @@ msgstr "%vErro nos argumentos:" msgid "Attaches a sketch to a board." msgstr "‎Anexa um sketch a uma placa.‎" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "%sAltor" @@ -247,7 +231,7 @@ msgstr "" "Instalação automática de bibliotecas não pode ser realizada neste caso. Por " "favor, remova todas as cópias manualmente e tente novamente." -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -255,7 +239,7 @@ msgstr "" "Desinstalação automática de bibliotecas não pode ser realizada neste caso. " "Por favor, as remova manualmente e tente novamente. " -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "Disponível‎" @@ -263,20 +247,20 @@ msgstr "Disponível‎" msgid "Available Commands:" msgstr "Comandos Disponíveis:" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "‎Arquivo binário para carregar.‎" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "Nome da Placa" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "Nome da Placa:" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "Versão da Placa:" @@ -285,7 +269,7 @@ msgid "Bootloader file specified but missing: %[1]s" msgstr "" "Um Arquivo carregador de inicialização definido, mas está faltando: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds de 'core.a' são salvos nesse caminho para serem armazenados no Cache " @@ -299,11 +283,12 @@ msgstr "Não é possível criar o diretório de dados %s" msgid "Can't create sketch" msgstr "Não é possível criar esboço" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Não é possível baixar biblioteca" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "Não foi possível encontrar as dependências para a plataforma %s" @@ -312,10 +297,6 @@ msgstr "Não foi possível encontrar as dependências para a plataforma %s" msgid "Can't open sketch" msgstr "Não é possível abrir esboço" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "Não é possível designar múltiplos valores na chave %v" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "Não é possível atualizar o esboço" @@ -324,27 +305,23 @@ msgstr "Não é possível atualizar o esboço" msgid "Can't use the following flags together: %s" msgstr "Não é possível utilizar as seguintes Flags ao mesmo tempo: %s" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "Não é possível escrever para o arquivo de configuração: %v" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "Não é possível escrever para o arquivo de depuração: %s" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "Não é possível criar Build do diretório de Cache" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "Não é possível criar Build do diretório" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "Não é possível criar diretório de arquivo de configuração: %v" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "Não é possível criar arquivo de configuração: %v" @@ -356,18 +333,24 @@ msgstr "Não é possível criar diretório temporário" msgid "Cannot create temp file" msgstr "Não é possível criar arquivo temporário" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Não é possível deletar a chave %[1]s:%[2]v" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "Não é possível executar ferramenta de depuração" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "Não é possível encontrar caminho absoluto: %v" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "Não é possível instalar plataforma" @@ -376,23 +359,24 @@ msgstr "Não é possível instalar plataforma" msgid "Cannot install tool %s" msgstr "Não é possível instalar ferramenta %s" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "Não é possível realizar redefinição de porta: %s" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "Não é possível realizar Upgrade na plataforma" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" -msgstr "Não é possível escrever para o arquivo %[1]s:%[2]v" - -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "Categoria: %s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "Verifique o estado das dependências para a biblioteca especificada." @@ -404,15 +388,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "Checksum difere da Checksum em packages.json" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "Checksum: " -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "Limpar Caches." -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Lista de valores separados por vírgula para URLs adicionais para o " @@ -426,19 +410,19 @@ msgstr "" "Comando continua a executar e a imprimir lista de placas conectadas sempre " "que ocorrer uma mudança." -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "Esboço compilado não encontrado em %s" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "Compila esboços Arduino." -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "Compilando núcleo..." -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "Compilando bibliotecas..." @@ -446,26 +430,26 @@ msgstr "Compilando bibliotecas..." msgid "Compiling library \"%[1]s\"" msgstr "%[1]s‎Biblioteca de compilação‎ \"\"" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "Compilando sketch..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "Arquivo de configuração já existe, use --overwrite para descartar o arquivo " "atual." -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "%s‎Arquivo Config escrito para:‎" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "Opções de configuração para %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -481,23 +465,23 @@ msgstr "Configurando plataforma." msgid "Configuring tool." msgstr "Configurando ferramenta." -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." -msgstr "Conectado para %s! Aperte CTRL-C para sair." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "Núcleo" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "Não foi possível conectar via HTTP" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "Não foi possível criar diretório Index" @@ -509,23 +493,23 @@ msgstr "Não foi possível fazer o Cache profundo para a Build central: %[1]s" msgid "Couldn't determine program size" msgstr "Não foi possível determinar o tamanho do programa" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "Não foi possível obter o diretório de trabalho atual: %v" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "Criar novo Esboço" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "Criar e imprimir perfil de configuração da Build." -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "Cria um arquivo .zip contendo todos os arquivos de esboço." -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -533,7 +517,7 @@ msgstr "" "Cria ou atualiza o arquivo de configuração no diretório de dados ou em um " "diretório customizado com as definições de configuração atuais." -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -541,16 +525,16 @@ msgstr "" "Atualmente, os Perfis de Build só suportam bibliotecas disponíveis através " "do Gerenciador de Bibliotecas Arduino." -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "DESCONTINUADO" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "Daemon agora está ouvindo em %s:%s" @@ -565,53 +549,54 @@ msgstr "" "Depurar esboços Arduino (esse comando abre uma sessão interativa com o " "depurador gdb)." -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Depurar interpretador e.g.:%s" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "Depuramento não é suportado para a placa %s" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "Padrão" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "Padrão FQBN definido como" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "Porta padrão definida como" -#: internal/cli/cache/clean.go:30 +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" +msgstr "" + +#: internal/cli/cache/clean.go:31 msgid "Delete Boards/Library Manager download cache." msgstr "" "Deletar Placas/Cache de arquivos baixados do Gerenciador de Bibliotecas" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -"Deletar conteúdo do diretório 'directories.downloads', onde arquivos de " -"depósito são criados durante a instalação de bibliotecas e de plataformas de" -" placas." -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "Deleta a chave de configurações e todas as suas sub-chaves." -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "Dependências: %s" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "Descrição" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "Detectando bibliotecas utilizadas..." @@ -620,11 +605,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Detecta e mostra a lista de placas conectadas ao computador atual." -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "Diretório com arquivos binários para depuração." -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "Diretório com arquivos binários para serem enviados." @@ -640,11 +625,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "Desabilitar a realização de descrições para Shells que suportam isso." -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "Desconectado" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "Mostrar apenas as chamadas gRPC oferecidas" @@ -660,20 +645,20 @@ msgstr "Não sobrescreva bibliotecas já instaladas." msgid "Do not overwrite already installed platforms." msgstr "Não sobrescreva plataformas já instaladas." -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "Não faça um envio verdadeiro, apenas registre as ações." -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "Não encerre o processo Daemon se o processo relacionado morrer." -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "Baixando %s" @@ -681,16 +666,17 @@ msgstr "Baixando %s" msgid "Downloading index signature: %s" msgstr "Baixando assinatura Indes: %s" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "Baixando Index: %s" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "Baixando biblioteca %s" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "Baixando ferramenta %s" @@ -698,11 +684,11 @@ msgstr "Baixando ferramenta %s" msgid "Downloading packages" msgstr "Baixando pacotes" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "Baixando plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "Baixando ferramenta %s" @@ -715,7 +701,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "Baixe uma ou mais bibliotecas sem instalá-las." -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "Ligue registros de depuração para chamadas gRPC" @@ -727,7 +713,7 @@ msgstr "Insira caminho para arquivo zip" msgid "Enter git url for libraries hosted on repositories" msgstr "Insira URL git para bibliotecas hospedadas em repositórios" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "Erro ao adicionar arquivo de esboço para o depósito de documentos" @@ -735,58 +721,62 @@ msgstr "Erro ao adicionar arquivo de esboço para o depósito de documentos" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Erro ao adicionar Build do Núcleo (caching) em %[1]s:%[2]s" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "Erro ao adicionar para o depósito de documentos: %v" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "Erro ao calcular caminho de arquivo relativo" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "Erro ao limpar caches: %v" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "Erro ao converter caminho para absoluto: %v" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "Erro ao copiar arquivo de saída %s" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "Erro ao criar instância: %v" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "Erro ao criar diretório de saída" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "Erro ao criar diretório de esboços" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "Erro ao criar esboço: %v" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "Erro ao detectar placas: %v" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "Erro ao baixar %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "Erro ao baixar %s" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "Erro ao baixar índice '%s'" @@ -794,44 +784,40 @@ msgstr "Erro ao baixar índice '%s'" msgid "Error downloading index signature '%s'" msgstr "Erro ao baixar assinatura de índice '%s'" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "Erro ao baixar biblioteca %s" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "Erro ao baixar plataforma %s" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "Erro ao baixar ferramenta %s" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "Erro durante Depuramento: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "Erro durante detecção FQBN: %v" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "Erro durante codificação da saída JSON: %v" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "Erro durante codificação da saída YAML: %v" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "Erro durante build: %v" @@ -839,11 +825,11 @@ msgstr "Erro durante build: %v" msgid "Error during install: %v" msgstr "Erro durante instalação: %v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "Erro durante desinstalação: %v" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "Erro durante atualização: %v" @@ -852,23 +838,23 @@ msgstr "Erro durante atualização: %v" msgid "Error extracting %s" msgstr "Erro ao extrair %s" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "Erro ao buscar por artefatos da Build" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "Erro ao obter informações de Depuração: %v" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "Erro ao obter caminho absoluto do arquivo de esboço" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "Erro ao obter detalhes da placa: %v" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" "Erro ao obter o diretório atual para o banco de dados de compilação: %s" @@ -879,62 +865,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "Erro ao obter informações da biblioteca %s" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "Erro ao obter informações sobre as bibliotecas: %v" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "Erro ao obter metadata da porta: %v" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "Erro ao obter detalhes das configurações da porta: %s" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "Erro ao obter entrada do usuário" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "Erro ao inicializar instância: %v" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "Erro ao instalar %s: %v" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "Erro ao instalar biblioteca Git: %v" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "Erro ao instalar biblioteca Zip: %v" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "Erro ao instalar biblioteca %s" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "Erro ao instalar plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "Erro ao instalar ferramenta %s" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "Erro ao instalar placas: %v" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "Erro ao listar bibliotecas: %v" @@ -946,8 +932,8 @@ msgstr "Erro ao listar plataformas: %v" msgid "Error loading hardware platform" msgstr "Erro ao carregar plataformas de hardware" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "Erro ao carregar índice %s" @@ -955,27 +941,23 @@ msgstr "Erro ao carregar índice %s" msgid "Error opening %s" msgstr "Erro ao abrir %s" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "Erro ao abrir arquivo de registro de depuração: %s" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "Erro ao abrir arquivo de dados que sobrescrevem o código fonte: %v" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "Erro ao fazer análise sintática na flag --show-properties: %v" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "Erro ao ler diretório de build" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "Erro ao ler arquivo de configuração: %v" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "Erro ao ler arquivos de esboço" @@ -1001,39 +983,43 @@ msgstr "Erro ao salvar índice baixado" msgid "Error saving downloaded index signature" msgstr "Erro ao salvar assinatura de índice baixado" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "Erro ao buscar por placas: %v" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "Erro ao buscar por bibliotecas: %v" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "Erro ao buscar por plataformas: %v" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "Erro ao serializar compilação do banco de dados: %s" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "Erro ao inicializar busca: %v" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Erro ao desinstalar %[1]s: %[2]v" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "Erro ao atualizar índice de biblioteca: %v" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "Erro ao atualizar bibliotecas" @@ -1046,7 +1032,7 @@ msgstr "Erro ao atualizar plataforma: %s" msgid "Error verifying signature" msgstr "Erro ao verificar assinatura" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "Erro ao detectar bibliotecas incluídas por %[1]s" @@ -1057,23 +1043,27 @@ msgstr "Erro ao detectar bibliotecas incluídas por %[1]s" msgid "Error while determining sketch size: %s" msgstr "Erro ao determinar tamanho do esboço: %s" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "Erro ao escrever compilação de banco de dados: %s" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "Erro: descrição de comando não suportado por %v" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "Erro: arquivo de dados que sobrescrevem o código fonte inválido: %v" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "Evento" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "Exemplos para biblioteca %s" @@ -1081,71 +1071,71 @@ msgstr "Exemplos para biblioteca %s" msgid "Examples:" msgstr "Exemplos:" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "Executável para depurar" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Um esboço compilado era esperado no diretório %s, mas um arquivo foi " "encontrado." -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "Falha ao apagar chip" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "Falha ao programar" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "Falha ao gravar carregador de inicialização" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "Falha ao criar diretório de dados" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "Falha ao criar diretório de downloads" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "Falha ao ouvir porta TCP: %[1]s. %[2]s é uma porta inválida." -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "Falha ao ouvir porta TCP: %[1]s. %[2]s é nome desconhecido." -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "Falha ao ouvir porta TCP: %[1]s. Erro inesperado: %[2]v" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Falha ao ouvir porta TCP: %s. Endereço já está em uso." -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "Falha ao enviar" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "Arquivo:" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1153,7 +1143,7 @@ msgstr "" "Encriptação/assinatura de firmware requer que todas as propriedades a seguir" " sejam definidas: %s" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" "A primeira mensagem deve conter uma requisição de depuração, e não dados." @@ -1195,11 +1185,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Nome de Placa Completamente Qualificada. E.g.: arduino:avr:uno" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "Servidor GDB '%s' não é suportado" @@ -1216,10 +1206,14 @@ msgstr "Gera scripts de conclusão" msgid "Generates completion scripts for various shells" msgstr "Gera scripts de conclusão para várias Shells" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "Gerando protótipos de função..." +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "Flags Globais:" @@ -1236,21 +1230,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variáveis globais usam %[1]s bytes de memória dinâmica." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "Propriedades de identificação:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Se designado, binárias de build serão exportadas para o diretório de " @@ -1268,7 +1262,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "Inclua bibliotecas embutidas (de plataformas e de IDE) na listagem." -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "Inclui o diretório %s no registro." @@ -1276,30 +1270,30 @@ msgstr "Inclui o diretório %s no registro." msgid "Install libraries in the IDE-Builtin directory" msgstr "Instalar bibliotecas no Diretório Embutido da IDE." -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Instalado" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "%s instalado" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "Instalado %s" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "Instalando biblioteca %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "Instalando plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "Instalando ferramenta %s" @@ -1313,7 +1307,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "Instala uma ou mais bibliotecas especificadas no sistema." -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "Erro interno no Cache" @@ -1321,18 +1315,11 @@ msgstr "Erro interno no Cache" msgid "Invalid '%[1]s' property: %[2]s" msgstr "Propriedade '%[1]s' inválida: %[2]s" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" -"Chamada inválida: deveria mostrar Ajuda, mas é avaliável apenas no modo " -"TEXT." - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "FQBN inválido" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "Endereço TCP inválido: a porta está faltando " @@ -1340,7 +1327,7 @@ msgstr "Endereço TCP inválido: a porta está faltando " msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" @@ -1350,13 +1337,13 @@ msgstr "" "Depósito de documento inválido: arquivo %{1}s não encontrado no depósito " "%{2}s" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "Argumento inválido passado: %v" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "Propriedades de compilação inválidas" @@ -1368,6 +1355,10 @@ msgstr "Tamanho de dados para regexp inválida: %s" msgid "Invalid eeprom size regexp: %s" msgstr "Regexp de tamanho EEPROM inválida: %s" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "Instância inválida" @@ -1380,19 +1371,23 @@ msgstr "Item inválido %s" msgid "Invalid library" msgstr "Biblioteca inválida" -#: internal/cli/configuration/network.go:63 +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" +msgstr "" + +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy inválido: '%[1]s':%[2]s" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" -msgstr "Opção inválida para --log-level: %s" - -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "Formato de saída inválido: %s" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "Índice de pacote inválido em %s" @@ -1400,7 +1395,7 @@ msgstr "Índice de pacote inválido em %s" msgid "Invalid parameter %s: version not allowed" msgstr "Parâmetro %s inválido: versão não permitida" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "Valor PID inválido: '%s'" @@ -1408,7 +1403,7 @@ msgstr "Valor PID inválido: '%s'" msgid "Invalid profile" msgstr "Perfil inválido" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "Receita inválida em platform.txt" @@ -1416,19 +1411,15 @@ msgstr "Receita inválida em platform.txt" msgid "Invalid size regexp: %s" msgstr "Tamanho de regexp inválido: %s" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "Limite de tempo inválido: %s" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "Versão inválida" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "Valor vid inválido: '%s'" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1436,20 +1427,20 @@ msgstr "" "Produza apenas compilações de banco de dados, mas sem compilar. Todos os " "comandos de build serão pulados, exceto os ganchos pre*." -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "NOMEBIBL" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "BIBLIOTECA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "NOME_BIBLIOTECA" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "Mais recente" @@ -1457,22 +1448,22 @@ msgstr "Mais recente" msgid "Library %[1]s has been declared precompiled:" msgstr "A biblioteca %[1]s foi declarada como pré-compilada:" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "A biblioteca %[1]s já está instalada, mas com uma versão diferente: %[2]s" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "A biblioteca %s já está instalada em sua versão mais recente." -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "A biblioteca %s não está instalada" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "A biblioteca %s não foi encontrada" @@ -1480,7 +1471,7 @@ msgstr "A biblioteca %s não foi encontrada" msgid "Library '%s' not found" msgstr "A biblioteca '%s' não foi encontrada" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1491,19 +1482,20 @@ msgstr "" msgid "Library install failed" msgstr "Instalação de biblioteca falhou" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "Biblioteca instalada" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "Licença: %s" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "Vinculando tudo..." -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1511,7 +1503,7 @@ msgstr "" "Listar todas as placas que já possuem a plataforma de suporte instalada. " "Você pode buscar por uma placa específica se você especificar o nome dela." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "Listar todas as placas conhecidas e os seus FQBN correspondentes." @@ -1519,7 +1511,7 @@ msgstr "Listar todas as placas conhecidas e os seus FQBN correspondentes." msgid "List connected boards." msgstr "Listar todas as placas conectadas." -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1527,7 +1519,7 @@ msgstr "" "Listar todas as opções de placas separadas por vírgula. Ou pode ser usado " "múltiplas vezes para múltiplas opções." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1543,20 +1535,20 @@ msgstr "Listar bibliotecas atualizáveis." msgid "List updatable platforms." msgstr "Listar plataformas atualizáveis." -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "Listar todas as placas conectadas." -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "Listar núcleos e bibliotecas que podem ser atualizadas" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "Carregando arquivo Index: %v" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "Localização" @@ -1564,21 +1556,27 @@ msgstr "Localização" msgid "Low memory available, stability problems may occur." msgstr "Pouca memória disponível, podem ocorrer problemas de estabilidade." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "Mantedor: %s" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "Tempo máximo para esperar a descoberta de porta. E.g.: 30s, 1m" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" "Mensagens com esse nível e acima serão registradas. Níveis válidos são: %s" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' está faltando da biblioteca em %[2]s" @@ -1602,7 +1600,7 @@ msgstr "Protocolo de porta faltando" msgid "Missing programmer" msgstr "Programador faltando" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1618,49 +1616,49 @@ msgstr "Caminho para esboço faltando" msgid "Monitor '%s' not found" msgstr "Monitor '%s' não encontrado" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "Configurações da porta do monitor:" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Múltiplas bibliotecas foram encontradas para \"%[1]s\"" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "Nome" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "Nenhuma placa encontrada." -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" -msgstr "Sem porta ou FQBN padrões." +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" +msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "Nenhuma biblioteca foi encontrada." -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "Nenhuma biblioteca instalada." -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "Nenhuma biblioteca correspondente à sua busca." -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1668,7 +1666,7 @@ msgstr "" "Nenhuma biblioteca correspondente à sua busca.\n" "Você quis dizer...\n" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "Nenhuma atualização de bibliotecas disponível." @@ -1676,7 +1674,7 @@ msgstr "Nenhuma atualização de bibliotecas disponível." msgid "No monitor available for the port protocol %s" msgstr "Sem monitor disponível para o protocolo de porta %s" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "Nenhuma plataforma ou biblioteca desatualizada encontrada." @@ -1684,11 +1682,11 @@ msgstr "Nenhuma plataforma ou biblioteca desatualizada encontrada." msgid "No platforms installed." msgstr "Nenhuma plataforma instalada." -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "Nenhuma plataforma correspondente à sua busca." -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "Nenhuma porta de envio encontrada, usando %s como reserva" @@ -1702,19 +1700,19 @@ msgstr "" "Memória insuficiente: veja %[1]s para sugestões sobre como reduzir a sua " "pegada." -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "Não utilizado: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "SO:" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "Placa Arduino oficial:" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1722,43 +1720,43 @@ msgstr "" "Esconder detalhes da biblioteca para todas as versões exceto a mais recente " "(produz uma saída JSON mais compacta)." -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Abra uma porta de comunicação com a placa." -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "Opção:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Opcional, pode ser: %s. Usado para indicar ao GCC qual nível de alerta " "utilizar (flag -W)." -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Opcional, limpeza do diretório de compilação e não utilização de nenhuma " "compilação em cache." -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Opcional, otimize saída de compilação para depuração, ao invés de " "lançamento." -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "Opcional, esconde quase qualquer saída. " -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "Opcional, liga o modo verboso." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1766,7 +1764,7 @@ msgstr "" "Opcional. Caminho para um arquivo .json que contém um conjunto de " "substituições do código fonte do esboço." -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1774,15 +1772,15 @@ msgstr "" "Sobrescreva uma propriedade de compilação com um valor customizado. Pode ser" " utilizado múltiplas vezes para múltipas propriedades. " -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "Sobrescrever o arquivo de configuração existente. " -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "Sobrescreve um depósito de documentos existente." -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "Sobrescreve um esboço .ino existente." @@ -1791,35 +1789,35 @@ msgstr "Sobrescreve um esboço .ino existente." msgid "PACKAGER" msgstr "EMPACOTADOR" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "URL do pacote:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "Responsável pela manutenção do pacote:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "Nome do pacote:" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "Ajuda online para o pacote:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "Website do pacote:" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "Parágrafo: %s" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "Caminho" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1827,7 +1825,7 @@ msgstr "" "Caminho para a coleção de bibliotecas. Pode ser utilizado múltiplas vezes. " "Entradas podem ser separadas por vírgulas." -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1835,11 +1833,11 @@ msgstr "" "Caminho para o diretório raíz de uma biblioteca. Pode ser utilizado " "múltiplas vezes. Entradas podem ser separadas por vírgulas." -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "Caminho para o arquivo onde os registros de dados serão escritos." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1847,11 +1845,12 @@ msgstr "" "Caminho para onde salvar arquivos compilados. Se omitido, um diretório vai " "ser criado no caminho temporário padrão do seu SO." -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Executando toque de redefinição de 1200-bps na porta serial %s" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "Plataforma %s já está instalada" @@ -1859,7 +1858,7 @@ msgstr "Plataforma %s já está instalada" msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1879,39 +1878,39 @@ msgstr "Plataforma '%s' já está em sua versão mais recente." msgid "Platform '%s' not found" msgstr "Plataforma '%s' não encontrada" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "ID da Plataforma" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "ID da Plataforma incorreto" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "URL da Plataforma:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "Arquitetura da Plataforma:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "Categoria da Plataforma:" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "Checksum da plataforma:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "Nome de arquivo da Plataforma:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "Nome da Plataforma:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "Tamanho da Plataforma (em bytes):" @@ -1931,11 +1930,11 @@ msgstr "" "Por favor especifique um FQBN. A placa na porta %[1]s com o protocolo %[2]s " "não pode ser identificada" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "Porta fechada: %v" @@ -1948,23 +1947,27 @@ msgstr "Erro no monitor de portas" msgid "Precompiled library in \"%[1]s\" not found" msgstr "Biblioteca pré-compilada em \"%[1]s\" não foi encontrada" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "Imprimir detalhes sobre a placa." -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Imprimir código pré-processado para stdout ao invés de compilar." -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "Imprimir as informações de registro para a saída padrão." -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "Imprime a configuração atual" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "Imprime a configuração atual." @@ -1976,15 +1979,15 @@ msgstr "Perfil '%s' não encontrado" msgid "Programmer '%s' not found" msgstr "Programador '%s' não encontrado" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "Nome do programador " -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "Programador para utilizar, ex: atmel_ice" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "Programadores:" @@ -1992,19 +1995,19 @@ msgstr "Programadores:" msgid "Property '%s' is undefined" msgstr "Propriedade '%s' não definida" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "Protocolo" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "Providenciar includes: %s" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "Remove um ou mais valores de uma configuração." -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "Substituindo %[1]s com %[2]s" @@ -2012,26 +2015,18 @@ msgstr "Substituindo %[1]s com %[2]s" msgid "Replacing platform %[1]s with %[2]s" msgstr "Substituindo plataforma %[1]s com %[2]s" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "Ferramenta necessária:" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "Execute como um daemon na porta: %s" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Execute no modo silencioso e mostre apenas a entrada e a saída do monitor." -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -"Ao executar como um daemon, a inicialização de núcleos e bibliotecas é feita" -" apenas uma vez." #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." @@ -2042,39 +2037,39 @@ msgstr "Executando compilação normal do núcleo..." msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "Salve artefatos de compilação neste diretório." -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Busque por uma placa no Gerenciador de Placas usando as palavras-chave " "especificadas." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "Busque por uma placa no Gerenciador de Placas." -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Busque por um núcleo no Gerenciador de Placas usando as palavras-chave " "especificadas." -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "Busque por um núcleo no Gerenciador de Placas." -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2121,67 +2116,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "Sentença: %s" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "Servidor respondeu com: %s" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "Define um valor de configuração." #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -"Define os valores padrões para porta e FQBN. Se nenhuma porta ou FQBN for " -"especificado, a porta e FQBN atuais vão ser utilizadas. " -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "Define onde o arquivo de configuração deve ser salvo." -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "Configuração" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" -msgstr "Chave de configuração não existe" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "Mostre todas as versões de núcleo disponíveis." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "Mostre todas as configurações da porta de comunicação." -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "Mostre placas marcadas como 'escondidas' na plataforma" @@ -2194,11 +2187,11 @@ msgstr "" "\"--show-properties=unexpanded\" se você quer ver elas da exata maneira em " "que estão definidas. " -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "Mostrar todos os detalhes da placa" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2206,31 +2199,31 @@ msgstr "" "Mostrar informações sobre uma placa, em específica se a placa possuir opções" " que devem ser especificadas no FQBN." -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "Mostrar apenas nomes de bibliotecas." -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "Mostrar lista de todos os programadores disponíveis" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" "Mostrar metadata sobre a sessão de depuração ao invés de iniciar o " "depurador." -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" "Mostrar bibliotecas e núcleos desatualizados após a atualização de índice" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "Mostra uma lista de todas as bibliotecas instaladas." -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2248,11 +2241,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "Mostra a lista de plataformas instaladas." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "Mostra a lista de exemplos para bibliotecas." -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2269,11 +2262,11 @@ msgstr "Mostra a versão da CLI Arduino instalada no seu sistema." msgid "Shows version number of Arduino CLI." msgstr "Mostra o número de versão da CLI Arduino." -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "Tamanho (em bytes):" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2281,11 +2274,11 @@ msgstr "" "O Esboço não pode ser localizado no caminho de compilação. Por favor " "especifique um caminho diferente." -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "Esboço criado em: %s" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "Perfil de Esboço para utilizar" @@ -2315,7 +2308,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "Pule a vinculação da executável final." -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Pulando o toque de redefinição 1200-bps: nenhuma porta serial foi " @@ -2329,7 +2322,7 @@ msgstr "Pulando a criação de depósito de documentos de: %[1]s" msgid "Skipping compile of: %[1]s" msgstr "Pulando a compilação de: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Pulando detecção de dependências para a biblioteca pré-compilada %[1]s" @@ -2351,26 +2344,30 @@ msgstr "Pulando configuração de ferramenta." msgid "Skipping: %[1]s" msgstr "Pulando: %[1]s" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "Alguns índices não puderam ser atualizados." -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" "Algumas atualizações falharam, por favor veja a saída para mais detalhes." -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "O daemon da porta TCP irá ouvir em" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" "O arquivo de configuração customizado (caso não seja definido, o padrão vai " "ser usado)." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "A flag --debug-file deve ser usada junto de --debug." @@ -2382,7 +2379,11 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2390,7 +2391,7 @@ msgstr "" "A chave '%[1]v' não é uma lista de itens. Não é possível adicionar nela.\n" "Talvez tente usar '%[2]s'?" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2402,7 +2403,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "A biblioteca %s possui múltiplas instalações:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2411,7 +2412,7 @@ msgstr "" "binários durante o processo de compilação. Usado apenas por plataformas que " "possuem suporte." -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2420,11 +2421,11 @@ msgstr "" "resultados binários durante o processo de compilação. Usado apenas por " "plataformas que possuem suporte." -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "Os formatos de saída para os arquivos de registro podem ser: %s" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2449,7 +2450,7 @@ msgstr "" " por espaço. Se nenhum argumento for passado, esse comando irá atualizar " "todas as bibliotecas instaladas que possuem uma atualização disponível." -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2458,7 +2459,7 @@ msgstr "" "podem ser atualizadas. Se nada precisar ser atualizado, a saída do comando " "será vazia." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2471,39 +2472,39 @@ msgstr "Ferramenta %s já está instalada" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2512,33 +2513,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2553,7 +2554,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2561,27 +2562,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2589,11 +2590,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2605,11 +2606,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2618,7 +2619,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2626,7 +2627,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2638,12 +2639,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2657,27 +2658,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Utilizado: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2707,25 +2708,25 @@ msgstr "A usar o ficheiro previamente compilado: %[1]s" msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2742,7 +2743,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2755,34 +2756,30 @@ msgstr "" "%[2]s e pode ser incompatível com a sua placa actual que é executada em " "arquitectura(s) %[3]s." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2798,11 +2795,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2810,43 +2807,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2854,15 +2843,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2875,7 +2864,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2883,23 +2872,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2909,19 +2881,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2947,7 +2927,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2963,19 +2943,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2991,39 +2971,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -3039,7 +3011,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -3051,15 +3023,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -3067,16 +3039,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -3101,19 +3077,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -3121,7 +3097,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -3133,51 +3109,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3193,11 +3161,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3233,31 +3201,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3268,43 +3236,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3316,26 +3280,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3343,32 +3303,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3376,7 +3336,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3384,7 +3344,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3392,11 +3352,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3404,7 +3364,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3414,7 +3374,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3428,11 +3388,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3444,15 +3404,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3465,14 +3425,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3481,18 +3437,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3500,34 +3456,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3535,19 +3491,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3555,10 +3511,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3570,7 +3526,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3594,11 +3550,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3619,7 +3579,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3636,19 +3596,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3657,11 +3613,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3685,12 +3641,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3698,10 +3654,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3711,7 +3663,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3719,8 +3671,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3728,7 +3680,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3749,7 +3701,7 @@ msgstr "‎não é possível criar uma pasta para salvar o sketch" msgid "unable to create the folder containing the item" msgstr "‎não é possível criar a pasta contendo o item‎" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3765,15 +3717,15 @@ msgstr "‎não é possível ler o conteúdo do item de origem‎" msgid "unable to write to destination file" msgstr "‎incapaz de escrever para o arquivo de destino‎" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "%spacote desconhecido" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "%splataforma desconhecida%s:" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "%s‎extensão do arquivo sketch é desconhecido‎' '" @@ -3789,11 +3741,11 @@ msgstr "‎atualizar arduino: samd para a versão mais recente‎" msgid "upgrade everything to the latest version" msgstr "‎atualizar tudo para a versão mais recente‎" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "%serro ao carregar" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3805,14 +3757,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "%sversão ‎não disponível para este sistema operacional‎" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "%s versão não encontrada" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "‎formato errado na resposta do servidor‎" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 34f8b12afc1..166325be2a4 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -11,11 +11,11 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s Версия: %[3]s Фиксация: %[4]s Дата: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "Папка %[1]s более не поддерживается! Более подробно в %[2]s" @@ -27,31 +27,15 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "Требуется %[1]s, но в данный момент устанавливается %[2]s" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s не найден шаблон" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s, сообщение: %[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s, порт: %[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s, порты: %[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s, версия протокола: %[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s уже скачана" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s не может быть использована вместе с %s" @@ -63,8 +47,8 @@ msgstr "%s установлен" msgid "%s is already installed." msgstr "%s уже установлено." -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s не является директорией" @@ -76,8 +60,8 @@ msgstr "" msgid "%s must be installed." msgstr "%s должен быть установлен." -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "" @@ -85,13 +69,13 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "'%s' имеет неправильную сигнатуру " -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(скрытый)" @@ -116,11 +100,11 @@ msgstr "" msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "Доступен новый релиз Arduino CLI:" @@ -141,7 +125,7 @@ msgstr "ИНСТРУКЦИЯ КОМАНДНОЙ СТРОКИ ARDUINO" msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "" @@ -157,31 +141,31 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "" @@ -189,39 +173,39 @@ msgstr "" msgid "Archiving built core (caching) in: %[1]s" msgstr "Архивирование откомпилированного ядра (кэширование) в: %[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "" -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "" @@ -229,7 +213,7 @@ msgstr "" msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "" @@ -239,13 +223,13 @@ msgid "" "remove all duplicates and retry." msgstr "" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "" @@ -253,20 +237,20 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "" @@ -274,7 +258,7 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "Файл загрузчика указан но не существует: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" @@ -286,11 +270,12 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "" @@ -299,10 +284,6 @@ msgstr "" msgid "Can't open sketch" msgstr "" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "" @@ -311,27 +292,23 @@ msgstr "" msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "" @@ -343,18 +320,24 @@ msgstr "" msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "" @@ -363,23 +346,24 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 -msgid "Cannot upgrade platform" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "" @@ -391,15 +375,15 @@ msgstr "" msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" @@ -409,19 +393,19 @@ msgid "" "a change." msgstr "" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "" @@ -429,24 +413,24 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "Компиляция скетча..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -460,23 +444,23 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -488,44 +472,44 @@ msgstr "" msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "" @@ -538,49 +522,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "По умолчанию" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "" -#: internal/cli/cache/clean.go:30 -msgid "Delete Boards/Library Manager download cache." +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" msgstr "" #: internal/cli/cache/clean.go:31 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "" @@ -589,11 +577,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "" @@ -607,11 +595,11 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "" @@ -627,20 +615,20 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "" @@ -648,16 +636,17 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "" @@ -665,11 +654,11 @@ msgstr "" msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "" @@ -681,7 +670,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -693,7 +682,7 @@ msgstr "" msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "" @@ -701,58 +690,62 @@ msgstr "" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "" @@ -760,44 +753,40 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "" @@ -805,11 +794,11 @@ msgstr "" msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "" @@ -818,23 +807,23 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "" @@ -844,62 +833,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "" @@ -911,8 +900,8 @@ msgstr "" msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "" @@ -920,27 +909,23 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "" @@ -966,39 +951,43 @@ msgstr "" msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "" @@ -1011,7 +1000,7 @@ msgstr "" msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "" @@ -1022,23 +1011,27 @@ msgstr "" msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "" @@ -1046,75 +1039,75 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "" @@ -1151,11 +1144,11 @@ msgstr "" msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "" @@ -1172,10 +1165,14 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "" @@ -1192,21 +1189,21 @@ msgstr "" msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глобальные переменные используют %[1]s байт динамической памяти." -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1220,7 +1217,7 @@ msgstr "" msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "" @@ -1228,30 +1225,30 @@ msgstr "" msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "Установлено" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "" @@ -1263,7 +1260,7 @@ msgstr "" msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "" @@ -1271,16 +1268,11 @@ msgstr "" msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1288,7 +1280,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "" @@ -1296,13 +1288,13 @@ msgstr "" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "" @@ -1314,6 +1306,10 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "" @@ -1326,19 +1322,23 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/configuration/network.go:63 -msgid "Invalid network.proxy '%[1]s': %[2]s" +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" msgstr "" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 +msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "" @@ -1354,7 +1354,7 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "" @@ -1362,38 +1362,34 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "" @@ -1401,21 +1397,21 @@ msgstr "" msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "" @@ -1423,7 +1419,7 @@ msgstr "" msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" @@ -1432,25 +1428,26 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "" @@ -1458,13 +1455,13 @@ msgstr "" msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1478,20 +1475,20 @@ msgstr "" msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "" @@ -1499,20 +1496,26 @@ msgstr "" msgid "Low memory available, stability problems may occur." msgstr "Недостаточно памяти, программа может работать нестабильно." -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Пропущен '%[1]s' из библиотеки в %[2]s" @@ -1536,7 +1539,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "" @@ -1552,55 +1555,55 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Несколько библиотек найдено для \"%[1]s\"" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "" @@ -1608,7 +1611,7 @@ msgstr "" msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "" @@ -1616,11 +1619,11 @@ msgstr "" msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1632,75 +1635,75 @@ msgstr "" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "Недостаточно памяти; прочитайте %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "Не используется: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "" @@ -1709,61 +1712,62 @@ msgstr "" msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "" @@ -1771,7 +1775,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1789,39 +1793,39 @@ msgstr "" msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "" @@ -1837,11 +1841,11 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "Порт" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "" @@ -1854,23 +1858,27 @@ msgstr "" msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "" @@ -1882,15 +1890,15 @@ msgstr "" msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "" @@ -1898,19 +1906,19 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "" @@ -1918,22 +1926,16 @@ msgstr "" msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" #: internal/arduino/builder/core.go:42 @@ -1945,35 +1947,35 @@ msgstr "" msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2020,65 +2022,65 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" @@ -2088,38 +2090,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2132,11 +2134,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2151,21 +2153,21 @@ msgstr "" msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "" @@ -2191,7 +2193,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2203,7 +2205,7 @@ msgstr "" msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" @@ -2224,23 +2226,27 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "" @@ -2252,13 +2258,17 @@ msgstr "" msgid "The given board/programmer configuration supports debugging." msgstr "" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2268,23 +2278,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2302,13 +2312,13 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "" @@ -2321,39 +2331,39 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "Тип" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "" @@ -2362,33 +2372,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2403,7 +2413,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "" @@ -2411,27 +2421,27 @@ msgstr "" msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "" @@ -2439,11 +2449,11 @@ msgstr "" msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "" @@ -2455,11 +2465,11 @@ msgstr "" msgid "Upgrades one or all installed platforms to the latest version." msgstr "" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" @@ -2468,7 +2478,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "" @@ -2476,7 +2486,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "" @@ -2488,12 +2498,12 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2507,27 +2517,27 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "Используется: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2557,25 +2567,25 @@ msgstr "Используем предварительно скомпилиров msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "" @@ -2592,7 +2602,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2604,34 +2614,30 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: библиотека %[1]s должна запускаться на архитектурах %[2]s и " "может быть несовместима с вашей платой на архитектуре %[3]s." -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2647,11 +2653,11 @@ msgstr "" msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "" @@ -2659,43 +2665,35 @@ msgstr "" msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "" @@ -2703,15 +2701,15 @@ msgstr "" msgid "can't find main Sketch file in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "" @@ -2724,7 +2722,7 @@ msgstr "" msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "" @@ -2732,23 +2730,6 @@ msgstr "" msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2758,19 +2739,27 @@ msgstr "" msgid "computing hash: %s" msgstr "" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "" @@ -2796,7 +2785,7 @@ msgstr "" msgid "data section exceeds available space in board" msgstr "" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "" @@ -2812,19 +2801,19 @@ msgstr "" msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "" @@ -2840,39 +2829,31 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2888,7 +2869,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "" @@ -2900,15 +2881,15 @@ msgstr "" msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "" @@ -2916,16 +2897,20 @@ msgstr "" msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "" @@ -2950,19 +2935,19 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" @@ -2970,7 +2955,7 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "" @@ -2982,51 +2967,43 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "" @@ -3042,11 +3019,11 @@ msgstr "" msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "" @@ -3082,31 +3059,31 @@ msgstr "" msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3117,43 +3094,39 @@ msgstr "" msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" @@ -3165,26 +3138,22 @@ msgstr "" msgid "library not valid" msgstr "" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "" @@ -3192,32 +3161,32 @@ msgstr "" msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "" @@ -3225,7 +3194,7 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "" @@ -3233,7 +3202,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3241,11 +3210,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3253,7 +3222,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "" @@ -3263,7 +3232,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3277,11 +3246,11 @@ msgid "" "contacting %[2]s" msgstr "" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "" @@ -3293,15 +3262,15 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "" @@ -3314,14 +3283,10 @@ msgstr "" msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "" @@ -3330,18 +3295,18 @@ msgstr "" msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "" @@ -3349,34 +3314,34 @@ msgstr "" msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "" @@ -3384,19 +3349,19 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:236 -msgid "protocol version not supported: requested %[1]d, got %[2]d" +#: internal/cli/board/attach.go:34 +msgid "programmer" msgstr "" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" +#: internal/arduino/monitor/monitor.go:236 +msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "" @@ -3404,10 +3369,10 @@ msgstr "" msgid "reading directory %[1]s content: %[2]w" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "" @@ -3419,7 +3384,7 @@ msgstr "" msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "" @@ -3443,11 +3408,15 @@ msgstr "" msgid "reading package root dir: %s" msgstr "" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3468,7 +3437,7 @@ msgstr "" msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "" @@ -3485,19 +3454,15 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" @@ -3506,11 +3471,11 @@ msgstr "" msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "" @@ -3534,12 +3499,12 @@ msgstr "" msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "" @@ -3547,10 +3512,6 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "" @@ -3560,7 +3521,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3568,8 +3529,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "" @@ -3577,7 +3538,7 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" @@ -3595,7 +3556,7 @@ msgstr "" msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "" @@ -3611,15 +3572,15 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "" @@ -3635,11 +3596,11 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "" @@ -3651,14 +3612,14 @@ msgstr "" msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index 013d3565249..df67411d759 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -1,24 +1,23 @@ # # Translators: -# CLI team <prj_cli_team@arduino.cc>, 2022 # Kuo Szu-Wei, 2022 # ZW, 2022 # Mimi <stevenjoezhang@gmail.com>, 2023 -# HalfSweet, 2023 -# cike567, 2023 +# cike567, 2024 +# HalfSweet, 2024 # msgid "" msgstr "" -"Last-Translator: cike567, 2023\n" +"Last-Translator: HalfSweet, 2024\n" "Language-Team: Chinese (https://app.transifex.com/arduino-1/teams/108174/zh/)\n" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 提交:%[4]s 日期:%[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]s 文件夹不再受支持!有关详细信息,请参见 %[2]s" @@ -30,31 +29,15 @@ msgstr "%[1]s 无效,全部重建" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s 是必需的,但当前已安装 %[2]s。" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s 模式丢失" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s,消息:%[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s,端口:%[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s,端口:%[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s,协议版本:%[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s 已经下载" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" @@ -66,8 +49,8 @@ msgstr "%s 已安装" msgid "%s is already installed." msgstr "%s 已安装" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s 不是目录" @@ -79,8 +62,8 @@ msgstr "%s 不是由软件包管理器管理的" msgid "%s must be installed." msgstr "%s 必须安装" -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "%s 模式丢失" @@ -88,13 +71,13 @@ msgstr "%s 模式丢失" msgid "'%s' has an invalid signature" msgstr "‘%s’ 的签名无效" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "‘build.core’ 和 ‘build.variant’ 指的是不同的平台:%[1]s 和 %[2]s" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(隐藏)" @@ -118,17 +101,17 @@ msgstr "--git-url 和 --zip-path 参数允许安装不受信任的文件,使 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "--git-url 或 --zip-path 不能与 --install-in-builtin-dir 一起使用。" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr ".ino 文件已存在" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "新版本的 Arduino CLI 可用:" #: commands/cmderrors/cmderrors.go:301 msgid "A programmer is required to upload" -msgstr "需要编译器上传" +msgstr "需要编程器上传" #: internal/cli/core/download.go:34 internal/cli/core/install.go:36 #: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 @@ -143,7 +126,7 @@ msgstr "ARDUINO 命令行手册" msgid "Additional help topics:" msgstr "更多帮助:" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "将一个或多个值添加到设置中。" @@ -159,31 +142,31 @@ msgstr "所有平台都是最新的。" msgid "All the cores are already at the latest version" msgstr "所有内核都是最新版本" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "已经安装 %s" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]s 的替代方案:%[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "添加原型时出错" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "检测库时出错" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "附加除错日志到特定文件" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "架构:%s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "存档已经存在" @@ -191,39 +174,39 @@ msgstr "存档已经存在" msgid "Archiving built core (caching) in: %[1]s" msgstr "存档构建代码(缓存):%[1]s" -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI 项目命令" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI。" -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Arduino 命令行界面 (arduino-cli)" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "Arduino 开发板命令" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "Arduino 缓存命令。" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "Arduino 关于库的命令。" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "Arduino 配置命令。" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "Arduino 内核操作。" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "参数错误:%v" @@ -231,7 +214,7 @@ msgstr "参数错误:%v" msgid "Attaches a sketch to a board." msgstr "将项目写入开发板上。" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "作者:%s" @@ -241,13 +224,13 @@ msgid "" "remove all duplicates and retry." msgstr "在这种情况下不能进行自动安装库,请手动删除所有重复的库并重试。" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "在这种情况下不能进行自动卸载库,请手动删除它们。" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "可用" @@ -255,20 +238,20 @@ msgstr "可用" msgid "Available Commands:" msgstr "可用命令:" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "要上传的二进制文件。" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "开发板名" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "开发板名:" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "开发板版本:" @@ -276,7 +259,7 @@ msgstr "开发板版本:" msgid "Bootloader file specified but missing: %[1]s" msgstr "已指定引导加载程序文件,缺少:%[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "‘core.a’ 的构建被保存到这个路径中,以便被缓存和重复使用。" @@ -288,11 +271,12 @@ msgstr "无法新建 %s 数据目录" msgid "Can't create sketch" msgstr "无法新建项目" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "无法下载库" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的依赖" @@ -301,10 +285,6 @@ msgstr "找不到 %s 平台的依赖" msgid "Can't open sketch" msgstr "无法打开项目" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "无法在 %v 键中设置多个值" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "无法更新项目" @@ -313,27 +293,23 @@ msgstr "无法更新项目" msgid "Can't use the following flags together: %s" msgstr "不能同时使用以下参数:%s" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "无法写入配置文件:%v" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "无法写入调试日志:%s" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "无法新建构建缓存目录" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "无法新建构建目录" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "无法新建配置文件目录:%v" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "无法新建配置文件:%v" @@ -345,18 +321,24 @@ msgstr "无法新建临时目录" msgid "Cannot create temp file" msgstr "无法新建临时文件" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "无法删除位于%[2]v的%[1]s" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "无法运行调试工具" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "找不到绝对路径:%v" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "无法从配置中取得键值对 %[1]s:%[2]v" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "无法安装平台" @@ -365,43 +347,44 @@ msgstr "无法安装平台" msgid "Cannot install tool %s" msgstr "无法安装 %s 工具 " -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "无法执行端口重置:%s" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "" + #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "无法升级平台" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" -msgstr "无法将%[2]v写入到%[1]s" - -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "类别:%s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "检查指定库的依赖状态。" #: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." -msgstr "请提供给定的开发板/烧录器组合以检查是否支持调试。" +msgstr "请提供给定的开发板/编程器组合以检查是否支持调试。" #: internal/arduino/resources/checksums.go:167 msgid "Checksum differs from checksum in package.json" msgstr "校验码与 package.json 中的校验码不同" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "校验码:" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "清理缓存。" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "以逗号分隔的开发板管理器附加地址列表。" @@ -411,19 +394,19 @@ msgid "" "a change." msgstr "命令保持运行,并在发生更改时打印已连接开发板的列表。" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已编译项目" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "编译 Arduino 项目" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "正在编译内核。。。" -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "正在编译库。。。" @@ -431,24 +414,24 @@ msgstr "正在编译库。。。" msgid "Compiling library \"%[1]s\"" msgstr "正在编译 “%[1]s” 库" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "正在编译项目。。。" -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "配置文件已经存在,使用 --overwrite 弃用现有的配置文件。" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "配置文件写入:%s" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "%s 的配置选项" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -462,23 +445,23 @@ msgstr "配置平台。" msgid "Configuring tool." msgstr "配置工具。" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "已连接" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." -msgstr "已连接到 %s!按 CTRL-C 退出。" +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "内核" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "无法通过 HTTP 连接" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "无法新建索引目录" @@ -490,44 +473,44 @@ msgstr "无法深度缓存内核构建:%[1]s" msgid "Couldn't determine program size" msgstr "无法确定程序大小" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "无法获得当前工作目录:%v" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "新建项目" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "从构建中创建并打印一个配置文件的内容。" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "新建包含所有项目文件的 zip 文件。" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "用当前的配置创建或更新数据目录或自定义目录中的配置文件。" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前,Build Profiles 只支持通过 Arduino Library Manager 提供的库。" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "%s的个性化设置:" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "已弃用" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "守护进程正在监听 %s:%s" @@ -540,49 +523,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "调试 Arduino 项目(此命令打开交互式 gdb 会话)" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "调试解释器,例如:%s" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "%s 开发板不支持调试" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "默认" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "默认的 FQBN 设置为" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "默认的端口设置为" -#: internal/cli/cache/clean.go:30 +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" +msgstr "默认编程器设置为" + +#: internal/cli/cache/clean.go:31 msgid "Delete Boards/Library Manager download cache." msgstr "删除开发板/库管理器下载缓存" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." -msgstr "删除下载文件夹内的内容,在安装库和开发板平台期间暂存存档文件。" +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." +msgstr "" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "删除设置键及其所有子键。" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "依赖:%s" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "说明" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "正在检测使用的库。。。" @@ -591,11 +578,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "检测并显示连接到电脑的开发板的列表。" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "包含用于调试的二进制文件的目录。" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "包含用于上传的二进制文件的目录。" @@ -609,11 +596,11 @@ msgstr "保存生成文件的目录。默认为 ./docs,该目录必须存在 msgid "Disable completion description for shells that support it" msgstr "对于支持完成描述的 shell,禁用完成描述" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "已断开连接" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "只显示提供的 gRPC 调用" @@ -629,20 +616,20 @@ msgstr "不要覆盖已经安装的库。" msgid "Do not overwrite already installed platforms." msgstr "不要覆盖已经安装的平台。" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "不执行实际上传操作,只注销操作" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "如果父进程终止,则守护进程不终止。" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "如果已经安装了库依赖项,请不要尝试更新它们。" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "正在下载 %s" @@ -650,16 +637,17 @@ msgstr "正在下载 %s" msgid "Downloading index signature: %s" msgstr "正在下载 %s 索引签名" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "正在下载 %s 索引" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "正在下载 %s 库" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "正在下载丢失的 %s 工具 " @@ -667,11 +655,11 @@ msgstr "正在下载丢失的 %s 工具 " msgid "Downloading packages" msgstr "正在下载软件包" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "正在下载 %s 平台" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "正在下载 %s 工具" @@ -683,7 +671,7 @@ msgstr "下载一个或多个内核和相应的工具依赖" msgid "Downloads one or more libraries without installing them." msgstr "下载一个或多个库而不安装它们。" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "启用 gRPC 调用的调试日志" @@ -695,7 +683,7 @@ msgstr "输入压缩文件的路径" msgid "Enter git url for libraries hosted on repositories" msgstr "输入在存储库上托管的库的 git 地址" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "将文件添加到项目存档时出错" @@ -703,58 +691,62 @@ msgstr "将文件添加到项目存档时出错" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中存档构建内核(缓存)时出错:%[2]s" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "错误归档:%v" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "计算相对文件路径时出错" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "清理缓存出错:%v" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "将路径转换为绝对路径时出错:%v" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "复制输出 %s 文件时出错" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "新建实例时出错:%v" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "新建输出目录时出错" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "新建项目存档时出错" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "新建项目时出错:%v" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "检测开发板时出错:%v" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "下载 %[1]s 时出错:%[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "下载 %s 时出错" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "下载 ‘%s’ 索引时出错" @@ -762,44 +754,40 @@ msgstr "下载 ‘%s’ 索引时出错" msgid "Error downloading index signature '%s'" msgstr "下载 ‘%s’ 索引签名时出错" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "下载 %s 库时出错" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "下载 %s 平台时出错" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "下载 %s 工具时出错" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "调试时出错:%v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "检测 FQBN 时出错:%v" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "输出编码 JSON 过程时出错:%v" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "上传时出错:%v" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "输出编码 YAML 过程时出错:%v" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "构建时出错:%v" @@ -807,11 +795,11 @@ msgstr "构建时出错:%v" msgid "Error during install: %v" msgstr "安装时出错:%v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "卸载时出错:%v" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "升级时出错:%v" @@ -820,23 +808,23 @@ msgstr "升级时出错:%v" msgid "Error extracting %s" msgstr "提取 %s 时出错" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "查找构建项目时出错" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "获取调试信息时出错:%v" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "获取项目存档的绝对路径时出错" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "获取开发板详细信息时出错:%v" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "获取编译数据库的当前目录时出错:%s" @@ -846,62 +834,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "从 `sketch.yaml` 获取默认端口时出错。检查是否在正确的 sketch 文件夹中,或提供 --port 标志: " -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "获取 %s 库的信息时出错" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "获取库信息时出错:%v" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "获取端口元数据出错:%v" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "获取端口设置详细信息时出错:%s" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "获取用户输入时出错" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "初始化实例时出错:%v" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "安装 %s 时出错:%v" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "安装 Git 库时出错:%v" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "安装 Zip 库时出错:%v" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "安装 %s 库时出错" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "安装 %s 平台时出错" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "安装 %s 工具时出错" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "列出开发板列表时出错:%v" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "列出库时出错:%v" @@ -913,8 +901,8 @@ msgstr "列出平台列表时出错:%v" msgid "Error loading hardware platform" msgstr "加载硬件平台时出错" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "加载 %s 索引时出错" @@ -922,27 +910,23 @@ msgstr "加载 %s 索引时出错" msgid "Error opening %s" msgstr "打开 %s 时出错" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "打开调试日志文件出错:%s" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "打开源代码覆盖数据文件时出错:%v" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 参数时出错:%v" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "读取构建目录时出错" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "读取配置文件时出错:%v" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "读取项目文件时出错" @@ -968,39 +952,43 @@ msgstr "保存下载的索引时出错" msgid "Error saving downloaded index signature" msgstr "保存已下载的索引签名时出错" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "搜索开发板时错误:%v" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "搜索库时出现错误:%v" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "搜索平台时出错:%v" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "序列化编译数据库时出错:%s" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "原始的设置出错:%s" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "启动时发现出错:%v" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "卸载 %[1]s 时出错:%[2]v" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "更新库索引时出错:%v" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "升级库时出错" @@ -1013,7 +1001,7 @@ msgstr "更新平台时出错:%s" msgid "Error verifying signature" msgstr "验证签名时出错" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "检测 %[1]s 包含的库时出错" @@ -1024,23 +1012,27 @@ msgstr "检测 %[1]s 包含的库时出错" msgid "Error while determining sketch size: %s" msgstr "确定项目大小时出错:%s" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "写入编译数据库时出错:%s" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "错误:%v 不支持命令说明" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "错误:无效的源代码覆盖了数据文件:%v" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "事件" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "%s 库的示例" @@ -1048,75 +1040,75 @@ msgstr "%s 库的示例" msgid "Examples:" msgstr "示例:" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "可执行调试" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "应在 %s 目录中编译项目,但它是一个文件" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "芯片擦除失败" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "编译失败" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "无法烧录引导加载程序" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "新建数据目录失败" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "新建下载文件夹失败" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "未能侦听 TCP 端口:%[1]s。%[2]s 是无效端口。" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "未能侦听 TCP 端口:%[1]s。%[2]s 是未知名称。" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "未能侦听 TCP 端口:%[1]s。意外错误:%[2]v" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "未能侦听 TCP 端口:%s。地址已被使用。" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "上传失败" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "文件:" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "固件加密或签名需要定义以下所有属性:%s" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "第一条消息必须包含调试请求,而不是数据" @@ -1153,11 +1145,11 @@ msgstr "强制跳过 pre-uninstall 命令(如果 CLI 以交互方式运行) msgid "Found %d platforms matching \"%s\": %s" msgstr "找到%d平台有符合的 \"%s\": %s" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格开发板名,例如:arduino:avr:uno" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "不支持 GDB 服务器 ‘%s’" @@ -1174,10 +1166,14 @@ msgstr "已生成脚本" msgid "Generates completion scripts for various shells" msgstr "已为各种 shell 生成脚本" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "生成函数原型。。。" +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "取得设定的键值对。" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "全局参数:" @@ -1192,21 +1188,21 @@ msgstr "全局变量使用 %[1]s 个字节(%[3]s%%)的动态内存。剩下 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全局变量使用 %[1]s 字节的动态内存。" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "标识属性:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "如果设定,则构建的二进制文件将导出到项目文件夹。" @@ -1220,7 +1216,7 @@ msgstr "如果设定,则返回所有可安装和已安装的内核,包括手 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "在列表中包含内置库(来自平台和 IDE)。" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "在存档中包含 %s 目录。" @@ -1228,30 +1224,30 @@ msgstr "在存档中包含 %s 目录。" msgid "Install libraries in the IDE-Builtin directory" msgstr "在 IDE-Builtin 目录下安装库" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "已安装" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "已安装 %s" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "正在安装 %s" -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "正在安装 %s 库" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "正在安装 %s 平台" -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "正在安装 %s 工具" @@ -1263,7 +1259,7 @@ msgstr "安装一个或多个内核和相应的工具依赖。" msgid "Installs one or more specified libraries into the system." msgstr "在系统中安装一个或多个指定的库。" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "缓存中的内部错误" @@ -1271,16 +1267,11 @@ msgstr "缓存中的内部错误" msgid "Invalid '%[1]s' property: %[2]s" msgstr "无效的 ‘%[1]s’ 属性:%[2]s" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "无效调用:应显示帮助,但仅在文本模式下可用。" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "无效的 FQBN" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "无效的 TCP 地址:缺少端口" @@ -1288,7 +1279,7 @@ msgstr "无效的 TCP 地址:缺少端口" msgid "Invalid URL" msgstr "无效的地址" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "无效的附加地址:%v" @@ -1296,13 +1287,13 @@ msgstr "无效的附加地址:%v" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "无效存档:在存档 %{1}s 中未找到文件 %{2}s" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "传递的参数无效:%v" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "无效的构建属性" @@ -1314,6 +1305,10 @@ msgstr "无效的数据大小正则表达式:%s" msgid "Invalid eeprom size regexp: %s" msgstr "无效的 eeprom 大小正则表达式:%s" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "无效的网站主页: %s" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "无效的实例" @@ -1326,19 +1321,23 @@ msgstr "无效的 %s 条目" msgid "Invalid library" msgstr "无效的库" -#: internal/cli/configuration/network.go:63 +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" +msgstr "" + +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:64 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" -msgstr "--log-level 选项无效:%s" - -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "%s 中的软件包索引无效" @@ -1346,7 +1345,7 @@ msgstr "%s 中的软件包索引无效" msgid "Invalid parameter %s: version not allowed" msgstr "无效 %s 参数:版本不允许" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "无效的pid值:‘%s’" @@ -1354,7 +1353,7 @@ msgstr "无效的pid值:‘%s’" msgid "Invalid profile" msgstr "无效的配置文件" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法无效" @@ -1362,38 +1361,34 @@ msgstr "platform.txt 中的方法无效" msgid "Invalid size regexp: %s" msgstr "无效的大小正则表达式:%s" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "超时无效:%s" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "无效的版本" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "无效的 vid 值:‘%s’" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "只生成编译数据库,不实际编译。跳过除 pre*hook 之外的所有生成命令。" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "库名" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "库" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "库_名" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "最新的" @@ -1401,21 +1396,21 @@ msgstr "最新的" msgid "Library %[1]s has been declared precompiled:" msgstr "%[1]s 库已声明为预编译:" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "库 %[1]s 已经安装,但有不同的版本。:%[2]s" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "库 %s 已经是最新版本" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "%s 库未安装" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "未找到 %s 库" @@ -1423,7 +1418,7 @@ msgstr "未找到 %s 库" msgid "Library '%s' not found" msgstr "未找到 %s 库" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "库不能同时使用 ‘%[1]s’ 和 ‘%[2]s’ 文件夹。在 ‘%[3]s’ 再次检查。" @@ -1432,25 +1427,26 @@ msgstr "库不能同时使用 ‘%[1]s’ 和 ‘%[2]s’ 文件夹。在 ‘%[3 msgid "Library install failed" msgstr "库安装失败" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "已安装的库" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "许可证:%s" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "将所有内容链接在一起。。。" -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "列出已安装的受支持的平台的所有开发板。如果指定开发板名,则可以搜索指定开发板" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "列出所有已知开发板及其相应的 FQBN。" @@ -1458,13 +1454,13 @@ msgstr "列出所有已知开发板及其相应的 FQBN。" msgid "List connected boards." msgstr "列出已连接的开发板。" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "用逗号分隔的开发板选项列表。可以对多个选项多次使用。" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1478,20 +1474,20 @@ msgstr "列出可更新的库。" msgid "List updatable platforms." msgstr "列出可更新的平台。" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "列出所有已连接的开发板。" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "列出可以升级的内核和库" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "正在加载索引文件:%v" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "位置" @@ -1499,20 +1495,26 @@ msgstr "位置" msgid "Low memory available, stability problems may occur." msgstr "可用内存不足,可能会出现稳定性问题。" -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "维护者:%s" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "最大并行编译数。如果设置为 0,则将使用可用的 CPU 核心数。" + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "等待端口发现的最长时间,例如:30s, 1m" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "记录此级别及以上的消息。有效级别为 %s" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]s 中的库中缺少 ‘%[1]s’" @@ -1534,9 +1536,9 @@ msgstr "找不到端口协议" #: commands/cmderrors/cmderrors.go:288 msgid "Missing programmer" -msgstr "找不到编译器" +msgstr "找不到编程器" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "缺少必要的上传字段:%s" @@ -1552,49 +1554,49 @@ msgstr "缺少项目路径" msgid "Monitor '%s' not found" msgstr "未找到 ‘%s’ 监视器" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "监视端口设置:" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "为 “%[1]s” 找到了多个库" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "名" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "名:“%s”" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "新的上传端口%[1]s(%[2]s)" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "没有找到开发板" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" -msgstr "未设置默认端口或 FQBN" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" +msgstr "未设置默认端口、FQBN 或编程器" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "没有找到库。" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "没有安装库。" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "没有与你的搜索相匹配的库。" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1602,7 +1604,7 @@ msgstr "" "没有与您的搜索匹配的库。\n" "你的意思是。。。\n" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "没有可用的库更新。" @@ -1610,7 +1612,7 @@ msgstr "没有可用的库更新。" msgid "No monitor available for the port protocol %s" msgstr "没有可用于端口协议 %s 的监视器" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "没有找到过时的平台或库。" @@ -1618,11 +1620,11 @@ msgstr "没有找到过时的平台或库。" msgid "No platforms installed." msgstr "没有任何平台被安装。" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "没有与你的搜索匹配的平台。" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "未找到上传端口,使用 %s 作为后备" @@ -1634,75 +1636,75 @@ msgstr "找不到有效的依赖解决方案" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "内存不足;有关减少空间的提示,请参见 %[1]s。" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "未使用:%[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "操作系统:" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "官方 Arduino 开发板:" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "省略库中除最新版本之外的所有版本(生成更紧凑的 JSON 输出)。" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "开启开发板的通信端口。" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "选项:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "可选,可以是:%s。用于告诉 gcc 使用哪个警告级别(-W 参数)。" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "可选,清理构建文件夹并且不使用任何缓存构建。" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "可选,优化编译输出用于调试,而不是发布。" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "可选,禁止几乎所有输出。" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "可选,开启详细模式。" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "可选。 包含一组替换项目源代码的文件的路径。" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "使用自定义值替代构建属性。可以对多个属性多次使用。" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "覆盖现有的配置文件。" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "覆盖一个已经存在的存档文件" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "覆盖现有的 .ino 项目。" @@ -1711,61 +1713,62 @@ msgstr "覆盖现有的 .ino 项目。" msgid "PACKAGER" msgstr "打包程序" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "软件包地址:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "软件包维护者:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "软件包名:" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "软件包在线帮助" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "软件包网站:" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "段落:%s" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "路径" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "一个库的集合的路径。可以多次使用,或者可以用逗号分隔条目。" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "单个库的根文件夹的路径。可以多次使用,或者可以用逗号分隔条目。" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "写入日志的文件的路径。" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已编译文件的路径。如果省略,将在操作系统的默认临时路径中创建目录。" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 端口上执行 1200-bps TOUCH 重置" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "%s 平台已经安装" @@ -1773,7 +1776,7 @@ msgstr "%s 平台已经安装" msgid "Platform %s installed" msgstr "已安装 %s 平台" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1793,39 +1796,39 @@ msgstr "‘%s’ 平台已经是最新版本" msgid "Platform '%s' not found" msgstr "未找到 ‘%s’ 平台" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "平台 ID 不正确" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "平台地址:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "平台架构:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "平台类别:" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "平台校验码:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "平台文件名:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "平台名称:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "平台大小(字节):" @@ -1841,11 +1844,11 @@ msgid "" " identified" msgstr "请指定一个 FQBN。%[1]s 端口上的开发板与协议 %[2]s 不能被识别" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "端口" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "端口关闭:%v" @@ -1858,23 +1861,27 @@ msgstr "端口监视器错误" msgid "Precompiled library in \"%[1]s\" not found" msgstr "在 “%[1]s” 中找不到预编译库" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "打印开发板的详细信息。" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "将预处理的代码打印到标准输出,而不是编译。" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "在标准输出上打印日志。" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "打印当前配置" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "打印当前配置。" @@ -1884,37 +1891,37 @@ msgstr "未找到 ‘%s’ 的配置文件''。" #: commands/cmderrors/cmderrors.go:341 msgid "Programmer '%s' not found" -msgstr "未找到 ‘%s’ 编译器" +msgstr "未找到 ‘%s’ 编程器" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" -msgstr "编译器名" +msgstr "编程器名" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" -msgstr "要使用的编译器,例如:atmel_ice" +msgstr "要使用的编程器,例如:atmel_ice" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" -msgstr "编译器:" +msgstr "编程器:" #: commands/cmderrors/cmderrors.go:393 msgid "Property '%s' is undefined" msgstr "‘%s’ 属性未定义" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "协议" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "提供包括:%s" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "从设置中删除一个或多个值。" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "将 %[1]s 替换为 %[2]s" @@ -1922,23 +1929,17 @@ msgstr "将 %[1]s 替换为 %[2]s" msgid "Replacing platform %[1]s with %[2]s" msgstr "用 %[2]s 替换 %[1]s 平台" -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "在端口上作为守护进程运行:%s" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "以静默模式运行,仅显示监视器输入和输出。" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." -msgstr "作为守护进程运行时,只执行一次内核和库的初始化。" +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." +msgstr "" #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." @@ -1949,35 +1950,35 @@ msgstr "正在运行正常的内核构建。。。" msgid "Running pre_uninstall script." msgstr "运行 pre_uninstall 命令。" -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "搜索_条件" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "SVD 文件路径" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "将生成文件保存在此目录中。" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "使用指定的关键词在开发板管理器中搜索一个开发板。" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "在开发板管理器中搜索一个开发板。" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "使用指定的关键字在开发板管理器中搜索内核。" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "在开发板管理器中搜索内核。" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2063,65 +2064,65 @@ msgstr "" "- Website\n" "\t\t" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "搜索与查询匹配的一个或多个库文件。" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "句子:%s" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "服务器路径" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "服务器响应:%s" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "服务器类型" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "为上传所需的字段设置值。" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "将终端设置为原始模式(无缓冲)。" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "设置一个值。" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." -msgstr "设置端口和 FQBN 的默认值。如果没有指定端口或 FQBN,将显示当前的默认端口和 FQBN。" +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." +msgstr "设置端口和 FQBN 的默认值。如果未指定端口、FQBN 或编程器,则显示当前默认端口、FQBN 和编程器。" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "设置保存配置文件的位置。" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "设置" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" -msgstr "设置键不存在" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "显示所有可用的内核版本。" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "显示通讯端口的所有设置。" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "在平台上显示标记为隐藏的开发板" @@ -2131,38 +2132,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "显示构建属性。这些属性是展开的,如果你希望它们完全按照定义的样子显示,请使用\"--show-properties=unexpanded\"。" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "显示完整的开发板详细信息" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "显示有关开发板的信息,特别是如果开发板在 FQBN 中有指定的选项。" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "只显示库名。" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" -msgstr "显示可用编译器列表" +msgstr "显示可用编程器列表" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "显示有关调试会话的元数据,而不是启动调试器。" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "在索引更新后显示过时的内核和库" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "显示已安装库的列表。" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2177,11 +2178,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "显示已安装平台的列表。" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "显示库示例列表。" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2196,21 +2197,21 @@ msgstr "显示您系统上安装的 Arduino CLI 的版本号。" msgid "Shows version number of Arduino CLI." msgstr "显示 Arduino CLI 的版本号。" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "大小(字节):" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "项目不能位于生成路径中。请指定其他生成路径" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "项目新建于:%s" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "使用项目配置文件" @@ -2234,7 +2235,7 @@ msgstr "项目 .pde 扩展名已弃用,请将以下文件重命名为 .ino:" msgid "Skip linking of final executable." msgstr "跳过最终可执行文件的链接。" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳过 1200-bps TOUCH 重置:未选择串口!" @@ -2246,7 +2247,7 @@ msgstr "正在跳过以下内容的存档创建:%[1]s" msgid "Skipping compile of: %[1]s" msgstr "跳过编译:%[1]s" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳过 %[1]s 预编译库的依赖检测" @@ -2267,35 +2268,43 @@ msgstr "跳过工具配置。" msgid "Skipping: %[1]s" msgstr "跳过:%[1]s" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "一些索引无法更新。" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "有一些升级失败了,请查看输出结果以了解详情。" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "守护进程将监听的 TCP 端口" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "自定义配置文件(如果未指定,将使用默认值)。" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "参数 --debug-file 必须与 --debug 一起使用。" #: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." -msgstr "给定的开发板/烧录器配置不支持调试。" +msgstr "给定的开发板/编程器配置不支持调试。" #: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." -msgstr "给定的开发板/烧录器配置支持调试。" +msgstr "给定的开发板/编程器配置支持调试。" + +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "实例不再有效,需要重新初始化" -#: internal/cli/config/add.go:70 +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2303,7 +2312,7 @@ msgstr "" "‘%[1]v’ 键不是列表中的条目,无法添加到其中。\n" "是否可以使用 ‘%[2]s’?" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2315,23 +2324,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "库 %s 有多个安装。" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定义加密密钥的名称,用于在编译过程中对二进制文件进行加密。只在支持它的平台上使用。" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定义签名密钥的名称,用于在编译过程中对二进制文件进行签名。只在支持它的平台上使用。" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "日志的输出格​​式,可以是:%s" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2349,13 +2358,13 @@ msgid "" "update is available." msgstr "此命令将已安装的库升级到可用的最新版本。可以通过一个空格分隔多个库。如果未提供任何参数,该命令将升级所有已安装的库,其中有可用的更新。" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此命令显示可升级的已安装内核和库或其一的列表。如果不需要更新任何内容,则输出为空。" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "显示时间戳。" @@ -2368,39 +2377,39 @@ msgstr "%s 工具已经安装" msgid "Tool %s uninstalled" msgstr "%s 工具已经卸载" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "不支持 ‘%s’ 工具链" -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "工具链路径" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "工具链前缀" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "工具链类型" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "尝试运行 %s" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "打开详细模式。" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "类型" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "类型:%s" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "地址:" @@ -2409,33 +2418,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "无法缓存构建的内核,请告知 %[1]s 维护者关注 %[2]s" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "无法获取文档文件夹:%v" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "无法获取本地应用程序数据文件夹:%v" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "无法获取用户主目录:%v" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "无法解析地址" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "正在卸载 %s" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "卸载 %s,工具不再需要了" @@ -2450,7 +2459,7 @@ msgstr "如果不再使用,卸载一个或多个内核和相应的工具依赖 msgid "Uninstalls one or more libraries." msgstr "卸载一个或多个库。" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "未知" @@ -2458,27 +2467,27 @@ msgstr "未知" msgid "Unknown FQBN" msgstr "未知 FQBN" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "更新内核和库的索引" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "将内核和库的索引更新到最新版本。" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "更新内核索引到最新版本。" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "更新内核索引。" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "更新库索引到最新版本。" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "更新库索引。" @@ -2486,11 +2495,11 @@ msgstr "更新库索引。" msgid "Upgrade doesn't accept parameters with version" msgstr "升级不接受带有版本范围" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "将安装的内核和库升级到最新版本。" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "升级已安装的内核和库。" @@ -2502,11 +2511,11 @@ msgstr "升级已安装的库。" msgid "Upgrades one or all installed platforms to the latest version." msgstr "将一个或所有已安装的平台升级到最新版本。" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "上传 Arduino 项目。" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "上传 Arduino 项目。不会在上传之前编译项目。" @@ -2515,7 +2524,7 @@ msgstr "上传 Arduino 项目。不会在上传之前编译项目。" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上传端口地址,例如:COM3 或 /dev/ttyACM2" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "在 %s 上找到上传端口" @@ -2523,24 +2532,24 @@ msgstr "在 %s 上找到上传端口" msgid "Upload port protocol, e.g: serial" msgstr "上传端口协议,例如:串行" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "编译后上传二进制文件。" #: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." -msgstr "使用外部编译器将引导加载程序上传到板上。" +msgstr "使用外部编程器将引导加载程序上传到板上。" #: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." msgstr "上传引导加载程序。" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "使用 %s 协议上传到指定的开发板需要以下信息:" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2556,27 +2565,27 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 获取有关命令的更多信息。" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "已使用的库" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "已使用的平台" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "使用:%[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s" -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "使用缓存库文件依赖项:%[1]s" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 代码,在列出的文件夹中:%[2]s" @@ -2606,25 +2615,25 @@ msgstr "使用以前编译的文件:%[1]s" msgid "VERSION" msgstr "版本" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "版本号" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "值" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "上传后验证上传的二进制文件。" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "版本" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "版本:%s" @@ -2641,7 +2650,7 @@ msgstr "警告无法配置工具:%s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告!无法运行 pre_uninstall 命令%s" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告:该项目是用一个或多个自定义库编译的。" @@ -2651,34 +2660,30 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告:%[1]s 库声称在 %[2]s 体系结构上运行,可能与当前在 %[3]s 体系结构上运行的开发板不兼容。" -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "正在等待上传端口。。。" -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告:%[1]s 开发板未定义 %[2]s 首选项。自动设置为:%[3]s" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "网站:%s" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "将当前配置写入配置文件。" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "将当前配置写入数据目录中的配置文件。" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "正在写入配置文件:%v" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "在用配置文件编译时,你不能使用 %s 参数。" @@ -2694,11 +2699,11 @@ msgstr "存档无效:在 zip 文件顶层中找到多个文件" msgid "archive is not valid: no files found in zip file top level" msgstr "存档无效:在压缩文件的顶层没有找到文件" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "存档路径" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "缺少 arduino 预处理器程序" @@ -2706,43 +2711,35 @@ msgstr "缺少 arduino 预处理器程序" msgid "available only in text format" msgstr "仅以文本格式提供" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "基本搜索 \"audio\"" -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基础搜索只由官方维护的 \"esp32\" 和 \"display\" 字段" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "在 %s 中找不到二进制文件" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "未找到开发板 %s" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "开发板名" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "未设置内置库目录" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "调用 %[1]s: %[2]w" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "找不到 %s 的最新版本" -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "找不到 %s 工具的最新版本" @@ -2750,15 +2747,15 @@ msgstr "找不到 %s 工具的最新版本" msgid "can't find main Sketch file in %s" msgstr "在 %s 中找不到主项目文件" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 为 %s 的 discovery" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "候选" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "无法使用上传工具:%s" @@ -2771,7 +2768,7 @@ msgstr "检查本地存档完整性" msgid "cleaning build path" msgstr "清理构建路径" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "命令" @@ -2779,23 +2776,6 @@ msgstr "命令" msgid "command '%[1]s' failed: %[2]s" msgstr "‘%[1]s’ 命令失败:%[2]s" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "命令失败:%s" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2805,19 +2785,27 @@ msgstr "通信不同步,应为 ‘%[1]s’,收到 ‘%[2]s’" msgid "computing hash: %s" msgstr "计算哈希:%s" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "配置的键 %s 包含无效字符" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "配置的值 %s 包含无效字符" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "将库复制到目标目录:" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "找不到有效的构建项目" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "无法覆盖" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "无法删除旧库" @@ -2843,7 +2831,7 @@ msgstr "新建用于提取的临时目录:%s" msgid "data section exceeds available space in board" msgstr "数据部分超出开发板中的可用空间" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "‘%s’ 依赖不可用" @@ -2859,19 +2847,19 @@ msgstr "目标目录已经存在" msgid "directory doesn't exist: %s" msgstr "目录不存在:%s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "发现 %[1]s 进程未启动:%[2]w" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "未找到 %s discovery" -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "%s discovery 未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "未找到 discovery 版本:%s" @@ -2887,39 +2875,31 @@ msgstr "下载最新版本的 Arduino SAMD 内核。" msgid "downloaded" msgstr "下载" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下载 %[1]s 工具:%[2]s" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "空开发板标识符" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "在开发板重置期间发生错误。" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "加载项目文件时错误:" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr " 开启 %s 时错误" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "错误解析值:%v" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "解析版本约束时错误" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "处理来自服务器的响应时出错" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "查询 Arduino Cloud Api 时出错" @@ -2935,7 +2915,7 @@ msgstr "正在提取存档:%w" msgid "failed to compute hash of file \"%s\"" msgstr "无法计算 “%s” 文件的哈希值" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "未能初始化 http 客户端" @@ -2947,15 +2927,15 @@ msgstr "提取的档存大小与索引中指定的大小不同" msgid "files in archive must be placed in a subdirectory" msgstr "存档中的文件必须放在子目录中" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "寻找 %s 的绝对路径" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "参数" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "接下来的符号链接 %s" @@ -2963,16 +2943,20 @@ msgstr "接下来的符号链接 %s" msgid "for a specific version." msgstr "针对特定版本。" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "最新版本。" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "针对特定版本。" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "fqbn 的字段 %s 包含无效字符" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "正在生成安装 id: %w" @@ -2997,19 +2981,19 @@ msgstr "正在获取存档信息:%s" msgid "getting archive path: %s" msgstr "正在获取存档路径:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "正在获取 %[1]s 开发板的构建属性:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "获取 %[1]s 平台的 discovery 依赖:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "获取 %[1]s 平台的监视器依赖项:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "正在获取 %[1]s 平台的工具依赖:%[2]s" @@ -3017,7 +3001,7 @@ msgstr "正在获取 %[1]s 平台的工具依赖:%[2]s" msgid "install directory not set" msgstr "未设置安装目录" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "正在安装 %[1]s 工具:%[2]s" @@ -3029,51 +3013,43 @@ msgstr "安装 %[1]s 平台: %[2]s" msgid "interactive terminal not supported for the '%s' output format" msgstr "“%s” 的输出格式不支持交互式终端" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "无效的 ‘%s’ 指令" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "无效的 “添加” 消息:找不到端口" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "无效的 “删除” 消息:找不到端口" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "无效的校验码格式:%s" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "无效的配置选项:%s" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "无效的空内核架构 ’%s‘" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "无效的空内核参数" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "无效的空内核名称 ’%s‘" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "无效的空内核引用 ’%s‘" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "无效的空内核版本:’%s‘" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "无效的空库名" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "无效的空库版本:%s" @@ -3089,11 +3065,11 @@ msgstr "无效的 git 地址" msgid "invalid hash '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 哈希:%[2]s" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "无效的 %s 条目" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "无效的库指令:" @@ -3129,31 +3105,31 @@ msgstr "写入库存文件的路径无效:%[1]s 错误:%[2]w" msgid "invalid platform archive size: %s" msgstr "无效的平台存档大小:%s" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "无效的平台标识符" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "无效的平台索引网址:" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "无效的热插拔监视器引用:%s" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "%s 的端口配置值无效:%s" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "无效的端口配置:%s" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 方法: %[2]s" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3164,43 +3140,39 @@ msgstr "无效的工程命名 \"%[1]s\": 第一个字符必须是字母数字 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "‘%[2]s’ 选项的 ‘%[1]s’ 值无效" -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "%s 版本目录无效" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "无效的版本:" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "在设置中找不到键" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "关键字" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "Daniel Garcia编写的库文件" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "仅限由 Adafruit 维护,名称中含有 \"gfx\" 的库文件" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "至少依赖于 \"IRremote\" 的库" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "仅依赖于 \"IRremote\" 的库" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "名称中含有 \"buzzer\" 的库" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "名称与 \"pcf8523 \"完全匹配的库" @@ -3212,26 +3184,22 @@ msgstr "%s 库已安装" msgid "library not valid" msgstr "库无效" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "列出串口" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "正在加载 %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "正在加载开发板:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "正在加载 %[1]s json 索引文件:%[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "正在从 %[1]s 加载库:%[2]s" @@ -3239,32 +3207,32 @@ msgstr "正在从 %[1]s 加载库:%[2]s" msgid "loading library.properties: %s" msgstr "正在加载库属性:%s" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "正在加载平台 %s 发行版本" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "正在加载 platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "安装所需 %s 平台" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "安装所需 %s 工具" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "在 %s 中加载工具发行版本" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "在 %s 中查找 boards.txt" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "寻找构建产物" @@ -3272,7 +3240,7 @@ msgstr "寻找构建产物" msgid "main file missing from sketch: %s" msgstr "项目中缺少主文件:%s" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "缺少 ‘%s’ 指令" @@ -3280,7 +3248,7 @@ msgstr "缺少 ‘%s’ 指令" msgid "missing checksum for: %s" msgstr "缺少校验码:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " @@ -3288,11 +3256,11 @@ msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少软件包索引%s,无法保证未来的更新" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少 %[1]s 平台:%[2]s 被开发板 %[3]s 引用" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" @@ -3300,7 +3268,7 @@ msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" msgid "missing signature" msgstr "缺少签名" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "未找到公开监视器:%s" @@ -3310,7 +3278,7 @@ msgstr "未找到公开监视器:%s" msgid "moving extracted archive to destination dir: %s" msgstr "正在将提取的存档移动到目标目录:%s" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多个构建文件:‘%[1]s’ 和 ‘%[2]s’" @@ -3324,11 +3292,11 @@ msgid "" "contacting %[2]s" msgstr "没有找到适用于当前操作系统的 %[1]s 工具的兼容版本,请尝试联系 %[2]s" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "没有指定实例" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "未指定项目或构建目录/文件" @@ -3340,15 +3308,15 @@ msgstr "没有这样的文件或目录" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存档中没有唯一的根目录,找到了 ‘%[1]s’ 和 ‘%[2]s’" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "未提供上传端口" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "在 %[1]s 中找不到有效的项目:缺少 %[2]s" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "对于当前的操作系统没有可用的版本,请尝试联系 %s" @@ -3361,14 +3329,10 @@ msgstr "未在终端中运行" msgid "opening archive file: %s" msgstr "正在打开存档文件:%s" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "正在打开 boards.txt" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "以 1200bps 的速率打开端口" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "打开签名文件:%s" @@ -3377,18 +3341,18 @@ msgstr "打开签名文件:%s" msgid "opening target file: %s" msgstr "打开目标文件:%s" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "未找到 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "未找到 ‘%s’ 软件包 " #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" @@ -3396,34 +3360,34 @@ msgstr "解析 FQBN:%s" msgid "parsing library_index.json: %s" msgstr "解析 library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "路径不是平台目录:%s" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "在 %[2]s 软件包中找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "%s 平台未安装" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "该平台不适用于您的操作系统" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "平台未安装" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "请改用 --build-property。" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "已添加可插入 discovery:%s" @@ -3431,19 +3395,19 @@ msgstr "已添加可插入 discovery:%s" msgid "port" msgstr "端口" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "未找到端口:%[1]s %[2]s" +#: internal/cli/board/attach.go:34 +msgid "programmer" +msgstr "编程器" + #: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "不支持协议版本:请求了 %[1]d,获得了 %[2]d" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" -msgstr "不支持协议版本:请求 1,得到 %d" - -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "正在读取 %[1]s 目录 : %[2]s" @@ -3451,10 +3415,10 @@ msgstr "正在读取 %[1]s 目录 : %[2]s" msgid "reading directory %[1]s content: %[2]w" msgstr "阅读目录 %[1]s 内容:%[2]w" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "正在读取 %s 目录" @@ -3466,7 +3430,7 @@ msgstr "正在读取 %s 目录的内容:%w" msgid "reading file %[1]s: %[2]s" msgstr "正在读取 %[1]s 文件: %[2]s" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "读取文件" @@ -3490,11 +3454,15 @@ msgstr "正在读取 library_index.json: %s" msgid "reading package root dir: %s" msgstr "正在读取软件包根目录:%s" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "阅读项目文件" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "未找到 ‘%s’ 方法" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到 %[2]s 工具的 %[1]s 发行版本" @@ -3515,7 +3483,7 @@ msgstr "删除库目录:%s" msgid "removing platform files: %s" msgstr "正在删除平台文件:%s" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到 %[2]s 平台所需的 %[1]s 版本" @@ -3532,19 +3500,15 @@ msgstr "扫描项目示例" msgid "searching package root dir: %s" msgstr "正在搜索软件包根目录:%s" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "将 DTR 设置为 OFF" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "项目名称不能为空" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "工程命名不能是保留名称 \"%[1]s\"" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "项目名称过长(%[1]d 个字符)。 最大允许长度为 %[2]d" @@ -3553,11 +3517,11 @@ msgstr "项目名称过长(%[1]d 个字符)。 最大允许长度为 %[2]d" msgid "sketch path is not valid" msgstr "项目路径无效" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "项目路径" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "开始发现 %s" @@ -3581,12 +3545,12 @@ msgstr "测试本地存档完整性:%s" msgid "text section exceeds available space in board" msgstr "文本部分超出开发板的可用空间" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "编译数据库可能不完整或不准确" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "服务器响应状态 %s" @@ -3594,10 +3558,6 @@ msgstr "服务器响应状态 %s" msgid "timeout waiting for message" msgstr "等待消息超时" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "等待来自 %s 的消息超时" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "%s 工具不是由软件包管理器管理的" @@ -3607,7 +3567,7 @@ msgstr "%s 工具不是由软件包管理器管理的" msgid "tool %s not found" msgstr "未找到 %s 工具" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" @@ -3615,8 +3575,8 @@ msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" msgid "tool not installed" msgstr "工具未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "找不到发行工具:%s" @@ -3624,7 +3584,7 @@ msgstr "找不到发行工具:%s" msgid "tool version %s not found" msgstr "未找到工具的 %s 版本" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要 %[1]s 库的两个不同版本:%[2]s 和 %[3]s" @@ -3642,7 +3602,7 @@ msgstr "无法新建文件夹来保存项目" msgid "unable to create the folder containing the item" msgstr "无法新建包含该项目的文件夹" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "无法将 config 编码成 YAML:%v" @@ -3658,15 +3618,15 @@ msgstr "无法读取源项目的内容" msgid "unable to write to destination file" msgstr "无法写入目标文件" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "未知 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "未知 %s 平台:%s" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "未知的项目文件扩展名 ‘%s’" @@ -3682,11 +3642,11 @@ msgstr "将 arduino:samd 升级到最新版本" msgid "upgrade everything to the latest version" msgstr "将所有内容升级到最新版本" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "上传错误:%s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "未设置用户目录" @@ -3698,14 +3658,14 @@ msgstr "'%s' 输出格式不支持用户输入" msgid "user input not supported in non interactive mode" msgstr "在非互动模式下不支持用户输入" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "%s 版本不适用于此操作系统" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "未找到 %s 版本" -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "服务器响应格式错误" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 8c924eac924..4a037cd9381 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -1,19 +1,19 @@ # # Translators: -# you bike, 2023 +# yubike, 2024 # msgid "" msgstr "" -"Last-Translator: you bike, 2023\n" +"Last-Translator: yubike, 2024\n" "Language-Team: Chinese (Taiwan) (https://app.transifex.com/arduino-1/teams/108174/zh_TW/)\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:59 +#: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 交付:%[4]s 日期:%[5]s" -#: internal/arduino/builder/internal/detector/detector.go:455 +#: internal/arduino/builder/internal/detector/detector.go:464 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "已不支援%[1]s 檔案夾!詳細資訊,請見 %[2]s" @@ -25,31 +25,15 @@ msgstr "%[1]s 無效,重新建構全部" msgid "%[1]s is required but %[2]s is currently installed." msgstr "需要 %[1]s ,但已安裝 %[2]s" -#: internal/arduino/builder/builder.go:494 +#: internal/arduino/builder/builder.go:484 msgid "%[1]s pattern is missing" msgstr "%[1]s 樣態遺失" -#: internal/arduino/discovery/discovery.go:74 -msgid "%[1]s, message: %[2]s" -msgstr "%[1]s,訊息:%[2]s" - -#: internal/arduino/discovery/discovery.go:83 -msgid "%[1]s, port: %[2]s" -msgstr "%[1]s,連接埠:%[2]s" - -#: internal/arduino/discovery/discovery.go:80 -msgid "%[1]s, ports: %[2]s" -msgstr "%[1]s,連接埠:%[2]s" - -#: internal/arduino/discovery/discovery.go:77 -msgid "%[1]s, protocol version: %[2]d" -msgstr "%[1]s,協議版本:%[2]d" - #: internal/arduino/resources/download.go:49 msgid "%s already downloaded" msgstr "%s 已經下載" -#: commands/upload/upload.go:688 +#: commands/service_upload.go:753 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" @@ -61,8 +45,8 @@ msgstr "%s 已安裝" msgid "%s is already installed." msgstr "%s 已安裝" -#: internal/arduino/cores/packagemanager/loader.go:58 -#: internal/arduino/cores/packagemanager/loader.go:605 +#: internal/arduino/cores/packagemanager/loader.go:62 +#: internal/arduino/cores/packagemanager/loader.go:616 msgid "%s is not a directory" msgstr "%s 不是目錄" @@ -74,8 +58,8 @@ msgstr "%s 不是由套件管理員管理的" msgid "%s must be installed." msgstr "必須安裝 %s " -#: internal/arduino/builder/internal/preprocessor/ctags.go:189 -#: internal/arduino/builder/internal/preprocessor/gcc.go:57 +#: internal/arduino/builder/internal/preprocessor/ctags.go:194 +#: internal/arduino/builder/internal/preprocessor/gcc.go:61 msgid "%s pattern is missing" msgstr "%s 樣態遺失" @@ -83,13 +67,13 @@ msgstr "%s 樣態遺失" msgid "'%s' has an invalid signature" msgstr "'%s'的簽名無效" -#: internal/arduino/cores/packagemanager/package_manager.go:437 +#: internal/arduino/cores/packagemanager/package_manager.go:446 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "'build.core' 和 'build.variant' 參照到不同的平台: %[1]s 和 %[2]s" -#: internal/cli/board/listall.go:95 internal/cli/board/search.go:92 +#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 msgid "(hidden)" msgstr "(隱藏)" @@ -113,11 +97,11 @@ msgstr "--git-url 和 --zip-path 旗標允許安裝未被信任的檔案, 使用 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "--git-url 或 --zip-path 不能和 --install-in-builtin-dir 一起使用" -#: commands/sketch/new.go:66 +#: commands/service_sketch_new.go:65 msgid ".ino file already exists" msgstr ".ino 檔已存在" -#: internal/cli/updater/updater.go:70 +#: internal/cli/updater/updater.go:32 msgid "A new release of Arduino CLI is available:" msgstr "有新版的 Arduino CLI" @@ -138,7 +122,7 @@ msgstr "ARDUINO 命令列手冊" msgid "Additional help topics:" msgstr "更多協助主題:" -#: internal/cli/config/add.go:50 internal/cli/config/add.go:51 +#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 msgid "Adds one or more values to a setting." msgstr "加入一或多個值到設定中" @@ -154,31 +138,31 @@ msgstr "全平台已是最新版" msgid "All the cores are already at the latest version" msgstr "所有核心都已是最新版" -#: commands/lib/install.go:108 +#: commands/service_library_install.go:134 msgid "Already installed %s" msgstr "已安裝 %s" -#: internal/arduino/builder/internal/detector/detector.go:88 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]s 的替代品: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:68 +#: internal/arduino/builder/internal/preprocessor/ctags.go:71 msgid "An error occurred adding prototypes" msgstr "新增原型時出錯" -#: internal/arduino/builder/internal/detector/detector.go:209 +#: internal/arduino/builder/internal/detector/detector.go:215 msgid "An error occurred detecting libraries" msgstr "偵測程式庫時出錯" -#: internal/cli/daemon/daemon.go:61 +#: internal/cli/daemon/daemon.go:85 msgid "Append debug logging to the specified file" msgstr "添加除錯日誌到指定檔案" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:207 msgid "Architecture: %s" msgstr "架構:%s" -#: commands/sketch/archive.go:71 +#: commands/service_sketch_archive.go:68 msgid "Archive already exists" msgstr "壓縮檔已存在" @@ -186,39 +170,39 @@ msgstr "壓縮檔已存在" msgid "Archiving built core (caching) in: %[1]s" msgstr "壓縮在: %[1]s 裏已編譯核心 (快取) " -#: internal/cli/sketch/sketch.go:31 internal/cli/sketch/sketch.go:32 +#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI sketch 命令" -#: internal/cli/cli.go:70 +#: internal/cli/cli.go:89 msgid "Arduino CLI." msgstr "Arduino CLI 命令列介面" -#: internal/cli/cli.go:71 +#: internal/cli/cli.go:90 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Arduino 命令列界面 (arduino-cli)" -#: internal/cli/board/board.go:31 internal/cli/board/board.go:32 +#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 msgid "Arduino board commands." msgstr "Arduino 開發板指令" -#: internal/cli/cache/cache.go:31 internal/cli/cache/cache.go:32 +#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 msgid "Arduino cache commands." msgstr "Arduino 快取指令" -#: internal/cli/lib/lib.go:31 internal/cli/lib/lib.go:32 +#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 msgid "Arduino commands about libraries." msgstr "Arduino 程式庫指令" -#: internal/cli/config/config.go:33 +#: internal/cli/config/config.go:37 msgid "Arduino configuration commands." msgstr "Arduino 設定指令" -#: internal/cli/core/core.go:31 internal/cli/core/core.go:32 +#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 msgid "Arduino core operations." msgstr "Arduino 核心作業" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:127 +#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 msgid "Arguments error: %v" msgstr "參數錯誤:%v" @@ -226,7 +210,7 @@ msgstr "參數錯誤:%v" msgid "Attaches a sketch to a board." msgstr "將 sketch 放入開發板" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:198 msgid "Author: %s" msgstr "作者: %s" @@ -236,13 +220,13 @@ msgid "" "remove all duplicates and retry." msgstr "在這情況下無法自動化程式庫安裝, 請手動移除重覆的再試" -#: commands/lib/uninstall.go:63 +#: commands/service_library_uninstall.go:86 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "在這情況下無法自動化程式庫卸除, 請手動移除" -#: internal/cli/lib/list.go:142 +#: internal/cli/lib/list.go:137 msgid "Available" msgstr "可用的" @@ -250,20 +234,20 @@ msgstr "可用的" msgid "Available Commands:" msgstr "可用命令:" -#: internal/cli/upload/upload.go:76 +#: internal/cli/upload/upload.go:74 msgid "Binary file to upload." msgstr "要上傳的二進位檔" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "Board Name" msgstr "開發板名" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:138 msgid "Board name:" msgstr "開發板名:" -#: internal/cli/board/details.go:141 +#: internal/cli/board/details.go:140 msgid "Board version:" msgstr "開發板版本:" @@ -271,7 +255,7 @@ msgstr "開發板版本:" msgid "Bootloader file specified but missing: %[1]s" msgstr "找不到指定的 Bootloader 檔: %[1]s" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "'core.a'的編譯檔已存到這路徑,方便快取和重複使用" @@ -283,11 +267,12 @@ msgstr "無法建立 %s 資料目錄" msgid "Can't create sketch" msgstr "無法建立 sketch" -#: commands/lib/download.go:77 commands/lib/download.go:80 +#: commands/service_library_download.go:90 +#: commands/service_library_download.go:94 msgid "Can't download library" msgstr "無法下載程式庫" -#: commands/core/uninstall.go:65 +#: commands/service_platform_uninstall.go:88 #: internal/arduino/cores/packagemanager/install_uninstall.go:133 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的相依" @@ -296,10 +281,6 @@ msgstr "找不到 %s 平台的相依" msgid "Can't open sketch" msgstr "無法打開 sketch" -#: internal/cli/config/set.go:54 -msgid "Can't set multiple values in key %v" -msgstr "無法在 %v 鍵設多個值" - #: commands/cmderrors/cmderrors.go:526 msgid "Can't update sketch" msgstr "無法更新 sketch" @@ -308,27 +289,23 @@ msgstr "無法更新 sketch" msgid "Can't use the following flags together: %s" msgstr "不能同時使用下列參數: %s" -#: internal/cli/config/add.go:80 internal/cli/config/remove.go:69 -msgid "Can't write config file: %v" -msgstr "無法寫入設定檔: %v" - -#: internal/cli/daemon/daemon.go:90 +#: internal/cli/daemon/daemon.go:112 msgid "Can't write debug log: %s" msgstr "無法寫入除錯日誌: %s" -#: commands/compile/compile.go:160 commands/compile/compile.go:163 +#: commands/service_compile.go:186 commands/service_compile.go:189 msgid "Cannot create build cache directory" msgstr "無法建立編譯快取的目錄" -#: commands/compile/compile.go:148 +#: commands/service_compile.go:171 msgid "Cannot create build directory" msgstr "無法建立編譯目錄" -#: internal/cli/config/init.go:94 +#: internal/cli/config/init.go:99 msgid "Cannot create config file directory: %v" msgstr "無法建立設定檔的目錄: %v" -#: internal/cli/config/init.go:109 +#: internal/cli/config/init.go:123 msgid "Cannot create config file: %v" msgstr "無法建立設定檔: %v" @@ -340,18 +317,24 @@ msgstr "無法建立暫存目錄" msgid "Cannot create temp file" msgstr "無法建立暫存檔" -#: internal/cli/config/delete.go:53 +#: internal/cli/config/delete.go:54 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "無法刪除鍵值 %[1]s: %[2]v" -#: commands/debug/debug.go:71 +#: commands/service_debug_run.go:68 msgid "Cannot execute debug tool" msgstr "無法執行除錯工具" -#: internal/cli/config/init.go:72 internal/cli/config/init.go:82 +#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 msgid "Cannot find absolute path: %v" msgstr "找不到絕對路徑: %v" +#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 +#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 +#: internal/cli/config/remove.go:64 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "無法從設定裏取得鍵值 %[1]s: %[2]v" + #: internal/arduino/cores/packagemanager/install_uninstall.go:140 msgid "Cannot install platform" msgstr "無法安裝平台" @@ -360,23 +343,24 @@ msgstr "無法安裝平台" msgid "Cannot install tool %s" msgstr "無法安裝工具 %s" -#: commands/upload/upload.go:466 +#: commands/service_upload.go:531 msgid "Cannot perform port reset: %s" msgstr "無法執行連接埠重設: %s" +#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 +#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "無法移除設定鍵 %[1]s: %[2]v" + #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Cannot upgrade platform" msgstr "無法升級平台" -#: internal/cli/config/delete.go:57 -msgid "Cannot write the file %[1]s: %[2]v" -msgstr "無法寫入檔案 %[1]s: %[2]v" - -#: internal/cli/lib/search.go:210 +#: internal/cli/lib/search.go:206 msgid "Category: %s" msgstr "類別:%s" -#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 msgid "Check dependencies status for the specified library." msgstr "檢查指定程式庫的相依狀態" @@ -388,15 +372,15 @@ msgstr "檢查指定的板子/燒錄器是否支援除錯。" msgid "Checksum differs from checksum in package.json" msgstr "校驗碼和 package.json 檔內的不同" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:189 msgid "Checksum:" msgstr "校驗碼:" -#: internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:34 msgid "Clean caches." msgstr "清除快取" -#: internal/cli/cli.go:126 +#: internal/cli/cli.go:183 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "給開發板管理員用的網址清單,以逗號分隔" @@ -406,19 +390,19 @@ msgid "" "a change." msgstr "命令保持執行, 在有更動時列出連接的開發板" -#: commands/debug/debug_info.go:176 commands/upload/upload.go:374 +#: commands/service_debug_config.go:175 commands/service_upload.go:439 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已編譯的 sketch" -#: internal/cli/compile/compile.go:84 internal/cli/compile/compile.go:85 +#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 msgid "Compiles Arduino sketches." msgstr "編譯 Arduino sketch" -#: internal/arduino/builder/builder.go:428 +#: internal/arduino/builder/builder.go:418 msgid "Compiling core..." msgstr "編譯核心..." -#: internal/arduino/builder/builder.go:407 +#: internal/arduino/builder/builder.go:397 msgid "Compiling libraries..." msgstr "編譯程式庫..." @@ -426,24 +410,24 @@ msgstr "編譯程式庫..." msgid "Compiling library \"%[1]s\"" msgstr "編譯程式庫 “%[1]s”" -#: internal/arduino/builder/builder.go:391 +#: internal/arduino/builder/builder.go:381 msgid "Compiling sketch..." msgstr "編譯 sketch ..." -#: internal/cli/config/init.go:88 +#: internal/cli/config/init.go:93 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "設定檔已存在,使用 --overwrite 覆蓋它" -#: internal/cli/config/init.go:125 +#: internal/cli/config/init.go:178 msgid "Config file written to: %s" msgstr "設定檔寫入:%s" -#: internal/cli/debug/debug.go:217 +#: internal/cli/debug/debug.go:240 msgid "Configuration options for %s" msgstr "%s 的設定選項" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:76 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -457,23 +441,23 @@ msgstr "設定平台" msgid "Configuring tool." msgstr "設定工具" -#: internal/cli/board/list.go:192 +#: internal/cli/board/list.go:195 msgid "Connected" msgstr "已連接" -#: internal/cli/monitor/monitor.go:218 -msgid "Connected to %s! Press CTRL-C to exit." -msgstr "已連到 %s!按 CTRL-C 退出" +#: internal/cli/monitor/monitor.go:243 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "連接 %s 中。按 CTRL-C 結束。" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Core" msgstr "核心" -#: internal/arduino/httpclient/httpclient.go:112 +#: internal/cli/configuration/network.go:101 msgid "Could not connect via HTTP" msgstr "無法通過 HTTP 連接" -#: commands/instances.go:432 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "無法建立索引目錄" @@ -485,44 +469,44 @@ msgstr "無法深入快取核心編譯:%[1]s" msgid "Couldn't determine program size" msgstr "無法確定程式大小" -#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:109 +#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 msgid "Couldn't get current working directory: %v" msgstr "無法取得工作目錄:%v" -#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 msgid "Create a new Sketch" msgstr "建立新 sketch" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:96 msgid "Create and print a profile configuration from the build." msgstr "從建構中建立並印出設定檔內容" -#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 msgid "Creates a zip file containing all sketch files." msgstr "建立含全部 sketch 檔的 zip 壓縮檔" -#: internal/cli/config/init.go:43 +#: internal/cli/config/init.go:45 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "用目前的設定值建立或更新資料或自定義目錄內的設定檔" -#: internal/cli/compile/compile.go:316 +#: internal/cli/compile/compile.go:328 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前建構方案只支援 Arduino 程式庫管理員所提供的程式庫" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:256 msgid "Custom configuration for %s:" msgstr "%s的客製化設定:" #: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:116 +#: internal/cli/outdated/outdated.go:121 msgid "DEPRECATED" msgstr "已棄用" -#: internal/cli/daemon/daemon.go:170 +#: internal/cli/daemon/daemon.go:188 msgid "Daemon is now listening on %s:%s" msgstr "背景程式正在監聽 %s:%s" @@ -535,49 +519,53 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "除錯 Arduino sketch (此命令會開啟互動式 gdb 對話)" -#: internal/cli/debug/debug.go:67 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "除錯解譯器,例如:%s" -#: commands/debug/debug_info.go:206 +#: commands/service_debug_config.go:205 msgid "Debugging not supported for board %s" msgstr "不支援 %s 開發板除錯" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Default" msgstr "預設" -#: internal/cli/board/attach.go:108 +#: internal/cli/board/attach.go:114 msgid "Default FQBN set to" msgstr "預設 FQBN 設定為" -#: internal/cli/board/attach.go:107 +#: internal/cli/board/attach.go:113 msgid "Default port set to" msgstr "預設連接埠設定為" -#: internal/cli/cache/clean.go:30 +#: internal/cli/board/attach.go:115 +msgid "Default programmer set to" +msgstr "預設燒錄器設為" + +#: internal/cli/cache/clean.go:31 msgid "Delete Boards/Library Manager download cache." msgstr "刪除開發板/程式庫管理員下載快取" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "" -"Delete contents of the `directories.downloads` folder, where archive files " -"are staged during installation of libraries and boards platforms." -msgstr "刪除 `directories.downloads` 目錄裏面的內容,內有在安裝程式庫和開發板平台時所暫存的檔案" +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." +msgstr "刪除下載快取目錄裏,含有安裝程式庫和開發板平台時存放的資料。" -#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 msgid "Deletes a settings key and all its sub keys." msgstr "刪除某設定鍵和所有子鍵" -#: internal/cli/lib/search.go:218 +#: internal/cli/lib/search.go:214 msgid "Dependencies: %s" msgstr "相依: %s" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:103 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 msgid "Description" msgstr "說明" -#: internal/arduino/builder/builder.go:320 +#: internal/arduino/builder/builder.go:309 msgid "Detecting libraries used..." msgstr "檢測有使用的程式庫..." @@ -586,11 +574,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "檢測並顯示連接到電腦的開發板清單" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:69 msgid "Directory containing binaries for debug." msgstr "目錄內有除錯用二進位檔" -#: internal/cli/upload/upload.go:75 +#: internal/cli/upload/upload.go:73 msgid "Directory containing binaries to upload." msgstr "目錄內有上傳用二進位檔" @@ -604,11 +592,11 @@ msgstr "目錄用來保存生成檔。預設為 ./docs,本目錄必須存在" msgid "Disable completion description for shells that support it" msgstr "關閉 shell 的完成描述功能" -#: internal/cli/board/list.go:193 +#: internal/cli/board/list.go:196 msgid "Disconnected" msgstr "斷開連接" -#: internal/cli/daemon/daemon.go:62 +#: internal/cli/daemon/daemon.go:88 msgid "Display only the provided gRPC calls" msgstr "只顯示提供的 gRPC 呼叫" @@ -624,20 +612,20 @@ msgstr "不要覆蓋已安裝的程式庫" msgid "Do not overwrite already installed platforms." msgstr "不要覆蓋已安裝的平台" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/upload/upload.go:80 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 msgid "Do not perform the actual upload, just log out actions" msgstr "不要真的上傳,取消動作" -#: internal/cli/daemon/daemon.go:59 +#: internal/cli/daemon/daemon.go:79 msgid "Do not terminate daemon process if the parent process dies" msgstr "就算父程序已 GG,也不要中止背景程式" -#: internal/cli/lib/check_deps.go:52 +#: internal/cli/lib/check_deps.go:51 msgid "Do not try to update library dependencies if already installed." msgstr "如果已安裝好切勿試著再更新程式庫相依" -#: commands/lib/download.go:74 +#: commands/service_library_download.go:87 msgid "Downloading %s" msgstr "下載 %s" @@ -645,16 +633,17 @@ msgstr "下載 %s" msgid "Downloading index signature: %s" msgstr "下載索引簽名: %s" -#: commands/instances.go:461 commands/instances.go:470 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:81 msgid "Downloading index: %s" msgstr "下載索引: %s" -#: commands/instances.go:359 +#: commands/instances.go:373 msgid "Downloading library %s" msgstr "下載程式庫 %s" -#: commands/instances.go:51 +#: commands/instances.go:52 msgid "Downloading missing tool %s" msgstr "下載缺少的工具 %s" @@ -662,11 +651,11 @@ msgstr "下載缺少的工具 %s" msgid "Downloading packages" msgstr "下載安裝包" -#: internal/arduino/cores/packagemanager/profiles.go:98 +#: internal/arduino/cores/packagemanager/profiles.go:99 msgid "Downloading platform %s" msgstr "下載平台 %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "Downloading tool %s" msgstr "下載工具 %s" @@ -678,7 +667,7 @@ msgstr "下載一或多個核心及工具相依" msgid "Downloads one or more libraries without installing them." msgstr "下載一或多個程式庫, 但不安裝" -#: internal/cli/daemon/daemon.go:60 +#: internal/cli/daemon/daemon.go:82 msgid "Enable debug logging of gRPC calls" msgstr "啟用 gRPC 呼叫的除錯記錄" @@ -690,7 +679,7 @@ msgstr "輸入 zip 壓縮檔的路徑" msgid "Enter git url for libraries hosted on repositories" msgstr "輸入托管程式庫的 git 位址" -#: commands/sketch/archive.go:107 +#: commands/service_sketch_archive.go:104 msgid "Error adding file to sketch archive" msgstr "將檔案加入 sketch 時出錯" @@ -698,58 +687,62 @@ msgstr "將檔案加入 sketch 時出錯" msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中儲存編譯核心(快取)時出錯:%[2]s" -#: internal/cli/sketch/archive.go:83 +#: internal/cli/sketch/archive.go:84 msgid "Error archiving: %v" msgstr "錯誤歸檔:%v" -#: commands/sketch/archive.go:95 +#: commands/service_sketch_archive.go:92 msgid "Error calculating relative file path" msgstr "計算相對檔案路徑時出錯" -#: internal/cli/cache/clean.go:45 +#: internal/cli/cache/clean.go:47 msgid "Error cleaning caches: %v" msgstr "清理快取時出錯: %v" -#: internal/cli/compile/compile.go:218 +#: internal/cli/compile/compile.go:217 msgid "Error converting path to absolute: %v" msgstr "將路徑轉換成絕對路徑時出錯: %v" -#: commands/compile/compile.go:339 +#: commands/service_compile.go:383 msgid "Error copying output file %s" msgstr "複製輸出檔 %s 時出錯" -#: internal/cli/instance/instance.go:43 +#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 +#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 +#: internal/cli/config/init.go:137 +msgid "Error creating configuration: %v" +msgstr "建立設定檔出錯: %v" + +#: internal/cli/instance/instance.go:45 msgid "Error creating instance: %v" msgstr "建立實例時出錯: %v" -#: commands/compile/compile.go:323 +#: commands/service_compile.go:367 msgid "Error creating output dir" msgstr "建立輸出目錄時出錯" -#: commands/sketch/archive.go:83 +#: commands/service_sketch_archive.go:80 msgid "Error creating sketch archive" msgstr "建立 sketch 檔時出錯" -#: internal/cli/sketch/new.go:69 internal/cli/sketch/new.go:81 +#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 msgid "Error creating sketch: %v" msgstr "建立 sketch 時出錯: %v" -#: internal/cli/board/list.go:80 internal/cli/board/list.go:92 +#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 msgid "Error detecting boards: %v" msgstr "偵測開發板時出錯: %v" -#: internal/cli/core/download.go:68 internal/cli/lib/download.go:65 +#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 msgid "Error downloading %[1]s: %[2]v" msgstr "下載 %[1]s 出錯: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:106 -#: internal/arduino/cores/packagemanager/profiles.go:107 -#: internal/arduino/cores/packagemanager/profiles.go:111 -#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:108 +#: internal/arduino/cores/packagemanager/profiles.go:109 msgid "Error downloading %s" msgstr "下載 %s 出錯" -#: commands/instances.go:521 internal/arduino/resources/index.go:82 +#: commands/instances.go:660 internal/arduino/resources/index.go:82 msgid "Error downloading index '%s'" msgstr "下載索引'%s'時出錯" @@ -757,44 +750,40 @@ msgstr "下載索引'%s'時出錯" msgid "Error downloading index signature '%s'" msgstr "下載索引簽名 '%s' 出錯" -#: commands/instances.go:368 +#: commands/instances.go:383 commands/instances.go:389 msgid "Error downloading library %s" msgstr "下載程式庫 %s 出錯" -#: internal/arduino/cores/packagemanager/profiles.go:129 -#: internal/arduino/cores/packagemanager/profiles.go:130 +#: internal/arduino/cores/packagemanager/profiles.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:127 msgid "Error downloading platform %s" msgstr "下載平台 %s 出錯" -#: internal/arduino/cores/packagemanager/download.go:127 -#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/download.go:126 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Error downloading tool %s" msgstr "下載工具 %s 出錯" -#: internal/cli/debug/debug.go:129 internal/cli/debug/debug.go:162 +#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 msgid "Error during Debug: %v" msgstr "除錯時出錯: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:140 msgid "Error during FQBN detection: %v" msgstr "FQBN 偵測時出錯: %v" -#: internal/cli/feedback/feedback.go:244 internal/cli/feedback/feedback.go:250 +#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 msgid "Error during JSON encoding of the output: %v" msgstr "輸出 JSON 編碼過程出錯:%v" -#: internal/cli/burnbootloader/burnbootloader.go:74 -#: internal/cli/burnbootloader/burnbootloader.go:94 -#: internal/cli/compile/compile.go:258 internal/cli/compile/compile.go:291 -#: internal/cli/upload/upload.go:97 internal/cli/upload/upload.go:126 +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" -#: internal/cli/feedback/feedback.go:256 -msgid "Error during YAML encoding of the output: %v" -msgstr "輸出 YAML 編碼過程出錯: %v" - -#: internal/cli/compile/compile.go:365 +#: internal/cli/compile/compile.go:376 msgid "Error during build: %v" msgstr "建構時出錯: %v" @@ -802,11 +791,11 @@ msgstr "建構時出錯: %v" msgid "Error during install: %v" msgstr "安裝時出錯: %v" -#: internal/cli/core/uninstall.go:73 +#: internal/cli/core/uninstall.go:74 msgid "Error during uninstall: %v" msgstr "卸載時出錯: %v" -#: internal/cli/core/upgrade.go:134 +#: internal/cli/core/upgrade.go:135 msgid "Error during upgrade: %v" msgstr "升級時出錯: %v" @@ -815,23 +804,23 @@ msgstr "升級時出錯: %v" msgid "Error extracting %s" msgstr "解開 %s 時出錯" -#: commands/upload/upload.go:371 +#: commands/service_upload.go:436 msgid "Error finding build artifacts" msgstr "尋找建構成品時出錯" -#: internal/cli/debug/debug.go:109 +#: internal/cli/debug/debug.go:132 msgid "Error getting Debug info: %v" msgstr "取得除錯資訊時出錯: %v" -#: commands/sketch/archive.go:59 +#: commands/service_sketch_archive.go:56 msgid "Error getting absolute path of sketch archive" msgstr "取得 sketch 檔絕對路徑時出錯" -#: internal/cli/board/details.go:74 +#: internal/cli/board/details.go:73 msgid "Error getting board details: %v" msgstr "取得開發板細節時出錯: %v" -#: internal/arduino/builder/internal/compilation/database.go:80 +#: internal/arduino/builder/internal/compilation/database.go:84 msgid "Error getting current directory for compilation database: %s" msgstr "取得編譯資料庫所在目錄時出錯: %s" @@ -841,62 +830,62 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "從 `sketch.yaml` 取得預設連接埠出錯. 請檢查是否在正確的 sketch 目錄下, 或者提供 --port 參數: %s" -#: commands/compile/compile.go:261 commands/lib/list.go:114 +#: commands/service_compile.go:306 commands/service_library_list.go:114 msgid "Error getting information for library %s" msgstr "取得程式庫 %s 資訊時出錯" -#: internal/cli/lib/examples.go:73 +#: internal/cli/lib/examples.go:74 msgid "Error getting libraries info: %v" msgstr "取得程式庫資訊時出錯: %v" -#: internal/cli/arguments/fqbn.go:90 +#: internal/cli/arguments/fqbn.go:91 msgid "Error getting port metadata: %v" msgstr "取得連接埠資訊出錯: %v" -#: internal/cli/monitor/monitor.go:154 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "取得連接埠設定細節出錯: %s" -#: internal/cli/upload/upload.go:167 +#: internal/cli/upload/upload.go:166 msgid "Error getting user input" msgstr "取得用戶輸入時出錯" -#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:99 +#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 msgid "Error initializing instance: %v" msgstr "初始化實例時出錯: %v" -#: internal/cli/lib/install.go:145 +#: internal/cli/lib/install.go:147 msgid "Error installing %s: %v" msgstr "安裝 %s 時出錯: %v" -#: internal/cli/lib/install.go:119 +#: internal/cli/lib/install.go:121 msgid "Error installing Git Library: %v" msgstr "安裝 Git 程式庫出錯: %v" -#: internal/cli/lib/install.go:98 +#: internal/cli/lib/install.go:99 msgid "Error installing Zip Library: %v" msgstr "安裝 Zip 程式庫出錯: %v" -#: commands/instances.go:378 +#: commands/instances.go:399 msgid "Error installing library %s" msgstr "安裝程式庫 %s 出錯" -#: internal/arduino/cores/packagemanager/profiles.go:137 -#: internal/arduino/cores/packagemanager/profiles.go:138 +#: internal/arduino/cores/packagemanager/profiles.go:134 +#: internal/arduino/cores/packagemanager/profiles.go:135 msgid "Error installing platform %s" msgstr "安裝 %s 平台出錯" -#: internal/arduino/cores/packagemanager/profiles.go:181 -#: internal/arduino/cores/packagemanager/profiles.go:188 -#: internal/arduino/cores/packagemanager/profiles.go:189 +#: internal/arduino/cores/packagemanager/profiles.go:178 +#: internal/arduino/cores/packagemanager/profiles.go:185 +#: internal/arduino/cores/packagemanager/profiles.go:186 msgid "Error installing tool %s" msgstr "安裝 %s 工具出錯" -#: internal/cli/board/listall.go:64 +#: internal/cli/board/listall.go:65 msgid "Error listing boards: %v" msgstr "列出開發板出錯: %v" -#: internal/cli/lib/list.go:95 +#: internal/cli/lib/list.go:90 msgid "Error listing libraries: %v" msgstr "列出程式庫出錯: %v" @@ -908,8 +897,8 @@ msgstr "列出平台出錯: %v" msgid "Error loading hardware platform" msgstr "載入硬體平台時出錯" -#: internal/arduino/cores/packagemanager/profiles.go:115 -#: internal/arduino/cores/packagemanager/profiles.go:116 +#: internal/arduino/cores/packagemanager/profiles.go:112 +#: internal/arduino/cores/packagemanager/profiles.go:113 msgid "Error loading index %s" msgstr "載入索引 %s 出錯" @@ -917,27 +906,23 @@ msgstr "載入索引 %s 出錯" msgid "Error opening %s" msgstr "開啟 %s 時出錯" -#: internal/cli/daemon/daemon.go:84 +#: internal/cli/daemon/daemon.go:106 msgid "Error opening debug logging file: %s" msgstr "打開除錯日誌檔出錯: %s" -#: internal/cli/compile/compile.go:191 +#: internal/cli/compile/compile.go:190 msgid "Error opening source code overrides data file: %v" msgstr "打開原始碼覆寫資料檔時出錯: %v" -#: internal/cli/compile/compile.go:204 +#: internal/cli/compile/compile.go:203 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 參數出錯: %v" -#: commands/compile/compile.go:332 +#: commands/service_compile.go:376 msgid "Error reading build directory" msgstr "讀取建構目錄時出錯" -#: internal/cli/configuration/configuration.go:65 -msgid "Error reading config file: %v" -msgstr "讀取設定檔時出錯: %v" - -#: commands/sketch/archive.go:77 +#: commands/service_sketch_archive.go:74 msgid "Error reading sketch files" msgstr "讀取 sketch 檔出錯" @@ -963,39 +948,43 @@ msgstr "儲存下載的索引出錯" msgid "Error saving downloaded index signature" msgstr "儲存下載的索引簽名時出錯" -#: internal/cli/board/search.go:61 +#: internal/cli/board/search.go:62 msgid "Error searching boards: %v" msgstr "搜尋開發板時出錯: %v" -#: internal/cli/lib/search.go:129 +#: internal/cli/lib/search.go:125 msgid "Error searching for Libraries: %v" msgstr "搜尋程式庫時出錯: %v" -#: internal/cli/core/search.go:79 +#: internal/cli/core/search.go:81 msgid "Error searching for platforms: %v" msgstr "搜尋平台時出錯: %v" -#: internal/arduino/builder/internal/compilation/database.go:65 +#: internal/arduino/builder/internal/compilation/database.go:69 msgid "Error serializing compilation database: %s" msgstr "序列化編譯資料庫時出錯: %s" -#: internal/cli/monitor/monitor.go:234 +#: internal/cli/monitor/monitor.go:221 msgid "Error setting raw mode: %s" msgstr "設定原始模式出錯: %s" -#: internal/cli/board/list.go:83 +#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +msgid "Error setting value: %v" +msgstr "設定鍵值時出錯: %v" + +#: internal/cli/board/list.go:85 msgid "Error starting discovery: %v" msgstr "啟動探索時出錯:%v" -#: internal/cli/lib/uninstall.go:63 +#: internal/cli/lib/uninstall.go:66 msgid "Error uninstalling %[1]s: %[2]v" msgstr "卸載 %[1]s 時出錯: %[2]v" -#: internal/cli/lib/search.go:118 internal/cli/lib/update_index.go:54 +#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 msgid "Error updating library index: %v" msgstr "更新程式庫索引時出錯: %v" -#: internal/cli/lib/upgrade.go:71 +#: internal/cli/lib/upgrade.go:74 msgid "Error upgrading libraries" msgstr "更新程式庫時出錯" @@ -1008,7 +997,7 @@ msgstr "更新平台時出錯: %s" msgid "Error verifying signature" msgstr "驗證簽名時出錯" -#: internal/arduino/builder/internal/detector/detector.go:365 +#: internal/arduino/builder/internal/detector/detector.go:371 msgid "Error while detecting libraries included by %[1]s" msgstr "偵測 %[1]s 所包含的程式庫時出錯" @@ -1019,23 +1008,27 @@ msgstr "偵測 %[1]s 所包含的程式庫時出錯" msgid "Error while determining sketch size: %s" msgstr "確定 sketch 大小時出錯: %s" -#: internal/arduino/builder/internal/compilation/database.go:68 +#: internal/arduino/builder/internal/compilation/database.go:72 msgid "Error writing compilation database: %s" msgstr "寫入編譯資料庫時出錯: %s" +#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +msgid "Error writing to file: %v" +msgstr "寫入檔案時出錯: %v" + #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "錯誤: %v 不支持命令說明" -#: internal/cli/compile/compile.go:197 +#: internal/cli/compile/compile.go:196 msgid "Error: invalid source code overrides data file: %v" msgstr "錯誤: 無效原始碼覆蓋了資料檔: %v" -#: internal/cli/board/list.go:98 +#: internal/cli/board/list.go:101 msgid "Event" msgstr "事件" -#: internal/cli/lib/examples.go:121 +#: internal/cli/lib/examples.go:122 msgid "Examples for library %s" msgstr "%s 程式庫的範例" @@ -1043,75 +1036,75 @@ msgstr "%s 程式庫的範例" msgid "Examples:" msgstr "範例:" -#: internal/cli/debug/debug.go:200 +#: internal/cli/debug/debug.go:223 msgid "Executable to debug" msgstr "可執行來除錯" -#: commands/debug/debug_info.go:179 commands/upload/upload.go:377 +#: commands/service_debug_config.go:178 commands/service_upload.go:442 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "%s 目錄內應該有已編譯的 sketch,卻只有個檔案" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 -#: internal/cli/board/listall.go:82 internal/cli/board/search.go:83 +#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:139 msgid "FQBN:" msgstr "FQBN:" -#: commands/upload/upload.go:500 +#: commands/service_upload.go:565 msgid "Failed chip erase" msgstr "晶片擦除失敗" -#: commands/upload/upload.go:507 +#: commands/service_upload.go:572 msgid "Failed programming" msgstr "燒錄失敗" -#: commands/upload/upload.go:503 +#: commands/service_upload.go:568 msgid "Failed to burn bootloader" msgstr "燒錄 bootloader 失敗" -#: commands/instances.go:79 +#: commands/instances.go:89 msgid "Failed to create data directory" msgstr "建立資料目錄失敗" -#: commands/instances.go:69 +#: commands/instances.go:78 msgid "Failed to create downloads directory" msgstr "建立下載檔案夾失敗" -#: internal/cli/daemon/daemon.go:125 +#: internal/cli/daemon/daemon.go:143 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "監聽 TCP 埠失敗: %[1]s. %[2]s 是無效連接埠" -#: internal/cli/daemon/daemon.go:120 +#: internal/cli/daemon/daemon.go:138 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "監聽 TCP 埠失敗: %[1]s. %[2]s 是未知名稱" -#: internal/cli/daemon/daemon.go:132 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "監聽 TCP 埠: %[1]s 失敗, 未預期的錯誤: %[2]v" -#: internal/cli/daemon/daemon.go:130 +#: internal/cli/daemon/daemon.go:148 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "監聽 TCP 埠: %s 失敗。位址已被使用" -#: commands/upload/upload.go:511 +#: commands/service_upload.go:576 msgid "Failed uploading" msgstr "上傳失敗" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:187 msgid "File:" msgstr "檔案:" -#: commands/compile/compile.go:131 +#: commands/service_compile.go:154 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "韌體加密/簽名需要定義以下全部屬性: %s" -#: commands/daemon/debug.go:40 +#: commands/service_debug.go:39 msgid "First message must contain debug request, not data" msgstr "第一則訊息必須包含除錯請求,而不是資料" @@ -1148,11 +1141,11 @@ msgstr "強制跳過 pre-uninstall 命令 (如果 CLI 在互動狀態)." msgid "Found %d platforms matching \"%s\": %s" msgstr "找到 %d 平台有符合 \"%s\": %s" -#: internal/cli/arguments/fqbn.go:37 +#: internal/cli/arguments/fqbn.go:38 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格的開發板名,例如:arduino:avr:uno" -#: commands/debug/debug.go:182 +#: commands/service_debug_run.go:187 msgid "GDB server '%s' is not supported" msgstr "不支援 GDB 伺服器 '%s'" @@ -1169,10 +1162,14 @@ msgstr "已生成指令檔" msgid "Generates completion scripts for various shells" msgstr "已為各種 shell 生成指令檔" -#: internal/arduino/builder/builder.go:339 +#: internal/arduino/builder/builder.go:329 msgid "Generating function prototypes..." msgstr "生成函式原型..." +#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +msgid "Gets a settings key value." +msgstr "取得設定的鍵值。" + #: internal/cli/usage.go:31 msgid "Global Flags:" msgstr "全域旗標:" @@ -1187,21 +1184,21 @@ msgstr "全域變數使用 %[1]s 位元組 (%[3]s%%) 的動態記憶體, 保留 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全域變數使用 %[1]s 位元組的動態記憶體" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/monitor/monitor.go:296 -#: internal/cli/outdated/outdated.go:98 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 +#: internal/cli/outdated/outdated.go:103 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:154 +#: internal/cli/board/details.go:153 msgid "Identification properties:" msgstr "標識屬性:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:129 msgid "If set built binaries will be exported to the sketch folder." msgstr "一經設定,建構的二進位檔將導出到 sketch 檔案夾" @@ -1215,7 +1212,7 @@ msgstr "一經設定,傳回所有可安裝和已安裝的核心,包括手動 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "列表內包含內建程式庫 (來自平台和 IDE)" -#: internal/cli/sketch/archive.go:49 +#: internal/cli/sketch/archive.go:50 msgid "Includes %s directory in the archive." msgstr "存檔中包含 %s 目錄" @@ -1223,30 +1220,30 @@ msgstr "存檔中包含 %s 目錄" msgid "Install libraries in the IDE-Builtin directory" msgstr "安裝程式庫到 IDE-Builtin 目錄" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:100 +#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:105 msgid "Installed" msgstr "已安裝" -#: commands/lib/install.go:165 +#: commands/service_library_install.go:199 msgid "Installed %s" msgstr "已安裝 %s" -#: commands/lib/install.go:148 +#: commands/service_library_install.go:182 #: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Installing %s" msgstr "安裝 %s..." -#: commands/instances.go:376 +#: commands/instances.go:397 msgid "Installing library %s" msgstr "安裝程式庫 %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:132 msgid "Installing platform %s" msgstr "安裝平台 %s " -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:183 msgid "Installing tool %s" msgstr "安裝工具 %s" @@ -1258,7 +1255,7 @@ msgstr "安裝一或多個核心和工具相依" msgid "Installs one or more specified libraries into the system." msgstr "安裝一或多個指定程式庫到系統中" -#: internal/arduino/builder/internal/detector/detector.go:391 +#: internal/arduino/builder/internal/detector/detector.go:396 msgid "Internal error in cache" msgstr "快取的內部錯誤" @@ -1266,16 +1263,11 @@ msgstr "快取的內部錯誤" msgid "Invalid '%[1]s' property: %[2]s" msgstr "無效的 '%[1]s' 屬性:%[2]s" -#: internal/cli/cli.go:250 -msgid "" -"Invalid Call : should show Help, but it is available only in TEXT mode." -msgstr "無效呼叫: 應顯示求助,但只在文字模式下能用" - #: commands/cmderrors/cmderrors.go:62 msgid "Invalid FQBN" msgstr "無效的 FQBN" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:161 msgid "Invalid TCP address: port is missing" msgstr "無效的 TCP 位址:缺少連接埠" @@ -1283,7 +1275,7 @@ msgstr "無效的 TCP 位址:缺少連接埠" msgid "Invalid URL" msgstr "無效的網址" -#: commands/instances.go:170 +#: commands/instances.go:185 msgid "Invalid additional URL: %v" msgstr "無效的額外網址: %v" @@ -1291,13 +1283,13 @@ msgstr "無效的額外網址: %v" msgid "Invalid archive: file %{1}s not found in archive %{2}s" msgstr "無效存檔: 檔案 %{1}s 不在%{2}s 存檔裏" -#: internal/cli/core/download.go:56 internal/cli/core/install.go:65 +#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 #: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:54 internal/cli/lib/uninstall.go:53 +#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 msgid "Invalid argument passed: %v" msgstr "傳送的參數無效: %v" -#: commands/compile/compile.go:205 +#: commands/service_compile.go:250 msgid "Invalid build properties" msgstr "無效的建構屬性" @@ -1309,6 +1301,10 @@ msgstr "無效的資料大小正規表示式: %s" msgid "Invalid eeprom size regexp: %s" msgstr "無效的 eeprom 大小正規表示式: %s" +#: commands/instances.go:596 +msgid "Invalid index URL: %s" +msgstr "無效的索引網址: 1%s" + #: commands/cmderrors/cmderrors.go:48 msgid "Invalid instance" msgstr "無效的實例" @@ -1321,19 +1317,23 @@ msgstr "無效的項目 %s" msgid "Invalid library" msgstr "無效的程式庫" -#: internal/cli/configuration/network.go:63 +#: internal/cli/cli.go:261 +msgid "Invalid logging level: %s" +msgstr "無效的日誌層級: %s" + +#: commands/instances.go:613 +msgid "Invalid network configuration: %s" +msgstr "網路設定無效: %s" + +#: internal/cli/configuration/network.go:64 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" -#: internal/cli/cli.go:217 -msgid "Invalid option for --log-level: %s" -msgstr "--log-level: %s 選項無效" - -#: internal/cli/cli.go:229 +#: internal/cli/cli.go:218 msgid "Invalid output format: %s" msgstr "無效的輸出格式: %s" -#: commands/instances.go:473 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "%s 內的套件索引無效" @@ -1341,7 +1341,7 @@ msgstr "%s 內的套件索引無效" msgid "Invalid parameter %s: version not allowed" msgstr "無效 %s 參數: 版本不允許" -#: commands/board/list.go:79 +#: commands/service_board_list.go:80 msgid "Invalid pid value: '%s'" msgstr "無效的 pid 值: '%s'" @@ -1349,7 +1349,7 @@ msgstr "無效的 pid 值: '%s'" msgid "Invalid profile" msgstr "無效的設定檔" -#: commands/monitor/monitor.go:145 +#: commands/service_monitor.go:268 msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法無效" @@ -1357,38 +1357,34 @@ msgstr "platform.txt 中的方法無效" msgid "Invalid size regexp: %s" msgstr "無效的大小正規表示式: %s" -#: internal/cli/core/search.go:149 -msgid "Invalid timeout: %s" -msgstr "無效的超時: %s" - #: commands/cmderrors/cmderrors.go:116 msgid "Invalid version" msgstr "無效的版本" -#: commands/board/list.go:76 +#: commands/service_board_list.go:77 msgid "Invalid vid value: '%s'" msgstr "無效的 vid 值: '%s'" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "只產生編譯資料庫,不實際編譯。跳過除 pre* 以外的所有建構指令" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:38 msgid "LIBNAME" msgstr "程式庫名" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "LIBRARY" msgstr "程式庫" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:43 +#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 #: internal/cli/lib/uninstall.go:34 msgid "LIBRARY_NAME" msgstr "程式庫_名" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:101 +#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 msgid "Latest" msgstr "最新的" @@ -1396,21 +1392,21 @@ msgstr "最新的" msgid "Library %[1]s has been declared precompiled:" msgstr "程式庫 %[1]s 已聲明為預編譯:" -#: commands/lib/install.go:114 +#: commands/service_library_install.go:140 #: internal/arduino/libraries/librariesmanager/install.go:129 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "程式庫 %[1]s 已經安裝, 但版本不同: %[2]s" -#: commands/lib/upgrade.go:74 +#: commands/service_library_upgrade.go:136 msgid "Library %s is already at the latest version" msgstr "程式庫 %s 已是最新版" -#: commands/lib/uninstall.go:45 +#: commands/service_library_uninstall.go:62 msgid "Library %s is not installed" msgstr "程式庫 %s 未安裝" -#: commands/instances.go:362 +#: commands/instances.go:376 msgid "Library %s not found" msgstr "未找到程式庫 %s " @@ -1418,7 +1414,7 @@ msgstr "未找到程式庫 %s " msgid "Library '%s' not found" msgstr "未找到程式庫 '%s'" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:473 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "程式庫不能同時用'%[1]s'和'%[2]s'檔案夾。再檢查 '%[3]s'" @@ -1427,25 +1423,26 @@ msgstr "程式庫不能同時用'%[1]s'和'%[2]s'檔案夾。再檢查 '%[3]s'" msgid "Library install failed" msgstr "程式庫安裝失敗" -#: commands/lib/install.go:180 commands/lib/install.go:195 +#: commands/service_library_install.go:233 +#: commands/service_library_install.go:273 msgid "Library installed" msgstr "程式庫已安裝" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:204 msgid "License: %s" msgstr "許可證: %s" -#: internal/arduino/builder/builder.go:444 +#: internal/arduino/builder/builder.go:434 msgid "Linking everything together..." msgstr "將所有內容鏈接在一起..." -#: internal/cli/board/listall.go:40 +#: internal/cli/board/listall.go:39 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "列出已安裝被支援平台的所有開發板。輸入開發板名,也可進行搜尋" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:38 msgid "List all known boards and their corresponding FQBN." msgstr "列出所有已知開發板及其相應的 FQBN" @@ -1453,13 +1450,13 @@ msgstr "列出所有已知開發板及其相應的 FQBN" msgid "List connected boards." msgstr "列出已連接的開發板" -#: internal/cli/arguments/fqbn.go:42 +#: internal/cli/arguments/fqbn.go:43 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "列出開發板選項列表。可多選項多次使用" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:104 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1473,20 +1470,20 @@ msgstr "列出可更新的程式庫" msgid "List updatable platforms." msgstr "列出可更新的平台" -#: internal/cli/board/board.go:33 +#: internal/cli/board/board.go:34 msgid "Lists all connected boards." msgstr "列出所有連接的開發板" -#: internal/cli/outdated/outdated.go:42 +#: internal/cli/outdated/outdated.go:43 msgid "Lists cores and libraries that can be upgraded" msgstr "列出可升級的核心和程式庫" -#: commands/instances.go:207 commands/instances.go:218 -#: commands/instances.go:330 +#: commands/instances.go:223 commands/instances.go:234 +#: commands/instances.go:344 msgid "Loading index file: %v" msgstr "載入索引檔: %v" -#: internal/cli/lib/list.go:142 internal/cli/outdated/outdated.go:102 +#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 msgid "Location" msgstr "位置" @@ -1494,20 +1491,26 @@ msgstr "位置" msgid "Low memory available, stability problems may occur." msgstr "記憶體低容量,可能影響穩定性" -#: internal/cli/lib/search.go:203 +#: internal/cli/lib/search.go:199 msgid "Maintainer: %s" msgstr "維護者: %s" +#: internal/cli/compile/compile.go:134 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "平行編譯最大數. 如設為 0 將使用 CPU 的全部核心." + #: internal/cli/arguments/discovery_timeout.go:31 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "等待連接埠探尋的最長時間,例如:30s, 1m" -#: internal/cli/cli.go:110 +#: internal/cli/cli.go:171 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "記錄此等級含以上的訊息。有效等級為 %s" -#: internal/arduino/builder/internal/detector/detector.go:459 +#: internal/arduino/builder/internal/detector/detector.go:468 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]s 的程式庫缺少 '%[1]s'" @@ -1531,7 +1534,7 @@ msgstr "缺少連接埠協議" msgid "Missing programmer" msgstr "缺少燒錄器" -#: internal/cli/upload/upload.go:160 +#: internal/cli/upload/upload.go:159 msgid "Missing required upload field: %s" msgstr "缺少必要的上傳欄位: %s" @@ -1547,49 +1550,49 @@ msgstr "缺少 sketch 路徑" msgid "Monitor '%s' not found" msgstr "監視器 '%s' 找不到" -#: internal/cli/monitor/monitor.go:201 +#: internal/cli/monitor/monitor.go:202 msgid "Monitor port settings:" msgstr "監視連接埠設定:" -#: internal/arduino/builder/internal/detector/detector.go:153 +#: internal/arduino/builder/internal/detector/detector.go:158 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "找到了多個 “%[1]s” 程式庫" -#: internal/cli/board/details.go:216 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:114 internal/cli/lib/list.go:142 -#: internal/cli/outdated/outdated.go:99 +#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 +#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 +#: internal/cli/outdated/outdated.go:104 msgid "Name" msgstr "名" -#: internal/cli/lib/search.go:182 +#: internal/cli/lib/search.go:178 msgid "Name: \"%s\"" msgstr "名: “%s”" -#: internal/cli/upload/upload.go:226 +#: internal/cli/upload/upload.go:234 msgid "New upload port: %[1]s (%[2]s)" msgstr "新上傳連接埠: %[1]s (%[2]s)" -#: internal/cli/board/list.go:126 +#: internal/cli/board/list.go:129 msgid "No boards found." msgstr "沒找到開發板" -#: internal/cli/board/attach.go:105 -msgid "No default port or FQBN set" -msgstr "未設定預設連接埠或 FQBN" +#: internal/cli/board/attach.go:111 +msgid "No default port, FQBN or programmer set" +msgstr "未預設埠號, FQBN 或者燒錄器" -#: internal/cli/lib/examples.go:106 +#: internal/cli/lib/examples.go:107 msgid "No libraries found." msgstr "沒找到程式庫" -#: internal/cli/lib/list.go:134 +#: internal/cli/lib/list.go:129 msgid "No libraries installed." msgstr "沒安裝程式庫" -#: internal/cli/lib/search.go:171 +#: internal/cli/lib/search.go:167 msgid "No libraries matching your search." msgstr "沒有你想找的程式庫" -#: internal/cli/lib/search.go:177 +#: internal/cli/lib/search.go:173 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1597,7 +1600,7 @@ msgstr "" "沒有符合你想找的程式庫\n" "你的意思是...\n" -#: internal/cli/lib/list.go:132 +#: internal/cli/lib/list.go:127 msgid "No libraries update is available." msgstr "沒的程式庫更新檔" @@ -1605,7 +1608,7 @@ msgstr "沒的程式庫更新檔" msgid "No monitor available for the port protocol %s" msgstr "沒有可用於連接埠協議 %s 的監視器" -#: internal/cli/outdated/outdated.go:92 +#: internal/cli/outdated/outdated.go:97 msgid "No outdated platforms or libraries found." msgstr "沒找到已過時的平台或程式庫" @@ -1613,11 +1616,11 @@ msgstr "沒找到已過時的平台或程式庫" msgid "No platforms installed." msgstr "沒安裝任何平台" -#: internal/cli/core/search.go:110 +#: internal/cli/core/search.go:112 msgid "No platforms matching your search." msgstr "沒有你想找的平台" -#: commands/upload/upload.go:456 +#: commands/service_upload.go:521 msgid "No upload port found, using %s as fallback" msgstr "沒找到上傳連接埠,使用 %s 作為後援" @@ -1629,75 +1632,75 @@ msgstr "找不到有效的相依解決方案" msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "記憶體不足;有關減少用量的方法,請參見 %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:156 +#: internal/arduino/builder/internal/detector/detector.go:161 msgid "Not used: %[1]s" msgstr "未使用: %[1]s" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:186 msgid "OS:" msgstr "作業系統:" -#: internal/cli/board/details.go:145 +#: internal/cli/board/details.go:144 msgid "Official Arduino board:" msgstr "Arduino 官方開發板:" -#: internal/cli/lib/search.go:100 +#: internal/cli/lib/search.go:97 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "省略程式庫中除最新版本以外的所有版本(產出更精簡的 JSON )" -#: internal/cli/monitor/monitor.go:60 internal/cli/monitor/monitor.go:61 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "開啟開發板的通信埠" -#: internal/cli/board/details.go:200 +#: internal/cli/board/details.go:199 msgid "Option:" msgstr "選項:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:114 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "選項,可以是:%s。用來告訴 gcc 使用哪個警告級別 (-W 參數)" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:127 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "選項,清理建構用的檔案夾且不使用任何快取" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:124 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "選項,優化編譯用於除錯的輸出,還不到發佈用" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Optional, suppresses almost every output." msgstr "選項,禁止全部輸出" -#: internal/cli/compile/compile.go:116 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "選項,開啟詳細模式" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:130 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "選項, 包含一組替代 sketch 原始碼的 .json 檔的路徑" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:106 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "用自定義值替代建構屬性。可多次使用多個屬性" -#: internal/cli/config/init.go:57 +#: internal/cli/config/init.go:61 msgid "Overwrite existing config file." msgstr "覆蓋現有的設定檔" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Overwrites an already existing archive" msgstr "覆蓋已存在的存檔" -#: internal/cli/sketch/new.go:44 +#: internal/cli/sketch/new.go:45 msgid "Overwrites an existing .ino sketch." msgstr "覆蓋現有的 .ino sketch 檔" @@ -1706,61 +1709,62 @@ msgstr "覆蓋現有的 .ino sketch 檔" msgid "PACKAGER" msgstr "套件管理員" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:164 msgid "Package URL:" msgstr "套件網址:" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:163 msgid "Package maintainer:" msgstr "套件維護者:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:162 msgid "Package name:" msgstr "套件名" -#: internal/cli/board/details.go:167 +#: internal/cli/board/details.go:166 msgid "Package online help:" msgstr "套件線上協助:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:165 msgid "Package website:" msgstr "套件網站:" -#: internal/cli/lib/search.go:205 +#: internal/cli/lib/search.go:201 msgid "Paragraph: %s" msgstr "段落: %s" -#: internal/cli/compile/compile.go:441 internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 msgid "Path" msgstr "路徑" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "程式庫集合的路徑。可多次使用,或以逗號分隔" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:121 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "單一程式庫的根目錄路徑。可多次使用,或以逗號分隔" -#: internal/cli/cli.go:114 +#: internal/cli/cli.go:173 msgid "Path to the file where logs will be written." msgstr "日誌檔的路徑" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:102 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已編譯檔的路徑。如果省略,將在作業系統預設的臨時目錄中建立" -#: commands/upload/upload.go:437 +#: commands/service_upload.go:502 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 連接埠上執行 1200-bps TOUCH 重置" -#: commands/core/install.go:55 commands/core/install.go:62 +#: commands/service_platform_install.go:85 +#: commands/service_platform_install.go:92 msgid "Platform %s already installed" msgstr "平台 %s 已安裝過" @@ -1768,7 +1772,7 @@ msgstr "平台 %s 已安裝過" msgid "Platform %s installed" msgstr "平台 %s 已安裝" -#: internal/cli/compile/compile.go:388 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1788,39 +1792,39 @@ msgstr "平台 '%s' 已是最新版" msgid "Platform '%s' not found" msgstr "平台 '%s' 沒找到" -#: internal/cli/board/search.go:83 +#: internal/cli/board/search.go:84 msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:373 internal/cli/upload/upload.go:134 +#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "平台 ID 不正確" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:172 msgid "Platform URL:" msgstr "平台位址:" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:171 msgid "Platform architecture:" msgstr "平台架構:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:170 msgid "Platform category:" msgstr "平台類別:" -#: internal/cli/board/details.go:178 +#: internal/cli/board/details.go:177 msgid "Platform checksum:" msgstr "平台校驗碼:" -#: internal/cli/board/details.go:174 +#: internal/cli/board/details.go:173 msgid "Platform file name:" msgstr "平台檔案名:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:169 msgid "Platform name:" msgstr "平台名:" -#: internal/cli/board/details.go:176 +#: internal/cli/board/details.go:175 msgid "Platform size (bytes):" msgstr "平台大小 (位元組):" @@ -1836,11 +1840,11 @@ msgid "" " identified" msgstr "請指定一個 FQBN。%[1]s 連接埠以協議 %[2]s 的開發板無法識別" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Port" msgstr "連接埠" -#: internal/cli/monitor/monitor.go:252 internal/cli/monitor/monitor.go:261 +#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 msgid "Port closed: %v" msgstr "連接埠關閉: %v" @@ -1853,23 +1857,27 @@ msgstr "連接埠監視器錯誤" msgid "Precompiled library in \"%[1]s\" not found" msgstr "找不到在“%[1]s”的預編譯程式庫" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:41 msgid "Print details about a board." msgstr "列出開發板的詳細資訊" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Print preprocessed code to stdout instead of compiling." msgstr "列出預處理的代碼到標準輸出,而不是編譯" -#: internal/cli/cli.go:106 internal/cli/cli.go:108 +#: internal/cli/cli.go:167 internal/cli/cli.go:169 msgid "Print the logs on the standard output." msgstr "列出日誌到標準輸出" -#: internal/cli/config/dump.go:31 +#: internal/cli/cli.go:181 +msgid "Print the output in JSON format." +msgstr "輸出 JSON 格式。" + +#: internal/cli/config/dump.go:30 msgid "Prints the current configuration" msgstr "列出目前設定" -#: internal/cli/config/dump.go:32 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration." msgstr "列出目前設定" @@ -1881,15 +1889,15 @@ msgstr "設定集'%s' 找不到" msgid "Programmer '%s' not found" msgstr "燒錄器 '%s' 找不到" -#: internal/cli/board/details.go:111 +#: internal/cli/board/details.go:110 msgid "Programmer name" msgstr "燒錄器名" -#: internal/cli/arguments/programmer.go:35 +#: internal/cli/arguments/programmer.go:34 msgid "Programmer to use, e.g: atmel_ice" msgstr "要使用的燒錄器,例如:atmel_ice" -#: internal/cli/board/details.go:216 +#: internal/cli/board/details.go:215 msgid "Programmers:" msgstr "燒錄器:" @@ -1897,19 +1905,19 @@ msgstr "燒錄器:" msgid "Property '%s' is undefined" msgstr "'%s' 屬性未定義" -#: internal/cli/board/list.go:136 +#: internal/cli/board/list.go:139 msgid "Protocol" msgstr "協議" -#: internal/cli/lib/search.go:215 +#: internal/cli/lib/search.go:211 msgid "Provides includes: %s" msgstr "提供的包括: %s" -#: internal/cli/config/remove.go:31 internal/cli/config/remove.go:32 +#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 msgid "Removes one or more values from a setting." msgstr "從設定中移除一或多個值" -#: commands/lib/install.go:152 +#: commands/service_library_install.go:186 msgid "Replacing %[1]s with %[2]s" msgstr "將 %[1]s 替換成 %[2]s" @@ -1917,23 +1925,17 @@ msgstr "將 %[1]s 替換成 %[2]s" msgid "Replacing platform %[1]s with %[2]s" msgstr "以平台 %[2]s 替換 %[1]s " -#: internal/cli/board/details.go:184 +#: internal/cli/board/details.go:183 msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/daemon/daemon.go:51 -msgid "Run as a daemon on port: %s" -msgstr "以背景程式身份在連接埠: %s 執行" - -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:77 msgid "Run in silent mode, show only monitor input and output." msgstr "以靜默模式執行,只顯示監視輸入和輸出" -#: internal/cli/daemon/daemon.go:52 -msgid "" -"Running as a daemon the initialization of cores and libraries is done only " -"once." -msgstr "以背景程式身份執行時,只做一次核心和程式庫的初始化" +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." +msgstr "以 gRPC 精靈的形式執行 Arduino CLI。" #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." @@ -1944,35 +1946,35 @@ msgstr "以正常建構的核心執行..." msgid "Running pre_uninstall script." msgstr "執行 pre_uninstall 命令." -#: internal/cli/lib/search.go:41 +#: internal/cli/lib/search.go:38 msgid "SEARCH_TERM" msgstr "搜尋_條件" -#: internal/cli/debug/debug.go:205 +#: internal/cli/debug/debug.go:228 msgid "SVD file path" msgstr "SVD 檔案路徑" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:100 msgid "Save build artifacts in this directory." msgstr "將建構成品存在這個目錄" -#: internal/cli/board/search.go:39 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "以指定的關鍵字在開發板管理員尋找開發板" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:37 msgid "Search for a board in the Boards Manager." msgstr "在開發板管理員尋找開發板" -#: internal/cli/core/search.go:45 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "以指定的關鍵字在開發板管理員尋找核心" -#: internal/cli/core/search.go:44 +#: internal/cli/core/search.go:39 msgid "Search for a core in Boards Manager." msgstr "在開發板管理員尋找核心" -#: internal/cli/lib/search.go:43 +#: internal/cli/lib/search.go:40 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2049,65 +2051,65 @@ msgstr "" " - Website\n" "\t\t" -#: internal/cli/lib/search.go:42 +#: internal/cli/lib/search.go:39 msgid "Searches for one or more libraries matching a query." msgstr "尋找符合條件的一或多個程式庫" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:200 msgid "Sentence: %s" msgstr "句子: %s" -#: internal/cli/debug/debug.go:213 +#: internal/cli/debug/debug.go:236 msgid "Server path" msgstr "伺服器路徑" -#: internal/arduino/httpclient/httpclient.go:73 +#: internal/arduino/httpclient/httpclient.go:62 msgid "Server responded with: %s" msgstr "伺服器回應: %s" -#: internal/cli/debug/debug.go:212 +#: internal/cli/debug/debug.go:235 msgid "Server type" msgstr "伺服器類型" -#: internal/cli/upload/upload.go:82 +#: internal/cli/upload/upload.go:80 msgid "Set a value for a field required to upload." msgstr "設定上傳所必要的欄位上的值" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:74 msgid "Set terminal in raw mode (unbuffered)." msgstr "設定終端成原始模式 (無緩衝)" -#: internal/cli/config/set.go:32 internal/cli/config/set.go:33 +#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 msgid "Sets a setting value." msgstr "設定一個值" #: internal/cli/board/attach.go:36 msgid "" -"Sets the default values for port and FQBN. If no port or FQBN are specified," -" the current default port and FQBN are displayed." -msgstr "設定連接埠和 FQBN 的預設值。如果沒指定連接埠或 FQBN,將顯示預設的" +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." +msgstr "設定連接埠和 FQBN & 燒錄器的預設值. 如果沒指定, 將使用現有的設定值。" -#: internal/cli/config/init.go:55 internal/cli/config/init.go:56 +#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 msgid "Sets where to save the configuration file." msgstr "設定儲存設定檔的位置" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Setting" msgstr "設定" -#: internal/cli/config/validate.go:50 -msgid "Settings key doesn't exist" -msgstr "設定鍵值不存在" +#: internal/cli/cli.go:102 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "將顯示協助訊息,不過只有文字模式。" -#: internal/cli/core/search.go:52 +#: internal/cli/core/search.go:47 msgid "Show all available core versions." msgstr "顯示全部可用的核心版本" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:75 msgid "Show all the settings of the communication port." msgstr "顯示通訊連接埠的全部設定" -#: internal/cli/board/listall.go:48 internal/cli/board/search.go:46 +#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 msgid "Show also boards marked as 'hidden' in the platform" msgstr "在平台上也顯示標記為'隱藏的'開發板" @@ -2117,38 +2119,38 @@ msgid "" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "顯示建構屬性. 屬性是攤開的, 如只想看定義, 請用 \\\"--show-properties=unexpanded\\\"." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:51 msgid "Show full board details" msgstr "顯示完整的開發板細節" -#: internal/cli/board/details.go:43 +#: internal/cli/board/details.go:42 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "顯示開發板的資訊,特別是如果開發板在 FQBN 中有可指定的選項" -#: internal/cli/lib/search.go:99 +#: internal/cli/lib/search.go:96 msgid "Show library names only." msgstr "只顯示程式庫名" -#: internal/cli/board/details.go:53 +#: internal/cli/board/details.go:52 msgid "Show list of available programmers" msgstr "顯示可用的燒錄器列表" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:70 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "顯示除錯作業的數據,而不是啟動除錯器" -#: internal/cli/update/update.go:45 +#: internal/cli/update/update.go:47 msgid "Show outdated cores and libraries after index update" msgstr "顯示在索引更新後過時的核心和程式庫" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:39 msgid "Shows a list of installed libraries." msgstr "顯示已安裝的程式庫" -#: internal/cli/lib/list.go:41 +#: internal/cli/lib/list.go:40 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2163,11 +2165,11 @@ msgstr "" msgid "Shows the list of installed platforms." msgstr "顯示已安裝的平台" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:43 msgid "Shows the list of the examples for libraries." msgstr "顯示程式庫範例" -#: internal/cli/lib/examples.go:45 +#: internal/cli/lib/examples.go:44 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2182,21 +2184,21 @@ msgstr "顯示安裝在系統上的 Arduino CLI 版本" msgid "Shows version number of Arduino CLI." msgstr "顯示 Arduino CLI 版本" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:188 msgid "Size (bytes):" msgstr "大小 (字元組) :" -#: commands/compile/compile.go:209 +#: commands/service_compile.go:254 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "sketch 不能放在建構路徑上。請指定不同的建構路徑" -#: internal/cli/sketch/new.go:96 +#: internal/cli/sketch/new.go:97 msgid "Sketch created in: %s" msgstr "Sketch 建立在: %s" -#: internal/cli/arguments/profiles.go:29 +#: internal/cli/arguments/profiles.go:32 msgid "Sketch profile to use" msgstr "採用的 Sketch 設定集" @@ -2220,7 +2222,7 @@ msgstr "Sketch 已棄用 .pde 副檔名 ,請將下列檔案的副檔名改成. msgid "Skip linking of final executable." msgstr "跳過鏈結成執行檔" -#: commands/upload/upload.go:430 +#: commands/service_upload.go:495 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳過 1200-bps 接觸重設:未選取序列埠!" @@ -2232,7 +2234,7 @@ msgstr "跳過建立壓縮檔: %[1]s" msgid "Skipping compile of: %[1]s" msgstr "跳過編譯: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:407 +#: internal/arduino/builder/internal/detector/detector.go:416 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳過預編譯程式庫 %[1]s 的相依偵測" @@ -2253,23 +2255,27 @@ msgstr "跳過工具設定" msgid "Skipping: %[1]s" msgstr "跳過: %[1]s" -#: commands/instances.go:493 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "有些索引無法更新" -#: internal/cli/core/upgrade.go:139 +#: internal/cli/core/upgrade.go:140 msgid "Some upgrades failed, please check the output for details." msgstr "有些升級失敗了,細節請看輸出" -#: internal/cli/daemon/daemon.go:57 +#: internal/cli/daemon/daemon.go:76 msgid "The TCP port the daemon will listen to" msgstr "背景程式監聽的 TCP 埠" -#: internal/cli/cli.go:125 +#: internal/cli/cli.go:178 +msgid "The command output format, can be: %s" +msgstr "輸出格式,可以是: %s" + +#: internal/cli/cli.go:182 msgid "The custom config file (if not specified the default will be used)." msgstr "自定義設定檔 (如沒指定,將使用預設值)" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:98 msgid "The flag --debug-file must be used with --debug." msgstr "參數 --debug-file 必須和 --debug 一起使用" @@ -2281,7 +2287,11 @@ msgstr "指定的板子/燒錄器設置不支援除錯。" msgid "The given board/programmer configuration supports debugging." msgstr "指定的板子/燒錄器設置支援除錯。" -#: internal/cli/config/add.go:70 +#: commands/cmderrors/cmderrors.go:878 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "實例已無效需重新初始化" + +#: internal/cli/config/add.go:56 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2289,7 +2299,7 @@ msgstr "" "'%[1]v' 鍵不是項目列表,無法加入其中。\n" "還是用 '%[2]s'?" -#: internal/cli/config/remove.go:51 +#: internal/cli/config/remove.go:56 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2301,23 +2311,23 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "程式庫 %s 有多個安裝" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:112 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定義加密密鑰的名稱,用在編譯過程中對二進位碼進行加密。只用在有支援的平台" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:110 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定義簽名密鑰的名稱,用在編譯過程中對二進位碼進行簽名。只用在有支援的平台" -#: internal/cli/cli.go:116 internal/cli/cli.go:121 +#: internal/cli/cli.go:175 msgid "The output format for the logs, can be: %s" msgstr "日誌的輸出格​​式,可以是: %s" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:108 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2335,13 +2345,13 @@ msgid "" "update is available." msgstr "此指令將升級已安裝的程式庫到最新版。多程式庫以空格為間格。如未提供參數,將升級全部已安裝的程式庫" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:44 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此指令顯示可升級的已安裝核心和程式庫。如沒需要更新的,則輸出空白" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:78 msgid "Timestamp each incoming line." msgstr "記錄每一行時間" @@ -2354,39 +2364,39 @@ msgstr "工具 %s 已安裝" msgid "Tool %s uninstalled" msgstr "工具 %s 已卸除" -#: commands/debug/debug.go:138 +#: commands/service_debug_run.go:143 msgid "Toolchain '%s' is not supported" msgstr "不支援工具包 '%s' " -#: internal/cli/debug/debug.go:202 +#: internal/cli/debug/debug.go:225 msgid "Toolchain path" msgstr "工具包路徑" -#: internal/cli/debug/debug.go:203 +#: internal/cli/debug/debug.go:226 msgid "Toolchain prefix" msgstr "工具包前綴字元" -#: internal/cli/debug/debug.go:201 +#: internal/cli/debug/debug.go:224 msgid "Toolchain type" msgstr "工具包類型" -#: internal/cli/compile/compile.go:386 internal/cli/upload/upload.go:144 +#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "嘗試執行 %s" -#: internal/cli/burnbootloader/burnbootloader.go:59 +#: internal/cli/burnbootloader/burnbootloader.go:61 msgid "Turns on verbose mode." msgstr "開啟囉嗦模式" -#: internal/cli/board/list.go:98 internal/cli/board/list.go:136 +#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 msgid "Type" msgstr "類型" -#: internal/cli/lib/search.go:212 +#: internal/cli/lib/search.go:208 msgid "Types: %s" msgstr "類型: %s" -#: internal/cli/board/details.go:191 +#: internal/cli/board/details.go:190 msgid "URL:" msgstr "網址:" @@ -2395,33 +2405,33 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "無法快取建構核心,請通知 %[1]s 維護者注意 %[2]s" -#: internal/cli/configuration/configuration.go:122 +#: internal/cli/configuration/configuration.go:88 msgid "Unable to get Documents Folder: %v" msgstr "無法取得文件夾: %v" -#: internal/cli/configuration/configuration.go:97 +#: internal/cli/configuration/configuration.go:63 msgid "Unable to get Local App Data Folder: %v" msgstr "無法取得本地應用程式的資料夾: %v" -#: internal/cli/configuration/configuration.go:85 -#: internal/cli/configuration/configuration.go:110 +#: internal/cli/configuration/configuration.go:51 +#: internal/cli/configuration/configuration.go:76 msgid "Unable to get user home dir: %v" msgstr "無法取得用戶家目錄: %v" -#: internal/cli/cli.go:204 +#: internal/cli/cli.go:248 msgid "Unable to open file for logging: %s" msgstr "無法開啟檔案做日誌記錄: %s" -#: commands/instances.go:460 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "無法解析網址" -#: commands/lib/uninstall.go:50 +#: commands/service_library_uninstall.go:70 #: internal/arduino/cores/packagemanager/install_uninstall.go:277 msgid "Uninstalling %s" msgstr "卸除 %s" -#: commands/core/uninstall.go:74 +#: commands/service_platform_uninstall.go:98 #: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Uninstalling %s, tool is no more required" msgstr "卸除 %s,不需要這工具了" @@ -2436,7 +2446,7 @@ msgstr "如不再需用到, 卸除一或多個核心及相依" msgid "Uninstalls one or more libraries." msgstr "卸載一或多個程式庫" -#: internal/cli/board/list.go:168 +#: internal/cli/board/list.go:171 msgid "Unknown" msgstr "未知的" @@ -2444,27 +2454,27 @@ msgstr "未知的" msgid "Unknown FQBN" msgstr "未知的 FQBN" -#: internal/cli/update/update.go:37 +#: internal/cli/update/update.go:39 msgid "Updates the index of cores and libraries" msgstr "更新核心和程式庫的索引" -#: internal/cli/update/update.go:38 +#: internal/cli/update/update.go:40 msgid "Updates the index of cores and libraries to the latest versions." msgstr "更新核心和程式庫的索引到最新版" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores to the latest version." msgstr "更新核心索引到最新" -#: internal/cli/core/update_index.go:33 +#: internal/cli/core/update_index.go:34 msgid "Updates the index of cores." msgstr "更新核心索引" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index to the latest version." msgstr "更新程式庫索引到最新" -#: internal/cli/lib/update_index.go:33 +#: internal/cli/lib/update_index.go:34 msgid "Updates the libraries index." msgstr "更新程式庫索引" @@ -2472,11 +2482,11 @@ msgstr "更新程式庫索引" msgid "Upgrade doesn't accept parameters with version" msgstr "升級不接受版本參數" -#: internal/cli/upgrade/upgrade.go:38 +#: internal/cli/upgrade/upgrade.go:40 msgid "Upgrades installed cores and libraries to latest version." msgstr "升級已安裝的核心和程式庫到最新版" -#: internal/cli/upgrade/upgrade.go:37 +#: internal/cli/upgrade/upgrade.go:39 msgid "Upgrades installed cores and libraries." msgstr "升級已安裝的核心和程式庫" @@ -2488,11 +2498,11 @@ msgstr "升級已安裝的程式庫" msgid "Upgrades one or all installed platforms to the latest version." msgstr "升級已安裝的平台到最新版本" -#: internal/cli/upload/upload.go:58 +#: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." msgstr "上傳 Arduino sketch" -#: internal/cli/upload/upload.go:59 +#: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "上傳 Arduino sketch。不會在上傳前編譯它" @@ -2501,7 +2511,7 @@ msgstr "上傳 Arduino sketch。不會在上傳前編譯它" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上傳連接埠,例如:COM3 或 /dev/ttyACM2" -#: commands/upload/upload.go:454 +#: commands/service_upload.go:519 msgid "Upload port found on %s" msgstr "找到上傳連接埠 %s " @@ -2509,7 +2519,7 @@ msgstr "找到上傳連接埠 %s " msgid "Upload port protocol, e.g: serial" msgstr "上傳連接埠協議,例如:串列" -#: internal/cli/compile/compile.go:118 +#: internal/cli/compile/compile.go:117 msgid "Upload the binary after the compilation." msgstr "編譯完成就上傳二進位碼" @@ -2521,12 +2531,12 @@ msgstr "使用燒錄器將 bootloader 上傳到開發板" msgid "Upload the bootloader." msgstr "上傳 bootloader" -#: internal/cli/compile/compile.go:263 internal/cli/upload/upload.go:165 +#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "以 %s 協議上傳到開發板需要以下資訊:" -#: internal/cli/config/init.go:103 +#: internal/cli/config/init.go:159 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2542,27 +2552,27 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 取得指令的更多資訊" -#: internal/cli/compile/compile.go:439 +#: internal/cli/compile/compile.go:449 msgid "Used library" msgstr "使用的程式庫" -#: internal/cli/compile/compile.go:454 +#: internal/cli/compile/compile.go:464 msgid "Used platform" msgstr "使用的平台" -#: internal/arduino/builder/internal/detector/detector.go:154 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Used: %[1]s" msgstr "使用: %[1]s" -#: commands/compile/compile.go:284 +#: commands/service_compile.go:329 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " -#: internal/arduino/builder/internal/detector/detector.go:346 +#: internal/arduino/builder/internal/detector/detector.go:353 msgid "Using cached library dependencies for file: %[1]s" msgstr "檔案: %[1]s 使用快取程式庫相依" -#: commands/compile/compile.go:285 +#: commands/service_compile.go:330 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " @@ -2592,25 +2602,25 @@ msgstr "使用先前編譯的檔案: %[1]s" msgid "VERSION" msgstr "版本" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 msgid "VERSION_NUMBER" msgstr "版本_號" -#: internal/cli/monitor/monitor.go:296 +#: internal/cli/monitor/monitor.go:299 msgid "Values" msgstr "數值" -#: internal/cli/burnbootloader/burnbootloader.go:58 -#: internal/cli/compile/compile.go:120 internal/cli/upload/upload.go:77 +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "上傳後驗證上傳的二進位碼" -#: internal/cli/compile/compile.go:440 internal/cli/compile/compile.go:455 -#: internal/cli/core/search.go:114 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/core/search.go:116 msgid "Version" msgstr "版本" -#: internal/cli/lib/search.go:213 +#: internal/cli/lib/search.go:209 msgid "Versions: %s" msgstr "版本: %s" @@ -2627,7 +2637,7 @@ msgstr "警告!無法設定工具: %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告 ! 無法執行 pre_uninstall 命令: %s" -#: internal/cli/compile/compile.go:315 +#: internal/cli/compile/compile.go:327 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告! sketch 用了一或多個客製程式庫編譯" @@ -2637,34 +2647,30 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告: %[1]s 程式庫是 (%[2]s 架構),可能與選擇的開發板 (%[3]s架構)不相容 " -#: commands/upload/upload.go:443 +#: commands/service_upload.go:508 msgid "Waiting for upload port..." msgstr "等待上傳連接埠..." -#: commands/compile/compile.go:290 +#: commands/service_compile.go:335 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告: 開發板 %[1]s 並沒定義 %[2]s 喜好。自動設定成:%[3]s" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:202 msgid "Website: %s" msgstr "網站: %s" -#: internal/cli/config/init.go:42 +#: internal/cli/config/init.go:44 msgid "Writes current configuration to a configuration file." msgstr "將目前的設定寫入設定檔" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:47 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "將目前的設定寫入資料目錄裏面的設定檔" -#: internal/cli/config/set.go:74 -msgid "Writing config file: %v" -msgstr "寫入設定檔: %v" - -#: internal/cli/compile/compile.go:149 internal/cli/compile/compile.go:152 +#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 msgid "You cannot use the %s flag while compiling with a profile." msgstr "使用設定集編譯時不能使用 %s 旗標參數" @@ -2680,11 +2686,11 @@ msgstr "存檔無效: 在 zip 檔頂層找到多個檔案" msgid "archive is not valid: no files found in zip file top level" msgstr "存檔無效: 在 zip 檔的頂層沒找到檔案" -#: internal/cli/sketch/archive.go:36 +#: internal/cli/sketch/archive.go:35 msgid "archivePath" msgstr "存檔路徑" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:59 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 msgid "arduino-preprocessor pattern is missing" msgstr "缺少 arduino 預處理器樣態" @@ -2692,43 +2698,35 @@ msgstr "缺少 arduino 預處理器樣態" msgid "available only in text format" msgstr "只有本文格式" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:83 msgid "basic search for \"audio\"" msgstr "基本搜尋\"audio\" " -#: internal/cli/lib/search.go:91 +#: internal/cli/lib/search.go:88 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基本搜尋只限於官方維護者的 \"esp32\" 和 \"display\"" -#: commands/upload/upload.go:698 +#: commands/service_upload.go:763 msgid "binary file not found in %s" msgstr "%s 裏找不到二進位檔" -#: internal/arduino/cores/packagemanager/package_manager.go:342 +#: internal/arduino/cores/packagemanager/package_manager.go:351 msgid "board %s not found" msgstr "找不到開發板 %s" -#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 msgid "boardname" msgstr "開發板名" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:179 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 msgid "built-in libraries directory not set" msgstr "內建程式庫目錄未設定" -#: internal/arduino/discovery/discovery.go:346 -#: internal/arduino/discovery/discovery.go:369 -#: internal/arduino/discovery/discovery.go:391 -#: internal/arduino/discovery/discovery.go:431 -#: internal/arduino/discovery/discovery.go:457 -msgid "calling %[1]s: %[2]w" -msgstr "呼叫 %[1]s: %[2]w" - #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" msgstr "找不到最新版的 %s " -#: commands/instances.go:260 +#: commands/instances.go:274 msgid "can't find latest release of tool %s" msgstr "找不到最新版的工具 %s " @@ -2736,15 +2734,15 @@ msgstr "找不到最新版的工具 %s " msgid "can't find main Sketch file in %s" msgstr "在 %s 找不到 sketch 主檔" -#: internal/arduino/cores/packagemanager/loader.go:701 +#: internal/arduino/cores/packagemanager/loader.go:711 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 為 %s 探索的樣態" -#: internal/arduino/builder/internal/detector/detector.go:90 +#: internal/arduino/builder/internal/detector/detector.go:95 msgid "candidates" msgstr "候選" -#: commands/upload/upload.go:655 commands/upload/upload.go:662 +#: commands/service_upload.go:720 commands/service_upload.go:727 msgid "cannot execute upload tool: %s" msgstr "無法執行上傳工具: %s" @@ -2757,7 +2755,7 @@ msgstr "檢查本地端存檔的完整性" msgid "cleaning build path" msgstr "清理建構路徑" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "command" msgstr "指令" @@ -2765,23 +2763,6 @@ msgstr "指令" msgid "command '%[1]s' failed: %[2]s" msgstr "指令 '%[1]s' 失敗: %[2]s" -#: internal/arduino/discovery/discovery.go:350 -#: internal/arduino/discovery/discovery.go:373 -#: internal/arduino/discovery/discovery.go:395 -#: internal/arduino/discovery/discovery.go:435 -#: internal/arduino/discovery/discovery.go:461 -msgid "command failed: %s" -msgstr "指令失敗: %s" - -#: internal/arduino/discovery/discovery.go:348 -#: internal/arduino/discovery/discovery.go:352 -#: internal/arduino/discovery/discovery.go:371 -#: internal/arduino/discovery/discovery.go:375 -#: internal/arduino/discovery/discovery.go:393 -#: internal/arduino/discovery/discovery.go:397 -#: internal/arduino/discovery/discovery.go:433 -#: internal/arduino/discovery/discovery.go:459 -#: internal/arduino/discovery/discovery.go:463 #: internal/arduino/monitor/monitor.go:147 #: internal/arduino/monitor/monitor.go:153 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" @@ -2791,19 +2772,27 @@ msgstr "通信不同步,預期 '%[1]s',卻收到 '%[2]s'" msgid "computing hash: %s" msgstr "計算雜湊: %s" +#: internal/arduino/cores/fqbn.go:80 +msgid "config key %s contains an invalid character" +msgstr "設定鍵 %s 含有無效字元" + +#: internal/arduino/cores/fqbn.go:85 +msgid "config value %s contains an invalid character" +msgstr "設定值%s 含有無效字元" + #: internal/arduino/libraries/librariesmanager/install.go:139 msgid "copying library to destination directory:" msgstr "拷貝程式庫到目標目錄:" -#: commands/upload/upload.go:770 +#: commands/service_upload.go:835 msgid "could not find a valid build artifact" msgstr "找不到正確的建構成品" -#: commands/core/install.go:63 +#: commands/service_platform_install.go:93 msgid "could not overwrite" msgstr "無法覆寫" -#: commands/lib/install.go:155 +#: commands/service_library_install.go:189 msgid "could not remove old library" msgstr "無法移除舊的程式庫" @@ -2829,7 +2818,7 @@ msgstr "建立解壓縮用的臨時目錄: %s" msgid "data section exceeds available space in board" msgstr "資料區已超出開發板的可用空間" -#: commands/lib/resolve_deps.go:86 +#: commands/service_library_resolve_deps.go:85 msgid "dependency '%s' is not available" msgstr "沒有 '%s' 的相依" @@ -2845,19 +2834,19 @@ msgstr "目標目錄已存在" msgid "directory doesn't exist: %s" msgstr "目錄不存在: %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:190 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 msgid "discovery %[1]s process not started: %[2]w" msgstr "探索 %[1]s 程序未啟動: %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:632 +#: internal/arduino/cores/packagemanager/loader.go:643 msgid "discovery %s not found" msgstr "探索 %s找不到 " -#: internal/arduino/cores/packagemanager/loader.go:636 +#: internal/arduino/cores/packagemanager/loader.go:647 msgid "discovery %s not installed" msgstr "探索 %s 未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:734 +#: internal/arduino/cores/packagemanager/package_manager.go:743 msgid "discovery release not found: %s" msgstr "找不到探索發行: %s" @@ -2873,39 +2862,31 @@ msgstr "下載 Arduino SAMD 核心最新版" msgid "downloaded" msgstr "已下載" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下載 %[1]s 工具: %[2]s" -#: internal/arduino/cores/fqbn.go:58 +#: internal/arduino/cores/fqbn.go:59 msgid "empty board identifier" msgstr "清空開發板識別" -#: internal/arduino/serialutils/serialutils.go:140 -msgid "error during board reset" -msgstr "開發板重置時出錯" - #: internal/arduino/sketch/sketch.go:95 msgid "error loading sketch project file:" msgstr "錯誤載入 sketch 專案:" -#: internal/arduino/cores/packagemanager/loader.go:603 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "error opening %s" msgstr "錯誤開啟 %s" -#: internal/cli/config/set.go:67 -msgid "error parsing value: %v" -msgstr "錯誤解析數值: %v" - -#: internal/arduino/sketch/profiles.go:202 +#: internal/arduino/sketch/profiles.go:212 msgid "error parsing version constraints" msgstr "錯誤解析版本限制" -#: commands/board/list.go:116 +#: commands/service_board_list.go:114 msgid "error processing response from server" msgstr "錯誤處理伺服器回應" -#: commands/board/list.go:96 +#: commands/service_board_list.go:94 msgid "error querying Arduino Cloud Api" msgstr "錯誤查詢 Arduino Cloud Api" @@ -2921,7 +2902,7 @@ msgstr "解開存檔: %w" msgid "failed to compute hash of file \"%s\"" msgstr "計算 “%s” 檔的雜湊值失敗" -#: commands/board/list.go:91 +#: commands/service_board_list.go:89 msgid "failed to initialize http client" msgstr "初始化 http 客戶端失敗" @@ -2933,15 +2914,15 @@ msgstr "抓取的存檔大小跟索引內指明的大小不同" msgid "files in archive must be placed in a subdirectory" msgstr "存檔內的檔案必須放在子目錄下" -#: internal/arduino/cores/packagemanager/loader.go:54 +#: internal/arduino/cores/packagemanager/loader.go:58 msgid "finding absolute path of %s" msgstr "尋找 %s 的絕對路徑" -#: internal/cli/cli.go:72 +#: internal/cli/cli.go:91 msgid "flags" msgstr "旗標" -#: internal/arduino/cores/packagemanager/loader.go:93 +#: internal/arduino/cores/packagemanager/loader.go:97 msgid "following symlink %s" msgstr "跟隨符式鏈接 %s" @@ -2949,16 +2930,20 @@ msgstr "跟隨符式鏈接 %s" msgid "for a specific version." msgstr "針對特定版本" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:38 +#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 #: internal/cli/lib/install.go:48 msgid "for the latest version." msgstr "針對最新版本" -#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:49 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 #: internal/cli/lib/install.go:51 msgid "for the specific version." msgstr "針對特定版本" +#: internal/arduino/cores/fqbn.go:65 +msgid "fqbn's field %s contains an invalid character" +msgstr "fqbn 欄 %s 含有無效字元" + #: internal/inventory/inventory.go:68 msgid "generating installation.id: %w" msgstr "產出 installation.id: %w" @@ -2983,19 +2968,19 @@ msgstr "取得存檔資訊: %s" msgid "getting archive path: %s" msgstr "取得存檔路徑: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:357 msgid "getting build properties for board %[1]s: %[2]s" msgstr "取得開發板 %[1]s: %[2]s 的建構屬性" -#: internal/arduino/cores/packagemanager/download.go:106 +#: internal/arduino/cores/packagemanager/download.go:105 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的探索相依" -#: internal/arduino/cores/packagemanager/download.go:114 +#: internal/arduino/cores/packagemanager/download.go:113 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的監視器相依" -#: internal/arduino/cores/packagemanager/download.go:99 +#: internal/arduino/cores/packagemanager/download.go:98 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的工具相依" @@ -3003,7 +2988,7 @@ msgstr "取得平台 %[1]s: %[2]s 的工具相依" msgid "install directory not set" msgstr "未設定安裝目錄" -#: commands/instances.go:57 +#: commands/instances.go:58 msgid "installing %[1]s tool: %[2]s" msgstr "安裝 %[1]s 工具: %[2]s" @@ -3015,51 +3000,43 @@ msgstr "安裝平台%[1]s: %[2]s" msgid "interactive terminal not supported for the '%s' output format" msgstr "互動終端不支援 '%s' 輸出格式" -#: internal/arduino/sketch/profiles.go:200 +#: internal/arduino/sketch/profiles.go:210 msgid "invalid '%s' directive" msgstr "無效的 '%s' 指令" -#: internal/arduino/discovery/discovery.go:212 -msgid "invalid 'add' message: missing port" -msgstr "無效的 “加入” 訊息:找不到連接埠" - -#: internal/arduino/discovery/discovery.go:222 -msgid "invalid 'remove' message: missing port" -msgstr "無效的 “移除” 訊息:找不到連接埠" - #: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "無效的校驗碼格式: %s" -#: internal/arduino/cores/fqbn.go:64 internal/arduino/cores/fqbn.go:69 +#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 msgid "invalid config option: %s" msgstr "無效的設定選項: %s" -#: internal/cli/arguments/reference.go:90 +#: internal/cli/arguments/reference.go:91 msgid "invalid empty core architecture '%s'" msgstr "無效的空核心架構 '%s'" -#: internal/cli/arguments/reference.go:67 +#: internal/cli/arguments/reference.go:68 msgid "invalid empty core argument" msgstr "無效的空核心參數" -#: internal/cli/arguments/reference.go:87 +#: internal/cli/arguments/reference.go:88 msgid "invalid empty core name '%s'" msgstr "無效的空核心名 '%s'" -#: internal/cli/arguments/reference.go:72 +#: internal/cli/arguments/reference.go:73 msgid "invalid empty core reference '%s'" msgstr "無效的空核心參照 '%s'" -#: internal/cli/arguments/reference.go:77 +#: internal/cli/arguments/reference.go:78 msgid "invalid empty core version: '%s'" msgstr "無效的空核心版本: '%s'" -#: internal/cli/lib/args.go:49 +#: internal/cli/lib/args.go:48 msgid "invalid empty library name" msgstr "無效的空程式庫名" -#: internal/cli/lib/args.go:54 +#: internal/cli/lib/args.go:53 msgid "invalid empty library version: %s" msgstr "無效的空程式庫版本: %s" @@ -3075,11 +3052,11 @@ msgstr "無效的 git 網址" msgid "invalid hash '%[1]s': %[2]s" msgstr "無效的雜湊 '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:84 +#: internal/cli/arguments/reference.go:85 msgid "invalid item %s" msgstr "無效的項目 %s" -#: internal/arduino/sketch/profiles.go:234 +#: internal/arduino/sketch/profiles.go:244 msgid "invalid library directive:" msgstr "無效的程式庫指令:" @@ -3115,31 +3092,31 @@ msgstr "無效的庫存檔路徑: %[1]s 錯誤:%[2]w" msgid "invalid platform archive size: %s" msgstr "無效的平台存檔大小: %s" -#: internal/arduino/sketch/profiles.go:204 +#: internal/arduino/sketch/profiles.go:214 msgid "invalid platform identifier" msgstr "無效的平台識別" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:224 msgid "invalid platform index URL:" msgstr "無效的平台索引位址:" -#: internal/arduino/cores/packagemanager/loader.go:316 +#: internal/arduino/cores/packagemanager/loader.go:325 msgid "invalid pluggable monitor reference: %s" msgstr "無效的插拔式監視器參照: %s" -#: internal/cli/monitor/monitor.go:186 +#: internal/cli/monitor/monitor.go:187 msgid "invalid port configuration value for %s: %s" msgstr "無效的連接埠設定值 %s : %s" -#: internal/cli/monitor/monitor.go:194 +#: internal/cli/monitor/monitor.go:195 msgid "invalid port configuration: %s" msgstr "無效的連接埠設定: %s" -#: commands/upload/upload.go:642 +#: commands/service_upload.go:707 msgid "invalid recipe '%[1]s': %[2]s" msgstr "無效的作法'%[1]s': %[2]s" -#: commands/sketch/new.go:86 +#: commands/service_sketch_new.go:85 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3150,43 +3127,39 @@ msgstr "無效的 sketch 名 \\\"%[1]s\\\": 首字元必須是英數字或底線 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "無效的 '%[2]s' 選項值 '%[1]s' " -#: internal/arduino/cores/packagemanager/loader.go:226 +#: internal/arduino/cores/packagemanager/loader.go:230 msgid "invalid version directory %s" msgstr "無效的版本目錄 %s" -#: internal/arduino/sketch/profiles.go:236 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid version:" msgstr "無效的版本:" -#: commands/daemon/settings.go:106 commands/daemon/settings.go:161 -msgid "key not found in settings" -msgstr "設定中找不到鍵值" - -#: internal/cli/core/search.go:43 +#: internal/cli/core/search.go:38 msgid "keywords" msgstr "關鍵字" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:86 msgid "libraries authored by Daniel Garcia" msgstr "Daniel Garcia 發行的程式庫" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:87 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "限 Adafruit 發行, 名字上有 \"gfx\" 的程式庫" -#: internal/cli/lib/search.go:92 +#: internal/cli/lib/search.go:89 msgid "libraries that depend on at least \"IRremote\"" msgstr "至少基於 \"IRremote\" 的程式庫" -#: internal/cli/lib/search.go:93 +#: internal/cli/lib/search.go:90 msgid "libraries that depend only on \"IRremote\"" msgstr "只基於 \"IRremote\" 的程式庫" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:84 msgid "libraries with \"buzzer\" in the Name field" msgstr "名字有 \"buzzer\" 的程式庫" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:85 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "名字上有 \"pcf8523\" 的程式庫" @@ -3198,26 +3171,22 @@ msgstr "程式庫 %s 已安裝" msgid "library not valid" msgstr "程式庫無效" -#: internal/arduino/serialutils/serialutils.go:66 -msgid "listing serial ports" -msgstr "列出序列埠" - #: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:263 -#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:267 +#: internal/arduino/cores/packagemanager/loader.go:275 msgid "loading %[1]s: %[2]s" msgstr "載入 %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:304 +#: internal/arduino/cores/packagemanager/loader.go:313 msgid "loading boards: %s" msgstr "載入開發板: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:489 -#: internal/arduino/cores/packagemanager/package_manager.go:504 +#: internal/arduino/cores/packagemanager/package_manager.go:498 +#: internal/arduino/cores/packagemanager/package_manager.go:513 msgid "loading json index file %[1]s: %[2]s" msgstr "載入json 索引檔 %[1]s:%[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:210 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 msgid "loading library from %[1]s: %[2]s" msgstr "從 %[1]s: %[2]s載入程式庫" @@ -3225,32 +3194,32 @@ msgstr "從 %[1]s: %[2]s載入程式庫" msgid "loading library.properties: %s" msgstr "載入 library.properties: %s" -#: internal/arduino/cores/packagemanager/loader.go:203 -#: internal/arduino/cores/packagemanager/loader.go:231 +#: internal/arduino/cores/packagemanager/loader.go:207 +#: internal/arduino/cores/packagemanager/loader.go:235 msgid "loading platform release %s" msgstr "載入平台發行版 %s" -#: internal/arduino/cores/packagemanager/loader.go:190 +#: internal/arduino/cores/packagemanager/loader.go:194 msgid "loading platform.txt" msgstr "載入 platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:44 +#: internal/arduino/cores/packagemanager/profiles.go:45 msgid "loading required platform %s" msgstr "載入需要的平台 %s" -#: internal/arduino/cores/packagemanager/profiles.go:60 +#: internal/arduino/cores/packagemanager/profiles.go:61 msgid "loading required tool %s" msgstr "載入需要的工具 %s" -#: internal/arduino/cores/packagemanager/loader.go:578 +#: internal/arduino/cores/packagemanager/loader.go:589 msgid "loading tool release in %s" msgstr "載入在 %s 的工具" -#: internal/arduino/cores/packagemanager/loader.go:183 +#: internal/arduino/cores/packagemanager/loader.go:187 msgid "looking for boards.txt in %s" msgstr "在 %s 尋找 boards.txt" -#: commands/upload/upload.go:713 +#: commands/service_upload.go:778 msgid "looking for build artifacts" msgstr "尋找建構成品" @@ -3258,7 +3227,7 @@ msgstr "尋找建構成品" msgid "main file missing from sketch: %s" msgstr "sketch 缺少主檔: %s" -#: internal/arduino/sketch/profiles.go:198 +#: internal/arduino/sketch/profiles.go:208 msgid "missing '%s' directive" msgstr "缺少 '%s' 指令" @@ -3266,7 +3235,7 @@ msgstr "缺少 '%s' 指令" msgid "missing checksum for: %s" msgstr "缺少 %s 的校驗碼" -#: internal/arduino/cores/packagemanager/package_manager.go:450 +#: internal/arduino/cores/packagemanager/package_manager.go:459 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" @@ -3274,11 +3243,11 @@ msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少 %s 的套件索引, 不保証未來更新與否" -#: internal/arduino/cores/packagemanager/package_manager.go:455 +#: internal/arduino/cores/packagemanager/package_manager.go:464 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少被開發板 %[3]s 參照的平台 %[1]s : %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:460 +#: internal/arduino/cores/packagemanager/package_manager.go:469 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" @@ -3286,7 +3255,7 @@ msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" msgid "missing signature" msgstr "找不到簽名" -#: internal/arduino/cores/packagemanager/package_manager.go:745 +#: internal/arduino/cores/packagemanager/package_manager.go:754 msgid "monitor release not found: %s" msgstr "沒找到監視器發行版: %s" @@ -3296,7 +3265,7 @@ msgstr "沒找到監視器發行版: %s" msgid "moving extracted archive to destination dir: %s" msgstr "移動解壓縮的存檔到目標資料夾: %s" -#: commands/upload/upload.go:765 +#: commands/service_upload.go:830 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多個建構成品: '%[1]s' 和 '%[2]s'" @@ -3310,11 +3279,11 @@ msgid "" "contacting %[2]s" msgstr "沒找到目前作業系統相容工具版本 %[1]s,請聯絡 %[2]s" -#: commands/daemon/daemon.go:93 +#: commands/service_board_list.go:272 msgid "no instance specified" msgstr "未指定實例" -#: commands/upload/upload.go:720 +#: commands/service_upload.go:785 msgid "no sketch or build directory/file specified" msgstr "未指定 sketch 或建構目錄/檔" @@ -3326,15 +3295,15 @@ msgstr "沒有這檔案/目錄" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存檔中沒有單一的根目錄,找到了 '%[1]s' 和 '%[2]s'" -#: commands/upload/upload.go:637 +#: commands/service_upload.go:702 msgid "no upload port provided" msgstr "未提供上傳連接埠" -#: internal/arduino/sketch/sketch.go:280 +#: internal/arduino/sketch/sketch.go:285 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "在 %[1]s 找不到有效的 sketch : 缺少 %[2]s" -#: internal/arduino/cores/packagemanager/download.go:128 +#: internal/arduino/cores/packagemanager/download.go:127 msgid "no versions available for the current OS, try contacting %s" msgstr "目前的作業系統沒可用的版本,請聯絡 %s" @@ -3347,14 +3316,10 @@ msgstr "沒在終端執行" msgid "opening archive file: %s" msgstr "開啟存檔: %s" -#: internal/arduino/cores/packagemanager/loader.go:219 +#: internal/arduino/cores/packagemanager/loader.go:223 msgid "opening boards.txt" msgstr "開啟 boards.txt" -#: internal/arduino/serialutils/serialutils.go:37 -msgid "opening port at 1200bps" -msgstr "以 1200 bps 開啟連接埠" - #: internal/arduino/security/signatures.go:83 msgid "opening signature file: %s" msgstr "開啟簽名檔: %s" @@ -3363,18 +3328,18 @@ msgstr "開啟簽名檔: %s" msgid "opening target file: %s" msgstr "開啟目標檔: %s" -#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/packagemanager/download.go:75 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "找不到套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:518 +#: internal/arduino/cores/packagemanager/package_manager.go:527 msgid "package '%s' not found" msgstr "找不到套件 '%s'" #: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:289 +#: internal/arduino/cores/packagemanager/package_manager.go:298 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" @@ -3382,34 +3347,34 @@ msgstr "解析 FQBN:%s" msgid "parsing library_index.json: %s" msgstr "解析 library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:174 +#: internal/arduino/cores/packagemanager/loader.go:178 msgid "path is not a platform directory: %s" msgstr "路徑不是平台目錄: %s" -#: internal/arduino/cores/packagemanager/download.go:80 +#: internal/arduino/cores/packagemanager/download.go:79 msgid "platform %[1]s not found in package %[2]s" msgstr "%[2]s 套件裏找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:335 +#: internal/arduino/cores/packagemanager/package_manager.go:344 msgid "platform %s is not installed" msgstr "平台 %s 未安裝" -#: internal/arduino/cores/packagemanager/download.go:92 +#: internal/arduino/cores/packagemanager/download.go:91 msgid "platform is not available for your OS" msgstr "平台不支援使用中的作業系統" -#: commands/compile/compile.go:102 +#: commands/service_compile.go:120 #: internal/arduino/cores/packagemanager/install_uninstall.go:176 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:410 +#: internal/arduino/cores/packagemanager/loader.go:419 msgid "platform not installed" msgstr "平台未安裝" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:136 msgid "please use --build-property instead." msgstr "請改用 --build-property" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:126 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 msgid "pluggable discovery already added: %s" msgstr "已加入可插拔探索: %s" @@ -3417,19 +3382,19 @@ msgstr "已加入可插拔探索: %s" msgid "port" msgstr "連接埠" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:121 msgid "port not found: %[1]s %[2]s" msgstr "沒找到連接埠: %[1]s %[2]s" +#: internal/cli/board/attach.go:34 +msgid "programmer" +msgstr "燒錄器" + #: internal/arduino/monitor/monitor.go:236 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "協議版本不被支援: 要 %[1]d,卻得到 %[2]d" -#: internal/arduino/discovery/discovery.go:354 -msgid "protocol version not supported: requested 1, got %d" -msgstr "協議版本不被支援: 要 1,卻得到%d" - -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:199 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 msgid "reading dir %[1]s: %[2]s" msgstr "讀取目錄 %[1]s: %[2]s" @@ -3437,10 +3402,10 @@ msgstr "讀取目錄 %[1]s: %[2]s" msgid "reading directory %[1]s content: %[2]w" msgstr "讀取目錄 %[1]s 內容: %[2]w" -#: internal/arduino/cores/packagemanager/loader.go:64 -#: internal/arduino/cores/packagemanager/loader.go:146 -#: internal/arduino/cores/packagemanager/loader.go:213 -#: internal/arduino/cores/packagemanager/loader.go:570 +#: internal/arduino/cores/packagemanager/loader.go:68 +#: internal/arduino/cores/packagemanager/loader.go:150 +#: internal/arduino/cores/packagemanager/loader.go:217 +#: internal/arduino/cores/packagemanager/loader.go:581 msgid "reading directory %s" msgstr "讀取目錄 %s" @@ -3452,7 +3417,7 @@ msgstr "讀取目錄%s 內容: %w" msgid "reading file %[1]s: %[2]s" msgstr "讀取檔案%[1]s: %[2]s" -#: internal/arduino/sketch/sketch.go:211 +#: internal/arduino/sketch/sketch.go:204 msgid "reading files" msgstr "讀取檔案" @@ -3476,11 +3441,15 @@ msgstr "讀取 library_index.json: %s" msgid "reading package root dir: %s" msgstr "讀取套件根目錄: %s" -#: commands/upload/upload.go:631 +#: internal/arduino/sketch/sketch.go:114 +msgid "reading sketch files" +msgstr "讀取 sketch 檔" + +#: commands/service_upload.go:696 msgid "recipe not found '%s'" msgstr "作法未找到 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:594 +#: internal/arduino/cores/packagemanager/package_manager.go:603 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到工具 %[2]s 的發行版 %[1]s" @@ -3501,7 +3470,7 @@ msgstr "刪除程式庫目錄: %s" msgid "removing platform files: %s" msgstr "刪除平台檔: %s" -#: internal/arduino/cores/packagemanager/download.go:87 +#: internal/arduino/cores/packagemanager/download.go:86 msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到平台 %[2]s 需要的版本 %[1]s" @@ -3518,19 +3487,15 @@ msgstr "掃描 sketch 範例" msgid "searching package root dir: %s" msgstr "尋找套件根目錄: %s" -#: internal/arduino/serialutils/serialutils.go:47 -msgid "setting DTR to OFF" -msgstr "將 DTR 設為 OFF" - -#: commands/sketch/new.go:78 +#: commands/service_sketch_new.go:77 msgid "sketch name cannot be empty" msgstr "sketch 名字不能空白" -#: commands/sketch/new.go:91 +#: commands/service_sketch_new.go:90 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "sketch 名字不能使用保留名'%[1]s'" -#: commands/sketch/new.go:81 +#: commands/service_sketch_new.go:80 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "sketch 名字過長(%[1]d 字元)。 最大允許 %[2]d 字元" @@ -3539,11 +3504,11 @@ msgstr "sketch 名字過長(%[1]d 字元)。 最大允許 %[2]d 字元" msgid "sketch path is not valid" msgstr "sketch 路徑無效" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:36 +#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 msgid "sketchPath" msgstr "sketchPath" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:194 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 msgid "starting discovery %s" msgstr "開始探索 %s" @@ -3567,12 +3532,12 @@ msgstr "測試本地存檔完整性: %s" msgid "text section exceeds available space in board" msgstr "本文區已超出開發板的可用空間" -#: internal/arduino/builder/internal/detector/detector.go:210 -#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +#: internal/arduino/builder/internal/detector/detector.go:216 +#: internal/arduino/builder/internal/preprocessor/ctags.go:72 msgid "the compilation database may be incomplete or inaccurate" msgstr "編譯資料庫可能不完整或不準確" -#: commands/board/list.go:103 +#: commands/service_board_list.go:101 msgid "the server responded with status %s" msgstr "伺服器回應狀態 %s" @@ -3580,10 +3545,6 @@ msgstr "伺服器回應狀態 %s" msgid "timeout waiting for message" msgstr "等待訊息超時" -#: internal/arduino/discovery/discovery.go:251 -msgid "timeout waiting for message from %s" -msgstr "等待來自 %s 的訊息超時" - #: internal/arduino/cores/packagemanager/install_uninstall.go:400 msgid "tool %s is not managed by package manager" msgstr "工具 %s 不是由套件管理員管理的" @@ -3593,7 +3554,7 @@ msgstr "工具 %s 不是由套件管理員管理的" msgid "tool %s not found" msgstr "找不到工具 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:544 +#: internal/arduino/cores/packagemanager/package_manager.go:553 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" @@ -3601,8 +3562,8 @@ msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" msgid "tool not installed" msgstr "工具未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:723 -#: internal/arduino/cores/packagemanager/package_manager.go:829 +#: internal/arduino/cores/packagemanager/package_manager.go:732 +#: internal/arduino/cores/packagemanager/package_manager.go:838 msgid "tool release not found: %s" msgstr "工具發行未找到: %s" @@ -3610,7 +3571,7 @@ msgstr "工具發行未找到: %s" msgid "tool version %s not found" msgstr "工具版本 %s 未找到" -#: commands/lib/install.go:65 +#: commands/service_library_install.go:91 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要兩個不同版本的程式庫 %[1]s : %[2]s 和 %[3]s" @@ -3628,7 +3589,7 @@ msgstr "無法建立保存 sketch 的資料夾" msgid "unable to create the folder containing the item" msgstr "無法建立含有項目的資料夾" -#: internal/cli/config/dump.go:59 +#: internal/cli/config/get.go:84 msgid "unable to marshal config to YAML: %v" msgstr "無法將 config 轉成 YAML: %v" @@ -3644,15 +3605,15 @@ msgstr "無法讀取來源項目的內容" msgid "unable to write to destination file" msgstr "無法寫入目標檔" -#: internal/arduino/cores/packagemanager/package_manager.go:323 +#: internal/arduino/cores/packagemanager/package_manager.go:332 msgid "unknown package %s" msgstr "未知的套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:330 +#: internal/arduino/cores/packagemanager/package_manager.go:339 msgid "unknown platform %s:%s" msgstr "未知的平台 %s:%s" -#: internal/arduino/sketch/sketch.go:150 +#: internal/arduino/sketch/sketch.go:143 msgid "unknown sketch file extension '%s'" msgstr "未知的 sketch 副檔名 %s" @@ -3668,11 +3629,11 @@ msgstr "升級 arduino:samd 到最新版" msgid "upgrade everything to the latest version" msgstr "升級全部內容到最新版" -#: commands/upload/upload.go:666 +#: commands/service_upload.go:731 msgid "uploading error: %s" msgstr "上傳錯誤: %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:177 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "user directory not set" msgstr "用戶目錄未設定" @@ -3684,14 +3645,14 @@ msgstr "用戶輸入不支援 '%s' 輸出格式" msgid "user input not supported in non interactive mode" msgstr "在非互動模式下不支援用戶輸入" -#: internal/arduino/cores/packagemanager/profiles.go:176 +#: internal/arduino/cores/packagemanager/profiles.go:173 msgid "version %s not available for this operating system" msgstr "版本 %s 不適合本作業系統" -#: internal/arduino/cores/packagemanager/profiles.go:155 +#: internal/arduino/cores/packagemanager/profiles.go:152 msgid "version %s not found" msgstr "沒找到版本 %s " -#: commands/board/list.go:121 +#: commands/service_board_list.go:119 msgid "wrong format in server response" msgstr "伺服器回應錯誤格式" From 914e11b85c8bed01db0446229fec547bc33e4779 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 21 May 2024 13:33:56 +0200 Subject: [PATCH 203/361] gRPC: allow cancellation of downloads (#2609) --- .licenses/go/go.bug.st/downloader/v2.dep.yml | 2 +- commands/instances.go | 8 ++++---- commands/service_library_download.go | 5 ++--- commands/service_platform_download.go | 8 +++----- commands/service_platform_install.go | 3 +-- commands/service_platform_upgrade.go | 2 +- go.mod | 2 +- go.sum | 4 ++-- internal/arduino/cores/packagemanager/download.go | 9 +++++---- .../cores/packagemanager/install_uninstall.go | 9 ++++++--- internal/arduino/cores/packagemanager/profiles.go | 12 ++++++------ internal/arduino/httpclient/httpclient.go | 5 +++-- internal/arduino/resources/download.go | 5 +++-- internal/arduino/resources/helpers_test.go | 3 ++- internal/arduino/resources/index.go | 4 ++-- internal/arduino/resources/resources_test.go | 4 ++-- 16 files changed, 44 insertions(+), 41 deletions(-) diff --git a/.licenses/go/go.bug.st/downloader/v2.dep.yml b/.licenses/go/go.bug.st/downloader/v2.dep.yml index e255579fe5d..7d49aad7226 100644 --- a/.licenses/go/go.bug.st/downloader/v2.dep.yml +++ b/.licenses/go/go.bug.st/downloader/v2.dep.yml @@ -1,6 +1,6 @@ --- name: go.bug.st/downloader/v2 -version: v2.1.1 +version: v2.2.0 type: go summary: homepage: https://pkg.go.dev/go.bug.st/downloader/v2 diff --git a/commands/instances.go b/commands/instances.go index 30fe31ba783..25d9fc19383 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -45,12 +45,12 @@ import ( "google.golang.org/grpc/status" ) -func installTool(pm *packagemanager.PackageManager, tool *cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func installTool(ctx context.Context, pm *packagemanager.PackageManager, tool *cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { pme, release := pm.NewExplorer() defer release() taskCB(&rpc.TaskProgress{Name: tr("Downloading missing tool %s", tool)}) - if err := pme.DownloadToolRelease(tool, downloadCB); err != nil { + if err := pme.DownloadToolRelease(ctx, tool, downloadCB); err != nil { return fmt.Errorf(tr("downloading %[1]s tool: %[2]s"), tool, err) } taskCB(&rpc.TaskProgress{Completed: true}) @@ -283,7 +283,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Install builtin tools if necessary if len(builtinToolsToInstall) > 0 { for _, toolRelease := range builtinToolsToInstall { - if err := installTool(pmb.Build(), toolRelease, downloadCallback, taskCallback); err != nil { + if err := installTool(ctx, pmb.Build(), toolRelease, downloadCallback, taskCallback); err != nil { e := &cmderrors.InitFailedError{ Code: codes.Internal, Cause: err, @@ -385,7 +385,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor responseError(e.GRPCStatus()) continue } - if err := libRelease.Resource.Download(pme.DownloadDir, config, libRelease.String(), downloadCallback, ""); err != nil { + if err := libRelease.Resource.Download(ctx, pme.DownloadDir, config, libRelease.String(), downloadCallback, ""); err != nil { taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.GRPCStatus()) diff --git a/commands/service_library_download.go b/commands/service_library_download.go index f6a5555e325..c6a6bb3f0f6 100644 --- a/commands/service_library_download.go +++ b/commands/service_library_download.go @@ -81,7 +81,7 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, }) } -func downloadLibrary(_ context.Context, downloadsDir *paths.Path, libRelease *librariesindex.Release, +func downloadLibrary(ctx context.Context, downloadsDir *paths.Path, libRelease *librariesindex.Release, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, queryParameter string, settings *configuration.Settings) error { taskCB(&rpc.TaskProgress{Name: tr("Downloading %s", libRelease)}) @@ -89,8 +89,7 @@ func downloadLibrary(_ context.Context, downloadsDir *paths.Path, libRelease *li if err != nil { return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } - // TODO: Pass context - if err := libRelease.Resource.Download(downloadsDir, config, libRelease.String(), downloadCB, queryParameter); err != nil { + if err := libRelease.Resource.Download(ctx, downloadsDir, config, libRelease.String(), downloadCB, queryParameter); err != nil { return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) diff --git a/commands/service_platform_download.go b/commands/service_platform_download.go index 912ac645c8b..9fb39255125 100644 --- a/commands/service_platform_download.go +++ b/commands/service_platform_download.go @@ -40,6 +40,7 @@ func PlatformDownloadStreamResponseToCallbackFunction(ctx context.Context, downl // PlatformDownload downloads a platform package func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadRequest, stream rpc.ArduinoCoreService_PlatformDownloadServer) error { + ctx := stream.Context() syncSend := NewSynchronizedSend(stream.Send) pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) @@ -71,15 +72,12 @@ func (s *arduinoCoreServerImpl) PlatformDownload(req *rpc.PlatformDownloadReques }) } - // TODO: pass context - // ctx := stream.Context() - if err := pme.DownloadPlatformRelease(platform, downloadCB); err != nil { + if err := pme.DownloadPlatformRelease(ctx, platform, downloadCB); err != nil { return err } for _, tool := range tools { - // TODO: pass context - if err := pme.DownloadToolRelease(tool, downloadCB); err != nil { + if err := pme.DownloadToolRelease(ctx, tool, downloadCB); err != nil { return err } } diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index 65651447c53..2249297d97d 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -94,8 +94,7 @@ func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, } } - // TODO: Pass context - if err := pme.DownloadAndInstallPlatformAndTools(platformRelease, tools, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()); err != nil { + if err := pme.DownloadAndInstallPlatformAndTools(ctx, platformRelease, tools, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()); err != nil { return err } diff --git a/commands/service_platform_upgrade.go b/commands/service_platform_upgrade.go index 8c82447d662..94432e87c31 100644 --- a/commands/service_platform_upgrade.go +++ b/commands/service_platform_upgrade.go @@ -75,7 +75,7 @@ func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, Package: req.GetPlatformPackage(), PlatformArchitecture: req.GetArchitecture(), } - platform, err := pme.DownloadAndInstallPlatformUpgrades(ref, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()) + platform, err := pme.DownloadAndInstallPlatformUpgrades(ctx, ref, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()) if err != nil { return platform, err } diff --git a/go.mod b/go.mod index 0ade346819b..3ef27bbed59 100644 --- a/go.mod +++ b/go.mod @@ -35,7 +35,7 @@ require ( github.com/stretchr/testify v1.9.0 github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 - go.bug.st/downloader/v2 v2.1.1 + go.bug.st/downloader/v2 v2.2.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.20.0 diff --git a/go.sum b/go.sum index 92d69469e74..96f3dd7f035 100644 --- a/go.sum +++ b/go.sum @@ -211,8 +211,8 @@ github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17 github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= -go.bug.st/downloader/v2 v2.1.1 h1:nyqbUizo3E2IxCCm4YFac4FtSqqFpqWP+Aae5GCMuw4= -go.bug.st/downloader/v2 v2.1.1/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= +go.bug.st/downloader/v2 v2.2.0 h1:Y0jSuDISNhrzePkrAWqz9xUC3xol9hqZo/+tz1D4EqY= +go.bug.st/downloader/v2 v2.2.0/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= diff --git a/internal/arduino/cores/packagemanager/download.go b/internal/arduino/cores/packagemanager/download.go index 4ac06cf19f8..ad82c9f1867 100644 --- a/internal/arduino/cores/packagemanager/download.go +++ b/internal/arduino/cores/packagemanager/download.go @@ -16,6 +16,7 @@ package packagemanager import ( + "context" "errors" "fmt" @@ -119,21 +120,21 @@ func (pme *Explorer) FindPlatformReleaseDependencies(item *PlatformReference) (* // DownloadToolRelease downloads a ToolRelease. If the tool is already downloaded a nil Downloader // is returned. Uses the given downloader configuration for download, or the default config if nil. -func (pme *Explorer) DownloadToolRelease(tool *cores.ToolRelease, progressCB rpc.DownloadProgressCB) error { +func (pme *Explorer) DownloadToolRelease(ctx context.Context, tool *cores.ToolRelease, progressCB rpc.DownloadProgressCB) error { resource := tool.GetCompatibleFlavour() if resource == nil { return &cmderrors.FailedDownloadError{ Message: tr("Error downloading tool %s", tool), Cause: errors.New(tr("no versions available for the current OS, try contacting %s", tool.Tool.Package.Email))} } - return resource.Download(pme.DownloadDir, pme.downloaderConfig, tool.String(), progressCB, "") + return resource.Download(ctx, pme.DownloadDir, pme.downloaderConfig, tool.String(), progressCB, "") } // DownloadPlatformRelease downloads a PlatformRelease. If the platform is already downloaded a // nil Downloader is returned. -func (pme *Explorer) DownloadPlatformRelease(platform *cores.PlatformRelease, progressCB rpc.DownloadProgressCB) error { +func (pme *Explorer) DownloadPlatformRelease(ctx context.Context, platform *cores.PlatformRelease, progressCB rpc.DownloadProgressCB) error { if platform.Resource == nil { return &cmderrors.PlatformNotFoundError{Platform: platform.String()} } - return platform.Resource.Download(pme.DownloadDir, pme.downloaderConfig, platform.String(), progressCB, "") + return platform.Resource.Download(ctx, pme.DownloadDir, pme.downloaderConfig, platform.String(), progressCB, "") } diff --git a/internal/arduino/cores/packagemanager/install_uninstall.go b/internal/arduino/cores/packagemanager/install_uninstall.go index 4b8c1cba9b4..978072036c3 100644 --- a/internal/arduino/cores/packagemanager/install_uninstall.go +++ b/internal/arduino/cores/packagemanager/install_uninstall.go @@ -17,6 +17,7 @@ package packagemanager import ( "bytes" + "context" "encoding/json" "errors" "fmt" @@ -33,6 +34,7 @@ import ( // This method takes care of downloading missing archives, upgrading platforms and tools, and // removing the previously installed platform/tools that are no longer needed after the upgrade. func (pme *Explorer) DownloadAndInstallPlatformUpgrades( + ctx context.Context, platformRef *PlatformReference, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, @@ -62,7 +64,7 @@ func (pme *Explorer) DownloadAndInstallPlatformUpgrades( if err != nil { return nil, &cmderrors.PlatformNotFoundError{Platform: platformRef.String()} } - if err := pme.DownloadAndInstallPlatformAndTools(platformRelease, tools, downloadCB, taskCB, skipPostInstall, skipPreUninstall); err != nil { + if err := pme.DownloadAndInstallPlatformAndTools(ctx, platformRelease, tools, downloadCB, taskCB, skipPostInstall, skipPreUninstall); err != nil { return nil, err } @@ -73,6 +75,7 @@ func (pme *Explorer) DownloadAndInstallPlatformUpgrades( // This method takes care of downloading missing archives, installing/upgrading platforms and tools, and // removing the previously installed platform/tools that are no longer needed after the upgrade. func (pme *Explorer) DownloadAndInstallPlatformAndTools( + ctx context.Context, platformRelease *cores.PlatformRelease, requiredTools []*cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, skipPostInstall bool, skipPreUninstall bool) error { @@ -92,11 +95,11 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( // Package download taskCB(&rpc.TaskProgress{Name: tr("Downloading packages")}) for _, tool := range toolsToInstall { - if err := pme.DownloadToolRelease(tool, downloadCB); err != nil { + if err := pme.DownloadToolRelease(ctx, tool, downloadCB); err != nil { return err } } - if err := pme.DownloadPlatformRelease(platformRelease, downloadCB); err != nil { + if err := pme.DownloadPlatformRelease(ctx, platformRelease, downloadCB); err != nil { return err } taskCB(&rpc.TaskProgress{Completed: true}) diff --git a/internal/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go index 9d3bfba047a..5c7b4a58a16 100644 --- a/internal/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -57,7 +57,7 @@ func (pmb *Builder) LoadHardwareForProfile(ctx context.Context, p *sketch.Profil for _, toolDep := range platformRelease.ToolDependencies { indexURL := indexURLs[toolDep.ToolPackager] - if err := pmb.loadProfileTool(toolDep, indexURL, installMissing, downloadCB, taskCB, settings); err != nil { + if err := pmb.loadProfileTool(ctx, toolDep, indexURL, installMissing, downloadCB, taskCB, settings); err != nil { merr = append(merr, fmt.Errorf("%s: %w", tr("loading required tool %s", toolDep), err)) logrus.WithField("tool", toolDep).WithField("index_url", indexURL).WithError(err).Debugf("Error loading tool for profile") } else { @@ -122,7 +122,7 @@ func (pmb *Builder) installMissingProfilePlatform(ctx context.Context, platformR tmpPme, tmpRelease := tmpPm.NewExplorer() defer tmpRelease() - if err := tmpPme.DownloadPlatformRelease(tmpPlatformRelease, downloadCB); err != nil { + if err := tmpPme.DownloadPlatformRelease(ctx, tmpPlatformRelease, downloadCB); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading platform %s", tmpPlatformRelease)}) return &cmderrors.FailedInstallError{Message: tr("Error downloading platform %s", tmpPlatformRelease), Cause: err} } @@ -138,7 +138,7 @@ func (pmb *Builder) installMissingProfilePlatform(ctx context.Context, platformR return nil } -func (pmb *Builder) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url.URL, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) error { +func (pmb *Builder) loadProfileTool(ctx context.Context, toolRef *cores.ToolDependency, indexURL *url.URL, installMissing bool, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, settings *configuration.Settings) error { targetPackage := pmb.packages.GetOrCreatePackage(toolRef.ToolPackager) tool := targetPackage.GetOrCreateTool(toolRef.ToolName) @@ -151,7 +151,7 @@ func (pmb *Builder) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url if toolRelease == nil { return &cmderrors.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not found", toolRef.ToolVersion))} } - if err := pmb.installMissingProfileTool(toolRelease, destDir, downloadCB, taskCB); err != nil { + if err := pmb.installMissingProfileTool(ctx, toolRelease, destDir, downloadCB, taskCB); err != nil { return err } } @@ -159,7 +159,7 @@ func (pmb *Builder) loadProfileTool(toolRef *cores.ToolDependency, indexURL *url return pmb.loadToolReleaseFromDirectory(tool, toolRef.ToolVersion, destDir) } -func (pmb *Builder) installMissingProfileTool(toolRelease *cores.ToolRelease, destDir *paths.Path, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func (pmb *Builder) installMissingProfileTool(ctx context.Context, toolRelease *cores.ToolRelease, destDir *paths.Path, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { // Instantiate a temporary package manager only for platform installation tmp, err := paths.MkTempDir(destDir.Parent().String(), "") if err != nil { @@ -173,7 +173,7 @@ func (pmb *Builder) installMissingProfileTool(toolRelease *cores.ToolRelease, de return &cmderrors.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not available for this operating system", toolRelease))} } taskCB(&rpc.TaskProgress{Name: tr("Downloading tool %s", toolRelease)}) - if err := toolResource.Download(pmb.DownloadDir, pmb.downloaderConfig, toolRelease.String(), downloadCB, ""); err != nil { + if err := toolResource.Download(ctx, pmb.DownloadDir, pmb.downloaderConfig, toolRelease.String(), downloadCB, ""); err != nil { taskCB(&rpc.TaskProgress{Name: tr("Error downloading tool %s", toolRelease)}) return &cmderrors.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} } diff --git a/internal/arduino/httpclient/httpclient.go b/internal/arduino/httpclient/httpclient.go index 0e904dddf8f..d8e77c7966c 100644 --- a/internal/arduino/httpclient/httpclient.go +++ b/internal/arduino/httpclient/httpclient.go @@ -16,6 +16,7 @@ package httpclient import ( + "context" "time" "github.com/arduino/arduino-cli/commands/cmderrors" @@ -31,7 +32,7 @@ var tr = i18n.Tr // DownloadFile downloads a file from a URL into the specified path. An optional config and options may be passed (or nil to use the defaults). // A DownloadProgressCB callback function must be passed to monitor download progress. // If a not empty queryParameter is passed, it is appended to the URL for analysis purposes. -func DownloadFile(path *paths.Path, URL string, queryParameter string, label string, downloadCB rpc.DownloadProgressCB, config downloader.Config, options ...downloader.DownloadOptions) (returnedError error) { +func DownloadFile(ctx context.Context, path *paths.Path, URL string, queryParameter string, label string, downloadCB rpc.DownloadProgressCB, config downloader.Config, options ...downloader.DownloadOptions) (returnedError error) { if queryParameter != "" { URL = URL + "?query=" + queryParameter } @@ -45,7 +46,7 @@ func DownloadFile(path *paths.Path, URL string, queryParameter string, label str } }() - d, err := downloader.DownloadWithConfig(path.String(), URL, config, options...) + d, err := downloader.DownloadWithConfigAndContext(ctx, path.String(), URL, config, options...) if err != nil { return err } diff --git a/internal/arduino/resources/download.go b/internal/arduino/resources/download.go index 19b37df48ac..1699be86ecc 100644 --- a/internal/arduino/resources/download.go +++ b/internal/arduino/resources/download.go @@ -16,6 +16,7 @@ package resources import ( + "context" "fmt" "os" @@ -28,7 +29,7 @@ import ( // Download performs a download loop using the provided downloader.Config. // Messages are passed back to the DownloadProgressCB using label as text for the File field. // queryParameter is passed for analysis purposes. -func (r *DownloadResource) Download(downloadDir *paths.Path, config downloader.Config, label string, downloadCB rpc.DownloadProgressCB, queryParameter string) error { +func (r *DownloadResource) Download(ctx context.Context, downloadDir *paths.Path, config downloader.Config, label string, downloadCB rpc.DownloadProgressCB, queryParameter string) error { path, err := r.ArchivePath(downloadDir) if err != nil { return fmt.Errorf(tr("getting archive path: %s"), err) @@ -52,5 +53,5 @@ func (r *DownloadResource) Download(downloadDir *paths.Path, config downloader.C } else { return fmt.Errorf(tr("getting archive file info: %s"), err) } - return httpclient.DownloadFile(path, r.URL, queryParameter, label, downloadCB, config) + return httpclient.DownloadFile(ctx, path, r.URL, queryParameter, label, downloadCB, config) } diff --git a/internal/arduino/resources/helpers_test.go b/internal/arduino/resources/helpers_test.go index 75961bec26f..611de8dd518 100644 --- a/internal/arduino/resources/helpers_test.go +++ b/internal/arduino/resources/helpers_test.go @@ -16,6 +16,7 @@ package resources import ( + "context" "net/http" "net/http/httptest" "os" @@ -56,7 +57,7 @@ func TestDownloadApplyUserAgentHeaderUsingConfig(t *testing.T) { settings.Set("network.user_agent_ext", goldUserAgentValue) config, err := settings.DownloaderConfig() require.NoError(t, err) - err = r.Download(tmp, config, "", func(progress *rpc.DownloadProgress) {}, "") + err = r.Download(context.Background(), tmp, config, "", func(progress *rpc.DownloadProgress) {}, "") require.NoError(t, err) // leverage the download helper to download the echo for the request made by the downloader itself diff --git a/internal/arduino/resources/index.go b/internal/arduino/resources/index.go index e9198905e5e..57445e5643b 100644 --- a/internal/arduino/resources/index.go +++ b/internal/arduino/resources/index.go @@ -78,7 +78,7 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow return err } tmpIndexPath := tmp.Join(downloadFileName) - if err := httpclient.DownloadFile(tmpIndexPath, res.URL.String(), "", tr("Downloading index: %s", downloadFileName), downloadCB, config, downloader.NoResume); err != nil { + if err := httpclient.DownloadFile(ctx, tmpIndexPath, res.URL.String(), "", tr("Downloading index: %s", downloadFileName), downloadCB, config, downloader.NoResume); err != nil { return &cmderrors.FailedDownloadError{Message: tr("Error downloading index '%s'", res.URL), Cause: err} } @@ -133,7 +133,7 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow // Download signature signaturePath = destDir.Join(signatureFileName) tmpSignaturePath = tmp.Join(signatureFileName) - if err := httpclient.DownloadFile(tmpSignaturePath, res.SignatureURL.String(), "", tr("Downloading index signature: %s", signatureFileName), downloadCB, config, downloader.NoResume); err != nil { + if err := httpclient.DownloadFile(ctx, tmpSignaturePath, res.SignatureURL.String(), "", tr("Downloading index signature: %s", signatureFileName), downloadCB, config, downloader.NoResume); err != nil { return &cmderrors.FailedDownloadError{Message: tr("Error downloading index signature '%s'", res.SignatureURL), Cause: err} } diff --git a/internal/arduino/resources/resources_test.go b/internal/arduino/resources/resources_test.go index 3e218c1f89d..f5b9b252d1f 100644 --- a/internal/arduino/resources/resources_test.go +++ b/internal/arduino/resources/resources_test.go @@ -50,7 +50,7 @@ func TestDownloadAndChecksums(t *testing.T) { require.NoError(t, err) downloadAndTestChecksum := func() { - err := r.Download(tmp, downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") + err := r.Download(context.Background(), tmp, downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") require.NoError(t, err) data, err := testFile.ReadFile() @@ -64,7 +64,7 @@ func TestDownloadAndChecksums(t *testing.T) { downloadAndTestChecksum() // Download with cached file - err = r.Download(tmp, downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") + err = r.Download(context.Background(), tmp, downloader.Config{}, "", func(*rpc.DownloadProgress) {}, "") require.NoError(t, err) // Download if cached file has data in excess (redownload) From dc13ef6498ae0c39d8185c5f592bb149377a2b83 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 22 May 2024 15:36:49 +0200 Subject: [PATCH 204/361] [skip-changelog] Added more lint checks and fixed some warnings. (#2610) * Enabled more checks in golangci-lint * Removed unreachable code (impossible condition detected by linter) internal/arduino/sketch/sketch.go:108:14: nilness: impossible condition: non-nil == nil (govet) if mainFile == nil { ^ * Removed function alias for i18n.Tr This allows a deeper lint-check of printf style functions, like: commands/instances.go:344:46: printf: github.com/arduino/arduino-cli/internal/i18n.Tr format %v reads arg #1, but call has 0 args (govet) s := status.Newf(codes.FailedPrecondition, i18n.Tr("Loading index file: %v"), err) * Fixed a lot of i18n.Tr formatting errors This commit fixes invalid calls to i18n.Tr. 1. Missing positional arguments, for example: return fmt.Errorf(i18n.Tr("installing %[1]s tool: %[2]s"), tool, err) in the above case the positional arguments must be part of the Tr call: - return fmt.Errorf(i18n.Tr("installing %[1]s tool: %[2]s"), tool, err) + return fmt.Errorf(i18n.Tr("installing %[1]s tool: %[2]s", tool, err)) 2. This also makes the fmt.Errorf call useless and it could be replaced by the less expensive errors.New: - return fmt.Errorf(i18n.Tr("installing %[1]s tool: %[2]s", tool, err)) + return errors.New(i18n.Tr("installing %[1]s tool: %[2]s", tool, err)) but we have cases of useless calls even when the string is a constant, for example: - err := fmt.Errorf(i18n.Tr("no instance specified")) + err := errors.New(i18n.Tr("no instance specified")) Unfortunately, this imperfection is not detected by the linter. 3. The "%w" directive is not supported directly in i18n.Tr, so we have to wrap it around another fmt.Errorf: - return nil, fmt.Errorf(i18n.Tr("reading library headers: %w"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("reading library headers"), err) * Removed useless call to i18n.Tr --- .golangci.yml | 45 +++++++++ commands/cmderrors/cmderrors.go | 78 ++++++++------- commands/instances.go | 55 +++++------ commands/service_board_list.go | 17 ++-- commands/service_compile.go | 29 +++--- commands/service_debug.go | 3 +- commands/service_debug_config.go | 7 +- commands/service_debug_run.go | 7 +- commands/service_library_download.go | 7 +- commands/service_library_install.go | 19 ++-- commands/service_library_list.go | 3 +- commands/service_library_resolve_deps.go | 3 +- commands/service_library_uninstall.go | 7 +- commands/service_library_upgrade.go | 3 +- commands/service_monitor.go | 3 +- commands/service_platform_download.go | 3 - commands/service_platform_install.go | 7 +- commands/service_platform_uninstall.go | 5 +- commands/service_sketch_archive.go | 13 +-- commands/service_sketch_new.go | 11 ++- commands/service_upload.go | 51 +++++----- .../arduino/builder/archive_compiled_files.go | 5 +- .../arduino/builder/build_options_manager.go | 7 +- internal/arduino/builder/builder.go | 15 +-- internal/arduino/builder/compilation.go | 5 +- internal/arduino/builder/core.go | 16 ++-- .../builder/internal/compilation/database.go | 8 +- .../builder/internal/detector/detector.go | 30 +++--- .../preprocessor/arduino_preprocessor.go | 3 +- .../builder/internal/preprocessor/ctags.go | 8 +- .../builder/internal/preprocessor/gcc.go | 3 +- internal/arduino/builder/libraries.go | 23 ++--- internal/arduino/builder/linker.go | 3 +- internal/arduino/builder/recipe.go | 3 +- internal/arduino/builder/sizer.go | 41 ++++---- internal/arduino/builder/sketch.go | 19 ++-- internal/arduino/cores/board.go | 11 ++- internal/arduino/cores/cores.go | 3 - internal/arduino/cores/fqbn.go | 17 ++-- internal/arduino/cores/packageindex/index.go | 5 +- .../arduino/cores/packagemanager/download.go | 20 ++-- .../cores/packagemanager/install_uninstall.go | 85 +++++++++-------- .../arduino/cores/packagemanager/loader.go | 53 ++++++----- .../cores/packagemanager/package_manager.go | 42 ++++---- .../arduino/cores/packagemanager/profiles.go | 42 ++++---- internal/arduino/cores/status.go | 26 ++--- .../discoverymanager/discoverymanager.go | 8 +- internal/arduino/httpclient/httpclient.go | 4 +- internal/arduino/libraries/libraries.go | 7 +- .../arduino/libraries/libraries_layout.go | 4 +- .../arduino/libraries/libraries_location.go | 4 +- .../arduino/libraries/librariesindex/json.go | 8 +- .../libraries/librariesmanager/install.go | 36 +++---- .../librariesmanager/librariesmanager.go | 10 +- .../libraries/librariesresolver/cpp.go | 5 +- internal/arduino/libraries/loader.go | 11 ++- internal/arduino/monitor/monitor.go | 13 ++- internal/arduino/resources/checksums.go | 35 ++++--- internal/arduino/resources/download.go | 11 ++- internal/arduino/resources/helpers.go | 5 +- internal/arduino/resources/index.go | 31 +++--- internal/arduino/resources/install.go | 27 +++--- internal/arduino/security/signatures.go | 10 +- internal/arduino/sketch/profiles.go | 16 ++-- internal/arduino/sketch/sketch.go | 26 ++--- internal/arduino/sketch/yaml.go | 8 +- internal/cli/arguments/arguments.go | 6 +- internal/cli/arguments/discovery_timeout.go | 3 +- internal/cli/arguments/fqbn.go | 7 +- internal/cli/arguments/port.go | 11 ++- internal/cli/arguments/pre_post_script.go | 9 +- internal/cli/arguments/profiles.go | 3 +- internal/cli/arguments/programmer.go | 3 +- internal/cli/arguments/reference.go | 15 +-- internal/cli/arguments/show_properties.go | 7 +- internal/cli/arguments/sketch.go | 3 +- internal/cli/board/attach.go | 15 +-- internal/cli/board/board.go | 8 +- internal/cli/board/details.go | 65 ++++++------- internal/cli/board/list.go | 27 +++--- internal/cli/board/listall.go | 15 +-- internal/cli/board/search.go | 15 +-- internal/cli/burnbootloader/burnbootloader.go | 14 +-- internal/cli/cache/cache.go | 8 +- internal/cli/cache/clean.go | 7 +- internal/cli/cli.go | 35 +++---- internal/cli/compile/compile.go | 95 +++++++++---------- internal/cli/completion/completion.go | 8 +- internal/cli/config/add.go | 15 +-- internal/cli/config/config.go | 8 +- internal/cli/config/delete.go | 7 +- internal/cli/config/dump.go | 5 +- internal/cli/config/get.go | 9 +- internal/cli/config/init.go | 37 ++++---- internal/cli/config/remove.go | 15 +-- internal/cli/config/set.go | 9 +- internal/cli/configuration/configuration.go | 10 +- internal/cli/configuration/network.go | 6 +- internal/cli/core/core.go | 6 +- internal/cli/core/download.go | 15 +-- internal/cli/core/install.go | 17 ++-- internal/cli/core/list.go | 17 ++-- internal/cli/core/search.go | 15 +-- internal/cli/core/uninstall.go | 13 +-- internal/cli/core/update_index.go | 5 +- internal/cli/core/upgrade.go | 25 ++--- internal/cli/daemon/daemon.go | 30 +++--- internal/cli/debug/debug.go | 36 ++++--- internal/cli/debug/debug_check.go | 9 +- internal/cli/feedback/feedback.go | 6 +- internal/cli/feedback/result/rpc.go | 4 +- internal/cli/feedback/rpc_progress.go | 3 +- internal/cli/feedback/stdio.go | 4 +- internal/cli/feedback/terminal.go | 9 +- internal/cli/feedback/warn_deprecated.go | 3 +- internal/cli/generatedocs/generatedocs.go | 8 +- internal/cli/instance/instance.go | 8 +- internal/cli/lib/args.go | 7 +- internal/cli/lib/check_deps.go | 23 ++--- internal/cli/lib/download.go | 15 +-- internal/cli/lib/examples.go | 13 +-- internal/cli/lib/install.go | 39 ++++---- internal/cli/lib/lib.go | 6 +- internal/cli/lib/list.go | 19 ++-- internal/cli/lib/search.go | 63 ++++++------ internal/cli/lib/uninstall.go | 11 ++- internal/cli/lib/update_index.go | 7 +- internal/cli/lib/upgrade.go | 7 +- internal/cli/monitor/monitor.go | 36 ++++--- internal/cli/outdated/outdated.go | 22 ++--- internal/cli/sketch/archive.go | 13 +-- internal/cli/sketch/new.go | 13 +-- internal/cli/sketch/sketch.go | 6 +- internal/cli/update/update.go | 8 +- internal/cli/updater/updater.go | 4 +- internal/cli/upgrade/upgrade.go | 6 +- internal/cli/upload/upload.go | 34 +++---- internal/cli/usage.go | 22 ++--- internal/cli/version/version.go | 6 +- internal/inventory/inventory.go | 9 +- version/version.go | 2 +- 141 files changed, 1168 insertions(+), 1104 deletions(-) diff --git a/.golangci.yml b/.golangci.yml index a80fe164d7e..5bd0bfaaa3e 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -33,6 +33,51 @@ linters: #- protogetter linters-settings: + govet: + # Enable analyzers by name. + # Run `GL_DEBUG=govet golangci-lint run --enable=govet` to see default, all available analyzers, and enabled analyzers. + enable: + - appends + - asmdecl + - assign + - atomic + - atomicalign + - bools + - buildtag + - cgocall + - composites + - copylocks + - deepequalerrors + - defers + - directive + - errorsas + #- fieldalignment + - findcall + - framepointer + - httpresponse + - ifaceassert + - loopclosure + - lostcancel + - nilfunc + - nilness + - printf + - reflectvaluecompare + #- shadow + - shift + - sigchanyzer + - slog + - sortslice + - stdmethods + - stringintconv + - structtag + - testinggoroutine + - tests + - unmarshal + - unreachable + - unsafeptr + - unusedresult + - unusedwrite + forbidigo: forbid: - p: ^(fmt\.Print(|f|ln)|print|println)$ diff --git a/commands/cmderrors/cmderrors.go b/commands/cmderrors/cmderrors.go index a5024a37a26..bcc33bc3a8f 100644 --- a/commands/cmderrors/cmderrors.go +++ b/commands/cmderrors/cmderrors.go @@ -26,8 +26,6 @@ import ( "google.golang.org/grpc/status" ) -var tr = i18n.Tr - func composeErrorMsg(msg string, cause error) string { if cause == nil { return msg @@ -45,7 +43,7 @@ type CommandError interface { type InvalidInstanceError struct{} func (e *InvalidInstanceError) Error() string { - return tr("Invalid instance") + return i18n.Tr("Invalid instance") } // GRPCStatus converts the error into a *status.Status @@ -59,7 +57,7 @@ type InvalidFQBNError struct { } func (e *InvalidFQBNError) Error() string { - return composeErrorMsg(tr("Invalid FQBN"), e.Cause) + return composeErrorMsg(i18n.Tr("Invalid FQBN"), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -77,7 +75,7 @@ type InvalidURLError struct { } func (e *InvalidURLError) Error() string { - return composeErrorMsg(tr("Invalid URL"), e.Cause) + return composeErrorMsg(i18n.Tr("Invalid URL"), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -95,7 +93,7 @@ type InvalidLibraryError struct { } func (e *InvalidLibraryError) Error() string { - return composeErrorMsg(tr("Invalid library"), e.Cause) + return composeErrorMsg(i18n.Tr("Invalid library"), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -113,7 +111,7 @@ type InvalidVersionError struct { } func (e *InvalidVersionError) Error() string { - return composeErrorMsg(tr("Invalid version"), e.Cause) + return composeErrorMsg(i18n.Tr("Invalid version"), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -132,7 +130,7 @@ type NoBoardsDetectedError struct { } func (e *NoBoardsDetectedError) Error() string { - return tr( + return i18n.Tr( "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be identified", e.Port.GetAddress(), e.Port.GetProtocol(), @@ -152,7 +150,7 @@ type MultipleBoardsDetectedError struct { } func (e *MultipleBoardsDetectedError) Error() string { - return tr( + return i18n.Tr( "Please specify an FQBN. Multiple possible boards detected on port %[1]s with protocol %[2]s", e.Port.GetAddress(), e.Port.GetProtocol(), @@ -168,7 +166,7 @@ func (e *MultipleBoardsDetectedError) GRPCStatus() *status.Status { type MissingFQBNError struct{} func (e *MissingFQBNError) Error() string { - return tr("Missing FQBN (Fully Qualified Board Name)") + return i18n.Tr("Missing FQBN (Fully Qualified Board Name)") } // GRPCStatus converts the error into a *status.Status @@ -182,7 +180,7 @@ type UnknownFQBNError struct { } func (e *UnknownFQBNError) Error() string { - return composeErrorMsg(tr("Unknown FQBN"), e.Cause) + return composeErrorMsg(i18n.Tr("Unknown FQBN"), e.Cause) } func (e *UnknownFQBNError) Unwrap() error { @@ -201,7 +199,7 @@ type UnknownProfileError struct { } func (e *UnknownProfileError) Error() string { - return composeErrorMsg(tr("Profile '%s' not found", e.Profile), e.Cause) + return composeErrorMsg(i18n.Tr("Profile '%s' not found", e.Profile), e.Cause) } func (e *UnknownProfileError) Unwrap() error { @@ -219,7 +217,7 @@ type InvalidProfileError struct { } func (e *InvalidProfileError) Error() string { - return composeErrorMsg(tr("Invalid profile"), e.Cause) + return composeErrorMsg(i18n.Tr("Invalid profile"), e.Cause) } func (e *InvalidProfileError) Unwrap() error { @@ -235,7 +233,7 @@ func (e *InvalidProfileError) GRPCStatus() *status.Status { type MissingPortAddressError struct{} func (e *MissingPortAddressError) Error() string { - return tr("Missing port address") + return i18n.Tr("Missing port address") } // GRPCStatus converts the error into a *status.Status @@ -247,7 +245,7 @@ func (e *MissingPortAddressError) GRPCStatus() *status.Status { type MissingPortProtocolError struct{} func (e *MissingPortProtocolError) Error() string { - return tr("Missing port protocol") + return i18n.Tr("Missing port protocol") } // GRPCStatus converts the error into a *status.Status @@ -259,7 +257,7 @@ func (e *MissingPortProtocolError) GRPCStatus() *status.Status { type MissingPortError struct{} func (e *MissingPortError) Error() string { - return tr("Missing port") + return i18n.Tr("Missing port") } // GRPCStatus converts the error into a *status.Status @@ -273,7 +271,7 @@ type NoMonitorAvailableForProtocolError struct { } func (e *NoMonitorAvailableForProtocolError) Error() string { - return tr("No monitor available for the port protocol %s", e.Protocol) + return i18n.Tr("No monitor available for the port protocol %s", e.Protocol) } // GRPCStatus converts the error into a *status.Status @@ -285,7 +283,7 @@ func (e *NoMonitorAvailableForProtocolError) GRPCStatus() *status.Status { type MissingProgrammerError struct{} func (e *MissingProgrammerError) Error() string { - return tr("Missing programmer") + return i18n.Tr("Missing programmer") } // GRPCStatus converts the error into a *status.Status @@ -298,7 +296,7 @@ func (e *MissingProgrammerError) GRPCStatus() *status.Status { type ProgrammerRequiredForUploadError struct{} func (e *ProgrammerRequiredForUploadError) Error() string { - return tr("A programmer is required to upload") + return i18n.Tr("A programmer is required to upload") } // GRPCStatus converts the error into a *status.Status @@ -338,7 +336,7 @@ type ProgrammerNotFoundError struct { } func (e *ProgrammerNotFoundError) Error() string { - return composeErrorMsg(tr("Programmer '%s' not found", e.Programmer), e.Cause) + return composeErrorMsg(i18n.Tr("Programmer '%s' not found", e.Programmer), e.Cause) } func (e *ProgrammerNotFoundError) Unwrap() error { @@ -357,7 +355,7 @@ type MonitorNotFoundError struct { } func (e *MonitorNotFoundError) Error() string { - return composeErrorMsg(tr("Monitor '%s' not found", e.Monitor), e.Cause) + return composeErrorMsg(i18n.Tr("Monitor '%s' not found", e.Monitor), e.Cause) } func (e *MonitorNotFoundError) Unwrap() error { @@ -376,7 +374,7 @@ type InvalidPlatformPropertyError struct { } func (e *InvalidPlatformPropertyError) Error() string { - return tr("Invalid '%[1]s' property: %[2]s", e.Property, e.Value) + return i18n.Tr("Invalid '%[1]s' property: %[2]s", e.Property, e.Value) } // GRPCStatus converts the error into a *status.Status @@ -390,7 +388,7 @@ type MissingPlatformPropertyError struct { } func (e *MissingPlatformPropertyError) Error() string { - return tr("Property '%s' is undefined", e.Property) + return i18n.Tr("Property '%s' is undefined", e.Property) } // GRPCStatus converts the error into a *status.Status @@ -405,7 +403,7 @@ type PlatformNotFoundError struct { } func (e *PlatformNotFoundError) Error() string { - return composeErrorMsg(tr("Platform '%s' not found", e.Platform), e.Cause) + return composeErrorMsg(i18n.Tr("Platform '%s' not found", e.Platform), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -423,7 +421,7 @@ type PlatformLoadingError struct { } func (e *PlatformLoadingError) Error() string { - return composeErrorMsg(tr("Error loading hardware platform"), e.Cause) + return composeErrorMsg(i18n.Tr("Error loading hardware platform"), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -444,7 +442,7 @@ type LibraryNotFoundError struct { } func (e *LibraryNotFoundError) Error() string { - return composeErrorMsg(tr("Library '%s' not found", e.Library), e.Cause) + return composeErrorMsg(i18n.Tr("Library '%s' not found", e.Library), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -463,7 +461,7 @@ type LibraryDependenciesResolutionFailedError struct { } func (e *LibraryDependenciesResolutionFailedError) Error() string { - return composeErrorMsg(tr("No valid dependencies solution found"), e.Cause) + return composeErrorMsg(i18n.Tr("No valid dependencies solution found"), e.Cause) } // GRPCStatus converts the error into a *status.Status @@ -481,7 +479,7 @@ type PlatformAlreadyAtTheLatestVersionError struct { } func (e *PlatformAlreadyAtTheLatestVersionError) Error() string { - return tr("Platform '%s' is already at the latest version", e.Platform) + return i18n.Tr("Platform '%s' is already at the latest version", e.Platform) } // GRPCStatus converts the error into a *status.Status @@ -496,7 +494,7 @@ func (e *PlatformAlreadyAtTheLatestVersionError) GRPCStatus() *status.Status { type MissingSketchPathError struct{} func (e *MissingSketchPathError) Error() string { - return tr("Missing sketch path") + return i18n.Tr("Missing sketch path") } // GRPCStatus converts the error into a *status.Status @@ -510,7 +508,7 @@ type CantCreateSketchError struct { } func (e *CantCreateSketchError) Error() string { - return composeErrorMsg(tr("Can't create sketch"), e.Cause) + return composeErrorMsg(i18n.Tr("Can't create sketch"), e.Cause) } func (e *CantCreateSketchError) Unwrap() error { @@ -523,7 +521,7 @@ type CantUpdateSketchError struct { } func (e *CantUpdateSketchError) Error() string { - return composeErrorMsg(tr("Can't update sketch"), e.Cause) + return composeErrorMsg(i18n.Tr("Can't update sketch"), e.Cause) } func (e *CantUpdateSketchError) Unwrap() error { @@ -536,7 +534,7 @@ type CantOpenSketchError struct { } func (e *CantOpenSketchError) Error() string { - return composeErrorMsg(tr("Can't open sketch"), e.Cause) + return composeErrorMsg(i18n.Tr("Can't open sketch"), e.Cause) } func (e *CantOpenSketchError) Unwrap() error { @@ -573,7 +571,7 @@ type FailedLibraryInstallError struct { } func (e *FailedLibraryInstallError) Error() string { - return composeErrorMsg(tr("Library install failed"), e.Cause) + return composeErrorMsg(i18n.Tr("Library install failed"), e.Cause) } func (e *FailedLibraryInstallError) Unwrap() error { @@ -667,7 +665,7 @@ type FailedMonitorError struct { } func (e *FailedMonitorError) Error() string { - return composeErrorMsg(tr("Port monitor error"), e.Cause) + return composeErrorMsg(i18n.Tr("Port monitor error"), e.Cause) } func (e *FailedMonitorError) Unwrap() error { @@ -780,7 +778,7 @@ type TempDirCreationFailedError struct { } func (e *TempDirCreationFailedError) Error() string { - return composeErrorMsg(tr("Cannot create temp dir"), e.Cause) + return composeErrorMsg(i18n.Tr("Cannot create temp dir"), e.Cause) } func (e *TempDirCreationFailedError) Unwrap() error { @@ -798,7 +796,7 @@ type TempFileCreationFailedError struct { } func (e *TempFileCreationFailedError) Error() string { - return composeErrorMsg(tr("Cannot create temp file"), e.Cause) + return composeErrorMsg(i18n.Tr("Cannot create temp file"), e.Cause) } func (e *TempFileCreationFailedError) Unwrap() error { @@ -817,7 +815,7 @@ type SignatureVerificationFailedError struct { } func (e *SignatureVerificationFailedError) Error() string { - return composeErrorMsg(tr("'%s' has an invalid signature", e.File), e.Cause) + return composeErrorMsg(i18n.Tr("'%s' has an invalid signature", e.File), e.Cause) } func (e *SignatureVerificationFailedError) Unwrap() error { @@ -838,7 +836,7 @@ type MultiplePlatformsError struct { } func (e *MultiplePlatformsError) Error() string { - return tr("Found %d platforms matching \"%s\": %s", + return i18n.Tr("Found %d platforms matching \"%s\": %s", len(e.Platforms), e.UserPlatform, strings.Join(e.Platforms, ", ")) } @@ -857,7 +855,7 @@ type MultipleLibraryInstallDetected struct { } func (e *MultipleLibraryInstallDetected) Error() string { - res := tr("The library %s has multiple installations:", e.LibName) + "\n" + res := i18n.Tr("The library %s has multiple installations:", e.LibName) + "\n" for _, lib := range e.LibsDir { res += fmt.Sprintf("- %s\n", lib) } @@ -875,7 +873,7 @@ type InstanceNeedsReinitialization struct { } func (e *InstanceNeedsReinitialization) Error() string { - return tr("The instance is no longer valid and needs to be reinitialized") + return i18n.Tr("The instance is no longer valid and needs to be reinitialized") } // GRPCStatus converts the error into a *status.Status diff --git a/commands/instances.go b/commands/instances.go index 25d9fc19383..bd6764cf51d 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -17,6 +17,7 @@ package commands import ( "context" + "errors" "fmt" "net/url" "path/filepath" @@ -49,13 +50,13 @@ func installTool(ctx context.Context, pm *packagemanager.PackageManager, tool *c pme, release := pm.NewExplorer() defer release() - taskCB(&rpc.TaskProgress{Name: tr("Downloading missing tool %s", tool)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Downloading missing tool %s", tool)}) if err := pme.DownloadToolRelease(ctx, tool, downloadCB); err != nil { - return fmt.Errorf(tr("downloading %[1]s tool: %[2]s"), tool, err) + return errors.New(i18n.Tr("downloading %[1]s tool: %[2]s", tool, err)) } taskCB(&rpc.TaskProgress{Completed: true}) if err := pme.InstallTool(tool, taskCB, true); err != nil { - return fmt.Errorf(tr("installing %[1]s tool: %[2]s"), tool, err) + return errors.New(i18n.Tr("installing %[1]s tool: %[2]s", tool, err)) } return nil } @@ -75,7 +76,7 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque if downloadsDir.NotExist() { err := downloadsDir.MkdirAll() if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Failed to create downloads directory"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Failed to create downloads directory"), Cause: err} } } @@ -86,7 +87,7 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque if packagesDir.NotExist() { err := packagesDir.MkdirAll() if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Failed to create data directory"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Failed to create data directory"), Cause: err} } } @@ -182,7 +183,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor if err != nil { e := &cmderrors.InitFailedError{ Code: codes.InvalidArgument, - Cause: fmt.Errorf(tr("Invalid additional URL: %v", err)), + Cause: errors.New(i18n.Tr("Invalid additional URL: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INVALID_INDEX_URL, } responseError(e.GRPCStatus()) @@ -220,7 +221,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor if err != nil { e := &cmderrors.InitFailedError{ Code: codes.FailedPrecondition, - Cause: fmt.Errorf(tr("Loading index file: %v", err)), + Cause: errors.New(i18n.Tr("Loading index file: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR, } responseError(e.GRPCStatus()) @@ -231,7 +232,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor if err := pmb.LoadPackageIndex(URL); err != nil { e := &cmderrors.InitFailedError{ Code: codes.FailedPrecondition, - Cause: fmt.Errorf(tr("Loading index file: %v", err)), + Cause: errors.New(i18n.Tr("Loading index file: %v", err)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR, } responseError(e.GRPCStatus()) @@ -271,7 +272,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor if latest == nil { e := &cmderrors.InitFailedError{ Code: codes.Internal, - Cause: fmt.Errorf(tr("can't find latest release of tool %s", name)), + Cause: errors.New(i18n.Tr("can't find latest release of tool %s", name)), Reason: rpc.FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR, } responseError(e.GRPCStatus()) @@ -341,7 +342,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor logrus.WithField("index", indexFile).Info("Loading libraries index file") li, err := librariesindex.LoadIndex(indexFile) if err != nil { - s := status.Newf(codes.FailedPrecondition, tr("Loading index file: %v"), err) + s := status.Newf(codes.FailedPrecondition, i18n.Tr("Loading index file: %v", err)) responseError(s) li = librariesindex.EmptyIndex } @@ -370,23 +371,23 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor if !libDir.IsDir() { // Download library - taskCallback(&rpc.TaskProgress{Name: tr("Downloading library %s", libraryRef)}) + taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Downloading library %s", libraryRef)}) libRelease, err := li.FindRelease(libraryRef.Library, libraryRef.Version) if err != nil { - taskCallback(&rpc.TaskProgress{Name: tr("Library %s not found", libraryRef)}) + taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Library %s not found", libraryRef)}) err := &cmderrors.LibraryNotFoundError{Library: libraryRef.Library} responseError(err.GRPCStatus()) continue } config, err := s.settings.DownloaderConfig() if err != nil { - taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) + taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Error downloading library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.GRPCStatus()) continue } if err := libRelease.Resource.Download(ctx, pme.DownloadDir, config, libRelease.String(), downloadCallback, ""); err != nil { - taskCallback(&rpc.TaskProgress{Name: tr("Error downloading library %s", libraryRef)}) + taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Error downloading library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.GRPCStatus()) continue @@ -394,9 +395,9 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor taskCallback(&rpc.TaskProgress{Completed: true}) // Install library - taskCallback(&rpc.TaskProgress{Name: tr("Installing library %s", libraryRef)}) + taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Installing library %s", libraryRef)}) if err := libRelease.Resource.Install(pme.DownloadDir, libRoot, libDir); err != nil { - taskCallback(&rpc.TaskProgress{Name: tr("Error installing library %s", libraryRef)}) + taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Error installing library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.GRPCStatus()) continue @@ -483,7 +484,7 @@ func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd // Create the index directory if it doesn't exist if err := indexDir.MkdirAll(); err != nil { resultCB(rpc.IndexUpdateReport_STATUS_FAILED) - return &cmderrors.PermissionDeniedError{Message: tr("Could not create index directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Could not create index directory"), Cause: err} } // Check if the index file is already up-to-date @@ -559,8 +560,8 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream URL, err := url.Parse(u) if err != nil { logrus.Warnf("unable to parse additional URL: %s", u) - msg := fmt.Sprintf("%s: %v", tr("Unable to parse URL"), err) - downloadCB.Start(u, tr("Downloading index: %s", u)) + msg := fmt.Sprintf("%s: %v", i18n.Tr("Unable to parse URL"), err) + downloadCB.Start(u, i18n.Tr("Downloading index: %s", u)) downloadCB.End(false, msg) failed = true result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) @@ -577,8 +578,8 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream path = paths.New(URL.Path[1:]) } if _, err := packageindex.LoadIndexNoSign(path); err != nil { - msg := fmt.Sprintf("%s: %v", tr("Invalid package index in %s", path), err) - downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) + msg := fmt.Sprintf("%s: %v", i18n.Tr("Invalid package index in %s", path), err) + downloadCB.Start(u, i18n.Tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, msg) failed = true result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) @@ -592,8 +593,8 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream indexResource := resources.IndexResource{URL: URL} indexFileName, err := indexResource.IndexFileName() if err != nil { - downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) - downloadCB.End(false, tr("Invalid index URL: %s", err)) + downloadCB.Start(u, i18n.Tr("Downloading index: %s", filepath.Base(URL.Path))) + downloadCB.End(false, i18n.Tr("Invalid index URL: %s", err)) failed = true result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) continue @@ -609,8 +610,8 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream config, err := s.settings.DownloaderConfig() if err != nil { - downloadCB.Start(u, tr("Downloading index: %s", filepath.Base(URL.Path))) - downloadCB.End(false, tr("Invalid network configuration: %s", err)) + downloadCB.Start(u, i18n.Tr("Downloading index: %s", filepath.Base(URL.Path))) + downloadCB.End(false, i18n.Tr("Invalid network configuration: %s", err)) failed = true continue } @@ -630,7 +631,7 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream Message: &rpc.UpdateIndexResponse_Result_{Result: result}, }) if failed { - return &cmderrors.FailedDownloadError{Message: tr("Some indexes could not be updated.")} + return &cmderrors.FailedDownloadError{Message: i18n.Tr("Some indexes could not be updated.")} } return nil } @@ -657,7 +658,7 @@ func firstUpdate(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance packageIndexFileName, err := (&resources.IndexResource{URL: URL}).IndexFileName() if err != nil { return &cmderrors.FailedDownloadError{ - Message: tr("Error downloading index '%s'", URL), + Message: i18n.Tr("Error downloading index '%s'", URL), Cause: &cmderrors.InvalidURLError{}} } packageIndexFile := indexDir.Join(packageIndexFileName) diff --git a/commands/service_board_list.go b/commands/service_board_list.go index aff1085c9c2..a5376cb9f1f 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -33,6 +33,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" @@ -74,10 +75,10 @@ func cachedAPIByVidPid(vid, pid string, settings *configuration.Settings) ([]*rp func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { // ensure vid and pid are valid before hitting the API if !validVidPid.MatchString(vid) { - return nil, errors.New(tr("Invalid vid value: '%s'", vid)) + return nil, errors.New(i18n.Tr("Invalid vid value: '%s'", vid)) } if !validVidPid.MatchString(pid) { - return nil, errors.New(tr("Invalid pid value: '%s'", pid)) + return nil, errors.New(i18n.Tr("Invalid pid value: '%s'", pid)) } url := fmt.Sprintf("%s/%s/%s", vidPidURL, vid, pid) @@ -86,19 +87,19 @@ func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.Boar httpClient, err := settings.NewHttpClient() if err != nil { - return nil, fmt.Errorf("%s: %w", tr("failed to initialize http client"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("failed to initialize http client"), err) } res, err := httpClient.Do(req) if err != nil { - return nil, fmt.Errorf("%s: %w", tr("error querying Arduino Cloud Api"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("error querying Arduino Cloud Api"), err) } if res.StatusCode == 404 { // This is not an error, it just means that the board is not recognized return nil, nil } if res.StatusCode >= 400 { - return nil, errors.New(tr("the server responded with status %s", res.Status)) + return nil, errors.New(i18n.Tr("the server responded with status %s", res.Status)) } resp, err := io.ReadAll(res.Body) @@ -111,12 +112,12 @@ func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.Boar var dat map[string]interface{} if err := json.Unmarshal(resp, &dat); err != nil { - return nil, fmt.Errorf("%s: %w", tr("error processing response from server"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("error processing response from server"), err) } name, nameFound := dat["name"].(string) fqbn, fbqnFound := dat["fqbn"].(string) if !nameFound || !fbqnFound { - return nil, errors.New(tr("wrong format in server response")) + return nil, errors.New(i18n.Tr("wrong format in server response")) } return []*rpc.BoardListItem{ @@ -269,7 +270,7 @@ func BoardListWatchProxyToChan(ctx context.Context) (rpc.ArduinoCoreService_Boar func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, stream rpc.ArduinoCoreService_BoardListWatchServer) error { syncSend := NewSynchronizedSend(stream.Send) if req.GetInstance() == nil { - err := fmt.Errorf(tr("no instance specified")) + err := errors.New(i18n.Tr("no instance specified")) syncSend.Send(&rpc.BoardListWatchResponse{ EventType: "error", Error: err.Error(), diff --git a/commands/service_compile.go b/commands/service_compile.go index 9722c72671a..3dbc4e3fbc7 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -32,6 +32,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/buildcache" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" @@ -117,7 +118,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu if targetPlatform == nil { return &cmderrors.PlatformNotFoundError{ Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), - Cause: fmt.Errorf(tr("platform not installed")), + Cause: errors.New(i18n.Tr("platform not installed")), } } return &cmderrors.InvalidFQBNError{Cause: err} @@ -151,7 +152,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu encryptProp := boardBuildProperties.ContainsKey("build.keys.encrypt_key") // we verify that all the properties for the secure boot keys are defined or none of them is defined. if !(keychainProp == signProp && signProp == encryptProp) { - return fmt.Errorf(tr("Firmware encryption/signing requires all the following properties to be defined: %s", "build.keys.keychain, build.keys.sign_key, build.keys.encrypt_key")) + return errors.New(i18n.Tr("Firmware encryption/signing requires all the following properties to be defined: %s", "build.keys.keychain, build.keys.sign_key, build.keys.encrypt_key")) } // Generate or retrieve build path @@ -168,7 +169,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu buildPath = sk.DefaultBuildPath() } if err = buildPath.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Cannot create build directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build directory"), Cause: err} } buildcache.New(buildPath.Parent()).GetOrCreate(buildPath.Base()) // cache is purged after compilation to not remove entries that might be required @@ -183,10 +184,10 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu } else { buildCachePath, err := paths.New(req.GetBuildCachePath()).Abs() if err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} } if err := buildCachePath.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Cannot create build cache directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} } coreBuildCachePath = buildCachePath.Join("core") } @@ -247,11 +248,11 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu ) if err != nil { if strings.Contains(err.Error(), "invalid build properties") { - return &cmderrors.InvalidArgumentError{Message: tr("Invalid build properties"), Cause: err} + return &cmderrors.InvalidArgumentError{Message: i18n.Tr("Invalid build properties"), Cause: err} } if errors.Is(err, builder.ErrSketchCannotBeLocatedInBuildPath) { return &cmderrors.CompileFailedError{ - Message: tr("Sketch cannot be located in build path. Please specify a different build path"), + Message: i18n.Tr("Sketch cannot be located in build path. Please specify a different build path"), } } return &cmderrors.CompileFailedError{Message: err.Error()} @@ -303,7 +304,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu for _, lib := range sketchBuilder.ImportedLibraries() { rpcLib, err := lib.ToRPCLibrary() if err != nil { - msg := tr("Error getting information for library %s", lib.Name) + ": " + err.Error() + "\n" + msg := i18n.Tr("Error getting information for library %s", lib.Name) + ": " + err.Error() + "\n" errStream.Write([]byte(msg)) } importedLibs = append(importedLibs, rpcLib) @@ -326,13 +327,13 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu } outStream.Write([]byte(fmt.Sprintf("FQBN: %s\n", normalizedFQBN))) core = core[strings.Index(core, ":")+1:] - outStream.Write([]byte(tr("Using board '%[1]s' from platform in folder: %[2]s", targetBoard.BoardID, targetPlatform.InstallDir) + "\n")) - outStream.Write([]byte(tr("Using core '%[1]s' from platform in folder: %[2]s", core, buildPlatform.InstallDir) + "\n")) + outStream.Write([]byte(i18n.Tr("Using board '%[1]s' from platform in folder: %[2]s", targetBoard.BoardID, targetPlatform.InstallDir) + "\n")) + outStream.Write([]byte(i18n.Tr("Using core '%[1]s' from platform in folder: %[2]s", core, buildPlatform.InstallDir) + "\n")) outStream.Write([]byte("\n")) } if !targetBoard.Properties.ContainsKey("build.board") { outStream.Write([]byte( - tr("Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s", + i18n.Tr("Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s", targetBoard.String(), "'build.board'", sketchBuilder.GetBuildProperties().Get("build.board")) + "\n")) } @@ -364,7 +365,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu if !buildPath.EqualsTo(exportPath) { logrus.WithField("path", exportPath).Trace("Saving sketch to export path.") if err := exportPath.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error creating output dir"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error creating output dir"), Cause: err} } baseName, ok := sketchBuilder.GetBuildProperties().GetOk("build.project_name") // == "sketch.ino" @@ -373,14 +374,14 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu } buildFiles, err := sketchBuilder.GetBuildPath().ReadDir() if err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error reading build directory"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error reading build directory"), Cause: err} } buildFiles.FilterPrefix(baseName) for _, buildFile := range buildFiles { exportedFile := exportPath.Join(buildFile.Base()) logrus.WithField("src", buildFile).WithField("dest", exportedFile).Trace("Copying artifact.") if err = buildFile.CopyTo(exportedFile); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error copying output file %s", buildFile), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error copying output file %s", buildFile), Cause: err} } } } diff --git a/commands/service_debug.go b/commands/service_debug.go index 974b75c5267..d17c99622a6 100644 --- a/commands/service_debug.go +++ b/commands/service_debug.go @@ -20,6 +20,7 @@ import ( "errors" "os" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -36,7 +37,7 @@ func (s *arduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) // Ensure it's a config message and not data req := msg.GetDebugRequest() if req == nil { - return errors.New(tr("First message must contain debug request, not data")) + return errors.New(i18n.Tr("First message must contain debug request, not data")) } // Launch debug recipe attaching stdin and out to grpc streaming diff --git a/commands/service_debug_config.go b/commands/service_debug_config.go index 0f4040011f8..393a81811e6 100644 --- a/commands/service_debug_config.go +++ b/commands/service_debug_config.go @@ -29,6 +29,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -172,10 +173,10 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } if !skipSketchChecks { if !importPath.Exist() { - return nil, &cmderrors.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} + return nil, &cmderrors.NotFoundError{Message: i18n.Tr("Compiled sketch not found in %s", importPath)} } if !importPath.IsDir() { - return nil, &cmderrors.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} + return nil, &cmderrors.NotFoundError{Message: i18n.Tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} } } toolProperties.SetPath("build.path", importPath) @@ -202,7 +203,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } if !debugProperties.ContainsKey("executable") || debugProperties.Get("executable") == "" { - return nil, &cmderrors.FailedDebugError{Message: tr("Debugging not supported for board %s", req.GetFqbn())} + return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("Debugging not supported for board %s", req.GetFqbn())} } server := debugProperties.Get("server") diff --git a/commands/service_debug_run.go b/commands/service_debug_run.go index 1b76ec05e68..94cdc43efa8 100644 --- a/commands/service_debug_run.go +++ b/commands/service_debug_run.go @@ -27,6 +27,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -65,7 +66,7 @@ func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Read cmd, err := paths.NewProcess(pme.GetEnvVarsForSpawnedProcess(), commandLine...) if err != nil { - return nil, &cmderrors.FailedDebugError{Message: tr("Cannot execute debug tool"), Cause: err} + return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("Cannot execute debug tool"), Cause: err} } // Get stdIn pipe from tool @@ -140,7 +141,7 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer } gdbPath = paths.New(debugInfo.GetToolchainPath()).Join(gdbexecutable) default: - return nil, &cmderrors.FailedDebugError{Message: tr("Toolchain '%s' is not supported", debugInfo.GetToolchain())} + return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("Toolchain '%s' is not supported", debugInfo.GetToolchain())} } add(gdbPath.String()) @@ -184,7 +185,7 @@ func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer add(serverCmd) default: - return nil, &cmderrors.FailedDebugError{Message: tr("GDB server '%s' is not supported", debugInfo.GetServer())} + return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("GDB server '%s' is not supported", debugInfo.GetServer())} } // Add executable diff --git a/commands/service_library_download.go b/commands/service_library_download.go index c6a6bb3f0f6..2384d59396f 100644 --- a/commands/service_library_download.go +++ b/commands/service_library_download.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" ) @@ -84,13 +85,13 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, func downloadLibrary(ctx context.Context, downloadsDir *paths.Path, libRelease *librariesindex.Release, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, queryParameter string, settings *configuration.Settings) error { - taskCB(&rpc.TaskProgress{Name: tr("Downloading %s", libRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Downloading %s", libRelease)}) config, err := settings.DownloaderConfig() if err != nil { - return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} + return &cmderrors.FailedDownloadError{Message: i18n.Tr("Can't download library"), Cause: err} } if err := libRelease.Resource.Download(ctx, downloadsDir, config, libRelease.String(), downloadCB, queryParameter); err != nil { - return &cmderrors.FailedDownloadError{Message: tr("Can't download library"), Cause: err} + return &cmderrors.FailedDownloadError{Message: i18n.Tr("Can't download library"), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) diff --git a/commands/service_library_install.go b/commands/service_library_install.go index e07a748da24..ca1531ac267 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -88,7 +89,7 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s if existingDep, has := toInstall[dep.GetName()]; has { if existingDep.GetVersionRequired() != dep.GetVersionRequired() { err := errors.New( - tr("two different versions of the library %[1]s are required: %[2]s and %[3]s", + i18n.Tr("two different versions of the library %[1]s are required: %[2]s and %[3]s", dep.GetName(), dep.GetVersionRequired(), existingDep.GetVersionRequired())) return &cmderrors.LibraryDependenciesResolutionFailedError{Cause: err} } @@ -131,13 +132,13 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s return err } if installTask.UpToDate { - taskCB(&rpc.TaskProgress{Message: tr("Already installed %s", libRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Already installed %s", libRelease), Completed: true}) continue } if req.GetNoOverwrite() { if installTask.ReplacedLib != nil { - return fmt.Errorf(tr("Library %[1]s is already installed, but with a different version: %[2]s", libRelease, installTask.ReplacedLib)) + return errors.New(i18n.Tr("Library %[1]s is already installed, but with a different version: %[2]s", libRelease, installTask.ReplacedLib)) } } libReleasesToInstall[libRelease] = installTask @@ -179,14 +180,14 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s } func installLibrary(lmi *librariesmanager.Installer, downloadsDir *paths.Path, libRelease *librariesindex.Release, installTask *librariesmanager.LibraryInstallPlan, taskCB rpc.TaskProgressCB) error { - taskCB(&rpc.TaskProgress{Name: tr("Installing %s", libRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing %s", libRelease)}) logrus.WithField("library", libRelease).Info("Installing library") if libReplaced := installTask.ReplacedLib; libReplaced != nil { - taskCB(&rpc.TaskProgress{Message: tr("Replacing %[1]s with %[2]s", libReplaced, libRelease)}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Replacing %[1]s with %[2]s", libReplaced, libRelease)}) if err := lmi.Uninstall(libReplaced); err != nil { return &cmderrors.FailedLibraryInstallError{ - Cause: fmt.Errorf("%s: %s", tr("could not remove old library"), err)} + Cause: fmt.Errorf("%s: %s", i18n.Tr("could not remove old library"), err)} } } @@ -196,7 +197,7 @@ func installLibrary(lmi *librariesmanager.Installer, downloadsDir *paths.Path, l return &cmderrors.FailedLibraryInstallError{Cause: err} } - taskCB(&rpc.TaskProgress{Message: tr("Installed %s", libRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Installed %s", libRelease), Completed: true}) return nil } @@ -230,7 +231,7 @@ func (s *arduinoCoreServerImpl) ZipLibraryInstall(req *rpc.ZipLibraryInstallRequ if err := lmi.InstallZipLib(ctx, paths.New(req.GetPath()), req.GetOverwrite()); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } - taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Library installed"), Completed: true}) syncSend.Send(&rpc.ZipLibraryInstallResponse{ Message: &rpc.ZipLibraryInstallResponse_Result_{ Result: &rpc.ZipLibraryInstallResponse_Result{}, @@ -270,7 +271,7 @@ func (s *arduinoCoreServerImpl) GitLibraryInstall(req *rpc.GitLibraryInstallRequ if err := lmi.InstallGitLib(req.GetUrl(), req.GetOverwrite()); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } - taskCB(&rpc.TaskProgress{Message: tr("Library installed"), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Library installed"), Completed: true}) syncSend.Send(&rpc.GitLibraryInstallResponse{ Message: &rpc.GitLibraryInstallResponse_Result_{ Result: &rpc.GitLibraryInstallResponse_Result{}, diff --git a/commands/service_library_list.go b/commands/service_library_list.go index be293c6161d..35104caf08b 100644 --- a/commands/service_library_list.go +++ b/commands/service_library_list.go @@ -26,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesresolver" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -111,7 +112,7 @@ func (s *arduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.Librar } rpcLib, err := lib.Library.ToRPCLibrary() if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Error getting information for library %s", lib.Library.Name), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error getting information for library %s", lib.Library.Name), Cause: err} } installedLibs = append(installedLibs, &rpc.InstalledLibrary{ Library: rpcLib, diff --git a/commands/service_library_resolve_deps.go b/commands/service_library_resolve_deps.go index c50cc2d9f6a..83cc7f1f737 100644 --- a/commands/service_library_resolve_deps.go +++ b/commands/service_library_resolve_deps.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) @@ -82,7 +83,7 @@ func libraryResolveDependencies(lme *librariesmanager.Explorer, li *librariesind // Check if there is a problem with the first level deps for _, directDep := range reqLibRelease.GetDependencies() { if _, ok := li.Libraries[directDep.GetName()]; !ok { - err := errors.New(tr("dependency '%s' is not available", directDep.GetName())) + err := errors.New(i18n.Tr("dependency '%s' is not available", directDep.GetName())) return nil, &cmderrors.LibraryDependenciesResolutionFailedError{Cause: err} } } diff --git a/commands/service_library_uninstall.go b/commands/service_library_uninstall.go index add0b7be491..27b5acbfde5 100644 --- a/commands/service_library_uninstall.go +++ b/commands/service_library_uninstall.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" ) @@ -59,7 +60,7 @@ func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques libs := lmi.FindByReference(req.GetName(), version, libraries.User) if len(libs) == 0 { - taskCB(&rpc.TaskProgress{Message: tr("Library %s is not installed", req.GetName()), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Library %s is not installed", req.GetName()), Completed: true}) syncSend.Send(&rpc.LibraryUninstallResponse{ Message: &rpc.LibraryUninstallResponse_Result_{Result: &rpc.LibraryUninstallResponse_Result{}}, }) @@ -67,7 +68,7 @@ func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques } if len(libs) == 1 { - taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s", libs)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Uninstalling %s", libs)}) lmi.Uninstall(libs[0]) taskCB(&rpc.TaskProgress{Completed: true}) syncSend.Send(&rpc.LibraryUninstallResponse{ @@ -83,6 +84,6 @@ func (s *arduinoCoreServerImpl) LibraryUninstall(req *rpc.LibraryUninstallReques return &cmderrors.MultipleLibraryInstallDetected{ LibName: libs[0].Name, LibsDir: libsDir, - Message: tr("Automatic library uninstall can't be performed in this case, please manually remove them."), + Message: i18n.Tr("Automatic library uninstall can't be performed in this case, please manually remove them."), } } diff --git a/commands/service_library_upgrade.go b/commands/service_library_upgrade.go index 4b0fa20223d..d63e01a4c3a 100644 --- a/commands/service_library_upgrade.go +++ b/commands/service_library_upgrade.go @@ -20,6 +20,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -133,7 +134,7 @@ func (s *arduinoCoreServerImpl) LibraryUpgrade(req *rpc.LibraryUpgradeRequest, s } if lib.Available == nil { // library already at the latest version - taskCB(&rpc.TaskProgress{Message: tr("Library %s is already at the latest version", name), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Library %s is already at the latest version", name), Completed: true}) } else { // Install update if err := s.libraryUpgrade(ctx, req.GetInstance(), []*installedLib{lib}, downloadCB, taskCB); err != nil { diff --git a/commands/service_monitor.go b/commands/service_monitor.go index 697483b05f5..7c47e201ada 100644 --- a/commands/service_monitor.go +++ b/commands/service_monitor.go @@ -27,6 +27,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" pluggableMonitor "github.com/arduino/arduino-cli/internal/arduino/monitor" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" "github.com/djherbis/buffer" @@ -265,7 +266,7 @@ func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, pro cmdLine := boardProperties.ExpandPropsInString(recipe) cmdArgs, err := properties.SplitQuotedString(cmdLine, `"'`, false) if err != nil { - return nil, nil, &cmderrors.InvalidArgumentError{Message: tr("Invalid recipe in platform.txt"), Cause: err} + return nil, nil, &cmderrors.InvalidArgumentError{Message: i18n.Tr("Invalid recipe in platform.txt"), Cause: err} } id := fmt.Sprintf("%s-%s", boardPlatform, protocol) return pluggableMonitor.New(id, cmdArgs...), boardSettings, nil diff --git a/commands/service_platform_download.go b/commands/service_platform_download.go index 9fb39255125..1f542d3abf1 100644 --- a/commands/service_platform_download.go +++ b/commands/service_platform_download.go @@ -21,12 +21,9 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) -var tr = i18n.Tr - // PlatformDownloadStreamResponseToCallbackFunction returns a gRPC stream to be used in PlatformDownload that sends // all responses to the callback function. func PlatformDownloadStreamResponseToCallbackFunction(ctx context.Context, downloadCB rpc.DownloadProgressCB) rpc.ArduinoCoreService_PlatformDownloadServer { diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index 2249297d97d..6a9583fa429 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -82,15 +83,15 @@ func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, // Prerequisite checks before install if platformRelease.IsInstalled() { - taskCB(&rpc.TaskProgress{Name: tr("Platform %s already installed", platformRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Platform %s already installed", platformRelease), Completed: true}) return nil } if req.GetNoOverwrite() { if installed := pme.GetInstalledPlatformRelease(platformRelease.Platform); installed != nil { return fmt.Errorf("%s: %s", - tr("Platform %s already installed", installed), - tr("could not overwrite")) + i18n.Tr("Platform %s already installed", installed), + i18n.Tr("could not overwrite")) } } diff --git a/commands/service_platform_uninstall.go b/commands/service_platform_uninstall.go index 8417fdd4a60..cf21d91a8ad 100644 --- a/commands/service_platform_uninstall.go +++ b/commands/service_platform_uninstall.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -85,7 +86,7 @@ func platformUninstall(_ context.Context, req *rpc.PlatformUninstallRequest, tas platform, tools, err := pme.FindPlatformReleaseDependencies(ref) if err != nil { - return &cmderrors.NotFoundError{Message: tr("Can't find dependencies for platform %s", ref), Cause: err} + return &cmderrors.NotFoundError{Message: i18n.Tr("Can't find dependencies for platform %s", ref), Cause: err} } // TODO: pass context @@ -95,7 +96,7 @@ func platformUninstall(_ context.Context, req *rpc.PlatformUninstallRequest, tas for _, tool := range tools { if !pme.IsToolRequired(tool) { - taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s, tool is no more required", tool)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Uninstalling %s, tool is no more required", tool)}) pme.UninstallTool(tool, taskCB, req.GetSkipPreUninstall()) } } diff --git a/commands/service_sketch_archive.go b/commands/service_sketch_archive.go index 67515406382..c4cde916321 100644 --- a/commands/service_sketch_archive.go +++ b/commands/service_sketch_archive.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) @@ -53,7 +54,7 @@ func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.Arch archivePath, err = archivePath.Clean().Abs() if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Error getting absolute path of sketch archive"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error getting absolute path of sketch archive"), Cause: err} } // Makes archivePath point to a zip file @@ -65,19 +66,19 @@ func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.Arch if !req.GetOverwrite() { if archivePath.Exist() { - return nil, &cmderrors.InvalidArgumentError{Message: tr("Archive already exists")} + return nil, &cmderrors.InvalidArgumentError{Message: i18n.Tr("Archive already exists")} } } filesToZip, err := sketchPath.ReadDirRecursive() if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Error reading sketch files"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error reading sketch files"), Cause: err} } filesToZip.FilterOutDirs() archive, err := archivePath.Create() if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Error creating sketch archive"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error creating sketch archive"), Cause: err} } defer archive.Close() @@ -89,7 +90,7 @@ func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.Arch if !req.GetIncludeBuildDir() { filePath, err := sketchPath.Parent().RelTo(f) if err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Error calculating relative file path"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error calculating relative file path"), Cause: err} } // Skips build folder @@ -101,7 +102,7 @@ func (s *arduinoCoreServerImpl) ArchiveSketch(ctx context.Context, req *rpc.Arch // We get the parent path since we want the archive to unpack as a folder. // If we don't do this the archive would contain all the sketch files as top level. if err := addFileToSketchArchive(zipWriter, f, sketchPath.Parent()); err != nil { - return nil, &cmderrors.PermissionDeniedError{Message: tr("Error adding file to sketch archive"), Cause: err} + return nil, &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error adding file to sketch archive"), Cause: err} } } diff --git a/commands/service_sketch_new.go b/commands/service_sketch_new.go index b0c9c079f73..ca3143e31b9 100644 --- a/commands/service_sketch_new.go +++ b/commands/service_sketch_new.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" ) @@ -62,7 +63,7 @@ func (s *arduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketc sketchMainFilePath := sketchDirPath.Join(sketchName + globals.MainFileValidExtension) if !req.GetOverwrite() { if sketchMainFilePath.Exist() { - return nil, &cmderrors.CantCreateSketchError{Cause: errors.New(tr(".ino file already exists"))} + return nil, &cmderrors.CantCreateSketchError{Cause: errors.New(i18n.Tr(".ino file already exists"))} } } if err := sketchMainFilePath.WriteFile(emptySketch); err != nil { @@ -74,20 +75,20 @@ func (s *arduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketc func validateSketchName(name string) error { if name == "" { - return &cmderrors.CantCreateSketchError{Cause: errors.New(tr("sketch name cannot be empty"))} + return &cmderrors.CantCreateSketchError{Cause: errors.New(i18n.Tr("sketch name cannot be empty"))} } if len(name) > sketchNameMaxLength { - return &cmderrors.CantCreateSketchError{Cause: errors.New(tr("sketch name too long (%[1]d characters). Maximum allowed length is %[2]d", + return &cmderrors.CantCreateSketchError{Cause: errors.New(i18n.Tr("sketch name too long (%[1]d characters). Maximum allowed length is %[2]d", len(name), sketchNameMaxLength))} } if !sketchNameValidationRegex.MatchString(name) { - return &cmderrors.CantCreateSketchError{Cause: errors.New(tr(`invalid sketch name "%[1]s": the first character must be alphanumeric or "_", the following ones can also contain "-" and ".". The last one cannot be ".".`, + return &cmderrors.CantCreateSketchError{Cause: errors.New(i18n.Tr(`invalid sketch name "%[1]s": the first character must be alphanumeric or "_", the following ones can also contain "-" and ".". The last one cannot be ".".`, name))} } for _, invalid := range invalidNames { if name == invalid { - return &cmderrors.CantCreateSketchError{Cause: errors.New(tr(`sketch name cannot be the reserved name "%[1]s"`, invalid))} + return &cmderrors.CantCreateSketchError{Cause: errors.New(i18n.Tr(`sketch name cannot be the reserved name "%[1]s"`, invalid))} } } return nil diff --git a/commands/service_upload.go b/commands/service_upload.go index 6dcacf1d3e5..330decc3c5e 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -31,6 +31,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -433,13 +434,13 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, if !burnBootloader { importPath, sketchName, err := determineBuildPathAndSketchName(importFile, importDir, sk) if err != nil { - return nil, &cmderrors.NotFoundError{Message: tr("Error finding build artifacts"), Cause: err} + return nil, &cmderrors.NotFoundError{Message: i18n.Tr("Error finding build artifacts"), Cause: err} } if !importPath.Exist() { - return nil, &cmderrors.NotFoundError{Message: tr("Compiled sketch not found in %s", importPath)} + return nil, &cmderrors.NotFoundError{Message: i18n.Tr("Compiled sketch not found in %s", importPath)} } if !importPath.IsDir() { - return nil, &cmderrors.NotFoundError{Message: tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} + return nil, &cmderrors.NotFoundError{Message: i18n.Tr("Expected compiled sketch in directory %s, but is a file instead", importPath)} } uploadProperties.SetPath("build.path", importPath) uploadProperties.Set("build.project_name", sketchName) @@ -492,20 +493,20 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, // if touch is requested but port is not specified, print a warning if touch && portToTouch == "" { - outStream.Write([]byte(fmt.Sprintln(tr("Skipping 1200-bps touch reset: no serial port selected!")))) + outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Skipping 1200-bps touch reset: no serial port selected!")))) } cb := &serialutils.ResetProgressCallbacks{ TouchingPort: func(portAddress string) { logrus.WithField("phase", "board reset").Infof("Performing 1200-bps touch reset on serial port %s", portAddress) if verbose { - outStream.Write([]byte(fmt.Sprintln(tr("Performing 1200-bps touch reset on serial port %s", portAddress)))) + outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Performing 1200-bps touch reset on serial port %s", portAddress)))) } }, WaitingForNewSerial: func() { logrus.WithField("phase", "board reset").Info("Waiting for upload port...") if verbose { - outStream.Write([]byte(fmt.Sprintln(tr("Waiting for upload port...")))) + outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Waiting for upload port...")))) } }, BootloaderPortFound: func(portAddress string) { @@ -516,9 +517,9 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, } if verbose { if portAddress != "" { - outStream.Write([]byte(fmt.Sprintln(tr("Upload port found on %s", portAddress)))) + outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Upload port found on %s", portAddress)))) } else { - outStream.Write([]byte(fmt.Sprintln(tr("No upload port found, using %s as fallback", actualPort.Address)))) + outStream.Write([]byte(fmt.Sprintln(i18n.Tr("No upload port found, using %s as fallback", actualPort.Address)))) } } }, @@ -528,7 +529,7 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, } if newPortAddress, err := serialutils.Reset(portToTouch, wait, dryRun, nil, cb); err != nil { - errStream.Write([]byte(fmt.Sprintln(tr("Cannot perform port reset: %s", err)))) + errStream.Write([]byte(fmt.Sprintln(i18n.Tr("Cannot perform port reset: %s", err)))) } else { if newPortAddress != "" { actualPort.Address = newPortAddress @@ -562,18 +563,18 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, toolEnv := pme.GetEnvVarsForSpawnedProcess() if burnBootloader { if err := runTool("erase.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &cmderrors.FailedUploadError{Message: tr("Failed chip erase"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed chip erase"), Cause: err} } if err := runTool("bootloader.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &cmderrors.FailedUploadError{Message: tr("Failed to burn bootloader"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed to burn bootloader"), Cause: err} } } else if programmer != nil { if err := runTool("program.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &cmderrors.FailedUploadError{Message: tr("Failed programming"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed programming"), Cause: err} } } else { if err := runTool("upload.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { - return nil, &cmderrors.FailedUploadError{Message: tr("Failed uploading"), Cause: err} + return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed uploading"), Cause: err} } } @@ -693,18 +694,18 @@ func detectUploadPort( func runTool(recipeID string, props *properties.Map, outStream, errStream io.Writer, verbose bool, dryRun bool, toolEnv []string) error { recipe, ok := props.GetOk(recipeID) if !ok { - return fmt.Errorf(tr("recipe not found '%s'"), recipeID) + return errors.New(i18n.Tr("recipe not found '%s'", recipeID)) } if strings.TrimSpace(recipe) == "" { return nil // Nothing to run } if props.IsPropertyMissingInExpandPropsInString("serial.port", recipe) || props.IsPropertyMissingInExpandPropsInString("serial.port.file", recipe) { - return fmt.Errorf(tr("no upload port provided")) + return errors.New(i18n.Tr("no upload port provided")) } cmdLine := props.ExpandPropsInString(recipe) cmdArgs, err := properties.SplitQuotedString(cmdLine, `"'`, false) if err != nil { - return fmt.Errorf(tr("invalid recipe '%[1]s': %[2]s"), recipe, err) + return errors.New(i18n.Tr("invalid recipe '%[1]s': %[2]s", recipe, err)) } // Run Tool @@ -717,18 +718,18 @@ func runTool(recipeID string, props *properties.Map, outStream, errStream io.Wri } cmd, err := paths.NewProcess(toolEnv, cmdArgs...) if err != nil { - return fmt.Errorf(tr("cannot execute upload tool: %s"), err) + return errors.New(i18n.Tr("cannot execute upload tool: %s", err)) } cmd.RedirectStdoutTo(outStream) cmd.RedirectStderrTo(errStream) if err := cmd.Start(); err != nil { - return fmt.Errorf(tr("cannot execute upload tool: %s"), err) + return errors.New(i18n.Tr("cannot execute upload tool: %s", err)) } if err := cmd.Wait(); err != nil { - return fmt.Errorf(tr("uploading error: %s"), err) + return errors.New(i18n.Tr("uploading error: %s", err)) } return nil @@ -750,7 +751,7 @@ func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sk // Case 1: importFile flag has been specified if importFile != "" { if importDir != "" { - return nil, "", fmt.Errorf(tr("%s and %s cannot be used together", "importFile", "importDir")) + return nil, "", errors.New(i18n.Tr("%s and %s cannot be used together", "importFile", "importDir")) } // We have a path like "path/to/my/build/SketchName.ino.bin". We are going to @@ -760,7 +761,7 @@ func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sk importFilePath := paths.New(importFile) if !importFilePath.Exist() { - return nil, "", fmt.Errorf(tr("binary file not found in %s"), importFilePath) + return nil, "", errors.New(i18n.Tr("binary file not found in %s", importFilePath)) } return importFilePath.Parent(), strings.TrimSuffix(importFilePath.Base(), importFilePath.Ext()), nil } @@ -775,14 +776,14 @@ func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sk buildPath := paths.New(importDir) sketchName, err := detectSketchNameFromBuildPath(buildPath) if err != nil { - return nil, "", fmt.Errorf("%s: %w", tr("looking for build artifacts"), err) + return nil, "", fmt.Errorf("%s: %w", i18n.Tr("looking for build artifacts"), err) } return buildPath, sketchName, nil } // Case 3: nothing given... if sk == nil { - return nil, "", errors.New(tr("no sketch or build directory/file specified")) + return nil, "", errors.New(i18n.Tr("no sketch or build directory/file specified")) } // Case 4: only sketch specified. In this case we use the generated build path @@ -827,12 +828,12 @@ func detectSketchNameFromBuildPath(buildPath *paths.Path) (string, error) { } if candidateName != name { - return "", errors.New(tr("multiple build artifacts found: '%[1]s' and '%[2]s'", candidateFile, file)) + return "", errors.New(i18n.Tr("multiple build artifacts found: '%[1]s' and '%[2]s'", candidateFile, file)) } } if candidateName == "" { - return "", errors.New(tr("could not find a valid build artifact")) + return "", errors.New(i18n.Tr("could not find a valid build artifact")) } return candidateName, nil } diff --git a/internal/arduino/builder/archive_compiled_files.go b/internal/arduino/builder/archive_compiled_files.go index dc43d82ac87..ed87225e2ff 100644 --- a/internal/arduino/builder/archive_compiled_files.go +++ b/internal/arduino/builder/archive_compiled_files.go @@ -16,6 +16,7 @@ package builder import ( + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) @@ -23,7 +24,7 @@ import ( func (b *Builder) archiveCompiledFiles(archiveFilePath *paths.Path, objectFilesToArchive paths.PathList) (*paths.Path, error) { if b.onlyUpdateCompilationDatabase { if b.logger.Verbose() { - b.logger.Info(tr("Skipping archive creation of: %[1]s", archiveFilePath)) + b.logger.Info(i18n.Tr("Skipping archive creation of: %[1]s", archiveFilePath)) } return archiveFilePath, nil } @@ -46,7 +47,7 @@ func (b *Builder) archiveCompiledFiles(archiveFilePath *paths.Path, objectFilesT } } else { if b.logger.Verbose() { - b.logger.Info(tr("Using previously compiled file: %[1]s", archiveFilePath)) + b.logger.Info(i18n.Tr("Using previously compiled file: %[1]s", archiveFilePath)) } return archiveFilePath, nil } diff --git a/internal/arduino/builder/build_options_manager.go b/internal/arduino/builder/build_options_manager.go index 31f7d6ffc07..09f0afad815 100644 --- a/internal/arduino/builder/build_options_manager.go +++ b/internal/arduino/builder/build_options_manager.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" ) @@ -107,10 +108,10 @@ func (b *Builder) wipeBuildPath() error { // control when this should be printed. // logger.Println(constants.LOG_LEVEL_INFO, constants.MSG_BUILD_OPTIONS_CHANGED + constants.MSG_REBUILD_ALL) if err := b.buildOptions.buildPath.RemoveAll(); err != nil { - return fmt.Errorf("%s: %w", tr("cleaning build path"), err) + return fmt.Errorf("%s: %w", i18n.Tr("cleaning build path"), err) } if err := b.buildOptions.buildPath.MkdirAll(); err != nil { - return fmt.Errorf("%s: %w", tr("cleaning build path"), err) + return fmt.Errorf("%s: %w", i18n.Tr("cleaning build path"), err) } return nil } @@ -136,7 +137,7 @@ func (b *Builder) wipeBuildPathIfBuildOptionsChanged() error { var prevOpts *properties.Map if err := json.Unmarshal(buildOptionsJSONPrevious, &prevOpts); err != nil || prevOpts == nil { - b.logger.Info(tr("%[1]s invalid, rebuilding all", "build.options.json")) + b.logger.Info(i18n.Tr("%[1]s invalid, rebuilding all", "build.options.json")) return b.wipeBuildPath() } diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 1727556b846..d5ab7b35135 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -34,6 +34,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -306,7 +307,7 @@ func (b *Builder) preprocess() error { } b.Progress.CompleteStep() - b.logIfVerbose(false, tr("Detecting libraries used...")) + b.logIfVerbose(false, i18n.Tr("Detecting libraries used...")) err := b.libsDetector.FindIncludes( b.ctx, b.buildPath, @@ -326,7 +327,7 @@ func (b *Builder) preprocess() error { b.warnAboutArchIncompatibleLibraries(b.libsDetector.ImportedLibraries()) b.Progress.CompleteStep() - b.logIfVerbose(false, tr("Generating function prototypes...")) + b.logIfVerbose(false, i18n.Tr("Generating function prototypes...")) if err := b.preprocessSketch(b.libsDetector.IncludeFolders()); err != nil { return err } @@ -378,7 +379,7 @@ func (b *Builder) Build() error { // Build fixdoc func (b *Builder) build() error { - b.logIfVerbose(false, tr("Compiling sketch...")) + b.logIfVerbose(false, i18n.Tr("Compiling sketch...")) if err := b.RunRecipe("recipe.hooks.sketch.prebuild", ".pattern", false); err != nil { return err } @@ -394,7 +395,7 @@ func (b *Builder) build() error { } b.Progress.CompleteStep() - b.logIfVerbose(false, tr("Compiling libraries...")) + b.logIfVerbose(false, i18n.Tr("Compiling libraries...")) if err := b.RunRecipe("recipe.hooks.libraries.prebuild", ".pattern", false); err != nil { return err } @@ -415,7 +416,7 @@ func (b *Builder) build() error { } b.Progress.CompleteStep() - b.logIfVerbose(false, tr("Compiling core...")) + b.logIfVerbose(false, i18n.Tr("Compiling core...")) if err := b.RunRecipe("recipe.hooks.core.prebuild", ".pattern", false); err != nil { return err } @@ -431,7 +432,7 @@ func (b *Builder) build() error { } b.Progress.CompleteStep() - b.logIfVerbose(false, tr("Linking everything together...")) + b.logIfVerbose(false, i18n.Tr("Linking everything together...")) if err := b.RunRecipe("recipe.hooks.linking.prelink", ".pattern", false); err != nil { return err } @@ -481,7 +482,7 @@ func (b *Builder) build() error { func (b *Builder) prepareCommandForRecipe(buildProperties *properties.Map, recipe string, removeUnsetProperties bool) (*paths.Process, error) { pattern := buildProperties.Get(recipe) if pattern == "" { - return nil, fmt.Errorf(tr("%[1]s pattern is missing"), recipe) + return nil, errors.New(i18n.Tr("%[1]s pattern is missing", recipe)) } commandLine := buildProperties.ExpandPropsInString(pattern) diff --git a/internal/arduino/builder/compilation.go b/internal/arduino/builder/compilation.go index 69fa1c7974b..d3a1459da25 100644 --- a/internal/arduino/builder/compilation.go +++ b/internal/arduino/builder/compilation.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) @@ -177,9 +178,9 @@ func (b *Builder) compileFileWithRecipe( } } else if b.logger.Verbose() { if objIsUpToDate { - b.logger.Info(tr("Using previously compiled file: %[1]s", objectFile)) + b.logger.Info(i18n.Tr("Using previously compiled file: %[1]s", objectFile)) } else { - b.logger.Info(tr("Skipping compile of: %[1]s", objectFile)) + b.logger.Info(i18n.Tr("Skipping compile of: %[1]s", objectFile)) } } diff --git a/internal/arduino/builder/core.go b/internal/arduino/builder/core.go index 78bedc18d5f..f19169f8990 100644 --- a/internal/arduino/builder/core.go +++ b/internal/arduino/builder/core.go @@ -19,7 +19,6 @@ import ( "crypto/md5" "encoding/hex" "errors" - "fmt" "os" "strings" @@ -27,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/internal/buildcache" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) @@ -38,8 +38,8 @@ func (b *Builder) buildCore() error { if b.coreBuildCachePath != nil { if _, err := b.coreBuildCachePath.RelTo(b.buildPath); err != nil { - b.logger.Info(tr("Couldn't deeply cache core build: %[1]s", err)) - b.logger.Info(tr("Running normal build of the core...")) + b.logger.Info(i18n.Tr("Couldn't deeply cache core build: %[1]s", err)) + b.logger.Info(i18n.Tr("Running normal build of the core...")) // TODO decide if we want to override this or not. (It's only used by the // compileCore function). b.coreBuildCachePath = nil @@ -92,7 +92,7 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { targetArchivedCore = b.coreBuildCachePath.Join(archivedCoreName, "core.a") if _, err := buildcache.New(b.coreBuildCachePath).GetOrCreate(archivedCoreName); errors.Is(err, buildcache.CreateDirErr) { - return nil, nil, fmt.Errorf(tr("creating core cache folder: %s", err)) + return nil, nil, errors.New(i18n.Tr("creating core cache folder: %s", err)) } var canUseArchivedCore bool @@ -113,7 +113,7 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { if canUseArchivedCore { // use archived core if b.logger.Verbose() { - b.logger.Info(tr("Using precompiled core: %[1]s", targetArchivedCore)) + b.logger.Info(i18n.Tr("Using precompiled core: %[1]s", targetArchivedCore)) } return targetArchivedCore, variantObjectFiles, nil } @@ -138,13 +138,13 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { err := archiveFile.CopyTo(targetArchivedCore) if b.logger.Verbose() { if err == nil { - b.logger.Info(tr("Archiving built core (caching) in: %[1]s", targetArchivedCore)) + b.logger.Info(i18n.Tr("Archiving built core (caching) in: %[1]s", targetArchivedCore)) } else if os.IsNotExist(err) { - b.logger.Info(tr("Unable to cache built core, please tell %[1]s maintainers to follow %[2]s", + b.logger.Info(i18n.Tr("Unable to cache built core, please tell %[1]s maintainers to follow %[2]s", b.actualPlatform, "https://arduino.github.io/arduino-cli/latest/platform-specification/#recipes-to-build-the-corea-archive-file")) } else { - b.logger.Info(tr("Error archiving built core (caching) in %[1]s: %[2]s", targetArchivedCore, err)) + b.logger.Info(i18n.Tr("Error archiving built core (caching) in %[1]s: %[2]s", targetArchivedCore, err)) } } } diff --git a/internal/arduino/builder/internal/compilation/database.go b/internal/arduino/builder/internal/compilation/database.go index 9498b5a9e81..3d20d277fab 100644 --- a/internal/arduino/builder/internal/compilation/database.go +++ b/internal/arduino/builder/internal/compilation/database.go @@ -25,8 +25,6 @@ import ( "github.com/arduino/go-paths-helper" ) -var tr = i18n.Tr - // Database keeps track of all the compile commands run by the builder type Database struct { lock sync.Mutex @@ -66,10 +64,10 @@ func (db *Database) SaveToFile() { db.lock.Lock() defer db.lock.Unlock() if jsonContents, err := json.MarshalIndent(db.contents, "", " "); err != nil { - fmt.Println(tr("Error serializing compilation database: %s", err)) + fmt.Println(i18n.Tr("Error serializing compilation database: %s", err)) return } else if err := db.file.WriteFile(jsonContents); err != nil { - fmt.Println(tr("Error writing compilation database: %s", err)) + fmt.Println(i18n.Tr("Error writing compilation database: %s", err)) } } @@ -81,7 +79,7 @@ func (db *Database) Add(target *paths.Path, command *paths.Process) { // current directory otherwise dir, err := os.Getwd() if err != nil { - fmt.Println(tr("Error getting current directory for compilation database: %s", err)) + fmt.Println(i18n.Tr("Error getting current directory for compilation database: %s", err)) } commandDir = dir } diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index 8f9a305cea4..17de9377833 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -42,8 +42,6 @@ import ( "github.com/arduino/go-properties-orderedmap" ) -var tr = i18n.Tr - type libraryResolutionResult struct { Library *libraries.Library NotUsedLibraries []*libraries.Library @@ -90,9 +88,9 @@ func (l *SketchLibrariesDetector) resolveLibrary(header, platformArch string) *l candidates := l.librariesResolver.AlternativesFor(header) if l.logger.Verbose() { - l.logger.Info(tr("Alternatives for %[1]s: %[2]s", header, candidates)) + l.logger.Info(i18n.Tr("Alternatives for %[1]s: %[2]s", header, candidates)) l.logger.Info(fmt.Sprintf("ResolveLibrary(%s)", header)) - l.logger.Info(fmt.Sprintf(" -> %s: %s", tr("candidates"), candidates)) + l.logger.Info(fmt.Sprintf(" -> %s: %s", i18n.Tr("candidates"), candidates)) } if len(candidates) == 0 { @@ -155,10 +153,10 @@ func (l *SketchLibrariesDetector) PrintUsedAndNotUsedLibraries(sketchError bool) if len(libResResult.NotUsedLibraries) == 0 { continue } - res += fmt.Sprintln(tr(`Multiple libraries were found for "%[1]s"`, header)) - res += fmt.Sprintln(" " + tr("Used: %[1]s", libResResult.Library.InstallDir)) + res += fmt.Sprintln(i18n.Tr(`Multiple libraries were found for "%[1]s"`, header)) + res += fmt.Sprintln(" " + i18n.Tr("Used: %[1]s", libResResult.Library.InstallDir)) for _, notUsedLibrary := range libResResult.NotUsedLibraries { - res += fmt.Sprintln(" " + tr("Not used: %[1]s", notUsedLibrary.InstallDir)) + res += fmt.Sprintln(" " + i18n.Tr("Not used: %[1]s", notUsedLibrary.InstallDir)) } } res = strings.TrimSpace(res) @@ -212,8 +210,8 @@ func (l *SketchLibrariesDetector) FindIncludes( l.logger.Info( fmt.Sprintf( "%s: %s", - tr("An error occurred detecting libraries"), - tr("the compilation database may be incomplete or inaccurate"), + i18n.Tr("An error occurred detecting libraries"), + i18n.Tr("the compilation database may be incomplete or inaccurate"), ), ) return nil @@ -350,7 +348,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( if unchanged && cache.valid { missingIncludeH = cache.Next().Include if first && l.logger.Verbose() { - l.logger.Info(tr("Using cached library dependencies for file: %[1]s", sourcePath)) + l.logger.Info(i18n.Tr("Using cached library dependencies for file: %[1]s", sourcePath)) } } else { preprocFirstResult, preprocErr = preprocessor.GCC(ctx, sourcePath, targetFilePath, includeFolders, buildProperties) @@ -368,7 +366,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( } else { missingIncludeH = IncludesFinderWithRegExp(string(preprocFirstResult.Stderr())) if missingIncludeH == "" && l.logger.Verbose() { - l.logger.Info(tr("Error while detecting libraries included by %[1]s", sourcePath)) + l.logger.Info(i18n.Tr("Error while detecting libraries included by %[1]s", sourcePath)) } } } @@ -393,7 +391,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( // gcc does not reproduce that, there is something wrong. // Returning an error here will cause the cache to be // deleted, so hopefully the next compilation will succeed. - return errors.New(tr("Internal error in cache")) + return errors.New(i18n.Tr("Internal error in cache")) } l.diagnosticStore.Parse(result.Args(), result.Stderr()) l.logger.WriteStderr(result.Stderr()) @@ -413,7 +411,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( if library.Precompiled && library.PrecompiledWithSources { // Fully precompiled libraries should have no dependencies to avoid ABI breakage if l.logger.Verbose() { - l.logger.Info(tr("Skipping dependencies detection for precompiled library %[1]s", library.Name)) + l.logger.Info(i18n.Tr("Skipping dependencies detection for precompiled library %[1]s", library.Name)) } } else { for _, sourceDir := range library.SourceDirs() { @@ -461,16 +459,16 @@ func (l *SketchLibrariesDetector) failIfImportedLibraryIsWrong() error { for _, library := range l.importedLibraries { if !library.IsLegacy { if library.InstallDir.Join("arch").IsDir() { - return errors.New(tr("%[1]s folder is no longer supported! See %[2]s for more information", "'arch'", "http://goo.gl/gfFJzU")) + return errors.New(i18n.Tr("%[1]s folder is no longer supported! See %[2]s for more information", "'arch'", "http://goo.gl/gfFJzU")) } for _, propName := range libraries.MandatoryProperties { if !library.Properties.ContainsKey(propName) { - return errors.New(tr("Missing '%[1]s' from library in %[2]s", propName, library.InstallDir)) + return errors.New(i18n.Tr("Missing '%[1]s' from library in %[2]s", propName, library.InstallDir)) } } if library.Layout == libraries.RecursiveLayout { if library.UtilityDir != nil { - return errors.New(tr("Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'.", "src", "utility", library.InstallDir)) + return errors.New(i18n.Tr("Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'.", "src", "utility", library.InstallDir)) } } } diff --git a/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go index 399ca34f742..deabc04c4f0 100644 --- a/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go +++ b/internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" ) @@ -60,7 +61,7 @@ func PreprocessSketchWithArduinoPreprocessor( arduiniPreprocessorProperties.SetPath("source_file", targetFile) pattern := arduiniPreprocessorProperties.Get("pattern") if pattern == "" { - return nil, errors.New(tr("arduino-preprocessor pattern is missing")) + return nil, errors.New(i18n.Tr("arduino-preprocessor pattern is missing")) } commandLine := arduiniPreprocessorProperties.ExpandPropsInString(pattern) diff --git a/internal/arduino/builder/internal/preprocessor/ctags.go b/internal/arduino/builder/internal/preprocessor/ctags.go index 73b60f80c49..fe36cfc89e5 100644 --- a/internal/arduino/builder/internal/preprocessor/ctags.go +++ b/internal/arduino/builder/internal/preprocessor/ctags.go @@ -33,8 +33,6 @@ import ( "github.com/arduino/go-properties-orderedmap" ) -var tr = i18n.Tr - // DebugPreprocessor when set to true the CTags preprocessor will output debugging info to stdout // this is useful for unit-testing to provide more infos var DebugPreprocessor bool @@ -68,8 +66,8 @@ func PreprocessSketchWithCtags( // Do not bail out if we are generating the compile commands database stderr.WriteString(fmt.Sprintf("%s: %s", - tr("An error occurred adding prototypes"), - tr("the compilation database may be incomplete or inaccurate"))) + i18n.Tr("An error occurred adding prototypes"), + i18n.Tr("the compilation database may be incomplete or inaccurate"))) if err := sourceFile.CopyTo(ctagsTarget); err != nil { return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } @@ -191,7 +189,7 @@ func RunCTags(ctx context.Context, sourceFile *paths.Path, buildProperties *prop pattern := ctagsBuildProperties.Get("pattern") if pattern == "" { - return nil, nil, errors.New(tr("%s pattern is missing", "ctags")) + return nil, nil, errors.New(i18n.Tr("%s pattern is missing", "ctags")) } commandLine := ctagsBuildProperties.ExpandPropsInString(pattern) diff --git a/internal/arduino/builder/internal/preprocessor/gcc.go b/internal/arduino/builder/internal/preprocessor/gcc.go index f97426c2df8..bfcc9512e0c 100644 --- a/internal/arduino/builder/internal/preprocessor/gcc.go +++ b/internal/arduino/builder/internal/preprocessor/gcc.go @@ -23,6 +23,7 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" ) @@ -58,7 +59,7 @@ func GCC( pattern := gccBuildProperties.Get(gccPreprocRecipeProperty) if pattern == "" { - return Result{}, errors.New(tr("%s pattern is missing", gccPreprocRecipeProperty)) + return Result{}, errors.New(i18n.Tr("%s pattern is missing", gccPreprocRecipeProperty)) } commandLine := gccBuildProperties.ExpandPropsInString(pattern) diff --git a/internal/arduino/builder/libraries.go b/internal/arduino/builder/libraries.go index e1df2fd64cd..f5648a09596 100644 --- a/internal/arduino/builder/libraries.go +++ b/internal/arduino/builder/libraries.go @@ -23,6 +23,7 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/arduino/libraries" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" ) @@ -87,25 +88,25 @@ func (b *Builder) findExpectedPrecompiledLibFolder( } } - b.logger.Info(tr("Library %[1]s has been declared precompiled:", library.Name)) + b.logger.Info(i18n.Tr("Library %[1]s has been declared precompiled:", library.Name)) // Try directory with full fpuSpecs first, if available if len(fpuSpecs) > 0 { fpuSpecs = strings.TrimRight(fpuSpecs, "-") fullPrecompDir := library.SourceDir.Join(mcu).Join(fpuSpecs) if fullPrecompDir.Exist() && directoryContainsFile(fullPrecompDir) { - b.logger.Info(tr("Using precompiled library in %[1]s", fullPrecompDir)) + b.logger.Info(i18n.Tr("Using precompiled library in %[1]s", fullPrecompDir)) return fullPrecompDir } - b.logger.Info(tr(`Precompiled library in "%[1]s" not found`, fullPrecompDir)) + b.logger.Info(i18n.Tr(`Precompiled library in "%[1]s" not found`, fullPrecompDir)) } precompDir := library.SourceDir.Join(mcu) if precompDir.Exist() && directoryContainsFile(precompDir) { - b.logger.Info(tr("Using precompiled library in %[1]s", precompDir)) + b.logger.Info(i18n.Tr("Using precompiled library in %[1]s", precompDir)) return precompDir } - b.logger.Info(tr(`Precompiled library in "%[1]s" not found`, precompDir)) + b.logger.Info(i18n.Tr(`Precompiled library in "%[1]s" not found`, precompDir)) return nil } @@ -129,7 +130,7 @@ func (b *Builder) compileLibraries(libraries libraries.List, includes []string) func (b *Builder) compileLibrary(library *libraries.Library, includes []string) (paths.PathList, error) { if b.logger.Verbose() { - b.logger.Info(tr(`Compiling library "%[1]s"`, library.Name)) + b.logger.Info(i18n.Tr(`Compiling library "%[1]s"`, library.Name)) } libraryBuildPath := b.librariesBuildPath.Join(library.DirName) @@ -147,7 +148,7 @@ func (b *Builder) compileLibrary(library *libraries.Library, includes []string) ) if !coreSupportPrecompiled { - b.logger.Info(tr("The platform does not support '%[1]s' for precompiled libraries.", "compiler.libraries.ldflags")) + b.logger.Info(i18n.Tr("The platform does not support '%[1]s' for precompiled libraries.", "compiler.libraries.ldflags")) } else if precompiledPath != nil { // Find all libraries in precompiledPath libs, err := precompiledPath.ReadDir() @@ -279,7 +280,7 @@ func (b *Builder) warnAboutArchIncompatibleLibraries(importedLibraries libraries for _, importedLibrary := range importedLibraries { if !importedLibrary.SupportsAnyArchitectureIn(archs...) { b.logger.Info( - tr("WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be incompatible with your current board which runs on %[3]s architecture(s).", + i18n.Tr("WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be incompatible with your current board which runs on %[3]s architecture(s).", importedLibrary.Name, strings.Join(importedLibrary.Architectures, ", "), strings.Join(archs, ", "))) @@ -298,17 +299,17 @@ func (b *Builder) printUsedLibraries(importedLibraries libraries.List) { for _, library := range importedLibraries { legacy := "" if library.IsLegacy { - legacy = tr("(legacy)") + legacy = i18n.Tr("(legacy)") } if library.Version.String() == "" { b.logger.Info( - tr("Using library %[1]s in folder: %[2]s %[3]s", + i18n.Tr("Using library %[1]s in folder: %[2]s %[3]s", library.Name, library.InstallDir, legacy)) } else { b.logger.Info( - tr("Using library %[1]s at version %[2]s in folder: %[3]s %[4]s", + i18n.Tr("Using library %[1]s at version %[2]s in folder: %[3]s %[4]s", library.Name, library.Version, library.InstallDir, diff --git a/internal/arduino/builder/linker.go b/internal/arduino/builder/linker.go index c991778336d..e7d91811890 100644 --- a/internal/arduino/builder/linker.go +++ b/internal/arduino/builder/linker.go @@ -19,6 +19,7 @@ import ( "strings" f "github.com/arduino/arduino-cli/internal/algorithms" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) @@ -26,7 +27,7 @@ import ( func (b *Builder) link() error { if b.onlyUpdateCompilationDatabase { if b.logger.Verbose() { - b.logger.Info(tr("Skip linking of final executable.")) + b.logger.Info(i18n.Tr("Skip linking of final executable.")) } return nil } diff --git a/internal/arduino/builder/recipe.go b/internal/arduino/builder/recipe.go index 742b4484682..5e71010c32c 100644 --- a/internal/arduino/builder/recipe.go +++ b/internal/arduino/builder/recipe.go @@ -20,6 +20,7 @@ import ( "sort" "strings" + "github.com/arduino/arduino-cli/internal/i18n" properties "github.com/arduino/go-properties-orderedmap" "github.com/sirupsen/logrus" ) @@ -44,7 +45,7 @@ func (b *Builder) RunRecipe(prefix, suffix string, skipIfOnlyUpdatingCompilation if b.onlyUpdateCompilationDatabase && skipIfOnlyUpdatingCompilationDatabase { if b.logger.Verbose() { - b.logger.Info(tr("Skipping: %[1]s", strings.Join(command.GetArgs(), " "))) + b.logger.Info(i18n.Tr("Skipping: %[1]s", strings.Join(command.GetArgs(), " "))) } return nil } diff --git a/internal/arduino/builder/sizer.go b/internal/arduino/builder/sizer.go index 5814ba3ff4e..84cf8012a32 100644 --- a/internal/arduino/builder/sizer.go +++ b/internal/arduino/builder/sizer.go @@ -24,6 +24,7 @@ import ( "strconv" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" ) @@ -75,7 +76,7 @@ func (b *Builder) size() error { func (b *Builder) checkSizeAdvanced() (ExecutablesFileSections, error) { command, err := b.prepareCommandForRecipe(b.buildProperties, "recipe.advanced_size.pattern", false) if err != nil { - return nil, errors.New(tr("Error while determining sketch size: %s", err)) + return nil, errors.New(i18n.Tr("Error while determining sketch size: %s", err)) } if b.logger.Verbose() { b.logger.Info(utils.PrintableCommand(command.GetArgs())) @@ -84,10 +85,10 @@ func (b *Builder) checkSizeAdvanced() (ExecutablesFileSections, error) { command.RedirectStdoutTo(out) command.RedirectStderrTo(b.logger.Stderr()) if err := command.Start(); err != nil { - return nil, errors.New(tr("Error while determining sketch size: %s", err)) + return nil, errors.New(i18n.Tr("Error while determining sketch size: %s", err)) } if err := command.Wait(); err != nil { - return nil, errors.New(tr("Error while determining sketch size: %s", err)) + return nil, errors.New(i18n.Tr("Error while determining sketch size: %s", err)) } type AdvancedSizerResponse struct { @@ -106,7 +107,7 @@ func (b *Builder) checkSizeAdvanced() (ExecutablesFileSections, error) { var resp AdvancedSizerResponse if err := json.Unmarshal(out.Bytes(), &resp); err != nil { - return nil, errors.New(tr("Error while determining sketch size: %s", err)) + return nil, errors.New(i18n.Tr("Error while determining sketch size: %s", err)) } executableSectionsSize := resp.Sections @@ -150,23 +151,23 @@ func (b *Builder) checkSize() (ExecutablesFileSections, error) { textSize, dataSize, _, err := b.execSizeRecipe(properties) if err != nil { - b.logger.Warn(tr("Couldn't determine program size")) + b.logger.Warn(i18n.Tr("Couldn't determine program size")) return nil, nil } - b.logger.Info(tr("Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s bytes.", + b.logger.Info(i18n.Tr("Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s bytes.", strconv.Itoa(textSize), strconv.Itoa(maxTextSize), strconv.Itoa(textSize*100/maxTextSize))) if dataSize >= 0 { if maxDataSize > 0 { - b.logger.Info(tr("Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s bytes for local variables. Maximum is %[2]s bytes.", + b.logger.Info(i18n.Tr("Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s bytes for local variables. Maximum is %[2]s bytes.", strconv.Itoa(dataSize), strconv.Itoa(maxDataSize), strconv.Itoa(dataSize*100/maxDataSize), strconv.Itoa(maxDataSize-dataSize))) } else { - b.logger.Info(tr("Global variables use %[1]s bytes of dynamic memory.", strconv.Itoa(dataSize))) + b.logger.Info(i18n.Tr("Global variables use %[1]s bytes of dynamic memory.", strconv.Itoa(dataSize))) } } @@ -186,13 +187,13 @@ func (b *Builder) checkSize() (ExecutablesFileSections, error) { } if textSize > maxTextSize { - b.logger.Warn(tr("Sketch too big; see %[1]s for tips on reducing it.", "https://support.arduino.cc/hc/en-us/articles/360013825179")) - return executableSectionsSize, errors.New(tr("text section exceeds available space in board")) + b.logger.Warn(i18n.Tr("Sketch too big; see %[1]s for tips on reducing it.", "https://support.arduino.cc/hc/en-us/articles/360013825179")) + return executableSectionsSize, errors.New(i18n.Tr("text section exceeds available space in board")) } if maxDataSize > 0 && dataSize > maxDataSize { - b.logger.Warn(tr("Not enough memory; see %[1]s for tips on reducing your footprint.", "https://support.arduino.cc/hc/en-us/articles/360013825179")) - return executableSectionsSize, errors.New(tr("data section exceeds available space in board")) + b.logger.Warn(i18n.Tr("Not enough memory; see %[1]s for tips on reducing your footprint.", "https://support.arduino.cc/hc/en-us/articles/360013825179")) + return executableSectionsSize, errors.New(i18n.Tr("data section exceeds available space in board")) } if w := properties.Get("build.warn_data_percentage"); w != "" { @@ -201,7 +202,7 @@ func (b *Builder) checkSize() (ExecutablesFileSections, error) { return executableSectionsSize, err } if maxDataSize > 0 && dataSize > maxDataSize*warnDataPercentage/100 { - b.logger.Warn(tr("Low memory available, stability problems may occur.")) + b.logger.Warn(i18n.Tr("Low memory available, stability problems may occur.")) } } @@ -211,7 +212,7 @@ func (b *Builder) checkSize() (ExecutablesFileSections, error) { func (b *Builder) execSizeRecipe(properties *properties.Map) (textSize int, dataSize int, eepromSize int, resErr error) { command, err := b.prepareCommandForRecipe(properties, "recipe.size.pattern", false) if err != nil { - resErr = fmt.Errorf(tr("Error while determining sketch size: %s"), err) + resErr = errors.New(i18n.Tr("Error while determining sketch size: %s", err)) return } if b.logger.Verbose() { @@ -221,11 +222,11 @@ func (b *Builder) execSizeRecipe(properties *properties.Map) (textSize int, data command.RedirectStdoutTo(commandStdout) command.RedirectStderrTo(b.logger.Stderr()) if err := command.Start(); err != nil { - resErr = fmt.Errorf(tr("Error while determining sketch size: %s"), err) + resErr = errors.New(i18n.Tr("Error while determining sketch size: %s", err)) return } if err := command.Wait(); err != nil { - resErr = fmt.Errorf(tr("Error while determining sketch size: %s"), err) + resErr = errors.New(i18n.Tr("Error while determining sketch size: %s", err)) return } @@ -236,23 +237,23 @@ func (b *Builder) execSizeRecipe(properties *properties.Map) (textSize int, data textSize, err = computeSize(properties.Get("recipe.size.regex"), out) if err != nil { - resErr = fmt.Errorf(tr("Invalid size regexp: %s"), err) + resErr = errors.New(i18n.Tr("Invalid size regexp: %s", err)) return } if textSize == -1 { - resErr = errors.New(tr("Missing size regexp")) + resErr = errors.New(i18n.Tr("Missing size regexp")) return } dataSize, err = computeSize(properties.Get("recipe.size.regex.data"), out) if err != nil { - resErr = fmt.Errorf(tr("Invalid data size regexp: %s"), err) + resErr = errors.New(i18n.Tr("Invalid data size regexp: %s", err)) return } eepromSize, err = computeSize(properties.Get("recipe.size.regex.eeprom"), out) if err != nil { - resErr = fmt.Errorf(tr("Invalid eeprom size regexp: %s"), err) + resErr = errors.New(i18n.Tr("Invalid eeprom size regexp: %s", err)) return } diff --git a/internal/arduino/builder/sketch.go b/internal/arduino/builder/sketch.go index 7f058dc7d38..1dda735138f 100644 --- a/internal/arduino/builder/sketch.go +++ b/internal/arduino/builder/sketch.go @@ -33,7 +33,6 @@ import ( var ( includesArduinoH = regexp.MustCompile(`(?m)^\s*#\s*include\s*[<\"]Arduino\.h[>\"]`) - tr = i18n.Tr ) // prepareSketchBuildPath copies the sketch source files in the build path. @@ -41,7 +40,7 @@ var ( // .cpp file still needs to be Arduino-preprocessed to compile). func (b *Builder) prepareSketchBuildPath() error { if err := b.sketchBuildPath.MkdirAll(); err != nil { - return fmt.Errorf("%s: %w", tr("unable to create a folder to save the sketch"), err) + return fmt.Errorf("%s: %w", i18n.Tr("unable to create a folder to save the sketch"), err) } offset, mergedSource, err := b.sketchMergeSources(b.sourceOverrides) @@ -72,14 +71,14 @@ func (b *Builder) sketchMergeSources(overrides map[string]string) (int, string, getSource := func(f *paths.Path) (string, error) { path, err := b.sketch.FullPath.RelTo(f) if err != nil { - return "", fmt.Errorf("%s: %w", tr("unable to compute relative path to the sketch for the item"), err) + return "", fmt.Errorf("%s: %w", i18n.Tr("unable to compute relative path to the sketch for the item"), err) } if override, ok := overrides[path.String()]; ok { return override, nil } data, err := f.ReadFile() if err != nil { - return "", fmt.Errorf(tr("reading file %[1]s: %[2]s"), f, err) + return "", errors.New(i18n.Tr("reading file %[1]s: %[2]s", f, err)) } return string(data), nil } @@ -116,13 +115,13 @@ func (b *Builder) sketchCopyAdditionalFiles(buildPath *paths.Path, overrides map for _, file := range b.sketch.AdditionalFiles { relpath, err := b.sketch.FullPath.RelTo(file) if err != nil { - return fmt.Errorf("%s: %w", tr("unable to compute relative path to the sketch for the item"), err) + return fmt.Errorf("%s: %w", i18n.Tr("unable to compute relative path to the sketch for the item"), err) } targetPath := buildPath.JoinPath(relpath) // create the directory containing the target if err = targetPath.Parent().MkdirAll(); err != nil { - return fmt.Errorf("%s: %w", tr("unable to create the folder containing the item"), err) + return fmt.Errorf("%s: %w", i18n.Tr("unable to create the folder containing the item"), err) } var sourceBytes []byte @@ -133,7 +132,7 @@ func (b *Builder) sketchCopyAdditionalFiles(buildPath *paths.Path, overrides map // read the source file s, err := file.ReadFile() if err != nil { - return fmt.Errorf("%s: %w", tr("unable to read contents of the source item"), err) + return fmt.Errorf("%s: %w", i18n.Tr("unable to read contents of the source item"), err) } sourceBytes = s } @@ -143,7 +142,7 @@ func (b *Builder) sketchCopyAdditionalFiles(buildPath *paths.Path, overrides map err = writeIfDifferent(sourceBytes, targetPath) if err != nil { - return fmt.Errorf("%s: %w", tr("unable to write to destination file"), err) + return fmt.Errorf("%s: %w", i18n.Tr("unable to write to destination file"), err) } } @@ -160,7 +159,7 @@ func writeIfDifferent(source []byte, destPath *paths.Path) error { // Read the destination file if it exists existingBytes, err := destPath.ReadFile() if err != nil { - return fmt.Errorf("%s: %w", tr("unable to read contents of the destination item"), err) + return fmt.Errorf("%s: %w", i18n.Tr("unable to read contents of the destination item"), err) } // Overwrite if contents are different @@ -241,7 +240,7 @@ func (b *Builder) mergeSketchWithBootloader() error { bootloaderPath := b.buildProperties.GetPath("runtime.platform.path").Join("bootloaders", bootloader) if bootloaderPath.NotExist() { if b.logger.Verbose() { - b.logger.Warn(tr("Bootloader file specified but missing: %[1]s", bootloaderPath)) + b.logger.Warn(i18n.Tr("Bootloader file specified but missing: %[1]s", bootloaderPath)) } return nil } diff --git a/internal/arduino/cores/board.go b/internal/arduino/cores/board.go index 312a3b81e76..ed1aa9c68b5 100644 --- a/internal/arduino/cores/board.go +++ b/internal/arduino/cores/board.go @@ -16,10 +16,11 @@ package cores import ( - "fmt" + "errors" "strings" "sync" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-properties-orderedmap" ) @@ -139,14 +140,14 @@ func (b *Board) GetBuildProperties(fqbn *FQBN) (*properties.Map, error) { // Check for residual invalid options... for option, value := range config.AsMap() { if option == "" { - return nil, fmt.Errorf(tr("invalid empty option found")) + return nil, errors.New(i18n.Tr("invalid empty option found")) } if _, ok := b.configOptions.GetOk(option); !ok { - return nil, fmt.Errorf(tr("invalid option '%s'"), option) + return nil, errors.New(i18n.Tr("invalid option '%s'", option)) } optionsConf, ok := b.configOptionProperties[option+"="+value] if !ok { - return nil, fmt.Errorf(tr("invalid value '%[1]s' for option '%[2]s'"), value, option) + return nil, errors.New(i18n.Tr("invalid value '%[1]s' for option '%[2]s'", value, option)) } buildProperties.Merge(optionsConf) } @@ -162,7 +163,7 @@ func (b *Board) GetBuildProperties(fqbn *FQBN) (*properties.Map, error) { func (b *Board) GeneratePropertiesForConfiguration(config string) (*properties.Map, error) { fqbn, err := ParseFQBN(b.String() + ":" + config) if err != nil { - return nil, fmt.Errorf(tr("parsing fqbn: %s"), err) + return nil, errors.New(i18n.Tr("parsing fqbn: %s", err)) } return b.GetBuildProperties(fqbn) } diff --git a/internal/arduino/cores/cores.go b/internal/arduino/cores/cores.go index 9be3c48f365..79464ed9b46 100644 --- a/internal/arduino/cores/cores.go +++ b/internal/arduino/cores/cores.go @@ -29,7 +29,6 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/arduino/utils" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -137,8 +136,6 @@ type BoardManifestID struct { USB string `json:"-"` } -var tr = i18n.Tr - // HasUsbID returns true if the BoardManifes contains the specified USB id as // identification for this board. usbID should be in the format "0000:0000" func (bm *BoardManifest) HasUsbID(vid, pid string) bool { diff --git a/internal/arduino/cores/fqbn.go b/internal/arduino/cores/fqbn.go index 8c6ef74ea39..0db32f45cb0 100644 --- a/internal/arduino/cores/fqbn.go +++ b/internal/arduino/cores/fqbn.go @@ -16,10 +16,11 @@ package cores import ( - "fmt" + "errors" "regexp" "strings" + "github.com/arduino/arduino-cli/internal/i18n" properties "github.com/arduino/go-properties-orderedmap" ) @@ -46,7 +47,7 @@ func ParseFQBN(fqbnIn string) (*FQBN, error) { // Split fqbn fqbnParts := strings.Split(fqbnIn, ":") if len(fqbnParts) < 3 || len(fqbnParts) > 4 { - return nil, fmt.Errorf("not an FQBN: %s", fqbnIn) + return nil, errors.New(i18n.Tr("not an FQBN: %s", fqbnIn)) } fqbn := &FQBN{ @@ -56,33 +57,33 @@ func ParseFQBN(fqbnIn string) (*FQBN, error) { Configs: properties.NewMap(), } if fqbn.BoardID == "" { - return nil, fmt.Errorf(tr("empty board identifier")) + return nil, errors.New(i18n.Tr("empty board identifier")) } // Check if the fqbn contains invalid characters fqbnValidationRegex := regexp.MustCompile(`^[a-zA-Z0-9_.-]*$`) for i := 0; i < 3; i++ { if !fqbnValidationRegex.MatchString(fqbnParts[i]) { - return nil, fmt.Errorf(tr("fqbn's field %s contains an invalid character"), fqbnParts[i]) + return nil, errors.New(i18n.Tr("fqbn's field %s contains an invalid character", fqbnParts[i])) } } if len(fqbnParts) > 3 { for _, pair := range strings.Split(fqbnParts[3], ",") { parts := strings.SplitN(pair, "=", 2) if len(parts) != 2 { - return nil, fmt.Errorf(tr("invalid config option: %s"), pair) + return nil, errors.New(i18n.Tr("invalid config option: %s", pair)) } k := strings.TrimSpace(parts[0]) v := strings.TrimSpace(parts[1]) if k == "" { - return nil, fmt.Errorf(tr("invalid config option: %s"), pair) + return nil, errors.New(i18n.Tr("invalid config option: %s", pair)) } if !fqbnValidationRegex.MatchString(k) { - return nil, fmt.Errorf(tr("config key %s contains an invalid character"), k) + return nil, errors.New(i18n.Tr("config key %s contains an invalid character", k)) } // The config value can also contain the = symbol valueValidationRegex := regexp.MustCompile(`^[a-zA-Z0-9=_.-]*$`) if !valueValidationRegex.MatchString(v) { - return nil, fmt.Errorf(tr("config value %s contains an invalid character"), v) + return nil, errors.New(i18n.Tr("config value %s contains an invalid character", v)) } fqbn.Configs.Set(k, v) } diff --git a/internal/arduino/cores/packageindex/index.go b/internal/arduino/cores/packageindex/index.go index 6cde8d1e90f..18e70ce524b 100644 --- a/internal/arduino/cores/packageindex/index.go +++ b/internal/arduino/cores/packageindex/index.go @@ -17,6 +17,7 @@ package packageindex import ( "encoding/json" + "errors" "fmt" "github.com/arduino/arduino-cli/internal/arduino/cores" @@ -139,8 +140,6 @@ type indexHelp struct { Online string `json:"online,omitempty"` } -var tr = i18n.Tr - // MergeIntoPackages converts the Index data into a cores.Packages and merge them // with the existing contents of the cores.Packages passed as parameter. func (index Index) MergeIntoPackages(outPackages cores.Packages) { @@ -275,7 +274,7 @@ func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *core size, err := inPlatformRelease.Size.Int64() if err != nil { - return fmt.Errorf(tr("invalid platform archive size: %s"), err) + return errors.New(i18n.Tr("invalid platform archive size: %s", err)) } outPlatformRelease := outPlatform.GetOrCreateRelease(inPlatformRelease.Version) outPlatformRelease.Name = inPlatformRelease.Name diff --git a/internal/arduino/cores/packagemanager/download.go b/internal/arduino/cores/packagemanager/download.go index ad82c9f1867..05cc0f70047 100644 --- a/internal/arduino/cores/packagemanager/download.go +++ b/internal/arduino/cores/packagemanager/download.go @@ -18,10 +18,10 @@ package packagemanager import ( "context" "errors" - "fmt" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" semver "go.bug.st/relaxed-semver" ) @@ -73,37 +73,37 @@ func (pme *Explorer) FindPlatformRelease(ref *PlatformReference) *cores.Platform func (pme *Explorer) FindPlatformReleaseDependencies(item *PlatformReference) (*cores.PlatformRelease, []*cores.ToolRelease, error) { targetPackage, exists := pme.packages[item.Package] if !exists { - return nil, nil, fmt.Errorf(tr("package %s not found"), item.Package) + return nil, nil, errors.New(i18n.Tr("package %s not found", item.Package)) } platform, exists := targetPackage.Platforms[item.PlatformArchitecture] if !exists { - return nil, nil, fmt.Errorf(tr("platform %[1]s not found in package %[2]s"), item.PlatformArchitecture, targetPackage.String()) + return nil, nil, errors.New(i18n.Tr("platform %[1]s not found in package %[2]s", item.PlatformArchitecture, targetPackage)) } var release *cores.PlatformRelease if item.PlatformVersion != nil { release = platform.FindReleaseWithVersion(item.PlatformVersion) if release == nil { - return nil, nil, fmt.Errorf(tr("required version %[1]s not found for platform %[2]s"), item.PlatformVersion, platform.String()) + return nil, nil, errors.New(i18n.Tr("required version %[1]s not found for platform %[2]s", item.PlatformVersion, platform)) } } else { release = platform.GetLatestCompatibleRelease() if release == nil { - return nil, nil, fmt.Errorf(tr("platform is not available for your OS")) + return nil, nil, errors.New(i18n.Tr("platform is not available for your OS")) } } // replaces "latest" with latest version too toolDeps, err := pme.packages.GetPlatformReleaseToolDependencies(release) if err != nil { - return nil, nil, fmt.Errorf(tr("getting tool dependencies for platform %[1]s: %[2]s"), release.String(), err) + return nil, nil, errors.New(i18n.Tr("getting tool dependencies for platform %[1]s: %[2]s", release, err)) } // discovery dependencies differ from normal tool since we always want to use the latest // available version for the platform package discoveryDependencies, err := pme.packages.GetPlatformReleaseDiscoveryDependencies(release) if err != nil { - return nil, nil, fmt.Errorf(tr("getting discovery dependencies for platform %[1]s: %[2]s"), release.String(), err) + return nil, nil, errors.New(i18n.Tr("getting discovery dependencies for platform %[1]s: %[2]s", release, err)) } toolDeps = append(toolDeps, discoveryDependencies...) @@ -111,7 +111,7 @@ func (pme *Explorer) FindPlatformReleaseDependencies(item *PlatformReference) (* // available version for the platform package monitorDependencies, err := pme.packages.GetPlatformReleaseMonitorDependencies(release) if err != nil { - return nil, nil, fmt.Errorf(tr("getting monitor dependencies for platform %[1]s: %[2]s"), release.String(), err) + return nil, nil, errors.New(i18n.Tr("getting monitor dependencies for platform %[1]s: %[2]s", release, err)) } toolDeps = append(toolDeps, monitorDependencies...) @@ -124,8 +124,8 @@ func (pme *Explorer) DownloadToolRelease(ctx context.Context, tool *cores.ToolRe resource := tool.GetCompatibleFlavour() if resource == nil { return &cmderrors.FailedDownloadError{ - Message: tr("Error downloading tool %s", tool), - Cause: errors.New(tr("no versions available for the current OS, try contacting %s", tool.Tool.Package.Email))} + Message: i18n.Tr("Error downloading tool %s", tool), + Cause: errors.New(i18n.Tr("no versions available for the current OS, try contacting %s", tool.Tool.Package.Email))} } return resource.Download(ctx, pme.DownloadDir, pme.downloaderConfig, tool.String(), progressCB, "") } diff --git a/internal/arduino/cores/packagemanager/install_uninstall.go b/internal/arduino/cores/packagemanager/install_uninstall.go index 978072036c3..7fb9b44dc02 100644 --- a/internal/arduino/cores/packagemanager/install_uninstall.go +++ b/internal/arduino/cores/packagemanager/install_uninstall.go @@ -20,12 +20,12 @@ import ( "context" "encoding/json" "errors" - "fmt" "runtime" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" ) @@ -42,7 +42,7 @@ func (pme *Explorer) DownloadAndInstallPlatformUpgrades( skipPreUninstall bool, ) (*cores.PlatformRelease, error) { if platformRef.PlatformVersion != nil { - return nil, &cmderrors.InvalidArgumentError{Message: tr("Upgrade doesn't accept parameters with version")} + return nil, &cmderrors.InvalidArgumentError{Message: i18n.Tr("Upgrade doesn't accept parameters with version")} } // Search the latest version for all specified platforms @@ -86,14 +86,14 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( for _, tool := range requiredTools { if tool.IsInstalled() { log.WithField("tool", tool).Warn("Tool already installed") - taskCB(&rpc.TaskProgress{Name: tr("Tool %s already installed", tool), Completed: true}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Tool %s already installed", tool), Completed: true}) } else { toolsToInstall = append(toolsToInstall, tool) } } // Package download - taskCB(&rpc.TaskProgress{Name: tr("Downloading packages")}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Downloading packages")}) for _, tool := range toolsToInstall { if err := pme.DownloadToolRelease(ctx, tool, downloadCB); err != nil { return err @@ -116,11 +116,11 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( if installed == nil { // No version of this platform is installed log.Info("Installing platform") - taskCB(&rpc.TaskProgress{Name: tr("Installing platform %s", platformRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing platform %s", platformRelease)}) } else { // A platform with a different version is already installed log.Info("Replacing platform " + installed.String()) - taskCB(&rpc.TaskProgress{Name: tr("Replacing platform %[1]s with %[2]s", installed, platformRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Replacing platform %[1]s with %[2]s", installed, platformRelease)}) platformRef := &PlatformReference{ Package: platformRelease.Platform.Package.Name, PlatformArchitecture: platformRelease.Platform.Architecture, @@ -133,14 +133,14 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( var err error _, installedTools, err = pme.FindPlatformReleaseDependencies(platformRef) if err != nil { - return &cmderrors.NotFoundError{Message: tr("Can't find dependencies for platform %s", platformRef), Cause: err} + return &cmderrors.NotFoundError{Message: i18n.Tr("Can't find dependencies for platform %s", platformRef), Cause: err} } } // Install if err := pme.InstallPlatform(platformRelease); err != nil { log.WithError(err).Error("Cannot install platform") - return &cmderrors.FailedInstallError{Message: tr("Cannot install platform"), Cause: err} + return &cmderrors.FailedInstallError{Message: i18n.Tr("Cannot install platform"), Cause: err} } // If upgrading remove previous release @@ -150,20 +150,20 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( // In case of error try to rollback if uninstallErr != nil { log.WithError(uninstallErr).Error("Error upgrading platform.") - taskCB(&rpc.TaskProgress{Message: tr("Error upgrading platform: %s", uninstallErr)}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Error upgrading platform: %s", uninstallErr)}) // Rollback if err := pme.UninstallPlatform(platformRelease, taskCB, skipPreUninstall); err != nil { log.WithError(err).Error("Error rolling-back changes.") - taskCB(&rpc.TaskProgress{Message: tr("Error rolling-back changes: %s", err)}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Error rolling-back changes: %s", err)}) } - return &cmderrors.FailedInstallError{Message: tr("Cannot upgrade platform"), Cause: uninstallErr} + return &cmderrors.FailedInstallError{Message: i18n.Tr("Cannot upgrade platform"), Cause: uninstallErr} } // Uninstall unused tools for _, tool := range installedTools { - taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s, tool is no more required", tool)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Uninstalling %s, tool is no more required", tool)}) if !pme.IsToolRequired(tool) { pme.UninstallTool(tool, taskCB, skipPreUninstall) } @@ -174,24 +174,24 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( // Perform post install if !skipPostInstall { log.Info("Running post_install script") - taskCB(&rpc.TaskProgress{Message: tr("Configuring platform.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Configuring platform.")}) if !platformRelease.IsInstalled() { - return errors.New(tr("platform not installed")) + return errors.New(i18n.Tr("platform not installed")) } stdout, stderr, err := pme.RunPreOrPostScript(platformRelease.InstallDir, "post_install") skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stdout), Completed: true}) skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stderr), Completed: true}) if err != nil { - taskCB(&rpc.TaskProgress{Message: tr("WARNING cannot configure platform: %s", err), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("WARNING cannot configure platform: %s", err), Completed: true}) } } else { log.Info("Skipping platform configuration.") - taskCB(&rpc.TaskProgress{Message: tr("Skipping platform configuration.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Skipping platform configuration.")}) } log.Info("Platform installed") - taskCB(&rpc.TaskProgress{Message: tr("Platform %s installed", platformRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Platform %s installed", platformRelease), Completed: true}) return nil } @@ -208,7 +208,7 @@ func (pme *Explorer) InstallPlatform(platformRelease *cores.PlatformRelease) err // InstallPlatformInDirectory installs a specific release of a platform in a specific directory. func (pme *Explorer) InstallPlatformInDirectory(platformRelease *cores.PlatformRelease, destDir *paths.Path) error { if err := platformRelease.Resource.Install(pme.DownloadDir, pme.tempDir, destDir); err != nil { - return errors.New(tr("installing platform %[1]s: %[2]s", platformRelease, err)) + return errors.New(i18n.Tr("installing platform %[1]s: %[2]s", platformRelease, err)) } if d, err := destDir.Abs(); err == nil { platformRelease.InstallDir = d @@ -216,7 +216,7 @@ func (pme *Explorer) InstallPlatformInDirectory(platformRelease *cores.PlatformR return err } if err := pme.cacheInstalledJSON(platformRelease); err != nil { - return errors.New(tr("creating installed.json in %[1]s: %[2]s", platformRelease.InstallDir, err)) + return errors.New(i18n.Tr("creating installed.json in %[1]s: %[2]s", platformRelease.InstallDir, err)) } return nil } @@ -277,37 +277,37 @@ func (pme *Explorer) UninstallPlatform(platformRelease *cores.PlatformRelease, t log := pme.log.WithField("platform", platformRelease) log.Info("Uninstalling platform") - taskCB(&rpc.TaskProgress{Name: tr("Uninstalling %s", platformRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Uninstalling %s", platformRelease)}) if platformRelease.InstallDir == nil { - err := fmt.Errorf(tr("platform not installed")) + err := errors.New(i18n.Tr("platform not installed")) log.WithError(err).Error("Error uninstalling") return &cmderrors.FailedUninstallError{Message: err.Error()} } // Safety measure if !pme.IsManagedPlatformRelease(platformRelease) { - err := fmt.Errorf(tr("%s is not managed by package manager"), platformRelease) + err := errors.New(i18n.Tr("%s is not managed by package manager", platformRelease)) log.WithError(err).Error("Error uninstalling") return &cmderrors.FailedUninstallError{Message: err.Error()} } if !skipPreUninstall { log.Info("Running pre_uninstall script") - taskCB(&rpc.TaskProgress{Message: tr("Running pre_uninstall script.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Running pre_uninstall script.")}) stdout, stderr, err := pme.RunPreOrPostScript(platformRelease.InstallDir, "pre_uninstall") skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stdout), Completed: true}) skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stderr), Completed: true}) if err != nil { - taskCB(&rpc.TaskProgress{Message: tr("WARNING cannot run pre_uninstall script: %s", err), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("WARNING cannot run pre_uninstall script: %s", err), Completed: true}) } } else { log.Info("Skipping pre_uninstall script.") - taskCB(&rpc.TaskProgress{Message: tr("Skipping pre_uninstall script.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Skipping pre_uninstall script.")}) } if err := platformRelease.InstallDir.RemoveAll(); err != nil { - err = fmt.Errorf(tr("removing platform files: %s"), err) + err = errors.New(i18n.Tr("removing platform files: %s", err)) log.WithError(err).Error("Error uninstalling") return &cmderrors.FailedUninstallError{Message: err.Error()} } @@ -315,7 +315,7 @@ func (pme *Explorer) UninstallPlatform(platformRelease *cores.PlatformRelease, t platformRelease.InstallDir = nil log.Info("Platform uninstalled") - taskCB(&rpc.TaskProgress{Message: tr("Platform %s uninstalled", platformRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Platform %s uninstalled", platformRelease), Completed: true}) return nil } @@ -325,17 +325,18 @@ func (pme *Explorer) InstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Task if toolRelease.IsInstalled() { log.Warn("Tool already installed") - taskCB(&rpc.TaskProgress{Name: tr("Tool %s already installed", toolRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Tool %s already installed", toolRelease), Completed: true}) return nil } log.Info("Installing tool") - taskCB(&rpc.TaskProgress{Name: tr("Installing %s", toolRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing %s", toolRelease)}) toolResource := toolRelease.GetCompatibleFlavour() if toolResource == nil { - return fmt.Errorf(tr("no compatible version of %[1]s tools found for the current os, try contacting %[2]s"), - toolRelease.Tool.Name, toolRelease.Tool.Package.Email) + return errors.New( + i18n.Tr("no compatible version of %[1]s tools found for the current os, try contacting %[2]s", + toolRelease.Tool.Name, toolRelease.Tool.Package.Email)) } destDir := pme.PackagesDir.Join( toolRelease.Tool.Package.Name, @@ -345,7 +346,7 @@ func (pme *Explorer) InstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Task err := toolResource.Install(pme.DownloadDir, pme.tempDir, destDir) if err != nil { log.WithError(err).Warn("Cannot install tool") - return &cmderrors.FailedInstallError{Message: tr("Cannot install tool %s", toolRelease), Cause: err} + return &cmderrors.FailedInstallError{Message: i18n.Tr("Cannot install tool %s", toolRelease), Cause: err} } if d, err := destDir.Abs(); err == nil { toolRelease.InstallDir = d @@ -355,19 +356,19 @@ func (pme *Explorer) InstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Task // Perform post install if !skipPostInstall { log.Info("Running tool post_install script") - taskCB(&rpc.TaskProgress{Message: tr("Configuring tool.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Configuring tool.")}) stdout, stderr, err := pme.RunPreOrPostScript(toolRelease.InstallDir, "post_install") skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stdout)}) skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stderr)}) if err != nil { - taskCB(&rpc.TaskProgress{Message: tr("WARNING cannot configure tool: %s", err)}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("WARNING cannot configure tool: %s", err)}) } } else { log.Info("Skipping tool configuration.") - taskCB(&rpc.TaskProgress{Message: tr("Skipping tool configuration.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Skipping tool configuration.")}) } log.Info("Tool installed") - taskCB(&rpc.TaskProgress{Message: tr("%s installed", toolRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("%s installed", toolRelease), Completed: true}) return nil } @@ -395,28 +396,28 @@ func (pme *Explorer) UninstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Ta log.Info("Uninstalling tool") if toolRelease.InstallDir == nil { - return fmt.Errorf(tr("tool not installed")) + return errors.New(i18n.Tr("tool not installed")) } // Safety measure if !pme.IsManagedToolRelease(toolRelease) { - err := &cmderrors.FailedUninstallError{Message: tr("tool %s is not managed by package manager", toolRelease)} + err := &cmderrors.FailedUninstallError{Message: i18n.Tr("tool %s is not managed by package manager", toolRelease)} log.WithError(err).Error("Error uninstalling") return err } if !skipPreUninstall { log.Info("Running pre_uninstall script") - taskCB(&rpc.TaskProgress{Message: tr("Running pre_uninstall script.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Running pre_uninstall script.")}) stdout, stderr, err := pme.RunPreOrPostScript(toolRelease.InstallDir, "pre_uninstall") skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stdout), Completed: true}) skipEmptyMessageTaskProgressCB(taskCB)(&rpc.TaskProgress{Message: string(stderr), Completed: true}) if err != nil { - taskCB(&rpc.TaskProgress{Message: tr("WARNING cannot run pre_uninstall script: %s", err), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("WARNING cannot run pre_uninstall script: %s", err), Completed: true}) } } else { log.Info("Skipping pre_uninstall script.") - taskCB(&rpc.TaskProgress{Message: tr("Skipping pre_uninstall script.")}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Skipping pre_uninstall script.")}) } if err := toolRelease.InstallDir.RemoveAll(); err != nil { @@ -428,7 +429,7 @@ func (pme *Explorer) UninstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Ta toolRelease.InstallDir = nil log.Info("Tool uninstalled") - taskCB(&rpc.TaskProgress{Message: tr("Tool %s uninstalled", toolRelease), Completed: true}) + taskCB(&rpc.TaskProgress{Message: i18n.Tr("Tool %s uninstalled", toolRelease), Completed: true}) return nil } diff --git a/internal/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go index 8b42697a6e4..14e1d6df912 100644 --- a/internal/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" semver "go.bug.st/relaxed-semver" @@ -55,17 +56,17 @@ func (pm *Builder) LoadHardwareFromDirectory(path *paths.Path) []error { var merr []error pm.log.Infof("Loading hardware from: %s", path) if err := path.ToAbs(); err != nil { - return append(merr, fmt.Errorf("%s: %w", tr("finding absolute path of %s", path), err)) + return append(merr, fmt.Errorf("%s: %w", i18n.Tr("finding absolute path of %s", path), err)) } if path.IsNotDir() { - return append(merr, errors.New(tr("%s is not a directory", path))) + return append(merr, errors.New(i18n.Tr("%s is not a directory", path))) } // Scan subdirs packagersPaths, err := path.ReadDir() if err != nil { - return append(merr, fmt.Errorf("%s: %w", tr("reading directory %s", path), err)) + return append(merr, fmt.Errorf("%s: %w", i18n.Tr("reading directory %s", path), err)) } packagersPaths.FilterOutHiddenFiles() packagersPaths.FilterDirs() @@ -94,7 +95,7 @@ func (pm *Builder) LoadHardwareFromDirectory(path *paths.Path) []error { // Follow symlinks err := packagerPath.FollowSymLink() // ex: .arduino15/packages/arduino/ if err != nil { - merr = append(merr, fmt.Errorf("%s: %w", tr("following symlink %s", path), err)) + merr = append(merr, fmt.Errorf("%s: %w", i18n.Tr("following symlink %s", path), err)) continue } @@ -147,7 +148,7 @@ func (pm *Builder) loadPlatforms(targetPackage *cores.Package, packageDir *paths platformsDirs, err := packageDir.ReadDir() if err != nil { - return append(merr, fmt.Errorf("%s: %w", tr("reading directory %s", packageDir), err)) + return append(merr, fmt.Errorf("%s: %w", i18n.Tr("reading directory %s", packageDir), err)) } // A platform can only be inside a directory, thus we skip everything else. @@ -175,7 +176,7 @@ func (pm *Builder) loadPlatforms(targetPackage *cores.Package, packageDir *paths func (pm *Builder) loadPlatform(targetPackage *cores.Package, architecture string, platformPath *paths.Path) error { // This is not a platform if platformPath.IsNotDir() { - return errors.New(tr("path is not a platform directory: %s", platformPath)) + return errors.New(i18n.Tr("path is not a platform directory: %s", platformPath)) } // There are two possible platform directory structures: @@ -184,14 +185,14 @@ func (pm *Builder) loadPlatform(targetPackage *cores.Package, architecture strin // We identify them by checking where is the bords.txt file possibleBoardTxtPath := platformPath.Join("boards.txt") if exist, err := possibleBoardTxtPath.ExistCheck(); err != nil { - return fmt.Errorf("%s: %w", tr("looking for boards.txt in %s", possibleBoardTxtPath), err) + return fmt.Errorf("%s: %w", i18n.Tr("looking for boards.txt in %s", possibleBoardTxtPath), err) } else if exist { // case: ARCHITECTURE/boards.txt platformTxtPath := platformPath.Join("platform.txt") platformProperties, err := properties.SafeLoad(platformTxtPath.String()) if err != nil { - return fmt.Errorf("%s: %w", tr("loading platform.txt"), err) + return fmt.Errorf("%s: %w", i18n.Tr("loading platform.txt"), err) } versionString := platformProperties.ExpandPropsInString(platformProperties.Get("version")) @@ -204,7 +205,7 @@ func (pm *Builder) loadPlatform(targetPackage *cores.Package, architecture strin platform.ManuallyInstalled = true release := platform.GetOrCreateRelease(version) if err := pm.loadPlatformRelease(release, platformPath); err != nil { - return fmt.Errorf("%s: %w", tr("loading platform release %s", release), err) + return fmt.Errorf("%s: %w", i18n.Tr("loading platform release %s", release), err) } pm.log.WithField("platform", release).Infof("Loaded platform") @@ -214,25 +215,25 @@ func (pm *Builder) loadPlatform(targetPackage *cores.Package, architecture strin versionDirs, err := platformPath.ReadDir() if err != nil { - return fmt.Errorf("%s: %w", tr("reading directory %s", platformPath), err) + return fmt.Errorf("%s: %w", i18n.Tr("reading directory %s", platformPath), err) } versionDirs.FilterDirs() versionDirs.FilterOutHiddenFiles() for _, versionDir := range versionDirs { if exist, err := versionDir.Join("boards.txt").ExistCheck(); err != nil { - return fmt.Errorf("%s: %w", tr("opening boards.txt"), err) + return fmt.Errorf("%s: %w", i18n.Tr("opening boards.txt"), err) } else if !exist { continue } version, err := semver.Parse(versionDir.Base()) if err != nil { - return fmt.Errorf("%s: %w", tr("invalid version directory %s", versionDir), err) + return fmt.Errorf("%s: %w", i18n.Tr("invalid version directory %s", versionDir), err) } platform := targetPackage.GetOrCreatePlatform(architecture) release := platform.GetOrCreateRelease(version) if err := pm.loadPlatformRelease(release, versionDir); err != nil { - return fmt.Errorf("%s: %w", tr("loading platform release %s", release), err) + return fmt.Errorf("%s: %w", i18n.Tr("loading platform release %s", release), err) } pm.log.WithField("platform", release).Infof("Loaded platform") } @@ -251,7 +252,7 @@ func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *pa platform.Timestamps.AddFile(installedJSONPath) if installedJSONPath.Exist() { if _, err := pm.LoadPackageIndexFromFile(installedJSONPath); err != nil { - return fmt.Errorf(tr("loading %[1]s: %[2]s"), installedJSONPath, err) + return errors.New(i18n.Tr("loading %[1]s: %[2]s", installedJSONPath, err)) } } @@ -264,7 +265,7 @@ func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *pa if p, err := properties.SafeLoadFromPath(platformTxtPath); err == nil { platform.Properties.Merge(p) } else { - return fmt.Errorf(tr("loading %[1]s: %[2]s"), platformTxtPath, err) + return errors.New(i18n.Tr("loading %[1]s: %[2]s", platformTxtPath, err)) } platformTxtLocalPath := path.Join("platform.local.txt") @@ -272,7 +273,7 @@ func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *pa if p, err := properties.SafeLoadFromPath(platformTxtLocalPath); err == nil { platform.Properties.Merge(p) } else { - return fmt.Errorf(tr("loading %[1]s: %[2]s"), platformTxtLocalPath, err) + return errors.New(i18n.Tr("loading %[1]s: %[2]s", platformTxtLocalPath, err)) } if platform.Properties.SubTree("pluggable_discovery").Size() > 0 || platform.Properties.SubTree("pluggable_monitor").Size() > 0 { @@ -310,7 +311,7 @@ func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *pa } if err := pm.loadBoards(platform); err != nil { - return fmt.Errorf(tr("loading boards: %s"), err) + return errors.New(i18n.Tr("loading boards: %s", err)) } if !platform.PluggableDiscoveryAware { @@ -322,7 +323,7 @@ func (pm *Builder) loadPlatformRelease(platform *cores.PlatformRelease, path *pa for protocol, ref := range platform.Properties.SubTree("pluggable_monitor.required").AsMap() { split := strings.Split(ref, ":") if len(split) != 2 { - return fmt.Errorf(tr("invalid pluggable monitor reference: %s"), ref) + return errors.New(i18n.Tr("invalid pluggable monitor reference: %s", ref)) } pm.log.WithField("protocol", protocol).WithField("tool", ref).Info("Adding monitor tool") platform.Monitors[protocol] = &cores.MonitorDependency{ @@ -416,7 +417,7 @@ func (pm *Builder) loadProgrammer(programmerProperties *properties.Map) *cores.P func (pm *Builder) loadBoards(platform *cores.PlatformRelease) error { if platform.InstallDir == nil { - return fmt.Errorf(tr("platform not installed")) + return errors.New(i18n.Tr("platform not installed")) } boardsTxtPath := platform.InstallDir.Join("boards.txt") @@ -578,7 +579,7 @@ func (pm *Builder) LoadToolsFromPackageDir(targetPackage *cores.Package, toolsPa toolsPaths, err := toolsPath.ReadDir() if err != nil { - return append(merr, fmt.Errorf("%s: %w", tr("reading directory %s", toolsPath), err)) + return append(merr, fmt.Errorf("%s: %w", i18n.Tr("reading directory %s", toolsPath), err)) } toolsPaths.FilterDirs() toolsPaths.FilterOutHiddenFiles() @@ -586,7 +587,7 @@ func (pm *Builder) LoadToolsFromPackageDir(targetPackage *cores.Package, toolsPa name := toolPath.Base() tool := targetPackage.GetOrCreateTool(name) if err = pm.loadToolReleasesFromTool(tool, toolPath); err != nil { - merr = append(merr, fmt.Errorf("%s: %w", tr("loading tool release in %s", toolPath), err)) + merr = append(merr, fmt.Errorf("%s: %w", i18n.Tr("loading tool release in %s", toolPath), err)) } } return merr @@ -611,9 +612,9 @@ func (pm *Builder) loadToolReleasesFromTool(tool *cores.Tool, toolPath *paths.Pa func (pm *Builder) loadToolReleaseFromDirectory(tool *cores.Tool, version *semver.RelaxedVersion, toolReleasePath *paths.Path) error { if absToolReleasePath, err := toolReleasePath.Abs(); err != nil { - return errors.New(tr("error opening %s", absToolReleasePath)) + return errors.New(i18n.Tr("error opening %s", absToolReleasePath)) } else if !absToolReleasePath.IsDir() { - return errors.New(tr("%s is not a directory", absToolReleasePath)) + return errors.New(i18n.Tr("%s is not a directory", absToolReleasePath)) } else { toolRelease := tool.GetOrCreateRelease(version) toolRelease.InstallDir = absToolReleasePath @@ -640,11 +641,11 @@ func (pme *Explorer) LoadDiscoveries() []error { func (pme *Explorer) loadDiscovery(id string) error { tool := pme.GetTool(id) if tool == nil { - return errors.New(tr("discovery %s not found", id)) + return errors.New(i18n.Tr("discovery %s not found", id)) } toolRelease := tool.GetLatestInstalled() if toolRelease == nil { - return errors.New(tr("discovery %s not installed", id)) + return errors.New(i18n.Tr("discovery %s not installed", id)) } discoveryPath := toolRelease.InstallDir.Join(tool.Name).String() pme.discoveryManager.Add(id, discoveryPath) @@ -708,7 +709,7 @@ func (pme *Explorer) loadDiscoveries(release *cores.PlatformRelease) []error { for discoveryID, props := range discoveryIDs { pattern, ok := props.GetOk("pattern") if !ok { - merr = append(merr, errors.New(tr("can't find pattern for discovery with id %s", discoveryID))) + merr = append(merr, errors.New(i18n.Tr("can't find pattern for discovery with id %s", discoveryID))) continue } configuration := release.Properties.Clone() diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index ffe278a6205..2821b23ddb4 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -17,7 +17,6 @@ package packagemanager import ( "errors" - "fmt" "net/url" "os" "path" @@ -74,8 +73,6 @@ type Builder PackageManager // job is completed. type Explorer PackageManager -var tr = i18n.Tr - // NewBuilder returns a new Builder func NewBuilder(indexDir, packagesDir, userPackagesDir, downloadDir, tempDir *paths.Path, userAgent string, downloaderConfig downloader.Config) *Builder { return &Builder{ @@ -295,7 +292,7 @@ func (pme *Explorer) FindBoardsWithID(id string) []*cores.Board { func (pme *Explorer) FindBoardWithFQBN(fqbnIn string) (*cores.Board, error) { fqbn, err := cores.ParseFQBN(fqbnIn) if err != nil { - return nil, fmt.Errorf(tr("parsing fqbn: %s"), err) + return nil, errors.New(i18n.Tr("parsing fqbn: %s", err)) } _, _, board, _, _, err := pme.ResolveFQBN(fqbn) @@ -329,32 +326,32 @@ func (pme *Explorer) ResolveFQBN(fqbn *cores.FQBN) ( targetPackage := pme.packages[fqbn.Package] if targetPackage == nil { return nil, nil, nil, nil, nil, - fmt.Errorf(tr("unknown package %s"), fqbn.Package) + errors.New(i18n.Tr("unknown package %s", fqbn.Package)) } // Find platform platform := targetPackage.Platforms[fqbn.PlatformArch] if platform == nil { return targetPackage, nil, nil, nil, nil, - fmt.Errorf(tr("unknown platform %s:%s"), targetPackage, fqbn.PlatformArch) + errors.New(i18n.Tr("unknown platform %s:%s", targetPackage, fqbn.PlatformArch)) } boardPlatformRelease := pme.GetInstalledPlatformRelease(platform) if boardPlatformRelease == nil { return targetPackage, nil, nil, nil, nil, - fmt.Errorf(tr("platform %s is not installed"), platform) + errors.New(i18n.Tr("platform %s is not installed", platform)) } // Find board board := boardPlatformRelease.Boards[fqbn.BoardID] if board == nil { return targetPackage, boardPlatformRelease, nil, nil, nil, - fmt.Errorf(tr("board %s not found"), fqbn.StringWithoutConfig()) + errors.New(i18n.Tr("board %s not found", fqbn.StringWithoutConfig())) } boardBuildProperties, err := board.GetBuildProperties(fqbn) if err != nil { return targetPackage, boardPlatformRelease, board, nil, nil, - fmt.Errorf(tr("getting build properties for board %[1]s: %[2]s"), board, err) + errors.New(i18n.Tr("getting build properties for board %[1]s: %[2]s", board, err)) } // Determine the platform used for the build and the variant (in case the board refers @@ -443,7 +440,8 @@ func (pme *Explorer) determineReferencedPlatformRelease(boardBuildProperties *pr // core and variant cannot refer to two different platforms if referredCore != "" && referredVariant != "" && referredCore != referredVariant { return "", nil, "", nil, - fmt.Errorf(tr("'build.core' and 'build.variant' refer to different platforms: %[1]s and %[2]s"), referredCore+":"+core, referredVariant+":"+variant) + errors.New(i18n.Tr("'build.core' and 'build.variant' refer to different platforms: %[1]s and %[2]s", + referredCore+":"+core, referredVariant+":"+variant)) } // extract the referred platform @@ -456,17 +454,17 @@ func (pme *Explorer) determineReferencedPlatformRelease(boardBuildProperties *pr referredPackage := pme.packages[referredPackageName] if referredPackage == nil { return "", nil, "", nil, - fmt.Errorf(tr("missing package %[1]s referenced by board %[2]s"), referredPackageName, fqbn) + errors.New(i18n.Tr("missing package %[1]s referenced by board %[2]s", referredPackageName, fqbn)) } referredPlatform := referredPackage.Platforms[fqbn.PlatformArch] if referredPlatform == nil { return "", nil, "", nil, - fmt.Errorf(tr("missing platform %[1]s:%[2]s referenced by board %[3]s"), referredPackageName, fqbn.PlatformArch, fqbn) + errors.New(i18n.Tr("missing platform %[1]s:%[2]s referenced by board %[3]s", referredPackageName, fqbn.PlatformArch, fqbn)) } referredPlatformRelease = pme.GetInstalledPlatformRelease(referredPlatform) if referredPlatformRelease == nil { return "", nil, "", nil, - fmt.Errorf(tr("missing platform release %[1]s:%[2]s referenced by board %[3]s"), referredPackageName, fqbn.PlatformArch, fqbn) + errors.New(i18n.Tr("missing platform release %[1]s:%[2]s referenced by board %[3]s", referredPackageName, fqbn.PlatformArch, fqbn)) } } @@ -495,7 +493,7 @@ func (pmb *Builder) LoadPackageIndex(URL *url.URL) error { indexPath := pmb.IndexDir.Join(indexFileName) index, err := packageindex.LoadIndex(indexPath) if err != nil { - return fmt.Errorf(tr("loading json index file %[1]s: %[2]s"), indexPath, err) + return errors.New(i18n.Tr("loading json index file %[1]s: %[2]s", indexPath, err)) } for _, p := range index.Packages { @@ -510,7 +508,7 @@ func (pmb *Builder) LoadPackageIndex(URL *url.URL) error { func (pmb *Builder) LoadPackageIndexFromFile(indexPath *paths.Path) (*packageindex.Index, error) { index, err := packageindex.LoadIndex(indexPath) if err != nil { - return nil, fmt.Errorf(tr("loading json index file %[1]s: %[2]s"), indexPath, err) + return nil, errors.New(i18n.Tr("loading json index file %[1]s: %[2]s", indexPath, err)) } index.MergeIntoPackages(pmb.packages) @@ -524,7 +522,7 @@ func (pme *Explorer) Package(name string) *PackageActions { var err error thePackage := pme.packages[name] if thePackage == nil { - err = fmt.Errorf(tr("package '%s' not found"), name) + err = errors.New(i18n.Tr("package '%s' not found", name)) } return &PackageActions{ aPackage: thePackage, @@ -550,7 +548,7 @@ func (pa *PackageActions) Tool(name string) *ToolActions { tool = pa.aPackage.Tools[name] if tool == nil { - err = fmt.Errorf(tr("tool '%[1]s' not found in package '%[2]s'"), name, pa.aPackage.Name) + err = errors.New(i18n.Tr("tool '%[1]s' not found in package '%[2]s'", name, pa.aPackage.Name)) } } return &ToolActions{ @@ -600,7 +598,7 @@ func (ta *ToolActions) Release(version *semver.RelaxedVersion) *ToolReleaseActio } release := ta.tool.FindReleaseWithRelaxedVersion(version) if release == nil { - return &ToolReleaseActions{forwardError: fmt.Errorf(tr("release %[1]s not found for tool %[2]s"), version, ta.tool.String())} + return &ToolReleaseActions{forwardError: errors.New(i18n.Tr("release %[1]s not found for tool %[2]s", version, ta.tool))} } return &ToolReleaseActions{release: release} } @@ -729,7 +727,7 @@ func (pme *Explorer) FindToolsRequiredFromPlatformRelease(platform *cores.Platfo pme.log.WithField("tool", toolDep).Debugf("Required tool") tool := pme.FindToolDependency(toolDep) if tool == nil { - return nil, fmt.Errorf(tr("tool release not found: %s"), toolDep) + return nil, errors.New(i18n.Tr("tool release not found: %s", toolDep)) } requiredTools = append(requiredTools, tool) delete(foundTools, tool.Tool.Name) @@ -740,7 +738,7 @@ func (pme *Explorer) FindToolsRequiredFromPlatformRelease(platform *cores.Platfo pme.log.WithField("discovery", discoveryDep).Infof("Required discovery") tool := pme.FindDiscoveryDependency(discoveryDep) if tool == nil { - return nil, fmt.Errorf(tr("discovery release not found: %s"), discoveryDep) + return nil, errors.New(i18n.Tr("discovery release not found: %s", discoveryDep)) } requiredTools = append(requiredTools, tool) delete(foundTools, tool.Tool.Name) @@ -751,7 +749,7 @@ func (pme *Explorer) FindToolsRequiredFromPlatformRelease(platform *cores.Platfo pme.log.WithField("monitor", monitorDep).Infof("Required monitor") tool := pme.FindMonitorDependency(monitorDep) if tool == nil { - return nil, fmt.Errorf(tr("monitor release not found: %s"), monitorDep) + return nil, errors.New(i18n.Tr("monitor release not found: %s", monitorDep)) } requiredTools = append(requiredTools, tool) delete(foundTools, tool.Tool.Name) @@ -835,7 +833,7 @@ func (pme *Explorer) FindToolsRequiredForBuild(platform, buildPlatform *cores.Pl pme.log.WithField("tool", toolDep).Debugf("Required tool") tool := pme.FindToolDependency(toolDep) if tool == nil { - return nil, fmt.Errorf(tr("tool release not found: %s"), toolDep) + return nil, errors.New(i18n.Tr("tool release not found: %s", toolDep)) } requiredTools = append(requiredTools, tool) delete(allToolsAlternatives, tool.Tool.Name) diff --git a/internal/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go index 5c7b4a58a16..f4635950785 100644 --- a/internal/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -17,6 +17,7 @@ package packagemanager import ( "context" + "errors" "fmt" "net/url" @@ -26,6 +27,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -42,7 +44,7 @@ func (pmb *Builder) LoadHardwareForProfile(ctx context.Context, p *sketch.Profil indexURLs := map[string]*url.URL{} for _, platformRef := range p.Platforms { if platformRelease, err := pmb.loadProfilePlatform(ctx, platformRef, installMissing, downloadCB, taskCB, settings); err != nil { - merr = append(merr, fmt.Errorf("%s: %w", tr("loading required platform %s", platformRef), err)) + merr = append(merr, fmt.Errorf("%s: %w", i18n.Tr("loading required platform %s", platformRef), err)) logrus.WithField("platform", platformRef).WithError(err).Debugf("Error loading platform for profile") } else { platformReleases = append(platformReleases, platformRelease) @@ -58,7 +60,7 @@ func (pmb *Builder) LoadHardwareForProfile(ctx context.Context, p *sketch.Profil for _, toolDep := range platformRelease.ToolDependencies { indexURL := indexURLs[toolDep.ToolPackager] if err := pmb.loadProfileTool(ctx, toolDep, indexURL, installMissing, downloadCB, taskCB, settings); err != nil { - merr = append(merr, fmt.Errorf("%s: %w", tr("loading required tool %s", toolDep), err)) + merr = append(merr, fmt.Errorf("%s: %w", i18n.Tr("loading required tool %s", toolDep), err)) logrus.WithField("tool", toolDep).WithField("index_url", indexURL).WithError(err).Debugf("Error loading tool for profile") } else { logrus.WithField("tool", toolDep).WithField("index_url", indexURL).Debugf("Loaded tool for profile") @@ -96,7 +98,7 @@ func (pmb *Builder) installMissingProfilePlatform(ctx context.Context, platformR defer tmp.RemoveAll() // Download the main index and parse it - taskCB(&rpc.TaskProgress{Name: tr("Downloading platform %s", platformRef)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Downloading platform %s", platformRef)}) defaultIndexURL, _ := url.Parse(globals.DefaultIndexURL) indexesToDownload := []*url.URL{defaultIndexURL} if platformRef.PlatformIndexURL != nil { @@ -105,12 +107,12 @@ func (pmb *Builder) installMissingProfilePlatform(ctx context.Context, platformR for _, indexURL := range indexesToDownload { indexResource := resources.IndexResource{URL: indexURL} if err := indexResource.Download(ctx, tmpPmb.IndexDir, downloadCB, pmb.downloaderConfig); err != nil { - taskCB(&rpc.TaskProgress{Name: tr("Error downloading %s", indexURL)}) - return &cmderrors.FailedDownloadError{Message: tr("Error downloading %s", indexURL), Cause: err} + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error downloading %s", indexURL)}) + return &cmderrors.FailedDownloadError{Message: i18n.Tr("Error downloading %s", indexURL), Cause: err} } if err := tmpPmb.LoadPackageIndex(indexURL); err != nil { - taskCB(&rpc.TaskProgress{Name: tr("Error loading index %s", indexURL)}) - return &cmderrors.FailedInstallError{Message: tr("Error loading index %s", indexURL), Cause: err} + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error loading index %s", indexURL)}) + return &cmderrors.FailedInstallError{Message: i18n.Tr("Error loading index %s", indexURL), Cause: err} } } @@ -123,16 +125,16 @@ func (pmb *Builder) installMissingProfilePlatform(ctx context.Context, platformR defer tmpRelease() if err := tmpPme.DownloadPlatformRelease(ctx, tmpPlatformRelease, downloadCB); err != nil { - taskCB(&rpc.TaskProgress{Name: tr("Error downloading platform %s", tmpPlatformRelease)}) - return &cmderrors.FailedInstallError{Message: tr("Error downloading platform %s", tmpPlatformRelease), Cause: err} + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error downloading platform %s", tmpPlatformRelease)}) + return &cmderrors.FailedInstallError{Message: i18n.Tr("Error downloading platform %s", tmpPlatformRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) // Perform install - taskCB(&rpc.TaskProgress{Name: tr("Installing platform %s", tmpPlatformRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing platform %s", tmpPlatformRelease)}) if err := tmpPme.InstallPlatformInDirectory(tmpPlatformRelease, destDir); err != nil { - taskCB(&rpc.TaskProgress{Name: tr("Error installing platform %s", tmpPlatformRelease)}) - return &cmderrors.FailedInstallError{Message: tr("Error installing platform %s", tmpPlatformRelease), Cause: err} + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error installing platform %s", tmpPlatformRelease)}) + return &cmderrors.FailedInstallError{Message: i18n.Tr("Error installing platform %s", tmpPlatformRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) return nil @@ -149,7 +151,7 @@ func (pmb *Builder) loadProfileTool(ctx context.Context, toolRef *cores.ToolDepe // Try installing the missing tool toolRelease := tool.GetOrCreateRelease(toolRef.ToolVersion) if toolRelease == nil { - return &cmderrors.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not found", toolRef.ToolVersion))} + return &cmderrors.InvalidVersionError{Cause: errors.New(i18n.Tr("version %s not found", toolRef.ToolVersion))} } if err := pmb.installMissingProfileTool(ctx, toolRelease, destDir, downloadCB, taskCB); err != nil { return err @@ -170,20 +172,20 @@ func (pmb *Builder) installMissingProfileTool(ctx context.Context, toolRelease * // Download the tool toolResource := toolRelease.GetCompatibleFlavour() if toolResource == nil { - return &cmderrors.InvalidVersionError{Cause: fmt.Errorf(tr("version %s not available for this operating system", toolRelease))} + return &cmderrors.InvalidVersionError{Cause: errors.New(i18n.Tr("version %s not available for this operating system", toolRelease))} } - taskCB(&rpc.TaskProgress{Name: tr("Downloading tool %s", toolRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Downloading tool %s", toolRelease)}) if err := toolResource.Download(ctx, pmb.DownloadDir, pmb.downloaderConfig, toolRelease.String(), downloadCB, ""); err != nil { - taskCB(&rpc.TaskProgress{Name: tr("Error downloading tool %s", toolRelease)}) - return &cmderrors.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error downloading tool %s", toolRelease)}) + return &cmderrors.FailedInstallError{Message: i18n.Tr("Error installing tool %s", toolRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) // Install tool - taskCB(&rpc.TaskProgress{Name: tr("Installing tool %s", toolRelease)}) + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing tool %s", toolRelease)}) if err := toolResource.Install(pmb.DownloadDir, tmp, destDir); err != nil { - taskCB(&rpc.TaskProgress{Name: tr("Error installing tool %s", toolRelease)}) - return &cmderrors.FailedInstallError{Message: tr("Error installing tool %s", toolRelease), Cause: err} + taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error installing tool %s", toolRelease)}) + return &cmderrors.FailedInstallError{Message: i18n.Tr("Error installing tool %s", toolRelease), Cause: err} } taskCB(&rpc.TaskProgress{Completed: true}) return nil diff --git a/internal/arduino/cores/status.go b/internal/arduino/cores/status.go index 85517bf7a56..42ed1177e0a 100644 --- a/internal/arduino/cores/status.go +++ b/internal/arduino/cores/status.go @@ -17,10 +17,10 @@ package cores import ( "errors" - "fmt" "slices" "strings" + "github.com/arduino/arduino-cli/internal/i18n" semver "go.bug.st/relaxed-semver" ) @@ -88,21 +88,21 @@ func (packages Packages) Names() []string { // GetPlatformReleaseToolDependencies returns the tool releases needed by the specified PlatformRelease func (packages Packages) GetPlatformReleaseToolDependencies(release *PlatformRelease) ([]*ToolRelease, error) { if release == nil { - return nil, errors.New(tr("release cannot be nil")) + return nil, errors.New(i18n.Tr("release cannot be nil")) } ret := []*ToolRelease{} for _, dep := range release.ToolDependencies { pkg, exists := packages[dep.ToolPackager] if !exists { - return nil, fmt.Errorf(tr("package %s not found"), dep.ToolPackager) + return nil, errors.New(i18n.Tr("package %s not found", dep.ToolPackager)) } tool, exists := pkg.Tools[dep.ToolName] if !exists { - return nil, fmt.Errorf(tr("tool %s not found"), dep.ToolName) + return nil, errors.New(i18n.Tr("tool %s not found", dep.ToolName)) } toolRelease, exists := tool.Releases[dep.ToolVersion.NormalizedString()] if !exists { - return nil, fmt.Errorf(tr("tool version %s not found"), dep.ToolVersion) + return nil, errors.New(i18n.Tr("tool version %s not found", dep.ToolVersion)) } ret = append(ret, toolRelease) } @@ -112,24 +112,24 @@ func (packages Packages) GetPlatformReleaseToolDependencies(release *PlatformRel // GetPlatformReleaseDiscoveryDependencies returns the discovery releases needed by the specified PlatformRelease func (packages Packages) GetPlatformReleaseDiscoveryDependencies(release *PlatformRelease) ([]*ToolRelease, error) { if release == nil { - return nil, fmt.Errorf(tr("release cannot be nil")) + return nil, errors.New(i18n.Tr("release cannot be nil")) } res := []*ToolRelease{} for _, discovery := range release.DiscoveryDependencies { pkg, exists := packages[discovery.Packager] if !exists { - return nil, fmt.Errorf(tr("package %s not found"), discovery.Packager) + return nil, errors.New(i18n.Tr("package %s not found", discovery.Packager)) } tool, exists := pkg.Tools[discovery.Name] if !exists { - return nil, fmt.Errorf(tr("tool %s not found"), discovery.Name) + return nil, errors.New(i18n.Tr("tool %s not found", discovery.Name)) } // We always want to use the latest available release for discoveries latestRelease := tool.LatestRelease() if latestRelease == nil { - return nil, fmt.Errorf(tr("can't find latest release of %s"), discovery.Name) + return nil, errors.New(i18n.Tr("can't find latest release of %s", discovery.Name)) } res = append(res, latestRelease) } @@ -139,24 +139,24 @@ func (packages Packages) GetPlatformReleaseDiscoveryDependencies(release *Platfo // GetPlatformReleaseMonitorDependencies returns the monitor releases needed by the specified PlatformRelease func (packages Packages) GetPlatformReleaseMonitorDependencies(release *PlatformRelease) ([]*ToolRelease, error) { if release == nil { - return nil, fmt.Errorf(tr("release cannot be nil")) + return nil, errors.New(i18n.Tr("release cannot be nil")) } res := []*ToolRelease{} for _, monitor := range release.MonitorDependencies { pkg, exists := packages[monitor.Packager] if !exists { - return nil, fmt.Errorf(tr("package %s not found"), monitor.Packager) + return nil, errors.New(i18n.Tr("package %s not found", monitor.Packager)) } tool, exists := pkg.Tools[monitor.Name] if !exists { - return nil, fmt.Errorf(tr("tool %s not found"), monitor.Name) + return nil, errors.New(i18n.Tr("tool %s not found", monitor.Name)) } // We always want to use the latest available release for monitors latestRelease := tool.LatestRelease() if latestRelease == nil { - return nil, fmt.Errorf(tr("can't find latest release of %s"), monitor.Name) + return nil, errors.New(i18n.Tr("can't find latest release of %s", monitor.Name)) } res = append(res, latestRelease) } diff --git a/internal/arduino/discovery/discoverymanager/discoverymanager.go b/internal/arduino/discovery/discoverymanager/discoverymanager.go index 74504c48062..102d0f72389 100644 --- a/internal/arduino/discovery/discoverymanager/discoverymanager.go +++ b/internal/arduino/discovery/discoverymanager/discoverymanager.go @@ -43,8 +43,6 @@ type DiscoveryManager struct { userAgent string } -var tr = i18n.Tr - // New creates a new DiscoveryManager func New(userAgent string) *DiscoveryManager { return &DiscoveryManager{ @@ -132,7 +130,7 @@ func (dm *DiscoveryManager) add(d *discovery.Client) error { id := d.GetID() if _, has := dm.discoveries[id]; has { - return errors.New(tr("pluggable discovery already added: %s", id)) + return errors.New(i18n.Tr("pluggable discovery already added: %s", id)) } dm.discoveries[id] = d @@ -203,11 +201,11 @@ func (dm *DiscoveryManager) startDiscovery(d *discovery.Client) (discErr error) }() if err := d.Run(); err != nil { - return fmt.Errorf(tr("discovery %[1]s process not started: %[2]w"), d.GetID(), err) + return fmt.Errorf("%s: %w", i18n.Tr("discovery %[1]s process not started", d.GetID()), err) } eventCh, err := d.StartSync(5) if err != nil { - return fmt.Errorf("%s: %s", tr("starting discovery %s", d.GetID()), err) + return fmt.Errorf("%s: %s", i18n.Tr("starting discovery %s", d.GetID()), err) } go func(d *discovery.Client) { diff --git a/internal/arduino/httpclient/httpclient.go b/internal/arduino/httpclient/httpclient.go index d8e77c7966c..8c61c5b3249 100644 --- a/internal/arduino/httpclient/httpclient.go +++ b/internal/arduino/httpclient/httpclient.go @@ -27,8 +27,6 @@ import ( "go.bug.st/downloader/v2" ) -var tr = i18n.Tr - // DownloadFile downloads a file from a URL into the specified path. An optional config and options may be passed (or nil to use the defaults). // A DownloadProgressCB callback function must be passed to monitor download progress. // If a not empty queryParameter is passed, it is appended to the URL for analysis purposes. @@ -60,7 +58,7 @@ func DownloadFile(ctx context.Context, path *paths.Path, URL string, queryParame // The URL is not reachable for some reason if d.Resp.StatusCode >= 400 && d.Resp.StatusCode <= 599 { - msg := tr("Server responded with: %s", d.Resp.Status) + msg := i18n.Tr("Server responded with: %s", d.Resp.Status) return &cmderrors.FailedDownloadError{Message: msg} } diff --git a/internal/arduino/libraries/libraries.go b/internal/arduino/libraries/libraries.go index 941627393f2..9ffa1e27eea 100644 --- a/internal/arduino/libraries/libraries.go +++ b/internal/arduino/libraries/libraries.go @@ -16,6 +16,7 @@ package libraries import ( + "errors" "fmt" "github.com/arduino/arduino-cli/internal/arduino/cores" @@ -47,8 +48,6 @@ var ValidCategories = map[string]bool{ "Uncategorized": true, } -var tr = i18n.Tr - // Library represents a library in the system type Library struct { Name string @@ -113,7 +112,7 @@ func (library *Library) ToRPCLibrary() (*rpc.Library, error) { var err error headers, err = library.SourceHeaders() if err != nil { - return nil, fmt.Errorf(tr("reading library headers: %w"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("reading library headers"), err) } } @@ -225,7 +224,7 @@ func (library *Library) SourceHeaders() ([]string, error) { if library.sourceHeaders == nil { cppHeaders, err := library.SourceDir.ReadDir() if err != nil { - return nil, fmt.Errorf(tr("reading lib src dir: %s"), err) + return nil, errors.New(i18n.Tr("reading library source directory: %s", err)) } headerExtensions := []string{} for k := range globals.HeaderFilesValidExtensions { diff --git a/internal/arduino/libraries/libraries_layout.go b/internal/arduino/libraries/libraries_layout.go index 8391141322a..ced64c90654 100644 --- a/internal/arduino/libraries/libraries_layout.go +++ b/internal/arduino/libraries/libraries_layout.go @@ -17,8 +17,10 @@ package libraries import ( "encoding/json" + "errors" "fmt" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -62,7 +64,7 @@ func (d *LibraryLayout) UnmarshalJSON(b []byte) error { *d = RecursiveLayout return nil default: - return fmt.Errorf(tr("invalid library layout: %s"), s) + return errors.New(i18n.Tr("invalid library layout: %s", s)) } } diff --git a/internal/arduino/libraries/libraries_location.go b/internal/arduino/libraries/libraries_location.go index 709bca8b96f..a2a4423a54d 100644 --- a/internal/arduino/libraries/libraries_location.go +++ b/internal/arduino/libraries/libraries_location.go @@ -17,8 +17,10 @@ package libraries import ( "encoding/json" + "errors" "fmt" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -85,7 +87,7 @@ func (d *LibraryLocation) UnmarshalJSON(b []byte) error { *d = Unmanaged return nil default: - return fmt.Errorf(tr("invalid library location: %s"), s) + return errors.New(i18n.Tr("invalid library location: %s", s)) } } diff --git a/internal/arduino/libraries/librariesindex/json.go b/internal/arduino/libraries/librariesindex/json.go index 1db3db84d81..926ed39edca 100644 --- a/internal/arduino/libraries/librariesindex/json.go +++ b/internal/arduino/libraries/librariesindex/json.go @@ -16,7 +16,7 @@ package librariesindex import ( - "fmt" + "errors" "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/i18n" @@ -57,19 +57,17 @@ type indexDependency struct { Version string `json:"version,omitempty"` } -var tr = i18n.Tr - // LoadIndex reads a library_index.json and create the corresponding Index func LoadIndex(indexFile *paths.Path) (*Index, error) { buff, err := indexFile.ReadFile() if err != nil { - return nil, fmt.Errorf(tr("reading library_index.json: %s"), err) + return nil, errors.New(i18n.Tr("reading library_index.json: %s", err)) } var i indexJSON err = easyjson.Unmarshal(buff, &i) if err != nil { - return nil, fmt.Errorf(tr("parsing library_index.json: %s"), err) + return nil, errors.New(i18n.Tr("parsing library_index.json: %s", err)) } return i.extractIndex() diff --git a/internal/arduino/libraries/librariesmanager/install.go b/internal/arduino/libraries/librariesmanager/install.go index 4517756e3e7..99c7914fc09 100644 --- a/internal/arduino/libraries/librariesmanager/install.go +++ b/internal/arduino/libraries/librariesmanager/install.go @@ -17,6 +17,7 @@ package librariesmanager import ( "context" + "errors" "fmt" "net/url" "os" @@ -26,6 +27,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/utils" + "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" "github.com/codeclysm/extract/v3" "github.com/go-git/go-git/v5" @@ -74,7 +76,7 @@ func (lmi *Installer) InstallPrerequisiteCheck(name string, version *semver.Vers return nil, &cmderrors.MultipleLibraryInstallDetected{ LibName: name, LibsDir: libsDir, - Message: tr("Automatic library install can't be performed in this case, please manually remove all duplicates and retry."), + Message: i18n.Tr("Automatic library install can't be performed in this case, please manually remove all duplicates and retry."), } } @@ -89,7 +91,7 @@ func (lmi *Installer) InstallPrerequisiteCheck(name string, version *semver.Vers libPath := installDir.Join(utils.SanitizeName(name)) if libPath.IsDir() { if replaced == nil || !replaced.InstallDir.EquivalentTo(libPath) { - return nil, fmt.Errorf(tr("destination dir %s already exists, cannot install"), libPath) + return nil, errors.New(i18n.Tr("destination dir %s already exists, cannot install", libPath)) } } @@ -121,22 +123,22 @@ func (lmi *Installer) importLibraryFromDirectory(libPath *paths.Path, overwrite if installPlan.UpToDate { if !overwrite { - return fmt.Errorf(tr("library %s already installed"), installPlan.Name) + return errors.New(i18n.Tr("library %s already installed", installPlan.Name)) } } if installPlan.ReplacedLib != nil { if !overwrite { - return fmt.Errorf(tr("Library %[1]s is already installed, but with a different version: %[2]s", installPlan.Name, installPlan.ReplacedLib)) + return errors.New(i18n.Tr("Library %[1]s is already installed, but with a different version: %[2]s", installPlan.Name, installPlan.ReplacedLib)) } if err := lmi.Uninstall(installPlan.ReplacedLib); err != nil { return err } } if installPlan.TargetPath.Exist() { - return fmt.Errorf("%s: %s", tr("destination directory already exists"), installPlan.TargetPath) + return fmt.Errorf("%s: %s", i18n.Tr("destination directory already exists"), installPlan.TargetPath) } if err := libPath.CopyDirTo(installPlan.TargetPath); err != nil { - return fmt.Errorf("%s: %w", tr("copying library to destination directory:"), err) + return fmt.Errorf("%s: %w", i18n.Tr("copying library to destination directory:"), err) } return nil } @@ -144,10 +146,10 @@ func (lmi *Installer) importLibraryFromDirectory(libPath *paths.Path, overwrite // Uninstall removes a Library func (lmi *Installer) Uninstall(lib *libraries.Library) error { if lib == nil || lib.InstallDir == nil { - return fmt.Errorf(tr("install directory not set")) + return errors.New(i18n.Tr("install directory not set")) } if err := lib.InstallDir.RemoveAll(); err != nil { - return fmt.Errorf(tr("removing library directory: %s"), err) + return errors.New(i18n.Tr("removing library directory: %s", err)) } alternatives := lmi.libraries[lib.Name] @@ -174,7 +176,7 @@ func (lmi *Installer) InstallZipLib(ctx context.Context, archivePath *paths.Path // Extract to a temporary directory so we can check if the zip is structured correctly. // We also use the top level folder from the archive to infer the library name. if err := extract.Archive(ctx, file, tmpDir.String(), nil); err != nil { - return fmt.Errorf(tr("extracting archive: %w"), err) + return fmt.Errorf("%s: %w", i18n.Tr("extracting archive"), err) } libRootFiles, err := tmpDir.ReadDir() @@ -183,16 +185,16 @@ func (lmi *Installer) InstallZipLib(ctx context.Context, archivePath *paths.Path } libRootFiles.FilterOutPrefix("__MACOSX") // Ignores metadata from Mac OS X if len(libRootFiles) > 1 { - return fmt.Errorf(tr("archive is not valid: multiple files found in zip file top level")) + return errors.New(i18n.Tr("archive is not valid: multiple files found in zip file top level")) } if len(libRootFiles) == 0 { - return fmt.Errorf(tr("archive is not valid: no files found in zip file top level")) + return errors.New(i18n.Tr("archive is not valid: no files found in zip file top level")) } tmpInstallPath := libRootFiles[0] // Install extracted library in the destination directory if err := lmi.importLibraryFromDirectory(tmpInstallPath, overwrite); err != nil { - return fmt.Errorf(tr("moving extracted archive to destination dir: %s"), err) + return errors.New(i18n.Tr("moving extracted archive to destination dir: %s", err)) } return nil @@ -241,7 +243,7 @@ func (lmi *Installer) InstallGitLib(gitURL string, overwrite bool) error { // Install extracted library in the destination directory if err := lmi.importLibraryFromDirectory(tmpInstallPath, overwrite); err != nil { - return fmt.Errorf(tr("moving extracted archive to destination dir: %s"), err) + return errors.New(i18n.Tr("moving extracted archive to destination dir: %s", err)) } return nil @@ -263,7 +265,7 @@ func parseGitURL(gitURL string) (string, plumbing.Revision, error) { res = strings.TrimSuffix(parsed.Path[i+1:], ".git") rev = plumbing.Revision(parsed.Fragment) } else { - return "", "", fmt.Errorf(tr("invalid git url")) + return "", "", errors.New(i18n.Tr("invalid git url")) } return res, rev, nil } @@ -273,7 +275,7 @@ func parseGitURL(gitURL string) (string, plumbing.Revision, error) { // Returns nil if dir contains a valid library, error on all other cases. func validateLibrary(dir *paths.Path) error { if dir.NotExist() { - return fmt.Errorf(tr("directory doesn't exist: %s", dir)) + return errors.New(i18n.Tr("directory doesn't exist: %s", dir)) } searchHeaderFile := func(d *paths.Path) (bool, error) { @@ -283,7 +285,7 @@ func validateLibrary(dir *paths.Path) error { } dirContent, err := d.ReadDir() if err != nil { - return false, fmt.Errorf(tr("reading directory %s content: %w", dir, err)) + return false, fmt.Errorf("%s: %w", i18n.Tr("reading directory %s content", dir), err) } dirContent.FilterOutDirs() headerExtensions := []string{} @@ -310,5 +312,5 @@ func validateLibrary(dir *paths.Path) error { return nil } - return fmt.Errorf(tr("library not valid")) + return errors.New(i18n.Tr("library not valid")) } diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager.go b/internal/arduino/libraries/librariesmanager/librariesmanager.go index 123513b2d31..f5883d6673b 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager.go @@ -68,8 +68,6 @@ type LibrariesDir struct { scanned bool } -var tr = i18n.Tr - // Names returns an array with all the names of the installed libraries. func (lm *Explorer) Names() []string { res := make([]string, len(lm.libraries)) @@ -188,9 +186,9 @@ func (lm *LibrariesManager) getLibrariesDir(installLocation libraries.LibraryLoc } switch installLocation { case libraries.User: - return nil, errors.New(tr("user directory not set")) + return nil, errors.New(i18n.Tr("user directory not set")) case libraries.IDEBuiltIn: - return nil, errors.New(tr("built-in libraries directory not set")) + return nil, errors.New(i18n.Tr("built-in libraries directory not set")) default: return nil, fmt.Errorf("libraries directory not set: %s", installLocation.String()) } @@ -212,7 +210,7 @@ func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []* return statuses } if err != nil { - s := status.Newf(codes.FailedPrecondition, tr("reading dir %[1]s: %[2]s"), librariesDir.Path, err) + s := status.Newf(codes.FailedPrecondition, i18n.Tr("reading dir %[1]s: %[2]s", librariesDir.Path, err)) return append(statuses, s) } d.FilterDirs() @@ -223,7 +221,7 @@ func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []* for _, libDir := range libDirs { library, err := libraries.Load(libDir, librariesDir.Location) if err != nil { - s := status.Newf(codes.Internal, tr("loading library from %[1]s: %[2]s"), libDir, err) + s := status.Newf(codes.Internal, i18n.Tr("loading library from %[1]s: %[2]s", libDir, err)) statuses = append(statuses, s) continue } diff --git a/internal/arduino/libraries/librariesresolver/cpp.go b/internal/arduino/libraries/librariesresolver/cpp.go index 7f11f8a66c8..e842b764ace 100644 --- a/internal/arduino/libraries/librariesresolver/cpp.go +++ b/internal/arduino/libraries/librariesresolver/cpp.go @@ -16,6 +16,7 @@ package librariesresolver import ( + "errors" "fmt" "path/filepath" "strings" @@ -33,8 +34,6 @@ type Cpp struct { headers map[string]libraries.List } -var tr = i18n.Tr - // NewCppResolver creates a new Cpp resolver func NewCppResolver(allLibs []*libraries.Library, targetPlatform, actualPlatform *cores.PlatformRelease) *Cpp { resolver := &Cpp{ @@ -88,7 +87,7 @@ func (resolver *Cpp) ScanPlatformLibraries(allLibs []*libraries.Library, platfor func (resolver *Cpp) ScanLibrary(lib *libraries.Library) error { cppHeaders, err := lib.SourceHeaders() if err != nil { - return fmt.Errorf(tr("reading lib headers: %s"), err) + return errors.New(i18n.Tr("reading lib headers: %s", err)) } for _, cppHeader := range cppHeaders { l := resolver.headers[cppHeader] diff --git a/internal/arduino/libraries/loader.go b/internal/arduino/libraries/loader.go index 61f71f4928f..f3d3c896383 100644 --- a/internal/arduino/libraries/loader.go +++ b/internal/arduino/libraries/loader.go @@ -21,6 +21,7 @@ import ( "strings" "github.com/arduino/arduino-cli/internal/arduino/globals" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" semver "go.bug.st/relaxed-semver" @@ -51,7 +52,7 @@ func addUtilityDirectory(library *Library) { func makeNewLibrary(libraryDir *paths.Path, location LibraryLocation) (*Library, error) { libProperties, err := properties.Load(libraryDir.Join("library.properties").String()) if err != nil { - return nil, fmt.Errorf(tr("loading library.properties: %s"), err) + return nil, errors.New(i18n.Tr("loading library.properties: %s", err)) } if libProperties.Get("maintainer") == "" && libProperties.Get("email") != "" { @@ -113,7 +114,7 @@ func makeNewLibrary(libraryDir *paths.Path, location LibraryLocation) (*Library, } if err := addExamples(library); err != nil { - return nil, fmt.Errorf("%s: %w", tr("scanning sketch examples"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("scanning sketch examples"), err) } library.DirName = libraryDir.Base() library.Name = strings.TrimSpace(libProperties.Get("name")) @@ -136,7 +137,7 @@ func makeLegacyLibrary(path *paths.Path, location LibraryLocation) (*Library, er if foundHeader, err := containsHeaderFile(path); err != nil { return nil, err } else if !foundHeader { - return nil, errors.New(tr("invalid library: no header files found")) + return nil, errors.New(i18n.Tr("invalid library: no header files found")) } library := &Library{ InstallDir: path.Canonical(), @@ -151,7 +152,7 @@ func makeLegacyLibrary(path *paths.Path, location LibraryLocation) (*Library, er InDevelopment: path.Join(".development").Exist(), } if err := addExamples(library); err != nil { - return nil, fmt.Errorf("%s: %w", tr("scanning sketch examples"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("scanning sketch examples"), err) } addUtilityDirectory(library) return library, nil @@ -195,7 +196,7 @@ func addExamplesToPathList(examplesPath *paths.Path, list *paths.PathList) error func containsHeaderFile(d *paths.Path) (bool, error) { dirContent, err := d.ReadDir() if err != nil { - return false, fmt.Errorf(tr("reading directory %[1]s content: %[2]w", d, err)) + return false, fmt.Errorf("%s: %w", i18n.Tr("reading directory %[1]s content", d), err) } dirContent.FilterOutDirs() headerExtensions := []string{} diff --git a/internal/arduino/monitor/monitor.go b/internal/arduino/monitor/monitor.go index cf993e5029d..b4603f0b6c2 100644 --- a/internal/arduino/monitor/monitor.go +++ b/internal/arduino/monitor/monitor.go @@ -20,6 +20,7 @@ package monitor import ( "encoding/json" + "errors" "fmt" "io" "net" @@ -83,8 +84,6 @@ func (msg monitorMessage) String() string { return s } -var tr = i18n.Tr - // New create and connect to the given pluggable monitor func New(id string, args ...string) *PluggableMonitor { return &PluggableMonitor{ @@ -137,20 +136,20 @@ func (mon *PluggableMonitor) waitMessage(timeout time.Duration, expectedEvt stri } msg = m case <-time.After(timeout): - return nil, fmt.Errorf(tr("timeout waiting for message")) + return nil, errors.New(i18n.Tr("timeout waiting for message")) } if expectedEvt == "" { // No message processing required for this call return msg, nil } if msg.EventType != expectedEvt { - return msg, fmt.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), expectedEvt, msg.EventType) + return msg, errors.New(i18n.Tr("communication out of sync, expected '%[1]s', received '%[2]s'", expectedEvt, msg.EventType)) } if msg.Error { - return msg, fmt.Errorf(tr("command '%[1]s' failed: %[2]s"), expectedEvt, msg.Message) + return msg, errors.New(i18n.Tr("command '%[1]s' failed: %[2]s", expectedEvt, msg.Message)) } if strings.ToUpper(msg.Message) != "OK" { - return msg, fmt.Errorf(tr("communication out of sync, expected '%[1]s', received '%[2]s'"), "OK", msg.Message) + return msg, errors.New(i18n.Tr("communication out of sync, expected '%[1]s', received '%[2]s'", "OK", msg.Message)) } return msg, nil } @@ -233,7 +232,7 @@ func (mon *PluggableMonitor) Run() (err error) { if msg, err := mon.waitMessage(time.Second*10, "hello"); err != nil { return err } else if msg.ProtocolVersion > 1 { - return fmt.Errorf(tr("protocol version not supported: requested %[1]d, got %[2]d"), 1, msg.ProtocolVersion) + return errors.New(i18n.Tr("protocol version not supported: requested %[1]d, got %[2]d", 1, msg.ProtocolVersion)) } return nil } diff --git a/internal/arduino/resources/checksums.go b/internal/arduino/resources/checksums.go index 25ec3a6996b..ecd50b5bcc9 100644 --- a/internal/arduino/resources/checksums.go +++ b/internal/arduino/resources/checksums.go @@ -21,6 +21,7 @@ import ( "crypto/sha256" "encoding/hex" "encoding/json" + "errors" "fmt" "hash" "io" @@ -32,20 +33,18 @@ import ( paths "github.com/arduino/go-paths-helper" ) -var tr = i18n.Tr - // TestLocalArchiveChecksum test if the checksum of the local archive match the checksum of the DownloadResource func (r *DownloadResource) TestLocalArchiveChecksum(downloadDir *paths.Path) (bool, error) { if r.Checksum == "" { - return false, fmt.Errorf(tr("missing checksum for: %s"), r.ArchiveFileName) + return false, errors.New(i18n.Tr("missing checksum for: %s", r.ArchiveFileName)) } split := strings.SplitN(r.Checksum, ":", 2) if len(split) != 2 { - return false, fmt.Errorf(tr("invalid checksum format: %s"), r.Checksum) + return false, errors.New(i18n.Tr("invalid checksum format: %s", r.Checksum)) } digest, err := hex.DecodeString(split[1]) if err != nil { - return false, fmt.Errorf(tr("invalid hash '%[1]s': %[2]s"), split[1], err) + return false, errors.New(i18n.Tr("invalid hash '%[1]s': %[2]s", split[1], err)) } // names based on: https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#MessageDigest @@ -58,25 +57,25 @@ func (r *DownloadResource) TestLocalArchiveChecksum(downloadDir *paths.Path) (bo case "MD5": algo = crypto.MD5.New() default: - return false, fmt.Errorf(tr("unsupported hash algorithm: %s"), split[0]) + return false, errors.New(i18n.Tr("unsupported hash algorithm: %s", split[0])) } filePath, err := r.ArchivePath(downloadDir) if err != nil { - return false, fmt.Errorf(tr("getting archive path: %s"), err) + return false, errors.New(i18n.Tr("getting archive path: %s", err)) } file, err := os.Open(filePath.String()) if err != nil { - return false, fmt.Errorf(tr("opening archive file: %s"), err) + return false, errors.New(i18n.Tr("opening archive file: %s", err)) } defer file.Close() if _, err := io.Copy(algo, file); err != nil { - return false, fmt.Errorf(tr("computing hash: %s"), err) + return false, errors.New(i18n.Tr("computing hash: %s", err)) } if !bytes.Equal(algo.Sum(nil), digest) { - return false, fmt.Errorf(tr("archive hash differs from hash in index")) + return false, errors.New(i18n.Tr("archive hash differs from hash in index")) } return true, nil @@ -86,14 +85,14 @@ func (r *DownloadResource) TestLocalArchiveChecksum(downloadDir *paths.Path) (bo func (r *DownloadResource) TestLocalArchiveSize(downloadDir *paths.Path) (bool, error) { filePath, err := r.ArchivePath(downloadDir) if err != nil { - return false, fmt.Errorf(tr("getting archive path: %s"), err) + return false, errors.New(i18n.Tr("getting archive path: %s", err)) } info, err := filePath.Stat() if err != nil { - return false, fmt.Errorf(tr("getting archive info: %s"), err) + return false, errors.New(i18n.Tr("getting archive info: %s", err)) } if info.Size() != r.Size { - return false, fmt.Errorf("%s: %d != %d", tr("fetched archive size differs from size specified in index"), info.Size(), r.Size) + return false, fmt.Errorf("%s: %d != %d", i18n.Tr("fetched archive size differs from size specified in index"), info.Size(), r.Size) } return true, nil @@ -102,20 +101,20 @@ func (r *DownloadResource) TestLocalArchiveSize(downloadDir *paths.Path) (bool, // TestLocalArchiveIntegrity checks for integrity of the local archive. func (r *DownloadResource) TestLocalArchiveIntegrity(downloadDir *paths.Path) (bool, error) { if cached, err := r.IsCached(downloadDir); err != nil { - return false, fmt.Errorf(tr("testing if archive is cached: %s"), err) + return false, errors.New(i18n.Tr("testing if archive is cached: %s", err)) } else if !cached { return false, nil } if ok, err := r.TestLocalArchiveSize(downloadDir); err != nil { - return false, fmt.Errorf(tr("testing archive size: %s"), err) + return false, errors.New(i18n.Tr("testing archive size: %s", err)) } else if !ok { return false, nil } ok, err := r.TestLocalArchiveChecksum(downloadDir) if err != nil { - return false, fmt.Errorf(tr("testing archive checksum: %s"), err) + return false, errors.New(i18n.Tr("testing archive checksum: %s", err)) } return ok, nil } @@ -141,7 +140,7 @@ func computeDirChecksum(root string) (string, error) { } defer f.Close() if _, err := io.Copy(hash, f); err != nil { - return fmt.Errorf(tr("failed to compute hash of file \"%s\""), info.Name()) + return errors.New(i18n.Tr("failed to compute hash of file \"%s\"", info.Name())) } return nil }) @@ -164,7 +163,7 @@ func CheckDirChecksum(root string) (bool, error) { return false, err } if file.Checksum != checksum { - return false, fmt.Errorf(tr("Checksum differs from checksum in package.json")) + return false, errors.New(i18n.Tr("Checksum differs from checksum in package.json")) } return true, nil diff --git a/internal/arduino/resources/download.go b/internal/arduino/resources/download.go index 1699be86ecc..37c622b2aab 100644 --- a/internal/arduino/resources/download.go +++ b/internal/arduino/resources/download.go @@ -17,10 +17,11 @@ package resources import ( "context" - "fmt" + "errors" "os" "github.com/arduino/arduino-cli/internal/arduino/httpclient" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "go.bug.st/downloader/v2" @@ -32,7 +33,7 @@ import ( func (r *DownloadResource) Download(ctx context.Context, downloadDir *paths.Path, config downloader.Config, label string, downloadCB rpc.DownloadProgressCB, queryParameter string) error { path, err := r.ArchivePath(downloadDir) if err != nil { - return fmt.Errorf(tr("getting archive path: %s"), err) + return errors.New(i18n.Tr("getting archive path: %s", err)) } if _, err := path.Stat(); os.IsNotExist(err) { @@ -42,16 +43,16 @@ func (r *DownloadResource) Download(ctx context.Context, downloadDir *paths.Path ok, err := r.TestLocalArchiveIntegrity(downloadDir) if err != nil || !ok { if err := path.Remove(); err != nil { - return fmt.Errorf(tr("removing corrupted archive file: %s"), err) + return errors.New(i18n.Tr("removing corrupted archive file: %s", err)) } } else { // File is cached, nothing to do here downloadCB.Start(r.URL, label) - downloadCB.End(true, tr("%s already downloaded", label)) + downloadCB.End(true, i18n.Tr("%s already downloaded", label)) return nil } } else { - return fmt.Errorf(tr("getting archive file info: %s"), err) + return errors.New(i18n.Tr("getting archive file info: %s", err)) } return httpclient.DownloadFile(ctx, path, r.URL, queryParameter, label, downloadCB, config) } diff --git a/internal/arduino/resources/helpers.go b/internal/arduino/resources/helpers.go index 39349dd28a9..c9f87e7d02e 100644 --- a/internal/arduino/resources/helpers.go +++ b/internal/arduino/resources/helpers.go @@ -16,8 +16,9 @@ package resources import ( - "fmt" + "errors" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) @@ -35,7 +36,7 @@ func (r *DownloadResource) ArchivePath(downloadDir *paths.Path) (*paths.Path, er func (r *DownloadResource) IsCached(downloadDir *paths.Path) (bool, error) { archivePath, err := r.ArchivePath(downloadDir) if err != nil { - return false, fmt.Errorf(tr("getting archive path: %s"), err) + return false, errors.New(i18n.Tr("getting archive path: %s", err)) } return archivePath.Exist(), nil } diff --git a/internal/arduino/resources/index.go b/internal/arduino/resources/index.go index 57445e5643b..52c2dec2884 100644 --- a/internal/arduino/resources/index.go +++ b/internal/arduino/resources/index.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/httpclient" "github.com/arduino/arduino-cli/internal/arduino/security" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/codeclysm/extract/v3" @@ -61,7 +62,7 @@ func (res *IndexResource) IndexFileName() (string, error) { func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, downloadCB rpc.DownloadProgressCB, config downloader.Config) error { // Create destination directory if err := destDir.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Can't create data directory %s", destDir), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Can't create data directory %s", destDir), Cause: err} } // Create a temp dir to stage all downloads @@ -78,8 +79,8 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow return err } tmpIndexPath := tmp.Join(downloadFileName) - if err := httpclient.DownloadFile(ctx, tmpIndexPath, res.URL.String(), "", tr("Downloading index: %s", downloadFileName), downloadCB, config, downloader.NoResume); err != nil { - return &cmderrors.FailedDownloadError{Message: tr("Error downloading index '%s'", res.URL), Cause: err} + if err := httpclient.DownloadFile(ctx, tmpIndexPath, res.URL.String(), "", i18n.Tr("Downloading index: %s", downloadFileName), downloadCB, config, downloader.NoResume); err != nil { + return &cmderrors.FailedDownloadError{Message: i18n.Tr("Error downloading index '%s'", res.URL), Cause: err} } var signaturePath, tmpSignaturePath *paths.Path @@ -95,19 +96,19 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow // Extract archive in a tmp/archive subdirectory f, err := tmpIndexPath.Open() if err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error opening %s", tmpIndexPath), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error opening %s", tmpIndexPath), Cause: err} } defer f.Close() tmpArchivePath := tmp.Join("archive") _ = tmpArchivePath.MkdirAll() if err := extract.Bz2(ctx, f, tmpArchivePath.String(), nil); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error extracting %s", tmpIndexPath), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error extracting %s", tmpIndexPath), Cause: err} } // Look for index.json tmpIndexPath = tmpArchivePath.Join(indexFileName) if !tmpIndexPath.Exist() { - return &cmderrors.NotFoundError{Message: tr("Invalid archive: file %{1}s not found in archive %{2}s", indexFileName, tmpArchivePath.Base())} + return &cmderrors.NotFoundError{Message: i18n.Tr("Invalid archive: file %[1]s not found in archive %[2]s", indexFileName, tmpArchivePath.Base())} } // Look for signature @@ -120,7 +121,7 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow } else if strings.HasSuffix(downloadFileName, ".gz") { tmpUnzippedIndexPath := tmp.Join(indexFileName) if err := paths.GUnzip(tmpIndexPath, tmpUnzippedIndexPath); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error extracting %s", indexFileName), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error extracting %s", indexFileName), Cause: err} } tmpIndexPath = tmpUnzippedIndexPath } @@ -133,8 +134,8 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow // Download signature signaturePath = destDir.Join(signatureFileName) tmpSignaturePath = tmp.Join(signatureFileName) - if err := httpclient.DownloadFile(ctx, tmpSignaturePath, res.SignatureURL.String(), "", tr("Downloading index signature: %s", signatureFileName), downloadCB, config, downloader.NoResume); err != nil { - return &cmderrors.FailedDownloadError{Message: tr("Error downloading index signature '%s'", res.SignatureURL), Cause: err} + if err := httpclient.DownloadFile(ctx, tmpSignaturePath, res.SignatureURL.String(), "", i18n.Tr("Downloading index signature: %s", signatureFileName), downloadCB, config, downloader.NoResume); err != nil { + return &cmderrors.FailedDownloadError{Message: i18n.Tr("Error downloading index signature '%s'", res.SignatureURL), Cause: err} } hasSignature = true @@ -143,13 +144,13 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow if hasSignature { // Check signature... if valid, _, err := security.VerifyArduinoDetachedSignature(tmpIndexPath, tmpSignaturePath); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error verifying signature"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error verifying signature"), Cause: err} } else if !valid { return &cmderrors.SignatureVerificationFailedError{File: res.URL.String()} } } else { if res.EnforceSignatureVerification { - return &cmderrors.PermissionDeniedError{Message: tr("Error verifying signature"), Cause: errors.New(tr("missing signature"))} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error verifying signature"), Cause: errors.New(i18n.Tr("missing signature"))} } } @@ -161,23 +162,23 @@ func (res *IndexResource) Download(ctx context.Context, destDir *paths.Path, dow oldIndex := tmp.Join("old_index") if indexPath.Exist() { if err := indexPath.CopyTo(oldIndex); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error saving downloaded index"), Cause: err} } defer oldIndex.CopyTo(indexPath) // will silently fail in case of success } oldSignature := tmp.Join("old_signature") if oldSignature.Exist() { if err := signaturePath.CopyTo(oldSignature); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index signature"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error saving downloaded index signature"), Cause: err} } defer oldSignature.CopyTo(signaturePath) // will silently fail in case of success } if err := tmpIndexPath.CopyTo(indexPath); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error saving downloaded index"), Cause: err} } if hasSignature { if err := tmpSignaturePath.CopyTo(signaturePath); err != nil { - return &cmderrors.PermissionDeniedError{Message: tr("Error saving downloaded index signature"), Cause: err} + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error saving downloaded index signature"), Cause: err} } } _ = oldIndex.Remove() diff --git a/internal/arduino/resources/install.go b/internal/arduino/resources/install.go index 4c98b4be37d..76ce5de2232 100644 --- a/internal/arduino/resources/install.go +++ b/internal/arduino/resources/install.go @@ -17,9 +17,10 @@ package resources import ( "context" - "fmt" + "errors" "os" + "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" "github.com/codeclysm/extract/v3" "go.bug.st/cleanup" @@ -34,29 +35,29 @@ import ( func (release *DownloadResource) Install(downloadDir, tempPath, destDir *paths.Path) error { // Check the integrity of the package if ok, err := release.TestLocalArchiveIntegrity(downloadDir); err != nil { - return fmt.Errorf(tr("testing local archive integrity: %s", err)) + return errors.New(i18n.Tr("testing local archive integrity: %s", err)) } else if !ok { - return fmt.Errorf(tr("checking local archive integrity")) + return errors.New(i18n.Tr("checking local archive integrity")) } // Create a temporary dir to extract package if err := tempPath.MkdirAll(); err != nil { - return fmt.Errorf(tr("creating temp dir for extraction: %s", err)) + return errors.New(i18n.Tr("creating temp dir for extraction: %s", err)) } tempDir, err := tempPath.MkTempDir("package-") if err != nil { - return fmt.Errorf(tr("creating temp dir for extraction: %s", err)) + return errors.New(i18n.Tr("creating temp dir for extraction: %s", err)) } defer tempDir.RemoveAll() // Obtain the archive path and open it archivePath, err := release.ArchivePath(downloadDir) if err != nil { - return fmt.Errorf(tr("getting archive path: %s", err)) + return errors.New(i18n.Tr("getting archive path: %s", err)) } file, err := os.Open(archivePath.String()) if err != nil { - return fmt.Errorf(tr("opening archive file: %s", err)) + return errors.New(i18n.Tr("opening archive file: %s", err)) } defer file.Close() @@ -64,13 +65,13 @@ func (release *DownloadResource) Install(downloadDir, tempPath, destDir *paths.P ctx, cancel := cleanup.InterruptableContext(context.Background()) defer cancel() if err := extract.Archive(ctx, file, tempDir.String(), nil); err != nil { - return fmt.Errorf(tr("extracting archive: %s", err)) + return errors.New(i18n.Tr("extracting archive: %s", err)) } // Check package content and find package root dir root, err := findPackageRoot(tempDir) if err != nil { - return fmt.Errorf(tr("searching package root dir: %s", err)) + return errors.New(i18n.Tr("searching package root dir: %s", err)) } // Ensure container dir exists @@ -93,7 +94,7 @@ func (release *DownloadResource) Install(downloadDir, tempPath, destDir *paths.P if err := root.Rename(destDir); err != nil { // Copy the extracted root directory to the destination directory, if move failed if err := root.CopyDirTo(destDir); err != nil { - return fmt.Errorf(tr("moving extracted archive to destination dir: %s", err)) + return errors.New(i18n.Tr("moving extracted archive to destination dir: %s", err)) } } @@ -112,17 +113,17 @@ func IsDirEmpty(path *paths.Path) (bool, error) { func findPackageRoot(parent *paths.Path) (*paths.Path, error) { files, err := parent.ReadDir() if err != nil { - return nil, fmt.Errorf(tr("reading package root dir: %s", err)) + return nil, errors.New(i18n.Tr("reading package root dir: %s", err)) } files.FilterDirs() files.FilterOutPrefix("__MACOSX") if len(files) == 0 { - return nil, fmt.Errorf(tr("files in archive must be placed in a subdirectory")) + return nil, errors.New(i18n.Tr("files in archive must be placed in a subdirectory")) } if len(files) > 1 { - return nil, fmt.Errorf(tr("no unique root dir in archive, found '%[1]s' and '%[2]s'", files[0], files[1])) + return nil, errors.New(i18n.Tr("no unique root dir in archive, found '%[1]s' and '%[2]s'", files[0], files[1])) } return files[0], nil diff --git a/internal/arduino/security/signatures.go b/internal/arduino/security/signatures.go index f6e6315c8f8..fb6ed9b0697 100644 --- a/internal/arduino/security/signatures.go +++ b/internal/arduino/security/signatures.go @@ -17,7 +17,7 @@ package security import ( "embed" - "fmt" + "errors" "io" "os" @@ -26,8 +26,6 @@ import ( "github.com/arduino/go-paths-helper" ) -var tr = i18n.Tr - //go:embed keys/* var keys embed.FS @@ -71,16 +69,16 @@ func VerifyDetachedSignature(targetPath *paths.Path, signaturePath *paths.Path, func VerifySignature(targetPath *paths.Path, signaturePath *paths.Path, arduinoKeyringFile io.Reader) (bool, *openpgp.Entity, error) { keyRing, err := openpgp.ReadKeyRing(arduinoKeyringFile) if err != nil { - return false, nil, fmt.Errorf(tr("retrieving Arduino public keys: %s"), err) + return false, nil, errors.New(i18n.Tr("retrieving Arduino public keys: %s", err)) } target, err := targetPath.Open() if err != nil { - return false, nil, fmt.Errorf(tr("opening target file: %s"), err) + return false, nil, errors.New(i18n.Tr("opening target file: %s", err)) } defer target.Close() signature, err := signaturePath.Open() if err != nil { - return false, nil, fmt.Errorf(tr("opening signature file: %s"), err) + return false, nil, errors.New(i18n.Tr("opening signature file: %s", err)) } defer signature.Close() signer, err := openpgp.CheckDetachedSignature(keyRing, target, signature, nil) diff --git a/internal/arduino/sketch/profiles.go b/internal/arduino/sketch/profiles.go index a30d0f95438..b01bec167f2 100644 --- a/internal/arduino/sketch/profiles.go +++ b/internal/arduino/sketch/profiles.go @@ -18,12 +18,14 @@ package sketch import ( "crypto/sha256" "encoding/hex" + "errors" "fmt" "net/url" "regexp" "strings" "github.com/arduino/arduino-cli/internal/arduino/utils" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" semver "go.bug.st/relaxed-semver" @@ -205,13 +207,13 @@ func (p *ProfilePlatformReference) UnmarshalYAML(unmarshal func(interface{}) err return err } if platformID, ok := data["platform"]; !ok { - return fmt.Errorf(tr("missing '%s' directive", "platform")) + return errors.New(i18n.Tr("missing '%s' directive", "platform")) } else if platformID, platformVersion, ok := parseNameAndVersion(platformID); !ok { - return fmt.Errorf(tr("invalid '%s' directive", "platform")) + return errors.New(i18n.Tr("invalid '%s' directive", "platform")) } else if c, err := semver.Parse(platformVersion); err != nil { - return fmt.Errorf("%s: %w", tr("error parsing version constraints"), err) + return fmt.Errorf("%s: %w", i18n.Tr("error parsing version constraints"), err) } else if split := strings.SplitN(platformID, ":", 2); len(split) != 2 { - return fmt.Errorf("%s: %s", tr("invalid platform identifier"), platformID) + return fmt.Errorf("%s: %s", i18n.Tr("invalid platform identifier"), platformID) } else { p.Packager = split[0] p.Architecture = split[1] @@ -221,7 +223,7 @@ func (p *ProfilePlatformReference) UnmarshalYAML(unmarshal func(interface{}) err if rawIndexURL, ok := data["platform_index_url"]; ok { indexURL, err := url.Parse(rawIndexURL) if err != nil { - return fmt.Errorf("%s: %w", tr("invalid platform index URL:"), err) + return fmt.Errorf("%s: %w", i18n.Tr("invalid platform index URL:"), err) } p.PlatformIndexURL = indexURL } @@ -241,9 +243,9 @@ func (l *ProfileLibraryReference) UnmarshalYAML(unmarshal func(interface{}) erro return err } if libName, libVersion, ok := parseNameAndVersion(data); !ok { - return fmt.Errorf("%s %s", tr("invalid library directive:"), data) + return fmt.Errorf("%s %s", i18n.Tr("invalid library directive:"), data) } else if v, err := semver.Parse(libVersion); err != nil { - return fmt.Errorf("%s %w", tr("invalid version:"), err) + return fmt.Errorf("%s %w", i18n.Tr("invalid version:"), err) } else { l.Library = libName l.Version = v diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index 69c0ebdd2e1..2d0c47f35d4 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -42,20 +42,18 @@ type Sketch struct { Project *Project } -var tr = i18n.Tr - // New creates an Sketch instance by reading all the files composing a sketch and grouping them // by file type. func New(path *paths.Path) (*Sketch, error) { if path == nil { - return nil, fmt.Errorf(tr("sketch path is not valid")) + return nil, errors.New(i18n.Tr("sketch path is not valid")) } path = path.Canonical() if exist, err := path.ExistCheck(); err != nil { - return nil, fmt.Errorf("%s: %s", tr("sketch path is not valid"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("sketch path is not valid"), err) } else if !exist { - return nil, fmt.Errorf("%s: %s", tr("no such file or directory"), path) + return nil, fmt.Errorf("%s: %s", i18n.Tr("no such file or directory"), path) } if globals.MainFileValidExtensions[path.Ext()] && !path.IsDir() { path = path.Parent() @@ -68,7 +66,7 @@ func New(path *paths.Path) (*Sketch, error) { if mainFile == nil { mainFile = candidateSketchMainFile } else { - return nil, errors.New(tr("multiple main sketch files found (%[1]v, %[2]v)", + return nil, errors.New(i18n.Tr("multiple main sketch files found (%[1]v, %[2]v)", mainFile, candidateSketchMainFile, )) @@ -76,7 +74,7 @@ func New(path *paths.Path) (*Sketch, error) { } } if mainFile == nil { - return nil, fmt.Errorf(tr("main file missing from sketch: %s", path.Join(path.Base()+globals.MainFileValidExtension))) + return nil, errors.New(i18n.Tr("main file missing from sketch: %s", path.Join(path.Base()+globals.MainFileValidExtension))) } sketch := &Sketch{ @@ -92,7 +90,7 @@ func New(path *paths.Path) (*Sketch, error) { if projectFile := sketch.GetProjectPath(); projectFile.Exist() { prj, err := LoadProjectFile(projectFile) if err != nil { - return nil, fmt.Errorf("%s %w", tr("error loading sketch project file:"), err) + return nil, fmt.Errorf("%s %w", i18n.Tr("error loading sketch project file:"), err) } sketch.Project = prj } @@ -105,13 +103,9 @@ func New(path *paths.Path) (*Sketch, error) { return nil, err } - if mainFile == nil { - return nil, fmt.Errorf(tr("can't find main Sketch file in %s"), path) - } - sketchFolderFiles, err := sketch.supportedFiles() if err != nil { - return nil, fmt.Errorf("%s: %w", tr("reading sketch files"), err) + return nil, fmt.Errorf("%s: %w", i18n.Tr("reading sketch files"), err) } // Collect files @@ -140,7 +134,7 @@ func New(path *paths.Path) (*Sketch, error) { sketch.RootFolderFiles.Add(p) } } else { - return nil, errors.New(tr("unknown sketch file extension '%s'", ext)) + return nil, errors.New(i18n.Tr("unknown sketch file extension '%s'", ext)) } } @@ -201,7 +195,7 @@ func (s *Sketch) GetProfile(profileName string) (*Profile, error) { func (s *Sketch) checkSketchCasing() error { files, err := s.FullPath.ReadDir() if err != nil { - return fmt.Errorf("%s: %w", tr("reading files"), err) + return fmt.Errorf("%s: %w", i18n.Tr("reading files"), err) } files.FilterOutDirs() @@ -282,7 +276,7 @@ type InvalidSketchFolderNameError struct { } func (e *InvalidSketchFolderNameError) Error() string { - return tr("no valid sketch found in %[1]s: missing %[2]s", e.SketchFolder, e.SketchFile) + return i18n.Tr("no valid sketch found in %[1]s: missing %[2]s", e.SketchFolder, e.SketchFile) } // DefaultBuildPath generates the default build directory for a given sketch. diff --git a/internal/arduino/sketch/yaml.go b/internal/arduino/sketch/yaml.go index 952b200c225..96dcf277838 100644 --- a/internal/arduino/sketch/yaml.go +++ b/internal/arduino/sketch/yaml.go @@ -16,9 +16,11 @@ package sketch import ( + "errors" "fmt" "strings" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "gopkg.in/yaml.v3" ) @@ -75,15 +77,15 @@ func updateOrAddYamlRootEntry(path *paths.Path, key, newValue string) error { dstYaml := []byte(strings.Join(srcYaml, fmt.Sprintln()) + fmt.Sprintln()) var dst interface{} if err := yaml.Unmarshal(dstYaml, &dst); err != nil { - return fmt.Errorf("%s: %w", tr("could not update sketch project file"), err) + return fmt.Errorf("%s: %w", i18n.Tr("could not update sketch project file"), err) } dstMap, ok := dst.(map[string]interface{}) if !ok { - return fmt.Errorf(tr("could not update sketch project file")) + return errors.New(i18n.Tr("could not update sketch project file")) } writtenValue, notRemoved := dstMap[key] if (newValue == "" && notRemoved) || (newValue != "" && newValue != writtenValue) { - return fmt.Errorf(tr("could not update sketch project file")) + return errors.New(i18n.Tr("could not update sketch project file")) } // Write back the updated YAML diff --git a/internal/cli/arguments/arguments.go b/internal/cli/arguments/arguments.go index ef8a1596d8f..2d5077dbf7a 100644 --- a/internal/cli/arguments/arguments.go +++ b/internal/cli/arguments/arguments.go @@ -23,8 +23,6 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // CheckFlagsConflicts is a helper function useful to report errors when more than one conflicting flag is used func CheckFlagsConflicts(command *cobra.Command, flagNames ...string) { for _, flagName := range flagNames { @@ -33,7 +31,7 @@ func CheckFlagsConflicts(command *cobra.Command, flagNames ...string) { } } flags := "--" + strings.Join(flagNames, ", --") - msg := tr("Can't use the following flags together: %s", flags) + msg := i18n.Tr("Can't use the following flags together: %s", flags) feedback.Fatal(msg, feedback.ErrBadArgument) } @@ -44,7 +42,7 @@ func CheckFlagsMandatory(command *cobra.Command, flagNames ...string) { continue } flags := "--" + strings.Join(flagNames, ", --") - msg := tr("Flag %[1]s is mandatory when used in conjunction with: %[2]s", "--"+flagName, flags) + msg := i18n.Tr("Flag %[1]s is mandatory when used in conjunction with: %[2]s", "--"+flagName, flags) feedback.Fatal(msg, feedback.ErrBadArgument) } } diff --git a/internal/cli/arguments/discovery_timeout.go b/internal/cli/arguments/discovery_timeout.go index 140c37fcef8..c63791f64d9 100644 --- a/internal/cli/arguments/discovery_timeout.go +++ b/internal/cli/arguments/discovery_timeout.go @@ -18,6 +18,7 @@ package arguments import ( "time" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) @@ -28,7 +29,7 @@ type DiscoveryTimeout struct { // AddToCommand adds the flags used to set fqbn to the specified Command func (d *DiscoveryTimeout) AddToCommand(cmd *cobra.Command) { - cmd.Flags().DurationVar(&d.timeout, "discovery-timeout", time.Second, tr("Max time to wait for port discovery, e.g.: 30s, 1m")) + cmd.Flags().DurationVar(&d.timeout, "discovery-timeout", time.Second, i18n.Tr("Max time to wait for port discovery, e.g.: 30s, 1m")) } // Get returns the timeout diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index e1cb338c77d..a721c85d19f 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) @@ -35,12 +36,12 @@ type Fqbn struct { // AddToCommand adds the flags used to set fqbn to the specified Command func (f *Fqbn) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { - cmd.Flags().StringVarP(&f.fqbn, "fqbn", "b", "", tr("Fully Qualified Board Name, e.g.: arduino:avr:uno")) + cmd.Flags().StringVarP(&f.fqbn, "fqbn", "b", "", i18n.Tr("Fully Qualified Board Name, e.g.: arduino:avr:uno")) cmd.RegisterFlagCompletionFunc("fqbn", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return GetInstalledBoards(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }) cmd.Flags().StringSliceVar(&f.boardOptions, "board-options", []string{}, - tr("List of board options separated by commas. Or can be used multiple times for multiple options.")) + i18n.Tr("List of board options separated by commas. Or can be used multiple times for multiple options.")) } // String returns the fqbn with the board options if there are any @@ -88,7 +89,7 @@ func CalculateFQBNAndPort(ctx context.Context, portArgs *Port, fqbnArg *Fqbn, in port, err := portArgs.GetPort(ctx, instance, srv, defaultAddress, defaultProtocol) if err != nil { - feedback.Fatal(tr("Error getting port metadata: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error getting port metadata: %v", err), feedback.ErrGeneric) } return fqbn, port } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index 1d138043fbc..a9b94457e6b 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -17,13 +17,14 @@ package arguments import ( "context" - "fmt" + "errors" "time" "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -40,11 +41,11 @@ type Port struct { // AddToCommand adds the flags used to set port and protocol to the specified Command func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { - cmd.Flags().StringVarP(&p.address, "port", "p", "", tr("Upload port address, e.g.: COM3 or /dev/ttyACM2")) + cmd.Flags().StringVarP(&p.address, "port", "p", "", i18n.Tr("Upload port address, e.g.: COM3 or /dev/ttyACM2")) cmd.RegisterFlagCompletionFunc("port", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return f.Map(GetAvailablePorts(cmd.Context(), srv), (*rpc.Port).GetAddress), cobra.ShellCompDirectiveDefault }) - cmd.Flags().StringVarP(&p.protocol, "protocol", "l", "", tr("Upload port protocol, e.g: serial")) + cmd.Flags().StringVarP(&p.protocol, "protocol", "l", "", i18n.Tr("Upload port protocol, e.g: serial")) cmd.RegisterFlagCompletionFunc("protocol", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return f.Map(GetAvailablePorts(cmd.Context(), srv), (*rpc.Port).GetProtocol), cobra.ShellCompDirectiveDefault }) @@ -118,7 +119,7 @@ func (p *Port) GetPort(ctx context.Context, instance *rpc.Instance, srv rpc.Ardu Protocol: "serial", }, nil } - return nil, fmt.Errorf(tr("port not found: %[1]s %[2]s"), address, protocol) + return nil, errors.New(i18n.Tr("port not found: %[1]s %[2]s", address, protocol)) } } } @@ -137,7 +138,7 @@ func (p *Port) DetectFQBN(ctx context.Context, inst *rpc.Instance, srv rpc.Ardui Timeout: p.timeout.Get().Milliseconds(), }) if err != nil { - feedback.Fatal(tr("Error during FQBN detection: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during FQBN detection: %v", err), feedback.ErrGeneric) } for _, detectedPort := range detectedPorts.GetPorts() { port := detectedPort.GetPort() diff --git a/internal/cli/arguments/pre_post_script.go b/internal/cli/arguments/pre_post_script.go index ec96711dfa4..8d492ec06c8 100644 --- a/internal/cli/arguments/pre_post_script.go +++ b/internal/cli/arguments/pre_post_script.go @@ -17,6 +17,7 @@ package arguments import ( "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) @@ -34,10 +35,10 @@ type PrePostScriptsFlags struct { // AddToCommand adds flags that can be used to force running or skipping // of post installation scripts func (p *PrePostScriptsFlags) AddToCommand(cmd *cobra.Command) { - cmd.Flags().BoolVar(&p.runPostInstall, "run-post-install", false, tr("Force run of post-install scripts (if the CLI is not running interactively).")) - cmd.Flags().BoolVar(&p.skipPostInstall, "skip-post-install", false, tr("Force skip of post-install scripts (if the CLI is running interactively).")) - cmd.Flags().BoolVar(&p.runPreUninstall, "run-pre-uninstall", false, tr("Force run of pre-uninstall scripts (if the CLI is not running interactively).")) - cmd.Flags().BoolVar(&p.skipPreUninstall, "skip-pre-uninstall", false, tr("Force skip of pre-uninstall scripts (if the CLI is running interactively).")) + cmd.Flags().BoolVar(&p.runPostInstall, "run-post-install", false, i18n.Tr("Force run of post-install scripts (if the CLI is not running interactively).")) + cmd.Flags().BoolVar(&p.skipPostInstall, "skip-post-install", false, i18n.Tr("Force skip of post-install scripts (if the CLI is running interactively).")) + cmd.Flags().BoolVar(&p.runPreUninstall, "run-pre-uninstall", false, i18n.Tr("Force run of pre-uninstall scripts (if the CLI is not running interactively).")) + cmd.Flags().BoolVar(&p.skipPreUninstall, "skip-pre-uninstall", false, i18n.Tr("Force skip of pre-uninstall scripts (if the CLI is running interactively).")) } // GetRunPostInstall returns the run-post-install flag value diff --git a/internal/cli/arguments/profiles.go b/internal/cli/arguments/profiles.go index 59d56656fa6..be7fd6a2acd 100644 --- a/internal/cli/arguments/profiles.go +++ b/internal/cli/arguments/profiles.go @@ -16,6 +16,7 @@ package arguments import ( + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) @@ -29,7 +30,7 @@ type Profile struct { // AddToCommand adds the flags used to set fqbn to the specified Command func (f *Profile) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { - cmd.Flags().StringVarP(&f.profile, "profile", "m", "", tr("Sketch profile to use")) + cmd.Flags().StringVarP(&f.profile, "profile", "m", "", i18n.Tr("Sketch profile to use")) cmd.RegisterFlagCompletionFunc("profile", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { var sketchProfile string if len(args) > 0 { diff --git a/internal/cli/arguments/programmer.go b/internal/cli/arguments/programmer.go index 6f590b85164..a077adc1b5c 100644 --- a/internal/cli/arguments/programmer.go +++ b/internal/cli/arguments/programmer.go @@ -18,6 +18,7 @@ package arguments import ( "context" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) @@ -31,7 +32,7 @@ type Programmer struct { // AddToCommand adds the flags used to set the programmer to the specified Command func (p *Programmer) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { - cmd.Flags().StringVarP(&p.programmer, "programmer", "P", "", tr("Programmer to use, e.g: atmel_ice")) + cmd.Flags().StringVarP(&p.programmer, "programmer", "P", "", i18n.Tr("Programmer to use, e.g: atmel_ice")) cmd.RegisterFlagCompletionFunc("programmer", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) { return GetInstalledProgrammers(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }) diff --git a/internal/cli/arguments/reference.go b/internal/cli/arguments/reference.go index 613a16912fa..8c09b532a72 100644 --- a/internal/cli/arguments/reference.go +++ b/internal/cli/arguments/reference.go @@ -17,11 +17,12 @@ package arguments import ( "context" - "fmt" + "errors" "strings" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" ) @@ -65,30 +66,30 @@ func ParseReference(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg s logrus.Infof("Parsing reference %s", arg) ret := &Reference{} if arg == "" { - return nil, fmt.Errorf(tr("invalid empty core argument")) + return nil, errors.New(i18n.Tr("invalid empty core argument")) } toks := strings.SplitN(arg, "@", 2) if toks[0] == "" { - return nil, fmt.Errorf(tr("invalid empty core reference '%s'"), arg) + return nil, errors.New(i18n.Tr("invalid empty core reference '%s'", arg)) } ret.PackageName = toks[0] if len(toks) > 1 { if toks[1] == "" { - return nil, fmt.Errorf(tr("invalid empty core version: '%s'"), arg) + return nil, errors.New(i18n.Tr("invalid empty core version: '%s'", arg)) } ret.Version = toks[1] } toks = strings.Split(ret.PackageName, ":") if len(toks) != 2 { - return nil, fmt.Errorf(tr("invalid item %s"), arg) + return nil, errors.New(i18n.Tr("invalid item %s", arg)) } if toks[0] == "" { - return nil, fmt.Errorf(tr("invalid empty core name '%s'"), arg) + return nil, errors.New(i18n.Tr("invalid empty core name '%s'", arg)) } if toks[1] == "" { - return nil, fmt.Errorf(tr("invalid empty core architecture '%s'"), arg) + return nil, errors.New(i18n.Tr("invalid empty core architecture '%s'", arg)) } ret.PackageName = toks[0] ret.Architecture = toks[1] diff --git a/internal/cli/arguments/show_properties.go b/internal/cli/arguments/show_properties.go index ecf3108b639..723ea94df91 100644 --- a/internal/cli/arguments/show_properties.go +++ b/internal/cli/arguments/show_properties.go @@ -16,8 +16,9 @@ package arguments import ( - "fmt" + "errors" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/spf13/cobra" ) @@ -48,7 +49,7 @@ func (p *ShowProperties) Get() (ShowPropertiesMode, error) { case "expanded": return ShowPropertiesExpanded, nil default: - return ShowPropertiesDisabled, fmt.Errorf(tr("invalid option '%s'.", p.arg)) + return ShowPropertiesDisabled, errors.New(i18n.Tr("invalid option '%s'.", p.arg)) } } @@ -56,7 +57,7 @@ func (p *ShowProperties) Get() (ShowPropertiesMode, error) { func (p *ShowProperties) AddToCommand(command *cobra.Command) { command.Flags().StringVar(&p.arg, "show-properties", "disabled", - tr(`Show build properties. The properties are expanded, use "--show-properties=unexpanded" if you want them exactly as they are defined.`), + i18n.Tr(`Show build properties. The properties are expanded, use "--show-properties=unexpanded" if you want them exactly as they are defined.`), ) command.Flags().Lookup("show-properties").NoOptDefVal = "expanded" // default if the flag is present with no value } diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index e946c4fd6a2..8a912e0dbc8 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -20,6 +20,7 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -33,7 +34,7 @@ func InitSketchPath(path string) (sketchPath *paths.Path) { } else { wd, err := paths.Getwd() if err != nil { - feedback.Fatal(tr("Couldn't get current working directory: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Couldn't get current working directory: %v", err), feedback.ErrGeneric) } logrus.Infof("Reading sketch from dir: %s", wd) sketchPath = wd diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index c8b8dca3e28..871f0bbd5dc 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/spf13/cobra" ) @@ -31,9 +32,9 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var fqbn arguments.Fqbn var programmer arguments.Programmer attachCommand := &cobra.Command{ - Use: fmt.Sprintf("attach [-p <%s>] [-b <%s>] [-P <%s>] [%s]", tr("port"), tr("FQBN"), tr("programmer"), tr("sketchPath")), - Short: tr("Attaches a sketch to a board."), - Long: tr("Sets the default values for port and FQBN. If no port, FQBN or programmer are specified, the current default port, FQBN and programmer are displayed."), + Use: fmt.Sprintf("attach [-p <%s>] [-b <%s>] [-P <%s>] [%s]", i18n.Tr("port"), i18n.Tr("FQBN"), i18n.Tr("programmer"), i18n.Tr("sketchPath")), + Short: i18n.Tr("Attaches a sketch to a board."), + Long: i18n.Tr("Sets the default values for port and FQBN. If no port, FQBN or programmer are specified, the current default port, FQBN and programmer are displayed."), Example: " " + os.Args[0] + " board attach -p /dev/ttyACM0\n" + " " + os.Args[0] + " board attach -p /dev/ttyACM0 HelloWorld\n" + " " + os.Args[0] + " board attach -b arduino:samd:mkr1000" + @@ -108,10 +109,10 @@ func (b *boardAttachResult) Data() interface{} { func (b *boardAttachResult) String() string { if b.Port == nil && b.Fqbn == "" && b.Programmer == "" { - return tr("No default port, FQBN or programmer set") + return i18n.Tr("No default port, FQBN or programmer set") } - res := fmt.Sprintf("%s: %s\n", tr("Default port set to"), b.Port) - res += fmt.Sprintf("%s: %s\n", tr("Default FQBN set to"), b.Fqbn) - res += fmt.Sprintf("%s: %s\n", tr("Default programmer set to"), b.Programmer) + res := fmt.Sprintf("%s: %s\n", i18n.Tr("Default port set to"), b.Port) + res += fmt.Sprintf("%s: %s\n", i18n.Tr("Default FQBN set to"), b.Fqbn) + res += fmt.Sprintf("%s: %s\n", i18n.Tr("Default programmer set to"), b.Programmer) return res } diff --git a/internal/cli/board/board.go b/internal/cli/board/board.go index f07ff8c0ac3..23bc050f071 100644 --- a/internal/cli/board/board.go +++ b/internal/cli/board/board.go @@ -23,15 +23,13 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `board` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { boardCommand := &cobra.Command{ Use: "board", - Short: tr("Arduino board commands."), - Long: tr("Arduino board commands."), - Example: " # " + tr("Lists all connected boards.") + "\n" + + Short: i18n.Tr("Arduino board commands."), + Long: i18n.Tr("Arduino board commands."), + Example: " # " + i18n.Tr("Lists all connected boards.") + "\n" + " " + os.Args[0] + " board list", } diff --git a/internal/cli/board/details.go b/internal/cli/board/details.go index 4e7d8579f19..5023050c579 100644 --- a/internal/cli/board/details.go +++ b/internal/cli/board/details.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/fatih/color" "github.com/sirupsen/logrus" @@ -37,9 +38,9 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var fqbn arguments.Fqbn var showProperties arguments.ShowProperties var detailsCommand = &cobra.Command{ - Use: fmt.Sprintf("details -b <%s>", tr("FQBN")), - Short: tr("Print details about a board."), - Long: tr("Show information about a board, in particular if the board has options to be specified in the FQBN."), + Use: fmt.Sprintf("details -b <%s>", i18n.Tr("FQBN")), + Short: i18n.Tr("Print details about a board."), + Long: i18n.Tr("Show information about a board, in particular if the board has options to be specified in the FQBN."), Example: " " + os.Args[0] + " board details -b arduino:avr:nano", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { @@ -48,8 +49,8 @@ func initDetailsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } fqbn.AddToCommand(detailsCommand, srv) - detailsCommand.Flags().BoolVarP(&showFullDetails, "full", "f", false, tr("Show full board details")) - detailsCommand.Flags().BoolVarP(&listProgrammers, "list-programmers", "", false, tr("Show list of available programmers")) + detailsCommand.Flags().BoolVarP(&showFullDetails, "full", "f", false, i18n.Tr("Show full board details")) + detailsCommand.Flags().BoolVarP(&listProgrammers, "list-programmers", "", false, i18n.Tr("Show list of available programmers")) detailsCommand.MarkFlagRequired("fqbn") showProperties.AddToCommand(detailsCommand) return detailsCommand @@ -70,7 +71,7 @@ func runDetailsCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, fq DoNotExpandBuildProperties: showPropertiesMode == arguments.ShowPropertiesUnexpanded, }) if err != nil { - feedback.Fatal(tr("Error getting board details: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error getting board details: %v", err), feedback.ErrGeneric) } feedback.PrintResult(detailsResult{ @@ -107,7 +108,7 @@ func (dr detailsResult) String() string { if dr.listProgrammers { t := table.New() - t.AddRow(tr("Id"), tr("Programmer name")) + t.AddRow(i18n.Tr("Id"), i18n.Tr("Programmer name")) for _, programmer := range details.Programmers { t.AddRow(programmer.Id, programmer.Name) } @@ -135,13 +136,13 @@ func (dr detailsResult) String() string { } t.SetColumnWidthMode(1, table.Average) - t.AddRow(tr("Board name:"), details.Name) - t.AddRow(tr("FQBN:"), details.Fqbn) - addIfNotEmpty(tr("Board version:"), details.Version) + t.AddRow(i18n.Tr("Board name:"), details.Name) + t.AddRow(i18n.Tr("FQBN:"), details.Fqbn) + addIfNotEmpty(i18n.Tr("Board version:"), details.Version) if details.Official { t.AddRow() // get some space from above - t.AddRow(tr("Official Arduino board:"), + t.AddRow(i18n.Tr("Official Arduino board:"), table.NewCell("✔", color.New(color.FgGreen))) } @@ -150,7 +151,7 @@ func (dr detailsResult) String() string { continue } t.AddRow() // get some space from above - header := tr("Identification properties:") + header := i18n.Tr("Identification properties:") keys := idp.Properties.Keys() for _, k := range keys { t.AddRow(header, k+"="+idp.Properties.Get(k)) @@ -159,35 +160,35 @@ func (dr detailsResult) String() string { } t.AddRow() // get some space from above - addIfNotEmpty(tr("Package name:"), details.Package.Name) - addIfNotEmpty(tr("Package maintainer:"), details.Package.Maintainer) - addIfNotEmpty(tr("Package URL:"), details.Package.Url) - addIfNotEmpty(tr("Package website:"), details.Package.WebsiteUrl) - addIfNotEmpty(tr("Package online help:"), details.Package.Help.Online) + addIfNotEmpty(i18n.Tr("Package name:"), details.Package.Name) + addIfNotEmpty(i18n.Tr("Package maintainer:"), details.Package.Maintainer) + addIfNotEmpty(i18n.Tr("Package URL:"), details.Package.Url) + addIfNotEmpty(i18n.Tr("Package website:"), details.Package.WebsiteUrl) + addIfNotEmpty(i18n.Tr("Package online help:"), details.Package.Help.Online) t.AddRow() // get some space from above - addIfNotEmpty(tr("Platform name:"), details.Platform.Name) - addIfNotEmpty(tr("Platform category:"), details.Platform.Category) - addIfNotEmpty(tr("Platform architecture:"), details.Platform.Architecture) - addIfNotEmpty(tr("Platform URL:"), details.Platform.Url) - addIfNotEmpty(tr("Platform file name:"), details.Platform.ArchiveFilename) + addIfNotEmpty(i18n.Tr("Platform name:"), details.Platform.Name) + addIfNotEmpty(i18n.Tr("Platform category:"), details.Platform.Category) + addIfNotEmpty(i18n.Tr("Platform architecture:"), details.Platform.Architecture) + addIfNotEmpty(i18n.Tr("Platform URL:"), details.Platform.Url) + addIfNotEmpty(i18n.Tr("Platform file name:"), details.Platform.ArchiveFilename) if details.Platform.Size != 0 { - addIfNotEmpty(tr("Platform size (bytes):"), fmt.Sprint(details.Platform.Size)) + addIfNotEmpty(i18n.Tr("Platform size (bytes):"), fmt.Sprint(details.Platform.Size)) } - addIfNotEmpty(tr("Platform checksum:"), details.Platform.Checksum) + addIfNotEmpty(i18n.Tr("Platform checksum:"), details.Platform.Checksum) t.AddRow() // get some space from above tab.SetColumnWidthMode(1, table.Average) for _, tool := range details.ToolsDependencies { - tab.AddRow(tr("Required tool:"), tool.Packager+":"+tool.Name, tool.Version) + tab.AddRow(i18n.Tr("Required tool:"), tool.Packager+":"+tool.Name, tool.Version) if dr.showFullDetails { for _, sys := range tool.Systems { - tab.AddRow("", tr("OS:"), sys.Host) - tab.AddRow("", tr("File:"), sys.ArchiveFilename) - tab.AddRow("", tr("Size (bytes):"), fmt.Sprint(sys.Size)) - tab.AddRow("", tr("Checksum:"), sys.Checksum) - tab.AddRow("", tr("URL:"), sys.Url) + tab.AddRow("", i18n.Tr("OS:"), sys.Host) + tab.AddRow("", i18n.Tr("File:"), sys.ArchiveFilename) + tab.AddRow("", i18n.Tr("Size (bytes):"), fmt.Sprint(sys.Size)) + tab.AddRow("", i18n.Tr("Checksum:"), sys.Checksum) + tab.AddRow("", i18n.Tr("URL:"), sys.Url) tab.AddRow() // get some space from above } } @@ -196,7 +197,7 @@ func (dr detailsResult) String() string { green := color.New(color.FgGreen) tab.AddRow() // get some space from above for _, option := range details.ConfigOptions { - tab.AddRow(tr("Option:"), option.OptionLabel, "", option.Option) + tab.AddRow(i18n.Tr("Option:"), option.OptionLabel, "", option.Option) for _, value := range option.Values { if value.Selected { tab.AddRow("", @@ -212,7 +213,7 @@ func (dr detailsResult) String() string { } } - tab.AddRow(tr("Programmers:"), tr("ID"), tr("Name"), "") + tab.AddRow(i18n.Tr("Programmers:"), i18n.Tr("ID"), i18n.Tr("Name"), "") for _, programmer := range details.Programmers { if programmer.Id == details.DefaultProgrammerID { tab.AddRow("", table.NewCell(programmer.Id, green), table.NewCell(programmer.Name, green), table.NewCell("✔ (default)", green)) diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 20001f2ad82..ffc49431d21 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -30,6 +30,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -41,8 +42,8 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var fqbn arguments.Fqbn listCommand := &cobra.Command{ Use: "list", - Short: tr("List connected boards."), - Long: tr("Detects and displays a list of boards connected to the current computer."), + Short: i18n.Tr("List connected boards."), + Long: i18n.Tr("Detects and displays a list of boards connected to the current computer."), Example: " " + os.Args[0] + " board list --discovery-timeout 10s", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { @@ -52,7 +53,7 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { timeoutArg.AddToCommand(listCommand) fqbn.AddToCommand(listCommand, srv) - listCommand.Flags().BoolVarP(&watch, "watch", "w", false, tr("Command keeps running and prints list of connected boards whenever there is a change.")) + listCommand.Flags().BoolVarP(&watch, "watch", "w", false, i18n.Tr("Command keeps running and prints list of connected boards whenever there is a change.")) return listCommand } @@ -76,13 +77,13 @@ func runListCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, watch discoveryErrors := list.GetWarnings() var invalidFQBNErr *cmderrors.InvalidFQBNError if errors.As(err, &invalidFQBNErr) { - feedback.Fatal(tr(err.Error()), feedback.ErrBadArgument) + feedback.Fatal(err.Error(), feedback.ErrBadArgument) } if err != nil { - feedback.Warning(tr("Error detecting boards: %v", err)) + feedback.Warning(i18n.Tr("Error detecting boards: %v", err)) } for _, err := range discoveryErrors { - feedback.Warning(tr("Error starting discovery: %v", err)) + feedback.Warning(i18n.Tr("Error starting discovery: %v", err)) } feedback.PrintResult(listResult{result.NewDetectedPorts(ports)}) @@ -92,13 +93,13 @@ func watchList(ctx context.Context, inst *rpc.Instance, srv rpc.ArduinoCoreServi stream, eventsChan := commands.BoardListWatchProxyToChan(ctx) err := srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: inst}, stream) if err != nil { - feedback.Fatal(tr("Error detecting boards: %v", err), feedback.ErrNetwork) + feedback.Fatal(i18n.Tr("Error detecting boards: %v", err), feedback.ErrNetwork) } // This is done to avoid printing the header each time a new event is received if feedback.GetFormat() == feedback.Text { t := table.New() - t.SetHeader(tr("Port"), tr("Type"), tr("Event"), tr("Board Name"), tr("FQBN"), tr("Core")) + t.SetHeader(i18n.Tr("Port"), i18n.Tr("Type"), i18n.Tr("Event"), i18n.Tr("Board Name"), i18n.Tr("FQBN"), i18n.Tr("Core")) feedback.Print(t.Render()) } @@ -126,7 +127,7 @@ func (dr listResult) Data() interface{} { func (dr listResult) String() string { if len(dr.Ports) == 0 { - return tr("No boards found.") + return i18n.Tr("No boards found.") } sort.Slice(dr.Ports, func(i, j int) bool { @@ -136,7 +137,7 @@ func (dr listResult) String() string { }) t := table.New() - t.SetHeader(tr("Port"), tr("Protocol"), tr("Type"), tr("Board Name"), tr("FQBN"), tr("Core")) + t.SetHeader(i18n.Tr("Port"), i18n.Tr("Protocol"), i18n.Tr("Type"), i18n.Tr("Board Name"), i18n.Tr("FQBN"), i18n.Tr("Core")) for _, detectedPort := range dr.Ports { port := detectedPort.Port protocol := port.Protocol @@ -168,7 +169,7 @@ func (dr listResult) String() string { protocol = "" } } else { - board := tr("Unknown") + board := i18n.Tr("Unknown") fqbn := "" coreName := "" t.AddRow(address, protocol, protocolLabel, board, fqbn, coreName) @@ -192,8 +193,8 @@ func (dr watchEventResult) String() string { t := table.New() event := map[string]string{ - "add": tr("Connected"), - "remove": tr("Disconnected"), + "add": i18n.Tr("Connected"), + "remove": i18n.Tr("Disconnected"), }[dr.Type] address := fmt.Sprintf("%s://%s", dr.Port.Protocol, dr.Port.Address) diff --git a/internal/cli/board/listall.go b/internal/cli/board/listall.go index 55381ba2ffc..aeb46c84061 100644 --- a/internal/cli/board/listall.go +++ b/internal/cli/board/listall.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -34,9 +35,9 @@ var showHiddenBoard bool func initListAllCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var listAllCommand = &cobra.Command{ - Use: fmt.Sprintf("listall [%s]", tr("boardname")), - Short: tr("List all known boards and their corresponding FQBN."), - Long: tr(`List all boards that have the support platform installed. You can search + Use: fmt.Sprintf("listall [%s]", i18n.Tr("boardname")), + Short: i18n.Tr("List all known boards and their corresponding FQBN."), + Long: i18n.Tr(`List all boards that have the support platform installed. You can search for a specific board if you specify the board name`), Example: "" + " " + os.Args[0] + " board listall\n" + @@ -46,7 +47,7 @@ for a specific board if you specify the board name`), runListAllCommand(cmd.Context(), args, srv) }, } - listAllCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, tr("Show also boards marked as 'hidden' in the platform")) + listAllCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, i18n.Tr("Show also boards marked as 'hidden' in the platform")) return listAllCommand } @@ -62,7 +63,7 @@ func runListAllCommand(ctx context.Context, args []string, srv rpc.ArduinoCoreSe IncludeHiddenBoards: showHiddenBoard, }) if err != nil { - feedback.Fatal(tr("Error listing boards: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error listing boards: %v", err), feedback.ErrGeneric) } feedback.PrintResult(resultAll{result.NewBoardListAllResponse(list)}) @@ -80,7 +81,7 @@ func (dr resultAll) Data() interface{} { func (dr resultAll) String() string { t := table.New() - t.SetHeader(tr("Board Name"), tr("FQBN"), "") + t.SetHeader(i18n.Tr("Board Name"), i18n.Tr("FQBN"), "") if dr.list == nil || len(dr.list.Boards) == 0 { return t.Render() @@ -93,7 +94,7 @@ func (dr resultAll) String() string { for _, item := range dr.list.Boards { hidden := "" if item.IsHidden { - hidden = tr("(hidden)") + hidden = i18n.Tr("(hidden)") } t.AddRow(item.Name, item.Fqbn, hidden) } diff --git a/internal/cli/board/search.go b/internal/cli/board/search.go index 42b85785788..5df42f6009c 100644 --- a/internal/cli/board/search.go +++ b/internal/cli/board/search.go @@ -26,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -33,9 +34,9 @@ import ( func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var searchCommand = &cobra.Command{ - Use: fmt.Sprintf("search [%s]", tr("boardname")), - Short: tr("Search for a board in the Boards Manager."), - Long: tr(`Search for a board in the Boards Manager using the specified keywords.`), + Use: fmt.Sprintf("search [%s]", i18n.Tr("boardname")), + Short: i18n.Tr("Search for a board in the Boards Manager."), + Long: i18n.Tr(`Search for a board in the Boards Manager using the specified keywords.`), Example: "" + " " + os.Args[0] + " board search\n" + " " + os.Args[0] + " board search zero", @@ -44,7 +45,7 @@ func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { runSearchCommand(cmd.Context(), srv, args) }, } - searchCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, tr("Show also boards marked as 'hidden' in the platform")) + searchCommand.Flags().BoolVarP(&showHiddenBoard, "show-hidden", "a", false, i18n.Tr("Show also boards marked as 'hidden' in the platform")) return searchCommand } @@ -59,7 +60,7 @@ func runSearchCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg IncludeHiddenBoards: showHiddenBoard, }) if err != nil { - feedback.Fatal(tr("Error searching boards: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error searching boards: %v", err), feedback.ErrGeneric) } feedback.PrintResult(searchResults{result.NewBoardListItems(res.GetBoards())}) @@ -81,7 +82,7 @@ func (r searchResults) String() string { } t := table.New() - t.SetHeader(tr("Board Name"), tr("FQBN"), tr("Platform ID"), "") + t.SetHeader(i18n.Tr("Board Name"), i18n.Tr("FQBN"), i18n.Tr("Platform ID"), "") sort.Slice(r.Boards, func(i, j int) bool { return r.Boards[i].Name < r.Boards[j].Name @@ -90,7 +91,7 @@ func (r searchResults) String() string { for _, item := range r.Boards { hidden := "" if item.IsHidden { - hidden = tr("(hidden)") + hidden = i18n.Tr("(hidden)") } t.AddRow(item.Name, item.Fqbn, item.Platform.Metadata.Id, hidden) } diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 7c8f4c16896..5187036aabc 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -45,8 +45,8 @@ var ( func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { burnBootloaderCommand := &cobra.Command{ Use: "burn-bootloader", - Short: tr("Upload the bootloader."), - Long: tr("Upload the bootloader on the board using an external programmer."), + Short: i18n.Tr("Upload the bootloader."), + Long: i18n.Tr("Upload the bootloader on the board using an external programmer."), Example: " " + os.Args[0] + " burn-bootloader -b arduino:avr:uno -P atmel_ice", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { @@ -57,9 +57,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { fqbn.AddToCommand(burnBootloaderCommand, srv) port.AddToCommand(burnBootloaderCommand, srv) programmer.AddToCommand(burnBootloaderCommand, srv) - burnBootloaderCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) - burnBootloaderCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, tr("Turns on verbose mode.")) - burnBootloaderCommand.Flags().BoolVar(&dryRun, "dry-run", false, tr("Do not perform the actual upload, just log out actions")) + burnBootloaderCommand.Flags().BoolVarP(&verify, "verify", "t", false, i18n.Tr("Verify uploaded binary after the upload.")) + burnBootloaderCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, i18n.Tr("Turns on verbose mode.")) + burnBootloaderCommand.Flags().BoolVar(&dryRun, "dry-run", false, i18n.Tr("Do not perform the actual upload, just log out actions")) burnBootloaderCommand.Flags().MarkHidden("dry-run") return burnBootloaderCommand @@ -73,7 +73,7 @@ func runBootloaderCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) // We don't need a Sketch to upload a board's bootloader discoveryPort, err := port.GetPort(ctx, instance, srv, "", "") if err != nil { - feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during Upload: %v", err), feedback.ErrGeneric) } stdOut, stdErr, res := feedback.OutputStreams() @@ -94,7 +94,7 @@ func runBootloaderCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } - feedback.Fatal(tr("Error during Upload: %v", err), errcode) + feedback.Fatal(i18n.Tr("Error during Upload: %v", err), errcode) } feedback.PrintResult(res()) } diff --git a/internal/cli/cache/cache.go b/internal/cli/cache/cache.go index e6b14ebe90d..38b12c3c0fa 100644 --- a/internal/cli/cache/cache.go +++ b/internal/cli/cache/cache.go @@ -23,15 +23,13 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `cache` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cacheCommand := &cobra.Command{ Use: "cache", - Short: tr("Arduino cache commands."), - Long: tr("Arduino cache commands."), - Example: "# " + tr("Clean caches.") + "\n" + + Short: i18n.Tr("Arduino cache commands."), + Long: i18n.Tr("Arduino cache commands."), + Example: "# " + i18n.Tr("Clean caches.") + "\n" + " " + os.Args[0] + " cache clean\n\n", } diff --git a/internal/cli/cache/clean.go b/internal/cli/cache/clean.go index 184d2e65b90..d5bfead5ac3 100644 --- a/internal/cli/cache/clean.go +++ b/internal/cli/cache/clean.go @@ -20,6 +20,7 @@ import ( "os" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -28,8 +29,8 @@ import ( func initCleanCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cleanCommand := &cobra.Command{ Use: "clean", - Short: tr("Delete Boards/Library Manager download cache."), - Long: tr("Delete contents of the downloads cache folder, where archive files are staged during installation of libraries and boards platforms."), + Short: i18n.Tr("Delete Boards/Library Manager download cache."), + Long: i18n.Tr("Delete contents of the downloads cache folder, where archive files are staged during installation of libraries and boards platforms."), Example: " " + os.Args[0] + " cache clean", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { @@ -44,6 +45,6 @@ func runCleanCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { _, err := srv.CleanDownloadCacheDirectory(ctx, &rpc.CleanDownloadCacheDirectoryRequest{}) if err != nil { - feedback.Fatal(tr("Error cleaning caches: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error cleaning caches: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/cli.go b/internal/cli/cli.go index c2333c1827b..91651b03c23 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -68,7 +68,6 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { logFormat string jsonOutput bool outputFormat string - configFile string additionalUrls []string ) @@ -86,9 +85,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd := &cobra.Command{ Use: "arduino-cli", - Short: tr("Arduino CLI."), - Long: tr("Arduino Command Line Interface (arduino-cli)."), - Example: fmt.Sprintf(" %s <%s> [%s...]", os.Args[0], tr("command"), tr("flags")), + Short: i18n.Tr("Arduino CLI."), + Long: i18n.Tr("Arduino Command Line Interface (arduino-cli)."), + Example: fmt.Sprintf(" %s <%s> [%s...]", os.Args[0], i18n.Tr("command"), i18n.Tr("flags")), PersistentPreRun: func(cmd *cobra.Command, args []string) { ctx := cmd.Context() @@ -99,7 +98,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } if outputFormat != "text" { cmd.SetHelpFunc(func(cmd *cobra.Command, args []string) { - feedback.Fatal(tr("Should show help message, but it is available only in TEXT mode."), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Should show help message, but it is available only in TEXT mode."), feedback.ErrBadArgument) }) } @@ -164,25 +163,27 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.AddCommand(version.NewCommand(srv)) cmd.AddCommand(feedback.NewCommand()) - cmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, tr("Print the logs on the standard output.")) + cmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, i18n.Tr("Print the logs on the standard output.")) cmd.Flag("verbose").Hidden = true - cmd.PersistentFlags().BoolVar(&verbose, "log", false, tr("Print the logs on the standard output.")) + cmd.PersistentFlags().BoolVar(&verbose, "log", false, i18n.Tr("Print the logs on the standard output.")) validLogLevels := []string{"trace", "debug", "info", "warn", "error", "fatal", "panic"} - cmd.PersistentFlags().StringVar(&logLevel, "log-level", defaultLogLevel, tr("Messages with this level and above will be logged. Valid levels are: %s", strings.Join(validLogLevels, ", "))) + cmd.PersistentFlags().StringVar(&logLevel, "log-level", defaultLogLevel, i18n.Tr("Messages with this level and above will be logged. Valid levels are: %s", strings.Join(validLogLevels, ", "))) cmd.RegisterFlagCompletionFunc("log-level", cobra.FixedCompletions(validLogLevels, cobra.ShellCompDirectiveDefault)) - cmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, tr("Path to the file where logs will be written.")) + cmd.PersistentFlags().StringVar(&logFile, "log-file", defaultLogFile, i18n.Tr("Path to the file where logs will be written.")) validLogFormats := []string{"text", "json"} - cmd.PersistentFlags().StringVar(&logFormat, "log-format", defaultLogFormat, tr("The output format for the logs, can be: %s", strings.Join(validLogFormats, ", "))) + cmd.PersistentFlags().StringVar(&logFormat, "log-format", defaultLogFormat, i18n.Tr("The output format for the logs, can be: %s", strings.Join(validLogFormats, ", "))) cmd.RegisterFlagCompletionFunc("log-format", cobra.FixedCompletions(validLogFormats, cobra.ShellCompDirectiveDefault)) validOutputFormats := []string{"text", "json", "jsonmini"} - cmd.PersistentFlags().StringVar(&outputFormat, "format", "text", tr("The command output format, can be: %s", strings.Join(validOutputFormats, ", "))) + cmd.PersistentFlags().StringVar(&outputFormat, "format", "text", i18n.Tr("The command output format, can be: %s", strings.Join(validOutputFormats, ", "))) cmd.RegisterFlagCompletionFunc("format", cobra.FixedCompletions(validOutputFormats, cobra.ShellCompDirectiveDefault)) cmd.Flag("format").Hidden = true - cmd.PersistentFlags().BoolVar(&jsonOutput, "json", false, tr("Print the output in JSON format.")) - cmd.PersistentFlags().StringVar(&configFile, "config-file", "", tr("The custom config file (if not specified the default will be used).")) - cmd.PersistentFlags().StringSliceVar(&additionalUrls, "additional-urls", defaultAdditionalURLs, tr("Comma-separated list of additional URLs for the Boards Manager.")) + cmd.PersistentFlags().BoolVar(&jsonOutput, "json", false, i18n.Tr("Print the output in JSON format.")) + cmd.PersistentFlags().StringSliceVar(&additionalUrls, "additional-urls", defaultAdditionalURLs, i18n.Tr("Comma-separated list of additional URLs for the Boards Manager.")) cmd.PersistentFlags().BoolVar(&noColor, "no-color", defaultOutputNoColor, "Disable colored output.") + // We are not using cobra to parse this flag, because we manually parse it in main.go. + // Just leaving it here so cobra will not complain about it. + cmd.PersistentFlags().String("config-file", "", i18n.Tr("The custom config file (if not specified the default will be used).")) return cmd } @@ -215,7 +216,7 @@ func preRun(verbose bool, outputFormat string, logLevel, logFile, logFormat stri // use the output format to configure the Feedback format, ok := feedback.ParseOutputFormat(outputFormat) if !ok { - feedback.Fatal(tr("Invalid output format: %s", outputFormat), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid output format: %s", outputFormat), feedback.ErrBadArgument) } feedback.SetFormat(format) @@ -245,7 +246,7 @@ func preRun(verbose bool, outputFormat string, logLevel, logFile, logFormat stri if logFile != "" { file, err := os.OpenFile(logFile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666) if err != nil { - feedback.Fatal(tr("Unable to open file for logging: %s", logFile), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Unable to open file for logging: %s", logFile), feedback.ErrGeneric) } // we use a hook so we don't get color codes in the log file @@ -258,7 +259,7 @@ func preRun(verbose bool, outputFormat string, logLevel, logFile, logFormat stri // configure logging filter if logrusLevel, found := toLogLevel(logLevel); !found { - feedback.Fatal(tr("Invalid logging level: %s", logLevel), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid logging level: %s", logLevel), feedback.ErrBadArgument) } else { logrus.SetLevel(logrusLevel) } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index f04f01e8fc7..2a5348e981e 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -71,15 +71,14 @@ var ( library []string // List of paths to libraries root folders. Can be used multiple times for different libraries libraries []string // List of custom libraries dir paths separated by commas. Or can be used multiple times for multiple libraries paths. skipLibrariesDiscovery bool - tr = i18n.Tr ) // NewCommand created a new `compile` command func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) *cobra.Command { compileCommand := &cobra.Command{ Use: "compile", - Short: tr("Compiles Arduino sketches."), - Long: tr("Compiles Arduino sketches."), + Short: i18n.Tr("Compiles Arduino sketches."), + Long: i18n.Tr("Compiles Arduino sketches."), Example: "" + " " + os.Args[0] + " compile -b arduino:avr:uno /home/user/Arduino/MySketch\n" + " " + os.Args[0] + ` compile -b arduino:avr:uno --build-property "build.extra_flags=\"-DMY_DEFINE=\"hello world\"\"" /home/user/Arduino/MySketch` + "\n" + @@ -93,47 +92,47 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * fqbnArg.AddToCommand(compileCommand, srv) profileArg.AddToCommand(compileCommand, srv) - compileCommand.Flags().BoolVar(&dumpProfile, "dump-profile", false, tr("Create and print a profile configuration from the build.")) + compileCommand.Flags().BoolVar(&dumpProfile, "dump-profile", false, i18n.Tr("Create and print a profile configuration from the build.")) showPropertiesArg.AddToCommand(compileCommand) - compileCommand.Flags().BoolVar(&preprocess, "preprocess", false, tr("Print preprocessed code to stdout instead of compiling.")) - compileCommand.Flags().StringVar(&buildCachePath, "build-cache-path", "", tr("Builds of 'core.a' are saved into this path to be cached and reused.")) - compileCommand.Flags().StringVar(&exportDir, "output-dir", "", tr("Save build artifacts in this directory.")) + compileCommand.Flags().BoolVar(&preprocess, "preprocess", false, i18n.Tr("Print preprocessed code to stdout instead of compiling.")) + compileCommand.Flags().StringVar(&buildCachePath, "build-cache-path", "", i18n.Tr("Builds of 'core.a' are saved into this path to be cached and reused.")) + compileCommand.Flags().StringVar(&exportDir, "output-dir", "", i18n.Tr("Save build artifacts in this directory.")) compileCommand.Flags().StringVar(&buildPath, "build-path", "", - tr("Path where to save compiled files. If omitted, a directory will be created in the default temporary path of your OS.")) + i18n.Tr("Path where to save compiled files. If omitted, a directory will be created in the default temporary path of your OS.")) compileCommand.Flags().StringSliceVar(&buildProperties, "build-properties", []string{}, - tr("List of custom build properties separated by commas. Or can be used multiple times for multiple properties.")) + i18n.Tr("List of custom build properties separated by commas. Or can be used multiple times for multiple properties.")) compileCommand.Flags().StringArrayVar(&buildProperties, "build-property", []string{}, - tr("Override a build property with a custom value. Can be used multiple times for multiple properties.")) + i18n.Tr("Override a build property with a custom value. Can be used multiple times for multiple properties.")) compileCommand.Flags().StringVar(&keysKeychain, "keys-keychain", "", - tr("The path of the dir to search for the custom keys to sign and encrypt a binary. Used only by the platforms that support it.")) + i18n.Tr("The path of the dir to search for the custom keys to sign and encrypt a binary. Used only by the platforms that support it.")) compileCommand.Flags().StringVar(&signKey, "sign-key", "", - tr("The name of the custom signing key to use to sign a binary during the compile process. Used only by the platforms that support it.")) + i18n.Tr("The name of the custom signing key to use to sign a binary during the compile process. Used only by the platforms that support it.")) compileCommand.Flags().StringVar(&encryptKey, "encrypt-key", "", - tr("The name of the custom encryption key to use to encrypt a binary during the compile process. Used only by the platforms that support it.")) + i18n.Tr("The name of the custom encryption key to use to encrypt a binary during the compile process. Used only by the platforms that support it.")) compileCommand.Flags().StringVar(&warnings, "warnings", "none", - tr(`Optional, can be: %s. Used to tell gcc which warning level to use (-W flag).`, "none, default, more, all")) - compileCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, tr("Optional, turns on verbose mode.")) - compileCommand.Flags().BoolVar(&quiet, "quiet", false, tr("Optional, suppresses almost every output.")) - compileCommand.Flags().BoolVarP(&uploadAfterCompile, "upload", "u", false, tr("Upload the binary after the compilation.")) + i18n.Tr(`Optional, can be: %s. Used to tell gcc which warning level to use (-W flag).`, "none, default, more, all")) + compileCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, i18n.Tr("Optional, turns on verbose mode.")) + compileCommand.Flags().BoolVar(&quiet, "quiet", false, i18n.Tr("Optional, suppresses almost every output.")) + compileCommand.Flags().BoolVarP(&uploadAfterCompile, "upload", "u", false, i18n.Tr("Upload the binary after the compilation.")) portArgs.AddToCommand(compileCommand, srv) - compileCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) + compileCommand.Flags().BoolVarP(&verify, "verify", "t", false, i18n.Tr("Verify uploaded binary after the upload.")) compileCommand.Flags().StringSliceVar(&library, "library", []string{}, - tr("Path to a single library’s root folder. Can be used multiple times or entries can be comma separated.")) + i18n.Tr("Path to a single library’s root folder. Can be used multiple times or entries can be comma separated.")) compileCommand.Flags().StringSliceVar(&libraries, "libraries", []string{}, - tr("Path to a collection of libraries. Can be used multiple times or entries can be comma separated.")) - compileCommand.Flags().BoolVar(&optimizeForDebug, "optimize-for-debug", false, tr("Optional, optimize compile output for debugging, rather than for release.")) + i18n.Tr("Path to a collection of libraries. Can be used multiple times or entries can be comma separated.")) + compileCommand.Flags().BoolVar(&optimizeForDebug, "optimize-for-debug", false, i18n.Tr("Optional, optimize compile output for debugging, rather than for release.")) programmer.AddToCommand(compileCommand, srv) - compileCommand.Flags().BoolVar(&compilationDatabaseOnly, "only-compilation-database", false, tr("Just produce the compilation database, without actually compiling. All build commands are skipped except pre* hooks.")) - compileCommand.Flags().BoolVar(&clean, "clean", false, tr("Optional, cleanup the build folder and do not use any cached build.")) + compileCommand.Flags().BoolVar(&compilationDatabaseOnly, "only-compilation-database", false, i18n.Tr("Just produce the compilation database, without actually compiling. All build commands are skipped except pre* hooks.")) + compileCommand.Flags().BoolVar(&clean, "clean", false, i18n.Tr("Optional, cleanup the build folder and do not use any cached build.")) compileCommand.Flags().BoolVarP(&exportBinaries, "export-binaries", "e", settings.GetSketch().GetAlwaysExportBinaries(), - tr("If set built binaries will be exported to the sketch folder.")) - compileCommand.Flags().StringVar(&sourceOverrides, "source-override", "", tr("Optional. Path to a .json file that contains a set of replacements of the sketch source code.")) + i18n.Tr("If set built binaries will be exported to the sketch folder.")) + compileCommand.Flags().StringVar(&sourceOverrides, "source-override", "", i18n.Tr("Optional. Path to a .json file that contains a set of replacements of the sketch source code.")) compileCommand.Flag("source-override").Hidden = true compileCommand.Flags().BoolVar(&skipLibrariesDiscovery, "skip-libraries-discovery", false, "Skip libraries discovery. This flag is provided only for use in language server and other, very specific, use cases. Do not use for normal compiles") compileCommand.Flag("skip-libraries-discovery").Hidden = true - compileCommand.Flags().Int32VarP(&jobs, "jobs", "j", 0, tr("Max number of parallel compiles. If set to 0 the number of available CPUs cores will be used.")) + compileCommand.Flags().Int32VarP(&jobs, "jobs", "j", 0, i18n.Tr("Max number of parallel compiles. If set to 0 the number of available CPUs cores will be used.")) - compileCommand.Flags().MarkDeprecated("build-properties", tr("please use --build-property instead.")) + compileCommand.Flags().MarkDeprecated("build-properties", i18n.Tr("please use --build-property instead.")) return compileCommand } @@ -144,10 +143,10 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer if profileArg.Get() != "" { if len(libraries) > 0 { - feedback.Fatal(tr("You cannot use the %s flag while compiling with a profile.", "--libraries"), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("You cannot use the %s flag while compiling with a profile.", "--libraries"), feedback.ErrBadArgument) } if len(library) > 0 { - feedback.Fatal(tr("You cannot use the %s flag while compiling with a profile.", "--library"), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("You cannot use the %s flag while compiling with a profile.", "--library"), feedback.ErrBadArgument) } } @@ -187,20 +186,20 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer if sourceOverrides != "" { data, err := paths.New(sourceOverrides).ReadFile() if err != nil { - feedback.Fatal(tr("Error opening source code overrides data file: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error opening source code overrides data file: %v", err), feedback.ErrGeneric) } var o struct { Overrides map[string]string `json:"overrides"` } if err := json.Unmarshal(data, &o); err != nil { - feedback.Fatal(tr("Error: invalid source code overrides data file: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error: invalid source code overrides data file: %v", err), feedback.ErrGeneric) } overrides = o.Overrides } showProperties, err := showPropertiesArg.Get() if err != nil { - feedback.Fatal(tr("Error parsing --show-properties flag: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error parsing --show-properties flag: %v", err), feedback.ErrGeneric) } var stdOut, stdErr io.Writer @@ -214,7 +213,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer var libraryAbs []string for _, libPath := range paths.NewPathList(library...) { if libPath, err = libPath.Abs(); err != nil { - feedback.Fatal(tr("Error converting path to absolute: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error converting path to absolute: %v", err), feedback.ErrGeneric) } libraryAbs = append(libraryAbs, libPath.String()) } @@ -258,12 +257,12 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer Protocol: port.GetProtocol(), }) if err != nil { - feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during Upload: %v", err), feedback.ErrGeneric) } fields := map[string]string{} if len(userFieldRes.GetUserFields()) > 0 { - feedback.Print(tr("Uploading to specified board using %s protocol requires the following info:", port.GetProtocol())) + feedback.Print(i18n.Tr("Uploading to specified board using %s protocol requires the following info:", port.GetProtocol())) if f, err := arguments.AskForUserFields(userFieldRes.GetUserFields()); err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } else { @@ -300,7 +299,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } - feedback.Fatal(tr("Error during Upload: %v", err), errcode) + feedback.Fatal(i18n.Tr("Error during Upload: %v", err), errcode) } else { uploadRes = streamRes() } @@ -324,8 +323,8 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer } if hasVendoredLibs { msg := "\n" - msg += tr("WARNING: The sketch is compiled using one or more custom libraries.") + "\n" - msg += tr("Currently, Build Profiles only support libraries available through Arduino Library Manager.") + msg += i18n.Tr("WARNING: The sketch is compiled using one or more custom libraries.") + "\n" + msg += i18n.Tr("Currently, Build Profiles only support libraries available through Arduino Library Manager.") feedback.Warning(msg) } @@ -373,7 +372,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer } if compileError != nil { - res.Error = tr("Error during build: %v", compileError) + res.Error = i18n.Tr("Error during build: %v", compileError) // Check the error type to give the user better feedback on how // to resolve it @@ -381,7 +380,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer if errors.As(compileError, &platformErr) { split := strings.Split(platformErr.Platform, ":") if len(split) < 2 { - panic(tr("Platform ID is not correct")) + panic(i18n.Tr("Platform ID is not correct")) } if profileArg.String() == "" { @@ -394,9 +393,9 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer res.Error += err.Error() } else if len(platform.GetSearchOutput()) > 0 { suggestion := fmt.Sprintf("`%s core install %s`", version.VersionInfo.Application, platformErr.Platform) - res.Error += tr("Try running %s", suggestion) + res.Error += i18n.Tr("Try running %s", suggestion) } else { - res.Error += tr("Platform %s is not found in any known index\nMaybe you need to add a 3rd party URL?", platformErr.Platform) + res.Error += i18n.Tr("Platform %s is not found in any known index\nMaybe you need to add a 3rd party URL?", platformErr.Platform) } } } @@ -446,9 +445,9 @@ func (r *compileResult) String() string { if build != nil && len(build.UsedLibraries) > 0 { libraries := table.New() libraries.SetHeader( - table.NewCell(tr("Used library"), titleColor), - table.NewCell(tr("Version"), titleColor), - table.NewCell(tr("Path"), pathColor)) + table.NewCell(i18n.Tr("Used library"), titleColor), + table.NewCell(i18n.Tr("Version"), titleColor), + table.NewCell(i18n.Tr("Path"), pathColor)) for _, l := range build.UsedLibraries { libraries.AddRow( table.NewCell(l.Name, nameColor), @@ -461,9 +460,9 @@ func (r *compileResult) String() string { boardPlatform := build.BoardPlatform platforms := table.New() platforms.SetHeader( - table.NewCell(tr("Used platform"), titleColor), - table.NewCell(tr("Version"), titleColor), - table.NewCell(tr("Path"), pathColor)) + table.NewCell(i18n.Tr("Used platform"), titleColor), + table.NewCell(i18n.Tr("Version"), titleColor), + table.NewCell(i18n.Tr("Path"), pathColor)) platforms.AddRow( table.NewCell(boardPlatform.Id, nameColor), boardPlatform.Version, diff --git a/internal/cli/completion/completion.go b/internal/cli/completion/completion.go index d4036d393aa..da3e19c397b 100644 --- a/internal/cli/completion/completion.go +++ b/internal/cli/completion/completion.go @@ -35,13 +35,13 @@ func NewCommand() *cobra.Command { Use: "completion [bash|zsh|fish|powershell] [--no-descriptions]", ValidArgs: []string{"bash", "zsh", "fish", "powershell"}, Args: cobra.ExactArgs(1), - Short: tr("Generates completion scripts"), - Long: tr("Generates completion scripts for various shells"), + Short: i18n.Tr("Generates completion scripts"), + Long: i18n.Tr("Generates completion scripts for various shells"), Example: " " + os.Args[0] + " completion bash > completion.sh\n" + " " + "source completion.sh", Run: runCompletionCommand, } - completionCommand.Flags().BoolVar(&completionNoDesc, "no-descriptions", false, tr("Disable completion description for shells that support it")) + completionCommand.Flags().BoolVar(&completionNoDesc, "no-descriptions", false, i18n.Tr("Disable completion description for shells that support it")) return completionCommand } @@ -53,7 +53,7 @@ func runCompletionCommand(cmd *cobra.Command, args []string) { feedback.Fatal(err.Error(), feedback.ErrGeneric) } if completionNoDesc && (args[0] == "powershell") { - feedback.Fatal(tr("Error: command description is not supported by %v", args[0]), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error: command description is not supported by %v", args[0]), feedback.ErrGeneric) } switch args[0] { case "bash": diff --git a/internal/cli/config/add.go b/internal/cli/config/add.go index 059ecad07c1..d4950fd691b 100644 --- a/internal/cli/config/add.go +++ b/internal/cli/config/add.go @@ -22,6 +22,7 @@ import ( "slices" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -30,8 +31,8 @@ import ( func initAddCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { addCommand := &cobra.Command{ Use: "add", - Short: tr("Adds one or more values to a setting."), - Long: tr("Adds one or more values to a setting."), + Short: i18n.Tr("Adds one or more values to a setting."), + Long: i18n.Tr("Adds one or more values to a setting."), Example: "" + " " + os.Args[0] + " config add board_manager.additional_urls https://example.com/package_example_index.json\n" + " " + os.Args[0] + " config add board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json\n", @@ -53,15 +54,15 @@ func runAddCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args [ key := args[0] if !slices.Contains(getAllArraySettingsKeys(ctx, srv), key) { - msg := tr("The key '%[1]v' is not a list of items, can't add to it.\nMaybe use '%[2]s'?", key, "config set") + msg := i18n.Tr("The key '%[1]v' is not a list of items, can't add to it.\nMaybe use '%[2]s'?", key, "config set") feedback.Fatal(msg, feedback.ErrGeneric) } var currentValues []string if resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: key}); err != nil { - feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } else if err := json.Unmarshal([]byte(resp.GetEncodedValue()), ¤tValues); err != nil { - feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } for _, arg := range args[1:] { @@ -71,9 +72,9 @@ func runAddCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args [ } if newValuesJSON, err := json.Marshal(currentValues); err != nil { - feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: string(newValuesJSON)}); err != nil { - feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } saveConfiguration(ctx, srv) diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index 2662befe322..d05f43ff77c 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -28,13 +28,11 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `config` command func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) *cobra.Command { configCommand := &cobra.Command{ Use: "config", - Short: tr("Arduino configuration commands."), + Short: i18n.Tr("Arduino configuration commands."), Example: " " + os.Args[0] + " config init", } @@ -83,13 +81,13 @@ func SetConfigFile(ctx context.Context, configFile string) context.Context { func saveConfiguration(ctx context.Context, srv rpc.ArduinoCoreServiceServer) { var outConfig []byte if res, err := srv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}); err != nil { - feedback.Fatal(tr("Error writing to file: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error writing to file: %v", err), feedback.ErrGeneric) } else { outConfig = []byte(res.GetEncodedSettings()) } configFile := GetConfigFile(ctx) if err := paths.New(configFile).WriteFile(outConfig); err != nil { - feedback.Fatal(tr("Error writing to file: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error writing to file: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/config/delete.go b/internal/cli/config/delete.go index 7ba5437cda2..e0ff13a1455 100644 --- a/internal/cli/config/delete.go +++ b/internal/cli/config/delete.go @@ -20,6 +20,7 @@ import ( "os" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -28,8 +29,8 @@ import ( func initDeleteCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { deleteCommand := &cobra.Command{ Use: "delete", - Short: tr("Deletes a settings key and all its sub keys."), - Long: tr("Deletes a settings key and all its sub keys."), + Short: i18n.Tr("Deletes a settings key and all its sub keys."), + Long: i18n.Tr("Deletes a settings key and all its sub keys."), Example: "" + " " + os.Args[0] + " config delete board_manager\n" + " " + os.Args[0] + " config delete board_manager.additional_urls", @@ -51,7 +52,7 @@ func runDeleteCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg key := args[0] if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: ""}); err != nil { - feedback.Fatal(tr("Cannot delete the key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot delete the key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } saveConfiguration(ctx, srv) diff --git a/internal/cli/config/dump.go b/internal/cli/config/dump.go index 5212ec9d1fa..6b78e83e83d 100644 --- a/internal/cli/config/dump.go +++ b/internal/cli/config/dump.go @@ -19,6 +19,7 @@ import ( "os" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -27,8 +28,8 @@ import ( func initDumpCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var dumpCommand = &cobra.Command{ Use: "dump", - Short: tr("Prints the current configuration"), - Long: tr("Prints the current configuration."), + Short: i18n.Tr("Prints the current configuration"), + Long: i18n.Tr("Prints the current configuration."), Example: " " + os.Args[0] + " config dump", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { diff --git a/internal/cli/config/get.go b/internal/cli/config/get.go index 3dfb5345c20..8ac4451ee9f 100644 --- a/internal/cli/config/get.go +++ b/internal/cli/config/get.go @@ -22,6 +22,7 @@ import ( "os" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -31,8 +32,8 @@ import ( func initGetCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { getCommand := &cobra.Command{ Use: "get", - Short: tr("Gets a settings key value."), - Long: tr("Gets a settings key value."), + Short: i18n.Tr("Gets a settings key value."), + Long: i18n.Tr("Gets a settings key value."), Example: "" + " " + os.Args[0] + " config get logging\n" + " " + os.Args[0] + " config get daemon.port\n" + @@ -55,7 +56,7 @@ func runGetCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args [ for _, toGet := range args { resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: toGet}) if err != nil { - feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", toGet, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot get the configuration key %[1]s: %[2]v", toGet, err), feedback.ErrGeneric) } var result getResult if err := json.Unmarshal([]byte(resp.GetEncodedValue()), &result.resp); err != nil { @@ -81,7 +82,7 @@ func (gr getResult) String() string { gs, err := yaml.Marshal(gr.resp) if err != nil { // Should never happen - panic(tr("unable to marshal config to YAML: %v", err)) + panic(i18n.Tr("unable to marshal config to YAML: %v", err)) } return string(gs) } diff --git a/internal/cli/config/init.go b/internal/cli/config/init.go index 4e297fda7c5..85491492d21 100644 --- a/internal/cli/config/init.go +++ b/internal/cli/config/init.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -41,10 +42,10 @@ const defaultFileName = "arduino-cli.yaml" func initInitCommand() *cobra.Command { initCommand := &cobra.Command{ Use: "init", - Short: tr("Writes current configuration to a configuration file."), - Long: tr("Creates or updates the configuration file in the data directory or custom directory with the current configuration settings."), + Short: i18n.Tr("Writes current configuration to a configuration file."), + Long: i18n.Tr("Creates or updates the configuration file in the data directory or custom directory with the current configuration settings."), Example: "" + - " # " + tr("Writes current configuration to the configuration file in the data directory.") + "\n" + + " # " + i18n.Tr("Writes current configuration to the configuration file in the data directory.") + "\n" + " " + os.Args[0] + " config init\n" + " " + os.Args[0] + " config init --dest-dir /home/user/MyDirectory\n" + " " + os.Args[0] + " config init --dest-file /home/user/MyDirectory/my_settings.yaml", @@ -56,9 +57,9 @@ func initInitCommand() *cobra.Command { runInitCommand(cmd.Context(), cmd) }, } - initCommand.Flags().StringVar(&destDir, "dest-dir", "", tr("Sets where to save the configuration file.")) - initCommand.Flags().StringVar(&destFile, "dest-file", "", tr("Sets where to save the configuration file.")) - initCommand.Flags().BoolVar(&overwrite, "overwrite", false, tr("Overwrite existing config file.")) + initCommand.Flags().StringVar(&destDir, "dest-dir", "", i18n.Tr("Sets where to save the configuration file.")) + initCommand.Flags().StringVar(&destFile, "dest-file", "", i18n.Tr("Sets where to save the configuration file.")) + initCommand.Flags().BoolVar(&overwrite, "overwrite", false, i18n.Tr("Overwrite existing config file.")) return initCommand } @@ -73,14 +74,14 @@ func runInitCommand(ctx context.Context, cmd *cobra.Command) { case destFile != "": configFileAbsPath, err = paths.New(destFile).Abs() if err != nil { - feedback.Fatal(tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) } configFileDir = configFileAbsPath.Parent() case destDir != "": configFileDir, err = paths.New(destDir).Abs() if err != nil { - feedback.Fatal(tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot find absolute path: %v", err), feedback.ErrGeneric) } configFileAbsPath = configFileDir.Join(defaultFileName) @@ -90,37 +91,37 @@ func runInitCommand(ctx context.Context, cmd *cobra.Command) { } if !overwrite && configFileAbsPath.Exist() { - feedback.Fatal(tr("Config file already exists, use --overwrite to discard the existing one."), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Config file already exists, use --overwrite to discard the existing one."), feedback.ErrGeneric) } logrus.Infof("Writing config file to: %s", configFileDir) if err := configFileDir.MkdirAll(); err != nil { - feedback.Fatal(tr("Cannot create config file directory: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot create config file directory: %v", err), feedback.ErrGeneric) } tmpSrv := commands.NewArduinoCoreServer() if _, err := tmpSrv.ConfigurationOpen(ctx, &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml", EncodedSettings: ""}); err != nil { - feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating configuration: %v", err), feedback.ErrGeneric) } // Ensure to always output an empty array for additional urls if _, err := tmpSrv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{ Key: "board_manager.additional_urls", EncodedValue: "[]", }); err != nil { - feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating configuration: %v", err), feedback.ErrGeneric) } ApplyGlobalFlagsToConfiguration(ctx, cmd, tmpSrv) resp, err := tmpSrv.ConfigurationSave(ctx, &rpc.ConfigurationSaveRequest{SettingsFormat: "yaml"}) if err != nil { - feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating configuration: %v", err), feedback.ErrGeneric) } if err := configFileAbsPath.WriteFile([]byte(resp.GetEncodedSettings())); err != nil { - feedback.Fatal(tr("Cannot create config file: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot create config file: %v", err), feedback.ErrGeneric) } feedback.PrintResult(initResult{ConfigFileAbsPath: configFileAbsPath}) @@ -130,11 +131,11 @@ func runInitCommand(ctx context.Context, cmd *cobra.Command) { func ApplyGlobalFlagsToConfiguration(ctx context.Context, cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer) { set := func(k string, v any) { if jsonValue, err := json.Marshal(v); err != nil { - feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating configuration: %v", err), feedback.ErrGeneric) } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{ Key: k, EncodedValue: string(jsonValue), }); err != nil { - feedback.Fatal(tr("Error creating configuration: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating configuration: %v", err), feedback.ErrGeneric) } } @@ -156,7 +157,7 @@ func ApplyGlobalFlagsToConfiguration(ctx context.Context, cmd *cobra.Command, sr for _, url := range urls { if strings.Contains(url, ",") { feedback.Fatal( - tr("Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n%s", url), + i18n.Tr("Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n%s", url), feedback.ErrBadArgument) } } @@ -175,7 +176,7 @@ func (dr initResult) Data() interface{} { } func (dr initResult) String() string { - msg := tr("Config file written to: %s", dr.ConfigFileAbsPath.String()) + msg := i18n.Tr("Config file written to: %s", dr.ConfigFileAbsPath.String()) logrus.Info(msg) return msg } diff --git a/internal/cli/config/remove.go b/internal/cli/config/remove.go index 4114a146a45..45592e5a058 100644 --- a/internal/cli/config/remove.go +++ b/internal/cli/config/remove.go @@ -22,6 +22,7 @@ import ( "slices" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -30,8 +31,8 @@ import ( func initRemoveCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { removeCommand := &cobra.Command{ Use: "remove", - Short: tr("Removes one or more values from a setting."), - Long: tr("Removes one or more values from a setting."), + Short: i18n.Tr("Removes one or more values from a setting."), + Long: i18n.Tr("Removes one or more values from a setting."), Example: "" + " " + os.Args[0] + " config remove board_manager.additional_urls https://example.com/package_example_index.json\n" + " " + os.Args[0] + " config remove board_manager.additional_urls https://example.com/package_example_index.json https://another-url.com/package_another_index.json\n", @@ -53,15 +54,15 @@ func runRemoveCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg key := args[0] if !slices.Contains(getAllArraySettingsKeys(ctx, srv), key) { - msg := tr("The key '%[1]v' is not a list of items, can't remove from it.\nMaybe use '%[2]s'?", key, "config delete") + msg := i18n.Tr("The key '%[1]v' is not a list of items, can't remove from it.\nMaybe use '%[2]s'?", key, "config delete") feedback.Fatal(msg, feedback.ErrGeneric) } var currentValues []string if resp, err := srv.SettingsGetValue(ctx, &rpc.SettingsGetValueRequest{Key: key}); err != nil { - feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } else if err := json.Unmarshal([]byte(resp.GetEncodedValue()), ¤tValues); err != nil { - feedback.Fatal(tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot get the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } for _, arg := range args[1:] { @@ -69,9 +70,9 @@ func runRemoveCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg } if newValuesJSON, err := json.Marshal(currentValues); err != nil { - feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } else if _, err := srv.SettingsSetValue(ctx, &rpc.SettingsSetValueRequest{Key: key, EncodedValue: string(newValuesJSON)}); err != nil { - feedback.Fatal(tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Cannot remove the configuration key %[1]s: %[2]v", key, err), feedback.ErrGeneric) } saveConfiguration(ctx, srv) diff --git a/internal/cli/config/set.go b/internal/cli/config/set.go index a722f3f176b..34c1d3168e2 100644 --- a/internal/cli/config/set.go +++ b/internal/cli/config/set.go @@ -22,6 +22,7 @@ import ( f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -30,8 +31,8 @@ import ( func initSetCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { setCommand := &cobra.Command{ Use: "set", - Short: tr("Sets a setting value."), - Long: tr("Sets a setting value."), + Short: i18n.Tr("Sets a setting value."), + Long: i18n.Tr("Sets a setting value."), Example: "" + " " + os.Args[0] + " config set logging.level trace\n" + " " + os.Args[0] + " config set logging.file my-log.txt\n" + @@ -63,14 +64,14 @@ func runSetCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args [ // Uniq Array jsonValues, err := json.Marshal(f.Uniq(args[1:])) if err != nil { - feedback.Fatal(tr("Error setting value: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error setting value: %v", err), feedback.ErrGeneric) } req.EncodedValue = string(jsonValues) req.ValueFormat = "json" } if _, err := srv.SettingsSetValue(ctx, req); err != nil { - feedback.Fatal(tr("Error setting value: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error setting value: %v", err), feedback.ErrGeneric) } saveConfiguration(ctx, srv) diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index 5176acc9a28..8ceef039af6 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -26,8 +26,6 @@ import ( "github.com/arduino/go-win32-utils" ) -var tr = i18n.Tr - // Settings contains the configuration of the Arduino CLI core service type Settings struct { *configmap.Map @@ -48,7 +46,7 @@ func NewSettings() *Settings { func getDefaultArduinoDataDir() string { userHomeDir, err := os.UserHomeDir() if err != nil { - feedback.Warning(tr("Unable to get user home dir: %v", err)) + feedback.Warning(i18n.Tr("Unable to get user home dir: %v", err)) return "." } @@ -60,7 +58,7 @@ func getDefaultArduinoDataDir() string { case "windows": localAppDataPath, err := win32.GetLocalAppDataFolder() if err != nil { - feedback.Warning(tr("Unable to get Local App Data Folder: %v", err)) + feedback.Warning(i18n.Tr("Unable to get Local App Data Folder: %v", err)) return "." } return filepath.Join(localAppDataPath, "Arduino15") @@ -73,7 +71,7 @@ func getDefaultArduinoDataDir() string { func getDefaultUserDir() string { userHomeDir, err := os.UserHomeDir() if err != nil { - feedback.Warning(tr("Unable to get user home dir: %v", err)) + feedback.Warning(i18n.Tr("Unable to get user home dir: %v", err)) return "." } @@ -85,7 +83,7 @@ func getDefaultUserDir() string { case "windows": documentsPath, err := win32.GetDocumentsFolder() if err != nil { - feedback.Warning(tr("Unable to get Documents Folder: %v", err)) + feedback.Warning(i18n.Tr("Unable to get Documents Folder: %v", err)) return "." } return filepath.Join(documentsPath, "Arduino") diff --git a/internal/cli/configuration/network.go b/internal/cli/configuration/network.go index 7fac7ee6890..9ffcdf8bd25 100644 --- a/internal/cli/configuration/network.go +++ b/internal/cli/configuration/network.go @@ -16,6 +16,7 @@ package configuration import ( + "errors" "fmt" "net/http" "net/url" @@ -23,6 +24,7 @@ import ( "runtime" "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/version" "go.bug.st/downloader/v2" ) @@ -61,7 +63,7 @@ func (settings *Settings) NetworkProxy() (*url.URL, error) { if proxyConfig, ok, _ := settings.GetStringOk("network.proxy"); !ok { return nil, nil } else if proxy, err := url.Parse(proxyConfig); err != nil { - return nil, fmt.Errorf(tr("Invalid network.proxy '%[1]s': %[2]s"), proxyConfig, err) + return nil, errors.New(i18n.Tr("Invalid network.proxy '%[1]s': %[2]s", proxyConfig, err)) } else { return proxy, nil } @@ -98,7 +100,7 @@ func (settings *Settings) DownloaderConfig() (downloader.Config, error) { httpClient, err := settings.NewHttpClient() if err != nil { return downloader.Config{}, &cmderrors.InvalidArgumentError{ - Message: tr("Could not connect via HTTP"), + Message: i18n.Tr("Could not connect via HTTP"), Cause: err} } return downloader.Config{ diff --git a/internal/cli/core/core.go b/internal/cli/core/core.go index ac337df6c9e..c966db14e93 100644 --- a/internal/cli/core/core.go +++ b/internal/cli/core/core.go @@ -23,14 +23,12 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `core` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { coreCommand := &cobra.Command{ Use: "core", - Short: tr("Arduino core operations."), - Long: tr("Arduino core operations."), + Short: i18n.Tr("Arduino core operations."), + Long: i18n.Tr("Arduino core operations."), Example: " " + os.Args[0] + " core update-index", } diff --git a/internal/cli/core/download.go b/internal/cli/core/download.go index fb5fe3f3818..c4e7ee8732c 100644 --- a/internal/cli/core/download.go +++ b/internal/cli/core/download.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -31,12 +32,12 @@ import ( func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { downloadCommand := &cobra.Command{ - Use: fmt.Sprintf("download [%s:%s[@%s]]...", tr("PACKAGER"), tr("ARCH"), tr("VERSION")), - Short: tr("Downloads one or more cores and corresponding tool dependencies."), - Long: tr("Downloads one or more cores and corresponding tool dependencies."), + Use: fmt.Sprintf("download [%s:%s[@%s]]...", i18n.Tr("PACKAGER"), i18n.Tr("ARCH"), i18n.Tr("VERSION")), + Short: i18n.Tr("Downloads one or more cores and corresponding tool dependencies."), + Long: i18n.Tr("Downloads one or more cores and corresponding tool dependencies."), Example: "" + - " " + os.Args[0] + " core download arduino:samd # " + tr("download the latest version of Arduino SAMD core.") + "\n" + - " " + os.Args[0] + " core download arduino:samd@1.6.9 # " + tr("download a specific version (in this case 1.6.9)."), + " " + os.Args[0] + " core download arduino:samd # " + i18n.Tr("download the latest version of Arduino SAMD core.") + "\n" + + " " + os.Args[0] + " core download arduino:samd@1.6.9 # " + i18n.Tr("download a specific version (in this case 1.6.9)."), Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { runDownloadCommand(cmd.Context(), srv, args) @@ -55,7 +56,7 @@ func runDownloadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, a platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { - feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } for i, platformRef := range platformsRefs { @@ -67,7 +68,7 @@ func runDownloadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, a } stream := commands.PlatformDownloadStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) if err := srv.PlatformDownload(platformDownloadreq, stream); err != nil { - feedback.Fatal(tr("Error downloading %[1]s: %[2]v", args[i], err), feedback.ErrNetwork) + feedback.Fatal(i18n.Tr("Error downloading %[1]s: %[2]v", args[i], err), feedback.ErrNetwork) } } } diff --git a/internal/cli/core/install.go b/internal/cli/core/install.go index 988602fc2ac..8a0e7284d35 100644 --- a/internal/cli/core/install.go +++ b/internal/cli/core/install.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -33,12 +34,12 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var noOverwrite bool var scriptFlags arguments.PrePostScriptsFlags installCommand := &cobra.Command{ - Use: fmt.Sprintf("install %s:%s[@%s]...", tr("PACKAGER"), tr("ARCH"), tr("VERSION")), - Short: tr("Installs one or more cores and corresponding tool dependencies."), - Long: tr("Installs one or more cores and corresponding tool dependencies."), - Example: " # " + tr("download the latest version of Arduino SAMD core.") + "\n" + + Use: fmt.Sprintf("install %s:%s[@%s]...", i18n.Tr("PACKAGER"), i18n.Tr("ARCH"), i18n.Tr("VERSION")), + Short: i18n.Tr("Installs one or more cores and corresponding tool dependencies."), + Long: i18n.Tr("Installs one or more cores and corresponding tool dependencies."), + Example: " # " + i18n.Tr("download the latest version of Arduino SAMD core.") + "\n" + " " + os.Args[0] + " core install arduino:samd\n\n" + - " # " + tr("download a specific version (in this case 1.6.9).") + "\n" + + " # " + i18n.Tr("download a specific version (in this case 1.6.9).") + "\n" + " " + os.Args[0] + " core install arduino:samd@1.6.9", Args: cobra.MinimumNArgs(1), PreRun: func(cmd *cobra.Command, args []string) { @@ -52,7 +53,7 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { }, } scriptFlags.AddToCommand(installCommand) - installCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, tr("Do not overwrite already installed platforms.")) + installCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, i18n.Tr("Do not overwrite already installed platforms.")) return installCommand } @@ -62,7 +63,7 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { - feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } for _, platformRef := range platformsRefs { @@ -77,7 +78,7 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar } stream := commands.PlatformInstallStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) if err := srv.PlatformInstall(platformInstallRequest, stream); err != nil { - feedback.Fatal(tr("Error during install: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during install: %v", err), feedback.ErrGeneric) } } } diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 3c2dd954818..24bae8a82ab 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -23,6 +23,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -33,16 +34,16 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var all bool listCommand := &cobra.Command{ Use: "list", - Short: tr("Shows the list of installed platforms."), - Long: tr("Shows the list of installed platforms."), + Short: i18n.Tr("Shows the list of installed platforms."), + Long: i18n.Tr("Shows the list of installed platforms."), Example: " " + os.Args[0] + " core list", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { runListCommand(cmd.Context(), srv, all, updatableOnly) }, } - listCommand.Flags().BoolVar(&updatableOnly, "updatable", false, tr("List updatable platforms.")) - listCommand.Flags().BoolVar(&all, "all", false, tr("If set return all installable and installed cores, including manually installed.")) + listCommand.Flags().BoolVar(&updatableOnly, "updatable", false, i18n.Tr("List updatable platforms.")) + listCommand.Flags().BoolVar(&all, "all", false, i18n.Tr("If set return all installable and installed cores, including manually installed.")) return listCommand } @@ -65,7 +66,7 @@ func GetList(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In ManuallyInstalled: true, }) if err != nil { - feedback.Fatal(tr("Error listing platforms: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error listing platforms: %v", err), feedback.ErrGeneric) } // If both `all` and `updatableOnly` are set, `all` takes precedence. @@ -108,12 +109,12 @@ func (ir coreListResult) Data() interface{} { func (ir coreListResult) String() string { if len(ir.Platforms) == 0 { if ir.updatableOnly { - return tr("All platforms are up to date.") + return i18n.Tr("All platforms are up to date.") } - return tr("No platforms installed.") + return i18n.Tr("No platforms installed.") } t := table.New() - t.SetHeader(tr("ID"), tr("Installed"), tr("Latest"), tr("Name")) + t.SetHeader(i18n.Tr("ID"), i18n.Tr("Installed"), i18n.Tr("Latest"), i18n.Tr("Name")) for _, platform := range ir.Platforms { latestVersion := platform.LatestVersion.String() if latestVersion == "" { diff --git a/internal/cli/core/search.go b/internal/cli/core/search.go index 8a58cbf5a57..590fce9e62d 100644 --- a/internal/cli/core/search.go +++ b/internal/cli/core/search.go @@ -27,6 +27,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -35,16 +36,16 @@ import ( func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var allVersions bool searchCommand := &cobra.Command{ - Use: fmt.Sprintf("search <%s...>", tr("keywords")), - Short: tr("Search for a core in Boards Manager."), - Long: tr("Search for a core in Boards Manager using the specified keywords."), + Use: fmt.Sprintf("search <%s...>", i18n.Tr("keywords")), + Short: i18n.Tr("Search for a core in Boards Manager."), + Long: i18n.Tr("Search for a core in Boards Manager using the specified keywords."), Example: " " + os.Args[0] + " core search MKRZero -a -v", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { runSearchCommand(cmd.Context(), srv, args, allVersions) }, } - searchCommand.Flags().BoolVarP(&allVersions, "all", "a", false, tr("Show all available core versions.")) + searchCommand.Flags().BoolVarP(&allVersions, "all", "a", false, i18n.Tr("Show all available core versions.")) return searchCommand } @@ -78,7 +79,7 @@ func runSearchCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg SearchArgs: arguments, }) if err != nil { - feedback.Fatal(tr("Error searching for platforms: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error searching for platforms: %v", err), feedback.ErrGeneric) } coreslist := resp.GetSearchOutput() @@ -109,11 +110,11 @@ func (sr searchResults) Data() interface{} { func (sr searchResults) String() string { if len(sr.Platforms) == 0 { - return tr("No platforms matching your search.") + return i18n.Tr("No platforms matching your search.") } t := table.New() - t.SetHeader(tr("ID"), tr("Version"), tr("Name")) + t.SetHeader(i18n.Tr("ID"), i18n.Tr("Version"), i18n.Tr("Name")) addRow := func(platform *result.PlatformSummary, release *result.PlatformRelease) { if release == nil { diff --git a/internal/cli/core/uninstall.go b/internal/cli/core/uninstall.go index a5df772935c..b939c5789e6 100644 --- a/internal/cli/core/uninstall.go +++ b/internal/cli/core/uninstall.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -32,9 +33,9 @@ import ( func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var preUninstallFlags arguments.PrePostScriptsFlags uninstallCommand := &cobra.Command{ - Use: fmt.Sprintf("uninstall %s:%s ...", tr("PACKAGER"), tr("ARCH")), - Short: tr("Uninstalls one or more cores and corresponding tool dependencies if no longer used."), - Long: tr("Uninstalls one or more cores and corresponding tool dependencies if no longer used."), + Use: fmt.Sprintf("uninstall %s:%s ...", i18n.Tr("PACKAGER"), i18n.Tr("ARCH")), + Short: i18n.Tr("Uninstalls one or more cores and corresponding tool dependencies if no longer used."), + Long: i18n.Tr("Uninstalls one or more cores and corresponding tool dependencies if no longer used."), Example: " " + os.Args[0] + " core uninstall arduino:samd\n", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { @@ -54,12 +55,12 @@ func runUninstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { - feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } for _, platformRef := range platformsRefs { if platformRef.Version != "" { - feedback.Fatal(tr("Invalid parameter %s: version not allowed", platformRef), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid parameter %s: version not allowed", platformRef), feedback.ErrBadArgument) } } for _, platformRef := range platformsRefs { @@ -71,7 +72,7 @@ func runUninstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, } stream := commands.PlatformUninstallStreamResponseToCallbackFunction(ctx, feedback.NewTaskProgressCB()) if err := srv.PlatformUninstall(req, stream); err != nil { - feedback.Fatal(tr("Error during uninstall: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during uninstall: %v", err), feedback.ErrGeneric) } } } diff --git a/internal/cli/core/update_index.go b/internal/cli/core/update_index.go index c7f0129291b..d18e006defb 100644 --- a/internal/cli/core/update_index.go +++ b/internal/cli/core/update_index.go @@ -23,6 +23,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -31,8 +32,8 @@ import ( func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { updateIndexCommand := &cobra.Command{ Use: "update-index", - Short: tr("Updates the index of cores."), - Long: tr("Updates the index of cores to the latest version."), + Short: i18n.Tr("Updates the index of cores."), + Long: i18n.Tr("Updates the index of cores to the latest version."), Example: " " + os.Args[0] + " core update-index", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { diff --git a/internal/cli/core/upgrade.go b/internal/cli/core/upgrade.go index ccbae460315..ee65e47e806 100644 --- a/internal/cli/core/upgrade.go +++ b/internal/cli/core/upgrade.go @@ -26,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -34,13 +35,13 @@ import ( func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var postInstallFlags arguments.PrePostScriptsFlags upgradeCommand := &cobra.Command{ - Use: fmt.Sprintf("upgrade [%s:%s] ...", tr("PACKAGER"), tr("ARCH")), - Short: tr("Upgrades one or all installed platforms to the latest version."), - Long: tr("Upgrades one or all installed platforms to the latest version."), + Use: fmt.Sprintf("upgrade [%s:%s] ...", i18n.Tr("PACKAGER"), i18n.Tr("ARCH")), + Short: i18n.Tr("Upgrades one or all installed platforms to the latest version."), + Long: i18n.Tr("Upgrades one or all installed platforms to the latest version."), Example: "" + - " # " + tr("upgrade everything to the latest version") + "\n" + + " # " + i18n.Tr("upgrade everything to the latest version") + "\n" + " " + os.Args[0] + " core upgrade\n\n" + - " # " + tr("upgrade arduino:samd to the latest version") + "\n" + + " # " + i18n.Tr("upgrade arduino:samd to the latest version") + "\n" + " " + os.Args[0] + " core upgrade arduino:samd", Run: func(cmd *cobra.Command, args []string) { runUpgradeCommand(cmd.Context(), srv, args, postInstallFlags.DetectSkipPostInstallValue(), postInstallFlags.DetectSkipPreUninstallValue()) @@ -64,7 +65,7 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In Instance: inst, }) if err != nil { - feedback.Fatal(tr("Error retrieving core list: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error retrieving core list: %v", err), feedback.ErrGeneric) } targets := []*rpc.Platform{} @@ -83,7 +84,7 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In } if len(targets) == 0 { - feedback.Print(tr("All the cores are already at the latest version")) + feedback.Print(i18n.Tr("All the cores are already at the latest version")) return } @@ -97,20 +98,20 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In return } if !platform.GetMetadata().GetIndexed() { - feedback.Warning(tr("missing package index for %s, future updates cannot be guaranteed", platform.GetMetadata().GetId())) + feedback.Warning(i18n.Tr("missing package index for %s, future updates cannot be guaranteed", platform.GetMetadata().GetId())) } } // proceed upgrading, if anything is upgradable platformsRefs, err := arguments.ParseReferences(ctx, srv, args) if err != nil { - feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } hasBadArguments := false for i, platformRef := range platformsRefs { if platformRef.Version != "" { - feedback.Warning(tr("Invalid item %s", args[i])) + feedback.Warning(i18n.Tr("Invalid item %s", args[i])) hasBadArguments = true continue } @@ -132,12 +133,12 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In continue } - feedback.Fatal(tr("Error during upgrade: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during upgrade: %v", err), feedback.ErrGeneric) } } if hasBadArguments { - feedback.Fatal(tr("Some upgrades failed, please check the output for details."), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Some upgrades failed, please check the output for details."), feedback.ErrBadArgument) } feedback.PrintResult(&platformUpgradeResult{}) diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 76c7e9a24ef..3139a66bdde 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -47,7 +47,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * var daemonPort string daemonCommand := &cobra.Command{ Use: "daemon", - Short: tr("Run the Arduino CLI as a gRPC daemon."), + Short: i18n.Tr("Run the Arduino CLI as a gRPC daemon."), Example: " " + os.Args[0] + " daemon", Args: cobra.NoArgs, PreRun: func(cmd *cobra.Command, args []string) { @@ -73,19 +73,19 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * daemonCommand.Flags().StringVar(&daemonPort, "port", defaultDaemonPort, - tr("The TCP port the daemon will listen to")) + i18n.Tr("The TCP port the daemon will listen to")) daemonCommand.Flags().BoolVar(&daemonize, "daemonize", false, - tr("Do not terminate daemon process if the parent process dies")) + i18n.Tr("Do not terminate daemon process if the parent process dies")) daemonCommand.Flags().BoolVar(&debug, "debug", false, - tr("Enable debug logging of gRPC calls")) + i18n.Tr("Enable debug logging of gRPC calls")) daemonCommand.Flags().StringVar(&debugFile, "debug-file", "", - tr("Append debug logging to the specified file")) + i18n.Tr("Append debug logging to the specified file")) daemonCommand.Flags().StringSliceVar(&debugFilters, "debug-filter", []string{}, - tr("Display only the provided gRPC calls")) + i18n.Tr("Display only the provided gRPC calls")) return daemonCommand } @@ -95,7 +95,7 @@ func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort string) { gRPCOptions := []grpc.ServerOption{} if debugFile != "" { if !debug { - feedback.Fatal(tr("The flag --debug-file must be used with --debug."), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("The flag --debug-file must be used with --debug."), feedback.ErrBadArgument) } } if debug { @@ -103,13 +103,13 @@ func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort string) { outFile := paths.New(debugFile) f, err := outFile.Append() if err != nil { - feedback.Fatal(tr("Error opening debug logging file: %s", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error opening debug logging file: %s", err), feedback.ErrGeneric) } defer f.Close() debugStdOut = f } else { if out, _, err := feedback.DirectStreams(); err != nil { - feedback.Fatal(tr("Can't write debug log: %s", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Can't write debug log: %s", err), feedback.ErrBadArgument) } else { debugStdOut = out } @@ -135,19 +135,19 @@ func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort string) { // Invalid port, such as "Foo" var dnsError *net.DNSError if errors.As(err, &dnsError) { - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is unknown name.", daemonPort, dnsError.Name), feedback.ErrBadTCPPortArgument) + feedback.Fatal(i18n.Tr("Failed to listen on TCP port: %[1]s. %[2]s is unknown name.", daemonPort, dnsError.Name), feedback.ErrBadTCPPortArgument) } // Invalid port number, such as -1 var addrError *net.AddrError if errors.As(err, &addrError) { - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. %[2]s is an invalid port.", daemonPort, addrError.Addr), feedback.ErrBadTCPPortArgument) + feedback.Fatal(i18n.Tr("Failed to listen on TCP port: %[1]s. %[2]s is an invalid port.", daemonPort, addrError.Addr), feedback.ErrBadTCPPortArgument) } // Port is already in use var syscallErr *os.SyscallError if errors.As(err, &syscallErr) && errors.Is(syscallErr.Err, syscall.EADDRINUSE) { - feedback.Fatal(tr("Failed to listen on TCP port: %s. Address already in use.", daemonPort), feedback.ErrFailedToListenToTCPPort) + feedback.Fatal(i18n.Tr("Failed to listen on TCP port: %s. Address already in use.", daemonPort), feedback.ErrFailedToListenToTCPPort) } - feedback.Fatal(tr("Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v", daemonPort, err), feedback.ErrFailedToListenToTCPPort) + feedback.Fatal(i18n.Tr("Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v", daemonPort, err), feedback.ErrFailedToListenToTCPPort) } // We need to retrieve the port used only if the user did not specify it @@ -158,7 +158,7 @@ func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort string) { split := strings.Split(address.String(), ":") if len(split) <= 1 { - feedback.Fatal(tr("Invalid TCP address: port is missing"), feedback.ErrBadTCPPortArgument) + feedback.Fatal(i18n.Tr("Invalid TCP address: port is missing"), feedback.ErrBadTCPPortArgument) } daemonPort = split[1] @@ -185,5 +185,5 @@ func (r daemonResult) Data() interface{} { func (r daemonResult) String() string { j, _ := json.Marshal(r) - return fmt.Sprintln(tr("Daemon is now listening on %s:%s", r.IP, r.Port)) + fmt.Sprintln(string(j)) + return fmt.Sprintln(i18n.Tr("Daemon is now listening on %s:%s", r.IP, r.Port)) + fmt.Sprintln(string(j)) } diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 3da3c125371..03c8dc8cfcb 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -35,8 +35,6 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `upload` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var ( @@ -51,8 +49,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { debugCommand := &cobra.Command{ Use: "debug", - Short: tr("Debug Arduino sketches."), - Long: tr("Debug Arduino sketches. (this command opens an interactive gdb session)"), + Short: i18n.Tr("Debug Arduino sketches."), + Long: i18n.Tr("Debug Arduino sketches. (this command opens an interactive gdb session)"), Example: " " + os.Args[0] + " debug -b arduino:samd:mkr1000 -P atmel_ice /home/user/Arduino/MySketch", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { @@ -65,9 +63,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { portArgs.AddToCommand(debugCommand, srv) programmer.AddToCommand(debugCommand, srv) profileArg.AddToCommand(debugCommand, srv) - debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) - debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries for debug.")) - debugCommand.Flags().BoolVarP(&printInfo, "info", "I", false, tr("Show metadata about the debug session instead of starting the debugger.")) + debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", i18n.Tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) + debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", i18n.Tr("Directory containing binaries for debug.")) + debugCommand.Flags().BoolVarP(&printInfo, "info", "I", false, i18n.Tr("Show metadata about the debug session instead of starting the debugger.")) return debugCommand } @@ -129,7 +127,7 @@ func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } - feedback.Fatal(tr("Error getting Debug info: %v", err), errcode) + feedback.Fatal(i18n.Tr("Error getting Debug info: %v", err), errcode) } else { feedback.PrintResult(newDebugInfoResult(res)) } @@ -149,7 +147,7 @@ func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer } - feedback.Fatal(tr("Error during Debug: %v", err), errcode) + feedback.Fatal(i18n.Tr("Error during Debug: %v", err), errcode) } } @@ -182,7 +180,7 @@ func newDebugInfoResult(info *rpc.GetDebugConfigResponse) *debugInfoResult { case "openocd": var openocdConf rpc.DebugOpenOCDServerConfiguration if err := info.GetServerConfiguration().UnmarshalTo(&openocdConf); err != nil { - feedback.Fatal(tr("Error during Debug: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during Debug: %v", err), feedback.ErrGeneric) } serverConfig = &openOcdServerConfigResult{ Path: openocdConf.GetPath(), @@ -220,24 +218,24 @@ func (r *debugInfoResult) String() string { t := table.New() green := color.New(color.FgHiGreen) dimGreen := color.New(color.FgGreen) - t.AddRow(tr("Executable to debug"), table.NewCell(r.Executable, green)) - t.AddRow(tr("Toolchain type"), table.NewCell(r.Toolchain, green)) - t.AddRow(tr("Toolchain path"), table.NewCell(r.ToolchainPath, dimGreen)) - t.AddRow(tr("Toolchain prefix"), table.NewCell(r.ToolchainPrefix, dimGreen)) + t.AddRow(i18n.Tr("Executable to debug"), table.NewCell(r.Executable, green)) + t.AddRow(i18n.Tr("Toolchain type"), table.NewCell(r.Toolchain, green)) + t.AddRow(i18n.Tr("Toolchain path"), table.NewCell(r.ToolchainPath, dimGreen)) + t.AddRow(i18n.Tr("Toolchain prefix"), table.NewCell(r.ToolchainPrefix, dimGreen)) if r.SvdFile != "" { - t.AddRow(tr("SVD file path"), table.NewCell(r.SvdFile, dimGreen)) + t.AddRow(i18n.Tr("SVD file path"), table.NewCell(r.SvdFile, dimGreen)) } switch r.Toolchain { case "gcc": // no options available at the moment... default: } - t.AddRow(tr("Server type"), table.NewCell(r.Server, green)) - t.AddRow(tr("Server path"), table.NewCell(r.ServerPath, dimGreen)) + t.AddRow(i18n.Tr("Server type"), table.NewCell(r.Server, green)) + t.AddRow(i18n.Tr("Server path"), table.NewCell(r.ServerPath, dimGreen)) switch r.Server { case "openocd": - t.AddRow(tr("Configuration options for %s", r.Server)) + t.AddRow(i18n.Tr("Configuration options for %s", r.Server)) openocdConf := r.ServerConfig.(*openOcdServerConfigResult) if openocdConf.Path != "" { t.AddRow(" - Path", table.NewCell(openocdConf.Path, dimGreen)) @@ -253,7 +251,7 @@ func (r *debugInfoResult) String() string { if custom := r.CustomConfigs; custom != nil { for id, config := range custom { configJson, _ := json.MarshalIndent(config, "", " ") - t.AddRow(tr("Custom configuration for %s:", id)) + t.AddRow(i18n.Tr("Custom configuration for %s:", id)) return t.Render() + " " + string(configJson) } } diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index c16bb13cc25..cb749a2da0e 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -38,7 +39,7 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { ) debugCheckCommand := &cobra.Command{ Use: "check", - Short: tr("Check if the given board/programmer combination supports debugging."), + Short: i18n.Tr("Check if the given board/programmer combination supports debugging."), Example: " " + os.Args[0] + " debug check -b arduino:samd:mkr1000 -P atmel_ice", Run: func(cmd *cobra.Command, args []string) { runDebugCheckCommand(cmd.Context(), srv, &portArgs, &fqbnArg, interpreter, &programmer) @@ -47,7 +48,7 @@ func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { fqbnArg.AddToCommand(debugCheckCommand, srv) portArgs.AddToCommand(debugCheckCommand, srv) programmer.AddToCommand(debugCheckCommand, srv) - debugCheckCommand.Flags().StringVar(&interpreter, "interpreter", "console", tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) + debugCheckCommand.Flags().StringVar(&interpreter, "interpreter", "console", i18n.Tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) return debugCheckCommand } @@ -83,7 +84,7 @@ func (d *debugCheckResult) Data() interface{} { func (d *debugCheckResult) String() string { if d.Result.DebuggingSupported { - return tr("The given board/programmer configuration supports debugging.") + return i18n.Tr("The given board/programmer configuration supports debugging.") } - return tr("The given board/programmer configuration does NOT support debugging.") + return i18n.Tr("The given board/programmer configuration does NOT support debugging.") } diff --git a/internal/cli/feedback/feedback.go b/internal/cli/feedback/feedback.go index db98749bd41..c665f35a0dd 100644 --- a/internal/cli/feedback/feedback.go +++ b/internal/cli/feedback/feedback.go @@ -105,8 +105,6 @@ type ErrorResult interface { ErrorString() string } -var tr = i18n.Tr - // SetOut can be used to change the out writer at runtime func SetOut(out io.Writer) { if formatSelected { @@ -235,13 +233,13 @@ func PrintResult(res Result) { case JSON: d, err := json.MarshalIndent(augment(res.Data()), "", " ") if err != nil { - Fatal(tr("Error during JSON encoding of the output: %v", err), ErrGeneric) + Fatal(i18n.Tr("Error during JSON encoding of the output: %v", err), ErrGeneric) } data = string(d) case MinifiedJSON: d, err := json.Marshal(augment(res.Data())) if err != nil { - Fatal(tr("Error during JSON encoding of the output: %v", err), ErrGeneric) + Fatal(i18n.Tr("Error during JSON encoding of the output: %v", err), ErrGeneric) } data = string(d) case Text: diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index e03c8166d48..f5178a6382c 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -27,8 +27,6 @@ import ( semver "go.bug.st/relaxed-semver" ) -var tr = i18n.Tr - // NewPlatformSummary creates a new result.PlatformSummary from rpc.PlatformSummary func NewPlatformSummary(in *rpc.PlatformSummary) *PlatformSummary { if in == nil { @@ -145,7 +143,7 @@ type PlatformRelease struct { func (p *PlatformRelease) FormatName() string { if p.Deprecated { - return fmt.Sprintf("[%s] %s", tr("DEPRECATED"), p.Name) + return fmt.Sprintf("[%s] %s", i18n.Tr("DEPRECATED"), p.Name) } return p.Name } diff --git a/internal/cli/feedback/rpc_progress.go b/internal/cli/feedback/rpc_progress.go index c9a413a4fdb..0d63d5cd346 100644 --- a/internal/cli/feedback/rpc_progress.go +++ b/internal/cli/feedback/rpc_progress.go @@ -18,6 +18,7 @@ package feedback import ( "sync" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/cmaglie/pb" ) @@ -70,7 +71,7 @@ func NewDownloadProgressBarCB() func(*rpc.DownloadProgress) { if end := curr.GetEnd(); end != nil { msg := end.GetMessage() if end.GetSuccess() && msg == "" { - msg = tr("downloaded") + msg = i18n.Tr("downloaded") } if started { bar.FinishPrintOver(label + " " + msg) diff --git a/internal/cli/feedback/stdio.go b/internal/cli/feedback/stdio.go index 87f37f0c227..e279ce2979d 100644 --- a/internal/cli/feedback/stdio.go +++ b/internal/cli/feedback/stdio.go @@ -19,6 +19,8 @@ import ( "bytes" "errors" "io" + + "github.com/arduino/arduino-cli/internal/i18n" ) // DirectStreams returns the underlying io.Writer to directly stream to @@ -32,7 +34,7 @@ func DirectStreams() (io.Writer, io.Writer, error) { panic("output format not yet selected") } if format != Text { - return nil, nil, errors.New(tr("available only in text format")) + return nil, nil, errors.New(i18n.Tr("available only in text format")) } return stdOut, stdErr, nil } diff --git a/internal/cli/feedback/terminal.go b/internal/cli/feedback/terminal.go index 9b60b80cc11..8dc4c09a611 100644 --- a/internal/cli/feedback/terminal.go +++ b/internal/cli/feedback/terminal.go @@ -22,6 +22,7 @@ import ( "io" "os" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/mattn/go-isatty" "golang.org/x/term" ) @@ -34,7 +35,7 @@ func InteractiveStreams() (io.Reader, io.Writer, error) { panic("output format not yet selected") } if format != Text { - return nil, nil, errors.New(tr("interactive terminal not supported for the '%s' output format", format)) + return nil, nil, errors.New(i18n.Tr("interactive terminal not supported for the '%s' output format", format)) } return os.Stdin, stdOut, nil } @@ -48,7 +49,7 @@ func SetRawModeStdin() error { panic("terminal already in RAW mode") } if !IsInteractive() { - return errors.New(tr("not running in a terminal")) + return errors.New(i18n.Tr("not running in a terminal")) } old, err := term.MakeRaw(int(os.Stdin.Fd())) if err != nil { @@ -90,10 +91,10 @@ func IsCI() bool { // InputUserField prompts the user to input the provided user field. func InputUserField(prompt string, secret bool) (string, error) { if format != Text { - return "", errors.New(tr("user input not supported for the '%s' output format", format)) + return "", errors.New(i18n.Tr("user input not supported for the '%s' output format", format)) } if !IsInteractive() { - return "", errors.New(tr("user input not supported in non interactive mode")) + return "", errors.New(i18n.Tr("user input not supported in non interactive mode")) } fmt.Fprintf(stdOut, "%s: ", prompt) diff --git a/internal/cli/feedback/warn_deprecated.go b/internal/cli/feedback/warn_deprecated.go index 0a780574d5e..1354ef77269 100644 --- a/internal/cli/feedback/warn_deprecated.go +++ b/internal/cli/feedback/warn_deprecated.go @@ -19,6 +19,7 @@ import ( "fmt" "strings" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -35,7 +36,7 @@ func WarnAboutDeprecatedFiles(s *rpc.Sketch) { } if len(files) > 0 { // .pde files are still supported but deprecated, this warning urges the user to rename them - msg := tr("Sketches with .pde extension are deprecated, please rename the following files to .ino:") + msg := i18n.Tr("Sketches with .pde extension are deprecated, please rename the following files to .ino:") for _, f := range files { msg += fmt.Sprintf("\n - %s", f) } diff --git a/internal/cli/generatedocs/generatedocs.go b/internal/cli/generatedocs/generatedocs.go index 59bf270c442..d8bdd0a18af 100644 --- a/internal/cli/generatedocs/generatedocs.go +++ b/internal/cli/generatedocs/generatedocs.go @@ -35,14 +35,14 @@ var ( func NewCommand() *cobra.Command { generateDocsCommand := &cobra.Command{ Use: "generate-docs", - Short: tr("Generates bash completion and command manpages."), - Long: tr("Generates bash completion and command manpages."), + Short: i18n.Tr("Generates bash completion and command manpages."), + Long: i18n.Tr("Generates bash completion and command manpages."), Example: " " + os.Args[0] + " generate-docs bash-completions", Hidden: true, } generateDocsCommand.PersistentFlags().StringVarP(&outputDir, "output-dir", "o", "", - tr("Directory where to save generated files. Default is './docs', the directory must exist.")) + i18n.Tr("Directory where to save generated files. Default is './docs', the directory must exist.")) generateDocsCommand.AddCommand(&cobra.Command{ Use: "manpage", Args: cobra.NoArgs, @@ -77,7 +77,7 @@ func generateManPages(cmd *cobra.Command, args []string) { } logrus.WithField("outputDir", outputDir).Info("Generating manpages") header := &doc.GenManHeader{ - Title: tr("ARDUINO COMMAND LINE MANUAL"), + Title: i18n.Tr("ARDUINO COMMAND LINE MANUAL"), Section: "1", } err := doc.GenManTree(cmd.Root(), header, outputDir) diff --git a/internal/cli/instance/instance.go b/internal/cli/instance/instance.go index 28a19ad6e5a..316a1b0baf6 100644 --- a/internal/cli/instance/instance.go +++ b/internal/cli/instance/instance.go @@ -25,8 +25,6 @@ import ( "github.com/arduino/go-paths-helper" ) -var tr = i18n.Tr - // CreateAndInit return a new initialized instance. // If Create fails the CLI prints an error and exits since // to execute further operations a valid Instance is mandatory. @@ -42,7 +40,7 @@ func CreateAndInit(ctx context.Context, srv rpc.ArduinoCoreServiceServer) *rpc.I func CreateAndInitWithProfile(ctx context.Context, srv rpc.ArduinoCoreServiceServer, profileName string, sketchPath *paths.Path) (*rpc.Instance, *rpc.SketchProfile) { instance, err := create(ctx, srv) if err != nil { - feedback.Fatal(tr("Error creating instance: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating instance: %v", err), feedback.ErrGeneric) } profile := InitWithProfile(ctx, srv, instance, profileName, sketchPath) return instance, profile @@ -81,7 +79,7 @@ func InitWithProfile(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst var profile *rpc.SketchProfile err := srv.Init(initReq, commands.InitStreamResponseToCallbackFunction(ctx, func(res *rpc.InitResponse) error { if st := res.GetError(); st != nil { - feedback.Warning(tr("Error initializing instance: %v", st.GetMessage())) + feedback.Warning(i18n.Tr("Error initializing instance: %v", st.GetMessage())) } if progress := res.GetInitProgress(); progress != nil { @@ -99,7 +97,7 @@ func InitWithProfile(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst return nil })) if err != nil { - feedback.Warning(tr("Error initializing instance: %v", err)) + feedback.Warning(i18n.Tr("Error initializing instance: %v", err)) } return profile diff --git a/internal/cli/lib/args.go b/internal/cli/lib/args.go index 3d3546a0c7e..63d0f7b1696 100644 --- a/internal/cli/lib/args.go +++ b/internal/cli/lib/args.go @@ -17,9 +17,10 @@ package lib import ( "context" - "fmt" + "errors" "strings" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -45,12 +46,12 @@ func ParseLibraryReferenceArg(arg string) (*LibraryReferenceArg, error) { // TODO: check library Name constraints // TODO: check library Version constraints if tokens[0] == "" { - return nil, fmt.Errorf(tr("invalid empty library name")) + return nil, errors.New(i18n.Tr("invalid empty library name")) } ret.Name = tokens[0] if len(tokens) > 1 { if tokens[1] == "" { - return nil, fmt.Errorf(tr("invalid empty library version: %s"), arg) + return nil, errors.New(i18n.Tr("invalid empty library version: %s", arg)) } ret.Version = tokens[1] } diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 8e18e800515..48f57291d63 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/fatih/color" "github.com/sirupsen/logrus" @@ -34,12 +35,12 @@ import ( func initDepsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var noOverwrite bool depsCommand := &cobra.Command{ - Use: fmt.Sprintf("deps %s[@%s]...", tr("LIBRARY"), tr("VERSION_NUMBER")), - Short: tr("Check dependencies status for the specified library."), - Long: tr("Check dependencies status for the specified library."), + Use: fmt.Sprintf("deps %s[@%s]...", i18n.Tr("LIBRARY"), i18n.Tr("VERSION_NUMBER")), + Short: i18n.Tr("Check dependencies status for the specified library."), + Long: i18n.Tr("Check dependencies status for the specified library."), Example: "" + - " " + os.Args[0] + " lib deps AudioZero # " + tr("for the latest version.") + "\n" + - " " + os.Args[0] + " lib deps AudioZero@1.0.0 # " + tr("for the specific version."), + " " + os.Args[0] + " lib deps AudioZero # " + i18n.Tr("for the latest version.") + "\n" + + " " + os.Args[0] + " lib deps AudioZero@1.0.0 # " + i18n.Tr("for the specific version."), Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { runDepsCommand(cmd.Context(), srv, args, noOverwrite) @@ -48,7 +49,7 @@ func initDepsCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { return arguments.GetInstalledLibraries(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } - depsCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, tr("Do not try to update library dependencies if already installed.")) + depsCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, i18n.Tr("Do not try to update library dependencies if already installed.")) return depsCommand } @@ -58,7 +59,7 @@ func runDepsCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args logrus.Info("Executing `arduino-cli lib deps`") libRef, err := ParseLibraryReferenceArgAndAdjustCase(ctx, srv, instance, args[0]) if err != nil { - feedback.Fatal(tr("Arguments error: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Arguments error: %v", err), feedback.ErrBadArgument) } deps, err := srv.LibraryResolveDependencies(ctx, &rpc.LibraryResolveDependenciesRequest{ @@ -68,7 +69,7 @@ func runDepsCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args DoNotUpdateInstalledLibraries: noOverwrite, }) if err != nil { - feedback.Fatal(tr("Error resolving dependencies for %[1]s: %[2]s", libRef, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error resolving dependencies for %[1]s: %[2]s", libRef, err), feedback.ErrGeneric) } feedback.PrintResult(&checkDepResult{deps: result.NewLibraryResolveDependenciesResponse(deps)}) @@ -114,13 +115,13 @@ func outputDep(dep *result.LibraryDependencyStatus) string { red := color.New(color.FgRed) yellow := color.New(color.FgYellow) if dep.VersionInstalled == "" { - res += tr("%s must be installed.", + res += i18n.Tr("%s must be installed.", red.Sprintf("✕ %s %s", dep.Name, dep.VersionRequired)) } else if dep.VersionInstalled == dep.VersionRequired { - res += tr("%s is already installed.", + res += i18n.Tr("%s is already installed.", green.Sprintf("✓ %s %s", dep.Name, dep.VersionRequired)) } else { - res += tr("%[1]s is required but %[2]s is currently installed.", + res += i18n.Tr("%[1]s is required but %[2]s is currently installed.", yellow.Sprintf("✕ %s %s", dep.Name, dep.VersionRequired), yellow.Sprintf("%s", dep.VersionInstalled)) } diff --git a/internal/cli/lib/download.go b/internal/cli/lib/download.go index 562f8b07bb9..511d38291e8 100644 --- a/internal/cli/lib/download.go +++ b/internal/cli/lib/download.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -31,12 +32,12 @@ import ( func initDownloadCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { downloadCommand := &cobra.Command{ - Use: fmt.Sprintf("download [%s]...", tr("LIBRARY_NAME")), - Short: tr("Downloads one or more libraries without installing them."), - Long: tr("Downloads one or more libraries without installing them."), + Use: fmt.Sprintf("download [%s]...", i18n.Tr("LIBRARY_NAME")), + Short: i18n.Tr("Downloads one or more libraries without installing them."), + Long: i18n.Tr("Downloads one or more libraries without installing them."), Example: "" + - " " + os.Args[0] + " lib download AudioZero # " + tr("for the latest version.") + "\n" + - " " + os.Args[0] + " lib download AudioZero@1.0.0 # " + tr("for a specific version."), + " " + os.Args[0] + " lib download AudioZero # " + i18n.Tr("for the latest version.") + "\n" + + " " + os.Args[0] + " lib download AudioZero@1.0.0 # " + i18n.Tr("for a specific version."), Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { runDownloadCommand(cmd.Context(), srv, args) @@ -54,7 +55,7 @@ func runDownloadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, a refs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) if err != nil { - feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } for _, library := range refs { @@ -65,7 +66,7 @@ func runDownloadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, a } stream := commands.LibraryDownloadStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) if err := srv.LibraryDownload(libraryDownloadRequest, stream); err != nil { - feedback.Fatal(tr("Error downloading %[1]s: %[2]v", library, err), feedback.ErrNetwork) + feedback.Fatal(i18n.Tr("Error downloading %[1]s: %[2]v", library, err), feedback.ErrNetwork) } } } diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index ff24e3616cb..3b418809dfc 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -26,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/fatih/color" @@ -39,9 +40,9 @@ var ( func initExamplesCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { examplesCommand := &cobra.Command{ - Use: fmt.Sprintf("examples [%s]", tr("LIBRARY_NAME")), - Short: tr("Shows the list of the examples for libraries."), - Long: tr("Shows the list of the examples for libraries. A name may be given as argument to search a specific library."), + Use: fmt.Sprintf("examples [%s]", i18n.Tr("LIBRARY_NAME")), + Short: i18n.Tr("Shows the list of the examples for libraries."), + Long: i18n.Tr("Shows the list of the examples for libraries. A name may be given as argument to search a specific library."), Example: " " + os.Args[0] + " lib examples Wire", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { @@ -71,7 +72,7 @@ func runExamplesCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, a Fqbn: fqbn.String(), }) if err != nil { - feedback.Fatal(tr("Error getting libraries info: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error getting libraries info: %v", err), feedback.ErrGeneric) } found := []*libraryExamples{} @@ -104,7 +105,7 @@ func (ir libraryExamplesResult) Data() interface{} { func (ir libraryExamplesResult) String() string { if ir.Examples == nil || len(ir.Examples) == 0 { - return tr("No libraries found.") + return i18n.Tr("No libraries found.") } sort.Slice(ir.Examples, func(i, j int) bool { @@ -119,7 +120,7 @@ func (ir libraryExamplesResult) String() string { } else if lib.Library.Location != result.LibraryLocationUser { name += " (" + string(lib.Library.Location) + ")" } - r := tr("Examples for library %s", color.GreenString("%s", name)) + "\n" + r := i18n.Tr("Examples for library %s", color.GreenString("%s", name)) + "\n" sort.Slice(lib.Examples, func(i, j int) bool { return strings.ToLower(lib.Examples[i]) < strings.ToLower(lib.Examples[j]) }) diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index fbde0cf8a6b..29ae88ccdcd 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" @@ -41,14 +42,14 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configur var useBuiltinLibrariesDir bool enableUnsafeInstall := settings.GetLibrary().GetEnableUnsafeInstall() installCommand := &cobra.Command{ - Use: fmt.Sprintf("install %s[@%s]...", tr("LIBRARY"), tr("VERSION_NUMBER")), - Short: tr("Installs one or more specified libraries into the system."), - Long: tr("Installs one or more specified libraries into the system."), + Use: fmt.Sprintf("install %s[@%s]...", i18n.Tr("LIBRARY"), i18n.Tr("VERSION_NUMBER")), + Short: i18n.Tr("Installs one or more specified libraries into the system."), + Long: i18n.Tr("Installs one or more specified libraries into the system."), Example: "" + - " " + os.Args[0] + " lib install AudioZero # " + tr("for the latest version.") + "\n" + - " " + os.Args[0] + " lib install AudioZero@1.0.0 # " + tr("for the specific version.") + "\n" + + " " + os.Args[0] + " lib install AudioZero # " + i18n.Tr("for the latest version.") + "\n" + + " " + os.Args[0] + " lib install AudioZero@1.0.0 # " + i18n.Tr("for the specific version.") + "\n" + " " + os.Args[0] + " lib install --git-url https://github.com/arduino-libraries/WiFi101.git https://github.com/arduino-libraries/ArduinoBLE.git\n" + - " " + os.Args[0] + " lib install --git-url https://github.com/arduino-libraries/WiFi101.git#0.16.0 # " + tr("for the specific version.") + "\n" + + " " + os.Args[0] + " lib install --git-url https://github.com/arduino-libraries/WiFi101.git#0.16.0 # " + i18n.Tr("for the specific version.") + "\n" + " " + os.Args[0] + " lib install --zip-path /path/to/WiFi101.zip /path/to/ArduinoBLE.zip\n", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { @@ -58,11 +59,11 @@ func initInstallCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configur return arguments.GetInstallableLibs(cmd.Context(), srv), cobra.ShellCompDirectiveDefault }, } - installCommand.Flags().BoolVar(&noDeps, "no-deps", false, tr("Do not install dependencies.")) - installCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, tr("Do not overwrite already installed libraries.")) - installCommand.Flags().BoolVar(&gitURL, "git-url", false, tr("Enter git url for libraries hosted on repositories")) - installCommand.Flags().BoolVar(&zipPath, "zip-path", false, tr("Enter a path to zip file")) - installCommand.Flags().BoolVar(&useBuiltinLibrariesDir, "install-in-builtin-dir", false, tr("Install libraries in the IDE-Builtin directory")) + installCommand.Flags().BoolVar(&noDeps, "no-deps", false, i18n.Tr("Do not install dependencies.")) + installCommand.Flags().BoolVar(&noOverwrite, "no-overwrite", false, i18n.Tr("Do not overwrite already installed libraries.")) + installCommand.Flags().BoolVar(&gitURL, "git-url", false, i18n.Tr("Enter git url for libraries hosted on repositories")) + installCommand.Flags().BoolVar(&zipPath, "zip-path", false, i18n.Tr("Enter a path to zip file")) + installCommand.Flags().BoolVar(&useBuiltinLibrariesDir, "install-in-builtin-dir", false, i18n.Tr("Install libraries in the IDE-Builtin directory")) return installCommand } @@ -78,12 +79,12 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar split := strings.Split(version.VersionInfo.VersionString, ".") documentationURL = fmt.Sprintf("https://arduino.github.io/arduino-cli/%s.%s/configuration/#configuration-keys", split[0], split[1]) } - feedback.Fatal(tr("--git-url and --zip-path are disabled by default, for more information see: %v", documentationURL), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("--git-url and --zip-path are disabled by default, for more information see: %v", documentationURL), feedback.ErrGeneric) } - feedback.Print(tr("--git-url and --zip-path flags allow installing untrusted files, use it at your own risk.")) + feedback.Print(i18n.Tr("--git-url and --zip-path flags allow installing untrusted files, use it at your own risk.")) if useBuiltinLibrariesDir { - feedback.Fatal(tr("--git-url or --zip-path can't be used with --install-in-builtin-dir"), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("--git-url or --zip-path can't be used with --install-in-builtin-dir"), feedback.ErrGeneric) } } @@ -96,7 +97,7 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar } stream := commands.ZipLibraryInstallStreamResponseToCallbackFunction(ctx, feedback.TaskProgress()) if err := srv.ZipLibraryInstall(req, stream); err != nil { - feedback.Fatal(tr("Error installing Zip Library: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error installing Zip Library: %v", err), feedback.ErrGeneric) } } return @@ -107,7 +108,7 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar if url == "." { wd, err := paths.Getwd() if err != nil { - feedback.Fatal(tr("Couldn't get current working directory: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Couldn't get current working directory: %v", err), feedback.ErrGeneric) } url = wd.String() } @@ -118,7 +119,7 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar } stream := commands.GitLibraryInstallStreamResponseToCallbackFunction(ctx, feedback.TaskProgress()) if err := srv.GitLibraryInstall(req, stream); err != nil { - feedback.Fatal(tr("Error installing Git Library: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error installing Git Library: %v", err), feedback.ErrGeneric) } } return @@ -126,7 +127,7 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar libRefs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) if err != nil { - feedback.Fatal(tr("Arguments error: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Arguments error: %v", err), feedback.ErrBadArgument) } for _, libRef := range libRefs { @@ -144,7 +145,7 @@ func runInstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar } stream := commands.LibraryInstallStreamResponseToCallbackFunction(ctx, feedback.ProgressBar(), feedback.TaskProgress()) if err := srv.LibraryInstall(libraryInstallRequest, stream); err != nil { - feedback.Fatal(tr("Error installing %s: %v", libRef.Name, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error installing %s: %v", libRef.Name, err), feedback.ErrGeneric) } } } diff --git a/internal/cli/lib/lib.go b/internal/cli/lib/lib.go index 5aa89cee8dd..45081bda391 100644 --- a/internal/cli/lib/lib.go +++ b/internal/cli/lib/lib.go @@ -23,14 +23,12 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `lib` command func NewCommand(srv rpc.ArduinoCoreServiceServer, defaultSettings *rpc.Configuration) *cobra.Command { libCommand := &cobra.Command{ Use: "lib", - Short: tr("Arduino commands about libraries."), - Long: tr("Arduino commands about libraries."), + Short: i18n.Tr("Arduino commands about libraries."), + Long: i18n.Tr("Arduino commands about libraries."), Example: "" + " " + os.Args[0] + " lib install AudioZero\n" + " " + os.Args[0] + " lib update-index", diff --git a/internal/cli/lib/list.go b/internal/cli/lib/list.go index f764df4985c..d316e8b3756 100644 --- a/internal/cli/lib/list.go +++ b/internal/cli/lib/list.go @@ -26,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -35,9 +36,9 @@ func initListCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var all bool var updatable bool listCommand := &cobra.Command{ - Use: fmt.Sprintf("list [%s]", tr("LIBNAME")), - Short: tr("Shows a list of installed libraries."), - Long: tr(`Shows a list of installed libraries. + Use: fmt.Sprintf("list [%s]", i18n.Tr("LIBNAME")), + Short: i18n.Tr("Shows a list of installed libraries."), + Long: i18n.Tr(`Shows a list of installed libraries. If the LIBNAME parameter is specified the listing is limited to that specific library. By default the libraries provided as built-in by platforms/core are @@ -51,9 +52,9 @@ not listed, they can be listed by adding the --all flag.`), List(ctx, srv, instance, args, all, updatable) }, } - listCommand.Flags().BoolVar(&all, "all", false, tr("Include built-in libraries (from platforms and IDE) in listing.")) + listCommand.Flags().BoolVar(&all, "all", false, i18n.Tr("Include built-in libraries (from platforms and IDE) in listing.")) fqbn.AddToCommand(listCommand, srv) - listCommand.Flags().BoolVar(&updatable, "updatable", false, tr("List updatable libraries.")) + listCommand.Flags().BoolVar(&updatable, "updatable", false, i18n.Tr("List updatable libraries.")) return listCommand } @@ -87,7 +88,7 @@ func GetList(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rp Fqbn: fqbn.String(), }) if err != nil { - feedback.Fatal(tr("Error listing libraries: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error listing libraries: %v", err), feedback.ErrGeneric) } libs := []*rpc.InstalledLibrary{} @@ -124,9 +125,9 @@ func (ir installedResult) Data() interface{} { func (ir installedResult) String() string { if len(ir.InstalledLibs) == 0 { if ir.onlyUpdates { - return tr("No libraries update is available.") + return i18n.Tr("No libraries update is available.") } - return tr("No libraries installed.") + return i18n.Tr("No libraries installed.") } sort.Slice(ir.InstalledLibs, func(i, j int) bool { return strings.ToLower(ir.InstalledLibs[i].Library.Name) < strings.ToLower(ir.InstalledLibs[j].Library.Name) || @@ -134,7 +135,7 @@ func (ir installedResult) String() string { }) t := table.New() - t.SetHeader(tr("Name"), tr("Installed"), tr("Available"), tr("Location"), tr("Description")) + t.SetHeader(i18n.Tr("Name"), i18n.Tr("Installed"), i18n.Tr("Available"), i18n.Tr("Location"), i18n.Tr("Description")) t.SetColumnWidthMode(1, table.Average) t.SetColumnWidthMode(2, table.Average) t.SetColumnWidthMode(4, table.Average) diff --git a/internal/cli/lib/search.go b/internal/cli/lib/search.go index 94780be95c4..7103c5d9472 100644 --- a/internal/cli/lib/search.go +++ b/internal/cli/lib/search.go @@ -26,6 +26,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -35,9 +36,9 @@ func initSearchCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var namesOnly bool var omitReleasesDetails bool searchCommand := &cobra.Command{ - Use: fmt.Sprintf("search [%s ...]", tr("SEARCH_TERM")), - Short: tr("Searches for one or more libraries matching a query."), - Long: tr(`Search for libraries matching zero or more search terms. + Use: fmt.Sprintf("search [%s ...]", i18n.Tr("SEARCH_TERM")), + Short: i18n.Tr("Searches for one or more libraries matching a query."), + Long: i18n.Tr(`Search for libraries matching zero or more search terms. All searches are performed in a case-insensitive fashion. Queries containing multiple search terms will return only libraries that match all of the terms. @@ -80,21 +81,21 @@ In addition to the fields listed above, QV terms can use these qualifiers: - Version - Website `), - Example: " " + os.Args[0] + " lib search audio # " + tr("basic search for \"audio\"") + "\n" + - " " + os.Args[0] + " lib search name:buzzer # " + tr("libraries with \"buzzer\" in the Name field") + "\n" + - " " + os.Args[0] + " lib search name=pcf8523 # " + tr("libraries with a Name exactly matching \"pcf8523\"") + "\n" + - " " + os.Args[0] + " lib search \"author:\\\"Daniel Garcia\\\"\" # " + tr("libraries authored by Daniel Garcia") + "\n" + - " " + os.Args[0] + " lib search author=Adafruit name:gfx # " + tr("libraries authored only by Adafruit with \"gfx\" in their Name") + "\n" + - " " + os.Args[0] + " lib search esp32 display maintainer=espressif # " + tr("basic search for \"esp32\" and \"display\" limited to official Maintainer") + "\n" + - " " + os.Args[0] + " lib search dependencies:IRremote # " + tr("libraries that depend on at least \"IRremote\"") + "\n" + - " " + os.Args[0] + " lib search dependencies=IRremote # " + tr("libraries that depend only on \"IRremote\"") + "\n", + Example: " " + os.Args[0] + " lib search audio # " + i18n.Tr("basic search for \"audio\"") + "\n" + + " " + os.Args[0] + " lib search name:buzzer # " + i18n.Tr("libraries with \"buzzer\" in the Name field") + "\n" + + " " + os.Args[0] + " lib search name=pcf8523 # " + i18n.Tr("libraries with a Name exactly matching \"pcf8523\"") + "\n" + + " " + os.Args[0] + " lib search \"author:\\\"Daniel Garcia\\\"\" # " + i18n.Tr("libraries authored by Daniel Garcia") + "\n" + + " " + os.Args[0] + " lib search author=Adafruit name:gfx # " + i18n.Tr("libraries authored only by Adafruit with \"gfx\" in their Name") + "\n" + + " " + os.Args[0] + " lib search esp32 display maintainer=espressif # " + i18n.Tr("basic search for \"esp32\" and \"display\" limited to official Maintainer") + "\n" + + " " + os.Args[0] + " lib search dependencies:IRremote # " + i18n.Tr("libraries that depend on at least \"IRremote\"") + "\n" + + " " + os.Args[0] + " lib search dependencies=IRremote # " + i18n.Tr("libraries that depend only on \"IRremote\"") + "\n", Args: cobra.ArbitraryArgs, Run: func(cmd *cobra.Command, args []string) { runSearchCommand(cmd.Context(), srv, args, namesOnly, omitReleasesDetails) }, } - searchCommand.Flags().BoolVar(&namesOnly, "names", false, tr("Show library names only.")) - searchCommand.Flags().BoolVar(&omitReleasesDetails, "omit-releases-details", false, tr("Omit library details far all versions except the latest (produce a more compact JSON output).")) + searchCommand.Flags().BoolVar(&namesOnly, "names", false, i18n.Tr("Show library names only.")) + searchCommand.Flags().BoolVar(&omitReleasesDetails, "omit-releases-details", false, i18n.Tr("Omit library details far all versions except the latest (produce a more compact JSON output).")) return searchCommand } @@ -109,7 +110,7 @@ func runSearchCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg stream, res := commands.UpdateLibrariesIndexStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) req := &rpc.UpdateLibrariesIndexRequest{Instance: inst, UpdateIfOlderThanSecs: int64(indexUpdateInterval.Seconds())} if err := srv.UpdateLibrariesIndex(req, stream); err != nil { - feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error updating library index: %v", err), feedback.ErrGeneric) } if res().GetLibrariesIndex().GetStatus() == rpc.IndexUpdateReport_STATUS_UPDATED { instance.Init(ctx, srv, inst) @@ -122,7 +123,7 @@ func runSearchCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg OmitReleasesDetails: omitReleasesDetails, }) if err != nil { - feedback.Fatal(tr("Error searching for Libraries: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error searching for Libraries: %v", err), feedback.ErrGeneric) } feedback.PrintResult(librarySearchResult{ @@ -164,23 +165,23 @@ func (res librarySearchResult) Data() interface{} { func (res librarySearchResult) String() string { results := res.results.Libraries if len(results) == 0 { - return tr("No libraries matching your search.") + return i18n.Tr("No libraries matching your search.") } var out strings.Builder if res.results.Status == result.LibrarySearchStatusFailed { - out.WriteString(tr("No libraries matching your search.\nDid you mean...\n")) + out.WriteString(i18n.Tr("No libraries matching your search.\nDid you mean...\n")) } for _, lib := range results { if res.results.Status == result.LibrarySearchStatusSuccess { - out.WriteString(tr(`Name: "%s"`, lib.Name) + "\n") + out.WriteString(i18n.Tr(`Name: "%s"`, lib.Name) + "\n") if res.namesOnly { continue } } else { - out.WriteString(fmt.Sprintf("%s\n", lib.Name)) + out.WriteString(lib.Name + "\n") continue } @@ -195,23 +196,23 @@ func (res librarySearchResult) String() string { } } - out.WriteString(fmt.Sprintf(" "+tr("Author: %s")+"\n", latest.Author)) - out.WriteString(fmt.Sprintf(" "+tr("Maintainer: %s")+"\n", latest.Maintainer)) - out.WriteString(fmt.Sprintf(" "+tr("Sentence: %s")+"\n", latest.Sentence)) - out.WriteString(fmt.Sprintf(" "+tr("Paragraph: %s")+"\n", latest.Paragraph)) - out.WriteString(fmt.Sprintf(" "+tr("Website: %s")+"\n", latest.Website)) + out.WriteString(" " + i18n.Tr("Author: %s", latest.Author) + "\n") + out.WriteString(" " + i18n.Tr("Maintainer: %s", latest.Maintainer) + "\n") + out.WriteString(" " + i18n.Tr("Sentence: %s", latest.Sentence) + "\n") + out.WriteString(" " + i18n.Tr("Paragraph: %s", latest.Paragraph) + "\n") + out.WriteString(" " + i18n.Tr("Website: %s", latest.Website) + "\n") if latest.License != "" { - out.WriteString(fmt.Sprintf(" "+tr("License: %s")+"\n", latest.License)) + out.WriteString(" " + i18n.Tr("License: %s", latest.License) + "\n") } - out.WriteString(fmt.Sprintf(" "+tr("Category: %s")+"\n", latest.Category)) - out.WriteString(fmt.Sprintf(" "+tr("Architecture: %s")+"\n", strings.Join(latest.Architectures, ", "))) - out.WriteString(fmt.Sprintf(" "+tr("Types: %s")+"\n", strings.Join(latest.Types, ", "))) - out.WriteString(fmt.Sprintf(" "+tr("Versions: %s")+"\n", strings.ReplaceAll(fmt.Sprint(lib.AvailableVersions), " ", ", "))) + out.WriteString(" " + i18n.Tr("Category: %s", latest.Category) + "\n") + out.WriteString(" " + i18n.Tr("Architecture: %s", strings.Join(latest.Architectures, ", ")) + "\n") + out.WriteString(" " + i18n.Tr("Types: %s", strings.Join(latest.Types, ", ")) + "\n") + out.WriteString(" " + i18n.Tr("Versions: %s", strings.ReplaceAll(fmt.Sprint(lib.AvailableVersions), " ", ", ")) + "\n") if len(latest.ProvidesIncludes) > 0 { - out.WriteString(fmt.Sprintf(" "+tr("Provides includes: %s")+"\n", strings.Join(latest.ProvidesIncludes, ", "))) + out.WriteString(" " + i18n.Tr("Provides includes: %s", strings.Join(latest.ProvidesIncludes, ", ")) + "\n") } if len(latest.Dependencies) > 0 { - out.WriteString(fmt.Sprintf(" "+tr("Dependencies: %s")+"\n", strings.Join(deps, ", "))) + out.WriteString(" " + i18n.Tr("Dependencies: %s", strings.Join(deps, ", ")) + "\n") } } diff --git a/internal/cli/lib/uninstall.go b/internal/cli/lib/uninstall.go index 07ca7248db2..35855ad47fa 100644 --- a/internal/cli/lib/uninstall.go +++ b/internal/cli/lib/uninstall.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -31,9 +32,9 @@ import ( func initUninstallCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { uninstallCommand := &cobra.Command{ - Use: fmt.Sprintf("uninstall %s...", tr("LIBRARY_NAME")), - Short: tr("Uninstalls one or more libraries."), - Long: tr("Uninstalls one or more libraries."), + Use: fmt.Sprintf("uninstall %s...", i18n.Tr("LIBRARY_NAME")), + Short: i18n.Tr("Uninstalls one or more libraries."), + Long: i18n.Tr("Uninstalls one or more libraries."), Example: " " + os.Args[0] + " lib uninstall AudioZero", Args: cobra.MinimumNArgs(1), Run: func(cmd *cobra.Command, args []string) { @@ -52,7 +53,7 @@ func runUninstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, refs, err := ParseLibraryReferenceArgsAndAdjustCase(ctx, srv, instance, args) if err != nil { - feedback.Fatal(tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Invalid argument passed: %v", err), feedback.ErrBadArgument) } for _, library := range refs { @@ -63,7 +64,7 @@ func runUninstallCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, } stream := commands.LibraryUninstallStreamResponseToCallbackFunction(ctx, feedback.TaskProgress()) if err := srv.LibraryUninstall(req, stream); err != nil { - feedback.Fatal(tr("Error uninstalling %[1]s: %[2]v", library, err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error uninstalling %[1]s: %[2]v", library, err), feedback.ErrGeneric) } } diff --git a/internal/cli/lib/update_index.go b/internal/cli/lib/update_index.go index a9c93240b10..8bdb42e2af9 100644 --- a/internal/cli/lib/update_index.go +++ b/internal/cli/lib/update_index.go @@ -23,6 +23,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -31,8 +32,8 @@ import ( func initUpdateIndexCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { updateIndexCommand := &cobra.Command{ Use: "update-index", - Short: tr("Updates the libraries index."), - Long: tr("Updates the libraries index to the latest version."), + Short: i18n.Tr("Updates the libraries index."), + Long: i18n.Tr("Updates the libraries index to the latest version."), Example: " " + os.Args[0] + " lib update-index", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { @@ -55,7 +56,7 @@ func UpdateIndex(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rp req := &rpc.UpdateLibrariesIndexRequest{Instance: inst} stream, resp := commands.UpdateLibrariesIndexStreamResponseToCallbackFunction(ctx, feedback.ProgressBar()) if err := srv.UpdateLibrariesIndex(req, stream); err != nil { - feedback.Fatal(tr("Error updating library index: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error updating library index: %v", err), feedback.ErrGeneric) } return resp() } diff --git a/internal/cli/lib/upgrade.go b/internal/cli/lib/upgrade.go index bb0da0caaea..008eea8fdb9 100644 --- a/internal/cli/lib/upgrade.go +++ b/internal/cli/lib/upgrade.go @@ -23,6 +23,7 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -31,8 +32,8 @@ import ( func initUpgradeCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { upgradeCommand := &cobra.Command{ Use: "upgrade", - Short: tr("Upgrades installed libraries."), - Long: tr("This command upgrades an installed library to the latest available version. Multiple libraries can be passed separated by a space. If no arguments are provided, the command will upgrade all the installed libraries where an update is available."), + Short: i18n.Tr("Upgrades installed libraries."), + Long: i18n.Tr("This command upgrades an installed library to the latest available version. Multiple libraries can be passed separated by a space. If no arguments are provided, the command will upgrade all the installed libraries where an update is available."), Example: " " + os.Args[0] + " lib upgrade \n" + " " + os.Args[0] + " lib upgrade Audio\n" + " " + os.Args[0] + " lib upgrade Audio ArduinoJson", @@ -71,7 +72,7 @@ func Upgrade(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance *rp } if upgradeErr != nil { - feedback.Fatal(fmt.Sprintf("%s: %v", tr("Error upgrading libraries"), upgradeErr), feedback.ErrGeneric) + feedback.Fatal(fmt.Sprintf("%s: %v", i18n.Tr("Error upgrading libraries"), upgradeErr), feedback.ErrGeneric) } logrus.Info("Done") diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index eb237521445..3ee32524256 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -40,8 +40,6 @@ import ( "go.bug.st/cleanup" ) -var tr = i18n.Tr - // NewCommand created a new `monitor` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var ( @@ -56,8 +54,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { ) monitorCommand := &cobra.Command{ Use: "monitor", - Short: tr("Open a communication port with a board."), - Long: tr("Open a communication port with a board."), + Short: i18n.Tr("Open a communication port with a board."), + Long: i18n.Tr("Open a communication port with a board."), Example: "" + " " + os.Args[0] + " monitor -p /dev/ttyACM0\n" + " " + os.Args[0] + " monitor -p /dev/ttyACM0 --describe", @@ -71,11 +69,11 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { } portArgs.AddToCommand(monitorCommand, srv) profileArg.AddToCommand(monitorCommand, srv) - monitorCommand.Flags().BoolVar(&raw, "raw", false, tr("Set terminal in raw mode (unbuffered).")) - monitorCommand.Flags().BoolVar(&describe, "describe", false, tr("Show all the settings of the communication port.")) - monitorCommand.Flags().StringSliceVarP(&configs, "config", "c", []string{}, tr("Configure communication port settings. The format is <ID>=<value>[,<ID>=<value>]...")) - monitorCommand.Flags().BoolVarP(&quiet, "quiet", "q", false, tr("Run in silent mode, show only monitor input and output.")) - monitorCommand.Flags().BoolVar(×tamp, "timestamp", false, tr("Timestamp each incoming line.")) + monitorCommand.Flags().BoolVar(&raw, "raw", false, i18n.Tr("Set terminal in raw mode (unbuffered).")) + monitorCommand.Flags().BoolVar(&describe, "describe", false, i18n.Tr("Show all the settings of the communication port.")) + monitorCommand.Flags().StringSliceVarP(&configs, "config", "c", []string{}, i18n.Tr("Configure communication port settings. The format is <ID>=<value>[,<ID>=<value>]...")) + monitorCommand.Flags().BoolVarP(&quiet, "quiet", "q", false, i18n.Tr("Run in silent mode, show only monitor input and output.")) + monitorCommand.Flags().BoolVar(×tamp, "timestamp", false, i18n.Tr("Timestamp each incoming line.")) fqbnArg.AddToCommand(monitorCommand, srv) return monitorCommand } @@ -107,7 +105,7 @@ func runMonitorCmd( resp, err := srv.LoadSketch(ctx, &rpc.LoadSketchRequest{SketchPath: sketchPath.String()}) if err != nil && !portArgs.IsPortFlagSet() { feedback.Fatal( - tr("Error getting default port from `sketch.yaml`. Check if you're in the correct sketch folder or provide the --port flag: %s", err), + i18n.Tr("Error getting default port from `sketch.yaml`. Check if you're in the correct sketch folder or provide the --port flag: %s", err), feedback.ErrGeneric, ) } @@ -152,7 +150,7 @@ func runMonitorCmd( Fqbn: fqbn, }) if err != nil { - feedback.Fatal(tr("Error getting port settings details: %s", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error getting port settings details: %s", err), feedback.ErrGeneric) } if describe { settings := make([]*result.MonitorPortSettingDescriptor, len(enumerateResp.GetSettings())) @@ -184,7 +182,7 @@ func runMonitorCmd( } else { if strings.EqualFold(s.GetSettingId(), k) { if !contains(s.GetEnumValues(), v) { - feedback.Fatal(tr("invalid port configuration value for %s: %s", k, v), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("invalid port configuration value for %s: %s", k, v), feedback.ErrBadArgument) } setting = s break @@ -192,14 +190,14 @@ func runMonitorCmd( } } if setting == nil { - feedback.Fatal(tr("invalid port configuration: %s", config), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("invalid port configuration: %s", config), feedback.ErrBadArgument) } configuration.Settings = append(configuration.GetSettings(), &rpc.MonitorPortSetting{ SettingId: setting.GetSettingId(), Value: v, }) if !quiet { - feedback.Print(tr("Monitor port settings:")) + feedback.Print(i18n.Tr("Monitor port settings:")) feedback.Print(fmt.Sprintf("%s=%s", setting.GetSettingId(), v)) } } @@ -218,7 +216,7 @@ func runMonitorCmd( if raw { if feedback.IsInteractive() { if err := feedback.SetRawModeStdin(); err != nil { - feedback.Warning(tr("Error setting raw mode: %s", err.Error())) + feedback.Warning(i18n.Tr("Error setting raw mode: %s", err.Error())) } defer feedback.RestoreModeStdin() } @@ -240,7 +238,7 @@ func runMonitorCmd( }) go func() { if !quiet { - feedback.Print(tr("Connecting to %s. Press CTRL-C to exit.", portAddress)) + feedback.Print(i18n.Tr("Connecting to %s. Press CTRL-C to exit.", portAddress)) } if err := srv.Monitor(monitorServer); err != nil { feedback.FatalError(err, feedback.ErrGeneric) @@ -252,7 +250,7 @@ func runMonitorCmd( _, err := io.Copy(ttyOut, portProxy) if err != nil && !errors.Is(err, io.EOF) { if !quiet { - feedback.Print(tr("Port closed: %v", err)) + feedback.Print(i18n.Tr("Port closed: %v", err)) } } cancel() @@ -261,7 +259,7 @@ func runMonitorCmd( _, err := io.Copy(portProxy, ttyIn) if err != nil && !errors.Is(err, io.EOF) { if !quiet { - feedback.Print(tr("Port closed: %v", err)) + feedback.Print(i18n.Tr("Port closed: %v", err)) } } cancel() @@ -296,7 +294,7 @@ func (r *detailsResult) String() string { return "" } t := table.New() - t.SetHeader(tr("ID"), tr("Setting"), tr("Default"), tr("Values")) + t.SetHeader(i18n.Tr("ID"), i18n.Tr("Setting"), i18n.Tr("Default"), i18n.Tr("Values")) green := color.New(color.FgGreen) sort.Slice(r.Settings, func(i, j int) bool { diff --git a/internal/cli/outdated/outdated.go b/internal/cli/outdated/outdated.go index 7ca0a442e06..ce9b3c87510 100644 --- a/internal/cli/outdated/outdated.go +++ b/internal/cli/outdated/outdated.go @@ -34,14 +34,12 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand creates a new `outdated` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { outdatedCommand := &cobra.Command{ Use: "outdated", - Short: tr("Lists cores and libraries that can be upgraded"), - Long: tr(`This commands shows a list of installed cores and/or libraries + Short: i18n.Tr("Lists cores and libraries that can be upgraded"), + Long: i18n.Tr(`This commands shows a list of installed cores and/or libraries that can be upgraded. If nothing needs to be updated the output is empty.`), Example: " " + os.Args[0] + " outdated\n", Args: cobra.NoArgs, @@ -94,18 +92,18 @@ func (ir outdatedResult) Data() interface{} { func (ir outdatedResult) String() string { if len(ir.Platforms) == 0 && len(ir.InstalledLibs) == 0 { - return tr("No outdated platforms or libraries found.") + return i18n.Tr("No outdated platforms or libraries found.") } // A table useful both for platforms and libraries, where some of the fields will be blank. t := table.New() t.SetHeader( - tr("ID"), - tr("Name"), - tr("Installed"), - tr("Latest"), - tr("Location"), - tr("Description"), + i18n.Tr("ID"), + i18n.Tr("Name"), + i18n.Tr("Installed"), + i18n.Tr("Latest"), + i18n.Tr("Location"), + i18n.Tr("Description"), ) t.SetColumnWidthMode(2, table.Average) t.SetColumnWidthMode(3, table.Average) @@ -118,7 +116,7 @@ func (ir outdatedResult) String() string { name = latest.Name } if p.Deprecated { - name = fmt.Sprintf("[%s] %s", tr("DEPRECATED"), name) + name = fmt.Sprintf("[%s] %s", i18n.Tr("DEPRECATED"), name) } t.AddRow(p.Id, name, p.InstalledVersion, p.LatestVersion, "", "") } diff --git a/internal/cli/sketch/archive.go b/internal/cli/sketch/archive.go index 19b2a280651..4c1063bbf5a 100644 --- a/internal/cli/sketch/archive.go +++ b/internal/cli/sketch/archive.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -32,9 +33,9 @@ func initArchiveCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var includeBuildDir, overwrite bool archiveCommand := &cobra.Command{ - Use: fmt.Sprintf("archive <%s> <%s>", tr("sketchPath"), tr("archivePath")), - Short: tr("Creates a zip file containing all sketch files."), - Long: tr("Creates a zip file containing all sketch files."), + Use: fmt.Sprintf("archive <%s> <%s>", i18n.Tr("sketchPath"), i18n.Tr("archivePath")), + Short: i18n.Tr("Creates a zip file containing all sketch files."), + Long: i18n.Tr("Creates a zip file containing all sketch files."), Example: "" + " " + os.Args[0] + " archive\n" + " " + os.Args[0] + " archive .\n" + @@ -47,8 +48,8 @@ func initArchiveCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { }, } - archiveCommand.Flags().BoolVar(&includeBuildDir, "include-build-dir", false, tr("Includes %s directory in the archive.", "build")) - archiveCommand.Flags().BoolVarP(&overwrite, "overwrite", "f", false, tr("Overwrites an already existing archive")) + archiveCommand.Flags().BoolVar(&includeBuildDir, "include-build-dir", false, i18n.Tr("Includes %s directory in the archive.", "build")) + archiveCommand.Flags().BoolVarP(&overwrite, "overwrite", "f", false, i18n.Tr("Overwrites an already existing archive")) return archiveCommand } @@ -81,6 +82,6 @@ func runArchiveCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, ar Overwrite: overwrite, }, ); err != nil { - feedback.Fatal(tr("Error archiving: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error archiving: %v", err), feedback.ErrGeneric) } } diff --git a/internal/cli/sketch/new.go b/internal/cli/sketch/new.go index 79dfcccc373..024d53e851c 100644 --- a/internal/cli/sketch/new.go +++ b/internal/cli/sketch/new.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/cli/feedback" + "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -33,8 +34,8 @@ func initNewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { newCommand := &cobra.Command{ Use: "new", - Short: tr("Create a new Sketch"), - Long: tr("Create a new Sketch"), + Short: i18n.Tr("Create a new Sketch"), + Long: i18n.Tr("Create a new Sketch"), Example: " " + os.Args[0] + " sketch new MultiBlinker", Args: cobra.ExactArgs(1), Run: func(cmd *cobra.Command, args []string) { @@ -42,7 +43,7 @@ func initNewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { }, } - newCommand.Flags().BoolVarP(&overwrite, "overwrite", "f", false, tr("Overwrites an existing .ino sketch.")) + newCommand.Flags().BoolVarP(&overwrite, "overwrite", "f", false, i18n.Tr("Overwrites an existing .ino sketch.")) return newCommand } @@ -67,7 +68,7 @@ func runNewCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args [ } else { sketchDirPath, err = paths.New(trimmedSketchName).Abs() if err != nil { - feedback.Fatal(tr("Error creating sketch: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating sketch: %v", err), feedback.ErrGeneric) } sketchDir = sketchDirPath.Parent().String() sketchName = sketchDirPath.Base() @@ -79,7 +80,7 @@ func runNewCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args [ Overwrite: overwrite, }) if err != nil { - feedback.Fatal(tr("Error creating sketch: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error creating sketch: %v", err), feedback.ErrGeneric) } feedback.PrintResult(sketchResult{SketchDirPath: sketchDirPath}) @@ -94,5 +95,5 @@ func (ir sketchResult) Data() interface{} { } func (ir sketchResult) String() string { - return tr("Sketch created in: %s", ir.SketchDirPath) + return i18n.Tr("Sketch created in: %s", ir.SketchDirPath) } diff --git a/internal/cli/sketch/sketch.go b/internal/cli/sketch/sketch.go index 2530c72247d..65ae9a1838f 100644 --- a/internal/cli/sketch/sketch.go +++ b/internal/cli/sketch/sketch.go @@ -23,14 +23,12 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `sketch` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { sketchCommand := &cobra.Command{ Use: "sketch", - Short: tr("Arduino CLI sketch commands."), - Long: tr("Arduino CLI sketch commands."), + Short: i18n.Tr("Arduino CLI sketch commands."), + Long: i18n.Tr("Arduino CLI sketch commands."), Example: " " + os.Args[0] + " sketch new MySketch", } diff --git a/internal/cli/update/update.go b/internal/cli/update/update.go index 6fd4e7c91e0..950f347a7b4 100644 --- a/internal/cli/update/update.go +++ b/internal/cli/update/update.go @@ -29,22 +29,20 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand creates a new `update` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var showOutdated bool updateCommand := &cobra.Command{ Use: "update", - Short: tr("Updates the index of cores and libraries"), - Long: tr("Updates the index of cores and libraries to the latest versions."), + Short: i18n.Tr("Updates the index of cores and libraries"), + Long: i18n.Tr("Updates the index of cores and libraries to the latest versions."), Example: " " + os.Args[0] + " update", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { runUpdateCommand(cmd.Context(), srv, showOutdated) }, } - updateCommand.Flags().BoolVar(&showOutdated, "show-outdated", false, tr("Show outdated cores and libraries after index update")) + updateCommand.Flags().BoolVar(&showOutdated, "show-outdated", false, i18n.Tr("Show outdated cores and libraries after index update")) return updateCommand } diff --git a/internal/cli/updater/updater.go b/internal/cli/updater/updater.go index 1ebd0d382b1..0ba9498ab11 100644 --- a/internal/cli/updater/updater.go +++ b/internal/cli/updater/updater.go @@ -24,12 +24,10 @@ import ( "github.com/fatih/color" ) -var tr = i18n.Tr - // NotifyNewVersionIsAvailable prints information about the new latestVersion func NotifyNewVersionIsAvailable(latestVersion string) { msg := fmt.Sprintf("\n\n%s %s → %s\n%s", - color.YellowString(tr("A new release of Arduino CLI is available:")), + color.YellowString(i18n.Tr("A new release of Arduino CLI is available:")), color.CyanString(version.VersionInfo.VersionString), color.CyanString(latestVersion), color.YellowString("https://arduino.github.io/arduino-cli/latest/installation/#latest-packages")) diff --git a/internal/cli/upgrade/upgrade.go b/internal/cli/upgrade/upgrade.go index 4c311201dab..8740add67d1 100644 --- a/internal/cli/upgrade/upgrade.go +++ b/internal/cli/upgrade/upgrade.go @@ -29,15 +29,13 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand creates a new `upgrade` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var postInstallFlags arguments.PrePostScriptsFlags upgradeCommand := &cobra.Command{ Use: "upgrade", - Short: tr("Upgrades installed cores and libraries."), - Long: tr("Upgrades installed cores and libraries to latest version."), + Short: i18n.Tr("Upgrades installed cores and libraries."), + Long: i18n.Tr("Upgrades installed cores and libraries to latest version."), Example: " " + os.Args[0] + " upgrade", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 752a1a5ccc4..90ba5bf6d7d 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -53,8 +53,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { uploadFields := map[string]string{} uploadCommand := &cobra.Command{ Use: "upload", - Short: tr("Upload Arduino sketches."), - Long: tr("Upload Arduino sketches. This does NOT compile the sketch prior to upload."), + Short: i18n.Tr("Upload Arduino sketches."), + Long: i18n.Tr("Upload Arduino sketches. This does NOT compile the sketch prior to upload."), Example: "" + " " + os.Args[0] + " upload /home/user/Arduino/MySketch -p /dev/ttyACM0 -b arduino:avr:uno\n" + " " + os.Args[0] + " upload -p 192.168.10.1 -b arduino:avr:uno --upload-field password=abc", @@ -70,14 +70,14 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { fqbnArg.AddToCommand(uploadCommand, srv) portArgs.AddToCommand(uploadCommand, srv) profileArg.AddToCommand(uploadCommand, srv) - uploadCommand.Flags().StringVarP(&importDir, "input-dir", "", "", tr("Directory containing binaries to upload.")) - uploadCommand.Flags().StringVarP(&importFile, "input-file", "i", "", tr("Binary file to upload.")) - uploadCommand.Flags().BoolVarP(&verify, "verify", "t", false, tr("Verify uploaded binary after the upload.")) - uploadCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, tr("Optional, turns on verbose mode.")) + uploadCommand.Flags().StringVarP(&importDir, "input-dir", "", "", i18n.Tr("Directory containing binaries to upload.")) + uploadCommand.Flags().StringVarP(&importFile, "input-file", "i", "", i18n.Tr("Binary file to upload.")) + uploadCommand.Flags().BoolVarP(&verify, "verify", "t", false, i18n.Tr("Verify uploaded binary after the upload.")) + uploadCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, i18n.Tr("Optional, turns on verbose mode.")) programmer.AddToCommand(uploadCommand, srv) - uploadCommand.Flags().BoolVar(&dryRun, "dry-run", false, tr("Do not perform the actual upload, just log out actions")) + uploadCommand.Flags().BoolVar(&dryRun, "dry-run", false, i18n.Tr("Do not perform the actual upload, just log out actions")) uploadCommand.Flags().MarkHidden("dry-run") - arguments.AddKeyValuePFlag(uploadCommand, &uploadFields, "upload-field", "F", nil, tr("Set a value for a field required to upload.")) + arguments.AddKeyValuePFlag(uploadCommand, &uploadFields, "upload-field", "F", nil, i18n.Tr("Set a value for a field required to upload.")) return uploadCommand } @@ -93,7 +93,7 @@ func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg sketch := resp.GetSketch() if importDir == "" && importFile == "" { if err != nil { - feedback.Fatal(tr("Error during Upload: %v", err), feedback.ErrGeneric) + feedback.Fatal(i18n.Tr("Error during Upload: %v", err), feedback.ErrGeneric) } feedback.WarnAboutDeprecatedFiles(sketch) } @@ -122,7 +122,7 @@ func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg Protocol: port.GetProtocol(), }) if err != nil { - msg := tr("Error during Upload: %v", err) + msg := i18n.Tr("Error during Upload: %v", err) // Check the error type to give the user better feedback on how // to resolve it @@ -130,7 +130,7 @@ func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg if errors.As(err, &platformErr) { split := strings.Split(platformErr.Platform, ":") if len(split) < 2 { - panic(tr("Platform ID is not correct")) + panic(i18n.Tr("Platform ID is not correct")) } msg += "\n" @@ -140,9 +140,9 @@ func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg }); err != nil { msg += err.Error() } else if len(platform.GetSearchOutput()) > 0 { - msg += tr("Try running %s", fmt.Sprintf("`%s core install %s`", version.VersionInfo.Application, platformErr.Platform)) + msg += i18n.Tr("Try running %s", fmt.Sprintf("`%s core install %s`", version.VersionInfo.Application, platformErr.Platform)) } else { - msg += tr("Platform %s is not found in any known index\nMaybe you need to add a 3rd party URL?", platformErr.Platform) + msg += i18n.Tr("Platform %s is not found in any known index\nMaybe you need to add a 3rd party URL?", platformErr.Platform) } } feedback.Fatal(msg, feedback.ErrGeneric) @@ -156,14 +156,14 @@ func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg if value, ok := uploadFieldsArgs[field.GetName()]; ok { fields[field.GetName()] = value } else { - feedback.Fatal(tr("Missing required upload field: %s", field.GetName()), feedback.ErrBadArgument) + feedback.Fatal(i18n.Tr("Missing required upload field: %s", field.GetName()), feedback.ErrBadArgument) } } } else { // Otherwise prompt the user for them - feedback.Print(tr("Uploading to specified board using %s protocol requires the following info:", port.GetProtocol())) + feedback.Print(i18n.Tr("Uploading to specified board using %s protocol requires the following info:", port.GetProtocol())) if f, err := arguments.AskForUserFields(userFieldRes.GetUserFields()); err != nil { - msg := fmt.Sprintf("%s: %s", tr("Error getting user input"), err) + msg := fmt.Sprintf("%s: %s", i18n.Tr("Error getting user input"), err) feedback.Fatal(msg, feedback.ErrGeneric) } else { fields = f @@ -231,5 +231,5 @@ func (r *uploadResult) String() string { if r.UpdatedUploadPort == nil { return "" } - return tr("New upload port: %[1]s (%[2]s)", r.UpdatedUploadPort.Address, r.UpdatedUploadPort.Protocol) + return i18n.Tr("New upload port: %[1]s (%[2]s)", r.UpdatedUploadPort.Address, r.UpdatedUploadPort.Protocol) } diff --git a/internal/cli/usage.go b/internal/cli/usage.go index 7b2e7ef113a..31c335569bc 100644 --- a/internal/cli/usage.go +++ b/internal/cli/usage.go @@ -15,22 +15,18 @@ package cli -import ( - "github.com/arduino/arduino-cli/internal/i18n" -) - -var tr = i18n.Tr +import "github.com/arduino/arduino-cli/internal/i18n" func getUsageTemplate() string { // Force i18n to generate translation strings - _ = tr("Usage:") - _ = tr("Aliases:") - _ = tr("Examples:") - _ = tr("Available Commands:") - _ = tr("Flags:") - _ = tr("Global Flags:") - _ = tr("Additional help topics:") - _ = tr("Use %s for more information about a command.") + _ = i18n.Tr("Usage:") + _ = i18n.Tr("Aliases:") + _ = i18n.Tr("Examples:") + _ = i18n.Tr("Available Commands:") + _ = i18n.Tr("Flags:") + _ = i18n.Tr("Global Flags:") + _ = i18n.Tr("Additional help topics:") + _ = i18n.Tr("Use %s for more information about a command.", "") return `{{tr "Usage:"}}{{if .Runnable}} {{.UseLine}}{{end}}{{if .HasAvailableSubCommands}} diff --git a/internal/cli/version/version.go b/internal/cli/version/version.go index 8c5d8eec4c1..5748ded3a64 100644 --- a/internal/cli/version/version.go +++ b/internal/cli/version/version.go @@ -29,14 +29,12 @@ import ( "github.com/spf13/cobra" ) -var tr = i18n.Tr - // NewCommand created a new `version` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { versionCommand := &cobra.Command{ Use: "version", - Short: tr("Shows version number of Arduino CLI."), - Long: tr("Shows the version number of Arduino CLI which is installed on your system."), + Short: i18n.Tr("Shows version number of Arduino CLI."), + Long: i18n.Tr("Shows the version number of Arduino CLI which is installed on your system."), Example: " " + os.Args[0] + " version", Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { diff --git a/internal/inventory/inventory.go b/internal/inventory/inventory.go index 3155fb4b9db..4792c692bf8 100644 --- a/internal/inventory/inventory.go +++ b/internal/inventory/inventory.go @@ -35,7 +35,6 @@ var ( Type = "yaml" // Name is the inventory file Name with Type as extension Name = "inventory" + "." + Type - tr = i18n.Tr configFilePath string ) @@ -65,13 +64,13 @@ func Init(configPath string) error { func generateInstallationData() error { installationID, err := uuid.NewV4() if err != nil { - return fmt.Errorf(tr("generating installation.id: %w"), err) + return fmt.Errorf("%s: %w", i18n.Tr("generating installation.id"), err) } Store.Set("installation.id", installationID.String()) installationSecret, err := uuid.NewV4() if err != nil { - return fmt.Errorf(tr("generating installation.secret: %w"), err) + return fmt.Errorf("%s: %w", i18n.Tr("generating installation.secret"), err) } Store.Set("installation.secret", installationSecret.String()) return nil @@ -90,13 +89,13 @@ func WriteStore() error { // Create config dir if not present, // MkdirAll will retrun no error if the path already exists if err := os.MkdirAll(configPath, os.FileMode(0755)); err != nil { - return fmt.Errorf(tr("invalid path creating config dir: %[1]s error: %[2]w"), configPath, err) + return fmt.Errorf("%s: %w", i18n.Tr("invalid path creating config dir: %[1]s error", configPath), err) } // Create file if not present err := Store.WriteConfigAs(configFilePath) if err != nil { - return fmt.Errorf(tr("invalid path writing inventory file: %[1]s error: %[2]w"), configFilePath, err) + return fmt.Errorf("%s: %w", i18n.Tr("invalid path writing inventory file: %[1]s error", configFilePath), err) } return nil diff --git a/version/version.go b/version/version.go index abb0f75cc20..2a493597e12 100644 --- a/version/version.go +++ b/version/version.go @@ -53,7 +53,7 @@ func NewInfo(application string) *Info { } func (i *Info) String() string { - return tr("%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s", i.Application, i.Status, i.VersionString, i.Commit, i.Date) + return i18n.Tr("%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s", i.Application, i.Status, i.VersionString, i.Commit, i.Date) } // Data implements feedback.Result interface From 81d517b34e7fe5878b10dfb6d2589cc21265d192 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 29 May 2024 17:17:56 +0200 Subject: [PATCH 205/361] [breaking] Allow setting extra paths for build-cache (#2612) * Small refactoring of compileCore function This change helps to better understand next commits. * Added possibility to set extra build-cache dirs for cores * [breaking] --build-cache-path now saves under 'cores' subdir instead of 'core' * Added integration tests * Updated docs and fixed semantics of GetBuildCacheExtraPaths method * Updated json-schema for configuration * Update rpc/cc/arduino/cli/commands/v1/compile.proto Co-authored-by: Alessio Perugini <alessio@perugini.xyz> * Start integration test from a clean state * Do not force build-cache path creation if not needed * Update internal/cli/configuration/build_cache.go Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com> --------- Co-authored-by: Alessio Perugini <alessio@perugini.xyz> Co-authored-by: Umberto Baldi <34278123+umbynos@users.noreply.github.com> --- commands/service_compile.go | 32 ++- docs/UPGRADING.md | 6 + docs/configuration.md | 2 + internal/arduino/builder/builder.go | 5 +- internal/arduino/builder/core.go | 60 +++-- internal/cli/configuration/build_cache.go | 24 +- .../configuration/configuration.schema.json | 11 + internal/cli/configuration/defaults.go | 2 + .../compile_4/core_caching_test.go | 124 ++++++++++ .../testdata/BareMinimum/BareMinimum.ino | 2 + rpc/cc/arduino/cli/commands/v1/compile.pb.go | 215 ++++++++++-------- rpc/cc/arduino/cli/commands/v1/compile.proto | 3 + 12 files changed, 355 insertions(+), 131 deletions(-) create mode 100644 internal/integrationtest/compile_4/core_caching_test.go create mode 100644 internal/integrationtest/compile_4/testdata/BareMinimum/BareMinimum.ino diff --git a/commands/service_compile.go b/commands/service_compile.go index 3dbc4e3fbc7..a8c5cbabb4e 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -178,18 +178,31 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu s.settings.GetCompilationsBeforeBuildCachePurge(), s.settings.GetBuildCacheTTL().Abs()) - var coreBuildCachePath *paths.Path - if req.GetBuildCachePath() == "" { - coreBuildCachePath = paths.TempDir().Join("arduino", "cores") - } else { - buildCachePath, err := paths.New(req.GetBuildCachePath()).Abs() + var buildCachePath *paths.Path + if req.GetBuildCachePath() != "" { + p, err := paths.New(req.GetBuildCachePath()).Abs() if err != nil { return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} } - if err := buildCachePath.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} - } - coreBuildCachePath = buildCachePath.Join("core") + buildCachePath = p + } else if p, ok := s.settings.GetBuildCachePath(); ok { + buildCachePath = p + } else { + buildCachePath = paths.TempDir().Join("arduino") + } + if err := buildCachePath.MkdirAll(); err != nil { + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} + } + coreBuildCachePath := buildCachePath.Join("cores") + + var extraCoreBuildCachePaths paths.PathList + if len(req.GetBuildCacheExtraPaths()) == 0 { + extraCoreBuildCachePaths = s.settings.GetBuildCacheExtraPaths() + } else { + extraCoreBuildCachePaths = paths.NewPathList(req.GetBuildCacheExtraPaths()...) + } + for i, p := range extraCoreBuildCachePaths { + extraCoreBuildCachePaths[i] = p.Join("cores") } if _, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform); err != nil { @@ -229,6 +242,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu buildPath, req.GetOptimizeForDebug(), coreBuildCachePath, + extraCoreBuildCachePaths, int(req.GetJobs()), req.GetBuildProperties(), s.settings.HardwareDirectories(), diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index e213d3959c0..b41ecd30076 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -4,6 +4,12 @@ Here you can find a list of migration guides to handle breaking changes between ## 1.0.0 +### `compile --build-cache-path` slightly changed directory format + +Now compiled cores are cached under the `cores` subdir of the path specified in `--build-cache-path`, previously it was +saved under the `core` subdir. The new behaviour is coherent with the default cache directory `/tmp/arduino/cores/...` +when the cache directory is not set by the user. + ### Configuration file now supports only YAML format. The Arduino CLI configuration file now supports only the YAML format. diff --git a/docs/configuration.md b/docs/configuration.md index bfde1372dac..ecbc25d65a5 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -35,6 +35,8 @@ - `updater` - configuration options related to Arduino CLI updates - `enable_notification` - set to `false` to disable notifications of new Arduino CLI releases, defaults to `true` - `build_cache` configuration options related to the compilation cache + - `path` - the path to the build cache, default is `$TMP/arduino`. + - `extra_paths` - a list of paths to look for precompiled artifacts if not found on `build_cache.path` setting. - `compilations_before_purge` - interval, in number of compilations, at which the cache is purged, defaults to `10`. When `0` the cache is never purged. - `ttl` - cache expiration time of build folders. If the cache is hit by a compilation the corresponding build files diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index d5ab7b35135..608baead6ee 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -62,7 +62,8 @@ type Builder struct { customBuildProperties []string // core related - coreBuildCachePath *paths.Path + coreBuildCachePath *paths.Path + extraCoreBuildCachePaths paths.PathList logger *logger.BuilderLogger clean bool @@ -121,6 +122,7 @@ func NewBuilder( buildPath *paths.Path, optimizeForDebug bool, coreBuildCachePath *paths.Path, + extraCoreBuildCachePaths paths.PathList, jobs int, requestBuildProperties []string, hardwareDirs, otherLibrariesDirs paths.PathList, @@ -211,6 +213,7 @@ func NewBuilder( jobs: jobs, customBuildProperties: customBuildPropertiesArgs, coreBuildCachePath: coreBuildCachePath, + extraCoreBuildCachePaths: extraCoreBuildCachePaths, logger: logger, clean: clean, sourceOverrides: sourceOverrides, diff --git a/internal/arduino/builder/core.go b/internal/arduino/builder/core.go index f19169f8990..f407ed60c41 100644 --- a/internal/arduino/builder/core.go +++ b/internal/arduino/builder/core.go @@ -89,34 +89,56 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { b.buildProperties.Get("compiler.optimization_flags"), realCoreFolder, ) - targetArchivedCore = b.coreBuildCachePath.Join(archivedCoreName, "core.a") - - if _, err := buildcache.New(b.coreBuildCachePath).GetOrCreate(archivedCoreName); errors.Is(err, buildcache.CreateDirErr) { - return nil, nil, errors.New(i18n.Tr("creating core cache folder: %s", err)) - } - var canUseArchivedCore bool - if b.onlyUpdateCompilationDatabase || b.clean { - canUseArchivedCore = false - } else if isOlder, err := utils.DirContentIsOlderThan(realCoreFolder, targetArchivedCore); err != nil || !isOlder { - // Recreate the archive if ANY of the core files (including platform.txt) has changed - canUseArchivedCore = false - } else if targetCoreFolder == nil || realCoreFolder.EquivalentTo(targetCoreFolder) { - canUseArchivedCore = true - } else if isOlder, err := utils.DirContentIsOlderThan(targetCoreFolder, targetArchivedCore); err != nil || !isOlder { - // Recreate the archive if ANY of the build core files (including platform.txt) has changed - canUseArchivedCore = false - } else { - canUseArchivedCore = true + canUseArchivedCore := func(archivedCore *paths.Path) bool { + if b.onlyUpdateCompilationDatabase || b.clean { + return false + } + if isOlder, err := utils.DirContentIsOlderThan(realCoreFolder, archivedCore); err != nil || !isOlder { + // Recreate the archive if ANY of the core files (including platform.txt) has changed + return false + } + if targetCoreFolder == nil || realCoreFolder.EquivalentTo(targetCoreFolder) { + return true + } + if isOlder, err := utils.DirContentIsOlderThan(targetCoreFolder, archivedCore); err != nil || !isOlder { + // Recreate the archive if ANY of the build core files (including platform.txt) has changed + return false + } + return true } - if canUseArchivedCore { + // If there is an archived core in the current build cache, use it + targetArchivedCore = b.coreBuildCachePath.Join(archivedCoreName, "core.a") + if canUseArchivedCore(targetArchivedCore) { + // Extend the build cache expiration time + if _, err := buildcache.New(b.coreBuildCachePath).GetOrCreate(archivedCoreName); errors.Is(err, buildcache.CreateDirErr) { + return nil, nil, errors.New(i18n.Tr("creating core cache folder: %s", err)) + } // use archived core if b.logger.Verbose() { b.logger.Info(i18n.Tr("Using precompiled core: %[1]s", targetArchivedCore)) } return targetArchivedCore, variantObjectFiles, nil } + + // Otherwise try the extra build cache paths to see if there is a precompiled core + // that can be used + for _, extraCoreBuildCachePath := range b.extraCoreBuildCachePaths { + extraTargetArchivedCore := extraCoreBuildCachePath.Join(archivedCoreName, "core.a") + if canUseArchivedCore(extraTargetArchivedCore) { + // use archived core + if b.logger.Verbose() { + b.logger.Info(i18n.Tr("Using precompiled core: %[1]s", extraTargetArchivedCore)) + } + return extraTargetArchivedCore, variantObjectFiles, nil + } + } + + // Create the build cache folder for the core + if _, err := buildcache.New(b.coreBuildCachePath).GetOrCreate(archivedCoreName); errors.Is(err, buildcache.CreateDirErr) { + return nil, nil, errors.New(i18n.Tr("creating core cache folder: %s", err)) + } } coreObjectFiles, err := b.compileFiles( diff --git a/internal/cli/configuration/build_cache.go b/internal/cli/configuration/build_cache.go index a4bca322307..f7ea225d54c 100644 --- a/internal/cli/configuration/build_cache.go +++ b/internal/cli/configuration/build_cache.go @@ -15,7 +15,11 @@ package configuration -import "time" +import ( + "time" + + "github.com/arduino/go-paths-helper" +) // GetCompilationsBeforeBuildCachePurge returns the number of compilations before the build cache is purged. func (s *Settings) GetCompilationsBeforeBuildCachePurge() uint { @@ -32,3 +36,21 @@ func (s *Settings) GetBuildCacheTTL() time.Duration { } return s.Defaults.GetDuration("build_cache.ttl") } + +// GetBuildCachePath returns the path to the build cache. +func (s *Settings) GetBuildCachePath() (*paths.Path, bool) { + p, ok, _ := s.GetStringOk("build_cache.path") + if !ok { + return nil, false + } + return paths.New(p), true +} + +// GetBuildCacheExtraPaths returns the extra paths to the build cache. +// Those paths are visited to look for precompiled items if not found elsewhere. +func (s *Settings) GetBuildCacheExtraPaths() paths.PathList { + if p, ok, _ := s.GetStringSliceOk("build_cache.extra_paths"); ok { + return paths.NewPathList(p...) + } + return nil +} diff --git a/internal/cli/configuration/configuration.schema.json b/internal/cli/configuration/configuration.schema.json index a273353967b..2f696904972 100644 --- a/internal/cli/configuration/configuration.schema.json +++ b/internal/cli/configuration/configuration.schema.json @@ -20,6 +20,17 @@ "build_cache": { "description": "configuration options related to the compilation cache", "properties": { + "path": { + "description": "the path to the build cache, default is `$TMP/arduino`.", + "type": "string" + }, + "extra_paths": { + "description": "a list of paths to look for precompiled artifacts if not found on `build_cache.path` setting.", + "type": "array", + "items": { + "type": "string" + } + }, "compilations_before_purge": { "description": "interval, in number of compilations, at which the cache is purged, defaults to `10`. When `0` the cache is never purged.", "type": "integer", diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index 8c05b793d19..953bd4762f5 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -52,6 +52,8 @@ func SetDefaults(settings *Settings) { setDefaultValueAndKeyTypeSchema("sketch.always_export_binaries", false) setDefaultValueAndKeyTypeSchema("build_cache.ttl", (time.Hour * 24 * 30).String()) setDefaultValueAndKeyTypeSchema("build_cache.compilations_before_purge", uint(10)) + setKeyTypeSchema("build_cache.path", "") + setKeyTypeSchema("build_cache.extra_paths", []string{}) // daemon settings setDefaultValueAndKeyTypeSchema("daemon.port", "50051") diff --git a/internal/integrationtest/compile_4/core_caching_test.go b/internal/integrationtest/compile_4/core_caching_test.go new file mode 100644 index 00000000000..582a2e29ec7 --- /dev/null +++ b/internal/integrationtest/compile_4/core_caching_test.go @@ -0,0 +1,124 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 compile_test + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestBuildCacheCoreWithExtraDirs(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + t.Cleanup(env.CleanUp) + + // Install Arduino AVR Boards + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + // Main core cache + defaultCache := paths.TempDir().Join("arduino") + cache1, err := paths.MkTempDir("", "core_cache") + require.NoError(t, err) + t.Cleanup(func() { cache1.RemoveAll() }) + cache2, err := paths.MkTempDir("", "extra_core_cache") + require.NoError(t, err) + t.Cleanup(func() { cache2.RemoveAll() }) + + sketch, err := paths.New("testdata", "BareMinimum").Abs() + require.NoError(t, err) + + { + // Clean cache + require.NoError(t, defaultCache.RemoveAll()) + + // Compile sketch with empty cache + out, _, err := cli.Run("compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Archiving built core (caching) in: "+defaultCache.String()) + + // Check that the core cache is re-used + out, _, err = cli.Run("compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Using precompiled core: "+defaultCache.String()) + } + + { + env := cli.GetDefaultEnv() + env["ARDUINO_BUILD_CACHE_PATH"] = cache1.String() + + // Compile sketch with empty cache user-defined core cache + out, _, err := cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Archiving built core (caching) in: "+cache1.String()) + + // Check that the core cache is re-used with user-defined core cache + out, _, err = cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Using precompiled core: "+cache1.String()) + + // Clean run should rebuild and save in user-defined core cache + out, _, err = cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", "--clean", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Archiving built core (caching) in: "+cache1.String()) + } + + { + env := cli.GetDefaultEnv() + env["ARDUINO_BUILD_CACHE_EXTRA_PATHS"] = cache1.String() + + // Both extra and default cache are full, should use the default one + out, _, err := cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Using precompiled core: "+defaultCache.String()) + + // Clean run, should rebuild and save in default cache + out, _, err = cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", "--clean", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Archiving built core (caching) in: "+defaultCache.String()) + + // Clean default cache + require.NoError(t, defaultCache.RemoveAll()) + + // Now, extra is full and default is empty, should use extra + out, _, err = cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Using precompiled core: "+cache1.String()) + } + + { + env := cli.GetDefaultEnv() + env["ARDUINO_BUILD_CACHE_EXTRA_PATHS"] = cache1.String() // Populated + env["ARDUINO_BUILD_CACHE_PATH"] = cache2.String() // Empty + + // Extra cache is full, should use the cache1 (extra) + out, _, err := cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Using precompiled core: "+cache1.String()) + + // Clean run, should rebuild and save in cache2 (user defined default cache) + out, _, err = cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", "--clean", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Archiving built core (caching) in: "+cache2.String()) + + // Both caches are full, should use the cache2 (user defined default) + out, _, err = cli.RunWithCustomEnv(env, "compile", "-v", "-b", "arduino:avr:uno", sketch.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Using precompiled core: "+cache2.String()) + } +} diff --git a/internal/integrationtest/compile_4/testdata/BareMinimum/BareMinimum.ino b/internal/integrationtest/compile_4/testdata/BareMinimum/BareMinimum.ino new file mode 100644 index 00000000000..660bdbccfdb --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/BareMinimum/BareMinimum.ino @@ -0,0 +1,2 @@ +void setup() {} +void loop() {} diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index f71c4b5b2f1..f64c3edf128 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -110,6 +110,9 @@ type CompileRequest struct { // If set to true the returned build properties will be left unexpanded, with // the variables placeholders exactly as defined in the platform. DoNotExpandBuildProperties bool `protobuf:"varint,29,opt,name=do_not_expand_build_properties,json=doNotExpandBuildProperties,proto3" json:"do_not_expand_build_properties,omitempty"` + // Search for precompiled cores in the given paths and use them if found. + // This search is performed after the standard build_cache directory. + BuildCacheExtraPaths []string `protobuf:"bytes,30,rep,name=build_cache_extra_paths,json=buildCacheExtraPaths,proto3" json:"build_cache_extra_paths,omitempty"` } func (x *CompileRequest) Reset() { @@ -319,6 +322,13 @@ func (x *CompileRequest) GetDoNotExpandBuildProperties() bool { return false } +func (x *CompileRequest) GetBuildCacheExtraPaths() []string { + if x != nil { + return x.BuildCacheExtraPaths + } + return nil +} + type CompileResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -901,7 +911,7 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x62, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd5, 0x08, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x09, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, @@ -965,108 +975,111 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0xeb, 0x01, - 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, - 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, - 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, - 0x72, 0x22, 0xa1, 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, - 0x0d, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, - 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, - 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, - 0x69, 0x7a, 0x65, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, - 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, - 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, + 0x63, 0x68, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x50, 0x61, 0x74, 0x68, 0x73, 0x1a, 0x41, 0x0a, + 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, + 0x72, 0x69, 0x65, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, + 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, + 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, + 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, + 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, + 0x73, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, + 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x65, + 0x65, 0x64, 0x73, 0x52, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa1, 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, + 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, + 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, + 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, + 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, - 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, - 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, - 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, - 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4e, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, - 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52, - 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, - 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, - 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x71, 0x0a, 0x15, - 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, - 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, - 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, - 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, - 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, - 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, + 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, + 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, + 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, + 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, + 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, + 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, + 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, + 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, + 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x22, 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, + 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, + 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index ee86ea2fe45..a51810d1980 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -93,6 +93,9 @@ message CompileRequest { // If set to true the returned build properties will be left unexpanded, with // the variables placeholders exactly as defined in the platform. bool do_not_expand_build_properties = 29; + // Search for precompiled cores in the given paths and use them if found. + // This search is performed after the standard build_cache directory. + repeated string build_cache_extra_paths = 30; } message CompileResponse { From b72f5ca76fce4a332c76f4eedef91a8972c66005 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 30 May 2024 13:12:34 +0200 Subject: [PATCH 206/361] [breaking] Renamed gRPC field `cc.arduino.cli.commands.v1.PlatformRelease.type` to `types` (#2620) --- commands/service_platform_search_test.go | 20 +-- commands/utility_core.go | 2 +- docs/UPGRADING.md | 36 +++++ internal/cli/feedback/result/rpc.go | 4 +- rpc/cc/arduino/cli/commands/v1/common.pb.go | 156 ++++++++++---------- rpc/cc/arduino/cli/commands/v1/common.proto | 2 +- 6 files changed, 128 insertions(+), 92 deletions(-) diff --git a/commands/service_platform_search_test.go b/commands/service_platform_search_test.go index 0e98b28fe59..8fd78e540f8 100644 --- a/commands/service_platform_search_test.go +++ b/commands/service_platform_search_test.go @@ -70,7 +70,7 @@ func TestPlatformSearch(t *testing.T) { Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.5", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -79,7 +79,7 @@ func TestPlatformSearch(t *testing.T) { }, "1.0.6": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.6", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -110,7 +110,7 @@ func TestPlatformSearch(t *testing.T) { Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.5", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -119,7 +119,7 @@ func TestPlatformSearch(t *testing.T) { }, "1.0.6": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.6", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -150,7 +150,7 @@ func TestPlatformSearch(t *testing.T) { Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.5", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -159,7 +159,7 @@ func TestPlatformSearch(t *testing.T) { }, "1.0.6": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.6", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -190,7 +190,7 @@ func TestPlatformSearch(t *testing.T) { Releases: map[string]*rpc.PlatformRelease{ "1.0.5": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.5", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -199,7 +199,7 @@ func TestPlatformSearch(t *testing.T) { }, "1.0.6": { Name: "RK002", - Type: []string{"Contributed"}, + Types: []string{"Contributed"}, Installed: false, Version: "1.0.6", Boards: []*rpc.Board{{Name: "RK002"}}, @@ -230,7 +230,7 @@ func TestPlatformSearch(t *testing.T) { Releases: map[string]*rpc.PlatformRelease{ "1.8.3": { Name: "Arduino AVR Boards", - Type: []string{"Arduino"}, + Types: []string{"Arduino"}, Installed: false, Version: "1.8.3", Boards: []*rpc.Board{ @@ -288,7 +288,7 @@ func TestPlatformSearch(t *testing.T) { Releases: map[string]*rpc.PlatformRelease{ "1.8.3": { Name: "Arduino AVR Boards", - Type: []string{"Arduino"}, + Types: []string{"Arduino"}, Installed: false, Version: "1.8.3", Boards: []*rpc.Board{ diff --git a/commands/utility_core.go b/commands/utility_core.go index b5a57ad509d..32f32709d46 100644 --- a/commands/utility_core.go +++ b/commands/utility_core.go @@ -72,7 +72,7 @@ func platformReleaseToRPC(platformRelease *cores.PlatformRelease) *rpc.PlatformR Version: platformRelease.Version.String(), Installed: platformRelease.IsInstalled(), MissingMetadata: missingMetadata, - Type: []string{platformRelease.Category}, + Types: []string{platformRelease.Category}, Deprecated: platformRelease.Deprecated, Compatible: platformRelease.IsCompatible(), } diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index b41ecd30076..8d57833900c 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -181,6 +181,42 @@ func main() { The `yaml` option of the `--format` flag is no more supported. Use `--format json` if machine parsable output is needed. +### gRPC: The `type` field has been renamed to `types` in the `cc.arduino.cli.commands.v1.PlatformRelease` message. + +Rebuilding the gRPC bindings from the proto files requires to rename all access to `type` field as `types`. + +By the way, the wire protocol is not affected by this change, existing clients should work fine without modification. + +### The `type` field has been renamed to `types` in the JSON output including a platform release. + +Since the `type` field may contain multiple values has been renamed to `types` to better express this aspect. + +Previously: + +``` +$ arduino-cli core list --json | jq '.platforms[4].releases."1.8.13"' +{ + "name": "Arduino SAMD (32-bits ARM Cortex-M0+) Boards", + "version": "1.8.13", + "type": [ + "Arduino" + ], + ... +``` + +Now: + +``` +$ arduino-cli core list --json | jq '.platforms[4].releases."1.8.13"' +{ + "name": "Arduino SAMD (32-bits ARM Cortex-M0+) Boards", + "version": "1.8.13", + "types": [ + "Arduino" + ], + ... +``` + ### The gRPC `cc.arduino.cli.commands.v1.CompileRequest.export_binaries` changed type. Previously the field `export_binaries` was a `google.protobuf.BoolValue`. We used this type because it expresses this diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index f5178a6382c..a1b464a89b1 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -117,7 +117,7 @@ func NewPlatformRelease(in *rpc.PlatformRelease) *PlatformRelease { res := &PlatformRelease{ Name: in.GetName(), Version: in.GetVersion(), - Type: in.GetType(), + Types: in.GetTypes(), Installed: in.GetInstalled(), Boards: boards, Help: help, @@ -132,7 +132,7 @@ func NewPlatformRelease(in *rpc.PlatformRelease) *PlatformRelease { type PlatformRelease struct { Name string `json:"name,omitempty"` Version string `json:"version,omitempty"` - Type []string `json:"type,omitempty"` + Types []string `json:"types,omitempty"` Installed bool `json:"installed,omitempty"` Boards []*Board `json:"boards,omitempty"` Help *HelpResource `json:"help,omitempty"` diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 97093536331..e11f43b7f0e 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -785,7 +785,7 @@ type PlatformRelease struct { // Version of the platform release Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Type of the platform. - Type []string `protobuf:"bytes,3,rep,name=type,proto3" json:"type,omitempty"` + Types []string `protobuf:"bytes,3,rep,name=types,proto3" json:"types,omitempty"` // True if the platform is installed Installed bool `protobuf:"varint,4,opt,name=installed,proto3" json:"installed,omitempty"` // List of boards provided by the platform. If the platform is installed, @@ -856,9 +856,9 @@ func (x *PlatformRelease) GetVersion() string { return "" } -func (x *PlatformRelease) GetType() []string { +func (x *PlatformRelease) GetTypes() []string { if x != nil { - return x.Type + return x.Types } return nil } @@ -1392,86 +1392,86 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, - 0x64, 0x22, 0xd6, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, + 0x64, 0x22, 0xd8, 0x02, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, - 0x12, 0x3d, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x6c, 0x70, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x12, - 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, - 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x88, 0x01, 0x0a, 0x1a, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x5f, 0x64, - 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, - 0x8a, 0x04, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, - 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, - 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, 0x0a, 0x12, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x53, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, 0x5f, 0x66, 0x6f, - 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x71, 0x62, - 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x46, 0x71, 0x62, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, - 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x05, 0x74, 0x79, 0x70, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x6e, 0x73, + 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x12, 0x39, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, + 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x04, 0x68, 0x65, 0x6c, + 0x70, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, + 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, + 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0a, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x88, 0x01, 0x0a, + 0x1a, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x5f, 0x64, 0x69, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x44, 0x69, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x55, 0x72, 0x6c, 0x22, 0x2f, 0x0a, 0x05, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, + 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, + 0x65, 0x22, 0x8a, 0x04, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x2c, + 0x0a, 0x12, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x10, + 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x6f, 0x74, 0x5f, + 0x66, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x0f, 0x72, 0x6f, 0x6f, 0x74, 0x46, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x46, 0x69, + 0x6c, 0x65, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, + 0x71, 0x62, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x46, 0x71, 0x62, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x10, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x45, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, + 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, - 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x0e, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2d, 0x0a, - 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, - 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x57, 0x0a, 0x0d, - 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, - 0x6d, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x57, + 0x0a, 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index f25f8a92cdf..1c92e0f2a21 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -129,7 +129,7 @@ message PlatformRelease { // Version of the platform release string version = 2; // Type of the platform. - repeated string type = 3; + repeated string types = 3; // True if the platform is installed bool installed = 4; // List of boards provided by the platform. If the platform is installed, From b16ae70a5bd8ae5dbce53d2d76533823a130125e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 5 Jun 2024 11:10:45 +0200 Subject: [PATCH 207/361] [skip-changelog] gRPC: Added progress callback in CompileServerToStreams adapter (#2623) --- commands/service_compile.go | 7 ++++++- internal/cli/compile/compile.go | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/commands/service_compile.go b/commands/service_compile.go index a8c5cbabb4e..69865f3522c 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -41,7 +41,7 @@ import ( // CompilerServerToStreams creates a gRPC CompileServer that sends the responses to the provided streams. // The returned callback function can be used to retrieve the builder result after the compilation is done. -func CompilerServerToStreams(ctx context.Context, stdOut, stderr io.Writer) (server rpc.ArduinoCoreService_CompileServer, resultCB func() *rpc.BuilderResult) { +func CompilerServerToStreams(ctx context.Context, stdOut, stderr io.Writer, progressCB rpc.TaskProgressCB) (server rpc.ArduinoCoreService_CompileServer, resultCB func() *rpc.BuilderResult) { var builderResult *rpc.BuilderResult stream := streamResponseToCallback(ctx, func(resp *rpc.CompileResponse) error { if out := resp.GetOutStream(); len(out) > 0 { @@ -57,6 +57,11 @@ func CompilerServerToStreams(ctx context.Context, stdOut, stderr io.Writer) (ser if result := resp.GetResult(); result != nil { builderResult = result } + if progress := resp.GetProgress(); progress != nil { + if progressCB != nil { + progressCB(progress) + } + } return nil }) return stream, func() *rpc.BuilderResult { return builderResult } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 2a5348e981e..25cea1427bb 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -245,7 +245,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer DoNotExpandBuildProperties: showProperties == arguments.ShowPropertiesUnexpanded, Jobs: jobs, } - server, builderResCB := commands.CompilerServerToStreams(ctx, stdOut, stdErr) + server, builderResCB := commands.CompilerServerToStreams(ctx, stdOut, stdErr, nil) compileError := srv.Compile(compileRequest, server) builderRes := builderResCB() From 5c5c176ad6da3865051e44d32045a7f845ac452b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 5 Jun 2024 14:28:32 +0200 Subject: [PATCH 208/361] [skip-changelog] Force the use of the latest prettier in `general:format-prettier` task (#2626) * Set the version of prettier to use in task general:format-prettier * Updated docs --- docs/CONTRIBUTING.md | 4 ++-- docs/integration-options.md | 22 +++++++++++----------- package-lock.json | 24 +++++++++++++++++++++++- package.json | 3 ++- 4 files changed, 38 insertions(+), 15 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index cda5fb721dd..c00d06ac565 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -327,8 +327,8 @@ changes in the generated code. ### Additional settings If you need to push a commit that's only shipping documentation changes or example files, thus a complete no-op for the -test suite, please start the commit message with the string **[skip ci]** to skip the build and give that slot to -someone else who does need it. +test suite, please start the commit message with the string **[skip ci]** to skip the build and give that slot to someone +else who does need it. If your PR doesn't need to be included in the changelog, please start the commit message and PR title with the string **[skip changelog]** diff --git a/docs/integration-options.md b/docs/integration-options.md index fe476365407..01f32893759 100644 --- a/docs/integration-options.md +++ b/docs/integration-options.md @@ -4,8 +4,8 @@ The Arduino CLI is an open source Command Line Application written in [Golang] t compile, verify and upload sketches to Arduino boards and that’s capable of managing all the software and tools needed in the process. But don’t get fooled by its name: Arduino CLI can do much more than the average console application, as shown by [Arduino IDE 2.x][arduino ide 2.x] and [Arduino Cloud], which rely on it for similar purposes but each one in a -completely different way from the other. In this article we introduce the three pillars of the Arduino CLI, explaining -how we designed the software so that it can be effectively leveraged under different scenarios. +completely different way from the other. In this article we introduce the three pillars of the Arduino CLI, explaining how +we designed the software so that it can be effectively leveraged under different scenarios. ## The first pillar: command line interface @@ -132,18 +132,17 @@ $ arduino-cli lib search FlashStorage --format json | jq .libraries[0].latest ``` Even if not related to software design, one last feature that’s worth mentioning is the availability of a one-line -[installation script] that can be used to make the latest version of the Arduino CLI available on most systems with an -HTTP client like curl or wget and a shell like bash. +[installation script] that can be used to make the latest version of the Arduino CLI available on most systems with an HTTP +client like curl or wget and a shell like bash. For more information on Arduino CLI's command line interface, see the [command reference]. ## The second pillar: gRPC interface [gRPC] is a high performance [RPC] framework that can efficiently connect client and server applications. The Arduino -CLI can act as a gRPC server (we call it [daemon mode]), exposing a set of procedures that implement the very same set -of features of the command line interface and waiting for clients to connect and use them. To give an idea, the -following is some [Golang] code capable of retrieving the version number of a remote running Arduino CLI server -instance: +CLI can act as a gRPC server (we call it [daemon mode]), exposing a set of procedures that implement the very same set of +features of the command line interface and waiting for clients to connect and use them. To give an idea, the following is +some [Golang] code capable of retrieving the version number of a remote running Arduino CLI server instance: ```go // This file is part of arduino-cli. @@ -211,8 +210,8 @@ a common Golang API, based on the gRPC protobuf definitions: a set of functions offered by the Arduino CLI, so that when we provide a fix or a new feature, they are automatically available to both the command line and gRPC interfaces. The source modules implementing this API are implemented through the `commands` package, and it can be imported in other Golang programs to embed a full-fledged Arduino CLI. For example, this is how -some backend services powering [Arduino Cloud] can compile sketches and manage libraries. Just to give you a taste of -what it means to embed the Arduino CLI, here is how to search for a core using the API: +some backend services powering [Arduino Cloud] can compile sketches and manage libraries. Just to give you a taste of what +it means to embed the Arduino CLI, here is how to search for a core using the API: ```go // This file is part of arduino-cli. @@ -297,7 +296,8 @@ use and provide support for. You can start playing with the Arduino CLI right away. The code is open source and [the repo][arduino cli repository] contains [example code showing how to implement a gRPC client][grpc client example]. If you’re curious about how we designed the low level API, have a look at the [commands package] and don’t hesitate to leave feedback on the [issue -tracker] if you’ve got a use case that doesn’t fit one of the three pillars. +tracker] +if you’ve got a use case that doesn’t fit one of the three pillars. [golang]: https://go.dev/ [arduino ide 2.x]: https://github.com/arduino/arduino-ide diff --git a/package-lock.json b/package-lock.json index ff93f6acdb3..ed3e3fd970f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6,7 +6,8 @@ "": { "devDependencies": { "markdown-link-check": "3.10.3", - "markdownlint-cli": "^0.33.0" + "markdownlint-cli": "^0.33.0", + "prettier": "^3.3.1" } }, "node_modules/ansi-styles": { @@ -664,6 +665,21 @@ "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", + "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", @@ -1243,6 +1259,12 @@ "parse5": "^7.0.0" } }, + "prettier": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", + "integrity": "sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==", + "dev": true + }, "progress": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", diff --git a/package.json b/package.json index f18684eb8af..2b5477852c6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "devDependencies": { "markdown-link-check": "3.10.3", - "markdownlint-cli": "^0.33.0" + "markdownlint-cli": "^0.33.0", + "prettier": "^3.3.1" } } From 05c9852a0b8105c6c7b45303de87711db11a5f48 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 14:11:23 +0200 Subject: [PATCH 209/361] [skip-changelog] Updated translation files (#2614) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 1833 +++++++++--------- internal/i18n/data/be.po | 3612 +++++++++++++++++++++++++++++++++++ internal/i18n/data/de.po | 1806 +++++++++--------- internal/i18n/data/es.po | 1784 ++++++++--------- internal/i18n/data/fr.po | 1784 ++++++++--------- internal/i18n/data/he.po | 1784 ++++++++--------- internal/i18n/data/it_IT.po | 1810 +++++++++--------- internal/i18n/data/ja.po | 1784 ++++++++--------- internal/i18n/data/ko.po | 1784 ++++++++--------- internal/i18n/data/lb.po | 1784 ++++++++--------- internal/i18n/data/pl.po | 1784 ++++++++--------- internal/i18n/data/pt.po | 1802 ++++++++--------- internal/i18n/data/ru.po | 1784 ++++++++--------- internal/i18n/data/zh.po | 1806 +++++++++--------- internal/i18n/data/zh_TW.po | 1806 +++++++++--------- 15 files changed, 16178 insertions(+), 12569 deletions(-) create mode 100644 internal/i18n/data/be.po diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index e6341117003..7f5b7d9fac7 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -4,10 +4,11 @@ # Mark Asaad, 2022 # Osama Breman, 2023 # طارق عبد الفتاح, 2023 +# Ahmed Gaafar, 2024 # msgid "" msgstr "" -"Last-Translator: طارق عبد الفتاح, 2023\n" +"Last-Translator: Ahmed Gaafar, 2024\n" "Language-Team: Arabic (https://app.transifex.com/arduino-1/teams/108174/ar/)\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" @@ -16,75 +17,75 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s النسخة : %[3]s commit : %[4]s التاريخ : %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "الملف %[1]s اصبح غير مدعوما! راجع %[2]s للمزيد من المعلومات" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s غير صالح . جار اعادة بناء كل شيء" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s مطلوب و لكن %[2]s مثبت حاليا" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s التنسيق مفقود" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "تم تنزيل %s مسبقا" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s و %s لا يمكن استخدامهما معا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s تم تثبيته بنجاح" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s مثبت مسبقا" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s ليس مسارا صحيحا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s غير مدار بواسطة مدير الحزمات" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "يجب تثبيت %s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s النسق مفقود" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "'%s' لديه توقيع غير صحيح" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "'build.core' و 'build.variant' تشيران الى منصة مختلفة : %[1]s و %[2]s" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(مخفي)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(الشكل القديم)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" @@ -92,7 +93,7 @@ msgstr "" "مسارات --git url و zip-path-- غير مفعلة افتراضيا . للمزيد من المعلومات راجع " ": %v" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." @@ -100,24 +101,24 @@ msgstr "" "flags الخاصة ب --git-url و --zip-path تسمح بتثبيت ملفات غير موثوقة , " "استخدمها على مسؤوليتك الخاصة" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "لا يمكن استخدام git-url-- او zip-path-- مع install-in-builtin-dir--" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "ملف ino. موجود مسبقا" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "نسخة جديدة من CLI متوفرة " -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "عليك وصل مبرمجة للرفع" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "ARCH" @@ -125,39 +126,39 @@ msgstr "ARCH" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "دليل استخدام سطر موجه الاوامر للاردوينو" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "مواضيع مساعدة اضافية :" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "اضافة قيمة او اكثر الى احد الاعدادات" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "اسماء مستعارة" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." -msgstr "" +msgstr "جميع المنصات محدثة" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "كل الانوية محدثة باخر اصدار مسبقا" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "%s مثبت مسبقا" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "البدائل ل %[1]s : %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "حدث خطأ اثناء اضافة النماذج الاولية" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "حدث خطأ اثناء الكشف عن المكتبات" @@ -167,63 +168,63 @@ msgstr "" "الحاق سجل التصحيح الى الملف المحدد (Append debug logging to the specified " "file)" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "المعمارية : %s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "الارشيف موجود مسبقا" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "جار ارشفة built core (caching) في : %[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "اوامر مشروع Arduino CLI" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI" -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "واجهة موجه سطر الاوامر للاردوينو (Arduino CLI)" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "اوامر لوحات الاردوينو" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "اوامر cache الخاصة بالاردوينو" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "اوامر الاردوينو المتعلقة بالمكتبات" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "ضبط الاردوينو" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "عمليات نواة الاردوينو (Arduino core operations)" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "خطأ بالمدخلات : %v" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "يربط اللوحة بالمشروع" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "المؤلف : %s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -231,7 +232,7 @@ msgstr "" "لا يمكن تنفيذ التثبيت التلقائي للمكتبة في هذه الحالة , الرجاء ازالة كل النسخ" " المطابقة يدويا و الاعادة" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -239,11 +240,11 @@ msgstr "" "لا يمكن تنفيذ الغاء التثبيت التلقائي للمكتبة في هذه الحالة , الرجاء ازالتها " "يدويا و الاعادة" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "متوفر" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "الاوامر المتوفرة" @@ -251,56 +252,56 @@ msgstr "الاوامر المتوفرة" msgid "Binary file to upload." msgstr "الملف الثنائي (Binary file) الذي تريد رفعه" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "اسم اللوحة" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "اسم اللوحة" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "نسخة اللوحة :" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "ملف محمل الإقلاع (Bootloader) تم تحدديده لكنه مفقود: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds الخاصة ب 'core.a' تحفظ في هذا المسار و سيتم وضعها في الكاش و سيعاد " "استخدامها" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "تعذر انشاء مسار البيانات %s" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "تعذر انشاء المشروع" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "تعذر تنزيل المكتبة" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "تعذر ايجاد التبعيات للمنصة %s" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "تعذر فتح المشروع" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "نعذر تحديث المشروع" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "لا يمكن استخدام العلامات التالية مع بعضها البعض : %s " @@ -308,175 +309,175 @@ msgstr "لا يمكن استخدام العلامات التالية مع بعض msgid "Can't write debug log: %s" msgstr "تعذر كتابة سجل مصحح الاخطاء : %s" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "تعذر انشاء مجلد لل \"build cache\"" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "تعذر انشاء مسار البناء" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "تعذر انشاء مسار ملف التهيئة : %v" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "تعذر انشاء ملف التهيئة : %v" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "تعذر انشاء مسار مؤقت" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "تعذر انشاء ملف temp" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "تعذر حذف المفتاح %[1]s:%[2]v" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "تعذر تشغيل اداة debug" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "تعذر ايجاد المسار المطلق : %v" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "تعذر تثبيت المنصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "تعذر تثبيت الاداة %s" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "تعذر اجراء اعادة تشغيل المنفذ : %s" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "تعذر تحديث المنصة" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "الفئة : %s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "التحقق من حالة التبعيات (dependencies) للمكتبة المختارة" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" "المجموع الاختباري (Checksum) لا يتطابق مع المجموع الاختباري (checksum) " "الموجود في package.json " -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "المجموع الاختباري (Checksum) :" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "تنظيف cache" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "قائمة يفصل بين محتوياتها فاصلة تحوي عناوين URL الاضافية لمدير اللوحات " -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "الامر يبقى قيد التشغيل و يطبع قائمة للوحات المتصلة عندما يوجد تغيير" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "المشروع المترجم لم يتم ايجاده في %s" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "يترجم مشاريع الاردوينو" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "يتم ترجمة النواة" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "يتم ترجمة المكتبات" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "يتم ترجمة المكتبة \"%[1]s\"" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "ترجمة الشيفرة البرمجية..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "ملف التهيئة موجود مسبقا , استخدم --overwrite للتخلص من الملف الموجود مسبقا" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "تمت كتابة ملف التهيئة في : %s" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "اعدادات الضبط ل %s" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "تكوين إعدادات منفذ الاتصال. التنسيق هو <ID>=<value>[,<ID>=<value>]" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "جار تهيئة المنصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "جار تهيئة الاداة" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "متصل" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "النواة" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "تعذر الاتصال بواسطة HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "تعذر انشاء فهرس داخل المسار" @@ -484,27 +485,27 @@ msgstr "تعذر انشاء فهرس داخل المسار" msgid "Couldn't deeply cache core build: %[1]s" msgstr "تعذر القيام بـ deeply cache لــ core build : %[1]s" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "تعذر معرفة حجم البرنامج" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "تعذر ايجاد المسار الحالي %v" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "انشاء مشروع جديد" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "انشاء و طباعة اعدادات البروفايل من البناء (build)" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "انشاء ملف zip يحوي كل ملفات المشروع" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -512,7 +513,7 @@ msgstr "" "انشاء او تحديث ملف الضبط في مسار البيانات او في مسار مخصص مع اعدادات التهيئة" " الحالية" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -520,12 +521,12 @@ msgstr "" "في الوقت الحالي , بروفايلات البناء (Build Profiles) تدعم حصرا المكتبات " "المتوافرة في مدير المكتبات للاردوينو (Arduino Library Manager)" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "مهملة (غير موصى باستخدامها)" @@ -533,71 +534,71 @@ msgstr "مهملة (غير موصى باستخدامها)" msgid "Daemon is now listening on %s:%s" msgstr "Daemon يقوم بالاستماع على %s : %s" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "تصحيح مشاريع الاردوينو" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "تصحيح اخطاء مشاريع الاردوينو (يفتح هذا الامر جلسة gdb تفاعلية)" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "مترجم التصحيح على سبيل المثال : %s" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "تصحيح الاخطاء (Debugging) غير مدعوم للوحة %s" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "إفتراضي" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "تم تحديد FQBN الافتراضي الى :" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "تم تحديد المنفذ الافتراضي الى :" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "حذف كاش التحميلات (download cache) الخاص بمدير اللوحات/المكتبات" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "حذف مفتاح الاعدادات و كل مفاتيحه الفرعية" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "تبعيات : %s" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "الوصف" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "الكشف عن المكتبات المستخدمة ..." -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "تكتشف و تعرض قائمة اللوحات المتصلة الى هذا الكومبيوتر" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "المسار الذي يحوي الملفات الثنائية للتصحيح" @@ -617,7 +618,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "الغاء تفعيل وصف الاكتمال في واجهات الاوامر التي تدعم ذلك" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "قطع الاتصال" @@ -625,15 +626,15 @@ msgstr "قطع الاتصال" msgid "Display only the provided gRPC calls" msgstr "يعرض فقط اتصالات gRPC التي تم اعطاؤها" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "عدم تثبيت التبعيات (dependencies)" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "لا تكتب فوق المكتبات المثبتة مسبقا" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "لا تكتب فوق المنصات المثبتة مسبقا" @@ -648,49 +649,49 @@ msgstr "" "عدم انهاء عمليات daemon في حال تم انهاء العملية الام (Do not terminate " "daemon process if the parent process dies)" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." -msgstr "" +msgstr "لا تحاول تحديث المكتبات أذا تم تثبيتها." -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "يتم تنزيل %s" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "جار تنزيل فهرس التوقيعات %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "جار تنزيل الفهرس : %s" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "جار تحميل المكتبة %s" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "جار تنزيل الاداة الناقصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "جار تنزيل الحزم" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "جار تحميل المنصة %s" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "جار تحميل الاداة" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "يقوم بتنزيل نواة او اكثر و ادواتها التابعة لها" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "يقوم بتنزيل مكتبة او اكثر بدون تثبيتها" @@ -698,181 +699,181 @@ msgstr "يقوم بتنزيل مكتبة او اكثر بدون تثبيتها" msgid "Enable debug logging of gRPC calls" msgstr "تفعيل تسجيل تصحيح الاخطاء لمكالمات gRPC " -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "ادخل مسار لملف zip" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" "ادخل عنوان git URL الخاص بالمكتبات المستضافة على المستودعات (repositories)" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" "خطأ اثناء اضافة الملف لارشيف المشروع (Error adding file to sketch archive)" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "خطا اثناء ارشفة built core (caching) في %[1]s : %[2]s" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "خطا اثناء ارشفة :%v" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" "خطا اثناء حساب مسار الملف النسبي (Error calculating relative file path)" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "خطأ اثناء تنظيف الكاش : %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "تعذر تحويل المسار الى مطلق : %v" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "خطا اثناء نسخ ملف الخرج %s" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" -msgstr "" +msgstr "خطأ في أنشاء ملف التعريفات:%v" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "خطا اثناء انشاء النسخة %v" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "خطا اثناء انشاء مسار الخرج" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "خطا اثناء انشاء ارشيف المشروع" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "خطأ اثناء انشاء المشروع : %v" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "خطا اثناء البحث عن اللوحات : %v" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "خطا اثناء تحميل %[1]s : %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "خطأ اثناء تحميل %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "خطأ اثناء تحميل الفهرس '%s'" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "خطأ اثناء تحميل توقيع الفهرس : '%s'" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "خطأ اثناء تحميل المكتبة %s" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "خطأ اثناء تنزيل المنصة %s" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "خطا اثناء تنزيل الاداة %s" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "خطا اثناء التصحيح : %v" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "خطا اثناء اكتشاف FBQN : %v" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "خطأ اثناء بناء : %v" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "خطأ اثناء تثبيت : %v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "خطأ اثناء الغاء تثبيت : %v" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "خطا اثناء تطوير : %v" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "خطأ اثناء استخراج %s" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "خطا اثناء البحث عن build artifacts" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "خطأ اثناء الحصول على معلومات التصحيح %v" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "خطا اثناء جلب المسار المطلق لارشيف المشروع" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "خطأ اثناء الحصول على معلومات اللوحة %v" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "خطأ اثناء الحصول على المسار الحالي من اجل قاعدة بيانات الترجمة %s" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "خطأ اثناء الحصول على المعلومات للمكتبة %s" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "خطا اثناء جلب بيانات المكتبة : %v" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "خطأ اثناء جلب البيانات الوصفية (metadata) للمنفذ : %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" "خطأ اثناء الحصول على بيانات اعدادات المنفذ (port settings details) : %s" @@ -881,59 +882,59 @@ msgstr "" msgid "Error getting user input" msgstr "تعذر الحصول على مدخلات المستخدم" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "تعذر تهيئة مثال : %v" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "خطأ اثناء تثبيت %v:%s" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "خطأ اثناء تثبيت مكتبة GIT : %v" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "خطأ اثناء تثبيت مكتبة ZIP : %v" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "خطأ اثناء تثبيت المكتبة %s" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "خطأ اثناء تثبيت المنصة %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "خطأ اثناء تثبيت الاداة %s" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "خطا اثناء انشاء قائمة باللوحات : %v" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "تعذر احصاء المكتبات : %v" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "خطأ اثناء انشاء قائمة تحوي جميع المنصات : %v" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "خطا اثناء تحميل منصة الهاردوير" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "خطأ اثناء تحميل الفهرس %s" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "خطأ اثناء فتح %s" @@ -941,170 +942,170 @@ msgstr "خطأ اثناء فتح %s" msgid "Error opening debug logging file: %s" msgstr "تعذر فتح الملف الذي يحوي سجلات التصحيح (debug logging file) : %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "خطا اثناء فتح الكود المصدر الذي يتجاوز ملف البيانات : %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "تعذر تقطيع علامة show-properties-- : %v" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "خطا اثناء قراءة مسار البناء" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "خطا اثناء قراءة ملفات المشروع" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "خطا اثناء حل التبعيات ل %[1]s:%[2]s" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "خطا اثناء استعادة قائمة النواة : %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "خطا اثناء التراجع عن التغييرات : %s" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "خطا اثناء حفظ فهرس التنزيلات" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" "خطأ اثناء حفظ توقيع الفهرس الذي تم تحميله (downloaded index signature)" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "خطا اثناء البحث عن اللوحات : %v" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "خطا اثناء البحث عن مكتبات : %v" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "خطأ اثناء البحث عن المنصة : %v" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" "تعذر القيام بسلسلة قاعدة بيانات الترجمة (Error serializing compilation " "database) : %s" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" -msgstr "" +msgstr "خطأ في وضع قيمة: %v" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "تعذر بدء الاكتشاف : %v" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "خطا اثناء الغاء تثبيت %[1]s: %[2]v" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "خطا اثناء تحديث فهرس المكتبات : %v" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "تعذر ترقية المكتبات" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "خطا اثناء تطوير المنصة : %s" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "تعذر التحقق من التوقيع" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "تعذر العثور على المكتبات التي ضُمِّنَت (included) من قبل : %[1]s" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "خطأ اثناء تحديد حجم المشروع : %s" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "خطأ اثناء كتابة قاعدة بيانات الترجمة (compilation database) : %s" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" -msgstr "" +msgstr "خطأ في كتابة الملف: %v" #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" msgstr "خطأ : وصف الامر غير مدعوم من قبل %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "خطأ : كود مصدري خاطئ سيقوم بالكتابة فوق ملف البيانات : %v" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "الحدث" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "الامثلة للمكتبة %s" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "الامثلة : " -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "الملف التنفيذي الذي سيتم تصحيحه (Executable to debug)" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "توقعت وجود المشروع المترجم في المسار %s . لكنني وجدت ملفا بدلا عن ذلك" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "فشل محي الشريحة" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "فشل المبرمجة" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "فشل حرق محمل الاقلاع" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "فشل انشاء مسار البيانات" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "فشل انشاء مسار التنزيلات" @@ -1124,64 +1125,64 @@ msgstr "تعذر الاستماع على منفذ TCP : %[1]s . خطأ غير م msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "تعذر الاستماع على منفذ TCP : %s . العناوين قيد الاستخدام مسبقا" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "تعذر الرفع" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "الملف : " -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "تشفير البرنامج الثابت او توقيعه يحتاج تحديد الخصائص التالية" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "اول رسالة يجب ان تحوي على طلب التصحيح و ليس البيانات" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "العلامة %[1]s اجبارية عند استخدامها بالتوازي مع : %[2]s" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "الاعلام :" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" "التشغيل الاجباري لسكربت post-install (تستخدم اذا كان CLI لا يعمل بشكل " "متفاعل)" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "تخطي سكربت POST-install اجباريا (تستخدم اذا كان CLI يعمل بشكل متفاعل)" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "اسم اللوحة المؤهلة بالكامل FQBN مثال : arduino:avr:uno" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "سيرفر GDB '%s' غير مدعوم" @@ -1198,19 +1199,19 @@ msgstr "يولد سكربت الاكمال" msgid "Generates completion scripts for various shells" msgstr "يولد سكربتات اكمال من اجل مختلف ال shells" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "يتم توليد النماذج الاولية للتوابع :" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "علامات عامة :" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1218,31 +1219,31 @@ msgstr "" "المتغيرات العامة تستخدم %[1]s بايت (%[3]s%%) من الرام ، تبقى %[4]s بايت " "للمتغيرات المحلية. الحجم الاقصى %[2]s بايت." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "المتغيرات العامة تستخدم %[1]s بايت من الذاكرة المتغيرة." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "خصائص التعرُّف" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "اذا تم تحديده فان مجموعة الكود الثنائي الذي تم بناؤه سيتم تصديره الى مجلد " "المشروع" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." @@ -1250,64 +1251,64 @@ msgstr "" "اذا تم تحديده فانه سيعطيك كل النوى المثبتة و القابلة للتثبيت بالاضافة الى " "التي تم تثبيتها يدويا" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "يتضمن الاحصاء المكتبات المدمجة (بالمنصات و IDE)" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "يُضمِّن في الارشيف المجلد %s" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "تثبيت المكتبات داخل مجلد IDE-Builtin" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "تم التنصيب" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "تم تثبيت %s" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "جار تثبيت %s" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "جار تثبيت المكتبة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "جار تثبيت المنصة %s" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "جار تثبيت الاداة %s" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" "يقوم بتثبيت نواة او اكثر و ادواتها التابعة لها (corresponding tool " "dependencies)" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "يقوم بتثبيت مكتبة او اكثر تم تحديدها مسبقا على النظام" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "خطأ داخلي في الكاش (Internal error in cache)" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "غير صالح '‍%[1]s' : الصفة : %[2]s" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "FBQN غير صالح" @@ -1315,101 +1316,101 @@ msgstr "FBQN غير صالح" msgid "Invalid TCP address: port is missing" msgstr "عنوان TCP غير صالح لان المنفذ غير موجود" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "URL غير صالح" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "URL الاضافي غير صالح : %v" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" -msgstr "ارشيف غير صالح : الملف %{1}s غير موجود في الارشيف %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" +msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "تم اعطاء وسيط غير صالح %v" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "خصائص البناء غير صالحة" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "data size regexp غير صالح : %s" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "eeprom size regexp غير صالح %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "نسخة خاطئة " -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "عنصر عير صالح %s" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "مكتبة غير صالحة" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy غير صالح '%[1]s': %[2]s" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "صيغة اخراج خاطئة : %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "فهرس الحزمة غير صالح في %s" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "معطيات خاطئة %s: النسخة غير مسموح بها" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "قيمة pid غير صالحة : '%s'" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "ملف تعريف غير صالح" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "وصفة غير صالحة ضمن platform.txt" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "size regexp غير صالح : %s" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "نسخة غير صالحة" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "قيمة vid غير صالحة : '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1417,74 +1418,74 @@ msgstr "" "يقوم بانتاج قاعدة الترجمة بدون القيام بالترجمة فعليا . سيتم تجاوز كل اوامر " "البناء ما عدا pre* hooks." -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "المكتبة" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "اسم المكتبة" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "الأخير" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "المكتبة %[1]s تم تحديدها بانها precompiled" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "تم تثبيت المكتبة %[1]s ولكن بنسخة اخرى : %[2]s" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "المكتبة %s مثبتة باخر اصدار مسبقا" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "المكتبة %s غير مثبتة" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "تعذر ايجاد المكتبة %s" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "المكتبة '%s' غير موجودة" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" "المكتبة لا تستطيع استخدام الملفين '%[1]s' 'و' '%[2]s' معا . تحقق مرة اخرى في" " '%[3]s'." -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "فشل تثبيت المكتبة" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "المكتبة مثبتة" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "رخصة" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "جار ربط كل شيء مع بعضه" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1492,15 +1493,15 @@ msgstr "" "انشاء قائمة اللوحات التي منصة دعمها مثبتة. تستطيع البحث \n" "عن لوحة محددة اذا قمت بتحديد اسم اللوحة" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "اظهر كل اللوحات المعروفة و FBQN الخاص بها" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "اعرض كل اللوحات المتصلة" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1508,7 +1509,7 @@ msgstr "" "اعرض كل خيارات اللوحات مفصولة عن بعضها بفواصل . او يمكن استخدامها عدة مرات " "من اجل عدة خيارات" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1516,76 +1517,76 @@ msgstr "" "قائمة من خصائص البناء الخاصة مفصولة عن بعضها البعض بفواصل . او يمكن ان " "تستخدم عدة مرات من اجل عدة خصائص" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "انشاء قائمة بالمكتبات القابلة للتحديث" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "انشاء قائمة بالمنصات القابلة للتحديث" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "انشاء قائمة بجميع اللوحات المتصلة" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "يحصي النوى و المكتبات التي يمكن ترقيتها" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "جار تحميل ملف الفهرس : %v" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "الموقع" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "ذاكرة منخفضة متبقية، مشاكل عدم إستقرار قد تحدث." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "القائم بالصيانة : %s" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" "الحد الاقصى لزمن البحث عن المنفذ : على سبيل المثال 30 ثانية , 1 دقيقة " -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "الرسائل بهذه المرحلة و ما فوق سيتم تسجيلها . المراحل الصالحة هي : %s" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' مفقود من المكتبة في %[2]s" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FBQN مفقود (Fully Qualified Board Name)" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "يوجد منفذ مفقود" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "عنوان المنفذ مفقود" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "يوجد بروتوكول منفذ مفقود" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "المبرمج مفقود" @@ -1593,33 +1594,33 @@ msgstr "المبرمج مفقود" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr " size regexp مفقود" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "مسار السكتش مفقود" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "المراقب '%s' غير موجود" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "اعدادات منفذ المراقبة " -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "العثور على عدة مكتبات لـ\"%[1]s\"" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "الاسم" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "الاسم\"%s\"" @@ -1627,27 +1628,27 @@ msgstr "الاسم\"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "منفذ التحميل الجديد: %[1]s(%[2]s)" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "لا يوجد اية لوحات" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "لا توجد اية مكتبات" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "لا يوجد مكتبات مثبتة" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "لا توجد مكتبات تطابق بحثك" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1655,51 +1656,51 @@ msgstr "" "لا توجد مكتبات متطابقة مع بحثك\n" "هل تقصد...\n" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "لا يوجد تحديثات متاحة للمكتبات" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "لا يوجد مراقب متاح لبرتوكول المنفذ %s" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "لا يوجد مكتبات او منصات قديمة" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "لا توجد منصات مثبتة" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "ﻻ يوجد منصات تطابق بحثك" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "تعذر ايجاد منفذ رفع , باستخدام %s كرجوع احتياطي fallback" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "تعذر ايجاد حل تبعيات صالح" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "الذاكرة غير كافية؛ راجع %[1]s لنصائح حول استخدامها بكفائة" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "غير مستخدم : %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "نظام التشغيل:" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "لوحة أردوينو الرسمية:" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1707,46 +1708,46 @@ msgstr "" "ازالة تفاصيل المكتبة في كل النسخ عدا اخر نسخة (يعطي اخراج json مضغوط بشكل " "اكبر)" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "فتح منفذ تواصل مع اللوحة" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "اختيار:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "اختياري، يمكن أن يكون: %s. يُستخدم لإخبار ال gcc أي مستوي تحذير يَستخدِم (-W" " flag)" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "اختياري , يقوم بتنظيف مجلد البناء ولا يستخدم اي بناء مخزن مؤقتا" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "اختياري , يحسن مخرجات المترجم خلال تصحيح الاخطاء بدلا عن الاصدار" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "اختياري , يكبح كل خرج" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "اختياري، يُفعل الوضع المفصل." -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "اختياري , مسار لملف json. الذي يحتوي على البدائل من الكود المصدري للمشروع" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1754,52 +1755,52 @@ msgstr "" "تجاوز احد خصائص البناء باستخدام قيمة خاصة . يمكن استخدامه عدة مرات من اجل " "عدة خصائص" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "الكتابة فوق ملف التهيئة الموجود سابقا" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "يكتب فوق ارشيف موجود سابقا" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "يكتب فوق ملف ino. موجود مسبقا" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "المُغَلِّف" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "URL الخاص بالحزمة" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "حافظ الحزمة :" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "اسم الحزمة :" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "المساعدة الخاصة بالحزمة اونلاين" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "موقع الحزمة على الويب" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "المقطع : %s" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "المسار" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1807,7 +1808,7 @@ msgstr "" "المسار الى مجموعة من المكتبات . يمكن استخدامه عدة مرات او من اجل عدة مدخلات " "حيث يتم فصلها باستخدام فاصلة" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1815,11 +1816,11 @@ msgstr "" "المسار الى المجلد الاصلي لمكتبة واحدة . يمكن استخدامه عدة مرات او من اجل عدة" " مدخلات حيث يتم فصلها باستخدام فاصلة" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "مسار للملف حيث تُكتب السجلات" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1827,20 +1828,20 @@ msgstr "" "المسار الذي يتم فيه حفظ الملفات التي تمت ترجمتها , اذا تم ازالته , سيتم " "انشاء مجلد داخل المسار المؤقت الافتراضي في نظام التشغيل" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "جار تفعيل 1200-bps touch reset على المنفذ التسلسلي %s" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "المنصة %s مثبتة سابقا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "تم تثبيت المنصة: %s" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1848,55 +1849,55 @@ msgstr "" "المنصة %sغير موجودة في اي فهرس معروف\n" "ربما تحتاج الى اضافة عنوان url من طرف 3 " -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "تم إلغاء تثبيت المنصة: %s" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "المنصة '%s' هي باخر اصدار مسبقا" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "المنصة '%s' غير موجودة" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "Platform ID" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "id المنصة غير صحيح" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "عنوان url للمنصة :" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "معمارية المنصة :" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "فئة المنصة :" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "المجموع الاختباري للمنصة :" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "اسم ملف المنصة:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "اسم المنصة:" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "حجم المنصة (بالبايت) :" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1904,7 +1905,7 @@ msgstr "" "الرجاء تحديد FQBN . لقد تم اكتشاف عدة لوحات على المنفذ %[1]s الذي يستخدم " "بروتوكول %[2]s" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1912,96 +1913,96 @@ msgstr "" "الرجاء تحديد FQBN . تعذر التعرف على اللوحة على المنفذ %[1]s ذات البروتوكول " "%[2]s " -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "منفذ" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "المنفذ %v مغلق" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "خطا في مراقب المنفذ" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "تعذر ايجاد المكتبة التي تمت ترجمتها مسبقا في \"%[1]s\"" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "طباعة تفاصيل عن لوحة." -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "طباعة الكود قبل معالجته الى stdout بدلا من الترجمة " -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "طباعة السجلات على الخرج الافتراضي" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "طباعة اعدادات الضبط الحالية." -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "طباعة اعدادات الضبط الحالية." -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "تعذر ايجاد الملف الشخصي '%s'" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "تعذر ايجاد المبرمجة '%s'" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "اسم المبرمجة" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "المبرمجة التي سيتم استخدامها , مثال : atmel_ice" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "المبرمجات : " -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "الخاصية '%s' غير معرفة" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "البروتوكول" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "يشمل : %s" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "يزيل قيمة او اكثر من اعداد" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "تبديل %[1]s ب %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "استبدال المنصة %[1]s بـ %[2]s" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "الادوات المطلوبة :" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "التشغيل ضمن الوضع الصامت , يظهر فقط شاشة الادخال و الاخراج " @@ -2013,40 +2014,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "جار تشغيل البناء العادي من النواة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "حفظ ادوات البناء ضمن هذا المجلد" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "البحث عن لوحة ضمن مدير اللوحات باستخدام كلمات مفتاحية" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "البحث عن لوحة ضمن مدير اللوحات" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "البحث عن نواة ضمن مدير اللوحات باستخدام كلمات مفتاحية" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "البحث عن نواة ضمن مدير اللوحات" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2093,23 +2094,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "الجملة : %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "استجابة السيرفر : %s" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2117,45 +2118,45 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "تحديد قيمة للاعداد" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "تحديد مكان حفظ ملف الضبط" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "اعداد" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "اظهار كل النوى المتوفرة" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "اظهار كل اعدادات منفذ التواصل" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "اظهار اللوحات التي تم تحديدها كمخفي في المنصة" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." @@ -2163,39 +2164,39 @@ msgstr "" "يظهر خصائص البناء . الخصائص متوسعة , استخدم \n" "\"show properties=unexpanded--\" اذا اردتها كما كانت معرفة بالظبط" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "اظهار تفاصيل اللوحة كاملة" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" "اظهار معلومات حول لوحة, خصوصا اذا كانت اللوحة تملك خيار لتكون محددة في FQBN " -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "اظهار اسم المكتبة فقط" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "عرض قائمة المبرمجات المتاحة" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "اظهار البيانات الوصفية لجلسة التصحيح بدلا من بدء المصحح" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "اظهار النوى و المكتبات القديم بعد تحديث الفهرس" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "عرض قائمة المكتبات المثبتة" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2208,15 +2209,15 @@ msgstr "" "اذا حدد المدخل LIBNAME القائمة فان القائمة ستكون محددة بما في هذا المدخل\n" "المكتبة : افتراضيا , المكتبات المدمجة بالمنصات و النوى لا يتم عرضها في القائمة , يمكن عرضها في القائمة من خلال اضافة علامة all--" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "يعرض قائمة من المنصات المثبتة" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "يظهر قائمة الامثلة الخاصة بالمكتبات" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2224,40 +2225,40 @@ msgstr "" "يظهر قائمة الامثلة الخاصة بالمكتبات . يمكن اعطاء اسم كمدخل من اجل البحث ضمن " "مكتبة محددة" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "عرض رقم نسخة Arduino CLI المثبتة على نظامك" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "عرض رقم نسخة Arduino CLI" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "الحجم (بالبايت) :" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "لا يمكن وضع المشروع ضمن مسار البناء . الرجاء تحديد مسار بناء مختلف" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "تم انشاء المشروع في : %s" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "ملف التعريف للمشروع الذي سيتم استخدامه" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "الشيفرة البرمجية كبير جدا; راجع %[1]s\n" "لنصائح لاختصارها." -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2265,55 +2266,55 @@ msgstr "" "المشروع يستخدم %[1]s بايت (%[3]s%%) من ذاكرة التخزين . الحجم الاقصى للبرنامج" " %[2]s بايت" -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" "المشاريع ذوي اللاحقة pde. في حالة تقاعد , الرجاء تغيير لاحقة الملف الى ino." -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "تخطي ربط البرنامج النهائي القابل للتنفيذ" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "جار تخطي 1200bps touch reset لانه لم يتم تحديد منفذ تسلسلي" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "جار تخطي انشاء الارشيف لـ : %[1]s" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "جار تخطي ترجمة : %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "جار تخطي الكشف عن توابع المكتبة %[1]s التي تمت ترجمتها مسبقا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "جار تخطي ضبط المنصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "جار تخطي ضبط الاداة" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "جار تخطي : %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "يمكن تحديث بعض الفهارس" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" "فشلت بعض الترقيات , الرجاء الاطلاع على الخرج من اجل المزيد من المعلومات" @@ -2322,11 +2323,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "منفذ TCP  الذي سيستمع اليه الناطر" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سيتم استخدام الملف الافتراضي)" @@ -2334,19 +2335,19 @@ msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سي msgid "The flag --debug-file must be used with --debug." msgstr "يجب استخدام العلامة debug-file-- مع debug--" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2354,7 +2355,7 @@ msgstr "" "المفتاح '%[1]v' ليس قائمة من الاشياء , لا يمكن الاضافة اليه\n" "ربما يمكنك استخدام %[2]s" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2362,11 +2363,11 @@ msgstr "" "المفتاح '%[1]v' ليس قائمة من الاشياء , لا يمكن ازالته \n" "ربما يمكنك استخدام %[2]s" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "يوجد عدة نسخ مثبتة من المكتبة %s" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2374,7 +2375,7 @@ msgstr "" "اسم مفتاح التشفير المخصص الذي سيستخدم لتشفير ملف ثنائي اثناء الترجمة . " "يستخدم فقط من قبل المنصات التي تدعم ذلك" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2382,11 +2383,11 @@ msgstr "" "اسم مفتاح التوقيع المخصص الذي سيستخدم لتوقيع ملف ثنائي اثناء الترجمة . " "يستخدم فقط من قبل المنصات التي تدعم ذلك" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "تنسيق الخرج الخاص بالسجلات , يمكن ان يكون : %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2394,11 +2395,11 @@ msgstr "" "المسار الى المجلد للبحث عن مفتاح خاص لتوقيع و تشفير الملف الثنائي , يتم " "استخدامه من قبل المنصات التي تدعم ذلك فقط" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "المنصة لا تدعم '%[1]s' من اجل المكتبات الغير مترجمة" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2409,7 +2410,7 @@ msgstr "" "بواسطة مسافة , اذا لم يتم تحديد اي مدخلات للامر , سيقوم بتحديث كل المكتبات " "التي لديها تحديث متاح" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2417,36 +2418,36 @@ msgstr "" "هذا الامر يظهر قائمة النوى و/أو المكتبات المثبتة التي يمكن ترقيتها. اذا لم " "يوجد اي شيء يحتاج للتحديث فالخرج سيكون فارغا" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "الاداة %s مثبتة مسبقا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "تم الغاء تثبيت الاداة %s" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "مجموعة الادوات '%s' غير مدعومة" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "مسار مجموعة الادوات" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "بادئة مجموعة الادوات " -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "نوع مجموعة الادوات" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "جرب تشغيل %s" @@ -2454,114 +2455,114 @@ msgstr "جرب تشغيل %s" msgid "Turns on verbose mode." msgstr "يفعل الوضع المطول" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "نوع" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "الأنواع: %s" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" "تعذر تخزين نواة البناء مؤقتا , الرجاء اخبار المحافظين %[1]s لمتابعة %[2]s" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "تعذر ايجاد مجلد Documents : %v" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "تعذر ايجاد مجلد Local App Data : %v" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "تعذر ايجاد user home dir : %v" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "تعذر فتح ملف من اجل انشاء سجلات : %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "تعذر تقطيع عنوان URL" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "إلغاء تثبيت %s" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "إلغاء تثبيت %s، الأداة لم تعد مطلوبة" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "يلغي تثبيت نواة او اكثر مع ادواتها و توابعها في حال لم يتم استخدامها " -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "يلغي تثبيت مكتبة او اكثر " -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "غير معروف" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "FQBN غير معروف" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "يحدث فهرس المكتبات و النوى" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "يحجث فهرس المكتبات و النوى الى اخر نسخة" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "يحدث فهرس النوى الى اخر نسخة" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "يحدث فهرس النوى" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "يحدث فهرس المكتبات الى اخر نسخة" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "يحدث فهرس المكتبات" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "الترقية لا تقبل مدخلات مع نسخة" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "يحدث المكتبات و النوى المثبتة الى اخر نسخة" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "يحدث المكتبات و النوى المثبتة" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "يحدث المكتبات المثبتة" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "يحدث منصة او كل المنصات الى اخر نسخة" @@ -2574,19 +2575,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "يرفع مشاريع الاردوينو , و لا يقوم بترجمة المشروع قبل الرفع مطلقا !" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "عنوان منفذ الرفع : مثال , COM3 او /dev/ttyACM2" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "تم ايجاد منفذ الرفع في %s" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "بروتوكول منفذ الرفع , مثال : serial \"تسلسلي\"" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "يرفع الملف الثنائي بعد الترجمة" @@ -2598,13 +2599,13 @@ msgstr "يرفع محمل الاقلاع على اللوحة باستخدام م msgid "Upload the bootloader." msgstr "يرفع محمل الاقلاع" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" "جار الرفع الى لوحة مخصصة باستخدام بروتوكول %s الذي يتطلب المعلومات التالية" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2612,104 +2613,104 @@ msgstr "" "لا يمكن استخدام فواصل مع عناوين url , افصل عدة عناوين url باستخدام متغير بيئة \"env var\" ملحوقا بمسافة \n" "%s" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "الاستخدام" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "استخدم %s من اجل المزيد من المعلومات حول امر معين" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "المكتبة المستخدمة" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "المنصة المستخدمة" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "مستخدم : %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل المجلد %[2]s" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "يتم استخدام توابع المكتبة التي تم تخزينها مؤقتا من اجل الملف : %[1]s" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام النواة '%[1]s' من منصة داخل الملف %[2]s " -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "استخدام المكتبة %[1]s الإصدار %[2]s في المجلد: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "استخدام المكتبة %[1]s في المجلد: %[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "يتم استخدام النواة التي تم ترجمتها مسبقا %[1]s" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "يتم استخدام المكتبة التي تم ترجمتها مسبقا %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "استخدام الملف المترجم سابقا: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "النسخة" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "رقم النسخة" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "القيم" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "التاكد من الملف الثنائي الذي سيتم رفعه قبل الرفع" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "النسخة" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "النسخ : %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "تحذير , تعذرت تهيئة المنصة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "تحذير , تعذر تهيئة الاداة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "تحذير : المشروع سيترجم باستخدام مكتبة خاصة او اكثر . " -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2717,81 +2718,81 @@ msgstr "" "تحذير: المكتبة %[1]s تعمل على معمارية %[2]s وقد لا تتوافق مع لوحتك الحالية " "التي تعمل على معمارية %[3]s." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "يتم انتظار منفذ الرفع (upload port) ... " -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "تحذير , اللوحة %[1]s لا تُعرّف الخاصة %[2]s . تم وضع التحديد الالي لـ %[3]s" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "الموقع : %s" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "جار كتابة اعدادات الضبط الحالية الى ملف الضبط" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "تكتب الاعدادات الضبط الحالية في ملف التهيئة داخل مجلد البيانات" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "لا يمكنك استخدام flag %s اثناء الترجمة باستخدام بروفايل (while compiling " "with a profile)" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "تلبيد \"hash\" الارشيف يختلف عن تلبيد \"hash\" الفهرس" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "الارشيف غير صالح : يوجد عدة ملفات داخل ملف zip في المرحلة العليا" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "الارشيف غير صالح : لا يوجد اي ملفات داخل ملف zip في المرحلة العليا" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "مسار الارشيف" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "نمط arduino-preprocessor مفقود" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "متوفر في الوضع النصي حصرا" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "تعذر ايجاد الملف الثنائي (Binary file) داخل %s" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "اللوحة %s غير موجودة" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "اسم اللوحة" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "مجلد المكتبات المدمجة غير محدد" @@ -2799,402 +2800,398 @@ msgstr "مجلد المكتبات المدمجة غير محدد" msgid "can't find latest release of %s" msgstr "تعذر العثور على اخر اصدار من %s" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "تعذر العثور على اخر اصدار من الاداة %s" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "تعذر ايحاد ملف المشروع الرئيسي داخل %s" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "تعذر ايجاد نمط للاكتشاف بواسطة id %s" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "المرشحون" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "تعذر تشغيل اداة الرفع : %s" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "جار التاكد من اكتمال ملف الارشيف" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "جار تنظيف مسار البناء (build path)" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "الامر" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "الامر '%[1]s' اخفق في : %[2]s" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" "التواصل غير متزامن (communication out of sync) , توقعتُ وصول '%[1]s' لكن وصل" " ما يلي '%[2]s'" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "جار حوسبة التلبيد \"hash\" : %s" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "جار نسخ المكتبة الى مجلد الوجهة" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "تعذر ايجاد ادوات صالحة للبناء (valid build artifact)" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "تعذر الكتابة فوقه" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "تعذر ازالة المكتبة القديمة" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "تعذر تحديث ملف المشروع" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "جار انشاء ملف تخزن مؤقت للنواة : %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "جار انشاء installed.json داخل %[1]s : %[2]s" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "جار انشاء مسار مؤقت للاستخراج : %s" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" "قسم البيانات تخطى الحجم المتوفر في اللوحة (data section exceeds available " "space in board)" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "التبعية (dependency) '%s' غير متوفرة" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "تعذر التثبيت لان مجلد الوجهة %s موجود مسبقا " -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "مجلد الوجهة موجودة مسبقا" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "المجلد غير موجود : %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" -msgstr "عملية الكشف %[1]s لم تبدأ : %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" +msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "المستكشف %s غير موجود" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "تعذر تثبيت المستكشف %s" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "تعذر ايجاد اصدار المستكشف %s" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "تنزيل نسخة محددة (في هذه الحالة ستكون النسخة 1.6.9)" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "تنزيل اخر نسخة من Arduino SAMD core" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "تم تحميله" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "جار تنزيل الاداة %[1]s : %[2]s" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "معرف اللوحة خالي (empty board identifier)" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "خطا اثناء تحميل ملفات المشروع :" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "تعذر فتح %s" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "تعذر تقطيع قيود النسخة" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" "خطأ اثناء معالجة الرد من السيرفر (error processing response from server)" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "خطا اثناء القيام باستعلامات مع Arduino Cloud Api" -#: internal/arduino/resources/install.go:67 +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" +msgstr "" + +#: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" msgstr "جار استخراج الارشيف : %s" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" -msgstr "جار استخراج الارشيف : %w" - -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "تعذر حساب تلبيد \"hash\" ملف \"%s\"" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "تعذر تهيئة http client" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "حجم الارشيف الذي تم جلبه يختلف عن الحجم المحدد في الفهرس" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "ملفات الارشيف يجب ان توضع في مسار فرعي" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "جار البحث عن المسار المطلق (absolute path) لـ %s" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "الاعلام" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "الوصلة الرمزية symlink التالية %s" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "من اجل نسخة محددة" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "من اجل اخر نسخة" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "من اجل النسخة الحالية " -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" -msgstr "جار انتاج installation.id : %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" +msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" -msgstr "جار انتاج installation.secret : %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" +msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "جار جلب معلومات ملف الارشيف : %s" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "جار جلب معلومات الارشيف : %s" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "جار جلب مسار الارشيف : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "جار الحصول على خصائص البناء للوحة %[1]s : %[2]s " -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع المستكشف من اجل المنصة %[1]s:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع الشاشة من اجل المنصة %[1]s:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع الاداة من اجل المنصة %[1]s:%[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "لم يتم تحديد مجلد التثبيت" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "جار تثبيت الاداة %[1]s : %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "جار تثبيت المنصة %[1]s : %[2]s" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "الطرفية \"terminal \" التفاعلية لا تدعم تنسيق الخرج التالي %s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" غير صالحة %s" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "تنسيق المجموع الاختباري \"checksum\" غير صالح : %s" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "اعداد التهيئة غير صالح : %s" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "معمارية النواة الفارغة غير صالحة '%s'" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "معطى النواة الفارغة غير صالح" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "اسم النواة الفارغة غير صالح '%s'" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "مرجع النواة الفارغة غير صالح '%s'" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "نسخة النواة الفارغة غير صالحة : %s" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "اسم المكتبة الفارغة غير صالح " -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "نسخة المكتبة الفارغة غير صالحة : %s" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "تم ايجاد اعداد اعداد فارغ غير صالح" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "عنوان url لـ git غير صالح" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "علامة تلبيد \"hash\" غير صالحة '%[1]s' : %[2]s" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "عنصر غير صالح %s" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "يوجد directive للمكتبة \"عبارة برمجية بداخل الكود المصدري\" غير صالح %s" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "تخطيط المكتبة غير صالح : %s" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "موقع المكتبة غير صالح : %s" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "مكتبة غير صالحة : لا يوجد ترويسة في الملف" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "خيار غير صالح %s" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "خيار غير صالح %s" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" -msgstr "مسار غير صالح اثناء انشاء مجلد التهيئة %[1]s الخطا : %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" +msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" -msgstr "مسار غير صالح اثناء كتابة ملف inventory %[1]s الخطا : %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" +msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "حجم ملف ارشيف المنصة غير صالح : %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "معرف المنصة غير صالح" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "عنوان url لفهرس المنصة غير صالح" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "مرجع الشاشة القابلة للوصل غير صالح : %s" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "قيمة الضبط الخاصة بالمنفذ غير صالحة : %s:%s" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "اعدادات الضبط للمنفذ غير صالحة" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "وصفة غير صالحة %[1]s : %[2]s" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3204,161 +3201,161 @@ msgstr "" "\"_\" , المحارف المتبقية يمكنها ان تحوي \"-\" و \".\" بالاضافة الى ما سبق , " "المحرف الاخير لا يمكن ان يكون \".\"" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "قيمة خاطئة '%[1]s' من اجل الخيار %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "مجلد النسخة خاطئ %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "نسخة خاطئة " -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "الكلمات المفتاحية" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" -msgstr "" +msgstr "مكتبات من أنشاء دانيل جراسيا" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "المكتبة %s مثبتة مسبقا" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "المكتبة غير صالحة" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "جار تحميل %[1]s:%[2]s" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "جار تحميل اللوحات : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "جار تحميل ملف json index %[1]s : %[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "جار تحميل المكتبة من %[1]s : %[2]s" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "جار تحميل خصائص المكتبة (library.properties) : %s" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "جار تحميل المنصة اصدار %s" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "جار تحميل platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "جار تحميل المنصات المطلوبة %s" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "جار تحميل الادوات المطلوبة %s" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "جار تحميل اصدار الاداة (tool release) في %s" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "جار البحث عن boards.txt داخل %s" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "الملف الرئيسي مفقود من المشروع : %s" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" مفقودة %s" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "المجموع الاختباري (checksum) لـ %s مفقود" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "تعذر العثور على الحزمة %[1]s التي التي تشير اليها اللوحة %[2]s " -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "يوجد حزمة مفقودة من الفهرس %s , لا يمكن ضمان التحديثات المستقبلية بسبب ذلك" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة %[1]s : %[2]s التي التي تشير اليها اللوحة %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة اصدار (platform release) %[1]s : %[2]s التي التي تشير" " اليها اللوحة %[3]s" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" -msgstr "" +msgstr "هناك توقيع غير موجود" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "تعذر ايجاد اصدار المراقب : %s" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "جار نقل الارشيف الذي تم استخراجه الى مجلد الوجهة : %s" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "تم ايجاد اكثر من build artifacts : '%[1]s' و '%[2]s'" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "تم العثور على اكثر من ملف مشروع رئيسي main sketch file (%[1]v,%[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3366,177 +3363,181 @@ msgstr "" "لا يوجد نسخة متوافقة من الاداة %[1]s من اجل نظام التشغيل الحالي , جرب " "التواصل مع %[2]s" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "لا يوجد نسخ محددة" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "لم يتم تحديد مجلد/ملف المشروع او البناء " -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "لا يوجد ملف او مجلد مشابه" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "لا يوجد مجلد اصلي في الارشيف , تم ايجاد %[1]s و %[2]s" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "لم يتم تحديد اي منفذ للرفع" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "تعذر ايجاد اي مشروع صالح في %[2]s : %[1]sمفقود" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "لا يوجد نسخة متوفرة لنظام التشغيل الحالي , جرب التواصل مع %s" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "لا يعمل في الطرفية \"terminal\"" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "جار فتح ملف الارشيف : %s" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "جار فتح boards.txt" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "جار فتح ملف التوقيع : %s" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "جار فتح الملف الهدف : %s" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "الحزمة %sغير موجودة " -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "الحزمة '%s' غير موجودة" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "جار تقطيع FQBN : %s" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "جار تقطيع ملف library_index.json : %s" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "المسار المحدد ليس مجلدا لمنصة : %s" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "تعذر ايجاد المنصة %[1]s في الحزمة %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "المنصة %s غير مثبتة" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" -msgstr "" +msgstr "المنصة غير متاحة لنظام التشغيل الخاص بك" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "المنصة غير مثبتة" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "الرجاء استخدام build-property-- بدلا من ذلك" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "تم اضافة الكشف عن الاشياء القابلة للوصل مسبقا : %s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "المنفذ" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "تعذر ايجاد المنفذ : %[1]s %[2]s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" -msgstr "" +msgstr "بروجرامر" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "نسخة البروتوكول غير مدعومة : تم طلب %[1]d , فكان الرد %[2]d" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "جار قراءة المجلد %[1]s : %[2]s" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" -msgstr "جار قراءة المجلد %[1]s الذي يحوي %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" +msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "جار قراءة المجلد %s" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" -msgstr "جار قراءة المجلد %w الذي يحوي %s" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" +msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "جار قراءة الملف %[1]s : %[2]s" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" -msgstr "" +msgstr "جاري قرأت الملفات" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "جار قراءة ترويسة المكتبة : %s" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" -msgstr "جار قراءة المجلد الاصلي للمكتبة %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" +msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" -msgstr "جار قراءة ترويسة المكتبة %w " +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" +msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "جار قراءة library_index.json : %s" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "جار قراءة المجلد الاصلي للحزمة : %s" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" -msgstr "" +msgstr "جاري قرأت ملفات المذكرة" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "تعذر ايجاد الوصفة '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "تعذر ايجاد الاصدار %[1]s للاداة %[2]s" @@ -3545,94 +3546,94 @@ msgstr "تعذر ايجاد الاصدار %[1]s للاداة %[2]s" msgid "release cannot be nil" msgstr "الاصدار لا يمكن ان يكون صفر \"nil\"" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "جار ازالة ملف الارشيف المتخرب %s" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "جار ازالة مجلد المكتبة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "جار ازالة ملفات المنصة %s" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "تعذر ايجاد النسخة المطلوبة %[1]s من اجل المنصة %[2]s" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "جار ازالة المفاتيح العامة للاردوينو : %s" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" -msgstr "" +msgstr "جاري فحص امثلة المذكرة" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "جار البحث عن المجلد الاصلي لـ %s" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "لا يمكن ان يكون اسم المشروع فارغا" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "اسم المشروع لا يمكن ان يكون اسما محجوزا \"%[1]s\"" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "اسم المشروع طويل جدا (%[1]d محرف) , الطول الاقصى المسموح به هو %[2]d" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "مسار المشروع غير صالح" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "مسار المشروع" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "جار بدء الاكتشاف %s" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "جار فحص المجموع الاختباري للارشيف %s" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "جار فحص حجم الارشيف : %s" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "جار فحص ما اذا كان الارشيف تم تخزينه مؤقتا %s" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "جار فحص تكامل ملف الارشيف المحلي : %s" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "القسم النصي تخطى المساحة المتوفرة في اللوحة" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "ربما قاعدة بيانات الترجمة ناقصة او غير دقيقة" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "استجاب السيرفر بالحالة %s" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "نفذ الوقت اثناء انتظار الرسالة " -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحزم" @@ -3641,16 +3642,16 @@ msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحز msgid "tool %s not found" msgstr "الاداة %s غير موجودة" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "الاداة غير مثبتة" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "اصدار الاداة غير موجود : %s" @@ -3658,89 +3659,89 @@ msgstr "اصدار الاداة غير موجود : %s" msgid "tool version %s not found" msgstr "نسخة الاداة %s غير موجودة" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "يجب ان يكون هناك اصدارين من نفس المكتبة %[1]s , هذا %[2]s و هذا %[3]s" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "تعذر حوسبة المسار النسبي للمشروع من اجل العنصر" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "تعذر انشاء مجلد لحفظ المشروع" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "تعذر انشاء مجلد يحوي العنصر" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr " %v : unable to marshal config to YAML" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "تعذر قراءة محتويات العنصر الهدف" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "تعذر قراءة محتويات العنصر الاصل" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "تعذر الكتابة الى المجلد الوجهة" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "حزمة غير معروفة %s" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "منصة غير معروفة %s:%s" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "لاحقة المشروع غير معروفة '%s'" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "خوارزمية تليبد \"hash\" غير مدعومة %s" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "جار تحديث arduino:samd لاخر اصدار" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "تحديث كل شيء الى اخر اصدار" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "خطا اثناء الرفع %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "مجلد المستخدم غير محدد" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "ادخال المستخدم لا يدعم تنسيق الخرج '%s'" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "ادخال المستخدم غير مدعوم في الوضع الغير تفاعلي" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "الاصدار %s غير مدعوم من اجل نظام التشغيل الحالي" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "الاصدار %s غير موجود" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "تنسيق خاطئ في استجابة السيرفر" diff --git a/internal/i18n/data/be.po b/internal/i18n/data/be.po new file mode 100644 index 00000000000..094c595c1cf --- /dev/null +++ b/internal/i18n/data/be.po @@ -0,0 +1,3612 @@ +# +msgid "" +msgstr "" +"Language-Team: Belarusian (https://app.transifex.com/arduino-1/teams/108174/be/)\n" +"Language: be\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" + +#: version/version.go:56 +msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:462 +msgid "%[1]s folder is no longer supported! See %[2]s for more information" +msgstr "" + +#: internal/arduino/builder/build_options_manager.go:140 +msgid "%[1]s invalid, rebuilding all" +msgstr "" + +#: internal/cli/lib/check_deps.go:124 +msgid "%[1]s is required but %[2]s is currently installed." +msgstr "" + +#: internal/arduino/builder/builder.go:488 +msgid "%[1]s pattern is missing" +msgstr "" + +#: internal/arduino/resources/download.go:51 +msgid "%s already downloaded" +msgstr "" + +#: commands/service_upload.go:754 +msgid "%s and %s cannot be used together" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +msgid "%s installed" +msgstr "" + +#: internal/cli/lib/check_deps.go:121 +msgid "%s is already installed." +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 +msgid "%s is not a directory" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +msgid "%s is not managed by package manager" +msgstr "" + +#: internal/cli/lib/check_deps.go:118 +msgid "%s must be installed." +msgstr "" + +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 +msgid "%s pattern is missing" +msgstr "" + +#: commands/cmderrors/cmderrors.go:818 +msgid "'%s' has an invalid signature" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:443 +msgid "" +"'build.core' and 'build.variant' refer to different platforms: %[1]s and " +"%[2]s" +msgstr "" + +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 +msgid "(hidden)" +msgstr "" + +#: internal/arduino/builder/libraries.go:302 +msgid "(legacy)" +msgstr "" + +#: internal/cli/lib/install.go:82 +msgid "" +"--git-url and --zip-path are disabled by default, for more information see: " +"%v" +msgstr "" + +#: internal/cli/lib/install.go:84 +msgid "" +"--git-url and --zip-path flags allow installing untrusted files, use it at " +"your own risk." +msgstr "" + +#: internal/cli/lib/install.go:87 +msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" +msgstr "" + +#: commands/service_sketch_new.go:66 +msgid ".ino file already exists" +msgstr "" + +#: internal/cli/updater/updater.go:30 +msgid "A new release of Arduino CLI is available:" +msgstr "" + +#: commands/cmderrors/cmderrors.go:299 +msgid "A programmer is required to upload" +msgstr "" + +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 +msgid "ARCH" +msgstr "" + +#: internal/cli/generatedocs/generatedocs.go:80 +msgid "ARDUINO COMMAND LINE MANUAL" +msgstr "" + +#: internal/cli/usage.go:28 +msgid "Additional help topics:" +msgstr "" + +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 +msgid "Adds one or more values to a setting." +msgstr "" + +#: internal/cli/usage.go:23 +msgid "Aliases:" +msgstr "" + +#: internal/cli/core/list.go:112 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:87 +msgid "All the cores are already at the latest version" +msgstr "" + +#: commands/service_library_install.go:135 +msgid "Already installed %s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:91 +msgid "Alternatives for %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +msgid "An error occurred adding prototypes" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:213 +msgid "An error occurred detecting libraries" +msgstr "" + +#: internal/cli/daemon/daemon.go:85 +msgid "Append debug logging to the specified file" +msgstr "" + +#: internal/cli/lib/search.go:208 +msgid "Architecture: %s" +msgstr "" + +#: commands/service_sketch_archive.go:69 +msgid "Archive already exists" +msgstr "" + +#: internal/arduino/builder/core.go:163 +msgid "Archiving built core (caching) in: %[1]s" +msgstr "" + +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 +msgid "Arduino CLI sketch commands." +msgstr "" + +#: internal/cli/cli.go:88 +msgid "Arduino CLI." +msgstr "" + +#: internal/cli/cli.go:89 +msgid "Arduino Command Line Interface (arduino-cli)." +msgstr "" + +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 +msgid "Arduino board commands." +msgstr "" + +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 +msgid "Arduino cache commands." +msgstr "" + +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 +msgid "Arduino commands about libraries." +msgstr "" + +#: internal/cli/config/config.go:35 +msgid "Arduino configuration commands." +msgstr "" + +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 +msgid "Arduino core operations." +msgstr "" + +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 +msgid "Arguments error: %v" +msgstr "" + +#: internal/cli/board/attach.go:36 +msgid "Attaches a sketch to a board." +msgstr "" + +#: internal/cli/lib/search.go:199 +msgid "Author: %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:79 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/service_library_uninstall.go:87 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + +#: internal/cli/lib/list.go:138 +msgid "Available" +msgstr "" + +#: internal/cli/usage.go:25 +msgid "Available Commands:" +msgstr "" + +#: internal/cli/upload/upload.go:74 +msgid "Binary file to upload." +msgstr "" + +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 +msgid "Board Name" +msgstr "" + +#: internal/cli/board/details.go:139 +msgid "Board name:" +msgstr "" + +#: internal/cli/board/details.go:141 +msgid "Board version:" +msgstr "" + +#: internal/arduino/builder/sketch.go:243 +msgid "Bootloader file specified but missing: %[1]s" +msgstr "" + +#: internal/cli/compile/compile.go:98 +msgid "Builds of 'core.a' are saved into this path to be cached and reused." +msgstr "" + +#: internal/arduino/resources/index.go:65 +msgid "Can't create data directory %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:511 +msgid "Can't create sketch" +msgstr "" + +#: commands/service_library_download.go:91 +#: commands/service_library_download.go:94 +msgid "Can't download library" +msgstr "" + +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +msgid "Can't find dependencies for platform %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:537 +msgid "Can't open sketch" +msgstr "" + +#: commands/cmderrors/cmderrors.go:524 +msgid "Can't update sketch" +msgstr "" + +#: internal/cli/arguments/arguments.go:34 +msgid "Can't use the following flags together: %s" +msgstr "" + +#: internal/cli/daemon/daemon.go:112 +msgid "Can't write debug log: %s" +msgstr "" + +#: commands/service_compile.go:190 commands/service_compile.go:199 +msgid "Cannot create build cache directory" +msgstr "" + +#: commands/service_compile.go:177 +msgid "Cannot create build directory" +msgstr "" + +#: internal/cli/config/init.go:100 +msgid "Cannot create config file directory: %v" +msgstr "" + +#: internal/cli/config/init.go:124 +msgid "Cannot create config file: %v" +msgstr "" + +#: commands/cmderrors/cmderrors.go:781 +msgid "Cannot create temp dir" +msgstr "" + +#: commands/cmderrors/cmderrors.go:799 +msgid "Cannot create temp file" +msgstr "" + +#: internal/cli/config/delete.go:55 +msgid "Cannot delete the key %[1]s: %[2]v" +msgstr "" + +#: commands/service_debug_run.go:69 +msgid "Cannot execute debug tool" +msgstr "" + +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 +msgid "Cannot find absolute path: %v" +msgstr "" + +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +msgid "Cannot install platform" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +msgid "Cannot install tool %s" +msgstr "" + +#: commands/service_upload.go:532 +msgid "Cannot perform port reset: %s" +msgstr "" + +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +msgid "Cannot upgrade platform" +msgstr "" + +#: internal/cli/lib/search.go:207 +msgid "Category: %s" +msgstr "" + +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +msgid "Check dependencies status for the specified library." +msgstr "" + +#: internal/cli/debug/debug_check.go:42 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:166 +msgid "Checksum differs from checksum in package.json" +msgstr "" + +#: internal/cli/board/details.go:190 +msgid "Checksum:" +msgstr "" + +#: internal/cli/cache/cache.go:32 +msgid "Clean caches." +msgstr "" + +#: internal/cli/cli.go:181 +msgid "Comma-separated list of additional URLs for the Boards Manager." +msgstr "" + +#: internal/cli/board/list.go:56 +msgid "" +"Command keeps running and prints list of connected boards whenever there is " +"a change." +msgstr "" + +#: commands/service_debug_config.go:176 commands/service_upload.go:440 +msgid "Compiled sketch not found in %s" +msgstr "" + +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 +msgid "Compiles Arduino sketches." +msgstr "" + +#: internal/arduino/builder/builder.go:422 +msgid "Compiling core..." +msgstr "" + +#: internal/arduino/builder/builder.go:401 +msgid "Compiling libraries..." +msgstr "" + +#: internal/arduino/builder/libraries.go:133 +msgid "Compiling library \"%[1]s\"" +msgstr "" + +#: internal/arduino/builder/builder.go:385 +msgid "Compiling sketch..." +msgstr "" + +#: internal/cli/config/init.go:94 +msgid "" +"Config file already exists, use --overwrite to discard the existing one." +msgstr "" + +#: internal/cli/config/init.go:179 +msgid "Config file written to: %s" +msgstr "" + +#: internal/cli/debug/debug.go:238 +msgid "Configuration options for %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:74 +msgid "" +"Configure communication port settings. The format is " +"<ID>=<value>[,<ID>=<value>]..." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +msgid "Configuring platform." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +msgid "Configuring tool." +msgstr "" + +#: internal/cli/board/list.go:196 +msgid "Connected" +msgstr "" + +#: internal/cli/monitor/monitor.go:241 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "" + +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +msgid "Core" +msgstr "" + +#: internal/cli/configuration/network.go:103 +msgid "Could not connect via HTTP" +msgstr "" + +#: commands/instances.go:487 +msgid "Could not create index directory" +msgstr "" + +#: internal/arduino/builder/core.go:41 +msgid "Couldn't deeply cache core build: %[1]s" +msgstr "" + +#: internal/arduino/builder/sizer.go:154 +msgid "Couldn't determine program size" +msgstr "" + +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 +msgid "Couldn't get current working directory: %v" +msgstr "" + +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +msgid "Create a new Sketch" +msgstr "" + +#: internal/cli/compile/compile.go:95 +msgid "Create and print a profile configuration from the build." +msgstr "" + +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +msgid "Creates a zip file containing all sketch files." +msgstr "" + +#: internal/cli/config/init.go:46 +msgid "" +"Creates or updates the configuration file in the data directory or custom " +"directory with the current configuration settings." +msgstr "" + +#: internal/cli/compile/compile.go:327 +msgid "" +"Currently, Build Profiles only support libraries available through Arduino " +"Library Manager." +msgstr "" + +#: internal/cli/debug/debug.go:254 +msgid "Custom configuration for %s:" +msgstr "" + +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 +msgid "DEPRECATED" +msgstr "" + +#: internal/cli/daemon/daemon.go:188 +msgid "Daemon is now listening on %s:%s" +msgstr "" + +#: internal/cli/debug/debug.go:52 +msgid "Debug Arduino sketches." +msgstr "" + +#: internal/cli/debug/debug.go:53 +msgid "" +"Debug Arduino sketches. (this command opens an interactive gdb session)" +msgstr "" + +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +msgid "Debug interpreter e.g.: %s" +msgstr "" + +#: commands/service_debug_config.go:206 +msgid "Debugging not supported for board %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:297 +msgid "Default" +msgstr "" + +#: internal/cli/board/attach.go:115 +msgid "Default FQBN set to" +msgstr "" + +#: internal/cli/board/attach.go:114 +msgid "Default port set to" +msgstr "" + +#: internal/cli/board/attach.go:116 +msgid "Default programmer set to" +msgstr "" + +#: internal/cli/cache/clean.go:32 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:33 +msgid "" +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." +msgstr "" + +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +msgid "Deletes a settings key and all its sub keys." +msgstr "" + +#: internal/cli/lib/search.go:215 +msgid "Dependencies: %s" +msgstr "" + +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 +msgid "Description" +msgstr "" + +#: internal/arduino/builder/builder.go:313 +msgid "Detecting libraries used..." +msgstr "" + +#: internal/cli/board/list.go:46 +msgid "" +"Detects and displays a list of boards connected to the current computer." +msgstr "" + +#: internal/cli/debug/debug.go:67 +msgid "Directory containing binaries for debug." +msgstr "" + +#: internal/cli/upload/upload.go:73 +msgid "Directory containing binaries to upload." +msgstr "" + +#: internal/cli/generatedocs/generatedocs.go:45 +msgid "" +"Directory where to save generated files. Default is './docs', the directory " +"must exist." +msgstr "" + +#: internal/cli/completion/completion.go:44 +msgid "Disable completion description for shells that support it" +msgstr "" + +#: internal/cli/board/list.go:197 +msgid "Disconnected" +msgstr "" + +#: internal/cli/daemon/daemon.go:88 +msgid "Display only the provided gRPC calls" +msgstr "" + +#: internal/cli/lib/install.go:62 +msgid "Do not install dependencies." +msgstr "" + +#: internal/cli/lib/install.go:63 +msgid "Do not overwrite already installed libraries." +msgstr "" + +#: internal/cli/core/install.go:56 +msgid "Do not overwrite already installed platforms." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/upload/upload.go:78 +msgid "Do not perform the actual upload, just log out actions" +msgstr "" + +#: internal/cli/daemon/daemon.go:79 +msgid "Do not terminate daemon process if the parent process dies" +msgstr "" + +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/service_library_download.go:88 +msgid "Downloading %s" +msgstr "" + +#: internal/arduino/resources/index.go:137 +msgid "Downloading index signature: %s" +msgstr "" + +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 +msgid "Downloading index: %s" +msgstr "" + +#: commands/instances.go:374 +msgid "Downloading library %s" +msgstr "" + +#: commands/instances.go:53 +msgid "Downloading missing tool %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +msgid "Downloading packages" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:101 +msgid "Downloading platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:177 +msgid "Downloading tool %s" +msgstr "" + +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 +msgid "Downloads one or more cores and corresponding tool dependencies." +msgstr "" + +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 +msgid "Downloads one or more libraries without installing them." +msgstr "" + +#: internal/cli/daemon/daemon.go:82 +msgid "Enable debug logging of gRPC calls" +msgstr "" + +#: internal/cli/lib/install.go:65 +msgid "Enter a path to zip file" +msgstr "" + +#: internal/cli/lib/install.go:64 +msgid "Enter git url for libraries hosted on repositories" +msgstr "" + +#: commands/service_sketch_archive.go:105 +msgid "Error adding file to sketch archive" +msgstr "" + +#: internal/arduino/builder/core.go:169 +msgid "Error archiving built core (caching) in %[1]s: %[2]s" +msgstr "" + +#: internal/cli/sketch/archive.go:85 +msgid "Error archiving: %v" +msgstr "" + +#: commands/service_sketch_archive.go:93 +msgid "Error calculating relative file path" +msgstr "" + +#: internal/cli/cache/clean.go:48 +msgid "Error cleaning caches: %v" +msgstr "" + +#: internal/cli/compile/compile.go:216 +msgid "Error converting path to absolute: %v" +msgstr "" + +#: commands/service_compile.go:403 +msgid "Error copying output file %s" +msgstr "" + +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:43 +msgid "Error creating instance: %v" +msgstr "" + +#: commands/service_compile.go:387 +msgid "Error creating output dir" +msgstr "" + +#: commands/service_sketch_archive.go:81 +msgid "Error creating sketch archive" +msgstr "" + +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 +msgid "Error creating sketch: %v" +msgstr "" + +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +msgid "Error detecting boards: %v" +msgstr "" + +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 +msgid "Error downloading %[1]s: %[2]v" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 +msgid "Error downloading %s" +msgstr "" + +#: commands/instances.go:661 internal/arduino/resources/index.go:83 +msgid "Error downloading index '%s'" +msgstr "" + +#: internal/arduino/resources/index.go:138 +msgid "Error downloading index signature '%s'" +msgstr "" + +#: commands/instances.go:384 commands/instances.go:390 +msgid "Error downloading library %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 +msgid "Error downloading platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 +msgid "Error downloading tool %s" +msgstr "" + +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +msgid "Error during Debug: %v" +msgstr "" + +#: internal/cli/arguments/port.go:141 +msgid "Error during FQBN detection: %v" +msgstr "" + +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 +msgid "Error during JSON encoding of the output: %v" +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:76 +#: internal/cli/burnbootloader/burnbootloader.go:97 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 +#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +msgid "Error during Upload: %v" +msgstr "" + +#: internal/cli/compile/compile.go:375 +msgid "Error during build: %v" +msgstr "" + +#: internal/cli/core/install.go:81 +msgid "Error during install: %v" +msgstr "" + +#: internal/cli/core/uninstall.go:75 +msgid "Error during uninstall: %v" +msgstr "" + +#: internal/cli/core/upgrade.go:136 +msgid "Error during upgrade: %v" +msgstr "" + +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 +msgid "Error extracting %s" +msgstr "" + +#: commands/service_upload.go:437 +msgid "Error finding build artifacts" +msgstr "" + +#: internal/cli/debug/debug.go:130 +msgid "Error getting Debug info: %v" +msgstr "" + +#: commands/service_sketch_archive.go:57 +msgid "Error getting absolute path of sketch archive" +msgstr "" + +#: internal/cli/board/details.go:74 +msgid "Error getting board details: %v" +msgstr "" + +#: internal/arduino/builder/internal/compilation/database.go:82 +msgid "Error getting current directory for compilation database: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:108 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/service_compile.go:326 commands/service_library_list.go:115 +msgid "Error getting information for library %s" +msgstr "" + +#: internal/cli/lib/examples.go:75 +msgid "Error getting libraries info: %v" +msgstr "" + +#: internal/cli/arguments/fqbn.go:92 +msgid "Error getting port metadata: %v" +msgstr "" + +#: internal/cli/monitor/monitor.go:153 +msgid "Error getting port settings details: %s" +msgstr "" + +#: internal/cli/upload/upload.go:166 +msgid "Error getting user input" +msgstr "" + +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 +msgid "Error initializing instance: %v" +msgstr "" + +#: internal/cli/lib/install.go:148 +msgid "Error installing %s: %v" +msgstr "" + +#: internal/cli/lib/install.go:122 +msgid "Error installing Git Library: %v" +msgstr "" + +#: internal/cli/lib/install.go:100 +msgid "Error installing Zip Library: %v" +msgstr "" + +#: commands/instances.go:400 +msgid "Error installing library %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 +msgid "Error installing platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 +msgid "Error installing tool %s" +msgstr "" + +#: internal/cli/board/listall.go:66 +msgid "Error listing boards: %v" +msgstr "" + +#: internal/cli/lib/list.go:91 +msgid "Error listing libraries: %v" +msgstr "" + +#: internal/cli/core/list.go:69 +msgid "Error listing platforms: %v" +msgstr "" + +#: commands/cmderrors/cmderrors.go:424 +msgid "Error loading hardware platform" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 +msgid "Error loading index %s" +msgstr "" + +#: internal/arduino/resources/index.go:99 +msgid "Error opening %s" +msgstr "" + +#: internal/cli/daemon/daemon.go:106 +msgid "Error opening debug logging file: %s" +msgstr "" + +#: internal/cli/compile/compile.go:189 +msgid "Error opening source code overrides data file: %v" +msgstr "" + +#: internal/cli/compile/compile.go:202 +msgid "Error parsing --show-properties flag: %v" +msgstr "" + +#: commands/service_compile.go:396 +msgid "Error reading build directory" +msgstr "" + +#: commands/service_sketch_archive.go:75 +msgid "Error reading sketch files" +msgstr "" + +#: internal/cli/lib/check_deps.go:72 +msgid "Error resolving dependencies for %[1]s: %[2]s" +msgstr "" + +#: internal/cli/core/upgrade.go:68 +msgid "Error retrieving core list: %v" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +msgid "Error rolling-back changes: %s" +msgstr "" + +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 +msgid "Error saving downloaded index" +msgstr "" + +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 +msgid "Error saving downloaded index signature" +msgstr "" + +#: internal/cli/board/search.go:63 +msgid "Error searching boards: %v" +msgstr "" + +#: internal/cli/lib/search.go:126 +msgid "Error searching for Libraries: %v" +msgstr "" + +#: internal/cli/core/search.go:82 +msgid "Error searching for platforms: %v" +msgstr "" + +#: internal/arduino/builder/internal/compilation/database.go:67 +msgid "Error serializing compilation database: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:219 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:86 +msgid "Error starting discovery: %v" +msgstr "" + +#: internal/cli/lib/uninstall.go:67 +msgid "Error uninstalling %[1]s: %[2]v" +msgstr "" + +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 +msgid "Error updating library index: %v" +msgstr "" + +#: internal/cli/lib/upgrade.go:75 +msgid "Error upgrading libraries" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +msgid "Error upgrading platform: %s" +msgstr "" + +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 +msgid "Error verifying signature" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:369 +msgid "Error while detecting libraries included by %[1]s" +msgstr "" + +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 +msgid "Error while determining sketch size: %s" +msgstr "" + +#: internal/arduino/builder/internal/compilation/database.go:70 +msgid "Error writing compilation database: %s" +msgstr "" + +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 +msgid "Error writing to file: %v" +msgstr "" + +#: internal/cli/completion/completion.go:56 +msgid "Error: command description is not supported by %v" +msgstr "" + +#: internal/cli/compile/compile.go:195 +msgid "Error: invalid source code overrides data file: %v" +msgstr "" + +#: internal/cli/board/list.go:102 +msgid "Event" +msgstr "" + +#: internal/cli/lib/examples.go:123 +msgid "Examples for library %s" +msgstr "" + +#: internal/cli/usage.go:24 +msgid "Examples:" +msgstr "" + +#: internal/cli/debug/debug.go:221 +msgid "Executable to debug" +msgstr "" + +#: commands/service_debug_config.go:179 commands/service_upload.go:443 +msgid "Expected compiled sketch in directory %s, but is a file instead" +msgstr "" + +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 +msgid "FQBN" +msgstr "" + +#: internal/cli/board/details.go:140 +msgid "FQBN:" +msgstr "" + +#: commands/service_upload.go:566 +msgid "Failed chip erase" +msgstr "" + +#: commands/service_upload.go:573 +msgid "Failed programming" +msgstr "" + +#: commands/service_upload.go:569 +msgid "Failed to burn bootloader" +msgstr "" + +#: commands/instances.go:90 +msgid "Failed to create data directory" +msgstr "" + +#: commands/instances.go:79 +msgid "Failed to create downloads directory" +msgstr "" + +#: internal/cli/daemon/daemon.go:143 +msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." +msgstr "" + +#: internal/cli/daemon/daemon.go:138 +msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." +msgstr "" + +#: internal/cli/daemon/daemon.go:150 +msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" +msgstr "" + +#: internal/cli/daemon/daemon.go:148 +msgid "Failed to listen on TCP port: %s. Address already in use." +msgstr "" + +#: commands/service_upload.go:577 +msgid "Failed uploading" +msgstr "" + +#: internal/cli/board/details.go:188 +msgid "File:" +msgstr "" + +#: commands/service_compile.go:160 +msgid "" +"Firmware encryption/signing requires all the following properties to be " +"defined: %s" +msgstr "" + +#: commands/service_debug.go:40 +msgid "First message must contain debug request, not data" +msgstr "" + +#: internal/cli/arguments/arguments.go:45 +msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" +msgstr "" + +#: internal/cli/usage.go:26 +msgid "Flags:" +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:38 +msgid "" +"Force run of post-install scripts (if the CLI is not running interactively)." +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:40 +msgid "" +"Force run of pre-uninstall scripts (if the CLI is not running " +"interactively)." +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:39 +msgid "" +"Force skip of post-install scripts (if the CLI is running interactively)." +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:41 +msgid "" +"Force skip of pre-uninstall scripts (if the CLI is running interactively)." +msgstr "" + +#: commands/cmderrors/cmderrors.go:839 +msgid "Found %d platforms matching \"%s\": %s" +msgstr "" + +#: internal/cli/arguments/fqbn.go:39 +msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" +msgstr "" + +#: commands/service_debug_run.go:188 +msgid "GDB server '%s' is not supported" +msgstr "" + +#: internal/cli/generatedocs/generatedocs.go:38 +#: internal/cli/generatedocs/generatedocs.go:39 +msgid "Generates bash completion and command manpages." +msgstr "" + +#: internal/cli/completion/completion.go:38 +msgid "Generates completion scripts" +msgstr "" + +#: internal/cli/completion/completion.go:39 +msgid "Generates completion scripts for various shells" +msgstr "" + +#: internal/arduino/builder/builder.go:333 +msgid "Generating function prototypes..." +msgstr "" + +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 +msgid "Gets a settings key value." +msgstr "" + +#: internal/cli/usage.go:27 +msgid "Global Flags:" +msgstr "" + +#: internal/arduino/builder/sizer.go:164 +msgid "" +"Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " +"bytes for local variables. Maximum is %[2]s bytes." +msgstr "" + +#: internal/arduino/builder/sizer.go:170 +msgid "Global variables use %[1]s bytes of dynamic memory." +msgstr "" + +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 +msgid "ID" +msgstr "" + +#: internal/cli/board/details.go:111 +msgid "Id" +msgstr "" + +#: internal/cli/board/details.go:154 +msgid "Identification properties:" +msgstr "" + +#: internal/cli/compile/compile.go:128 +msgid "If set built binaries will be exported to the sketch folder." +msgstr "" + +#: internal/cli/core/list.go:46 +msgid "" +"If set return all installable and installed cores, including manually " +"installed." +msgstr "" + +#: internal/cli/lib/list.go:55 +msgid "Include built-in libraries (from platforms and IDE) in listing." +msgstr "" + +#: internal/cli/sketch/archive.go:51 +msgid "Includes %s directory in the archive." +msgstr "" + +#: internal/cli/lib/install.go:66 +msgid "Install libraries in the IDE-Builtin directory" +msgstr "" + +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 +msgid "Installed" +msgstr "" + +#: commands/service_library_install.go:200 +msgid "Installed %s" +msgstr "" + +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +msgid "Installing %s" +msgstr "" + +#: commands/instances.go:398 +msgid "Installing library %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 +msgid "Installing platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:185 +msgid "Installing tool %s" +msgstr "" + +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 +msgid "Installs one or more cores and corresponding tool dependencies." +msgstr "" + +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 +msgid "Installs one or more specified libraries into the system." +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:394 +msgid "Internal error in cache" +msgstr "" + +#: commands/cmderrors/cmderrors.go:377 +msgid "Invalid '%[1]s' property: %[2]s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:60 +msgid "Invalid FQBN" +msgstr "" + +#: internal/cli/daemon/daemon.go:161 +msgid "Invalid TCP address: port is missing" +msgstr "" + +#: commands/cmderrors/cmderrors.go:78 +msgid "Invalid URL" +msgstr "" + +#: commands/instances.go:186 +msgid "Invalid additional URL: %v" +msgstr "" + +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" +msgstr "" + +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 +msgid "Invalid argument passed: %v" +msgstr "" + +#: commands/service_compile.go:270 +msgid "Invalid build properties" +msgstr "" + +#: internal/arduino/builder/sizer.go:250 +msgid "Invalid data size regexp: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:256 +msgid "Invalid eeprom size regexp: %s" +msgstr "" + +#: commands/instances.go:597 +msgid "Invalid index URL: %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:46 +msgid "Invalid instance" +msgstr "" + +#: internal/cli/core/upgrade.go:114 +msgid "Invalid item %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:96 +msgid "Invalid library" +msgstr "" + +#: internal/cli/cli.go:262 +msgid "Invalid logging level: %s" +msgstr "" + +#: commands/instances.go:614 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:66 +msgid "Invalid network.proxy '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/cli.go:219 +msgid "Invalid output format: %s" +msgstr "" + +#: commands/instances.go:581 +msgid "Invalid package index in %s" +msgstr "" + +#: internal/cli/core/uninstall.go:63 +msgid "Invalid parameter %s: version not allowed" +msgstr "" + +#: commands/service_board_list.go:81 +msgid "Invalid pid value: '%s'" +msgstr "" + +#: commands/cmderrors/cmderrors.go:220 +msgid "Invalid profile" +msgstr "" + +#: commands/service_monitor.go:269 +msgid "Invalid recipe in platform.txt" +msgstr "" + +#: internal/arduino/builder/sizer.go:240 +msgid "Invalid size regexp: %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:114 +msgid "Invalid version" +msgstr "" + +#: commands/service_board_list.go:78 +msgid "Invalid vid value: '%s'" +msgstr "" + +#: internal/cli/compile/compile.go:125 +msgid "" +"Just produce the compilation database, without actually compiling. All build" +" commands are skipped except pre* hooks." +msgstr "" + +#: internal/cli/lib/list.go:39 +msgid "LIBNAME" +msgstr "" + +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 +msgid "LIBRARY" +msgstr "" + +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 +msgid "LIBRARY_NAME" +msgstr "" + +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 +msgid "Latest" +msgstr "" + +#: internal/arduino/builder/libraries.go:91 +msgid "Library %[1]s has been declared precompiled:" +msgstr "" + +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 +msgid "" +"Library %[1]s is already installed, but with a different version: %[2]s" +msgstr "" + +#: commands/service_library_upgrade.go:137 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/service_library_uninstall.go:63 +msgid "Library %s is not installed" +msgstr "" + +#: commands/instances.go:377 +msgid "Library %s not found" +msgstr "" + +#: commands/cmderrors/cmderrors.go:445 +msgid "Library '%s' not found" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:471 +msgid "" +"Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." +msgstr "" + +#: commands/cmderrors/cmderrors.go:574 +msgid "Library install failed" +msgstr "" + +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 +msgid "Library installed" +msgstr "" + +#: internal/cli/lib/search.go:205 +msgid "License: %s" +msgstr "" + +#: internal/arduino/builder/builder.go:438 +msgid "Linking everything together..." +msgstr "" + +#: internal/cli/board/listall.go:40 +msgid "" +"List all boards that have the support platform installed. You can search\n" +"for a specific board if you specify the board name" +msgstr "" + +#: internal/cli/board/listall.go:39 +msgid "List all known boards and their corresponding FQBN." +msgstr "" + +#: internal/cli/board/list.go:45 +msgid "List connected boards." +msgstr "" + +#: internal/cli/arguments/fqbn.go:44 +msgid "" +"List of board options separated by commas. Or can be used multiple times for" +" multiple options." +msgstr "" + +#: internal/cli/compile/compile.go:103 +msgid "" +"List of custom build properties separated by commas. Or can be used multiple" +" times for multiple properties." +msgstr "" + +#: internal/cli/lib/list.go:57 +msgid "List updatable libraries." +msgstr "" + +#: internal/cli/core/list.go:45 +msgid "List updatable platforms." +msgstr "" + +#: internal/cli/board/board.go:32 +msgid "Lists all connected boards." +msgstr "" + +#: internal/cli/outdated/outdated.go:41 +msgid "Lists cores and libraries that can be upgraded" +msgstr "" + +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 +msgid "Loading index file: %v" +msgstr "" + +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 +msgid "Location" +msgstr "" + +#: internal/arduino/builder/sizer.go:205 +msgid "Low memory available, stability problems may occur." +msgstr "" + +#: internal/cli/lib/search.go:200 +msgid "Maintainer: %s" +msgstr "" + +#: internal/cli/compile/compile.go:133 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + +#: internal/cli/arguments/discovery_timeout.go:32 +msgid "Max time to wait for port discovery, e.g.: 30s, 1m" +msgstr "" + +#: internal/cli/cli.go:170 +msgid "" +"Messages with this level and above will be logged. Valid levels are: %s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:466 +msgid "Missing '%[1]s' from library in %[2]s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:169 +msgid "Missing FQBN (Fully Qualified Board Name)" +msgstr "" + +#: commands/cmderrors/cmderrors.go:260 +msgid "Missing port" +msgstr "" + +#: commands/cmderrors/cmderrors.go:236 +msgid "Missing port address" +msgstr "" + +#: commands/cmderrors/cmderrors.go:248 +msgid "Missing port protocol" +msgstr "" + +#: commands/cmderrors/cmderrors.go:286 +msgid "Missing programmer" +msgstr "" + +#: internal/cli/upload/upload.go:159 +msgid "Missing required upload field: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:244 +msgid "Missing size regexp" +msgstr "" + +#: commands/cmderrors/cmderrors.go:497 +msgid "Missing sketch path" +msgstr "" + +#: commands/cmderrors/cmderrors.go:358 +msgid "Monitor '%s' not found" +msgstr "" + +#: internal/cli/monitor/monitor.go:200 +msgid "Monitor port settings:" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:156 +msgid "Multiple libraries were found for \"%[1]s\"" +msgstr "" + +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 +msgid "Name" +msgstr "" + +#: internal/cli/lib/search.go:179 +msgid "Name: \"%s\"" +msgstr "" + +#: internal/cli/upload/upload.go:234 +msgid "New upload port: %[1]s (%[2]s)" +msgstr "" + +#: internal/cli/board/list.go:130 +msgid "No boards found." +msgstr "" + +#: internal/cli/board/attach.go:112 +msgid "No default port, FQBN or programmer set" +msgstr "" + +#: internal/cli/lib/examples.go:108 +msgid "No libraries found." +msgstr "" + +#: internal/cli/lib/list.go:130 +msgid "No libraries installed." +msgstr "" + +#: internal/cli/lib/search.go:168 +msgid "No libraries matching your search." +msgstr "" + +#: internal/cli/lib/search.go:174 +msgid "" +"No libraries matching your search.\n" +"Did you mean...\n" +msgstr "" + +#: internal/cli/lib/list.go:128 +msgid "No libraries update is available." +msgstr "" + +#: commands/cmderrors/cmderrors.go:274 +msgid "No monitor available for the port protocol %s" +msgstr "" + +#: internal/cli/outdated/outdated.go:95 +msgid "No outdated platforms or libraries found." +msgstr "" + +#: internal/cli/core/list.go:114 +msgid "No platforms installed." +msgstr "" + +#: internal/cli/core/search.go:113 +msgid "No platforms matching your search." +msgstr "" + +#: commands/service_upload.go:522 +msgid "No upload port found, using %s as fallback" +msgstr "" + +#: commands/cmderrors/cmderrors.go:464 +msgid "No valid dependencies solution found" +msgstr "" + +#: internal/arduino/builder/sizer.go:195 +msgid "Not enough memory; see %[1]s for tips on reducing your footprint." +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:159 +msgid "Not used: %[1]s" +msgstr "" + +#: internal/cli/board/details.go:187 +msgid "OS:" +msgstr "" + +#: internal/cli/board/details.go:145 +msgid "Official Arduino board:" +msgstr "" + +#: internal/cli/lib/search.go:98 +msgid "" +"Omit library details far all versions except the latest (produce a more " +"compact JSON output)." +msgstr "" + +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +msgid "Open a communication port with a board." +msgstr "" + +#: internal/cli/board/details.go:200 +msgid "Option:" +msgstr "" + +#: internal/cli/compile/compile.go:113 +msgid "" +"Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." +msgstr "" + +#: internal/cli/compile/compile.go:126 +msgid "Optional, cleanup the build folder and do not use any cached build." +msgstr "" + +#: internal/cli/compile/compile.go:123 +msgid "" +"Optional, optimize compile output for debugging, rather than for release." +msgstr "" + +#: internal/cli/compile/compile.go:115 +msgid "Optional, suppresses almost every output." +msgstr "" + +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +msgid "Optional, turns on verbose mode." +msgstr "" + +#: internal/cli/compile/compile.go:129 +msgid "" +"Optional. Path to a .json file that contains a set of replacements of the " +"sketch source code." +msgstr "" + +#: internal/cli/compile/compile.go:105 +msgid "" +"Override a build property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/config/init.go:62 +msgid "Overwrite existing config file." +msgstr "" + +#: internal/cli/sketch/archive.go:52 +msgid "Overwrites an already existing archive" +msgstr "" + +#: internal/cli/sketch/new.go:46 +msgid "Overwrites an existing .ino sketch." +msgstr "" + +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 +msgid "PACKAGER" +msgstr "" + +#: internal/cli/board/details.go:165 +msgid "Package URL:" +msgstr "" + +#: internal/cli/board/details.go:164 +msgid "Package maintainer:" +msgstr "" + +#: internal/cli/board/details.go:163 +msgid "Package name:" +msgstr "" + +#: internal/cli/board/details.go:167 +msgid "Package online help:" +msgstr "" + +#: internal/cli/board/details.go:166 +msgid "Package website:" +msgstr "" + +#: internal/cli/lib/search.go:202 +msgid "Paragraph: %s" +msgstr "" + +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +msgid "Path" +msgstr "" + +#: internal/cli/compile/compile.go:122 +msgid "" +"Path to a collection of libraries. Can be used multiple times or entries can" +" be comma separated." +msgstr "" + +#: internal/cli/compile/compile.go:120 +msgid "" +"Path to a single library’s root folder. Can be used multiple times or " +"entries can be comma separated." +msgstr "" + +#: internal/cli/cli.go:172 +msgid "Path to the file where logs will be written." +msgstr "" + +#: internal/cli/compile/compile.go:101 +msgid "" +"Path where to save compiled files. If omitted, a directory will be created " +"in the default temporary path of your OS." +msgstr "" + +#: commands/service_upload.go:503 +msgid "Performing 1200-bps touch reset on serial port %s" +msgstr "" + +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 +msgid "Platform %s already installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +msgid "Platform %s installed" +msgstr "" + +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +msgid "" +"Platform %s is not found in any known index\n" +"Maybe you need to add a 3rd party URL?" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +msgid "Platform %s uninstalled" +msgstr "" + +#: commands/cmderrors/cmderrors.go:482 +msgid "Platform '%s' is already at the latest version" +msgstr "" + +#: commands/cmderrors/cmderrors.go:406 +msgid "Platform '%s' not found" +msgstr "" + +#: internal/cli/board/search.go:85 +msgid "Platform ID" +msgstr "" + +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +msgid "Platform ID is not correct" +msgstr "" + +#: internal/cli/board/details.go:173 +msgid "Platform URL:" +msgstr "" + +#: internal/cli/board/details.go:172 +msgid "Platform architecture:" +msgstr "" + +#: internal/cli/board/details.go:171 +msgid "Platform category:" +msgstr "" + +#: internal/cli/board/details.go:178 +msgid "Platform checksum:" +msgstr "" + +#: internal/cli/board/details.go:174 +msgid "Platform file name:" +msgstr "" + +#: internal/cli/board/details.go:170 +msgid "Platform name:" +msgstr "" + +#: internal/cli/board/details.go:176 +msgid "Platform size (bytes):" +msgstr "" + +#: commands/cmderrors/cmderrors.go:153 +msgid "" +"Please specify an FQBN. Multiple possible boards detected on port %[1]s with" +" protocol %[2]s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:133 +msgid "" +"Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" +" identified" +msgstr "" + +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +msgid "Port" +msgstr "" + +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +msgid "Port closed: %v" +msgstr "" + +#: commands/cmderrors/cmderrors.go:668 +msgid "Port monitor error" +msgstr "" + +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 +msgid "Precompiled library in \"%[1]s\" not found" +msgstr "" + +#: internal/cli/board/details.go:42 +msgid "Print details about a board." +msgstr "" + +#: internal/cli/compile/compile.go:97 +msgid "Print preprocessed code to stdout instead of compiling." +msgstr "" + +#: internal/cli/cli.go:166 internal/cli/cli.go:168 +msgid "Print the logs on the standard output." +msgstr "" + +#: internal/cli/cli.go:180 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:31 +msgid "Prints the current configuration" +msgstr "" + +#: internal/cli/config/dump.go:32 +msgid "Prints the current configuration." +msgstr "" + +#: commands/cmderrors/cmderrors.go:202 +msgid "Profile '%s' not found" +msgstr "" + +#: commands/cmderrors/cmderrors.go:339 +msgid "Programmer '%s' not found" +msgstr "" + +#: internal/cli/board/details.go:111 +msgid "Programmer name" +msgstr "" + +#: internal/cli/arguments/programmer.go:35 +msgid "Programmer to use, e.g: atmel_ice" +msgstr "" + +#: internal/cli/board/details.go:216 +msgid "Programmers:" +msgstr "" + +#: commands/cmderrors/cmderrors.go:391 +msgid "Property '%s' is undefined" +msgstr "" + +#: internal/cli/board/list.go:140 +msgid "Protocol" +msgstr "" + +#: internal/cli/lib/search.go:212 +msgid "Provides includes: %s" +msgstr "" + +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 +msgid "Removes one or more values from a setting." +msgstr "" + +#: commands/service_library_install.go:187 +msgid "Replacing %[1]s with %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +msgid "Replacing platform %[1]s with %[2]s" +msgstr "" + +#: internal/cli/board/details.go:184 +msgid "Required tool:" +msgstr "" + +#: internal/cli/monitor/monitor.go:75 +msgid "Run in silent mode, show only monitor input and output." +msgstr "" + +#: internal/cli/daemon/daemon.go:50 +msgid "Run the Arduino CLI as a gRPC daemon." +msgstr "" + +#: internal/arduino/builder/core.go:42 +msgid "Running normal build of the core..." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +msgid "Running pre_uninstall script." +msgstr "" + +#: internal/cli/lib/search.go:39 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:226 +msgid "SVD file path" +msgstr "" + +#: internal/cli/compile/compile.go:99 +msgid "Save build artifacts in this directory." +msgstr "" + +#: internal/cli/board/search.go:39 +msgid "Search for a board in the Boards Manager using the specified keywords." +msgstr "" + +#: internal/cli/board/search.go:38 +msgid "Search for a board in the Boards Manager." +msgstr "" + +#: internal/cli/core/search.go:41 +msgid "Search for a core in Boards Manager using the specified keywords." +msgstr "" + +#: internal/cli/core/search.go:40 +msgid "Search for a core in Boards Manager." +msgstr "" + +#: internal/cli/lib/search.go:41 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" +msgstr "" + +#: internal/cli/lib/search.go:40 +msgid "Searches for one or more libraries matching a query." +msgstr "" + +#: internal/cli/lib/search.go:201 +msgid "Sentence: %s" +msgstr "" + +#: internal/cli/debug/debug.go:234 +msgid "Server path" +msgstr "" + +#: internal/arduino/httpclient/httpclient.go:61 +msgid "Server responded with: %s" +msgstr "" + +#: internal/cli/debug/debug.go:233 +msgid "Server type" +msgstr "" + +#: internal/cli/upload/upload.go:80 +msgid "Set a value for a field required to upload." +msgstr "" + +#: internal/cli/monitor/monitor.go:72 +msgid "Set terminal in raw mode (unbuffered)." +msgstr "" + +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 +msgid "Sets a setting value." +msgstr "" + +#: internal/cli/board/attach.go:37 +msgid "" +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." +msgstr "" + +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 +msgid "Sets where to save the configuration file." +msgstr "" + +#: internal/cli/monitor/monitor.go:297 +msgid "Setting" +msgstr "" + +#: internal/cli/cli.go:101 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "" + +#: internal/cli/core/search.go:48 +msgid "Show all available core versions." +msgstr "" + +#: internal/cli/monitor/monitor.go:73 +msgid "Show all the settings of the communication port." +msgstr "" + +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 +msgid "Show also boards marked as 'hidden' in the platform" +msgstr "" + +#: internal/cli/arguments/show_properties.go:60 +msgid "" +"Show build properties. The properties are expanded, use \"--show-" +"properties=unexpanded\" if you want them exactly as they are defined." +msgstr "" + +#: internal/cli/board/details.go:52 +msgid "Show full board details" +msgstr "" + +#: internal/cli/board/details.go:43 +msgid "" +"Show information about a board, in particular if the board has options to be" +" specified in the FQBN." +msgstr "" + +#: internal/cli/lib/search.go:97 +msgid "Show library names only." +msgstr "" + +#: internal/cli/board/details.go:53 +msgid "Show list of available programmers" +msgstr "" + +#: internal/cli/debug/debug.go:68 +msgid "" +"Show metadata about the debug session instead of starting the debugger." +msgstr "" + +#: internal/cli/update/update.go:45 +msgid "Show outdated cores and libraries after index update" +msgstr "" + +#: internal/cli/lib/list.go:40 +msgid "Shows a list of installed libraries." +msgstr "" + +#: internal/cli/lib/list.go:41 +msgid "" +"Shows a list of installed libraries.\n" +"\n" +"If the LIBNAME parameter is specified the listing is limited to that specific\n" +"library. By default the libraries provided as built-in by platforms/core are\n" +"not listed, they can be listed by adding the --all flag." +msgstr "" + +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 +msgid "Shows the list of installed platforms." +msgstr "" + +#: internal/cli/lib/examples.go:44 +msgid "Shows the list of the examples for libraries." +msgstr "" + +#: internal/cli/lib/examples.go:45 +msgid "" +"Shows the list of the examples for libraries. A name may be given as " +"argument to search a specific library." +msgstr "" + +#: internal/cli/version/version.go:37 +msgid "" +"Shows the version number of Arduino CLI which is installed on your system." +msgstr "" + +#: internal/cli/version/version.go:36 +msgid "Shows version number of Arduino CLI." +msgstr "" + +#: internal/cli/board/details.go:189 +msgid "Size (bytes):" +msgstr "" + +#: commands/service_compile.go:274 +msgid "" +"Sketch cannot be located in build path. Please specify a different build " +"path" +msgstr "" + +#: internal/cli/sketch/new.go:98 +msgid "Sketch created in: %s" +msgstr "" + +#: internal/cli/arguments/profiles.go:33 +msgid "Sketch profile to use" +msgstr "" + +#: internal/arduino/builder/sizer.go:190 +msgid "Sketch too big; see %[1]s for tips on reducing it." +msgstr "" + +#: internal/arduino/builder/sizer.go:158 +msgid "" +"Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" +" bytes." +msgstr "" + +#: internal/cli/feedback/warn_deprecated.go:39 +msgid "" +"Sketches with .pde extension are deprecated, please rename the following " +"files to .ino:" +msgstr "" + +#: internal/arduino/builder/linker.go:30 +msgid "Skip linking of final executable." +msgstr "" + +#: commands/service_upload.go:496 +msgid "Skipping 1200-bps touch reset: no serial port selected!" +msgstr "" + +#: internal/arduino/builder/archive_compiled_files.go:27 +msgid "Skipping archive creation of: %[1]s" +msgstr "" + +#: internal/arduino/builder/compilation.go:183 +msgid "Skipping compile of: %[1]s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:414 +msgid "Skipping dependencies detection for precompiled library %[1]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +msgid "Skipping platform configuration." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +msgid "Skipping pre_uninstall script." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +msgid "Skipping tool configuration." +msgstr "" + +#: internal/arduino/builder/recipe.go:48 +msgid "Skipping: %[1]s" +msgstr "" + +#: commands/instances.go:634 +msgid "Some indexes could not be updated." +msgstr "" + +#: internal/cli/core/upgrade.go:141 +msgid "Some upgrades failed, please check the output for details." +msgstr "" + +#: internal/cli/daemon/daemon.go:76 +msgid "The TCP port the daemon will listen to" +msgstr "" + +#: internal/cli/cli.go:177 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:186 +msgid "The custom config file (if not specified the default will be used)." +msgstr "" + +#: internal/cli/daemon/daemon.go:98 +msgid "The flag --debug-file must be used with --debug." +msgstr "" + +#: internal/cli/debug/debug_check.go:89 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:87 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: commands/cmderrors/cmderrors.go:876 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:57 +msgid "" +"The key '%[1]v' is not a list of items, can't add to it.\n" +"Maybe use '%[2]s'?" +msgstr "" + +#: internal/cli/config/remove.go:57 +msgid "" +"The key '%[1]v' is not a list of items, can't remove from it.\n" +"Maybe use '%[2]s'?" +msgstr "" + +#: commands/cmderrors/cmderrors.go:858 +msgid "The library %s has multiple installations:" +msgstr "" + +#: internal/cli/compile/compile.go:111 +msgid "" +"The name of the custom encryption key to use to encrypt a binary during the " +"compile process. Used only by the platforms that support it." +msgstr "" + +#: internal/cli/compile/compile.go:109 +msgid "" +"The name of the custom signing key to use to sign a binary during the " +"compile process. Used only by the platforms that support it." +msgstr "" + +#: internal/cli/cli.go:174 +msgid "The output format for the logs, can be: %s" +msgstr "" + +#: internal/cli/compile/compile.go:107 +msgid "" +"The path of the dir to search for the custom keys to sign and encrypt a " +"binary. Used only by the platforms that support it." +msgstr "" + +#: internal/arduino/builder/libraries.go:151 +msgid "The platform does not support '%[1]s' for precompiled libraries." +msgstr "" + +#: internal/cli/lib/upgrade.go:36 +msgid "" +"This command upgrades an installed library to the latest available version. " +"Multiple libraries can be passed separated by a space. If no arguments are " +"provided, the command will upgrade all the installed libraries where an " +"update is available." +msgstr "" + +#: internal/cli/outdated/outdated.go:42 +msgid "" +"This commands shows a list of installed cores and/or libraries\n" +"that can be upgraded. If nothing needs to be updated the output is empty." +msgstr "" + +#: internal/cli/monitor/monitor.go:76 +msgid "Timestamp each incoming line." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +msgid "Tool %s already installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +msgid "Tool %s uninstalled" +msgstr "" + +#: commands/service_debug_run.go:144 +msgid "Toolchain '%s' is not supported" +msgstr "" + +#: internal/cli/debug/debug.go:223 +msgid "Toolchain path" +msgstr "" + +#: internal/cli/debug/debug.go:224 +msgid "Toolchain prefix" +msgstr "" + +#: internal/cli/debug/debug.go:222 +msgid "Toolchain type" +msgstr "" + +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +msgid "Try running %s" +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +msgid "Turns on verbose mode." +msgstr "" + +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +msgid "Type" +msgstr "" + +#: internal/cli/lib/search.go:209 +msgid "Types: %s" +msgstr "" + +#: internal/cli/board/details.go:191 +msgid "URL:" +msgstr "" + +#: internal/arduino/builder/core.go:165 +msgid "" +"Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" +msgstr "" + +#: internal/cli/configuration/configuration.go:86 +msgid "Unable to get Documents Folder: %v" +msgstr "" + +#: internal/cli/configuration/configuration.go:61 +msgid "Unable to get Local App Data Folder: %v" +msgstr "" + +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 +msgid "Unable to get user home dir: %v" +msgstr "" + +#: internal/cli/cli.go:249 +msgid "Unable to open file for logging: %s" +msgstr "" + +#: commands/instances.go:563 +msgid "Unable to parse URL" +msgstr "" + +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +msgid "Uninstalling %s" +msgstr "" + +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +msgid "Uninstalling %s, tool is no more required" +msgstr "" + +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 +msgid "" +"Uninstalls one or more cores and corresponding tool dependencies if no " +"longer used." +msgstr "" + +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 +msgid "Uninstalls one or more libraries." +msgstr "" + +#: internal/cli/board/list.go:172 +msgid "Unknown" +msgstr "" + +#: commands/cmderrors/cmderrors.go:183 +msgid "Unknown FQBN" +msgstr "" + +#: internal/cli/update/update.go:37 +msgid "Updates the index of cores and libraries" +msgstr "" + +#: internal/cli/update/update.go:38 +msgid "Updates the index of cores and libraries to the latest versions." +msgstr "" + +#: internal/cli/core/update_index.go:36 +msgid "Updates the index of cores to the latest version." +msgstr "" + +#: internal/cli/core/update_index.go:35 +msgid "Updates the index of cores." +msgstr "" + +#: internal/cli/lib/update_index.go:36 +msgid "Updates the libraries index to the latest version." +msgstr "" + +#: internal/cli/lib/update_index.go:35 +msgid "Updates the libraries index." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +msgid "Upgrade doesn't accept parameters with version" +msgstr "" + +#: internal/cli/upgrade/upgrade.go:38 +msgid "Upgrades installed cores and libraries to latest version." +msgstr "" + +#: internal/cli/upgrade/upgrade.go:37 +msgid "Upgrades installed cores and libraries." +msgstr "" + +#: internal/cli/lib/upgrade.go:35 +msgid "Upgrades installed libraries." +msgstr "" + +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 +msgid "Upgrades one or all installed platforms to the latest version." +msgstr "" + +#: internal/cli/upload/upload.go:56 +msgid "Upload Arduino sketches." +msgstr "" + +#: internal/cli/upload/upload.go:57 +msgid "" +"Upload Arduino sketches. This does NOT compile the sketch prior to upload." +msgstr "" + +#: internal/cli/arguments/port.go:44 +msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" +msgstr "" + +#: commands/service_upload.go:520 +msgid "Upload port found on %s" +msgstr "" + +#: internal/cli/arguments/port.go:48 +msgid "Upload port protocol, e.g: serial" +msgstr "" + +#: internal/cli/compile/compile.go:116 +msgid "Upload the binary after the compilation." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:49 +msgid "Upload the bootloader on the board using an external programmer." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:48 +msgid "Upload the bootloader." +msgstr "" + +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +msgid "" +"Uploading to specified board using %s protocol requires the following info:" +msgstr "" + +#: internal/cli/config/init.go:160 +msgid "" +"Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" +"%s" +msgstr "" + +#: internal/cli/usage.go:22 +msgid "Usage:" +msgstr "" + +#: internal/cli/usage.go:29 +msgid "Use %s for more information about a command." +msgstr "" + +#: internal/cli/compile/compile.go:448 +msgid "Used library" +msgstr "" + +#: internal/cli/compile/compile.go:463 +msgid "Used platform" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:157 +msgid "Used: %[1]s" +msgstr "" + +#: commands/service_compile.go:349 +msgid "Using board '%[1]s' from platform in folder: %[2]s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:351 +msgid "Using cached library dependencies for file: %[1]s" +msgstr "" + +#: commands/service_compile.go:350 +msgid "Using core '%[1]s' from platform in folder: %[2]s" +msgstr "" + +#: internal/arduino/builder/libraries.go:312 +msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" +msgstr "" + +#: internal/arduino/builder/libraries.go:306 +msgid "Using library %[1]s in folder: %[2]s %[3]s" +msgstr "" + +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +msgid "Using precompiled core: %[1]s" +msgstr "" + +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 +msgid "Using precompiled library in %[1]s" +msgstr "" + +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 +msgid "Using previously compiled file: %[1]s" +msgstr "" + +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +msgid "VERSION" +msgstr "" + +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 +msgid "VERSION_NUMBER" +msgstr "" + +#: internal/cli/monitor/monitor.go:297 +msgid "Values" +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:60 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +msgid "Verify uploaded binary after the upload." +msgstr "" + +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 +msgid "Version" +msgstr "" + +#: internal/cli/lib/search.go:210 +msgid "Versions: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +msgid "WARNING cannot configure platform: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +msgid "WARNING cannot configure tool: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +msgid "WARNING cannot run pre_uninstall script: %s" +msgstr "" + +#: internal/cli/compile/compile.go:326 +msgid "WARNING: The sketch is compiled using one or more custom libraries." +msgstr "" + +#: internal/arduino/builder/libraries.go:283 +msgid "" +"WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " +"incompatible with your current board which runs on %[3]s architecture(s)." +msgstr "" + +#: commands/service_upload.go:509 +msgid "Waiting for upload port..." +msgstr "" + +#: commands/service_compile.go:355 +msgid "" +"Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" +msgstr "" + +#: internal/cli/lib/search.go:203 +msgid "Website: %s" +msgstr "" + +#: internal/cli/config/init.go:45 +msgid "Writes current configuration to a configuration file." +msgstr "" + +#: internal/cli/config/init.go:48 +msgid "" +"Writes current configuration to the configuration file in the data " +"directory." +msgstr "" + +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +msgid "You cannot use the %s flag while compiling with a profile." +msgstr "" + +#: internal/arduino/resources/checksums.go:78 +msgid "archive hash differs from hash in index" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:188 +msgid "archive is not valid: multiple files found in zip file top level" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:191 +msgid "archive is not valid: no files found in zip file top level" +msgstr "" + +#: internal/cli/sketch/archive.go:36 +msgid "archivePath" +msgstr "" + +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 +msgid "arduino-preprocessor pattern is missing" +msgstr "" + +#: internal/cli/feedback/stdio.go:37 +msgid "available only in text format" +msgstr "" + +#: internal/cli/lib/search.go:84 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:89 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/service_upload.go:764 +msgid "binary file not found in %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:348 +msgid "board %s not found" +msgstr "" + +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +msgid "boardname" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +msgid "built-in libraries directory not set" +msgstr "" + +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 +msgid "can't find latest release of %s" +msgstr "" + +#: commands/instances.go:275 +msgid "can't find latest release of tool %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:712 +msgid "can't find pattern for discovery with id %s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:93 +msgid "candidates" +msgstr "" + +#: commands/service_upload.go:721 commands/service_upload.go:728 +msgid "cannot execute upload tool: %s" +msgstr "" + +#: internal/arduino/resources/install.go:40 +msgid "checking local archive integrity" +msgstr "" + +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 +msgid "cleaning build path" +msgstr "" + +#: internal/cli/cli.go:90 +msgid "command" +msgstr "" + +#: internal/arduino/monitor/monitor.go:149 +msgid "command '%[1]s' failed: %[2]s" +msgstr "" + +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 +msgid "communication out of sync, expected '%[1]s', received '%[2]s'" +msgstr "" + +#: internal/arduino/resources/checksums.go:74 +msgid "computing hash: %s" +msgstr "" + +#: internal/arduino/cores/fqbn.go:81 +msgid "config key %s contains an invalid character" +msgstr "" + +#: internal/arduino/cores/fqbn.go:86 +msgid "config value %s contains an invalid character" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:141 +msgid "copying library to destination directory:" +msgstr "" + +#: commands/service_upload.go:836 +msgid "could not find a valid build artifact" +msgstr "" + +#: commands/service_platform_install.go:94 +msgid "could not overwrite" +msgstr "" + +#: commands/service_library_install.go:190 +msgid "could not remove old library" +msgstr "" + +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 +msgid "could not update sketch project file" +msgstr "" + +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +msgid "creating core cache folder: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +msgid "creating installed.json in %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 +msgid "creating temp dir for extraction: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:196 +msgid "data section exceeds available space in board" +msgstr "" + +#: commands/service_library_resolve_deps.go:86 +msgid "dependency '%s' is not available" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:94 +msgid "destination dir %s already exists, cannot install" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:138 +msgid "destination directory already exists" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:278 +msgid "directory doesn't exist: %s" +msgstr "" + +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:644 +msgid "discovery %s not found" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:648 +msgid "discovery %s not installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:741 +msgid "discovery release not found: %s" +msgstr "" + +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 +msgid "download a specific version (in this case 1.6.9)." +msgstr "" + +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 +msgid "download the latest version of Arduino SAMD core." +msgstr "" + +#: internal/cli/feedback/rpc_progress.go:74 +msgid "downloaded" +msgstr "" + +#: commands/instances.go:55 +msgid "downloading %[1]s tool: %[2]s" +msgstr "" + +#: internal/arduino/cores/fqbn.go:60 +msgid "empty board identifier" +msgstr "" + +#: internal/arduino/sketch/sketch.go:93 +msgid "error loading sketch project file:" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:615 +msgid "error opening %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:214 +msgid "error parsing version constraints" +msgstr "" + +#: commands/service_board_list.go:115 +msgid "error processing response from server" +msgstr "" + +#: commands/service_board_list.go:95 +msgid "error querying Arduino Cloud Api" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" +msgstr "" + +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:143 +msgid "failed to compute hash of file \"%s\"" +msgstr "" + +#: commands/service_board_list.go:90 +msgid "failed to initialize http client" +msgstr "" + +#: internal/arduino/resources/checksums.go:95 +msgid "fetched archive size differs from size specified in index" +msgstr "" + +#: internal/arduino/resources/install.go:123 +msgid "files in archive must be placed in a subdirectory" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:59 +msgid "finding absolute path of %s" +msgstr "" + +#: internal/cli/cli.go:90 +msgid "flags" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:98 +msgid "following symlink %s" +msgstr "" + +#: internal/cli/lib/download.go:40 +msgid "for a specific version." +msgstr "" + +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 +msgid "for the latest version." +msgstr "" + +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 +msgid "for the specific version." +msgstr "" + +#: internal/arduino/cores/fqbn.go:66 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" +msgstr "" + +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" +msgstr "" + +#: internal/arduino/resources/download.go:55 +msgid "getting archive file info: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:92 +msgid "getting archive info: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 +msgid "getting archive path: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:354 +msgid "getting build properties for board %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:106 +msgid "getting discovery dependencies for platform %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:114 +msgid "getting monitor dependencies for platform %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:99 +msgid "getting tool dependencies for platform %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:149 +msgid "install directory not set" +msgstr "" + +#: commands/instances.go:59 +msgid "installing %[1]s tool: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +msgid "installing platform %[1]s: %[2]s" +msgstr "" + +#: internal/cli/feedback/terminal.go:38 +msgid "interactive terminal not supported for the '%s' output format" +msgstr "" + +#: internal/arduino/sketch/profiles.go:212 +msgid "invalid '%s' directive" +msgstr "" + +#: internal/arduino/resources/checksums.go:43 +msgid "invalid checksum format: %s" +msgstr "" + +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +msgid "invalid config option: %s" +msgstr "" + +#: internal/cli/arguments/reference.go:92 +msgid "invalid empty core architecture '%s'" +msgstr "" + +#: internal/cli/arguments/reference.go:69 +msgid "invalid empty core argument" +msgstr "" + +#: internal/cli/arguments/reference.go:89 +msgid "invalid empty core name '%s'" +msgstr "" + +#: internal/cli/arguments/reference.go:74 +msgid "invalid empty core reference '%s'" +msgstr "" + +#: internal/cli/arguments/reference.go:79 +msgid "invalid empty core version: '%s'" +msgstr "" + +#: internal/cli/lib/args.go:49 +msgid "invalid empty library name" +msgstr "" + +#: internal/cli/lib/args.go:54 +msgid "invalid empty library version: %s" +msgstr "" + +#: internal/arduino/cores/board.go:143 +msgid "invalid empty option found" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:268 +msgid "invalid git url" +msgstr "" + +#: internal/arduino/resources/checksums.go:47 +msgid "invalid hash '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/arguments/reference.go:86 +msgid "invalid item %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:246 +msgid "invalid library directive:" +msgstr "" + +#: internal/arduino/libraries/libraries_layout.go:67 +msgid "invalid library layout: %s" +msgstr "" + +#: internal/arduino/libraries/libraries_location.go:90 +msgid "invalid library location: %s" +msgstr "" + +#: internal/arduino/libraries/loader.go:140 +msgid "invalid library: no header files found" +msgstr "" + +#: internal/arduino/cores/board.go:146 +msgid "invalid option '%s'" +msgstr "" + +#: internal/cli/arguments/show_properties.go:52 +msgid "invalid option '%s'." +msgstr "" + +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" +msgstr "" + +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" +msgstr "" + +#: internal/arduino/cores/packageindex/index.go:277 +msgid "invalid platform archive size: %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:216 +msgid "invalid platform identifier" +msgstr "" + +#: internal/arduino/sketch/profiles.go:226 +msgid "invalid platform index URL:" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:326 +msgid "invalid pluggable monitor reference: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:185 +msgid "invalid port configuration value for %s: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:193 +msgid "invalid port configuration: %s" +msgstr "" + +#: commands/service_upload.go:708 +msgid "invalid recipe '%[1]s': %[2]s" +msgstr "" + +#: commands/service_sketch_new.go:86 +msgid "" +"invalid sketch name \"%[1]s\": the first character must be alphanumeric or " +"\"_\", the following ones can also contain \"-\" and \".\". The last one " +"cannot be \".\"." +msgstr "" + +#: internal/arduino/cores/board.go:150 +msgid "invalid value '%[1]s' for option '%[2]s'" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:231 +msgid "invalid version directory %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:248 +msgid "invalid version:" +msgstr "" + +#: internal/cli/core/search.go:39 +msgid "keywords" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries authored by Daniel Garcia" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:90 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:85 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:86 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:126 +msgid "library %s already installed" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:315 +msgid "library not valid" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 +msgid "loading %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:314 +msgid "loading boards: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 +msgid "loading json index file %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 +msgid "loading library from %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/loader.go:55 +msgid "loading library.properties: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 +msgid "loading platform release %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:195 +msgid "loading platform.txt" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:47 +msgid "loading required platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:63 +msgid "loading required tool %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:590 +msgid "loading tool release in %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:188 +msgid "looking for boards.txt in %s" +msgstr "" + +#: commands/service_upload.go:779 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:77 +msgid "main file missing from sketch: %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:210 +msgid "missing '%s' directive" +msgstr "" + +#: internal/arduino/resources/checksums.go:39 +msgid "missing checksum for: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:457 +msgid "missing package %[1]s referenced by board %[2]s" +msgstr "" + +#: internal/cli/core/upgrade.go:101 +msgid "missing package index for %s, future updates cannot be guaranteed" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:462 +msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:467 +msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" +msgstr "" + +#: internal/arduino/resources/index.go:153 +msgid "missing signature" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:752 +msgid "monitor release not found: %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 +msgid "moving extracted archive to destination dir: %s" +msgstr "" + +#: commands/service_upload.go:831 +msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" +msgstr "" + +#: internal/arduino/sketch/sketch.go:69 +msgid "multiple main sketch files found (%[1]v, %[2]v)" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +msgid "" +"no compatible version of %[1]s tools found for the current os, try " +"contacting %[2]s" +msgstr "" + +#: commands/service_board_list.go:273 +msgid "no instance specified" +msgstr "" + +#: commands/service_upload.go:786 +msgid "no sketch or build directory/file specified" +msgstr "" + +#: internal/arduino/sketch/sketch.go:56 +msgid "no such file or directory" +msgstr "" + +#: internal/arduino/resources/install.go:126 +msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" +msgstr "" + +#: commands/service_upload.go:703 +msgid "no upload port provided" +msgstr "" + +#: internal/arduino/sketch/sketch.go:279 +msgid "no valid sketch found in %[1]s: missing %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:128 +msgid "no versions available for the current OS, try contacting %s" +msgstr "" + +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 +msgid "not running in a terminal" +msgstr "" + +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 +msgid "opening archive file: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:224 +msgid "opening boards.txt" +msgstr "" + +#: internal/arduino/security/signatures.go:81 +msgid "opening signature file: %s" +msgstr "" + +#: internal/arduino/security/signatures.go:76 +msgid "opening target file: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 +msgid "package %s not found" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:525 +msgid "package '%s' not found" +msgstr "" + +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 +msgid "parsing fqbn: %s" +msgstr "" + +#: internal/arduino/libraries/librariesindex/json.go:70 +msgid "parsing library_index.json: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:179 +msgid "path is not a platform directory: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:80 +msgid "platform %[1]s not found in package %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:341 +msgid "platform %s is not installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" +msgstr "" + +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 +msgid "platform not installed" +msgstr "" + +#: internal/cli/compile/compile.go:135 +msgid "please use --build-property instead." +msgstr "" + +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 +msgid "pluggable discovery already added: %s" +msgstr "" + +#: internal/cli/board/attach.go:35 +msgid "port" +msgstr "" + +#: internal/cli/arguments/port.go:122 +msgid "port not found: %[1]s %[2]s" +msgstr "" + +#: internal/cli/board/attach.go:35 +msgid "programmer" +msgstr "" + +#: internal/arduino/monitor/monitor.go:235 +msgid "protocol version not supported: requested %[1]d, got %[2]d" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 +msgid "reading dir %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 +msgid "reading directory %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" +msgstr "" + +#: internal/arduino/builder/sketch.go:81 +msgid "reading file %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/sketch/sketch.go:198 +msgid "reading files" +msgstr "" + +#: internal/arduino/libraries/librariesresolver/cpp.go:90 +msgid "reading lib headers: %s" +msgstr "" + +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" +msgstr "" + +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" +msgstr "" + +#: internal/arduino/libraries/librariesindex/json.go:64 +msgid "reading library_index.json: %s" +msgstr "" + +#: internal/arduino/resources/install.go:116 +msgid "reading package root dir: %s" +msgstr "" + +#: internal/arduino/sketch/sketch.go:108 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:697 +msgid "recipe not found '%s'" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:601 +msgid "release %[1]s not found for tool %[2]s" +msgstr "" + +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 +msgid "release cannot be nil" +msgstr "" + +#: internal/arduino/resources/download.go:46 +msgid "removing corrupted archive file: %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:152 +msgid "removing library directory: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +msgid "removing platform files: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:87 +msgid "required version %[1]s not found for platform %[2]s" +msgstr "" + +#: internal/arduino/security/signatures.go:72 +msgid "retrieving Arduino public keys: %s" +msgstr "" + +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 +msgid "scanning sketch examples" +msgstr "" + +#: internal/arduino/resources/install.go:74 +msgid "searching package root dir: %s" +msgstr "" + +#: commands/service_sketch_new.go:78 +msgid "sketch name cannot be empty" +msgstr "" + +#: commands/service_sketch_new.go:91 +msgid "sketch name cannot be the reserved name \"%[1]s\"" +msgstr "" + +#: commands/service_sketch_new.go:81 +msgid "" +"sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" +msgstr "" + +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 +msgid "sketch path is not valid" +msgstr "" + +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 +msgid "sketchPath" +msgstr "" + +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 +msgid "starting discovery %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:117 +msgid "testing archive checksum: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:110 +msgid "testing archive size: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:104 +msgid "testing if archive is cached: %s" +msgstr "" + +#: internal/arduino/resources/install.go:38 +msgid "testing local archive integrity: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:191 +msgid "text section exceeds available space in board" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 +msgid "the compilation database may be incomplete or inaccurate" +msgstr "" + +#: commands/service_board_list.go:102 +msgid "the server responded with status %s" +msgstr "" + +#: internal/arduino/monitor/monitor.go:139 +msgid "timeout waiting for message" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +msgid "tool %s is not managed by package manager" +msgstr "" + +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 +msgid "tool %s not found" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:551 +msgid "tool '%[1]s' not found in package '%[2]s'" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +msgid "tool not installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 +msgid "tool release not found: %s" +msgstr "" + +#: internal/arduino/cores/status.go:105 +msgid "tool version %s not found" +msgstr "" + +#: commands/service_library_install.go:92 +msgid "" +"two different versions of the library %[1]s are required: %[2]s and %[3]s" +msgstr "" + +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 +msgid "unable to compute relative path to the sketch for the item" +msgstr "" + +#: internal/arduino/builder/sketch.go:43 +msgid "unable to create a folder to save the sketch" +msgstr "" + +#: internal/arduino/builder/sketch.go:124 +msgid "unable to create the folder containing the item" +msgstr "" + +#: internal/cli/config/get.go:85 +msgid "unable to marshal config to YAML: %v" +msgstr "" + +#: internal/arduino/builder/sketch.go:162 +msgid "unable to read contents of the destination item" +msgstr "" + +#: internal/arduino/builder/sketch.go:135 +msgid "unable to read contents of the source item" +msgstr "" + +#: internal/arduino/builder/sketch.go:145 +msgid "unable to write to destination file" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:329 +msgid "unknown package %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:336 +msgid "unknown platform %s:%s" +msgstr "" + +#: internal/arduino/sketch/sketch.go:137 +msgid "unknown sketch file extension '%s'" +msgstr "" + +#: internal/arduino/resources/checksums.go:60 +msgid "unsupported hash algorithm: %s" +msgstr "" + +#: internal/cli/core/upgrade.go:44 +msgid "upgrade arduino:samd to the latest version" +msgstr "" + +#: internal/cli/core/upgrade.go:42 +msgid "upgrade everything to the latest version" +msgstr "" + +#: commands/service_upload.go:732 +msgid "uploading error: %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 +msgid "user directory not set" +msgstr "" + +#: internal/cli/feedback/terminal.go:94 +msgid "user input not supported for the '%s' output format" +msgstr "" + +#: internal/cli/feedback/terminal.go:97 +msgid "user input not supported in non interactive mode" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:175 +msgid "version %s not available for this operating system" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:154 +msgid "version %s not found" +msgstr "" + +#: commands/service_board_list.go:120 +msgid "wrong format in server response" +msgstr "" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 71de46d2f16..8f91920062b 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -21,63 +21,63 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Version: %[3]s Commit: %[4]s Datum: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "Der Ordner %[1]s wird nicht länger unterstützt! Siehe %[2]s für weitere " "Informationen" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s ungültig, alles wird neu gebaut" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s wird benötigt, aber %[2]s ist aktuell installiert." -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "Muster %[1]s fehlt" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s bereits heruntergeladen" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s und %s können nicht gemeinsam verwendet werden" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s installiert" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s ist bereits installiert." -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s ist kein Verzeichnis" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s wird nicht vom Paketmanager verwaltet" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s muss installiert sein." -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "Muster %s fehlt" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "'%s' hat eine ungültige Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -85,15 +85,15 @@ msgstr "" "'build.core' und 'build.variant' verweisen auf andere Plattformen: %[1]s and" " %[2]s" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(versteckt)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(veraltet)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" @@ -101,7 +101,7 @@ msgstr "" "--git-url und --zip-path sind Standardmäßig deaktiviert. Für mehr " "Informationen sehen Sie hier nach: %v" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." @@ -109,26 +109,26 @@ msgstr "" "--git-url und --zip-path flags erlauben das Installieren von nicht " "vertrauenswürdigen Dateien. Benutzung auf eigene Gefahr." -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" "--git-url oder --zip-path können nicht mit --install-in-builtin-dir " "verwendet werden" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr ".ino-Datei existiert bereits" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "Eine neue Version von Arduino CLI ist verfügbar:" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "Zum Hochladen ist ein Programmer benötigt" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "ARCH" @@ -136,39 +136,39 @@ msgstr "ARCH" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "Arduino CLI Handbuch" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "Weitere Hilfethemen:" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "Fügt einen oder mehrere Werte zu einer Einstellung hinzu." -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "Decknamen:" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "Alle Plattformen sind aktuell" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "Alle Kerne sind bereits auf der neuesten Version" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "Bereits installiert %s" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternativen für %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "Beim Hinzufügen von Prototypen ist ein Fehler aufgetreten" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "Ein Fehler trat beim erkennen der Bibliotheken auf" @@ -176,63 +176,63 @@ msgstr "Ein Fehler trat beim erkennen der Bibliotheken auf" msgid "Append debug logging to the specified file" msgstr "Debug-Protokollierung an die angegebene Datei anhängen" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "Architektur: %s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "Archiv existiert bereits" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "Gebauter Kern wird archiviert (zwischengespeichert) in: %[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI Sketch Befehle." -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Arduino Befehlszeilen-Schnittstelle (arduino-cli)." -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "Arduino-Platinen-Befehle." -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "Arduino-Cache-Befehle." -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "Arduino Befehle für Bibliotheken." -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "Arduino-Konfigurationsbefehle." -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "Arduino-Kern-Operationen." -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "Argumentefehler: %v" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "Ordnet einen Sketch einem Board zu." -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "Autor: %s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -240,7 +240,7 @@ msgstr "" "Automatische Installation der Bibliotheken kann in diesem Fall nicht " "durchgeführt werden, bitte lösche alle Duplikate und versuche erneut." -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -248,11 +248,11 @@ msgstr "" "Automatische Desinstallation der Bibliotheken kann in diesem Fall nicht " "durchgeführt werden, bitte entferne sie manuell." -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "Verfügbar" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "Verfügbare Befehle:" @@ -260,56 +260,56 @@ msgstr "Verfügbare Befehle:" msgid "Binary file to upload." msgstr "Binärdatei zum Hochladen." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Platinenname" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Platinenname:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Platinenversion:" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "Bootloader-Datei angegeben, aber nicht vorhanden: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds von 'core.a' werden in diesem Pfad gespeichert, gecached und " "wiederverwendet." -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "Datenverzeichnis %s kann nicht erstellt werden" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "Sketch kann nicht erstellt werden" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Bibliothek kann nicht heruntergeladen werden" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "Abhängigkeiten für die Plattform %s können nicht gefunden werden" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "Sketch kann nicht geöffnet werden" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "Sketch kann nicht aktualisiert werden" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "Die folgenden Flags können nicht gemeinsam verwendet werden: %s" @@ -317,98 +317,98 @@ msgstr "Die folgenden Flags können nicht gemeinsam verwendet werden: %s" msgid "Can't write debug log: %s" msgstr "Debug-Log kann icht geschrieben werden: %s" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "Cache-Verzeichnis kann nicht angelegt werden" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "Build-Verzeichnis kann nicht angelegt werden" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "Verzeichnis der Konfigurationsdatei kann nicht erstellt werden: %v" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "Konfigurationsdatei kann nicht erstellt werden: %v" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "Temporärer Ordner kann nicht erstellt werden" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "Temporäre Datei kann nicht erstellt werden" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Der Schlüssel %[1]s:%[2]v kann nicht gelöscht werden" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "Das Debug-Werkzeug kann nicht gestartet werden" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "Absoluter Pfad %v wurde nicht gefunden" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "Plattform kann nicht installiert werden" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "Werkzeug %s kann nicht installiert werden" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "Port-Reset konnte nicht ausgeführt werden: %s" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "Plattform kann nicht upgegraded werden" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "Kategorie: %s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "Prüfe die die Abhängigkeiten für die angegebene Bibliothek." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "Prüfsumme unterscheidet sich von der Prüfsumme in package.json" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Prüfsumme:" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "Caches bereinigen." -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "Durch Kommata getrennte Liste mit URLs für die Board-Manager." -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -416,46 +416,46 @@ msgstr "" "Befehl läuft weiter und gibt die Liste der verbundenen Platinen aus, sobald " "sich eine Änderung ergibt." -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "Kompilierter Sketch wurde nicht in%s gefunden" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "Kompiliert Arduino-Sketche." -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "Kern wird kompiliert ..." -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "Bibliotheken werden kompiliert ..." -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "Bibliothek \"%[1]s\" wird kompiliert" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "Sketch wird kompiliert ..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "Konfigurationsdatei existiert bereits, verwende --overwrite um diese zu " "überschreiben." -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "Konfigurationsdatei geschrieben nach: %s" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "Konfigurationsoptionen für %s" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -463,31 +463,31 @@ msgstr "" "Konfiguriere die Com-Port-Einstellungen. Das Format lautet: " "<ID>=<value>[,<ID>=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "Konfiguriere Plattform" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "Konfiguriere Werkzeug." -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "Verbunden" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "Kern" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "Konnte nicht über HTTP verbinden" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Indexverzeichnis konnte nicht erstellt werden" @@ -495,27 +495,27 @@ msgstr "Indexverzeichnis konnte nicht erstellt werden" msgid "Couldn't deeply cache core build: %[1]s" msgstr "Der Core-Build konnte nicht zwischengespeichert werden: %[1]s" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "Programmgröße konnte nicht ermittelt werden" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht gefunden werden: %v " -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "Einen neuen Sketch erstellen" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "Erstelle und drucke ein Konfigurations-Profil aus dem Build" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "Erstellt eine ZIP-Datei, die alle Sketch-Dateien enthält." -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -524,7 +524,7 @@ msgstr "" "einem benutzerdefinierten Verzeichnis mit den aktuellen " "Konfigurationseinstellungen." -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -532,12 +532,12 @@ msgstr "" "Aktuell werden in Build-Profilen nur Bibliotheken aus dem Arduino-" "Bibliotheksmanager unterstützt." -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "Benutzerdefinierte Konfigurtion für %s:" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "VERALTET" @@ -545,76 +545,76 @@ msgstr "VERALTET" msgid "Daemon is now listening on %s:%s" msgstr "Daemon überwacht jetzt %s: %s" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "Arduino-Sketche debuggen" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Arduino-Sketche debuggen. (Dieser Befehl öffnet eine interaktive gdb-" "Sitzung)" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Debug-Interpreter z.B.: %s" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "Debugging für Board %s nicht unterstützt" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "Standard" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "Standard-FQBN gesetzt auf" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "Standard-Port gesetzt auf" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "Board/Bibliotheks-Manager Download-Cache löschen" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" "Löscht einen Einstellungsschlüssel und alle zugehörigen Unterschlüssel." -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "Abhängigkeiten: %s" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "Beschreibung" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "Verwendete Bibliotheken erkennen ..." -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" "Erkennt und zeigt eine Liste von Platinen, die mit dem Computer verbunden " "sind." -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "Verzeichnis, welches die Binärdateien zum Debuggen enthält." @@ -635,7 +635,7 @@ msgid "Disable completion description for shells that support it" msgstr "" "Vervollständigungsbeschreibung für Shells abschalten, die das unterstützen" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "Verbindung getrennt" @@ -643,15 +643,15 @@ msgstr "Verbindung getrennt" msgid "Display only the provided gRPC calls" msgstr "Nur die bereitgestellten gRPC-Aufrufe anzeigen" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "Abhängigkeiten nicht installieren." -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "Bereits installierte Bibliotheken nicht überschreiben." -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "Bereits installierte Plattformen nicht überschreiben." @@ -666,51 +666,51 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "Den Daemon-Prozess nicht mit dem Elternprozess beenden." -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "%s wird heruntergeladen" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "Indexsignatur wird heruntergeladen: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Index wird heruntergeladen: %s" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "Bibliothek %s wird heruntergeladen" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "Fehlendes Werkzeug %s wird heruntergeladen" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "Pakete werden heruntergeladen" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "Plattform %s wird heruntergeladen" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "Werkzeug %s wird heruntergeladen" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" "Lädt einen oder mehrere Kerne und die entsprechenden Werkzeugabhängigkeiten " "herunter." -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" "Lädt eine oder mehrere Bibliotheken herunter, ohne sie zu installieren." @@ -719,161 +719,161 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "Debug-Protokollierung von gRPC-Aufrufen aktivieren" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "Geben Sie einen Pfad zur ZIP-Datei an" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "Gib eine git-URL mit den Bibliotheken aus Repositories ein" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "Fehler beim Hinzufügen einer Datei zum Sketch-Archiv" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Fehler bei speichern des gebauten Kerns (caching) in %[1]s:%[2]s" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "Fehler beim Archivieren: %v" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "Fehler beim Berechnen des relativen Dateipfads" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "Fehler beim bereinigen des Caches: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "Fehler beim konvertieren des Pfads zum Absolutpfad: %v" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "Fehler beim Kopieren der Ausgabedatei %s" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "Fehler beim Erstellen der Instanz: %v" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "Fehler beim Erstellen des Ausgabeverzeichnisses" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "Fehler beim Erstellen des Sketch-Archivs" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "Fehler beim Erstellen des Sketches: %v" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "Fehler beim Erkennen von Platinen: %v" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "Fehler beim Herunterladen von %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "Fehler beim Herunterladen von %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Fehler beim Herunterladen des Index '%s'" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "Fehler beim Herunterladen der Indexsignatur '%s'" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "Fehler beim Herunterladen der Bibliothek %s" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "Fehler beim Herunterladen der Plattform %s" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "Fehler beim Herunterladen des Werkzeugs %s" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "Fehler beim Debuggen: %v" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "Fehler während FQBN-Bestimmung: %v" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "Fehler beim Build: %v" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "Fehler während dem Installieren: %v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "Fehler während der Deinstallation: %v" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "Fehler beim Upgrade %v" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "Fehler beim Extrahieren von %s" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "Fehler beim finden der Build-Artifacts" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "Fehler beim ermitteln der Debug-Information: %v" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "Fehler beim Abrufen des absoluten Pfads des Sketch-Archivs" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Fehler beim Abrufen von Platinendetails: %v" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" "Fehler beim ermitteln des Verzeichnisses für die Kompilier-Datenbank: %s" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -881,19 +881,19 @@ msgstr "" "Fehler beim ermitteln des Standard-Ports aus 'sketch.yaml' Prüfe, ob di im " "richtigen Sketch-Verzeichnis bist oder verwende das --port Attribut: %s" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Fehler beim Abrufen von Informationen für die Bibliothek %s" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "Fehler beim Abrufen von Bibliotheksinformationen: %v" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "Fehler beim Abrufen von Port-Metadaten: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "Fehler beim Abrufen von Details zu Port-Einstellungen: %s" @@ -901,59 +901,59 @@ msgstr "Fehler beim Abrufen von Details zu Port-Einstellungen: %s" msgid "Error getting user input" msgstr "Fehler beim lesen der Benutzereingaben." -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "Fehler beim Initialisieren der Instanz: %v" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "Fehler beim Installieren von %s: %v" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "Fehler beim Installieren der Git-Bibliothek: %v" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "Fehler beim Installieren der Zip-Bibliothek: %v" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "Fehler beim Installieren der Bibliothek %s" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "Fehler beim Installieren der Plattform %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "Fehler beim Installieren des Werkzeugs %s" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "Fehler beim Auflisten von Platinen: %v" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "Fehler beim Auflisten der Bibliotheken: %v" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "Fehler beim Auflisten von Plattformen: %v" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "Fehler beim Laden der Hardware-Plattform" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "Fehler beim Laden des Index %s" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "Fehler beim Öffnen von %s" @@ -961,109 +961,109 @@ msgstr "Fehler beim Öffnen von %s" msgid "Error opening debug logging file: %s" msgstr "Fehler beim Öffnen der Debug-Protokollierungsdatei: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "Fehler, öffnen der Quellcodes überschreibt die Datendatei: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "Fehler bei der Auswertung des --show-Property Attributs: %v" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "Fehler bel Lesen des Build-Verzechnisses" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "Fehler beim Lesen von Sketch-Dateien" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "Fehler beim Auflösen von Abhängigkeiten für %[1]s: %[2]s" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "Fehler beim Abrufen der Kernliste: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "Fehler beim Rückgängmachen der Änderungen: %s" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "Fehler beim Speichern des heruntergeladenen Index" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "Fehler beim Speichern der heruntergeladenen Indexsignatur" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "Fehler bei der Suche nach Platinen: %v" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "Fehler beim Suchen der Bibliotheken: %v" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "Fehler bei der Suche nach Plattformen: %v" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "Fehler bei der Serialisierung der Kompilierungsdatenbank: %s" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "Fehler beim Setzen des \"Raw-Mode\": %s" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "Fehler beim starten der Suche: %v" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Fehler beim Deinstallieren von %[1]s: %[2]v" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "Fehler beim Aktualisieren des Bibliotheksindex: %v" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "Fehler beim Upgraden der Bibliothken" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "Fehler beim Upgraden der Plattform: %s" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "Fehler beim Verifizieren der Signatur" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "Fehler beim Ermitteln der in %[1]s eingebundenen Bibliotheken" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "Fehler während der Bestimmung der Sketch-Größe: %s" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "Fehler beim Schreiben der Kompilierungsdatenbank: %s" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1071,59 +1071,59 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "Fehler: Befehlsbeschreibung wird nicht unterstützt von %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "Fehler: ungültiger Quellcode überschreibt die Daten-Datei: %v" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "Ereignis" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "Beispiele für Bibliothek %s" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "Beispiele:" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "Ausführbare Datei zum Debuggen" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Kompilierter Sketch wurde im Verzeichnis %s erwartet, aber eine Datei " "gefunden." -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "Chip-Löschung fehlgeschlagen" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "Fehlgeschlagene Programmierung" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "Schreiben des Bootloaders fehlgeschlagen" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "Erzeugen des Datenverzeichnisses fehlgeschlagen" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "Erzeugen des Download-Verzeichnisses fehlgeschlagen" @@ -1147,15 +1147,15 @@ msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" "Fehler beim Überwachen von TCP-Port: %s. Adresse wird bereits benutzt." -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "Fehlgeschlagenes Hochladen" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "Datei:" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1163,27 +1163,27 @@ msgstr "" "Die Verschlüsselung/Signierung der Firmware erfordert die Festlegung der " "folgenden Eigenschaften: %s" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" "Die erste Nachricht muss eine Debug-Anforderung enthalten, keine Daten." -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "Attribut %[1]s ist in Verbindung mit %[2]s vorgeschrieben." -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "Attribute:" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" "Ausführung der Post-Install-Scripts erzwingen (wenn die CLI nicht interaktiv" " läuft)" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." @@ -1191,29 +1191,29 @@ msgstr "" "Ausführung der Pre-Uninstall-Scripts erzwingen (wenn die CLI nicht " "interaktiv läuft)" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" "Ausführung der Post-Install-Scripts überspringen (wenn die CLI nicht " "interaktiv läuft)" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" "Ausführung der Pre-Uninstall-Scripts überspringen (wenn die CLI nicht " "interaktiv läuft)" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "%d Platformen passend zu \"%s\":%s gefunden" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Vollständig qualifizierter Platinenname, z.B.: arduino:avr:uno" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "GDB-Server '%s' wird nicht unterstützt" @@ -1230,19 +1230,19 @@ msgstr "Erzeugt Komplettierungs-Skripte" msgid "Generates completion scripts for various shells" msgstr "Erzeugt Komplettierungs-Skripte für verschiedene Shells" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "Funktionsprototypen werden generiert ..." -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "Globale Attribute:" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1250,31 +1250,31 @@ msgstr "" "Globale Variablen verwenden %[1]s Bytes (%[3]s%%) des dynamischen Speichers," " %[4]s Bytes für lokale Variablen verbleiben. Das Maximum sind %[2]s Bytes." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Globale Variablen verwenden %[1]s Bytes des dynamischen Speichers." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Identifikationseigenschaften:" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Wenn gesetzt werden die erzeugten Binärdateien in das Sketch-Verzeichnis " "exportiert." -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." @@ -1282,66 +1282,66 @@ msgstr "" "Wenn gesetzt gib alle installierten und installierbaren Kerne inklusive der " "selbst installierten zurück." -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" "Eingebaute Bibliotheken (von Plattformen und IDE) in die Auflistung " "einbeziehen." -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "Verzeichnis %s in das Archiv einbinden" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "Bibliotheken in das IDE-Standardverzeichnis installieren" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Installiert" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "%s installiert" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "%s wird installiert" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "Bibliothek %s wird installiert" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Plattform %s wird installiert" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "Werkzeug %s wird installiert" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" "Installiert einen oder mehrere Kerne und die entsprechenden " "Werkzeugabhängigkeiten." -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "Installiert eine oder mehrere angegebene Bibliotheken in das System." -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "Interner Fehler im Cache" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "Ungültige '%[1]s' Eigenschaft: %[2]s" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "Ungültiger FQBN" @@ -1349,101 +1349,101 @@ msgstr "Ungültiger FQBN" msgid "Invalid TCP address: port is missing" msgstr "Ungültige TCP-Adresse: Port fehlt" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "Ungültige URL" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "Ungültige zusätzliche URL: %v" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" -msgstr "Ungültiges Archiv: Datei %{1}s nicht in Archiv %{2}s gefunden" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" +msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "Ungültiges Argument übergeben: %v" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "Ungültige Build-Eigenschaften" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "Ungültige Datengröße regexp: %s" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "Ungültige EEPROM-Größe: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "Ungültige Instanz" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "Ungültiges Element %s" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "Ungültige Bibliothek" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "Ungültiger network.proxy '%[1]s':%[2]s" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "Ungültiges Ausgabeformat: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Ungültiger Paketindex in %s" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "Ungültiger Parameter %s: Version nicht erlaubt" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "Ungültiger pid-Wert: '%s'" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "Ungültiges Profil" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "Ungültige Vorlage in platform.txt" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "Ungültige Größe regexp: %s" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Ungültige Version" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "Ungültiger vid-Wert:'%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1451,76 +1451,76 @@ msgstr "" "Nur die Kompilier-Datenbank erzeugen ohne zu kompilieren. Alle Build-Befehle" " werden übersprungen außer pre* " -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "BIBLIOTHEKSNAME" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "BIBLIOTHEK" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "BIBLIOTHEKSNAME" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "Neueste" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "Bibliothek %[1]s wurde als vorkompiliert angegeben:" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "Bibliothek %[1]s ist bereits installiert, aber mit einer anderen Version: " "%[2]s" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "Bibliothek %s ist bereits die neueste Version" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "Bibliothek %s ist nicht installiert" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "Bibliothek %s nicht gefunden" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "Bibliothek '%s' nicht gefunden" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" "Die Bibliothek kann nicht die Verzeichnisse '%[1]s' und '%[2]s' gleichzeitig" " verwenden. Prüfe nochmal in '%[3]s'" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "Installation der Bibliothek fehlgeschlagen" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "Bibliothek installiert" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "Alles zusammenlinken..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1528,15 +1528,15 @@ msgstr "" "Lists alle Boards mit installierter Support-Plattform. Du kannst nach einem " "bestimmten Board suchen, indem du den Namen angibst" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "Liste alle bekannte Boards und ihre respektive FQBNs auf" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "Verbundene Platinen auflisten." -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1544,7 +1544,7 @@ msgstr "" "Komma-getrennte Liste der Boardoptionen. Kann auch mehrfach für mehrere " "Optinen verwendet werden." -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1552,78 +1552,78 @@ msgstr "" "Komma-getrennte Liste der benutzereigenen Build-Optionen. Kann auch mehrfach" " für mehrere Optinen verwendet werden." -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "Aktualisierbare Bibliotheken auflisten." -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "Aktualisierbare Plattformen auflisten." -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "Listet alle verbundenen Platinen auf." -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "Auflisten der upgradebaren Cores und Bibliotheken" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "Indexdatei wird geladen: %v" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "Ort" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" "Wenig Arbeitsspeicher verfügbar, es können Stabilitätsprobleme auftreten." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "Betreuer %s" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "Maximale Wartezeit für Portermittlung z.B. 30s, 1m" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" "Nachrichten mit diesem Level oder drüber werden geloggt. Mögliche Level " "sind: %s" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' aus der Bibliothek in %[2]s fehlt" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "Fehlender FQBN (Fully Qualified Board Name)" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "Fehlender Port" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "Fehlende Port-Adresse" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "Fehlendes Port-Protokoll" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "Fehlender Programmer" @@ -1631,33 +1631,33 @@ msgstr "Fehlender Programmer" msgid "Missing required upload field: %s" msgstr "Fehlendes benötigtes Upload-Feld: %s" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "Fehlende Größe regexp" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "Fehlender Sketch-Pfad" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "Monitor '%s' wurde nicht gefunden" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "Porteinstellunegn für Monitor:" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Mehrere Bibliotheken wurden für \"%[1]s\" gefunden" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "Name" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "Name '%s'" @@ -1665,27 +1665,27 @@ msgstr "Name '%s'" msgid "New upload port: %[1]s (%[2]s)" msgstr "Neuer Upload-Port: %[1]s (%[2]s)" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "Keine Platinen gefunden." -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "Keine Bibliotheken gefunden." -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "Keine Bibliotheken installiert." -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "Keine Bibliotheken stimmen mit Ihrer Suche überein." -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1693,53 +1693,53 @@ msgstr "" "Keine Bibliotheken stimmen mit Ihrer Suche überein.\n" "Meinten Sie ...\n" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "Kein Bibliotheksupdate verfügbar" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "Kein Monitor für das Port-Protokoll %s verfügbar" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "Keine veralteten Plattformen oder Bibliotheken gefunden" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "Keine Plattformen installiert." -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "Die Suche fand keine passenden Plattformen" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "Kein Upload-Port gefunden, verwende %s stattdessen" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "Keine gültige Auflösung der Abhängigkeiten gefunden" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Nicht genug Arbeitsspeicher; unter %[1]s finden sich Hinweise, um die Größe " "zu verringern." -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "Nicht benutzt: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "BS:" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Offizielles Arduino-Board:" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1747,50 +1747,50 @@ msgstr "" "Alle Bibliotheksdetails überspringen, außer für die aktuelle Version\n" "(Die JSON-Ausgabe wird kompakter)." -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "Einen Kommunikations-Port mit einer Platine öffnen." -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Option:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Optional, kann %s sein. Verwendet, um den Warnungslevel für gcc festzulegen " "(-W Option)" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Optional, leere den Build-Ordner und verwende keinen zwischengespeicherten " "Build." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Optional, optimiere das Kompilat zum Debuggen, nicht für den " "Produktiveinsatz" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "Optional, vermeidet fast alle Ausgaben" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "Optional, schaltet umfangreiche Ausgaben ein" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "Optional, Pfad zu einer .json-Datei mit Ersetzungen für den Sketch-Quellcode" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1798,52 +1798,52 @@ msgstr "" "Übersteuert eine Build-Option mit einem benutzerdefinierten Wert. Kann " "mehrfach für mehrere Optionen verwendet werden." -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "Überschreibt bestehende Konfigurationsdatei." -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "Überschreibt ein bestehendes Archiv" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "Überschreibt einen bestehenden .ino-Sketch." -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "PAKETIERER" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "Paket-URL:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "Paket-Betreuer" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "Paketname:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "Online-Hilfe für das Paket:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "Webseite für das Paket:" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "Absatz: %s" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "Pfad" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1851,7 +1851,7 @@ msgstr "" "Pfad zu einer Bibliothekssammlung. Kann mehrfach verwendet werden oder die " "Einträge können durch Kommata getrennt werden." -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1859,11 +1859,11 @@ msgstr "" "Pfad zum Wurzelverzeichnis einer einzelnen Bibliothek. Kann mehrfach " "verwendet werden oder die Einträge können durch Kommata getrennt werden." -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "Pfad in welchem die Log-Dateien abgelegt werden sollen." -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1871,20 +1871,20 @@ msgstr "" "Pfad für die kompilierten Dateien. Wenn nicht festgelegt, dann wird ein " "Verzeichnis im Standard-Temp-Verzeichnis des Betriebssystems erstellt." -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Ein 1200bps-Reset wird auf dem seriellen Port %s durchgeführt" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "Plattform %s bereits installiert" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "Plattform %s installiert" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1892,55 +1892,55 @@ msgstr "" "Plattform %s in keinem bekannten Index gefunden. Eventuell muss eine 3rd-" "Party URL hinzugfügt werden?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "Plattform %s deinstalliert" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "Plattform '%s' ist bereits aktuell" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "Plattform '%s' nicht gefunden" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "Plattform ID" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "Plattform ID ist nicht korrekt" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "Plattform-URL:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "Plattformarchitektur:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "Plattformkategorie:" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "Plattform-Prüfsumme:" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "Plattformdateiname:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "Plattformname:" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "Plattformgröße (Bytes):" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1948,7 +1948,7 @@ msgstr "" "Bitte gib ein FQBN an. Mehrere mögliche Boards wurden an Port %[1]s mit " "Protokoll %[2]s entdeckt" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1956,96 +1956,96 @@ msgstr "" "Bitte gib ein FQBN an. Das Board an Port %[1]s mit Protokoll %[2]s kann " "nicht identifiziert werden" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "Port geschlossen: %v" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "Port-Monitor-Fehler" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Vorkompilierte Bibliothek in \"%[1]s\" nicht gefunden" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "Details zu dem Board ausgeben" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Gebe den vorverarbeiteten Code aus anstatt zu kompilieren." -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "Gebe die logs auf der Standardausgabe aus." -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "Gibt die aktuelle Konfiguration aus." -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "Gibt die aktuelle Konfiguration aus." -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "Profil '%s' nicht gefunden" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "Programmer '%s' nicht gefunden" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "Programmer Name" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "Zu verwendender Programmer, z.B. atmel_ice" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "Programmers:" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "Eigenschaft '%s' ist nicht definiert" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "Protokoll" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "Stellt die Includes %s zur Verfügung" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "Entfernt einen oder mehrere Werte aus der Einstellung." -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "Ersetze %[1]s durch %[2]s " -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "Ersetze die Plattform durch %[1]sdurch %[2]s" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Erforderliches Werkzeug:" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "Starten im stillen Modus, zeige nur die Monitorein- und -ausgaben" @@ -2057,42 +2057,42 @@ msgstr "" msgid "Running normal build of the core..." msgstr "Starte normalen Kern-Build..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "Starte das pre_uninstall Skript" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "SUCH_TERM" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "SVD Verzeichnis" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "Build-Artifakte in diesem Verzeichnis speichern." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Suche nach einem Board im Board-Manager mit den gegebenen Suchbegriffen." -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "Suche nach einem Board im Board-Manager" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Suche nach einem Kern im Board-Manager mit den gegebenen Suchbegriffen." -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "Suche nach einem Kern im Board-Manager" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2168,25 +2168,25 @@ msgstr "" "- Ausführung\n" "- Webseite" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" "Sucht nach einer oder mehrerer Bibliottheken die zu einer Suchanfrage " "passen." -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "Satz: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "Server-Pfad" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "Server hat mit: %s geantwortet" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "Server-Typ" @@ -2194,46 +2194,46 @@ msgstr "Server-Typ" msgid "Set a value for a field required to upload." msgstr "Setze einen Wert für ein zum Upload benötigtes Feld." -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "Aktiviere den Raw-Modus im Terminal (ungepuffert)" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "Legt einen Einstellungswert fest." -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "Legt fest, wo die Konfigurationsdatei gespeichert werden soll." -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "Einstellung" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "Zeige alle verfügbare Core-Versionen." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "Zeige alle Einstellungen des Kommunikations-Ports." -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" "Zeige auch Boards an, die in der Plattform als \"versteckt\" markiert sind" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." @@ -2242,11 +2242,11 @@ msgstr "" "\"--show-properties=unexpanded\", wenn du sie genau so haben willst, wie sie" " definiert sind." -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "Vollständige Platinendetails anzeigen" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2254,29 +2254,29 @@ msgstr "" "Zeige Informationen über ein Board, im Besonderen wenn das Board die Option " "hat, im FQBN angegeben zu werden." -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "Nur Namen der Bibliotheken anzeigen." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "Zeige alle verfügbare Programmer" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" "Zeige Metadaten über die Debug-Sitzung an, anstatt den Debugger zu starten." -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "Veraltete Kerne und Bibliotheken nach Indexaktualisierung anzeigen" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "Zeige die Liste mit den installierten Bibliotheken." -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2288,15 +2288,15 @@ msgstr "" "\n" "Wenn der Parameter LIBNAME angegeben wird, beschränkt sich die Liste auf diese bestimmte Bibliothek. Standardmäßig werden die Bibliotheken, die von platforms/core bereitgestellt werden, nicht aufgelistet; sie können mit dem Flag --all aufgelistet werden." -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "Zeigt die Liste der installierten Plattformen an." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "Zeigt die Liste der Beispiele für Bibliotheken an." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2304,22 +2304,22 @@ msgstr "" "Zeigt die Liste der Beispiele für Bibliotheken an. Um eine bestimmte " "Bibliothek zu suchen, kann ein Name als Argument angegeben werden." -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" "Zeigt die Versionsnummer des Arduino CLI an, welchese auf deinem System " "installiert ist." -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "Zeigt die Versionsnummer des Arduino CLI an." -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Größe (Bytes):" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2327,21 +2327,21 @@ msgstr "" "Sketch kann nicht im Build-Pfad gefunden werden. Bitte gib einen anderen " "Build-Pfad an" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "Sketch erstellt in: %s" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "Zu verwendendes Sketch-Profil" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "Der Sketch ist zu groß; unter %[1]s finden sich Hinweise, um die Größe zu " "verringern." -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2349,7 +2349,7 @@ msgstr "" "Der Sketch verwendet %[1]s Bytes (%[3]s%%) des Programmspeicherplatzes. Das " "Maximum sind %[2]s Bytes." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" @@ -2357,51 +2357,51 @@ msgstr "" "Skizzen mit der Endung .pde sind veraltet, bitte benenne die folgenden " "Dateien in .ino um:" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "Überspringe das Linken der endgültigen ausführbaren Datei." -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Überspringen des 1200-bps-Touch-Resets: keine serielle Schnittstelle " "ausgewählt!" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "Überspringe die Archiv-Erstellung von: %[1]s" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "Überspringe die Kompilierung von: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Überspringe die Abhängigkeitserkennung für vorkompilierte Bibliotheken %[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "Überspringe die Plattformkonfiguration." -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "Überspringe das pre_uninstall Skript." -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "Überspringe die Werkzeugkonfiguration." -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "Wird übersprungen: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Einige Indizes konnten nicht aktualisiert werden." -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" "Einige Upgrades sind fehlgeschlagen, bitte überprüfe die Ausgabe für " @@ -2411,11 +2411,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "TCP-Port, der vom Daemon überwacht wird" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" "Die benutzerdefinierte Konfigurationsdatei (wenn nicht angegeben, wird der " @@ -2425,19 +2425,19 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "Das Flag --debug-file muss mit --debug benutzt werden." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2445,7 +2445,7 @@ msgstr "" "Der Schlüssel \"%[1]v\" ist keine Liste von Teilen, er kann nicht hinzugefügt werden.\n" "Vielleicht kann \"%[2]s\" verwendet werden?" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2453,11 +2453,11 @@ msgstr "" "Der Schlüssel \"%[1]v\" ist keine Liste von Teilen, er kann nicht entfernt werden.\n" "Vielleicht kann \"%[2]s\" verwendet werden?" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "Die Bibliothek %s hat mehrere Installationen:" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2466,7 +2466,7 @@ msgstr "" "Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " "den Plattformen verwendet, die ihn unterstützen." -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2475,11 +2475,11 @@ msgstr "" "Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " "den Plattformen verwendet, die ihn unterstützen." -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "Das Ausgabeformat für die Logs kann %s sein" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2488,12 +2488,12 @@ msgstr "" "Signieren und Verschlüsseln einer Binärdatei gesucht wird. Wird nur von den " "Plattformen verwendet, die dies unterstützen." -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" "Die Plattform unterstützt '%[1]s' für vorkompilierte Bibliotheken nicht." -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2506,7 +2506,7 @@ msgstr "" "aktualisiert der Befehl alle installierten Bibliotheken, für die ein Update " "verfügbar ist." -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2514,36 +2514,36 @@ msgstr "" "Dieser Befehl zeigt eine Liste der installierten Kerne und/oder Bibliotheken\n" "die aktualisiert werden können. Wenn nichts aktualisiert werden muss, ist die Ausgabe leer." -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "Markiere jede ankommende Zeile mit einem Zeitstempel." -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "Werkzeug %s bereits installiert" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "Werkzeug %s deinstalliert" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "Toolchain '%s' wird nicht unterstützt" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "Toolchain-Pfad" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "Toolchain-Prefix" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "Toolchain-Typ" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "Versuche %s zu starten" @@ -2551,57 +2551,57 @@ msgstr "Versuche %s zu starten" msgid "Turns on verbose mode." msgstr "Schaltet den ausführlichen Modus ein." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "Typ" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "Typen: %s" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" "Der Kern kann nicht gecached werden. Bitte sag den %[1]s Maintainern, dass " "sie %[2]sfolgen sollen. " -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "Der Dokumentenordner kann nicht abgerufen werden: %v" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "Lokaler App-Datenordner kann nicht abgerufen werden: %v" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "Das Home-Verzeichnis des Benutzers kann nicht abgerufen werden: %v" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "Die Datei kann nicht für die Protokollierung geöffnet werden: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "URL kann nicht geparst werden" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "%s wird deinstalliert" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "%swird deinstalliert, das Werkzeug wird nicht mehr gebraucht" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." @@ -2609,63 +2609,63 @@ msgstr "" "Deinstalliert einen oder mehrere Kerne und die entsprechenden Tool-" "Abhängigkeiten, wenn sie nicht mehr verwendet werden." -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "Deinstalliert eine oder mehrere Bibliotheken." -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "Unbekannt" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "Unbekannter FQBN" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "Aktualisiert den Index der Kerne und Bibliotheken" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" "Aktualisiert den Index der Kerne und Bibliotheken auf die neuesten " "Versionen." -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "Aktualisiert den Index der Kerne auf die neueste Version." -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "Aktualisiert den Index der Kerne." -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "Aktualisiert den Bibliotheksindex auf die neueste Version." -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "Aktualisiert den Bibliotheksindex." -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "Upgrade akzeptiert keine Parameter mit Version" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" "Aktualisiert die installierten Kerne und Bibliotheken auf die neueste " "Version." -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "Aktualisiert die installierten Kerne und Bibliotheken." -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "Aktualisiert die installierten Bibliotheken." -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" "Aktualisiert eine oder alle installierten Plattformen auf die neueste " @@ -2682,19 +2682,19 @@ msgstr "" "Arduino-Sketche hochladen. Dabei wird der Sketch vor dem Hochladen NICHT " "kompiliert." -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Adresse des Upload-Ports, z. B.: COM3 oder /dev/ttyACM2" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "Upload-Port gefunden auf %s" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "Upload-Port-Protokoll, z.B.: seriell" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "Lade die Binärdatei nach der Kompilierung hoch." @@ -2707,14 +2707,14 @@ msgstr "" msgid "Upload the bootloader." msgstr "Lade den Bootloader hoch." -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" "Für das Hochladen auf das angegebene Board mit dem Protokoll %s sind " "folgende Informationen erforderlich:" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2722,109 +2722,109 @@ msgstr "" "Urls dürfen keine Kommas enthalten. Trenne mehrere Urls, die als Umgebungsvariable exportiert werden, durch ein Leerzeichen:\n" "%s" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "Verwendung:" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "Benutze %s für mehr Informationen über einen Befehl." -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "Benutzte Bibliothek" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "Verwendete Plattform" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Benutzt: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Verwende das Board '%[1]s' von der Plattform im Ordner: %[2]s" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die " "Datei: %[1]s" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Verwendung des Kerns '%[1]s' von Platform im Ordner: %[2]s" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" "Bibliothek %[1]s in Version %[2]s im Ordner: %[3]s %[4]s wird verwendet" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Bibliothek %[1]s im Ordner: %[2]s %[3]s wird verwendet" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "Verwendung des vorkompilierten Kerns: %[1]s" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "Benutze vorkompilierte Bibliothek in %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "Zuvor kompilierte Datei wird verwendet: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "VERSION" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "VERSION_NUMMER" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "Werte" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "Überprüfe die hochgeladene Binärdatei nach dem Upload." -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "Version" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "Versionen: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "WARNUNG, die Plattform %s kann nicht konfiguriert werden " -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "WARNUNG, das Tool %s kann nicht konfiguriert werden " -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "WARNUNG, kann das pre_uninstall Skript %s nicht ausführen: " -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "WARNUNG: Der Sketch wurde mit einer oder mehreren benutzerdefinierten " "Bibliotheken kompiliert." -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2833,26 +2833,26 @@ msgstr "" "werden zu können und ist möglicherweise inkompatibel mit Ihrer derzeitigen " "Platine, welche auf %[3]s Architektur(en) ausgeführt wird." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "Warten auf Upload-Port ..." -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "Warnung: Board %[1]s definiert keine %[2]s Präferenz. Automatisch gesetzt " "auf: %[3]s" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "Webseite: %s" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "Schreibt die aktuelle Konfiguration in eine Konfigurationsdatei." -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." @@ -2860,62 +2860,62 @@ msgstr "" "Schreibt die aktuelle Konfiguration in die Konfigurationsdatei im " "Datenverzeichnis." -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Du kannst das %s Flag nicht verwenden, wenn du mit einem Profil kompilierst." -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "Archiv-Hash unterscheidet sich von Hash im Index" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "Archiv ist nicht gültig: mehrere Dateien in der obersten Ebene der Zip-Datei" " gefunden" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" "Archiv ist nicht gültig: keine Dateien in der obersten Ebene der Zip-Datei " "gefunden" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "Archiv-Pfad" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "Arduino-Preprocessor Muster fehlt" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "Nur im Textformat verfügbar" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "Einfache Suche nach \"Audio\"" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" "Einfache Suche nach \"esp32\" und \"display\" beschränkt auf offizielle " "Betreuer" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "Binärdatei wurde nicht in %s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "Platine %s nicht gefunden" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "Platinenname" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "Verzeichnis der eingebauten Bibliotheken nicht festgelegt" @@ -2923,402 +2923,396 @@ msgstr "Verzeichnis der eingebauten Bibliotheken nicht festgelegt" msgid "can't find latest release of %s" msgstr "Die neueste Version von %s wurde nicht gefunden" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "Die neueste Version des Tools %s wurde nicht gefunden" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "Die Haupt-Sketch-Datei wurde in %s nicht gefunden " - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "Kann kein Muster für die Suche mit id %s finden " -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "Kandidaten" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "Das Upload-Tool %s konnte nicht ausgeführt werden " -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "Überprüfung der Integrität des lokalen Archivs" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "Build-Pfad bereinigen" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "Befehl" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "Der Befehl '%[1]s' ist fehlgeschlagen: %[2]s" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "Kommunikation nicht synchron, erwartet '%[1]s', empfangen '%[2]s'" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "Hash berechnen: %s" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "kopiere Bibliothek in Zielordner:" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "Gültiges Build-Artefakt wurde nicht gefunden" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "Überschreiben nicht möglich" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "konnte alte Bibliothek nicht entfernen" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "Sketch-Projektdatei konnte nicht aktualisiert werden" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "Erstellen des Kern-Cache-Ordners: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "install.json in %[1]s erstellen: %[2]s" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "Erstellen eines temporären Verzeichnisses für die Extraktion: %s" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "Datenbereich überschreitet den verfügbaren Platz auf der Platine" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "Abhängigkeit '%s' ist nicht verfügbar" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "Zielverzeichnis %s existiert bereits, kann nicht installiert werden" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "Zielordner existiert bereits" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "Verzeichnis existiert nicht: %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" -msgstr "Suche %[1]s Prozess nicht gestartet: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" +msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "Discovery %swurde nicht gefunden" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "Discovery %s wurde nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "Discovery-Release %s wurde nicht gefunden" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "eine bestimmte Version herunterladen (in diesem Fall 1.6.9)." -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "Lade die neueste Version des Arduino SAMD-Kerns herunter." -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "heruntergeladen" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird heruntergeladen: %[2]s" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "leerer Platinenidentifikator" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "Fehler beim Laden der Sketch-Projektdatei:" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "Fehler beim Öffnen von %s" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "Fehler beim Parsen von Versionsbeschränkungen" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "Fehler bei der Verarbeitung der Serverantwort" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "Fehler bei der Abfrage der Arduino Cloud Api" -#: internal/arduino/resources/install.go:67 +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" +msgstr "" + +#: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" msgstr "Archiv wird extrahiert: %s" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" -msgstr "Archiv wird extrahiert: %w" - -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "Der Hash der Datei \"%s\" konnte nicht berechnet werden." -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "Http-Client konnte nicht initialisiert werden" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" "Die Größe des abgerufenen Archivs unterscheidet sich von der im Index " "angegebenen Größe" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "Die Archivdateien müssen in einem Unterverzeichnis abgelegt werden" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "Suche den absoluten Pfad zu %s" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "Flags" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "Folge dem Symlink %s" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "für eine bestimmte Version." -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "für die neueste Version." -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "für die jeweilige Version." -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" -msgstr "Erzeugen der installations.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" +msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" -msgstr "Erzeugen von installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" +msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "Hole Info zur Archivdatei: %s" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "Hole Archiv-Info: %s" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "Hole Archiv-Pfad: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "Build-Eigenschaften für das Board %[1]s : %[2]s abrufen" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "Discovery-Abhängigkeiten für die Plattform %[1]s abrufen: %[2]s" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "Monitor-Abhängigkeiten für die Plattform %[1]s : %[2]s abrufen" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "Abrufen von Tool-Abhängigkeiten für die Plattform %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "Installationsverzeichnis nicht festgelegt" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird installiert: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "Plattform %[1]s wird installiert: %[2]s" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" "Interaktives Terminal wird für das Ausgabeformat '%s' nicht unterstützt" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "Ungültige '%s' Richtlinie" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "Ungültiges Prüfsummenformat: %s" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "ungültige Konfigurationsoption: %s" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "Ungültige leere Kernarchitektur '%s'" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "Ungültiges leeres Kernargument" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "Ungültiger leerer Kernname '%s'" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "Ungültige leere Kernreferenz '%s'" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "Ungültige leere Kernversion: '%s'" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "ungültiger, leerer Bibliotheksname" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "ungültige, leere Bibliotheksversion: %s" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "Ungültige leere Option gefunden" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "Ungültige Git-URL" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "Ungültiger Hash '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "ungültiges Element %s" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "Ungültige Bibliotheksrichtlinie:" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "Ungültiges Bibliothekslayout: %s" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "Ungültiger Ort für Bibliothek: %s" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "ungültige Bibliothek: keine Header-Dateien gefunden" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "Ungültige Option '%s'" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "Ungültige Option '%s'." -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -"Ungültiger Pfad beim Erstellen des Konfigurationsverzeichnisses: %[1]s " -"Fehler: %[2]w" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" -msgstr "Ungültiger Pfad beim Schreiben der Inventardatei: %[1]s Fehler: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" +msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "ungültige Plattformarchivgröße: %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "ungültiger Plattformidentifikator" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "Ungültige Plattform-Index-URL:" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "Ungültige hinzufügbare Monitor-Referenz: %s" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "Ungültiger Port-Konfigurationswert für %s: %s" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "ungültige Port-Konfiguration: %s" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "Ungültiges Rezept '%[1]s': %[2]s" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3328,159 +3322,159 @@ msgstr "" "\"_\" sein, die folgenden können auch \"-\" und \".\" enthalten. Das letzte " "Zeichen darf nicht \".\" sein." -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "Ungültiger Wert '%[1]s' für Option '%[2]s'" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "Ungültiges Versionsverzeichnis %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "ungültige Version:" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "Schlüsselwörter" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "Bibliotheken verfasst von Daniel Garcia" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "Nur von Adafruit erstellte Bibliotheken mit \"gfx\" im Namen" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "Bibliotheken, die mindestens von \"IRremote\" abhängen" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "Bibliotheken, die nur von \"IRremote\" abhängen" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "Bibliotheken mit \"buzzer\" im Feld Name" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "Bibliotheken mit einem Namen, der genau mit \"pcf8523\" übereinstimmt" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "Bibliothek %s bereits installiert" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "Bibliothek nicht gültig" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "lade %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "Platinen werden geladen: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "json-Indexdatei laden %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "lade Bibliothek von %[1]s: %[2]s" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "lade library.porperties: %s" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "Lade Plattform-Release %s" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "lade platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "Lade erforderliche Plattform %s" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "Lade erforderliches Tool %s" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "Lade Tool-Release in %s" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "suche nach boards.txt in %s" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "Hauptdatei fehlt im Sketch: %s" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "Fehlende '%s' Richtlinie" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "Fehlende Prüfsumme für: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "Fehlendes Paket %[1]s referenziert von Board %[2]s" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "Fehlender Paketindex für %s, zukünftige Updates können nicht garantiert " "werden" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattform %[1]s:%[2]s referenziert von Board %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "Fehlende Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "Monitor-Freigabe nicht gefunden: %s" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "Verschieben des extrahierten Archivs in das Zielverzeichnis: %s" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "Mehrere Build-Artefakte gefunden: '%[1]s' und '%[2]s'" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "Mehrere Haupt-Sketchdateien gefunden (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3488,181 +3482,185 @@ msgstr "" "Keine kompatible Version von %[1]s Tools für das aktuelle Betriebssystem " "gefunden wurde, kontaktiere bitte %[2]s" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "Keine Instanz angegeben" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "Kein Sketch oder Build-Verzeichnis/Datei angegeben" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "Verzeichnis oder Datei nicht vorhanden" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" "Kein eindeutiges Stammverzeichnis im Archiv, gefunden wurde: '%[1]s' und " "'%[2]s'" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "Kein Upload-Port vorhanden" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "Kein gültiger Sketch in %[1]s gefunden : es fehlt %[2]s" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" "Keine Versionen für das aktuelle Betriebssystem verfügbar. Kontaktiere bitte" " %s" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "Läuft nicht in einem Terminal" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "Archivdatei öffnen: %s" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "boards.txt wird geöffnet" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "Öffne Signaturdatei: %s" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "Öffne Zieldatei: %s" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "Paket %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "Paket '%s' nicht gefunden" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "parse FQBN: %s" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "parse library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "Pfad ist kein Plattformverzeichnis: %s" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "Plattform %[1]s nicht im Paket %[2]s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "Plattform %s ist nicht installiert" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "Plattform ist für dieses Betriebssystem nicht verfügbar" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "Plattform nicht installiert" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "Bitte verwende stattdessen --build-property." -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "Pluggable discovery bereits hinzugefügt: %s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "Port" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "Port nicht gefunden: %[1]s %[2]s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "Protokollversion nicht unterstützt, gefordert: %[1]d, erhalten %[2]d" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "Verzeichnis %[1]s wird gelesen: %[2]s" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" -msgstr "Lese Verzeichnis %[1]s, Inhalt: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" +msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "Verzeichnis %s wird gelesen" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" -msgstr "Lese Verzeichnis %s, Inhalt: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" +msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "Datei %[1]s wird gelesen: %[2]s" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "Lese Bibliotheks-Header: %s" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" -msgstr "Lese lib src-Verzeichnis: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" +msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" -msgstr "Lese Bibliotheks-Header: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" +msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "lese library_index.json: %s" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "Lese Paketstammverzeichnis: %s" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "Rezept nicht gefunden '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "Freigabe %[1]s für Werkzeug %[2]s nicht gefunden " @@ -3671,95 +3669,95 @@ msgstr "Freigabe %[1]s für Werkzeug %[2]s nicht gefunden " msgid "release cannot be nil" msgstr "Freigabe kann nicht null sein" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "Entfernen der beschädigten Archivdatei: %s" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "Entferne das Bibliotheksverzeichnis: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "Entferne die Plattformdateien: %s" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "Erforderliche Version %[1]s für Plattform %[2]s nicht gefunden " -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "Abrufen der öffentlichen Arduino-Schlüssel: %s" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "Suche im Stammverzeichnis des Pakets: %s" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "Sketchname darf nicht leer sein" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "Der Sketchname darf nicht der reservierte Name \"%[1]s\" sein." -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" "Sketchname zu lang (%[1]d Zeichen). Die maximal zulässige Länge ist %[2]d" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "Der Sketch-Pfad ist ungültig" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "Sketch-Pfad" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "Starte Discovery %s" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "Prüfung der Archivprüfsumme: %s" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "Archivgröße wird getestet: %s" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "Prüfe, ob das Archiv zwischengespeichert ist: %s" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "Prüfung der Integrität des lokalen Archivs: %s" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "Textbereich überschreitet den verfügbaren Platz auf der Platine" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "Die Kompilierdatenbank kann unvollständig oder ungenau sein" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "Der Server antwortete mit dem Status %s" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "Timeout beim Warten auf Nachricht" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." @@ -3768,16 +3766,16 @@ msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." msgid "tool %s not found" msgstr "Tool %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "Werkzeug nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "Werkzeugfreigabe nicht gefunden: %s" @@ -3785,91 +3783,91 @@ msgstr "Werkzeugfreigabe nicht gefunden: %s" msgid "tool version %s not found" msgstr "Werkzeugversion %s nicht gefunden" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "zwei verschiedene Versionen der Bibliothek %[1]s sind erforderlich: %[2]s " "und %[3]s" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" "Relativer Pfad zum Sketch konnte für das Element nicht berechnet werden" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "Konnte keinen Ordner zum Speichern des Sketchs erstellen" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "Konnte Ordner, der das Objekt enthält, nicht erstellen" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "Konnte die Konfiguration nicht in YAML umwandeln: %v" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "Inhalt des Zielobjekts konnte nicht gelesen werden" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "Inhalt der Quelle konnte nicht gelesen werden" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "Schreiben in Zieldatei unmöglich" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "unbekanntes Paket %s" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "unbekannte Plattform %s:%s" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "Unbekannte Sketch-Dateierweiterung '%s'" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "Nicht unterstützter Hash-Algorithmus: %s" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "Aktualisiere arduino:samd auf die neueste Version" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "Aktualisiere alles auf die neueste Version" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "Hochladefehler: %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "Benutzerverzeichnis nicht gesetzt" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "Benutzereingaben werden für das Ausgabeformat '%s' nicht unterstützt." -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "Benutzereingaben werden im nicht interaktiven Modus nicht unterstützt" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "Version %s ist für dieses Betriebssystem nicht verfügbar" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "Version %s nicht gefunden" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "falsches Format in der Serverantwort" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index cc007e473c8..c80d9853b58 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -21,75 +21,75 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "¡%[1]s ya no es compatible con la carpeta! %[2]s Para más información" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s inválido, reconstruyendo todo" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s es requerido pero %[2]s está actualmente instalado." -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "No se encuentra patrón %[1]s" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s ya está descargado" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s y %s no se pueden usar juntos" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s instalado" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s ya está instalado." -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s no es un directorio" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s no es manejado por el administrador de paquetes" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s debe ser instalado." -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "Falta el patrón %s " -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "'%s' tiene una firma inválida" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(oculto)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(legado)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" @@ -97,7 +97,7 @@ msgstr "" "--git-url y --zip-path están deshabilitados por defecto, para más " "información mira: %v" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." @@ -105,24 +105,24 @@ msgstr "" "las banderas --git-url y --zip-path permiten instalar archivos no " "verificados, úsalo bajo tu propio riesgo." -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "El archivo .ino ya existe" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "Una nueva versión de Arduino CLI está disponible:" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "Se requiere un programador para subir." -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "ARQUITECTURA" @@ -130,39 +130,39 @@ msgstr "ARQUITECTURA" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "MANUAL DE LA LINEA DE COMANDOS DE ARDUINO" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "Temas de ayuda adicionales:" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "Agrega uno o más valores a una configuración." -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "Alias:" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "Todos los núcleos están en su última versión" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "Ya está instalado %s" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternativas para %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "Ocurrió un error añadiendo prototipos" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "Ocurrió un error detectando librerías" @@ -170,79 +170,79 @@ msgstr "Ocurrió un error detectando librerías" msgid "Append debug logging to the specified file" msgstr "Registro de depuración añadido al archivo especificado" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "Arquitectura: %s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "El archivo ya existe" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivando el núcleo construido (cacheado) en: %[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "Comandos de sketch de Arduino CLI." -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Interfaz de la línea de comandos de Arduino (arduino-cli)." -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "Comandos de la placa Arduino." -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "Comandos de cache de Arduino" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "Comandos sobre librerías de Arduino" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "Commandos de configuración de Arduino" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "Operaciones del núcleo Arduino" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "Errores en los argumentos: %v " -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "Conecta una tabla al sketch." -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "Autor: %s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "Disponible" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "Comandos disponibles:" @@ -250,56 +250,56 @@ msgstr "Comandos disponibles:" msgid "Binary file to upload." msgstr "Archivo binario para cargar." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Nombre de la placa" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nombre de la placa:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Versión de la placa:" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichero Bootloader especificado pero ausente: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "La compilaciones de 'core.a' e guardan en esta ruta para ser cacheadas y " "reusadas" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "No se puede crear el directorio de datos %s" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "No se puede crear el sketch" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "No fue posible descargar la librería" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "No puedo encontrar las dependencias para la plataforma %s" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "No es posible abrir el sketch" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -307,99 +307,99 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "No se puede crear el directorio de caché de compilación" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "No se puede crear el directorio de caché de compilación" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "No se puede crear el directorio de archivos de configuración: %v" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "No se puede crear el archivo de configuración: %v" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "No se puede crear un directorio temporal" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "No se puede crear un archivo temporal" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "No se puede ejecutar la herramienta de depuración" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "No se puede encontrar la ruta absoluta: %v" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "No se puede instalar la plataforma" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "No se puede instalar la herramienta %s" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "No se puede realizar el reinicio del puerto: %s" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "No se puede actualizar la plataforma" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "Categoría: %s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "Comprueba el estado de las dependencias de la librería especificada." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "El checksum difiere del checksum en package.json" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Checksum:" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "Limpiando caches." -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Lista separada por comas de URLs adicionales para el Gestor de Tarjetas." -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -407,76 +407,76 @@ msgstr "" "El comando sigue ejecutándose e imprime la lista de placas conectadas cada " "vez que hay un cambio." -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "Proyecto compilado no encontrado en %s" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "Compila los sketch de Arduino" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "Compilando el núcleo..." -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "Compilando librerías..." -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "Compilando librería \"%[1]s\"" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "Compilando el sketch..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "El archivo de configuración ya existe, utilice --overwrite para descartar el" " existente." -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "Archivo de configuración escrito en: %s" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "Opciones de configuración para %s" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "Configurando plataforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "Núcleo" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "No se pudo conectar vía HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "No se ha podido crear el directorio índice." @@ -484,27 +484,27 @@ msgstr "No se ha podido crear el directorio índice." msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "No se pudo determinar el tamaño del programa" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "No se ha podido obtener el directorio de trabajo actual: %v" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "Crear un nuevo Sketch" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "Crea un archivo zip conteniendo todos los archivos del sketch." -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -512,18 +512,18 @@ msgstr "" "Crea o actualiza el archivo de configuración en el directorio de datos o " "directorio personalizado con los ajustes actuales." -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "OBSOLETO" @@ -531,72 +531,72 @@ msgstr "OBSOLETO" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "Depurar sketches de Arduino." -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Intérprete de depuración e.j.: %s" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "Depuración no soportada para la tarjeta: %s" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "Por defecto" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "Elimina una llave de configuraciones y sus sub-llaves." -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "Dependencias: %s" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "Descripción" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "Detectando las librerías usadas..." -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" "Detecta y muestra una lista de placas conectadas al computador actual." -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "La carpeta contiene archivos binarios para la depuración." @@ -616,7 +616,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "Desconectado" @@ -624,15 +624,15 @@ msgstr "Desconectado" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "No instale dependencias." -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "No sobrescribir librerías ya instaladas." -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "No sobrescribir plataformas ya instaladas." @@ -645,51 +645,51 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "Descargando %s" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Descargando el índice: %s" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "Descargando la librería %s" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "Descargando herramienta perdida %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "Descargando paquetes" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "Descargando la plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "Descargando la herramienta%s" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" "Descarga uno o más núcleos y sus dependencias de herramienta " "correspondientes." -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "Descarga una o más librerías sin instalarlas." @@ -697,179 +697,179 @@ msgstr "Descarga una o más librerías sin instalarlas." msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "Introduzca una ruta para el archivo zip" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "Introducir la url de git para librerías alojadas en repositorios" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "Error añadiendo sketch al archivo de sketch" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "Error calculando la ruta de archivo relativa" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "Error limpiando caches: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "Error copiando el archivo de salida %s" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "Error creando la instancia: %v" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "Error al crear el directorio de salida" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "Error creando el archivo de sketch" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "Error creando el sketch: %v" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "Error detectando placas: %v" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "Error al descargar %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "Error descargando %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Error descargando el índice '%s'" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "Error descargando el índice de firmas '%s'" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "Error descargando la librería %s" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "Error descargando la plataforma %s" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "Error descargando la herramienta %s" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "Error durante la instalación: %v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "Error durante la desinstalacion: %v" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "Error durante la actualización: %v" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "Error extrayendo %s" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "Error obteniendo la ruta absoluta del archivo de sketch" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Error obteniendo los detalles de la placa: %v" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" "Error obteniendo el directorio actual para la base de datos de compilación%s" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Error obteniendo información para la librería %s" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "Error obteniendo información de las librerías: %v" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -877,59 +877,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "Error instalando la plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "Error instalando la herramienta %s" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "Error listando las placas: %v" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "Error listando las plataformas: %v" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -937,109 +937,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "Error leyendo los archivos del sketch" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "Error al revertir los cambios: %s" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "Error en la búsqueda de placas: %v" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Error al desinstalar %[1]s: %[2]v" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1047,57 +1047,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "Ejemplos:" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "Borrado del chip fallida" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1117,62 +1117,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "Archivo:" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "Banderas:" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1189,19 +1189,19 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "Banderas globales:" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1209,90 +1209,90 @@ msgstr "" "Las variables Globales usan %[1]s bytes (%[3]s%%) de la memoria dinámica, " "dejando %[4]s bytes para las variables locales. El máximo es %[2]s bytes." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variables globales usan %[1]s bytes de memoria dinamica." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Propiedades de identificación:" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Instalado" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "Instalado %s" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "Instalando %s" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "Instalando la librería %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Instalando la plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "Instalando la herramienta %s" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "Error interno en la cache" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "FQBN inválido" @@ -1300,268 +1300,268 @@ msgstr "FQBN inválido" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "Instancia inválida" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "Librería inválida" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "Parámetro inválido %s: versión no compatible" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "Perfil inválido" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Versión inválida" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "LIBRERÍA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "Última" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "La librería %[1]s ya está instalada, pero en una versión diferente: %[2]s" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "La librería %s ya se encuentra en la versión más reciente" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "La librería %s no está instalada" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "Librería %s no encontrada" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "La librería '%s' no fue encontrada" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "La instalación de la librería no fue exitosa" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "Librería instalada" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "Licencia: %s" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "Listar las placas conectadas." -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "Enumera las librerías actualizables." -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "Enumera las plataformas actualizables." -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "Enumera todas las placas conectadas." -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "Ubicación" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" "Hay poca memoria disponible; pueden producirse problemas de estabilidad." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Falta '%[1]s' de la biblioteca en %[2]s" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "Falta el puerto" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "No se encuentra la dirección del puerto " -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "Falta el protocolo del puerto" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1569,33 +1569,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "Monitor '%s' no encontrado" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Se encontraron varias bibliotecas para \"%[1]s\"" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "Nombre" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "Nombre: \"%s\"" @@ -1603,27 +1603,27 @@ msgstr "Nombre: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "No se encontraron placas." -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "No se encontraron las librerías." -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "No hay librerías instaladas." -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "Ninguna librería concuerda con tu búsqueda." -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1631,336 +1631,336 @@ msgstr "" "Ninguna librería concuerda con tu búsqueda.\n" "Querías decir...\n" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "No hay plataformas que coincidan con su búsqueda." -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "No hay suficiente memoria, ver %[1]s para obtener consejos sobre cómo " "optimizar su código." -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "No utilizado: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "OS:" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Placa oficial de Arduino:" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "Abre un puerto de comunicación con una placa." -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Opción:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "La plataforma %s ya está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "Plataforma %s desinstalada" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "La plataforma '%s' ya se encuentra en su versión más reciente" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "Puerto" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "Puerto cerrado: %v" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "Perfil '%s' no encontrado" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "Programadores:" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "La propiedad '%s' no está definida" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "Protocolo" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "Reemplazando %[1]s con %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "Reemplazando plataforma %[1]s con %[2]s" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Herramienta requerida:" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1972,42 +1972,42 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Busca un núcleo in el Manager de Tarjetas usando las palabras clave " "especificadas." -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "Busca un núcleo in el Manager de Tarjetas." -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2054,23 +2054,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "Sentencia: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "El servidor respondió con: %s" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2078,84 +2078,84 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "Muestra todos los núcleos disponibles." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "Mostrar solo los nombres de la librería." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" "Muestra los núcleos y librerías obsoletas después de una actualización de " "índice" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2164,52 +2164,52 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "Mostrar la lista de plataformas instaladas." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "Muestra la lista de ejemplos para las librerías." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Tamaño (bytes):" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Programa muy grando: visite %[1]s para ver cómo reducirlo." -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2217,54 +2217,54 @@ msgstr "" "El Sketch usa %[1]s bytes (%[3]s%%) del espacio de almacenamiento de " "programa. El máximo es %[2]s bytes." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2272,11 +2272,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2284,61 +2284,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2346,7 +2346,7 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2354,36 +2354,36 @@ msgstr "" "Este comando muestra una lista de los núcleos o librerías instaladas\n" "que pueden ser actualizadas. Si ninguno necesita ser actualizado no se mostrará nada." -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "La herramienta %s ya está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "La herramienta %s se desinstaló" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2391,55 +2391,55 @@ msgstr "" msgid "Turns on verbose mode." msgstr "Habilitar el modo verbose." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "Tipo" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "Tipos: %s" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "Desinstalando %s" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "Desinstalando %s, la herramienta ya no es requerida" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." @@ -2447,59 +2447,59 @@ msgstr "" "Desinstalar uno o más núcleos y sus herramientas correspondientes si ya no " "son usadas." -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "Desinstalar una o más librerías." -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2512,19 +2512,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "Subir el binario después de la compilación." @@ -2536,115 +2536,115 @@ msgstr "Cargar el bootloader en la placa usando un programador externo." msgid "Upload the bootloader." msgstr "Cargar el bootloader." -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "Uso:" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "Use %spara más información acerca de un comando." -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Usado: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Usando librería %[1]s con versión %[2]s en la carpeta: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Utilizando biblioteca %[1]s en carpeta: %[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "Utilizando archivo previamente compilado: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "VERSIÓN" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2653,78 +2653,78 @@ msgstr "" "y puede ser incompatible con tu actual tarjeta la cual corre sobre " "arquitectura(s) %[3]s." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "Sitio web: %s" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2732,730 +2732,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "Candidatos" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "comando" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "identificador de placa vacío" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "banderas" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "ítem inválido %s" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "Palabras clave" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3464,94 +3464,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3560,16 +3560,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3577,88 +3577,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "versión %s no encontrada" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "Error de formato en la respuesta del servidor" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index 83eb44897ad..d82a8509014 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -15,106 +15,106 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "le dossier %[1]sn'est plus supporté ! Consulter%[2]s pour plus " "d'informations" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s est un schéma manquant" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s déjà téléchargé" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%set%sne peuvent pas être téléchargé." -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(héritage)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "" @@ -122,39 +122,39 @@ msgstr "" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "Manuel d'Arduino Command Line" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "Aide supplémentaire sur les sujets :" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "Ajouter une autre valeur à un réglage." -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "Alias :" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "Tous les cœurs sont à jours vers la dernière version." -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "Déjà installé %s" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternative pour %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "" @@ -162,79 +162,79 @@ msgstr "" msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "Architecture : %s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "L'archive existe déjà" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivage du noyau construit (mise en cache) dans: %[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI croquis commandes." -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "" @@ -242,54 +242,54 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichier du bootloader spécifié mais absent: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -297,171 +297,171 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "Impossible de créer le dossier temporaire" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "Impossible de créer le fichier temporaire" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "Croquis compilé introuvable %s" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "Compilation des croquis Arduino." -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "Compilation du croquis..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "Configuration de la plateforme." -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "Connecté" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" @@ -469,44 +469,44 @@ msgstr "" msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "" @@ -514,71 +514,71 @@ msgstr "" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "Défaut" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "" @@ -596,7 +596,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "" @@ -604,15 +604,15 @@ msgstr "" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "" @@ -625,49 +625,49 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "Téléchargement %s" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "Téléchargement des paquets" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" @@ -675,178 +675,178 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -854,59 +854,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "Erreur lors de l'installation de la librairie Zip : %v" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "Erreur lors de l'installation de la plateforme %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "Erreur lors de l’installation de l'outil %s." -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -914,109 +914,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1024,57 +1024,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1094,62 +1094,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1166,19 +1166,19 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1187,90 +1187,90 @@ msgstr "" "dynamique, ce qui laisse %[4]s octets pour les variables locales. Le maximum" " est de %[2]s octets." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Les variables globales utilisent %[1]s octets de mémoire dynamique." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Installé" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "" @@ -1278,268 +1278,268 @@ msgstr "" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" "La mémoire disponible faible, des problèmes de stabilité pourraient " "survenir." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Fichier manquant '%[1]s' de la bibliothèque dans %[2]s" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1547,33 +1547,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Plusieurs bibliothèque trouvées pour \"%[1]s\"" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "" @@ -1581,362 +1581,362 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Mémore insuffisante; consulter la page %[1]s pour obtenir des astuces sur " "comment le réduire." -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "Non utilisé: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1948,40 +1948,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2028,23 +2028,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2052,82 +2052,82 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2136,52 +2136,52 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Croquis trop gros; vois %[1]s pour des conseils de réduction." -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2189,54 +2189,54 @@ msgstr "" "Le croquis utilise %[1]s octets (%[3]s%%) de l'espace de stockage de " "programmes. Le maximum est de %[2]s octets." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2244,11 +2244,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2256,61 +2256,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2318,42 +2318,42 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2361,113 +2361,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2480,19 +2480,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2504,118 +2504,118 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Utilisé: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" "Utilisation de la bibliothèque %[1]s version %[2]s dans le dossier: %[3]s " "%[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" "Utilisation de la bibliothèque %[1]s prise dans le dossier: %[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "Utilisation du fichier déjà compilé: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2624,78 +2624,78 @@ msgstr "" "architecture(s) %[2]s et peut être incompatible avec votre carte actuelle " "qui s'exécute sur %[3]s." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2703,730 +2703,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3435,94 +3435,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3531,16 +3531,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3548,88 +3548,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "impossible d’écrire dans le fichier de destination." -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "paquet inconnu %s" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "plateforme inconnue %s:%s" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "extension de croquis inconnue '%s' " -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "algorithme de hachage non supporté" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "mise à jour de arduino:samd vers la dernière version" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "tout mettre à jour tout vers la dernière version" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index 01b99e39108..48dddfc41a0 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -13,104 +13,104 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s גרסה: %[3]s קומיט: %[4]sתאריך: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s תבנית חסרה" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s מותקן" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s אינו תיקייה" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s אינו מנוהל על ידי מנהל ההתקנות" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(מוסתר)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "" @@ -118,39 +118,39 @@ msgstr "" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "" @@ -158,79 +158,79 @@ msgstr "" msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "ארכיטקטורה: %s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "פקודות סקיצה בשורת הפקודה של ארדואינו." -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "שורת הפקודה של ארדואינו." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "פקודות לוח של ארדואינו." -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "" @@ -238,54 +238,54 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -293,171 +293,171 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "" -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" @@ -465,44 +465,44 @@ msgstr "" msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "" @@ -510,71 +510,71 @@ msgstr "" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "" @@ -592,7 +592,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "" @@ -600,15 +600,15 @@ msgstr "" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "" @@ -621,49 +621,49 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" @@ -671,178 +671,178 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -850,59 +850,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -910,109 +910,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1020,57 +1020,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1090,62 +1090,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1162,108 +1162,108 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "" @@ -1271,266 +1271,266 @@ msgstr "" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1538,33 +1538,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "" @@ -1572,360 +1572,360 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1937,40 +1937,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2017,23 +2017,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2041,82 +2041,82 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2125,105 +2125,105 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "" -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2231,11 +2231,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2243,61 +2243,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2305,42 +2305,42 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2348,113 +2348,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2467,19 +2467,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2491,192 +2491,192 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2684,730 +2684,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3416,94 +3416,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3512,16 +3512,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3529,88 +3529,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index 8c0e6f3005c..6d691f2482d 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -20,63 +20,63 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Versione: %[3]s Commit: %[4]s Data: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" "La cartella %[1]s non è più supportata! Vedere %[2]s per maggiori " "informazioni" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s non è valido, ricompilo tutto" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s è richiesto ma %[2]s risulta attualmente installato." -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "Manca il pattern %[1]s" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr " %s già scaricato" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s e %s non possono essere usati insieme" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s installato" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s è già installato." -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s non è una directory" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s non è gestito dal gestore pacchetti" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s deve essere installato." -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "Manca il pattern %s" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "'%s' ha una firma invalida" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -84,15 +84,15 @@ msgstr "" "'build.core' e 'build.variant' fanno riferimento a piattaforme diverse: " "%[1]s and %[2]s" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(nascosto)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(ereditato)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" @@ -100,7 +100,7 @@ msgstr "" "--git-url e --zip-path sono disabilitati per impostazione predefinita, per " "maggiori informazioni vedere: %v" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." @@ -108,25 +108,25 @@ msgstr "" "I flag --git-url e --zip-path consentono l'installazione di file non " "attendibili, utilizzateli a vostro rischio e pericolo." -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" "--git-url o --zip-path non possono essere usate con --install-in-builtin-dir" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "il file .ino è già presente" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "È disponibile una nuova versione di Arduino CLI:" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "Per caricare è necessario un programmatore" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "ARCH" @@ -134,39 +134,39 @@ msgstr "ARCH" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "MANUALE DELLA LINEA DI COMANDO DI ARDUINO" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "Informazioni aggiuntive:" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "Aggiunge uno o più valori a un'impostazione." -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "Alias:" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "Tutte le piattaforme sono aggiornate." -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "Tutti i core sono già all'ultima versione" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "Già installato %s" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "Alternative per %[1]s: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "Si è verificato un errore durante l'aggiunta di un prototipo" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "Si è verificato un errore durante il rilevamento delle librerie" @@ -174,63 +174,63 @@ msgstr "Si è verificato un errore durante il rilevamento delle librerie" msgid "Append debug logging to the specified file" msgstr "Aggiungi il log di debug in coda al file specificato" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "Architettura: %s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "L'archivio è già presente" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivio il core compilato (caching) in: %[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "Comandi degli sketch di Arduino CLI." -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI" -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Interfaccia a linea di comando di Arduino (arduino-cli)." -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "Comandi delle schede Arduino." -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "Comandi della cache Arduino." -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "Comandi Arduino riguardo le librerie." -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "Comandi di configurazione Arduino." -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "Operazioni core Arduino" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "Errore di argomenti: %v" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "Collega uno sketch ad una scheda." -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "Autore: %s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -238,7 +238,7 @@ msgstr "" "Non è possibile eseguire l'installazione automatica della libreria, " "rimuovere manualmente tutti i duplicati e riprovare." -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -246,11 +246,11 @@ msgstr "" "La disinstallazione automatica delle librerie non può essere eseguita, " "rimuovile manualmente." -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "Disponibile" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "Comandi disponibili:" @@ -258,56 +258,56 @@ msgstr "Comandi disponibili:" msgid "Binary file to upload." msgstr "File binario da caricare." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Nome scheda" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nome scheda:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Versione scheda:" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "Il file del bootloader specificato è inesistente: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Le build di 'core.a' vengono salvate in questo percorso per essere " "memorizzate nella cache e riutilizzate." -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "Non è possibile creare la directory dei dati %s" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "Non è possibile creare lo sketch" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Non è possibile scaricare la libreria" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "Impossibile trovare le dipendenze per la piattaforma %s" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "Non è possibile aprire lo sketch" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "Impossibile aggiornare lo sketch" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "Non è possibile utilizzare insieme i seguenti flag: %s" @@ -315,101 +315,101 @@ msgstr "Non è possibile utilizzare insieme i seguenti flag: %s" msgid "Can't write debug log: %s" msgstr "Non è possibile scrivere il log di debug: %s" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "Non è possibile creare la directory di build della cache." -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "Non è possibile creare la directory per la build" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" "Non è stato possibile creare la directory del file di configurazione: %v" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "Non è possibile creare il file di configurazione: %v" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "Non è possibile creare la cartella temporanea" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "Non è possibile creare il file temporaneo" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Impossibile eliminare la chiave %[1]s: %[2]v" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "Non è possibile eseguire lo strumento di debug" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "Percorso assoluto non trovato: %v" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "Impossibile ottenere la chiave di configurazione %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "Non è possibile installare la piattaforma" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "Non è possibile installare il tool %s" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "Non è possibile effettuare il reset della porta: %s" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "Impossibile rimuovere la chiave di configurazione %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "Non è possibile aggiornare la piattaforma" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "Categoria: %s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "Controllare lo stato delle dipendenze per la libreria specificata." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" "Controlla se la combinazione fornita scheda/programmatore supporta il debug." -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "Il checksum è diverso da quello presente in package.json" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Checksum:" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "Pulire le cache." -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Elenco separato da virgole degli URL aggiuntivi per il Boards Manager." -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -417,46 +417,46 @@ msgstr "" "Il comando continua a funzionare e stampa l'elenco delle schede collegate " "ogni volta che viene apportata una modifica." -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "Sketch compilato non trovato in %s" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "Compila gli sketch di Arduino." -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "Compilazione del core in corso..." -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "Compilazione delle librerie in corso..." -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "Compilazione della libreria \"%[1]s\"" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "Compilazione dello sketch in corso..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "Il file di configurazione esiste già, usa --overwrite per sovrascrivere " "quello esistente." -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "File di configurazione scritto in: %s" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "Opzioni di configurazione per %s" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -464,31 +464,31 @@ msgstr "" "Configura le impostazioni della porta di comunicazione. Il formato è " "<ID>=<value>[,<ID>=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "Configurazione della piattaforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "Strumento di configurazione." -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "Connesso" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Connessione in corso a %s. Premere CTRL-C per uscire." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "Core" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "Non è possibile connettersi via HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Impossibile creare la directory dell'indice" @@ -497,27 +497,27 @@ msgid "Couldn't deeply cache core build: %[1]s" msgstr "" "Non è stato possibile creare una cache profonda della build core: %[1]s" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "Non è possibile determinare la dimensione del programma" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "Impossibile ottenere la cartella di lavoro corrente: %v" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "Crea un nuovo Sketch" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "Crea e stampa una configurazione del profilo dalla build." -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "Crea un file zip contenente tutti gli sketch." -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -525,7 +525,7 @@ msgstr "" "Crea o aggiorna il file di configurazione nella directory dei dati o nella " "directory personalizzata con le impostazioni di configurazione correnti." -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -533,12 +533,12 @@ msgstr "" "Attualmente, i profili di compilazione supportano solo le librerie " "disponibili tramite Arduino Library Manager." -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "Configurazione personalizzata di %s:" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "DEPRECATO" @@ -546,46 +546,46 @@ msgstr "DEPRECATO" msgid "Daemon is now listening on %s:%s" msgstr "Deamon è ora in ascolto su %s:%s" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "Eseguire il debug degli sketch di Arduino" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Eseguire il debug degli sketch di Arduino. (questo comando apre una sessione" " gdb interattiva)" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Interprete di debug, ad esempio: %s" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "Debugging non supportato per la scheda %s" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "Predefinito" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "FQBN predefinito impostato su" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "Porta predefinita impostata su" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "Programmatore predefinito impostato su" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "Elimina la cache delle Schede/Gestire di download delle Librerie" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." @@ -594,29 +594,29 @@ msgstr "" "archivio sono collocati durante l'installazione delle librerie e delle " "piattaforme delle schede." -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" "Elimina una chiave delle impostazioni e tutte le sue chiavi secondarie." -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "Dipendenze: %s" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "Descrizione" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "Rilevamento delle librerie utilizzate in corso..." -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Rileva e visualizza un elenco di schede collegate al computer." -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "Directory contenente i binari per il debug." @@ -637,7 +637,7 @@ msgid "Disable completion description for shells that support it" msgstr "" "Disabilita la descrizione del completamento per le shell che la supportano." -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "Disconnesso" @@ -645,15 +645,15 @@ msgstr "Disconnesso" msgid "Display only the provided gRPC calls" msgstr "Visualizza solo le chiamate gRPC fornite" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "Non installare le dipendenze." -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "Non sovrascrivere le librerie già installate." -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "Non sovrascrivere le piattaforme già installate." @@ -667,51 +667,51 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "Non terminare il processo del demone se il processo principale muore" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" "Non tentare di aggiornare le dipendenze delle librerie se sono già " "installate." -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "Sto scaricando %s" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "Sto scaricando la firma dell'indice: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Sto scaricando l'indice: %s" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "Sto scaricando la libreria %s" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "Sto scaricando il tool mancante %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "Sto scaricando i pacchetti" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "Sto scaricando la piattaforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "Sto scaricando il tool %s" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "Scarica uno o più core e le corrispondenti dipendenze dei tool." -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "Scarica uno o più librerie, senza installarle." @@ -719,179 +719,179 @@ msgstr "Scarica uno o più librerie, senza installarle." msgid "Enable debug logging of gRPC calls" msgstr "Abilita il debug logging delle chiamate gRPC" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "Immettere il percorso del file zip" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "Immettere l'url del git delle librerie ospitate nei repository" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" "Si è verificato un errore durante l'aggiunta del file all'archivio dello " "sketch" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" "Si è verificato un errore durante l'archiviazione del core compilato " "(caching) in %[1]s: %[2]s" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "Errore durante l'archiviazione: %v" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" "Si è verificato un errore durante il calcolo del percorso relativo del file" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "Si è verificato un errore durante la pulizia della cache: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" "Si è verificato un errore durante la conversione del percorso in assoluto:: " "%v" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "Si è verificato un errore durante la copia del file di output %s" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" "Si è verificato un errore durante la creazione della configurazione: %v" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "Si è verificato un errore durante la creazione dell'istanza: %v" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" "Si è verificato un errore durante la creazione della cartella di output" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" "Si è verificato un errore durante la creazione dell'archivio dello sketch" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "Errore durante la creazione dello sketch: %v" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "Si è verificato un errore durante il rilevamento delle schede: %v" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "Si è verificato un errore durante lo scaricamento di %[1]s:%[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "Si è verificato un errore durante lo scaricamento di %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Si è verificato un errore durante lo scaricamento dell'indice '%s'" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" "Si è verificato un errore durante lo scaricamento della firma dell'indice " "'%s'" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "Errore durante il download della libreria %s" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "Errore durante il download della piattaforma %s" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "Errore durante il download del tool %s" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "Errore durante il debug: %v" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "Si è verificato un errore durante il rilevamento FQBN: %v" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "Si è verificato un errore durante la compilazione: %v" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "Errore durante l'installazione: %v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "Si è verificato un errore durante la disintallazione: %v" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "Si è verificato un errore durante l'aggiornamento: %v" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "Si è verificato un errore durante l'estrazione di %s" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" "Si è verificato un errore durante la ricerca degli artefatti di compilazione" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni di " "debug: %v" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" "Si è verificato un errore nell'acquisizione del percorso assoluto " "dell'archivio degli sketch" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Impossibile ottenere i dettagli della scheda: %v" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" "Si è verificato un errore durante l'acquisizione della directory corrente " "per il database di compilazione: %s" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -900,23 +900,23 @@ msgstr "" "`sketch.yaml`. Controllare se la cartella degli sketch è corretta oppure " "utilizzare il flag --port:: %s" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni della " "libreria %s" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "Impossibile ottenere le informazioni sulle librerie: %v" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" "Si è verificato un errore durante l'acquisizione dei metadati della porta: " "%v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" "Si è verificato un errore durante l'acquisizione dei dettagli delle " @@ -928,66 +928,66 @@ msgstr "" "Si è verificato un errore durante la ricezione dell'input da parte " "dell'utente" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "Si è verificato un errore durante l'inizializzazione dell'istanza: %v" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "Errore durante l'installazione %s: %v" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "Errore durante l'installazione della libreria Git: %v" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" "Si è verificato un errore durante l'installazione della libreria zip: %v" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "Si è verificato un errore durante l'installazione della libreria %s" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "" "Si è verificato un errore durante l'installazione della piattaforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "Errore durante l'installazione del tool %s" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" "Si è verificato un errore durante la visualizzazione dell'elenco delle " "schede: %v" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "Errore nell'elenco delle librerie: %v" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" "Si è verificato un errore durante la visualizzazione dell'elenco delle " "piattaforme: %v" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" "Si è verificato un errore durante il caricamento della piattaforma hardware" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "Si è verificato un errore durante il caricamento dell'indice %s" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "Si è verificato un errore durante l'apertura di %s" @@ -996,130 +996,130 @@ msgid "Error opening debug logging file: %s" msgstr "" "Si è verificato un errore durante l'apertura del file di log di debug: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" "Si è verificato un errore durante l'apertura del codice sorgente che " "sovrascrive i file: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" "Si è verificato un errore durante il parsing del flag --show-properties: %v" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" "Si è verificato un errore durante la lettura della directory di compilazione" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "Si è verificato un errore durante la lettura dei file degli sketch" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" "Si è verificato un errore durante la risoluzione delle dipendenze di %[1]s: " "%[2]s" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" "Si è verificato un errore durante il recupero dell'elenco dei core: %v " -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "Si è verificato un errore durante il ripristino delle modifiche: %s" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" "Si è verificato un errore durante il salvataggio dell'indice scaricato" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" "Si è verificato un errore durante il salvataggio della firma dell'indice " "scaricato" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "Si è verificato un errore durante la ricerca delle schede: %v" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "Si è verificato un errore durante la ricerca delle librerie: %v" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "Si è verificato un errore durante la ricerca delle piattaforme: %v" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" "Si è verificato un errore durante la serializzazione del database di " "compilazione: %s" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "Errore di impostazione della modalità raw: %s" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "Si è verificato un errore durante l'impostazione del valore: %v" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "Si è verificato un errore durante l'avvio della rilevazione: %v" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Si è verificato un errore durante la disinstallazione di %[1]s: %[2]v" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" "Si è verificato un errore durante l'aggiornamento dell'indice della " "libreria: %v" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "Si è verificato un errore durante l'aggiornamento delle librerie" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" "Si è verificato un errore durante l'aggiornamento della piattaforma: %s" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "Si è verificato un errore durante la verifica della firma" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" "Si è verificato un errore durante il rilevamento delle librerie incluse da " "%[1]s" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" "Si è verificato un errore durante la determinazione delle dimensioni dello " "sketch: %s" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" "Si è verificato un errore durante la scrittura del database di compilazione:" " %s" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "Si è verificato un errore durante la scrittura del file: %v" @@ -1127,59 +1127,59 @@ msgstr "Si è verificato un errore durante la scrittura del file: %v" msgid "Error: command description is not supported by %v" msgstr "Errore: la descrizione del comando non è supportata da %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "Errore: il codice sorgente non è valido e sovrascrive i dati: %v" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "Evento" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "Esempi della libreria %s" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "Esempi:" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "Eseguibile per il debug" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Ci si aspettava che lo sketch compilato fosse nella directory %s, invece è " "un file" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "Impossibile cancellare il chip" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "Programmazione non riuscita" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "Impossibile masterizzare il bootloader" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "Impossibile creare la directory dei dati" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "Impossibile creare la directory degli scaricamenti" @@ -1202,15 +1202,15 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Impossibile ascoltare sulla porta TCP: %s. L'indirizzo è già in uso." -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "Caricamento non riuscito" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "File:" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1218,26 +1218,26 @@ msgstr "" "La crittografia/firma del firmware richiede la definizione di tutte le " "seguenti proprietà: %s" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "Il primo messaggio deve contenere la richiesta di debug, non i dati." -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "Il flag %[1]s è obbligatorio se usato insieme a: %[2]s" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "Flag:" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" "Forza l'esecuzione degli script post-install (se la CLI non è in esecuzione " "interattiva)." -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." @@ -1245,29 +1245,29 @@ msgstr "" "Forza l'esecuzione degli script pre-uninstall (se la CLI non viene eseguita " "in modo interattivo)." -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" "Forza il salto degli script post-install (se la CLI non è in esecuzione " "interattiva)." -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" "Forza il salto degli script pre-uninstall (se la CLI viene eseguita in modo " "interattivo)." -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "Sono state trovate %d piattaforme corrispondenti \"%s\": %s" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Fully Qualified Board Name, ad esempio: arduino:avr:uno" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "Il server GDB '%s' non è supportato" @@ -1284,19 +1284,19 @@ msgstr "Genera gli script di completamento" msgid "Generates completion scripts for various shells" msgstr "Genera gli script di completamento per varie shell" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "Sto generando i prototipi di funzione..." -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "Ottiene il valore di una chiave di impostazione." -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "Flag globali:" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1305,29 +1305,29 @@ msgstr "" "lasciando altri %[4]s byte liberi per le variabili locali. Il massimo è " "%[2]s byte." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Le variabili globali usano %[1]s byte di memoria dinamica." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Proprietà identificative:" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "Se impostato, i binari saranno esportati nella cartella degli sketch." -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." @@ -1335,63 +1335,63 @@ msgstr "" "Se impostato, restituisce tutti i core installabili e installati, compresi " "quelli installati manualmente." -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" "Include le librerie integrate (dalle piattaforme e dall'IDE) nell'elenco." -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "Include %s directory nell'archivio." -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "Installare le librerie nella cartella IDE-Builtin" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Installato" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "Installato %s" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "Installazione %s" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "Sto installando la libreria %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Sto installando la piattaforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "Sto installando il tool %s" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "Installa uno o più core e le corrispondenti dipendenze dei tool." -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "Installa nel sistema una o più librerie specificate." -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "Errore interno alla cache" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "La proprietà '%[1]s' non è valida: %[2]s" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "FQBN non è valido" @@ -1399,102 +1399,102 @@ msgstr "FQBN non è valido" msgid "Invalid TCP address: port is missing" msgstr "Indirizzo TCP non valido: manca la porta" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "URL non è valido" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "L' URL aggiuntivo non è valido: %v" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -"L' archivio non è valido: il file %{1}snon è presente nell'archivio %{2}s" +"Archivio non valido: il file %[1]s non è stato trovato nell'archivio %[2]s" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "L' argomento passato non è valido: %v" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "Proprietà di compilazione non valide" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "La dimensione dei dati della regexp non è valida: %s" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "La dimensione della eeprom della regexp non è valida: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "URL non valido: %s" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "Istanza non è valida" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "Oggetto invalido %s" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "Libreria non è valida" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "Livello di log non valido: %s" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "Configurazione di rete non valida: %s" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy '%[1]s' non è valido: %[2]s" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Indice del pacchetto non valido in %s" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "Il parametro %s non è valido: versione non consentita" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "Il valore pid non è valido: '%s'" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "Il profilo non è valido" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "Scrittura non valida in platform.txt" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "La dimensione della regexp non è valida: %s" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Versione non è valida" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "Il valore di vid non è valido: '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1502,75 +1502,75 @@ msgstr "" "Produce solo il database di compilazione, senza compilare. Tutti i comandi " "di compilazione vengono saltati, ad eccezione dei pre* hooks." -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "LIBNAME" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "LIBRERIA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "LIBRARY_NAME" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "Ultimo" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "La libreria %[1]s è stata dichiarata precompilata:" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "La libreria %[1]s è già installata, ma con una versione differente: %[2]s" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "La libreria %s è già alla versione più recente" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "La libreria %s non è installata" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "Impossibile trovare la libreria %s" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "Impossibile trovare la libreria '%s'" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" "La libreria non può utilizzare entramble le cartelle '%[1]s' e '%[2]s'. " "Doppio controllo in '%[3]s'." -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "Impossibile installare la libreria" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "La libreria è stata installata" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "Licenza: %s" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "Collegare tutto insieme..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1578,15 +1578,15 @@ msgstr "" "Elenca tutte le schede in cui è installata la piattaforma di supporto. È possibile cercare\n" "una scheda specifica, se si specifica il nome della scheda" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "Elenca tutte le schede conosciute e il corrispondente FQBN." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "Lista delle schede connesse." -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1594,7 +1594,7 @@ msgstr "" "Elenco delle opzioni della scheda separate da virgole. Oppure può essere " "usato più volte per più opzioni." -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1602,41 +1602,41 @@ msgstr "" "Elenco delle proprietà di costruzione personalizzate separate da virgole. " "Oppure può essere usato più volte per più proprietà." -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "Lista delle libreria con update disponibili." -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "Lista delle piattaforme con update disponibili." -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "Lista di tutte le schede connesse." -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "Elenca i core e le librerie che possono essere aggiornati" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "Sto caricando il file dell'indice: %v" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "Posizione" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" "Poca memoria disponibile, potrebbero presentarsi problemi di stabilità" -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "Manutentore: %s" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1644,39 +1644,39 @@ msgstr "" "Numero massimo di compilazioni parallele. Se impostato a 0, verrà utilizzato" " il numero disponibile di core della CPU." -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" "Tempo massimo di attesa per la rilevazione della porta, ad es: 30s, 1m" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" "I messaggi con questo livello o superiore saranno registrati. I livelli " "validi sono: %s" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Manca '%[1]s' nella libreria %[2]s" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FQBN mancante (Fully Qualified Board Name)" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "Porta mancante" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "Porta di comunicazione non trovata" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "Manca il protocollo della porta" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "Manca il programmatore" @@ -1684,33 +1684,33 @@ msgstr "Manca il programmatore" msgid "Missing required upload field: %s" msgstr "Manca un campo obbligatorio del caricamento: %s" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "Manca la dimensione della regexp" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "Manca il percorso dello sketch" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "Impossibile trovare il monitor '%s'" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "Impostazioni sulla porta del monitor:" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Più di una libreria trovata per \"%[1]s\"" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "Nome" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" @@ -1718,27 +1718,27 @@ msgstr "Nome: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "Nuova porta di caricamento: %[1]s (%[2]s)" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "Nessuna scheda trovata." -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "Nessuna porta predefinita, FQBN o programmatore impostato" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "Nessuna libreria trovata." -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "Nessuna libreria installata." -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "Non ci sono librerie corrispondenti alla tua ricerca." -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1746,54 +1746,54 @@ msgstr "" "Non ci sono biblioteche corrispondenti alla tua ricerca.\n" "Intendevi dire...\n" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "Non sono disponibili aggiornamenti per le librerie." -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "Nessun monitor disponibile per il protocollo della porta %s" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "Non sono state trovate piattaforme o librerie non aggiornate." -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "Nessuna piattaforma installata." -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "Non ci sono piattaforme corrispondenti alla tua ricerca." -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" "Non è stata trovata alcuna porta di upload, come alternativa verrà " "utilizzata %s" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "Non è stata trovata una soluzione valida per le dipendenze" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Memoria esaurita; guarda %[1]s per consigli su come ridurne l'utilizzo." -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "Non usata: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "Sistema Operativo:" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Scheda Arduino ufficiale:" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1801,43 +1801,43 @@ msgstr "" "Omette i dettagli della libreria per tutte le versioni tranne la più recente" " (produce un output JSON più compatto)." -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "Apre una porta di comunicazione con una scheda." -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Opzione:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Facoltativo, può essere: %s. Utilizzato per indicare a gcc quale livello di " "warning utilizzare (flag -W)." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Facoltativo, ripulisce la cartella di build e non usa nessuna build in " "cache." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Facoltativo, ottimizza l'output di compilazione per il debug, piuttosto che " "per il rilascio." -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "Facoltativo, sopprime quasi tutti gli output." -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "Facoltativo, attiva la modalità verbosa." -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1845,7 +1845,7 @@ msgstr "" "Facoltativo. Percorso di un file .json che contiene una serie di " "sostituzioni del codice sorgente dello sketch." -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1853,52 +1853,52 @@ msgstr "" "Sovrascrive una proprietà di build con un valore personalizzato. Può essere " "usato più volte per più proprietà." -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "Sovrascrivi la configurazione corrente del file." -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "Sovrascrivi un archivio già esistente" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "Sovrascrivi il file sketch .ino esistente" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "PACKAGER" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "URL pacchetto:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "Manutentore del pacchetto: " -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "Nome pacchetto:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "Aiuto in linea del pacchetto:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "Website pacchetto:" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "Paragrafo: %s" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "Percorso" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1906,7 +1906,7 @@ msgstr "" "Percorso di un gruppo di librerie. Può essere usato più volte o le voci " "possono essere separate da virgole." -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1914,11 +1914,11 @@ msgstr "" "Percorso della cartella principale di una singola libreria. Può essere usato" " più volte o le voci possono essere separate da virgole." -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "Percorso del file in cui verranno scritti i log." -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1926,20 +1926,20 @@ msgstr "" "Percorso in cui salvare i file compilati. Se omesso, verrà creata una " "directory nel percorso temporaneo predefinito del tuo sistema operativo." -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Esecuzione di un touch reset a 1200-bps sulla porta seriale %s" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "La piattaforma %s è già installata" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "La piattaforma %s è installata" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1947,55 +1947,55 @@ msgstr "" "La piattaforma %s non è stata trovata in nessun indice conosciuto.\n" "Forse è necessario aggiungere un URL di 3terze parti?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "La piattaforma %s è stata disinstallata" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "La piattaforma '%s' è già aggiornata all'ultima versione" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "Impossibile trovare la piattaforma '%s'" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "ID piattaforma" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "L' ID della piattaforma non è esatto" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "URL piattaforma:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "Architettura della piattaforma:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "Categoria della piattaforma:" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "Checksum della piattaforma:" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "Nome del file della piattaforma:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "Nome piattaforma:" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "Dimensione della piattaforma (bytes):" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -2003,7 +2003,7 @@ msgstr "" "Specificare un FQBN. Sono state rilevate più schede sulla porta %[1]s con " "protocollo %[2]s" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -2011,96 +2011,96 @@ msgstr "" "Specificare un FQBN. La scheda sulla porta %[1]s con protocollo %[2]s non " "può essere identificata" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "Porta chiusa: %v" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "Errore di monitoraggio della porta" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Impossibile trovare la libreria precompilata in \"%[1]s\"" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "Visualizza i dettagli di una scheda." -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Stampa il codice preelaborato su stdout invece di compilarlo." -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "Stampa i log sull'output standard." -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "Stampa l'output in formato JSON." -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "Stampa la configurazione attuale" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "Stampa la configurazione attuale." -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "Impossibile trovare il profilo '%s'" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "Impossibile trovare il programmatore '%s'" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "Nome del programmatore" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "Programmatore da utilizzare, ad esempio: atmel_ice" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "Programmatori:" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "La proprietà '%s' non è definita" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "Protocollo" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "La dotazione comprende: %s" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "Rimuove uno o più valori da un'impostazione." -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "Sostituire %[1]s con %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "Sto sostituendo la piattaforma %[1]s con %[2]s" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Tool richiesto:" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Avvio in modalità silenziosa, mostra solo l'ingresso e l'uscita del monitor." @@ -2113,43 +2113,43 @@ msgstr "Avvia la CLI di Arduino come demone gRPC." msgid "Running normal build of the core..." msgstr "Esecuzione della normale compilazione del core..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "Sto avviando lo script pre_uninstall." -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "TERMINE_DI_RICERCA" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "Path del file SVD" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "Salva gli artefatti di compilazione in questa directory." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Cerca una scheda nel gestore delle schede usando le parole chiave " "specificate." -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "Cerca una scheda nel gestore delle schede." -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Cerca un core nel gestore delle schede, usando le parole chiave specificate." -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "Cerca un core nel gestore delle schede." -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2228,23 +2228,23 @@ msgstr "" "- Sito web\n" "\t\t" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "Cerca una o più biblioteche che corrispondono ad una ricerca." -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "Frase: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "Path del server" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "Il server ha risposto con: %s" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "Tipo di server" @@ -2252,15 +2252,15 @@ msgstr "Tipo di server" msgid "Set a value for a field required to upload." msgstr "Imposta un valore per un campo richiesto dal caricamento." -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "Imposta il terminale in modalità raw (non bufferizzata)." -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "Imposta un valore di regolazione." -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." @@ -2269,34 +2269,34 @@ msgstr "" "porta, FQBN o programmatore, vengono visualizzati la porta, l'FQBN ed il " "programmatore predefiniti." -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "Imposta dove salvare il file di configurazione." -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "Impostazioni" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" "Dovrebbe mostrare un messaggio di aiuto, ma è disponibile solo in modalità " "TESTO." -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "Mostra tutte le versioni del core disponibili." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "Mostra tutte le impostazioni della porta di comunicazione." -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" "Mostra anche le schede contrassegnate come 'nascoste' nella piattaforma." -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." @@ -2305,11 +2305,11 @@ msgstr "" "show-properties=unexpanded\" se si desidera che siano esattamente come sono " "definite." -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "Mostra tutti i dettagli delle schede" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2317,30 +2317,30 @@ msgstr "" "Visualizza informazioni dettagliate riguardanti una scheda, in particolare " "se ci sono opzioni che possono essere specificate tramite FQBN." -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "Mostra solo i nomi delle librerie." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "Mostra l'elenco dei programmatori disponibili" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" "Mostra i metadati della sessione di debug invece di avviare il debugger." -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" "Mostra i core e le librerie non aggiornate dopo l'aggiornamento dell'indice" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "Mostra la lista delle librerie installate." -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2354,15 +2354,15 @@ msgstr "" "libreria. Per impostazione predefinita, le librerie fornite come built-in da piattaforme/core non\n" "sono elencate, ma possono essere elencate aggiungendo il flag --all." -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "Mostra l'elenco delle piattaforme installate." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "Mostra l'elenco degli esempi delle librerie." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2370,21 +2370,21 @@ msgstr "" "Mostra l'elenco degli esempi delle librerie. È possibile indicare un nome " "come argomento per cercare una libreria specifica." -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" "Mostra il numero di versione di Arduino CLI installato sul tuo sistema." -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "Mostra il numero di versione di Arduino CLI." -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Dimensione (bytes):" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2392,21 +2392,21 @@ msgstr "" "Lo sketch non si trova nel percorso di compilazione. Specificare un percorso" " di compilazione diverso" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "Sketch è stato creato in: %s" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "Profilo dello sketch da utilizzare" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "Sketch troppo grande; guarda %[1]s per consigli su come ridurne la " "dimensione" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2414,7 +2414,7 @@ msgstr "" "Lo sketch usa %[1]s byte (%[3]s%%) dello spazio disponibile per i programmi." " Il massimo è %[2]s byte." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" @@ -2422,50 +2422,50 @@ msgstr "" "Gli sketch con estensione .pde sono deprecati, rinominare i seguenti file in" " .ino:" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "Salta il linking dell'eseguibile finale." -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Salto il touch reset a 1200-bps: nessuna porta seriale è stata selezionata!" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "Salta la creazione dell'archivio di: %[1]s" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "Salta la compilazione di: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Salta il rilevamento delle dipendenze della libreria precompilata %[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "Salta la configurazione della piattaforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "Salto lo script pre_uninstall." -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "Salta la configurazione dello strumento." -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "Salta: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Non è stato possibile aggiornare alcuni indici." -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" "Alcuni aggiornamenti non sono andati a buon fine, controlla l'output per i " @@ -2475,11 +2475,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "La porta TCP su cui il demone si metterà in ascolto" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "Il formato di output del comando può essere: %s" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" "Il file di configurazione personalizzato (se non specificato, verrà " @@ -2489,19 +2489,19 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "Il flag --debug-file deve essere usato con --debug." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "La configurazione fornita scheda/programmatore NON supporta il debug." -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "La configurazione fornita scheda/programmatore supporta il debug." -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "L'istanza non è più valida e deve essere reinizializzata." -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2509,7 +2509,7 @@ msgstr "" "La chiave '%[1]v' non è un elenco di elementi, non può essere aggiunta.\n" "Forse si può usare '%[2]s'?" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2517,11 +2517,11 @@ msgstr "" "La chiave '%[1]v' non è un elenco di elementi, non può essere rimossa.\n" "Forse si può usare '%[2]s'?" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "La libreria %s richiede altre installazioni:" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2530,7 +2530,7 @@ msgstr "" "crittografare un binario durante il processo di compilazione. Utilizzata " "solo dalle piattaforme che la supportano." -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2539,11 +2539,11 @@ msgstr "" " durante il processo di compilazione. Utilizzata solo dalle piattaforme che " "la supportano." -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "Il formato di output dei log può essere: %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2552,11 +2552,11 @@ msgstr "" "firmare e crittografare un binario. Utilizzato solo dalle piattaforme che lo" " supportano." -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "La piattaforma non supporta '%[1]s' per le librerie precompilate." -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2568,7 +2568,7 @@ msgstr "" " vengono forniti argomenti, il comando aggiorna tutte le librerie installate" " per le quali è disponibile un aggiornamento." -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2576,36 +2576,36 @@ msgstr "" "Questo comando mostra un elenco di core e/o librerie installate\n" "che possono essere aggiornate. Se non è necessario aggiornare nulla, l'output è vuoto." -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "Timestamp di ogni linea in entrata." -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "Il tool %s è già installato" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "Il tool %s è disinstallato" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "La toolchain '%s' non è supportata" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "Il percorso della toolchain" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "Il prefisso della toolchain" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "Il tipo della toolchain" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "Prova ad eseguire %s" @@ -2613,57 +2613,57 @@ msgstr "Prova ad eseguire %s" msgid "Turns on verbose mode." msgstr "Attiva la modalità verbosa." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "Tipo" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "Tipi: %s" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" "Non è possibile memorizzare nella cache il core compilato, riferisci ai " "manutentori di %[1]s di seguire le istruzioni %[2]s" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "Impossibile ottenere la cartella documenti: %v" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "Impossibile ottenere la cartella dati dell'app locale: %v" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "Impossibile ottenere la home directory dell'utente: %v" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "Non è stato possibile analizzare l'URL" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "Disinstallazione di %s" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "Disinstallazione di %s, il tool non è più necessario." -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." @@ -2671,60 +2671,60 @@ msgstr "" "Disinstalla uno o più core e le corrispondenti dipendenze dei tool se non " "vengono più utilizzati." -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "Disinstalla una o più librerie." -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "Sconosciuto" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "FQBN sconosciuto" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "Aggiorna l'indice dei core e delle librerie" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" "Aggiorna l'indice dei core e delle librerie alle versioni più recenti." -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "Aggiorna l'indice dei core alla versione più recente." -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "Aggiorna l'indice dei core." -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "Aggiorna l'indice delle librerie alla versione più recente." -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "Aggiorna l'indice delle librerie." -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "L'aggiornamento non accetta parametri con la versione" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "Aggiorna i core e le librerie installate alla versione più recente." -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "Aggiorna i core e le librerie installate." -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "Aggiorna le librerie installate." -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "Aggiorna una o tutte le piattaforme alla versione più recente." @@ -2739,19 +2739,19 @@ msgstr "" "Carica gli sketch di Arduino. Questo NON compila lo sketch prima del " "caricamento." -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Indirizzo della porta di caricamento, ad esempio: COM3 o /dev/ttyACM2" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "Porta di caricamento trovata su %s" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "Protocollo della porta di caricamento, ad esempio: seriale" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "Carica il binario dopo la compilazione." @@ -2764,14 +2764,14 @@ msgstr "" msgid "Upload the bootloader." msgstr "Carica il bootloader." -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" "Il caricamento sulla scheda specificata tramite il protocollo %s richiede le" " seguenti informazioni:" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2779,107 +2779,107 @@ msgstr "" "Gli URL non possono contenere virgole. Separare con uno spazio gli url multipli esportati come env var:\n" "%s" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "Uso: " -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "Usa %s per ulteriori informazioni su un comando." -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "Libreria utilizzata" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "Piattaforma utilizzata" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Usata: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo della scheda '%[1]s' dalla piattaforma nella cartella: %[2]s" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Utilizzo delle dipendenze delle librerie nella cache per i file: %[1]s" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Uso la libreria %[1]s alla versione %[2]s nella cartella: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Uso la libreria %[1]s nella cartella: %[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "Utilizzo del core precompilato: %[1]s" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "Utilizzo della libreria precompilata in %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "Uso il file precedentemente compilato: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "VERSIONE" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "VERSION_NUMBER" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "Valori" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "Verifica dei binari dopo il caricamento." -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "Versione" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "Versioni: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "ATTENZIONE: non è possibile configurare la piattaforma: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "ATTENZIONE non è possibile configurare lo strumento: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "AVVISO non è possibile eseguire lo script pre_uninstall: %s" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ATTENZIONE: lo sketch è compilato utilizzando una o più librerie " "personalizzate." -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2888,26 +2888,26 @@ msgstr "" "%[2]s e potrebbe non essere compatibile con la tua scheda che utilizza " "l'architettura %[3]s" -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "In attesa della porta di caricamento..." -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" "Attenzione: la scheda %[1]s non definisce una preferenza per %[2]s. " "Autoimpostato su: %[3]s" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "Sito web: %s" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "Scrive la configurazione corrente in un file di configurazione." -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." @@ -2915,60 +2915,60 @@ msgstr "" "Scrive la configurazione corrente nel file di configurazione nella directory" " dei dati." -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Non puoi utilizzare il flag %s durante la compilazione con un profilo." -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "L'hash dell'archivio è diverso dall'hash dell'indice" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "l'archivio non è valido: sono stati trovati più file nel livello superiore " "del file zip" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" "l'archivio non è valido: nessun file trovato nella cartella principale del " "file zip" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "percorso dell'archivio" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "Manca il pattern arduino-preprocessor" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "disponibile solo in formato testo" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "ricerca di base per \"audio\"" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "ricerca di base per \"esp32\" e \"display\" limitata al manutentore ufficiale" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "file binario non trovato in %s" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "la scheda %s non è stata trovata" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "nomescheda" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "la directory delle librerie integrate non è configurata" @@ -2976,413 +2976,407 @@ msgstr "la directory delle librerie integrate non è configurata" msgid "can't find latest release of %s" msgstr "Impossibile trovare l'ultima versione di %s" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "Impossibile trovare l'ultima versione del tool %s" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "Impossibile trovare il file principale dello sketch in %s" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "Non riesco a trovare un pattern per il rilevamento con id %s" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "candidati" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "Impossibile eseguire il tool di caricamento: %s" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "Sto controllando l'integrità dell'archivio locale" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "pulizia del percorso di compilazione" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "comando" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "il comando '%[1]s' non è andato a buon fine: %[2]s" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "comunicazione fuori sincronia, atteso '%[1]s', ricevuto '%[2]s'" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "calcolo dell'hash: %s" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "La chiave della configurazione %s contiene un carattere non valido" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "Il valore della configurazione %s contiene un carattere non valido" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "copia della libreria nella directory di destinazione:" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "impossibile trovare un artefatto di compilazione valido" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "impossibile sovrascrivere" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "Impossibile rimuovere la vecchia libreria" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "non è stato possibile aggiornare il file del progetto" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "creazione in corso della cartella cache del core: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "creazione di installed.json in %[1]s: %[2]s" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "creazione di una directory temporanea per l'estrazione: %s" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "la sezione dati supera lo spazio disponibile nella scheda" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "la dipendenza '%s' non è disponibile" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" "La directory di destinazione %s esiste già, non è possibile installare" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "il percorse della directory è già esistente" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "la directory non esiste: %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" -msgstr "il processo di rilevamento %[1]s non è stato avviato: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" +msgstr "sono stati trovati %[1]s processi non avviati" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "rilevamento %s non è stato trovato" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "il rilevamento %s non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "il rilascio del rilevamento non è stato trovato: %s" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "scarica una versione specifica (in questo caso la 1.6.9)." -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "scarica l'ultima versione del core SAMD di Arduino." -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "scaricato" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "sto scaricando il tool %[1]s: %[2]s" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "identificativo della scheda vuoto" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" "si è verificato un errore durante il caricamento del file di progetto dello " "sketch:" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "si è verificato un errore durante l'apertura di %s" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "si è verificato un errore durante il parsing dei vincoli di versione" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" "si è verificato un errore durante l'elaborazione della risposta del server" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" "si è verificato un errore durante l'interrogazione di Arduino Cloud Api" -#: internal/arduino/resources/install.go:67 +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" +msgstr "estrazione in corso dell'archivio" + +#: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" msgstr "estrazione dell'archivio: %s" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" -msgstr "estrazione dell'archivio: %w" - -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "Impossibile calcolare l'hash del file \"%s\"" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "Impossibile inizializzare il client http" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" "La dimensione dell'archivio recuperato differisce dalla dimensione " "specificata nell'indice" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "i file dell'archivio devono essere collocati in una sottodirectory" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "sto cercando il percorso assoluto di %s" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "flag" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "il seguente collegamento simbolico %s" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "per una specifica versione." -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "per la versione più recente." -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "per la specifica versione." -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "il campo di fqbn %s contiene un carattere non valido" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" -msgstr "sto generando installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" +msgstr "generazione in corso di installation.id" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" -msgstr "sto generando installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" +msgstr "generazione in corso di installation.secret" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "sto recuperando le informazioni sui file dell'archivio: %s" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "sto recuperando le informazioni sull'archivio: %s" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "sto recuperando il percorso dell'archivio: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "sto recuperando le proprietà di costruzione della scheda %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze del rilevamento per la piattaforma %[1]s: " "%[2]s" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze del monitor per la piattaforma %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze dei tool per la piattaforma %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "La directory di installazione non è stata impostata" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "Sto installando il tool %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "Sto installando la piattaforma %[1]s: %[2]s" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" "il terminale interattivo non è supportato per il formato dell'output '%s'" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "la direttiva '%s' non è valida" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "il formato del checksum non è valido: %s" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "l'opzione di configurazione non è valida: %s" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "l'architettura del core vuota non è valida '%s'" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "l'argomento del core vuoto non è valido" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "il nome del core vuoto non è valido '%s'" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "il riferimento al core vuoto non è valido '%s'" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "la versione del core vuota non è valida: '%s'" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "il nome della libreria vuoto non è valido" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "la versione della libreria vuota non è valida: %s" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "è stata trovata un'opzione vuota non valida" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "url git non è valido" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "hash non valido '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "elemento non valido %s" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "la direttiva della libreria non è valida:" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "il layout della libreria non è valido: %s" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "la posizione della libreria non è valida: %s" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "libreria non valida: non è stato trovato alcun file di intestazione" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "l'opzione '%s' non è valida" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "l'opzione '%s' non è valida." -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -"il percorso della creazione della cartella di configurazione non è valido: " -"%[1]s error: %[2]w" +"path non valido per la creazione della cartella di configurazione: errore " +"%[1]s" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" -msgstr "" -"il percorso per la scrittura del file di inventario non è valido: %[1]s " -"error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" +msgstr "path non valido per la scrittura del file di inventario: errore %[1]s" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "la dimensione dell'archivio della piattaforma non è valida: %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "l'identificatore della piattaforma non è valido" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "URL dell'indice della piattaforma non è valido:" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "il riferimento al monitor collegabile non è valido: %s" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "il valore di configurazione della porta non è valido per %s: %s" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "la configurazione della porta non è valida: %s" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "scrittura non valida '%[1]s': %[2]s" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " @@ -3392,161 +3386,161 @@ msgstr "" "alfanumerico o \"_\", quelli successivi possono contenere anche \"-\" e " "\".\". L'ultimo non può essere \".\"." -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "il valore '%[1]s' non è valido per l'opzione '%[2]s'" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "la directory della versione non è valida %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "la versione non è valida:" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "parole chiave" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "librerie create da Daniel Garcia" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "librerie create solo da Adafruit con \"gfx\" nel loro nome" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "librerie che dipendono almeno da \"IRremote\"" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "librerie che dipendono solo da \"IRremote\"" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "librerie con \"buzzer\" nel campo nome" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "librerie con un nome che corrisponde esattamente a \"pcf8523\"" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "la libreria %s è già installata" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "la libreria non è valida" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "caricamento di %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "caricamento delle schede: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "caricamento del file indice json %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "caricamento della libreria da %[1]s: %[2]s" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "caricamento di library.properties: %s" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "rilascio della piattaforma di caricamento %s" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "caricamento di platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "caricamento della piattaforma richiesta %s" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "caricamento del tool richiesto %s" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "rilascio del tool di caricamento in %s" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "sto cercando boards.txt in %s" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "ricerca degli artefatti di compilazione in corso" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "il file principale manca dallo sketch: %s" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "Manca la direttiva '%s'" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "manca il checksum di: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "manca il pacchetto %[1]s a cui fa riferimento la scheda %[2]s" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "Manca l'indice del pacchetto %s, non possono essere garantiti aggiornamenti " "futuri" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "manca la piattaforma %[1]s:%[2]s referenziata dalla scheda %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "manca la release della piattaforma %[1]s:%[2]s a cui fa riferimento la " "scheda %[3]s" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "Firma mancante" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "release del monitor non è stata trovata: %s" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "sto spostando l'archivio estratto nella directory di destinazione: %s" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "sono stati trovati più artefatti di compilazione: '%[1]s' e '%[2]s'" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "Sono stati trovati più file di sketch principale (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3554,182 +3548,186 @@ msgstr "" "non è disponibile una versione degli strumenti di %[1]s per il sistema " "operativo corrente, prova a contattare %[2]s" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "non è stata specificata alcuna istanza" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "non è stata specificata alcuna directory/file di sketch o di build" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "nessun file o directory di questo tipo" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" "non c'è una directory radice unica nell'archivio, ma sono state trovate " "'%[1]s' e '%[2]s'." -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "Non è stata fornita alcuna porta di upload" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "Non è stato trovato uno sketch valido in %[1]s: manca %[2]s" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" "non sono disponibili versioni per il sistema operativo corrente, prova a " "contattare %s" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "non è un FQBN: %s" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "non è in esecuzione in un terminale" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "apertura del file di archivio: %s" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "apertura di boards.txt" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "apertura del file della firma: %s" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "apertura del file di destinazione: %s" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "il pacchetto %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "Il pacchetto '%s' non è stato trovato" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "sto facendo il parsing di fqbn: %s" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "sto facendo il parsing di library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "il percorso non è una directory della piattaforma: %s" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "la piattaforma %[1]s non è stata trovata nel pacchetto %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "la piattaforma %s non è installata" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "la piattaforma non è disponibile per il sistema operativo in uso" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "piattaforma non installata" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "utilizza invece --build-property." -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "rilevamento collegabile già aggiunto: %s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "porta" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "la porta non è stata trovata: %[1]s %[2]s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "programmatore" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" "la versione del protocollo non è supportata: richiesta %[1]d, ottenuta %[2]d" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "lettura della directory %[1]s: %[2]s" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" -msgstr "lettura del contenuto della directory %[1]s: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" +msgstr "lettura in corso del contenuto della directory %[1]s" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "lettura cartella %s" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" -msgstr "lettura del contenuto della directory %s: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" +msgstr "lettura in corso del contenuto della directory %s" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "lettura del file %[1]s: %[2]s" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "lettura dei file in corso" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "lettura degli header delle librerie: %s" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" -msgstr "lettura delle directory lib src: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" +msgstr "lettura in corso degli header della libreria" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" -msgstr "lettura degli header delle librerie: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" +msgstr "lettura in corso della directory dei sorgenti della libreria: %s" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "lettura di library_index.json: %s" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "lettura della directory principale del pacchetto: %s" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "lettura degli sketch in corso" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "scrittura non trovata '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "il rilascio %[1]s non è stato trovato per il tool %[2]s" @@ -3738,97 +3736,97 @@ msgstr "il rilascio %[1]s non è stato trovato per il tool %[2]s" msgid "release cannot be nil" msgstr "il rilascio non può essere nullo" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "sto rimuovendo il file di archivio danneggiato: %s" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "rimozione directory della libreria: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "sto rimuovendo i file della piattaforma: %s" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" "la versione richiesta %[1]s non è stata trovata per la piattaforma %[2]s" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "sto recuperando le chiavi pubbliche di Arduino: %s" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "scansione degli esempi di sketch in corso" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "ricerca nella directory principale del pacchetto: %s" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "Il nome dello sketch non può essere vuoto" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "il nome dello sketch può essere riservato \"%[1]s\"" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" "il nome dello sketch è troppo lungo (%[1]d caratteri). La lunghezza massima " "consentita è %[2]d" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "il percorso dello sketch non è valido" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "percorso dello sketch" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "Avvio della rilevazione %s" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "verifica del checksum dell'archivio: %s" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "verifica delle dimensioni dell'archivio: %s" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "verifica se l'archivio è memorizzato nella cache: %s" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "verifica l'integrità dell'archivio locale: %s" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "la sezione del testo supera lo spazio disponibile nella scheda" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "il database di compilazione potrebbe essere incompleto o impreciso" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "il server ha risposto con lo stato %s" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "timeout in attesa del messaggio" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "il tool %s non è gestito dal gestore dei pacchetti" @@ -3837,16 +3835,16 @@ msgstr "il tool %s non è gestito dal gestore dei pacchetti" msgid "tool %s not found" msgstr "Il tool %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "Il tool non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "il rilascio del tool non è stato trovato: %s" @@ -3854,91 +3852,91 @@ msgstr "il rilascio del tool non è stato trovato: %s" msgid "tool version %s not found" msgstr "la versione %s del tool non è stata trovata" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "sono necessarie due versioni diverse della libreria %[1]s: %[2]s e %[3]s" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" "non è possibile calcolare il percorso relativo allo sketch per l'elemento" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "non è possibile creare una cartella per salvare lo sketch" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "non è possibile creare la cartella contenente l'elemento" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" "non è possibile eseguire il marshalling della configurazione in YAML: %v" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "non è possibile leggere il contenuto dell'elemento di destinazione" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "non è stato possibile leggere i contenuti della risorsa" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "non è possibile scrivere sul file di destinazione" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "pacchetto sconosciuto %s" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "piattaforma sconosciuta %s:%s" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "estensione sconosciuta per il file sketch \"%s\"" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "l'algoritmo dell'hash non è supportato: %s" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "aggiorna arduino:samd all'ultima versione" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "aggiornare tutto con l'ultima versione disponibile" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "errore durante il caricamento: %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "la directory dell'utente non è configurata" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "l'input dell'utente non è supportato per il formato dell'output '%s'" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "l'input dell'utente non è supportato nella modalità non interattiva" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "la versione %s non è disponibile per questo sistema operativo" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "la versione %s non è stata trovata" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "formato errato nella risposta del server" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index dcabc53cf9c..159a7e585a8 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -15,104 +15,104 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s パターンが見つかりません" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%sはすでにダウンロードされています" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%sと%sは同時に利用できません" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%sをインストールしました" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%sはすでにインストールされています。" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%sはディレクトリではありません" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(レガシー)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "" @@ -120,39 +120,39 @@ msgstr "" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "" @@ -160,79 +160,79 @@ msgstr "" msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sにビルドされたコア(キャッシュ)をアーカイブ中です" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "" @@ -240,54 +240,54 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "ブートローダのファイルが指定されましたが次が不足しています:%[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -295,171 +295,171 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "スケッチをコンパイルしています..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" @@ -467,44 +467,44 @@ msgstr "" msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "" @@ -512,71 +512,71 @@ msgstr "" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "初期値" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "" @@ -594,7 +594,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "" @@ -602,15 +602,15 @@ msgstr "" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "" @@ -623,49 +623,49 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" @@ -673,178 +673,178 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -852,59 +852,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -912,109 +912,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1022,57 +1022,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1092,62 +1092,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1164,109 +1164,109 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" "最大%[2]sバイトのRAMのうち、グローバル変数が%[1]sバイト(%[3]s%%)を使っていて、ローカル変数で%[4]sバイト使うことができます。" -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "グローバル変数は%[1]sバイトのRAMを使用しています。" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "インストール済" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "" @@ -1274,266 +1274,266 @@ msgstr "" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "スケッチが使用できるメモリが少なくなっています。動作が不安定になる可能性があります。" -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]sのライブラリに「%[1]s」がありません" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1541,33 +1541,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "「%[1]s」に対して複数のライブラリが見つかりました" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "" @@ -1575,360 +1575,360 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "スケッチが使用するメモリが足りません。メモリを節約する方法については、以下のURLのページを参照してください。%[1]s" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "未使用:%[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "シリアルポート" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1940,40 +1940,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2020,23 +2020,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2044,82 +2044,82 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2128,105 +2128,105 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "スケッチが大きすぎます。%[1]s には、小さくするコツが書いてあります。" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "最大%[2]sバイトのフラッシュメモリのうち、スケッチが%[1]sバイト(%[3]s%%)を使っています。" -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2234,11 +2234,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2246,61 +2246,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2308,42 +2308,42 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2351,113 +2351,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "タイプ" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2470,19 +2470,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2494,193 +2494,193 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "使用済:%[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "次のフォルダのライブラリ%[1]sバージョン%[2]sを使用中:%[3]s %[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "次のフォルダのライブラリ%[1]sを使用中:%[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "以前コンパイルされたファイルを使用中:%[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" "警告:ライブラリ%[1]sはアーキテクチャ%[2]sに対応したものであり、アーキテクチャ%[3]sで動作するこのボードとは互換性がないかもしれません。" -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2688,730 +2688,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3420,94 +3420,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3516,16 +3516,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3533,88 +3533,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index e643a9fe945..e966d20453b 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -13,104 +13,104 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s 패턴이 없습니다" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(레거시)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "" @@ -118,39 +118,39 @@ msgstr "" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "" @@ -158,79 +158,79 @@ msgstr "" msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "" -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "" @@ -238,54 +238,54 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "부트로더 파일이 지정되었으나 누락됨: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -293,171 +293,171 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "스케치를 컴파일 중…" -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" @@ -465,44 +465,44 @@ msgstr "" msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "" @@ -510,71 +510,71 @@ msgstr "" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "디폴트" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "" @@ -592,7 +592,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "" @@ -600,15 +600,15 @@ msgstr "" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "" @@ -621,49 +621,49 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" @@ -671,178 +671,178 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -850,59 +850,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -910,109 +910,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1020,57 +1020,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1090,62 +1090,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1162,109 +1162,109 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" "전역 변수는 동적 메모리 %[1]s바이트(%[3]s%%)를 사용, %[4]s바이트의 지역변수가 남음. 최대는 %[2]s 바이트." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "전역 변수는 %[1]s 바이트의 동적 메모리를 사용." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "설치됨" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "" @@ -1272,266 +1272,266 @@ msgstr "" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "사용 가능한 메모리 부족, 안정성에 문제가 생길 수 있습니다." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "라이브러리 %[2]s에서 '%[1]s'가 없음" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1539,33 +1539,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "\"%[1]s\"를 위한 복수개의 라이브러리가 발견되었습니다" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "" @@ -1573,360 +1573,360 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "메모리가 충분하지 않음; 메모리를 줄이기 위한 팁을 위해 다음 링크를 참고하세요%[1]s" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "사용되지 않음: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "포트" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1938,40 +1938,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2018,23 +2018,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2042,82 +2042,82 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2126,105 +2126,105 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "스케치가 너무 큼; 이것을 줄이기 위해 다음을 참고하세요. %[1]s" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "스케치는 프로그램 저장 공간 %[1]s 바이트(%[3]s%%)를 사용. 최대 %[2]s 바이트." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2232,11 +2232,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2244,61 +2244,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2306,42 +2306,42 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2349,113 +2349,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "타입" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2468,19 +2468,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2492,193 +2492,193 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "사용됨: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "라이브러리 %[1]s를 버전 %[2]s 폴더: %[3]s %[4]s 에서 사용" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "폴더:%[2]s %[3]s의 라이브러리 %[1]s 사용" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "이전에 컴파일된 파일: %[1]s 사용" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" "경고: 라이브러리 %[1]s가 %[2]s 아키텍처에서 실행되며 %[3]s아키텍처에서 실행되는 현재보드에서는 호환되지 않을 수 있습니다." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2686,730 +2686,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3418,94 +3418,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3514,16 +3514,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3531,88 +3531,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index f874e68305b..40142b4f210 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -13,104 +13,104 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s schon erofgelueden" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s installéiert" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s ass schon installéiert." -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s muss installéiert ginn." -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(verstoppt)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "" @@ -118,39 +118,39 @@ msgstr "" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "" @@ -158,79 +158,79 @@ msgstr "" msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "Auteur: %s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "" @@ -238,54 +238,54 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Kann Bibliothéik net roflueden" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -293,171 +293,171 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "Kategorie: %s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "" -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" @@ -465,44 +465,44 @@ msgstr "" msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "" @@ -510,71 +510,71 @@ msgstr "" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "Beschreiwung" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "" @@ -592,7 +592,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "" @@ -600,15 +600,15 @@ msgstr "" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "" @@ -621,49 +621,49 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" @@ -671,178 +671,178 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "Feeler wärend der Installatioun: %v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -850,59 +850,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "Feeler bei der Installatioun vun %s: %v" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "Feeler bei der Installatioun vun der Bibliothéik %s" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -910,109 +910,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1020,57 +1020,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "Beispiller fir d'Bibliothéik %s" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "Beispiller:" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1090,62 +1090,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1162,108 +1162,108 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Installéiert" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "" @@ -1271,266 +1271,266 @@ msgstr "" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "Ongülteg Bibliothéik" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Ongülteg Versioun" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "BIBLIOTHEIK" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "D'Bibliothéik %s huet schon déi neisten Versioun" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "Bibliothéik %s ass net installéiert" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "Bibliothéik %s net fonnt" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "Bibliothéik '%s' net fonnt" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "Bibliothéik installéiert" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1538,33 +1538,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "Numm" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "Numm: \"%s\"" @@ -1572,360 +1572,360 @@ msgstr "Numm: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Optioun:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1937,40 +1937,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2017,23 +2017,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2041,82 +2041,82 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "Astellung" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2125,105 +2125,105 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Gréisst (Bytes):" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "" -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2231,11 +2231,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2243,61 +2243,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2305,42 +2305,42 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2348,113 +2348,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "Onbekannt" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2467,19 +2467,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2491,192 +2491,192 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "Benotzten Bibliothéik" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Benotzt: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "Versioun" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "Versiounen: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "Websäit: %s" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2684,730 +2684,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "erofgelueden" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "ongültegen, eidelen Bibliothéiksnumm" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "ongülteg, eidel Bibliothéiksversioun: %s" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "Ongülteg Optioun '%s'" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "Ongülteg Versioun" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "Bibliothéik %s ass schon installéiert" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "Bibliothéik ongülteg" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3416,94 +3416,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3512,16 +3512,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3529,88 +3529,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index 7b5de067485..b64f0193812 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -15,104 +15,104 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]sfolder nie jest już wspierany,.Zobacz %[2]spo więcej informacji" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]snieprawidłowe, przebudowywuję całość" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]sjest wymagane ale %[2]s jest obecnie zaistalowane" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "Brakujący wzorzec %[1]s" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%sjuż pobrane" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s oraz %s nie mogą być razem użyte" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s zainstalowane" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%sjuż jest zainstalowane" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%snie jest " -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%snie jest zarządzane przez zarządcę paczek" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%smusi byc zainstalowane" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s brakuje wzoru" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "'%s' posiada niewłaściwy podpis" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(ukryte)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(przestarzałe)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "" @@ -120,39 +120,39 @@ msgstr "" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "" @@ -160,79 +160,79 @@ msgstr "" msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "Architektura: %s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archiwizowanie budowanego rdzenia (buforowanie) w: %[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "Autor: %s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "Dostępne" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "" @@ -240,54 +240,54 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nazwa płytki:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "Podany nieistniejący plik programu rozruchowego: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -295,171 +295,171 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "Kompilowanie szkicu..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" @@ -467,44 +467,44 @@ msgstr "" msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "" @@ -512,71 +512,71 @@ msgstr "" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "Domyślne" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "" @@ -594,7 +594,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "" @@ -602,15 +602,15 @@ msgstr "" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "" @@ -623,49 +623,49 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" @@ -673,178 +673,178 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -852,59 +852,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -912,109 +912,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1022,57 +1022,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1092,62 +1092,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1164,19 +1164,19 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1185,90 +1185,90 @@ msgstr "" "pozostawiając %[4]s bajtów dla zmiennych lokalnych. Maksimum to %[2]s " "bajtów." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Zmienne globalne używają %[1]s bajtów pamięci dynamicznej." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Zainstalowany" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "" @@ -1276,267 +1276,267 @@ msgstr "" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" "Niski poziom dostępnej pamięci, mogą wystąpić problemy ze stabilnością." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Brakuje '%[1]s' z biblioteki w %[2]s" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1544,33 +1544,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Znaleziono wiele bibliotek w \"%[1]s\"" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "" @@ -1578,362 +1578,362 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Niewystarczająca ilość pamięci; sprawdź %[1]s w poszukiwaniu rozwiązania " "problemu" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "Niewykorzystane: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1945,40 +1945,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2025,23 +2025,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2049,82 +2049,82 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2133,52 +2133,52 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Szkic za duży, zobacz porady na %[1]s w celu zmiejszenia go." -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2186,54 +2186,54 @@ msgstr "" "Szkic używa %[1]s bajtów (%[3]s%%) pamięci programu. Maksimum to %[2]s " "bajtów." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2241,11 +2241,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2253,61 +2253,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2315,42 +2315,42 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2358,113 +2358,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "Wpisz" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2477,19 +2477,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2501,115 +2501,115 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Wykorzystane: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Użycie biblioteki %[1]s w wersji %[2]s z folderu: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Użycie biblioteki %[1]s z folderu %[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "Użycie wcześniej skompilowanego pliku: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2618,78 +2618,78 @@ msgstr "" "może nie być kompatybilna z obecną płytką która działa na " "architekturze(/architekturach) %[3]s." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2697,730 +2697,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3429,94 +3429,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3525,16 +3525,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3542,88 +3542,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index 95141308ee0..2a534ac1561 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -3,10 +3,11 @@ # CLI team <prj_cli_team@arduino.cc>, 2022 # Silas Sousa, 2022 # Kaseioo <kaseio@protonmail.com>, 2023 +# Igor Rückert, 2024 # msgid "" msgstr "" -"Last-Translator: Kaseioo <kaseio@protonmail.com>, 2023\n" +"Last-Translator: Igor Rückert, 2024\n" "Language-Team: Portuguese (https://app.transifex.com/arduino-1/teams/108174/pt/)\n" "Language: pt\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" @@ -15,61 +16,61 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[5]s%[4]sData%[3]scomprometer%[2]sVersão" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]spasta não é mais suportada! Ver%[2]sPara maiores informações" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]sinválido, refazendo tudo" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s‎é necessário, mas‎%[2]snão é instalado em nenhum momento." -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]so padrão está faltando" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s‎já baixado‎" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%se%s‎não pode ser usado em conjunto‎" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%sinstalado" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s‎já está instalado.‎" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s‎não é um diretório‎" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s‎não é gerenciado pelo gerente de pacotes‎" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s‎deve ser instalado.‎" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%spadrão está faltando" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "%s‎tem uma assinatura inválida‎" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -77,15 +78,15 @@ msgstr "" "'build.core' e 'build.variant' referem a plataformas diferentes: %[1]s e " "%[2]s" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "‎(oculto)‎" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "‎(legado)‎" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" @@ -93,7 +94,7 @@ msgstr "" "%v‎--git-url e --zip-path são desativados por padrão, para obter mais " "informações, consulte:‎" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." @@ -101,25 +102,25 @@ msgstr "" "‎--git-url e --zip-path autorizaram a instalação de arquivos não confiáveis," " use por sua conta e risco.‎" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" "--git-url ou --zip-path não podem ser usados com --install-in-builtin-dir" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "arquivo .ino já existe" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "‎Uma nova atualização do Arduino CLI está disponível:‎" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "‎É necessário um programador para carregar‎" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "ARCH" @@ -127,39 +128,39 @@ msgstr "ARCH" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "MANUAL DE LINHA DE COMANDO ARDUINO" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "Tópicos de ajuda adicionais:" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "Adicionar um ou mais valores para uma configuração." -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "Apelidos:" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." -msgstr "" +msgstr "Todas as plataformas estão atualizadas." -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "Todos os Núcleos já estão na versão mais recente" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "%s‎Já instalado‎" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]sAlternativas para‎%[2]s:" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "‎Ocorreu um erro ao adicionar os protótipos‎" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "‎Ocorreu um erro na detecção de bibliotecas‎" @@ -167,63 +168,63 @@ msgstr "‎Ocorreu um erro na detecção de bibliotecas‎" msgid "Append debug logging to the specified file" msgstr "‎Registro de depuração de anexação ao arquivo especificado‎" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "%sArquitetura:‎" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "O Arquivo já existe" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sArquivando núcleo construído (cache) em:" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "Comandos de esboço da Linha de Comando Arduino" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Linha de Comando Arduino." -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Interface de Linha de Comando Arduino (arduino-cli)." -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "Comandos de Placa Arduino" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "Comandos de Cache Arduino." -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "Comandos Arduino sobre bibliotecas." -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "Comandos de configuração Arduino" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "Operações centrais Arduino." -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "%vErro nos argumentos:" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "‎Anexa um sketch a uma placa.‎" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "%sAltor" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -231,7 +232,7 @@ msgstr "" "Instalação automática de bibliotecas não pode ser realizada neste caso. Por " "favor, remova todas as cópias manualmente e tente novamente." -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." @@ -239,11 +240,11 @@ msgstr "" "Desinstalação automática de bibliotecas não pode ser realizada neste caso. " "Por favor, as remova manualmente e tente novamente. " -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "Disponível‎" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "Comandos Disponíveis:" @@ -251,57 +252,57 @@ msgstr "Comandos Disponíveis:" msgid "Binary file to upload." msgstr "‎Arquivo binário para carregar.‎" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Nome da Placa" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "Nome da Placa:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "Versão da Placa:" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "" "Um Arquivo carregador de inicialização definido, mas está faltando: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" "Builds de 'core.a' são salvos nesse caminho para serem armazenados no Cache " "e reutilizados. " -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "Não é possível criar o diretório de dados %s" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "Não é possível criar esboço" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "Não é possível baixar biblioteca" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "Não foi possível encontrar as dependências para a plataforma %s" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "Não é possível abrir esboço" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "Não é possível atualizar o esboço" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "Não é possível utilizar as seguintes Flags ao mesmo tempo: %s" @@ -309,100 +310,101 @@ msgstr "Não é possível utilizar as seguintes Flags ao mesmo tempo: %s" msgid "Can't write debug log: %s" msgstr "Não é possível escrever para o arquivo de depuração: %s" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "Não é possível criar Build do diretório de Cache" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "Não é possível criar Build do diretório" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "Não é possível criar diretório de arquivo de configuração: %v" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "Não é possível criar arquivo de configuração: %v" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "Não é possível criar diretório temporário" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "Não é possível criar arquivo temporário" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Não é possível deletar a chave %[1]s:%[2]v" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "Não é possível executar ferramenta de depuração" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "Não é possível encontrar caminho absoluto: %v" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Não é possível obter a chave de configuração %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "Não é possível instalar plataforma" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "Não é possível instalar ferramenta %s" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "Não é possível realizar redefinição de porta: %s" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Não é possível remover a chave de configuração %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "Não é possível realizar Upgrade na plataforma" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "Categoria: %s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "Verifique o estado das dependências para a biblioteca especificada." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" +"Verifique se a combinação placa/programador fornecida suporta depuração." -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "Checksum difere da Checksum em packages.json" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "Checksum: " -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "Limpar Caches." -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" "Lista de valores separados por vírgula para URLs adicionais para o " "Gerenciador de Placas" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." @@ -410,46 +412,46 @@ msgstr "" "Comando continua a executar e a imprimir lista de placas conectadas sempre " "que ocorrer uma mudança." -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "Esboço compilado não encontrado em %s" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "Compila esboços Arduino." -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "Compilando núcleo..." -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "Compilando bibliotecas..." -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "%[1]s‎Biblioteca de compilação‎ \"\"" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "Compilando sketch..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" "Arquivo de configuração já existe, use --overwrite para descartar o arquivo " "atual." -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "%s‎Arquivo Config escrito para:‎" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "Opções de configuração para %s" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -457,31 +459,31 @@ msgstr "" "Designe as configurações da porta de comunicação. O formato é <ID> = " "<value>[,<ID> = <value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "Configurando plataforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "Configurando ferramenta." -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." -msgstr "" +msgstr "Conectando a %s. Pressione CTRL-C para sair." -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "Núcleo" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "Não foi possível conectar via HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Não foi possível criar diretório Index" @@ -489,27 +491,27 @@ msgstr "Não foi possível criar diretório Index" msgid "Couldn't deeply cache core build: %[1]s" msgstr "Não foi possível fazer o Cache profundo para a Build central: %[1]s" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "Não foi possível determinar o tamanho do programa" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "Não foi possível obter o diretório de trabalho atual: %v" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "Criar novo Esboço" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "Criar e imprimir perfil de configuração da Build." -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "Cria um arquivo .zip contendo todos os arquivos de esboço." -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." @@ -517,7 +519,7 @@ msgstr "" "Cria ou atualiza o arquivo de configuração no diretório de dados ou em um " "diretório customizado com as definições de configuração atuais." -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -525,12 +527,12 @@ msgstr "" "Atualmente, os Perfis de Build só suportam bibliotecas disponíveis através " "do Gerenciador de Bibliotecas Arduino." -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" -msgstr "" +msgstr "Configuração personalizada para %s:" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "DESCONTINUADO" @@ -538,74 +540,74 @@ msgstr "DESCONTINUADO" msgid "Daemon is now listening on %s:%s" msgstr "Daemon agora está ouvindo em %s:%s" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "Depurar esboços Arduino." -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Depurar esboços Arduino (esse comando abre uma sessão interativa com o " "depurador gdb)." -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Depurar interpretador e.g.:%s" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "Depuramento não é suportado para a placa %s" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "Padrão" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "Padrão FQBN definido como" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "Porta padrão definida como" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" -msgstr "" +msgstr "Programador padrão definido para" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" "Deletar Placas/Cache de arquivos baixados do Gerenciador de Bibliotecas" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "Deleta a chave de configurações e todas as suas sub-chaves." -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "Dependências: %s" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "Descrição" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "Detectando bibliotecas utilizadas..." -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Detecta e mostra a lista de placas conectadas ao computador atual." -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "Diretório com arquivos binários para depuração." @@ -625,7 +627,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "Desabilitar a realização de descrições para Shells que suportam isso." -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "Desconectado" @@ -633,15 +635,15 @@ msgstr "Desconectado" msgid "Display only the provided gRPC calls" msgstr "Mostrar apenas as chamadas gRPC oferecidas" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "Não instale dependências." -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "Não sobrescreva bibliotecas já instaladas." -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "Não sobrescreva plataformas já instaladas." @@ -654,50 +656,50 @@ msgstr "Não faça um envio verdadeiro, apenas registre as ações." msgid "Do not terminate daemon process if the parent process dies" msgstr "Não encerre o processo Daemon se o processo relacionado morrer." -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "Baixando %s" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "Baixando assinatura Indes: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Baixando Index: %s" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "Baixando biblioteca %s" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "Baixando ferramenta %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "Baixando pacotes" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "Baixando plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "Baixando ferramenta %s" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" "Baixe um ou mais núcleos e dependências de ferramentas correspondentes." -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "Baixe uma ou mais bibliotecas sem instalá-las." @@ -705,179 +707,179 @@ msgstr "Baixe uma ou mais bibliotecas sem instalá-las." msgid "Enable debug logging of gRPC calls" msgstr "Ligue registros de depuração para chamadas gRPC" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "Insira caminho para arquivo zip" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "Insira URL git para bibliotecas hospedadas em repositórios" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "Erro ao adicionar arquivo de esboço para o depósito de documentos" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Erro ao adicionar Build do Núcleo (caching) em %[1]s:%[2]s" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "Erro ao adicionar para o depósito de documentos: %v" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "Erro ao calcular caminho de arquivo relativo" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "Erro ao limpar caches: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "Erro ao converter caminho para absoluto: %v" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "Erro ao copiar arquivo de saída %s" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "Erro ao criar instância: %v" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "Erro ao criar diretório de saída" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "Erro ao criar diretório de esboços" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "Erro ao criar esboço: %v" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "Erro ao detectar placas: %v" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "Erro ao baixar %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "Erro ao baixar %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Erro ao baixar índice '%s'" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "Erro ao baixar assinatura de índice '%s'" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "Erro ao baixar biblioteca %s" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "Erro ao baixar plataforma %s" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "Erro ao baixar ferramenta %s" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "Erro durante Depuramento: %v" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "Erro durante detecção FQBN: %v" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "Erro durante codificação da saída JSON: %v" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "Erro durante build: %v" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "Erro durante instalação: %v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "Erro durante desinstalação: %v" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "Erro durante atualização: %v" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "Erro ao extrair %s" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "Erro ao buscar por artefatos da Build" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "Erro ao obter informações de Depuração: %v" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "Erro ao obter caminho absoluto do arquivo de esboço" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "Erro ao obter detalhes da placa: %v" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" "Erro ao obter o diretório atual para o banco de dados de compilação: %s" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Erro ao obter informações da biblioteca %s" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "Erro ao obter informações sobre as bibliotecas: %v" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "Erro ao obter metadata da porta: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "Erro ao obter detalhes das configurações da porta: %s" @@ -885,59 +887,59 @@ msgstr "Erro ao obter detalhes das configurações da porta: %s" msgid "Error getting user input" msgstr "Erro ao obter entrada do usuário" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "Erro ao inicializar instância: %v" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "Erro ao instalar %s: %v" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "Erro ao instalar biblioteca Git: %v" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "Erro ao instalar biblioteca Zip: %v" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "Erro ao instalar biblioteca %s" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "Erro ao instalar plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "Erro ao instalar ferramenta %s" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "Erro ao instalar placas: %v" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "Erro ao listar bibliotecas: %v" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "Erro ao listar plataformas: %v" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "Erro ao carregar plataformas de hardware" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "Erro ao carregar índice %s" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "Erro ao abrir %s" @@ -945,109 +947,109 @@ msgstr "Erro ao abrir %s" msgid "Error opening debug logging file: %s" msgstr "Erro ao abrir arquivo de registro de depuração: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "Erro ao abrir arquivo de dados que sobrescrevem o código fonte: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "Erro ao fazer análise sintática na flag --show-properties: %v" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "Erro ao ler diretório de build" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "Erro ao ler arquivos de esboço" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "Erro ao esclarecer dependências para %[1]s: %[2]s" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "Erro ao adquirir lista de núcleos: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "Erro ao reverter mudanças: %s" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "Erro ao salvar índice baixado" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "Erro ao salvar assinatura de índice baixado" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "Erro ao buscar por placas: %v" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "Erro ao buscar por bibliotecas: %v" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "Erro ao buscar por plataformas: %v" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "Erro ao serializar compilação do banco de dados: %s" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "Erro ao inicializar busca: %v" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "Erro ao desinstalar %[1]s: %[2]v" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "Erro ao atualizar índice de biblioteca: %v" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "Erro ao atualizar bibliotecas" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "Erro ao atualizar plataforma: %s" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "Erro ao verificar assinatura" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "Erro ao detectar bibliotecas incluídas por %[1]s" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "Erro ao determinar tamanho do esboço: %s" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "Erro ao escrever compilação de banco de dados: %s" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1055,59 +1057,59 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "Erro: descrição de comando não suportado por %v" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "Erro: arquivo de dados que sobrescrevem o código fonte inválido: %v" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "Evento" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "Exemplos para biblioteca %s" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "Exemplos:" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "Executável para depurar" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Um esboço compilado era esperado no diretório %s, mas um arquivo foi " "encontrado." -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "Falha ao apagar chip" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "Falha ao programar" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "Falha ao gravar carregador de inicialização" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "Falha ao criar diretório de dados" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "Falha ao criar diretório de downloads" @@ -1127,15 +1129,15 @@ msgstr "Falha ao ouvir porta TCP: %[1]s. Erro inesperado: %[2]v" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Falha ao ouvir porta TCP: %s. Endereço já está em uso." -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "Falha ao enviar" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "Arquivo:" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1143,53 +1145,53 @@ msgstr "" "Encriptação/assinatura de firmware requer que todas as propriedades a seguir" " sejam definidas: %s" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" "A primeira mensagem deve conter uma requisição de depuração, e não dados." -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "A flag %[1]s é mandatória quando usada em conjunto com: %[2]s" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "Flags:" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" "Force a execução de scripts de pós instalação (se a Linha de Comando não " "estiver no modo interativo)." -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" "Pule a execução de scripts de pós instalação (se a Linha de Comando estiver " "no modo interativo)." -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Nome de Placa Completamente Qualificada. E.g.: arduino:avr:uno" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "Servidor GDB '%s' não é suportado" @@ -1206,19 +1208,19 @@ msgstr "Gera scripts de conclusão" msgid "Generates completion scripts for various shells" msgstr "Gera scripts de conclusão para várias Shells" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "Gerando protótipos de função..." -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "Flags Globais:" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1226,31 +1228,31 @@ msgstr "" "Variáveis globais usam %[1]s bytes (%[3]s%%) de memória dinâmica, restando " "%[4]s bytes para variáveis locais. O maximo é %[2]s bytes." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variáveis globais usam %[1]s bytes de memória dinâmica." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "Propriedades de identificação:" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Se designado, binárias de build serão exportadas para o diretório de " "esboços." -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." @@ -1258,64 +1260,64 @@ msgstr "" "Se designado, retorna todos os núcleos instaláveis e instalados, incluído os" " instalados manualmente." -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "Inclua bibliotecas embutidas (de plataformas e de IDE) na listagem." -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "Inclui o diretório %s no registro." -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "Instalar bibliotecas no Diretório Embutido da IDE." -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Instalado" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "%s instalado" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "Instalado %s" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "Instalando biblioteca %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Instalando plataforma %s" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "Instalando ferramenta %s" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" "Instalando um ou mais núcleos e suas dependências de ferramenta " "correspondentes." -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "Instala uma ou mais bibliotecas especificadas no sistema." -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "Erro interno no Cache" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "Propriedade '%[1]s' inválida: %[2]s" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "FQBN inválido" @@ -1323,103 +1325,101 @@ msgstr "FQBN inválido" msgid "Invalid TCP address: port is missing" msgstr "Endereço TCP inválido: a porta está faltando " -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -"Depósito de documento inválido: arquivo %{1}s não encontrado no depósito " -"%{2}s" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "Argumento inválido passado: %v" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "Propriedades de compilação inválidas" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "Tamanho de dados para regexp inválida: %s" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "Regexp de tamanho EEPROM inválida: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "Instância inválida" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "Item inválido %s" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "Biblioteca inválida" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy inválido: '%[1]s':%[2]s" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "Formato de saída inválido: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Índice de pacote inválido em %s" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "Parâmetro %s inválido: versão não permitida" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "Valor PID inválido: '%s'" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "Perfil inválido" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "Receita inválida em platform.txt" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "Tamanho de regexp inválido: %s" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Versão inválida" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "Valor vid inválido: '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1427,75 +1427,75 @@ msgstr "" "Produza apenas compilações de banco de dados, mas sem compilar. Todos os " "comandos de build serão pulados, exceto os ganchos pre*." -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "NOMEBIBL" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "BIBLIOTECA" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "NOME_BIBLIOTECA" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "Mais recente" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "A biblioteca %[1]s foi declarada como pré-compilada:" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" "A biblioteca %[1]s já está instalada, mas com uma versão diferente: %[2]s" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "A biblioteca %s já está instalada em sua versão mais recente." -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "A biblioteca %s não está instalada" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "A biblioteca %s não foi encontrada" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "A biblioteca '%s' não foi encontrada" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" "A biblioteca não pode usar ambos os diretórios '%[1]s' e '%[2]s'. Cheque " "novamente em '%[3]s'." -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "Instalação de biblioteca falhou" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "Biblioteca instalada" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "Licença: %s" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "Vinculando tudo..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" @@ -1503,15 +1503,15 @@ msgstr "" "Listar todas as placas que já possuem a plataforma de suporte instalada. " "Você pode buscar por uma placa específica se você especificar o nome dela." -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "Listar todas as placas conhecidas e os seus FQBN correspondentes." -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "Listar todas as placas conectadas." -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." @@ -1519,7 +1519,7 @@ msgstr "" "Listar todas as opções de placas separadas por vírgula. Ou pode ser usado " "múltiplas vezes para múltiplas opções." -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1527,76 +1527,76 @@ msgstr "" "Listar todas as propriedades de build customizadas, separadas por vírgula. " "Ou pode ser usado múltiplas vezes para múltiplas opções." -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "Listar bibliotecas atualizáveis." -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "Listar plataformas atualizáveis." -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "Listar todas as placas conectadas." -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "Listar núcleos e bibliotecas que podem ser atualizadas" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "Carregando arquivo Index: %v" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "Localização" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "Pouca memória disponível, podem ocorrer problemas de estabilidade." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "Mantedor: %s" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "Tempo máximo para esperar a descoberta de porta. E.g.: 30s, 1m" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" "Mensagens com esse nível e acima serão registradas. Níveis válidos são: %s" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "'%[1]s' está faltando da biblioteca em %[2]s" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "FQBN (Nome de Placa Totalmente Qualificado) está faltando" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "Porta faltando" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "Endereço de porta faltando" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "Protocolo de porta faltando" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "Programador faltando" @@ -1604,33 +1604,33 @@ msgstr "Programador faltando" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "Tamanho de regexp faltando" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "Caminho para esboço faltando" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "Monitor '%s' não encontrado" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "Configurações da porta do monitor:" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Múltiplas bibliotecas foram encontradas para \"%[1]s\"" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "Nome" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" @@ -1638,27 +1638,27 @@ msgstr "Nome: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "Nenhuma placa encontrada." -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "Nenhuma biblioteca foi encontrada." -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "Nenhuma biblioteca instalada." -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "Nenhuma biblioteca correspondente à sua busca." -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1666,53 +1666,53 @@ msgstr "" "Nenhuma biblioteca correspondente à sua busca.\n" "Você quis dizer...\n" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "Nenhuma atualização de bibliotecas disponível." -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "Sem monitor disponível para o protocolo de porta %s" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "Nenhuma plataforma ou biblioteca desatualizada encontrada." -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "Nenhuma plataforma instalada." -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "Nenhuma plataforma correspondente à sua busca." -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "Nenhuma porta de envio encontrada, usando %s como reserva" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "Sem solução válida para dependências encontrada " -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Memória insuficiente: veja %[1]s para sugestões sobre como reduzir a sua " "pegada." -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "Não utilizado: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "SO:" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Placa Arduino oficial:" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." @@ -1720,43 +1720,43 @@ msgstr "" "Esconder detalhes da biblioteca para todas as versões exceto a mais recente " "(produz uma saída JSON mais compacta)." -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "Abra uma porta de comunicação com a placa." -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "Opção:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Opcional, pode ser: %s. Usado para indicar ao GCC qual nível de alerta " "utilizar (flag -W)." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Opcional, limpeza do diretório de compilação e não utilização de nenhuma " "compilação em cache." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Opcional, otimize saída de compilação para depuração, ao invés de " "lançamento." -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "Opcional, esconde quase qualquer saída. " -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "Opcional, liga o modo verboso." -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1764,7 +1764,7 @@ msgstr "" "Opcional. Caminho para um arquivo .json que contém um conjunto de " "substituições do código fonte do esboço." -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1772,52 +1772,52 @@ msgstr "" "Sobrescreva uma propriedade de compilação com um valor customizado. Pode ser" " utilizado múltiplas vezes para múltipas propriedades. " -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "Sobrescrever o arquivo de configuração existente. " -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "Sobrescreve um depósito de documentos existente." -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "Sobrescreve um esboço .ino existente." -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "EMPACOTADOR" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "URL do pacote:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "Responsável pela manutenção do pacote:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "Nome do pacote:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "Ajuda online para o pacote:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "Website do pacote:" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "Parágrafo: %s" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "Caminho" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1825,7 +1825,7 @@ msgstr "" "Caminho para a coleção de bibliotecas. Pode ser utilizado múltiplas vezes. " "Entradas podem ser separadas por vírgulas." -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1833,11 +1833,11 @@ msgstr "" "Caminho para o diretório raíz de uma biblioteca. Pode ser utilizado " "múltiplas vezes. Entradas podem ser separadas por vírgulas." -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "Caminho para o arquivo onde os registros de dados serão escritos." -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1845,20 +1845,20 @@ msgstr "" "Caminho para onde salvar arquivos compilados. Se omitido, um diretório vai " "ser criado no caminho temporário padrão do seu SO." -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Executando toque de redefinição de 1200-bps na porta serial %s" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "Plataforma %s já está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1866,55 +1866,55 @@ msgstr "" "A plataforma %s não foi encontrada em nenhum índice conhecido\n" "Talvez você precise adicionar uma URL externa de 3ºs?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "Plataforma %s desinstalada. " -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "Plataforma '%s' já está em sua versão mais recente." -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "Plataforma '%s' não encontrada" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "ID da Plataforma" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "ID da Plataforma incorreto" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "URL da Plataforma:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "Arquitetura da Plataforma:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "Categoria da Plataforma:" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "Checksum da plataforma:" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "Nome de arquivo da Plataforma:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "Nome da Plataforma:" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "Tamanho da Plataforma (em bytes):" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" @@ -1922,7 +1922,7 @@ msgstr "" "Por favor especifique um FQBN. Possíveis placas foram detectadas na porta " "%[1]s com o protocolo %[2]s" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" @@ -1930,96 +1930,96 @@ msgstr "" "Por favor especifique um FQBN. A placa na porta %[1]s com o protocolo %[2]s " "não pode ser identificada" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "Porta fechada: %v" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "Erro no monitor de portas" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Biblioteca pré-compilada em \"%[1]s\" não foi encontrada" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "Imprimir detalhes sobre a placa." -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Imprimir código pré-processado para stdout ao invés de compilar." -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "Imprimir as informações de registro para a saída padrão." -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "Imprime a configuração atual" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "Imprime a configuração atual." -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "Perfil '%s' não encontrado" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "Programador '%s' não encontrado" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "Nome do programador " -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "Programador para utilizar, ex: atmel_ice" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "Programadores:" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "Propriedade '%s' não definida" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "Protocolo" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "Providenciar includes: %s" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "Remove um ou mais valores de uma configuração." -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "Substituindo %[1]s com %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "Substituindo plataforma %[1]s com %[2]s" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "Ferramenta necessária:" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Execute no modo silencioso e mostre apenas a entrada e a saída do monitor." @@ -2032,44 +2032,44 @@ msgstr "" msgid "Running normal build of the core..." msgstr "Executando compilação normal do núcleo..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "Salve artefatos de compilação neste diretório." -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" "Busque por uma placa no Gerenciador de Placas usando as palavras-chave " "especificadas." -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "Busque por uma placa no Gerenciador de Placas." -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" "Busque por um núcleo no Gerenciador de Placas usando as palavras-chave " "especificadas." -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "Busque por um núcleo no Gerenciador de Placas." -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2116,23 +2116,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "Sentença: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "Servidor respondeu com: %s" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2140,45 +2140,45 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "Define um valor de configuração." -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "Define onde o arquivo de configuração deve ser salvo." -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "Configuração" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "Mostre todas as versões de núcleo disponíveis." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "Mostre todas as configurações da porta de comunicação." -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "Mostre placas marcadas como 'escondidas' na plataforma" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." @@ -2187,11 +2187,11 @@ msgstr "" "\"--show-properties=unexpanded\" se você quer ver elas da exata maneira em " "que estão definidas. " -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "Mostrar todos os detalhes da placa" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." @@ -2199,31 +2199,31 @@ msgstr "" "Mostrar informações sobre uma placa, em específica se a placa possuir opções" " que devem ser especificadas no FQBN." -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "Mostrar apenas nomes de bibliotecas." -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "Mostrar lista de todos os programadores disponíveis" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" "Mostrar metadata sobre a sessão de depuração ao invés de iniciar o " "depurador." -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" "Mostrar bibliotecas e núcleos desatualizados após a atualização de índice" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "Mostra uma lista de todas as bibliotecas instaladas." -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2237,15 +2237,15 @@ msgstr "" "Por padrão, as bibliotecas embutidas providenciadas pelas plataformas/núcleos\n" "não são listadas, mas podem ser adicionadas com a flag --all." -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "Mostra a lista de plataformas instaladas." -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "Mostra a lista de exemplos para bibliotecas." -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." @@ -2253,20 +2253,20 @@ msgstr "" "Mostra a lista de exemplos para bibliotecas. Um nome pode ser passado como " "argumento para buscar por uma biblioteca específica." -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "Mostra a versão da CLI Arduino instalada no seu sistema." -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "Mostra o número de versão da CLI Arduino." -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "Tamanho (em bytes):" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2274,21 +2274,21 @@ msgstr "" "O Esboço não pode ser localizado no caminho de compilação. Por favor " "especifique um caminho diferente." -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "Esboço criado em: %s" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "Perfil de Esboço para utilizar" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "O rascunho é demasiado grande; veja %[1]s para técnicas de reduzir o " "ficheiro." -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2296,7 +2296,7 @@ msgstr "" "O rascunho usa %[1]s bytes (%[3]s%%) do espaço de armazenamento do programa." " O máximo é %[2]s bytes." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" @@ -2304,51 +2304,51 @@ msgstr "" "Esboços com a extensão. pde estão descontinuados. Por favor renomeie os " "seguintes arquivos para .ino:" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "Pule a vinculação da executável final." -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Pulando o toque de redefinição 1200-bps: nenhuma porta serial foi " "selecionada!" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "Pulando a criação de depósito de documentos de: %[1]s" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "Pulando a compilação de: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Pulando detecção de dependências para a biblioteca pré-compilada %[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "Pulando configuração de plataforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "Pulando configuração de ferramenta." -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "Pulando: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Alguns índices não puderam ser atualizados." -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" "Algumas atualizações falharam, por favor veja a saída para mais detalhes." @@ -2357,11 +2357,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "O daemon da porta TCP irá ouvir em" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" "O arquivo de configuração customizado (caso não seja definido, o padrão vai " @@ -2371,19 +2371,19 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "A flag --debug-file deve ser usada junto de --debug." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2391,7 +2391,7 @@ msgstr "" "A chave '%[1]v' não é uma lista de itens. Não é possível adicionar nela.\n" "Talvez tente usar '%[2]s'?" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2399,11 +2399,11 @@ msgstr "" "A chave '%[1]v' não é uma lista de itens. Não é possível remover dela.\n" "Talvez tente usar '%[2]s'?" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "A biblioteca %s possui múltiplas instalações:" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2412,7 +2412,7 @@ msgstr "" "binários durante o processo de compilação. Usado apenas por plataformas que " "possuem suporte." -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2421,11 +2421,11 @@ msgstr "" "resultados binários durante o processo de compilação. Usado apenas por " "plataformas que possuem suporte." -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "Os formatos de saída para os arquivos de registro podem ser: %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2434,11 +2434,11 @@ msgstr "" "e criptografar um resultado binário. Usado apenas por plataformas que " "possuem suporte." -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "A plataforma não suporta '%[1]s' para bibliotecas pré-compiladas." -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2450,7 +2450,7 @@ msgstr "" " por espaço. Se nenhum argumento for passado, esse comando irá atualizar " "todas as bibliotecas instaladas que possuem uma atualização disponível." -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." @@ -2459,36 +2459,36 @@ msgstr "" "podem ser atualizadas. Se nada precisar ser atualizado, a saída do comando " "será vazia." -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "Ferramenta %s já está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2496,113 +2496,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2615,19 +2615,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2639,115 +2639,115 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Utilizado: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "A usar a biblioteca %[1]s na directoria: %[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "A usar o ficheiro previamente compilado: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2756,78 +2756,78 @@ msgstr "" "%[2]s e pode ser incompatível com a sua placa actual que é executada em " "arquitectura(s) %[3]s." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2835,730 +2835,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3567,94 +3567,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3663,16 +3663,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3680,91 +3680,91 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "%[1]s‎existem duas versões diferentes da biblioteca‎%[2]s‎são " "necessárias:‎%[3]se" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" "não é possível encontrar o caminho relativo para o esboço para o item‎" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "‎não é possível criar uma pasta para salvar o sketch" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "‎não é possível criar a pasta contendo o item‎" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "‎não é possível de ler o conteúdo do item de destino‎" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "‎não é possível ler o conteúdo do item de origem‎" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "‎incapaz de escrever para o arquivo de destino‎" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "%spacote desconhecido" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "%splataforma desconhecida%s:" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "%s‎extensão do arquivo sketch é desconhecido‎' '" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "%s não há suporte ‎algoritmo hash:‎" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "‎atualizar arduino: samd para a versão mais recente‎" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "‎atualizar tudo para a versão mais recente‎" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "%serro ao carregar" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "%sversão ‎não disponível para este sistema operacional‎" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "%s versão não encontrada" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "‎formato errado na resposta do servidor‎" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 166325be2a4..55fad1d4374 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -15,105 +15,105 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s Версия: %[3]s Фиксация: %[4]s Дата: %[5]s" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "Папка %[1]s более не поддерживается! Более подробно в %[2]s" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "Требуется %[1]s, но в данный момент устанавливается %[2]s" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s не найден шаблон" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s уже скачана" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s не может быть использована вместе с %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s установлен" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s уже установлено." -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s не является директорией" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s должен быть установлен." -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "'%s' имеет неправильную сигнатуру " -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(скрытый)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(устаревшее)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" "--git-url и --zip-path отключены по умолчанию, для подробностей смотрите: %v" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr "" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "Доступен новый релиз Arduino CLI:" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "" @@ -121,39 +121,39 @@ msgstr "" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "ИНСТРУКЦИЯ КОМАНДНОЙ СТРОКИ ARDUINO" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "" @@ -161,79 +161,79 @@ msgstr "" msgid "Append debug logging to the specified file" msgstr "" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "Архивирование откомпилированного ядра (кэширование) в: %[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "" -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "" @@ -241,54 +241,54 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "Файл загрузчика указан но не существует: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "" @@ -296,171 +296,171 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "Компиляция скетча..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" @@ -468,44 +468,44 @@ msgstr "" msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "" @@ -513,71 +513,71 @@ msgstr "" msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "По умолчанию" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "" @@ -595,7 +595,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "" @@ -603,15 +603,15 @@ msgstr "" msgid "Display only the provided gRPC calls" msgstr "" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "" @@ -624,49 +624,49 @@ msgstr "" msgid "Do not terminate daemon process if the parent process dies" msgstr "" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "" @@ -674,178 +674,178 @@ msgstr "" msgid "Enable debug logging of gRPC calls" msgstr "" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "" @@ -853,59 +853,59 @@ msgstr "" msgid "Error getting user input" msgstr "" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "" @@ -913,109 +913,109 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1023,57 +1023,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "" @@ -1093,62 +1093,62 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "" @@ -1165,19 +1165,19 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1185,90 +1185,90 @@ msgstr "" "Глобальные переменные используют %[1]s байт (%[3]s%%) динамической памяти, " "оставляя %[4]s байт для локальных переменных. Максимум: %[2]s байт." -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глобальные переменные используют %[1]s байт динамической памяти." -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "Установлено" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "" @@ -1276,266 +1276,266 @@ msgstr "" msgid "Invalid TCP address: port is missing" msgstr "" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "Недостаточно памяти, программа может работать нестабильно." -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "Пропущен '%[1]s' из библиотеки в %[2]s" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "" @@ -1543,33 +1543,33 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "Несколько библиотек найдено для \"%[1]s\"" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "" @@ -1577,360 +1577,360 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "Недостаточно памяти; прочитайте %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "Не используется: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "Порт" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -1942,40 +1942,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2022,23 +2022,23 @@ msgid "" "\t\t" msgstr "" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "" @@ -2046,82 +2046,82 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2130,52 +2130,52 @@ msgid "" "not listed, they can be listed by adding the --all flag." msgstr "" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Скетч слишком большой; прочитайте %[1]s" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2183,54 +2183,54 @@ msgstr "" "Скетч использует %[1]s байт (%[3]s%%) памяти устройства. Всего доступно " "%[2]s байт." -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" @@ -2238,11 +2238,11 @@ msgstr "" msgid "The TCP port the daemon will listen to" msgstr "" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2250,61 +2250,61 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2312,42 +2312,42 @@ msgid "" "update is available." msgstr "" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "" @@ -2355,113 +2355,113 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "Тип" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "" @@ -2474,19 +2474,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "" @@ -2498,115 +2498,115 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Используется: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Используем библиотеку %[1]s версии %[2]s из папки: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Используем библиотеку %[1]s в папке: %[2]s %[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "Используем предварительно скомпилированный файл: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2614,78 +2614,78 @@ msgstr "" "ПРЕДУПРЕЖДЕНИЕ: библиотека %[1]s должна запускаться на архитектурах %[2]s и " "может быть несовместима с вашей платой на архитектуре %[3]s." -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "" @@ -2693,730 +2693,730 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/resources/install.go:67 -msgid "extracting archive: %s" +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" +#: internal/arduino/resources/install.go:68 +msgid "extracting archive: %s" msgstr "" -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3425,94 +3425,94 @@ msgstr "" msgid "release cannot be nil" msgstr "" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "" @@ -3521,16 +3521,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "" @@ -3538,88 +3538,88 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index df67411d759..5ad9a21eb60 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -17,104 +17,104 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 提交:%[4]s 日期:%[5]s" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "%[1]s 文件夹不再受支持!有关详细信息,请参见 %[2]s" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s 无效,全部重建" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s 是必需的,但当前已安装 %[2]s。" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s 模式丢失" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s 已经下载" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s 已安装" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s 已安装" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s 不是目录" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s 不是由软件包管理器管理的" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s 必须安装" -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s 模式丢失" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "‘%s’ 的签名无效" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "‘build.core’ 和 ‘build.variant’ 指的是不同的平台:%[1]s 和 %[2]s" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(隐藏)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(遗留)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "--git-url 和 --zip-path 默认是禁用的,更多信息参考: %v" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "--git-url 和 --zip-path 参数允许安装不受信任的文件,使用该标志风险自负。" -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "--git-url 或 --zip-path 不能与 --install-in-builtin-dir 一起使用。" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr ".ino 文件已存在" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "新版本的 Arduino CLI 可用:" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "需要编程器上传" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "ARCH" @@ -122,39 +122,39 @@ msgstr "ARCH" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "ARDUINO 命令行手册" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "更多帮助:" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "将一个或多个值添加到设置中。" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "别名:" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "所有平台都是最新的。" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "所有内核都是最新版本" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "已经安装 %s" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]s 的替代方案:%[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "添加原型时出错" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "检测库时出错" @@ -162,79 +162,79 @@ msgstr "检测库时出错" msgid "Append debug logging to the specified file" msgstr "附加除错日志到特定文件" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "架构:%s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "存档已经存在" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "存档构建代码(缓存):%[1]s" -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI 项目命令" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI。" -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Arduino 命令行界面 (arduino-cli)" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "Arduino 开发板命令" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "Arduino 缓存命令。" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "Arduino 关于库的命令。" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "Arduino 配置命令。" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "Arduino 内核操作。" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "参数错误:%v" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "将项目写入开发板上。" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "作者:%s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "在这种情况下不能进行自动安装库,请手动删除所有重复的库并重试。" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "在这种情况下不能进行自动卸载库,请手动删除它们。" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "可用" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "可用命令:" @@ -242,54 +242,54 @@ msgstr "可用命令:" msgid "Binary file to upload." msgstr "要上传的二进制文件。" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "开发板名" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "开发板名:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "开发板版本:" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "已指定引导加载程序文件,缺少:%[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "‘core.a’ 的构建被保存到这个路径中,以便被缓存和重复使用。" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "无法新建 %s 数据目录" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "无法新建项目" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "无法下载库" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的依赖" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "无法打开项目" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "无法更新项目" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "不能同时使用以下参数:%s" @@ -297,171 +297,171 @@ msgstr "不能同时使用以下参数:%s" msgid "Can't write debug log: %s" msgstr "无法写入调试日志:%s" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "无法新建构建缓存目录" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "无法新建构建目录" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "无法新建配置文件目录:%v" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "无法新建配置文件:%v" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "无法新建临时目录" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "无法新建临时文件" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "无法删除位于%[2]v的%[1]s" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "无法运行调试工具" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "找不到绝对路径:%v" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "无法从配置中取得键值对 %[1]s:%[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "无法安装平台" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "无法安装 %s 工具 " -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "无法执行端口重置:%s" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "无法升级平台" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "类别:%s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "检查指定库的依赖状态。" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "请提供给定的开发板/编程器组合以检查是否支持调试。" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "校验码与 package.json 中的校验码不同" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "校验码:" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "清理缓存。" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "以逗号分隔的开发板管理器附加地址列表。" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "命令保持运行,并在发生更改时打印已连接开发板的列表。" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已编译项目" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "编译 Arduino 项目" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "正在编译内核。。。" -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "正在编译库。。。" -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "正在编译 “%[1]s” 库" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "正在编译项目。。。" -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "配置文件已经存在,使用 --overwrite 弃用现有的配置文件。" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "配置文件写入:%s" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "%s 的配置选项" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "用于通信的端口设置格式为:<ID>=<value>[,<ID>=<value>]……" -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "配置平台。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "配置工具。" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "已连接" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "内核" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "无法通过 HTTP 连接" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "无法新建索引目录" @@ -469,44 +469,44 @@ msgstr "无法新建索引目录" msgid "Couldn't deeply cache core build: %[1]s" msgstr "无法深度缓存内核构建:%[1]s" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "无法确定程序大小" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "无法获得当前工作目录:%v" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "新建项目" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "从构建中创建并打印一个配置文件的内容。" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "新建包含所有项目文件的 zip 文件。" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "用当前的配置创建或更新数据目录或自定义目录中的配置文件。" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前,Build Profiles 只支持通过 Arduino Library Manager 提供的库。" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "%s的个性化设置:" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "已弃用" @@ -514,71 +514,71 @@ msgstr "已弃用" msgid "Daemon is now listening on %s:%s" msgstr "守护进程正在监听 %s:%s" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "调试 Arduino 项目" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "调试 Arduino 项目(此命令打开交互式 gdb 会话)" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "调试解释器,例如:%s" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "%s 开发板不支持调试" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "默认" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "默认的 FQBN 设置为" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "默认的端口设置为" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "默认编程器设置为" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "删除开发板/库管理器下载缓存" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "删除设置键及其所有子键。" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "依赖:%s" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "说明" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "正在检测使用的库。。。" -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "检测并显示连接到电脑的开发板的列表。" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "包含用于调试的二进制文件的目录。" @@ -596,7 +596,7 @@ msgstr "保存生成文件的目录。默认为 ./docs,该目录必须存在 msgid "Disable completion description for shells that support it" msgstr "对于支持完成描述的 shell,禁用完成描述" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "已断开连接" @@ -604,15 +604,15 @@ msgstr "已断开连接" msgid "Display only the provided gRPC calls" msgstr "只显示提供的 gRPC 调用" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "不要安装依赖。" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "不要覆盖已经安装的库。" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "不要覆盖已经安装的平台。" @@ -625,49 +625,49 @@ msgstr "不执行实际上传操作,只注销操作" msgid "Do not terminate daemon process if the parent process dies" msgstr "如果父进程终止,则守护进程不终止。" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "如果已经安装了库依赖项,请不要尝试更新它们。" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "正在下载 %s" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "正在下载 %s 索引签名" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "正在下载 %s 索引" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "正在下载 %s 库" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "正在下载丢失的 %s 工具 " -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "正在下载软件包" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "正在下载 %s 平台" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "正在下载 %s 工具" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "下载一个或多个内核和相应的工具依赖" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "下载一个或多个库而不安装它们。" @@ -675,178 +675,178 @@ msgstr "下载一个或多个库而不安装它们。" msgid "Enable debug logging of gRPC calls" msgstr "启用 gRPC 调用的调试日志" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "输入压缩文件的路径" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "输入在存储库上托管的库的 git 地址" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "将文件添加到项目存档时出错" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中存档构建内核(缓存)时出错:%[2]s" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "错误归档:%v" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "计算相对文件路径时出错" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "清理缓存出错:%v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "将路径转换为绝对路径时出错:%v" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "复制输出 %s 文件时出错" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "新建实例时出错:%v" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "新建输出目录时出错" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "新建项目存档时出错" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "新建项目时出错:%v" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "检测开发板时出错:%v" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "下载 %[1]s 时出错:%[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "下载 %s 时出错" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下载 ‘%s’ 索引时出错" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "下载 ‘%s’ 索引签名时出错" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "下载 %s 库时出错" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "下载 %s 平台时出错" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "下载 %s 工具时出错" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "调试时出错:%v" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "检测 FQBN 时出错:%v" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "输出编码 JSON 过程时出错:%v" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "上传时出错:%v" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "构建时出错:%v" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "安装时出错:%v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "卸载时出错:%v" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "升级时出错:%v" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "提取 %s 时出错" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "查找构建项目时出错" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "获取调试信息时出错:%v" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "获取项目存档的绝对路径时出错" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "获取开发板详细信息时出错:%v" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "获取编译数据库的当前目录时出错:%s" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "从 `sketch.yaml` 获取默认端口时出错。检查是否在正确的 sketch 文件夹中,或提供 --port 标志: " -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "获取 %s 库的信息时出错" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "获取库信息时出错:%v" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "获取端口元数据出错:%v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "获取端口设置详细信息时出错:%s" @@ -854,59 +854,59 @@ msgstr "获取端口设置详细信息时出错:%s" msgid "Error getting user input" msgstr "获取用户输入时出错" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "初始化实例时出错:%v" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "安装 %s 时出错:%v" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "安装 Git 库时出错:%v" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "安装 Zip 库时出错:%v" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "安装 %s 库时出错" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "安装 %s 平台时出错" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "安装 %s 工具时出错" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "列出开发板列表时出错:%v" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "列出库时出错:%v" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "列出平台列表时出错:%v" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "加载硬件平台时出错" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "加载 %s 索引时出错" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "打开 %s 时出错" @@ -914,109 +914,109 @@ msgstr "打开 %s 时出错" msgid "Error opening debug logging file: %s" msgstr "打开调试日志文件出错:%s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "打开源代码覆盖数据文件时出错:%v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 参数时出错:%v" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "读取构建目录时出错" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "读取项目文件时出错" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "解析 %[1]s 的依赖时出错:%[2]s" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "检索内核列表时出错:%v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "回滚更改时出错:%s" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "保存下载的索引时出错" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "保存已下载的索引签名时出错" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "搜索开发板时错误:%v" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "搜索库时出现错误:%v" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "搜索平台时出错:%v" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "序列化编译数据库时出错:%s" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "原始的设置出错:%s" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "启动时发现出错:%v" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "卸载 %[1]s 时出错:%[2]v" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "更新库索引时出错:%v" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "升级库时出错" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "更新平台时出错:%s" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "验证签名时出错" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "检测 %[1]s 包含的库时出错" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "确定项目大小时出错:%s" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "写入编译数据库时出错:%s" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "" @@ -1024,57 +1024,57 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "错误:%v 不支持命令说明" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "错误:无效的源代码覆盖了数据文件:%v" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "事件" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "%s 库的示例" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "示例:" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "可执行调试" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "应在 %s 目录中编译项目,但它是一个文件" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "芯片擦除失败" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "编译失败" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "无法烧录引导加载程序" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "新建数据目录失败" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "新建下载文件夹失败" @@ -1094,62 +1094,62 @@ msgstr "未能侦听 TCP 端口:%[1]s。意外错误:%[2]v" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "未能侦听 TCP 端口:%s。地址已被使用。" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "上传失败" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "文件:" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "固件加密或签名需要定义以下所有属性:%s" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "第一条消息必须包含调试请求,而不是数据" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "参数 %[1]s 是强制使用的,当与以下内容一起使用时:%[2]s" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "参数:" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "强制运行安装后脚本(如果 CLI 未以交互方式运行)。" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "强制运行 pre-uninstall 命令(如果 CLI 不是交互式运行)。" -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "强制跳过安装后脚本(如果 CLI 以交互方式运行)。" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "强制跳过 pre-uninstall 命令(如果 CLI 以交互方式运行)。" -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "找到%d平台有符合的 \"%s\": %s" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格开发板名,例如:arduino:avr:uno" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "不支持 GDB 服务器 ‘%s’" @@ -1166,108 +1166,108 @@ msgstr "已生成脚本" msgid "Generates completion scripts for various shells" msgstr "已为各种 shell 生成脚本" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "生成函数原型。。。" -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "取得设定的键值对。" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "全局参数:" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "全局变量使用 %[1]s 个字节(%[3]s%%)的动态内存。剩下 %[4]s 个字节将被用于局部变量,最大可用值为 %[2]s 字节。" -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全局变量使用 %[1]s 字节的动态内存。" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "标识属性:" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "如果设定,则构建的二进制文件将导出到项目文件夹。" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "如果设定,则返回所有可安装和已安装的内核,包括手动安装的内核。" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "在列表中包含内置库(来自平台和 IDE)。" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "在存档中包含 %s 目录。" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "在 IDE-Builtin 目录下安装库" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "已安装" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "已安装 %s" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "正在安装 %s" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "正在安装 %s 库" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "正在安装 %s 平台" -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "正在安装 %s 工具" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "安装一个或多个内核和相应的工具依赖。" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "在系统中安装一个或多个指定的库。" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "缓存中的内部错误" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "无效的 ‘%[1]s’ 属性:%[2]s" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "无效的 FQBN" @@ -1275,266 +1275,266 @@ msgstr "无效的 FQBN" msgid "Invalid TCP address: port is missing" msgstr "无效的 TCP 地址:缺少端口" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "无效的地址" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "无效的附加地址:%v" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" -msgstr "无效存档:在存档 %{1}s 中未找到文件 %{2}s" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" +msgstr "" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "传递的参数无效:%v" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "无效的构建属性" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "无效的数据大小正则表达式:%s" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "无效的 eeprom 大小正则表达式:%s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "无效的网站主页: %s" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "无效的实例" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "无效的 %s 条目" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "无效的库" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "%s 中的软件包索引无效" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "无效 %s 参数:版本不允许" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "无效的pid值:‘%s’" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "无效的配置文件" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法无效" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "无效的大小正则表达式:%s" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "无效的版本" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "无效的 vid 值:‘%s’" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "只生成编译数据库,不实际编译。跳过除 pre*hook 之外的所有生成命令。" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "库名" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "库" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "库_名" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "最新的" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "%[1]s 库已声明为预编译:" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "库 %[1]s 已经安装,但有不同的版本。:%[2]s" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "库 %s 已经是最新版本" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "%s 库未安装" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "未找到 %s 库" -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "未找到 %s 库" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "库不能同时使用 ‘%[1]s’ 和 ‘%[2]s’ 文件夹。在 ‘%[3]s’ 再次检查。" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "库安装失败" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "已安装的库" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "许可证:%s" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "将所有内容链接在一起。。。" -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "列出已安装的受支持的平台的所有开发板。如果指定开发板名,则可以搜索指定开发板" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "列出所有已知开发板及其相应的 FQBN。" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "列出已连接的开发板。" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "用逗号分隔的开发板选项列表。可以对多个选项多次使用。" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "用逗号分隔的自定义构建属性列表。可以对多个属性多次使用。" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "列出可更新的库。" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "列出可更新的平台。" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "列出所有已连接的开发板。" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "列出可以升级的内核和库" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "正在加载索引文件:%v" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "位置" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "可用内存不足,可能会出现稳定性问题。" -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "维护者:%s" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "最大并行编译数。如果设置为 0,则将使用可用的 CPU 核心数。" -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "等待端口发现的最长时间,例如:30s, 1m" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "记录此级别及以上的消息。有效级别为 %s" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]s 中的库中缺少 ‘%[1]s’" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "缺少 FQBN(完全合格开发板名)" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "找不到端口" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "缺少端口地址" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "找不到端口协议" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "找不到编程器" @@ -1542,33 +1542,33 @@ msgstr "找不到编程器" msgid "Missing required upload field: %s" msgstr "缺少必要的上传字段:%s" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "缺少大小正则表达式" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "缺少项目路径" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "未找到 ‘%s’ 监视器" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "监视端口设置:" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "为 “%[1]s” 找到了多个库" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "名" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "名:“%s”" @@ -1576,27 +1576,27 @@ msgstr "名:“%s”" msgid "New upload port: %[1]s (%[2]s)" msgstr "新的上传端口%[1]s(%[2]s)" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "没有找到开发板" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "未设置默认端口、FQBN 或编程器" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "没有找到库。" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "没有安装库。" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "没有与你的搜索相匹配的库。" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1604,179 +1604,179 @@ msgstr "" "没有与您的搜索匹配的库。\n" "你的意思是。。。\n" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "没有可用的库更新。" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "没有可用于端口协议 %s 的监视器" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "没有找到过时的平台或库。" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "没有任何平台被安装。" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "没有与你的搜索匹配的平台。" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "未找到上传端口,使用 %s 作为后备" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "找不到有效的依赖解决方案" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "内存不足;有关减少空间的提示,请参见 %[1]s。" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "未使用:%[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "操作系统:" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "官方 Arduino 开发板:" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "省略库中除最新版本之外的所有版本(生成更紧凑的 JSON 输出)。" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "开启开发板的通信端口。" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "选项:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "可选,可以是:%s。用于告诉 gcc 使用哪个警告级别(-W 参数)。" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "可选,清理构建文件夹并且不使用任何缓存构建。" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "可选,优化编译输出用于调试,而不是发布。" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "可选,禁止几乎所有输出。" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "可选,开启详细模式。" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "可选。 包含一组替换项目源代码的文件的路径。" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "使用自定义值替代构建属性。可以对多个属性多次使用。" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "覆盖现有的配置文件。" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "覆盖一个已经存在的存档文件" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "覆盖现有的 .ino 项目。" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "打包程序" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "软件包地址:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "软件包维护者:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "软件包名:" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "软件包在线帮助" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "软件包网站:" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "段落:%s" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "路径" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "一个库的集合的路径。可以多次使用,或者可以用逗号分隔条目。" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "单个库的根文件夹的路径。可以多次使用,或者可以用逗号分隔条目。" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "写入日志的文件的路径。" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已编译文件的路径。如果省略,将在操作系统的默认临时路径中创建目录。" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 端口上执行 1200-bps TOUCH 重置" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "%s 平台已经安装" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "已安装 %s 平台" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1784,156 +1784,156 @@ msgstr "" "在任何已知索引中都找不到 %s 平台\n" "也许你需要添加一个第 3 方地址?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "%s 平台已卸载" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "‘%s’ 平台已经是最新版本" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "未找到 ‘%s’ 平台" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "平台 ID 不正确" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "平台地址:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "平台架构:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "平台类别:" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "平台校验码:" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "平台文件名:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "平台名称:" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "平台大小(字节):" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "请指定一个 FQBN。在 %[1]s 端口上检测到多个可能的开发板,协议为 %[2]s" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "请指定一个 FQBN。%[1]s 端口上的开发板与协议 %[2]s 不能被识别" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "端口" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "端口关闭:%v" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "端口监视器错误" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "在 “%[1]s” 中找不到预编译库" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "打印开发板的详细信息。" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "将预处理的代码打印到标准输出,而不是编译。" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "在标准输出上打印日志。" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "打印当前配置" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "打印当前配置。" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "未找到 ‘%s’ 的配置文件''。" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "未找到 ‘%s’ 编程器" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "编程器名" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "要使用的编程器,例如:atmel_ice" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "编程器:" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "‘%s’ 属性未定义" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "协议" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "提供包括:%s" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "从设置中删除一个或多个值。" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "将 %[1]s 替换为 %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "用 %[2]s 替换 %[1]s 平台" -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "以静默模式运行,仅显示监视器输入和输出。" @@ -1945,40 +1945,40 @@ msgstr "" msgid "Running normal build of the core..." msgstr "正在运行正常的内核构建。。。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "运行 pre_uninstall 命令。" -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "搜索_条件" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "SVD 文件路径" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "将生成文件保存在此目录中。" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "使用指定的关键词在开发板管理器中搜索一个开发板。" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "在开发板管理器中搜索一个开发板。" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "使用指定的关键字在开发板管理器中搜索内核。" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "在开发板管理器中搜索内核。" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2064,23 +2064,23 @@ msgstr "" "- Website\n" "\t\t" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "搜索与查询匹配的一个或多个库文件。" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "句子:%s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "服务器路径" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "服务器响应:%s" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "服务器类型" @@ -2088,82 +2088,82 @@ msgstr "服务器类型" msgid "Set a value for a field required to upload." msgstr "为上传所需的字段设置值。" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "将终端设置为原始模式(无缓冲)。" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "设置一个值。" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "设置端口和 FQBN 的默认值。如果未指定端口、FQBN 或编程器,则显示当前默认端口、FQBN 和编程器。" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "设置保存配置文件的位置。" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "设置" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "显示所有可用的内核版本。" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "显示通讯端口的所有设置。" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "在平台上显示标记为隐藏的开发板" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "显示构建属性。这些属性是展开的,如果你希望它们完全按照定义的样子显示,请使用\"--show-properties=unexpanded\"。" -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "显示完整的开发板详细信息" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "显示有关开发板的信息,特别是如果开发板在 FQBN 中有指定的选项。" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "只显示库名。" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "显示可用编程器列表" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "显示有关调试会话的元数据,而不是启动调试器。" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "在索引更新后显示过时的内核和库" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "显示已安装库的列表。" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2174,105 +2174,105 @@ msgstr "" "显示已安装库的列表。如果指定了 LIBNAME 范围,则列表仅限于该特定库。默认情况下,不会列出 ‘平台/核心’ 内置的库,可以通过添加 --all " "参数来列出它们。" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "显示已安装平台的列表。" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "显示库示例列表。" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "显示库的示例列表。可以指定名称作为搜索特定库的参数。" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "显示您系统上安装的 Arduino CLI 的版本号。" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "显示 Arduino CLI 的版本号。" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "大小(字节):" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "项目不能位于生成路径中。请指定其他生成路径" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "项目新建于:%s" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "使用项目配置文件" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "项目太大;请参阅 %[1]s,以获取减少项目大小的提示。" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr " 项目使用 %[1]s 字节(%[3]s%%)的程序存储空间。最大值为 %[2]s 字节。" -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "项目 .pde 扩展名已弃用,请将以下文件重命名为 .ino:" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "跳过最终可执行文件的链接。" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳过 1200-bps TOUCH 重置:未选择串口!" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "正在跳过以下内容的存档创建:%[1]s" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "跳过编译:%[1]s" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳过 %[1]s 预编译库的依赖检测" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "跳过平台配置。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "跳过 pre_uninstall 命令" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "跳过工具配置。" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "跳过:%[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "一些索引无法更新。" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "有一些升级失败了,请查看输出结果以了解详情。" @@ -2280,11 +2280,11 @@ msgstr "有一些升级失败了,请查看输出结果以了解详情。" msgid "The TCP port the daemon will listen to" msgstr "守护进程将监听的 TCP 端口" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "自定义配置文件(如果未指定,将使用默认值)。" @@ -2292,19 +2292,19 @@ msgstr "自定义配置文件(如果未指定,将使用默认值)。" msgid "The flag --debug-file must be used with --debug." msgstr "参数 --debug-file 必须与 --debug 一起使用。" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "给定的开发板/编程器配置不支持调试。" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "给定的开发板/编程器配置支持调试。" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "实例不再有效,需要重新初始化" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2312,7 +2312,7 @@ msgstr "" "‘%[1]v’ 键不是列表中的条目,无法添加到其中。\n" "是否可以使用 ‘%[2]s’?" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2320,37 +2320,37 @@ msgstr "" "‘%[1]v’ 键不是列表中的条目,无法从中删除。\n" "是否可以使用 ‘%[2]s’?" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "库 %s 有多个安装。" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定义加密密钥的名称,用于在编译过程中对二进制文件进行加密。只在支持它的平台上使用。" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定义签名密钥的名称,用于在编译过程中对二进制文件进行签名。只在支持它的平台上使用。" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "日志的输出格​​式,可以是:%s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "搜索自定义密钥以签署和加密二进制文件的文件夹的路径。只在支持它的平台上使用。" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "该平台不支持预编译库的 ‘%[1]s’。" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2358,42 +2358,42 @@ msgid "" "update is available." msgstr "此命令将已安装的库升级到可用的最新版本。可以通过一个空格分隔多个库。如果未提供任何参数,该命令将升级所有已安装的库,其中有可用的更新。" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此命令显示可升级的已安装内核和库或其一的列表。如果不需要更新任何内容,则输出为空。" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "显示时间戳。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "%s 工具已经安装" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "%s 工具已经卸载" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "不支持 ‘%s’ 工具链" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "工具链路径" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "工具链前缀" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "工具链类型" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "尝试运行 %s" @@ -2401,113 +2401,113 @@ msgstr "尝试运行 %s" msgid "Turns on verbose mode." msgstr "打开详细模式。" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "类型" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "类型:%s" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "地址:" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "无法缓存构建的内核,请告知 %[1]s 维护者关注 %[2]s" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "无法获取文档文件夹:%v" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "无法获取本地应用程序数据文件夹:%v" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "无法获取用户主目录:%v" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "无法解析地址" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "正在卸载 %s" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "卸载 %s,工具不再需要了" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "如果不再使用,卸载一个或多个内核和相应的工具依赖。" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "卸载一个或多个库。" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "未知" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "未知 FQBN" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "更新内核和库的索引" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "将内核和库的索引更新到最新版本。" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "更新内核索引到最新版本。" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "更新内核索引。" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "更新库索引到最新版本。" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "更新库索引。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "升级不接受带有版本范围" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "将安装的内核和库升级到最新版本。" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "升级已安装的内核和库。" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "升级已安装的库。" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "将一个或所有已安装的平台升级到最新版本。" @@ -2520,19 +2520,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "上传 Arduino 项目。不会在上传之前编译项目。" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上传端口地址,例如:COM3 或 /dev/ttyACM2" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "在 %s 上找到上传端口" -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "上传端口协议,例如:串行" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "编译后上传二进制文件。" @@ -2544,12 +2544,12 @@ msgstr "使用外部编程器将引导加载程序上传到板上。" msgid "Upload the bootloader." msgstr "上传引导加载程序。" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "使用 %s 协议上传到指定的开发板需要以下信息:" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2557,181 +2557,181 @@ msgstr "" "链接不能包含逗号。用空格隔开作为 env var 导出的多个链接:\n" "%s" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "用法:" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "使用 %s 获取有关命令的更多信息。" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "已使用的库" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "已使用的平台" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "使用:%[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s" -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "使用缓存库文件依赖项:%[1]s" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 代码,在列出的文件夹中:%[2]s" -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用 %[2]s 版本的 %[1]s 库,在列出的文件夹中:%[3]s%[4]s" -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "使用的 %[1]s 库,在列出的文件夹中:%[2]s%[3]s" -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "使用预编译代码:%[1]s" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "在 %[1]s 中使用预编译库" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "使用以前编译的文件:%[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "版本" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "版本号" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "值" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "上传后验证上传的二进制文件。" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "版本:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "警告:无法配置平台:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "警告无法配置工具:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告!无法运行 pre_uninstall 命令%s" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告:该项目是用一个或多个自定义库编译的。" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告:%[1]s 库声称在 %[2]s 体系结构上运行,可能与当前在 %[3]s 体系结构上运行的开发板不兼容。" -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "正在等待上传端口。。。" -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告:%[1]s 开发板未定义 %[2]s 首选项。自动设置为:%[3]s" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "网站:%s" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "将当前配置写入配置文件。" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "将当前配置写入数据目录中的配置文件。" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "在用配置文件编译时,你不能使用 %s 参数。" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "存档哈希与索引中的哈希不同" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "存档无效:在 zip 文件顶层中找到多个文件" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "存档无效:在压缩文件的顶层没有找到文件" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "存档路径" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "缺少 arduino 预处理器程序" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "仅以文本格式提供" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "基本搜索 \"audio\"" -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基础搜索只由官方维护的 \"esp32\" 和 \"display\" 字段" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "在 %s 中找不到二进制文件" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "未找到开发板 %s" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "开发板名" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "未设置内置库目录" @@ -2739,730 +2739,730 @@ msgstr "未设置内置库目录" msgid "can't find latest release of %s" msgstr "找不到 %s 的最新版本" -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "找不到 %s 工具的最新版本" -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "在 %s 中找不到主项目文件" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 为 %s 的 discovery" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "候选" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "无法使用上传工具:%s" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "检查本地存档完整性" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "清理构建路径" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "命令" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "‘%[1]s’ 命令失败:%[2]s" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "通信不同步,应为 ‘%[1]s’,收到 ‘%[2]s’" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "计算哈希:%s" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "配置的键 %s 包含无效字符" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "配置的值 %s 包含无效字符" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "将库复制到目标目录:" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "找不到有效的构建项目" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "无法覆盖" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "无法删除旧库" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "无法更新项目文件" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "创建核心缓存文件夹:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "在 %[1]s 中创建 installed.json:%[2]s" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "新建用于提取的临时目录:%s" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "数据部分超出开发板中的可用空间" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "‘%s’ 依赖不可用" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "%s 目录已经存在,无法安装" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "目标目录已经存在" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "目录不存在:%s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" -msgstr "发现 %[1]s 进程未启动:%[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" +msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "未找到 %s discovery" -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "%s discovery 未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "未找到 discovery 版本:%s" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "下载特定版本(在本例中为 1.6.9)。" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "下载最新版本的 Arduino SAMD 内核。" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "下载" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下载 %[1]s 工具:%[2]s" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "空开发板标识符" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "加载项目文件时错误:" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr " 开启 %s 时错误" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "解析版本约束时错误" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "处理来自服务器的响应时出错" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "查询 Arduino Cloud Api 时出错" -#: internal/arduino/resources/install.go:67 +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" +msgstr "" + +#: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" msgstr "正在提取存档:%s" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" -msgstr "正在提取存档:%w" - -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "无法计算 “%s” 文件的哈希值" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "未能初始化 http 客户端" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "提取的档存大小与索引中指定的大小不同" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "存档中的文件必须放在子目录中" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "寻找 %s 的绝对路径" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "参数" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "接下来的符号链接 %s" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "针对特定版本。" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "最新版本。" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "针对特定版本。" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "fqbn 的字段 %s 包含无效字符" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" -msgstr "正在生成安装 id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" +msgstr "" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" -msgstr "生成 installation.secret:%w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" +msgstr "" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "正在获取存档文件信息:%s" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "正在获取存档信息:%s" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "正在获取存档路径:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "正在获取 %[1]s 开发板的构建属性:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "获取 %[1]s 平台的 discovery 依赖:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "获取 %[1]s 平台的监视器依赖项:%[2]s" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "正在获取 %[1]s 平台的工具依赖:%[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "未设置安装目录" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "正在安装 %[1]s 工具:%[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "安装 %[1]s 平台: %[2]s" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "“%s” 的输出格式不支持交互式终端" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "无效的 ‘%s’ 指令" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "无效的校验码格式:%s" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "无效的配置选项:%s" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "无效的空内核架构 ’%s‘" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "无效的空内核参数" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "无效的空内核名称 ’%s‘" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "无效的空内核引用 ’%s‘" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "无效的空内核版本:’%s‘" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "无效的空库名" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "无效的空库版本:%s" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "发现无效的空选项" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "无效的 git 地址" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 哈希:%[2]s" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "无效的 %s 条目" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "无效的库指令:" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "无效的库 layout:%s" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "无效的库 location:%s" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "无效库:没有找到头文件" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "无效的 ‘%s’ 选项 " -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "无效选项 '%s'。" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" -msgstr "新建配置目录的路径无效:%[1]s 错误:%[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" +msgstr "" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" -msgstr "写入库存文件的路径无效:%[1]s 错误:%[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" +msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "无效的平台存档大小:%s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "无效的平台标识符" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "无效的平台索引网址:" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "无效的热插拔监视器引用:%s" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "%s 的端口配置值无效:%s" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "无效的端口配置:%s" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 方法: %[2]s" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "无效的工程命名 \"%[1]s\": 第一个字符必须是字母数字或\"_\",后面的字符也可以包含\"-\"和\".\"。最后一个字符不能是\".\"。" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "‘%[2]s’ 选项的 ‘%[1]s’ 值无效" -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "%s 版本目录无效" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "无效的版本:" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "关键字" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "Daniel Garcia编写的库文件" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "仅限由 Adafruit 维护,名称中含有 \"gfx\" 的库文件" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "至少依赖于 \"IRremote\" 的库" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "仅依赖于 \"IRremote\" 的库" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "名称中含有 \"buzzer\" 的库" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "名称与 \"pcf8523 \"完全匹配的库" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "%s 库已安装" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "库无效" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "正在加载 %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "正在加载开发板:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "正在加载 %[1]s json 索引文件:%[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "正在从 %[1]s 加载库:%[2]s" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "正在加载库属性:%s" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "正在加载平台 %s 发行版本" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "正在加载 platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "安装所需 %s 平台" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "安装所需 %s 工具" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "在 %s 中加载工具发行版本" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "在 %s 中查找 boards.txt" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "寻找构建产物" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "项目中缺少主文件:%s" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "缺少 ‘%s’ 指令" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "缺少校验码:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少软件包索引%s,无法保证未来的更新" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少 %[1]s 平台:%[2]s 被开发板 %[3]s 引用" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "缺少签名" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "未找到公开监视器:%s" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "正在将提取的存档移动到目标目录:%s" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多个构建文件:‘%[1]s’ 和 ‘%[2]s’" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "找到多个主项目文件 (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "没有找到适用于当前操作系统的 %[1]s 工具的兼容版本,请尝试联系 %[2]s" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "没有指定实例" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "未指定项目或构建目录/文件" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "没有这样的文件或目录" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存档中没有唯一的根目录,找到了 ‘%[1]s’ 和 ‘%[2]s’" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "未提供上传端口" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "在 %[1]s 中找不到有效的项目:缺少 %[2]s" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "对于当前的操作系统没有可用的版本,请尝试联系 %s" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "未在终端中运行" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "正在打开存档文件:%s" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "正在打开 boards.txt" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "打开签名文件:%s" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "打开目标文件:%s" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "未找到 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "未找到 ‘%s’ 软件包 " -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "解析 library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "路径不是平台目录:%s" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "在 %[2]s 软件包中找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "%s 平台未安装" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "该平台不适用于您的操作系统" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "平台未安装" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "请改用 --build-property。" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "已添加可插入 discovery:%s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "端口" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "未找到端口:%[1]s %[2]s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "编程器" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "不支持协议版本:请求了 %[1]d,获得了 %[2]d" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "正在读取 %[1]s 目录 : %[2]s" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" -msgstr "阅读目录 %[1]s 内容:%[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" +msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "正在读取 %s 目录" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" -msgstr "正在读取 %s 目录的内容:%w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" +msgstr "" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "正在读取 %[1]s 文件: %[2]s" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "读取文件" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "正在读取 lib 头文件:%s" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" -msgstr "正在读取 lib src 目录:%s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" +msgstr "" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" -msgstr "正在读取库头文件:%w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" +msgstr "" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "正在读取 library_index.json: %s" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "正在读取软件包根目录:%s" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "阅读项目文件" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "未找到 ‘%s’ 方法" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到 %[2]s 工具的 %[1]s 发行版本" @@ -3471,94 +3471,94 @@ msgstr "找不到 %[2]s 工具的 %[1]s 发行版本" msgid "release cannot be nil" msgstr "发行不能为无" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "正在删除损坏的存档文件:%s" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "删除库目录:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "正在删除平台文件:%s" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到 %[2]s 平台所需的 %[1]s 版本" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "正在检索Arduino密钥:%s" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "扫描项目示例" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "正在搜索软件包根目录:%s" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "项目名称不能为空" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "工程命名不能是保留名称 \"%[1]s\"" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "项目名称过长(%[1]d 个字符)。 最大允许长度为 %[2]d" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "项目路径无效" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "项目路径" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "开始发现 %s" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "测试存档校验码:%s" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "测试存档大小:%s" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "测试存档是否被缓存:%s" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "测试本地存档完整性:%s" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "文本部分超出开发板的可用空间" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "编译数据库可能不完整或不准确" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "服务器响应状态 %s" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "等待消息超时" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "%s 工具不是由软件包管理器管理的" @@ -3567,16 +3567,16 @@ msgstr "%s 工具不是由软件包管理器管理的" msgid "tool %s not found" msgstr "未找到 %s 工具" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "工具未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "找不到发行工具:%s" @@ -3584,88 +3584,88 @@ msgstr "找不到发行工具:%s" msgid "tool version %s not found" msgstr "未找到工具的 %s 版本" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要 %[1]s 库的两个不同版本:%[2]s 和 %[3]s" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "无法计算项目的相对路径" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "无法新建文件夹来保存项目" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "无法新建包含该项目的文件夹" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "无法将 config 编码成 YAML:%v" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "无法读取目标项目的内容" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "无法读取源项目的内容" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "无法写入目标文件" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "未知 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "未知 %s 平台:%s" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "未知的项目文件扩展名 ‘%s’" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "不支持的哈希算法:%s" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "将 arduino:samd 升级到最新版本" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "将所有内容升级到最新版本" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "上传错误:%s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "未设置用户目录" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "'%s' 输出格式不支持用户输入" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "在非互动模式下不支持用户输入" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "%s 版本不适用于此操作系统" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "未找到 %s 版本" -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "服务器响应格式错误" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 4a037cd9381..594c66ea6dc 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -13,104 +13,104 @@ msgstr "" msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 交付:%[4]s 日期:%[5]s" -#: internal/arduino/builder/internal/detector/detector.go:464 +#: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "已不支援%[1]s 檔案夾!詳細資訊,請見 %[2]s" -#: internal/arduino/builder/build_options_manager.go:139 +#: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s 無效,重新建構全部" -#: internal/cli/lib/check_deps.go:123 +#: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "需要 %[1]s ,但已安裝 %[2]s" -#: internal/arduino/builder/builder.go:484 +#: internal/arduino/builder/builder.go:488 msgid "%[1]s pattern is missing" msgstr "%[1]s 樣態遺失" -#: internal/arduino/resources/download.go:49 +#: internal/arduino/resources/download.go:51 msgid "%s already downloaded" msgstr "%s 已經下載" -#: commands/service_upload.go:753 +#: commands/service_upload.go:754 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" -#: internal/arduino/cores/packagemanager/install_uninstall.go:367 +#: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" msgstr "%s 已安裝" -#: internal/cli/lib/check_deps.go:120 +#: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." msgstr "%s 已安裝" -#: internal/arduino/cores/packagemanager/loader.go:62 -#: internal/arduino/cores/packagemanager/loader.go:616 +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" msgstr "%s 不是目錄" -#: internal/arduino/cores/packagemanager/install_uninstall.go:287 +#: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" msgstr "%s 不是由套件管理員管理的" -#: internal/cli/lib/check_deps.go:117 +#: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "必須安裝 %s " -#: internal/arduino/builder/internal/preprocessor/ctags.go:194 -#: internal/arduino/builder/internal/preprocessor/gcc.go:61 +#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s 樣態遺失" -#: commands/cmderrors/cmderrors.go:820 +#: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" msgstr "'%s'的簽名無效" -#: internal/arduino/cores/packagemanager/package_manager.go:446 +#: internal/arduino/cores/packagemanager/package_manager.go:443 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "'build.core' 和 'build.variant' 參照到不同的平台: %[1]s 和 %[2]s" -#: internal/cli/board/listall.go:96 internal/cli/board/search.go:93 +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" msgstr "(隱藏)" -#: internal/arduino/builder/libraries.go:301 +#: internal/arduino/builder/libraries.go:302 msgid "(legacy)" msgstr "(舊版)" -#: internal/cli/lib/install.go:81 +#: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "--git-url 和 --zip-path 預設為不能使用, 詳情請見: %v" -#: internal/cli/lib/install.go:83 +#: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "--git-url 和 --zip-path 旗標允許安裝未被信任的檔案, 使用風險自負." -#: internal/cli/lib/install.go:86 +#: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "--git-url 或 --zip-path 不能和 --install-in-builtin-dir 一起使用" -#: commands/service_sketch_new.go:65 +#: commands/service_sketch_new.go:66 msgid ".ino file already exists" msgstr ".ino 檔已存在" -#: internal/cli/updater/updater.go:32 +#: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" msgstr "有新版的 Arduino CLI" -#: commands/cmderrors/cmderrors.go:301 +#: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" msgstr "上傳需要編寫器/燒錄器" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" msgstr "架構" @@ -118,39 +118,39 @@ msgstr "架構" msgid "ARDUINO COMMAND LINE MANUAL" msgstr "ARDUINO 命令列手冊" -#: internal/cli/usage.go:32 +#: internal/cli/usage.go:28 msgid "Additional help topics:" msgstr "更多協助主題:" -#: internal/cli/config/add.go:33 internal/cli/config/add.go:34 +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." msgstr "加入一或多個值到設定中" -#: internal/cli/usage.go:27 +#: internal/cli/usage.go:23 msgid "Aliases:" msgstr "別名:" -#: internal/cli/core/list.go:111 +#: internal/cli/core/list.go:112 msgid "All platforms are up to date." msgstr "全平台已是最新版" -#: internal/cli/core/upgrade.go:86 +#: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" msgstr "所有核心都已是最新版" -#: commands/service_library_install.go:134 +#: commands/service_library_install.go:135 msgid "Already installed %s" msgstr "已安裝 %s" -#: internal/arduino/builder/internal/detector/detector.go:93 +#: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" msgstr "%[1]s 的替代品: %[2]s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:71 +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" msgstr "新增原型時出錯" -#: internal/arduino/builder/internal/detector/detector.go:215 +#: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" msgstr "偵測程式庫時出錯" @@ -158,79 +158,79 @@ msgstr "偵測程式庫時出錯" msgid "Append debug logging to the specified file" msgstr "添加除錯日誌到指定檔案" -#: internal/cli/lib/search.go:207 +#: internal/cli/lib/search.go:208 msgid "Architecture: %s" msgstr "架構:%s" -#: commands/service_sketch_archive.go:68 +#: commands/service_sketch_archive.go:69 msgid "Archive already exists" msgstr "壓縮檔已存在" -#: internal/arduino/builder/core.go:141 +#: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" msgstr "壓縮在: %[1]s 裏已編譯核心 (快取) " -#: internal/cli/sketch/sketch.go:32 internal/cli/sketch/sketch.go:33 +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." msgstr "Arduino CLI sketch 命令" -#: internal/cli/cli.go:89 +#: internal/cli/cli.go:88 msgid "Arduino CLI." msgstr "Arduino CLI 命令列介面" -#: internal/cli/cli.go:90 +#: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." msgstr "Arduino 命令列界面 (arduino-cli)" -#: internal/cli/board/board.go:32 internal/cli/board/board.go:33 +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." msgstr "Arduino 開發板指令" -#: internal/cli/cache/cache.go:32 internal/cli/cache/cache.go:33 +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." msgstr "Arduino 快取指令" -#: internal/cli/lib/lib.go:32 internal/cli/lib/lib.go:33 +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." msgstr "Arduino 程式庫指令" -#: internal/cli/config/config.go:37 +#: internal/cli/config/config.go:35 msgid "Arduino configuration commands." msgstr "Arduino 設定指令" -#: internal/cli/core/core.go:32 internal/cli/core/core.go:33 +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." msgstr "Arduino 核心作業" -#: internal/cli/lib/check_deps.go:61 internal/cli/lib/install.go:129 +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" msgstr "參數錯誤:%v" -#: internal/cli/board/attach.go:35 +#: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." msgstr "將 sketch 放入開發板" -#: internal/cli/lib/search.go:198 +#: internal/cli/lib/search.go:199 msgid "Author: %s" msgstr "作者: %s" -#: internal/arduino/libraries/librariesmanager/install.go:77 +#: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "在這情況下無法自動化程式庫安裝, 請手動移除重覆的再試" -#: commands/service_library_uninstall.go:86 +#: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "在這情況下無法自動化程式庫卸除, 請手動移除" -#: internal/cli/lib/list.go:137 +#: internal/cli/lib/list.go:138 msgid "Available" msgstr "可用的" -#: internal/cli/usage.go:29 +#: internal/cli/usage.go:25 msgid "Available Commands:" msgstr "可用命令:" @@ -238,54 +238,54 @@ msgstr "可用命令:" msgid "Binary file to upload." msgstr "要上傳的二進位檔" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "開發板名" -#: internal/cli/board/details.go:138 +#: internal/cli/board/details.go:139 msgid "Board name:" msgstr "開發板名:" -#: internal/cli/board/details.go:140 +#: internal/cli/board/details.go:141 msgid "Board version:" msgstr "開發板版本:" -#: internal/arduino/builder/sketch.go:244 +#: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "找不到指定的 Bootloader 檔: %[1]s" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:98 msgid "Builds of 'core.a' are saved into this path to be cached and reused." msgstr "'core.a'的編譯檔已存到這路徑,方便快取和重複使用" -#: internal/arduino/resources/index.go:64 +#: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" msgstr "無法建立 %s 資料目錄" -#: commands/cmderrors/cmderrors.go:513 +#: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" msgstr "無法建立 sketch" -#: commands/service_library_download.go:90 +#: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" msgstr "無法下載程式庫" -#: commands/service_platform_uninstall.go:88 -#: internal/arduino/cores/packagemanager/install_uninstall.go:133 +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的相依" -#: commands/cmderrors/cmderrors.go:539 +#: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" msgstr "無法打開 sketch" -#: commands/cmderrors/cmderrors.go:526 +#: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" msgstr "無法更新 sketch" -#: internal/cli/arguments/arguments.go:36 +#: internal/cli/arguments/arguments.go:34 msgid "Can't use the following flags together: %s" msgstr "不能同時使用下列參數: %s" @@ -293,171 +293,171 @@ msgstr "不能同時使用下列參數: %s" msgid "Can't write debug log: %s" msgstr "無法寫入除錯日誌: %s" -#: commands/service_compile.go:186 commands/service_compile.go:189 +#: commands/service_compile.go:190 commands/service_compile.go:199 msgid "Cannot create build cache directory" msgstr "無法建立編譯快取的目錄" -#: commands/service_compile.go:171 +#: commands/service_compile.go:177 msgid "Cannot create build directory" msgstr "無法建立編譯目錄" -#: internal/cli/config/init.go:99 +#: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" msgstr "無法建立設定檔的目錄: %v" -#: internal/cli/config/init.go:123 +#: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" msgstr "無法建立設定檔: %v" -#: commands/cmderrors/cmderrors.go:783 +#: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" msgstr "無法建立暫存目錄" -#: commands/cmderrors/cmderrors.go:801 +#: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" msgstr "無法建立暫存檔" -#: internal/cli/config/delete.go:54 +#: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" msgstr "無法刪除鍵值 %[1]s: %[2]v" -#: commands/service_debug_run.go:68 +#: commands/service_debug_run.go:69 msgid "Cannot execute debug tool" msgstr "無法執行除錯工具" -#: internal/cli/config/init.go:76 internal/cli/config/init.go:83 +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" msgstr "找不到絕對路徑: %v" -#: internal/cli/config/add.go:62 internal/cli/config/add.go:64 -#: internal/cli/config/get.go:58 internal/cli/config/remove.go:62 -#: internal/cli/config/remove.go:64 +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "無法從設定裏取得鍵值 %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:140 +#: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" msgstr "無法安裝平台" -#: internal/arduino/cores/packagemanager/install_uninstall.go:345 +#: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" msgstr "無法安裝工具 %s" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Cannot perform port reset: %s" msgstr "無法執行連接埠重設: %s" -#: internal/cli/config/add.go:74 internal/cli/config/add.go:76 -#: internal/cli/config/remove.go:72 internal/cli/config/remove.go:74 +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "無法移除設定鍵 %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" msgstr "無法升級平台" -#: internal/cli/lib/search.go:206 +#: internal/cli/lib/search.go:207 msgid "Category: %s" msgstr "類別:%s" -#: internal/cli/lib/check_deps.go:38 internal/cli/lib/check_deps.go:39 +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." msgstr "檢查指定程式庫的相依狀態" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "檢查指定的板子/燒錄器是否支援除錯。" -#: internal/arduino/resources/checksums.go:167 +#: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "校驗碼和 package.json 檔內的不同" -#: internal/cli/board/details.go:189 +#: internal/cli/board/details.go:190 msgid "Checksum:" msgstr "校驗碼:" -#: internal/cli/cache/cache.go:34 +#: internal/cli/cache/cache.go:32 msgid "Clean caches." msgstr "清除快取" -#: internal/cli/cli.go:183 +#: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "給開發板管理員用的網址清單,以逗號分隔" -#: internal/cli/board/list.go:55 +#: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "命令保持執行, 在有更動時列出連接的開發板" -#: commands/service_debug_config.go:175 commands/service_upload.go:439 +#: commands/service_debug_config.go:176 commands/service_upload.go:440 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已編譯的 sketch" -#: internal/cli/compile/compile.go:81 internal/cli/compile/compile.go:82 +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." msgstr "編譯 Arduino sketch" -#: internal/arduino/builder/builder.go:418 +#: internal/arduino/builder/builder.go:422 msgid "Compiling core..." msgstr "編譯核心..." -#: internal/arduino/builder/builder.go:397 +#: internal/arduino/builder/builder.go:401 msgid "Compiling libraries..." msgstr "編譯程式庫..." -#: internal/arduino/builder/libraries.go:132 +#: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" msgstr "編譯程式庫 “%[1]s”" -#: internal/arduino/builder/builder.go:381 +#: internal/arduino/builder/builder.go:385 msgid "Compiling sketch..." msgstr "編譯 sketch ..." -#: internal/cli/config/init.go:93 +#: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "設定檔已存在,使用 --overwrite 覆蓋它" -#: internal/cli/config/init.go:178 +#: internal/cli/config/init.go:179 msgid "Config file written to: %s" msgstr "設定檔寫入:%s" -#: internal/cli/debug/debug.go:240 +#: internal/cli/debug/debug.go:238 msgid "Configuration options for %s" msgstr "%s 的設定選項" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:74 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "通訊埠設定, 格式為 <ID>=<value>[,<ID>=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:174 +#: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." msgstr "設定平台" -#: internal/arduino/cores/packagemanager/install_uninstall.go:355 +#: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." msgstr "設定工具" -#: internal/cli/board/list.go:195 +#: internal/cli/board/list.go:196 msgid "Connected" msgstr "已連接" -#: internal/cli/monitor/monitor.go:243 +#: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "連接 %s 中。按 CTRL-C 結束。" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" msgstr "核心" -#: internal/cli/configuration/network.go:101 +#: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" msgstr "無法通過 HTTP 連接" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "無法建立索引目錄" @@ -465,44 +465,44 @@ msgstr "無法建立索引目錄" msgid "Couldn't deeply cache core build: %[1]s" msgstr "無法深入快取核心編譯:%[1]s" -#: internal/arduino/builder/sizer.go:153 +#: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" msgstr "無法確定程式大小" -#: internal/cli/arguments/sketch.go:36 internal/cli/lib/install.go:110 +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" msgstr "無法取得工作目錄:%v" -#: internal/cli/sketch/new.go:36 internal/cli/sketch/new.go:37 +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" msgstr "建立新 sketch" -#: internal/cli/compile/compile.go:96 +#: internal/cli/compile/compile.go:95 msgid "Create and print a profile configuration from the build." msgstr "從建構中建立並印出設定檔內容" -#: internal/cli/sketch/archive.go:36 internal/cli/sketch/archive.go:37 +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." msgstr "建立含全部 sketch 檔的 zip 壓縮檔" -#: internal/cli/config/init.go:45 +#: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "用目前的設定值建立或更新資料或自定義目錄內的設定檔" -#: internal/cli/compile/compile.go:328 +#: internal/cli/compile/compile.go:327 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前建構方案只支援 Arduino 程式庫管理員所提供的程式庫" -#: internal/cli/debug/debug.go:256 +#: internal/cli/debug/debug.go:254 msgid "Custom configuration for %s:" msgstr "%s的客製化設定:" -#: internal/cli/feedback/result/rpc.go:148 -#: internal/cli/outdated/outdated.go:121 +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" msgstr "已棄用" @@ -510,71 +510,71 @@ msgstr "已棄用" msgid "Daemon is now listening on %s:%s" msgstr "背景程式正在監聽 %s:%s" -#: internal/cli/debug/debug.go:54 +#: internal/cli/debug/debug.go:52 msgid "Debug Arduino sketches." msgstr "除錯 Arduino sketch" -#: internal/cli/debug/debug.go:55 +#: internal/cli/debug/debug.go:53 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "除錯 Arduino sketch (此命令會開啟互動式 gdb 對話)" -#: internal/cli/debug/debug.go:68 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "除錯解譯器,例如:%s" -#: commands/service_debug_config.go:205 +#: commands/service_debug_config.go:206 msgid "Debugging not supported for board %s" msgstr "不支援 %s 開發板除錯" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Default" msgstr "預設" -#: internal/cli/board/attach.go:114 +#: internal/cli/board/attach.go:115 msgid "Default FQBN set to" msgstr "預設 FQBN 設定為" -#: internal/cli/board/attach.go:113 +#: internal/cli/board/attach.go:114 msgid "Default port set to" msgstr "預設連接埠設定為" -#: internal/cli/board/attach.go:115 +#: internal/cli/board/attach.go:116 msgid "Default programmer set to" msgstr "預設燒錄器設為" -#: internal/cli/cache/clean.go:31 +#: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." msgstr "刪除開發板/程式庫管理員下載快取" -#: internal/cli/cache/clean.go:32 +#: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "刪除下載快取目錄裏,含有安裝程式庫和開發板平台時存放的資料。" -#: internal/cli/config/delete.go:31 internal/cli/config/delete.go:32 +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." msgstr "刪除某設定鍵和所有子鍵" -#: internal/cli/lib/search.go:214 +#: internal/cli/lib/search.go:215 msgid "Dependencies: %s" msgstr "相依: %s" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:108 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" msgstr "說明" -#: internal/arduino/builder/builder.go:309 +#: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." msgstr "檢測有使用的程式庫..." -#: internal/cli/board/list.go:45 +#: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "檢測並顯示連接到電腦的開發板清單" -#: internal/cli/debug/debug.go:69 +#: internal/cli/debug/debug.go:67 msgid "Directory containing binaries for debug." msgstr "目錄內有除錯用二進位檔" @@ -592,7 +592,7 @@ msgstr "目錄用來保存生成檔。預設為 ./docs,本目錄必須存在" msgid "Disable completion description for shells that support it" msgstr "關閉 shell 的完成描述功能" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:197 msgid "Disconnected" msgstr "斷開連接" @@ -600,15 +600,15 @@ msgstr "斷開連接" msgid "Display only the provided gRPC calls" msgstr "只顯示提供的 gRPC 呼叫" -#: internal/cli/lib/install.go:61 +#: internal/cli/lib/install.go:62 msgid "Do not install dependencies." msgstr "不安裝相依" -#: internal/cli/lib/install.go:62 +#: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." msgstr "不要覆蓋已安裝的程式庫" -#: internal/cli/core/install.go:55 +#: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." msgstr "不要覆蓋已安裝的平台" @@ -621,49 +621,49 @@ msgstr "不要真的上傳,取消動作" msgid "Do not terminate daemon process if the parent process dies" msgstr "就算父程序已 GG,也不要中止背景程式" -#: internal/cli/lib/check_deps.go:51 +#: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "如果已安裝好切勿試著再更新程式庫相依" -#: commands/service_library_download.go:87 +#: commands/service_library_download.go:88 msgid "Downloading %s" msgstr "下載 %s" -#: internal/arduino/resources/index.go:136 +#: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" msgstr "下載索引簽名: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 -#: internal/arduino/resources/index.go:81 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "下載索引: %s" -#: commands/instances.go:373 +#: commands/instances.go:374 msgid "Downloading library %s" msgstr "下載程式庫 %s" -#: commands/instances.go:52 +#: commands/instances.go:53 msgid "Downloading missing tool %s" msgstr "下載缺少的工具 %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:93 +#: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" msgstr "下載安裝包" -#: internal/arduino/cores/packagemanager/profiles.go:99 +#: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" msgstr "下載平台 %s" -#: internal/arduino/cores/packagemanager/profiles.go:175 +#: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" msgstr "下載工具 %s" -#: internal/cli/core/download.go:35 internal/cli/core/download.go:36 +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "下載一或多個核心及工具相依" -#: internal/cli/lib/download.go:35 internal/cli/lib/download.go:36 +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." msgstr "下載一或多個程式庫, 但不安裝" @@ -671,178 +671,178 @@ msgstr "下載一或多個程式庫, 但不安裝" msgid "Enable debug logging of gRPC calls" msgstr "啟用 gRPC 呼叫的除錯記錄" -#: internal/cli/lib/install.go:64 +#: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" msgstr "輸入 zip 壓縮檔的路徑" -#: internal/cli/lib/install.go:63 +#: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" msgstr "輸入托管程式庫的 git 位址" -#: commands/service_sketch_archive.go:104 +#: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" msgstr "將檔案加入 sketch 時出錯" -#: internal/arduino/builder/core.go:147 +#: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中儲存編譯核心(快取)時出錯:%[2]s" -#: internal/cli/sketch/archive.go:84 +#: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" msgstr "錯誤歸檔:%v" -#: commands/service_sketch_archive.go:92 +#: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" msgstr "計算相對檔案路徑時出錯" -#: internal/cli/cache/clean.go:47 +#: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" msgstr "清理快取時出錯: %v" -#: internal/cli/compile/compile.go:217 +#: internal/cli/compile/compile.go:216 msgid "Error converting path to absolute: %v" msgstr "將路徑轉換成絕對路徑時出錯: %v" -#: commands/service_compile.go:383 +#: commands/service_compile.go:403 msgid "Error copying output file %s" msgstr "複製輸出檔 %s 時出錯" -#: internal/cli/config/init.go:105 internal/cli/config/init.go:112 -#: internal/cli/config/init.go:119 internal/cli/config/init.go:133 -#: internal/cli/config/init.go:137 +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" msgstr "建立設定檔出錯: %v" -#: internal/cli/instance/instance.go:45 +#: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" msgstr "建立實例時出錯: %v" -#: commands/service_compile.go:367 +#: commands/service_compile.go:387 msgid "Error creating output dir" msgstr "建立輸出目錄時出錯" -#: commands/service_sketch_archive.go:80 +#: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" msgstr "建立 sketch 檔時出錯" -#: internal/cli/sketch/new.go:70 internal/cli/sketch/new.go:82 +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" msgstr "建立 sketch 時出錯: %v" -#: internal/cli/board/list.go:82 internal/cli/board/list.go:95 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 msgid "Error detecting boards: %v" msgstr "偵測開發板時出錯: %v" -#: internal/cli/core/download.go:70 internal/cli/lib/download.go:68 +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" msgstr "下載 %[1]s 出錯: %[2]v" -#: internal/arduino/cores/packagemanager/profiles.go:108 -#: internal/arduino/cores/packagemanager/profiles.go:109 +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" msgstr "下載 %s 出錯" -#: commands/instances.go:660 internal/arduino/resources/index.go:82 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下載索引'%s'時出錯" -#: internal/arduino/resources/index.go:137 +#: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" msgstr "下載索引簽名 '%s' 出錯" -#: commands/instances.go:383 commands/instances.go:389 +#: commands/instances.go:384 commands/instances.go:390 msgid "Error downloading library %s" msgstr "下載程式庫 %s 出錯" -#: internal/arduino/cores/packagemanager/profiles.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" msgstr "下載平台 %s 出錯" -#: internal/arduino/cores/packagemanager/download.go:126 -#: internal/arduino/cores/packagemanager/profiles.go:177 +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" msgstr "下載工具 %s 出錯" -#: internal/cli/debug/debug.go:152 internal/cli/debug/debug.go:185 +#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 msgid "Error during Debug: %v" msgstr "除錯時出錯: %v" -#: internal/cli/arguments/port.go:140 +#: internal/cli/arguments/port.go:141 msgid "Error during FQBN detection: %v" msgstr "FQBN 偵測時出錯: %v" -#: internal/cli/feedback/feedback.go:238 internal/cli/feedback/feedback.go:244 +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "輸出 JSON 編碼過程出錯:%v" #: internal/cli/burnbootloader/burnbootloader.go:76 #: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:261 internal/cli/compile/compile.go:303 +#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 #: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" -#: internal/cli/compile/compile.go:376 +#: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "建構時出錯: %v" -#: internal/cli/core/install.go:80 +#: internal/cli/core/install.go:81 msgid "Error during install: %v" msgstr "安裝時出錯: %v" -#: internal/cli/core/uninstall.go:74 +#: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" msgstr "卸載時出錯: %v" -#: internal/cli/core/upgrade.go:135 +#: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" msgstr "升級時出錯: %v" -#: internal/arduino/resources/index.go:104 -#: internal/arduino/resources/index.go:123 +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 msgid "Error extracting %s" msgstr "解開 %s 時出錯" -#: commands/service_upload.go:436 +#: commands/service_upload.go:437 msgid "Error finding build artifacts" msgstr "尋找建構成品時出錯" -#: internal/cli/debug/debug.go:132 +#: internal/cli/debug/debug.go:130 msgid "Error getting Debug info: %v" msgstr "取得除錯資訊時出錯: %v" -#: commands/service_sketch_archive.go:56 +#: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" msgstr "取得 sketch 檔絕對路徑時出錯" -#: internal/cli/board/details.go:73 +#: internal/cli/board/details.go:74 msgid "Error getting board details: %v" msgstr "取得開發板細節時出錯: %v" -#: internal/arduino/builder/internal/compilation/database.go:84 +#: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "取得編譯資料庫所在目錄時出錯: %s" -#: internal/cli/monitor/monitor.go:110 +#: internal/cli/monitor/monitor.go:108 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "從 `sketch.yaml` 取得預設連接埠出錯. 請檢查是否在正確的 sketch 目錄下, 或者提供 --port 參數: %s" -#: commands/service_compile.go:306 commands/service_library_list.go:114 +#: commands/service_compile.go:326 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "取得程式庫 %s 資訊時出錯" -#: internal/cli/lib/examples.go:74 +#: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" msgstr "取得程式庫資訊時出錯: %v" -#: internal/cli/arguments/fqbn.go:91 +#: internal/cli/arguments/fqbn.go:92 msgid "Error getting port metadata: %v" msgstr "取得連接埠資訊出錯: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:153 msgid "Error getting port settings details: %s" msgstr "取得連接埠設定細節出錯: %s" @@ -850,59 +850,59 @@ msgstr "取得連接埠設定細節出錯: %s" msgid "Error getting user input" msgstr "取得用戶輸入時出錯" -#: internal/cli/instance/instance.go:84 internal/cli/instance/instance.go:102 +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" msgstr "初始化實例時出錯: %v" -#: internal/cli/lib/install.go:147 +#: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" msgstr "安裝 %s 時出錯: %v" -#: internal/cli/lib/install.go:121 +#: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" msgstr "安裝 Git 程式庫出錯: %v" -#: internal/cli/lib/install.go:99 +#: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" msgstr "安裝 Zip 程式庫出錯: %v" -#: commands/instances.go:399 +#: commands/instances.go:400 msgid "Error installing library %s" msgstr "安裝程式庫 %s 出錯" -#: internal/arduino/cores/packagemanager/profiles.go:134 -#: internal/arduino/cores/packagemanager/profiles.go:135 +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" msgstr "安裝 %s 平台出錯" -#: internal/arduino/cores/packagemanager/profiles.go:178 -#: internal/arduino/cores/packagemanager/profiles.go:185 -#: internal/arduino/cores/packagemanager/profiles.go:186 +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" msgstr "安裝 %s 工具出錯" -#: internal/cli/board/listall.go:65 +#: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" msgstr "列出開發板出錯: %v" -#: internal/cli/lib/list.go:90 +#: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" msgstr "列出程式庫出錯: %v" -#: internal/cli/core/list.go:68 +#: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" msgstr "列出平台出錯: %v" -#: commands/cmderrors/cmderrors.go:426 +#: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" msgstr "載入硬體平台時出錯" -#: internal/arduino/cores/packagemanager/profiles.go:112 -#: internal/arduino/cores/packagemanager/profiles.go:113 +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" msgstr "載入索引 %s 出錯" -#: internal/arduino/resources/index.go:98 +#: internal/arduino/resources/index.go:99 msgid "Error opening %s" msgstr "開啟 %s 時出錯" @@ -910,109 +910,109 @@ msgstr "開啟 %s 時出錯" msgid "Error opening debug logging file: %s" msgstr "打開除錯日誌檔出錯: %s" -#: internal/cli/compile/compile.go:190 +#: internal/cli/compile/compile.go:189 msgid "Error opening source code overrides data file: %v" msgstr "打開原始碼覆寫資料檔時出錯: %v" -#: internal/cli/compile/compile.go:203 +#: internal/cli/compile/compile.go:202 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 參數出錯: %v" -#: commands/service_compile.go:376 +#: commands/service_compile.go:396 msgid "Error reading build directory" msgstr "讀取建構目錄時出錯" -#: commands/service_sketch_archive.go:74 +#: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" msgstr "讀取 sketch 檔出錯" -#: internal/cli/lib/check_deps.go:71 +#: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" msgstr "解析 %[1]s 的相依時出錯: %[2]s" -#: internal/cli/core/upgrade.go:67 +#: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" msgstr "取得核心列表出錯: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +#: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" msgstr "回復更改時出錯: %s" -#: internal/arduino/resources/index.go:164 -#: internal/arduino/resources/index.go:176 +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" msgstr "儲存下載的索引出錯" -#: internal/arduino/resources/index.go:171 -#: internal/arduino/resources/index.go:180 +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" msgstr "儲存下載的索引簽名時出錯" -#: internal/cli/board/search.go:62 +#: internal/cli/board/search.go:63 msgid "Error searching boards: %v" msgstr "搜尋開發板時出錯: %v" -#: internal/cli/lib/search.go:125 +#: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" msgstr "搜尋程式庫時出錯: %v" -#: internal/cli/core/search.go:81 +#: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" msgstr "搜尋平台時出錯: %v" -#: internal/arduino/builder/internal/compilation/database.go:69 +#: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" msgstr "序列化編譯資料庫時出錯: %s" -#: internal/cli/monitor/monitor.go:221 +#: internal/cli/monitor/monitor.go:219 msgid "Error setting raw mode: %s" msgstr "設定原始模式出錯: %s" -#: internal/cli/config/set.go:66 internal/cli/config/set.go:73 +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" msgstr "設定鍵值時出錯: %v" -#: internal/cli/board/list.go:85 +#: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" msgstr "啟動探索時出錯:%v" -#: internal/cli/lib/uninstall.go:66 +#: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" msgstr "卸載 %[1]s 時出錯: %[2]v" -#: internal/cli/lib/search.go:112 internal/cli/lib/update_index.go:58 +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" msgstr "更新程式庫索引時出錯: %v" -#: internal/cli/lib/upgrade.go:74 +#: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" msgstr "更新程式庫時出錯" -#: internal/arduino/cores/packagemanager/install_uninstall.go:150 +#: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" msgstr "更新平台時出錯: %s" -#: internal/arduino/resources/index.go:146 -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 msgid "Error verifying signature" msgstr "驗證簽名時出錯" -#: internal/arduino/builder/internal/detector/detector.go:371 +#: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" msgstr "偵測 %[1]s 所包含的程式庫時出錯" -#: internal/arduino/builder/sizer.go:78 internal/arduino/builder/sizer.go:87 -#: internal/arduino/builder/sizer.go:90 internal/arduino/builder/sizer.go:109 -#: internal/arduino/builder/sizer.go:214 internal/arduino/builder/sizer.go:224 -#: internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 +#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 +#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 +#: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" msgstr "確定 sketch 大小時出錯: %s" -#: internal/arduino/builder/internal/compilation/database.go:72 +#: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" msgstr "寫入編譯資料庫時出錯: %s" -#: internal/cli/config/config.go:86 internal/cli/config/config.go:93 +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" msgstr "寫入檔案時出錯: %v" @@ -1020,57 +1020,57 @@ msgstr "寫入檔案時出錯: %v" msgid "Error: command description is not supported by %v" msgstr "錯誤: %v 不支持命令說明" -#: internal/cli/compile/compile.go:196 +#: internal/cli/compile/compile.go:195 msgid "Error: invalid source code overrides data file: %v" msgstr "錯誤: 無效原始碼覆蓋了資料檔: %v" -#: internal/cli/board/list.go:101 +#: internal/cli/board/list.go:102 msgid "Event" msgstr "事件" -#: internal/cli/lib/examples.go:122 +#: internal/cli/lib/examples.go:123 msgid "Examples for library %s" msgstr "%s 程式庫的範例" -#: internal/cli/usage.go:28 +#: internal/cli/usage.go:24 msgid "Examples:" msgstr "範例:" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:221 msgid "Executable to debug" msgstr "可執行來除錯" -#: commands/service_debug_config.go:178 commands/service_upload.go:442 +#: commands/service_debug_config.go:179 commands/service_upload.go:443 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "%s 目錄內應該有已編譯的 sketch,卻只有個檔案" -#: internal/cli/board/attach.go:34 internal/cli/board/details.go:40 -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 -#: internal/cli/board/listall.go:83 internal/cli/board/search.go:84 +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" -#: internal/cli/board/details.go:139 +#: internal/cli/board/details.go:140 msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:565 +#: commands/service_upload.go:566 msgid "Failed chip erase" msgstr "晶片擦除失敗" -#: commands/service_upload.go:572 +#: commands/service_upload.go:573 msgid "Failed programming" msgstr "燒錄失敗" -#: commands/service_upload.go:568 +#: commands/service_upload.go:569 msgid "Failed to burn bootloader" msgstr "燒錄 bootloader 失敗" -#: commands/instances.go:89 +#: commands/instances.go:90 msgid "Failed to create data directory" msgstr "建立資料目錄失敗" -#: commands/instances.go:78 +#: commands/instances.go:79 msgid "Failed to create downloads directory" msgstr "建立下載檔案夾失敗" @@ -1090,62 +1090,62 @@ msgstr "監聽 TCP 埠: %[1]s 失敗, 未預期的錯誤: %[2]v" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "監聽 TCP 埠: %s 失敗。位址已被使用" -#: commands/service_upload.go:576 +#: commands/service_upload.go:577 msgid "Failed uploading" msgstr "上傳失敗" -#: internal/cli/board/details.go:187 +#: internal/cli/board/details.go:188 msgid "File:" msgstr "檔案:" -#: commands/service_compile.go:154 +#: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "韌體加密/簽名需要定義以下全部屬性: %s" -#: commands/service_debug.go:39 +#: commands/service_debug.go:40 msgid "First message must contain debug request, not data" msgstr "第一則訊息必須包含除錯請求,而不是資料" -#: internal/cli/arguments/arguments.go:47 +#: internal/cli/arguments/arguments.go:45 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "參數 %[1]s 當與:%[2]s 一起使用時必須強制使用" -#: internal/cli/usage.go:30 +#: internal/cli/usage.go:26 msgid "Flags:" msgstr "旗標參數:" -#: internal/cli/arguments/pre_post_script.go:37 +#: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "強制執行安裝後指令檔 (如果 CLI 未以互動方式執行)" -#: internal/cli/arguments/pre_post_script.go:39 +#: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "強制執行 pre-uninstall 命令 (如果 CLI 在非互動狀態)." -#: internal/cli/arguments/pre_post_script.go:38 +#: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "強制跳過安裝後指令檔 (如果 CLI 以互動方式運行)" -#: internal/cli/arguments/pre_post_script.go:40 +#: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "強制跳過 pre-uninstall 命令 (如果 CLI 在互動狀態)." -#: commands/cmderrors/cmderrors.go:841 +#: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" msgstr "找到 %d 平台有符合 \"%s\": %s" -#: internal/cli/arguments/fqbn.go:38 +#: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格的開發板名,例如:arduino:avr:uno" -#: commands/service_debug_run.go:187 +#: commands/service_debug_run.go:188 msgid "GDB server '%s' is not supported" msgstr "不支援 GDB 伺服器 '%s'" @@ -1162,108 +1162,108 @@ msgstr "已生成指令檔" msgid "Generates completion scripts for various shells" msgstr "已為各種 shell 生成指令檔" -#: internal/arduino/builder/builder.go:329 +#: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." msgstr "生成函式原型..." -#: internal/cli/config/get.go:34 internal/cli/config/get.go:35 +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." msgstr "取得設定的鍵值。" -#: internal/cli/usage.go:31 +#: internal/cli/usage.go:27 msgid "Global Flags:" msgstr "全域旗標:" -#: internal/arduino/builder/sizer.go:163 +#: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "全域變數使用 %[1]s 位元組 (%[3]s%%) 的動態記憶體, 保留 %[4]s 位元組給區域變數. 最大 %[2]s 位元組" -#: internal/arduino/builder/sizer.go:169 +#: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全域變數使用 %[1]s 位元組的動態記憶體" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/monitor/monitor.go:299 -#: internal/cli/outdated/outdated.go:103 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Id" msgstr "Id" -#: internal/cli/board/details.go:153 +#: internal/cli/board/details.go:154 msgid "Identification properties:" msgstr "標識屬性:" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:128 msgid "If set built binaries will be exported to the sketch folder." msgstr "一經設定,建構的二進位檔將導出到 sketch 檔案夾" -#: internal/cli/core/list.go:45 +#: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "一經設定,傳回所有可安裝和已安裝的核心,包括手動安裝的" -#: internal/cli/lib/list.go:54 +#: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." msgstr "列表內包含內建程式庫 (來自平台和 IDE)" -#: internal/cli/sketch/archive.go:50 +#: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." msgstr "存檔中包含 %s 目錄" -#: internal/cli/lib/install.go:65 +#: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" msgstr "安裝程式庫到 IDE-Builtin 目錄" -#: internal/cli/core/list.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:105 +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 msgid "Installed" msgstr "已安裝" -#: commands/service_library_install.go:199 +#: commands/service_library_install.go:200 msgid "Installed %s" msgstr "已安裝 %s" -#: commands/service_library_install.go:182 -#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +#: commands/service_library_install.go:183 +#: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" msgstr "安裝 %s..." -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Installing library %s" msgstr "安裝程式庫 %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:116 -#: internal/arduino/cores/packagemanager/profiles.go:132 +#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "安裝平台 %s " -#: internal/arduino/cores/packagemanager/profiles.go:183 +#: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" msgstr "安裝工具 %s" -#: internal/cli/core/install.go:37 internal/cli/core/install.go:38 +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "安裝一或多個核心和工具相依" -#: internal/cli/lib/install.go:45 internal/cli/lib/install.go:46 +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." msgstr "安裝一或多個指定程式庫到系統中" -#: internal/arduino/builder/internal/detector/detector.go:396 +#: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" msgstr "快取的內部錯誤" -#: commands/cmderrors/cmderrors.go:379 +#: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" msgstr "無效的 '%[1]s' 屬性:%[2]s" -#: commands/cmderrors/cmderrors.go:62 +#: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" msgstr "無效的 FQBN" @@ -1271,266 +1271,266 @@ msgstr "無效的 FQBN" msgid "Invalid TCP address: port is missing" msgstr "無效的 TCP 位址:缺少連接埠" -#: commands/cmderrors/cmderrors.go:80 +#: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" msgstr "無效的網址" -#: commands/instances.go:185 +#: commands/instances.go:186 msgid "Invalid additional URL: %v" msgstr "無效的額外網址: %v" -#: internal/arduino/resources/index.go:110 -msgid "Invalid archive: file %{1}s not found in archive %{2}s" -msgstr "無效存檔: 檔案 %{1}s 不在%{2}s 存檔裏" +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" +msgstr "無效的存檔:%[1]s 不在 %[2]s 存檔裏" -#: internal/cli/core/download.go:58 internal/cli/core/install.go:65 -#: internal/cli/core/uninstall.go:57 internal/cli/core/upgrade.go:107 -#: internal/cli/lib/download.go:57 internal/cli/lib/uninstall.go:55 +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" msgstr "傳送的參數無效: %v" -#: commands/service_compile.go:250 +#: commands/service_compile.go:270 msgid "Invalid build properties" msgstr "無效的建構屬性" -#: internal/arduino/builder/sizer.go:249 +#: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" msgstr "無效的資料大小正規表示式: %s" -#: internal/arduino/builder/sizer.go:255 +#: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" msgstr "無效的 eeprom 大小正規表示式: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "無效的索引網址: 1%s" -#: commands/cmderrors/cmderrors.go:48 +#: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" msgstr "無效的實例" -#: internal/cli/core/upgrade.go:113 +#: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" msgstr "無效的項目 %s" -#: commands/cmderrors/cmderrors.go:98 +#: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" msgstr "無效的程式庫" -#: internal/cli/cli.go:261 +#: internal/cli/cli.go:262 msgid "Invalid logging level: %s" msgstr "無效的日誌層級: %s" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "網路設定無效: %s" -#: internal/cli/configuration/network.go:64 +#: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" -#: internal/cli/cli.go:218 +#: internal/cli/cli.go:219 msgid "Invalid output format: %s" msgstr "無效的輸出格式: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "%s 內的套件索引無效" -#: internal/cli/core/uninstall.go:62 +#: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" msgstr "無效 %s 參數: 版本不允許" -#: commands/service_board_list.go:80 +#: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" msgstr "無效的 pid 值: '%s'" -#: commands/cmderrors/cmderrors.go:222 +#: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" msgstr "無效的設定檔" -#: commands/service_monitor.go:268 +#: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法無效" -#: internal/arduino/builder/sizer.go:239 +#: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" msgstr "無效的大小正規表示式: %s" -#: commands/cmderrors/cmderrors.go:116 +#: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "無效的版本" -#: commands/service_board_list.go:77 +#: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" msgstr "無效的 vid 值: '%s'" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:125 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "只產生編譯資料庫,不實際編譯。跳過除 pre* 以外的所有建構指令" -#: internal/cli/lib/list.go:38 +#: internal/cli/lib/list.go:39 msgid "LIBNAME" msgstr "程式庫名" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" msgstr "程式庫" -#: internal/cli/lib/download.go:34 internal/cli/lib/examples.go:42 -#: internal/cli/lib/uninstall.go:34 +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" msgstr "程式庫_名" -#: internal/cli/core/list.go:116 internal/cli/outdated/outdated.go:106 +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" msgstr "最新的" -#: internal/arduino/builder/libraries.go:90 +#: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" msgstr "程式庫 %[1]s 已聲明為預編譯:" -#: commands/service_library_install.go:140 -#: internal/arduino/libraries/librariesmanager/install.go:129 +#: commands/service_library_install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "程式庫 %[1]s 已經安裝, 但版本不同: %[2]s" -#: commands/service_library_upgrade.go:136 +#: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" msgstr "程式庫 %s 已是最新版" -#: commands/service_library_uninstall.go:62 +#: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" msgstr "程式庫 %s 未安裝" -#: commands/instances.go:376 +#: commands/instances.go:377 msgid "Library %s not found" msgstr "未找到程式庫 %s " -#: commands/cmderrors/cmderrors.go:447 +#: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" msgstr "未找到程式庫 '%s'" -#: internal/arduino/builder/internal/detector/detector.go:473 +#: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "程式庫不能同時用'%[1]s'和'%[2]s'檔案夾。再檢查 '%[3]s'" -#: commands/cmderrors/cmderrors.go:576 +#: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" msgstr "程式庫安裝失敗" -#: commands/service_library_install.go:233 -#: commands/service_library_install.go:273 +#: commands/service_library_install.go:234 +#: commands/service_library_install.go:274 msgid "Library installed" msgstr "程式庫已安裝" -#: internal/cli/lib/search.go:204 +#: internal/cli/lib/search.go:205 msgid "License: %s" msgstr "許可證: %s" -#: internal/arduino/builder/builder.go:434 +#: internal/arduino/builder/builder.go:438 msgid "Linking everything together..." msgstr "將所有內容鏈接在一起..." -#: internal/cli/board/listall.go:39 +#: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "列出已安裝被支援平台的所有開發板。輸入開發板名,也可進行搜尋" -#: internal/cli/board/listall.go:38 +#: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." msgstr "列出所有已知開發板及其相應的 FQBN" -#: internal/cli/board/list.go:44 +#: internal/cli/board/list.go:45 msgid "List connected boards." msgstr "列出已連接的開發板" -#: internal/cli/arguments/fqbn.go:43 +#: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "列出開發板選項列表。可多選項多次使用" -#: internal/cli/compile/compile.go:104 +#: internal/cli/compile/compile.go:103 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "列出自定義屬性列表。可多屬性多次使用" -#: internal/cli/lib/list.go:56 +#: internal/cli/lib/list.go:57 msgid "List updatable libraries." msgstr "列出可更新的程式庫" -#: internal/cli/core/list.go:44 +#: internal/cli/core/list.go:45 msgid "List updatable platforms." msgstr "列出可更新的平台" -#: internal/cli/board/board.go:34 +#: internal/cli/board/board.go:32 msgid "Lists all connected boards." msgstr "列出所有連接的開發板" -#: internal/cli/outdated/outdated.go:43 +#: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" msgstr "列出可升級的核心和程式庫" -#: commands/instances.go:223 commands/instances.go:234 -#: commands/instances.go:344 +#: commands/instances.go:224 commands/instances.go:235 +#: commands/instances.go:345 msgid "Loading index file: %v" msgstr "載入索引檔: %v" -#: internal/cli/lib/list.go:137 internal/cli/outdated/outdated.go:107 +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" msgstr "位置" -#: internal/arduino/builder/sizer.go:204 +#: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "記憶體低容量,可能影響穩定性" -#: internal/cli/lib/search.go:199 +#: internal/cli/lib/search.go:200 msgid "Maintainer: %s" msgstr "維護者: %s" -#: internal/cli/compile/compile.go:134 +#: internal/cli/compile/compile.go:133 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "平行編譯最大數. 如設為 0 將使用 CPU 的全部核心." -#: internal/cli/arguments/discovery_timeout.go:31 +#: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" msgstr "等待連接埠探尋的最長時間,例如:30s, 1m" -#: internal/cli/cli.go:171 +#: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "記錄此等級含以上的訊息。有效等級為 %s" -#: internal/arduino/builder/internal/detector/detector.go:468 +#: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" msgstr "%[2]s 的程式庫缺少 '%[1]s'" -#: commands/cmderrors/cmderrors.go:171 +#: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" msgstr "缺少 FQBN (完全合格開發板名)" -#: commands/cmderrors/cmderrors.go:262 +#: commands/cmderrors/cmderrors.go:260 msgid "Missing port" msgstr "缺少連接埠" -#: commands/cmderrors/cmderrors.go:238 +#: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" msgstr "缺少連接埠地址" -#: commands/cmderrors/cmderrors.go:250 +#: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" msgstr "缺少連接埠協議" -#: commands/cmderrors/cmderrors.go:288 +#: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" msgstr "缺少燒錄器" @@ -1538,33 +1538,33 @@ msgstr "缺少燒錄器" msgid "Missing required upload field: %s" msgstr "缺少必要的上傳欄位: %s" -#: internal/arduino/builder/sizer.go:243 +#: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" msgstr "缺少大小正規表示式" -#: commands/cmderrors/cmderrors.go:499 +#: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" msgstr "缺少 sketch 路徑" -#: commands/cmderrors/cmderrors.go:360 +#: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" msgstr "監視器 '%s' 找不到" -#: internal/cli/monitor/monitor.go:202 +#: internal/cli/monitor/monitor.go:200 msgid "Monitor port settings:" msgstr "監視連接埠設定:" -#: internal/arduino/builder/internal/detector/detector.go:158 +#: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" msgstr "找到了多個 “%[1]s” 程式庫" -#: internal/cli/board/details.go:215 internal/cli/core/list.go:116 -#: internal/cli/core/search.go:116 internal/cli/lib/list.go:137 -#: internal/cli/outdated/outdated.go:104 +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 msgid "Name" msgstr "名" -#: internal/cli/lib/search.go:178 +#: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" msgstr "名: “%s”" @@ -1572,27 +1572,27 @@ msgstr "名: “%s”" msgid "New upload port: %[1]s (%[2]s)" msgstr "新上傳連接埠: %[1]s (%[2]s)" -#: internal/cli/board/list.go:129 +#: internal/cli/board/list.go:130 msgid "No boards found." msgstr "沒找到開發板" -#: internal/cli/board/attach.go:111 +#: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" msgstr "未預設埠號, FQBN 或者燒錄器" -#: internal/cli/lib/examples.go:107 +#: internal/cli/lib/examples.go:108 msgid "No libraries found." msgstr "沒找到程式庫" -#: internal/cli/lib/list.go:129 +#: internal/cli/lib/list.go:130 msgid "No libraries installed." msgstr "沒安裝程式庫" -#: internal/cli/lib/search.go:167 +#: internal/cli/lib/search.go:168 msgid "No libraries matching your search." msgstr "沒有你想找的程式庫" -#: internal/cli/lib/search.go:173 +#: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" @@ -1600,179 +1600,179 @@ msgstr "" "沒有符合你想找的程式庫\n" "你的意思是...\n" -#: internal/cli/lib/list.go:127 +#: internal/cli/lib/list.go:128 msgid "No libraries update is available." msgstr "沒的程式庫更新檔" -#: commands/cmderrors/cmderrors.go:276 +#: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" msgstr "沒有可用於連接埠協議 %s 的監視器" -#: internal/cli/outdated/outdated.go:97 +#: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." msgstr "沒找到已過時的平台或程式庫" -#: internal/cli/core/list.go:113 +#: internal/cli/core/list.go:114 msgid "No platforms installed." msgstr "沒安裝任何平台" -#: internal/cli/core/search.go:112 +#: internal/cli/core/search.go:113 msgid "No platforms matching your search." msgstr "沒有你想找的平台" -#: commands/service_upload.go:521 +#: commands/service_upload.go:522 msgid "No upload port found, using %s as fallback" msgstr "沒找到上傳連接埠,使用 %s 作為後援" -#: commands/cmderrors/cmderrors.go:466 +#: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" msgstr "找不到有效的相依解決方案" -#: internal/arduino/builder/sizer.go:194 +#: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "記憶體不足;有關減少用量的方法,請參見 %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:161 +#: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" msgstr "未使用: %[1]s" -#: internal/cli/board/details.go:186 +#: internal/cli/board/details.go:187 msgid "OS:" msgstr "作業系統:" -#: internal/cli/board/details.go:144 +#: internal/cli/board/details.go:145 msgid "Official Arduino board:" msgstr "Arduino 官方開發板:" -#: internal/cli/lib/search.go:97 +#: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "省略程式庫中除最新版本以外的所有版本(產出更精簡的 JSON )" -#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 msgid "Open a communication port with a board." msgstr "開啟開發板的通信埠" -#: internal/cli/board/details.go:199 +#: internal/cli/board/details.go:200 msgid "Option:" msgstr "選項:" -#: internal/cli/compile/compile.go:114 +#: internal/cli/compile/compile.go:113 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "選項,可以是:%s。用來告訴 gcc 使用哪個警告級別 (-W 參數)" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:126 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "選項,清理建構用的檔案夾且不使用任何快取" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:123 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "選項,優化編譯用於除錯的輸出,還不到發佈用" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:115 msgid "Optional, suppresses almost every output." msgstr "選項,禁止全部輸出" -#: internal/cli/compile/compile.go:115 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 msgid "Optional, turns on verbose mode." msgstr "選項,開啟詳細模式" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:129 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "選項, 包含一組替代 sketch 原始碼的 .json 檔的路徑" -#: internal/cli/compile/compile.go:106 +#: internal/cli/compile/compile.go:105 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "用自定義值替代建構屬性。可多次使用多個屬性" -#: internal/cli/config/init.go:61 +#: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "覆蓋現有的設定檔" -#: internal/cli/sketch/archive.go:51 +#: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" msgstr "覆蓋已存在的存檔" -#: internal/cli/sketch/new.go:45 +#: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." msgstr "覆蓋現有的 .ino sketch 檔" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 -#: internal/cli/core/uninstall.go:35 internal/cli/core/upgrade.go:37 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" msgstr "套件管理員" -#: internal/cli/board/details.go:164 +#: internal/cli/board/details.go:165 msgid "Package URL:" msgstr "套件網址:" -#: internal/cli/board/details.go:163 +#: internal/cli/board/details.go:164 msgid "Package maintainer:" msgstr "套件維護者:" -#: internal/cli/board/details.go:162 +#: internal/cli/board/details.go:163 msgid "Package name:" msgstr "套件名" -#: internal/cli/board/details.go:166 +#: internal/cli/board/details.go:167 msgid "Package online help:" msgstr "套件線上協助:" -#: internal/cli/board/details.go:165 +#: internal/cli/board/details.go:166 msgid "Package website:" msgstr "套件網站:" -#: internal/cli/lib/search.go:201 +#: internal/cli/lib/search.go:202 msgid "Paragraph: %s" msgstr "段落: %s" -#: internal/cli/compile/compile.go:451 internal/cli/compile/compile.go:466 +#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 msgid "Path" msgstr "路徑" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:122 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "程式庫集合的路徑。可多次使用,或以逗號分隔" -#: internal/cli/compile/compile.go:121 +#: internal/cli/compile/compile.go:120 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "單一程式庫的根目錄路徑。可多次使用,或以逗號分隔" -#: internal/cli/cli.go:173 +#: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." msgstr "日誌檔的路徑" -#: internal/cli/compile/compile.go:102 +#: internal/cli/compile/compile.go:101 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已編譯檔的路徑。如果省略,將在作業系統預設的臨時目錄中建立" -#: commands/service_upload.go:502 +#: commands/service_upload.go:503 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 連接埠上執行 1200-bps TOUCH 重置" -#: commands/service_platform_install.go:85 -#: commands/service_platform_install.go:92 +#: commands/service_platform_install.go:86 +#: commands/service_platform_install.go:93 msgid "Platform %s already installed" msgstr "平台 %s 已安裝過" -#: internal/arduino/cores/packagemanager/install_uninstall.go:191 +#: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" msgstr "平台 %s 已安裝" -#: internal/cli/compile/compile.go:399 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1780,156 +1780,156 @@ msgstr "" "在已知索引中找不到平台 %s \n" "也許你需要加入第三方 3rd 位址?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:315 +#: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" msgstr "%s 平台已卸載" -#: commands/cmderrors/cmderrors.go:484 +#: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" msgstr "平台 '%s' 已是最新版" -#: commands/cmderrors/cmderrors.go:408 +#: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" msgstr "平台 '%s' 沒找到" -#: internal/cli/board/search.go:84 +#: internal/cli/board/search.go:85 msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:384 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 msgid "Platform ID is not correct" msgstr "平台 ID 不正確" -#: internal/cli/board/details.go:172 +#: internal/cli/board/details.go:173 msgid "Platform URL:" msgstr "平台位址:" -#: internal/cli/board/details.go:171 +#: internal/cli/board/details.go:172 msgid "Platform architecture:" msgstr "平台架構:" -#: internal/cli/board/details.go:170 +#: internal/cli/board/details.go:171 msgid "Platform category:" msgstr "平台類別:" -#: internal/cli/board/details.go:177 +#: internal/cli/board/details.go:178 msgid "Platform checksum:" msgstr "平台校驗碼:" -#: internal/cli/board/details.go:173 +#: internal/cli/board/details.go:174 msgid "Platform file name:" msgstr "平台檔案名:" -#: internal/cli/board/details.go:169 +#: internal/cli/board/details.go:170 msgid "Platform name:" msgstr "平台名:" -#: internal/cli/board/details.go:175 +#: internal/cli/board/details.go:176 msgid "Platform size (bytes):" msgstr "平台大小 (位元組):" -#: commands/cmderrors/cmderrors.go:155 +#: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "請指定一個 FQBN。在 %[1]s 連接埠以協議 %[2]s 檢測到多個可能的開發板" -#: commands/cmderrors/cmderrors.go:135 +#: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "請指定一個 FQBN。%[1]s 連接埠以協議 %[2]s 的開發板無法識別" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Port" msgstr "連接埠" -#: internal/cli/monitor/monitor.go:255 internal/cli/monitor/monitor.go:264 +#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 msgid "Port closed: %v" msgstr "連接埠關閉: %v" -#: commands/cmderrors/cmderrors.go:670 +#: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" msgstr "連接埠監視器錯誤" -#: internal/arduino/builder/libraries.go:100 -#: internal/arduino/builder/libraries.go:108 +#: internal/arduino/builder/libraries.go:101 +#: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" msgstr "找不到在“%[1]s”的預編譯程式庫" -#: internal/cli/board/details.go:41 +#: internal/cli/board/details.go:42 msgid "Print details about a board." msgstr "列出開發板的詳細資訊" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:97 msgid "Print preprocessed code to stdout instead of compiling." msgstr "列出預處理的代碼到標準輸出,而不是編譯" -#: internal/cli/cli.go:167 internal/cli/cli.go:169 +#: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." msgstr "列出日誌到標準輸出" -#: internal/cli/cli.go:181 +#: internal/cli/cli.go:180 msgid "Print the output in JSON format." msgstr "輸出 JSON 格式。" -#: internal/cli/config/dump.go:30 +#: internal/cli/config/dump.go:31 msgid "Prints the current configuration" msgstr "列出目前設定" -#: internal/cli/config/dump.go:31 +#: internal/cli/config/dump.go:32 msgid "Prints the current configuration." msgstr "列出目前設定" -#: commands/cmderrors/cmderrors.go:204 +#: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" msgstr "設定集'%s' 找不到" -#: commands/cmderrors/cmderrors.go:341 +#: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" msgstr "燒錄器 '%s' 找不到" -#: internal/cli/board/details.go:110 +#: internal/cli/board/details.go:111 msgid "Programmer name" msgstr "燒錄器名" -#: internal/cli/arguments/programmer.go:34 +#: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" msgstr "要使用的燒錄器,例如:atmel_ice" -#: internal/cli/board/details.go:215 +#: internal/cli/board/details.go:216 msgid "Programmers:" msgstr "燒錄器:" -#: commands/cmderrors/cmderrors.go:393 +#: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" msgstr "'%s' 屬性未定義" -#: internal/cli/board/list.go:139 +#: internal/cli/board/list.go:140 msgid "Protocol" msgstr "協議" -#: internal/cli/lib/search.go:211 +#: internal/cli/lib/search.go:212 msgid "Provides includes: %s" msgstr "提供的包括: %s" -#: internal/cli/config/remove.go:33 internal/cli/config/remove.go:34 +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." msgstr "從設定中移除一或多個值" -#: commands/service_library_install.go:186 +#: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" msgstr "將 %[1]s 替換成 %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:120 +#: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" msgstr "以平台 %[2]s 替換 %[1]s " -#: internal/cli/board/details.go:183 +#: internal/cli/board/details.go:184 msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:75 msgid "Run in silent mode, show only monitor input and output." msgstr "以靜默模式執行,只顯示監視輸入和輸出" @@ -1941,40 +1941,40 @@ msgstr "以 gRPC 精靈的形式執行 Arduino CLI。" msgid "Running normal build of the core..." msgstr "以正常建構的核心執行..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:294 -#: internal/arduino/cores/packagemanager/install_uninstall.go:407 +#: internal/arduino/cores/packagemanager/install_uninstall.go:297 +#: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." msgstr "執行 pre_uninstall 命令." -#: internal/cli/lib/search.go:38 +#: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" msgstr "搜尋_條件" -#: internal/cli/debug/debug.go:228 +#: internal/cli/debug/debug.go:226 msgid "SVD file path" msgstr "SVD 檔案路徑" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:99 msgid "Save build artifacts in this directory." msgstr "將建構成品存在這個目錄" -#: internal/cli/board/search.go:38 +#: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." msgstr "以指定的關鍵字在開發板管理員尋找開發板" -#: internal/cli/board/search.go:37 +#: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." msgstr "在開發板管理員尋找開發板" -#: internal/cli/core/search.go:40 +#: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." msgstr "以指定的關鍵字在開發板管理員尋找核心" -#: internal/cli/core/search.go:39 +#: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." msgstr "在開發板管理員尋找核心" -#: internal/cli/lib/search.go:40 +#: internal/cli/lib/search.go:41 msgid "" "Search for libraries matching zero or more search terms.\n" "\n" @@ -2051,23 +2051,23 @@ msgstr "" " - Website\n" "\t\t" -#: internal/cli/lib/search.go:39 +#: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "尋找符合條件的一或多個程式庫" -#: internal/cli/lib/search.go:200 +#: internal/cli/lib/search.go:201 msgid "Sentence: %s" msgstr "句子: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:234 msgid "Server path" msgstr "伺服器路徑" -#: internal/arduino/httpclient/httpclient.go:62 +#: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" msgstr "伺服器回應: %s" -#: internal/cli/debug/debug.go:235 +#: internal/cli/debug/debug.go:233 msgid "Server type" msgstr "伺服器類型" @@ -2075,82 +2075,82 @@ msgstr "伺服器類型" msgid "Set a value for a field required to upload." msgstr "設定上傳所必要的欄位上的值" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:72 msgid "Set terminal in raw mode (unbuffered)." msgstr "設定終端成原始模式 (無緩衝)" -#: internal/cli/config/set.go:33 internal/cli/config/set.go:34 +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." msgstr "設定一個值" -#: internal/cli/board/attach.go:36 +#: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "設定連接埠和 FQBN & 燒錄器的預設值. 如果沒指定, 將使用現有的設定值。" -#: internal/cli/config/init.go:59 internal/cli/config/init.go:60 +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "設定儲存設定檔的位置" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Setting" msgstr "設定" -#: internal/cli/cli.go:102 +#: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "將顯示協助訊息,不過只有文字模式。" -#: internal/cli/core/search.go:47 +#: internal/cli/core/search.go:48 msgid "Show all available core versions." msgstr "顯示全部可用的核心版本" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:73 msgid "Show all the settings of the communication port." msgstr "顯示通訊連接埠的全部設定" -#: internal/cli/board/listall.go:49 internal/cli/board/search.go:47 +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" msgstr "在平台上也顯示標記為'隱藏的'開發板" -#: internal/cli/arguments/show_properties.go:59 +#: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "顯示建構屬性. 屬性是攤開的, 如只想看定義, 請用 \\\"--show-properties=unexpanded\\\"." -#: internal/cli/board/details.go:51 +#: internal/cli/board/details.go:52 msgid "Show full board details" msgstr "顯示完整的開發板細節" -#: internal/cli/board/details.go:42 +#: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "顯示開發板的資訊,特別是如果開發板在 FQBN 中有可指定的選項" -#: internal/cli/lib/search.go:96 +#: internal/cli/lib/search.go:97 msgid "Show library names only." msgstr "只顯示程式庫名" -#: internal/cli/board/details.go:52 +#: internal/cli/board/details.go:53 msgid "Show list of available programmers" msgstr "顯示可用的燒錄器列表" -#: internal/cli/debug/debug.go:70 +#: internal/cli/debug/debug.go:68 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "顯示除錯作業的數據,而不是啟動除錯器" -#: internal/cli/update/update.go:47 +#: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" msgstr "顯示在索引更新後過時的核心和程式庫" -#: internal/cli/lib/list.go:39 +#: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." msgstr "顯示已安裝的程式庫" -#: internal/cli/lib/list.go:40 +#: internal/cli/lib/list.go:41 msgid "" "Shows a list of installed libraries.\n" "\n" @@ -2161,105 +2161,105 @@ msgstr "" "顯示已安裝的程式庫。\\n如果指定了 LIBNAME 參數,則只列出該程式庫。\\n預設情況下,不會列出 '平台/核心' 內建的程式庫,\\n但可以通過" " --all 來顯示" -#: internal/cli/core/list.go:36 internal/cli/core/list.go:37 +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." msgstr "顯示已安裝的平台" -#: internal/cli/lib/examples.go:43 +#: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." msgstr "顯示程式庫範例" -#: internal/cli/lib/examples.go:44 +#: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "顯示程式庫的範例列表。可以指定程式庫" -#: internal/cli/version/version.go:39 +#: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." msgstr "顯示安裝在系統上的 Arduino CLI 版本" -#: internal/cli/version/version.go:38 +#: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." msgstr "顯示 Arduino CLI 版本" -#: internal/cli/board/details.go:188 +#: internal/cli/board/details.go:189 msgid "Size (bytes):" msgstr "大小 (字元組) :" -#: commands/service_compile.go:254 +#: commands/service_compile.go:274 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "sketch 不能放在建構路徑上。請指定不同的建構路徑" -#: internal/cli/sketch/new.go:97 +#: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" msgstr "Sketch 建立在: %s" -#: internal/cli/arguments/profiles.go:32 +#: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" msgstr "採用的 Sketch 設定集" -#: internal/arduino/builder/sizer.go:189 +#: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Sketch 太胖了;請參考 %[1]s 裏的減肥技巧" -#: internal/arduino/builder/sizer.go:157 +#: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "Sketch 使用 %[1]s 位元組(%[3]s%%)的程式儲存空間。最大為 %[2]s 位元組" -#: internal/cli/feedback/warn_deprecated.go:38 +#: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "Sketch 已棄用 .pde 副檔名 ,請將下列檔案的副檔名改成.ino" -#: internal/arduino/builder/linker.go:29 +#: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." msgstr "跳過鏈結成執行檔" -#: commands/service_upload.go:495 +#: commands/service_upload.go:496 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳過 1200-bps 接觸重設:未選取序列埠!" -#: internal/arduino/builder/archive_compiled_files.go:26 +#: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" msgstr "跳過建立壓縮檔: %[1]s" -#: internal/arduino/builder/compilation.go:182 +#: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" msgstr "跳過編譯: %[1]s" -#: internal/arduino/builder/internal/detector/detector.go:416 +#: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳過預編譯程式庫 %[1]s 的相依偵測" -#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +#: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." msgstr "跳過平台設定" -#: internal/arduino/cores/packagemanager/install_uninstall.go:303 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:306 +#: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." msgstr "跳過 pre_uninstall 命令." -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." msgstr "跳過工具設定" -#: internal/arduino/builder/recipe.go:47 +#: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" msgstr "跳過: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "有些索引無法更新" -#: internal/cli/core/upgrade.go:140 +#: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "有些升級失敗了,細節請看輸出" @@ -2267,11 +2267,11 @@ msgstr "有些升級失敗了,細節請看輸出" msgid "The TCP port the daemon will listen to" msgstr "背景程式監聽的 TCP 埠" -#: internal/cli/cli.go:178 +#: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "輸出格式,可以是: %s" -#: internal/cli/cli.go:182 +#: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." msgstr "自定義設定檔 (如沒指定,將使用預設值)" @@ -2279,19 +2279,19 @@ msgstr "自定義設定檔 (如沒指定,將使用預設值)" msgid "The flag --debug-file must be used with --debug." msgstr "參數 --debug-file 必須和 --debug 一起使用" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "指定的板子/燒錄器設置不支援除錯。" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "指定的板子/燒錄器設置支援除錯。" -#: commands/cmderrors/cmderrors.go:878 +#: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" msgstr "實例已無效需重新初始化" -#: internal/cli/config/add.go:56 +#: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" @@ -2299,7 +2299,7 @@ msgstr "" "'%[1]v' 鍵不是項目列表,無法加入其中。\n" "還是用 '%[2]s'?" -#: internal/cli/config/remove.go:56 +#: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" @@ -2307,37 +2307,37 @@ msgstr "" "'%[1]v' 鍵不是項目列表,無法移除。\n" "還是用 '%[2]s'?" -#: commands/cmderrors/cmderrors.go:860 +#: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" msgstr "程式庫 %s 有多個安裝" -#: internal/cli/compile/compile.go:112 +#: internal/cli/compile/compile.go:111 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定義加密密鑰的名稱,用在編譯過程中對二進位碼進行加密。只用在有支援的平台" -#: internal/cli/compile/compile.go:110 +#: internal/cli/compile/compile.go:109 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定義簽名密鑰的名稱,用在編譯過程中對二進位碼進行簽名。只用在有支援的平台" -#: internal/cli/cli.go:175 +#: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" msgstr "日誌的輸出格​​式,可以是: %s" -#: internal/cli/compile/compile.go:108 +#: internal/cli/compile/compile.go:107 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "尋找用來簽名和加密二進位碼的自定義密鑰檔的檔案夾路徑。只用在有支援的平台" -#: internal/arduino/builder/libraries.go:150 +#: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "本平台不支援預編譯程式庫的 '%[1]s'" -#: internal/cli/lib/upgrade.go:35 +#: internal/cli/lib/upgrade.go:36 msgid "" "This command upgrades an installed library to the latest available version. " "Multiple libraries can be passed separated by a space. If no arguments are " @@ -2345,42 +2345,42 @@ msgid "" "update is available." msgstr "此指令將升級已安裝的程式庫到最新版。多程式庫以空格為間格。如未提供參數,將升級全部已安裝的程式庫" -#: internal/cli/outdated/outdated.go:44 +#: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此指令顯示可升級的已安裝核心和程式庫。如沒需要更新的,則輸出空白" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:76 msgid "Timestamp each incoming line." msgstr "記錄每一行時間" -#: internal/arduino/cores/packagemanager/install_uninstall.go:86 -#: internal/arduino/cores/packagemanager/install_uninstall.go:325 +#: internal/arduino/cores/packagemanager/install_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" msgstr "工具 %s 已安裝" -#: internal/arduino/cores/packagemanager/install_uninstall.go:428 +#: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" msgstr "工具 %s 已卸除" -#: commands/service_debug_run.go:143 +#: commands/service_debug_run.go:144 msgid "Toolchain '%s' is not supported" msgstr "不支援工具包 '%s' " -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:223 msgid "Toolchain path" msgstr "工具包路徑" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:224 msgid "Toolchain prefix" msgstr "工具包前綴字元" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:222 msgid "Toolchain type" msgstr "工具包類型" -#: internal/cli/compile/compile.go:397 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 msgid "Try running %s" msgstr "嘗試執行 %s" @@ -2388,113 +2388,113 @@ msgstr "嘗試執行 %s" msgid "Turns on verbose mode." msgstr "開啟囉嗦模式" -#: internal/cli/board/list.go:101 internal/cli/board/list.go:139 +#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Type" msgstr "類型" -#: internal/cli/lib/search.go:208 +#: internal/cli/lib/search.go:209 msgid "Types: %s" msgstr "類型: %s" -#: internal/cli/board/details.go:190 +#: internal/cli/board/details.go:191 msgid "URL:" msgstr "網址:" -#: internal/arduino/builder/core.go:143 +#: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "無法快取建構核心,請通知 %[1]s 維護者注意 %[2]s" -#: internal/cli/configuration/configuration.go:88 +#: internal/cli/configuration/configuration.go:86 msgid "Unable to get Documents Folder: %v" msgstr "無法取得文件夾: %v" -#: internal/cli/configuration/configuration.go:63 +#: internal/cli/configuration/configuration.go:61 msgid "Unable to get Local App Data Folder: %v" msgstr "無法取得本地應用程式的資料夾: %v" -#: internal/cli/configuration/configuration.go:51 -#: internal/cli/configuration/configuration.go:76 +#: internal/cli/configuration/configuration.go:49 +#: internal/cli/configuration/configuration.go:74 msgid "Unable to get user home dir: %v" msgstr "無法取得用戶家目錄: %v" -#: internal/cli/cli.go:248 +#: internal/cli/cli.go:249 msgid "Unable to open file for logging: %s" msgstr "無法開啟檔案做日誌記錄: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "無法解析網址" -#: commands/service_library_uninstall.go:70 -#: internal/arduino/cores/packagemanager/install_uninstall.go:277 +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" msgstr "卸除 %s" -#: commands/service_platform_uninstall.go:98 -#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" msgstr "卸除 %s,不需要這工具了" -#: internal/cli/core/uninstall.go:36 internal/cli/core/uninstall.go:37 +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "如不再需用到, 卸除一或多個核心及相依" -#: internal/cli/lib/uninstall.go:35 internal/cli/lib/uninstall.go:36 +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." msgstr "卸載一或多個程式庫" -#: internal/cli/board/list.go:171 +#: internal/cli/board/list.go:172 msgid "Unknown" msgstr "未知的" -#: commands/cmderrors/cmderrors.go:185 +#: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" msgstr "未知的 FQBN" -#: internal/cli/update/update.go:39 +#: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" msgstr "更新核心和程式庫的索引" -#: internal/cli/update/update.go:40 +#: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." msgstr "更新核心和程式庫的索引到最新版" -#: internal/cli/core/update_index.go:35 +#: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." msgstr "更新核心索引到最新" -#: internal/cli/core/update_index.go:34 +#: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." msgstr "更新核心索引" -#: internal/cli/lib/update_index.go:35 +#: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." msgstr "更新程式庫索引到最新" -#: internal/cli/lib/update_index.go:34 +#: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." msgstr "更新程式庫索引" -#: internal/arduino/cores/packagemanager/install_uninstall.go:43 +#: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" msgstr "升級不接受版本參數" -#: internal/cli/upgrade/upgrade.go:40 +#: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." msgstr "升級已安裝的核心和程式庫到最新版" -#: internal/cli/upgrade/upgrade.go:39 +#: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." msgstr "升級已安裝的核心和程式庫" -#: internal/cli/lib/upgrade.go:34 +#: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." msgstr "升級已安裝的程式庫" -#: internal/cli/core/upgrade.go:38 internal/cli/core/upgrade.go:39 +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." msgstr "升級已安裝的平台到最新版本" @@ -2507,19 +2507,19 @@ msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "上傳 Arduino sketch。不會在上傳前編譯它" -#: internal/cli/arguments/port.go:43 +#: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上傳連接埠,例如:COM3 或 /dev/ttyACM2" -#: commands/service_upload.go:519 +#: commands/service_upload.go:520 msgid "Upload port found on %s" msgstr "找到上傳連接埠 %s " -#: internal/cli/arguments/port.go:47 +#: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" msgstr "上傳連接埠協議,例如:串列" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:116 msgid "Upload the binary after the compilation." msgstr "編譯完成就上傳二進位碼" @@ -2531,12 +2531,12 @@ msgstr "使用燒錄器將 bootloader 上傳到開發板" msgid "Upload the bootloader." msgstr "上傳 bootloader" -#: internal/cli/compile/compile.go:266 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "以 %s 協議上傳到開發板需要以下資訊:" -#: internal/cli/config/init.go:159 +#: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" @@ -2544,181 +2544,181 @@ msgstr "" "網址不能有逗號。用空格隔開多個位址, 例如 env var::\n" "%s" -#: internal/cli/usage.go:26 +#: internal/cli/usage.go:22 msgid "Usage:" msgstr "用法:" -#: internal/cli/usage.go:33 +#: internal/cli/usage.go:29 msgid "Use %s for more information about a command." msgstr "使用 %s 取得指令的更多資訊" -#: internal/cli/compile/compile.go:449 +#: internal/cli/compile/compile.go:448 msgid "Used library" msgstr "使用的程式庫" -#: internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:463 msgid "Used platform" msgstr "使用的平台" -#: internal/arduino/builder/internal/detector/detector.go:159 +#: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "使用: %[1]s" -#: commands/service_compile.go:329 +#: commands/service_compile.go:349 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " -#: internal/arduino/builder/internal/detector/detector.go:353 +#: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" msgstr "檔案: %[1]s 使用快取程式庫相依" -#: commands/service_compile.go:330 +#: commands/service_compile.go:350 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " -#: internal/arduino/builder/libraries.go:311 +#: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用檔案夾: %[3]s %[4]s 內的程式庫 %[1]s 版本 %[2]s " -#: internal/arduino/builder/libraries.go:305 +#: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "使用檔案夾: %[2]s %[3]s 內的程式庫 %[1]s " -#: internal/arduino/builder/core.go:116 +#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" msgstr "使用預編譯核心: %[1]s" -#: internal/arduino/builder/libraries.go:97 -#: internal/arduino/builder/libraries.go:105 +#: internal/arduino/builder/libraries.go:98 +#: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" msgstr "使用在%[1]s 裏預編譯的程式庫" -#: internal/arduino/builder/archive_compiled_files.go:49 -#: internal/arduino/builder/compilation.go:180 +#: internal/arduino/builder/archive_compiled_files.go:50 +#: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" msgstr "使用先前編譯的檔案: %[1]s" -#: internal/cli/core/download.go:34 internal/cli/core/install.go:36 +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" msgstr "版本" -#: internal/cli/lib/check_deps.go:37 internal/cli/lib/install.go:44 +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" msgstr "版本_號" -#: internal/cli/monitor/monitor.go:299 +#: internal/cli/monitor/monitor.go:297 msgid "Values" msgstr "數值" #: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:119 internal/cli/upload/upload.go:75 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 msgid "Verify uploaded binary after the upload." msgstr "上傳後驗證上傳的二進位碼" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 -#: internal/cli/core/search.go:116 +#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" -#: internal/cli/lib/search.go:209 +#: internal/cli/lib/search.go:210 msgid "Versions: %s" msgstr "版本: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:182 +#: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" msgstr "警告! 無法設定平台: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:360 +#: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" msgstr "警告!無法設定工具: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:299 -#: internal/arduino/cores/packagemanager/install_uninstall.go:412 +#: internal/arduino/cores/packagemanager/install_uninstall.go:302 +#: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告 ! 無法執行 pre_uninstall 命令: %s" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:326 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告! sketch 用了一或多個客製程式庫編譯" -#: internal/arduino/builder/libraries.go:282 +#: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告: %[1]s 程式庫是 (%[2]s 架構),可能與選擇的開發板 (%[3]s架構)不相容 " -#: commands/service_upload.go:508 +#: commands/service_upload.go:509 msgid "Waiting for upload port..." msgstr "等待上傳連接埠..." -#: commands/service_compile.go:335 +#: commands/service_compile.go:355 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告: 開發板 %[1]s 並沒定義 %[2]s 喜好。自動設定成:%[3]s" -#: internal/cli/lib/search.go:202 +#: internal/cli/lib/search.go:203 msgid "Website: %s" msgstr "網站: %s" -#: internal/cli/config/init.go:44 +#: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." msgstr "將目前的設定寫入設定檔" -#: internal/cli/config/init.go:47 +#: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "將目前的設定寫入資料目錄裏面的設定檔" -#: internal/cli/compile/compile.go:147 internal/cli/compile/compile.go:150 +#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 msgid "You cannot use the %s flag while compiling with a profile." msgstr "使用設定集編譯時不能使用 %s 旗標參數" -#: internal/arduino/resources/checksums.go:79 +#: internal/arduino/resources/checksums.go:78 msgid "archive hash differs from hash in index" msgstr "保存與和索引不同的雜湊" -#: internal/arduino/libraries/librariesmanager/install.go:186 +#: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "存檔無效: 在 zip 檔頂層找到多個檔案" -#: internal/arduino/libraries/librariesmanager/install.go:189 +#: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "存檔無效: 在 zip 檔的頂層沒找到檔案" -#: internal/cli/sketch/archive.go:35 +#: internal/cli/sketch/archive.go:36 msgid "archivePath" msgstr "存檔路徑" -#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:63 +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" msgstr "缺少 arduino 預處理器樣態" -#: internal/cli/feedback/stdio.go:35 +#: internal/cli/feedback/stdio.go:37 msgid "available only in text format" msgstr "只有本文格式" -#: internal/cli/lib/search.go:83 +#: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" msgstr "基本搜尋\"audio\" " -#: internal/cli/lib/search.go:88 +#: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基本搜尋只限於官方維護者的 \"esp32\" 和 \"display\"" -#: commands/service_upload.go:763 +#: commands/service_upload.go:764 msgid "binary file not found in %s" msgstr "%s 裏找不到二進位檔" -#: internal/arduino/cores/packagemanager/package_manager.go:351 +#: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" msgstr "找不到開發板 %s" -#: internal/cli/board/listall.go:37 internal/cli/board/search.go:36 +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" msgstr "開發板名" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:193 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" msgstr "內建程式庫目錄未設定" @@ -2726,730 +2726,730 @@ msgstr "內建程式庫目錄未設定" msgid "can't find latest release of %s" msgstr "找不到最新版的 %s " -#: commands/instances.go:274 +#: commands/instances.go:275 msgid "can't find latest release of tool %s" msgstr "找不到最新版的工具 %s " -#: internal/arduino/sketch/sketch.go:109 -msgid "can't find main Sketch file in %s" -msgstr "在 %s 找不到 sketch 主檔" - -#: internal/arduino/cores/packagemanager/loader.go:711 +#: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 為 %s 探索的樣態" -#: internal/arduino/builder/internal/detector/detector.go:95 +#: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" msgstr "候選" -#: commands/service_upload.go:720 commands/service_upload.go:727 +#: commands/service_upload.go:721 commands/service_upload.go:728 msgid "cannot execute upload tool: %s" msgstr "無法執行上傳工具: %s" -#: internal/arduino/resources/install.go:39 +#: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" msgstr "檢查本地端存檔的完整性" -#: internal/arduino/builder/build_options_manager.go:110 -#: internal/arduino/builder/build_options_manager.go:113 +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" msgstr "清理建構路徑" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "command" msgstr "指令" -#: internal/arduino/monitor/monitor.go:150 +#: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" msgstr "指令 '%[1]s' 失敗: %[2]s" -#: internal/arduino/monitor/monitor.go:147 -#: internal/arduino/monitor/monitor.go:153 +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "通信不同步,預期 '%[1]s',卻收到 '%[2]s'" -#: internal/arduino/resources/checksums.go:75 +#: internal/arduino/resources/checksums.go:74 msgid "computing hash: %s" msgstr "計算雜湊: %s" -#: internal/arduino/cores/fqbn.go:80 +#: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" msgstr "設定鍵 %s 含有無效字元" -#: internal/arduino/cores/fqbn.go:85 +#: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" msgstr "設定值%s 含有無效字元" -#: internal/arduino/libraries/librariesmanager/install.go:139 +#: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" msgstr "拷貝程式庫到目標目錄:" -#: commands/service_upload.go:835 +#: commands/service_upload.go:836 msgid "could not find a valid build artifact" msgstr "找不到正確的建構成品" -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:94 msgid "could not overwrite" msgstr "無法覆寫" -#: commands/service_library_install.go:189 +#: commands/service_library_install.go:190 msgid "could not remove old library" msgstr "無法移除舊的程式庫" -#: internal/arduino/sketch/yaml.go:78 internal/arduino/sketch/yaml.go:82 -#: internal/arduino/sketch/yaml.go:86 +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" msgstr "無法更新 sketch 專案檔" -#: internal/arduino/builder/core.go:95 +#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" msgstr "建立核心快取檔案夾: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:216 +#: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" msgstr "在 %[1]s:%[2]s 建立 installed.json" -#: internal/arduino/resources/install.go:44 -#: internal/arduino/resources/install.go:48 +#: internal/arduino/resources/install.go:45 +#: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" msgstr "建立解壓縮用的臨時目錄: %s" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" msgstr "資料區已超出開發板的可用空間" -#: commands/service_library_resolve_deps.go:85 +#: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" msgstr "沒有 '%s' 的相依" -#: internal/arduino/libraries/librariesmanager/install.go:92 +#: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" msgstr "目標目錄 %s 已存在,無法安裝" -#: internal/arduino/libraries/librariesmanager/install.go:136 +#: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" msgstr "目標目錄已存在" -#: internal/arduino/libraries/librariesmanager/install.go:276 +#: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" msgstr "目錄不存在: %s" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:206 -msgid "discovery %[1]s process not started: %[2]w" -msgstr "探索 %[1]s 程序未啟動: %[2]w" +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" +msgstr "探索%[1]s 程序沒啟動" -#: internal/arduino/cores/packagemanager/loader.go:643 +#: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" msgstr "探索 %s找不到 " -#: internal/arduino/cores/packagemanager/loader.go:647 +#: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" msgstr "探索 %s 未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:743 +#: internal/arduino/cores/packagemanager/package_manager.go:741 msgid "discovery release not found: %s" msgstr "找不到探索發行: %s" -#: internal/cli/core/download.go:39 internal/cli/core/install.go:41 +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." msgstr "下載特定版本(在本例中為 1.6.9)" -#: internal/cli/core/download.go:38 internal/cli/core/install.go:39 +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." msgstr "下載 Arduino SAMD 核心最新版" -#: internal/cli/feedback/rpc_progress.go:73 +#: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" msgstr "已下載" -#: commands/instances.go:54 +#: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下載 %[1]s 工具: %[2]s" -#: internal/arduino/cores/fqbn.go:59 +#: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" msgstr "清空開發板識別" -#: internal/arduino/sketch/sketch.go:95 +#: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" msgstr "錯誤載入 sketch 專案:" -#: internal/arduino/cores/packagemanager/loader.go:614 +#: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" msgstr "錯誤開啟 %s" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:214 msgid "error parsing version constraints" msgstr "錯誤解析版本限制" -#: commands/service_board_list.go:114 +#: commands/service_board_list.go:115 msgid "error processing response from server" msgstr "錯誤處理伺服器回應" -#: commands/service_board_list.go:94 +#: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" msgstr "錯誤查詢 Arduino Cloud Api" -#: internal/arduino/resources/install.go:67 +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" +msgstr "解開存檔" + +#: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" msgstr "解開存檔: %s" -#: internal/arduino/libraries/librariesmanager/install.go:177 -msgid "extracting archive: %w" -msgstr "解開存檔: %w" - -#: internal/arduino/resources/checksums.go:144 +#: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" msgstr "計算 “%s” 檔的雜湊值失敗" -#: commands/service_board_list.go:89 +#: commands/service_board_list.go:90 msgid "failed to initialize http client" msgstr "初始化 http 客戶端失敗" -#: internal/arduino/resources/checksums.go:96 +#: internal/arduino/resources/checksums.go:95 msgid "fetched archive size differs from size specified in index" msgstr "抓取的存檔大小跟索引內指明的大小不同" -#: internal/arduino/resources/install.go:122 +#: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" msgstr "存檔內的檔案必須放在子目錄下" -#: internal/arduino/cores/packagemanager/loader.go:58 +#: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" msgstr "尋找 %s 的絕對路徑" -#: internal/cli/cli.go:91 +#: internal/cli/cli.go:90 msgid "flags" msgstr "旗標" -#: internal/arduino/cores/packagemanager/loader.go:97 +#: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" msgstr "跟隨符式鏈接 %s" -#: internal/cli/lib/download.go:39 +#: internal/cli/lib/download.go:40 msgid "for a specific version." msgstr "針對特定版本" -#: internal/cli/lib/check_deps.go:41 internal/cli/lib/download.go:38 -#: internal/cli/lib/install.go:48 +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 msgid "for the latest version." msgstr "針對最新版本" -#: internal/cli/lib/check_deps.go:42 internal/cli/lib/install.go:49 -#: internal/cli/lib/install.go:51 +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 msgid "for the specific version." msgstr "針對特定版本" -#: internal/arduino/cores/fqbn.go:65 +#: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" msgstr "fqbn 欄 %s 含有無效字元" -#: internal/inventory/inventory.go:68 -msgid "generating installation.id: %w" -msgstr "產出 installation.id: %w" +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" +msgstr "產出 installation.id" -#: internal/inventory/inventory.go:74 -msgid "generating installation.secret: %w" -msgstr "產出 installation.secret: %w" +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" +msgstr "產出 installation.secret" -#: internal/arduino/resources/download.go:53 +#: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" msgstr "取得存檔資訊: %s" -#: internal/arduino/resources/checksums.go:93 +#: internal/arduino/resources/checksums.go:92 msgid "getting archive info: %s" msgstr "取得存檔資訊: %s" -#: internal/arduino/resources/checksums.go:66 -#: internal/arduino/resources/checksums.go:89 -#: internal/arduino/resources/download.go:34 -#: internal/arduino/resources/helpers.go:38 -#: internal/arduino/resources/install.go:55 +#: internal/arduino/resources/checksums.go:65 +#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" msgstr "取得存檔路徑: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:357 +#: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" msgstr "取得開發板 %[1]s: %[2]s 的建構屬性" -#: internal/arduino/cores/packagemanager/download.go:105 +#: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的探索相依" -#: internal/arduino/cores/packagemanager/download.go:113 +#: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的監視器相依" -#: internal/arduino/cores/packagemanager/download.go:98 +#: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的工具相依" -#: internal/arduino/libraries/librariesmanager/install.go:147 +#: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" msgstr "未設定安裝目錄" -#: commands/instances.go:58 +#: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" msgstr "安裝 %[1]s 工具: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:208 +#: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" msgstr "安裝平台%[1]s: %[2]s" -#: internal/cli/feedback/terminal.go:37 +#: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" msgstr "互動終端不支援 '%s' 輸出格式" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:212 msgid "invalid '%s' directive" msgstr "無效的 '%s' 指令" -#: internal/arduino/resources/checksums.go:44 +#: internal/arduino/resources/checksums.go:43 msgid "invalid checksum format: %s" msgstr "無效的校驗碼格式: %s" -#: internal/arduino/cores/fqbn.go:72 internal/arduino/cores/fqbn.go:77 +#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" msgstr "無效的設定選項: %s" -#: internal/cli/arguments/reference.go:91 +#: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" msgstr "無效的空核心架構 '%s'" -#: internal/cli/arguments/reference.go:68 +#: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" msgstr "無效的空核心參數" -#: internal/cli/arguments/reference.go:88 +#: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" msgstr "無效的空核心名 '%s'" -#: internal/cli/arguments/reference.go:73 +#: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" msgstr "無效的空核心參照 '%s'" -#: internal/cli/arguments/reference.go:78 +#: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" msgstr "無效的空核心版本: '%s'" -#: internal/cli/lib/args.go:48 +#: internal/cli/lib/args.go:49 msgid "invalid empty library name" msgstr "無效的空程式庫名" -#: internal/cli/lib/args.go:53 +#: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" msgstr "無效的空程式庫版本: %s" -#: internal/arduino/cores/board.go:142 +#: internal/arduino/cores/board.go:143 msgid "invalid empty option found" msgstr "找到無效的空選項" -#: internal/arduino/libraries/librariesmanager/install.go:266 +#: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" msgstr "無效的 git 網址" -#: internal/arduino/resources/checksums.go:48 +#: internal/arduino/resources/checksums.go:47 msgid "invalid hash '%[1]s': %[2]s" msgstr "無效的雜湊 '%[1]s': %[2]s" -#: internal/cli/arguments/reference.go:85 +#: internal/cli/arguments/reference.go:86 msgid "invalid item %s" msgstr "無效的項目 %s" -#: internal/arduino/sketch/profiles.go:244 +#: internal/arduino/sketch/profiles.go:246 msgid "invalid library directive:" msgstr "無效的程式庫指令:" -#: internal/arduino/libraries/libraries_layout.go:65 +#: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" msgstr "無效的程式庫配置: %s" -#: internal/arduino/libraries/libraries_location.go:88 +#: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" msgstr "無效的程式庫位置: %s" -#: internal/arduino/libraries/loader.go:139 +#: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" msgstr "無效的程式庫: 找不到 .h 標頭檔" -#: internal/arduino/cores/board.go:145 +#: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" msgstr "無效的選項 '%s'" -#: internal/cli/arguments/show_properties.go:51 +#: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." msgstr "無效的選項 '%s'" -#: internal/inventory/inventory.go:93 -msgid "invalid path creating config dir: %[1]s error: %[2]w" -msgstr "無效的建定目錄路徑: %[1]s 錯誤: %[2]w" +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" +msgstr "無效路徑難建立設定目錄: %[1]s 錯誤" -#: internal/inventory/inventory.go:99 -msgid "invalid path writing inventory file: %[1]s error: %[2]w" -msgstr "無效的庫存檔路徑: %[1]s 錯誤:%[2]w" +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" +msgstr "無效路徑來寫入檔案: %[1]s 錯誤" -#: internal/arduino/cores/packageindex/index.go:278 +#: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" msgstr "無效的平台存檔大小: %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:216 msgid "invalid platform identifier" msgstr "無效的平台識別" -#: internal/arduino/sketch/profiles.go:224 +#: internal/arduino/sketch/profiles.go:226 msgid "invalid platform index URL:" msgstr "無效的平台索引位址:" -#: internal/arduino/cores/packagemanager/loader.go:325 +#: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" msgstr "無效的插拔式監視器參照: %s" -#: internal/cli/monitor/monitor.go:187 +#: internal/cli/monitor/monitor.go:185 msgid "invalid port configuration value for %s: %s" msgstr "無效的連接埠設定值 %s : %s" -#: internal/cli/monitor/monitor.go:195 +#: internal/cli/monitor/monitor.go:193 msgid "invalid port configuration: %s" msgstr "無效的連接埠設定: %s" -#: commands/service_upload.go:707 +#: commands/service_upload.go:708 msgid "invalid recipe '%[1]s': %[2]s" msgstr "無效的作法'%[1]s': %[2]s" -#: commands/service_sketch_new.go:85 +#: commands/service_sketch_new.go:86 msgid "" "invalid sketch name \"%[1]s\": the first character must be alphanumeric or " "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "無效的 sketch 名 \\\"%[1]s\\\": 首字元必須是英數字或底線, 接著可以是減號和逗點, 但最後字元不可以是逗點" -#: internal/arduino/cores/board.go:149 +#: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "無效的 '%[2]s' 選項值 '%[1]s' " -#: internal/arduino/cores/packagemanager/loader.go:230 +#: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" msgstr "無效的版本目錄 %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid version:" msgstr "無效的版本:" -#: internal/cli/core/search.go:38 +#: internal/cli/core/search.go:39 msgid "keywords" msgstr "關鍵字" -#: internal/cli/lib/search.go:86 +#: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" msgstr "Daniel Garcia 發行的程式庫" -#: internal/cli/lib/search.go:87 +#: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "限 Adafruit 發行, 名字上有 \"gfx\" 的程式庫" -#: internal/cli/lib/search.go:89 +#: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" msgstr "至少基於 \"IRremote\" 的程式庫" -#: internal/cli/lib/search.go:90 +#: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" msgstr "只基於 \"IRremote\" 的程式庫" -#: internal/cli/lib/search.go:84 +#: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" msgstr "名字有 \"buzzer\" 的程式庫" -#: internal/cli/lib/search.go:85 +#: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "名字上有 \"pcf8523\" 的程式庫" -#: internal/arduino/libraries/librariesmanager/install.go:124 +#: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" msgstr "程式庫 %s 已安裝" -#: internal/arduino/libraries/librariesmanager/install.go:313 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" msgstr "程式庫無效" -#: internal/arduino/cores/packagemanager/loader.go:254 -#: internal/arduino/cores/packagemanager/loader.go:267 -#: internal/arduino/cores/packagemanager/loader.go:275 +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" msgstr "載入 %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/loader.go:313 +#: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" msgstr "載入開發板: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:498 -#: internal/arduino/cores/packagemanager/package_manager.go:513 +#: internal/arduino/cores/packagemanager/package_manager.go:496 +#: internal/arduino/cores/packagemanager/package_manager.go:511 msgid "loading json index file %[1]s: %[2]s" msgstr "載入json 索引檔 %[1]s:%[2]s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:226 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" msgstr "從 %[1]s: %[2]s載入程式庫" -#: internal/arduino/libraries/loader.go:54 +#: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" msgstr "載入 library.properties: %s" -#: internal/arduino/cores/packagemanager/loader.go:207 -#: internal/arduino/cores/packagemanager/loader.go:235 +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" msgstr "載入平台發行版 %s" -#: internal/arduino/cores/packagemanager/loader.go:194 +#: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" msgstr "載入 platform.txt" -#: internal/arduino/cores/packagemanager/profiles.go:45 +#: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" msgstr "載入需要的平台 %s" -#: internal/arduino/cores/packagemanager/profiles.go:61 +#: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" msgstr "載入需要的工具 %s" -#: internal/arduino/cores/packagemanager/loader.go:589 +#: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" msgstr "載入在 %s 的工具" -#: internal/arduino/cores/packagemanager/loader.go:187 +#: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" msgstr "在 %s 尋找 boards.txt" -#: commands/service_upload.go:778 +#: commands/service_upload.go:779 msgid "looking for build artifacts" msgstr "尋找建構成品" -#: internal/arduino/sketch/sketch.go:79 +#: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" msgstr "sketch 缺少主檔: %s" -#: internal/arduino/sketch/profiles.go:208 +#: internal/arduino/sketch/profiles.go:210 msgid "missing '%s' directive" msgstr "缺少 '%s' 指令" -#: internal/arduino/resources/checksums.go:40 +#: internal/arduino/resources/checksums.go:39 msgid "missing checksum for: %s" msgstr "缺少 %s 的校驗碼" -#: internal/arduino/cores/packagemanager/package_manager.go:459 +#: internal/arduino/cores/packagemanager/package_manager.go:457 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" -#: internal/cli/core/upgrade.go:100 +#: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少 %s 的套件索引, 不保証未來更新與否" -#: internal/arduino/cores/packagemanager/package_manager.go:464 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少被開發板 %[3]s 參照的平台 %[1]s : %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" -#: internal/arduino/resources/index.go:152 +#: internal/arduino/resources/index.go:153 msgid "missing signature" msgstr "找不到簽名" -#: internal/arduino/cores/packagemanager/package_manager.go:754 +#: internal/arduino/cores/packagemanager/package_manager.go:752 msgid "monitor release not found: %s" msgstr "沒找到監視器發行版: %s" -#: internal/arduino/libraries/librariesmanager/install.go:195 -#: internal/arduino/libraries/librariesmanager/install.go:244 -#: internal/arduino/resources/install.go:96 +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:246 +#: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" msgstr "移動解壓縮的存檔到目標資料夾: %s" -#: commands/service_upload.go:830 +#: commands/service_upload.go:831 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多個建構成品: '%[1]s' 和 '%[2]s'" -#: internal/arduino/sketch/sketch.go:71 +#: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "找到多個 sketch 檔 (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:334 +#: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "沒找到目前作業系統相容工具版本 %[1]s,請聯絡 %[2]s" -#: commands/service_board_list.go:272 +#: commands/service_board_list.go:273 msgid "no instance specified" msgstr "未指定實例" -#: commands/service_upload.go:785 +#: commands/service_upload.go:786 msgid "no sketch or build directory/file specified" msgstr "未指定 sketch 或建構目錄/檔" -#: internal/arduino/sketch/sketch.go:58 +#: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" msgstr "沒有這檔案/目錄" -#: internal/arduino/resources/install.go:125 +#: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存檔中沒有單一的根目錄,找到了 '%[1]s' 和 '%[2]s'" -#: commands/service_upload.go:702 +#: commands/service_upload.go:703 msgid "no upload port provided" msgstr "未提供上傳連接埠" -#: internal/arduino/sketch/sketch.go:285 +#: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" msgstr "在 %[1]s 找不到有效的 sketch : 缺少 %[2]s" -#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "目前的作業系統沒可用的版本,請聯絡 %s" -#: internal/cli/feedback/terminal.go:51 +#: internal/arduino/cores/fqbn.go:50 +msgid "not an FQBN: %s" +msgstr "不是 FQBN: %s" + +#: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" msgstr "沒在終端執行" -#: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:59 +#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "開啟存檔: %s" -#: internal/arduino/cores/packagemanager/loader.go:223 +#: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" msgstr "開啟 boards.txt" -#: internal/arduino/security/signatures.go:83 +#: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" msgstr "開啟簽名檔: %s" -#: internal/arduino/security/signatures.go:78 +#: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" msgstr "開啟目標檔: %s" -#: internal/arduino/cores/packagemanager/download.go:75 +#: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" msgstr "找不到套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:527 +#: internal/arduino/cores/packagemanager/package_manager.go:525 msgid "package '%s' not found" msgstr "找不到套件 '%s'" -#: internal/arduino/cores/board.go:165 -#: internal/arduino/cores/packagemanager/package_manager.go:298 +#: internal/arduino/cores/board.go:166 +#: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" -#: internal/arduino/libraries/librariesindex/json.go:72 +#: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" msgstr "解析 library_index.json: %s" -#: internal/arduino/cores/packagemanager/loader.go:178 +#: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" msgstr "路徑不是平台目錄: %s" -#: internal/arduino/cores/packagemanager/download.go:79 +#: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" msgstr "%[2]s 套件裏找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:344 +#: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" msgstr "平台 %s 未安裝" -#: internal/arduino/cores/packagemanager/download.go:91 +#: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" msgstr "平台不支援使用中的作業系統" -#: commands/service_compile.go:120 -#: internal/arduino/cores/packagemanager/install_uninstall.go:176 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 -#: internal/arduino/cores/packagemanager/loader.go:419 +#: commands/service_compile.go:126 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "平台未安裝" -#: internal/cli/compile/compile.go:136 +#: internal/cli/compile/compile.go:135 msgid "please use --build-property instead." msgstr "請改用 --build-property" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:135 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" msgstr "已加入可插拔探索: %s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "port" msgstr "連接埠" -#: internal/cli/arguments/port.go:121 +#: internal/cli/arguments/port.go:122 msgid "port not found: %[1]s %[2]s" msgstr "沒找到連接埠: %[1]s %[2]s" -#: internal/cli/board/attach.go:34 +#: internal/cli/board/attach.go:35 msgid "programmer" msgstr "燒錄器" -#: internal/arduino/monitor/monitor.go:236 +#: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" msgstr "協議版本不被支援: 要 %[1]d,卻得到 %[2]d" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:215 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" msgstr "讀取目錄 %[1]s: %[2]s" -#: internal/arduino/libraries/loader.go:198 -msgid "reading directory %[1]s content: %[2]w" -msgstr "讀取目錄 %[1]s 內容: %[2]w" +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" +msgstr "讀取目錄 %[1]s 的內容" -#: internal/arduino/cores/packagemanager/loader.go:68 -#: internal/arduino/cores/packagemanager/loader.go:150 -#: internal/arduino/cores/packagemanager/loader.go:217 -#: internal/arduino/cores/packagemanager/loader.go:581 +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" msgstr "讀取目錄 %s" -#: internal/arduino/libraries/librariesmanager/install.go:286 -msgid "reading directory %s content: %w" -msgstr "讀取目錄%s 內容: %w" +#: internal/arduino/libraries/librariesmanager/install.go:288 +msgid "reading directory %s content" +msgstr "讀取目錄 %s 的內容" -#: internal/arduino/builder/sketch.go:82 +#: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" msgstr "讀取檔案%[1]s: %[2]s" -#: internal/arduino/sketch/sketch.go:204 +#: internal/arduino/sketch/sketch.go:198 msgid "reading files" msgstr "讀取檔案" -#: internal/arduino/libraries/librariesresolver/cpp.go:91 +#: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" msgstr "讀取程式庫頭檔: %s" -#: internal/arduino/libraries/libraries.go:228 -msgid "reading lib src dir: %s" -msgstr "正在讀取 lib src 目錄: %s" +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" +msgstr "讀取程式庫標頭" -#: internal/arduino/libraries/libraries.go:116 -msgid "reading library headers: %w" -msgstr "讀取程式庫標頭檔:%w" +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" +msgstr "讀取程式庫來源目錄: %s" -#: internal/arduino/libraries/librariesindex/json.go:66 +#: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" msgstr "讀取 library_index.json: %s" -#: internal/arduino/resources/install.go:115 +#: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" msgstr "讀取套件根目錄: %s" -#: internal/arduino/sketch/sketch.go:114 +#: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" msgstr "讀取 sketch 檔" -#: commands/service_upload.go:696 +#: commands/service_upload.go:697 msgid "recipe not found '%s'" msgstr "作法未找到 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:603 +#: internal/arduino/cores/packagemanager/package_manager.go:601 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到工具 %[2]s 的發行版 %[1]s" @@ -3458,94 +3458,94 @@ msgstr "找不到工具 %[2]s 的發行版 %[1]s" msgid "release cannot be nil" msgstr "發行版不能是無" -#: internal/arduino/resources/download.go:44 +#: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" msgstr "刪除損壞的存檔 %s" -#: internal/arduino/libraries/librariesmanager/install.go:150 +#: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" msgstr "刪除程式庫目錄: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:307 +#: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" msgstr "刪除平台檔: %s" -#: internal/arduino/cores/packagemanager/download.go:86 +#: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到平台 %[2]s 需要的版本 %[1]s" -#: internal/arduino/security/signatures.go:74 +#: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" msgstr "取得 Arduino 公鑰:%s" -#: internal/arduino/libraries/loader.go:116 -#: internal/arduino/libraries/loader.go:154 +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" msgstr "掃描 sketch 範例" -#: internal/arduino/resources/install.go:73 +#: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" msgstr "尋找套件根目錄: %s" -#: commands/service_sketch_new.go:77 +#: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "sketch 名字不能空白" -#: commands/service_sketch_new.go:90 +#: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "sketch 名字不能使用保留名'%[1]s'" -#: commands/service_sketch_new.go:80 +#: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "sketch 名字過長(%[1]d 字元)。 最大允許 %[2]d 字元" -#: internal/arduino/sketch/sketch.go:51 internal/arduino/sketch/sketch.go:56 +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" msgstr "sketch 路徑無效" -#: internal/cli/board/attach.go:34 internal/cli/sketch/archive.go:35 +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" msgstr "sketchPath" -#: internal/arduino/discovery/discoverymanager/discoverymanager.go:210 +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" msgstr "開始探索 %s" -#: internal/arduino/resources/checksums.go:118 +#: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" msgstr "測試存檔校驗碼: %s" -#: internal/arduino/resources/checksums.go:111 +#: internal/arduino/resources/checksums.go:110 msgid "testing archive size: %s" msgstr "測試存檔大小: %s" -#: internal/arduino/resources/checksums.go:105 +#: internal/arduino/resources/checksums.go:104 msgid "testing if archive is cached: %s" msgstr "測試存檔是否被快取: %s" -#: internal/arduino/resources/install.go:37 +#: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" msgstr "測試本地存檔完整性: %s" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" msgstr "本文區已超出開發板的可用空間" -#: internal/arduino/builder/internal/detector/detector.go:216 -#: internal/arduino/builder/internal/preprocessor/ctags.go:72 +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" msgstr "編譯資料庫可能不完整或不準確" -#: commands/service_board_list.go:101 +#: commands/service_board_list.go:102 msgid "the server responded with status %s" msgstr "伺服器回應狀態 %s" -#: internal/arduino/monitor/monitor.go:140 +#: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" msgstr "等待訊息超時" -#: internal/arduino/cores/packagemanager/install_uninstall.go:400 +#: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" msgstr "工具 %s 不是由套件管理員管理的" @@ -3554,16 +3554,16 @@ msgstr "工具 %s 不是由套件管理員管理的" msgid "tool %s not found" msgstr "找不到工具 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:553 +#: internal/arduino/cores/packagemanager/package_manager.go:551 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:395 +#: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" msgstr "工具未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:732 -#: internal/arduino/cores/packagemanager/package_manager.go:838 +#: internal/arduino/cores/packagemanager/package_manager.go:730 +#: internal/arduino/cores/packagemanager/package_manager.go:836 msgid "tool release not found: %s" msgstr "工具發行未找到: %s" @@ -3571,88 +3571,88 @@ msgstr "工具發行未找到: %s" msgid "tool version %s not found" msgstr "工具版本 %s 未找到" -#: commands/service_library_install.go:91 +#: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要兩個不同版本的程式庫 %[1]s : %[2]s 和 %[3]s" -#: internal/arduino/builder/sketch.go:75 -#: internal/arduino/builder/sketch.go:119 +#: internal/arduino/builder/sketch.go:74 +#: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" msgstr "無法計算 sketch 的相對路徑" -#: internal/arduino/builder/sketch.go:44 +#: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" msgstr "無法建立保存 sketch 的資料夾" -#: internal/arduino/builder/sketch.go:125 +#: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" msgstr "無法建立含有項目的資料夾" -#: internal/cli/config/get.go:84 +#: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" msgstr "無法將 config 轉成 YAML: %v" -#: internal/arduino/builder/sketch.go:163 +#: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" msgstr "無法讀取目標項目的內容" -#: internal/arduino/builder/sketch.go:136 +#: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" msgstr "無法讀取來源項目的內容" -#: internal/arduino/builder/sketch.go:146 +#: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" msgstr "無法寫入目標檔" -#: internal/arduino/cores/packagemanager/package_manager.go:332 +#: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" msgstr "未知的套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:339 +#: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" msgstr "未知的平台 %s:%s" -#: internal/arduino/sketch/sketch.go:143 +#: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" msgstr "未知的 sketch 副檔名 %s" -#: internal/arduino/resources/checksums.go:61 +#: internal/arduino/resources/checksums.go:60 msgid "unsupported hash algorithm: %s" msgstr "未支援的雜湊演算法: %s" -#: internal/cli/core/upgrade.go:43 +#: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" msgstr "升級 arduino:samd 到最新版" -#: internal/cli/core/upgrade.go:41 +#: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" msgstr "升級全部內容到最新版" -#: commands/service_upload.go:731 +#: commands/service_upload.go:732 msgid "uploading error: %s" msgstr "上傳錯誤: %s" -#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" msgstr "用戶目錄未設定" -#: internal/cli/feedback/terminal.go:93 +#: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" msgstr "用戶輸入不支援 '%s' 輸出格式" -#: internal/cli/feedback/terminal.go:96 +#: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" msgstr "在非互動模式下不支援用戶輸入" -#: internal/arduino/cores/packagemanager/profiles.go:173 +#: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" msgstr "版本 %s 不適合本作業系統" -#: internal/arduino/cores/packagemanager/profiles.go:152 +#: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" msgstr "沒找到版本 %s " -#: commands/service_board_list.go:119 +#: commands/service_board_list.go:120 msgid "wrong format in server response" msgstr "伺服器回應錯誤格式" From a09150f407d22e2f7bd41838b38ce6c782b2e725 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 12 Jun 2024 17:58:17 +0200 Subject: [PATCH 210/361] [skip-changelog] Batch upgrades from dependabot. (#2635) * [skip changelog] Bump golang.org/x/term from 0.20.0 to 0.21.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.20.0 to 0.21.0. - [Commits](https://github.com/golang/term/compare/v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * [skip changelog] Bump golang.org/x/text from 0.15.0 to 0.16.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.15.0 to 0.16.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.15.0...v0.16.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * [skip changelog] Bump github.com/arduino/go-properties-orderedmap Bumps [github.com/arduino/go-properties-orderedmap](https://github.com/arduino/go-properties-orderedmap) from 1.8.0 to 1.8.1. - [Release notes](https://github.com/arduino/go-properties-orderedmap/releases) - [Commits](https://github.com/arduino/go-properties-orderedmap/compare/v1.8.0...v1.8.1) --- updated-dependencies: - dependency-name: github.com/arduino/go-properties-orderedmap dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * [skip changelog] Bump github.com/arduino/go-paths-helper Bumps [github.com/arduino/go-paths-helper](https://github.com/arduino/go-paths-helper) from 1.12.0 to 1.12.1. - [Release notes](https://github.com/arduino/go-paths-helper/releases) - [Commits](https://github.com/arduino/go-paths-helper/compare/v1.12.0...v1.12.1) --- updated-dependencies: - dependency-name: github.com/arduino/go-paths-helper dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * [skip changelog] Bump github.com/spf13/viper from 1.18.2 to 1.19.0 Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.18.2 to 1.19.0. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.18.2...v1.19.0) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../arduino/go-paths-helper.dep.yml | 2 +- .../arduino/go-properties-orderedmap.dep.yml | 2 +- .../go/github.com/klauspost/compress.dep.yml | 2 +- .../github.com/klauspost/compress/fse.dep.yml | 4 +- .../klauspost/compress/huff0.dep.yml | 4 +- .../compress/internal/cpuinfo.dep.yml | 6 +- .../compress/internal/snapref.dep.yml | 6 +- .../klauspost/compress/zstd.dep.yml | 4 +- .../compress/zstd/internal/xxhash.dep.yml | 4 +- .../github.com/pelletier/go-toml/v2.dep.yml | 2 +- .../go-toml/v2/internal/characters.dep.yml | 6 +- .../go-toml/v2/internal/danger.dep.yml | 6 +- .../go-toml/v2/internal/tracker.dep.yml | 6 +- .../pelletier/go-toml/v2/unstable.dep.yml | 6 +- .licenses/go/github.com/spf13/viper.dep.yml | 2 +- .../spf13/viper/internal/encoding.dep.yml | 6 +- .../viper/internal/encoding/dotenv.dep.yml | 6 +- .../spf13/viper/internal/encoding/hcl.dep.yml | 6 +- .../spf13/viper/internal/encoding/ini.dep.yml | 6 +- .../internal/encoding/javaproperties.dep.yml | 6 +- .../viper/internal/encoding/json.dep.yml | 6 +- .../viper/internal/encoding/toml.dep.yml | 6 +- .../viper/internal/encoding/yaml.dep.yml | 6 +- .../spf13/viper/internal/features.dep.yml | 6 +- .../go/golang.org/x/crypto/argon2.dep.yml | 6 +- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 +- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 +- .../go/golang.org/x/crypto/cast5.dep.yml | 6 +- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +- .../x/crypto/ssh/knownhosts.dep.yml | 6 +- .licenses/go/golang.org/x/net/context.dep.yml | 6 +- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +- .../golang.org/x/net/internal/socks.dep.yml | 6 +- .../x/net/internal/timeseries.dep.yml | 6 +- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +- .licenses/go/golang.org/x/term.dep.yml | 2 +- .../go/golang.org/x/text/encoding.dep.yml | 6 +- .../x/text/encoding/internal.dep.yml | 6 +- .../text/encoding/internal/identifier.dep.yml | 6 +- .../x/text/encoding/unicode.dep.yml | 6 +- .../x/text/internal/utf8internal.dep.yml | 6 +- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +- go.mod | 27 ++++----- go.sum | 56 ++++++++++--------- 51 files changed, 174 insertions(+), 171 deletions(-) diff --git a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml index 05f3ecab7a7..01899363c84 100644 --- a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml +++ b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/arduino/go-paths-helper -version: v1.12.0 +version: v1.12.1 type: go summary: homepage: https://pkg.go.dev/github.com/arduino/go-paths-helper diff --git a/.licenses/go/github.com/arduino/go-properties-orderedmap.dep.yml b/.licenses/go/github.com/arduino/go-properties-orderedmap.dep.yml index e8697bc995d..07b731adc7d 100644 --- a/.licenses/go/github.com/arduino/go-properties-orderedmap.dep.yml +++ b/.licenses/go/github.com/arduino/go-properties-orderedmap.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/arduino/go-properties-orderedmap -version: v1.8.0 +version: v1.8.1 type: go summary: Package properties is a library for handling maps of hierarchical properties. homepage: https://pkg.go.dev/github.com/arduino/go-properties-orderedmap diff --git a/.licenses/go/github.com/klauspost/compress.dep.yml b/.licenses/go/github.com/klauspost/compress.dep.yml index 85648ebe677..54f385749ed 100644 --- a/.licenses/go/github.com/klauspost/compress.dep.yml +++ b/.licenses/go/github.com/klauspost/compress.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/klauspost/compress -version: v1.17.0 +version: v1.17.2 type: go summary: homepage: https://pkg.go.dev/github.com/klauspost/compress diff --git a/.licenses/go/github.com/klauspost/compress/fse.dep.yml b/.licenses/go/github.com/klauspost/compress/fse.dep.yml index 8d885e97e21..72db71a77bb 100644 --- a/.licenses/go/github.com/klauspost/compress/fse.dep.yml +++ b/.licenses/go/github.com/klauspost/compress/fse.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/klauspost/compress/fse -version: v1.17.0 +version: v1.17.2 type: go summary: Package fse provides Finite State Entropy encoding and decoding. homepage: https://pkg.go.dev/github.com/klauspost/compress/fse license: bsd-3-clause licenses: -- sources: compress@v1.17.0/LICENSE +- sources: compress@v1.17.2/LICENSE text: | Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) 2019 Klaus Post. All rights reserved. diff --git a/.licenses/go/github.com/klauspost/compress/huff0.dep.yml b/.licenses/go/github.com/klauspost/compress/huff0.dep.yml index 30901b04745..4b7c82482d6 100644 --- a/.licenses/go/github.com/klauspost/compress/huff0.dep.yml +++ b/.licenses/go/github.com/klauspost/compress/huff0.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/klauspost/compress/huff0 -version: v1.17.0 +version: v1.17.2 type: go summary: This file contains the specialisation of Decoder.Decompress4X and Decoder.Decompress1X that use an asm implementation of thir main loops. homepage: https://pkg.go.dev/github.com/klauspost/compress/huff0 license: bsd-3-clause licenses: -- sources: compress@v1.17.0/LICENSE +- sources: compress@v1.17.2/LICENSE text: | Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) 2019 Klaus Post. All rights reserved. diff --git a/.licenses/go/github.com/klauspost/compress/internal/cpuinfo.dep.yml b/.licenses/go/github.com/klauspost/compress/internal/cpuinfo.dep.yml index 9b692399722..15353f866d5 100644 --- a/.licenses/go/github.com/klauspost/compress/internal/cpuinfo.dep.yml +++ b/.licenses/go/github.com/klauspost/compress/internal/cpuinfo.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/klauspost/compress/internal/cpuinfo -version: v1.17.0 +version: v1.17.2 type: go summary: Package cpuinfo gives runtime info about the current CPU. homepage: https://pkg.go.dev/github.com/klauspost/compress/internal/cpuinfo license: bsd-3-clause licenses: -- sources: compress@v1.17.0/LICENSE +- sources: compress@v1.17.2/LICENSE text: | Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) 2019 Klaus Post. All rights reserved. @@ -312,7 +312,7 @@ licenses: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: compress@v1.17.0/README.md +- sources: compress@v1.17.2/README.md text: This code is licensed under the same conditions as the original Go code. See LICENSE file. notices: [] diff --git a/.licenses/go/github.com/klauspost/compress/internal/snapref.dep.yml b/.licenses/go/github.com/klauspost/compress/internal/snapref.dep.yml index 76d6e002574..743aded1b59 100644 --- a/.licenses/go/github.com/klauspost/compress/internal/snapref.dep.yml +++ b/.licenses/go/github.com/klauspost/compress/internal/snapref.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/klauspost/compress/internal/snapref -version: v1.17.0 +version: v1.17.2 type: go summary: Package snapref implements the Snappy compression format. homepage: https://pkg.go.dev/github.com/klauspost/compress/internal/snapref @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: compress@v1.17.0/LICENSE +- sources: compress@v1.17.2/LICENSE text: | Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) 2019 Klaus Post. All rights reserved. @@ -341,7 +341,7 @@ licenses: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: compress@v1.17.0/README.md +- sources: compress@v1.17.2/README.md text: This code is licensed under the same conditions as the original Go code. See LICENSE file. notices: [] diff --git a/.licenses/go/github.com/klauspost/compress/zstd.dep.yml b/.licenses/go/github.com/klauspost/compress/zstd.dep.yml index e7dc8db6705..595224e9168 100644 --- a/.licenses/go/github.com/klauspost/compress/zstd.dep.yml +++ b/.licenses/go/github.com/klauspost/compress/zstd.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/klauspost/compress/zstd -version: v1.17.0 +version: v1.17.2 type: go summary: Package zstd provides decompression of zstandard files. homepage: https://pkg.go.dev/github.com/klauspost/compress/zstd license: bsd-3-clause licenses: -- sources: compress@v1.17.0/LICENSE +- sources: compress@v1.17.2/LICENSE text: | Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) 2019 Klaus Post. All rights reserved. diff --git a/.licenses/go/github.com/klauspost/compress/zstd/internal/xxhash.dep.yml b/.licenses/go/github.com/klauspost/compress/zstd/internal/xxhash.dep.yml index 7f59a3f916b..f29df57f494 100644 --- a/.licenses/go/github.com/klauspost/compress/zstd/internal/xxhash.dep.yml +++ b/.licenses/go/github.com/klauspost/compress/zstd/internal/xxhash.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/klauspost/compress/zstd/internal/xxhash -version: v1.17.0 +version: v1.17.2 type: go summary: homepage: https://pkg.go.dev/github.com/klauspost/compress/zstd/internal/xxhash license: other licenses: -- sources: compress@v1.17.0/LICENSE +- sources: compress@v1.17.2/LICENSE text: | Copyright (c) 2012 The Go Authors. All rights reserved. Copyright (c) 2019 Klaus Post. All rights reserved. diff --git a/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml index 57fb6f41659..44cb14185ef 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/pelletier/go-toml/v2 -version: v2.1.0 +version: v2.2.2 type: go summary: Package toml is a library to read and write TOML documents. homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2 diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml index 7fa750d2dfc..afddf80f550 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/pelletier/go-toml/v2/internal/characters -version: v2.1.0 +version: v2.2.2 type: go summary: homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/internal/characters license: other licenses: -- sources: v2@v2.1.0/LICENSE +- sources: v2@v2.2.2/LICENSE text: | The MIT License (MIT) @@ -30,6 +30,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.1.0/README.md +- sources: v2@v2.2.2/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml index efe373edd23..5fe64d014f7 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/pelletier/go-toml/v2/internal/danger -version: v2.1.0 +version: v2.2.2 type: go summary: homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/internal/danger license: other licenses: -- sources: v2@v2.1.0/LICENSE +- sources: v2@v2.2.2/LICENSE text: | The MIT License (MIT) @@ -30,6 +30,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.1.0/README.md +- sources: v2@v2.2.2/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml index 80f5141e3ea..6b73e51e6b9 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/pelletier/go-toml/v2/internal/tracker -version: v2.1.0 +version: v2.2.2 type: go summary: homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/internal/tracker license: other licenses: -- sources: v2@v2.1.0/LICENSE +- sources: v2@v2.2.2/LICENSE text: | The MIT License (MIT) @@ -30,6 +30,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.1.0/README.md +- sources: v2@v2.2.2/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml index cae3f2e7d7f..4fc5a61cb02 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/pelletier/go-toml/v2/unstable -version: v2.1.0 +version: v2.2.2 type: go summary: Package unstable provides APIs that do not meet the backward compatibility guarantees yet. homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/unstable license: other licenses: -- sources: v2@v2.1.0/LICENSE +- sources: v2@v2.2.2/LICENSE text: | The MIT License (MIT) @@ -31,6 +31,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.1.0/README.md +- sources: v2@v2.2.2/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper.dep.yml b/.licenses/go/github.com/spf13/viper.dep.yml index eb99b85c933..1dbadc50239 100644 --- a/.licenses/go/github.com/spf13/viper.dep.yml +++ b/.licenses/go/github.com/spf13/viper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/viper -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml index 7d94b23fb3a..60a44da36d7 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml index d0739e03eb9..a86b7f1ca05 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/dotenv -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/dotenv license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml index ef190b4217b..b022cf64505 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/hcl -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/hcl license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml index d4616dbff58..8e16e7b070c 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/ini -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/ini license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml index 40846e58143..ae854532146 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/javaproperties -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/javaproperties license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml index 6cb43862192..f897e31d0a0 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/json -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/json license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml index c7ab22d70e8..df7c8a7c2ad 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/toml -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/toml license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml index de47dbccb08..c24379aa0ca 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/yaml -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/yaml license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/features.dep.yml b/.licenses/go/github.com/spf13/viper/internal/features.dep.yml index 8962a3391e2..b62bdcb5162 100644 --- a/.licenses/go/github.com/spf13/viper/internal/features.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/features.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/features -version: v1.18.2 +version: v1.19.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/features license: mit licenses: -- sources: viper@v1.18.2/LICENSE +- sources: viper@v1.19.0/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.18.2/README.md +- sources: viper@v1.19.0/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 70e763cf6f0..9827d36ad98 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.21.0 +version: v0.23.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: other licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index a14bb4cdd7f..e6c87a1f16a 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.21.0 +version: v0.23.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: other licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 3a2b36d4834..4f682e0d3df 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.21.0 +version: v0.23.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index 04ad057a302..369aae2e15c 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.21.0 +version: v0.23.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 85e104a9271..27ff49f5955 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.21.0 +version: v0.23.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index 8b5ba7e34f4..d3729dd761d 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.21.0 +version: v0.23.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index a566b1e0967..2c39eb21311 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.21.0 +version: v0.23.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index b002052086f..85f57262f05 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.21.0 +version: v0.23.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index a3246603198..38e497edd54 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.21.0 +version: v0.23.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 2bcd466e743..777f3cfc608 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.21.0 +version: v0.23.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.21.0/LICENSE +- sources: crypto@v0.23.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.21.0/PATENTS +- sources: crypto@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index ef0ab89847f..5ce2b786538 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.23.0 +version: v0.25.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.23.0/LICENSE +- sources: net@v0.25.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.23.0/PATENTS +- sources: net@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 79cad6638fd..4e442b810ad 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.23.0 +version: v0.25.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.23.0/LICENSE +- sources: net@v0.25.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.23.0/PATENTS +- sources: net@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index 80781a17411..d87d267ff21 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.23.0 +version: v0.25.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.23.0/LICENSE +- sources: net@v0.25.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.23.0/PATENTS +- sources: net@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 25b0bc46372..6701aa7f8ab 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.23.0 +version: v0.25.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.23.0/LICENSE +- sources: net@v0.25.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.23.0/PATENTS +- sources: net@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index b2906705fed..4d60ef781db 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.23.0 +version: v0.25.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.23.0/LICENSE +- sources: net@v0.25.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.23.0/PATENTS +- sources: net@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 6286e35273b..94ae6214caf 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.23.0 +version: v0.25.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.23.0/LICENSE +- sources: net@v0.25.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.23.0/PATENTS +- sources: net@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index d96bc981bfa..ce5200699fc 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.20.0 +version: v0.21.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.20.0/LICENSE +- sources: sys@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.20.0/PATENTS +- sources: sys@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 8c6dd955b88..bc481e53ce7 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.20.0 +version: v0.21.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.20.0/LICENSE +- sources: sys@v0.21.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.20.0/PATENTS +- sources: sys@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 1e692160978..eb58ab9d479 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.20.0 +version: v0.21.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index 4d9a673afe7..375b00cc577 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.15.0 +version: v0.16.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.15.0/LICENSE +- sources: text@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.15.0/PATENTS +- sources: text@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index b216fbb89dd..b83b702a9c3 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.15.0 +version: v0.16.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.15.0/LICENSE +- sources: text@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.15.0/PATENTS +- sources: text@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index ed15c2844fe..4bac800bd5f 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.15.0 +version: v0.16.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.15.0/LICENSE +- sources: text@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.15.0/PATENTS +- sources: text@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index e3c2821ff56..d81796798f7 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.15.0 +version: v0.16.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.15.0/LICENSE +- sources: text@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.15.0/PATENTS +- sources: text@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index db95a791f6d..8363e33e288 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.15.0 +version: v0.16.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.15.0/LICENSE +- sources: text@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.15.0/PATENTS +- sources: text@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index aec13555120..7e6a9bce3c7 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.15.0 +version: v0.16.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.15.0/LICENSE +- sources: text@v0.16.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.15.0/PATENTS +- sources: text@v0.16.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 3ef27bbed59..3f384eaf764 100644 --- a/go.mod +++ b/go.mod @@ -7,8 +7,8 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( github.com/ProtonMail/go-crypto v1.1.0-alpha.0 - github.com/arduino/go-paths-helper v1.12.0 - github.com/arduino/go-properties-orderedmap v1.8.0 + github.com/arduino/go-paths-helper v1.12.1 + github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 @@ -31,15 +31,15 @@ require ( github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.0 - github.com/spf13/viper v1.18.2 + github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.9.0 github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.2.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.20.0 - golang.org/x/text v0.15.0 + golang.org/x/term v0.21.0 + golang.org/x/text v0.16.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 google.golang.org/grpc v1.64.0 google.golang.org/protobuf v1.34.1 @@ -59,7 +59,7 @@ require ( github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/h2non/filetype v1.1.3 // indirect - github.com/hashicorp/errwrap v1.0.0 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/imdario/mergo v0.3.12 // indirect @@ -70,12 +70,12 @@ require ( github.com/josharian/intern v1.0.0 // indirect github.com/juju/errors v1.0.0 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect - github.com/klauspost/compress v1.17.0 // indirect + github.com/klauspost/compress v1.17.2 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/pelletier/go-toml/v2 v2.1.0 // indirect + github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect @@ -94,12 +94,13 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.21.0 // indirect + golang.org/x/crypto v0.23.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/tools v0.13.0 // indirect + golang.org/x/mod v0.17.0 // indirect + golang.org/x/net v0.25.0 // indirect + golang.org/x/sync v0.7.0 // indirect + golang.org/x/sys v0.21.0 // indirect + golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index 96f3dd7f035..61bfffb8031 100644 --- a/go.sum +++ b/go.sum @@ -11,10 +11,10 @@ github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.12.0 h1:xizOQtI9iHdl19qXd1EmWg5i9W//2bOCOYwlNv8F61E= -github.com/arduino/go-paths-helper v1.12.0/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= -github.com/arduino/go-properties-orderedmap v1.8.0 h1:wEfa6hHdpezrVOh787OmClsf/Kd8qB+zE3P2Xbrn0CQ= -github.com/arduino/go-properties-orderedmap v1.8.0/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= +github.com/arduino/go-paths-helper v1.12.1 h1:WkxiVUxBjKWlLMiMuYy8DcmVrkxdP7aKxQOAq7r2lVM= +github.com/arduino/go-paths-helper v1.12.1/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= +github.com/arduino/go-properties-orderedmap v1.8.1 h1:nU5S6cXPwMoxZs4ORw61wPTALNfriIduvNB4cxTmNYM= +github.com/arduino/go-properties-orderedmap v1.8.1/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-serial-utils v0.1.2 h1:MRFwME4w/uaVkJ1R+wzz4KSbI9cF9IDVrYorazvjpTk= github.com/arduino/go-serial-utils v0.1.2/go.mod h1:kzIsNPgz8DFAd1sAFKve4ubxrdGcwQ4XzvRLlztsgnE= github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6dbLC3y4i02zFT5quS4X6iioWifGlVwfy4= @@ -82,8 +82,9 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= -github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= @@ -106,8 +107,8 @@ github.com/juju/errors v1.0.0/go.mod h1:B5x9thDqx0wIMH3+aLIMP9HjItInYWObRovoCFM5 github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= -github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= -github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= +github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= @@ -141,8 +142,8 @@ github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= -github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4= -github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= +github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -181,12 +182,13 @@ github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= -github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= +github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -227,19 +229,19 @@ golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -257,18 +259,18 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= +golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= +golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= +golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= From 3f0d43f7a09520201951b23c996e40bac8128781 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Jun 2024 19:58:30 +0200 Subject: [PATCH 211/361] [skip changelog] Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 (#2632) * [skip changelog] Bump google.golang.org/protobuf from 1.34.1 to 1.34.2 Bumps google.golang.org/protobuf from 1.34.1 to 1.34.2. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache * Updated protoc generated files and doc * Updated CI task --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .github/workflows/check-protobuf-task.yml | 2 +- .../protobuf/encoding/protojson.dep.yml | 6 +- .../protobuf/encoding/prototext.dep.yml | 6 +- .../protobuf/encoding/protowire.dep.yml | 6 +- .../protobuf/internal/descfmt.dep.yml | 6 +- .../protobuf/internal/descopts.dep.yml | 6 +- .../protobuf/internal/detrand.dep.yml | 6 +- .../protobuf/internal/editiondefaults.dep.yml | 6 +- .../protobuf/internal/encoding/defval.dep.yml | 6 +- .../protobuf/internal/encoding/json.dep.yml | 6 +- .../internal/encoding/messageset.dep.yml | 6 +- .../protobuf/internal/encoding/tag.dep.yml | 6 +- .../protobuf/internal/encoding/text.dep.yml | 6 +- .../protobuf/internal/errors.dep.yml | 6 +- .../protobuf/internal/filedesc.dep.yml | 6 +- .../protobuf/internal/filetype.dep.yml | 6 +- .../protobuf/internal/flags.dep.yml | 6 +- .../protobuf/internal/genid.dep.yml | 6 +- .../protobuf/internal/impl.dep.yml | 6 +- .../protobuf/internal/order.dep.yml | 6 +- .../protobuf/internal/pragma.dep.yml | 6 +- .../protobuf/internal/set.dep.yml | 6 +- .../protobuf/internal/strs.dep.yml | 6 +- .../protobuf/internal/version.dep.yml | 6 +- .../google.golang.org/protobuf/proto.dep.yml | 6 +- .../protobuf/protoadapt.dep.yml | 6 +- .../protobuf/reflect/protoreflect.dep.yml | 6 +- .../protobuf/reflect/protoregistry.dep.yml | 6 +- .../protobuf/runtime/protoiface.dep.yml | 6 +- .../protobuf/runtime/protoimpl.dep.yml | 6 +- .../protobuf/types/known/anypb.dep.yml | 6 +- .../protobuf/types/known/durationpb.dep.yml | 6 +- .../protobuf/types/known/timestamppb.dep.yml | 6 +- docs/CONTRIBUTING.md | 2 +- go.mod | 2 +- go.sum | 4 +- rpc/cc/arduino/cli/commands/v1/board.pb.go | 44 +++++----- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 68 +++++++-------- rpc/cc/arduino/cli/commands/v1/common.pb.go | 40 ++++----- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 24 +++--- rpc/cc/arduino/cli/commands/v1/core.pb.go | 44 +++++----- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 24 +++--- rpc/cc/arduino/cli/commands/v1/lib.pb.go | 86 +++++++++---------- rpc/cc/arduino/cli/commands/v1/monitor.pb.go | 24 +++--- rpc/cc/arduino/cli/commands/v1/port.pb.go | 6 +- rpc/cc/arduino/cli/commands/v1/settings.pb.go | 64 +++++++------- rpc/cc/arduino/cli/commands/v1/upload.pb.go | 36 ++++---- 47 files changed, 331 insertions(+), 331 deletions(-) diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index cdef10be24a..223646a1771 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -66,7 +66,7 @@ jobs: - name: Install Go deps run: | - go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.1 + go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 - name: Install Task diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 9217928c9ef..a4a3cd8ad28 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.34.1 +version: v1.34.2 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index e15cfd96242..3f009bc9369 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.34.1 +version: v1.34.2 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index d935d1df67c..efd306fa7b2 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.34.1 +version: v1.34.2 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index dbeab8d9303..d062bbc733c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.34.1 +version: v1.34.2 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index bfa250407e3..0cfeb15b7e4 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.34.1 +version: v1.34.2 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 1b4a97a555d..eb5cf0f4290 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.34.1 +version: v1.34.2 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index 65cfe030690..d7fe6050da3 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.34.1 +version: v1.34.2 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index bcde818c389..f8c57aec373 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.34.1 +version: v1.34.2 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index ba65ae97ee7..aebd0e4d9ce 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.34.1 +version: v1.34.2 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 8cf22dded57..de1ead0f8fd 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.34.1 +version: v1.34.2 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index 9026707ad0b..cec632cde3b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.34.1 +version: v1.34.2 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index a9708de07d2..a5a5fe70b1f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.34.1 +version: v1.34.2 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index ee63cc3d2ef..f8fac1a13bd 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.34.1 +version: v1.34.2 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index 1bc0bc1c221..7bd85fc8595 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.34.1 +version: v1.34.2 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index c839cb6b49f..121eef3366b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.34.1 +version: v1.34.2 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 4ad5ad85489..07486178579 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.34.1 +version: v1.34.2 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 74669222b46..41bc814600e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.34.1 +version: v1.34.2 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index 58483233938..b00e8269dc0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.34.1 +version: v1.34.2 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index 43e239a6b02..f3a1285899c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.34.1 +version: v1.34.2 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index b8f4d4e9610..258bb73bfd3 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.34.1 +version: v1.34.2 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index 9f59966eb2c..795d843b965 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.34.1 +version: v1.34.2 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index a2137bf6689..aa357fc085e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.34.1 +version: v1.34.2 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 29866ee233b..664f1909ea7 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.34.1 +version: v1.34.2 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index bcbae244ea7..4b37df11015 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.34.1 +version: v1.34.2 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index 86b283d6478..ed800d976de 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.34.1 +version: v1.34.2 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index d3829449973..104d1f33e57 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.34.1 +version: v1.34.2 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 737474192c5..861ea2a3970 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.34.1 +version: v1.34.2 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 559ff53fc12..0d2f7a830ba 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.34.1 +version: v1.34.2 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 7687cce6e2c..9574d512bf8 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.34.1 +version: v1.34.2 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index c787fffcc90..b9c5ae4bef1 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.34.1 +version: v1.34.2 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 461ad3f24fd..03140396081 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.34.1 +version: v1.34.2 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index 05124ff5fe4..c896d5ec9d9 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.34.1 +version: v1.34.2 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.34.1/LICENSE +- sources: protobuf@v1.34.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.1/PATENTS +- sources: protobuf@v1.34.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index c00d06ac565..ba3856034b9 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -82,7 +82,7 @@ If you're working on the gRPC interface you will also have to: - download and install the [protoc][6] compiler (use the version required to match the generated code, please note that the latest releases does not follow semantic versioning anymore so, for example, the version 5.26.1 must be searched as 26.1 dropping the major number) -- install `protoc-gen-go` using: `go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.1` (use the version +- install `protoc-gen-go` using: `go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2` (use the version required to match the generated code) - install `protoc-gen-go-grpc` using: `go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0` (use the version required to match the generated code) diff --git a/go.mod b/go.mod index 3f384eaf764..b44eb75a12a 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( golang.org/x/text v0.16.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 google.golang.org/grpc v1.64.0 - google.golang.org/protobuf v1.34.1 + google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 61bfffb8031..034d2ff431e 100644 --- a/go.sum +++ b/go.sum @@ -276,8 +276,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 7a782004a74..653b35c5e22 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/board.proto @@ -1710,7 +1710,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_board_proto_msgTypes = make([]protoimpl.MessageInfo, 21) -var file_cc_arduino_cli_commands_v1_board_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_board_proto_goTypes = []any{ (*BoardDetailsRequest)(nil), // 0: cc.arduino.cli.commands.v1.BoardDetailsRequest (*BoardDetailsResponse)(nil), // 1: cc.arduino.cli.commands.v1.BoardDetailsResponse (*BoardIdentificationProperties)(nil), // 2: cc.arduino.cli.commands.v1.BoardIdentificationProperties @@ -1775,7 +1775,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { file_cc_arduino_cli_commands_v1_common_proto_init() file_cc_arduino_cli_commands_v1_port_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*BoardDetailsRequest); i { case 0: return &v.state @@ -1787,7 +1787,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*BoardDetailsResponse); i { case 0: return &v.state @@ -1799,7 +1799,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*BoardIdentificationProperties); i { case 0: return &v.state @@ -1811,7 +1811,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*Package); i { case 0: return &v.state @@ -1823,7 +1823,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*Help); i { case 0: return &v.state @@ -1835,7 +1835,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*BoardPlatform); i { case 0: return &v.state @@ -1847,7 +1847,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*ToolsDependencies); i { case 0: return &v.state @@ -1859,7 +1859,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*Systems); i { case 0: return &v.state @@ -1871,7 +1871,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*ConfigOption); i { case 0: return &v.state @@ -1883,7 +1883,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*ConfigValue); i { case 0: return &v.state @@ -1895,7 +1895,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*BoardListRequest); i { case 0: return &v.state @@ -1907,7 +1907,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*BoardListResponse); i { case 0: return &v.state @@ -1919,7 +1919,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*DetectedPort); i { case 0: return &v.state @@ -1931,7 +1931,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*BoardListAllRequest); i { case 0: return &v.state @@ -1943,7 +1943,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*BoardListAllResponse); i { case 0: return &v.state @@ -1955,7 +1955,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*BoardListWatchRequest); i { case 0: return &v.state @@ -1967,7 +1967,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*BoardListWatchResponse); i { case 0: return &v.state @@ -1979,7 +1979,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*BoardListItem); i { case 0: return &v.state @@ -1991,7 +1991,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*BoardSearchRequest); i { case 0: return &v.state @@ -2003,7 +2003,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_board_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*BoardSearchResponse); i { case 0: return &v.state diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index d89dc0e8352..50c4b8acc95 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/commands.proto @@ -2482,7 +2482,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP() []byte { var file_cc_arduino_cli_commands_v1_commands_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_cc_arduino_cli_commands_v1_commands_proto_msgTypes = make([]protoimpl.MessageInfo, 29) -var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []any{ (FailedInstanceInitReason)(0), // 0: cc.arduino.cli.commands.v1.FailedInstanceInitReason (IndexUpdateReport_Status)(0), // 1: cc.arduino.cli.commands.v1.IndexUpdateReport.Status (*CreateRequest)(nil), // 2: cc.arduino.cli.commands.v1.CreateRequest @@ -2736,7 +2736,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { file_cc_arduino_cli_commands_v1_lib_proto_init() file_cc_arduino_cli_commands_v1_settings_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CreateRequest); i { case 0: return &v.state @@ -2748,7 +2748,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*CreateResponse); i { case 0: return &v.state @@ -2760,7 +2760,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*InitRequest); i { case 0: return &v.state @@ -2772,7 +2772,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*InitResponse); i { case 0: return &v.state @@ -2784,7 +2784,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*FailedInstanceInitError); i { case 0: return &v.state @@ -2796,7 +2796,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*DestroyRequest); i { case 0: return &v.state @@ -2808,7 +2808,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*DestroyResponse); i { case 0: return &v.state @@ -2820,7 +2820,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*UpdateIndexRequest); i { case 0: return &v.state @@ -2832,7 +2832,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*UpdateIndexResponse); i { case 0: return &v.state @@ -2844,7 +2844,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*UpdateLibrariesIndexRequest); i { case 0: return &v.state @@ -2856,7 +2856,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*UpdateLibrariesIndexResponse); i { case 0: return &v.state @@ -2868,7 +2868,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*IndexUpdateReport); i { case 0: return &v.state @@ -2880,7 +2880,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*VersionRequest); i { case 0: return &v.state @@ -2892,7 +2892,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*VersionResponse); i { case 0: return &v.state @@ -2904,7 +2904,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*NewSketchRequest); i { case 0: return &v.state @@ -2916,7 +2916,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*NewSketchResponse); i { case 0: return &v.state @@ -2928,7 +2928,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*LoadSketchRequest); i { case 0: return &v.state @@ -2940,7 +2940,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*LoadSketchResponse); i { case 0: return &v.state @@ -2952,7 +2952,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*ArchiveSketchRequest); i { case 0: return &v.state @@ -2964,7 +2964,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*ArchiveSketchResponse); i { case 0: return &v.state @@ -2976,7 +2976,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*SetSketchDefaultsRequest); i { case 0: return &v.state @@ -2988,7 +2988,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*SetSketchDefaultsResponse); i { case 0: return &v.state @@ -3000,7 +3000,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[22].Exporter = func(v any, i int) any { switch v := v.(*CheckForArduinoCLIUpdatesRequest); i { case 0: return &v.state @@ -3012,7 +3012,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[23].Exporter = func(v any, i int) any { switch v := v.(*CheckForArduinoCLIUpdatesResponse); i { case 0: return &v.state @@ -3024,7 +3024,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[24].Exporter = func(v any, i int) any { switch v := v.(*CleanDownloadCacheDirectoryRequest); i { case 0: return &v.state @@ -3036,7 +3036,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[25].Exporter = func(v any, i int) any { switch v := v.(*CleanDownloadCacheDirectoryResponse); i { case 0: return &v.state @@ -3048,7 +3048,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[26].Exporter = func(v any, i int) any { switch v := v.(*InitResponse_Progress); i { case 0: return &v.state @@ -3060,7 +3060,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[27].Exporter = func(v any, i int) any { switch v := v.(*UpdateIndexResponse_Result); i { case 0: return &v.state @@ -3072,7 +3072,7 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[28].Exporter = func(v any, i int) any { switch v := v.(*UpdateLibrariesIndexResponse_Result); i { case 0: return &v.state @@ -3085,16 +3085,16 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { } } } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[3].OneofWrappers = []any{ (*InitResponse_InitProgress)(nil), (*InitResponse_Error)(nil), (*InitResponse_Profile)(nil), } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[8].OneofWrappers = []any{ (*UpdateIndexResponse_DownloadProgress)(nil), (*UpdateIndexResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[10].OneofWrappers = []any{ (*UpdateLibrariesIndexResponse_DownloadProgress)(nil), (*UpdateLibrariesIndexResponse_Result_)(nil), } diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index e11f43b7f0e..97798337650 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/common.proto @@ -1487,7 +1487,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 18) -var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []any{ (*Instance)(nil), // 0: cc.arduino.cli.commands.v1.Instance (*DownloadProgress)(nil), // 1: cc.arduino.cli.commands.v1.DownloadProgress (*DownloadProgressStart)(nil), // 2: cc.arduino.cli.commands.v1.DownloadProgressStart @@ -1533,7 +1533,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*Instance); i { case 0: return &v.state @@ -1545,7 +1545,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*DownloadProgress); i { case 0: return &v.state @@ -1557,7 +1557,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*DownloadProgressStart); i { case 0: return &v.state @@ -1569,7 +1569,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*DownloadProgressUpdate); i { case 0: return &v.state @@ -1581,7 +1581,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*DownloadProgressEnd); i { case 0: return &v.state @@ -1593,7 +1593,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*TaskProgress); i { case 0: return &v.state @@ -1605,7 +1605,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*Programmer); i { case 0: return &v.state @@ -1617,7 +1617,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*MissingProgrammerError); i { case 0: return &v.state @@ -1629,7 +1629,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*Platform); i { case 0: return &v.state @@ -1641,7 +1641,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*PlatformSummary); i { case 0: return &v.state @@ -1653,7 +1653,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*PlatformMetadata); i { case 0: return &v.state @@ -1665,7 +1665,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*PlatformRelease); i { case 0: return &v.state @@ -1677,7 +1677,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*InstalledPlatformReference); i { case 0: return &v.state @@ -1689,7 +1689,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*Board); i { case 0: return &v.state @@ -1701,7 +1701,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*HelpResources); i { case 0: return &v.state @@ -1713,7 +1713,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*Sketch); i { case 0: return &v.state @@ -1725,7 +1725,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*SketchProfile); i { case 0: return &v.state @@ -1738,7 +1738,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } } - file_cc_arduino_cli_commands_v1_common_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[1].OneofWrappers = []any{ (*DownloadProgress_Start)(nil), (*DownloadProgress_Update)(nil), (*DownloadProgress_End)(nil), diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index f64c3edf128..d0662790339 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/compile.proto @@ -1095,7 +1095,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_compile_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_cc_arduino_cli_commands_v1_compile_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_compile_proto_goTypes = []any{ (*CompileRequest)(nil), // 0: cc.arduino.cli.commands.v1.CompileRequest (*CompileResponse)(nil), // 1: cc.arduino.cli.commands.v1.CompileResponse (*InstanceNeedsReinitializationError)(nil), // 2: cc.arduino.cli.commands.v1.InstanceNeedsReinitializationError @@ -1137,7 +1137,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { file_cc_arduino_cli_commands_v1_common_proto_init() file_cc_arduino_cli_commands_v1_lib_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CompileRequest); i { case 0: return &v.state @@ -1149,7 +1149,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*CompileResponse); i { case 0: return &v.state @@ -1161,7 +1161,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*InstanceNeedsReinitializationError); i { case 0: return &v.state @@ -1173,7 +1173,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*BuilderResult); i { case 0: return &v.state @@ -1185,7 +1185,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*ExecutableSectionSize); i { case 0: return &v.state @@ -1197,7 +1197,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*CompileDiagnostic); i { case 0: return &v.state @@ -1209,7 +1209,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*CompileDiagnosticContext); i { case 0: return &v.state @@ -1221,7 +1221,7 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*CompileDiagnosticNote); i { case 0: return &v.state @@ -1234,8 +1234,8 @@ func file_cc_arduino_cli_commands_v1_compile_proto_init() { } } } - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[0].OneofWrappers = []any{} + file_cc_arduino_cli_commands_v1_compile_proto_msgTypes[1].OneofWrappers = []any{ (*CompileResponse_OutStream)(nil), (*CompileResponse_ErrStream)(nil), (*CompileResponse_Progress)(nil), diff --git a/rpc/cc/arduino/cli/commands/v1/core.pb.go b/rpc/cc/arduino/cli/commands/v1/core.pb.go index b3ea05a7bd2..971700820e4 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/core.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/core.proto @@ -1275,7 +1275,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_core_proto_msgTypes = make([]protoimpl.MessageInfo, 16) -var file_cc_arduino_cli_commands_v1_core_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_core_proto_goTypes = []any{ (*PlatformInstallRequest)(nil), // 0: cc.arduino.cli.commands.v1.PlatformInstallRequest (*PlatformInstallResponse)(nil), // 1: cc.arduino.cli.commands.v1.PlatformInstallResponse (*PlatformLoadingError)(nil), // 2: cc.arduino.cli.commands.v1.PlatformLoadingError @@ -1330,7 +1330,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { } file_cc_arduino_cli_commands_v1_common_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*PlatformInstallRequest); i { case 0: return &v.state @@ -1342,7 +1342,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*PlatformInstallResponse); i { case 0: return &v.state @@ -1354,7 +1354,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*PlatformLoadingError); i { case 0: return &v.state @@ -1366,7 +1366,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*PlatformDownloadRequest); i { case 0: return &v.state @@ -1378,7 +1378,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*PlatformDownloadResponse); i { case 0: return &v.state @@ -1390,7 +1390,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*PlatformUninstallRequest); i { case 0: return &v.state @@ -1402,7 +1402,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*PlatformUninstallResponse); i { case 0: return &v.state @@ -1414,7 +1414,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*AlreadyAtLatestVersionError); i { case 0: return &v.state @@ -1426,7 +1426,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*PlatformUpgradeRequest); i { case 0: return &v.state @@ -1438,7 +1438,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*PlatformUpgradeResponse); i { case 0: return &v.state @@ -1450,7 +1450,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*PlatformSearchRequest); i { case 0: return &v.state @@ -1462,7 +1462,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*PlatformSearchResponse); i { case 0: return &v.state @@ -1474,7 +1474,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*PlatformInstallResponse_Result); i { case 0: return &v.state @@ -1486,7 +1486,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*PlatformDownloadResponse_Result); i { case 0: return &v.state @@ -1498,7 +1498,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*PlatformUninstallResponse_Result); i { case 0: return &v.state @@ -1510,7 +1510,7 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*PlatformUpgradeResponse_Result); i { case 0: return &v.state @@ -1523,20 +1523,20 @@ func file_cc_arduino_cli_commands_v1_core_proto_init() { } } } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[1].OneofWrappers = []any{ (*PlatformInstallResponse_Progress)(nil), (*PlatformInstallResponse_TaskProgress)(nil), (*PlatformInstallResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[4].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[4].OneofWrappers = []any{ (*PlatformDownloadResponse_Progress)(nil), (*PlatformDownloadResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[6].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[6].OneofWrappers = []any{ (*PlatformUninstallResponse_TaskProgress)(nil), (*PlatformUninstallResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_core_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_core_proto_msgTypes[9].OneofWrappers = []any{ (*PlatformUpgradeResponse_Progress)(nil), (*PlatformUpgradeResponse_TaskProgress)(nil), (*PlatformUpgradeResponse_Result_)(nil), diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index 30aa64246b0..a393372c221 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/debug.proto @@ -884,7 +884,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_debug_proto_msgTypes = make([]protoimpl.MessageInfo, 10) -var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_debug_proto_goTypes = []any{ (*DebugRequest)(nil), // 0: cc.arduino.cli.commands.v1.DebugRequest (*DebugResponse)(nil), // 1: cc.arduino.cli.commands.v1.DebugResponse (*IsDebugSupportedRequest)(nil), // 2: cc.arduino.cli.commands.v1.IsDebugSupportedRequest @@ -924,7 +924,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { file_cc_arduino_cli_commands_v1_common_proto_init() file_cc_arduino_cli_commands_v1_port_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*DebugRequest); i { case 0: return &v.state @@ -936,7 +936,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*DebugResponse); i { case 0: return &v.state @@ -948,7 +948,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*IsDebugSupportedRequest); i { case 0: return &v.state @@ -960,7 +960,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*IsDebugSupportedResponse); i { case 0: return &v.state @@ -972,7 +972,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*GetDebugConfigRequest); i { case 0: return &v.state @@ -984,7 +984,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*GetDebugConfigResponse); i { case 0: return &v.state @@ -996,7 +996,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*DebugGCCToolchainConfiguration); i { case 0: return &v.state @@ -1008,7 +1008,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*DebugOpenOCDServerConfiguration); i { case 0: return &v.state @@ -1020,7 +1020,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*DebugResponse_Result); i { case 0: return &v.state @@ -1033,7 +1033,7 @@ func file_cc_arduino_cli_commands_v1_debug_proto_init() { } } } - file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_debug_proto_msgTypes[1].OneofWrappers = []any{ (*DebugResponse_Data)(nil), (*DebugResponse_Result_)(nil), } diff --git a/rpc/cc/arduino/cli/commands/v1/lib.pb.go b/rpc/cc/arduino/cli/commands/v1/lib.pb.go index 4d5de28a1d0..dd631ff452e 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/lib.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/lib.proto @@ -3235,7 +3235,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP() []byte { var file_cc_arduino_cli_commands_v1_lib_proto_enumTypes = make([]protoimpl.EnumInfo, 4) var file_cc_arduino_cli_commands_v1_lib_proto_msgTypes = make([]protoimpl.MessageInfo, 37) -var file_cc_arduino_cli_commands_v1_lib_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_lib_proto_goTypes = []any{ (LibraryInstallLocation)(0), // 0: cc.arduino.cli.commands.v1.LibraryInstallLocation (LibrarySearchStatus)(0), // 1: cc.arduino.cli.commands.v1.LibrarySearchStatus (LibraryLayout)(0), // 2: cc.arduino.cli.commands.v1.LibraryLayout @@ -3339,7 +3339,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { } file_cc_arduino_cli_commands_v1_common_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*LibraryDownloadRequest); i { case 0: return &v.state @@ -3351,7 +3351,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*LibraryDownloadResponse); i { case 0: return &v.state @@ -3363,7 +3363,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*LibraryInstallRequest); i { case 0: return &v.state @@ -3375,7 +3375,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*LibraryInstallResponse); i { case 0: return &v.state @@ -3387,7 +3387,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*LibraryUpgradeRequest); i { case 0: return &v.state @@ -3399,7 +3399,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*LibraryUpgradeResponse); i { case 0: return &v.state @@ -3411,7 +3411,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*LibraryUninstallRequest); i { case 0: return &v.state @@ -3423,7 +3423,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*LibraryUninstallResponse); i { case 0: return &v.state @@ -3435,7 +3435,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*LibraryUpgradeAllRequest); i { case 0: return &v.state @@ -3447,7 +3447,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*LibraryUpgradeAllResponse); i { case 0: return &v.state @@ -3459,7 +3459,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*LibraryResolveDependenciesRequest); i { case 0: return &v.state @@ -3471,7 +3471,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*LibraryResolveDependenciesResponse); i { case 0: return &v.state @@ -3483,7 +3483,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*LibraryDependencyStatus); i { case 0: return &v.state @@ -3495,7 +3495,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*LibrarySearchRequest); i { case 0: return &v.state @@ -3507,7 +3507,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*LibrarySearchResponse); i { case 0: return &v.state @@ -3519,7 +3519,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*SearchedLibrary); i { case 0: return &v.state @@ -3531,7 +3531,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*LibraryRelease); i { case 0: return &v.state @@ -3543,7 +3543,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*LibraryDependency); i { case 0: return &v.state @@ -3555,7 +3555,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*DownloadResource); i { case 0: return &v.state @@ -3567,7 +3567,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*LibraryListRequest); i { case 0: return &v.state @@ -3579,7 +3579,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*LibraryListResponse); i { case 0: return &v.state @@ -3591,7 +3591,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*InstalledLibrary); i { case 0: return &v.state @@ -3603,7 +3603,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[22].Exporter = func(v any, i int) any { switch v := v.(*Library); i { case 0: return &v.state @@ -3615,7 +3615,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[23].Exporter = func(v any, i int) any { switch v := v.(*ZipLibraryInstallRequest); i { case 0: return &v.state @@ -3627,7 +3627,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[24].Exporter = func(v any, i int) any { switch v := v.(*ZipLibraryInstallResponse); i { case 0: return &v.state @@ -3639,7 +3639,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[25].Exporter = func(v any, i int) any { switch v := v.(*GitLibraryInstallRequest); i { case 0: return &v.state @@ -3651,7 +3651,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[26].Exporter = func(v any, i int) any { switch v := v.(*GitLibraryInstallResponse); i { case 0: return &v.state @@ -3663,7 +3663,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[27].Exporter = func(v any, i int) any { switch v := v.(*LibraryDownloadResponse_Result); i { case 0: return &v.state @@ -3675,7 +3675,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[28].Exporter = func(v any, i int) any { switch v := v.(*LibraryInstallResponse_Result); i { case 0: return &v.state @@ -3687,7 +3687,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[29].Exporter = func(v any, i int) any { switch v := v.(*LibraryUpgradeResponse_Result); i { case 0: return &v.state @@ -3699,7 +3699,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[30].Exporter = func(v any, i int) any { switch v := v.(*LibraryUninstallResponse_Result); i { case 0: return &v.state @@ -3711,7 +3711,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[31].Exporter = func(v any, i int) any { switch v := v.(*LibraryUpgradeAllResponse_Result); i { case 0: return &v.state @@ -3723,7 +3723,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[35].Exporter = func(v any, i int) any { switch v := v.(*ZipLibraryInstallResponse_Result); i { case 0: return &v.state @@ -3735,7 +3735,7 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[36].Exporter = func(v any, i int) any { switch v := v.(*GitLibraryInstallResponse_Result); i { case 0: return &v.state @@ -3748,34 +3748,34 @@ func file_cc_arduino_cli_commands_v1_lib_proto_init() { } } } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[1].OneofWrappers = []any{ (*LibraryDownloadResponse_Progress)(nil), (*LibraryDownloadResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[3].OneofWrappers = []any{ (*LibraryInstallResponse_Progress)(nil), (*LibraryInstallResponse_TaskProgress)(nil), (*LibraryInstallResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[5].OneofWrappers = []any{ (*LibraryUpgradeResponse_Progress)(nil), (*LibraryUpgradeResponse_TaskProgress)(nil), (*LibraryUpgradeResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[7].OneofWrappers = []any{ (*LibraryUninstallResponse_TaskProgress)(nil), (*LibraryUninstallResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[9].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[9].OneofWrappers = []any{ (*LibraryUpgradeAllResponse_Progress)(nil), (*LibraryUpgradeAllResponse_TaskProgress)(nil), (*LibraryUpgradeAllResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[24].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[24].OneofWrappers = []any{ (*ZipLibraryInstallResponse_TaskProgress)(nil), (*ZipLibraryInstallResponse_Result_)(nil), } - file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[26].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_lib_proto_msgTypes[26].OneofWrappers = []any{ (*GitLibraryInstallResponse_TaskProgress)(nil), (*GitLibraryInstallResponse_Result_)(nil), } diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go index 0f1c91ead0e..1b535e5e12f 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/monitor.proto @@ -767,7 +767,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_cc_arduino_cli_commands_v1_monitor_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_monitor_proto_goTypes = []any{ (*MonitorRequest)(nil), // 0: cc.arduino.cli.commands.v1.MonitorRequest (*MonitorPortOpenRequest)(nil), // 1: cc.arduino.cli.commands.v1.MonitorPortOpenRequest (*MonitorPortConfiguration)(nil), // 2: cc.arduino.cli.commands.v1.MonitorPortConfiguration @@ -804,7 +804,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { file_cc_arduino_cli_commands_v1_common_proto_init() file_cc_arduino_cli_commands_v1_port_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*MonitorRequest); i { case 0: return &v.state @@ -816,7 +816,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*MonitorPortOpenRequest); i { case 0: return &v.state @@ -828,7 +828,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*MonitorPortConfiguration); i { case 0: return &v.state @@ -840,7 +840,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*MonitorResponse); i { case 0: return &v.state @@ -852,7 +852,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*MonitorPortSetting); i { case 0: return &v.state @@ -864,7 +864,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*EnumerateMonitorPortSettingsRequest); i { case 0: return &v.state @@ -876,7 +876,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*EnumerateMonitorPortSettingsResponse); i { case 0: return &v.state @@ -888,7 +888,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*MonitorPortSettingDescriptor); i { case 0: return &v.state @@ -901,13 +901,13 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[0].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[0].OneofWrappers = []any{ (*MonitorRequest_OpenRequest)(nil), (*MonitorRequest_TxData)(nil), (*MonitorRequest_UpdatedConfiguration)(nil), (*MonitorRequest_Close)(nil), } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].OneofWrappers = []any{ (*MonitorResponse_Error)(nil), (*MonitorResponse_RxData)(nil), (*MonitorResponse_AppliedSettings)(nil), diff --git a/rpc/cc/arduino/cli/commands/v1/port.pb.go b/rpc/cc/arduino/cli/commands/v1/port.pb.go index c0b33bd5409..5a6add06bc4 100644 --- a/rpc/cc/arduino/cli/commands/v1/port.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/port.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/port.proto @@ -176,7 +176,7 @@ func file_cc_arduino_cli_commands_v1_port_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_port_proto_msgTypes = make([]protoimpl.MessageInfo, 2) -var file_cc_arduino_cli_commands_v1_port_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_port_proto_goTypes = []any{ (*Port)(nil), // 0: cc.arduino.cli.commands.v1.Port nil, // 1: cc.arduino.cli.commands.v1.Port.PropertiesEntry } @@ -195,7 +195,7 @@ func file_cc_arduino_cli_commands_v1_port_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_port_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_port_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*Port); i { case 0: return &v.state diff --git a/rpc/cc/arduino/cli/commands/v1/settings.pb.go b/rpc/cc/arduino/cli/commands/v1/settings.pb.go index acf30368097..4a120aef7d8 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/settings.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/settings.proto @@ -1593,7 +1593,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_settings_proto_msgTypes = make([]protoimpl.MessageInfo, 25) -var file_cc_arduino_cli_commands_v1_settings_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_settings_proto_goTypes = []any{ (*Configuration)(nil), // 0: cc.arduino.cli.commands.v1.Configuration (*ConfigurationGetRequest)(nil), // 1: cc.arduino.cli.commands.v1.ConfigurationGetRequest (*ConfigurationGetResponse)(nil), // 2: cc.arduino.cli.commands.v1.ConfigurationGetResponse @@ -1647,7 +1647,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return } if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*Configuration); i { case 0: return &v.state @@ -1659,7 +1659,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*ConfigurationGetRequest); i { case 0: return &v.state @@ -1671,7 +1671,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*ConfigurationGetResponse); i { case 0: return &v.state @@ -1683,7 +1683,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*ConfigurationSaveRequest); i { case 0: return &v.state @@ -1695,7 +1695,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*ConfigurationSaveResponse); i { case 0: return &v.state @@ -1707,7 +1707,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*ConfigurationOpenRequest); i { case 0: return &v.state @@ -1719,7 +1719,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*ConfigurationOpenResponse); i { case 0: return &v.state @@ -1731,7 +1731,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*SettingsGetValueRequest); i { case 0: return &v.state @@ -1743,7 +1743,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*SettingsGetValueResponse); i { case 0: return &v.state @@ -1755,7 +1755,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*SettingsSetValueRequest); i { case 0: return &v.state @@ -1767,7 +1767,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*SettingsSetValueResponse); i { case 0: return &v.state @@ -1779,7 +1779,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*SettingsEnumerateRequest); i { case 0: return &v.state @@ -1791,7 +1791,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*SettingsEnumerateResponse); i { case 0: return &v.state @@ -1803,7 +1803,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Directories); i { case 0: return &v.state @@ -1815,7 +1815,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Network); i { case 0: return &v.state @@ -1827,7 +1827,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[15].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Sketch); i { case 0: return &v.state @@ -1839,7 +1839,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[16].Exporter = func(v any, i int) any { switch v := v.(*Configuration_BuildCache); i { case 0: return &v.state @@ -1851,7 +1851,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[17].Exporter = func(v any, i int) any { switch v := v.(*Configuration_BoardManager); i { case 0: return &v.state @@ -1863,7 +1863,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Daemon); i { case 0: return &v.state @@ -1875,7 +1875,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[19].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Output); i { case 0: return &v.state @@ -1887,7 +1887,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Logging); i { case 0: return &v.state @@ -1899,7 +1899,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[21].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Library); i { case 0: return &v.state @@ -1911,7 +1911,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[22].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Updater); i { case 0: return &v.state @@ -1923,7 +1923,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23].Exporter = func(v any, i int) any { switch v := v.(*Configuration_Directories_Builtin); i { case 0: return &v.state @@ -1935,7 +1935,7 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[24].Exporter = func(v any, i int) any { switch v := v.(*SettingsEnumerateResponse_Entry); i { case 0: return &v.state @@ -1948,11 +1948,11 @@ func file_cc_arduino_cli_commands_v1_settings_proto_init() { } } } - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13].OneofWrappers = []interface{}{} - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14].OneofWrappers = []interface{}{} - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20].OneofWrappers = []interface{}{} - file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23].OneofWrappers = []interface{}{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[0].OneofWrappers = []any{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[13].OneofWrappers = []any{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[14].OneofWrappers = []any{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[20].OneofWrappers = []any{} + file_cc_arduino_cli_commands_v1_settings_proto_msgTypes[23].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/rpc/cc/arduino/cli/commands/v1/upload.pb.go b/rpc/cc/arduino/cli/commands/v1/upload.pb.go index 1e1e2f7518d..b1ad75dae3a 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/upload.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: -// protoc-gen-go v1.34.1 +// protoc-gen-go v1.34.2 // protoc v5.26.1 // source: cc/arduino/cli/commands/v1/upload.proto @@ -1294,7 +1294,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_rawDescGZIP() []byte { } var file_cc_arduino_cli_commands_v1_upload_proto_msgTypes = make([]protoimpl.MessageInfo, 16) -var file_cc_arduino_cli_commands_v1_upload_proto_goTypes = []interface{}{ +var file_cc_arduino_cli_commands_v1_upload_proto_goTypes = []any{ (*UploadRequest)(nil), // 0: cc.arduino.cli.commands.v1.UploadRequest (*UploadResponse)(nil), // 1: cc.arduino.cli.commands.v1.UploadResponse (*UploadResult)(nil), // 2: cc.arduino.cli.commands.v1.UploadResult @@ -1346,7 +1346,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { file_cc_arduino_cli_commands_v1_common_proto_init() file_cc_arduino_cli_commands_v1_port_proto_init() if !protoimpl.UnsafeEnabled { - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*UploadRequest); i { case 0: return &v.state @@ -1358,7 +1358,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[1].Exporter = func(v any, i int) any { switch v := v.(*UploadResponse); i { case 0: return &v.state @@ -1370,7 +1370,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[2].Exporter = func(v any, i int) any { switch v := v.(*UploadResult); i { case 0: return &v.state @@ -1382,7 +1382,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*ProgrammerIsRequiredForUploadError); i { case 0: return &v.state @@ -1394,7 +1394,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*UploadUsingProgrammerRequest); i { case 0: return &v.state @@ -1406,7 +1406,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*UploadUsingProgrammerResponse); i { case 0: return &v.state @@ -1418,7 +1418,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[6].Exporter = func(v any, i int) any { switch v := v.(*BurnBootloaderRequest); i { case 0: return &v.state @@ -1430,7 +1430,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[7].Exporter = func(v any, i int) any { switch v := v.(*BurnBootloaderResponse); i { case 0: return &v.state @@ -1442,7 +1442,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[8].Exporter = func(v any, i int) any { switch v := v.(*ListProgrammersAvailableForUploadRequest); i { case 0: return &v.state @@ -1454,7 +1454,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[9].Exporter = func(v any, i int) any { switch v := v.(*ListProgrammersAvailableForUploadResponse); i { case 0: return &v.state @@ -1466,7 +1466,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[10].Exporter = func(v any, i int) any { switch v := v.(*SupportedUserFieldsRequest); i { case 0: return &v.state @@ -1478,7 +1478,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[11].Exporter = func(v any, i int) any { switch v := v.(*UserField); i { case 0: return &v.state @@ -1490,7 +1490,7 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[12].Exporter = func(v any, i int) any { switch v := v.(*SupportedUserFieldsResponse); i { case 0: return &v.state @@ -1503,16 +1503,16 @@ func file_cc_arduino_cli_commands_v1_upload_proto_init() { } } } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[1].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[1].OneofWrappers = []any{ (*UploadResponse_OutStream)(nil), (*UploadResponse_ErrStream)(nil), (*UploadResponse_Result)(nil), } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[5].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[5].OneofWrappers = []any{ (*UploadUsingProgrammerResponse_OutStream)(nil), (*UploadUsingProgrammerResponse_ErrStream)(nil), } - file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[7].OneofWrappers = []interface{}{ + file_cc_arduino_cli_commands_v1_upload_proto_msgTypes[7].OneofWrappers = []any{ (*BurnBootloaderResponse_OutStream)(nil), (*BurnBootloaderResponse_ErrStream)(nil), } From c9c90df194af38c4632d8a550c2312be4b628a30 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 14 Jun 2024 15:30:20 +0200 Subject: [PATCH 212/361] [skip-changelog] Remove auto-update to homebrew from release workflow (#2639) --- .github/workflows/release-go-task.yml | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index d6545e0ab73..b6289912b14 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -298,10 +298,3 @@ jobs: - name: Upload release files on Arduino downloads servers run: aws s3 sync ${{ env.DIST_DIR }} s3://${{ secrets.DOWNLOADS_BUCKET }}${{ env.AWS_PLUGIN_TARGET }} - - - name: Update Homebrew formula - if: steps.prerelease.outputs.IS_PRE != 'true' - uses: dawidd6/action-homebrew-bump-formula@v3 - with: - token: ${{ secrets.ARDUINOBOT_GITHUB_TOKEN }} - formula: arduino-cli From 7219aa8ab2d32e91df62015dcb4a8c9c5c8ddec6 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 17 Jun 2024 15:32:44 +0200 Subject: [PATCH 213/361] Silence config warnings in text mode except for 'config ...' commands (#2641) --- main.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index fa29df9c148..3bf2fdd77be 100644 --- a/main.go +++ b/main.go @@ -76,8 +76,14 @@ func main() { if parentPreRun != nil { parentPreRun(cmd, args) } - for _, warning := range configFileLoadingWarnings { - feedback.Warning(warning) + + // In Text mode print the warnings about the configuration file + // only if we are inside the "config ..." command. In JSON mode always + // output the warning. + if feedback.GetFormat() != feedback.Text || (cmd.HasParent() && cmd.Parent().Name() == "config") { + for _, warning := range configFileLoadingWarnings { + feedback.Warning(fmt.Sprintf("%s: %s", i18n.Tr("Invalid value in configuration"), warning)) + } } } From 55753bdd00528a5bbced13a7f05f0fb6a3b7e7b4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Jun 2024 16:34:06 +0200 Subject: [PATCH 214/361] [skip changelog] Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 (#2642) * [skip changelog] Bump github.com/spf13/cobra from 1.8.0 to 1.8.1 Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.8.0 to 1.8.1. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v1.8.0...v1.8.1) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated licence cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml | 4 ++-- .licenses/go/github.com/spf13/cobra.dep.yml | 2 +- .licenses/go/github.com/spf13/cobra/doc.dep.yml | 6 +++--- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml b/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml index 07a78ed6c13..b54f9f66208 100644 --- a/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml +++ b/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cpuguy83/go-md2man/v2/md2man -version: v2.0.3 +version: v2.0.4 type: go summary: homepage: https://pkg.go.dev/github.com/cpuguy83/go-md2man/v2/md2man license: mit licenses: -- sources: v2@v2.0.3/LICENSE.md +- sources: v2@v2.0.4/LICENSE.md text: | The MIT License (MIT) diff --git a/.licenses/go/github.com/spf13/cobra.dep.yml b/.licenses/go/github.com/spf13/cobra.dep.yml index 92ca386ce15..4c4ee44eebe 100644 --- a/.licenses/go/github.com/spf13/cobra.dep.yml +++ b/.licenses/go/github.com/spf13/cobra.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/cobra -version: v1.8.0 +version: v1.8.1 type: go summary: Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. diff --git a/.licenses/go/github.com/spf13/cobra/doc.dep.yml b/.licenses/go/github.com/spf13/cobra/doc.dep.yml index a3a7cb068ea..9ba6a34eefc 100644 --- a/.licenses/go/github.com/spf13/cobra/doc.dep.yml +++ b/.licenses/go/github.com/spf13/cobra/doc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/cobra/doc -version: v1.8.0 +version: v1.8.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/cobra/doc license: apache-2.0 licenses: -- sources: cobra@v1.8.0/LICENSE.txt +- sources: cobra@v1.8.1/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,6 +182,6 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: cobra@v1.8.0/README.md +- sources: cobra@v1.8.1/README.md text: Cobra is released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) notices: [] diff --git a/go.mod b/go.mod index b44eb75a12a..601c77c4d5a 100644 --- a/go.mod +++ b/go.mod @@ -30,7 +30,7 @@ require ( github.com/rogpeppe/go-internal v1.12.0 github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 - github.com/spf13/cobra v1.8.0 + github.com/spf13/cobra v1.8.1 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.9.0 github.com/xeipuuv/gojsonschema v1.2.0 @@ -50,7 +50,7 @@ require ( github.com/Microsoft/go-winio v0.6.1 // indirect github.com/acomagu/bufpipe v1.0.3 // indirect github.com/cloudflare/circl v1.3.7 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.3 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/creack/goselect v0.1.2 // indirect github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect diff --git a/go.sum b/go.sum index 034d2ff431e..9446be8f173 100644 --- a/go.sum +++ b/go.sum @@ -35,8 +35,8 @@ github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/kmZI= github.com/codeclysm/extract/v3 v3.1.1 h1:iHZtdEAwSTqPrd+1n4jfhr1qBhUWtHlMTjT90+fJVXg= github.com/codeclysm/extract/v3 v3.1.1/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dHxfWuPaMhlOfQ= -github.com/cpuguy83/go-md2man/v2 v2.0.3 h1:qMCsGGgs+MAzDFyp9LpAe1Lqy/fY/qCovCm0qnXZOBM= -github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= @@ -178,8 +178,8 @@ github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= -github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= +github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= From 7d00b5be8550fa9275ad292b20fded35ea1b3ab8 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 18 Jun 2024 10:57:31 +0200 Subject: [PATCH 215/361] fix regression: setting 3rd party URL via ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS env var (#2645) --- internal/cli/configuration/defaults.go | 2 +- internal/go-configmap/cli.go | 39 ++++++++++++++++++- .../integrationtest/config/config_test.go | 29 ++++++++++++++ 3 files changed, 68 insertions(+), 2 deletions(-) diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index 953bd4762f5..b2437fb91af 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -84,7 +84,7 @@ func InjectEnvVars(settings *Settings) { // Bind env aliases to keep backward compatibility setIfEnvExists := func(key, env string) { if v, ok := os.LookupEnv(env); ok { - settings.SetFromCLIArgs(key, v) + settings.SetFromENV(key, v) } } setIfEnvExists("library.enable_unsafe_install", "ARDUINO_ENABLE_UNSAFE_LIBRARY_INSTALL") diff --git a/internal/go-configmap/cli.go b/internal/go-configmap/cli.go index d467cfc9c32..2e829191d6c 100644 --- a/internal/go-configmap/cli.go +++ b/internal/go-configmap/cli.go @@ -21,6 +21,43 @@ import ( "strings" ) +func (c *Map) SetFromENV(key string, arg string) error { + // in case of schemaless configuration, we don't know the type of the setting + // we will save it as a string + if len(c.schema) == 0 { + c.Set(key, arg) + return nil + } + + // Find the correct type for the given setting + valueType, ok := c.schema[key] + if !ok { + return fmt.Errorf("key not found: %s", key) + } + + var value any + { + var conversionError error + switch valueType.String() { + case "uint": + value, conversionError = strconv.Atoi(arg) + case "bool": + value, conversionError = strconv.ParseBool(arg) + case "string": + value = arg + case "[]string": + value = strings.Split(arg, " ") + default: + return fmt.Errorf("unhandled type: %s", valueType) + } + if conversionError != nil { + return fmt.Errorf("error setting value: %v", conversionError) + } + } + + return c.Set(key, value) +} + func (c *Map) SetFromCLIArgs(key string, args ...string) error { if len(args) == 0 { c.Delete(key) @@ -101,7 +138,7 @@ func (c *Map) InjectEnvVars(env []string, prefix string) []error { } // Update the configuration value - if err := c.SetFromCLIArgs(key, envValue); err != nil { + if err := c.SetFromENV(key, envValue); err != nil { errs = append(errs, err) } } diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 5ed5145dd62..6e57eebf72f 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -902,3 +902,32 @@ build.unk: 123 require.NoError(t, err) require.Equal(t, "en", strings.TrimSpace(string(out))) } + +func TestConfigViaEnvVars(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + // array of strings + out, _, err := cli.RunWithCustomEnv( + map[string]string{"ARDUINO_BOARD_MANAGER_ADDITIONAL_URLS": "https://espressif.github.io/arduino-esp32/package_esp32_index.json https://arduino.esp8266.com/stable/package_esp8266com_index.json"}, + "config", "get", "board_manager.additional_urls", + ) + require.NoError(t, err) + require.Equal(t, "- https://espressif.github.io/arduino-esp32/package_esp32_index.json\n- https://arduino.esp8266.com/stable/package_esp8266com_index.json\n\n", string(out)) + + // boolean + out, _, err = cli.RunWithCustomEnv( + map[string]string{"ARDUINO_LIBRARY_ENABLE_UNSAFE_INSTALL": "True"}, + "config", "get", "library.enable_unsafe_install", + ) + require.NoError(t, err) + require.Equal(t, "true\n\n", string(out)) + + // integer + out, _, err = cli.RunWithCustomEnv( + map[string]string{"ARDUINO_BUILD_CACHE_COMPILATIONS_BEFORE_PURGE": "20"}, + "config", "get", "build_cache.compilations_before_purge", + ) + require.NoError(t, err) + require.Equal(t, "20\n\n", string(out)) +} From 590e73bf0412a30780298415180ee085e8d27a07 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Jun 2024 20:57:13 +0200 Subject: [PATCH 216/361] [skip-changelog] Updated translation files (#2649) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 4 ++ internal/i18n/data/be.po | 4 ++ internal/i18n/data/de.po | 94 +++++++++++++++++++++++-------------- internal/i18n/data/es.po | 4 ++ internal/i18n/data/fr.po | 4 ++ internal/i18n/data/he.po | 4 ++ internal/i18n/data/it_IT.po | 4 ++ internal/i18n/data/ja.po | 4 ++ internal/i18n/data/ko.po | 4 ++ internal/i18n/data/lb.po | 4 ++ internal/i18n/data/pl.po | 4 ++ internal/i18n/data/pt.po | 4 ++ internal/i18n/data/ru.po | 4 ++ internal/i18n/data/zh.po | 4 ++ internal/i18n/data/zh_TW.po | 4 ++ 15 files changed, 115 insertions(+), 35 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index 7f5b7d9fac7..a0fb2a28466 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -1402,6 +1402,10 @@ msgstr "وصفة غير صالحة ضمن platform.txt" msgid "Invalid size regexp: %s" msgstr "size regexp غير صالح : %s" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "نسخة غير صالحة" diff --git a/internal/i18n/data/be.po b/internal/i18n/data/be.po index 094c595c1cf..1705c91f91f 100644 --- a/internal/i18n/data/be.po +++ b/internal/i18n/data/be.po @@ -1353,6 +1353,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 8f91920062b..e9842380432 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -9,10 +9,11 @@ # Luc Ohles, 2023 # Jannis Lämmle, 2023 # Jens Wulf, 2023 +# Ralf Krause, 2024 # msgid "" msgstr "" -"Last-Translator: Jens Wulf, 2023\n" +"Last-Translator: Ralf Krause, 2024\n" "Language-Team: German (https://app.transifex.com/arduino-1/teams/108174/de/)\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -357,7 +358,7 @@ msgstr "Absoluter Pfad %v wurde nicht gefunden" #: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 #: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Der Konfigurationsschlüssel %[1]s kann nicht abgerufen werden: %[2]v" #: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" @@ -374,7 +375,7 @@ msgstr "Port-Reset konnte nicht ausgeführt werden: %s" #: internal/cli/config/add.go:75 internal/cli/config/add.go:77 #: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Der Konfigurationsschlüssel %[1]s kann nicht entfernt werden: %[2]v" #: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" @@ -391,6 +392,8 @@ msgstr "Prüfe die die Abhängigkeiten für die angegebene Bibliothek." #: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" +"Prüfung, ob die angegebene Board-/Programmer--Kombination das Debugging " +"unterstützt." #: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" @@ -477,7 +480,7 @@ msgstr "Verbunden" #: internal/cli/monitor/monitor.go:241 msgid "Connecting to %s. Press CTRL-C to exit." -msgstr "" +msgstr "Verbindung zu %s wird hergestellt. Abbrechen mit STRG-C." #: internal/cli/board/list.go:102 internal/cli/board/list.go:140 msgid "Core" @@ -578,7 +581,7 @@ msgstr "Standard-Port gesetzt auf" #: internal/cli/board/attach.go:116 msgid "Default programmer set to" -msgstr "" +msgstr "Standardmäßiger Programmer ist gesetzt auf" #: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." @@ -589,6 +592,8 @@ msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" +"Inhalt des Download-Caches löschen, in dem während der Installation von " +"Bibliotheken und Boards die Archivdateien gespeichert werden." #: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." @@ -669,6 +674,8 @@ msgstr "Den Daemon-Prozess nicht mit dem Elternprozess beenden." #: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" +"Keine Bibliotheksabhängigkeiten aktualisieren, wenn diese bereits " +"installiert sind." #: commands/service_library_download.go:88 msgid "Downloading %s" @@ -759,7 +766,7 @@ msgstr "Fehler beim Kopieren der Ausgabedatei %s" #: internal/cli/config/init.go:120 internal/cli/config/init.go:134 #: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" -msgstr "" +msgstr "Fehler beim Erstellen der Konfiguration: %v" #: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" @@ -1021,7 +1028,7 @@ msgstr "Fehler beim Setzen des \"Raw-Mode\": %s" #: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" -msgstr "" +msgstr "Fehler beim Einstellen des Wertes: %v" #: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" @@ -1065,7 +1072,7 @@ msgstr "Fehler beim Schreiben der Kompilierungsdatenbank: %s" #: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" -msgstr "" +msgstr "Fehler beim Schreiben in die Datei: %v" #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" @@ -1236,7 +1243,7 @@ msgstr "Funktionsprototypen werden generiert ..." #: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." -msgstr "" +msgstr "Einstellungsschlüsselwert abrufen" #: internal/cli/usage.go:27 msgid "Global Flags:" @@ -1359,7 +1366,7 @@ msgstr "Ungültige zusätzliche URL: %v" #: internal/arduino/resources/index.go:111 msgid "Invalid archive: file %[1]s not found in archive %[2]s" -msgstr "" +msgstr "Ungültiges Archiv: Datei %[1]s nicht im Archiv %[2]s gefunden" #: internal/cli/core/download.go:59 internal/cli/core/install.go:66 #: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 @@ -1381,7 +1388,7 @@ msgstr "Ungültige EEPROM-Größe: %s" #: commands/instances.go:597 msgid "Invalid index URL: %s" -msgstr "" +msgstr "Ungültige Index-URL: %s" #: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" @@ -1397,11 +1404,11 @@ msgstr "Ungültige Bibliothek" #: internal/cli/cli.go:262 msgid "Invalid logging level: %s" -msgstr "" +msgstr "Ungültiger Protokoll-Level: %s" #: commands/instances.go:614 msgid "Invalid network configuration: %s" -msgstr "" +msgstr "Ungültige Netzwerk-Konfiguration: %s" #: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" @@ -1435,6 +1442,10 @@ msgstr "Ungültige Vorlage in platform.txt" msgid "Invalid size regexp: %s" msgstr "Ungültige Größe regexp: %s" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "Ungültiger Wert in der Konfiguration" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Ungültige Version" @@ -1591,6 +1602,8 @@ msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" +"Maximale Anzahl paralleler Compiler-Prozesse. Wenn der Wert auf 0 gesetzt " +"ist, wird die Anzahl der verfügbaren CPU-Kerne verwendet." #: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" @@ -1671,7 +1684,7 @@ msgstr "Keine Platinen gefunden." #: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" -msgstr "" +msgstr "Kein standardmäßiger Port, FQBN oder Programmer gesetzt" #: internal/cli/lib/examples.go:108 msgid "No libraries found." @@ -1987,7 +2000,7 @@ msgstr "Gebe die logs auf der Standardausgabe aus." #: internal/cli/cli.go:180 msgid "Print the output in JSON format." -msgstr "" +msgstr "Ausgabe im JSON-Format schreiben" #: internal/cli/config/dump.go:31 msgid "Prints the current configuration" @@ -2051,7 +2064,7 @@ msgstr "Starten im stillen Modus, zeige nur die Monitorein- und -ausgaben" #: internal/cli/daemon/daemon.go:50 msgid "Run the Arduino CLI as a gRPC daemon." -msgstr "" +msgstr "Arduino-CLI als gRPC-Daemon ausführen" #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." @@ -2207,6 +2220,9 @@ msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +"Standardwerte für Port und FQBN festlegen. Wenn kein Port, FQBN oder " +"Programmer angegeben sind, werden der aktuelle Standardport, FQBN und " +"Programmer angezeigt." #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." @@ -2219,6 +2235,8 @@ msgstr "Einstellung" #: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" +"Eine Hilfemeldung sollte angezeigt werden, ist aber nur im TEXT-Modus " +"verfügbar." #: internal/cli/core/search.go:48 msgid "Show all available core versions." @@ -2414,6 +2432,8 @@ msgstr "TCP-Port, der vom Daemon überwacht wird" #: internal/cli/cli.go:177 msgid "The command output format, can be: %s" msgstr "" +"Das Ausgabeformat für Befehle kann sein:\n" +"%s " #: internal/cli/cli.go:186 msgid "The custom config file (if not specified the default will be used)." @@ -2428,14 +2448,16 @@ msgstr "Das Flag --debug-file muss mit --debug benutzt werden." #: internal/cli/debug/debug_check.go:89 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" +"Die angegebene Board-/Programmer-Konfiguration unterstützt kein Debugging." #: internal/cli/debug/debug_check.go:87 msgid "The given board/programmer configuration supports debugging." msgstr "" +"Die angegebene Board-/Programmer-Konfiguration unterstützt das Debugging." #: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" -msgstr "" +msgstr "Die Instanz ist nicht mehr gültig und muss neu initialisiert werden." #: internal/cli/config/add.go:57 msgid "" @@ -2967,11 +2989,11 @@ msgstr "Hash berechnen: %s" #: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" -msgstr "" +msgstr "Konfigurationsschlüssel %s enthält ein ungültiges Zeichen" #: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" -msgstr "" +msgstr "Konfigurationswert %s enthält ein ungültiges Zeichen" #: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" @@ -3029,7 +3051,7 @@ msgstr "Verzeichnis existiert nicht: %s" #: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 msgid "discovery %[1]s process not started" -msgstr "" +msgstr "Erkennungsprozess %[1]s nicht gestartet" #: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" @@ -3085,7 +3107,7 @@ msgstr "Fehler bei der Abfrage der Arduino Cloud Api" #: internal/arduino/libraries/librariesmanager/install.go:179 msgid "extracting archive" -msgstr "" +msgstr "Archiv entpacken" #: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" @@ -3137,15 +3159,15 @@ msgstr "für die jeweilige Version." #: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" -msgstr "" +msgstr "FQBN-Feld %s enthält ein ungültiges Zeichen" #: internal/inventory/inventory.go:67 msgid "generating installation.id" -msgstr "" +msgstr "Installations-ID generieren" #: internal/inventory/inventory.go:73 msgid "generating installation.secret" -msgstr "" +msgstr "Installations-Secret generieren" #: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" @@ -3279,10 +3301,12 @@ msgstr "Ungültige Option '%s'." #: internal/inventory/inventory.go:92 msgid "invalid path creating config dir: %[1]s error" msgstr "" +"Fehler. Ungültiger Pfad beim Erstellen des Konfigurationsverzeichnisses: " +"%[1]s" #: internal/inventory/inventory.go:98 msgid "invalid path writing inventory file: %[1]s error" -msgstr "" +msgstr "Fehler. Ungültiger Pfad beim Schreiben der Inventardatei: %[1]s" #: internal/arduino/cores/packageindex/index.go:277 msgid "invalid platform archive size: %s" @@ -3420,7 +3444,7 @@ msgstr "suche nach boards.txt in %s" #: commands/service_upload.go:779 msgid "looking for build artifacts" -msgstr "" +msgstr "Suche nach Build-Artefakten" #: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" @@ -3516,7 +3540,7 @@ msgstr "" #: internal/arduino/cores/fqbn.go:50 msgid "not an FQBN: %s" -msgstr "" +msgstr "kein FQBN: %s" #: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" @@ -3599,7 +3623,7 @@ msgstr "Port nicht gefunden: %[1]s %[2]s" #: internal/cli/board/attach.go:35 msgid "programmer" -msgstr "" +msgstr "Programmer" #: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" @@ -3611,7 +3635,7 @@ msgstr "Verzeichnis %[1]s wird gelesen: %[2]s" #: internal/arduino/libraries/loader.go:199 msgid "reading directory %[1]s content" -msgstr "" +msgstr "Verzeichnisinhalt lesen %[1]s" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 @@ -3622,7 +3646,7 @@ msgstr "Verzeichnis %s wird gelesen" #: internal/arduino/libraries/librariesmanager/install.go:288 msgid "reading directory %s content" -msgstr "" +msgstr "Verzeichnisinhalt lesen %s" #: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" @@ -3630,7 +3654,7 @@ msgstr "Datei %[1]s wird gelesen: %[2]s" #: internal/arduino/sketch/sketch.go:198 msgid "reading files" -msgstr "" +msgstr "Dateien lesen" #: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" @@ -3638,11 +3662,11 @@ msgstr "Lese Bibliotheks-Header: %s" #: internal/arduino/libraries/libraries.go:115 msgid "reading library headers" -msgstr "" +msgstr "Bibliotheks-Header lesen" #: internal/arduino/libraries/libraries.go:227 msgid "reading library source directory: %s" -msgstr "" +msgstr "Bibliotheksquellverzeichnis lesen %s" #: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" @@ -3654,7 +3678,7 @@ msgstr "Lese Paketstammverzeichnis: %s" #: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" -msgstr "" +msgstr "Sketch-Dateien lesen" #: commands/service_upload.go:697 msgid "recipe not found '%s'" @@ -3692,7 +3716,7 @@ msgstr "Abrufen der öffentlichen Arduino-Schlüssel: %s" #: internal/arduino/libraries/loader.go:117 #: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" -msgstr "" +msgstr "Sketch-Beispiele durchsuchen" #: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index c80d9853b58..9c90e18bb8c 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -1386,6 +1386,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Versión inválida" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index d82a8509014..462d3740569 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -1364,6 +1364,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index 48dddfc41a0..1f38647f33e 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -1357,6 +1357,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index 6d691f2482d..fef4e883c96 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -1486,6 +1486,10 @@ msgstr "Scrittura non valida in platform.txt" msgid "Invalid size regexp: %s" msgstr "La dimensione della regexp non è valida: %s" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Versione non è valida" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 159a7e585a8..9c14609097f 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -1360,6 +1360,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index e966d20453b..af16ee33746 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -1358,6 +1358,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index 40142b4f210..f8cbaa959e5 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -1357,6 +1357,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Ongülteg Versioun" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index b64f0193812..bd5ec26337a 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -1362,6 +1362,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index 2a534ac1561..0eaa6d2ab64 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -1411,6 +1411,10 @@ msgstr "Receita inválida em platform.txt" msgid "Invalid size regexp: %s" msgstr "Tamanho de regexp inválido: %s" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "Versão inválida" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 55fad1d4374..19405ab1d7c 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -1362,6 +1362,10 @@ msgstr "" msgid "Invalid size regexp: %s" msgstr "" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index 5ad9a21eb60..d91e3ef5034 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -1361,6 +1361,10 @@ msgstr "platform.txt 中的方法无效" msgid "Invalid size regexp: %s" msgstr "无效的大小正则表达式:%s" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "无效的版本" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 594c66ea6dc..3d24026214c 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -1357,6 +1357,10 @@ msgstr "platform.txt 中的方法無效" msgid "Invalid size regexp: %s" msgstr "無效的大小正規表示式: %s" +#: main.go:85 +msgid "Invalid value in configuration" +msgstr "" + #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" msgstr "無效的版本" From 850f22a88586d66cc07c67e79e413456633b8671 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 24 Jun 2024 11:32:57 +0200 Subject: [PATCH 217/361] regression: allow `monitor` to not require to specify the board if the port cannot be identified. (#2647) * Allow default monitor settings if board can't be detected * Improved messages at monitor startup * Moving variable near their usage location * Do not show warnings if the configs are provided by the user * Added a couple of examples in the help --- internal/cli/arguments/fqbn.go | 4 +-- internal/cli/arguments/port.go | 14 ++++---- internal/cli/monitor/monitor.go | 60 +++++++++++++++++++++------------ 3 files changed, 48 insertions(+), 30 deletions(-) diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index a721c85d19f..7783cdaf69a 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -80,8 +80,8 @@ func CalculateFQBNAndPort(ctx context.Context, portArgs *Port, fqbnArg *Fqbn, in if portArgs == nil || portArgs.address == "" { feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } - fqbn, port := portArgs.DetectFQBN(ctx, instance, srv) - if fqbn == "" { + fqbn, port, err := portArgs.DetectFQBN(ctx, instance, srv) + if err != nil { feedback.FatalError(&cmderrors.MissingFQBNError{}, feedback.ErrGeneric) } return fqbn, port diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index a9b94457e6b..885423243f4 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -18,12 +18,12 @@ package arguments import ( "context" "errors" + "fmt" "time" "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" f "github.com/arduino/arduino-cli/internal/algorithms" - "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" @@ -132,13 +132,13 @@ func (p *Port) GetSearchTimeout() time.Duration { // DetectFQBN tries to identify the board connected to the port and returns the // discovered Port object together with the FQBN. If the port does not match // exactly 1 board, -func (p *Port) DetectFQBN(ctx context.Context, inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) (string, *rpc.Port) { +func (p *Port) DetectFQBN(ctx context.Context, inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) (string, *rpc.Port, error) { detectedPorts, err := srv.BoardList(ctx, &rpc.BoardListRequest{ Instance: inst, Timeout: p.timeout.Get().Milliseconds(), }) if err != nil { - feedback.Fatal(i18n.Tr("Error during FQBN detection: %v", err), feedback.ErrGeneric) + return "", nil, fmt.Errorf("%s: %w", i18n.Tr("Error during board detection"), err) } for _, detectedPort := range detectedPorts.GetPorts() { port := detectedPort.GetPort() @@ -149,14 +149,14 @@ func (p *Port) DetectFQBN(ctx context.Context, inst *rpc.Instance, srv rpc.Ardui continue } if len(detectedPort.GetMatchingBoards()) > 1 { - feedback.FatalError(&cmderrors.MultipleBoardsDetectedError{Port: port}, feedback.ErrBadArgument) + return "", nil, &cmderrors.MultipleBoardsDetectedError{Port: port} } if len(detectedPort.GetMatchingBoards()) == 0 { - feedback.FatalError(&cmderrors.NoBoardsDetectedError{Port: port}, feedback.ErrBadArgument) + return "", nil, &cmderrors.NoBoardsDetectedError{Port: port} } - return detectedPort.GetMatchingBoards()[0].GetFqbn(), port + return detectedPort.GetMatchingBoards()[0].GetFqbn(), port, nil } - return "", nil + return "", nil, &cmderrors.NoBoardsDetectedError{Port: &rpc.Port{Address: p.address, Protocol: p.protocol}} } // IsPortFlagSet returns true if the port address is provided diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index 3ee32524256..e0cc0ffde41 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -19,9 +19,9 @@ import ( "bytes" "context" "errors" - "fmt" "io" "os" + "slices" "sort" "strings" "time" @@ -34,6 +34,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-properties-orderedmap" "github.com/fatih/color" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -58,6 +59,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Long: i18n.Tr("Open a communication port with a board."), Example: "" + " " + os.Args[0] + " monitor -p /dev/ttyACM0\n" + + " " + os.Args[0] + " monitor -p /dev/ttyACM0 -b arduino:avr:uno\n" + + " " + os.Args[0] + " monitor -p /dev/ttyACM0 --config 115200\n" + " " + os.Args[0] + " monitor -p /dev/ttyACM0 --describe", Run: func(cmd *cobra.Command, args []string) { sketchPath := "" @@ -89,13 +92,6 @@ func runMonitorCmd( quiet = true } - var ( - inst *rpc.Instance - profile *rpc.SketchProfile - fqbn string - defaultPort, defaultProtocol string - ) - // Flags takes maximum precedence over sketch.yaml // If {--port --fqbn --profile} are set we ignore the profile. // If both {--port --profile} are set we read the fqbn in the following order: profile -> default_fqbn -> discovery @@ -110,9 +106,9 @@ func runMonitorCmd( ) } sketch := resp.GetSketch() - if sketch != nil { - defaultPort, defaultProtocol = sketch.GetDefaultPort(), sketch.GetDefaultProtocol() - } + + var inst *rpc.Instance + var profile *rpc.SketchProfile if fqbnArg.String() == "" { if profileArg.Get() == "" { inst, profile = instance.CreateAndInitWithProfile(ctx, srv, sketch.GetDefaultProfile().GetName(), sketchPath) @@ -123,11 +119,13 @@ func runMonitorCmd( if inst == nil { inst = instance.CreateAndInit(ctx, srv) } + // Priority on how to retrieve the fqbn // 1. from flag // 2. from profile // 3. from default_fqbn specified in the sketch.yaml // 4. try to detect from the port + var fqbn string switch { case fqbnArg.String() != "": fqbn = fqbnArg.String() @@ -136,15 +134,19 @@ func runMonitorCmd( case sketch.GetDefaultFqbn() != "": fqbn = sketch.GetDefaultFqbn() default: - fqbn, _ = portArgs.DetectFQBN(ctx, inst, srv) + fqbn, _, _ = portArgs.DetectFQBN(ctx, inst, srv) } + var defaultPort, defaultProtocol string + if sketch != nil { + defaultPort, defaultProtocol = sketch.GetDefaultPort(), sketch.GetDefaultProtocol() + } portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(ctx, inst, srv, defaultPort, defaultProtocol) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } - enumerateResp, err := srv.EnumerateMonitorPortSettings(ctx, &rpc.EnumerateMonitorPortSettingsRequest{ + defaultSettings, err := srv.EnumerateMonitorPortSettings(ctx, &rpc.EnumerateMonitorPortSettingsRequest{ Instance: inst, PortProtocol: portProtocol, Fqbn: fqbn, @@ -153,14 +155,19 @@ func runMonitorCmd( feedback.Fatal(i18n.Tr("Error getting port settings details: %s", err), feedback.ErrGeneric) } if describe { - settings := make([]*result.MonitorPortSettingDescriptor, len(enumerateResp.GetSettings())) - for i, v := range enumerateResp.GetSettings() { + settings := make([]*result.MonitorPortSettingDescriptor, len(defaultSettings.GetSettings())) + for i, v := range defaultSettings.GetSettings() { settings[i] = result.NewMonitorPortSettingDescriptor(v) } feedback.PrintResult(&detailsResult{Settings: settings}) return } + actualConfigurationLabels := properties.NewMap() + for _, setting := range defaultSettings.GetSettings() { + actualConfigurationLabels.Set(setting.GetSettingId(), setting.GetValue()) + } + configuration := &rpc.MonitorPortConfiguration{} if len(configs) > 0 { for _, config := range configs { @@ -173,7 +180,7 @@ func runMonitorCmd( } var setting *rpc.MonitorPortSettingDescriptor - for _, s := range enumerateResp.GetSettings() { + for _, s := range defaultSettings.GetSettings() { if k == "" { if contains(s.GetEnumValues(), v) { setting = s @@ -196,10 +203,7 @@ func runMonitorCmd( SettingId: setting.GetSettingId(), Value: v, }) - if !quiet { - feedback.Print(i18n.Tr("Monitor port settings:")) - feedback.Print(fmt.Sprintf("%s=%s", setting.GetSettingId(), v)) - } + actualConfigurationLabels.Set(setting.GetSettingId(), v) } } @@ -229,7 +233,6 @@ func runMonitorCmd( } ttyIn = io.TeeReader(ttyIn, ctrlCDetector) } - monitorServer, portProxy := commands.MonitorServerToReadWriteCloser(ctx, &rpc.MonitorPortOpenRequest{ Instance: inst, Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, @@ -238,6 +241,21 @@ func runMonitorCmd( }) go func() { if !quiet { + if len(configs) == 0 { + if fqbn != "" { + feedback.Print(i18n.Tr("Using default monitor configuration for board: %s", fqbn)) + } else if portProtocol == "serial" { + feedback.Print(i18n.Tr("Using generic monitor configuration.\nWARNING: Your board may require different settings to work!\n")) + } + } + feedback.Print(i18n.Tr("Monitor port settings:")) + keys := actualConfigurationLabels.Keys() + slices.Sort(keys) + for _, k := range keys { + feedback.Printf(" %s=%s", k, actualConfigurationLabels.Get(k)) + } + feedback.Print("") + feedback.Print(i18n.Tr("Connecting to %s. Press CTRL-C to exit.", portAddress)) } if err := srv.Monitor(monitorServer); err != nil { From 80c463f349da9e28bf1f2b102b5bd3c2a01d2da4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 27 Jun 2024 11:51:18 +0200 Subject: [PATCH 218/361] Changed license of .protoc definitions to Apache-2.0 (#2653) * Changed license of .protoc definition to Apache-2.0 * Added also non-generated .go files --- rpc/LICENSE.txt | 202 ++++++++++++++++++ rpc/cc/arduino/cli/commands/v1/board.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/board.proto | 21 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/commands.proto | 21 +- .../cli/commands/v1/commands_grpc.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/common.go | 21 +- rpc/cc/arduino/cli/commands/v1/common.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/common.proto | 21 +- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/compile.proto | 21 +- rpc/cc/arduino/cli/commands/v1/core.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/core.proto | 21 +- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/debug.proto | 21 +- rpc/cc/arduino/cli/commands/v1/lib.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/lib.proto | 21 +- rpc/cc/arduino/cli/commands/v1/monitor.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/monitor.proto | 21 +- rpc/cc/arduino/cli/commands/v1/port.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/port.proto | 21 +- rpc/cc/arduino/cli/commands/v1/settings.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/settings.proto | 21 +- rpc/cc/arduino/cli/commands/v1/upload.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/upload.proto | 21 +- 25 files changed, 466 insertions(+), 240 deletions(-) create mode 100644 rpc/LICENSE.txt diff --git a/rpc/LICENSE.txt b/rpc/LICENSE.txt new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/rpc/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 653b35c5e22..7fb7f583b2a 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/board.proto b/rpc/cc/arduino/cli/commands/v1/board.proto index 46a48c945f7..8120f956b5d 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.proto +++ b/rpc/cc/arduino/cli/commands/v1/board.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 50c4b8acc95..4e7675c5a34 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index ce5aba9ed91..8b3894e610e 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index b91e934cef8..45e55002d87 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/common.go b/rpc/cc/arduino/cli/commands/v1/common.go index 2e1464c3fb9..61a6f7a3d89 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.go +++ b/rpc/cc/arduino/cli/commands/v1/common.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. package commands diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 97798337650..47f4b1e3ba1 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 1c92e0f2a21..8c166ee13e4 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index d0662790339..80a6b9fd997 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index a51810d1980..5a103c6f5bf 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/core.pb.go b/rpc/cc/arduino/cli/commands/v1/core.pb.go index 971700820e4..8641b8fe860 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/core.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/core.proto b/rpc/cc/arduino/cli/commands/v1/core.proto index a1f0325c4e3..19210075891 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.proto +++ b/rpc/cc/arduino/cli/commands/v1/core.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index a393372c221..433d008ea69 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2023 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 2f022fd7a35..208d91d7cb7 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2023 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/lib.pb.go b/rpc/cc/arduino/cli/commands/v1/lib.pb.go index dd631ff452e..10f95317c0b 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/lib.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/lib.proto b/rpc/cc/arduino/cli/commands/v1/lib.proto index 17e157f6b7c..cf43fc36082 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.proto +++ b/rpc/cc/arduino/cli/commands/v1/lib.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go index 1b535e5e12f..d931321480f 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.proto b/rpc/cc/arduino/cli/commands/v1/monitor.proto index dbda9635610..a7bffc1431f 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.proto +++ b/rpc/cc/arduino/cli/commands/v1/monitor.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/port.pb.go b/rpc/cc/arduino/cli/commands/v1/port.pb.go index 5a6add06bc4..4b9642c74ac 100644 --- a/rpc/cc/arduino/cli/commands/v1/port.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/port.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2021 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/port.proto b/rpc/cc/arduino/cli/commands/v1/port.proto index 1a077a1df5a..ca103b7e1d1 100644 --- a/rpc/cc/arduino/cli/commands/v1/port.proto +++ b/rpc/cc/arduino/cli/commands/v1/port.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2021 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/settings.pb.go b/rpc/cc/arduino/cli/commands/v1/settings.pb.go index 4a120aef7d8..073ce65dcad 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/settings.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/settings.proto b/rpc/cc/arduino/cli/commands/v1/settings.proto index c55a2c122f3..852830d0084 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.proto +++ b/rpc/cc/arduino/cli/commands/v1/settings.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; diff --git a/rpc/cc/arduino/cli/commands/v1/upload.pb.go b/rpc/cc/arduino/cli/commands/v1/upload.pb.go index b1ad75dae3a..be4585257ed 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/upload.pb.go @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. // Code generated by protoc-gen-go. DO NOT EDIT. // versions: diff --git a/rpc/cc/arduino/cli/commands/v1/upload.proto b/rpc/cc/arduino/cli/commands/v1/upload.proto index b2d3d5bc93f..2639ff24399 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.proto +++ b/rpc/cc/arduino/cli/commands/v1/upload.proto @@ -1,17 +1,18 @@ // This file is part of arduino-cli. // -// Copyright 2020 ARDUINO SA (http://www.arduino.cc/) +// Copyright 2024 ARDUINO SA (https://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 +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at // -// 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. +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. syntax = "proto3"; From 7a4f716ba3e4a347e5ac5715df4cb1995d971558 Mon Sep 17 00:00:00 2001 From: per1234 <accounts@perglass.com> Date: Thu, 27 Jun 2024 22:19:45 -0700 Subject: [PATCH 219/361] [skip changelog] Correct format of `upload_port` identification properties in snippet (#2655) The platform developer can associate port properties with a board definition in order to cause Arduino CLI to identify ports having those properties as that board. The list format is supported for these platform properties in order to allow multiple alternative port property sets to be associated. The platform property must have the format `upload_port.n.<property ID>` (where "n" is the array index of the port property set). Although the platform property format is correctly documented in the Arduino Platform Specification, an incorrect format `upload_port.<property ID>.n` was previously used in the boards.txt snippet illustrating the use of the platform properties. --- docs/platform-specification.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/platform-specification.md b/docs/platform-specification.md index fce10932c4a..11b21249bd1 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -547,14 +547,14 @@ will be used to identify a board by the discovery process when plugged in. For example we could declare a series of `upload_port.vid` and `upload_port.pid` properties for the Uno like so: ``` -uno.upload_port.vid.0=0x2341 -uno.upload_port.pid.0=0x0043 -uno.upload_port.vid.1=0x2341 -uno.upload_port.pid.1=0x0001 -uno.upload_port.vid.2=0x2A03 -uno.upload_port.pid.2=0x0043 -uno.upload_port.vid.3=0x2341 -uno.upload_port.pid.3=0x0243 +uno.upload_port.0.vid=0x2341 +uno.upload_port.0.pid=0x0043 +uno.upload_port.1.vid=0x2341 +uno.upload_port.1.pid=0x0001 +uno.upload_port.2.vid=0x2A03 +uno.upload_port.2.pid=0x0043 +uno.upload_port.3.vid=0x2341 +uno.upload_port.3.pid=0x0243 ``` In this case we're using the board's USB VID/PID pair to identify it but `upload_port.*` properties can be anything that From 33dfa8e8553369ccc99d27a0f0ecfa53b44ffbdc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:51:15 +0200 Subject: [PATCH 220/361] [skip-changelog] Updated translation files (#2650) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/be.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/de.po | 58 +++++++++++++++++++++++-------------- internal/i18n/data/es.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/fr.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/he.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/it_IT.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/ja.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/ko.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/lb.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/pl.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/pt.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/ru.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/zh.po | 54 ++++++++++++++++++++-------------- internal/i18n/data/zh_TW.po | 56 ++++++++++++++++++++--------------- 15 files changed, 485 insertions(+), 331 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index a0fb2a28466..fc4fbc66246 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -447,7 +447,7 @@ msgstr "تمت كتابة ملف التهيئة في : %s" msgid "Configuration options for %s" msgstr "اعدادات الضبط ل %s" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -465,7 +465,7 @@ msgstr "جار تهيئة الاداة" msgid "Connected" msgstr "متصل" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -551,7 +551,7 @@ msgstr "مترجم التصحيح على سبيل المثال : %s" msgid "Debugging not supported for board %s" msgstr "تصحيح الاخطاء (Debugging) غير مدعوم للوحة %s" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "إفتراضي" @@ -799,10 +799,6 @@ msgstr "خطا اثناء تنزيل الاداة %s" msgid "Error during Debug: %v" msgstr "خطا اثناء التصحيح : %v" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "خطا اثناء اكتشاف FBQN : %v" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" @@ -814,6 +810,10 @@ msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "خطأ اثناء بناء : %v" @@ -855,7 +855,7 @@ msgstr "خطأ اثناء الحصول على معلومات اللوحة %v" msgid "Error getting current directory for compilation database: %s" msgstr "خطأ اثناء الحصول على المسار الحالي من اجل قاعدة بيانات الترجمة %s" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -873,7 +873,7 @@ msgstr "خطا اثناء جلب بيانات المكتبة : %v" msgid "Error getting port metadata: %v" msgstr "خطأ اثناء جلب البيانات الوصفية (metadata) للمنفذ : %v" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" "خطأ اثناء الحصول على بيانات اعدادات المنفذ (port settings details) : %s" @@ -999,7 +999,7 @@ msgstr "" "تعذر القيام بسلسلة قاعدة بيانات الترجمة (Error serializing compilation " "database) : %s" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1224,7 +1224,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "المتغيرات العامة تستخدم %[1]s بايت من الذاكرة المتغيرة." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1610,7 +1610,7 @@ msgstr "مسار السكتش مفقود" msgid "Monitor '%s' not found" msgstr "المراقب '%s' غير موجود" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "اعدادات منفذ المراقبة " @@ -1712,7 +1712,7 @@ msgstr "" "ازالة تفاصيل المكتبة في كل النسخ عدا اخر نسخة (يعطي اخراج json مضغوط بشكل " "اكبر)" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "فتح منفذ تواصل مع اللوحة" @@ -1921,7 +1921,7 @@ msgstr "" msgid "Port" msgstr "منفذ" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "المنفذ %v مغلق" @@ -2006,7 +2006,7 @@ msgstr "استبدال المنصة %[1]s بـ %[2]s" msgid "Required tool:" msgstr "الادوات المطلوبة :" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "التشغيل ضمن الوضع الصامت , يظهر فقط شاشة الادخال و الاخراج " @@ -2122,7 +2122,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "تحديد مكان حفظ ملف الضبط" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "اعداد" @@ -2152,7 +2152,7 @@ msgstr "" msgid "Show all available core versions." msgstr "اظهار كل النوى المتوفرة" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "اظهار كل اعدادات منفذ التواصل" @@ -2422,7 +2422,7 @@ msgstr "" "هذا الامر يظهر قائمة النوى و/أو المكتبات المثبتة التي يمكن ترقيتها. اذا لم " "يوجد اي شيء يحتاج للتحديث فالخرج سيكون فارغا" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2649,6 +2649,16 @@ msgstr "يتم استخدام توابع المكتبة التي تم تخزين msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام النواة '%[1]s' من منصة داخل الملف %[2]s " +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "استخدام المكتبة %[1]s الإصدار %[2]s في المجلد: %[3]s %[4]s" @@ -2679,7 +2689,7 @@ msgstr "النسخة" msgid "VERSION_NUMBER" msgstr "رقم النسخة" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "القيم" @@ -3183,11 +3193,11 @@ msgstr "عنوان url لفهرس المنصة غير صالح" msgid "invalid pluggable monitor reference: %s" msgstr "مرجع الشاشة القابلة للوصل غير صالح : %s" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "قيمة الضبط الخاصة بالمنفذ غير صالحة : %s:%s" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "اعدادات الضبط للمنفذ غير صالحة" diff --git a/internal/i18n/data/be.po b/internal/i18n/data/be.po index 1705c91f91f..a63c5d200dd 100644 --- a/internal/i18n/data/be.po +++ b/internal/i18n/data/be.po @@ -423,7 +423,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -441,7 +441,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -523,7 +523,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "" @@ -764,10 +764,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -779,6 +775,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -820,7 +820,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -838,7 +838,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -960,7 +960,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1181,7 +1181,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1648,7 +1648,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1840,7 +1840,7 @@ msgstr "" msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1925,7 +1925,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2041,7 +2041,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2059,7 +2059,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2071,7 +2071,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2311,7 +2311,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2534,6 +2534,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" @@ -2564,7 +2574,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3058,11 +3068,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index e9842380432..04dd5e38b33 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -458,7 +458,7 @@ msgstr "Konfigurationsdatei geschrieben nach: %s" msgid "Configuration options for %s" msgstr "Konfigurationsoptionen für %s" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -478,7 +478,7 @@ msgstr "Konfiguriere Werkzeug." msgid "Connected" msgstr "Verbunden" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Verbindung zu %s wird hergestellt. Abbrechen mit STRG-C." @@ -567,7 +567,7 @@ msgstr "Debug-Interpreter z.B.: %s" msgid "Debugging not supported for board %s" msgstr "Debugging für Board %s nicht unterstützt" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "Standard" @@ -823,10 +823,6 @@ msgstr "Fehler beim Herunterladen des Werkzeugs %s" msgid "Error during Debug: %v" msgstr "Fehler beim Debuggen: %v" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "Fehler während FQBN-Bestimmung: %v" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" @@ -838,6 +834,10 @@ msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "Fehler bei der Board-Erkennung" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "Fehler beim Build: %v" @@ -880,7 +880,7 @@ msgid "Error getting current directory for compilation database: %s" msgstr "" "Fehler beim ermitteln des Verzeichnisses für die Kompilier-Datenbank: %s" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -900,7 +900,7 @@ msgstr "Fehler beim Abrufen von Bibliotheksinformationen: %v" msgid "Error getting port metadata: %v" msgstr "Fehler beim Abrufen von Port-Metadaten: %v" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "Fehler beim Abrufen von Details zu Port-Einstellungen: %s" @@ -1022,7 +1022,7 @@ msgstr "Fehler bei der Suche nach Plattformen: %v" msgid "Error serializing compilation database: %s" msgstr "Fehler bei der Serialisierung der Kompilierungsdatenbank: %s" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "Fehler beim Setzen des \"Raw-Mode\": %s" @@ -1262,7 +1262,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Globale Variablen verwenden %[1]s Bytes des dynamischen Speichers." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1656,7 +1656,7 @@ msgstr "Fehlender Sketch-Pfad" msgid "Monitor '%s' not found" msgstr "Monitor '%s' wurde nicht gefunden" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "Porteinstellunegn für Monitor:" @@ -1760,7 +1760,7 @@ msgstr "" "Alle Bibliotheksdetails überspringen, außer für die aktuelle Version\n" "(Die JSON-Ausgabe wird kompakter)." -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "Einen Kommunikations-Port mit einer Platine öffnen." @@ -1973,7 +1973,7 @@ msgstr "" msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "Port geschlossen: %v" @@ -2058,7 +2058,7 @@ msgstr "Ersetze die Plattform durch %[1]sdurch %[2]s" msgid "Required tool:" msgstr "Erforderliches Werkzeug:" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "Starten im stillen Modus, zeige nur die Monitorein- und -ausgaben" @@ -2207,7 +2207,7 @@ msgstr "Server-Typ" msgid "Set a value for a field required to upload." msgstr "Setze einen Wert für ein zum Upload benötigtes Feld." -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "Aktiviere den Raw-Modus im Terminal (ungepuffert)" @@ -2228,7 +2228,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "Legt fest, wo die Konfigurationsdatei gespeichert werden soll." -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "Einstellung" @@ -2242,7 +2242,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Zeige alle verfügbare Core-Versionen." -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "Zeige alle Einstellungen des Kommunikations-Ports." @@ -2536,7 +2536,7 @@ msgstr "" "Dieser Befehl zeigt eine Liste der installierten Kerne und/oder Bibliotheken\n" "die aktualisiert werden können. Wenn nichts aktualisiert werden muss, ist die Ausgabe leer." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "Markiere jede ankommende Zeile mit einem Zeitstempel." @@ -2778,6 +2778,20 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Verwendung des Kerns '%[1]s' von Platform im Ordner: %[2]s" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" +"Standardmäßige Monitorkonfiguration für das Board verwenden:\n" +"%s" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" +"Die Monitorkonfiguration ist unspezifisch.\n" +"HINWEIS: Dein Board erfordert möglicherweise andere Einstellungen!\n" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" @@ -2809,7 +2823,7 @@ msgstr "VERSION" msgid "VERSION_NUMBER" msgstr "VERSION_NUMMER" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "Werte" @@ -3324,11 +3338,11 @@ msgstr "Ungültige Plattform-Index-URL:" msgid "invalid pluggable monitor reference: %s" msgstr "Ungültige hinzufügbare Monitor-Referenz: %s" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "Ungültiger Port-Konfigurationswert für %s: %s" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "ungültige Port-Konfiguration: %s" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index 9c90e18bb8c..5478e6b8b8e 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -446,7 +446,7 @@ msgstr "Archivo de configuración escrito en: %s" msgid "Configuration options for %s" msgstr "Opciones de configuración para %s" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -464,7 +464,7 @@ msgstr "" msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -548,7 +548,7 @@ msgstr "Intérprete de depuración e.j.: %s" msgid "Debugging not supported for board %s" msgstr "Depuración no soportada para la tarjeta: %s" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "Por defecto" @@ -794,10 +794,6 @@ msgstr "Error descargando la herramienta %s" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -809,6 +805,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -851,7 +851,7 @@ msgid "Error getting current directory for compilation database: %s" msgstr "" "Error obteniendo el directorio actual para la base de datos de compilación%s" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -869,7 +869,7 @@ msgstr "Error obteniendo información de las librerías: %v" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -991,7 +991,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1214,7 +1214,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variables globales usan %[1]s bytes de memoria dinamica." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1585,7 +1585,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "Monitor '%s' no encontrado" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1687,7 +1687,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "Abre un puerto de comunicación con una placa." @@ -1879,7 +1879,7 @@ msgstr "" msgid "Port" msgstr "Puerto" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "Puerto cerrado: %v" @@ -1964,7 +1964,7 @@ msgstr "Reemplazando plataforma %[1]s con %[2]s" msgid "Required tool:" msgstr "Herramienta requerida:" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2082,7 +2082,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2100,7 +2100,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2112,7 +2112,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Muestra todos los núcleos disponibles." -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2358,7 +2358,7 @@ msgstr "" "Este comando muestra una lista de los núcleos o librerías instaladas\n" "que pueden ser actualizadas. Si ninguno necesita ser actualizado no se mostrará nada." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2583,6 +2583,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Usando librería %[1]s con versión %[2]s en la carpeta: %[3]s %[4]s" @@ -2613,7 +2623,7 @@ msgstr "VERSIÓN" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3110,11 +3120,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index 462d3740569..10e2abcdc4a 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -431,7 +431,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -449,7 +449,7 @@ msgstr "" msgid "Connected" msgstr "Connecté" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -531,7 +531,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "Défaut" @@ -772,10 +772,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -787,6 +783,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -828,7 +828,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -846,7 +846,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -968,7 +968,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1192,7 +1192,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Les variables globales utilisent %[1]s octets de mémoire dynamique." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1563,7 +1563,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1663,7 +1663,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1855,7 +1855,7 @@ msgstr "" msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1940,7 +1940,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2056,7 +2056,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2074,7 +2074,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2086,7 +2086,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2328,7 +2328,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2551,6 +2551,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" @@ -2584,7 +2594,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3081,11 +3091,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index 1f38647f33e..f810241c0d3 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -427,7 +427,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +445,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -527,7 +527,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "" @@ -768,10 +768,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -783,6 +779,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -824,7 +824,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -842,7 +842,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1185,7 +1185,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1554,7 +1554,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1652,7 +1652,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1844,7 +1844,7 @@ msgstr "" msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1929,7 +1929,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2045,7 +2045,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2063,7 +2063,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2075,7 +2075,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2315,7 +2315,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2538,6 +2538,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" @@ -2568,7 +2578,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3062,11 +3072,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index fef4e883c96..f6e56eefb01 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -456,7 +456,7 @@ msgstr "File di configurazione scritto in: %s" msgid "Configuration options for %s" msgstr "Opzioni di configurazione per %s" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -476,7 +476,7 @@ msgstr "Strumento di configurazione." msgid "Connected" msgstr "Connesso" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Connessione in corso a %s. Premere CTRL-C per uscire." @@ -565,7 +565,7 @@ msgstr "Interprete di debug, ad esempio: %s" msgid "Debugging not supported for board %s" msgstr "Debugging non supportato per la scheda %s" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "Predefinito" @@ -828,10 +828,6 @@ msgstr "Errore durante il download del tool %s" msgid "Error during Debug: %v" msgstr "Errore durante il debug: %v" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "Si è verificato un errore durante il rilevamento FQBN: %v" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" @@ -843,6 +839,10 @@ msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "Si è verificato un errore durante la compilazione: %v" @@ -891,7 +891,7 @@ msgstr "" "Si è verificato un errore durante l'acquisizione della directory corrente " "per il database di compilazione: %s" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -916,7 +916,7 @@ msgstr "" "Si è verificato un errore durante l'acquisizione dei metadati della porta: " "%v" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" "Si è verificato un errore durante l'acquisizione dei dettagli delle " @@ -1062,7 +1062,7 @@ msgstr "" "Si è verificato un errore durante la serializzazione del database di " "compilazione: %s" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "Errore di impostazione della modalità raw: %s" @@ -1310,7 +1310,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Le variabili globali usano %[1]s byte di memoria dinamica." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1700,7 +1700,7 @@ msgstr "Manca il percorso dello sketch" msgid "Monitor '%s' not found" msgstr "Impossibile trovare il monitor '%s'" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "Impostazioni sulla porta del monitor:" @@ -1805,7 +1805,7 @@ msgstr "" "Omette i dettagli della libreria per tutte le versioni tranne la più recente" " (produce un output JSON più compatto)." -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "Apre una porta di comunicazione con una scheda." @@ -2019,7 +2019,7 @@ msgstr "" msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "Porta chiusa: %v" @@ -2104,7 +2104,7 @@ msgstr "Sto sostituendo la piattaforma %[1]s con %[2]s" msgid "Required tool:" msgstr "Tool richiesto:" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Avvio in modalità silenziosa, mostra solo l'ingresso e l'uscita del monitor." @@ -2256,7 +2256,7 @@ msgstr "Tipo di server" msgid "Set a value for a field required to upload." msgstr "Imposta un valore per un campo richiesto dal caricamento." -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "Imposta il terminale in modalità raw (non bufferizzata)." @@ -2277,7 +2277,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "Imposta dove salvare il file di configurazione." -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "Impostazioni" @@ -2291,7 +2291,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Mostra tutte le versioni del core disponibili." -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "Mostra tutte le impostazioni della porta di comunicazione." @@ -2580,7 +2580,7 @@ msgstr "" "Questo comando mostra un elenco di core e/o librerie installate\n" "che possono essere aggiornate. Se non è necessario aggiornare nulla, l'output è vuoto." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "Timestamp di ogni linea in entrata." @@ -2816,6 +2816,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Uso la libreria %[1]s alla versione %[2]s nella cartella: %[3]s %[4]s" @@ -2846,7 +2856,7 @@ msgstr "VERSIONE" msgid "VERSION_NUMBER" msgstr "VERSION_NUMBER" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "Valori" @@ -3368,11 +3378,11 @@ msgstr "URL dell'indice della piattaforma non è valido:" msgid "invalid pluggable monitor reference: %s" msgstr "il riferimento al monitor collegabile non è valido: %s" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "il valore di configurazione della porta non è valido per %s: %s" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "la configurazione della porta non è valida: %s" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 9c14609097f..2f584c46489 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -429,7 +429,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -447,7 +447,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -529,7 +529,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "初期値" @@ -770,10 +770,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -785,6 +781,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -826,7 +826,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -844,7 +844,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -966,7 +966,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1188,7 +1188,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "グローバル変数は%[1]sバイトのRAMを使用しています。" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1557,7 +1557,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1655,7 +1655,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1847,7 +1847,7 @@ msgstr "" msgid "Port" msgstr "シリアルポート" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1932,7 +1932,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2048,7 +2048,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2066,7 +2066,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2078,7 +2078,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2318,7 +2318,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2541,6 +2541,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "次のフォルダのライブラリ%[1]sバージョン%[2]sを使用中:%[3]s %[4]s" @@ -2571,7 +2581,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3066,11 +3076,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index af16ee33746..a1a64907c76 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -427,7 +427,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +445,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -527,7 +527,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "디폴트" @@ -768,10 +768,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -783,6 +779,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -824,7 +824,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -842,7 +842,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1186,7 +1186,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "전역 변수는 %[1]s 바이트의 동적 메모리를 사용." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1555,7 +1555,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1653,7 +1653,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1845,7 +1845,7 @@ msgstr "" msgid "Port" msgstr "포트" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1930,7 +1930,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2046,7 +2046,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2064,7 +2064,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2076,7 +2076,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2316,7 +2316,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2539,6 +2539,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "라이브러리 %[1]s를 버전 %[2]s 폴더: %[3]s %[4]s 에서 사용" @@ -2569,7 +2579,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3064,11 +3074,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index f8cbaa959e5..ddc7fd77afc 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -427,7 +427,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +445,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -527,7 +527,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "" @@ -768,10 +768,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -783,6 +779,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -824,7 +824,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -842,7 +842,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1185,7 +1185,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1554,7 +1554,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1652,7 +1652,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1844,7 +1844,7 @@ msgstr "" msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1929,7 +1929,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2045,7 +2045,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2063,7 +2063,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "Astellung" @@ -2075,7 +2075,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2315,7 +2315,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2538,6 +2538,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" @@ -2568,7 +2578,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3062,11 +3072,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index bd5ec26337a..fab72b65638 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -429,7 +429,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -447,7 +447,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -529,7 +529,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "Domyślne" @@ -770,10 +770,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -785,6 +781,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -826,7 +826,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -844,7 +844,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -966,7 +966,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1190,7 +1190,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Zmienne globalne używają %[1]s bajtów pamięci dynamicznej." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1560,7 +1560,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1660,7 +1660,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1852,7 +1852,7 @@ msgstr "" msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1937,7 +1937,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2053,7 +2053,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2071,7 +2071,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2083,7 +2083,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2325,7 +2325,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2548,6 +2548,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Użycie biblioteki %[1]s w wersji %[2]s z folderu: %[3]s %[4]s" @@ -2578,7 +2588,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3075,11 +3085,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index 0eaa6d2ab64..e6337d1ef25 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -451,7 +451,7 @@ msgstr "%s‎Arquivo Config escrito para:‎" msgid "Configuration options for %s" msgstr "Opções de configuração para %s" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -471,7 +471,7 @@ msgstr "Configurando ferramenta." msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Conectando a %s. Pressione CTRL-C para sair." @@ -559,7 +559,7 @@ msgstr "Depurar interpretador e.g.:%s" msgid "Debugging not supported for board %s" msgstr "Depuramento não é suportado para a placa %s" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "Padrão" @@ -804,10 +804,6 @@ msgstr "Erro ao baixar ferramenta %s" msgid "Error during Debug: %v" msgstr "Erro durante Depuramento: %v" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "Erro durante detecção FQBN: %v" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "Erro durante codificação da saída JSON: %v" @@ -819,6 +815,10 @@ msgstr "Erro durante codificação da saída JSON: %v" msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "Erro durante build: %v" @@ -861,7 +861,7 @@ msgid "Error getting current directory for compilation database: %s" msgstr "" "Erro ao obter o diretório atual para o banco de dados de compilação: %s" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -879,7 +879,7 @@ msgstr "Erro ao obter informações sobre as bibliotecas: %v" msgid "Error getting port metadata: %v" msgstr "Erro ao obter metadata da porta: %v" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "Erro ao obter detalhes das configurações da porta: %s" @@ -1001,7 +1001,7 @@ msgstr "Erro ao buscar por plataformas: %v" msgid "Error serializing compilation database: %s" msgstr "Erro ao serializar compilação do banco de dados: %s" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1233,7 +1233,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variáveis globais usam %[1]s bytes de memória dinâmica." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1620,7 +1620,7 @@ msgstr "Caminho para esboço faltando" msgid "Monitor '%s' not found" msgstr "Monitor '%s' não encontrado" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "Configurações da porta do monitor:" @@ -1724,7 +1724,7 @@ msgstr "" "Esconder detalhes da biblioteca para todas as versões exceto a mais recente " "(produz uma saída JSON mais compacta)." -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "Abra uma porta de comunicação com a placa." @@ -1938,7 +1938,7 @@ msgstr "" msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "Porta fechada: %v" @@ -2023,7 +2023,7 @@ msgstr "Substituindo plataforma %[1]s com %[2]s" msgid "Required tool:" msgstr "Ferramenta necessária:" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Execute no modo silencioso e mostre apenas a entrada e a saída do monitor." @@ -2144,7 +2144,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2162,7 +2162,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "Define onde o arquivo de configuração deve ser salvo." -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "Configuração" @@ -2174,7 +2174,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Mostre todas as versões de núcleo disponíveis." -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "Mostre todas as configurações da porta de comunicação." @@ -2463,7 +2463,7 @@ msgstr "" "podem ser atualizadas. Se nada precisar ser atualizado, a saída do comando " "será vazia." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2686,6 +2686,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" @@ -2716,7 +2726,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3213,11 +3223,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 19405ab1d7c..2daa4473a85 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -430,7 +430,7 @@ msgstr "" msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -448,7 +448,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -530,7 +530,7 @@ msgstr "" msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "По умолчанию" @@ -771,10 +771,6 @@ msgstr "" msgid "Error during Debug: %v" msgstr "" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "" @@ -786,6 +782,10 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "" @@ -827,7 +827,7 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -845,7 +845,7 @@ msgstr "" msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "" @@ -967,7 +967,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "" @@ -1190,7 +1190,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глобальные переменные используют %[1]s байт динамической памяти." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1559,7 +1559,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "" @@ -1657,7 +1657,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "" @@ -1849,7 +1849,7 @@ msgstr "" msgid "Port" msgstr "Порт" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "" @@ -1934,7 +1934,7 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "" @@ -2050,7 +2050,7 @@ msgstr "" msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2068,7 +2068,7 @@ msgstr "" msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "" @@ -2080,7 +2080,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "" @@ -2322,7 +2322,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "" @@ -2545,6 +2545,16 @@ msgstr "" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Используем библиотеку %[1]s версии %[2]s из папки: %[3]s %[4]s" @@ -2575,7 +2585,7 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "" @@ -3071,11 +3081,11 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index d91e3ef5034..27e6a1c067c 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -431,7 +431,7 @@ msgstr "配置文件写入:%s" msgid "Configuration options for %s" msgstr "%s 的配置选项" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -449,7 +449,7 @@ msgstr "配置工具。" msgid "Connected" msgstr "已连接" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -531,7 +531,7 @@ msgstr "调试解释器,例如:%s" msgid "Debugging not supported for board %s" msgstr "%s 开发板不支持调试" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "默认" @@ -772,10 +772,6 @@ msgstr "下载 %s 工具时出错" msgid "Error during Debug: %v" msgstr "调试时出错:%v" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "检测 FQBN 时出错:%v" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "输出编码 JSON 过程时出错:%v" @@ -787,6 +783,10 @@ msgstr "输出编码 JSON 过程时出错:%v" msgid "Error during Upload: %v" msgstr "上传时出错:%v" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "构建时出错:%v" @@ -828,7 +828,7 @@ msgstr "获取开发板详细信息时出错:%v" msgid "Error getting current directory for compilation database: %s" msgstr "获取编译数据库的当前目录时出错:%s" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -846,7 +846,7 @@ msgstr "获取库信息时出错:%v" msgid "Error getting port metadata: %v" msgstr "获取端口元数据出错:%v" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "获取端口设置详细信息时出错:%s" @@ -968,7 +968,7 @@ msgstr "搜索平台时出错:%v" msgid "Error serializing compilation database: %s" msgstr "序列化编译数据库时出错:%s" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "原始的设置出错:%s" @@ -1189,7 +1189,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全局变量使用 %[1]s 字节的动态内存。" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1558,7 +1558,7 @@ msgstr "缺少项目路径" msgid "Monitor '%s' not found" msgstr "未找到 ‘%s’ 监视器" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "监视端口设置:" @@ -1658,7 +1658,7 @@ msgid "" "compact JSON output)." msgstr "省略库中除最新版本之外的所有版本(生成更紧凑的 JSON 输出)。" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "开启开发板的通信端口。" @@ -1852,7 +1852,7 @@ msgstr "请指定一个 FQBN。%[1]s 端口上的开发板与协议 %[2]s 不能 msgid "Port" msgstr "端口" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "端口关闭:%v" @@ -1937,7 +1937,7 @@ msgstr "用 %[2]s 替换 %[1]s 平台" msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "以静默模式运行,仅显示监视器输入和输出。" @@ -2092,7 +2092,7 @@ msgstr "服务器类型" msgid "Set a value for a field required to upload." msgstr "为上传所需的字段设置值。" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "将终端设置为原始模式(无缓冲)。" @@ -2110,7 +2110,7 @@ msgstr "设置端口和 FQBN 的默认值。如果未指定端口、FQBN 或编 msgid "Sets where to save the configuration file." msgstr "设置保存配置文件的位置。" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "设置" @@ -2122,7 +2122,7 @@ msgstr "" msgid "Show all available core versions." msgstr "显示所有可用的内核版本。" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "显示通讯端口的所有设置。" @@ -2368,7 +2368,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此命令显示可升级的已安装内核和库或其一的列表。如果不需要更新任何内容,则输出为空。" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "显示时间戳。" @@ -2593,6 +2593,16 @@ msgstr "使用缓存库文件依赖项:%[1]s" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 代码,在列出的文件夹中:%[2]s" +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用 %[2]s 版本的 %[1]s 库,在列出的文件夹中:%[3]s%[4]s" @@ -2623,7 +2633,7 @@ msgstr "版本" msgid "VERSION_NUMBER" msgstr "版本号" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "值" @@ -3117,11 +3127,11 @@ msgstr "无效的平台索引网址:" msgid "invalid pluggable monitor reference: %s" msgstr "无效的热插拔监视器引用:%s" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "%s 的端口配置值无效:%s" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "无效的端口配置:%s" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 3d24026214c..9ec90b6f6ba 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -427,7 +427,7 @@ msgstr "設定檔寫入:%s" msgid "Configuration options for %s" msgstr "%s 的設定選項" -#: internal/cli/monitor/monitor.go:74 +#: internal/cli/monitor/monitor.go:77 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +445,7 @@ msgstr "設定工具" msgid "Connected" msgstr "已連接" -#: internal/cli/monitor/monitor.go:241 +#: internal/cli/monitor/monitor.go:259 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "連接 %s 中。按 CTRL-C 結束。" @@ -527,7 +527,7 @@ msgstr "除錯解譯器,例如:%s" msgid "Debugging not supported for board %s" msgstr "不支援 %s 開發板除錯" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Default" msgstr "預設" @@ -768,10 +768,6 @@ msgstr "下載工具 %s 出錯" msgid "Error during Debug: %v" msgstr "除錯時出錯: %v" -#: internal/cli/arguments/port.go:141 -msgid "Error during FQBN detection: %v" -msgstr "FQBN 偵測時出錯: %v" - #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" msgstr "輸出 JSON 編碼過程出錯:%v" @@ -783,6 +779,10 @@ msgstr "輸出 JSON 編碼過程出錯:%v" msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" +#: internal/cli/arguments/port.go:141 +msgid "Error during board detection" +msgstr "" + #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" msgstr "建構時出錯: %v" @@ -824,7 +824,7 @@ msgstr "取得開發板細節時出錯: %v" msgid "Error getting current directory for compilation database: %s" msgstr "取得編譯資料庫所在目錄時出錯: %s" -#: internal/cli/monitor/monitor.go:108 +#: internal/cli/monitor/monitor.go:104 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -842,7 +842,7 @@ msgstr "取得程式庫資訊時出錯: %v" msgid "Error getting port metadata: %v" msgstr "取得連接埠資訊出錯: %v" -#: internal/cli/monitor/monitor.go:153 +#: internal/cli/monitor/monitor.go:155 msgid "Error getting port settings details: %s" msgstr "取得連接埠設定細節出錯: %s" @@ -964,7 +964,7 @@ msgstr "搜尋平台時出錯: %v" msgid "Error serializing compilation database: %s" msgstr "序列化編譯資料庫時出錯: %s" -#: internal/cli/monitor/monitor.go:219 +#: internal/cli/monitor/monitor.go:223 msgid "Error setting raw mode: %s" msgstr "設定原始模式出錯: %s" @@ -1185,7 +1185,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全域變數使用 %[1]s 位元組的動態記憶體" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:297 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1359,7 +1359,7 @@ msgstr "無效的大小正規表示式: %s" #: main.go:85 msgid "Invalid value in configuration" -msgstr "" +msgstr "設定裏有無效的數值" #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" @@ -1554,7 +1554,7 @@ msgstr "缺少 sketch 路徑" msgid "Monitor '%s' not found" msgstr "監視器 '%s' 找不到" -#: internal/cli/monitor/monitor.go:200 +#: internal/cli/monitor/monitor.go:251 msgid "Monitor port settings:" msgstr "監視連接埠設定:" @@ -1654,7 +1654,7 @@ msgid "" "compact JSON output)." msgstr "省略程式庫中除最新版本以外的所有版本(產出更精簡的 JSON )" -#: internal/cli/monitor/monitor.go:57 internal/cli/monitor/monitor.go:58 +#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 msgid "Open a communication port with a board." msgstr "開啟開發板的通信埠" @@ -1848,7 +1848,7 @@ msgstr "請指定一個 FQBN。%[1]s 連接埠以協議 %[2]s 的開發板無法 msgid "Port" msgstr "連接埠" -#: internal/cli/monitor/monitor.go:253 internal/cli/monitor/monitor.go:262 +#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 msgid "Port closed: %v" msgstr "連接埠關閉: %v" @@ -1933,7 +1933,7 @@ msgstr "以平台 %[2]s 替換 %[1]s " msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:78 msgid "Run in silent mode, show only monitor input and output." msgstr "以靜默模式執行,只顯示監視輸入和輸出" @@ -2079,7 +2079,7 @@ msgstr "伺服器類型" msgid "Set a value for a field required to upload." msgstr "設定上傳所必要的欄位上的值" -#: internal/cli/monitor/monitor.go:72 +#: internal/cli/monitor/monitor.go:75 msgid "Set terminal in raw mode (unbuffered)." msgstr "設定終端成原始模式 (無緩衝)" @@ -2097,7 +2097,7 @@ msgstr "設定連接埠和 FQBN & 燒錄器的預設值. 如果沒指定, 將 msgid "Sets where to save the configuration file." msgstr "設定儲存設定檔的位置" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Setting" msgstr "設定" @@ -2109,7 +2109,7 @@ msgstr "將顯示協助訊息,不過只有文字模式。" msgid "Show all available core versions." msgstr "顯示全部可用的核心版本" -#: internal/cli/monitor/monitor.go:73 +#: internal/cli/monitor/monitor.go:76 msgid "Show all the settings of the communication port." msgstr "顯示通訊連接埠的全部設定" @@ -2355,7 +2355,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此指令顯示可升級的已安裝核心和程式庫。如沒需要更新的,則輸出空白" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:79 msgid "Timestamp each incoming line." msgstr "記錄每一行時間" @@ -2580,6 +2580,16 @@ msgstr "檔案: %[1]s 使用快取程式庫相依" msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " +#: internal/cli/monitor/monitor.go:246 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:248 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用檔案夾: %[3]s %[4]s 內的程式庫 %[1]s 版本 %[2]s " @@ -2610,7 +2620,7 @@ msgstr "版本" msgid "VERSION_NUMBER" msgstr "版本_號" -#: internal/cli/monitor/monitor.go:297 +#: internal/cli/monitor/monitor.go:315 msgid "Values" msgstr "數值" @@ -3104,11 +3114,11 @@ msgstr "無效的平台索引位址:" msgid "invalid pluggable monitor reference: %s" msgstr "無效的插拔式監視器參照: %s" -#: internal/cli/monitor/monitor.go:185 +#: internal/cli/monitor/monitor.go:192 msgid "invalid port configuration value for %s: %s" msgstr "無效的連接埠設定值 %s : %s" -#: internal/cli/monitor/monitor.go:193 +#: internal/cli/monitor/monitor.go:200 msgid "invalid port configuration: %s" msgstr "無效的連接埠設定: %s" From abb2232febd7924374d36638b1c01ec88291332f Mon Sep 17 00:00:00 2001 From: Milos Subotic <milos.subotic.sm@gmail.com> Date: Wed, 10 Jul 2024 08:58:00 +0200 Subject: [PATCH 221/361] fix install.sh not working with wget2 --- install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index 2f74a65295e..6843c144498 100755 --- a/install.sh +++ b/install.sh @@ -103,7 +103,8 @@ getFile() { if [ "$DOWNLOAD_TOOL" = "curl" ]; then GETFILE_HTTP_STATUS_CODE=$(curl -s -w '%{http_code}' -L "$GETFILE_URL" -o "$GETFILE_FILE_PATH") elif [ "$DOWNLOAD_TOOL" = "wget" ]; then - wget --server-response --content-on-error -q -O "$GETFILE_FILE_PATH" "$GETFILE_URL" + TMP_FILE=$(mktemp) + wget --server-response --content-on-error -q -O "$GETFILE_FILE_PATH" "$GETFILE_URL" 2>"$TMP_FILE" GETFILE_HTTP_STATUS_CODE=$(awk '/^ HTTP/{print $2}' "$TMP_FILE") fi echo "$GETFILE_HTTP_STATUS_CODE" From 625aaac8bee07f5ea2e859e59d718ed2d11bc5f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 05:23:18 -0700 Subject: [PATCH 222/361] [skip changelog] Bump zipp from 3.8.0 to 3.19.1 (#2660) Bumps [zipp](https://github.com/jaraco/zipp) from 3.8.0 to 3.19.1. - [Release notes](https://github.com/jaraco/zipp/releases) - [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst) - [Commits](https://github.com/jaraco/zipp/compare/v3.8.0...v3.19.1) --- updated-dependencies: - dependency-name: zipp dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/poetry.lock b/poetry.lock index 5b896956710..42c246941e2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. [[package]] name = "click" @@ -486,18 +486,18 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "zipp" -version = "3.8.0" +version = "3.19.1" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "zipp-3.8.0-py3-none-any.whl", hash = "sha256:c4f6e5bbf48e74f7a38e7cc5b0480ff42b0ae5178957d564d18932525d5cf099"}, - {file = "zipp-3.8.0.tar.gz", hash = "sha256:56bf8aadb83c24db6c4b577e13de374ccfb67da2078beba1d037c17980bf43ad"}, + {file = "zipp-3.19.1-py3-none-any.whl", hash = "sha256:2828e64edb5386ea6a52e7ba7cdb17bb30a73a858f5eb6eb93d8d36f5ea26091"}, + {file = "zipp-3.19.1.tar.gz", hash = "sha256:35427f6d5594f4acf82d25541438348c26736fa9b3afa2754bcd63cdb99d8e8f"}, ] [package.extras] -docs = ["jaraco.packaging (>=9)", "rst.linker (>=1.9)", "sphinx"] -testing = ["func-timeout", "jaraco.itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +test = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] [metadata] lock-version = "2.0" From b4f8849cae83199d05e14aa15a2fc050fd5aed1b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 12 Jul 2024 11:00:18 +0200 Subject: [PATCH 223/361] grpc: fixed BoardListWatch streaming call (#2664) * grpc: fixed BoardListWatch streaming call * Added integration test * Fixed also existing calls to BoardListWatch --- commands/service_board_list.go | 1 + internal/cli/arguments/port.go | 13 +++++-------- internal/cli/board/list.go | 10 ++++++---- internal/integrationtest/daemon/daemon_test.go | 18 ++++++++++++++++++ 4 files changed, 30 insertions(+), 12 deletions(-) diff --git a/commands/service_board_list.go b/commands/service_board_list.go index a5376cb9f1f..44e89fdc8dd 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -318,5 +318,6 @@ func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s } }() + <-stream.Context().Done() return nil } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index 885423243f4..dfd120f162f 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -89,17 +89,14 @@ func (p *Port) GetPort(ctx context.Context, instance *rpc.Instance, srv rpc.Ardu } logrus.WithField("port", address).Tracef("Upload port") - ctx, cancel := context.WithCancel(ctx) + ctx, cancel := context.WithTimeout(ctx, p.timeout.Get()) defer cancel() stream, watcher := commands.BoardListWatchProxyToChan(ctx) - err := srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: instance}, stream) + go func() { + _ = srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: instance}, stream) + }() - if err != nil { - return nil, err - } - - deadline := time.After(p.timeout.Get()) for { select { case portEvent := <-watcher: @@ -111,7 +108,7 @@ func (p *Port) GetPort(ctx context.Context, instance *rpc.Instance, srv rpc.Ardu return port, nil } - case <-deadline: + case <-ctx.Done(): // No matching port found if protocol == "" { return &rpc.Port{ diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index ffc49431d21..7d0c0c69082 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -91,10 +91,12 @@ func runListCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, watch func watchList(ctx context.Context, inst *rpc.Instance, srv rpc.ArduinoCoreServiceServer) { stream, eventsChan := commands.BoardListWatchProxyToChan(ctx) - err := srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: inst}, stream) - if err != nil { - feedback.Fatal(i18n.Tr("Error detecting boards: %v", err), feedback.ErrNetwork) - } + go func() { + err := srv.BoardListWatch(&rpc.BoardListWatchRequest{Instance: inst}, stream) + if err != nil { + feedback.Fatal(i18n.Tr("Error detecting boards: %v", err), feedback.ErrNetwork) + } + }() // This is done to avoid printing the header each time a new event is received if feedback.GetFormat() == feedback.Text { diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 366fec20497..742e7774316 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -91,6 +91,24 @@ func TestArduinoCliDaemon(t *testing.T) { testWatcher() testWatcher() + + { + // Test that the watcher stays open until the grpc call is canceled + + ctx, cancel := context.WithTimeout(context.Background(), time.Second*2) + defer cancel() + + start := time.Now() + watcher, err := grpcInst.BoardListWatch(ctx) + require.NoError(t, err) + for { + _, err := watcher.Recv() + if err != nil { + break + } + } + require.Greater(t, time.Since(start), 2*time.Second) + } } func TestDaemonAutoUpdateIndexOnFirstInit(t *testing.T) { From cbe162af1c96c34582ee3c5f3e1cfda7960fd3bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 10:44:39 +0200 Subject: [PATCH 224/361] [skip changelog] Bump google.golang.org/grpc from 1.64.0 to 1.65.0 (#2656) * [skip changelog] Bump google.golang.org/grpc from 1.64.0 to 1.65.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.64.0 to 1.65.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.64.0...v1.65.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../genproto/googleapis/rpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../grpcrand.dep.yml => balancer/pickfirst.dep.yml} | 11 +++++------ .../grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .../go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .../go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../grpc/internal/balancerload.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../grpc/internal/credentials.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../grpc/internal/resolver/unix.dep.yml | 4 ++-- .../grpc/internal/serviceconfig.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .../go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .../go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 4 ++-- go.sum | 8 ++++---- 54 files changed, 112 insertions(+), 113 deletions(-) rename .licenses/go/google.golang.org/grpc/{internal/grpcrand.dep.yml => balancer/pickfirst.dep.yml} (97%) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 39ef8d23cab..3132b3ced0d 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20240318140521-94a12d6c2237 +version: v0.0.0-20240528184218-531527333157 type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20240318140521-94a12d6c2237/LICENSE +- sources: rpc@v0.0.0-20240528184218-531527333157/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index a67b93376ca..e98ece9b501 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.64.0 +version: v1.65.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index d5a0d7fe501..9837a818c09 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.64.0 +version: v1.65.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index e650cee4e1f..026798788e2 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.64.0 +version: v1.65.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 129002447a6..30187eca0b7 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.64.0 +version: v1.65.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index a982c5809db..0e16e022860 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.64.0 +version: v1.65.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 8ef5bc02e67..4cc781f2f00 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.64.0 +version: v1.65.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml similarity index 97% rename from .licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml rename to .licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 63a4e8275e9..0a651dd5995 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcrand.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,13 +1,12 @@ --- -name: google.golang.org/grpc/internal/grpcrand -version: v1.64.0 +name: google.golang.org/grpc/balancer/pickfirst +version: v1.65.0 type: go -summary: Package grpcrand implements math/rand functions in a concurrent-safe way - with a global random source, independent of math/rand's global source. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcrand +summary: Package pickfirst contains the pick_first load balancing policy. +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 3aa7bf780fd..d01ab6c4e36 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.64.0 +version: v1.65.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index c031a2d9113..a9df0b07980 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.64.0 +version: v1.65.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 439537a6f78..c6701ed5e7e 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.64.0 +version: v1.65.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index d02abf09265..31f99c51c1c 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.64.0 +version: v1.65.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index efe1d2cb38f..2ffe09a3d04 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.64.0 +version: v1.65.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 571cbde0b29..9f4d93ed44b 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.64.0 +version: v1.65.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 94f2ea13d4f..66f9e4b93c6 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.64.0 +version: v1.65.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 56ad90afee7..61641896ae1 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.64.0 +version: v1.65.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index d4e7e06705a..9845ac5fadb 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.64.0 +version: v1.65.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 3dd10072753..3d654423447 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.64.0 +version: v1.65.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index a181f934a6e..a905dc9bf50 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.64.0 +version: v1.65.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index a42fc10226f..3b2c9fc97c3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.64.0 +version: v1.65.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 34734fdd910..09f2f1658a3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.64.0 +version: v1.65.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 51cfa9f0c78..bc815e58144 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.64.0 +version: v1.65.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 24ab72cde06..8f554374255 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.64.0 +version: v1.65.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index eff84fe64bb..07551e69b2b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.64.0 +version: v1.65.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index e81e03a8e7d..e949ee66da4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.64.0 +version: v1.65.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 0370966a4fa..4980fa971d3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.64.0 +version: v1.65.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index b046eaa6041..b1b4c1b39a9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.64.0 +version: v1.65.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 01c0438d179..cc5c64cbb3b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.64.0 +version: v1.65.0 type: go summary: Package grpclog (internal) defines depth logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index d2c371c0850..3aa381fec84 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.64.0 +version: v1.65.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 49fc63e508c..8c9eea53e23 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.64.0 +version: v1.65.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 0fed46f0982..ba6035224af 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.64.0 +version: v1.65.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 253e33632f6..3ce13f539fa 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.64.0 +version: v1.65.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 05f9d0891a2..323a1bbce80 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.64.0 +version: v1.65.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 08be9f23a58..13f6bdbb4e1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.64.0 +version: v1.65.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index fd2627083cb..c411de9403e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.64.0 +version: v1.65.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 1ef000f158a..2b77984b45b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.64.0 +version: v1.65.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index ca5e8984cf1..5bd544b07ea 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.64.0 +version: v1.65.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 6acc344f708..cc08642ec87 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.64.0 +version: v1.65.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 94e768671d6..583e912dcf4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.64.0 +version: v1.65.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 254ebb52339..c1f26edc2d8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.64.0 +version: v1.65.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index bb7931aba56..b0b452539c9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.64.0 +version: v1.65.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index b8c8533ec3a..90b33fb2f87 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.64.0 +version: v1.65.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index f5706613bf9..cdbc75273b0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.64.0 +version: v1.65.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index c15171ea00c..2de0392ec5d 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.64.0 +version: v1.65.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 8d916439d89..bee133075fc 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.64.0 +version: v1.65.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index bedaa82f60a..775762c5083 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.64.0 +version: v1.65.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 45b14380176..90e21ec6344 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.64.0 +version: v1.65.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 50b963dc020..7d9ee279cb9 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.64.0 +version: v1.65.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 3bb21af97ef..6496d89354e 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.64.0 +version: v1.65.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 7248d8ed704..95a41b3db23 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.64.0 +version: v1.65.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 059f7d0308c..63f2f86ed75 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.64.0 +version: v1.65.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 0aa6d66e246..2c0748f1fcd 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.64.0 +version: v1.65.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.64.0/LICENSE +- sources: grpc@v1.65.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 601c77c4d5a..a97c1e7be68 100644 --- a/go.mod +++ b/go.mod @@ -40,8 +40,8 @@ require ( go.bug.st/testifyjson v1.1.1 golang.org/x/term v0.21.0 golang.org/x/text v0.16.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 - google.golang.org/grpc v1.64.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 + google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 9446be8f173..5a5790eed89 100644 --- a/go.sum +++ b/go.sum @@ -272,10 +272,10 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= -google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY= -google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 8246eaa95f538ec3a1f0aa161fd82b2b11a5d5a2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 11:44:42 +0200 Subject: [PATCH 225/361] [skip changelog] Bump golang.org/x/term from 0.21.0 to 0.22.0 (#2657) * [skip changelog] Bump golang.org/x/term from 0.21.0 to 0.22.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.21.0 to 0.22.0. - [Commits](https://github.com/golang/term/compare/v0.21.0...v0.22.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index ce5200699fc..4d33b62efb7 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.21.0 +version: v0.22.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.21.0/LICENSE +- sources: sys@v0.22.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.21.0/PATENTS +- sources: sys@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index bc481e53ce7..55adac60905 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.21.0 +version: v0.22.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.21.0/LICENSE +- sources: sys@v0.22.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.21.0/PATENTS +- sources: sys@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index eb58ab9d479..9a2746f9d3a 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.21.0 +version: v0.22.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index a97c1e7be68..e495b5a2e7a 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/downloader/v2 v2.2.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.1.1 - golang.org/x/term v0.21.0 + golang.org/x/term v0.22.0 golang.org/x/text v0.16.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 google.golang.org/grpc v1.65.0 @@ -99,7 +99,7 @@ require ( golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect + golang.org/x/sys v0.22.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 5a5790eed89..7c8bc44a9e8 100644 --- a/go.sum +++ b/go.sum @@ -259,11 +259,11 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= -golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA= -golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= From eb286385e7e8b18b99df83b7b9b94a1b4893ed1d Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 19 Jul 2024 14:49:39 +0200 Subject: [PATCH 226/361] regression: fixed `ARDUINO_USER_AGENT` pollution / resolve compile-sketch GH action failure on Teensy (#2669) * Removed useless gRPCClientUnknown tag * 'task build' now uses a compliant semver notation * Revert "'task build' now uses a compliant semver notation" This reverts commit 7f8ad1ff9ffaedc452c4d55ed1000bb2573573ea. --- commands/instances.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index bd6764cf51d..3ec59027070 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -67,9 +67,6 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque if md, ok := metadata.FromIncomingContext(ctx); ok { userAgent = strings.Join(md.Get("user-agent"), " ") } - if userAgent == "" { - userAgent = "gRPCClientUnknown/0.0.0" - } // Setup downloads directory downloadsDir := s.settings.DownloadsDir() From 8b6ad258e88581a9e77b2eede65aeeeeb265008c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:43:59 +0200 Subject: [PATCH 227/361] [skip-changelog] Updated translation files (#2659) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 68 ++++++++++++++++----------------- internal/i18n/data/be.po | 68 ++++++++++++++++----------------- internal/i18n/data/de.po | 68 ++++++++++++++++----------------- internal/i18n/data/es.po | 68 ++++++++++++++++----------------- internal/i18n/data/fr.po | 68 ++++++++++++++++----------------- internal/i18n/data/he.po | 68 ++++++++++++++++----------------- internal/i18n/data/it_IT.po | 75 +++++++++++++++++++------------------ internal/i18n/data/ja.po | 68 ++++++++++++++++----------------- internal/i18n/data/ko.po | 68 ++++++++++++++++----------------- internal/i18n/data/lb.po | 68 ++++++++++++++++----------------- internal/i18n/data/pl.po | 68 ++++++++++++++++----------------- internal/i18n/data/pt.po | 68 ++++++++++++++++----------------- internal/i18n/data/ru.po | 68 ++++++++++++++++----------------- internal/i18n/data/zh.po | 68 ++++++++++++++++----------------- internal/i18n/data/zh_TW.po | 74 ++++++++++++++++++------------------ 15 files changed, 519 insertions(+), 514 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index fc4fbc66246..dbd5eefaf45 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -252,7 +252,7 @@ msgstr "الاوامر المتوفرة" msgid "Binary file to upload." msgstr "الملف الثنائي (Binary file) الذي تريد رفعه" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "اسم اللوحة" @@ -461,7 +461,7 @@ msgstr "جار تهيئة المنصة" msgid "Configuring tool." msgstr "جار تهيئة الاداة" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "متصل" @@ -469,7 +469,7 @@ msgstr "متصل" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "النواة" @@ -477,7 +477,7 @@ msgstr "النواة" msgid "Could not connect via HTTP" msgstr "تعذر الاتصال بواسطة HTTP" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "تعذر انشاء فهرس داخل المسار" @@ -618,7 +618,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "الغاء تفعيل وصف الاكتمال في واجهات الاوامر التي تدعم ذلك" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "قطع الاتصال" @@ -661,13 +661,13 @@ msgstr "يتم تنزيل %s" msgid "Downloading index signature: %s" msgstr "جار تنزيل فهرس التوقيعات %s" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "جار تنزيل الفهرس : %s" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "جار تحميل المكتبة %s" @@ -760,7 +760,7 @@ msgstr "خطا اثناء انشاء ارشيف المشروع" msgid "Error creating sketch: %v" msgstr "خطأ اثناء انشاء المشروع : %v" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "خطا اثناء البحث عن اللوحات : %v" @@ -773,7 +773,7 @@ msgstr "خطا اثناء تحميل %[1]s : %[2]v" msgid "Error downloading %s" msgstr "خطأ اثناء تحميل %s" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "خطأ اثناء تحميل الفهرس '%s'" @@ -781,7 +781,7 @@ msgstr "خطأ اثناء تحميل الفهرس '%s'" msgid "Error downloading index signature '%s'" msgstr "خطأ اثناء تحميل توقيع الفهرس : '%s'" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "خطأ اثناء تحميل المكتبة %s" @@ -810,7 +810,7 @@ msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -898,7 +898,7 @@ msgstr "خطأ اثناء تثبيت مكتبة GIT : %v" msgid "Error installing Zip Library: %v" msgstr "خطأ اثناء تثبيت مكتبة ZIP : %v" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "خطأ اثناء تثبيت المكتبة %s" @@ -1059,7 +1059,7 @@ msgstr "خطأ : وصف الامر غير مدعوم من قبل %v" msgid "Error: invalid source code overrides data file: %v" msgstr "خطأ : كود مصدري خاطئ سيقوم بالكتابة فوق ملف البيانات : %v" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "الحدث" @@ -1080,7 +1080,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "توقعت وجود المشروع المترجم في المسار %s . لكنني وجدت ملفا بدلا عن ذلك" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" @@ -1101,11 +1101,11 @@ msgstr "فشل المبرمجة" msgid "Failed to burn bootloader" msgstr "فشل حرق محمل الاقلاع" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "فشل انشاء مسار البيانات" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "فشل انشاء مسار التنزيلات" @@ -1277,7 +1277,7 @@ msgstr "تم تثبيت %s" msgid "Installing %s" msgstr "جار تثبيت %s" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "جار تثبيت المكتبة %s" @@ -1320,7 +1320,7 @@ msgstr "عنوان TCP غير صالح لان المنفذ غير موجود" msgid "Invalid URL" msgstr "URL غير صالح" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "URL الاضافي غير صالح : %v" @@ -1346,7 +1346,7 @@ msgstr "data size regexp غير صالح : %s" msgid "Invalid eeprom size regexp: %s" msgstr "eeprom size regexp غير صالح %s" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1366,7 +1366,7 @@ msgstr "مكتبة غير صالحة" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1378,7 +1378,7 @@ msgstr "network.proxy غير صالح '%[1]s': %[2]s" msgid "Invalid output format: %s" msgstr "صيغة اخراج خاطئة : %s" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "فهرس الحزمة غير صالح في %s" @@ -1457,7 +1457,7 @@ msgstr "المكتبة %s مثبتة باخر اصدار مسبقا" msgid "Library %s is not installed" msgstr "المكتبة %s غير مثبتة" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "تعذر ايجاد المكتبة %s" @@ -1537,8 +1537,8 @@ msgstr "انشاء قائمة بجميع اللوحات المتصلة" msgid "Lists cores and libraries that can be upgraded" msgstr "يحصي النوى و المكتبات التي يمكن ترقيتها" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "جار تحميل ملف الفهرس : %v" @@ -1632,7 +1632,7 @@ msgstr "الاسم\"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "منفذ التحميل الجديد: %[1]s(%[2]s)" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "لا يوجد اية لوحات" @@ -1917,7 +1917,7 @@ msgstr "" "الرجاء تحديد FQBN . تعذر التعرف على اللوحة على المنفذ %[1]s ذات البروتوكول " "%[2]s " -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "منفذ" @@ -1982,7 +1982,7 @@ msgstr "المبرمجات : " msgid "Property '%s' is undefined" msgstr "الخاصية '%s' غير معرفة" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "البروتوكول" @@ -2314,7 +2314,7 @@ msgstr "جار تخطي ضبط الاداة" msgid "Skipping: %[1]s" msgstr "جار تخطي : %[1]s" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "يمكن تحديث بعض الفهارس" @@ -2459,7 +2459,7 @@ msgstr "جرب تشغيل %s" msgid "Turns on verbose mode." msgstr "يفعل الوضع المطول" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "نوع" @@ -2494,7 +2494,7 @@ msgstr "تعذر ايجاد user home dir : %v" msgid "Unable to open file for logging: %s" msgstr "تعذر فتح ملف من اجل انشاء سجلات : %s" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "تعذر تقطيع عنوان URL" @@ -2518,7 +2518,7 @@ msgstr "يلغي تثبيت نواة او اكثر مع ادواتها و توا msgid "Uninstalls one or more libraries." msgstr "يلغي تثبيت مكتبة او اكثر " -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "غير معروف" @@ -2814,7 +2814,7 @@ msgstr "مجلد المكتبات المدمجة غير محدد" msgid "can't find latest release of %s" msgstr "تعذر العثور على اخر اصدار من %s" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "تعذر العثور على اخر اصدار من الاداة %s" @@ -3484,7 +3484,7 @@ msgstr "تم اضافة الكشف عن الاشياء القابلة للوصل msgid "port" msgstr "المنفذ" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "تعذر ايجاد المنفذ : %[1]s %[2]s" diff --git a/internal/i18n/data/be.po b/internal/i18n/data/be.po index a63c5d200dd..08c01bc6a24 100644 --- a/internal/i18n/data/be.po +++ b/internal/i18n/data/be.po @@ -234,7 +234,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -437,7 +437,7 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "" @@ -445,7 +445,7 @@ msgstr "" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -453,7 +453,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -588,7 +588,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -629,13 +629,13 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -725,7 +725,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -738,7 +738,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -746,7 +746,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -775,7 +775,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -862,7 +862,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1020,7 +1020,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1041,7 +1041,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1062,11 +1062,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1230,7 +1230,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1271,7 +1271,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1297,7 +1297,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1317,7 +1317,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1329,7 +1329,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1406,7 +1406,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "" @@ -1478,8 +1478,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1572,7 +1572,7 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1836,7 +1836,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "" @@ -1901,7 +1901,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2219,7 +2219,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2348,7 +2348,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2406,7 +2406,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2694,7 +2694,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3350,7 +3350,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 04dd5e38b33..9f149bf5c60 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -261,7 +261,7 @@ msgstr "Verfügbare Befehle:" msgid "Binary file to upload." msgstr "Binärdatei zum Hochladen." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Platinenname" @@ -474,7 +474,7 @@ msgstr "Konfiguriere Plattform" msgid "Configuring tool." msgstr "Konfiguriere Werkzeug." -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "Verbunden" @@ -482,7 +482,7 @@ msgstr "Verbunden" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Verbindung zu %s wird hergestellt. Abbrechen mit STRG-C." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "Kern" @@ -490,7 +490,7 @@ msgstr "Kern" msgid "Could not connect via HTTP" msgstr "Konnte nicht über HTTP verbinden" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "Indexverzeichnis konnte nicht erstellt werden" @@ -640,7 +640,7 @@ msgid "Disable completion description for shells that support it" msgstr "" "Vervollständigungsbeschreibung für Shells abschalten, die das unterstützen" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "Verbindung getrennt" @@ -685,13 +685,13 @@ msgstr "%s wird heruntergeladen" msgid "Downloading index signature: %s" msgstr "Indexsignatur wird heruntergeladen: %s" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Index wird heruntergeladen: %s" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "Bibliothek %s wird heruntergeladen" @@ -784,7 +784,7 @@ msgstr "Fehler beim Erstellen des Sketch-Archivs" msgid "Error creating sketch: %v" msgstr "Fehler beim Erstellen des Sketches: %v" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "Fehler beim Erkennen von Platinen: %v" @@ -797,7 +797,7 @@ msgstr "Fehler beim Herunterladen von %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Fehler beim Herunterladen von %s" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Fehler beim Herunterladen des Index '%s'" @@ -805,7 +805,7 @@ msgstr "Fehler beim Herunterladen des Index '%s'" msgid "Error downloading index signature '%s'" msgstr "Fehler beim Herunterladen der Indexsignatur '%s'" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "Fehler beim Herunterladen der Bibliothek %s" @@ -834,7 +834,7 @@ msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "Fehler bei der Board-Erkennung" @@ -924,7 +924,7 @@ msgstr "Fehler beim Installieren der Git-Bibliothek: %v" msgid "Error installing Zip Library: %v" msgstr "Fehler beim Installieren der Zip-Bibliothek: %v" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "Fehler beim Installieren der Bibliothek %s" @@ -1082,7 +1082,7 @@ msgstr "Fehler: Befehlsbeschreibung wird nicht unterstützt von %v" msgid "Error: invalid source code overrides data file: %v" msgstr "Fehler: ungültiger Quellcode überschreibt die Daten-Datei: %v" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "Ereignis" @@ -1105,7 +1105,7 @@ msgstr "" "gefunden." #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" @@ -1126,11 +1126,11 @@ msgstr "Fehlgeschlagene Programmierung" msgid "Failed to burn bootloader" msgstr "Schreiben des Bootloaders fehlgeschlagen" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "Erzeugen des Datenverzeichnisses fehlgeschlagen" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "Erzeugen des Download-Verzeichnisses fehlgeschlagen" @@ -1317,7 +1317,7 @@ msgstr "%s installiert" msgid "Installing %s" msgstr "%s wird installiert" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "Bibliothek %s wird installiert" @@ -1360,7 +1360,7 @@ msgstr "Ungültige TCP-Adresse: Port fehlt" msgid "Invalid URL" msgstr "Ungültige URL" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "Ungültige zusätzliche URL: %v" @@ -1386,7 +1386,7 @@ msgstr "Ungültige Datengröße regexp: %s" msgid "Invalid eeprom size regexp: %s" msgstr "Ungültige EEPROM-Größe: %s" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "Ungültige Index-URL: %s" @@ -1406,7 +1406,7 @@ msgstr "Ungültige Bibliothek" msgid "Invalid logging level: %s" msgstr "Ungültiger Protokoll-Level: %s" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "Ungültige Netzwerk-Konfiguration: %s" @@ -1418,7 +1418,7 @@ msgstr "Ungültiger network.proxy '%[1]s':%[2]s" msgid "Invalid output format: %s" msgstr "Ungültiges Ausgabeformat: %s" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "Ungültiger Paketindex in %s" @@ -1499,7 +1499,7 @@ msgstr "Bibliothek %s ist bereits die neueste Version" msgid "Library %s is not installed" msgstr "Bibliothek %s ist nicht installiert" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "Bibliothek %s nicht gefunden" @@ -1579,8 +1579,8 @@ msgstr "Listet alle verbundenen Platinen auf." msgid "Lists cores and libraries that can be upgraded" msgstr "Auflisten der upgradebaren Cores und Bibliotheken" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "Indexdatei wird geladen: %v" @@ -1678,7 +1678,7 @@ msgstr "Name '%s'" msgid "New upload port: %[1]s (%[2]s)" msgstr "Neuer Upload-Port: %[1]s (%[2]s)" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "Keine Platinen gefunden." @@ -1969,7 +1969,7 @@ msgstr "" "Bitte gib ein FQBN an. Das Board an Port %[1]s mit Protokoll %[2]s kann " "nicht identifiziert werden" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Port" @@ -2034,7 +2034,7 @@ msgstr "Programmers:" msgid "Property '%s' is undefined" msgstr "Eigenschaft '%s' ist nicht definiert" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "Protokoll" @@ -2415,7 +2415,7 @@ msgstr "Überspringe die Werkzeugkonfiguration." msgid "Skipping: %[1]s" msgstr "Wird übersprungen: %[1]s" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "Einige Indizes konnten nicht aktualisiert werden." @@ -2573,7 +2573,7 @@ msgstr "Versuche %s zu starten" msgid "Turns on verbose mode." msgstr "Schaltet den ausführlichen Modus ein." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "Typ" @@ -2609,7 +2609,7 @@ msgstr "Das Home-Verzeichnis des Benutzers kann nicht abgerufen werden: %v" msgid "Unable to open file for logging: %s" msgstr "Die Datei kann nicht für die Protokollierung geöffnet werden: %s" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "URL kann nicht geparst werden" @@ -2635,7 +2635,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Deinstalliert eine oder mehrere Bibliotheken." -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "Unbekannt" @@ -2959,7 +2959,7 @@ msgstr "Verzeichnis der eingebauten Bibliotheken nicht festgelegt" msgid "can't find latest release of %s" msgstr "Die neueste Version von %s wurde nicht gefunden" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "Die neueste Version des Tools %s wurde nicht gefunden" @@ -3631,7 +3631,7 @@ msgstr "Pluggable discovery bereits hinzugefügt: %s" msgid "port" msgstr "Port" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "Port nicht gefunden: %[1]s %[2]s" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index 5478e6b8b8e..09319aac187 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -250,7 +250,7 @@ msgstr "Comandos disponibles:" msgid "Binary file to upload." msgstr "Archivo binario para cargar." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Nombre de la placa" @@ -460,7 +460,7 @@ msgstr "Configurando plataforma." msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "Conectado" @@ -468,7 +468,7 @@ msgstr "Conectado" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "Núcleo" @@ -476,7 +476,7 @@ msgstr "Núcleo" msgid "Could not connect via HTTP" msgstr "No se pudo conectar vía HTTP" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "No se ha podido crear el directorio índice." @@ -616,7 +616,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "Desconectado" @@ -657,13 +657,13 @@ msgstr "Descargando %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Descargando el índice: %s" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "Descargando la librería %s" @@ -755,7 +755,7 @@ msgstr "Error creando el archivo de sketch" msgid "Error creating sketch: %v" msgstr "Error creando el sketch: %v" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "Error detectando placas: %v" @@ -768,7 +768,7 @@ msgstr "Error al descargar %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Error descargando %s" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Error descargando el índice '%s'" @@ -776,7 +776,7 @@ msgstr "Error descargando el índice '%s'" msgid "Error downloading index signature '%s'" msgstr "Error descargando el índice de firmas '%s'" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "Error descargando la librería %s" @@ -805,7 +805,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -893,7 +893,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1051,7 +1051,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1072,7 +1072,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" @@ -1093,11 +1093,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1263,7 +1263,7 @@ msgstr "Instalado %s" msgid "Installing %s" msgstr "Instalando %s" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "Instalando la librería %s" @@ -1304,7 +1304,7 @@ msgstr "" msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" @@ -1330,7 +1330,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1350,7 +1350,7 @@ msgstr "Librería inválida" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1362,7 +1362,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1440,7 +1440,7 @@ msgstr "La librería %s ya se encuentra en la versión más reciente" msgid "Library %s is not installed" msgstr "La librería %s no está instalada" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "Librería %s no encontrada" @@ -1512,8 +1512,8 @@ msgstr "Enumera todas las placas conectadas." msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1607,7 +1607,7 @@ msgstr "Nombre: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "No se encontraron placas." @@ -1875,7 +1875,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Puerto" @@ -1940,7 +1940,7 @@ msgstr "Programadores:" msgid "Property '%s' is undefined" msgstr "La propiedad '%s' no está definida" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "Protocolo" @@ -2264,7 +2264,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2395,7 +2395,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "Habilitar el modo verbose." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "Tipo" @@ -2429,7 +2429,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2455,7 +2455,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Desinstalar una o más librerías." -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2746,7 +2746,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3402,7 +3402,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index 10e2abcdc4a..55515004a6d 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -242,7 +242,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -445,7 +445,7 @@ msgstr "Configuration de la plateforme." msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "Connecté" @@ -453,7 +453,7 @@ msgstr "Connecté" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -461,7 +461,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -596,7 +596,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -637,13 +637,13 @@ msgstr "Téléchargement %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -733,7 +733,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -746,7 +746,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -754,7 +754,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -870,7 +870,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "Erreur lors de l'installation de la librairie Zip : %v" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1028,7 +1028,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1049,7 +1049,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1070,11 +1070,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1241,7 +1241,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1282,7 +1282,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1308,7 +1308,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1328,7 +1328,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1340,7 +1340,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1417,7 +1417,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "" @@ -1489,8 +1489,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1585,7 +1585,7 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1851,7 +1851,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Port" @@ -1916,7 +1916,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2236,7 +2236,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2365,7 +2365,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2423,7 +2423,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2717,7 +2717,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3373,7 +3373,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index f810241c0d3..cc709f5d8bd 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -238,7 +238,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -441,7 +441,7 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "" @@ -449,7 +449,7 @@ msgstr "" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -457,7 +457,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -592,7 +592,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -633,13 +633,13 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -729,7 +729,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -742,7 +742,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -750,7 +750,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -779,7 +779,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -866,7 +866,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1024,7 +1024,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1045,7 +1045,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1066,11 +1066,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1234,7 +1234,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1275,7 +1275,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1301,7 +1301,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1321,7 +1321,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1333,7 +1333,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1410,7 +1410,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "" @@ -1482,8 +1482,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1576,7 +1576,7 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1840,7 +1840,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "" @@ -1905,7 +1905,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2223,7 +2223,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2352,7 +2352,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "" @@ -2386,7 +2386,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2410,7 +2410,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2698,7 +2698,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3354,7 +3354,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index f6e56eefb01..dc99e185df8 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -258,7 +258,7 @@ msgstr "Comandi disponibili:" msgid "Binary file to upload." msgstr "File binario da caricare." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Nome scheda" @@ -472,7 +472,7 @@ msgstr "Configurazione della piattaforma." msgid "Configuring tool." msgstr "Strumento di configurazione." -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "Connesso" @@ -480,7 +480,7 @@ msgstr "Connesso" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Connessione in corso a %s. Premere CTRL-C per uscire." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "Core" @@ -488,7 +488,7 @@ msgstr "Core" msgid "Could not connect via HTTP" msgstr "Non è possibile connettersi via HTTP" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "Impossibile creare la directory dell'indice" @@ -637,7 +637,7 @@ msgid "Disable completion description for shells that support it" msgstr "" "Disabilita la descrizione del completamento per le shell che la supportano." -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "Disconnesso" @@ -681,13 +681,13 @@ msgstr "Sto scaricando %s" msgid "Downloading index signature: %s" msgstr "Sto scaricando la firma dell'indice: %s" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Sto scaricando l'indice: %s" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "Sto scaricando la libreria %s" @@ -787,7 +787,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "Errore durante la creazione dello sketch: %v" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "Si è verificato un errore durante il rilevamento delle schede: %v" @@ -800,7 +800,7 @@ msgstr "Si è verificato un errore durante lo scaricamento di %[1]s:%[2]v" msgid "Error downloading %s" msgstr "Si è verificato un errore durante lo scaricamento di %s" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Si è verificato un errore durante lo scaricamento dell'indice '%s'" @@ -810,7 +810,7 @@ msgstr "" "Si è verificato un errore durante lo scaricamento della firma dell'indice " "'%s'" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "Errore durante il download della libreria %s" @@ -839,9 +839,9 @@ msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" -msgstr "" +msgstr "Si è verificato un errore durante il rilevamento della scheda" #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" @@ -945,7 +945,7 @@ msgid "Error installing Zip Library: %v" msgstr "" "Si è verificato un errore durante l'installazione della libreria zip: %v" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "Si è verificato un errore durante l'installazione della libreria %s" @@ -1131,7 +1131,7 @@ msgstr "Errore: la descrizione del comando non è supportata da %v" msgid "Error: invalid source code overrides data file: %v" msgstr "Errore: il codice sorgente non è valido e sovrascrive i dati: %v" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "Evento" @@ -1154,7 +1154,7 @@ msgstr "" "un file" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" @@ -1175,11 +1175,11 @@ msgstr "Programmazione non riuscita" msgid "Failed to burn bootloader" msgstr "Impossibile masterizzare il bootloader" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "Impossibile creare la directory dei dati" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "Impossibile creare la directory degli scaricamenti" @@ -1362,7 +1362,7 @@ msgstr "Installato %s" msgid "Installing %s" msgstr "Installazione %s" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "Sto installando la libreria %s" @@ -1403,7 +1403,7 @@ msgstr "Indirizzo TCP non valido: manca la porta" msgid "Invalid URL" msgstr "URL non è valido" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "L' URL aggiuntivo non è valido: %v" @@ -1430,7 +1430,7 @@ msgstr "La dimensione dei dati della regexp non è valida: %s" msgid "Invalid eeprom size regexp: %s" msgstr "La dimensione della eeprom della regexp non è valida: %s" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "URL non valido: %s" @@ -1450,7 +1450,7 @@ msgstr "Libreria non è valida" msgid "Invalid logging level: %s" msgstr "Livello di log non valido: %s" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "Configurazione di rete non valida: %s" @@ -1462,7 +1462,7 @@ msgstr "network.proxy '%[1]s' non è valido: %[2]s" msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "Indice del pacchetto non valido in %s" @@ -1488,7 +1488,7 @@ msgstr "La dimensione della regexp non è valida: %s" #: main.go:85 msgid "Invalid value in configuration" -msgstr "" +msgstr "Nella configurazione c'è un valore non valido" #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" @@ -1542,7 +1542,7 @@ msgstr "La libreria %s è già alla versione più recente" msgid "Library %s is not installed" msgstr "La libreria %s non è installata" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "Impossibile trovare la libreria %s" @@ -1622,8 +1622,8 @@ msgstr "Lista di tutte le schede connesse." msgid "Lists cores and libraries that can be upgraded" msgstr "Elenca i core e le librerie che possono essere aggiornati" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "Sto caricando il file dell'indice: %v" @@ -1722,7 +1722,7 @@ msgstr "Nome: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "Nuova porta di caricamento: %[1]s (%[2]s)" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "Nessuna scheda trovata." @@ -2015,7 +2015,7 @@ msgstr "" "Specificare un FQBN. La scheda sulla porta %[1]s con protocollo %[2]s non " "può essere identificata" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Porta" @@ -2080,7 +2080,7 @@ msgstr "Programmatori:" msgid "Property '%s' is undefined" msgstr "La proprietà '%s' non è definita" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "Protocollo" @@ -2465,7 +2465,7 @@ msgstr "Salta la configurazione dello strumento." msgid "Skipping: %[1]s" msgstr "Salta: %[1]s" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "Non è stato possibile aggiornare alcuni indici." @@ -2617,7 +2617,7 @@ msgstr "Prova ad eseguire %s" msgid "Turns on verbose mode." msgstr "Attiva la modalità verbosa." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "Tipo" @@ -2653,7 +2653,7 @@ msgstr "Impossibile ottenere la home directory dell'utente: %v" msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "Non è stato possibile analizzare l'URL" @@ -2679,7 +2679,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "Disinstalla una o più librerie." -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "Sconosciuto" @@ -2819,12 +2819,15 @@ msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" #: internal/cli/monitor/monitor.go:246 msgid "Using default monitor configuration for board: %s" msgstr "" +"Utilizzo della configurazione predefinita del monitor della scheda: %s" #: internal/cli/monitor/monitor.go:248 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" msgstr "" +"Si sta utilizzando una configurazione generica del monitor.\n" +"ATTENZIONE: per funzionare correttamente, la scheda potrebbe richiedere impostazioni diverse!\n" #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" @@ -2990,7 +2993,7 @@ msgstr "la directory delle librerie integrate non è configurata" msgid "can't find latest release of %s" msgstr "Impossibile trovare l'ultima versione di %s" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "Impossibile trovare l'ultima versione del tool %s" @@ -3673,7 +3676,7 @@ msgstr "rilevamento collegabile già aggiunto: %s" msgid "port" msgstr "porta" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "la porta non è stata trovata: %[1]s %[2]s" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 2f584c46489..3ace5419b58 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -240,7 +240,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -443,7 +443,7 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "" @@ -451,7 +451,7 @@ msgstr "" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -459,7 +459,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -594,7 +594,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -635,13 +635,13 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -731,7 +731,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -744,7 +744,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -752,7 +752,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -781,7 +781,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -868,7 +868,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1047,7 +1047,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1068,11 +1068,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1237,7 +1237,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1278,7 +1278,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1304,7 +1304,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1324,7 +1324,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1336,7 +1336,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1413,7 +1413,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "" @@ -1485,8 +1485,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1579,7 +1579,7 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1843,7 +1843,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "シリアルポート" @@ -1908,7 +1908,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2226,7 +2226,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2355,7 +2355,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "タイプ" @@ -2389,7 +2389,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2413,7 +2413,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2702,7 +2702,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3358,7 +3358,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index a1a64907c76..4f010c09d1b 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -238,7 +238,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -441,7 +441,7 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "" @@ -449,7 +449,7 @@ msgstr "" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -457,7 +457,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -592,7 +592,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -633,13 +633,13 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -729,7 +729,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -742,7 +742,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -750,7 +750,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -779,7 +779,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -866,7 +866,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1024,7 +1024,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1045,7 +1045,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1066,11 +1066,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1235,7 +1235,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1276,7 +1276,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1302,7 +1302,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1322,7 +1322,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1334,7 +1334,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1411,7 +1411,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "" @@ -1483,8 +1483,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1577,7 +1577,7 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1841,7 +1841,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "포트" @@ -1906,7 +1906,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2224,7 +2224,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2353,7 +2353,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "타입" @@ -2387,7 +2387,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2411,7 +2411,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2700,7 +2700,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3356,7 +3356,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index ddc7fd77afc..4a2dced11a0 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -238,7 +238,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -441,7 +441,7 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "" @@ -449,7 +449,7 @@ msgstr "" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -457,7 +457,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -592,7 +592,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -633,13 +633,13 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -729,7 +729,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -742,7 +742,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -750,7 +750,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -779,7 +779,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -866,7 +866,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "Feeler bei der Installatioun vun der Bibliothéik %s" @@ -1024,7 +1024,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1045,7 +1045,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1066,11 +1066,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1234,7 +1234,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1275,7 +1275,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1301,7 +1301,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1321,7 +1321,7 @@ msgstr "Ongülteg Bibliothéik" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1333,7 +1333,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1410,7 +1410,7 @@ msgstr "D'Bibliothéik %s huet schon déi neisten Versioun" msgid "Library %s is not installed" msgstr "Bibliothéik %s ass net installéiert" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "Bibliothéik %s net fonnt" @@ -1482,8 +1482,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1576,7 +1576,7 @@ msgstr "Numm: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1840,7 +1840,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "" @@ -1905,7 +1905,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2223,7 +2223,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2352,7 +2352,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "" @@ -2386,7 +2386,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2410,7 +2410,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "Onbekannt" @@ -2698,7 +2698,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3354,7 +3354,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index fab72b65638..33b283595db 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -240,7 +240,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -443,7 +443,7 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "" @@ -451,7 +451,7 @@ msgstr "" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -459,7 +459,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -594,7 +594,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -635,13 +635,13 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -731,7 +731,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -744,7 +744,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -752,7 +752,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -781,7 +781,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -868,7 +868,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1047,7 +1047,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1068,11 +1068,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1239,7 +1239,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1280,7 +1280,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1306,7 +1306,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1326,7 +1326,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1338,7 +1338,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1415,7 +1415,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "" @@ -1487,8 +1487,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1582,7 +1582,7 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1848,7 +1848,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Port" @@ -1913,7 +1913,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2233,7 +2233,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2362,7 +2362,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "Wpisz" @@ -2396,7 +2396,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2420,7 +2420,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2711,7 +2711,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3367,7 +3367,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index e6337d1ef25..53656142417 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -252,7 +252,7 @@ msgstr "Comandos Disponíveis:" msgid "Binary file to upload." msgstr "‎Arquivo binário para carregar.‎" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "Nome da Placa" @@ -467,7 +467,7 @@ msgstr "Configurando plataforma." msgid "Configuring tool." msgstr "Configurando ferramenta." -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "Conectado" @@ -475,7 +475,7 @@ msgstr "Conectado" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Conectando a %s. Pressione CTRL-C para sair." -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "Núcleo" @@ -483,7 +483,7 @@ msgstr "Núcleo" msgid "Could not connect via HTTP" msgstr "Não foi possível conectar via HTTP" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "Não foi possível criar diretório Index" @@ -627,7 +627,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "Desabilitar a realização de descrições para Shells que suportam isso." -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "Desconectado" @@ -668,13 +668,13 @@ msgstr "Baixando %s" msgid "Downloading index signature: %s" msgstr "Baixando assinatura Indes: %s" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Baixando Index: %s" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "Baixando biblioteca %s" @@ -765,7 +765,7 @@ msgstr "Erro ao criar diretório de esboços" msgid "Error creating sketch: %v" msgstr "Erro ao criar esboço: %v" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "Erro ao detectar placas: %v" @@ -778,7 +778,7 @@ msgstr "Erro ao baixar %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Erro ao baixar %s" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Erro ao baixar índice '%s'" @@ -786,7 +786,7 @@ msgstr "Erro ao baixar índice '%s'" msgid "Error downloading index signature '%s'" msgstr "Erro ao baixar assinatura de índice '%s'" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "Erro ao baixar biblioteca %s" @@ -815,7 +815,7 @@ msgstr "Erro durante codificação da saída JSON: %v" msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -903,7 +903,7 @@ msgstr "Erro ao instalar biblioteca Git: %v" msgid "Error installing Zip Library: %v" msgstr "Erro ao instalar biblioteca Zip: %v" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "Erro ao instalar biblioteca %s" @@ -1061,7 +1061,7 @@ msgstr "Erro: descrição de comando não suportado por %v" msgid "Error: invalid source code overrides data file: %v" msgstr "Erro: arquivo de dados que sobrescrevem o código fonte inválido: %v" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "Evento" @@ -1084,7 +1084,7 @@ msgstr "" "encontrado." #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" @@ -1105,11 +1105,11 @@ msgstr "Falha ao programar" msgid "Failed to burn bootloader" msgstr "Falha ao gravar carregador de inicialização" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "Falha ao criar diretório de dados" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "Falha ao criar diretório de downloads" @@ -1286,7 +1286,7 @@ msgstr "%s instalado" msgid "Installing %s" msgstr "Instalado %s" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "Instalando biblioteca %s" @@ -1329,7 +1329,7 @@ msgstr "Endereço TCP inválido: a porta está faltando " msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" @@ -1355,7 +1355,7 @@ msgstr "Tamanho de dados para regexp inválida: %s" msgid "Invalid eeprom size regexp: %s" msgstr "Regexp de tamanho EEPROM inválida: %s" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1375,7 +1375,7 @@ msgstr "Biblioteca inválida" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1387,7 +1387,7 @@ msgstr "network.proxy inválido: '%[1]s':%[2]s" msgid "Invalid output format: %s" msgstr "Formato de saída inválido: %s" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "Índice de pacote inválido em %s" @@ -1467,7 +1467,7 @@ msgstr "A biblioteca %s já está instalada em sua versão mais recente." msgid "Library %s is not installed" msgstr "A biblioteca %s não está instalada" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "A biblioteca %s não foi encontrada" @@ -1547,8 +1547,8 @@ msgstr "Listar todas as placas conectadas." msgid "Lists cores and libraries that can be upgraded" msgstr "Listar núcleos e bibliotecas que podem ser atualizadas" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "Carregando arquivo Index: %v" @@ -1642,7 +1642,7 @@ msgstr "Nome: \"%s\"" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "Nenhuma placa encontrada." @@ -1934,7 +1934,7 @@ msgstr "" "Por favor especifique um FQBN. A placa na porta %[1]s com o protocolo %[2]s " "não pode ser identificada" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Porta" @@ -1999,7 +1999,7 @@ msgstr "Programadores:" msgid "Property '%s' is undefined" msgstr "Propriedade '%s' não definida" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "Protocolo" @@ -2348,7 +2348,7 @@ msgstr "Pulando configuração de ferramenta." msgid "Skipping: %[1]s" msgstr "Pulando: %[1]s" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "Alguns índices não puderam ser atualizados." @@ -2500,7 +2500,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "" @@ -2534,7 +2534,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2558,7 +2558,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2849,7 +2849,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3505,7 +3505,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 2daa4473a85..3de000496d6 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -241,7 +241,7 @@ msgstr "" msgid "Binary file to upload." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "" @@ -444,7 +444,7 @@ msgstr "" msgid "Configuring tool." msgstr "" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "" @@ -452,7 +452,7 @@ msgstr "" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "" @@ -460,7 +460,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "" @@ -595,7 +595,7 @@ msgstr "" msgid "Disable completion description for shells that support it" msgstr "" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "" @@ -636,13 +636,13 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "" @@ -732,7 +732,7 @@ msgstr "" msgid "Error creating sketch: %v" msgstr "" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "" @@ -745,7 +745,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -753,7 +753,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "" @@ -782,7 +782,7 @@ msgstr "" msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -869,7 +869,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "" @@ -1027,7 +1027,7 @@ msgstr "" msgid "Error: invalid source code overrides data file: %v" msgstr "" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "" @@ -1048,7 +1048,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "" @@ -1069,11 +1069,11 @@ msgstr "" msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "" @@ -1239,7 +1239,7 @@ msgstr "" msgid "Installing %s" msgstr "" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "" @@ -1280,7 +1280,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "" @@ -1306,7 +1306,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "" @@ -1326,7 +1326,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1338,7 +1338,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "" @@ -1415,7 +1415,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "" @@ -1487,8 +1487,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "" @@ -1581,7 +1581,7 @@ msgstr "" msgid "New upload port: %[1]s (%[2]s)" msgstr "" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "" @@ -1845,7 +1845,7 @@ msgid "" " identified" msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Порт" @@ -1910,7 +1910,7 @@ msgstr "" msgid "Property '%s' is undefined" msgstr "" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "" @@ -2230,7 +2230,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "" @@ -2359,7 +2359,7 @@ msgstr "" msgid "Turns on verbose mode." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "Тип" @@ -2393,7 +2393,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "" @@ -2417,7 +2417,7 @@ msgstr "" msgid "Uninstalls one or more libraries." msgstr "" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "" @@ -2707,7 +2707,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "" @@ -3363,7 +3363,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index 27e6a1c067c..4977f5e7c6a 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -242,7 +242,7 @@ msgstr "可用命令:" msgid "Binary file to upload." msgstr "要上传的二进制文件。" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "开发板名" @@ -445,7 +445,7 @@ msgstr "配置平台。" msgid "Configuring tool." msgstr "配置工具。" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "已连接" @@ -453,7 +453,7 @@ msgstr "已连接" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "内核" @@ -461,7 +461,7 @@ msgstr "内核" msgid "Could not connect via HTTP" msgstr "无法通过 HTTP 连接" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "无法新建索引目录" @@ -596,7 +596,7 @@ msgstr "保存生成文件的目录。默认为 ./docs,该目录必须存在 msgid "Disable completion description for shells that support it" msgstr "对于支持完成描述的 shell,禁用完成描述" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "已断开连接" @@ -637,13 +637,13 @@ msgstr "正在下载 %s" msgid "Downloading index signature: %s" msgstr "正在下载 %s 索引签名" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "正在下载 %s 索引" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "正在下载 %s 库" @@ -733,7 +733,7 @@ msgstr "新建项目存档时出错" msgid "Error creating sketch: %v" msgstr "新建项目时出错:%v" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "检测开发板时出错:%v" @@ -746,7 +746,7 @@ msgstr "下载 %[1]s 时出错:%[2]v" msgid "Error downloading %s" msgstr "下载 %s 时出错" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下载 ‘%s’ 索引时出错" @@ -754,7 +754,7 @@ msgstr "下载 ‘%s’ 索引时出错" msgid "Error downloading index signature '%s'" msgstr "下载 ‘%s’ 索引签名时出错" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "下载 %s 库时出错" @@ -783,7 +783,7 @@ msgstr "输出编码 JSON 过程时出错:%v" msgid "Error during Upload: %v" msgstr "上传时出错:%v" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" msgstr "" @@ -870,7 +870,7 @@ msgstr "安装 Git 库时出错:%v" msgid "Error installing Zip Library: %v" msgstr "安装 Zip 库时出错:%v" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "安装 %s 库时出错" @@ -1028,7 +1028,7 @@ msgstr "错误:%v 不支持命令说明" msgid "Error: invalid source code overrides data file: %v" msgstr "错误:无效的源代码覆盖了数据文件:%v" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "事件" @@ -1049,7 +1049,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "应在 %s 目录中编译项目,但它是一个文件" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" @@ -1070,11 +1070,11 @@ msgstr "编译失败" msgid "Failed to burn bootloader" msgstr "无法烧录引导加载程序" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "新建数据目录失败" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "新建下载文件夹失败" @@ -1238,7 +1238,7 @@ msgstr "已安装 %s" msgid "Installing %s" msgstr "正在安装 %s" -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "正在安装 %s 库" @@ -1279,7 +1279,7 @@ msgstr "无效的 TCP 地址:缺少端口" msgid "Invalid URL" msgstr "无效的地址" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "无效的附加地址:%v" @@ -1305,7 +1305,7 @@ msgstr "无效的数据大小正则表达式:%s" msgid "Invalid eeprom size regexp: %s" msgstr "无效的 eeprom 大小正则表达式:%s" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "无效的网站主页: %s" @@ -1325,7 +1325,7 @@ msgstr "无效的库" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "" @@ -1337,7 +1337,7 @@ msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "%s 中的软件包索引无效" @@ -1414,7 +1414,7 @@ msgstr "库 %s 已经是最新版本" msgid "Library %s is not installed" msgstr "%s 库未安装" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "未找到 %s 库" @@ -1486,8 +1486,8 @@ msgstr "列出所有已连接的开发板。" msgid "Lists cores and libraries that can be upgraded" msgstr "列出可以升级的内核和库" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "正在加载索引文件:%v" @@ -1580,7 +1580,7 @@ msgstr "名:“%s”" msgid "New upload port: %[1]s (%[2]s)" msgstr "新的上传端口%[1]s(%[2]s)" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "没有找到开发板" @@ -1848,7 +1848,7 @@ msgid "" " identified" msgstr "请指定一个 FQBN。%[1]s 端口上的开发板与协议 %[2]s 不能被识别" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "端口" @@ -1913,7 +1913,7 @@ msgstr "编程器:" msgid "Property '%s' is undefined" msgstr "‘%s’ 属性未定义" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "协议" @@ -2272,7 +2272,7 @@ msgstr "跳过工具配置。" msgid "Skipping: %[1]s" msgstr "跳过:%[1]s" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "一些索引无法更新。" @@ -2405,7 +2405,7 @@ msgstr "尝试运行 %s" msgid "Turns on verbose mode." msgstr "打开详细模式。" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "类型" @@ -2439,7 +2439,7 @@ msgstr "无法获取用户主目录:%v" msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "无法解析地址" @@ -2463,7 +2463,7 @@ msgstr "如果不再使用,卸载一个或多个内核和相应的工具依赖 msgid "Uninstalls one or more libraries." msgstr "卸载一个或多个库。" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "未知" @@ -2753,7 +2753,7 @@ msgstr "未设置内置库目录" msgid "can't find latest release of %s" msgstr "找不到 %s 的最新版本" -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "找不到 %s 工具的最新版本" @@ -3409,7 +3409,7 @@ msgstr "已添加可插入 discovery:%s" msgid "port" msgstr "端口" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "未找到端口:%[1]s %[2]s" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 9ec90b6f6ba..cd41c1f2b0d 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -238,7 +238,7 @@ msgstr "可用命令:" msgid "Binary file to upload." msgstr "要上傳的二進位檔" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" msgstr "開發板名" @@ -441,7 +441,7 @@ msgstr "設定平台" msgid "Configuring tool." msgstr "設定工具" -#: internal/cli/board/list.go:196 +#: internal/cli/board/list.go:198 msgid "Connected" msgstr "已連接" @@ -449,7 +449,7 @@ msgstr "已連接" msgid "Connecting to %s. Press CTRL-C to exit." msgstr "連接 %s 中。按 CTRL-C 結束。" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" msgstr "核心" @@ -457,7 +457,7 @@ msgstr "核心" msgid "Could not connect via HTTP" msgstr "無法通過 HTTP 連接" -#: commands/instances.go:487 +#: commands/instances.go:484 msgid "Could not create index directory" msgstr "無法建立索引目錄" @@ -592,7 +592,7 @@ msgstr "目錄用來保存生成檔。預設為 ./docs,本目錄必須存在" msgid "Disable completion description for shells that support it" msgstr "關閉 shell 的完成描述功能" -#: internal/cli/board/list.go:197 +#: internal/cli/board/list.go:199 msgid "Disconnected" msgstr "斷開連接" @@ -633,13 +633,13 @@ msgstr "下載 %s" msgid "Downloading index signature: %s" msgstr "下載索引簽名: %s" -#: commands/instances.go:564 commands/instances.go:582 -#: commands/instances.go:596 commands/instances.go:613 +#: commands/instances.go:561 commands/instances.go:579 +#: commands/instances.go:593 commands/instances.go:610 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "下載索引: %s" -#: commands/instances.go:374 +#: commands/instances.go:371 msgid "Downloading library %s" msgstr "下載程式庫 %s" @@ -729,7 +729,7 @@ msgstr "建立 sketch 檔時出錯" msgid "Error creating sketch: %v" msgstr "建立 sketch 時出錯: %v" -#: internal/cli/board/list.go:83 internal/cli/board/list.go:96 +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" msgstr "偵測開發板時出錯: %v" @@ -742,7 +742,7 @@ msgstr "下載 %[1]s 出錯: %[2]v" msgid "Error downloading %s" msgstr "下載 %s 出錯" -#: commands/instances.go:661 internal/arduino/resources/index.go:83 +#: commands/instances.go:658 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下載索引'%s'時出錯" @@ -750,7 +750,7 @@ msgstr "下載索引'%s'時出錯" msgid "Error downloading index signature '%s'" msgstr "下載索引簽名 '%s' 出錯" -#: commands/instances.go:384 commands/instances.go:390 +#: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" msgstr "下載程式庫 %s 出錯" @@ -779,9 +779,9 @@ msgstr "輸出 JSON 編碼過程出錯:%v" msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" -#: internal/cli/arguments/port.go:141 +#: internal/cli/arguments/port.go:138 msgid "Error during board detection" -msgstr "" +msgstr "開發板偵測時出現錯誤。" #: internal/cli/compile/compile.go:375 msgid "Error during build: %v" @@ -866,7 +866,7 @@ msgstr "安裝 Git 程式庫出錯: %v" msgid "Error installing Zip Library: %v" msgstr "安裝 Zip 程式庫出錯: %v" -#: commands/instances.go:400 +#: commands/instances.go:397 msgid "Error installing library %s" msgstr "安裝程式庫 %s 出錯" @@ -1024,7 +1024,7 @@ msgstr "錯誤: %v 不支持命令說明" msgid "Error: invalid source code overrides data file: %v" msgstr "錯誤: 無效原始碼覆蓋了資料檔: %v" -#: internal/cli/board/list.go:102 +#: internal/cli/board/list.go:104 msgid "Event" msgstr "事件" @@ -1045,7 +1045,7 @@ msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "%s 目錄內應該有已編譯的 sketch,卻只有個檔案" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" msgstr "FQBN" @@ -1066,11 +1066,11 @@ msgstr "燒錄失敗" msgid "Failed to burn bootloader" msgstr "燒錄 bootloader 失敗" -#: commands/instances.go:90 +#: commands/instances.go:87 msgid "Failed to create data directory" msgstr "建立資料目錄失敗" -#: commands/instances.go:79 +#: commands/instances.go:76 msgid "Failed to create downloads directory" msgstr "建立下載檔案夾失敗" @@ -1234,7 +1234,7 @@ msgstr "已安裝 %s" msgid "Installing %s" msgstr "安裝 %s..." -#: commands/instances.go:398 +#: commands/instances.go:395 msgid "Installing library %s" msgstr "安裝程式庫 %s" @@ -1275,7 +1275,7 @@ msgstr "無效的 TCP 位址:缺少連接埠" msgid "Invalid URL" msgstr "無效的網址" -#: commands/instances.go:186 +#: commands/instances.go:183 msgid "Invalid additional URL: %v" msgstr "無效的額外網址: %v" @@ -1301,7 +1301,7 @@ msgstr "無效的資料大小正規表示式: %s" msgid "Invalid eeprom size regexp: %s" msgstr "無效的 eeprom 大小正規表示式: %s" -#: commands/instances.go:597 +#: commands/instances.go:594 msgid "Invalid index URL: %s" msgstr "無效的索引網址: 1%s" @@ -1321,7 +1321,7 @@ msgstr "無效的程式庫" msgid "Invalid logging level: %s" msgstr "無效的日誌層級: %s" -#: commands/instances.go:614 +#: commands/instances.go:611 msgid "Invalid network configuration: %s" msgstr "網路設定無效: %s" @@ -1333,7 +1333,7 @@ msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" msgid "Invalid output format: %s" msgstr "無效的輸出格式: %s" -#: commands/instances.go:581 +#: commands/instances.go:578 msgid "Invalid package index in %s" msgstr "%s 內的套件索引無效" @@ -1410,7 +1410,7 @@ msgstr "程式庫 %s 已是最新版" msgid "Library %s is not installed" msgstr "程式庫 %s 未安裝" -#: commands/instances.go:377 +#: commands/instances.go:374 msgid "Library %s not found" msgstr "未找到程式庫 %s " @@ -1482,8 +1482,8 @@ msgstr "列出所有連接的開發板" msgid "Lists cores and libraries that can be upgraded" msgstr "列出可升級的核心和程式庫" -#: commands/instances.go:224 commands/instances.go:235 -#: commands/instances.go:345 +#: commands/instances.go:221 commands/instances.go:232 +#: commands/instances.go:342 msgid "Loading index file: %v" msgstr "載入索引檔: %v" @@ -1576,7 +1576,7 @@ msgstr "名: “%s”" msgid "New upload port: %[1]s (%[2]s)" msgstr "新上傳連接埠: %[1]s (%[2]s)" -#: internal/cli/board/list.go:130 +#: internal/cli/board/list.go:132 msgid "No boards found." msgstr "沒找到開發板" @@ -1844,7 +1844,7 @@ msgid "" " identified" msgstr "請指定一個 FQBN。%[1]s 連接埠以協議 %[2]s 的開發板無法識別" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "連接埠" @@ -1909,7 +1909,7 @@ msgstr "燒錄器:" msgid "Property '%s' is undefined" msgstr "'%s' 屬性未定義" -#: internal/cli/board/list.go:140 +#: internal/cli/board/list.go:142 msgid "Protocol" msgstr "協議" @@ -2259,7 +2259,7 @@ msgstr "跳過工具設定" msgid "Skipping: %[1]s" msgstr "跳過: %[1]s" -#: commands/instances.go:634 +#: commands/instances.go:631 msgid "Some indexes could not be updated." msgstr "有些索引無法更新" @@ -2392,7 +2392,7 @@ msgstr "嘗試執行 %s" msgid "Turns on verbose mode." msgstr "開啟囉嗦模式" -#: internal/cli/board/list.go:102 internal/cli/board/list.go:140 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" msgstr "類型" @@ -2426,7 +2426,7 @@ msgstr "無法取得用戶家目錄: %v" msgid "Unable to open file for logging: %s" msgstr "無法開啟檔案做日誌記錄: %s" -#: commands/instances.go:563 +#: commands/instances.go:560 msgid "Unable to parse URL" msgstr "無法解析網址" @@ -2450,7 +2450,7 @@ msgstr "如不再需用到, 卸除一或多個核心及相依" msgid "Uninstalls one or more libraries." msgstr "卸載一或多個程式庫" -#: internal/cli/board/list.go:172 +#: internal/cli/board/list.go:174 msgid "Unknown" msgstr "未知的" @@ -2582,13 +2582,15 @@ msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " #: internal/cli/monitor/monitor.go:246 msgid "Using default monitor configuration for board: %s" -msgstr "" +msgstr "使用 %s 開發板的監控設定。" #: internal/cli/monitor/monitor.go:248 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" msgstr "" +"使用一般監控設定。.\n" +"警告: 您的開發板可能需要不同的設定才能適用!\n" #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" @@ -2740,7 +2742,7 @@ msgstr "內建程式庫目錄未設定" msgid "can't find latest release of %s" msgstr "找不到最新版的 %s " -#: commands/instances.go:275 +#: commands/instances.go:272 msgid "can't find latest release of tool %s" msgstr "找不到最新版的工具 %s " @@ -3396,7 +3398,7 @@ msgstr "已加入可插拔探索: %s" msgid "port" msgstr "連接埠" -#: internal/cli/arguments/port.go:122 +#: internal/cli/arguments/port.go:119 msgid "port not found: %[1]s %[2]s" msgstr "沒找到連接埠: %[1]s %[2]s" From b8c927b5f949faf2f5b93ddd8aa0992d0f8b3d2e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 26 Jul 2024 17:13:58 +0200 Subject: [PATCH 228/361] Improved `{build.*.platform.path}` vars enumeration. (#2652) * Improved build.*.platform.path vars enumeration * Updated docs * Added tests * Added a compatibility note --- docs/platform-specification.md | 15 ++++-- go.mod | 2 +- go.sum | 4 +- .../cores/packagemanager/package_manager.go | 5 ++ internal/integrationtest/core/core_test.go | 48 +++++++++++++++++++ .../hardware/test/avr/boards.txt | 7 +++ 6 files changed, 74 insertions(+), 7 deletions(-) create mode 100644 internal/integrationtest/core/testdata/sketchbook_with_extended_platform/hardware/test/avr/boards.txt diff --git a/docs/platform-specification.md b/docs/platform-specification.md index 11b21249bd1..8d01bb098dd 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -83,8 +83,9 @@ suffixes are `.linux`, `.windows` and `.macosx`. The following automatically generated properties can be used globally in all configuration files: -- `{runtime.platform.path}`: the absolute path of the [board platform](#platform-terminology) folder (i.e. the folder - containing boards.txt) +- `{runtime.platform.path}`: is the absolute path of the [board platform](#platform-terminology) folder (i.e. the folder + containing boards.txt) unless `{runtime.use_core_platform_path_for_runtime_platform_path}` is set to `true` in this + case, the value is the absolute path of the referenced core platform. - `{runtime.hardware.path}`: the absolute path of the hardware folder (i.e. the folder containing the [board platform](#platform-terminology) folder) - `{runtime.ide.path}`: the absolute path of the Arduino IDE or Arduino CLI folder @@ -113,8 +114,11 @@ The following automatically generated properties can be used globally in all con - `{extra.time.zone}`: local timezone offset without the DST component - `{extra.time.dst}`: local daylight savings time offset -Compatibility note: Versions before Arduino IDE 1.6.0 only used one digit per version number component in -`{runtime.ide.version}` (so 1.5.9 was `159`, not `10509`). +Compatibility notes: + +- Versions before Arduino IDE 1.6.0 only used one digit per version number component in `{runtime.ide.version}` (so + 1.5.9 was `159`, not `10509`). +- `{runtime.use_core_platform_path_for_runtime_platform_path}` support is available from Arduino CLI >=1.0.4. ## platform.txt @@ -534,6 +538,9 @@ This explains the presence of **{build.mcu}** or **{build.board}** in the platfo overwritten respectively by **{uno.build.mcu}** and **{uno.build.board}** when the Uno board is selected! Moreover the following properties are automatically generated: +- `{build.board.platform.path}`: The path to the selected board's platform. (available since Arduino CLI >=1.0.4) +- `{build.core.platform.path}`: The path to the core's platform. It may differ from the board's platform path because + the latter may reference a core from another platform. (available since Arduino CLI >=1.0.4) - `{build.core.path}`: The path to the selected board's core folder (inside the [core platform](#platform-terminology), for example hardware/arduino/avr/core/arduino) - `{build.system.path}`: The path to the [core platform](#platform-terminology)'s system folder if available (for diff --git a/go.mod b/go.mod index e495b5a2e7a..7481a151b00 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,7 @@ require ( go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.2.0 go.bug.st/relaxed-semver v0.12.0 - go.bug.st/testifyjson v1.1.1 + go.bug.st/testifyjson v1.2.0 golang.org/x/term v0.22.0 golang.org/x/text v0.16.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 diff --git a/go.sum b/go.sum index 7c8bc44a9e8..c3ff0cd2e62 100644 --- a/go.sum +++ b/go.sum @@ -219,8 +219,8 @@ go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= -go.bug.st/testifyjson v1.1.1 h1:nHotIMK151LF3vYsU/b2RaoVaWCgrf2kvQeGNoZkGaA= -go.bug.st/testifyjson v1.1.1/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.bug.st/testifyjson v1.2.0 h1:0pAfOUMVCOJ6bb9JcC4UmnACjxwxv2Ojb6Z9chaQBjg= +go.bug.st/testifyjson v1.2.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index 2821b23ddb4..aaaf675a410 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -372,12 +372,17 @@ func (pme *Explorer) ResolveFQBN(fqbn *cores.FQBN) ( // Add runtime build properties buildProperties.Merge(boardPlatformRelease.RuntimeProperties()) + buildProperties.SetPath("build.board.platform.path", boardPlatformRelease.InstallDir) + buildProperties.SetPath("build.core.platform.path", corePlatformRelease.InstallDir) buildProperties.SetPath("build.core.path", corePlatformRelease.InstallDir.Join("cores", core)) buildProperties.SetPath("build.system.path", corePlatformRelease.InstallDir.Join("system")) buildProperties.Set("build.variant.path", "") if variant != "" { buildProperties.SetPath("build.variant.path", variantPlatformRelease.InstallDir.Join("variants", variant)) } + if buildProperties.GetBoolean("runtime.use_core_platform_path_for_runtime_platform_path") { + buildProperties.Set("runtime.platform.path", buildProperties.Get("build.core.platform.path")) + } for _, tool := range pme.GetAllInstalledToolsReleases() { buildProperties.Merge(tool.RuntimeProperties()) diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index fbda8da1c0c..1f8850f0856 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -18,6 +18,7 @@ package core_test import ( "crypto/md5" "encoding/hex" + "encoding/json" "fmt" "os" "path/filepath" @@ -1303,3 +1304,50 @@ func TestCoreHavingIncompatibleDepTools(t *testing.T) { require.Contains(t, lines, []string{"incompatible_vendor:avr", "n/a", "Incompatible", "Boards"}) } } + +func TestReferencedCoreBuildAndRuntimeProperties(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + testSketchbook, err := paths.New("testdata", "sketchbook_with_extended_platform").Abs() + require.NoError(t, err) + + // Install custom platform + err = testSketchbook.Join("hardware").CopyDirTo(cli.SketchbookDir().Join("hardware")) + require.NoError(t, err) + + // Determine some useful paths + boardPlatformPath := cli.SketchbookDir().Join("hardware", "test", "avr").String() + corePlatformPath := cli.DataDir().Join("packages", "arduino", "hardware", "avr", "1.8.6").String() + corePath := cli.DataDir().Join("packages", "arduino", "hardware", "avr", "1.8.6", "cores", "arduino").String() + + jsonEncode := func(in string) string { + enc, err := json.Marshal(in) + require.NoError(t, err) + return string(enc) + } + + // Check runtime variables are populated correctly + { + outJson, _, err := cli.Run("board", "details", "-b", "test:avr:test", "--show-properties", "--json") + require.NoError(t, err) + out := requirejson.Parse(t, outJson).Query(".build_properties") + out.ArrayMustContain(jsonEncode("build.board.platform.path=" + boardPlatformPath)) + out.ArrayMustContain(jsonEncode("build.core.platform.path=" + corePlatformPath)) + out.ArrayMustContain(jsonEncode("build.core.path=" + corePath)) + out.ArrayMustContain(jsonEncode("runtime.platform.path=" + boardPlatformPath)) + } + { + outJson, _, err := cli.Run("board", "details", "-b", "test:avr:test2", "--show-properties", "--json") + require.NoError(t, err) + out := requirejson.Parse(t, outJson).Query(".build_properties") + out.ArrayMustContain(jsonEncode("build.board.platform.path=" + boardPlatformPath)) + out.ArrayMustContain(jsonEncode("build.core.platform.path=" + corePlatformPath)) + out.ArrayMustContain(jsonEncode("build.core.path=" + corePath)) + // https://github.com/arduino/arduino-cli/issues/2616 + out.ArrayMustContain(jsonEncode("runtime.platform.path=" + corePlatformPath)) + } +} diff --git a/internal/integrationtest/core/testdata/sketchbook_with_extended_platform/hardware/test/avr/boards.txt b/internal/integrationtest/core/testdata/sketchbook_with_extended_platform/hardware/test/avr/boards.txt new file mode 100644 index 00000000000..24f046b561a --- /dev/null +++ b/internal/integrationtest/core/testdata/sketchbook_with_extended_platform/hardware/test/avr/boards.txt @@ -0,0 +1,7 @@ + +test.name=Test Board +test.build.core=arduino:arduino + +test2.name=Test 2 Board +test2.build.core=arduino:arduino +test2.runtime.use_core_platform_path_for_runtime_platform_path=true From 82f60c6253fb49d5ebff70bbb541c509693d0b19 Mon Sep 17 00:00:00 2001 From: per1234 <accounts@perglass.com> Date: Mon, 29 Jul 2024 02:25:22 -0700 Subject: [PATCH 229/361] Document breaking change to `config get` command output (#2676) * Correct typo in Upgrading docs * Document breaking change to `config get` command output Previously, the `config dump` CLI command returned the effective configuration, including both the values explicitly set via the configuration file and environment variables as well as the values provided by defaults. It was changed to only return the explicitly set configuration data. The breaking change was not documented at that time. --- docs/UPGRADING.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 8d57833900c..194c0296332 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -530,12 +530,21 @@ breaking changes as needed. { "sketch_path": "/tmp/my_sketch" } ``` +### `config dump` no longer returns default configuration values + +Previously, the `config dump` CLI command returned the effective configuration, including both the values explicitly set +via the configuration file and environment variables as well as the values provided by defaults. + +It now only returns the explicitly set configuration data. + +Use `config get <configuration key>` to get the effective value of the configuration + ### The gRPC response `cc.arduino.cli.commands.v1.CompileResponse` has been changed. The `CompilerResponse` message has been refactored to made explicit which fields are intended for streaming the build process and which fields are part of the build result. -The old `CompilerResposne`: +The old `CompilerResponse`: ```protoc message CompileResponse { From c86ca3012344ba78a0c42069ad6b6c9320757a13 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 31 Jul 2024 00:05:58 +0200 Subject: [PATCH 230/361] [skip-changelog] Fixed link (#2678) --- docs/library-specification.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/library-specification.md b/docs/library-specification.md index a5fa721e57d..34168156e89 100644 --- a/docs/library-specification.md +++ b/docs/library-specification.md @@ -9,9 +9,8 @@ This new library format is intended to be used in tandem with **Library Manager* The Library Manager allows users to automatically download and install libraries needed in their projects, with an easy to use graphical interface in the [Arduino IDE](https://docs.arduino.cc/software/ide-v1/tutorials/installing-libraries#using-the-library-manager)/[Arduino IDE 2.0](https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-installing-a-library#installing-a-library) -and -[Arduino Web Editor](https://create.arduino.cc/projecthub/Arduino_Genuino/getting-started-with-arduino-web-editor-on-various-platforms-4b3e4a#toc-libraries-and-the-arduino-web-editor-11) -as well as [`arduino-cli lib`](commands/arduino-cli_lib.md). +and [Arduino Cloud Editor](https://docs.arduino.cc/arduino-cloud/guides/editor/#library-manager) as well as +[`arduino-cli lib`](commands/arduino-cli_lib.md). More information about how Library Manager works is available [here](https://github.com/arduino/library-registry/blob/main/FAQ.md#readme). From cbec871185a71496f23b67f275c5bc0cf4804804 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 31 Jul 2024 15:19:34 +0200 Subject: [PATCH 231/361] [skip-changelog] Update artifact-related actions (#2679) * Updated check-go-dependency workflow In this case we should be fine since there is just one job that uploads the artifacts. * Updated publish-go-tester workflow In this case the uploaded artifacts uses different paths and names, there should be no breaking changes. * Updated publish-go-nightly job In this case the jobs exploited the previous action behaviour when uploading multiple artifacts under the same "name". To upgrade to v4 we need to upload artifacts with unique "name" and merge them when downloading using the "pattern" property. * Updated release-go job This job got the same changes made in the publish-go-nightly job. * Updated sync-label job * Updated test-go job * Updated comments * Missed matrix run in sync-labels workflows. * Missed double-matrix run in test-go workflow --- .../workflows/check-go-dependencies-task.yml | 2 +- .github/workflows/publish-go-nightly-task.yml | 29 ++++++++++--------- .github/workflows/publish-go-tester-task.yml | 6 ++-- .github/workflows/release-go-task.yml | 29 ++++++++++--------- .github/workflows/sync-labels.yml | 11 +++---- .github/workflows/test-go-task.yml | 13 +++++---- 6 files changed, 49 insertions(+), 41 deletions(-) diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index eab16eb6172..ad4d5b3ab88 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -102,7 +102,7 @@ jobs: # Some might find it convenient to have CI generate the cache rather than setting up for it locally - name: Upload cache to workflow artifact if: failure() && steps.diff.outcome == 'failure' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error name: dep-licenses-cache diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index d42fac2d954..ff45fd27fcf 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -65,10 +65,10 @@ jobs: run: echo "version=$(task general:get-version)" >> $GITHUB_OUTPUT - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }} + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.os }} path: ${{ env.DIST_DIR }} notarize-macos: @@ -92,9 +92,10 @@ jobs: uses: actions/checkout@v4 - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.ARTIFACT_NAME }} + pattern: ${{ env.ARTIFACT_NAME }}-* + merge-multiple: true path: ${{ env.DIST_DIR }} - name: Import Code-Signing Certificates @@ -156,7 +157,7 @@ jobs: working-directory: ${{ env.DIST_DIR }} # Repackage the signed binary replaced in place by Gon (ignoring the output zip file) run: | - # GitHub's upload/download-artifact@v2 actions don't preserve file permissions, + # GitHub's upload/download-artifact actions don't preserve file permissions, # so we need to add execution permission back until the action is made to do this. chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/${{ env.PROJECT_NAME }}" VERSION=${{ needs.create-nightly-artifacts.outputs.version }} @@ -167,10 +168,10 @@ jobs: echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }} + name: ${{ env.ARTIFACT_NAME }}-notarized-${{ matrix.artifact.name }} path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} create-windows-installer: @@ -192,9 +193,10 @@ jobs: uses: actions/checkout@v4 - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.ARTIFACT_NAME }} + pattern: ${{ env.ARTIFACT_NAME }}-* + merge-multiple: true path: ${{ env.DIST_DIR }} - name: Prepare PATH @@ -222,12 +224,12 @@ jobs: "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_CER}} -csp "eToken Base Cryptographic Provider" -k "[{{${{ env.CERT_PASSWORD }}}}]=${{ env.CONTAINER_NAME }}" -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 env: MSI_FILE: ${{ steps.buildmsi.outputs.msi }} with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }} + name: ${{ env.ARTIFACT_NAME }}-windows-installer path: ${{ env.MSI_FILE }} publish-nightly: @@ -246,9 +248,10 @@ jobs: uses: actions/checkout@v4 - name: Download artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.ARTIFACT_NAME }} + pattern: ${{ env.ARTIFACT_NAME }}-* + merge-multiple: true path: ${{ env.DIST_DIR }} - name: Install Task diff --git a/.github/workflows/publish-go-tester-task.yml b/.github/workflows/publish-go-tester-task.yml index c83f00957d8..6f26162096c 100644 --- a/.github/workflows/publish-go-tester-task.yml +++ b/.github/workflows/publish-go-tester-task.yml @@ -135,7 +135,7 @@ jobs: # Transfer builds to artifacts job - name: Upload build artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ${{ env.DIST_DIR }}/${{ matrix.artifact.path }} name: ${{ matrix.artifact.name }} @@ -148,7 +148,7 @@ jobs: steps: - name: Download build artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 - name: Output checksum run: | TAG="${{ needs.package-name-prefix.outputs.prefix }}git-snapshot" @@ -162,7 +162,7 @@ jobs: done - name: Upload checksum artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: ./*checksums.txt name: checksums diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index b6289912b14..d536c21cbc2 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -65,10 +65,10 @@ jobs: run: echo "version=$(task general:get-version)" >> $GITHUB_OUTPUT - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }} + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.os }} path: ${{ env.DIST_DIR }} notarize-macos: @@ -92,9 +92,10 @@ jobs: uses: actions/checkout@v4 - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.ARTIFACT_NAME }} + pattern: ${{ env.ARTIFACT_NAME }}-* + merge-multiple: true path: ${{ env.DIST_DIR }} - name: Import Code-Signing Certificates @@ -156,7 +157,7 @@ jobs: working-directory: ${{ env.DIST_DIR }} # Repackage the signed binary replaced in place by Gon (ignoring the output zip file) run: | - # GitHub's upload/download-artifact@v2 actions don't preserve file permissions, + # GitHub's upload/download-artifact actions don't preserve file permissions, # so we need to add execution permission back until the action is made to do this. chmod +x "${{ env.PROJECT_NAME }}_osx_${{ matrix.artifact.name }}/${{ env.PROJECT_NAME }}" TAG=${{ needs.create-release-artifacts.outputs.version }} @@ -167,10 +168,10 @@ jobs: echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }} + name: ${{ env.ARTIFACT_NAME }}-notarized-${{ matrix.artifact.name }} path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} create-windows-installer: @@ -192,9 +193,10 @@ jobs: uses: actions/checkout@v4 - name: Download artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.ARTIFACT_NAME }} + pattern: ${{ env.ARTIFACT_NAME }}-* + merge-multiple: true path: ${{ env.DIST_DIR }} - name: Prepare PATH @@ -222,12 +224,12 @@ jobs: "${{ env.SIGNTOOL_PATH }}" sign -d "Arduino CLI" -f ${{ env.INSTALLER_CERT_WINDOWS_CER}} -csp "eToken Base Cryptographic Provider" -k "[{{${{ env.CERT_PASSWORD }}}}]=${{ env.CONTAINER_NAME }}" -fd sha256 -tr http://timestamp.digicert.com -td SHA256 -v "${{ env.MSI_FILE }}" - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 env: MSI_FILE: ${{ steps.buildmsi.outputs.msi }} with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }} + name: ${{ env.ARTIFACT_NAME }}-windows-installer path: ${{ env.MSI_FILE }} create-release: @@ -246,9 +248,10 @@ jobs: uses: actions/checkout@v4 - name: Download artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.ARTIFACT_NAME }} + pattern: ${{ env.ARTIFACT_NAME }}-* + merge-multiple: true path: ${{ env.DIST_DIR }} - name: Install Task diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 9ecf638e861..4af604b92a2 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -71,13 +71,13 @@ jobs: file-url: https://raw.githubusercontent.com/arduino/tooling-project-assets/main/workflow-templates/assets/sync-labels/${{ matrix.filename }} - name: Pass configuration files to next job via workflow artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: path: | *.yaml *.yml if-no-files-found: error - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + name: ${{ env.CONFIGURATIONS_ARTIFACT }}-${{ matrix.filename }} sync: needs: download @@ -109,13 +109,14 @@ jobs: uses: actions/checkout@v4 - name: Download configuration files artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + pattern: ${{ env.CONFIGURATIONS_ARTIFACT }}-* + merge-multiple: true path: ${{ env.CONFIGURATIONS_FOLDER }} - name: Remove unneeded artifact - uses: geekyeggo/delete-artifact@v2 + uses: geekyeggo/delete-artifact@v5 with: name: ${{ env.CONFIGURATIONS_ARTIFACT }} diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 17ce103a06d..8f808744e3a 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -114,10 +114,10 @@ jobs: mv coverage_integration.txt coverage_integration_${{ matrix.operating-system }}_${{ matrix.tests }}.txt - name: Upload coverage data to workflow artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.COVERAGE_ARTIFACT }} + name: ${{ env.COVERAGE_ARTIFACT }}-test-integration-${{ matrix.operating-system }}-${{ matrix.tests }} path: | ./coverage_integration_*.txt @@ -157,10 +157,10 @@ jobs: - name: Upload coverage data to workflow artifact if: runner.os == 'Linux' - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.COVERAGE_ARTIFACT }} + name: ${{ env.COVERAGE_ARTIFACT }}-test-${{ matrix.operating-system }} path: | ./coverage_unit.txt @@ -182,9 +182,10 @@ jobs: run: go install github.com/wadey/gocovmerge@b5bfa59 - name: Download coverage data artifact - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: ${{ env.COVERAGE_ARTIFACT }} + pattern: ${{ env.COVERAGE_ARTIFACT }}-* + merge-multiple: true - name: Merge all code coverage artifacts run: gocovmerge coverage*.txt > coverage.txt From 43598fc82beab88d56e52e4fd109efae4d20a013 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 31 Jul 2024 16:26:49 +0200 Subject: [PATCH 232/361] [skip-changelog] Correctly remove unneded artifacts (#2682) The previous 'name' value `${{ env.CONFIGURATIONS_ARTIFACT }}` would not match the name of the produced intermediate artifacts. The correct pattern is `${{ env.CONFIGURATIONS_ARTIFACT }}-*`. --- .github/workflows/sync-labels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/sync-labels.yml b/.github/workflows/sync-labels.yml index 4af604b92a2..546ab8b4745 100644 --- a/.github/workflows/sync-labels.yml +++ b/.github/workflows/sync-labels.yml @@ -118,7 +118,7 @@ jobs: - name: Remove unneeded artifact uses: geekyeggo/delete-artifact@v5 with: - name: ${{ env.CONFIGURATIONS_ARTIFACT }} + name: ${{ env.CONFIGURATIONS_ARTIFACT }}-* - name: Merge label configuration files run: | From faa635960f7b8e2d5a15401dfd080bc17796025e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 31 Jul 2024 16:35:20 +0200 Subject: [PATCH 233/361] fix: Ensure calls to BoardListWatch gRPC correctly release resources (#2681) --- commands/service_board_list.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/commands/service_board_list.go b/commands/service_board_list.go index 44e89fdc8dd..2b124c29f37 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -282,20 +282,14 @@ func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s if err != nil { return err } - defer release() dm := pme.DiscoveryManager() watcher, err := dm.Watch() + release() if err != nil { return err } - go func() { - <-stream.Context().Done() - logrus.Trace("closed watch") - watcher.Close() - }() - go func() { for event := range watcher.Feed() { port := &rpc.DetectedPort{ @@ -319,5 +313,7 @@ func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s }() <-stream.Context().Done() + logrus.Trace("closed watch") + watcher.Close() return nil } From a353f8614e6cfd323ece893dfb0e55233b75fd63 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 2 Aug 2024 15:06:10 +0200 Subject: [PATCH 234/361] Added global `--config-dir` flag (#2677) * Added --config-dir global flag * Renamed function to better reflect his behaviour * Added test --- internal/cli/cli.go | 9 ++++-- internal/cli/configuration/configuration.go | 28 +++++++++++++++++-- .../cli/configuration/configuration_test.go | 21 ++++++++++---- main.go | 8 +++--- 4 files changed, 51 insertions(+), 15 deletions(-) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 91651b03c23..0bc445b3632 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -181,9 +181,12 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { cmd.PersistentFlags().StringSliceVar(&additionalUrls, "additional-urls", defaultAdditionalURLs, i18n.Tr("Comma-separated list of additional URLs for the Boards Manager.")) cmd.PersistentFlags().BoolVar(&noColor, "no-color", defaultOutputNoColor, "Disable colored output.") - // We are not using cobra to parse this flag, because we manually parse it in main.go. - // Just leaving it here so cobra will not complain about it. - cmd.PersistentFlags().String("config-file", "", i18n.Tr("The custom config file (if not specified the default will be used).")) + // We are not using cobra to parse the following flags, because we manually parse them in main.go. + // Just leaving it here so cobra will output help usage and not complain about them. + cmd.PersistentFlags().String("config-file", "", + i18n.Tr("The custom config file (if not specified the default will be used).")) + cmd.PersistentFlags().String("config-dir", "", + i18n.Tr("Sets the default data directory (Arduino CLI will look for configuration file in this directory).")) return cmd } diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index 8ceef039af6..c567955382a 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -16,6 +16,7 @@ package configuration import ( + "fmt" "os" "path/filepath" "runtime" @@ -23,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/go-configmap" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/go-paths-helper" "github.com/arduino/go-win32-utils" ) @@ -42,8 +44,15 @@ func NewSettings() *Settings { return res } +var userProvidedDefaultDataDir *string + // getDefaultArduinoDataDir returns the full path to the default arduino folder func getDefaultArduinoDataDir() string { + // This is overridden by --config-dir flag + if userProvidedDefaultDataDir != nil { + return *userProvidedDefaultDataDir + } + userHomeDir, err := os.UserHomeDir() if err != nil { feedback.Warning(i18n.Tr("Unable to get user home dir: %v", err)) @@ -92,10 +101,25 @@ func getDefaultUserDir() string { } } -// FindConfigFileInArgsFallbackOnEnv returns the config file path using the +// FindConfigFlagsInArgsOrFallbackOnEnv returns the config file path using the // argument '--config-file' (if specified), if empty looks for the ARDUINO_CONFIG_FILE env, // or looking in the current working dir -func FindConfigFileInArgsFallbackOnEnv(args []string) string { +func FindConfigFlagsInArgsOrFallbackOnEnv(args []string) string { + // Look for '--config-dir' argument + for i, arg := range args { + if arg == "--config-dir" { + if len(args) > i+1 { + absArgs, err := paths.New(args[i+1]).Abs() + if err != nil { + feedback.FatalError(fmt.Errorf("invalid --config-dir value: %w", err), feedback.ErrBadArgument) + } + configDir := absArgs.String() + userProvidedDefaultDataDir = &configDir + break + } + } + } + // Look for '--config-file' argument for i, arg := range args { if arg == "--config-file" { diff --git a/internal/cli/configuration/configuration_test.go b/internal/cli/configuration/configuration_test.go index 23af3a964e1..8e448fa15b7 100644 --- a/internal/cli/configuration/configuration_test.go +++ b/internal/cli/configuration/configuration_test.go @@ -19,6 +19,7 @@ import ( "path/filepath" "testing" + "github.com/arduino/go-paths-helper" "github.com/stretchr/testify/require" ) @@ -43,23 +44,31 @@ func TestInit(t *testing.T) { func TestFindConfigFile(t *testing.T) { defaultConfigFile := filepath.Join(getDefaultArduinoDataDir(), "arduino-cli.yaml") - configFile := FindConfigFileInArgsFallbackOnEnv([]string{"--config-file"}) + configFile := FindConfigFlagsInArgsOrFallbackOnEnv([]string{"--config-file"}) require.Equal(t, defaultConfigFile, configFile) - configFile = FindConfigFileInArgsFallbackOnEnv([]string{"--config-file", "some/path/to/config"}) + configFile = FindConfigFlagsInArgsOrFallbackOnEnv([]string{"--config-file", "some/path/to/config"}) require.Equal(t, "some/path/to/config", configFile) - configFile = FindConfigFileInArgsFallbackOnEnv([]string{"--config-file", "some/path/to/config/arduino-cli.yaml"}) + configFile = FindConfigFlagsInArgsOrFallbackOnEnv([]string{"--config-file", "some/path/to/config/arduino-cli.yaml"}) require.Equal(t, "some/path/to/config/arduino-cli.yaml", configFile) - configFile = FindConfigFileInArgsFallbackOnEnv([]string{}) + configFile = FindConfigFlagsInArgsOrFallbackOnEnv([]string{}) require.Equal(t, defaultConfigFile, configFile) t.Setenv("ARDUINO_CONFIG_FILE", "some/path/to/config") - configFile = FindConfigFileInArgsFallbackOnEnv([]string{}) + configFile = FindConfigFlagsInArgsOrFallbackOnEnv([]string{}) require.Equal(t, "some/path/to/config", configFile) // when both env and flag are specified flag takes precedence - configFile = FindConfigFileInArgsFallbackOnEnv([]string{"--config-file", "flag/path"}) + configFile = FindConfigFlagsInArgsOrFallbackOnEnv([]string{"--config-file", "flag/path"}) require.Equal(t, "flag/path", configFile) } + +func TestFindConfigDir(t *testing.T) { + // Check behaviour with --config-dir + expected, err := paths.New("anotherpath", "arduino-cli.yaml").Abs() + require.NoError(t, err) + configFile := FindConfigFlagsInArgsOrFallbackOnEnv([]string{"--config-dir", "anotherpath"}) + require.Equal(t, expected.String(), configFile) +} diff --git a/main.go b/main.go index 3bf2fdd77be..84896ac19fe 100644 --- a/main.go +++ b/main.go @@ -37,13 +37,13 @@ func main() { // Disable logging until it is setup in the arduino-cli pre-run logrus.SetOutput(io.Discard) - // Create a new ArduinoCoreServer - srv := commands.NewArduinoCoreServer() - // Search for the configuration file in the command line arguments and in the environment - configFile := configuration.FindConfigFileInArgsFallbackOnEnv(os.Args) + configFile := configuration.FindConfigFlagsInArgsOrFallbackOnEnv(os.Args) ctx := config.SetConfigFile(context.Background(), configFile) + // Create a new ArduinoCoreServer + srv := commands.NewArduinoCoreServer() + // Read the settings from the configuration file openReq := &rpc.ConfigurationOpenRequest{SettingsFormat: "yaml"} var configFileLoadingWarnings []string From 5f0100040426812087f8be8960718eeb7fa53cfd Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 8 Aug 2024 10:15:24 +0200 Subject: [PATCH 235/361] [skip-changelog] Made the `Debug*` gRPC API implementation in par with the rest (#2672) * Inlined gRPC methods to implement GetDebugConfig and IsDebugSupported * Inlined function * Renamed vars for clarity * Added Debug gRPC adapter function * Moved function and removed useless file * Forward os.interrupt (aka CTRL-C) signal to the gdb process This a challenging problem because we must wait on both an io.Read(...) and a channel-read but, unfortunately, go native select can wait only on channels. To overcome this limitation I had to resort to a conditional variable and write some boilerplate code to make everything synchronized. --- commands/service_debug.go | 320 +++++++++++++++++++++++++++--- commands/service_debug_config.go | 4 +- commands/service_debug_run.go | 201 ------------------- internal/cli/debug/debug.go | 7 +- internal/cli/debug/debug_check.go | 3 +- 5 files changed, 297 insertions(+), 238 deletions(-) delete mode 100644 commands/service_debug_run.go diff --git a/commands/service_debug.go b/commands/service_debug.go index d17c99622a6..31123cc9ae1 100644 --- a/commands/service_debug.go +++ b/commands/service_debug.go @@ -18,59 +18,317 @@ package commands import ( "context" "errors" + "fmt" + "io" "os" + "path/filepath" + "runtime" + "sync" + "sync/atomic" + "time" + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + paths "github.com/arduino/go-paths-helper" + "github.com/djherbis/buffer" + "github.com/djherbis/nio/v3" + "github.com/sirupsen/logrus" + "google.golang.org/grpc/metadata" ) -// Debug returns a stream response that can be used to fetch data from the -// target. The first message passed through the `Debug` request must -// contain DebugRequest configuration params, not data. +type debugServer struct { + ctx context.Context + req atomic.Pointer[rpc.GetDebugConfigRequest] + in io.Reader + inSignal bool + inData bool + inEvent *sync.Cond + inLock sync.Mutex + out io.Writer + resultCB func(*rpc.DebugResponse_Result) + done chan bool +} + +func (s *debugServer) Send(resp *rpc.DebugResponse) error { + if len(resp.GetData()) > 0 { + if _, err := s.out.Write(resp.GetData()); err != nil { + return err + } + } + if res := resp.GetResult(); res != nil { + s.resultCB(res) + s.close() + } + return nil +} + +func (s *debugServer) Recv() (r *rpc.DebugRequest, e error) { + if conf := s.req.Swap(nil); conf != nil { + return &rpc.DebugRequest{DebugRequest: conf}, nil + } + + s.inEvent.L.Lock() + for !s.inSignal && !s.inData { + s.inEvent.Wait() + } + defer s.inEvent.L.Unlock() + + if s.inSignal { + s.inSignal = false + return &rpc.DebugRequest{SendInterrupt: true}, nil + } + + if s.inData { + s.inData = false + buff := make([]byte, 4096) + n, err := s.in.Read(buff) + if err != nil { + return nil, err + } + return &rpc.DebugRequest{Data: buff[:n]}, nil + } + + panic("invalid state in debug") +} + +func (s *debugServer) close() { + close(s.done) +} + +func (s *debugServer) Context() context.Context { return s.ctx } +func (s *debugServer) RecvMsg(m any) error { return nil } +func (s *debugServer) SendHeader(metadata.MD) error { return nil } +func (s *debugServer) SendMsg(m any) error { return nil } +func (s *debugServer) SetHeader(metadata.MD) error { return nil } +func (s *debugServer) SetTrailer(metadata.MD) {} + +// DebugServerToStreams creates a debug server that proxies the data to the given io streams. +// The GetDebugConfigRequest is used to configure the debbuger. sig is a channel that can be +// used to send os.Interrupt to the debug process. resultCB is a callback function that will +// receive the Debug result and closes the debug server. +func DebugServerToStreams( + ctx context.Context, + req *rpc.GetDebugConfigRequest, + in io.Reader, out io.Writer, + sig chan os.Signal, + resultCB func(*rpc.DebugResponse_Result), +) rpc.ArduinoCoreService_DebugServer { + server := &debugServer{ + ctx: ctx, + in: in, + out: out, + resultCB: resultCB, + done: make(chan bool), + } + serverIn, clientOut := nio.Pipe(buffer.New(32 * 1024)) + server.in = serverIn + server.inEvent = sync.NewCond(&server.inLock) + server.req.Store(req) + go func() { + for { + select { + case <-sig: + server.inEvent.L.Lock() + server.inSignal = true + server.inEvent.Broadcast() + server.inEvent.L.Unlock() + case <-server.done: + return + } + } + }() + go func() { + defer clientOut.Close() + buff := make([]byte, 4096) + for { + n, readErr := in.Read(buff) + + server.inEvent.L.Lock() + var writeErr error + if readErr == nil { + _, writeErr = clientOut.Write(buff[:n]) + } + server.inData = true + server.inEvent.Broadcast() + server.inEvent.L.Unlock() + if readErr != nil || writeErr != nil { + // exit on error + return + } + } + }() + return server +} + +// Debug starts a debugging session. The first message passed through the `Debug` request must +// contain DebugRequest configuration params and no data. func (s *arduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) error { + // Utility functions + syncSend := NewSynchronizedSend(stream.Send) + sendResult := func(res *rpc.DebugResponse_Result) error { + return syncSend.Send(&rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{Result: res}}) + } + sendData := func(data []byte) { + _ = syncSend.Send(&rpc.DebugResponse{Message: &rpc.DebugResponse_Data{Data: data}}) + } + // Grab the first message - msg, err := stream.Recv() + debugConfReqMsg, err := stream.Recv() if err != nil { return err } // Ensure it's a config message and not data - req := msg.GetDebugRequest() - if req == nil { + debugConfReq := debugConfReqMsg.GetDebugRequest() + if debugConfReq == nil { return errors.New(i18n.Tr("First message must contain debug request, not data")) } // Launch debug recipe attaching stdin and out to grpc streaming signalChan := make(chan os.Signal) defer close(signalChan) - outStream := feedStreamTo(func(data []byte) { - stream.Send(&rpc.DebugResponse{Message: &rpc.DebugResponse_Data{ - Data: data, - }}) - }) - resp, debugErr := Debug(stream.Context(), req, - consumeStreamFrom(func() ([]byte, error) { - command, err := stream.Recv() - if command.GetSendInterrupt() { + outStream := feedStreamTo(sendData) + defer outStream.Close() + inStream := consumeStreamFrom(func() ([]byte, error) { + for { + req, err := stream.Recv() + if err != nil { + return nil, err + } + if req.GetSendInterrupt() { signalChan <- os.Interrupt } - return command.GetData(), err - }), - outStream, - signalChan) - outStream.Close() - if debugErr != nil { - return debugErr - } - return stream.Send(resp) -} + if data := req.GetData(); len(data) > 0 { + return data, nil + } + } + }) + + pme, release, err := instances.GetPackageManagerExplorer(debugConfReq.GetInstance()) + if err != nil { + return err + } + defer release() + + // Exec debugger + commandLine, err := getCommandLine(debugConfReq, pme) + if err != nil { + return err + } + entry := logrus.NewEntry(logrus.StandardLogger()) + for i, param := range commandLine { + entry = entry.WithField(fmt.Sprintf("param%d", i), param) + } + entry.Debug("Executing debugger") + cmd, err := paths.NewProcess(pme.GetEnvVarsForSpawnedProcess(), commandLine...) + if err != nil { + return &cmderrors.FailedDebugError{Message: i18n.Tr("Cannot execute debug tool"), Cause: err} + } + in, err := cmd.StdinPipe() + if err != nil { + return sendResult(&rpc.DebugResponse_Result{Error: err.Error()}) + } + defer in.Close() + cmd.RedirectStdoutTo(io.Writer(outStream)) + cmd.RedirectStderrTo(io.Writer(outStream)) + if err := cmd.Start(); err != nil { + return sendResult(&rpc.DebugResponse_Result{Error: err.Error()}) + } -// GetDebugConfig return metadata about a debug session -func (s *arduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { - return GetDebugConfig(ctx, req) + go func() { + for sig := range signalChan { + cmd.Signal(sig) + } + }() + go func() { + io.Copy(in, inStream) + time.Sleep(time.Second) + cmd.Kill() + }() + if err := cmd.Wait(); err != nil { + return sendResult(&rpc.DebugResponse_Result{Error: err.Error()}) + } + return sendResult(&rpc.DebugResponse_Result{}) } -// IsDebugSupported checks if debugging is supported for a given configuration -func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { - return IsDebugSupported(ctx, req) +// getCommandLine compose a debug command represented by a core recipe +func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer) ([]string, error) { + debugInfo, err := getDebugProperties(req, pme, false) + if err != nil { + return nil, err + } + + cmdArgs := []string{} + add := func(s string) { cmdArgs = append(cmdArgs, s) } + + // Add path to GDB Client to command line + var gdbPath *paths.Path + switch debugInfo.GetToolchain() { + case "gcc": + gdbexecutable := debugInfo.GetToolchainPrefix() + "-gdb" + if runtime.GOOS == "windows" { + gdbexecutable += ".exe" + } + gdbPath = paths.New(debugInfo.GetToolchainPath()).Join(gdbexecutable) + default: + return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("Toolchain '%s' is not supported", debugInfo.GetToolchain())} + } + add(gdbPath.String()) + + // Set GDB interpreter (default value should be "console") + gdbInterpreter := req.GetInterpreter() + if gdbInterpreter == "" { + gdbInterpreter = "console" + } + add("--interpreter=" + gdbInterpreter) + if gdbInterpreter != "console" { + add("-ex") + add("set pagination off") + } + + // Add extra GDB execution commands + add("-ex") + add("set remotetimeout 5") + + // Extract path to GDB Server + switch debugInfo.GetServer() { + case "openocd": + var openocdConf rpc.DebugOpenOCDServerConfiguration + if err := debugInfo.GetServerConfiguration().UnmarshalTo(&openocdConf); err != nil { + return nil, err + } + + serverCmd := fmt.Sprintf(`target extended-remote | "%s"`, debugInfo.GetServerPath()) + + if cfg := openocdConf.GetScriptsDir(); cfg != "" { + serverCmd += fmt.Sprintf(` -s "%s"`, cfg) + } + + for _, script := range openocdConf.GetScripts() { + serverCmd += fmt.Sprintf(` --file "%s"`, script) + } + + serverCmd += ` -c "gdb_port pipe"` + serverCmd += ` -c "telnet_port 0"` + + add("-ex") + add(serverCmd) + + default: + return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("GDB server '%s' is not supported", debugInfo.GetServer())} + } + + // Add executable + add(debugInfo.GetExecutable()) + + // Transform every path to forward slashes (on Windows some tools further + // escapes the command line so the backslash "\" gets in the way). + for i, param := range cmdArgs { + cmdArgs[i] = filepath.ToSlash(param) + } + + return cmdArgs, nil } diff --git a/commands/service_debug_config.go b/commands/service_debug_config.go index 393a81811e6..018ae4033e8 100644 --- a/commands/service_debug_config.go +++ b/commands/service_debug_config.go @@ -38,7 +38,7 @@ import ( ) // GetDebugConfig returns metadata to start debugging with the specified board -func GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { +func (s *arduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.GetDebugConfigResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err @@ -48,7 +48,7 @@ func GetDebugConfig(ctx context.Context, req *rpc.GetDebugConfigRequest) (*rpc.G } // IsDebugSupported checks if the given board/programmer configuration supports debugging. -func IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { +func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.IsDebugSupportedRequest) (*rpc.IsDebugSupportedResponse, error) { pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) if err != nil { return nil, err diff --git a/commands/service_debug_run.go b/commands/service_debug_run.go deleted file mode 100644 index 94cdc43efa8..00000000000 --- a/commands/service_debug_run.go +++ /dev/null @@ -1,201 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2020 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 commands - -import ( - "context" - "fmt" - "io" - "os" - "path/filepath" - "runtime" - "time" - - "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/i18n" - rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/go-paths-helper" - "github.com/sirupsen/logrus" -) - -// Debug command launches a debug tool for a sketch. -// It also implements streams routing: -// gRPC In -> tool stdIn -// grpc Out <- tool stdOut -// grpc Out <- tool stdErr -// It also implements tool process lifecycle management -func Debug(ctx context.Context, req *rpc.GetDebugConfigRequest, inStream io.Reader, out io.Writer, interrupt <-chan os.Signal) (*rpc.DebugResponse, error) { - - // Get debugging command line to run debugger - pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) - if err != nil { - return nil, err - } - defer release() - - commandLine, err := getCommandLine(req, pme) - if err != nil { - return nil, err - } - - for i, arg := range commandLine { - fmt.Printf("%2d: %s\n", i, arg) - } - - // Run Tool - entry := logrus.NewEntry(logrus.StandardLogger()) - for i, param := range commandLine { - entry = entry.WithField(fmt.Sprintf("param%d", i), param) - } - entry.Debug("Executing debugger") - - cmd, err := paths.NewProcess(pme.GetEnvVarsForSpawnedProcess(), commandLine...) - if err != nil { - return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("Cannot execute debug tool"), Cause: err} - } - - // Get stdIn pipe from tool - in, err := cmd.StdinPipe() - if err != nil { - return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ - Result: &rpc.DebugResponse_Result{Error: err.Error()}, - }}, nil - } - defer in.Close() - - // Merge tool StdOut and StdErr to stream them in the io.Writer passed stream - cmd.RedirectStdoutTo(out) - cmd.RedirectStderrTo(out) - - // Start the debug command - if err := cmd.Start(); err != nil { - return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ - Result: &rpc.DebugResponse_Result{Error: err.Error()}, - }}, nil - } - - if interrupt != nil { - go func() { - for { - sig, ok := <-interrupt - if !ok { - break - } - cmd.Signal(sig) - } - }() - } - - go func() { - // Copy data from passed inStream into command stdIn - io.Copy(in, inStream) - // In any case, try process termination after a second to avoid leaving - // zombie process. - time.Sleep(time.Second) - cmd.Kill() - }() - - // Wait for process to finish - if err := cmd.Wait(); err != nil { - return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ - Result: &rpc.DebugResponse_Result{Error: err.Error()}, - }}, nil - } - return &rpc.DebugResponse{Message: &rpc.DebugResponse_Result_{ - Result: &rpc.DebugResponse_Result{}, - }}, nil -} - -// getCommandLine compose a debug command represented by a core recipe -func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer) ([]string, error) { - debugInfo, err := getDebugProperties(req, pme, false) - if err != nil { - return nil, err - } - - cmdArgs := []string{} - add := func(s string) { cmdArgs = append(cmdArgs, s) } - - // Add path to GDB Client to command line - var gdbPath *paths.Path - switch debugInfo.GetToolchain() { - case "gcc": - gdbexecutable := debugInfo.GetToolchainPrefix() + "-gdb" - if runtime.GOOS == "windows" { - gdbexecutable += ".exe" - } - gdbPath = paths.New(debugInfo.GetToolchainPath()).Join(gdbexecutable) - default: - return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("Toolchain '%s' is not supported", debugInfo.GetToolchain())} - } - add(gdbPath.String()) - - // Set GDB interpreter (default value should be "console") - gdbInterpreter := req.GetInterpreter() - if gdbInterpreter == "" { - gdbInterpreter = "console" - } - add("--interpreter=" + gdbInterpreter) - if gdbInterpreter != "console" { - add("-ex") - add("set pagination off") - } - - // Add extra GDB execution commands - add("-ex") - add("set remotetimeout 5") - - // Extract path to GDB Server - switch debugInfo.GetServer() { - case "openocd": - var openocdConf rpc.DebugOpenOCDServerConfiguration - if err := debugInfo.GetServerConfiguration().UnmarshalTo(&openocdConf); err != nil { - return nil, err - } - - serverCmd := fmt.Sprintf(`target extended-remote | "%s"`, debugInfo.GetServerPath()) - - if cfg := openocdConf.GetScriptsDir(); cfg != "" { - serverCmd += fmt.Sprintf(` -s "%s"`, cfg) - } - - for _, script := range openocdConf.GetScripts() { - serverCmd += fmt.Sprintf(` --file "%s"`, script) - } - - serverCmd += ` -c "gdb_port pipe"` - serverCmd += ` -c "telnet_port 0"` - - add("-ex") - add(serverCmd) - - default: - return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("GDB server '%s' is not supported", debugInfo.GetServer())} - } - - // Add executable - add(debugInfo.GetExecutable()) - - // Transform every path to forward slashes (on Windows some tools further - // escapes the command line so the backslash "\" gets in the way). - for i, param := range cmdArgs { - cmdArgs[i] = filepath.ToSlash(param) - } - - return cmdArgs, nil -} diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 03c8dc8cfcb..84ac83c8cad 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -122,7 +122,7 @@ func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args if printInfo { - if res, err := commands.GetDebugConfig(ctx, debugConfigRequested); err != nil { + if res, err := srv.GetDebugConfig(ctx, debugConfigRequested); err != nil { errcode := feedback.ErrBadArgument if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer @@ -142,7 +142,10 @@ func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args if err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } - if _, err := commands.Debug(ctx, debugConfigRequested, in, out, ctrlc); err != nil { + + resultCB := func(dr *rpc.DebugResponse_Result) {} + stream := commands.DebugServerToStreams(ctx, debugConfigRequested, in, out, ctrlc, resultCB) + if err := srv.Debug(stream); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.MissingProgrammerError{}) { errcode = feedback.ErrMissingProgrammer diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index cb749a2da0e..ea64390b311 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -19,7 +19,6 @@ import ( "context" "os" - "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" @@ -61,7 +60,7 @@ func runDebugCheckCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, feedback.FatalError(err, feedback.ErrBadArgument) } fqbn := fqbnArg.String() - resp, err := commands.IsDebugSupported(ctx, &rpc.IsDebugSupportedRequest{ + resp, err := srv.IsDebugSupported(ctx, &rpc.IsDebugSupportedRequest{ Instance: instance, Fqbn: fqbn, Port: port, From 0aa75c6cb3738d2ee3764b085c9b7f9fa1a54dcd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Aug 2024 14:04:14 +0200 Subject: [PATCH 236/361] [skip changelog] Bump golang.org/x/term from 0.22.0 to 0.23.0 (#2686) * [skip changelog] Bump golang.org/x/term from 0.22.0 to 0.23.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.22.0 to 0.23.0. - [Commits](https://github.com/golang/term/compare/v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 10 +++++----- .licenses/go/golang.org/x/sys/unix.dep.yml | 10 +++++----- .licenses/go/golang.org/x/term.dep.yml | 6 +++--- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 4d33b62efb7..d9e5b27ede4 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/sys/execabs -version: v0.22.0 +version: v0.23.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.22.0/LICENSE +- sources: sys@v0.23.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.22.0/PATENTS +- sources: sys@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 55adac60905..d98a23a78e4 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/sys/unix -version: v0.22.0 +version: v0.23.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.22.0/LICENSE +- sources: sys@v0.23.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.22.0/PATENTS +- sources: sys@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 9a2746f9d3a..81e3eedb5d6 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.22.0 +version: v0.23.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. @@ -9,7 +9,7 @@ license: bsd-3-clause licenses: - sources: LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. diff --git a/go.mod b/go.mod index 7481a151b00..a0a24496afd 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/downloader/v2 v2.2.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 - golang.org/x/term v0.22.0 + golang.org/x/term v0.23.0 golang.org/x/text v0.16.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 google.golang.org/grpc v1.65.0 @@ -99,7 +99,7 @@ require ( golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.22.0 // indirect + golang.org/x/sys v0.23.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index c3ff0cd2e62..7938c764c5f 100644 --- a/go.sum +++ b/go.sum @@ -259,11 +259,11 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= -golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= +golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= -golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= +golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= +golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= From 08f429d8cfb92e876cf12202241e4fba964cd068 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 8 Aug 2024 14:40:06 +0200 Subject: [PATCH 237/361] [skip changelog] Bump golang.org/x/text from 0.16.0 to 0.17.0 (#2687) * [skip changelog] Bump golang.org/x/text from 0.16.0 to 0.17.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.16.0 to 0.17.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.16.0...v0.17.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/text/encoding.dep.yml | 10 +++++----- .../go/golang.org/x/text/encoding/internal.dep.yml | 10 +++++----- .../x/text/encoding/internal/identifier.dep.yml | 10 +++++----- .../go/golang.org/x/text/encoding/unicode.dep.yml | 10 +++++----- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 10 +++++----- .licenses/go/golang.org/x/text/runes.dep.yml | 10 +++++----- go.mod | 4 ++-- go.sum | 8 ++++---- 8 files changed, 36 insertions(+), 36 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index 375b00cc577..f01eb3543a4 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/text/encoding -version: v0.16.0 +version: v0.17.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.16.0/LICENSE +- sources: text@v0.17.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.16.0/PATENTS +- sources: text@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index b83b702a9c3..21773984766 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/text/encoding/internal -version: v0.16.0 +version: v0.17.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.16.0/LICENSE +- sources: text@v0.17.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.16.0/PATENTS +- sources: text@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 4bac800bd5f..e7bfdb9f5aa 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.16.0 +version: v0.17.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,9 +10,9 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.16.0/LICENSE +- sources: text@v0.17.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -24,7 +24,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.16.0/PATENTS +- sources: text@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index d81796798f7..e72cd24a85e 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.16.0 +version: v0.17.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.16.0/LICENSE +- sources: text@v0.17.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.16.0/PATENTS +- sources: text@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 8363e33e288..123676adc9d 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.16.0 +version: v0.17.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.16.0/LICENSE +- sources: text@v0.17.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.16.0/PATENTS +- sources: text@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 7e6a9bce3c7..46f6505e600 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/text/runes -version: v0.16.0 +version: v0.17.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.16.0/LICENSE +- sources: text@v0.17.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.16.0/PATENTS +- sources: text@v0.17.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index a0a24496afd..4964d2dcbd0 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 golang.org/x/term v0.23.0 - golang.org/x/text v0.16.0 + golang.org/x/text v0.17.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 google.golang.org/grpc v1.65.0 google.golang.org/protobuf v1.34.2 @@ -98,7 +98,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.25.0 // indirect - golang.org/x/sync v0.7.0 // indirect + golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.23.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 7938c764c5f..ab24e0c60f2 100644 --- a/go.sum +++ b/go.sum @@ -240,8 +240,8 @@ golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5o golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= -golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -266,8 +266,8 @@ golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= -golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= +golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= From e01c114dee15064d0103a2080557b8a4243bef47 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 8 Aug 2024 16:47:54 +0200 Subject: [PATCH 238/361] [skip-changelog] Run integration tests on Linux as latest (#2617) Since the Windows and MacOSX are the slowest to complete this reordering allows to start the long running tests early and reduce the overall completion time. --- .github/workflows/test-go-task.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 8f808744e3a..004eb5bdb10 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -80,9 +80,9 @@ jobs: fail-fast: false matrix: operating-system: - - ubuntu-latest - windows-latest - macos-latest + - ubuntu-latest tests: ${{ fromJSON(needs.tests-collector.outputs.tests-data) }} runs-on: ${{ matrix.operating-system }} @@ -127,9 +127,9 @@ jobs: fail-fast: false matrix: operating-system: - - ubuntu-latest - windows-latest - macos-latest + - ubuntu-latest runs-on: ${{ matrix.operating-system }} From ce4341f440c65959fdc39972f4429202ec68dbe4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 8 Aug 2024 17:20:57 +0200 Subject: [PATCH 239/361] [skip-changelog] Upgrade golang version to `1.22` and upgraded some libraries (#2688) * Upgrade supported go version to 1.22 * Upgrade extract library to 4.0.0 * Upgrade go-crypto to v1.1.0-alpha.5-proton --- .github/workflows/check-easyjson.yml | 2 +- .../workflows/check-go-dependencies-task.yml | 2 +- .github/workflows/check-go-task.yml | 2 +- .github/workflows/check-i18n-task.yml | 2 +- .github/workflows/check-markdown-task.yml | 2 +- .github/workflows/check-mkdocs-task.yml | 2 +- .github/workflows/check-protobuf-task.yml | 2 +- .../deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- .github/workflows/i18n-weekly-pull.yaml | 2 +- .github/workflows/test-go-task.yml | 2 +- .golangci.yml | 2 +- .licensed.yml | 3 + .../ProtonMail/go-crypto/bitcurves.dep.yml | 6 +- .../ProtonMail/go-crypto/brainpool.dep.yml | 6 +- .../ProtonMail/go-crypto/eax.dep.yml | 6 +- .../go-crypto/internal/byteutil.dep.yml | 6 +- .../ProtonMail/go-crypto/ocb.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp.dep.yml | 6 +- .../go-crypto/openpgp/aes/keywrap.dep.yml | 6 +- .../go-crypto/openpgp/armor.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +- .../go-crypto/openpgp/ecdsa.dep.yml | 6 +- .../go-crypto/openpgp/ed25519.dep.yml | 6 +- .../go-crypto/openpgp/ed448.dep.yml | 6 +- .../go-crypto/openpgp/eddsa.dep.yml | 6 +- .../go-crypto/openpgp/elgamal.dep.yml | 6 +- .../go-crypto/openpgp/errors.dep.yml | 6 +- .../openpgp/internal/algorithm.dep.yml | 6 +- .../go-crypto/openpgp/internal/ecc.dep.yml | 6 +- .../openpgp/internal/ecc/curve25519.dep.yml | 63 +++++++++++++++++++ .../internal/ecc/curve25519/field.dep.yml | 62 ++++++++++++++++++ .../openpgp/internal/encoding.dep.yml | 6 +- .../go-crypto/openpgp/packet.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +- .../go-crypto/openpgp/symmetric.dep.yml | 62 ++++++++++++++++++ .../go-crypto/openpgp/x25519.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/x448.dep.yml | 6 +- .../extract/{v3.dep.yml => v4.dep.yml} | 6 +- .licenses/go/github.com/ulikunitz/xz.dep.yml | 2 +- .../ulikunitz/xz/internal/hash.dep.yml | 4 +- .../ulikunitz/xz/internal/xlog.dep.yml | 4 +- .../go/github.com/ulikunitz/xz/lzma.dep.yml | 4 +- DistTasks.yml | 2 +- go.mod | 10 +-- go.sum | 12 ++-- .../libraries/librariesmanager/install.go | 2 +- internal/arduino/resources/index.go | 2 +- internal/arduino/resources/install.go | 2 +- 48 files changed, 293 insertions(+), 101 deletions(-) create mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml create mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml create mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml rename .licenses/go/github.com/codeclysm/extract/{v3.dep.yml => v4.dep.yml} (91%) diff --git a/.github/workflows/check-easyjson.yml b/.github/workflows/check-easyjson.yml index a074b772f26..84fd85cdd19 100644 --- a/.github/workflows/check-easyjson.yml +++ b/.github/workflows/check-easyjson.yml @@ -2,7 +2,7 @@ name: Check easyjson generated files env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index ad4d5b3ab88..5949df9e89f 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -3,7 +3,7 @@ name: Check Go Dependencies env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows on: diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 0cb0a076913..91c417f179c 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -3,7 +3,7 @@ name: Check Go env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index 9ec46485cc3..d6500c6964f 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -2,7 +2,7 @@ name: Check Internationalization env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index f0f02806227..ce99a259cea 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -5,7 +5,7 @@ env: # See: https://github.com/actions/setup-node/#readme NODE_VERSION: 16.x # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows on: diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index 7edc66ad3aa..103f07842df 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -3,7 +3,7 @@ name: Check Website env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://github.com/actions/setup-python/tree/main#available-versions-of-python PYTHON_VERSION: "3.9" diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index 223646a1771..46664220e37 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -2,7 +2,7 @@ name: Check Protocol Buffers env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index c7f916fb039..d1c4013cf56 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -3,7 +3,7 @@ name: Deploy Website env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" # See: https://github.com/actions/setup-python/tree/main#available-versions-of-python PYTHON_VERSION: "3.9" diff --git a/.github/workflows/i18n-weekly-pull.yaml b/.github/workflows/i18n-weekly-pull.yaml index 7cff41be881..d8fcd8a41ec 100644 --- a/.github/workflows/i18n-weekly-pull.yaml +++ b/.github/workflows/i18n-weekly-pull.yaml @@ -2,7 +2,7 @@ name: i18n-weekly-pull env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" COVERAGE_ARTIFACT: coverage-data on: diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 004eb5bdb10..c686489edbf 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -3,7 +3,7 @@ name: Test Go env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.21" + GO_VERSION: "1.22" COVERAGE_ARTIFACT: coverage-data # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows diff --git a/.golangci.yml b/.golangci.yml index 5bd0bfaaa3e..5d01dc9aa88 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,6 +1,6 @@ run: timeout: 10m - go: "1.21" + go: "1.22" tests: true linters: diff --git a/.licensed.yml b/.licensed.yml index bf25afd5485..4c9ac92fb3c 100644 --- a/.licensed.yml +++ b/.licensed.yml @@ -27,9 +27,12 @@ reviewed: - github.com/ProtonMail/go-crypto/openpgp/errors - github.com/ProtonMail/go-crypto/openpgp/internal/algorithm - github.com/ProtonMail/go-crypto/openpgp/internal/ecc + - github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519 + - github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field - github.com/ProtonMail/go-crypto/openpgp/internal/encoding - github.com/ProtonMail/go-crypto/openpgp/packet - github.com/ProtonMail/go-crypto/openpgp/s2k + - github.com/ProtonMail/go-crypto/openpgp/symmetric - github.com/ProtonMail/go-crypto/openpgp/x25519 - github.com/ProtonMail/go-crypto/openpgp/x448 - github.com/cloudflare/circl/dh/x25519 diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index d2c85c2206a..0c033dbcae4 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index a37d0d26dd7..9ec1b1cef3a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index f0d43c6a47d..e086227d16c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index a38c33644c9..3427867c28e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index 898ffe4982e..f24f78fe77b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index 09fabf560d0..af72530c0cc 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index 930bb2e6088..7cc6fb0d4b0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index 7d232465596..982a1450540 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 8c45634fe45..9107dd71b07 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index d3346dfe220..26ae39b99d7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index a59bb0e5cef..b98f3d6ff95 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index 4733dccd3b0..a3ec2359af8 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index ae036b97f6c..77cb4464eca 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index fbe900e5d13..291c7a0254e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index 4af94d8107c..4356e35fc4a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index af5a5e241be..2623d8067ba 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index cc68288986a..81e8f7cb551 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml new file mode 100644 index 00000000000..ce6e3efe501 --- /dev/null +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml @@ -0,0 +1,63 @@ +--- +name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519 +version: v1.1.0-alpha.5-proton +type: go +summary: Package curve25519 implements custom field operations without clamping for + forwarding. +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519 +license: other +licenses: +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE + text: | + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml new file mode 100644 index 00000000000..8df0ed08012 --- /dev/null +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml @@ -0,0 +1,62 @@ +--- +name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field +version: v1.1.0-alpha.5-proton +type: go +summary: Package field implements fast arithmetic modulo 2^255-19. +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field +license: other +licenses: +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE + text: | + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 5db542f7f90..990da1aa39b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index 1048418534d..4210606ac8c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index ff8fa4b6874..3e7cedee3db 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml new file mode 100644 index 00000000000..e47c7d12891 --- /dev/null +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml @@ -0,0 +1,62 @@ +--- +name: github.com/ProtonMail/go-crypto/openpgp/symmetric +version: v1.1.0-alpha.5-proton +type: go +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/symmetric +license: other +licenses: +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE + text: | + Copyright (c) 2009 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index 5e811cb323b..a56734857ab 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index 8055615fbbf..f4b0bf5bc78 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.0-alpha.0 +version: v1.1.0-alpha.5-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.0/LICENSE +- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.0/PATENTS +- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/codeclysm/extract/v3.dep.yml b/.licenses/go/github.com/codeclysm/extract/v4.dep.yml similarity index 91% rename from .licenses/go/github.com/codeclysm/extract/v3.dep.yml rename to .licenses/go/github.com/codeclysm/extract/v4.dep.yml index 0c6f99746ad..9defe5f88fd 100644 --- a/.licenses/go/github.com/codeclysm/extract/v3.dep.yml +++ b/.licenses/go/github.com/codeclysm/extract/v4.dep.yml @@ -1,10 +1,10 @@ --- -name: github.com/codeclysm/extract/v3 -version: v3.1.1 +name: github.com/codeclysm/extract/v4 +version: v4.0.0 type: go summary: Package extract allows to extract archives in zip, tar.gz or tar.bz2 formats easily. -homepage: https://pkg.go.dev/github.com/codeclysm/extract/v3 +homepage: https://pkg.go.dev/github.com/codeclysm/extract/v4 license: mit licenses: - sources: LICENSE diff --git a/.licenses/go/github.com/ulikunitz/xz.dep.yml b/.licenses/go/github.com/ulikunitz/xz.dep.yml index 0b3c4e2b2d9..b02e158ff5f 100644 --- a/.licenses/go/github.com/ulikunitz/xz.dep.yml +++ b/.licenses/go/github.com/ulikunitz/xz.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ulikunitz/xz -version: v0.5.11 +version: v0.5.12 type: go summary: Package xz supports the compression and decompression of xz files. homepage: https://pkg.go.dev/github.com/ulikunitz/xz diff --git a/.licenses/go/github.com/ulikunitz/xz/internal/hash.dep.yml b/.licenses/go/github.com/ulikunitz/xz/internal/hash.dep.yml index 470737fb663..c9a34e7af73 100644 --- a/.licenses/go/github.com/ulikunitz/xz/internal/hash.dep.yml +++ b/.licenses/go/github.com/ulikunitz/xz/internal/hash.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ulikunitz/xz/internal/hash -version: v0.5.11 +version: v0.5.12 type: go summary: Package hash provides rolling hashes. homepage: https://pkg.go.dev/github.com/ulikunitz/xz/internal/hash license: bsd-3-clause licenses: -- sources: xz@v0.5.11/LICENSE +- sources: xz@v0.5.12/LICENSE text: | Copyright (c) 2014-2022 Ulrich Kunitz All rights reserved. diff --git a/.licenses/go/github.com/ulikunitz/xz/internal/xlog.dep.yml b/.licenses/go/github.com/ulikunitz/xz/internal/xlog.dep.yml index 5fc1e57f735..a5ec3008817 100644 --- a/.licenses/go/github.com/ulikunitz/xz/internal/xlog.dep.yml +++ b/.licenses/go/github.com/ulikunitz/xz/internal/xlog.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ulikunitz/xz/internal/xlog -version: v0.5.11 +version: v0.5.12 type: go summary: Package xlog provides a simple logging package that allows to disable certain message categories. homepage: https://pkg.go.dev/github.com/ulikunitz/xz/internal/xlog license: bsd-3-clause licenses: -- sources: xz@v0.5.11/LICENSE +- sources: xz@v0.5.12/LICENSE text: | Copyright (c) 2014-2022 Ulrich Kunitz All rights reserved. diff --git a/.licenses/go/github.com/ulikunitz/xz/lzma.dep.yml b/.licenses/go/github.com/ulikunitz/xz/lzma.dep.yml index b30f1859d71..66a937e5ea4 100644 --- a/.licenses/go/github.com/ulikunitz/xz/lzma.dep.yml +++ b/.licenses/go/github.com/ulikunitz/xz/lzma.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ulikunitz/xz/lzma -version: v0.5.11 +version: v0.5.12 type: go summary: Package lzma supports the decoding and encoding of LZMA streams. homepage: https://pkg.go.dev/github.com/ulikunitz/xz/lzma license: bsd-3-clause licenses: -- sources: xz@v0.5.11/LICENSE +- sources: xz@v0.5.12/LICENSE text: | Copyright (c) 2014-2022 Ulrich Kunitz All rights reserved. diff --git a/DistTasks.yml b/DistTasks.yml index 1195fd0e5f9..4c0514e70af 100644 --- a/DistTasks.yml +++ b/DistTasks.yml @@ -19,7 +19,7 @@ version: "3" vars: CONTAINER: "docker.elastic.co/beats-dev/golang-crossbuild" - GO_VERSION: "1.21.6" + GO_VERSION: "1.22.5" tasks: Windows_32bit: diff --git a/go.mod b/go.mod index 4964d2dcbd0..d4aee4d014f 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,14 @@ module github.com/arduino/arduino-cli -go 1.21 +go 1.22 + +toolchain go1.22.3 // We must use this fork until https://github.com/mailru/easyjson/pull/372 is merged replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( - github.com/ProtonMail/go-crypto v1.1.0-alpha.0 + github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 @@ -15,7 +17,7 @@ require ( github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0 github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 github.com/cmaglie/pb v1.0.27 - github.com/codeclysm/extract/v3 v3.1.1 + github.com/codeclysm/extract/v4 v4.0.0 github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.17.0 @@ -87,7 +89,7 @@ require ( github.com/spf13/cast v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/ulikunitz/xz v0.5.11 // indirect + github.com/ulikunitz/xz v0.5.12 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect diff --git a/go.sum b/go.sum index ab24e0c60f2..c436cbd4890 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v1.1.0-alpha.0 h1:nHGfwXmFvJrSR9xu8qL7BkO4DqTHXE9N5vPhgY2I+j0= -github.com/ProtonMail/go-crypto v1.1.0-alpha.0/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton h1:KVBEgU3CJpmzLChnLiSuEyCuhGhcMt3eOST+7A+ckto= +github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= @@ -33,8 +33,8 @@ github.com/cmaglie/easyjson v0.8.1 h1:nKQ6Yew57jsoGsuyRJPgm8PSsjbU3eO/uA9BsTu3E/ github.com/cmaglie/easyjson v0.8.1/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/kmZI= -github.com/codeclysm/extract/v3 v3.1.1 h1:iHZtdEAwSTqPrd+1n4jfhr1qBhUWtHlMTjT90+fJVXg= -github.com/codeclysm/extract/v3 v3.1.1/go.mod h1:ZJi80UG2JtfHqJI+lgJSCACttZi++dHxfWuPaMhlOfQ= +github.com/codeclysm/extract/v4 v4.0.0 h1:H87LFsUNaJTu2e/8p/oiuiUsOK/TaPQ5wxsjPnwPEIY= +github.com/codeclysm/extract/v4 v4.0.0/go.mod h1:SFju1lj6as7FvUgalpSct7torJE0zttbJUWtryPRG6s= github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= @@ -200,8 +200,8 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/ulikunitz/xz v0.5.11 h1:kpFauv27b6ynzBNT/Xy+1k+fK4WswhN/6PN5WhFAGw8= -github.com/ulikunitz/xz v0.5.11/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= +github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= +github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= diff --git a/internal/arduino/libraries/librariesmanager/install.go b/internal/arduino/libraries/librariesmanager/install.go index 99c7914fc09..43da93403ae 100644 --- a/internal/arduino/libraries/librariesmanager/install.go +++ b/internal/arduino/libraries/librariesmanager/install.go @@ -29,7 +29,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" - "github.com/codeclysm/extract/v3" + "github.com/codeclysm/extract/v4" "github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5/plumbing" semver "go.bug.st/relaxed-semver" diff --git a/internal/arduino/resources/index.go b/internal/arduino/resources/index.go index 52c2dec2884..57087b5fa33 100644 --- a/internal/arduino/resources/index.go +++ b/internal/arduino/resources/index.go @@ -28,7 +28,7 @@ import ( "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" - "github.com/codeclysm/extract/v3" + "github.com/codeclysm/extract/v4" "github.com/sirupsen/logrus" "go.bug.st/downloader/v2" ) diff --git a/internal/arduino/resources/install.go b/internal/arduino/resources/install.go index 76ce5de2232..0f517af1268 100644 --- a/internal/arduino/resources/install.go +++ b/internal/arduino/resources/install.go @@ -22,7 +22,7 @@ import ( "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" - "github.com/codeclysm/extract/v3" + "github.com/codeclysm/extract/v4" "go.bug.st/cleanup" ) From a0d912da186fe905243194ea8a70635d3b6db837 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 12 Aug 2024 15:32:50 +0200 Subject: [PATCH 240/361] [skip-changelog] Updated translation files (#2675) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 84 +++++++++++++++++++----------------- internal/i18n/data/be.po | 84 +++++++++++++++++++----------------- internal/i18n/data/de.po | 84 +++++++++++++++++++----------------- internal/i18n/data/es.po | 84 +++++++++++++++++++----------------- internal/i18n/data/fr.po | 84 +++++++++++++++++++----------------- internal/i18n/data/he.po | 84 +++++++++++++++++++----------------- internal/i18n/data/it_IT.po | 86 ++++++++++++++++++++----------------- internal/i18n/data/ja.po | 84 +++++++++++++++++++----------------- internal/i18n/data/ko.po | 84 +++++++++++++++++++----------------- internal/i18n/data/lb.po | 84 +++++++++++++++++++----------------- internal/i18n/data/pl.po | 84 +++++++++++++++++++----------------- internal/i18n/data/pt.po | 84 +++++++++++++++++++----------------- internal/i18n/data/ru.po | 84 +++++++++++++++++++----------------- internal/i18n/data/zh.po | 84 +++++++++++++++++++----------------- internal/i18n/data/zh_TW.po | 84 +++++++++++++++++++----------------- 15 files changed, 677 insertions(+), 585 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index dbd5eefaf45..bdbe7dda0d4 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -71,7 +71,7 @@ msgstr "%s النسق مفقود" msgid "'%s' has an invalid signature" msgstr "'%s' لديه توقيع غير صحيح" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -337,7 +337,7 @@ msgstr "تعذر انشاء ملف temp" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "تعذر حذف المفتاح %[1]s:%[2]v" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "تعذر تشغيل اداة debug" @@ -380,7 +380,7 @@ msgstr "الفئة : %s" msgid "Check dependencies status for the specified library." msgstr "التحقق من حالة التبعيات (dependencies) للمكتبة المختارة" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -443,7 +443,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "تمت كتابة ملف التهيئة في : %s" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "اعدادات الضبط ل %s" @@ -521,7 +521,7 @@ msgstr "" "في الوقت الحالي , بروفايلات البناء (Build Profiles) تدعم حصرا المكتبات " "المتوافرة في مدير المكتبات للاردوينو (Arduino Library Manager)" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -543,7 +543,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "تصحيح اخطاء مشاريع الاردوينو (يفتح هذا الامر جلسة gdb تفاعلية)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "مترجم التصحيح على سبيل المثال : %s" @@ -795,7 +795,7 @@ msgstr "خطأ اثناء تنزيل المنصة %s" msgid "Error downloading tool %s" msgstr "خطا اثناء تنزيل الاداة %s" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "خطا اثناء التصحيح : %v" @@ -1071,7 +1071,7 @@ msgstr "الامثلة للمكتبة %s" msgid "Examples:" msgstr "الامثلة : " -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "الملف التنفيذي الذي سيتم تصحيحه (Executable to debug)" @@ -1139,7 +1139,7 @@ msgid "" "defined: %s" msgstr "تشفير البرنامج الثابت او توقيعه يحتاج تحديد الخصائص التالية" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "اول رسالة يجب ان تحوي على طلب التصحيح و ليس البيانات" @@ -1182,7 +1182,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "اسم اللوحة المؤهلة بالكامل FQBN مثال : arduino:avr:uno" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "سيرفر GDB '%s' غير مدعوم" @@ -1362,7 +1362,7 @@ msgstr "عنصر عير صالح %s" msgid "Invalid library" msgstr "مكتبة غير صالحة" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1374,7 +1374,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy غير صالح '%[1]s': %[2]s" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "صيغة اخراج خاطئة : %s" @@ -2027,7 +2027,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2106,7 +2106,7 @@ msgstr "" msgid "Sentence: %s" msgstr "الجملة : %s" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2114,7 +2114,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "استجابة السيرفر : %s" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2130,6 +2130,12 @@ msgstr "" msgid "Sets a setting value." msgstr "تحديد قيمة للاعداد" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2331,7 +2337,7 @@ msgstr "منفذ TCP  الذي سيستمع اليه الناطر" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سيتم استخدام الملف الافتراضي)" @@ -2339,11 +2345,11 @@ msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سي msgid "The flag --debug-file must be used with --debug." msgstr "يجب استخدام العلامة debug-file-- مع debug--" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2435,19 +2441,19 @@ msgstr "الاداة %s مثبتة مسبقا" msgid "Tool %s uninstalled" msgstr "تم الغاء تثبيت الاداة %s" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "مجموعة الادوات '%s' غير مدعومة" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "مسار مجموعة الادوات" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "بادئة مجموعة الادوات " -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "نوع مجموعة الادوات" @@ -2477,20 +2483,20 @@ msgid "" msgstr "" "تعذر تخزين نواة البناء مؤقتا , الرجاء اخبار المحافظين %[1]s لمتابعة %[2]s" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "تعذر ايجاد مجلد Documents : %v" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "تعذر ايجاد مجلد Local App Data : %v" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "تعذر ايجاد user home dir : %v" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "تعذر فتح ملف من اجل انشاء سجلات : %s" @@ -2934,7 +2940,7 @@ msgstr "المستكشف %s غير موجود" msgid "discovery %s not installed" msgstr "تعذر تثبيت المستكشف %s" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "تعذر ايجاد اصدار المستكشف %s" @@ -3273,8 +3279,8 @@ msgstr "جار تحميل %[1]s:%[2]s" msgid "loading boards: %s" msgstr "جار تحميل اللوحات : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "جار تحميل ملف json index %[1]s : %[2]s" @@ -3327,7 +3333,7 @@ msgstr "يوجد directive \"عبارة برمجية بداخل الكود ال msgid "missing checksum for: %s" msgstr "المجموع الاختباري (checksum) لـ %s مفقود" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "تعذر العثور على الحزمة %[1]s التي التي تشير اليها اللوحة %[2]s " @@ -3336,12 +3342,12 @@ msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "يوجد حزمة مفقودة من الفهرس %s , لا يمكن ضمان التحديثات المستقبلية بسبب ذلك" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة %[1]s : %[2]s التي التي تشير اليها اللوحة %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة اصدار (platform release) %[1]s : %[2]s التي التي تشير" @@ -3351,7 +3357,7 @@ msgstr "" msgid "missing signature" msgstr "هناك توقيع غير موجود" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "تعذر ايجاد اصدار المراقب : %s" @@ -3436,7 +3442,7 @@ msgstr "جار فتح الملف الهدف : %s" msgid "package %s not found" msgstr "الحزمة %sغير موجودة " -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "الحزمة '%s' غير موجودة" @@ -3551,7 +3557,7 @@ msgstr "جاري قرأت ملفات المذكرة" msgid "recipe not found '%s'" msgstr "تعذر ايجاد الوصفة '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "تعذر ايجاد الاصدار %[1]s للاداة %[2]s" @@ -3656,7 +3662,7 @@ msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحز msgid "tool %s not found" msgstr "الاداة %s غير موجودة" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" @@ -3664,8 +3670,8 @@ msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" msgid "tool not installed" msgstr "الاداة غير مثبتة" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "اصدار الاداة غير موجود : %s" diff --git a/internal/i18n/data/be.po b/internal/i18n/data/be.po index 08c01bc6a24..360e25fdf5c 100644 --- a/internal/i18n/data/be.po +++ b/internal/i18n/data/be.po @@ -63,7 +63,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -317,7 +317,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -360,7 +360,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -419,7 +419,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -493,7 +493,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -515,7 +515,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -760,7 +760,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1032,7 +1032,7 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1100,7 +1100,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1141,7 +1141,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1313,7 +1313,7 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1325,7 +1325,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1946,7 +1946,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2025,7 +2025,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2033,7 +2033,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2049,6 +2049,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2235,7 +2241,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2243,11 +2249,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2324,19 +2330,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2365,20 +2371,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2810,7 +2816,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3145,8 +3151,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3199,7 +3205,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3207,11 +3213,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3219,7 +3225,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3302,7 +3308,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3417,7 +3423,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3522,7 +3528,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3530,8 +3536,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 9f149bf5c60..3fbf3bed9db 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -78,7 +78,7 @@ msgstr "Muster %s fehlt" msgid "'%s' has an invalid signature" msgstr "'%s' hat eine ungültige Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -346,7 +346,7 @@ msgstr "Temporäre Datei kann nicht erstellt werden" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Der Schlüssel %[1]s:%[2]v kann nicht gelöscht werden" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "Das Debug-Werkzeug kann nicht gestartet werden" @@ -389,7 +389,7 @@ msgstr "Kategorie: %s" msgid "Check dependencies status for the specified library." msgstr "Prüfe die die Abhängigkeiten für die angegebene Bibliothek." -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" "Prüfung, ob die angegebene Board-/Programmer--Kombination das Debugging " @@ -454,7 +454,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "Konfigurationsdatei geschrieben nach: %s" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "Konfigurationsoptionen für %s" @@ -535,7 +535,7 @@ msgstr "" "Aktuell werden in Build-Profilen nur Bibliotheken aus dem Arduino-" "Bibliotheksmanager unterstützt." -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "Benutzerdefinierte Konfigurtion für %s:" @@ -559,7 +559,7 @@ msgstr "" "Arduino-Sketche debuggen. (Dieser Befehl öffnet eine interaktive gdb-" "Sitzung)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Debug-Interpreter z.B.: %s" @@ -819,7 +819,7 @@ msgstr "Fehler beim Herunterladen der Plattform %s" msgid "Error downloading tool %s" msgstr "Fehler beim Herunterladen des Werkzeugs %s" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "Fehler beim Debuggen: %v" @@ -1094,7 +1094,7 @@ msgstr "Beispiele für Bibliothek %s" msgid "Examples:" msgstr "Beispiele:" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "Ausführbare Datei zum Debuggen" @@ -1170,7 +1170,7 @@ msgstr "" "Die Verschlüsselung/Signierung der Firmware erfordert die Festlegung der " "folgenden Eigenschaften: %s" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" "Die erste Nachricht muss eine Debug-Anforderung enthalten, keine Daten." @@ -1220,7 +1220,7 @@ msgstr "%d Platformen passend zu \"%s\":%s gefunden" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Vollständig qualifizierter Platinenname, z.B.: arduino:avr:uno" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "GDB-Server '%s' wird nicht unterstützt" @@ -1402,7 +1402,7 @@ msgstr "Ungültiges Element %s" msgid "Invalid library" msgstr "Ungültige Bibliothek" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "Ungültiger Protokoll-Level: %s" @@ -1414,7 +1414,7 @@ msgstr "Ungültige Netzwerk-Konfiguration: %s" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "Ungültiger network.proxy '%[1]s':%[2]s" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "Ungültiges Ausgabeformat: %s" @@ -2079,7 +2079,7 @@ msgstr "Starte das pre_uninstall Skript" msgid "SEARCH_TERM" msgstr "SUCH_TERM" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "SVD Verzeichnis" @@ -2191,7 +2191,7 @@ msgstr "" msgid "Sentence: %s" msgstr "Satz: %s" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "Server-Pfad" @@ -2199,7 +2199,7 @@ msgstr "Server-Pfad" msgid "Server responded with: %s" msgstr "Server hat mit: %s geantwortet" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "Server-Typ" @@ -2215,6 +2215,12 @@ msgstr "Aktiviere den Raw-Modus im Terminal (ungepuffert)" msgid "Sets a setting value." msgstr "Legt einen Einstellungswert fest." +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2435,7 +2441,7 @@ msgstr "" "Das Ausgabeformat für Befehle kann sein:\n" "%s " -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" "Die benutzerdefinierte Konfigurationsdatei (wenn nicht angegeben, wird der " @@ -2445,12 +2451,12 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "Das Flag --debug-file muss mit --debug benutzt werden." -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" "Die angegebene Board-/Programmer-Konfiguration unterstützt kein Debugging." -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" "Die angegebene Board-/Programmer-Konfiguration unterstützt das Debugging." @@ -2549,19 +2555,19 @@ msgstr "Werkzeug %s bereits installiert" msgid "Tool %s uninstalled" msgstr "Werkzeug %s deinstalliert" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "Toolchain '%s' wird nicht unterstützt" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "Toolchain-Pfad" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "Toolchain-Prefix" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "Toolchain-Typ" @@ -2592,20 +2598,20 @@ msgstr "" "Der Kern kann nicht gecached werden. Bitte sag den %[1]s Maintainern, dass " "sie %[2]sfolgen sollen. " -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "Der Dokumentenordner kann nicht abgerufen werden: %v" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "Lokaler App-Datenordner kann nicht abgerufen werden: %v" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "Das Home-Verzeichnis des Benutzers kann nicht abgerufen werden: %v" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "Die Datei kann nicht für die Protokollierung geöffnet werden: %s" @@ -3075,7 +3081,7 @@ msgstr "Discovery %swurde nicht gefunden" msgid "discovery %s not installed" msgstr "Discovery %s wurde nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "Discovery-Release %s wurde nicht gefunden" @@ -3418,8 +3424,8 @@ msgstr "lade %[1]s: %[2]s" msgid "loading boards: %s" msgstr "Platinen werden geladen: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "json-Indexdatei laden %[1]s: %[2]s" @@ -3472,7 +3478,7 @@ msgstr "Fehlende '%s' Richtlinie" msgid "missing checksum for: %s" msgstr "Fehlende Prüfsumme für: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "Fehlendes Paket %[1]s referenziert von Board %[2]s" @@ -3482,11 +3488,11 @@ msgstr "" "Fehlender Paketindex für %s, zukünftige Updates können nicht garantiert " "werden" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattform %[1]s:%[2]s referenziert von Board %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" @@ -3494,7 +3500,7 @@ msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" msgid "missing signature" msgstr "Fehlende Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "Monitor-Freigabe nicht gefunden: %s" @@ -3583,7 +3589,7 @@ msgstr "Öffne Zieldatei: %s" msgid "package %s not found" msgstr "Paket %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "Paket '%s' nicht gefunden" @@ -3698,7 +3704,7 @@ msgstr "Sketch-Dateien lesen" msgid "recipe not found '%s'" msgstr "Rezept nicht gefunden '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "Freigabe %[1]s für Werkzeug %[2]s nicht gefunden " @@ -3804,7 +3810,7 @@ msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." msgid "tool %s not found" msgstr "Tool %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" @@ -3812,8 +3818,8 @@ msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" msgid "tool not installed" msgstr "Werkzeug nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "Werkzeugfreigabe nicht gefunden: %s" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index 09319aac187..fb9aa2f3109 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -75,7 +75,7 @@ msgstr "Falta el patrón %s " msgid "'%s' has an invalid signature" msgstr "'%s' tiene una firma inválida" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -335,7 +335,7 @@ msgstr "No se puede crear un archivo temporal" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "No se puede ejecutar la herramienta de depuración" @@ -378,7 +378,7 @@ msgstr "Categoría: %s" msgid "Check dependencies status for the specified library." msgstr "Comprueba el estado de las dependencias de la librería especificada." -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -442,7 +442,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "Archivo de configuración escrito en: %s" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "Opciones de configuración para %s" @@ -518,7 +518,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -540,7 +540,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Intérprete de depuración e.j.: %s" @@ -790,7 +790,7 @@ msgstr "Error descargando la plataforma %s" msgid "Error downloading tool %s" msgstr "Error descargando la herramienta %s" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1063,7 +1063,7 @@ msgstr "" msgid "Examples:" msgstr "Ejemplos:" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1131,7 +1131,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1172,7 +1172,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Invalid library" msgstr "Librería inválida" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1358,7 +1358,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1985,7 +1985,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2066,7 +2066,7 @@ msgstr "" msgid "Sentence: %s" msgstr "Sentencia: %s" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2074,7 +2074,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "El servidor respondió con: %s" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2090,6 +2090,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2280,7 +2286,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2288,11 +2294,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2371,19 +2377,19 @@ msgstr "La herramienta %s ya está instalada" msgid "Tool %s uninstalled" msgstr "La herramienta %s se desinstaló" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2412,20 +2418,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" @@ -2862,7 +2868,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3197,8 +3203,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3251,7 +3257,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3259,11 +3265,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3271,7 +3277,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3354,7 +3360,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3469,7 +3475,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3574,7 +3580,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3582,8 +3588,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index 55515004a6d..2ff9446feee 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -325,7 +325,7 @@ msgstr "Impossible de créer le fichier temporaire" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -368,7 +368,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -427,7 +427,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -501,7 +501,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -523,7 +523,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -768,7 +768,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1040,7 +1040,7 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1108,7 +1108,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1149,7 +1149,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1324,7 +1324,7 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1336,7 +1336,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1961,7 +1961,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2040,7 +2040,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2048,7 +2048,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2064,6 +2064,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2252,7 +2258,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2260,11 +2266,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2341,19 +2347,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2382,20 +2388,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2833,7 +2839,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3168,8 +3174,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3222,7 +3228,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3230,11 +3236,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3242,7 +3248,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3325,7 +3331,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3440,7 +3446,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3545,7 +3551,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3553,8 +3559,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index cc709f5d8bd..3e7a8ad6f50 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -67,7 +67,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -321,7 +321,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -364,7 +364,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -423,7 +423,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -497,7 +497,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -519,7 +519,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -764,7 +764,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1036,7 +1036,7 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1104,7 +1104,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1145,7 +1145,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1317,7 +1317,7 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1329,7 +1329,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1950,7 +1950,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2029,7 +2029,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2037,7 +2037,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2053,6 +2053,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2239,7 +2245,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2247,11 +2253,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2328,19 +2334,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2369,20 +2375,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2814,7 +2820,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3149,8 +3155,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3203,7 +3209,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3211,11 +3217,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3223,7 +3229,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3306,7 +3312,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3421,7 +3427,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3526,7 +3532,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3534,8 +3540,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index dc99e185df8..0b6d5921f12 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -76,7 +76,7 @@ msgstr "Manca il pattern %s" msgid "'%s' has an invalid signature" msgstr "'%s' ha una firma invalida" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -344,7 +344,7 @@ msgstr "Non è possibile creare il file temporaneo" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Impossibile eliminare la chiave %[1]s: %[2]v" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "Non è possibile eseguire lo strumento di debug" @@ -387,7 +387,7 @@ msgstr "Categoria: %s" msgid "Check dependencies status for the specified library." msgstr "Controllare lo stato delle dipendenze per la libreria specificata." -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" "Controlla se la combinazione fornita scheda/programmatore supporta il debug." @@ -452,7 +452,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "File di configurazione scritto in: %s" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "Opzioni di configurazione per %s" @@ -533,7 +533,7 @@ msgstr "" "Attualmente, i profili di compilazione supportano solo le librerie " "disponibili tramite Arduino Library Manager." -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "Configurazione personalizzata di %s:" @@ -557,7 +557,7 @@ msgstr "" "Eseguire il debug degli sketch di Arduino. (questo comando apre una sessione" " gdb interattiva)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Interprete di debug, ad esempio: %s" @@ -824,7 +824,7 @@ msgstr "Errore durante il download della piattaforma %s" msgid "Error downloading tool %s" msgstr "Errore durante il download del tool %s" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "Errore durante il debug: %v" @@ -1143,7 +1143,7 @@ msgstr "Esempi della libreria %s" msgid "Examples:" msgstr "Esempi:" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "Eseguibile per il debug" @@ -1218,7 +1218,7 @@ msgstr "" "La crittografia/firma del firmware richiede la definizione di tutte le " "seguenti proprietà: %s" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "Il primo messaggio deve contenere la richiesta di debug, non i dati." @@ -1267,7 +1267,7 @@ msgstr "Sono state trovate %d piattaforme corrispondenti \"%s\": %s" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Fully Qualified Board Name, ad esempio: arduino:avr:uno" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "Il server GDB '%s' non è supportato" @@ -1446,7 +1446,7 @@ msgstr "Oggetto invalido %s" msgid "Invalid library" msgstr "Libreria non è valida" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "Livello di log non valido: %s" @@ -1458,7 +1458,7 @@ msgstr "Configurazione di rete non valida: %s" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy '%[1]s' non è valido: %[2]s" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" @@ -2126,7 +2126,7 @@ msgstr "Sto avviando lo script pre_uninstall." msgid "SEARCH_TERM" msgstr "TERMINE_DI_RICERCA" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "Path del file SVD" @@ -2240,7 +2240,7 @@ msgstr "Cerca una o più biblioteche che corrispondono ad una ricerca." msgid "Sentence: %s" msgstr "Frase: %s" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "Path del server" @@ -2248,7 +2248,7 @@ msgstr "Path del server" msgid "Server responded with: %s" msgstr "Il server ha risposto con: %s" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "Tipo di server" @@ -2264,6 +2264,14 @@ msgstr "Imposta il terminale in modalità raw (non bufferizzata)." msgid "Sets a setting value." msgstr "Imposta un valore di regolazione." +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" +"Imposta la directory predefinita dei dati (Arduino CLI cercherà il file di " +"configurazione in questa directory)." + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2483,7 +2491,7 @@ msgstr "La porta TCP su cui il demone si metterà in ascolto" msgid "The command output format, can be: %s" msgstr "Il formato di output del comando può essere: %s" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" "Il file di configurazione personalizzato (se non specificato, verrà " @@ -2493,11 +2501,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "Il flag --debug-file deve essere usato con --debug." -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "La configurazione fornita scheda/programmatore NON supporta il debug." -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "La configurazione fornita scheda/programmatore supporta il debug." @@ -2593,19 +2601,19 @@ msgstr "Il tool %s è già installato" msgid "Tool %s uninstalled" msgstr "Il tool %s è disinstallato" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "La toolchain '%s' non è supportata" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "Il percorso della toolchain" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "Il prefisso della toolchain" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "Il tipo della toolchain" @@ -2636,20 +2644,20 @@ msgstr "" "Non è possibile memorizzare nella cache il core compilato, riferisci ai " "manutentori di %[1]s di seguire le istruzioni %[2]s" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "Impossibile ottenere la cartella documenti: %v" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "Impossibile ottenere la cartella dati dell'app locale: %v" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "Impossibile ottenere la home directory dell'utente: %v" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" @@ -3110,7 +3118,7 @@ msgstr "rilevamento %s non è stato trovato" msgid "discovery %s not installed" msgstr "il rilevamento %s non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "il rilascio del rilevamento non è stato trovato: %s" @@ -3461,8 +3469,8 @@ msgstr "caricamento di %[1]s: %[2]s" msgid "loading boards: %s" msgstr "caricamento delle schede: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "caricamento del file indice json %[1]s: %[2]s" @@ -3515,7 +3523,7 @@ msgstr "Manca la direttiva '%s'" msgid "missing checksum for: %s" msgstr "manca il checksum di: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "manca il pacchetto %[1]s a cui fa riferimento la scheda %[2]s" @@ -3525,11 +3533,11 @@ msgstr "" "Manca l'indice del pacchetto %s, non possono essere garantiti aggiornamenti " "futuri" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "manca la piattaforma %[1]s:%[2]s referenziata dalla scheda %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "manca la release della piattaforma %[1]s:%[2]s a cui fa riferimento la " @@ -3539,7 +3547,7 @@ msgstr "" msgid "missing signature" msgstr "Firma mancante" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "release del monitor non è stata trovata: %s" @@ -3628,7 +3636,7 @@ msgstr "apertura del file di destinazione: %s" msgid "package %s not found" msgstr "il pacchetto %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "Il pacchetto '%s' non è stato trovato" @@ -3744,7 +3752,7 @@ msgstr "lettura degli sketch in corso" msgid "recipe not found '%s'" msgstr "scrittura non trovata '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "il rilascio %[1]s non è stato trovato per il tool %[2]s" @@ -3852,7 +3860,7 @@ msgstr "il tool %s non è gestito dal gestore dei pacchetti" msgid "tool %s not found" msgstr "Il tool %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" @@ -3860,8 +3868,8 @@ msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" msgid "tool not installed" msgstr "Il tool non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "il rilascio del tool non è stato trovato: %s" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 3ace5419b58..43d316cd7c5 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -69,7 +69,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -323,7 +323,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -366,7 +366,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -425,7 +425,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -499,7 +499,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -521,7 +521,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -766,7 +766,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1038,7 +1038,7 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1106,7 +1106,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1147,7 +1147,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1320,7 +1320,7 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1332,7 +1332,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1953,7 +1953,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2032,7 +2032,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2040,7 +2040,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2056,6 +2056,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2242,7 +2248,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2250,11 +2256,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2331,19 +2337,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2372,20 +2378,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2818,7 +2824,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3153,8 +3159,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3207,7 +3213,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3215,11 +3221,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3227,7 +3233,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3310,7 +3316,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3425,7 +3431,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3530,7 +3536,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3538,8 +3544,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index 4f010c09d1b..060388de57c 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -67,7 +67,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -321,7 +321,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -364,7 +364,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -423,7 +423,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -497,7 +497,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -519,7 +519,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -764,7 +764,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1036,7 +1036,7 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1104,7 +1104,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1145,7 +1145,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1318,7 +1318,7 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1330,7 +1330,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1951,7 +1951,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2030,7 +2030,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2038,7 +2038,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2054,6 +2054,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2240,7 +2246,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2248,11 +2254,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2329,19 +2335,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2370,20 +2376,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2816,7 +2822,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3151,8 +3157,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3205,7 +3211,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3213,11 +3219,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3225,7 +3231,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3308,7 +3314,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3423,7 +3429,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3528,7 +3534,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3536,8 +3542,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index 4a2dced11a0..71cb4d233c0 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -67,7 +67,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -321,7 +321,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -364,7 +364,7 @@ msgstr "Kategorie: %s" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -423,7 +423,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -497,7 +497,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -519,7 +519,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -764,7 +764,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1036,7 +1036,7 @@ msgstr "Beispiller fir d'Bibliothéik %s" msgid "Examples:" msgstr "Beispiller:" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1104,7 +1104,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1145,7 +1145,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1317,7 +1317,7 @@ msgstr "" msgid "Invalid library" msgstr "Ongülteg Bibliothéik" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1329,7 +1329,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1950,7 +1950,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2029,7 +2029,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2037,7 +2037,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2053,6 +2053,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2239,7 +2245,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2247,11 +2253,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2328,19 +2334,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2369,20 +2375,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2814,7 +2820,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3149,8 +3155,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3203,7 +3209,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3211,11 +3217,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3223,7 +3229,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3306,7 +3312,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3421,7 +3427,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3526,7 +3532,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3534,8 +3540,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index 33b283595db..6873b788363 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -69,7 +69,7 @@ msgstr "%s brakuje wzoru" msgid "'%s' has an invalid signature" msgstr "'%s' posiada niewłaściwy podpis" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -323,7 +323,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -366,7 +366,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -425,7 +425,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -499,7 +499,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -521,7 +521,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -766,7 +766,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1038,7 +1038,7 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1106,7 +1106,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1147,7 +1147,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1322,7 +1322,7 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1334,7 +1334,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1958,7 +1958,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2037,7 +2037,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2045,7 +2045,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2061,6 +2061,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2249,7 +2255,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2257,11 +2263,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2338,19 +2344,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2379,20 +2385,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2827,7 +2833,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3162,8 +3168,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3216,7 +3222,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3224,11 +3230,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3236,7 +3242,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3319,7 +3325,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3434,7 +3440,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3539,7 +3545,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3547,8 +3553,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index 53656142417..5a9267471de 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -70,7 +70,7 @@ msgstr "%spadrão está faltando" msgid "'%s' has an invalid signature" msgstr "%s‎tem uma assinatura inválida‎" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -338,7 +338,7 @@ msgstr "Não é possível criar arquivo temporário" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "Não é possível deletar a chave %[1]s:%[2]v" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "Não é possível executar ferramenta de depuração" @@ -381,7 +381,7 @@ msgstr "Categoria: %s" msgid "Check dependencies status for the specified library." msgstr "Verifique o estado das dependências para a biblioteca especificada." -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" "Verifique se a combinação placa/programador fornecida suporta depuração." @@ -447,7 +447,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "%s‎Arquivo Config escrito para:‎" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "Opções de configuração para %s" @@ -527,7 +527,7 @@ msgstr "" "Atualmente, os Perfis de Build só suportam bibliotecas disponíveis através " "do Gerenciador de Bibliotecas Arduino." -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "Configuração personalizada para %s:" @@ -551,7 +551,7 @@ msgstr "" "Depurar esboços Arduino (esse comando abre uma sessão interativa com o " "depurador gdb)." -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "Depurar interpretador e.g.:%s" @@ -800,7 +800,7 @@ msgstr "Erro ao baixar plataforma %s" msgid "Error downloading tool %s" msgstr "Erro ao baixar ferramenta %s" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "Erro durante Depuramento: %v" @@ -1073,7 +1073,7 @@ msgstr "Exemplos para biblioteca %s" msgid "Examples:" msgstr "Exemplos:" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "Executável para depurar" @@ -1145,7 +1145,7 @@ msgstr "" "Encriptação/assinatura de firmware requer que todas as propriedades a seguir" " sejam definidas: %s" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" "A primeira mensagem deve conter uma requisição de depuração, e não dados." @@ -1191,7 +1191,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "Nome de Placa Completamente Qualificada. E.g.: arduino:avr:uno" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "Servidor GDB '%s' não é suportado" @@ -1371,7 +1371,7 @@ msgstr "Item inválido %s" msgid "Invalid library" msgstr "Biblioteca inválida" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1383,7 +1383,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy inválido: '%[1]s':%[2]s" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "Formato de saída inválido: %s" @@ -2045,7 +2045,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2128,7 +2128,7 @@ msgstr "" msgid "Sentence: %s" msgstr "Sentença: %s" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2136,7 +2136,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "Servidor respondeu com: %s" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2152,6 +2152,12 @@ msgstr "" msgid "Sets a setting value." msgstr "Define um valor de configuração." +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2365,7 +2371,7 @@ msgstr "O daemon da porta TCP irá ouvir em" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" "O arquivo de configuração customizado (caso não seja definido, o padrão vai " @@ -2375,11 +2381,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "A flag --debug-file deve ser usada junto de --debug." -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2476,19 +2482,19 @@ msgstr "Ferramenta %s já está instalada" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2517,20 +2523,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2965,7 +2971,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3300,8 +3306,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3354,7 +3360,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3362,11 +3368,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3374,7 +3380,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3457,7 +3463,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3572,7 +3578,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3677,7 +3683,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3685,8 +3691,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 3de000496d6..5b76834d1ac 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -69,7 +69,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "'%s' имеет неправильную сигнатуру " -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -324,7 +324,7 @@ msgstr "" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "" @@ -367,7 +367,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -426,7 +426,7 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "" @@ -500,7 +500,7 @@ msgid "" "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "" @@ -522,7 +522,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "" @@ -767,7 +767,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "" @@ -1039,7 +1039,7 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "" @@ -1107,7 +1107,7 @@ msgid "" "defined: %s" msgstr "" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" @@ -1148,7 +1148,7 @@ msgstr "" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "" @@ -1322,7 +1322,7 @@ msgstr "" msgid "Invalid library" msgstr "" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1334,7 +1334,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "" @@ -1955,7 +1955,7 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "" @@ -2034,7 +2034,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "" @@ -2042,7 +2042,7 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "" @@ -2058,6 +2058,12 @@ msgstr "" msgid "Sets a setting value." msgstr "" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2246,7 +2252,7 @@ msgstr "" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" @@ -2254,11 +2260,11 @@ msgstr "" msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2335,19 +2341,19 @@ msgstr "" msgid "Tool %s uninstalled" msgstr "" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "" @@ -2376,20 +2382,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "" @@ -2823,7 +2829,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "" @@ -3158,8 +3164,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3212,7 +3218,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3220,11 +3226,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3232,7 +3238,7 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "" @@ -3315,7 +3321,7 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "" @@ -3430,7 +3436,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3535,7 +3541,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3543,8 +3549,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index 4977f5e7c6a..c3ead48a325 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -71,7 +71,7 @@ msgstr "%s 模式丢失" msgid "'%s' has an invalid signature" msgstr "‘%s’ 的签名无效" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -325,7 +325,7 @@ msgstr "无法新建临时文件" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "无法删除位于%[2]v的%[1]s" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "无法运行调试工具" @@ -368,7 +368,7 @@ msgstr "类别:%s" msgid "Check dependencies status for the specified library." msgstr "检查指定库的依赖状态。" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "请提供给定的开发板/编程器组合以检查是否支持调试。" @@ -427,7 +427,7 @@ msgstr "配置文件已经存在,使用 --overwrite 弃用现有的配置文 msgid "Config file written to: %s" msgstr "配置文件写入:%s" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "%s 的配置选项" @@ -501,7 +501,7 @@ msgid "" "Library Manager." msgstr "目前,Build Profiles 只支持通过 Arduino Library Manager 提供的库。" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "%s的个性化设置:" @@ -523,7 +523,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "调试 Arduino 项目(此命令打开交互式 gdb 会话)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "调试解释器,例如:%s" @@ -768,7 +768,7 @@ msgstr "下载 %s 平台时出错" msgid "Error downloading tool %s" msgstr "下载 %s 工具时出错" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "调试时出错:%v" @@ -1040,7 +1040,7 @@ msgstr "%s 库的示例" msgid "Examples:" msgstr "示例:" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "可执行调试" @@ -1108,7 +1108,7 @@ msgid "" "defined: %s" msgstr "固件加密或签名需要定义以下所有属性:%s" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "第一条消息必须包含调试请求,而不是数据" @@ -1149,7 +1149,7 @@ msgstr "找到%d平台有符合的 \"%s\": %s" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格开发板名,例如:arduino:avr:uno" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "不支持 GDB 服务器 ‘%s’" @@ -1321,7 +1321,7 @@ msgstr "无效的 %s 条目" msgid "Invalid library" msgstr "无效的库" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "" @@ -1333,7 +1333,7 @@ msgstr "" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" @@ -1958,7 +1958,7 @@ msgstr "运行 pre_uninstall 命令。" msgid "SEARCH_TERM" msgstr "搜索_条件" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "SVD 文件路径" @@ -2076,7 +2076,7 @@ msgstr "搜索与查询匹配的一个或多个库文件。" msgid "Sentence: %s" msgstr "句子:%s" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "服务器路径" @@ -2084,7 +2084,7 @@ msgstr "服务器路径" msgid "Server responded with: %s" msgstr "服务器响应:%s" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "服务器类型" @@ -2100,6 +2100,12 @@ msgstr "将终端设置为原始模式(无缓冲)。" msgid "Sets a setting value." msgstr "设置一个值。" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2288,7 +2294,7 @@ msgstr "守护进程将监听的 TCP 端口" msgid "The command output format, can be: %s" msgstr "" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "自定义配置文件(如果未指定,将使用默认值)。" @@ -2296,11 +2302,11 @@ msgstr "自定义配置文件(如果未指定,将使用默认值)。" msgid "The flag --debug-file must be used with --debug." msgstr "参数 --debug-file 必须与 --debug 一起使用。" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "给定的开发板/编程器配置不支持调试。" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "给定的开发板/编程器配置支持调试。" @@ -2381,19 +2387,19 @@ msgstr "%s 工具已经安装" msgid "Tool %s uninstalled" msgstr "%s 工具已经卸载" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "不支持 ‘%s’ 工具链" -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "工具链路径" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "工具链前缀" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "工具链类型" @@ -2422,20 +2428,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "无法缓存构建的内核,请告知 %[1]s 维护者关注 %[2]s" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "无法获取文档文件夹:%v" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "无法获取本地应用程序数据文件夹:%v" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "无法获取用户主目录:%v" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" @@ -2869,7 +2875,7 @@ msgstr "未找到 %s discovery" msgid "discovery %s not installed" msgstr "%s discovery 未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "未找到 discovery 版本:%s" @@ -3204,8 +3210,8 @@ msgstr "正在加载 %[1]s: %[2]s" msgid "loading boards: %s" msgstr "正在加载开发板:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "正在加载 %[1]s json 索引文件:%[2]s" @@ -3258,7 +3264,7 @@ msgstr "缺少 ‘%s’ 指令" msgid "missing checksum for: %s" msgstr "缺少校验码:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " @@ -3266,11 +3272,11 @@ msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少软件包索引%s,无法保证未来的更新" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少 %[1]s 平台:%[2]s 被开发板 %[3]s 引用" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" @@ -3278,7 +3284,7 @@ msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" msgid "missing signature" msgstr "缺少签名" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "未找到公开监视器:%s" @@ -3361,7 +3367,7 @@ msgstr "打开目标文件:%s" msgid "package %s not found" msgstr "未找到 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "未找到 ‘%s’ 软件包 " @@ -3476,7 +3482,7 @@ msgstr "阅读项目文件" msgid "recipe not found '%s'" msgstr "未找到 ‘%s’ 方法" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到 %[2]s 工具的 %[1]s 发行版本" @@ -3581,7 +3587,7 @@ msgstr "%s 工具不是由软件包管理器管理的" msgid "tool %s not found" msgstr "未找到 %s 工具" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" @@ -3589,8 +3595,8 @@ msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" msgid "tool not installed" msgstr "工具未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "找不到发行工具:%s" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index cd41c1f2b0d..021f1c18b6a 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -67,7 +67,7 @@ msgstr "%s 樣態遺失" msgid "'%s' has an invalid signature" msgstr "'%s'的簽名無效" -#: internal/arduino/cores/packagemanager/package_manager.go:443 +#: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -321,7 +321,7 @@ msgstr "無法建立暫存檔" msgid "Cannot delete the key %[1]s: %[2]v" msgstr "無法刪除鍵值 %[1]s: %[2]v" -#: commands/service_debug_run.go:69 +#: commands/service_debug.go:228 msgid "Cannot execute debug tool" msgstr "無法執行除錯工具" @@ -364,7 +364,7 @@ msgstr "類別:%s" msgid "Check dependencies status for the specified library." msgstr "檢查指定程式庫的相依狀態" -#: internal/cli/debug/debug_check.go:42 +#: internal/cli/debug/debug_check.go:41 msgid "Check if the given board/programmer combination supports debugging." msgstr "檢查指定的板子/燒錄器是否支援除錯。" @@ -423,7 +423,7 @@ msgstr "設定檔已存在,使用 --overwrite 覆蓋它" msgid "Config file written to: %s" msgstr "設定檔寫入:%s" -#: internal/cli/debug/debug.go:238 +#: internal/cli/debug/debug.go:241 msgid "Configuration options for %s" msgstr "%s 的設定選項" @@ -497,7 +497,7 @@ msgid "" "Library Manager." msgstr "目前建構方案只支援 Arduino 程式庫管理員所提供的程式庫" -#: internal/cli/debug/debug.go:254 +#: internal/cli/debug/debug.go:257 msgid "Custom configuration for %s:" msgstr "%s的客製化設定:" @@ -519,7 +519,7 @@ msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "除錯 Arduino sketch (此命令會開啟互動式 gdb 對話)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:51 +#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 msgid "Debug interpreter e.g.: %s" msgstr "除錯解譯器,例如:%s" @@ -764,7 +764,7 @@ msgstr "下載平台 %s 出錯" msgid "Error downloading tool %s" msgstr "下載工具 %s 出錯" -#: internal/cli/debug/debug.go:150 internal/cli/debug/debug.go:183 +#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 msgid "Error during Debug: %v" msgstr "除錯時出錯: %v" @@ -1036,7 +1036,7 @@ msgstr "%s 程式庫的範例" msgid "Examples:" msgstr "範例:" -#: internal/cli/debug/debug.go:221 +#: internal/cli/debug/debug.go:224 msgid "Executable to debug" msgstr "可執行來除錯" @@ -1104,7 +1104,7 @@ msgid "" "defined: %s" msgstr "韌體加密/簽名需要定義以下全部屬性: %s" -#: commands/service_debug.go:40 +#: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "第一則訊息必須包含除錯請求,而不是資料" @@ -1145,7 +1145,7 @@ msgstr "找到 %d 平台有符合 \"%s\": %s" msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "完全合格的開發板名,例如:arduino:avr:uno" -#: commands/service_debug_run.go:188 +#: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" msgstr "不支援 GDB 伺服器 '%s'" @@ -1317,7 +1317,7 @@ msgstr "無效的項目 %s" msgid "Invalid library" msgstr "無效的程式庫" -#: internal/cli/cli.go:262 +#: internal/cli/cli.go:265 msgid "Invalid logging level: %s" msgstr "無效的日誌層級: %s" @@ -1329,7 +1329,7 @@ msgstr "網路設定無效: %s" msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" -#: internal/cli/cli.go:219 +#: internal/cli/cli.go:222 msgid "Invalid output format: %s" msgstr "無效的輸出格式: %s" @@ -1954,7 +1954,7 @@ msgstr "執行 pre_uninstall 命令." msgid "SEARCH_TERM" msgstr "搜尋_條件" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:229 msgid "SVD file path" msgstr "SVD 檔案路徑" @@ -2063,7 +2063,7 @@ msgstr "尋找符合條件的一或多個程式庫" msgid "Sentence: %s" msgstr "句子: %s" -#: internal/cli/debug/debug.go:234 +#: internal/cli/debug/debug.go:237 msgid "Server path" msgstr "伺服器路徑" @@ -2071,7 +2071,7 @@ msgstr "伺服器路徑" msgid "Server responded with: %s" msgstr "伺服器回應: %s" -#: internal/cli/debug/debug.go:233 +#: internal/cli/debug/debug.go:236 msgid "Server type" msgstr "伺服器類型" @@ -2087,6 +2087,12 @@ msgstr "設定終端成原始模式 (無緩衝)" msgid "Sets a setting value." msgstr "設定一個值" +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " @@ -2275,7 +2281,7 @@ msgstr "背景程式監聽的 TCP 埠" msgid "The command output format, can be: %s" msgstr "輸出格式,可以是: %s" -#: internal/cli/cli.go:186 +#: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "自定義設定檔 (如沒指定,將使用預設值)" @@ -2283,11 +2289,11 @@ msgstr "自定義設定檔 (如沒指定,將使用預設值)" msgid "The flag --debug-file must be used with --debug." msgstr "參數 --debug-file 必須和 --debug 一起使用" -#: internal/cli/debug/debug_check.go:89 +#: internal/cli/debug/debug_check.go:88 msgid "The given board/programmer configuration does NOT support debugging." msgstr "指定的板子/燒錄器設置不支援除錯。" -#: internal/cli/debug/debug_check.go:87 +#: internal/cli/debug/debug_check.go:86 msgid "The given board/programmer configuration supports debugging." msgstr "指定的板子/燒錄器設置支援除錯。" @@ -2368,19 +2374,19 @@ msgstr "工具 %s 已安裝" msgid "Tool %s uninstalled" msgstr "工具 %s 已卸除" -#: commands/service_debug_run.go:144 +#: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" msgstr "不支援工具包 '%s' " -#: internal/cli/debug/debug.go:223 +#: internal/cli/debug/debug.go:226 msgid "Toolchain path" msgstr "工具包路徑" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:227 msgid "Toolchain prefix" msgstr "工具包前綴字元" -#: internal/cli/debug/debug.go:222 +#: internal/cli/debug/debug.go:225 msgid "Toolchain type" msgstr "工具包類型" @@ -2409,20 +2415,20 @@ msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "無法快取建構核心,請通知 %[1]s 維護者注意 %[2]s" -#: internal/cli/configuration/configuration.go:86 +#: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" msgstr "無法取得文件夾: %v" -#: internal/cli/configuration/configuration.go:61 +#: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" msgstr "無法取得本地應用程式的資料夾: %v" -#: internal/cli/configuration/configuration.go:49 -#: internal/cli/configuration/configuration.go:74 +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" msgstr "無法取得用戶家目錄: %v" -#: internal/cli/cli.go:249 +#: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" msgstr "無法開啟檔案做日誌記錄: %s" @@ -2858,7 +2864,7 @@ msgstr "探索 %s找不到 " msgid "discovery %s not installed" msgstr "探索 %s 未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:741 +#: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" msgstr "找不到探索發行: %s" @@ -3193,8 +3199,8 @@ msgstr "載入 %[1]s: %[2]s" msgid "loading boards: %s" msgstr "載入開發板: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:496 -#: internal/arduino/cores/packagemanager/package_manager.go:511 +#: internal/arduino/cores/packagemanager/package_manager.go:501 +#: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" msgstr "載入json 索引檔 %[1]s:%[2]s" @@ -3247,7 +3253,7 @@ msgstr "缺少 '%s' 指令" msgid "missing checksum for: %s" msgstr "缺少 %s 的校驗碼" -#: internal/arduino/cores/packagemanager/package_manager.go:457 +#: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" @@ -3255,11 +3261,11 @@ msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少 %s 的套件索引, 不保証未來更新與否" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少被開發板 %[3]s 參照的平台 %[1]s : %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" @@ -3267,7 +3273,7 @@ msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" msgid "missing signature" msgstr "找不到簽名" -#: internal/arduino/cores/packagemanager/package_manager.go:752 +#: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" msgstr "沒找到監視器發行版: %s" @@ -3350,7 +3356,7 @@ msgstr "開啟目標檔: %s" msgid "package %s not found" msgstr "找不到套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:525 +#: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" msgstr "找不到套件 '%s'" @@ -3465,7 +3471,7 @@ msgstr "讀取 sketch 檔" msgid "recipe not found '%s'" msgstr "作法未找到 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:601 +#: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到工具 %[2]s 的發行版 %[1]s" @@ -3570,7 +3576,7 @@ msgstr "工具 %s 不是由套件管理員管理的" msgid "tool %s not found" msgstr "找不到工具 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:551 +#: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" @@ -3578,8 +3584,8 @@ msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" msgid "tool not installed" msgstr "工具未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:730 -#: internal/arduino/cores/packagemanager/package_manager.go:836 +#: internal/arduino/cores/packagemanager/package_manager.go:735 +#: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" msgstr "工具發行未找到: %s" From c5812eea68afdb0e4e774f4f15ec4a34f0c3100c Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Tue, 13 Aug 2024 08:21:28 +0200 Subject: [PATCH 241/361] core: list return empty array instead of null, when no cores are installed (#2691) --- internal/cli/core/list.go | 6 +++--- internal/integrationtest/core/core_test.go | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/cli/core/list.go b/internal/cli/core/list.go index 24bae8a82ab..4fe1661b0e5 100644 --- a/internal/cli/core/list.go +++ b/internal/cli/core/list.go @@ -88,9 +88,9 @@ func GetList(ctx context.Context, srv rpc.ArduinoCoreServiceServer, inst *rpc.In } func newCoreListResult(in []*rpc.PlatformSummary, updatableOnly bool) *coreListResult { - res := &coreListResult{updatableOnly: updatableOnly} - for _, platformSummary := range in { - res.Platforms = append(res.Platforms, result.NewPlatformSummary(platformSummary)) + res := &coreListResult{updatableOnly: updatableOnly, Platforms: make([]*result.PlatformSummary, len(in))} + for i, platformSummary := range in { + res.Platforms[i] = result.NewPlatformSummary(platformSummary) } return res } diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index 1f8850f0856..08ed34fadfd 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -1174,6 +1174,7 @@ func TestCoreListWhenNoPlatformAreInstalled(t *testing.T) { stdout, _, err := cli.Run("core", "list", "--json") require.NoError(t, err) requirejson.Query(t, stdout, `.platforms | length`, `0`) + requirejson.Query(t, stdout, `.platforms | select(.!=null)`, `[]`) stdout, _, err = cli.Run("core", "list") require.NoError(t, err) From 0cae891786c1091fefff12f5301325ad6b01109a Mon Sep 17 00:00:00 2001 From: per1234 <accounts@perglass.com> Date: Tue, 3 Sep 2024 13:24:39 -0700 Subject: [PATCH 242/361] [skip changelog] Configure actions/upload-artifact action to upload required hidden files (#2699) A breaking change was made in the 3.2.1 release of the "actions/upload-artifact" action, without doing a major version bump as would be done in a responsibly maintained project. The action now defaults to not uploading "hidden" files. This project's "Check Go Dependencies" workflow uses the "Licensed" tool to check for incompatible dependency licenses. The dependencies license metadata cache used by Licensed is stored in a folder named `.licensed`. In order to facilitate updates, the workflow uploads the generated dependencies license metadata cache as a workflow artifact when the current cache is found to be outdated. The `.` at the start of the `.licensed` folder name causes it to now not be uploaded to the workflow artifact. In order to catch such problems, the workflow configures the "actions/upload-artifact" action to fail if no files were uploaded. So in addition to not uploading the artifact, the change in the "actions/upload-artifact" action's behavior also resulted in the workflow runs failing: Error: No files were found with the provided path: .licenses/. No artifacts will be uploaded. The problem is fixed by disabling the "actions/upload-artifact" action's new behavior via the `include-hidden-files` input. After this change, the workflow can once more upload the dependencies license metadata cache to a workflow artifact as needed. --- .github/workflows/check-go-dependencies-task.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index 5949df9e89f..c54558672b4 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -105,6 +105,7 @@ jobs: uses: actions/upload-artifact@v4 with: if-no-files-found: error + include-hidden-files: true name: dep-licenses-cache path: .licenses/ From 642ce2ecaeef3f642c462bf9300738bf06068157 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 9 Sep 2024 15:12:20 +0200 Subject: [PATCH 243/361] Added possibility to set custom properties on upload/burn-bootloader/debug commands. (#2693) * Fixed dry-run in upload with programmer * Fixed doc comment * Added upload properties to gRPC Upload, UploadWithProgrammer, and BurnBootloader * Removed unused var * Added --upload-properties flag to CLI `upload` and `burn-bootloader` commands. * Added custom debug properties to Debug/IsDebugSupported commands (gRPC and CLI) --- commands/service_debug_config.go | 23 +- commands/service_upload.go | 31 +- commands/service_upload_burnbootloader.go | 1 + commands/service_upload_test.go | 1 + internal/cli/burnbootloader/burnbootloader.go | 31 +- internal/cli/debug/debug.go | 37 ++- internal/cli/debug/debug_check.go | 28 +- internal/cli/upload/upload.go | 45 +-- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 2 +- rpc/cc/arduino/cli/commands/v1/compile.proto | 2 +- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 184 ++++++----- rpc/cc/arduino/cli/commands/v1/debug.proto | 4 + rpc/cc/arduino/cli/commands/v1/upload.pb.go | 304 ++++++++++-------- rpc/cc/arduino/cli/commands/v1/upload.proto | 6 + 14 files changed, 404 insertions(+), 295 deletions(-) diff --git a/commands/service_debug_config.go b/commands/service_debug_config.go index 018ae4033e8..232940eb293 100644 --- a/commands/service_debug_config.go +++ b/commands/service_debug_config.go @@ -19,6 +19,7 @@ import ( "context" "encoding/json" "errors" + "fmt" "reflect" "slices" "strconv" @@ -55,13 +56,14 @@ func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.I } defer release() configRequest := &rpc.GetDebugConfigRequest{ - Instance: req.GetInstance(), - Fqbn: req.GetFqbn(), - SketchPath: "", - Port: req.GetPort(), - Interpreter: req.GetInterpreter(), - ImportDir: "", - Programmer: req.GetProgrammer(), + Instance: req.GetInstance(), + Fqbn: req.GetFqbn(), + SketchPath: "", + Port: req.GetPort(), + Interpreter: req.GetInterpreter(), + ImportDir: "", + Programmer: req.GetProgrammer(), + DebugProperties: req.GetDebugProperties(), } expectedOutput, err := getDebugProperties(configRequest, pme, true) var x *cmderrors.FailedDebugError @@ -202,6 +204,13 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } } + // Add user provided custom debug properties + if p, err := properties.LoadFromSlice(req.GetDebugProperties()); err == nil { + debugProperties.Merge(p) + } else { + return nil, fmt.Errorf("invalid build properties: %w", err) + } + if !debugProperties.ContainsKey("executable") || debugProperties.Get("executable") == "" { return nil, &cmderrors.FailedDebugError{Message: i18n.Tr("Debugging not supported for board %s", req.GetFqbn())} } diff --git a/commands/service_upload.go b/commands/service_upload.go index 330decc3c5e..e3c8c176278 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -205,6 +205,7 @@ func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.Arduin errStream, req.GetDryRun(), req.GetUserFields(), + req.GetUploadProperties(), ) if err != nil { return err @@ -246,16 +247,18 @@ func (s *arduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgra return &cmderrors.MissingProgrammerError{} } return s.Upload(&rpc.UploadRequest{ - Instance: req.GetInstance(), - SketchPath: req.GetSketchPath(), - ImportFile: req.GetImportFile(), - ImportDir: req.GetImportDir(), - Fqbn: req.GetFqbn(), - Port: req.GetPort(), - Programmer: req.GetProgrammer(), - Verbose: req.GetVerbose(), - Verify: req.GetVerify(), - UserFields: req.GetUserFields(), + Instance: req.GetInstance(), + SketchPath: req.GetSketchPath(), + ImportFile: req.GetImportFile(), + ImportDir: req.GetImportDir(), + Fqbn: req.GetFqbn(), + Port: req.GetPort(), + Programmer: req.GetProgrammer(), + Verbose: req.GetVerbose(), + Verify: req.GetVerify(), + UserFields: req.GetUserFields(), + DryRun: req.GetDryRun(), + UploadProperties: req.GetUploadProperties(), }, streamAdapter) } @@ -266,6 +269,7 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, verbose, verify, burnBootloader bool, outStream, errStream io.Writer, dryRun bool, userFields map[string]string, + requestUploadProperties []string, ) (*rpc.Port, error) { port := rpc.DiscoveryPortFromRPCPort(userPort) if port == nil || (port.Address == "" && port.Protocol == "") { @@ -377,6 +381,13 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, uploadProperties.Merge(programmer.Properties) } + // Add user provided custom upload properties + if p, err := properties.LoadFromSlice(requestUploadProperties); err == nil { + uploadProperties.Merge(p) + } else { + return nil, fmt.Errorf("invalid build properties: %w", err) + } + // Certain tools require the user to provide custom fields at run time, // if they've been provided set them // For more info: diff --git a/commands/service_upload_burnbootloader.go b/commands/service_upload_burnbootloader.go index 448618b164c..8f98cd07a05 100644 --- a/commands/service_upload_burnbootloader.go +++ b/commands/service_upload_burnbootloader.go @@ -88,6 +88,7 @@ func (s *arduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, s errStream, req.GetDryRun(), map[string]string{}, // User fields + req.GetUploadProperties(), ); err != nil { return err } diff --git a/commands/service_upload_test.go b/commands/service_upload_test.go index d350b5a6470..c13b66af29d 100644 --- a/commands/service_upload_test.go +++ b/commands/service_upload_test.go @@ -202,6 +202,7 @@ func TestUploadPropertiesComposition(t *testing.T) { errStream, false, map[string]string{}, + nil, ) verboseVerifyOutput := "verbose verify" if !verboseVerify { diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 5187036aabc..8b479e896e7 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -32,13 +32,13 @@ import ( ) var ( - fqbn arguments.Fqbn - port arguments.Port - verbose bool - verify bool - programmer arguments.Programmer - dryRun bool - tr = i18n.Tr + fqbn arguments.Fqbn + port arguments.Port + verbose bool + verify bool + programmer arguments.Programmer + dryRun bool + uploadProperties []string ) // NewCommand created a new `burn-bootloader` command @@ -57,6 +57,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { fqbn.AddToCommand(burnBootloaderCommand, srv) port.AddToCommand(burnBootloaderCommand, srv) programmer.AddToCommand(burnBootloaderCommand, srv) + burnBootloaderCommand.Flags().StringArrayVar(&uploadProperties, "upload-property", []string{}, + i18n.Tr("Override an upload property with a custom value. Can be used multiple times for multiple properties.")) burnBootloaderCommand.Flags().BoolVarP(&verify, "verify", "t", false, i18n.Tr("Verify uploaded binary after the upload.")) burnBootloaderCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, i18n.Tr("Turns on verbose mode.")) burnBootloaderCommand.Flags().BoolVar(&dryRun, "dry-run", false, i18n.Tr("Do not perform the actual upload, just log out actions")) @@ -79,13 +81,14 @@ func runBootloaderCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) stdOut, stdErr, res := feedback.OutputStreams() stream := commands.BurnBootloaderToServerStreams(ctx, stdOut, stdErr) if err := srv.BurnBootloader(&rpc.BurnBootloaderRequest{ - Instance: instance, - Fqbn: fqbn.String(), - Port: discoveryPort, - Verbose: verbose, - Verify: verify, - Programmer: programmer.String(ctx, instance, srv, fqbn.String()), - DryRun: dryRun, + Instance: instance, + Fqbn: fqbn.String(), + Port: discoveryPort, + Verbose: verbose, + Verify: verify, + Programmer: programmer.String(ctx, instance, srv, fqbn.String()), + UploadProperties: uploadProperties, + DryRun: dryRun, }, stream); err != nil { errcode := feedback.ErrGeneric if errors.Is(err, &cmderrors.ProgrammerRequiredForUploadError{}) { diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index 84ac83c8cad..fa6e91491c4 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -38,13 +38,14 @@ import ( // NewCommand created a new `upload` command func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var ( - fqbnArg arguments.Fqbn - portArgs arguments.Port - profileArg arguments.Profile - interpreter string - importDir string - printInfo bool - programmer arguments.Programmer + fqbnArg arguments.Fqbn + portArgs arguments.Port + profileArg arguments.Profile + interpreter string + importDir string + printInfo bool + programmer arguments.Programmer + debugProperties []string ) debugCommand := &cobra.Command{ @@ -54,7 +55,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Example: " " + os.Args[0] + " debug -b arduino:samd:mkr1000 -P atmel_ice /home/user/Arduino/MySketch", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { - runDebugCommand(cmd.Context(), srv, args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg) + runDebugCommand(cmd.Context(), srv, args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg, debugProperties) }, } @@ -66,12 +67,15 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", i18n.Tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", i18n.Tr("Directory containing binaries for debug.")) debugCommand.Flags().BoolVarP(&printInfo, "info", "I", false, i18n.Tr("Show metadata about the debug session instead of starting the debugger.")) + debugCommand.Flags().StringArrayVar(&debugProperties, "debug-property", []string{}, + i18n.Tr("Override an debug property with a custom value. Can be used multiple times for multiple properties.")) return debugCommand } func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args []string, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, - interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool, profileArg *arguments.Profile) { + interpreter string, importDir string, programmer *arguments.Programmer, printInfo bool, profileArg *arguments.Profile, + debugProperties []string) { logrus.Info("Executing `arduino-cli debug`") path := "" @@ -111,13 +115,14 @@ func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args } debugConfigRequested := &rpc.GetDebugConfigRequest{ - Instance: inst, - Fqbn: fqbn, - SketchPath: sketchPath.String(), - Port: port, - Interpreter: interpreter, - ImportDir: importDir, - Programmer: prog, + Instance: inst, + Fqbn: fqbn, + SketchPath: sketchPath.String(), + Port: port, + Interpreter: interpreter, + ImportDir: importDir, + Programmer: prog, + DebugProperties: debugProperties, } if printInfo { diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index ea64390b311..779348c8a82 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -31,27 +31,32 @@ import ( func newDebugCheckCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { var ( - fqbnArg arguments.Fqbn - portArgs arguments.Port - interpreter string - programmer arguments.Programmer + fqbnArg arguments.Fqbn + portArgs arguments.Port + interpreter string + programmer arguments.Programmer + debugProperties []string ) debugCheckCommand := &cobra.Command{ Use: "check", Short: i18n.Tr("Check if the given board/programmer combination supports debugging."), Example: " " + os.Args[0] + " debug check -b arduino:samd:mkr1000 -P atmel_ice", Run: func(cmd *cobra.Command, args []string) { - runDebugCheckCommand(cmd.Context(), srv, &portArgs, &fqbnArg, interpreter, &programmer) + runDebugCheckCommand(cmd.Context(), srv, &portArgs, &fqbnArg, interpreter, &programmer, debugProperties) }, } fqbnArg.AddToCommand(debugCheckCommand, srv) portArgs.AddToCommand(debugCheckCommand, srv) programmer.AddToCommand(debugCheckCommand, srv) debugCheckCommand.Flags().StringVar(&interpreter, "interpreter", "console", i18n.Tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) + debugCheckCommand.Flags().StringArrayVar(&debugProperties, "debug-property", []string{}, + i18n.Tr("Override an debug property with a custom value. Can be used multiple times for multiple properties.")) return debugCheckCommand } -func runDebugCheckCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer) { +func runDebugCheckCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, portArgs *arguments.Port, + fqbnArg *arguments.Fqbn, interpreter string, programmerArg *arguments.Programmer, debugProperties []string, +) { instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli debug`") @@ -61,11 +66,12 @@ func runDebugCheckCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, } fqbn := fqbnArg.String() resp, err := srv.IsDebugSupported(ctx, &rpc.IsDebugSupportedRequest{ - Instance: instance, - Fqbn: fqbn, - Port: port, - Interpreter: interpreter, - Programmer: programmerArg.String(ctx, instance, srv, fqbn), + Instance: instance, + Fqbn: fqbn, + Port: port, + Interpreter: interpreter, + Programmer: programmerArg.String(ctx, instance, srv, fqbn), + DebugProperties: debugProperties, }) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 90ba5bf6d7d..28a961bc593 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -36,16 +36,16 @@ import ( ) var ( - fqbnArg arguments.Fqbn - portArgs arguments.Port - profileArg arguments.Profile - verbose bool - verify bool - importDir string - importFile string - programmer arguments.Programmer - dryRun bool - tr = i18n.Tr + fqbnArg arguments.Fqbn + portArgs arguments.Port + profileArg arguments.Profile + verbose bool + verify bool + importDir string + importFile string + programmer arguments.Programmer + dryRun bool + uploadProperties []string ) // NewCommand created a new `upload` command @@ -72,6 +72,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { profileArg.AddToCommand(uploadCommand, srv) uploadCommand.Flags().StringVarP(&importDir, "input-dir", "", "", i18n.Tr("Directory containing binaries to upload.")) uploadCommand.Flags().StringVarP(&importFile, "input-file", "i", "", i18n.Tr("Binary file to upload.")) + uploadCommand.Flags().StringArrayVar(&uploadProperties, "upload-property", []string{}, + i18n.Tr("Override an upload property with a custom value. Can be used multiple times for multiple properties.")) uploadCommand.Flags().BoolVarP(&verify, "verify", "t", false, i18n.Tr("Verify uploaded binary after the upload.")) uploadCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, i18n.Tr("Optional, turns on verbose mode.")) programmer.AddToCommand(uploadCommand, srv) @@ -185,17 +187,18 @@ func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg stdOut, stdErr, stdIOResult := feedback.OutputStreams() req := &rpc.UploadRequest{ - Instance: inst, - Fqbn: fqbn, - SketchPath: path, - Port: port, - Verbose: verbose, - Verify: verify, - ImportFile: importFile, - ImportDir: importDir, - Programmer: prog, - DryRun: dryRun, - UserFields: fields, + Instance: inst, + Fqbn: fqbn, + SketchPath: path, + Port: port, + Verbose: verbose, + Verify: verify, + ImportFile: importFile, + ImportDir: importDir, + Programmer: prog, + DryRun: dryRun, + UserFields: fields, + UploadProperties: uploadProperties, } stream, streamResp := commands.UploadToServerStreams(ctx, stdOut, stdErr) if err := srv.Upload(req, stream); err != nil { diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index 80a6b9fd997..33fa8d6314c 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -59,7 +59,7 @@ type CompileRequest struct { // a directory will be created in the operating system's default temporary // path. BuildPath string `protobuf:"bytes,7,opt,name=build_path,json=buildPath,proto3" json:"build_path,omitempty"` - // List of custom build properties separated by commas. + // List of custom build properties. BuildProperties []string `protobuf:"bytes,8,rep,name=build_properties,json=buildProperties,proto3" json:"build_properties,omitempty"` // Used to tell gcc which warning level to use. The level names are: "none", // "default", "more" and "all". diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index 5a103c6f5bf..fb21c8f9bae 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -42,7 +42,7 @@ message CompileRequest { // a directory will be created in the operating system's default temporary // path. string build_path = 7; - // List of custom build properties separated by commas. + // List of custom build properties. repeated string build_properties = 8; // Used to tell gcc which warning level to use. The level names are: "none", // "default", "more" and "all". diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index 433d008ea69..7d0deb00cee 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -211,6 +211,8 @@ type IsDebugSupportedRequest struct { Interpreter string `protobuf:"bytes,4,opt,name=interpreter,proto3" json:"interpreter,omitempty"` // The programmer to use for debugging. Programmer string `protobuf:"bytes,5,opt,name=programmer,proto3" json:"programmer,omitempty"` + // List of custom debug properties. + DebugProperties []string `protobuf:"bytes,6,rep,name=debug_properties,json=debugProperties,proto3" json:"debug_properties,omitempty"` } func (x *IsDebugSupportedRequest) Reset() { @@ -280,6 +282,13 @@ func (x *IsDebugSupportedRequest) GetProgrammer() string { return "" } +func (x *IsDebugSupportedRequest) GetDebugProperties() []string { + if x != nil { + return x.DebugProperties + } + return nil +} + type IsDebugSupportedResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -364,6 +373,8 @@ type GetDebugConfigRequest struct { ImportDir string `protobuf:"bytes,8,opt,name=import_dir,json=importDir,proto3" json:"import_dir,omitempty"` // The programmer to use for debugging. Programmer string `protobuf:"bytes,9,opt,name=programmer,proto3" json:"programmer,omitempty"` + // List of custom debug properties. + DebugProperties []string `protobuf:"bytes,10,rep,name=debug_properties,json=debugProperties,proto3" json:"debug_properties,omitempty"` } func (x *GetDebugConfigRequest) Reset() { @@ -447,6 +458,13 @@ func (x *GetDebugConfigRequest) GetProgrammer() string { return "" } +func (x *GetDebugConfigRequest) GetDebugProperties() []string { + if x != nil { + return x.DebugProperties + } + return nil +} + type GetDebugConfigResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -777,7 +795,7 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x1a, 0x1e, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x17, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, + 0x67, 0x65, 0x22, 0x92, 0x02, 0x0a, 0x17, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, @@ -791,85 +809,91 @@ var file_cc_arduino_cli_commands_v1_debug_proto_rawDesc = []byte{ 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x6a, 0x0a, 0x18, - 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x62, 0x75, - 0x67, 0x67, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, - 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, - 0x75, 0x67, 0x5f, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, - 0x65, 0x62, 0x75, 0x67, 0x46, 0x71, 0x62, 0x6e, 0x22, 0xa5, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, - 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, - 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, - 0x20, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, - 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, - 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x22, 0xe4, 0x04, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, - 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, - 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, - 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, - 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, - 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, - 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, - 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, - 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x16, 0x74, 0x6f, 0x6f, - 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, - 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, - 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, - 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, - 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, - 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, - 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, + 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x50, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0x6a, 0x0a, 0x18, 0x49, 0x73, 0x44, 0x65, 0x62, + 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, + 0x5f, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x12, 0x64, 0x65, 0x62, 0x75, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x62, 0x75, 0x67, 0x5f, 0x66, 0x71, + 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x62, 0x75, 0x67, 0x46, + 0x71, 0x62, 0x6e, 0x22, 0xd0, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, + 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, + 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, + 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, + 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0b, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x29, 0x0a, 0x10, 0x64, + 0x65, 0x62, 0x75, 0x67, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, + 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x50, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x22, 0xe4, 0x04, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, + 0x25, 0x0a, 0x0e, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, + 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0f, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x50, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4d, 0x0a, 0x17, 0x74, 0x6f, + 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, + 0x79, 0x52, 0x16, 0x74, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x14, 0x73, 0x65, 0x72, + 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x13, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x6c, 0x0a, 0x0e, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0d, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x12, 0x19, 0x0a, 0x08, 0x73, 0x76, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x76, 0x64, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x1a, 0x40, 0x0a, 0x12, 0x43, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x20, 0x0a, + 0x1e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x47, 0x43, 0x43, 0x54, 0x6f, 0x6f, 0x6c, 0x63, 0x68, 0x61, + 0x69, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x70, 0x0a, 0x1f, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4f, 0x70, 0x65, 0x6e, 0x4f, 0x43, 0x44, 0x53, + 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x73, 0x44, 0x69, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, + 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, + 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 208d91d7cb7..6a53e0f27cc 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -71,6 +71,8 @@ message IsDebugSupportedRequest { string interpreter = 4; // The programmer to use for debugging. string programmer = 5; + // List of custom debug properties. + repeated string debug_properties = 6; } message IsDebugSupportedResponse { @@ -103,6 +105,8 @@ message GetDebugConfigRequest { string import_dir = 8; // The programmer to use for debugging. string programmer = 9; + // List of custom debug properties. + repeated string debug_properties = 10; } message GetDebugConfigResponse { diff --git a/rpc/cc/arduino/cli/commands/v1/upload.pb.go b/rpc/cc/arduino/cli/commands/v1/upload.pb.go index be4585257ed..6491669c2c6 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/upload.pb.go @@ -77,6 +77,8 @@ type UploadRequest struct { // For more info: // https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields UserFields map[string]string `protobuf:"bytes,11,rep,name=user_fields,json=userFields,proto3" json:"user_fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // List of custom upload properties. + UploadProperties []string `protobuf:"bytes,12,rep,name=upload_properties,json=uploadProperties,proto3" json:"upload_properties,omitempty"` } func (x *UploadRequest) Reset() { @@ -188,6 +190,13 @@ func (x *UploadRequest) GetUserFields() map[string]string { return nil } +func (x *UploadRequest) GetUploadProperties() []string { + if x != nil { + return x.UploadProperties + } + return nil +} + type UploadResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -412,6 +421,8 @@ type UploadUsingProgrammerRequest struct { // For more info: // https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields UserFields map[string]string `protobuf:"bytes,11,rep,name=user_fields,json=userFields,proto3" json:"user_fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // List of custom upload properties. + UploadProperties []string `protobuf:"bytes,12,rep,name=upload_properties,json=uploadProperties,proto3" json:"upload_properties,omitempty"` } func (x *UploadUsingProgrammerRequest) Reset() { @@ -523,6 +534,13 @@ func (x *UploadUsingProgrammerRequest) GetUserFields() map[string]string { return nil } +func (x *UploadUsingProgrammerRequest) GetUploadProperties() []string { + if x != nil { + return x.UploadProperties + } + return nil +} + type UploadUsingProgrammerResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -633,6 +651,8 @@ type BurnBootloaderRequest struct { // For more info: // https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields UserFields map[string]string `protobuf:"bytes,11,rep,name=user_fields,json=userFields,proto3" json:"user_fields,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // List of custom upload properties. + UploadProperties []string `protobuf:"bytes,12,rep,name=upload_properties,json=uploadProperties,proto3" json:"upload_properties,omitempty"` } func (x *BurnBootloaderRequest) Reset() { @@ -723,6 +743,13 @@ func (x *BurnBootloaderRequest) GetUserFields() map[string]string { return nil } +func (x *BurnBootloaderRequest) GetUploadProperties() []string { + if x != nil { + return x.UploadProperties + } + return nil +} + type BurnBootloaderResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1111,7 +1138,7 @@ var file_cc_arduino_cli_commands_v1_upload_proto_rawDesc = []byte{ 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x82, 0x04, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xaf, 0x04, 0x0a, 0x0d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, @@ -1139,147 +1166,156 @@ var file_cc_arduino_cli_commands_v1_upload_proto_rawDesc = []byte{ 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, - 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x55, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, - 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, - 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, - 0x42, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x60, - 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x50, - 0x0a, 0x13, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x11, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, - 0x22, 0x24, 0x0a, 0x22, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x49, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa0, 0x04, 0x0a, 0x1c, 0x55, 0x70, 0x6c, 0x6f, 0x61, - 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, - 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, - 0x0b, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, - 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, - 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, - 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, - 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, - 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, - 0x69, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0b, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x73, - 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x1d, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, + 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa1, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, - 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x09, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb1, 0x03, 0x0a, 0x15, 0x42, 0x75, 0x72, 0x6e, - 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, - 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, - 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, - 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, - 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x62, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, - 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, - 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, - 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, - 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x65, 0x0a, 0x16, 0x42, - 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, - 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, - 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x28, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, - 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x75, 0x0a, 0x29, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, - 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x22, 0x8e, 0x01, 0x0a, - 0x1a, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, + 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x42, 0x0a, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x60, 0x0a, 0x0c, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x50, 0x0a, 0x13, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x70, 0x6f, + 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x11, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x22, 0x24, 0x0a, + 0x22, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x49, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x22, 0xcd, 0x04, 0x0a, 0x1c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, + 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6b, + 0x65, 0x74, 0x63, 0x68, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0a, 0x73, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x61, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, + 0x69, 0x66, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x69, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, + 0x69, 0x72, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x44, 0x69, 0x72, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, + 0x6d, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x0a, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x12, 0x69, 0x0a, 0x0b, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x48, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, + 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0x6c, 0x0a, 0x1d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, + 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, + 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, + 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, + 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x22, 0xde, 0x03, 0x0a, 0x15, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, - 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x66, 0x0a, - 0x09, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, - 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x74, 0x6f, 0x6f, - 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x65, 0x0a, 0x1b, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, - 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, + 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, + 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x76, 0x65, 0x72, 0x69, 0x66, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, + 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, + 0x75, 0x6e, 0x12, 0x62, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, + 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x10, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x22, 0x65, 0x0a, 0x16, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, + 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, + 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x42, 0x09, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x28, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x75, 0x0a, 0x29, + 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x0b, 0x70, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x67, + 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x65, 0x72, 0x73, 0x22, 0x8e, 0x01, 0x0a, 0x1a, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, + 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x22, 0x66, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x6f, 0x6f, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, + 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x22, 0x65, 0x0a, 0x1b, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, + 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/upload.proto b/rpc/cc/arduino/cli/commands/v1/upload.proto index 2639ff24399..edeb3907249 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.proto +++ b/rpc/cc/arduino/cli/commands/v1/upload.proto @@ -60,6 +60,8 @@ message UploadRequest { // For more info: // https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields map<string, string> user_fields = 11; + // List of custom upload properties. + repeated string upload_properties = 12; } message UploadResponse { @@ -116,6 +118,8 @@ message UploadUsingProgrammerRequest { // For more info: // https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields map<string, string> user_fields = 11; + // List of custom upload properties. + repeated string upload_properties = 12; } message UploadUsingProgrammerResponse { @@ -150,6 +154,8 @@ message BurnBootloaderRequest { // For more info: // https://arduino.github.io/arduino-cli/latest/platform-specification/#user-provided-fields map<string, string> user_fields = 11; + // List of custom upload properties. + repeated string upload_properties = 12; } message BurnBootloaderResponse { From c3939138337812a1609023f5000307d10ea67f24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:25:43 +0200 Subject: [PATCH 244/361] [skip changelog] Bump google.golang.org/grpc from 1.65.0 to 1.66.0 (#2694) * [skip changelog] Bump google.golang.org/grpc from 1.65.0 to 1.66.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.65.0 to 1.66.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.65.0...v1.66.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/golang.org/x/crypto/argon2.dep.yml | 6 +- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 +- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 +- .../go/golang.org/x/crypto/cast5.dep.yml | 6 +- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +- .../x/crypto/ssh/knownhosts.dep.yml | 6 +- .licenses/go/golang.org/x/net/context.dep.yml | 6 +- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +- .../golang.org/x/net/internal/socks.dep.yml | 6 +- .../x/net/internal/timeseries.dep.yml | 6 +- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +- .../genproto/googleapis/rpc/status.dep.yml | 4 +- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../google.golang.org/grpc/attributes.dep.yml | 4 +- .../go/google.golang.org/grpc/backoff.dep.yml | 4 +- .../google.golang.org/grpc/balancer.dep.yml | 4 +- .../grpc/balancer/base.dep.yml | 4 +- .../grpc/balancer/grpclb/state.dep.yml | 4 +- .../grpc/balancer/pickfirst.dep.yml | 4 +- .../grpc/balancer/roundrobin.dep.yml | 4 +- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 +- .../google.golang.org/grpc/channelz.dep.yml | 4 +- .../go/google.golang.org/grpc/codes.dep.yml | 4 +- .../grpc/connectivity.dep.yml | 4 +- .../grpc/credentials.dep.yml | 4 +- .../grpc/credentials/insecure.dep.yml | 4 +- .../google.golang.org/grpc/encoding.dep.yml | 4 +- .../grpc/encoding/proto.dep.yml | 4 +- .../grpc/experimental/stats.dep.yml | 213 +++++++++++++++++ .../go/google.golang.org/grpc/grpclog.dep.yml | 4 +- .../grpc/grpclog/internal.dep.yml | 213 +++++++++++++++++ .../google.golang.org/grpc/internal.dep.yml | 4 +- .../grpc/internal/backoff.dep.yml | 4 +- .../internal/balancer/gracefulswitch.dep.yml | 4 +- .../grpc/internal/balancerload.dep.yml | 4 +- .../grpc/internal/binarylog.dep.yml | 4 +- .../grpc/internal/buffer.dep.yml | 4 +- .../grpc/internal/channelz.dep.yml | 4 +- .../grpc/internal/credentials.dep.yml | 4 +- .../grpc/internal/envconfig.dep.yml | 4 +- .../grpc/internal/grpclog.dep.yml | 7 +- .../grpc/internal/grpcsync.dep.yml | 4 +- .../grpc/internal/grpcutil.dep.yml | 4 +- .../grpc/internal/idle.dep.yml | 4 +- .../grpc/internal/metadata.dep.yml | 4 +- .../grpc/internal/pretty.dep.yml | 4 +- .../grpc/internal/resolver.dep.yml | 4 +- .../grpc/internal/resolver/dns.dep.yml | 4 +- .../internal/resolver/dns/internal.dep.yml | 4 +- .../internal/resolver/passthrough.dep.yml | 4 +- .../grpc/internal/resolver/unix.dep.yml | 4 +- .../grpc/internal/serviceconfig.dep.yml | 4 +- .../grpc/internal/stats.dep.yml | 213 +++++++++++++++++ .../grpc/internal/status.dep.yml | 4 +- .../grpc/internal/syscall.dep.yml | 4 +- .../grpc/internal/transport.dep.yml | 4 +- .../internal/transport/networktype.dep.yml | 4 +- .../google.golang.org/grpc/keepalive.dep.yml | 4 +- .../go/google.golang.org/grpc/mem.dep.yml | 214 ++++++++++++++++++ .../google.golang.org/grpc/metadata.dep.yml | 4 +- .../go/google.golang.org/grpc/peer.dep.yml | 4 +- .../google.golang.org/grpc/resolver.dep.yml | 4 +- .../grpc/resolver/dns.dep.yml | 4 +- .../grpc/serviceconfig.dep.yml | 4 +- .../go/google.golang.org/grpc/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/status.dep.yml | 4 +- .../go/google.golang.org/grpc/tap.dep.yml | 4 +- go.mod | 8 +- go.sum | 16 +- 74 files changed, 1018 insertions(+), 164 deletions(-) create mode 100644 .licenses/go/google.golang.org/grpc/experimental/stats.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/internal/stats.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/mem.dep.yml diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 9827d36ad98..a559a1cae9f 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.23.0 +version: v0.24.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: other licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index e6c87a1f16a..3bacfc50370 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.23.0 +version: v0.24.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: other licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 4f682e0d3df..fc5cbfc2dcb 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.23.0 +version: v0.24.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index 369aae2e15c..a4ae5e90912 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.23.0 +version: v0.24.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 27ff49f5955..413eb5717cb 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.23.0 +version: v0.24.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index d3729dd761d..07b58080788 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.23.0 +version: v0.24.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 2c39eb21311..2357a5b97bf 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.23.0 +version: v0.24.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index 85f57262f05..38e74536d1b 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.23.0 +version: v0.24.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index 38e497edd54..61b65eb5232 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.23.0 +version: v0.24.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 777f3cfc608..260bf342fd8 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.23.0 +version: v0.24.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.23.0/LICENSE +- sources: crypto@v0.24.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.23.0/PATENTS +- sources: crypto@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index 5ce2b786538..dc4e778c979 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.25.0 +version: v0.26.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.25.0/LICENSE +- sources: net@v0.26.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.25.0/PATENTS +- sources: net@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 4e442b810ad..ffbf1a393b2 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.25.0 +version: v0.26.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.25.0/LICENSE +- sources: net@v0.26.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.25.0/PATENTS +- sources: net@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index d87d267ff21..0ab66dad78e 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.25.0 +version: v0.26.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.25.0/LICENSE +- sources: net@v0.26.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.25.0/PATENTS +- sources: net@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 6701aa7f8ab..210186f6abf 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.25.0 +version: v0.26.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.25.0/LICENSE +- sources: net@v0.26.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.25.0/PATENTS +- sources: net@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index 4d60ef781db..3c006f4c65a 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.25.0 +version: v0.26.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.25.0/LICENSE +- sources: net@v0.26.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.25.0/PATENTS +- sources: net@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 94ae6214caf..d0527bb9b7a 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.25.0 +version: v0.26.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.25.0/LICENSE +- sources: net@v0.26.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.25.0/PATENTS +- sources: net@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 3132b3ced0d..8bd5dc1eaac 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20240528184218-531527333157 +version: v0.0.0-20240604185151-ef581f913117 type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20240528184218-531527333157/LICENSE +- sources: rpc@v0.0.0-20240604185151-ef581f913117/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index e98ece9b501..6daa4fdc886 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.65.0 +version: v1.66.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 9837a818c09..011db714935 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.65.0 +version: v1.66.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 026798788e2..9dd4d52672b 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.65.0 +version: v1.66.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 30187eca0b7..56d7073ccec 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.65.0 +version: v1.66.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 0e16e022860..71c35ca3543 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.65.0 +version: v1.66.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 4cc781f2f00..53bf6380681 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.65.0 +version: v1.66.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 0a651dd5995..994e77947c8 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.65.0 +version: v1.66.0 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index d01ab6c4e36..222d6d839ff 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.65.0 +version: v1.66.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index a9df0b07980..f29b6d92189 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.65.0 +version: v1.66.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index c6701ed5e7e..3bb73800cd0 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.65.0 +version: v1.66.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 31f99c51c1c..4d388fd3c18 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.65.0 +version: v1.66.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 2ffe09a3d04..fec088962f1 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.65.0 +version: v1.66.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 9f4d93ed44b..2a3d3f94a2e 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.65.0 +version: v1.66.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 66f9e4b93c6..113232949b0 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.65.0 +version: v1.66.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 61641896ae1..68fdf8945a3 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.65.0 +version: v1.66.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 9845ac5fadb..ecf913e241b 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.65.0 +version: v1.66.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml new file mode 100644 index 00000000000..19bec87d8c8 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -0,0 +1,213 @@ +--- +name: google.golang.org/grpc/experimental/stats +version: v1.66.0 +type: go +summary: Package stats contains experimental metrics/stats API's. +homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats +license: apache-2.0 +licenses: +- sources: grpc@v1.66.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 3d654423447..4e23af28ddb 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.65.0 +version: v1.66.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml new file mode 100644 index 00000000000..60c6e454457 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -0,0 +1,213 @@ +--- +name: google.golang.org/grpc/grpclog/internal +version: v1.66.0 +type: go +summary: Package internal contains functionality internal to the grpclog package. +homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal +license: apache-2.0 +licenses: +- sources: grpc@v1.66.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index a905dc9bf50..fd90e6f932b 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.65.0 +version: v1.66.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 3b2c9fc97c3..ae96066d324 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.65.0 +version: v1.66.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 09f2f1658a3..311d8c423d4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.65.0 +version: v1.66.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index bc815e58144..28f93e0e448 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.65.0 +version: v1.66.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 8f554374255..eee1d2aa9f1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.65.0 +version: v1.66.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 07551e69b2b..6a9bba85aaa 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.65.0 +version: v1.66.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index e949ee66da4..3b551848e3a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.65.0 +version: v1.66.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 4980fa971d3..a8c6085dbec 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.65.0 +version: v1.66.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index b1b4c1b39a9..04fdb5ed2c8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.65.0 +version: v1.66.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index cc5c64cbb3b..561d2d2621c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,12 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.65.0 +version: v1.66.0 type: go -summary: Package grpclog (internal) defines depth logging for grpc. +summary: Package grpclog provides logging functionality for internal gRPC packages, + outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 3aa381fec84..b04db2d950f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.65.0 +version: v1.66.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 8c9eea53e23..49f07de4ca8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.65.0 +version: v1.66.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index ba6035224af..c3648703017 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.65.0 +version: v1.66.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 3ce13f539fa..9214414ca9b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.65.0 +version: v1.66.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 323a1bbce80..9e813b6413d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.65.0 +version: v1.66.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 13f6bdbb4e1..45ae4f29c4a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.65.0 +version: v1.66.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index c411de9403e..b99dc2bce05 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.65.0 +version: v1.66.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 2b77984b45b..1571c4a4a6b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.65.0 +version: v1.66.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 5bd544b07ea..e647f308a40 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.65.0 +version: v1.66.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index cc08642ec87..54461103360 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.65.0 +version: v1.66.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 583e912dcf4..1f510cd628f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.65.0 +version: v1.66.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml new file mode 100644 index 00000000000..91f957257ae --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -0,0 +1,213 @@ +--- +name: google.golang.org/grpc/internal/stats +version: v1.66.0 +type: go +summary: Package stats provides internal stats related functionality. +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats +license: apache-2.0 +licenses: +- sources: grpc@v1.66.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index c1f26edc2d8..f4eab9a8ca1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.65.0 +version: v1.66.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index b0b452539c9..d7dca61776c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.65.0 +version: v1.66.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 90b33fb2f87..7850770b0d7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.65.0 +version: v1.66.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index cdbc75273b0..0d691a0dc74 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.65.0 +version: v1.66.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 2de0392ec5d..332ca9e55fb 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.65.0 +version: v1.66.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml new file mode 100644 index 00000000000..0a1b73c1f9a --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -0,0 +1,214 @@ +--- +name: google.golang.org/grpc/mem +version: v1.66.0 +type: go +summary: Package mem provides utilities that facilitate memory reuse in byte slices + that are used as buffers. +homepage: https://pkg.go.dev/google.golang.org/grpc/mem +license: apache-2.0 +licenses: +- sources: grpc@v1.66.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index bee133075fc..5f625acd6b2 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.65.0 +version: v1.66.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 775762c5083..b8e8925f727 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.65.0 +version: v1.66.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 90e21ec6344..26a319110b3 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.65.0 +version: v1.66.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 7d9ee279cb9..b0040032db6 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.65.0 +version: v1.66.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 6496d89354e..c2357622d61 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.65.0 +version: v1.66.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 95a41b3db23..dcde193e259 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.65.0 +version: v1.66.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 63f2f86ed75..4729c9ff7f4 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.65.0 +version: v1.66.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 2c0748f1fcd..b76d66ab1e3 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.65.0 +version: v1.66.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.65.0/LICENSE +- sources: grpc@v1.66.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index d4aee4d014f..0f01d564423 100644 --- a/go.mod +++ b/go.mod @@ -42,8 +42,8 @@ require ( go.bug.st/testifyjson v1.2.0 golang.org/x/term v0.23.0 golang.org/x/text v0.17.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 - google.golang.org/grpc v1.65.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 + google.golang.org/grpc v1.66.0 google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v3 v3.0.1 ) @@ -96,10 +96,10 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.23.0 // indirect + golang.org/x/crypto v0.24.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.25.0 // indirect + golang.org/x/net v0.26.0 // indirect golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.23.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect diff --git a/go.sum b/go.sum index c436cbd4890..c6b177a0a78 100644 --- a/go.sum +++ b/go.sum @@ -229,8 +229,8 @@ golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= +golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= @@ -238,8 +238,8 @@ golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= +golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= +golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -272,10 +272,10 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157 h1:Zy9XzmMEflZ/MAaA7vNcoebnRAld7FsPW1EeBB7V0m8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240528184218-531527333157/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= -google.golang.org/grpc v1.65.0/go.mod h1:WgYC2ypjlB0EiQi6wdKixMqukr6lBc0Vo+oOgjrM5ZQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= +google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= +google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 3bdc77f9ce8c603cbb07bd784ff11d16861dd408 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 10:58:52 +0200 Subject: [PATCH 245/361] [skip changelog] Bump golang.org/x/text from 0.17.0 to 0.18.0 (#2701) * [skip changelog] Bump golang.org/x/text from 0.17.0 to 0.18.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.17.0 to 0.18.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.17.0...v0.18.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../golang.org/x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index f01eb3543a4..e1d0733a1ad 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.17.0 +version: v0.18.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.17.0/LICENSE +- sources: text@v0.18.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.17.0/PATENTS +- sources: text@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 21773984766..24808955a7e 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.17.0 +version: v0.18.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.17.0/LICENSE +- sources: text@v0.18.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.17.0/PATENTS +- sources: text@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index e7bfdb9f5aa..0f412dd3671 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.17.0 +version: v0.18.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.17.0/LICENSE +- sources: text@v0.18.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.17.0/PATENTS +- sources: text@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index e72cd24a85e..1b7da928860 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.17.0 +version: v0.18.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.17.0/LICENSE +- sources: text@v0.18.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.17.0/PATENTS +- sources: text@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 123676adc9d..f3ba0b69214 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.17.0 +version: v0.18.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.17.0/LICENSE +- sources: text@v0.18.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.17.0/PATENTS +- sources: text@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 46f6505e600..8ff86a8c186 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.17.0 +version: v0.18.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.17.0/LICENSE +- sources: text@v0.18.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.17.0/PATENTS +- sources: text@v0.18.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 0f01d564423..0eb11ed22e6 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 golang.org/x/term v0.23.0 - golang.org/x/text v0.17.0 + golang.org/x/text v0.18.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 google.golang.org/grpc v1.66.0 google.golang.org/protobuf v1.34.2 diff --git a/go.sum b/go.sum index c6b177a0a78..a6bc79d4acd 100644 --- a/go.sum +++ b/go.sum @@ -266,8 +266,8 @@ golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= From 9e5deed3251c9cc3726a5ed19340be995903266d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:12:17 +0200 Subject: [PATCH 246/361] [skip changelog] Bump golang.org/x/term from 0.23.0 to 0.24.0 (#2702) * [skip changelog] Bump golang.org/x/term from 0.23.0 to 0.24.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.23.0 to 0.24.0. - [Commits](https://github.com/golang/term/compare/v0.23.0...v0.24.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index d9e5b27ede4..750ba71b5c8 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.23.0 +version: v0.25.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.23.0/LICENSE +- sources: sys@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.23.0/PATENTS +- sources: sys@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index d98a23a78e4..330474aac4f 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.23.0 +version: v0.25.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.23.0/LICENSE +- sources: sys@v0.25.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.23.0/PATENTS +- sources: sys@v0.25.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 81e3eedb5d6..cf90be31fb7 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.23.0 +version: v0.24.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 0eb11ed22e6..c7194635e79 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( go.bug.st/downloader/v2 v2.2.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 - golang.org/x/term v0.23.0 + golang.org/x/term v0.24.0 golang.org/x/text v0.18.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 google.golang.org/grpc v1.66.0 @@ -101,7 +101,7 @@ require ( golang.org/x/mod v0.17.0 // indirect golang.org/x/net v0.26.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.23.0 // indirect + golang.org/x/sys v0.25.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index a6bc79d4acd..0f64c2c3f8d 100644 --- a/go.sum +++ b/go.sum @@ -259,11 +259,11 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.23.0 h1:YfKFowiIMvtgl1UERQoTPPToxltDeZfbj4H7dVUCwmM= -golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= +golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.23.0 h1:F6D4vR+EHoL9/sWAWgAR1H2DcHr4PareCbAaCo1RpuU= -golang.org/x/term v0.23.0/go.mod h1:DgV24QBUrK6jhZXl+20l6UWznPlwAHm1Q1mGHtydmSk= +golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= +golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= From a3796a0e8f0b7c8e6f96f62d64f0e4b320ecc5b3 Mon Sep 17 00:00:00 2001 From: Tianxiang Bian <bigbits@hackx.cc> Date: Wed, 11 Sep 2024 21:33:17 +0800 Subject: [PATCH 247/361] Add riscv64 linux tools download support (#2700) * Add riscv64 linux tools download support * fix style * Updated docs --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- docs/package_index_json-specification.md | 29 ++++++++++++------------ internal/arduino/cores/tools.go | 27 ++++++++++++---------- internal/arduino/cores/tools_test.go | 3 +++ 3 files changed, 33 insertions(+), 26 deletions(-) diff --git a/docs/package_index_json-specification.md b/docs/package_index_json-specification.md index ef8bbdaa3f3..416a5e2e815 100644 --- a/docs/package_index_json-specification.md +++ b/docs/package_index_json-specification.md @@ -170,20 +170,21 @@ Each tool version may come in different build flavours for different OS. Each fl array. The IDE will take care to install the right flavour for the user's OS by matching the `host` value with the following table or fail if a needed flavour is missing. -| OS flavour | `host` regexp value | `host` suggested value | -| ------------ | ------------------------------------- | ---------------------------------- | -| Linux 32 | `i[3456]86-.*linux-gnu` | `i686-linux-gnu` | -| Linux 64 | `x86_64-.*linux-gnu` | `x86_64-linux-gnu` | -| Linux Arm | `arm.*-linux-gnueabihf` | `arm-linux-gnueabihf` | -| Linux Arm64 | `(aarch64\|arm64)-linux-gnu` | `aarch64-linux-gnu` | -| Windows 32 | `i[3456]86-.*(mingw32\|cygwin)` | `i686-mingw32` or `i686-cygwin` | -| Windows 64 | `(amd64\|x86_64)-.*(mingw32\|cygwin)` | `x86_64-migw32` or `x86_64-cygwin` | -| MacOSX 32 | `i[3456]86-apple-darwin.*` | `i686-apple-darwin` | -| MacOSX 64 | `x86_64-apple-darwin.*` | `x86_64-apple-darwin` | -| MacOSX Arm64 | `arm64-apple-darwin.*` | `arm64-apple-darwin` | -| FreeBSD 32 | `i?[3456]86-freebsd[0-9]*` | `i686-freebsd` | -| FreeBSD 64 | `amd64-freebsd[0-9]*` | `amd64-freebsd` | -| FreeBSD Arm | `arm.*-freebsd[0-9]*` | `arm-freebsd` | +| OS flavour | `host` regexp | suggested `host` value | +| --------------- | ------------------------------------- | ---------------------------------- | +| Linux 32 | `i[3456]86-.*linux-gnu` | `i686-linux-gnu` | +| Linux 64 | `x86_64-.*linux-gnu` | `x86_64-linux-gnu` | +| Linux Arm | `arm.*-linux-gnueabihf` | `arm-linux-gnueabihf` | +| Linux Arm64 | `(aarch64\|arm64)-linux-gnu` | `aarch64-linux-gnu` | +| Linux RISC-V 64 | `riscv64-linux-gnu` | `riscv64-linux-gnu` | +| Windows 32 | `i[3456]86-.*(mingw32\|cygwin)` | `i686-mingw32` or `i686-cygwin` | +| Windows 64 | `(amd64\|x86_64)-.*(mingw32\|cygwin)` | `x86_64-migw32` or `x86_64-cygwin` | +| MacOSX 32 | `i[3456]86-apple-darwin.*` | `i686-apple-darwin` | +| MacOSX 64 | `x86_64-apple-darwin.*` | `x86_64-apple-darwin` | +| MacOSX Arm64 | `arm64-apple-darwin.*` | `arm64-apple-darwin` | +| FreeBSD 32 | `i?[3456]86-freebsd[0-9]*` | `i686-freebsd` | +| FreeBSD 64 | `amd64-freebsd[0-9]*` | `amd64-freebsd` | +| FreeBSD Arm | `arm.*-freebsd[0-9]*` | `arm-freebsd` | The `host` value is matched with the regexp, this means that a more specific value for the `host` field is allowed (for example you may write `x86_64-apple-darwin14.1` for MacOSX instead of the suggested `x86_64-apple-darwin`), by the way, diff --git a/internal/arduino/cores/tools.go b/internal/arduino/cores/tools.go index 3648119c483..b858e7eab62 100644 --- a/internal/arduino/cores/tools.go +++ b/internal/arduino/cores/tools.go @@ -127,18 +127,19 @@ func (tr *ToolRelease) RuntimeProperties() *properties.Map { } var ( - regexpLinuxArm = regexp.MustCompile("arm.*-linux-gnueabihf") - regexpLinuxArm64 = regexp.MustCompile("(aarch64|arm64)-linux-gnu") - regexpLinux64 = regexp.MustCompile("x86_64-.*linux-gnu") - regexpLinux32 = regexp.MustCompile("i[3456]86-.*linux-gnu") - regexpWindows32 = regexp.MustCompile("i[3456]86-.*(mingw32|cygwin)") - regexpWindows64 = regexp.MustCompile("(amd64|x86_64)-.*(mingw32|cygwin)") - regexpMac64 = regexp.MustCompile("x86_64-apple-darwin.*") - regexpMac32 = regexp.MustCompile("i[3456]86-apple-darwin.*") - regexpMacArm64 = regexp.MustCompile("arm64-apple-darwin.*") - regexpFreeBSDArm = regexp.MustCompile("arm.*-freebsd[0-9]*") - regexpFreeBSD32 = regexp.MustCompile("i?[3456]86-freebsd[0-9]*") - regexpFreeBSD64 = regexp.MustCompile("amd64-freebsd[0-9]*") + regexpLinuxArm = regexp.MustCompile("arm.*-linux-gnueabihf") + regexpLinuxArm64 = regexp.MustCompile("(aarch64|arm64)-linux-gnu") + regexpLinuxRiscv64 = regexp.MustCompile("riscv64-linux-gnu") + regexpLinux64 = regexp.MustCompile("x86_64-.*linux-gnu") + regexpLinux32 = regexp.MustCompile("i[3456]86-.*linux-gnu") + regexpWindows32 = regexp.MustCompile("i[3456]86-.*(mingw32|cygwin)") + regexpWindows64 = regexp.MustCompile("(amd64|x86_64)-.*(mingw32|cygwin)") + regexpMac64 = regexp.MustCompile("x86_64-apple-darwin.*") + regexpMac32 = regexp.MustCompile("i[3456]86-apple-darwin.*") + regexpMacArm64 = regexp.MustCompile("arm64-apple-darwin.*") + regexpFreeBSDArm = regexp.MustCompile("arm.*-freebsd[0-9]*") + regexpFreeBSD32 = regexp.MustCompile("i?[3456]86-freebsd[0-9]*") + regexpFreeBSD64 = regexp.MustCompile("amd64-freebsd[0-9]*") ) func (f *Flavor) isExactMatchWith(osName, osArch string) bool { @@ -151,6 +152,8 @@ func (f *Flavor) isExactMatchWith(osName, osArch string) bool { return regexpLinuxArm.MatchString(f.OS) case "linux,arm64": return regexpLinuxArm64.MatchString(f.OS) + case "linux,riscv64": + return regexpLinuxRiscv64.MatchString(f.OS) case "linux,amd64": return regexpLinux64.MatchString(f.OS) case "linux,386": diff --git a/internal/arduino/cores/tools_test.go b/internal/arduino/cores/tools_test.go index 4c0d54e953a..f4a3097a3ca 100644 --- a/internal/arduino/cores/tools_test.go +++ b/internal/arduino/cores/tools_test.go @@ -34,6 +34,7 @@ func TestFlavorCompatibility(t *testing.T) { linuxArm := &os{"linux", "arm"} linuxArmbe := &os{"linux", "armbe"} linuxArm64 := &os{"linux", "arm64"} + linuxRiscv64 := &os{"linux", "riscv64"} darwin32 := &os{"darwin", "386"} darwin64 := &os{"darwin", "amd64"} darwinArm64 := &os{"darwin", "arm64"} @@ -47,6 +48,7 @@ func TestFlavorCompatibility(t *testing.T) { linuxArm, linuxArmbe, linuxArm64, + linuxRiscv64, darwin32, darwin64, darwinArm64, @@ -82,6 +84,7 @@ func TestFlavorCompatibility(t *testing.T) { {&Flavor{OS: "x86_64-pc-linux-gnu"}, []*os{linux64}, []*os{linux64}}, {&Flavor{OS: "aarch64-linux-gnu"}, []*os{linuxArm64}, []*os{linuxArm64}}, {&Flavor{OS: "arm64-linux-gnu"}, []*os{linuxArm64}, []*os{linuxArm64}}, + {&Flavor{OS: "riscv64-linux-gnu"}, []*os{linuxRiscv64}, []*os{linuxRiscv64}}, } checkCompatible := func(test *test, os *os) { From 23d50364b707f375c8cabe7d2a59912636f3334b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Sep 2024 16:00:02 +0200 Subject: [PATCH 248/361] [skip changelog] Bump github.com/gofrs/uuid/v5 from 5.2.0 to 5.3.0 (#2689) * [skip changelog] Bump github.com/gofrs/uuid/v5 from 5.2.0 to 5.3.0 Bumps [github.com/gofrs/uuid/v5](https://github.com/gofrs/uuid) from 5.2.0 to 5.3.0. - [Release notes](https://github.com/gofrs/uuid/releases) - [Commits](https://github.com/gofrs/uuid/compare/v5.2.0...v5.3.0) --- updated-dependencies: - dependency-name: github.com/gofrs/uuid/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/github.com/gofrs/uuid/v5.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml index b1af89a5d84..b5e46a1acc5 100644 --- a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml +++ b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/gofrs/uuid/v5 -version: v5.2.0 +version: v5.3.0 type: go summary: Package uuid provides implementations of the Universally Unique Identifier (UUID), as specified in RFC-9562 (formerly RFC-4122). diff --git a/go.mod b/go.mod index c7194635e79..f610a765d79 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.17.0 github.com/go-git/go-git/v5 v5.4.2 - github.com/gofrs/uuid/v5 v5.2.0 + github.com/gofrs/uuid/v5 v5.3.0 github.com/leonelquinteros/gotext v1.4.0 github.com/mailru/easyjson v0.7.7 github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 diff --git a/go.sum b/go.sum index 0f64c2c3f8d..8b5e823aa98 100644 --- a/go.sum +++ b/go.sum @@ -74,8 +74,8 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2Su github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= -github.com/gofrs/uuid/v5 v5.2.0 h1:qw1GMx6/y8vhVsx626ImfKMuS5CvJmhIKKtuyvfajMM= -github.com/gofrs/uuid/v5 v5.2.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/gofrs/uuid/v5 v5.3.0 h1:m0mUMr+oVYUdxpMLgSYCZiXe7PuVPnI94+OMeVBNedk= +github.com/gofrs/uuid/v5 v5.3.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= From 863c1ec365af2cf90ee41f6fcadfa675e5d61704 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 18 Sep 2024 15:53:39 +0200 Subject: [PATCH 249/361] Fixed `build_cache.path` behaviour / The `--build-path` dir now produce a full build (#2673) * If a build path is specified ignore all build caches The complete build will be performed in the specified build path. The build artifacts in the build path will be reused for the next build. * Fixed arguments.CheckFlagsConflicts helper Previously it would reject only if ALL the arguments in the given set are used. Now it rejects if AT LEAST TWO arguments of the given set are used. * Added --build-path as alias for --input-dir in upload and debug commands * Created configuration defaults for build_cache.path setting * The build_cache.path setting now affect also the sketches cache * Deprecated --build-cache-path option in compile * Use default user's cache dir instead of tmp for build cache * Add notes in UPGRADING.md * Updated integration test * Updated integration test * Updated integration test * Updated integration test * Updated integration test --- commands/service_compile.go | 80 +++-- commands/service_compile_test.go | 32 ++ commands/service_debug.go | 8 +- commands/service_debug_config.go | 10 +- commands/service_debug_test.go | 7 +- commands/service_upload.go | 10 +- commands/service_upload_burnbootloader.go | 2 +- commands/service_upload_test.go | 11 +- docs/UPGRADING.md | 27 +- internal/arduino/sketch/sketch.go | 6 - internal/arduino/sketch/sketch_test.go | 6 - internal/cli/arguments/arguments.go | 10 +- internal/cli/compile/compile.go | 6 +- internal/cli/configuration/build_cache.go | 9 +- internal/cli/configuration/configuration.go | 12 + internal/cli/configuration/defaults.go | 2 +- internal/cli/debug/debug.go | 4 + internal/cli/upload/upload.go | 3 +- .../integrationtest/compile_1/compile_test.go | 33 +- .../integrationtest/compile_4/compile_test.go | 13 +- .../compile_4/core_caching_test.go | 7 +- internal/integrationtest/core/core_test.go | 16 +- .../upload_mock/upload_mock_test.go | 21 +- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 316 +++++++++--------- rpc/cc/arduino/cli/commands/v1/compile.proto | 5 +- 25 files changed, 385 insertions(+), 271 deletions(-) create mode 100644 commands/service_compile_test.go diff --git a/commands/service_compile.go b/commands/service_compile.go index 69865f3522c..37f401397de 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -160,7 +160,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu return errors.New(i18n.Tr("Firmware encryption/signing requires all the following properties to be defined: %s", "build.keys.keychain, build.keys.sign_key, build.keys.encrypt_key")) } - // Generate or retrieve build path + // Retrieve build path from user arguments var buildPath *paths.Path if buildPathArg := req.GetBuildPath(); buildPathArg != "" { buildPath = paths.New(req.GetBuildPath()).Canonical() @@ -170,44 +170,46 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu } } } - if buildPath == nil { - buildPath = sk.DefaultBuildPath() - } - if err = buildPath.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build directory"), Cause: err} - } - buildcache.New(buildPath.Parent()).GetOrCreate(buildPath.Base()) - // cache is purged after compilation to not remove entries that might be required - - defer maybePurgeBuildCache( - s.settings.GetCompilationsBeforeBuildCachePurge(), - s.settings.GetBuildCacheTTL().Abs()) - var buildCachePath *paths.Path - if req.GetBuildCachePath() != "" { - p, err := paths.New(req.GetBuildCachePath()).Abs() - if err != nil { + // If no build path has been set by the user: + // - set up the build cache directory + // - set the sketch build path inside the build cache directory. + var coreBuildCachePath *paths.Path + var extraCoreBuildCachePaths paths.PathList + if buildPath == nil { + var buildCachePath *paths.Path + if p := req.GetBuildCachePath(); p != "" { //nolint:staticcheck + buildCachePath = paths.New(p) + } else { + buildCachePath = s.settings.GetBuildCachePath() + } + if err := buildCachePath.ToAbs(); err != nil { return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} } - buildCachePath = p - } else if p, ok := s.settings.GetBuildCachePath(); ok { - buildCachePath = p - } else { - buildCachePath = paths.TempDir().Join("arduino") - } - if err := buildCachePath.MkdirAll(); err != nil { - return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} - } - coreBuildCachePath := buildCachePath.Join("cores") + if err := buildCachePath.MkdirAll(); err != nil { + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build cache directory"), Cause: err} + } + coreBuildCachePath = buildCachePath.Join("cores") - var extraCoreBuildCachePaths paths.PathList - if len(req.GetBuildCacheExtraPaths()) == 0 { - extraCoreBuildCachePaths = s.settings.GetBuildCacheExtraPaths() - } else { - extraCoreBuildCachePaths = paths.NewPathList(req.GetBuildCacheExtraPaths()...) + if len(req.GetBuildCacheExtraPaths()) == 0 { + extraCoreBuildCachePaths = s.settings.GetBuildCacheExtraPaths() + } else { + extraCoreBuildCachePaths = paths.NewPathList(req.GetBuildCacheExtraPaths()...) + } + for i, p := range extraCoreBuildCachePaths { + extraCoreBuildCachePaths[i] = p.Join("cores") + } + + buildPath = s.getDefaultSketchBuildPath(sk, buildCachePath) + buildcache.New(buildPath.Parent()).GetOrCreate(buildPath.Base()) + + // cache is purged after compilation to not remove entries that might be required + defer maybePurgeBuildCache( + s.settings.GetCompilationsBeforeBuildCachePurge(), + s.settings.GetBuildCacheTTL().Abs()) } - for i, p := range extraCoreBuildCachePaths { - extraCoreBuildCachePaths[i] = p.Join("cores") + if err = buildPath.MkdirAll(); err != nil { + return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Cannot create build directory"), Cause: err} } if _, err := pme.FindToolsRequiredForBuild(targetPlatform, buildPlatform); err != nil { @@ -416,6 +418,16 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu return nil } +// getDefaultSketchBuildPath generates the default build directory for a given sketch. +// The sketch build path is inside the build cache path and is unique for each sketch. +// If overriddenBuildCachePath is nil the build cache path is taken from the settings. +func (s *arduinoCoreServerImpl) getDefaultSketchBuildPath(sk *sketch.Sketch, overriddenBuildCachePath *paths.Path) *paths.Path { + if overriddenBuildCachePath == nil { + overriddenBuildCachePath = s.settings.GetBuildCachePath() + } + return overriddenBuildCachePath.Join("sketches", sk.Hash()) +} + // maybePurgeBuildCache runs the build files cache purge if the policy conditions are met. func maybePurgeBuildCache(compilationsBeforePurge uint, cacheTTL time.Duration) { // 0 means never purge diff --git a/commands/service_compile_test.go b/commands/service_compile_test.go new file mode 100644 index 00000000000..3eeb4521f1e --- /dev/null +++ b/commands/service_compile_test.go @@ -0,0 +1,32 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 commands + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/arduino/sketch" + paths "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/assert" +) + +func TestGenBuildPath(t *testing.T) { + srv := NewArduinoCoreServer().(*arduinoCoreServerImpl) + want := srv.settings.GetBuildCachePath().Join("sketches", "ACBD18DB4CC2F85CEDEF654FCCC4A4D8") + act := srv.getDefaultSketchBuildPath(&sketch.Sketch{FullPath: paths.New("foo")}, nil) + assert.True(t, act.EquivalentTo(want)) + assert.Equal(t, "ACBD18DB4CC2F85CEDEF654FCCC4A4D8", (&sketch.Sketch{FullPath: paths.New("foo")}).Hash()) +} diff --git a/commands/service_debug.go b/commands/service_debug.go index 31123cc9ae1..740e06fd2c7 100644 --- a/commands/service_debug.go +++ b/commands/service_debug.go @@ -214,7 +214,7 @@ func (s *arduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) defer release() // Exec debugger - commandLine, err := getCommandLine(debugConfReq, pme) + commandLine, err := s.getDebugCommandLine(debugConfReq, pme) if err != nil { return err } @@ -254,9 +254,9 @@ func (s *arduinoCoreServerImpl) Debug(stream rpc.ArduinoCoreService_DebugServer) return sendResult(&rpc.DebugResponse_Result{}) } -// getCommandLine compose a debug command represented by a core recipe -func getCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer) ([]string, error) { - debugInfo, err := getDebugProperties(req, pme, false) +// getDebugCommandLine compose a debug command represented by a core recipe +func (s *arduinoCoreServerImpl) getDebugCommandLine(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer) ([]string, error) { + debugInfo, err := s.getDebugProperties(req, pme, false) if err != nil { return nil, err } diff --git a/commands/service_debug_config.go b/commands/service_debug_config.go index 232940eb293..c2cf04e5aa3 100644 --- a/commands/service_debug_config.go +++ b/commands/service_debug_config.go @@ -45,7 +45,7 @@ func (s *arduinoCoreServerImpl) GetDebugConfig(ctx context.Context, req *rpc.Get return nil, err } defer release() - return getDebugProperties(req, pme, false) + return s.getDebugProperties(req, pme, false) } // IsDebugSupported checks if the given board/programmer configuration supports debugging. @@ -65,7 +65,7 @@ func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.I Programmer: req.GetProgrammer(), DebugProperties: req.GetDebugProperties(), } - expectedOutput, err := getDebugProperties(configRequest, pme, true) + expectedOutput, err := s.getDebugProperties(configRequest, pme, true) var x *cmderrors.FailedDebugError if errors.As(err, &x) { return &rpc.IsDebugSupportedResponse{DebuggingSupported: false}, nil @@ -81,7 +81,7 @@ func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.I checkFQBN := minimumFQBN.Clone() checkFQBN.Configs.Remove(config) configRequest.Fqbn = checkFQBN.String() - checkOutput, err := getDebugProperties(configRequest, pme, true) + checkOutput, err := s.getDebugProperties(configRequest, pme, true) if err == nil && reflect.DeepEqual(expectedOutput, checkOutput) { minimumFQBN.Configs.Remove(config) } @@ -92,7 +92,7 @@ func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.I }, nil } -func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer, skipSketchChecks bool) (*rpc.GetDebugConfigResponse, error) { +func (s *arduinoCoreServerImpl) getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Explorer, skipSketchChecks bool) (*rpc.GetDebugConfigResponse, error) { var ( sketchName string sketchDefaultFQBN string @@ -111,7 +111,7 @@ func getDebugProperties(req *rpc.GetDebugConfigRequest, pme *packagemanager.Expl } sketchName = sk.Name sketchDefaultFQBN = sk.GetDefaultFQBN() - sketchDefaultBuildPath = sk.DefaultBuildPath() + sketchDefaultBuildPath = s.getDefaultSketchBuildPath(sk, nil) } else { // Use placeholder sketch data sketchName = "Sketch" diff --git a/commands/service_debug_test.go b/commands/service_debug_test.go index 1aa4feb9796..f389d1486dc 100644 --- a/commands/service_debug_test.go +++ b/commands/service_debug_test.go @@ -66,15 +66,16 @@ func TestGetCommandLine(t *testing.T) { pme, release := pm.NewExplorer() defer release() + srv := NewArduinoCoreServer().(*arduinoCoreServerImpl) { // Check programmer not found req.Programmer = "not-existent" - _, err := getCommandLine(req, pme) + _, err := srv.getDebugCommandLine(req, pme) require.Error(t, err) } req.Programmer = "edbg" - command, err := getCommandLine(req, pme) + command, err := srv.getDebugCommandLine(req, pme) require.Nil(t, err) commandToTest := strings.Join(command, " ") require.Equal(t, filepath.FromSlash(goldCommand), filepath.FromSlash(commandToTest)) @@ -97,7 +98,7 @@ func TestGetCommandLine(t *testing.T) { fmt.Sprintf(" --file \"%s/arduino-test/samd/variants/mkr1000/openocd_scripts/arduino_zero.cfg\"", customHardware) + fmt.Sprintf(" -c \"gdb_port pipe\" -c \"telnet_port 0\" %s/build/arduino-test.samd.mkr1000/hello.ino.elf", sketchPath) - command2, err := getCommandLine(req2, pme) + command2, err := srv.getDebugCommandLine(req2, pme) assert.Nil(t, err) commandToTest2 := strings.Join(command2, " ") assert.Equal(t, filepath.FromSlash(goldCommand2), filepath.FromSlash(commandToTest2)) diff --git a/commands/service_upload.go b/commands/service_upload.go index e3c8c176278..3ebc76a9804 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -189,7 +189,7 @@ func (s *arduinoCoreServerImpl) Upload(req *rpc.UploadRequest, stream rpc.Arduin }) }) defer errStream.Close() - updatedPort, err := runProgramAction( + updatedPort, err := s.runProgramAction( stream.Context(), pme, sk, @@ -262,7 +262,7 @@ func (s *arduinoCoreServerImpl) UploadUsingProgrammer(req *rpc.UploadUsingProgra }, streamAdapter) } -func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, +func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packagemanager.Explorer, sk *sketch.Sketch, importFile, importDir, fqbnIn string, userPort *rpc.Port, programmerID string, @@ -443,7 +443,7 @@ func runProgramAction(ctx context.Context, pme *packagemanager.Explorer, } if !burnBootloader { - importPath, sketchName, err := determineBuildPathAndSketchName(importFile, importDir, sk) + importPath, sketchName, err := s.determineBuildPathAndSketchName(importFile, importDir, sk) if err != nil { return nil, &cmderrors.NotFoundError{Message: i18n.Tr("Error finding build artifacts"), Cause: err} } @@ -746,7 +746,7 @@ func runTool(recipeID string, props *properties.Map, outStream, errStream io.Wri return nil } -func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sketch) (*paths.Path, string, error) { +func (s *arduinoCoreServerImpl) determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sketch) (*paths.Path, string, error) { // In general, compiling a sketch will produce a set of files that are // named as the sketch but have different extensions, for example Sketch.ino // may produce: Sketch.ino.bin; Sketch.ino.hex; Sketch.ino.zip; etc... @@ -799,7 +799,7 @@ func determineBuildPathAndSketchName(importFile, importDir string, sk *sketch.Sk // Case 4: only sketch specified. In this case we use the generated build path // and the given sketch name. - return sk.DefaultBuildPath(), sk.Name + sk.MainFile.Ext(), nil + return s.getDefaultSketchBuildPath(sk, nil), sk.Name + sk.MainFile.Ext(), nil } func detectSketchNameFromBuildPath(buildPath *paths.Path) (string, error) { diff --git a/commands/service_upload_burnbootloader.go b/commands/service_upload_burnbootloader.go index 8f98cd07a05..e03e8b3195c 100644 --- a/commands/service_upload_burnbootloader.go +++ b/commands/service_upload_burnbootloader.go @@ -72,7 +72,7 @@ func (s *arduinoCoreServerImpl) BurnBootloader(req *rpc.BurnBootloaderRequest, s } defer release() - if _, err := runProgramAction( + if _, err := s.runProgramAction( stream.Context(), pme, nil, // sketch diff --git a/commands/service_upload_test.go b/commands/service_upload_test.go index c13b66af29d..737eec92e83 100644 --- a/commands/service_upload_test.go +++ b/commands/service_upload_test.go @@ -71,6 +71,8 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { fqbn, err := cores.ParseFQBN("arduino:samd:mkr1000") require.NoError(t, err) + srv := NewArduinoCoreServer().(*arduinoCoreServerImpl) + tests := []test{ // 00: error: no data passed in {"", "", nil, nil, "<nil>", ""}, @@ -81,7 +83,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { // 03: error: used both importPath and importFile {"testdata/upload/build_path_2/Blink.ino.hex", "testdata/upload/build_path_2", nil, nil, "<nil>", ""}, // 04: only sketch without FQBN - {"", "", blonk, nil, blonk.DefaultBuildPath().String(), "Blonk.ino"}, + {"", "", blonk, nil, srv.getDefaultSketchBuildPath(blonk, nil).String(), "Blonk.ino"}, // 05: use importFile to detect build.path and project_name, sketch is ignored. {"testdata/upload/build_path_2/Blink.ino.hex", "", blonk, nil, "testdata/upload/build_path_2", "Blink.ino"}, // 06: use importPath as build.path and Blink as project name, ignore the sketch Blonk @@ -97,7 +99,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { // 11: error: used both importPath and importFile {"testdata/upload/build_path_2/Blink.ino.hex", "testdata/upload/build_path_2", nil, fqbn, "<nil>", ""}, // 12: use sketch to determine project name and sketch+fqbn to determine build path - {"", "", blonk, fqbn, blonk.DefaultBuildPath().String(), "Blonk.ino"}, + {"", "", blonk, fqbn, srv.getDefaultSketchBuildPath(blonk, nil).String(), "Blonk.ino"}, // 13: use importFile to detect build.path and project_name, sketch+fqbn is ignored. {"testdata/upload/build_path_2/Blink.ino.hex", "", blonk, fqbn, "testdata/upload/build_path_2", "Blink.ino"}, // 14: use importPath as build.path and Blink as project name, ignore the sketch Blonk, ignore fqbn @@ -111,7 +113,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { } for i, test := range tests { t.Run(fmt.Sprintf("SubTest%02d", i), func(t *testing.T) { - buildPath, sketchName, err := determineBuildPathAndSketchName(test.importFile, test.importDir, test.sketch) + buildPath, sketchName, err := srv.determineBuildPathAndSketchName(test.importFile, test.importDir, test.sketch) if test.resBuildPath == "<nil>" { require.Error(t, err) require.Nil(t, buildPath) @@ -183,10 +185,11 @@ func TestUploadPropertiesComposition(t *testing.T) { pme, release := pm.NewExplorer() defer release() + srv := NewArduinoCoreServer().(*arduinoCoreServerImpl) testRunner := func(t *testing.T, test test, verboseVerify bool) { outStream := &bytes.Buffer{} errStream := &bytes.Buffer{} - _, err := runProgramAction( + _, err := srv.runProgramAction( context.Background(), pme, nil, // sketch diff --git a/docs/UPGRADING.md b/docs/UPGRADING.md index 194c0296332..d83701331e6 100644 --- a/docs/UPGRADING.md +++ b/docs/UPGRADING.md @@ -1,6 +1,31 @@ # Upgrading -Here you can find a list of migration guides to handle breaking changes between releases of the CLI. +Here you can find a list of migration guides to handle breaking changes, deprecations, and bugfixes that may cause +problems between releases of the CLI. + +## 1.0.4 + +### The build cache path specified with `compile --build-cache-path` or `build_cache.path` now affects also sketches. + +Previously the specified build cache path only affected cores and it was ignored for sketches. This is now fixed and +both cores and sketches are cached in the given directory. + +### A full build of the sketch is performed if a build path is specified in `compile --build-path ...`. + +Previously if a build path was specified a cached core could have been used from the global build cache path resulting +in a partial build inside the given build path. + +Now if a build path is specified, the global build cache path is ignored and the full build is done in the given build +path. + +#### `compile --build-cache-path` is deprecated. + +The change above, makes the `compile --build-cache-path` flag useless. It is kept just for backward compatibility. + +### The default `build_cache.path` has been moved from the temp folder to the user's cache folder. + +Previously the `build_cache.path` was in `$TMP/arduino`. Now it has been moved to the specific OS user's cache folder, +for example in Linux it happens to be `$HOME/.cache/arduino`. ## 1.0.0 diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index 2d0c47f35d4..8be6e790345 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -279,12 +279,6 @@ func (e *InvalidSketchFolderNameError) Error() string { return i18n.Tr("no valid sketch found in %[1]s: missing %[2]s", e.SketchFolder, e.SketchFile) } -// DefaultBuildPath generates the default build directory for a given sketch. -// The build path is in a temporary directory and is unique for each sketch. -func (s *Sketch) DefaultBuildPath() *paths.Path { - return paths.TempDir().Join("arduino", "sketches", s.Hash()) -} - // Hash generate a unique hash for the given sketch. func (s *Sketch) Hash() string { path := s.FullPath.String() diff --git a/internal/arduino/sketch/sketch_test.go b/internal/arduino/sketch/sketch_test.go index 9f18e45c591..f16ae8bfdcc 100644 --- a/internal/arduino/sketch/sketch_test.go +++ b/internal/arduino/sketch/sketch_test.go @@ -285,12 +285,6 @@ func TestNewSketchFolderSymlink(t *testing.T) { require.True(t, sketch.RootFolderFiles.ContainsEquivalentTo(sketchPathSymlink.Join("s_file.S"))) } -func TestGenBuildPath(t *testing.T) { - want := paths.TempDir().Join("arduino", "sketches", "ACBD18DB4CC2F85CEDEF654FCCC4A4D8") - assert.True(t, (&Sketch{FullPath: paths.New("foo")}).DefaultBuildPath().EquivalentTo(want)) - assert.Equal(t, "ACBD18DB4CC2F85CEDEF654FCCC4A4D8", (&Sketch{FullPath: paths.New("foo")}).Hash()) -} - func TestNewSketchWithSymlink(t *testing.T) { sketchPath, _ := paths.New("testdata", "SketchWithSymlink").Abs() mainFilePath := sketchPath.Join("SketchWithSymlink.ino") diff --git a/internal/cli/arguments/arguments.go b/internal/cli/arguments/arguments.go index 2d5077dbf7a..a096154a864 100644 --- a/internal/cli/arguments/arguments.go +++ b/internal/cli/arguments/arguments.go @@ -25,12 +25,16 @@ import ( // CheckFlagsConflicts is a helper function useful to report errors when more than one conflicting flag is used func CheckFlagsConflicts(command *cobra.Command, flagNames ...string) { + var used []string for _, flagName := range flagNames { - if !command.Flag(flagName).Changed { - return + if command.Flag(flagName).Changed { + used = append(used, flagName) } } - flags := "--" + strings.Join(flagNames, ", --") + if len(used) <= 1 { + return + } + flags := "--" + strings.Join(used, ", --") msg := i18n.Tr("Can't use the following flags together: %s", flags) feedback.Fatal(msg, feedback.ErrBadArgument) } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 25cea1427bb..b4c093127b1 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -86,6 +86,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * " " + os.Args[0] + ` compile -b arduino:avr:uno --build-property build.extra_flags=-DPIN=2 --build-property "compiler.cpp.extra_flags=\"-DSSID=\"hello world\"\"" /home/user/Arduino/MySketch` + "\n", Args: cobra.MaximumNArgs(1), Run: func(cmd *cobra.Command, args []string) { + if cmd.Flag("build-cache-path").Changed { + feedback.Warning(i18n.Tr("The flag --build-cache-path has been deprecated. Please use just --build-path alone or configure the build cache path in the Arduino CLI settings.")) + } runCompileCommand(cmd, args, srv) }, } @@ -95,7 +98,8 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * compileCommand.Flags().BoolVar(&dumpProfile, "dump-profile", false, i18n.Tr("Create and print a profile configuration from the build.")) showPropertiesArg.AddToCommand(compileCommand) compileCommand.Flags().BoolVar(&preprocess, "preprocess", false, i18n.Tr("Print preprocessed code to stdout instead of compiling.")) - compileCommand.Flags().StringVar(&buildCachePath, "build-cache-path", "", i18n.Tr("Builds of 'core.a' are saved into this path to be cached and reused.")) + compileCommand.Flags().StringVar(&buildCachePath, "build-cache-path", "", i18n.Tr("Builds of cores and sketches are saved into this path to be cached and reused.")) + compileCommand.Flag("build-cache-path").Hidden = true // deprecated compileCommand.Flags().StringVar(&exportDir, "output-dir", "", i18n.Tr("Save build artifacts in this directory.")) compileCommand.Flags().StringVar(&buildPath, "build-path", "", i18n.Tr("Path where to save compiled files. If omitted, a directory will be created in the default temporary path of your OS.")) diff --git a/internal/cli/configuration/build_cache.go b/internal/cli/configuration/build_cache.go index f7ea225d54c..f2a8014e459 100644 --- a/internal/cli/configuration/build_cache.go +++ b/internal/cli/configuration/build_cache.go @@ -38,12 +38,11 @@ func (s *Settings) GetBuildCacheTTL() time.Duration { } // GetBuildCachePath returns the path to the build cache. -func (s *Settings) GetBuildCachePath() (*paths.Path, bool) { - p, ok, _ := s.GetStringOk("build_cache.path") - if !ok { - return nil, false +func (s *Settings) GetBuildCachePath() *paths.Path { + if p, ok, _ := s.GetStringOk("build_cache.path"); ok { + return paths.New(p) } - return paths.New(p), true + return paths.New(s.Defaults.GetString("build_cache.path")) } // GetBuildCacheExtraPaths returns the extra paths to the build cache. diff --git a/internal/cli/configuration/configuration.go b/internal/cli/configuration/configuration.go index c567955382a..134efdfdaf6 100644 --- a/internal/cli/configuration/configuration.go +++ b/internal/cli/configuration/configuration.go @@ -101,6 +101,18 @@ func getDefaultUserDir() string { } } +// getDefaultBuildCacheDir returns the full path to the default build cache folder +func getDefaultBuildCacheDir() string { + var cacheDir *paths.Path + if p, err := os.UserCacheDir(); err == nil { + cacheDir = paths.New(p) + } else { + // fallback to /tmp + cacheDir = paths.TempDir() + } + return cacheDir.Join("arduino").String() +} + // FindConfigFlagsInArgsOrFallbackOnEnv returns the config file path using the // argument '--config-file' (if specified), if empty looks for the ARDUINO_CONFIG_FILE env, // or looking in the current working dir diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index b2437fb91af..a810265785a 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -52,7 +52,7 @@ func SetDefaults(settings *Settings) { setDefaultValueAndKeyTypeSchema("sketch.always_export_binaries", false) setDefaultValueAndKeyTypeSchema("build_cache.ttl", (time.Hour * 24 * 30).String()) setDefaultValueAndKeyTypeSchema("build_cache.compilations_before_purge", uint(10)) - setKeyTypeSchema("build_cache.path", "") + setDefaultValueAndKeyTypeSchema("build_cache.path", getDefaultBuildCacheDir()) setKeyTypeSchema("build_cache.extra_paths", []string{}) // daemon settings diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index fa6e91491c4..a9dd9d976a0 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -54,6 +54,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { Long: i18n.Tr("Debug Arduino sketches. (this command opens an interactive gdb session)"), Example: " " + os.Args[0] + " debug -b arduino:samd:mkr1000 -P atmel_ice /home/user/Arduino/MySketch", Args: cobra.MaximumNArgs(1), + PreRun: func(cmd *cobra.Command, args []string) { + arguments.CheckFlagsConflicts(cmd, "input-dir", "build-path") + }, Run: func(cmd *cobra.Command, args []string) { runDebugCommand(cmd.Context(), srv, args, &portArgs, &fqbnArg, interpreter, importDir, &programmer, printInfo, &profileArg, debugProperties) }, @@ -65,6 +68,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { programmer.AddToCommand(debugCommand, srv) profileArg.AddToCommand(debugCommand, srv) debugCommand.Flags().StringVar(&interpreter, "interpreter", "console", i18n.Tr("Debug interpreter e.g.: %s", "console, mi, mi1, mi2, mi3")) + debugCommand.Flags().StringVarP(&importDir, "build-path", "", "", i18n.Tr("Directory containing binaries for debug.")) debugCommand.Flags().StringVarP(&importDir, "input-dir", "", "", i18n.Tr("Directory containing binaries for debug.")) debugCommand.Flags().BoolVarP(&printInfo, "info", "I", false, i18n.Tr("Show metadata about the debug session instead of starting the debugger.")) debugCommand.Flags().StringArrayVar(&debugProperties, "debug-property", []string{}, diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 28a961bc593..b33c5d1a4fc 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -60,7 +60,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { " " + os.Args[0] + " upload -p 192.168.10.1 -b arduino:avr:uno --upload-field password=abc", Args: cobra.MaximumNArgs(1), PreRun: func(cmd *cobra.Command, args []string) { - arguments.CheckFlagsConflicts(cmd, "input-file", "input-dir") + arguments.CheckFlagsConflicts(cmd, "input-file", "input-dir", "build-path") }, Run: func(cmd *cobra.Command, args []string) { runUploadCommand(cmd.Context(), srv, args, uploadFields) @@ -70,6 +70,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { fqbnArg.AddToCommand(uploadCommand, srv) portArgs.AddToCommand(uploadCommand, srv) profileArg.AddToCommand(uploadCommand, srv) + uploadCommand.Flags().StringVarP(&importDir, "build-path", "", "", i18n.Tr("Directory containing binaries to upload.")) uploadCommand.Flags().StringVarP(&importDir, "input-dir", "", "", i18n.Tr("Directory containing binaries to upload.")) uploadCommand.Flags().StringVarP(&importFile, "input-file", "i", "", i18n.Tr("Binary file to upload.")) uploadCommand.Flags().StringArrayVar(&uploadProperties, "upload-property", []string{}, diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 27b31cb82c1..3f09906310d 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -125,15 +125,17 @@ func compileWithSimpleSketch(t *testing.T, env *integrationtest.Environment, cli func compileWithCachePurgeNeeded(t *testing.T, env *integrationtest.Environment, cli *integrationtest.ArduinoCLI) { // create directories that must be purged - baseDir := paths.TempDir().Join("arduino", "sketches") + out, _, err := cli.Run("config", "get", "build_cache.path") + require.NoError(t, err) + cacheDir := paths.New(strings.TrimSpace(string(out))).Join("sketches") // purge case: last used file too old - oldDir1 := baseDir.Join("test_old_sketch_1") + oldDir1 := cacheDir.Join("test_old_sketch_1") require.NoError(t, oldDir1.MkdirAll()) require.NoError(t, oldDir1.Join(".last-used").WriteFile([]byte{})) require.NoError(t, oldDir1.Join(".last-used").Chtimes(time.Now(), time.Unix(0, 0))) // no purge case: last used file not existing - missingFileDir := baseDir.Join("test_sketch_2") + missingFileDir := cacheDir.Join("test_sketch_2") require.NoError(t, missingFileDir.MkdirAll()) defer oldDir1.RemoveAll() @@ -172,12 +174,13 @@ func compileWithSimpleSketchCustomEnv(t *testing.T, env *integrationtest.Environ require.NoError(t, err) require.NotEmpty(t, compileOutput["compiler_out"]) require.Empty(t, compileOutput["compiler_err"]) + builderResult := compileOutput["builder_result"].(map[string]any) + buildDir := paths.New(builderResult["build_path"].(string)) // Verifies expected binaries have been built md5 := md5.Sum(([]byte(sketchPath.String()))) sketchPathMd5 := strings.ToUpper(hex.EncodeToString(md5[:])) require.NotEmpty(t, sketchPathMd5) - buildDir := paths.TempDir().Join("arduino", "sketches", sketchPathMd5) require.FileExists(t, buildDir.Join(sketchName+".ino.eep").String()) require.FileExists(t, buildDir.Join(sketchName+".ino.elf").String()) require.FileExists(t, buildDir.Join(sketchName+".ino.hex").String()) @@ -427,11 +430,16 @@ func compileWithOutputDirFlag(t *testing.T, env *integrationtest.Environment, cl _, _, err = cli.Run("compile", "-b", fqbn, sketchPath.String(), "--output-dir", outputDir.String()) require.NoError(t, err) + // Get default build cache dir + out, _, err := cli.Run("config", "get", "build_cache.path") + require.NoError(t, err) + buildCache := paths.New(strings.TrimSpace(string(out))) + // Verifies expected binaries have been built md5 := md5.Sum(([]byte(sketchPath.String()))) sketchPathMd5 := strings.ToUpper(hex.EncodeToString(md5[:])) require.NotEmpty(t, sketchPathMd5) - buildDir := paths.TempDir().Join("arduino", "sketches", sketchPathMd5) + buildDir := buildCache.Join("sketches", sketchPathMd5) require.FileExists(t, buildDir.Join(sketchName+".ino.eep").String()) require.FileExists(t, buildDir.Join(sketchName+".ino.elf").String()) require.FileExists(t, buildDir.Join(sketchName+".ino.hex").String()) @@ -1008,14 +1016,15 @@ func compileWithInvalidBuildOptionJson(t *testing.T, env *integrationtest.Enviro _, _, err := cli.Run("sketch", "new", sketchPath.String()) require.NoError(t, err) - // Get the build directory - md5 := md5.Sum(([]byte(sketchPath.String()))) - sketchPathMd5 := strings.ToUpper(hex.EncodeToString(md5[:])) - require.NotEmpty(t, sketchPathMd5) - buildDir := paths.TempDir().Join("arduino", "sketches", sketchPathMd5) - - _, _, err = cli.Run("compile", "-b", fqbn, sketchPath.String(), "--verbose") + out, _, err := cli.Run("compile", "-b", fqbn, sketchPath.String(), "--json") require.NoError(t, err) + var builderOutput struct { + BuilderResult struct { + BuildPath string `json:"build_path"` + } `json:"builder_result"` + } + require.NoError(t, json.Unmarshal(out, &builderOutput)) + buildDir := paths.New(builderOutput.BuilderResult.BuildPath) // Breaks the build.options.json file buildOptionsJson := buildDir.Join("build.options.json") diff --git a/internal/integrationtest/compile_4/compile_test.go b/internal/integrationtest/compile_4/compile_test.go index a909cab3ab8..f0916138246 100644 --- a/internal/integrationtest/compile_4/compile_test.go +++ b/internal/integrationtest/compile_4/compile_test.go @@ -929,19 +929,26 @@ func TestBuildCaching(t *testing.T) { // Find cached core and save timestamp pathList, err := buildCachePath.ReadDirRecursiveFiltered(nil, paths.FilterPrefixes("core.a")) require.NoError(t, err) - require.Len(t, pathList, 1) + require.Len(t, pathList, 2) cachedCoreFile := pathList[0] - lastUsedPath := cachedCoreFile.Parent().Join(".last-used") - require.True(t, lastUsedPath.Exist()) + require.True(t, cachedCoreFile.Parent().Join(".last-used").Exist()) coreStatBefore, err := cachedCoreFile.Stat() require.NoError(t, err) + sketchCoreFile := pathList[1] + require.True(t, sketchCoreFile.Parent().Parent().Join(".last-used").Exist()) + sketchStatBefore, err := sketchCoreFile.Stat() + require.NoError(t, err) + // Run build again and check timestamp is unchanged _, _, err = cli.Run("compile", "-b", "arduino:avr:uno", "--build-cache-path", buildCachePath.String(), sketchPath.String()) require.NoError(t, err) coreStatAfterRebuild, err := cachedCoreFile.Stat() require.NoError(t, err) require.Equal(t, coreStatBefore.ModTime(), coreStatAfterRebuild.ModTime()) + sketchStatAfterRebuild, err := sketchCoreFile.Stat() + require.NoError(t, err) + require.Equal(t, sketchStatBefore.ModTime(), sketchStatAfterRebuild.ModTime()) // Touch a file of the core and check if the builder invalidate the cache time.Sleep(time.Second) diff --git a/internal/integrationtest/compile_4/core_caching_test.go b/internal/integrationtest/compile_4/core_caching_test.go index 582a2e29ec7..9fcef13f2e8 100644 --- a/internal/integrationtest/compile_4/core_caching_test.go +++ b/internal/integrationtest/compile_4/core_caching_test.go @@ -16,6 +16,7 @@ package compile_test import ( + "strings" "testing" "github.com/arduino/arduino-cli/internal/integrationtest" @@ -31,8 +32,12 @@ func TestBuildCacheCoreWithExtraDirs(t *testing.T) { _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") require.NoError(t, err) + // Get default cache path + out, _, err := cli.Run("config", "get", "build_cache.path") + require.NoError(t, err) + defaultCache := paths.New(strings.TrimSpace(string(out))) + // Main core cache - defaultCache := paths.TempDir().Join("arduino") cache1, err := paths.MkTempDir("", "core_cache") require.NoError(t, err) t.Cleanup(func() { cache1.RemoveAll() }) diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index 08ed34fadfd..cd28d8286c0 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -16,8 +16,6 @@ package core_test import ( - "crypto/md5" - "encoding/hex" "encoding/json" "fmt" "os" @@ -277,13 +275,17 @@ func TestCoreInstallEsp32(t *testing.T) { sketchPath := cli.SketchbookDir().Join(sketchName) _, _, err = cli.Run("sketch", "new", sketchPath.String()) require.NoError(t, err) - _, _, err = cli.Run("compile", "-b", "esp32:esp32:esp32", sketchPath.String()) + out, _, err := cli.Run("compile", "-b", "esp32:esp32:esp32", sketchPath.String(), "--json") require.NoError(t, err) + var builderOutput struct { + BuilderResult struct { + BuildPath string `json:"build_path"` + } `json:"builder_result"` + } + require.NoError(t, json.Unmarshal(out, &builderOutput)) + buildDir := paths.New(builderOutput.BuilderResult.BuildPath) + // prevent regressions for https://github.com/arduino/arduino-cli/issues/163 - md5 := md5.Sum(([]byte(sketchPath.String()))) - sketchPathMd5 := strings.ToUpper(hex.EncodeToString(md5[:])) - require.NotEmpty(t, sketchPathMd5) - buildDir := paths.TempDir().Join("arduino", "sketches", sketchPathMd5) require.FileExists(t, buildDir.Join(sketchName+".ino.partitions.bin").String()) } diff --git a/internal/integrationtest/upload_mock/upload_mock_test.go b/internal/integrationtest/upload_mock/upload_mock_test.go index 330358bb1ba..db10fc383df 100644 --- a/internal/integrationtest/upload_mock/upload_mock_test.go +++ b/internal/integrationtest/upload_mock/upload_mock_test.go @@ -655,7 +655,17 @@ func TestUploadSketch(t *testing.T) { sketchPath := cli.SketchbookDir().Join(sketchName) _, _, err := cli.Run("sketch", "new", sketchPath.String()) require.NoError(t, err) - buildDir := generateBuildDir(sketchPath, t) + + out, _, err := cli.Run("config", "get", "build_cache.path") + require.NoError(t, err) + cacheDir := paths.New(strings.TrimSpace(string(out))) + + md5 := md5.Sum(([]byte(sketchPath.String()))) + sketchPathMd5 := strings.ToUpper(hex.EncodeToString(md5[:])) + buildDir := cacheDir.Join("sketches", sketchPathMd5) + require.NoError(t, buildDir.MkdirAll()) + require.NoError(t, buildDir.ToAbs()) + t.Cleanup(func() { buildDir.RemoveAll() }) for i, _test := range testParameters { @@ -718,15 +728,6 @@ func TestUploadSketch(t *testing.T) { } } -func generateBuildDir(sketchPath *paths.Path, t *testing.T) *paths.Path { - md5 := md5.Sum(([]byte(sketchPath.String()))) - sketchPathMd5 := strings.ToUpper(hex.EncodeToString(md5[:])) - buildDir := paths.TempDir().Join("arduino", "sketches", sketchPathMd5) - require.NoError(t, buildDir.MkdirAll()) - require.NoError(t, buildDir.ToAbs()) - return buildDir -} - func TestUploadWithInputDirFlag(t *testing.T) { env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) defer env.CleanUp() diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index 33fa8d6314c..87aaa41f88f 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -53,7 +53,10 @@ type CompileRequest struct { ShowProperties bool `protobuf:"varint,4,opt,name=show_properties,json=showProperties,proto3" json:"show_properties,omitempty"` // Print preprocessed code to stdout instead of compiling. Preprocess bool `protobuf:"varint,5,opt,name=preprocess,proto3" json:"preprocess,omitempty"` - // Builds of 'core.a' are saved into this path to be cached and reused. + // Builds of core and sketches are saved into this path to be cached and + // reused. + // + // Deprecated: Marked as deprecated in cc/arduino/cli/commands/v1/compile.proto. BuildCachePath string `protobuf:"bytes,6,opt,name=build_cache_path,json=buildCachePath,proto3" json:"build_cache_path,omitempty"` // Path to use to store the files used for the compilation. If omitted, // a directory will be created in the operating system's default temporary @@ -183,6 +186,7 @@ func (x *CompileRequest) GetPreprocess() bool { return false } +// Deprecated: Marked as deprecated in cc/arduino/cli/commands/v1/compile.proto. func (x *CompileRequest) GetBuildCachePath() string { if x != nil { return x.BuildCachePath @@ -912,7 +916,7 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x62, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, 0x09, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x09, 0x0a, 0x0e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, @@ -925,162 +929,162 @@ var file_cc_arduino_cli_commands_v1_compile_proto_rawDesc = []byte{ 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x73, 0x68, 0x6f, 0x77, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x65, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x70, 0x72, - 0x65, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, + 0x65, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, - 0x68, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, - 0x6f, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, - 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x69, 0x65, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x05, 0x71, 0x75, 0x69, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6a, 0x6f, 0x62, 0x73, - 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, 0x12, 0x1c, 0x0a, 0x09, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x12, 0x6f, 0x70, - 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, 0x65, 0x62, 0x75, 0x67, - 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, - 0x46, 0x6f, 0x72, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x6e, - 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x12, 0x47, 0x0a, - 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, - 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x62, 0x61, - 0x73, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x67, 0x0a, 0x0f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, - 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, - 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x18, 0x0a, - 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x18, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, - 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6b, 0x65, 0x79, 0x73, 0x5f, - 0x6b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6b, 0x65, 0x79, 0x73, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x12, 0x19, 0x0a, 0x08, - 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x63, 0x72, 0x79, - 0x70, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, - 0x63, 0x72, 0x79, 0x70, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x18, 0x73, 0x6b, 0x69, 0x70, - 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, - 0x76, 0x65, 0x72, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x73, 0x6b, 0x69, 0x70, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x12, 0x42, 0x0a, 0x1e, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, 0x64, 0x6f, 0x4e, 0x6f, - 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, - 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, - 0x63, 0x68, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x50, 0x61, 0x74, 0x68, 0x73, 0x1a, 0x41, 0x0a, - 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, - 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, 0x6e, 0x61, - 0x72, 0x69, 0x65, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x75, 0x74, 0x5f, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x09, - 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, 0x0a, 0x65, 0x72, 0x72, - 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, - 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x46, 0x0a, 0x08, 0x70, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x50, 0x72, - 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, - 0x73, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, - 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x4e, 0x65, - 0x65, 0x64, 0x73, 0x52, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa1, 0x04, 0x0a, 0x0d, 0x42, 0x75, 0x69, - 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, - 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x0e, 0x75, 0x73, 0x65, - 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x64, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x16, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, - 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x65, 0x64, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x0b, 0x64, - 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x52, - 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x22, 0x5a, 0x0a, 0x15, - 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, 0x11, 0x43, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, - 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x07, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x28, 0x09, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, + 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, + 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x71, 0x75, 0x69, 0x65, 0x74, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x71, 0x75, 0x69, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x6a, 0x6f, 0x62, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x6a, 0x6f, 0x62, 0x73, + 0x12, 0x1c, 0x0a, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x0f, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2c, + 0x0a, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x64, + 0x65, 0x62, 0x75, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, + 0x6d, 0x69, 0x7a, 0x65, 0x46, 0x6f, 0x72, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x1d, 0x0a, 0x0a, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x69, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x6c, 0x65, 0x61, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x6c, 0x65, 0x61, + 0x6e, 0x12, 0x47, 0x0a, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, + 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x62, 0x61, 0x73, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x67, 0x0a, 0x0f, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x16, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x74, 0x0a, - 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, - 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x22, 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, - 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, 0x69, - 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x69, + 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x42, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x18, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x18, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x6b, + 0x65, 0x79, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x73, 0x4b, 0x65, 0x79, 0x63, 0x68, 0x61, 0x69, 0x6e, + 0x12, 0x19, 0x0a, 0x08, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1a, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x73, 0x69, 0x67, 0x6e, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x38, 0x0a, 0x18, + 0x73, 0x6b, 0x69, 0x70, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x64, + 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, + 0x73, 0x6b, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x44, 0x69, 0x73, + 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x42, 0x0a, 0x1e, 0x64, 0x6f, 0x5f, 0x6e, 0x6f, 0x74, + 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1a, + 0x64, 0x6f, 0x4e, 0x6f, 0x74, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x42, 0x75, 0x69, 0x6c, 0x64, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x35, 0x0a, 0x17, 0x62, 0x75, + 0x69, 0x6c, 0x64, 0x5f, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x50, 0x61, 0x74, 0x68, + 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x62, 0x69, 0x6e, 0x61, 0x72, 0x69, 0x65, 0x73, 0x22, 0xeb, 0x01, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, + 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0a, + 0x6f, 0x75, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, + 0x48, 0x00, 0x52, 0x09, 0x6f, 0x75, 0x74, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x1f, 0x0a, + 0x0a, 0x65, 0x72, 0x72, 0x5f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x00, 0x52, 0x09, 0x65, 0x72, 0x72, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x12, 0x46, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, + 0x73, 0x6b, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x48, 0x00, 0x52, 0x08, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x48, 0x00, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x24, 0x0a, 0x22, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x4e, 0x65, 0x65, 0x64, 0x73, 0x52, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xa1, 0x04, 0x0a, + 0x0d, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, + 0x0a, 0x0a, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, + 0x0e, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x0d, 0x75, 0x73, 0x65, 0x64, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x12, 0x6b, 0x0a, 0x18, 0x65, 0x78, 0x65, + 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x52, 0x16, + 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, + 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, + 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x5d, 0x0a, 0x0e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, + 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, + 0x6c, 0x6c, 0x65, 0x64, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0d, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x6c, 0x61, 0x74, + 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x29, 0x0a, 0x10, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, + 0x62, 0x75, 0x69, 0x6c, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, + 0x4f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, + 0x74, 0x69, 0x63, 0x52, 0x0b, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x73, + 0x22, 0x5a, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, + 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x07, 0x6d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x22, 0xa2, 0x02, 0x0a, + 0x11, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, + 0x69, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x76, 0x65, 0x72, 0x69, 0x74, 0x79, 0x12, 0x18, + 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, + 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4e, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, + 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, + 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x47, 0x0a, 0x05, 0x6e, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x65, + 0x73, 0x22, 0x74, 0x0a, 0x18, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, + 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x12, 0x18, 0x0a, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6c, + 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x22, 0x71, 0x0a, 0x15, 0x43, 0x6f, 0x6d, 0x70, 0x69, + 0x6c, 0x65, 0x44, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 0x63, 0x4e, 0x6f, 0x74, 0x65, + 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x69, + 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, + 0x6e, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, + 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index fb21c8f9bae..7bd9bb7c900 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -36,8 +36,9 @@ message CompileRequest { bool show_properties = 4; // Print preprocessed code to stdout instead of compiling. bool preprocess = 5; - // Builds of 'core.a' are saved into this path to be cached and reused. - string build_cache_path = 6; + // Builds of core and sketches are saved into this path to be cached and + // reused. + string build_cache_path = 6 [ deprecated = true ]; // Path to use to store the files used for the compilation. If omitted, // a directory will be created in the operating system's default temporary // path. From 24bd145372017664d3bc0a892b1981f3c9307ff5 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 7 Oct 2024 12:59:33 +0200 Subject: [PATCH 250/361] Allow port, protocol and port settings to be specified in profiles. (#2717) * Allow port/protocol keys in sketch profile * Allow port/protocol in profiles * Added port settings in sketch profile * Allow port configuration from sketch profile * Added docs * fix: Moved port-from-profile logic in args.Port.GetPort(...) This allows to implement the selection logic on more commands. * Fixed FQBN selection logic in monitor/arg command * Fixed incorrect tests The previous fixes now let the CLI to produce the correct output. --- docs/sketch-project-file.md | 26 +- internal/arduino/sketch/profiles.go | 49 ++- internal/arduino/sketch/sketch.go | 11 + internal/cli/arguments/fqbn.go | 8 +- internal/cli/arguments/port.go | 12 +- internal/cli/board/attach.go | 2 +- internal/cli/burnbootloader/burnbootloader.go | 2 +- internal/cli/compile/compile.go | 2 +- internal/cli/debug/debug.go | 2 +- internal/cli/debug/debug_check.go | 2 +- internal/cli/monitor/monitor.go | 124 +++---- internal/cli/upload/upload.go | 2 +- .../integrationtest/monitor/monitor_test.go | 135 +++++++- .../SketchWithDefaultPortAndConfig.ino | 3 + .../sketch.yaml | 4 + ...etchWithDefaultPortAndConfigAndProfile.ino | 3 + .../sketch.yaml | 13 + .../SketchWithDefaultPortAndFQBN/sketch.yaml | 7 +- rpc/cc/arduino/cli/commands/v1/common.pb.go | 252 +++++++++++++-- rpc/cc/arduino/cli/commands/v1/common.proto | 18 ++ rpc/cc/arduino/cli/commands/v1/monitor.pb.go | 305 +++++------------- rpc/cc/arduino/cli/commands/v1/monitor.proto | 10 - 22 files changed, 653 insertions(+), 339 deletions(-) create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/SketchWithDefaultPortAndConfig.ino create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/sketch.yaml create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/SketchWithDefaultPortAndConfigAndProfile.ino create mode 100644 internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/sketch.yaml diff --git a/docs/sketch-project-file.md b/docs/sketch-project-file.md index 896e66eb16a..1660bba9f1b 100644 --- a/docs/sketch-project-file.md +++ b/docs/sketch-project-file.md @@ -15,6 +15,7 @@ Each profile will define: - A possible core platform name and version, that is a dependency of the target core platform (with the 3rd party platform index URL if needed) - The libraries used in the sketch (including their version) +- The port and protocol to upload the sketch and monitor the board The format of the file is the following: @@ -33,7 +34,11 @@ profiles: - <LIB_NAME> (<LIB_VERSION>) - <LIB_NAME> (<LIB_VERSION>) - <LIB_NAME> (<LIB_VERSION>) - + port: <PORT_NAME> + port_config: + <PORT_SETTING_NAME>: <PORT_SETTING_VALUE> + ... + protocol: <PORT_PROTOCOL> ...more profiles here... ``` @@ -54,6 +59,15 @@ otherwise below). The available fields are: - `<USER_NOTES>` is a free text string available to the developer to add comments. This field is optional. - `<PROGRAMMER>` is the programmer that will be used. This field is optional. +The following fields are available since Arduino CLI 1.1.0: + +- `<PORT_NAME>` is the port that will be used to upload and monitor the board (unless explicitly set otherwise). This + field is optional. +- `port_config` section with `<PORT_SETTING_NAME>` and `<PORT_SETTING_VALUE>` defines the port settings that will be + used in the `monitor` command. Typically is used to set the baudrate for the serial port (for example + `baudrate: 115200`) but any setting/value can be specified. Multiple settings can be set. These fields are optional. +- `<PORT_PROTOCOL>` is the protocol for the port used to upload and monitor the board. This field is optional. + A complete example of a sketch project file may be the following: ``` @@ -76,6 +90,9 @@ profiles: - VitconMQTT (1.0.1) - Arduino_ConnectionHandler (0.6.4) - TinyDHT sensor library (1.1.0) + port: /dev/ttyACM0 + port_config: + baudrate: 115200 tiny: notes: testing the very limit of the AVR platform, it will be very unstable @@ -139,6 +156,8 @@ particular: - The `default_fqbn` key sets the default value for the `--fqbn` flag - The `default_programmer` key sets the default value for the `--programmer` flag - The `default_port` key sets the default value for the `--port` flag +- The `default_port_config` key sets the default values for the `--config` flag in the `monitor` command (available + since Arduino CLI 1.1.0) - The `default_protocol` key sets the default value for the `--protocol` flag - The `default_profile` key sets the default value for the `--profile` flag @@ -148,6 +167,8 @@ For example: default_fqbn: arduino:samd:mkr1000 default_programmer: atmel_ice default_port: /dev/ttyACM0 +default_port_config: + baudrate: 115200 default_protocol: serial default_profile: myprofile ``` @@ -155,4 +176,5 @@ default_profile: myprofile With this configuration set, it is not necessary to specify the `--fqbn`, `--programmer`, `--port`, `--protocol` or `--profile` flags to the [`arduino-cli compile`](commands/arduino-cli_compile.md), [`arduino-cli upload`](commands/arduino-cli_upload.md) or [`arduino-cli debug`](commands/arduino-cli_debug.md) commands -when compiling, uploading or debugging the sketch. +when compiling, uploading or debugging the sketch. Moreover in the `monitor` command it is not necessary to specify the +`--config baudrate=115200` to communicate with the monitor port of the board. diff --git a/internal/arduino/sketch/profiles.go b/internal/arduino/sketch/profiles.go index b01bec167f2..cd32ccdf681 100644 --- a/internal/arduino/sketch/profiles.go +++ b/internal/arduino/sketch/profiles.go @@ -34,12 +34,13 @@ import ( // projectRaw is a support struct used only to unmarshal the yaml type projectRaw struct { - ProfilesRaw yaml.Node `yaml:"profiles"` - DefaultProfile string `yaml:"default_profile"` - DefaultFqbn string `yaml:"default_fqbn"` - DefaultPort string `yaml:"default_port,omitempty"` - DefaultProtocol string `yaml:"default_protocol,omitempty"` - DefaultProgrammer string `yaml:"default_programmer,omitempty"` + ProfilesRaw yaml.Node `yaml:"profiles"` + DefaultProfile string `yaml:"default_profile"` + DefaultFqbn string `yaml:"default_fqbn"` + DefaultPort string `yaml:"default_port,omitempty"` + DefaultPortConfig map[string]string `yaml:"default_port_config,omitempty"` + DefaultProtocol string `yaml:"default_protocol,omitempty"` + DefaultProgrammer string `yaml:"default_programmer,omitempty"` } // Project represents the sketch project file @@ -48,6 +49,7 @@ type Project struct { DefaultProfile string DefaultFqbn string DefaultPort string + DefaultPortConfig map[string]string DefaultProtocol string DefaultProgrammer string } @@ -70,6 +72,12 @@ func (p *Project) AsYaml() string { if p.DefaultPort != "" { res += fmt.Sprintf("default_port: %s\n", p.DefaultPort) } + if len(p.DefaultPortConfig) > 0 { + res += "default_port_config:\n" + for k, v := range p.DefaultPortConfig { + res += fmt.Sprintf(" %s: %s\n", k, v) + } + } if p.DefaultProtocol != "" { res += fmt.Sprintf("default_protocol: %s\n", p.DefaultProtocol) } @@ -103,6 +111,9 @@ type Profile struct { Name string Notes string `yaml:"notes"` FQBN string `yaml:"fqbn"` + Port string `yaml:"port"` + PortConfig map[string]string `yaml:"port_config"` + Protocol string `yaml:"protocol"` Programmer string `yaml:"programmer"` Platforms ProfileRequiredPlatforms `yaml:"platforms"` Libraries ProfileRequiredLibraries `yaml:"libraries"` @@ -110,10 +121,23 @@ type Profile struct { // ToRpc converts this Profile to an rpc.SketchProfile func (p *Profile) ToRpc() *rpc.SketchProfile { + var portConfig *rpc.MonitorPortConfiguration + if len(p.PortConfig) > 0 { + portConfig = &rpc.MonitorPortConfiguration{} + for k, v := range p.PortConfig { + portConfig.Settings = append(portConfig.Settings, &rpc.MonitorPortSetting{ + SettingId: k, + Value: v, + }) + } + } return &rpc.SketchProfile{ Name: p.Name, Fqbn: p.FQBN, Programmer: p.Programmer, + Port: p.Port, + PortConfig: portConfig, + Protocol: p.Protocol, } } @@ -127,6 +151,18 @@ func (p *Profile) AsYaml() string { if p.Programmer != "" { res += fmt.Sprintf(" programmer: %s\n", p.Programmer) } + if p.Port != "" { + res += fmt.Sprintf(" port: %s\n", p.Port) + } + if p.Protocol != "" { + res += fmt.Sprintf(" protocol: %s\n", p.Protocol) + } + if len(p.PortConfig) > 0 { + res += " port_config:\n" + for k, v := range p.PortConfig { + res += fmt.Sprintf(" %s: %s\n", k, v) + } + } res += p.Platforms.AsYaml() res += p.Libraries.AsYaml() return res @@ -291,6 +327,7 @@ func LoadProjectFile(file *paths.Path) (*Project, error) { DefaultProfile: raw.DefaultProfile, DefaultFqbn: raw.DefaultFqbn, DefaultPort: raw.DefaultPort, + DefaultPortConfig: raw.DefaultPortConfig, DefaultProtocol: raw.DefaultProtocol, DefaultProgrammer: raw.DefaultProgrammer, }, nil diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index 8be6e790345..5cdfb6f3ee8 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -289,6 +289,16 @@ func (s *Sketch) Hash() string { // ToRpc converts this Sketch into a rpc.LoadSketchResponse func (s *Sketch) ToRpc() *rpc.Sketch { defaultPort, defaultProtocol := s.GetDefaultPortAddressAndProtocol() + var defaultPortConfig *rpc.MonitorPortConfiguration + if len(s.Project.DefaultPortConfig) > 0 { + defaultPortConfig = &rpc.MonitorPortConfiguration{} + for k, v := range s.Project.DefaultPortConfig { + defaultPortConfig.Settings = append(defaultPortConfig.Settings, &rpc.MonitorPortSetting{ + SettingId: k, + Value: v, + }) + } + } res := &rpc.Sketch{ MainFile: s.MainFile.String(), LocationPath: s.FullPath.String(), @@ -297,6 +307,7 @@ func (s *Sketch) ToRpc() *rpc.Sketch { RootFolderFiles: s.RootFolderFiles.AsStrings(), DefaultFqbn: s.GetDefaultFQBN(), DefaultPort: defaultPort, + DefaultPortConfig: defaultPortConfig, DefaultProtocol: defaultProtocol, DefaultProgrammer: s.GetDefaultProgrammer(), Profiles: f.Map(s.Project.Profiles, (*Profile).ToRpc), diff --git a/internal/cli/arguments/fqbn.go b/internal/cli/arguments/fqbn.go index 7783cdaf69a..f2248bcd424 100644 --- a/internal/cli/arguments/fqbn.go +++ b/internal/cli/arguments/fqbn.go @@ -64,6 +64,7 @@ func (f *Fqbn) Set(fqbn string) { // parameters provided by the user. // This determine the FQBN based on: // - the value of the FQBN flag if explicitly specified, otherwise +// - the FQBN of the selected profile if available, otherwise // - the default FQBN value in sketch.yaml (`default_fqbn` key) if available, otherwise // - it tries to autodetect the board connected to the given port flags // If all above methods fails, it returns the empty string. @@ -71,8 +72,11 @@ func (f *Fqbn) Set(fqbn string) { // - the port is not found, in this case nil is returned // - the FQBN autodetection fail, in this case the function prints an error and // terminates the execution -func CalculateFQBNAndPort(ctx context.Context, portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultFQBN, defaultAddress, defaultProtocol string) (string, *rpc.Port) { +func CalculateFQBNAndPort(ctx context.Context, portArgs *Port, fqbnArg *Fqbn, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultFQBN, defaultAddress, defaultProtocol string, profile *rpc.SketchProfile) (string, *rpc.Port) { fqbn := fqbnArg.String() + if fqbn == "" { + fqbn = profile.GetFqbn() + } if fqbn == "" { fqbn = defaultFQBN } @@ -87,7 +91,7 @@ func CalculateFQBNAndPort(ctx context.Context, portArgs *Port, fqbnArg *Fqbn, in return fqbn, port } - port, err := portArgs.GetPort(ctx, instance, srv, defaultAddress, defaultProtocol) + port, err := portArgs.GetPort(ctx, instance, srv, defaultAddress, defaultProtocol, profile) if err != nil { feedback.Fatal(i18n.Tr("Error getting port metadata: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index dfd120f162f..fea0b475db5 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -57,12 +57,12 @@ func (p *Port) AddToCommand(cmd *cobra.Command, srv rpc.ArduinoCoreServiceServer // This method allows will bypass the discoveries if: // - a nil instance is passed: in this case the plain port and protocol arguments are returned (even if empty) // - a protocol is specified: in this case the discoveries are not needed to autodetect the protocol. -func (p *Port) GetPortAddressAndProtocol(ctx context.Context, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (string, string, error) { +func (p *Port) GetPortAddressAndProtocol(ctx context.Context, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string, profile *rpc.SketchProfile) (string, string, error) { if p.protocol != "" || instance == nil { return p.address, p.protocol, nil } - port, err := p.GetPort(ctx, instance, srv, defaultAddress, defaultProtocol) + port, err := p.GetPort(ctx, instance, srv, defaultAddress, defaultProtocol, profile) if err != nil { return "", "", err } @@ -71,7 +71,13 @@ func (p *Port) GetPortAddressAndProtocol(ctx context.Context, instance *rpc.Inst // GetPort returns the Port obtained by parsing command line arguments. // The extra metadata for the ports is obtained using the pluggable discoveries. -func (p *Port) GetPort(ctx context.Context, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string) (*rpc.Port, error) { +func (p *Port) GetPort(ctx context.Context, instance *rpc.Instance, srv rpc.ArduinoCoreServiceServer, defaultAddress, defaultProtocol string, profile *rpc.SketchProfile) (*rpc.Port, error) { + if profile.GetPort() != "" { + defaultAddress = profile.GetPort() + } + if profile.GetProtocol() != "" { + defaultProtocol = profile.GetProtocol() + } address := p.address protocol := p.protocol if address == "" && (defaultAddress != "" || defaultProtocol != "") { diff --git a/internal/cli/board/attach.go b/internal/cli/board/attach.go index 871f0bbd5dc..51a5275908f 100644 --- a/internal/cli/board/attach.go +++ b/internal/cli/board/attach.go @@ -59,7 +59,7 @@ func initAttachCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { func runAttachCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, path string, port *arguments.Port, fqbn string, programmer *arguments.Programmer) { sketchPath := arguments.InitSketchPath(path) - portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(ctx, nil, srv, "", "") + portAddress, portProtocol, _ := port.GetPortAddressAndProtocol(ctx, nil, srv, "", "", nil) newDefaults, err := srv.SetSketchDefaults(ctx, &rpc.SetSketchDefaultsRequest{ SketchPath: sketchPath.String(), DefaultFqbn: fqbn, diff --git a/internal/cli/burnbootloader/burnbootloader.go b/internal/cli/burnbootloader/burnbootloader.go index 8b479e896e7..a9798259a14 100644 --- a/internal/cli/burnbootloader/burnbootloader.go +++ b/internal/cli/burnbootloader/burnbootloader.go @@ -73,7 +73,7 @@ func runBootloaderCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer) logrus.Info("Executing `arduino-cli burn-bootloader`") // We don't need a Sketch to upload a board's bootloader - discoveryPort, err := port.GetPort(ctx, instance, srv, "", "") + discoveryPort, err := port.GetPort(ctx, instance, srv, "", "", nil) if err != nil { feedback.Fatal(i18n.Tr("Error during Upload: %v", err), feedback.ErrGeneric) } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index b4c093127b1..0fda0ec3dc6 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -180,7 +180,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer fqbnArg.Set(profile.GetFqbn()) } - fqbn, port := arguments.CalculateFQBNAndPort(ctx, &portArgs, &fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + fqbn, port := arguments.CalculateFQBNAndPort(ctx, &portArgs, &fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol(), profile) if keysKeychain != "" || signKey != "" || encryptKey != "" { arguments.CheckFlagsMandatory(cmd, "keys-keychain", "sign-key", "encrypt-key") diff --git a/internal/cli/debug/debug.go b/internal/cli/debug/debug.go index a9dd9d976a0..a4cce1815e7 100644 --- a/internal/cli/debug/debug.go +++ b/internal/cli/debug/debug.go @@ -108,7 +108,7 @@ func runDebugCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, args fqbnArg.Set(profile.GetFqbn()) } - fqbn, port := arguments.CalculateFQBNAndPort(ctx, portArgs, fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol()) + fqbn, port := arguments.CalculateFQBNAndPort(ctx, portArgs, fqbnArg, inst, srv, sk.GetDefaultFqbn(), sk.GetDefaultPort(), sk.GetDefaultProtocol(), profile) prog := profile.GetProgrammer() if prog == "" || programmer.GetProgrammer() != "" { diff --git a/internal/cli/debug/debug_check.go b/internal/cli/debug/debug_check.go index 779348c8a82..7061d6e5412 100644 --- a/internal/cli/debug/debug_check.go +++ b/internal/cli/debug/debug_check.go @@ -60,7 +60,7 @@ func runDebugCheckCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, instance := instance.CreateAndInit(ctx, srv) logrus.Info("Executing `arduino-cli debug`") - port, err := portArgs.GetPort(ctx, instance, srv, "", "") + port, err := portArgs.GetPort(ctx, instance, srv, "", "", nil) if err != nil { feedback.FatalError(err, feedback.ErrBadArgument) } diff --git a/internal/cli/monitor/monitor.go b/internal/cli/monitor/monitor.go index e0cc0ffde41..0254e174553 100644 --- a/internal/cli/monitor/monitor.go +++ b/internal/cli/monitor/monitor.go @@ -17,6 +17,7 @@ package monitor import ( "bytes" + "cmp" "context" "errors" "io" @@ -109,12 +110,10 @@ func runMonitorCmd( var inst *rpc.Instance var profile *rpc.SketchProfile - if fqbnArg.String() == "" { - if profileArg.Get() == "" { - inst, profile = instance.CreateAndInitWithProfile(ctx, srv, sketch.GetDefaultProfile().GetName(), sketchPath) - } else { - inst, profile = instance.CreateAndInitWithProfile(ctx, srv, profileArg.Get(), sketchPath) - } + if profileArg.Get() == "" { + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, sketch.GetDefaultProfile().GetName(), sketchPath) + } else { + inst, profile = instance.CreateAndInitWithProfile(ctx, srv, profileArg.Get(), sketchPath) } if inst == nil { inst = instance.CreateAndInit(ctx, srv) @@ -141,7 +140,7 @@ func runMonitorCmd( if sketch != nil { defaultPort, defaultProtocol = sketch.GetDefaultPort(), sketch.GetDefaultProtocol() } - portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(ctx, inst, srv, defaultPort, defaultProtocol) + portAddress, portProtocol, err := portArgs.GetPortAddressAndProtocol(ctx, inst, srv, defaultPort, defaultProtocol, profile) if err != nil { feedback.FatalError(err, feedback.ErrGeneric) } @@ -163,50 +162,52 @@ func runMonitorCmd( return } - actualConfigurationLabels := properties.NewMap() - for _, setting := range defaultSettings.GetSettings() { - actualConfigurationLabels.Set(setting.GetSettingId(), setting.GetValue()) - } - - configuration := &rpc.MonitorPortConfiguration{} - if len(configs) > 0 { - for _, config := range configs { - split := strings.SplitN(config, "=", 2) - k := "" - v := config - if len(split) == 2 { - k = split[0] - v = split[1] - } - - var setting *rpc.MonitorPortSettingDescriptor - for _, s := range defaultSettings.GetSettings() { - if k == "" { - if contains(s.GetEnumValues(), v) { - setting = s - break - } - } else { - if strings.EqualFold(s.GetSettingId(), k) { - if !contains(s.GetEnumValues(), v) { - feedback.Fatal(i18n.Tr("invalid port configuration value for %s: %s", k, v), feedback.ErrBadArgument) - } - setting = s - break + // This utility finds the settings descriptor from key/value or only from key. + // It fails fatal if the key or value are invalid. + searchSettingDescriptor := func(k, v string) *rpc.MonitorPortSettingDescriptor { + for _, s := range defaultSettings.GetSettings() { + if k == "" { + if contains(s.GetEnumValues(), v) { + return s + } + } else { + if strings.EqualFold(s.GetSettingId(), k) { + if !contains(s.GetEnumValues(), v) { + feedback.Fatal(i18n.Tr("invalid port configuration value for %s: %s", k, v), feedback.ErrBadArgument) } + return s } } - if setting == nil { - feedback.Fatal(i18n.Tr("invalid port configuration: %s", config), feedback.ErrBadArgument) - } - configuration.Settings = append(configuration.GetSettings(), &rpc.MonitorPortSetting{ - SettingId: setting.GetSettingId(), - Value: v, - }) - actualConfigurationLabels.Set(setting.GetSettingId(), v) } + feedback.Fatal(i18n.Tr("invalid port configuration: %s=%s", k, v), feedback.ErrBadArgument) + return nil + } + + // Build configuration by layering + layeredPortConfig := properties.NewMap() + setConfig := func(k, v string) { + settingDesc := searchSettingDescriptor(k, v) + layeredPortConfig.Set(settingDesc.GetSettingId(), v) + } + + // Layer 1: apply configuration from sketch profile... + profileConfig := profile.GetPortConfig() + if profileConfig == nil { + // ...or from sketch default... + profileConfig = sketch.GetDefaultPortConfig() + } + for _, setting := range profileConfig.GetSettings() { + setConfig(setting.SettingId, setting.Value) } + // Layer 2: apply configuration from command line... + for _, config := range configs { + if split := strings.SplitN(config, "=", 2); len(split) == 2 { + setConfig(split[0], split[1]) + } else { + setConfig("", config) + } + } ttyIn, ttyOut, err := feedback.InteractiveStreams() if err != nil { feedback.FatalError(err, feedback.ErrGeneric) @@ -233,15 +234,24 @@ func runMonitorCmd( } ttyIn = io.TeeReader(ttyIn, ctrlCDetector) } + var portConfiguration []*rpc.MonitorPortSetting + for k, v := range layeredPortConfig.AsMap() { + portConfiguration = append(portConfiguration, &rpc.MonitorPortSetting{ + SettingId: k, + Value: v, + }) + } monitorServer, portProxy := commands.MonitorServerToReadWriteCloser(ctx, &rpc.MonitorPortOpenRequest{ - Instance: inst, - Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, - Fqbn: fqbn, - PortConfiguration: configuration, + Instance: inst, + Port: &rpc.Port{Address: portAddress, Protocol: portProtocol}, + Fqbn: fqbn, + PortConfiguration: &rpc.MonitorPortConfiguration{ + Settings: portConfiguration, + }, }) go func() { if !quiet { - if len(configs) == 0 { + if layeredPortConfig.Size() == 0 { if fqbn != "" { feedback.Print(i18n.Tr("Using default monitor configuration for board: %s", fqbn)) } else if portProtocol == "serial" { @@ -249,10 +259,16 @@ func runMonitorCmd( } } feedback.Print(i18n.Tr("Monitor port settings:")) - keys := actualConfigurationLabels.Keys() - slices.Sort(keys) - for _, k := range keys { - feedback.Printf(" %s=%s", k, actualConfigurationLabels.Get(k)) + slices.SortFunc(defaultSettings.GetSettings(), func(a, b *rpc.MonitorPortSettingDescriptor) int { + return cmp.Compare(a.GetSettingId(), b.GetSettingId()) + }) + for _, defaultSetting := range defaultSettings.GetSettings() { + k := defaultSetting.GetSettingId() + v, ok := layeredPortConfig.GetOk(k) + if !ok { + v = defaultSetting.GetValue() + } + feedback.Printf(" %s=%s", k, v) } feedback.Print("") diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index b33c5d1a4fc..61994d61826 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -117,7 +117,7 @@ func runUploadCommand(ctx context.Context, srv rpc.ArduinoCoreServiceServer, arg defaultFQBN := sketch.GetDefaultFqbn() defaultAddress := sketch.GetDefaultPort() defaultProtocol := sketch.GetDefaultProtocol() - fqbn, port := arguments.CalculateFQBNAndPort(ctx, &portArgs, &fqbnArg, inst, srv, defaultFQBN, defaultAddress, defaultProtocol) + fqbn, port := arguments.CalculateFQBNAndPort(ctx, &portArgs, &fqbnArg, inst, srv, defaultFQBN, defaultAddress, defaultProtocol, profile) userFieldRes, err := srv.SupportedUserFields(ctx, &rpc.SupportedUserFieldsRequest{ Instance: inst, diff --git a/internal/integrationtest/monitor/monitor_test.go b/internal/integrationtest/monitor/monitor_test.go index 256d8e0f8cb..f8a708e09d1 100644 --- a/internal/integrationtest/monitor/monitor_test.go +++ b/internal/integrationtest/monitor/monitor_test.go @@ -125,6 +125,8 @@ yun.serial.disableDTR=true sketchWithPort := getSketchPath("SketchWithDefaultPort") sketchWithFQBN := getSketchPath("SketchWithDefaultFQBN") sketchWithPortAndFQBN := getSketchPath("SketchWithDefaultPortAndFQBN") + sketchWithPortAndConfig := getSketchPath("SketchWithDefaultPortAndConfig") + sketchWithPortAndConfigAndProfile := getSketchPath("SketchWithDefaultPortAndConfigAndProfile") t.Run("NoFlags", func(t *testing.T) { t.Run("NoDefaultPortNoDefaultFQBN", func(t *testing.T) { @@ -161,6 +163,30 @@ yun.serial.disableDTR=true require.Error(t, err) require.Contains(t, string(stderr), "not an FQBN: broken_fqbn") }) + + t.Run("WithDefaultPortAndConfig", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "--raw", sketchWithPortAndConfig) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 57600") + require.Contains(t, string(stdout), "Configuration bits = 9") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) + + t.Run("WithDefaultPortAndConfigAndProfile", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "--raw", sketchWithPortAndConfigAndProfile) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 57600") + require.Contains(t, string(stdout), "Configuration bits = 9") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) }) t.Run("WithPortFlag", func(t *testing.T) { @@ -202,6 +228,30 @@ yun.serial.disableDTR=true require.Error(t, err) require.Contains(t, string(stderr), "not an FQBN: broken_fqbn") }) + + t.Run("WithDefaultPortAndConfig", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "--raw", sketchWithPortAndConfig) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 57600") + require.Contains(t, string(stdout), "Configuration bits = 9") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) + + t.Run("WithDefaultPortAndConfigAndProfile", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "--raw", sketchWithPortAndConfigAndProfile) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = on") + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 57600") + require.Contains(t, string(stdout), "Configuration bits = 9") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) }) t.Run("WithFQBNFlag", func(t *testing.T) { @@ -237,8 +287,27 @@ yun.serial.disableDTR=true stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", "--profile", "profile1", sketchWithPortAndFQBN) require.NoError(t, err) require.Contains(t, string(stdout), "Opened port: /dev/ttyDEF") - require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration rts = on") // This is taken from profile-downloaded platform that is not patched for test + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + + t.Run("WithDefaultPortAndConfig", func(t *testing.T) { + _, stderr, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", "--profile", "profile1", sketchWithPortAndConfig) + require.Error(t, err) + require.Contains(t, string(stderr), "Profile 'profile1' not found") + require.Contains(t, string(stderr), "Unknown FQBN: unknown package arduino") + }) + + t.Run("WithDefaultPortAndConfigAndProfile", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:uno", "--raw", "--profile", "uno", sketchWithPortAndConfigAndProfile) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyPROF") + require.Contains(t, string(stdout), "Configuration rts = on") // This is taken from profile-downloaded platform that is not patched for test require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 19200") + require.Contains(t, string(stdout), "Configuration bits = 8") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") }) }) @@ -275,12 +344,74 @@ yun.serial.disableDTR=true require.Contains(t, string(stdout), "Configuration dtr = on") }) + t.Run("WithDefaultPortAndConfig", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", sketchWithPortAndConfig) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 57600") + require.Contains(t, string(stdout), "Configuration bits = 9") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) + + t.Run("WithDefaultPortAndConfigAndProfile", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", sketchWithPortAndConfigAndProfile) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") + require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 57600") + require.Contains(t, string(stdout), "Configuration bits = 9") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) + t.Run("IgnoreProfile", func(t *testing.T) { stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-p", "/dev/ttyARGS", "-b", "arduino:avr:uno", "--raw", "--profile", "profile1", sketchWithPortAndFQBN) require.NoError(t, err) require.Contains(t, string(stdout), "Opened port: /dev/ttyARGS") - require.Contains(t, string(stdout), "Configuration rts = off") + require.Contains(t, string(stdout), "Configuration rts = on") // This is taken from profile-downloaded platform that is not patched for test + require.Contains(t, string(stdout), "Configuration dtr = on") + }) + }) + + t.Run("WithProfileFlags", func(t *testing.T) { + t.Run("NoOtherArgs", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-m", "uno", "--raw", sketchWithPortAndConfigAndProfile) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyPROF") + require.Contains(t, string(stdout), "Configuration rts = on") // This is taken from profile-installed AVR core (not patched by this test) + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 19200") + require.Contains(t, string(stdout), "Configuration bits = 8") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) + + t.Run("WithFQBN", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-b", "arduino:avr:yun", "-m", "uno", "--raw", sketchWithPortAndConfigAndProfile) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyPROF") + require.Contains(t, string(stdout), "Configuration rts = on") // This is taken from profile-installed AVR core (not patched by this test) + require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 19200") + require.Contains(t, string(stdout), "Configuration bits = 8") + require.Contains(t, string(stdout), "Configuration parity = none") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") + }) + + t.Run("WithConfigFlag", func(t *testing.T) { + stdout, _, err := cli.RunWithCustomInput(quitMonitor(), "monitor", "-c", "odd", "-m", "uno", "--raw", sketchWithPortAndConfigAndProfile) + require.NoError(t, err) + require.Contains(t, string(stdout), "Opened port: /dev/ttyPROF") + require.Contains(t, string(stdout), "Configuration rts = on") // This is taken from profile-installed AVR core (not patched by this test) require.Contains(t, string(stdout), "Configuration dtr = on") + require.Contains(t, string(stdout), "Configuration baudrate = 19200") + require.Contains(t, string(stdout), "Configuration bits = 8") + require.Contains(t, string(stdout), "Configuration parity = odd") + require.Contains(t, string(stdout), "Configuration stop_bits = 1") }) }) } diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/SketchWithDefaultPortAndConfig.ino b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/SketchWithDefaultPortAndConfig.ino new file mode 100644 index 00000000000..5054c040393 --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/SketchWithDefaultPortAndConfig.ino @@ -0,0 +1,3 @@ + +void setup() {} +void loop() {} diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/sketch.yaml b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/sketch.yaml new file mode 100644 index 00000000000..4bf8973a9ed --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfig/sketch.yaml @@ -0,0 +1,4 @@ +default_port: /dev/ttyDEF +default_port_config: + baudrate: 57600 + bits: 9 diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/SketchWithDefaultPortAndConfigAndProfile.ino b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/SketchWithDefaultPortAndConfigAndProfile.ino new file mode 100644 index 00000000000..5054c040393 --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/SketchWithDefaultPortAndConfigAndProfile.ino @@ -0,0 +1,3 @@ + +void setup() {} +void loop() {} diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/sketch.yaml b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/sketch.yaml new file mode 100644 index 00000000000..106efce780c --- /dev/null +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndConfigAndProfile/sketch.yaml @@ -0,0 +1,13 @@ +profiles: + uno: + fqbn: arduino:avr:uno + platforms: + - platform: arduino:avr (1.8.6) + port: /dev/ttyPROF + port_config: + baudrate: 19200 + +default_port: /dev/ttyDEF +default_port_config: + baudrate: 57600 + bits: 9 diff --git a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml index c8549c21b99..f8cc65153ce 100644 --- a/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml +++ b/internal/integrationtest/monitor/testdata/SketchWithDefaultPortAndFQBN/sketch.yaml @@ -1,5 +1,8 @@ -default_port: /dev/ttyDEF -default_fqbn: arduino:avr:yun profiles: profile1: fqbn: "broken_fqbn" + platforms: + - platform: arduino:avr (1.8.6) + +default_port: /dev/ttyDEF +default_fqbn: arduino:avr:yun diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index 47f4b1e3ba1..c18b5491a4e 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -1116,6 +1116,8 @@ type Sketch struct { DefaultProfile *SketchProfile `protobuf:"bytes,10,opt,name=default_profile,json=defaultProfile,proto3" json:"default_profile,omitempty"` // Default Programmer set in project file (sketch.yaml) DefaultProgrammer string `protobuf:"bytes,11,opt,name=default_programmer,json=defaultProgrammer,proto3" json:"default_programmer,omitempty"` + // Default Port configuration set in project file (sketch.yaml) + DefaultPortConfig *MonitorPortConfiguration `protobuf:"bytes,12,opt,name=default_port_config,json=defaultPortConfig,proto3" json:"default_port_config,omitempty"` } func (x *Sketch) Reset() { @@ -1227,6 +1229,116 @@ func (x *Sketch) GetDefaultProgrammer() string { return "" } +func (x *Sketch) GetDefaultPortConfig() *MonitorPortConfiguration { + if x != nil { + return x.DefaultPortConfig + } + return nil +} + +type MonitorPortConfiguration struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // The port configuration parameters + Settings []*MonitorPortSetting `protobuf:"bytes,1,rep,name=settings,proto3" json:"settings,omitempty"` +} + +func (x *MonitorPortConfiguration) Reset() { + *x = MonitorPortConfiguration{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MonitorPortConfiguration) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MonitorPortConfiguration) ProtoMessage() {} + +func (x *MonitorPortConfiguration) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MonitorPortConfiguration.ProtoReflect.Descriptor instead. +func (*MonitorPortConfiguration) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{16} +} + +func (x *MonitorPortConfiguration) GetSettings() []*MonitorPortSetting { + if x != nil { + return x.Settings + } + return nil +} + +type MonitorPortSetting struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SettingId string `protobuf:"bytes,1,opt,name=setting_id,json=settingId,proto3" json:"setting_id,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *MonitorPortSetting) Reset() { + *x = MonitorPortSetting{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MonitorPortSetting) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MonitorPortSetting) ProtoMessage() {} + +func (x *MonitorPortSetting) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MonitorPortSetting.ProtoReflect.Descriptor instead. +func (*MonitorPortSetting) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{17} +} + +func (x *MonitorPortSetting) GetSettingId() string { + if x != nil { + return x.SettingId + } + return "" +} + +func (x *MonitorPortSetting) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + type SketchProfile struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1238,12 +1350,18 @@ type SketchProfile struct { Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` // Programmer used by the profile Programmer string `protobuf:"bytes,3,opt,name=programmer,proto3" json:"programmer,omitempty"` + // Default Port in this profile + Port string `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` + // Default Port configuration set in project file (sketch.yaml) + PortConfig *MonitorPortConfiguration `protobuf:"bytes,5,opt,name=port_config,json=portConfig,proto3" json:"port_config,omitempty"` + // Default Protocol in this profile + Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` } func (x *SketchProfile) Reset() { *x = SketchProfile{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1256,7 +1374,7 @@ func (x *SketchProfile) String() string { func (*SketchProfile) ProtoMessage() {} func (x *SketchProfile) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16] + mi := &file_cc_arduino_cli_commands_v1_common_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1269,7 +1387,7 @@ func (x *SketchProfile) ProtoReflect() protoreflect.Message { // Deprecated: Use SketchProfile.ProtoReflect.Descriptor instead. func (*SketchProfile) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{16} + return file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP(), []int{18} } func (x *SketchProfile) GetName() string { @@ -1293,6 +1411,27 @@ func (x *SketchProfile) GetProgrammer() string { return "" } +func (x *SketchProfile) GetPort() string { + if x != nil { + return x.Port + } + return "" +} + +func (x *SketchProfile) GetPortConfig() *MonitorPortConfiguration { + if x != nil { + return x.PortConfig + } + return nil +} + +func (x *SketchProfile) GetProtocol() string { + if x != nil { + return x.Protocol + } + return "" +} + var File_cc_arduino_cli_commands_v1_common_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ @@ -1429,7 +1568,7 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x27, 0x0a, 0x0d, 0x48, 0x65, 0x6c, 0x70, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x22, 0x8a, 0x04, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x22, 0xf0, 0x04, 0x0a, 0x06, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x61, 0x69, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, @@ -1461,18 +1600,44 @@ var file_cc_arduino_cli_commands_v1_common_proto_rawDesc = []byte{ 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x2d, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x22, 0x57, - 0x0a, 0x0d, 0x53, 0x6b, 0x65, 0x74, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, - 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x75, 0x6c, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x64, + 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x22, 0x66, 0x0a, 0x18, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, + 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x49, 0x0a, 0x12, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, + 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xde, 0x01, 0x0a, 0x0d, 0x53, 0x6b, 0x65, 0x74, + 0x63, 0x68, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, + 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, + 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x55, 0x0a, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, + 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1a, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, + 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1487,7 +1652,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_common_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_cc_arduino_cli_commands_v1_common_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []any{ (*Instance)(nil), // 0: cc.arduino.cli.commands.v1.Instance (*DownloadProgress)(nil), // 1: cc.arduino.cli.commands.v1.DownloadProgress @@ -1505,8 +1670,10 @@ var file_cc_arduino_cli_commands_v1_common_proto_goTypes = []any{ (*Board)(nil), // 13: cc.arduino.cli.commands.v1.Board (*HelpResources)(nil), // 14: cc.arduino.cli.commands.v1.HelpResources (*Sketch)(nil), // 15: cc.arduino.cli.commands.v1.Sketch - (*SketchProfile)(nil), // 16: cc.arduino.cli.commands.v1.SketchProfile - nil, // 17: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + (*MonitorPortConfiguration)(nil), // 16: cc.arduino.cli.commands.v1.MonitorPortConfiguration + (*MonitorPortSetting)(nil), // 17: cc.arduino.cli.commands.v1.MonitorPortSetting + (*SketchProfile)(nil), // 18: cc.arduino.cli.commands.v1.SketchProfile + nil, // 19: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry } var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 2, // 0: cc.arduino.cli.commands.v1.DownloadProgress.start:type_name -> cc.arduino.cli.commands.v1.DownloadProgressStart @@ -1515,17 +1682,20 @@ var file_cc_arduino_cli_commands_v1_common_proto_depIdxs = []int32{ 10, // 3: cc.arduino.cli.commands.v1.Platform.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata 11, // 4: cc.arduino.cli.commands.v1.Platform.release:type_name -> cc.arduino.cli.commands.v1.PlatformRelease 10, // 5: cc.arduino.cli.commands.v1.PlatformSummary.metadata:type_name -> cc.arduino.cli.commands.v1.PlatformMetadata - 17, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry + 19, // 6: cc.arduino.cli.commands.v1.PlatformSummary.releases:type_name -> cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry 13, // 7: cc.arduino.cli.commands.v1.PlatformRelease.boards:type_name -> cc.arduino.cli.commands.v1.Board 14, // 8: cc.arduino.cli.commands.v1.PlatformRelease.help:type_name -> cc.arduino.cli.commands.v1.HelpResources - 16, // 9: cc.arduino.cli.commands.v1.Sketch.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile - 16, // 10: cc.arduino.cli.commands.v1.Sketch.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile - 11, // 11: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 18, // 9: cc.arduino.cli.commands.v1.Sketch.profiles:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 18, // 10: cc.arduino.cli.commands.v1.Sketch.default_profile:type_name -> cc.arduino.cli.commands.v1.SketchProfile + 16, // 11: cc.arduino.cli.commands.v1.Sketch.default_port_config:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration + 17, // 12: cc.arduino.cli.commands.v1.MonitorPortConfiguration.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting + 16, // 13: cc.arduino.cli.commands.v1.SketchProfile.port_config:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration + 11, // 14: cc.arduino.cli.commands.v1.PlatformSummary.ReleasesEntry.value:type_name -> cc.arduino.cli.commands.v1.PlatformRelease + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_common_proto_init() } @@ -1727,6 +1897,30 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { } } file_cc_arduino_cli_commands_v1_common_proto_msgTypes[16].Exporter = func(v any, i int) any { + switch v := v.(*MonitorPortConfiguration); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[17].Exporter = func(v any, i int) any { + switch v := v.(*MonitorPortSetting); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_common_proto_msgTypes[18].Exporter = func(v any, i int) any { switch v := v.(*SketchProfile); i { case 0: return &v.state @@ -1750,7 +1944,7 @@ func file_cc_arduino_cli_commands_v1_common_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_common_proto_rawDesc, NumEnums: 0, - NumMessages: 18, + NumMessages: 20, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 8c166ee13e4..99cd611bfde 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -204,6 +204,18 @@ message Sketch { SketchProfile default_profile = 10; // Default Programmer set in project file (sketch.yaml) string default_programmer = 11; + // Default Port configuration set in project file (sketch.yaml) + MonitorPortConfiguration default_port_config = 12; +} + +message MonitorPortConfiguration { + // The port configuration parameters + repeated MonitorPortSetting settings = 1; +} + +message MonitorPortSetting { + string setting_id = 1; + string value = 2; } message SketchProfile { @@ -213,4 +225,10 @@ message SketchProfile { string fqbn = 2; // Programmer used by the profile string programmer = 3; + // Default Port in this profile + string port = 4; + // Default Port configuration set in project file (sketch.yaml) + MonitorPortConfiguration port_config = 5; + // Default Protocol in this profile + string protocol = 6; } diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go index d931321480f..7a655956660 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go @@ -228,54 +228,6 @@ func (x *MonitorPortOpenRequest) GetPortConfiguration() *MonitorPortConfiguratio return nil } -type MonitorPortConfiguration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The port configuration parameters - Settings []*MonitorPortSetting `protobuf:"bytes,1,rep,name=settings,proto3" json:"settings,omitempty"` -} - -func (x *MonitorPortConfiguration) Reset() { - *x = MonitorPortConfiguration{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MonitorPortConfiguration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MonitorPortConfiguration) ProtoMessage() {} - -func (x *MonitorPortConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MonitorPortConfiguration.ProtoReflect.Descriptor instead. -func (*MonitorPortConfiguration) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{2} -} - -func (x *MonitorPortConfiguration) GetSettings() []*MonitorPortSetting { - if x != nil { - return x.Settings - } - return nil -} - type MonitorResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -293,7 +245,7 @@ type MonitorResponse struct { func (x *MonitorResponse) Reset() { *x = MonitorResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -306,7 +258,7 @@ func (x *MonitorResponse) String() string { func (*MonitorResponse) ProtoMessage() {} func (x *MonitorResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -319,7 +271,7 @@ func (x *MonitorResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MonitorResponse.ProtoReflect.Descriptor instead. func (*MonitorResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{3} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{2} } func (m *MonitorResponse) GetMessage() isMonitorResponse_Message { @@ -392,61 +344,6 @@ func (*MonitorResponse_AppliedSettings) isMonitorResponse_Message() {} func (*MonitorResponse_Success) isMonitorResponse_Message() {} -type MonitorPortSetting struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SettingId string `protobuf:"bytes,1,opt,name=setting_id,json=settingId,proto3" json:"setting_id,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` -} - -func (x *MonitorPortSetting) Reset() { - *x = MonitorPortSetting{} - if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MonitorPortSetting) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MonitorPortSetting) ProtoMessage() {} - -func (x *MonitorPortSetting) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MonitorPortSetting.ProtoReflect.Descriptor instead. -func (*MonitorPortSetting) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{4} -} - -func (x *MonitorPortSetting) GetSettingId() string { - if x != nil { - return x.SettingId - } - return "" -} - -func (x *MonitorPortSetting) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - type EnumerateMonitorPortSettingsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -465,7 +362,7 @@ type EnumerateMonitorPortSettingsRequest struct { func (x *EnumerateMonitorPortSettingsRequest) Reset() { *x = EnumerateMonitorPortSettingsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -478,7 +375,7 @@ func (x *EnumerateMonitorPortSettingsRequest) String() string { func (*EnumerateMonitorPortSettingsRequest) ProtoMessage() {} func (x *EnumerateMonitorPortSettingsRequest) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -491,7 +388,7 @@ func (x *EnumerateMonitorPortSettingsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use EnumerateMonitorPortSettingsRequest.ProtoReflect.Descriptor instead. func (*EnumerateMonitorPortSettingsRequest) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{5} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{3} } func (x *EnumerateMonitorPortSettingsRequest) GetInstance() *Instance { @@ -528,7 +425,7 @@ type EnumerateMonitorPortSettingsResponse struct { func (x *EnumerateMonitorPortSettingsResponse) Reset() { *x = EnumerateMonitorPortSettingsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -541,7 +438,7 @@ func (x *EnumerateMonitorPortSettingsResponse) String() string { func (*EnumerateMonitorPortSettingsResponse) ProtoMessage() {} func (x *EnumerateMonitorPortSettingsResponse) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -554,7 +451,7 @@ func (x *EnumerateMonitorPortSettingsResponse) ProtoReflect() protoreflect.Messa // Deprecated: Use EnumerateMonitorPortSettingsResponse.ProtoReflect.Descriptor instead. func (*EnumerateMonitorPortSettingsResponse) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{6} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{4} } func (x *EnumerateMonitorPortSettingsResponse) GetSettings() []*MonitorPortSettingDescriptor { @@ -584,7 +481,7 @@ type MonitorPortSettingDescriptor struct { func (x *MonitorPortSettingDescriptor) Reset() { *x = MonitorPortSettingDescriptor{} if protoimpl.UnsafeEnabled { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -597,7 +494,7 @@ func (x *MonitorPortSettingDescriptor) String() string { func (*MonitorPortSettingDescriptor) ProtoMessage() {} func (x *MonitorPortSettingDescriptor) ProtoReflect() protoreflect.Message { - mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7] + mi := &file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -610,7 +507,7 @@ func (x *MonitorPortSettingDescriptor) ProtoReflect() protoreflect.Message { // Deprecated: Use MonitorPortSettingDescriptor.ProtoReflect.Descriptor instead. func (*MonitorPortSettingDescriptor) Descriptor() ([]byte, []int) { - return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{7} + return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP(), []int{5} } func (x *MonitorPortSettingDescriptor) GetSettingId() string { @@ -694,65 +591,53 @@ var file_cc_arduino_cli_commands_v1_monitor_proto_rawDesc = []byte{ 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x66, 0x0a, 0x18, 0x4d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x22, 0xce, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, - 0x07, 0x72, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, - 0x52, 0x06, 0x72, 0x78, 0x44, 0x61, 0x74, 0x61, 0x12, 0x61, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x07, 0x73, - 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0x49, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, - 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa0, 0x01, - 0x0a, 0x23, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, - 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, - 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, - 0x22, 0x7c, 0x0a, 0x24, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x63, 0x2e, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xce, 0x01, 0x0a, 0x0f, 0x4d, 0x6f, + 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, + 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x07, 0x72, 0x78, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x06, 0x72, 0x78, 0x44, 0x61, 0x74, 0x61, + 0x12, 0x61, 0x0a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, - 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x9e, - 0x01, 0x0a, 0x1c, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, - 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, - 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, - 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, - 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x0f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, + 0x09, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xa0, 0x01, 0x0a, 0x23, 0x45, + 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, + 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x6f, 0x72, + 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x7c, 0x0a, + 0x24, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, + 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, + 0x72, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x9e, 0x01, 0x0a, 0x1c, + 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x48, 0x5a, 0x46, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, + 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, + 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -767,34 +652,32 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_monitor_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes = make([]protoimpl.MessageInfo, 8) +var file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes = make([]protoimpl.MessageInfo, 6) var file_cc_arduino_cli_commands_v1_monitor_proto_goTypes = []any{ (*MonitorRequest)(nil), // 0: cc.arduino.cli.commands.v1.MonitorRequest (*MonitorPortOpenRequest)(nil), // 1: cc.arduino.cli.commands.v1.MonitorPortOpenRequest - (*MonitorPortConfiguration)(nil), // 2: cc.arduino.cli.commands.v1.MonitorPortConfiguration - (*MonitorResponse)(nil), // 3: cc.arduino.cli.commands.v1.MonitorResponse - (*MonitorPortSetting)(nil), // 4: cc.arduino.cli.commands.v1.MonitorPortSetting - (*EnumerateMonitorPortSettingsRequest)(nil), // 5: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*EnumerateMonitorPortSettingsResponse)(nil), // 6: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*MonitorPortSettingDescriptor)(nil), // 7: cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor - (*Instance)(nil), // 8: cc.arduino.cli.commands.v1.Instance - (*Port)(nil), // 9: cc.arduino.cli.commands.v1.Port + (*MonitorResponse)(nil), // 2: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsRequest)(nil), // 3: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*EnumerateMonitorPortSettingsResponse)(nil), // 4: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*MonitorPortSettingDescriptor)(nil), // 5: cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor + (*MonitorPortConfiguration)(nil), // 6: cc.arduino.cli.commands.v1.MonitorPortConfiguration + (*Instance)(nil), // 7: cc.arduino.cli.commands.v1.Instance + (*Port)(nil), // 8: cc.arduino.cli.commands.v1.Port } var file_cc_arduino_cli_commands_v1_monitor_proto_depIdxs = []int32{ 1, // 0: cc.arduino.cli.commands.v1.MonitorRequest.open_request:type_name -> cc.arduino.cli.commands.v1.MonitorPortOpenRequest - 2, // 1: cc.arduino.cli.commands.v1.MonitorRequest.updated_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration - 8, // 2: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 9, // 3: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port:type_name -> cc.arduino.cli.commands.v1.Port - 2, // 4: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration - 4, // 5: cc.arduino.cli.commands.v1.MonitorPortConfiguration.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSetting - 2, // 6: cc.arduino.cli.commands.v1.MonitorResponse.applied_settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration - 8, // 7: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance - 7, // 8: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 6, // 1: cc.arduino.cli.commands.v1.MonitorRequest.updated_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration + 7, // 2: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 8, // 3: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port:type_name -> cc.arduino.cli.commands.v1.Port + 6, // 4: cc.arduino.cli.commands.v1.MonitorPortOpenRequest.port_configuration:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration + 6, // 5: cc.arduino.cli.commands.v1.MonitorResponse.applied_settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortConfiguration + 7, // 6: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 5, // 7: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse.settings:type_name -> cc.arduino.cli.commands.v1.MonitorPortSettingDescriptor + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_monitor_proto_init() } @@ -830,18 +713,6 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { } } file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2].Exporter = func(v any, i int) any { - switch v := v.(*MonitorPortConfiguration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*MonitorResponse); i { case 0: return &v.state @@ -853,19 +724,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4].Exporter = func(v any, i int) any { - switch v := v.(*MonitorPortSetting); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5].Exporter = func(v any, i int) any { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].Exporter = func(v any, i int) any { switch v := v.(*EnumerateMonitorPortSettingsRequest); i { case 0: return &v.state @@ -877,7 +736,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[6].Exporter = func(v any, i int) any { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[4].Exporter = func(v any, i int) any { switch v := v.(*EnumerateMonitorPortSettingsResponse); i { case 0: return &v.state @@ -889,7 +748,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { return nil } } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[7].Exporter = func(v any, i int) any { + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[5].Exporter = func(v any, i int) any { switch v := v.(*MonitorPortSettingDescriptor); i { case 0: return &v.state @@ -908,7 +767,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { (*MonitorRequest_UpdatedConfiguration)(nil), (*MonitorRequest_Close)(nil), } - file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[3].OneofWrappers = []any{ + file_cc_arduino_cli_commands_v1_monitor_proto_msgTypes[2].OneofWrappers = []any{ (*MonitorResponse_Error)(nil), (*MonitorResponse_RxData)(nil), (*MonitorResponse_AppliedSettings)(nil), @@ -920,7 +779,7 @@ func file_cc_arduino_cli_commands_v1_monitor_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_monitor_proto_rawDesc, NumEnums: 0, - NumMessages: 8, + NumMessages: 6, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.proto b/rpc/cc/arduino/cli/commands/v1/monitor.proto index a7bffc1431f..a15cc490849 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.proto +++ b/rpc/cc/arduino/cli/commands/v1/monitor.proto @@ -51,11 +51,6 @@ message MonitorPortOpenRequest { MonitorPortConfiguration port_configuration = 4; } -message MonitorPortConfiguration { - // The port configuration parameters - repeated MonitorPortSetting settings = 1; -} - message MonitorResponse { oneof message { // Eventual errors dealing with monitor port @@ -72,11 +67,6 @@ message MonitorResponse { } } -message MonitorPortSetting { - string setting_id = 1; - string value = 2; -} - message EnumerateMonitorPortSettingsRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; From 1b889a660021fda4e8626aae3d964565a8e7bd80 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 7 Oct 2024 16:01:45 +0200 Subject: [PATCH 251/361] [skip-changelog] Updated pluggable-discovery-protocol-handler library to v2.2.1 (#2707) --- .../arduino/pluggable-discovery-protocol-handler/v2.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml b/.licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml index 2fdbca2179a..0825582ba52 100644 --- a/.licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml +++ b/.licenses/go/github.com/arduino/pluggable-discovery-protocol-handler/v2.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/arduino/pluggable-discovery-protocol-handler/v2 -version: v2.2.0 +version: v2.2.1 type: go summary: Package discovery is a library for handling the Arduino Pluggable-Discovery protocol (https://github.com/arduino/tooling-rfcs/blob/main/RFCs/0002-pluggable-discovery.md#pluggable-discovery-api-via-stdinstdout) diff --git a/go.mod b/go.mod index f610a765d79..e25054bae21 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/arduino/go-serial-utils v0.1.2 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b github.com/arduino/go-win32-utils v1.0.0 - github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0 + github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.1 github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 github.com/cmaglie/pb v1.0.27 github.com/codeclysm/extract/v4 v4.0.0 diff --git a/go.sum b/go.sum index 8b5e823aa98..7ece1515b2a 100644 --- a/go.sum +++ b/go.sum @@ -21,8 +21,8 @@ github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b h1:9hDi4F2st6 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b/go.mod h1:uwGy5PpN4lqW97FiLnbcx+xx8jly5YuPMJWfVwwjJiQ= github.com/arduino/go-win32-utils v1.0.0 h1:/cXB86sOJxOsCHP7sQmXGLkdValwJt56mIwOHYxgQjQ= github.com/arduino/go-win32-utils v1.0.0/go.mod h1:0jqM7doGEAs6DaJCxxhLBUDS5OawrqF48HqXkcEie/Q= -github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0 h1:v7og6LpskewFabmaShKVzWXl5MXbmsxaRP3yo4dJta8= -github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.0/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.1 h1:Fw8zKj1b/FkcQrWgN7aBw3ubSxpKIUtdANLXvd1Qdzw= +github.com/arduino/pluggable-discovery-protocol-handler/v2 v2.2.1/go.mod h1:1dgblsmK2iBx3L5iNTyRIokeaxbTLUrYiUbHBK6yC3Y= github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4AdBxcC9dJLXasRimVqaComf9L3M= github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= From 4564498b32cece08bfe4f4377a4d80251c4eb891 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:27:27 +0200 Subject: [PATCH 252/361] [skip changelog] Bump google.golang.org/grpc from 1.66.0 to 1.67.1 (#2714) * [skip changelog] Bump google.golang.org/grpc from 1.66.0 to 1.67.1 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.66.0 to 1.67.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.66.0...v1.67.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * update license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licensed.yml | 9 --------- .licenses/go/golang.org/x/crypto/argon2.dep.yml | 12 ++++++------ .licenses/go/golang.org/x/crypto/blake2b.dep.yml | 12 ++++++------ .../go/golang.org/x/crypto/blowfish.dep.yml | 10 +++++----- .licenses/go/golang.org/x/crypto/cast5.dep.yml | 10 +++++----- .../go/golang.org/x/crypto/curve25519.dep.yml | 10 +++++----- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 12 ++++++------ .licenses/go/golang.org/x/crypto/ssh.dep.yml | 10 +++++----- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 10 +++++----- .../x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 10 +++++----- .../golang.org/x/crypto/ssh/knownhosts.dep.yml | 10 +++++----- .licenses/go/golang.org/x/net/context.dep.yml | 10 +++++----- .licenses/go/golang.org/x/net/http2.dep.yml | 10 +++++----- .../go/golang.org/x/net/internal/socks.dep.yml | 10 +++++----- .../golang.org/x/net/internal/timeseries.dep.yml | 10 +++++----- .licenses/go/golang.org/x/net/proxy.dep.yml | 10 +++++----- .licenses/go/golang.org/x/net/trace.dep.yml | 10 +++++----- .../genproto/googleapis/rpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .../go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .../google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../grpc/balancer/pickfirst.dep.yml | 4 ++-- .../grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .../go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .../google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .../google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../grpc/credentials/insecure.dep.yml | 4 ++-- .../go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .../grpc/encoding/proto.dep.yml | 4 ++-- .../grpc/experimental/stats.dep.yml | 4 ++-- .../go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .../grpc/grpclog/internal.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .../grpc/internal/backoff.dep.yml | 4 ++-- .../internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../grpc/internal/balancerload.dep.yml | 4 ++-- .../grpc/internal/binarylog.dep.yml | 4 ++-- .../grpc/internal/buffer.dep.yml | 4 ++-- .../grpc/internal/channelz.dep.yml | 4 ++-- .../grpc/internal/credentials.dep.yml | 4 ++-- .../grpc/internal/envconfig.dep.yml | 4 ++-- .../grpc/internal/grpclog.dep.yml | 4 ++-- .../grpc/internal/grpcsync.dep.yml | 4 ++-- .../grpc/internal/grpcutil.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .../grpc/internal/metadata.dep.yml | 4 ++-- .../grpc/internal/pretty.dep.yml | 4 ++-- .../grpc/internal/resolver.dep.yml | 4 ++-- .../grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../grpc/internal/resolver/unix.dep.yml | 4 ++-- .../grpc/internal/serviceconfig.dep.yml | 4 ++-- .../grpc/internal/stats.dep.yml | 4 ++-- .../grpc/internal/status.dep.yml | 4 ++-- .../grpc/internal/syscall.dep.yml | 4 ++-- .../grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .../go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/mem.dep.yml | 4 ++-- .../go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .../go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .../google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .../google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .../go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .../go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 8 ++++---- go.sum | 16 ++++++++-------- 75 files changed, 206 insertions(+), 215 deletions(-) diff --git a/.licensed.yml b/.licensed.yml index 4c9ac92fb3c..47e06d5e8f8 100644 --- a/.licensed.yml +++ b/.licensed.yml @@ -53,15 +53,6 @@ reviewed: - github.com/go-git/gcfg/types - github.com/russross/blackfriday/v2 - github.com/sagikazarmark/slog-shim - - golang.org/x/crypto/argon2 - - golang.org/x/crypto/blake2b - - golang.org/x/crypto/openpgp - - golang.org/x/crypto/openpgp/armor - - golang.org/x/crypto/openpgp/elgamal - - golang.org/x/crypto/openpgp/errors - - golang.org/x/crypto/openpgp/packet - - golang.org/x/crypto/openpgp/s2k - - golang.org/x/crypto/sha3 - golang.org/x/sys/execabs - golang.org/x/text/encoding - golang.org/x/text/encoding/internal diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index a559a1cae9f..cbe146c1175 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/crypto/argon2 -version: v0.24.0 +version: v0.26.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 -license: other +license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index 3bacfc50370..aaa790540b5 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/crypto/blake2b -version: v0.24.0 +version: v0.26.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b -license: other +license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index fc5cbfc2dcb..46a96d924ba 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/crypto/blowfish -version: v0.24.0 +version: v0.26.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index a4ae5e90912..6ba85bd34fd 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/crypto/cast5 -version: v0.24.0 +version: v0.26.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 413eb5717cb..ad91e024222 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.24.0 +version: v0.26.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index 07b58080788..d05ad199bfc 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/crypto/sha3 -version: v0.24.0 +version: v0.26.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 -license: other +license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 2357a5b97bf..00c8118f170 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/crypto/ssh -version: v0.24.0 +version: v0.26.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index 38e74536d1b..a3b863d8be8 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.24.0 +version: v0.26.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index 61b65eb5232..c5e486f0a34 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.24.0 +version: v0.26.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 260bf342fd8..1db61805b47 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.24.0 +version: v0.26.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,9 +8,9 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.24.0/LICENSE +- sources: crypto@v0.26.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -22,7 +22,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.24.0/PATENTS +- sources: crypto@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index dc4e778c979..efe9d919571 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/net/context -version: v0.26.0 +version: v0.28.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.26.0/LICENSE +- sources: net@v0.28.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.26.0/PATENTS +- sources: net@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index ffbf1a393b2..9e1bc3de98c 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/net/http2 -version: v0.26.0 +version: v0.28.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.26.0/LICENSE +- sources: net@v0.28.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.26.0/PATENTS +- sources: net@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index 0ab66dad78e..5940e3ad2ca 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/net/internal/socks -version: v0.26.0 +version: v0.28.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.26.0/LICENSE +- sources: net@v0.28.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.26.0/PATENTS +- sources: net@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 210186f6abf..4fab24cbb36 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.26.0 +version: v0.28.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.26.0/LICENSE +- sources: net@v0.28.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.26.0/PATENTS +- sources: net@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index 3c006f4c65a..4b6081c41bf 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,15 +1,15 @@ --- name: golang.org/x/net/proxy -version: v0.26.0 +version: v0.28.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.26.0/LICENSE +- sources: net@v0.28.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -21,7 +21,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.26.0/PATENTS +- sources: net@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index d0527bb9b7a..0bf3c32f314 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,14 +1,14 @@ --- name: golang.org/x/net/trace -version: v0.26.0 +version: v0.28.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.26.0/LICENSE +- sources: net@v0.28.0/LICENSE text: | - Copyright (c) 2009 The Go Authors. All rights reserved. + Copyright 2009 The Go Authors. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are @@ -20,7 +20,7 @@ licenses: copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of Google Inc. nor the names of its + * Neither the name of Google LLC nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.26.0/PATENTS +- sources: net@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 8bd5dc1eaac..1224fef9bb5 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20240604185151-ef581f913117 +version: v0.0.0-20240814211410-ddb44dafa142 type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20240604185151-ef581f913117/LICENSE +- sources: rpc@v0.0.0-20240814211410-ddb44dafa142/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 6daa4fdc886..29e8fb7d8f3 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.66.0 +version: v1.67.1 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 011db714935..89f55b407ff 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.66.0 +version: v1.67.1 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 9dd4d52672b..85acb2a27ff 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.66.0 +version: v1.67.1 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 56d7073ccec..874c68b6227 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.66.0 +version: v1.67.1 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 71c35ca3543..1b17123cdf3 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.66.0 +version: v1.67.1 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 53bf6380681..11ddede13c8 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.66.0 +version: v1.67.1 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 994e77947c8..19f57f42abe 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.66.0 +version: v1.67.1 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 222d6d839ff..128548be697 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.66.0 +version: v1.67.1 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index f29b6d92189..91ddb057c51 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.66.0 +version: v1.67.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 3bb73800cd0..364325ae560 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.66.0 +version: v1.67.1 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 4d388fd3c18..83da697094d 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.66.0 +version: v1.67.1 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index fec088962f1..5f07c3809ff 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.66.0 +version: v1.67.1 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 2a3d3f94a2e..91f834bdfdf 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.66.0 +version: v1.67.1 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 113232949b0..d3ae1107d13 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.66.0 +version: v1.67.1 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 68fdf8945a3..6729ea209b9 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.66.0 +version: v1.67.1 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index ecf913e241b..be8dea35db5 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.66.0 +version: v1.67.1 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index 19bec87d8c8..563a8b1238f 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.66.0 +version: v1.67.1 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 4e23af28ddb..e63ad5aedf1 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.66.0 +version: v1.67.1 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index 60c6e454457..95b32e2492f 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.66.0 +version: v1.67.1 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index fd90e6f932b..63753f22682 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.66.0 +version: v1.67.1 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index ae96066d324..131d234ba79 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.66.0 +version: v1.67.1 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 311d8c423d4..c37e897d370 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.66.0 +version: v1.67.1 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 28f93e0e448..0411a07381c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.66.0 +version: v1.67.1 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index eee1d2aa9f1..5303005025d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.66.0 +version: v1.67.1 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 6a9bba85aaa..a3799a06cfa 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.66.0 +version: v1.67.1 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index 3b551848e3a..ea5ef6aca4c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.66.0 +version: v1.67.1 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index a8c6085dbec..7720aca85ea 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.66.0 +version: v1.67.1 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 04fdb5ed2c8..2964e2b06cd 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.66.0 +version: v1.67.1 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 561d2d2621c..4435f1424f3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.66.0 +version: v1.67.1 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index b04db2d950f..c52158c702f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.66.0 +version: v1.67.1 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 49f07de4ca8..88292a27082 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.66.0 +version: v1.67.1 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index c3648703017..e13936d68ee 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.66.0 +version: v1.67.1 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 9214414ca9b..43a279abcb2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.66.0 +version: v1.67.1 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 9e813b6413d..64e5df74f83 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.66.0 +version: v1.67.1 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 45ae4f29c4a..37523410e79 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.66.0 +version: v1.67.1 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index b99dc2bce05..ba02004e49f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.66.0 +version: v1.67.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 1571c4a4a6b..75e21b25b34 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.66.0 +version: v1.67.1 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index e647f308a40..9b88b454f1f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.66.0 +version: v1.67.1 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 54461103360..610fe2f7979 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.66.0 +version: v1.67.1 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 1f510cd628f..a79a921b0f5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.66.0 +version: v1.67.1 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index 91f957257ae..e91028bf74e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.66.0 +version: v1.67.1 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index f4eab9a8ca1..401de4ea66d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.66.0 +version: v1.67.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index d7dca61776c..fd2a839e603 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.66.0 +version: v1.67.1 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 7850770b0d7..4dc3a8ba8a3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.66.0 +version: v1.67.1 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 0d691a0dc74..86b084f0539 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.66.0 +version: v1.67.1 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 332ca9e55fb..9158b97093c 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.66.0 +version: v1.67.1 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index 0a1b73c1f9a..d8f776c3a3c 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.66.0 +version: v1.67.1 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 5f625acd6b2..73484ce7a0f 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.66.0 +version: v1.67.1 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index b8e8925f727..8ceaf6a32a1 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.66.0 +version: v1.67.1 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 26a319110b3..6c6192054aa 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.66.0 +version: v1.67.1 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index b0040032db6..8b39315e9ad 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.66.0 +version: v1.67.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index c2357622d61..8fae8896d7b 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.66.0 +version: v1.67.1 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index dcde193e259..2474b83265c 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.66.0 +version: v1.67.1 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 4729c9ff7f4..b1979be8b93 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.66.0 +version: v1.67.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index b76d66ab1e3..262be90628f 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.66.0 +version: v1.67.1 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.66.0/LICENSE +- sources: grpc@v1.67.1/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index e25054bae21..f267c5b8037 100644 --- a/go.mod +++ b/go.mod @@ -42,8 +42,8 @@ require ( go.bug.st/testifyjson v1.2.0 golang.org/x/term v0.24.0 golang.org/x/text v0.18.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 - google.golang.org/grpc v1.66.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 + google.golang.org/grpc v1.67.1 google.golang.org/protobuf v1.34.2 gopkg.in/yaml.v3 v3.0.1 ) @@ -96,10 +96,10 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.24.0 // indirect + golang.org/x/crypto v0.26.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.17.0 // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.25.0 // indirect golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect diff --git a/go.sum b/go.sum index 7ece1515b2a..f6aaf3dbfaa 100644 --- a/go.sum +++ b/go.sum @@ -229,8 +229,8 @@ golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnf golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= -golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= +golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= @@ -238,8 +238,8 @@ golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= -golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -272,10 +272,10 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117 h1:1GBuWVLM/KMVUv1t1En5Gs+gFZCNd360GGb4sSxtrhU= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240604185151-ef581f913117/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0= -google.golang.org/grpc v1.66.0 h1:DibZuoBznOxbDQxRINckZcUvnCEvrW9pcWIE2yF9r1c= -google.golang.org/grpc v1.66.0/go.mod h1:s3/l6xSSCURdVfAnL+TqCNMyTDAGN6+lZeVxnZR128Y= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From d4a65df502e92fa59366ffad3e1946c8a8c7555c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:57:46 +0200 Subject: [PATCH 253/361] [skip changelog] Bump github.com/rogpeppe/go-internal (#2709) Bumps [github.com/rogpeppe/go-internal](https://github.com/rogpeppe/go-internal) from 1.12.0 to 1.13.1. - [Release notes](https://github.com/rogpeppe/go-internal/releases) - [Commits](https://github.com/rogpeppe/go-internal/compare/v1.12.0...v1.13.1) --- updated-dependencies: - dependency-name: github.com/rogpeppe/go-internal dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index f267c5b8037..1312fb839e3 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/mattn/go-colorable v0.1.13 github.com/mattn/go-isatty v0.0.20 github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 - github.com/rogpeppe/go-internal v1.12.0 + github.com/rogpeppe/go-internal v1.13.1 github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.1 @@ -98,11 +98,11 @@ require ( go.uber.org/multierr v1.9.0 // indirect golang.org/x/crypto v0.26.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/mod v0.17.0 // indirect + golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect golang.org/x/sys v0.25.0 // indirect - golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect + golang.org/x/tools v0.22.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index f6aaf3dbfaa..98568c9cc54 100644 --- a/go.sum +++ b/go.sum @@ -155,8 +155,8 @@ github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5H github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= -github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= @@ -233,8 +233,8 @@ golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= -golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= -golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= +golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -269,8 +269,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= -golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= From d641df0426da140d5ed0a97f68586a5428be5b26 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 7 Oct 2024 17:16:07 +0200 Subject: [PATCH 254/361] [skip-changelog] Disable auto-rebase on dependabot PR (#2722) --- .github/dependabot.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index adce0d2b6cb..64b7b2e4d65 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -13,6 +13,7 @@ updates: - "topic: infrastructure" commit-message: prefix: "[skip changelog] " + rebase-strategy: disabled - package-ecosystem: gomod directory: / schedule: @@ -22,3 +23,4 @@ updates: - "topic: infrastructure" commit-message: prefix: "[skip changelog] " + rebase-strategy: disabled From b73011f3a70b1b7ca381c37320a291526e17c3a7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 17:17:00 +0200 Subject: [PATCH 255/361] [skip changelog] Bump golang.org/x/term from 0.24.0 to 0.25.0 (#2721) * [skip changelog] Bump golang.org/x/term from 0.24.0 to 0.25.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.24.0 to 0.25.0. - [Commits](https://github.com/golang/term/compare/v0.24.0...v0.25.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * update license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 750ba71b5c8..16790d00045 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.25.0 +version: v0.26.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.25.0/LICENSE +- sources: sys@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.25.0/PATENTS +- sources: sys@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 330474aac4f..09ccbbba45a 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.25.0 +version: v0.26.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.25.0/LICENSE +- sources: sys@v0.26.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.25.0/PATENTS +- sources: sys@v0.26.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index cf90be31fb7..9c2566c7386 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.24.0 +version: v0.25.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 1312fb839e3..06eebb1afae 100644 --- a/go.mod +++ b/go.mod @@ -40,7 +40,7 @@ require ( go.bug.st/downloader/v2 v2.2.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 - golang.org/x/term v0.24.0 + golang.org/x/term v0.25.0 golang.org/x/text v0.18.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 google.golang.org/grpc v1.67.1 @@ -101,7 +101,7 @@ require ( golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.25.0 // indirect + golang.org/x/sys v0.26.0 // indirect golang.org/x/tools v0.22.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 98568c9cc54..bbe11cfb16a 100644 --- a/go.sum +++ b/go.sum @@ -259,11 +259,11 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= -golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= -golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= +golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= From b0d284fd2906002d6d10340c26b04cfe72d8a30a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 17:35:43 +0200 Subject: [PATCH 256/361] [skip changelog] Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 (#2723) * [skip changelog] Bump google.golang.org/protobuf from 1.34.2 to 1.35.1 Bumps google.golang.org/protobuf from 1.34.2 to 1.35.1. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/editiondefaults.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 34 files changed, 99 insertions(+), 99 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index a4a3cd8ad28..1316ce0b1ec 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.34.2 +version: v1.35.1 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index 3f009bc9369..260a6ea7993 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.34.2 +version: v1.35.1 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index efd306fa7b2..1e39620a466 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.34.2 +version: v1.35.1 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index d062bbc733c..0844e1b493e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.34.2 +version: v1.35.1 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index 0cfeb15b7e4..ac246e942b6 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.34.2 +version: v1.35.1 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index eb5cf0f4290..9ac1bb6ba7a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.34.2 +version: v1.35.1 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index d7fe6050da3..7782a7d7e8f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.34.2 +version: v1.35.1 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index f8c57aec373..d678b37f3ed 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.34.2 +version: v1.35.1 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index aebd0e4d9ce..752121a7728 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.34.2 +version: v1.35.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index de1ead0f8fd..40b18a1e1b8 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.34.2 +version: v1.35.1 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index cec632cde3b..510ab82e066 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.34.2 +version: v1.35.1 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index a5a5fe70b1f..adae9e46038 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.34.2 +version: v1.35.1 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index f8fac1a13bd..480989941c8 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.34.2 +version: v1.35.1 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index 7bd85fc8595..e000823b672 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.34.2 +version: v1.35.1 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 121eef3366b..a482d950bc1 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.34.2 +version: v1.35.1 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 07486178579..7f71b18ba29 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.34.2 +version: v1.35.1 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 41bc814600e..a3df6fc75a8 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.34.2 +version: v1.35.1 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index b00e8269dc0..c3cde0fd884 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.34.2 +version: v1.35.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index f3a1285899c..e98589eb694 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.34.2 +version: v1.35.1 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index 258bb73bfd3..d2ec77194ba 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.34.2 +version: v1.35.1 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index 795d843b965..d30969ffb6e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.34.2 +version: v1.35.1 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index aa357fc085e..8ce44738bf0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.34.2 +version: v1.35.1 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 664f1909ea7..3a96c85819c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.34.2 +version: v1.35.1 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index 4b37df11015..6a4ec0c15be 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.34.2 +version: v1.35.1 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index ed800d976de..a6b72b1de39 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.34.2 +version: v1.35.1 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 104d1f33e57..e4df8de87c7 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.34.2 +version: v1.35.1 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 861ea2a3970..c2de9422f70 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.34.2 +version: v1.35.1 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 0d2f7a830ba..56d1e3566af 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.34.2 +version: v1.35.1 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 9574d512bf8..a8be9b1a4ef 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.34.2 +version: v1.35.1 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index b9c5ae4bef1..660ec4e6e83 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.34.2 +version: v1.35.1 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 03140396081..12a8295ea37 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.34.2 +version: v1.35.1 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index c896d5ec9d9..4fe0c2916d8 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.34.2 +version: v1.35.1 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.34.2/LICENSE +- sources: protobuf@v1.35.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.34.2/PATENTS +- sources: protobuf@v1.35.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 06eebb1afae..9f04451cee6 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/text v0.18.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 google.golang.org/grpc v1.67.1 - google.golang.org/protobuf v1.34.2 + google.golang.org/protobuf v1.35.1 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index bbe11cfb16a..28c920cbcd1 100644 --- a/go.sum +++ b/go.sum @@ -276,8 +276,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 7d2326d4be35419661e8f72f44d3c39e3ca4c05a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 17:50:20 +0200 Subject: [PATCH 257/361] [skip changelog] Bump golang.org/x/text from 0.18.0 to 0.19.0 (#2720) * [skip changelog] Bump golang.org/x/text from 0.18.0 to 0.19.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.18.0 to 0.19.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.18.0...v0.19.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../golang.org/x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index e1d0733a1ad..b43d4fe87a7 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.18.0 +version: v0.19.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.18.0/LICENSE +- sources: text@v0.19.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.18.0/PATENTS +- sources: text@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 24808955a7e..a1e8049cd4a 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.18.0 +version: v0.19.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.18.0/LICENSE +- sources: text@v0.19.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.18.0/PATENTS +- sources: text@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 0f412dd3671..41812fd6992 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.18.0 +version: v0.19.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.18.0/LICENSE +- sources: text@v0.19.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.18.0/PATENTS +- sources: text@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index 1b7da928860..43fc02b4f1b 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.18.0 +version: v0.19.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.18.0/LICENSE +- sources: text@v0.19.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.18.0/PATENTS +- sources: text@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index f3ba0b69214..6eae8309d07 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.18.0 +version: v0.19.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.18.0/LICENSE +- sources: text@v0.19.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.18.0/PATENTS +- sources: text@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 8ff86a8c186..346dba07a5a 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.18.0 +version: v0.19.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.18.0/LICENSE +- sources: text@v0.19.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.18.0/PATENTS +- sources: text@v0.19.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 9f04451cee6..627b5671d02 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 golang.org/x/term v0.25.0 - golang.org/x/text v0.18.0 + golang.org/x/text v0.19.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 google.golang.org/grpc v1.67.1 google.golang.org/protobuf v1.35.1 diff --git a/go.sum b/go.sum index 28c920cbcd1..5bddef87329 100644 --- a/go.sum +++ b/go.sum @@ -266,8 +266,8 @@ golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= -golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= From 4ffe7d4150062aa138ef53d26bc0f7155bf7de66 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Oct 2024 18:05:11 +0200 Subject: [PATCH 258/361] [skip changelog] Bump github.com/ProtonMail/go-crypto from 1.1.0-alpha.5-proton to 1.1.0-beta.0-proton (#2715) * [skip changelog] Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 1.1.0-alpha.5-proton to 1.1.0-beta.0-proton. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/compare/v1.1.0-alpha.5-proton...v1.1.0-beta.0-proton) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/brainpool.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml | 6 +++--- .../ProtonMail/go-crypto/internal/byteutil.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml | 6 +++--- .../go-crypto/openpgp/internal/ecc/curve25519.dep.yml | 6 +++--- .../go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/symmetric.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 27 files changed, 78 insertions(+), 78 deletions(-) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index 0c033dbcae4..de1d42c131f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index 9ec1b1cef3a..577e7a93c41 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index e086227d16c..1b668e6b01c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 3427867c28e..33ba19321a1 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index f24f78fe77b..5c8a2f6e947 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index af72530c0cc..98e1788ea56 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index 7cc6fb0d4b0..b4a9237b0e9 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index 982a1450540..a28aab0642b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 9107dd71b07..2d6160eafcb 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index 26ae39b99d7..6402117bb17 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index b98f3d6ff95..27542ddb1b4 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index a3ec2359af8..863e19f2ccc 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index 77cb4464eca..e8b22e5e50f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index 291c7a0254e..ef219c70723 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index 4356e35fc4a..ac4524d80ab 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index 2623d8067ba..98cb04279ec 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index 81e8f7cb551..d19a8bc6153 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml index ce6e3efe501..0cb73a34478 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519 -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package curve25519 implements custom field operations without clamping for forwarding. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml index 8df0ed08012..41a500db154 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package field implements fast arithmetic modulo 2^255-19. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 990da1aa39b..c95e61906f7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index 4210606ac8c..2bd60c7ef4e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index 3e7cedee3db..23315a687d3 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml index e47c7d12891..447fa615a96 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/symmetric -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/symmetric license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index a56734857ab..7253e755797 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index f4b0bf5bc78..42b9892daec 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.0-alpha.5-proton +version: v1.1.0-beta.0-proton type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.0-alpha.5-proton/LICENSE +- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-alpha.5-proton/PATENTS +- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 627b5671d02..b4e65b61559 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ toolchain go1.22.3 replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( - github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton + github.com/ProtonMail/go-crypto v1.1.0-beta.0-proton github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 diff --git a/go.sum b/go.sum index 5bddef87329..771924588a9 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton h1:KVBEgU3CJpmzLChnLiSuEyCuhGhcMt3eOST+7A+ckto= -github.com/ProtonMail/go-crypto v1.1.0-alpha.5-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.0-beta.0-proton h1:ZGewsAoeSirbUS5cO8L0FMQA+iSop9xR1nmFYifDBPo= +github.com/ProtonMail/go-crypto v1.1.0-beta.0-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= From ac6ec6d640842d678669df972522aa6e85226107 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 7 Oct 2024 18:05:46 +0200 Subject: [PATCH 259/361] Improved package index merging logic (#2713) * Added tests * Improved index merger for tool release flavors --- internal/arduino/cores/packageindex/index.go | 20 +++-- .../packagemanager/package_manager_test.go | 46 +++++++++++ .../package_with_empty_dfu_util_index.json | 41 ++++++++++ .../package_with_regular_dfu_util_index.json | 77 +++++++++++++++++++ 4 files changed, 176 insertions(+), 8 deletions(-) create mode 100644 internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_empty_dfu_util_index.json create mode 100644 internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_regular_dfu_util_index.json diff --git a/internal/arduino/cores/packageindex/index.go b/internal/arduino/cores/packageindex/index.go index 18e70ce524b..fcc892497b3 100644 --- a/internal/arduino/cores/packageindex/index.go +++ b/internal/arduino/cores/packageindex/index.go @@ -19,6 +19,7 @@ import ( "encoding/json" "errors" "fmt" + "slices" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/resources" @@ -348,15 +349,18 @@ func (inToolRelease indexToolRelease) extractToolIn(outPackage *cores.Package) { outTool := outPackage.GetOrCreateTool(inToolRelease.Name) outToolRelease := outTool.GetOrCreateRelease(inToolRelease.Version) - outToolRelease.Flavors = inToolRelease.extractFlavours() + outToolRelease.Flavors = inToolRelease.extractAndMergeFlavours(outToolRelease.Flavors) } -// extractFlavours extracts a map[OS]Flavor object from an indexToolRelease entry. -func (inToolRelease indexToolRelease) extractFlavours() []*cores.Flavor { - ret := make([]*cores.Flavor, len(inToolRelease.Systems)) - for i, flavour := range inToolRelease.Systems { +// extractAndMergeFlavours extracts flavors objects from an indexToolRelease +// and adds them to the given flavors array if missing. It returns the updated array. +func (inToolRelease indexToolRelease) extractAndMergeFlavours(in []*cores.Flavor) []*cores.Flavor { + for _, flavour := range inToolRelease.Systems { + if slices.ContainsFunc(in, func(f *cores.Flavor) bool { return f.OS == flavour.OS }) { + continue + } size, _ := flavour.Size.Int64() - ret[i] = &cores.Flavor{ + in = append(in, &cores.Flavor{ OS: flavour.OS, Resource: &resources.DownloadResource{ ArchiveFileName: flavour.ArchiveFileName, @@ -365,9 +369,9 @@ func (inToolRelease indexToolRelease) extractFlavours() []*cores.Flavor { URL: flavour.URL, CachePath: "packages", }, - } + }) } - return ret + return in } // LoadIndex reads a package_index.json from a file and returns the corresponding Index structure. diff --git a/internal/arduino/cores/packagemanager/package_manager_test.go b/internal/arduino/cores/packagemanager/package_manager_test.go index 595d08d0c21..4f8598a515a 100644 --- a/internal/arduino/cores/packagemanager/package_manager_test.go +++ b/internal/arduino/cores/packagemanager/package_manager_test.go @@ -567,6 +567,52 @@ func TestFindToolsRequiredForBoard(t *testing.T) { require.Equal(t, bossac18.InstallDir.String(), uploadProperties.Get("runtime.tools.bossac.path")) } +func TestIndexMerger(t *testing.T) { + t.Setenv("ARDUINO_DATA_DIR", dataDir1.String()) + pmb := NewBuilder( + dataDir1, + dataDir1.Join("packages"), + nil, + dataDir1.Join("staging"), + dataDir1, + "test", + downloader.GetDefaultConfig(), + ) + + loadIndex := func(addr string) { + res, err := url.Parse(addr) + require.NoError(t, err) + require.NoError(t, pmb.LoadPackageIndex(res)) + } + loadIndex("https://test.com/package_with_regular_dfu_util_index.json") // this is not downloaded, it just picks the "local cached" file package_test_index.json + loadIndex("https://test.com/package_with_empty_dfu_util_index.json") // this is not downloaded, it just picks the "local cached" file package_test_index.json + + // We ignore the errors returned since they might not be necessarily blocking + // but just warnings for the user, like in the case a board is not loaded + // because of malformed menus + pmb.LoadHardware() + pm := pmb.Build() + pme, release := pm.NewExplorer() + defer release() + + dfu_util := pme.GetTool("arduino:dfu-util") + require.NotNil(t, dfu_util) + dfu_release := dfu_util.GetOrCreateRelease(semver.ParseRelaxed("0.11.0-arduino5")) + require.NotNil(t, dfu_release) + require.Len(t, dfu_release.Flavors, 6) + + test_tool := pme.GetTool("arduino:test-tool") + require.NotNil(t, test_tool) + test_tool_release := test_tool.GetOrCreateRelease(semver.ParseRelaxed("1.0.0")) + require.NotNil(t, test_tool_release) + // Check that the new entry has been added + require.Len(t, test_tool_release.Flavors, 2) + require.Equal(t, test_tool_release.Flavors[1].OS, "arm-linux-gnueabihf") + require.Equal(t, test_tool_release.Flavors[1].Resource.URL, "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-linux_arm.tar.gz") + // Check that the invalid entry did not replace existing one + require.NotEqual(t, test_tool_release.Flavors[0].Resource.URL, "INVALID") +} + func TestIdentifyBoard(t *testing.T) { pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloader.GetDefaultConfig()) pmb.LoadHardwareFromDirectory(customHardware) diff --git a/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_empty_dfu_util_index.json b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_empty_dfu_util_index.json new file mode 100644 index 00000000000..36a120a3ccd --- /dev/null +++ b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_empty_dfu_util_index.json @@ -0,0 +1,41 @@ +{ + "packages": [ + { + "name": "arduino", + "maintainer": "Arduino", + "websiteURL": "http://www.arduino.cc/", + "email": "packages@arduino.cc", + "help": { + "online": "http://www.arduino.cc/en/Reference/HomePage" + }, + "platforms": [], + "tools": [ + { + "name": "test-tool", + "version": "1.0.0", + "systems": [ + { + "host": "i386-apple-darwin11", + "url": "INVALID", + "archiveFileName": "INVALID", + "size": "100", + "checksum": "SHA-256:9e576c6e44f54b1e921a43ea77bcc08ec99e0e4e0905f4b9acf9ab2c979f0a22" + }, + { + "host": "arm-linux-gnueabihf", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-linux_arm.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-linux_arm.tar.gz", + "size": "2512819", + "checksum": "SHA-256:acd4bd283fd408515279a44dd830499ad37b0767e8f2fde5c27e878ded909dc3" + } + ] + }, + { + "name": "dfu-util", + "version": "0.11.0-arduino5", + "systems": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_regular_dfu_util_index.json b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_regular_dfu_util_index.json new file mode 100644 index 00000000000..e0f56808434 --- /dev/null +++ b/internal/arduino/cores/packagemanager/testdata/data_dir_1/package_with_regular_dfu_util_index.json @@ -0,0 +1,77 @@ +{ + "packages": [ + { + "name": "arduino", + "maintainer": "Arduino", + "websiteURL": "http://www.arduino.cc/", + "email": "packages@arduino.cc", + "help": { + "online": "http://www.arduino.cc/en/Reference/HomePage" + }, + "platforms": [], + "tools": [ + { + "name": "test-tool", + "version": "1.0.0", + "systems": [ + { + "host": "i386-apple-darwin11", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-darwin_amd64.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-darwin_amd64.tar.gz", + "size": "72429", + "checksum": "SHA-256:9e576c6e44f54b1e921a43ea77bcc08ec99e0e4e0905f4b9acf9ab2c979f0a22" + } + ] + }, + { + "name": "dfu-util", + "version": "0.11.0-arduino5", + "systems": [ + { + "host": "i386-apple-darwin11", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-darwin_amd64.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-darwin_amd64.tar.gz", + "size": "72429", + "checksum": "SHA-256:9e576c6e44f54b1e921a43ea77bcc08ec99e0e4e0905f4b9acf9ab2c979f0a22" + }, + { + "host": "arm-linux-gnueabihf", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-linux_arm.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-linux_arm.tar.gz", + "size": "2512819", + "checksum": "SHA-256:acd4bd283fd408515279a44dd830499ad37b0767e8f2fde5c27e878ded909dc3" + }, + { + "host": "aarch64-linux-gnu", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-linux_arm64.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-linux_arm64.tar.gz", + "size": "2607592", + "checksum": "SHA-256:b3f46a65da0c2fed2449dc5a3351c3c74953a868aa7f8d99ba2bb8c418344fe9" + }, + { + "host": "x86_64-linux-gnu", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-linux_amd64.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-linux_amd64.tar.gz", + "size": "2283425", + "checksum": "SHA-256:96c64c278561af806b585c123c85748926ad02b1aedc07e5578ca9bee2be0d2a" + }, + { + "host": "i686-linux-gnu", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-linux_386.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-linux_386.tar.gz", + "size": "2524406", + "checksum": "SHA-256:9a707692261e5710ed79a6d8a4031ffd0bfe1e585216569934346e9b2d68d0c2" + }, + { + "host": "i686-mingw32", + "url": "http://downloads.arduino.cc/tools/dfu-util-0.11-arduino5-windows_386.tar.gz", + "archiveFileName": "dfu-util-0.11-arduino5-windows_386.tar.gz", + "size": "571340", + "checksum": "SHA-256:6451e16bf77600fe2436c8708ab4b75077c49997cf8bedf03221d9d6726bb641" + } + ] + } + ] + } + ] +} \ No newline at end of file From ea0910862eecc8fb68592d6517d0842bc47534ea Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 11 Oct 2024 10:51:00 +0200 Subject: [PATCH 260/361] Fix monitor init handling (#2728) * Fixed linter warn * Added integration test * Fixed monitor dead-locking package manager * Fix integration test: Allow some time for the mocked-monitor process to terminate otherwise the test will fail on Windows when the cleanup function tries to remove the executable: Error Trace: D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:46 D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:56 D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:56 D:/a/arduino-cli/arduino-cli/internal/integrationtest/environment.go:62 D:/a/arduino-cli/arduino-cli/internal/integrationtest/daemon/daemon_concurrency_test.go:127 Error: Received unexpected error: remove C:\Users\runneradmin\AppData\Local\Temp\cli2489057723\A\packages\builtin\tools\serial-monitor\0.14.1\serial-monitor.exe: Access is denied. Test: TestInitAndMonitorConcurrency --- commands/service_monitor.go | 2 +- internal/cli/daemon/daemon.go | 1 - .../daemon/daemon_concurrency_test.go | 54 +++++++++++++++++++ 3 files changed, 55 insertions(+), 2 deletions(-) diff --git a/commands/service_monitor.go b/commands/service_monitor.go index 7c47e201ada..8c3402681b7 100644 --- a/commands/service_monitor.go +++ b/commands/service_monitor.go @@ -125,8 +125,8 @@ func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer if err != nil { return err } - defer release() monitor, boardSettings, err := findMonitorAndSettingsForProtocolAndBoard(pme, openReq.GetPort().GetProtocol(), openReq.GetFqbn()) + release() if err != nil { return err } diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 3139a66bdde..839738b8999 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -35,7 +35,6 @@ import ( ) var ( - tr = i18n.Tr daemonize bool debug bool debugFile string diff --git a/internal/integrationtest/daemon/daemon_concurrency_test.go b/internal/integrationtest/daemon/daemon_concurrency_test.go index 733fe54504a..c3541efbf4d 100644 --- a/internal/integrationtest/daemon/daemon_concurrency_test.go +++ b/internal/integrationtest/daemon/daemon_concurrency_test.go @@ -20,6 +20,7 @@ import ( "errors" "fmt" "io" + "sync" "testing" "time" @@ -76,3 +77,56 @@ func TestArduinoCliDaemonCompileWithLotOfOutput(t *testing.T) { testCompile() testCompile() } + +func TestInitAndMonitorConcurrency(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/2719 + + env, cli := integrationtest.CreateEnvForDaemon(t) + defer env.CleanUp() + + _, _, err := cli.Run("core", "install", "arduino:avr") + require.NoError(t, err) + + grpcInst := cli.Create() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + cli.InstallMockedSerialMonitor(t) + + // Open the serial monitor for 5 seconds + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) + defer cancel() + mon, err := grpcInst.Monitor(ctx, &commands.Port{ + Address: "/dev/test", + Protocol: "serial", + }) + require.NoError(t, err) + var monitorCompleted sync.WaitGroup + monitorCompleted.Add(1) + go func() { + for { + msg, err := mon.Recv() + if err != nil { + break + } + fmt.Println("MON> ", msg) + } + fmt.Println("MON CLOSED") + monitorCompleted.Done() + }() + + // Check that Init completes without blocking when the monitor is open + start := time.Now() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + require.LessOrEqual(t, time.Since(start), 4*time.Second) + cancel() + monitorCompleted.Wait() + + // Allow some time for the mocked-monitor process to terminate (otherwise the + // test will fail on Windows when the cleanup function tries to remove the + // executable). + time.Sleep(2 * time.Second) +} From 0540cee5bf87e4011a21098371a0733a50f9971f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 11 Oct 2024 14:31:02 +0200 Subject: [PATCH 261/361] Increased gRPC message size limit to 16MB / added CLI flag to set the value (#2729) * Removed globals in daemon command args parsing * Increased gRPC message size limit to 16MB / added CLI flag to set the value --- internal/cli/daemon/daemon.go | 28 ++++++++++++++++++---------- internal/cli/daemon/interceptors.go | 1 + 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/internal/cli/daemon/daemon.go b/internal/cli/daemon/daemon.go index 839738b8999..ea9476a2ec7 100644 --- a/internal/cli/daemon/daemon.go +++ b/internal/cli/daemon/daemon.go @@ -34,16 +34,14 @@ import ( "google.golang.org/grpc" ) -var ( - daemonize bool - debug bool - debugFile string - debugFilters []string -) - // NewCommand created a new `daemon` command func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) *cobra.Command { + var daemonize bool + var debug bool + var debugFile string + var debugFiltersArg []string var daemonPort string + var maxGRPCRecvMsgSize int daemonCommand := &cobra.Command{ Use: "daemon", Short: i18n.Tr("Run the Arduino CLI as a gRPC daemon."), @@ -63,9 +61,14 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * panic("Failed to set default value for directories.builtin.libraries: " + err.Error()) } } + + // Validate the maxGRPCRecvMsgSize flag + if maxGRPCRecvMsgSize < 1024 { + feedback.Fatal(i18n.Tr("%s must be >= 1024", "--max-grpc-recv-message-size"), feedback.ErrBadArgument) + } }, Run: func(cmd *cobra.Command, args []string) { - runDaemonCommand(srv, daemonPort) + runDaemonCommand(srv, daemonPort, debugFile, debug, daemonize, debugFiltersArg, maxGRPCRecvMsgSize) }, } defaultDaemonPort := settings.GetDaemon().GetPort() @@ -82,13 +85,16 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * daemonCommand.Flags().StringVar(&debugFile, "debug-file", "", i18n.Tr("Append debug logging to the specified file")) - daemonCommand.Flags().StringSliceVar(&debugFilters, + daemonCommand.Flags().StringSliceVar(&debugFiltersArg, "debug-filter", []string{}, i18n.Tr("Display only the provided gRPC calls")) + daemonCommand.Flags().IntVar(&maxGRPCRecvMsgSize, + "max-grpc-recv-message-size", 16*1024*1024, + i18n.Tr("Sets the maximum message size in bytes the daemon can receive")) return daemonCommand } -func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort string) { +func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort, debugFile string, debug, daemonize bool, debugFiltersArg []string, maxGRPCRecvMsgSize int) { logrus.Info("Executing `arduino-cli daemon`") gRPCOptions := []grpc.ServerOption{} @@ -113,11 +119,13 @@ func runDaemonCommand(srv rpc.ArduinoCoreServiceServer, daemonPort string) { debugStdOut = out } } + debugFilters = debugFiltersArg gRPCOptions = append(gRPCOptions, grpc.UnaryInterceptor(unaryLoggerInterceptor), grpc.StreamInterceptor(streamLoggerInterceptor), ) } + gRPCOptions = append(gRPCOptions, grpc.MaxRecvMsgSize(maxGRPCRecvMsgSize)) s := grpc.NewServer(gRPCOptions...) // register the commands service diff --git a/internal/cli/daemon/interceptors.go b/internal/cli/daemon/interceptors.go index 0da2307b1aa..242d7610609 100644 --- a/internal/cli/daemon/interceptors.go +++ b/internal/cli/daemon/interceptors.go @@ -28,6 +28,7 @@ import ( var debugStdOut io.Writer var debugSeq uint32 +var debugFilters []string func log(isRequest bool, seq uint32, msg interface{}) { prefix := fmt.Sprint(seq, " | ") From d2cd38732a60269737bd17505f614afd948e2897 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 14 Oct 2024 15:29:44 +0200 Subject: [PATCH 262/361] Fixed invalid gRPC TaskProgress message on compile (#2731) * Fixed TaskProgress test * Fixed invalid gRPC TaskProgress message on compile --- go.mod | 5 ++--- go.sum | 2 ++ internal/arduino/builder/builder.go | 10 ++++------ internal/integrationtest/daemon/daemon_test.go | 13 +++++++------ .../integrationtest/daemon/task_progress_test.go | 12 ++++++++++++ 5 files changed, 27 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index b4e65b61559..93fb125a868 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/arduino/arduino-cli -go 1.22 - -toolchain go1.22.3 +go 1.22.3 // We must use this fork until https://github.com/mailru/easyjson/pull/372 is merged replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 @@ -38,6 +36,7 @@ require ( github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.2.0 + go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 golang.org/x/term v0.25.0 diff --git a/go.sum b/go.sum index 771924588a9..495585ef9a9 100644 --- a/go.sum +++ b/go.sum @@ -215,6 +215,8 @@ go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= go.bug.st/downloader/v2 v2.2.0 h1:Y0jSuDISNhrzePkrAWqz9xUC3xol9hqZo/+tz1D4EqY= go.bug.st/downloader/v2 v2.2.0/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= +go.bug.st/f v0.4.0 h1:Vstqb950nMA+PhAlRxUw8QL1ntHy/gXHNyyzjkQLJ10= +go.bug.st/f v0.4.0/go.mod h1:bMo23205ll7UW63KwO1ut5RdlJ9JK8RyEEr88CmOF5Y= go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 608baead6ee..91c74965782 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -352,7 +352,10 @@ func (b *Builder) logIfVerbose(warn bool, msg string) { // Build fixdoc func (b *Builder) Build() error { - b.Progress.AddSubSteps(6 /** preprocess **/ + 21 /** build **/) + b.Progress.AddSubSteps(6 + // preprocess + 18 + // build + 1, // size + ) defer b.Progress.RemoveSubSteps() if err := b.preprocess(); err != nil { @@ -362,15 +365,10 @@ func (b *Builder) Build() error { buildErr := b.build() b.libsDetector.PrintUsedAndNotUsedLibraries(buildErr != nil) - b.Progress.CompleteStep() - b.printUsedLibraries(b.libsDetector.ImportedLibraries()) - b.Progress.CompleteStep() - if buildErr != nil { return buildErr } - b.Progress.CompleteStep() if err := b.size(); err != nil { return err diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 742e7774316..47225784361 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -24,7 +24,6 @@ import ( "time" "github.com/arduino/arduino-cli/commands/cmderrors" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/integrationtest" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -194,13 +193,15 @@ func TestDaemonCompileOptions(t *testing.T) { if msg.GetErrStream() != nil { fmt.Printf("COMPILE> %v\n", string(msg.GetErrStream())) } - analyzer.Process(msg.GetProgress()) + if pr := msg.GetProgress(); pr != nil { + fmt.Printf("COMPILE PROGRESS> %v\n", pr) + analyzer.Process(pr) + } } + // https://github.com/arduino/arduino-cli/issues/2016 - // assert that the task progress is increasing and doesn't contain multiple 100% values - results := analyzer.Results[""] - require.True(t, results[len(results)-1].GetCompleted(), fmt.Sprintf("latest percent value: %v", results[len(results)-1].GetPercent())) - require.IsNonDecreasing(t, f.Map(results, (*commands.TaskProgress).GetPercent)) + // https://github.com/arduino/arduino-cli/issues/2711 + analyzer.Check(t) } func TestDaemonCompileAfterFailedLibInstall(t *testing.T) { diff --git a/internal/integrationtest/daemon/task_progress_test.go b/internal/integrationtest/daemon/task_progress_test.go index c106a2c6588..b24d809c716 100644 --- a/internal/integrationtest/daemon/task_progress_test.go +++ b/internal/integrationtest/daemon/task_progress_test.go @@ -19,6 +19,8 @@ import ( "testing" "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/stretchr/testify/require" + "go.bug.st/f" ) // TaskProgressAnalyzer analyzes TaskProgress messages for consistency @@ -44,3 +46,13 @@ func (a *TaskProgressAnalyzer) Process(progress *commands.TaskProgress) { taskName := progress.GetName() a.Results[taskName] = append(a.Results[taskName], progress) } + +func (a *TaskProgressAnalyzer) Check(t *testing.T) { + for task, results := range a.Results { + require.Equal(t, 1, f.Count(results, (*commands.TaskProgress).GetCompleted), "Got multiple 'completed' messages on task %s", task) + l := len(results) + require.True(t, results[l-1].GetCompleted(), "Last message is not 'completed' on task: %s", task) + require.Equal(t, results[l-1].GetPercent(), float32(100), "Last message is not 100% on task: %s", task) + require.IsNonDecreasing(t, f.Map(results, (*commands.TaskProgress).GetPercent), "Percentages are not increasing on task: %s", task) + } +} From 812e621cdbd1e046c61488f749971a384a086be7 Mon Sep 17 00:00:00 2001 From: Lucasjrt <20582195+lucasjrt@users.noreply.github.com> Date: Tue, 15 Oct 2024 06:06:40 -0300 Subject: [PATCH 263/361] Set installer tmp path to env var (#2730) --- install.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 6843c144498..73a023a235a 100755 --- a/install.sh +++ b/install.sh @@ -10,6 +10,7 @@ PROJECT_NAME="arduino-cli" # BINDIR represents the local bin location, defaults to ./bin. EFFECTIVE_BINDIR="" DEFAULT_BINDIR="$PWD/bin" +TEMPDIR="${TMPDIR:-${TEMP:-${TMP:-/tmp}}}" fail() { echo "$1" @@ -137,7 +138,7 @@ downloadFile() { esac DOWNLOAD_URL="${DOWNLOAD_URL_PREFIX}${APPLICATION_DIST}" - INSTALLATION_TMP_FILE="/tmp/$APPLICATION_DIST" + INSTALLATION_TMP_FILE="${TEMPDIR}/$APPLICATION_DIST" echo "Downloading $DOWNLOAD_URL" httpStatusCode=$(getFile "$DOWNLOAD_URL" "$INSTALLATION_TMP_FILE") if [ "$httpStatusCode" -ne 200 ]; then @@ -186,7 +187,7 @@ downloadFile() { } installFile() { - INSTALLATION_TMP_DIR="/tmp/$PROJECT_NAME" + INSTALLATION_TMP_DIR="${TEMPDIR}/$PROJECT_NAME" mkdir -p "$INSTALLATION_TMP_DIR" if [ "$OS" = "Windows" ]; then unzip -d "$INSTALLATION_TMP_DIR" "$INSTALLATION_TMP_FILE" From a527c7cdea0694da3034ba9995b7c9eaecfe074b Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 16 Oct 2024 14:38:26 +0200 Subject: [PATCH 264/361] Fixed compiler-cache on Windows when there are non-ASCII characters in file path (#2733) * Increased logging during compile * Added integration test * Fixed dependency file parsing on Windows * Fixed panic in convertAnsiBytesToString implementation --- go.mod | 2 +- .../builder/internal/utils/ansi_others.go | 27 +++++ .../builder/internal/utils/ansi_windows.go | 36 ++++++ .../arduino/builder/internal/utils/utils.go | 110 +++++++++++------- .../compile_4/lib_caching_test.go | 60 ++++++++++ 5 files changed, 190 insertions(+), 45 deletions(-) create mode 100644 internal/arduino/builder/internal/utils/ansi_others.go create mode 100644 internal/arduino/builder/internal/utils/ansi_windows.go create mode 100644 internal/integrationtest/compile_4/lib_caching_test.go diff --git a/go.mod b/go.mod index 93fb125a868..59a9a96337e 100644 --- a/go.mod +++ b/go.mod @@ -39,6 +39,7 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 + golang.org/x/sys v0.26.0 golang.org/x/term v0.25.0 golang.org/x/text v0.19.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 @@ -100,7 +101,6 @@ require ( golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.28.0 // indirect golang.org/x/sync v0.8.0 // indirect - golang.org/x/sys v0.26.0 // indirect golang.org/x/tools v0.22.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/internal/arduino/builder/internal/utils/ansi_others.go b/internal/arduino/builder/internal/utils/ansi_others.go new file mode 100644 index 00000000000..a49a7bb1b25 --- /dev/null +++ b/internal/arduino/builder/internal/utils/ansi_others.go @@ -0,0 +1,27 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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. + +//go:build !windows + +package utils + +import ( + "errors" +) + +// placeholder for non-Windows machines +func convertAnsiBytesToString([]byte) (string, error) { + return "", errors.New("unimplemented") +} diff --git a/internal/arduino/builder/internal/utils/ansi_windows.go b/internal/arduino/builder/internal/utils/ansi_windows.go new file mode 100644 index 00000000000..248e7657b6f --- /dev/null +++ b/internal/arduino/builder/internal/utils/ansi_windows.go @@ -0,0 +1,36 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 utils + +import ( + "golang.org/x/sys/windows" +) + +func convertAnsiBytesToString(data []byte) (string, error) { + if len(data) == 0 { + return "", nil + } + dataSize := int32(len(data)) + size, err := windows.MultiByteToWideChar(windows.GetACP(), 0, &data[0], dataSize, nil, 0) + if err != nil { + return "", err + } + utf16 := make([]uint16, size) + if _, err := windows.MultiByteToWideChar(windows.GetACP(), 0, &data[0], dataSize, &utf16[0], size); err != nil { + return "", err + } + return windows.UTF16ToString(utf16), nil +} diff --git a/internal/arduino/builder/internal/utils/utils.go b/internal/arduino/builder/internal/utils/utils.go index 630172e2410..d0cb2cec48c 100644 --- a/internal/arduino/builder/internal/utils/utils.go +++ b/internal/arduino/builder/internal/utils/utils.go @@ -17,6 +17,7 @@ package utils import ( "os" + "runtime" "strings" "unicode" @@ -32,13 +33,14 @@ import ( func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool, error) { logrus.Debugf("Checking previous results for %v (result = %v, dep = %v)", sourceFile, objectFile, dependencyFile) if objectFile == nil || dependencyFile == nil { - logrus.Debugf("Not found: nil") + logrus.Debugf("Object file or dependency file not provided") return false, nil } sourceFile = sourceFile.Clean() sourceFileStat, err := sourceFile.Stat() if err != nil { + logrus.Debugf("Could not stat source file: %s", err) return false, err } @@ -46,9 +48,10 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool objectFileStat, err := objectFile.Stat() if err != nil { if os.IsNotExist(err) { - logrus.Debugf("Not found: %v", objectFile) + logrus.Debugf("Object file not found: %v", objectFile) return false, nil } + logrus.Debugf("Could not stat object file: %s", err) return false, err } @@ -56,9 +59,10 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool dependencyFileStat, err := dependencyFile.Stat() if err != nil { if os.IsNotExist(err) { - logrus.Debugf("Not found: %v", dependencyFile) + logrus.Debugf("Dependency file not found: %v", dependencyFile) return false, nil } + logrus.Debugf("Could not stat dependency file: %s", err) return false, err } @@ -71,61 +75,79 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool return false, nil } - rows, err := dependencyFile.ReadFileAsLines() + depFileData, err := dependencyFile.ReadFile() if err != nil { + logrus.Debugf("Could not read dependency file: %s", dependencyFile) return false, err } - rows = f.Map(rows, removeEndingBackSlash) - rows = f.Map(rows, strings.TrimSpace) - rows = f.Map(rows, unescapeDep) - rows = f.Filter(rows, f.NotEquals("")) + checkDepFile := func(depFile string) (bool, error) { + rows := strings.Split(strings.Replace(depFile, "\r\n", "\n", -1), "\n") + rows = f.Map(rows, removeEndingBackSlash) + rows = f.Map(rows, strings.TrimSpace) + rows = f.Map(rows, unescapeDep) + rows = f.Filter(rows, f.NotEquals("")) - if len(rows) == 0 { - return true, nil - } - - firstRow := rows[0] - if !strings.HasSuffix(firstRow, ":") { - logrus.Debugf("No colon in first line of depfile") - return false, nil - } - objFileInDepFile := firstRow[:len(firstRow)-1] - if objFileInDepFile != objectFile.String() { - logrus.Debugf("Depfile is about different file: %v", objFileInDepFile) - return false, nil - } - - // The first line of the depfile contains the path to the object file to generate. - // The second line of the depfile contains the path to the source file. - // All subsequent lines contain the header files necessary to compile the object file. - - // If we don't do this check it might happen that trying to compile a source file - // that has the same name but a different path wouldn't recreate the object file. - if sourceFile.String() != strings.Trim(rows[1], " ") { - return false, nil - } + if len(rows) == 0 { + return true, nil + } - rows = rows[1:] - for _, row := range rows { - depStat, err := os.Stat(row) - if err != nil && !os.IsNotExist(err) { - // There is probably a parsing error of the dep file - // Ignore the error and trigger a full rebuild anyway - logrus.WithError(err).Debugf("Failed to read: %v", row) + firstRow := rows[0] + if !strings.HasSuffix(firstRow, ":") { + logrus.Debugf("No colon in first line of depfile") return false, nil } - if os.IsNotExist(err) { - logrus.Debugf("Not found: %v", row) + objFileInDepFile := firstRow[:len(firstRow)-1] + if objFileInDepFile != objectFile.String() { + logrus.Debugf("Depfile is about different object file: %v", objFileInDepFile) return false, nil } - if depStat.ModTime().After(objectFileStat.ModTime()) { - logrus.Debugf("%v newer than %v", row, objectFile) + + // The first line of the depfile contains the path to the object file to generate. + // The second line of the depfile contains the path to the source file. + // All subsequent lines contain the header files necessary to compile the object file. + + // If we don't do this check it might happen that trying to compile a source file + // that has the same name but a different path wouldn't recreate the object file. + if sourceFile.String() != strings.Trim(rows[1], " ") { + logrus.Debugf("Depfile is about different source file: %v", strings.Trim(rows[1], " ")) return false, nil } + + rows = rows[1:] + for _, row := range rows { + depStat, err := os.Stat(row) + if err != nil && !os.IsNotExist(err) { + // There is probably a parsing error of the dep file + // Ignore the error and trigger a full rebuild anyway + logrus.WithError(err).Debugf("Failed to read: %v", row) + return false, nil + } + if os.IsNotExist(err) { + logrus.Debugf("Not found: %v", row) + return false, nil + } + if depStat.ModTime().After(objectFileStat.ModTime()) { + logrus.Debugf("%v newer than %v", row, objectFile) + return false, nil + } + } + + return true, nil } - return true, nil + if runtime.GOOS == "windows" { + // This is required because on Windows we don't know which encoding is used + // by gcc to write the dep file (it could be UTF-8 or any of the Windows + // ANSI mappings). + if decoded, err := convertAnsiBytesToString(depFileData); err == nil { + if upToDate, err := checkDepFile(decoded); err == nil && upToDate { + return upToDate, nil + } + } + // Fallback to UTF-8... + } + return checkDepFile(string(depFileData)) } func removeEndingBackSlash(s string) string { diff --git a/internal/integrationtest/compile_4/lib_caching_test.go b/internal/integrationtest/compile_4/lib_caching_test.go new file mode 100644 index 00000000000..1a497da7747 --- /dev/null +++ b/internal/integrationtest/compile_4/lib_caching_test.go @@ -0,0 +1,60 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 compile + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestBuildCacheLibWithNonASCIIChars(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/2671 + + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + t.Cleanup(env.CleanUp) + + tmpUserDir, err := paths.MkTempDir("", "Håkan") + require.NoError(t, err) + t.Cleanup(func() { tmpUserDir.RemoveAll() }) + customEnv := cli.GetDefaultEnv() + customEnv["ARDUINO_DIRECTORIES_USER"] = tmpUserDir.String() + + // Install Arduino AVR Boards and Servo lib + _, _, err = cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + _, _, err = cli.RunWithCustomEnv(customEnv, "lib", "install", "Servo") + require.NoError(t, err) + + // Make a temp sketch + sketchDir := tmpUserDir.Join("ServoSketch") + sketchFile := sketchDir.Join("ServoSketch.ino") + require.NoError(t, sketchDir.Mkdir()) + require.NoError(t, sketchFile.WriteFile( + []byte("#include <Servo.h>\nvoid setup() {}\nvoid loop() {}\n"), + )) + + // Compile sketch + _, _, err = cli.RunWithCustomEnv(customEnv, "compile", "-b", "arduino:avr:uno", sketchFile.String()) + require.NoError(t, err) + + // Compile sketch again + out, _, err := cli.RunWithCustomEnv(customEnv, "compile", "-b", "arduino:avr:uno", "-v", sketchFile.String()) + require.NoError(t, err) + require.Contains(t, string(out), "Compiling library \"Servo\"\nUsing previously compiled file") +} From 26b0b55deb6f9d9857d212b91afa76bb40e2ee5d Mon Sep 17 00:00:00 2001 From: per1234 <accounts@perglass.com> Date: Tue, 22 Oct 2024 04:09:31 -0700 Subject: [PATCH 265/361] Fix collision between macOS workflow artifacts in release workflows (#2732) GitHub Workflows are used to automatically generate and publish production and nightly releases of the project. This is done for a range of host architectures, including macOS. The macOS builds are then put through a notarization process in a dedicated workflow job. GitHub Actions workflow artifacts are used to transfer the generated files between sequential jobs in the workflow. The "actions/upload-artifact" and "actions/download-artifact" actions are used for this purpose. The workflow artifact handling had to be reworked recently in order to handle a breaking change in the 4.0.0 release of the "actions/upload-artifact". Previously, a single artifact was used for the transfer of the builds for all hosts. However, support for uploading multiple times to a single artifact was dropped in version 4.0.0 of the "actions/upload-artifact" action. So it is now necessary to use a dedicated artifact for each of the builds. These are downloaded in aggregate in a subsequent job by using the artifact name globbing and merging features which were introduced in version 4.1.0 of the "actions/download-artifact" action. A regression was introduced at that time. The chosen approach was to use a separate set of artifacts for the non-notarized and notarized files. An overview of the sequence (the prefixes are the workflow job names): 1. create-release-artifacts/create-nightly-artifacts: Generate builds. 2. create-release-artifacts/create-nightly-artifacts: Upload builds to workflow artifacts 3. notarize-macos: Download workflow artifacts. 4. notarize-macos: Notarize macOS build from downloaded artifact. 5. notarize-macos: Upload notarized build to workflow artifact with a different name than the source artifact. 6. create-release/publish-nightly: Download workflow artifacts. 7. create-release/publish-nightly: Publish builds. The problem with this is that the artifacts for the non-notarized (uploaded by the create-release-artifacts/create-nightly-artifacts job) and notarized (created by the notarize-macos job) files are then downloaded and merged by the create-release/publish-nightly job. Since each artifact contains a file with the same path in the merged output, the contents of the last downloaded artifact overwrite the contents of the first. It happens that the non-notarized artifact is downloaded after the notarized artifact, so this file path collision results in non-notarized macOS builds being published instead of the notarized builds as intended, and as done by the workflow prior to the regression: ``` % wget https://downloads.arduino.cc/arduino-cli/nightly/arduino-cli_nightly-latest_macOS_ARM64.tar.gz [...] % tar -xf arduino-cli_nightly-latest_macOS_ARM64.tar.gz % spctl -a -vvv -t install arduino-cli arduino-cli: rejected ``` ``` % wget https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_macOS_ARM64.tar.gz [..] % tar -xf arduino-cli_latest_macOS_ARM64.tar.gz % spctl -a -vvv -t install arduino-cli arduino-cli: rejected ``` The chosen solution is to delete the non-notarized artifacts after downloading each in the notarize-macos jobs. An overview of the new sequence (the prefixes are the workflow job names): 1. create-release-artifacts/create-nightly-artifacts: Generate builds. 2. create-release-artifacts/create-nightly-artifacts: Upload builds to workflow artifacts 3. notarize-macos: Download macOS x86 or Apple Silicon workflow artifact. 4. notarize-macos: Delete macOS x86 or Apple Silicon workflow artifact. 5. notarize-macos: Notarize macOS build from downloaded artifact. 6. notarize-macos: Upload notarized build to workflow artifact. 7. create-release/publish-nightly: Download workflow artifacts. 8. create-release/publish-nightly: Publish builds. The result is that there is no file path collision when the create-release/publish-nightly job downloads and merges the artifacts. --- .github/workflows/publish-go-nightly-task.yml | 18 ++++++++++++------ .github/workflows/release-go-task.yml | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index ff45fd27fcf..66e6195f1d2 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -82,9 +82,11 @@ jobs: strategy: matrix: artifact: - - name: darwin_amd64 + - artifact-suffix: macOS_64bit + name: darwin_amd64 path: "macOS_64bit.tar.gz" - - name: darwin_arm64 + - artifact-suffix: macOS_ARM64 + name: darwin_arm64 path: "macOS_ARM64.tar.gz" steps: @@ -94,10 +96,14 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: ${{ env.ARTIFACT_NAME }}-* - merge-multiple: true + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.artifact.artifact-suffix }} path: ${{ env.DIST_DIR }} + - name: Remove non-notarized artifact + uses: geekyeggo/delete-artifact@v5 + with: + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.artifact.artifact-suffix }} + - name: Import Code-Signing Certificates env: KEYCHAIN: "sign.keychain" @@ -167,11 +173,11 @@ jobs: -C ../../ LICENSE.txt echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV - - name: Upload artifact + - name: Upload notarized artifact uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }}-notarized-${{ matrix.artifact.name }} + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.artifact.artifact-suffix }} path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} create-windows-installer: diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index d536c21cbc2..44fb3102d7a 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -82,9 +82,11 @@ jobs: strategy: matrix: artifact: - - name: darwin_amd64 + - artifact-suffix: macOS_64bit + name: darwin_amd64 path: "macOS_64bit.tar.gz" - - name: darwin_arm64 + - artifact-suffix: macOS_ARM64 + name: darwin_arm64 path: "macOS_ARM64.tar.gz" steps: @@ -94,10 +96,14 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: ${{ env.ARTIFACT_NAME }}-* - merge-multiple: true + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.artifact.artifact-suffix }} path: ${{ env.DIST_DIR }} + - name: Remove non-notarized artifact + uses: geekyeggo/delete-artifact@v5 + with: + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.artifact.artifact-suffix }} + - name: Import Code-Signing Certificates env: KEYCHAIN: "sign.keychain" @@ -167,11 +173,11 @@ jobs: -C ../../ LICENSE.txt echo "PACKAGE_FILENAME=$PACKAGE_FILENAME" >> $GITHUB_ENV - - name: Upload artifact + - name: Upload notarized artifact uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }}-notarized-${{ matrix.artifact.name }} + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.artifact.artifact-suffix }} path: ${{ env.DIST_DIR }}/${{ env.PACKAGE_FILENAME }} create-windows-installer: From 7055f2ac8a40c9bd3ba5b4e3faef0194ab0f4341 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 24 Oct 2024 17:41:45 +0200 Subject: [PATCH 266/361] gRPC: if an `Upload` request is canceled, immediately terminate the upload tool process. (#2726) * Added integration test * Fixed process termination when upload call is canceled --- commands/service_upload.go | 26 +++- internal/integrationtest/arduino-cli.go | 52 ++++++++ .../integrationtest/daemon/upload_test.go | 120 ++++++++++++++++++ internal/mock_avrdude/.gitignore | 1 + internal/mock_avrdude/main.go | 46 +++++++ 5 files changed, 240 insertions(+), 5 deletions(-) create mode 100644 internal/integrationtest/daemon/upload_test.go create mode 100644 internal/mock_avrdude/.gitignore create mode 100644 internal/mock_avrdude/main.go diff --git a/commands/service_upload.go b/commands/service_upload.go index 3ebc76a9804..56d621813fe 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -573,18 +573,18 @@ func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packa // Run recipes for upload toolEnv := pme.GetEnvVarsForSpawnedProcess() if burnBootloader { - if err := runTool("erase.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { + if err := runTool(uploadCtx, "erase.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed chip erase"), Cause: err} } - if err := runTool("bootloader.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { + if err := runTool(uploadCtx, "bootloader.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed to burn bootloader"), Cause: err} } } else if programmer != nil { - if err := runTool("program.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { + if err := runTool(uploadCtx, "program.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed programming"), Cause: err} } } else { - if err := runTool("upload.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { + if err := runTool(uploadCtx, "upload.pattern", uploadProperties, outStream, errStream, verbose, dryRun, toolEnv); err != nil { return nil, &cmderrors.FailedUploadError{Message: i18n.Tr("Failed uploading"), Cause: err} } } @@ -702,7 +702,12 @@ func detectUploadPort( } } -func runTool(recipeID string, props *properties.Map, outStream, errStream io.Writer, verbose bool, dryRun bool, toolEnv []string) error { +func runTool(ctx context.Context, recipeID string, props *properties.Map, outStream, errStream io.Writer, verbose bool, dryRun bool, toolEnv []string) error { + // if ctx is already canceled just exit + if err := ctx.Err(); err != nil { + return err + } + recipe, ok := props.GetOk(recipeID) if !ok { return errors.New(i18n.Tr("recipe not found '%s'", recipeID)) @@ -739,6 +744,17 @@ func runTool(recipeID string, props *properties.Map, outStream, errStream io.Wri return errors.New(i18n.Tr("cannot execute upload tool: %s", err)) } + // If the ctx is canceled, kill the running command + completed := make(chan struct{}) + defer close(completed) + go func() { + select { + case <-ctx.Done(): + _ = cmd.Kill() + case <-completed: + } + }() + if err := cmd.Wait(); err != nil { return errors.New(i18n.Tr("uploading error: %s", err)) } diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 62eaa27ee08..231065843d4 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -286,6 +286,42 @@ func (cli *ArduinoCLI) InstallMockedSerialMonitor(t *testing.T) { } } +// InstallMockedAvrdude will replace the already installed avrdude with a mocked one. +func (cli *ArduinoCLI) InstallMockedAvrdude(t *testing.T) { + fmt.Println(color.BlueString("<<< Install mocked avrdude")) + + // Build mocked serial-discovery + mockDir := FindRepositoryRootPath(t).Join("internal", "mock_avrdude") + gobuild, err := paths.NewProcess(nil, "go", "build") + require.NoError(t, err) + gobuild.SetDirFromPath(mockDir) + require.NoError(t, gobuild.Run(), "Building mocked avrdude") + ext := "" + if runtime.GOOS == "windows" { + ext = ".exe" + } + mockBin := mockDir.Join("mock_avrdude" + ext) + require.True(t, mockBin.Exist()) + fmt.Println(color.HiBlackString(" Build of mocked avrdude succeeded.")) + + // Install it replacing the current avrdudes + dataDir := cli.DataDir() + require.NotNil(t, dataDir, "data dir missing") + + avrdudes, err := dataDir.Join("packages", "arduino", "tools", "avrdude").ReadDirRecursiveFiltered( + nil, paths.AndFilter( + paths.FilterNames("avrdude"+ext), + paths.FilterOutDirectories(), + ), + ) + require.NoError(t, err, "scanning data dir for avrdude(s)") + require.NotEmpty(t, avrdudes, "no avrdude(s) found in data dir") + for _, avrdude := range avrdudes { + require.NoError(t, mockBin.CopyTo(avrdude), "installing mocked avrdude to %s", avrdude) + fmt.Println(color.HiBlackString(" Mocked avrdude installed in " + avrdude.String())) + } +} + // RunWithCustomEnv executes the given arduino-cli command with the given custom env and returns the output. func (cli *ArduinoCLI) RunWithCustomEnv(env map[string]string, args ...string) ([]byte, []byte, error) { var stdoutBuf, stderrBuf bytes.Buffer @@ -642,3 +678,19 @@ func (inst *ArduinoCLIInstance) Monitor(ctx context.Context, port *commands.Port }) return monitorClient, err } + +// Upload calls the "Upload" gRPC method. +func (inst *ArduinoCLIInstance) Upload(ctx context.Context, fqbn, sketchPath, port, protocol string) (commands.ArduinoCoreService_UploadClient, error) { + uploadCl, err := inst.cli.daemonClient.Upload(ctx, &commands.UploadRequest{ + Instance: inst.instance, + Fqbn: fqbn, + SketchPath: sketchPath, + Verbose: true, + Port: &commands.Port{ + Address: port, + Protocol: protocol, + }, + }) + logCallf(">>> Upload(%v %v port/protocol=%s/%s)\n", fqbn, sketchPath, port, protocol) + return uploadCl, err +} diff --git a/internal/integrationtest/daemon/upload_test.go b/internal/integrationtest/daemon/upload_test.go new file mode 100644 index 00000000000..75c731aab09 --- /dev/null +++ b/internal/integrationtest/daemon/upload_test.go @@ -0,0 +1,120 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 daemon_test + +import ( + "context" + "errors" + "fmt" + "io" + "os" + "strings" + "testing" + "time" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestUploadCancelation(t *testing.T) { + env, cli := integrationtest.CreateEnvForDaemon(t) + defer env.CleanUp() + + grpcInst := cli.Create() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + plInst, err := grpcInst.PlatformInstall(context.Background(), "arduino", "avr", "1.8.6", true) + require.NoError(t, err) + for { + msg, err := plInst.Recv() + if errors.Is(err, io.EOF) { + break + } + require.NoError(t, err) + fmt.Printf("INSTALL> %v\n", msg) + } + + // Mock avrdude + cli.InstallMockedAvrdude(t) + + // Re-init instance to update changes + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + // Build sketch for upload + sk := paths.New("testdata", "bare_minimum") + compile, err := grpcInst.Compile(context.Background(), "arduino:avr:uno", sk.String(), "") + require.NoError(t, err) + for { + msg, err := compile.Recv() + if errors.Is(err, io.EOF) { + break + } + if err != nil { + fmt.Println("COMPILE ERROR>", err) + require.FailNow(t, "Expected successful compile", "compilation failed") + break + } + if msg.GetOutStream() != nil { + fmt.Printf("COMPILE OUT> %v\n", string(msg.GetOutStream())) + } + if msg.GetErrStream() != nil { + fmt.Printf("COMPILE ERR> %v\n", string(msg.GetErrStream())) + } + } + + // Try upload and interrupt the call after 1 sec + ctx, cancel := context.WithTimeout(context.Background(), time.Second) + upload, err := grpcInst.Upload(ctx, "arduino:avr:uno", sk.String(), "/dev/ttyACM0", "serial") + require.NoError(t, err) + checkFile := "" + for { + msg, err := upload.Recv() + if errors.Is(err, io.EOF) { + require.FailNow(t, "Expected interrupted upload", "upload succeeded") + break + } + if err != nil { + fmt.Println("UPLOAD ERROR>", err) + break + } + if out := string(msg.GetOutStream()); out != "" { + fmt.Printf("UPLOAD OUT> %v\n", out) + if strings.HasPrefix(out, "CHECKFILE: ") { + checkFile = strings.TrimSpace(out[11:]) + } + } + if msg.GetErrStream() != nil { + fmt.Printf("UPLOAD ERR> %v\n", string(msg.GetErrStream())) + } + } + cancel() + + // Wait 5 seconds. + // If the mocked avrdude is not killed it will create a checkfile and it will remove it after 5 seconds. + time.Sleep(5 * time.Second) + + // Test if the checkfile is still there (if the file is there it means that mocked avrdude + // has been correctly killed). + require.NotEmpty(t, checkFile) + require.FileExists(t, checkFile) + require.NoError(t, os.Remove(checkFile)) +} diff --git a/internal/mock_avrdude/.gitignore b/internal/mock_avrdude/.gitignore new file mode 100644 index 00000000000..7035844ce4e --- /dev/null +++ b/internal/mock_avrdude/.gitignore @@ -0,0 +1 @@ +mock_avrdude diff --git a/internal/mock_avrdude/main.go b/internal/mock_avrdude/main.go new file mode 100644 index 00000000000..3b10a1d0207 --- /dev/null +++ b/internal/mock_avrdude/main.go @@ -0,0 +1,46 @@ +// +// This file is part arduino-cli. +// +// Copyright 2023 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 main + +import ( + "fmt" + "os" + "time" + + "github.com/arduino/go-paths-helper" +) + +func main() { + tmp, err := paths.MkTempFile(nil, "test") + if err != nil { + fmt.Println(err) + os.Exit(1) + } + tmp.Close() + tmpPath := paths.New(tmp.Name()) + + fmt.Println("CHECKFILE:", tmpPath) + + // Just sit here for 5 seconds + time.Sleep(5 * time.Second) + + // Remove the check file at the end + tmpPath.Remove() + + fmt.Println("COMPLETED") +} From a008ef0b50a366acaf7f20ac83c502a798065361 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 25 Oct 2024 15:59:03 +0200 Subject: [PATCH 267/361] Some improvements to `install.sh` (#2738) * Added --show-error flag to curl command line This change will show more information when the download fails. -S, --show-error When used with -s, --silent, it makes curl show an error message if it fails. * Reuse download functions * Remove tmp files after use --- install.sh | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/install.sh b/install.sh index 73a023a235a..1adb4245a1d 100755 --- a/install.sh +++ b/install.sh @@ -102,11 +102,12 @@ getFile() { GETFILE_URL="$1" GETFILE_FILE_PATH="$2" if [ "$DOWNLOAD_TOOL" = "curl" ]; then - GETFILE_HTTP_STATUS_CODE=$(curl -s -w '%{http_code}' -L "$GETFILE_URL" -o "$GETFILE_FILE_PATH") + GETFILE_HTTP_STATUS_CODE=$(curl --silent --show-error --write-out '%{http_code}' --location "$GETFILE_URL" -o "$GETFILE_FILE_PATH") elif [ "$DOWNLOAD_TOOL" = "wget" ]; then TMP_FILE=$(mktemp) wget --server-response --content-on-error -q -O "$GETFILE_FILE_PATH" "$GETFILE_URL" 2>"$TMP_FILE" GETFILE_HTTP_STATUS_CODE=$(awk '/^ HTTP/{print $2}' "$TMP_FILE") + rm -f "$TMP_FILE" fi echo "$GETFILE_HTTP_STATUS_CODE" } @@ -155,15 +156,10 @@ downloadFile() { echo "Trying to find a release using the GitHub API." LATEST_RELEASE_URL="https://api.github.com/repos/${PROJECT_OWNER}/$PROJECT_NAME/releases/tags/$TAG" - if [ "$DOWNLOAD_TOOL" = "curl" ]; then - HTTP_RESPONSE=$(curl -sL --write-out 'HTTPSTATUS:%{http_code}' "$LATEST_RELEASE_URL") - HTTP_STATUS_CODE=$(echo "$HTTP_RESPONSE" | tr -d '\n' | sed -e 's/.*HTTPSTATUS://') - BODY=$(echo "$HTTP_RESPONSE" | sed -e 's/HTTPSTATUS\:.*//g') - elif [ "$DOWNLOAD_TOOL" = "wget" ]; then - TMP_FILE=$(mktemp) - BODY=$(wget --server-response --content-on-error -q -O - "$LATEST_RELEASE_URL" 2>"$TMP_FILE" || true) - HTTP_STATUS_CODE=$(awk '/^ HTTP/{print $2}' "$TMP_FILE") - fi + TMP_BODY_FILE=$(mktemp) + HTTP_STATUS_CODE=$(getFile "$LATEST_RELEASE_URL" "$TMP_BODY_FILE") + BODY=$(cat "$TMP_BODY_FILE") + rm -f "$TMP_BODY_FILE" if [ "$HTTP_STATUS_CODE" != 200 ]; then echo "Request failed with HTTP status code $HTTP_STATUS_CODE" fail "Body: $BODY" From eeee6f37a739889a6ea8a1366717fb48db10d7c7 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Fri, 25 Oct 2024 17:57:20 +0200 Subject: [PATCH 268/361] Use `buf.build` to manage our protobuf related activities (#2736) * Introduce `buf.build` files * protobuf: remove google, and use buf dep * Taskfile: use `buf` instead of `protoc` * rpc: regenerate all with `buf` * Taskfile: use buf to generate docs * github: update protobuf related actions * docs: update CONTRIBUTING * buf: add COMMENT linter * Added missing comments (for linter) * Fixed punctation and capitalization of grpc comments --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .github/workflows/check-markdown-task.yml | 5 +- .github/workflows/check-mkdocs-task.yml | 5 +- .github/workflows/check-protobuf-task.yml | 62 +- .../deploy-cobra-mkdocs-versioned-poetry.yml | 5 +- Taskfile.yml | 16 +- buf.doc.gen.yaml | 10 + buf.gen.yaml | 14 + buf.lock | 6 + buf.yaml | 19 + docs/CONTRIBUTING.md | 10 +- rpc/buf.yaml | 7 - rpc/cc/arduino/cli/commands/v1/board.pb.go | 28 +- rpc/cc/arduino/cli/commands/v1/board.proto | 30 +- rpc/cc/arduino/cli/commands/v1/commands.pb.go | 116 +- rpc/cc/arduino/cli/commands/v1/commands.proto | 203 ++- .../cli/commands/v1/commands_grpc.pb.go | 1204 +++++------------ rpc/cc/arduino/cli/commands/v1/common.pb.go | 85 +- rpc/cc/arduino/cli/commands/v1/common.proto | 81 +- rpc/cc/arduino/cli/commands/v1/compile.pb.go | 71 +- rpc/cc/arduino/cli/commands/v1/compile.proto | 69 +- rpc/cc/arduino/cli/commands/v1/core.pb.go | 17 +- rpc/cc/arduino/cli/commands/v1/core.proto | 15 +- rpc/cc/arduino/cli/commands/v1/debug.pb.go | 36 +- rpc/cc/arduino/cli/commands/v1/debug.proto | 38 +- rpc/cc/arduino/cli/commands/v1/lib.pb.go | 18 +- rpc/cc/arduino/cli/commands/v1/lib.proto | 20 +- rpc/cc/arduino/cli/commands/v1/monitor.pb.go | 32 +- rpc/cc/arduino/cli/commands/v1/monitor.proto | 34 +- rpc/cc/arduino/cli/commands/v1/port.pb.go | 10 +- rpc/cc/arduino/cli/commands/v1/port.proto | 8 +- rpc/cc/arduino/cli/commands/v1/settings.pb.go | 97 +- rpc/cc/arduino/cli/commands/v1/settings.proto | 79 +- rpc/cc/arduino/cli/commands/v1/upload.pb.go | 21 +- rpc/cc/arduino/cli/commands/v1/upload.proto | 19 +- rpc/google/rpc/status.proto | 49 - 35 files changed, 1029 insertions(+), 1510 deletions(-) create mode 100644 buf.doc.gen.yaml create mode 100644 buf.gen.yaml create mode 100644 buf.lock create mode 100644 buf.yaml delete mode 100644 rpc/buf.yaml delete mode 100644 rpc/google/rpc/status.proto diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index ce99a259cea..5e8a72add69 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -116,10 +116,9 @@ jobs: - name: Install Go dependencies run: go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.4.1 - - name: Install protoc compiler - uses: arduino/setup-protoc@v3 + - uses: bufbuild/buf-action@v1 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} + setup_only: true - name: Install Task uses: arduino/setup-task@v2 diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index 103f07842df..228a288d785 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -44,10 +44,9 @@ jobs: - name: Install Go dependencies run: go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.4.1 - - name: Install protoc compiler - uses: arduino/setup-protoc@v3 + - uses: bufbuild/buf-action@v1 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} + setup_only: true - name: Install Python uses: actions/setup-python@v5 diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index 46664220e37..f81a5da2a05 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -53,21 +53,9 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 + - uses: bufbuild/buf-action@v1 with: - go-version: ${{ env.GO_VERSION }} - - - name: Install protoc compiler - uses: arduino/setup-protoc@v3 - with: - version: v26.1 - repo-token: ${{ secrets.GITHUB_TOKEN }} - - - name: Install Go deps - run: | - go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2 - go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 + setup_only: true - name: Install Task uses: arduino/setup-task@v2 @@ -90,43 +78,15 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Install Go - uses: actions/setup-go@v5 - with: - go-version: ${{ env.GO_VERSION }} - - - name: Install buf (protoc linter) + # used by the protobuf breaking change detector + - name: Fetch main branch run: | - go install github.com/bufbuild/buf/cmd/buf@v1.20.0 - go install github.com/bufbuild/buf/cmd/protoc-gen-buf-breaking@v1.20.0 - go install github.com/bufbuild/buf/cmd/protoc-gen-buf-lint@v1.20.0 - - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - - name: Lint protocol buffers - run: task protoc:check + git fetch origin master - check-formatting: - needs: run-determination - if: needs.run-determination.outputs.result == 'true' - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Task - uses: arduino/setup-task@v2 + - uses: bufbuild/buf-action@v1 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - - name: Format protocol buffers - run: task protoc:format - - - name: Check formatting - run: git diff --color --exit-code + pr_comment: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository }} + lint: ${{ github.event_name == 'pull_request' }} + format: ${{ github.event_name == 'pull_request' }} + breaking: ${{ github.event_name == 'pull_request' && !contains(github.event.pull_request.labels.*.name, 'buf skip breaking') }} + breaking_against: ".git#branch=origin/master,subdir=rpc" diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index d1c4013cf56..da7e07b514a 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -64,10 +64,9 @@ jobs: - name: Install Go dependencies run: go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.4.1 - - name: Install protoc compiler - uses: arduino/setup-protoc@v3 + - uses: bufbuild/buf-action@v1 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} + setup_only: true - name: Install Python uses: actions/setup-python@v5 diff --git a/Taskfile.yml b/Taskfile.yml index d5cbf0131a0..c375e5eb39d 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -232,16 +232,19 @@ tasks: - protoc:check - protoc:format - protoc:compile + - protoc:breaking-change-detection protoc:compile: desc: Compile protobuf definitions cmds: - - '{{ default "protoc" .PROTOC_BINARY }} --proto_path=rpc --go_out=./rpc --go_opt=paths=source_relative --go-grpc_out=./rpc --go-grpc_opt=paths=source_relative ./rpc/cc/arduino/cli/commands/v1/*.proto' + - buf dep update + - buf generate protoc:docs: desc: Generate docs for protobuf definitions cmds: - - '{{ default "protoc" .PROTOC_BINARY }} --doc_out=./docs/rpc --doc_opt=markdown,commands.md --proto_path=rpc ./rpc/cc/arduino/cli/commands/v1/*.proto' + - | + buf generate --template buf.doc.gen.yaml docs:include-configuration-json-schema: desc: Copy configuration JSON schema to make it available in documentation @@ -251,7 +254,7 @@ tasks: protoc:check: desc: Perform linting of the protobuf definitions cmds: - - buf lint rpc + - buf lint protoc:collect: desc: Create a zip file containing all .proto files in DIST_DIR @@ -263,7 +266,12 @@ tasks: protoc:format: desc: Perform formatting of the protobuf definitions cmds: - - clang-format -i rpc/cc/arduino/cli/*/*/*.proto + - buf format --write --exit-code + + protoc:breaking-change-detection: + desc: Detect protobuf breaking changes + cmds: + - buf breaking --against '.git#branch=origin/master,subdir=rpc' build: desc: Build the project diff --git a/buf.doc.gen.yaml b/buf.doc.gen.yaml new file mode 100644 index 00000000000..c516b499eab --- /dev/null +++ b/buf.doc.gen.yaml @@ -0,0 +1,10 @@ +version: v2 +plugins: + # Local plugin used to generate docs + # go install github.com/pseudomuto/protoc-gen-doc/cmd/protoc-gen-doc@v1.4.1 + - local: protoc-gen-doc + out: ./docs/rpc + opt: + - markdown,commands.md +inputs: + - directory: ./rpc diff --git a/buf.gen.yaml b/buf.gen.yaml new file mode 100644 index 00000000000..b00e81d4279 --- /dev/null +++ b/buf.gen.yaml @@ -0,0 +1,14 @@ +version: v2 +plugins: + # Use protoc-gen-go + - remote: buf.build/protocolbuffers/go:v1.34.2 + out: ./rpc + opt: + - paths=source_relative + # Use of protoc-gen-go-grpc + - remote: buf.build/grpc/go:v1.5.1 + out: ./rpc + opt: + - paths=source_relative +inputs: + - directory: ./rpc diff --git a/buf.lock b/buf.lock new file mode 100644 index 00000000000..27f70aeb053 --- /dev/null +++ b/buf.lock @@ -0,0 +1,6 @@ +# Generated by buf. DO NOT EDIT. +version: v2 +deps: + - name: buf.build/googleapis/googleapis + commit: e7f8d366f5264595bcc4cd4139af9973 + digest: b5:0cd69a689ee320ed815663d57d1bc3a1d6823224a7a717d46fee3a68197c25a6f5f932c0b0e49f8370c70c247a6635969a6a54af5345cafd51e0667298768aca diff --git a/buf.yaml b/buf.yaml new file mode 100644 index 00000000000..16a8f720093 --- /dev/null +++ b/buf.yaml @@ -0,0 +1,19 @@ +version: v2 +deps: + - buf.build/googleapis/googleapis:e7f8d366f5264595bcc4cd4139af9973 +breaking: + use: + - FILE +lint: + use: + - STANDARD + - COMMENT_ENUM + - COMMENT_ENUM_VALUE + - COMMENT_FIELD + - COMMENT_RPC + - COMMENT_SERVICE + ignore_only: + ENUM_ZERO_VALUE_SUFFIX: + - rpc/cc/arduino/cli/commands/v1/lib.proto +modules: + - path: rpc diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index ba3856034b9..bb7a0832ea4 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -79,13 +79,7 @@ If you want to run integration tests you will also need: If you're working on the gRPC interface you will also have to: -- download and install the [protoc][6] compiler (use the version required to match the generated code, please note that - the latest releases does not follow semantic versioning anymore so, for example, the version 5.26.1 must be searched - as 26.1 dropping the major number) -- install `protoc-gen-go` using: `go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2` (use the version - required to match the generated code) -- install `protoc-gen-go-grpc` using: `go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0` (use the version - required to match the generated code) +- download and install [buf][6] our tool to compile and generate proto files ### Building the source code @@ -337,7 +331,7 @@ If your PR doesn't need to be included in the changelog, please start the commit [1]: https://go.dev/doc/install [2]: https://taskfile.dev/#/installation [3]: https://www.python.org/downloads/ -[6]: https://github.com/protocolbuffers/protobuf/releases +[6]: https://buf.build/docs/installation/ [7]: https://pages.github.com/ [9]: https://www.mkdocs.org/ [11]: https://github.com/arduino/arduino-cli/blob/master/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml diff --git a/rpc/buf.yaml b/rpc/buf.yaml deleted file mode 100644 index 95f08ebd923..00000000000 --- a/rpc/buf.yaml +++ /dev/null @@ -1,7 +0,0 @@ -version: v1beta1 -lint: - ignore: - - google - ignore_only: - ENUM_ZERO_VALUE_SUFFIX: - - cc/arduino/cli/commands/v1/lib.proto diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 7fb7f583b2a..3bc667e8192 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/board.proto package commands @@ -132,13 +132,13 @@ type BoardDetailsResponse struct { ToolsDependencies []*ToolsDependencies `protobuf:"bytes,10,rep,name=tools_dependencies,json=toolsDependencies,proto3" json:"tools_dependencies,omitempty"` // The board's custom configuration options. ConfigOptions []*ConfigOption `protobuf:"bytes,11,rep,name=config_options,json=configOptions,proto3" json:"config_options,omitempty"` - // List of programmers supported by the board + // List of programmers supported by the board. Programmers []*Programmer `protobuf:"bytes,13,rep,name=programmers,proto3" json:"programmers,omitempty"` // Identifying information for the board (e.g., USB VID/PID). IdentificationProperties []*BoardIdentificationProperties `protobuf:"bytes,15,rep,name=identification_properties,json=identificationProperties,proto3" json:"identification_properties,omitempty"` - // Board build properties used for compiling + // Board build properties used for compiling. BuildProperties []string `protobuf:"bytes,16,rep,name=build_properties,json=buildProperties,proto3" json:"build_properties,omitempty"` - // Default programmer for the board + // Default programmer for the board. DefaultProgrammerId string `protobuf:"bytes,17,opt,name=default_programmer_id,json=defaultProgrammerId,proto3" json:"default_programmer_id,omitempty"` } @@ -284,7 +284,7 @@ type BoardIdentificationProperties struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // A set of properties that must all be matched to identify the board + // A set of properties that must all be matched to identify the board. Properties map[string]string `protobuf:"bytes,1,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` } @@ -869,7 +869,7 @@ type BoardListRequest struct { // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Search for boards for the given time (in milliseconds) + // Search for boards for the given time (in milliseconds). Timeout int64 `protobuf:"varint,2,opt,name=timeout,proto3" json:"timeout,omitempty"` // The fully qualified board name of the board you want information about // (e.g., `arduino:avr:uno`). @@ -993,7 +993,7 @@ type DetectedPort struct { // The possible boards attached to the port. MatchingBoards []*BoardListItem `protobuf:"bytes,1,rep,name=matching_boards,json=matchingBoards,proto3" json:"matching_boards,omitempty"` - // The port details + // The port details. Port *Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` } @@ -1052,7 +1052,7 @@ type BoardListAllRequest struct { Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` // The search query to filter the board list by. SearchArgs []string `protobuf:"bytes,2,rep,name=search_args,json=searchArgs,proto3" json:"search_args,omitempty"` - // Set to true to get also the boards marked as "hidden" in the platform + // Set to true to get also the boards marked as "hidden" in the platform. IncludeHiddenBoards bool `protobuf:"varint,3,opt,name=include_hidden_boards,json=includeHiddenBoards,proto3" json:"include_hidden_boards,omitempty"` } @@ -1210,11 +1210,11 @@ type BoardListWatchResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Event type as received from the serial discovery tool + // Event type as received from the serial discovery tool. EventType string `protobuf:"bytes,1,opt,name=event_type,json=eventType,proto3" json:"event_type,omitempty"` - // Information about the port + // Information about the port. Port *DetectedPort `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` - // Eventual errors when detecting connected boards + // Eventual errors when detecting connected boards. Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` } @@ -1280,9 +1280,9 @@ type BoardListItem struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` // The fully qualified board name. Used to identify the board to a machine. Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` - // If the board is marked as "hidden" in the platform + // If the board is marked as "hidden" in the platform. IsHidden bool `protobuf:"varint,3,opt,name=is_hidden,json=isHidden,proto3" json:"is_hidden,omitempty"` - // Platform this board belongs to + // Platform this board belongs to. Platform *Platform `protobuf:"bytes,6,opt,name=platform,proto3" json:"platform,omitempty"` } @@ -1356,7 +1356,7 @@ type BoardSearchRequest struct { // The search query to filter the board list by. SearchArgs string `protobuf:"bytes,2,opt,name=search_args,json=searchArgs,proto3" json:"search_args,omitempty"` // Set to true to get also the boards marked as "hidden" in installed - // platforms + // platforms. IncludeHiddenBoards bool `protobuf:"varint,3,opt,name=include_hidden_boards,json=includeHiddenBoards,proto3" json:"include_hidden_boards,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/board.proto b/rpc/cc/arduino/cli/commands/v1/board.proto index 8120f956b5d..27be0f19d01 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.proto +++ b/rpc/cc/arduino/cli/commands/v1/board.proto @@ -18,11 +18,11 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/port.proto"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + message BoardDetailsRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; @@ -58,19 +58,19 @@ message BoardDetailsResponse { repeated ToolsDependencies tools_dependencies = 10; // The board's custom configuration options. repeated ConfigOption config_options = 11; - // List of programmers supported by the board + // List of programmers supported by the board. repeated Programmer programmers = 13; reserved 14; // Identifying information for the board (e.g., USB VID/PID). repeated BoardIdentificationProperties identification_properties = 15; - // Board build properties used for compiling + // Board build properties used for compiling. repeated string build_properties = 16; - // Default programmer for the board + // Default programmer for the board. string default_programmer_id = 17; } message BoardIdentificationProperties { - // A set of properties that must all be matched to identify the board + // A set of properties that must all be matched to identify the board. map<string, string> properties = 1; } @@ -157,7 +157,7 @@ message ConfigValue { message BoardListRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; - // Search for boards for the given time (in milliseconds) + // Search for boards for the given time (in milliseconds). int64 timeout = 2; // The fully qualified board name of the board you want information about // (e.g., `arduino:avr:uno`). @@ -174,7 +174,7 @@ message BoardListResponse { message DetectedPort { // The possible boards attached to the port. repeated BoardListItem matching_boards = 1; - // The port details + // The port details. Port port = 2; } @@ -183,7 +183,7 @@ message BoardListAllRequest { Instance instance = 1; // The search query to filter the board list by. repeated string search_args = 2; - // Set to true to get also the boards marked as "hidden" in the platform + // Set to true to get also the boards marked as "hidden" in the platform. bool include_hidden_boards = 3; } @@ -198,11 +198,11 @@ message BoardListWatchRequest { } message BoardListWatchResponse { - // Event type as received from the serial discovery tool + // Event type as received from the serial discovery tool. string event_type = 1; - // Information about the port + // Information about the port. DetectedPort port = 2; - // Eventual errors when detecting connected boards + // Eventual errors when detecting connected boards. string error = 3; } @@ -211,9 +211,9 @@ message BoardListItem { string name = 1; // The fully qualified board name. Used to identify the board to a machine. string fqbn = 2; - // If the board is marked as "hidden" in the platform + // If the board is marked as "hidden" in the platform. bool is_hidden = 3; - // Platform this board belongs to + // Platform this board belongs to. Platform platform = 6; } @@ -223,7 +223,7 @@ message BoardSearchRequest { // The search query to filter the board list by. string search_args = 2; // Set to true to get also the boards marked as "hidden" in installed - // platforms + // platforms. bool include_hidden_boards = 3; } diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index 4e7675c5a34..b79b2aa7893 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/commands.proto package commands @@ -37,21 +37,22 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// Represent the reason why an instance initialization failed. type FailedInstanceInitReason int32 const ( - // FAILED_INSTANCE_INIT_REASON_UNSPECIFIED the error reason is not specialized + // FAILED_INSTANCE_INIT_REASON_UNSPECIFIED the error reason is not specialized. FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_UNSPECIFIED FailedInstanceInitReason = 0 - // INVALID_INDEX_URL a package index url is malformed + // INVALID_INDEX_URL a package index url is malformed. FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INVALID_INDEX_URL FailedInstanceInitReason = 1 // FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR failure encountered while - // loading an index + // loading an index. FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR FailedInstanceInitReason = 2 // FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR failure encountered while - // loading a tool + // loading a tool. FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR FailedInstanceInitReason = 3 // FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR failure encountered while - // downloading an index + // downloading an index. FailedInstanceInitReason_FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR FailedInstanceInitReason = 4 ) @@ -100,6 +101,7 @@ func (FailedInstanceInitReason) EnumDescriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_commands_proto_rawDescGZIP(), []int{0} } +// The status represents the result of the index update. type IndexUpdateReport_Status int32 const ( @@ -253,9 +255,9 @@ type InitRequest struct { // An Arduino Core instance. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Profile to use + // Profile to use. Profile string `protobuf:"bytes,2,opt,name=profile,proto3" json:"profile,omitempty"` - // The path where the sketch is stored + // The path where the sketch is stored. SketchPath string `protobuf:"bytes,3,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` } @@ -390,15 +392,17 @@ type isInitResponse_Message interface { } type InitResponse_InitProgress struct { + // The initialization progress. InitProgress *InitResponse_Progress `protobuf:"bytes,1,opt,name=init_progress,json=initProgress,proto3,oneof"` } type InitResponse_Error struct { + // The error in case the initialization failed. Error *status.Status `protobuf:"bytes,2,opt,name=error,proto3,oneof"` } type InitResponse_Profile struct { - // Selected profile information + // Selected profile information. Profile *SketchProfile `protobuf:"bytes,3,opt,name=profile,proto3,oneof"` } @@ -413,9 +417,9 @@ type FailedInstanceInitError struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // specific cause of the error + // specific cause of the error. Reason FailedInstanceInitReason `protobuf:"varint,1,opt,name=reason,proto3,enum=cc.arduino.cli.commands.v1.FailedInstanceInitReason" json:"reason,omitempty"` - // explanation of the error + // explanation of the error. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } @@ -990,14 +994,14 @@ type NewSketchRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // New sketch name + // New sketch name. SketchName string `protobuf:"bytes,2,opt,name=sketch_name,json=sketchName,proto3" json:"sketch_name,omitempty"` // Optional: create a Sketch in this directory // (used as "Sketchbook" directory). // Default Sketchbook directory "directories.User" is used if sketch_dir is // empty. SketchDir string `protobuf:"bytes,3,opt,name=sketch_dir,json=sketchDir,proto3" json:"sketch_dir,omitempty"` - // Specificies if an existing .ino sketch should be overwritten + // Specificies if an existing .ino sketch should be overwritten. Overwrite bool `protobuf:"varint,4,opt,name=overwrite,proto3" json:"overwrite,omitempty"` } @@ -1059,7 +1063,7 @@ type NewSketchResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Absolute path to a main sketch file + // Absolute path to a main sketch file. MainFile string `protobuf:"bytes,1,opt,name=main_file,json=mainFile,proto3" json:"main_file,omitempty"` } @@ -1107,7 +1111,7 @@ type LoadSketchRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Absolute path to single sketch file or a sketch folder + // Absolute path to single sketch file or a sketch folder. SketchPath string `protobuf:"bytes,2,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` } @@ -1155,7 +1159,7 @@ type LoadSketchResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The loaded sketch + // The loaded sketch. Sketch *Sketch `protobuf:"bytes,1,opt,name=sketch,proto3" json:"sketch,omitempty"` } @@ -1203,14 +1207,14 @@ type ArchiveSketchRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Absolute path to Sketch file or folder containing Sketch file + // Absolute path to Sketch file or folder containing Sketch file. SketchPath string `protobuf:"bytes,1,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` // Absolute path to archive that will be created or folder that will contain - // it + // it. ArchivePath string `protobuf:"bytes,2,opt,name=archive_path,json=archivePath,proto3" json:"archive_path,omitempty"` - // Specifies if build directory should be included in the archive + // Specifies if build directory should be included in the archive. IncludeBuildDir bool `protobuf:"varint,3,opt,name=include_build_dir,json=includeBuildDir,proto3" json:"include_build_dir,omitempty"` - // Allows to override an already existing archive + // Allows to override an already existing archive. Overwrite bool `protobuf:"varint,4,opt,name=overwrite,proto3" json:"overwrite,omitempty"` } @@ -1317,15 +1321,15 @@ type SetSketchDefaultsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Absolute path to Sketch file or folder containing Sketch file + // Absolute path to Sketch file or folder containing Sketch file. SketchPath string `protobuf:"bytes,1,opt,name=sketch_path,json=sketchPath,proto3" json:"sketch_path,omitempty"` - // The desired value for default_fqbn in project file (sketch.yaml) + // The desired value for default_fqbn in project file (sketch.yaml). DefaultFqbn string `protobuf:"bytes,2,opt,name=default_fqbn,json=defaultFqbn,proto3" json:"default_fqbn,omitempty"` - // The desired value for default_port in project file (sketch.yaml) + // The desired value for default_port in project file (sketch.yaml). DefaultPortAddress string `protobuf:"bytes,3,opt,name=default_port_address,json=defaultPortAddress,proto3" json:"default_port_address,omitempty"` - // The desired value for default_protocol in project file (sketch.yaml) + // The desired value for default_protocol in project file (sketch.yaml). DefaultPortProtocol string `protobuf:"bytes,4,opt,name=default_port_protocol,json=defaultPortProtocol,proto3" json:"default_port_protocol,omitempty"` - // The desired value for default_programmer in project file (sketch.yaml) + // The desired value for default_programmer in project file (sketch.yaml). DefaultProgrammer string `protobuf:"bytes,5,opt,name=default_programmer,json=defaultProgrammer,proto3" json:"default_programmer,omitempty"` } @@ -1402,16 +1406,16 @@ type SetSketchDefaultsResponse struct { unknownFields protoimpl.UnknownFields // The value of default_fqnn that has been written in project file - // (sketch.yaml) + // (sketch.yaml). DefaultFqbn string `protobuf:"bytes,1,opt,name=default_fqbn,json=defaultFqbn,proto3" json:"default_fqbn,omitempty"` // The value of default_port that has been written in project file - // (sketch.yaml) + // (sketch.yaml). DefaultPortAddress string `protobuf:"bytes,2,opt,name=default_port_address,json=defaultPortAddress,proto3" json:"default_port_address,omitempty"` // The value of default_protocol that has been written in project file - // (sketch.yaml) + // (sketch.yaml). DefaultPortProtocol string `protobuf:"bytes,3,opt,name=default_port_protocol,json=defaultPortProtocol,proto3" json:"default_port_protocol,omitempty"` // The value of default_programmer that has been written in project file - // (sketch.yaml) + // (sketch.yaml). DefaultProgrammer string `protobuf:"bytes,4,opt,name=default_programmer,json=defaultProgrammer,proto3" json:"default_programmer,omitempty"` } @@ -1819,31 +1823,31 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x27, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x63, 0x63, 0x2f, 0x61, 0x72, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x26, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x27, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x25, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, + 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x28, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, - 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x25, 0x63, 0x63, 0x2f, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x26, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, - 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x64, - 0x65, 0x62, 0x75, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x63, 0x2f, 0x61, - 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, - 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x63, - 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, 0x62, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, - 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, + 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x65, 0x62, 0x75, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x24, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, + 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6c, 0x69, + 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x29, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, + 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x27, 0x63, 0x63, + 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x0f, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x52, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, @@ -2727,15 +2731,15 @@ func file_cc_arduino_cli_commands_v1_commands_proto_init() { if File_cc_arduino_cli_commands_v1_commands_proto != nil { return } - file_cc_arduino_cli_commands_v1_common_proto_init() file_cc_arduino_cli_commands_v1_board_proto_init() + file_cc_arduino_cli_commands_v1_common_proto_init() file_cc_arduino_cli_commands_v1_compile_proto_init() file_cc_arduino_cli_commands_v1_core_proto_init() file_cc_arduino_cli_commands_v1_debug_proto_init() - file_cc_arduino_cli_commands_v1_monitor_proto_init() - file_cc_arduino_cli_commands_v1_upload_proto_init() file_cc_arduino_cli_commands_v1_lib_proto_init() + file_cc_arduino_cli_commands_v1_monitor_proto_init() file_cc_arduino_cli_commands_v1_settings_proto_init() + file_cc_arduino_cli_commands_v1_upload_proto_init() if !protoimpl.UnsafeEnabled { file_cc_arduino_cli_commands_v1_commands_proto_msgTypes[0].Exporter = func(v any, i int) any { switch v := v.(*CreateRequest); i { diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index 8b3894e610e..e7c7d078cb2 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -18,61 +18,55 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - -import "google/rpc/status.proto"; - -import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/board.proto"; +import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/compile.proto"; import "cc/arduino/cli/commands/v1/core.proto"; import "cc/arduino/cli/commands/v1/debug.proto"; -import "cc/arduino/cli/commands/v1/monitor.proto"; -import "cc/arduino/cli/commands/v1/upload.proto"; import "cc/arduino/cli/commands/v1/lib.proto"; +import "cc/arduino/cli/commands/v1/monitor.proto"; import "cc/arduino/cli/commands/v1/settings.proto"; +import "cc/arduino/cli/commands/v1/upload.proto"; +import "google/rpc/status.proto"; -// The main Arduino Platform service API +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + +// The main Arduino Platform service API. service ArduinoCoreService { - // Create a new Arduino Core instance + // Create a new Arduino Core instance. rpc Create(CreateRequest) returns (CreateResponse) {} // Initializes an existing Arduino Core instance by loading platforms and - // libraries + // libraries. rpc Init(InitRequest) returns (stream InitResponse) {} - // Destroy an instance of the Arduino Core Service + // Destroy an instance of the Arduino Core Service. rpc Destroy(DestroyRequest) returns (DestroyResponse) {} - // Update package index of the Arduino Core Service + // Update package index of the Arduino Core Service. rpc UpdateIndex(UpdateIndexRequest) returns (stream UpdateIndexResponse) {} - // Update libraries index - rpc UpdateLibrariesIndex(UpdateLibrariesIndexRequest) - returns (stream UpdateLibrariesIndexResponse) {} + // Update libraries index. + rpc UpdateLibrariesIndex(UpdateLibrariesIndexRequest) returns (stream UpdateLibrariesIndexResponse) {} // Get the version of Arduino CLI in use. rpc Version(VersionRequest) returns (VersionResponse) {} - // Create a new Sketch + // Create a new Sketch. rpc NewSketch(NewSketchRequest) returns (NewSketchResponse) {} - // Returns all files composing a Sketch + // Returns all files composing a Sketch. rpc LoadSketch(LoadSketchRequest) returns (LoadSketchResponse) {} - // Creates a zip file containing all files of specified Sketch + // Creates a zip file containing all files of specified Sketch. rpc ArchiveSketch(ArchiveSketchRequest) returns (ArchiveSketchResponse) {} // Sets the sketch default FQBN and Port Address/Protocol in // the sketch project file (sketch.yaml). These metadata can be retrieved // using LoadSketch. - rpc SetSketchDefaults(SetSketchDefaultsRequest) - returns (SetSketchDefaultsResponse) {} - - // BOARD COMMANDS - // -------------- + rpc SetSketchDefaults(SetSketchDefaultsRequest) returns (SetSketchDefaultsResponse) {} - // Requests details about a board + // Requests details about a board. rpc BoardDetails(BoardDetailsRequest) returns (BoardDetailsResponse); // List the boards currently connected to the computer. @@ -85,87 +79,69 @@ service ArduinoCoreService { rpc BoardSearch(BoardSearchRequest) returns (BoardSearchResponse); // List boards connection and disconnected events. - rpc BoardListWatch(BoardListWatchRequest) - returns (stream BoardListWatchResponse); + rpc BoardListWatch(BoardListWatchRequest) returns (stream BoardListWatchResponse); // Compile an Arduino sketch. rpc Compile(CompileRequest) returns (stream CompileResponse); // Download and install a platform and its tool dependencies. - rpc PlatformInstall(PlatformInstallRequest) - returns (stream PlatformInstallResponse); + rpc PlatformInstall(PlatformInstallRequest) returns (stream PlatformInstallResponse); // Download a platform and its tool dependencies to the `staging/packages` // subdirectory of the data directory. - rpc PlatformDownload(PlatformDownloadRequest) - returns (stream PlatformDownloadResponse); + rpc PlatformDownload(PlatformDownloadRequest) returns (stream PlatformDownloadResponse); // Uninstall a platform as well as its tool dependencies that are not used by // other installed platforms. - rpc PlatformUninstall(PlatformUninstallRequest) - returns (stream PlatformUninstallResponse); + rpc PlatformUninstall(PlatformUninstallRequest) returns (stream PlatformUninstallResponse); // Upgrade an installed platform to the latest version. - rpc PlatformUpgrade(PlatformUpgradeRequest) - returns (stream PlatformUpgradeResponse); + rpc PlatformUpgrade(PlatformUpgradeRequest) returns (stream PlatformUpgradeResponse); // Upload a compiled sketch to a board. rpc Upload(UploadRequest) returns (stream UploadResponse); // Upload a compiled sketch to a board using a programmer. - rpc UploadUsingProgrammer(UploadUsingProgrammerRequest) - returns (stream UploadUsingProgrammerResponse); + rpc UploadUsingProgrammer(UploadUsingProgrammerRequest) returns (stream UploadUsingProgrammerResponse); // Returns the list of users fields necessary to upload to that board // using the specified protocol. - rpc SupportedUserFields(SupportedUserFieldsRequest) - returns (SupportedUserFieldsResponse); + rpc SupportedUserFields(SupportedUserFieldsRequest) returns (SupportedUserFieldsResponse); // List programmers available for a board. - rpc ListProgrammersAvailableForUpload( - ListProgrammersAvailableForUploadRequest) - returns (ListProgrammersAvailableForUploadResponse); + rpc ListProgrammersAvailableForUpload(ListProgrammersAvailableForUploadRequest) returns (ListProgrammersAvailableForUploadResponse); // Burn bootloader to a board. - rpc BurnBootloader(BurnBootloaderRequest) - returns (stream BurnBootloaderResponse); + rpc BurnBootloader(BurnBootloaderRequest) returns (stream BurnBootloaderResponse); // Search for a platform in the platforms indexes. rpc PlatformSearch(PlatformSearchRequest) returns (PlatformSearchResponse); // Download the archive file of an Arduino library in the libraries index to // the staging directory. - rpc LibraryDownload(LibraryDownloadRequest) - returns (stream LibraryDownloadResponse); + rpc LibraryDownload(LibraryDownloadRequest) returns (stream LibraryDownloadResponse); // Download and install an Arduino library from the libraries index. - rpc LibraryInstall(LibraryInstallRequest) - returns (stream LibraryInstallResponse); + rpc LibraryInstall(LibraryInstallRequest) returns (stream LibraryInstallResponse); // Upgrade a library to the newest version available. - rpc LibraryUpgrade(LibraryUpgradeRequest) - returns (stream LibraryUpgradeResponse); + rpc LibraryUpgrade(LibraryUpgradeRequest) returns (stream LibraryUpgradeResponse); - // Install a library from a Zip File - rpc ZipLibraryInstall(ZipLibraryInstallRequest) - returns (stream ZipLibraryInstallResponse); + // Install a library from a Zip File. + rpc ZipLibraryInstall(ZipLibraryInstallRequest) returns (stream ZipLibraryInstallResponse); - // Download and install a library from a git url - rpc GitLibraryInstall(GitLibraryInstallRequest) - returns (stream GitLibraryInstallResponse); + // Download and install a library from a git url. + rpc GitLibraryInstall(GitLibraryInstallRequest) returns (stream GitLibraryInstallResponse); // Uninstall an Arduino library. - rpc LibraryUninstall(LibraryUninstallRequest) - returns (stream LibraryUninstallResponse); + rpc LibraryUninstall(LibraryUninstallRequest) returns (stream LibraryUninstallResponse); // Upgrade all installed Arduino libraries to the newest version available. - rpc LibraryUpgradeAll(LibraryUpgradeAllRequest) - returns (stream LibraryUpgradeAllResponse); + rpc LibraryUpgradeAll(LibraryUpgradeAllRequest) returns (stream LibraryUpgradeAllResponse); // List the recursive dependencies of a library, as defined by the `depends` // field of the library.properties files. - rpc LibraryResolveDependencies(LibraryResolveDependenciesRequest) - returns (LibraryResolveDependenciesResponse); + rpc LibraryResolveDependencies(LibraryResolveDependenciesRequest) returns (LibraryResolveDependenciesResponse); // Search the Arduino libraries index for libraries. rpc LibrarySearch(LibrarySearchRequest) returns (LibrarySearchResponse); @@ -173,53 +149,44 @@ service ArduinoCoreService { // List the installed libraries. rpc LibraryList(LibraryListRequest) returns (LibraryListResponse); - // Open a monitor connection to a board port + // Open a monitor connection to a board port. rpc Monitor(stream MonitorRequest) returns (stream MonitorResponse); - // Returns the parameters that can be set in the MonitorRequest calls - rpc EnumerateMonitorPortSettings(EnumerateMonitorPortSettingsRequest) - returns (EnumerateMonitorPortSettingsResponse); + // Returns the parameters that can be set in the MonitorRequest calls. + rpc EnumerateMonitorPortSettings(EnumerateMonitorPortSettingsRequest) returns (EnumerateMonitorPortSettingsResponse); // Start a debug session and communicate with the debugger tool. rpc Debug(stream DebugRequest) returns (stream DebugResponse) {} // Determine if debugging is suported given a specific configuration. - rpc IsDebugSupported(IsDebugSupportedRequest) - returns (IsDebugSupportedResponse) {} + rpc IsDebugSupported(IsDebugSupportedRequest) returns (IsDebugSupportedResponse) {} // Query the debugger information given a specific configuration. rpc GetDebugConfig(GetDebugConfigRequest) returns (GetDebugConfigResponse) {} // Check for updates to the Arduino CLI. - rpc CheckForArduinoCLIUpdates(CheckForArduinoCLIUpdatesRequest) - returns (CheckForArduinoCLIUpdatesResponse); + rpc CheckForArduinoCLIUpdates(CheckForArduinoCLIUpdatesRequest) returns (CheckForArduinoCLIUpdatesResponse); // Clean the download cache directory (where archives are downloaded). - rpc CleanDownloadCacheDirectory(CleanDownloadCacheDirectoryRequest) - returns (CleanDownloadCacheDirectoryResponse); + rpc CleanDownloadCacheDirectory(CleanDownloadCacheDirectoryRequest) returns (CleanDownloadCacheDirectoryResponse); - // Writes the settings currently stored in memory in a YAML file - rpc ConfigurationSave(ConfigurationSaveRequest) - returns (ConfigurationSaveResponse); + // Writes the settings currently stored in memory in a YAML file. + rpc ConfigurationSave(ConfigurationSaveRequest) returns (ConfigurationSaveResponse); - // Read the settings from a YAML file - rpc ConfigurationOpen(ConfigurationOpenRequest) - returns (ConfigurationOpenResponse); + // Read the settings from a YAML file. + rpc ConfigurationOpen(ConfigurationOpenRequest) returns (ConfigurationOpenResponse); - rpc ConfigurationGet(ConfigurationGetRequest) - returns (ConfigurationGetResponse); + // Get the current configuration. + rpc ConfigurationGet(ConfigurationGetRequest) returns (ConfigurationGetResponse); - // Enumerate all the keys/values pairs available in the configuration - rpc SettingsEnumerate(SettingsEnumerateRequest) - returns (SettingsEnumerateResponse); + // Enumerate all the keys/values pairs available in the configuration. + rpc SettingsEnumerate(SettingsEnumerateRequest) returns (SettingsEnumerateResponse); - // Get a single configuration value - rpc SettingsGetValue(SettingsGetValueRequest) - returns (SettingsGetValueResponse); + // Get a single configuration value. + rpc SettingsGetValue(SettingsGetValueRequest) returns (SettingsGetValueResponse); - // Set a single configuration value - rpc SettingsSetValue(SettingsSetValueRequest) - returns (SettingsSetValueResponse); + // Set a single configuration value. + rpc SettingsSetValue(SettingsSetValueRequest) returns (SettingsSetValueResponse); } message CreateRequest {} @@ -232,9 +199,9 @@ message CreateResponse { message InitRequest { // An Arduino Core instance. Instance instance = 1; - // Profile to use + // Profile to use. string profile = 2; - // The path where the sketch is stored + // The path where the sketch is stored. string sketch_path = 3; } @@ -246,33 +213,36 @@ message InitResponse { TaskProgress task_progress = 2; } oneof message { + // The initialization progress. Progress init_progress = 1; + // The error in case the initialization failed. google.rpc.Status error = 2; - // Selected profile information + // Selected profile information. SketchProfile profile = 3; } } +// Represent the reason why an instance initialization failed. enum FailedInstanceInitReason { - // FAILED_INSTANCE_INIT_REASON_UNSPECIFIED the error reason is not specialized + // FAILED_INSTANCE_INIT_REASON_UNSPECIFIED the error reason is not specialized. FAILED_INSTANCE_INIT_REASON_UNSPECIFIED = 0; - // INVALID_INDEX_URL a package index url is malformed + // INVALID_INDEX_URL a package index url is malformed. FAILED_INSTANCE_INIT_REASON_INVALID_INDEX_URL = 1; // FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR failure encountered while - // loading an index + // loading an index. FAILED_INSTANCE_INIT_REASON_INDEX_LOAD_ERROR = 2; // FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR failure encountered while - // loading a tool + // loading a tool. FAILED_INSTANCE_INIT_REASON_TOOL_LOAD_ERROR = 3; // FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR failure encountered while - // downloading an index + // downloading an index. FAILED_INSTANCE_INIT_REASON_INDEX_DOWNLOAD_ERROR = 4; } message FailedInstanceInitError { - // specific cause of the error + // specific cause of the error. FailedInstanceInitReason reason = 1; - // explanation of the error + // explanation of the error. string message = 2; } @@ -328,6 +298,7 @@ message UpdateLibrariesIndexResponse { } message IndexUpdateReport { + // The status represents the result of the index update. enum Status { // The status of the index update is unspecified. STATUS_UNSPECIFIED = 0; @@ -355,75 +326,75 @@ message VersionResponse { } message NewSketchRequest { - // New sketch name + // New sketch name. string sketch_name = 2; // Optional: create a Sketch in this directory // (used as "Sketchbook" directory). // Default Sketchbook directory "directories.User" is used if sketch_dir is // empty. string sketch_dir = 3; - // Specificies if an existing .ino sketch should be overwritten + // Specificies if an existing .ino sketch should be overwritten. bool overwrite = 4; reserved 1; } message NewSketchResponse { - // Absolute path to a main sketch file + // Absolute path to a main sketch file. string main_file = 1; } message LoadSketchRequest { - // Absolute path to single sketch file or a sketch folder + // Absolute path to single sketch file or a sketch folder. string sketch_path = 2; reserved 1; } message LoadSketchResponse { - // The loaded sketch + // The loaded sketch. Sketch sketch = 1; } message ArchiveSketchRequest { - // Absolute path to Sketch file or folder containing Sketch file + // Absolute path to Sketch file or folder containing Sketch file. string sketch_path = 1; // Absolute path to archive that will be created or folder that will contain - // it + // it. string archive_path = 2; - // Specifies if build directory should be included in the archive + // Specifies if build directory should be included in the archive. bool include_build_dir = 3; - // Allows to override an already existing archive + // Allows to override an already existing archive. bool overwrite = 4; } message ArchiveSketchResponse {} message SetSketchDefaultsRequest { - // Absolute path to Sketch file or folder containing Sketch file + // Absolute path to Sketch file or folder containing Sketch file. string sketch_path = 1; - // The desired value for default_fqbn in project file (sketch.yaml) + // The desired value for default_fqbn in project file (sketch.yaml). string default_fqbn = 2; - // The desired value for default_port in project file (sketch.yaml) + // The desired value for default_port in project file (sketch.yaml). string default_port_address = 3; - // The desired value for default_protocol in project file (sketch.yaml) + // The desired value for default_protocol in project file (sketch.yaml). string default_port_protocol = 4; - // The desired value for default_programmer in project file (sketch.yaml) + // The desired value for default_programmer in project file (sketch.yaml). string default_programmer = 5; } message SetSketchDefaultsResponse { // The value of default_fqnn that has been written in project file - // (sketch.yaml) + // (sketch.yaml). string default_fqbn = 1; // The value of default_port that has been written in project file - // (sketch.yaml) + // (sketch.yaml). string default_port_address = 2; // The value of default_protocol that has been written in project file - // (sketch.yaml) + // (sketch.yaml). string default_port_protocol = 3; // The value of default_programmer that has been written in project file - // (sketch.yaml) + // (sketch.yaml). string default_programmer = 4; } diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 45e55002d87..4eb8d9b4e4b 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -16,8 +16,8 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: -// - protoc-gen-go-grpc v1.3.0 -// - protoc v5.26.1 +// - protoc-gen-go-grpc v1.5.1 +// - protoc (unknown) // source: cc/arduino/cli/commands/v1/commands.proto package commands @@ -31,8 +31,8 @@ import ( // This is a compile-time assertion to ensure that this generated file // is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 const ( ArduinoCoreService_Create_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/Create" @@ -89,31 +89,33 @@ const ( // ArduinoCoreServiceClient is the client API for ArduinoCoreService service. // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// The main Arduino Platform service API. type ArduinoCoreServiceClient interface { - // Create a new Arduino Core instance + // Create a new Arduino Core instance. Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) // Initializes an existing Arduino Core instance by loading platforms and - // libraries - Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (ArduinoCoreService_InitClient, error) - // Destroy an instance of the Arduino Core Service + // libraries. + Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[InitResponse], error) + // Destroy an instance of the Arduino Core Service. Destroy(ctx context.Context, in *DestroyRequest, opts ...grpc.CallOption) (*DestroyResponse, error) - // Update package index of the Arduino Core Service - UpdateIndex(ctx context.Context, in *UpdateIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateIndexClient, error) - // Update libraries index - UpdateLibrariesIndex(ctx context.Context, in *UpdateLibrariesIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateLibrariesIndexClient, error) + // Update package index of the Arduino Core Service. + UpdateIndex(ctx context.Context, in *UpdateIndexRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UpdateIndexResponse], error) + // Update libraries index. + UpdateLibrariesIndex(ctx context.Context, in *UpdateLibrariesIndexRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UpdateLibrariesIndexResponse], error) // Get the version of Arduino CLI in use. Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) - // Create a new Sketch + // Create a new Sketch. NewSketch(ctx context.Context, in *NewSketchRequest, opts ...grpc.CallOption) (*NewSketchResponse, error) - // Returns all files composing a Sketch + // Returns all files composing a Sketch. LoadSketch(ctx context.Context, in *LoadSketchRequest, opts ...grpc.CallOption) (*LoadSketchResponse, error) - // Creates a zip file containing all files of specified Sketch + // Creates a zip file containing all files of specified Sketch. ArchiveSketch(ctx context.Context, in *ArchiveSketchRequest, opts ...grpc.CallOption) (*ArchiveSketchResponse, error) // Sets the sketch default FQBN and Port Address/Protocol in // the sketch project file (sketch.yaml). These metadata can be retrieved // using LoadSketch. SetSketchDefaults(ctx context.Context, in *SetSketchDefaultsRequest, opts ...grpc.CallOption) (*SetSketchDefaultsResponse, error) - // Requests details about a board + // Requests details about a board. BoardDetails(ctx context.Context, in *BoardDetailsRequest, opts ...grpc.CallOption) (*BoardDetailsResponse, error) // List the boards currently connected to the computer. BoardList(ctx context.Context, in *BoardListRequest, opts ...grpc.CallOption) (*BoardListResponse, error) @@ -122,47 +124,47 @@ type ArduinoCoreServiceClient interface { // Search boards in installed and not installed Platforms. BoardSearch(ctx context.Context, in *BoardSearchRequest, opts ...grpc.CallOption) (*BoardSearchResponse, error) // List boards connection and disconnected events. - BoardListWatch(ctx context.Context, in *BoardListWatchRequest, opts ...grpc.CallOption) (ArduinoCoreService_BoardListWatchClient, error) + BoardListWatch(ctx context.Context, in *BoardListWatchRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BoardListWatchResponse], error) // Compile an Arduino sketch. - Compile(ctx context.Context, in *CompileRequest, opts ...grpc.CallOption) (ArduinoCoreService_CompileClient, error) + Compile(ctx context.Context, in *CompileRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompileResponse], error) // Download and install a platform and its tool dependencies. - PlatformInstall(ctx context.Context, in *PlatformInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformInstallClient, error) + PlatformInstall(ctx context.Context, in *PlatformInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformInstallResponse], error) // Download a platform and its tool dependencies to the `staging/packages` // subdirectory of the data directory. - PlatformDownload(ctx context.Context, in *PlatformDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformDownloadClient, error) + PlatformDownload(ctx context.Context, in *PlatformDownloadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformDownloadResponse], error) // Uninstall a platform as well as its tool dependencies that are not used by // other installed platforms. - PlatformUninstall(ctx context.Context, in *PlatformUninstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformUninstallClient, error) + PlatformUninstall(ctx context.Context, in *PlatformUninstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformUninstallResponse], error) // Upgrade an installed platform to the latest version. - PlatformUpgrade(ctx context.Context, in *PlatformUpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformUpgradeClient, error) + PlatformUpgrade(ctx context.Context, in *PlatformUpgradeRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformUpgradeResponse], error) // Upload a compiled sketch to a board. - Upload(ctx context.Context, in *UploadRequest, opts ...grpc.CallOption) (ArduinoCoreService_UploadClient, error) + Upload(ctx context.Context, in *UploadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UploadResponse], error) // Upload a compiled sketch to a board using a programmer. - UploadUsingProgrammer(ctx context.Context, in *UploadUsingProgrammerRequest, opts ...grpc.CallOption) (ArduinoCoreService_UploadUsingProgrammerClient, error) + UploadUsingProgrammer(ctx context.Context, in *UploadUsingProgrammerRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UploadUsingProgrammerResponse], error) // Returns the list of users fields necessary to upload to that board // using the specified protocol. SupportedUserFields(ctx context.Context, in *SupportedUserFieldsRequest, opts ...grpc.CallOption) (*SupportedUserFieldsResponse, error) // List programmers available for a board. ListProgrammersAvailableForUpload(ctx context.Context, in *ListProgrammersAvailableForUploadRequest, opts ...grpc.CallOption) (*ListProgrammersAvailableForUploadResponse, error) // Burn bootloader to a board. - BurnBootloader(ctx context.Context, in *BurnBootloaderRequest, opts ...grpc.CallOption) (ArduinoCoreService_BurnBootloaderClient, error) + BurnBootloader(ctx context.Context, in *BurnBootloaderRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BurnBootloaderResponse], error) // Search for a platform in the platforms indexes. PlatformSearch(ctx context.Context, in *PlatformSearchRequest, opts ...grpc.CallOption) (*PlatformSearchResponse, error) // Download the archive file of an Arduino library in the libraries index to // the staging directory. - LibraryDownload(ctx context.Context, in *LibraryDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryDownloadClient, error) + LibraryDownload(ctx context.Context, in *LibraryDownloadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryDownloadResponse], error) // Download and install an Arduino library from the libraries index. - LibraryInstall(ctx context.Context, in *LibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryInstallClient, error) + LibraryInstall(ctx context.Context, in *LibraryInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryInstallResponse], error) // Upgrade a library to the newest version available. - LibraryUpgrade(ctx context.Context, in *LibraryUpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUpgradeClient, error) - // Install a library from a Zip File - ZipLibraryInstall(ctx context.Context, in *ZipLibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_ZipLibraryInstallClient, error) - // Download and install a library from a git url - GitLibraryInstall(ctx context.Context, in *GitLibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_GitLibraryInstallClient, error) + LibraryUpgrade(ctx context.Context, in *LibraryUpgradeRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryUpgradeResponse], error) + // Install a library from a Zip File. + ZipLibraryInstall(ctx context.Context, in *ZipLibraryInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ZipLibraryInstallResponse], error) + // Download and install a library from a git url. + GitLibraryInstall(ctx context.Context, in *GitLibraryInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GitLibraryInstallResponse], error) // Uninstall an Arduino library. - LibraryUninstall(ctx context.Context, in *LibraryUninstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUninstallClient, error) + LibraryUninstall(ctx context.Context, in *LibraryUninstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryUninstallResponse], error) // Upgrade all installed Arduino libraries to the newest version available. - LibraryUpgradeAll(ctx context.Context, in *LibraryUpgradeAllRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUpgradeAllClient, error) + LibraryUpgradeAll(ctx context.Context, in *LibraryUpgradeAllRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryUpgradeAllResponse], error) // List the recursive dependencies of a library, as defined by the `depends` // field of the library.properties files. LibraryResolveDependencies(ctx context.Context, in *LibraryResolveDependenciesRequest, opts ...grpc.CallOption) (*LibraryResolveDependenciesResponse, error) @@ -170,12 +172,12 @@ type ArduinoCoreServiceClient interface { LibrarySearch(ctx context.Context, in *LibrarySearchRequest, opts ...grpc.CallOption) (*LibrarySearchResponse, error) // List the installed libraries. LibraryList(ctx context.Context, in *LibraryListRequest, opts ...grpc.CallOption) (*LibraryListResponse, error) - // Open a monitor connection to a board port - Monitor(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_MonitorClient, error) - // Returns the parameters that can be set in the MonitorRequest calls + // Open a monitor connection to a board port. + Monitor(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[MonitorRequest, MonitorResponse], error) + // Returns the parameters that can be set in the MonitorRequest calls. EnumerateMonitorPortSettings(ctx context.Context, in *EnumerateMonitorPortSettingsRequest, opts ...grpc.CallOption) (*EnumerateMonitorPortSettingsResponse, error) // Start a debug session and communicate with the debugger tool. - Debug(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_DebugClient, error) + Debug(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[DebugRequest, DebugResponse], error) // Determine if debugging is suported given a specific configuration. IsDebugSupported(ctx context.Context, in *IsDebugSupportedRequest, opts ...grpc.CallOption) (*IsDebugSupportedResponse, error) // Query the debugger information given a specific configuration. @@ -184,16 +186,17 @@ type ArduinoCoreServiceClient interface { CheckForArduinoCLIUpdates(ctx context.Context, in *CheckForArduinoCLIUpdatesRequest, opts ...grpc.CallOption) (*CheckForArduinoCLIUpdatesResponse, error) // Clean the download cache directory (where archives are downloaded). CleanDownloadCacheDirectory(ctx context.Context, in *CleanDownloadCacheDirectoryRequest, opts ...grpc.CallOption) (*CleanDownloadCacheDirectoryResponse, error) - // Writes the settings currently stored in memory in a YAML file + // Writes the settings currently stored in memory in a YAML file. ConfigurationSave(ctx context.Context, in *ConfigurationSaveRequest, opts ...grpc.CallOption) (*ConfigurationSaveResponse, error) - // Read the settings from a YAML file + // Read the settings from a YAML file. ConfigurationOpen(ctx context.Context, in *ConfigurationOpenRequest, opts ...grpc.CallOption) (*ConfigurationOpenResponse, error) + // Get the current configuration. ConfigurationGet(ctx context.Context, in *ConfigurationGetRequest, opts ...grpc.CallOption) (*ConfigurationGetResponse, error) - // Enumerate all the keys/values pairs available in the configuration + // Enumerate all the keys/values pairs available in the configuration. SettingsEnumerate(ctx context.Context, in *SettingsEnumerateRequest, opts ...grpc.CallOption) (*SettingsEnumerateResponse, error) - // Get a single configuration value + // Get a single configuration value. SettingsGetValue(ctx context.Context, in *SettingsGetValueRequest, opts ...grpc.CallOption) (*SettingsGetValueResponse, error) - // Set a single configuration value + // Set a single configuration value. SettingsSetValue(ctx context.Context, in *SettingsSetValueRequest, opts ...grpc.CallOption) (*SettingsSetValueResponse, error) } @@ -206,20 +209,22 @@ func NewArduinoCoreServiceClient(cc grpc.ClientConnInterface) ArduinoCoreService } func (c *arduinoCoreServiceClient) Create(ctx context.Context, in *CreateRequest, opts ...grpc.CallOption) (*CreateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CreateResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_Create_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_Create_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (ArduinoCoreService_InitClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[0], ArduinoCoreService_Init_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) Init(ctx context.Context, in *InitRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[InitResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[0], ArduinoCoreService_Init_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceInitClient{stream} + x := &grpc.GenericClientStream[InitRequest, InitResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -229,38 +234,26 @@ func (c *arduinoCoreServiceClient) Init(ctx context.Context, in *InitRequest, op return x, nil } -type ArduinoCoreService_InitClient interface { - Recv() (*InitResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceInitClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceInitClient) Recv() (*InitResponse, error) { - m := new(InitResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_InitClient = grpc.ServerStreamingClient[InitResponse] func (c *arduinoCoreServiceClient) Destroy(ctx context.Context, in *DestroyRequest, opts ...grpc.CallOption) (*DestroyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(DestroyResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_Destroy_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_Destroy_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) UpdateIndex(ctx context.Context, in *UpdateIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateIndexClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[1], ArduinoCoreService_UpdateIndex_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) UpdateIndex(ctx context.Context, in *UpdateIndexRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UpdateIndexResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[1], ArduinoCoreService_UpdateIndex_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceUpdateIndexClient{stream} + x := &grpc.GenericClientStream[UpdateIndexRequest, UpdateIndexResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -270,29 +263,16 @@ func (c *arduinoCoreServiceClient) UpdateIndex(ctx context.Context, in *UpdateIn return x, nil } -type ArduinoCoreService_UpdateIndexClient interface { - Recv() (*UpdateIndexResponse, error) - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UpdateIndexClient = grpc.ServerStreamingClient[UpdateIndexResponse] -type arduinoCoreServiceUpdateIndexClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceUpdateIndexClient) Recv() (*UpdateIndexResponse, error) { - m := new(UpdateIndexResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) UpdateLibrariesIndex(ctx context.Context, in *UpdateLibrariesIndexRequest, opts ...grpc.CallOption) (ArduinoCoreService_UpdateLibrariesIndexClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[2], ArduinoCoreService_UpdateLibrariesIndex_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) UpdateLibrariesIndex(ctx context.Context, in *UpdateLibrariesIndexRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UpdateLibrariesIndexResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[2], ArduinoCoreService_UpdateLibrariesIndex_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceUpdateLibrariesIndexClient{stream} + x := &grpc.GenericClientStream[UpdateLibrariesIndexRequest, UpdateLibrariesIndexResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -302,26 +282,13 @@ func (c *arduinoCoreServiceClient) UpdateLibrariesIndex(ctx context.Context, in return x, nil } -type ArduinoCoreService_UpdateLibrariesIndexClient interface { - Recv() (*UpdateLibrariesIndexResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceUpdateLibrariesIndexClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceUpdateLibrariesIndexClient) Recv() (*UpdateLibrariesIndexResponse, error) { - m := new(UpdateLibrariesIndexResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UpdateLibrariesIndexClient = grpc.ServerStreamingClient[UpdateLibrariesIndexResponse] func (c *arduinoCoreServiceClient) Version(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*VersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(VersionResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_Version_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_Version_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -329,8 +296,9 @@ func (c *arduinoCoreServiceClient) Version(ctx context.Context, in *VersionReque } func (c *arduinoCoreServiceClient) NewSketch(ctx context.Context, in *NewSketchRequest, opts ...grpc.CallOption) (*NewSketchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(NewSketchResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_NewSketch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_NewSketch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -338,8 +306,9 @@ func (c *arduinoCoreServiceClient) NewSketch(ctx context.Context, in *NewSketchR } func (c *arduinoCoreServiceClient) LoadSketch(ctx context.Context, in *LoadSketchRequest, opts ...grpc.CallOption) (*LoadSketchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(LoadSketchResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_LoadSketch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_LoadSketch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -347,8 +316,9 @@ func (c *arduinoCoreServiceClient) LoadSketch(ctx context.Context, in *LoadSketc } func (c *arduinoCoreServiceClient) ArchiveSketch(ctx context.Context, in *ArchiveSketchRequest, opts ...grpc.CallOption) (*ArchiveSketchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ArchiveSketchResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_ArchiveSketch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_ArchiveSketch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -356,8 +326,9 @@ func (c *arduinoCoreServiceClient) ArchiveSketch(ctx context.Context, in *Archiv } func (c *arduinoCoreServiceClient) SetSketchDefaults(ctx context.Context, in *SetSketchDefaultsRequest, opts ...grpc.CallOption) (*SetSketchDefaultsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SetSketchDefaultsResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SetSketchDefaults_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_SetSketchDefaults_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -365,8 +336,9 @@ func (c *arduinoCoreServiceClient) SetSketchDefaults(ctx context.Context, in *Se } func (c *arduinoCoreServiceClient) BoardDetails(ctx context.Context, in *BoardDetailsRequest, opts ...grpc.CallOption) (*BoardDetailsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(BoardDetailsResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_BoardDetails_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_BoardDetails_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -374,8 +346,9 @@ func (c *arduinoCoreServiceClient) BoardDetails(ctx context.Context, in *BoardDe } func (c *arduinoCoreServiceClient) BoardList(ctx context.Context, in *BoardListRequest, opts ...grpc.CallOption) (*BoardListResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(BoardListResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_BoardList_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_BoardList_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -383,8 +356,9 @@ func (c *arduinoCoreServiceClient) BoardList(ctx context.Context, in *BoardListR } func (c *arduinoCoreServiceClient) BoardListAll(ctx context.Context, in *BoardListAllRequest, opts ...grpc.CallOption) (*BoardListAllResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(BoardListAllResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_BoardListAll_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_BoardListAll_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -392,20 +366,22 @@ func (c *arduinoCoreServiceClient) BoardListAll(ctx context.Context, in *BoardLi } func (c *arduinoCoreServiceClient) BoardSearch(ctx context.Context, in *BoardSearchRequest, opts ...grpc.CallOption) (*BoardSearchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(BoardSearchResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_BoardSearch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_BoardSearch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) BoardListWatch(ctx context.Context, in *BoardListWatchRequest, opts ...grpc.CallOption) (ArduinoCoreService_BoardListWatchClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[3], ArduinoCoreService_BoardListWatch_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) BoardListWatch(ctx context.Context, in *BoardListWatchRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BoardListWatchResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[3], ArduinoCoreService_BoardListWatch_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceBoardListWatchClient{stream} + x := &grpc.GenericClientStream[BoardListWatchRequest, BoardListWatchResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -415,29 +391,16 @@ func (c *arduinoCoreServiceClient) BoardListWatch(ctx context.Context, in *Board return x, nil } -type ArduinoCoreService_BoardListWatchClient interface { - Recv() (*BoardListWatchResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceBoardListWatchClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_BoardListWatchClient = grpc.ServerStreamingClient[BoardListWatchResponse] -func (x *arduinoCoreServiceBoardListWatchClient) Recv() (*BoardListWatchResponse, error) { - m := new(BoardListWatchResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) Compile(ctx context.Context, in *CompileRequest, opts ...grpc.CallOption) (ArduinoCoreService_CompileClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[4], ArduinoCoreService_Compile_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) Compile(ctx context.Context, in *CompileRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[CompileResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[4], ArduinoCoreService_Compile_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceCompileClient{stream} + x := &grpc.GenericClientStream[CompileRequest, CompileResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -447,29 +410,16 @@ func (c *arduinoCoreServiceClient) Compile(ctx context.Context, in *CompileReque return x, nil } -type ArduinoCoreService_CompileClient interface { - Recv() (*CompileResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceCompileClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceCompileClient) Recv() (*CompileResponse, error) { - m := new(CompileResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_CompileClient = grpc.ServerStreamingClient[CompileResponse] -func (c *arduinoCoreServiceClient) PlatformInstall(ctx context.Context, in *PlatformInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[5], ArduinoCoreService_PlatformInstall_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) PlatformInstall(ctx context.Context, in *PlatformInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformInstallResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[5], ArduinoCoreService_PlatformInstall_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServicePlatformInstallClient{stream} + x := &grpc.GenericClientStream[PlatformInstallRequest, PlatformInstallResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -479,29 +429,16 @@ func (c *arduinoCoreServiceClient) PlatformInstall(ctx context.Context, in *Plat return x, nil } -type ArduinoCoreService_PlatformInstallClient interface { - Recv() (*PlatformInstallResponse, error) - grpc.ClientStream -} - -type arduinoCoreServicePlatformInstallClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServicePlatformInstallClient) Recv() (*PlatformInstallResponse, error) { - m := new(PlatformInstallResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformInstallClient = grpc.ServerStreamingClient[PlatformInstallResponse] -func (c *arduinoCoreServiceClient) PlatformDownload(ctx context.Context, in *PlatformDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformDownloadClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[6], ArduinoCoreService_PlatformDownload_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) PlatformDownload(ctx context.Context, in *PlatformDownloadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformDownloadResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[6], ArduinoCoreService_PlatformDownload_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServicePlatformDownloadClient{stream} + x := &grpc.GenericClientStream[PlatformDownloadRequest, PlatformDownloadResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -511,29 +448,16 @@ func (c *arduinoCoreServiceClient) PlatformDownload(ctx context.Context, in *Pla return x, nil } -type ArduinoCoreService_PlatformDownloadClient interface { - Recv() (*PlatformDownloadResponse, error) - grpc.ClientStream -} - -type arduinoCoreServicePlatformDownloadClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServicePlatformDownloadClient) Recv() (*PlatformDownloadResponse, error) { - m := new(PlatformDownloadResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformDownloadClient = grpc.ServerStreamingClient[PlatformDownloadResponse] -func (c *arduinoCoreServiceClient) PlatformUninstall(ctx context.Context, in *PlatformUninstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformUninstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[7], ArduinoCoreService_PlatformUninstall_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) PlatformUninstall(ctx context.Context, in *PlatformUninstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformUninstallResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[7], ArduinoCoreService_PlatformUninstall_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServicePlatformUninstallClient{stream} + x := &grpc.GenericClientStream[PlatformUninstallRequest, PlatformUninstallResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -543,29 +467,16 @@ func (c *arduinoCoreServiceClient) PlatformUninstall(ctx context.Context, in *Pl return x, nil } -type ArduinoCoreService_PlatformUninstallClient interface { - Recv() (*PlatformUninstallResponse, error) - grpc.ClientStream -} - -type arduinoCoreServicePlatformUninstallClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformUninstallClient = grpc.ServerStreamingClient[PlatformUninstallResponse] -func (x *arduinoCoreServicePlatformUninstallClient) Recv() (*PlatformUninstallResponse, error) { - m := new(PlatformUninstallResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) PlatformUpgrade(ctx context.Context, in *PlatformUpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_PlatformUpgradeClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[8], ArduinoCoreService_PlatformUpgrade_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) PlatformUpgrade(ctx context.Context, in *PlatformUpgradeRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PlatformUpgradeResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[8], ArduinoCoreService_PlatformUpgrade_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServicePlatformUpgradeClient{stream} + x := &grpc.GenericClientStream[PlatformUpgradeRequest, PlatformUpgradeResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -575,29 +486,16 @@ func (c *arduinoCoreServiceClient) PlatformUpgrade(ctx context.Context, in *Plat return x, nil } -type ArduinoCoreService_PlatformUpgradeClient interface { - Recv() (*PlatformUpgradeResponse, error) - grpc.ClientStream -} - -type arduinoCoreServicePlatformUpgradeClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformUpgradeClient = grpc.ServerStreamingClient[PlatformUpgradeResponse] -func (x *arduinoCoreServicePlatformUpgradeClient) Recv() (*PlatformUpgradeResponse, error) { - m := new(PlatformUpgradeResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) Upload(ctx context.Context, in *UploadRequest, opts ...grpc.CallOption) (ArduinoCoreService_UploadClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[9], ArduinoCoreService_Upload_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) Upload(ctx context.Context, in *UploadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UploadResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[9], ArduinoCoreService_Upload_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceUploadClient{stream} + x := &grpc.GenericClientStream[UploadRequest, UploadResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -607,29 +505,16 @@ func (c *arduinoCoreServiceClient) Upload(ctx context.Context, in *UploadRequest return x, nil } -type ArduinoCoreService_UploadClient interface { - Recv() (*UploadResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceUploadClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UploadClient = grpc.ServerStreamingClient[UploadResponse] -func (x *arduinoCoreServiceUploadClient) Recv() (*UploadResponse, error) { - m := new(UploadResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) UploadUsingProgrammer(ctx context.Context, in *UploadUsingProgrammerRequest, opts ...grpc.CallOption) (ArduinoCoreService_UploadUsingProgrammerClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[10], ArduinoCoreService_UploadUsingProgrammer_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) UploadUsingProgrammer(ctx context.Context, in *UploadUsingProgrammerRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[UploadUsingProgrammerResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[10], ArduinoCoreService_UploadUsingProgrammer_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceUploadUsingProgrammerClient{stream} + x := &grpc.GenericClientStream[UploadUsingProgrammerRequest, UploadUsingProgrammerResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -639,26 +524,13 @@ func (c *arduinoCoreServiceClient) UploadUsingProgrammer(ctx context.Context, in return x, nil } -type ArduinoCoreService_UploadUsingProgrammerClient interface { - Recv() (*UploadUsingProgrammerResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceUploadUsingProgrammerClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceUploadUsingProgrammerClient) Recv() (*UploadUsingProgrammerResponse, error) { - m := new(UploadUsingProgrammerResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UploadUsingProgrammerClient = grpc.ServerStreamingClient[UploadUsingProgrammerResponse] func (c *arduinoCoreServiceClient) SupportedUserFields(ctx context.Context, in *SupportedUserFieldsRequest, opts ...grpc.CallOption) (*SupportedUserFieldsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SupportedUserFieldsResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SupportedUserFields_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_SupportedUserFields_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -666,20 +538,22 @@ func (c *arduinoCoreServiceClient) SupportedUserFields(ctx context.Context, in * } func (c *arduinoCoreServiceClient) ListProgrammersAvailableForUpload(ctx context.Context, in *ListProgrammersAvailableForUploadRequest, opts ...grpc.CallOption) (*ListProgrammersAvailableForUploadResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListProgrammersAvailableForUploadResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_ListProgrammersAvailableForUpload_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_ListProgrammersAvailableForUpload_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) BurnBootloader(ctx context.Context, in *BurnBootloaderRequest, opts ...grpc.CallOption) (ArduinoCoreService_BurnBootloaderClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[11], ArduinoCoreService_BurnBootloader_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) BurnBootloader(ctx context.Context, in *BurnBootloaderRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BurnBootloaderResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[11], ArduinoCoreService_BurnBootloader_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceBurnBootloaderClient{stream} + x := &grpc.GenericClientStream[BurnBootloaderRequest, BurnBootloaderResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -689,38 +563,26 @@ func (c *arduinoCoreServiceClient) BurnBootloader(ctx context.Context, in *BurnB return x, nil } -type ArduinoCoreService_BurnBootloaderClient interface { - Recv() (*BurnBootloaderResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceBurnBootloaderClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceBurnBootloaderClient) Recv() (*BurnBootloaderResponse, error) { - m := new(BurnBootloaderResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_BurnBootloaderClient = grpc.ServerStreamingClient[BurnBootloaderResponse] func (c *arduinoCoreServiceClient) PlatformSearch(ctx context.Context, in *PlatformSearchRequest, opts ...grpc.CallOption) (*PlatformSearchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(PlatformSearchResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_PlatformSearch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_PlatformSearch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) LibraryDownload(ctx context.Context, in *LibraryDownloadRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryDownloadClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[12], ArduinoCoreService_LibraryDownload_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) LibraryDownload(ctx context.Context, in *LibraryDownloadRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryDownloadResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[12], ArduinoCoreService_LibraryDownload_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceLibraryDownloadClient{stream} + x := &grpc.GenericClientStream[LibraryDownloadRequest, LibraryDownloadResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -730,29 +592,16 @@ func (c *arduinoCoreServiceClient) LibraryDownload(ctx context.Context, in *Libr return x, nil } -type ArduinoCoreService_LibraryDownloadClient interface { - Recv() (*LibraryDownloadResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceLibraryDownloadClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryDownloadClient = grpc.ServerStreamingClient[LibraryDownloadResponse] -func (x *arduinoCoreServiceLibraryDownloadClient) Recv() (*LibraryDownloadResponse, error) { - m := new(LibraryDownloadResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) LibraryInstall(ctx context.Context, in *LibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[13], ArduinoCoreService_LibraryInstall_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) LibraryInstall(ctx context.Context, in *LibraryInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryInstallResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[13], ArduinoCoreService_LibraryInstall_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceLibraryInstallClient{stream} + x := &grpc.GenericClientStream[LibraryInstallRequest, LibraryInstallResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -762,29 +611,16 @@ func (c *arduinoCoreServiceClient) LibraryInstall(ctx context.Context, in *Libra return x, nil } -type ArduinoCoreService_LibraryInstallClient interface { - Recv() (*LibraryInstallResponse, error) - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryInstallClient = grpc.ServerStreamingClient[LibraryInstallResponse] -type arduinoCoreServiceLibraryInstallClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceLibraryInstallClient) Recv() (*LibraryInstallResponse, error) { - m := new(LibraryInstallResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) LibraryUpgrade(ctx context.Context, in *LibraryUpgradeRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUpgradeClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[14], ArduinoCoreService_LibraryUpgrade_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) LibraryUpgrade(ctx context.Context, in *LibraryUpgradeRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryUpgradeResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[14], ArduinoCoreService_LibraryUpgrade_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceLibraryUpgradeClient{stream} + x := &grpc.GenericClientStream[LibraryUpgradeRequest, LibraryUpgradeResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -794,29 +630,16 @@ func (c *arduinoCoreServiceClient) LibraryUpgrade(ctx context.Context, in *Libra return x, nil } -type ArduinoCoreService_LibraryUpgradeClient interface { - Recv() (*LibraryUpgradeResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceLibraryUpgradeClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryUpgradeClient = grpc.ServerStreamingClient[LibraryUpgradeResponse] -func (x *arduinoCoreServiceLibraryUpgradeClient) Recv() (*LibraryUpgradeResponse, error) { - m := new(LibraryUpgradeResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) ZipLibraryInstall(ctx context.Context, in *ZipLibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_ZipLibraryInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[15], ArduinoCoreService_ZipLibraryInstall_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) ZipLibraryInstall(ctx context.Context, in *ZipLibraryInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ZipLibraryInstallResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[15], ArduinoCoreService_ZipLibraryInstall_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceZipLibraryInstallClient{stream} + x := &grpc.GenericClientStream[ZipLibraryInstallRequest, ZipLibraryInstallResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -826,29 +649,16 @@ func (c *arduinoCoreServiceClient) ZipLibraryInstall(ctx context.Context, in *Zi return x, nil } -type ArduinoCoreService_ZipLibraryInstallClient interface { - Recv() (*ZipLibraryInstallResponse, error) - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_ZipLibraryInstallClient = grpc.ServerStreamingClient[ZipLibraryInstallResponse] -type arduinoCoreServiceZipLibraryInstallClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceZipLibraryInstallClient) Recv() (*ZipLibraryInstallResponse, error) { - m := new(ZipLibraryInstallResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) GitLibraryInstall(ctx context.Context, in *GitLibraryInstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_GitLibraryInstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[16], ArduinoCoreService_GitLibraryInstall_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) GitLibraryInstall(ctx context.Context, in *GitLibraryInstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[GitLibraryInstallResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[16], ArduinoCoreService_GitLibraryInstall_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceGitLibraryInstallClient{stream} + x := &grpc.GenericClientStream[GitLibraryInstallRequest, GitLibraryInstallResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -858,29 +668,16 @@ func (c *arduinoCoreServiceClient) GitLibraryInstall(ctx context.Context, in *Gi return x, nil } -type ArduinoCoreService_GitLibraryInstallClient interface { - Recv() (*GitLibraryInstallResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceGitLibraryInstallClient struct { - grpc.ClientStream -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_GitLibraryInstallClient = grpc.ServerStreamingClient[GitLibraryInstallResponse] -func (x *arduinoCoreServiceGitLibraryInstallClient) Recv() (*GitLibraryInstallResponse, error) { - m := new(GitLibraryInstallResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} - -func (c *arduinoCoreServiceClient) LibraryUninstall(ctx context.Context, in *LibraryUninstallRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUninstallClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[17], ArduinoCoreService_LibraryUninstall_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) LibraryUninstall(ctx context.Context, in *LibraryUninstallRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryUninstallResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[17], ArduinoCoreService_LibraryUninstall_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceLibraryUninstallClient{stream} + x := &grpc.GenericClientStream[LibraryUninstallRequest, LibraryUninstallResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -890,29 +687,16 @@ func (c *arduinoCoreServiceClient) LibraryUninstall(ctx context.Context, in *Lib return x, nil } -type ArduinoCoreService_LibraryUninstallClient interface { - Recv() (*LibraryUninstallResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceLibraryUninstallClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceLibraryUninstallClient) Recv() (*LibraryUninstallResponse, error) { - m := new(LibraryUninstallResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryUninstallClient = grpc.ServerStreamingClient[LibraryUninstallResponse] -func (c *arduinoCoreServiceClient) LibraryUpgradeAll(ctx context.Context, in *LibraryUpgradeAllRequest, opts ...grpc.CallOption) (ArduinoCoreService_LibraryUpgradeAllClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[18], ArduinoCoreService_LibraryUpgradeAll_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) LibraryUpgradeAll(ctx context.Context, in *LibraryUpgradeAllRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[LibraryUpgradeAllResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[18], ArduinoCoreService_LibraryUpgradeAll_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceLibraryUpgradeAllClient{stream} + x := &grpc.GenericClientStream[LibraryUpgradeAllRequest, LibraryUpgradeAllResponse]{ClientStream: stream} if err := x.ClientStream.SendMsg(in); err != nil { return nil, err } @@ -922,26 +706,13 @@ func (c *arduinoCoreServiceClient) LibraryUpgradeAll(ctx context.Context, in *Li return x, nil } -type ArduinoCoreService_LibraryUpgradeAllClient interface { - Recv() (*LibraryUpgradeAllResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceLibraryUpgradeAllClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceLibraryUpgradeAllClient) Recv() (*LibraryUpgradeAllResponse, error) { - m := new(LibraryUpgradeAllResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryUpgradeAllClient = grpc.ServerStreamingClient[LibraryUpgradeAllResponse] func (c *arduinoCoreServiceClient) LibraryResolveDependencies(ctx context.Context, in *LibraryResolveDependenciesRequest, opts ...grpc.CallOption) (*LibraryResolveDependenciesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(LibraryResolveDependenciesResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_LibraryResolveDependencies_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_LibraryResolveDependencies_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -949,8 +720,9 @@ func (c *arduinoCoreServiceClient) LibraryResolveDependencies(ctx context.Contex } func (c *arduinoCoreServiceClient) LibrarySearch(ctx context.Context, in *LibrarySearchRequest, opts ...grpc.CallOption) (*LibrarySearchResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(LibrarySearchResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_LibrarySearch_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_LibrarySearch_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -958,88 +730,55 @@ func (c *arduinoCoreServiceClient) LibrarySearch(ctx context.Context, in *Librar } func (c *arduinoCoreServiceClient) LibraryList(ctx context.Context, in *LibraryListRequest, opts ...grpc.CallOption) (*LibraryListResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(LibraryListResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_LibraryList_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_LibraryList_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) Monitor(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_MonitorClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[19], ArduinoCoreService_Monitor_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) Monitor(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[MonitorRequest, MonitorResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[19], ArduinoCoreService_Monitor_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceMonitorClient{stream} + x := &grpc.GenericClientStream[MonitorRequest, MonitorResponse]{ClientStream: stream} return x, nil } -type ArduinoCoreService_MonitorClient interface { - Send(*MonitorRequest) error - Recv() (*MonitorResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceMonitorClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceMonitorClient) Send(m *MonitorRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *arduinoCoreServiceMonitorClient) Recv() (*MonitorResponse, error) { - m := new(MonitorResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_MonitorClient = grpc.BidiStreamingClient[MonitorRequest, MonitorResponse] func (c *arduinoCoreServiceClient) EnumerateMonitorPortSettings(ctx context.Context, in *EnumerateMonitorPortSettingsRequest, opts ...grpc.CallOption) (*EnumerateMonitorPortSettingsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(EnumerateMonitorPortSettingsResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_EnumerateMonitorPortSettings_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_EnumerateMonitorPortSettings_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } return out, nil } -func (c *arduinoCoreServiceClient) Debug(ctx context.Context, opts ...grpc.CallOption) (ArduinoCoreService_DebugClient, error) { - stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[20], ArduinoCoreService_Debug_FullMethodName, opts...) +func (c *arduinoCoreServiceClient) Debug(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[DebugRequest, DebugResponse], error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[20], ArduinoCoreService_Debug_FullMethodName, cOpts...) if err != nil { return nil, err } - x := &arduinoCoreServiceDebugClient{stream} + x := &grpc.GenericClientStream[DebugRequest, DebugResponse]{ClientStream: stream} return x, nil } -type ArduinoCoreService_DebugClient interface { - Send(*DebugRequest) error - Recv() (*DebugResponse, error) - grpc.ClientStream -} - -type arduinoCoreServiceDebugClient struct { - grpc.ClientStream -} - -func (x *arduinoCoreServiceDebugClient) Send(m *DebugRequest) error { - return x.ClientStream.SendMsg(m) -} - -func (x *arduinoCoreServiceDebugClient) Recv() (*DebugResponse, error) { - m := new(DebugResponse) - if err := x.ClientStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_DebugClient = grpc.BidiStreamingClient[DebugRequest, DebugResponse] func (c *arduinoCoreServiceClient) IsDebugSupported(ctx context.Context, in *IsDebugSupportedRequest, opts ...grpc.CallOption) (*IsDebugSupportedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(IsDebugSupportedResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_IsDebugSupported_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_IsDebugSupported_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1047,8 +786,9 @@ func (c *arduinoCoreServiceClient) IsDebugSupported(ctx context.Context, in *IsD } func (c *arduinoCoreServiceClient) GetDebugConfig(ctx context.Context, in *GetDebugConfigRequest, opts ...grpc.CallOption) (*GetDebugConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetDebugConfigResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_GetDebugConfig_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_GetDebugConfig_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1056,8 +796,9 @@ func (c *arduinoCoreServiceClient) GetDebugConfig(ctx context.Context, in *GetDe } func (c *arduinoCoreServiceClient) CheckForArduinoCLIUpdates(ctx context.Context, in *CheckForArduinoCLIUpdatesRequest, opts ...grpc.CallOption) (*CheckForArduinoCLIUpdatesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CheckForArduinoCLIUpdatesResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_CheckForArduinoCLIUpdates_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_CheckForArduinoCLIUpdates_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1065,8 +806,9 @@ func (c *arduinoCoreServiceClient) CheckForArduinoCLIUpdates(ctx context.Context } func (c *arduinoCoreServiceClient) CleanDownloadCacheDirectory(ctx context.Context, in *CleanDownloadCacheDirectoryRequest, opts ...grpc.CallOption) (*CleanDownloadCacheDirectoryResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(CleanDownloadCacheDirectoryResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_CleanDownloadCacheDirectory_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1074,8 +816,9 @@ func (c *arduinoCoreServiceClient) CleanDownloadCacheDirectory(ctx context.Conte } func (c *arduinoCoreServiceClient) ConfigurationSave(ctx context.Context, in *ConfigurationSaveRequest, opts ...grpc.CallOption) (*ConfigurationSaveResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConfigurationSaveResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationSave_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationSave_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1083,8 +826,9 @@ func (c *arduinoCoreServiceClient) ConfigurationSave(ctx context.Context, in *Co } func (c *arduinoCoreServiceClient) ConfigurationOpen(ctx context.Context, in *ConfigurationOpenRequest, opts ...grpc.CallOption) (*ConfigurationOpenResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConfigurationOpenResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationOpen_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationOpen_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1092,8 +836,9 @@ func (c *arduinoCoreServiceClient) ConfigurationOpen(ctx context.Context, in *Co } func (c *arduinoCoreServiceClient) ConfigurationGet(ctx context.Context, in *ConfigurationGetRequest, opts ...grpc.CallOption) (*ConfigurationGetResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ConfigurationGetResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationGet_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_ConfigurationGet_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1101,8 +846,9 @@ func (c *arduinoCoreServiceClient) ConfigurationGet(ctx context.Context, in *Con } func (c *arduinoCoreServiceClient) SettingsEnumerate(ctx context.Context, in *SettingsEnumerateRequest, opts ...grpc.CallOption) (*SettingsEnumerateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SettingsEnumerateResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsEnumerate_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsEnumerate_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1110,8 +856,9 @@ func (c *arduinoCoreServiceClient) SettingsEnumerate(ctx context.Context, in *Se } func (c *arduinoCoreServiceClient) SettingsGetValue(ctx context.Context, in *SettingsGetValueRequest, opts ...grpc.CallOption) (*SettingsGetValueResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SettingsGetValueResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetValue_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsGetValue_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1119,8 +866,9 @@ func (c *arduinoCoreServiceClient) SettingsGetValue(ctx context.Context, in *Set } func (c *arduinoCoreServiceClient) SettingsSetValue(ctx context.Context, in *SettingsSetValueRequest, opts ...grpc.CallOption) (*SettingsSetValueResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(SettingsSetValueResponse) - err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsSetValue_FullMethodName, in, out, opts...) + err := c.cc.Invoke(ctx, ArduinoCoreService_SettingsSetValue_FullMethodName, in, out, cOpts...) if err != nil { return nil, err } @@ -1129,32 +877,34 @@ func (c *arduinoCoreServiceClient) SettingsSetValue(ctx context.Context, in *Set // ArduinoCoreServiceServer is the server API for ArduinoCoreService service. // All implementations must embed UnimplementedArduinoCoreServiceServer -// for forward compatibility +// for forward compatibility. +// +// The main Arduino Platform service API. type ArduinoCoreServiceServer interface { - // Create a new Arduino Core instance + // Create a new Arduino Core instance. Create(context.Context, *CreateRequest) (*CreateResponse, error) // Initializes an existing Arduino Core instance by loading platforms and - // libraries - Init(*InitRequest, ArduinoCoreService_InitServer) error - // Destroy an instance of the Arduino Core Service + // libraries. + Init(*InitRequest, grpc.ServerStreamingServer[InitResponse]) error + // Destroy an instance of the Arduino Core Service. Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) - // Update package index of the Arduino Core Service - UpdateIndex(*UpdateIndexRequest, ArduinoCoreService_UpdateIndexServer) error - // Update libraries index - UpdateLibrariesIndex(*UpdateLibrariesIndexRequest, ArduinoCoreService_UpdateLibrariesIndexServer) error + // Update package index of the Arduino Core Service. + UpdateIndex(*UpdateIndexRequest, grpc.ServerStreamingServer[UpdateIndexResponse]) error + // Update libraries index. + UpdateLibrariesIndex(*UpdateLibrariesIndexRequest, grpc.ServerStreamingServer[UpdateLibrariesIndexResponse]) error // Get the version of Arduino CLI in use. Version(context.Context, *VersionRequest) (*VersionResponse, error) - // Create a new Sketch + // Create a new Sketch. NewSketch(context.Context, *NewSketchRequest) (*NewSketchResponse, error) - // Returns all files composing a Sketch + // Returns all files composing a Sketch. LoadSketch(context.Context, *LoadSketchRequest) (*LoadSketchResponse, error) - // Creates a zip file containing all files of specified Sketch + // Creates a zip file containing all files of specified Sketch. ArchiveSketch(context.Context, *ArchiveSketchRequest) (*ArchiveSketchResponse, error) // Sets the sketch default FQBN and Port Address/Protocol in // the sketch project file (sketch.yaml). These metadata can be retrieved // using LoadSketch. SetSketchDefaults(context.Context, *SetSketchDefaultsRequest) (*SetSketchDefaultsResponse, error) - // Requests details about a board + // Requests details about a board. BoardDetails(context.Context, *BoardDetailsRequest) (*BoardDetailsResponse, error) // List the boards currently connected to the computer. BoardList(context.Context, *BoardListRequest) (*BoardListResponse, error) @@ -1163,47 +913,47 @@ type ArduinoCoreServiceServer interface { // Search boards in installed and not installed Platforms. BoardSearch(context.Context, *BoardSearchRequest) (*BoardSearchResponse, error) // List boards connection and disconnected events. - BoardListWatch(*BoardListWatchRequest, ArduinoCoreService_BoardListWatchServer) error + BoardListWatch(*BoardListWatchRequest, grpc.ServerStreamingServer[BoardListWatchResponse]) error // Compile an Arduino sketch. - Compile(*CompileRequest, ArduinoCoreService_CompileServer) error + Compile(*CompileRequest, grpc.ServerStreamingServer[CompileResponse]) error // Download and install a platform and its tool dependencies. - PlatformInstall(*PlatformInstallRequest, ArduinoCoreService_PlatformInstallServer) error + PlatformInstall(*PlatformInstallRequest, grpc.ServerStreamingServer[PlatformInstallResponse]) error // Download a platform and its tool dependencies to the `staging/packages` // subdirectory of the data directory. - PlatformDownload(*PlatformDownloadRequest, ArduinoCoreService_PlatformDownloadServer) error + PlatformDownload(*PlatformDownloadRequest, grpc.ServerStreamingServer[PlatformDownloadResponse]) error // Uninstall a platform as well as its tool dependencies that are not used by // other installed platforms. - PlatformUninstall(*PlatformUninstallRequest, ArduinoCoreService_PlatformUninstallServer) error + PlatformUninstall(*PlatformUninstallRequest, grpc.ServerStreamingServer[PlatformUninstallResponse]) error // Upgrade an installed platform to the latest version. - PlatformUpgrade(*PlatformUpgradeRequest, ArduinoCoreService_PlatformUpgradeServer) error + PlatformUpgrade(*PlatformUpgradeRequest, grpc.ServerStreamingServer[PlatformUpgradeResponse]) error // Upload a compiled sketch to a board. - Upload(*UploadRequest, ArduinoCoreService_UploadServer) error + Upload(*UploadRequest, grpc.ServerStreamingServer[UploadResponse]) error // Upload a compiled sketch to a board using a programmer. - UploadUsingProgrammer(*UploadUsingProgrammerRequest, ArduinoCoreService_UploadUsingProgrammerServer) error + UploadUsingProgrammer(*UploadUsingProgrammerRequest, grpc.ServerStreamingServer[UploadUsingProgrammerResponse]) error // Returns the list of users fields necessary to upload to that board // using the specified protocol. SupportedUserFields(context.Context, *SupportedUserFieldsRequest) (*SupportedUserFieldsResponse, error) // List programmers available for a board. ListProgrammersAvailableForUpload(context.Context, *ListProgrammersAvailableForUploadRequest) (*ListProgrammersAvailableForUploadResponse, error) // Burn bootloader to a board. - BurnBootloader(*BurnBootloaderRequest, ArduinoCoreService_BurnBootloaderServer) error + BurnBootloader(*BurnBootloaderRequest, grpc.ServerStreamingServer[BurnBootloaderResponse]) error // Search for a platform in the platforms indexes. PlatformSearch(context.Context, *PlatformSearchRequest) (*PlatformSearchResponse, error) // Download the archive file of an Arduino library in the libraries index to // the staging directory. - LibraryDownload(*LibraryDownloadRequest, ArduinoCoreService_LibraryDownloadServer) error + LibraryDownload(*LibraryDownloadRequest, grpc.ServerStreamingServer[LibraryDownloadResponse]) error // Download and install an Arduino library from the libraries index. - LibraryInstall(*LibraryInstallRequest, ArduinoCoreService_LibraryInstallServer) error + LibraryInstall(*LibraryInstallRequest, grpc.ServerStreamingServer[LibraryInstallResponse]) error // Upgrade a library to the newest version available. - LibraryUpgrade(*LibraryUpgradeRequest, ArduinoCoreService_LibraryUpgradeServer) error - // Install a library from a Zip File - ZipLibraryInstall(*ZipLibraryInstallRequest, ArduinoCoreService_ZipLibraryInstallServer) error - // Download and install a library from a git url - GitLibraryInstall(*GitLibraryInstallRequest, ArduinoCoreService_GitLibraryInstallServer) error + LibraryUpgrade(*LibraryUpgradeRequest, grpc.ServerStreamingServer[LibraryUpgradeResponse]) error + // Install a library from a Zip File. + ZipLibraryInstall(*ZipLibraryInstallRequest, grpc.ServerStreamingServer[ZipLibraryInstallResponse]) error + // Download and install a library from a git url. + GitLibraryInstall(*GitLibraryInstallRequest, grpc.ServerStreamingServer[GitLibraryInstallResponse]) error // Uninstall an Arduino library. - LibraryUninstall(*LibraryUninstallRequest, ArduinoCoreService_LibraryUninstallServer) error + LibraryUninstall(*LibraryUninstallRequest, grpc.ServerStreamingServer[LibraryUninstallResponse]) error // Upgrade all installed Arduino libraries to the newest version available. - LibraryUpgradeAll(*LibraryUpgradeAllRequest, ArduinoCoreService_LibraryUpgradeAllServer) error + LibraryUpgradeAll(*LibraryUpgradeAllRequest, grpc.ServerStreamingServer[LibraryUpgradeAllResponse]) error // List the recursive dependencies of a library, as defined by the `depends` // field of the library.properties files. LibraryResolveDependencies(context.Context, *LibraryResolveDependenciesRequest) (*LibraryResolveDependenciesResponse, error) @@ -1211,12 +961,12 @@ type ArduinoCoreServiceServer interface { LibrarySearch(context.Context, *LibrarySearchRequest) (*LibrarySearchResponse, error) // List the installed libraries. LibraryList(context.Context, *LibraryListRequest) (*LibraryListResponse, error) - // Open a monitor connection to a board port - Monitor(ArduinoCoreService_MonitorServer) error - // Returns the parameters that can be set in the MonitorRequest calls + // Open a monitor connection to a board port. + Monitor(grpc.BidiStreamingServer[MonitorRequest, MonitorResponse]) error + // Returns the parameters that can be set in the MonitorRequest calls. EnumerateMonitorPortSettings(context.Context, *EnumerateMonitorPortSettingsRequest) (*EnumerateMonitorPortSettingsResponse, error) // Start a debug session and communicate with the debugger tool. - Debug(ArduinoCoreService_DebugServer) error + Debug(grpc.BidiStreamingServer[DebugRequest, DebugResponse]) error // Determine if debugging is suported given a specific configuration. IsDebugSupported(context.Context, *IsDebugSupportedRequest) (*IsDebugSupportedResponse, error) // Query the debugger information given a specific configuration. @@ -1225,37 +975,41 @@ type ArduinoCoreServiceServer interface { CheckForArduinoCLIUpdates(context.Context, *CheckForArduinoCLIUpdatesRequest) (*CheckForArduinoCLIUpdatesResponse, error) // Clean the download cache directory (where archives are downloaded). CleanDownloadCacheDirectory(context.Context, *CleanDownloadCacheDirectoryRequest) (*CleanDownloadCacheDirectoryResponse, error) - // Writes the settings currently stored in memory in a YAML file + // Writes the settings currently stored in memory in a YAML file. ConfigurationSave(context.Context, *ConfigurationSaveRequest) (*ConfigurationSaveResponse, error) - // Read the settings from a YAML file + // Read the settings from a YAML file. ConfigurationOpen(context.Context, *ConfigurationOpenRequest) (*ConfigurationOpenResponse, error) + // Get the current configuration. ConfigurationGet(context.Context, *ConfigurationGetRequest) (*ConfigurationGetResponse, error) - // Enumerate all the keys/values pairs available in the configuration + // Enumerate all the keys/values pairs available in the configuration. SettingsEnumerate(context.Context, *SettingsEnumerateRequest) (*SettingsEnumerateResponse, error) - // Get a single configuration value + // Get a single configuration value. SettingsGetValue(context.Context, *SettingsGetValueRequest) (*SettingsGetValueResponse, error) - // Set a single configuration value + // Set a single configuration value. SettingsSetValue(context.Context, *SettingsSetValueRequest) (*SettingsSetValueResponse, error) mustEmbedUnimplementedArduinoCoreServiceServer() } -// UnimplementedArduinoCoreServiceServer must be embedded to have forward compatible implementations. -type UnimplementedArduinoCoreServiceServer struct { -} +// UnimplementedArduinoCoreServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedArduinoCoreServiceServer struct{} func (UnimplementedArduinoCoreServiceServer) Create(context.Context, *CreateRequest) (*CreateResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Create not implemented") } -func (UnimplementedArduinoCoreServiceServer) Init(*InitRequest, ArduinoCoreService_InitServer) error { +func (UnimplementedArduinoCoreServiceServer) Init(*InitRequest, grpc.ServerStreamingServer[InitResponse]) error { return status.Errorf(codes.Unimplemented, "method Init not implemented") } func (UnimplementedArduinoCoreServiceServer) Destroy(context.Context, *DestroyRequest) (*DestroyResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method Destroy not implemented") } -func (UnimplementedArduinoCoreServiceServer) UpdateIndex(*UpdateIndexRequest, ArduinoCoreService_UpdateIndexServer) error { +func (UnimplementedArduinoCoreServiceServer) UpdateIndex(*UpdateIndexRequest, grpc.ServerStreamingServer[UpdateIndexResponse]) error { return status.Errorf(codes.Unimplemented, "method UpdateIndex not implemented") } -func (UnimplementedArduinoCoreServiceServer) UpdateLibrariesIndex(*UpdateLibrariesIndexRequest, ArduinoCoreService_UpdateLibrariesIndexServer) error { +func (UnimplementedArduinoCoreServiceServer) UpdateLibrariesIndex(*UpdateLibrariesIndexRequest, grpc.ServerStreamingServer[UpdateLibrariesIndexResponse]) error { return status.Errorf(codes.Unimplemented, "method UpdateLibrariesIndex not implemented") } func (UnimplementedArduinoCoreServiceServer) Version(context.Context, *VersionRequest) (*VersionResponse, error) { @@ -1285,28 +1039,28 @@ func (UnimplementedArduinoCoreServiceServer) BoardListAll(context.Context, *Boar func (UnimplementedArduinoCoreServiceServer) BoardSearch(context.Context, *BoardSearchRequest) (*BoardSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BoardSearch not implemented") } -func (UnimplementedArduinoCoreServiceServer) BoardListWatch(*BoardListWatchRequest, ArduinoCoreService_BoardListWatchServer) error { +func (UnimplementedArduinoCoreServiceServer) BoardListWatch(*BoardListWatchRequest, grpc.ServerStreamingServer[BoardListWatchResponse]) error { return status.Errorf(codes.Unimplemented, "method BoardListWatch not implemented") } -func (UnimplementedArduinoCoreServiceServer) Compile(*CompileRequest, ArduinoCoreService_CompileServer) error { +func (UnimplementedArduinoCoreServiceServer) Compile(*CompileRequest, grpc.ServerStreamingServer[CompileResponse]) error { return status.Errorf(codes.Unimplemented, "method Compile not implemented") } -func (UnimplementedArduinoCoreServiceServer) PlatformInstall(*PlatformInstallRequest, ArduinoCoreService_PlatformInstallServer) error { +func (UnimplementedArduinoCoreServiceServer) PlatformInstall(*PlatformInstallRequest, grpc.ServerStreamingServer[PlatformInstallResponse]) error { return status.Errorf(codes.Unimplemented, "method PlatformInstall not implemented") } -func (UnimplementedArduinoCoreServiceServer) PlatformDownload(*PlatformDownloadRequest, ArduinoCoreService_PlatformDownloadServer) error { +func (UnimplementedArduinoCoreServiceServer) PlatformDownload(*PlatformDownloadRequest, grpc.ServerStreamingServer[PlatformDownloadResponse]) error { return status.Errorf(codes.Unimplemented, "method PlatformDownload not implemented") } -func (UnimplementedArduinoCoreServiceServer) PlatformUninstall(*PlatformUninstallRequest, ArduinoCoreService_PlatformUninstallServer) error { +func (UnimplementedArduinoCoreServiceServer) PlatformUninstall(*PlatformUninstallRequest, grpc.ServerStreamingServer[PlatformUninstallResponse]) error { return status.Errorf(codes.Unimplemented, "method PlatformUninstall not implemented") } -func (UnimplementedArduinoCoreServiceServer) PlatformUpgrade(*PlatformUpgradeRequest, ArduinoCoreService_PlatformUpgradeServer) error { +func (UnimplementedArduinoCoreServiceServer) PlatformUpgrade(*PlatformUpgradeRequest, grpc.ServerStreamingServer[PlatformUpgradeResponse]) error { return status.Errorf(codes.Unimplemented, "method PlatformUpgrade not implemented") } -func (UnimplementedArduinoCoreServiceServer) Upload(*UploadRequest, ArduinoCoreService_UploadServer) error { +func (UnimplementedArduinoCoreServiceServer) Upload(*UploadRequest, grpc.ServerStreamingServer[UploadResponse]) error { return status.Errorf(codes.Unimplemented, "method Upload not implemented") } -func (UnimplementedArduinoCoreServiceServer) UploadUsingProgrammer(*UploadUsingProgrammerRequest, ArduinoCoreService_UploadUsingProgrammerServer) error { +func (UnimplementedArduinoCoreServiceServer) UploadUsingProgrammer(*UploadUsingProgrammerRequest, grpc.ServerStreamingServer[UploadUsingProgrammerResponse]) error { return status.Errorf(codes.Unimplemented, "method UploadUsingProgrammer not implemented") } func (UnimplementedArduinoCoreServiceServer) SupportedUserFields(context.Context, *SupportedUserFieldsRequest) (*SupportedUserFieldsResponse, error) { @@ -1315,31 +1069,31 @@ func (UnimplementedArduinoCoreServiceServer) SupportedUserFields(context.Context func (UnimplementedArduinoCoreServiceServer) ListProgrammersAvailableForUpload(context.Context, *ListProgrammersAvailableForUploadRequest) (*ListProgrammersAvailableForUploadResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListProgrammersAvailableForUpload not implemented") } -func (UnimplementedArduinoCoreServiceServer) BurnBootloader(*BurnBootloaderRequest, ArduinoCoreService_BurnBootloaderServer) error { +func (UnimplementedArduinoCoreServiceServer) BurnBootloader(*BurnBootloaderRequest, grpc.ServerStreamingServer[BurnBootloaderResponse]) error { return status.Errorf(codes.Unimplemented, "method BurnBootloader not implemented") } func (UnimplementedArduinoCoreServiceServer) PlatformSearch(context.Context, *PlatformSearchRequest) (*PlatformSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method PlatformSearch not implemented") } -func (UnimplementedArduinoCoreServiceServer) LibraryDownload(*LibraryDownloadRequest, ArduinoCoreService_LibraryDownloadServer) error { +func (UnimplementedArduinoCoreServiceServer) LibraryDownload(*LibraryDownloadRequest, grpc.ServerStreamingServer[LibraryDownloadResponse]) error { return status.Errorf(codes.Unimplemented, "method LibraryDownload not implemented") } -func (UnimplementedArduinoCoreServiceServer) LibraryInstall(*LibraryInstallRequest, ArduinoCoreService_LibraryInstallServer) error { +func (UnimplementedArduinoCoreServiceServer) LibraryInstall(*LibraryInstallRequest, grpc.ServerStreamingServer[LibraryInstallResponse]) error { return status.Errorf(codes.Unimplemented, "method LibraryInstall not implemented") } -func (UnimplementedArduinoCoreServiceServer) LibraryUpgrade(*LibraryUpgradeRequest, ArduinoCoreService_LibraryUpgradeServer) error { +func (UnimplementedArduinoCoreServiceServer) LibraryUpgrade(*LibraryUpgradeRequest, grpc.ServerStreamingServer[LibraryUpgradeResponse]) error { return status.Errorf(codes.Unimplemented, "method LibraryUpgrade not implemented") } -func (UnimplementedArduinoCoreServiceServer) ZipLibraryInstall(*ZipLibraryInstallRequest, ArduinoCoreService_ZipLibraryInstallServer) error { +func (UnimplementedArduinoCoreServiceServer) ZipLibraryInstall(*ZipLibraryInstallRequest, grpc.ServerStreamingServer[ZipLibraryInstallResponse]) error { return status.Errorf(codes.Unimplemented, "method ZipLibraryInstall not implemented") } -func (UnimplementedArduinoCoreServiceServer) GitLibraryInstall(*GitLibraryInstallRequest, ArduinoCoreService_GitLibraryInstallServer) error { +func (UnimplementedArduinoCoreServiceServer) GitLibraryInstall(*GitLibraryInstallRequest, grpc.ServerStreamingServer[GitLibraryInstallResponse]) error { return status.Errorf(codes.Unimplemented, "method GitLibraryInstall not implemented") } -func (UnimplementedArduinoCoreServiceServer) LibraryUninstall(*LibraryUninstallRequest, ArduinoCoreService_LibraryUninstallServer) error { +func (UnimplementedArduinoCoreServiceServer) LibraryUninstall(*LibraryUninstallRequest, grpc.ServerStreamingServer[LibraryUninstallResponse]) error { return status.Errorf(codes.Unimplemented, "method LibraryUninstall not implemented") } -func (UnimplementedArduinoCoreServiceServer) LibraryUpgradeAll(*LibraryUpgradeAllRequest, ArduinoCoreService_LibraryUpgradeAllServer) error { +func (UnimplementedArduinoCoreServiceServer) LibraryUpgradeAll(*LibraryUpgradeAllRequest, grpc.ServerStreamingServer[LibraryUpgradeAllResponse]) error { return status.Errorf(codes.Unimplemented, "method LibraryUpgradeAll not implemented") } func (UnimplementedArduinoCoreServiceServer) LibraryResolveDependencies(context.Context, *LibraryResolveDependenciesRequest) (*LibraryResolveDependenciesResponse, error) { @@ -1351,13 +1105,13 @@ func (UnimplementedArduinoCoreServiceServer) LibrarySearch(context.Context, *Lib func (UnimplementedArduinoCoreServiceServer) LibraryList(context.Context, *LibraryListRequest) (*LibraryListResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method LibraryList not implemented") } -func (UnimplementedArduinoCoreServiceServer) Monitor(ArduinoCoreService_MonitorServer) error { +func (UnimplementedArduinoCoreServiceServer) Monitor(grpc.BidiStreamingServer[MonitorRequest, MonitorResponse]) error { return status.Errorf(codes.Unimplemented, "method Monitor not implemented") } func (UnimplementedArduinoCoreServiceServer) EnumerateMonitorPortSettings(context.Context, *EnumerateMonitorPortSettingsRequest) (*EnumerateMonitorPortSettingsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method EnumerateMonitorPortSettings not implemented") } -func (UnimplementedArduinoCoreServiceServer) Debug(ArduinoCoreService_DebugServer) error { +func (UnimplementedArduinoCoreServiceServer) Debug(grpc.BidiStreamingServer[DebugRequest, DebugResponse]) error { return status.Errorf(codes.Unimplemented, "method Debug not implemented") } func (UnimplementedArduinoCoreServiceServer) IsDebugSupported(context.Context, *IsDebugSupportedRequest) (*IsDebugSupportedResponse, error) { @@ -1391,6 +1145,7 @@ func (UnimplementedArduinoCoreServiceServer) SettingsSetValue(context.Context, * return nil, status.Errorf(codes.Unimplemented, "method SettingsSetValue not implemented") } func (UnimplementedArduinoCoreServiceServer) mustEmbedUnimplementedArduinoCoreServiceServer() {} +func (UnimplementedArduinoCoreServiceServer) testEmbeddedByValue() {} // UnsafeArduinoCoreServiceServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ArduinoCoreServiceServer will @@ -1400,6 +1155,13 @@ type UnsafeArduinoCoreServiceServer interface { } func RegisterArduinoCoreServiceServer(s grpc.ServiceRegistrar, srv ArduinoCoreServiceServer) { + // If the following call pancis, it indicates UnimplementedArduinoCoreServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } s.RegisterService(&ArduinoCoreService_ServiceDesc, srv) } @@ -1426,21 +1188,11 @@ func _ArduinoCoreService_Init_Handler(srv interface{}, stream grpc.ServerStream) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).Init(m, &arduinoCoreServiceInitServer{stream}) + return srv.(ArduinoCoreServiceServer).Init(m, &grpc.GenericServerStream[InitRequest, InitResponse]{ServerStream: stream}) } -type ArduinoCoreService_InitServer interface { - Send(*InitResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceInitServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceInitServer) Send(m *InitResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_InitServer = grpc.ServerStreamingServer[InitResponse] func _ArduinoCoreService_Destroy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DestroyRequest) @@ -1465,42 +1217,22 @@ func _ArduinoCoreService_UpdateIndex_Handler(srv interface{}, stream grpc.Server if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).UpdateIndex(m, &arduinoCoreServiceUpdateIndexServer{stream}) + return srv.(ArduinoCoreServiceServer).UpdateIndex(m, &grpc.GenericServerStream[UpdateIndexRequest, UpdateIndexResponse]{ServerStream: stream}) } -type ArduinoCoreService_UpdateIndexServer interface { - Send(*UpdateIndexResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceUpdateIndexServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceUpdateIndexServer) Send(m *UpdateIndexResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UpdateIndexServer = grpc.ServerStreamingServer[UpdateIndexResponse] func _ArduinoCoreService_UpdateLibrariesIndex_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(UpdateLibrariesIndexRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).UpdateLibrariesIndex(m, &arduinoCoreServiceUpdateLibrariesIndexServer{stream}) -} - -type ArduinoCoreService_UpdateLibrariesIndexServer interface { - Send(*UpdateLibrariesIndexResponse) error - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).UpdateLibrariesIndex(m, &grpc.GenericServerStream[UpdateLibrariesIndexRequest, UpdateLibrariesIndexResponse]{ServerStream: stream}) } -type arduinoCoreServiceUpdateLibrariesIndexServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceUpdateLibrariesIndexServer) Send(m *UpdateLibrariesIndexResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UpdateLibrariesIndexServer = grpc.ServerStreamingServer[UpdateLibrariesIndexResponse] func _ArduinoCoreService_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(VersionRequest) @@ -1669,168 +1401,88 @@ func _ArduinoCoreService_BoardListWatch_Handler(srv interface{}, stream grpc.Ser if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).BoardListWatch(m, &arduinoCoreServiceBoardListWatchServer{stream}) + return srv.(ArduinoCoreServiceServer).BoardListWatch(m, &grpc.GenericServerStream[BoardListWatchRequest, BoardListWatchResponse]{ServerStream: stream}) } -type ArduinoCoreService_BoardListWatchServer interface { - Send(*BoardListWatchResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceBoardListWatchServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceBoardListWatchServer) Send(m *BoardListWatchResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_BoardListWatchServer = grpc.ServerStreamingServer[BoardListWatchResponse] func _ArduinoCoreService_Compile_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(CompileRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).Compile(m, &arduinoCoreServiceCompileServer{stream}) + return srv.(ArduinoCoreServiceServer).Compile(m, &grpc.GenericServerStream[CompileRequest, CompileResponse]{ServerStream: stream}) } -type ArduinoCoreService_CompileServer interface { - Send(*CompileResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceCompileServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceCompileServer) Send(m *CompileResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_CompileServer = grpc.ServerStreamingServer[CompileResponse] func _ArduinoCoreService_PlatformInstall_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(PlatformInstallRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).PlatformInstall(m, &arduinoCoreServicePlatformInstallServer{stream}) -} - -type ArduinoCoreService_PlatformInstallServer interface { - Send(*PlatformInstallResponse) error - grpc.ServerStream -} - -type arduinoCoreServicePlatformInstallServer struct { - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).PlatformInstall(m, &grpc.GenericServerStream[PlatformInstallRequest, PlatformInstallResponse]{ServerStream: stream}) } -func (x *arduinoCoreServicePlatformInstallServer) Send(m *PlatformInstallResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformInstallServer = grpc.ServerStreamingServer[PlatformInstallResponse] func _ArduinoCoreService_PlatformDownload_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(PlatformDownloadRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).PlatformDownload(m, &arduinoCoreServicePlatformDownloadServer{stream}) + return srv.(ArduinoCoreServiceServer).PlatformDownload(m, &grpc.GenericServerStream[PlatformDownloadRequest, PlatformDownloadResponse]{ServerStream: stream}) } -type ArduinoCoreService_PlatformDownloadServer interface { - Send(*PlatformDownloadResponse) error - grpc.ServerStream -} - -type arduinoCoreServicePlatformDownloadServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServicePlatformDownloadServer) Send(m *PlatformDownloadResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformDownloadServer = grpc.ServerStreamingServer[PlatformDownloadResponse] func _ArduinoCoreService_PlatformUninstall_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(PlatformUninstallRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).PlatformUninstall(m, &arduinoCoreServicePlatformUninstallServer{stream}) -} - -type ArduinoCoreService_PlatformUninstallServer interface { - Send(*PlatformUninstallResponse) error - grpc.ServerStream -} - -type arduinoCoreServicePlatformUninstallServer struct { - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).PlatformUninstall(m, &grpc.GenericServerStream[PlatformUninstallRequest, PlatformUninstallResponse]{ServerStream: stream}) } -func (x *arduinoCoreServicePlatformUninstallServer) Send(m *PlatformUninstallResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformUninstallServer = grpc.ServerStreamingServer[PlatformUninstallResponse] func _ArduinoCoreService_PlatformUpgrade_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(PlatformUpgradeRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).PlatformUpgrade(m, &arduinoCoreServicePlatformUpgradeServer{stream}) -} - -type ArduinoCoreService_PlatformUpgradeServer interface { - Send(*PlatformUpgradeResponse) error - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).PlatformUpgrade(m, &grpc.GenericServerStream[PlatformUpgradeRequest, PlatformUpgradeResponse]{ServerStream: stream}) } -type arduinoCoreServicePlatformUpgradeServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServicePlatformUpgradeServer) Send(m *PlatformUpgradeResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_PlatformUpgradeServer = grpc.ServerStreamingServer[PlatformUpgradeResponse] func _ArduinoCoreService_Upload_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(UploadRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).Upload(m, &arduinoCoreServiceUploadServer{stream}) -} - -type ArduinoCoreService_UploadServer interface { - Send(*UploadResponse) error - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).Upload(m, &grpc.GenericServerStream[UploadRequest, UploadResponse]{ServerStream: stream}) } -type arduinoCoreServiceUploadServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceUploadServer) Send(m *UploadResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UploadServer = grpc.ServerStreamingServer[UploadResponse] func _ArduinoCoreService_UploadUsingProgrammer_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(UploadUsingProgrammerRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).UploadUsingProgrammer(m, &arduinoCoreServiceUploadUsingProgrammerServer{stream}) + return srv.(ArduinoCoreServiceServer).UploadUsingProgrammer(m, &grpc.GenericServerStream[UploadUsingProgrammerRequest, UploadUsingProgrammerResponse]{ServerStream: stream}) } -type ArduinoCoreService_UploadUsingProgrammerServer interface { - Send(*UploadUsingProgrammerResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceUploadUsingProgrammerServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceUploadUsingProgrammerServer) Send(m *UploadUsingProgrammerResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_UploadUsingProgrammerServer = grpc.ServerStreamingServer[UploadUsingProgrammerResponse] func _ArduinoCoreService_SupportedUserFields_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(SupportedUserFieldsRequest) @@ -1873,21 +1525,11 @@ func _ArduinoCoreService_BurnBootloader_Handler(srv interface{}, stream grpc.Ser if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).BurnBootloader(m, &arduinoCoreServiceBurnBootloaderServer{stream}) + return srv.(ArduinoCoreServiceServer).BurnBootloader(m, &grpc.GenericServerStream[BurnBootloaderRequest, BurnBootloaderResponse]{ServerStream: stream}) } -type ArduinoCoreService_BurnBootloaderServer interface { - Send(*BurnBootloaderResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceBurnBootloaderServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceBurnBootloaderServer) Send(m *BurnBootloaderResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_BurnBootloaderServer = grpc.ServerStreamingServer[BurnBootloaderResponse] func _ArduinoCoreService_PlatformSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(PlatformSearchRequest) @@ -1912,147 +1554,77 @@ func _ArduinoCoreService_LibraryDownload_Handler(srv interface{}, stream grpc.Se if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).LibraryDownload(m, &arduinoCoreServiceLibraryDownloadServer{stream}) -} - -type ArduinoCoreService_LibraryDownloadServer interface { - Send(*LibraryDownloadResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceLibraryDownloadServer struct { - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).LibraryDownload(m, &grpc.GenericServerStream[LibraryDownloadRequest, LibraryDownloadResponse]{ServerStream: stream}) } -func (x *arduinoCoreServiceLibraryDownloadServer) Send(m *LibraryDownloadResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryDownloadServer = grpc.ServerStreamingServer[LibraryDownloadResponse] func _ArduinoCoreService_LibraryInstall_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(LibraryInstallRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).LibraryInstall(m, &arduinoCoreServiceLibraryInstallServer{stream}) + return srv.(ArduinoCoreServiceServer).LibraryInstall(m, &grpc.GenericServerStream[LibraryInstallRequest, LibraryInstallResponse]{ServerStream: stream}) } -type ArduinoCoreService_LibraryInstallServer interface { - Send(*LibraryInstallResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceLibraryInstallServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceLibraryInstallServer) Send(m *LibraryInstallResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryInstallServer = grpc.ServerStreamingServer[LibraryInstallResponse] func _ArduinoCoreService_LibraryUpgrade_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(LibraryUpgradeRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).LibraryUpgrade(m, &arduinoCoreServiceLibraryUpgradeServer{stream}) + return srv.(ArduinoCoreServiceServer).LibraryUpgrade(m, &grpc.GenericServerStream[LibraryUpgradeRequest, LibraryUpgradeResponse]{ServerStream: stream}) } -type ArduinoCoreService_LibraryUpgradeServer interface { - Send(*LibraryUpgradeResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceLibraryUpgradeServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceLibraryUpgradeServer) Send(m *LibraryUpgradeResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryUpgradeServer = grpc.ServerStreamingServer[LibraryUpgradeResponse] func _ArduinoCoreService_ZipLibraryInstall_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(ZipLibraryInstallRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).ZipLibraryInstall(m, &arduinoCoreServiceZipLibraryInstallServer{stream}) -} - -type ArduinoCoreService_ZipLibraryInstallServer interface { - Send(*ZipLibraryInstallResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceZipLibraryInstallServer struct { - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).ZipLibraryInstall(m, &grpc.GenericServerStream[ZipLibraryInstallRequest, ZipLibraryInstallResponse]{ServerStream: stream}) } -func (x *arduinoCoreServiceZipLibraryInstallServer) Send(m *ZipLibraryInstallResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_ZipLibraryInstallServer = grpc.ServerStreamingServer[ZipLibraryInstallResponse] func _ArduinoCoreService_GitLibraryInstall_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(GitLibraryInstallRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).GitLibraryInstall(m, &arduinoCoreServiceGitLibraryInstallServer{stream}) + return srv.(ArduinoCoreServiceServer).GitLibraryInstall(m, &grpc.GenericServerStream[GitLibraryInstallRequest, GitLibraryInstallResponse]{ServerStream: stream}) } -type ArduinoCoreService_GitLibraryInstallServer interface { - Send(*GitLibraryInstallResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceGitLibraryInstallServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceGitLibraryInstallServer) Send(m *GitLibraryInstallResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_GitLibraryInstallServer = grpc.ServerStreamingServer[GitLibraryInstallResponse] func _ArduinoCoreService_LibraryUninstall_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(LibraryUninstallRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).LibraryUninstall(m, &arduinoCoreServiceLibraryUninstallServer{stream}) + return srv.(ArduinoCoreServiceServer).LibraryUninstall(m, &grpc.GenericServerStream[LibraryUninstallRequest, LibraryUninstallResponse]{ServerStream: stream}) } -type ArduinoCoreService_LibraryUninstallServer interface { - Send(*LibraryUninstallResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceLibraryUninstallServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceLibraryUninstallServer) Send(m *LibraryUninstallResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryUninstallServer = grpc.ServerStreamingServer[LibraryUninstallResponse] func _ArduinoCoreService_LibraryUpgradeAll_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(LibraryUpgradeAllRequest) if err := stream.RecvMsg(m); err != nil { return err } - return srv.(ArduinoCoreServiceServer).LibraryUpgradeAll(m, &arduinoCoreServiceLibraryUpgradeAllServer{stream}) -} - -type ArduinoCoreService_LibraryUpgradeAllServer interface { - Send(*LibraryUpgradeAllResponse) error - grpc.ServerStream -} - -type arduinoCoreServiceLibraryUpgradeAllServer struct { - grpc.ServerStream + return srv.(ArduinoCoreServiceServer).LibraryUpgradeAll(m, &grpc.GenericServerStream[LibraryUpgradeAllRequest, LibraryUpgradeAllResponse]{ServerStream: stream}) } -func (x *arduinoCoreServiceLibraryUpgradeAllServer) Send(m *LibraryUpgradeAllResponse) error { - return x.ServerStream.SendMsg(m) -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_LibraryUpgradeAllServer = grpc.ServerStreamingServer[LibraryUpgradeAllResponse] func _ArduinoCoreService_LibraryResolveDependencies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(LibraryResolveDependenciesRequest) @@ -2109,30 +1681,11 @@ func _ArduinoCoreService_LibraryList_Handler(srv interface{}, ctx context.Contex } func _ArduinoCoreService_Monitor_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(ArduinoCoreServiceServer).Monitor(&arduinoCoreServiceMonitorServer{stream}) + return srv.(ArduinoCoreServiceServer).Monitor(&grpc.GenericServerStream[MonitorRequest, MonitorResponse]{ServerStream: stream}) } -type ArduinoCoreService_MonitorServer interface { - Send(*MonitorResponse) error - Recv() (*MonitorRequest, error) - grpc.ServerStream -} - -type arduinoCoreServiceMonitorServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceMonitorServer) Send(m *MonitorResponse) error { - return x.ServerStream.SendMsg(m) -} - -func (x *arduinoCoreServiceMonitorServer) Recv() (*MonitorRequest, error) { - m := new(MonitorRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_MonitorServer = grpc.BidiStreamingServer[MonitorRequest, MonitorResponse] func _ArduinoCoreService_EnumerateMonitorPortSettings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(EnumerateMonitorPortSettingsRequest) @@ -2153,30 +1706,11 @@ func _ArduinoCoreService_EnumerateMonitorPortSettings_Handler(srv interface{}, c } func _ArduinoCoreService_Debug_Handler(srv interface{}, stream grpc.ServerStream) error { - return srv.(ArduinoCoreServiceServer).Debug(&arduinoCoreServiceDebugServer{stream}) -} - -type ArduinoCoreService_DebugServer interface { - Send(*DebugResponse) error - Recv() (*DebugRequest, error) - grpc.ServerStream -} - -type arduinoCoreServiceDebugServer struct { - grpc.ServerStream -} - -func (x *arduinoCoreServiceDebugServer) Send(m *DebugResponse) error { - return x.ServerStream.SendMsg(m) + return srv.(ArduinoCoreServiceServer).Debug(&grpc.GenericServerStream[DebugRequest, DebugResponse]{ServerStream: stream}) } -func (x *arduinoCoreServiceDebugServer) Recv() (*DebugRequest, error) { - m := new(DebugRequest) - if err := x.ServerStream.RecvMsg(m); err != nil { - return nil, err - } - return m, nil -} +// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name. +type ArduinoCoreService_DebugServer = grpc.BidiStreamingServer[DebugRequest, DebugResponse] func _ArduinoCoreService_IsDebugSupported_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(IsDebugSupportedRequest) diff --git a/rpc/cc/arduino/cli/commands/v1/common.pb.go b/rpc/cc/arduino/cli/commands/v1/common.pb.go index c18b5491a4e..1d8d47f0af0 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/common.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/common.proto package commands @@ -162,14 +162,17 @@ type isDownloadProgress_Message interface { } type DownloadProgress_Start struct { + // Sent when a download is started. Start *DownloadProgressStart `protobuf:"bytes,1,opt,name=start,proto3,oneof"` } type DownloadProgress_Update struct { + // Progress updates for a download. Update *DownloadProgressUpdate `protobuf:"bytes,2,opt,name=update,proto3,oneof"` } type DownloadProgress_End struct { + // Sent when a download is finished or failed. End *DownloadProgressEnd `protobuf:"bytes,3,opt,name=end,proto3,oneof"` } @@ -298,10 +301,10 @@ type DownloadProgressEnd struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // True if the download is successful + // True if the download is successful. Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` // Info or error message, depending on the value of 'success'. Some examples: - // "File xxx already downloaded" or "Connection timeout" + // "File xxx already downloaded" or "Connection timeout". Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } @@ -362,7 +365,7 @@ type TaskProgress struct { Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` // Whether the task is complete. Completed bool `protobuf:"varint,3,opt,name=completed,proto3" json:"completed,omitempty"` - // Amount in percent of the task completion (optional) + // Amount in percent of the task completion (optional). Percent float32 `protobuf:"fixed32,4,opt,name=percent,proto3" json:"percent,omitempty"` } @@ -431,11 +434,11 @@ type Programmer struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Platform name + // Platform name. Platform string `protobuf:"bytes,1,opt,name=platform,proto3" json:"platform,omitempty"` - // Programmer ID + // Programmer ID. Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` - // Programmer name + // Programmer name. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` } @@ -539,9 +542,9 @@ type Platform struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Generic information about a platform + // Generic information about a platform. Metadata *PlatformMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Information about a specific release of a platform + // Information about a specific release of a platform. Release *PlatformRelease `protobuf:"bytes,2,opt,name=release,proto3" json:"release,omitempty"` } @@ -598,11 +601,11 @@ type PlatformSummary struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Generic information about a platform + // Generic information about a platform. Metadata *PlatformMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` - // Maps version to the corresponding PlatformRelease + // Maps version to the corresponding PlatformRelease. Releases map[string]*PlatformRelease `protobuf:"bytes,2,rep,name=releases,proto3" json:"releases,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // The installed version of the platform, or empty string if none installed + // The installed version of the platform, or empty string if none installed. InstalledVersion string `protobuf:"bytes,3,opt,name=installed_version,json=installedVersion,proto3" json:"installed_version,omitempty"` // The latest available version of the platform that can be installable, or // empty if none available. @@ -686,11 +689,11 @@ type PlatformMetadata struct { // Email of the maintainer of the platform's package. Email string `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` // If true this Platform has been installed manually in the user' sketchbook - // hardware folder + // hardware folder. ManuallyInstalled bool `protobuf:"varint,5,opt,name=manually_installed,json=manuallyInstalled,proto3" json:"manually_installed,omitempty"` - // True if the latest release of this Platform has been deprecated + // True if the latest release of this Platform has been deprecated. Deprecated bool `protobuf:"varint,6,opt,name=deprecated,proto3" json:"deprecated,omitempty"` - // If true the platform is indexed + // If true the platform is indexed. Indexed bool `protobuf:"varint,7,opt,name=indexed,proto3" json:"indexed,omitempty"` } @@ -783,11 +786,11 @@ type PlatformRelease struct { // Name used to identify the platform to humans (e.g., "Arduino AVR Boards"). Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Version of the platform release + // Version of the platform release. Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` // Type of the platform. Types []string `protobuf:"bytes,3,rep,name=types,proto3" json:"types,omitempty"` - // True if the platform is installed + // True if the platform is installed. Installed bool `protobuf:"varint,4,opt,name=installed,proto3" json:"installed,omitempty"` // List of boards provided by the platform. If the platform is installed, // this is the boards listed in the platform's boards.txt. If the platform is @@ -804,7 +807,7 @@ type PlatformRelease struct { // may need to be reinstalled. This should be evaluated only when the // PlatformRelease is `Installed` otherwise is an undefined behaviour. MissingMetadata bool `protobuf:"varint,7,opt,name=missing_metadata,json=missingMetadata,proto3" json:"missing_metadata,omitempty"` - // True this release is deprecated + // True this release is deprecated. Deprecated bool `protobuf:"varint,8,opt,name=deprecated,proto3" json:"deprecated,omitempty"` // True if the platform dependencies are available for the current OS/ARCH. // This also means that the platform is installable. @@ -915,9 +918,9 @@ type InstalledPlatformReference struct { Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // Version of the platform. Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` - // Installation directory of the platform + // Installation directory of the platform. InstallDir string `protobuf:"bytes,3,opt,name=install_dir,json=installDir,proto3" json:"install_dir,omitempty"` - // 3rd party platform URL + // 3rd party platform URL. PackageUrl string `protobuf:"bytes,4,opt,name=package_url,json=packageUrl,proto3" json:"package_url,omitempty"` } @@ -1093,30 +1096,30 @@ type Sketch struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Absolute path to a main sketch files + // Absolute path to a main sketch files. MainFile string `protobuf:"bytes,1,opt,name=main_file,json=mainFile,proto3" json:"main_file,omitempty"` - // Absolute path to folder that contains main_file + // Absolute path to folder that contains main_file. LocationPath string `protobuf:"bytes,2,opt,name=location_path,json=locationPath,proto3" json:"location_path,omitempty"` - // List of absolute paths to other sketch files + // List of absolute paths to other sketch files. OtherSketchFiles []string `protobuf:"bytes,3,rep,name=other_sketch_files,json=otherSketchFiles,proto3" json:"other_sketch_files,omitempty"` - // List of absolute paths to additional sketch files + // List of absolute paths to additional sketch files. AdditionalFiles []string `protobuf:"bytes,4,rep,name=additional_files,json=additionalFiles,proto3" json:"additional_files,omitempty"` // List of absolute paths to supported files in the sketch root folder, main - // file excluded + // file excluded. RootFolderFiles []string `protobuf:"bytes,5,rep,name=root_folder_files,json=rootFolderFiles,proto3" json:"root_folder_files,omitempty"` - // Default FQBN set in project file (sketch.yaml) + // Default FQBN set in project file (sketch.yaml). DefaultFqbn string `protobuf:"bytes,6,opt,name=default_fqbn,json=defaultFqbn,proto3" json:"default_fqbn,omitempty"` - // Default Port set in project file (sketch.yaml) + // Default Port set in project file (sketch.yaml). DefaultPort string `protobuf:"bytes,7,opt,name=default_port,json=defaultPort,proto3" json:"default_port,omitempty"` - // Default Protocol set in project file (sketch.yaml) + // Default Protocol set in project file (sketch.yaml). DefaultProtocol string `protobuf:"bytes,8,opt,name=default_protocol,json=defaultProtocol,proto3" json:"default_protocol,omitempty"` - // List of profiles present in the project file (sketch.yaml) + // List of profiles present in the project file (sketch.yaml). Profiles []*SketchProfile `protobuf:"bytes,9,rep,name=profiles,proto3" json:"profiles,omitempty"` - // Default profile set in the project file (sketch.yaml) + // Default profile set in the project file (sketch.yaml). DefaultProfile *SketchProfile `protobuf:"bytes,10,opt,name=default_profile,json=defaultProfile,proto3" json:"default_profile,omitempty"` - // Default Programmer set in project file (sketch.yaml) + // Default Programmer set in project file (sketch.yaml). DefaultProgrammer string `protobuf:"bytes,11,opt,name=default_programmer,json=defaultProgrammer,proto3" json:"default_programmer,omitempty"` - // Default Port configuration set in project file (sketch.yaml) + // Default Port configuration set in project file (sketch.yaml). DefaultPortConfig *MonitorPortConfiguration `protobuf:"bytes,12,opt,name=default_port_config,json=defaultPortConfig,proto3" json:"default_port_config,omitempty"` } @@ -1241,7 +1244,7 @@ type MonitorPortConfiguration struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The port configuration parameters + // The port configuration parameters. Settings []*MonitorPortSetting `protobuf:"bytes,1,rep,name=settings,proto3" json:"settings,omitempty"` } @@ -1289,8 +1292,10 @@ type MonitorPortSetting struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The setting identifier. SettingId string `protobuf:"bytes,1,opt,name=setting_id,json=settingId,proto3" json:"setting_id,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + // The setting value. + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` } func (x *MonitorPortSetting) Reset() { @@ -1344,17 +1349,17 @@ type SketchProfile struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Name of the profile + // Name of the profile. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // FQBN used by the profile + // FQBN used by the profile. Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` - // Programmer used by the profile + // Programmer used by the profile. Programmer string `protobuf:"bytes,3,opt,name=programmer,proto3" json:"programmer,omitempty"` - // Default Port in this profile + // Default Port in this profile. Port string `protobuf:"bytes,4,opt,name=port,proto3" json:"port,omitempty"` - // Default Port configuration set in project file (sketch.yaml) + // Default Port configuration set in project file (sketch.yaml). PortConfig *MonitorPortConfiguration `protobuf:"bytes,5,opt,name=port_config,json=portConfig,proto3" json:"port_config,omitempty"` - // Default Protocol in this profile + // Default Protocol in this profile. Protocol string `protobuf:"bytes,6,opt,name=protocol,proto3" json:"protocol,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/common.proto b/rpc/cc/arduino/cli/commands/v1/common.proto index 99cd611bfde..bc8ed2e7263 100644 --- a/rpc/cc/arduino/cli/commands/v1/common.proto +++ b/rpc/cc/arduino/cli/commands/v1/common.proto @@ -27,8 +27,11 @@ message Instance { message DownloadProgress { oneof message { + // Sent when a download is started. DownloadProgressStart start = 1; + // Progress updates for a download. DownloadProgressUpdate update = 2; + // Sent when a download is finished or failed. DownloadProgressEnd end = 3; } } @@ -48,10 +51,10 @@ message DownloadProgressUpdate { } message DownloadProgressEnd { - // True if the download is successful + // True if the download is successful. bool success = 1; // Info or error message, depending on the value of 'success'. Some examples: - // "File xxx already downloaded" or "Connection timeout" + // "File xxx already downloaded" or "Connection timeout". string message = 2; } @@ -62,16 +65,16 @@ message TaskProgress { string message = 2; // Whether the task is complete. bool completed = 3; - // Amount in percent of the task completion (optional) + // Amount in percent of the task completion (optional). float percent = 4; } message Programmer { - // Platform name + // Platform name. string platform = 1; - // Programmer ID + // Programmer ID. string id = 2; - // Programmer name + // Programmer name. string name = 3; } @@ -82,20 +85,20 @@ message MissingProgrammerError {} // Platform is a structure containing all the information about a single // platform release. message Platform { - // Generic information about a platform + // Generic information about a platform. PlatformMetadata metadata = 1; - // Information about a specific release of a platform + // Information about a specific release of a platform. PlatformRelease release = 2; } // PlatformSummary is a structure containing all the information about // a platform and all its available releases. message PlatformSummary { - // Generic information about a platform + // Generic information about a platform. PlatformMetadata metadata = 1; - // Maps version to the corresponding PlatformRelease + // Maps version to the corresponding PlatformRelease. map<string, PlatformRelease> releases = 2; - // The installed version of the platform, or empty string if none installed + // The installed version of the platform, or empty string if none installed. string installed_version = 3; // The latest available version of the platform that can be installable, or // empty if none available. @@ -115,11 +118,11 @@ message PlatformMetadata { // Email of the maintainer of the platform's package. string email = 4; // If true this Platform has been installed manually in the user' sketchbook - // hardware folder + // hardware folder. bool manually_installed = 5; - // True if the latest release of this Platform has been deprecated + // True if the latest release of this Platform has been deprecated. bool deprecated = 6; - // If true the platform is indexed + // If true the platform is indexed. bool indexed = 7; } @@ -127,11 +130,11 @@ message PlatformMetadata { message PlatformRelease { // Name used to identify the platform to humans (e.g., "Arduino AVR Boards"). string name = 1; - // Version of the platform release + // Version of the platform release. string version = 2; // Type of the platform. repeated string types = 3; - // True if the platform is installed + // True if the platform is installed. bool installed = 4; // List of boards provided by the platform. If the platform is installed, // this is the boards listed in the platform's boards.txt. If the platform is @@ -148,7 +151,7 @@ message PlatformRelease { // may need to be reinstalled. This should be evaluated only when the // PlatformRelease is `Installed` otherwise is an undefined behaviour. bool missing_metadata = 7; - // True this release is deprecated + // True this release is deprecated. bool deprecated = 8; // True if the platform dependencies are available for the current OS/ARCH. // This also means that the platform is installable. @@ -160,9 +163,9 @@ message InstalledPlatformReference { string id = 1; // Version of the platform. string version = 2; - // Installation directory of the platform + // Installation directory of the platform. string install_dir = 3; - // 3rd party platform URL + // 3rd party platform URL. string package_url = 4; } @@ -181,54 +184,56 @@ message HelpResources { } message Sketch { - // Absolute path to a main sketch files + // Absolute path to a main sketch files. string main_file = 1; - // Absolute path to folder that contains main_file + // Absolute path to folder that contains main_file. string location_path = 2; - // List of absolute paths to other sketch files + // List of absolute paths to other sketch files. repeated string other_sketch_files = 3; - // List of absolute paths to additional sketch files + // List of absolute paths to additional sketch files. repeated string additional_files = 4; // List of absolute paths to supported files in the sketch root folder, main - // file excluded + // file excluded. repeated string root_folder_files = 5; - // Default FQBN set in project file (sketch.yaml) + // Default FQBN set in project file (sketch.yaml). string default_fqbn = 6; - // Default Port set in project file (sketch.yaml) + // Default Port set in project file (sketch.yaml). string default_port = 7; - // Default Protocol set in project file (sketch.yaml) + // Default Protocol set in project file (sketch.yaml). string default_protocol = 8; - // List of profiles present in the project file (sketch.yaml) + // List of profiles present in the project file (sketch.yaml). repeated SketchProfile profiles = 9; - // Default profile set in the project file (sketch.yaml) + // Default profile set in the project file (sketch.yaml). SketchProfile default_profile = 10; - // Default Programmer set in project file (sketch.yaml) + // Default Programmer set in project file (sketch.yaml). string default_programmer = 11; - // Default Port configuration set in project file (sketch.yaml) + // Default Port configuration set in project file (sketch.yaml). MonitorPortConfiguration default_port_config = 12; } message MonitorPortConfiguration { - // The port configuration parameters + // The port configuration parameters. repeated MonitorPortSetting settings = 1; } message MonitorPortSetting { + // The setting identifier. string setting_id = 1; + // The setting value. string value = 2; } message SketchProfile { - // Name of the profile + // Name of the profile. string name = 1; - // FQBN used by the profile + // FQBN used by the profile. string fqbn = 2; - // Programmer used by the profile + // Programmer used by the profile. string programmer = 3; - // Default Port in this profile + // Default Port in this profile. string port = 4; - // Default Port configuration set in project file (sketch.yaml) + // Default Port configuration set in project file (sketch.yaml). MonitorPortConfiguration port_config = 5; - // Default Protocol in this profile + // Default Protocol in this profile. string protocol = 6; } diff --git a/rpc/cc/arduino/cli/commands/v1/compile.pb.go b/rpc/cc/arduino/cli/commands/v1/compile.pb.go index 87aaa41f88f..d06b0973d09 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/compile.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/compile.proto package commands @@ -83,7 +83,7 @@ type CompileRequest struct { // exist. ExportDir string `protobuf:"bytes,18,opt,name=export_dir,json=exportDir,proto3" json:"export_dir,omitempty"` // Optional: cleanup the build folder and do not use any previously cached - // build + // build. Clean bool `protobuf:"varint,19,opt,name=clean,proto3" json:"clean,omitempty"` // When set to `true` only the compilation database will be produced and no // actual build will be performed. @@ -99,11 +99,11 @@ type CompileRequest struct { // A list of paths to single libraries root directory. Library []string `protobuf:"bytes,24,rep,name=library,proto3" json:"library,omitempty"` // The path where to search for the custom signing key name and the encrypt - // key name + // key name. KeysKeychain string `protobuf:"bytes,25,opt,name=keys_keychain,json=keysKeychain,proto3" json:"keys_keychain,omitempty"` - // The name of the custom key to use for signing during the compile process + // The name of the custom key to use for signing during the compile process. SignKey string `protobuf:"bytes,26,opt,name=sign_key,json=signKey,proto3" json:"sign_key,omitempty"` - // The name of the custom key to use for encrypting during the compile process + // The name of the custom key to use for encrypting during the compile process. EncryptKey string `protobuf:"bytes,27,opt,name=encrypt_key,json=encryptKey,proto3" json:"encrypt_key,omitempty"` // If set to true the build will skip the library discovery process and will // use the same libraries of latest build. Enabling this flag may produce a @@ -420,22 +420,22 @@ type isCompileResponse_Message interface { } type CompileResponse_OutStream struct { - // The output of the compilation process (stream) + // The output of the compilation process (stream). OutStream []byte `protobuf:"bytes,1,opt,name=out_stream,json=outStream,proto3,oneof"` } type CompileResponse_ErrStream struct { - // The error output of the compilation process (stream) + // The error output of the compilation process (stream). ErrStream []byte `protobuf:"bytes,2,opt,name=err_stream,json=errStream,proto3,oneof"` } type CompileResponse_Progress struct { - // Completions reports of the compilation process (stream) + // Completions reports of the compilation process (stream). Progress *TaskProgress `protobuf:"bytes,3,opt,name=progress,proto3,oneof"` } type CompileResponse_Result struct { - // The compilation result + // The compilation result. Result *BuilderResult `protobuf:"bytes,4,opt,name=result,proto3,oneof"` } @@ -490,19 +490,19 @@ type BuilderResult struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The compiler build path + // The compiler build path. BuildPath string `protobuf:"bytes,1,opt,name=build_path,json=buildPath,proto3" json:"build_path,omitempty"` - // The libraries used in the build + // The libraries used in the build. UsedLibraries []*Library `protobuf:"bytes,2,rep,name=used_libraries,json=usedLibraries,proto3" json:"used_libraries,omitempty"` - // The size of the executable split by sections + // The size of the executable split by sections. ExecutableSectionsSize []*ExecutableSectionSize `protobuf:"bytes,3,rep,name=executable_sections_size,json=executableSectionsSize,proto3" json:"executable_sections_size,omitempty"` - // The platform where the board is defined + // The platform where the board is defined. BoardPlatform *InstalledPlatformReference `protobuf:"bytes,4,opt,name=board_platform,json=boardPlatform,proto3" json:"board_platform,omitempty"` - // The platform used for the build (if referenced from the board platform) + // The platform used for the build (if referenced from the board platform). BuildPlatform *InstalledPlatformReference `protobuf:"bytes,5,opt,name=build_platform,json=buildPlatform,proto3" json:"build_platform,omitempty"` - // Build properties used for compiling + // Build properties used for compiling. BuildProperties []string `protobuf:"bytes,7,rep,name=build_properties,json=buildProperties,proto3" json:"build_properties,omitempty"` - // Compiler errors and warnings + // Compiler errors and warnings. Diagnostics []*CompileDiagnostic `protobuf:"bytes,8,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"` } @@ -592,9 +592,12 @@ type ExecutableSectionSize struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` - MaxSize int64 `protobuf:"varint,3,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"` + // The name of the section. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The used size of the section in bytes. + Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` + // The maximum size of the section in bytes. + MaxSize int64 `protobuf:"varint,3,opt,name=max_size,json=maxSize,proto3" json:"max_size,omitempty"` } func (x *ExecutableSectionSize) Reset() { @@ -655,21 +658,21 @@ type CompileDiagnostic struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Severity of the diagnostic + // Severity of the diagnostic. Severity string `protobuf:"bytes,1,opt,name=severity,proto3" json:"severity,omitempty"` - // The explanation of the diagnostic (it may be multiple preformatted lines) + // The explanation of the diagnostic (it may be multiple preformatted lines). Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` - // The file containing the diagnostic + // The file containing the diagnostic. File string `protobuf:"bytes,3,opt,name=file,proto3" json:"file,omitempty"` - // The line of the diagnostic if available (starts from 1) + // The line of the diagnostic if available (starts from 1). Line int64 `protobuf:"varint,4,opt,name=line,proto3" json:"line,omitempty"` - // The column of the diagnostic if available (starts from 1) + // The column of the diagnostic if available (starts from 1). Column int64 `protobuf:"varint,5,opt,name=column,proto3" json:"column,omitempty"` // The context where this diagnostic is found (it may be multiple files that // represents a chain of includes, or a text describing where the diagnostic - // is found) + // is found). Context []*CompileDiagnosticContext `protobuf:"bytes,6,rep,name=context,proto3" json:"context,omitempty"` - // Annotations or suggestions to the diagnostic made by the compiler + // Annotations or suggestions to the diagnostic made by the compiler. Notes []*CompileDiagnosticNote `protobuf:"bytes,7,rep,name=notes,proto3" json:"notes,omitempty"` } @@ -759,13 +762,13 @@ type CompileDiagnosticContext struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The message describing the context reference + // The message describing the context reference. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - // The file of the context reference + // The file of the context reference. File string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"` - // The line of the context reference + // The line of the context reference. Line int64 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` - // The column of the context reference + // The column of the context reference. Column int64 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"` } @@ -834,13 +837,13 @@ type CompileDiagnosticNote struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The message describing the compiler note + // The message describing the compiler note. Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` - // The file of the compiler note + // The file of the compiler note. File string `protobuf:"bytes,2,opt,name=file,proto3" json:"file,omitempty"` - // The line of the compiler note + // The line of the compiler note. Line int64 `protobuf:"varint,3,opt,name=line,proto3" json:"line,omitempty"` - // The column of the compiler note + // The column of the compiler note. Column int64 `protobuf:"varint,4,opt,name=column,proto3" json:"column,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/compile.proto b/rpc/cc/arduino/cli/commands/v1/compile.proto index 7bd9bb7c900..da1d0f465fb 100644 --- a/rpc/cc/arduino/cli/commands/v1/compile.proto +++ b/rpc/cc/arduino/cli/commands/v1/compile.proto @@ -18,11 +18,11 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/lib.proto"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + message CompileRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; @@ -38,7 +38,7 @@ message CompileRequest { bool preprocess = 5; // Builds of core and sketches are saved into this path to be cached and // reused. - string build_cache_path = 6 [ deprecated = true ]; + string build_cache_path = 6 [deprecated = true]; // Path to use to store the files used for the compilation. If omitted, // a directory will be created in the operating system's default temporary // path. @@ -64,7 +64,7 @@ message CompileRequest { // exist. string export_dir = 18; // Optional: cleanup the build folder and do not use any previously cached - // build + // build. bool clean = 19; // When set to `true` only the compilation database will be produced and no // actual build will be performed. @@ -80,11 +80,11 @@ message CompileRequest { // A list of paths to single libraries root directory. repeated string library = 24; // The path where to search for the custom signing key name and the encrypt - // key name + // key name. string keys_keychain = 25; - // The name of the custom key to use for signing during the compile process + // The name of the custom key to use for signing during the compile process. string sign_key = 26; - // The name of the custom key to use for encrypting during the compile process + // The name of the custom key to use for encrypting during the compile process. string encrypt_key = 27; // If set to true the build will skip the library discovery process and will // use the same libraries of latest build. Enabling this flag may produce a @@ -102,13 +102,13 @@ message CompileRequest { message CompileResponse { oneof message { - // The output of the compilation process (stream) + // The output of the compilation process (stream). bytes out_stream = 1; - // The error output of the compilation process (stream) + // The error output of the compilation process (stream). bytes err_stream = 2; - // Completions reports of the compilation process (stream) + // Completions reports of the compilation process (stream). TaskProgress progress = 3; - // The compilation result + // The compilation result. BuilderResult result = 4; } } @@ -116,65 +116,68 @@ message CompileResponse { message InstanceNeedsReinitializationError {} message BuilderResult { - // The compiler build path + // The compiler build path. string build_path = 1; - // The libraries used in the build + // The libraries used in the build. repeated Library used_libraries = 2; - // The size of the executable split by sections + // The size of the executable split by sections. repeated ExecutableSectionSize executable_sections_size = 3; - // The platform where the board is defined + // The platform where the board is defined. InstalledPlatformReference board_platform = 4; - // The platform used for the build (if referenced from the board platform) + // The platform used for the build (if referenced from the board platform). InstalledPlatformReference build_platform = 5; - // Build properties used for compiling + // Build properties used for compiling. repeated string build_properties = 7; - // Compiler errors and warnings + // Compiler errors and warnings. repeated CompileDiagnostic diagnostics = 8; } message ExecutableSectionSize { + // The name of the section. string name = 1; + // The used size of the section in bytes. int64 size = 2; + // The maximum size of the section in bytes. int64 max_size = 3; } message CompileDiagnostic { - // Severity of the diagnostic + // Severity of the diagnostic. string severity = 1; - // The explanation of the diagnostic (it may be multiple preformatted lines) + // The explanation of the diagnostic (it may be multiple preformatted lines). string message = 2; - // The file containing the diagnostic + // The file containing the diagnostic. string file = 3; - // The line of the diagnostic if available (starts from 1) + // The line of the diagnostic if available (starts from 1). int64 line = 4; - // The column of the diagnostic if available (starts from 1) + // The column of the diagnostic if available (starts from 1). int64 column = 5; // The context where this diagnostic is found (it may be multiple files that // represents a chain of includes, or a text describing where the diagnostic - // is found) + // is found). repeated CompileDiagnosticContext context = 6; - // Annotations or suggestions to the diagnostic made by the compiler + // Annotations or suggestions to the diagnostic made by the compiler. repeated CompileDiagnosticNote notes = 7; } message CompileDiagnosticContext { - // The message describing the context reference + // The message describing the context reference. string message = 1; - // The file of the context reference + // The file of the context reference. string file = 2; - // The line of the context reference + // The line of the context reference. int64 line = 3; - // The column of the context reference + // The column of the context reference. int64 column = 4; } message CompileDiagnosticNote { - // The message describing the compiler note + // The message describing the compiler note. string message = 1; - // The file of the compiler note + // The file of the compiler note. string file = 2; - // The line of the compiler note + // The line of the compiler note. int64 line = 3; - // The column of the compiler note + // The column of the compiler note. int64 column = 4; } diff --git a/rpc/cc/arduino/cli/commands/v1/core.pb.go b/rpc/cc/arduino/cli/commands/v1/core.pb.go index 8641b8fe860..fdb965841cc 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/core.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/core.proto package commands @@ -50,13 +50,13 @@ type PlatformInstallRequest struct { // Platform version to install. Version string `protobuf:"bytes,4,opt,name=version,proto3" json:"version,omitempty"` // Set to true to not run (eventual) post install scripts for trusted - // platforms + // platforms. SkipPostInstall bool `protobuf:"varint,5,opt,name=skip_post_install,json=skipPostInstall,proto3" json:"skip_post_install,omitempty"` // Set to true to skip installation if a different version of the platform // is already installed. NoOverwrite bool `protobuf:"varint,6,opt,name=no_overwrite,json=noOverwrite,proto3" json:"no_overwrite,omitempty"` // Set to true to not run (eventual) pre uninstall scripts for trusted - // platforms when performing platform upgrades + // platforms when performing platform upgrades. SkipPreUninstall bool `protobuf:"varint,7,opt,name=skip_pre_uninstall,json=skipPreUninstall,proto3" json:"skip_pre_uninstall,omitempty"` } @@ -283,8 +283,9 @@ type PlatformDownloadRequest struct { unknownFields protoimpl.UnknownFields // Arduino Core Service instance from the `Init` response. - Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - PlatformPackage string `protobuf:"bytes,2,opt,name=platform_package,json=platformPackage,proto3" json:"platform_package,omitempty"` + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // Vendor name of the platform (e.g., `arduino`). + PlatformPackage string `protobuf:"bytes,2,opt,name=platform_package,json=platformPackage,proto3" json:"platform_package,omitempty"` // Architecture name of the platform (e.g., `avr`). Architecture string `protobuf:"bytes,3,opt,name=architecture,proto3" json:"architecture,omitempty"` // Platform version to download. @@ -446,7 +447,7 @@ type PlatformUninstallRequest struct { // Architecture name of the platform (e.g., `avr`). Architecture string `protobuf:"bytes,3,opt,name=architecture,proto3" json:"architecture,omitempty"` // Set to true to not run (eventual) pre uninstall scripts for trusted - // platforms + // platforms. SkipPreUninstall bool `protobuf:"varint,4,opt,name=skip_pre_uninstall,json=skipPreUninstall,proto3" json:"skip_pre_uninstall,omitempty"` } @@ -645,10 +646,10 @@ type PlatformUpgradeRequest struct { // Architecture name of the platform (e.g., `avr`). Architecture string `protobuf:"bytes,3,opt,name=architecture,proto3" json:"architecture,omitempty"` // Set to true to not run (eventual) post install scripts for trusted - // platforms + // platforms. SkipPostInstall bool `protobuf:"varint,4,opt,name=skip_post_install,json=skipPostInstall,proto3" json:"skip_post_install,omitempty"` // Set to true to not run (eventual) pre uninstall scripts for trusted - // platforms when performing platform upgrades + // platforms when performing platform upgrades. SkipPreUninstall bool `protobuf:"varint,5,opt,name=skip_pre_uninstall,json=skipPreUninstall,proto3" json:"skip_pre_uninstall,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/core.proto b/rpc/cc/arduino/cli/commands/v1/core.proto index 19210075891..345c4c88d18 100644 --- a/rpc/cc/arduino/cli/commands/v1/core.proto +++ b/rpc/cc/arduino/cli/commands/v1/core.proto @@ -18,10 +18,10 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - import "cc/arduino/cli/commands/v1/common.proto"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + message PlatformInstallRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; @@ -32,13 +32,13 @@ message PlatformInstallRequest { // Platform version to install. string version = 4; // Set to true to not run (eventual) post install scripts for trusted - // platforms + // platforms. bool skip_post_install = 5; // Set to true to skip installation if a different version of the platform // is already installed. bool no_overwrite = 6; // Set to true to not run (eventual) pre uninstall scripts for trusted - // platforms when performing platform upgrades + // platforms when performing platform upgrades. bool skip_pre_uninstall = 7; } @@ -61,6 +61,7 @@ message PlatformLoadingError {} message PlatformDownloadRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; + // Vendor name of the platform (e.g., `arduino`). string platform_package = 2; // Architecture name of the platform (e.g., `avr`). string architecture = 3; @@ -88,7 +89,7 @@ message PlatformUninstallRequest { // Architecture name of the platform (e.g., `avr`). string architecture = 3; // Set to true to not run (eventual) pre uninstall scripts for trusted - // platforms + // platforms. bool skip_pre_uninstall = 4; } @@ -116,10 +117,10 @@ message PlatformUpgradeRequest { // Architecture name of the platform (e.g., `avr`). string architecture = 3; // Set to true to not run (eventual) post install scripts for trusted - // platforms + // platforms. bool skip_post_install = 4; // Set to true to not run (eventual) pre uninstall scripts for trusted - // platforms when performing platform upgrades + // platforms when performing platform upgrades. bool skip_pre_uninstall = 5; } diff --git a/rpc/cc/arduino/cli/commands/v1/debug.pb.go b/rpc/cc/arduino/cli/commands/v1/debug.pb.go index 7d0deb00cee..3e313926d94 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/debug.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/debug.proto package commands @@ -53,7 +53,7 @@ type DebugRequest struct { DebugRequest *GetDebugConfigRequest `protobuf:"bytes,1,opt,name=debug_request,json=debugRequest,proto3" json:"debug_request,omitempty"` // The data to be sent to the target being monitored. Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` - // Set this to true to send and Interrupt signal to the debugger process + // Set this to true to send and Interrupt signal to the debugger process. SendInterrupt bool `protobuf:"varint,3,opt,name=send_interrupt,json=sendInterrupt,proto3" json:"send_interrupt,omitempty"` } @@ -294,7 +294,7 @@ type IsDebugSupportedResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // True if debugging is supported + // True if debugging is supported. DebuggingSupported bool `protobuf:"varint,1,opt,name=debugging_supported,json=debuggingSupported,proto3" json:"debugging_supported,omitempty"` // This is the same FQBN given in the IsDebugSupportedRequest but cleaned // up of the board options that do not affect the debugger configuration. @@ -470,31 +470,31 @@ type GetDebugConfigResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The executable binary to debug + // The executable binary to debug. Executable string `protobuf:"bytes,1,opt,name=executable,proto3" json:"executable,omitempty"` - // The toolchain type used for the build (for example "gcc") + // The toolchain type used for the build (for example "gcc"). Toolchain string `protobuf:"bytes,2,opt,name=toolchain,proto3" json:"toolchain,omitempty"` - // The toolchain directory + // The toolchain directory. ToolchainPath string `protobuf:"bytes,3,opt,name=toolchain_path,json=toolchainPath,proto3" json:"toolchain_path,omitempty"` - // The toolchain architecture prefix (for example "arm-none-eabi") + // The toolchain architecture prefix (for example "arm-none-eabi"). ToolchainPrefix string `protobuf:"bytes,4,opt,name=toolchain_prefix,json=toolchainPrefix,proto3" json:"toolchain_prefix,omitempty"` // The GDB server type used to connect to the programmer/board (for example - // "openocd") + // "openocd"). Server string `protobuf:"bytes,5,opt,name=server,proto3" json:"server,omitempty"` - // The GDB server directory + // The GDB server directory. ServerPath string `protobuf:"bytes,6,opt,name=server_path,json=serverPath,proto3" json:"server_path,omitempty"` - // Extra configuration parameters wrt toolchain + // Extra configuration parameters wrt toolchain. ToolchainConfiguration *anypb.Any `protobuf:"bytes,7,opt,name=toolchain_configuration,json=toolchainConfiguration,proto3" json:"toolchain_configuration,omitempty"` - // Extra configuration parameters wrt GDB server + // Extra configuration parameters wrt GDB server. ServerConfiguration *anypb.Any `protobuf:"bytes,8,opt,name=server_configuration,json=serverConfiguration,proto3" json:"server_configuration,omitempty"` // Custom debugger configurations (not handled directly by Arduino CLI but // provided for 3rd party plugins/debuggers). The map keys identifies which // 3rd party plugin/debugger is referred, the map string values contains a // JSON configuration for it. CustomConfigs map[string]string `protobuf:"bytes,9,rep,name=custom_configs,json=customConfigs,proto3" json:"custom_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // the SVD file to use + // the SVD file to use. SvdFile string `protobuf:"bytes,10,opt,name=svd_file,json=svdFile,proto3" json:"svd_file,omitempty"` - // The programmer specified in the request + // The programmer specified in the request. Programmer string `protobuf:"bytes,11,opt,name=programmer,proto3" json:"programmer,omitempty"` } @@ -607,7 +607,7 @@ func (x *GetDebugConfigResponse) GetProgrammer() string { return "" } -// Configurations specific for the 'gcc' toolchain +// Configurations specific for the 'gcc' toolchain. type DebugGCCToolchainConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -646,17 +646,17 @@ func (*DebugGCCToolchainConfiguration) Descriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_debug_proto_rawDescGZIP(), []int{6} } -// Configuration specific for the 'openocd` server +// Configuration specific for the 'openocd` server. type DebugOpenOCDServerConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // path to openocd + // Path to openocd. Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` - // path to openocd scripts + // Path to openocd scripts. ScriptsDir string `protobuf:"bytes,2,opt,name=scripts_dir,json=scriptsDir,proto3" json:"scripts_dir,omitempty"` - // list of scripts to execute by openocd + // List of scripts to execute by openocd. Scripts []string `protobuf:"bytes,3,rep,name=scripts,proto3" json:"scripts,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/debug.proto b/rpc/cc/arduino/cli/commands/v1/debug.proto index 6a53e0f27cc..c2a89e01d6b 100644 --- a/rpc/cc/arduino/cli/commands/v1/debug.proto +++ b/rpc/cc/arduino/cli/commands/v1/debug.proto @@ -18,12 +18,12 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/port.proto"; import "google/protobuf/any.proto"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + // The top-level message sent by the client for the `Debug` method. // Multiple `DebugRequest` messages can be sent but the first message // must contain a `GetDebugConfigRequest` message to initialize the debug @@ -40,7 +40,7 @@ message DebugRequest { // The data to be sent to the target being monitored. bytes data = 2; - // Set this to true to send and Interrupt signal to the debugger process + // Set this to true to send and Interrupt signal to the debugger process. bool send_interrupt = 3; } @@ -76,7 +76,7 @@ message IsDebugSupportedRequest { } message IsDebugSupportedResponse { - // True if debugging is supported + // True if debugging is supported. bool debugging_supported = 1; // This is the same FQBN given in the IsDebugSupportedRequest but cleaned // up of the board options that do not affect the debugger configuration. @@ -110,43 +110,43 @@ message GetDebugConfigRequest { } message GetDebugConfigResponse { - // The executable binary to debug + // The executable binary to debug. string executable = 1; - // The toolchain type used for the build (for example "gcc") + // The toolchain type used for the build (for example "gcc"). string toolchain = 2; - // The toolchain directory + // The toolchain directory. string toolchain_path = 3; - // The toolchain architecture prefix (for example "arm-none-eabi") + // The toolchain architecture prefix (for example "arm-none-eabi"). string toolchain_prefix = 4; // The GDB server type used to connect to the programmer/board (for example - // "openocd") + // "openocd"). string server = 5; - // The GDB server directory + // The GDB server directory. string server_path = 6; - // Extra configuration parameters wrt toolchain + // Extra configuration parameters wrt toolchain. google.protobuf.Any toolchain_configuration = 7; - // Extra configuration parameters wrt GDB server + // Extra configuration parameters wrt GDB server. google.protobuf.Any server_configuration = 8; // Custom debugger configurations (not handled directly by Arduino CLI but // provided for 3rd party plugins/debuggers). The map keys identifies which // 3rd party plugin/debugger is referred, the map string values contains a // JSON configuration for it. map<string, string> custom_configs = 9; - // the SVD file to use + // the SVD file to use. string svd_file = 10; - // The programmer specified in the request + // The programmer specified in the request. string programmer = 11; } -// Configurations specific for the 'gcc' toolchain +// Configurations specific for the 'gcc' toolchain. message DebugGCCToolchainConfiguration {} -// Configuration specific for the 'openocd` server +// Configuration specific for the 'openocd` server. message DebugOpenOCDServerConfiguration { - // path to openocd + // Path to openocd. string path = 1; - // path to openocd scripts + // Path to openocd scripts. string scripts_dir = 2; - // list of scripts to execute by openocd + // List of scripts to execute by openocd. repeated string scripts = 3; } diff --git a/rpc/cc/arduino/cli/commands/v1/lib.pb.go b/rpc/cc/arduino/cli/commands/v1/lib.pb.go index 10f95317c0b..0910be91d8a 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/lib.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/lib.proto package commands @@ -36,6 +36,7 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +// Represent a library installation location. type LibraryInstallLocation int32 const ( @@ -85,6 +86,7 @@ func (LibraryInstallLocation) EnumDescriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{0} } +// Represent the result of the library search. type LibrarySearchStatus int32 const ( @@ -133,6 +135,7 @@ func (LibrarySearchStatus) EnumDescriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{1} } +// Represent the library layout. type LibraryLayout int32 const ( @@ -181,6 +184,7 @@ func (LibraryLayout) EnumDescriptor() ([]byte, []int) { return file_cc_arduino_cli_commands_v1_lib_proto_rawDescGZIP(), []int{2} } +// Represent the location of the library. type LibraryLocation int32 const ( @@ -409,7 +413,7 @@ type LibraryInstallRequest struct { // Set to true to skip installation if a different version of the library or // one of its dependencies is already installed, defaults to false. NoOverwrite bool `protobuf:"varint,5,opt,name=no_overwrite,json=noOverwrite,proto3" json:"no_overwrite,omitempty"` - // Install the library and dependencies in the specified location + // Install the library and dependencies in the specified location. InstallLocation LibraryInstallLocation `protobuf:"varint,6,opt,name=install_location,json=installLocation,proto3,enum=cc.arduino.cli.commands.v1.LibraryInstallLocation" json:"install_location,omitempty"` } @@ -1750,7 +1754,7 @@ type LibraryListRequest struct { // Whether to list only libraries for which there is a newer version than // the installed version available in the libraries index. Updatable bool `protobuf:"varint,3,opt,name=updatable,proto3" json:"updatable,omitempty"` - // If set filters out the libraries not matching name + // If set filters out the libraries not matching name. Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"` // By setting this field all duplicate libraries are filtered out leaving // only the libraries that will be used to compile for the specified board @@ -1985,12 +1989,12 @@ type Library struct { Location LibraryLocation `protobuf:"varint,24,opt,name=location,proto3,enum=cc.arduino.cli.commands.v1.LibraryLocation" json:"location,omitempty"` // The library format type. Layout LibraryLayout `protobuf:"varint,25,opt,name=layout,proto3,enum=cc.arduino.cli.commands.v1.LibraryLayout" json:"layout,omitempty"` - // The example sketches provided by the library + // The example sketches provided by the library. Examples []string `protobuf:"bytes,26,rep,name=examples,proto3" json:"examples,omitempty"` // Value of the `includes` field in library.properties or, if missing, the // list of include files available on the library source root directory. ProvidesIncludes []string `protobuf:"bytes,27,rep,name=provides_includes,json=providesIncludes,proto3" json:"provides_includes,omitempty"` - // Map of FQBNs that specifies if library is compatible with this library + // Map of FQBNs that specifies if library is compatible with this library. CompatibleWith map[string]bool `protobuf:"bytes,28,rep,name=compatible_with,json=compatibleWith,proto3" json:"compatible_with,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` // This value is set to true if the library is in development and should not // be treated as read-only. This status is determined by the presence of a @@ -2219,7 +2223,7 @@ type ZipLibraryInstallRequest struct { // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Path to the archived library + // Path to the archived library. Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` // Set to true to overwrite an already installed library with the same name. // Defaults to false. @@ -2369,7 +2373,7 @@ type GitLibraryInstallRequest struct { // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // URL to the repository containing the library + // URL to the repository containing the library. Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"` // Set to true to overwrite an already installed library with the same name. // Defaults to false. diff --git a/rpc/cc/arduino/cli/commands/v1/lib.proto b/rpc/cc/arduino/cli/commands/v1/lib.proto index cf43fc36082..1878b07ec53 100644 --- a/rpc/cc/arduino/cli/commands/v1/lib.proto +++ b/rpc/cc/arduino/cli/commands/v1/lib.proto @@ -18,10 +18,10 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - import "cc/arduino/cli/commands/v1/common.proto"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + message LibraryDownloadRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; @@ -56,10 +56,11 @@ message LibraryInstallRequest { // Set to true to skip installation if a different version of the library or // one of its dependencies is already installed, defaults to false. bool no_overwrite = 5; - // Install the library and dependencies in the specified location + // Install the library and dependencies in the specified location. LibraryInstallLocation install_location = 6; } +// Represent a library installation location. enum LibraryInstallLocation { // In the `libraries` subdirectory of the user directory (sketchbook). This is // the default if not specified. @@ -183,6 +184,7 @@ message LibrarySearchRequest { string search_args = 3; } +// Represent the result of the library search. enum LibrarySearchStatus { // No search results were found. LIBRARY_SEARCH_STATUS_FAILED = 0; @@ -271,7 +273,7 @@ message LibraryListRequest { // Whether to list only libraries for which there is a newer version than // the installed version available in the libraries index. bool updatable = 3; - // If set filters out the libraries not matching name + // If set filters out the libraries not matching name. string name = 4; // By setting this field all duplicate libraries are filtered out leaving // only the libraries that will be used to compile for the specified board @@ -342,12 +344,12 @@ message Library { LibraryLocation location = 24; // The library format type. LibraryLayout layout = 25; - // The example sketches provided by the library + // The example sketches provided by the library. repeated string examples = 26; // Value of the `includes` field in library.properties or, if missing, the // list of include files available on the library source root directory. repeated string provides_includes = 27; - // Map of FQBNs that specifies if library is compatible with this library + // Map of FQBNs that specifies if library is compatible with this library. map<string, bool> compatible_with = 28; // This value is set to true if the library is in development and should not // be treated as read-only. This status is determined by the presence of a @@ -355,6 +357,7 @@ message Library { bool in_development = 29; } +// Represent the library layout. enum LibraryLayout { // Library is in the 1.0 Arduino library format. LIBRARY_LAYOUT_FLAT = 0; @@ -362,6 +365,7 @@ enum LibraryLayout { LIBRARY_LAYOUT_RECURSIVE = 1; } +// Represent the location of the library. enum LibraryLocation { // In the configured 'builtin.libraries' directory. LIBRARY_LOCATION_BUILTIN = 0; @@ -380,7 +384,7 @@ enum LibraryLocation { message ZipLibraryInstallRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; - // Path to the archived library + // Path to the archived library. string path = 2; // Set to true to overwrite an already installed library with the same name. // Defaults to false. @@ -402,7 +406,7 @@ message ZipLibraryInstallResponse { message GitLibraryInstallRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; - // URL to the repository containing the library + // URL to the repository containing the library. string url = 2; // Set to true to overwrite an already installed library with the same name. // Defaults to false. diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go index 7a655956660..465ed17235e 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/monitor.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/monitor.proto package commands @@ -122,24 +122,24 @@ type isMonitorRequest_Message interface { } type MonitorRequest_OpenRequest struct { - // Open request, it must be the first incoming message + // Open request, it must be the first incoming message. OpenRequest *MonitorPortOpenRequest `protobuf:"bytes,1,opt,name=open_request,json=openRequest,proto3,oneof"` } type MonitorRequest_TxData struct { - // Data to send to the port + // Data to send to the port. TxData []byte `protobuf:"bytes,2,opt,name=tx_data,json=txData,proto3,oneof"` } type MonitorRequest_UpdatedConfiguration struct { - // Port configuration, contains settings of the port to be changed + // Port configuration, contains settings of the port to be changed. UpdatedConfiguration *MonitorPortConfiguration `protobuf:"bytes,3,opt,name=updated_configuration,json=updatedConfiguration,proto3,oneof"` } type MonitorRequest_Close struct { // Close message, set to true to gracefully close a port (this ensure // that the gRPC streaming call is closed by the daemon AFTER the port - // has been successfully closed) + // has been successfully closed). Close bool `protobuf:"varint,4,opt,name=close,proto3,oneof"` } @@ -158,13 +158,13 @@ type MonitorPortOpenRequest struct { // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - // Port to open, must be filled only on the first request + // Port to open, must be filled only on the first request. Port *Port `protobuf:"bytes,2,opt,name=port,proto3" json:"port,omitempty"` // The board FQBN we are trying to connect to. This is optional, and it's // needed to disambiguate if more than one platform provides the pluggable // monitor for a given port protocol. Fqbn string `protobuf:"bytes,3,opt,name=fqbn,proto3" json:"fqbn,omitempty"` - // Port configuration, optional, contains settings of the port to be applied + // Port configuration, optional, contains settings of the port to be applied. PortConfiguration *MonitorPortConfiguration `protobuf:"bytes,4,opt,name=port_configuration,json=portConfiguration,proto3" json:"port_configuration,omitempty"` } @@ -314,25 +314,25 @@ type isMonitorResponse_Message interface { } type MonitorResponse_Error struct { - // Eventual errors dealing with monitor port + // Eventual errors dealing with monitor port. Error string `protobuf:"bytes,1,opt,name=error,proto3,oneof"` } type MonitorResponse_RxData struct { - // Data received from the port + // Data received from the port. RxData []byte `protobuf:"bytes,2,opt,name=rx_data,json=rxData,proto3,oneof"` } type MonitorResponse_AppliedSettings struct { // Settings applied to the port, may be returned after a port is opened (to // report the default settings) or after a new port_configuration is sent - // (to report the new settings applied) + // (to report the new settings applied). AppliedSettings *MonitorPortConfiguration `protobuf:"bytes,3,opt,name=applied_settings,json=appliedSettings,proto3,oneof"` } type MonitorResponse_Success struct { // A message with this field set to true is sent as soon as the port is - // succesfully opened + // succesfully opened. Success bool `protobuf:"varint,4,opt,name=success,proto3,oneof"` } @@ -466,15 +466,15 @@ type MonitorPortSettingDescriptor struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The setting identifier + // The setting identifier. SettingId string `protobuf:"bytes,1,opt,name=setting_id,json=settingId,proto3" json:"setting_id,omitempty"` - // A human-readable label of the setting (to be displayed on the GUI) + // A human-readable label of the setting (to be displayed on the GUI). Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` - // The setting type (at the moment only "enum" is avaiable) + // The setting type (at the moment only "enum" is avaiable). Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` - // The values allowed on "enum" types + // The values allowed on "enum" types. EnumValues []string `protobuf:"bytes,4,rep,name=enum_values,json=enumValues,proto3" json:"enum_values,omitempty"` - // The selected or default value + // The selected or default value. Value string `protobuf:"bytes,5,opt,name=value,proto3" json:"value,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/monitor.proto b/rpc/cc/arduino/cli/commands/v1/monitor.proto index a15cc490849..58acff0a78d 100644 --- a/rpc/cc/arduino/cli/commands/v1/monitor.proto +++ b/rpc/cc/arduino/cli/commands/v1/monitor.proto @@ -18,22 +18,22 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/port.proto"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + message MonitorRequest { oneof message { - // Open request, it must be the first incoming message + // Open request, it must be the first incoming message. MonitorPortOpenRequest open_request = 1; - // Data to send to the port + // Data to send to the port. bytes tx_data = 2; - // Port configuration, contains settings of the port to be changed + // Port configuration, contains settings of the port to be changed. MonitorPortConfiguration updated_configuration = 3; // Close message, set to true to gracefully close a port (this ensure // that the gRPC streaming call is closed by the daemon AFTER the port - // has been successfully closed) + // has been successfully closed). bool close = 4; } } @@ -41,28 +41,28 @@ message MonitorRequest { message MonitorPortOpenRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; - // Port to open, must be filled only on the first request + // Port to open, must be filled only on the first request. Port port = 2; // The board FQBN we are trying to connect to. This is optional, and it's // needed to disambiguate if more than one platform provides the pluggable // monitor for a given port protocol. string fqbn = 3; - // Port configuration, optional, contains settings of the port to be applied + // Port configuration, optional, contains settings of the port to be applied. MonitorPortConfiguration port_configuration = 4; } message MonitorResponse { oneof message { - // Eventual errors dealing with monitor port + // Eventual errors dealing with monitor port. string error = 1; - // Data received from the port + // Data received from the port. bytes rx_data = 2; // Settings applied to the port, may be returned after a port is opened (to // report the default settings) or after a new port_configuration is sent - // (to report the new settings applied) + // (to report the new settings applied). MonitorPortConfiguration applied_settings = 3; // A message with this field set to true is sent as soon as the port is - // succesfully opened + // succesfully opened. bool success = 4; } } @@ -85,14 +85,14 @@ message EnumerateMonitorPortSettingsResponse { } message MonitorPortSettingDescriptor { - // The setting identifier + // The setting identifier. string setting_id = 1; - // A human-readable label of the setting (to be displayed on the GUI) + // A human-readable label of the setting (to be displayed on the GUI). string label = 2; - // The setting type (at the moment only "enum" is avaiable) + // The setting type (at the moment only "enum" is avaiable). string type = 3; - // The values allowed on "enum" types + // The values allowed on "enum" types. repeated string enum_values = 4; - // The selected or default value + // The selected or default value. string value = 5; } diff --git a/rpc/cc/arduino/cli/commands/v1/port.pb.go b/rpc/cc/arduino/cli/commands/v1/port.pb.go index 4b9642c74ac..85a86a521a5 100644 --- a/rpc/cc/arduino/cli/commands/v1/port.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/port.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/port.proto package commands @@ -36,7 +36,7 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Port represents a board port that may be used to upload or to monitor a board +// Port represents a board port that may be used to upload or to monitor a board. type Port struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -44,15 +44,15 @@ type Port struct { // Address of the port (e.g., `/dev/ttyACM0`). Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` - // The port label to show on the GUI (e.g. "ttyACM0") + // The port label to show on the GUI (e.g. "ttyACM0"). Label string `protobuf:"bytes,2,opt,name=label,proto3" json:"label,omitempty"` // Protocol of the port (e.g., `serial`, `network`, ...). Protocol string `protobuf:"bytes,3,opt,name=protocol,proto3" json:"protocol,omitempty"` // A human friendly description of the protocol (e.g., "Serial Port (USB)"). ProtocolLabel string `protobuf:"bytes,4,opt,name=protocol_label,json=protocolLabel,proto3" json:"protocol_label,omitempty"` - // A set of properties of the port + // A set of properties of the port. Properties map[string]string `protobuf:"bytes,5,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // The hardware ID (serial number) of the board attached to the port + // The hardware ID (serial number) of the board attached to the port. HardwareId string `protobuf:"bytes,6,opt,name=hardware_id,json=hardwareId,proto3" json:"hardware_id,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/port.proto b/rpc/cc/arduino/cli/commands/v1/port.proto index ca103b7e1d1..ebdcd785fea 100644 --- a/rpc/cc/arduino/cli/commands/v1/port.proto +++ b/rpc/cc/arduino/cli/commands/v1/port.proto @@ -20,18 +20,18 @@ package cc.arduino.cli.commands.v1; option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; -// Port represents a board port that may be used to upload or to monitor a board +// Port represents a board port that may be used to upload or to monitor a board. message Port { // Address of the port (e.g., `/dev/ttyACM0`). string address = 1; - // The port label to show on the GUI (e.g. "ttyACM0") + // The port label to show on the GUI (e.g. "ttyACM0"). string label = 2; // Protocol of the port (e.g., `serial`, `network`, ...). string protocol = 3; // A human friendly description of the protocol (e.g., "Serial Port (USB)"). string protocol_label = 4; - // A set of properties of the port + // A set of properties of the port. map<string, string> properties = 5; - // The hardware ID (serial number) of the board attached to the port + // The hardware ID (serial number) of the board attached to the port. string hardware_id = 6; } diff --git a/rpc/cc/arduino/cli/commands/v1/settings.pb.go b/rpc/cc/arduino/cli/commands/v1/settings.pb.go index 073ce65dcad..be6d037a7b9 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/settings.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/settings.proto package commands @@ -43,17 +43,28 @@ type Configuration struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Directories *Configuration_Directories `protobuf:"bytes,1,opt,name=directories,proto3" json:"directories,omitempty"` - Network *Configuration_Network `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` - Sketch *Configuration_Sketch `protobuf:"bytes,3,opt,name=sketch,proto3" json:"sketch,omitempty"` - BuildCache *Configuration_BuildCache `protobuf:"bytes,4,opt,name=build_cache,json=buildCache,proto3" json:"build_cache,omitempty"` + // The directories configuration. + Directories *Configuration_Directories `protobuf:"bytes,1,opt,name=directories,proto3" json:"directories,omitempty"` + // The network configuration. + Network *Configuration_Network `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` + // The sketch configuration. + Sketch *Configuration_Sketch `protobuf:"bytes,3,opt,name=sketch,proto3" json:"sketch,omitempty"` + // The build cache configuration. + BuildCache *Configuration_BuildCache `protobuf:"bytes,4,opt,name=build_cache,json=buildCache,proto3" json:"build_cache,omitempty"` + // The board manager configuration. BoardManager *Configuration_BoardManager `protobuf:"bytes,5,opt,name=board_manager,json=boardManager,proto3" json:"board_manager,omitempty"` - Daemon *Configuration_Daemon `protobuf:"bytes,6,opt,name=daemon,proto3" json:"daemon,omitempty"` - Output *Configuration_Output `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"` - Logging *Configuration_Logging `protobuf:"bytes,8,opt,name=logging,proto3" json:"logging,omitempty"` - Library *Configuration_Library `protobuf:"bytes,9,opt,name=library,proto3" json:"library,omitempty"` - Updater *Configuration_Updater `protobuf:"bytes,10,opt,name=updater,proto3" json:"updater,omitempty"` - Locale *string `protobuf:"bytes,100,opt,name=locale,proto3,oneof" json:"locale,omitempty"` + // The daemon configuration. + Daemon *Configuration_Daemon `protobuf:"bytes,6,opt,name=daemon,proto3" json:"daemon,omitempty"` + // The console output configuration. + Output *Configuration_Output `protobuf:"bytes,7,opt,name=output,proto3" json:"output,omitempty"` + // The logging configuration. + Logging *Configuration_Logging `protobuf:"bytes,8,opt,name=logging,proto3" json:"logging,omitempty"` + // The library configuration. + Library *Configuration_Library `protobuf:"bytes,9,opt,name=library,proto3" json:"library,omitempty"` + // The updater configuration. + Updater *Configuration_Updater `protobuf:"bytes,10,opt,name=updater,proto3" json:"updater,omitempty"` + // The language locale to use. + Locale *string `protobuf:"bytes,100,opt,name=locale,proto3,oneof" json:"locale,omitempty"` } func (x *Configuration) Reset() { @@ -208,7 +219,7 @@ type ConfigurationGetResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The current configuration + // The current configuration. Configuration *Configuration `protobuf:"bytes,1,opt,name=configuration,proto3" json:"configuration,omitempty"` } @@ -256,7 +267,7 @@ type ConfigurationSaveRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The format of the encoded settings, allowed values are "json" and "yaml" + // The format of the encoded settings, allowed values are "json" and "yaml". SettingsFormat string `protobuf:"bytes,1,opt,name=settings_format,json=settingsFormat,proto3" json:"settings_format,omitempty"` } @@ -304,7 +315,7 @@ type ConfigurationSaveResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The encoded settings + // The encoded settings. EncodedSettings string `protobuf:"bytes,1,opt,name=encoded_settings,json=encodedSettings,proto3" json:"encoded_settings,omitempty"` } @@ -352,9 +363,9 @@ type ConfigurationOpenRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The encoded settings + // The encoded settings. EncodedSettings string `protobuf:"bytes,1,opt,name=encoded_settings,json=encodedSettings,proto3" json:"encoded_settings,omitempty"` - // The format of the encoded settings, allowed values are "json" and "yaml" + // The format of the encoded settings, allowed values are "json" and "yaml". SettingsFormat string `protobuf:"bytes,2,opt,name=settings_format,json=settingsFormat,proto3" json:"settings_format,omitempty"` } @@ -410,7 +421,7 @@ type ConfigurationOpenResponse struct { unknownFields protoimpl.UnknownFields // Warnings that occurred while opening the configuration (e.g. unknown keys, - // or invalid values) + // or invalid values). Warnings []string `protobuf:"bytes,1,rep,name=warnings,proto3" json:"warnings,omitempty"` } @@ -458,10 +469,10 @@ type SettingsGetValueRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The key to get + // The key to get. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The format of the encoded_value (default is "json", allowed values are - // "json" and "yaml) + // "json" and "yaml). ValueFormat string `protobuf:"bytes,2,opt,name=value_format,json=valueFormat,proto3" json:"value_format,omitempty"` } @@ -516,7 +527,7 @@ type SettingsGetValueResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The value of the key (encoded) + // The value of the key (encoded). EncodedValue string `protobuf:"bytes,1,opt,name=encoded_value,json=encodedValue,proto3" json:"encoded_value,omitempty"` } @@ -564,13 +575,13 @@ type SettingsSetValueRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The key to change + // The key to change. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` // The new value (encoded), no objects, only scalar or array of scalars are // allowed. EncodedValue string `protobuf:"bytes,2,opt,name=encoded_value,json=encodedValue,proto3" json:"encoded_value,omitempty"` // The format of the encoded_value (default is "json", allowed values are - // "json", "yaml" and "cli") + // "json", "yaml" and "cli"). ValueFormat string `protobuf:"bytes,3,opt,name=value_format,json=valueFormat,proto3" json:"value_format,omitempty"` } @@ -708,7 +719,7 @@ type SettingsEnumerateResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The list of key/value pairs + // The list of key/value pairs. Entries []*SettingsEnumerateResponse_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"` } @@ -756,13 +767,13 @@ type Configuration_Directories struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Data directory + // Data directory. Data string `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` - // User directory + // User directory. User string `protobuf:"bytes,2,opt,name=user,proto3" json:"user,omitempty"` - // Downloads directory + // Downloads directory. Downloads string `protobuf:"bytes,3,opt,name=downloads,proto3" json:"downloads,omitempty"` - // The directory where the built-in resources are installed + // The directory where the built-in resources are installed. Builtin *Configuration_Directories_Builtin `protobuf:"bytes,4,opt,name=builtin,proto3,oneof" json:"builtin,omitempty"` } @@ -831,9 +842,9 @@ type Configuration_Network struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Extra user-agent information to be appended in network requests + // Extra user-agent information to be appended in network requests. ExtraUserAgent *string `protobuf:"bytes,1,opt,name=extra_user_agent,json=extraUserAgent,proto3,oneof" json:"extra_user_agent,omitempty"` - // The proxy to use for network requests + // The proxy to use for network requests. Proxy *string `protobuf:"bytes,2,opt,name=proxy,proto3,oneof" json:"proxy,omitempty"` } @@ -888,7 +899,7 @@ type Configuration_Sketch struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Set to true to always export binaries to the sketch directory + // Set to true to always export binaries to the sketch directory. AlwaysExportBinaries bool `protobuf:"varint,1,opt,name=always_export_binaries,json=alwaysExportBinaries,proto3" json:"always_export_binaries,omitempty"` } @@ -936,9 +947,9 @@ type Configuration_BuildCache struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The minimum number of compilations before the cache is purged + // The minimum number of compilations before the cache is purged. CompilationsBeforePurge uint64 `protobuf:"varint,1,opt,name=compilations_before_purge,json=compilationsBeforePurge,proto3" json:"compilations_before_purge,omitempty"` - // Time to live of the cache in seconds + // Time to live of the cache in seconds. TtlSecs uint64 `protobuf:"varint,2,opt,name=ttl_secs,json=ttlSecs,proto3" json:"ttl_secs,omitempty"` } @@ -993,7 +1004,7 @@ type Configuration_BoardManager struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Additional URLs to be used for the board manager + // Additional URLs to be used for the board manager. AdditionalUrls []string `protobuf:"bytes,1,rep,name=additional_urls,json=additionalUrls,proto3" json:"additional_urls,omitempty"` } @@ -1041,7 +1052,7 @@ type Configuration_Daemon struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The TCP port of the daemon + // The TCP port of the daemon. Port string `protobuf:"bytes,1,opt,name=port,proto3" json:"port,omitempty"` } @@ -1089,7 +1100,7 @@ type Configuration_Output struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Set to true to disable coloring of the output + // Set to true to disable coloring of the output. NoColor bool `protobuf:"varint,1,opt,name=no_color,json=noColor,proto3" json:"no_color,omitempty"` } @@ -1137,11 +1148,11 @@ type Configuration_Logging struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The logging level + // The logging level. Level string `protobuf:"bytes,1,opt,name=level,proto3" json:"level,omitempty"` - // The logging format + // The logging format. Format string `protobuf:"bytes,2,opt,name=format,proto3" json:"format,omitempty"` - // The logging file + // The logging file. File *string `protobuf:"bytes,3,opt,name=file,proto3,oneof" json:"file,omitempty"` } @@ -1204,7 +1215,7 @@ type Configuration_Library struct { unknownFields protoimpl.UnknownFields // Set to true to enable library installation from zip archives or git - // repositories + // repositories. EnableUnsafeInstall bool `protobuf:"varint,1,opt,name=enable_unsafe_install,json=enableUnsafeInstall,proto3" json:"enable_unsafe_install,omitempty"` } @@ -1252,7 +1263,7 @@ type Configuration_Updater struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Set to true to enable notifications for updates + // Set to true to enable notifications for updates. EnableNotification bool `protobuf:"varint,1,opt,name=enable_notification,json=enableNotification,proto3" json:"enable_notification,omitempty"` } @@ -1300,7 +1311,7 @@ type Configuration_Directories_Builtin struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The directory where the built-in libraries are installed + // The directory where the built-in libraries are installed. Libraries *string `protobuf:"bytes,1,opt,name=libraries,proto3,oneof" json:"libraries,omitempty"` } @@ -1348,9 +1359,9 @@ type SettingsEnumerateResponse_Entry struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The key + // The key. Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - // The key type + // The key type. Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/settings.proto b/rpc/cc/arduino/cli/commands/v1/settings.proto index 852830d0084..7d93464ce53 100644 --- a/rpc/cc/arduino/cli/commands/v1/settings.proto +++ b/rpc/cc/arduino/cli/commands/v1/settings.proto @@ -25,129 +25,140 @@ option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/ message Configuration { message Directories { message Builtin { - // The directory where the built-in libraries are installed + // The directory where the built-in libraries are installed. optional string libraries = 1; } - // Data directory + // Data directory. string data = 1; - // User directory + // User directory. string user = 2; - // Downloads directory + // Downloads directory. string downloads = 3; - // The directory where the built-in resources are installed + // The directory where the built-in resources are installed. optional Builtin builtin = 4; - }; + } message Network { - // Extra user-agent information to be appended in network requests + // Extra user-agent information to be appended in network requests. optional string extra_user_agent = 1; - // The proxy to use for network requests + // The proxy to use for network requests. optional string proxy = 2; - }; + } message Sketch { - // Set to true to always export binaries to the sketch directory + // Set to true to always export binaries to the sketch directory. bool always_export_binaries = 1; } message BuildCache { - // The minimum number of compilations before the cache is purged + // The minimum number of compilations before the cache is purged. uint64 compilations_before_purge = 1; - // Time to live of the cache in seconds + // Time to live of the cache in seconds. uint64 ttl_secs = 2; } message BoardManager { - // Additional URLs to be used for the board manager + // Additional URLs to be used for the board manager. repeated string additional_urls = 1; } message Daemon { - // The TCP port of the daemon + // The TCP port of the daemon. string port = 1; } message Output { - // Set to true to disable coloring of the output + // Set to true to disable coloring of the output. bool no_color = 1; } message Logging { - // The logging level + // The logging level. string level = 1; - // The logging format + // The logging format. string format = 2; - // The logging file + // The logging file. optional string file = 3; } message Library { // Set to true to enable library installation from zip archives or git - // repositories + // repositories. bool enable_unsafe_install = 1; } message Updater { - // Set to true to enable notifications for updates + // Set to true to enable notifications for updates. bool enable_notification = 1; } + // The directories configuration. Directories directories = 1; + // The network configuration. Network network = 2; + // The sketch configuration. Sketch sketch = 3; + // The build cache configuration. BuildCache build_cache = 4; + // The board manager configuration. BoardManager board_manager = 5; + // The daemon configuration. Daemon daemon = 6; + // The console output configuration. Output output = 7; + // The logging configuration. Logging logging = 8; + // The library configuration. Library library = 9; + // The updater configuration. Updater updater = 10; + // The language locale to use. optional string locale = 100; } message ConfigurationGetRequest {} message ConfigurationGetResponse { - // The current configuration + // The current configuration. Configuration configuration = 1; } message ConfigurationSaveRequest { - // The format of the encoded settings, allowed values are "json" and "yaml" + // The format of the encoded settings, allowed values are "json" and "yaml". string settings_format = 1; } message ConfigurationSaveResponse { - // The encoded settings + // The encoded settings. string encoded_settings = 1; } message ConfigurationOpenRequest { - // The encoded settings + // The encoded settings. string encoded_settings = 1; - // The format of the encoded settings, allowed values are "json" and "yaml" + // The format of the encoded settings, allowed values are "json" and "yaml". string settings_format = 2; } message ConfigurationOpenResponse { // Warnings that occurred while opening the configuration (e.g. unknown keys, - // or invalid values) + // or invalid values). repeated string warnings = 1; } message SettingsGetValueRequest { - // The key to get + // The key to get. string key = 1; // The format of the encoded_value (default is "json", allowed values are - // "json" and "yaml) + // "json" and "yaml). string value_format = 2; } message SettingsGetValueResponse { - // The value of the key (encoded) + // The value of the key (encoded). string encoded_value = 1; } message SettingsSetValueRequest { - // The key to change + // The key to change. string key = 1; // The new value (encoded), no objects, only scalar or array of scalars are // allowed. string encoded_value = 2; // The format of the encoded_value (default is "json", allowed values are - // "json", "yaml" and "cli") + // "json", "yaml" and "cli"). string value_format = 3; } @@ -157,12 +168,12 @@ message SettingsEnumerateRequest {} message SettingsEnumerateResponse { message Entry { - // The key + // The key. string key = 1; - // The key type + // The key type. string type = 2; } - // The list of key/value pairs + // The list of key/value pairs. repeated Entry entries = 1; } diff --git a/rpc/cc/arduino/cli/commands/v1/upload.pb.go b/rpc/cc/arduino/cli/commands/v1/upload.pb.go index 6491669c2c6..6647c641a54 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/upload.pb.go @@ -17,7 +17,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.34.2 -// protoc v5.26.1 +// protoc (unknown) // source: cc/arduino/cli/commands/v1/upload.proto package commands @@ -285,7 +285,7 @@ type UploadResponse_ErrStream struct { } type UploadResponse_Result struct { - // The upload result + // The upload result. Result *UploadResult `protobuf:"bytes,3,opt,name=result,proto3,oneof"` } @@ -838,8 +838,10 @@ type ListProgrammersAvailableForUploadRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). + Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` } func (x *ListProgrammersAvailableForUploadRequest) Reset() { @@ -893,6 +895,7 @@ type ListProgrammersAvailableForUploadResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // List of programmers supported by the board. Programmers []*Programmer `protobuf:"bytes,1,rep,name=programmers,proto3" json:"programmers,omitempty"` } @@ -940,8 +943,10 @@ type SupportedUserFieldsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` - Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). + Fqbn string `protobuf:"bytes,2,opt,name=fqbn,proto3" json:"fqbn,omitempty"` // Protocol that will be used to upload, this information is // necessary to pick the right upload tool for the board specified // with the FQBN. @@ -1006,14 +1011,14 @@ type UserField struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Id of the tool that supports this field + // Id of the tool that supports this field. ToolId string `protobuf:"bytes,1,opt,name=tool_id,json=toolId,proto3" json:"tool_id,omitempty"` - // Name used internally to store and retrieve this field + // Name used internally to store and retrieve this field. Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - // Label is the text shown to the user when they need to input this field + // Label is the text shown to the user when they need to input this field. Label string `protobuf:"bytes,3,opt,name=label,proto3" json:"label,omitempty"` // True if the value of the field must not be shown when typing, for example - // when the user inputs a network password + // when the user inputs a network password. Secret bool `protobuf:"varint,4,opt,name=secret,proto3" json:"secret,omitempty"` } diff --git a/rpc/cc/arduino/cli/commands/v1/upload.proto b/rpc/cc/arduino/cli/commands/v1/upload.proto index edeb3907249..b23da77f4cf 100644 --- a/rpc/cc/arduino/cli/commands/v1/upload.proto +++ b/rpc/cc/arduino/cli/commands/v1/upload.proto @@ -18,11 +18,11 @@ syntax = "proto3"; package cc.arduino.cli.commands.v1; -option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; - import "cc/arduino/cli/commands/v1/common.proto"; import "cc/arduino/cli/commands/v1/port.proto"; +option go_package = "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1;commands"; + message UploadRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; @@ -70,7 +70,7 @@ message UploadResponse { bytes out_stream = 1; // The error output of the upload process. bytes err_stream = 2; - // The upload result + // The upload result. UploadResult result = 3; } } @@ -168,16 +168,21 @@ message BurnBootloaderResponse { } message ListProgrammersAvailableForUploadRequest { + // Arduino Core Service instance from the `Init` response. Instance instance = 1; + // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). string fqbn = 2; } message ListProgrammersAvailableForUploadResponse { + // List of programmers supported by the board. repeated Programmer programmers = 1; } message SupportedUserFieldsRequest { + // Arduino Core Service instance from the `Init` response. Instance instance = 1; + // Fully qualified board name of the target board (e.g., `arduino:avr:uno`). string fqbn = 2; // Protocol that will be used to upload, this information is // necessary to pick the right upload tool for the board specified @@ -186,14 +191,14 @@ message SupportedUserFieldsRequest { } message UserField { - // Id of the tool that supports this field + // Id of the tool that supports this field. string tool_id = 1; - // Name used internally to store and retrieve this field + // Name used internally to store and retrieve this field. string name = 2; - // Label is the text shown to the user when they need to input this field + // Label is the text shown to the user when they need to input this field. string label = 3; // True if the value of the field must not be shown when typing, for example - // when the user inputs a network password + // when the user inputs a network password. bool secret = 4; } diff --git a/rpc/google/rpc/status.proto b/rpc/google/rpc/status.proto deleted file mode 100644 index e3411d03a64..00000000000 --- a/rpc/google/rpc/status.proto +++ /dev/null @@ -1,49 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.rpc; - -import "google/protobuf/any.proto"; - -option cc_enable_arenas = true; -option go_package = "google.golang.org/genproto/googleapis/rpc/status;status"; -option java_multiple_files = true; -option java_outer_classname = "StatusProto"; -option java_package = "com.google.rpc"; -option objc_class_prefix = "RPC"; - -// The `Status` type defines a logical error model that is suitable for -// different programming environments, including REST APIs and RPC APIs. It is -// used by [gRPC](https://github.com/grpc). Each `Status` message contains -// three pieces of data: error code, error message, and error details. -// -// You can find out more about this error model and how to work with it in the -// [API Design Guide](https://cloud.google.com/apis/design/errors). -message Status { - // The status code, which should be an enum value of - // [google.rpc.Code][google.rpc.Code]. - int32 code = 1; - - // A developer-facing error message, which should be in English. Any - // user-facing error message should be localized and sent in the - // [google.rpc.Status.details][google.rpc.Status.details] field, or localized - // by the client. - string message = 2; - - // A list of messages that carry the error details. There is a common set of - // message types for APIs to use. - repeated google.protobuf.Any details = 3; -} From 2dcee40aee46800cc86b313e70fdcdda6b5cac6c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2024 18:07:25 +0200 Subject: [PATCH 269/361] [skip changelog] Bump github.com/fatih/color from 1.17.0 to 1.18.0 (#2737) * [skip changelog] Bump github.com/fatih/color from 1.17.0 to 1.18.0 Bumps [github.com/fatih/color](https://github.com/fatih/color) from 1.17.0 to 1.18.0. - [Release notes](https://github.com/fatih/color/releases) - [Commits](https://github.com/fatih/color/compare/v1.17.0...v1.18.0) --- updated-dependencies: - dependency-name: github.com/fatih/color dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license dep --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/github.com/fatih/color.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.licenses/go/github.com/fatih/color.dep.yml b/.licenses/go/github.com/fatih/color.dep.yml index 10f4250204b..3c49fefa0e5 100644 --- a/.licenses/go/github.com/fatih/color.dep.yml +++ b/.licenses/go/github.com/fatih/color.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/fatih/color -version: v1.17.0 +version: v1.18.0 type: go summary: Package color is an ANSI color package to output colorized or SGR defined output to the standard output. diff --git a/go.mod b/go.mod index 59a9a96337e..dd98f5b1d83 100644 --- a/go.mod +++ b/go.mod @@ -18,7 +18,7 @@ require ( github.com/codeclysm/extract/v4 v4.0.0 github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 - github.com/fatih/color v1.17.0 + github.com/fatih/color v1.18.0 github.com/go-git/go-git/v5 v5.4.2 github.com/gofrs/uuid/v5 v5.3.0 github.com/leonelquinteros/gotext v1.4.0 diff --git a/go.sum b/go.sum index 495585ef9a9..5c68d8d765c 100644 --- a/go.sum +++ b/go.sum @@ -54,8 +54,8 @@ github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmW github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= -github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= From 7ee4cf71c24798cd8400a54f2015bd7326062ad5 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 28 Oct 2024 16:44:27 +0100 Subject: [PATCH 270/361] Do not fail if downloaded file has good checksum but incorrect size. (#2739) * Do not fail download if archive size do not match package_index.json size (checksum is sufficient) * Added unit tests * Added integration test --- internal/arduino/resources/checksums.go | 18 +++++++++--------- internal/arduino/resources/resources_test.go | 4 ++++ internal/integrationtest/core/core_test.go | 12 ++++++++++++ 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/internal/arduino/resources/checksums.go b/internal/arduino/resources/checksums.go index ecd50b5bcc9..c9309f93e5b 100644 --- a/internal/arduino/resources/checksums.go +++ b/internal/arduino/resources/checksums.go @@ -31,6 +31,7 @@ import ( "github.com/arduino/arduino-cli/internal/i18n" paths "github.com/arduino/go-paths-helper" + "github.com/sirupsen/logrus" ) // TestLocalArchiveChecksum test if the checksum of the local archive match the checksum of the DownloadResource @@ -82,20 +83,21 @@ func (r *DownloadResource) TestLocalArchiveChecksum(downloadDir *paths.Path) (bo } // TestLocalArchiveSize test if the local archive size match the DownloadResource size -func (r *DownloadResource) TestLocalArchiveSize(downloadDir *paths.Path) (bool, error) { +func (r *DownloadResource) TestLocalArchiveSize(downloadDir *paths.Path) error { filePath, err := r.ArchivePath(downloadDir) if err != nil { - return false, errors.New(i18n.Tr("getting archive path: %s", err)) + return errors.New(i18n.Tr("getting archive path: %s", err)) } info, err := filePath.Stat() if err != nil { - return false, errors.New(i18n.Tr("getting archive info: %s", err)) + return errors.New(i18n.Tr("getting archive info: %s", err)) } + // If the size do not match, just report a warning and continue + // (the checksum is sufficient to ensure the integrity of the archive) if info.Size() != r.Size { - return false, fmt.Errorf("%s: %d != %d", i18n.Tr("fetched archive size differs from size specified in index"), info.Size(), r.Size) + logrus.Warningf("%s: %d != %d", i18n.Tr("fetched archive size differs from size specified in index"), info.Size(), r.Size) } - - return true, nil + return nil } // TestLocalArchiveIntegrity checks for integrity of the local archive. @@ -106,10 +108,8 @@ func (r *DownloadResource) TestLocalArchiveIntegrity(downloadDir *paths.Path) (b return false, nil } - if ok, err := r.TestLocalArchiveSize(downloadDir); err != nil { + if err := r.TestLocalArchiveSize(downloadDir); err != nil { return false, errors.New(i18n.Tr("testing archive size: %s", err)) - } else if !ok { - return false, nil } ok, err := r.TestLocalArchiveChecksum(downloadDir) diff --git a/internal/arduino/resources/resources_test.go b/internal/arduino/resources/resources_test.go index f5b9b252d1f..0ca1bdd884b 100644 --- a/internal/arduino/resources/resources_test.go +++ b/internal/arduino/resources/resources_test.go @@ -82,6 +82,10 @@ func TestDownloadAndChecksums(t *testing.T) { require.NoError(t, err) downloadAndTestChecksum() + require.NoError(t, r.TestLocalArchiveSize(tmp)) + r.Size = 500 + require.NoError(t, r.TestLocalArchiveSize(tmp)) + r.Checksum = "" _, err = r.TestLocalArchiveChecksum(tmp) require.Error(t, err) diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index cd28d8286c0..635dce891d6 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -1354,3 +1354,15 @@ func TestReferencedCoreBuildAndRuntimeProperties(t *testing.T) { out.ArrayMustContain(jsonEncode("runtime.platform.path=" + corePlatformPath)) } } + +func TestCoreInstallWithWrongArchiveSize(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/2332 + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("--additional-urls", "https://raw.githubusercontent.com/geolink/opentracker-arduino-board/bf6158ebab0402db217bfb02ea61461ddc6f2940/package_opentracker_index.json", "core", "update-index") + require.NoError(t, err) + + _, _, err = cli.Run("--additional-urls", "https://raw.githubusercontent.com/geolink/opentracker-arduino-board/bf6158ebab0402db217bfb02ea61461ddc6f2940/package_opentracker_index.json", "core", "install", "opentracker:sam@1.0.5") + require.NoError(t, err) +} From 3b14b47ad1b7d831b70046b02b49572096a8da37 Mon Sep 17 00:00:00 2001 From: per1234 <accounts@perglass.com> Date: Mon, 4 Nov 2024 07:14:20 -0800 Subject: [PATCH 271/361] [skip changelog] Only download required artifact in Windows Installer job of release workflows (#2743) The project's nightly build and production release workflows generate a Windows Installer package of Arduino CLI. This is generated from the Windows x86-64 build, which is produced by a prior job. The builds are transferred between jobs by GitHub Actions workflow artifacts, one for each host architecture. Previously, the "create-windows-installer" job that generates the Windows Installer package unnecessarily downloaded all the build artifacts, even though it only requires the Windows x86-64 artifact. In addition to being inefficient, this was problematic because the "create-windows-installer" job is running in parallel with the "notarize-macos" job, which modifies the macOS artifacts. In order to fix a bug in the workflow, the "notarize-macos" job was recently changed to delete the non-notarized macOS artifacts after downloading them so that the job could replace those artifacts with the notarized builds. This caused the "create-windows-installer" job's download of the macOS artifacts to fail when it attempted to download them after the time the parallel "notarize-macos" job had deleted them (but before the "notarize-macos" job had uploaded the artifacts again). The solution to the problem is to configure the "create-windows-installer" job to only download the artifact it requires. This artifact is not modified by any parallel job so there is no danger of a conflict. --- .github/workflows/publish-go-nightly-task.yml | 3 +-- .github/workflows/release-go-task.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index 66e6195f1d2..ade13e6c2ef 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -201,8 +201,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: ${{ env.ARTIFACT_NAME }}-* - merge-multiple: true + name: ${{ env.ARTIFACT_NAME }}-Windows_64bit path: ${{ env.DIST_DIR }} - name: Prepare PATH diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 44fb3102d7a..d61142f066d 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -201,8 +201,7 @@ jobs: - name: Download artifacts uses: actions/download-artifact@v4 with: - pattern: ${{ env.ARTIFACT_NAME }}-* - merge-multiple: true + name: ${{ env.ARTIFACT_NAME }}-Windows_64bit path: ${{ env.DIST_DIR }} - name: Prepare PATH From 4d450df934fb87613428c493e4dc2dc2ecf4cc01 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 6 Nov 2024 16:44:24 +0100 Subject: [PATCH 272/361] Fixed locales (translations) not being detected with default config (#2724) * Fixed locales (translations) not being detected with default config * Fixed integration test * Apply i18n settings only if specified * Fixed settings.GetLocale() * Do not print directly to stdout if locale-detection fails (windows) * Give LANG env var priority (windows) --- commands/instances.go | 4 ++- commands/service.go | 8 +---- commands/service_settings_test.go | 1 - internal/cli/configuration/defaults.go | 2 +- internal/cli/configuration/locale.go | 3 ++ internal/i18n/detect_windows.go | 9 ++++-- .../integrationtest/config/config_test.go | 29 ++++++++++++++----- 7 files changed, 36 insertions(+), 20 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index 3ec59027070..23f42be9638 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -419,7 +419,9 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Refreshes the locale used, this will change the // language of the CLI if the locale is different // after started. - i18n.Init(s.settings.GetString("locale")) + if locale, ok, _ := s.settings.GetStringOk("locale"); ok { + i18n.Init(locale) + } return nil } diff --git a/commands/service.go b/commands/service.go index 46c7bf3e6d5..20ffda4de2a 100644 --- a/commands/service.go +++ b/commands/service.go @@ -19,7 +19,6 @@ import ( "context" "github.com/arduino/arduino-cli/internal/cli/configuration" - "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/arduino-cli/version" ) @@ -27,12 +26,7 @@ import ( // NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service // that uses the provided version string. func NewArduinoCoreServer() rpc.ArduinoCoreServiceServer { - settings := configuration.NewSettings() - - // Setup i18n - i18n.Init(settings.Locale()) - - return &arduinoCoreServerImpl{settings: settings} + return &arduinoCoreServerImpl{settings: configuration.NewSettings()} } type arduinoCoreServerImpl struct { diff --git a/commands/service_settings_test.go b/commands/service_settings_test.go index 1c77856a336..89f7b11c3f7 100644 --- a/commands/service_settings_test.go +++ b/commands/service_settings_test.go @@ -62,7 +62,6 @@ func TestGetAll(t *testing.T) { "user": `+defaultUserDir.GetEncodedValue()+` }, "library": {}, - "locale": "en", "logging": { "format": "text", "level": "info" diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index a810265785a..40f8b472cdb 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -73,7 +73,7 @@ func SetDefaults(settings *Settings) { setKeyTypeSchema("network.user_agent_ext", "") // locale - setDefaultValueAndKeyTypeSchema("locale", "en") + setKeyTypeSchema("locale", "") } // InjectEnvVars change settings based on the environment variables values diff --git a/internal/cli/configuration/locale.go b/internal/cli/configuration/locale.go index e292ea8f170..eb647731400 100644 --- a/internal/cli/configuration/locale.go +++ b/internal/cli/configuration/locale.go @@ -16,5 +16,8 @@ package configuration func (s *Settings) Locale() string { + if locale, ok, err := s.GetStringOk("locale"); ok && err == nil { + return locale + } return s.Defaults.GetString("locale") } diff --git a/internal/i18n/detect_windows.go b/internal/i18n/detect_windows.go index 2210bfa2553..84bc3af7997 100644 --- a/internal/i18n/detect_windows.go +++ b/internal/i18n/detect_windows.go @@ -16,19 +16,24 @@ package i18n import ( - "fmt" "strings" "syscall" "unsafe" + + "github.com/sirupsen/logrus" ) func getLocaleIdentifier() string { defer func() { if r := recover(); r != nil { - fmt.Println("failed to get windows user locale", r) + logrus.WithField("error", r).Errorf("Failed to get windows user locale") } }() + if loc := getLocaleIdentifierFromEnv(); loc != "" { + return loc + } + dll := syscall.MustLoadDLL("kernel32") defer dll.Release() proc := dll.MustFindProc("GetUserDefaultLocaleName") diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index 6e57eebf72f..bd19d0545c2 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -882,25 +882,25 @@ build.unk: 123 t.Cleanup(func() { unkwnownConfig.Remove() }) // Run "config get" with a configuration containing an unknown key - out, _, err := cli.Run("config", "get", "locale", "--config-file", unkwnownConfig.String()) + out, _, err := cli.Run("config", "get", "daemon.port", "--config-file", unkwnownConfig.String()) require.NoError(t, err) - require.Equal(t, "en", strings.TrimSpace(string(out))) + require.Equal(t, `"50051"`, strings.TrimSpace(string(out))) - // Run "config get" with a configuration containing an invalid key + // Run "config get" with a configuration containing an invalid value invalidConfig := paths.New(filepath.Join(tmp, "invalid.yaml")) - invalidConfig.WriteFile([]byte(`locale: 123`)) + invalidConfig.WriteFile([]byte(`daemon.port: 123`)) t.Cleanup(func() { invalidConfig.Remove() }) - out, _, err = cli.Run("config", "get", "locale", "--config-file", invalidConfig.String()) + out, _, err = cli.Run("config", "get", "daemon.port", "--config-file", invalidConfig.String()) require.NoError(t, err) - require.Equal(t, "en", strings.TrimSpace(string(out))) + require.Equal(t, `"50051"`, strings.TrimSpace(string(out))) // Run "config get" with a configuration containing a null array nullArrayConfig := paths.New(filepath.Join(tmp, "null_array.yaml")) nullArrayConfig.WriteFile([]byte(`board_manager.additional_urls:`)) t.Cleanup(func() { nullArrayConfig.Remove() }) - out, _, err = cli.Run("config", "get", "locale", "--config-file", invalidConfig.String()) + out, _, err = cli.Run("config", "get", "daemon.port", "--config-file", nullArrayConfig.String()) require.NoError(t, err) - require.Equal(t, "en", strings.TrimSpace(string(out))) + require.Equal(t, `"50051"`, strings.TrimSpace(string(out))) } func TestConfigViaEnvVars(t *testing.T) { @@ -931,3 +931,16 @@ func TestConfigViaEnvVars(t *testing.T) { require.NoError(t, err) require.Equal(t, "20\n\n", string(out)) } + +func TestI18N(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + out, _, err := cli.RunWithCustomEnv(map[string]string{"LC_ALL": "it"}) + require.NoError(t, err) + require.Contains(t, string(out), "Comandi disponibili") + + out, _, err = cli.RunWithCustomEnv(map[string]string{"LC_ALL": "en"}) + require.NoError(t, err) + require.Contains(t, string(out), "Available Commands") +} From 4f115747c50ac0caab267db48dda1cb191826ef1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 Nov 2024 17:29:27 +0100 Subject: [PATCH 273/361] [skip changelog] Bump github.com/leonelquinteros/gotext from 1.4.0 to 1.7.0 (#2712) * [skip changelog] Bump github.com/leonelquinteros/gotext Bumps [github.com/leonelquinteros/gotext](https://github.com/leonelquinteros/gotext) from 1.4.0 to 1.7.0. - [Release notes](https://github.com/leonelquinteros/gotext/releases) - [Commits](https://github.com/leonelquinteros/gotext/compare/v1.4.0...v1.7.0) --- updated-dependencies: - dependency-name: github.com/leonelquinteros/gotext dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Implement new API for gotext * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../github.com/leonelquinteros/gotext.dep.yml | 38 ++++++++++++++++- .../leonelquinteros/gotext/plurals.dep.yml | 42 +++++++++++++++++-- go.mod | 2 +- go.sum | 20 ++++++++- internal/i18n/i18n_test.go | 4 +- internal/i18n/locale.go | 4 +- 6 files changed, 97 insertions(+), 13 deletions(-) diff --git a/.licenses/go/github.com/leonelquinteros/gotext.dep.yml b/.licenses/go/github.com/leonelquinteros/gotext.dep.yml index 9f13e6e9ab4..e03e5a03e88 100644 --- a/.licenses/go/github.com/leonelquinteros/gotext.dep.yml +++ b/.licenses/go/github.com/leonelquinteros/gotext.dep.yml @@ -1,10 +1,10 @@ --- name: github.com/leonelquinteros/gotext -version: v1.4.0 +version: v1.7.0 type: go summary: Package gotext implements GNU gettext utilities. homepage: https://pkg.go.dev/github.com/leonelquinteros/gotext -license: mit +license: other licenses: - sources: LICENSE text: | @@ -29,6 +29,40 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + + + Package `plurals` + + Original: + https://github.com/ojii/gettext.go/tree/b6dae1d7af8a8441285e42661565760b530a8a57/pluralforms + + License: + https://raw.githubusercontent.com/ojii/gettext.go/b6dae1d7af8a8441285e42661565760b530a8a57/LICENSE + + Copyright (c) 2016, Jonas Obrist + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Jonas Obrist nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL JONAS OBRIST BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - sources: README.md text: "[MIT license](LICENSE)" notices: [] diff --git a/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml b/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml index e80ad4e09f5..050b3c60f42 100644 --- a/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml +++ b/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/leonelquinteros/gotext/plurals -version: v1.4.0 +version: v1.7.0 type: go summary: Package plurals is the pluralform compiler to get the correct translation id of the plural string homepage: https://pkg.go.dev/github.com/leonelquinteros/gotext/plurals -license: mit +license: other licenses: -- sources: gotext@v1.4.0/LICENSE +- sources: gotext@v1.7.0/LICENSE text: | The MIT License (MIT) @@ -30,6 +30,40 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: gotext@v1.4.0/README.md + + + Package `plurals` + + Original: + https://github.com/ojii/gettext.go/tree/b6dae1d7af8a8441285e42661565760b530a8a57/pluralforms + + License: + https://raw.githubusercontent.com/ojii/gettext.go/b6dae1d7af8a8441285e42661565760b530a8a57/LICENSE + + Copyright (c) 2016, Jonas Obrist + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Jonas Obrist nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL JONAS OBRIST BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: gotext@v1.7.0/README.md text: "[MIT license](LICENSE)" notices: [] diff --git a/go.mod b/go.mod index dd98f5b1d83..2f0afa56031 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/fatih/color v1.18.0 github.com/go-git/go-git/v5 v5.4.2 github.com/gofrs/uuid/v5 v5.3.0 - github.com/leonelquinteros/gotext v1.4.0 + github.com/leonelquinteros/gotext v1.7.0 github.com/mailru/easyjson v0.7.7 github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 github.com/mattn/go-colorable v0.1.13 diff --git a/go.sum b/go.sum index 5c68d8d765c..30de5ce5735 100644 --- a/go.sum +++ b/go.sum @@ -118,8 +118,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leonelquinteros/gotext v1.4.0 h1:2NHPCto5IoMXbrT0bldPrxj0qM5asOCwtb1aUQZ1tys= -github.com/leonelquinteros/gotext v1.4.0/go.mod h1:yZGXREmoGTtBvZHNcc+Yfug49G/2spuF/i/Qlsvz1Us= +github.com/leonelquinteros/gotext v1.7.0 h1:jcJmF4AXqyamP7vuw2MMIKs+O3jAEmvrc5JQiI8Ht/8= +github.com/leonelquinteros/gotext v1.7.0/go.mod h1:qJdoQuERPpccw7L70uoU+K/BvTfRBHYsisCQyFLXyvw= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 h1:hyAgCuG5nqTMDeUD8KZs7HSPs6KprPgPP8QmGV8nyvk= @@ -211,6 +211,7 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= go.bug.st/downloader/v2 v2.2.0 h1:Y0jSuDISNhrzePkrAWqz9xUC3xol9hqZo/+tz1D4EqY= @@ -228,23 +229,31 @@ go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -259,20 +268,27 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= diff --git a/internal/i18n/i18n_test.go b/internal/i18n/i18n_test.go index 207673fb85b..1ec157db01e 100644 --- a/internal/i18n/i18n_test.go +++ b/internal/i18n/i18n_test.go @@ -25,7 +25,7 @@ import ( ) func setPo(poFile string) { - po = new(gotext.Po) + po = gotext.NewPo() po.Parse([]byte(poFile)) } @@ -39,7 +39,7 @@ func TestPoTranslation(t *testing.T) { } func TestNoLocaleSet(t *testing.T) { - po = new(gotext.Po) + po = gotext.NewPo() require.Equal(t, "test-key", Tr("test-key")) } diff --git a/internal/i18n/locale.go b/internal/i18n/locale.go index 80b8ebff6e2..35a43e42e03 100644 --- a/internal/i18n/locale.go +++ b/internal/i18n/locale.go @@ -28,7 +28,7 @@ var po *gotext.Po var contents embed.FS func init() { - po = new(gotext.Po) + po = gotext.NewPo() } func supportedLocales() []string { @@ -75,6 +75,6 @@ func setLocale(locale string) { if err != nil { panic("Error reading embedded i18n data: " + err.Error()) } - po = new(gotext.Po) + po = gotext.NewPo() po.Parse(poFile) } From 49c154a4c905915d714d3bc2e4624983458b2311 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 7 Nov 2024 15:06:39 +0100 Subject: [PATCH 274/361] [skip-changelog] Updated translation files (#2692) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 405 +++---- internal/i18n/data/be.po | 2100 ++++++++++++++++++++--------------- internal/i18n/data/de.po | 405 +++---- internal/i18n/data/es.po | 403 +++---- internal/i18n/data/fr.po | 401 +++---- internal/i18n/data/he.po | 401 +++---- internal/i18n/data/it_IT.po | 416 +++---- internal/i18n/data/ja.po | 401 +++---- internal/i18n/data/ko.po | 401 +++---- internal/i18n/data/lb.po | 401 +++---- internal/i18n/data/pl.po | 401 +++---- internal/i18n/data/pt.po | 403 +++---- internal/i18n/data/ru.po | 2061 +++++++++++++++++++--------------- internal/i18n/data/zh.po | 405 +++---- internal/i18n/data/zh_TW.po | 412 +++---- 15 files changed, 5161 insertions(+), 4255 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index bdbe7dda0d4..930c7064a83 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -29,7 +29,7 @@ msgstr "%[1]s غير صالح . جار اعادة بناء كل شيء" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s مطلوب و لكن %[2]s مثبت حاليا" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s التنسيق مفقود" @@ -37,7 +37,7 @@ msgstr "%[1]s التنسيق مفقود" msgid "%s already downloaded" msgstr "تم تنزيل %s مسبقا" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s و %s لا يمكن استخدامهما معا" @@ -58,6 +58,10 @@ msgstr "%s ليس مسارا صحيحا" msgid "%s is not managed by package manager" msgstr "%s غير مدار بواسطة مدير الحزمات" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "يجب تثبيت %s" @@ -162,7 +166,7 @@ msgstr "حدث خطأ اثناء اضافة النماذج الاولية" msgid "An error occurred detecting libraries" msgstr "حدث خطأ اثناء الكشف عن المكتبات" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "" "الحاق سجل التصحيح الى الملف المحدد (Append debug logging to the specified " @@ -248,7 +252,7 @@ msgstr "متوفر" msgid "Available Commands:" msgstr "الاوامر المتوفرة" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "الملف الثنائي (Binary file) الذي تريد رفعه" @@ -269,11 +273,11 @@ msgstr "نسخة اللوحة :" msgid "Bootloader file specified but missing: %[1]s" msgstr "ملف محمل الإقلاع (Bootloader) تم تحدديده لكنه مفقود: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" -"Builds الخاصة ب 'core.a' تحفظ في هذا المسار و سيتم وضعها في الكاش و سيعاد " -"استخدامها" #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -301,19 +305,19 @@ msgstr "تعذر فتح المشروع" msgid "Can't update sketch" msgstr "نعذر تحديث المشروع" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "لا يمكن استخدام العلامات التالية مع بعضها البعض : %s " -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "تعذر كتابة سجل مصحح الاخطاء : %s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "تعذر انشاء مجلد لل \"build cache\"" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "تعذر انشاء مسار البناء" @@ -359,7 +363,7 @@ msgstr "تعذر تثبيت المنصة" msgid "Cannot install tool %s" msgstr "تعذر تثبيت الاداة %s" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "تعذر اجراء اعادة تشغيل المنفذ : %s" @@ -380,7 +384,7 @@ msgstr "الفئة : %s" msgid "Check dependencies status for the specified library." msgstr "التحقق من حالة التبعيات (dependencies) للمكتبة المختارة" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -409,7 +413,7 @@ msgid "" "a change." msgstr "الامر يبقى قيد التشغيل و يطبع قائمة للوحات المتصلة عندما يوجد تغيير" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "المشروع المترجم لم يتم ايجاده في %s" @@ -417,11 +421,11 @@ msgstr "المشروع المترجم لم يتم ايجاده في %s" msgid "Compiles Arduino sketches." msgstr "يترجم مشاريع الاردوينو" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "يتم ترجمة النواة" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "يتم ترجمة المكتبات" @@ -429,7 +433,7 @@ msgstr "يتم ترجمة المكتبات" msgid "Compiling library \"%[1]s\"" msgstr "يتم ترجمة المكتبة \"%[1]s\"" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "ترجمة الشيفرة البرمجية..." @@ -443,11 +447,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "تمت كتابة ملف التهيئة في : %s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "اعدادات الضبط ل %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -465,7 +469,7 @@ msgstr "جار تهيئة الاداة" msgid "Connected" msgstr "متصل" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -477,7 +481,7 @@ msgstr "النواة" msgid "Could not connect via HTTP" msgstr "تعذر الاتصال بواسطة HTTP" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "تعذر انشاء فهرس داخل المسار" @@ -497,7 +501,7 @@ msgstr "تعذر ايجاد المسار الحالي %v" msgid "Create a new Sketch" msgstr "انشاء مشروع جديد" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "انشاء و طباعة اعدادات البروفايل من البناء (build)" @@ -513,7 +517,7 @@ msgstr "" "انشاء او تحديث ملف الضبط في مسار البيانات او في مسار مخصص مع اعدادات التهيئة" " الحالية" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -521,7 +525,7 @@ msgstr "" "في الوقت الحالي , بروفايلات البناء (Build Profiles) تدعم حصرا المكتبات " "المتوافرة في مدير المكتبات للاردوينو (Arduino Library Manager)" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -530,28 +534,28 @@ msgstr "" msgid "DEPRECATED" msgstr "مهملة (غير موصى باستخدامها)" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "Daemon يقوم بالاستماع على %s : %s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "تصحيح مشاريع الاردوينو" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "تصحيح اخطاء مشاريع الاردوينو (يفتح هذا الامر جلسة gdb تفاعلية)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "مترجم التصحيح على سبيل المثال : %s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "تصحيح الاخطاء (Debugging) غير مدعوم للوحة %s" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "إفتراضي" @@ -598,11 +602,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "تكتشف و تعرض قائمة اللوحات المتصلة الى هذا الكومبيوتر" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "المسار الذي يحوي الملفات الثنائية للتصحيح" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "المجلد الذي يحوي الملفات الثنائية (binaries) التي سيتم رفعها" @@ -622,7 +626,7 @@ msgstr "الغاء تفعيل وصف الاكتمال في واجهات الاو msgid "Disconnected" msgstr "قطع الاتصال" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "يعرض فقط اتصالات gRPC التي تم اعطاؤها" @@ -638,12 +642,12 @@ msgstr "لا تكتب فوق المكتبات المثبتة مسبقا" msgid "Do not overwrite already installed platforms." msgstr "لا تكتب فوق المنصات المثبتة مسبقا" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "لا تقم بالرفع , فقط قم بتسجيل الاحداث" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" "عدم انهاء عمليات daemon في حال تم انهاء العملية الام (Do not terminate " @@ -661,8 +665,8 @@ msgstr "يتم تنزيل %s" msgid "Downloading index signature: %s" msgstr "جار تنزيل فهرس التوقيعات %s" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "جار تنزيل الفهرس : %s" @@ -695,7 +699,7 @@ msgstr "يقوم بتنزيل نواة او اكثر و ادواتها التا msgid "Downloads one or more libraries without installing them." msgstr "يقوم بتنزيل مكتبة او اكثر بدون تثبيتها" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "تفعيل تسجيل تصحيح الاخطاء لمكالمات gRPC " @@ -730,11 +734,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "خطأ اثناء تنظيف الكاش : %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "تعذر تحويل المسار الى مطلق : %v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "خطا اثناء نسخ ملف الخرج %s" @@ -748,7 +752,7 @@ msgstr "خطأ في أنشاء ملف التعريفات:%v" msgid "Error creating instance: %v" msgstr "خطا اثناء انشاء النسخة %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "خطا اثناء انشاء مسار الخرج" @@ -773,7 +777,7 @@ msgstr "خطا اثناء تحميل %[1]s : %[2]v" msgid "Error downloading %s" msgstr "خطأ اثناء تحميل %s" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "خطأ اثناء تحميل الفهرس '%s'" @@ -795,7 +799,7 @@ msgstr "خطأ اثناء تنزيل المنصة %s" msgid "Error downloading tool %s" msgstr "خطا اثناء تنزيل الاداة %s" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "خطا اثناء التصحيح : %v" @@ -803,18 +807,18 @@ msgstr "خطا اثناء التصحيح : %v" msgid "Error during JSON encoding of the output: %v" msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "خطأ اثناء بناء : %v" @@ -835,11 +839,11 @@ msgstr "خطا اثناء تطوير : %v" msgid "Error extracting %s" msgstr "خطأ اثناء استخراج %s" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "خطا اثناء البحث عن build artifacts" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "خطأ اثناء الحصول على معلومات التصحيح %v" @@ -855,13 +859,13 @@ msgstr "خطأ اثناء الحصول على معلومات اللوحة %v" msgid "Error getting current directory for compilation database: %s" msgstr "خطأ اثناء الحصول على المسار الحالي من اجل قاعدة بيانات الترجمة %s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "خطأ اثناء الحصول على المعلومات للمكتبة %s" @@ -869,16 +873,16 @@ msgstr "خطأ اثناء الحصول على المعلومات للمكتبة msgid "Error getting libraries info: %v" msgstr "خطا اثناء جلب بيانات المكتبة : %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "خطأ اثناء جلب البيانات الوصفية (metadata) للمنفذ : %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" "خطأ اثناء الحصول على بيانات اعدادات المنفذ (port settings details) : %s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "تعذر الحصول على مدخلات المستخدم" @@ -938,19 +942,19 @@ msgstr "خطأ اثناء تحميل الفهرس %s" msgid "Error opening %s" msgstr "خطأ اثناء فتح %s" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "تعذر فتح الملف الذي يحوي سجلات التصحيح (debug logging file) : %s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "خطا اثناء فتح الكود المصدر الذي يتجاوز ملف البيانات : %v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "تعذر تقطيع علامة show-properties-- : %v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "خطا اثناء قراءة مسار البناء" @@ -999,7 +1003,7 @@ msgstr "" "تعذر القيام بسلسلة قاعدة بيانات الترجمة (Error serializing compilation " "database) : %s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1055,7 +1059,7 @@ msgstr "خطأ في كتابة الملف: %v" msgid "Error: command description is not supported by %v" msgstr "خطأ : وصف الامر غير مدعوم من قبل %v" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "خطأ : كود مصدري خاطئ سيقوم بالكتابة فوق ملف البيانات : %v" @@ -1071,11 +1075,11 @@ msgstr "الامثلة للمكتبة %s" msgid "Examples:" msgstr "الامثلة : " -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "الملف التنفيذي الذي سيتم تصحيحه (Executable to debug)" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "توقعت وجود المشروع المترجم في المسار %s . لكنني وجدت ملفا بدلا عن ذلك" @@ -1089,15 +1093,15 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "فشل محي الشريحة" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "فشل المبرمجة" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "فشل حرق محمل الاقلاع" @@ -1109,23 +1113,23 @@ msgstr "فشل انشاء مسار البيانات" msgid "Failed to create downloads directory" msgstr "فشل انشاء مسار التنزيلات" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s منفذ غير صالح" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "تعذر الاستماع على منفذ TCP : %[1]s . %[2]s اسم غير معروف" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "تعذر الاستماع على منفذ TCP : %[1]s . خطأ غير متوقع %[2]v " -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "تعذر الاستماع على منفذ TCP : %s . العناوين قيد الاستخدام مسبقا" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "تعذر الرفع" @@ -1143,7 +1147,7 @@ msgstr "تشفير البرنامج الثابت او توقيعه يحتاج ت msgid "First message must contain debug request, not data" msgstr "اول رسالة يجب ان تحوي على طلب التصحيح و ليس البيانات" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "العلامة %[1]s اجبارية عند استخدامها بالتوازي مع : %[2]s" @@ -1224,7 +1228,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "المتغيرات العامة تستخدم %[1]s بايت من الذاكرة المتغيرة." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1237,7 +1241,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "خصائص التعرُّف" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "اذا تم تحديده فان مجموعة الكود الثنائي الذي تم بناؤه سيتم تصديره الى مجلد " @@ -1312,7 +1316,7 @@ msgstr "غير صالح '‍%[1]s' : الصفة : %[2]s" msgid "Invalid FQBN" msgstr "FBQN غير صالح" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "عنوان TCP غير صالح لان المنفذ غير موجود" @@ -1334,7 +1338,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "تم اعطاء وسيط غير صالح %v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "خصائص البناء غير صالحة" @@ -1346,7 +1350,7 @@ msgstr "data size regexp غير صالح : %s" msgid "Invalid eeprom size regexp: %s" msgstr "eeprom size regexp غير صالح %s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1366,7 +1370,7 @@ msgstr "مكتبة غير صالحة" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1378,7 +1382,7 @@ msgstr "network.proxy غير صالح '%[1]s': %[2]s" msgid "Invalid output format: %s" msgstr "صيغة اخراج خاطئة : %s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "فهرس الحزمة غير صالح في %s" @@ -1414,7 +1418,7 @@ msgstr "نسخة غير صالحة" msgid "Invalid vid value: '%s'" msgstr "قيمة vid غير صالحة : '%s'" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1485,7 +1489,7 @@ msgstr "المكتبة مثبتة" msgid "License: %s" msgstr "رخصة" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "جار ربط كل شيء مع بعضه" @@ -1513,7 +1517,7 @@ msgstr "" "اعرض كل خيارات اللوحات مفصولة عن بعضها بفواصل . او يمكن استخدامها عدة مرات " "من اجل عدة خيارات" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1554,7 +1558,7 @@ msgstr "ذاكرة منخفضة متبقية، مشاكل عدم إستقرار msgid "Maintainer: %s" msgstr "القائم بالصيانة : %s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1594,7 +1598,7 @@ msgstr "يوجد بروتوكول منفذ مفقود" msgid "Missing programmer" msgstr "المبرمج مفقود" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1610,7 +1614,7 @@ msgstr "مسار السكتش مفقود" msgid "Monitor '%s' not found" msgstr "المراقب '%s' غير موجود" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "اعدادات منفذ المراقبة " @@ -1628,7 +1632,7 @@ msgstr "الاسم" msgid "Name: \"%s\"" msgstr "الاسم\"%s\"" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "منفذ التحميل الجديد: %[1]s(%[2]s)" @@ -1680,7 +1684,7 @@ msgstr "لا توجد منصات مثبتة" msgid "No platforms matching your search." msgstr "ﻻ يوجد منصات تطابق بحثك" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "تعذر ايجاد منفذ رفع , باستخدام %s كرجوع احتياطي fallback" @@ -1712,7 +1716,7 @@ msgstr "" "ازالة تفاصيل المكتبة في كل النسخ عدا اخر نسخة (يعطي اخراج json مضغوط بشكل " "اكبر)" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "فتح منفذ تواصل مع اللوحة" @@ -1720,38 +1724,38 @@ msgstr "فتح منفذ تواصل مع اللوحة" msgid "Option:" msgstr "اختيار:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "اختياري، يمكن أن يكون: %s. يُستخدم لإخبار ال gcc أي مستوي تحذير يَستخدِم (-W" " flag)" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "اختياري , يقوم بتنظيف مجلد البناء ولا يستخدم اي بناء مخزن مؤقتا" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "اختياري , يحسن مخرجات المترجم خلال تصحيح الاخطاء بدلا عن الاصدار" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "اختياري , يكبح كل خرج" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "اختياري، يُفعل الوضع المفصل." -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "اختياري , مسار لملف json. الذي يحتوي على البدائل من الكود المصدري للمشروع" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1759,6 +1763,19 @@ msgstr "" "تجاوز احد خصائص البناء باستخدام قيمة خاصة . يمكن استخدامه عدة مرات من اجل " "عدة خصائص" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "الكتابة فوق ملف التهيئة الموجود سابقا" @@ -1800,11 +1817,11 @@ msgstr "موقع الحزمة على الويب" msgid "Paragraph: %s" msgstr "المقطع : %s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "المسار" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1812,7 +1829,7 @@ msgstr "" "المسار الى مجموعة من المكتبات . يمكن استخدامه عدة مرات او من اجل عدة مدخلات " "حيث يتم فصلها باستخدام فاصلة" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1824,7 +1841,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "مسار للملف حيث تُكتب السجلات" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1832,7 +1849,7 @@ msgstr "" "المسار الذي يتم فيه حفظ الملفات التي تمت ترجمتها , اذا تم ازالته , سيتم " "انشاء مجلد داخل المسار المؤقت الافتراضي في نظام التشغيل" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "جار تفعيل 1200-bps touch reset على المنفذ التسلسلي %s" @@ -1845,7 +1862,7 @@ msgstr "المنصة %s مثبتة سابقا" msgid "Platform %s installed" msgstr "تم تثبيت المنصة: %s" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1869,7 +1886,7 @@ msgstr "المنصة '%s' غير موجودة" msgid "Platform ID" msgstr "Platform ID" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "id المنصة غير صحيح" @@ -1921,7 +1938,7 @@ msgstr "" msgid "Port" msgstr "منفذ" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "المنفذ %v مغلق" @@ -1938,7 +1955,7 @@ msgstr "تعذر ايجاد المكتبة التي تمت ترجمتها مسب msgid "Print details about a board." msgstr "طباعة تفاصيل عن لوحة." -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "طباعة الكود قبل معالجته الى stdout بدلا من الترجمة " @@ -2006,11 +2023,11 @@ msgstr "استبدال المنصة %[1]s بـ %[2]s" msgid "Required tool:" msgstr "الادوات المطلوبة :" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "التشغيل ضمن الوضع الصامت , يظهر فقط شاشة الادخال و الاخراج " -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -2027,11 +2044,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "حفظ ادوات البناء ضمن هذا المجلد" @@ -2106,7 +2123,7 @@ msgstr "" msgid "Sentence: %s" msgstr "الجملة : %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2114,15 +2131,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "استجابة السيرفر : %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2142,11 +2159,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "تحديد مكان حفظ ملف الضبط" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "اعداد" @@ -2158,7 +2179,7 @@ msgstr "" msgid "Show all available core versions." msgstr "اظهار كل النوى المتوفرة" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "اظهار كل اعدادات منفذ التواصل" @@ -2193,7 +2214,7 @@ msgstr "اظهار اسم المكتبة فقط" msgid "Show list of available programmers" msgstr "عرض قائمة المبرمجات المتاحة" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "اظهار البيانات الوصفية لجلسة التصحيح بدلا من بدء المصحح" @@ -2248,7 +2269,7 @@ msgstr "عرض رقم نسخة Arduino CLI" msgid "Size (bytes):" msgstr "الحجم (بالبايت) :" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2287,7 +2308,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "تخطي ربط البرنامج النهائي القابل للتنفيذ" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "جار تخطي 1200bps touch reset لانه لم يتم تحديد منفذ تسلسلي" @@ -2320,7 +2341,7 @@ msgstr "جار تخطي ضبط الاداة" msgid "Skipping: %[1]s" msgstr "جار تخطي : %[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "يمكن تحديث بعض الفهارس" @@ -2329,7 +2350,7 @@ msgid "Some upgrades failed, please check the output for details." msgstr "" "فشلت بعض الترقيات , الرجاء الاطلاع على الخرج من اجل المزيد من المعلومات" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "منفذ TCP  الذي سيستمع اليه الناطر" @@ -2341,15 +2362,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سيتم استخدام الملف الافتراضي)" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "يجب استخدام العلامة debug-file-- مع debug--" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2377,7 +2404,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "يوجد عدة نسخ مثبتة من المكتبة %s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2385,7 +2412,7 @@ msgstr "" "اسم مفتاح التشفير المخصص الذي سيستخدم لتشفير ملف ثنائي اثناء الترجمة . " "يستخدم فقط من قبل المنصات التي تدعم ذلك" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2397,7 +2424,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "تنسيق الخرج الخاص بالسجلات , يمكن ان يكون : %s" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2428,7 +2455,7 @@ msgstr "" "هذا الامر يظهر قائمة النوى و/أو المكتبات المثبتة التي يمكن ترقيتها. اذا لم " "يوجد اي شيء يحتاج للتحديث فالخرج سيكون فارغا" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2445,23 +2472,23 @@ msgstr "تم الغاء تثبيت الاداة %s" msgid "Toolchain '%s' is not supported" msgstr "مجموعة الادوات '%s' غير مدعومة" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "مسار مجموعة الادوات" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "بادئة مجموعة الادوات " -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "نوع مجموعة الادوات" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "جرب تشغيل %s" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "يفعل الوضع المطول" @@ -2500,7 +2527,7 @@ msgstr "تعذر ايجاد user home dir : %v" msgid "Unable to open file for logging: %s" msgstr "تعذر فتح ملف من اجل انشاء سجلات : %s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "تعذر تقطيع عنوان URL" @@ -2589,7 +2616,7 @@ msgstr "يرفع مشاريع الاردوينو , و لا يقوم بترجمة msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "عنوان منفذ الرفع : مثال , COM3 او /dev/ttyACM2" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "تم ايجاد منفذ الرفع في %s" @@ -2597,7 +2624,7 @@ msgstr "تم ايجاد منفذ الرفع في %s" msgid "Upload port protocol, e.g: serial" msgstr "بروتوكول منفذ الرفع , مثال : serial \"تسلسلي\"" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "يرفع الملف الثنائي بعد الترجمة" @@ -2609,7 +2636,7 @@ msgstr "يرفع محمل الاقلاع على اللوحة باستخدام م msgid "Upload the bootloader." msgstr "يرفع محمل الاقلاع" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2631,11 +2658,11 @@ msgstr "الاستخدام" msgid "Use %s for more information about a command." msgstr "استخدم %s من اجل المزيد من المعلومات حول امر معين" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "المكتبة المستخدمة" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "المنصة المستخدمة" @@ -2643,7 +2670,7 @@ msgstr "المنصة المستخدمة" msgid "Used: %[1]s" msgstr "مستخدم : %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل المجلد %[2]s" @@ -2651,15 +2678,15 @@ msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل الم msgid "Using cached library dependencies for file: %[1]s" msgstr "يتم استخدام توابع المكتبة التي تم تخزينها مؤقتا من اجل الملف : %[1]s" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام النواة '%[1]s' من منصة داخل الملف %[2]s " -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2695,16 +2722,16 @@ msgstr "النسخة" msgid "VERSION_NUMBER" msgstr "رقم النسخة" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "القيم" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "التاكد من الملف الثنائي الذي سيتم رفعه قبل الرفع" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "النسخة" @@ -2726,7 +2753,7 @@ msgstr "تحذير , تعذر تهيئة الاداة %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "تحذير : المشروع سيترجم باستخدام مكتبة خاصة او اكثر . " @@ -2738,11 +2765,11 @@ msgstr "" "تحذير: المكتبة %[1]s تعمل على معمارية %[2]s وقد لا تتوافق مع لوحتك الحالية " "التي تعمل على معمارية %[3]s." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "يتم انتظار منفذ الرفع (upload port) ... " -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2762,13 +2789,13 @@ msgid "" "directory." msgstr "تكتب الاعدادات الضبط الحالية في ملف التهيئة داخل مجلد البيانات" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "لا يمكنك استخدام flag %s اثناء الترجمة باستخدام بروفايل (while compiling " "with a profile)" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "تلبيد \"hash\" الارشيف يختلف عن تلبيد \"hash\" الفهرس" @@ -2800,7 +2827,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "تعذر ايجاد الملف الثنائي (Binary file) داخل %s" @@ -2832,7 +2859,7 @@ msgstr "تعذر ايجاد نمط للاكتشاف بواسطة id %s" msgid "candidates" msgstr "المرشحون" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "تعذر تشغيل اداة الرفع : %s" @@ -2860,7 +2887,7 @@ msgstr "" "التواصل غير متزامن (communication out of sync) , توقعتُ وصول '%[1]s' لكن وصل" " ما يلي '%[2]s'" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "جار حوسبة التلبيد \"hash\" : %s" @@ -2876,7 +2903,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "جار نسخ المكتبة الى مجلد الوجهة" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "تعذر ايجاد ادوات صالحة للبناء (valid build artifact)" @@ -2972,7 +2999,7 @@ msgstr "خطا اثناء تحميل ملفات المشروع :" msgid "error opening %s" msgstr "تعذر فتح %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "تعذر تقطيع قيود النسخة" @@ -3001,7 +3028,7 @@ msgstr "تعذر حساب تلبيد \"hash\" ملف \"%s\"" msgid "failed to initialize http client" msgstr "تعذر تهيئة http client" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "حجم الارشيف الذي تم جلبه يختلف عن الحجم المحدد في الفهرس" @@ -3051,12 +3078,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "جار جلب معلومات ملف الارشيف : %s" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "جار جلب معلومات الارشيف : %s" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -3095,11 +3122,11 @@ msgstr "جار تثبيت المنصة %[1]s : %[2]s" msgid "interactive terminal not supported for the '%s' output format" msgstr "الطرفية \"terminal \" التفاعلية لا تدعم تنسيق الخرج التالي %s" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" غير صالحة %s" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "تنسيق المجموع الاختباري \"checksum\" غير صالح : %s" @@ -3143,7 +3170,7 @@ msgstr "تم ايجاد اعداد اعداد فارغ غير صالح" msgid "invalid git url" msgstr "عنوان url لـ git غير صالح" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "علامة تلبيد \"hash\" غير صالحة '%[1]s' : %[2]s" @@ -3151,7 +3178,7 @@ msgstr "علامة تلبيد \"hash\" غير صالحة '%[1]s' : %[2]s" msgid "invalid item %s" msgstr "عنصر غير صالح %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "يوجد directive للمكتبة \"عبارة برمجية بداخل الكود المصدري\" غير صالح %s" @@ -3183,15 +3210,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "حجم ملف ارشيف المنصة غير صالح : %s" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "معرف المنصة غير صالح" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "عنوان url لفهرس المنصة غير صالح" @@ -3199,15 +3226,15 @@ msgstr "عنوان url لفهرس المنصة غير صالح" msgid "invalid pluggable monitor reference: %s" msgstr "مرجع الشاشة القابلة للوصل غير صالح : %s" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "قيمة الضبط الخاصة بالمنفذ غير صالحة : %s:%s" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" -msgstr "اعدادات الضبط للمنفذ غير صالحة" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "وصفة غير صالحة %[1]s : %[2]s" @@ -3229,7 +3256,7 @@ msgstr "قيمة خاطئة '%[1]s' من اجل الخيار %[2]s" msgid "invalid version directory %s" msgstr "مجلد النسخة خاطئ %s" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "نسخة خاطئة " @@ -3317,7 +3344,7 @@ msgstr "جار تحميل اصدار الاداة (tool release) في %s" msgid "looking for boards.txt in %s" msgstr "جار البحث عن boards.txt داخل %s" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3325,11 +3352,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "الملف الرئيسي مفقود من المشروع : %s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "يوجد directive \"عبارة برمجية بداخل الكود المصدري\" مفقودة %s" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "المجموع الاختباري (checksum) لـ %s مفقود" @@ -3367,7 +3394,7 @@ msgstr "تعذر ايجاد اصدار المراقب : %s" msgid "moving extracted archive to destination dir: %s" msgstr "جار نقل الارشيف الذي تم استخراجه الى مجلد الوجهة : %s" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "تم ايجاد اكثر من build artifacts : '%[1]s' و '%[2]s'" @@ -3387,7 +3414,7 @@ msgstr "" msgid "no instance specified" msgstr "لا يوجد نسخ محددة" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "لم يتم تحديد مجلد/ملف المشروع او البناء " @@ -3399,7 +3426,7 @@ msgstr "لا يوجد ملف او مجلد مشابه" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "لا يوجد مجلد اصلي في الارشيف , تم ايجاد %[1]s و %[2]s" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "لم يتم تحديد اي منفذ للرفع" @@ -3419,7 +3446,7 @@ msgstr "" msgid "not running in a terminal" msgstr "لا يعمل في الطرفية \"terminal\"" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "جار فتح ملف الارشيف : %s" @@ -3478,7 +3505,7 @@ msgstr "المنصة غير متاحة لنظام التشغيل الخاص بك msgid "platform not installed" msgstr "المنصة غير مثبتة" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "الرجاء استخدام build-property-- بدلا من ذلك" @@ -3490,7 +3517,7 @@ msgstr "تم اضافة الكشف عن الاشياء القابلة للوصل msgid "port" msgstr "المنفذ" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "تعذر ايجاد المنفذ : %[1]s %[2]s" @@ -3553,7 +3580,7 @@ msgstr "جار قراءة المجلد الاصلي للحزمة : %s" msgid "reading sketch files" msgstr "جاري قرأت ملفات المذكرة" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "تعذر ايجاد الوصفة '%s'" @@ -3624,11 +3651,11 @@ msgstr "جار بدء الاكتشاف %s" msgid "testing archive checksum: %s" msgstr "جار فحص المجموع الاختباري للارشيف %s" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "جار فحص حجم الارشيف : %s" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "جار فحص ما اذا كان الارشيف تم تخزينه مؤقتا %s" @@ -3726,7 +3753,7 @@ msgstr "منصة غير معروفة %s:%s" msgid "unknown sketch file extension '%s'" msgstr "لاحقة المشروع غير معروفة '%s'" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "خوارزمية تليبد \"hash\" غير مدعومة %s" @@ -3738,7 +3765,7 @@ msgstr "جار تحديث arduino:samd لاخر اصدار" msgid "upgrade everything to the latest version" msgstr "تحديث كل شيء الى اخر اصدار" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "خطا اثناء الرفع %s" diff --git a/internal/i18n/data/be.po b/internal/i18n/data/be.po index 360e25fdf5c..704a1800f3e 100644 --- a/internal/i18n/data/be.po +++ b/internal/i18n/data/be.po @@ -1,1974 +1,2117 @@ # +# Translators: +# lidacity <dzmitry@lidacity.by>, 2024 +# msgid "" msgstr "" +"Last-Translator: lidacity <dzmitry@lidacity.by>, 2024\n" "Language-Team: Belarusian (https://app.transifex.com/arduino-1/teams/108174/be/)\n" "Language: be\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" -msgstr "" +msgstr "%[2]s%[1]sВерсія: %[3]s Фіксацыі: %[4]s Дата: %[5]s" #: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" msgstr "" +"%[1]s каталог больш не падтрымліваецца!\n" +"Дадатковую інфармацыю глядзіце ў падзеле %[2]s" #: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" -msgstr "" +msgstr "%[1]s несапраўдны, перабудаваць усё" #: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." -msgstr "" +msgstr "Патрабуецца %[1]s, але ў дадзены момант усталяваны %[2]s." -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" -msgstr "" +msgstr "Шаблон %[1]s адсутнічае" #: internal/arduino/resources/download.go:51 msgid "%s already downloaded" -msgstr "" +msgstr "%s ужо спампаваны" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" -msgstr "" +msgstr "%s і %s не могуць ужывацца разам" #: internal/arduino/cores/packagemanager/install_uninstall.go:371 msgid "%s installed" -msgstr "" +msgstr "%s усталяваны" #: internal/cli/lib/check_deps.go:121 msgid "%s is already installed." -msgstr "" +msgstr "%s ужо ўсталяваны." #: internal/arduino/cores/packagemanager/loader.go:63 #: internal/arduino/cores/packagemanager/loader.go:617 msgid "%s is not a directory" -msgstr "" +msgstr "%s не каталог" #: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" -msgstr "" +msgstr "%s не кіруецца кіраўніком пакетаў" + +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "%s павинны быць >= 1024" #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." -msgstr "" +msgstr "%s павінен быць усталяваны." #: internal/arduino/builder/internal/preprocessor/ctags.go:192 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" -msgstr "" +msgstr "Шаблон %s адсутнічае" #: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" -msgstr "" +msgstr "'%s' мае несапраўдны подпіс" #: internal/arduino/cores/packagemanager/package_manager.go:448 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" +"'build.core' і 'build.variant' ставяцца да розных платформах:\n" +"%[1]s і %[2]s" #: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" -msgstr "" +msgstr "(схаваны)" #: internal/arduino/builder/libraries.go:302 msgid "(legacy)" -msgstr "" +msgstr "(састарэлы)" #: internal/cli/lib/install.go:82 msgid "" "--git-url and --zip-path are disabled by default, for more information see: " "%v" msgstr "" +"--git-url і --zip-path першапачаткова адключаныя, дадатковую інфармацыю " +"глядзіце ў падзеле: %v" #: internal/cli/lib/install.go:84 msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" +"--git-url і --zip-path дазваляюць усталёўваць ненадзейныя файлы, ужывайце іх" +" на свой страх і рызыку." #: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" +"--git-url ці --zip-path не могуць быць выкарыстаныя з --install-in-builtin-" +"dir" #: commands/service_sketch_new.go:66 msgid ".ino file already exists" -msgstr "" +msgstr "Файл .ino ужо існуе" #: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" -msgstr "" +msgstr "Новая версія Arduino CLI даступная:" #: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" -msgstr "" +msgstr "Для выгрузкі патрабуецца праграматар" #: internal/cli/core/download.go:35 internal/cli/core/install.go:37 #: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" -msgstr "" +msgstr "Архітэктура" #: internal/cli/generatedocs/generatedocs.go:80 msgid "ARDUINO COMMAND LINE MANUAL" -msgstr "" +msgstr "Кіраўніцтва карыстальніка каманднага радка Arduino" #: internal/cli/usage.go:28 msgid "Additional help topics:" -msgstr "" +msgstr "Дадатковыя падзелы даведкі:" #: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." -msgstr "" +msgstr "Дадае адно ці некалькі значэнняў да налады." #: internal/cli/usage.go:23 msgid "Aliases:" -msgstr "" +msgstr "Псеўданім:" #: internal/cli/core/list.go:112 msgid "All platforms are up to date." -msgstr "" +msgstr "Усе платформы знаходзяцца ў актуальным стане." #: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" -msgstr "" +msgstr "Усе ядры ўжо ўсталяваныя ў апошняй версіі" #: commands/service_library_install.go:135 msgid "Already installed %s" -msgstr "" +msgstr "%s ужо ўсталяваны" #: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" -msgstr "" +msgstr "Варыянт для %[1]s: %[2]s" #: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" -msgstr "" +msgstr "Адбылася памылка пры даданні прататыпаў" #: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" -msgstr "" +msgstr "Адбылася памылка пры выяўленні бібліятэк" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" -msgstr "" +msgstr "Дадаць часопіс адладкі ў паказаны файл" #: internal/cli/lib/search.go:208 msgid "Architecture: %s" -msgstr "" +msgstr "Архітэктура: %s" #: commands/service_sketch_archive.go:69 msgid "Archive already exists" -msgstr "" +msgstr "Архіў ужо існуе" #: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" -msgstr "" +msgstr "Архіваванне ўбудаванага ядра (кэшаванне) у: %[1]s" #: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." -msgstr "" +msgstr "Каманды сцэнараў Arduino CLI." #: internal/cli/cli.go:88 msgid "Arduino CLI." -msgstr "" +msgstr "Arduino CLI." #: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." -msgstr "" +msgstr "Інтэрфейс каманднага радка Arduino (arduino-cli)." #: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." -msgstr "" +msgstr "Каманды платы Arduino." #: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." -msgstr "" +msgstr "Каманды кэшу Arduino." #: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." -msgstr "" +msgstr "Каманды Arduino пра бібліятэкі." #: internal/cli/config/config.go:35 msgid "Arduino configuration commands." -msgstr "" +msgstr "Каманды налад Arduino." #: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." -msgstr "" +msgstr "Аперацыі ядра Arduino." #: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" -msgstr "" +msgstr "Памылка ў аргументах: %v" #: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." -msgstr "" +msgstr "Прымацаванне сцэнара да платы." #: internal/cli/lib/search.go:199 msgid "Author: %s" -msgstr "" +msgstr "Аўтар: %s" #: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" +"У гэтым выпадку аўтаматычнае ўсталяванне бібліятэкі немагчыма.\n" +"Калі ласка, выдаліце ўсе паўторы ўручную і паспрабуйце яшчэ раз." #: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" +"У гэтым выпадку аўтаматычнае выдаленне бібліятэк немагчыма.\n" +"Калі ласка, выдаліце іх уручную." #: internal/cli/lib/list.go:138 msgid "Available" -msgstr "" +msgstr "Даступны" #: internal/cli/usage.go:25 msgid "Available Commands:" -msgstr "" +msgstr "Даступныя каманды:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." -msgstr "" +msgstr "Двайковы файл для выгрузкі." #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" -msgstr "" +msgstr "Назва платы" #: internal/cli/board/details.go:139 msgid "Board name:" -msgstr "" +msgstr "Назва платы:" #: internal/cli/board/details.go:141 msgid "Board version:" -msgstr "" +msgstr "Версія платы:" #: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" -msgstr "" +msgstr "Паказаны файл загрузніка адсутнічае: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" +"Зборкі ядраў і сцэнараў захоўваюцца ў дадзеных каталогу для кэшавання і " +"паўторнага ўжывання." #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" -msgstr "" +msgstr "Не атрымалася стварыць каталог дадзеных %s" #: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" -msgstr "" +msgstr "Не атрымалася стварыць сцэнар" #: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" -msgstr "" +msgstr "Не атрымалася спампаваць бібліятэку" #: commands/service_platform_uninstall.go:89 #: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" -msgstr "" +msgstr "Не атрымалася знайсці залежнасці для платформы %s" #: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" -msgstr "" +msgstr "Не атрымалася адчыніць сцэнар" #: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" -msgstr "" +msgstr "Не атрымалася абнавіць сцэнар" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" -msgstr "" +msgstr "Не атрымалася ўжываць наступныя птушкі разам: %s" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" -msgstr "" +msgstr "Не атрымалася запісаць часопіс адладкі: %s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" -msgstr "" +msgstr "Не атрымалася стварыць каталог кэша зборкі" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" -msgstr "" +msgstr "Не атрымалася стварыць каталог зборкі" #: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" -msgstr "" +msgstr "Не атрымалася стварыць каталог канфігурацыйных файлаў: %v" #: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" -msgstr "" +msgstr "Не атрымалася стварыць файл кафігурацыі: %v" #: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" -msgstr "" +msgstr "Не атрымалася стварыць часовы каталог" #: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" -msgstr "" +msgstr "Не атрымалася стварыць часовы файл" #: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" -msgstr "" +msgstr "Не атрымалася выдаліць ключ %[1]s: %[2]v" #: commands/service_debug.go:228 msgid "Cannot execute debug tool" -msgstr "" +msgstr "Не атрымалася запусціць сродак адладкі" #: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" -msgstr "" +msgstr "Не атрымалася знайсці абсалютны шлях: %v" #: internal/cli/config/add.go:63 internal/cli/config/add.go:65 #: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 #: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Не атрымалася здабыць канфігурацыйны ключ %[1]s: %[2]v" #: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" -msgstr "" +msgstr "Не атрымалася ўсталяваць платформу" #: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" -msgstr "" +msgstr "Не атрымалася ўсталяваць інструмент %s" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" -msgstr "" +msgstr "Не атрымалася скінуць порт: %s" #: internal/cli/config/add.go:75 internal/cli/config/add.go:77 #: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Не атрымалася выдаліць канфігурацыйны ключ %[1]s: %[2]v" #: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" -msgstr "" +msgstr "Не атрымалася абнавіць платформу" #: internal/cli/lib/search.go:207 msgid "Category: %s" -msgstr "" +msgstr "Катэгорыя: %s" #: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." -msgstr "" +msgstr "Праверыць стан залежнасцяў для паказанай бібліятэкі." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" +"Праверыць, ці падтрымлівае дадзеная камбінацыя платы і праграматара адладку." #: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" msgstr "" +"Кантрольная сума адрозніваецца ад кантрольнай сумы ў файле package.json" #: internal/cli/board/details.go:190 msgid "Checksum:" -msgstr "" +msgstr "Кантрольная сума:" #: internal/cli/cache/cache.go:32 msgid "Clean caches." -msgstr "" +msgstr "Чысціць кэш." #: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" +"Спіс дадатковых адрасоў URL для кіраўніка плат, які падзелены коскамі." #: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" +"Каманда працягвае выконвацца і друкуе спіс злучаных плат кожны раз, калі " +"адбываюцца змяненні." -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" -msgstr "" +msgstr "Скампіляваны сцэнар не знойдзены ў %s" #: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." -msgstr "" +msgstr "Кампіляцыя сцэнараў Arduino." -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." -msgstr "" +msgstr "Кампіляцыя ядра..." -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." -msgstr "" +msgstr "Кампіляцыя бібліятэкі..." #: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" -msgstr "" +msgstr "Кампіляцыя бібліятэкі \"%[1]s\"" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." -msgstr "" +msgstr "Кампіляцыя сцэнара" #: internal/cli/config/init.go:94 msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" +"Канфігурацыйны файл ужо існуе, ужывайце --overwrite, каб выдаліць існуючы." #: internal/cli/config/init.go:179 msgid "Config file written to: %s" -msgstr "" +msgstr "Канфігурацыйны файл запісаны ў: %s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" -msgstr "" +msgstr "Канфігурацыйныя налады для %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" +"Наладзьце налады камунікацыйнага порта.\n" +"Фармат <ID> =<value>[<ID>,=<value>]..." #: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." -msgstr "" +msgstr "Наладзіць платформу." #: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." -msgstr "" +msgstr "Наладзіць інструмент." #: internal/cli/board/list.go:198 msgid "Connected" -msgstr "" +msgstr "Злучаны" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" +"Злучэнне з %s.\n" +"Націсніце Ctrl+C для выхаду." #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" -msgstr "" +msgstr "Ядро" #: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" -msgstr "" +msgstr "Не атрымалася злучыцца па пратаколе HTTP" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" -msgstr "" +msgstr "Не атрымалася стварыць індэксны каталог" #: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" -msgstr "" +msgstr "Не атрымалася глыбока кэшаваць зборку ядра: %[1]s" #: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" -msgstr "" +msgstr "Не ўдалося вызначыць памер праграмы" #: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" -msgstr "" +msgstr "Не атрымалася здабыць бягучы працоўны каталог: %v" #: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" -msgstr "" +msgstr "Стварыць новы сцэнар" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." -msgstr "" +msgstr "Стварыць і надрукаваць канфігурацыі профілю з зборкі." #: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." -msgstr "" +msgstr "Стварэнне файлу zip, які змяшчае ўсе файлы сцэнара." #: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" +"Стварэнне ці абнаўленне файлу канфігурацыі ў каталогу дадзеных або " +"карыстальніцкім каталогу з бягучымі наладамі канфігурацыі." -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" +"У бягучы час профілі зборкі падтрымліваюць толькі бібліятэкі, якія даступныя" +" праз кіраванне бібліятэкамі Arduino." -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" -msgstr "" +msgstr "Карыстальніцкая канфігурацыя для %s:" #: internal/cli/feedback/result/rpc.go:146 #: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" -msgstr "" +msgstr "САСТАРЭЛЫ" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" -msgstr "" +msgstr "Дэман зараз слухае на %s: %s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." -msgstr "" +msgstr "Адладзіць сцэнары Arduino." -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" +"Адладзіць сцэнары Arduino (дадзеная каманда адчыняе інтэрактыўны сеанс gdb)." -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" -msgstr "" +msgstr "Адладкавы інтэрпрэтатар, напрыклад: %s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" -msgstr "" +msgstr "Адладка не падтрымліваецца для платы %s" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" -msgstr "" +msgstr "Першапачаткова" #: internal/cli/board/attach.go:115 msgid "Default FQBN set to" -msgstr "" +msgstr "Першапачатковы FQBN роўны" #: internal/cli/board/attach.go:114 msgid "Default port set to" -msgstr "" +msgstr "Першапачатковы порт усталяваны на" #: internal/cli/board/attach.go:116 msgid "Default programmer set to" -msgstr "" +msgstr "Першапачатковы праграматар усталяваны на" #: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." -msgstr "" +msgstr "Выдаліць кэш спампоўкі плат/кіраўніка бібліятэк." #: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" +"Выдаліць змест каталогу кэша спамовак, у якой захоўваюцца архіўныя файлы " +"падчас ўсталяваняў бібліятэк і платформаў плат." #: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." -msgstr "" +msgstr "Выдаленне клавішы налады і ўсіх яе дадатковых клавішы." #: internal/cli/lib/search.go:215 msgid "Dependencies: %s" -msgstr "" +msgstr "Залежнасці: %s" #: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" -msgstr "" +msgstr "Апісанне" #: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." -msgstr "" +msgstr "Выяўленне бібліятэк, якія ўжываюцца..." #: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" +"Выяўленне і адлюстраванне спісу плат, якія злучаныя да бягучага кампутара." -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." -msgstr "" +msgstr "Каталог, які змяшчае двайковыя файлы для адладкі." -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." -msgstr "" +msgstr "Каталог, які змяшчае двайковыя файлы для выгрузкі." #: internal/cli/generatedocs/generatedocs.go:45 msgid "" "Directory where to save generated files. Default is './docs', the directory " "must exist." msgstr "" +"Каталог, у які будуць захаваныя створаныя файлы.\n" +"Першапачаткова ўжываецца './ docs', дадзеныкаталог павінен існаваць." #: internal/cli/completion/completion.go:44 msgid "Disable completion description for shells that support it" -msgstr "" +msgstr "Адключыць апісанне завяршэння для абалонак, якія яго падтрымліваюць" #: internal/cli/board/list.go:199 msgid "Disconnected" -msgstr "" +msgstr "Раз'яднаны" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" -msgstr "" +msgstr "Адлюстраваць толькі прадстаўленыя выклікі gRPC" #: internal/cli/lib/install.go:62 msgid "Do not install dependencies." -msgstr "" +msgstr "Не ўсталёўваць залежнасці." #: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." -msgstr "" +msgstr "Ня перазапісваць ужо ўсталяваныя бібліятэкі." #: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." -msgstr "" +msgstr "Ня перазапісваць ужо ўсталяваныя платформы." -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" -msgstr "" +msgstr "Не выконваць фактычную выгрузку, проста выйсці з сістэмы" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" -msgstr "" +msgstr "Не завяршаць дэманічны працэс, калі бацькоўскі працэс памірае" #: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" +"Не спрабаваць абнаўляць залежнасці бібліятэкі, калі яны ўжо ўсталяваныя." #: commands/service_library_download.go:88 msgid "Downloading %s" -msgstr "" +msgstr "Спампоўка %s" #: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" -msgstr "" +msgstr "Спампоўка індэкснай сігнатуры: %s" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" -msgstr "" +msgstr "Спамоўка індэксаў: %s" #: commands/instances.go:371 msgid "Downloading library %s" -msgstr "" +msgstr "Спампоўка бібліятэкі %s" #: commands/instances.go:53 msgid "Downloading missing tool %s" -msgstr "" +msgstr "Спампоўка інструмента %s, які адсутнічае" #: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" -msgstr "" +msgstr "Спампоўка пакетаў" #: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" -msgstr "" +msgstr "Спампоўка платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" -msgstr "" +msgstr "Спампоўка інструмента %s" #: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" +"Спампаванне аднаго ці некалькі ядраў і адпаведныя залежнасці інструментаў." #: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." -msgstr "" +msgstr "Спампаванне адной ці некалькі бібліятэк, не ўсталёўваючы іх." -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" -msgstr "" +msgstr "Уключыць вядзенне часопіса адладкі выклікаў gRPC" #: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" -msgstr "" +msgstr "Увясці шлях да файлу zip" #: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" -msgstr "" +msgstr "Увясць адрас URL git для бібліятэк, якія размешчаныя ў сховішчах" #: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" -msgstr "" +msgstr "Памылка пры даданні файла ў архіў сцэнараў" #: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" -msgstr "" +msgstr "Памылка архівавання ўбудаванага ядра (кэшавання) у %[1]s: %[2]s" #: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" -msgstr "" +msgstr "Памылка пры архіваванні: %v" #: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" -msgstr "" +msgstr "Памылка пры вылічэнні адноснага шляху да файла" #: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" -msgstr "" +msgstr "Памылка пры ачысткі кэшу: %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" -msgstr "" +msgstr "Памылка пры пераўтварэнні шляху ў абсалютны: %v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" -msgstr "" +msgstr "Памылка пры капіяванні выхаднога файла %s" #: internal/cli/config/init.go:106 internal/cli/config/init.go:113 #: internal/cli/config/init.go:120 internal/cli/config/init.go:134 #: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" -msgstr "" +msgstr "Памылка пры стварэнні канфігурацыі: %v" #: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" -msgstr "" +msgstr "Памылка пры стварэнні асобніка: %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" -msgstr "" +msgstr "Памылка пры стварэнні выходнага каталогу" #: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" -msgstr "" +msgstr "Памылка пры стварэнні архіва сцэнараў" #: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" -msgstr "" +msgstr "Памылка пры стварэнні эскізу: %v" #: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" -msgstr "" +msgstr "Памылка пры выяўленні платы: %v" #: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" -msgstr "" +msgstr "Памылка пры спампоўцы %[1]s: %[2]v" #: internal/arduino/cores/packagemanager/profiles.go:110 #: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" -msgstr "" +msgstr "Памылка пры спампоўцы %s" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" -msgstr "" +msgstr "Памылка пры спампоўцы індэксу '%s'" #: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" -msgstr "" +msgstr "Памылка пры спампоўцы індэкснай сігнатуры '%s'" #: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" -msgstr "" +msgstr "Памылка пры спамоўцы бібліятэкі %s" #: internal/arduino/cores/packagemanager/profiles.go:128 #: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" -msgstr "" +msgstr "Памылка пры спампоўцы платформы %s" #: internal/arduino/cores/packagemanager/download.go:127 #: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" -msgstr "" +msgstr "Памылка пры спампоўцы інструменту %s" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" -msgstr "" +msgstr "Памылка падчас адладкі: %v" #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" -msgstr "" +msgstr "Памылка пры кадаванні выходных дадзеных у фармаце Json: %v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" -msgstr "" +msgstr "Памылка падчас выгрузкі: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" -msgstr "" +msgstr "Памылка падчас выяўленні платы" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" -msgstr "" +msgstr "Памылка падчас зборкі: %v" #: internal/cli/core/install.go:81 msgid "Error during install: %v" -msgstr "" +msgstr "Памылка падчас усталявання: %v" #: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" -msgstr "" +msgstr "Памылка падчас выдалення: %v" #: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" -msgstr "" +msgstr "Памылка падчас абнаўлення: %v" #: internal/arduino/resources/index.go:105 #: internal/arduino/resources/index.go:124 msgid "Error extracting %s" -msgstr "" +msgstr "Памылка пыр выманні %s" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" -msgstr "" +msgstr "Памылка пры выяўленні артэфактаў зборкі" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" -msgstr "" +msgstr "Памылка пры атрыманні адладкавай інфармацыі: %v" #: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" -msgstr "" +msgstr "Памылка пры атрыманні абсалютнага шляху да архіва сцэнараў" #: internal/cli/board/details.go:74 msgid "Error getting board details: %v" -msgstr "" +msgstr "Памылка пры атрыманні звестак пра плату: %v" #: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" msgstr "" +"Памылка пры атрыманні бягучага каталога для базы дадзеных кампіляцыі: %s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" +"Памылка пры атрыманні першапачатковага порта з ' sketch.yaml`.\n" +"Праверце, ці правільна вы паказалі каталог сцэнара, ці пакажыце аргумент --port:" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" -msgstr "" +msgstr "Памылка пры атрыманні інфармацыі для бібліятэкі %s" #: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" -msgstr "" +msgstr "Памылка пры атрыманні інфармацыі пра бібліятэкі: %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" -msgstr "" +msgstr "Памылка пры атрыманні метададзеных порта: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" -msgstr "" +msgstr "Памылка пры атрыманні звестак пра налады порта: %s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" -msgstr "" +msgstr "Памылка пры атрыманні карыстальніцкага ўводу" #: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" -msgstr "" +msgstr "Памылка пры ініцыялізацыі асобніка: %v" #: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" -msgstr "" +msgstr "Памылка пры ўсталяванні %s: %v" #: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" -msgstr "" +msgstr "Памылка пры ўсталяванні бібліятэкі Git: %v" #: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" -msgstr "" +msgstr "Памылка пры ўсталяванні бібліятэкі Zip: %v" #: commands/instances.go:397 msgid "Error installing library %s" -msgstr "" +msgstr "Памылка пры ўсталяванні бібліятэкі %s" #: internal/arduino/cores/packagemanager/profiles.go:136 #: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" -msgstr "" +msgstr "Памылка пры ўсталяванні платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:180 #: internal/arduino/cores/packagemanager/profiles.go:187 #: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" -msgstr "" +msgstr "Памылка пры ўсталяванні інструмента %s" #: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" -msgstr "" +msgstr "Памылка пры пералічэнні плат: %v" #: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" -msgstr "" +msgstr "Памылка пры пералічэнні бібліятэк: %v" #: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" -msgstr "" +msgstr "Памылка пры пералічэнні платформ: %v" #: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" -msgstr "" +msgstr "Памылка пры загрузцы апаратнай платформы" #: internal/arduino/cores/packagemanager/profiles.go:114 #: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" -msgstr "" +msgstr "Памылка пры загрузцы індэкса %s" #: internal/arduino/resources/index.go:99 msgid "Error opening %s" -msgstr "" +msgstr "Памылка пры адкрыцці %s" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" -msgstr "" +msgstr "Памылка пры адкрыцці файла часопіса адладкі: %s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" +"Памылка пры адкрыцці зыходнага кода, які перавызначае файл дадзеных: %v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" -msgstr "" +msgstr "Памылка пры разборы аргумента --show-properties: %v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" -msgstr "" +msgstr "Памылка пры чытанні каталога зборкі" #: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" -msgstr "" +msgstr "Памылка пры чытанні файлаў сцэнара" #: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" -msgstr "" +msgstr "Памылка пры выпраўленні ў залежнасці для %[1]s: %[2]s" #: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" -msgstr "" +msgstr "Памылка пры выманні спісу ядраў: %v" #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" -msgstr "" +msgstr "Памылка пры адкаце змяненняў: %s" #: internal/arduino/resources/index.go:165 #: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" -msgstr "" +msgstr "Памылка пры захаванні спампаванага індэкса" #: internal/arduino/resources/index.go:172 #: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" -msgstr "" +msgstr "Памылка пры захаванні спампаванай індэкснай сігнатуры" #: internal/cli/board/search.go:63 msgid "Error searching boards: %v" -msgstr "" +msgstr "Памылка пры пошуку плат: %v" #: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" -msgstr "" +msgstr "Памылка пры пошуку па бібліятэках: %v" #: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" -msgstr "" +msgstr "Памылка пры пошуку па платформах: %v" #: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" -msgstr "" +msgstr "Памылка пры серыялізацыі базы дадзеных кампіляцыі: %s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" -msgstr "" +msgstr "Памылка пры наладзе рэжыму raw: %s" #: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" -msgstr "" +msgstr "Памылка пры заданні значэння: %v" #: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" -msgstr "" +msgstr "Памылкі выяўлення пры запуску: %v" #: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" -msgstr "" +msgstr "Памылка пры выдаленні %[1]s: %[2]v" #: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" -msgstr "" +msgstr "Памылка пры абнаўленні індэксу бібліятэкі: %v" #: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" -msgstr "" +msgstr "Памылка пры абнаўленні бібліятэк" #: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" -msgstr "" +msgstr "Памылка пры абнаўленні платформы: %s" #: internal/arduino/resources/index.go:147 #: internal/arduino/resources/index.go:153 msgid "Error verifying signature" -msgstr "" +msgstr "Памылка пры праверцы сігнатуры" #: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" -msgstr "" +msgstr "Памылка пры выяўленні бібліятэк, якія ўключаныя %[1]s" #: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 #: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 #: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 #: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" -msgstr "" +msgstr "Памылка пры вызначэнні памеру сцэнара: %s" #: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" -msgstr "" +msgstr "Памылка пры запісу базы дадзеных кампіляцыі: %s" #: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" -msgstr "" +msgstr "Памылка пры запісу ў файл: %v" #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" -msgstr "" +msgstr "Памылка: апісанне каманды не падтрымліваецца %v" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" -msgstr "" +msgstr "Памылка: няправільны зыходны код, які перавызначае файл дадзеных: %v" #: internal/cli/board/list.go:104 msgid "Event" -msgstr "" +msgstr "Падзея" #: internal/cli/lib/examples.go:123 msgid "Examples for library %s" -msgstr "" +msgstr "Прыклады для бібліятэкі %s" #: internal/cli/usage.go:24 msgid "Examples:" -msgstr "" +msgstr "Прыклады:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" -msgstr "" +msgstr "Выкананы файл для адладкі" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" +"Чаканы скампіляваны сцэнар знаходзіцца ў каталогу %s, але замест гэтага ён " +"уяўляе сабой файл" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" -msgstr "" +msgstr "FQBN" #: internal/cli/board/details.go:140 msgid "FQBN:" -msgstr "" +msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" -msgstr "" +msgstr "Не атрымалася сцерці чып" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" -msgstr "" +msgstr "Не атрымалася праграмаванне" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" -msgstr "" +msgstr "Не атрымалася запісаць загрузнік" #: commands/instances.go:87 msgid "Failed to create data directory" -msgstr "" +msgstr "Не атрымалася стварыць каталог дадзеных" #: commands/instances.go:76 msgid "Failed to create downloads directory" -msgstr "" +msgstr "Не атрымалася стварыць каталог для спамповак" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" +"Не атрымалася праслухаць порт TCP: %[1]s.\n" +"%[2]s - недапушчальны порт." -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" +"Не атрымалася праслухаць порт TCP: %[1]s.\n" +"%[2]s невядомая назва." -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" +"Не атрымалася праслухаць порт TCP: %[1]s.\n" +"Нечаканая памылка: %[2]v" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" +"Не атрымалася праслухаць порт TCP: %s.\n" +"Адрас, які ўжо ўжываецца." -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" -msgstr "" +msgstr "Не атрымалася выгрузіць" #: internal/cli/board/details.go:188 msgid "File:" -msgstr "" +msgstr "Файл:" #: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" +"Для шыфравання/подпісу прашыўкі патрабуюцца ўсе наступныя ўласцівасці, якія " +"павінны быць вызначаныя: %s" #: commands/service_debug.go:187 msgid "First message must contain debug request, not data" msgstr "" +"Першае паведамленне павінна ўтрымліваць запыт на адладку, а не дадзеныя" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" +"Аргумент %[1]s з'яўляецца абавязковым пры ўжыванні ў спалучэнні з: %[2]s" #: internal/cli/usage.go:26 msgid "Flags:" -msgstr "" +msgstr "Аргументы:" #: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" +"Прымусовы запуск сцэнараў пасля ўсталявання (калі CLI не запушчаны ў " +"інтэрактыўным рэжыме)." #: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" +"Прымусовы запуск сцэнараў папярэдняга выдалення (калі CLI радка не запушчаны" +" ў інтэрактыўным рэжыме)." #: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" +"Прымусовы пропуск сцэнараў пасля ўсталявання (калі CLI запушчаны ў " +"інтэрактыўным рэжыме)." #: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" +"Прымусовы пропуск сцэнараў папярэдняга выдалення (калі CLI запушчаны ў " +"інтэрактыўным рэжыме)." #: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" -msgstr "" +msgstr "Знойдзены платформы %d, якія адпаведныя \"%s\": %s" #: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" -msgstr "" +msgstr "Поўная назва платы, напрыклад: arduino:avr:uno" #: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" -msgstr "" +msgstr "Сервер GDB '%s' не падтрымліваецца" #: internal/cli/generatedocs/generatedocs.go:38 #: internal/cli/generatedocs/generatedocs.go:39 msgid "Generates bash completion and command manpages." msgstr "" +"Стварэнне старонкі кіравання завяршэннем абалонкі і камандамі дапамогі." #: internal/cli/completion/completion.go:38 msgid "Generates completion scripts" -msgstr "" +msgstr "Стварэнне сцэнару завяршэння" #: internal/cli/completion/completion.go:39 msgid "Generates completion scripts for various shells" -msgstr "" +msgstr "Стварэнне сцэнару завяршэння для розных абалонак" #: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." -msgstr "" +msgstr "Стварэнне прататыпаў функцый..." #: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." -msgstr "" +msgstr "Вяртае значэнне ключа налады." #: internal/cli/usage.go:27 msgid "Global Flags:" -msgstr "" +msgstr "Глабальныя аргументы:" #: internal/arduino/builder/sizer.go:164 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" +" Глабальныя зменныя ўжываюць %[1]s байтаў (%[3]s%% ) дынамічнай памяці, пакідаючы %[4]s байтаў для лакальных зменных.\n" +"Максімальнае значэнне - %[2]s байтаў." #: internal/arduino/builder/sizer.go:170 msgid "Global variables use %[1]s bytes of dynamic memory." -msgstr "" +msgstr "Глабальныя зменныя ўжываюць %[1]s байтаў дынамічнай памяці." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" -msgstr "" +msgstr "ID" #: internal/cli/board/details.go:111 msgid "Id" -msgstr "" +msgstr "Ідэнтыфікатар" #: internal/cli/board/details.go:154 msgid "Identification properties:" -msgstr "" +msgstr "Уласцівасці ідэнтыфікатару:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" +"Калі зададзена, то створаныя двайковыя файлы будуць экспартаваныя ў каталог " +"сцэнараў." #: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" +"Калі зададзена, то вяртаюцца ўсе ўсталяваныя ядры, уключаючы ўсталяваныя " +"ўручную." #: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." -msgstr "" +msgstr "Уключыць у спіс убудаваныя бібліятэкі (з платформаў і IDE)." #: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." -msgstr "" +msgstr "Уключэнне каталогу %s у архіў." #: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" -msgstr "" +msgstr "Усталяваць бібліятэкі ва ўбудаваным каталогу IDE" #: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 #: internal/cli/outdated/outdated.go:103 msgid "Installed" -msgstr "" +msgstr "Усталявана" #: commands/service_library_install.go:200 msgid "Installed %s" -msgstr "" +msgstr "Усталявана %s" #: commands/service_library_install.go:183 #: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" -msgstr "" +msgstr "Усталяванне %s" #: commands/instances.go:395 msgid "Installing library %s" -msgstr "" +msgstr "Усталяванне бібліятэкі %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:119 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" -msgstr "" +msgstr "Усталяванне платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" -msgstr "" +msgstr "Усталяванне інструмента %s" #: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" +"Усталёўвае адно ці некалькі ядраў і адпаведныя залежнасці інструментаў." #: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." -msgstr "" +msgstr "Усталёўвае ў сістэму адну ці некалькі названых бібліятэк." #: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" -msgstr "" +msgstr "Унутраная памылка ў кэшы" #: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" -msgstr "" +msgstr "Недапушчальная ўласцівасць '%[1]s': %[2]s" #: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" -msgstr "" +msgstr "Хібны FQBN" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" -msgstr "" +msgstr "Хібны адрас TCP: порт адсутнічае" #: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" -msgstr "" +msgstr "Хібны адрас URL" #: commands/instances.go:183 msgid "Invalid additional URL: %v" -msgstr "" +msgstr "Хібны дадатковы адрас URL: %v" #: internal/arduino/resources/index.go:111 msgid "Invalid archive: file %[1]s not found in archive %[2]s" -msgstr "" +msgstr "Хібны архіў: файл %[1]s не знойдзены ў архіве %[2]s" #: internal/cli/core/download.go:59 internal/cli/core/install.go:66 #: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 #: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" -msgstr "" +msgstr "Перададзены хібны аргумент: %v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" -msgstr "" +msgstr "Хібныя ўласцівасці зборкі" #: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" -msgstr "" +msgstr "Хібны памер дадзеных рэгулярнага выразу: %s" #: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" -msgstr "" +msgstr "Хібны памер eeprom рэгулярнага выразу: %s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" -msgstr "" +msgstr "Хібны індэкс адрасу URL: %s" #: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" -msgstr "" +msgstr "Хібны асобнік" #: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" -msgstr "" +msgstr "Хібны элемент %s" #: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" -msgstr "" +msgstr "Хібная бібліятэка" #: internal/cli/cli.go:265 msgid "Invalid logging level: %s" -msgstr "" +msgstr "Хібны ўзровень вядзення часопіса: %s" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" -msgstr "" +msgstr "Хібная канфігурацыя сеткі: %s" #: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" -msgstr "" +msgstr "Хібны network.proxy '%[1]s': %[2]s" #: internal/cli/cli.go:222 msgid "Invalid output format: %s" -msgstr "" +msgstr "Хібны фармат вываду: %s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" -msgstr "" +msgstr "Хібны індэкс пакету ў %s" #: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" -msgstr "" +msgstr "Хібная налада %s: версія не дазволеная" #: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" -msgstr "" +msgstr "Хібнае значэнне pid: '%s'" #: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" -msgstr "" +msgstr "Хібны профіль" #: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" -msgstr "" +msgstr "Хібныя пакеты ў platform.txt" #: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" -msgstr "" +msgstr "Хібны памер regexp: %s" #: main.go:85 msgid "Invalid value in configuration" -msgstr "" +msgstr "Хібнае значэнне ў канфігурацыі" #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" -msgstr "" +msgstr "Хібаня версія" #: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" -msgstr "" +msgstr "Хібнае значэнне vid: '%s'" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" +"Проста стварыце базу дадзеных для кампіляцыі, фактычна не кампіліруя яе.\n" +"Усе каманды зборкі прапушчаны, акрамя хукаў pre*." #: internal/cli/lib/list.go:39 msgid "LIBNAME" -msgstr "" +msgstr "Назва бібліятэкі" #: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" -msgstr "" +msgstr "Бібліятэка" #: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 #: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" -msgstr "" +msgstr "Назва бібліятэкі" #: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" -msgstr "" +msgstr "Апошні" #: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" -msgstr "" +msgstr "Бібліятэка %[1]s была абвешчаная папярэдне скампіляванай:" #: commands/service_library_install.go:141 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" -msgstr "" +msgstr "Бібліятэка %[1]s ужо ўсталяваная, але з іншай версіяй: %[2]s" #: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" -msgstr "" +msgstr "Бібліятэка %s ужо апошняй версіі" #: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" -msgstr "" +msgstr "Бібліятэка %s не ўсталяваная" #: commands/instances.go:374 msgid "Library %s not found" -msgstr "" +msgstr "Бібліятэка %s не знойдзеная" #: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" -msgstr "" +msgstr "Бібліятэка '%s' не знойдзеная" #: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" +"Бібліятэка не можа ўжываць абодва каталога '%[1]s' і '%[2]s'.\n" +"Праверце '%[3]s' яшчэ раз." #: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" -msgstr "" +msgstr "Не атрымалася ўсталяваць бібліятэку" #: commands/service_library_install.go:234 #: commands/service_library_install.go:274 msgid "Library installed" -msgstr "" +msgstr "Бібліятэка ўсталяваная" #: internal/cli/lib/search.go:205 msgid "License: %s" -msgstr "" +msgstr "Ліцэнзія: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." -msgstr "" +msgstr "Звязваць усё разам..." #: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" +"Пералічыць усе платы, на якіх ўсталаваная платформа падтрымкі.\n" +"Вы можаце выканаць пошук па канкрэтнай плаце, калі пакажыце яе назву" #: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." -msgstr "" +msgstr "Пералічыць усе вядомыя платы і адпаведныя ім FQBN." #: internal/cli/board/list.go:45 msgid "List connected boards." -msgstr "" +msgstr "Пералічыць злучаныя платы" #: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" +"Пералічыць налады платы, праз коску.\n" +"Ці можа ўжываць некалькі разоў для некалькіх налад." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" +"Пералічычць карыстальніцкія ўласцівасцт зборкі, праз коску.\n" +"Ці можа ўжываць некалькі разоў для некалькіх уласцівасцяў." #: internal/cli/lib/list.go:57 msgid "List updatable libraries." -msgstr "" +msgstr "Спіс абноўленых бібліятэк." #: internal/cli/core/list.go:45 msgid "List updatable platforms." -msgstr "" +msgstr "Спіс абноўленых платформ." #: internal/cli/board/board.go:32 msgid "Lists all connected boards." -msgstr "" +msgstr "Спіс усех злучаных плат." #: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" -msgstr "" +msgstr "Пералічыць ядры і бібліятэкі, якія можна абнавіць" #: commands/instances.go:221 commands/instances.go:232 #: commands/instances.go:342 msgid "Loading index file: %v" -msgstr "" +msgstr "Загрузка індэкснага файла: %v" #: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" -msgstr "" +msgstr "Месцазнаходжанне" #: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." msgstr "" +"Недастаткова даступнай памяці, могуць узнікнуць праблемы са стабільнасцю." #: internal/cli/lib/search.go:200 msgid "Maintainer: %s" -msgstr "" +msgstr "Суправаджэнне: %s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" +"Найбольшая колькасць паралельных кампілятараў.\n" +"Калі 0, будзе ўжывацца колькасць даступных працэсарных ядраў." #: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" -msgstr "" +msgstr "Найбольшы час чакання выяўлення порта, напрыклад: 30 с, 1 м" #: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" +"Паведамленні з дадзеным узроўнем і вышэй будуць рэгістравацца.\n" +"Дапушчальнымі ўзроўнямі з'яўляюцца:" #: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" -msgstr "" +msgstr "Адсутнічае '%[1]s' з бібліятэкі ў %[2]s" #: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" -msgstr "" +msgstr "Адсутнічае FQBN (поўная назва платы)" #: commands/cmderrors/cmderrors.go:260 msgid "Missing port" -msgstr "" +msgstr "Адсутнічае порт" #: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" -msgstr "" +msgstr "Адсутнічае адрас порту" #: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" -msgstr "" +msgstr "Адсутнічае порт пратаколу" #: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" -msgstr "" +msgstr "Адсутнічае праграматар" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" -msgstr "" +msgstr "Адсутнічае абавязковае поле для выгрузкі: %s" #: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" -msgstr "" +msgstr "Адсутнічае памер regexp" #: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" -msgstr "" +msgstr "Адсутнчіае шлях сцэнара" #: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" -msgstr "" +msgstr "Манітор '%s' не знойдзены" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" -msgstr "" +msgstr "Налады манітора порта:" #: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" -msgstr "" +msgstr "Было знойдзена некалькі бібліятэк для \"%[1]s\"" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 #: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 #: internal/cli/outdated/outdated.go:102 msgid "Name" -msgstr "" +msgstr "Назва" #: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" -msgstr "" +msgstr "Назва: \"%s\"" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" -msgstr "" +msgstr "Новы порт выгрузкі: %[1]s (%[2]s)" #: internal/cli/board/list.go:132 msgid "No boards found." -msgstr "" +msgstr "Плата не знойдзена" #: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" -msgstr "" +msgstr "Не зададзены першапачатковы порт, FQBN ці праграматар" #: internal/cli/lib/examples.go:108 msgid "No libraries found." -msgstr "" +msgstr "Бібліятэкі не знойдзены." #: internal/cli/lib/list.go:130 msgid "No libraries installed." -msgstr "" +msgstr "Бібліятэкі не ўсталяваныя." #: internal/cli/lib/search.go:168 msgid "No libraries matching your search." -msgstr "" +msgstr "Няма бібліятэк, якія адпавядаюць вашаму запыту." #: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" +"Няма бібліятэк, якія адпавядаюць вашаму запыту.\n" +"Вы мелі на ўвазе...\n" #: internal/cli/lib/list.go:128 msgid "No libraries update is available." -msgstr "" +msgstr "Абнаўленне бібліятэк недаступна." #: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" -msgstr "" +msgstr "Манітор для пратаколу порта %s недаступны" #: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." -msgstr "" +msgstr "Састарэлых платформаў ці бібліятэк не знойдзена." #: internal/cli/core/list.go:114 msgid "No platforms installed." -msgstr "" +msgstr "Платформы не ўсталяваныя." #: internal/cli/core/search.go:113 msgid "No platforms matching your search." -msgstr "" +msgstr "Няма платформаў, якія адпавядаюць вашаму запыту." -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" -msgstr "" +msgstr "Порт выгрузкі не знойдзены, ўжываецца %s у якасці рэзервовага" #: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" -msgstr "" +msgstr "Не знойдзена дапушчальнага рашэння для залежнасцяў" #: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" +"Недастаткова памяці; азнаёмцеся %[1]s з парадамі па памяншэнні займаемага " +"памеру." #: internal/arduino/builder/internal/detector/detector.go:159 msgid "Not used: %[1]s" -msgstr "" +msgstr "Не ўжываецца: %[1]s" #: internal/cli/board/details.go:187 msgid "OS:" -msgstr "" +msgstr "Аперацыйная сістэма:" #: internal/cli/board/details.go:145 msgid "Official Arduino board:" -msgstr "" +msgstr "Афіцыйная плата Arduino:" #: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" +"Апусціце звесткі пра бібліятэку для ўсіх версій, акрамя апошняй (атрымаеце " +"больш кампактную выснову ў фармаце Json)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." -msgstr "" +msgstr "Адчыніць камунікацыйны порт з дапамогай платы." #: internal/cli/board/details.go:200 msgid "Option:" -msgstr "" +msgstr "Налады:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" +"Неабавязкова, можа быць: %s.\n" +"Ужываецца для ўказанні gcc, які ўзровень папярэджання ўжываць (аргумент -W)." -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." -msgstr "" +msgstr "Неабавязкова, ачысціць каталог зборкі і не ўжываць кэшаваныя зборкі." -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" +"Неабавязкова, аптымізаваць выходныя дадзеныя кампіляцыі для адладкі, а не " +"для выпуску." -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." -msgstr "" +msgstr "Неабавязкова, душыць амаль усе выходныя дадзеныя." -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." -msgstr "" +msgstr "Неабавязкова, уключыць падрабязны рэжым." -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" +"Неабавязкова, шлях да файла .json, які змяшчае набор замен зыходнага кода " +"сцэнара." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +"Перавызначыць уласцівасць зборкі карыстальніцкім значэннем.\n" +"Можа ўжывацца некалькі разоў для некалькіх уласцівасцяў." + +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" +"Перавызначыць уласцівасць адладкі карыстальніцкім значэннем.\n" +"Можа ўжывацца некалькі разоў для некалькіх уласцівасцяў." + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" +"Перавызначыць выгружаную ўласцівасць карыстальніцкім значэннем.\n" +"Можа ўжывацца некалькі разоў для некалькіх уласцівасцяў." #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." -msgstr "" +msgstr "Перазапісць існуючы канфігурацыйны файл." #: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" -msgstr "" +msgstr "Перазапісвае ўжо існуючы архіў" #: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." -msgstr "" +msgstr "Перазапісвае існуючы сцэнар .ino." #: internal/cli/core/download.go:35 internal/cli/core/install.go:37 #: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" -msgstr "" +msgstr "Пакеты" #: internal/cli/board/details.go:165 msgid "Package URL:" -msgstr "" +msgstr "Пакет адраса URL:" #: internal/cli/board/details.go:164 msgid "Package maintainer:" -msgstr "" +msgstr "Спецыяліст па суправаджэнні пакетаў:" #: internal/cli/board/details.go:163 msgid "Package name:" -msgstr "" +msgstr "Назва пакета:" #: internal/cli/board/details.go:167 msgid "Package online help:" -msgstr "" +msgstr "Інтэрактыўная даведка пакету:" #: internal/cli/board/details.go:166 msgid "Package website:" -msgstr "" +msgstr "Вэб-сайт пакету:" #: internal/cli/lib/search.go:202 msgid "Paragraph: %s" -msgstr "" +msgstr "Абзац: %s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" -msgstr "" +msgstr "Шлях" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" +"Шлях да калекцыі бібліятэк.\n" +"Можа ўжывацца некалькі разоў ці запісы могуць быць праз коску." -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" +"Шлях да каранёвага каталогу адной бібліятэкі.\n" +"Можа ўжывацца некалькі разоў ці запісы могуць быць праз коску." #: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." -msgstr "" +msgstr "Шлях да файла, у які будуць запісвацца логі." -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" +"Шлях для захавання скампіляваных файлаў.\n" +"Калі не паказаны, будзе створаны каталог ў першапачатковым часовым шляху вашай аперацыйнай сістэмы." -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" -msgstr "" +msgstr "Выкананне сэнсарнага скіду з хуткасцю 1200 біт/с на паслядоўным порце" #: commands/service_platform_install.go:86 #: commands/service_platform_install.go:93 msgid "Platform %s already installed" -msgstr "" +msgstr "Платформа %s ужо ўсталяваная" #: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" -msgstr "" +msgstr "Платформа %s усталяваная" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" +"Платформа %s не знойдзена ні ў адным з вядомых індэксаў.\n" +"Ці можа быць, вам трэба дадаць 3 бок адрасу URL?" #: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" -msgstr "" +msgstr "Платформа %s выдаленая" #: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" -msgstr "" +msgstr "Платформа '%s' ужо апошняй версіі" #: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" -msgstr "" +msgstr "Платформа '%s' не знойдзеная" #: internal/cli/board/search.go:85 msgid "Platform ID" -msgstr "" +msgstr "Ідэнтыфікатар платформы" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" -msgstr "" +msgstr "Неправільны ідэнтыфікатар платформы" #: internal/cli/board/details.go:173 msgid "Platform URL:" -msgstr "" +msgstr "Адрас URL платформы:" #: internal/cli/board/details.go:172 msgid "Platform architecture:" -msgstr "" +msgstr "Архитэктура платформы:" #: internal/cli/board/details.go:171 msgid "Platform category:" -msgstr "" +msgstr "Катэгорыя платформы:" #: internal/cli/board/details.go:178 msgid "Platform checksum:" -msgstr "" +msgstr "Кантрольная сума платформы:" #: internal/cli/board/details.go:174 msgid "Platform file name:" -msgstr "" +msgstr "Имя файла платформы:" #: internal/cli/board/details.go:170 msgid "Platform name:" -msgstr "" +msgstr "Назва платформы:" #: internal/cli/board/details.go:176 msgid "Platform size (bytes):" -msgstr "" +msgstr "Памер платформы (у байтах):" #: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" +"Калі ласка, пакажыце FQBN.\n" +"У порце %[1]s з пратаколам %[2]s выяўлена некалькі магчымых плат" #: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" +"Калі ласка, пакажыце FQBN.\n" +"Плата, якая злучаная з портам %[1]s з адпаведным пратаколам %[2]s, не можа быць ідэнтыфікаваная" #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" -msgstr "" +msgstr "Порт" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" -msgstr "" +msgstr "Порт зачынены: %v" #: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" -msgstr "" +msgstr "Памылка манитора порта" #: internal/arduino/builder/libraries.go:101 #: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" -msgstr "" +msgstr "Папярэдне скампіляваная бібліятэка ў \"%[1]s\" не знойдзеная" #: internal/cli/board/details.go:42 msgid "Print details about a board." -msgstr "" +msgstr "Надрукаваць падрабязную інфармацыю пра плату." -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" +"Надрукаваць папярэдне апрацаваны код у стандартны вывад замест кампіляцыі." #: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." -msgstr "" +msgstr "Надрукаваць часопісы ў стандартным фармаце вываду." #: internal/cli/cli.go:180 msgid "Print the output in JSON format." -msgstr "" +msgstr "Надрукаваць выходныя дадзеныя ў фармаце Json." #: internal/cli/config/dump.go:31 msgid "Prints the current configuration" -msgstr "" +msgstr "Друкуе бягучую канфігурацыю" #: internal/cli/config/dump.go:32 msgid "Prints the current configuration." -msgstr "" +msgstr "Друкуе бягучую канфігурацыю." #: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" -msgstr "" +msgstr "Профіль '%s' не знойдзены" #: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" -msgstr "" +msgstr "Праграматар '%s' не знойдзены" #: internal/cli/board/details.go:111 msgid "Programmer name" -msgstr "" +msgstr "Назва праграматара" #: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" -msgstr "" +msgstr "Праграматар, які ўжываецца, напрыклад: atmel_ice" #: internal/cli/board/details.go:216 msgid "Programmers:" -msgstr "" +msgstr "Праграматары:" #: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" -msgstr "" +msgstr "Уласцівасць '%s' не вызначана" #: internal/cli/board/list.go:142 msgid "Protocol" -msgstr "" +msgstr "Пратакол" #: internal/cli/lib/search.go:212 msgid "Provides includes: %s" -msgstr "" +msgstr "Правайдэр уключэнняў: %s" #: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." -msgstr "" +msgstr "Выдаляе адно ці некалькі значэнняў з налады." #: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" -msgstr "" +msgstr "Замена %[1]s на %[2]s" #: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" -msgstr "" +msgstr "Замена платформы %[1]s на %[2]s" #: internal/cli/board/details.go:184 msgid "Required tool:" -msgstr "" +msgstr "Неабходны інструмент:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" +"Запускаецца ў аўтаматычным рэжыме, адлюстроўваюцца толькі ўваходныя і " +"выходныя дадзеныя манітора." -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." -msgstr "" +msgstr "Запусціць Arduino CLI як дэман gRPC." #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." -msgstr "" +msgstr "Выконваецца звычайная зборка ядра..." #: internal/arduino/cores/packagemanager/install_uninstall.go:297 #: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." -msgstr "" +msgstr "Выканаць сцэнар pre_uninstall." #: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" -msgstr "" +msgstr "Пошук тэрм" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" -msgstr "" +msgstr "Шлях да файла SVD" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." -msgstr "" +msgstr "Захавайць артэфакты зборкі ў дадзеным каталогу." #: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." -msgstr "" +msgstr "Знайсці плату ў кіраўніку плат, ужывая названыя ключавыя словы." #: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." -msgstr "" +msgstr "Знайсць плату ў кіраўніку плат." #: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." -msgstr "" +msgstr "Знайсці ядро ў кіраўніку плат, ужывая названыя ключавыя словы." #: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." -msgstr "" +msgstr "Знайсць ядро ў кіраўніку плат." #: internal/cli/lib/search.go:41 msgid "" @@ -2016,111 +2159,155 @@ msgid "" " - Website\n" "\t\t" msgstr "" +"Выканаць пошук бібліятэк, якія адпавядаюць не аднаму ці больш пошукавым запытам.\n" +"\n" +"Усе пошукавыя запыты выконваюцца без уліку рэгістра.\n" +"Запыты, якія змяшчаюць некалькі пошукавых запытаў, будуць вяртаць толькі тыя бібліятэкі, якія адпавядаюць усім умовам.\n" +"\n" +"Умовы пошуку, якія не адпавядаюць сінтаксісу QV, які апісаныя ніжэй, з'яўляюцца базавымі ўмовамі пошуку і будуць адпавядаць бібліятэкам, якія ўтрымліваюць дадзены тэрмін у любым з наступных палёў:\n" +"- Аўтар\n" +"- Назва\n" +"- Абзац\n" +"- Правайдэр\n" +" - Прапанова\n" +"\n" +"Спецыяльны сінтаксіс, званы значэннем кваліфікатара (QV), паказвае на тое, што пошукавы запыт варта параўноўваць толькі з адным полем кожнага запісу бібліятэчнага індэкса.\n" +"У гэтым сінтаксісе ўжываецца назва індэкснага поля (без уліку рэгістра), знак роўнасці (=) ці двукроп'е (:) і значэнне, напрыклад \"name=ArduinoJson\" або \"provides:tinyusb.h\".\n" +"Пошукавыя запыты QV, у якіх ужываецца падзельнік двукроп'яў, будуць адпавядаць усім бібліятэкам з значэннем у любым месцы найменнага поля, а пошукавыя запыты QV, у якіх ужываецца падзельнік \"роўна\", будуць адпавядаць толькі бібліятэкам з дакладна названым значэннем у названае поле.\n" +"\n" +"Пошукавыя запыты QV могуць утрымліваць устаўленыя прабелы з ужываннем знакаў двайога двукосся (\"). частка значэння або ўвесь тэрмін цалкам, напрыклад, \"ategory=\"Data Processing\" і \"category=Data Processing\" эквівалентныя.\n" +"Тэрмін QV можа ўтрымліваць літаральны знак двайнога двукосся, перад якім ставіцца зваротная касая рыса (\\).\n" +"\n" +"Заўвага: пошукавыя запыты QV, якія ўжываюць знакі двайнога двукосся ці зваротнай касой рысы, якія перадаюцца ў якасці аргументаў каманднага радка, могуць быць заключаныя ў двукоссі ці экранаваныя, каб прадухіліць інтэрпрэтацыю гэтых знакаў каманднай абалонкай.\n" +"\n" +"У дадатак да палёў, якія пералічаныя вышэй, пошукавыя запыты QV могуць ужываць наступныя вызначальнікі:\n" +"- Архітэктура\n" +"- Катэгорыя\n" +"- Залежнасьць\n" +"- Ліцэнзія\n" +"- Суправаджальнік\n" +"- Тып\n" +"- Версія\n" +"- Вэб-сайт" #: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." -msgstr "" +msgstr "Выконвае пошук адной ці некалькіх бібліятэк, якія адпаведныя запыту." #: internal/cli/lib/search.go:201 msgid "Sentence: %s" -msgstr "" +msgstr "Прапанова: %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" -msgstr "" +msgstr "Шлях да сервера" #: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" -msgstr "" +msgstr "Сервер адказаў паведамленнем: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" -msgstr "" +msgstr "Тып сервера" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." -msgstr "" +msgstr "Задаць значэнне для поля, які неабходны для выгрузкі." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." -msgstr "" +msgstr "Задаць тэрмінал у неапрацаваным рэжыме (без буферызацыі)." #: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." -msgstr "" +msgstr "Задаць значэнне налады" #: internal/cli/cli.go:189 msgid "" "Sets the default data directory (Arduino CLI will look for configuration " "file in this directory)." msgstr "" +"Задае першапачатковы каталог дадзеных (Arduino CLI будзе шукаць файл " +"канфігурацыі ў дадзеным каталогу)." #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +"Задае першапачатковае значэнне для порта і FQBN.\n" +"Калі порт, FQBN ці праграматар не пазначаны, адлюстроўваюцца першапачатковыя бягучы порт, FQBN і программатор." + +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "Задае найбольшы памер паведамлення ў байтах, які можа атрымаць дэман" #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." -msgstr "" +msgstr "Задае месца для захавання файла канфігурацыі." -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" -msgstr "" +msgstr "Налады" #: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" +"Павінна з'явіцца даведачнае паведамленне, але яно даступнае толькі ў " +"тэкставым рэжыме." #: internal/cli/core/search.go:48 msgid "Show all available core versions." -msgstr "" +msgstr "Паказаць усе даступныя версіі ядра." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." -msgstr "" +msgstr "Адлюструеце ўсе налады камунікацыйнага порта." #: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" -msgstr "" +msgstr "Паказаць таксама пталы, якія пазначаныя як 'схаваныя' на платформе" #: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" +"Паказаць ўласцівасці зборкі.\n" +"Калі ўласцівасці пашыраныя, ужывайце \"--show-properties=unexpanded, калі вы жадаеце, каб яны былі дакладна такімі, як яны вызначаныя." #: internal/cli/board/details.go:52 msgid "Show full board details" -msgstr "" +msgstr "Паказаць падрабязную інфармацыю пра плату" #: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" +"Паказаць інфармацыю пра плату, у прыватнасці, калі ў платы ёсць налады, якія" +" павінны быць паказаныя ў FQBN." #: internal/cli/lib/search.go:97 msgid "Show library names only." -msgstr "" +msgstr "Паказаць толькі назвы бібліятэк." #: internal/cli/board/details.go:53 msgid "Show list of available programmers" -msgstr "" +msgstr "Паказаць спіс даступных праграматараў" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." -msgstr "" +msgstr "Паказваць метададзеныя пра сеанс адладкі замест запуску адладчыка." #: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" -msgstr "" +msgstr "Паказваць састарэлыя ядры і бібліятэкі пасля абнаўлення індэкса" #: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." -msgstr "" +msgstr "Паказвае спіс усталяваных бібліятэк." #: internal/cli/lib/list.go:41 msgid "" @@ -2130,178 +2317,215 @@ msgid "" "library. By default the libraries provided as built-in by platforms/core are\n" "not listed, they can be listed by adding the --all flag." msgstr "" +"Паказвае спіс усталяваных бібліятэк.\n" +"\n" +"Калі паказана налада LIBNAME, спіс абмежаваны дадзенай канкрэтнай бібліятэкай.\n" +"Першапачаткова бібліятэкі, якія прадстаўляюцца платформамі/ядром як убудаваныя, у спісе адсутнічаюць, іх можна ўключыць у спіс, калі задаць аргумент --all." #: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." -msgstr "" +msgstr "Паказвае спіс усталяваных платформаў." #: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." -msgstr "" +msgstr "Паказвае спіс прыкладаў для бібліятэк." #: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" +"Паказвае спіс прыкладаў бібліятэк.\n" +"Назва можа быць паказаная ў якасці аргументу для пошуку канкрэтнай бібліятэкі." #: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." -msgstr "" +msgstr "Паказвае нумар версіі Arduino CLI, якая ўсталяваная ў вашай сістэме." #: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." -msgstr "" +msgstr "Паказвае нумар версіі Arduino CLI." #: internal/cli/board/details.go:189 msgid "Size (bytes):" -msgstr "" +msgstr "Памер (у байтах):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" +"Сцэнар не можа быць паказаны ў шляху зборкі.\n" +"Калі ласка, пакажыце іншы шлях зборкі" #: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" -msgstr "" +msgstr "Сцэнар створаны ў: %s" #: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" -msgstr "" +msgstr "Профіль эскіза, які ўжываецца" #: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." -msgstr "" +msgstr "Сцэнар занадта вялікі; глядзіце %[1]s для парады па яго памяншэнні." #: internal/arduino/builder/sizer.go:158 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." msgstr "" +" Сцэнар ўжывае %[1]s байтаў (%[3]s%%) дыскавай прасторы праграмы.\n" +"Найбольшае значэнне - %[2]s байтаў." #: internal/cli/feedback/warn_deprecated.go:39 msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" +"Сцэнар з пашырэннем .pde састарэў, калі ласка, пераназавіце наступныя файлы " +"ў .ino:" #: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." -msgstr "" +msgstr "Прапусціць звязванне канчатковага выкананага файла." -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" +"Пропуск сэнсарнага скіду з хуткасцю 1200 біт/с: паслядоўны порт не абраны!" #: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" -msgstr "" +msgstr "Прапускаць стварэння архіва: %[1]s" #: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" -msgstr "" +msgstr "Прапускаць кампіляцыі: %[1]s" #: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" +"Выяўленне прапушчаных залежнасцяў для папярэдне скампіляванай бібліятэкі " +"%[1]s" #: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." -msgstr "" +msgstr "Прапускаць канфігурацыі платформы." #: internal/arduino/cores/packagemanager/install_uninstall.go:306 #: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." -msgstr "" +msgstr "Прапускаць сцэнар pre_uninstall " #: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." -msgstr "" +msgstr "Прапускаць налады інструмента." #: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" -msgstr "" +msgstr "Прапускаць: %[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." -msgstr "" +msgstr "Некаторыя індэксы не атрымалася абнавіць." #: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" +"У некаторых абнаўленнях адбыўся збой.\n" +"Калі ласка, праверце выходныя дадзеныя для атрымання падрабязнай інфармацыі." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" -msgstr "" +msgstr "Порт TCP, які будзе праслухоўвацца дэманам" #: internal/cli/cli.go:177 msgid "The command output format, can be: %s" -msgstr "" +msgstr "Фармат вываду каманды можа быць наступным: %s" #: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" +"Карыстальніцкі канфігурацыйны файл (калі ён не пазначаны, будзе ўжывацца " +"першапачатковы файл)." -#: internal/cli/daemon/daemon.go:98 -msgid "The flag --debug-file must be used with --debug." +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." msgstr "" +"Аргумент --build-cache-path састарэў.\n" +"Калі ласка, ужывайце толькі --build-path, альбо наладзьце шлях да кэшу зборкі ў наладах Arduino CLI." + +#: internal/cli/daemon/daemon.go:103 +msgid "The flag --debug-file must be used with --debug." +msgstr "Аргумент --debug-file павінен ужывацца з аргументам --debug." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." -msgstr "" +msgstr "Дадзеная канфігурацыя платы/праграматара не падтрымлівае адладку." -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." -msgstr "" +msgstr "Дадзеная канфігурацыя платы/праграматара падтрымлівае адладку." #: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" -msgstr "" +msgstr "Асобнік больш несапраўдны і мае патрэбу ў паўторнай ініцыялізацыі" #: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" +"Ключ '%[1]v' не з'яўляецца спісам элементаў, да яго нельга дадаць.\n" +"Ці можа быць трэба ўжываць '%[2]s'?" #: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" +"Ключ '%[1]v' не з'яўляецца спісам элементаў, не можа быць выдалены з яго.\n" +"Ці можа быць трэба ўжываць '%[2]s'?" #: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" -msgstr "" +msgstr "Бібліятэка %s мае некалькі ўсталяванняў:" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" +"Назва карыстальніцкага ключа шыфравання, які ўжываецца для шыфравання двайковага файла ў працэсе кампіляцыі.\n" +"Ужываецца толькі тымі платформамі, якія яго падтрымліваюць." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" +"Назва карыстальніцкага ключа подпісу, які ўжываецца для подпісу двайковага файла ў працэсе кампіляцыі.\n" +"Ужываецца толькі тымі платформамі, якія яго падтрымліваюць." #: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" -msgstr "" +msgstr "Фармат вываду часопісаў можа быць наступным: %s" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" +"Шлях да каталога каталогаў для пошуку карыстальніцкіх ключоў для подпісу і шыфравання двайковага файла.\n" +"Ужываецца толькі платформамі, якія яго падтрымліваюць." #: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." -msgstr "" +msgstr "Платформа не падтрымлівае '%[1]s' папярэдне скампіляваныя бібліятэкі." #: internal/cli/lib/upgrade.go:36 msgid "" @@ -2310,781 +2534,808 @@ msgid "" "provided, the command will upgrade all the installed libraries where an " "update is available." msgstr "" +"Каманда абнаўляе ўсталяваную бібліятэку да апошняй даступнай версіі.\n" +"Можна паказаць некалькі бібліятэк, падзеленыя прабелам.\n" +"Калі аргументы не пазначаныя, каманда абновіць усе ўсталяваныя бібліятэкі, у якіх даступна абнаўленне." #: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" +"Каманды паказваюць спіс усталяваных ядраў і/ці бібліятэк, якія можна абнавіць.\n" +"Калі нічога не патрабуецца абнаўляць, вывад будзе пустым." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." -msgstr "" +msgstr "Часовая пазнака на кожны ўваходны радок." #: internal/arduino/cores/packagemanager/install_uninstall.go:89 #: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" -msgstr "" +msgstr "Інструмент %s ужо ўсталяваны" #: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" -msgstr "" +msgstr "Інструмент %s выдалены" #: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" -msgstr "" +msgstr "Ланцужок інструментаў '%s' не падтрымліваецца" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" -msgstr "" +msgstr "Шлях да ланцужка інструментаў" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" -msgstr "" +msgstr "Прыстаўка ланцужка інструментаў" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" -msgstr "" +msgstr "Тып ланцужка інструментаў" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" -msgstr "" +msgstr "Спроба выканання %s" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." -msgstr "" +msgstr "Уключае падрабязны рэжым." #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" -msgstr "" +msgstr "Тып" #: internal/cli/lib/search.go:209 msgid "Types: %s" -msgstr "" +msgstr "Тыпы: %s" #: internal/cli/board/details.go:191 msgid "URL:" -msgstr "" +msgstr "Адрас URL:" #: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" +"Не атрымалася кэшаваць убудаванае ядро.\n" +"Калі ласка, папытайце %[1]s суправаджальнікаў %[2]s" #: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" -msgstr "" +msgstr "Няма доступу да каталога дакументаў: %v" #: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" -msgstr "" +msgstr "Няма доступу да лакальнага каталогу дадзеных праграмы: %v" #: internal/cli/configuration/configuration.go:58 #: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" -msgstr "" +msgstr "Няма доступу да хатняга каталогу карыстальніка: %v" #: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" -msgstr "" +msgstr "Не атрымалася адчыніць файл для вядзення часопіса: %s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" -msgstr "" +msgstr "Не атрымалася разабраць адрас URL" #: commands/service_library_uninstall.go:71 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" -msgstr "" +msgstr "Выдаленне %s" #: commands/service_platform_uninstall.go:99 #: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" -msgstr "" +msgstr "Выдаленне %s, інструмент больш не патрабуецца" #: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" +"Выдаленне аднаго ці некалькі ядраў і адпаведныя інструментальныя залежнасці," +" калі яны больш не ўжываюцца." #: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." -msgstr "" +msgstr "Выдаленне адной ці некалькі бібліятэк." #: internal/cli/board/list.go:174 msgid "Unknown" -msgstr "" +msgstr "Невядомы" #: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" -msgstr "" +msgstr "Невядомы FQBN" #: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" -msgstr "" +msgstr "Абнаўленне індэксу ядраў і бібліятэк" #: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." -msgstr "" +msgstr "Абнаўленне спісу ядраў і бібліятэк да апошніх версій." #: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." -msgstr "" +msgstr "Абнаўленне індэксу ядраў да апошняй версіі." #: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." -msgstr "" +msgstr "Абнаўленне індэксу ядраў." #: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." -msgstr "" +msgstr "Абнаўленне індэксу бібліятэк да апошняй версіі." #: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." -msgstr "" +msgstr "Абнаўленне бібліятэчнага індэксу." #: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" -msgstr "" +msgstr "Абнаўленне не прымае параметры, названыя ў версіі" #: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." -msgstr "" +msgstr "Абнаўленне ўсталяваных ядраў і бібліятэк да апошняй версіі." #: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." -msgstr "" +msgstr "Абнаўленне ўсталяваных ядраў і бібліятэк." #: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." -msgstr "" +msgstr "Абнаўленне ўсталяваных бібліятэк." #: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." -msgstr "" +msgstr "Абнаўленне адной ці ўсех усталяваных платформ да апошняй версіі." #: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." -msgstr "" +msgstr "Выгрузіць сцэнар Arduino." #: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." msgstr "" +"Выгрузіць сцэнар Arduino.\n" +"Пры гэтым сцэна не кампілюецца перад выгрузкай." #: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" -msgstr "" +msgstr "Адрас порта выгрузкі, напрыклад: COM3 ці /dev/ttyACM2" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" -msgstr "" +msgstr "Порт выгрузкі знойдзены на %s" #: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" -msgstr "" +msgstr "Пратакол порта выгрузкі, напрыклад: паслядоўны" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." -msgstr "" +msgstr "Выгрузіць двайковы файл пасля кампіляцыі." #: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." -msgstr "" +msgstr "Выгрузіць загрузнік на плату з дапамогай вонкавага праграматара." #: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." -msgstr "" +msgstr "Выгрузіць загрузнік." -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" +"Для выгрузкі на паказаную плату з ужываннем пратаколу %s патрабуецца " +"наступная інфармацыя:" #: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" +"Адрасы URL не могуць утрымліваць косак.\n" +"Падзяліце некалькі адрасоў URL, якія экспартаваныя як env var, прабелам:\n" +"%s" #: internal/cli/usage.go:22 msgid "Usage:" -msgstr "" +msgstr "Ужыта:" #: internal/cli/usage.go:29 msgid "Use %s for more information about a command." -msgstr "" +msgstr "Ужыць %s для атрымання дадатковай інфармацыі пра каманду." -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" -msgstr "" +msgstr "Ужытая бібліятэка" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" -msgstr "" +msgstr "Ужытая платформа" #: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" -msgstr "" +msgstr "Ужыта: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" -msgstr "" +msgstr "Ужыванне платы '%[1]s' з платформы ў каталог: %[2]s" #: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" -msgstr "" +msgstr "Ужыванне кэшаванай бібліятэкі залежнасцяў для файла: %[1]s" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" -msgstr "" +msgstr "Ужыванне ядра '%[1]s' з платформы ў каталог: %[2]s" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" -msgstr "" +msgstr "Ужыванне канфігурацыі першапачатковага манітора для платы: %s" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" msgstr "" +"Ужыванне стандартнай канфігурацыі манітора.\n" +"Увага: для працы вашай платы могуць спатрэбіцца іншыя налады!\n" #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" -msgstr "" +msgstr "Ужыванне бібліятэкі %[1]s з версіяй %[2]s у каталогу: %[3]s %[4]s" #: internal/arduino/builder/libraries.go:306 msgid "Using library %[1]s in folder: %[2]s %[3]s" -msgstr "" +msgstr "Ужыванне бібліятэкі %[1]s у каталогу: %[2]s %[3]s" #: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" -msgstr "" +msgstr "Ужыванне папярэдне скампіляванага ядра: %[1]s" #: internal/arduino/builder/libraries.go:98 #: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" -msgstr "" +msgstr "Ужыванне папярэдне скампіляванай бібліятэкі ў %[1]s" #: internal/arduino/builder/archive_compiled_files.go:50 #: internal/arduino/builder/compilation.go:181 msgid "Using previously compiled file: %[1]s" -msgstr "" +msgstr "Ужыванне раней скампіляванага файла: %[1]s" #: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" -msgstr "" +msgstr "Версія" #: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" -msgstr "" +msgstr "Нумар версіі" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" -msgstr "" +msgstr "Значэнні" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." -msgstr "" +msgstr "Праверыць загружаны двайковы файл пасля выгрузкі." -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" -msgstr "" +msgstr "Версія" #: internal/cli/lib/search.go:210 msgid "Versions: %s" -msgstr "" +msgstr "Версіі: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" -msgstr "" +msgstr "Увага: не атрымалася канфігураваць платформу: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" -msgstr "" +msgstr "Увага: не атрымалася канфігураваць інструмент: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:302 #: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" -msgstr "" +msgstr "Увага: не атрымалася запусціць сцэнар pre_uninstall: %s" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" +"Увага: сцэнар скампіляваны з ужываннем адной ці некалькіх карыстальніцкіх " +"бібліятэк." #: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" +"Увага: бібліятэка %[1]s сцвярджае, што працуе на архітэктуры(-ах) %[2]s і " +"можа быць несумяшчальная з вашай бягучай платай, якая працуе на " +"архітэктуры(-ах) %[3]s." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." -msgstr "" +msgstr "Чаканне порта выгрузкі..." -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" +"Увага: плата %[1]s не вызначае перавагі %[2]s.\n" +"Аўтаматычна задаецца ў: %[3]s" #: internal/cli/lib/search.go:203 msgid "Website: %s" -msgstr "" +msgstr "Вэб-сайт: %s" #: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." -msgstr "" +msgstr "Запіс бягучай канфігурацыи ў файл канфігурацыі." #: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." -msgstr "" +msgstr "Запіс бягучай канфігурацыі ў файл канфігурацыі ў каталогу дадзеных." -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." -msgstr "" +msgstr "Вы не можаце ўжываць аргумент %s пры кампіляцыі з ужываннем профілю." -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" -msgstr "" +msgstr "архіўны хэш адрозніваецца ад хэша па індэксе" #: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" +"архіў несапраўдны: у верхнім узроўні файла zip знойдзена некалькі файлаў" #: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" -msgstr "" +msgstr "архіў несапраўдны: файлы верхняга ўзроўню файла zip не знойдзеныя" #: internal/cli/sketch/archive.go:36 msgid "archivePath" -msgstr "" +msgstr "шлях да архіва" #: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" -msgstr "" +msgstr "адсутнічае шаблон arduino-preprocessor" #: internal/cli/feedback/stdio.go:37 msgid "available only in text format" -msgstr "" +msgstr "даступна толькі ў тэкставым фармаце" #: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" -msgstr "" +msgstr "асноўны пошук па запыту \"аўдыё\"" #: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" -msgstr "" +msgstr "асноўны пошук па \"esp32\" і \"display\" абмежаваны афіцыйным распрацоўшчыкам" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" -msgstr "" +msgstr "двайковы файл не знойдзены ў %s" #: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" -msgstr "" +msgstr "плата %s не знойдзеная " #: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" -msgstr "" +msgstr "назва платы" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" -msgstr "" +msgstr "каталог убудаваных бібліятэк не зададзены" #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" -msgstr "" +msgstr "не атрымалася знайсці апошнюю версію %s" #: commands/instances.go:272 msgid "can't find latest release of tool %s" -msgstr "" +msgstr "не атрымлася знайсці апошнюю версію інструмента %s" #: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" -msgstr "" +msgstr "не атрымалася знайсці шаблон для выяўлення з ідэнтыфікатарам %s" #: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" -msgstr "" +msgstr "кандыдаты" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" -msgstr "" +msgstr "не атрымалася запусціць інструмент выгрузкі: %s" #: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" -msgstr "" +msgstr "праверка цэласнасці лакальнага архіва" #: internal/arduino/builder/build_options_manager.go:111 #: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" -msgstr "" +msgstr "ачыстка шляху зборкі" #: internal/cli/cli.go:90 msgid "command" -msgstr "" +msgstr "каманда" #: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" -msgstr "" +msgstr "хібная каманда '%[1]s': %[2]s" #: internal/arduino/monitor/monitor.go:146 #: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" -msgstr "" +msgstr "паведамленне не сінхранізаванае, чакаецца '%[1]s', атрымана '%[2]s'" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" -msgstr "" +msgstr "вылічэнне хэша: %s" #: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" -msgstr "" +msgstr "ключ канфігурацыі %s змяшчае недапушчальны знак" #: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" -msgstr "" +msgstr "значэнне канфігурацыі %s змяшчае недапушчальны знак" #: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" -msgstr "" +msgstr "капіраванне бібліятэкі ў каталог прызначэння:" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" -msgstr "" +msgstr "не атрымалася знайсці дапушчальны артэфакт зборкі" #: commands/service_platform_install.go:94 msgid "could not overwrite" -msgstr "" +msgstr "не атрымалася перазапісаць" #: commands/service_library_install.go:190 msgid "could not remove old library" -msgstr "" +msgstr "не атрымалася выдаліць старую бібліятэку" #: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 #: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" -msgstr "" +msgstr "не атрымалася абнавіць сцэнар праекту" #: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" -msgstr "" +msgstr "стварэнне асноўнага каталогу кэша: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" -msgstr "" +msgstr "стварэнне nstalled.json у %[1]s: %[2]s" #: internal/arduino/resources/install.go:45 #: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" -msgstr "" +msgstr "стварэнне часовага каталогу для выняцця: %s" #: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" -msgstr "" +msgstr "аб'ём секцыі дадзеных перавышае даступную прастору на плаце" #: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" -msgstr "" +msgstr "залежнасць '%s' недаступная" #: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" -msgstr "" +msgstr "каталог прызначэння %s ужо існуе, усталяваць не атрымалася" #: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" -msgstr "" +msgstr "каталог прызначэння ўжо існуе" #: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" -msgstr "" +msgstr "каталог не існуе: %s" #: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 msgid "discovery %[1]s process not started" -msgstr "" +msgstr "працэс выяўлення %[1]s не запушчаны" #: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" -msgstr "" +msgstr "выяўленне %s не знойдзенае" #: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" -msgstr "" +msgstr "выяўленне %s не ўсталяванае" #: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" -msgstr "" +msgstr "выпуск выяўлення не знойдзены: %s" #: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." -msgstr "" +msgstr "спампаваць пэўную версію (у дадзеным выпадку 1.6.9)." #: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." -msgstr "" +msgstr "спампаваць апошнюю версію Arduino з тым жа ядром SAMD." #: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" -msgstr "" +msgstr "спампаваны" #: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" -msgstr "" +msgstr "спампаванне інструмента %[1]s: %[2]s" #: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" -msgstr "" +msgstr "пусты ідэнтыфікатар платы" #: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" -msgstr "" +msgstr "памылка пры загрузцы сцэнара праекту:" #: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" -msgstr "" +msgstr "памылка пры адкрыцці %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" -msgstr "" +msgstr "памылка пры разборы абмежаванняў версіі" #: commands/service_board_list.go:115 msgid "error processing response from server" -msgstr "" +msgstr "памылка пры апрацоўцы адказу ад сервера" #: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" -msgstr "" +msgstr "памылка пры запыце Arduino Cloud Api" #: internal/arduino/libraries/librariesmanager/install.go:179 msgid "extracting archive" -msgstr "" +msgstr "выманне архіва" #: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" -msgstr "" +msgstr "выманне архіва: %s" #: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" -msgstr "" +msgstr "не атрымалася вылічыць хэш файла \"%s\"" #: commands/service_board_list.go:90 msgid "failed to initialize http client" -msgstr "" +msgstr "не атрымалася ініцыялізаваць кліент http" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" +"памер атрыманага архіва адрозніваецца ад памеру, які названы ў індэксе" #: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" -msgstr "" +msgstr "файлы ў архіве павінны быць змешчаныя ў укладзены каталог" #: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" -msgstr "" +msgstr "знаходжанне абсалютнага шляху да %s" #: internal/cli/cli.go:90 msgid "flags" -msgstr "" +msgstr "аргументы" #: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" -msgstr "" +msgstr "наступная сімвалічны спасылак %s" #: internal/cli/lib/download.go:40 msgid "for a specific version." -msgstr "" +msgstr "для канкрэтнай версіі." #: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 #: internal/cli/lib/install.go:49 msgid "for the latest version." -msgstr "" +msgstr "для апошняй версіі." #: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 #: internal/cli/lib/install.go:52 msgid "for the specific version." -msgstr "" +msgstr "для канкрэтнай версіі." #: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" -msgstr "" +msgstr "поле FQBN утрымлівае недапушчальны знак" #: internal/inventory/inventory.go:67 msgid "generating installation.id" -msgstr "" +msgstr "стварэнне installation.id" #: internal/inventory/inventory.go:73 msgid "generating installation.secret" -msgstr "" +msgstr "стварэнне installation.secret" #: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" -msgstr "" +msgstr "атрыманне інфармацыі пра архіўны файл: %s" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" -msgstr "" +msgstr "атрыманне інфармацыі пра архіў: %s" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" -msgstr "" +msgstr "атрыманне шляху да архіва: %" #: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" -msgstr "" +msgstr "атрыманне ўласцівасцяў зборкі для платы %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "атрыманне залежнасцяў выяўлення для платформы %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "атрыманне залежнасцяў манітора для платформы %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "атрыманне залежнасцяў інструментаў для платформы %[1]s: %[2]s" #: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" -msgstr "" +msgstr "каталог для ўсталявання не зададзены" #: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" -msgstr "" +msgstr "усталяванне інструменту %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" -msgstr "" +msgstr "усталяванне платформы %[1]s: %[2]s" #: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" -msgstr "" +msgstr "інтэрактыўны тэрмінал не падтрымліваецца для выхаднога фармату '%s'" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" -msgstr "" +msgstr "хібная дырэктыва '%s'" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" -msgstr "" +msgstr "хібны фармат кантрольнай сумы: %s" #: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" -msgstr "" +msgstr "хібная налада канфігурацыі: %s" #: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" -msgstr "" +msgstr "хібная пустая архітэктура ядра '%s'" #: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" -msgstr "" +msgstr "хібны пусты аргумент ядра" #: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" -msgstr "" +msgstr "хібная пустая назва ядра '%s'" #: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" -msgstr "" +msgstr "хібны пусты спасылак ядра '%s'" #: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" -msgstr "" +msgstr "хібная пустая версія ядра '%s'" #: internal/cli/lib/args.go:49 msgid "invalid empty library name" -msgstr "" +msgstr "хібная пустая назва ядра" #: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" -msgstr "" +msgstr "хібная пустая версія адра: %s" #: internal/arduino/cores/board.go:143 msgid "invalid empty option found" -msgstr "" +msgstr "знойдзена хібная пустая налада" #: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" -msgstr "" +msgstr "хібны адрас URL git" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" -msgstr "" +msgstr "хібны хэш '%[1]s': %[2]s" #: internal/cli/arguments/reference.go:86 msgid "invalid item %s" -msgstr "" +msgstr "хібны элемент %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" -msgstr "" +msgstr "хібная дырэктыва бібліятэкі:" #: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" -msgstr "" +msgstr "хібны макет бібліятэкі: %s" #: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" -msgstr "" +msgstr "хібнае размяшчэнне бібліятэкі: %s" #: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" -msgstr "" +msgstr "хібная бібліятэка: файлы загалоўкаў не знойдзеныя" #: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" -msgstr "" +msgstr "хібная налада '%s'" #: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." -msgstr "" +msgstr "хібная налада '%s'." #: internal/inventory/inventory.go:92 msgid "invalid path creating config dir: %[1]s error" -msgstr "" +msgstr "хібны шлях для стварэння каталога канфігурацыі: памылка %[1]s" #: internal/inventory/inventory.go:98 msgid "invalid path writing inventory file: %[1]s error" -msgstr "" +msgstr "хібны шлях для запісу файла інвентарызацыі: памылка %[1]s" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" -msgstr "" +msgstr "хібны памер архіва платформы: %s" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" -msgstr "" +msgstr "хібны ідэнтыфікатар платформы" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" -msgstr "" +msgstr "хібны адрас URL індэкса платформы:" #: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" -msgstr "" +msgstr "хібны спасылак манітора злучэння: %s" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" -msgstr "" +msgstr "хібнае значэнне канфігурацыі порта для %s: %s" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" -msgstr "" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "хібная канфігурацыя порта: %s=%s" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" -msgstr "" +msgstr "хібны пакет '%[1]s': %[2]s" #: commands/service_sketch_new.go:86 msgid "" @@ -3092,541 +3343,554 @@ msgid "" "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" +"хібная назва сцэнару \"%[1]s\": першы знак павінен быць літарна-лічбавым ці \"_\", наступныя таксама могуць утрымліваць \"-\" і \".\".\n" +"Апошні знак не можа быць \".\"." #: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" -msgstr "" +msgstr "хібнае значэнне '%[1]s' для налады '%[2]s'" #: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" -msgstr "" +msgstr "хібны каталог версій %s" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" -msgstr "" +msgstr "хібная версія:" #: internal/cli/core/search.go:39 msgid "keywords" -msgstr "" +msgstr "ключавыя словы" #: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" -msgstr "" +msgstr "бібліятэкі, якія створаныя Даніэлем Гарсіяй" #: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" msgstr "" +"бібліятэкі, якія створаныя толькі кампаніяй Adafruit і якія маюць у назве " +"\"gfx\"" #: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" -msgstr "" +msgstr "бібліятэкі, якія залежаць, прынамсі, ад \"IRremote\"" #: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" -msgstr "" +msgstr "бібліятэкі, якія залежаць толькі ад \"IRremote\"" #: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" -msgstr "" +msgstr "бібліятэкі з \"buzzer\" у полі назвы" #: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" -msgstr "" +msgstr "бібліятэкі з назвай, якая дакладна супадае з \"pcf8523\"" #: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" -msgstr "" +msgstr "бібліятэка %s ужо ўсталяваная" #: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" -msgstr "" +msgstr "бібліятэка несапраўдная" #: internal/arduino/cores/packagemanager/loader.go:255 #: internal/arduino/cores/packagemanager/loader.go:268 #: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" -msgstr "" +msgstr "загрузка %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" -msgstr "" +msgstr "загрузка платы: %s" #: internal/arduino/cores/packagemanager/package_manager.go:501 #: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" -msgstr "" +msgstr "загрузка індэкснага файла json %[1]s: %[2]s" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" -msgstr "" +msgstr "загрузка бібліятэкі з %[1]s: %[2]s" #: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" -msgstr "" +msgstr "загрузка library.properties: %s" #: internal/arduino/cores/packagemanager/loader.go:208 #: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" -msgstr "" +msgstr "загрузка выпуска платформы %s" #: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" -msgstr "" +msgstr "загрузка platform.txt" #: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" -msgstr "" +msgstr "загрузка неабходнай платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" -msgstr "" +msgstr "загрузка неабходнага інструмента %s" #: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" -msgstr "" +msgstr "загрузка выпуску інструмента ў %s" #: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" -msgstr "" +msgstr "пошук boards.txt у %s" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" -msgstr "" +msgstr "пошук артэфактаў зборкі" #: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" -msgstr "" +msgstr "асноўны файл адсутнічае ў сцэнары: %s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" -msgstr "" +msgstr "адсутнічае дырэктыва '%s'" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" -msgstr "" +msgstr "адсутнічае кантрольная сума для: %s" #: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" -msgstr "" +msgstr "адсутнічае пакет %[1]s, на які спасылаецца плата%[2]s" #: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" +"адсутнічае індэкс пакета %s, будучыя абнаўленні не могуць быць гарантаваныя" #: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" -msgstr "" +msgstr "адсутнічае платформа %[1]s: %[2]s на якую спасылаецца плата %[3]s" #: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" +"адсутнічае выпуск платформы %[1]s: %[2]s на які спасылаецца плата %[3]s" #: internal/arduino/resources/index.go:153 msgid "missing signature" -msgstr "" +msgstr "адсутнчіае сігнатура" #: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" -msgstr "" +msgstr "выпуск маніторынгу не знойдзена: %s" #: internal/arduino/libraries/librariesmanager/install.go:197 #: internal/arduino/libraries/librariesmanager/install.go:246 #: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" -msgstr "" +msgstr "перамяшчэнне вынятага архіва ў каталог прызначэння: %s" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" -msgstr "" +msgstr "выяўлена некалькі артэфактаў зборкі: '%[1]s' і '%[2]s'" #: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" -msgstr "" +msgstr "знойдзена некалькі асноўных файлаў сцэнара (%[1]v, %[2]v)" #: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" +"не знойдзена сумяшчальнай версіі інструментаў %[1]s для бягучай аперацыйнай " +"сістэмы, паспрабуйце звязацца з %[2]s" #: commands/service_board_list.go:273 msgid "no instance specified" -msgstr "" +msgstr "асобнік не пазначаны" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" -msgstr "" +msgstr "не паказаны каталог/файл сцэнара або зборкі" #: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" -msgstr "" +msgstr "такога файла ці каталога няма" #: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" +"у архіве няма ўнікальнага каранёвага каталога, знойдзена '%[1]s' і '%[2]s'" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" -msgstr "" +msgstr "порт загрузкі не пазначаны" #: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" -msgstr "" +msgstr "не знойдзены сапраўдны сцэнар у %[1]s: адсутнічае %[2]s" #: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" msgstr "" +"для бягучай аперацыйнай сістэмы не даступна ні адной версіі, паспрабуйце " +"звязацца з %s" #: internal/arduino/cores/fqbn.go:50 msgid "not an FQBN: %s" -msgstr "" +msgstr "не з'яўляецца FQBN: %s" #: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" -msgstr "" +msgstr "не працуе ў тэрмінале" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" -msgstr "" +msgstr "адкрыццё файла архіва: %s" #: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" -msgstr "" +msgstr "адкрыццё boards.txt" #: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" -msgstr "" +msgstr "адкрыццё файла сігнатуры: %s" #: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" -msgstr "" +msgstr "адкрыццё мэтавага файлау: %s" #: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" -msgstr "" +msgstr "пакет %s не знойдзены" #: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" -msgstr "" +msgstr "пакет '%s' не знойдзены" #: internal/arduino/cores/board.go:166 #: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" -msgstr "" +msgstr "разбор fqbn: %s" #: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" -msgstr "" +msgstr "разбор library_index.json: %s" #: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" -msgstr "" +msgstr "шлях не з'яўляецца каталогам платформы: %s" #: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" -msgstr "" +msgstr "платформа %[1]s не знойдзена ў пакеце %[2]s" #: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" -msgstr "" +msgstr "платформа %s не ўсталяваная" #: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" -msgstr "" +msgstr "платформа недаступная для вашай аперацыйнай сістэмы" #: commands/service_compile.go:126 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" -msgstr "" +msgstr "платформа не ўсталяваная" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." -msgstr "" +msgstr "калі ласка, ужывайце --build-property." #: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" -msgstr "" +msgstr "ужо дададзена выяўленне, якое злучаецца: %s" #: internal/cli/board/attach.go:35 msgid "port" -msgstr "" +msgstr "порт" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" -msgstr "" +msgstr "порт не знойдзены: %[1]s %[2]s" #: internal/cli/board/attach.go:35 msgid "programmer" -msgstr "" +msgstr "праграматар" #: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" -msgstr "" +msgstr "версія пратаколу не падтрымліваецца: запытана %[1]d, атрымана %[2]d" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" -msgstr "" +msgstr "чытанне каталогу %[1]s: %[2]s" #: internal/arduino/libraries/loader.go:199 msgid "reading directory %[1]s content" -msgstr "" +msgstr "чытанне зместу каталога %[1]s" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 #: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" -msgstr "" +msgstr "чытанне каталогу %s" #: internal/arduino/libraries/librariesmanager/install.go:288 msgid "reading directory %s content" -msgstr "" +msgstr "чытанне зместу каталога %s" #: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" -msgstr "" +msgstr "чытанне файлу %[1]s: %[2]s" #: internal/arduino/sketch/sketch.go:198 msgid "reading files" -msgstr "" +msgstr "чытанне файлаў" #: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" -msgstr "" +msgstr "чытанне загалоўкаў бібліятэкі: %s" #: internal/arduino/libraries/libraries.go:115 msgid "reading library headers" -msgstr "" +msgstr "чытанне загалоўкаў бібліятэкі: %s" #: internal/arduino/libraries/libraries.go:227 msgid "reading library source directory: %s" -msgstr "" +msgstr "чытанне зыходнага каталогу бібліятэкі: %s" #: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" -msgstr "" +msgstr "чытанне library_index.json: %s" #: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" -msgstr "" +msgstr "чытанне каранёвага каталога пакету: %s" #: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" -msgstr "" +msgstr "чытанне файлаў сцэнару" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" -msgstr "" +msgstr "пакет '%s' не знойдзены" #: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" -msgstr "" +msgstr "не знойдзены выпуск %[1]s для інструмента %[2]s" #: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 #: internal/arduino/cores/status.go:142 msgid "release cannot be nil" -msgstr "" +msgstr "выпуск не можа быць нулявым" #: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" -msgstr "" +msgstr "выдаленне пашкоджанага архіўнага файла: %s" #: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" -msgstr "" +msgstr "выдаленне каталогу бібліятэкі: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" -msgstr "" +msgstr "выдаленне файлаў платформы: %s" #: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" -msgstr "" +msgstr "неабходная версія %[1]s для платформы %[2]s не знойдзена" #: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" -msgstr "" +msgstr "выманне адкрытых ключоў Arduino: %s" #: internal/arduino/libraries/loader.go:117 #: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" -msgstr "" +msgstr "чытанне прыкладаў сцэнара" #: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" -msgstr "" +msgstr "пошук у каранёвым каталогу пакета: %s" #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" -msgstr "" +msgstr "назва сцэнара не можа быць пустым" #: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" -msgstr "" +msgstr "назва сцэнара не можа быць зарэзерваванай назвай \"%[1]s\"" #: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" +"занадта доўгая назва сцэнара (%[1]d знакаў).\n" +"Найбольшая дапушчальная даўжыня складае %[2]d знакаў" #: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" -msgstr "" +msgstr "няправільны шлях да сцэнара" #: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" -msgstr "" +msgstr "шлях да сцэнара" #: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" -msgstr "" +msgstr "пачынанне адкрыцця %s" #: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" -msgstr "" +msgstr "праверка кантрольнай сумы архіва: %s" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" -msgstr "" +msgstr "праверка памеру архіва: %s" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" -msgstr "" +msgstr "праверка, ці кэшаваны архіў: %s" #: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" -msgstr "" +msgstr "Праверка цэласнасці лакальнага архіва: %s" #: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" -msgstr "" +msgstr "тэкставы падзел займае больш месца на плаце" #: internal/arduino/builder/internal/detector/detector.go:214 #: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" -msgstr "" +msgstr "база дадзеных для складання можа быць няпоўнай ці недакладнай" #: commands/service_board_list.go:102 msgid "the server responded with status %s" -msgstr "" +msgstr "сервер адказаў паведамленнем пра стан %s" #: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" -msgstr "" +msgstr "час чакання паведамлення" #: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" -msgstr "" +msgstr "інструмент %s не кіруецца кіраўніком пакетаў" #: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 #: internal/arduino/cores/status.go:153 msgid "tool %s not found" -msgstr "" +msgstr "інструмент %s не знойдзены" #: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" -msgstr "" +msgstr "інструмент '%[1]s не знойдзены ў пакеты '%[2]s'" #: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" -msgstr "" +msgstr "інструмент не ўсталяваны" #: internal/arduino/cores/packagemanager/package_manager.go:735 #: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" -msgstr "" +msgstr "выпуск інструмента не знойдзены: %s" #: internal/arduino/cores/status.go:105 msgid "tool version %s not found" -msgstr "" +msgstr "інструмент версіі %s не знойдзена" #: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" -msgstr "" +msgstr "патрабуюцца дзве розныя версіі бібліятэкі%[1]s: %[2]s і %[3]s" #: internal/arduino/builder/sketch.go:74 #: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" -msgstr "" +msgstr "не атрымалася вылічыць адносны шлях да сцэнара элемента" #: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" -msgstr "" +msgstr "не атрымалася стварыць каталог для захавання сцэнара" #: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" -msgstr "" +msgstr "не атрымалася стварыць каталог, які змяшчае элемент" #: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" -msgstr "" +msgstr "не атрымалася пераўтварыць канфігурацыю ў YAML: %v" #: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" -msgstr "" +msgstr "не атрымалася прачытаць змест элементу прызначэння" #: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" -msgstr "" +msgstr "не атрымалася прачытаць змест зыходнага элемента" #: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" -msgstr "" +msgstr "не атрымалася запісаць у файл прызначэння" #: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" -msgstr "" +msgstr "невядомы пакет %s" #: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" -msgstr "" +msgstr "невядомая платформа %s: %s" #: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" -msgstr "" +msgstr "невядомае пашырэнне '%s' файлу сцэнара" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" -msgstr "" +msgstr "непадтрыманы алгарытм хэшавання: %s" #: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" -msgstr "" +msgstr "абнаўленне arduino: samd да апошняй версіі" #: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" -msgstr "" +msgstr "абнаўленне ўсяго да апошняй версіі" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" -msgstr "" +msgstr "памылка пры загрузцы: %s" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" -msgstr "" +msgstr "карыстальніцкі каталог не зададзены" #: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" -msgstr "" +msgstr "карыстальніцкі ўвод не падтрымліваецца для выхаднога фармату '%s'" #: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" -msgstr "" +msgstr "карыстальніцкі ўвод не падтрымліваецца ў неінтэрактыўных рэжыме" #: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" -msgstr "" +msgstr "версія %s недаступная для дадзенай аперацыйнай сістэмы" #: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" -msgstr "" +msgstr "версія %s не знойдзена" #: commands/service_board_list.go:120 msgid "wrong format in server response" -msgstr "" +msgstr "няправільны фармат у адказе сервера" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 3fbf3bed9db..7323c48f6e5 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -36,7 +36,7 @@ msgstr "%[1]s ungültig, alles wird neu gebaut" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s wird benötigt, aber %[2]s ist aktuell installiert." -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "Muster %[1]s fehlt" @@ -44,7 +44,7 @@ msgstr "Muster %[1]s fehlt" msgid "%s already downloaded" msgstr "%s bereits heruntergeladen" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s und %s können nicht gemeinsam verwendet werden" @@ -65,6 +65,10 @@ msgstr "%s ist kein Verzeichnis" msgid "%s is not managed by package manager" msgstr "%s wird nicht vom Paketmanager verwaltet" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s muss installiert sein." @@ -173,7 +177,7 @@ msgstr "Beim Hinzufügen von Prototypen ist ein Fehler aufgetreten" msgid "An error occurred detecting libraries" msgstr "Ein Fehler trat beim erkennen der Bibliotheken auf" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "Debug-Protokollierung an die angegebene Datei anhängen" @@ -257,7 +261,7 @@ msgstr "Verfügbar" msgid "Available Commands:" msgstr "Verfügbare Befehle:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "Binärdatei zum Hochladen." @@ -278,11 +282,11 @@ msgstr "Platinenversion:" msgid "Bootloader file specified but missing: %[1]s" msgstr "Bootloader-Datei angegeben, aber nicht vorhanden: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" -"Builds von 'core.a' werden in diesem Pfad gespeichert, gecached und " -"wiederverwendet." #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -310,19 +314,19 @@ msgstr "Sketch kann nicht geöffnet werden" msgid "Can't update sketch" msgstr "Sketch kann nicht aktualisiert werden" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "Die folgenden Flags können nicht gemeinsam verwendet werden: %s" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "Debug-Log kann icht geschrieben werden: %s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "Cache-Verzeichnis kann nicht angelegt werden" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "Build-Verzeichnis kann nicht angelegt werden" @@ -368,7 +372,7 @@ msgstr "Plattform kann nicht installiert werden" msgid "Cannot install tool %s" msgstr "Werkzeug %s kann nicht installiert werden" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "Port-Reset konnte nicht ausgeführt werden: %s" @@ -389,7 +393,7 @@ msgstr "Kategorie: %s" msgid "Check dependencies status for the specified library." msgstr "Prüfe die die Abhängigkeiten für die angegebene Bibliothek." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" "Prüfung, ob die angegebene Board-/Programmer--Kombination das Debugging " @@ -419,7 +423,7 @@ msgstr "" "Befehl läuft weiter und gibt die Liste der verbundenen Platinen aus, sobald " "sich eine Änderung ergibt." -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "Kompilierter Sketch wurde nicht in%s gefunden" @@ -427,11 +431,11 @@ msgstr "Kompilierter Sketch wurde nicht in%s gefunden" msgid "Compiles Arduino sketches." msgstr "Kompiliert Arduino-Sketche." -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "Kern wird kompiliert ..." -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "Bibliotheken werden kompiliert ..." @@ -439,7 +443,7 @@ msgstr "Bibliotheken werden kompiliert ..." msgid "Compiling library \"%[1]s\"" msgstr "Bibliothek \"%[1]s\" wird kompiliert" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "Sketch wird kompiliert ..." @@ -454,11 +458,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "Konfigurationsdatei geschrieben nach: %s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "Konfigurationsoptionen für %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -478,7 +482,7 @@ msgstr "Konfiguriere Werkzeug." msgid "Connected" msgstr "Verbunden" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Verbindung zu %s wird hergestellt. Abbrechen mit STRG-C." @@ -490,7 +494,7 @@ msgstr "Kern" msgid "Could not connect via HTTP" msgstr "Konnte nicht über HTTP verbinden" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "Indexverzeichnis konnte nicht erstellt werden" @@ -510,7 +514,7 @@ msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht gefunden werden: %v " msgid "Create a new Sketch" msgstr "Einen neuen Sketch erstellen" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "Erstelle und drucke ein Konfigurations-Profil aus dem Build" @@ -527,7 +531,7 @@ msgstr "" "einem benutzerdefinierten Verzeichnis mit den aktuellen " "Konfigurationseinstellungen." -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -535,7 +539,7 @@ msgstr "" "Aktuell werden in Build-Profilen nur Bibliotheken aus dem Arduino-" "Bibliotheksmanager unterstützt." -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "Benutzerdefinierte Konfigurtion für %s:" @@ -544,30 +548,30 @@ msgstr "Benutzerdefinierte Konfigurtion für %s:" msgid "DEPRECATED" msgstr "VERALTET" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "Daemon überwacht jetzt %s: %s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "Arduino-Sketche debuggen" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Arduino-Sketche debuggen. (Dieser Befehl öffnet eine interaktive gdb-" "Sitzung)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Debug-Interpreter z.B.: %s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "Debugging für Board %s nicht unterstützt" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "Standard" @@ -619,11 +623,11 @@ msgstr "" "Erkennt und zeigt eine Liste von Platinen, die mit dem Computer verbunden " "sind." -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "Verzeichnis, welches die Binärdateien zum Debuggen enthält." -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "Verzeichnis, welches die Binärdateien zum Hochladen enthält." @@ -644,7 +648,7 @@ msgstr "" msgid "Disconnected" msgstr "Verbindung getrennt" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "Nur die bereitgestellten gRPC-Aufrufe anzeigen" @@ -660,14 +664,14 @@ msgstr "Bereits installierte Bibliotheken nicht überschreiben." msgid "Do not overwrite already installed platforms." msgstr "Bereits installierte Plattformen nicht überschreiben." -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" "Den eigentlichen Hochladevorgang nicht durchführen, sondern nur die " "Abmeldeaktionen" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "Den Daemon-Prozess nicht mit dem Elternprozess beenden." @@ -685,8 +689,8 @@ msgstr "%s wird heruntergeladen" msgid "Downloading index signature: %s" msgstr "Indexsignatur wird heruntergeladen: %s" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Index wird heruntergeladen: %s" @@ -722,7 +726,7 @@ msgid "Downloads one or more libraries without installing them." msgstr "" "Lädt eine oder mehrere Bibliotheken herunter, ohne sie zu installieren." -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "Debug-Protokollierung von gRPC-Aufrufen aktivieren" @@ -754,11 +758,11 @@ msgstr "Fehler beim Berechnen des relativen Dateipfads" msgid "Error cleaning caches: %v" msgstr "Fehler beim bereinigen des Caches: %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "Fehler beim konvertieren des Pfads zum Absolutpfad: %v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "Fehler beim Kopieren der Ausgabedatei %s" @@ -772,7 +776,7 @@ msgstr "Fehler beim Erstellen der Konfiguration: %v" msgid "Error creating instance: %v" msgstr "Fehler beim Erstellen der Instanz: %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "Fehler beim Erstellen des Ausgabeverzeichnisses" @@ -797,7 +801,7 @@ msgstr "Fehler beim Herunterladen von %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Fehler beim Herunterladen von %s" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Fehler beim Herunterladen des Index '%s'" @@ -819,7 +823,7 @@ msgstr "Fehler beim Herunterladen der Plattform %s" msgid "Error downloading tool %s" msgstr "Fehler beim Herunterladen des Werkzeugs %s" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "Fehler beim Debuggen: %v" @@ -827,18 +831,18 @@ msgstr "Fehler beim Debuggen: %v" msgid "Error during JSON encoding of the output: %v" msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "Fehler bei der Board-Erkennung" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "Fehler beim Build: %v" @@ -859,11 +863,11 @@ msgstr "Fehler beim Upgrade %v" msgid "Error extracting %s" msgstr "Fehler beim Extrahieren von %s" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "Fehler beim finden der Build-Artifacts" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "Fehler beim ermitteln der Debug-Information: %v" @@ -880,7 +884,7 @@ msgid "Error getting current directory for compilation database: %s" msgstr "" "Fehler beim ermitteln des Verzeichnisses für die Kompilier-Datenbank: %s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -888,7 +892,7 @@ msgstr "" "Fehler beim ermitteln des Standard-Ports aus 'sketch.yaml' Prüfe, ob di im " "richtigen Sketch-Verzeichnis bist oder verwende das --port Attribut: %s" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Fehler beim Abrufen von Informationen für die Bibliothek %s" @@ -896,15 +900,15 @@ msgstr "Fehler beim Abrufen von Informationen für die Bibliothek %s" msgid "Error getting libraries info: %v" msgstr "Fehler beim Abrufen von Bibliotheksinformationen: %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "Fehler beim Abrufen von Port-Metadaten: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "Fehler beim Abrufen von Details zu Port-Einstellungen: %s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "Fehler beim lesen der Benutzereingaben." @@ -964,19 +968,19 @@ msgstr "Fehler beim Laden des Index %s" msgid "Error opening %s" msgstr "Fehler beim Öffnen von %s" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "Fehler beim Öffnen der Debug-Protokollierungsdatei: %s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "Fehler, öffnen der Quellcodes überschreibt die Datendatei: %v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "Fehler bei der Auswertung des --show-Property Attributs: %v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "Fehler bel Lesen des Build-Verzechnisses" @@ -1022,7 +1026,7 @@ msgstr "Fehler bei der Suche nach Plattformen: %v" msgid "Error serializing compilation database: %s" msgstr "Fehler bei der Serialisierung der Kompilierungsdatenbank: %s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "Fehler beim Setzen des \"Raw-Mode\": %s" @@ -1078,7 +1082,7 @@ msgstr "Fehler beim Schreiben in die Datei: %v" msgid "Error: command description is not supported by %v" msgstr "Fehler: Befehlsbeschreibung wird nicht unterstützt von %v" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "Fehler: ungültiger Quellcode überschreibt die Daten-Datei: %v" @@ -1094,11 +1098,11 @@ msgstr "Beispiele für Bibliothek %s" msgid "Examples:" msgstr "Beispiele:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "Ausführbare Datei zum Debuggen" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Kompilierter Sketch wurde im Verzeichnis %s erwartet, aber eine Datei " @@ -1114,15 +1118,15 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "Chip-Löschung fehlgeschlagen" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "Fehlgeschlagene Programmierung" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "Schreiben des Bootloaders fehlgeschlagen" @@ -1134,27 +1138,27 @@ msgstr "Erzeugen des Datenverzeichnisses fehlgeschlagen" msgid "Failed to create downloads directory" msgstr "Erzeugen des Download-Verzeichnisses fehlgeschlagen" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. %[2]s ist ein ungültiger Port." -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. %[2]s ist ein unbekannter Name." -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" "Fehler beim Überwachen von TCP-Port: %[1]s. Unerwarteter Fehler: %[2]v" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" "Fehler beim Überwachen von TCP-Port: %s. Adresse wird bereits benutzt." -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "Fehlgeschlagenes Hochladen" @@ -1175,7 +1179,7 @@ msgid "First message must contain debug request, not data" msgstr "" "Die erste Nachricht muss eine Debug-Anforderung enthalten, keine Daten." -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "Attribut %[1]s ist in Verbindung mit %[2]s vorgeschrieben." @@ -1262,7 +1266,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Globale Variablen verwenden %[1]s Bytes des dynamischen Speichers." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1275,7 +1279,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Identifikationseigenschaften:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Wenn gesetzt werden die erzeugten Binärdateien in das Sketch-Verzeichnis " @@ -1352,7 +1356,7 @@ msgstr "Ungültige '%[1]s' Eigenschaft: %[2]s" msgid "Invalid FQBN" msgstr "Ungültiger FQBN" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "Ungültige TCP-Adresse: Port fehlt" @@ -1374,7 +1378,7 @@ msgstr "Ungültiges Archiv: Datei %[1]s nicht im Archiv %[2]s gefunden" msgid "Invalid argument passed: %v" msgstr "Ungültiges Argument übergeben: %v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "Ungültige Build-Eigenschaften" @@ -1386,7 +1390,7 @@ msgstr "Ungültige Datengröße regexp: %s" msgid "Invalid eeprom size regexp: %s" msgstr "Ungültige EEPROM-Größe: %s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "Ungültige Index-URL: %s" @@ -1406,7 +1410,7 @@ msgstr "Ungültige Bibliothek" msgid "Invalid logging level: %s" msgstr "Ungültiger Protokoll-Level: %s" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "Ungültige Netzwerk-Konfiguration: %s" @@ -1418,7 +1422,7 @@ msgstr "Ungültiger network.proxy '%[1]s':%[2]s" msgid "Invalid output format: %s" msgstr "Ungültiges Ausgabeformat: %s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "Ungültiger Paketindex in %s" @@ -1454,7 +1458,7 @@ msgstr "Ungültige Version" msgid "Invalid vid value: '%s'" msgstr "Ungültiger vid-Wert:'%s'" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1527,7 +1531,7 @@ msgstr "Bibliothek installiert" msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "Alles zusammenlinken..." @@ -1555,7 +1559,7 @@ msgstr "" "Komma-getrennte Liste der Boardoptionen. Kann auch mehrfach für mehrere " "Optinen verwendet werden." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1597,7 +1601,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "Betreuer %s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1640,7 +1644,7 @@ msgstr "Fehlendes Port-Protokoll" msgid "Missing programmer" msgstr "Fehlender Programmer" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "Fehlendes benötigtes Upload-Feld: %s" @@ -1656,7 +1660,7 @@ msgstr "Fehlender Sketch-Pfad" msgid "Monitor '%s' not found" msgstr "Monitor '%s' wurde nicht gefunden" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "Porteinstellunegn für Monitor:" @@ -1674,7 +1678,7 @@ msgstr "Name" msgid "Name: \"%s\"" msgstr "Name '%s'" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "Neuer Upload-Port: %[1]s (%[2]s)" @@ -1726,7 +1730,7 @@ msgstr "Keine Plattformen installiert." msgid "No platforms matching your search." msgstr "Die Suche fand keine passenden Plattformen" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "Kein Upload-Port gefunden, verwende %s stattdessen" @@ -1760,7 +1764,7 @@ msgstr "" "Alle Bibliotheksdetails überspringen, außer für die aktuelle Version\n" "(Die JSON-Ausgabe wird kompakter)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Einen Kommunikations-Port mit einer Platine öffnen." @@ -1768,42 +1772,42 @@ msgstr "Einen Kommunikations-Port mit einer Platine öffnen." msgid "Option:" msgstr "Option:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Optional, kann %s sein. Verwendet, um den Warnungslevel für gcc festzulegen " "(-W Option)" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Optional, leere den Build-Ordner und verwende keinen zwischengespeicherten " "Build." -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Optional, optimiere das Kompilat zum Debuggen, nicht für den " "Produktiveinsatz" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "Optional, vermeidet fast alle Ausgaben" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Optional, schaltet umfangreiche Ausgaben ein" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "Optional, Pfad zu einer .json-Datei mit Ersetzungen für den Sketch-Quellcode" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1811,6 +1815,19 @@ msgstr "" "Übersteuert eine Build-Option mit einem benutzerdefinierten Wert. Kann " "mehrfach für mehrere Optionen verwendet werden." +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "Überschreibt bestehende Konfigurationsdatei." @@ -1852,11 +1869,11 @@ msgstr "Webseite für das Paket:" msgid "Paragraph: %s" msgstr "Absatz: %s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "Pfad" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1864,7 +1881,7 @@ msgstr "" "Pfad zu einer Bibliothekssammlung. Kann mehrfach verwendet werden oder die " "Einträge können durch Kommata getrennt werden." -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1876,7 +1893,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Pfad in welchem die Log-Dateien abgelegt werden sollen." -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1884,7 +1901,7 @@ msgstr "" "Pfad für die kompilierten Dateien. Wenn nicht festgelegt, dann wird ein " "Verzeichnis im Standard-Temp-Verzeichnis des Betriebssystems erstellt." -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Ein 1200bps-Reset wird auf dem seriellen Port %s durchgeführt" @@ -1897,7 +1914,7 @@ msgstr "Plattform %s bereits installiert" msgid "Platform %s installed" msgstr "Plattform %s installiert" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1921,7 +1938,7 @@ msgstr "Plattform '%s' nicht gefunden" msgid "Platform ID" msgstr "Plattform ID" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "Plattform ID ist nicht korrekt" @@ -1973,7 +1990,7 @@ msgstr "" msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "Port geschlossen: %v" @@ -1990,7 +2007,7 @@ msgstr "Vorkompilierte Bibliothek in \"%[1]s\" nicht gefunden" msgid "Print details about a board." msgstr "Details zu dem Board ausgeben" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Gebe den vorverarbeiteten Code aus anstatt zu kompilieren." @@ -2058,11 +2075,11 @@ msgstr "Ersetze die Plattform durch %[1]sdurch %[2]s" msgid "Required tool:" msgstr "Erforderliches Werkzeug:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "Starten im stillen Modus, zeige nur die Monitorein- und -ausgaben" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "Arduino-CLI als gRPC-Daemon ausführen" @@ -2079,11 +2096,11 @@ msgstr "Starte das pre_uninstall Skript" msgid "SEARCH_TERM" msgstr "SUCH_TERM" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "SVD Verzeichnis" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "Build-Artifakte in diesem Verzeichnis speichern." @@ -2191,7 +2208,7 @@ msgstr "" msgid "Sentence: %s" msgstr "Satz: %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "Server-Pfad" @@ -2199,15 +2216,15 @@ msgstr "Server-Pfad" msgid "Server responded with: %s" msgstr "Server hat mit: %s geantwortet" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "Server-Typ" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "Setze einen Wert für ein zum Upload benötigtes Feld." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "Aktiviere den Raw-Modus im Terminal (ungepuffert)" @@ -2230,11 +2247,15 @@ msgstr "" "Programmer angegeben sind, werden der aktuelle Standardport, FQBN und " "Programmer angezeigt." +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "Legt fest, wo die Konfigurationsdatei gespeichert werden soll." -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "Einstellung" @@ -2248,7 +2269,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Zeige alle verfügbare Core-Versionen." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "Zeige alle Einstellungen des Kommunikations-Ports." @@ -2286,7 +2307,7 @@ msgstr "Nur Namen der Bibliotheken anzeigen." msgid "Show list of available programmers" msgstr "Zeige alle verfügbare Programmer" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2343,7 +2364,7 @@ msgstr "Zeigt die Versionsnummer des Arduino CLI an." msgid "Size (bytes):" msgstr "Größe (Bytes):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2385,7 +2406,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "Überspringe das Linken der endgültigen ausführbaren Datei." -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Überspringen des 1200-bps-Touch-Resets: keine serielle Schnittstelle " @@ -2421,7 +2442,7 @@ msgstr "Überspringe die Werkzeugkonfiguration." msgid "Skipping: %[1]s" msgstr "Wird übersprungen: %[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "Einige Indizes konnten nicht aktualisiert werden." @@ -2431,7 +2452,7 @@ msgstr "" "Einige Upgrades sind fehlgeschlagen, bitte überprüfe die Ausgabe für " "Details." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "TCP-Port, der vom Daemon überwacht wird" @@ -2447,16 +2468,22 @@ msgstr "" "Die benutzerdefinierte Konfigurationsdatei (wenn nicht angegeben, wird der " "Standardwert verwendet)." -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "Das Flag --debug-file muss mit --debug benutzt werden." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" "Die angegebene Board-/Programmer-Konfiguration unterstützt kein Debugging." -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" "Die angegebene Board-/Programmer-Konfiguration unterstützt das Debugging." @@ -2485,7 +2512,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "Die Bibliothek %s hat mehrere Installationen:" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2494,7 +2521,7 @@ msgstr "" "Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " "den Plattformen verwendet, die ihn unterstützen." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2507,7 +2534,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Das Ausgabeformat für die Logs kann %s sein" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2542,7 +2569,7 @@ msgstr "" "Dieser Befehl zeigt eine Liste der installierten Kerne und/oder Bibliotheken\n" "die aktualisiert werden können. Wenn nichts aktualisiert werden muss, ist die Ausgabe leer." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "Markiere jede ankommende Zeile mit einem Zeitstempel." @@ -2559,23 +2586,23 @@ msgstr "Werkzeug %s deinstalliert" msgid "Toolchain '%s' is not supported" msgstr "Toolchain '%s' wird nicht unterstützt" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "Toolchain-Pfad" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "Toolchain-Prefix" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "Toolchain-Typ" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Versuche %s zu starten" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "Schaltet den ausführlichen Modus ein." @@ -2615,7 +2642,7 @@ msgstr "Das Home-Verzeichnis des Benutzers kann nicht abgerufen werden: %v" msgid "Unable to open file for logging: %s" msgstr "Die Datei kann nicht für die Protokollierung geöffnet werden: %s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "URL kann nicht geparst werden" @@ -2714,7 +2741,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Adresse des Upload-Ports, z. B.: COM3 oder /dev/ttyACM2" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "Upload-Port gefunden auf %s" @@ -2722,7 +2749,7 @@ msgstr "Upload-Port gefunden auf %s" msgid "Upload port protocol, e.g: serial" msgstr "Upload-Port-Protokoll, z.B.: seriell" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "Lade die Binärdatei nach der Kompilierung hoch." @@ -2735,7 +2762,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "Lade den Bootloader hoch." -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2758,11 +2785,11 @@ msgstr "Verwendung:" msgid "Use %s for more information about a command." msgstr "Benutze %s für mehr Informationen über einen Befehl." -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "Benutzte Bibliothek" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "Verwendete Plattform" @@ -2770,7 +2797,7 @@ msgstr "Verwendete Plattform" msgid "Used: %[1]s" msgstr "Benutzt: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Verwende das Board '%[1]s' von der Plattform im Ordner: %[2]s" @@ -2780,17 +2807,17 @@ msgstr "" "Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die " "Datei: %[1]s" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Verwendung des Kerns '%[1]s' von Platform im Ordner: %[2]s" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" "Standardmäßige Monitorkonfiguration für das Board verwenden:\n" "%s" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2829,16 +2856,16 @@ msgstr "VERSION" msgid "VERSION_NUMBER" msgstr "VERSION_NUMMER" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "Werte" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "Überprüfe die hochgeladene Binärdatei nach dem Upload." -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Version" @@ -2860,7 +2887,7 @@ msgstr "WARNUNG, das Tool %s kann nicht konfiguriert werden " msgid "WARNING cannot run pre_uninstall script: %s" msgstr "WARNUNG, kann das pre_uninstall Skript %s nicht ausführen: " -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "WARNUNG: Der Sketch wurde mit einer oder mehreren benutzerdefinierten " @@ -2875,11 +2902,11 @@ msgstr "" "werden zu können und ist möglicherweise inkompatibel mit Ihrer derzeitigen " "Platine, welche auf %[3]s Architektur(en) ausgeführt wird." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "Warten auf Upload-Port ..." -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2902,12 +2929,12 @@ msgstr "" "Schreibt die aktuelle Konfiguration in die Konfigurationsdatei im " "Datenverzeichnis." -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Du kannst das %s Flag nicht verwenden, wenn du mit einem Profil kompilierst." -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "Archiv-Hash unterscheidet sich von Hash im Index" @@ -2945,7 +2972,7 @@ msgstr "" "Einfache Suche nach \"esp32\" und \"display\" beschränkt auf offizielle " "Betreuer" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "Binärdatei wurde nicht in %s gefunden " @@ -2977,7 +3004,7 @@ msgstr "Kann kein Muster für die Suche mit id %s finden " msgid "candidates" msgstr "Kandidaten" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "Das Upload-Tool %s konnte nicht ausgeführt werden " @@ -3003,7 +3030,7 @@ msgstr "Der Befehl '%[1]s' ist fehlgeschlagen: %[2]s" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "Kommunikation nicht synchron, erwartet '%[1]s', empfangen '%[2]s'" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "Hash berechnen: %s" @@ -3019,7 +3046,7 @@ msgstr "Konfigurationswert %s enthält ein ungültiges Zeichen" msgid "copying library to destination directory:" msgstr "kopiere Bibliothek in Zielordner:" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "Gültiges Build-Artefakt wurde nicht gefunden" @@ -3113,7 +3140,7 @@ msgstr "Fehler beim Laden der Sketch-Projektdatei:" msgid "error opening %s" msgstr "Fehler beim Öffnen von %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "Fehler beim Parsen von Versionsbeschränkungen" @@ -3141,7 +3168,7 @@ msgstr "Der Hash der Datei \"%s\" konnte nicht berechnet werden." msgid "failed to initialize http client" msgstr "Http-Client konnte nicht initialisiert werden" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" "Die Größe des abgerufenen Archivs unterscheidet sich von der im Index " @@ -3193,12 +3220,12 @@ msgstr "Installations-Secret generieren" msgid "getting archive file info: %s" msgstr "Hole Info zur Archivdatei: %s" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "Hole Archiv-Info: %s" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -3238,11 +3265,11 @@ msgid "interactive terminal not supported for the '%s' output format" msgstr "" "Interaktives Terminal wird für das Ausgabeformat '%s' nicht unterstützt" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "Ungültige '%s' Richtlinie" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "Ungültiges Prüfsummenformat: %s" @@ -3286,7 +3313,7 @@ msgstr "Ungültige leere Option gefunden" msgid "invalid git url" msgstr "Ungültige Git-URL" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "Ungültiger Hash '%[1]s': %[2]s" @@ -3294,7 +3321,7 @@ msgstr "Ungültiger Hash '%[1]s': %[2]s" msgid "invalid item %s" msgstr "ungültiges Element %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "Ungültige Bibliotheksrichtlinie:" @@ -3328,15 +3355,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "Fehler. Ungültiger Pfad beim Schreiben der Inventardatei: %[1]s" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "ungültige Plattformarchivgröße: %s" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "ungültiger Plattformidentifikator" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "Ungültige Plattform-Index-URL:" @@ -3344,15 +3371,15 @@ msgstr "Ungültige Plattform-Index-URL:" msgid "invalid pluggable monitor reference: %s" msgstr "Ungültige hinzufügbare Monitor-Referenz: %s" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "Ungültiger Port-Konfigurationswert für %s: %s" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" -msgstr "ungültige Port-Konfiguration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "Ungültiges Rezept '%[1]s': %[2]s" @@ -3374,7 +3401,7 @@ msgstr "Ungültiger Wert '%[1]s' für Option '%[2]s'" msgid "invalid version directory %s" msgstr "Ungültiges Versionsverzeichnis %s" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "ungültige Version:" @@ -3462,7 +3489,7 @@ msgstr "Lade Tool-Release in %s" msgid "looking for boards.txt in %s" msgstr "suche nach boards.txt in %s" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "Suche nach Build-Artefakten" @@ -3470,11 +3497,11 @@ msgstr "Suche nach Build-Artefakten" msgid "main file missing from sketch: %s" msgstr "Hauptdatei fehlt im Sketch: %s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "Fehlende '%s' Richtlinie" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "Fehlende Prüfsumme für: %s" @@ -3510,7 +3537,7 @@ msgstr "Monitor-Freigabe nicht gefunden: %s" msgid "moving extracted archive to destination dir: %s" msgstr "Verschieben des extrahierten Archivs in das Zielverzeichnis: %s" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "Mehrere Build-Artefakte gefunden: '%[1]s' und '%[2]s'" @@ -3530,7 +3557,7 @@ msgstr "" msgid "no instance specified" msgstr "Keine Instanz angegeben" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "Kein Sketch oder Build-Verzeichnis/Datei angegeben" @@ -3544,7 +3571,7 @@ msgstr "" "Kein eindeutiges Stammverzeichnis im Archiv, gefunden wurde: '%[1]s' und " "'%[2]s'" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "Kein Upload-Port vorhanden" @@ -3566,7 +3593,7 @@ msgstr "kein FQBN: %s" msgid "not running in a terminal" msgstr "Läuft nicht in einem Terminal" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "Archivdatei öffnen: %s" @@ -3625,7 +3652,7 @@ msgstr "Plattform ist für dieses Betriebssystem nicht verfügbar" msgid "platform not installed" msgstr "Plattform nicht installiert" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "Bitte verwende stattdessen --build-property." @@ -3637,7 +3664,7 @@ msgstr "Pluggable discovery bereits hinzugefügt: %s" msgid "port" msgstr "Port" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "Port nicht gefunden: %[1]s %[2]s" @@ -3700,7 +3727,7 @@ msgstr "Lese Paketstammverzeichnis: %s" msgid "reading sketch files" msgstr "Sketch-Dateien lesen" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "Rezept nicht gefunden '%s'" @@ -3772,11 +3799,11 @@ msgstr "Starte Discovery %s" msgid "testing archive checksum: %s" msgstr "Prüfung der Archivprüfsumme: %s" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "Archivgröße wird getestet: %s" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "Prüfe, ob das Archiv zwischengespeichert ist: %s" @@ -3876,7 +3903,7 @@ msgstr "unbekannte Plattform %s:%s" msgid "unknown sketch file extension '%s'" msgstr "Unbekannte Sketch-Dateierweiterung '%s'" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "Nicht unterstützter Hash-Algorithmus: %s" @@ -3888,7 +3915,7 @@ msgstr "Aktualisiere arduino:samd auf die neueste Version" msgid "upgrade everything to the latest version" msgstr "Aktualisiere alles auf die neueste Version" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "Hochladefehler: %s" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index fb9aa2f3109..53863b5c4f3 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -33,7 +33,7 @@ msgstr "%[1]s inválido, reconstruyendo todo" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s es requerido pero %[2]s está actualmente instalado." -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "No se encuentra patrón %[1]s" @@ -41,7 +41,7 @@ msgstr "No se encuentra patrón %[1]s" msgid "%s already downloaded" msgstr "%s ya está descargado" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s y %s no se pueden usar juntos" @@ -62,6 +62,10 @@ msgstr "%s no es un directorio" msgid "%s is not managed by package manager" msgstr "%s no es manejado por el administrador de paquetes" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s debe ser instalado." @@ -166,7 +170,7 @@ msgstr "Ocurrió un error añadiendo prototipos" msgid "An error occurred detecting libraries" msgstr "Ocurrió un error detectando librerías" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "Registro de depuración añadido al archivo especificado" @@ -246,7 +250,7 @@ msgstr "Disponible" msgid "Available Commands:" msgstr "Comandos disponibles:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "Archivo binario para cargar." @@ -267,11 +271,11 @@ msgstr "Versión de la placa:" msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichero Bootloader especificado pero ausente: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" -"La compilaciones de 'core.a' e guardan en esta ruta para ser cacheadas y " -"reusadas" #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -299,19 +303,19 @@ msgstr "No es posible abrir el sketch" msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "No se puede crear el directorio de caché de compilación" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "No se puede crear el directorio de caché de compilación" @@ -357,7 +361,7 @@ msgstr "No se puede instalar la plataforma" msgid "Cannot install tool %s" msgstr "No se puede instalar la herramienta %s" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "No se puede realizar el reinicio del puerto: %s" @@ -378,7 +382,7 @@ msgstr "Categoría: %s" msgid "Check dependencies status for the specified library." msgstr "Comprueba el estado de las dependencias de la librería especificada." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -407,7 +411,7 @@ msgstr "" "El comando sigue ejecutándose e imprime la lista de placas conectadas cada " "vez que hay un cambio." -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "Proyecto compilado no encontrado en %s" @@ -415,11 +419,11 @@ msgstr "Proyecto compilado no encontrado en %s" msgid "Compiles Arduino sketches." msgstr "Compila los sketch de Arduino" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "Compilando el núcleo..." -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "Compilando librerías..." @@ -427,7 +431,7 @@ msgstr "Compilando librerías..." msgid "Compiling library \"%[1]s\"" msgstr "Compilando librería \"%[1]s\"" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "Compilando el sketch..." @@ -442,11 +446,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "Archivo de configuración escrito en: %s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "Opciones de configuración para %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -464,7 +468,7 @@ msgstr "" msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -476,7 +480,7 @@ msgstr "Núcleo" msgid "Could not connect via HTTP" msgstr "No se pudo conectar vía HTTP" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "No se ha podido crear el directorio índice." @@ -496,7 +500,7 @@ msgstr "No se ha podido obtener el directorio de trabajo actual: %v" msgid "Create a new Sketch" msgstr "Crear un nuevo Sketch" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "" @@ -512,13 +516,13 @@ msgstr "" "Crea o actualiza el archivo de configuración en el directorio de datos o " "directorio personalizado con los ajustes actuales." -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -527,28 +531,28 @@ msgstr "" msgid "DEPRECATED" msgstr "OBSOLETO" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "Depurar sketches de Arduino." -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Intérprete de depuración e.j.: %s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "Depuración no soportada para la tarjeta: %s" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "Por defecto" @@ -596,11 +600,11 @@ msgid "" msgstr "" "Detecta y muestra una lista de placas conectadas al computador actual." -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "La carpeta contiene archivos binarios para la depuración." -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "La carpeta contiene archivos binarias para subir." @@ -620,7 +624,7 @@ msgstr "" msgid "Disconnected" msgstr "Desconectado" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "" @@ -636,12 +640,12 @@ msgstr "No sobrescribir librerías ya instaladas." msgid "Do not overwrite already installed platforms." msgstr "No sobrescribir plataformas ya instaladas." -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" @@ -657,8 +661,8 @@ msgstr "Descargando %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Descargando el índice: %s" @@ -693,7 +697,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "Descarga una o más librerías sin instalarlas." -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -725,11 +729,11 @@ msgstr "Error calculando la ruta de archivo relativa" msgid "Error cleaning caches: %v" msgstr "Error limpiando caches: %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "Error copiando el archivo de salida %s" @@ -743,7 +747,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Error creando la instancia: %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "Error al crear el directorio de salida" @@ -768,7 +772,7 @@ msgstr "Error al descargar %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Error descargando %s" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Error descargando el índice '%s'" @@ -790,7 +794,7 @@ msgstr "Error descargando la plataforma %s" msgid "Error downloading tool %s" msgstr "Error descargando la herramienta %s" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "" @@ -798,18 +802,18 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "" @@ -830,11 +834,11 @@ msgstr "Error durante la actualización: %v" msgid "Error extracting %s" msgstr "Error extrayendo %s" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" @@ -851,13 +855,13 @@ msgid "Error getting current directory for compilation database: %s" msgstr "" "Error obteniendo el directorio actual para la base de datos de compilación%s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Error obteniendo información para la librería %s" @@ -865,15 +869,15 @@ msgstr "Error obteniendo información para la librería %s" msgid "Error getting libraries info: %v" msgstr "Error obteniendo información de las librerías: %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" @@ -933,19 +937,19 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" @@ -991,7 +995,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1047,7 +1051,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1063,11 +1067,11 @@ msgstr "" msgid "Examples:" msgstr "Ejemplos:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1081,15 +1085,15 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "Borrado del chip fallida" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "" @@ -1101,23 +1105,23 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "" @@ -1135,7 +1139,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" @@ -1214,7 +1218,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variables globales usan %[1]s bytes de memoria dinamica." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1227,7 +1231,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Propiedades de identificación:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1296,7 +1300,7 @@ msgstr "" msgid "Invalid FQBN" msgstr "FQBN inválido" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1318,7 +1322,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "" @@ -1330,7 +1334,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1350,7 +1354,7 @@ msgstr "Librería inválida" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1362,7 +1366,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1398,7 +1402,7 @@ msgstr "Versión inválida" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1466,7 +1470,7 @@ msgstr "Librería instalada" msgid "License: %s" msgstr "Licencia: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "" @@ -1490,7 +1494,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1530,7 +1534,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1569,7 +1573,7 @@ msgstr "Falta el protocolo del puerto" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1585,7 +1589,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "Monitor '%s' no encontrado" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "" @@ -1603,7 +1607,7 @@ msgstr "Nombre" msgid "Name: \"%s\"" msgstr "Nombre: \"%s\"" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1655,7 +1659,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "No hay plataformas que coincidan con su búsqueda." -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1687,7 +1691,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Abre un puerto de comunicación con una placa." @@ -1695,40 +1699,53 @@ msgstr "Abre un puerto de comunicación con una placa." msgid "Option:" msgstr "Opción:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" @@ -1770,17 +1787,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1790,13 +1807,13 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" @@ -1809,7 +1826,7 @@ msgstr "La plataforma %s ya está instalada" msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1831,7 +1848,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1879,7 +1896,7 @@ msgstr "" msgid "Port" msgstr "Puerto" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "Puerto cerrado: %v" @@ -1896,7 +1913,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1964,11 +1981,11 @@ msgstr "Reemplazando plataforma %[1]s con %[2]s" msgid "Required tool:" msgstr "Herramienta requerida:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1985,11 +2002,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "" @@ -2066,7 +2083,7 @@ msgstr "" msgid "Sentence: %s" msgstr "Sentencia: %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2074,15 +2091,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "El servidor respondió con: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2102,11 +2119,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "" @@ -2118,7 +2139,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Muestra todos los núcleos disponibles." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "" @@ -2150,7 +2171,7 @@ msgstr "Mostrar solo los nombres de la librería." msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2201,7 +2222,7 @@ msgstr "" msgid "Size (bytes):" msgstr "Tamaño (bytes):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2237,7 +2258,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2270,7 +2291,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" @@ -2278,7 +2299,7 @@ msgstr "" msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2290,15 +2311,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2322,13 +2349,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2338,7 +2365,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2364,7 +2391,7 @@ msgstr "" "Este comando muestra una lista de los núcleos o librerías instaladas\n" "que pueden ser actualizadas. Si ninguno necesita ser actualizado no se mostrará nada." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2381,23 +2408,23 @@ msgstr "La herramienta %s se desinstaló" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "Habilitar el modo verbose." @@ -2435,7 +2462,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2526,7 +2553,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2534,7 +2561,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "Subir el binario después de la compilación." @@ -2546,7 +2573,7 @@ msgstr "Cargar el bootloader en la placa usando un programador externo." msgid "Upload the bootloader." msgstr "Cargar el bootloader." -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2565,11 +2592,11 @@ msgstr "Uso:" msgid "Use %s for more information about a command." msgstr "Use %spara más información acerca de un comando." -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2577,7 +2604,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Usado: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2585,15 +2612,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2629,16 +2656,16 @@ msgstr "VERSIÓN" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2660,7 +2687,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2673,11 +2700,11 @@ msgstr "" "y puede ser incompatible con tu actual tarjeta la cual corre sobre " "arquitectura(s) %[3]s." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2696,11 +2723,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2732,7 +2759,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2764,7 +2791,7 @@ msgstr "" msgid "candidates" msgstr "Candidatos" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2790,7 +2817,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2806,7 +2833,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -2900,7 +2927,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -2928,7 +2955,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -2978,12 +3005,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -3022,11 +3049,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3070,7 +3097,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3078,7 +3105,7 @@ msgstr "" msgid "invalid item %s" msgstr "ítem inválido %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3110,15 +3137,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3126,15 +3153,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3153,7 +3180,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "" @@ -3241,7 +3268,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3249,11 +3276,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3287,7 +3314,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3305,7 +3332,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3317,7 +3344,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3337,7 +3364,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3396,7 +3423,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3408,7 +3435,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3471,7 +3498,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3542,11 +3569,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3643,7 +3670,7 @@ msgstr "" msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3655,7 +3682,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index 2ff9446feee..b4947c42dab 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -29,7 +29,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s est un schéma manquant" @@ -37,7 +37,7 @@ msgstr "%[1]s est un schéma manquant" msgid "%s already downloaded" msgstr "%s déjà téléchargé" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%set%sne peuvent pas être téléchargé." @@ -58,6 +58,10 @@ msgstr "" msgid "%s is not managed by package manager" msgstr "" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" @@ -158,7 +162,7 @@ msgstr "" msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "" @@ -238,7 +242,7 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "" @@ -259,8 +263,10 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichier du bootloader spécifié mais absent: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" #: internal/arduino/resources/index.go:65 @@ -289,19 +295,19 @@ msgstr "" msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "" @@ -347,7 +353,7 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "" @@ -368,7 +374,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -394,7 +400,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "Croquis compilé introuvable %s" @@ -402,11 +408,11 @@ msgstr "Croquis compilé introuvable %s" msgid "Compiles Arduino sketches." msgstr "Compilation des croquis Arduino." -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "" @@ -414,7 +420,7 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "Compilation du croquis..." @@ -427,11 +433,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -449,7 +455,7 @@ msgstr "" msgid "Connected" msgstr "Connecté" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -461,7 +467,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -481,7 +487,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "" @@ -495,13 +501,13 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -510,28 +516,28 @@ msgstr "" msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "Défaut" @@ -578,11 +584,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "" @@ -600,7 +606,7 @@ msgstr "" msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "" @@ -616,12 +622,12 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" @@ -637,8 +643,8 @@ msgstr "Téléchargement %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" @@ -671,7 +677,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -703,11 +709,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "" @@ -721,7 +727,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "" @@ -746,7 +752,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -768,7 +774,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "" @@ -776,18 +782,18 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "" @@ -808,11 +814,11 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" @@ -828,13 +834,13 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -842,15 +848,15 @@ msgstr "" msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" @@ -910,19 +916,19 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" @@ -968,7 +974,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1024,7 +1030,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1040,11 +1046,11 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1058,15 +1064,15 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "" @@ -1078,23 +1084,23 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "" @@ -1112,7 +1118,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" @@ -1192,7 +1198,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Les variables globales utilisent %[1]s octets de mémoire dynamique." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1205,7 +1211,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1274,7 +1280,7 @@ msgstr "" msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1296,7 +1302,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "" @@ -1308,7 +1314,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1328,7 +1334,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1340,7 +1346,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1376,7 +1382,7 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1443,7 +1449,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "" @@ -1467,7 +1473,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1508,7 +1514,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1547,7 +1553,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1563,7 +1569,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "" @@ -1581,7 +1587,7 @@ msgstr "" msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1631,7 +1637,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1663,7 +1669,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" @@ -1671,40 +1677,53 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" @@ -1746,17 +1765,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1766,13 +1785,13 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" @@ -1785,7 +1804,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1807,7 +1826,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1855,7 +1874,7 @@ msgstr "" msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "" @@ -1872,7 +1891,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1940,11 +1959,11 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1961,11 +1980,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "" @@ -2040,7 +2059,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2048,15 +2067,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2076,11 +2095,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "" @@ -2092,7 +2115,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "" @@ -2124,7 +2147,7 @@ msgstr "" msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2173,7 +2196,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2209,7 +2232,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2242,7 +2265,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" @@ -2250,7 +2273,7 @@ msgstr "" msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2262,15 +2285,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2294,13 +2323,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2310,7 +2339,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2334,7 +2363,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2351,23 +2380,23 @@ msgstr "" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "" @@ -2405,7 +2434,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2494,7 +2523,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2502,7 +2531,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "" @@ -2514,7 +2543,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2533,11 +2562,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2545,7 +2574,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilisé: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2553,15 +2582,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2600,16 +2629,16 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2631,7 +2660,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2644,11 +2673,11 @@ msgstr "" "architecture(s) %[2]s et peut être incompatible avec votre carte actuelle " "qui s'exécute sur %[3]s." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2667,11 +2696,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2703,7 +2732,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2735,7 +2764,7 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2761,7 +2790,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2777,7 +2806,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -2871,7 +2900,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -2899,7 +2928,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -2949,12 +2978,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -2993,11 +3022,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3041,7 +3070,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3049,7 +3078,7 @@ msgstr "" msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3081,15 +3110,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3097,15 +3126,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3124,7 +3153,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "" @@ -3212,7 +3241,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3220,11 +3249,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3258,7 +3287,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3276,7 +3305,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3288,7 +3317,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3308,7 +3337,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3367,7 +3396,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3379,7 +3408,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3442,7 +3471,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3513,11 +3542,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3614,7 +3643,7 @@ msgstr "plateforme inconnue %s:%s" msgid "unknown sketch file extension '%s'" msgstr "extension de croquis inconnue '%s' " -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "algorithme de hachage non supporté" @@ -3626,7 +3655,7 @@ msgstr "mise à jour de arduino:samd vers la dernière version" msgid "upgrade everything to the latest version" msgstr "tout mettre à jour tout vers la dernière version" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index 3e7a8ad6f50..98dfd9c2d05 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -25,7 +25,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s תבנית חסרה" @@ -33,7 +33,7 @@ msgstr "%[1]s תבנית חסרה" msgid "%s already downloaded" msgstr "" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "" @@ -54,6 +54,10 @@ msgstr "%s אינו תיקייה" msgid "%s is not managed by package manager" msgstr "%s אינו מנוהל על ידי מנהל ההתקנות" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" @@ -154,7 +158,7 @@ msgstr "" msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "" @@ -234,7 +238,7 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "" @@ -255,8 +259,10 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" #: internal/arduino/resources/index.go:65 @@ -285,19 +291,19 @@ msgstr "" msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "" @@ -343,7 +349,7 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "" @@ -364,7 +370,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -390,7 +396,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "" @@ -398,11 +404,11 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "" @@ -410,7 +416,7 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "" @@ -423,11 +429,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +451,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -457,7 +463,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -477,7 +483,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "" @@ -491,13 +497,13 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -506,28 +512,28 @@ msgstr "" msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "" @@ -574,11 +580,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "" @@ -596,7 +602,7 @@ msgstr "" msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "" @@ -612,12 +618,12 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" @@ -633,8 +639,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" @@ -667,7 +673,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -699,11 +705,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "" @@ -717,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "" @@ -742,7 +748,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -764,7 +770,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "" @@ -772,18 +778,18 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "" @@ -804,11 +810,11 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" @@ -824,13 +830,13 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -838,15 +844,15 @@ msgstr "" msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" @@ -906,19 +912,19 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" @@ -964,7 +970,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1020,7 +1026,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1036,11 +1042,11 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1054,15 +1060,15 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "" @@ -1074,23 +1080,23 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "" @@ -1108,7 +1114,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" @@ -1185,7 +1191,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1198,7 +1204,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1289,7 +1295,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "" @@ -1301,7 +1307,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1321,7 +1327,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1333,7 +1339,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1369,7 +1375,7 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1436,7 +1442,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "" @@ -1460,7 +1466,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1499,7 +1505,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1538,7 +1544,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1554,7 +1560,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "" @@ -1572,7 +1578,7 @@ msgstr "" msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1622,7 +1628,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1652,7 +1658,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" @@ -1660,40 +1666,53 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" @@ -1735,17 +1754,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1755,13 +1774,13 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" @@ -1774,7 +1793,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1796,7 +1815,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1844,7 +1863,7 @@ msgstr "" msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "" @@ -1861,7 +1880,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1929,11 +1948,11 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1950,11 +1969,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "" @@ -2029,7 +2048,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2037,15 +2056,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2065,11 +2084,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "" @@ -2081,7 +2104,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "" @@ -2113,7 +2136,7 @@ msgstr "" msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2162,7 +2185,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2196,7 +2219,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2229,7 +2252,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" @@ -2237,7 +2260,7 @@ msgstr "" msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2249,15 +2272,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2281,13 +2310,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2297,7 +2326,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2321,7 +2350,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2338,23 +2367,23 @@ msgstr "" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "" @@ -2392,7 +2421,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2481,7 +2510,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2489,7 +2518,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "" @@ -2501,7 +2530,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2520,11 +2549,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2532,7 +2561,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2540,15 +2569,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2584,16 +2613,16 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2615,7 +2644,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2625,11 +2654,11 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2648,11 +2677,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2684,7 +2713,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2716,7 +2745,7 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2742,7 +2771,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2758,7 +2787,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -2852,7 +2881,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -2880,7 +2909,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -2930,12 +2959,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -2974,11 +3003,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3022,7 +3051,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3030,7 +3059,7 @@ msgstr "" msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3062,15 +3091,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3078,15 +3107,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3105,7 +3134,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "" @@ -3193,7 +3222,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3201,11 +3230,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3239,7 +3268,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3257,7 +3286,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3269,7 +3298,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3289,7 +3318,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3348,7 +3377,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3360,7 +3389,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3423,7 +3452,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3494,11 +3523,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3595,7 +3624,7 @@ msgstr "" msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3607,7 +3636,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index 0b6d5921f12..6683cdc2b19 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -34,7 +34,7 @@ msgstr "%[1]s non è valido, ricompilo tutto" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s è richiesto ma %[2]s risulta attualmente installato." -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "Manca il pattern %[1]s" @@ -42,7 +42,7 @@ msgstr "Manca il pattern %[1]s" msgid "%s already downloaded" msgstr " %s già scaricato" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s e %s non possono essere usati insieme" @@ -63,6 +63,10 @@ msgstr "%s non è una directory" msgid "%s is not managed by package manager" msgstr "%s non è gestito dal gestore pacchetti" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "%s deve essere >= 1024" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s deve essere installato." @@ -170,7 +174,7 @@ msgstr "Si è verificato un errore durante l'aggiunta di un prototipo" msgid "An error occurred detecting libraries" msgstr "Si è verificato un errore durante il rilevamento delle librerie" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "Aggiungi il log di debug in coda al file specificato" @@ -254,7 +258,7 @@ msgstr "Disponibile" msgid "Available Commands:" msgstr "Comandi disponibili:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "File binario da caricare." @@ -275,11 +279,13 @@ msgstr "Versione scheda:" msgid "Bootloader file specified but missing: %[1]s" msgstr "Il file del bootloader specificato è inesistente: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" -"Le build di 'core.a' vengono salvate in questo percorso per essere " -"memorizzate nella cache e riutilizzate." +"Le build di core e degli sketch vengono salvate in questo percorso per " +"essere poi memorizzate nella cache e riutilizzate." #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -307,19 +313,19 @@ msgstr "Non è possibile aprire lo sketch" msgid "Can't update sketch" msgstr "Impossibile aggiornare lo sketch" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "Non è possibile utilizzare insieme i seguenti flag: %s" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "Non è possibile scrivere il log di debug: %s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "Non è possibile creare la directory di build della cache." -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "Non è possibile creare la directory per la build" @@ -366,7 +372,7 @@ msgstr "Non è possibile installare la piattaforma" msgid "Cannot install tool %s" msgstr "Non è possibile installare il tool %s" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "Non è possibile effettuare il reset della porta: %s" @@ -387,7 +393,7 @@ msgstr "Categoria: %s" msgid "Check dependencies status for the specified library." msgstr "Controllare lo stato delle dipendenze per la libreria specificata." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" "Controlla se la combinazione fornita scheda/programmatore supporta il debug." @@ -417,7 +423,7 @@ msgstr "" "Il comando continua a funzionare e stampa l'elenco delle schede collegate " "ogni volta che viene apportata una modifica." -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "Sketch compilato non trovato in %s" @@ -425,11 +431,11 @@ msgstr "Sketch compilato non trovato in %s" msgid "Compiles Arduino sketches." msgstr "Compila gli sketch di Arduino." -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "Compilazione del core in corso..." -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "Compilazione delle librerie in corso..." @@ -437,7 +443,7 @@ msgstr "Compilazione delle librerie in corso..." msgid "Compiling library \"%[1]s\"" msgstr "Compilazione della libreria \"%[1]s\"" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "Compilazione dello sketch in corso..." @@ -452,11 +458,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "File di configurazione scritto in: %s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "Opzioni di configurazione per %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -476,7 +482,7 @@ msgstr "Strumento di configurazione." msgid "Connected" msgstr "Connesso" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Connessione in corso a %s. Premere CTRL-C per uscire." @@ -488,7 +494,7 @@ msgstr "Core" msgid "Could not connect via HTTP" msgstr "Non è possibile connettersi via HTTP" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "Impossibile creare la directory dell'indice" @@ -509,7 +515,7 @@ msgstr "Impossibile ottenere la cartella di lavoro corrente: %v" msgid "Create a new Sketch" msgstr "Crea un nuovo Sketch" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "Crea e stampa una configurazione del profilo dalla build." @@ -525,7 +531,7 @@ msgstr "" "Crea o aggiorna il file di configurazione nella directory dei dati o nella " "directory personalizzata con le impostazioni di configurazione correnti." -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -533,7 +539,7 @@ msgstr "" "Attualmente, i profili di compilazione supportano solo le librerie " "disponibili tramite Arduino Library Manager." -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "Configurazione personalizzata di %s:" @@ -542,30 +548,30 @@ msgstr "Configurazione personalizzata di %s:" msgid "DEPRECATED" msgstr "DEPRECATO" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "Deamon è ora in ascolto su %s:%s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "Eseguire il debug degli sketch di Arduino" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Eseguire il debug degli sketch di Arduino. (questo comando apre una sessione" " gdb interattiva)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Interprete di debug, ad esempio: %s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "Debugging non supportato per la scheda %s" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "Predefinito" @@ -616,11 +622,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Rileva e visualizza un elenco di schede collegate al computer." -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "Directory contenente i binari per il debug." -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "Directory contenente i file binari da caricare." @@ -641,7 +647,7 @@ msgstr "" msgid "Disconnected" msgstr "Disconnesso" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "Visualizza solo le chiamate gRPC fornite" @@ -657,13 +663,13 @@ msgstr "Non sovrascrivere le librerie già installate." msgid "Do not overwrite already installed platforms." msgstr "Non sovrascrivere le piattaforme già installate." -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" "Non eseguire il caricamento vero e proprio, ma solo le azioni di logout." -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "Non terminare il processo del demone se il processo principale muore" @@ -681,8 +687,8 @@ msgstr "Sto scaricando %s" msgid "Downloading index signature: %s" msgstr "Sto scaricando la firma dell'indice: %s" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Sto scaricando l'indice: %s" @@ -715,7 +721,7 @@ msgstr "Scarica uno o più core e le corrispondenti dipendenze dei tool." msgid "Downloads one or more libraries without installing them." msgstr "Scarica uno o più librerie, senza installarle." -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "Abilita il debug logging delle chiamate gRPC" @@ -752,13 +758,13 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "Si è verificato un errore durante la pulizia della cache: %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" "Si è verificato un errore durante la conversione del percorso in assoluto:: " "%v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "Si è verificato un errore durante la copia del file di output %s" @@ -773,7 +779,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Si è verificato un errore durante la creazione dell'istanza: %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "" "Si è verificato un errore durante la creazione della cartella di output" @@ -800,7 +806,7 @@ msgstr "Si è verificato un errore durante lo scaricamento di %[1]s:%[2]v" msgid "Error downloading %s" msgstr "Si è verificato un errore durante lo scaricamento di %s" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Si è verificato un errore durante lo scaricamento dell'indice '%s'" @@ -824,7 +830,7 @@ msgstr "Errore durante il download della piattaforma %s" msgid "Error downloading tool %s" msgstr "Errore durante il download del tool %s" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "Errore durante il debug: %v" @@ -832,18 +838,18 @@ msgstr "Errore durante il debug: %v" msgid "Error during JSON encoding of the output: %v" msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "Si è verificato un errore durante il rilevamento della scheda" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "Si è verificato un errore durante la compilazione: %v" @@ -864,12 +870,12 @@ msgstr "Si è verificato un errore durante l'aggiornamento: %v" msgid "Error extracting %s" msgstr "Si è verificato un errore durante l'estrazione di %s" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" "Si è verificato un errore durante la ricerca degli artefatti di compilazione" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni di " @@ -891,7 +897,7 @@ msgstr "" "Si è verificato un errore durante l'acquisizione della directory corrente " "per il database di compilazione: %s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" @@ -900,7 +906,7 @@ msgstr "" "`sketch.yaml`. Controllare se la cartella degli sketch è corretta oppure " "utilizzare il flag --port:: %s" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni della " @@ -910,19 +916,19 @@ msgstr "" msgid "Error getting libraries info: %v" msgstr "Impossibile ottenere le informazioni sulle librerie: %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" "Si è verificato un errore durante l'acquisizione dei metadati della porta: " "%v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" "Si è verificato un errore durante l'acquisizione dei dettagli delle " "impostazioni della porta: %s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" "Si è verificato un errore durante la ricezione dell'input da parte " @@ -991,23 +997,23 @@ msgstr "Si è verificato un errore durante il caricamento dell'indice %s" msgid "Error opening %s" msgstr "Si è verificato un errore durante l'apertura di %s" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" "Si è verificato un errore durante l'apertura del file di log di debug: %s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" "Si è verificato un errore durante l'apertura del codice sorgente che " "sovrascrive i file: %v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" "Si è verificato un errore durante il parsing del flag --show-properties: %v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" "Si è verificato un errore durante la lettura della directory di compilazione" @@ -1062,7 +1068,7 @@ msgstr "" "Si è verificato un errore durante la serializzazione del database di " "compilazione: %s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "Errore di impostazione della modalità raw: %s" @@ -1127,7 +1133,7 @@ msgstr "Si è verificato un errore durante la scrittura del file: %v" msgid "Error: command description is not supported by %v" msgstr "Errore: la descrizione del comando non è supportata da %v" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "Errore: il codice sorgente non è valido e sovrascrive i dati: %v" @@ -1143,11 +1149,11 @@ msgstr "Esempi della libreria %s" msgid "Examples:" msgstr "Esempi:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "Eseguibile per il debug" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Ci si aspettava che lo sketch compilato fosse nella directory %s, invece è " @@ -1163,15 +1169,15 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "Impossibile cancellare il chip" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "Programmazione non riuscita" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "Impossibile masterizzare il bootloader" @@ -1183,26 +1189,26 @@ msgstr "Impossibile creare la directory dei dati" msgid "Failed to create downloads directory" msgstr "Impossibile creare la directory degli scaricamenti" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s non è una porta valida." -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. %[2]s è un nome sconosciuto." -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" "Impossibile ascoltare sulla porta TCP: %[1]s. Errore imprevisto: %[2]v" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Impossibile ascoltare sulla porta TCP: %s. L'indirizzo è già in uso." -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "Caricamento non riuscito" @@ -1222,7 +1228,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "Il primo messaggio deve contenere la richiesta di debug, non i dati." -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "Il flag %[1]s è obbligatorio se usato insieme a: %[2]s" @@ -1310,7 +1316,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Le variabili globali usano %[1]s byte di memoria dinamica." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1323,7 +1329,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Proprietà identificative:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "Se impostato, i binari saranno esportati nella cartella degli sketch." @@ -1395,7 +1401,7 @@ msgstr "La proprietà '%[1]s' non è valida: %[2]s" msgid "Invalid FQBN" msgstr "FQBN non è valido" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "Indirizzo TCP non valido: manca la porta" @@ -1418,7 +1424,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "L' argomento passato non è valido: %v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "Proprietà di compilazione non valide" @@ -1430,7 +1436,7 @@ msgstr "La dimensione dei dati della regexp non è valida: %s" msgid "Invalid eeprom size regexp: %s" msgstr "La dimensione della eeprom della regexp non è valida: %s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "URL non valido: %s" @@ -1450,7 +1456,7 @@ msgstr "Libreria non è valida" msgid "Invalid logging level: %s" msgstr "Livello di log non valido: %s" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "Configurazione di rete non valida: %s" @@ -1462,7 +1468,7 @@ msgstr "network.proxy '%[1]s' non è valido: %[2]s" msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "Indice del pacchetto non valido in %s" @@ -1498,7 +1504,7 @@ msgstr "Versione non è valida" msgid "Invalid vid value: '%s'" msgstr "Il valore di vid non è valido: '%s'" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1570,7 +1576,7 @@ msgstr "La libreria è stata installata" msgid "License: %s" msgstr "Licenza: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "Collegare tutto insieme..." @@ -1598,7 +1604,7 @@ msgstr "" "Elenco delle opzioni della scheda separate da virgole. Oppure può essere " "usato più volte per più opzioni." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1640,7 +1646,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "Manutentore: %s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1684,7 +1690,7 @@ msgstr "Manca il protocollo della porta" msgid "Missing programmer" msgstr "Manca il programmatore" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "Manca un campo obbligatorio del caricamento: %s" @@ -1700,7 +1706,7 @@ msgstr "Manca il percorso dello sketch" msgid "Monitor '%s' not found" msgstr "Impossibile trovare il monitor '%s'" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "Impostazioni sulla porta del monitor:" @@ -1718,7 +1724,7 @@ msgstr "Nome" msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "Nuova porta di caricamento: %[1]s (%[2]s)" @@ -1770,7 +1776,7 @@ msgstr "Nessuna piattaforma installata." msgid "No platforms matching your search." msgstr "Non ci sono piattaforme corrispondenti alla tua ricerca." -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" "Non è stata trovata alcuna porta di upload, come alternativa verrà " @@ -1805,7 +1811,7 @@ msgstr "" "Omette i dettagli della libreria per tutte le versioni tranne la più recente" " (produce un output JSON più compatto)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Apre una porta di comunicazione con una scheda." @@ -1813,35 +1819,35 @@ msgstr "Apre una porta di comunicazione con una scheda." msgid "Option:" msgstr "Opzione:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Facoltativo, può essere: %s. Utilizzato per indicare a gcc quale livello di " "warning utilizzare (flag -W)." -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Facoltativo, ripulisce la cartella di build e non usa nessuna build in " "cache." -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Facoltativo, ottimizza l'output di compilazione per il debug, piuttosto che " "per il rilascio." -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "Facoltativo, sopprime quasi tutti gli output." -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Facoltativo, attiva la modalità verbosa." -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1849,7 +1855,7 @@ msgstr "" "Facoltativo. Percorso di un file .json che contiene una serie di " "sostituzioni del codice sorgente dello sketch." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1857,6 +1863,23 @@ msgstr "" "Sovrascrive una proprietà di build con un valore personalizzato. Può essere " "usato più volte per più proprietà." +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" +"Sovrascrive una proprietà di debug con un valore personalizzato. Può essere " +"usato più volte per più proprietà." + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" +"Sovrascrive una proprietà di caricamento con un valore personalizzato. Può " +"essere usato più volte per più proprietà." + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "Sovrascrivi la configurazione corrente del file." @@ -1898,11 +1921,11 @@ msgstr "Website pacchetto:" msgid "Paragraph: %s" msgstr "Paragrafo: %s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "Percorso" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1910,7 +1933,7 @@ msgstr "" "Percorso di un gruppo di librerie. Può essere usato più volte o le voci " "possono essere separate da virgole." -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1922,7 +1945,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Percorso del file in cui verranno scritti i log." -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1930,7 +1953,7 @@ msgstr "" "Percorso in cui salvare i file compilati. Se omesso, verrà creata una " "directory nel percorso temporaneo predefinito del tuo sistema operativo." -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Esecuzione di un touch reset a 1200-bps sulla porta seriale %s" @@ -1943,7 +1966,7 @@ msgstr "La piattaforma %s è già installata" msgid "Platform %s installed" msgstr "La piattaforma %s è installata" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1967,7 +1990,7 @@ msgstr "Impossibile trovare la piattaforma '%s'" msgid "Platform ID" msgstr "ID piattaforma" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "L' ID della piattaforma non è esatto" @@ -2019,7 +2042,7 @@ msgstr "" msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "Porta chiusa: %v" @@ -2036,7 +2059,7 @@ msgstr "Impossibile trovare la libreria precompilata in \"%[1]s\"" msgid "Print details about a board." msgstr "Visualizza i dettagli di una scheda." -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Stampa il codice preelaborato su stdout invece di compilarlo." @@ -2104,12 +2127,12 @@ msgstr "Sto sostituendo la piattaforma %[1]s con %[2]s" msgid "Required tool:" msgstr "Tool richiesto:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Avvio in modalità silenziosa, mostra solo l'ingresso e l'uscita del monitor." -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "Avvia la CLI di Arduino come demone gRPC." @@ -2126,11 +2149,11 @@ msgstr "Sto avviando lo script pre_uninstall." msgid "SEARCH_TERM" msgstr "TERMINE_DI_RICERCA" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "Path del file SVD" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "Salva gli artefatti di compilazione in questa directory." @@ -2240,7 +2263,7 @@ msgstr "Cerca una o più biblioteche che corrispondono ad una ricerca." msgid "Sentence: %s" msgstr "Frase: %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "Path del server" @@ -2248,15 +2271,15 @@ msgstr "Path del server" msgid "Server responded with: %s" msgstr "Il server ha risposto con: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "Tipo di server" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "Imposta un valore per un campo richiesto dal caricamento." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "Imposta il terminale in modalità raw (non bufferizzata)." @@ -2281,11 +2304,17 @@ msgstr "" "porta, FQBN o programmatore, vengono visualizzati la porta, l'FQBN ed il " "programmatore predefiniti." +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" +"Imposta la dimensione massima del messaggio in byte che il demone può " +"ricevere" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "Imposta dove salvare il file di configurazione." -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "Impostazioni" @@ -2299,7 +2328,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Mostra tutte le versioni del core disponibili." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "Mostra tutte le impostazioni della porta di comunicazione." @@ -2337,7 +2366,7 @@ msgstr "Mostra solo i nomi delle librerie." msgid "Show list of available programmers" msgstr "Mostra l'elenco dei programmatori disponibili" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2396,7 +2425,7 @@ msgstr "Mostra il numero di versione di Arduino CLI." msgid "Size (bytes):" msgstr "Dimensione (bytes):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2438,7 +2467,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "Salta il linking dell'eseguibile finale." -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Salto il touch reset a 1200-bps: nessuna porta seriale è stata selezionata!" @@ -2473,7 +2502,7 @@ msgstr "Salta la configurazione dello strumento." msgid "Skipping: %[1]s" msgstr "Salta: %[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "Non è stato possibile aggiornare alcuni indici." @@ -2483,7 +2512,7 @@ msgstr "" "Alcuni aggiornamenti non sono andati a buon fine, controlla l'output per i " "dettagli." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "La porta TCP su cui il demone si metterà in ascolto" @@ -2497,15 +2526,24 @@ msgstr "" "Il file di configurazione personalizzato (se non specificato, verrà " "utilizzato quello predefinito)." -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" +"Il flag --build-cache-path è stato deprecato. Utilizzare solo --build-path " +"oppure configurare il percorso della build cache nelle impostazioni della " +"CLI di Arduino." + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "Il flag --debug-file deve essere usato con --debug." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "La configurazione fornita scheda/programmatore NON supporta il debug." -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "La configurazione fornita scheda/programmatore supporta il debug." @@ -2533,7 +2571,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "La libreria %s richiede altre installazioni:" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2542,7 +2580,7 @@ msgstr "" "crittografare un binario durante il processo di compilazione. Utilizzata " "solo dalle piattaforme che la supportano." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2555,7 +2593,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Il formato di output dei log può essere: %s" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2588,7 +2626,7 @@ msgstr "" "Questo comando mostra un elenco di core e/o librerie installate\n" "che possono essere aggiornate. Se non è necessario aggiornare nulla, l'output è vuoto." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "Timestamp di ogni linea in entrata." @@ -2605,23 +2643,23 @@ msgstr "Il tool %s è disinstallato" msgid "Toolchain '%s' is not supported" msgstr "La toolchain '%s' non è supportata" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "Il percorso della toolchain" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "Il prefisso della toolchain" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "Il tipo della toolchain" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Prova ad eseguire %s" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "Attiva la modalità verbosa." @@ -2661,7 +2699,7 @@ msgstr "Impossibile ottenere la home directory dell'utente: %v" msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "Non è stato possibile analizzare l'URL" @@ -2755,7 +2793,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Indirizzo della porta di caricamento, ad esempio: COM3 o /dev/ttyACM2" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "Porta di caricamento trovata su %s" @@ -2763,7 +2801,7 @@ msgstr "Porta di caricamento trovata su %s" msgid "Upload port protocol, e.g: serial" msgstr "Protocollo della porta di caricamento, ad esempio: seriale" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "Carica il binario dopo la compilazione." @@ -2776,7 +2814,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "Carica il bootloader." -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2799,11 +2837,11 @@ msgstr "Uso: " msgid "Use %s for more information about a command." msgstr "Usa %s per ulteriori informazioni su un comando." -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "Libreria utilizzata" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "Piattaforma utilizzata" @@ -2811,7 +2849,7 @@ msgstr "Piattaforma utilizzata" msgid "Used: %[1]s" msgstr "Usata: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo della scheda '%[1]s' dalla piattaforma nella cartella: %[2]s" @@ -2820,16 +2858,16 @@ msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Utilizzo delle dipendenze delle librerie nella cache per i file: %[1]s" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" "Utilizzo della configurazione predefinita del monitor della scheda: %s" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2867,16 +2905,16 @@ msgstr "VERSIONE" msgid "VERSION_NUMBER" msgstr "VERSION_NUMBER" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "Valori" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "Verifica dei binari dopo il caricamento." -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Versione" @@ -2898,7 +2936,7 @@ msgstr "ATTENZIONE non è possibile configurare lo strumento: %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "AVVISO non è possibile eseguire lo script pre_uninstall: %s" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ATTENZIONE: lo sketch è compilato utilizzando una o più librerie " @@ -2913,11 +2951,11 @@ msgstr "" "%[2]s e potrebbe non essere compatibile con la tua scheda che utilizza " "l'architettura %[3]s" -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "In attesa della porta di caricamento..." -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2940,12 +2978,12 @@ msgstr "" "Scrive la configurazione corrente nel file di configurazione nella directory" " dei dati." -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Non puoi utilizzare il flag %s durante la compilazione con un profilo." -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "L'hash dell'archivio è diverso dall'hash dell'indice" @@ -2981,7 +3019,7 @@ msgstr "ricerca di base per \"audio\"" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "ricerca di base per \"esp32\" e \"display\" limitata al manutentore ufficiale" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "file binario non trovato in %s" @@ -3013,7 +3051,7 @@ msgstr "Non riesco a trovare un pattern per il rilevamento con id %s" msgid "candidates" msgstr "candidati" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "Impossibile eseguire il tool di caricamento: %s" @@ -3039,7 +3077,7 @@ msgstr "il comando '%[1]s' non è andato a buon fine: %[2]s" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "comunicazione fuori sincronia, atteso '%[1]s', ricevuto '%[2]s'" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "calcolo dell'hash: %s" @@ -3055,7 +3093,7 @@ msgstr "Il valore della configurazione %s contiene un carattere non valido" msgid "copying library to destination directory:" msgstr "copia della libreria nella directory di destinazione:" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "impossibile trovare un artefatto di compilazione valido" @@ -3152,7 +3190,7 @@ msgstr "" msgid "error opening %s" msgstr "si è verificato un errore durante l'apertura di %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "si è verificato un errore durante il parsing dei vincoli di versione" @@ -3182,7 +3220,7 @@ msgstr "Impossibile calcolare l'hash del file \"%s\"" msgid "failed to initialize http client" msgstr "Impossibile inizializzare il client http" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" "La dimensione dell'archivio recuperato differisce dalla dimensione " @@ -3234,12 +3272,12 @@ msgstr "generazione in corso di installation.secret" msgid "getting archive file info: %s" msgstr "sto recuperando le informazioni sui file dell'archivio: %s" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "sto recuperando le informazioni sull'archivio: %s" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -3283,11 +3321,11 @@ msgid "interactive terminal not supported for the '%s' output format" msgstr "" "il terminale interattivo non è supportato per il formato dell'output '%s'" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "la direttiva '%s' non è valida" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "il formato del checksum non è valido: %s" @@ -3331,7 +3369,7 @@ msgstr "è stata trovata un'opzione vuota non valida" msgid "invalid git url" msgstr "url git non è valido" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "hash non valido '%[1]s': %[2]s" @@ -3339,7 +3377,7 @@ msgstr "hash non valido '%[1]s': %[2]s" msgid "invalid item %s" msgstr "elemento non valido %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "la direttiva della libreria non è valida:" @@ -3373,15 +3411,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "path non valido per la scrittura del file di inventario: errore %[1]s" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "la dimensione dell'archivio della piattaforma non è valida: %s" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "l'identificatore della piattaforma non è valido" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "URL dell'indice della piattaforma non è valido:" @@ -3389,15 +3427,15 @@ msgstr "URL dell'indice della piattaforma non è valido:" msgid "invalid pluggable monitor reference: %s" msgstr "il riferimento al monitor collegabile non è valido: %s" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "il valore di configurazione della porta non è valido per %s: %s" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" -msgstr "la configurazione della porta non è valida: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "configurazione della porta non valida: %s=%s" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "scrittura non valida '%[1]s': %[2]s" @@ -3419,7 +3457,7 @@ msgstr "il valore '%[1]s' non è valido per l'opzione '%[2]s'" msgid "invalid version directory %s" msgstr "la directory della versione non è valida %s" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "la versione non è valida:" @@ -3507,7 +3545,7 @@ msgstr "rilascio del tool di caricamento in %s" msgid "looking for boards.txt in %s" msgstr "sto cercando boards.txt in %s" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "ricerca degli artefatti di compilazione in corso" @@ -3515,11 +3553,11 @@ msgstr "ricerca degli artefatti di compilazione in corso" msgid "main file missing from sketch: %s" msgstr "il file principale manca dallo sketch: %s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "Manca la direttiva '%s'" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "manca il checksum di: %s" @@ -3557,7 +3595,7 @@ msgstr "release del monitor non è stata trovata: %s" msgid "moving extracted archive to destination dir: %s" msgstr "sto spostando l'archivio estratto nella directory di destinazione: %s" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "sono stati trovati più artefatti di compilazione: '%[1]s' e '%[2]s'" @@ -3577,7 +3615,7 @@ msgstr "" msgid "no instance specified" msgstr "non è stata specificata alcuna istanza" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "non è stata specificata alcuna directory/file di sketch o di build" @@ -3591,7 +3629,7 @@ msgstr "" "non c'è una directory radice unica nell'archivio, ma sono state trovate " "'%[1]s' e '%[2]s'." -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "Non è stata fornita alcuna porta di upload" @@ -3613,7 +3651,7 @@ msgstr "non è un FQBN: %s" msgid "not running in a terminal" msgstr "non è in esecuzione in un terminale" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "apertura del file di archivio: %s" @@ -3672,7 +3710,7 @@ msgstr "la piattaforma non è disponibile per il sistema operativo in uso" msgid "platform not installed" msgstr "piattaforma non installata" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "utilizza invece --build-property." @@ -3684,7 +3722,7 @@ msgstr "rilevamento collegabile già aggiunto: %s" msgid "port" msgstr "porta" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "la porta non è stata trovata: %[1]s %[2]s" @@ -3748,7 +3786,7 @@ msgstr "lettura della directory principale del pacchetto: %s" msgid "reading sketch files" msgstr "lettura degli sketch in corso" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "scrittura non trovata '%s'" @@ -3822,11 +3860,11 @@ msgstr "Avvio della rilevazione %s" msgid "testing archive checksum: %s" msgstr "verifica del checksum dell'archivio: %s" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "verifica delle dimensioni dell'archivio: %s" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "verifica se l'archivio è memorizzato nella cache: %s" @@ -3926,7 +3964,7 @@ msgstr "piattaforma sconosciuta %s:%s" msgid "unknown sketch file extension '%s'" msgstr "estensione sconosciuta per il file sketch \"%s\"" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "l'algoritmo dell'hash non è supportato: %s" @@ -3938,7 +3976,7 @@ msgstr "aggiorna arduino:samd all'ultima versione" msgid "upgrade everything to the latest version" msgstr "aggiornare tutto con l'ultima versione disponibile" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "errore durante il caricamento: %s" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 43d316cd7c5..8b3da0ff1f9 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -27,7 +27,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s パターンが見つかりません" @@ -35,7 +35,7 @@ msgstr "%[1]s パターンが見つかりません" msgid "%s already downloaded" msgstr "%sはすでにダウンロードされています" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%sと%sは同時に利用できません" @@ -56,6 +56,10 @@ msgstr "%sはディレクトリではありません" msgid "%s is not managed by package manager" msgstr "" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" @@ -156,7 +160,7 @@ msgstr "" msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "" @@ -236,7 +240,7 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "" @@ -257,8 +261,10 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "ブートローダのファイルが指定されましたが次が不足しています:%[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" #: internal/arduino/resources/index.go:65 @@ -287,19 +293,19 @@ msgstr "" msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "" @@ -345,7 +351,7 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "" @@ -366,7 +372,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -392,7 +398,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "" @@ -400,11 +406,11 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "" @@ -412,7 +418,7 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "スケッチをコンパイルしています..." @@ -425,11 +431,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -447,7 +453,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -459,7 +465,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -479,7 +485,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "" @@ -493,13 +499,13 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -508,28 +514,28 @@ msgstr "" msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "初期値" @@ -576,11 +582,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "" @@ -598,7 +604,7 @@ msgstr "" msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "" @@ -614,12 +620,12 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" @@ -635,8 +641,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" @@ -669,7 +675,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -701,11 +707,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "" @@ -719,7 +725,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "" @@ -744,7 +750,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -766,7 +772,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "" @@ -774,18 +780,18 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "" @@ -806,11 +812,11 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" @@ -826,13 +832,13 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -840,15 +846,15 @@ msgstr "" msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" @@ -908,19 +914,19 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" @@ -966,7 +972,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1022,7 +1028,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1038,11 +1044,11 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1056,15 +1062,15 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "" @@ -1076,23 +1082,23 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "" @@ -1110,7 +1116,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" @@ -1188,7 +1194,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "グローバル変数は%[1]sバイトのRAMを使用しています。" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1201,7 +1207,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1270,7 +1276,7 @@ msgstr "" msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1292,7 +1298,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "" @@ -1304,7 +1310,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1324,7 +1330,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1336,7 +1342,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1372,7 +1378,7 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1439,7 +1445,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "" @@ -1463,7 +1469,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1502,7 +1508,7 @@ msgstr "スケッチが使用できるメモリが少なくなっています。 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1541,7 +1547,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1557,7 +1563,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "" @@ -1575,7 +1581,7 @@ msgstr "" msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1625,7 +1631,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1655,7 +1661,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" @@ -1663,40 +1669,53 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" @@ -1738,17 +1757,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1758,13 +1777,13 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" @@ -1777,7 +1796,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1799,7 +1818,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1847,7 +1866,7 @@ msgstr "" msgid "Port" msgstr "シリアルポート" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "" @@ -1864,7 +1883,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1932,11 +1951,11 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1953,11 +1972,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "" @@ -2032,7 +2051,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2040,15 +2059,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2068,11 +2087,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "" @@ -2084,7 +2107,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "" @@ -2116,7 +2139,7 @@ msgstr "" msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2165,7 +2188,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2199,7 +2222,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2232,7 +2255,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" @@ -2240,7 +2263,7 @@ msgstr "" msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2252,15 +2275,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2284,13 +2313,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2300,7 +2329,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2324,7 +2353,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2341,23 +2370,23 @@ msgstr "" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "" @@ -2395,7 +2424,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2484,7 +2513,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2492,7 +2521,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "" @@ -2504,7 +2533,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2523,11 +2552,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2535,7 +2564,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "使用済:%[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2543,15 +2572,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2587,16 +2616,16 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2618,7 +2647,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2629,11 +2658,11 @@ msgid "" msgstr "" "警告:ライブラリ%[1]sはアーキテクチャ%[2]sに対応したものであり、アーキテクチャ%[3]sで動作するこのボードとは互換性がないかもしれません。" -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2652,11 +2681,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2688,7 +2717,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2720,7 +2749,7 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2746,7 +2775,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2762,7 +2791,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -2856,7 +2885,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -2884,7 +2913,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -2934,12 +2963,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -2978,11 +3007,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3026,7 +3055,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3034,7 +3063,7 @@ msgstr "" msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3066,15 +3095,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3082,15 +3111,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3109,7 +3138,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "" @@ -3197,7 +3226,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3205,11 +3234,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3243,7 +3272,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3261,7 +3290,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3273,7 +3302,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3293,7 +3322,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3352,7 +3381,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3364,7 +3393,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3427,7 +3456,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3498,11 +3527,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3599,7 +3628,7 @@ msgstr "" msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3611,7 +3640,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index 060388de57c..753a66b31e7 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -25,7 +25,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s 패턴이 없습니다" @@ -33,7 +33,7 @@ msgstr "%[1]s 패턴이 없습니다" msgid "%s already downloaded" msgstr "" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "" @@ -54,6 +54,10 @@ msgstr "" msgid "%s is not managed by package manager" msgstr "" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "" @@ -154,7 +158,7 @@ msgstr "" msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "" @@ -234,7 +238,7 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "" @@ -255,8 +259,10 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "부트로더 파일이 지정되었으나 누락됨: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" #: internal/arduino/resources/index.go:65 @@ -285,19 +291,19 @@ msgstr "" msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "" @@ -343,7 +349,7 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "" @@ -364,7 +370,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -390,7 +396,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "" @@ -398,11 +404,11 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "" @@ -410,7 +416,7 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "스케치를 컴파일 중…" @@ -423,11 +429,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +451,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -457,7 +463,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -477,7 +483,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "" @@ -491,13 +497,13 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -506,28 +512,28 @@ msgstr "" msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "디폴트" @@ -574,11 +580,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "" @@ -596,7 +602,7 @@ msgstr "" msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "" @@ -612,12 +618,12 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" @@ -633,8 +639,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" @@ -667,7 +673,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -699,11 +705,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "" @@ -717,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "" @@ -742,7 +748,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -764,7 +770,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "" @@ -772,18 +778,18 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "" @@ -804,11 +810,11 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" @@ -824,13 +830,13 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -838,15 +844,15 @@ msgstr "" msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" @@ -906,19 +912,19 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" @@ -964,7 +970,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1020,7 +1026,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1036,11 +1042,11 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1054,15 +1060,15 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "" @@ -1074,23 +1080,23 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "" @@ -1108,7 +1114,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" @@ -1186,7 +1192,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "전역 변수는 %[1]s 바이트의 동적 메모리를 사용." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1199,7 +1205,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1268,7 +1274,7 @@ msgstr "" msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1290,7 +1296,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "" @@ -1302,7 +1308,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1322,7 +1328,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1334,7 +1340,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1370,7 +1376,7 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1437,7 +1443,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "" @@ -1461,7 +1467,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1500,7 +1506,7 @@ msgstr "사용 가능한 메모리 부족, 안정성에 문제가 생길 수 있 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1539,7 +1545,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1555,7 +1561,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "" @@ -1573,7 +1579,7 @@ msgstr "" msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1623,7 +1629,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1653,7 +1659,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" @@ -1661,40 +1667,53 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" @@ -1736,17 +1755,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1756,13 +1775,13 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" @@ -1775,7 +1794,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1797,7 +1816,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1845,7 +1864,7 @@ msgstr "" msgid "Port" msgstr "포트" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "" @@ -1862,7 +1881,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1930,11 +1949,11 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1951,11 +1970,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "" @@ -2030,7 +2049,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2038,15 +2057,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2066,11 +2085,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "" @@ -2082,7 +2105,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "" @@ -2114,7 +2137,7 @@ msgstr "" msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2163,7 +2186,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2197,7 +2220,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2230,7 +2253,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" @@ -2238,7 +2261,7 @@ msgstr "" msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2250,15 +2273,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2282,13 +2311,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2298,7 +2327,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2322,7 +2351,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2339,23 +2368,23 @@ msgstr "" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "" @@ -2393,7 +2422,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2482,7 +2511,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2490,7 +2519,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "" @@ -2502,7 +2531,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2521,11 +2550,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2533,7 +2562,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "사용됨: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2541,15 +2570,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2585,16 +2614,16 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2616,7 +2645,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2627,11 +2656,11 @@ msgid "" msgstr "" "경고: 라이브러리 %[1]s가 %[2]s 아키텍처에서 실행되며 %[3]s아키텍처에서 실행되는 현재보드에서는 호환되지 않을 수 있습니다." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2650,11 +2679,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2686,7 +2715,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2718,7 +2747,7 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2744,7 +2773,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2760,7 +2789,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -2854,7 +2883,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -2882,7 +2911,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -2932,12 +2961,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -2976,11 +3005,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3024,7 +3053,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3032,7 +3061,7 @@ msgstr "" msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3064,15 +3093,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3080,15 +3109,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3107,7 +3136,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "" @@ -3195,7 +3224,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3203,11 +3232,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3241,7 +3270,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3259,7 +3288,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3271,7 +3300,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3291,7 +3320,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3350,7 +3379,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3362,7 +3391,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3425,7 +3454,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3496,11 +3525,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3597,7 +3626,7 @@ msgstr "" msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3609,7 +3638,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index 71cb4d233c0..ea749834752 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -25,7 +25,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "" @@ -33,7 +33,7 @@ msgstr "" msgid "%s already downloaded" msgstr "%s schon erofgelueden" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "" @@ -54,6 +54,10 @@ msgstr "" msgid "%s is not managed by package manager" msgstr "" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s muss installéiert ginn." @@ -154,7 +158,7 @@ msgstr "" msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "" @@ -234,7 +238,7 @@ msgstr "" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "" @@ -255,8 +259,10 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" #: internal/arduino/resources/index.go:65 @@ -285,19 +291,19 @@ msgstr "" msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "" @@ -343,7 +349,7 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "" @@ -364,7 +370,7 @@ msgstr "Kategorie: %s" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -390,7 +396,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "" @@ -398,11 +404,11 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "" @@ -410,7 +416,7 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "" @@ -423,11 +429,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +451,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -457,7 +463,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -477,7 +483,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "" @@ -491,13 +497,13 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -506,28 +512,28 @@ msgstr "" msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "" @@ -574,11 +580,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "" @@ -596,7 +602,7 @@ msgstr "" msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "" @@ -612,12 +618,12 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" @@ -633,8 +639,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" @@ -667,7 +673,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -699,11 +705,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "" @@ -717,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "" @@ -742,7 +748,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -764,7 +770,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "" @@ -772,18 +778,18 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "" @@ -804,11 +810,11 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" @@ -824,13 +830,13 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -838,15 +844,15 @@ msgstr "" msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" @@ -906,19 +912,19 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" @@ -964,7 +970,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1020,7 +1026,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1036,11 +1042,11 @@ msgstr "Beispiller fir d'Bibliothéik %s" msgid "Examples:" msgstr "Beispiller:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1054,15 +1060,15 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "" @@ -1074,23 +1080,23 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "" @@ -1108,7 +1114,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" @@ -1185,7 +1191,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1198,7 +1204,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1267,7 +1273,7 @@ msgstr "" msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1289,7 +1295,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "" @@ -1301,7 +1307,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1321,7 +1327,7 @@ msgstr "Ongülteg Bibliothéik" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1333,7 +1339,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1369,7 +1375,7 @@ msgstr "Ongülteg Versioun" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1436,7 +1442,7 @@ msgstr "Bibliothéik installéiert" msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "" @@ -1460,7 +1466,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1499,7 +1505,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1538,7 +1544,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1554,7 +1560,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "" @@ -1572,7 +1578,7 @@ msgstr "Numm" msgid "Name: \"%s\"" msgstr "Numm: \"%s\"" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1622,7 +1628,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1652,7 +1658,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" @@ -1660,40 +1666,53 @@ msgstr "" msgid "Option:" msgstr "Optioun:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" @@ -1735,17 +1754,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1755,13 +1774,13 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" @@ -1774,7 +1793,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1796,7 +1815,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1844,7 +1863,7 @@ msgstr "" msgid "Port" msgstr "" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "" @@ -1861,7 +1880,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1929,11 +1948,11 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1950,11 +1969,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "" @@ -2029,7 +2048,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2037,15 +2056,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2065,11 +2084,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "Astellung" @@ -2081,7 +2104,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "" @@ -2113,7 +2136,7 @@ msgstr "" msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2162,7 +2185,7 @@ msgstr "" msgid "Size (bytes):" msgstr "Gréisst (Bytes):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2196,7 +2219,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2229,7 +2252,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" @@ -2237,7 +2260,7 @@ msgstr "" msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2249,15 +2272,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2281,13 +2310,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2297,7 +2326,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2321,7 +2350,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2338,23 +2367,23 @@ msgstr "" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "" @@ -2392,7 +2421,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2481,7 +2510,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2489,7 +2518,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "" @@ -2501,7 +2530,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2520,11 +2549,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "Benotzten Bibliothéik" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2532,7 +2561,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Benotzt: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2540,15 +2569,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2584,16 +2613,16 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Versioun" @@ -2615,7 +2644,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2625,11 +2654,11 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2648,11 +2677,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2684,7 +2713,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2716,7 +2745,7 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2742,7 +2771,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2758,7 +2787,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -2852,7 +2881,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -2880,7 +2909,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -2930,12 +2959,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -2974,11 +3003,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3022,7 +3051,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3030,7 +3059,7 @@ msgstr "" msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3062,15 +3091,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3078,15 +3107,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3105,7 +3134,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "Ongülteg Versioun" @@ -3193,7 +3222,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3201,11 +3230,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3239,7 +3268,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3257,7 +3286,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3269,7 +3298,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3289,7 +3318,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3348,7 +3377,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3360,7 +3389,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3423,7 +3452,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3494,11 +3523,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3595,7 +3624,7 @@ msgstr "" msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3607,7 +3636,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index 6873b788363..4b10a29f4a6 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -27,7 +27,7 @@ msgstr "%[1]snieprawidłowe, przebudowywuję całość" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]sjest wymagane ale %[2]s jest obecnie zaistalowane" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "Brakujący wzorzec %[1]s" @@ -35,7 +35,7 @@ msgstr "Brakujący wzorzec %[1]s" msgid "%s already downloaded" msgstr "%sjuż pobrane" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s oraz %s nie mogą być razem użyte" @@ -56,6 +56,10 @@ msgstr "%snie jest " msgid "%s is not managed by package manager" msgstr "%snie jest zarządzane przez zarządcę paczek" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%smusi byc zainstalowane" @@ -156,7 +160,7 @@ msgstr "" msgid "An error occurred detecting libraries" msgstr "" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "" @@ -236,7 +240,7 @@ msgstr "Dostępne" msgid "Available Commands:" msgstr "" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "" @@ -257,8 +261,10 @@ msgstr "" msgid "Bootloader file specified but missing: %[1]s" msgstr "Podany nieistniejący plik programu rozruchowego: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" #: internal/arduino/resources/index.go:65 @@ -287,19 +293,19 @@ msgstr "" msgid "Can't update sketch" msgstr "" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "" @@ -345,7 +351,7 @@ msgstr "" msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "" @@ -366,7 +372,7 @@ msgstr "" msgid "Check dependencies status for the specified library." msgstr "" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" @@ -392,7 +398,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "" @@ -400,11 +406,11 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "" @@ -412,7 +418,7 @@ msgstr "" msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "Kompilowanie szkicu..." @@ -425,11 +431,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -447,7 +453,7 @@ msgstr "" msgid "Connected" msgstr "" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -459,7 +465,7 @@ msgstr "" msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "" @@ -479,7 +485,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "" @@ -493,13 +499,13 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "" @@ -508,28 +514,28 @@ msgstr "" msgid "DEPRECATED" msgstr "" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "Domyślne" @@ -576,11 +582,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "" @@ -598,7 +604,7 @@ msgstr "" msgid "Disconnected" msgstr "" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "" @@ -614,12 +620,12 @@ msgstr "" msgid "Do not overwrite already installed platforms." msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "" @@ -635,8 +641,8 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" @@ -669,7 +675,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "" @@ -701,11 +707,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "" @@ -719,7 +725,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "" @@ -744,7 +750,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -766,7 +772,7 @@ msgstr "" msgid "Error downloading tool %s" msgstr "" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "" @@ -774,18 +780,18 @@ msgstr "" msgid "Error during JSON encoding of the output: %v" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "" @@ -806,11 +812,11 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "" @@ -826,13 +832,13 @@ msgstr "" msgid "Error getting current directory for compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -840,15 +846,15 @@ msgstr "" msgid "Error getting libraries info: %v" msgstr "" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "" @@ -908,19 +914,19 @@ msgstr "" msgid "Error opening %s" msgstr "" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "" @@ -966,7 +972,7 @@ msgstr "" msgid "Error serializing compilation database: %s" msgstr "" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1022,7 +1028,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1038,11 +1044,11 @@ msgstr "" msgid "Examples:" msgstr "" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1056,15 +1062,15 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "" @@ -1076,23 +1082,23 @@ msgstr "" msgid "Failed to create downloads directory" msgstr "" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "" @@ -1110,7 +1116,7 @@ msgstr "" msgid "First message must contain debug request, not data" msgstr "" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "" @@ -1190,7 +1196,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Zmienne globalne używają %[1]s bajtów pamięci dynamicznej." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "" @@ -1203,7 +1209,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1272,7 +1278,7 @@ msgstr "" msgid "Invalid FQBN" msgstr "" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "" @@ -1294,7 +1300,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "" @@ -1306,7 +1312,7 @@ msgstr "" msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1326,7 +1332,7 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1338,7 +1344,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "" @@ -1374,7 +1380,7 @@ msgstr "" msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1441,7 +1447,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "" @@ -1465,7 +1471,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1505,7 +1511,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1544,7 +1550,7 @@ msgstr "" msgid "Missing programmer" msgstr "" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1560,7 +1566,7 @@ msgstr "" msgid "Monitor '%s' not found" msgstr "" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "" @@ -1578,7 +1584,7 @@ msgstr "" msgid "Name: \"%s\"" msgstr "" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1628,7 +1634,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1660,7 +1666,7 @@ msgid "" "compact JSON output)." msgstr "" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "" @@ -1668,40 +1674,53 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "" @@ -1743,17 +1762,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1763,13 +1782,13 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" @@ -1782,7 +1801,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1804,7 +1823,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1852,7 +1871,7 @@ msgstr "" msgid "Port" msgstr "Port" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "" @@ -1869,7 +1888,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1937,11 +1956,11 @@ msgstr "" msgid "Required tool:" msgstr "" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1958,11 +1977,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "" @@ -2037,7 +2056,7 @@ msgstr "" msgid "Sentence: %s" msgstr "" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2045,15 +2064,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2073,11 +2092,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "" @@ -2089,7 +2112,7 @@ msgstr "" msgid "Show all available core versions." msgstr "" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "" @@ -2121,7 +2144,7 @@ msgstr "" msgid "Show list of available programmers" msgstr "" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2170,7 +2193,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2206,7 +2229,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" @@ -2239,7 +2262,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "" @@ -2247,7 +2270,7 @@ msgstr "" msgid "Some upgrades failed, please check the output for details." msgstr "" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "" @@ -2259,15 +2282,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2291,13 +2320,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2307,7 +2336,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2331,7 +2360,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2348,23 +2377,23 @@ msgstr "" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "" @@ -2402,7 +2431,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2491,7 +2520,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2499,7 +2528,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "" @@ -2511,7 +2540,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2530,11 +2559,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2542,7 +2571,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Wykorzystane: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2550,15 +2579,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2594,16 +2623,16 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2625,7 +2654,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2638,11 +2667,11 @@ msgstr "" "może nie być kompatybilna z obecną płytką która działa na " "architekturze(/architekturach) %[3]s." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2661,11 +2690,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2697,7 +2726,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2729,7 +2758,7 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2755,7 +2784,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2771,7 +2800,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -2865,7 +2894,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -2893,7 +2922,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -2943,12 +2972,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -2987,11 +3016,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3035,7 +3064,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3043,7 +3072,7 @@ msgstr "" msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3075,15 +3104,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3091,15 +3120,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3118,7 +3147,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "" @@ -3206,7 +3235,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3214,11 +3243,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3252,7 +3281,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3270,7 +3299,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3282,7 +3311,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3302,7 +3331,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3361,7 +3390,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3373,7 +3402,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3436,7 +3465,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3507,11 +3536,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3608,7 +3637,7 @@ msgstr "" msgid "unknown sketch file extension '%s'" msgstr "" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "" @@ -3620,7 +3649,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index 5a9267471de..391886a2bf5 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -28,7 +28,7 @@ msgstr "%[1]sinválido, refazendo tudo" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s‎é necessário, mas‎%[2]snão é instalado em nenhum momento." -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]so padrão está faltando" @@ -36,7 +36,7 @@ msgstr "%[1]so padrão está faltando" msgid "%s already downloaded" msgstr "%s‎já baixado‎" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%se%s‎não pode ser usado em conjunto‎" @@ -57,6 +57,10 @@ msgstr "%s‎não é um diretório‎" msgid "%s is not managed by package manager" msgstr "%s‎não é gerenciado pelo gerente de pacotes‎" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s‎deve ser instalado.‎" @@ -164,7 +168,7 @@ msgstr "‎Ocorreu um erro ao adicionar os protótipos‎" msgid "An error occurred detecting libraries" msgstr "‎Ocorreu um erro na detecção de bibliotecas‎" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "‎Registro de depuração de anexação ao arquivo especificado‎" @@ -248,7 +252,7 @@ msgstr "Disponível‎" msgid "Available Commands:" msgstr "Comandos Disponíveis:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "‎Arquivo binário para carregar.‎" @@ -270,11 +274,11 @@ msgid "Bootloader file specified but missing: %[1]s" msgstr "" "Um Arquivo carregador de inicialização definido, mas está faltando: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" -"Builds de 'core.a' são salvos nesse caminho para serem armazenados no Cache " -"e reutilizados. " #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -302,19 +306,19 @@ msgstr "Não é possível abrir esboço" msgid "Can't update sketch" msgstr "Não é possível atualizar o esboço" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "Não é possível utilizar as seguintes Flags ao mesmo tempo: %s" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "Não é possível escrever para o arquivo de depuração: %s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "Não é possível criar Build do diretório de Cache" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "Não é possível criar Build do diretório" @@ -360,7 +364,7 @@ msgstr "Não é possível instalar plataforma" msgid "Cannot install tool %s" msgstr "Não é possível instalar ferramenta %s" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "Não é possível realizar redefinição de porta: %s" @@ -381,7 +385,7 @@ msgstr "Categoria: %s" msgid "Check dependencies status for the specified library." msgstr "Verifique o estado das dependências para a biblioteca especificada." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" "Verifique se a combinação placa/programador fornecida suporta depuração." @@ -412,7 +416,7 @@ msgstr "" "Comando continua a executar e a imprimir lista de placas conectadas sempre " "que ocorrer uma mudança." -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "Esboço compilado não encontrado em %s" @@ -420,11 +424,11 @@ msgstr "Esboço compilado não encontrado em %s" msgid "Compiles Arduino sketches." msgstr "Compila esboços Arduino." -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "Compilando núcleo..." -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "Compilando bibliotecas..." @@ -432,7 +436,7 @@ msgstr "Compilando bibliotecas..." msgid "Compiling library \"%[1]s\"" msgstr "%[1]s‎Biblioteca de compilação‎ \"\"" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "Compilando sketch..." @@ -447,11 +451,11 @@ msgstr "" msgid "Config file written to: %s" msgstr "%s‎Arquivo Config escrito para:‎" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "Opções de configuração para %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -471,7 +475,7 @@ msgstr "Configurando ferramenta." msgid "Connected" msgstr "Conectado" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "Conectando a %s. Pressione CTRL-C para sair." @@ -483,7 +487,7 @@ msgstr "Núcleo" msgid "Could not connect via HTTP" msgstr "Não foi possível conectar via HTTP" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "Não foi possível criar diretório Index" @@ -503,7 +507,7 @@ msgstr "Não foi possível obter o diretório de trabalho atual: %v" msgid "Create a new Sketch" msgstr "Criar novo Esboço" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "Criar e imprimir perfil de configuração da Build." @@ -519,7 +523,7 @@ msgstr "" "Cria ou atualiza o arquivo de configuração no diretório de dados ou em um " "diretório customizado com as definições de configuração atuais." -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -527,7 +531,7 @@ msgstr "" "Atualmente, os Perfis de Build só suportam bibliotecas disponíveis através " "do Gerenciador de Bibliotecas Arduino." -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "Configuração personalizada para %s:" @@ -536,30 +540,30 @@ msgstr "Configuração personalizada para %s:" msgid "DEPRECATED" msgstr "DESCONTINUADO" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "Daemon agora está ouvindo em %s:%s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "Depurar esboços Arduino." -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" "Depurar esboços Arduino (esse comando abre uma sessão interativa com o " "depurador gdb)." -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "Depurar interpretador e.g.:%s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "Depuramento não é suportado para a placa %s" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "Padrão" @@ -607,11 +611,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "Detecta e mostra a lista de placas conectadas ao computador atual." -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "Diretório com arquivos binários para depuração." -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "Diretório com arquivos binários para serem enviados." @@ -631,7 +635,7 @@ msgstr "Desabilitar a realização de descrições para Shells que suportam isso msgid "Disconnected" msgstr "Desconectado" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "Mostrar apenas as chamadas gRPC oferecidas" @@ -647,12 +651,12 @@ msgstr "Não sobrescreva bibliotecas já instaladas." msgid "Do not overwrite already installed platforms." msgstr "Não sobrescreva plataformas já instaladas." -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "Não faça um envio verdadeiro, apenas registre as ações." -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "Não encerre o processo Daemon se o processo relacionado morrer." @@ -668,8 +672,8 @@ msgstr "Baixando %s" msgid "Downloading index signature: %s" msgstr "Baixando assinatura Indes: %s" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Baixando Index: %s" @@ -703,7 +707,7 @@ msgstr "" msgid "Downloads one or more libraries without installing them." msgstr "Baixe uma ou mais bibliotecas sem instalá-las." -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "Ligue registros de depuração para chamadas gRPC" @@ -735,11 +739,11 @@ msgstr "Erro ao calcular caminho de arquivo relativo" msgid "Error cleaning caches: %v" msgstr "Erro ao limpar caches: %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "Erro ao converter caminho para absoluto: %v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "Erro ao copiar arquivo de saída %s" @@ -753,7 +757,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Erro ao criar instância: %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "Erro ao criar diretório de saída" @@ -778,7 +782,7 @@ msgstr "Erro ao baixar %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Erro ao baixar %s" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Erro ao baixar índice '%s'" @@ -800,7 +804,7 @@ msgstr "Erro ao baixar plataforma %s" msgid "Error downloading tool %s" msgstr "Erro ao baixar ferramenta %s" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "Erro durante Depuramento: %v" @@ -808,18 +812,18 @@ msgstr "Erro durante Depuramento: %v" msgid "Error during JSON encoding of the output: %v" msgstr "Erro durante codificação da saída JSON: %v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "Erro durante build: %v" @@ -840,11 +844,11 @@ msgstr "Erro durante atualização: %v" msgid "Error extracting %s" msgstr "Erro ao extrair %s" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "Erro ao buscar por artefatos da Build" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "Erro ao obter informações de Depuração: %v" @@ -861,13 +865,13 @@ msgid "Error getting current directory for compilation database: %s" msgstr "" "Erro ao obter o diretório atual para o banco de dados de compilação: %s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Erro ao obter informações da biblioteca %s" @@ -875,15 +879,15 @@ msgstr "Erro ao obter informações da biblioteca %s" msgid "Error getting libraries info: %v" msgstr "Erro ao obter informações sobre as bibliotecas: %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "Erro ao obter metadata da porta: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "Erro ao obter detalhes das configurações da porta: %s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "Erro ao obter entrada do usuário" @@ -943,19 +947,19 @@ msgstr "Erro ao carregar índice %s" msgid "Error opening %s" msgstr "Erro ao abrir %s" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "Erro ao abrir arquivo de registro de depuração: %s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "Erro ao abrir arquivo de dados que sobrescrevem o código fonte: %v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "Erro ao fazer análise sintática na flag --show-properties: %v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "Erro ao ler diretório de build" @@ -1001,7 +1005,7 @@ msgstr "Erro ao buscar por plataformas: %v" msgid "Error serializing compilation database: %s" msgstr "Erro ao serializar compilação do banco de dados: %s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "" @@ -1057,7 +1061,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "Erro: descrição de comando não suportado por %v" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "Erro: arquivo de dados que sobrescrevem o código fonte inválido: %v" @@ -1073,11 +1077,11 @@ msgstr "Exemplos para biblioteca %s" msgid "Examples:" msgstr "Exemplos:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "Executável para depurar" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Um esboço compilado era esperado no diretório %s, mas um arquivo foi " @@ -1093,15 +1097,15 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "Falha ao apagar chip" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "Falha ao programar" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "Falha ao gravar carregador de inicialização" @@ -1113,23 +1117,23 @@ msgstr "Falha ao criar diretório de dados" msgid "Failed to create downloads directory" msgstr "Falha ao criar diretório de downloads" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "Falha ao ouvir porta TCP: %[1]s. %[2]s é uma porta inválida." -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "Falha ao ouvir porta TCP: %[1]s. %[2]s é nome desconhecido." -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "Falha ao ouvir porta TCP: %[1]s. Erro inesperado: %[2]v" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Falha ao ouvir porta TCP: %s. Endereço já está em uso." -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "Falha ao enviar" @@ -1150,7 +1154,7 @@ msgid "First message must contain debug request, not data" msgstr "" "A primeira mensagem deve conter uma requisição de depuração, e não dados." -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "A flag %[1]s é mandatória quando usada em conjunto com: %[2]s" @@ -1233,7 +1237,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variáveis globais usam %[1]s bytes de memória dinâmica." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1246,7 +1250,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Propriedades de identificação:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Se designado, binárias de build serão exportadas para o diretório de " @@ -1321,7 +1325,7 @@ msgstr "Propriedade '%[1]s' inválida: %[2]s" msgid "Invalid FQBN" msgstr "FQBN inválido" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "Endereço TCP inválido: a porta está faltando " @@ -1343,7 +1347,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "Argumento inválido passado: %v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "Propriedades de compilação inválidas" @@ -1355,7 +1359,7 @@ msgstr "Tamanho de dados para regexp inválida: %s" msgid "Invalid eeprom size regexp: %s" msgstr "Regexp de tamanho EEPROM inválida: %s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "" @@ -1375,7 +1379,7 @@ msgstr "Biblioteca inválida" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1387,7 +1391,7 @@ msgstr "network.proxy inválido: '%[1]s':%[2]s" msgid "Invalid output format: %s" msgstr "Formato de saída inválido: %s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "Índice de pacote inválido em %s" @@ -1423,7 +1427,7 @@ msgstr "Versão inválida" msgid "Invalid vid value: '%s'" msgstr "Valor vid inválido: '%s'" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1495,7 +1499,7 @@ msgstr "Biblioteca instalada" msgid "License: %s" msgstr "Licença: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "Vinculando tudo..." @@ -1523,7 +1527,7 @@ msgstr "" "Listar todas as opções de placas separadas por vírgula. Ou pode ser usado " "múltiplas vezes para múltiplas opções." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1564,7 +1568,7 @@ msgstr "Pouca memória disponível, podem ocorrer problemas de estabilidade." msgid "Maintainer: %s" msgstr "Mantedor: %s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1604,7 +1608,7 @@ msgstr "Protocolo de porta faltando" msgid "Missing programmer" msgstr "Programador faltando" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "" @@ -1620,7 +1624,7 @@ msgstr "Caminho para esboço faltando" msgid "Monitor '%s' not found" msgstr "Monitor '%s' não encontrado" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "Configurações da porta do monitor:" @@ -1638,7 +1642,7 @@ msgstr "Nome" msgid "Name: \"%s\"" msgstr "Nome: \"%s\"" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "" @@ -1690,7 +1694,7 @@ msgstr "Nenhuma plataforma instalada." msgid "No platforms matching your search." msgstr "Nenhuma plataforma correspondente à sua busca." -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "Nenhuma porta de envio encontrada, usando %s como reserva" @@ -1724,7 +1728,7 @@ msgstr "" "Esconder detalhes da biblioteca para todas as versões exceto a mais recente " "(produz uma saída JSON mais compacta)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "Abra uma porta de comunicação com a placa." @@ -1732,35 +1736,35 @@ msgstr "Abra uma porta de comunicação com a placa." msgid "Option:" msgstr "Opção:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Opcional, pode ser: %s. Usado para indicar ao GCC qual nível de alerta " "utilizar (flag -W)." -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Opcional, limpeza do diretório de compilação e não utilização de nenhuma " "compilação em cache." -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Opcional, otimize saída de compilação para depuração, ao invés de " "lançamento." -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "Opcional, esconde quase qualquer saída. " -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Opcional, liga o modo verboso." -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1768,7 +1772,7 @@ msgstr "" "Opcional. Caminho para um arquivo .json que contém um conjunto de " "substituições do código fonte do esboço." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1776,6 +1780,19 @@ msgstr "" "Sobrescreva uma propriedade de compilação com um valor customizado. Pode ser" " utilizado múltiplas vezes para múltipas propriedades. " +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "Sobrescrever o arquivo de configuração existente. " @@ -1817,11 +1834,11 @@ msgstr "Website do pacote:" msgid "Paragraph: %s" msgstr "Parágrafo: %s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "Caminho" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1829,7 +1846,7 @@ msgstr "" "Caminho para a coleção de bibliotecas. Pode ser utilizado múltiplas vezes. " "Entradas podem ser separadas por vírgulas." -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1841,7 +1858,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Caminho para o arquivo onde os registros de dados serão escritos." -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1849,7 +1866,7 @@ msgstr "" "Caminho para onde salvar arquivos compilados. Se omitido, um diretório vai " "ser criado no caminho temporário padrão do seu SO." -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Executando toque de redefinição de 1200-bps na porta serial %s" @@ -1862,7 +1879,7 @@ msgstr "Plataforma %s já está instalada" msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1886,7 +1903,7 @@ msgstr "Plataforma '%s' não encontrada" msgid "Platform ID" msgstr "ID da Plataforma" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "ID da Plataforma incorreto" @@ -1938,7 +1955,7 @@ msgstr "" msgid "Port" msgstr "Porta" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "Porta fechada: %v" @@ -1955,7 +1972,7 @@ msgstr "Biblioteca pré-compilada em \"%[1]s\" não foi encontrada" msgid "Print details about a board." msgstr "Imprimir detalhes sobre a placa." -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Imprimir código pré-processado para stdout ao invés de compilar." @@ -2023,12 +2040,12 @@ msgstr "Substituindo plataforma %[1]s com %[2]s" msgid "Required tool:" msgstr "Ferramenta necessária:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "" "Execute no modo silencioso e mostre apenas a entrada e a saída do monitor." -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -2045,11 +2062,11 @@ msgstr "" msgid "SEARCH_TERM" msgstr "" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "Salve artefatos de compilação neste diretório." @@ -2128,7 +2145,7 @@ msgstr "" msgid "Sentence: %s" msgstr "Sentença: %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "" @@ -2136,15 +2153,15 @@ msgstr "" msgid "Server responded with: %s" msgstr "Servidor respondeu com: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "" @@ -2164,11 +2181,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "Define onde o arquivo de configuração deve ser salvo." -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "Configuração" @@ -2180,7 +2201,7 @@ msgstr "" msgid "Show all available core versions." msgstr "Mostre todas as versões de núcleo disponíveis." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "Mostre todas as configurações da porta de comunicação." @@ -2217,7 +2238,7 @@ msgstr "Mostrar apenas nomes de bibliotecas." msgid "Show list of available programmers" msgstr "Mostrar lista de todos os programadores disponíveis" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "" @@ -2276,7 +2297,7 @@ msgstr "Mostra o número de versão da CLI Arduino." msgid "Size (bytes):" msgstr "Tamanho (em bytes):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2318,7 +2339,7 @@ msgstr "" msgid "Skip linking of final executable." msgstr "Pule a vinculação da executável final." -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Pulando o toque de redefinição 1200-bps: nenhuma porta serial foi " @@ -2354,7 +2375,7 @@ msgstr "Pulando configuração de ferramenta." msgid "Skipping: %[1]s" msgstr "Pulando: %[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "Alguns índices não puderam ser atualizados." @@ -2363,7 +2384,7 @@ msgid "Some upgrades failed, please check the output for details." msgstr "" "Algumas atualizações falharam, por favor veja a saída para mais detalhes." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "O daemon da porta TCP irá ouvir em" @@ -2377,15 +2398,21 @@ msgstr "" "O arquivo de configuração customizado (caso não seja definido, o padrão vai " "ser usado)." -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "A flag --debug-file deve ser usada junto de --debug." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "" @@ -2413,7 +2440,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "A biblioteca %s possui múltiplas instalações:" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2422,7 +2449,7 @@ msgstr "" "binários durante o processo de compilação. Usado apenas por plataformas que " "possuem suporte." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2435,7 +2462,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Os formatos de saída para os arquivos de registro podem ser: %s" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2469,7 +2496,7 @@ msgstr "" "podem ser atualizadas. Se nada precisar ser atualizado, a saída do comando " "será vazia." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "" @@ -2486,23 +2513,23 @@ msgstr "" msgid "Toolchain '%s' is not supported" msgstr "" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "" @@ -2540,7 +2567,7 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "" @@ -2629,7 +2656,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "" @@ -2637,7 +2664,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "" @@ -2649,7 +2676,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2668,11 +2695,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "" @@ -2680,7 +2707,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilizado: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2688,15 +2715,15 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2732,16 +2759,16 @@ msgstr "" msgid "VERSION_NUMBER" msgstr "" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2763,7 +2790,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2776,11 +2803,11 @@ msgstr "" "%[2]s e pode ser incompatível com a sua placa actual que é executada em " "arquitectura(s) %[3]s." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2799,11 +2826,11 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "" @@ -2835,7 +2862,7 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "" @@ -2867,7 +2894,7 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "" @@ -2893,7 +2920,7 @@ msgstr "" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "" @@ -2909,7 +2936,7 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "" @@ -3003,7 +3030,7 @@ msgstr "" msgid "error opening %s" msgstr "" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "" @@ -3031,7 +3058,7 @@ msgstr "" msgid "failed to initialize http client" msgstr "" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" @@ -3081,12 +3108,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -3125,11 +3152,11 @@ msgstr "" msgid "interactive terminal not supported for the '%s' output format" msgstr "" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "" @@ -3173,7 +3200,7 @@ msgstr "" msgid "invalid git url" msgstr "" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "" @@ -3181,7 +3208,7 @@ msgstr "" msgid "invalid item %s" msgstr "" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "" @@ -3213,15 +3240,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "" @@ -3229,15 +3256,15 @@ msgstr "" msgid "invalid pluggable monitor reference: %s" msgstr "" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3256,7 +3283,7 @@ msgstr "" msgid "invalid version directory %s" msgstr "" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "" @@ -3344,7 +3371,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "" @@ -3352,11 +3379,11 @@ msgstr "" msgid "main file missing from sketch: %s" msgstr "" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "" @@ -3390,7 +3417,7 @@ msgstr "" msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3408,7 +3435,7 @@ msgstr "" msgid "no instance specified" msgstr "" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "" @@ -3420,7 +3447,7 @@ msgstr "" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "" @@ -3440,7 +3467,7 @@ msgstr "" msgid "not running in a terminal" msgstr "" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "" @@ -3499,7 +3526,7 @@ msgstr "" msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "" @@ -3511,7 +3538,7 @@ msgstr "" msgid "port" msgstr "" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "" @@ -3574,7 +3601,7 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "" @@ -3645,11 +3672,11 @@ msgstr "" msgid "testing archive checksum: %s" msgstr "" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "" @@ -3749,7 +3776,7 @@ msgstr "%splataforma desconhecida%s:" msgid "unknown sketch file extension '%s'" msgstr "%s‎extensão do arquivo sketch é desconhecido‎' '" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "%s não há suporte ‎algoritmo hash:‎" @@ -3761,7 +3788,7 @@ msgstr "‎atualizar arduino: samd para a versão mais recente‎" msgid "upgrade everything to the latest version" msgstr "‎atualizar tudo para a versão mais recente‎" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "%serro ao carregar" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 5b76834d1ac..798e892ba8d 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -3,31 +3,35 @@ # Дмитрий Кат, 2022 # CLI team <prj_cli_team@arduino.cc>, 2022 # Bakdaulet Kadyr <qadyr.bagdaulet@gmail.com>, 2022 +# Asdfgr Wertyu, 2024 +# lidacity <dzmitry@lidacity.by>, 2024 +# Александр Минкин <weryskok@gmail.com>, 2024 +# ildar <v_ildar@bk.ru>, 2024 # msgid "" msgstr "" -"Last-Translator: Bakdaulet Kadyr <qadyr.bagdaulet@gmail.com>, 2022\n" +"Last-Translator: ildar <v_ildar@bk.ru>, 2024\n" "Language-Team: Russian (https://app.transifex.com/arduino-1/teams/108174/ru/)\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" #: version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" -msgstr "%[1]s%[2]s Версия: %[3]s Фиксация: %[4]s Дата: %[5]s" +msgstr "%[1]s%[2]s Версия: %[3]s Коммит: %[4]s Дата: %[5]s" #: internal/arduino/builder/internal/detector/detector.go:462 msgid "%[1]s folder is no longer supported! See %[2]s for more information" -msgstr "Папка %[1]s более не поддерживается! Более подробно в %[2]s" +msgstr "Каталог %[1]s более не поддерживается! Более подробно в %[2]s" #: internal/arduino/builder/build_options_manager.go:140 msgid "%[1]s invalid, rebuilding all" -msgstr "" +msgstr "%[1]s недействителен, пересборка всего" #: internal/cli/lib/check_deps.go:124 msgid "%[1]s is required but %[2]s is currently installed." msgstr "Требуется %[1]s, но в данный момент устанавливается %[2]s" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s не найден шаблон" @@ -35,7 +39,7 @@ msgstr "%[1]s не найден шаблон" msgid "%s already downloaded" msgstr "%s уже скачана" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s не может быть использована вместе с %s" @@ -54,7 +58,11 @@ msgstr "%s не является директорией" #: internal/arduino/cores/packagemanager/install_uninstall.go:290 msgid "%s is not managed by package manager" -msgstr "" +msgstr "%s не управляется менеджером пакетов" + +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "%s должно быть >= 1024" #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." @@ -63,7 +71,7 @@ msgstr "%s должен быть установлен." #: internal/arduino/builder/internal/preprocessor/ctags.go:192 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" -msgstr "" +msgstr "не найден шаблон %s" #: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" @@ -74,6 +82,7 @@ msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" msgstr "" +"'build.core' и 'build.variant' относятся к разным платформам: %[1]s и %[2]s" #: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 msgid "(hidden)" @@ -95,14 +104,18 @@ msgid "" "--git-url and --zip-path flags allow installing untrusted files, use it at " "your own risk." msgstr "" +"Флаги --git-url и --zip-path позволяют устанавливать недоверенные файлы, " +"используйте их на свой страх и риск." #: internal/cli/lib/install.go:87 msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" msgstr "" +"--git-url или --zip-path не могут быть использованы с --install-in-builtin-" +"dir" #: commands/service_sketch_new.go:66 msgid ".ino file already exists" -msgstr "" +msgstr "файл .ino уже существует" #: internal/cli/updater/updater.go:30 msgid "A new release of Arduino CLI is available:" @@ -110,12 +123,12 @@ msgstr "Доступен новый релиз Arduino CLI:" #: commands/cmderrors/cmderrors.go:299 msgid "A programmer is required to upload" -msgstr "" +msgstr "Требуется программатор для загрузки" #: internal/cli/core/download.go:35 internal/cli/core/install.go:37 #: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "ARCH" -msgstr "" +msgstr "ARCH" #: internal/cli/generatedocs/generatedocs.go:80 msgid "ARDUINO COMMAND LINE MANUAL" @@ -123,51 +136,51 @@ msgstr "ИНСТРУКЦИЯ КОМАНДНОЙ СТРОКИ ARDUINO" #: internal/cli/usage.go:28 msgid "Additional help topics:" -msgstr "" +msgstr "Дополнительные темы помощи:" #: internal/cli/config/add.go:34 internal/cli/config/add.go:35 msgid "Adds one or more values to a setting." -msgstr "" +msgstr "Добавляет одно или несколько значений в настройку." #: internal/cli/usage.go:23 msgid "Aliases:" -msgstr "" +msgstr "Псевдонимы:" #: internal/cli/core/list.go:112 msgid "All platforms are up to date." -msgstr "" +msgstr "Все платформы актуальны." #: internal/cli/core/upgrade.go:87 msgid "All the cores are already at the latest version" -msgstr "" +msgstr "Все ядра уже на последней версии" #: commands/service_library_install.go:135 msgid "Already installed %s" -msgstr "" +msgstr "Уже установленно %s" #: internal/arduino/builder/internal/detector/detector.go:91 msgid "Alternatives for %[1]s: %[2]s" -msgstr "" +msgstr "Альтернативы для %[1]s: %[2]s" #: internal/arduino/builder/internal/preprocessor/ctags.go:69 msgid "An error occurred adding prototypes" -msgstr "" +msgstr "Произошла ошибка при добавлении прототипов" #: internal/arduino/builder/internal/detector/detector.go:213 msgid "An error occurred detecting libraries" -msgstr "" +msgstr "Произошла ошибка при обнаружении библиотек" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" -msgstr "" +msgstr "Дописывать журнал отладки в указанный файл" #: internal/cli/lib/search.go:208 msgid "Architecture: %s" -msgstr "" +msgstr "Архитектура: %s" #: commands/service_sketch_archive.go:69 msgid "Archive already exists" -msgstr "" +msgstr "Архив уже существует" #: internal/arduino/builder/core.go:163 msgid "Archiving built core (caching) in: %[1]s" @@ -175,245 +188,258 @@ msgstr "Архивирование откомпилированного ядра #: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 msgid "Arduino CLI sketch commands." -msgstr "" +msgstr "Команды скетчей Arduino CLI." #: internal/cli/cli.go:88 msgid "Arduino CLI." -msgstr "" +msgstr "Arduino CLI." #: internal/cli/cli.go:89 msgid "Arduino Command Line Interface (arduino-cli)." -msgstr "" +msgstr "Интерфейс командной строки Arduino (arduino-cli)." #: internal/cli/board/board.go:30 internal/cli/board/board.go:31 msgid "Arduino board commands." -msgstr "" +msgstr "Команды платы Arduino." #: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 msgid "Arduino cache commands." -msgstr "" +msgstr "Команды кэширования Arduino." #: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 msgid "Arduino commands about libraries." -msgstr "" +msgstr "Команды Arduino для библиотек." #: internal/cli/config/config.go:35 msgid "Arduino configuration commands." -msgstr "" +msgstr "Команды конфигурации Arduino." #: internal/cli/core/core.go:30 internal/cli/core/core.go:31 msgid "Arduino core operations." -msgstr "" +msgstr "Операции ядра Arduino." #: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 msgid "Arguments error: %v" -msgstr "" +msgstr "Ошибка в аргументах: %v" #: internal/cli/board/attach.go:36 msgid "Attaches a sketch to a board." -msgstr "" +msgstr "Прикрепляет скетч к плате." #: internal/cli/lib/search.go:199 msgid "Author: %s" -msgstr "" +msgstr "Автор: %s" #: internal/arduino/libraries/librariesmanager/install.go:79 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." msgstr "" +"В этом случае автоматическая установка библиотеки невозможна, пожалуйста, " +"удалите все дубликаты вручную и повторите попытку." #: commands/service_library_uninstall.go:87 msgid "" "Automatic library uninstall can't be performed in this case, please manually" " remove them." msgstr "" +"В этом случае автоматическое удаление библиотек невозможно, пожалуйста, " +"удалите их вручную." #: internal/cli/lib/list.go:138 msgid "Available" -msgstr "" +msgstr "Доступно" #: internal/cli/usage.go:25 msgid "Available Commands:" -msgstr "" +msgstr "Доступные команды:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." -msgstr "" +msgstr "Двоичный файл для загрузки." #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "Board Name" -msgstr "" +msgstr "Наименование платы" #: internal/cli/board/details.go:139 msgid "Board name:" -msgstr "" +msgstr "Наименование платы:" #: internal/cli/board/details.go:141 msgid "Board version:" -msgstr "" +msgstr "Версия платы:" #: internal/arduino/builder/sketch.go:243 msgid "Bootloader file specified but missing: %[1]s" msgstr "Файл загрузчика указан но не существует: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." msgstr "" +"Сборки ядер и скетчей сохраняются по этому пути для кэширования и повторного" +" использования." #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" -msgstr "" +msgstr "Не удается создать каталог данных %s" #: commands/cmderrors/cmderrors.go:511 msgid "Can't create sketch" -msgstr "" +msgstr "Не удается создать скетч" #: commands/service_library_download.go:91 #: commands/service_library_download.go:94 msgid "Can't download library" -msgstr "" +msgstr "Не удается скачать библиотеку" #: commands/service_platform_uninstall.go:89 #: internal/arduino/cores/packagemanager/install_uninstall.go:136 msgid "Can't find dependencies for platform %s" -msgstr "" +msgstr "Не удается найти зависимости для платформы %s" #: commands/cmderrors/cmderrors.go:537 msgid "Can't open sketch" -msgstr "" +msgstr "Не удается открыть скетч" #: commands/cmderrors/cmderrors.go:524 msgid "Can't update sketch" -msgstr "" +msgstr "Не удается обновить скетч" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" -msgstr "" +msgstr "Невозможно использовать следующие флаги вместе: %s" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" -msgstr "" +msgstr "Не удается записать журнал отладки: %s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" -msgstr "" +msgstr "Не удается создать каталог кэша сборки" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" -msgstr "" +msgstr "Не удается создать каталог для сборки" #: internal/cli/config/init.go:100 msgid "Cannot create config file directory: %v" -msgstr "" +msgstr "Не удается создать каталог конфигурационных файлов: %v" #: internal/cli/config/init.go:124 msgid "Cannot create config file: %v" -msgstr "" +msgstr "Не удается создать конфигурационный файл: %v" #: commands/cmderrors/cmderrors.go:781 msgid "Cannot create temp dir" -msgstr "" +msgstr "Не удается создать временный каталог" #: commands/cmderrors/cmderrors.go:799 msgid "Cannot create temp file" -msgstr "" +msgstr "Не удается создать временный файл" #: internal/cli/config/delete.go:55 msgid "Cannot delete the key %[1]s: %[2]v" -msgstr "" +msgstr "Не удается удалить ключ %[1]s: %[2]v" #: commands/service_debug.go:228 msgid "Cannot execute debug tool" -msgstr "" +msgstr "Не удается запустить отладочный инструмент" #: internal/cli/config/init.go:77 internal/cli/config/init.go:84 msgid "Cannot find absolute path: %v" -msgstr "" +msgstr "Не удается найти абсолютный путь: %v" #: internal/cli/config/add.go:63 internal/cli/config/add.go:65 #: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 #: internal/cli/config/remove.go:65 msgid "Cannot get the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Не удается получить конфигурационный ключ %[1]s: %[2]v" #: internal/arduino/cores/packagemanager/install_uninstall.go:143 msgid "Cannot install platform" -msgstr "" +msgstr "Не удается установить платформу" #: internal/arduino/cores/packagemanager/install_uninstall.go:349 msgid "Cannot install tool %s" -msgstr "" +msgstr "Не удается установить инструмент %s" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" -msgstr "" +msgstr "Не удается выполнить сброс порта: %s" #: internal/cli/config/add.go:75 internal/cli/config/add.go:77 #: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 msgid "Cannot remove the configuration key %[1]s: %[2]v" -msgstr "" +msgstr "Не удается удалить конфигурационный ключ %[1]s: %[2]v" #: internal/arduino/cores/packagemanager/install_uninstall.go:161 msgid "Cannot upgrade platform" -msgstr "" +msgstr "Не удается обновить платформу" #: internal/cli/lib/search.go:207 msgid "Category: %s" -msgstr "" +msgstr "Категория: %s" #: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 msgid "Check dependencies status for the specified library." -msgstr "" +msgstr "Проверьте статус зависимостей для указанной библиотеки." -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "" +"Проверьте, поддерживает ли данная комбинация платы и программатора отладку." #: internal/arduino/resources/checksums.go:166 msgid "Checksum differs from checksum in package.json" -msgstr "" +msgstr "Контрольная сумма отличается от указанной в package.json" #: internal/cli/board/details.go:190 msgid "Checksum:" -msgstr "" +msgstr "Контрольная сумма:" #: internal/cli/cache/cache.go:32 msgid "Clean caches." -msgstr "" +msgstr "Очистить кэш." #: internal/cli/cli.go:181 msgid "Comma-separated list of additional URLs for the Boards Manager." msgstr "" +"Список дополнительных URL-адресов для Менеджера плат, с запятыми в " +"разделителе." #: internal/cli/board/list.go:56 msgid "" "Command keeps running and prints list of connected boards whenever there is " "a change." msgstr "" +"Команда продолжает выполняться и печатает список подключенных плат всякий " +"раз, когда происходят изменения." -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" -msgstr "" +msgstr "Скомпилированный эскиз не найден в %s" #: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 msgid "Compiles Arduino sketches." -msgstr "" +msgstr "Компилирует скетчи Arduino." -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." -msgstr "" +msgstr "Компиляция ядра..." -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." -msgstr "" +msgstr "Компиляция библиотек..." #: internal/arduino/builder/libraries.go:133 msgid "Compiling library \"%[1]s\"" -msgstr "" +msgstr "Компиляция библиотеки \"%[1]s\"" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "Компиляция скетча..." @@ -421,761 +447,796 @@ msgstr "Компиляция скетча..." msgid "" "Config file already exists, use --overwrite to discard the existing one." msgstr "" +"Файл конфигурации уже существует, используйте --overwrite, чтобы отменить " +"существующий." #: internal/cli/config/init.go:179 msgid "Config file written to: %s" -msgstr "" +msgstr "Конфигурационный файл записан в: %s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" -msgstr "" +msgstr "Параметры конфигурации для %s" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." msgstr "" +"Настройте параметры коммуникационного порта. Формат <ID> " +"<value>=[,<ID>=<value>]..." #: internal/arduino/cores/packagemanager/install_uninstall.go:177 msgid "Configuring platform." -msgstr "" +msgstr "Настройка платформы." #: internal/arduino/cores/packagemanager/install_uninstall.go:359 msgid "Configuring tool." -msgstr "" +msgstr "Настройка инструмента." #: internal/cli/board/list.go:198 msgid "Connected" -msgstr "" +msgstr "Соединен" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." -msgstr "" +msgstr "Подключение к %s. Нажмите CTRL-C для выхода." #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" -msgstr "" +msgstr "Ядро" #: internal/cli/configuration/network.go:103 msgid "Could not connect via HTTP" -msgstr "" +msgstr "Не удалось подключиться по HTTP" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" -msgstr "" +msgstr "Не удалось создать индексный каталог" #: internal/arduino/builder/core.go:41 msgid "Couldn't deeply cache core build: %[1]s" -msgstr "" +msgstr "Не удалось глубоко кэшировать сборку ядра: %[1]s" #: internal/arduino/builder/sizer.go:154 msgid "Couldn't determine program size" -msgstr "" +msgstr "Не удалось определить размер программы" #: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 msgid "Couldn't get current working directory: %v" -msgstr "" +msgstr "Не удалось получить текущий рабочий каталог: %v" #: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 msgid "Create a new Sketch" -msgstr "" +msgstr "Создать новый скетч" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." -msgstr "" +msgstr "Создать и распечатать конфигурацию профиля из сборки." #: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 msgid "Creates a zip file containing all sketch files." -msgstr "" +msgstr "Создает zip-файл, содержащий все файлы скетчей." #: internal/cli/config/init.go:46 msgid "" "Creates or updates the configuration file in the data directory or custom " "directory with the current configuration settings." msgstr "" +"Создает или обновляет файл конфигурации в каталоге данных или " +"пользовательском каталоге с текущими настройками конфигурации." -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "" +"В настоящее время профили сборки поддерживают только библиотеки, доступные " +"через Arduino Library Manager." -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" -msgstr "" +msgstr "Пользовательская конфигурация для %s:" #: internal/cli/feedback/result/rpc.go:146 #: internal/cli/outdated/outdated.go:119 msgid "DEPRECATED" -msgstr "" +msgstr "УСТАРЕВШИЙ" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" -msgstr "" +msgstr "Демон сейчас слушает %s: %s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." -msgstr "" +msgstr "Отладка скетчей Arduino." -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "" +"Отладка скетчей Arduino. (эта команда открывает интерактивный сеанс gdb)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" -msgstr "" +msgstr "Отладочный интерпретатор, например: %s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" -msgstr "" +msgstr "Не поддерживается отладка для платы %s" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "По умолчанию" #: internal/cli/board/attach.go:115 msgid "Default FQBN set to" -msgstr "" +msgstr "Установлен FQBN по умолчанию" #: internal/cli/board/attach.go:114 msgid "Default port set to" -msgstr "" +msgstr "Задан порт по умолчанию" #: internal/cli/board/attach.go:116 msgid "Default programmer set to" -msgstr "" +msgstr "Установлен программатор по умолчанию" #: internal/cli/cache/clean.go:32 msgid "Delete Boards/Library Manager download cache." -msgstr "" +msgstr "Удалить кэш скачивания для Менеджера плат/библиотек " #: internal/cli/cache/clean.go:33 msgid "" "Delete contents of the downloads cache folder, where archive files are " "staged during installation of libraries and boards platforms." msgstr "" +"Удалить содержимое папки кэша загрузок, в которой хранятся архивные файлы во" +" время установки библиотек и платформ плат." #: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 msgid "Deletes a settings key and all its sub keys." -msgstr "" +msgstr "Удаляет ключ настроек и все его подключи." #: internal/cli/lib/search.go:215 msgid "Dependencies: %s" -msgstr "" +msgstr "Зависимости: %s" #: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 msgid "Description" -msgstr "" +msgstr "Описание" #: internal/arduino/builder/builder.go:313 msgid "Detecting libraries used..." -msgstr "" +msgstr "Обнаружение используемых библиотек..." #: internal/cli/board/list.go:46 msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "" +"Обнаруживает и отображает список плат, подключенных к текущему компьютеру." -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." -msgstr "" +msgstr "Каталог, содержащий двоичные файлы для отладки." -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." -msgstr "" +msgstr "Каталог, содержащий двоичные файлы для загрузки." #: internal/cli/generatedocs/generatedocs.go:45 msgid "" "Directory where to save generated files. Default is './docs', the directory " "must exist." msgstr "" +"Каталог для сохранения сгенерированных файлов. По умолчанию — './docs', " +"каталог должен существовать." #: internal/cli/completion/completion.go:44 msgid "Disable completion description for shells that support it" msgstr "" +"Отключить описание автодополнений для оболочек, которые это поддерживают." #: internal/cli/board/list.go:199 msgid "Disconnected" -msgstr "" +msgstr "Отключен" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" -msgstr "" +msgstr "Отображать только предоставляемые вызовы gRPC" #: internal/cli/lib/install.go:62 msgid "Do not install dependencies." -msgstr "" +msgstr "Не устанавливать зависимости." #: internal/cli/lib/install.go:63 msgid "Do not overwrite already installed libraries." -msgstr "" +msgstr "Не перезаписывать уже установленные библиотеки." #: internal/cli/core/install.go:56 msgid "Do not overwrite already installed platforms." -msgstr "" +msgstr "Не перезаписывать уже установленные платформы." -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" -msgstr "" +msgstr "Не выполнять фактическую загрузку, только логировать действия" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" -msgstr "" +msgstr "Не завершать процесс-демон, если родительский процесс завершается" #: internal/cli/lib/check_deps.go:52 msgid "Do not try to update library dependencies if already installed." msgstr "" +"Не пробовать обновить зависимости библиотеки, если они уже установлены." #: commands/service_library_download.go:88 msgid "Downloading %s" -msgstr "" +msgstr "Скачивание %s" #: internal/arduino/resources/index.go:137 msgid "Downloading index signature: %s" -msgstr "" +msgstr "Скачивание индексной сигнатуры: %s" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" -msgstr "" +msgstr "Скачивание индекса: %s" #: commands/instances.go:371 msgid "Downloading library %s" -msgstr "" +msgstr "Скачивание библиотеки %s" #: commands/instances.go:53 msgid "Downloading missing tool %s" -msgstr "" +msgstr "Скачивание пропущенных инструментов %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:96 msgid "Downloading packages" -msgstr "" +msgstr "Скачивание пакетов" #: internal/arduino/cores/packagemanager/profiles.go:101 msgid "Downloading platform %s" -msgstr "" +msgstr "Скачиванеи платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:177 msgid "Downloading tool %s" -msgstr "" +msgstr "Скачивание инструмента %s" #: internal/cli/core/download.go:36 internal/cli/core/download.go:37 msgid "Downloads one or more cores and corresponding tool dependencies." msgstr "" +"Скачивает одно или несколько ядер и зависимости соответствующих " +"инструментов." #: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 msgid "Downloads one or more libraries without installing them." -msgstr "" +msgstr "Скачивает одну или несколько библиотек без их установки." -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" -msgstr "" +msgstr "Включить отладочное логирование вызовов gRPC" #: internal/cli/lib/install.go:65 msgid "Enter a path to zip file" -msgstr "" +msgstr "Введите путь к zip-файлу" #: internal/cli/lib/install.go:64 msgid "Enter git url for libraries hosted on repositories" -msgstr "" +msgstr "Введите git url для библиотек, размещенных в репозиториях" #: commands/service_sketch_archive.go:105 msgid "Error adding file to sketch archive" -msgstr "" +msgstr "Ошибка при добавлении файла в архив скетчей" #: internal/arduino/builder/core.go:169 msgid "Error archiving built core (caching) in %[1]s: %[2]s" -msgstr "" +msgstr "Ошибка архивирования встроенного ядра (кэширования) в %[1]s: %[2]s" #: internal/cli/sketch/archive.go:85 msgid "Error archiving: %v" -msgstr "" +msgstr "Ошибка при архивировании: %v" #: commands/service_sketch_archive.go:93 msgid "Error calculating relative file path" -msgstr "" +msgstr "Ошибка вычисления относительного пути к файлу" #: internal/cli/cache/clean.go:48 msgid "Error cleaning caches: %v" -msgstr "" +msgstr "Ошибка при очистке кэшей: %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" -msgstr "" +msgstr "Ошибка преобразования пути в абсолютный: %v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" -msgstr "" +msgstr "Ошибка при копировании выходного файла %s" #: internal/cli/config/init.go:106 internal/cli/config/init.go:113 #: internal/cli/config/init.go:120 internal/cli/config/init.go:134 #: internal/cli/config/init.go:138 msgid "Error creating configuration: %v" -msgstr "" +msgstr "Ошибка при создании конфигурации: %v" #: internal/cli/instance/instance.go:43 msgid "Error creating instance: %v" -msgstr "" +msgstr "Ошибка при создании экземпляра: %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" -msgstr "" +msgstr "Ошибка создания каталога вывода" #: commands/service_sketch_archive.go:81 msgid "Error creating sketch archive" -msgstr "" +msgstr "Ошибка при создании архива скетчей" #: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 msgid "Error creating sketch: %v" -msgstr "" +msgstr "Ошибка при создании скетча: %v" #: internal/cli/board/list.go:83 internal/cli/board/list.go:97 msgid "Error detecting boards: %v" -msgstr "" +msgstr "Ошибка обнаружения платы: %v" #: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 msgid "Error downloading %[1]s: %[2]v" -msgstr "" +msgstr "Ошибка скачивания %[1]s: %[2]v" #: internal/arduino/cores/packagemanager/profiles.go:110 #: internal/arduino/cores/packagemanager/profiles.go:111 msgid "Error downloading %s" -msgstr "" +msgstr "Ошибка скачивания %s" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" -msgstr "" +msgstr "Ошибка скачивания индекса '%s'" #: internal/arduino/resources/index.go:138 msgid "Error downloading index signature '%s'" -msgstr "" +msgstr "Ошибка скачивания индексной сигнатуры '%s'" #: commands/instances.go:381 commands/instances.go:387 msgid "Error downloading library %s" -msgstr "" +msgstr "Ошибка скачивания библиотеки %s" #: internal/arduino/cores/packagemanager/profiles.go:128 #: internal/arduino/cores/packagemanager/profiles.go:129 msgid "Error downloading platform %s" -msgstr "" +msgstr "Ошибка скачивания платформы %s" #: internal/arduino/cores/packagemanager/download.go:127 #: internal/arduino/cores/packagemanager/profiles.go:179 msgid "Error downloading tool %s" -msgstr "" +msgstr "Ошибка скачивания инструмента %s" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" -msgstr "" +msgstr "Ошибка во время отладки: %v" #: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 msgid "Error during JSON encoding of the output: %v" -msgstr "" +msgstr "Ошибка при кодировании выходных данных в формате JSON: %v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" -msgstr "" +msgstr "Ошибка во время загрузки: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" -msgstr "" +msgstr "Ошибка при обнаружении платы" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" -msgstr "" +msgstr "Ошибка во время сборки: %v" #: internal/cli/core/install.go:81 msgid "Error during install: %v" -msgstr "" +msgstr "Ошибка во время установки: %v" #: internal/cli/core/uninstall.go:75 msgid "Error during uninstall: %v" -msgstr "" +msgstr "Ошибка во время удаления: %v" #: internal/cli/core/upgrade.go:136 msgid "Error during upgrade: %v" -msgstr "" +msgstr "Ошибка во время обновления: %v" #: internal/arduino/resources/index.go:105 #: internal/arduino/resources/index.go:124 msgid "Error extracting %s" -msgstr "" +msgstr "Ошибка извлечения %s" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" -msgstr "" +msgstr "Ошибка при поиске артефактов сборки" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" -msgstr "" +msgstr "Ошибка при получении отладочной информации: %v" #: commands/service_sketch_archive.go:57 msgid "Error getting absolute path of sketch archive" -msgstr "" +msgstr "Ошибка получения абсолютного пути к архиву скетча" #: internal/cli/board/details.go:74 msgid "Error getting board details: %v" -msgstr "" +msgstr "Ошибка при получении сведений о плате: %v" #: internal/arduino/builder/internal/compilation/database.go:82 msgid "Error getting current directory for compilation database: %s" -msgstr "" +msgstr "Ошибка при получении текущего каталога для базы данных компиляции: %s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "" +"Ошибка при получении порта по умолчанию из `sketch.yaml`. Проверьте, " +"правильно ли вы указали папку sketch, или укажите флаг --port: %s" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" -msgstr "" +msgstr "Ошибка при получении информации для библиотеки %s" #: internal/cli/lib/examples.go:75 msgid "Error getting libraries info: %v" -msgstr "" +msgstr "Ошибка при получении информации о библиотеках: %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" -msgstr "" +msgstr "Ошибка при получении метаданных порта: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" -msgstr "" +msgstr "Ошибка при получении подробной информации о настройках порта: %s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" -msgstr "" +msgstr "Ошибка при получении пользовательского ввода" #: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 msgid "Error initializing instance: %v" -msgstr "" +msgstr "Ошибка при инициализации экземпляра: %v" #: internal/cli/lib/install.go:148 msgid "Error installing %s: %v" -msgstr "" +msgstr "Ошибка при установке %s: %v" #: internal/cli/lib/install.go:122 msgid "Error installing Git Library: %v" -msgstr "" +msgstr "Ошибка при установке библиотеки Git: %v" #: internal/cli/lib/install.go:100 msgid "Error installing Zip Library: %v" -msgstr "" +msgstr "Ошибка при установке Zip-библиотеки: %v" #: commands/instances.go:397 msgid "Error installing library %s" -msgstr "" +msgstr "Ошибка при установке библиотеки %s" #: internal/arduino/cores/packagemanager/profiles.go:136 #: internal/arduino/cores/packagemanager/profiles.go:137 msgid "Error installing platform %s" -msgstr "" +msgstr "Ошибка при установке платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:180 #: internal/arduino/cores/packagemanager/profiles.go:187 #: internal/arduino/cores/packagemanager/profiles.go:188 msgid "Error installing tool %s" -msgstr "" +msgstr "Ошибка при установке инструмента %s" #: internal/cli/board/listall.go:66 msgid "Error listing boards: %v" -msgstr "" +msgstr "Ошибка при перечислении плат: %v" #: internal/cli/lib/list.go:91 msgid "Error listing libraries: %v" -msgstr "" +msgstr "Ошибка при перечислении библиотек: %v" #: internal/cli/core/list.go:69 msgid "Error listing platforms: %v" -msgstr "" +msgstr "Ошибка при перечислении платформ: %v" #: commands/cmderrors/cmderrors.go:424 msgid "Error loading hardware platform" -msgstr "" +msgstr "Ошибка загрузки аппаратной платформы" #: internal/arduino/cores/packagemanager/profiles.go:114 #: internal/arduino/cores/packagemanager/profiles.go:115 msgid "Error loading index %s" -msgstr "" +msgstr "Ошибка при загрузке индекса %s" #: internal/arduino/resources/index.go:99 msgid "Error opening %s" -msgstr "" +msgstr "Ошибка при открытии %s" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" -msgstr "" +msgstr "Ошибка при открытии файла журнала отладки: %s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" -msgstr "" +msgstr "Ошибка при открытии исходного кода переопределяет файл данных: %v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" -msgstr "" +msgstr "Ошибка разбора флага --show-properties: %v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" -msgstr "" +msgstr "Ошибка при чтении каталога сборки" #: commands/service_sketch_archive.go:75 msgid "Error reading sketch files" -msgstr "" +msgstr "Ошибка при чтении файлов со скетчами" #: internal/cli/lib/check_deps.go:72 msgid "Error resolving dependencies for %[1]s: %[2]s" -msgstr "" +msgstr "Ошибка устранение зависимостей для %[1]s: %[2]s" #: internal/cli/core/upgrade.go:68 msgid "Error retrieving core list: %v" -msgstr "" +msgstr "Ошибка при извлечении списка ядер: %v" #: internal/arduino/cores/packagemanager/install_uninstall.go:158 msgid "Error rolling-back changes: %s" -msgstr "" +msgstr "Ошибка при откате изменений: %s" #: internal/arduino/resources/index.go:165 #: internal/arduino/resources/index.go:177 msgid "Error saving downloaded index" -msgstr "" +msgstr "Ошибка при сохранении загруженного индекса" #: internal/arduino/resources/index.go:172 #: internal/arduino/resources/index.go:181 msgid "Error saving downloaded index signature" -msgstr "" +msgstr "Ошибка сохранения загруженной индексной сигнатуры" #: internal/cli/board/search.go:63 msgid "Error searching boards: %v" -msgstr "" +msgstr "Ошибка при поиске плат: %v" #: internal/cli/lib/search.go:126 msgid "Error searching for Libraries: %v" -msgstr "" +msgstr "Ошибка при поиске для библиотек: %v" #: internal/cli/core/search.go:82 msgid "Error searching for platforms: %v" -msgstr "" +msgstr "Ошибка при поиске для платформ: %v" #: internal/arduino/builder/internal/compilation/database.go:67 msgid "Error serializing compilation database: %s" -msgstr "" +msgstr "Ошибка при сериализации базы данных компиляции: %s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" -msgstr "" +msgstr "Ошибка при настройке режима raw: %s" #: internal/cli/config/set.go:67 internal/cli/config/set.go:74 msgid "Error setting value: %v" -msgstr "" +msgstr "Ошибка при задании значения: %v" #: internal/cli/board/list.go:86 msgid "Error starting discovery: %v" -msgstr "" +msgstr "Ошибка запуска обнаружения: %v" #: internal/cli/lib/uninstall.go:67 msgid "Error uninstalling %[1]s: %[2]v" -msgstr "" +msgstr "Ошибка при удалении %[1]s: %[2]v" #: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 msgid "Error updating library index: %v" -msgstr "" +msgstr "Ошибка при обновлении библиотечного индекса: %v" #: internal/cli/lib/upgrade.go:75 msgid "Error upgrading libraries" -msgstr "" +msgstr "Ошибка при обновлении библиотек" #: internal/arduino/cores/packagemanager/install_uninstall.go:153 msgid "Error upgrading platform: %s" -msgstr "" +msgstr "Ошибка при обновлении платформы: %s" #: internal/arduino/resources/index.go:147 #: internal/arduino/resources/index.go:153 msgid "Error verifying signature" -msgstr "" +msgstr "Ошибка проверки сигнатуры" #: internal/arduino/builder/internal/detector/detector.go:369 msgid "Error while detecting libraries included by %[1]s" -msgstr "" +msgstr "Ошибка при обнаружении библиотек, включенных %[1]s" #: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 #: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 #: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 #: internal/arduino/builder/sizer.go:229 msgid "Error while determining sketch size: %s" -msgstr "" +msgstr "Ошибка при определении размера скетча: %s" #: internal/arduino/builder/internal/compilation/database.go:70 msgid "Error writing compilation database: %s" -msgstr "" +msgstr "Ошибка при записи базы данных компиляции: %s" #: internal/cli/config/config.go:84 internal/cli/config/config.go:91 msgid "Error writing to file: %v" -msgstr "" +msgstr "Ошибка записи в файл: %v" #: internal/cli/completion/completion.go:56 msgid "Error: command description is not supported by %v" -msgstr "" +msgstr "Ошибка: описание команды не поддерживается %v" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" -msgstr "" +msgstr "Ошибка: неверный исходный код переопределяет файл данных: %v" #: internal/cli/board/list.go:104 msgid "Event" -msgstr "" +msgstr "Событие" #: internal/cli/lib/examples.go:123 msgid "Examples for library %s" -msgstr "" +msgstr "Примеры для библиотеки %s" #: internal/cli/usage.go:24 msgid "Examples:" -msgstr "" +msgstr "Примеры:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" -msgstr "" +msgstr "Исполняемый файл для отладки" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" +"Ожидаемый скомпилированный скетч находится в каталоге %s, но вместо этого он" +" представляет собой файл" #: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 #: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 msgid "FQBN" -msgstr "" +msgstr "FQBN" #: internal/cli/board/details.go:140 msgid "FQBN:" -msgstr "" +msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" -msgstr "" +msgstr "Не удалось стереть чип" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" -msgstr "" +msgstr "Не удалось программирование" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" -msgstr "" +msgstr "Не удалось записать загрузчик" #: commands/instances.go:87 msgid "Failed to create data directory" -msgstr "" +msgstr "Не удалось создать каталог данных" #: commands/instances.go:76 msgid "Failed to create downloads directory" -msgstr "" +msgstr "Не удалось создать каталог загрузок" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." -msgstr "" +msgstr "Не удалось прослушать TCP-порт: %[1]s. %[2]s - недопустимый порт." -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." -msgstr "" +msgstr "Не удалось прослушать TCP-порт: %[1]s. %[2]s - имя неизвестно." -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" -msgstr "" +msgstr "Не удалось прослушать TCP-порт: %[1]s. Непредвиденная ошибка: %[2]v" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." -msgstr "" +msgstr "Не удалось прослушать TCP-порт: %s. Адрес, который уже используется." -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" -msgstr "" +msgstr "Не удалась загрузка" #: internal/cli/board/details.go:188 msgid "File:" -msgstr "" +msgstr "Файл:" #: commands/service_compile.go:160 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" msgstr "" +"Для шифрования/подписи встроенной прошивки требуются все следующие свойства," +" которые должны быть определены: %s" #: commands/service_debug.go:187 msgid "First message must contain debug request, not data" -msgstr "" +msgstr "Первое сообщение должно содержать запрос на отладку, а не данные" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" -msgstr "" +msgstr "Флаг %[1]s обязателен при использовании совместно с: %[2]s" #: internal/cli/usage.go:26 msgid "Flags:" -msgstr "" +msgstr "Флаги:" #: internal/cli/arguments/pre_post_script.go:38 msgid "" "Force run of post-install scripts (if the CLI is not running interactively)." msgstr "" +"Принудительный запуск сценариев после установки (если CLI не запущен в " +"интерактивном режиме)." #: internal/cli/arguments/pre_post_script.go:40 msgid "" "Force run of pre-uninstall scripts (if the CLI is not running " "interactively)." msgstr "" +"Принудительный запуск сценариев предварительной деинсталляции (если " +"интерфейс командной строки не запущен в интерактивном режиме)." #: internal/cli/arguments/pre_post_script.go:39 msgid "" "Force skip of post-install scripts (if the CLI is running interactively)." msgstr "" +"Принудительный пропуск сценариев после установки (если CLI запущен в " +"интерактивном режиме)." #: internal/cli/arguments/pre_post_script.go:41 msgid "" "Force skip of pre-uninstall scripts (if the CLI is running interactively)." msgstr "" +"Принудительный пропуск сценариев предварительной деинсталляции (если CLI " +"запущен в интерактивном режиме)." #: commands/cmderrors/cmderrors.go:839 msgid "Found %d platforms matching \"%s\": %s" -msgstr "" +msgstr "Найдены платформы %d, соответствующие \"%s\": %s" #: internal/cli/arguments/fqbn.go:39 msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" msgstr "" +"Полное квалифицированное наименование платы - FQBN, например: " +"arduino:avr:uno" #: commands/service_debug.go:321 msgid "GDB server '%s' is not supported" -msgstr "" +msgstr "Сервер GDB '%s' не поддерживается" #: internal/cli/generatedocs/generatedocs.go:38 #: internal/cli/generatedocs/generatedocs.go:39 msgid "Generates bash completion and command manpages." msgstr "" +"Генерирует страницы руководства об автодополнениях команд и командах bash." #: internal/cli/completion/completion.go:38 msgid "Generates completion scripts" -msgstr "" +msgstr "Генерирует скрипты автодополнений" #: internal/cli/completion/completion.go:39 msgid "Generates completion scripts for various shells" -msgstr "" +msgstr "Генерирует скрипты автодополнений для различных оболочек" #: internal/arduino/builder/builder.go:333 msgid "Generating function prototypes..." -msgstr "" +msgstr "Создание прототипов функций..." #: internal/cli/config/get.go:35 internal/cli/config/get.go:36 msgid "Gets a settings key value." -msgstr "" +msgstr "Получает значение ключа настроек." #: internal/cli/usage.go:27 msgid "Global Flags:" -msgstr "" +msgstr "Глобальные флаги:" #: internal/arduino/builder/sizer.go:164 msgid "" @@ -1190,40 +1251,44 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глобальные переменные используют %[1]s байт динамической памяти." #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" -msgstr "" +msgstr "ИД" #: internal/cli/board/details.go:111 msgid "Id" -msgstr "" +msgstr "Ид" #: internal/cli/board/details.go:154 msgid "Identification properties:" -msgstr "" +msgstr "Идентификационные свойства:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "" +"Если установлено, то собранные двоичные файлы будут экспортированы в папку " +"скетча." #: internal/cli/core/list.go:46 msgid "" "If set return all installable and installed cores, including manually " "installed." msgstr "" +"Если установлено, вернуть все доступные для установки и установленные ядра, " +"включая установленные вручную." #: internal/cli/lib/list.go:55 msgid "Include built-in libraries (from platforms and IDE) in listing." -msgstr "" +msgstr "Включить в листинг встроенные библиотеки (из платформ и IDE)." #: internal/cli/sketch/archive.go:51 msgid "Includes %s directory in the archive." -msgstr "" +msgstr "Включает каталог %s в архив." #: internal/cli/lib/install.go:66 msgid "Install libraries in the IDE-Builtin directory" -msgstr "" +msgstr "Установить библиотеки во встроенный каталог IDE" #: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 #: internal/cli/outdated/outdated.go:103 @@ -1232,269 +1297,281 @@ msgstr "Установлено" #: commands/service_library_install.go:200 msgid "Installed %s" -msgstr "" +msgstr "Установлен %s" #: commands/service_library_install.go:183 #: internal/arduino/cores/packagemanager/install_uninstall.go:333 msgid "Installing %s" -msgstr "" +msgstr "Установка %s" #: commands/instances.go:395 msgid "Installing library %s" -msgstr "" +msgstr "Установка библиотеки %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:119 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" -msgstr "" +msgstr "Установка платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:185 msgid "Installing tool %s" -msgstr "" +msgstr "Установка инструмента %s" #: internal/cli/core/install.go:38 internal/cli/core/install.go:39 msgid "Installs one or more cores and corresponding tool dependencies." msgstr "" +"Устанавливает одно или несколько ядер и соответствующие зависимости " +"инструментов." #: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 msgid "Installs one or more specified libraries into the system." -msgstr "" +msgstr "Устанавливает в систему одну или несколько указанных библиотек." #: internal/arduino/builder/internal/detector/detector.go:394 msgid "Internal error in cache" -msgstr "" +msgstr "Внутренняя ошибка в кэше" #: commands/cmderrors/cmderrors.go:377 msgid "Invalid '%[1]s' property: %[2]s" -msgstr "" +msgstr "Недопустимое свойство '%[1]s': %[2]s" #: commands/cmderrors/cmderrors.go:60 msgid "Invalid FQBN" -msgstr "" +msgstr "Неверный FQBN" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" -msgstr "" +msgstr "Неверный TCP-адрес: порт не указан" #: commands/cmderrors/cmderrors.go:78 msgid "Invalid URL" -msgstr "" +msgstr "Неверный URL-адрес" #: commands/instances.go:183 msgid "Invalid additional URL: %v" -msgstr "" +msgstr "Неверный дополнительный URL-адрес: %v" #: internal/arduino/resources/index.go:111 msgid "Invalid archive: file %[1]s not found in archive %[2]s" -msgstr "" +msgstr "Неверный архив: файл %[1]s не найден в архиве %[2]s" #: internal/cli/core/download.go:59 internal/cli/core/install.go:66 #: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 #: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 msgid "Invalid argument passed: %v" -msgstr "" +msgstr "Передан недопустимый аргумент: %v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" -msgstr "" +msgstr "Неверные свойства сборки" #: internal/arduino/builder/sizer.go:250 msgid "Invalid data size regexp: %s" -msgstr "" +msgstr "Неверное регулярное выражение для размера данных: %s" #: internal/arduino/builder/sizer.go:256 msgid "Invalid eeprom size regexp: %s" -msgstr "" +msgstr "Неверное регулярное выражение для размера eeprom: %s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" -msgstr "" +msgstr "Неверный URL индекса: %s" #: commands/cmderrors/cmderrors.go:46 msgid "Invalid instance" -msgstr "" +msgstr "Неверный экземпляр" #: internal/cli/core/upgrade.go:114 msgid "Invalid item %s" -msgstr "" +msgstr "Неверный элемент %s" #: commands/cmderrors/cmderrors.go:96 msgid "Invalid library" -msgstr "" +msgstr "Неверная библиотека" #: internal/cli/cli.go:265 msgid "Invalid logging level: %s" -msgstr "" +msgstr "Неверный уровень логирования: %s" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" -msgstr "" +msgstr "Неверная конфигурация сети: %s" #: internal/cli/configuration/network.go:66 msgid "Invalid network.proxy '%[1]s': %[2]s" -msgstr "" +msgstr "Неверное значение network.proxy '%[1]s': %[2]s" #: internal/cli/cli.go:222 msgid "Invalid output format: %s" -msgstr "" +msgstr "Неверный формат вывода: %s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" -msgstr "" +msgstr "Неверный индекс пакета в %s" #: internal/cli/core/uninstall.go:63 msgid "Invalid parameter %s: version not allowed" -msgstr "" +msgstr "Неверный параметр %s: версия недопустима" #: commands/service_board_list.go:81 msgid "Invalid pid value: '%s'" -msgstr "" +msgstr "Неверное значение pid: '%s'" #: commands/cmderrors/cmderrors.go:220 msgid "Invalid profile" -msgstr "" +msgstr "Неверный профиль" #: commands/service_monitor.go:269 msgid "Invalid recipe in platform.txt" -msgstr "" +msgstr "Неверный рецепт в platform.txt" #: internal/arduino/builder/sizer.go:240 msgid "Invalid size regexp: %s" -msgstr "" +msgstr "Неверное регулярное выражение для размера: %s" #: main.go:85 msgid "Invalid value in configuration" -msgstr "" +msgstr "Неверное значение в конфигурации" #: commands/cmderrors/cmderrors.go:114 msgid "Invalid version" -msgstr "" +msgstr "Неверная версия" #: commands/service_board_list.go:78 msgid "Invalid vid value: '%s'" -msgstr "" +msgstr "Неверное значение vid: '%s'" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." msgstr "" +"Просто создать базу данных компиляции, без фактической компиляции. Все " +"команды сборки пропускаются, за исключением хуков pre*." #: internal/cli/lib/list.go:39 msgid "LIBNAME" -msgstr "" +msgstr "LIBNAME" #: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "LIBRARY" -msgstr "" +msgstr "LIBRARY" #: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 #: internal/cli/lib/uninstall.go:35 msgid "LIBRARY_NAME" -msgstr "" +msgstr "LIBRARY_NAME" #: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 msgid "Latest" -msgstr "" +msgstr "Последняя" #: internal/arduino/builder/libraries.go:91 msgid "Library %[1]s has been declared precompiled:" -msgstr "" +msgstr "Библиотека %[1]s объявлена ​​предварительно скомпилированной::" #: commands/service_library_install.go:141 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" -msgstr "" +msgstr "Библиотека %[1]s уже установлена, но другой версии: %[2]s" #: commands/service_library_upgrade.go:137 msgid "Library %s is already at the latest version" -msgstr "" +msgstr "Библиотека %s уже обновлена до последней версии" #: commands/service_library_uninstall.go:63 msgid "Library %s is not installed" -msgstr "" +msgstr "Библиотека %s не установлена" #: commands/instances.go:374 msgid "Library %s not found" -msgstr "" +msgstr "Библиотека %s не найдена" #: commands/cmderrors/cmderrors.go:445 msgid "Library '%s' not found" -msgstr "" +msgstr "Библиотека '%s' %s не найдена" #: internal/arduino/builder/internal/detector/detector.go:471 msgid "" "Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." msgstr "" +"Библиотека не может использовать оба каталога '%[1]s' и '%[2]s'. " +"Перепроверьте в '%[3]s'." #: commands/cmderrors/cmderrors.go:574 msgid "Library install failed" -msgstr "" +msgstr "Не удалось установить библиотеку" #: commands/service_library_install.go:234 #: commands/service_library_install.go:274 msgid "Library installed" -msgstr "" +msgstr "Библиотека установлена" #: internal/cli/lib/search.go:205 msgid "License: %s" -msgstr "" +msgstr "Лицензия: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." -msgstr "" +msgstr "Связывается все вместе..." #: internal/cli/board/listall.go:40 msgid "" "List all boards that have the support platform installed. You can search\n" "for a specific board if you specify the board name" msgstr "" +"Список всех плат, на которых установлена ​​платформа поддержки. \n" +"Вы можете выполнить поиск определенной платы, если укажете ее название" #: internal/cli/board/listall.go:39 msgid "List all known boards and their corresponding FQBN." -msgstr "" +msgstr "Перечислить все известные платы и их соответствующие FQBN." #: internal/cli/board/list.go:45 msgid "List connected boards." -msgstr "" +msgstr "Перечислить подключенные платы." #: internal/cli/arguments/fqbn.go:44 msgid "" "List of board options separated by commas. Or can be used multiple times for" " multiple options." msgstr "" +"Перечислить опции платы, разделенные запятыми. Или может быть использовано " +"несколько раз для нескольких опций." -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." msgstr "" +"Перечислить пользовательские опции сборки, разделенные запятыми. Или может " +"быть использовано несколько раз для нескольких опций." #: internal/cli/lib/list.go:57 msgid "List updatable libraries." -msgstr "" +msgstr "Перечислить библиотеки с доступными обновлениями." #: internal/cli/core/list.go:45 msgid "List updatable platforms." -msgstr "" +msgstr "Перечислить платформы с доступными обновлениями." #: internal/cli/board/board.go:32 msgid "Lists all connected boards." -msgstr "" +msgstr "Перечислить все подключенные платы." #: internal/cli/outdated/outdated.go:41 msgid "Lists cores and libraries that can be upgraded" -msgstr "" +msgstr "Перечисляет ядра и библиотеки которые могут быть обновлены" #: commands/instances.go:221 commands/instances.go:232 #: commands/instances.go:342 msgid "Loading index file: %v" -msgstr "" +msgstr "Загрузка индексного файла: %v" #: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 msgid "Location" -msgstr "" +msgstr "Расположение" #: internal/arduino/builder/sizer.go:205 msgid "Low memory available, stability problems may occur." @@ -1502,22 +1579,25 @@ msgstr "Недостаточно памяти, программа может р #: internal/cli/lib/search.go:200 msgid "Maintainer: %s" -msgstr "" +msgstr "Меинтейнер: %s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." msgstr "" +"Максимальное количество параллельных компиляций. Если установлено значение " +"0, будет использоваться количество доступных ядер ЦП." #: internal/cli/arguments/discovery_timeout.go:32 msgid "Max time to wait for port discovery, e.g.: 30s, 1m" -msgstr "" +msgstr "Максимальное время ожидания обнаружения порта, например: 30s, 1m" #: internal/cli/cli.go:170 msgid "" "Messages with this level and above will be logged. Valid levels are: %s" msgstr "" +"Сообщения этого уровня и выше будут логироваться. Допустимые уровни: %s" #: internal/arduino/builder/internal/detector/detector.go:466 msgid "Missing '%[1]s' from library in %[2]s" @@ -1525,43 +1605,43 @@ msgstr "Пропущен '%[1]s' из библиотеки в %[2]s" #: commands/cmderrors/cmderrors.go:169 msgid "Missing FQBN (Fully Qualified Board Name)" -msgstr "" +msgstr "Отсутствует FQBN (Полное квалифицированное наименование платы)" #: commands/cmderrors/cmderrors.go:260 msgid "Missing port" -msgstr "" +msgstr "Отсутствует порт" #: commands/cmderrors/cmderrors.go:236 msgid "Missing port address" -msgstr "" +msgstr "Отсутствует адрес порта" #: commands/cmderrors/cmderrors.go:248 msgid "Missing port protocol" -msgstr "" +msgstr "Отсутствует протокол порта" #: commands/cmderrors/cmderrors.go:286 msgid "Missing programmer" -msgstr "" +msgstr "Отсутствует программатор" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" -msgstr "" +msgstr "Отсутствует обязательное поле загрузки: %s" #: internal/arduino/builder/sizer.go:244 msgid "Missing size regexp" -msgstr "" +msgstr "Отсутствует размер регулярного выражения" #: commands/cmderrors/cmderrors.go:497 msgid "Missing sketch path" -msgstr "" +msgstr "Отсутствует путь к скетчу" #: commands/cmderrors/cmderrors.go:358 msgid "Monitor '%s' not found" -msgstr "" +msgstr "Монитор '%s' не найден" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" -msgstr "" +msgstr "Настройки порта монитора:" #: internal/arduino/builder/internal/detector/detector.go:156 msgid "Multiple libraries were found for \"%[1]s\"" @@ -1571,69 +1651,72 @@ msgstr "Несколько библиотек найдено для \"%[1]s\"" #: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 #: internal/cli/outdated/outdated.go:102 msgid "Name" -msgstr "" +msgstr "Наименование" #: internal/cli/lib/search.go:179 msgid "Name: \"%s\"" -msgstr "" +msgstr "Наименование: \"%s\"" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" -msgstr "" +msgstr "Новый порт загрузки: %[1]s (%[2]s)" #: internal/cli/board/list.go:132 msgid "No boards found." -msgstr "" +msgstr "Платы не найдены." #: internal/cli/board/attach.go:112 msgid "No default port, FQBN or programmer set" -msgstr "" +msgstr "Не установлен порт по умолчанию, FQBN или программатор" #: internal/cli/lib/examples.go:108 msgid "No libraries found." -msgstr "" +msgstr "Библиотеки не найдены." #: internal/cli/lib/list.go:130 msgid "No libraries installed." -msgstr "" +msgstr "Библиотеки не установлены." #: internal/cli/lib/search.go:168 msgid "No libraries matching your search." -msgstr "" +msgstr "Нет библиотек, соответствующих вашему поиску." #: internal/cli/lib/search.go:174 msgid "" "No libraries matching your search.\n" "Did you mean...\n" msgstr "" +"Нет библиотек, соответствующих вашему поиску.\n" +"Возможно вы имели ввиду...\n" #: internal/cli/lib/list.go:128 msgid "No libraries update is available." -msgstr "" +msgstr "Нет доступных обновлений библиотек." #: commands/cmderrors/cmderrors.go:274 msgid "No monitor available for the port protocol %s" -msgstr "" +msgstr "Нет доступного монитора для протокола порта %s" #: internal/cli/outdated/outdated.go:95 msgid "No outdated platforms or libraries found." -msgstr "" +msgstr "Не обнаружено устаревших платформ или библиотек." #: internal/cli/core/list.go:114 msgid "No platforms installed." -msgstr "" +msgstr "Нет установленных платформ." #: internal/cli/core/search.go:113 msgid "No platforms matching your search." -msgstr "" +msgstr "Нет платформ, соответствующих вашему поиску." -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "" +"Не найден порт загрузки, используется %s в качестве резервного варианта" #: commands/cmderrors/cmderrors.go:464 msgid "No valid dependencies solution found" -msgstr "" +msgstr "Не найдено допустимое решение зависимостей" #: internal/arduino/builder/sizer.go:195 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." @@ -1645,339 +1728,382 @@ msgstr "Не используется: %[1]s" #: internal/cli/board/details.go:187 msgid "OS:" -msgstr "" +msgstr "ОС:" #: internal/cli/board/details.go:145 msgid "Official Arduino board:" -msgstr "" +msgstr "Официальная плата Arduino:" #: internal/cli/lib/search.go:98 msgid "" "Omit library details far all versions except the latest (produce a more " "compact JSON output)." msgstr "" +"Опустить сведения о библиотеке для всех версий, кроме последней (получить " +"более компактный вывод JSON)." -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." -msgstr "" +msgstr "Открыть коммуникационный порт с платой." #: internal/cli/board/details.go:200 msgid "Option:" -msgstr "" +msgstr "Параметр:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" +"Необязательно. Возможно: %s. Используется для указания gcc, какой уровень " +"предупреждений использовать (флаг -W)." -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" +"Необязательно. Очистить каталог сборки и не использовать кэшированные " +"сборки." -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" +"Необязательно. Оптимизировать вывод компиляции для отладки, а не для " +"выпуска." -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." -msgstr "" +msgstr "Необязательно. Подавляет почти весь вывод." -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." -msgstr "" +msgstr "Необязательно. Включает подробный режим." -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" +"Необязательно. Путь к файлу .json, содержащему набор замен исходного кода " +"скетча." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +"Переопределить свойство сборки с помощью пользовательского значения. Может " +"использоваться несколько раз для нескольких свойств." + +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" +"Переопределить свойство отладки с помощью пользовательского значения. Может " +"использоваться несколько раз для нескольких свойств." + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" +"Переопределить свойство загрузки с помощью пользовательского значения. Может" +" использоваться несколько раз для нескольких свойств." #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." -msgstr "" +msgstr "Перезаписать существующий файл конфигурации." #: internal/cli/sketch/archive.go:52 msgid "Overwrites an already existing archive" -msgstr "" +msgstr "Перезаписывает уже существующий архив" #: internal/cli/sketch/new.go:46 msgid "Overwrites an existing .ino sketch." -msgstr "" +msgstr "Перезаписывает существующий скетч .ino." #: internal/cli/core/download.go:35 internal/cli/core/install.go:37 #: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 msgid "PACKAGER" -msgstr "" +msgstr "PACKAGER" #: internal/cli/board/details.go:165 msgid "Package URL:" -msgstr "" +msgstr "URL пакета:" #: internal/cli/board/details.go:164 msgid "Package maintainer:" -msgstr "" +msgstr "Меинтейнер пакета:" #: internal/cli/board/details.go:163 msgid "Package name:" -msgstr "" +msgstr "Наименование пакета:" #: internal/cli/board/details.go:167 msgid "Package online help:" -msgstr "" +msgstr "Онлайн помощь пакета:" #: internal/cli/board/details.go:166 msgid "Package website:" -msgstr "" +msgstr "Веб-страница пакета:" #: internal/cli/lib/search.go:202 msgid "Paragraph: %s" -msgstr "" +msgstr "Параграф: %s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" -msgstr "" +msgstr "Путь" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" +"Путь к коллекции библиотек. Может использоваться несколько раз или значения " +"могут быть разделены запятыми." -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." msgstr "" +"Путь к корневой папке одной библиотеки. Может использоваться несколько раз " +"или значения могут быть разделены запятыми." #: internal/cli/cli.go:172 msgid "Path to the file where logs will be written." -msgstr "" +msgstr "Путь к файлу, в который будут записываться логи." -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" +"Путь сохранения скомпилированных файлов. Если не указан, каталог будет " +"создан во временном пути по умолчанию вашей ОС." -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" -msgstr "" +msgstr "Выполнение сенсорного сброса 1200 бит/с на последовательном порту" #: commands/service_platform_install.go:86 #: commands/service_platform_install.go:93 msgid "Platform %s already installed" -msgstr "" +msgstr "Платформа %s уже установлена" #: internal/arduino/cores/packagemanager/install_uninstall.go:194 msgid "Platform %s installed" -msgstr "" +msgstr "Платформа %s установлена" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" +"Платформа %s не найдена ни в одном из известных индексов\n" +"Возможно необходимо добавить сторонний - 3rd party URL?" #: internal/arduino/cores/packagemanager/install_uninstall.go:318 msgid "Platform %s uninstalled" -msgstr "" +msgstr "Платформа %s удалена" #: commands/cmderrors/cmderrors.go:482 msgid "Platform '%s' is already at the latest version" -msgstr "" +msgstr "Последняя версия платформы '%s' уже установлена" #: commands/cmderrors/cmderrors.go:406 msgid "Platform '%s' not found" -msgstr "" +msgstr "Платформа '%s' не найдена" #: internal/cli/board/search.go:85 msgid "Platform ID" -msgstr "" +msgstr "Идентификатор платформы:" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" -msgstr "" +msgstr "Идентификатор платформы указан неверно" #: internal/cli/board/details.go:173 msgid "Platform URL:" -msgstr "" +msgstr "URL платформы:" #: internal/cli/board/details.go:172 msgid "Platform architecture:" -msgstr "" +msgstr "Архитектура платформы:" #: internal/cli/board/details.go:171 msgid "Platform category:" -msgstr "" +msgstr "Категория платформы:" #: internal/cli/board/details.go:178 msgid "Platform checksum:" -msgstr "" +msgstr "Контрольная сумма платформы:" #: internal/cli/board/details.go:174 msgid "Platform file name:" -msgstr "" +msgstr "Наименование файла платформы:" #: internal/cli/board/details.go:170 msgid "Platform name:" -msgstr "" +msgstr "Наименование платформы:" #: internal/cli/board/details.go:176 msgid "Platform size (bytes):" -msgstr "" +msgstr "Размер платформы (байт):" #: commands/cmderrors/cmderrors.go:153 msgid "" "Please specify an FQBN. Multiple possible boards detected on port %[1]s with" " protocol %[2]s" msgstr "" +"Пожалуйста, укажите FQBN. Несколько возможных плат обнаружено на порту %[1]s" +" с протоколом %[2]s" #: commands/cmderrors/cmderrors.go:133 msgid "" "Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" " identified" msgstr "" +"Пожалуйста, укажите FQBN. Плата на порту %[1]s с протоколом %[2]s не может " +"быть идентифицирована" #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Port" msgstr "Порт" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" -msgstr "" +msgstr "Порт закрыт: %v" #: commands/cmderrors/cmderrors.go:668 msgid "Port monitor error" -msgstr "" +msgstr "Ошибка монитора порта" #: internal/arduino/builder/libraries.go:101 #: internal/arduino/builder/libraries.go:109 msgid "Precompiled library in \"%[1]s\" not found" -msgstr "" +msgstr "Предварительно скомпилированная библиотека не найдена в \"%[1]s\"" #: internal/cli/board/details.go:42 msgid "Print details about a board." -msgstr "" +msgstr "Вывести детали о плате." -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" +"Вывести предварительно обработанный код на стандартный вывод вместо " +"компиляции." #: internal/cli/cli.go:166 internal/cli/cli.go:168 msgid "Print the logs on the standard output." -msgstr "" +msgstr "Вывести логи на стандартный вывод." #: internal/cli/cli.go:180 msgid "Print the output in JSON format." -msgstr "" +msgstr "Вывести вывод в формате JSON." #: internal/cli/config/dump.go:31 msgid "Prints the current configuration" -msgstr "" +msgstr "Выводит текущую конфигурацию" #: internal/cli/config/dump.go:32 msgid "Prints the current configuration." -msgstr "" +msgstr "Выводит текущую конфигурацию." #: commands/cmderrors/cmderrors.go:202 msgid "Profile '%s' not found" -msgstr "" +msgstr "Профиль '%s' не найден" #: commands/cmderrors/cmderrors.go:339 msgid "Programmer '%s' not found" -msgstr "" +msgstr "Программатор '%s' не найден" #: internal/cli/board/details.go:111 msgid "Programmer name" -msgstr "" +msgstr "Наименование программатора" #: internal/cli/arguments/programmer.go:35 msgid "Programmer to use, e.g: atmel_ice" -msgstr "" +msgstr "Использовать программатор, например: atmel_ice" #: internal/cli/board/details.go:216 msgid "Programmers:" -msgstr "" +msgstr "Программаторы:" #: commands/cmderrors/cmderrors.go:391 msgid "Property '%s' is undefined" -msgstr "" +msgstr "Свойство '%s' не определено" #: internal/cli/board/list.go:142 msgid "Protocol" -msgstr "" +msgstr "Протокол" #: internal/cli/lib/search.go:212 msgid "Provides includes: %s" -msgstr "" +msgstr "Предоставленное включает в себя: %s" #: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 msgid "Removes one or more values from a setting." -msgstr "" +msgstr "Удаляет одно или несколько значений из настройки." #: commands/service_library_install.go:187 msgid "Replacing %[1]s with %[2]s" -msgstr "" +msgstr "Замена %[1]s на %[2]s" #: internal/arduino/cores/packagemanager/install_uninstall.go:123 msgid "Replacing platform %[1]s with %[2]s" -msgstr "" +msgstr "Замена платформы %[1]s на %[2]s" #: internal/cli/board/details.go:184 msgid "Required tool:" -msgstr "" +msgstr "Необходимый инструмент:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." -msgstr "" +msgstr "Работать в тихом режиме, отображать только ввод и вывод монитора." -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." -msgstr "" +msgstr "Запустить Arduino CLI как демон gRPC." #: internal/arduino/builder/core.go:42 msgid "Running normal build of the core..." -msgstr "" +msgstr "Запуск обычной сборки ядра..." #: internal/arduino/cores/packagemanager/install_uninstall.go:297 #: internal/arduino/cores/packagemanager/install_uninstall.go:411 msgid "Running pre_uninstall script." -msgstr "" +msgstr "Запуск скрипта pre_uninstall." #: internal/cli/lib/search.go:39 msgid "SEARCH_TERM" -msgstr "" +msgstr "SEARCH_TERM" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" -msgstr "" +msgstr "путь файла SVD" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." -msgstr "" +msgstr "Сохранить артефакты сборки в этом каталоге." #: internal/cli/board/search.go:39 msgid "Search for a board in the Boards Manager using the specified keywords." -msgstr "" +msgstr "Поиск платы в Менеджере плат используя указанные ключевые слова." #: internal/cli/board/search.go:38 msgid "Search for a board in the Boards Manager." -msgstr "" +msgstr "Поиск платы в Менеджере плат." #: internal/cli/core/search.go:41 msgid "Search for a core in Boards Manager using the specified keywords." -msgstr "" +msgstr "Поиск ядра в Менеджере плат используя указанные ключевые слова." #: internal/cli/core/search.go:40 msgid "Search for a core in Boards Manager." -msgstr "" +msgstr "Поиск ядра в Менеджере плат." #: internal/cli/lib/search.go:41 msgid "" @@ -2025,111 +2151,173 @@ msgid "" " - Website\n" "\t\t" msgstr "" +"Поиск библиотек, соответствующих нулю или более поисковым запросам.\n" +"\n" +"Все поиски выполняются без учета регистра. Запросы, содержащие несколько\n" +"поисковых терминов, вернут только библиотеки, соответствующие всем терминам.\n" +"\n" +"Поисковые термины, которые не соответствуют синтаксису QV, описанному ниже,\n" +"являются базовыми поисковыми терминами и будут соответствовать библиотекам,\n" +"которые включают этот термин в любое место в любом из следующих полей:\n" +" - Автор\n" +" - Наименование\n" +" - Параграф\n" +" - Предоставления\n" +" - Предложение\n" +"\n" +"Специальный синтаксис, называемый квалификатор-значение (QV), указывает,\n" +"что поисковый термин должен сравниваться только с одним полем каждой записи индекса библиотеки.\n" +"Этот синтаксис использует имя поля индекса (без учета регистра), знак равенства (=) или двоеточие (:)\n" +"и значение, например, 'name=ArduinoJson' или 'provides:tinyusb.h'.\n" +"\n" +"Поисковые термины QV, в которых используется разделитель двоеточие,\n" +"будут соответствовать всем библиотекам со значением в любом месте указанного поля,\n" +"а поисковые термины QV, в которых используется разделитель равно,\n" +"будут соответствовать только библиотекам с точно указанным значением в указанном поле.\n" +"\n" +"Термины поиска QV могут включать встроенные пробелы с использованием символов\n" +"двойных кавычек (\") вокруг значения или всего термина, например, 'category=\"Data Processing\"'\n" +"и '\"category=Data Processing\"' эквивалентны. Термин QV может включать буквальный символ\n" +"двойных кавычек, если перед ним поставить символ обратной косой черты (\\).\n" +"\n" +"ПРИМЕЧАНИЕ. Для поисковых терминов QV, использующих символы двойных кавычек\n" +"или обратной косой черты, которые передаются в качестве аргументов командной строки,\n" +"может потребоваться заключение в кавычки или экранирование, чтобы оболочка не интерпретировала эти символы.\n" +"\n" +"В дополнение к полям, перечисленным выше, термины QV могут использовать следующие квалификаторы:\n" +" - Архитектуры\n" +" - Категории\n" +" - Зависимости\n" +" - Лицензия\n" +" - Меинтейнер\n" +" - Типы\n" +" - Версия\n" +" - Веб-сайт\n" +"\t\t" #: internal/cli/lib/search.go:40 msgid "Searches for one or more libraries matching a query." msgstr "" +"Выполняет поиск одной или нескольких библиотек, соответствующих запросу." #: internal/cli/lib/search.go:201 msgid "Sentence: %s" -msgstr "" +msgstr "Предложение: %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" -msgstr "" +msgstr "Путь сервера" #: internal/arduino/httpclient/httpclient.go:61 msgid "Server responded with: %s" -msgstr "" +msgstr "Ответ сервера: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" -msgstr "" +msgstr "Тип сервера" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." -msgstr "" +msgstr "Установить значение поля, необходимого для загрузки." -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." -msgstr "" +msgstr "Установить терминал в режим raw (без буферизации)." #: internal/cli/config/set.go:34 internal/cli/config/set.go:35 msgid "Sets a setting value." -msgstr "" +msgstr "Устанавливает значение параметра." #: internal/cli/cli.go:189 msgid "" "Sets the default data directory (Arduino CLI will look for configuration " "file in this directory)." msgstr "" +"Устанавливает каталог данных по умолчанию (Arduino CLI будет искать файл " +"конфигурации в этом каталоге)." #: internal/cli/board/attach.go:37 msgid "" "Sets the default values for port and FQBN. If no port, FQBN or programmer " "are specified, the current default port, FQBN and programmer are displayed." msgstr "" +"Устанавливает значения по умолчанию для порта и FQBN. Если порт, FQBN или " +"программатор не указаны, отображаются текущие порт по умолчанию, FQBN и " +"программатор." + +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" +"Устанавливает максимальный размер сообщения в байтах, который может получить" +" демон" #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." -msgstr "" +msgstr "Устанавливает место сохранения файла конфигурации." -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" -msgstr "" +msgstr "Параметр" #: internal/cli/cli.go:101 msgid "Should show help message, but it is available only in TEXT mode." msgstr "" +"Должно отображать справочное сообщение, но оно доступно только в ТЕКСТОВОМ " +"режиме." #: internal/cli/core/search.go:48 msgid "Show all available core versions." -msgstr "" +msgstr "Показать все доступные версии ядра." -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." -msgstr "" +msgstr "Показать все параметры коммуникационного порта." #: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 msgid "Show also boards marked as 'hidden' in the platform" -msgstr "" +msgstr "Показывать также и платы, отмеченные на платформе как 'скрытые'" #: internal/cli/arguments/show_properties.go:60 msgid "" "Show build properties. The properties are expanded, use \"--show-" "properties=unexpanded\" if you want them exactly as they are defined." msgstr "" +"Показать свойства сборки. Свойства развернуты, используйте \"--show-" +"properties=unexpanded\", если вы хотите, чтобы они были именно такими, как " +"они определены." #: internal/cli/board/details.go:52 msgid "Show full board details" -msgstr "" +msgstr "Показать полную информацию о плате" #: internal/cli/board/details.go:43 msgid "" "Show information about a board, in particular if the board has options to be" " specified in the FQBN." msgstr "" +"Показывать информацию о плате, в частности, есть ли у платы опции, которые " +"необходимо указать в FQBN." #: internal/cli/lib/search.go:97 msgid "Show library names only." -msgstr "" +msgstr "Показать только названия библиотек." #: internal/cli/board/details.go:53 msgid "Show list of available programmers" -msgstr "" +msgstr "Показать список доступных программаторов" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." -msgstr "" +msgstr "Показывать метаданные о сеансе отладки вместо запуска отладчика." #: internal/cli/update/update.go:45 msgid "Show outdated cores and libraries after index update" -msgstr "" +msgstr "Показать устаревшие ядра и библиотеки после обновления индекса" #: internal/cli/lib/list.go:40 msgid "Shows a list of installed libraries." -msgstr "" +msgstr "Показывает список установленных библиотек." #: internal/cli/lib/list.go:41 msgid "" @@ -2139,47 +2327,56 @@ msgid "" "library. By default the libraries provided as built-in by platforms/core are\n" "not listed, they can be listed by adding the --all flag." msgstr "" +"Показывает список установленных библиотек.\n" +"\n" +"Если указан параметр LIBNAME, то список ограничивается этой конкретной библиотекой.\n" +"По умолчанию библиотеки, предоставляемые как встроенные платформами/ядром,\n" +"не перечислены, их можно перечислить, добавив флаг --all." #: internal/cli/core/list.go:37 internal/cli/core/list.go:38 msgid "Shows the list of installed platforms." -msgstr "" +msgstr "Показывает список установленных платформ." #: internal/cli/lib/examples.go:44 msgid "Shows the list of the examples for libraries." -msgstr "" +msgstr "Показывает список примеров для библиотек." #: internal/cli/lib/examples.go:45 msgid "" "Shows the list of the examples for libraries. A name may be given as " "argument to search a specific library." msgstr "" +"Показывает список примеров для библиотек. Наименование может быть указано " +"как аргумент для поиска определенной библиотеки." #: internal/cli/version/version.go:37 msgid "" "Shows the version number of Arduino CLI which is installed on your system." -msgstr "" +msgstr "Показывает номер версии Arduino CLI, установленной в вашей системе." #: internal/cli/version/version.go:36 msgid "Shows version number of Arduino CLI." -msgstr "" +msgstr "Показывает номер версии Arduino CLI." #: internal/cli/board/details.go:189 msgid "Size (bytes):" -msgstr "" +msgstr "Размер (байт):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" msgstr "" +"Нельзя расположить скетч в каталоге сборки. Пожалуйста укажите другой путь " +"сборки" #: internal/cli/sketch/new.go:98 msgid "Sketch created in: %s" -msgstr "" +msgstr "Скетч создан в: %s" #: internal/cli/arguments/profiles.go:33 msgid "Sketch profile to use" -msgstr "" +msgstr "Использовать профиль скетча" #: internal/arduino/builder/sizer.go:190 msgid "Sketch too big; see %[1]s for tips on reducing it." @@ -2198,121 +2395,152 @@ msgid "" "Sketches with .pde extension are deprecated, please rename the following " "files to .ino:" msgstr "" +"Скетчи с расширением .pde устарели, пожалуйста, переименуйте следующие файлы" +" в .ino:" #: internal/arduino/builder/linker.go:30 msgid "Skip linking of final executable." -msgstr "" +msgstr "Пропустить компоновку конечного исполняемого файла." -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" +"Пропуск сенсорного сброса 1200 бит/с: последовательный порт не выбран!" #: internal/arduino/builder/archive_compiled_files.go:27 msgid "Skipping archive creation of: %[1]s" -msgstr "" +msgstr "Пропуск создания архива: %[1]s" #: internal/arduino/builder/compilation.go:183 msgid "Skipping compile of: %[1]s" -msgstr "" +msgstr "Пропуск компиляции: %[1]s" #: internal/arduino/builder/internal/detector/detector.go:414 msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" +"Пропуск обнаружения зависимостей для предварительно скомпилированной " +"библиотеки %[1]s" #: internal/arduino/cores/packagemanager/install_uninstall.go:190 msgid "Skipping platform configuration." -msgstr "" +msgstr "Пропуск конфигурации платформы." #: internal/arduino/cores/packagemanager/install_uninstall.go:306 #: internal/arduino/cores/packagemanager/install_uninstall.go:420 msgid "Skipping pre_uninstall script." -msgstr "" +msgstr "Пропуск скрипта pre_uninstall." #: internal/arduino/cores/packagemanager/install_uninstall.go:368 msgid "Skipping tool configuration." -msgstr "" +msgstr "Пропуск конфигурации инструмента." #: internal/arduino/builder/recipe.go:48 msgid "Skipping: %[1]s" -msgstr "" +msgstr "Пропуск: %[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." -msgstr "" +msgstr "Некоторые индексы не удалось обновить." #: internal/cli/core/upgrade.go:141 msgid "Some upgrades failed, please check the output for details." msgstr "" +"Некоторые обновления не удалось выполнить, проверьте вывод для получения " +"подробной информации." -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" -msgstr "" +msgstr "TCP-порт, который будет прослушивать демон" #: internal/cli/cli.go:177 msgid "The command output format, can be: %s" -msgstr "" +msgstr "Формат вывода команды может быть следующим: %s" #: internal/cli/cli.go:187 msgid "The custom config file (if not specified the default will be used)." msgstr "" +"Пользовательский файл конфигурации (если не указан, будет использован файл " +"по умолчанию)." -#: internal/cli/daemon/daemon.go:98 -msgid "The flag --debug-file must be used with --debug." +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." msgstr "" +"Флаг --build-cache-path устарел. Используйте только --build-path или " +"настройте путь к кэшу сборки в настройках Arduino CLI." + +#: internal/cli/daemon/daemon.go:103 +msgid "The flag --debug-file must be used with --debug." +msgstr "Флаг --debug-file необходимо использовать совместно с --debug." -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." -msgstr "" +msgstr "Данная конфигурация платы/программатора НЕ поддерживает отладку." -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." -msgstr "" +msgstr "Данная конфигурация платы/программатора поддерживает отладку." #: commands/cmderrors/cmderrors.go:876 msgid "The instance is no longer valid and needs to be reinitialized" -msgstr "" +msgstr "Экземпляр недействителен и его необходимо повторно инициализировать" #: internal/cli/config/add.go:57 msgid "" "The key '%[1]v' is not a list of items, can't add to it.\n" "Maybe use '%[2]s'?" msgstr "" +"Ключ '%[1]v' не является списком элементов, к нему нельзя ничего добавить.\n" +"Может быть, использовать '%[2]s'?" #: internal/cli/config/remove.go:57 msgid "" "The key '%[1]v' is not a list of items, can't remove from it.\n" "Maybe use '%[2]s'?" msgstr "" +"Ключ '%[1]v' не является списком элементов, из него нельзя удалить.\n" +"Может быть, использовать '%[2]s'?" #: commands/cmderrors/cmderrors.go:858 msgid "The library %s has multiple installations:" -msgstr "" +msgstr "Библиотека %s имеет несколько установок:" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" +"Имя пользовательского ключа шифрования, используемого для шифрования " +"двоичного файла во время процесса компиляции. Используется только " +"платформами, которые это поддерживают." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." msgstr "" +"Имя пользовательского ключа подписи, используемого для подписи двоичного " +"файла во время процесса компиляции. Используется только платформами, которые" +" это поддерживают." #: internal/cli/cli.go:174 msgid "The output format for the logs, can be: %s" -msgstr "" +msgstr "Формат вывода для логов может быть: %s" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" +"Путь к каталогу для поиска пользовательских ключей для подписи и шифрования " +"двоичного файла. Используется только платформами, которые это поддерживают." #: internal/arduino/builder/libraries.go:151 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" +"Платформа не поддерживает '%[1]s' для предварительно скомпилированных " +"библиотек." #: internal/cli/lib/upgrade.go:36 msgid "" @@ -2321,49 +2549,55 @@ msgid "" "provided, the command will upgrade all the installed libraries where an " "update is available." msgstr "" +"Эта команда обновляет установленную библиотеку до последней доступной " +"версии. Можно передать несколько библиотек, разделенных пробелом. Если " +"аргументы не указаны, команда обновит все установленные библиотеки, для " +"которых доступно обновление." #: internal/cli/outdated/outdated.go:42 msgid "" "This commands shows a list of installed cores and/or libraries\n" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "" +"Эта команда показывает список установленных ядер и/или библиотек, которые можно обновить.\n" +"Если ничего не нужно обновлять, вывод будет пустым." -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." -msgstr "" +msgstr "Отмечать время каждой входящей строки." #: internal/arduino/cores/packagemanager/install_uninstall.go:89 #: internal/arduino/cores/packagemanager/install_uninstall.go:328 msgid "Tool %s already installed" -msgstr "" +msgstr "Инструмент %s уже установлен" #: internal/arduino/cores/packagemanager/install_uninstall.go:432 msgid "Tool %s uninstalled" -msgstr "" +msgstr "Инструмент %s удален" #: commands/service_debug.go:277 msgid "Toolchain '%s' is not supported" -msgstr "" +msgstr "Набор инструментов '%s' не поддерживается" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" -msgstr "" +msgstr "Путь к набору инструментов" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" -msgstr "" +msgstr "Префикс набора инструментов" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" -msgstr "" +msgstr "Тип набора инструментов" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" -msgstr "" +msgstr "Попытка запуска %s" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." -msgstr "" +msgstr "Включает подробный режим." #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Type" @@ -2371,195 +2605,205 @@ msgstr "Тип" #: internal/cli/lib/search.go:209 msgid "Types: %s" -msgstr "" +msgstr "Типы: %s" #: internal/cli/board/details.go:191 msgid "URL:" -msgstr "" +msgstr "URL:" #: internal/arduino/builder/core.go:165 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" +"Невозможно кэшировать сборку ядра, пожалуйста сообщите %[1]s меинтейнерам " +"для решения проблемы %[2]s" #: internal/cli/configuration/configuration.go:95 msgid "Unable to get Documents Folder: %v" -msgstr "" +msgstr "Невозможно получить каталог документов: %v" #: internal/cli/configuration/configuration.go:70 msgid "Unable to get Local App Data Folder: %v" -msgstr "" +msgstr "Невозможно получить локальный каталог данных приложений: %v" #: internal/cli/configuration/configuration.go:58 #: internal/cli/configuration/configuration.go:83 msgid "Unable to get user home dir: %v" -msgstr "" +msgstr "Невозможно получить домашний каталог пользователя: %v" #: internal/cli/cli.go:252 msgid "Unable to open file for logging: %s" -msgstr "" +msgstr "Невозможно открыть файл для логирования: %s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" -msgstr "" +msgstr "Невозможно разобрать URL" #: commands/service_library_uninstall.go:71 #: internal/arduino/cores/packagemanager/install_uninstall.go:280 msgid "Uninstalling %s" -msgstr "" +msgstr "Удаление %s" #: commands/service_platform_uninstall.go:99 #: internal/arduino/cores/packagemanager/install_uninstall.go:166 msgid "Uninstalling %s, tool is no more required" -msgstr "" +msgstr "Удаление %s, инструмент больше не нужен" #: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" "Uninstalls one or more cores and corresponding tool dependencies if no " "longer used." msgstr "" +"Удаляет одно или несколько ядер и зависимости соответствующих инструментов, " +"если они больше не используются." #: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 msgid "Uninstalls one or more libraries." -msgstr "" +msgstr "Удаляет одну или несколько библиотек." #: internal/cli/board/list.go:174 msgid "Unknown" -msgstr "" +msgstr "Неизвестный" #: commands/cmderrors/cmderrors.go:183 msgid "Unknown FQBN" -msgstr "" +msgstr "Неизвестный FQBN" #: internal/cli/update/update.go:37 msgid "Updates the index of cores and libraries" -msgstr "" +msgstr "Обновляет индекс ядер и библиотек" #: internal/cli/update/update.go:38 msgid "Updates the index of cores and libraries to the latest versions." -msgstr "" +msgstr "Обновляет индекс ядер и библиотек до последних версий." #: internal/cli/core/update_index.go:36 msgid "Updates the index of cores to the latest version." -msgstr "" +msgstr "Обновляет индекс ядер до последних версий." #: internal/cli/core/update_index.go:35 msgid "Updates the index of cores." -msgstr "" +msgstr "Обновляет индекс ядер." #: internal/cli/lib/update_index.go:36 msgid "Updates the libraries index to the latest version." -msgstr "" +msgstr "Обновляет индекс библиотек до последних версий." #: internal/cli/lib/update_index.go:35 msgid "Updates the libraries index." -msgstr "" +msgstr "Обновляет индекс библиотек." #: internal/arduino/cores/packagemanager/install_uninstall.go:45 msgid "Upgrade doesn't accept parameters with version" -msgstr "" +msgstr "Обновление не принимает параметры с версией" #: internal/cli/upgrade/upgrade.go:38 msgid "Upgrades installed cores and libraries to latest version." -msgstr "" +msgstr "Обновляет установленные ядра и библиотеки до последней версии." #: internal/cli/upgrade/upgrade.go:37 msgid "Upgrades installed cores and libraries." -msgstr "" +msgstr "Обновляет установленные ядра и библиотеки." #: internal/cli/lib/upgrade.go:35 msgid "Upgrades installed libraries." -msgstr "" +msgstr "Обновляет установленные библиотеки." #: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 msgid "Upgrades one or all installed platforms to the latest version." -msgstr "" +msgstr "Обновляет одну или все установленные платформы до последней версии." #: internal/cli/upload/upload.go:56 msgid "Upload Arduino sketches." -msgstr "" +msgstr "Загрузить скетчи Arduino." #: internal/cli/upload/upload.go:57 msgid "" "Upload Arduino sketches. This does NOT compile the sketch prior to upload." -msgstr "" +msgstr "Загрузить скетчи Arduino. Это НЕ компилирует скетч перед загрузкой." #: internal/cli/arguments/port.go:44 msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" -msgstr "" +msgstr "Адрес порта загрузки, например: COM3 или /dev/ttyACM2" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" -msgstr "" +msgstr "Порт загрузки найден на %s" #: internal/cli/arguments/port.go:48 msgid "Upload port protocol, e.g: serial" -msgstr "" +msgstr "Протокол порта загрузки, например: последовательный" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." -msgstr "" +msgstr "Загрузить двоичный файл после компиляции." #: internal/cli/burnbootloader/burnbootloader.go:49 msgid "Upload the bootloader on the board using an external programmer." -msgstr "" +msgstr "Загрузить загрузчик на плату с помощью внешнего программатора." #: internal/cli/burnbootloader/burnbootloader.go:48 msgid "Upload the bootloader." -msgstr "" +msgstr " Загрузить загрузчик." -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" +"Для загрузки на указанную плату используя протокол %s требуется следующая " +"информация:" #: internal/cli/config/init.go:160 msgid "" "Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" "%s" msgstr "" +"URL не могут содержать запятые. Разделите несколько URL, экспортированных как переменные окружения, пробелом:\n" +"%s" #: internal/cli/usage.go:22 msgid "Usage:" -msgstr "" +msgstr "Использование:" #: internal/cli/usage.go:29 msgid "Use %s for more information about a command." -msgstr "" +msgstr "Используйте %s для получения дополнительной информации о команде." -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" -msgstr "" +msgstr "Использована библиотека" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" -msgstr "" +msgstr "Использована платформа" #: internal/arduino/builder/internal/detector/detector.go:157 msgid "Used: %[1]s" msgstr "Используется: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" -msgstr "" +msgstr "использование платы '%[1]s' из платформы в каталоге: %[2]s" #: internal/arduino/builder/internal/detector/detector.go:351 msgid "Using cached library dependencies for file: %[1]s" -msgstr "" +msgstr "Использование кэшированных библиотечных зависимостей для файла: %[1]s" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" -msgstr "" +msgstr "Использование ядра '%[1]s' из платформы в каталоге: %[2]s" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" -msgstr "" +msgstr "Использование конфигурации монитора по умолчанию для платы: %s" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" msgstr "" +"Использование обобщенной конфигурации монитора.\n" +"ВНИМАНИЕ: для работы вашей платы могут потребоваться другие настройки!\n" #: internal/arduino/builder/libraries.go:312 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" @@ -2571,12 +2815,12 @@ msgstr "Используем библиотеку %[1]s в папке: %[2]s %[3 #: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 msgid "Using precompiled core: %[1]s" -msgstr "" +msgstr "Использование предварительно скомпилированного ядра: %[1]s" #: internal/arduino/builder/libraries.go:98 #: internal/arduino/builder/libraries.go:106 msgid "Using precompiled library in %[1]s" -msgstr "" +msgstr "Использование предварительно скомпилированной библиотеки в %[1]s" #: internal/arduino/builder/archive_compiled_files.go:50 #: internal/arduino/builder/compilation.go:181 @@ -2585,519 +2829,527 @@ msgstr "Используем предварительно скомпилиров #: internal/cli/core/download.go:35 internal/cli/core/install.go:37 msgid "VERSION" -msgstr "" +msgstr "VERSION" #: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 msgid "VERSION_NUMBER" -msgstr "" +msgstr "VERSION_NUMBER" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" -msgstr "" +msgstr "Значения" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." -msgstr "" +msgstr "Проверить загруженный двоичный файл после загрузки." -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" -msgstr "" +msgstr "Версия" #: internal/cli/lib/search.go:210 msgid "Versions: %s" -msgstr "" +msgstr "Версии: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:185 msgid "WARNING cannot configure platform: %s" -msgstr "" +msgstr "ВНИМАНИЕ: невозможно настроить платформу" #: internal/arduino/cores/packagemanager/install_uninstall.go:364 msgid "WARNING cannot configure tool: %s" -msgstr "" +msgstr "ВНИМАНИЕ: не удалось настроить инструмент: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:302 #: internal/arduino/cores/packagemanager/install_uninstall.go:416 msgid "WARNING cannot run pre_uninstall script: %s" -msgstr "" +msgstr "ВНИМАНИЕ: невозможно выполнить скрипт pre_uninstall: %s" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" +"ВНИМАНИЕ: Скетч скомпилирован с использованием одной или нескольких " +"пользовательских библиотек." #: internal/arduino/builder/libraries.go:283 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -"ПРЕДУПРЕЖДЕНИЕ: библиотека %[1]s должна запускаться на архитектурах %[2]s и " -"может быть несовместима с вашей платой на архитектуре %[3]s." +"ВНИМАНИЕ: библиотека %[1]s должна запускаться на архитектуре(-ах) %[2]s и " +"может быть несовместима с вашей платой на архитектуре(-ах) %[3]s." -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." -msgstr "" +msgstr "Ожидание порта загрузки..." -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" +"Внимание: Плата %[1]s не определяет свойство %[2]s. Автоматически " +"установлено: %[3]s" #: internal/cli/lib/search.go:203 msgid "Website: %s" -msgstr "" +msgstr "Веб-сайт: %s" #: internal/cli/config/init.go:45 msgid "Writes current configuration to a configuration file." -msgstr "" +msgstr "Записывает текущую конфигурацию в файл конфигурации." #: internal/cli/config/init.go:48 msgid "" "Writes current configuration to the configuration file in the data " "directory." msgstr "" +"Записывает текущую конфигурацию в файл конфигурации в каталоге данных." -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." -msgstr "" +msgstr "Нельзя использовать флаг %s во время компиляции с профилем." -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" -msgstr "" +msgstr "хэш архива отличается от хэша в индексе" #: internal/arduino/libraries/librariesmanager/install.go:188 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" +"архив не валиден: в верхнем уровне zip-файла обнаружено несколько файлов" #: internal/arduino/libraries/librariesmanager/install.go:191 msgid "archive is not valid: no files found in zip file top level" msgstr "" +"archive is not valid: в верхнем уровне zip-файла не найдено ни одного файла" #: internal/cli/sketch/archive.go:36 msgid "archivePath" -msgstr "" +msgstr "путь к архиву" #: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 msgid "arduino-preprocessor pattern is missing" -msgstr "" +msgstr "отсутствует шаблон препроцессора arduino" #: internal/cli/feedback/stdio.go:37 msgid "available only in text format" -msgstr "" +msgstr "доступно только в текстовом формате" #: internal/cli/lib/search.go:84 msgid "basic search for \"audio\"" -msgstr "" +msgstr "базовый поиск по \"audio\"" #: internal/cli/lib/search.go:89 msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" -msgstr "" +msgstr "базовый поиск по \"esp32\" и \"display\" ограничен официальным меинтейнером" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" -msgstr "" +msgstr "двоичный файл не найден в %s" #: internal/arduino/cores/packagemanager/package_manager.go:348 msgid "board %s not found" -msgstr "" +msgstr "плата %s не найдена" #: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 msgid "boardname" -msgstr "" +msgstr "наименование платы" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 msgid "built-in libraries directory not set" -msgstr "" +msgstr "не установлен каталог встроенных библиотек" #: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 msgid "can't find latest release of %s" -msgstr "" +msgstr "не удается найти последний релиз %s" #: commands/instances.go:272 msgid "can't find latest release of tool %s" -msgstr "" +msgstr "не удалось найти последний релиз инструмента %s" #: internal/arduino/cores/packagemanager/loader.go:712 msgid "can't find pattern for discovery with id %s" -msgstr "" +msgstr "не удалось найти шаблон для обнаружения с идентификатором %s" #: internal/arduino/builder/internal/detector/detector.go:93 msgid "candidates" -msgstr "" +msgstr "кандидаты" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" -msgstr "" +msgstr "не удалось выполнить загрузку инструмента: %s" #: internal/arduino/resources/install.go:40 msgid "checking local archive integrity" -msgstr "" +msgstr "проверка целостности локального архива" #: internal/arduino/builder/build_options_manager.go:111 #: internal/arduino/builder/build_options_manager.go:114 msgid "cleaning build path" -msgstr "" +msgstr "очистка пути сборки" #: internal/cli/cli.go:90 msgid "command" -msgstr "" +msgstr "команда" #: internal/arduino/monitor/monitor.go:149 msgid "command '%[1]s' failed: %[2]s" -msgstr "" +msgstr "команда '%[1]s' не выполнена: %[2]s" #: internal/arduino/monitor/monitor.go:146 #: internal/arduino/monitor/monitor.go:152 msgid "communication out of sync, expected '%[1]s', received '%[2]s'" -msgstr "" +msgstr "коммуникация не синхронизирована, ожидалось '%[1]s', получено '%[2]s'" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" -msgstr "" +msgstr "вычисление хэша: %s" #: internal/arduino/cores/fqbn.go:81 msgid "config key %s contains an invalid character" -msgstr "" +msgstr "ключ конфигурации %s содержит недопустимый символ" #: internal/arduino/cores/fqbn.go:86 msgid "config value %s contains an invalid character" -msgstr "" +msgstr "значение конфигурации %s содержит недопустимый символ" #: internal/arduino/libraries/librariesmanager/install.go:141 msgid "copying library to destination directory:" -msgstr "" +msgstr "копирование библиотеки в целевой каталог:" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" -msgstr "" +msgstr "не удалось найти валидный артефакт сборки" #: commands/service_platform_install.go:94 msgid "could not overwrite" -msgstr "" +msgstr "не удалось перезаписать" #: commands/service_library_install.go:190 msgid "could not remove old library" -msgstr "" +msgstr "не удалось удалить старую библиотеку" #: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 #: internal/arduino/sketch/yaml.go:88 msgid "could not update sketch project file" -msgstr "" +msgstr "не удалось обновить файл проекта скетча" #: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 msgid "creating core cache folder: %s" -msgstr "" +msgstr "создание основного каталога кэша: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:219 msgid "creating installed.json in %[1]s: %[2]s" -msgstr "" +msgstr "создание файла installed.json в %[1]s: %[2]s" #: internal/arduino/resources/install.go:45 #: internal/arduino/resources/install.go:49 msgid "creating temp dir for extraction: %s" -msgstr "" +msgstr " создание временного каталога для извлечения: %s" #: internal/arduino/builder/sizer.go:196 msgid "data section exceeds available space in board" -msgstr "" +msgstr "раздел данных превышает доступное пространство на плате" #: commands/service_library_resolve_deps.go:86 msgid "dependency '%s' is not available" -msgstr "" +msgstr "зависимость '%s' недоступна" #: internal/arduino/libraries/librariesmanager/install.go:94 msgid "destination dir %s already exists, cannot install" -msgstr "" +msgstr "целевой каталог %s уже существует, невозможно установить" #: internal/arduino/libraries/librariesmanager/install.go:138 msgid "destination directory already exists" -msgstr "" +msgstr "целевой каталог уже существует" #: internal/arduino/libraries/librariesmanager/install.go:278 msgid "directory doesn't exist: %s" -msgstr "" +msgstr "не существует каталог: %s" #: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 msgid "discovery %[1]s process not started" -msgstr "" +msgstr "процесс обнаружения %[1]s не запущен" #: internal/arduino/cores/packagemanager/loader.go:644 msgid "discovery %s not found" -msgstr "" +msgstr "обнаружение %s не найдено" #: internal/arduino/cores/packagemanager/loader.go:648 msgid "discovery %s not installed" -msgstr "" +msgstr "обнаружение %s не установлено" #: internal/arduino/cores/packagemanager/package_manager.go:746 msgid "discovery release not found: %s" -msgstr "" +msgstr "релиз обнаружения не найден: %s" #: internal/cli/core/download.go:40 internal/cli/core/install.go:42 msgid "download a specific version (in this case 1.6.9)." -msgstr "" +msgstr "скачать определенную версию (в данном случае 1.6.9)." #: internal/cli/core/download.go:39 internal/cli/core/install.go:40 msgid "download the latest version of Arduino SAMD core." -msgstr "" +msgstr "скачать последнюю версию ядра Arduino SAMD." #: internal/cli/feedback/rpc_progress.go:74 msgid "downloaded" -msgstr "" +msgstr "скачивание завершено" #: commands/instances.go:55 msgid "downloading %[1]s tool: %[2]s" -msgstr "" +msgstr "скачивание %[1]s инструмента: %[2]s" #: internal/arduino/cores/fqbn.go:60 msgid "empty board identifier" -msgstr "" +msgstr "не заполнен идентификатор платы" #: internal/arduino/sketch/sketch.go:93 msgid "error loading sketch project file:" -msgstr "" +msgstr "ошибка загрузки файла проекта скетча:" #: internal/arduino/cores/packagemanager/loader.go:615 msgid "error opening %s" -msgstr "" +msgstr "ошибка открытия %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" -msgstr "" +msgstr "ошибка разбора ограничений версии" #: commands/service_board_list.go:115 msgid "error processing response from server" -msgstr "" +msgstr "ошибка обработки ответа от сервера" #: commands/service_board_list.go:95 msgid "error querying Arduino Cloud Api" -msgstr "" +msgstr "ошибка запроса Arduino Cloud Api" #: internal/arduino/libraries/librariesmanager/install.go:179 msgid "extracting archive" -msgstr "" +msgstr "распаковка архива" #: internal/arduino/resources/install.go:68 msgid "extracting archive: %s" -msgstr "" +msgstr "распаковка архива: %s" #: internal/arduino/resources/checksums.go:143 msgid "failed to compute hash of file \"%s\"" -msgstr "" +msgstr "не удалось вычислить хэш файла \"%s\"" #: commands/service_board_list.go:90 msgid "failed to initialize http client" -msgstr "" +msgstr "не удалось инициализировать http-клиент" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "" +"размер извлеченного архива отличается от размера, указанного в индексе" #: internal/arduino/resources/install.go:123 msgid "files in archive must be placed in a subdirectory" -msgstr "" +msgstr "файлы в архиве должны быть помещены в подкаталог" #: internal/arduino/cores/packagemanager/loader.go:59 msgid "finding absolute path of %s" -msgstr "" +msgstr "нахождение абсолютного пути %s" #: internal/cli/cli.go:90 msgid "flags" -msgstr "" +msgstr "флаги" #: internal/arduino/cores/packagemanager/loader.go:98 msgid "following symlink %s" -msgstr "" +msgstr "следующая символическая ссылка %s" #: internal/cli/lib/download.go:40 msgid "for a specific version." -msgstr "" +msgstr "для конкретной версии." #: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 #: internal/cli/lib/install.go:49 msgid "for the latest version." -msgstr "" +msgstr "для последней версии." #: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 #: internal/cli/lib/install.go:52 msgid "for the specific version." -msgstr "" +msgstr "для конкретной версии." #: internal/arduino/cores/fqbn.go:66 msgid "fqbn's field %s contains an invalid character" -msgstr "" +msgstr "поле fqbn %s содержит недопустимый символ" #: internal/inventory/inventory.go:67 msgid "generating installation.id" -msgstr "" +msgstr "генерация installation.id" #: internal/inventory/inventory.go:73 msgid "generating installation.secret" -msgstr "" +msgstr "генерация installation.secret" #: internal/arduino/resources/download.go:55 msgid "getting archive file info: %s" -msgstr "" +msgstr "получение информации об архивном файле: %s" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" -msgstr "" +msgstr "получение информации об архиве: %s" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 msgid "getting archive path: %s" -msgstr "" +msgstr "получение пути к архиву: %s" #: internal/arduino/cores/packagemanager/package_manager.go:354 msgid "getting build properties for board %[1]s: %[2]s" -msgstr "" +msgstr "получение свойств сборки для платы %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/download.go:106 msgid "getting discovery dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "получение зависимостей обнаружения для платформы %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/download.go:114 msgid "getting monitor dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "получение зависимостей монитора для платформы %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/download.go:99 msgid "getting tool dependencies for platform %[1]s: %[2]s" -msgstr "" +msgstr "получение зависимостей инструмента для платформы %[1]s: %[2]s" #: internal/arduino/libraries/librariesmanager/install.go:149 msgid "install directory not set" -msgstr "" +msgstr "не задан каталог для установки" #: commands/instances.go:59 msgid "installing %[1]s tool: %[2]s" -msgstr "" +msgstr "установка %[1]s инструмента: %[2]s" #: internal/arduino/cores/packagemanager/install_uninstall.go:211 msgid "installing platform %[1]s: %[2]s" -msgstr "" +msgstr "установка платформы %[1]s: %[2]s" #: internal/cli/feedback/terminal.go:38 msgid "interactive terminal not supported for the '%s' output format" -msgstr "" +msgstr "интерактивный терминал не поддерживается форматом вывода '%s'" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" -msgstr "" +msgstr "неверная директива '%s'" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" -msgstr "" +msgstr "неверный формат контрольной суммы: %s" #: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 msgid "invalid config option: %s" -msgstr "" +msgstr "неверный параметр конфигурации: %s" #: internal/cli/arguments/reference.go:92 msgid "invalid empty core architecture '%s'" -msgstr "" +msgstr "неверная пустая архитектура ядра '%s'" #: internal/cli/arguments/reference.go:69 msgid "invalid empty core argument" -msgstr "" +msgstr "неверный пустой аргумент ядра" #: internal/cli/arguments/reference.go:89 msgid "invalid empty core name '%s'" -msgstr "" +msgstr "неверное пустое наименование ядра '%s'" #: internal/cli/arguments/reference.go:74 msgid "invalid empty core reference '%s'" -msgstr "" +msgstr "неверная пустая ссылка на ядро '%s'" #: internal/cli/arguments/reference.go:79 msgid "invalid empty core version: '%s'" -msgstr "" +msgstr "неверная пустая версия ядра: '%s'" #: internal/cli/lib/args.go:49 msgid "invalid empty library name" -msgstr "" +msgstr "неверное пустое наименование библиотеки" #: internal/cli/lib/args.go:54 msgid "invalid empty library version: %s" -msgstr "" +msgstr "неверная пустая версия библиотеки: %s" #: internal/arduino/cores/board.go:143 msgid "invalid empty option found" -msgstr "" +msgstr "найден неверный пустой параметр" #: internal/arduino/libraries/librariesmanager/install.go:268 msgid "invalid git url" -msgstr "" +msgstr "неверный git url" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" -msgstr "" +msgstr "неверный хэш '%[1]s': %[2]s" #: internal/cli/arguments/reference.go:86 msgid "invalid item %s" -msgstr "" +msgstr "неверный элемент %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" -msgstr "" +msgstr "неверный каталог библиотеки:" #: internal/arduino/libraries/libraries_layout.go:67 msgid "invalid library layout: %s" -msgstr "" +msgstr "неверная компоновка библиотеки: %s" #: internal/arduino/libraries/libraries_location.go:90 msgid "invalid library location: %s" -msgstr "" +msgstr "неверное расположение библиотеки: %s" #: internal/arduino/libraries/loader.go:140 msgid "invalid library: no header files found" -msgstr "" +msgstr "недействительная библиотека: заголовочные файлы не найдены" #: internal/arduino/cores/board.go:146 msgid "invalid option '%s'" -msgstr "" +msgstr "недопустимый параметр '%s'" #: internal/cli/arguments/show_properties.go:52 msgid "invalid option '%s'." -msgstr "" +msgstr "недопустимый параметр '%s'." #: internal/inventory/inventory.go:92 msgid "invalid path creating config dir: %[1]s error" -msgstr "" +msgstr "неверный путь создания конфигурационного каталога: %[1]s ошибка" #: internal/inventory/inventory.go:98 msgid "invalid path writing inventory file: %[1]s error" -msgstr "" +msgstr "неверный путь записи файла инвентаризации: %[1]s ошибка" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" -msgstr "" +msgstr "неверный размер архива платформы: %s" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" -msgstr "" +msgstr "неверный идентификатор платформы" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" -msgstr "" +msgstr "Неверный URL индекса платформы:" #: internal/arduino/cores/packagemanager/loader.go:326 msgid "invalid pluggable monitor reference: %s" -msgstr "" +msgstr "неверная ссылка на подключаемый монитор: %s" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" -msgstr "" +msgstr "неверное значение в конфигурации порта для %s: %s" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" -msgstr "" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "неверная конфигурация порта: %s=%s" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" -msgstr "" +msgstr "неверный рецепт '%[1]s': %[2]s" #: commands/service_sketch_new.go:86 msgid "" @@ -3105,541 +3357,552 @@ msgid "" "\"_\", the following ones can also contain \"-\" and \".\". The last one " "cannot be \".\"." msgstr "" +"недопустимое наименование скетча \"%[1]s\": первый символ должен быть " +"буквенно-цифровым или \"_\", последующие могут также содержать \"-\" и " +"\".\". Последний не может быть \".\"." #: internal/arduino/cores/board.go:150 msgid "invalid value '%[1]s' for option '%[2]s'" -msgstr "" +msgstr "недопустимое значение '%[1]s' для параметра '%[2]s'" #: internal/arduino/cores/packagemanager/loader.go:231 msgid "invalid version directory %s" -msgstr "" +msgstr "недействительный каталог версий %s" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" -msgstr "" +msgstr "недействительная версия:" #: internal/cli/core/search.go:39 msgid "keywords" -msgstr "" +msgstr "ключевые слова" #: internal/cli/lib/search.go:87 msgid "libraries authored by Daniel Garcia" -msgstr "" +msgstr "библиотеки авторства Даниэля Гарсия" #: internal/cli/lib/search.go:88 msgid "libraries authored only by Adafruit with \"gfx\" in their Name" -msgstr "" +msgstr "библиотеки, созданные только Adafruit и имеющие в названии «gfx»" #: internal/cli/lib/search.go:90 msgid "libraries that depend on at least \"IRremote\"" -msgstr "" +msgstr "библиотеки зависящие как минимум от \"IRremote\"" #: internal/cli/lib/search.go:91 msgid "libraries that depend only on \"IRremote\"" -msgstr "" +msgstr "библиотеки зависящие только от \"IRremote\"" #: internal/cli/lib/search.go:85 msgid "libraries with \"buzzer\" in the Name field" -msgstr "" +msgstr "библиотеки, в поле Название которых указано «buzzer»" #: internal/cli/lib/search.go:86 msgid "libraries with a Name exactly matching \"pcf8523\"" -msgstr "" +msgstr "библиотеки с наименованием, точно совпадающим с \"pcf8523\"" #: internal/arduino/libraries/librariesmanager/install.go:126 msgid "library %s already installed" -msgstr "" +msgstr "библиотека %s уже установлена" #: internal/arduino/libraries/librariesmanager/install.go:315 msgid "library not valid" -msgstr "" +msgstr "библиотека не найдена" #: internal/arduino/cores/packagemanager/loader.go:255 #: internal/arduino/cores/packagemanager/loader.go:268 #: internal/arduino/cores/packagemanager/loader.go:276 msgid "loading %[1]s: %[2]s" -msgstr "" +msgstr "загрузка %[1]s: %[2]s" #: internal/arduino/cores/packagemanager/loader.go:314 msgid "loading boards: %s" -msgstr "" +msgstr "загрузка плат: %s" #: internal/arduino/cores/packagemanager/package_manager.go:501 #: internal/arduino/cores/packagemanager/package_manager.go:516 msgid "loading json index file %[1]s: %[2]s" -msgstr "" +msgstr "загрузка индексного файла json %[1]s: %[2]s" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 msgid "loading library from %[1]s: %[2]s" -msgstr "" +msgstr "загрузка библиотеки из %[1]s: %[2]s" #: internal/arduino/libraries/loader.go:55 msgid "loading library.properties: %s" -msgstr "" +msgstr "загрузка library.properties: %s" #: internal/arduino/cores/packagemanager/loader.go:208 #: internal/arduino/cores/packagemanager/loader.go:236 msgid "loading platform release %s" -msgstr "" +msgstr "загрузка релиза платформы %s" #: internal/arduino/cores/packagemanager/loader.go:195 msgid "loading platform.txt" -msgstr "" +msgstr "загрузка platform.txt" #: internal/arduino/cores/packagemanager/profiles.go:47 msgid "loading required platform %s" -msgstr "" +msgstr "загрузка необходимой платформы %s" #: internal/arduino/cores/packagemanager/profiles.go:63 msgid "loading required tool %s" -msgstr "" +msgstr "загрузка необходимого инструмента %s" #: internal/arduino/cores/packagemanager/loader.go:590 msgid "loading tool release in %s" -msgstr "" +msgstr "загрузка релиза инструмента в %s" #: internal/arduino/cores/packagemanager/loader.go:188 msgid "looking for boards.txt in %s" -msgstr "" +msgstr "поиск boards.txt в %s" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" -msgstr "" +msgstr "поиск артефактов сборки" #: internal/arduino/sketch/sketch.go:77 msgid "main file missing from sketch: %s" -msgstr "" +msgstr "в скетче отсутствует основной файл: %s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" -msgstr "" +msgstr "отсутствует директива '%s'" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" -msgstr "" +msgstr "отсутствует контрольная сумма для: %s" #: internal/arduino/cores/packagemanager/package_manager.go:462 msgid "missing package %[1]s referenced by board %[2]s" -msgstr "" +msgstr "отсутствует пакет %[1]s, на который ссылается плата %[2]s" #: internal/cli/core/upgrade.go:101 msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" +"отсутствует индекс пакета для %s, последующие обновления не могут быть " +"гарантированы" #: internal/arduino/cores/packagemanager/package_manager.go:467 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" -msgstr "" +msgstr "отсутствует релиз платформы %[1]s:%[2]s на которую ссылается %[3]s" #: internal/arduino/cores/packagemanager/package_manager.go:472 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" -msgstr "" +msgstr "отсутствует релиз платформы %[1]s:%[2]s на которую ссылается %[3]s" #: internal/arduino/resources/index.go:153 msgid "missing signature" -msgstr "" +msgstr "отсутствует сигнатура" #: internal/arduino/cores/packagemanager/package_manager.go:757 msgid "monitor release not found: %s" -msgstr "" +msgstr "релиз монитора не найден: %s" #: internal/arduino/libraries/librariesmanager/install.go:197 #: internal/arduino/libraries/librariesmanager/install.go:246 #: internal/arduino/resources/install.go:97 msgid "moving extracted archive to destination dir: %s" -msgstr "" +msgstr "перемещение извлеченного архива в каталог назначения: %s" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" -msgstr "" +msgstr "найдено несколько артефактов сборки: '%[1]s' и '%[2]s'" #: internal/arduino/sketch/sketch.go:69 msgid "multiple main sketch files found (%[1]v, %[2]v)" -msgstr "" +msgstr "найдено несколько основных файлов скетчей (%[1]v, %[2]v)" #: internal/arduino/cores/packagemanager/install_uninstall.go:338 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" +"для текущей ОС не найдена совместимая версия инструмента %[1]s, обратитесь к" +" %[2]s" #: commands/service_board_list.go:273 msgid "no instance specified" -msgstr "" +msgstr "не указан экземпляр" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" -msgstr "" +msgstr "скетч или каталог/файл сборки не указан" #: internal/arduino/sketch/sketch.go:56 msgid "no such file or directory" -msgstr "" +msgstr "файл или каталог не найден" #: internal/arduino/resources/install.go:126 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" +"нет уникального корневого каталога в архиве, найдены '%[1]s' и '%[2]s'" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" -msgstr "" +msgstr "порт загрузки не указан" #: internal/arduino/sketch/sketch.go:279 msgid "no valid sketch found in %[1]s: missing %[2]s" -msgstr "" +msgstr "не найдено скетчей в %[1]s: отсутствует %[2]s" #: internal/arduino/cores/packagemanager/download.go:128 msgid "no versions available for the current OS, try contacting %s" -msgstr "" +msgstr "нет доступных версий для текущей ОС, попробуйте связаться с %s" #: internal/arduino/cores/fqbn.go:50 msgid "not an FQBN: %s" -msgstr "" +msgstr "не FQBN: %s" #: internal/cli/feedback/terminal.go:52 msgid "not running in a terminal" -msgstr "" +msgstr "не работает в терминале" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" -msgstr "" +msgstr "открытие файла архива: %s" #: internal/arduino/cores/packagemanager/loader.go:224 msgid "opening boards.txt" -msgstr "" +msgstr "открытие boards.txt" #: internal/arduino/security/signatures.go:81 msgid "opening signature file: %s" -msgstr "" +msgstr "открывается файл сигнатуры:" #: internal/arduino/security/signatures.go:76 msgid "opening target file: %s" -msgstr "" +msgstr "открывается целевой файл: %s" #: internal/arduino/cores/packagemanager/download.go:76 #: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 #: internal/arduino/cores/status.go:149 msgid "package %s not found" -msgstr "" +msgstr "пакет %s не найден" #: internal/arduino/cores/packagemanager/package_manager.go:530 msgid "package '%s' not found" -msgstr "" +msgstr "пакет '%s' не найден" #: internal/arduino/cores/board.go:166 #: internal/arduino/cores/packagemanager/package_manager.go:295 msgid "parsing fqbn: %s" -msgstr "" +msgstr "разбор fqbn: %s" #: internal/arduino/libraries/librariesindex/json.go:70 msgid "parsing library_index.json: %s" -msgstr "" +msgstr "разбор library_index.json: %s" #: internal/arduino/cores/packagemanager/loader.go:179 msgid "path is not a platform directory: %s" -msgstr "" +msgstr "путь не является каталогом платформы: %s" #: internal/arduino/cores/packagemanager/download.go:80 msgid "platform %[1]s not found in package %[2]s" -msgstr "" +msgstr "платформа %[1]s не найдена в пакете %[2]s" #: internal/arduino/cores/packagemanager/package_manager.go:341 msgid "platform %s is not installed" -msgstr "" +msgstr "платформа %s не установлена" #: internal/arduino/cores/packagemanager/download.go:92 msgid "platform is not available for your OS" -msgstr "" +msgstr "платформа не доступна для вашей ОС" #: commands/service_compile.go:126 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" -msgstr "" +msgstr "платформа не установлена" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." -msgstr "" +msgstr "используйте вместо этого --build-property." #: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 msgid "pluggable discovery already added: %s" -msgstr "" +msgstr "подключаемое обнаружение уже добавлено: %s" #: internal/cli/board/attach.go:35 msgid "port" -msgstr "" +msgstr "порт" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" -msgstr "" +msgstr "порт не найден: %[1]s %[2]s" #: internal/cli/board/attach.go:35 msgid "programmer" -msgstr "" +msgstr "программатор" #: internal/arduino/monitor/monitor.go:235 msgid "protocol version not supported: requested %[1]d, got %[2]d" -msgstr "" +msgstr "версия протокола не поддерживается: требуется %[1]d, получена %[2]d" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 msgid "reading dir %[1]s: %[2]s" -msgstr "" +msgstr "чтение каталога %[1]s: %[2]s" #: internal/arduino/libraries/loader.go:199 msgid "reading directory %[1]s content" -msgstr "" +msgstr "чтение содержимого каталога %[1]s " #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 #: internal/arduino/cores/packagemanager/loader.go:582 msgid "reading directory %s" -msgstr "" +msgstr "чтение каталога %s" #: internal/arduino/libraries/librariesmanager/install.go:288 msgid "reading directory %s content" -msgstr "" +msgstr "чтение содержимого каталога %s " #: internal/arduino/builder/sketch.go:81 msgid "reading file %[1]s: %[2]s" -msgstr "" +msgstr "чтение файла %[1]s: %[2]s" #: internal/arduino/sketch/sketch.go:198 msgid "reading files" -msgstr "" +msgstr "чтение файлов" #: internal/arduino/libraries/librariesresolver/cpp.go:90 msgid "reading lib headers: %s" -msgstr "" +msgstr "чтение заголовков библиотек: %s" #: internal/arduino/libraries/libraries.go:115 msgid "reading library headers" -msgstr "" +msgstr "чтение заголовков библиотек" #: internal/arduino/libraries/libraries.go:227 msgid "reading library source directory: %s" -msgstr "" +msgstr "чтение исходного каталога библиотеки: %s" #: internal/arduino/libraries/librariesindex/json.go:64 msgid "reading library_index.json: %s" -msgstr "" +msgstr "чтение library_index.json: %s" #: internal/arduino/resources/install.go:116 msgid "reading package root dir: %s" -msgstr "" +msgstr "чтение корневого каталога пакета: %s" #: internal/arduino/sketch/sketch.go:108 msgid "reading sketch files" -msgstr "" +msgstr "чтение файлов скетчей" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" -msgstr "" +msgstr "не найден рецепт '%s'" #: internal/arduino/cores/packagemanager/package_manager.go:606 msgid "release %[1]s not found for tool %[2]s" -msgstr "" +msgstr "релиз %[1]s не найден для инструмента %[2]s" #: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 #: internal/arduino/cores/status.go:142 msgid "release cannot be nil" -msgstr "" +msgstr "релиз не может быть пустым" #: internal/arduino/resources/download.go:46 msgid "removing corrupted archive file: %s" -msgstr "" +msgstr "удаление поврежденного файла архива: %s" #: internal/arduino/libraries/librariesmanager/install.go:152 msgid "removing library directory: %s" -msgstr "" +msgstr "удаление каталога библиотеки: %s" #: internal/arduino/cores/packagemanager/install_uninstall.go:310 msgid "removing platform files: %s" -msgstr "" +msgstr "удаление файлов платформы: %s" #: internal/arduino/cores/packagemanager/download.go:87 msgid "required version %[1]s not found for platform %[2]s" -msgstr "" +msgstr "не найдена необходимая версия %[1]s для платформы %[2]s" #: internal/arduino/security/signatures.go:72 msgid "retrieving Arduino public keys: %s" -msgstr "" +msgstr "получение открытых ключей Arduino: %s" #: internal/arduino/libraries/loader.go:117 #: internal/arduino/libraries/loader.go:155 msgid "scanning sketch examples" -msgstr "" +msgstr "сканирование примеров скетчей" #: internal/arduino/resources/install.go:74 msgid "searching package root dir: %s" -msgstr "" +msgstr "поиск корневого каталога пакета: %s" #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" -msgstr "" +msgstr "наименование скетча не может быть пустым" #: commands/service_sketch_new.go:91 msgid "sketch name cannot be the reserved name \"%[1]s\"" msgstr "" +"наименование скетча не может быть зарезервированным наименованием \"%[1]s\"" #: commands/service_sketch_new.go:81 msgid "" "sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" msgstr "" +"наименование скетча слишком длинное (%[1]d символов). Максимально допустимая" +" длина %[2]d" #: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 msgid "sketch path is not valid" -msgstr "" +msgstr "недопустимый путь к скетчу" #: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 msgid "sketchPath" -msgstr "" +msgstr "путь скетча" #: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 msgid "starting discovery %s" -msgstr "" +msgstr "запуск обнаружения %s" #: internal/arduino/resources/checksums.go:117 msgid "testing archive checksum: %s" -msgstr "" +msgstr "проверка контрольной суммы архива: %s" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" -msgstr "" +msgstr "проверка размера архива: %s" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" -msgstr "" +msgstr "проверка кэширован ли архив: %s" #: internal/arduino/resources/install.go:38 msgid "testing local archive integrity: %s" -msgstr "" +msgstr "проверка целостности локального архива: %s" #: internal/arduino/builder/sizer.go:191 msgid "text section exceeds available space in board" -msgstr "" +msgstr "секция текста превышает доступное пространство на плате" #: internal/arduino/builder/internal/detector/detector.go:214 #: internal/arduino/builder/internal/preprocessor/ctags.go:70 msgid "the compilation database may be incomplete or inaccurate" -msgstr "" +msgstr "база данных компиляции может быть неполной или неточной" #: commands/service_board_list.go:102 msgid "the server responded with status %s" -msgstr "" +msgstr "сервер ответил статусом %s" #: internal/arduino/monitor/monitor.go:139 msgid "timeout waiting for message" -msgstr "" +msgstr "тайм-аут ожидания сообщения" #: internal/arduino/cores/packagemanager/install_uninstall.go:404 msgid "tool %s is not managed by package manager" -msgstr "" +msgstr "инструмент %s не контролируется менеджером пакетов" #: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 #: internal/arduino/cores/status.go:153 msgid "tool %s not found" -msgstr "" +msgstr "инструмент %s не найден" #: internal/arduino/cores/packagemanager/package_manager.go:556 msgid "tool '%[1]s' not found in package '%[2]s'" -msgstr "" +msgstr "инструмент '%[1]s' не найден в пакете '%[2]s'" #: internal/arduino/cores/packagemanager/install_uninstall.go:399 msgid "tool not installed" -msgstr "" +msgstr "инструмент не установлен" #: internal/arduino/cores/packagemanager/package_manager.go:735 #: internal/arduino/cores/packagemanager/package_manager.go:841 msgid "tool release not found: %s" -msgstr "" +msgstr "релиз инструмента не найден: %s" #: internal/arduino/cores/status.go:105 msgid "tool version %s not found" -msgstr "" +msgstr "версия инструмента %s не найдена" #: commands/service_library_install.go:92 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" -msgstr "" +msgstr "две различные версии библиотеки %[1]s необходимы: %[2]s и %[3]s" #: internal/arduino/builder/sketch.go:74 #: internal/arduino/builder/sketch.go:118 msgid "unable to compute relative path to the sketch for the item" -msgstr "" +msgstr "невозможно определить относительный путь к скетчу для элемента" #: internal/arduino/builder/sketch.go:43 msgid "unable to create a folder to save the sketch" -msgstr "" +msgstr "невозможно создать каталог для сохранения скетча" #: internal/arduino/builder/sketch.go:124 msgid "unable to create the folder containing the item" -msgstr "" +msgstr "невозможно создать каталог для хранения элемента" #: internal/cli/config/get.go:85 msgid "unable to marshal config to YAML: %v" -msgstr "" +msgstr "невозможно преобразовать конфигурацию в YAML: %v" #: internal/arduino/builder/sketch.go:162 msgid "unable to read contents of the destination item" -msgstr "" +msgstr "невозможно прочитать содержимое целевого элемента" #: internal/arduino/builder/sketch.go:135 msgid "unable to read contents of the source item" -msgstr "" +msgstr "невозможно прочитать содержимое исходного элемента" #: internal/arduino/builder/sketch.go:145 msgid "unable to write to destination file" -msgstr "" +msgstr "невозможно записать в целевой файл" #: internal/arduino/cores/packagemanager/package_manager.go:329 msgid "unknown package %s" -msgstr "" +msgstr "неизвестный пакет %s" #: internal/arduino/cores/packagemanager/package_manager.go:336 msgid "unknown platform %s:%s" -msgstr "" +msgstr "неизвестная платформа %s: %s" #: internal/arduino/sketch/sketch.go:137 msgid "unknown sketch file extension '%s'" -msgstr "" +msgstr "неизвестное расширение файла скетча '%s'" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" -msgstr "" +msgstr "неподдерживаемый алгоритм хэширования: %s" #: internal/cli/core/upgrade.go:44 msgid "upgrade arduino:samd to the latest version" -msgstr "" +msgstr "обновить arduino:samd до последней версии" #: internal/cli/core/upgrade.go:42 msgid "upgrade everything to the latest version" -msgstr "" +msgstr "обновить все до последней версии" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" -msgstr "" +msgstr "ошибка при загрузке: %s" #: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 msgid "user directory not set" -msgstr "" +msgstr "пользовательский каталог не задан" #: internal/cli/feedback/terminal.go:94 msgid "user input not supported for the '%s' output format" -msgstr "" +msgstr "пользовательский ввод не поддерживается для формата вывода '%s'" #: internal/cli/feedback/terminal.go:97 msgid "user input not supported in non interactive mode" -msgstr "" +msgstr "пользовательский ввод не поддерживается в неинтерактивном режиме" #: internal/arduino/cores/packagemanager/profiles.go:175 msgid "version %s not available for this operating system" -msgstr "" +msgstr "версия %s недоступна для данной операционной системы" #: internal/arduino/cores/packagemanager/profiles.go:154 msgid "version %s not found" -msgstr "" +msgstr "версия %s не найдена" #: commands/service_board_list.go:120 msgid "wrong format in server response" -msgstr "" +msgstr "неверный формат в ответе сервера" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index c3ead48a325..df6a5922aa6 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -29,7 +29,7 @@ msgstr "%[1]s 无效,全部重建" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s 是必需的,但当前已安装 %[2]s。" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s 模式丢失" @@ -37,7 +37,7 @@ msgstr "%[1]s 模式丢失" msgid "%s already downloaded" msgstr "%s 已经下载" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" @@ -58,6 +58,10 @@ msgstr "%s 不是目录" msgid "%s is not managed by package manager" msgstr "%s 不是由软件包管理器管理的" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s 必须安装" @@ -158,7 +162,7 @@ msgstr "添加原型时出错" msgid "An error occurred detecting libraries" msgstr "检测库时出错" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "附加除错日志到特定文件" @@ -238,7 +242,7 @@ msgstr "可用" msgid "Available Commands:" msgstr "可用命令:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "要上传的二进制文件。" @@ -259,9 +263,11 @@ msgstr "开发板版本:" msgid "Bootloader file specified but missing: %[1]s" msgstr "已指定引导加载程序文件,缺少:%[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." -msgstr "‘core.a’ 的构建被保存到这个路径中,以便被缓存和重复使用。" +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." +msgstr "" #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -289,19 +295,19 @@ msgstr "无法打开项目" msgid "Can't update sketch" msgstr "无法更新项目" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "不能同时使用以下参数:%s" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "无法写入调试日志:%s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "无法新建构建缓存目录" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "无法新建构建目录" @@ -347,7 +353,7 @@ msgstr "无法安装平台" msgid "Cannot install tool %s" msgstr "无法安装 %s 工具 " -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "无法执行端口重置:%s" @@ -368,7 +374,7 @@ msgstr "类别:%s" msgid "Check dependencies status for the specified library." msgstr "检查指定库的依赖状态。" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "请提供给定的开发板/编程器组合以检查是否支持调试。" @@ -394,7 +400,7 @@ msgid "" "a change." msgstr "命令保持运行,并在发生更改时打印已连接开发板的列表。" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已编译项目" @@ -402,11 +408,11 @@ msgstr "在 %s 中找不到已编译项目" msgid "Compiles Arduino sketches." msgstr "编译 Arduino 项目" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "正在编译内核。。。" -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "正在编译库。。。" @@ -414,7 +420,7 @@ msgstr "正在编译库。。。" msgid "Compiling library \"%[1]s\"" msgstr "正在编译 “%[1]s” 库" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "正在编译项目。。。" @@ -427,11 +433,11 @@ msgstr "配置文件已经存在,使用 --overwrite 弃用现有的配置文 msgid "Config file written to: %s" msgstr "配置文件写入:%s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "%s 的配置选项" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -449,7 +455,7 @@ msgstr "配置工具。" msgid "Connected" msgstr "已连接" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "" @@ -461,7 +467,7 @@ msgstr "内核" msgid "Could not connect via HTTP" msgstr "无法通过 HTTP 连接" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "无法新建索引目录" @@ -481,7 +487,7 @@ msgstr "无法获得当前工作目录:%v" msgid "Create a new Sketch" msgstr "新建项目" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "从构建中创建并打印一个配置文件的内容。" @@ -495,13 +501,13 @@ msgid "" "directory with the current configuration settings." msgstr "用当前的配置创建或更新数据目录或自定义目录中的配置文件。" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前,Build Profiles 只支持通过 Arduino Library Manager 提供的库。" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "%s的个性化设置:" @@ -510,28 +516,28 @@ msgstr "%s的个性化设置:" msgid "DEPRECATED" msgstr "已弃用" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "守护进程正在监听 %s:%s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "调试 Arduino 项目" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "调试 Arduino 项目(此命令打开交互式 gdb 会话)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "调试解释器,例如:%s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "%s 开发板不支持调试" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "默认" @@ -578,11 +584,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "检测并显示连接到电脑的开发板的列表。" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "包含用于调试的二进制文件的目录。" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "包含用于上传的二进制文件的目录。" @@ -600,7 +606,7 @@ msgstr "对于支持完成描述的 shell,禁用完成描述" msgid "Disconnected" msgstr "已断开连接" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "只显示提供的 gRPC 调用" @@ -616,12 +622,12 @@ msgstr "不要覆盖已经安装的库。" msgid "Do not overwrite already installed platforms." msgstr "不要覆盖已经安装的平台。" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "不执行实际上传操作,只注销操作" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "如果父进程终止,则守护进程不终止。" @@ -637,8 +643,8 @@ msgstr "正在下载 %s" msgid "Downloading index signature: %s" msgstr "正在下载 %s 索引签名" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "正在下载 %s 索引" @@ -671,7 +677,7 @@ msgstr "下载一个或多个内核和相应的工具依赖" msgid "Downloads one or more libraries without installing them." msgstr "下载一个或多个库而不安装它们。" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "启用 gRPC 调用的调试日志" @@ -703,11 +709,11 @@ msgstr "计算相对文件路径时出错" msgid "Error cleaning caches: %v" msgstr "清理缓存出错:%v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "将路径转换为绝对路径时出错:%v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "复制输出 %s 文件时出错" @@ -721,7 +727,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "新建实例时出错:%v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "新建输出目录时出错" @@ -746,7 +752,7 @@ msgstr "下载 %[1]s 时出错:%[2]v" msgid "Error downloading %s" msgstr "下载 %s 时出错" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下载 ‘%s’ 索引时出错" @@ -768,7 +774,7 @@ msgstr "下载 %s 平台时出错" msgid "Error downloading tool %s" msgstr "下载 %s 工具时出错" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "调试时出错:%v" @@ -776,18 +782,18 @@ msgstr "调试时出错:%v" msgid "Error during JSON encoding of the output: %v" msgstr "输出编码 JSON 过程时出错:%v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "上传时出错:%v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "构建时出错:%v" @@ -808,11 +814,11 @@ msgstr "升级时出错:%v" msgid "Error extracting %s" msgstr "提取 %s 时出错" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "查找构建项目时出错" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "获取调试信息时出错:%v" @@ -828,13 +834,13 @@ msgstr "获取开发板详细信息时出错:%v" msgid "Error getting current directory for compilation database: %s" msgstr "获取编译数据库的当前目录时出错:%s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "从 `sketch.yaml` 获取默认端口时出错。检查是否在正确的 sketch 文件夹中,或提供 --port 标志: " -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "获取 %s 库的信息时出错" @@ -842,15 +848,15 @@ msgstr "获取 %s 库的信息时出错" msgid "Error getting libraries info: %v" msgstr "获取库信息时出错:%v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "获取端口元数据出错:%v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "获取端口设置详细信息时出错:%s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "获取用户输入时出错" @@ -910,19 +916,19 @@ msgstr "加载 %s 索引时出错" msgid "Error opening %s" msgstr "打开 %s 时出错" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "打开调试日志文件出错:%s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "打开源代码覆盖数据文件时出错:%v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 参数时出错:%v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "读取构建目录时出错" @@ -968,7 +974,7 @@ msgstr "搜索平台时出错:%v" msgid "Error serializing compilation database: %s" msgstr "序列化编译数据库时出错:%s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "原始的设置出错:%s" @@ -1024,7 +1030,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "错误:%v 不支持命令说明" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "错误:无效的源代码覆盖了数据文件:%v" @@ -1040,11 +1046,11 @@ msgstr "%s 库的示例" msgid "Examples:" msgstr "示例:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "可执行调试" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "应在 %s 目录中编译项目,但它是一个文件" @@ -1058,15 +1064,15 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "芯片擦除失败" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "编译失败" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "无法烧录引导加载程序" @@ -1078,23 +1084,23 @@ msgstr "新建数据目录失败" msgid "Failed to create downloads directory" msgstr "新建下载文件夹失败" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "未能侦听 TCP 端口:%[1]s。%[2]s 是无效端口。" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "未能侦听 TCP 端口:%[1]s。%[2]s 是未知名称。" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "未能侦听 TCP 端口:%[1]s。意外错误:%[2]v" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "未能侦听 TCP 端口:%s。地址已被使用。" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "上传失败" @@ -1112,7 +1118,7 @@ msgstr "固件加密或签名需要定义以下所有属性:%s" msgid "First message must contain debug request, not data" msgstr "第一条消息必须包含调试请求,而不是数据" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "参数 %[1]s 是强制使用的,当与以下内容一起使用时:%[2]s" @@ -1189,7 +1195,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全局变量使用 %[1]s 字节的动态内存。" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1202,7 +1208,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "标识属性:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "如果设定,则构建的二进制文件将导出到项目文件夹。" @@ -1271,7 +1277,7 @@ msgstr "无效的 ‘%[1]s’ 属性:%[2]s" msgid "Invalid FQBN" msgstr "无效的 FQBN" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "无效的 TCP 地址:缺少端口" @@ -1293,7 +1299,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "传递的参数无效:%v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "无效的构建属性" @@ -1305,7 +1311,7 @@ msgstr "无效的数据大小正则表达式:%s" msgid "Invalid eeprom size regexp: %s" msgstr "无效的 eeprom 大小正则表达式:%s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "无效的网站主页: %s" @@ -1325,7 +1331,7 @@ msgstr "无效的库" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "" @@ -1337,7 +1343,7 @@ msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "%s 中的软件包索引无效" @@ -1373,7 +1379,7 @@ msgstr "无效的版本" msgid "Invalid vid value: '%s'" msgstr "无效的 vid 值:‘%s’" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1440,7 +1446,7 @@ msgstr "已安装的库" msgid "License: %s" msgstr "许可证:%s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "将所有内容链接在一起。。。" @@ -1464,7 +1470,7 @@ msgid "" " multiple options." msgstr "用逗号分隔的开发板选项列表。可以对多个选项多次使用。" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1503,7 +1509,7 @@ msgstr "可用内存不足,可能会出现稳定性问题。" msgid "Maintainer: %s" msgstr "维护者:%s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1542,7 +1548,7 @@ msgstr "找不到端口协议" msgid "Missing programmer" msgstr "找不到编程器" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "缺少必要的上传字段:%s" @@ -1558,7 +1564,7 @@ msgstr "缺少项目路径" msgid "Monitor '%s' not found" msgstr "未找到 ‘%s’ 监视器" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "监视端口设置:" @@ -1576,7 +1582,7 @@ msgstr "名" msgid "Name: \"%s\"" msgstr "名:“%s”" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "新的上传端口%[1]s(%[2]s)" @@ -1628,7 +1634,7 @@ msgstr "没有任何平台被安装。" msgid "No platforms matching your search." msgstr "没有与你的搜索匹配的平台。" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "未找到上传端口,使用 %s 作为后备" @@ -1658,7 +1664,7 @@ msgid "" "compact JSON output)." msgstr "省略库中除最新版本之外的所有版本(生成更紧凑的 JSON 输出)。" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "开启开发板的通信端口。" @@ -1666,40 +1672,53 @@ msgstr "开启开发板的通信端口。" msgid "Option:" msgstr "选项:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "可选,可以是:%s。用于告诉 gcc 使用哪个警告级别(-W 参数)。" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "可选,清理构建文件夹并且不使用任何缓存构建。" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "可选,优化编译输出用于调试,而不是发布。" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "可选,禁止几乎所有输出。" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "可选,开启详细模式。" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "可选。 包含一组替换项目源代码的文件的路径。" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "使用自定义值替代构建属性。可以对多个属性多次使用。" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "覆盖现有的配置文件。" @@ -1741,17 +1760,17 @@ msgstr "软件包网站:" msgid "Paragraph: %s" msgstr "段落:%s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "路径" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "一个库的集合的路径。可以多次使用,或者可以用逗号分隔条目。" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1761,13 +1780,13 @@ msgstr "单个库的根文件夹的路径。可以多次使用,或者可以用 msgid "Path to the file where logs will be written." msgstr "写入日志的文件的路径。" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已编译文件的路径。如果省略,将在操作系统的默认临时路径中创建目录。" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 端口上执行 1200-bps TOUCH 重置" @@ -1780,7 +1799,7 @@ msgstr "%s 平台已经安装" msgid "Platform %s installed" msgstr "已安装 %s 平台" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1804,7 +1823,7 @@ msgstr "未找到 ‘%s’ 平台" msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "平台 ID 不正确" @@ -1852,7 +1871,7 @@ msgstr "请指定一个 FQBN。%[1]s 端口上的开发板与协议 %[2]s 不能 msgid "Port" msgstr "端口" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "端口关闭:%v" @@ -1869,7 +1888,7 @@ msgstr "在 “%[1]s” 中找不到预编译库" msgid "Print details about a board." msgstr "打印开发板的详细信息。" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "将预处理的代码打印到标准输出,而不是编译。" @@ -1937,11 +1956,11 @@ msgstr "用 %[2]s 替换 %[1]s 平台" msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "以静默模式运行,仅显示监视器输入和输出。" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" @@ -1958,11 +1977,11 @@ msgstr "运行 pre_uninstall 命令。" msgid "SEARCH_TERM" msgstr "搜索_条件" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "SVD 文件路径" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "将生成文件保存在此目录中。" @@ -2076,7 +2095,7 @@ msgstr "搜索与查询匹配的一个或多个库文件。" msgid "Sentence: %s" msgstr "句子:%s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "服务器路径" @@ -2084,15 +2103,15 @@ msgstr "服务器路径" msgid "Server responded with: %s" msgstr "服务器响应:%s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "服务器类型" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "为上传所需的字段设置值。" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "将终端设置为原始模式(无缓冲)。" @@ -2112,11 +2131,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "设置端口和 FQBN 的默认值。如果未指定端口、FQBN 或编程器,则显示当前默认端口、FQBN 和编程器。" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "设置保存配置文件的位置。" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "设置" @@ -2128,7 +2151,7 @@ msgstr "" msgid "Show all available core versions." msgstr "显示所有可用的内核版本。" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "显示通讯端口的所有设置。" @@ -2160,7 +2183,7 @@ msgstr "只显示库名。" msgid "Show list of available programmers" msgstr "显示可用编程器列表" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "显示有关调试会话的元数据,而不是启动调试器。" @@ -2211,7 +2234,7 @@ msgstr "显示 Arduino CLI 的版本号。" msgid "Size (bytes):" msgstr "大小(字节):" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2245,7 +2268,7 @@ msgstr "项目 .pde 扩展名已弃用,请将以下文件重命名为 .ino:" msgid "Skip linking of final executable." msgstr "跳过最终可执行文件的链接。" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳过 1200-bps TOUCH 重置:未选择串口!" @@ -2278,7 +2301,7 @@ msgstr "跳过工具配置。" msgid "Skipping: %[1]s" msgstr "跳过:%[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "一些索引无法更新。" @@ -2286,7 +2309,7 @@ msgstr "一些索引无法更新。" msgid "Some upgrades failed, please check the output for details." msgstr "有一些升级失败了,请查看输出结果以了解详情。" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "守护进程将监听的 TCP 端口" @@ -2298,15 +2321,21 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "自定义配置文件(如果未指定,将使用默认值)。" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "参数 --debug-file 必须与 --debug 一起使用。" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "给定的开发板/编程器配置不支持调试。" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "给定的开发板/编程器配置支持调试。" @@ -2334,13 +2363,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "库 %s 有多个安装。" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定义加密密钥的名称,用于在编译过程中对二进制文件进行加密。只在支持它的平台上使用。" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2350,7 +2379,7 @@ msgstr "自定义签名密钥的名称,用于在编译过程中对二进制文 msgid "The output format for the logs, can be: %s" msgstr "日志的输出格​​式,可以是:%s" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2374,7 +2403,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此命令显示可升级的已安装内核和库或其一的列表。如果不需要更新任何内容,则输出为空。" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "显示时间戳。" @@ -2391,23 +2420,23 @@ msgstr "%s 工具已经卸载" msgid "Toolchain '%s' is not supported" msgstr "不支持 ‘%s’ 工具链" -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "工具链路径" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "工具链前缀" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "工具链类型" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "尝试运行 %s" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "打开详细模式。" @@ -2445,7 +2474,7 @@ msgstr "无法获取用户主目录:%v" msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "无法解析地址" @@ -2534,7 +2563,7 @@ msgstr "上传 Arduino 项目。不会在上传之前编译项目。" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上传端口地址,例如:COM3 或 /dev/ttyACM2" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "在 %s 上找到上传端口" @@ -2542,7 +2571,7 @@ msgstr "在 %s 上找到上传端口" msgid "Upload port protocol, e.g: serial" msgstr "上传端口协议,例如:串行" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "编译后上传二进制文件。" @@ -2554,7 +2583,7 @@ msgstr "使用外部编程器将引导加载程序上传到板上。" msgid "Upload the bootloader." msgstr "上传引导加载程序。" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "使用 %s 协议上传到指定的开发板需要以下信息:" @@ -2575,11 +2604,11 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 获取有关命令的更多信息。" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "已使用的库" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "已使用的平台" @@ -2587,7 +2616,7 @@ msgstr "已使用的平台" msgid "Used: %[1]s" msgstr "使用:%[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s" @@ -2595,15 +2624,15 @@ msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s msgid "Using cached library dependencies for file: %[1]s" msgstr "使用缓存库文件依赖项:%[1]s" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 代码,在列出的文件夹中:%[2]s" -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2639,16 +2668,16 @@ msgstr "版本" msgid "VERSION_NUMBER" msgstr "版本号" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "值" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "上传后验证上传的二进制文件。" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" @@ -2670,7 +2699,7 @@ msgstr "警告无法配置工具:%s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告!无法运行 pre_uninstall 命令%s" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告:该项目是用一个或多个自定义库编译的。" @@ -2680,11 +2709,11 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告:%[1]s 库声称在 %[2]s 体系结构上运行,可能与当前在 %[3]s 体系结构上运行的开发板不兼容。" -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "正在等待上传端口。。。" -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告:%[1]s 开发板未定义 %[2]s 首选项。自动设置为:%[3]s" @@ -2703,11 +2732,11 @@ msgid "" "directory." msgstr "将当前配置写入数据目录中的配置文件。" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "在用配置文件编译时,你不能使用 %s 参数。" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "存档哈希与索引中的哈希不同" @@ -2739,7 +2768,7 @@ msgstr "基本搜索 \"audio\"" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基础搜索只由官方维护的 \"esp32\" 和 \"display\" 字段" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "在 %s 中找不到二进制文件" @@ -2771,7 +2800,7 @@ msgstr "找不到 id 为 %s 的 discovery" msgid "candidates" msgstr "候选" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "无法使用上传工具:%s" @@ -2797,7 +2826,7 @@ msgstr "‘%[1]s’ 命令失败:%[2]s" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "通信不同步,应为 ‘%[1]s’,收到 ‘%[2]s’" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "计算哈希:%s" @@ -2813,7 +2842,7 @@ msgstr "配置的值 %s 包含无效字符" msgid "copying library to destination directory:" msgstr "将库复制到目标目录:" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "找不到有效的构建项目" @@ -2907,7 +2936,7 @@ msgstr "加载项目文件时错误:" msgid "error opening %s" msgstr " 开启 %s 时错误" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "解析版本约束时错误" @@ -2935,7 +2964,7 @@ msgstr "无法计算 “%s” 文件的哈希值" msgid "failed to initialize http client" msgstr "未能初始化 http 客户端" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "提取的档存大小与索引中指定的大小不同" @@ -2985,12 +3014,12 @@ msgstr "" msgid "getting archive file info: %s" msgstr "正在获取存档文件信息:%s" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "正在获取存档信息:%s" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -3029,11 +3058,11 @@ msgstr "安装 %[1]s 平台: %[2]s" msgid "interactive terminal not supported for the '%s' output format" msgstr "“%s” 的输出格式不支持交互式终端" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "无效的 ‘%s’ 指令" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "无效的校验码格式:%s" @@ -3077,7 +3106,7 @@ msgstr "发现无效的空选项" msgid "invalid git url" msgstr "无效的 git 地址" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 哈希:%[2]s" @@ -3085,7 +3114,7 @@ msgstr "无效的 ‘%[1]s’ 哈希:%[2]s" msgid "invalid item %s" msgstr "无效的 %s 条目" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "无效的库指令:" @@ -3117,15 +3146,15 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "无效的平台存档大小:%s" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "无效的平台标识符" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "无效的平台索引网址:" @@ -3133,15 +3162,15 @@ msgstr "无效的平台索引网址:" msgid "invalid pluggable monitor reference: %s" msgstr "无效的热插拔监视器引用:%s" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "%s 的端口配置值无效:%s" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" -msgstr "无效的端口配置:%s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 方法: %[2]s" @@ -3160,7 +3189,7 @@ msgstr "‘%[2]s’ 选项的 ‘%[1]s’ 值无效" msgid "invalid version directory %s" msgstr "%s 版本目录无效" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "无效的版本:" @@ -3248,7 +3277,7 @@ msgstr "在 %s 中加载工具发行版本" msgid "looking for boards.txt in %s" msgstr "在 %s 中查找 boards.txt" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "寻找构建产物" @@ -3256,11 +3285,11 @@ msgstr "寻找构建产物" msgid "main file missing from sketch: %s" msgstr "项目中缺少主文件:%s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "缺少 ‘%s’ 指令" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "缺少校验码:%s" @@ -3294,7 +3323,7 @@ msgstr "未找到公开监视器:%s" msgid "moving extracted archive to destination dir: %s" msgstr "正在将提取的存档移动到目标目录:%s" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多个构建文件:‘%[1]s’ 和 ‘%[2]s’" @@ -3312,7 +3341,7 @@ msgstr "没有找到适用于当前操作系统的 %[1]s 工具的兼容版本 msgid "no instance specified" msgstr "没有指定实例" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "未指定项目或构建目录/文件" @@ -3324,7 +3353,7 @@ msgstr "没有这样的文件或目录" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存档中没有唯一的根目录,找到了 ‘%[1]s’ 和 ‘%[2]s’" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "未提供上传端口" @@ -3344,7 +3373,7 @@ msgstr "" msgid "not running in a terminal" msgstr "未在终端中运行" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "正在打开存档文件:%s" @@ -3403,7 +3432,7 @@ msgstr "该平台不适用于您的操作系统" msgid "platform not installed" msgstr "平台未安装" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "请改用 --build-property。" @@ -3415,7 +3444,7 @@ msgstr "已添加可插入 discovery:%s" msgid "port" msgstr "端口" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "未找到端口:%[1]s %[2]s" @@ -3478,7 +3507,7 @@ msgstr "正在读取软件包根目录:%s" msgid "reading sketch files" msgstr "阅读项目文件" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "未找到 ‘%s’ 方法" @@ -3549,11 +3578,11 @@ msgstr "开始发现 %s" msgid "testing archive checksum: %s" msgstr "测试存档校验码:%s" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "测试存档大小:%s" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "测试存档是否被缓存:%s" @@ -3650,7 +3679,7 @@ msgstr "未知 %s 平台:%s" msgid "unknown sketch file extension '%s'" msgstr "未知的项目文件扩展名 ‘%s’" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "不支持的哈希算法:%s" @@ -3662,7 +3691,7 @@ msgstr "将 arduino:samd 升级到最新版本" msgid "upgrade everything to the latest version" msgstr "将所有内容升级到最新版本" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "上传错误:%s" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 021f1c18b6a..6acf4d1f0ba 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -1,10 +1,10 @@ # # Translators: -# yubike, 2024 +# coby2023t, 2024 # msgid "" msgstr "" -"Last-Translator: yubike, 2024\n" +"Last-Translator: coby2023t, 2024\n" "Language-Team: Chinese (Taiwan) (https://app.transifex.com/arduino-1/teams/108174/zh_TW/)\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -25,7 +25,7 @@ msgstr "%[1]s 無效,重新建構全部" msgid "%[1]s is required but %[2]s is currently installed." msgstr "需要 %[1]s ,但已安裝 %[2]s" -#: internal/arduino/builder/builder.go:488 +#: internal/arduino/builder/builder.go:486 msgid "%[1]s pattern is missing" msgstr "%[1]s 樣態遺失" @@ -33,7 +33,7 @@ msgstr "%[1]s 樣態遺失" msgid "%s already downloaded" msgstr "%s 已經下載" -#: commands/service_upload.go:754 +#: commands/service_upload.go:781 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" @@ -54,6 +54,10 @@ msgstr "%s 不是目錄" msgid "%s is not managed by package manager" msgstr "%s 不是由套件管理員管理的" +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "必須安裝 %s " @@ -154,7 +158,7 @@ msgstr "新增原型時出錯" msgid "An error occurred detecting libraries" msgstr "偵測程式庫時出錯" -#: internal/cli/daemon/daemon.go:85 +#: internal/cli/daemon/daemon.go:87 msgid "Append debug logging to the specified file" msgstr "添加除錯日誌到指定檔案" @@ -234,7 +238,7 @@ msgstr "可用的" msgid "Available Commands:" msgstr "可用命令:" -#: internal/cli/upload/upload.go:74 +#: internal/cli/upload/upload.go:75 msgid "Binary file to upload." msgstr "要上傳的二進位檔" @@ -255,9 +259,11 @@ msgstr "開發板版本:" msgid "Bootloader file specified but missing: %[1]s" msgstr "找不到指定的 Bootloader 檔: %[1]s" -#: internal/cli/compile/compile.go:98 -msgid "Builds of 'core.a' are saved into this path to be cached and reused." -msgstr "'core.a'的編譯檔已存到這路徑,方便快取和重複使用" +#: internal/cli/compile/compile.go:101 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." +msgstr "相關 core 和 sketch 的編譯檔案將快取在這路徑上。" #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -285,19 +291,19 @@ msgstr "無法打開 sketch" msgid "Can't update sketch" msgstr "無法更新 sketch" -#: internal/cli/arguments/arguments.go:34 +#: internal/cli/arguments/arguments.go:38 msgid "Can't use the following flags together: %s" msgstr "不能同時使用下列參數: %s" -#: internal/cli/daemon/daemon.go:112 +#: internal/cli/daemon/daemon.go:117 msgid "Can't write debug log: %s" msgstr "無法寫入除錯日誌: %s" -#: commands/service_compile.go:190 commands/service_compile.go:199 +#: commands/service_compile.go:187 commands/service_compile.go:190 msgid "Cannot create build cache directory" msgstr "無法建立編譯快取的目錄" -#: commands/service_compile.go:177 +#: commands/service_compile.go:212 msgid "Cannot create build directory" msgstr "無法建立編譯目錄" @@ -343,7 +349,7 @@ msgstr "無法安裝平台" msgid "Cannot install tool %s" msgstr "無法安裝工具 %s" -#: commands/service_upload.go:532 +#: commands/service_upload.go:543 msgid "Cannot perform port reset: %s" msgstr "無法執行連接埠重設: %s" @@ -364,7 +370,7 @@ msgstr "類別:%s" msgid "Check dependencies status for the specified library." msgstr "檢查指定程式庫的相依狀態" -#: internal/cli/debug/debug_check.go:41 +#: internal/cli/debug/debug_check.go:42 msgid "Check if the given board/programmer combination supports debugging." msgstr "檢查指定的板子/燒錄器是否支援除錯。" @@ -390,7 +396,7 @@ msgid "" "a change." msgstr "命令保持執行, 在有更動時列出連接的開發板" -#: commands/service_debug_config.go:176 commands/service_upload.go:440 +#: commands/service_debug_config.go:178 commands/service_upload.go:451 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已編譯的 sketch" @@ -398,11 +404,11 @@ msgstr "在 %s 中找不到已編譯的 sketch" msgid "Compiles Arduino sketches." msgstr "編譯 Arduino sketch" -#: internal/arduino/builder/builder.go:422 +#: internal/arduino/builder/builder.go:420 msgid "Compiling core..." msgstr "編譯核心..." -#: internal/arduino/builder/builder.go:401 +#: internal/arduino/builder/builder.go:399 msgid "Compiling libraries..." msgstr "編譯程式庫..." @@ -410,7 +416,7 @@ msgstr "編譯程式庫..." msgid "Compiling library \"%[1]s\"" msgstr "編譯程式庫 “%[1]s”" -#: internal/arduino/builder/builder.go:385 +#: internal/arduino/builder/builder.go:383 msgid "Compiling sketch..." msgstr "編譯 sketch ..." @@ -423,11 +429,11 @@ msgstr "設定檔已存在,使用 --overwrite 覆蓋它" msgid "Config file written to: %s" msgstr "設定檔寫入:%s" -#: internal/cli/debug/debug.go:241 +#: internal/cli/debug/debug.go:250 msgid "Configuration options for %s" msgstr "%s 的設定選項" -#: internal/cli/monitor/monitor.go:77 +#: internal/cli/monitor/monitor.go:78 msgid "" "Configure communication port settings. The format is " "<ID>=<value>[,<ID>=<value>]..." @@ -445,7 +451,7 @@ msgstr "設定工具" msgid "Connected" msgstr "已連接" -#: internal/cli/monitor/monitor.go:259 +#: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." msgstr "連接 %s 中。按 CTRL-C 結束。" @@ -457,7 +463,7 @@ msgstr "核心" msgid "Could not connect via HTTP" msgstr "無法通過 HTTP 連接" -#: commands/instances.go:484 +#: commands/instances.go:486 msgid "Could not create index directory" msgstr "無法建立索引目錄" @@ -477,7 +483,7 @@ msgstr "無法取得工作目錄:%v" msgid "Create a new Sketch" msgstr "建立新 sketch" -#: internal/cli/compile/compile.go:95 +#: internal/cli/compile/compile.go:98 msgid "Create and print a profile configuration from the build." msgstr "從建構中建立並印出設定檔內容" @@ -491,13 +497,13 @@ msgid "" "directory with the current configuration settings." msgstr "用目前的設定值建立或更新資料或自定義目錄內的設定檔" -#: internal/cli/compile/compile.go:327 +#: internal/cli/compile/compile.go:331 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." msgstr "目前建構方案只支援 Arduino 程式庫管理員所提供的程式庫" -#: internal/cli/debug/debug.go:257 +#: internal/cli/debug/debug.go:266 msgid "Custom configuration for %s:" msgstr "%s的客製化設定:" @@ -506,28 +512,28 @@ msgstr "%s的客製化設定:" msgid "DEPRECATED" msgstr "已棄用" -#: internal/cli/daemon/daemon.go:188 +#: internal/cli/daemon/daemon.go:195 msgid "Daemon is now listening on %s:%s" msgstr "背景程式正在監聽 %s:%s" -#: internal/cli/debug/debug.go:52 +#: internal/cli/debug/debug.go:53 msgid "Debug Arduino sketches." msgstr "除錯 Arduino sketch" -#: internal/cli/debug/debug.go:53 +#: internal/cli/debug/debug.go:54 msgid "" "Debug Arduino sketches. (this command opens an interactive gdb session)" msgstr "除錯 Arduino sketch (此命令會開啟互動式 gdb 對話)" -#: internal/cli/debug/debug.go:66 internal/cli/debug/debug_check.go:50 +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 msgid "Debug interpreter e.g.: %s" msgstr "除錯解譯器,例如:%s" -#: commands/service_debug_config.go:206 +#: commands/service_debug_config.go:215 msgid "Debugging not supported for board %s" msgstr "不支援 %s 開發板除錯" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Default" msgstr "預設" @@ -574,11 +580,11 @@ msgid "" "Detects and displays a list of boards connected to the current computer." msgstr "檢測並顯示連接到電腦的開發板清單" -#: internal/cli/debug/debug.go:67 +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 msgid "Directory containing binaries for debug." msgstr "目錄內有除錯用二進位檔" -#: internal/cli/upload/upload.go:73 +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 msgid "Directory containing binaries to upload." msgstr "目錄內有上傳用二進位檔" @@ -596,7 +602,7 @@ msgstr "關閉 shell 的完成描述功能" msgid "Disconnected" msgstr "斷開連接" -#: internal/cli/daemon/daemon.go:88 +#: internal/cli/daemon/daemon.go:90 msgid "Display only the provided gRPC calls" msgstr "只顯示提供的 gRPC 呼叫" @@ -612,12 +618,12 @@ msgstr "不要覆蓋已安裝的程式庫" msgid "Do not overwrite already installed platforms." msgstr "不要覆蓋已安裝的平台" -#: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/upload/upload.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 msgid "Do not perform the actual upload, just log out actions" msgstr "不要真的上傳,取消動作" -#: internal/cli/daemon/daemon.go:79 +#: internal/cli/daemon/daemon.go:81 msgid "Do not terminate daemon process if the parent process dies" msgstr "就算父程序已 GG,也不要中止背景程式" @@ -633,8 +639,8 @@ msgstr "下載 %s" msgid "Downloading index signature: %s" msgstr "下載索引簽名: %s" -#: commands/instances.go:561 commands/instances.go:579 -#: commands/instances.go:593 commands/instances.go:610 +#: commands/instances.go:563 commands/instances.go:581 +#: commands/instances.go:595 commands/instances.go:612 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "下載索引: %s" @@ -667,7 +673,7 @@ msgstr "下載一或多個核心及工具相依" msgid "Downloads one or more libraries without installing them." msgstr "下載一或多個程式庫, 但不安裝" -#: internal/cli/daemon/daemon.go:82 +#: internal/cli/daemon/daemon.go:84 msgid "Enable debug logging of gRPC calls" msgstr "啟用 gRPC 呼叫的除錯記錄" @@ -699,11 +705,11 @@ msgstr "計算相對檔案路徑時出錯" msgid "Error cleaning caches: %v" msgstr "清理快取時出錯: %v" -#: internal/cli/compile/compile.go:216 +#: internal/cli/compile/compile.go:220 msgid "Error converting path to absolute: %v" msgstr "將路徑轉換成絕對路徑時出錯: %v" -#: commands/service_compile.go:403 +#: commands/service_compile.go:405 msgid "Error copying output file %s" msgstr "複製輸出檔 %s 時出錯" @@ -717,7 +723,7 @@ msgstr "建立設定檔出錯: %v" msgid "Error creating instance: %v" msgstr "建立實例時出錯: %v" -#: commands/service_compile.go:387 +#: commands/service_compile.go:389 msgid "Error creating output dir" msgstr "建立輸出目錄時出錯" @@ -742,7 +748,7 @@ msgstr "下載 %[1]s 出錯: %[2]v" msgid "Error downloading %s" msgstr "下載 %s 出錯" -#: commands/instances.go:658 internal/arduino/resources/index.go:83 +#: commands/instances.go:660 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下載索引'%s'時出錯" @@ -764,7 +770,7 @@ msgstr "下載平台 %s 出錯" msgid "Error downloading tool %s" msgstr "下載工具 %s 出錯" -#: internal/cli/debug/debug.go:153 internal/cli/debug/debug.go:186 +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 msgid "Error during Debug: %v" msgstr "除錯時出錯: %v" @@ -772,18 +778,18 @@ msgstr "除錯時出錯: %v" msgid "Error during JSON encoding of the output: %v" msgstr "輸出 JSON 編碼過程出錯:%v" -#: internal/cli/burnbootloader/burnbootloader.go:76 -#: internal/cli/burnbootloader/burnbootloader.go:97 -#: internal/cli/compile/compile.go:260 internal/cli/compile/compile.go:302 -#: internal/cli/upload/upload.go:96 internal/cli/upload/upload.go:125 +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" -#: internal/cli/arguments/port.go:138 +#: internal/cli/arguments/port.go:144 msgid "Error during board detection" msgstr "開發板偵測時出現錯誤。" -#: internal/cli/compile/compile.go:375 +#: internal/cli/compile/compile.go:379 msgid "Error during build: %v" msgstr "建構時出錯: %v" @@ -804,11 +810,11 @@ msgstr "升級時出錯: %v" msgid "Error extracting %s" msgstr "解開 %s 時出錯" -#: commands/service_upload.go:437 +#: commands/service_upload.go:448 msgid "Error finding build artifacts" msgstr "尋找建構成品時出錯" -#: internal/cli/debug/debug.go:130 +#: internal/cli/debug/debug.go:139 msgid "Error getting Debug info: %v" msgstr "取得除錯資訊時出錯: %v" @@ -824,13 +830,13 @@ msgstr "取得開發板細節時出錯: %v" msgid "Error getting current directory for compilation database: %s" msgstr "取得編譯資料庫所在目錄時出錯: %s" -#: internal/cli/monitor/monitor.go:104 +#: internal/cli/monitor/monitor.go:105 msgid "" "Error getting default port from `sketch.yaml`. Check if you're in the " "correct sketch folder or provide the --port flag: %s" msgstr "從 `sketch.yaml` 取得預設連接埠出錯. 請檢查是否在正確的 sketch 目錄下, 或者提供 --port 參數: %s" -#: commands/service_compile.go:326 commands/service_library_list.go:115 +#: commands/service_compile.go:328 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "取得程式庫 %s 資訊時出錯" @@ -838,15 +844,15 @@ msgstr "取得程式庫 %s 資訊時出錯" msgid "Error getting libraries info: %v" msgstr "取得程式庫資訊時出錯: %v" -#: internal/cli/arguments/fqbn.go:92 +#: internal/cli/arguments/fqbn.go:96 msgid "Error getting port metadata: %v" msgstr "取得連接埠資訊出錯: %v" -#: internal/cli/monitor/monitor.go:155 +#: internal/cli/monitor/monitor.go:154 msgid "Error getting port settings details: %s" msgstr "取得連接埠設定細節出錯: %s" -#: internal/cli/upload/upload.go:166 +#: internal/cli/upload/upload.go:169 msgid "Error getting user input" msgstr "取得用戶輸入時出錯" @@ -906,19 +912,19 @@ msgstr "載入索引 %s 出錯" msgid "Error opening %s" msgstr "開啟 %s 時出錯" -#: internal/cli/daemon/daemon.go:106 +#: internal/cli/daemon/daemon.go:111 msgid "Error opening debug logging file: %s" msgstr "打開除錯日誌檔出錯: %s" -#: internal/cli/compile/compile.go:189 +#: internal/cli/compile/compile.go:193 msgid "Error opening source code overrides data file: %v" msgstr "打開原始碼覆寫資料檔時出錯: %v" -#: internal/cli/compile/compile.go:202 +#: internal/cli/compile/compile.go:206 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 參數出錯: %v" -#: commands/service_compile.go:396 +#: commands/service_compile.go:398 msgid "Error reading build directory" msgstr "讀取建構目錄時出錯" @@ -964,7 +970,7 @@ msgstr "搜尋平台時出錯: %v" msgid "Error serializing compilation database: %s" msgstr "序列化編譯資料庫時出錯: %s" -#: internal/cli/monitor/monitor.go:223 +#: internal/cli/monitor/monitor.go:224 msgid "Error setting raw mode: %s" msgstr "設定原始模式出錯: %s" @@ -1020,7 +1026,7 @@ msgstr "寫入檔案時出錯: %v" msgid "Error: command description is not supported by %v" msgstr "錯誤: %v 不支持命令說明" -#: internal/cli/compile/compile.go:195 +#: internal/cli/compile/compile.go:199 msgid "Error: invalid source code overrides data file: %v" msgstr "錯誤: 無效原始碼覆蓋了資料檔: %v" @@ -1036,11 +1042,11 @@ msgstr "%s 程式庫的範例" msgid "Examples:" msgstr "範例:" -#: internal/cli/debug/debug.go:224 +#: internal/cli/debug/debug.go:233 msgid "Executable to debug" msgstr "可執行來除錯" -#: commands/service_debug_config.go:179 commands/service_upload.go:443 +#: commands/service_debug_config.go:181 commands/service_upload.go:454 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "%s 目錄內應該有已編譯的 sketch,卻只有個檔案" @@ -1054,15 +1060,15 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:566 +#: commands/service_upload.go:577 msgid "Failed chip erase" msgstr "晶片擦除失敗" -#: commands/service_upload.go:573 +#: commands/service_upload.go:584 msgid "Failed programming" msgstr "燒錄失敗" -#: commands/service_upload.go:569 +#: commands/service_upload.go:580 msgid "Failed to burn bootloader" msgstr "燒錄 bootloader 失敗" @@ -1074,23 +1080,23 @@ msgstr "建立資料目錄失敗" msgid "Failed to create downloads directory" msgstr "建立下載檔案夾失敗" -#: internal/cli/daemon/daemon.go:143 +#: internal/cli/daemon/daemon.go:150 msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." msgstr "監聽 TCP 埠失敗: %[1]s. %[2]s 是無效連接埠" -#: internal/cli/daemon/daemon.go:138 +#: internal/cli/daemon/daemon.go:145 msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." msgstr "監聽 TCP 埠失敗: %[1]s. %[2]s 是未知名稱" -#: internal/cli/daemon/daemon.go:150 +#: internal/cli/daemon/daemon.go:157 msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" msgstr "監聽 TCP 埠: %[1]s 失敗, 未預期的錯誤: %[2]v" -#: internal/cli/daemon/daemon.go:148 +#: internal/cli/daemon/daemon.go:155 msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "監聽 TCP 埠: %s 失敗。位址已被使用" -#: commands/service_upload.go:577 +#: commands/service_upload.go:588 msgid "Failed uploading" msgstr "上傳失敗" @@ -1108,7 +1114,7 @@ msgstr "韌體加密/簽名需要定義以下全部屬性: %s" msgid "First message must contain debug request, not data" msgstr "第一則訊息必須包含除錯請求,而不是資料" -#: internal/cli/arguments/arguments.go:45 +#: internal/cli/arguments/arguments.go:49 msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" msgstr "參數 %[1]s 當與:%[2]s 一起使用時必須強制使用" @@ -1185,7 +1191,7 @@ msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全域變數使用 %[1]s 位元組的動態記憶體" #: internal/cli/board/details.go:216 internal/cli/core/list.go:117 -#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:315 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 #: internal/cli/outdated/outdated.go:101 msgid "ID" msgstr "ID" @@ -1198,7 +1204,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "標識屬性:" -#: internal/cli/compile/compile.go:128 +#: internal/cli/compile/compile.go:132 msgid "If set built binaries will be exported to the sketch folder." msgstr "一經設定,建構的二進位檔將導出到 sketch 檔案夾" @@ -1267,7 +1273,7 @@ msgstr "無效的 '%[1]s' 屬性:%[2]s" msgid "Invalid FQBN" msgstr "無效的 FQBN" -#: internal/cli/daemon/daemon.go:161 +#: internal/cli/daemon/daemon.go:168 msgid "Invalid TCP address: port is missing" msgstr "無效的 TCP 位址:缺少連接埠" @@ -1289,7 +1295,7 @@ msgstr "無效的存檔:%[1]s 不在 %[2]s 存檔裏" msgid "Invalid argument passed: %v" msgstr "傳送的參數無效: %v" -#: commands/service_compile.go:270 +#: commands/service_compile.go:272 msgid "Invalid build properties" msgstr "無效的建構屬性" @@ -1301,7 +1307,7 @@ msgstr "無效的資料大小正規表示式: %s" msgid "Invalid eeprom size regexp: %s" msgstr "無效的 eeprom 大小正規表示式: %s" -#: commands/instances.go:594 +#: commands/instances.go:596 msgid "Invalid index URL: %s" msgstr "無效的索引網址: 1%s" @@ -1321,7 +1327,7 @@ msgstr "無效的程式庫" msgid "Invalid logging level: %s" msgstr "無效的日誌層級: %s" -#: commands/instances.go:611 +#: commands/instances.go:613 msgid "Invalid network configuration: %s" msgstr "網路設定無效: %s" @@ -1333,7 +1339,7 @@ msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" msgid "Invalid output format: %s" msgstr "無效的輸出格式: %s" -#: commands/instances.go:578 +#: commands/instances.go:580 msgid "Invalid package index in %s" msgstr "%s 內的套件索引無效" @@ -1369,7 +1375,7 @@ msgstr "無效的版本" msgid "Invalid vid value: '%s'" msgstr "無效的 vid 值: '%s'" -#: internal/cli/compile/compile.go:125 +#: internal/cli/compile/compile.go:129 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1436,7 +1442,7 @@ msgstr "程式庫已安裝" msgid "License: %s" msgstr "許可證: %s" -#: internal/arduino/builder/builder.go:438 +#: internal/arduino/builder/builder.go:436 msgid "Linking everything together..." msgstr "將所有內容鏈接在一起..." @@ -1460,7 +1466,7 @@ msgid "" " multiple options." msgstr "列出開發板選項列表。可多選項多次使用" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:107 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1499,7 +1505,7 @@ msgstr "記憶體低容量,可能影響穩定性" msgid "Maintainer: %s" msgstr "維護者: %s" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:137 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1538,7 +1544,7 @@ msgstr "缺少連接埠協議" msgid "Missing programmer" msgstr "缺少燒錄器" -#: internal/cli/upload/upload.go:159 +#: internal/cli/upload/upload.go:162 msgid "Missing required upload field: %s" msgstr "缺少必要的上傳欄位: %s" @@ -1554,7 +1560,7 @@ msgstr "缺少 sketch 路徑" msgid "Monitor '%s' not found" msgstr "監視器 '%s' 找不到" -#: internal/cli/monitor/monitor.go:251 +#: internal/cli/monitor/monitor.go:261 msgid "Monitor port settings:" msgstr "監視連接埠設定:" @@ -1572,7 +1578,7 @@ msgstr "名" msgid "Name: \"%s\"" msgstr "名: “%s”" -#: internal/cli/upload/upload.go:234 +#: internal/cli/upload/upload.go:238 msgid "New upload port: %[1]s (%[2]s)" msgstr "新上傳連接埠: %[1]s (%[2]s)" @@ -1624,7 +1630,7 @@ msgstr "沒安裝任何平台" msgid "No platforms matching your search." msgstr "沒有你想找的平台" -#: commands/service_upload.go:522 +#: commands/service_upload.go:533 msgid "No upload port found, using %s as fallback" msgstr "沒找到上傳連接埠,使用 %s 作為後援" @@ -1654,7 +1660,7 @@ msgid "" "compact JSON output)." msgstr "省略程式庫中除最新版本以外的所有版本(產出更精簡的 JSON )" -#: internal/cli/monitor/monitor.go:58 internal/cli/monitor/monitor.go:59 +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 msgid "Open a communication port with a board." msgstr "開啟開發板的通信埠" @@ -1662,40 +1668,53 @@ msgstr "開啟開發板的通信埠" msgid "Option:" msgstr "選項:" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:117 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "選項,可以是:%s。用來告訴 gcc 使用哪個警告級別 (-W 參數)" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:130 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "選項,清理建構用的檔案夾且不使用任何快取" -#: internal/cli/compile/compile.go:123 +#: internal/cli/compile/compile.go:127 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "選項,優化編譯用於除錯的輸出,還不到發佈用" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:119 msgid "Optional, suppresses almost every output." msgstr "選項,禁止全部輸出" -#: internal/cli/compile/compile.go:114 internal/cli/upload/upload.go:76 +#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "選項,開啟詳細模式" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:133 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "選項, 包含一組替代 sketch 原始碼的 .json 檔的路徑" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:109 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." msgstr "用自定義值替代建構屬性。可多次使用多個屬性" +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "用自定義值替代除錯屬性。可多次使用多個屬性" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "用自定義值替代上載屬性。可多次使用多個屬性" + #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." msgstr "覆蓋現有的設定檔" @@ -1737,17 +1756,17 @@ msgstr "套件網站:" msgid "Paragraph: %s" msgstr "段落: %s" -#: internal/cli/compile/compile.go:450 internal/cli/compile/compile.go:465 +#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 msgid "Path" msgstr "路徑" -#: internal/cli/compile/compile.go:122 +#: internal/cli/compile/compile.go:126 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "程式庫集合的路徑。可多次使用,或以逗號分隔" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:124 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1757,13 +1776,13 @@ msgstr "單一程式庫的根目錄路徑。可多次使用,或以逗號分隔 msgid "Path to the file where logs will be written." msgstr "日誌檔的路徑" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:105 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已編譯檔的路徑。如果省略,將在作業系統預設的臨時目錄中建立" -#: commands/service_upload.go:503 +#: commands/service_upload.go:514 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 連接埠上執行 1200-bps TOUCH 重置" @@ -1776,7 +1795,7 @@ msgstr "平台 %s 已安裝過" msgid "Platform %s installed" msgstr "平台 %s 已安裝" -#: internal/cli/compile/compile.go:398 internal/cli/upload/upload.go:145 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1800,7 +1819,7 @@ msgstr "平台 '%s' 沒找到" msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:383 internal/cli/upload/upload.go:133 +#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "平台 ID 不正確" @@ -1848,7 +1867,7 @@ msgstr "請指定一個 FQBN。%[1]s 連接埠以協議 %[2]s 的開發板無法 msgid "Port" msgstr "連接埠" -#: internal/cli/monitor/monitor.go:271 internal/cli/monitor/monitor.go:280 +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 msgid "Port closed: %v" msgstr "連接埠關閉: %v" @@ -1865,7 +1884,7 @@ msgstr "找不到在“%[1]s”的預編譯程式庫" msgid "Print details about a board." msgstr "列出開發板的詳細資訊" -#: internal/cli/compile/compile.go:97 +#: internal/cli/compile/compile.go:100 msgid "Print preprocessed code to stdout instead of compiling." msgstr "列出預處理的代碼到標準輸出,而不是編譯" @@ -1933,11 +1952,11 @@ msgstr "以平台 %[2]s 替換 %[1]s " msgid "Required tool:" msgstr "需要的工具:" -#: internal/cli/monitor/monitor.go:78 +#: internal/cli/monitor/monitor.go:79 msgid "Run in silent mode, show only monitor input and output." msgstr "以靜默模式執行,只顯示監視輸入和輸出" -#: internal/cli/daemon/daemon.go:50 +#: internal/cli/daemon/daemon.go:47 msgid "Run the Arduino CLI as a gRPC daemon." msgstr "以 gRPC 精靈的形式執行 Arduino CLI。" @@ -1954,11 +1973,11 @@ msgstr "執行 pre_uninstall 命令." msgid "SEARCH_TERM" msgstr "搜尋_條件" -#: internal/cli/debug/debug.go:229 +#: internal/cli/debug/debug.go:238 msgid "SVD file path" msgstr "SVD 檔案路徑" -#: internal/cli/compile/compile.go:99 +#: internal/cli/compile/compile.go:103 msgid "Save build artifacts in this directory." msgstr "將建構成品存在這個目錄" @@ -2063,7 +2082,7 @@ msgstr "尋找符合條件的一或多個程式庫" msgid "Sentence: %s" msgstr "句子: %s" -#: internal/cli/debug/debug.go:237 +#: internal/cli/debug/debug.go:246 msgid "Server path" msgstr "伺服器路徑" @@ -2071,15 +2090,15 @@ msgstr "伺服器路徑" msgid "Server responded with: %s" msgstr "伺服器回應: %s" -#: internal/cli/debug/debug.go:236 +#: internal/cli/debug/debug.go:245 msgid "Server type" msgstr "伺服器類型" -#: internal/cli/upload/upload.go:80 +#: internal/cli/upload/upload.go:83 msgid "Set a value for a field required to upload." msgstr "設定上傳所必要的欄位上的值" -#: internal/cli/monitor/monitor.go:75 +#: internal/cli/monitor/monitor.go:76 msgid "Set terminal in raw mode (unbuffered)." msgstr "設定終端成原始模式 (無緩衝)" @@ -2091,7 +2110,7 @@ msgstr "設定一個值" msgid "" "Sets the default data directory (Arduino CLI will look for configuration " "file in this directory)." -msgstr "" +msgstr "指定資料目錄 (Arduino CLI 會在此找尋設定檔)。" #: internal/cli/board/attach.go:37 msgid "" @@ -2099,11 +2118,15 @@ msgid "" "are specified, the current default port, FQBN and programmer are displayed." msgstr "設定連接埠和 FQBN & 燒錄器的預設值. 如果沒指定, 將使用現有的設定值。" +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." msgstr "設定儲存設定檔的位置" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Setting" msgstr "設定" @@ -2115,7 +2138,7 @@ msgstr "將顯示協助訊息,不過只有文字模式。" msgid "Show all available core versions." msgstr "顯示全部可用的核心版本" -#: internal/cli/monitor/monitor.go:76 +#: internal/cli/monitor/monitor.go:77 msgid "Show all the settings of the communication port." msgstr "顯示通訊連接埠的全部設定" @@ -2147,7 +2170,7 @@ msgstr "只顯示程式庫名" msgid "Show list of available programmers" msgstr "顯示可用的燒錄器列表" -#: internal/cli/debug/debug.go:68 +#: internal/cli/debug/debug.go:73 msgid "" "Show metadata about the debug session instead of starting the debugger." msgstr "顯示除錯作業的數據,而不是啟動除錯器" @@ -2198,7 +2221,7 @@ msgstr "顯示 Arduino CLI 版本" msgid "Size (bytes):" msgstr "大小 (字元組) :" -#: commands/service_compile.go:274 +#: commands/service_compile.go:276 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2232,7 +2255,7 @@ msgstr "Sketch 已棄用 .pde 副檔名 ,請將下列檔案的副檔名改成. msgid "Skip linking of final executable." msgstr "跳過鏈結成執行檔" -#: commands/service_upload.go:496 +#: commands/service_upload.go:507 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳過 1200-bps 接觸重設:未選取序列埠!" @@ -2265,7 +2288,7 @@ msgstr "跳過工具設定" msgid "Skipping: %[1]s" msgstr "跳過: %[1]s" -#: commands/instances.go:631 +#: commands/instances.go:633 msgid "Some indexes could not be updated." msgstr "有些索引無法更新" @@ -2273,7 +2296,7 @@ msgstr "有些索引無法更新" msgid "Some upgrades failed, please check the output for details." msgstr "有些升級失敗了,細節請看輸出" -#: internal/cli/daemon/daemon.go:76 +#: internal/cli/daemon/daemon.go:78 msgid "The TCP port the daemon will listen to" msgstr "背景程式監聽的 TCP 埠" @@ -2285,15 +2308,22 @@ msgstr "輸出格式,可以是: %s" msgid "The custom config file (if not specified the default will be used)." msgstr "自定義設定檔 (如沒指定,將使用預設值)" -#: internal/cli/daemon/daemon.go:98 +#: internal/cli/compile/compile.go:90 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" +"旗標 --build-cache-path 已棄用。請單獨使用 --build-path 或在 Arduino CLI 設定裏指定編譯快取路徑 。" + +#: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." msgstr "參數 --debug-file 必須和 --debug 一起使用" -#: internal/cli/debug/debug_check.go:88 +#: internal/cli/debug/debug_check.go:94 msgid "The given board/programmer configuration does NOT support debugging." msgstr "指定的板子/燒錄器設置不支援除錯。" -#: internal/cli/debug/debug_check.go:86 +#: internal/cli/debug/debug_check.go:92 msgid "The given board/programmer configuration supports debugging." msgstr "指定的板子/燒錄器設置支援除錯。" @@ -2321,13 +2351,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "程式庫 %s 有多個安裝" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:115 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定義加密密鑰的名稱,用在編譯過程中對二進位碼進行加密。只用在有支援的平台" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:113 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2337,7 +2367,7 @@ msgstr "自定義簽名密鑰的名稱,用在編譯過程中對二進位碼進 msgid "The output format for the logs, can be: %s" msgstr "日誌的輸出格​​式,可以是: %s" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:111 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2361,7 +2391,7 @@ msgid "" "that can be upgraded. If nothing needs to be updated the output is empty." msgstr "此指令顯示可升級的已安裝核心和程式庫。如沒需要更新的,則輸出空白" -#: internal/cli/monitor/monitor.go:79 +#: internal/cli/monitor/monitor.go:80 msgid "Timestamp each incoming line." msgstr "記錄每一行時間" @@ -2378,23 +2408,23 @@ msgstr "工具 %s 已卸除" msgid "Toolchain '%s' is not supported" msgstr "不支援工具包 '%s' " -#: internal/cli/debug/debug.go:226 +#: internal/cli/debug/debug.go:235 msgid "Toolchain path" msgstr "工具包路徑" -#: internal/cli/debug/debug.go:227 +#: internal/cli/debug/debug.go:236 msgid "Toolchain prefix" msgstr "工具包前綴字元" -#: internal/cli/debug/debug.go:225 +#: internal/cli/debug/debug.go:234 msgid "Toolchain type" msgstr "工具包類型" -#: internal/cli/compile/compile.go:396 internal/cli/upload/upload.go:143 +#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "嘗試執行 %s" -#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/burnbootloader/burnbootloader.go:63 msgid "Turns on verbose mode." msgstr "開啟囉嗦模式" @@ -2432,7 +2462,7 @@ msgstr "無法取得用戶家目錄: %v" msgid "Unable to open file for logging: %s" msgstr "無法開啟檔案做日誌記錄: %s" -#: commands/instances.go:560 +#: commands/instances.go:562 msgid "Unable to parse URL" msgstr "無法解析網址" @@ -2521,7 +2551,7 @@ msgstr "上傳 Arduino sketch。不會在上傳前編譯它" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上傳連接埠,例如:COM3 或 /dev/ttyACM2" -#: commands/service_upload.go:520 +#: commands/service_upload.go:531 msgid "Upload port found on %s" msgstr "找到上傳連接埠 %s " @@ -2529,7 +2559,7 @@ msgstr "找到上傳連接埠 %s " msgid "Upload port protocol, e.g: serial" msgstr "上傳連接埠協議,例如:串列" -#: internal/cli/compile/compile.go:116 +#: internal/cli/compile/compile.go:120 msgid "Upload the binary after the compilation." msgstr "編譯完成就上傳二進位碼" @@ -2541,7 +2571,7 @@ msgstr "使用燒錄器將 bootloader 上傳到開發板" msgid "Upload the bootloader." msgstr "上傳 bootloader" -#: internal/cli/compile/compile.go:265 internal/cli/upload/upload.go:164 +#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "以 %s 協議上傳到開發板需要以下資訊:" @@ -2562,11 +2592,11 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 取得指令的更多資訊" -#: internal/cli/compile/compile.go:448 +#: internal/cli/compile/compile.go:452 msgid "Used library" msgstr "使用的程式庫" -#: internal/cli/compile/compile.go:463 +#: internal/cli/compile/compile.go:467 msgid "Used platform" msgstr "使用的平台" @@ -2574,7 +2604,7 @@ msgstr "使用的平台" msgid "Used: %[1]s" msgstr "使用: %[1]s" -#: commands/service_compile.go:349 +#: commands/service_compile.go:351 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " @@ -2582,15 +2612,15 @@ msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " msgid "Using cached library dependencies for file: %[1]s" msgstr "檔案: %[1]s 使用快取程式庫相依" -#: commands/service_compile.go:350 +#: commands/service_compile.go:352 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " -#: internal/cli/monitor/monitor.go:246 +#: internal/cli/monitor/monitor.go:256 msgid "Using default monitor configuration for board: %s" msgstr "使用 %s 開發板的監控設定。" -#: internal/cli/monitor/monitor.go:248 +#: internal/cli/monitor/monitor.go:258 msgid "" "Using generic monitor configuration.\n" "WARNING: Your board may require different settings to work!\n" @@ -2628,16 +2658,16 @@ msgstr "版本" msgid "VERSION_NUMBER" msgstr "版本_號" -#: internal/cli/monitor/monitor.go:315 +#: internal/cli/monitor/monitor.go:331 msgid "Values" msgstr "數值" -#: internal/cli/burnbootloader/burnbootloader.go:60 -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:75 +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "上傳後驗證上傳的二進位碼" -#: internal/cli/compile/compile.go:449 internal/cli/compile/compile.go:464 +#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 #: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" @@ -2659,7 +2689,7 @@ msgstr "警告!無法設定工具: %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告 ! 無法執行 pre_uninstall 命令: %s" -#: internal/cli/compile/compile.go:326 +#: internal/cli/compile/compile.go:330 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告! sketch 用了一或多個客製程式庫編譯" @@ -2669,11 +2699,11 @@ msgid "" "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告: %[1]s 程式庫是 (%[2]s 架構),可能與選擇的開發板 (%[3]s架構)不相容 " -#: commands/service_upload.go:509 +#: commands/service_upload.go:520 msgid "Waiting for upload port..." msgstr "等待上傳連接埠..." -#: commands/service_compile.go:355 +#: commands/service_compile.go:357 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告: 開發板 %[1]s 並沒定義 %[2]s 喜好。自動設定成:%[3]s" @@ -2692,11 +2722,11 @@ msgid "" "directory." msgstr "將目前的設定寫入資料目錄裏面的設定檔" -#: internal/cli/compile/compile.go:146 internal/cli/compile/compile.go:149 +#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 msgid "You cannot use the %s flag while compiling with a profile." msgstr "使用設定集編譯時不能使用 %s 旗標參數" -#: internal/arduino/resources/checksums.go:78 +#: internal/arduino/resources/checksums.go:79 msgid "archive hash differs from hash in index" msgstr "保存與和索引不同的雜湊" @@ -2728,7 +2758,7 @@ msgstr "基本搜尋\"audio\" " msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基本搜尋只限於官方維護者的 \"esp32\" 和 \"display\"" -#: commands/service_upload.go:764 +#: commands/service_upload.go:791 msgid "binary file not found in %s" msgstr "%s 裏找不到二進位檔" @@ -2760,7 +2790,7 @@ msgstr "找不到 id 為 %s 探索的樣態" msgid "candidates" msgstr "候選" -#: commands/service_upload.go:721 commands/service_upload.go:728 +#: commands/service_upload.go:737 commands/service_upload.go:744 msgid "cannot execute upload tool: %s" msgstr "無法執行上傳工具: %s" @@ -2786,7 +2816,7 @@ msgstr "指令 '%[1]s' 失敗: %[2]s" msgid "communication out of sync, expected '%[1]s', received '%[2]s'" msgstr "通信不同步,預期 '%[1]s',卻收到 '%[2]s'" -#: internal/arduino/resources/checksums.go:74 +#: internal/arduino/resources/checksums.go:75 msgid "computing hash: %s" msgstr "計算雜湊: %s" @@ -2802,7 +2832,7 @@ msgstr "設定值%s 含有無效字元" msgid "copying library to destination directory:" msgstr "拷貝程式庫到目標目錄:" -#: commands/service_upload.go:836 +#: commands/service_upload.go:863 msgid "could not find a valid build artifact" msgstr "找不到正確的建構成品" @@ -2896,7 +2926,7 @@ msgstr "錯誤載入 sketch 專案:" msgid "error opening %s" msgstr "錯誤開啟 %s" -#: internal/arduino/sketch/profiles.go:214 +#: internal/arduino/sketch/profiles.go:250 msgid "error parsing version constraints" msgstr "錯誤解析版本限制" @@ -2924,7 +2954,7 @@ msgstr "計算 “%s” 檔的雜湊值失敗" msgid "failed to initialize http client" msgstr "初始化 http 客戶端失敗" -#: internal/arduino/resources/checksums.go:95 +#: internal/arduino/resources/checksums.go:98 msgid "fetched archive size differs from size specified in index" msgstr "抓取的存檔大小跟索引內指明的大小不同" @@ -2974,12 +3004,12 @@ msgstr "產出 installation.secret" msgid "getting archive file info: %s" msgstr "取得存檔資訊: %s" -#: internal/arduino/resources/checksums.go:92 +#: internal/arduino/resources/checksums.go:93 msgid "getting archive info: %s" msgstr "取得存檔資訊: %s" -#: internal/arduino/resources/checksums.go:65 -#: internal/arduino/resources/checksums.go:88 +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 #: internal/arduino/resources/install.go:56 @@ -3018,11 +3048,11 @@ msgstr "安裝平台%[1]s: %[2]s" msgid "interactive terminal not supported for the '%s' output format" msgstr "互動終端不支援 '%s' 輸出格式" -#: internal/arduino/sketch/profiles.go:212 +#: internal/arduino/sketch/profiles.go:248 msgid "invalid '%s' directive" msgstr "無效的 '%s' 指令" -#: internal/arduino/resources/checksums.go:43 +#: internal/arduino/resources/checksums.go:44 msgid "invalid checksum format: %s" msgstr "無效的校驗碼格式: %s" @@ -3066,7 +3096,7 @@ msgstr "找到無效的空選項" msgid "invalid git url" msgstr "無效的 git 網址" -#: internal/arduino/resources/checksums.go:47 +#: internal/arduino/resources/checksums.go:48 msgid "invalid hash '%[1]s': %[2]s" msgstr "無效的雜湊 '%[1]s': %[2]s" @@ -3074,7 +3104,7 @@ msgstr "無效的雜湊 '%[1]s': %[2]s" msgid "invalid item %s" msgstr "無效的項目 %s" -#: internal/arduino/sketch/profiles.go:246 +#: internal/arduino/sketch/profiles.go:282 msgid "invalid library directive:" msgstr "無效的程式庫指令:" @@ -3106,15 +3136,15 @@ msgstr "無效路徑難建立設定目錄: %[1]s 錯誤" msgid "invalid path writing inventory file: %[1]s error" msgstr "無效路徑來寫入檔案: %[1]s 錯誤" -#: internal/arduino/cores/packageindex/index.go:277 +#: internal/arduino/cores/packageindex/index.go:278 msgid "invalid platform archive size: %s" msgstr "無效的平台存檔大小: %s" -#: internal/arduino/sketch/profiles.go:216 +#: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "無效的平台識別" -#: internal/arduino/sketch/profiles.go:226 +#: internal/arduino/sketch/profiles.go:262 msgid "invalid platform index URL:" msgstr "無效的平台索引位址:" @@ -3122,15 +3152,15 @@ msgstr "無效的平台索引位址:" msgid "invalid pluggable monitor reference: %s" msgstr "無效的插拔式監視器參照: %s" -#: internal/cli/monitor/monitor.go:192 +#: internal/cli/monitor/monitor.go:176 msgid "invalid port configuration value for %s: %s" msgstr "無效的連接埠設定值 %s : %s" -#: internal/cli/monitor/monitor.go:200 -msgid "invalid port configuration: %s" -msgstr "無效的連接埠設定: %s" +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "" -#: commands/service_upload.go:708 +#: commands/service_upload.go:724 msgid "invalid recipe '%[1]s': %[2]s" msgstr "無效的作法'%[1]s': %[2]s" @@ -3149,7 +3179,7 @@ msgstr "無效的 '%[2]s' 選項值 '%[1]s' " msgid "invalid version directory %s" msgstr "無效的版本目錄 %s" -#: internal/arduino/sketch/profiles.go:248 +#: internal/arduino/sketch/profiles.go:284 msgid "invalid version:" msgstr "無效的版本:" @@ -3237,7 +3267,7 @@ msgstr "載入在 %s 的工具" msgid "looking for boards.txt in %s" msgstr "在 %s 尋找 boards.txt" -#: commands/service_upload.go:779 +#: commands/service_upload.go:806 msgid "looking for build artifacts" msgstr "尋找建構成品" @@ -3245,11 +3275,11 @@ msgstr "尋找建構成品" msgid "main file missing from sketch: %s" msgstr "sketch 缺少主檔: %s" -#: internal/arduino/sketch/profiles.go:210 +#: internal/arduino/sketch/profiles.go:246 msgid "missing '%s' directive" msgstr "缺少 '%s' 指令" -#: internal/arduino/resources/checksums.go:39 +#: internal/arduino/resources/checksums.go:40 msgid "missing checksum for: %s" msgstr "缺少 %s 的校驗碼" @@ -3283,7 +3313,7 @@ msgstr "沒找到監視器發行版: %s" msgid "moving extracted archive to destination dir: %s" msgstr "移動解壓縮的存檔到目標資料夾: %s" -#: commands/service_upload.go:831 +#: commands/service_upload.go:858 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多個建構成品: '%[1]s' 和 '%[2]s'" @@ -3301,7 +3331,7 @@ msgstr "沒找到目前作業系統相容工具版本 %[1]s,請聯絡 %[2]s" msgid "no instance specified" msgstr "未指定實例" -#: commands/service_upload.go:786 +#: commands/service_upload.go:813 msgid "no sketch or build directory/file specified" msgstr "未指定 sketch 或建構目錄/檔" @@ -3313,7 +3343,7 @@ msgstr "沒有這檔案/目錄" msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存檔中沒有單一的根目錄,找到了 '%[1]s' 和 '%[2]s'" -#: commands/service_upload.go:703 +#: commands/service_upload.go:719 msgid "no upload port provided" msgstr "未提供上傳連接埠" @@ -3333,7 +3363,7 @@ msgstr "不是 FQBN: %s" msgid "not running in a terminal" msgstr "沒在終端執行" -#: internal/arduino/resources/checksums.go:70 +#: internal/arduino/resources/checksums.go:71 #: internal/arduino/resources/install.go:60 msgid "opening archive file: %s" msgstr "開啟存檔: %s" @@ -3392,7 +3422,7 @@ msgstr "平台不支援使用中的作業系統" msgid "platform not installed" msgstr "平台未安裝" -#: internal/cli/compile/compile.go:135 +#: internal/cli/compile/compile.go:139 msgid "please use --build-property instead." msgstr "請改用 --build-property" @@ -3404,7 +3434,7 @@ msgstr "已加入可插拔探索: %s" msgid "port" msgstr "連接埠" -#: internal/cli/arguments/port.go:119 +#: internal/cli/arguments/port.go:125 msgid "port not found: %[1]s %[2]s" msgstr "沒找到連接埠: %[1]s %[2]s" @@ -3467,7 +3497,7 @@ msgstr "讀取套件根目錄: %s" msgid "reading sketch files" msgstr "讀取 sketch 檔" -#: commands/service_upload.go:697 +#: commands/service_upload.go:713 msgid "recipe not found '%s'" msgstr "作法未找到 %s" @@ -3538,11 +3568,11 @@ msgstr "開始探索 %s" msgid "testing archive checksum: %s" msgstr "測試存檔校驗碼: %s" -#: internal/arduino/resources/checksums.go:110 +#: internal/arduino/resources/checksums.go:112 msgid "testing archive size: %s" msgstr "測試存檔大小: %s" -#: internal/arduino/resources/checksums.go:104 +#: internal/arduino/resources/checksums.go:106 msgid "testing if archive is cached: %s" msgstr "測試存檔是否被快取: %s" @@ -3639,7 +3669,7 @@ msgstr "未知的平台 %s:%s" msgid "unknown sketch file extension '%s'" msgstr "未知的 sketch 副檔名 %s" -#: internal/arduino/resources/checksums.go:60 +#: internal/arduino/resources/checksums.go:61 msgid "unsupported hash algorithm: %s" msgstr "未支援的雜湊演算法: %s" @@ -3651,7 +3681,7 @@ msgstr "升級 arduino:samd 到最新版" msgid "upgrade everything to the latest version" msgstr "升級全部內容到最新版" -#: commands/service_upload.go:732 +#: commands/service_upload.go:759 msgid "uploading error: %s" msgstr "上傳錯誤: %s" From 5fc8845f470504f389db0c31505030057e7beeaa Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 11 Nov 2024 09:44:27 +0100 Subject: [PATCH 275/361] Use a more helpful message when a 'signature expired' error happens. (#2750) --- internal/arduino/resources/resources_test.go | 60 +++++++++++------- .../package_index.tar.bz2 | Bin 0 -> 40458 bytes internal/arduino/security/signatures.go | 15 +++-- 3 files changed, 48 insertions(+), 27 deletions(-) create mode 100644 internal/arduino/resources/testdata/valid_signature_in_the_future/package_index.tar.bz2 diff --git a/internal/arduino/resources/resources_test.go b/internal/arduino/resources/resources_test.go index 0ca1bdd884b..3cd1d7a0098 100644 --- a/internal/arduino/resources/resources_test.go +++ b/internal/arduino/resources/resources_test.go @@ -131,29 +131,45 @@ func TestIndexDownloadAndSignatureWithinArchive(t *testing.T) { require.NoError(t, err) defer ln.Close() go server.Serve(ln) + defer server.Close() - validIdxURL, err := url.Parse("http://" + ln.Addr().String() + "/valid/package_index.tar.bz2") - require.NoError(t, err) - idxResource := &IndexResource{URL: validIdxURL} - destDir, err := paths.MkTempDir("", "") - require.NoError(t, err) - defer destDir.RemoveAll() - err = idxResource.Download(ctx, destDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) - require.NoError(t, err) - require.True(t, destDir.Join("package_index.json").Exist()) - require.True(t, destDir.Join("package_index.json.sig").Exist()) - - invalidIdxURL, err := url.Parse("http://" + ln.Addr().String() + "/invalid/package_index.tar.bz2") - require.NoError(t, err) - invIdxResource := &IndexResource{URL: invalidIdxURL} - invDestDir, err := paths.MkTempDir("", "") - require.NoError(t, err) - defer invDestDir.RemoveAll() - err = invIdxResource.Download(ctx, invDestDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) - require.Error(t, err) - require.Contains(t, err.Error(), "invalid signature") - require.False(t, invDestDir.Join("package_index.json").Exist()) - require.False(t, invDestDir.Join("package_index.json.sig").Exist()) + { + validIdxURL, err := url.Parse("http://" + ln.Addr().String() + "/valid_signature_in_the_future/package_index.tar.bz2") + require.NoError(t, err) + idxResource := &IndexResource{URL: validIdxURL} + destDir, err := paths.MkTempDir("", "") + require.NoError(t, err) + defer destDir.RemoveAll() + err = idxResource.Download(ctx, destDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) + require.ErrorContains(t, err, "is your system clock set correctly?") + require.False(t, destDir.Join("package_index.json").Exist()) + require.False(t, destDir.Join("package_index.json.sig").Exist()) + } + { + validIdxURL, err := url.Parse("http://" + ln.Addr().String() + "/valid/package_index.tar.bz2") + require.NoError(t, err) + idxResource := &IndexResource{URL: validIdxURL} + destDir, err := paths.MkTempDir("", "") + require.NoError(t, err) + defer destDir.RemoveAll() + err = idxResource.Download(ctx, destDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) + require.NoError(t, err) + require.True(t, destDir.Join("package_index.json").Exist()) + require.True(t, destDir.Join("package_index.json.sig").Exist()) + } + { + invalidIdxURL, err := url.Parse("http://" + ln.Addr().String() + "/invalid/package_index.tar.bz2") + require.NoError(t, err) + invIdxResource := &IndexResource{URL: invalidIdxURL} + invDestDir, err := paths.MkTempDir("", "") + require.NoError(t, err) + defer invDestDir.RemoveAll() + err = invIdxResource.Download(ctx, invDestDir, func(curr *rpc.DownloadProgress) {}, downloader.GetDefaultConfig()) + require.Error(t, err) + require.Contains(t, err.Error(), "invalid signature") + require.False(t, invDestDir.Join("package_index.json").Exist()) + require.False(t, invDestDir.Join("package_index.json.sig").Exist()) + } } func TestIndexFileName(t *testing.T) { diff --git a/internal/arduino/resources/testdata/valid_signature_in_the_future/package_index.tar.bz2 b/internal/arduino/resources/testdata/valid_signature_in_the_future/package_index.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..22284c67be460e9ab90476380efcfe2b58cad3bf GIT binary patch literal 40458 zcmZ5`19Y8D+wR`6Z8f&-#*MvWG}^Jv#@Vrr#<p$SZtOHp8nt~--tYU*zt%a|%-l22 z%!7Mo&8+8^gr1cEhqx}ShAzX;*9{<2*gyZlxBpiEp?@C!`Dgdvj+=j;`=0-K-<vb~ z1V0Z{=d1wg&V}UCT<(g<m93!}1>HdFkzRXvL5~Ik!(hcJ)uFy)Km!WoR}Fu{y#pMs z1)lEu0r{0sNn|gUN#R-dLC-Eu%X18x@LK@5D7Zi(sQMdv>J0pzO|5J$Ufl{%E8b@7 zB>*5K_&|f=?1QDZSyLY?-fGpeO^*ZJ{M<D`_Vgn*5I{tYYy&7^+WuALbsq>=5-Xif z7DGj9RoK|(Ezy7qF6Txm2a0ER8{UYiZ{ElpUrAB6ZZe4>A?kJhs6>SdM8pBr6T#v( z<yHbg@(Nv^I!Li!EAt6Eoy7!!QRM*CdI0cr;;#Pds2X)@cDVmqU9XxLJvD$+32#cl z3Hm}aa1IFoAPcHt3Cf>ogT8vWi4f1HU#LW7X{a_w-4*Rh5B$UkfJJR$fthaYIUHy8 zQUw6iIu}{DYA<z2fX_V_s`;v_44MF-{#?GlDiVMj0Kfvw1E4YTfhB5K04v0NC`w9e zMJtVYNhNN86#(!t2p9NK{lAFv0x02BrYy9O6G6)a{_hyk|F-_ypv(g(hGAiaelM4l zR4Vt$2tkZYh9W{mC9>+rup&TU4_rtFLQ{#M0#H!_OBnO>3k8X#v>A$l<Lq+930Y!` z2t_^_QVYTb`M`pFZeacgL)-v3NwNRuEAxPPOnC%a2_KlnJnLloiK0axC6uy+<;O2c zKG;ghi{>`g1x3R|-^(-kN;o-rvlJID6cKwgXy<KwtS=~%DVmkYB1<!ge5?>JctfPP zt(!ArRT&s5Xvv`fS=crlD5X?%6(U5|<vxmwCeYZJXG*|)l<+{nJSs5%Up_vj%>D1Q zmz2b8?q72Ty6Ma^Lv7VzZC)BV?+Ckh9P&?*UM*u4kK3?m1U88LR@7#fBO_hT5+bK2 zHSSJv+;5>1_A9p^THP@6fSM@j&Mhg5|7229mXrJ>FMQ2nz|<alPZQ7$R0Ul+Z?NEN z3>dhe)nWq?NZpt)p`rdjw_n;E-r1IcTFVSU`n<$;yse2XEV1S5wUY(4dRJ>v#U%MH zsl2q4>m$^gycJw(S>o$%Lb|G3+#5LVsfIRHRcTbEdMnJqg;1O_%plAp4$}$@(<$95 z=BV*uYaODj487HsnwYGHaBgsBX#<m-O}JWAthFftwk=0ProBD$>J*_qVKi^^Mm?A? ze8swW^FP>VX<fmFE4E{1H}7xZ#<kX~u^DqHly{YeH`J?=%W7s(E3r{xg0{5}mzZyk znk1sFP}B*t!dZ+>ZQKG|*n{n|*^70g)O4cC2gHL%DIu**=3B(frL9V(GvJKL0Rnny zg7V<;>L~K4sPZTo4jm3t`k1fem5kW>Jee7*cIzcN3+$tKs%47yGZwRg9p@9n=lm?D z$L$%}Wm)2CTU0O8e_G29Ujx2<|HTzZh9bIFLWzEN=ea8M&(O@9=)(EWTVG|BqTZoD z>9J|wrHdY)djrN&7kvH7*uqQ}&m0zTF~}wY#npiO10O9yD5e`4wda}<*j)a?oaSO7 zZg`zY16i1!sN3<UJ*)^#iW=Be$Zz>hwKu++o#S#5_4|M9mmcGVS(p112iHS8mX+A% za4gjZSYVMR{hx@Bln3OIbn~4jmCNw<o1w}jrInY*27_ePO$^k}<4@6<*$mxMuWY=} zQ+~PaQ$3gWARMGy|52eoR?*ZmGTUNys`M~75I!DI_g$R5k!I0`5ndi_T#J=d7*UbW zP5JhT&c;1;AFpJDGuJw$dlQfCczMq#mgbN(8fQ;u<P(Z|@Au60N4XV)_T)^#iOXg5 zSwK#iNWtIbIGaPN&6x;I7-}&KR2e={MVf&Cjcws=PA2V}p`{2q!mnm9myC8#n;`!_ zuQe%*s%(0kp!>Tv{CoiaZKhz*s%O7%SI28e(<!P)K|3e&dr0-Q2Ve7HjMC!cJ?o$E zXdP}M!ALBh&iKr@%FfF)`ugF=$)q7M*g^LQz3deC!o++1rrCiw@Bji7MMWHT)xGfd z5qH;Zw<=Vq$zhD4(`EU)bBwVod0UP*@fr<c)$zy%zvUQPLTQ>|_DC!x2nj=~RTvC9 z@dYwFIIGb)4T*)uD)c-aX9IN==HW4u?U0>%G*vTZ-Ubl*7;1G334^;m%RizBu{&vF zypmIP`k607i<jPYRDF#BcC-5hqeX9S#l(D2L~Sm$bQ*MzPTNsuS*e^}f5@uM*P3^G zCz7XNsleZ*G1GFPLg?*CVMrDNdEzj0H!9+x{UfFt1(hIt+=xG`g@|Rx=<Jp0Ua*UK z=w&45LBhMy=oUBLH0A7_=tsrXGjaQKb;?iJxr7NyEwI5fi8=7`{%WU}N4T5Sam}{v zv&^RXp{mci&&$t{1MCM$#L-=7u&jgR(LU!{?-L2Nv!o`t{Oa*EeecZ}`f&fK!q}gI z`|)nWE2m*pDvi%YdxeD)1}3T*Q9?@U0&_j)M&uYhb=$+G$RLNt#nbufrDvCVXD;b^ z-H$xs!5mRw5eqGR3ZYOjk~aww0+Qkl4$;gsi-aWcI;C1?P`PPRWWeGPVlt@Hy(p@p zpahcXf=p;YJG5YPS}@p@k_Hn<m)p8!|DWvOeQNM9lTsx={GTjA4f7cRBNB*Bn4#F* zJsk>}{y_Ifd6*-)*SDpiz8LhR5yQj9sSZwv5|auJWl}G$zzot&mezxT_4MeU3H;Ox zK(EJU<WH12R>W{9F12ugkW)gjU$WjR!%<VfNXUW<m7~b#keNd;oGd>_eS^b3$hAtx zk*{|orPQ3ZNoJod%`8dsh*80lRQHVG)5VRJ#A&B?pyUP;;3YXa;bz#c++LDSq-UEq zbQiyP)(nI-#m;W)m3CmXaI5Anm86(IAV|enn8ZAqj2zjbKwmuKvF;E-ApD5Fj`!vD zMp9BbIz2vD3kfXp6^kY@5QdvFVYjpGOC^C(!ak#{%dG>htu?n%ENR-Z`gTrWzm?!b z(N;gY3{bq#&}}BbOy@>ans4>jjWrj#mgX)pS>Cn2eG3Q#vOlwZA|}#Os%fhQ>)Ur_ zX4=m<GR>aMOT&Ggo+jWzVmgmEOGueiPbpUS^z;D#2OlE?nVBJ6TyS78%Jekh*fe4w z9gH}l2x)*-&tofw$S5+5H~|&R*BETYCGHun{}8`266FwSZXyDzA|9E=c_iP=IKs?u zut}T+$F#LQ7Z=L(5EuLObY?m>@vU{7#j5(IEf=lD@SMf)Xr#46tw1`-RGh^~_#VAj z=hQta;GCgXYkkRUhBJ(mXoZiVlQ4FLW4crzWsEc9M1y3~EYrFZNrO3ML8*QSW%D-~ z`QJ{JOMeRvWT;FzY)Th$aga&@=7c0H;sRIOYPxv{w+km*pt1>IU>spT<4hiSmP)-s zsWh?|v@Of<a|R())I^WsB~nW<4ozpjA{QnLf$^j;EKn@cJk@S>B5AxI3XBRPHoq=z zHI1-7IxgBuQHbOVGV74gfoh~sOMIc02+Plx0YJp`VERe4mS@VZ<X~YJ2~?*8V+!OJ z6a!=>IAIC^Qka+_P)RlxrmAoAHPih8X&PO1$|RSq?^{1+EzXu)OD@}Sa~w0S)$>E1 z7zeo-A`=kSLumwM7ZYKnsq1kOB#T$3Ac^M{3501u5tET`c$xlx0I9}5-|%Td$=J$| za5;hBh(5)A^MFE9sLX%%=z=dB*7<o%Yb@JLfFK#Qctj!i%-b*_P{=o}j2GK7HAnk) z4pRN)$~|2ALqR%Fzx>rXFDep-e9G4Xs?b5-Os8gfd4e+RN?&(|D={6tCw2n!FUI>G z;8O<I!jJY&L={)aZHq#~REa?r?mPx8Ef9tfXp|675QgryPM_H9UOxP!@33WA@+*4_ z7F!C{c?IbvqCW9HN5?*jhltIe452Y11#WTNHY4$N#<ve>3Z+@6vT3j|07p(}ed?XF zyXzl0xjQuGB;-@)>0li0|0hTx)oLp;=~ROjRW}namnO#ID!WTOyTDaQJ3<;T{megg z14JO;GKcmCRSE2eVW}q{5s>6A3jtP4Vyo95f}=5mRdwE8UDqyFOIvEJJ_Hz|#U&D9 zhB(3ugOZLKvrOmVS%$c+fA?3U0cXa3${0#1zXiw8#|?^3lV;%>B>%S)47PX6S~bbc z0857A;3326<bR-8Rfkz8zgUN!o*4%R2VbvtM$&G|m1GJ61}jc?@cerkGFfZ5N3+1w zACCkNd@Z%Pa-Qy@&2`S?M}tH7i329G?zA>6BmLoHf1T=Esr&$sO!tXOS<U=FPcI%6 zEx9kshn6zgnZ~&9C&w>-Q{3N6HMBqHdwh4|M|Kl^`0@vBr+1F>@8iAiF#^ZL&*mEO z9gUWen+E_U6k7%-AdsfMqJ@4#QzSkbJyOn4akPL(&IX0i!b%ahz@)^28Lq&p+Jfq& z6cW)fSiVPxlC;kO8p5lb++<~9ctFySdLCSGE1<0;VdSh_jrxREoQ-TP`HN^@J&qr& zzAfRvUxhG+YEbT~E3xQir8WhkwQ+$gcPGlfn&0Moxy}AVmATu#_AN;$k5Qe>P+H~m zHhwtjd(H3mJ(<esax;bi>Vv8v87;OoCAlFDTE<nqWF}I<L^@X(eRW>SO{R>BIh^Dm z%6e2;2r~|(vKr?H6Hr=*83e@n+8`aA>>(eV4+*Bglai)n))FTuz?FuTp-0A%lG2+j zmuQhzinWf_x8n%6wQkBautz{BN5-Ta3FIBDL<Wk<&@;d>*6UPZMit=T!ReD1QnIT_ z2RD#cB1B<=)Pfl)Q7|>jHC1s<8^}i@anvx?CK<$(?4g`#DgUzeh40hhPFJ3msaLgm z;v!pNurvZ$@+I`mlbqx}&Z~J;^F7+NSimkzuC4k_NxoC5R7VM`nv?o=g)0kFmQF2~ zGvbU!kkd&9Ek8WP8mqc3ZY~Ka$yAw~LlQrl=|NM@zKw;F2^xPK4k>dO1+uKVtYWh+ zfba#S|2HiJCvmuuf)EgbBc4M#$DDnO@>O>ZlT0~Gqq8zO+*vrJ4oX?`o+B&T-0L!$ zIg=%s+rFj+oY>-A?p!)zuVhLEG#zh{mLVU3ln-cPF~@*#G=u5KD-njxW$bmPzfO;D zaOsA(WaG*(B9&JWKqVB`Ga?k$$9UQ^+1o(Ihc(3sMv!hU$wV-^`62>uPvkw#CTMnr z>EL;l<lH6=B+@u|*rya@;B2kIHKl{i*W1`U4b9-{R!$a9TO!V^WqUh4TRUqT9Sbh| z79#t4dzOrm!j<N<dy|o@ej9sG>lWI!6Rkykv9uO!a}*L3BLfZ&1!|G4t^2KK++Uh6 zL+`yiT`?l@d8-DJ3I}fL@8?!o>0=6wISQEpgI_|`=E^6F<YZtAV}j$Pzi<~NsO1t_ zOvaquoQ+#V4{6Gkw4Zk?%r>E~O)0ouKIWb}9=osqgVuHN@{LRlI6U&3WangGkwen) zhqs`81YV)#d?O?x_ACEN$5xVy;;#PF?r8iXL+RWY2_254ejHZCV4700q}(T)Ogvp$ z&Qy{SCHiCDDqUTatZMUugj8!)Z|>iALJa}7U&0T+7$|HM&BVDKV!2NkZVH-Bbslsc z+`AtL)pxHG3!a`fM%c5V<i1K2je^J0`Pp0X7vBClCaFyK!J_xGP2dK^viA(7oNx%x zk@XoL`F+n*o;|qn><D20X|&Yu=812aDBv_b6gms)uMjl|6(`Smu(eh2M0T>40{xq` zL+V_fi5+{|jztTqL0C#!tBWgD3bx)T?QQn8&H8>=V6|@2esPB4uar@Y!{P*xYIcM{ z(vI`{Hl7;QoKZ=A`zH6Sh8bH{TjeIbj?5yS8hpK#j;y#^TjCnH50b@w$&<BeE7N$X zy(f#^ei0+N0id(O!XkM*%>y^-)_|L2Y<0`TH~k@qdlG&XFiEyQC?vd)yO}CnSaCNc z*9GoKBqrUUhnMrhzbtM2xVfA2_+V@U$~=J*2}8DDZaV4NN&i4UwcRIPQ|<(~?V8Zi zQKmI$@@|lqxW3R}b;fO_xcL56IjG)Nq4m&wIeLW}h*606H4H|4l;6ptd+{u63F(K+ z(xfxZWT{2J@<G;W6Bh>;t3b*OEKij^OKHyJ*BB|e!W22ItW_m}lwtYFkrJKy$*fHd zGck|ksc**G>We4U*&ceb4o=LvOW)A0m1Zlr*SO|{XozsE=9p9LqVi`8C6K?G!KMOR zzbuk{F_o2!8)Uq(wpa6UGdGvRQgWyEP1(DS8_IveIrFZ#H8QZ%Q6xyF?k+D_xp;j0 zL&`@sOIK90tDosPjWT1_`rB$xc;Qws!<s|y71)uPv^iN>F36*$4*HPJg43^*ifyTU z4`S|JU-A=9K=QP9qVGT~BJ$L~FN=zR@r}roi5KV-z-`b872TAwU?uqoNK*~;QKUg? z(s+!O*=dj(qA2>pD8@wwCi@mW`Tr5Y|0{@pQ1un9!D2PWDw)l&#?%U{RumvCY!nt= zOXX;ZHFYF;T4f=9jA<`SaA2hvQori*lP}OfU1u!e-7Kesfe1pP#pT|~Nd$ux6&%D{ z7HFJQOw5H09Y%ygN}dG>g8uj`L820YxN2&+w)!@y4Y)SVYIt$4Y1?ZgZev^q&LeHH z&(}4x;iu$Ia_s;W&6pioqOXjJno*3EAE*F|Yi2zuU*U6RR$xh)o0}0*?T{@{3{%L$ ze+@-LFs5{|Boh^d+dR~_H5=b^uut#PE6)Xfh{ZaU`A8pch^j11{uyLZjTxNQ65FCf zuUcGL^RNDqwjd2^O<Ua5m;d)_WnQUNSq>2>enfx^qX&I58VCnpgMf@hDa~Nl3FGPM zCdH%f38eP))N;ZDYr8;wEbd2-CFVzuCO3~dlqN{q2?G;L+}%@(3uF}cCnFQ$HEw@; zR9STiH{Tl8EJ6{eOnvt+TPH3gDvkZrZw7o6=vM1zJ}>kXJJ!aM3YL*e3unFYtf!Xt zMiC?;xF?IvAdNHiaDOOf*q=m!r82G(@f1*%6!O}QT+rQ>88Q+0x{?gk3uy@tNhJ(U z((5mPcLeBq>8F2E_I?@oY(-{EMG%{ZRx#)61rK6VQCU?l!C>;);DRJ7D>6W!Th!QC zs_CN}dL8q`qC&)p>^6;<r5}Q4)>bF3V<cbjlBPfOgdDv6RJVj9ZJ{_?LMPp!Mgx4D z;n_%wX45G^zXUA~9VZ+XJQ{H=*s(h)o2qr)^u(fhWO~XvBvXx>f@c`f7T06LgNK%t zF<M>^gyV%M5sXQN0#dWKp^U8+r-DJD;zU-ePjit#M8$@I5NT6K0tgBjtCI$)5C*6t zIkyl0N1xE(;^NYO7(KAl^zt~2bqwRBX?Jwhhy^<gsZ$TyC^--)CaV+6wQ<qT8=SYn zRb?$iNXFXt{)QJz&X<q!%~4%|is!OBAN`mQm=$c+`r5h$Zqcmc^9x-^%nv(63=Qo_ zXkATFkST?6C6;F_q+~3{U`E!oV*#mQEmX7Ei}AFg>ghE%>*=Yl$dVVb!@^3?BFIxJ zE-vV1HsOIcQd=$TGo@uDlwP(z82teL2fJ6PD;*wFMasEm)-`rNf7&PTVazP~0TS8= z1{KshsL2m;GGv!)q*D^h3n#^)$f>2UV^N8?3-vfxN{Xb2Sc~RBAj4A<TkX<ci!eJ9 z-VFS#QJ%!6OSa&U+O*ss8z9iEpxs^Ak6nD-*48*aU(f8@=7jYO(`&F9VP?jxQ1$T$ z9&so{X-PFn84+sm>pgzvG>;u4(m3%WrhWNUXs|(K2$Wlrbpm$Kj$G>&q)N|fP-;3d zoH|>MMh)OW?n;4b-yX$iScHiQgNccm84Tt`kdo2}WW61Ma)gqXAJC-+Y`Lj#UP)4? z?WNPJrpeJl2#d{7CDj!oGby@hl&dlgG=dL2r6ybO<W{euzuHws87NL-=>QohV3O4_ zCQ2l^D=9xxW$&ERa{+ZC)`WCVqu5K%MX3cZMlSJ2TQ{?w=0QjM_ws8uH%}>J>R)mu z{Gx=nisyv$35UkmyDx?r%%UP9t#vg+Ot#^cmG5s|gjv6C*H<n*mXnPZI$8_DX9-{l z>IEq`W>9g8*<}n{hNRk{zaamQxna0UK`S*<GcZ(M|1vY=V{<sxzx`A1os^K7nF)b} zeo5x#qP3O*fj+DjaA3>KghaxRf%K1(nVtcGKs-{ua)oMOaz;qv&||o91*ZVT$uS|& zVdMZ0@h?1L(%8@x8dAxasu&oY$%&a}CNdnKazP_s4qV7_&AIuZG2yY*ys1?aWmVFn zUG2QwTMgxCo2vHzRgirxXDre-?Ek-fceVIyYvN?3JlrbHmn38&Zs+7<JA=W-wuK9# zM@uEKsHjIyR_jxWa&SZnRGM7W>?gpzl^iVDS^B0)HTy+{8j=&&y!zGjIErjGQGp*l z3!^VBtjimFaX%itNaeC^azk7Njj|P%O1+Y~Nzabi5v)4537gXtM66)@kzybhv>~u* z-jtM7m7viNm1?ao$aEwc2hZt1t34WrU!uNRy}@)O%UgcA=D*nw_03>IFx#%XNZF_h zd)}t*>xIX`ltbtBYD-m7o?q9?zLz%V!L9QcLLdZ^O0J_M6{8MEPYy!05u@k9lY+>b zdkeBA3-0iCRJq)wZj{F5t_6I_<BlA@K%M3C{#czsgT}2^dyh?Z=`i!Xn^niN#peU@ z(C<<6n3=hitUx>zq#uJ((1{(vl2oMjMdZg}k`o)li^BFb8+}#5<`+Z>9r|S|@1GUc ze(a8g#4jK!AYaXvm>J-YX!}%&tyFb7y9!lyx!|s+D=OXQjXMjg_z*<|O8CB1_UfU! z<(p&%9^F^<=os<P^}5R)<-w=9qzg#DIb5T1l&bBmJS&$;(J|GebI~yl^^wxcjX1dp zUpo|c&3zry$lUOx(d(^?&MQ6>I_c3|fjpc!ueB|THg?j5xqFud&8OENJPY@rL$7lT zv%z|&J_y{^efpA-@C3osy$ix!Glz*K*EY02HO7~W?Fb5mriAYn<p3!CBnLdbh$6JB zX_rlG$~dznH(y*--EFEl0ik1dh6V!bw+RxHWOXUTcyD;-NQG(b*XqPh!4t5=U(sUu z;)H(f8o~7{ByX<oD6)(7yHG@Teob_=J&;f>$p5{14sNw7)PZ>)(rs+g+i=z>;YA2E zMRtAdgrXoP0Z54jg^)keXQE{I-`vbZn{IsW;-5T*-#ZwknM$>*iQ3R-vaqX3ZEV$= z+-Jo##3pPo!_#7kMk&>4)}l$Euzt+R3^(UOnV_ELqE2QH3!^^ZNG9Z>Rnj^(sPK5a zM&cc$qA?8~X8=GVsxhwUvfKQ_kcCyqnUe-hpb>0jNqO(MM0lkUAQ?fje|LY)W&LRk zWD)+2_|rlNnWXW?59%3-Q?(o~@4m0=_|LmYJ<hohQen~2V7~J~saL9G!;6@u_xA5Z zNw^3_MEV$X!+pB%?)%V|ajz@ESZJg9*fgtC6DpK`!(MA0qrIOq2!}6)uC=tK&9tcm z25?Bv!aWf%f-qDc1v$Aavq!60aFtwmOdS4tbTF2WUWupw<SUX|_Q_ml?F=YQzK8LD z-u0VR&AZ1xr7RIU#Moc;)DbPP=zp6dyDQowmnel9WSn>%JI;#ELite@YxyOn`5`D< z(ctupg$+KP=yP`ld>-GxMqc>QwE(##ccsuPowzK(7z3abeqysCEQ4jYNwS7nCfv%R zzlufXUW^W3#E?(brC`3PBUXs%+-C5*ZIyJ^<u&4)U&|OvqK-d$?p-SRmuH@h91{%$ zJ7=?+Rln;Pch7z)F0c#>G!kL(&DFVsq7MJbJ?57ZwPZ!PFded3t*_Ew^KaL_`<!4; z`x|!8X?C>y1{g6R<6{Fd!scAq2RH`i>5-?fTxu<^?~$kzPqI|)<t*bawa1qXSb1oV zn_X51h8Kxs!X)~c3@cpnKc(~>8W$;f5hu9Escyx!iWPF~>>1gRxA~trt0z1uKd(sW z?D7$9CCtqOv4Q~z`Zw6t1DKdDd{`{XP?mH8^3KI8H&K*#!RZ!t_|KyGzZ>whh8B<b z$<!idd%`1@b9mY$;r%e`*xGmfM)tuCy%k$#x)c23^q#ppKt_wf)y}F|H2azk74jF- z!(oV}ERn+woDa6elo&wM2$fEVJ6<1);#nHbU_l&a_N_r%4S(Eczw7R_=bJ09NMz|_ z?2S^okYcN$o=)}DdVnq(zTB|odh!pw?(ySSb4wDI=mB<jt88sj__ioulw&WXid?hL zcU$)%uLIpzcNS*mN9sFfJ>_qaOG-P(bwhgqOtPn&bs*uev4N=jlh-1wU%TySihCd# zEky2dw5x6usff$Up$MGn8~~M##L@Qii)0-XoK>?%54v=2c?JwYuz3=^1V!rEjL=>3 zb;^6AHF+uxu3lOa8imc~`3!>FViKmA{<&`$F?Sk@?s|^aYV+X?@p!e7f+K0}BGy|o zh_Nofx^|!q5qq@70fv__y0Ix%!a=EV7+$EvJ@Ts1POU3LQ<yA5JI0R0buX--l(ei< zr@*j!qc;|$_1*i&9zDK~$3?LSGLm8byD5ZX5#|Y}*|yZ~Da=`*gh2sPx}UJUlgcFX zLwc(%%eQS>JlBZW5}?8(rO$jGkqO9RBQ)Sc$~fe5j8@tFIyiqs1@K`EJV4E29TTwK z>V$ImZ1<bY11-vPwfQA}Jw=hW>5dbEU3;R)e;Iiaqgz1?$yWDO0X&z4w(`JC8r*mU z?A=vtX(8}TTL5zVQ}>Us;i}8L9T{nad9?XFxRqhgiPTkjf8m^Evo@W613mzLs&uD8 zZ=K&L_K@EHDw5t6{tctz!qL_}bE=0L-P{KL6e#u|ND*)e5g;HC=nk1=u~i`(@_Ok@ z2*fFq-9RCBX?zj?g?x*{6YpmGxcxYlGeWeoW#<x}_cwYWFF{&D#lxc8=@<bU7iBUb zac7?~X37cahX7e0t$4I&v9!f7o=cV>h{yN%&$Ij$vioG<ou^UmR2jiK>?)y88*0UQ z_=-9Tx~m?yb|dr7bDN#Kxv#Gu`sXkbwD>zpa(`Xzn_dU_RG-@-o^PE8>93n@{Bet> z)p>De1kG{+gFA44K&pP?;8W+nZ(P4vyqTHiBiitW<}5WnnFVuN6D$EdGKb_z_qJqQ zFE`l4Bsk*-rg4x$#Am4xG!mTxgP?1N-MZr)6T19wIme%MZwg>{VSRLf_4Ecwb^_W5 zrLJyAg3&WE5R94^3~mpb262?kj@D7hT)P_-tEC7z9c+O~OdrxwxYp=V5UzIt*;W|n zL3Rp06!1O}HLX;0zBORfwTn3+OH1f&Yb@+q=~o+dbpPH@y;D5+iCUnUkw}O)@w%@m z{4AZfD0=w%fSKaZBQVGRCkpeLgCJq-*-Di#khdQMEvRvx;34Vmf5J;AOd(teMNn%T zi0cLO_fc>C<+&w}tm=f?Nf2|7xeEH}mxVsSu-mrhcKTMBc=rAtI!<&BXLCcxg~)`S z1YxV;TKo|h05vc<G2@stE_BgjEf*7n8LVIgmbY|GTzv6g3V+^RfirF!b{&-cqnpSO z2vPriMLQ;NX7_Ee!N0krd<s7k6Z6{@D@xlBlt8w0O3#z=lC;Y4pAn;eqWL=tuZ$6Y z2EGO*kmF9Ox$AXbN3{tTB#?uxLSf1TvSbH`8m4(^|2*x+m3C$9aY#vVb8=IXiwG>< z)MmRRK2ceDr7n&6Zhm%pT!;P&00t3l`?+?F8Hs9-16FU-9Z;Z?u;i8>FbcC1%b1&7 z);C)0x%bmeC!Jf5n_t6YY%CUw_lKD0(vp89Jck37u=e`<LnYLg{SOqhk2tUJ%?vn6 zY5Hv@r|mYHEOC|P%1>C;hew8z%w6I@O<a{7XmE6Nh(o1l1~H>mc#UgD*wM_RW*iyQ zU@iiF19%iLFC`Lv5f(WJWLjCNu9FxEhm)_9h-g!}xB^mTU#%*vRjW35&_<jwOdX15 z$>z0N)tl0_{dfg<Hka{;ol;hchI$W}gkG8&wM8F1Sg#{rIgmtOG+8zTJ>>Y=c2%+- z3gGnZGxT~O6eWTP!?Oz|i_hAE|F4raW?#+dymfWhbpQdtsL{vwFSGqVqZrhoshZ6) z3)=Fz%gyz6VO*~Hh-c`;MT@<(Q?8@NtnvNBsq6RQ&KmEfr+}wU%UT}T4Im>z^Xgik zhE2!4W!O*Q9x*mmU^J*MZOFDLUDBRoWRmu3QXxEJlxapTt*9-DhdnjQ(!0Nx01Tzi zzgdC>5K;)VBr;YWhoFvd4@>D^V<utbBcK4$v6r^G${a<yG>FLRV4O%yU!UiFUb{<D zr(J^)S~p)~9JW$6%ESFB{lcq<j*Im3jQrh7x%<kZINr-^0^X10x`gQCRF0OmG!CwR z=V|BptWPp+gw$Hfp7P?Q$|w)uwEVCxN(%ihnR>?z_eA1AD@xaPW-4qS%7mq3d~hSD zr<`a6c(&*JPDx|P5Bo5WP)rW6pm-z~5eJ@M=I8nL%jJpqdB<I;$ULR)xIY}}O*Ygi z86)N(#?EV`!I0Y^**|>_Y-9IGZN0@cFK1gJcyO<#h3T-?%{6uuNaXeE)NGipywkI< z8k%D}!qkvYPkEko(oiyA)hAptBGzJcMTt$m57{m3n$OJ&`^(@|Hqt2=XcVdrW3Kj% zJg_dfb{_lS0i9h!8(T4>&UTN(P69u)=}3UZQoFm;OK5hMPH+*;a3R1_g4H`DApiI4 zuAVad<g;73W<PRMlKJW;kGaB2$56?)Axm6I%eD2nHKARTHz0IX<B680JV^HJhY>o& z%In9UO95NgtpGZ=_{b)qmrSiSM3zx?SVuPUbW!=k_#+q1sBsK2U?da*F!~h+PIxZp zx4m)B^t8LYiyHc29mM}tYBohuIn#IQlZ+g~hCg=6b@Y^F5s`Q<Z;P76B$lJY6PWk3 z@{x4er#<^orvD}90OT5Y>({I!)f&O@>oxzW&nD)Hf_|#uH-f-bo$YnR=FmV$ddKDC zZkvB<O?AczLLh@TnKOY0fFJQQwe;c?4<OTX|0h`JMs-CpRaiP{LjFm7s~1wTWL<%8 zXX=t<Co1e^r24WX7o?*U=)c@Drx}?(LxqMhjnfMLYyOD4?ztVu2{|p)4k>$-G-xy` z-t%0my`JPtWFnBirtaj6J!uzw%tjqG!5WK>t9b-08~Fuk?q6yJN{T^~NsEo}+3E9N zq4~3AMeHZ*Vh6>(PR5DUVE0HLt+dU)?2;^{TsI}EA_p1)Vi*0UPCHs|#6y@Qf*nM> z-C?!{m0i0}(}bQPGfko5ko1LH3Cn{u0`VSwmWM}uKofnOskLln_D{;?((GoG#_F2X za#u8e@+V8k%@lvOL^zR0QdILeW<Ym(5tRExo{M21^al!EZy4tO!8YQcR~~&&sT5`W zi#(S+HZ~YPo-bx_#8vr#By6L+EOHZmO|O^O&lvK>-%L<&$&4j239ickbyk~_z=Wcz zG`|<Q{PENS!$*XS0Au{BKeUTrD5xK-utf)6%GOU{&%nJXtzdcPR*0`s#FF}DPAHf~ z((3d}&?SDRpt+5E0SX3J2v4dn%AFeBM;0qs3<CyQdyGe3xF#|I-<daZ<YdPuZ!Dw@ zyLL~?nYw$=eU~QmWV7%_+{A7&t!1ZXX4PAt%H?^NlUBNywZ!j4GBd0DY2biQc#C(0 zO+nDQ!Q+&{Qpt5VuhuNNy>QHsu3BDhST^t%o_|j@?;i@sd08qa%zvctkr{P&4eN0r zQoHPwBiijrGtu`wHQhZGS(%}vA!&sRYJhs4@p?U2+3|)0?s$XzGUGtjgU6c+#`w#^ z2SW|!7aTGg1b$#Nzi9q!_YW+5(j5}##tpe$__%6m-^`35W_viB-y^}?qojzG;Ob~= zk!N**s5{GDwc<Wm40FF~gfm+I+pD<s^Y4Kk;fd99aRSHEA{@(9s+l^1v!23R1d6WA zXk_q<ec8ADj}@8GA=GfPC<z2eC7NG=V=&eF);b{h+P{twWgU!Wao*>Aq9k27RjWVr z>tijO^9r{<Je8>{FcQLs6odl#*ht?<`2x7m44SR#{DXX$6400vPg4&N9?;@mEOtoV zW0&b3*wZ%99@7AESf~Cphibv-RpK7AM4F0@GNDS)HI~0was3+7_XBV~JN?6;(pIlq z9H-<!Gi;vV^l3BmTh&eXu|88|??UZ*nW1bY8r)t3tEVX{UZtgNWmeV*McK@Wb-K>3 zggxWMHnm+Gjk*8Yc$`<#;NnKV52g4<av`d;x}OjBC+H1R_>I$JC>rw<)FStW2D5qa ztahg&d(CCic}|jP@b{j4k&8{dIsCly)Pp&w`T9z@9+JG@C!7Uh#IhfuPmaAWYM5t& zLu}XUsOVAfX!b47WbxUuZ#@TjeoMm$N>@j<rm{oo(0$0ce44mu<@E>-%5q9YFDlVE zENjmW;=O2fBBv^x1M{szsxQ}fY5gmk3d0o>#S$=i#|4Uh5o9Y#GG{M1sCHw>nYtcT zwLkDkkBni19-le|Pmp`592PgiK2yuL_m_#LxUtU`;&&G7I+{4y^|%uQHwTm4vEVka zGu)&_6X7l6iE?BNn!RwfS$SkV)}l048WV9?|J*ZmT)0()T=`I95>c#w5qo<_l@wX> zUot-xTXpE?CAdd=ZVXLyH-If9SL@w_^tom$SB&#HUFclDRVuEKWJC2*fEUwpod&iA z5t~@F-6EHWa8gFtS;a8O=#hU4KyQjVMXf1aRKnpO0*kxV6O+xC!)eqRFu!7A;*JLr ziBSu+-8T35HeT}Nx^7LkP=j)?0Al@>En{gW2a#R+!#1~8R-y9JN$i|JD5|V#<!rOC zdRu#*SRK2DkRg_$x#&_-KmIR-AI4{sixpE3xuNkOVT|l-UB(;7c%zOSqt`vL94w!m zp6cs^@a}G*X7n)V)r{9-6cgTrV5}7zq9uaqhx5_AJmE(#*EuQ?&yr!T<%z}Q4Bh^m zh78qVdJ{@YLf(H}9hFpHmIVa_8|%Ll`m_5>Mh^N#9mW|rw~=DqFp1B*X;gM}<dmV& zA(kpOSVS}Hn%-QTv-Eh6+Bekj#&I7j+Ycd)hFv_r`G!PvdDbq9fd(*6M0Qfugy*J{ zk{+Lq)*XIeVq)nA2UjG(NQ9GxGW2Gbl`^FXd~d4OVDU(6uxTYc4oVxlf&fI#Aq13g zQc}9J!8#6OmGGT|L=#;dFX(a7Z}Gk??{h$y=bopVdVOf_BXIlp8Xdtc(zIazF;C4# zDIZ(z&K-JMW0o_?OrHw^o)Vu>oL_26>wfhDn+tV20dNA3zkuL1Le2pP8qZ)gXrUvk z!J?r|3Ov5a9cIh8vvQ6)N|sQh@U;4C-K=0l4|8K@W_<gTz<R<T&PoQaO0+oLVxAV; z)5?Cp2r1uWO-FHV8w5*posR?AckM(*FwNcGi9o|u$PF)IT$G=Qq$H%f6uRaKNc&=f zi||}{VY64|k)=0GlN_+}nEw!d+_^aZ5uDgChxBgG*`7cpGG-%TP!H`{qA%|gKKuM7 zqe%0qx(TzCXo`!5xmZHurry8c?AUkw8J3$mwOMFZ*nMuZcj_p+@0PCyeN*7To$AE8 z?4HP6N3?AXw1#KzEx1+CLGMrMGkVGX0BM!jCqXGnGzGV}z-gq9<cgK*Xo3WPIA(xy z)l22py}8=YpaFtMMlU|!2Qb5HhIh0!{u(L5p9(4wPF35A80mGtv${Ma+Y3Qsr=<xi z-+%HJ>5tVlZa(?@b0yAq8Asf(3USRB_ho;VnGJjK@D9O!i`I9{F8Culz}JQiYfY4X zm<N{F%e=M0fFnl3-8%@yZ*tt&`6ySz+PYF?&ktiZKCh%4Mi|wy&y?1@Y^qLSD-B*B zw$t5CqW?;k`-snL26o}QUd^{6jj0bmJUTH#$0s1Zg#Ih0l}(Gt)_cFwP~xSo?d+>m zcfq2IiWjg(%6(_8!;`^2ws>sTO?q4;mXkPbhO`D2^&9*NPE)=2(+CJY`zF>o!zOnU zU&>YwK>RH)rC8j#<mI~%Mva+18@rQdU#i;BWA#@gy^hT>G<tfDu&zVGNli;Or0q_) zNx5S-fGuS@C<#&NS!^qfkGKNTt%#o>vWMbZCknlZ?hKGZ2p1B5d5W`LtXX)`yk^d$ zg?em&Pfn;yyKm2~w()1<W?t-rTh-mziMn6StgvZgQN75$`(-j`STnmD!M5VDAL`VW z12T_6uSDTC8T|D&B1LpO@69KNOG8UKqlzEMg*Xt9ks~<&+d+wsM!!=);>qw_cA-yi zD3*hDOEqF_c8qDGN#FbK(y5v<IVH-!*HbkB7+~qLBwr|CiVme0RasK_GP)R~YUb13 zr`G*s-4pjH>~)SN!pSW8)TzH-<n*mmjR5vjwIo~FSpE}cHf!GmKZB@<zadZhx;xrE zHQ6g6T2-m9V$juuB8XD$yA9KTL_~sGuwUFk_p6XPt0?ZHSpX!<P5v#y|7LEmi?-~~ zw}SU?Eoa}M(WP6iI>937#b2U_j&c;M%YX;Ar31Hrb*^S@Y8HLo1|~Nc2F)1bt}9#t zuEY&HHzQ5%erx;(!P+MNSM__Z220S3Xrbe!uYG=qHwqf$%~2FXrZbAmGma4&+YP^A z(6@3;)MuM~mtbSam-K97Ax24*+3<gsS^q9qF3?88A{kL%{*9=Ht8+>0GxCkMP+Ze| zh+ZxJ3Qt)?Rs^4E;x#%`y$50`S2RI;0X4)BI{6V1NT@oX<C&}ym&UItoqp|;UJ3py z6wggAC+b^GU^XZ`D^9?0#1qwy>hAAxY*&9j?vh4amWa@g>{4YNLH<vh>lkjCk!Sm# zbC&HZsp>JzRky+V9x9ym!P?R`-FoOR_1b6Cu^%x&;#&0ig}LwUr*+@)1IF?;)}KU( zykoeYbQm)>&eCznA%fzv@YT(x6I@FRyPt*S<K32p#KaMZ%-XiOtwRp96@+(~y4vd< zyoF|2ar7@cE3gSoujH)7xNfPetK0OIeVM@yEaDfPtg|o}RV-N%vvMqc5tsQ1r_>&% zU;4*{x-L}9F-)Lt)I#>heB?Xn;y*+67U_;{9+lwTFg38Gy`T<wF>Pb;qeVfy#?o8n z+23yh(b>!s*Mn)_a)g`^7X30Q`S>r%(FLfx^!X^cxR1V&ZBP6n1bq)1Opm9yG1dOE z#&P`~*IC^Fd+q)*1z1|C<79<qd2=*yEUa58JOz*cTtQeYC`j8=$00Iq_1;0}2b!+_ z`I>(rw?YGey;&E}j$w<B`EZsdU2X-6j|%45TXJmVgSxEpO~}IsVpdY#pssEyly0|p zIR&Cbjx%K5J!@R+CPG%s?-bIV<HnTzrf>aN4tnLMx_>OVaU3di?yXE0248k>4e0nu zF6Vf`^0CV7&3=jCa{67kQ+v;jiva#nmzvb;`;1~2ktZUO__=~14!&Ho<nAfmuT``0 zc)P4Hn556<q%HX-)Q(ORn$18J4X(-BNg5bg?%2*lTo`Z!(YeFO?U-TudnQLQ<NAWv zF48sUej+hl^<fEk{O}Q);DsfwUAodEbjPV)i1PvH^!g34i&3RDy}1r&yI=F=jZUGj zKjM47a{Cfj1Zv*D5mQgTP2NnLgevyhGfS=n7e6+J{oqZ8r%u@$*WH5zKtF$9{l}u@ zS%(sU?wL1d1iB;5QVcMr$<UGbR5k-y6H_T<V-~*KIl2Ja&|L;oVi9Oz#dCIbRBm>( zMW28Pz!m0$lr1}C63<@@MGnC0i~1|J_d{n=l0^F$F#JFmI94EmcpOOM(3rs@8p6Nd z6!@Exby3?#Uw+Dh<_$nd>-qZD(r26d_H;GYapgwt_1mx6s=VaUvB=9b#f8{+{pKv9 z%)I4urFY>b?}l8rM{gn8<ac3IwxJ*wZQi7XYpds}^tl?VO##WHMEja+Z>^ZKB{XYZ zY|i(7vqNapgZD{L!rFpviMw0pkAe+t@2G1>mhrt?1@tJq5{{uvL`?cA%n`)>9{8Z; z)wf)DS-09h=BR6BH}ub8p)eq(pikZY0lr$qE)oT#rAIa2Q2cM(-8|Ij#h@hxRgZ>d zp5=m`3+*dlo3|HxE*pTu>>##yy3D{>wfUNeZ_0dq2u22<YdU==V6(a|O+pinQz%!M z-CFptD05e(6h$+DQ0<c#6t`=8OFut%hK-H5xtZ1Sj}aXzv(!MdgU!L_GC)jKNZn)% znR8r*<jdprPF{RSr_Zj+;pk#Od|$bpgy6EPX37PSXlD-DRX^e_m}EBJd*z#MAgeDa zlHZ!^?pCzukny64OCkx!)SqAApKp1AghezeIPK0^R-$b!t-bt|<Q(j*K87a@)g|Z4 zX>xS)m&Ck@MUxMn5hFzSLW+Kg7%xX+K%-aN8UD!~vO}yZv)bC$b7$%sbeog35!ZFk zJ~P9U+~NU1R138>&_~%I3GC--nU}n({@hJ%L|2pcXM1Tc;1Bal1~rM_m3UkN<FAhA zc@a#d6W5!XBBU?u7(vh+o=<pg+VNvWv3nQNZi*s)u$7OfgqQlpnB8AC7p?(;k5@2) zMenFGB5e4hQN{~U0mVoU#>XmC5&Iamqxj(6U_d^_iL)cUrDFtFr`X-Qj&qyU?}8op zykmIK$rOYhAHNHutiK@4b5@3Tw{7jnZr&sSBET6%X3VFF11DkgR<tTnLmnUzS~dO! z6}@oGiOX5b%UFP(mA>&Bj<{szwu*$VzqrAkORds#377ht{N&^Wx(`L~bUg=LzH6Xi zt#r}OI@Cd++lE^HY&&Iax9m27^y!7$Th5cioRBmLDHlw3=|I<=``%LE?^6(~h$ywD z3X?WHoCXSdSiG-nkoRoj6Rn}R+_kaxvq}@qe7u26mxaE@oW6wmk~~QW4fpnUVy!ux z?R(Tljj#$F5>jP&zcf*#KWc`or_9Qd3okRS%`8RB&o|Sfxg+n9v0sgTAz}_tSCLJo z?~=JHf6D(GOoVpTbOC;^{o%`9Zxf5BCGa^XNun^=V0ue>v|yP+=+&#Scd<(7C;W{? zm#TmG;pQs$e$MPJ{MWVe*x8_s6P^4b7Ia0i4Pdhb=@m+J>m(%6cIM@}j&Ko;q&@q@ z-Eb<>-G1K!*MSp=%0SoA;`D2Ab&kFhe#gR(DCXq%_0m;m(jiyi6h~-Op9EL_b}s#u zvC3v=riqKF_U9e(Z`^<5HOee?y!K6fT&IQznf`R<*{c`l4ys)Umf(DK@w8jQ=a!2( z{R{#G;U`Fe0bDR}&r;1{jodDChP48gHupW9!)EPq)hQu2+MKk<PSyinPzH<y7vZ+g z0;+7e!P!=5!q35+89@C85?avBqQI<yCIzW$|Bo4@=|i1AM}M#ncyqt%Nm9R`K=KZa z*}4s_<A3b^d}G_|E&sB=^Ja(Ko!Afv_?i^<2xEBn^PY27c=Gq=Z{IiQ<DI7qYhyMg zjfsUjcTbsP!EWtE_gns~?_FCb!`8cD;qWPLXGVD>s-5Y~K3H!NhiJp+o>JaJ(Am9t zT3>Q{-`Am!f^a<oQB8X}=9g-Pz6*>smuaStb@oL*5@2>aMQ%^{T=BHr#IEKY(vuGw zJdI4FsWaEGSWfuzk~Re>Vujkvv%yCkYgZ$>+oFarXX8P<ow8;aOC$<hxzK}4dCN7| zXV&GewXQ6Dy!CFQ$|9>tSrht^h-aV8dbZ!MQ=VEP@(W`L+1i*VME44#O(O(Ee*%K| ztX+hB6(n%}YF6!vKoXpt)3f~Fgrs*i<B|08G<y8*mQ>Nfez4$b)tvn+Hu)L&?gfwW zPtMME#53puwRdy)4!eFFlIU^XE2r$-QFc0{FYGPio6(1VcGfrdZzq48P>Ys@QEQxS z7s2#)6Wqu~2=a{8rOK9Vt&@!;6$!m3;tK;!&-%KDcQ$XAfcNCtCj8Qq-+K2{Q;~g3 z(Vn&#f9iA1o=l`k+n%)C6?wR^EcBApUMPZK*^33qzseb8TMz)b(<vCvt2uLzvK^6+ zDM~gC(B6>Bh(H5kGkAynj&RWSK7h2%Beaz~2_Kz<OpAFRFF{_NX7hS};^TFUr##fp z!gb~$^eYr;E{|l^DOId)-U&0A@v4qn$V#h`yf`oec4vdcsPcJ)r@1~M@y%jNIsG`u zYk~J^T9!i7y-3AyC;4<lG$OMFAPDD{?B%alPYJ3u#yHRr*%aO{Xk>ZJVCvtvBLi&~ z)9lOj()x5Bw43%F!3*Q#ExW(JKYu%_8G4U$F%OnJSb85D3)?llo_JIZ<?j(+pY`@? z>N08yt*+S3spd~rTYNqot%3EkrDc8HnO~&gC$y1<NussJ46&EdPs*CEYHQwp(4Bl9 zm|a}}Xs5Qg1b&4?ft>gY+_S->)m-42Y+iFQHgU|Ka9DB~tr&@w*)XE~Y?=IYObITv zB>aTorAinH>L`(Lh^UaS;gxo&sf=yh$^^>7d@9tWB4i?+8Z$rlmEQ#YoZ^H%*8))Q z>$^!IgQ1a@y2GViIhPEXo9Q`B!cs7P>2q)spDwF|eg9|*YF=>gb_PmLo$Ml!yh>BH zd?VXVE-aY60@++ZryRzJTPvudsGX*i*cSdA)yb-Yjpv|spMaIs%2)t<pXPa6(xr3S zDS~xXv<<~>h^#Br!}$G8-Mb*!jLaOYW#IDQ#v+SNSirJNmG?qg7e*G7*Pf?un#=Hr z0QW$^VRmEyCb-C7I$)n+_+|Mlxuj02VE>m5NBBQlc?Jz%uCw5mNrE=}auE2tH4%}% z`SACYiP<{(aQEChPYPn$L=o?d`@%ZkJ*Re_X$&m_H9nkqM}c~Ym|wEQK~}^C`?&Lr zq~XxJXzebdu;n8!!p-o+-_!Wf*FF?9-FHmFmT-#C@cizN;v0IVj7nfWQxV@8w#m}B zA1ksN>`HLe=*b-=SzUvi^U!|M@*GB%%B?EQbxla^R8XC1(+G<?Oaywo)*!6k{j5<A zjmM9CIm{SFbx@N+>b0X;dr%P<SM*!P{wuzeciqxKCAWlX<&AwXlDPDL<p8Gz8qaCQ zIwB>zLmlf<oaL>D#!gC_LaR0h*bsSbQg(5e?OU6HCU%XqVM(igLjex{#6O<#4a8wg zrGK7COlA)}<H<Zws5cPmLY~e6ZI`EPOAWQKT5_7?QV>!pl<O8b+HF}T4BlXsp0x%$ zrha8tsyV3B(e;AngG2lyto@ASz%klbIyI>Jh%qNV@7Y`K7O_a?=5n#AOaxSy+G(#p zL<CnY4;eAi1~U4<*&rL&&-s<J*-2DPFg+y|i8PJfxg<Z8tn%>Y0p9bj-&t}~5~>3J z7{ylA)rHYm{icy(O^?MABwF5?L9ZWmHvQgnQ!+^H;w9hx%}!XiPWtQ5Y~CN@Db6af z!ufeyD?h@!c$jpOz<8He#T%lcTb_;xH|p@3S()Y@e}1{NZ1gt^cWUYFJohYm1xTNy zm6Kq6X2EzY^fF=v_bh0%lf}6R>>|z`?^?422)j0(vU~5fUWWYidL%p|Zwq)E$lr^^ zuarnFAljmZMud7HA69-@x`uB&LFCLKoob6+!0tmN^YJwqdHBw|P%V^WDOWxWI5E9a z&u&+({kn;rVBT_q&sY=ygO}RFueYu7kV#8X9(m$~O~#>8UWUw=G&ucbW?ZWJ_&bJC zHB5;y6_Uu<6p`%{^nMFw*x2U)JzT8%3zof#LEm3pxGWFpGW|v)s}s22QzIr07KHbn zq-$BmzNoe?8u}xIbj_uRP2K{Cnf?!9Zvk7m7IbTd8BUm)nHf6F%t?otnNN}qGcz-D zhnbnF!#QDQrcU3<{O@U`k>+V6%ih|S<t<rul~rqf1xIdy(Fsv#A6cR^Rm5T#+55(e zCJne&ZU9ntu#s3s%p2(lBIapbU{mj<GCOqdMP_Pg+Dga)`TEANlHfIZG(Vrs+WR0; z^}C5cRajAVuj|}zp@$M;B>2g}DNLSe_EGxH5s3yc5VA;f7r2{wIBm+S!X86>CBfTI zPF_1)z~OM`0>RVdnoEFBS_lTwAV&suNjub@ER7;bqQIy4)dO{?u(86d$$-ln>Md-H z@0Zuz-!0u>UjZ??RcSOc>PKu5e&7G7q&wr=oW?I}x>|EE;WIGiE6F_%;~NWE{ZFk& zw0Ki@ea9N=)rDq5MCB8<J9+RPuzXBDW$KOma?f1+8(BxywiQE<ALctXRdA*0qh;ro z7ay2`wwD!{sFE}Dcy!=iiT~jAoNu=K@lxD(6T*9b8Hc4#BNqbFGD^0oOzT<7jX^NI zv84C-;rN<9&82FcYVPX>GFCBX%u2@9;d`kBTe$aPI(O{B+paUxR$(T^0-lGxZ}7K) zDseh0#TyB89@V<iLNm|i-jI8rH*Q^v0M~#sYW+zzxGnWI5d8sFkuhnV?=`i3yHPM4 zVPJ-K#Po0+WvTsxxq9O~-#~-xgOz}9+R)NHnzz`_wvd7MW=xoZ^zoywp=qjj$8W&f zlsD71ld6py@O8KX8#2nvoppWc_%ufsU4@~K?X?7HO3!!{-+5TG=)ec5E><3-TEWYL zx0?m=$ml^^4Av^}ldF1Xe@F=W)l0G*yd-VRu|k{q$*F>w=+-VrRAAY^n5||Elv9ZL z*gO^Q`I^6E>$s2N+J*f$n|Wa*W{FLsXpNbK_czFElg+^c04P(>A(V)@j+>OhI|%<v zXfkToa$_^D3*Smb6%1xj+9cC~1hh9fB*lf;5KT)~-zFEuVP*0(W}chinirJS2riCb zL~5HPX3M%6FPz!1QznQx(y&6}iWSS#EM*B<-IjaTBnQ^5V7K@&aT?GXni`r#8@||0 zC{FX;YYGdtMsgGHoTyi)R3syYZX8-`y_le=J$hG73G7H&UyQpIlOq1Ha!M3oDo#ht ztbx%e+>g}IlFW)H7a2lK1WzXmbT{!;%<IPC&xA9>Or@N-*1XIr+-)S0DNh{mCLCs^ zreT%nYYXq8P&)j3nzB6IrP%%C)*s^Qoi7mu#|kf`1{4(>Xd$nP#T5senSo+2q%5(r z#k||{k%=txdFwOL6@0f$l$~o=S7nej>V_Xt)R|e791LVcg0H$YwKM-W70z+Q@q>Ed zu*xOE_{F8h&VF3O!4@iWkD?SE^9T8{0{>{qV=;VCuD<%#AVxNN7j}>15Ak9%Jm`t? z36xhLK$SjZF&8hkKz2|_cF3f&UC~H~WU!$$YANup?e4t-vyf}<6sBT{ceM#GN+=4^ zt4peq3)$zg0IvzgY8ru|XKJB(m0*S*u3B%%v9CVGN{<eU^%GD+P{uIf)P3c#wS*NF zt;`mDLi=@`ph%&`0ffHIS6F@QY@g0pYbbAXRtN$YA!jA1oo@q?V~-P^0R369Ojp7e zrvz@Lp^lgbU`rMhq^Qw>F=0%1_K!SX3%>-j=+P)ZFwzFh+GX*h9r6KwX3NNX6t+)U z6%x`}&r~OFK*B0gEnWru(;UFkdOk*J{9wJcv1BR2Dd>R;*hKxa*Nobp!}vD?a#_;Q zw4kA+BDzY@Yegq!^R2Sa1@Kbi#HBD<p1NJ%7DLCLFkp&as(R8?dy58FwrKx}_oqh9 z{&N@~zG77%%IYkpZ(RN$9D90*oea6s1V#ueslSyL{O6e~i&{g_4_KV0MPvD7aAp-o zc?o_$%SRf_&gSiS!SHX?2>Zsm3whb9Sc0;bkqni)fYKjA#18h%fT#cwBq8*0p?V^5 zC(hGtl}WdA>~H;)>2LXL))_)FDON;JqTWF-w(eC!05(=ZM`U2`4eoQheriH0z#kfX zPxN@*>kd9@o(YhUr}?OAT<$6)tGwz%?y`S|AiB2~C_3RF>rYZ|WZtITAtybCJGknl z8BG7WP8^is2CM%ttdP6|8}Bh!h8!*aAStUKi`)jbJTN0JI%<3U5pHH#W;%V}J)PI! zC7F6A%{BihShaoNw_7)oGkSwcS`9GhTCrSbO7zB;OK4J1-)a>eMC?aU&IJSO4us;Y z0q<qIPCt~Icfyo@vKk-Y=ii&>HeH{UUCG%yI7s5XopBdz9@X-WT_ciGb9{Q!X=x#x zxI@M?suOHQt_R|up$C9{?tShJ1<}Luc^C6j5*>Hc9$Pvfbwp=B8~;7v408@gdQH{F z#fVK}nOD;8J=FXyPlfs;QiS8SSV?5;3w{eov4uucr(%Q=d^&2HHDDH3VJy<V)!1^| zLK|1%T&f5}dEUELeM=}aA7$%1!3R1vpe60iO_Y+0OBrCBmflTIz;Q0va1n!lTj5qu zMl>T}yC7WZycfXML0by)^L;^QBuW4DX8W9Td3wfnO#irI<hR^?8uVGaF2`Piu-IU9 zOnscjYMx(|R&yHpB?CM39KUKWQ==Mad#q2aeG=a+0pJcDC(MhENzI)D49jiMB z6}sHFS=JY&IlBjM4UH_@jnGA?9Rv)QbmhV`af`~-v3l%wOn<fiVtlA?Z@fZ|;&clW zBzx%F*kKRT0-Nn{=w?_62*#9_C97;k#|Yi+`c`l3J>9Z-Z?_4g9o|osZ%gNCBsBLk z;-T;_Zn5e8$l_bCt~^S)4rO{qc5aWaAm>pGzAmy5K1vXZiFfl``@K|LwqCV@w50<< zQ$EW0P4J|k&cJ^*WhbjVzAQ;}jn=O=heBm|lyyg@#K5#)a)oMK*3ceg@XAexdmd}^ zgccdmJzM^=IQsb0w*+PiZpX|Tsm&gO)5uz>a~$u{mf78Gf%<wvY6%NmEM|gh2Twh6 zpM8}SNybS`Tjy>htD%cZ!pSiDwT3b~%W)pbb7@6YB{yjFpMaz-1B<Kix`_%4$u3oL zaAw_jIFmr(aqU%zZi#CNE3#+2dTx7}m#QgPFZsd@4uhiP_S=pCnQ*W*L$_@sn7`84 zEJ6#JO|JxvS5ZAPmAGvHvARN)Y}G_eM0-eioxtjCWW0KK{ryi71rWJ_R-waKu-Hi& zimb(YL6*`CAFllA;KN9@Gv`~A?B(-Xl7M83W3=DZ<Q#G=f-U<LJ>od^hHxwzP7h=+ zCgsgZ(;1b<=WTgO-9d1t<hZbSrRiSxIli@F@a?>SBit7zo{fWkSb<_1Ga!3&Ib#Nt zg?+3Wn)F9(HEK?uEmerH#qojhTq5N39FmyEG2BTY(w9gH$wvKtU;$<cGag29-#h5x zu|5st<W$n=SUkd^_Z+cO?Z?}M>Q>l9j#X14mD=T{0!QiJv80SmPB9A(GV;4J8>8KX z?GUZhoj9?n)3r!bxt>*Yi=H)fPj`^#_4*+KGw?otynHx7{C0_#d^T=hOvqR&AIYI> ztCmRs6Rygl$%jW4?lbDs&wHcR8}?|7{Vuf-EIM+?MxA<KjFgqny6tH#PEPFCd34?% zu;sZ{cRF6wA*KWhhw=HYHrGc{e$2(E+Yv6+9tIP^hq)flZ5t6B<ApQkY8c>G^VQ2M z=&{*nrRZ{*FVmpcRH77MRx<t!jeuh(OB7##%~GGy|Coj_BKFn1NYQUoi!vzw5oW}b z>7ia|wc6O{s@o6#wUN)u8*zUn250oG#6QpHfiESDe(AjybiQ+o(W|1^PIOj>YfW4o zJ|j0x<>wF^kC;nhXb-Psv3v1){+Hk+zRlb>4Lc=0aPhhcg^Qe%uD<)*KDg0wF(_zJ zKC+nS6lG}%j)31i-pr)8fpN~a*A?oF#3EdBQ;~#s;*0fi9ASf{uh92wZMf=_fWYmQ zrB)fDAQ|WwtMm^Ne|{1cd3VF>-GRe|)|1Y+MAoN%j!2#u*P^UtNE<EFRB-TCF!h<G zt36S@5t&bxiFDi9wo%SOC0~de#D<P!)e-~ZeuKfwc?7QPG^6GUH2Mx;oH<f(bXlXF zZ`x&Uf2$9F_Zvog*M!3S$u`PM86(@K?Yz;2qHHj(^Dp5?5eDr&n;7^Zem>m~|6qfJ zfp5zKx+KIh$=QR{HXu=a0y}!cTl@sq1TF)*qvnX6Gw|Enui8r*q&kZ%z|qphs}_W+ zB!DY6B2&E`xn<)#IU%D%h0TfSnVi%v;GOl~My;u@=J(FshCgrW`j(%YBp@OCGUG)h zUqOSiUS{HU8*Ny<x*{%Jvm=~wD7aWi+JGuG`bzrhLD6rQq7;SJ@7m2-UF*^3TIDF} z;t^AXDDvvy>MBmkd@kx4Ce63TO!>e|#1aLx>hwRI)UEnd5EtR98=94R+*?#37w4DP zmv>K>(~}4P{Ox|~nmYI88_h_v;!YU8+R88ZD*4ERW-RP>PVbg*RycEv^OnEXiT`!~ znrsV14Vu|?eeVV7Lc;0Mjs$$ZsjZ~qwJH3^%8`IrE!0u|6^lTN8oY@s(?&nm-il3q z)&2|?gnpwBTBZ>k5?z0?eA6yFS!OV7TLO>gI}?<X3Sd?ivXz6R#IqY`lPVWtj7OgR zY5yPOD{%9*19D*bbvJvnU)qr2-j{X=3KGh?YY(bDs7V1of2`@%0(H>|rjYawK3YyF z#`XtflW;Ckn{34R!UOGRcG+j&HyGtm_2~z{e82#UIoFL+eoxMR1u1&>n1Op1X}Cwq zVQbP4^`t*0{>|#0UlZ5JGbERE71>bFX1Zy`c6&~Ki}tF1o(U|A3h5n7V3;G82TA$q zcUgZ#pE1=d{H;-87NnlhG0gHP&vsb>DVx&34F;zE{GTNjt6o_laEXahbrCe)*;jjl zTP?Car!GnZ&B{NG%vu2L<EeYSn#nZa1%kUpj*j8T2}wXCf{ORbS{2UV4G1%i?a{WB zF#Cj%XQ3!+o))Lyx+T!P&6kvwZ+wi21;Gneo?rMc5t)FzoGI(uD><zER}ULHNdXwI z$ldW~SlOSuK8}Z8kvSFHTuk8Ho@oO*A)Ob)BcAG|iofamiDB#IEKA;SPeTG<Hw-Ae zwf+9ehW<AJCIOD(r1D87FO@8zmac~KM|b#HS^-qUW9}dp6~WTC-`!Ms_0W~G^9Z@i zo?mwGlxWh|JCw<b!}kkH@qE*iAtL(F6(B+>ITM)%iE&3~c9Lyq2Fr1*3O$kFDJR9s zG~;A9U34gN06lLPR;AMSe$;m0|G^?3(f7^3!}Ue&cRi4gGU+JDR_St57M=UIdg{nq z8Z>JhF^%ni6V22jeJRuAwFpHDhUH~@TD(&>Y7Ns&3b)Gpwl1VTV)&Maf3L69kqdwl zi8TJU|8+xYHO59O<;iZx;(J>jr(&wpu^mDk<xQ*>8`)0`EZr^YcxC0STQQ3{`88`y z(UWE`&;Ude)0CqUertg6kz4d&e}yQ~-{_*}YdeIE`_jwkl!zW(8di|N^&;XMOe16{ zxT71$TQ}8jvk;@{gHg0@`H_KF`t$I;CVwTVq%Ao(VMlr|esuFS?KxSToS_iW6Ou0n zDfK;d%2b%#8@CUph=+_0v-*KK9RF#OgceVM0~1|2S-@(PC?I;3Lz}UxbBX@=^a(~? zcSWymqd;MSh#O~itHYbX?Rq*7o^-vQkXz-A>7?+gpL?rDr3vC|9H<GGG8ukVI)gak zTtkcu;71Tg)xg#KteRKhIwQP)H+Zajr8o;npcMASISVxEUVn9NUCJAMnboMJI<6)i zfDkZ=oo&qTyo1bwp?>uK&QVqe)f{U=$nmng9H%FVA9Qe~u(c4gj*c1+TYPXjp%Y{S ze&8wXSW(`Z!Y0nR0e5C;<Kj9BkEtDxXF2{fhVx<S7O)MC!MBH?+bQw=T&>SBa+zD2 zIX^CvPg%f;^)1>v5g=Hsfg|dtviofix}WJNb<eZb(|7icRKFjXgOcl&>lg;D!cV$C zyvX?pX1nz7jfr6=1m1OSHaWNQg`(HOK7Jme&~qCT$M4pKMcOZu*wFkw&VYnxu0lL( z@t}qYBkwA2>>M{3QD#xlum|sedY_kckS@>_Z@_D0Zv=72kG??vs(@>QE-3B}e>3&R zm)nH?uO6R0TUgL;iC$%Syw=<rlo3*p2-uWXvLO}6#9cUew#*7iY@5v%J15l|!l%jo z^&4@Ez+Q-UsmUgpH70HnqF>~Iw@%7caI<Yqb9q2XBj2oD0RX280tyLT1uujG2FVv7 zE2fstU<_D9{suZ_VdDi_O8$pu*;=(*!m)UV=<_foI79hY(;HKbNe=DrNZai%b`Zn7 zsMZGt;qTR9QL4(u3?>}EIB4q$jLFozVgqdU8UT#7!3C#_K<U<B9;+L*f2dfl2q|ed zn}|X^i{6$a(iLsb(W<Na;d#Zbdx^usxi+hnyb+p#&OJXG3+wU#DUWA&rKYfbW20d_ zW`c}Y>^fYCvARe~z5@+7ECO>dI`<wNM#IaO3f=#{me+64ue}V^`lV|sjA{jwM#6IK zoj|%LY4$I~r>FMtYlzS)RxXVewU0jpUvTZEhw_{yHN<Qtm#WXh*OS0gr5Hss*^pT` z@mw()y<fTU`9z_NwbTfDS(Rkush6p4nc+fih%@lmgsWEqDs0?B#p-_GrbHvDiPYHO z0C?6%kR?OMDn0Uj&`ZKLPW_;z+Zf}`WKt+m66HC0{j-|}e&!y$0_LS$xDz;{0;`4e z7Y*vkm8&u41sQXbw7Xe}u_&-X6(_eI>iKA*dI!KX!O;BW>$o3@K0XzR+1ZoB+f4T7 z87-z5<ex3JJ8m~Hq5Z7q+kUX0P;+}TYq6~+zk+1XoK*>T<sqB@ns-MKbwAoAI7xdP zXh5^d!8Hg9msUrMOfVUj`MAR{M9OkWwEeZGSt~oxN?FXBWdh#Tp3I|mTcF9ITrwcK z;~yD<+~xLly&Xs$2IomkbuXR=tX{da=JQxTz)Wyb7jbvyR0p=({_^W+U0_l|k)Yb@ zd196lqz+C5^_8QN>6@;(e~z1<Z}`8^PfZ~`9iPJ-svv1-p7v2<6Jy<l{KBvf;<Ajk zPWgb^!7&jMxJdknBY3nTN%)lv?mVPgZMf0N>d5GDJ3Mu@hCI1%Lzb){>2Z5Dj!ukr zU8Zcm;A~vQk|KxeDQWE=BToU6c4U3$KufCqm~$FXsD*;5U-d)PULAG{Xik3xh6<gY zdtcz3CG|i>M9+0vo$K?SgbwtT9~avmq1q4C?Rrnenaxk^7^LZxE!k9t?ah<NrFt_; zc_DifyC4_zfm^K`={KskvsQK1h;MmrAQWt$roJ6ZyHnRO_@2G6ck5cBs$9{5c{}Sb zK3;JJL(amd6x3DWz_ngR`JWAV1w8XmU6LNe3)Sp*E=;7x5{UAt_0b~aid7tAI&e*` zlTNJS-^KLb<a+h4r}kr0)!W3NHg6QsxubMQtQr)s-11#Y$;Juc>vOW^yLWG(>J8mp z$+`s|MywT!wRAi@LD;Vt47_FbMX|%0#0;qu3zj~>J27&}>aVJ^P?MD59QKcHDjZ{J zCIG~gUvC4lnf`_o{AoEkQ%_UpEAYLJT6r`gQ5)(^AavC~FHpaW;1Ycb<%wk{AEdYL z1*t@nH$b!{s7Y1DBb=R5sIMWl1;)Dqr<abxyV+6meqrz5NxTo_Jup-D22PHbo;0mm z<h%NJ4T_tsxP(g)+$ILY%Y(xzq~Q+a4XcJ{X&s`>mqpDYy6I1`A;9!~2g9OPj_~pv zZ8Fkv*sd$?%Q-0qS)z(mSq0mG(7%gXy*D(p{wIp-`I_(Y69Mrzm+roOS7ap9r@_b` zhDzUR@a3C5@X#vKW4;Q9Aee;72$$(B{?`4>qFbpBB30`GNZU(J60NI?H#Ry${k52L z#16lc4g~@VV{X5o$lRR+7Eusz7_k7$tEkfMGD=D^T%AoidVmFp;NkgI{~N(0cfw2h zIE(bWj6aIbou3_XEu3@LYec_*hWwcQyO=nsf`oS)1#h<3pv(-|<OOB;=pXCHH0hSM z4Jwx~VBV*k8if;%RJrK7!b(8&_gQw<yXgAvZ~qYVX_ulBpvgaPF*L>R&eK{e{6IMz z4fIYs#(p*zer?$9Ew6wSw(=4=Qf)HIuPqz;6__MQ{QQ|J`8s}v&<X)r1wCnwyN`$P zq@1xEbN~%8wdR$V@BRlmJ@lB8pScGLl4=u|{nlS?s3c41Q6aY}LovGqV?BMEcx912 z9rMhJS2LS~1D|b_@a&2u{|`hle#|ZFPY!bpYk3<JICEfTXo^)mjy&$ghno=D<BppM z2TEjC^Vd`CuGcCLuZG2xGC+=BI2^bc<!why&Rox_vN843*&9=r0GnF!#Pep}9La_= zutDe0kogokw_L9rDe(Nb?Hsm9)SFZX%f|17u>yBb(3EX?d17aV+2&RTBUZ~4p1sq8 zv$!Ycrn|(&iJ|&%E}lkZE!s)3L~L%Ay%PdTXxCo#<$5zy)!zv{ZfH(Eh_j*v{XCd5 zb#mlx#q4x1TAe{W1OpF<H8_B|kRug><dL0GVZus8bif<QAQ<AuGk|t~GRWnAz3>jd z6@24yB@Tmj)oTu@-rtRpileGQf|sX13Y1kfP7rruc1yZnKWxDJy*52xU=WL(<nhA? zuHO@ql5?U_T|k+V_M%X6Qv`2MRh|FtX=rU$8V*tn9OW^MCY2Ek_NiKG;l&Tcvxtje zW)Lp}_ptbyePg258Iy;x-L1@8U8Q-&3E^m2`_AurqYb|erp$`w8RscvH+5o(mbiic zL+L8=rCWOzwZ#Gnio0`v9CrGQ$Va^M@}l(7hTp}st?6WcVBu4@+^De1^L@glZi2Ek z9X|Bx>s3osxqIUwtNZQJrv;Ix8baC<Z9_@QxKv0PVjPL`(qEuvxrAOiTx;3ncoff> zj4TSanfka(A^30J5^D5+@e7|`c~!T}fGCZ1ZkvKvW@kpBw+N^NFSCbF6uSA><5C;? zAHn~*!ugWqC<x)ls>WKNj-xmc-KCU4swrdHb`~ozB3WWa1y!ZKXlaemXGU_^3-p%j z+A=Qg%=st<>Zlwh<%l&M-IV?-nqrCSnE!L{wPxRTjP_b-lYIbr?^|=9EpV^Sl$!Of z1&FQHg#nhLEf;?J<L`%1o1anQdjKtWT54SJ{tFzBLKY#4Is8ph|1uh)M`%av5hWxf zBu}9w{3xkB$@D0J0R@M<mV(h7fSi~x^r|6TQ~}=8sUI-ckNVtD)DUvk^|kR?`!`Hr z*46W?%W3#-Qr>TC)F=2`y<m^))kdR^GKoFZ<kO+-9ZAa+3SX?n!cP;0g|>&!kEh=S z$&lIk&?c#$WUodP{jpj)Bwj*#J4z{&Bld}+Hp#LqgPduw$>|t@Hy9bZw{Tf9{C97^ z4&zL|FMKYM6SE?YqUg=>r6T;A6!z?=Jp-CoIZ_OX-^vmfN*DeSFi;s-m^~z^x+R?Y zAm?x8v8!Axr39a|^6%PO<sPhyCh}BERY6aQFWaqRfpLm1Yn1l!NMIRO5pP$naGE;~ zOeAU$0+L#4jQqDsvbc8;H6S8>r~Sh5<>DLMF&le}(~Dh+SVf~(so<w`==I@;mJlS@ zPYf)2Y0TBL{_+gm;u1vXFl8~at6qN1RR%Ynwg;WA?yB8kNM&%@;nLx)@BJesCnvAp zO8+xAOBs2fql}E~NLUI2j>N&{caRO_EOIp+JT4r$>_Y{Cg@b>HhYaJx7=}UNDBpB* zGL0pp!eKDJpI}8ab~J}~#}M4!lPKS|%n78=-#mMY!vfofJg<i<5Zw~iVeO4YQ4q7p z+8B2_{)|%ezPL9AcFc}-?QN;)#hBiS^m`HXaDHv(0xL#Tc5r+uO3u(n&+R4~r)R3< zo8ENU*XVRFF>PpKk~Ej313Dt+yn8U?HM<E6y{9hznpenCA`tzm9#k;m^(Y}C&l(IL z5a~4a=%Z8vE)y<Az2q*<Gs|XhLb0ov;qcb3t2D_ii7bAbY+&mn{9#(VAsFIF+<YIB zBEjGpQKl#Tn3<H9SghL;$E<?5gD&V0yBnH_IPBw~LJ<uwUU&U<HiJIm+d0yg?TKd= z&dchK@t*5pdDG2K!&ye_7Y^E~^pTXB>>pO!H93acXuyWPP2jc7-3}$P!rJ)(4Q~lm zz##A+u!r+8r*-ij%2H2{mNv#=4u<EvwXk#Ed`2R=<h`#!5Ht7k&2__12Sn%UvF}yB zg*}}UM+VIFaQC(<u;^g^xcloh{oZTfVu<xP-2)=0q>PvX5pC?e(lh}bu!nYd*aett zND7R6U@mz>+@B{BK9+MLwduo{6HfdyU;rL#s+d>tWcyIW9T|yos2r@rasHawRUKL^ zc<z)oks#L>ONG0X%4@-F#ESz6Jus5=1*;rZ<^<iw5e8;vY7h5R#i8gw9uY9>g{8lN zNh1M1-2=9T)EEW@-xMAI3HgX{_hh~=per(CVB5+flov__7=NnK-ho{16>gglYM0L~ zrZ|^;5SRgHT^dZs!W?L=s#re4kz3V$I4@el7g2;s5bQhJq3uh=R}-GtnguD6i%NrQ z%TKTnlvoO#(TSS-AP^WzfSNfZht?z9!d*l)9kejv0Dxb>A|r0*oRCf`5+7F<?A5P1 z-+NDK_B(ZgcXmTkO4$P;8W0)R3{CP?iUFgDTTe9{rHXGv@0sOY5o4r+BtDQ(-HH5& zl^en{o5vmvH$Hyq&9k8xf!YF7a-vjIz`<Di)?a53M#m{`?Lb!j!2DX<4i0d~VDyCI z9Zl4XgA;fkpg~CxlXk>~;aykG&uX@W*D)?MnB*PvJ(2T43+9{QqX^VVmowanxyO;n zf3r&!MYgB7O%7F@DZHu*^m@$3uwWB?MyDBix=yv!+R+ZfX=g<4xg>Crl!TQ<x1m1X z6nsLN@4G(4#@Ze}L!`sVHR$jvzg<sxdx{e)bmhQHDGyQdiN1RLfHI1o-QW`B)L^ng zL8+<$G!!_u#h8m_1imq!^(UOo-C`azBkd9a4C%5+`lVbARmd>mQMEEG^iX;NoDISz z7_&|0p>vG4?On|LQ_eI0`KW|!b5Y}L*52i-{9VScwE1J~j2tYII3vOS-t7!hvHX9M zAuvLJag2$ksuUz#KBSga3Dn@;!MgAf%d1`~J=8MU$lh40%Te(oSFz864K4<W(E9{% z8&{>r)Q~AP1S(G>!k-ClZMiOfPImIJ)ANqCEmDr7SrZ0oQs~(0j@-TH9|WVAG>-QP z$;>V7V5<$0>_cIrswRqo+`ZNDhz`Yqzh1rQrF<Wq8s1=i%gtMflu~NetiLK@D_F*Y z0dR&~bMA)_*}Hx1_(Ai1*j;kGRY%q&YW7yWi6EIUpp0#*K)IdcqLATox+w)x(J9pi zKsW|PusXZmq6smm{t*f`6*(G0+X|8%unhrc-h9w#`=H`SJ$r5lhv+<?7vTARkW7Wf zi}Bd6?hwAK#lY@!P(0h-J%js4iid4Z8DAe}%nTb8J&zjG<|Q2X6=>AY<lEdCD}8kk z$F>dm6rNA?%Qxe--`(9m@8<PR%@v~HrMyCDDC-t7;3KOowKyUzCJRZBJ4cEZr%w8Y zu#F?<@fj<|s&=gl<L9l?IIH7jTs*i_-I7QO$LHk@{7e0@`18ebD4bVl_H4kxtoVls z;qP$On?@sw;z_$en4n-?ZHWxyXkxwc2bPnr!&99uksZLP6;Ku?K8daqWT>5olZ!qv zF3C*S@5xMbwwBQf2^H(s1ZRIgQ2-qEAG}(QK2$GZ+HmI&50&M5-uK!u_R0jkX7urK z|I2Y~Lpn!M-V$d48=prz4r%9PC-!jgfan{CUGc4$d~t@(s_?2^0zGm8;LH4tf56}^ z>$EFN5%b#)4e5hL8*O2$wiiAr`PTSi2DlNpnT&)9)gT^!XNTG%^*;WahQXiUE8cF~ zhGengsDZ^;yU;;DdFyK1ueF}Aan1O(?V*cCP(z)JV^s=bZIR}>VF<#!UqnT6H4#fv zBCFTbip*9dg11of0bOV(z66IYDF~!zy$8LzB`dK}oL>*jHL%Az*-K7?B>a-~FUhs_ zl)@Nxw|qa}mEld<(4yUF5nb1PY2U4^bn`|-$OAkzR_A2|27;AfaH`+f<n9f+-2kRY z;&1MOw{j4eo6Els?kX<fswoJ>>jNmA44%#ig=J0zfH9fZwGkhyc~PVue6qVVo#Y+H z-5r7&@Pqc2wM;E-Sp{3~`Tv=sAh-iHHW9YQTrk*CJNb>`f)U*$p+ux})rY9&o+$%? zzH$-vxuo?4?2xD81MLJ+fs#3WxB5YlMYFSW!AJs9L+Ktj3hBz4d}A<mwc!E>GhLpa z4qp1U(?i9_CUx3m;>uD33~5`}5yrN!bGXBL&nws78Iqm0mbiG>r6Db)8aOL@1^#e7 zu}5S#W~J8Yj}=q9AatEOx`oWNq=Y40Z6N)a-)p-f49KLk0<j5!aPk>98`t-IL+Vgy zVg+S8TUVqjRO(D$Y|HY(%}e69k5JN7D=A`dgo7)k7KfVGuL=3!b`g)Q%YS<p^vc#& zC%wCv;1}SSHHMXA6RYQ?z|@F{)k_h7Ng9d+#jd`RZKZ4Inu9F_NWCPlg&L9fL)%b! z+E=i6_qr*0FFt%3LmoU!JPBCMRoCa!3gfgjVJmZH9y#(-L*GX#e=9<|b<%x>nXB`^ z@P8HfoVbp6LypM8AE4YS9|1$IUSV?>Rd2S$8ump!+r+&#Auu@l!Ms9^7Qsw=!3oe; zW!n)lRJg;8N1L}?5Ch&|kUl1YO2P5-<><|1K`Cj02O;drB+L_1WD_1Z!tZ2+DS{J$ zqaJEJlk)ag2h6$apY(sS6;Rn-%>*dwB*GE|)7p&#>`5#lSu-==eQ_naC-xQOR}u;F zParp4YDzzs;knO3PEkHZWRZk2Z)V0w7#-OoG*E7%H_5a8QDf)<FyQR3j7%AJD4N9Z ztQyXpoUIoI!_4={q8#jU{#)b)ERvs+farXPFoWLL+A3{2U#hugVUU&k{)lPuOV^B4 zA4+5z2;t3Hohb|&{>`=$MlTcWOTUfvhi;Fau_<t%Gky6=6E50*IrooPzkY(7mF}qm zVhl66N%kCgIW)T7Uz`T{MR}CkoqHP{TsZ%>pw;mTGj=4+=V)tQ#|7jB(IMNvU(-JF z@whLoE0qfKtvjV&E(ux)GRp=Eg*aFjJwo#sV3F{oytfqKiT=BUAg|fMUSa!>KuX+V zUAZn9!ykR(0H0Ru+RuyTM6(@kL5|UJmqz-M5ZVS0O+bK7Kkm>nxvrk=!YrZ|y{>I7 zyH=UrGFUw;CXN+5I(eWdFlyr+J8fx_rnRH$IG|p<_r|y9q@R8>+dcMFE|_lwQ|)Ot z)peT`v3vwN4`-eBKXN5#FLmWi<v7loI1OZKO$u|G)8PP(!??CB`~R`!{vUQ=m~!7| zCPfagalaXfko2T7$=-U(F(d6-qtZ;7A;G;ZbjF7Oj1_D3>j0#Jxs-<j|0}xdY}+aJ zX~tIDf7%ZyZ-#GE?h0v77imw+%+OY`dDX&V7K`sJ%ab3SM*JF|Ef+NJ|K+|9f||1Y z|C@e$@V624x9V*B%l9KiIvd64)>-vdDrW!HI|Ow2@NYiso*y6_2_=jP506MD;QfDC z_5aUwoh=l9>D~)3@w4f(G>eQ_N07qxe{*TD%)!wH{^5-j7Pl5RH!+*mq=r$d1eo>M z;IaVTH+YGTJsvEo3){+7QH-96BAZoJOzS^ba>I)(ftAOX(yJ9=s#DAheZ73DU*poc z3Wj;;{@Q;c-A^>V)WYyX;ZkZLmLMnkmzJPM3hRBOm{l~{#0T1D{$qF+rW|=Quq9r* znG%kbzbYy1O9=m_wK}wI?5aIazPk5}bZOfnzOr2Po0q&m*;C-x<V#HJ(oYd3<F05P zB7!4CLNAno<KN2-#7-IOF$O1$PhZp1!vsOWUm>SP;v{#L9b#5Y0zS^pl}YmwFN~s= zNSyjkGORP&lp7S~Cm3H6hWat2EmS(ig347Z0uv)=Nb$>pFzIQND_xArMSf0zvzJu@ zz;cf>!?Jj7gozt;quL5F=3mf8#;V8qb#qXUTC=3si~T;L#`Zr7G;*1LS^b^A>Pc8= zxm99C#}yH%RDlZ;u+?v(f+~U;3Pwm3T>tlr=RYUq%cY82hEwfZv*f<Xw`w7BGlwiq zRZQdRpqB+<^JH0${r~kCBZJ9{$!j$=MWMb&)Zjvy5GpD&)OtsB(&E_AzeFn=R?e!H zO5~!NXIf-BX#dixK!pdJFfVejKA14hIH3nYe6x9=VS-H<=Q&udBV)h;O+yf3VujU< z94s)_)HN9F1Evu4)KErniD+O7=+ThfBQqnBq}6hz@RY-{7`SNoDF~1P|MwgsNArC@ z)~TJ36IJi&G;MWp^>0i~O$lFr($vt8JrZ`<m2MfI#}ywG2~@)R1Qd|qDILPaO-iY% zwMlGTvI(;YDrqbls)*zOTrJqYx7WHq`*`53P<(Vy3|es(X+H&iI+#DPOqzn2tdjGB zS^o!p>H0!Mp@}X1(lxbgaFG+Eq}~|D{a1zD_uLP&m$R3ynS*=Fp_#)cA}^nA%W5Ex zlx-JSzu80lTqjUsxT?)Rl>)za96h`4yy_qtAY$&;-6%7{q>@%sLUB1MmZ3I(xYME7 zfohGURR%&PBmt0PN{sI<(xf?`zc|eSQ)<lSET-+XjP#~mhwTz)hLUuUTEPk-^Xiz+ zMMo@4>9Nag^trInS2g-cQSLTn8(E~x1A2mQZ~i!#+8FkIB;m$zA?zS`=0Q#&^v?I4 zwKR*EuDoh=zC-nnD@qR77bSoVN+xPnnwL6oeem6RGUy{^Y(f}dp@{X|@rr<H#^>|b zw^LQn<Z5uAF+Zn`a^VV0!gSCFo(lMsW)W+yqZ(gorLjsOaci^*ST~g*HM$Fh$)H&? zcM0G_KO9hmE$ZwjE`IBpDDt~@wGx2M2bymsd{LCwH#~b_YjPUbkLj6+(>Y~{KQ@Pt zwsWmfmzV37;<2Jb>i>-w&p|5*zM^`UwKd7_!-eqMcJMvok~t^zI9LbSF#^QSFl3m} z@8-KoDA8r(LnFpNXob&fUnr|m;+eJm&5sbCh<o>>@3k<PY`o<`w?gRuwnNwR?smI0 z)oUri=<<VQCq;=MoA+I9!uDXH-+PLzAG_x!FgO^9G5Vyyv7<6H74yAE#zk}H<nBdS ztLN6rT!Lv71xazSFVtT=FxFsUpBHncm;00nJcN-?he(BJes5>X*!MxGWa3(UtT;$P zpLa|pN_QizLjUnlK@^@SQP4rmCCgp4%YeG}zlGhoaVq^r*b9h(mfFsaYX`HjZ443X zpYmH!C@kTX)}gKt;YNSDL6?u%U48KK&0{_(hf89<7Jt`Ww0U?VbEUe(G{JJx%oJKm z7>SllWE0pVN}DlvSW;%$iHmYv2Qtm{@w~lx9l2t!LtbS|)T81fi{xhj%u|;e?a1P> z$+tYINI%<~0p>O2YX7O~14^IGMRF2`&MOErVCfPpD{I18Ng-%wQtd}-ItihA22!W5 z0qc=3@Y9Q`bT&yNz4?RgTkH8WwOrY$<O&Jh;+HJMr4vEqCv2{2=Isy?1`gjze06N^ zUfgS0E`H;QjbwLxXer+SngHo!yp>g4*)%c@ElS@V$hg)RoX__asE+FZ8nb-irMvNg zc+Kl!etuv2ou@`0_6#H)6-f1%j@_>9RJ2{FSlN?7u)IqlW`XkoZV(#<d>A)m2(g~x zEw)z(;xMZVr+>fIU|^{JOW6VKo}#q_XWCIL>aIzSt@Li7SLJ*002EiUF9k}983|uf zZ9C~B6eJN6ppW4}r8@-hAT7QF{j@caRYnnFHHw$3JI?<8Cjnj;{@ktJT;^7@B^wDY z1liMogb@HIPz3oAQj=px^SzG<`7cV<JVrq{=NQfYH`w153JBYy-4P9GY`)h-F&j3{ zN&!8C9ubkCC4`#lX3OKlO27C!YYI29hjY78;AVkZoAWeqE-h7_f4!yITVN^r1Gjis ziz%5L417TItuTZi0xSq9l13HO0&;FUu_3TQKF?;fCFy4I_H2lMPU+|}i;K%fF$)5Z zHgB=ABSLTEfc!aycu8P0kfSu2qit0WK}zH6hP$a@sTPc0IrAEJOk>{7jpuCFR*r*f zqWf@itru8>OyWrnB_Tlx_7;kuVM;0oj^;&^wB|hmQ<uZOysTl<;?V^`PRqxjs0H<j z{OP|y!v~@yP?F~9y=cS;ts9=ldh5}?6wbVe`p@8V?;V-@SoXgk`5h?Z`XTkU6AnfB zs(D<h^i&_D65u8tVX{i|U_lU2{5Fq1*sJmyv8D?f@v=_H16EPZ8`QtUN~+9!V7MYs z$cOS=-w@yxMG(wP_2b+b)<k~i{IQu_3pMmXhj<Kb>8SOxb}qVf5WMU$mW(pFF2RNL z&R2On$-V%sSsQyWOksanqfg2Yvg0TN+bR|eb5fy~4jJe_*@m4OhFidxV>!Ma*nO;Y zgCqx#F_b*AmYd5i#UI{^762Wxisf1ej`w_84&22*nTgR;dnD;ZBw$4VEU_Yy5M=k0 zCVu^*Wp}7EkSBccs(+!hPYOi3WS<gX)0HzT|FZpXCnBd^!d*qgu3j<Ypx3KPfg9E< zXDlyXY0Dyut1@mXR~u@qA>VARv8cwa(;2KDtg&dx7Om2Y5!-C5(;4=P88WnpFns4< zGN`Ju5Z+L8gO&~r`1L;+{o(8eYbEpwE<HNs3T+ckIS-0lHZr(SV_9;Em85S))i=<) zZ4NHr?MtFKcS`>cN{T+A8p8jI;x*<$r0h`tPhwU~UtRN^;%qtW^+(X_)AQ3=Xy*3q zhv12=FqtusE2PiZVn<Q#?&SOUVO@#3;f#&mR=ryYC{=80VoRJ84}84>Hs$9G)t>I# zwyYO|@E}*<5UQiuv;JodnwnFSw$;@&c50hH?eqo%<^G?${=WwG=oZNsSpWNq|F6SK z$Z{S$<nh<-uY<ov5f51JByl$5QzK~s>c<d3U(dp4pGrpU)%QBeH;&YQI^gdraFLBg z_dl<_N)iI1d(tGG1M`7}oBZWe?W3$7#(&5KyaT<Rc987ie_(3svfA}@bHJbf_85#g z%03Yd9;xQAeC|e!N(zB&oym%v>og7`F=%-U?j0e{GRD-{c{zD)>e3X{(B(fI{*UUS z9g&|6Kqn5(;=Elw=F>@jbptx#4GOm>?rbh~`jteEdD1{nkk6duha|H7-1Ykqz3xrI zv&WToqNTWk;XWc;w45BX`<4YY9aZ3#WD9<Rx|yiJvxvB%C$WQhh9JDdULX4fQQ%p? z|6$E07dV}FVSX=(VwN-RX|ro66Xk_llqD`E-yP~cBAkh0<I)1WIPKZk$x);$V&Qz| zQsn5RpQVXvrF0)aRYyNi9^@GB#~_F7eM~__oM+lp=xq^!kWn>cV0sj2o-;PGKj}*i zS9<smVx^eAZN&)@!cn$%TSg?{Vw@T<GGY}T23%T|MP;n1YLl9WC-c_qeS(ys2Kgss z)OEapl=-puAm_0aSRffD!E;tLsKFeuxtC@}F)zPh*3b$b2`FP8VCbBTVWZ79@)DK$ z^}1t9T&}G8*!H|QmVUOZvHW9~sz%}XNWI!^&*~OA$rmA9XKfLJ7F=NLSmlDIbXOOZ zTJgJ0ho8$m{Y+Z}m<~-Wq>uz*X}S&*f1`hHk3Y(OKN{2f7RZ6vo}cg+pV-$9ij&Y) z{6GPNzh3Ye`;6hw+w*H*C%@yv9~_*!@JqOxG)`-0MqYtny^I~R@hwtmrZ8*VGJ%;P z%&w(+#?$fcXe#=6;oZ)A>AL1EgcK+x<@eaS!H@|FUVT^5h#G~)w*=*$^a1xW`rG?$ z8PP#wgv<ggPF@B_BH6xvsXK)qd;XDcAT0?K2H9b4VIr6PT&JYv(<)WLTqQ0X+iPSD zco4RxizNe+A@WOVV0RdZ!|@}d4;5(6Vvz@ZWloG4fuwnSvQTv(WMhp9zv{U9h&bTA zWDC34UAd)o!^bqeA)Kgg$dK^U*R$u~iRnse`0%yy@itQ6IdVHN(j5IsW_pWXby-G< zFhYLDmB10!&zbeJ_Un`Y+lqU)k?Qy^Jc!K1|G{2VpTG_rlBT%Fcyv&D7qYU5CW4C9 zOidGQUyNEQk|zUXiUPtiKQp)D)bMs&R+xrsK55HRz3}N~J5!(A<JJZwd(bWGS=84` za<MO;`i_aJjafzQGgDx5ku7pzX5Tn~=PLXVU_WF(QybeH)#p$7Dds`A+(ytHq@G0T z<powZaRT!}wW)<RN5$(CY6JT41Dm67xOLAL?)Tgi;;7Iygpwd$wfKSixTKvI83U=# zw-%?Ur&1n;JPEGj$hY<YJbQlm+|y}ox2s>Mh2~8%cGIh;1wSC!0k4AhFsQp)__C|y zIgqUV8)JyF?+xjqRm0?9B&OT?80zfPc<RqZV8HCP_X9b~FGzJ5>jl;=&k}k4wKpZ- z@(NT8=?p=p5&$1JldZIEveGm&oZoY0$I0lWx%h_lck5;zh-sSsQ&EZ@XZj|o3UN^k zx2)hgUb{m2`30Jjr}$|2%m;F!`T)GWlLqKA^eReuv&RS4#RzdVYJm8&XCzEkqj;3} zx5iX?fNNx(McV<;zalgb!G|lN&QP=5c;+|X0Sg;n7(4@ba8y#*oMo5lT;hlZgEPOg z6y1{O6{7EfdYxm@IOp6Ox)2xlRac?Qpnw_DW%dOyT1B{>e`Gm!+a~J?EGAyhaiFd& zfm_BuZ;yKrCo&{kA6?xT3-$@v0ufN6q0x+FCSbXr3mmJb8X_=fs7!3<xh?w;iFw`f z|3;?8*M7aq%D`2Scu8-P;1u$T9)0xk$xkvdbjr1SfTMv4(*eL@sNo=15@WDBan#bh z=yaC(CW<Rs&|p(6DCwkn%kA$qb?X`+yBpDG_YlHZ(_smFY%s7^Ta6&x+Ue5>NreiN zPRChjEZTO*Wa{S2BkKeb1^ItsX5{ZV*7y>A<_u}YP)2|1_8uhLURd~3u_zc6@TT4L zqm)X3LF&PnNMfq~&lWjqIuczx8vNaUW>7Wyy9Lev4m7o@8d`9_CBFX>HT~b9_VRBh z!OUr(;35ByQRi(Wgqu$eP95)ov>85CLIf3Jb<W%&TU`-->v_x7f)#gA6!7%Rs>#ks z<4HGn(?H`Z*xo)I95FWamfVz4<54vAtw4=0X#fX<zk!If(Aw*RSW@pIF#**DPHr zzh=jRNx8q-YWPI!uBCEHZ_ZipD98P-mS#}xy>q(qmypYpeBRyrwbOP$hK&~uvm8J) zD~^LKxX8ZxHv<Wm9BVwYJ-3w^;j)o6xoX=fSmi~Zi1+BWp1q(U!f!Zdtet)4@SGf- zV9z6hA$b9IV!8-HHCGP+vhWF0cZGaTRlSW?k9nSj&kT%uK3&Hdnr&>Pp58&_p}6Q} z^tybXkv_{o!r&i))+&aa8VF{*7k#*%^P45JKd(z#42P2wV8%Z}8V&BPJm2hz17um> zNrQ#LD{f)1dWJRE%Q*nRc2EKbAOAF*h+jF99b|62{%_O!!CZl@lja7E9h;CNOq_hk zDIpX>VcM=#9Ta3&IlZ#Kv3=hK0ISBp*kY29dC05*AHje}IDdTsenf^O8?)sNQ2F(j z@NaKJr-c;s@WIMmzs%l08!FfbE?<5!wU7<;X$ueLB)G8yRx*a7IK~Pc%_~<P>r;xH zzMI{Gpu0}xjE0?P4ZBr^A{e+_)nfL;ffCX|Js!6hC}<(I5%x_ey+MLec#}pO+ZM6> z0tRi5L?4y?A%XnNF5+9awAJ{C8T&sIVgsMu*aTSyi0!h3Iet;P{|si<`^YB{T>tgO z=RDTL<9WZd=8LZ#fFnwvw%fD+ax6hF=u^NJ_8Bv{PmM>c^F@Ha;PKk7_rxAL)dlID z0vDK%XN~1OMQSTe$|qJ9jQOn=ej&DunKH?*nFMxq4s#0yIM%y7`W#BmHg@A5H?<O* zZyLwGbUiEMR63Mv)d7-Z8=IlyQxm-gUCQAZ<9VZHsO_dqJkw#d2{%coy*rLwhr+YF z2?jT;ijboZl~1(xYGeG6{_B}fS~!B4&$hjJQ{2L(Rm`nFU-k-I7mZI{Y3e{FAy%yP z``d5YT;RFU*?USqF0M1km)~|8*uwsf4A|xsNU`F+V7^;ru4}oS!^~a31myB~b0BB_ zh9agTs;MH$w`diNTT`MkMPn{V|4+D2TCv?{;qv)~A;B)gcobVsQjplh+f(_-j>1YA zDRm`zM@L56WfI{@;R=G+`NbPg-B93YGo!8V(}N2Lwd3TlYfQY>r9ys~=PcbMS#`=k zqWO!^*erq&|M<5<ZOFA8el&W5=^Kr~iaaEy3&%EUCKZYHfHi9!KR)7Gy!ad&e0cO* z%t+Yi8WzY6(aXEH<QY7nr98d3Cw&h7hTAHVIZb^4j`A<JNXt=SB+5HIer)&brhBfH zd}4y{@nJS@D+O*2Eo%a*XleTo4@g2+M*;KqK@~{#zs-}=S1ss83*jd-Nbpj9eFOL` z3^pA(cR~Flq!u>xqVl>XmEN+)k5uJ0Im3TgMIssj<Yf9&TlFqlw=R@N&Odj-4ZolV zd?VSW<$1Z7f#&&J`o+IjbIV-a$1U3JeuNBTOpC8Z5+xCqz)2m+@goX{(u<eYWvOB> ztd)V9a)d0A^yV*Q@6Zr&$)Uhhz(^(V^qAf2spw4bj%{i5c!VRh6?ql3%B%D`>j@Lj zxZi=0`U^W_>V!cmspyLsy)|^E{tYJWwNk;oxrz%LZnhS&veilvA>7u(w8hC?O0T0J z?h&qPQ?JU(IYa9b@VU*34lr(WFcN>ot=n+Vo*tZ1O{rf-1kY|G%zUinx^F+wlkUz! z+Re)R14j#g*1y@J*v^cH)bt|}qi0C#hzh;#tX#&Qr=%(tBs7i~!ZWaW#Ixb#bGDGk z>MhzunQ2JNL0B(Su3Kt4NxrZIQtiR!oAb7bbTWwOJJB0o^J&O^e+lJ1C~OVO6~JSP zRBez-1}wflWlE+4PQfpAJOW2w^Y8bQ3;j7@=vWiK{Ql5DF}v+`_W=`bvKUOADzy*@ z%5k!121mS57C=nzURx8_Kkfp-klTM~=Lj0|(w<y*sANRc+Q3*9<PyC<^B4pj*(+%% z;O6LDjl7%Ad6?Yq-3J$TP-%T!hs@ZZpTMeX_=4$*-~(g+WR0ZrGNBg9i604~*16?o zF*R+RYN9v@>UHM8m6jkjf{}gqmUah&+!R5BAT6ddeC<gSeCn~$<Wwt=cv})$PbPjB zN*06F^9ua)-R?_7LJUe+Av6bo5*mS3zxDl(Hi4h0QBA9jpYOOj2oqeWLR$ROEJj|o z49-gH&~UBuPWVTK>_WQu0k&i;DIZfUs#$+$&3?O3%Vesq>D!yun_gWl*fanvasu!h zz#NGl2!}mf+{~z6X8N1gc`ujO+#R<<oOY(%JsxcQ*RPU4YZXQ)x2Q6yZdTK+HdNbd zf%9<KDFI^nj0fv+4FG>r#XOFwj*?Tj^;0d3Ji!F&lRLe36`j$zX~uaT>PxrloN zs)R;Xd?ldG5aAmR?r{^-b7AnqYk8`{|Ck1Js=(kMS&(L_gg^x@wK)L_kM`BFIu1qe z45~m8Ew12nO7}OSX4iN*y1F|8ya$-{ouju=y|tZ+c}IR}bV@>B$=>~qVJNrq_{-xU z_axcuEc8^J=V#tOk-cZ(FJm)PN8JX2QMzbRJo#>DS^nhK>&v{A!tSu=7cKYXWmITf zk_6`L(yjkj0OcDR<i0U>DOR5M7lXamPQH|+h-S@o;JTgd=7SeZ{sS>6!kL}ZNc-Yh zZHu?@_bK9coG~)uMHC~faYlpC@Gs{cf^fHZ_lf`ng*_%2$%<L4tnQ31<B*2|)TB{? z+(txqnN=AJMUFMVyI`q=6X-Lsnh5~K1J_wQr4A+B?O)$oY`0EP#_|{+TfHu}ZUT(f zVL4E{9*v6_pfnFy{fbn#q(vBV<=Kt_fOm&FHgnv%$r&x^dfx+WMyN`1O~7oqeB$Vf zx0MI6uLP+@*A7aGD6ce)s(|)->ww8+#fON0Q==I)FL|rpSE!&xFQF@MRO#0~#+le( zonO9*)|l@Xuz``$N1&p3QPMS+iKTCpvkW5llqEV6x$H&q?&ZZP`^kU^5K0~1c!dgR zIlxy`(C0uzy2(YMel4xc;Ww)8ETb-ifsmGjxp=McZg=<q1K=I-YR6SjSG7gGjg9U_ zb55GDInMyT?>1U5_d4s=9u(5gx3g&Q#pa&*ja#1Zspw&=MavP6m~++^g(ZB?ca<hQ zF*+>4kuadzF@nD$62=DTL63K(&vD93m!b6T%RcI=g2xOjS-CM-g1l|oB8}92(`_~Q zJs^tF%tIb>#swpji|iQ-nC;qENg?548SPgcMj_LfrSAIqe&SHdHJ#n#1Ei7_+>7J# zMTBv?tl>S@*{f6Gl_oz=rK;YcLqxpX<nLVSprV$b1DUdRFf&Nq<qKzXb6lC^vFC*v z;W4@L`xy>~R&b+IjogH}L~z7>_fI8$_~A2KY~s5SL5W%@=ad>JMM}i5>Q)3!T#3+u z={4owXe3Ql1r~2t+~8QjLu&USfx2_WVETDRE5mgIx>5BBy$Vk@@3>1x&o`gD+IL6u zb@41Wv8QE9MNyt<Y+(^`nVf{Z@6*hP7m5M^v7V~TJ>LBkJH~Rm(UtfsPjGO8W2)6W zb`Rh>i`G_|NfID03%#~_horY`U1I9Gi-nq_wm)-~$j&jGo`Z7u9LY1ej#o)RqHa4) zjPU?qxRu`3HER{4L)T396|dJp5FHR9?F0Y?@xc%v+@DE)j<3$9H4Jn;p3Z7Q)tiAy zap<XAqIiE4mwqF8tEW6E%&vtJKr5&Ujq)Dt_=7g^sti5hKKS;Z5Oiv-myn7E!LB3Z zImCgu&j28sBtfn^s&gGWnQ+i1*xd%$l=k5GA}GW@j<0L0h`sZgk`_lzKHRlv9&nt1 zOW5oVC+Rp?5pE)Bhq1eH?L`ecT7M@*=7MWZqucEr3$hlh^+#kUu0_GZLJIbrk9LJ@ zx(|PQoV7wRepTC{6OeK?TbpyN?vf&Tu@@7^1_s_R36~do<5P=?&1N)YDM+3y8LmvG zBSo9b4|90R2b?rkjPFVlisLmxlZN%Z2Hlm;w#2QOo*AiaX=m$s;9rOV5cL2U01<tV zf&dTVf-o~Ndv)EB^9i%fJRYUn81a7=vASBxcOA{L%=5d`#zrR9n$7{~!m`oFn@Veu z#4$@w#cPaVx$BRcf#k!J9)wO<ypdS+Y#7I(te(I+fo`x1afTGai<haB{7@i7L*Wo1 zVgx`Jv*D7ldv_fr_%`W%Z@(UUVQRIy_;^4^FPzYr5;c;R>~-@bVCz`f3YS$Sb!#Um zS=vsgds3X^T6FpEc+(kRRFw!=u80gpAZE$XL68O`HcFiZ(}19efWYF>0-9QYp| zdEg$URaI3{6;)MLRafoM2eJ=&(zR;TIdWe@UV{1xa3{wumEBU4;RNzrckQ<A5}rj- zKBviYp&_d7m3;K@tf$*S%z^+wz24t%s>l%vRZtI4eAn00+&$Lz_3qcN2!+Un#nRN0 zn#aHHw{K0#t*h3Pi&o$f4|oCff&@fBfr0=_*;=X^4N`}^LBoqREl|T#D_SbGH8f39 z#;!`^hb(;>aV}0I_lE<p_9=q6S5d0(byS>^FyVaXKvxd4jUQ&K(o2P>E}WgG!g?Hd zUp~cDe`l3+I*0bFcrzd??3JETUs_+=TVc@-bh03V2o+<A{eRc7HNvD4iK}A1aA>Xf zz_<?zqXoDMI3j;(#7QH(y~*p(1ai?gmVwSFw_vBM)wG?+E*XUdsdvQP><)X)0b~<{ z)8|$(uV+Dho$d@75oSlW7MBkG_pDhqTNGi*?;p`Ma3@xysW$Dky{KU49f@C>yYC0M z6rjglLJ@rvi}bz<_@aBt;1d^xf-fX?>&X?+Z18}x1kX{cq}B1}B`Hy)cF#-QdJPA7 zidSmkK~)Rr@ckWe-`5(tRTa1#H0IGlS2RtK(?oi3s3pbKL)=tnwl4X~ns=pGb)FOR zx<L7_J*zdat{I<4O0!39x**o+rH*Q;#q}y|gqgy$b$DZ972;^OfmfV?qq$=0Ve#Q3 z+{g)iE7^;iq%J2{?}_iA?c8@6=gaApQ`1z{>Z$oITo%t&w*tq6<%rHurM+ryq)afa zrBkp4K-xuw_#CUcwBLL~ygV-JEkITnIe<M%N~LN-`FIzMBloWMb9m-Wb(;gF&D6>i zxe2Z}r~^68?}{w+z61#LR#M}vWQhkk4$-rZ9q{sM#p=L^r)iYs;|2%EqQ2^I=W{z% zi04EcmrT(f)Kx6cEdvufkaAtBtt+gz#<HIB0UM8Ry^b|0(*rVb=96WE3GP^++UJEm z4P)yCLj>SoG-1Jv+3Bzj_-%V9mV@qlO8q@fKzG5HFP;im$@w~lMLnQ<??unfCdyEI zE#n^cI)Q*SNu6>A&6<aXW><>hmOIul!!6HoXRO3qJpeuhljg@t`ep&l<7=$Mx?J3V z)z&vsan=l_OO0GDcN3LVHjK%gUFmAukrFpS-)Q(-#4eu~iPCzzg>)b>O(L3Rdl|E_ zWxY7gjw-wIOS!zMd+rX5a|UYjt~uIq;N5n3x}sdwzL(!d`FXC|`<6)RnDXB2o3-I) zH4nWF1a#LHL<?)4I^aRIj;vQV34z;YrX2d3&5f=>;yxTPXD1A`oQ&Ot?Huq41Ch>G zo^EhNxH#C*;yf-7d}uuGw+-8+v=-CCgUhD7ess!ON^Ue5;%52MAQ(+leQ|Wa`%aMO zkoWKes!QOXC2YBpT8gLbM=R(AR5~r6d5hwNr1M|3%|6LbJ55&DJ6b}B=FIaMy-kBe zv!QY?(Ry|Wc>~aZB2)YxB9!>ab&jP=;vEO4&+hbjyx#7^=bj*;_+<1EV~C4YjnS9Z zj6Holb&OJuZ)l6d`!pY9hPc8E_rh<Dh>l6;#o1^oPDuK&ksI6#1-VP$0D%GTkpM*$ ze8r7<WYJ*qbD9kuh^yAFmb|!^kdsrIiLcj7!2$s?$T)#5se@c#V@!gwc+?VYs*e7* z<`daX#R3amhG*hVZ}B6I7r{*EZFQuZo1(Sv<hSpwJ^HFIPlMyHc;k=~0Fm(xIeZD7 zjfES<BjN7{NLU9K^`;yP2RhaQb%Skm0k5fANo`k{#QFvFG6Icb*dsx<=Q=zcvhvQm zPtuVuMeivpEfhHYm^^~YVybn59m#A*ta-=I?+)(vd6Q}pjP9tc%5Z`}NKkQ|Rg5<N z5(G18rnRdY3cfLXZrU)kbcxq;klW)NJL?bd5ihkAr_!nKe2G)tQ2I{P<vEkXy+{yH zL<m3z03s_NpFM=qcR}HHXW~&`0&n8Af0YZqy1_p*)SB*A+4Rvc6fb6C$!3{))JM`+ zkQXbY<RhUud8i|r-VcC27IKeSZO=Gq8Rx@Hh3Q@v^*hSlp9;}SE29!t;jlh*^|t#j zJP)h@FOUbw0R;%RYWARqyPYp{==$X*zy__QUjxER#C)~|V=$^(u)!af%zCk%0Oq(_ zG2GtJRh&BAoactJ->Z*K`nwTO?QSqj)<@#b3RmAMB8zKQvIQek40Axiayt$YP3Eo7 z2oBVbSMPv~EhiK*JTW+wW+Bm<RCj_E#y~p{OOgRvSiB1#ncXhWxNxWk^z$4MR=LfY z8gtMR*>qus9+<VXkOAS3dx;GrT#XLEvFC>=ODoLKlkY~;)pamOQ>=!&pm?XcGP`fB zY5f2L;QRFlI{;j6I(T{fJsxhIzMJnUV$`)YEGNX3JUBS7z~h5cF^f&AXk{2#SxplA z-+VegXTu!R?hm9P;vN4e`$})Vb0YbozQH@mds3$fQ<BiD^5}YJW?Dneuh5D72@A<n z=dPi}abI++YKb=}epkZcbyh}6m5LuBFRW9#Uco<zDe|fB5~}?bH6!eZ^!?G~%2VA6 z@GVXZQ*%>@y&`&RweJ=?@{kpT7-X$iCniwI@5cj`$<VeZk|vVfK&6!6DpQtq`DGV` zHe`hPNQv6OfdR7w0IX0ON+$9<3q?r_d;1Zte-iC%!liR()^@U$A0ejX`6KoxORRQQ z^E74WDP9F706ZP`AZ)I?j9Lr_Wv{den(inL9N@VJh!u$^dC62&Hd@tjIghZuK489a z<00pxJ+hsUJ@(YOFb=_=lc2Ne54o+Sp0enS0fn~&T9m7v^}6U}b5=LkMK=AXP-)y% zz<g6%eJtn~XSJBatPKf{WxPvZCRQ76Wbuc|%C0S6y8~4Xo|~jTjW?`e*_7%g-AAuA zit+AiFeH`+ql&UqY7(cJqyYL}ZuEzJ9xi%5Z#;B(r-FA=i1a?mjd3XVJziW00LZdk zet2Ecn1WE_oR)i3D&b+Jpz1T<l`slZ*#7He_XLADT;4ebjP+XjcmbPh+IkVG!i)sr z<vD%vaq5!)d(QjDEbI!*k4L+T*k=GL$iyJ25~XrH?PjrV63-4xaB2Cb^<mv3tEBF} z$R|H=I)%``B}l)E+{&uhh-$(PEW22<uLoMy62Z70$6E=P^PyfKe5`Hi0OqFc0zXhM ztYPh!WAj2t%y}8>ip1O<_y+Nj!<<8JbS_6m5zl0`UTpTUldkZGDZ^UcznVfIz3Rl) ze)N1LP@|DeMGFp1oZQM0PT%YN4?1(qQ1M}AJ6Z&1{C(edRNTzXMZbQ&>@vSoXh#&l z8QZz~&qt?y3%9`%leHd~cZLRRzgOQjc3@141^26A_bj9_)ybBds&(+NBSgO1F9WnY zVe+N$7oUI$w!LS2>KjPyo}y-h{-4}|u!4xNFrW^Wm+8*(P);pk=hkf{>fSK>I?p<` zCFPmLT;z0nj?$3D$76+J??i*bgr|Wk8*)AdxY!)npyS~8e7$sMl`9UJC?S<zdwidC zK;<OW01O>H-Qu|@dCU#Cm~D!~D@rZC@BkI<Dd#Zg25!q!DN#?|9v(YMErdt3hnV4H zHD^6=xfghTBUbqF9rz0@8J(NgUP0CJ{1qg5_t$PX3j8d$6Nj5A(dM~yA%l5TZbwm= zpt|FR2i^C$J-9dJ<`dq^y^;tG2i06O)%(@R70wFCXbvbT*LS*nnkS~UVIs_vQ_>x4 zFH;<Y${8iZu=0@o+Ahki^7ga5a#968U6vvav8W2II&x2na4P5uSYE!hIx$#whI-fr zcT{@m*z?)07bpbdgvMqhic8BmGK4m{<6v3hF+fQ^Nr`HRtSU+lM>dMe7U3s^An(qJ z^rS$2QeL#@09bPR9SW-CuE`$5l}^0manG5Us;eW<Jdl&A5vI-@(Dv}UfDS|4X{B`H zo>2fVUP4qfF^6T>uyQU%o+${bz4Oo!1beBKx<Z+h-8;z9w^yX;xwBFzCjdW@01c61 z+3NFctOGFPx$I@Cpb)w6&!ni+fRi#-dW2xIi_4vEQP%^F&AZpU1B-vvLIc1qa)%qD z2@kIGy;tMXaJ=}l?g??WfUir`u`lEY_qeJXDmAalZW_xg(LK>Fee-hInj!}-{TFOy z=8E@go$BtNkA3Wm^z(@HdEL9_xUoBj#)rO(e)E<Ja%x=_^oRgj$rWi{_sk!04q2Cl zc-MC!=!6NrV9@AyhSlD?1K<&ijdW%%+~bwezQ-OrTro=`mFaS`S~_XEcM&)4aPdc{ z>0$2;Q>({5j-*@%UDp!m`ONQy?ULI#J;Q^kwD3GQb^5${>5LsQcb7IP-*O-<S84Ps zb>lc^oIp6UzE1Mf)cD9{IHl~07~rxNPfU;w^j7s})#dqgSogwE^nK~Gf-PRvcn0R= zDU=oYUExKbFL9hAS0>4DUf>6hp~4Yz;PNmpJxl|R*U`HG_&##B6h`kuo27*R0cMf= zRT9tz(i!dc`*92I#|yKXbVul{4)7dn9i1wGOP07@o=r*GP0noq;)+*98D02`sSuYK zH8lu^EQUP@*&NN0(QVsL6uH1WTWXngIi+E*A{)$Z`;`szCNF%5FUf-JeZj%<zBu!! z`{n3`bq?a69pSF8B78F%Z5V1^bVp}#;&3P$s;a80tIPoE5R3q12_$lre6FaW%d%Ab zMI1}&((s_Uc8I$E&-I@ONq4-e4^W<{PZF{mCsb0tqpegQSA{%hB2wyAb^TCr`Gq*A zpuXRUaFgFtODeAA4>DKbIGKt#O(Me8FfaH&iWA_9{aC)LxKA}9;b;J0Lcmipi)s?o z%^?74k*2&Vj{v2rRPu+v?V`TdH4m6%o@!qFQA;6ZOU@iow?^(FA|fIpA}XlZg$jz5 z0jVdz#P&R#j!9uLFrLSL%(`*62jcVc*PTJ;9uoV+`|n**d?_@#%THVdd@{<3FCU>N ze0k3?I(enQ^GQR&ti?>D6C$xkx|c`3lB=Vv^tGq3ei0@2>O6%@(q5VMQodD{-XqsY z^L%J6=Z|?Rd&O6(cuMUH^yaQpvg|6S#+{cjN`K?}|JwZ@h<TSn=eE)!ijz}b22>PM z_;d54e1TaKVcIp#IJl{*Tw2#0a5*wAFHBOJbfuDVQPih#<IPodS1P*F#rJ2KO&?iD zP<Hp@qNMi@C)GRRl;n3w*g7vi4yx_XH1M@Ns`n^9kt&_j>K`8Zo~ybqzfZ{M*_oM{ znXx<N>Xca|oho>o$ig16Qh56rOVv3$Q`HowVZxom+Cau9IkRSCV9vA+gRyfDq^GF) z)OH@I<a+*;yAQ%Ii=^!*Wkr!{^H7{}Hrs8s+i+Br@{;=xFi(vkw1(=cs;a8-J=y#D zyd(+qsCpUgrR*!>_^xSp&|jEK9@6(I>K#u{e7kyUN!sTbXe{Qksekj`f1@ltqVE?3 zRdY)m4(3M#i-pEGCBul5_Pmq9;U|Z;ZMN)A`F?H90v{DSDc~nw@>*o6@u=Zf2~){J zer_7sEUvO}p#4;^;F0rG;P@*?tWJ&-xY%U_i^X`C9HUD931tW0)TGrpuPp{d)YVn1 zB!@;JaHb_V7Kt2FQAxtMrKObNK@R9u*pcPu&vKpXgWRWNI?0hVcBIOk@~=T(WfVCG zujxPL^;hOvl6_1{@s?FV;^pf;s+}ot2Rnw+DSK`ycv9tDQtp=&vb4LHD-1xnWlM)g z0Yk}^C+Tz~{j*VDl&p_ZI-D=E1z(bWLRzUZROqGB6?pm<y$bL8>%I32-Y&{*ODL(` zQa?IN?GEpz&sj>XFJPV$d5Iqb#PiDdlpYFsZA$m)Dt*xW2UriOw#uris;a80s;a80 zs;a80s;a80s;a80s;Zl9w(&kGb}RFv#JDS^F8J_MRVz%INtP7)>Gy`1n!fTp_r88a zjR$luQdICBYVxm)sd}oQ`iVHD^bJektAxYkrP`z4deXQ~`jT7nk?p5-4WUe+`(Mj` zG4x%@9+*;keTkI#zCE_gBA+y$eM`K36+Pq^)hFDb`X6>rwo0CoRnPUOmOToSy7DoV zl8je{FCusseqE2crwV<P`wElD6j3--8!cZ)Y^bJhLZH+RIT0Wa$yLTB<%{$O8k}lb znAuTIDP%aME(TXBr5y5J_X>37Tq!LR@n21P4(PkpgoEj*z?YJudnhR4Mr{jLNn)am zRaq+XPhwQj2Gwv>z0!KS!=*f=u#==;Jx&!m%b`r2)%PdPoJA?$RVP_?jvi8_%BO8= znuh7AeZ4LpTgLE``i0efbsvY#K3aVmFIL-aw%g2JwDfus1733$klGg%;=HmSVMhor z1v*DmsfxoW^}_o@xR)Y6<rmY7$ET}<x{B}Zz~Qe~CzE}iEN2cDI5?u|QE@3aDZ(Z< z9I@eWS!1bic0IR)-&3W?=<lxjkvkn=??~@dveX$YsB~Oc3S!RO@h3~oU1`ZIWu-fN z_q|e_ySk-LB<>>MdJ31ap53<FZMNHOw#hyfN-C<Vs;a80s;a80&@EL}RazcoB<vH@ z2qc0{YyzsPsxm67ij4?~A@Fu5V1ldH8FmFvA5#0y#k0t#;nMU))Twk4s-W@m$@emQ zFF>oMWc!sDgy6bLy+S`V6sK=R;FFFdUNSjK%03l0#p}G4P<jOG+8Y&=+<+5z${7)c z)zrcWOolLnyNPieN_$mGG(*W<hn(|w&{;UDF6gIa7I(;Ui<yDKEgqpgDcn_ebfh?) zY08!E_!I8ud3P7dF=-5n)4ICfB`<J4IYp0ba9kehD-%^il&R+RQpI~mkV;*Avh~ur zx_k0;3$ll*^odK`c?#}IomcHY(CJjKf)#>Yo+Wt-uSHkNl6>^`$=yYH#C{LWU5L7| zBC}O1HqC`?N>*uAGYrX@j4a8TNlhA3+9VljD^`Y)=uyR8VwCm@6N1wVkXB%-BBfl) z+aRKpA33g7cz7q5s+IPyKt+DX*YKZilZs*X@5ztr{I85vPR3736<K{s=#`>tu~i=$ zl;T^0vjy6KIV%ex69&W;A3SvS)b3{|Hrs8uk~<ihTv`B?fJ)#LM&uQ!3d{=V?-|^S zqyyIrgM*<ce%)NSoh~5ixhi<n@n%M4v8q`bs>NUJaw@*BvC%JjFQ@8?Us?A{g1Ma1 z;EuwE{#6oX8u3A#P1iq-K?d;=05+E>D5dZsIi63F10~NuY-N%}R0u_1qtGCTrqLvW z&`e2@R4dpN0XMpu6x5kW<0!VJ^o>sp;?1z!A;O#t*0n<&{BrUArXFhYQ4iMsPE^rA zPzoX_6x9(5<mjpd+b@e2my6SFzAa`H`p@;=;``c*X+7Pp5&G`$_SvqZ8@b!|+@GJZ z-1I&UKXIVJ|D4VrBl0@0V`bgvJ-$}|7k%p5`n$ca!RGNCcQN$+{~C@K^SHv?@|)e> zw~F+5T=&Vz;A`dC_tbwcZ=m*U`(6{=^)Y;IlVRF(^?e%I?eD|WYIvP*S4%P9_S>zV z2POJ59e;bi`V@WITi_E*-QW3puH%E~H-5J{(QW?qze6|)|B0}+{f6It_pbB)UlZ8; zzkgefp96VO<+!Tt=HlzZ%y~Xu=g-%8A4^BP^*GzCexEzWY_yx)otDDa!M)MkY3pJh zKTCPJ&3BweM?dIm=iT7#epg-mw_cX_SElZNH?f`2>ASw4eaQQnoLzU}!J7ZRzTxi; h=Emc{<}8jp1H{G6d>^-I)Ac|6UC9*TLO`dp=VUhVg)0C6 literal 0 HcmV?d00001 diff --git a/internal/arduino/security/signatures.go b/internal/arduino/security/signatures.go index fb6ed9b0697..ebd86e4a037 100644 --- a/internal/arduino/security/signatures.go +++ b/internal/arduino/security/signatures.go @@ -16,12 +16,14 @@ package security import ( + "bytes" "embed" "errors" "io" "os" "github.com/ProtonMail/go-crypto/openpgp" + pgperrors "github.com/ProtonMail/go-crypto/openpgp/errors" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) @@ -71,16 +73,19 @@ func VerifySignature(targetPath *paths.Path, signaturePath *paths.Path, arduinoK if err != nil { return false, nil, errors.New(i18n.Tr("retrieving Arduino public keys: %s", err)) } - target, err := targetPath.Open() + target, err := targetPath.ReadFile() if err != nil { return false, nil, errors.New(i18n.Tr("opening target file: %s", err)) } - defer target.Close() - signature, err := signaturePath.Open() + signature, err := signaturePath.ReadFile() if err != nil { return false, nil, errors.New(i18n.Tr("opening signature file: %s", err)) } - defer signature.Close() - signer, err := openpgp.CheckDetachedSignature(keyRing, target, signature, nil) + signer, err := openpgp.CheckDetachedSignature(keyRing, bytes.NewBuffer(target), bytes.NewBuffer(signature), nil) + + if errors.Is(err, pgperrors.ErrSignatureExpired) { + err = errors.New(i18n.Tr("signature expired: is your system clock set correctly?")) + } + return (signer != nil && err == nil), signer, err } From 54209cfd332dd9312e64fa60f49c6106f721c6c1 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 11 Nov 2024 11:20:04 +0100 Subject: [PATCH 276/361] [skip-changelog] Upgraded some libraries (#2752) --- .../ProtonMail/go-crypto/bitcurves.dep.yml | 6 +- .../ProtonMail/go-crypto/brainpool.dep.yml | 6 +- .../ProtonMail/go-crypto/eax.dep.yml | 6 +- .../go-crypto/internal/byteutil.dep.yml | 6 +- .../ProtonMail/go-crypto/ocb.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp.dep.yml | 6 +- .../go-crypto/openpgp/aes/keywrap.dep.yml | 6 +- .../go-crypto/openpgp/armor.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +- .../go-crypto/openpgp/ecdsa.dep.yml | 6 +- .../go-crypto/openpgp/ed25519.dep.yml | 6 +- .../go-crypto/openpgp/ed448.dep.yml | 6 +- .../go-crypto/openpgp/eddsa.dep.yml | 6 +- .../go-crypto/openpgp/elgamal.dep.yml | 6 +- .../go-crypto/openpgp/errors.dep.yml | 6 +- .../openpgp/internal/algorithm.dep.yml | 6 +- .../go-crypto/openpgp/internal/ecc.dep.yml | 6 +- .../openpgp/internal/ecc/curve25519.dep.yml | 63 ------ .../internal/ecc/curve25519/field.dep.yml | 62 ----- .../openpgp/internal/encoding.dep.yml | 6 +- .../go-crypto/openpgp/packet.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +- .../go-crypto/openpgp/symmetric.dep.yml | 62 ----- .../go-crypto/openpgp/x25519.dep.yml | 6 +- .../ProtonMail/go-crypto/openpgp/x448.dep.yml | 6 +- .../go/golang.org/x/crypto/argon2.dep.yml | 6 +- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 +- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 +- .../go/golang.org/x/crypto/cast5.dep.yml | 6 +- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +- .../x/crypto/ssh/knownhosts.dep.yml | 6 +- .licenses/go/golang.org/x/net/context.dep.yml | 6 +- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +- .../golang.org/x/net/internal/socks.dep.yml | 6 +- .../x/net/internal/timeseries.dep.yml | 6 +- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +- .licenses/go/golang.org/x/term.dep.yml | 2 +- .../go/golang.org/x/text/encoding.dep.yml | 6 +- .../x/text/encoding/internal.dep.yml | 6 +- .../text/encoding/internal/identifier.dep.yml | 6 +- .../x/text/encoding/unicode.dep.yml | 6 +- .../x/text/internal/utf8internal.dep.yml | 6 +- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +- .../genproto/googleapis/rpc/status.dep.yml | 4 +- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../google.golang.org/grpc/attributes.dep.yml | 4 +- .../go/google.golang.org/grpc/backoff.dep.yml | 4 +- .../google.golang.org/grpc/balancer.dep.yml | 4 +- .../grpc/balancer/base.dep.yml | 4 +- .../grpc/balancer/grpclb/state.dep.yml | 4 +- .../grpc/balancer/pickfirst.dep.yml | 4 +- .../grpc/balancer/pickfirst/internal.dep.yml | 213 +++++++++++++++++ .../balancer/pickfirst/pickfirstleaf.dep.yml | 214 ++++++++++++++++++ .../grpc/balancer/roundrobin.dep.yml | 4 +- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 +- .../google.golang.org/grpc/channelz.dep.yml | 4 +- .../go/google.golang.org/grpc/codes.dep.yml | 4 +- .../grpc/connectivity.dep.yml | 4 +- .../grpc/credentials.dep.yml | 4 +- .../grpc/credentials/insecure.dep.yml | 4 +- .../google.golang.org/grpc/encoding.dep.yml | 4 +- .../grpc/encoding/proto.dep.yml | 4 +- .../grpc/experimental/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/grpclog.dep.yml | 4 +- .../grpc/grpclog/internal.dep.yml | 4 +- .../google.golang.org/grpc/internal.dep.yml | 4 +- .../grpc/internal/backoff.dep.yml | 4 +- .../internal/balancer/gracefulswitch.dep.yml | 4 +- .../grpc/internal/balancerload.dep.yml | 4 +- .../grpc/internal/binarylog.dep.yml | 4 +- .../grpc/internal/buffer.dep.yml | 4 +- .../grpc/internal/channelz.dep.yml | 4 +- .../grpc/internal/credentials.dep.yml | 4 +- .../grpc/internal/envconfig.dep.yml | 4 +- .../grpc/internal/grpclog.dep.yml | 4 +- .../grpc/internal/grpcsync.dep.yml | 4 +- .../grpc/internal/grpcutil.dep.yml | 4 +- .../grpc/internal/idle.dep.yml | 4 +- .../grpc/internal/metadata.dep.yml | 4 +- .../grpc/internal/pretty.dep.yml | 4 +- .../grpc/internal/resolver.dep.yml | 4 +- .../grpc/internal/resolver/dns.dep.yml | 4 +- .../internal/resolver/dns/internal.dep.yml | 4 +- .../internal/resolver/passthrough.dep.yml | 4 +- .../grpc/internal/resolver/unix.dep.yml | 4 +- .../grpc/internal/serviceconfig.dep.yml | 4 +- .../grpc/internal/stats.dep.yml | 4 +- .../grpc/internal/status.dep.yml | 4 +- .../grpc/internal/syscall.dep.yml | 4 +- .../grpc/internal/transport.dep.yml | 4 +- .../internal/transport/networktype.dep.yml | 4 +- .../google.golang.org/grpc/keepalive.dep.yml | 4 +- .../go/google.golang.org/grpc/mem.dep.yml | 4 +- .../google.golang.org/grpc/metadata.dep.yml | 4 +- .../go/google.golang.org/grpc/peer.dep.yml | 4 +- .../google.golang.org/grpc/resolver.dep.yml | 4 +- .../grpc/resolver/dns.dep.yml | 4 +- .../grpc/serviceconfig.dep.yml | 4 +- .../go/google.golang.org/grpc/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/status.dep.yml | 4 +- .../go/google.golang.org/grpc/tap.dep.yml | 4 +- DistTasks.yml | 34 +-- go.mod | 20 +- go.sum | 38 ++-- 111 files changed, 710 insertions(+), 496 deletions(-) delete mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml delete mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml delete mode 100644 .licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index de1d42c131f..f0c39ac524d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index 577e7a93c41..41ccab8bc30 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index 1b668e6b01c..fd6183f4b7c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 33ba19321a1..8fa6b381946 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index 5c8a2f6e947..d1676970a15 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index 98e1788ea56..90aea633fa6 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index b4a9237b0e9..1ccc3b31587 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index a28aab0642b..754cb6a6238 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 2d6160eafcb..cc50f2ef558 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index 6402117bb17..740a04a546f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index 27542ddb1b4..7d4467a715f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index 863e19f2ccc..c35a9735e45 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index e8b22e5e50f..3a0393d07a7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index ef219c70723..e79364484bb 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index ac4524d80ab..4f2635fed9d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index 98cb04279ec..86ea4709e90 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index d19a8bc6153..63d4f95ae0e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml deleted file mode 100644 index 0cb73a34478..00000000000 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519.dep.yml +++ /dev/null @@ -1,63 +0,0 @@ ---- -name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519 -version: v1.1.0-beta.0-proton -type: go -summary: Package curve25519 implements custom field operations without clamping for - forwarding. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519 -license: other -licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE - text: | - Copyright (c) 2009 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS - text: | - Additional IP Rights Grant (Patents) - - "This implementation" means the copyrightable works distributed by - Google as part of the Go project. - - Google hereby grants to You a perpetual, worldwide, non-exclusive, - no-charge, royalty-free, irrevocable (except as stated in this section) - patent license to make, have made, use, offer to sell, sell, import, - transfer and otherwise run, modify and propagate the contents of this - implementation of Go, where such license applies only to those patent - claims, both currently owned or controlled by Google and acquired in - the future, licensable by Google that are necessarily infringed by this - implementation of Go. This grant does not include claims that would be - infringed only as a consequence of further modification of this - implementation. If you or your agent or exclusive licensee institute or - order or agree to the institution of patent litigation against any - entity (including a cross-claim or counterclaim in a lawsuit) alleging - that this implementation of Go or any code incorporated within this - implementation of Go constitutes direct or contributory patent - infringement, or inducement of patent infringement, then any patent - rights granted to you under this License for this implementation of Go - shall terminate as of the date such litigation is filed. -notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml deleted file mode 100644 index 41a500db154..00000000000 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field.dep.yml +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field -version: v1.1.0-beta.0-proton -type: go -summary: Package field implements fast arithmetic modulo 2^255-19. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc/curve25519/field -license: other -licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE - text: | - Copyright (c) 2009 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS - text: | - Additional IP Rights Grant (Patents) - - "This implementation" means the copyrightable works distributed by - Google as part of the Go project. - - Google hereby grants to You a perpetual, worldwide, non-exclusive, - no-charge, royalty-free, irrevocable (except as stated in this section) - patent license to make, have made, use, offer to sell, sell, import, - transfer and otherwise run, modify and propagate the contents of this - implementation of Go, where such license applies only to those patent - claims, both currently owned or controlled by Google and acquired in - the future, licensable by Google that are necessarily infringed by this - implementation of Go. This grant does not include claims that would be - infringed only as a consequence of further modification of this - implementation. If you or your agent or exclusive licensee institute or - order or agree to the institution of patent litigation against any - entity (including a cross-claim or counterclaim in a lawsuit) alleging - that this implementation of Go or any code incorporated within this - implementation of Go constitutes direct or contributory patent - infringement, or inducement of patent infringement, then any patent - rights granted to you under this License for this implementation of Go - shall terminate as of the date such litigation is filed. -notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index c95e61906f7..6012bcce055 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index 2bd60c7ef4e..a9abfb6fd89 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index 23315a687d3..281d680a6b1 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml deleted file mode 100644 index 447fa615a96..00000000000 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/symmetric.dep.yml +++ /dev/null @@ -1,62 +0,0 @@ ---- -name: github.com/ProtonMail/go-crypto/openpgp/symmetric -version: v1.1.0-beta.0-proton -type: go -summary: -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/symmetric -license: other -licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE - text: | - Copyright (c) 2009 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS - text: | - Additional IP Rights Grant (Patents) - - "This implementation" means the copyrightable works distributed by - Google as part of the Go project. - - Google hereby grants to You a perpetual, worldwide, non-exclusive, - no-charge, royalty-free, irrevocable (except as stated in this section) - patent license to make, have made, use, offer to sell, sell, import, - transfer and otherwise run, modify and propagate the contents of this - implementation of Go, where such license applies only to those patent - claims, both currently owned or controlled by Google and acquired in - the future, licensable by Google that are necessarily infringed by this - implementation of Go. This grant does not include claims that would be - infringed only as a consequence of further modification of this - implementation. If you or your agent or exclusive licensee institute or - order or agree to the institution of patent litigation against any - entity (including a cross-claim or counterclaim in a lawsuit) alleging - that this implementation of Go or any code incorporated within this - implementation of Go constitutes direct or contributory patent - infringement, or inducement of patent infringement, then any patent - rights granted to you under this License for this implementation of Go - shall terminate as of the date such litigation is filed. -notices: [] diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index 7253e755797..abd30fe2296 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index 42b9892daec..60f7b6711e7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.0-beta.0-proton +version: v1.1.2 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.0-beta.0-proton/LICENSE +- sources: go-crypto@v1.1.2/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.0-beta.0-proton/PATENTS +- sources: go-crypto@v1.1.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index cbe146c1175..674253010c3 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.26.0 +version: v0.27.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index aaa790540b5..a3fd43281bf 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.26.0 +version: v0.27.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 46a96d924ba..e0dd888a34b 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.26.0 +version: v0.27.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index 6ba85bd34fd..48866476e00 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.26.0 +version: v0.27.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index ad91e024222..8562c564560 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.26.0 +version: v0.27.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index d05ad199bfc..f41b21482a3 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.26.0 +version: v0.27.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 00c8118f170..ad9db6f6438 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.26.0 +version: v0.27.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index a3b863d8be8..120ed9826c7 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.26.0 +version: v0.27.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index c5e486f0a34..7a516ced07e 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.26.0 +version: v0.27.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 1db61805b47..1d94cea82bf 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.26.0 +version: v0.27.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.26.0/LICENSE +- sources: crypto@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.26.0/PATENTS +- sources: crypto@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index efe9d919571..642d6bd15e6 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.28.0 +version: v0.29.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.28.0/LICENSE +- sources: net@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.28.0/PATENTS +- sources: net@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 9e1bc3de98c..b840b97b3c9 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.28.0 +version: v0.29.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.28.0/LICENSE +- sources: net@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.28.0/PATENTS +- sources: net@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index 5940e3ad2ca..da934f75e0f 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.28.0 +version: v0.29.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.28.0/LICENSE +- sources: net@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.28.0/PATENTS +- sources: net@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 4fab24cbb36..9d88035d9fb 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.28.0 +version: v0.29.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.28.0/LICENSE +- sources: net@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.28.0/PATENTS +- sources: net@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index 4b6081c41bf..532eb175c96 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.28.0 +version: v0.29.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.28.0/LICENSE +- sources: net@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.28.0/PATENTS +- sources: net@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 0bf3c32f314..78d8df5e49f 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.28.0 +version: v0.29.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.28.0/LICENSE +- sources: net@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.28.0/PATENTS +- sources: net@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 16790d00045..c7696294675 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.26.0 +version: v0.27.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.26.0/LICENSE +- sources: sys@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.26.0/PATENTS +- sources: sys@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 09ccbbba45a..17c3a3cebef 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.26.0 +version: v0.27.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.26.0/LICENSE +- sources: sys@v0.27.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.26.0/PATENTS +- sources: sys@v0.27.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 9c2566c7386..0e41fd94967 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.25.0 +version: v0.26.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index b43d4fe87a7..07a74396c20 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.19.0 +version: v0.20.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.19.0/LICENSE +- sources: text@v0.20.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.19.0/PATENTS +- sources: text@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index a1e8049cd4a..75234efc4ea 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.19.0 +version: v0.20.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.19.0/LICENSE +- sources: text@v0.20.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.19.0/PATENTS +- sources: text@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 41812fd6992..a9adc7e5893 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.19.0 +version: v0.20.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.19.0/LICENSE +- sources: text@v0.20.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.19.0/PATENTS +- sources: text@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index 43fc02b4f1b..015398266e2 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.19.0 +version: v0.20.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.19.0/LICENSE +- sources: text@v0.20.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.19.0/PATENTS +- sources: text@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 6eae8309d07..bad6e0e9fe1 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.19.0 +version: v0.20.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.19.0/LICENSE +- sources: text@v0.20.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.19.0/PATENTS +- sources: text@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 346dba07a5a..56394266e0c 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.19.0 +version: v0.20.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.19.0/LICENSE +- sources: text@v0.20.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.19.0/PATENTS +- sources: text@v0.20.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 1224fef9bb5..f787ae2027d 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20240814211410-ddb44dafa142 +version: v0.0.0-20241104194629-dd2ea8efbc28 type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20240814211410-ddb44dafa142/LICENSE +- sources: rpc@v0.0.0-20241104194629-dd2ea8efbc28/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 29e8fb7d8f3..e08b90037e3 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.67.1 +version: v1.68.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 89f55b407ff..87a594444fd 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.67.1 +version: v1.68.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 85acb2a27ff..ad86a031c20 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.67.1 +version: v1.68.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 874c68b6227..e9e3ac09c2b 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.67.1 +version: v1.68.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 1b17123cdf3..8e4612b7ab0 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.67.1 +version: v1.68.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 11ddede13c8..81cdf8cc4a4 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.67.1 +version: v1.68.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 19f57f42abe..6574c5ad70f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.67.1 +version: v1.68.0 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml new file mode 100644 index 00000000000..9acc82680a7 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -0,0 +1,213 @@ +--- +name: google.golang.org/grpc/balancer/pickfirst/internal +version: v1.68.0 +type: go +summary: Package internal contains code internal to the pickfirst package. +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal +license: apache-2.0 +licenses: +- sources: grpc@v1.68.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml new file mode 100644 index 00000000000..6586b6e3153 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -0,0 +1,214 @@ +--- +name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf +version: v1.68.0 +type: go +summary: Package pickfirstleaf contains the pick_first load balancing policy which + will be the universal leaf policy after dualstack changes are implemented. +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf +license: apache-2.0 +licenses: +- sources: grpc@v1.68.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 128548be697..03307807356 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.67.1 +version: v1.68.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 91ddb057c51..eaad6c77c69 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.67.1 +version: v1.68.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 364325ae560..90a825eef59 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.67.1 +version: v1.68.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 83da697094d..51de87fea21 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.67.1 +version: v1.68.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 5f07c3809ff..ce0c2077f53 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.67.1 +version: v1.68.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 91f834bdfdf..c6af72786a1 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.67.1 +version: v1.68.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index d3ae1107d13..fcb46a9bf93 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.67.1 +version: v1.68.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 6729ea209b9..5b0a173f189 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.67.1 +version: v1.68.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index be8dea35db5..fba9f3e4612 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.67.1 +version: v1.68.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index 563a8b1238f..1a144c27529 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.67.1 +version: v1.68.0 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index e63ad5aedf1..2596659f132 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.67.1 +version: v1.68.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index 95b32e2492f..6481589f3ff 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.67.1 +version: v1.68.0 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 63753f22682..ec21233ceb0 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.67.1 +version: v1.68.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 131d234ba79..e354229ad41 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.67.1 +version: v1.68.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index c37e897d370..7b8f9b262f0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.67.1 +version: v1.68.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 0411a07381c..7eda80a0566 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.67.1 +version: v1.68.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 5303005025d..0d81c187513 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.67.1 +version: v1.68.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index a3799a06cfa..4cd25d47812 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.67.1 +version: v1.68.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index ea5ef6aca4c..2c975ea012f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.67.1 +version: v1.68.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 7720aca85ea..aa124f3ce28 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.67.1 +version: v1.68.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 2964e2b06cd..7b189d4a784 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.67.1 +version: v1.68.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 4435f1424f3..073be235ec4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.67.1 +version: v1.68.0 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index c52158c702f..dccffb4e5c8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.67.1 +version: v1.68.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 88292a27082..8a39c0e3b6e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.67.1 +version: v1.68.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index e13936d68ee..83f5b65d824 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.67.1 +version: v1.68.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 43a279abcb2..1ccfe99dbce 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.67.1 +version: v1.68.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 64e5df74f83..0e90921842c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.67.1 +version: v1.68.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 37523410e79..b59fc10a128 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.67.1 +version: v1.68.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index ba02004e49f..5b8da027d3b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.67.1 +version: v1.68.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 75e21b25b34..eeb863823cd 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.67.1 +version: v1.68.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 9b88b454f1f..e7978dde60a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.67.1 +version: v1.68.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 610fe2f7979..3658b7e434c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.67.1 +version: v1.68.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index a79a921b0f5..ff0d2946eed 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.67.1 +version: v1.68.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index e91028bf74e..de5a981d256 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.67.1 +version: v1.68.0 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 401de4ea66d..1df9c6825b8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.67.1 +version: v1.68.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index fd2a839e603..af1f7e82496 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.67.1 +version: v1.68.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 4dc3a8ba8a3..1de20bb135e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.67.1 +version: v1.68.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 86b084f0539..04fefeada75 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.67.1 +version: v1.68.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 9158b97093c..02f70728431 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.67.1 +version: v1.68.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index d8f776c3a3c..73bb3f79aad 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.67.1 +version: v1.68.0 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 73484ce7a0f..c6850e6d463 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.67.1 +version: v1.68.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 8ceaf6a32a1..7af5f7e19a0 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.67.1 +version: v1.68.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 6c6192054aa..68e07f4e8b9 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.67.1 +version: v1.68.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 8b39315e9ad..289e6fba40a 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.67.1 +version: v1.68.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 8fae8896d7b..82b69432408 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.67.1 +version: v1.68.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 2474b83265c..e3c8313c70e 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.67.1 +version: v1.68.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index b1979be8b93..ae960754445 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.67.1 +version: v1.68.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 262be90628f..3d9a2686922 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.67.1 +version: v1.68.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.67.1/LICENSE +- sources: grpc@v1.68.0/LICENSE text: |2 Apache License diff --git a/DistTasks.yml b/DistTasks.yml index 4c0514e70af..81ddb43e607 100644 --- a/DistTasks.yml +++ b/DistTasks.yml @@ -19,7 +19,7 @@ version: "3" vars: CONTAINER: "docker.elastic.co/beats-dev/golang-crossbuild" - GO_VERSION: "1.22.5" + GO_VERSION: "1.22.9" tasks: Windows_32bit: @@ -142,37 +142,9 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_6" - BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/armv6" - # We are experiencing the following error with ARMv6 build: - # - # # github.com/arduino/arduino-cli - # net(.text): unexpected relocation type 296 (R_ARM_V4BX) - # panic: runtime error: invalid memory address or nil pointer dereference - # [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x51ae53] - # - # goroutine 1 [running]: - # cmd/link/internal/loader.(*Loader).SymName(0xc000095c00, 0x0, 0xc0000958d8, 0x5a0ac) - # /usr/local/go/src/cmd/link/internal/loader/loader.go:684 +0x53 - # cmd/link/internal/ld.dynrelocsym2(0xc000095880, 0x5a0ac) - # /usr/local/go/src/cmd/link/internal/ld/data.go:777 +0x295 - # cmd/link/internal/ld.(*dodataState).dynreloc2(0xc007df9800, 0xc000095880) - # /usr/local/go/src/cmd/link/internal/ld/data.go:794 +0x89 - # cmd/link/internal/ld.(*Link).dodata2(0xc000095880, 0xc007d00000, 0x60518, 0x60518) - # /usr/local/go/src/cmd/link/internal/ld/data.go:1434 +0x4d4 - # cmd/link/internal/ld.Main(0x8729a0, 0x4, 0x8, 0x1, 0xd, 0xe, 0x0, 0x0, 0x6d7737, 0x12, ...) - # /usr/local/go/src/cmd/link/internal/ld/main.go:302 +0x123a - # main.main() - # /usr/local/go/src/cmd/link/main.go:68 +0x1dc - # Error: failed building for linux/armv6: exit status 2 - # - # This seems to be a problem in the go builder 1.16.x that removed support for the R_ARM_V4BX instruction: - # https://github.com/golang/go/pull/44998 - # https://groups.google.com/g/golang-codereviews/c/yzN80xxwu2E - # - # Until there is a fix released we must use a recent gcc for Linux_ARMv6 build, so for this - # build we select the debian10 based container. - CONTAINER_TAG: "{{.GO_VERSION}}-armel-debian9" + CONTAINER_TAG: "{{.GO_VERSION}}-armel-debian12" PACKAGE_PLATFORM: "Linux_ARMv6" PACKAGE_NAME: "{{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz" diff --git a/go.mod b/go.mod index 2f0afa56031..aa21c392e31 100644 --- a/go.mod +++ b/go.mod @@ -1,12 +1,12 @@ module github.com/arduino/arduino-cli -go 1.22.3 +go 1.22.9 // We must use this fork until https://github.com/mailru/easyjson/pull/372 is merged replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( - github.com/ProtonMail/go-crypto v1.1.0-beta.0-proton + github.com/ProtonMail/go-crypto v1.1.2 github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 @@ -39,11 +39,11 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 - golang.org/x/sys v0.26.0 - golang.org/x/term v0.25.0 - golang.org/x/text v0.19.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 - google.golang.org/grpc v1.67.1 + golang.org/x/sys v0.27.0 + golang.org/x/term v0.26.0 + golang.org/x/text v0.20.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 + google.golang.org/grpc v1.68.0 google.golang.org/protobuf v1.35.1 gopkg.in/yaml.v3 v3.0.1 ) @@ -96,11 +96,11 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.26.0 // indirect + golang.org/x/crypto v0.27.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.28.0 // indirect - golang.org/x/sync v0.8.0 // indirect + golang.org/x/net v0.29.0 // indirect + golang.org/x/sync v0.9.0 // indirect golang.org/x/tools v0.22.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 30de5ce5735..a1a6f1c69d7 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v1.1.0-beta.0-proton h1:ZGewsAoeSirbUS5cO8L0FMQA+iSop9xR1nmFYifDBPo= -github.com/ProtonMail/go-crypto v1.1.0-beta.0-proton/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.2 h1:A7JbD57ThNqh7XjmHE+PXpQ3Dqt3BrSAC0AL0Go3KS0= +github.com/ProtonMail/go-crypto v1.1.2/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= @@ -76,6 +76,8 @@ github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= github.com/gofrs/uuid/v5 v5.3.0 h1:m0mUMr+oVYUdxpMLgSYCZiXe7PuVPnI94+OMeVBNedk= github.com/gofrs/uuid/v5 v5.3.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= @@ -234,8 +236,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.26.0 h1:RrRspgV4mU+YwB4FYnuBoKsUapNIL5cohGAmSH3azsw= -golang.org/x/crypto v0.26.0/go.mod h1:GY7jblb9wI+FOo5y8/S2oY4zWP07AkOJ4+jxCqdqn54= +golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= +golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -246,12 +248,12 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= +golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= +golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -271,18 +273,18 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= -golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= +golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.25.0 h1:WtHI/ltw4NvSUig5KARz9h521QvRC8RmF/cuYqifU24= -golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= +golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= +golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= -golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= +golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= @@ -290,10 +292,10 @@ golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142 h1:e7S5W7MGGLaSu8j3YjdezkZ+m1/Nm0uRVRMEMGk26Xs= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240814211410-ddb44dafa142/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= -google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= -google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= +google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 67eb95a4d45f15f6dcf4a586803bb6c394c16248 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 11:46:28 +0100 Subject: [PATCH 277/361] [skip changelog] Bump google.golang.org/protobuf from 1.35.1 to 1.35.2 (#2754) * [skip changelog] Bump google.golang.org/protobuf from 1.35.1 to 1.35.2 Bumps google.golang.org/protobuf from 1.35.1 to 1.35.2. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/editiondefaults.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 34 files changed, 99 insertions(+), 99 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 1316ce0b1ec..4520ddc9bee 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.35.1 +version: v1.35.2 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index 260a6ea7993..9d5d7516ec8 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.35.1 +version: v1.35.2 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 1e39620a466..888407b363f 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.35.1 +version: v1.35.2 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index 0844e1b493e..a12de78dabe 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.35.1 +version: v1.35.2 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index ac246e942b6..a510e41cbe4 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.35.1 +version: v1.35.2 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 9ac1bb6ba7a..30269242484 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.35.1 +version: v1.35.2 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index 7782a7d7e8f..ace10a86f13 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.35.1 +version: v1.35.2 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index d678b37f3ed..68b997e77ca 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.35.1 +version: v1.35.2 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index 752121a7728..f1021700b75 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.35.1 +version: v1.35.2 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 40b18a1e1b8..595ee977f90 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.35.1 +version: v1.35.2 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index 510ab82e066..09997aa9a5f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.35.1 +version: v1.35.2 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index adae9e46038..9837b26d48f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.35.1 +version: v1.35.2 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index 480989941c8..d733951465c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.35.1 +version: v1.35.2 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index e000823b672..17a894eef3b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.35.1 +version: v1.35.2 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index a482d950bc1..e7e68666d83 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.35.1 +version: v1.35.2 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 7f71b18ba29..cae0c605a57 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.35.1 +version: v1.35.2 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index a3df6fc75a8..70c1591fd98 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.35.1 +version: v1.35.2 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index c3cde0fd884..f9995b6ee04 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.35.1 +version: v1.35.2 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index e98589eb694..2c1a9f27231 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.35.1 +version: v1.35.2 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index d2ec77194ba..787edcfd2a0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.35.1 +version: v1.35.2 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index d30969ffb6e..bcc58d1c279 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.35.1 +version: v1.35.2 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index 8ce44738bf0..06fb81ca898 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.35.1 +version: v1.35.2 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 3a96c85819c..dc5ff7b2cff 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.35.1 +version: v1.35.2 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index 6a4ec0c15be..3fb02251c24 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.35.1 +version: v1.35.2 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index a6b72b1de39..6d6b7fe4007 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.35.1 +version: v1.35.2 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index e4df8de87c7..e3462a07643 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.35.1 +version: v1.35.2 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index c2de9422f70..778e22cc78a 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.35.1 +version: v1.35.2 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 56d1e3566af..37bd0995040 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.35.1 +version: v1.35.2 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index a8be9b1a4ef..51576f89996 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.35.1 +version: v1.35.2 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 660ec4e6e83..9b9ab7d3cb8 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.35.1 +version: v1.35.2 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 12a8295ea37..d20db997456 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.35.1 +version: v1.35.2 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index 4fe0c2916d8..4398d197830 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.35.1 +version: v1.35.2 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.35.1/LICENSE +- sources: protobuf@v1.35.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.1/PATENTS +- sources: protobuf@v1.35.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index aa21c392e31..c036e3d305d 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/text v0.20.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 google.golang.org/grpc v1.68.0 - google.golang.org/protobuf v1.35.1 + google.golang.org/protobuf v1.35.2 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index a1a6f1c69d7..c490d539aa4 100644 --- a/go.sum +++ b/go.sum @@ -296,8 +296,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= -google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= -google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= +google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From c3d05d69d820520c2243b557c22482d4ef156033 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 21 Nov 2024 15:22:41 +0100 Subject: [PATCH 278/361] Fixed protoc.zip release artifact missing `google/rpc/status.proto` (#2761) * Using buf to produce protoc artifacts for release * Updated gh workflows --- .github/workflows/check-protobuf-task.yml | 3 ++- .github/workflows/publish-go-nightly-task.yml | 5 +++++ .github/workflows/publish-go-tester-task.yml | 5 +++++ .github/workflows/release-go-task.yml | 5 +++++ Taskfile.yml | 6 +++--- 5 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index f81a5da2a05..2953edf467a 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -53,7 +53,8 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - uses: bufbuild/buf-action@v1 + - name: Install buf + uses: bufbuild/buf-action@v1 with: setup_only: true diff --git a/.github/workflows/publish-go-nightly-task.yml b/.github/workflows/publish-go-nightly-task.yml index ade13e6c2ef..46dd1089c13 100644 --- a/.github/workflows/publish-go-nightly-task.yml +++ b/.github/workflows/publish-go-nightly-task.yml @@ -265,6 +265,11 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install buf + uses: bufbuild/buf-action@v1 + with: + setup_only: true + - name: Collect proto files env: NIGHTLY: true diff --git a/.github/workflows/publish-go-tester-task.yml b/.github/workflows/publish-go-tester-task.yml index 6f26162096c..ccad7398fa0 100644 --- a/.github/workflows/publish-go-tester-task.yml +++ b/.github/workflows/publish-go-tester-task.yml @@ -127,6 +127,11 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install buf + uses: bufbuild/buf-action@v1 + with: + setup_only: true + - name: Build run: | PACKAGE_NAME_PREFIX=${{ needs.package-name-prefix.outputs.prefix }} diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index d61142f066d..7c37deeacf8 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -265,6 +265,11 @@ jobs: repo-token: ${{ secrets.GITHUB_TOKEN }} version: 3.x + - name: Install buf + uses: bufbuild/buf-action@v1 + with: + setup_only: true + - name: Collect proto files run: task protoc:collect diff --git a/Taskfile.yml b/Taskfile.yml index c375e5eb39d..095cae2dd87 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -258,10 +258,10 @@ tasks: protoc:collect: desc: Create a zip file containing all .proto files in DIST_DIR - dir: rpc cmds: - - mkdir --parents ../{{.DIST_DIR}} - - zip -r ../{{.DIST_DIR}}/{{.PROJECT_NAME}}_{{.VERSION}}_proto.zip * -i \*.proto + - mkdir --parents {{.DIST_DIR}} + - buf export . -o {{.DIST_DIR}}/proto + - cd {{.DIST_DIR}}/proto && zip -r ../{{.PROJECT_NAME}}_{{.VERSION}}_proto.zip . protoc:format: desc: Perform formatting of the protobuf definitions From ca4a4ece90ac71d6067a645ca8a2164d7be06323 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 21 Nov 2024 18:41:31 +0100 Subject: [PATCH 279/361] In `compile` command try to release the package manager lock ASAP (#2741) * In `compile` command try to release the package manager lock ASAP * Applied suggestion from code review --- commands/service_compile.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/commands/service_compile.go b/commands/service_compile.go index 37f401397de..a7ce1ea2bbf 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -22,6 +22,7 @@ import ( "io" "sort" "strings" + "sync" "time" "github.com/arduino/arduino-cli/commands/cmderrors" @@ -81,6 +82,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu if err != nil { return err } + release = sync.OnceFunc(release) defer release() if pme.Dirty() { @@ -358,6 +360,10 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu targetBoard.String(), "'build.board'", sketchBuilder.GetBuildProperties().Get("build.board")) + "\n")) } + // Release package manager + release() + + // Perform the actual build if err := sketchBuilder.Build(); err != nil { return &cmderrors.CompileFailedError{Message: err.Error()} } From fa6eafcbbea301eeece900f0501e88d288487974 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 09:56:36 +0100 Subject: [PATCH 280/361] [skip-changelog] Updated translation files (#2757) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/i18n/data/ar.po | 38 ++++++++++++++++++++----------------- internal/i18n/data/be.po | 36 +++++++++++++++++++---------------- internal/i18n/data/de.po | 36 +++++++++++++++++++---------------- internal/i18n/data/es.po | 36 +++++++++++++++++++---------------- internal/i18n/data/fr.po | 36 +++++++++++++++++++---------------- internal/i18n/data/he.po | 36 +++++++++++++++++++---------------- internal/i18n/data/it_IT.po | 37 ++++++++++++++++++++---------------- internal/i18n/data/ja.po | 36 +++++++++++++++++++---------------- internal/i18n/data/ko.po | 36 +++++++++++++++++++---------------- internal/i18n/data/lb.po | 36 +++++++++++++++++++---------------- internal/i18n/data/pl.po | 36 +++++++++++++++++++---------------- internal/i18n/data/pt.po | 36 +++++++++++++++++++---------------- internal/i18n/data/ru.po | 36 +++++++++++++++++++---------------- internal/i18n/data/zh.po | 36 +++++++++++++++++++---------------- internal/i18n/data/zh_TW.po | 36 +++++++++++++++++++---------------- 15 files changed, 302 insertions(+), 241 deletions(-) diff --git a/internal/i18n/data/ar.po b/internal/i18n/data/ar.po index 930c7064a83..a02601d1efe 100644 --- a/internal/i18n/data/ar.po +++ b/internal/i18n/data/ar.po @@ -3,7 +3,7 @@ # CLI team <prj_cli_team@arduino.cc>, 2022 # Mark Asaad, 2022 # Osama Breman, 2023 -# طارق عبد الفتاح, 2023 +# طارق عبد الفتاح <tariq.ok.tariq@gmail.com>, 2023 # Ahmed Gaafar, 2024 # msgid "" @@ -313,11 +313,11 @@ msgstr "لا يمكن استخدام العلامات التالية مع بعض msgid "Can't write debug log: %s" msgstr "تعذر كتابة سجل مصحح الاخطاء : %s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "تعذر انشاء مجلد لل \"build cache\"" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "تعذر انشاء مسار البناء" @@ -738,7 +738,7 @@ msgstr "خطأ اثناء تنظيف الكاش : %v" msgid "Error converting path to absolute: %v" msgstr "تعذر تحويل المسار الى مطلق : %v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "خطا اثناء نسخ ملف الخرج %s" @@ -752,7 +752,7 @@ msgstr "خطأ في أنشاء ملف التعريفات:%v" msgid "Error creating instance: %v" msgstr "خطا اثناء انشاء النسخة %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "خطا اثناء انشاء مسار الخرج" @@ -865,7 +865,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "خطأ اثناء الحصول على المعلومات للمكتبة %s" @@ -954,7 +954,7 @@ msgstr "خطا اثناء فتح الكود المصدر الذي يتجاوز msgid "Error parsing --show-properties flag: %v" msgstr "تعذر تقطيع علامة show-properties-- : %v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "خطا اثناء قراءة مسار البناء" @@ -1137,7 +1137,7 @@ msgstr "تعذر الرفع" msgid "File:" msgstr "الملف : " -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1338,7 +1338,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "تم اعطاء وسيط غير صالح %v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "خصائص البناء غير صالحة" @@ -2269,7 +2269,7 @@ msgstr "عرض رقم نسخة Arduino CLI" msgid "Size (bytes):" msgstr "الحجم (بالبايت) :" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2670,7 +2670,7 @@ msgstr "المنصة المستخدمة" msgid "Used: %[1]s" msgstr "مستخدم : %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل المجلد %[2]s" @@ -2678,7 +2678,7 @@ msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل الم msgid "Using cached library dependencies for file: %[1]s" msgstr "يتم استخدام توابع المكتبة التي تم تخزينها مؤقتا من اجل الملف : %[1]s" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام النواة '%[1]s' من منصة داخل الملف %[2]s " @@ -2769,7 +2769,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "يتم انتظار منفذ الرفع (upload port) ... " -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3455,11 +3455,11 @@ msgstr "جار فتح ملف الارشيف : %s" msgid "opening boards.txt" msgstr "جار فتح boards.txt" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "جار فتح ملف التوقيع : %s" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "جار فتح الملف الهدف : %s" @@ -3498,7 +3498,7 @@ msgstr "المنصة %s غير مثبتة" msgid "platform is not available for your OS" msgstr "المنصة غير متاحة لنظام التشغيل الخاص بك" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3609,7 +3609,7 @@ msgstr "جار ازالة ملفات المنصة %s" msgid "required version %[1]s not found for platform %[2]s" msgstr "تعذر ايجاد النسخة المطلوبة %[1]s من اجل المنصة %[2]s" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "جار ازالة المفاتيح العامة للاردوينو : %s" @@ -3622,6 +3622,10 @@ msgstr "جاري فحص امثلة المذكرة" msgid "searching package root dir: %s" msgstr "جار البحث عن المجلد الاصلي لـ %s" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "لا يمكن ان يكون اسم المشروع فارغا" diff --git a/internal/i18n/data/be.po b/internal/i18n/data/be.po index 704a1800f3e..3b27190c3ba 100644 --- a/internal/i18n/data/be.po +++ b/internal/i18n/data/be.po @@ -315,11 +315,11 @@ msgstr "Не атрымалася ўжываць наступныя птушкі msgid "Can't write debug log: %s" msgstr "Не атрымалася запісаць часопіс адладкі: %s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "Не атрымалася стварыць каталог кэша зборкі" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "Не атрымалася стварыць каталог зборкі" @@ -747,7 +747,7 @@ msgstr "Памылка пры ачысткі кэшу: %v" msgid "Error converting path to absolute: %v" msgstr "Памылка пры пераўтварэнні шляху ў абсалютны: %v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "Памылка пры капіяванні выхаднога файла %s" @@ -761,7 +761,7 @@ msgstr "Памылка пры стварэнні канфігурацыі: %v" msgid "Error creating instance: %v" msgstr "Памылка пры стварэнні асобніка: %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "Памылка пры стварэнні выходнага каталогу" @@ -877,7 +877,7 @@ msgstr "" "Памылка пры атрыманні першапачатковага порта з ' sketch.yaml`.\n" "Праверце, ці правільна вы паказалі каталог сцэнара, ці пакажыце аргумент --port:" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Памылка пры атрыманні інфармацыі для бібліятэкі %s" @@ -966,7 +966,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "Памылка пры разборы аргумента --show-properties: %v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "Памылка пры чытанні каталога зборкі" @@ -1156,7 +1156,7 @@ msgstr "Не атрымалася выгрузіць" msgid "File:" msgstr "Файл:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1367,7 +1367,7 @@ msgstr "Хібны архіў: файл %[1]s не знойдзены ў арх msgid "Invalid argument passed: %v" msgstr "Перададзены хібны аргумент: %v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "Хібныя ўласцівасці зборкі" @@ -2351,7 +2351,7 @@ msgstr "Паказвае нумар версіі Arduino CLI." msgid "Size (bytes):" msgstr "Памер (у байтах):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2768,7 +2768,7 @@ msgstr "Ужытая платформа" msgid "Used: %[1]s" msgstr "Ужыта: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Ужыванне платы '%[1]s' з платформы ў каталог: %[2]s" @@ -2776,7 +2776,7 @@ msgstr "Ужыванне платы '%[1]s' з платформы ў катал msgid "Using cached library dependencies for file: %[1]s" msgstr "Ужыванне кэшаванай бібліятэкі залежнасцяў для файла: %[1]s" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Ужыванне ядра '%[1]s' з платформы ў каталог: %[2]s" @@ -2872,7 +2872,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "Чаканне порта выгрузкі..." -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3556,11 +3556,11 @@ msgstr "адкрыццё файла архіва: %s" msgid "opening boards.txt" msgstr "адкрыццё boards.txt" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "адкрыццё файла сігнатуры: %s" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "адкрыццё мэтавага файлау: %s" @@ -3599,7 +3599,7 @@ msgstr "платформа %s не ўсталяваная" msgid "platform is not available for your OS" msgstr "платформа недаступная для вашай аперацыйнай сістэмы" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3710,7 +3710,7 @@ msgstr "выдаленне файлаў платформы: %s" msgid "required version %[1]s not found for platform %[2]s" msgstr "неабходная версія %[1]s для платформы %[2]s не знойдзена" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "выманне адкрытых ключоў Arduino: %s" @@ -3723,6 +3723,10 @@ msgstr "чытанне прыкладаў сцэнара" msgid "searching package root dir: %s" msgstr "пошук у каранёвым каталогу пакета: %s" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "назва сцэнара не можа быць пустым" diff --git a/internal/i18n/data/de.po b/internal/i18n/data/de.po index 7323c48f6e5..9836b6836ef 100644 --- a/internal/i18n/data/de.po +++ b/internal/i18n/data/de.po @@ -322,11 +322,11 @@ msgstr "Die folgenden Flags können nicht gemeinsam verwendet werden: %s" msgid "Can't write debug log: %s" msgstr "Debug-Log kann icht geschrieben werden: %s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "Cache-Verzeichnis kann nicht angelegt werden" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "Build-Verzeichnis kann nicht angelegt werden" @@ -762,7 +762,7 @@ msgstr "Fehler beim bereinigen des Caches: %v" msgid "Error converting path to absolute: %v" msgstr "Fehler beim konvertieren des Pfads zum Absolutpfad: %v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "Fehler beim Kopieren der Ausgabedatei %s" @@ -776,7 +776,7 @@ msgstr "Fehler beim Erstellen der Konfiguration: %v" msgid "Error creating instance: %v" msgstr "Fehler beim Erstellen der Instanz: %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "Fehler beim Erstellen des Ausgabeverzeichnisses" @@ -892,7 +892,7 @@ msgstr "" "Fehler beim ermitteln des Standard-Ports aus 'sketch.yaml' Prüfe, ob di im " "richtigen Sketch-Verzeichnis bist oder verwende das --port Attribut: %s" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Fehler beim Abrufen von Informationen für die Bibliothek %s" @@ -980,7 +980,7 @@ msgstr "Fehler, öffnen der Quellcodes überschreibt die Datendatei: %v" msgid "Error parsing --show-properties flag: %v" msgstr "Fehler bei der Auswertung des --show-Property Attributs: %v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "Fehler bel Lesen des Build-Verzechnisses" @@ -1166,7 +1166,7 @@ msgstr "Fehlgeschlagenes Hochladen" msgid "File:" msgstr "Datei:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1378,7 +1378,7 @@ msgstr "Ungültiges Archiv: Datei %[1]s nicht im Archiv %[2]s gefunden" msgid "Invalid argument passed: %v" msgstr "Ungültiges Argument übergeben: %v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "Ungültige Build-Eigenschaften" @@ -2364,7 +2364,7 @@ msgstr "Zeigt die Versionsnummer des Arduino CLI an." msgid "Size (bytes):" msgstr "Größe (Bytes):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2797,7 +2797,7 @@ msgstr "Verwendete Plattform" msgid "Used: %[1]s" msgstr "Benutzt: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Verwende das Board '%[1]s' von der Plattform im Ordner: %[2]s" @@ -2807,7 +2807,7 @@ msgstr "" "Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die " "Datei: %[1]s" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Verwendung des Kerns '%[1]s' von Platform im Ordner: %[2]s" @@ -2906,7 +2906,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "Warten auf Upload-Port ..." -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3602,11 +3602,11 @@ msgstr "Archivdatei öffnen: %s" msgid "opening boards.txt" msgstr "boards.txt wird geöffnet" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "Öffne Signaturdatei: %s" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "Öffne Zieldatei: %s" @@ -3645,7 +3645,7 @@ msgstr "Plattform %s ist nicht installiert" msgid "platform is not available for your OS" msgstr "Plattform ist für dieses Betriebssystem nicht verfügbar" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3756,7 +3756,7 @@ msgstr "Entferne die Plattformdateien: %s" msgid "required version %[1]s not found for platform %[2]s" msgstr "Erforderliche Version %[1]s für Plattform %[2]s nicht gefunden " -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "Abrufen der öffentlichen Arduino-Schlüssel: %s" @@ -3769,6 +3769,10 @@ msgstr "Sketch-Beispiele durchsuchen" msgid "searching package root dir: %s" msgstr "Suche im Stammverzeichnis des Pakets: %s" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "Sketchname darf nicht leer sein" diff --git a/internal/i18n/data/es.po b/internal/i18n/data/es.po index 53863b5c4f3..695d9c32737 100644 --- a/internal/i18n/data/es.po +++ b/internal/i18n/data/es.po @@ -311,11 +311,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "No se puede crear el directorio de caché de compilación" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "No se puede crear el directorio de caché de compilación" @@ -733,7 +733,7 @@ msgstr "Error limpiando caches: %v" msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "Error copiando el archivo de salida %s" @@ -747,7 +747,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Error creando la instancia: %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "Error al crear el directorio de salida" @@ -861,7 +861,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Error obteniendo información para la librería %s" @@ -949,7 +949,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" @@ -1129,7 +1129,7 @@ msgstr "" msgid "File:" msgstr "Archivo:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1322,7 +1322,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "" @@ -2222,7 +2222,7 @@ msgstr "" msgid "Size (bytes):" msgstr "Tamaño (bytes):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2604,7 +2604,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Usado: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2612,7 +2612,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2704,7 +2704,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3373,11 +3373,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3416,7 +3416,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3527,7 +3527,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3540,6 +3540,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/fr.po b/internal/i18n/data/fr.po index b4947c42dab..3c38b99bf98 100644 --- a/internal/i18n/data/fr.po +++ b/internal/i18n/data/fr.po @@ -303,11 +303,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "" @@ -713,7 +713,7 @@ msgstr "" msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "" @@ -727,7 +727,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "" @@ -840,7 +840,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -928,7 +928,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" @@ -1108,7 +1108,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1302,7 +1302,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "" @@ -2196,7 +2196,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2574,7 +2574,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilisé: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2582,7 +2582,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2677,7 +2677,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3346,11 +3346,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3389,7 +3389,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3500,7 +3500,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3513,6 +3513,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/he.po b/internal/i18n/data/he.po index 98dfd9c2d05..65952348e8b 100644 --- a/internal/i18n/data/he.po +++ b/internal/i18n/data/he.po @@ -299,11 +299,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "" @@ -709,7 +709,7 @@ msgstr "" msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -924,7 +924,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1295,7 +1295,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "" @@ -2185,7 +2185,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2561,7 +2561,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2569,7 +2569,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2658,7 +2658,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3327,11 +3327,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3370,7 +3370,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3481,7 +3481,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3494,6 +3494,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/it_IT.po b/internal/i18n/data/it_IT.po index 6683cdc2b19..d86e18fd7e6 100644 --- a/internal/i18n/data/it_IT.po +++ b/internal/i18n/data/it_IT.po @@ -321,11 +321,11 @@ msgstr "Non è possibile utilizzare insieme i seguenti flag: %s" msgid "Can't write debug log: %s" msgstr "Non è possibile scrivere il log di debug: %s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "Non è possibile creare la directory di build della cache." -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "Non è possibile creare la directory per la build" @@ -764,7 +764,7 @@ msgstr "" "Si è verificato un errore durante la conversione del percorso in assoluto:: " "%v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "Si è verificato un errore durante la copia del file di output %s" @@ -779,7 +779,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Si è verificato un errore durante la creazione dell'istanza: %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "" "Si è verificato un errore durante la creazione della cartella di output" @@ -906,7 +906,7 @@ msgstr "" "`sketch.yaml`. Controllare se la cartella degli sketch è corretta oppure " "utilizzare il flag --port:: %s" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni della " @@ -1013,7 +1013,7 @@ msgid "Error parsing --show-properties flag: %v" msgstr "" "Si è verificato un errore durante il parsing del flag --show-properties: %v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" "Si è verificato un errore durante la lettura della directory di compilazione" @@ -1216,7 +1216,7 @@ msgstr "Caricamento non riuscito" msgid "File:" msgstr "File:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1424,7 +1424,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "L' argomento passato non è valido: %v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "Proprietà di compilazione non valide" @@ -2425,7 +2425,7 @@ msgstr "Mostra il numero di versione di Arduino CLI." msgid "Size (bytes):" msgstr "Dimensione (bytes):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2849,7 +2849,7 @@ msgstr "Piattaforma utilizzata" msgid "Used: %[1]s" msgstr "Usata: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo della scheda '%[1]s' dalla piattaforma nella cartella: %[2]s" @@ -2858,7 +2858,7 @@ msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Utilizzo delle dipendenze delle librerie nella cache per i file: %[1]s" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" @@ -2955,7 +2955,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "In attesa della porta di caricamento..." -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3660,11 +3660,11 @@ msgstr "apertura del file di archivio: %s" msgid "opening boards.txt" msgstr "apertura di boards.txt" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "apertura del file della firma: %s" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "apertura del file di destinazione: %s" @@ -3703,7 +3703,7 @@ msgstr "la piattaforma %s non è installata" msgid "platform is not available for your OS" msgstr "la piattaforma non è disponibile per il sistema operativo in uso" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3816,7 +3816,7 @@ msgid "required version %[1]s not found for platform %[2]s" msgstr "" "la versione richiesta %[1]s non è stata trovata per la piattaforma %[2]s" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "sto recuperando le chiavi pubbliche di Arduino: %s" @@ -3829,6 +3829,11 @@ msgstr "scansione degli esempi di sketch in corso" msgid "searching package root dir: %s" msgstr "ricerca nella directory principale del pacchetto: %s" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" +"la firma è scaduta: l'orologio del tuo sistema è impostato correttamente?" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "Il nome dello sketch non può essere vuoto" diff --git a/internal/i18n/data/ja.po b/internal/i18n/data/ja.po index 8b3da0ff1f9..157f29de1d4 100644 --- a/internal/i18n/data/ja.po +++ b/internal/i18n/data/ja.po @@ -301,11 +301,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "" @@ -711,7 +711,7 @@ msgstr "" msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "" @@ -725,7 +725,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "" @@ -838,7 +838,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -926,7 +926,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" @@ -1106,7 +1106,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1298,7 +1298,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "" @@ -2188,7 +2188,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2564,7 +2564,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "使用済:%[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2572,7 +2572,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2662,7 +2662,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3331,11 +3331,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3374,7 +3374,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3485,7 +3485,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3498,6 +3498,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/ko.po b/internal/i18n/data/ko.po index 753a66b31e7..6475397399b 100644 --- a/internal/i18n/data/ko.po +++ b/internal/i18n/data/ko.po @@ -299,11 +299,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "" @@ -709,7 +709,7 @@ msgstr "" msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -924,7 +924,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1296,7 +1296,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "" @@ -2186,7 +2186,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2562,7 +2562,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "사용됨: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2570,7 +2570,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2660,7 +2660,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3329,11 +3329,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3372,7 +3372,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3483,7 +3483,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3496,6 +3496,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/lb.po b/internal/i18n/data/lb.po index ea749834752..128b64ec003 100644 --- a/internal/i18n/data/lb.po +++ b/internal/i18n/data/lb.po @@ -299,11 +299,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "" @@ -709,7 +709,7 @@ msgstr "" msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -924,7 +924,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1295,7 +1295,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "" @@ -2185,7 +2185,7 @@ msgstr "" msgid "Size (bytes):" msgstr "Gréisst (Bytes):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2561,7 +2561,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Benotzt: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2569,7 +2569,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2658,7 +2658,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3327,11 +3327,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3370,7 +3370,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3481,7 +3481,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3494,6 +3494,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/pl.po b/internal/i18n/data/pl.po index 4b10a29f4a6..b977e12ffe9 100644 --- a/internal/i18n/data/pl.po +++ b/internal/i18n/data/pl.po @@ -301,11 +301,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "" @@ -711,7 +711,7 @@ msgstr "" msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "" @@ -725,7 +725,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "" @@ -838,7 +838,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -926,7 +926,7 @@ msgstr "" msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "" @@ -1106,7 +1106,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1300,7 +1300,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "" @@ -2193,7 +2193,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2571,7 +2571,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Wykorzystane: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2579,7 +2579,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2671,7 +2671,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3340,11 +3340,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3383,7 +3383,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3494,7 +3494,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3507,6 +3507,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/pt.po b/internal/i18n/data/pt.po index 391886a2bf5..9df0fbfc9ee 100644 --- a/internal/i18n/data/pt.po +++ b/internal/i18n/data/pt.po @@ -314,11 +314,11 @@ msgstr "Não é possível utilizar as seguintes Flags ao mesmo tempo: %s" msgid "Can't write debug log: %s" msgstr "Não é possível escrever para o arquivo de depuração: %s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "Não é possível criar Build do diretório de Cache" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "Não é possível criar Build do diretório" @@ -743,7 +743,7 @@ msgstr "Erro ao limpar caches: %v" msgid "Error converting path to absolute: %v" msgstr "Erro ao converter caminho para absoluto: %v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "Erro ao copiar arquivo de saída %s" @@ -757,7 +757,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Erro ao criar instância: %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "Erro ao criar diretório de saída" @@ -871,7 +871,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Erro ao obter informações da biblioteca %s" @@ -959,7 +959,7 @@ msgstr "Erro ao abrir arquivo de dados que sobrescrevem o código fonte: %v" msgid "Error parsing --show-properties flag: %v" msgstr "Erro ao fazer análise sintática na flag --show-properties: %v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "Erro ao ler diretório de build" @@ -1141,7 +1141,7 @@ msgstr "Falha ao enviar" msgid "File:" msgstr "Arquivo:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1347,7 +1347,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "Argumento inválido passado: %v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "Propriedades de compilação inválidas" @@ -2297,7 +2297,7 @@ msgstr "Mostra o número de versão da CLI Arduino." msgid "Size (bytes):" msgstr "Tamanho (em bytes):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2707,7 +2707,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilizado: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2715,7 +2715,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2807,7 +2807,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3476,11 +3476,11 @@ msgstr "" msgid "opening boards.txt" msgstr "" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "" @@ -3519,7 +3519,7 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3630,7 +3630,7 @@ msgstr "" msgid "required version %[1]s not found for platform %[2]s" msgstr "" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "" @@ -3643,6 +3643,10 @@ msgstr "" msgid "searching package root dir: %s" msgstr "" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "" diff --git a/internal/i18n/data/ru.po b/internal/i18n/data/ru.po index 798e892ba8d..9464c2155b5 100644 --- a/internal/i18n/data/ru.po +++ b/internal/i18n/data/ru.po @@ -317,11 +317,11 @@ msgstr "Невозможно использовать следующие фла msgid "Can't write debug log: %s" msgstr "Не удается записать журнал отладки: %s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "Не удается создать каталог кэша сборки" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "Не удается создать каталог для сборки" @@ -750,7 +750,7 @@ msgstr "Ошибка при очистке кэшей: %v" msgid "Error converting path to absolute: %v" msgstr "Ошибка преобразования пути в абсолютный: %v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "Ошибка при копировании выходного файла %s" @@ -764,7 +764,7 @@ msgstr "Ошибка при создании конфигурации: %v" msgid "Error creating instance: %v" msgstr "Ошибка при создании экземпляра: %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "Ошибка создания каталога вывода" @@ -879,7 +879,7 @@ msgstr "" "Ошибка при получении порта по умолчанию из `sketch.yaml`. Проверьте, " "правильно ли вы указали папку sketch, или укажите флаг --port: %s" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Ошибка при получении информации для библиотеки %s" @@ -967,7 +967,7 @@ msgstr "Ошибка при открытии исходного кода пер msgid "Error parsing --show-properties flag: %v" msgstr "Ошибка разбора флага --show-properties: %v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "Ошибка при чтении каталога сборки" @@ -1149,7 +1149,7 @@ msgstr "Не удалась загрузка" msgid "File:" msgstr "Файл:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1361,7 +1361,7 @@ msgstr "Неверный архив: файл %[1]s не найден в арх msgid "Invalid argument passed: %v" msgstr "Передан недопустимый аргумент: %v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "Неверные свойства сборки" @@ -2362,7 +2362,7 @@ msgstr "Показывает номер версии Arduino CLI." msgid "Size (bytes):" msgstr "Размер (байт):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2781,7 +2781,7 @@ msgstr "Использована платформа" msgid "Used: %[1]s" msgstr "Используется: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "использование платы '%[1]s' из платформы в каталоге: %[2]s" @@ -2789,7 +2789,7 @@ msgstr "использование платы '%[1]s' из платформы в msgid "Using cached library dependencies for file: %[1]s" msgstr "Использование кэшированных библиотечных зависимостей для файла: %[1]s" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Использование ядра '%[1]s' из платформы в каталоге: %[2]s" @@ -2884,7 +2884,7 @@ msgstr "" msgid "Waiting for upload port..." msgstr "Ожидание порта загрузки..." -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -3567,11 +3567,11 @@ msgstr "открытие файла архива: %s" msgid "opening boards.txt" msgstr "открытие boards.txt" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "открывается файл сигнатуры:" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "открывается целевой файл: %s" @@ -3610,7 +3610,7 @@ msgstr "платформа %s не установлена" msgid "platform is not available for your OS" msgstr "платформа не доступна для вашей ОС" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3721,7 +3721,7 @@ msgstr "удаление файлов платформы: %s" msgid "required version %[1]s not found for platform %[2]s" msgstr "не найдена необходимая версия %[1]s для платформы %[2]s" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "получение открытых ключей Arduino: %s" @@ -3734,6 +3734,10 @@ msgstr "сканирование примеров скетчей" msgid "searching package root dir: %s" msgstr "поиск корневого каталога пакета: %s" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "наименование скетча не может быть пустым" diff --git a/internal/i18n/data/zh.po b/internal/i18n/data/zh.po index df6a5922aa6..28060738b9f 100644 --- a/internal/i18n/data/zh.po +++ b/internal/i18n/data/zh.po @@ -303,11 +303,11 @@ msgstr "不能同时使用以下参数:%s" msgid "Can't write debug log: %s" msgstr "无法写入调试日志:%s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "无法新建构建缓存目录" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "无法新建构建目录" @@ -713,7 +713,7 @@ msgstr "清理缓存出错:%v" msgid "Error converting path to absolute: %v" msgstr "将路径转换为绝对路径时出错:%v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "复制输出 %s 文件时出错" @@ -727,7 +727,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "新建实例时出错:%v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "新建输出目录时出错" @@ -840,7 +840,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "从 `sketch.yaml` 获取默认端口时出错。检查是否在正确的 sketch 文件夹中,或提供 --port 标志: " -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "获取 %s 库的信息时出错" @@ -928,7 +928,7 @@ msgstr "打开源代码覆盖数据文件时出错:%v" msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 参数时出错:%v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "读取构建目录时出错" @@ -1108,7 +1108,7 @@ msgstr "上传失败" msgid "File:" msgstr "文件:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1299,7 +1299,7 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "传递的参数无效:%v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "无效的构建属性" @@ -2234,7 +2234,7 @@ msgstr "显示 Arduino CLI 的版本号。" msgid "Size (bytes):" msgstr "大小(字节):" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2616,7 +2616,7 @@ msgstr "已使用的平台" msgid "Used: %[1]s" msgstr "使用:%[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s" @@ -2624,7 +2624,7 @@ msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s msgid "Using cached library dependencies for file: %[1]s" msgstr "使用缓存库文件依赖项:%[1]s" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 代码,在列出的文件夹中:%[2]s" @@ -2713,7 +2713,7 @@ msgstr "警告:%[1]s 库声称在 %[2]s 体系结构上运行,可能与当 msgid "Waiting for upload port..." msgstr "正在等待上传端口。。。" -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告:%[1]s 开发板未定义 %[2]s 首选项。自动设置为:%[3]s" @@ -3382,11 +3382,11 @@ msgstr "正在打开存档文件:%s" msgid "opening boards.txt" msgstr "正在打开 boards.txt" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "打开签名文件:%s" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "打开目标文件:%s" @@ -3425,7 +3425,7 @@ msgstr "%s 平台未安装" msgid "platform is not available for your OS" msgstr "该平台不适用于您的操作系统" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3536,7 +3536,7 @@ msgstr "正在删除平台文件:%s" msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到 %[2]s 平台所需的 %[1]s 版本" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "正在检索Arduino密钥:%s" @@ -3549,6 +3549,10 @@ msgstr "扫描项目示例" msgid "searching package root dir: %s" msgstr "正在搜索软件包根目录:%s" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "项目名称不能为空" diff --git a/internal/i18n/data/zh_TW.po b/internal/i18n/data/zh_TW.po index 6acf4d1f0ba..b6cd8163175 100644 --- a/internal/i18n/data/zh_TW.po +++ b/internal/i18n/data/zh_TW.po @@ -299,11 +299,11 @@ msgstr "不能同時使用下列參數: %s" msgid "Can't write debug log: %s" msgstr "無法寫入除錯日誌: %s" -#: commands/service_compile.go:187 commands/service_compile.go:190 +#: commands/service_compile.go:189 commands/service_compile.go:192 msgid "Cannot create build cache directory" msgstr "無法建立編譯快取的目錄" -#: commands/service_compile.go:212 +#: commands/service_compile.go:214 msgid "Cannot create build directory" msgstr "無法建立編譯目錄" @@ -709,7 +709,7 @@ msgstr "清理快取時出錯: %v" msgid "Error converting path to absolute: %v" msgstr "將路徑轉換成絕對路徑時出錯: %v" -#: commands/service_compile.go:405 +#: commands/service_compile.go:411 msgid "Error copying output file %s" msgstr "複製輸出檔 %s 時出錯" @@ -723,7 +723,7 @@ msgstr "建立設定檔出錯: %v" msgid "Error creating instance: %v" msgstr "建立實例時出錯: %v" -#: commands/service_compile.go:389 +#: commands/service_compile.go:395 msgid "Error creating output dir" msgstr "建立輸出目錄時出錯" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "從 `sketch.yaml` 取得預設連接埠出錯. 請檢查是否在正確的 sketch 目錄下, 或者提供 --port 參數: %s" -#: commands/service_compile.go:328 commands/service_library_list.go:115 +#: commands/service_compile.go:330 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "取得程式庫 %s 資訊時出錯" @@ -924,7 +924,7 @@ msgstr "打開原始碼覆寫資料檔時出錯: %v" msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 參數出錯: %v" -#: commands/service_compile.go:398 +#: commands/service_compile.go:404 msgid "Error reading build directory" msgstr "讀取建構目錄時出錯" @@ -1104,7 +1104,7 @@ msgstr "上傳失敗" msgid "File:" msgstr "檔案:" -#: commands/service_compile.go:160 +#: commands/service_compile.go:162 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1295,7 +1295,7 @@ msgstr "無效的存檔:%[1]s 不在 %[2]s 存檔裏" msgid "Invalid argument passed: %v" msgstr "傳送的參數無效: %v" -#: commands/service_compile.go:272 +#: commands/service_compile.go:274 msgid "Invalid build properties" msgstr "無效的建構屬性" @@ -2221,7 +2221,7 @@ msgstr "顯示 Arduino CLI 版本" msgid "Size (bytes):" msgstr "大小 (字元組) :" -#: commands/service_compile.go:276 +#: commands/service_compile.go:278 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2604,7 +2604,7 @@ msgstr "使用的平台" msgid "Used: %[1]s" msgstr "使用: %[1]s" -#: commands/service_compile.go:351 +#: commands/service_compile.go:353 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " @@ -2612,7 +2612,7 @@ msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " msgid "Using cached library dependencies for file: %[1]s" msgstr "檔案: %[1]s 使用快取程式庫相依" -#: commands/service_compile.go:352 +#: commands/service_compile.go:354 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " @@ -2703,7 +2703,7 @@ msgstr "警告: %[1]s 程式庫是 (%[2]s 架構),可能與選擇的開發板 msgid "Waiting for upload port..." msgstr "等待上傳連接埠..." -#: commands/service_compile.go:357 +#: commands/service_compile.go:359 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告: 開發板 %[1]s 並沒定義 %[2]s 喜好。自動設定成:%[3]s" @@ -3372,11 +3372,11 @@ msgstr "開啟存檔: %s" msgid "opening boards.txt" msgstr "開啟 boards.txt" -#: internal/arduino/security/signatures.go:81 +#: internal/arduino/security/signatures.go:82 msgid "opening signature file: %s" msgstr "開啟簽名檔: %s" -#: internal/arduino/security/signatures.go:76 +#: internal/arduino/security/signatures.go:78 msgid "opening target file: %s" msgstr "開啟目標檔: %s" @@ -3415,7 +3415,7 @@ msgstr "平台 %s 未安裝" msgid "platform is not available for your OS" msgstr "平台不支援使用中的作業系統" -#: commands/service_compile.go:126 +#: commands/service_compile.go:128 #: internal/arduino/cores/packagemanager/install_uninstall.go:179 #: internal/arduino/cores/packagemanager/install_uninstall.go:283 #: internal/arduino/cores/packagemanager/loader.go:420 @@ -3526,7 +3526,7 @@ msgstr "刪除平台檔: %s" msgid "required version %[1]s not found for platform %[2]s" msgstr "找不到平台 %[2]s 需要的版本 %[1]s" -#: internal/arduino/security/signatures.go:72 +#: internal/arduino/security/signatures.go:74 msgid "retrieving Arduino public keys: %s" msgstr "取得 Arduino 公鑰:%s" @@ -3539,6 +3539,10 @@ msgstr "掃描 sketch 範例" msgid "searching package root dir: %s" msgstr "尋找套件根目錄: %s" +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" msgstr "sketch 名字不能空白" From 6f34a683fc7ace4313f8c7b87f93d8a60a11f9c5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 25 Nov 2024 14:34:01 +0100 Subject: [PATCH 281/361] [skip changelog] Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#2764) Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0. - [Release notes](https://github.com/stretchr/testify/releases) - [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0) --- updated-dependencies: - dependency-name: github.com/stretchr/testify dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index c036e3d305d..d53bf68c16c 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.1 github.com/spf13/viper v1.19.0 - github.com/stretchr/testify v1.9.0 + github.com/stretchr/testify v1.10.0 github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.2.0 diff --git a/go.sum b/go.sum index c490d539aa4..4dc7fca45f4 100644 --- a/go.sum +++ b/go.sum @@ -198,8 +198,9 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= From a9597d61ffab8bdd457d80dd725e6d83a19ed711 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 27 Nov 2024 10:01:02 +0100 Subject: [PATCH 282/361] Updated and refined documentation (#2760) * Cleared usage of identification properties * Expanded docs on default directories configuration * Refined platform specification on installation folder for platforms * Apply suggestions from code review Co-authored-by: Alessio Perugini <alessio@perugini.xyz> * Use real platforms in example * Apply code review suggestions * Fixed doc formatting, after upgrade of 'prettier' --------- Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- docs/CONTRIBUTING.md | 4 +- docs/configuration.md | 22 +++++++- docs/integration-options.md | 22 ++++---- docs/platform-specification.md | 64 +++++++++++++++++------ docs/pluggable-discovery-specification.md | 10 +++- 5 files changed, 92 insertions(+), 30 deletions(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index bb7a0832ea4..3d801613a01 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -321,8 +321,8 @@ changes in the generated code. ### Additional settings If you need to push a commit that's only shipping documentation changes or example files, thus a complete no-op for the -test suite, please start the commit message with the string **[skip ci]** to skip the build and give that slot to someone -else who does need it. +test suite, please start the commit message with the string **[skip ci]** to skip the build and give that slot to +someone else who does need it. If your PR doesn't need to be included in the changelog, please start the commit message and PR title with the string **[skip changelog]** diff --git a/docs/configuration.md b/docs/configuration.md index ecbc25d65a5..921554d4ceb 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -8,7 +8,8 @@ - `data` - directory used to store Boards/Library Manager index files and Boards Manager platform installations. - `downloads` - directory used to stage downloaded archives during Boards/Library Manager installations. - `user` - the equivalent of the Arduino IDE's ["sketchbook" directory][sketchbook directory]. Library Manager - installations are made to the `libraries` subdirectory of the user directory. + installations are made to the `libraries` subdirectory of the user directory. Users can manually install 3rd party + platforms in the `hardware` subdirectory of the user directory. - `builtin.libraries` - the libraries in this directory will be available to all platforms without the need for the user to install them, but with the lowest priority over other installed libraries with the same name, it's the equivalent of the Arduino IDE's bundled libraries directory. @@ -45,6 +46,25 @@ - `network` - configuration options related to the network connection. - `proxy` - URL of the proxy server. +### Default directories + +The following are the default directories selected by the Arduino CLI if alternatives are not specified in the +configuration file. + +- The `directories.data` default is OS-dependent: + + - on Linux (and other Unix-based OS) is: `{HOME}/.arduino15` + - on Windows is: `{HOME}/AppData/Local/Arduino15` + - on MacOS is: `{HOME}/Library/Arduino15` + +- The `directories.download` default is `{directories.data}/staging`. If the value of `{directories.data}` is changed in + the configuration the user-specified value will be used. + +- The `directories.user` default is OS-dependent: + - on Linux (and other Unix-based OS) is: `{HOME}/Arduino` + - on Windows is: `{DOCUMENTS}/Arduino` + - on MacOS is: `{HOME}/Documents/Arduino` + ## Configuration methods Arduino CLI may be configured in three ways: diff --git a/docs/integration-options.md b/docs/integration-options.md index 01f32893759..fe476365407 100644 --- a/docs/integration-options.md +++ b/docs/integration-options.md @@ -4,8 +4,8 @@ The Arduino CLI is an open source Command Line Application written in [Golang] t compile, verify and upload sketches to Arduino boards and that’s capable of managing all the software and tools needed in the process. But don’t get fooled by its name: Arduino CLI can do much more than the average console application, as shown by [Arduino IDE 2.x][arduino ide 2.x] and [Arduino Cloud], which rely on it for similar purposes but each one in a -completely different way from the other. In this article we introduce the three pillars of the Arduino CLI, explaining how -we designed the software so that it can be effectively leveraged under different scenarios. +completely different way from the other. In this article we introduce the three pillars of the Arduino CLI, explaining +how we designed the software so that it can be effectively leveraged under different scenarios. ## The first pillar: command line interface @@ -132,17 +132,18 @@ $ arduino-cli lib search FlashStorage --format json | jq .libraries[0].latest ``` Even if not related to software design, one last feature that’s worth mentioning is the availability of a one-line -[installation script] that can be used to make the latest version of the Arduino CLI available on most systems with an HTTP -client like curl or wget and a shell like bash. +[installation script] that can be used to make the latest version of the Arduino CLI available on most systems with an +HTTP client like curl or wget and a shell like bash. For more information on Arduino CLI's command line interface, see the [command reference]. ## The second pillar: gRPC interface [gRPC] is a high performance [RPC] framework that can efficiently connect client and server applications. The Arduino -CLI can act as a gRPC server (we call it [daemon mode]), exposing a set of procedures that implement the very same set of -features of the command line interface and waiting for clients to connect and use them. To give an idea, the following is -some [Golang] code capable of retrieving the version number of a remote running Arduino CLI server instance: +CLI can act as a gRPC server (we call it [daemon mode]), exposing a set of procedures that implement the very same set +of features of the command line interface and waiting for clients to connect and use them. To give an idea, the +following is some [Golang] code capable of retrieving the version number of a remote running Arduino CLI server +instance: ```go // This file is part of arduino-cli. @@ -210,8 +211,8 @@ a common Golang API, based on the gRPC protobuf definitions: a set of functions offered by the Arduino CLI, so that when we provide a fix or a new feature, they are automatically available to both the command line and gRPC interfaces. The source modules implementing this API are implemented through the `commands` package, and it can be imported in other Golang programs to embed a full-fledged Arduino CLI. For example, this is how -some backend services powering [Arduino Cloud] can compile sketches and manage libraries. Just to give you a taste of what -it means to embed the Arduino CLI, here is how to search for a core using the API: +some backend services powering [Arduino Cloud] can compile sketches and manage libraries. Just to give you a taste of +what it means to embed the Arduino CLI, here is how to search for a core using the API: ```go // This file is part of arduino-cli. @@ -296,8 +297,7 @@ use and provide support for. You can start playing with the Arduino CLI right away. The code is open source and [the repo][arduino cli repository] contains [example code showing how to implement a gRPC client][grpc client example]. If you’re curious about how we designed the low level API, have a look at the [commands package] and don’t hesitate to leave feedback on the [issue -tracker] -if you’ve got a use case that doesn’t fit one of the three pillars. +tracker] if you’ve got a use case that doesn’t fit one of the three pillars. [golang]: https://go.dev/ [arduino ide 2.x]: https://github.com/arduino/arduino-ide diff --git a/docs/platform-specification.md b/docs/platform-specification.md index 8d01bb098dd..47fbc2a62bc 100644 --- a/docs/platform-specification.md +++ b/docs/platform-specification.md @@ -5,31 +5,65 @@ Platforms add support for new boards to the Arduino development software. They a [Boards Manager](package_index_json-specification.md) or manual installation to the _hardware_ folder of Arduino's sketchbook folder (AKA "user directory").<br> A platform may consist of as little as a single configuration file. -## Hardware Folders structure +## Platform installation directories -The new hardware folders have a hierarchical structure organized in two levels: +If the platforms are installed using the Board Manager the installation directory location will be as follow: -- the first level is the vendor/maintainer -- the second level is the supported architecture +`{directories.data}/packages/{VENDOR_NAME}/hardware/{ARCHITECTURE}/{VERSION}/...` -A vendor/maintainer can have multiple supported architectures. For example, below we have three hardware vendors called -"arduino", "yyyyy" and "xxxxx": +- `{directories.data}` is the data directory as specified in the + [configuration file](configuration.md#default-directories). +- `{VENDOR_NAME}` is the identifier of the vendor/maintainer of the platform. +- `{ARCHITECTURE}` is the architecture of the CPU used in the platform. +- `{VERSION}` is the platform version. +Alternatively, a platform may be manually installed by the user inside the Sketchbook/user directory as follows: + +`{directories.user}/hardware/{VENDOR_NAME}/{ARCHITECTURE}/...` + +- `{directories.user}` is the user directory as specified in the + [configuration file](configuration.md#default-directories). +- `{VENDOR_NAME}` is the identifier of the vendor/maintainer of the platform. +- `{ARCHITECTURE}` is the architecture of the CPU used in the platform. + +A vendor/maintainer may have multiple supported architectures. + +Let's see an example, below we have a bunch of platforms downloaded from three hardware vendors `arduino`, `adafruit` +and `esp32`, and installed using the Board Manager: + +``` +{directories.data}/packages/arduino/hardware/avr/1.8.6/... +{directories.data}/packages/arduino/hardware/esp32/2.0.18-arduino.5/... +{directories.data}/packages/arduino/hardware/nrf52/1.4.5/... +{directories.data}/packages/adafruit/hardware/nrf52/1.6.1/... +{directories.data}/packages/esp32/hardware/esp32/3.0.7/... ``` -hardware/arduino/avr/... - Arduino - AVR Boards -hardware/arduino/sam/... - Arduino - SAM (32bit ARM) Boards -hardware/yyyyy/avr/... - Yyy - AVR -hardware/xxxxx/avr/... - Xxx - AVR + +In this example three architectures have been installed from the vendor `arduino` (`avr`, `esp32` and `nrf52`), and one +from `adafruit` and `esp32` (`nrf52` and `esp32` respectively). Note that the vendor `esp32` has the same name as the +architecture `esp32`. + +If the user manually installed the same platforms, they should have unpacked them in the following directories: + ``` +{directories.user}/hardware/arduino/avr/... +{directories.user}/hardware/arduino/esp32/... +{directories.user}/hardware/arduino/nrf52/... +{directories.user}/hardware/adafruit/nrf52/... +{directories.user}/hardware/esp32/esp32/... +``` + +In this latter case the version must be omitted. -The vendor "arduino" has two supported architectures (AVR and SAM), while "xxxxx" and "yyyyy" have only AVR. +### Notes about choosing the architecture name Architecture values are case sensitive (e.g. `AVR` != `avr`). -If possible, follow existing architecture name conventions when creating hardware packages. Use the vendor folder name -to differentiate your package. The architecture folder name is used to determine library compatibility and to permit -referencing resources from another core of the same architecture, so use of a non-standard architecture name can have a -harmful effect. +Platform developers should follow the existing architecture name conventions when creating hardware packages, if you +need to differentiate your package use the vendor/maintainer folder name to do so. + +The architecture name is used to determine the libraries compatibility and to permit referencing resources from another +platform of the same architecture. Use of a non-standard architecture name can have a harmful effect. ## Architecture configurations diff --git a/docs/pluggable-discovery-specification.md b/docs/pluggable-discovery-specification.md index 4854fa1968e..759dd86eea1 100644 --- a/docs/pluggable-discovery-specification.md +++ b/docs/pluggable-discovery-specification.md @@ -312,7 +312,8 @@ The `properties` associated to a port can be used to identify the board attached "candidate" board attached to that port. Some port `properties` may not be precise enough to uniquely identify a board, in that case more boards may match the -same set of `properties`, that's why we called it "candidate". +same set of `properties`, that's why we called it "candidate". The board identification properties should be used only +if they allows to match the board model beyond any doubt. Let's see an example to clarify things a bit, let's suppose that we have the following `properties` coming from the serial discovery: @@ -392,6 +393,13 @@ myboard.upload_port.1.apples=40 will match on both `pears=20, apples=30` and `pears=30, apples=40` but not `pears=20, apples=40`, in that sense each "set" of identification properties is independent from each other and cannot be mixed for port matching. +#### An important note about `vid` and `pid` + +The board identification properties should be used only if they allows to match the board model beyond any doubt. +Sometimes a board do not expose a unique vid/pid combination, this is the case for example if a USB-2-serial converter +chip is used (like the omnipresent FT232 or CH340): those chips exposes their specific vid/pid that will be the same for +all the other boards using the same chip. In such cases the board identification properties should NOT be used. + #### Identification of board options [Custom board options](platform-specification.md#custom-board-options) can also be identified. From 6cd084bfa9846e81ffa20d0aad586aaaa5a71ab7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Nov 2024 18:52:40 +0100 Subject: [PATCH 283/361] [skip changelog] Bump github.com/ProtonMail/go-crypto from 1.1.2 to 1.1.3 (#2765) * [skip changelog] Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 1.1.2 to 1.1.3. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/compare/v1.1.2...v1.1.3) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/brainpool.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml | 6 +++--- .../ProtonMail/go-crypto/internal/byteutil.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 24 files changed, 69 insertions(+), 69 deletions(-) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index f0c39ac524d..c32f3f6ca50 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.2 +version: v1.1.3 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index 41ccab8bc30..ece0a236a51 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.2 +version: v1.1.3 type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index fd6183f4b7c..ebbd1794c88 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.2 +version: v1.1.3 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 8fa6b381946..ed7505c35c0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.2 +version: v1.1.3 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index d1676970a15..4527d6c1be7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.2 +version: v1.1.3 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index 90aea633fa6..d5fcf20bdd9 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.2 +version: v1.1.3 type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index 1ccc3b31587..ab81777fe44 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.2 +version: v1.1.3 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index 754cb6a6238..9cd23dbb91c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.2 +version: v1.1.3 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index cc50f2ef558..8498e668cb0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.2 +version: v1.1.3 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index 740a04a546f..d61879a98bf 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.2 +version: v1.1.3 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index 7d4467a715f..753270a7c56 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.2 +version: v1.1.3 type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index c35a9735e45..a87223c33c7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.2 +version: v1.1.3 type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index 3a0393d07a7..09dc6e7c598 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.2 +version: v1.1.3 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index e79364484bb..3375a9b6a48 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.2 +version: v1.1.3 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index 4f2635fed9d..e2b7ce0b203 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.2 +version: v1.1.3 type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index 86ea4709e90..cfc20fc811a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.2 +version: v1.1.3 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index 63d4f95ae0e..bfe95bfe1c7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.2 +version: v1.1.3 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 6012bcce055..8dddaabb28a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.2 +version: v1.1.3 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index a9abfb6fd89..a0bc2a39669 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.2 +version: v1.1.3 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index 281d680a6b1..a422301be51 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.2 +version: v1.1.3 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index abd30fe2296..a91b50578a8 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.2 +version: v1.1.3 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index 60f7b6711e7..5e33469374e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.2 +version: v1.1.3 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.2/LICENSE +- sources: go-crypto@v1.1.3/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.2/PATENTS +- sources: go-crypto@v1.1.3/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index d53bf68c16c..90cf3d0b94e 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ go 1.22.9 replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( - github.com/ProtonMail/go-crypto v1.1.2 + github.com/ProtonMail/go-crypto v1.1.3 github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 diff --git a/go.sum b/go.sum index 4dc7fca45f4..844de8ad24d 100644 --- a/go.sum +++ b/go.sum @@ -4,8 +4,8 @@ github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= -github.com/ProtonMail/go-crypto v1.1.2 h1:A7JbD57ThNqh7XjmHE+PXpQ3Dqt3BrSAC0AL0Go3KS0= -github.com/ProtonMail/go-crypto v1.1.2/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.3 h1:nRBOetoydLeUb4nHajyO2bKqMLfWQ/ZPwkXqXxPxCFk= +github.com/ProtonMail/go-crypto v1.1.3/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= From 6dbff9f7ba01aca459db2f46dee8816657f589a7 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 28 Nov 2024 11:12:32 +0100 Subject: [PATCH 284/361] Made 'version' package internal (#2767) --- Taskfile.yml | 2 +- commands/internal/instances/instances.go | 2 +- commands/service.go | 2 +- commands/service_check_for_updates.go | 2 +- internal/arduino/monitor/monitor.go | 2 +- internal/cli/cli.go | 2 +- internal/cli/compile/compile.go | 2 +- internal/cli/configuration/network.go | 2 +- internal/cli/lib/install.go | 2 +- internal/cli/updater/updater.go | 2 +- internal/cli/upload/upload.go | 2 +- internal/cli/version/version.go | 2 +- {version => internal/version}/version.go | 0 {version => internal/version}/version_test.go | 0 14 files changed, 12 insertions(+), 12 deletions(-) rename {version => internal/version}/version.go (100%) rename {version => internal/version}/version_test.go (100%) diff --git a/Taskfile.yml b/Taskfile.yml index 095cae2dd87..93a1304ce37 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -371,7 +371,7 @@ vars: TAG: sh: echo "$(git tag --points-at=HEAD 2> /dev/null | head -n1 | sed 's/^v//')" VERSION: "{{if .NIGHTLY}}nightly-{{.TIMESTAMP_SHORT}}{{else if .TAG}}{{.TAG}}{{else}}{{.PACKAGE_NAME_PREFIX}}git-snapshot{{end}}" - CONFIGURATION_PACKAGE: "github.com/arduino/arduino-cli/version" + CONFIGURATION_PACKAGE: "github.com/arduino/arduino-cli/internal/version" LDFLAGS: >- -ldflags ' diff --git a/commands/internal/instances/instances.go b/commands/internal/instances/instances.go index 272eaaaafdb..b327bbc1d88 100644 --- a/commands/internal/instances/instances.go +++ b/commands/internal/instances/instances.go @@ -22,8 +22,8 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" "go.bug.st/downloader/v2" ) diff --git a/commands/service.go b/commands/service.go index 20ffda4de2a..fb226be6035 100644 --- a/commands/service.go +++ b/commands/service.go @@ -19,8 +19,8 @@ import ( "context" "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" ) // NewArduinoCoreServer returns an implementation of the ArduinoCoreService gRPC service diff --git a/commands/service_check_for_updates.go b/commands/service_check_for_updates.go index 15221905d56..2b5c7a51b4e 100644 --- a/commands/service_check_for_updates.go +++ b/commands/service_check_for_updates.go @@ -22,8 +22,8 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/inventory" + "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" semver "go.bug.st/relaxed-semver" ) diff --git a/internal/arduino/monitor/monitor.go b/internal/arduino/monitor/monitor.go index b4603f0b6c2..1e820ef5d81 100644 --- a/internal/arduino/monitor/monitor.go +++ b/internal/arduino/monitor/monitor.go @@ -28,7 +28,7 @@ import ( "time" "github.com/arduino/arduino-cli/internal/i18n" - "github.com/arduino/arduino-cli/version" + "github.com/arduino/arduino-cli/internal/version" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" ) diff --git a/internal/cli/cli.go b/internal/cli/cli.go index 0bc445b3632..eb5c381abf5 100644 --- a/internal/cli/cli.go +++ b/internal/cli/cli.go @@ -44,8 +44,8 @@ import ( "github.com/arduino/arduino-cli/internal/cli/version" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" + versioninfo "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - versioninfo "github.com/arduino/arduino-cli/version" "github.com/fatih/color" "github.com/mattn/go-colorable" "github.com/rifflock/lfshook" diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 0fda0ec3dc6..5cccf62ad46 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -31,8 +31,8 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" "github.com/fatih/color" "github.com/sirupsen/logrus" diff --git a/internal/cli/configuration/network.go b/internal/cli/configuration/network.go index 9ffcdf8bd25..2c8a8047ce5 100644 --- a/internal/cli/configuration/network.go +++ b/internal/cli/configuration/network.go @@ -25,7 +25,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/i18n" - "github.com/arduino/arduino-cli/version" + "github.com/arduino/arduino-cli/internal/version" "go.bug.st/downloader/v2" ) diff --git a/internal/cli/lib/install.go b/internal/cli/lib/install.go index 29ae88ccdcd..9440a7bdf1e 100644 --- a/internal/cli/lib/install.go +++ b/internal/cli/lib/install.go @@ -26,8 +26,8 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" "github.com/spf13/cobra" diff --git a/internal/cli/updater/updater.go b/internal/cli/updater/updater.go index 0ba9498ab11..aed7c969c4e 100644 --- a/internal/cli/updater/updater.go +++ b/internal/cli/updater/updater.go @@ -20,7 +20,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" - "github.com/arduino/arduino-cli/version" + "github.com/arduino/arduino-cli/internal/version" "github.com/fatih/color" ) diff --git a/internal/cli/upload/upload.go b/internal/cli/upload/upload.go index 61994d61826..951db75f84a 100644 --- a/internal/cli/upload/upload.go +++ b/internal/cli/upload/upload.go @@ -29,8 +29,8 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/internal/cli/version/version.go b/internal/cli/version/version.go index 5748ded3a64..78ed2dbcffe 100644 --- a/internal/cli/version/version.go +++ b/internal/cli/version/version.go @@ -23,8 +23,8 @@ import ( "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/updater" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/internal/version" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/arduino-cli/version" "github.com/sirupsen/logrus" "github.com/spf13/cobra" ) diff --git a/version/version.go b/internal/version/version.go similarity index 100% rename from version/version.go rename to internal/version/version.go diff --git a/version/version_test.go b/internal/version/version_test.go similarity index 100% rename from version/version_test.go rename to internal/version/version_test.go From 6630f40d2c741316b857f161b3748305c222dfd8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Dec 2024 17:57:17 +0100 Subject: [PATCH 285/361] [skip changelog] Bump golang.org/x/text from 0.20.0 to 0.21.0 (#2774) * [skip changelog] Bump golang.org/x/text from 0.20.0 to 0.21.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.20.0 to 0.21.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.20.0...v0.21.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 4 ++-- go.sum | 8 ++++---- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index 07a74396c20..c356b63eaf8 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.20.0 +version: v0.21.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.20.0/LICENSE +- sources: text@v0.21.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.20.0/PATENTS +- sources: text@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 75234efc4ea..f6c97aadf6a 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.20.0 +version: v0.21.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.20.0/LICENSE +- sources: text@v0.21.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.20.0/PATENTS +- sources: text@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index a9adc7e5893..ed8aae5bbd9 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.20.0 +version: v0.21.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.20.0/LICENSE +- sources: text@v0.21.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.20.0/PATENTS +- sources: text@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index 015398266e2..b2f4c7cfe22 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.20.0 +version: v0.21.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.20.0/LICENSE +- sources: text@v0.21.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.20.0/PATENTS +- sources: text@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index bad6e0e9fe1..296313bf844 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.20.0 +version: v0.21.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.20.0/LICENSE +- sources: text@v0.21.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.20.0/PATENTS +- sources: text@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 56394266e0c..5f94dd43e9f 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.20.0 +version: v0.21.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.20.0/LICENSE +- sources: text@v0.21.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.20.0/PATENTS +- sources: text@v0.21.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 90cf3d0b94e..85d2dc95944 100644 --- a/go.mod +++ b/go.mod @@ -41,7 +41,7 @@ require ( go.bug.st/testifyjson v1.2.0 golang.org/x/sys v0.27.0 golang.org/x/term v0.26.0 - golang.org/x/text v0.20.0 + golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 google.golang.org/grpc v1.68.0 google.golang.org/protobuf v1.35.2 @@ -100,7 +100,7 @@ require ( golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.29.0 // indirect - golang.org/x/sync v0.9.0 // indirect + golang.org/x/sync v0.10.0 // indirect golang.org/x/tools v0.22.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 844de8ad24d..f90f3e6b5f8 100644 --- a/go.sum +++ b/go.sum @@ -253,8 +253,8 @@ golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -284,8 +284,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= From bb3181c2c236d26053eab33e911b48622ad6e3bb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 12:13:58 +0100 Subject: [PATCH 286/361] [skip changelog] Bump golang.org/x/term from 0.26.0 to 0.27.0 (#2775) * [skip changelog] Bump golang.org/x/term from 0.26.0 to 0.27.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.26.0 to 0.27.0. - [Commits](https://github.com/golang/term/compare/v0.26.0...v0.27.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index c7696294675..88429210183 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.27.0 +version: v0.28.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.27.0/LICENSE +- sources: sys@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.27.0/PATENTS +- sources: sys@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 17c3a3cebef..87678a3b220 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.27.0 +version: v0.28.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.27.0/LICENSE +- sources: sys@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.27.0/PATENTS +- sources: sys@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 0e41fd94967..b014506db96 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.26.0 +version: v0.27.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 85d2dc95944..039663d512e 100644 --- a/go.mod +++ b/go.mod @@ -39,8 +39,8 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 - golang.org/x/sys v0.27.0 - golang.org/x/term v0.26.0 + golang.org/x/sys v0.28.0 + golang.org/x/term v0.27.0 golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 google.golang.org/grpc v1.68.0 diff --git a/go.sum b/go.sum index f90f3e6b5f8..f9101d95059 100644 --- a/go.sum +++ b/go.sum @@ -274,12 +274,12 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= From ca446af86143db63ac7d4494a0de8283131a6bb4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Dec 2024 12:36:10 +0100 Subject: [PATCH 287/361] [skip changelog] Bump google.golang.org/grpc from 1.68.0 to 1.68.1 (#2776) * [skip changelog] Bump google.golang.org/grpc from 1.68.0 to 1.68.1 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.68.0 to 1.68.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.68.0...v1.68.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/pickfirst.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/internal.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/pickfirstleaf.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .../go/google.golang.org/grpc/experimental/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/mem.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 59 files changed, 116 insertions(+), 116 deletions(-) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index e08b90037e3..516363a3924 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.68.0 +version: v1.68.1 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 87a594444fd..68a04eb6788 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.68.0 +version: v1.68.1 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index ad86a031c20..4c1c1326ed1 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.68.0 +version: v1.68.1 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index e9e3ac09c2b..84f25fb39d7 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.68.0 +version: v1.68.1 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 8e4612b7ab0..d656494818f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.68.0 +version: v1.68.1 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 81cdf8cc4a4..a560c405172 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.68.0 +version: v1.68.1 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 6574c5ad70f..3512ab80053 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.68.0 +version: v1.68.1 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 9acc82680a7..3f661de4a9f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.68.0 +version: v1.68.1 type: go summary: Package internal contains code internal to the pickfirst package. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index 6586b6e3153..78da4f9940d 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.68.0 +version: v1.68.1 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 03307807356..94c2404891f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.68.0 +version: v1.68.1 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index eaad6c77c69..8bb22dda1ff 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.68.0 +version: v1.68.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 90a825eef59..e584866d1a2 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.68.0 +version: v1.68.1 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 51de87fea21..d21fa5d06b5 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.68.0 +version: v1.68.1 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index ce0c2077f53..fe44be85335 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.68.0 +version: v1.68.1 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index c6af72786a1..b3bf16cdd60 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.68.0 +version: v1.68.1 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index fcb46a9bf93..8524f8ae773 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.68.0 +version: v1.68.1 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 5b0a173f189..cd7a809f2a2 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.68.0 +version: v1.68.1 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index fba9f3e4612..fd76b9a0b48 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.68.0 +version: v1.68.1 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index 1a144c27529..bffe7eb202b 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.68.0 +version: v1.68.1 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 2596659f132..2b15fa123bc 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.68.0 +version: v1.68.1 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index 6481589f3ff..b338961a381 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.68.0 +version: v1.68.1 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index ec21233ceb0..c6c850158ff 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.68.0 +version: v1.68.1 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index e354229ad41..b60d45d07e8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.68.0 +version: v1.68.1 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 7b8f9b262f0..a3e0ab5f79e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.68.0 +version: v1.68.1 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 7eda80a0566..f4dbd09f09c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.68.0 +version: v1.68.1 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 0d81c187513..635932d56b4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.68.0 +version: v1.68.1 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 4cd25d47812..5023c82ead3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.68.0 +version: v1.68.1 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index 2c975ea012f..f95d47252c9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.68.0 +version: v1.68.1 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index aa124f3ce28..f85e797fba8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.68.0 +version: v1.68.1 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 7b189d4a784..b7a99d84db1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.68.0 +version: v1.68.1 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 073be235ec4..3242c2f5022 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.68.0 +version: v1.68.1 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index dccffb4e5c8..a7d94d5c921 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.68.0 +version: v1.68.1 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 8a39c0e3b6e..d25dffa67cf 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.68.0 +version: v1.68.1 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 83f5b65d824..492b4b58897 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.68.0 +version: v1.68.1 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 1ccfe99dbce..852828d8546 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.68.0 +version: v1.68.1 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 0e90921842c..d7acd10fe4a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.68.0 +version: v1.68.1 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index b59fc10a128..f443fa0d0b4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.68.0 +version: v1.68.1 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 5b8da027d3b..5c04d84136b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.68.0 +version: v1.68.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index eeb863823cd..674eb88c5ad 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.68.0 +version: v1.68.1 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index e7978dde60a..00a395cd3f7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.68.0 +version: v1.68.1 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 3658b7e434c..4979218b2ad 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.68.0 +version: v1.68.1 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index ff0d2946eed..3a4ae7f194b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.68.0 +version: v1.68.1 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index de5a981d256..700e7bf3978 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.68.0 +version: v1.68.1 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 1df9c6825b8..964cab18a33 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.68.0 +version: v1.68.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index af1f7e82496..0ea48d98a61 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.68.0 +version: v1.68.1 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 1de20bb135e..d70d9218592 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.68.0 +version: v1.68.1 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 04fefeada75..2fb39eb452b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.68.0 +version: v1.68.1 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 02f70728431..72a5ef61443 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.68.0 +version: v1.68.1 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index 73bb3f79aad..f6986213b70 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.68.0 +version: v1.68.1 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index c6850e6d463..80aa98281c7 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.68.0 +version: v1.68.1 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 7af5f7e19a0..0bd3c0b7176 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.68.0 +version: v1.68.1 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 68e07f4e8b9..4797c540481 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.68.0 +version: v1.68.1 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 289e6fba40a..7e58f1bde0c 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.68.0 +version: v1.68.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 82b69432408..d61f367d070 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.68.0 +version: v1.68.1 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index e3c8313c70e..569b7626367 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.68.0 +version: v1.68.1 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index ae960754445..291924a77eb 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.68.0 +version: v1.68.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 3d9a2686922..4789fde1d80 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.68.0 +version: v1.68.1 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.68.0/LICENSE +- sources: grpc@v1.68.1/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 039663d512e..3008bc902b2 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( golang.org/x/term v0.27.0 golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 - google.golang.org/grpc v1.68.0 + google.golang.org/grpc v1.68.1 google.golang.org/protobuf v1.35.2 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index f9101d95059..ca03bebff78 100644 --- a/go.sum +++ b/go.sum @@ -295,8 +295,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= -google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0= -google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA= +google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= +google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 84fc413ad815397a5aa2bc2878f3d7ed523acf34 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 11 Dec 2024 17:06:13 +0100 Subject: [PATCH 288/361] Expose golang `fqbn` package for public use (#2768) * Made FQBN parsing package public Because it may turn out useful for other projects. * 100% test coverage * Precompile validation regexp * Remove logrus dependency from i18n * Isolate locale-handling functions from i18n interface This changes allows to make a clean i18n package (without dependency on a specific implementation of the translation package) that, in turn, allows to export packages that internally use i18n with the minimal dependency load. * updated doc --- Taskfile.yml | 10 +- commands/instances.go | 3 +- commands/service_board_details.go | 6 +- commands/service_board_list.go | 12 +- commands/service_compile.go | 6 +- commands/service_debug_config.go | 6 +- commands/service_library_list.go | 10 +- commands/service_monitor.go | 7 +- commands/service_upload.go | 9 +- commands/service_upload_list_programmers.go | 3 +- commands/service_upload_test.go | 5 +- docs/CONTRIBUTING.md | 2 +- .../arduino/builder/build_options_manager.go | 4 +- internal/arduino/builder/builder.go | 3 +- internal/arduino/cores/board.go | 5 +- .../cores/packagemanager/package_manager.go | 23 ++-- .../packagemanager/package_manager_test.go | 53 +++---- internal/cli/board/list.go | 10 +- internal/i18n/i18n.go | 41 +++--- internal/i18n/i18n_test.go | 7 +- internal/{i18n => locales}/README.md | 0 internal/{i18n => locales}/cmd/ast/parser.go | 2 +- .../cmd/commands/catalog/catalog.go | 0 .../cmd/commands/catalog/generate_catalog.go | 2 +- .../{i18n => locales}/cmd/commands/root.go | 4 +- .../cmd/commands/transifex/pull_transifex.go | 0 .../cmd/commands/transifex/push_transifex.go | 0 .../cmd/commands/transifex/transifex.go | 0 internal/{i18n => locales}/cmd/main.go | 2 +- internal/{i18n => locales}/cmd/po/catalog.go | 0 .../{i18n => locales}/cmd/po/catalog_test.go | 0 internal/{i18n => locales}/cmd/po/merge.go | 0 .../{i18n => locales}/cmd/po/merge_test.go | 0 internal/{i18n => locales}/cmd/po/parser.go | 0 .../{i18n => locales}/cmd/po/parser_test.go | 0 internal/{i18n => locales}/convert.go | 2 +- internal/{i18n => locales}/convert_test.go | 2 +- internal/{i18n => locales}/data/.gitkeep | 0 internal/{i18n => locales}/data/README.md | 0 internal/{i18n => locales}/data/ar.po | 0 internal/{i18n => locales}/data/be.po | 0 internal/{i18n => locales}/data/de.po | 0 internal/{i18n => locales}/data/en.po | 0 internal/{i18n => locales}/data/es.po | 0 internal/{i18n => locales}/data/fr.po | 0 internal/{i18n => locales}/data/he.po | 0 internal/{i18n => locales}/data/it_IT.po | 0 internal/{i18n => locales}/data/ja.po | 0 internal/{i18n => locales}/data/kk.po | 0 internal/{i18n => locales}/data/ko.po | 0 internal/{i18n => locales}/data/lb.po | 0 internal/{i18n => locales}/data/mn.po | 0 internal/{i18n => locales}/data/my_MM.po | 0 internal/{i18n => locales}/data/ne.po | 0 internal/{i18n => locales}/data/pl.po | 0 internal/{i18n => locales}/data/pt.po | 0 internal/{i18n => locales}/data/pt_BR.po | 0 internal/{i18n => locales}/data/ru.po | 0 internal/{i18n => locales}/data/zh.po | 0 internal/{i18n => locales}/data/zh_TW.po | 0 internal/{i18n => locales}/detect.go | 2 +- .../{i18n => locales}/detect_cgo_darwin.go | 2 +- internal/{i18n => locales}/detect_freebsd.go | 2 +- internal/{i18n => locales}/detect_linux.go | 2 +- .../{i18n => locales}/detect_nocgo_darwin.go | 2 +- internal/{i18n => locales}/detect_windows.go | 6 +- internal/locales/i18n.go | 39 ++++++ internal/{i18n => locales}/locale.go | 14 +- internal/{i18n => locales}/locale_test.go | 2 +- main.go | 3 +- {internal/arduino/cores => pkg/fqbn}/fqbn.go | 68 ++++----- .../arduino/cores => pkg/fqbn}/fqbn_test.go | 130 ++++++++++++------ 72 files changed, 296 insertions(+), 215 deletions(-) rename internal/{i18n => locales}/README.md (100%) rename internal/{i18n => locales}/cmd/ast/parser.go (97%) rename internal/{i18n => locales}/cmd/commands/catalog/catalog.go (100%) rename internal/{i18n => locales}/cmd/commands/catalog/generate_catalog.go (95%) rename internal/{i18n => locales}/cmd/commands/root.go (87%) rename internal/{i18n => locales}/cmd/commands/transifex/pull_transifex.go (100%) rename internal/{i18n => locales}/cmd/commands/transifex/push_transifex.go (100%) rename internal/{i18n => locales}/cmd/commands/transifex/transifex.go (100%) rename internal/{i18n => locales}/cmd/main.go (93%) rename internal/{i18n => locales}/cmd/po/catalog.go (100%) rename internal/{i18n => locales}/cmd/po/catalog_test.go (100%) rename internal/{i18n => locales}/cmd/po/merge.go (100%) rename internal/{i18n => locales}/cmd/po/merge_test.go (100%) rename internal/{i18n => locales}/cmd/po/parser.go (100%) rename internal/{i18n => locales}/cmd/po/parser_test.go (100%) rename internal/{i18n => locales}/convert.go (98%) rename internal/{i18n => locales}/convert_test.go (99%) rename internal/{i18n => locales}/data/.gitkeep (100%) rename internal/{i18n => locales}/data/README.md (100%) rename internal/{i18n => locales}/data/ar.po (100%) rename internal/{i18n => locales}/data/be.po (100%) rename internal/{i18n => locales}/data/de.po (100%) rename internal/{i18n => locales}/data/en.po (100%) rename internal/{i18n => locales}/data/es.po (100%) rename internal/{i18n => locales}/data/fr.po (100%) rename internal/{i18n => locales}/data/he.po (100%) rename internal/{i18n => locales}/data/it_IT.po (100%) rename internal/{i18n => locales}/data/ja.po (100%) rename internal/{i18n => locales}/data/kk.po (100%) rename internal/{i18n => locales}/data/ko.po (100%) rename internal/{i18n => locales}/data/lb.po (100%) rename internal/{i18n => locales}/data/mn.po (100%) rename internal/{i18n => locales}/data/my_MM.po (100%) rename internal/{i18n => locales}/data/ne.po (100%) rename internal/{i18n => locales}/data/pl.po (100%) rename internal/{i18n => locales}/data/pt.po (100%) rename internal/{i18n => locales}/data/pt_BR.po (100%) rename internal/{i18n => locales}/data/ru.po (100%) rename internal/{i18n => locales}/data/zh.po (100%) rename internal/{i18n => locales}/data/zh_TW.po (100%) rename internal/{i18n => locales}/detect.go (98%) rename internal/{i18n => locales}/detect_cgo_darwin.go (98%) rename internal/{i18n => locales}/detect_freebsd.go (98%) rename internal/{i18n => locales}/detect_linux.go (98%) rename internal/{i18n => locales}/detect_nocgo_darwin.go (98%) rename internal/{i18n => locales}/detect_windows.go (91%) create mode 100644 internal/locales/i18n.go rename internal/{i18n => locales}/locale.go (93%) rename internal/{i18n => locales}/locale_test.go (98%) rename {internal/arduino/cores => pkg/fqbn}/fqbn.go (77%) rename {internal/arduino/cores => pkg/fqbn}/fqbn_test.go (60%) diff --git a/Taskfile.yml b/Taskfile.yml index 93a1304ce37..82d7999da35 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -309,24 +309,24 @@ tasks: i18n:update: desc: Updates i18n files cmds: - - go run ./internal/i18n/cmd/main.go catalog generate . > ./internal/i18n/data/en.po + - go run ./internal/locales/cmd/main.go catalog generate . > ./internal/locales/data/en.po i18n:pull: desc: Pull i18n files from transifex cmds: - - go run ./internal/i18n/cmd/main.go transifex pull ./internal/i18n/data + - go run ./internal/locales/cmd/main.go transifex pull ./internal/locales/data i18n:push: desc: Push i18n files to transifex cmds: - - go run ./internal/i18n/cmd/main.go transifex push ./internal/i18n/data + - go run ./internal/locales/cmd/main.go transifex push ./internal/locales/data i18n:check: desc: Check if the i18n message catalog was updated cmds: - task: i18n:pull - - git add -N ./internal/i18n/data - - git diff --exit-code ./internal/i18n/data + - git add -N ./internal/locales/data + - git diff --exit-code ./internal/locales/data # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-mkdocs-task/Taskfile.yml website:check: diff --git a/commands/instances.go b/commands/instances.go index 23f42be9638..3c023301cd4 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -38,6 +38,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/internal/locales" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -420,7 +421,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // language of the CLI if the locale is different // after started. if locale, ok, _ := s.settings.GetStringOk("locale"); ok { - i18n.Init(locale) + locales.Init(locale) } return nil diff --git a/commands/service_board_details.go b/commands/service_board_details.go index 5f042452582..4104c9bc21b 100644 --- a/commands/service_board_details.go +++ b/commands/service_board_details.go @@ -20,8 +20,8 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/utils" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -34,7 +34,7 @@ func (s *arduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.Board } defer release() - fqbn, err := cores.ParseFQBN(req.GetFqbn()) + fqbn, err := fqbn.Parse(req.GetFqbn()) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } @@ -48,7 +48,7 @@ func (s *arduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.Board details.Name = board.Name() details.Fqbn = board.FQBN() details.PropertiesId = board.BoardID - details.Official = fqbn.Package == "arduino" + details.Official = fqbn.Packager == "arduino" details.Version = board.PlatformRelease.Version.String() details.IdentificationProperties = []*rpc.BoardIdentificationProperties{} for _, p := range board.GetIdentificationProperties() { diff --git a/commands/service_board_list.go b/commands/service_board_list.go index 2b124c29f37..9a84e3319f5 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -30,11 +30,11 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" f "github.com/arduino/arduino-cli/internal/algorithms" - "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" @@ -148,7 +148,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port, settings *conf // first query installed cores through the Package Manager logrus.Debug("Querying installed cores for board identification...") for _, board := range pme.IdentifyBoard(port.Properties) { - fqbn, err := cores.ParseFQBN(board.FQBN()) + fqbn, err := fqbn.Parse(board.FQBN()) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } @@ -210,10 +210,10 @@ func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis } defer release() - var fqbnFilter *cores.FQBN + var fqbnFilter *fqbn.FQBN if f := req.GetFqbn(); f != "" { var err error - fqbnFilter, err = cores.ParseFQBN(f) + fqbnFilter, err = fqbn.Parse(f) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } @@ -247,9 +247,9 @@ func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis }, nil } -func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *cores.FQBN) bool { +func hasMatchingBoard(b *rpc.DetectedPort, fqbnFilter *fqbn.FQBN) bool { for _, detectedBoard := range b.GetMatchingBoards() { - detectedFqbn, err := cores.ParseFQBN(detectedBoard.GetFqbn()) + detectedFqbn, err := fqbn.Parse(detectedBoard.GetFqbn()) if err != nil { continue } diff --git a/commands/service_compile.go b/commands/service_compile.go index a7ce1ea2bbf..61f8e1ef1d7 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -28,13 +28,13 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/builder" - "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/arduino/utils" "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/inventory" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -116,7 +116,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu return &cmderrors.MissingFQBNError{} } - fqbn, err := cores.ParseFQBN(fqbnIn) + fqbn, err := fqbn.Parse(fqbnIn) if err != nil { return &cmderrors.InvalidFQBNError{Cause: err} } @@ -124,7 +124,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu if err != nil { if targetPlatform == nil { return &cmderrors.PlatformNotFoundError{ - Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), + Platform: fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture), Cause: errors.New(i18n.Tr("platform not installed")), } } diff --git a/commands/service_debug_config.go b/commands/service_debug_config.go index c2cf04e5aa3..f755b68adb5 100644 --- a/commands/service_debug_config.go +++ b/commands/service_debug_config.go @@ -27,10 +27,10 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -76,7 +76,7 @@ func (s *arduinoCoreServerImpl) IsDebugSupported(ctx context.Context, req *rpc.I // Compute the minimum FQBN required to get the same debug configuration. // (i.e. the FQBN cleaned up of the options that do not affect the debugger configuration) - minimumFQBN := cores.MustParseFQBN(req.GetFqbn()) + minimumFQBN := fqbn.MustParse(req.GetFqbn()) for _, config := range minimumFQBN.Configs.Keys() { checkFQBN := minimumFQBN.Clone() checkFQBN.Configs.Remove(config) @@ -127,7 +127,7 @@ func (s *arduinoCoreServerImpl) getDebugProperties(req *rpc.GetDebugConfigReques if fqbnIn == "" { return nil, &cmderrors.MissingFQBNError{} } - fqbn, err := cores.ParseFQBN(fqbnIn) + fqbn, err := fqbn.Parse(fqbnIn) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } diff --git a/commands/service_library_list.go b/commands/service_library_list.go index 35104caf08b..2d30e11dbd3 100644 --- a/commands/service_library_list.go +++ b/commands/service_library_list.go @@ -21,12 +21,12 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesresolver" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -59,7 +59,7 @@ func (s *arduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.Librar var allLibs []*installedLib if fqbnString := req.GetFqbn(); fqbnString != "" { allLibs = listLibraries(lme, li, req.GetUpdatable(), true) - fqbn, err := cores.ParseFQBN(req.GetFqbn()) + fqbn, err := fqbn.Parse(req.GetFqbn()) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } @@ -77,8 +77,8 @@ func (s *arduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.Librar } } if latest, has := filteredRes[lib.Library.Name]; has { - latestPriority := librariesresolver.ComputePriority(latest.Library, "", fqbn.PlatformArch) - libPriority := librariesresolver.ComputePriority(lib.Library, "", fqbn.PlatformArch) + latestPriority := librariesresolver.ComputePriority(latest.Library, "", fqbn.Architecture) + libPriority := librariesresolver.ComputePriority(lib.Library, "", fqbn.Architecture) if latestPriority >= libPriority { // Pick library with the best priority continue @@ -87,7 +87,7 @@ func (s *arduinoCoreServerImpl) LibraryList(ctx context.Context, req *rpc.Librar // Check if library is compatible with board specified by FBQN lib.Library.CompatibleWith = map[string]bool{ - fqbnString: lib.Library.IsCompatibleWith(fqbn.PlatformArch), + fqbnString: lib.Library.IsCompatibleWith(fqbn.Architecture), } filteredRes[lib.Library.Name] = lib diff --git a/commands/service_monitor.go b/commands/service_monitor.go index 8c3402681b7..012d4ddf8bc 100644 --- a/commands/service_monitor.go +++ b/commands/service_monitor.go @@ -28,6 +28,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" pluggableMonitor "github.com/arduino/arduino-cli/internal/arduino/monitor" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" "github.com/djherbis/buffer" @@ -237,7 +238,7 @@ func (s *arduinoCoreServerImpl) Monitor(stream rpc.ArduinoCoreService_MonitorSer return nil } -func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, protocol, fqbn string) (*pluggableMonitor.PluggableMonitor, *properties.Map, error) { +func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, protocol, fqbnIn string) (*pluggableMonitor.PluggableMonitor, *properties.Map, error) { if protocol == "" { return nil, nil, &cmderrors.MissingPortProtocolError{} } @@ -246,8 +247,8 @@ func findMonitorAndSettingsForProtocolAndBoard(pme *packagemanager.Explorer, pro boardSettings := properties.NewMap() // If a board is specified search the monitor in the board package first - if fqbn != "" { - fqbn, err := cores.ParseFQBN(fqbn) + if fqbnIn != "" { + fqbn, err := fqbn.Parse(fqbnIn) if err != nil { return nil, nil, &cmderrors.InvalidFQBNError{Cause: err} } diff --git a/commands/service_upload.go b/commands/service_upload.go index 56d621813fe..2e5e9272d51 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -32,6 +32,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -53,7 +54,7 @@ func (s *arduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rp } defer release() - fqbn, err := cores.ParseFQBN(req.GetFqbn()) + fqbn, err := fqbn.Parse(req.GetFqbn()) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } @@ -61,7 +62,7 @@ func (s *arduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rp _, platformRelease, _, boardProperties, _, err := pme.ResolveFQBN(fqbn) if platformRelease == nil { return nil, &cmderrors.PlatformNotFoundError{ - Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), + Platform: fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture), Cause: err, } } else if err != nil { @@ -282,7 +283,7 @@ func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packa return nil, &cmderrors.MissingProgrammerError{} } - fqbn, err := cores.ParseFQBN(fqbnIn) + fqbn, err := fqbn.Parse(fqbnIn) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } @@ -292,7 +293,7 @@ func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packa _, boardPlatform, board, boardProperties, buildPlatform, err := pme.ResolveFQBN(fqbn) if boardPlatform == nil { return nil, &cmderrors.PlatformNotFoundError{ - Platform: fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch), + Platform: fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture), Cause: err, } } else if err != nil { diff --git a/commands/service_upload_list_programmers.go b/commands/service_upload_list_programmers.go index f05142cf147..761d9babf5c 100644 --- a/commands/service_upload_list_programmers.go +++ b/commands/service_upload_list_programmers.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -36,7 +37,7 @@ func (s *arduinoCoreServerImpl) ListProgrammersAvailableForUpload(ctx context.Co if fqbnIn == "" { return nil, &cmderrors.MissingFQBNError{} } - fqbn, err := cores.ParseFQBN(fqbnIn) + fqbn, err := fqbn.Parse(fqbnIn) if err != nil { return nil, &cmderrors.InvalidFQBNError{Cause: err} } diff --git a/commands/service_upload_test.go b/commands/service_upload_test.go index 737eec92e83..4a86a0f274b 100644 --- a/commands/service_upload_test.go +++ b/commands/service_upload_test.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" @@ -60,7 +61,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { importFile string importDir string sketch *sketch.Sketch - fqbn *cores.FQBN + fqbn *fqbn.FQBN resBuildPath string resSketchName string } @@ -68,7 +69,7 @@ func TestDetermineBuildPathAndSketchName(t *testing.T) { blonk, err := sketch.New(paths.New("testdata/upload/Blonk")) require.NoError(t, err) - fqbn, err := cores.ParseFQBN("arduino:samd:mkr1000") + fqbn, err := fqbn.Parse("arduino:samd:mkr1000") require.NoError(t, err) srv := NewArduinoCoreServer().(*arduinoCoreServerImpl) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 3d801613a01..7f615230da6 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -303,7 +303,7 @@ package main import ( "fmt" - "github.com/arduino/arduino-cli/i18n" + "github.com/arduino/arduino-cli/internal/i18n" ) func main() { diff --git a/internal/arduino/builder/build_options_manager.go b/internal/arduino/builder/build_options_manager.go index 09f0afad815..ebaf97bda28 100644 --- a/internal/arduino/builder/build_options_manager.go +++ b/internal/arduino/builder/build_options_manager.go @@ -22,9 +22,9 @@ import ( "strings" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" - "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" ) @@ -51,7 +51,7 @@ func newBuildOptions( builtInLibrariesDirs, buildPath *paths.Path, sketch *sketch.Sketch, customBuildProperties []string, - fqbn *cores.FQBN, + fqbn *fqbn.FQBN, clean bool, compilerOptimizationFlags string, runtimePlatformPath, buildCorePath *paths.Path, diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 91c74965782..58d607c827a 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -35,6 +35,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" @@ -127,7 +128,7 @@ func NewBuilder( requestBuildProperties []string, hardwareDirs, otherLibrariesDirs paths.PathList, builtInLibrariesDirs *paths.Path, - fqbn *cores.FQBN, + fqbn *fqbn.FQBN, clean bool, sourceOverrides map[string]string, onlyUpdateCompilationDatabase bool, diff --git a/internal/arduino/cores/board.go b/internal/arduino/cores/board.go index ed1aa9c68b5..6e966a68aee 100644 --- a/internal/arduino/cores/board.go +++ b/internal/arduino/cores/board.go @@ -21,6 +21,7 @@ import ( "sync" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" "github.com/arduino/go-properties-orderedmap" ) @@ -124,7 +125,7 @@ func (b *Board) GetConfigOptionValues(option string) *properties.Map { // GetBuildProperties returns the build properties and the build // platform for the Board with the configuration passed as parameter. -func (b *Board) GetBuildProperties(fqbn *FQBN) (*properties.Map, error) { +func (b *Board) GetBuildProperties(fqbn *fqbn.FQBN) (*properties.Map, error) { b.buildConfigOptionsStructures() // Override default configs with user configs @@ -161,7 +162,7 @@ func (b *Board) GetBuildProperties(fqbn *FQBN) (*properties.Map, error) { // "cpu=atmega2560". // FIXME: deprecated, use GetBuildProperties instead func (b *Board) GeneratePropertiesForConfiguration(config string) (*properties.Map, error) { - fqbn, err := ParseFQBN(b.String() + ":" + config) + fqbn, err := fqbn.Parse(b.String() + ":" + config) if err != nil { return nil, errors.New(i18n.Tr("parsing fqbn: %s", err)) } diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index aaaf675a410..4c22c19c6e4 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -33,6 +33,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" paths "github.com/arduino/go-paths-helper" properties "github.com/arduino/go-properties-orderedmap" "github.com/arduino/go-timeutils" @@ -290,7 +291,7 @@ func (pme *Explorer) FindBoardsWithID(id string) []*cores.Board { // FindBoardWithFQBN returns the board identified by the fqbn, or an error func (pme *Explorer) FindBoardWithFQBN(fqbnIn string) (*cores.Board, error) { - fqbn, err := cores.ParseFQBN(fqbnIn) + fqbn, err := fqbn.Parse(fqbnIn) if err != nil { return nil, errors.New(i18n.Tr("parsing fqbn: %s", err)) } @@ -318,22 +319,22 @@ func (pme *Explorer) FindBoardWithFQBN(fqbnIn string) (*cores.Board, error) { // // In case of error the partial results found in the meantime are // returned together with the error. -func (pme *Explorer) ResolveFQBN(fqbn *cores.FQBN) ( +func (pme *Explorer) ResolveFQBN(fqbn *fqbn.FQBN) ( *cores.Package, *cores.PlatformRelease, *cores.Board, *properties.Map, *cores.PlatformRelease, error) { // Find package - targetPackage := pme.packages[fqbn.Package] + targetPackage := pme.packages[fqbn.Packager] if targetPackage == nil { return nil, nil, nil, nil, nil, - errors.New(i18n.Tr("unknown package %s", fqbn.Package)) + errors.New(i18n.Tr("unknown package %s", fqbn.Packager)) } // Find platform - platform := targetPackage.Platforms[fqbn.PlatformArch] + platform := targetPackage.Platforms[fqbn.Architecture] if platform == nil { return targetPackage, nil, nil, nil, nil, - errors.New(i18n.Tr("unknown platform %s:%s", targetPackage, fqbn.PlatformArch)) + errors.New(i18n.Tr("unknown platform %s:%s", targetPackage, fqbn.Architecture)) } boardPlatformRelease := pme.GetInstalledPlatformRelease(platform) if boardPlatformRelease == nil { @@ -429,7 +430,7 @@ func (pme *Explorer) ResolveFQBN(fqbn *cores.FQBN) ( return targetPackage, boardPlatformRelease, board, buildProperties, corePlatformRelease, nil } -func (pme *Explorer) determineReferencedPlatformRelease(boardBuildProperties *properties.Map, boardPlatformRelease *cores.PlatformRelease, fqbn *cores.FQBN) (string, *cores.PlatformRelease, string, *cores.PlatformRelease, error) { +func (pme *Explorer) determineReferencedPlatformRelease(boardBuildProperties *properties.Map, boardPlatformRelease *cores.PlatformRelease, fqbn *fqbn.FQBN) (string, *cores.PlatformRelease, string, *cores.PlatformRelease, error) { core := boardBuildProperties.ExpandPropsInString(boardBuildProperties.Get("build.core")) referredCore := "" if split := strings.Split(core, ":"); len(split) > 1 { @@ -461,15 +462,15 @@ func (pme *Explorer) determineReferencedPlatformRelease(boardBuildProperties *pr return "", nil, "", nil, errors.New(i18n.Tr("missing package %[1]s referenced by board %[2]s", referredPackageName, fqbn)) } - referredPlatform := referredPackage.Platforms[fqbn.PlatformArch] + referredPlatform := referredPackage.Platforms[fqbn.Architecture] if referredPlatform == nil { return "", nil, "", nil, - errors.New(i18n.Tr("missing platform %[1]s:%[2]s referenced by board %[3]s", referredPackageName, fqbn.PlatformArch, fqbn)) + errors.New(i18n.Tr("missing platform %[1]s:%[2]s referenced by board %[3]s", referredPackageName, fqbn.Architecture, fqbn)) } referredPlatformRelease = pme.GetInstalledPlatformRelease(referredPlatform) if referredPlatformRelease == nil { return "", nil, "", nil, - errors.New(i18n.Tr("missing platform release %[1]s:%[2]s referenced by board %[3]s", referredPackageName, fqbn.PlatformArch, fqbn)) + errors.New(i18n.Tr("missing platform release %[1]s:%[2]s referenced by board %[3]s", referredPackageName, fqbn.Architecture, fqbn)) } } @@ -890,7 +891,7 @@ func (pme *Explorer) FindMonitorDependency(discovery *cores.MonitorDependency) * // NormalizeFQBN return a normalized copy of the given FQBN, that is the same // FQBN but with the unneeded or invalid options removed. -func (pme *Explorer) NormalizeFQBN(fqbn *cores.FQBN) (*cores.FQBN, error) { +func (pme *Explorer) NormalizeFQBN(fqbn *fqbn.FQBN) (*fqbn.FQBN, error) { _, _, board, _, _, err := pme.ResolveFQBN(fqbn) if err != nil { return nil, err diff --git a/internal/arduino/cores/packagemanager/package_manager_test.go b/internal/arduino/cores/packagemanager/package_manager_test.go index 4f8598a515a..92530af6dc3 100644 --- a/internal/arduino/cores/packagemanager/package_manager_test.go +++ b/internal/arduino/cores/packagemanager/package_manager_test.go @@ -24,6 +24,7 @@ import ( "testing" "github.com/arduino/arduino-cli/internal/arduino/cores" + "github.com/arduino/arduino-cli/pkg/fqbn" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" @@ -69,7 +70,7 @@ func TestResolveFQBN(t *testing.T) { t.Run("NormalizeFQBN", func(t *testing.T) { testNormalization := func(in, expected string) { - fqbn, err := cores.ParseFQBN(in) + fqbn, err := fqbn.Parse(in) require.Nil(t, err) require.NotNil(t, fqbn) normalized, err := pme.NormalizeFQBN(fqbn) @@ -92,7 +93,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("BoardAndBuildPropertiesArduinoUno", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("arduino:avr:uno") + fqbn, err := fqbn.Parse("arduino:avr:uno") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -113,7 +114,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("BoardAndBuildPropertiesArduinoMega", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("arduino:avr:mega") + fqbn, err := fqbn.Parse("arduino:avr:mega") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -129,7 +130,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("BoardAndBuildPropertiesArduinoMegaWithNonDefaultCpuOption", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("arduino:avr:mega:cpu=atmega1280") + fqbn, err := fqbn.Parse("arduino:avr:mega:cpu=atmega1280") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -147,7 +148,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("BoardAndBuildPropertiesArduinoMegaWithDefaultCpuOption", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("arduino:avr:mega:cpu=atmega2560") + fqbn, err := fqbn.Parse("arduino:avr:mega:cpu=atmega2560") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -167,7 +168,7 @@ func TestResolveFQBN(t *testing.T) { t.Run("BoardAndBuildPropertiesForReferencedArduinoUno", func(t *testing.T) { // Test a board referenced from the main AVR arduino platform - fqbn, err := cores.ParseFQBN("referenced:avr:uno") + fqbn, err := fqbn.Parse("referenced:avr:uno") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -185,7 +186,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("BoardAndBuildPropertiesForArduinoDue", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("arduino:sam:arduino_due_x") + fqbn, err := fqbn.Parse("arduino:sam:arduino_due_x") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -200,7 +201,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("BoardAndBuildPropertiesForCustomArduinoYun", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("my_avr_platform:avr:custom_yun") + fqbn, err := fqbn.Parse("my_avr_platform:avr:custom_yun") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -216,7 +217,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("BoardAndBuildPropertiesForWatterotCore", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("watterott:avr:attiny841:core=spencekonde,info=info") + fqbn, err := fqbn.Parse("watterott:avr:attiny841:core=spencekonde,info=info") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -234,7 +235,7 @@ func TestResolveFQBN(t *testing.T) { t.Run("BoardAndBuildPropertiesForReferencedFeatherM0", func(t *testing.T) { // Test a board referenced from the Adafruit SAMD core (this tests // deriving where the package and core name are different) - fqbn, err := cores.ParseFQBN("referenced:samd:feather_m0") + fqbn, err := fqbn.Parse("referenced:samd:feather_m0") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -253,7 +254,7 @@ func TestResolveFQBN(t *testing.T) { t.Run("BoardAndBuildPropertiesForNonExistentPackage", func(t *testing.T) { // Test a board referenced from a non-existent package - fqbn, err := cores.ParseFQBN("referenced:avr:dummy_invalid_package") + fqbn, err := fqbn.Parse("referenced:avr:dummy_invalid_package") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -270,7 +271,7 @@ func TestResolveFQBN(t *testing.T) { t.Run("BoardAndBuildPropertiesForNonExistentArchitecture", func(t *testing.T) { // Test a board referenced from a non-existent platform/architecture - fqbn, err := cores.ParseFQBN("referenced:avr:dummy_invalid_platform") + fqbn, err := fqbn.Parse("referenced:avr:dummy_invalid_platform") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -288,7 +289,7 @@ func TestResolveFQBN(t *testing.T) { t.Run("BoardAndBuildPropertiesForNonExistentCore", func(t *testing.T) { // Test a board referenced from a non-existent core // Note that ResolveFQBN does not actually check this currently - fqbn, err := cores.ParseFQBN("referenced:avr:dummy_invalid_core") + fqbn, err := fqbn.Parse("referenced:avr:dummy_invalid_core") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -306,7 +307,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("AddBuildBoardPropertyIfMissing", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("my_avr_platform:avr:mymega") + fqbn, err := fqbn.Parse("my_avr_platform:avr:mymega") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -324,7 +325,7 @@ func TestResolveFQBN(t *testing.T) { }) t.Run("AddBuildBoardPropertyIfNotMissing", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("my_avr_platform:avr:mymega:cpu=atmega1280") + fqbn, err := fqbn.Parse("my_avr_platform:avr:mymega:cpu=atmega1280") require.Nil(t, err) require.NotNil(t, fqbn) pkg, platformRelease, board, props, buildPlatformRelease, err := pme.ResolveFQBN(fqbn) @@ -813,7 +814,7 @@ func TestLegacyPackageConversionToPluggableDiscovery(t *testing.T) { defer release() { - fqbn, err := cores.ParseFQBN("esp32:esp32:esp32") + fqbn, err := fqbn.Parse("esp32:esp32:esp32") require.NoError(t, err) require.NotNil(t, fqbn) _, platformRelease, board, _, _, err := pme.ResolveFQBN(fqbn) @@ -836,7 +837,7 @@ func TestLegacyPackageConversionToPluggableDiscovery(t *testing.T) { require.Equal(t, "{network_cmd} -i \"{upload.port.address}\" -p \"{upload.port.properties.port}\" \"--auth={upload.field.password}\" -f \"{build.path}/{build.project_name}.bin\"", platformProps.Get("tools.esptool__pluggable_network.upload.pattern")) } { - fqbn, err := cores.ParseFQBN("esp8266:esp8266:generic") + fqbn, err := fqbn.Parse("esp8266:esp8266:generic") require.NoError(t, err) require.NotNil(t, fqbn) _, platformRelease, board, _, _, err := pme.ResolveFQBN(fqbn) @@ -858,7 +859,7 @@ func TestLegacyPackageConversionToPluggableDiscovery(t *testing.T) { require.Equal(t, "\"{network_cmd}\" -I \"{runtime.platform.path}/tools/espota.py\" -i \"{upload.port.address}\" -p \"{upload.port.properties.port}\" \"--auth={upload.field.password}\" -f \"{build.path}/{build.project_name}.bin\"", platformProps.Get("tools.esptool__pluggable_network.upload.pattern")) } { - fqbn, err := cores.ParseFQBN("arduino:avr:uno") + fqbn, err := fqbn.Parse("arduino:avr:uno") require.NoError(t, err) require.NotNil(t, fqbn) _, platformRelease, board, _, _, err := pme.ResolveFQBN(fqbn) @@ -888,7 +889,7 @@ func TestVariantAndCoreSelection(t *testing.T) { // build.core test suite t.Run("CoreWithoutSubstitutions", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test") + fqbn, err := fqbn.Parse("test2:avr:test") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) @@ -897,7 +898,7 @@ func TestVariantAndCoreSelection(t *testing.T) { requireSameFile(buildProps.GetPath("build.core.path"), dataDir1.Join("packages", "test2", "hardware", "avr", "1.0.0", "cores", "arduino")) }) t.Run("CoreWithSubstitutions", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test2") + fqbn, err := fqbn.Parse("test2:avr:test2") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) @@ -907,7 +908,7 @@ func TestVariantAndCoreSelection(t *testing.T) { requireSameFile(buildProps.GetPath("build.core.path"), dataDir1.Join("packages", "test2", "hardware", "avr", "1.0.0", "cores", "arduino")) }) t.Run("CoreWithSubstitutionsAndDefaultOption", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test3") + fqbn, err := fqbn.Parse("test2:avr:test3") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) @@ -917,7 +918,7 @@ func TestVariantAndCoreSelection(t *testing.T) { requireSameFile(buildProps.GetPath("build.core.path"), dataDir1.Join("packages", "test2", "hardware", "avr", "1.0.0", "cores", "arduino")) }) t.Run("CoreWithSubstitutionsAndNonDefaultOption", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test3:core=referenced") + fqbn, err := fqbn.Parse("test2:avr:test3:core=referenced") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) @@ -929,7 +930,7 @@ func TestVariantAndCoreSelection(t *testing.T) { // build.variant test suite t.Run("VariantWithoutSubstitutions", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test4") + fqbn, err := fqbn.Parse("test2:avr:test4") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) @@ -938,7 +939,7 @@ func TestVariantAndCoreSelection(t *testing.T) { requireSameFile(buildProps.GetPath("build.variant.path"), dataDir1.Join("packages", "test2", "hardware", "avr", "1.0.0", "variants", "standard")) }) t.Run("VariantWithSubstitutions", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test5") + fqbn, err := fqbn.Parse("test2:avr:test5") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) @@ -948,7 +949,7 @@ func TestVariantAndCoreSelection(t *testing.T) { requireSameFile(buildProps.GetPath("build.variant.path"), dataDir1.Join("packages", "test2", "hardware", "avr", "1.0.0", "variants", "standard")) }) t.Run("VariantWithSubstitutionsAndDefaultOption", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test6") + fqbn, err := fqbn.Parse("test2:avr:test6") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) @@ -958,7 +959,7 @@ func TestVariantAndCoreSelection(t *testing.T) { requireSameFile(buildProps.GetPath("build.variant.path"), dataDir1.Join("packages", "test2", "hardware", "avr", "1.0.0", "variants", "standard")) }) t.Run("VariantWithSubstitutionsAndNonDefaultOption", func(t *testing.T) { - fqbn, err := cores.ParseFQBN("test2:avr:test6:variant=referenced") + fqbn, err := fqbn.Parse("test2:avr:test6:variant=referenced") require.NoError(t, err) require.NotNil(t, fqbn) _, _, _, buildProps, _, err := pme.ResolveFQBN(fqbn) diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 7d0c0c69082..9bd6fc37f22 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -24,13 +24,13 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/cli/arguments" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/cli/feedback/result" "github.com/arduino/arduino-cli/internal/cli/feedback/table" "github.com/arduino/arduino-cli/internal/cli/instance" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" @@ -159,9 +159,9 @@ func (dr listResult) String() string { // to improve the user experience, show on a dedicated column // the name of the core supporting the board detected var coreName = "" - fqbn, err := cores.ParseFQBN(b.Fqbn) + fqbn, err := fqbn.Parse(b.Fqbn) if err == nil { - coreName = fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch) + coreName = fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture) } t.AddRow(address, protocol, protocolLabel, board, fqbn, coreName) @@ -215,9 +215,9 @@ func (dr watchEventResult) String() string { // to improve the user experience, show on a dedicated column // the name of the core supporting the board detected var coreName = "" - fqbn, err := cores.ParseFQBN(b.Fqbn) + fqbn, err := fqbn.Parse(b.Fqbn) if err == nil { - coreName = fmt.Sprintf("%s:%s", fqbn.Package, fqbn.PlatformArch) + coreName = fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture) } t.AddRow(address, protocol, event, board, fqbn, coreName) diff --git a/internal/i18n/i18n.go b/internal/i18n/i18n.go index aa4f82edd33..f1941297b00 100644 --- a/internal/i18n/i18n.go +++ b/internal/i18n/i18n.go @@ -15,31 +15,28 @@ package i18n -// Init initializes the i18n module, setting the locale according to this order of preference: -// 1. Locale specified via the function call -// 2. OS Locale -// 3. en (default) -func Init(configLocale string) { - locales := supportedLocales() - if configLocale != "" { - if locale := findMatchingLocale(configLocale, locales); locale != "" { - setLocale(locale) - return - } - } - - if osLocale := getLocaleIdentifierFromOS(); osLocale != "" { - if locale := findMatchingLocale(osLocale, locales); locale != "" { - setLocale(locale) - return - } - } - - setLocale("en") +import "fmt" + +type Locale interface { + Get(msg string, args ...interface{}) string +} + +type nullLocale struct{} + +func (n nullLocale) Parse([]byte) {} + +func (n nullLocale) Get(msg string, args ...interface{}) string { + return fmt.Sprintf(msg, args...) +} + +var locale Locale = &nullLocale{} + +func SetLocale(l Locale) { + locale = l } // Tr returns msg translated to the selected locale // the msg argument must be a literal string func Tr(msg string, args ...interface{}) string { - return po.Get(msg, args...) + return locale.Get(msg, args...) } diff --git a/internal/i18n/i18n_test.go b/internal/i18n/i18n_test.go index 1ec157db01e..a2ae4c4d7b0 100644 --- a/internal/i18n/i18n_test.go +++ b/internal/i18n/i18n_test.go @@ -25,8 +25,9 @@ import ( ) func setPo(poFile string) { - po = gotext.NewPo() - po.Parse([]byte(poFile)) + dict := gotext.NewPo() + dict.Parse([]byte(poFile)) + SetLocale(dict) } func TestPoTranslation(t *testing.T) { @@ -39,7 +40,7 @@ func TestPoTranslation(t *testing.T) { } func TestNoLocaleSet(t *testing.T) { - po = gotext.NewPo() + locale = gotext.NewPo() require.Equal(t, "test-key", Tr("test-key")) } diff --git a/internal/i18n/README.md b/internal/locales/README.md similarity index 100% rename from internal/i18n/README.md rename to internal/locales/README.md diff --git a/internal/i18n/cmd/ast/parser.go b/internal/locales/cmd/ast/parser.go similarity index 97% rename from internal/i18n/cmd/ast/parser.go rename to internal/locales/cmd/ast/parser.go index d8d558cd975..69648c70c1b 100644 --- a/internal/i18n/cmd/ast/parser.go +++ b/internal/locales/cmd/ast/parser.go @@ -24,7 +24,7 @@ import ( "path/filepath" "strconv" - "github.com/arduino/arduino-cli/internal/i18n/cmd/po" + "github.com/arduino/arduino-cli/internal/locales/cmd/po" ) // GenerateCatalog generates the i18n message catalog for the go source files diff --git a/internal/i18n/cmd/commands/catalog/catalog.go b/internal/locales/cmd/commands/catalog/catalog.go similarity index 100% rename from internal/i18n/cmd/commands/catalog/catalog.go rename to internal/locales/cmd/commands/catalog/catalog.go diff --git a/internal/i18n/cmd/commands/catalog/generate_catalog.go b/internal/locales/cmd/commands/catalog/generate_catalog.go similarity index 95% rename from internal/i18n/cmd/commands/catalog/generate_catalog.go rename to internal/locales/cmd/commands/catalog/generate_catalog.go index 1c65c640ffc..27ac0e76d45 100644 --- a/internal/i18n/cmd/commands/catalog/generate_catalog.go +++ b/internal/locales/cmd/commands/catalog/generate_catalog.go @@ -19,7 +19,7 @@ import ( "os" "path/filepath" - "github.com/arduino/arduino-cli/internal/i18n/cmd/ast" + "github.com/arduino/arduino-cli/internal/locales/cmd/ast" "github.com/spf13/cobra" ) diff --git a/internal/i18n/cmd/commands/root.go b/internal/locales/cmd/commands/root.go similarity index 87% rename from internal/i18n/cmd/commands/root.go rename to internal/locales/cmd/commands/root.go index 14559dcfee9..fc5d8eb37e0 100644 --- a/internal/i18n/cmd/commands/root.go +++ b/internal/locales/cmd/commands/root.go @@ -16,8 +16,8 @@ package commands import ( - "github.com/arduino/arduino-cli/internal/i18n/cmd/commands/catalog" - "github.com/arduino/arduino-cli/internal/i18n/cmd/commands/transifex" + "github.com/arduino/arduino-cli/internal/locales/cmd/commands/catalog" + "github.com/arduino/arduino-cli/internal/locales/cmd/commands/transifex" "github.com/spf13/cobra" ) diff --git a/internal/i18n/cmd/commands/transifex/pull_transifex.go b/internal/locales/cmd/commands/transifex/pull_transifex.go similarity index 100% rename from internal/i18n/cmd/commands/transifex/pull_transifex.go rename to internal/locales/cmd/commands/transifex/pull_transifex.go diff --git a/internal/i18n/cmd/commands/transifex/push_transifex.go b/internal/locales/cmd/commands/transifex/push_transifex.go similarity index 100% rename from internal/i18n/cmd/commands/transifex/push_transifex.go rename to internal/locales/cmd/commands/transifex/push_transifex.go diff --git a/internal/i18n/cmd/commands/transifex/transifex.go b/internal/locales/cmd/commands/transifex/transifex.go similarity index 100% rename from internal/i18n/cmd/commands/transifex/transifex.go rename to internal/locales/cmd/commands/transifex/transifex.go diff --git a/internal/i18n/cmd/main.go b/internal/locales/cmd/main.go similarity index 93% rename from internal/i18n/cmd/main.go rename to internal/locales/cmd/main.go index 8752c9d668e..d31f1589e09 100644 --- a/internal/i18n/cmd/main.go +++ b/internal/locales/cmd/main.go @@ -19,7 +19,7 @@ import ( "fmt" "os" - "github.com/arduino/arduino-cli/internal/i18n/cmd/commands" + "github.com/arduino/arduino-cli/internal/locales/cmd/commands" ) func main() { diff --git a/internal/i18n/cmd/po/catalog.go b/internal/locales/cmd/po/catalog.go similarity index 100% rename from internal/i18n/cmd/po/catalog.go rename to internal/locales/cmd/po/catalog.go diff --git a/internal/i18n/cmd/po/catalog_test.go b/internal/locales/cmd/po/catalog_test.go similarity index 100% rename from internal/i18n/cmd/po/catalog_test.go rename to internal/locales/cmd/po/catalog_test.go diff --git a/internal/i18n/cmd/po/merge.go b/internal/locales/cmd/po/merge.go similarity index 100% rename from internal/i18n/cmd/po/merge.go rename to internal/locales/cmd/po/merge.go diff --git a/internal/i18n/cmd/po/merge_test.go b/internal/locales/cmd/po/merge_test.go similarity index 100% rename from internal/i18n/cmd/po/merge_test.go rename to internal/locales/cmd/po/merge_test.go diff --git a/internal/i18n/cmd/po/parser.go b/internal/locales/cmd/po/parser.go similarity index 100% rename from internal/i18n/cmd/po/parser.go rename to internal/locales/cmd/po/parser.go diff --git a/internal/i18n/cmd/po/parser_test.go b/internal/locales/cmd/po/parser_test.go similarity index 100% rename from internal/i18n/cmd/po/parser_test.go rename to internal/locales/cmd/po/parser_test.go diff --git a/internal/i18n/convert.go b/internal/locales/convert.go similarity index 98% rename from internal/i18n/convert.go rename to internal/locales/convert.go index 7b6d2e8dbdf..e7aa8227571 100644 --- a/internal/i18n/convert.go +++ b/internal/locales/convert.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales import ( "regexp" diff --git a/internal/i18n/convert_test.go b/internal/locales/convert_test.go similarity index 99% rename from internal/i18n/convert_test.go rename to internal/locales/convert_test.go index 618fa977b3b..723d6118c2b 100644 --- a/internal/i18n/convert_test.go +++ b/internal/locales/convert_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales import ( "fmt" diff --git a/internal/i18n/data/.gitkeep b/internal/locales/data/.gitkeep similarity index 100% rename from internal/i18n/data/.gitkeep rename to internal/locales/data/.gitkeep diff --git a/internal/i18n/data/README.md b/internal/locales/data/README.md similarity index 100% rename from internal/i18n/data/README.md rename to internal/locales/data/README.md diff --git a/internal/i18n/data/ar.po b/internal/locales/data/ar.po similarity index 100% rename from internal/i18n/data/ar.po rename to internal/locales/data/ar.po diff --git a/internal/i18n/data/be.po b/internal/locales/data/be.po similarity index 100% rename from internal/i18n/data/be.po rename to internal/locales/data/be.po diff --git a/internal/i18n/data/de.po b/internal/locales/data/de.po similarity index 100% rename from internal/i18n/data/de.po rename to internal/locales/data/de.po diff --git a/internal/i18n/data/en.po b/internal/locales/data/en.po similarity index 100% rename from internal/i18n/data/en.po rename to internal/locales/data/en.po diff --git a/internal/i18n/data/es.po b/internal/locales/data/es.po similarity index 100% rename from internal/i18n/data/es.po rename to internal/locales/data/es.po diff --git a/internal/i18n/data/fr.po b/internal/locales/data/fr.po similarity index 100% rename from internal/i18n/data/fr.po rename to internal/locales/data/fr.po diff --git a/internal/i18n/data/he.po b/internal/locales/data/he.po similarity index 100% rename from internal/i18n/data/he.po rename to internal/locales/data/he.po diff --git a/internal/i18n/data/it_IT.po b/internal/locales/data/it_IT.po similarity index 100% rename from internal/i18n/data/it_IT.po rename to internal/locales/data/it_IT.po diff --git a/internal/i18n/data/ja.po b/internal/locales/data/ja.po similarity index 100% rename from internal/i18n/data/ja.po rename to internal/locales/data/ja.po diff --git a/internal/i18n/data/kk.po b/internal/locales/data/kk.po similarity index 100% rename from internal/i18n/data/kk.po rename to internal/locales/data/kk.po diff --git a/internal/i18n/data/ko.po b/internal/locales/data/ko.po similarity index 100% rename from internal/i18n/data/ko.po rename to internal/locales/data/ko.po diff --git a/internal/i18n/data/lb.po b/internal/locales/data/lb.po similarity index 100% rename from internal/i18n/data/lb.po rename to internal/locales/data/lb.po diff --git a/internal/i18n/data/mn.po b/internal/locales/data/mn.po similarity index 100% rename from internal/i18n/data/mn.po rename to internal/locales/data/mn.po diff --git a/internal/i18n/data/my_MM.po b/internal/locales/data/my_MM.po similarity index 100% rename from internal/i18n/data/my_MM.po rename to internal/locales/data/my_MM.po diff --git a/internal/i18n/data/ne.po b/internal/locales/data/ne.po similarity index 100% rename from internal/i18n/data/ne.po rename to internal/locales/data/ne.po diff --git a/internal/i18n/data/pl.po b/internal/locales/data/pl.po similarity index 100% rename from internal/i18n/data/pl.po rename to internal/locales/data/pl.po diff --git a/internal/i18n/data/pt.po b/internal/locales/data/pt.po similarity index 100% rename from internal/i18n/data/pt.po rename to internal/locales/data/pt.po diff --git a/internal/i18n/data/pt_BR.po b/internal/locales/data/pt_BR.po similarity index 100% rename from internal/i18n/data/pt_BR.po rename to internal/locales/data/pt_BR.po diff --git a/internal/i18n/data/ru.po b/internal/locales/data/ru.po similarity index 100% rename from internal/i18n/data/ru.po rename to internal/locales/data/ru.po diff --git a/internal/i18n/data/zh.po b/internal/locales/data/zh.po similarity index 100% rename from internal/i18n/data/zh.po rename to internal/locales/data/zh.po diff --git a/internal/i18n/data/zh_TW.po b/internal/locales/data/zh_TW.po similarity index 100% rename from internal/i18n/data/zh_TW.po rename to internal/locales/data/zh_TW.po diff --git a/internal/i18n/detect.go b/internal/locales/detect.go similarity index 98% rename from internal/i18n/detect.go rename to internal/locales/detect.go index f35d4f1b94e..36279f1388b 100644 --- a/internal/i18n/detect.go +++ b/internal/locales/detect.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales import ( "os" diff --git a/internal/i18n/detect_cgo_darwin.go b/internal/locales/detect_cgo_darwin.go similarity index 98% rename from internal/i18n/detect_cgo_darwin.go rename to internal/locales/detect_cgo_darwin.go index c9fd4ecefb9..7c613cf6135 100644 --- a/internal/i18n/detect_cgo_darwin.go +++ b/internal/locales/detect_cgo_darwin.go @@ -15,7 +15,7 @@ //go:build darwin && cgo -package i18n +package locales /* #cgo CFLAGS: -x objective-c diff --git a/internal/i18n/detect_freebsd.go b/internal/locales/detect_freebsd.go similarity index 98% rename from internal/i18n/detect_freebsd.go rename to internal/locales/detect_freebsd.go index 759509c5abe..4d03b8f3c92 100644 --- a/internal/i18n/detect_freebsd.go +++ b/internal/locales/detect_freebsd.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales func getLocaleIdentifier() string { return getLocaleIdentifierFromEnv() diff --git a/internal/i18n/detect_linux.go b/internal/locales/detect_linux.go similarity index 98% rename from internal/i18n/detect_linux.go rename to internal/locales/detect_linux.go index 759509c5abe..4d03b8f3c92 100644 --- a/internal/i18n/detect_linux.go +++ b/internal/locales/detect_linux.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales func getLocaleIdentifier() string { return getLocaleIdentifierFromEnv() diff --git a/internal/i18n/detect_nocgo_darwin.go b/internal/locales/detect_nocgo_darwin.go similarity index 98% rename from internal/i18n/detect_nocgo_darwin.go rename to internal/locales/detect_nocgo_darwin.go index f7ae977b19f..689b5e864c5 100644 --- a/internal/i18n/detect_nocgo_darwin.go +++ b/internal/locales/detect_nocgo_darwin.go @@ -15,7 +15,7 @@ //go:build darwin && !cgo -package i18n +package locales func getLocaleIdentifier() string { return getLocaleIdentifierFromEnv() diff --git a/internal/i18n/detect_windows.go b/internal/locales/detect_windows.go similarity index 91% rename from internal/i18n/detect_windows.go rename to internal/locales/detect_windows.go index 84bc3af7997..42c667447d6 100644 --- a/internal/i18n/detect_windows.go +++ b/internal/locales/detect_windows.go @@ -13,20 +13,18 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales import ( "strings" "syscall" "unsafe" - - "github.com/sirupsen/logrus" ) func getLocaleIdentifier() string { defer func() { if r := recover(); r != nil { - logrus.WithField("error", r).Errorf("Failed to get windows user locale") + // ignore error and do not panic } }() diff --git a/internal/locales/i18n.go b/internal/locales/i18n.go new file mode 100644 index 00000000000..8c7120a1771 --- /dev/null +++ b/internal/locales/i18n.go @@ -0,0 +1,39 @@ +// This file is part of arduino-cli. +// +// Copyright 2020 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 locales + +// Init initializes the i18n module, setting the locale according to this order of preference: +// 1. Locale specified via the function call +// 2. OS Locale +// 3. en (default) +func Init(configLocale string) { + locales := supportedLocales() + if configLocale != "" { + if locale := findMatchingLocale(configLocale, locales); locale != "" { + setLocale(locale) + return + } + } + + if osLocale := getLocaleIdentifierFromOS(); osLocale != "" { + if locale := findMatchingLocale(osLocale, locales); locale != "" { + setLocale(locale) + return + } + } + + setLocale("en") +} diff --git a/internal/i18n/locale.go b/internal/locales/locale.go similarity index 93% rename from internal/i18n/locale.go rename to internal/locales/locale.go index 35a43e42e03..646b44059f7 100644 --- a/internal/i18n/locale.go +++ b/internal/locales/locale.go @@ -13,24 +13,19 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales import ( "embed" "strings" + "github.com/arduino/arduino-cli/internal/i18n" "github.com/leonelquinteros/gotext" ) -var po *gotext.Po - //go:embed data/*.po var contents embed.FS -func init() { - po = gotext.NewPo() -} - func supportedLocales() []string { var locales []string files, err := contents.ReadDir("data") @@ -75,6 +70,7 @@ func setLocale(locale string) { if err != nil { panic("Error reading embedded i18n data: " + err.Error()) } - po = gotext.NewPo() - po.Parse(poFile) + dict := gotext.NewPo() + dict.Parse(poFile) + i18n.SetLocale(dict) } diff --git a/internal/i18n/locale_test.go b/internal/locales/locale_test.go similarity index 98% rename from internal/i18n/locale_test.go rename to internal/locales/locale_test.go index 6212258e8f8..dc0ff7ad897 100644 --- a/internal/i18n/locale_test.go +++ b/internal/locales/locale_test.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package i18n +package locales import ( "testing" diff --git a/main.go b/main.go index 84896ac19fe..0ead329254a 100644 --- a/main.go +++ b/main.go @@ -27,6 +27,7 @@ import ( "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/internal/locales" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" @@ -67,7 +68,7 @@ func main() { config := resp.GetConfiguration() // Setup i18n - i18n.Init(config.GetLocale()) + locales.Init(config.GetLocale()) // Setup command line parser with the server and settings arduinoCmd := cli.NewCommand(srv) diff --git a/internal/arduino/cores/fqbn.go b/pkg/fqbn/fqbn.go similarity index 77% rename from internal/arduino/cores/fqbn.go rename to pkg/fqbn/fqbn.go index 0db32f45cb0..8773272dd04 100644 --- a/internal/arduino/cores/fqbn.go +++ b/pkg/fqbn/fqbn.go @@ -13,7 +13,7 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package cores +package fqbn import ( "errors" @@ -24,35 +24,38 @@ import ( properties "github.com/arduino/go-properties-orderedmap" ) -// FQBN represents a Board with a specific configuration +// FQBN represents an Fully Qualified Board Name string type FQBN struct { - Package string - PlatformArch string + Packager string + Architecture string BoardID string Configs *properties.Map } -// MustParseFQBN extract an FQBN object from the input string +// MustParse parse an FQBN string from the input string // or panics if the input is not a valid FQBN. -func MustParseFQBN(fqbnIn string) *FQBN { - res, err := ParseFQBN(fqbnIn) +func MustParse(fqbnIn string) *FQBN { + res, err := Parse(fqbnIn) if err != nil { panic(err) } return res } -// ParseFQBN extract an FQBN object from the input string -func ParseFQBN(fqbnIn string) (*FQBN, error) { - // Split fqbn +var fqbnValidationRegex = regexp.MustCompile(`^[a-zA-Z0-9_.-]*$`) +var valueValidationRegex = regexp.MustCompile(`^[a-zA-Z0-9=_.-]*$`) + +// Parse parses an FQBN string from the input string +func Parse(fqbnIn string) (*FQBN, error) { + // Split fqbn parts fqbnParts := strings.Split(fqbnIn, ":") if len(fqbnParts) < 3 || len(fqbnParts) > 4 { return nil, errors.New(i18n.Tr("not an FQBN: %s", fqbnIn)) } fqbn := &FQBN{ - Package: fqbnParts[0], - PlatformArch: fqbnParts[1], + Packager: fqbnParts[0], + Architecture: fqbnParts[1], BoardID: fqbnParts[2], Configs: properties.NewMap(), } @@ -60,7 +63,6 @@ func ParseFQBN(fqbnIn string) (*FQBN, error) { return nil, errors.New(i18n.Tr("empty board identifier")) } // Check if the fqbn contains invalid characters - fqbnValidationRegex := regexp.MustCompile(`^[a-zA-Z0-9_.-]*$`) for i := 0; i < 3; i++ { if !fqbnValidationRegex.MatchString(fqbnParts[i]) { return nil, errors.New(i18n.Tr("fqbn's field %s contains an invalid character", fqbnParts[i])) @@ -81,7 +83,6 @@ func ParseFQBN(fqbnIn string) (*FQBN, error) { return nil, errors.New(i18n.Tr("config key %s contains an invalid character", k)) } // The config value can also contain the = symbol - valueValidationRegex := regexp.MustCompile(`^[a-zA-Z0-9=_.-]*$`) if !valueValidationRegex.MatchString(v) { return nil, errors.New(i18n.Tr("config value %s contains an invalid character", v)) } @@ -91,29 +92,17 @@ func ParseFQBN(fqbnIn string) (*FQBN, error) { return fqbn, nil } -func (fqbn *FQBN) String() string { - res := fqbn.StringWithoutConfig() - if fqbn.Configs.Size() > 0 { - sep := ":" - for _, k := range fqbn.Configs.Keys() { - res += sep + k + "=" + fqbn.Configs.Get(k) - sep = "," - } - } - return res -} - // Clone returns a copy of this FQBN. func (fqbn *FQBN) Clone() *FQBN { return &FQBN{ - Package: fqbn.Package, - PlatformArch: fqbn.PlatformArch, + Packager: fqbn.Packager, + Architecture: fqbn.Architecture, BoardID: fqbn.BoardID, Configs: fqbn.Configs.Clone(), } } -// Match check if the target FQBN corresponds to the receiver one. +// Match checks if the target FQBN equals to this one. // The core parts are checked for exact equality while board options are loosely // matched: the set of boards options of the target must be fully contained within // the one of the receiver and their values must be equal. @@ -122,10 +111,8 @@ func (fqbn *FQBN) Match(target *FQBN) bool { return false } - searchedProperties := target.Configs.Clone() - actualConfigs := fqbn.Configs.AsMap() - for neededKey, neededValue := range searchedProperties.AsMap() { - targetValue, hasKey := actualConfigs[neededKey] + for neededKey, neededValue := range target.Configs.AsMap() { + targetValue, hasKey := fqbn.Configs.GetOk(neededKey) if !hasKey || targetValue != neededValue { return false } @@ -135,5 +122,18 @@ func (fqbn *FQBN) Match(target *FQBN) bool { // StringWithoutConfig returns the FQBN without the Config part func (fqbn *FQBN) StringWithoutConfig() string { - return fqbn.Package + ":" + fqbn.PlatformArch + ":" + fqbn.BoardID + return fqbn.Packager + ":" + fqbn.Architecture + ":" + fqbn.BoardID +} + +// String returns the FQBN as a string +func (fqbn *FQBN) String() string { + res := fqbn.StringWithoutConfig() + if fqbn.Configs.Size() > 0 { + sep := ":" + for _, k := range fqbn.Configs.Keys() { + res += sep + k + "=" + fqbn.Configs.Get(k) + sep = "," + } + } + return res } diff --git a/internal/arduino/cores/fqbn_test.go b/pkg/fqbn/fqbn_test.go similarity index 60% rename from internal/arduino/cores/fqbn_test.go rename to pkg/fqbn/fqbn_test.go index c7165af064a..be76dad2f27 100644 --- a/internal/arduino/cores/fqbn_test.go +++ b/pkg/fqbn/fqbn_test.go @@ -13,67 +13,68 @@ // Arduino software without disclosing the source code of your own applications. // To purchase a commercial license, send an email to license@arduino.cc. -package cores +package fqbn_test import ( "testing" + "github.com/arduino/arduino-cli/pkg/fqbn" "github.com/stretchr/testify/require" ) func TestFQBN(t *testing.T) { - a, err := ParseFQBN("arduino:avr:uno") + a, err := fqbn.Parse("arduino:avr:uno") require.Equal(t, "arduino:avr:uno", a.String()) require.NoError(t, err) - require.Equal(t, a.Package, "arduino") - require.Equal(t, a.PlatformArch, "avr") + require.Equal(t, a.Packager, "arduino") + require.Equal(t, a.Architecture, "avr") require.Equal(t, a.BoardID, "uno") require.Zero(t, a.Configs.Size()) // Allow empty platforms or packages (aka. vendors + architectures) - b1, err := ParseFQBN("arduino::uno") + b1, err := fqbn.Parse("arduino::uno") require.Equal(t, "arduino::uno", b1.String()) require.NoError(t, err) - require.Equal(t, b1.Package, "arduino") - require.Equal(t, b1.PlatformArch, "") + require.Equal(t, b1.Packager, "arduino") + require.Equal(t, b1.Architecture, "") require.Equal(t, b1.BoardID, "uno") require.Zero(t, b1.Configs.Size()) - b2, err := ParseFQBN(":avr:uno") + b2, err := fqbn.Parse(":avr:uno") require.Equal(t, ":avr:uno", b2.String()) require.NoError(t, err) - require.Equal(t, b2.Package, "") - require.Equal(t, b2.PlatformArch, "avr") + require.Equal(t, b2.Packager, "") + require.Equal(t, b2.Architecture, "avr") require.Equal(t, b2.BoardID, "uno") require.Zero(t, b2.Configs.Size()) - b3, err := ParseFQBN("::uno") + b3, err := fqbn.Parse("::uno") require.Equal(t, "::uno", b3.String()) require.NoError(t, err) - require.Equal(t, b3.Package, "") - require.Equal(t, b3.PlatformArch, "") + require.Equal(t, b3.Packager, "") + require.Equal(t, b3.Architecture, "") require.Equal(t, b3.BoardID, "uno") require.Zero(t, b3.Configs.Size()) // Do not allow missing board identifier - _, err = ParseFQBN("arduino:avr:") + _, err = fqbn.Parse("arduino:avr:") require.Error(t, err) // Do not allow partial fqbn - _, err = ParseFQBN("arduino") + _, err = fqbn.Parse("arduino") require.Error(t, err) - _, err = ParseFQBN("arduino:avr") + _, err = fqbn.Parse("arduino:avr") require.Error(t, err) // Keeps the config keys order - s1, err := ParseFQBN("arduino:avr:uno:d=x,b=x,a=x,e=x,c=x") + s1, err := fqbn.Parse("arduino:avr:uno:d=x,b=x,a=x,e=x,c=x") require.NoError(t, err) require.Equal(t, "arduino:avr:uno:d=x,b=x,a=x,e=x,c=x", s1.String()) require.Equal(t, "properties.Map{\n \"d\": \"x\",\n \"b\": \"x\",\n \"a\": \"x\",\n \"e\": \"x\",\n \"c\": \"x\",\n}", s1.Configs.Dump()) - s2, err := ParseFQBN("arduino:avr:uno:a=x,b=x,c=x,d=x,e=x") + s2, err := fqbn.Parse("arduino:avr:uno:a=x,b=x,c=x,d=x,e=x") require.NoError(t, err) require.Equal(t, "arduino:avr:uno:a=x,b=x,c=x,d=x,e=x", s2.String()) require.Equal(t, @@ -85,57 +86,78 @@ func TestFQBN(t *testing.T) { require.NotEqual(t, s1.String(), s2.String()) // Test configs - c, err := ParseFQBN("arduino:avr:uno:cpu=atmega") + c, err := fqbn.Parse("arduino:avr:uno:cpu=atmega") require.Equal(t, "arduino:avr:uno:cpu=atmega", c.String()) require.NoError(t, err) - require.Equal(t, c.Package, "arduino") - require.Equal(t, c.PlatformArch, "avr") + require.Equal(t, c.Packager, "arduino") + require.Equal(t, c.Architecture, "avr") require.Equal(t, c.BoardID, "uno") require.Equal(t, "properties.Map{\n \"cpu\": \"atmega\",\n}", c.Configs.Dump()) - d, err := ParseFQBN("arduino:avr:uno:cpu=atmega,speed=1000") + d, err := fqbn.Parse("arduino:avr:uno:cpu=atmega,speed=1000") require.Equal(t, "arduino:avr:uno:cpu=atmega,speed=1000", d.String()) require.NoError(t, err) - require.Equal(t, d.Package, "arduino") - require.Equal(t, d.PlatformArch, "avr") + require.Equal(t, d.Packager, "arduino") + require.Equal(t, d.Architecture, "avr") require.Equal(t, d.BoardID, "uno") require.Equal(t, "properties.Map{\n \"cpu\": \"atmega\",\n \"speed\": \"1000\",\n}", d.Configs.Dump()) // Do not allow empty keys or missing values in config - _, err = ParseFQBN("arduino:avr:uno:") + _, err = fqbn.Parse("arduino:avr:uno:") require.Error(t, err) - _, err = ParseFQBN("arduino:avr:uno,") + _, err = fqbn.Parse("arduino:avr:uno,") require.Error(t, err) - _, err = ParseFQBN("arduino:avr:uno:cpu") + _, err = fqbn.Parse("arduino:avr:uno:cpu") require.Error(t, err) - _, err = ParseFQBN("arduino:avr:uno:=atmega") + _, err = fqbn.Parse("arduino:avr:uno:=atmega") require.Error(t, err) - _, err = ParseFQBN("arduino:avr:uno:cpu=atmega,") + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega,") require.Error(t, err) - _, err = ParseFQBN("arduino:avr:uno:cpu=atmega,speed") + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega,speed") require.Error(t, err) - _, err = ParseFQBN("arduino:avr:uno:cpu=atmega,=1000") + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega,=1000") require.Error(t, err) // Allow keys with empty values - e, err := ParseFQBN("arduino:avr:uno:cpu=") + e, err := fqbn.Parse("arduino:avr:uno:cpu=") require.Equal(t, "arduino:avr:uno:cpu=", e.String()) require.NoError(t, err) - require.Equal(t, e.Package, "arduino") - require.Equal(t, e.PlatformArch, "avr") + require.Equal(t, e.Packager, "arduino") + require.Equal(t, e.Architecture, "avr") require.Equal(t, e.BoardID, "uno") require.Equal(t, "properties.Map{\n \"cpu\": \"\",\n}", e.Configs.Dump()) // Allow "=" in config values - f, err := ParseFQBN("arduino:avr:uno:cpu=atmega,speed=1000,extra=core=arduino") + f, err := fqbn.Parse("arduino:avr:uno:cpu=atmega,speed=1000,extra=core=arduino") require.Equal(t, "arduino:avr:uno:cpu=atmega,speed=1000,extra=core=arduino", f.String()) require.NoError(t, err) - require.Equal(t, f.Package, "arduino") - require.Equal(t, f.PlatformArch, "avr") + require.Equal(t, f.Packager, "arduino") + require.Equal(t, f.Architecture, "avr") require.Equal(t, f.BoardID, "uno") require.Equal(t, "properties.Map{\n \"cpu\": \"atmega\",\n \"speed\": \"1000\",\n \"extra\": \"core=arduino\",\n}", f.Configs.Dump()) + + // Check invalid characters in config keys + _, err = fqbn.Parse("arduino:avr:uno:cpu@=atmega") + require.Error(t, err) + _, err = fqbn.Parse("arduino:avr:uno:cpu@atmega") + require.Error(t, err) + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega,speed@=1000") + require.Error(t, err) + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega,speed@1000") + require.Error(t, err) + + // Check invalid characters in config values + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega@") + require.Error(t, err) + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega@extra") + require.Error(t, err) + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega,speed=1000@") + require.Error(t, err) + _, err = fqbn.Parse("arduino:avr:uno:cpu=atmega,speed=1000@extra") + require.Error(t, err) + } func TestMatch(t *testing.T) { @@ -148,9 +170,9 @@ func TestMatch(t *testing.T) { } for _, pair := range expectedMatches { - a, err := ParseFQBN(pair[0]) + a, err := fqbn.Parse(pair[0]) require.NoError(t, err) - b, err := ParseFQBN(pair[1]) + b, err := fqbn.Parse(pair[1]) require.NoError(t, err) require.True(t, b.Match(a)) } @@ -164,9 +186,9 @@ func TestMatch(t *testing.T) { } for _, pair := range expectedMismatches { - a, err := ParseFQBN(pair[0]) + a, err := fqbn.Parse(pair[0]) require.NoError(t, err) - b, err := ParseFQBN(pair[1]) + b, err := fqbn.Parse(pair[1]) require.NoError(t, err) require.False(t, b.Match(a)) } @@ -175,14 +197,32 @@ func TestMatch(t *testing.T) { func TestValidCharacters(t *testing.T) { // These FQBNs contain valid characters validFqbns := []string{"ardui_no:av_r:un_o", "arduin.o:av.r:un.o", "arduin-o:av-r:un-o", "arduin-o:av-r:un-o:a=b=c=d"} - for _, fqbn := range validFqbns { - _, err := ParseFQBN(fqbn) + for _, validFqbn := range validFqbns { + _, err := fqbn.Parse(validFqbn) require.NoError(t, err) } // These FQBNs contain invalid characters invalidFqbns := []string{"arduin-o:av-r:un=o", "arduin?o:av-r:uno", "arduino:av*r:uno"} - for _, fqbn := range invalidFqbns { - _, err := ParseFQBN(fqbn) + for _, validFqbn := range invalidFqbns { + _, err := fqbn.Parse(validFqbn) require.Error(t, err) } } + +func TestMustParse(t *testing.T) { + require.NotPanics(t, func() { fqbn.MustParse("arduino:avr:uno") }) + require.Panics(t, func() { fqbn.MustParse("ard=uino:avr=:u=no") }) +} + +func TestClone(t *testing.T) { + a, err := fqbn.Parse("arduino:avr:uno:opt1=1,opt2=2") + require.NoError(t, err) + b := a.Clone() + require.True(t, b.Match(a)) + require.True(t, a.Match(b)) + + c, err := fqbn.Parse("arduino:avr:uno:opt1=1,opt2=2,opt3=3") + require.NoError(t, err) + require.True(t, c.Match(a)) + require.False(t, a.Match(c)) +} From 596834661bda1f8f948caad3f2179f5c10379bc7 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessioper.98@gmail.com> Date: Wed, 18 Dec 2024 15:38:41 +0100 Subject: [PATCH 289/361] settings: add `network.connection_timeout` and `network.cloud_api.skip_board_detection_calls` (#2770) * settings: add `connection_timeout` * add test * add docs * Added gRPC flag to ignore Cloud API detection in BoardList* operations * Set default duration to 60 seconds * Updated JSON schema for configuration * Added option to disable call to Arduino Cloud API for board detection * Adjusted unit-tests --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- commands/service_board_list.go | 8 +- commands/service_board_list_test.go | 2 +- commands/service_settings_test.go | 67 ++++++- docs/configuration.md | 5 + .../configuration/configuration.schema.json | 41 ++++- internal/cli/configuration/defaults.go | 3 + internal/cli/configuration/network.go | 15 ++ internal/cli/configuration/network_test.go | 39 ++++ rpc/cc/arduino/cli/commands/v1/board.pb.go | 174 ++++++++++-------- rpc/cc/arduino/cli/commands/v1/board.proto | 6 + 10 files changed, 270 insertions(+), 90 deletions(-) diff --git a/commands/service_board_list.go b/commands/service_board_list.go index 9a84e3319f5..6f6d90f8b50 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -139,7 +139,7 @@ func identifyViaCloudAPI(props *properties.Map, settings *configuration.Settings } // identify returns a list of boards checking first the installed platforms or the Cloud API -func identify(pme *packagemanager.Explorer, port *discovery.Port, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { +func identify(pme *packagemanager.Explorer, port *discovery.Port, settings *configuration.Settings, skipCloudAPI bool) ([]*rpc.BoardListItem, error) { boards := []*rpc.BoardListItem{} if port.Properties == nil { return boards, nil @@ -170,7 +170,7 @@ func identify(pme *packagemanager.Explorer, port *discovery.Port, settings *conf // if installed cores didn't recognize the board, try querying // the builder API if the board is a USB device port - if len(boards) == 0 { + if len(boards) == 0 && !skipCloudAPI && !settings.SkipCloudApiForBoardDetection() { items, err := identifyViaCloudAPI(port.Properties, settings) if err != nil { // this is bad, but keep going @@ -225,7 +225,7 @@ func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis ports := []*rpc.DetectedPort{} for _, port := range dm.List() { - boards, err := identify(pme, port, s.settings) + boards, err := identify(pme, port, s.settings, req.GetSkipCloudApiForBoardDetection()) if err != nil { warnings = append(warnings, err.Error()) } @@ -298,7 +298,7 @@ func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s boardsError := "" if event.Type == "add" { - boards, err := identify(pme, event.Port, s.settings) + boards, err := identify(pme, event.Port, s.settings, req.GetSkipCloudApiForBoardDetection()) if err != nil { boardsError = err.Error() } diff --git a/commands/service_board_list_test.go b/commands/service_board_list_test.go index 6fb1366d111..f9fe2ca8ba5 100644 --- a/commands/service_board_list_test.go +++ b/commands/service_board_list_test.go @@ -157,7 +157,7 @@ func TestBoardIdentifySorting(t *testing.T) { defer release() settings := configuration.NewSettings() - res, err := identify(pme, &discovery.Port{Properties: idPrefs}, settings) + res, err := identify(pme, &discovery.Port{Properties: idPrefs}, settings, true) require.NoError(t, err) require.NotNil(t, res) require.Len(t, res, 4) diff --git a/commands/service_settings_test.go b/commands/service_settings_test.go index 89f7b11c3f7..24959962f38 100644 --- a/commands/service_settings_test.go +++ b/commands/service_settings_test.go @@ -224,12 +224,73 @@ func TestDelete(t *testing.T) { srv := NewArduinoCoreServer() loadConfig(t, srv, paths.New("testdata", "arduino-cli.yml")) - _, err := srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) + // Check loaded config + resp, err := srv.ConfigurationSave(context.Background(), &rpc.ConfigurationSaveRequest{ + SettingsFormat: "yaml", + }) + require.NoError(t, err) + require.YAMLEq(t, ` +board_manager: + additional_urls: + - http://foobar.com + - http://example.com + +daemon: + port: "50051" + +directories: + data: /home/massi/.arduino15 + downloads: /home/massi/.arduino15/staging + +logging: + file: "" + format: text + level: info + +network: + proxy: "123" +`, resp.GetEncodedSettings()) + + // Check default and setted values + res, err := srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) + require.NoError(t, err) + require.Equal(t, `{"proxy":"123"}`, res.GetEncodedValue()) + // Maybe should be like this? + // require.Equal(t, `{"proxy":"123","connection_timeout":"1m0s"}`, res.GetEncodedValue()) + res, err = srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network.connection_timeout"}) + require.Equal(t, `"1m0s"`, res.GetEncodedValue()) // default value require.NoError(t, err) + // Run deletion _, err = srv.SettingsSetValue(context.Background(), &rpc.SettingsSetValueRequest{Key: "network", EncodedValue: ""}) require.NoError(t, err) + resp, err = srv.ConfigurationSave(context.Background(), &rpc.ConfigurationSaveRequest{ + SettingsFormat: "yaml", + }) + require.NoError(t, err) + require.YAMLEq(t, ` +board_manager: + additional_urls: + - http://foobar.com + - http://example.com - _, err = srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) - require.Error(t, err) +daemon: + port: "50051" + +directories: + data: /home/massi/.arduino15 + downloads: /home/massi/.arduino15/staging + +logging: + file: "" + format: text + level: info +`, resp.GetEncodedSettings()) + // Check default and setted values + res, err = srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network"}) + require.NoError(t, err) + require.Equal(t, `{"connection_timeout":"1m0s"}`, res.GetEncodedValue()) + res, err = srv.SettingsGetValue(context.Background(), &rpc.SettingsGetValueRequest{Key: "network.connection_timeout"}) + require.Equal(t, `"1m0s"`, res.GetEncodedValue()) // default value + require.NoError(t, err) } diff --git a/docs/configuration.md b/docs/configuration.md index 921554d4ceb..c069638328f 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -45,6 +45,11 @@ [time.ParseDuration()](https://pkg.go.dev/time#ParseDuration), defaults to `720h` (30 days). - `network` - configuration options related to the network connection. - `proxy` - URL of the proxy server. + - `connection_timeout` - network connection timeout, the value format must be a valid input for + [time.ParseDuration()](https://pkg.go.dev/time#ParseDuration), defaults to `60s` (60 seconds). `0` means it will + wait indefinitely. + - `cloud_api.skip_board_detection_calls` - if set to `true` it will make the Arduino CLI skip network calls to Arduino + Cloud API to help detection of an unknown board. ### Default directories diff --git a/internal/cli/configuration/configuration.schema.json b/internal/cli/configuration/configuration.schema.json index 2f696904972..4d129e5efd8 100644 --- a/internal/cli/configuration/configuration.schema.json +++ b/internal/cli/configuration/configuration.schema.json @@ -38,16 +38,8 @@ }, "ttl": { "description": "cache expiration time of build folders. If the cache is hit by a compilation the corresponding build files lifetime is renewed. The value format must be a valid input for time.ParseDuration(), defaults to `720h` (30 days)", - "oneOf": [ - { - "type": "integer", - "minimum": 0 - }, - { - "type": "string", - "pattern": "^\\+?([0-9]?\\.?[0-9]+(([nuµm]?s)|m|h))+$" - } - ] + "type": "string", + "pattern": "^[+-]?(([0-9]+(\\.[0-9]*)?|(\\.[0-9]+))(ns|us|µs|μs|ms|s|m|h))+$" } }, "type": "object" @@ -146,6 +138,35 @@ }, "type": "object" }, + "network": { + "description": "settings related to network connections.", + "type": "object", + "properties": { + "proxy": { + "description": "proxy settings for network connections.", + "type": "string" + }, + "user_agent_ext": { + "description": "extra string to append to the user agent string in HTTP requests.", + "type": "string" + }, + "connection_timeout": { + "description": "timeout for network connections, defaults to '30s'", + "type": "string", + "pattern": "^[+-]?(([0-9]+(\\.[0-9]*)?|(\\.[0-9]+))(ns|us|µs|μs|ms|s|m|h))+$" + }, + "cloud_api": { + "description": "settings related to the Arduino Cloud API.", + "type": "object", + "properties": { + "skip_board_detection_calls": { + "description": "do not call the Arduino Cloud API to detect an unknown board", + "type": "boolean" + } + } + } + } + }, "output": { "description": "settings related to text output.", "properties": { diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index 40f8b472cdb..6e46e2a1564 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -71,6 +71,9 @@ func SetDefaults(settings *Settings) { // network settings setKeyTypeSchema("network.proxy", "") setKeyTypeSchema("network.user_agent_ext", "") + setDefaultValueAndKeyTypeSchema("network.connection_timeout", (time.Second * 60).String()) + // network: Arduino Cloud API settings + setKeyTypeSchema("network.cloud_api.skip_board_detection_calls", false) // locale setKeyTypeSchema("locale", "") diff --git a/internal/cli/configuration/network.go b/internal/cli/configuration/network.go index 2c8a8047ce5..c570d0a3b82 100644 --- a/internal/cli/configuration/network.go +++ b/internal/cli/configuration/network.go @@ -22,6 +22,7 @@ import ( "net/url" "os" "runtime" + "time" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/i18n" @@ -58,6 +59,19 @@ func (settings *Settings) ExtraUserAgent() string { return settings.GetString("network.user_agent_ext") } +// ConnectionTimeout returns the network connection timeout +func (settings *Settings) ConnectionTimeout() time.Duration { + if timeout, ok, _ := settings.GetDurationOk("network.connection_timeout"); ok { + return timeout + } + return settings.Defaults.GetDuration("network.connection_timeout") +} + +// SkipCloudApiForBoardDetection returns whether the cloud API should be ignored for board detection +func (settings *Settings) SkipCloudApiForBoardDetection() bool { + return settings.GetBool("network.cloud_api.skip_board_detection_calls") +} + // NetworkProxy returns the proxy configuration (mainly used by HTTP clients) func (settings *Settings) NetworkProxy() (*url.URL, error) { if proxyConfig, ok, _ := settings.GetStringOk("network.proxy"); !ok { @@ -82,6 +96,7 @@ func (settings *Settings) NewHttpClient() (*http.Client, error) { }, userAgent: settings.UserAgent(), }, + Timeout: settings.ConnectionTimeout(), }, nil } diff --git a/internal/cli/configuration/network_test.go b/internal/cli/configuration/network_test.go index 6c8a7def80d..68cc84fdd59 100644 --- a/internal/cli/configuration/network_test.go +++ b/internal/cli/configuration/network_test.go @@ -21,6 +21,7 @@ import ( "net/http" "net/http/httptest" "testing" + "time" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/stretchr/testify/require" @@ -68,3 +69,41 @@ func TestProxy(t *testing.T) { require.NoError(t, err) require.Equal(t, http.StatusNoContent, response.StatusCode) } + +func TestConnectionTimeout(t *testing.T) { + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + time.Sleep(5 * time.Second) + w.WriteHeader(http.StatusNoContent) + })) + defer ts.Close() + + doRequest := func(timeout int) (*http.Response, time.Duration, error) { + settings := configuration.NewSettings() + require.NoError(t, settings.Set("network.proxy", ts.URL)) + if timeout != 0 { + require.NoError(t, settings.Set("network.connection_timeout", "2s")) + } + client, err := settings.NewHttpClient() + require.NoError(t, err) + + request, err := http.NewRequest("GET", "http://arduino.cc", nil) + require.NoError(t, err) + + start := time.Now() + resp, err := client.Do(request) + duration := time.Since(start) + + return resp, duration, err + } + + // Using default timeout (0), will wait indefinitely (in our case up to 5s) + response, elapsed, err := doRequest(0) + require.NoError(t, err) + require.Equal(t, http.StatusNoContent, response.StatusCode) + require.True(t, elapsed.Seconds() >= 4 && elapsed.Seconds() <= 6) // Adding some tolerance just in case... + + // Setting a timeout of 1 seconds, will drop the connection after 1s + _, elapsed, err = doRequest(1) + require.Error(t, err) + require.True(t, elapsed.Seconds() >= 0.5 && elapsed.Seconds() <= 3) // Adding some tolerance just in case... +} diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 3bc667e8192..229a9d7243d 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -874,6 +874,9 @@ type BoardListRequest struct { // The fully qualified board name of the board you want information about // (e.g., `arduino:avr:uno`). Fqbn string `protobuf:"bytes,3,opt,name=fqbn,proto3" json:"fqbn,omitempty"` + // If set to true, when a board cannot be identified using the installed + // platforms, the cloud API will not be called to detect the board. + SkipCloudApiForBoardDetection bool `protobuf:"varint,4,opt,name=skip_cloud_api_for_board_detection,json=skipCloudApiForBoardDetection,proto3" json:"skip_cloud_api_for_board_detection,omitempty"` } func (x *BoardListRequest) Reset() { @@ -929,6 +932,13 @@ func (x *BoardListRequest) GetFqbn() string { return "" } +func (x *BoardListRequest) GetSkipCloudApiForBoardDetection() bool { + if x != nil { + return x.SkipCloudApiForBoardDetection + } + return false +} + type BoardListResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1164,6 +1174,9 @@ type BoardListWatchRequest struct { // Arduino Core Service instance from the `Init` response. Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // If set to true, when a board cannot be identified using the installed + // platforms, the cloud API will not be called to detect the board. + SkipCloudApiForBoardDetection bool `protobuf:"varint,2,opt,name=skip_cloud_api_for_board_detection,json=skipCloudApiForBoardDetection,proto3" json:"skip_cloud_api_for_board_detection,omitempty"` } func (x *BoardListWatchRequest) Reset() { @@ -1205,6 +1218,13 @@ func (x *BoardListWatchRequest) GetInstance() *Instance { return nil } +func (x *BoardListWatchRequest) GetSkipCloudApiForBoardDetection() bool { + if x != nil { + return x.SkipCloudApiForBoardDetection + } + return false +} + type BoardListWatchResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1608,7 +1628,7 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x65, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, + 0x65, 0x63, 0x74, 0x65, 0x64, 0x22, 0xcd, 0x01, 0x0a, 0x10, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, @@ -1616,86 +1636,96 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x22, 0x6f, 0x0a, 0x11, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3e, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, - 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x77, 0x61, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0c, - 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x52, 0x0a, 0x0f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, - 0x52, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, - 0x12, 0x34, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, - 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, - 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, - 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, - 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, - 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, - 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, - 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, - 0x22, 0x59, 0x0a, 0x15, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x16, - 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, - 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, - 0x71, 0x62, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, - 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x49, 0x0a, 0x22, 0x73, 0x6b, + 0x69, 0x70, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x66, 0x6f, 0x72, + 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x6b, 0x69, 0x70, 0x43, 0x6c, 0x6f, 0x75, + 0x64, 0x41, 0x70, 0x69, 0x46, 0x6f, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x6f, 0x0a, 0x11, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x05, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x50, + 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x77, 0x61, + 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x73, 0x22, 0x98, 0x01, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x52, 0x0a, 0x0f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0e, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x04, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, + 0x74, 0x22, 0xac, 0x01, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, - 0x22, 0x58, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x22, 0x59, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, + 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0xa4, 0x01, 0x0a, 0x15, + 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, - 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, - 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x49, 0x0a, 0x22, 0x73, 0x6b, 0x69, 0x70, 0x5f, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x70, 0x69, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 0x62, 0x6f, + 0x61, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x1d, 0x73, 0x6b, 0x69, 0x70, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x70, + 0x69, 0x46, 0x6f, 0x72, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x8b, 0x01, 0x0a, 0x16, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3c, 0x0a, 0x04, + 0x70, 0x6f, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, + 0x50, 0x6f, 0x72, 0x74, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x96, 0x01, 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, + 0x65, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x66, 0x71, 0x62, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x68, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x48, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, + 0x6f, 0x72, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x52, + 0x08, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x22, 0xab, 0x01, 0x0a, 0x12, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, 0x72, 0x67, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x41, + 0x72, 0x67, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x68, + 0x69, 0x64, 0x64, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x13, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x48, 0x69, 0x64, 0x64, 0x65, + 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x22, 0x58, 0x0a, 0x13, 0x42, 0x6f, 0x61, 0x72, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, + 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, + 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/rpc/cc/arduino/cli/commands/v1/board.proto b/rpc/cc/arduino/cli/commands/v1/board.proto index 27be0f19d01..01d8145acdc 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.proto +++ b/rpc/cc/arduino/cli/commands/v1/board.proto @@ -162,6 +162,9 @@ message BoardListRequest { // The fully qualified board name of the board you want information about // (e.g., `arduino:avr:uno`). string fqbn = 3; + // If set to true, when a board cannot be identified using the installed + // platforms, the cloud API will not be called to detect the board. + bool skip_cloud_api_for_board_detection = 4; } message BoardListResponse { @@ -195,6 +198,9 @@ message BoardListAllResponse { message BoardListWatchRequest { // Arduino Core Service instance from the `Init` response. Instance instance = 1; + // If set to true, when a board cannot be identified using the installed + // platforms, the cloud API will not be called to detect the board. + bool skip_cloud_api_for_board_detection = 2; } message BoardListWatchResponse { From 56b79c0123184efe2fc0ca21ffb2cbb2b5919ef4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 15:56:42 +0100 Subject: [PATCH 290/361] [skip changelog] Bump google.golang.org/grpc from 1.68.1 to 1.69.0 (#2783) * [skip changelog] Bump google.golang.org/grpc from 1.68.1 to 1.69.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.68.1 to 1.69.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.68.1...v1.69.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/golang.org/x/crypto/argon2.dep.yml | 6 ++-- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 ++-- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 ++-- .../go/golang.org/x/crypto/cast5.dep.yml | 6 ++-- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 ++-- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 ++-- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 ++-- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 ++-- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 ++-- .../x/crypto/ssh/knownhosts.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/context.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/http2.dep.yml | 6 ++-- .../golang.org/x/net/internal/socks.dep.yml | 6 ++-- .../x/net/internal/timeseries.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/trace.dep.yml | 6 ++-- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../google.golang.org/grpc/attributes.dep.yml | 4 +-- .../go/google.golang.org/grpc/backoff.dep.yml | 4 +-- .../google.golang.org/grpc/balancer.dep.yml | 4 +-- .../grpc/balancer/base.dep.yml | 4 +-- .../grpc/balancer/grpclb/state.dep.yml | 4 +-- .../grpc/balancer/pickfirst.dep.yml | 4 +-- .../grpc/balancer/pickfirst/internal.dep.yml | 4 +-- .../balancer/pickfirst/pickfirstleaf.dep.yml | 4 +-- .../grpc/balancer/roundrobin.dep.yml | 4 +-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 +-- .../google.golang.org/grpc/channelz.dep.yml | 4 +-- .../go/google.golang.org/grpc/codes.dep.yml | 4 +-- .../grpc/connectivity.dep.yml | 4 +-- .../grpc/credentials.dep.yml | 4 +-- .../grpc/credentials/insecure.dep.yml | 4 +-- .../google.golang.org/grpc/encoding.dep.yml | 4 +-- .../grpc/encoding/proto.dep.yml | 4 +-- .../grpc/experimental/stats.dep.yml | 4 +-- .../go/google.golang.org/grpc/grpclog.dep.yml | 4 +-- .../grpc/grpclog/internal.dep.yml | 4 +-- .../google.golang.org/grpc/internal.dep.yml | 4 +-- .../grpc/internal/backoff.dep.yml | 4 +-- .../internal/balancer/gracefulswitch.dep.yml | 4 +-- .../grpc/internal/balancerload.dep.yml | 4 +-- .../grpc/internal/binarylog.dep.yml | 4 +-- .../grpc/internal/buffer.dep.yml | 4 +-- .../grpc/internal/channelz.dep.yml | 4 +-- .../grpc/internal/credentials.dep.yml | 4 +-- .../grpc/internal/envconfig.dep.yml | 4 +-- .../grpc/internal/grpclog.dep.yml | 4 +-- .../grpc/internal/grpcsync.dep.yml | 4 +-- .../grpc/internal/grpcutil.dep.yml | 4 +-- .../grpc/internal/idle.dep.yml | 4 +-- .../grpc/internal/metadata.dep.yml | 4 +-- .../grpc/internal/pretty.dep.yml | 4 +-- .../grpc/internal/resolver.dep.yml | 4 +-- .../grpc/internal/resolver/dns.dep.yml | 4 +-- .../internal/resolver/dns/internal.dep.yml | 4 +-- .../internal/resolver/passthrough.dep.yml | 4 +-- .../grpc/internal/resolver/unix.dep.yml | 4 +-- .../grpc/internal/serviceconfig.dep.yml | 4 +-- .../grpc/internal/stats.dep.yml | 4 +-- .../grpc/internal/status.dep.yml | 4 +-- .../grpc/internal/syscall.dep.yml | 4 +-- .../grpc/internal/transport.dep.yml | 4 +-- .../internal/transport/networktype.dep.yml | 4 +-- .../google.golang.org/grpc/keepalive.dep.yml | 4 +-- .../go/google.golang.org/grpc/mem.dep.yml | 4 +-- .../google.golang.org/grpc/metadata.dep.yml | 4 +-- .../go/google.golang.org/grpc/peer.dep.yml | 4 +-- .../google.golang.org/grpc/resolver.dep.yml | 4 +-- .../grpc/resolver/dns.dep.yml | 4 +-- .../grpc/serviceconfig.dep.yml | 4 +-- .../go/google.golang.org/grpc/stats.dep.yml | 4 +-- .../go/google.golang.org/grpc/status.dep.yml | 4 +-- .../go/google.golang.org/grpc/tap.dep.yml | 4 +-- go.mod | 6 ++-- go.sum | 28 +++++++++++++++---- 75 files changed, 186 insertions(+), 170 deletions(-) diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 674253010c3..01453c011ca 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.27.0 +version: v0.28.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index a3fd43281bf..b614fc42a34 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.27.0 +version: v0.28.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index e0dd888a34b..21adc24772e 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.27.0 +version: v0.28.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index 48866476e00..addd2e796eb 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.27.0 +version: v0.28.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 8562c564560..f9cec8ddbd8 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.27.0 +version: v0.28.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index f41b21482a3..6960b1468bc 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.27.0 +version: v0.28.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index ad9db6f6438..b5d6298d375 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.27.0 +version: v0.28.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index 120ed9826c7..a026626ebf5 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.27.0 +version: v0.28.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index 7a516ced07e..d47d409441b 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.27.0 +version: v0.28.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 1d94cea82bf..3fc7a0b60d8 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.27.0 +version: v0.28.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.27.0/LICENSE +- sources: crypto@v0.28.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.27.0/PATENTS +- sources: crypto@v0.28.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index 642d6bd15e6..a4e81e24448 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.29.0 +version: v0.30.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.29.0/LICENSE +- sources: net@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.29.0/PATENTS +- sources: net@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index b840b97b3c9..62e67f2fcaf 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.29.0 +version: v0.30.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.29.0/LICENSE +- sources: net@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.29.0/PATENTS +- sources: net@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index da934f75e0f..c433390b0c8 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.29.0 +version: v0.30.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.29.0/LICENSE +- sources: net@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.29.0/PATENTS +- sources: net@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 9d88035d9fb..b6b94131f76 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.29.0 +version: v0.30.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.29.0/LICENSE +- sources: net@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.29.0/PATENTS +- sources: net@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index 532eb175c96..f97e237bf2c 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.29.0 +version: v0.30.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.29.0/LICENSE +- sources: net@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.29.0/PATENTS +- sources: net@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 78d8df5e49f..592ac05c216 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.29.0 +version: v0.30.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.29.0/LICENSE +- sources: net@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.29.0/PATENTS +- sources: net@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 516363a3924..1339643429b 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.68.1 +version: v1.69.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 68a04eb6788..75ac8aeec3d 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.68.1 +version: v1.69.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 4c1c1326ed1..9060affa922 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.68.1 +version: v1.69.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 84f25fb39d7..5c847231ba8 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.68.1 +version: v1.69.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index d656494818f..d8462427e5c 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.68.1 +version: v1.69.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index a560c405172..df7a7522ef2 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.68.1 +version: v1.69.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 3512ab80053..e56bf9eb52d 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.68.1 +version: v1.69.0 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 3f661de4a9f..49b662d4f8f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.68.1 +version: v1.69.0 type: go summary: Package internal contains code internal to the pickfirst package. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index 78da4f9940d..8640262c940 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.68.1 +version: v1.69.0 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 94c2404891f..bcf9a692bf8 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.68.1 +version: v1.69.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 8bb22dda1ff..88b20b858df 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.68.1 +version: v1.69.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index e584866d1a2..7a6bdbd9608 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.68.1 +version: v1.69.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index d21fa5d06b5..8f7b6989177 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.68.1 +version: v1.69.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index fe44be85335..28086f001cc 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.68.1 +version: v1.69.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index b3bf16cdd60..61a889d5405 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.68.1 +version: v1.69.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 8524f8ae773..ba34323197f 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.68.1 +version: v1.69.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index cd7a809f2a2..0fb9d7e076c 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.68.1 +version: v1.69.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index fd76b9a0b48..91ccb2c29f0 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.68.1 +version: v1.69.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index bffe7eb202b..594e29dfa1d 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.68.1 +version: v1.69.0 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 2b15fa123bc..b0b986cebf1 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.68.1 +version: v1.69.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index b338961a381..4157193a20c 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.68.1 +version: v1.69.0 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index c6c850158ff..8c0799fd5c5 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.68.1 +version: v1.69.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index b60d45d07e8..d041991b2e7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.68.1 +version: v1.69.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index a3e0ab5f79e..a3a17d86d2e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.68.1 +version: v1.69.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index f4dbd09f09c..c245247d944 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.68.1 +version: v1.69.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 635932d56b4..0eb8c04ca29 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.68.1 +version: v1.69.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 5023c82ead3..7f47ebdec2d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.68.1 +version: v1.69.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index f95d47252c9..4c9284589c0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.68.1 +version: v1.69.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index f85e797fba8..6a8719047b1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.68.1 +version: v1.69.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index b7a99d84db1..acf105fb65f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.68.1 +version: v1.69.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 3242c2f5022..f76d52bd3de 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.68.1 +version: v1.69.0 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index a7d94d5c921..d8492ee2d93 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.68.1 +version: v1.69.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index d25dffa67cf..02ad58c67f7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.68.1 +version: v1.69.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 492b4b58897..67a31ac5cd9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.68.1 +version: v1.69.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 852828d8546..179bd6ced2a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.68.1 +version: v1.69.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index d7acd10fe4a..6e8a7334188 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.68.1 +version: v1.69.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index f443fa0d0b4..8318a4756e3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.68.1 +version: v1.69.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 5c04d84136b..e44cc0a032a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.68.1 +version: v1.69.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 674eb88c5ad..23ace18a8ba 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.68.1 +version: v1.69.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 00a395cd3f7..7f914f46195 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.68.1 +version: v1.69.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 4979218b2ad..4a7ecede3d4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.68.1 +version: v1.69.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 3a4ae7f194b..d216e2c648f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.68.1 +version: v1.69.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index 700e7bf3978..95731238631 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.68.1 +version: v1.69.0 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 964cab18a33..6f742696787 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.68.1 +version: v1.69.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 0ea48d98a61..053d28a2e1b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.68.1 +version: v1.69.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index d70d9218592..1c0e44da7a2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.68.1 +version: v1.69.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 2fb39eb452b..2b59262727f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.68.1 +version: v1.69.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 72a5ef61443..7eb5d7dca98 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.68.1 +version: v1.69.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index f6986213b70..ba1018f74de 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.68.1 +version: v1.69.0 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 80aa98281c7..9a7566ffbad 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.68.1 +version: v1.69.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 0bd3c0b7176..c81debec828 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.68.1 +version: v1.69.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 4797c540481..061bc83a38f 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.68.1 +version: v1.69.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 7e58f1bde0c..7a8383cd526 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.68.1 +version: v1.69.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index d61f367d070..6b1dc4e93f2 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.68.1 +version: v1.69.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 569b7626367..7810e9a5d7e 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.68.1 +version: v1.69.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 291924a77eb..d13133bc313 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.68.1 +version: v1.69.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 4789fde1d80..9c135af9c80 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.68.1 +version: v1.69.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.68.1/LICENSE +- sources: grpc@v1.69.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 3008bc902b2..582b6f937ab 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( golang.org/x/term v0.27.0 golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 - google.golang.org/grpc v1.68.1 + google.golang.org/grpc v1.69.0 google.golang.org/protobuf v1.35.2 gopkg.in/yaml.v3 v3.0.1 ) @@ -96,10 +96,10 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.27.0 // indirect + golang.org/x/crypto v0.28.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.29.0 // indirect + golang.org/x/net v0.30.0 // indirect golang.org/x/sync v0.10.0 // indirect golang.org/x/tools v0.22.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index ca03bebff78..140789d1cb5 100644 --- a/go.sum +++ b/go.sum @@ -74,6 +74,10 @@ github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2Su github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/gofrs/uuid/v5 v5.3.0 h1:m0mUMr+oVYUdxpMLgSYCZiXe7PuVPnI94+OMeVBNedk= github.com/gofrs/uuid/v5 v5.3.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= @@ -82,6 +86,8 @@ github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMyw github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -227,6 +233,16 @@ go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.2.0 h1:0pAfOUMVCOJ6bb9JcC4UmnACjxwxv2Ojb6Z9chaQBjg= go.bug.st/testifyjson v1.2.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= +go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= +go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= +go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= +go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= +go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= +go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= +go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= +go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= +go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= @@ -237,8 +253,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= -golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70= +golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -249,8 +265,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= -golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= @@ -295,8 +311,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= -google.golang.org/grpc v1.68.1 h1:oI5oTa11+ng8r8XMMN7jAOmWfPZWbYpCFaMUTACxkM0= -google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= +google.golang.org/grpc v1.69.0 h1:quSiOM1GJPmPH5XtU+BCoVXcDVJJAzNcoyfC2cCjGkI= +google.golang.org/grpc v1.69.0/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 31a3d026f37c93ab58e0230cfbc6083cb4510473 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 16:23:57 +0100 Subject: [PATCH 291/361] [skip changelog] Bump google.golang.org/protobuf from 1.35.2 to 1.36.0 (#2787) * [skip changelog] Bump google.golang.org/protobuf from 1.35.2 to 1.36.0 Bumps google.golang.org/protobuf from 1.35.2 to 1.36.0. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../protobuf/encoding/protojson.dep.yml | 6 +- .../protobuf/encoding/prototext.dep.yml | 6 +- .../protobuf/encoding/protowire.dep.yml | 6 +- .../protobuf/internal/descfmt.dep.yml | 6 +- .../protobuf/internal/descopts.dep.yml | 6 +- .../protobuf/internal/detrand.dep.yml | 6 +- .../protobuf/internal/editiondefaults.dep.yml | 6 +- .../protobuf/internal/encoding/defval.dep.yml | 6 +- .../protobuf/internal/encoding/json.dep.yml | 6 +- .../internal/encoding/messageset.dep.yml | 6 +- .../protobuf/internal/encoding/tag.dep.yml | 6 +- .../protobuf/internal/encoding/text.dep.yml | 6 +- .../protobuf/internal/errors.dep.yml | 6 +- .../protobuf/internal/filedesc.dep.yml | 6 +- .../protobuf/internal/filetype.dep.yml | 6 +- .../protobuf/internal/flags.dep.yml | 6 +- .../protobuf/internal/genid.dep.yml | 6 +- .../protobuf/internal/impl.dep.yml | 6 +- .../protobuf/internal/order.dep.yml | 6 +- .../protobuf/internal/pragma.dep.yml | 6 +- .../protobuf/internal/protolazy.dep.yml | 62 +++++++++++++++++++ .../protobuf/internal/set.dep.yml | 6 +- .../protobuf/internal/strs.dep.yml | 6 +- .../protobuf/internal/version.dep.yml | 6 +- .../google.golang.org/protobuf/proto.dep.yml | 6 +- .../protobuf/protoadapt.dep.yml | 6 +- .../protobuf/reflect/protoreflect.dep.yml | 6 +- .../protobuf/reflect/protoregistry.dep.yml | 6 +- .../protobuf/runtime/protoiface.dep.yml | 6 +- .../protobuf/runtime/protoimpl.dep.yml | 6 +- .../protobuf/types/known/anypb.dep.yml | 6 +- .../protobuf/types/known/durationpb.dep.yml | 6 +- .../protobuf/types/known/timestamppb.dep.yml | 6 +- go.mod | 2 +- go.sum | 4 +- 35 files changed, 161 insertions(+), 99 deletions(-) create mode 100644 .licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 4520ddc9bee..36b433fac99 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.35.2 +version: v1.36.0 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index 9d5d7516ec8..bbb297655f0 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.35.2 +version: v1.36.0 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 888407b363f..2f16448c2a2 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.35.2 +version: v1.36.0 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index a12de78dabe..b3cd70d79be 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.35.2 +version: v1.36.0 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index a510e41cbe4..71c756a6e79 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.35.2 +version: v1.36.0 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 30269242484..045c7d81621 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.35.2 +version: v1.36.0 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index ace10a86f13..9e00bae8e03 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.35.2 +version: v1.36.0 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index 68b997e77ca..67d37ae5cbb 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.35.2 +version: v1.36.0 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index f1021700b75..51d30ec38de 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.35.2 +version: v1.36.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 595ee977f90..e7ad8581d17 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.35.2 +version: v1.36.0 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index 09997aa9a5f..6920380996d 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.35.2 +version: v1.36.0 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index 9837b26d48f..bcbf42d19fb 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.35.2 +version: v1.36.0 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index d733951465c..6d27d17a627 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.35.2 +version: v1.36.0 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index 17a894eef3b..11c969d637b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.35.2 +version: v1.36.0 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index e7e68666d83..0d97b7f04bd 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.35.2 +version: v1.36.0 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index cae0c605a57..9d7935abf1e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.35.2 +version: v1.36.0 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 70c1591fd98..a12b4445d70 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.35.2 +version: v1.36.0 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index f9995b6ee04..3e0b78b8d83 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.35.2 +version: v1.36.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index 2c1a9f27231..f9459433708 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.35.2 +version: v1.36.0 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index 787edcfd2a0..76f8f820af3 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.35.2 +version: v1.36.0 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml new file mode 100644 index 00000000000..db36c761958 --- /dev/null +++ b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml @@ -0,0 +1,62 @@ +--- +name: google.golang.org/protobuf/internal/protolazy +version: v1.36.0 +type: go +summary: Package protolazy contains internal data structures for lazy message decoding. +homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/protolazy +license: bsd-3-clause +licenses: +- sources: protobuf@v1.36.0/LICENSE + text: | + Copyright (c) 2018 The Go Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: protobuf@v1.36.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index bcc58d1c279..709ce32833e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.35.2 +version: v1.36.0 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index 06fb81ca898..a2c867fb516 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.35.2 +version: v1.36.0 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index dc5ff7b2cff..7875269a946 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.35.2 +version: v1.36.0 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index 3fb02251c24..aad63ee2901 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.35.2 +version: v1.36.0 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index 6d6b7fe4007..db31ae5e37a 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.35.2 +version: v1.36.0 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index e3462a07643..2bf8ba6891c 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.35.2 +version: v1.36.0 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 778e22cc78a..2a6f8a6817b 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.35.2 +version: v1.36.0 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 37bd0995040..1a8ff22148f 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.35.2 +version: v1.36.0 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 51576f89996..60d16b2c2f1 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.35.2 +version: v1.36.0 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 9b9ab7d3cb8..1b79d035a97 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.35.2 +version: v1.36.0 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index d20db997456..343c0bb59e4 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.35.2 +version: v1.36.0 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index 4398d197830..166198d74ff 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.35.2 +version: v1.36.0 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.35.2/LICENSE +- sources: protobuf@v1.36.0/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.35.2/PATENTS +- sources: protobuf@v1.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 582b6f937ab..2ce26c34731 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 google.golang.org/grpc v1.69.0 - google.golang.org/protobuf v1.35.2 + google.golang.org/protobuf v1.36.0 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 140789d1cb5..f4f540b9152 100644 --- a/go.sum +++ b/go.sum @@ -313,8 +313,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.69.0 h1:quSiOM1GJPmPH5XtU+BCoVXcDVJJAzNcoyfC2cCjGkI= google.golang.org/grpc v1.69.0/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io= -google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ= +google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From d1cc32241f9ebe231bb3d02043095832439d9ade Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2024 16:45:52 +0100 Subject: [PATCH 292/361] [skip changelog] Bump golang.org/x/crypto from 0.28.0 to 0.31.0 (#2790) * [skip changelog] Bump golang.org/x/crypto from 0.28.0 to 0.31.0 Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.28.0 to 0.31.0. - [Commits](https://github.com/golang/crypto/compare/v0.28.0...v0.31.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/crypto/argon2.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/blake2b.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/blowfish.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/cast5.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/curve25519.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +++--- .../golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 12 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 01453c011ca..a41053afa63 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.28.0 +version: v0.31.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index b614fc42a34..0f1fdb2cf91 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.28.0 +version: v0.31.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 21adc24772e..b2ad0afb3c9 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.28.0 +version: v0.31.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index addd2e796eb..ad571ae1a30 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.28.0 +version: v0.31.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index f9cec8ddbd8..0e08062f158 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.28.0 +version: v0.31.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index 6960b1468bc..d6c8d29f5d5 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.28.0 +version: v0.31.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index b5d6298d375..5295127d4bc 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.28.0 +version: v0.31.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index a026626ebf5..e6fefd4dc51 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.28.0 +version: v0.31.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index d47d409441b..0b0572b9436 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.28.0 +version: v0.31.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 3fc7a0b60d8..46203083b6b 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.28.0 +version: v0.31.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.28.0/LICENSE +- sources: crypto@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.28.0/PATENTS +- sources: crypto@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 2ce26c34731..f5c04adaeb4 100644 --- a/go.mod +++ b/go.mod @@ -96,7 +96,7 @@ require ( go.bug.st/serial v1.6.1 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.28.0 // indirect + golang.org/x/crypto v0.31.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect golang.org/x/mod v0.18.0 // indirect golang.org/x/net v0.30.0 // indirect diff --git a/go.sum b/go.sum index f4f540b9152..f12e29bb12d 100644 --- a/go.sum +++ b/go.sum @@ -253,8 +253,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.28.0 h1:GBDwsMXVQi34v5CCYUm2jkJvu4cbtru2U4TN2PSyQnw= -golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= +golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= +golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= From 0a116e7a7c936d37e19f95fc1bc068096fe1a2ed Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessio@perugini.xyz> Date: Fri, 20 Dec 2024 11:28:55 +0100 Subject: [PATCH 293/361] compile: fix export when artifacts contains a folder (#2788) * test that the export binaries should not fail if tries to copy a dir * compile: fix export binaries when trying to copy a folder --- commands/service_compile.go | 1 + .../integrationtest/compile_1/compile_test.go | 43 +++++++++++++++++++ 2 files changed, 44 insertions(+) diff --git a/commands/service_compile.go b/commands/service_compile.go index 61f8e1ef1d7..a71195382cf 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -404,6 +404,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu return &cmderrors.PermissionDeniedError{Message: i18n.Tr("Error reading build directory"), Cause: err} } buildFiles.FilterPrefix(baseName) + buildFiles.FilterOutDirs() for _, buildFile := range buildFiles { exportedFile := exportPath.Join(buildFile.Base()) logrus.WithField("src", buildFile).WithField("dest", exportedFile).Trace("Copying artifact.") diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index 3f09906310d..fb726bc5c12 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -1321,3 +1321,46 @@ func buildWithCustomBuildPathAndOUtputDirFlag(t *testing.T, env *integrationtest require.NotEmpty(t, content) } } + +func TestCompileWithOutputDirFlagIgnoringFoldersCreatedByEsp32RainMakerLib(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("update") + require.NoError(t, err) + + // Update index with esp32 core and install it + url := "https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json" + _, _, err = cli.Run("core", "update-index", "--additional-urls="+url) + require.NoError(t, err) + _, _, err = cli.Run("core", "install", "esp32:esp32@3.0.7", "--additional-urls="+url) + require.NoError(t, err) + + sketchName := "RainMakerSketch" + sketchPath := cli.SketchbookDir().Join(sketchName) + _, _, err = cli.Run("sketch", "new", sketchPath.String()) + require.NoError(t, err) + + // When importing the `RMaker` library, the esp32 core produces in output a folder, + // containing all the binaries exported. The name of the folder matches the sketch name. + // In out case: + // cache-dir/ + // |- RainMakerSketch.ino/ <--- This should be ignored + // |- RainMakerSketch.ino.uf2 + // |- RainMakerSketch.ino.bin + // |- ... + err = sketchPath.Join(sketchName + ".ino").WriteFile([]byte(` + #include "RMaker.h" + void setup() { } + void loop() { }`, + )) + require.NoError(t, err) + + buildPath := cli.DataDir().Join("test_dir", "build_dir") + outputDir := cli.SketchbookDir().Join("test_dir", "output_dir") + _, stderr, err := cli.Run("compile", "-b", "esp32:esp32:esp32", sketchPath.String(), "--build-path", buildPath.String(), "--output-dir", outputDir.String()) + require.NoError(t, err) + require.NotContains(t, stderr, []byte("Error during build: Error copying output file")) + require.DirExists(t, buildPath.Join(sketchName+".ino").String()) + require.NoDirExists(t, outputDir.Join(sketchName+".ino").String()) +} From 7782c89325c87d9d7099597f045b4d9d3d6c9497 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 23 Dec 2024 12:57:13 +0100 Subject: [PATCH 294/361] [skip-changelog] Small improvements in Taskfile about protocol buffer generation (#2793) * Do not run protoc tasks in parallel Otherwise if the format task changes the underlying files, it will make fail the other tasks. task: [protoc:breaking-change-detection] buf breaking --against '.git#branch=origin/master,subdir=rpc' task: [protoc:format] buf format --write --exit-code task: [protoc:check] buf lint task: [protoc:compile] buf dep update Failure: context canceled Failure: context canceled Failure: context canceled exit status 100 * Simplified taskfile * Do not exit with error if `buf format` formats a file This is the intended behaviour. --- Taskfile.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Taskfile.yml b/Taskfile.yml index 82d7999da35..08cd153a3be 100755 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -228,11 +228,11 @@ tasks: protoc: desc: Lint, format and compile protobuf definitions - deps: - - protoc:check - - protoc:format - - protoc:compile - - protoc:breaking-change-detection + cmds: + - task: protoc:format + - task: protoc:check + - task: protoc:compile + - task: protoc:breaking-change-detection protoc:compile: desc: Compile protobuf definitions @@ -243,8 +243,7 @@ tasks: protoc:docs: desc: Generate docs for protobuf definitions cmds: - - | - buf generate --template buf.doc.gen.yaml + - buf generate --template buf.doc.gen.yaml docs:include-configuration-json-schema: desc: Copy configuration JSON schema to make it available in documentation @@ -266,7 +265,7 @@ tasks: protoc:format: desc: Perform formatting of the protobuf definitions cmds: - - buf format --write --exit-code + - buf format --write protoc:breaking-change-detection: desc: Detect protobuf breaking changes From 4cdf3676349e4984fe3702841e02c3a4de14103e Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 24 Dec 2024 13:05:28 +0100 Subject: [PATCH 295/361] Upgrade some golang packages (#2792) * Upgrade golang.org/x packages * Upgrade go.bug.st/serial * Upgrade go-git * Updated license cache * Fixed unit test and url parsing in lib install via git Previously go-git accepted urls in the format: https://github.com/author/repo#ref but now it refuses to fetch if the "#ref" suffix is present. The new parsing utility returns the URL cleaned up of the reference. * Added more git repo providers --- .../imdario => dario.cat}/mergo.dep.yml | 7 +- .../go/github.com/go-git/go-git/v5.dep.yml | 2 +- .../go-git/go-git/v5/config.dep.yml | 6 +- .../go-git/v5/internal/path_util.dep.yml | 214 +++++++++++++++ .../go-git/v5/internal/revision.dep.yml | 6 +- .../go-git/go-git/v5/internal/url.dep.yml | 6 +- .../go-git/go-git/v5/plumbing.dep.yml | 6 +- .../go-git/go-git/v5/plumbing/cache.dep.yml | 6 +- .../go-git/go-git/v5/plumbing/color.dep.yml | 6 +- .../go-git/v5/plumbing/filemode.dep.yml | 6 +- .../go-git/v5/plumbing/format/config.dep.yml | 6 +- .../go-git/v5/plumbing/format/diff.dep.yml | 6 +- .../v5/plumbing/format/gitignore.dep.yml | 6 +- .../go-git/v5/plumbing/format/idxfile.dep.yml | 6 +- .../go-git/v5/plumbing/format/index.dep.yml | 6 +- .../go-git/v5/plumbing/format/objfile.dep.yml | 6 +- .../v5/plumbing/format/packfile.dep.yml | 6 +- .../go-git/v5/plumbing/format/pktline.dep.yml | 6 +- .../go-git/go-git/v5/plumbing/hash.dep.yml | 215 +++++++++++++++ .../go-git/go-git/v5/plumbing/object.dep.yml | 6 +- .../go-git/v5/plumbing/protocol/packp.dep.yml | 6 +- .../protocol/packp/capability.dep.yml | 6 +- .../plumbing/protocol/packp/sideband.dep.yml | 6 +- .../go-git/go-git/v5/plumbing/revlist.dep.yml | 6 +- .../go-git/go-git/v5/plumbing/storer.dep.yml | 6 +- .../go-git/v5/plumbing/transport.dep.yml | 6 +- .../v5/plumbing/transport/client.dep.yml | 6 +- .../go-git/v5/plumbing/transport/file.dep.yml | 6 +- .../go-git/v5/plumbing/transport/git.dep.yml | 6 +- .../go-git/v5/plumbing/transport/http.dep.yml | 6 +- .../transport/internal/common.dep.yml | 6 +- .../v5/plumbing/transport/server.dep.yml | 6 +- .../go-git/v5/plumbing/transport/ssh.dep.yml | 6 +- .../go-git/go-git/v5/storage.dep.yml | 6 +- .../go-git/v5/storage/filesystem.dep.yml | 6 +- .../v5/storage/filesystem/dotgit.dep.yml | 6 +- .../go-git/go-git/v5/storage/memory.dep.yml | 6 +- .../go-git/go-git/v5/utils/binary.dep.yml | 8 +- .../go-git/go-git/v5/utils/diff.dep.yml | 6 +- .../go-git/go-git/v5/utils/ioutil.dep.yml | 6 +- .../go-git/go-git/v5/utils/merkletrie.dep.yml | 6 +- .../v5/utils/merkletrie/filesystem.dep.yml | 6 +- .../go-git/v5/utils/merkletrie/index.dep.yml | 6 +- .../utils/merkletrie/internal/frame.dep.yml | 6 +- .../go-git/v5/utils/merkletrie/noder.dep.yml | 6 +- .../go-git/go-git/v5/utils/sync.dep.yml | 214 +++++++++++++++ .../go-git/go-git/v5/utils/trace.dep.yml | 214 +++++++++++++++ .../github.com/golang/groupcache/lru.dep.yml | 202 +++++++++++++++ .../github.com/mitchellh/go-homedir.dep.yml | 32 --- .licenses/go/github.com/pjbgf/sha1cd.dep.yml | 213 +++++++++++++++ .../github.com/pjbgf/sha1cd/internal.dep.yml | 212 +++++++++++++++ .../go/github.com/pjbgf/sha1cd/ubc.dep.yml | 213 +++++++++++++++ .../sergi/go-diff/diffmatchpatch.dep.yml | 6 +- .../go/github.com/skeema/knownhosts.dep.yml | 245 ++++++++++++++++++ .licenses/go/go.bug.st/serial.dep.yml | 2 +- .../go/go.bug.st/serial/unixutils.dep.yml | 6 +- .licenses/go/golang.org/x/net/context.dep.yml | 6 +- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +- .../golang.org/x/net/internal/socks.dep.yml | 6 +- .../x/net/internal/timeseries.dep.yml | 6 +- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +- go.mod | 21 +- go.sum | 93 +++---- .../libraries/librariesmanager/install.go | 68 +++-- .../librariesmanager/install_test.go | 132 ++++++---- 66 files changed, 2262 insertions(+), 333 deletions(-) rename .licenses/go/{github.com/imdario => dario.cat}/mergo.dep.yml (95%) create mode 100644 .licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml create mode 100644 .licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml create mode 100644 .licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml create mode 100644 .licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml create mode 100644 .licenses/go/github.com/golang/groupcache/lru.dep.yml delete mode 100644 .licenses/go/github.com/mitchellh/go-homedir.dep.yml create mode 100644 .licenses/go/github.com/pjbgf/sha1cd.dep.yml create mode 100644 .licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml create mode 100644 .licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml create mode 100644 .licenses/go/github.com/skeema/knownhosts.dep.yml diff --git a/.licenses/go/github.com/imdario/mergo.dep.yml b/.licenses/go/dario.cat/mergo.dep.yml similarity index 95% rename from .licenses/go/github.com/imdario/mergo.dep.yml rename to .licenses/go/dario.cat/mergo.dep.yml index 5d739462a9e..45534cb4edc 100644 --- a/.licenses/go/github.com/imdario/mergo.dep.yml +++ b/.licenses/go/dario.cat/mergo.dep.yml @@ -1,9 +1,9 @@ --- -name: github.com/imdario/mergo -version: v0.3.12 +name: dario.cat/mergo +version: v1.0.0 type: go summary: A helper to merge structs and maps in Golang. -homepage: https://pkg.go.dev/github.com/imdario/mergo +homepage: https://pkg.go.dev/dario.cat/mergo license: bsd-3-clause licenses: - sources: LICENSE @@ -40,6 +40,5 @@ licenses: text: |- [BSD 3-Clause](http://opensource.org/licenses/BSD-3-Clause) license, as [Go language](http://golang.org/LICENSE). - [![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fimdario%2Fmergo.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fimdario%2Fmergo?ref=badge_large) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5.dep.yml b/.licenses/go/github.com/go-git/go-git/v5.dep.yml index e578fe0864b..3636534d94f 100644 --- a/.licenses/go/github.com/go-git/go-git/v5.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5 -version: v5.4.2 +version: v5.12.0 type: go summary: A highly extensible git implementation in pure Go. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5 diff --git a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml index bd3dea9b8d8..c6d3c8f19d7 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/config -version: v5.4.2 +version: v5.12.0 type: go summary: Package config contains the abstraction of multiple config files homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/config license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml new file mode 100644 index 00000000000..2fd13452161 --- /dev/null +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml @@ -0,0 +1,214 @@ +--- +name: github.com/go-git/go-git/v5/internal/path_util +version: v5.12.0 +type: go +summary: +homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/path_util +license: apache-2.0 +licenses: +- sources: v5@v5.12.0/LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Sourced Technologies, S.L. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: v5@v5.12.0/README.md + text: Apache License Version 2.0, see [LICENSE](LICENSE) +notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml index d9fba01d89c..600ade30d42 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/internal/revision -version: v5.4.2 +version: v5.12.0 type: go summary: 'Package revision extracts git revision from string More information about revision : https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html' homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/revision license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml index b590f0c011d..4d8592e2663 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/url -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/url license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml index 8832bedbeef..b7778e9c682 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing -version: v5.4.2 +version: v5.12.0 type: go summary: package plumbing implement the core interfaces and structs used by go-git homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml index 6c6402d47a3..aa8d06376a1 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/cache -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/cache license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml index c3bd3a53026..a213ea81620 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/color -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/color license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml index 64866671642..f1f242085bf 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/filemode -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/filemode license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml index ef3cc2ff2f2..e4b31ef6f53 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/config -version: v5.4.2 +version: v5.12.0 type: go summary: Package config implements encoding and decoding of git config files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/config license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml index 4e3018fedfa..a7fa3155d0b 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/diff -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/diff license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml index 9790e2368c1..7c8d87dc7a6 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/gitignore -version: v5.4.2 +version: v5.12.0 type: go summary: Package gitignore implements matching file system paths to gitignore patterns that can be automatically read from a git repository tree in the order of definition @@ -8,7 +8,7 @@ summary: Package gitignore implements matching file system paths to gitignore pa homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/gitignore license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -211,6 +211,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml index f46c7348e5e..32d6fd2a906 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/idxfile -version: v5.4.2 +version: v5.12.0 type: go summary: Package idxfile implements encoding and decoding of packfile idx files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/idxfile license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml index a27872fa31a..fd33027b043 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/index -version: v5.4.2 +version: v5.12.0 type: go summary: Package index implements encoding and decoding of index format files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/index license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml index d24eecbff58..bf9d2943d5d 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/objfile -version: v5.4.2 +version: v5.12.0 type: go summary: Package objfile implements encoding and decoding of object files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/objfile license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml index eaf5827a5b0..f5856feb108 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/packfile -version: v5.4.2 +version: v5.12.0 type: go summary: Package packfile implements encoding and decoding of packfile format. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/packfile license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml index 3a47f94dbc0..28e3568db0b 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/pktline -version: v5.4.2 +version: v5.12.0 type: go summary: Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/pktline license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml new file mode 100644 index 00000000000..89068cf1291 --- /dev/null +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml @@ -0,0 +1,215 @@ +--- +name: github.com/go-git/go-git/v5/plumbing/hash +version: v5.12.0 +type: go +summary: package hash provides a way for managing the underlying hash implementations + used across go-git. +homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/hash +license: apache-2.0 +licenses: +- sources: v5@v5.12.0/LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Sourced Technologies, S.L. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: v5@v5.12.0/README.md + text: Apache License Version 2.0, see [LICENSE](LICENSE) +notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml index 623d786d6a1..04f7c8e8ce1 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/object -version: v5.4.2 +version: v5.12.0 type: go summary: Package object contains implementations of all Git objects and utility functions to work with them. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/object license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml index cf33fda3c6c..2515a78fc7a 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml index 7b3893f0d92..91995f5ff67 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/capability -version: v5.4.2 +version: v5.12.0 type: go summary: Package capability defines the server and client capabilities. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml index 45783530e22..cdcdb4cdb16 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband -version: v5.4.2 +version: v5.12.0 type: go summary: Package sideband implements a sideband mutiplex/demultiplexer homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml index dd05d9e90a5..b6ec172711d 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/revlist -version: v5.4.2 +version: v5.12.0 type: go summary: Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/revlist license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml index 001fc8bae87..ef859b4a0bf 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/storer -version: v5.4.2 +version: v5.12.0 type: go summary: Package storer defines the interfaces to store objects, references, etc. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/storer license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml index a8100155f7e..21339957692 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport -version: v5.4.2 +version: v5.12.0 type: go summary: Package transport includes the implementation for different transport protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml index dcaa6c28757..6e281465e75 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/client -version: v5.4.2 +version: v5.12.0 type: go summary: Package client contains helper function to deal with the different client protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/client license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml index 9dd61d1175b..1a1fc488f66 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/file -version: v5.4.2 +version: v5.12.0 type: go summary: Package file implements the file transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/file license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml index 5cbfc424a95..b2154b6eb4b 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/git -version: v5.4.2 +version: v5.12.0 type: go summary: Package git implements the git transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/git license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml index 0761d31f079..79fa874c48e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/http -version: v5.4.2 +version: v5.12.0 type: go summary: Package http implements the HTTP transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/http license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml index c2551eba8c2..326cdc96fab 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/internal/common -version: v5.4.2 +version: v5.12.0 type: go summary: Package common implements the git pack protocol with a pluggable transport. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/internal/common license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml index a0101bea695..34f80389d3f 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/server -version: v5.4.2 +version: v5.12.0 type: go summary: Package server implements the git server protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/server license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml index 93e9cc28ecb..42774a598e2 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/ssh -version: v5.4.2 +version: v5.12.0 type: go summary: Package ssh implements the SSH transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/ssh license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml index 57afd5c8acc..2213013c9f2 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml index 785fe51d342..f0191c2316d 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem -version: v5.4.2 +version: v5.12.0 type: go summary: Package filesystem is a storage backend base on filesystems homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml index 56572727e88..f8e8d5f60b3 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem/dotgit -version: v5.4.2 +version: v5.12.0 type: go summary: https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem/dotgit license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml index 5090c08296b..3bb5c58f50e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/memory -version: v5.4.2 +version: v5.12.0 type: go summary: Package memory is a storage backend base on memory homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/memory license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml index 78d1fda9e5b..c9297056861 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/binary -version: v5.4.2 +version: v5.12.0 type: go -summary: Package binary implements sintax-sugar functions on top of the standard library +summary: Package binary implements syntax-sugar functions on top of the standard library binary package homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/binary license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml index 30b5b63ed42..d2a10f6046e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/diff -version: v5.4.2 +version: v5.12.0 type: go summary: Package diff implements line oriented diffs, similar to the ancient Unix diff command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/diff license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml index c99f6f1f8f9..bccbba65029 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/ioutil -version: v5.4.2 +version: v5.12.0 type: go summary: Package ioutil implements some I/O utility functions. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/ioutil license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml index 265d420847b..01b460d64ec 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie -version: v5.4.2 +version: v5.12.0 type: go summary: Package merkletrie provides support for n-ary trees that are at the same time Merkle trees and Radix trees (tries). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml index fc4c222f2de..187eeb9b78f 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/filesystem -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/filesystem license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml index 6a55e655e34..76cc0291168 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/index -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/index license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml index f00790b93fb..152e97b28ac 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/internal/frame -version: v5.4.2 +version: v5.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml index c42d860de69..5b008934adf 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/noder -version: v5.4.2 +version: v5.12.0 type: go summary: Package noder provide an interface for defining nodes in a merkletrie, their hashes and their paths (a noders and its ancestors). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/noder license: apache-2.0 licenses: -- sources: v5@v5.4.2/LICENSE +- sources: v5@v5.12.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.4.2/README.md +- sources: v5@v5.12.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml new file mode 100644 index 00000000000..282b6843fc9 --- /dev/null +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml @@ -0,0 +1,214 @@ +--- +name: github.com/go-git/go-git/v5/utils/sync +version: v5.12.0 +type: go +summary: +homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/sync +license: apache-2.0 +licenses: +- sources: v5@v5.12.0/LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Sourced Technologies, S.L. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: v5@v5.12.0/README.md + text: Apache License Version 2.0, see [LICENSE](LICENSE) +notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml new file mode 100644 index 00000000000..01d114148da --- /dev/null +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml @@ -0,0 +1,214 @@ +--- +name: github.com/go-git/go-git/v5/utils/trace +version: v5.12.0 +type: go +summary: +homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/trace +license: apache-2.0 +licenses: +- sources: v5@v5.12.0/LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 Sourced Technologies, S.L. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: v5@v5.12.0/README.md + text: Apache License Version 2.0, see [LICENSE](LICENSE) +notices: [] diff --git a/.licenses/go/github.com/golang/groupcache/lru.dep.yml b/.licenses/go/github.com/golang/groupcache/lru.dep.yml new file mode 100644 index 00000000000..9fa3fc71521 --- /dev/null +++ b/.licenses/go/github.com/golang/groupcache/lru.dep.yml @@ -0,0 +1,202 @@ +--- +name: github.com/golang/groupcache/lru +version: v0.0.0-20210331224755-41bb18bfe9da +type: go +summary: Package lru implements an LRU cache. +homepage: https://pkg.go.dev/github.com/golang/groupcache/lru +license: apache-2.0 +licenses: +- sources: groupcache@v0.0.0-20210331224755-41bb18bfe9da/LICENSE + text: | + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, and + distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by the copyright + owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all other entities + that control, are controlled by, or are under common control with that entity. + For the purposes of this definition, "control" means (i) the power, direct or + indirect, to cause the direction or management of such entity, whether by + contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity exercising + permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, including + but not limited to software source code, documentation source, and configuration + files. + + "Object" form shall mean any form resulting from mechanical transformation or + translation of a Source form, including but not limited to compiled object code, + generated documentation, and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or Object form, made + available under the License, as indicated by a copyright notice that is included + in or attached to the work (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object form, that + is based on (or derived from) the Work and for which the editorial revisions, + annotations, elaborations, or other modifications represent, as a whole, an + original work of authorship. For the purposes of this License, Derivative Works + shall not include works that remain separable from, or merely link (or bind by + name) to the interfaces of, the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including the original version + of the Work and any modifications or additions to that Work or Derivative Works + thereof, that is intentionally submitted to Licensor for inclusion in the Work + by the copyright owner or by an individual or Legal Entity authorized to submit + on behalf of the copyright owner. For the purposes of this definition, + "submitted" means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, and + issue tracking systems that are managed by, or on behalf of, the Licensor for + the purpose of discussing and improving the Work, but excluding communication + that is conspicuously marked or otherwise designated in writing by the copyright + owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity on behalf + of whom a Contribution has been received by Licensor and subsequently + incorporated within the Work. + + 2. Grant of Copyright License. + + Subject to the terms and conditions of this License, each Contributor hereby + grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, + irrevocable copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the Work and such + Derivative Works in Source or Object form. + + 3. Grant of Patent License. + + Subject to the terms and conditions of this License, each Contributor hereby + grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, + irrevocable (except as stated in this section) patent license to make, have + made, use, offer to sell, sell, import, and otherwise transfer the Work, where + such license applies only to those patent claims licensable by such Contributor + that are necessarily infringed by their Contribution(s) alone or by combination + of their Contribution(s) with the Work to which such Contribution(s) was + submitted. If You institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work or a + Contribution incorporated within the Work constitutes direct or contributory + patent infringement, then any patent licenses granted to You under this License + for that Work shall terminate as of the date such litigation is filed. + + 4. Redistribution. + + You may reproduce and distribute copies of the Work or Derivative Works thereof + in any medium, with or without modifications, and in Source or Object form, + provided that You meet the following conditions: + + You must give any other recipients of the Work or Derivative Works a copy of + this License; and + You must cause any modified files to carry prominent notices stating that You + changed the files; and + You must retain, in the Source form of any Derivative Works that You distribute, + all copyright, patent, trademark, and attribution notices from the Source form + of the Work, excluding those notices that do not pertain to any part of the + Derivative Works; and + If the Work includes a "NOTICE" text file as part of its distribution, then any + Derivative Works that You distribute must include a readable copy of the + attribution notices contained within such NOTICE file, excluding those notices + that do not pertain to any part of the Derivative Works, in at least one of the + following places: within a NOTICE text file distributed as part of the + Derivative Works; within the Source form or documentation, if provided along + with the Derivative Works; or, within a display generated by the Derivative + Works, if and wherever such third-party notices normally appear. The contents of + the NOTICE file are for informational purposes only and do not modify the + License. You may add Your own attribution notices within Derivative Works that + You distribute, alongside or as an addendum to the NOTICE text from the Work, + provided that such additional attribution notices cannot be construed as + modifying the License. + You may add Your own copyright statement to Your modifications and may provide + additional or different license terms and conditions for use, reproduction, or + distribution of Your modifications, or for any such Derivative Works as a whole, + provided Your use, reproduction, and distribution of the Work otherwise complies + with the conditions stated in this License. + + 5. Submission of Contributions. + + Unless You explicitly state otherwise, any Contribution intentionally submitted + for inclusion in the Work by You to the Licensor shall be under the terms and + conditions of this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify the terms of + any separate license agreement you may have executed with Licensor regarding + such Contributions. + + 6. Trademarks. + + This License does not grant permission to use the trade names, trademarks, + service marks, or product names of the Licensor, except as required for + reasonable and customary use in describing the origin of the Work and + reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. + + Unless required by applicable law or agreed to in writing, Licensor provides the + Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, + including, without limitation, any warranties or conditions of TITLE, + NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are + solely responsible for determining the appropriateness of using or + redistributing the Work and assume any risks associated with Your exercise of + permissions under this License. + + 8. Limitation of Liability. + + In no event and under no legal theory, whether in tort (including negligence), + contract, or otherwise, unless required by applicable law (such as deliberate + and grossly negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, incidental, + or consequential damages of any character arising as a result of this License or + out of the use or inability to use the Work (including but not limited to + damages for loss of goodwill, work stoppage, computer failure or malfunction, or + any and all other commercial damages or losses), even if such Contributor has + been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. + + While redistributing the Work or Derivative Works thereof, You may choose to + offer, and charge a fee for, acceptance of support, warranty, indemnity, or + other liability obligations and/or rights consistent with this License. However, + in accepting such obligations, You may act only on Your own behalf and on Your + sole responsibility, not on behalf of any other Contributor, and only if You + agree to indemnify, defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason of your + accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work + + To apply the Apache License to your work, attach the following boilerplate + notice, with the fields enclosed by brackets "[]" replaced with your own + identifying information. (Don't include the brackets!) The text should be + enclosed in the appropriate comment syntax for the file format. We also + recommend that a file or class name and description of purpose be included on + the same "printed page" as the copyright notice for easier identification within + third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/github.com/mitchellh/go-homedir.dep.yml b/.licenses/go/github.com/mitchellh/go-homedir.dep.yml deleted file mode 100644 index 40d6bcdb08a..00000000000 --- a/.licenses/go/github.com/mitchellh/go-homedir.dep.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- -name: github.com/mitchellh/go-homedir -version: v1.1.0 -type: go -summary: -homepage: https://pkg.go.dev/github.com/mitchellh/go-homedir -license: mit -licenses: -- sources: LICENSE - text: | - The MIT License (MIT) - - Copyright (c) 2013 Mitchell Hashimoto - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -notices: [] diff --git a/.licenses/go/github.com/pjbgf/sha1cd.dep.yml b/.licenses/go/github.com/pjbgf/sha1cd.dep.yml new file mode 100644 index 00000000000..9fe0d937e9d --- /dev/null +++ b/.licenses/go/github.com/pjbgf/sha1cd.dep.yml @@ -0,0 +1,213 @@ +--- +name: github.com/pjbgf/sha1cd +version: v0.3.0 +type: go +summary: Package sha1cd implements collision detection based on the whitepaper Counter-cryptanalysis + from Marc Stevens. +homepage: https://pkg.go.dev/github.com/pjbgf/sha1cd +license: apache-2.0 +licenses: +- sources: LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml b/.licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml new file mode 100644 index 00000000000..b00ab4a61bf --- /dev/null +++ b/.licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml @@ -0,0 +1,212 @@ +--- +name: github.com/pjbgf/sha1cd/internal +version: v0.3.0 +type: go +summary: +homepage: https://pkg.go.dev/github.com/pjbgf/sha1cd/internal +license: apache-2.0 +licenses: +- sources: sha1cd@v0.3.0/LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml b/.licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml new file mode 100644 index 00000000000..73ca5283be7 --- /dev/null +++ b/.licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml @@ -0,0 +1,213 @@ +--- +name: github.com/pjbgf/sha1cd/ubc +version: v0.3.0 +type: go +summary: ubc package provides ways for SHA1 blocks to be checked for Unavoidable Bit + Conditions that arise from crypto analysis attacks. +homepage: https://pkg.go.dev/github.com/pjbgf/sha1cd/ubc +license: apache-2.0 +licenses: +- sources: sha1cd@v0.3.0/LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/github.com/sergi/go-diff/diffmatchpatch.dep.yml b/.licenses/go/github.com/sergi/go-diff/diffmatchpatch.dep.yml index 3ab4bd653d9..ee155766e7e 100644 --- a/.licenses/go/github.com/sergi/go-diff/diffmatchpatch.dep.yml +++ b/.licenses/go/github.com/sergi/go-diff/diffmatchpatch.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/sergi/go-diff/diffmatchpatch -version: v1.3.1 +version: v1.3.2-0.20230802210424-5b0b94c5c0d3 type: go summary: Package diffmatchpatch offers robust algorithms to perform the operations required for synchronizing plain text. homepage: https://pkg.go.dev/github.com/sergi/go-diff/diffmatchpatch license: apache-2.0 licenses: -- sources: go-diff@v1.3.1/LICENSE +- sources: go-diff@v1.3.2-0.20230802210424-5b0b94c5c0d3/LICENSE text: |+ Copyright (c) 2012-2016 The go-diff Authors. All rights reserved. @@ -29,7 +29,7 @@ licenses: FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: go-diff@v1.3.1/APACHE-LICENSE-2.0 +- sources: go-diff@v1.3.2-0.20230802210424-5b0b94c5c0d3/APACHE-LICENSE-2.0 text: |2 Apache License diff --git a/.licenses/go/github.com/skeema/knownhosts.dep.yml b/.licenses/go/github.com/skeema/knownhosts.dep.yml new file mode 100644 index 00000000000..5d5e6b4ba6e --- /dev/null +++ b/.licenses/go/github.com/skeema/knownhosts.dep.yml @@ -0,0 +1,245 @@ +--- +name: github.com/skeema/knownhosts +version: v1.2.2 +type: go +summary: Package knownhosts is a thin wrapper around golang.org/x/crypto/ssh/knownhosts, + adding the ability to obtain the list of host key algorithms for a known host. +homepage: https://pkg.go.dev/github.com/skeema/knownhosts +license: apache-2.0 +licenses: +- sources: LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +- sources: README.md + text: |- + **Source code copyright 2024 Skeema LLC and the Skeema Knownhosts authors** + + ```text + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + ``` +notices: +- sources: NOTICE + text: |- + Copyright 2024 Skeema LLC and the Skeema Knownhosts authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/.licenses/go/go.bug.st/serial.dep.yml b/.licenses/go/go.bug.st/serial.dep.yml index c55d351d0ca..69008aa53fb 100644 --- a/.licenses/go/go.bug.st/serial.dep.yml +++ b/.licenses/go/go.bug.st/serial.dep.yml @@ -1,6 +1,6 @@ --- name: go.bug.st/serial -version: v1.6.1 +version: v1.6.2 type: go summary: Package serial is a cross-platform serial library for the go language. homepage: https://pkg.go.dev/go.bug.st/serial diff --git a/.licenses/go/go.bug.st/serial/unixutils.dep.yml b/.licenses/go/go.bug.st/serial/unixutils.dep.yml index b744d2524d1..56868ecb299 100644 --- a/.licenses/go/go.bug.st/serial/unixutils.dep.yml +++ b/.licenses/go/go.bug.st/serial/unixutils.dep.yml @@ -1,12 +1,12 @@ --- name: go.bug.st/serial/unixutils -version: v1.6.1 +version: v1.6.2 type: go summary: homepage: https://pkg.go.dev/go.bug.st/serial/unixutils license: bsd-3-clause licenses: -- sources: serial@v1.6.1/LICENSE +- sources: serial@v1.6.2/LICENSE text: |2+ Copyright (c) 2014-2023, Cristian Maglie. @@ -41,7 +41,7 @@ licenses: ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: serial@v1.6.1/README.md +- sources: serial@v1.6.2/README.md text: |- The software is release under a [BSD 3-clause license] diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index a4e81e24448..0b7ab2451f2 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.30.0 +version: v0.33.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.30.0/LICENSE +- sources: net@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.30.0/PATENTS +- sources: net@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 62e67f2fcaf..fb9bf94baed 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.30.0 +version: v0.33.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.30.0/LICENSE +- sources: net@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.30.0/PATENTS +- sources: net@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index c433390b0c8..67b09ca0f02 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.30.0 +version: v0.33.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.30.0/LICENSE +- sources: net@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.30.0/PATENTS +- sources: net@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index b6b94131f76..d7065b3ef74 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.30.0 +version: v0.33.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.30.0/LICENSE +- sources: net@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.30.0/PATENTS +- sources: net@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index f97e237bf2c..ae88ff9d53d 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.30.0 +version: v0.33.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.30.0/LICENSE +- sources: net@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.30.0/PATENTS +- sources: net@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 592ac05c216..0f2a1fd81ca 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.30.0 +version: v0.33.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.30.0/LICENSE +- sources: net@v0.33.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.30.0/PATENTS +- sources: net@v0.33.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index f5c04adaeb4..9cd34e3074a 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.18.0 - github.com/go-git/go-git/v5 v5.4.2 + github.com/go-git/go-git/v5 v5.12.0 github.com/gofrs/uuid/v5 v5.3.0 github.com/leonelquinteros/gotext v1.7.0 github.com/mailru/easyjson v0.7.7 @@ -49,8 +49,8 @@ require ( ) require ( + dario.cat/mergo v1.0.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/acomagu/bufpipe v1.0.3 // indirect github.com/cloudflare/circl v1.3.7 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/creack/goselect v0.1.2 // indirect @@ -60,11 +60,11 @@ require ( github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/h2non/filetype v1.1.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/hcl v1.0.0 // indirect - github.com/imdario/mergo v0.3.12 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/itchyny/gojq v0.12.8 // indirect github.com/itchyny/timefmt-go v0.1.3 // indirect @@ -75,15 +75,16 @@ require ( github.com/klauspost/compress v1.17.2 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect - github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect - github.com/sergi/go-diff v1.3.1 // indirect + github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect + github.com/skeema/knownhosts v1.2.2 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect @@ -93,15 +94,15 @@ require ( github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f // indirect github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - go.bug.st/serial v1.6.1 // indirect + go.bug.st/serial v1.6.2 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/crypto v0.31.0 // indirect - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.30.0 // indirect + golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect + golang.org/x/mod v0.22.0 // indirect + golang.org/x/net v0.33.0 // indirect golang.org/x/sync v0.10.0 // indirect - golang.org/x/tools v0.22.0 // indirect + golang.org/x/tools v0.28.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index f12e29bb12d..fd7c5dc9c61 100644 --- a/go.sum +++ b/go.sum @@ -1,15 +1,12 @@ -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/ProtonMail/go-crypto v0.0.0-20210428141323-04723f9f07d7/go.mod h1:z4/9nQmJSSwwds7ejkxaJwO37dru3geImFUdJlaLzQo= github.com/ProtonMail/go-crypto v1.1.3 h1:nRBOetoydLeUb4nHajyO2bKqMLfWQ/ZPwkXqXxPxCFk= github.com/ProtonMail/go-crypto v1.1.3/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= -github.com/acomagu/bufpipe v1.0.3 h1:fxAGrHZTgQ9w5QqVItgzwj235/uYZYgbXitB+dLupOk= -github.com/acomagu/bufpipe v1.0.3/go.mod h1:mxdxdup/WdsKVreO5GpW4+M/1CE2sMG4jeGJ2sYmHc4= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA= -github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= github.com/arduino/go-paths-helper v1.12.1 h1:WkxiVUxBjKWlLMiMuYy8DcmVrkxdP7aKxQOAq7r2lVM= github.com/arduino/go-paths-helper v1.12.1/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= @@ -39,7 +36,6 @@ github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lV github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -51,38 +47,36 @@ github.com/djherbis/buffer v1.2.0 h1:PH5Dd2ss0C7CRRhQCZ2u7MssF+No9ide8Ye71nPHcrQ github.com/djherbis/buffer v1.2.0/go.mod h1:fjnebbZjCUpPinBRD+TDwXSOeNQ7fPQWLfGQqiAiUyE= github.com/djherbis/nio/v3 v3.0.1 h1:6wxhnuppteMa6RHA4L81Dq7ThkZH8SwnDzXDYy95vB4= github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmWgZxOcmg= -github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= -github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/gliderlabs/ssh v0.2.2 h1:6zsha5zo/TWhRhwqCD3+EarCAgZ2yN28ipRnGPnwkI0= -github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0= -github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E= +github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= +github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.2.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= -github.com/go-git/go-billy/v5 v5.3.1/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0= github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= -github.com/go-git/go-git-fixtures/v4 v4.2.1 h1:n9gGL1Ct/yIw+nfsfr8s4+sbhT+Ncu2SubfXjIWgci8= -github.com/go-git/go-git-fixtures/v4 v4.2.1/go.mod h1:K8zd3kDUAykwTdDCr+I0per6Y6vMiRR/nnVTBtavnB0= -github.com/go-git/go-git/v5 v5.4.2 h1:BXyZu9t0VkbiHtqrsvdq39UDhGJTl1h55VW6CSC4aY4= -github.com/go-git/go-git/v5 v5.4.2/go.mod h1:gQ1kArt6d+n+BGd+/B/I74HwRTLhth2+zti4ihgckDc= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= +github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= +github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/gofrs/uuid/v5 v5.3.0 h1:m0mUMr+oVYUdxpMLgSYCZiXe7PuVPnI94+OMeVBNedk= github.com/gofrs/uuid/v5 v5.3.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= @@ -97,8 +91,6 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/itchyny/gojq v0.12.8 h1:Zxcwq8w4IeR8JJYEtoG2MWJZUv0RGY6QqJcO1cqV8+A= @@ -107,19 +99,15 @@ github.com/itchyny/timefmt-go v0.1.3 h1:7M3LGVDsqcd0VZH2U+x393obrzZisp7C0uEe921i github.com/itchyny/timefmt-go v0.1.3/go.mod h1:0osSSCQSASBJMsIZnhAaF1C2fCBTJZXrnj37mG8/c+A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/juju/errors v1.0.0 h1:yiq7kjCLll1BiaRuNY53MGI0+EQ3rF6GB+wvboZDefM= github.com/juju/errors v1.0.0/go.mod h1:B5x9thDqx0wIMH3+aLIMP9HjItInYWObRovoCFM5Qe8= -github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/klauspost/compress v1.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -132,8 +120,6 @@ github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0V github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 h1:hyAgCuG5nqTMDeUD8KZs7HSPs6KprPgPP8QmGV8nyvk= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84/go.mod h1:Pb6XcsXyropB9LNHhnqaknG/vEwYztLkQzVCHv8sQ3M= -github.com/matryer/is v1.2.0 h1:92UTHpy8CDwaJ08GqLDzhhuixiBUUD1p3AU6PHddz4A= -github.com/matryer/is v1.2.0/go.mod h1:2fLPjFQM9rhQ15aVEtbuwhJinnOqrmgXPNdZsdwlWXA= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= @@ -143,16 +129,14 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= +github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -173,13 +157,13 @@ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6g github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= github.com/schollz/closestmatch v2.1.0+incompatible h1:Uel2GXEpJqOWBrlyI+oY9LTiyyjYS17cCYRqP13/SHk= github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= -github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= +github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= @@ -193,7 +177,6 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= @@ -211,7 +194,6 @@ github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8 github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc= github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= -github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6eAcqrDh0= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= @@ -229,8 +211,8 @@ go.bug.st/f v0.4.0 h1:Vstqb950nMA+PhAlRxUw8QL1ntHy/gXHNyyzjkQLJ10= go.bug.st/f v0.4.0/go.mod h1:bMo23205ll7UW63KwO1ut5RdlJ9JK8RyEEr88CmOF5Y= go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= -go.bug.st/serial v1.6.1 h1:VSSWmUxlj1T/YlRo2J104Zv3wJFrjHIl/T3NeruWAHY= -go.bug.st/serial v1.6.1/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= +go.bug.st/serial v1.6.2 h1:kn9LRX3sdm+WxWKufMlIRndwGfPWsH1/9lCWXQCasq8= +go.bug.st/serial v1.6.2/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.2.0 h1:0pAfOUMVCOJ6bb9JcC4UmnACjxwxv2Ojb6Z9chaQBjg= go.bug.st/testifyjson v1.2.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= @@ -247,42 +229,31 @@ go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= +golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= -golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5odXGNXS6mhrKVzTaCXzk9m6W3k= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= -golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210502180810-71e4cd670f79/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -305,8 +276,8 @@ golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= -golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= +golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= @@ -317,7 +288,6 @@ google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNer google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= @@ -325,9 +295,6 @@ gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/internal/arduino/libraries/librariesmanager/install.go b/internal/arduino/libraries/librariesmanager/install.go index 43da93403ae..de53ea3cd56 100644 --- a/internal/arduino/libraries/librariesmanager/install.go +++ b/internal/arduino/libraries/librariesmanager/install.go @@ -201,8 +201,8 @@ func (lmi *Installer) InstallZipLib(ctx context.Context, archivePath *paths.Path } // InstallGitLib installs a library hosted on a git repository on the specified path. -func (lmi *Installer) InstallGitLib(gitURL string, overwrite bool) error { - gitLibraryName, ref, err := parseGitURL(gitURL) +func (lmi *Installer) InstallGitLib(argURL string, overwrite bool) error { + libraryName, gitURL, ref, err := parseGitArgURL(argURL) if err != nil { return err } @@ -213,7 +213,7 @@ func (lmi *Installer) InstallGitLib(gitURL string, overwrite bool) error { return err } defer tmp.RemoveAll() - tmpInstallPath := tmp.Join(gitLibraryName) + tmpInstallPath := tmp.Join(libraryName) depth := 1 if ref != "" { @@ -249,25 +249,51 @@ func (lmi *Installer) InstallGitLib(gitURL string, overwrite bool) error { return nil } -// parseGitURL tries to recover a library name from a git URL. +// parseGitArgURL tries to recover a library name from a git URL. // Returns an error in case the URL is not a valid git URL. -func parseGitURL(gitURL string) (string, plumbing.Revision, error) { - var res string - var rev plumbing.Revision - if strings.HasPrefix(gitURL, "git@") { - // We can't parse these as URLs - i := strings.LastIndex(gitURL, "/") - res = strings.TrimSuffix(gitURL[i+1:], ".git") - } else if path := paths.New(gitURL); path != nil && path.Exist() { - res = path.Base() - } else if parsed, err := url.Parse(gitURL); parsed.String() != "" && err == nil { - i := strings.LastIndex(parsed.Path, "/") - res = strings.TrimSuffix(parsed.Path[i+1:], ".git") - rev = plumbing.Revision(parsed.Fragment) - } else { - return "", "", errors.New(i18n.Tr("invalid git url")) - } - return res, rev, nil +func parseGitArgURL(argURL string) (string, string, plumbing.Revision, error) { + // On Windows handle paths with backslashes in the form C:\Path\to\library + if path := paths.New(argURL); path != nil && path.Exist() { + return path.Base(), argURL, "", nil + } + + // Handle commercial git-specific address in the form "git@xxxxx.com:arduino-libraries/SigFox.git" + prefixes := map[string]string{ + "git@github.com:": "https://github.com/", + "git@gitlab.com:": "https://gitlab.com/", + "git@bitbucket.org:": "https://bitbucket.org/", + } + for prefix, replacement := range prefixes { + if strings.HasPrefix(argURL, prefix) { + // We can't parse these as URLs + argURL = replacement + strings.TrimPrefix(argURL, prefix) + } + } + + parsedURL, err := url.Parse(argURL) + if err != nil { + return "", "", "", fmt.Errorf("%s: %w", i18n.Tr("invalid git url"), err) + } + if parsedURL.String() == "" { + return "", "", "", errors.New(i18n.Tr("invalid git url")) + } + + // Extract lib name from "https://github.com/arduino-libraries/SigFox.git#1.0.3" + // path == "/arduino-libraries/SigFox.git" + slash := strings.LastIndex(parsedURL.Path, "/") + if slash == -1 { + return "", "", "", errors.New(i18n.Tr("invalid git url")) + } + libName := strings.TrimSuffix(parsedURL.Path[slash+1:], ".git") + if libName == "" { + return "", "", "", errors.New(i18n.Tr("invalid git url")) + } + // fragment == "1.0.3" + rev := plumbing.Revision(parsedURL.Fragment) + // gitURL == "https://github.com/arduino-libraries/SigFox.git" + parsedURL.Fragment = "" + gitURL := parsedURL.String() + return libName, gitURL, rev, nil } // validateLibrary verifies the dir contains a valid library, meaning it has either diff --git a/internal/arduino/libraries/librariesmanager/install_test.go b/internal/arduino/libraries/librariesmanager/install_test.go index 169680b5502..85ab27f358e 100644 --- a/internal/arduino/libraries/librariesmanager/install_test.go +++ b/internal/arduino/libraries/librariesmanager/install_test.go @@ -23,59 +23,85 @@ import ( ) func TestParseGitURL(t *testing.T) { - gitURL := "" - libraryName, ref, err := parseGitURL(gitURL) - require.Equal(t, "", libraryName) - require.EqualValues(t, "", ref) - require.Errorf(t, err, "invalid git url") - - gitURL = "https://github.com/arduino/arduino-lib.git" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "", ref) - require.NoError(t, err) - - gitURL = "https://github.com/arduino/arduino-lib.git#0.1.2" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "0.1.2", ref) - require.NoError(t, err) - - gitURL = "git@github.com:arduino/arduino-lib.git" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "", ref) - require.NoError(t, err) - - gitURL = "file:///path/to/arduino-lib" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "", ref) - require.NoError(t, err) - - gitURL = "file:///path/to/arduino-lib.git" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "", ref) - require.NoError(t, err) - - gitURL = "/path/to/arduino-lib" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "", ref) - require.NoError(t, err) - - gitURL = "/path/to/arduino-lib.git" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "", ref) - require.NoError(t, err) - - gitURL = "file:///path/to/arduino-lib" - libraryName, ref, err = parseGitURL(gitURL) - require.Equal(t, "arduino-lib", libraryName) - require.EqualValues(t, "", ref) - require.NoError(t, err) + { + _, _, _, err := parseGitArgURL("") + require.EqualError(t, err, "invalid git url") + } + { + libraryName, gitURL, ref, err := parseGitArgURL("https://github.com/arduino/arduino-lib.git") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "https://github.com/arduino/arduino-lib.git", gitURL) + require.EqualValues(t, "", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("https://github.com/arduino/arduino-lib.git#0.1.2") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "https://github.com/arduino/arduino-lib.git", gitURL) + require.EqualValues(t, "0.1.2", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("git@github.com:arduino/arduino-lib.git") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "https://github.com/arduino/arduino-lib.git", gitURL) + require.EqualValues(t, "", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("git@bitbucket.org:arduino/arduino-lib.git") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "https://bitbucket.org/arduino/arduino-lib.git", gitURL) + require.EqualValues(t, "", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("git@github.com:arduino/arduino-lib.git#0.1.2") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "https://github.com/arduino/arduino-lib.git", gitURL) + require.EqualValues(t, "0.1.2", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("file:///path/to/arduino-lib") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "file:///path/to/arduino-lib", gitURL) + require.EqualValues(t, "", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("file:///path/to/arduino-lib.git") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "file:///path/to/arduino-lib.git", gitURL) + require.EqualValues(t, "", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("/path/to/arduino-lib") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "/path/to/arduino-lib", gitURL) + require.EqualValues(t, "", ref) + } + { + libraryName, gitURL, ref, err := parseGitArgURL("/path/to/arduino-lib.git") + require.NoError(t, err) + require.Equal(t, "arduino-lib", libraryName) + require.Equal(t, "/path/to/arduino-lib.git", gitURL) + require.EqualValues(t, "", ref) + } + { + _, _, _, err := parseGitArgURL("https://arduino.cc") + require.EqualError(t, err, "invalid git url") + } + { + _, _, _, err := parseGitArgURL("https://arduino.cc/") + require.EqualError(t, err, "invalid git url") + } + { + _, _, _, err := parseGitArgURL("://not@a@url") + require.EqualError(t, err, "invalid git url: parse \"://not@a@url\": missing protocol scheme") + } } func TestValidateLibrary(t *testing.T) { From adae56caffd025f629976ae805f21f8e0702a8ff Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Dec 2024 17:12:54 +0100 Subject: [PATCH 296/361] [skip changelog] Bump google.golang.org/grpc from 1.69.0 to 1.69.2 (#2791) * [skip changelog] Bump google.golang.org/grpc from 1.69.0 to 1.69.2 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.69.0 to 1.69.2. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.69.0...v1.69.2) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/pickfirst.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/internal.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/pickfirstleaf.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .../go/google.golang.org/grpc/experimental/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/mem.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 59 files changed, 116 insertions(+), 116 deletions(-) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 1339643429b..dcac854c8dc 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.69.0 +version: v1.69.2 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 75ac8aeec3d..20ef3400a22 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.69.0 +version: v1.69.2 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 9060affa922..a9140ba5146 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.69.0 +version: v1.69.2 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 5c847231ba8..5eccc641fad 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.69.0 +version: v1.69.2 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index d8462427e5c..493665f89a1 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.69.0 +version: v1.69.2 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index df7a7522ef2..92ef584bb8e 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.69.0 +version: v1.69.2 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index e56bf9eb52d..e5d5418da0e 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.69.0 +version: v1.69.2 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 49b662d4f8f..46fa7341cd5 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.69.0 +version: v1.69.2 type: go summary: Package internal contains code internal to the pickfirst package. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index 8640262c940..95c8703f202 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.69.0 +version: v1.69.2 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index bcf9a692bf8..20256f9b086 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.69.0 +version: v1.69.2 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 88b20b858df..4a64632b1a9 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.69.0 +version: v1.69.2 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 7a6bdbd9608..cc7c6fadfa0 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.69.0 +version: v1.69.2 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 8f7b6989177..782d74de6cd 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.69.0 +version: v1.69.2 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 28086f001cc..c1978dab037 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.69.0 +version: v1.69.2 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 61a889d5405..e10b288c63b 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.69.0 +version: v1.69.2 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index ba34323197f..c2d988db6d0 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.69.0 +version: v1.69.2 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 0fb9d7e076c..ed5fa6c2c49 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.69.0 +version: v1.69.2 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 91ccb2c29f0..94a7c56b3d2 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.69.0 +version: v1.69.2 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index 594e29dfa1d..84739f62c79 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.69.0 +version: v1.69.2 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index b0b986cebf1..0d416415639 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.69.0 +version: v1.69.2 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index 4157193a20c..841531a54a1 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.69.0 +version: v1.69.2 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 8c0799fd5c5..aa1dfc70038 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.69.0 +version: v1.69.2 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index d041991b2e7..314a8a665f8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.69.0 +version: v1.69.2 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index a3a17d86d2e..e7a8ff6d841 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.69.0 +version: v1.69.2 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index c245247d944..161b8927fa6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.69.0 +version: v1.69.2 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 0eb8c04ca29..298553ee905 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.69.0 +version: v1.69.2 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 7f47ebdec2d..877fb1c5bd8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.69.0 +version: v1.69.2 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index 4c9284589c0..bf47e7c3956 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.69.0 +version: v1.69.2 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 6a8719047b1..321dc9f07e2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.69.0 +version: v1.69.2 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index acf105fb65f..6eba3d2f25f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.69.0 +version: v1.69.2 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index f76d52bd3de..40598845536 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.69.0 +version: v1.69.2 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index d8492ee2d93..0be53257794 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.69.0 +version: v1.69.2 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 02ad58c67f7..b9d814a2ab3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.69.0 +version: v1.69.2 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 67a31ac5cd9..cd3d04d7a68 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.69.0 +version: v1.69.2 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 179bd6ced2a..d09783eee27 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.69.0 +version: v1.69.2 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 6e8a7334188..1d77d690e75 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.69.0 +version: v1.69.2 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 8318a4756e3..7175c5ab6ae 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.69.0 +version: v1.69.2 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index e44cc0a032a..bde139c2755 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.69.0 +version: v1.69.2 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 23ace18a8ba..ebb9a77d940 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.69.0 +version: v1.69.2 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 7f914f46195..ffc6a6dd790 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.69.0 +version: v1.69.2 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 4a7ecede3d4..b501fcab1f9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.69.0 +version: v1.69.2 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index d216e2c648f..c62b2c5863b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.69.0 +version: v1.69.2 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index 95731238631..405d6af520d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.69.0 +version: v1.69.2 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 6f742696787..0fb650a827e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.69.0 +version: v1.69.2 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 053d28a2e1b..fb737852550 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.69.0 +version: v1.69.2 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 1c0e44da7a2..63403bd0ee2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.69.0 +version: v1.69.2 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 2b59262727f..0be4280e004 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.69.0 +version: v1.69.2 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 7eb5d7dca98..691408db597 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.69.0 +version: v1.69.2 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index ba1018f74de..0d34201aead 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.69.0 +version: v1.69.2 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 9a7566ffbad..c2cfd135754 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.69.0 +version: v1.69.2 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index c81debec828..74e7895125d 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.69.0 +version: v1.69.2 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 061bc83a38f..8d81cdf906f 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.69.0 +version: v1.69.2 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 7a8383cd526..bca396a57cc 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.69.0 +version: v1.69.2 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 6b1dc4e93f2..f55f094bece 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.69.0 +version: v1.69.2 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 7810e9a5d7e..8330027ce9a 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.69.0 +version: v1.69.2 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index d13133bc313..9d0790e5a86 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.69.0 +version: v1.69.2 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 9c135af9c80..4d676afdd09 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.69.0 +version: v1.69.2 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.69.0/LICENSE +- sources: grpc@v1.69.2/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 9cd34e3074a..d1bca391a50 100644 --- a/go.mod +++ b/go.mod @@ -43,7 +43,7 @@ require ( golang.org/x/term v0.27.0 golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 - google.golang.org/grpc v1.69.0 + google.golang.org/grpc v1.69.2 google.golang.org/protobuf v1.36.0 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index fd7c5dc9c61..82862d8d268 100644 --- a/go.sum +++ b/go.sum @@ -282,8 +282,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= -google.golang.org/grpc v1.69.0 h1:quSiOM1GJPmPH5XtU+BCoVXcDVJJAzNcoyfC2cCjGkI= -google.golang.org/grpc v1.69.0/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU= +google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ= google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 82f37f241bfb2181762edbf36199c7bf7166ecef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 24 Dec 2024 17:51:40 +0100 Subject: [PATCH 297/361] [skip changelog] Bump google.golang.org/protobuf from 1.36.0 to 1.36.1 (#2795) * [skip changelog] Bump google.golang.org/protobuf from 1.36.0 to 1.36.1 Bumps google.golang.org/protobuf from 1.36.0 to 1.36.1. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/editiondefaults.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/protolazy.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 35 files changed, 102 insertions(+), 102 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 36b433fac99..177d725be08 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.36.0 +version: v1.36.1 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index bbb297655f0..e83b49711c2 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.36.0 +version: v1.36.1 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 2f16448c2a2..03ebcad402c 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.36.0 +version: v1.36.1 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index b3cd70d79be..a7ee286f0cf 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.36.0 +version: v1.36.1 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index 71c756a6e79..00d863d205b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.36.0 +version: v1.36.1 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 045c7d81621..1879ad7d6d5 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.36.0 +version: v1.36.1 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index 9e00bae8e03..fcbe1034ebd 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.36.0 +version: v1.36.1 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index 67d37ae5cbb..9cca8b3a511 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.36.0 +version: v1.36.1 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index 51d30ec38de..472d9053a6a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.36.0 +version: v1.36.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index e7ad8581d17..e4d1daacbd2 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.36.0 +version: v1.36.1 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index 6920380996d..d169f6068c6 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.36.0 +version: v1.36.1 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index bcbf42d19fb..1496758e3bb 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.36.0 +version: v1.36.1 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index 6d27d17a627..f30626a4040 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.36.0 +version: v1.36.1 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index 11c969d637b..cfa8e2e617c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.36.0 +version: v1.36.1 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 0d97b7f04bd..79f0f3a29b1 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.36.0 +version: v1.36.1 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 9d7935abf1e..0aa856e6345 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.36.0 +version: v1.36.1 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index a12b4445d70..5406269994e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.36.0 +version: v1.36.1 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index 3e0b78b8d83..2ea73c7e321 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.36.0 +version: v1.36.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index f9459433708..579d80f7451 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.36.0 +version: v1.36.1 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index 76f8f820af3..9dce2be7629 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.36.0 +version: v1.36.1 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml index db36c761958..f6dfd893202 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/protolazy -version: v1.36.0 +version: v1.36.1 type: go summary: Package protolazy contains internal data structures for lazy message decoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/protolazy license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index 709ce32833e..1ee58cea895 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.36.0 +version: v1.36.1 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index a2c867fb516..da1ef2c929a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.36.0 +version: v1.36.1 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 7875269a946..311ed99248d 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.36.0 +version: v1.36.1 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index aad63ee2901..d699b008fbb 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.36.0 +version: v1.36.1 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index db31ae5e37a..80af8ed12cb 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.36.0 +version: v1.36.1 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 2bf8ba6891c..263571783a7 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.36.0 +version: v1.36.1 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 2a6f8a6817b..8134e318693 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.36.0 +version: v1.36.1 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 1a8ff22148f..afa057d2aeb 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.36.0 +version: v1.36.1 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 60d16b2c2f1..8982bbaf27c 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.36.0 +version: v1.36.1 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 1b79d035a97..a1df83a2820 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.36.0 +version: v1.36.1 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 343c0bb59e4..573baed2785 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.36.0 +version: v1.36.1 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index 166198d74ff..aeffffc0308 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.36.0 +version: v1.36.1 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.0/LICENSE +- sources: protobuf@v1.36.1/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.0/PATENTS +- sources: protobuf@v1.36.1/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index d1bca391a50..ec6c5b44af3 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 google.golang.org/grpc v1.69.2 - google.golang.org/protobuf v1.36.0 + google.golang.org/protobuf v1.36.1 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 82862d8d268..63ff93ff781 100644 --- a/go.sum +++ b/go.sum @@ -284,8 +284,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU= google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.0 h1:mjIs9gYtt56AzC4ZaffQuh88TZurBGhIJMBZGSxNerQ= -google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= +google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From 6d9c930c79b6e8609915da0b774680588c5cc363 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:21:56 +0100 Subject: [PATCH 298/361] [skip changelog] Bump google.golang.org/protobuf from 1.36.1 to 1.36.2 (#2802) * [skip changelog] Bump google.golang.org/protobuf from 1.36.1 to 1.36.2 Bumps google.golang.org/protobuf from 1.36.1 to 1.36.2. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Update license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/editiondefaults.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/protolazy.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 35 files changed, 102 insertions(+), 102 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 177d725be08..4d091710bfc 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.36.1 +version: v1.36.2 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index e83b49711c2..1d1797c2bab 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.36.1 +version: v1.36.2 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 03ebcad402c..aa5e1b2ac28 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.36.1 +version: v1.36.2 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index a7ee286f0cf..917f1a47a13 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.36.1 +version: v1.36.2 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index 00d863d205b..efb5e3ea0b2 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.36.1 +version: v1.36.2 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 1879ad7d6d5..ef3188ac214 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.36.1 +version: v1.36.2 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index fcbe1034ebd..a6e30f8ef63 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.36.1 +version: v1.36.2 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index 9cca8b3a511..be98f1cc5a1 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.36.1 +version: v1.36.2 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index 472d9053a6a..c51189aa829 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.36.1 +version: v1.36.2 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index e4d1daacbd2..0d5089107c9 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.36.1 +version: v1.36.2 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index d169f6068c6..f9e557e414c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.36.1 +version: v1.36.2 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index 1496758e3bb..f79b588822f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.36.1 +version: v1.36.2 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index f30626a4040..1672e0169fd 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.36.1 +version: v1.36.2 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index cfa8e2e617c..85d4123d8ff 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.36.1 +version: v1.36.2 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 79f0f3a29b1..94c39f23cac 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.36.1 +version: v1.36.2 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 0aa856e6345..811e3b218e0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.36.1 +version: v1.36.2 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 5406269994e..4ab13aca278 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.36.1 +version: v1.36.2 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index 2ea73c7e321..cec715ccb5c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.36.1 +version: v1.36.2 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index 579d80f7451..1dd5791198c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.36.1 +version: v1.36.2 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index 9dce2be7629..8f95f1e07c4 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.36.1 +version: v1.36.2 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml index f6dfd893202..c3c2e6c1d2b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/protolazy -version: v1.36.1 +version: v1.36.2 type: go summary: Package protolazy contains internal data structures for lazy message decoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/protolazy license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index 1ee58cea895..930d6d8e177 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.36.1 +version: v1.36.2 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index da1ef2c929a..75c774ad81a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.36.1 +version: v1.36.2 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 311ed99248d..0abb2aac9e4 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.36.1 +version: v1.36.2 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index d699b008fbb..7ee0acb42c3 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.36.1 +version: v1.36.2 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index 80af8ed12cb..3901faa0d38 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.36.1 +version: v1.36.2 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 263571783a7..4a9e154dc2e 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.36.1 +version: v1.36.2 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 8134e318693..323ad1ab167 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.36.1 +version: v1.36.2 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index afa057d2aeb..759a38a7752 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.36.1 +version: v1.36.2 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 8982bbaf27c..dd7caf22d8d 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.36.1 +version: v1.36.2 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index a1df83a2820..f1053add61a 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.36.1 +version: v1.36.2 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 573baed2785..0fbf4eb7899 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.36.1 +version: v1.36.2 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index aeffffc0308..c8bc78b6eb8 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.36.1 +version: v1.36.2 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.1/LICENSE +- sources: protobuf@v1.36.2/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.1/PATENTS +- sources: protobuf@v1.36.2/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index ec6c5b44af3..db0dfbaafeb 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 google.golang.org/grpc v1.69.2 - google.golang.org/protobuf v1.36.1 + google.golang.org/protobuf v1.36.2 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 63ff93ff781..dd6403ec83e 100644 --- a/go.sum +++ b/go.sum @@ -284,8 +284,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU= google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= -google.golang.org/protobuf v1.36.1 h1:yBPeRvTftaleIgM3PZ/WBIZ7XM/eEYAaEyCwvyjq/gk= -google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU= +google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From 63bfd5c5fcf9c714c3dc8c61e33884839b96ccbc Mon Sep 17 00:00:00 2001 From: dennisppaul <dennis.paul@hfk-bremen.de> Date: Tue, 7 Jan 2025 16:36:31 +0100 Subject: [PATCH 299/361] improved error messages parsing (#2782) * improved regexp to also parse error messages with single quotes around header file name * make regexp more specific, add test * remove GH test failing escaped quotation marks * fix formatting * Use a more strict regexp / fix unit-test --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- internal/arduino/builder/internal/detector/detector.go | 3 +-- .../arduino/builder/internal/detector/detector_test.go | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index 17de9377833..eb3d887d3fe 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -477,8 +477,7 @@ func (l *SketchLibrariesDetector) failIfImportedLibraryIsWrong() error { return nil } -// includeRegexp fixdoc -var includeRegexp = regexp.MustCompile("(?ms)^\\s*#[ \t]*include\\s*[<\"](\\S+)[\">]") +var includeRegexp = regexp.MustCompile(`(?ms)^\s*[0-9 |]*\s*#[ \t]*include\s*[<"](\S+)[">]`) // IncludesFinderWithRegExp fixdoc func IncludesFinderWithRegExp(source string) string { diff --git a/internal/arduino/builder/internal/detector/detector_test.go b/internal/arduino/builder/internal/detector/detector_test.go index 6e7f72648a4..dbec95ca918 100644 --- a/internal/arduino/builder/internal/detector/detector_test.go +++ b/internal/arduino/builder/internal/detector/detector_test.go @@ -75,3 +75,13 @@ func TestIncludesFinderWithRegExpPaddedIncludes4(t *testing.T) { require.Equal(t, "register.h", include) } + +func TestIncludesFinderWithRegExpPaddedIncludes5(t *testing.T) { + output := "/some/path/sketch.ino:23:42: fatal error: 'Foobar.h' file not found\n" + + " 23 | #include \"Foobar.h\"\n" + + " | ^~~~~~~~~~\n" + + include := detector.IncludesFinderWithRegExp(output) + + require.Equal(t, "Foobar.h", include) +} From d1b47cfc4dda4ee96bbee313760c464b6eae84c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 7 Jan 2025 17:17:24 +0100 Subject: [PATCH 300/361] [skip changelog] Bump golang.org/x/term from 0.27.0 to 0.28.0 (#2801) * [skip changelog] Bump golang.org/x/term from 0.27.0 to 0.28.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.27.0 to 0.28.0. - [Commits](https://github.com/golang/term/compare/v0.27.0...v0.28.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Update license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 88429210183..30993d68001 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.28.0 +version: v0.29.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.28.0/LICENSE +- sources: sys@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.28.0/PATENTS +- sources: sys@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 87678a3b220..3cfc4cbc73e 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.28.0 +version: v0.29.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.28.0/LICENSE +- sources: sys@v0.29.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.28.0/PATENTS +- sources: sys@v0.29.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index b014506db96..7ebcb76e008 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.27.0 +version: v0.28.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index db0dfbaafeb..720dd698863 100644 --- a/go.mod +++ b/go.mod @@ -39,8 +39,8 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.2.0 - golang.org/x/sys v0.28.0 - golang.org/x/term v0.27.0 + golang.org/x/sys v0.29.0 + golang.org/x/term v0.28.0 golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 google.golang.org/grpc v1.69.2 diff --git a/go.sum b/go.sum index dd6403ec83e..8ad8d260a33 100644 --- a/go.sum +++ b/go.sum @@ -261,12 +261,12 @@ golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= -golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= -golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= From f08b2d3b20b4f24600d93b922c419da927fd0f11 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 7 Jan 2025 17:37:43 +0100 Subject: [PATCH 301/361] [skip-changelog] Fixed python deps (#2804) it should fix the following problem: Traceback (most recent call last): File "/home/runner/.cache/pypoetry/virtualenvs/arduino-cli-gc1FAuF_-py3.9/bin/mike", line 5, in <module> from mike.driver import main File "/home/runner/.cache/pypoetry/virtualenvs/arduino-cli-gc1FAuF_-py3.9/lib/python3.9/site-packages/mike/driver.py", line 4, in <module> from . import arguments, commands File "/home/runner/.cache/pypoetry/virtualenvs/arduino-cli-gc1FAuF_-py3.9/lib/python3.9/site-packages/mike/commands.py", line 6, in <module> from pkg_resources import resource_stream ModuleNotFoundError: No module named 'pkg_resources' --- poetry.lock | 514 +++++++++++++++++++++++++++++-------------------- pyproject.toml | 5 +- 2 files changed, 312 insertions(+), 207 deletions(-) diff --git a/poetry.lock b/poetry.lock index 42c246941e2..e81cd749fb9 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,14 +1,14 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. [[package]] name = "click" -version = "8.1.3" +version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, - {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] [package.dependencies] @@ -16,13 +16,13 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "colorama" -version = "0.4.4" +version = "0.4.6" description = "Cross-platform colored terminal text." optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ - {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"}, - {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"}, + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] [[package]] @@ -44,13 +44,13 @@ dev = ["flake8", "markdown", "twine", "wheel"] [[package]] name = "gitdb" -version = "4.0.9" +version = "4.0.12" description = "Git Object Database" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "gitdb-4.0.9-py3-none-any.whl", hash = "sha256:8033ad4e853066ba6ca92050b9df2f89301b8fc8bf7e9324d412a63f8bf1a8fd"}, - {file = "gitdb-4.0.9.tar.gz", hash = "sha256:bac2fd45c0a1c9cf619e63a90d62bdc63892ef92387424b855792a6cabe789aa"}, + {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, + {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, ] [package.dependencies] @@ -58,49 +58,54 @@ smmap = ">=3.0.1,<6" [[package]] name = "gitpython" -version = "3.1.41" +version = "3.1.44" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" files = [ - {file = "GitPython-3.1.41-py3-none-any.whl", hash = "sha256:c36b6634d069b3f719610175020a9aed919421c87552185b085e04fbbdb10b7c"}, - {file = "GitPython-3.1.41.tar.gz", hash = "sha256:ed66e624884f76df22c8e16066d567aaa5a37d5b5fa19db2c6df6f7156db9048"}, + {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, + {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, ] [package.dependencies] gitdb = ">=4.0.1,<5" [package.extras] -test = ["black", "coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "sumtypes"] +doc = ["sphinx (>=7.1.2,<7.2)", "sphinx-autodoc-typehints", "sphinx_rtd_theme"] +test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] [[package]] name = "importlib-metadata" -version = "4.11.4" +version = "8.5.0" description = "Read metadata from Python packages" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "importlib_metadata-4.11.4-py3-none-any.whl", hash = "sha256:c58c8eb8a762858f49e18436ff552e83914778e50e9d2f1660535ffb364552ec"}, - {file = "importlib_metadata-4.11.4.tar.gz", hash = "sha256:5d26852efe48c0a32b0509ffbc583fda1a2266545a78d104a6f4aff3db17d700"}, + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] [package.dependencies] -zipp = ">=0.5" +zipp = ">=3.20" [package.extras] -docs = ["jaraco.packaging (>=9)", "rst.linker (>=1.9)", "sphinx"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.0.1)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] [[package]] name = "jinja2" -version = "3.1.4" +version = "3.1.5" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, + {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, + {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, ] [package.dependencies] @@ -111,79 +116,101 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "markdown" -version = "3.3.7" -description = "Python implementation of Markdown." +version = "3.7" +description = "Python implementation of John Gruber's Markdown." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, - {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, ] [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] +docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] [[package]] name = "markupsafe" -version = "2.1.1" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win32.whl", hash = "sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6"}, - {file = "MarkupSafe-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win32.whl", hash = "sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff"}, - {file = "MarkupSafe-2.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win32.whl", hash = "sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1"}, - {file = "MarkupSafe-2.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win32.whl", hash = "sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c"}, - {file = "MarkupSafe-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247"}, - {file = "MarkupSafe-2.1.1.tar.gz", hash = "sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] name = "mdx-truly-sane-lists" -version = "1.2" +version = "1.3" description = "Extension for Python-Markdown that makes lists truly sane. Custom indents for nested lists and fix for messy linebreaks." optional = false python-versions = "*" files = [ - {file = "mdx_truly_sane_lists-1.2-py3-none-any.whl", hash = "sha256:cc8bfa00f331403504e12377a9c94e6b40fc7db031e283316baeeeeac68f1da9"}, - {file = "mdx_truly_sane_lists-1.2.tar.gz", hash = "sha256:4600ade0fbd452db8233e25d644b62f59b2798e40595ea2e1923e29bc40c5b98"}, + {file = "mdx_truly_sane_lists-1.3-py3-none-any.whl", hash = "sha256:b9546a4c40ff8f1ab692f77cee4b6bfe8ddf9cccf23f0a24e71f3716fe290a37"}, + {file = "mdx_truly_sane_lists-1.3.tar.gz", hash = "sha256:b661022df7520a1e113af7c355c62216b384c867e4f59fb8ee7ad511e6e77f45"}, ] [package.dependencies] @@ -223,29 +250,51 @@ test = ["coverage", "flake8 (>=3.0)", "shtab"] [[package]] name = "mkdocs" -version = "1.3.0" +version = "1.6.1" description = "Project documentation with Markdown." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "mkdocs-1.3.0-py3-none-any.whl", hash = "sha256:26bd2b03d739ac57a3e6eed0b7bcc86168703b719c27b99ad6ca91dc439aacde"}, - {file = "mkdocs-1.3.0.tar.gz", hash = "sha256:b504405b04da38795fec9b2e5e28f6aa3a73bb0960cb6d5d27ead28952bd35ea"}, + {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, + {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, ] [package.dependencies] -click = ">=3.3" +click = ">=7.0" +colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} ghp-import = ">=1.0" -importlib-metadata = ">=4.3" -Jinja2 = ">=2.10.2" -Markdown = ">=3.2.1" +importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} +jinja2 = ">=2.11.1" +markdown = ">=3.3.6" +markupsafe = ">=2.0.1" mergedeep = ">=1.3.4" +mkdocs-get-deps = ">=0.2.0" packaging = ">=20.5" -PyYAML = ">=3.10" +pathspec = ">=0.11.1" +pyyaml = ">=5.1" pyyaml-env-tag = ">=0.1" watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.4)", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.0" +description = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, + {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=4.3", markers = "python_version < \"3.10\""} +mergedeep = ">=1.3.4" +platformdirs = ">=2.2.0" +pyyaml = ">=5.1" [[package]] name = "mkdocs-material" @@ -268,81 +317,94 @@ pymdown-extensions = ">=9.0" [[package]] name = "mkdocs-material-extensions" -version = "1.0.3" -description = "Extension pack for Python Markdown." +version = "1.3.1" +description = "Extension pack for Python Markdown and MkDocs Material." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "mkdocs-material-extensions-1.0.3.tar.gz", hash = "sha256:bfd24dfdef7b41c312ede42648f9eb83476ea168ec163b613f9abd12bbfddba2"}, - {file = "mkdocs_material_extensions-1.0.3-py3-none-any.whl", hash = "sha256:a82b70e533ce060b2a5d9eb2bc2e1be201cf61f901f93704b4acf6e3d5983a44"}, + {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, + {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, ] [[package]] name = "packaging" -version = "21.3" +version = "24.2" description = "Core utilities for Python packages" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "packaging-21.3-py3-none-any.whl", hash = "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522"}, - {file = "packaging-21.3.tar.gz", hash = "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb"}, + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] -[package.dependencies] -pyparsing = ">=2.0.2,<3.0.5 || >3.0.5" +[[package]] +name = "pathspec" +version = "0.12.1" +description = "Utility library for gitignore style pattern matching of file paths." +optional = false +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" +files = [ + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, +] + +[package.extras] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pygments" -version = "2.15.0" +version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "Pygments-2.15.0-py3-none-any.whl", hash = "sha256:77a3299119af881904cd5ecd1ac6a66214b6e9bed1f2db16993b54adede64094"}, - {file = "Pygments-2.15.0.tar.gz", hash = "sha256:f7e36cffc4c517fbc252861b9a6e4644ca0e5abadf9a113c72d1358ad09b9500"}, + {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, + {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, ] [package.extras] -plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymdown-extensions" -version = "10.0" +version = "10.14" description = "Extension pack for Python Markdown." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-10.0-py3-none-any.whl", hash = "sha256:e6cbe8ace7d8feda30bc4fd6a21a073893a9a0e90c373e92d69ce5b653051f55"}, - {file = "pymdown_extensions-10.0.tar.gz", hash = "sha256:9a77955e63528c2ee98073a1fb3207c1a45607bc74a34ef21acd098f46c3aa8a"}, + {file = "pymdown_extensions-10.14-py3-none-any.whl", hash = "sha256:202481f716cc8250e4be8fce997781ebf7917701b59652458ee47f2401f818b5"}, + {file = "pymdown_extensions-10.14.tar.gz", hash = "sha256:741bd7c4ff961ba40b7528d32284c53bc436b8b1645e8e37c3e57770b8700a34"}, ] [package.dependencies] -markdown = ">=3.2" +markdown = ">=3.6" pyyaml = "*" -[[package]] -name = "pyparsing" -version = "3.0.9" -description = "pyparsing module - Classes and methods to define and execute parsing grammars" -optional = false -python-versions = ">=3.6.8" -files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, -] - [package.extras] -diagrams = ["jinja2", "railroad-diagrams"] +extra = ["pygments (>=2.19.1)"] [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -350,51 +412,64 @@ six = ">=1.5" [[package]] name = "pyyaml" -version = "6.0" +version = "6.0.2" description = "YAML parser and emitter for Python" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, - {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, - {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, - {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, - {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, - {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, - {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, - {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, - {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, - {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, - {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, - {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, - {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, - {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, - {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, - {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, - {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, - {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] @@ -411,26 +486,46 @@ files = [ [package.dependencies] pyyaml = "*" +[[package]] +name = "setuptools" +version = "75.7.0" +description = "Easily download, build, install, upgrade, and uninstall Python packages" +optional = false +python-versions = ">=3.9" +files = [ + {file = "setuptools-75.7.0-py3-none-any.whl", hash = "sha256:84fb203f278ebcf5cd08f97d3fb96d3fbed4b629d500b29ad60d11e00769b183"}, + {file = "setuptools-75.7.0.tar.gz", hash = "sha256:886ff7b16cd342f1d1defc16fc98c9ce3fde69e087a4e1983d7ab634e5f41f4f"}, +] + +[package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"] +core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"] + [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] name = "smmap" -version = "5.0.0" +version = "5.0.2" description = "A pure Python implementation of a sliding window memory map manager" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "smmap-5.0.0-py3-none-any.whl", hash = "sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94"}, - {file = "smmap-5.0.0.tar.gz", hash = "sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936"}, + {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, + {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, ] [[package]] @@ -449,36 +544,41 @@ test = ["coverage", "flake8 (>=3.7)", "mypy", "pretend", "pytest"] [[package]] name = "watchdog" -version = "2.1.8" +version = "6.0.0" description = "Filesystem events monitoring" optional = false -python-versions = ">=3.6" +python-versions = ">=3.9" files = [ - {file = "watchdog-2.1.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:676263bee67b165f16b05abc52acc7a94feac5b5ab2449b491f1a97638a79277"}, - {file = "watchdog-2.1.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:aa68d2d9a89d686fae99d28a6edf3b18595e78f5adf4f5c18fbfda549ac0f20c"}, - {file = "watchdog-2.1.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5e2e51c53666850c3ecffe9d265fc5d7351db644de17b15e9c685dd3cdcd6f97"}, - {file = "watchdog-2.1.8-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7721ac736170b191c50806f43357407138c6748e4eb3e69b071397f7f7aaeedd"}, - {file = "watchdog-2.1.8-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ce7376aed3da5fd777483fe5ebc8475a440c6d18f23998024f832134b2938e7b"}, - {file = "watchdog-2.1.8-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f9ee4c6bf3a1b2ed6be90a2d78f3f4bbd8105b6390c04a86eb48ed67bbfa0b0b"}, - {file = "watchdog-2.1.8-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:68dbe75e0fa1ba4d73ab3f8e67b21770fbed0651d32ce515cd38919a26873266"}, - {file = "watchdog-2.1.8-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0c520009b8cce79099237d810aaa19bc920941c268578436b62013b2f0102320"}, - {file = "watchdog-2.1.8-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:efcc8cbc1b43902571b3dce7ef53003f5b97fe4f275fe0489565fc6e2ebe3314"}, - {file = "watchdog-2.1.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:746e4c197ec1083581bb1f64d07d1136accf03437badb5ff8fcb862565c193b2"}, - {file = "watchdog-2.1.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1ae17b6be788fb8e4d8753d8d599de948f0275a232416e16436363c682c6f850"}, - {file = "watchdog-2.1.8-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ddde157dc1447d8130cb5b8df102fad845916fe4335e3d3c3f44c16565becbb7"}, - {file = "watchdog-2.1.8-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4978db33fc0934c92013ee163a9db158ec216099b69fce5aec790aba704da412"}, - {file = "watchdog-2.1.8-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b962de4d7d92ff78fb2dbc6a0cb292a679dea879a0eb5568911484d56545b153"}, - {file = "watchdog-2.1.8-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1e5d0fdfaa265c29dc12621913a76ae99656cf7587d03950dfeb3595e5a26102"}, - {file = "watchdog-2.1.8-py3-none-manylinux2014_armv7l.whl", hash = "sha256:036ed15f7cd656351bf4e17244447be0a09a61aaa92014332d50719fc5973bc0"}, - {file = "watchdog-2.1.8-py3-none-manylinux2014_i686.whl", hash = "sha256:2962628a8777650703e8f6f2593065884c602df7bae95759b2df267bd89b2ef5"}, - {file = "watchdog-2.1.8-py3-none-manylinux2014_ppc64.whl", hash = "sha256:156ec3a94695ea68cfb83454b98754af6e276031ba1ae7ae724dc6bf8973b92a"}, - {file = "watchdog-2.1.8-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:47598fe6713fc1fee86b1ca85c9cbe77e9b72d002d6adeab9c3b608f8a5ead10"}, - {file = "watchdog-2.1.8-py3-none-manylinux2014_s390x.whl", hash = "sha256:fed4de6e45a4f16e4046ea00917b4fe1700b97244e5d114f594b4a1b9de6bed8"}, - {file = "watchdog-2.1.8-py3-none-manylinux2014_x86_64.whl", hash = "sha256:24dedcc3ce75e150f2a1d704661f6879764461a481ba15a57dc80543de46021c"}, - {file = "watchdog-2.1.8-py3-none-win32.whl", hash = "sha256:6ddf67bc9f413791072e3afb466e46cc72c6799ba73dea18439b412e8f2e3257"}, - {file = "watchdog-2.1.8-py3-none-win_amd64.whl", hash = "sha256:88ef3e8640ef0a64b7ad7394b0f23384f58ac19dd759da7eaa9bc04b2898943f"}, - {file = "watchdog-2.1.8-py3-none-win_ia64.whl", hash = "sha256:0fb60c7d31474b21acba54079ce9ff0136411183e9a591369417cddb1d7d00d7"}, - {file = "watchdog-2.1.8.tar.gz", hash = "sha256:6d03149126864abd32715d4e9267d2754cede25a69052901399356ad3bc5ecff"}, + {file = "watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26"}, + {file = "watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112"}, + {file = "watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3"}, + {file = "watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c"}, + {file = "watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2"}, + {file = "watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c"}, + {file = "watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948"}, + {file = "watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860"}, + {file = "watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0"}, + {file = "watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c"}, + {file = "watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134"}, + {file = "watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b"}, + {file = "watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8"}, + {file = "watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a"}, + {file = "watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c"}, + {file = "watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881"}, + {file = "watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11"}, + {file = "watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa"}, + {file = "watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2"}, + {file = "watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a"}, + {file = "watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680"}, + {file = "watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f"}, + {file = "watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282"}, ] [package.extras] @@ -486,20 +586,24 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "zipp" -version = "3.19.1" +version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "zipp-3.19.1-py3-none-any.whl", hash = "sha256:2828e64edb5386ea6a52e7ba7cdb17bb30a73a858f5eb6eb93d8d36f5ea26091"}, - {file = "zipp-3.19.1.tar.gz", hash = "sha256:35427f6d5594f4acf82d25541438348c26736fa9b3afa2754bcd63cdb99d8e8f"}, + {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, + {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, ] [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -test = ["big-O", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-ignore-flaky", "pytest-mypy", "pytest-ruff (>=0.2.1)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] [metadata] lock-version = "2.0" -python-versions = ">=3.8, !=3.9.7, <4" -content-hash = "97810ce6e4681e1f5b6e19fde79fe38a6a9bf77d8cb512cb6d0e3f485953c7c1" +python-versions = ">3.9.7, <4" +content-hash = "fde8577c7ce1611c6f339f739a74a706cc16f3782affb3f4dae65e0d36c891d6" diff --git a/pyproject.toml b/pyproject.toml index 37945f12b7e..81e1c489bd8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,9 +5,10 @@ description = "Project used to run integration tests for the Arduino CLI" authors = [] [tool.poetry.dependencies] -python = ">=3.8, !=3.9.7, <4" +python = ">3.9.7, <4" +setuptools = "^75.7.0" -[tool.poetry.dev-dependencies] +[tool.poetry.group.dev.dependencies] mkdocs = "^1.2.1" mkdocs-material = "^7.1.8" mdx-truly-sane-lists = "^1.2" From 24799f3ce4b07d8273e7364e10a751c665825cfc Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 9 Jan 2025 16:13:11 +0100 Subject: [PATCH 302/361] fix: Sketch preprocessing errors were displayed on stdout instead of stderr (#2806) * Slightly refactored integration test * Added integration test * Fixed output channel for stderr in sketch preprocessing --- internal/arduino/builder/preprocess_sketch.go | 2 +- .../integrationtest/compile_3/compile_test.go | 60 ++++++++++++++----- .../blink_with_error_directive.ino | 1 + 3 files changed, 46 insertions(+), 17 deletions(-) create mode 100644 internal/integrationtest/compile_3/testdata/blink_with_error_directive/blink_with_error_directive.ino diff --git a/internal/arduino/builder/preprocess_sketch.go b/internal/arduino/builder/preprocess_sketch.go index 86d7bd7e7e9..b7fe178db02 100644 --- a/internal/arduino/builder/preprocess_sketch.go +++ b/internal/arduino/builder/preprocess_sketch.go @@ -32,7 +32,7 @@ func (b *Builder) preprocessSketch(includes paths.PathList) error { if b.logger.Verbose() { b.logger.WriteStdout(result.Stdout()) } - b.logger.WriteStdout(result.Stderr()) + b.logger.WriteStderr(result.Stderr()) b.diagnosticStore.Parse(result.Args(), result.Stderr()) } diff --git a/internal/integrationtest/compile_3/compile_test.go b/internal/integrationtest/compile_3/compile_test.go index aabd30445d0..8e15b901c6d 100644 --- a/internal/integrationtest/compile_3/compile_test.go +++ b/internal/integrationtest/compile_3/compile_test.go @@ -107,7 +107,7 @@ func TestCompilerErrOutput(t *testing.T) { _, _, err := cli.Run("core", "install", "arduino:avr@1.8.5") require.NoError(t, err) - { + t.Run("Diagnostics", func(t *testing.T) { // prepare sketch sketch, err := paths.New("testdata", "blink_with_wrong_cpp").Abs() require.NoError(t, err) @@ -126,10 +126,11 @@ func TestCompilerErrOutput(t *testing.T) { "context": [ { "message": "In function 'void wrong()':" } ] } ]`) - } + }) + + t.Run("PreprocessorDiagnostics", func(t *testing.T) { + // Test the preprocessor errors are present in the diagnostics - // Test the preprocessor errors are present in the diagnostics - { // prepare sketch sketch, err := paths.New("testdata", "blink_with_wrong_include").Abs() require.NoError(t, err) @@ -148,14 +149,15 @@ func TestCompilerErrOutput(t *testing.T) { "message": "invalid preprocessing directive #wrong\n #wrong\n ^~~~~", } ]`) - } + }) + + t.Run("PreprocessorDiagnosticsWithLibErrors", func(t *testing.T) { + // Test the preprocessor errors are present in the diagnostics. + // In case we have 2 libraries: + // 1. one is missing + // 2. the other one is missing only from the first GCC run + // The diagnostics should report only 1 missing library. - // Test the preprocessor errors are present in the diagnostics. - // In case we have 2 libraries: - // 1. one is missing - // 2. the other one is missing only from the first GCC run - // The diagnostics should report only 1 missing library. - { // prepare sketch sketch, err := paths.New("testdata", "using_Wire_with_missing_lib").Abs() require.NoError(t, err) @@ -175,11 +177,12 @@ func TestCompilerErrOutput(t *testing.T) { "column": 10, } ]`) - } + }) + + t.Run("LibraryDiscoverFalseErrors", func(t *testing.T) { + // Check that library discover do not generate false errors + // https://github.com/arduino/arduino-cli/issues/2263 - // Check that library discover do not generate false errors - // https://github.com/arduino/arduino-cli/issues/2263 - { // prepare sketch sketch, err := paths.New("testdata", "using_Wire").Abs() require.NoError(t, err) @@ -191,7 +194,32 @@ func TestCompilerErrOutput(t *testing.T) { jsonOut.Query(".compiler_out").MustNotContain(`"fatal error"`) jsonOut.Query(".compiler_err").MustNotContain(`"fatal error"`) jsonOut.MustNotContain(`{ "diagnostics" : [] }`) - } + }) + + t.Run("PreprocessorErrorsOnStderr", func(t *testing.T) { + // Test the preprocessor errors are present in the diagnostics + // when they are printed on stderr + + // prepare sketch + sketch, err := paths.New("testdata", "blink_with_error_directive").Abs() + require.NoError(t, err) + + // Run compile and catch err stream + out, _, err := cli.Run("compile", "-b", "arduino:avr:uno", "-v", "--json", sketch.String()) + require.Error(t, err) + jsonOut := requirejson.Parse(t, out) + jsonOut.Query(".compiler_out").MustNotContain(`"error:"`) + jsonOut.Query(".compiler_err").MustContain(`"error:"`) + jsonOut.Query(`.builder_result.diagnostics`).MustContain(` + [ + { + "severity": "ERROR", + "message": "#error void setup(){} void loop(){}\n #error void setup(){} void loop(){}\n ^~~~~", + "line": 1, + "column": 2 + } + ]`) + }) } func TestCompileRelativeLibraryPath(t *testing.T) { diff --git a/internal/integrationtest/compile_3/testdata/blink_with_error_directive/blink_with_error_directive.ino b/internal/integrationtest/compile_3/testdata/blink_with_error_directive/blink_with_error_directive.ino new file mode 100644 index 00000000000..02bc8b99521 --- /dev/null +++ b/internal/integrationtest/compile_3/testdata/blink_with_error_directive/blink_with_error_directive.ino @@ -0,0 +1 @@ +#error void setup(){} void loop(){} From d09cc7684eba01594e65074ffc978906026d09ae Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Jan 2025 15:24:04 +0100 Subject: [PATCH 303/361] [skip changelog] Bump go.bug.st/testifyjson from 1.2.0 to 1.3.0 (#2807) Bumps [go.bug.st/testifyjson](https://github.com/bugst/go-testifyjson) from 1.2.0 to 1.3.0. - [Release notes](https://github.com/bugst/go-testifyjson/releases) - [Commits](https://github.com/bugst/go-testifyjson/compare/v1.2.0...v1.3.0) --- updated-dependencies: - dependency-name: go.bug.st/testifyjson dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 720dd698863..3cfd8236a24 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/downloader/v2 v2.2.0 go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 - go.bug.st/testifyjson v1.2.0 + go.bug.st/testifyjson v1.3.0 golang.org/x/sys v0.29.0 golang.org/x/term v0.28.0 golang.org/x/text v0.21.0 diff --git a/go.sum b/go.sum index 8ad8d260a33..18131cd7a72 100644 --- a/go.sum +++ b/go.sum @@ -213,8 +213,8 @@ go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= go.bug.st/serial v1.6.2 h1:kn9LRX3sdm+WxWKufMlIRndwGfPWsH1/9lCWXQCasq8= go.bug.st/serial v1.6.2/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= -go.bug.st/testifyjson v1.2.0 h1:0pAfOUMVCOJ6bb9JcC4UmnACjxwxv2Ojb6Z9chaQBjg= -go.bug.st/testifyjson v1.2.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= +go.bug.st/testifyjson v1.3.0 h1:DiO3LpK0RIgxvm66Pf8m7FhRVLEBFRmLkg+6vRzmk0g= +go.bug.st/testifyjson v1.3.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= From ed88bd8d91cc3a09767177b00f93a963e4898a28 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 13 Jan 2025 15:54:32 +0100 Subject: [PATCH 304/361] Added `BoardIdentify` gRPC call. (#2794) * Board identification function do not require a full Port but just the properties * Added BoardIdentify gRPC call * Added implementation of BoardIdentify * Removed unused functions * Added option to query cloud API * Moved functions into proper compilation unit * Added integration test * Moved code for better readability * Use BoardIdentify internally This commit also fix a bug (the package manager was used after release). --- commands/service_board_identify.go | 217 +++++ ...test.go => service_board_identify_test.go} | 3 +- commands/service_board_list.go | 222 +---- .../cores/packagemanager/package_manager.go | 34 - internal/integrationtest/arduino-cli.go | 12 + .../daemon/board_identification_test.go | 54 ++ rpc/cc/arduino/cli/commands/v1/board.pb.go | 214 ++++- rpc/cc/arduino/cli/commands/v1/board.proto | 15 + rpc/cc/arduino/cli/commands/v1/commands.pb.go | 840 +++++++++--------- rpc/cc/arduino/cli/commands/v1/commands.proto | 3 + .../cli/commands/v1/commands_grpc.pb.go | 40 + 11 files changed, 992 insertions(+), 662 deletions(-) create mode 100644 commands/service_board_identify.go rename commands/{service_board_list_test.go => service_board_identify_test.go} (97%) create mode 100644 internal/integrationtest/daemon/board_identification_test.go diff --git a/commands/service_board_identify.go b/commands/service_board_identify.go new file mode 100644 index 00000000000..2f4b1f54dce --- /dev/null +++ b/commands/service_board_identify.go @@ -0,0 +1,217 @@ +// This file is part of arduino-cli. +// +// Copyright 2020 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 commands + +import ( + "context" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "regexp" + "sort" + "strings" + "time" + + "github.com/arduino/arduino-cli/commands/cmderrors" + "github.com/arduino/arduino-cli/commands/internal/instances" + "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/i18n" + "github.com/arduino/arduino-cli/internal/inventory" + "github.com/arduino/arduino-cli/pkg/fqbn" + rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/arduino/go-properties-orderedmap" + "github.com/sirupsen/logrus" +) + +// BoardIdentify identifies the board based on the provided properties +func (s *arduinoCoreServerImpl) BoardIdentify(ctx context.Context, req *rpc.BoardIdentifyRequest) (*rpc.BoardIdentifyResponse, error) { + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err + } + defer release() + + props := properties.NewFromHashmap(req.GetProperties()) + res, err := identify(pme, props, s.settings, !req.GetUseCloudApiForUnknownBoardDetection()) + if err != nil { + return nil, err + } + return &rpc.BoardIdentifyResponse{ + Boards: res, + }, nil +} + +// identify returns a list of boards checking first the installed platforms or the Cloud API +func identify(pme *packagemanager.Explorer, properties *properties.Map, settings *configuration.Settings, skipCloudAPI bool) ([]*rpc.BoardListItem, error) { + if properties == nil { + return nil, nil + } + + // first query installed cores through the Package Manager + boards := []*rpc.BoardListItem{} + logrus.Debug("Querying installed cores for board identification...") + for _, board := range pme.IdentifyBoard(properties) { + fqbn, err := fqbn.Parse(board.FQBN()) + if err != nil { + return nil, &cmderrors.InvalidFQBNError{Cause: err} + } + fqbn.Configs = board.IdentifyBoardConfiguration(properties) + + // We need the Platform maintaner for sorting so we set it here + platform := &rpc.Platform{ + Metadata: &rpc.PlatformMetadata{ + Maintainer: board.PlatformRelease.Platform.Package.Maintainer, + }, + } + boards = append(boards, &rpc.BoardListItem{ + Name: board.Name(), + Fqbn: fqbn.String(), + IsHidden: board.IsHidden(), + Platform: platform, + }) + } + + // if installed cores didn't recognize the board, try querying + // the builder API if the board is a USB device port + if len(boards) == 0 && !skipCloudAPI && !settings.SkipCloudApiForBoardDetection() { + items, err := identifyViaCloudAPI(properties, settings) + if err != nil { + // this is bad, but keep going + logrus.WithError(err).Debug("Error querying builder API") + } + boards = items + } + + // Sort by FQBN alphabetically + sort.Slice(boards, func(i, j int) bool { + return strings.ToLower(boards[i].GetFqbn()) < strings.ToLower(boards[j].GetFqbn()) + }) + + // Put Arduino boards before others in case there are non Arduino boards with identical VID:PID combination + sort.SliceStable(boards, func(i, j int) bool { + if boards[i].GetPlatform().GetMetadata().GetMaintainer() == "Arduino" && boards[j].GetPlatform().GetMetadata().GetMaintainer() != "Arduino" { + return true + } + return false + }) + + // We need the Board's Platform only for sorting but it shouldn't be present in the output + for _, board := range boards { + board.Platform = nil + } + + return boards, nil +} + +func identifyViaCloudAPI(props *properties.Map, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { + // If the port is not USB do not try identification via cloud + if !props.ContainsKey("vid") || !props.ContainsKey("pid") { + return nil, nil + } + + logrus.Debug("Querying builder API for board identification...") + return cachedAPIByVidPid(props.Get("vid"), props.Get("pid"), settings) +} + +var ( + vidPidURL = "https://builder.arduino.cc/v3/boards/byVidPid" + validVidPid = regexp.MustCompile(`0[xX][a-fA-F\d]{4}`) +) + +func cachedAPIByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { + var resp []*rpc.BoardListItem + + cacheKey := fmt.Sprintf("cache.builder-api.v3/boards/byvid/pid/%s/%s", vid, pid) + if cachedResp := inventory.Store.GetString(cacheKey + ".data"); cachedResp != "" { + ts := inventory.Store.GetTime(cacheKey + ".ts") + if time.Since(ts) < time.Hour*24 { + // Use cached response + if err := json.Unmarshal([]byte(cachedResp), &resp); err == nil { + return resp, nil + } + } + } + + resp, err := apiByVidPid(vid, pid, settings) // Perform API requrest + + if err == nil { + if cachedResp, err := json.Marshal(resp); err == nil { + inventory.Store.Set(cacheKey+".data", string(cachedResp)) + inventory.Store.Set(cacheKey+".ts", time.Now()) + inventory.WriteStore() + } + } + return resp, err +} + +func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { + // ensure vid and pid are valid before hitting the API + if !validVidPid.MatchString(vid) { + return nil, errors.New(i18n.Tr("Invalid vid value: '%s'", vid)) + } + if !validVidPid.MatchString(pid) { + return nil, errors.New(i18n.Tr("Invalid pid value: '%s'", pid)) + } + + url := fmt.Sprintf("%s/%s/%s", vidPidURL, vid, pid) + req, _ := http.NewRequest("GET", url, nil) + req.Header.Set("Content-Type", "application/json") + + httpClient, err := settings.NewHttpClient() + if err != nil { + return nil, fmt.Errorf("%s: %w", i18n.Tr("failed to initialize http client"), err) + } + + res, err := httpClient.Do(req) + if err != nil { + return nil, fmt.Errorf("%s: %w", i18n.Tr("error querying Arduino Cloud Api"), err) + } + if res.StatusCode == 404 { + // This is not an error, it just means that the board is not recognized + return nil, nil + } + if res.StatusCode >= 400 { + return nil, errors.New(i18n.Tr("the server responded with status %s", res.Status)) + } + + resp, err := io.ReadAll(res.Body) + if err != nil { + return nil, err + } + if err := res.Body.Close(); err != nil { + return nil, err + } + + var dat map[string]interface{} + if err := json.Unmarshal(resp, &dat); err != nil { + return nil, fmt.Errorf("%s: %w", i18n.Tr("error processing response from server"), err) + } + name, nameFound := dat["name"].(string) + fqbn, fbqnFound := dat["fqbn"].(string) + if !nameFound || !fbqnFound { + return nil, errors.New(i18n.Tr("wrong format in server response")) + } + + return []*rpc.BoardListItem{ + { + Name: name, + Fqbn: fqbn, + }, + }, nil +} diff --git a/commands/service_board_list_test.go b/commands/service_board_identify_test.go similarity index 97% rename from commands/service_board_list_test.go rename to commands/service_board_identify_test.go index f9fe2ca8ba5..98dc8e40278 100644 --- a/commands/service_board_list_test.go +++ b/commands/service_board_identify_test.go @@ -25,7 +25,6 @@ import ( "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" - discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/stretchr/testify/require" "go.bug.st/downloader/v2" semver "go.bug.st/relaxed-semver" @@ -157,7 +156,7 @@ func TestBoardIdentifySorting(t *testing.T) { defer release() settings := configuration.NewSettings() - res, err := identify(pme, &discovery.Port{Properties: idPrefs}, settings, true) + res, err := identify(pme, idPrefs, settings, true) require.NoError(t, err) require.NotNil(t, res) require.Len(t, res, 4) diff --git a/commands/service_board_list.go b/commands/service_board_list.go index 6f6d90f8b50..daf7ca57a87 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -17,199 +17,23 @@ package commands import ( "context" - "encoding/json" "errors" - "fmt" - "io" - "net/http" - "regexp" - "sort" - "strings" "time" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" f "github.com/arduino/arduino-cli/internal/algorithms" - "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" - "github.com/arduino/arduino-cli/internal/cli/configuration" + "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/arduino/arduino-cli/internal/i18n" - "github.com/arduino/arduino-cli/internal/inventory" "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" - "github.com/arduino/go-properties-orderedmap" - discovery "github.com/arduino/pluggable-discovery-protocol-handler/v2" "github.com/sirupsen/logrus" ) -var ( - vidPidURL = "https://builder.arduino.cc/v3/boards/byVidPid" - validVidPid = regexp.MustCompile(`0[xX][a-fA-F\d]{4}`) -) - -func cachedAPIByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { - var resp []*rpc.BoardListItem - - cacheKey := fmt.Sprintf("cache.builder-api.v3/boards/byvid/pid/%s/%s", vid, pid) - if cachedResp := inventory.Store.GetString(cacheKey + ".data"); cachedResp != "" { - ts := inventory.Store.GetTime(cacheKey + ".ts") - if time.Since(ts) < time.Hour*24 { - // Use cached response - if err := json.Unmarshal([]byte(cachedResp), &resp); err == nil { - return resp, nil - } - } - } - - resp, err := apiByVidPid(vid, pid, settings) // Perform API requrest - - if err == nil { - if cachedResp, err := json.Marshal(resp); err == nil { - inventory.Store.Set(cacheKey+".data", string(cachedResp)) - inventory.Store.Set(cacheKey+".ts", time.Now()) - inventory.WriteStore() - } - } - return resp, err -} - -func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { - // ensure vid and pid are valid before hitting the API - if !validVidPid.MatchString(vid) { - return nil, errors.New(i18n.Tr("Invalid vid value: '%s'", vid)) - } - if !validVidPid.MatchString(pid) { - return nil, errors.New(i18n.Tr("Invalid pid value: '%s'", pid)) - } - - url := fmt.Sprintf("%s/%s/%s", vidPidURL, vid, pid) - req, _ := http.NewRequest("GET", url, nil) - req.Header.Set("Content-Type", "application/json") - - httpClient, err := settings.NewHttpClient() - if err != nil { - return nil, fmt.Errorf("%s: %w", i18n.Tr("failed to initialize http client"), err) - } - - res, err := httpClient.Do(req) - if err != nil { - return nil, fmt.Errorf("%s: %w", i18n.Tr("error querying Arduino Cloud Api"), err) - } - if res.StatusCode == 404 { - // This is not an error, it just means that the board is not recognized - return nil, nil - } - if res.StatusCode >= 400 { - return nil, errors.New(i18n.Tr("the server responded with status %s", res.Status)) - } - - resp, err := io.ReadAll(res.Body) - if err != nil { - return nil, err - } - if err := res.Body.Close(); err != nil { - return nil, err - } - - var dat map[string]interface{} - if err := json.Unmarshal(resp, &dat); err != nil { - return nil, fmt.Errorf("%s: %w", i18n.Tr("error processing response from server"), err) - } - name, nameFound := dat["name"].(string) - fqbn, fbqnFound := dat["fqbn"].(string) - if !nameFound || !fbqnFound { - return nil, errors.New(i18n.Tr("wrong format in server response")) - } - - return []*rpc.BoardListItem{ - { - Name: name, - Fqbn: fqbn, - }, - }, nil -} - -func identifyViaCloudAPI(props *properties.Map, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { - // If the port is not USB do not try identification via cloud - if !props.ContainsKey("vid") || !props.ContainsKey("pid") { - return nil, nil - } - - logrus.Debug("Querying builder API for board identification...") - return cachedAPIByVidPid(props.Get("vid"), props.Get("pid"), settings) -} - -// identify returns a list of boards checking first the installed platforms or the Cloud API -func identify(pme *packagemanager.Explorer, port *discovery.Port, settings *configuration.Settings, skipCloudAPI bool) ([]*rpc.BoardListItem, error) { - boards := []*rpc.BoardListItem{} - if port.Properties == nil { - return boards, nil - } - - // first query installed cores through the Package Manager - logrus.Debug("Querying installed cores for board identification...") - for _, board := range pme.IdentifyBoard(port.Properties) { - fqbn, err := fqbn.Parse(board.FQBN()) - if err != nil { - return nil, &cmderrors.InvalidFQBNError{Cause: err} - } - fqbn.Configs = board.IdentifyBoardConfiguration(port.Properties) - - // We need the Platform maintaner for sorting so we set it here - platform := &rpc.Platform{ - Metadata: &rpc.PlatformMetadata{ - Maintainer: board.PlatformRelease.Platform.Package.Maintainer, - }, - } - boards = append(boards, &rpc.BoardListItem{ - Name: board.Name(), - Fqbn: fqbn.String(), - IsHidden: board.IsHidden(), - Platform: platform, - }) - } - - // if installed cores didn't recognize the board, try querying - // the builder API if the board is a USB device port - if len(boards) == 0 && !skipCloudAPI && !settings.SkipCloudApiForBoardDetection() { - items, err := identifyViaCloudAPI(port.Properties, settings) - if err != nil { - // this is bad, but keep going - logrus.WithError(err).Debug("Error querying builder API") - } - boards = items - } - - // Sort by FQBN alphabetically - sort.Slice(boards, func(i, j int) bool { - return strings.ToLower(boards[i].GetFqbn()) < strings.ToLower(boards[j].GetFqbn()) - }) - - // Put Arduino boards before others in case there are non Arduino boards with identical VID:PID combination - sort.SliceStable(boards, func(i, j int) bool { - if boards[i].GetPlatform().GetMetadata().GetMaintainer() == "Arduino" && boards[j].GetPlatform().GetMetadata().GetMaintainer() != "Arduino" { - return true - } - return false - }) - - // We need the Board's Platform only for sorting but it shouldn't be present in the output - for _, board := range boards { - board.Platform = nil - } - - return boards, nil -} - // BoardList returns a list of boards found by the loaded discoveries. // In case of errors partial results from discoveries that didn't fail // are returned. func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardListRequest) (*rpc.BoardListResponse, error) { - pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) - if err != nil { - return nil, err - } - defer release() - var fqbnFilter *fqbn.FQBN if f := req.GetFqbn(); f != "" { var err error @@ -219,13 +43,22 @@ func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis } } + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return nil, err + } dm := pme.DiscoveryManager() warnings := f.Map(dm.Start(), (error).Error) + release() time.Sleep(time.Duration(req.GetTimeout()) * time.Millisecond) ports := []*rpc.DetectedPort{} for _, port := range dm.List() { - boards, err := identify(pme, port, s.settings, req.GetSkipCloudApiForBoardDetection()) + resp, err := s.BoardIdentify(ctx, &rpc.BoardIdentifyRequest{ + Instance: req.GetInstance(), + Properties: port.Properties.AsMap(), + UseCloudApiForUnknownBoardDetection: !req.GetSkipCloudApiForBoardDetection(), + }) if err != nil { warnings = append(warnings, err.Error()) } @@ -234,7 +67,7 @@ func (s *arduinoCoreServerImpl) BoardList(ctx context.Context, req *rpc.BoardLis // API managed to recognize the connected board b := &rpc.DetectedPort{ Port: rpc.DiscoveryPortToRPC(port), - MatchingBoards: boards, + MatchingBoards: resp.GetBoards(), } if fqbnFilter == nil || hasMatchingBoard(b, fqbnFilter) { @@ -278,16 +111,18 @@ func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s return err } - pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) - if err != nil { - return err - } - dm := pme.DiscoveryManager() - - watcher, err := dm.Watch() - release() - if err != nil { - return err + var watcher *discoverymanager.PortWatcher + { + pme, release, err := instances.GetPackageManagerExplorer(req.GetInstance()) + if err != nil { + return err + } + dm := pme.DiscoveryManager() + watcher, err = dm.Watch() + release() + if err != nil { + return err + } } go func() { @@ -298,11 +133,16 @@ func (s *arduinoCoreServerImpl) BoardListWatch(req *rpc.BoardListWatchRequest, s boardsError := "" if event.Type == "add" { - boards, err := identify(pme, event.Port, s.settings, req.GetSkipCloudApiForBoardDetection()) + resp, err := s.BoardIdentify(context.Background(), &rpc.BoardIdentifyRequest{ + Instance: req.GetInstance(), + Properties: event.Port.Properties.AsMap(), + UseCloudApiForUnknownBoardDetection: !req.GetSkipCloudApiForBoardDetection(), + }) if err != nil { boardsError = err.Error() + } else { + port.MatchingBoards = resp.GetBoards() } - port.MatchingBoards = boards } stream.Send(&rpc.BoardListWatchResponse{ EventType: event.Type, diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index 4c22c19c6e4..3281a3ad9e9 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -255,40 +255,6 @@ func (pme *Explorer) FindPlatformReleaseProvidingBoardsWithVidPid(vid, pid strin return res } -// FindBoardsWithVidPid FIXMEDOC -func (pme *Explorer) FindBoardsWithVidPid(vid, pid string) []*cores.Board { - res := []*cores.Board{} - for _, targetPackage := range pme.packages { - for _, targetPlatform := range targetPackage.Platforms { - if platform := pme.GetInstalledPlatformRelease(targetPlatform); platform != nil { - for _, board := range platform.Boards { - if board.HasUsbID(vid, pid) { - res = append(res, board) - } - } - } - } - } - return res -} - -// FindBoardsWithID FIXMEDOC -func (pme *Explorer) FindBoardsWithID(id string) []*cores.Board { - res := []*cores.Board{} - for _, targetPackage := range pme.packages { - for _, targetPlatform := range targetPackage.Platforms { - if platform := pme.GetInstalledPlatformRelease(targetPlatform); platform != nil { - for _, board := range platform.Boards { - if board.BoardID == id { - res = append(res, board) - } - } - } - } - } - return res -} - // FindBoardWithFQBN returns the board identified by the fqbn, or an error func (pme *Explorer) FindBoardWithFQBN(fqbnIn string) (*cores.Board, error) { fqbn, err := fqbn.Parse(fqbnIn) diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 231065843d4..c157a57d7a2 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -694,3 +694,15 @@ func (inst *ArduinoCLIInstance) Upload(ctx context.Context, fqbn, sketchPath, po logCallf(">>> Upload(%v %v port/protocol=%s/%s)\n", fqbn, sketchPath, port, protocol) return uploadCl, err } + +// BoardIdentify calls the "BoardIdentify" gRPC method. +func (inst *ArduinoCLIInstance) BoardIdentify(ctx context.Context, props map[string]string, useCloudAPI bool) (*commands.BoardIdentifyResponse, error) { + req := &commands.BoardIdentifyRequest{ + Instance: inst.instance, + Properties: props, + UseCloudApiForUnknownBoardDetection: useCloudAPI, + } + logCallf(">>> BoardIdentify(%+v)\n", req) + resp, err := inst.cli.daemonClient.BoardIdentify(ctx, req) + return resp, err +} diff --git a/internal/integrationtest/daemon/board_identification_test.go b/internal/integrationtest/daemon/board_identification_test.go new file mode 100644 index 00000000000..a8c4a9e543f --- /dev/null +++ b/internal/integrationtest/daemon/board_identification_test.go @@ -0,0 +1,54 @@ +// This file is part of arduino-cli. +// +// Copyright 2024 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 daemon_test + +import ( + "context" + "errors" + "fmt" + "io" + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "github.com/stretchr/testify/require" +) + +func TestBoardIdentification(t *testing.T) { + env, cli := integrationtest.CreateEnvForDaemon(t) + defer env.CleanUp() + + grpcInst := cli.Create() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + plInst, err := grpcInst.PlatformInstall(context.Background(), "arduino", "avr", "1.8.6", true) + require.NoError(t, err) + for { + msg, err := plInst.Recv() + if errors.Is(err, io.EOF) { + break + } + require.NoError(t, err) + fmt.Printf("INSTALL> %v\n", msg) + } + + resp, err := grpcInst.BoardIdentify(context.Background(), map[string]string{"vid": "0x2341", "pid": "0x0043"}, false) + require.NoError(t, err) + require.Len(t, resp.GetBoards(), 1) + require.Equal(t, "arduino:avr:uno", resp.GetBoards()[0].GetFqbn()) +} diff --git a/rpc/cc/arduino/cli/commands/v1/board.pb.go b/rpc/cc/arduino/cli/commands/v1/board.pb.go index 229a9d7243d..251eca88221 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/board.pb.go @@ -1481,6 +1481,121 @@ func (x *BoardSearchResponse) GetBoards() []*BoardListItem { return nil } +type BoardIdentifyRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Arduino Core Service instance from the `Init` response. + Instance *Instance `protobuf:"bytes,1,opt,name=instance,proto3" json:"instance,omitempty"` + // A set of properties to search (can be taken from a Port message). + Properties map[string]string `protobuf:"bytes,2,rep,name=properties,proto3" json:"properties,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + // If set to true, when a board cannot be identified using the installed + // platforms, the cloud API will be called to detect the board. + UseCloudApiForUnknownBoardDetection bool `protobuf:"varint,3,opt,name=use_cloud_api_for_unknown_board_detection,json=useCloudApiForUnknownBoardDetection,proto3" json:"use_cloud_api_for_unknown_board_detection,omitempty"` +} + +func (x *BoardIdentifyRequest) Reset() { + *x = BoardIdentifyRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_board_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoardIdentifyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoardIdentifyRequest) ProtoMessage() {} + +func (x *BoardIdentifyRequest) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_board_proto_msgTypes[20] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoardIdentifyRequest.ProtoReflect.Descriptor instead. +func (*BoardIdentifyRequest) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_board_proto_rawDescGZIP(), []int{20} +} + +func (x *BoardIdentifyRequest) GetInstance() *Instance { + if x != nil { + return x.Instance + } + return nil +} + +func (x *BoardIdentifyRequest) GetProperties() map[string]string { + if x != nil { + return x.Properties + } + return nil +} + +func (x *BoardIdentifyRequest) GetUseCloudApiForUnknownBoardDetection() bool { + if x != nil { + return x.UseCloudApiForUnknownBoardDetection + } + return false +} + +type BoardIdentifyResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // List of matching boards (they may have an FQBN with options set). + Boards []*BoardListItem `protobuf:"bytes,1,rep,name=boards,proto3" json:"boards,omitempty"` +} + +func (x *BoardIdentifyResponse) Reset() { + *x = BoardIdentifyResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_cc_arduino_cli_commands_v1_board_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *BoardIdentifyResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BoardIdentifyResponse) ProtoMessage() {} + +func (x *BoardIdentifyResponse) ProtoReflect() protoreflect.Message { + mi := &file_cc_arduino_cli_commands_v1_board_proto_msgTypes[21] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BoardIdentifyResponse.ProtoReflect.Descriptor instead. +func (*BoardIdentifyResponse) Descriptor() ([]byte, []int) { + return file_cc_arduino_cli_commands_v1_board_proto_rawDescGZIP(), []int{21} +} + +func (x *BoardIdentifyResponse) GetBoards() []*BoardListItem { + if x != nil { + return x.Boards + } + return nil +} + var File_cc_arduino_cli_commands_v1_board_proto protoreflect.FileDescriptor var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ @@ -1720,6 +1835,33 @@ var file_cc_arduino_cli_commands_v1_board_proto_rawDesc = []byte{ 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, + 0x73, 0x22, 0xd1, 0x02, 0x0a, 0x14, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x08, 0x69, 0x6e, + 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x63, 0x65, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x60, 0x0a, 0x0a, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, + 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x56, + 0x0a, 0x29, 0x75, 0x73, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x5f, 0x61, 0x70, 0x69, 0x5f, + 0x66, 0x6f, 0x72, 0x5f, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x62, 0x6f, 0x61, 0x72, + 0x64, 0x5f, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x23, 0x75, 0x73, 0x65, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x41, 0x70, 0x69, 0x46, 0x6f, + 0x72, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x44, 0x65, 0x74, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x3d, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x69, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x5a, 0x0a, 0x15, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, + 0x0a, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, + 0x64, 0x4c, 0x69, 0x73, 0x74, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x06, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, @@ -1740,7 +1882,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_rawDescGZIP() []byte { return file_cc_arduino_cli_commands_v1_board_proto_rawDescData } -var file_cc_arduino_cli_commands_v1_board_proto_msgTypes = make([]protoimpl.MessageInfo, 21) +var file_cc_arduino_cli_commands_v1_board_proto_msgTypes = make([]protoimpl.MessageInfo, 24) var file_cc_arduino_cli_commands_v1_board_proto_goTypes = []any{ (*BoardDetailsRequest)(nil), // 0: cc.arduino.cli.commands.v1.BoardDetailsRequest (*BoardDetailsResponse)(nil), // 1: cc.arduino.cli.commands.v1.BoardDetailsResponse @@ -1762,40 +1904,46 @@ var file_cc_arduino_cli_commands_v1_board_proto_goTypes = []any{ (*BoardListItem)(nil), // 17: cc.arduino.cli.commands.v1.BoardListItem (*BoardSearchRequest)(nil), // 18: cc.arduino.cli.commands.v1.BoardSearchRequest (*BoardSearchResponse)(nil), // 19: cc.arduino.cli.commands.v1.BoardSearchResponse - nil, // 20: cc.arduino.cli.commands.v1.BoardIdentificationProperties.PropertiesEntry - (*Instance)(nil), // 21: cc.arduino.cli.commands.v1.Instance - (*Programmer)(nil), // 22: cc.arduino.cli.commands.v1.Programmer - (*Port)(nil), // 23: cc.arduino.cli.commands.v1.Port - (*Platform)(nil), // 24: cc.arduino.cli.commands.v1.Platform + (*BoardIdentifyRequest)(nil), // 20: cc.arduino.cli.commands.v1.BoardIdentifyRequest + (*BoardIdentifyResponse)(nil), // 21: cc.arduino.cli.commands.v1.BoardIdentifyResponse + nil, // 22: cc.arduino.cli.commands.v1.BoardIdentificationProperties.PropertiesEntry + nil, // 23: cc.arduino.cli.commands.v1.BoardIdentifyRequest.PropertiesEntry + (*Instance)(nil), // 24: cc.arduino.cli.commands.v1.Instance + (*Programmer)(nil), // 25: cc.arduino.cli.commands.v1.Programmer + (*Port)(nil), // 26: cc.arduino.cli.commands.v1.Port + (*Platform)(nil), // 27: cc.arduino.cli.commands.v1.Platform } var file_cc_arduino_cli_commands_v1_board_proto_depIdxs = []int32{ - 21, // 0: cc.arduino.cli.commands.v1.BoardDetailsRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 24, // 0: cc.arduino.cli.commands.v1.BoardDetailsRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 3, // 1: cc.arduino.cli.commands.v1.BoardDetailsResponse.package:type_name -> cc.arduino.cli.commands.v1.Package 5, // 2: cc.arduino.cli.commands.v1.BoardDetailsResponse.platform:type_name -> cc.arduino.cli.commands.v1.BoardPlatform 6, // 3: cc.arduino.cli.commands.v1.BoardDetailsResponse.tools_dependencies:type_name -> cc.arduino.cli.commands.v1.ToolsDependencies 8, // 4: cc.arduino.cli.commands.v1.BoardDetailsResponse.config_options:type_name -> cc.arduino.cli.commands.v1.ConfigOption - 22, // 5: cc.arduino.cli.commands.v1.BoardDetailsResponse.programmers:type_name -> cc.arduino.cli.commands.v1.Programmer + 25, // 5: cc.arduino.cli.commands.v1.BoardDetailsResponse.programmers:type_name -> cc.arduino.cli.commands.v1.Programmer 2, // 6: cc.arduino.cli.commands.v1.BoardDetailsResponse.identification_properties:type_name -> cc.arduino.cli.commands.v1.BoardIdentificationProperties - 20, // 7: cc.arduino.cli.commands.v1.BoardIdentificationProperties.properties:type_name -> cc.arduino.cli.commands.v1.BoardIdentificationProperties.PropertiesEntry + 22, // 7: cc.arduino.cli.commands.v1.BoardIdentificationProperties.properties:type_name -> cc.arduino.cli.commands.v1.BoardIdentificationProperties.PropertiesEntry 4, // 8: cc.arduino.cli.commands.v1.Package.help:type_name -> cc.arduino.cli.commands.v1.Help 7, // 9: cc.arduino.cli.commands.v1.ToolsDependencies.systems:type_name -> cc.arduino.cli.commands.v1.Systems 9, // 10: cc.arduino.cli.commands.v1.ConfigOption.values:type_name -> cc.arduino.cli.commands.v1.ConfigValue - 21, // 11: cc.arduino.cli.commands.v1.BoardListRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 24, // 11: cc.arduino.cli.commands.v1.BoardListRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 12, // 12: cc.arduino.cli.commands.v1.BoardListResponse.ports:type_name -> cc.arduino.cli.commands.v1.DetectedPort 17, // 13: cc.arduino.cli.commands.v1.DetectedPort.matching_boards:type_name -> cc.arduino.cli.commands.v1.BoardListItem - 23, // 14: cc.arduino.cli.commands.v1.DetectedPort.port:type_name -> cc.arduino.cli.commands.v1.Port - 21, // 15: cc.arduino.cli.commands.v1.BoardListAllRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 26, // 14: cc.arduino.cli.commands.v1.DetectedPort.port:type_name -> cc.arduino.cli.commands.v1.Port + 24, // 15: cc.arduino.cli.commands.v1.BoardListAllRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 17, // 16: cc.arduino.cli.commands.v1.BoardListAllResponse.boards:type_name -> cc.arduino.cli.commands.v1.BoardListItem - 21, // 17: cc.arduino.cli.commands.v1.BoardListWatchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 24, // 17: cc.arduino.cli.commands.v1.BoardListWatchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 12, // 18: cc.arduino.cli.commands.v1.BoardListWatchResponse.port:type_name -> cc.arduino.cli.commands.v1.DetectedPort - 24, // 19: cc.arduino.cli.commands.v1.BoardListItem.platform:type_name -> cc.arduino.cli.commands.v1.Platform - 21, // 20: cc.arduino.cli.commands.v1.BoardSearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 27, // 19: cc.arduino.cli.commands.v1.BoardListItem.platform:type_name -> cc.arduino.cli.commands.v1.Platform + 24, // 20: cc.arduino.cli.commands.v1.BoardSearchRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance 17, // 21: cc.arduino.cli.commands.v1.BoardSearchResponse.boards:type_name -> cc.arduino.cli.commands.v1.BoardListItem - 22, // [22:22] is the sub-list for method output_type - 22, // [22:22] is the sub-list for method input_type - 22, // [22:22] is the sub-list for extension type_name - 22, // [22:22] is the sub-list for extension extendee - 0, // [0:22] is the sub-list for field type_name + 24, // 22: cc.arduino.cli.commands.v1.BoardIdentifyRequest.instance:type_name -> cc.arduino.cli.commands.v1.Instance + 23, // 23: cc.arduino.cli.commands.v1.BoardIdentifyRequest.properties:type_name -> cc.arduino.cli.commands.v1.BoardIdentifyRequest.PropertiesEntry + 17, // 24: cc.arduino.cli.commands.v1.BoardIdentifyResponse.boards:type_name -> cc.arduino.cli.commands.v1.BoardListItem + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name } func init() { file_cc_arduino_cli_commands_v1_board_proto_init() } @@ -2046,6 +2194,30 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { return nil } } + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[20].Exporter = func(v any, i int) any { + switch v := v.(*BoardIdentifyRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_cc_arduino_cli_commands_v1_board_proto_msgTypes[21].Exporter = func(v any, i int) any { + switch v := v.(*BoardIdentifyResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } type x struct{} out := protoimpl.TypeBuilder{ @@ -2053,7 +2225,7 @@ func file_cc_arduino_cli_commands_v1_board_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_cc_arduino_cli_commands_v1_board_proto_rawDesc, NumEnums: 0, - NumMessages: 21, + NumMessages: 24, NumExtensions: 0, NumServices: 0, }, diff --git a/rpc/cc/arduino/cli/commands/v1/board.proto b/rpc/cc/arduino/cli/commands/v1/board.proto index 01d8145acdc..eef8307689d 100644 --- a/rpc/cc/arduino/cli/commands/v1/board.proto +++ b/rpc/cc/arduino/cli/commands/v1/board.proto @@ -237,3 +237,18 @@ message BoardSearchResponse { // List of installed and installable boards. repeated BoardListItem boards = 1; } + +message BoardIdentifyRequest { + // Arduino Core Service instance from the `Init` response. + Instance instance = 1; + // A set of properties to search (can be taken from a Port message). + map<string, string> properties = 2; + // If set to true, when a board cannot be identified using the installed + // platforms, the cloud API will be called to detect the board. + bool use_cloud_api_for_unknown_board_detection = 3; +} + +message BoardIdentifyResponse { + // List of matching boards (they may have an FQBN with options set). + repeated BoardListItem boards = 1; +} diff --git a/rpc/cc/arduino/cli/commands/v1/commands.pb.go b/rpc/cc/arduino/cli/commands/v1/commands.pb.go index b79b2aa7893..b17f636954c 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands.pb.go @@ -2081,7 +2081,7 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x03, 0x12, 0x34, 0x0a, 0x30, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x49, 0x4e, 0x49, 0x54, 0x5f, 0x52, 0x45, 0x41, 0x53, 0x4f, 0x4e, 0x5f, 0x49, 0x4e, 0x44, 0x45, 0x58, 0x5f, 0x44, 0x4f, 0x57, - 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xfb, 0x2f, + 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x04, 0x32, 0xf1, 0x30, 0x0a, 0x12, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x0a, 0x06, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, @@ -2181,296 +2181,304 @@ var file_cc_arduino_cli_commands_v1_commands_proto_rawDesc = []byte{ 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, - 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, - 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, - 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, - 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, - 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, - 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, - 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, - 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, + 0x0a, 0x0d, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x12, + 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, + 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x61, 0x72, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, + 0x74, 0x57, 0x61, 0x74, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, - 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x57, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x61, 0x72, 0x64, 0x4c, 0x69, 0x73, 0x74, + 0x57, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x64, 0x0a, 0x07, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, - 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, - 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, - 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, - 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, + 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7c, 0x0a, 0x0f, 0x50, 0x6c, 0x61, + 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x32, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, + 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, + 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x06, 0x55, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x8e, 0x01, 0x0a, 0x15, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x65, 0x72, 0x12, 0x38, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x73, 0x69, 0x6e, - 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, - 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, - 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, - 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, - 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, + 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x86, 0x01, 0x0a, 0x13, + 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x12, 0x36, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, + 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, + 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb0, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x44, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, - 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, - 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, - 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, - 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, - 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x45, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, - 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, - 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x73, 0x74, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x65, 0x72, 0x73, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x46, 0x6f, 0x72, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x79, 0x0a, 0x0e, 0x42, 0x75, 0x72, 0x6e, 0x42, + 0x6f, 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, 0x6f, 0x74, 0x6c, + 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x42, 0x6f, + 0x6f, 0x74, 0x6c, 0x6f, 0x61, 0x64, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x30, 0x01, 0x12, 0x77, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7c, 0x0a, 0x0f, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x32, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x31, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x79, 0x0a, 0x0e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, + 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, + 0x67, 0x72, 0x61, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x82, 0x01, 0x0a, 0x11, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, + 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, - 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, - 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, + 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x5a, 0x69, 0x70, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, - 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, - 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, - 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x69, + 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x4c, 0x69, 0x62, + 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x33, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x6e, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x82, 0x01, 0x0a, 0x11, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, + 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, - 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x55, 0x70, 0x67, 0x72, 0x61, + 0x64, 0x65, 0x41, 0x6c, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, + 0x9b, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3d, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, + 0x72, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x74, 0x0a, + 0x0d, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, + 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, + 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, + 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, + 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6e, 0x0a, - 0x0b, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x2e, 0x2e, 0x63, - 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, + 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, + 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, - 0x79, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x66, 0x0a, - 0x07, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, - 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, - 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0xa1, 0x01, 0x0a, 0x1c, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, - 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, - 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, - 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x40, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x72, 0x74, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x05, 0x44, 0x65, 0x62, 0x75, 0x67, 0x12, 0x28, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, + 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, + 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x63, + 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, + 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, + 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7f, 0x0a, - 0x10, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, - 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, + 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x73, 0x44, 0x65, 0x62, 0x75, 0x67, 0x53, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, - 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x31, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, - 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x98, 0x01, 0x0a, 0x19, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, - 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, - 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x63, + 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x63, 0x2e, 0x61, + 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, + 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x98, 0x01, 0x0a, 0x19, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, + 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x2e, + 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x46, 0x6f, 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x46, 0x6f, + 0x72, 0x41, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x43, 0x4c, 0x49, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x1b, 0x43, + 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x3e, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x65, 0x61, 0x6e, 0x44, 0x6f, 0x77, + 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x61, 0x63, 0x68, 0x65, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, + 0x65, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x34, - 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x61, 0x76, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, + 0x01, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4f, 0x70, 0x65, 0x6e, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x12, - 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x80, 0x01, 0x0a, 0x11, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x70, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x80, 0x01, 0x0a, 0x11, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, + 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x12, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, - 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, - 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, + 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, + 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, + 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, + 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x47, 0x65, 0x74, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x10, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x33, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, - 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, - 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, - 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, - 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x53, 0x65, 0x74, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x63, 0x63, + 0x2e, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2e, 0x63, 0x6c, 0x69, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x53, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, 0x6e, 0x6f, 0x2d, + 0x63, 0x6c, 0x69, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x63, 0x2f, 0x61, 0x72, 0x64, 0x75, 0x69, + 0x6e, 0x6f, 0x2f, 0x63, 0x6c, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x2f, + 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -2529,76 +2537,78 @@ var file_cc_arduino_cli_commands_v1_commands_proto_goTypes = []any{ (*BoardListRequest)(nil), // 38: cc.arduino.cli.commands.v1.BoardListRequest (*BoardListAllRequest)(nil), // 39: cc.arduino.cli.commands.v1.BoardListAllRequest (*BoardSearchRequest)(nil), // 40: cc.arduino.cli.commands.v1.BoardSearchRequest - (*BoardListWatchRequest)(nil), // 41: cc.arduino.cli.commands.v1.BoardListWatchRequest - (*CompileRequest)(nil), // 42: cc.arduino.cli.commands.v1.CompileRequest - (*PlatformInstallRequest)(nil), // 43: cc.arduino.cli.commands.v1.PlatformInstallRequest - (*PlatformDownloadRequest)(nil), // 44: cc.arduino.cli.commands.v1.PlatformDownloadRequest - (*PlatformUninstallRequest)(nil), // 45: cc.arduino.cli.commands.v1.PlatformUninstallRequest - (*PlatformUpgradeRequest)(nil), // 46: cc.arduino.cli.commands.v1.PlatformUpgradeRequest - (*UploadRequest)(nil), // 47: cc.arduino.cli.commands.v1.UploadRequest - (*UploadUsingProgrammerRequest)(nil), // 48: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - (*SupportedUserFieldsRequest)(nil), // 49: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - (*ListProgrammersAvailableForUploadRequest)(nil), // 50: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - (*BurnBootloaderRequest)(nil), // 51: cc.arduino.cli.commands.v1.BurnBootloaderRequest - (*PlatformSearchRequest)(nil), // 52: cc.arduino.cli.commands.v1.PlatformSearchRequest - (*LibraryDownloadRequest)(nil), // 53: cc.arduino.cli.commands.v1.LibraryDownloadRequest - (*LibraryInstallRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibraryInstallRequest - (*LibraryUpgradeRequest)(nil), // 55: cc.arduino.cli.commands.v1.LibraryUpgradeRequest - (*ZipLibraryInstallRequest)(nil), // 56: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - (*GitLibraryInstallRequest)(nil), // 57: cc.arduino.cli.commands.v1.GitLibraryInstallRequest - (*LibraryUninstallRequest)(nil), // 58: cc.arduino.cli.commands.v1.LibraryUninstallRequest - (*LibraryUpgradeAllRequest)(nil), // 59: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - (*LibraryResolveDependenciesRequest)(nil), // 60: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - (*LibrarySearchRequest)(nil), // 61: cc.arduino.cli.commands.v1.LibrarySearchRequest - (*LibraryListRequest)(nil), // 62: cc.arduino.cli.commands.v1.LibraryListRequest - (*MonitorRequest)(nil), // 63: cc.arduino.cli.commands.v1.MonitorRequest - (*EnumerateMonitorPortSettingsRequest)(nil), // 64: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - (*DebugRequest)(nil), // 65: cc.arduino.cli.commands.v1.DebugRequest - (*IsDebugSupportedRequest)(nil), // 66: cc.arduino.cli.commands.v1.IsDebugSupportedRequest - (*GetDebugConfigRequest)(nil), // 67: cc.arduino.cli.commands.v1.GetDebugConfigRequest - (*ConfigurationSaveRequest)(nil), // 68: cc.arduino.cli.commands.v1.ConfigurationSaveRequest - (*ConfigurationOpenRequest)(nil), // 69: cc.arduino.cli.commands.v1.ConfigurationOpenRequest - (*ConfigurationGetRequest)(nil), // 70: cc.arduino.cli.commands.v1.ConfigurationGetRequest - (*SettingsEnumerateRequest)(nil), // 71: cc.arduino.cli.commands.v1.SettingsEnumerateRequest - (*SettingsGetValueRequest)(nil), // 72: cc.arduino.cli.commands.v1.SettingsGetValueRequest - (*SettingsSetValueRequest)(nil), // 73: cc.arduino.cli.commands.v1.SettingsSetValueRequest - (*BoardDetailsResponse)(nil), // 74: cc.arduino.cli.commands.v1.BoardDetailsResponse - (*BoardListResponse)(nil), // 75: cc.arduino.cli.commands.v1.BoardListResponse - (*BoardListAllResponse)(nil), // 76: cc.arduino.cli.commands.v1.BoardListAllResponse - (*BoardSearchResponse)(nil), // 77: cc.arduino.cli.commands.v1.BoardSearchResponse - (*BoardListWatchResponse)(nil), // 78: cc.arduino.cli.commands.v1.BoardListWatchResponse - (*CompileResponse)(nil), // 79: cc.arduino.cli.commands.v1.CompileResponse - (*PlatformInstallResponse)(nil), // 80: cc.arduino.cli.commands.v1.PlatformInstallResponse - (*PlatformDownloadResponse)(nil), // 81: cc.arduino.cli.commands.v1.PlatformDownloadResponse - (*PlatformUninstallResponse)(nil), // 82: cc.arduino.cli.commands.v1.PlatformUninstallResponse - (*PlatformUpgradeResponse)(nil), // 83: cc.arduino.cli.commands.v1.PlatformUpgradeResponse - (*UploadResponse)(nil), // 84: cc.arduino.cli.commands.v1.UploadResponse - (*UploadUsingProgrammerResponse)(nil), // 85: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - (*SupportedUserFieldsResponse)(nil), // 86: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - (*ListProgrammersAvailableForUploadResponse)(nil), // 87: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - (*BurnBootloaderResponse)(nil), // 88: cc.arduino.cli.commands.v1.BurnBootloaderResponse - (*PlatformSearchResponse)(nil), // 89: cc.arduino.cli.commands.v1.PlatformSearchResponse - (*LibraryDownloadResponse)(nil), // 90: cc.arduino.cli.commands.v1.LibraryDownloadResponse - (*LibraryInstallResponse)(nil), // 91: cc.arduino.cli.commands.v1.LibraryInstallResponse - (*LibraryUpgradeResponse)(nil), // 92: cc.arduino.cli.commands.v1.LibraryUpgradeResponse - (*ZipLibraryInstallResponse)(nil), // 93: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - (*GitLibraryInstallResponse)(nil), // 94: cc.arduino.cli.commands.v1.GitLibraryInstallResponse - (*LibraryUninstallResponse)(nil), // 95: cc.arduino.cli.commands.v1.LibraryUninstallResponse - (*LibraryUpgradeAllResponse)(nil), // 96: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - (*LibraryResolveDependenciesResponse)(nil), // 97: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - (*LibrarySearchResponse)(nil), // 98: cc.arduino.cli.commands.v1.LibrarySearchResponse - (*LibraryListResponse)(nil), // 99: cc.arduino.cli.commands.v1.LibraryListResponse - (*MonitorResponse)(nil), // 100: cc.arduino.cli.commands.v1.MonitorResponse - (*EnumerateMonitorPortSettingsResponse)(nil), // 101: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - (*DebugResponse)(nil), // 102: cc.arduino.cli.commands.v1.DebugResponse - (*IsDebugSupportedResponse)(nil), // 103: cc.arduino.cli.commands.v1.IsDebugSupportedResponse - (*GetDebugConfigResponse)(nil), // 104: cc.arduino.cli.commands.v1.GetDebugConfigResponse - (*ConfigurationSaveResponse)(nil), // 105: cc.arduino.cli.commands.v1.ConfigurationSaveResponse - (*ConfigurationOpenResponse)(nil), // 106: cc.arduino.cli.commands.v1.ConfigurationOpenResponse - (*ConfigurationGetResponse)(nil), // 107: cc.arduino.cli.commands.v1.ConfigurationGetResponse - (*SettingsEnumerateResponse)(nil), // 108: cc.arduino.cli.commands.v1.SettingsEnumerateResponse - (*SettingsGetValueResponse)(nil), // 109: cc.arduino.cli.commands.v1.SettingsGetValueResponse - (*SettingsSetValueResponse)(nil), // 110: cc.arduino.cli.commands.v1.SettingsSetValueResponse + (*BoardIdentifyRequest)(nil), // 41: cc.arduino.cli.commands.v1.BoardIdentifyRequest + (*BoardListWatchRequest)(nil), // 42: cc.arduino.cli.commands.v1.BoardListWatchRequest + (*CompileRequest)(nil), // 43: cc.arduino.cli.commands.v1.CompileRequest + (*PlatformInstallRequest)(nil), // 44: cc.arduino.cli.commands.v1.PlatformInstallRequest + (*PlatformDownloadRequest)(nil), // 45: cc.arduino.cli.commands.v1.PlatformDownloadRequest + (*PlatformUninstallRequest)(nil), // 46: cc.arduino.cli.commands.v1.PlatformUninstallRequest + (*PlatformUpgradeRequest)(nil), // 47: cc.arduino.cli.commands.v1.PlatformUpgradeRequest + (*UploadRequest)(nil), // 48: cc.arduino.cli.commands.v1.UploadRequest + (*UploadUsingProgrammerRequest)(nil), // 49: cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + (*SupportedUserFieldsRequest)(nil), // 50: cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + (*ListProgrammersAvailableForUploadRequest)(nil), // 51: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + (*BurnBootloaderRequest)(nil), // 52: cc.arduino.cli.commands.v1.BurnBootloaderRequest + (*PlatformSearchRequest)(nil), // 53: cc.arduino.cli.commands.v1.PlatformSearchRequest + (*LibraryDownloadRequest)(nil), // 54: cc.arduino.cli.commands.v1.LibraryDownloadRequest + (*LibraryInstallRequest)(nil), // 55: cc.arduino.cli.commands.v1.LibraryInstallRequest + (*LibraryUpgradeRequest)(nil), // 56: cc.arduino.cli.commands.v1.LibraryUpgradeRequest + (*ZipLibraryInstallRequest)(nil), // 57: cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + (*GitLibraryInstallRequest)(nil), // 58: cc.arduino.cli.commands.v1.GitLibraryInstallRequest + (*LibraryUninstallRequest)(nil), // 59: cc.arduino.cli.commands.v1.LibraryUninstallRequest + (*LibraryUpgradeAllRequest)(nil), // 60: cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + (*LibraryResolveDependenciesRequest)(nil), // 61: cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + (*LibrarySearchRequest)(nil), // 62: cc.arduino.cli.commands.v1.LibrarySearchRequest + (*LibraryListRequest)(nil), // 63: cc.arduino.cli.commands.v1.LibraryListRequest + (*MonitorRequest)(nil), // 64: cc.arduino.cli.commands.v1.MonitorRequest + (*EnumerateMonitorPortSettingsRequest)(nil), // 65: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + (*DebugRequest)(nil), // 66: cc.arduino.cli.commands.v1.DebugRequest + (*IsDebugSupportedRequest)(nil), // 67: cc.arduino.cli.commands.v1.IsDebugSupportedRequest + (*GetDebugConfigRequest)(nil), // 68: cc.arduino.cli.commands.v1.GetDebugConfigRequest + (*ConfigurationSaveRequest)(nil), // 69: cc.arduino.cli.commands.v1.ConfigurationSaveRequest + (*ConfigurationOpenRequest)(nil), // 70: cc.arduino.cli.commands.v1.ConfigurationOpenRequest + (*ConfigurationGetRequest)(nil), // 71: cc.arduino.cli.commands.v1.ConfigurationGetRequest + (*SettingsEnumerateRequest)(nil), // 72: cc.arduino.cli.commands.v1.SettingsEnumerateRequest + (*SettingsGetValueRequest)(nil), // 73: cc.arduino.cli.commands.v1.SettingsGetValueRequest + (*SettingsSetValueRequest)(nil), // 74: cc.arduino.cli.commands.v1.SettingsSetValueRequest + (*BoardDetailsResponse)(nil), // 75: cc.arduino.cli.commands.v1.BoardDetailsResponse + (*BoardListResponse)(nil), // 76: cc.arduino.cli.commands.v1.BoardListResponse + (*BoardListAllResponse)(nil), // 77: cc.arduino.cli.commands.v1.BoardListAllResponse + (*BoardSearchResponse)(nil), // 78: cc.arduino.cli.commands.v1.BoardSearchResponse + (*BoardIdentifyResponse)(nil), // 79: cc.arduino.cli.commands.v1.BoardIdentifyResponse + (*BoardListWatchResponse)(nil), // 80: cc.arduino.cli.commands.v1.BoardListWatchResponse + (*CompileResponse)(nil), // 81: cc.arduino.cli.commands.v1.CompileResponse + (*PlatformInstallResponse)(nil), // 82: cc.arduino.cli.commands.v1.PlatformInstallResponse + (*PlatformDownloadResponse)(nil), // 83: cc.arduino.cli.commands.v1.PlatformDownloadResponse + (*PlatformUninstallResponse)(nil), // 84: cc.arduino.cli.commands.v1.PlatformUninstallResponse + (*PlatformUpgradeResponse)(nil), // 85: cc.arduino.cli.commands.v1.PlatformUpgradeResponse + (*UploadResponse)(nil), // 86: cc.arduino.cli.commands.v1.UploadResponse + (*UploadUsingProgrammerResponse)(nil), // 87: cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + (*SupportedUserFieldsResponse)(nil), // 88: cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + (*ListProgrammersAvailableForUploadResponse)(nil), // 89: cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + (*BurnBootloaderResponse)(nil), // 90: cc.arduino.cli.commands.v1.BurnBootloaderResponse + (*PlatformSearchResponse)(nil), // 91: cc.arduino.cli.commands.v1.PlatformSearchResponse + (*LibraryDownloadResponse)(nil), // 92: cc.arduino.cli.commands.v1.LibraryDownloadResponse + (*LibraryInstallResponse)(nil), // 93: cc.arduino.cli.commands.v1.LibraryInstallResponse + (*LibraryUpgradeResponse)(nil), // 94: cc.arduino.cli.commands.v1.LibraryUpgradeResponse + (*ZipLibraryInstallResponse)(nil), // 95: cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + (*GitLibraryInstallResponse)(nil), // 96: cc.arduino.cli.commands.v1.GitLibraryInstallResponse + (*LibraryUninstallResponse)(nil), // 97: cc.arduino.cli.commands.v1.LibraryUninstallResponse + (*LibraryUpgradeAllResponse)(nil), // 98: cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + (*LibraryResolveDependenciesResponse)(nil), // 99: cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + (*LibrarySearchResponse)(nil), // 100: cc.arduino.cli.commands.v1.LibrarySearchResponse + (*LibraryListResponse)(nil), // 101: cc.arduino.cli.commands.v1.LibraryListResponse + (*MonitorResponse)(nil), // 102: cc.arduino.cli.commands.v1.MonitorResponse + (*EnumerateMonitorPortSettingsResponse)(nil), // 103: cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + (*DebugResponse)(nil), // 104: cc.arduino.cli.commands.v1.DebugResponse + (*IsDebugSupportedResponse)(nil), // 105: cc.arduino.cli.commands.v1.IsDebugSupportedResponse + (*GetDebugConfigResponse)(nil), // 106: cc.arduino.cli.commands.v1.GetDebugConfigResponse + (*ConfigurationSaveResponse)(nil), // 107: cc.arduino.cli.commands.v1.ConfigurationSaveResponse + (*ConfigurationOpenResponse)(nil), // 108: cc.arduino.cli.commands.v1.ConfigurationOpenResponse + (*ConfigurationGetResponse)(nil), // 109: cc.arduino.cli.commands.v1.ConfigurationGetResponse + (*SettingsEnumerateResponse)(nil), // 110: cc.arduino.cli.commands.v1.SettingsEnumerateResponse + (*SettingsGetValueResponse)(nil), // 111: cc.arduino.cli.commands.v1.SettingsGetValueResponse + (*SettingsSetValueResponse)(nil), // 112: cc.arduino.cli.commands.v1.SettingsSetValueResponse } var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 31, // 0: cc.arduino.cli.commands.v1.CreateResponse.instance:type_name -> cc.arduino.cli.commands.v1.Instance @@ -2635,92 +2645,94 @@ var file_cc_arduino_cli_commands_v1_commands_proto_depIdxs = []int32{ 38, // 31: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:input_type -> cc.arduino.cli.commands.v1.BoardListRequest 39, // 32: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:input_type -> cc.arduino.cli.commands.v1.BoardListAllRequest 40, // 33: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:input_type -> cc.arduino.cli.commands.v1.BoardSearchRequest - 41, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest - 42, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest - 43, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest - 44, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest - 45, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest - 46, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest - 47, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest - 48, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest - 49, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest - 50, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest - 51, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest - 52, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest - 53, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest - 54, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest - 55, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest - 56, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest - 57, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest - 58, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest - 59, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest - 60, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest - 61, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest - 62, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest - 63, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest - 64, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest - 65, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest - 66, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest - 67, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest - 24, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:input_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest - 26, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:input_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest - 68, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationSave:input_type -> cc.arduino.cli.commands.v1.ConfigurationSaveRequest - 69, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationOpen:input_type -> cc.arduino.cli.commands.v1.ConfigurationOpenRequest - 70, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationGet:input_type -> cc.arduino.cli.commands.v1.ConfigurationGetRequest - 71, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsEnumerate:input_type -> cc.arduino.cli.commands.v1.SettingsEnumerateRequest - 72, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest - 73, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest - 3, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse - 5, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse - 8, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse - 10, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse - 12, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse - 15, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse - 17, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse - 19, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse - 21, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse - 23, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse - 74, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse - 75, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse - 76, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse - 77, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse - 78, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse - 79, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse - 80, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse - 81, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse - 82, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse - 83, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse - 84, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse - 85, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse - 86, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse - 87, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse - 88, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse - 89, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse - 90, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse - 91, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse - 92, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse - 93, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse - 94, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse - 95, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse - 96, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse - 97, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse - 98, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse - 99, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse - 100, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse - 101, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse - 102, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse - 103, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse - 104, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse - 25, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:output_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse - 27, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:output_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse - 105, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationSave:output_type -> cc.arduino.cli.commands.v1.ConfigurationSaveResponse - 106, // 113: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationOpen:output_type -> cc.arduino.cli.commands.v1.ConfigurationOpenResponse - 107, // 114: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationGet:output_type -> cc.arduino.cli.commands.v1.ConfigurationGetResponse - 108, // 115: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsEnumerate:output_type -> cc.arduino.cli.commands.v1.SettingsEnumerateResponse - 109, // 116: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse - 110, // 117: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse - 69, // [69:118] is the sub-list for method output_type - 20, // [20:69] is the sub-list for method input_type + 41, // 34: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardIdentify:input_type -> cc.arduino.cli.commands.v1.BoardIdentifyRequest + 42, // 35: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:input_type -> cc.arduino.cli.commands.v1.BoardListWatchRequest + 43, // 36: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:input_type -> cc.arduino.cli.commands.v1.CompileRequest + 44, // 37: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:input_type -> cc.arduino.cli.commands.v1.PlatformInstallRequest + 45, // 38: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:input_type -> cc.arduino.cli.commands.v1.PlatformDownloadRequest + 46, // 39: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:input_type -> cc.arduino.cli.commands.v1.PlatformUninstallRequest + 47, // 40: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:input_type -> cc.arduino.cli.commands.v1.PlatformUpgradeRequest + 48, // 41: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:input_type -> cc.arduino.cli.commands.v1.UploadRequest + 49, // 42: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:input_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerRequest + 50, // 43: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:input_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsRequest + 51, // 44: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:input_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadRequest + 52, // 45: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:input_type -> cc.arduino.cli.commands.v1.BurnBootloaderRequest + 53, // 46: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:input_type -> cc.arduino.cli.commands.v1.PlatformSearchRequest + 54, // 47: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:input_type -> cc.arduino.cli.commands.v1.LibraryDownloadRequest + 55, // 48: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:input_type -> cc.arduino.cli.commands.v1.LibraryInstallRequest + 56, // 49: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeRequest + 57, // 50: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:input_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallRequest + 58, // 51: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:input_type -> cc.arduino.cli.commands.v1.GitLibraryInstallRequest + 59, // 52: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:input_type -> cc.arduino.cli.commands.v1.LibraryUninstallRequest + 60, // 53: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:input_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllRequest + 61, // 54: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:input_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesRequest + 62, // 55: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:input_type -> cc.arduino.cli.commands.v1.LibrarySearchRequest + 63, // 56: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:input_type -> cc.arduino.cli.commands.v1.LibraryListRequest + 64, // 57: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:input_type -> cc.arduino.cli.commands.v1.MonitorRequest + 65, // 58: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:input_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsRequest + 66, // 59: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:input_type -> cc.arduino.cli.commands.v1.DebugRequest + 67, // 60: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:input_type -> cc.arduino.cli.commands.v1.IsDebugSupportedRequest + 68, // 61: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:input_type -> cc.arduino.cli.commands.v1.GetDebugConfigRequest + 24, // 62: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:input_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesRequest + 26, // 63: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:input_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryRequest + 69, // 64: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationSave:input_type -> cc.arduino.cli.commands.v1.ConfigurationSaveRequest + 70, // 65: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationOpen:input_type -> cc.arduino.cli.commands.v1.ConfigurationOpenRequest + 71, // 66: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationGet:input_type -> cc.arduino.cli.commands.v1.ConfigurationGetRequest + 72, // 67: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsEnumerate:input_type -> cc.arduino.cli.commands.v1.SettingsEnumerateRequest + 73, // 68: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:input_type -> cc.arduino.cli.commands.v1.SettingsGetValueRequest + 74, // 69: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:input_type -> cc.arduino.cli.commands.v1.SettingsSetValueRequest + 3, // 70: cc.arduino.cli.commands.v1.ArduinoCoreService.Create:output_type -> cc.arduino.cli.commands.v1.CreateResponse + 5, // 71: cc.arduino.cli.commands.v1.ArduinoCoreService.Init:output_type -> cc.arduino.cli.commands.v1.InitResponse + 8, // 72: cc.arduino.cli.commands.v1.ArduinoCoreService.Destroy:output_type -> cc.arduino.cli.commands.v1.DestroyResponse + 10, // 73: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateIndex:output_type -> cc.arduino.cli.commands.v1.UpdateIndexResponse + 12, // 74: cc.arduino.cli.commands.v1.ArduinoCoreService.UpdateLibrariesIndex:output_type -> cc.arduino.cli.commands.v1.UpdateLibrariesIndexResponse + 15, // 75: cc.arduino.cli.commands.v1.ArduinoCoreService.Version:output_type -> cc.arduino.cli.commands.v1.VersionResponse + 17, // 76: cc.arduino.cli.commands.v1.ArduinoCoreService.NewSketch:output_type -> cc.arduino.cli.commands.v1.NewSketchResponse + 19, // 77: cc.arduino.cli.commands.v1.ArduinoCoreService.LoadSketch:output_type -> cc.arduino.cli.commands.v1.LoadSketchResponse + 21, // 78: cc.arduino.cli.commands.v1.ArduinoCoreService.ArchiveSketch:output_type -> cc.arduino.cli.commands.v1.ArchiveSketchResponse + 23, // 79: cc.arduino.cli.commands.v1.ArduinoCoreService.SetSketchDefaults:output_type -> cc.arduino.cli.commands.v1.SetSketchDefaultsResponse + 75, // 80: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardDetails:output_type -> cc.arduino.cli.commands.v1.BoardDetailsResponse + 76, // 81: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardList:output_type -> cc.arduino.cli.commands.v1.BoardListResponse + 77, // 82: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListAll:output_type -> cc.arduino.cli.commands.v1.BoardListAllResponse + 78, // 83: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardSearch:output_type -> cc.arduino.cli.commands.v1.BoardSearchResponse + 79, // 84: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardIdentify:output_type -> cc.arduino.cli.commands.v1.BoardIdentifyResponse + 80, // 85: cc.arduino.cli.commands.v1.ArduinoCoreService.BoardListWatch:output_type -> cc.arduino.cli.commands.v1.BoardListWatchResponse + 81, // 86: cc.arduino.cli.commands.v1.ArduinoCoreService.Compile:output_type -> cc.arduino.cli.commands.v1.CompileResponse + 82, // 87: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformInstall:output_type -> cc.arduino.cli.commands.v1.PlatformInstallResponse + 83, // 88: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformDownload:output_type -> cc.arduino.cli.commands.v1.PlatformDownloadResponse + 84, // 89: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUninstall:output_type -> cc.arduino.cli.commands.v1.PlatformUninstallResponse + 85, // 90: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformUpgrade:output_type -> cc.arduino.cli.commands.v1.PlatformUpgradeResponse + 86, // 91: cc.arduino.cli.commands.v1.ArduinoCoreService.Upload:output_type -> cc.arduino.cli.commands.v1.UploadResponse + 87, // 92: cc.arduino.cli.commands.v1.ArduinoCoreService.UploadUsingProgrammer:output_type -> cc.arduino.cli.commands.v1.UploadUsingProgrammerResponse + 88, // 93: cc.arduino.cli.commands.v1.ArduinoCoreService.SupportedUserFields:output_type -> cc.arduino.cli.commands.v1.SupportedUserFieldsResponse + 89, // 94: cc.arduino.cli.commands.v1.ArduinoCoreService.ListProgrammersAvailableForUpload:output_type -> cc.arduino.cli.commands.v1.ListProgrammersAvailableForUploadResponse + 90, // 95: cc.arduino.cli.commands.v1.ArduinoCoreService.BurnBootloader:output_type -> cc.arduino.cli.commands.v1.BurnBootloaderResponse + 91, // 96: cc.arduino.cli.commands.v1.ArduinoCoreService.PlatformSearch:output_type -> cc.arduino.cli.commands.v1.PlatformSearchResponse + 92, // 97: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryDownload:output_type -> cc.arduino.cli.commands.v1.LibraryDownloadResponse + 93, // 98: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryInstall:output_type -> cc.arduino.cli.commands.v1.LibraryInstallResponse + 94, // 99: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgrade:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeResponse + 95, // 100: cc.arduino.cli.commands.v1.ArduinoCoreService.ZipLibraryInstall:output_type -> cc.arduino.cli.commands.v1.ZipLibraryInstallResponse + 96, // 101: cc.arduino.cli.commands.v1.ArduinoCoreService.GitLibraryInstall:output_type -> cc.arduino.cli.commands.v1.GitLibraryInstallResponse + 97, // 102: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUninstall:output_type -> cc.arduino.cli.commands.v1.LibraryUninstallResponse + 98, // 103: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryUpgradeAll:output_type -> cc.arduino.cli.commands.v1.LibraryUpgradeAllResponse + 99, // 104: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryResolveDependencies:output_type -> cc.arduino.cli.commands.v1.LibraryResolveDependenciesResponse + 100, // 105: cc.arduino.cli.commands.v1.ArduinoCoreService.LibrarySearch:output_type -> cc.arduino.cli.commands.v1.LibrarySearchResponse + 101, // 106: cc.arduino.cli.commands.v1.ArduinoCoreService.LibraryList:output_type -> cc.arduino.cli.commands.v1.LibraryListResponse + 102, // 107: cc.arduino.cli.commands.v1.ArduinoCoreService.Monitor:output_type -> cc.arduino.cli.commands.v1.MonitorResponse + 103, // 108: cc.arduino.cli.commands.v1.ArduinoCoreService.EnumerateMonitorPortSettings:output_type -> cc.arduino.cli.commands.v1.EnumerateMonitorPortSettingsResponse + 104, // 109: cc.arduino.cli.commands.v1.ArduinoCoreService.Debug:output_type -> cc.arduino.cli.commands.v1.DebugResponse + 105, // 110: cc.arduino.cli.commands.v1.ArduinoCoreService.IsDebugSupported:output_type -> cc.arduino.cli.commands.v1.IsDebugSupportedResponse + 106, // 111: cc.arduino.cli.commands.v1.ArduinoCoreService.GetDebugConfig:output_type -> cc.arduino.cli.commands.v1.GetDebugConfigResponse + 25, // 112: cc.arduino.cli.commands.v1.ArduinoCoreService.CheckForArduinoCLIUpdates:output_type -> cc.arduino.cli.commands.v1.CheckForArduinoCLIUpdatesResponse + 27, // 113: cc.arduino.cli.commands.v1.ArduinoCoreService.CleanDownloadCacheDirectory:output_type -> cc.arduino.cli.commands.v1.CleanDownloadCacheDirectoryResponse + 107, // 114: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationSave:output_type -> cc.arduino.cli.commands.v1.ConfigurationSaveResponse + 108, // 115: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationOpen:output_type -> cc.arduino.cli.commands.v1.ConfigurationOpenResponse + 109, // 116: cc.arduino.cli.commands.v1.ArduinoCoreService.ConfigurationGet:output_type -> cc.arduino.cli.commands.v1.ConfigurationGetResponse + 110, // 117: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsEnumerate:output_type -> cc.arduino.cli.commands.v1.SettingsEnumerateResponse + 111, // 118: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsGetValue:output_type -> cc.arduino.cli.commands.v1.SettingsGetValueResponse + 112, // 119: cc.arduino.cli.commands.v1.ArduinoCoreService.SettingsSetValue:output_type -> cc.arduino.cli.commands.v1.SettingsSetValueResponse + 70, // [70:120] is the sub-list for method output_type + 20, // [20:70] is the sub-list for method input_type 20, // [20:20] is the sub-list for extension type_name 20, // [20:20] is the sub-list for extension extendee 0, // [0:20] is the sub-list for field type_name diff --git a/rpc/cc/arduino/cli/commands/v1/commands.proto b/rpc/cc/arduino/cli/commands/v1/commands.proto index e7c7d078cb2..4a55e0ded24 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands.proto +++ b/rpc/cc/arduino/cli/commands/v1/commands.proto @@ -78,6 +78,9 @@ service ArduinoCoreService { // Search boards in installed and not installed Platforms. rpc BoardSearch(BoardSearchRequest) returns (BoardSearchResponse); + // Identify a board using the given properties. + rpc BoardIdentify(BoardIdentifyRequest) returns (BoardIdentifyResponse); + // List boards connection and disconnected events. rpc BoardListWatch(BoardListWatchRequest) returns (stream BoardListWatchResponse); diff --git a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go index 4eb8d9b4e4b..1daf07db43b 100644 --- a/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go +++ b/rpc/cc/arduino/cli/commands/v1/commands_grpc.pb.go @@ -49,6 +49,7 @@ const ( ArduinoCoreService_BoardList_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardList" ArduinoCoreService_BoardListAll_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardListAll" ArduinoCoreService_BoardSearch_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardSearch" + ArduinoCoreService_BoardIdentify_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardIdentify" ArduinoCoreService_BoardListWatch_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/BoardListWatch" ArduinoCoreService_Compile_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/Compile" ArduinoCoreService_PlatformInstall_FullMethodName = "/cc.arduino.cli.commands.v1.ArduinoCoreService/PlatformInstall" @@ -123,6 +124,8 @@ type ArduinoCoreServiceClient interface { BoardListAll(ctx context.Context, in *BoardListAllRequest, opts ...grpc.CallOption) (*BoardListAllResponse, error) // Search boards in installed and not installed Platforms. BoardSearch(ctx context.Context, in *BoardSearchRequest, opts ...grpc.CallOption) (*BoardSearchResponse, error) + // Identify a board using the given properties. + BoardIdentify(ctx context.Context, in *BoardIdentifyRequest, opts ...grpc.CallOption) (*BoardIdentifyResponse, error) // List boards connection and disconnected events. BoardListWatch(ctx context.Context, in *BoardListWatchRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BoardListWatchResponse], error) // Compile an Arduino sketch. @@ -375,6 +378,16 @@ func (c *arduinoCoreServiceClient) BoardSearch(ctx context.Context, in *BoardSea return out, nil } +func (c *arduinoCoreServiceClient) BoardIdentify(ctx context.Context, in *BoardIdentifyRequest, opts ...grpc.CallOption) (*BoardIdentifyResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(BoardIdentifyResponse) + err := c.cc.Invoke(ctx, ArduinoCoreService_BoardIdentify_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *arduinoCoreServiceClient) BoardListWatch(ctx context.Context, in *BoardListWatchRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[BoardListWatchResponse], error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) stream, err := c.cc.NewStream(ctx, &ArduinoCoreService_ServiceDesc.Streams[3], ArduinoCoreService_BoardListWatch_FullMethodName, cOpts...) @@ -912,6 +925,8 @@ type ArduinoCoreServiceServer interface { BoardListAll(context.Context, *BoardListAllRequest) (*BoardListAllResponse, error) // Search boards in installed and not installed Platforms. BoardSearch(context.Context, *BoardSearchRequest) (*BoardSearchResponse, error) + // Identify a board using the given properties. + BoardIdentify(context.Context, *BoardIdentifyRequest) (*BoardIdentifyResponse, error) // List boards connection and disconnected events. BoardListWatch(*BoardListWatchRequest, grpc.ServerStreamingServer[BoardListWatchResponse]) error // Compile an Arduino sketch. @@ -1039,6 +1054,9 @@ func (UnimplementedArduinoCoreServiceServer) BoardListAll(context.Context, *Boar func (UnimplementedArduinoCoreServiceServer) BoardSearch(context.Context, *BoardSearchRequest) (*BoardSearchResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method BoardSearch not implemented") } +func (UnimplementedArduinoCoreServiceServer) BoardIdentify(context.Context, *BoardIdentifyRequest) (*BoardIdentifyResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method BoardIdentify not implemented") +} func (UnimplementedArduinoCoreServiceServer) BoardListWatch(*BoardListWatchRequest, grpc.ServerStreamingServer[BoardListWatchResponse]) error { return status.Errorf(codes.Unimplemented, "method BoardListWatch not implemented") } @@ -1396,6 +1414,24 @@ func _ArduinoCoreService_BoardSearch_Handler(srv interface{}, ctx context.Contex return interceptor(ctx, in, info, handler) } +func _ArduinoCoreService_BoardIdentify_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(BoardIdentifyRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ArduinoCoreServiceServer).BoardIdentify(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: ArduinoCoreService_BoardIdentify_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ArduinoCoreServiceServer).BoardIdentify(ctx, req.(*BoardIdentifyRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _ArduinoCoreService_BoardListWatch_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(BoardListWatchRequest) if err := stream.RecvMsg(m); err != nil { @@ -1943,6 +1979,10 @@ var ArduinoCoreService_ServiceDesc = grpc.ServiceDesc{ MethodName: "BoardSearch", Handler: _ArduinoCoreService_BoardSearch_Handler, }, + { + MethodName: "BoardIdentify", + Handler: _ArduinoCoreService_BoardIdentify_Handler, + }, { MethodName: "SupportedUserFields", Handler: _ArduinoCoreService_SupportedUserFields_Handler, From 34e79e1510d79298fb1563db337da67f61e53b08 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessio@perugini.xyz> Date: Mon, 13 Jan 2025 17:13:22 +0100 Subject: [PATCH 305/361] [skip-changelog] Bump to go 1.23 (#2811) * dep: update gomod to 1.23 * golangci-lint bump to 1.63 * fix: typo detected by misspell linter * fix: appease gosimple linter * fix: appese govet linter non-constant format string in call. We were calling some format function, but we were always passing a "static" string. * fix: appease `revive` linter redefines-builtin-id: redefinition of the built-in function max (revive) * fix: appease linter gosec G115: integer overflow conversion int -> uint (gosec) --- .github/workflows/check-easyjson.yml | 2 +- .../workflows/check-go-dependencies-task.yml | 2 +- .github/workflows/check-go-task.yml | 4 +- .github/workflows/check-i18n-task.yml | 2 +- .github/workflows/check-markdown-task.yml | 2 +- .github/workflows/check-mkdocs-task.yml | 2 +- .github/workflows/check-protobuf-task.yml | 2 +- .../deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- .github/workflows/i18n-weekly-pull.yaml | 2 +- .github/workflows/test-go-task.yml | 2 +- .golangci.yml | 2 +- .licenses/go/fortio.org/safecast.dep.yml | 214 ++++++++++++++++++ .licenses/go/golang.org/x/crypto/sha3.dep.yml | 63 ------ DistTasks.yml | 2 +- commands/instances.go | 2 +- commands/service_debug_config.go | 2 +- go.mod | 3 +- go.sum | 2 + internal/arduino/builder/recipe.go | 5 +- internal/arduino/builder/sketch.go | 23 +- internal/arduino/cores/cores.go | 8 +- .../arduino/libraries/librariesindex/json.go | 2 +- .../librariesmanager/librariesmanager.go | 4 +- .../libraries/librariesresolver/cpp.go | 2 +- internal/cli/lib/examples.go | 2 +- internal/go-configmap/configuration.go | 4 +- 26 files changed, 265 insertions(+), 97 deletions(-) create mode 100644 .licenses/go/fortio.org/safecast.dep.yml delete mode 100644 .licenses/go/golang.org/x/crypto/sha3.dep.yml diff --git a/.github/workflows/check-easyjson.yml b/.github/workflows/check-easyjson.yml index 84fd85cdd19..2aa4193db80 100644 --- a/.github/workflows/check-easyjson.yml +++ b/.github/workflows/check-easyjson.yml @@ -2,7 +2,7 @@ name: Check easyjson generated files env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index c54558672b4..6c3dd0a8316 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -3,7 +3,7 @@ name: Check Go Dependencies env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows on: diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 91c417f179c..06cf002052e 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -3,7 +3,7 @@ name: Check Go env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: @@ -116,7 +116,7 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: - version: v1.57 + version: v1.63 - name: Check style env: diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index d6500c6964f..6529e473c42 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -2,7 +2,7 @@ name: Check Internationalization env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 5e8a72add69..c65ac00a55c 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -5,7 +5,7 @@ env: # See: https://github.com/actions/setup-node/#readme NODE_VERSION: 16.x # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows on: diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index 228a288d785..7962ea205c1 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -3,7 +3,7 @@ name: Check Website env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://github.com/actions/setup-python/tree/main#available-versions-of-python PYTHON_VERSION: "3.9" diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index 2953edf467a..df8c5fbf2df 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -2,7 +2,7 @@ name: Check Protocol Buffers env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index da7e07b514a..8cd5c0c9c9e 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -3,7 +3,7 @@ name: Deploy Website env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" # See: https://github.com/actions/setup-python/tree/main#available-versions-of-python PYTHON_VERSION: "3.9" diff --git a/.github/workflows/i18n-weekly-pull.yaml b/.github/workflows/i18n-weekly-pull.yaml index d8fcd8a41ec..55f7ad22307 100644 --- a/.github/workflows/i18n-weekly-pull.yaml +++ b/.github/workflows/i18n-weekly-pull.yaml @@ -2,7 +2,7 @@ name: i18n-weekly-pull env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" COVERAGE_ARTIFACT: coverage-data on: diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index c686489edbf..98f869598f3 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -3,7 +3,7 @@ name: Test Go env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.22" + GO_VERSION: "1.23" COVERAGE_ARTIFACT: coverage-data # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows diff --git a/.golangci.yml b/.golangci.yml index 5d01dc9aa88..a39df11a1b5 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -15,7 +15,7 @@ linters: #- thelper - errorlint - dupword - - exportloopref + - copyloopvar - forbidigo - gofmt - goimports diff --git a/.licenses/go/fortio.org/safecast.dep.yml b/.licenses/go/fortio.org/safecast.dep.yml new file mode 100644 index 00000000000..35c4304dcf1 --- /dev/null +++ b/.licenses/go/fortio.org/safecast.dep.yml @@ -0,0 +1,214 @@ +--- +name: fortio.org/safecast +version: v1.0.0 +type: go +summary: Package safecast allows you to safely cast between numeric types in Go and + return errors (or panic when using the Must* variants) when the cast would result + in a loss of precision, range or sign. +homepage: https://godoc.org/fortio.org/safecast +license: apache-2.0 +licenses: +- sources: LICENSE + text: |2 + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml deleted file mode 100644 index d6c8d29f5d5..00000000000 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ /dev/null @@ -1,63 +0,0 @@ ---- -name: golang.org/x/crypto/sha3 -version: v0.31.0 -type: go -summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and - the SHAKE variable-output-length hash functions defined by FIPS-202. -homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 -license: bsd-3-clause -licenses: -- sources: crypto@v0.31.0/LICENSE - text: | - Copyright 2009 The Go Authors. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google LLC nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS - text: | - Additional IP Rights Grant (Patents) - - "This implementation" means the copyrightable works distributed by - Google as part of the Go project. - - Google hereby grants to You a perpetual, worldwide, non-exclusive, - no-charge, royalty-free, irrevocable (except as stated in this section) - patent license to make, have made, use, offer to sell, sell, import, - transfer and otherwise run, modify and propagate the contents of this - implementation of Go, where such license applies only to those patent - claims, both currently owned or controlled by Google and acquired in - the future, licensable by Google that are necessarily infringed by this - implementation of Go. This grant does not include claims that would be - infringed only as a consequence of further modification of this - implementation. If you or your agent or exclusive licensee institute or - order or agree to the institution of patent litigation against any - entity (including a cross-claim or counterclaim in a lawsuit) alleging - that this implementation of Go or any code incorporated within this - implementation of Go constitutes direct or contributory patent - infringement, or inducement of patent infringement, then any patent - rights granted to you under this License for this implementation of Go - shall terminate as of the date such litigation is filed. -notices: [] diff --git a/DistTasks.yml b/DistTasks.yml index 81ddb43e607..43beff81061 100644 --- a/DistTasks.yml +++ b/DistTasks.yml @@ -19,7 +19,7 @@ version: "3" vars: CONTAINER: "docker.elastic.co/beats-dev/golang-crossbuild" - GO_VERSION: "1.22.9" + GO_VERSION: "1.23.4" tasks: Windows_32bit: diff --git a/commands/instances.go b/commands/instances.go index 3c023301cd4..c208b053c8c 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -340,7 +340,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor logrus.WithField("index", indexFile).Info("Loading libraries index file") li, err := librariesindex.LoadIndex(indexFile) if err != nil { - s := status.Newf(codes.FailedPrecondition, i18n.Tr("Loading index file: %v", err)) + s := status.New(codes.FailedPrecondition, i18n.Tr("Loading index file: %v", err)) responseError(s) li = librariesindex.EmptyIndex } diff --git a/commands/service_debug_config.go b/commands/service_debug_config.go index f755b68adb5..4f69fc791e6 100644 --- a/commands/service_debug_config.go +++ b/commands/service_debug_config.go @@ -270,7 +270,7 @@ func (s *arduinoCoreServerImpl) getDebugProperties(req *rpc.GetDebugConfigReques }, nil } -// Extract a JSON from a given properies.Map and converts key-indexed arrays +// Extract a JSON from a given properties.Map and converts key-indexed arrays // like: // // my.indexed.array.0=first diff --git a/go.mod b/go.mod index 3cfd8236a24..d91627f08c8 100644 --- a/go.mod +++ b/go.mod @@ -1,11 +1,12 @@ module github.com/arduino/arduino-cli -go 1.22.9 +go 1.23.4 // We must use this fork until https://github.com/mailru/easyjson/pull/372 is merged replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( + fortio.org/safecast v1.0.0 github.com/ProtonMail/go-crypto v1.1.3 github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 diff --git a/go.sum b/go.sum index 18131cd7a72..94b85fdd2a2 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +fortio.org/safecast v1.0.0 h1:dr3131WPX8iS1pTf76+39WeXbTrerDYLvi9s7Oi3wiY= +fortio.org/safecast v1.0.0/go.mod h1:xZmcPk3vi4kuUFf+tq4SvnlVdwViqf6ZSZl91Jr9Jdg= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= diff --git a/internal/arduino/builder/recipe.go b/internal/arduino/builder/recipe.go index 5e71010c32c..c8fa8962850 100644 --- a/internal/arduino/builder/recipe.go +++ b/internal/arduino/builder/recipe.go @@ -16,7 +16,6 @@ package builder import ( - "fmt" "sort" "strings" @@ -27,7 +26,7 @@ import ( // RunRecipe fixdoc func (b *Builder) RunRecipe(prefix, suffix string, skipIfOnlyUpdatingCompilationDatabase bool) error { - logrus.Debugf(fmt.Sprintf("Looking for recipes like %s", prefix+"*"+suffix)) + logrus.Debugf("Looking for recipes like %s", prefix+"*"+suffix) // TODO is it necessary to use Clone? buildProperties := b.buildProperties.Clone() @@ -36,7 +35,7 @@ func (b *Builder) RunRecipe(prefix, suffix string, skipIfOnlyUpdatingCompilation // TODO is it necessary to use Clone? properties := buildProperties.Clone() for _, recipe := range recipes { - logrus.Debugf(fmt.Sprintf("Running recipe: %s", recipe)) + logrus.Debugf("Running recipe: %s", recipe) command, err := b.prepareCommandForRecipe(properties, recipe, false) if err != nil { diff --git a/internal/arduino/builder/sketch.go b/internal/arduino/builder/sketch.go index 1dda735138f..45612d9d313 100644 --- a/internal/arduino/builder/sketch.go +++ b/internal/arduino/builder/sketch.go @@ -24,6 +24,7 @@ import ( "strconv" "strings" + "fortio.org/safecast" f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/i18n" @@ -297,8 +298,12 @@ func merge(builtSketchPath, bootloaderPath, mergedSketchPath *paths.Path, maximu if segment.Address < initialAddress { initialAddress = segment.Address } - if segment.Address+uint32(len(segment.Data)) > lastAddress { - lastAddress = segment.Address + uint32(len(segment.Data)) + lenData, err := safecast.Convert[uint32](len(segment.Data)) + if err != nil { + return err + } + if segment.Address+lenData > lastAddress { + lastAddress = segment.Address + lenData } } for _, segment := range memSketch.GetDataSegments() { @@ -308,8 +313,12 @@ func merge(builtSketchPath, bootloaderPath, mergedSketchPath *paths.Path, maximu if segment.Address < initialAddress { initialAddress = segment.Address } - if segment.Address+uint32(len(segment.Data)) > lastAddress { - lastAddress = segment.Address + uint32(len(segment.Data)) + lenData, err := safecast.Convert[uint32](len(segment.Data)) + if err != nil { + return err + } + if segment.Address+lenData > lastAddress { + lastAddress = segment.Address + lenData } } @@ -323,7 +332,11 @@ func merge(builtSketchPath, bootloaderPath, mergedSketchPath *paths.Path, maximu // Write out a .bin if the addresses doesn't go too far away from origin // (and consequently produce a very large bin) size := lastAddress - initialAddress - if size > uint32(maximumBinSize) { + maximumBinSizeUint32, err := safecast.Convert[uint32](maximumBinSize) + if err != nil { + return nil + } + if size > maximumBinSizeUint32 { return nil } mergedSketchPathBin := paths.New(strings.TrimSuffix(mergedSketchPath.String(), ".hex") + ".bin") diff --git a/internal/arduino/cores/cores.go b/internal/arduino/cores/cores.go index 79464ed9b46..25c73508b76 100644 --- a/internal/arduino/cores/cores.go +++ b/internal/arduino/cores/cores.go @@ -328,14 +328,14 @@ func (platform *Platform) latestReleaseVersion() *semver.Version { if len(versions) == 0 { return nil } - max := versions[0] + maximum := versions[0] for i := 1; i < len(versions); i++ { - if versions[i].GreaterThan(max) { - max = versions[i] + if versions[i].GreaterThan(maximum) { + maximum = versions[i] } } - return max + return maximum } // GetAllInstalled returns all installed PlatformRelease diff --git a/internal/arduino/libraries/librariesindex/json.go b/internal/arduino/libraries/librariesindex/json.go index 926ed39edca..c5c8dd4de90 100644 --- a/internal/arduino/libraries/librariesindex/json.go +++ b/internal/arduino/libraries/librariesindex/json.go @@ -126,7 +126,7 @@ func (indexLib *indexRelease) extractReleaseIn(library *Library) { func (indexLib *indexRelease) extractDependencies() []*Dependency { res := []*Dependency{} - if indexLib.Dependencies == nil || len(indexLib.Dependencies) == 0 { + if len(indexLib.Dependencies) == 0 { return res } for _, indexDep := range indexLib.Dependencies { diff --git a/internal/arduino/libraries/librariesmanager/librariesmanager.go b/internal/arduino/libraries/librariesmanager/librariesmanager.go index f5883d6673b..457d20b32ff 100644 --- a/internal/arduino/libraries/librariesmanager/librariesmanager.go +++ b/internal/arduino/libraries/librariesmanager/librariesmanager.go @@ -210,7 +210,7 @@ func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []* return statuses } if err != nil { - s := status.Newf(codes.FailedPrecondition, i18n.Tr("reading dir %[1]s: %[2]s", librariesDir.Path, err)) + s := status.New(codes.FailedPrecondition, i18n.Tr("reading dir %[1]s: %[2]s", librariesDir.Path, err)) return append(statuses, s) } d.FilterDirs() @@ -221,7 +221,7 @@ func (lm *LibrariesManager) loadLibrariesFromDir(librariesDir *LibrariesDir) []* for _, libDir := range libDirs { library, err := libraries.Load(libDir, librariesDir.Location) if err != nil { - s := status.Newf(codes.Internal, i18n.Tr("loading library from %[1]s: %[2]s", libDir, err)) + s := status.New(codes.Internal, i18n.Tr("loading library from %[1]s: %[2]s", libDir, err)) statuses = append(statuses, s) continue } diff --git a/internal/arduino/libraries/librariesresolver/cpp.go b/internal/arduino/libraries/librariesresolver/cpp.go index e842b764ace..0b1d770671f 100644 --- a/internal/arduino/libraries/librariesresolver/cpp.go +++ b/internal/arduino/libraries/librariesresolver/cpp.go @@ -123,7 +123,7 @@ func (resolver *Cpp) ResolveFor(header, architecture string) *libraries.Library logrus. WithField("lib", lib.Name). WithField("prio", fmt.Sprintf("%03X", libPriority)). - Infof(msg) + Info(msg) } if found == nil { return nil diff --git a/internal/cli/lib/examples.go b/internal/cli/lib/examples.go index 3b418809dfc..da0ee4c418e 100644 --- a/internal/cli/lib/examples.go +++ b/internal/cli/lib/examples.go @@ -104,7 +104,7 @@ func (ir libraryExamplesResult) Data() interface{} { } func (ir libraryExamplesResult) String() string { - if ir.Examples == nil || len(ir.Examples) == 0 { + if len(ir.Examples) == 0 { return i18n.Tr("No libraries found.") } diff --git a/internal/go-configmap/configuration.go b/internal/go-configmap/configuration.go index e1a9dbb791e..165cb66fa4e 100644 --- a/internal/go-configmap/configuration.go +++ b/internal/go-configmap/configuration.go @@ -19,6 +19,8 @@ import ( "fmt" "reflect" "strings" + + "fortio.org/safecast" ) type Map struct { @@ -88,7 +90,7 @@ func tryConversion(current any, desiredType reflect.Type) (any, error) { return uint(currentFloat), nil } if currentInt, ok := current.(int); ok { - return uint(currentInt), nil + return safecast.Convert[uint](currentInt) } case reflect.Int: // Exception for JSON decoder: json decoder will decode all numbers as float64 From bfbfdced696d5c63b92ed9586f456cf720ba12bc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 13 Jan 2025 17:47:55 +0100 Subject: [PATCH 306/361] [skip changelog] Bump google.golang.org/grpc from 1.69.2 to 1.69.4 (#2809) * [skip changelog] Bump google.golang.org/grpc from 1.69.2 to 1.69.4 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.69.2 to 1.69.4. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.69.2...v1.69.4) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * generate licensed files --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .licensed.yml | 1 + .licenses/go/google.golang.org/grpc.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 6 +++--- .../google.golang.org/grpc/balancer/grpclb/state.dep.yml | 6 +++--- .../go/google.golang.org/grpc/balancer/pickfirst.dep.yml | 6 +++--- .../grpc/balancer/pickfirst/internal.dep.yml | 6 +++--- .../grpc/balancer/pickfirst/pickfirstleaf.dep.yml | 6 +++--- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 6 +++--- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 8 ++++---- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/codes.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 6 +++--- .../google.golang.org/grpc/credentials/insecure.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 6 +++--- .../go/google.golang.org/grpc/encoding/proto.dep.yml | 6 +++--- .../go/google.golang.org/grpc/experimental/stats.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 6 +++--- .../go/google.golang.org/grpc/grpclog/internal.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/internal.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/backoff.dep.yml | 6 +++--- .../grpc/internal/balancer/gracefulswitch.dep.yml | 6 +++--- .../google.golang.org/grpc/internal/balancerload.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/buffer.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/channelz.dep.yml | 6 +++--- .../google.golang.org/grpc/internal/credentials.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/grpclog.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/grpcsync.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/grpcutil.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/metadata.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/pretty.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/resolver.dep.yml | 6 +++--- .../google.golang.org/grpc/internal/resolver/dns.dep.yml | 6 +++--- .../grpc/internal/resolver/dns/internal.dep.yml | 6 +++--- .../grpc/internal/resolver/passthrough.dep.yml | 6 +++--- .../google.golang.org/grpc/internal/resolver/unix.dep.yml | 6 +++--- .../google.golang.org/grpc/internal/serviceconfig.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/stats.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/status.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/syscall.dep.yml | 6 +++--- .../go/google.golang.org/grpc/internal/transport.dep.yml | 6 +++--- .../grpc/internal/transport/networktype.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/mem.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/peer.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/stats.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/status.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/tap.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 60 files changed, 175 insertions(+), 174 deletions(-) diff --git a/.licensed.yml b/.licensed.yml index 47e06d5e8f8..1b775e1b797 100644 --- a/.licensed.yml +++ b/.licensed.yml @@ -53,6 +53,7 @@ reviewed: - github.com/go-git/gcfg/types - github.com/russross/blackfriday/v2 - github.com/sagikazarmark/slog-shim + - golang.org/x/crypto/sha3 - golang.org/x/sys/execabs - golang.org/x/text/encoding - golang.org/x/text/encoding/internal diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index dcac854c8dc..2e556f9e525 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,9 +1,9 @@ --- name: google.golang.org/grpc -version: v1.69.2 +version: v1.69.4 type: go summary: Package grpc implements an RPC system called gRPC. -homepage: https://pkg.go.dev/google.golang.org/grpc +homepage: https://godoc.org/google.golang.org/grpc license: apache-2.0 licenses: - sources: LICENSE diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 20ef3400a22..28b95939754 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.69.2 +version: v1.69.4 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. -homepage: https://pkg.go.dev/google.golang.org/grpc/attributes +homepage: https://godoc.org/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index a9140ba5146..555a1d385c5 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.69.2 +version: v1.69.4 type: go summary: Package backoff provides configuration options for backoff. -homepage: https://pkg.go.dev/google.golang.org/grpc/backoff +homepage: https://godoc.org/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 5eccc641fad..7eda139ad5c 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.69.2 +version: v1.69.4 type: go summary: Package balancer defines APIs for load balancing in gRPC. -homepage: https://pkg.go.dev/google.golang.org/grpc/balancer +homepage: https://godoc.org/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 493665f89a1..b32f71cd9fa 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.69.2 +version: v1.69.4 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. -homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base +homepage: https://godoc.org/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 92ef584bb8e..a6ed6f1f2d8 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.69.2 +version: v1.69.4 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. -homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state +homepage: https://godoc.org/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index e5d5418da0e..e743e8ae973 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.69.2 +version: v1.69.4 type: go summary: Package pickfirst contains the pick_first load balancing policy. -homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst +homepage: https://godoc.org/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 46fa7341cd5..1fe77a4f197 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.69.2 +version: v1.69.4 type: go summary: Package internal contains code internal to the pickfirst package. -homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal +homepage: https://godoc.org/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index 95c8703f202..95515b581a1 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.69.2 +version: v1.69.4 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. -homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf +homepage: https://godoc.org/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 20256f9b086..cb200207a27 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.69.2 +version: v1.69.4 type: go summary: Package roundrobin defines a roundrobin balancer. -homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin +homepage: https://godoc.org/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 4a64632b1a9..97024d55fa1 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.69.2 +version: v1.69.4 type: go -summary: -homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 +summary: +homepage: https://godoc.org/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index cc7c6fadfa0..bda56b69dfb 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.69.2 +version: v1.69.4 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. -homepage: https://pkg.go.dev/google.golang.org/grpc/channelz +homepage: https://godoc.org/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 782d74de6cd..3c51d3de641 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.69.2 +version: v1.69.4 type: go summary: Package codes defines the canonical error codes used by gRPC. -homepage: https://pkg.go.dev/google.golang.org/grpc/codes +homepage: https://godoc.org/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index c1978dab037..d7ba0b449a7 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.69.2 +version: v1.69.4 type: go summary: Package connectivity defines connectivity semantics. -homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity +homepage: https://godoc.org/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index e10b288c63b..d00d9795414 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,15 +1,15 @@ --- name: google.golang.org/grpc/credentials -version: v1.69.2 +version: v1.69.4 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call. -homepage: https://pkg.go.dev/google.golang.org/grpc/credentials +homepage: https://godoc.org/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index c2d988db6d0..a55ef8235cd 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.69.2 +version: v1.69.4 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. -homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure +homepage: https://godoc.org/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index ed5fa6c2c49..5ef1a1866ba 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.69.2 +version: v1.69.4 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. -homepage: https://pkg.go.dev/google.golang.org/grpc/encoding +homepage: https://godoc.org/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 94a7c56b3d2..d16da37c317 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.69.2 +version: v1.69.4 type: go summary: Package proto defines the protobuf codec. -homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto +homepage: https://godoc.org/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index 84739f62c79..8d558acd74f 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.69.2 +version: v1.69.4 type: go summary: Package stats contains experimental metrics/stats API's. -homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats +homepage: https://godoc.org/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 0d416415639..5652cf23e37 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.69.2 +version: v1.69.4 type: go summary: Package grpclog defines logging for grpc. -homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog +homepage: https://godoc.org/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index 841531a54a1..d9c22192c67 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.69.2 +version: v1.69.4 type: go summary: Package internal contains functionality internal to the grpclog package. -homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal +homepage: https://godoc.org/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index aa1dfc70038..14605961ac2 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.69.2 +version: v1.69.4 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal +homepage: https://godoc.org/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 314a8a665f8..0bf569dd872 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.69.2 +version: v1.69.4 type: go summary: Package backoff implement the backoff strategy for gRPC. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff +homepage: https://godoc.org/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index e7a8ff6d841..742222735de 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.69.2 +version: v1.69.4 type: go summary: Package gracefulswitch implements a graceful switch load balancer. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch +homepage: https://godoc.org/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 161b8927fa6..53aa20e5729 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.69.2 +version: v1.69.4 type: go summary: Package balancerload defines APIs to parse server loads in trailers. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload +homepage: https://godoc.org/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 298553ee905..f93735812b5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.69.2 +version: v1.69.4 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog +homepage: https://godoc.org/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 877fb1c5bd8..6037ea97702 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.69.2 +version: v1.69.4 type: go summary: Package buffer provides an implementation of an unbounded buffer. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer +homepage: https://godoc.org/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index bf47e7c3956..ea9b2027e81 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.69.2 +version: v1.69.4 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz +homepage: https://godoc.org/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 321dc9f07e2..16333d756f1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.69.2 +version: v1.69.4 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials +homepage: https://godoc.org/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 6eba3d2f25f..0d0d6d8111e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.69.2 +version: v1.69.4 type: go summary: Package envconfig contains grpc settings configured by environment variables. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig +homepage: https://godoc.org/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 40598845536..e4e1f416d46 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.69.2 +version: v1.69.4 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog +homepage: https://godoc.org/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 0be53257794..3382ad20ebf 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.69.2 +version: v1.69.4 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync +homepage: https://godoc.org/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index b9d814a2ab3..8b9aa01305d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.69.2 +version: v1.69.4 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil +homepage: https://godoc.org/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index cd3d04d7a68..df00a646957 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.69.2 +version: v1.69.4 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle +homepage: https://godoc.org/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index d09783eee27..333e4487f16 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.69.2 +version: v1.69.4 type: go summary: Package metadata contains functions to set and get metadata from addresses. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata +homepage: https://godoc.org/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 1d77d690e75..859214efba6 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.69.2 +version: v1.69.4 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty +homepage: https://godoc.org/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 7175c5ab6ae..cf65ccaeb3c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.69.2 +version: v1.69.4 type: go summary: Package resolver provides internal resolver-related functionality. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver +homepage: https://godoc.org/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index bde139c2755..2ae78fedd7b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.69.2 +version: v1.69.4 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns +homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index ebb9a77d940..0d7a4302230 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.69.2 +version: v1.69.4 type: go summary: Package internal contains functionality internal to the dns resolver package. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal +homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index ffc6a6dd790..eaae7671c83 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.69.2 +version: v1.69.4 type: go summary: Package passthrough implements a pass-through resolver. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough +homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index b501fcab1f9..a3a92f02d14 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.69.2 +version: v1.69.4 type: go summary: Package unix implements a resolver for unix targets. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix +homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index c62b2c5863b..2317f2e45e5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.69.2 +version: v1.69.4 type: go summary: Package serviceconfig contains utility functions to parse service config. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig +homepage: https://godoc.org/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index 405d6af520d..ca817538d94 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.69.2 +version: v1.69.4 type: go summary: Package stats provides internal stats related functionality. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats +homepage: https://godoc.org/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 0fb650a827e..7c997436ac7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.69.2 +version: v1.69.4 type: go summary: Package status implements errors returned by gRPC. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status +homepage: https://godoc.org/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index fb737852550..ba703519f91 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.69.2 +version: v1.69.4 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall +homepage: https://godoc.org/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 63403bd0ee2..1c955243d89 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.69.2 +version: v1.69.4 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport +homepage: https://godoc.org/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 0be4280e004..01ec0222ec0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.69.2 +version: v1.69.4 type: go summary: Package networktype declares the network type to be used in the default dialer. -homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype +homepage: https://godoc.org/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 691408db597..3f78101e13a 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.69.2 +version: v1.69.4 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. -homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive +homepage: https://godoc.org/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index 0d34201aead..924ad3847fb 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.69.2 +version: v1.69.4 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. -homepage: https://pkg.go.dev/google.golang.org/grpc/mem +homepage: https://godoc.org/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index c2cfd135754..8dd26f41660 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.69.2 +version: v1.69.4 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. -homepage: https://pkg.go.dev/google.golang.org/grpc/metadata +homepage: https://godoc.org/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 74e7895125d..012fc315a6d 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.69.2 +version: v1.69.4 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. -homepage: https://pkg.go.dev/google.golang.org/grpc/peer +homepage: https://godoc.org/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 8d81cdf906f..f3c707cb3a4 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.69.2 +version: v1.69.4 type: go summary: Package resolver defines APIs for name resolution in gRPC. -homepage: https://pkg.go.dev/google.golang.org/grpc/resolver +homepage: https://godoc.org/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index bca396a57cc..38a4fb09f7b 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.69.2 +version: v1.69.4 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. -homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns +homepage: https://godoc.org/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index f55f094bece..46fcdf89c95 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.69.2 +version: v1.69.4 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. -homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig +homepage: https://godoc.org/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 8330027ce9a..9a43b356533 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.69.2 +version: v1.69.4 type: go summary: Package stats is for collecting and reporting various network and RPC stats. -homepage: https://pkg.go.dev/google.golang.org/grpc/stats +homepage: https://godoc.org/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 9d0790e5a86..cfe080cbc63 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.69.2 +version: v1.69.4 type: go summary: Package status implements errors returned by gRPC. -homepage: https://pkg.go.dev/google.golang.org/grpc/status +homepage: https://godoc.org/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 4d676afdd09..39d2ec17a30 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.69.2 +version: v1.69.4 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. -homepage: https://pkg.go.dev/google.golang.org/grpc/tap +homepage: https://godoc.org/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.69.2/LICENSE +- sources: grpc@v1.69.4/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index d91627f08c8..5a679dc5803 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/term v0.28.0 golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 - google.golang.org/grpc v1.69.2 + google.golang.org/grpc v1.69.4 google.golang.org/protobuf v1.36.2 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 94b85fdd2a2..84134b6f303 100644 --- a/go.sum +++ b/go.sum @@ -284,8 +284,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= -google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU= -google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= +google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU= google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 2fba555c302c8a6b70eb51cfaedd25e1cef6df00 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessio@perugini.xyz> Date: Tue, 14 Jan 2025 09:51:05 +0100 Subject: [PATCH 307/361] [skip-changelog] Replace some function under algorithms pkg with go.bug.st/f --- .licenses/go/go.bug.st/f.dep.yml | 45 ++++++++++ commands/service_board_list.go | 2 +- commands/service_settings.go | 2 +- internal/algorithms/slices.go | 87 ------------------- internal/algorithms/slices_test.go | 53 ----------- internal/arduino/builder/core.go | 2 +- .../builder/internal/preprocessor/gcc.go | 2 +- .../arduino/builder/internal/utils/utils.go | 2 +- internal/arduino/builder/libraries.go | 2 +- internal/arduino/builder/linker.go | 2 +- internal/arduino/builder/sketch.go | 2 +- internal/arduino/sketch/sketch.go | 2 +- internal/cli/arguments/completion.go | 2 +- internal/cli/arguments/port.go | 2 +- internal/cli/arguments/sketch.go | 2 +- internal/cli/config/config.go | 2 +- internal/cli/config/set.go | 2 +- internal/cli/feedback/result/rpc.go | 2 +- 18 files changed, 60 insertions(+), 155 deletions(-) create mode 100644 .licenses/go/go.bug.st/f.dep.yml delete mode 100644 internal/algorithms/slices.go delete mode 100644 internal/algorithms/slices_test.go diff --git a/.licenses/go/go.bug.st/f.dep.yml b/.licenses/go/go.bug.st/f.dep.yml new file mode 100644 index 00000000000..59ef92f95a3 --- /dev/null +++ b/.licenses/go/go.bug.st/f.dep.yml @@ -0,0 +1,45 @@ +--- +name: go.bug.st/f +version: v0.4.0 +type: go +summary: Package f is a golang library implementing some basic algorithms. +homepage: https://godoc.org/go.bug.st/f +license: bsd-3-clause +licenses: +- sources: LICENSE + text: |2+ + + Copyright (c) 2024, Cristian Maglie. + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + 3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived + from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + +notices: [] +... diff --git a/commands/service_board_list.go b/commands/service_board_list.go index daf7ca57a87..1d1bf7acff5 100644 --- a/commands/service_board_list.go +++ b/commands/service_board_list.go @@ -22,12 +22,12 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/discovery/discoverymanager" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/pkg/fqbn" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" + "go.bug.st/f" ) // BoardList returns a list of boards found by the loaded discoveries. diff --git a/commands/service_settings.go b/commands/service_settings.go index d38f4a95cfd..7a0f7f252ae 100644 --- a/commands/service_settings.go +++ b/commands/service_settings.go @@ -22,10 +22,10 @@ import ( "reflect" "github.com/arduino/arduino-cli/commands/cmderrors" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/configuration" "github.com/arduino/arduino-cli/internal/go-configmap" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "go.bug.st/f" "google.golang.org/protobuf/proto" "gopkg.in/yaml.v3" ) diff --git a/internal/algorithms/slices.go b/internal/algorithms/slices.go deleted file mode 100644 index 90ea3d1984b..00000000000 --- a/internal/algorithms/slices.go +++ /dev/null @@ -1,87 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2023 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 f - -// Matcher is a function that tests if a given value match a certain criteria. -type Matcher[T any] func(T) bool - -// Reducer is a function that combines two values of the same type and return -// the combined value. -type Reducer[T any] func(T, T) T - -// Mapper is a function that converts a value of one type to another type. -type Mapper[T, U any] func(T) U - -// Filter takes a slice of type []T and a Matcher[T]. It returns a newly -// allocated slice containing only those elements of the input slice that -// satisfy the matcher. -func Filter[T any](values []T, matcher Matcher[T]) []T { - res := []T{} - for _, x := range values { - if matcher(x) { - res = append(res, x) - } - } - return res -} - -// Map applies the Mapper function to each element of the slice and returns -// a new slice with the results in the same order. -func Map[T, U any](values []T, mapper Mapper[T, U]) []U { - res := []U{} - for _, x := range values { - res = append(res, mapper(x)) - } - return res -} - -// Reduce applies the Reducer function to all elements of the input values -// and returns the result. -func Reduce[T any](values []T, reducer Reducer[T]) T { - var result T - for _, v := range values { - result = reducer(result, v) - } - return result -} - -// Equals return a Matcher that matches the given value -func Equals[T comparable](value T) Matcher[T] { - return func(x T) bool { - return x == value - } -} - -// NotEquals return a Matcher that does not match the given value -func NotEquals[T comparable](value T) Matcher[T] { - return func(x T) bool { - return x != value - } -} - -// Uniq return a copy of the input array with all duplicates removed -func Uniq[T comparable](in []T) []T { - have := map[T]bool{} - var out []T - for _, v := range in { - if have[v] { - continue - } - out = append(out, v) - have[v] = true - } - return out -} diff --git a/internal/algorithms/slices_test.go b/internal/algorithms/slices_test.go deleted file mode 100644 index 8ef58c660a9..00000000000 --- a/internal/algorithms/slices_test.go +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of arduino-cli. -// -// Copyright 2023 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 f_test - -import ( - "strings" - "testing" - - f "github.com/arduino/arduino-cli/internal/algorithms" - "github.com/stretchr/testify/require" -) - -func TestFilter(t *testing.T) { - a := []string{"aaa", "bbb", "ccc"} - require.Equal(t, []string{"bbb", "ccc"}, f.Filter(a, func(x string) bool { return x > "b" })) - b := []int{5, 9, 15, 2, 4, -2} - require.Equal(t, []int{5, 9, 15}, f.Filter(b, func(x int) bool { return x > 4 })) -} - -func TestIsEmpty(t *testing.T) { - require.True(t, f.Equals(int(0))(0)) - require.False(t, f.Equals(int(1))(0)) - require.True(t, f.Equals("")("")) - require.False(t, f.Equals("abc")("")) - require.False(t, f.NotEquals(int(0))(0)) - require.True(t, f.NotEquals(int(1))(0)) - require.False(t, f.NotEquals("")("")) - require.True(t, f.NotEquals("abc")("")) -} - -func TestMap(t *testing.T) { - value := "hello, world , how are,you? " - parts := f.Map(strings.Split(value, ","), strings.TrimSpace) - - require.Equal(t, 4, len(parts)) - require.Equal(t, "hello", parts[0]) - require.Equal(t, "world", parts[1]) - require.Equal(t, "how are", parts[2]) - require.Equal(t, "you?", parts[3]) -} diff --git a/internal/arduino/builder/core.go b/internal/arduino/builder/core.go index f407ed60c41..f541eaeda41 100644 --- a/internal/arduino/builder/core.go +++ b/internal/arduino/builder/core.go @@ -22,12 +22,12 @@ import ( "os" "strings" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" + "go.bug.st/f" ) // buildCore fixdoc diff --git a/internal/arduino/builder/internal/preprocessor/gcc.go b/internal/arduino/builder/internal/preprocessor/gcc.go index bfcc9512e0c..cbf156dfae6 100644 --- a/internal/arduino/builder/internal/preprocessor/gcc.go +++ b/internal/arduino/builder/internal/preprocessor/gcc.go @@ -21,11 +21,11 @@ import ( "fmt" "strings" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" + "go.bug.st/f" ) // GCC performs a run of the gcc preprocess (macro/includes expansion). The function outputs the result diff --git a/internal/arduino/builder/internal/utils/utils.go b/internal/arduino/builder/internal/utils/utils.go index d0cb2cec48c..4b4d5b79416 100644 --- a/internal/arduino/builder/internal/utils/utils.go +++ b/internal/arduino/builder/internal/utils/utils.go @@ -21,9 +21,9 @@ import ( "strings" "unicode" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" + "go.bug.st/f" "golang.org/x/text/runes" "golang.org/x/text/transform" "golang.org/x/text/unicode/norm" diff --git a/internal/arduino/builder/libraries.go b/internal/arduino/builder/libraries.go index f5648a09596..6bb28f96ed2 100644 --- a/internal/arduino/builder/libraries.go +++ b/internal/arduino/builder/libraries.go @@ -20,12 +20,12 @@ import ( "strings" "time" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/arduino/go-properties-orderedmap" + "go.bug.st/f" ) // nolint diff --git a/internal/arduino/builder/linker.go b/internal/arduino/builder/linker.go index e7d91811890..20032608db5 100644 --- a/internal/arduino/builder/linker.go +++ b/internal/arduino/builder/linker.go @@ -18,9 +18,9 @@ package builder import ( "strings" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" + "go.bug.st/f" ) // link fixdoc diff --git a/internal/arduino/builder/sketch.go b/internal/arduino/builder/sketch.go index 45612d9d313..1f64d207c81 100644 --- a/internal/arduino/builder/sketch.go +++ b/internal/arduino/builder/sketch.go @@ -25,11 +25,11 @@ import ( "strings" "fortio.org/safecast" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/marcinbor85/gohex" + "go.bug.st/f" ) var ( diff --git a/internal/arduino/sketch/sketch.go b/internal/arduino/sketch/sketch.go index 5cdfb6f3ee8..015be0b1f56 100644 --- a/internal/arduino/sketch/sketch.go +++ b/internal/arduino/sketch/sketch.go @@ -24,11 +24,11 @@ import ( "strings" "github.com/arduino/arduino-cli/commands/cmderrors" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" + "go.bug.st/f" ) // Sketch holds all the files composing a sketch diff --git a/internal/cli/arguments/completion.go b/internal/cli/arguments/completion.go index a8867c51cf2..9b6678fe9ac 100644 --- a/internal/cli/arguments/completion.go +++ b/internal/cli/arguments/completion.go @@ -18,9 +18,9 @@ package arguments import ( "context" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/instance" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "go.bug.st/f" ) // GetInstalledBoards is an helper function useful to autocomplete. diff --git a/internal/cli/arguments/port.go b/internal/cli/arguments/port.go index fea0b475db5..1df918210e3 100644 --- a/internal/cli/arguments/port.go +++ b/internal/cli/arguments/port.go @@ -23,11 +23,11 @@ import ( "github.com/arduino/arduino-cli/commands" "github.com/arduino/arduino-cli/commands/cmderrors" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "go.bug.st/f" ) // Port contains the port arguments result. diff --git a/internal/cli/arguments/sketch.go b/internal/cli/arguments/sketch.go index 8a912e0dbc8..7f76f86e98c 100644 --- a/internal/cli/arguments/sketch.go +++ b/internal/cli/arguments/sketch.go @@ -18,12 +18,12 @@ package arguments import ( "context" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/sirupsen/logrus" + "go.bug.st/f" ) // InitSketchPath returns an instance of paths.Path pointing to sketchPath. diff --git a/internal/cli/config/config.go b/internal/cli/config/config.go index d05f43ff77c..dd42eb71213 100644 --- a/internal/cli/config/config.go +++ b/internal/cli/config/config.go @@ -20,12 +20,12 @@ import ( "os" "strings" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" "github.com/spf13/cobra" + "go.bug.st/f" ) // NewCommand created a new `config` command diff --git a/internal/cli/config/set.go b/internal/cli/config/set.go index 34c1d3168e2..34adb362811 100644 --- a/internal/cli/config/set.go +++ b/internal/cli/config/set.go @@ -20,12 +20,12 @@ import ( "encoding/json" "os" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/cli/feedback" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/sirupsen/logrus" "github.com/spf13/cobra" + "go.bug.st/f" ) func initSetCommand(srv rpc.ArduinoCoreServiceServer) *cobra.Command { diff --git a/internal/cli/feedback/result/rpc.go b/internal/cli/feedback/result/rpc.go index a1b464a89b1..9798e59584a 100644 --- a/internal/cli/feedback/result/rpc.go +++ b/internal/cli/feedback/result/rpc.go @@ -20,10 +20,10 @@ import ( "fmt" "slices" - f "github.com/arduino/arduino-cli/internal/algorithms" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/orderedmap" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" + "go.bug.st/f" semver "go.bug.st/relaxed-semver" ) From c78921af5b265fcb3d893fb91602e25ad3b1b600 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 14 Jan 2025 09:59:39 +0100 Subject: [PATCH 308/361] Added option to disable integrity checks in `core install` (for development purposes) (#2740) * Added 'enable_unsafe_install' option for platforms. * Updated documentation * Do not skip platform index loading if size is invalid or missing * Added integration test --- commands/instances.go | 8 +++---- commands/service_library_install.go | 7 +++--- commands/service_platform_install.go | 7 +++++- commands/service_platform_upgrade.go | 7 +++++- docs/configuration.md | 2 ++ internal/arduino/cores/packageindex/index.go | 11 +++++----- .../cores/packagemanager/install_uninstall.go | 22 ++++++++++--------- .../arduino/cores/packagemanager/profiles.go | 4 ++-- internal/arduino/resources/install.go | 21 +++++++++++++----- internal/arduino/resources/install_test.go | 4 ++-- internal/cli/configuration/board_manager.go | 7 ++++++ .../configuration/configuration.schema.json | 4 ++++ internal/cli/configuration/defaults.go | 1 + internal/integrationtest/core/core_test.go | 17 ++++++++++++++ 14 files changed, 87 insertions(+), 35 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index c208b053c8c..368f54813ce 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -47,7 +47,7 @@ import ( "google.golang.org/grpc/status" ) -func installTool(ctx context.Context, pm *packagemanager.PackageManager, tool *cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB) error { +func installTool(ctx context.Context, pm *packagemanager.PackageManager, tool *cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, checks resources.IntegrityCheckMode) error { pme, release := pm.NewExplorer() defer release() @@ -56,7 +56,7 @@ func installTool(ctx context.Context, pm *packagemanager.PackageManager, tool *c return errors.New(i18n.Tr("downloading %[1]s tool: %[2]s", tool, err)) } taskCB(&rpc.TaskProgress{Completed: true}) - if err := pme.InstallTool(tool, taskCB, true); err != nil { + if err := pme.InstallTool(tool, taskCB, true, checks); err != nil { return errors.New(i18n.Tr("installing %[1]s tool: %[2]s", tool, err)) } return nil @@ -282,7 +282,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Install builtin tools if necessary if len(builtinToolsToInstall) > 0 { for _, toolRelease := range builtinToolsToInstall { - if err := installTool(ctx, pmb.Build(), toolRelease, downloadCallback, taskCallback); err != nil { + if err := installTool(ctx, pmb.Build(), toolRelease, downloadCallback, taskCallback, resources.IntegrityCheckFull); err != nil { e := &cmderrors.InitFailedError{ Code: codes.Internal, Cause: err, @@ -394,7 +394,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor // Install library taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Installing library %s", libraryRef)}) - if err := libRelease.Resource.Install(pme.DownloadDir, libRoot, libDir); err != nil { + if err := libRelease.Resource.Install(pme.DownloadDir, libRoot, libDir, resources.IntegrityCheckFull); err != nil { taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Error installing library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} responseError(e.GRPCStatus()) diff --git a/commands/service_library_install.go b/commands/service_library_install.go index ca1531ac267..3fe2641282a 100644 --- a/commands/service_library_install.go +++ b/commands/service_library_install.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" + "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -159,7 +160,7 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s if err := downloadLibrary(ctx, downloadsDir, libRelease, downloadCB, taskCB, downloadReason, s.settings); err != nil { return err } - if err := installLibrary(lmi, downloadsDir, libRelease, installTask, taskCB); err != nil { + if err := installLibrary(lmi, downloadsDir, libRelease, installTask, taskCB, resources.IntegrityCheckFull); err != nil { return err } } @@ -179,7 +180,7 @@ func (s *arduinoCoreServerImpl) LibraryInstall(req *rpc.LibraryInstallRequest, s return nil } -func installLibrary(lmi *librariesmanager.Installer, downloadsDir *paths.Path, libRelease *librariesindex.Release, installTask *librariesmanager.LibraryInstallPlan, taskCB rpc.TaskProgressCB) error { +func installLibrary(lmi *librariesmanager.Installer, downloadsDir *paths.Path, libRelease *librariesindex.Release, installTask *librariesmanager.LibraryInstallPlan, taskCB rpc.TaskProgressCB, checks resources.IntegrityCheckMode) error { taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing %s", libRelease)}) logrus.WithField("library", libRelease).Info("Installing library") @@ -193,7 +194,7 @@ func installLibrary(lmi *librariesmanager.Installer, downloadsDir *paths.Path, l installPath := installTask.TargetPath tmpDirPath := installPath.Parent() - if err := libRelease.Resource.Install(downloadsDir, tmpDirPath, installPath); err != nil { + if err := libRelease.Resource.Install(downloadsDir, tmpDirPath, installPath, checks); err != nil { return &cmderrors.FailedLibraryInstallError{Cause: err} } diff --git a/commands/service_platform_install.go b/commands/service_platform_install.go index 6a9583fa429..9e268339bc8 100644 --- a/commands/service_platform_install.go +++ b/commands/service_platform_install.go @@ -22,6 +22,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -95,7 +96,11 @@ func (s *arduinoCoreServerImpl) PlatformInstall(req *rpc.PlatformInstallRequest, } } - if err := pme.DownloadAndInstallPlatformAndTools(ctx, platformRelease, tools, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()); err != nil { + checks := resources.IntegrityCheckFull + if s.settings.BoardManagerEnableUnsafeInstall() { + checks = resources.IntegrityCheckNone + } + if err := pme.DownloadAndInstallPlatformAndTools(ctx, platformRelease, tools, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall(), checks); err != nil { return err } diff --git a/commands/service_platform_upgrade.go b/commands/service_platform_upgrade.go index 94432e87c31..11aac1346f8 100644 --- a/commands/service_platform_upgrade.go +++ b/commands/service_platform_upgrade.go @@ -21,6 +21,7 @@ import ( "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packagemanager" + "github.com/arduino/arduino-cli/internal/arduino/resources" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" ) @@ -75,7 +76,11 @@ func (s *arduinoCoreServerImpl) PlatformUpgrade(req *rpc.PlatformUpgradeRequest, Package: req.GetPlatformPackage(), PlatformArchitecture: req.GetArchitecture(), } - platform, err := pme.DownloadAndInstallPlatformUpgrades(ctx, ref, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall()) + checks := resources.IntegrityCheckFull + if s.settings.BoardManagerEnableUnsafeInstall() { + checks = resources.IntegrityCheckNone + } + platform, err := pme.DownloadAndInstallPlatformUpgrades(ctx, ref, downloadCB, taskCB, req.GetSkipPostInstall(), req.GetSkipPreUninstall(), checks) if err != nil { return platform, err } diff --git a/docs/configuration.md b/docs/configuration.md index c069638328f..9081bf7c5b9 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -2,6 +2,8 @@ - `board_manager` - `additional_urls` - the URLs to any additional Boards Manager package index files needed for your boards platforms. + - `enable_unsafe_install` - set to `true` to allow installation of packages that do not pass the checksum test. This + is considered an unsafe installation method and should be used only for development purposes. - `daemon` - options related to running Arduino CLI as a [gRPC] server. - `port` - TCP port used for gRPC client connections. - `directories` - directories used by Arduino CLI. diff --git a/internal/arduino/cores/packageindex/index.go b/internal/arduino/cores/packageindex/index.go index fcc892497b3..c2c601c500b 100644 --- a/internal/arduino/cores/packageindex/index.go +++ b/internal/arduino/cores/packageindex/index.go @@ -17,14 +17,12 @@ package packageindex import ( "encoding/json" - "errors" "fmt" "slices" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/arduino/security" - "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" easyjson "github.com/mailru/easyjson" "github.com/sirupsen/logrus" @@ -273,14 +271,15 @@ func (inPlatformRelease indexPlatformRelease) extractPlatformIn(outPackage *core outPlatform.Deprecated = inPlatformRelease.Deprecated } - size, err := inPlatformRelease.Size.Int64() - if err != nil { - return errors.New(i18n.Tr("invalid platform archive size: %s", err)) - } outPlatformRelease := outPlatform.GetOrCreateRelease(inPlatformRelease.Version) outPlatformRelease.Name = inPlatformRelease.Name outPlatformRelease.Category = inPlatformRelease.Category outPlatformRelease.IsTrusted = trusted + size, err := inPlatformRelease.Size.Int64() + if err != nil { + logrus.Warningf("invalid platform %s archive size: %s", outPlatformRelease, err) + size = 0 + } outPlatformRelease.Resource = &resources.DownloadResource{ ArchiveFileName: inPlatformRelease.ArchiveFileName, Checksum: inPlatformRelease.Checksum, diff --git a/internal/arduino/cores/packagemanager/install_uninstall.go b/internal/arduino/cores/packagemanager/install_uninstall.go index 7fb9b44dc02..977e03d8bb0 100644 --- a/internal/arduino/cores/packagemanager/install_uninstall.go +++ b/internal/arduino/cores/packagemanager/install_uninstall.go @@ -25,6 +25,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/cores/packageindex" + "github.com/arduino/arduino-cli/internal/arduino/resources" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-paths-helper" @@ -40,6 +41,7 @@ func (pme *Explorer) DownloadAndInstallPlatformUpgrades( taskCB rpc.TaskProgressCB, skipPostInstall bool, skipPreUninstall bool, + checks resources.IntegrityCheckMode, ) (*cores.PlatformRelease, error) { if platformRef.PlatformVersion != nil { return nil, &cmderrors.InvalidArgumentError{Message: i18n.Tr("Upgrade doesn't accept parameters with version")} @@ -64,7 +66,7 @@ func (pme *Explorer) DownloadAndInstallPlatformUpgrades( if err != nil { return nil, &cmderrors.PlatformNotFoundError{Platform: platformRef.String()} } - if err := pme.DownloadAndInstallPlatformAndTools(ctx, platformRelease, tools, downloadCB, taskCB, skipPostInstall, skipPreUninstall); err != nil { + if err := pme.DownloadAndInstallPlatformAndTools(ctx, platformRelease, tools, downloadCB, taskCB, skipPostInstall, skipPreUninstall, checks); err != nil { return nil, err } @@ -78,7 +80,7 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( ctx context.Context, platformRelease *cores.PlatformRelease, requiredTools []*cores.ToolRelease, downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, - skipPostInstall bool, skipPreUninstall bool) error { + skipPostInstall bool, skipPreUninstall bool, checks resources.IntegrityCheckMode) error { log := pme.log.WithField("platform", platformRelease) // Prerequisite checks before install @@ -106,7 +108,7 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( // Install tools first for _, tool := range toolsToInstall { - if err := pme.InstallTool(tool, taskCB, skipPostInstall); err != nil { + if err := pme.InstallTool(tool, taskCB, skipPostInstall, checks); err != nil { return err } } @@ -138,7 +140,7 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( } // Install - if err := pme.InstallPlatform(platformRelease); err != nil { + if err := pme.InstallPlatform(platformRelease, checks); err != nil { log.WithError(err).Error("Cannot install platform") return &cmderrors.FailedInstallError{Message: i18n.Tr("Cannot install platform"), Cause: err} } @@ -196,18 +198,18 @@ func (pme *Explorer) DownloadAndInstallPlatformAndTools( } // InstallPlatform installs a specific release of a platform. -func (pme *Explorer) InstallPlatform(platformRelease *cores.PlatformRelease) error { +func (pme *Explorer) InstallPlatform(platformRelease *cores.PlatformRelease, checks resources.IntegrityCheckMode) error { destDir := pme.PackagesDir.Join( platformRelease.Platform.Package.Name, "hardware", platformRelease.Platform.Architecture, platformRelease.Version.String()) - return pme.InstallPlatformInDirectory(platformRelease, destDir) + return pme.InstallPlatformInDirectory(platformRelease, destDir, checks) } // InstallPlatformInDirectory installs a specific release of a platform in a specific directory. -func (pme *Explorer) InstallPlatformInDirectory(platformRelease *cores.PlatformRelease, destDir *paths.Path) error { - if err := platformRelease.Resource.Install(pme.DownloadDir, pme.tempDir, destDir); err != nil { +func (pme *Explorer) InstallPlatformInDirectory(platformRelease *cores.PlatformRelease, destDir *paths.Path, checks resources.IntegrityCheckMode) error { + if err := platformRelease.Resource.Install(pme.DownloadDir, pme.tempDir, destDir, checks); err != nil { return errors.New(i18n.Tr("installing platform %[1]s: %[2]s", platformRelease, err)) } if d, err := destDir.Abs(); err == nil { @@ -320,7 +322,7 @@ func (pme *Explorer) UninstallPlatform(platformRelease *cores.PlatformRelease, t } // InstallTool installs a specific release of a tool. -func (pme *Explorer) InstallTool(toolRelease *cores.ToolRelease, taskCB rpc.TaskProgressCB, skipPostInstall bool) error { +func (pme *Explorer) InstallTool(toolRelease *cores.ToolRelease, taskCB rpc.TaskProgressCB, skipPostInstall bool, checks resources.IntegrityCheckMode) error { log := pme.log.WithField("Tool", toolRelease) if toolRelease.IsInstalled() { @@ -343,7 +345,7 @@ func (pme *Explorer) InstallTool(toolRelease *cores.ToolRelease, taskCB rpc.Task "tools", toolRelease.Tool.Name, toolRelease.Version.String()) - err := toolResource.Install(pme.DownloadDir, pme.tempDir, destDir) + err := toolResource.Install(pme.DownloadDir, pme.tempDir, destDir, checks) if err != nil { log.WithError(err).Warn("Cannot install tool") return &cmderrors.FailedInstallError{Message: i18n.Tr("Cannot install tool %s", toolRelease), Cause: err} diff --git a/internal/arduino/cores/packagemanager/profiles.go b/internal/arduino/cores/packagemanager/profiles.go index f4635950785..d11682b32c0 100644 --- a/internal/arduino/cores/packagemanager/profiles.go +++ b/internal/arduino/cores/packagemanager/profiles.go @@ -132,7 +132,7 @@ func (pmb *Builder) installMissingProfilePlatform(ctx context.Context, platformR // Perform install taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing platform %s", tmpPlatformRelease)}) - if err := tmpPme.InstallPlatformInDirectory(tmpPlatformRelease, destDir); err != nil { + if err := tmpPme.InstallPlatformInDirectory(tmpPlatformRelease, destDir, resources.IntegrityCheckFull); err != nil { taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error installing platform %s", tmpPlatformRelease)}) return &cmderrors.FailedInstallError{Message: i18n.Tr("Error installing platform %s", tmpPlatformRelease), Cause: err} } @@ -183,7 +183,7 @@ func (pmb *Builder) installMissingProfileTool(ctx context.Context, toolRelease * // Install tool taskCB(&rpc.TaskProgress{Name: i18n.Tr("Installing tool %s", toolRelease)}) - if err := toolResource.Install(pmb.DownloadDir, tmp, destDir); err != nil { + if err := toolResource.Install(pmb.DownloadDir, tmp, destDir, resources.IntegrityCheckFull); err != nil { taskCB(&rpc.TaskProgress{Name: i18n.Tr("Error installing tool %s", toolRelease)}) return &cmderrors.FailedInstallError{Message: i18n.Tr("Error installing tool %s", toolRelease), Cause: err} } diff --git a/internal/arduino/resources/install.go b/internal/arduino/resources/install.go index 0f517af1268..aa9a94e5248 100644 --- a/internal/arduino/resources/install.go +++ b/internal/arduino/resources/install.go @@ -26,18 +26,27 @@ import ( "go.bug.st/cleanup" ) +type IntegrityCheckMode int + +const ( + IntegrityCheckFull IntegrityCheckMode = iota + IntegrityCheckNone +) + // Install installs the resource in three steps: // - the archive is unpacked in a temporary subdir of tempPath // - there should be only one root dir in the unpacked content // - the only root dir is moved/renamed to/as the destination directory // Note that tempPath and destDir must be on the same filesystem partition // otherwise the last step will fail. -func (release *DownloadResource) Install(downloadDir, tempPath, destDir *paths.Path) error { - // Check the integrity of the package - if ok, err := release.TestLocalArchiveIntegrity(downloadDir); err != nil { - return errors.New(i18n.Tr("testing local archive integrity: %s", err)) - } else if !ok { - return errors.New(i18n.Tr("checking local archive integrity")) +func (release *DownloadResource) Install(downloadDir, tempPath, destDir *paths.Path, checks IntegrityCheckMode) error { + if checks != IntegrityCheckNone { + // Check the integrity of the package + if ok, err := release.TestLocalArchiveIntegrity(downloadDir); err != nil { + return errors.New(i18n.Tr("testing local archive integrity: %s", err)) + } else if !ok { + return errors.New(i18n.Tr("checking local archive integrity")) + } } // Create a temporary dir to extract package diff --git a/internal/arduino/resources/install_test.go b/internal/arduino/resources/install_test.go index ce17bcbd293..4db1a9aef22 100644 --- a/internal/arduino/resources/install_test.go +++ b/internal/arduino/resources/install_test.go @@ -44,7 +44,7 @@ func TestInstallPlatform(t *testing.T) { Size: 157, } - require.NoError(t, r.Install(downloadDir, tempPath, destDir)) + require.NoError(t, r.Install(downloadDir, tempPath, destDir, IntegrityCheckFull)) }) tests := []struct { @@ -82,7 +82,7 @@ func TestInstallPlatform(t *testing.T) { require.NoError(t, err) require.NoError(t, os.WriteFile(path.Join(downloadDir.String(), testFileName), origin, 0644)) - err = test.downloadResource.Install(downloadDir, tempPath, destDir) + err = test.downloadResource.Install(downloadDir, tempPath, destDir, IntegrityCheckFull) require.Error(t, err) require.Contains(t, err.Error(), test.error) }) diff --git a/internal/cli/configuration/board_manager.go b/internal/cli/configuration/board_manager.go index 22f982f5404..53f985eef90 100644 --- a/internal/cli/configuration/board_manager.go +++ b/internal/cli/configuration/board_manager.go @@ -21,3 +21,10 @@ func (settings *Settings) BoardManagerAdditionalUrls() []string { } return settings.Defaults.GetStringSlice("board_manager.additional_urls") } + +func (settings *Settings) BoardManagerEnableUnsafeInstall() bool { + if v, ok, _ := settings.GetBoolOk("board_manager.enable_unsafe_install"); ok { + return v + } + return settings.Defaults.GetBool("board_manager.enable_unsafe_install") +} diff --git a/internal/cli/configuration/configuration.schema.json b/internal/cli/configuration/configuration.schema.json index 4d129e5efd8..4ffdb9fafa4 100644 --- a/internal/cli/configuration/configuration.schema.json +++ b/internal/cli/configuration/configuration.schema.json @@ -13,6 +13,10 @@ "type": "string", "format": "uri" } + }, + "enable_unsafe_install": { + "description": "set to `true` to allow installation of packages that do not pass the checksum test. This is considered an unsafe installation method and should be used only for development purposes.", + "type": "boolean" } }, "type": "object" diff --git a/internal/cli/configuration/defaults.go b/internal/cli/configuration/defaults.go index 6e46e2a1564..4a6670f9480 100644 --- a/internal/cli/configuration/defaults.go +++ b/internal/cli/configuration/defaults.go @@ -41,6 +41,7 @@ func SetDefaults(settings *Settings) { // Boards Manager setDefaultValueAndKeyTypeSchema("board_manager.additional_urls", []string{}) + setDefaultValueAndKeyTypeSchema("board_manager.enable_unsafe_install", false) // arduino directories setDefaultValueAndKeyTypeSchema("directories.data", getDefaultArduinoDataDir()) diff --git a/internal/integrationtest/core/core_test.go b/internal/integrationtest/core/core_test.go index 635dce891d6..a27b5f6d15a 100644 --- a/internal/integrationtest/core/core_test.go +++ b/internal/integrationtest/core/core_test.go @@ -1366,3 +1366,20 @@ func TestCoreInstallWithWrongArchiveSize(t *testing.T) { _, _, err = cli.Run("--additional-urls", "https://raw.githubusercontent.com/geolink/opentracker-arduino-board/bf6158ebab0402db217bfb02ea61461ddc6f2940/package_opentracker_index.json", "core", "install", "opentracker:sam@1.0.5") require.NoError(t, err) } + +func TestCoreInstallWithMissingOrInvalidChecksumAndUnsafeInstallEnabled(t *testing.T) { + // See: https://github.com/arduino/arduino-cli/issues/1468 + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("--additional-urls", "https://raw.githubusercontent.com/keyboardio/ArduinoCore-GD32-Keyboardio/refs/heads/main/package_gd32_index.json", "core", "update-index") + require.NoError(t, err) + + _, _, err = cli.Run("--additional-urls", "https://raw.githubusercontent.com/keyboardio/ArduinoCore-GD32-Keyboardio/refs/heads/main/package_gd32_index.json", "core", "install", "GD32Community:gd32") + require.Error(t, err) + + _, _, err = cli.RunWithCustomEnv( + map[string]string{"ARDUINO_BOARD_MANAGER_ENABLE_UNSAFE_INSTALL": "true"}, + "--additional-urls", "https://raw.githubusercontent.com/keyboardio/ArduinoCore-GD32-Keyboardio/refs/heads/main/package_gd32_index.json", "core", "install", "GD32Community:gd32") + require.NoError(t, err) +} From 489a34275d08c3b84e846f79d5be4b19d761f45e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 14:29:17 +0100 Subject: [PATCH 309/361] [skip changelog] Bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14 (#2808) * [skip changelog] Bump github.com/mattn/go-colorable Bumps [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable) from 0.1.13 to 0.1.14. - [Commits](https://github.com/mattn/go-colorable/compare/v0.1.13...v0.1.14) --- updated-dependencies: - dependency-name: github.com/mattn/go-colorable dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * generate licensed file --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .licenses/go/github.com/mattn/go-colorable.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 6 ++---- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.licenses/go/github.com/mattn/go-colorable.dep.yml b/.licenses/go/github.com/mattn/go-colorable.dep.yml index dab73bc8865..be6df443687 100644 --- a/.licenses/go/github.com/mattn/go-colorable.dep.yml +++ b/.licenses/go/github.com/mattn/go-colorable.dep.yml @@ -1,9 +1,9 @@ --- name: github.com/mattn/go-colorable -version: v0.1.13 +version: v0.1.14 type: go -summary: -homepage: https://pkg.go.dev/github.com/mattn/go-colorable +summary: +homepage: https://godoc.org/github.com/mattn/go-colorable license: mit licenses: - sources: LICENSE diff --git a/go.mod b/go.mod index 5a679dc5803..7bdca864771 100644 --- a/go.mod +++ b/go.mod @@ -25,7 +25,7 @@ require ( github.com/leonelquinteros/gotext v1.7.0 github.com/mailru/easyjson v0.7.7 github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 - github.com/mattn/go-colorable v0.1.13 + github.com/mattn/go-colorable v0.1.14 github.com/mattn/go-isatty v0.0.20 github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 github.com/rogpeppe/go-internal v1.13.1 diff --git a/go.sum b/go.sum index 84134b6f303..0bd81c06cf7 100644 --- a/go.sum +++ b/go.sum @@ -122,10 +122,9 @@ github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0V github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 h1:hyAgCuG5nqTMDeUD8KZs7HSPs6KprPgPP8QmGV8nyvk= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84/go.mod h1:Pb6XcsXyropB9LNHhnqaknG/vEwYztLkQzVCHv8sQ3M= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= +github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= @@ -261,7 +260,6 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= From f47399b0bb8aa41992096fae80a123141052bd67 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 14:47:49 +0100 Subject: [PATCH 310/361] [skip changelog] Bump github.com/ProtonMail/go-crypto from 1.1.3 to 1.1.4 (#2805) * [skip changelog] Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 1.1.3 to 1.1.4. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/compare/v1.1.3...v1.1.4) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * generate licensed stuff --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .../github.com/ProtonMail/go-crypto/bitcurves.dep.yml | 10 +++++----- .../github.com/ProtonMail/go-crypto/brainpool.dep.yml | 8 ++++---- .../go/github.com/ProtonMail/go-crypto/eax.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/internal/byteutil.dep.yml | 10 +++++----- .../go/github.com/ProtonMail/go-crypto/ocb.dep.yml | 8 ++++---- .../go/github.com/ProtonMail/go-crypto/openpgp.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/armor.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ecdsa.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ed25519.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ed448.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/eddsa.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/elgamal.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/errors.dep.yml | 8 ++++---- .../go-crypto/openpgp/internal/algorithm.dep.yml | 10 +++++----- .../ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml | 8 ++++---- .../go-crypto/openpgp/internal/encoding.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/packet.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/s2k.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/x25519.dep.yml | 10 +++++----- .../ProtonMail/go-crypto/openpgp/x448.dep.yml | 10 +++++----- go.mod | 2 +- go.sum | 4 ++-- 24 files changed, 96 insertions(+), 96 deletions(-) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index c32f3f6ca50..2721b5f5f4d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.3 +version: v1.1.4 type: go -summary: -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves +summary: +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index ece0a236a51..50d844d7a6b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.3 +version: v1.1.4 type: go summary: Package brainpool implements Brainpool elliptic curves. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index ebbd1794c88..91f5291e027 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,15 +1,15 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.3 +version: v1.1.4 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF OPERATION: A TWO-PASS AUTHENTICATED-ENCRYPTION SCHEME OPTIMIZED FOR SIMPLICITY AND EFFICIENCY." In FSE''04, volume 3017 of LNCS, 2004' -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index ed7505c35c0..9b088dc2ecd 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.3 +version: v1.1.4 type: go -summary: -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil +summary: +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index 4527d6c1be7..ef2e76223c4 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,15 +1,15 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.3 +version: v1.1.4 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black and Krovetz - OCB: A BLOCK-CIPHER MODE OF OPERATION FOR EFFICIENT AUTHENTICATED ENCRYPTION (2003).' -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index d5fcf20bdd9..aede467bb82 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.3 +version: v1.1.4 type: go summary: Package openpgp implements high level operations on OpenPGP messages. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index ab81777fe44..a33061750a9 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.3 +version: v1.1.4 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index 9cd23dbb91c..f12c883a074 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.3 +version: v1.1.4 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 8498e668cb0..b3762a4669b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.3 +version: v1.1.4 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index d61879a98bf..a03cedd39a0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.3 +version: v1.1.4 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index 753270a7c56..86f7eaaddbb 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.3 +version: v1.1.4 type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index a87223c33c7..5cdeb68e8f0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.3 +version: v1.1.4 type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index 09dc6e7c598..89fcc6ad35b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.3 +version: v1.1.4 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index 3375a9b6a48..19c93574f94 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,14 +1,14 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.3 +version: v1.1.4 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index e2b7ce0b203..9f4a3f420bc 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.3 +version: v1.1.4 type: go summary: Package errors contains common error types for the OpenPGP packages. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index cfc20fc811a..fc627b0c4dd 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.3 +version: v1.1.4 type: go -summary: -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm +summary: +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index bfe95bfe1c7..a638e29541f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.3 +version: v1.1.4 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 8dddaabb28a..46e4f5abcfb 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.3 +version: v1.1.4 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index a0bc2a39669..db4d969a89d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.3 +version: v1.1.4 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index a422301be51..dc18f0960b0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,14 +1,14 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.3 +version: v1.1.4 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 section 3.7.1.4. -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index a91b50578a8..725daeda3fc 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.3 +version: v1.1.4 type: go -summary: -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 +summary: +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index 5e33469374e..d993d1fe7a2 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.3 +version: v1.1.4 type: go -summary: -homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 +summary: +homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.3/LICENSE +- sources: go-crypto@v1.1.4/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.3/PATENTS +- sources: go-crypto@v1.1.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 7bdca864771..a91b66db14c 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( fortio.org/safecast v1.0.0 - github.com/ProtonMail/go-crypto v1.1.3 + github.com/ProtonMail/go-crypto v1.1.4 github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 diff --git a/go.sum b/go.sum index 0bd81c06cf7..02f66e95f11 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,8 @@ fortio.org/safecast v1.0.0/go.mod h1:xZmcPk3vi4kuUFf+tq4SvnlVdwViqf6ZSZl91Jr9Jdg github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/ProtonMail/go-crypto v1.1.3 h1:nRBOetoydLeUb4nHajyO2bKqMLfWQ/ZPwkXqXxPxCFk= -github.com/ProtonMail/go-crypto v1.1.3/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.4 h1:G5U5asvD5N/6/36oIw3k2bOfBn5XVcZrb7PBjzzKKoE= +github.com/ProtonMail/go-crypto v1.1.4/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= From 3d55e575748decaf23857157dbdcadd6e0a65923 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 20 Jan 2025 11:17:10 +0100 Subject: [PATCH 311/361] [skip-changelog] Fixed URL http -> https in integration tests. (#2819) --- internal/integrationtest/board/board_test.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/integrationtest/board/board_test.go b/internal/integrationtest/board/board_test.go index 0541f1a5c0f..db5a7ff200b 100644 --- a/internal/integrationtest/board/board_test.go +++ b/internal/integrationtest/board/board_test.go @@ -300,17 +300,17 @@ func TestBoardDetails(t *testing.T) { "package": { "maintainer": "Arduino", "url": "https://downloads.arduino.cc/packages/package_index.tar.bz2", - "website_url": "http://www.arduino.cc/", + "website_url": "https://www.arduino.cc/", "email": "packages@arduino.cc", "name": "arduino", "help": { - "online": "http://www.arduino.cc/en/Reference/HomePage" + "online": "https://www.arduino.cc/en/Reference/HomePage" } }, "platform": { "architecture": "samd", "category": "Arduino", - "url": "http://downloads.arduino.cc/cores/core-ArduinoCore-samd-1.8.13.tar.bz2", + "url": "https://downloads.arduino.cc/cores/core-ArduinoCore-samd-1.8.13.tar.bz2", "archive_filename": "core-ArduinoCore-samd-1.8.13.tar.bz2", "checksum": "SHA-256:47d44c80a5fd4ea224eb64fd676169e896caa6856f338d78feb4a12d42b4ea67", "size": 3074191, @@ -319,8 +319,8 @@ func TestBoardDetails(t *testing.T) { "programmers": [ { "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", - "id": "jlink", - "name": "Segger J-Link" + "id": "atmel_ice", + "name": "Atmel-ICE" }, { "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", @@ -329,8 +329,8 @@ func TestBoardDetails(t *testing.T) { }, { "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", - "id": "atmel_ice", - "name": "Atmel-ICE" + "id": "jlink", + "name": "Segger J-Link" }, { "platform": "Arduino SAMD Boards (32-bits ARM Cortex-M0+)", From e9092ccad473288cc1f51c7e5f23ce1a54844761 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 20 Jan 2025 11:43:19 +0100 Subject: [PATCH 312/361] Fixed panic if malformed 3rd party url is specified (#2817) --- commands/instances.go | 18 +++++++++--------- internal/integrationtest/config/config_test.go | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index 368f54813ce..d5534494bae 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -534,9 +534,9 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream return &cmderrors.InvalidInstanceError{} } - report := func(indexURL *url.URL, status rpc.IndexUpdateReport_Status) *rpc.IndexUpdateReport { + report := func(indexURL string, status rpc.IndexUpdateReport_Status) *rpc.IndexUpdateReport { return &rpc.IndexUpdateReport{ - IndexUrl: indexURL.String(), + IndexUrl: indexURL, Status: status, } } @@ -564,7 +564,7 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream downloadCB.Start(u, i18n.Tr("Downloading index: %s", u)) downloadCB.End(false, msg) failed = true - result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(u, rpc.IndexUpdateReport_STATUS_FAILED)) continue } @@ -582,9 +582,9 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream downloadCB.Start(u, i18n.Tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, msg) failed = true - result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(u, rpc.IndexUpdateReport_STATUS_FAILED)) } else { - result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_SKIPPED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(u, rpc.IndexUpdateReport_STATUS_SKIPPED)) } continue } @@ -596,14 +596,14 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream downloadCB.Start(u, i18n.Tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, i18n.Tr("Invalid index URL: %s", err)) failed = true - result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(u, rpc.IndexUpdateReport_STATUS_FAILED)) continue } indexFile := indexpath.Join(indexFileName) if info, err := indexFile.Stat(); err == nil { ageSecs := int64(time.Since(info.ModTime()).Seconds()) if ageSecs < req.GetUpdateIfOlderThanSecs() { - result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(u, rpc.IndexUpdateReport_STATUS_ALREADY_UP_TO_DATE)) continue } } @@ -622,9 +622,9 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream } if err := indexResource.Download(stream.Context(), indexpath, downloadCB, config); err != nil { failed = true - result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_FAILED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(u, rpc.IndexUpdateReport_STATUS_FAILED)) } else { - result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(URL, rpc.IndexUpdateReport_STATUS_UPDATED)) + result.UpdatedIndexes = append(result.GetUpdatedIndexes(), report(u, rpc.IndexUpdateReport_STATUS_UPDATED)) } } syncSend.Send(&rpc.UpdateIndexResponse{ diff --git a/internal/integrationtest/config/config_test.go b/internal/integrationtest/config/config_test.go index bd19d0545c2..d7b4104a095 100644 --- a/internal/integrationtest/config/config_test.go +++ b/internal/integrationtest/config/config_test.go @@ -944,3 +944,18 @@ func TestI18N(t *testing.T) { require.NoError(t, err) require.Contains(t, string(out), "Available Commands") } + +func TestCoreUpdateWithInvalidIndexURL(t *testing.T) { + // https://github.com/arduino/arduino-cli/issues/2786 + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + t.Cleanup(env.CleanUp) + + _, _, err := cli.Run("config", "init") + require.NoError(t, err) + _, _, err = cli.Run("config", "set", "board_manager.additional_urls", "foo=https://espressif.github.io/arduino-esp32/package_esp32_index.json") + require.NoError(t, err) + _, stdErr, err := cli.Run("core", "update-index") + require.Error(t, err) + require.Contains(t, string(stdErr), `Error initializing instance: Some indexes could not be updated.`) + require.Contains(t, string(stdErr), `Invalid additional URL: parse "foo=https://espressif.github.io/arduino-esp32/package_esp32_index.json"`) +} From c562ff32fe3c85c0f5b7abeaf83249fc277af6c2 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Wed, 22 Jan 2025 12:11:33 +0100 Subject: [PATCH 313/361] [skip-changelog] Removed direct links to gnu.org because the site is often down (#2821) and it makes the linkcheck job to fail. --- README.md | 3 +-- docs/FAQ.md | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 18633011a45..277f36a3a37 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ e-mail contact: security@arduino.cc ## License -Arduino CLI is licensed under the [GPL 3.0] license. +Arduino CLI is licensed under the GPL-3.0 license. You can be released from the requirements of the above license 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 @@ -59,4 +59,3 @@ license@arduino.cc [contributors]: https://github.com/arduino/arduino-cli/graphs/contributors [nightly builds]: https://arduino.github.io/arduino-cli/latest/installation/#nightly-builds [security policy]: https://github.com/arduino/arduino-cli/security/policy -[gpl 3.0]: https://www.gnu.org/licenses/gpl-3.0.en.html diff --git a/docs/FAQ.md b/docs/FAQ.md index f52e8d2b9d4..ebd50812830 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -27,8 +27,8 @@ Additional board options have to be separated by commas (instead of colon): The serial monitor is available through the [monitor command][monitor command]. By the way, the functionality provided by this command is very limited and you may want to look for other tools if you need more advanced functionality. -There are many excellent serial terminals to chose from. On Linux or macOS, you may already have [screen][screen] -installed. On Windows, a good choice for command line usage is Plink, included with [PuTTY][putty]. +There are many excellent serial terminals to chose from. On Linux or macOS, you may already have `screen` installed. On +Windows, a good choice for command line usage is Plink, included with [PuTTY][putty]. ## How to change monitor configuration? @@ -60,7 +60,6 @@ If your question wasn't answered, feel free to ask on [Arduino CLI's forum board [arduino cli board list]: commands/arduino-cli_board_list.md [0]: platform-specification.md [1]: https://forum.arduino.cc/c/software/arduino-cli/89 -[screen]: https://www.gnu.org/software/screen/manual/screen.html [putty]: https://www.chiark.greenend.org.uk/~sgtatham/putty/ [monitor command]: commands/arduino-cli_monitor.md [configuration parameters]: pluggable-monitor-specification.md#describe-command From c5cfe4ac16cc5f2126bab810477aded9719b70ef Mon Sep 17 00:00:00 2001 From: MatteoPologruto <109663225+MatteoPologruto@users.noreply.github.com> Date: Thu, 23 Jan 2025 17:41:28 +0100 Subject: [PATCH 314/361] Add metadata retrieved from the `context` to the user agent when a new HTTP client is created (#2789) * Set the extra user agent when a new rpc instance is created * Add integration test * Moved user-agent extraction deep in configuration.HttpClient This allows the extraction of the user-agent in a single place. Also it forces the context passing on all operations that requires access to network. * Updated integration test * Restore previous user-agent for package manager * Apply review suggestions to the integration test --------- Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- commands/instances.go | 8 +-- commands/service_board_identify.go | 18 +++--- commands/service_board_identify_test.go | 15 ++--- commands/service_check_for_updates.go | 6 +- commands/service_library_download.go | 12 ++-- internal/arduino/resources/helpers_test.go | 2 +- internal/cli/configuration/network.go | 17 ++++-- internal/cli/configuration/network_test.go | 7 ++- internal/integrationtest/arduino-cli.go | 6 +- .../integrationtest/daemon/daemon_test.go | 59 +++++++++++++++++++ internal/integrationtest/http_server.go | 2 +- 11 files changed, 115 insertions(+), 37 deletions(-) diff --git a/commands/instances.go b/commands/instances.go index d5534494bae..5b5fe09fcdb 100644 --- a/commands/instances.go +++ b/commands/instances.go @@ -89,7 +89,7 @@ func (s *arduinoCoreServerImpl) Create(ctx context.Context, req *rpc.CreateReque } } - config, err := s.settings.DownloaderConfig() + config, err := s.settings.DownloaderConfig(ctx) if err != nil { return nil, err } @@ -377,7 +377,7 @@ func (s *arduinoCoreServerImpl) Init(req *rpc.InitRequest, stream rpc.ArduinoCor responseError(err.GRPCStatus()) continue } - config, err := s.settings.DownloaderConfig() + config, err := s.settings.DownloaderConfig(ctx) if err != nil { taskCallback(&rpc.TaskProgress{Name: i18n.Tr("Error downloading library %s", libraryRef)}) e := &cmderrors.FailedLibraryInstallError{Cause: err} @@ -498,7 +498,7 @@ func (s *arduinoCoreServerImpl) UpdateLibrariesIndex(req *rpc.UpdateLibrariesInd } // Perform index update - config, err := s.settings.DownloaderConfig() + config, err := s.settings.DownloaderConfig(stream.Context()) if err != nil { return err } @@ -608,7 +608,7 @@ func (s *arduinoCoreServerImpl) UpdateIndex(req *rpc.UpdateIndexRequest, stream } } - config, err := s.settings.DownloaderConfig() + config, err := s.settings.DownloaderConfig(stream.Context()) if err != nil { downloadCB.Start(u, i18n.Tr("Downloading index: %s", filepath.Base(URL.Path))) downloadCB.End(false, i18n.Tr("Invalid network configuration: %s", err)) diff --git a/commands/service_board_identify.go b/commands/service_board_identify.go index 2f4b1f54dce..787de81cee3 100644 --- a/commands/service_board_identify.go +++ b/commands/service_board_identify.go @@ -48,7 +48,7 @@ func (s *arduinoCoreServerImpl) BoardIdentify(ctx context.Context, req *rpc.Boar defer release() props := properties.NewFromHashmap(req.GetProperties()) - res, err := identify(pme, props, s.settings, !req.GetUseCloudApiForUnknownBoardDetection()) + res, err := identify(ctx, pme, props, s.settings, !req.GetUseCloudApiForUnknownBoardDetection()) if err != nil { return nil, err } @@ -58,7 +58,7 @@ func (s *arduinoCoreServerImpl) BoardIdentify(ctx context.Context, req *rpc.Boar } // identify returns a list of boards checking first the installed platforms or the Cloud API -func identify(pme *packagemanager.Explorer, properties *properties.Map, settings *configuration.Settings, skipCloudAPI bool) ([]*rpc.BoardListItem, error) { +func identify(ctx context.Context, pme *packagemanager.Explorer, properties *properties.Map, settings *configuration.Settings, skipCloudAPI bool) ([]*rpc.BoardListItem, error) { if properties == nil { return nil, nil } @@ -90,7 +90,7 @@ func identify(pme *packagemanager.Explorer, properties *properties.Map, settings // if installed cores didn't recognize the board, try querying // the builder API if the board is a USB device port if len(boards) == 0 && !skipCloudAPI && !settings.SkipCloudApiForBoardDetection() { - items, err := identifyViaCloudAPI(properties, settings) + items, err := identifyViaCloudAPI(ctx, properties, settings) if err != nil { // this is bad, but keep going logrus.WithError(err).Debug("Error querying builder API") @@ -119,14 +119,14 @@ func identify(pme *packagemanager.Explorer, properties *properties.Map, settings return boards, nil } -func identifyViaCloudAPI(props *properties.Map, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { +func identifyViaCloudAPI(ctx context.Context, props *properties.Map, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { // If the port is not USB do not try identification via cloud if !props.ContainsKey("vid") || !props.ContainsKey("pid") { return nil, nil } logrus.Debug("Querying builder API for board identification...") - return cachedAPIByVidPid(props.Get("vid"), props.Get("pid"), settings) + return cachedAPIByVidPid(ctx, props.Get("vid"), props.Get("pid"), settings) } var ( @@ -134,7 +134,7 @@ var ( validVidPid = regexp.MustCompile(`0[xX][a-fA-F\d]{4}`) ) -func cachedAPIByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { +func cachedAPIByVidPid(ctx context.Context, vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { var resp []*rpc.BoardListItem cacheKey := fmt.Sprintf("cache.builder-api.v3/boards/byvid/pid/%s/%s", vid, pid) @@ -148,7 +148,7 @@ func cachedAPIByVidPid(vid, pid string, settings *configuration.Settings) ([]*rp } } - resp, err := apiByVidPid(vid, pid, settings) // Perform API requrest + resp, err := apiByVidPid(ctx, vid, pid, settings) // Perform API requrest if err == nil { if cachedResp, err := json.Marshal(resp); err == nil { @@ -160,7 +160,7 @@ func cachedAPIByVidPid(vid, pid string, settings *configuration.Settings) ([]*rp return resp, err } -func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { +func apiByVidPid(ctx context.Context, vid, pid string, settings *configuration.Settings) ([]*rpc.BoardListItem, error) { // ensure vid and pid are valid before hitting the API if !validVidPid.MatchString(vid) { return nil, errors.New(i18n.Tr("Invalid vid value: '%s'", vid)) @@ -173,7 +173,7 @@ func apiByVidPid(vid, pid string, settings *configuration.Settings) ([]*rpc.Boar req, _ := http.NewRequest("GET", url, nil) req.Header.Set("Content-Type", "application/json") - httpClient, err := settings.NewHttpClient() + httpClient, err := settings.NewHttpClient(ctx) if err != nil { return nil, fmt.Errorf("%s: %w", i18n.Tr("failed to initialize http client"), err) } diff --git a/commands/service_board_identify_test.go b/commands/service_board_identify_test.go index 98dc8e40278..31687359885 100644 --- a/commands/service_board_identify_test.go +++ b/commands/service_board_identify_test.go @@ -16,6 +16,7 @@ package commands import ( + "context" "fmt" "net/http" "net/http/httptest" @@ -48,7 +49,7 @@ func TestGetByVidPid(t *testing.T) { vidPidURL = ts.URL settings := configuration.NewSettings() - res, err := apiByVidPid("0xf420", "0XF069", settings) + res, err := apiByVidPid(context.Background(), "0xf420", "0XF069", settings) require.Nil(t, err) require.Len(t, res, 1) require.Equal(t, "Arduino/Genuino MKR1000", res[0].GetName()) @@ -56,7 +57,7 @@ func TestGetByVidPid(t *testing.T) { // wrong vid (too long), wrong pid (not an hex value) - _, err = apiByVidPid("0xfffff", "0xDEFG", settings) + _, err = apiByVidPid(context.Background(), "0xfffff", "0xDEFG", settings) require.NotNil(t, err) } @@ -69,7 +70,7 @@ func TestGetByVidPidNotFound(t *testing.T) { defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069", settings) + res, err := apiByVidPid(context.Background(), "0x0420", "0x0069", settings) require.NoError(t, err) require.Empty(t, res) } @@ -84,7 +85,7 @@ func TestGetByVidPid5xx(t *testing.T) { defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069", settings) + res, err := apiByVidPid(context.Background(), "0x0420", "0x0069", settings) require.NotNil(t, err) require.Equal(t, "the server responded with status 500 Internal Server Error", err.Error()) require.Len(t, res, 0) @@ -99,7 +100,7 @@ func TestGetByVidPidMalformedResponse(t *testing.T) { defer ts.Close() vidPidURL = ts.URL - res, err := apiByVidPid("0x0420", "0x0069", settings) + res, err := apiByVidPid(context.Background(), "0x0420", "0x0069", settings) require.NotNil(t, err) require.Equal(t, "wrong format in server response", err.Error()) require.Len(t, res, 0) @@ -107,7 +108,7 @@ func TestGetByVidPidMalformedResponse(t *testing.T) { func TestBoardDetectionViaAPIWithNonUSBPort(t *testing.T) { settings := configuration.NewSettings() - items, err := identifyViaCloudAPI(properties.NewMap(), settings) + items, err := identifyViaCloudAPI(context.Background(), properties.NewMap(), settings) require.NoError(t, err) require.Empty(t, items) } @@ -156,7 +157,7 @@ func TestBoardIdentifySorting(t *testing.T) { defer release() settings := configuration.NewSettings() - res, err := identify(pme, idPrefs, settings, true) + res, err := identify(context.Background(), pme, idPrefs, settings, true) require.NoError(t, err) require.NotNil(t, res) require.Len(t, res, 4) diff --git a/commands/service_check_for_updates.go b/commands/service_check_for_updates.go index 2b5c7a51b4e..cce5a4a02a1 100644 --- a/commands/service_check_for_updates.go +++ b/commands/service_check_for_updates.go @@ -43,7 +43,7 @@ func (s *arduinoCoreServerImpl) CheckForArduinoCLIUpdates(ctx context.Context, r inventory.WriteStore() }() - latestVersion, err := semver.Parse(s.getLatestRelease()) + latestVersion, err := semver.Parse(s.getLatestRelease(ctx)) if err != nil { return nil, err } @@ -82,8 +82,8 @@ func (s *arduinoCoreServerImpl) shouldCheckForUpdate(currentVersion *semver.Vers // getLatestRelease queries the official Arduino download server for the latest release, // if there are no errors or issues a version string is returned, in all other case an empty string. -func (s *arduinoCoreServerImpl) getLatestRelease() string { - client, err := s.settings.NewHttpClient() +func (s *arduinoCoreServerImpl) getLatestRelease(ctx context.Context) string { + client, err := s.settings.NewHttpClient(ctx) if err != nil { return "" } diff --git a/commands/service_library_download.go b/commands/service_library_download.go index 2384d59396f..4253be8cca1 100644 --- a/commands/service_library_download.go +++ b/commands/service_library_download.go @@ -82,11 +82,15 @@ func (s *arduinoCoreServerImpl) LibraryDownload(req *rpc.LibraryDownloadRequest, }) } -func downloadLibrary(ctx context.Context, downloadsDir *paths.Path, libRelease *librariesindex.Release, - downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, queryParameter string, settings *configuration.Settings) error { - +func downloadLibrary( + ctx context.Context, + downloadsDir *paths.Path, libRelease *librariesindex.Release, + downloadCB rpc.DownloadProgressCB, taskCB rpc.TaskProgressCB, + queryParameter string, + settings *configuration.Settings, +) error { taskCB(&rpc.TaskProgress{Name: i18n.Tr("Downloading %s", libRelease)}) - config, err := settings.DownloaderConfig() + config, err := settings.DownloaderConfig(ctx) if err != nil { return &cmderrors.FailedDownloadError{Message: i18n.Tr("Can't download library"), Cause: err} } diff --git a/internal/arduino/resources/helpers_test.go b/internal/arduino/resources/helpers_test.go index 611de8dd518..ad1d6805254 100644 --- a/internal/arduino/resources/helpers_test.go +++ b/internal/arduino/resources/helpers_test.go @@ -55,7 +55,7 @@ func TestDownloadApplyUserAgentHeaderUsingConfig(t *testing.T) { settings := configuration.NewSettings() settings.Set("network.user_agent_ext", goldUserAgentValue) - config, err := settings.DownloaderConfig() + config, err := settings.DownloaderConfig(context.Background()) require.NoError(t, err) err = r.Download(context.Background(), tmp, config, "", func(progress *rpc.DownloadProgress) {}, "") require.NoError(t, err) diff --git a/internal/cli/configuration/network.go b/internal/cli/configuration/network.go index c570d0a3b82..43b502a03fb 100644 --- a/internal/cli/configuration/network.go +++ b/internal/cli/configuration/network.go @@ -16,18 +16,21 @@ package configuration import ( + "context" "errors" "fmt" "net/http" "net/url" "os" "runtime" + "strings" "time" "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/arduino-cli/internal/version" "go.bug.st/downloader/v2" + "google.golang.org/grpc/metadata" ) // UserAgent returns the user agent (mainly used by HTTP clients) @@ -84,17 +87,23 @@ func (settings *Settings) NetworkProxy() (*url.URL, error) { } // NewHttpClient returns a new http client for use in the arduino-cli -func (settings *Settings) NewHttpClient() (*http.Client, error) { +func (settings *Settings) NewHttpClient(ctx context.Context) (*http.Client, error) { proxy, err := settings.NetworkProxy() if err != nil { return nil, err } + userAgent := settings.UserAgent() + if md, ok := metadata.FromIncomingContext(ctx); ok { + if extraUserAgent := strings.Join(md.Get("user-agent"), " "); extraUserAgent != "" { + userAgent += " " + extraUserAgent + } + } return &http.Client{ Transport: &httpClientRoundTripper{ transport: &http.Transport{ Proxy: http.ProxyURL(proxy), }, - userAgent: settings.UserAgent(), + userAgent: userAgent, }, Timeout: settings.ConnectionTimeout(), }, nil @@ -111,8 +120,8 @@ func (h *httpClientRoundTripper) RoundTrip(req *http.Request) (*http.Response, e } // DownloaderConfig returns the downloader configuration based on current settings. -func (settings *Settings) DownloaderConfig() (downloader.Config, error) { - httpClient, err := settings.NewHttpClient() +func (settings *Settings) DownloaderConfig(ctx context.Context) (downloader.Config, error) { + httpClient, err := settings.NewHttpClient(ctx) if err != nil { return downloader.Config{}, &cmderrors.InvalidArgumentError{ Message: i18n.Tr("Could not connect via HTTP"), diff --git a/internal/cli/configuration/network_test.go b/internal/cli/configuration/network_test.go index 68cc84fdd59..563c0414589 100644 --- a/internal/cli/configuration/network_test.go +++ b/internal/cli/configuration/network_test.go @@ -16,6 +16,7 @@ package configuration_test import ( + "context" "fmt" "io" "net/http" @@ -35,7 +36,7 @@ func TestUserAgentHeader(t *testing.T) { settings := configuration.NewSettings() require.NoError(t, settings.Set("network.user_agent_ext", "test-user-agent")) - client, err := settings.NewHttpClient() + client, err := settings.NewHttpClient(context.Background()) require.NoError(t, err) request, err := http.NewRequest("GET", ts.URL, nil) @@ -59,7 +60,7 @@ func TestProxy(t *testing.T) { settings := configuration.NewSettings() settings.Set("network.proxy", ts.URL) - client, err := settings.NewHttpClient() + client, err := settings.NewHttpClient(context.Background()) require.NoError(t, err) request, err := http.NewRequest("GET", "http://arduino.cc", nil) @@ -83,7 +84,7 @@ func TestConnectionTimeout(t *testing.T) { if timeout != 0 { require.NoError(t, settings.Set("network.connection_timeout", "2s")) } - client, err := settings.NewHttpClient() + client, err := settings.NewHttpClient(context.Background()) require.NoError(t, err) request, err := http.NewRequest("GET", "http://arduino.cc", nil) diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index c157a57d7a2..5236449d09a 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -450,7 +450,11 @@ func (cli *ArduinoCLI) StartDaemon(verbose bool) string { for retries := 5; retries > 0; retries-- { time.Sleep(time.Second) - conn, err := grpc.NewClient(cli.daemonAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) + conn, err := grpc.NewClient( + cli.daemonAddr, + grpc.WithTransportCredentials(insecure.NewCredentials()), + grpc.WithUserAgent("cli-test/0.0.0"), + ) if err != nil { connErr = err continue diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 47225784361..c90c5c7ac61 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -20,6 +20,10 @@ import ( "errors" "fmt" "io" + "maps" + "net/http" + "net/http/httptest" + "strings" "testing" "time" @@ -555,6 +559,61 @@ func TestDaemonCoreUpgradePlatform(t *testing.T) { }) } +func TestDaemonUserAgent(t *testing.T) { + env, cli := integrationtest.CreateEnvForDaemon(t) + defer env.CleanUp() + + // Set up an http server to serve our custom index file + // The user-agent is tested inside the HTTPServeFile function + test_index := paths.New("..", "testdata", "test_index.json") + url := env.HTTPServeFile(8000, test_index) + ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + // Test that the user-agent contains metadata from the context when the CLI is in daemon mode + userAgent := r.Header.Get("User-Agent") + + require.Contains(t, userAgent, "cli-test/0.0.0") + require.Contains(t, userAgent, "grpc-go") + // Depends on how we built the client we may have git-snapshot or 0.0.0-git in dev releases + require.Condition(t, func() (success bool) { + return strings.Contains(userAgent, "arduino-cli/git-snapshot") || + strings.Contains(userAgent, "arduino-cli/0.0.0-git") + }) + + proxiedReq, err := http.NewRequest(r.Method, url.String(), r.Body) + require.NoError(t, err) + maps.Copy(proxiedReq.Header, r.Header) + + proxiedResp, err := http.DefaultTransport.RoundTrip(proxiedReq) + require.NoError(t, err) + defer proxiedResp.Body.Close() + + // Copy the headers from the proxy response to the original response + maps.Copy(r.Header, proxiedReq.Header) + w.WriteHeader(proxiedResp.StatusCode) + io.Copy(w, proxiedResp.Body) + })) + defer ts.Close() + + grpcInst := cli.Create() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + // Set extra indexes + additionalURL := ts.URL + "/test_index.json" + err := cli.SetValue("board_manager.additional_urls", fmt.Sprintf(`["%s"]`, additionalURL)) + require.NoError(t, err) + + { + cl, err := grpcInst.UpdateIndex(context.Background(), false) + require.NoError(t, err) + res, err := analyzeUpdateIndexClient(t, cl) + require.NoError(t, err) + require.Len(t, res, 2) + require.True(t, res[additionalURL].GetSuccess()) + } +} + func analyzeUpdateIndexClient(t *testing.T, cl commands.ArduinoCoreService_UpdateIndexClient) (map[string]*commands.DownloadProgressEnd, error) { analyzer := NewDownloadProgressAnalyzer(t) for { diff --git a/internal/integrationtest/http_server.go b/internal/integrationtest/http_server.go index c5f06e9557a..dc6fd98e099 100644 --- a/internal/integrationtest/http_server.go +++ b/internal/integrationtest/http_server.go @@ -27,6 +27,7 @@ import ( // HTTPServeFile spawn an http server that serve a single file. The server // is started on the given port. The URL to the file and a cleanup function are returned. func (env *Environment) HTTPServeFile(port uint16, path *paths.Path) *url.URL { + t := env.T() mux := http.NewServeMux() mux.HandleFunc("/"+path.Base(), func(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, path.String()) @@ -36,7 +37,6 @@ func (env *Environment) HTTPServeFile(port uint16, path *paths.Path) *url.URL { Handler: mux, } - t := env.T() fileURL, err := url.Parse(fmt.Sprintf("http://127.0.0.1:%d/%s", port, path.Base())) require.NoError(t, err) From 92fae9ca224677e16c4a8401e310eb0c99dfbafa Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 24 Jan 2025 15:52:47 +0100 Subject: [PATCH 315/361] On compile command: implemented `--quiet` flag / removed libraries recap on default verbosity level. (#2820) * Made builder logger verbosity an explicit type * Compile with --quiet flag set will not output final stats * Suppress size output if --quiet is specified * Added -q shortcut to --quiet flag in compile command * Compile recap is hidden also on a successful compile with default verbosity * Made --quiet and --verbose mutually exclusive * Output 'ctags' command line to stdout instead of stderr * Do not output empty lines if the message is empty * Added integration tests * Use internal function to check for arguments exclusivity Because it has a better error message than the cobra-provided one: Can't use the following flags together: --quiet, --verbose Instead of: Error: if any flags in the group [quiet verbose] are set none of the others can be; [quiet verbose] were all set --- commands/service_compile.go | 10 +- .../arduino/builder/archive_compiled_files.go | 5 +- internal/arduino/builder/builder.go | 18 +-- internal/arduino/builder/compilation.go | 7 +- internal/arduino/builder/core.go | 7 +- .../builder/internal/detector/detector.go | 18 +-- .../builder/internal/preprocessor/ctags.go | 15 ++- internal/arduino/builder/libraries.go | 5 +- internal/arduino/builder/linker.go | 3 +- .../builder/{internal => }/logger/logger.go | 29 +++-- internal/arduino/builder/preprocess_sketch.go | 6 +- internal/arduino/builder/recipe.go | 3 +- internal/arduino/builder/sizer.go | 33 +++--- internal/arduino/builder/sketch.go | 5 +- internal/cli/compile/compile.go | 10 +- .../compile_3/compile_verbosity_test.go | 103 ++++++++++++++++++ 16 files changed, 209 insertions(+), 68 deletions(-) rename internal/arduino/builder/{internal => }/logger/logger.go (76%) create mode 100644 internal/integrationtest/compile_3/compile_verbosity_test.go diff --git a/commands/service_compile.go b/commands/service_compile.go index a71195382cf..24cbfd52b2c 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -28,6 +28,7 @@ import ( "github.com/arduino/arduino-cli/commands/cmderrors" "github.com/arduino/arduino-cli/commands/internal/instances" "github.com/arduino/arduino-cli/internal/arduino/builder" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/internal/arduino/sketch" "github.com/arduino/arduino-cli/internal/arduino/utils" @@ -244,6 +245,13 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu Message: &rpc.CompileResponse_Progress{Progress: p}, }) } + var verbosity logger.Verbosity = logger.VerbosityNormal + if req.GetQuiet() { + verbosity = logger.VerbosityQuiet + } + if req.GetVerbose() { + verbosity = logger.VerbosityVerbose + } sketchBuilder, err := builder.NewBuilder( ctx, sk, @@ -265,7 +273,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu req.GetSkipLibrariesDiscovery(), libsManager, paths.NewPathList(req.GetLibrary()...), - outStream, errStream, req.GetVerbose(), req.GetWarnings(), + outStream, errStream, verbosity, req.GetWarnings(), progressCB, pme.GetEnvVarsForSpawnedProcess(), ) diff --git a/internal/arduino/builder/archive_compiled_files.go b/internal/arduino/builder/archive_compiled_files.go index ed87225e2ff..32208a59092 100644 --- a/internal/arduino/builder/archive_compiled_files.go +++ b/internal/arduino/builder/archive_compiled_files.go @@ -16,6 +16,7 @@ package builder import ( + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" ) @@ -23,7 +24,7 @@ import ( // ArchiveCompiledFiles fixdoc func (b *Builder) archiveCompiledFiles(archiveFilePath *paths.Path, objectFilesToArchive paths.PathList) (*paths.Path, error) { if b.onlyUpdateCompilationDatabase { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(i18n.Tr("Skipping archive creation of: %[1]s", archiveFilePath)) } return archiveFilePath, nil @@ -46,7 +47,7 @@ func (b *Builder) archiveCompiledFiles(archiveFilePath *paths.Path, objectFilesT return nil, err } } else { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(i18n.Tr("Using previously compiled file: %[1]s", archiveFilePath)) } return archiveFilePath, nil diff --git a/internal/arduino/builder/builder.go b/internal/arduino/builder/builder.go index 58d607c827a..0c711273a5d 100644 --- a/internal/arduino/builder/builder.go +++ b/internal/arduino/builder/builder.go @@ -27,9 +27,9 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/builder/internal/compilation" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/detector" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/diagnostics" - "github.com/arduino/arduino-cli/internal/arduino/builder/internal/logger" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/progress" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/arduino/libraries/librariesmanager" @@ -136,7 +136,7 @@ func NewBuilder( useCachedLibrariesResolution bool, librariesManager *librariesmanager.LibrariesManager, libraryDirs paths.PathList, - stdout, stderr io.Writer, verbose bool, warningsLevel string, + stdout, stderr io.Writer, verbosity logger.Verbosity, warningsLevel string, progresCB rpc.TaskProgressCB, toolEnv []string, ) (*Builder, error) { @@ -189,7 +189,7 @@ func NewBuilder( return nil, ErrSketchCannotBeLocatedInBuildPath } - logger := logger.New(stdout, stderr, verbose, warningsLevel) + log := logger.New(stdout, stderr, verbosity, warningsLevel) libsManager, libsResolver, verboseOut, err := detector.LibrariesLoader( useCachedLibrariesResolution, librariesManager, builtInLibrariesDirs, libraryDirs, otherLibrariesDirs, @@ -198,8 +198,8 @@ func NewBuilder( if err != nil { return nil, err } - if logger.Verbose() { - logger.Warn(string(verboseOut)) + if log.VerbosityLevel() == logger.VerbosityVerbose { + log.Warn(string(verboseOut)) } diagnosticStore := diagnostics.NewStore() @@ -215,7 +215,7 @@ func NewBuilder( customBuildProperties: customBuildPropertiesArgs, coreBuildCachePath: coreBuildCachePath, extraCoreBuildCachePaths: extraCoreBuildCachePaths, - logger: logger, + logger: log, clean: clean, sourceOverrides: sourceOverrides, onlyUpdateCompilationDatabase: onlyUpdateCompilationDatabase, @@ -242,7 +242,7 @@ func NewBuilder( libsManager, libsResolver, useCachedLibrariesResolution, onlyUpdateCompilationDatabase, - logger, + log, diagnosticStore, ), } @@ -341,7 +341,7 @@ func (b *Builder) preprocess() error { } func (b *Builder) logIfVerbose(warn bool, msg string) { - if !b.logger.Verbose() { + if b.logger.VerbosityLevel() != logger.VerbosityVerbose { return } if warn { @@ -526,7 +526,7 @@ func (b *Builder) prepareCommandForRecipe(buildProperties *properties.Map, recip } func (b *Builder) execCommand(command *paths.Process) error { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(utils.PrintableCommand(command.GetArgs())) command.RedirectStdoutTo(b.logger.Stdout()) } diff --git a/internal/arduino/builder/compilation.go b/internal/arduino/builder/compilation.go index d3a1459da25..c739a2e37de 100644 --- a/internal/arduino/builder/compilation.go +++ b/internal/arduino/builder/compilation.go @@ -23,6 +23,7 @@ import ( "sync" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" @@ -152,7 +153,7 @@ func (b *Builder) compileFileWithRecipe( command.RedirectStdoutTo(commandStdout) command.RedirectStderrTo(commandStderr) - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(utils.PrintableCommand(command.GetArgs())) } // Since this compile could be multithreaded, we first capture the command output @@ -161,7 +162,7 @@ func (b *Builder) compileFileWithRecipe( } err := command.Wait() // and transfer all at once at the end... - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.WriteStdout(commandStdout.Bytes()) } b.logger.WriteStderr(commandStderr.Bytes()) @@ -176,7 +177,7 @@ func (b *Builder) compileFileWithRecipe( if err != nil { return nil, err } - } else if b.logger.Verbose() { + } else if b.logger.VerbosityLevel() == logger.VerbosityVerbose { if objIsUpToDate { b.logger.Info(i18n.Tr("Using previously compiled file: %[1]s", objectFile)) } else { diff --git a/internal/arduino/builder/core.go b/internal/arduino/builder/core.go index f541eaeda41..c6d87ec7d66 100644 --- a/internal/arduino/builder/core.go +++ b/internal/arduino/builder/core.go @@ -24,6 +24,7 @@ import ( "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/buildcache" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" @@ -116,7 +117,7 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { return nil, nil, errors.New(i18n.Tr("creating core cache folder: %s", err)) } // use archived core - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(i18n.Tr("Using precompiled core: %[1]s", targetArchivedCore)) } return targetArchivedCore, variantObjectFiles, nil @@ -128,7 +129,7 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { extraTargetArchivedCore := extraCoreBuildCachePath.Join(archivedCoreName, "core.a") if canUseArchivedCore(extraTargetArchivedCore) { // use archived core - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(i18n.Tr("Using precompiled core: %[1]s", extraTargetArchivedCore)) } return extraTargetArchivedCore, variantObjectFiles, nil @@ -158,7 +159,7 @@ func (b *Builder) compileCore() (*paths.Path, paths.PathList, error) { // archive core.a if targetArchivedCore != nil && !b.onlyUpdateCompilationDatabase { err := archiveFile.CopyTo(targetArchivedCore) - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { if err == nil { b.logger.Info(i18n.Tr("Archiving built core (caching) in: %[1]s", targetArchivedCore)) } else if os.IsNotExist(err) { diff --git a/internal/arduino/builder/internal/detector/detector.go b/internal/arduino/builder/internal/detector/detector.go index eb3d887d3fe..a983370b075 100644 --- a/internal/arduino/builder/internal/detector/detector.go +++ b/internal/arduino/builder/internal/detector/detector.go @@ -28,9 +28,9 @@ import ( "time" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/diagnostics" - "github.com/arduino/arduino-cli/internal/arduino/builder/internal/logger" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/arduino/cores" "github.com/arduino/arduino-cli/internal/arduino/globals" "github.com/arduino/arduino-cli/internal/arduino/libraries" @@ -87,7 +87,7 @@ func (l *SketchLibrariesDetector) resolveLibrary(header, platformArch string) *l importedLibraries := l.importedLibraries candidates := l.librariesResolver.AlternativesFor(header) - if l.logger.Verbose() { + if l.logger.VerbosityLevel() == logger.VerbosityVerbose { l.logger.Info(i18n.Tr("Alternatives for %[1]s: %[2]s", header, candidates)) l.logger.Info(fmt.Sprintf("ResolveLibrary(%s)", header)) l.logger.Info(fmt.Sprintf(" -> %s: %s", i18n.Tr("candidates"), candidates)) @@ -144,7 +144,7 @@ func (l *SketchLibrariesDetector) PrintUsedAndNotUsedLibraries(sketchError bool) // - as warning, when the sketch didn't compile // - as info, when verbose is on // - otherwise, output nothing - if !sketchError && !l.logger.Verbose() { + if !sketchError && l.logger.VerbosityLevel() != logger.VerbosityVerbose { return } @@ -239,7 +239,7 @@ func (l *SketchLibrariesDetector) findIncludes( if err := json.Unmarshal(d, &l.includeFolders); err != nil { return err } - if l.logger.Verbose() { + if l.logger.VerbosityLevel() == logger.VerbosityVerbose { l.logger.Info("Using cached library discovery: " + librariesResolutionCache.String()) } return nil @@ -347,12 +347,12 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( var missingIncludeH string if unchanged && cache.valid { missingIncludeH = cache.Next().Include - if first && l.logger.Verbose() { + if first && l.logger.VerbosityLevel() == logger.VerbosityVerbose { l.logger.Info(i18n.Tr("Using cached library dependencies for file: %[1]s", sourcePath)) } } else { preprocFirstResult, preprocErr = preprocessor.GCC(ctx, sourcePath, targetFilePath, includeFolders, buildProperties) - if l.logger.Verbose() { + if l.logger.VerbosityLevel() == logger.VerbosityVerbose { l.logger.WriteStdout(preprocFirstResult.Stdout()) } // Unwrap error and see if it is an ExitError. @@ -365,7 +365,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( return preprocErr } else { missingIncludeH = IncludesFinderWithRegExp(string(preprocFirstResult.Stderr())) - if missingIncludeH == "" && l.logger.Verbose() { + if missingIncludeH == "" && l.logger.VerbosityLevel() == logger.VerbosityVerbose { l.logger.Info(i18n.Tr("Error while detecting libraries included by %[1]s", sourcePath)) } } @@ -383,7 +383,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( if preprocErr == nil || preprocFirstResult.Stderr() == nil { // Filename came from cache, so run preprocessor to obtain error to show result, err := preprocessor.GCC(ctx, sourcePath, targetFilePath, includeFolders, buildProperties) - if l.logger.Verbose() { + if l.logger.VerbosityLevel() == logger.VerbosityVerbose { l.logger.WriteStdout(result.Stdout()) } if err == nil { @@ -410,7 +410,7 @@ func (l *SketchLibrariesDetector) findIncludesUntilDone( if library.Precompiled && library.PrecompiledWithSources { // Fully precompiled libraries should have no dependencies to avoid ABI breakage - if l.logger.Verbose() { + if l.logger.VerbosityLevel() == logger.VerbosityVerbose { l.logger.Info(i18n.Tr("Skipping dependencies detection for precompiled library %[1]s", library.Name)) } } else { diff --git a/internal/arduino/builder/internal/preprocessor/ctags.go b/internal/arduino/builder/internal/preprocessor/ctags.go index fe36cfc89e5..c77d22e783b 100644 --- a/internal/arduino/builder/internal/preprocessor/ctags.go +++ b/internal/arduino/builder/internal/preprocessor/ctags.go @@ -83,8 +83,9 @@ func PreprocessSketchWithCtags( } // Run CTags on gcc-preprocessed source - ctagsOutput, ctagsStdErr, err := RunCTags(ctx, ctagsTarget, buildProperties) + ctagsOutput, ctagsStdErr, ctagsCmdLine, err := RunCTags(ctx, ctagsTarget, buildProperties) if verbose { + stdout.Write([]byte(ctagsCmdLine + "\n")) stderr.Write(ctagsStdErr) } if err != nil { @@ -178,7 +179,7 @@ func isFirstFunctionOutsideOfSource(firstFunctionLine int, sourceRows []string) } // RunCTags performs a run of ctags on the given source file. Returns the ctags output and the stderr contents. -func RunCTags(ctx context.Context, sourceFile *paths.Path, buildProperties *properties.Map) ([]byte, []byte, error) { +func RunCTags(ctx context.Context, sourceFile *paths.Path, buildProperties *properties.Map) ([]byte, []byte, string, error) { ctagsBuildProperties := properties.NewMap() ctagsBuildProperties.Set("tools.ctags.path", "{runtime.tools.ctags.path}") ctagsBuildProperties.Set("tools.ctags.cmd.path", "{path}/ctags") @@ -189,24 +190,22 @@ func RunCTags(ctx context.Context, sourceFile *paths.Path, buildProperties *prop pattern := ctagsBuildProperties.Get("pattern") if pattern == "" { - return nil, nil, errors.New(i18n.Tr("%s pattern is missing", "ctags")) + return nil, nil, "", errors.New(i18n.Tr("%s pattern is missing", "ctags")) } commandLine := ctagsBuildProperties.ExpandPropsInString(pattern) parts, err := properties.SplitQuotedString(commandLine, `"'`, false) if err != nil { - return nil, nil, err + return nil, nil, "", err } proc, err := paths.NewProcess(nil, parts...) if err != nil { - return nil, nil, err + return nil, nil, "", err } stdout, stderr, err := proc.RunAndCaptureOutput(ctx) - // Append ctags arguments to stderr args := fmt.Sprintln(strings.Join(parts, " ")) - stderr = append([]byte(args), stderr...) - return stdout, stderr, err + return stdout, stderr, args, err } func filterSketchSource(sketch *sketch.Sketch, source io.Reader, removeLineMarkers bool) string { diff --git a/internal/arduino/builder/libraries.go b/internal/arduino/builder/libraries.go index 6bb28f96ed2..d2558e4954f 100644 --- a/internal/arduino/builder/libraries.go +++ b/internal/arduino/builder/libraries.go @@ -21,6 +21,7 @@ import ( "time" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/arduino/libraries" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" @@ -129,7 +130,7 @@ func (b *Builder) compileLibraries(libraries libraries.List, includes []string) } func (b *Builder) compileLibrary(library *libraries.Library, includes []string) (paths.PathList, error) { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(i18n.Tr(`Compiling library "%[1]s"`, library.Name)) } libraryBuildPath := b.librariesBuildPath.Join(library.DirName) @@ -292,7 +293,7 @@ func (b *Builder) warnAboutArchIncompatibleLibraries(importedLibraries libraries // TODO here we can completly remove this part as it's duplicated in what we can // read in the gRPC response func (b *Builder) printUsedLibraries(importedLibraries libraries.List) { - if !b.logger.Verbose() || len(importedLibraries) == 0 { + if b.logger.VerbosityLevel() != logger.VerbosityVerbose || len(importedLibraries) == 0 { return } diff --git a/internal/arduino/builder/linker.go b/internal/arduino/builder/linker.go index 20032608db5..77f450a9182 100644 --- a/internal/arduino/builder/linker.go +++ b/internal/arduino/builder/linker.go @@ -18,6 +18,7 @@ package builder import ( "strings" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "go.bug.st/f" @@ -26,7 +27,7 @@ import ( // link fixdoc func (b *Builder) link() error { if b.onlyUpdateCompilationDatabase { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(i18n.Tr("Skip linking of final executable.")) } return nil diff --git a/internal/arduino/builder/internal/logger/logger.go b/internal/arduino/builder/logger/logger.go similarity index 76% rename from internal/arduino/builder/internal/logger/logger.go rename to internal/arduino/builder/logger/logger.go index 992c15a25b2..347c98ce9f8 100644 --- a/internal/arduino/builder/internal/logger/logger.go +++ b/internal/arduino/builder/logger/logger.go @@ -22,18 +22,27 @@ import ( "sync" ) +// Verbosity is the verbosity level of the Logger +type Verbosity int + +const ( + VerbosityQuiet Verbosity = -1 + VerbosityNormal Verbosity = 0 + VerbosityVerbose Verbosity = 1 +) + // BuilderLogger fixdoc type BuilderLogger struct { stdLock sync.Mutex stdout io.Writer stderr io.Writer - verbose bool + verbosity Verbosity warningsLevel string } -// New fixdoc -func New(stdout, stderr io.Writer, verbose bool, warningsLevel string) *BuilderLogger { +// New creates a new Logger to the given output streams with the specified verbosity and warnings level +func New(stdout, stderr io.Writer, verbosity Verbosity, warningsLevel string) *BuilderLogger { if stdout == nil { stdout = os.Stdout } @@ -46,13 +55,16 @@ func New(stdout, stderr io.Writer, verbose bool, warningsLevel string) *BuilderL return &BuilderLogger{ stdout: stdout, stderr: stderr, - verbose: verbose, + verbosity: verbosity, warningsLevel: warningsLevel, } } // Info fixdoc func (l *BuilderLogger) Info(msg string) { + if msg == "" { + return + } l.stdLock.Lock() defer l.stdLock.Unlock() fmt.Fprintln(l.stdout, msg) @@ -60,6 +72,9 @@ func (l *BuilderLogger) Info(msg string) { // Warn fixdoc func (l *BuilderLogger) Warn(msg string) { + if msg == "" { + return + } l.stdLock.Lock() defer l.stdLock.Unlock() fmt.Fprintln(l.stderr, msg) @@ -79,9 +94,9 @@ func (l *BuilderLogger) WriteStderr(data []byte) (int, error) { return l.stderr.Write(data) } -// Verbose fixdoc -func (l *BuilderLogger) Verbose() bool { - return l.verbose +// VerbosityLevel returns the verbosity level of the logger +func (l *BuilderLogger) VerbosityLevel() Verbosity { + return l.verbosity } // WarningsLevel fixdoc diff --git a/internal/arduino/builder/preprocess_sketch.go b/internal/arduino/builder/preprocess_sketch.go index b7fe178db02..290b2963664 100644 --- a/internal/arduino/builder/preprocess_sketch.go +++ b/internal/arduino/builder/preprocess_sketch.go @@ -17,6 +17,7 @@ package builder import ( "github.com/arduino/arduino-cli/internal/arduino/builder/internal/preprocessor" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/go-paths-helper" ) @@ -26,10 +27,11 @@ func (b *Builder) preprocessSketch(includes paths.PathList) error { result, err := preprocessor.PreprocessSketchWithCtags( b.ctx, b.sketch, b.buildPath, includes, b.lineOffset, - b.buildProperties, b.onlyUpdateCompilationDatabase, b.logger.Verbose(), + b.buildProperties, b.onlyUpdateCompilationDatabase, + b.logger.VerbosityLevel() == logger.VerbosityVerbose, ) if result != nil { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.WriteStdout(result.Stdout()) } b.logger.WriteStderr(result.Stderr()) diff --git a/internal/arduino/builder/recipe.go b/internal/arduino/builder/recipe.go index c8fa8962850..b4c456e360f 100644 --- a/internal/arduino/builder/recipe.go +++ b/internal/arduino/builder/recipe.go @@ -19,6 +19,7 @@ import ( "sort" "strings" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/i18n" properties "github.com/arduino/go-properties-orderedmap" "github.com/sirupsen/logrus" @@ -43,7 +44,7 @@ func (b *Builder) RunRecipe(prefix, suffix string, skipIfOnlyUpdatingCompilation } if b.onlyUpdateCompilationDatabase && skipIfOnlyUpdatingCompilationDatabase { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(i18n.Tr("Skipping: %[1]s", strings.Join(command.GetArgs(), " "))) } return nil diff --git a/internal/arduino/builder/sizer.go b/internal/arduino/builder/sizer.go index 84cf8012a32..ae188b48f2b 100644 --- a/internal/arduino/builder/sizer.go +++ b/internal/arduino/builder/sizer.go @@ -24,6 +24,7 @@ import ( "strconv" "github.com/arduino/arduino-cli/internal/arduino/builder/internal/utils" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/i18n" rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1" "github.com/arduino/go-properties-orderedmap" @@ -78,7 +79,7 @@ func (b *Builder) checkSizeAdvanced() (ExecutablesFileSections, error) { if err != nil { return nil, errors.New(i18n.Tr("Error while determining sketch size: %s", err)) } - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(utils.PrintableCommand(command.GetArgs())) } out := &bytes.Buffer{} @@ -155,19 +156,21 @@ func (b *Builder) checkSize() (ExecutablesFileSections, error) { return nil, nil } - b.logger.Info(i18n.Tr("Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s bytes.", - strconv.Itoa(textSize), - strconv.Itoa(maxTextSize), - strconv.Itoa(textSize*100/maxTextSize))) - if dataSize >= 0 { - if maxDataSize > 0 { - b.logger.Info(i18n.Tr("Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s bytes for local variables. Maximum is %[2]s bytes.", - strconv.Itoa(dataSize), - strconv.Itoa(maxDataSize), - strconv.Itoa(dataSize*100/maxDataSize), - strconv.Itoa(maxDataSize-dataSize))) - } else { - b.logger.Info(i18n.Tr("Global variables use %[1]s bytes of dynamic memory.", strconv.Itoa(dataSize))) + if b.logger.VerbosityLevel() > logger.VerbosityQuiet { + b.logger.Info(i18n.Tr("Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s bytes.", + strconv.Itoa(textSize), + strconv.Itoa(maxTextSize), + strconv.Itoa(textSize*100/maxTextSize))) + if dataSize >= 0 { + if maxDataSize > 0 { + b.logger.Info(i18n.Tr("Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s bytes for local variables. Maximum is %[2]s bytes.", + strconv.Itoa(dataSize), + strconv.Itoa(maxDataSize), + strconv.Itoa(dataSize*100/maxDataSize), + strconv.Itoa(maxDataSize-dataSize))) + } else { + b.logger.Info(i18n.Tr("Global variables use %[1]s bytes of dynamic memory.", strconv.Itoa(dataSize))) + } } } @@ -215,7 +218,7 @@ func (b *Builder) execSizeRecipe(properties *properties.Map) (textSize int, data resErr = errors.New(i18n.Tr("Error while determining sketch size: %s", err)) return } - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(utils.PrintableCommand(command.GetArgs())) } commandStdout := &bytes.Buffer{} diff --git a/internal/arduino/builder/sketch.go b/internal/arduino/builder/sketch.go index 1f64d207c81..76e77f4c8e8 100644 --- a/internal/arduino/builder/sketch.go +++ b/internal/arduino/builder/sketch.go @@ -26,6 +26,7 @@ import ( "fortio.org/safecast" "github.com/arduino/arduino-cli/internal/arduino/builder/cpp" + "github.com/arduino/arduino-cli/internal/arduino/builder/logger" "github.com/arduino/arduino-cli/internal/i18n" "github.com/arduino/go-paths-helper" "github.com/marcinbor85/gohex" @@ -240,7 +241,7 @@ func (b *Builder) mergeSketchWithBootloader() error { bootloaderPath := b.buildProperties.GetPath("runtime.platform.path").Join("bootloaders", bootloader) if bootloaderPath.NotExist() { - if b.logger.Verbose() { + if b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Warn(i18n.Tr("Bootloader file specified but missing: %[1]s", bootloaderPath)) } return nil @@ -255,7 +256,7 @@ func (b *Builder) mergeSketchWithBootloader() error { maximumBinSize *= 2 } err := merge(builtSketchPath, bootloaderPath, mergedSketchPath, maximumBinSize) - if err != nil && b.logger.Verbose() { + if err != nil && b.logger.VerbosityLevel() == logger.VerbosityVerbose { b.logger.Info(err.Error()) } diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 5cccf62ad46..69ec3d52966 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -85,6 +85,9 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * " " + os.Args[0] + ` compile -b arduino:avr:uno --build-property "build.extra_flags=-DPIN=2 \"-DMY_DEFINE=\"hello world\"\"" /home/user/Arduino/MySketch` + "\n" + " " + os.Args[0] + ` compile -b arduino:avr:uno --build-property build.extra_flags=-DPIN=2 --build-property "compiler.cpp.extra_flags=\"-DSSID=\"hello world\"\"" /home/user/Arduino/MySketch` + "\n", Args: cobra.MaximumNArgs(1), + PreRun: func(cmd *cobra.Command, args []string) { + arguments.CheckFlagsConflicts(cmd, "quiet", "verbose") + }, Run: func(cmd *cobra.Command, args []string) { if cmd.Flag("build-cache-path").Changed { feedback.Warning(i18n.Tr("The flag --build-cache-path has been deprecated. Please use just --build-path alone or configure the build cache path in the Arduino CLI settings.")) @@ -116,7 +119,7 @@ func NewCommand(srv rpc.ArduinoCoreServiceServer, settings *rpc.Configuration) * compileCommand.Flags().StringVar(&warnings, "warnings", "none", i18n.Tr(`Optional, can be: %s. Used to tell gcc which warning level to use (-W flag).`, "none, default, more, all")) compileCommand.Flags().BoolVarP(&verbose, "verbose", "v", false, i18n.Tr("Optional, turns on verbose mode.")) - compileCommand.Flags().BoolVar(&quiet, "quiet", false, i18n.Tr("Optional, suppresses almost every output.")) + compileCommand.Flags().BoolVarP(&quiet, "quiet", "q", false, i18n.Tr("Optional, suppresses almost every output.")) compileCommand.Flags().BoolVarP(&uploadAfterCompile, "upload", "u", false, i18n.Tr("Upload the binary after the compilation.")) portArgs.AddToCommand(compileCommand, srv) compileCommand.Flags().BoolVarP(&verify, "verify", "t", false, i18n.Tr("Verify uploaded binary after the upload.")) @@ -362,6 +365,7 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer } stdIO := stdIORes() + successful := (compileError == nil) res := &compileResult{ CompilerOut: stdIO.Stdout, CompilerErr: stdIO.Stderr, @@ -370,9 +374,9 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer UpdatedUploadPort: result.NewPort(uploadRes.GetUpdatedUploadPort()), }, ProfileOut: profileOut, - Success: compileError == nil, + Success: successful, showPropertiesMode: showProperties, - hideStats: preprocess, + hideStats: preprocess || quiet || (!verbose && successful), } if compileError != nil { diff --git a/internal/integrationtest/compile_3/compile_verbosity_test.go b/internal/integrationtest/compile_3/compile_verbosity_test.go new file mode 100644 index 00000000000..db87afa7562 --- /dev/null +++ b/internal/integrationtest/compile_3/compile_verbosity_test.go @@ -0,0 +1,103 @@ +// This file is part of arduino-cli. +// +// Copyright 2022 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 compile_test + +import ( + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestCompileVerbosity(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + defer env.CleanUp() + + _, _, err := cli.Run("core", "update-index") + require.NoError(t, err) + _, _, err = cli.Run("core", "install", "arduino:avr") + require.NoError(t, err) + + goodSketch, err := paths.New("testdata", "bare_minimum").Abs() + require.NoError(t, err) + badSketch, err := paths.New("testdata", "blink_with_error_directive").Abs() + require.NoError(t, err) + + hasSketchSize := func(t *testing.T, out []byte) { + require.Contains(t, string(out), "Sketch uses") + } + noSketchSize := func(t *testing.T, out []byte) { + require.NotContains(t, string(out), "Sketch uses") + } + hasRecapTable := func(t *testing.T, out []byte) { + require.Contains(t, string(out), "Used platform") + } + noRecapTable := func(t *testing.T, out []byte) { + require.NotContains(t, string(out), "Used platform") + } + + t.Run("DefaultVerbosity/SuccessfulBuild", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "--fqbn", "arduino:avr:uno", goodSketch.String()) + require.NoError(t, err) + hasSketchSize(t, stdout) + noRecapTable(t, stdout) + require.Empty(t, stderr) + }) + + t.Run("DefaultVerbosity/BuildWithErrors", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "--fqbn", "arduino:avr:uno", badSketch.String()) + require.Error(t, err) + hasRecapTable(t, stdout) + require.NotEmpty(t, stderr) + }) + + t.Run("VerboseVerbosity/SuccessfulBuild", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", goodSketch.String()) + require.NoError(t, err) + hasSketchSize(t, stdout) + hasRecapTable(t, stdout) + require.Empty(t, stderr) + }) + + t.Run("VerboseVerbosity/BuildWithErrors", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", badSketch.String()) + require.Error(t, err) + hasRecapTable(t, stdout) + require.NotEmpty(t, stderr) + }) + + t.Run("QuietVerbosity/SuccessfulBuild", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "--fqbn", "arduino:avr:uno", "-q", goodSketch.String()) + require.NoError(t, err) + noSketchSize(t, stdout) + noRecapTable(t, stdout) + require.Empty(t, stdout) // Empty output + require.Empty(t, stderr) + }) + + t.Run("QuietVerbosity/BuildWithErrors", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "--fqbn", "arduino:avr:uno", "-q", badSketch.String()) + require.Error(t, err) + noRecapTable(t, stdout) + require.NotEmpty(t, stderr) + }) + + t.Run("ConflictingVerbosityOptions", func(t *testing.T) { + _, _, err := cli.Run("compile", "--fqbn", "arduino:avr:uno", "-v", "-q", goodSketch.String()) + require.Error(t, err) + }) +} From f16024cb3bcdf137e589600e5dd488ed60f2d1fa Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 16:11:06 +0100 Subject: [PATCH 316/361] [skip changelog] Bump google.golang.org/grpc from 1.69.4 to 1.70.0 (#2822) * [skip changelog] Bump google.golang.org/grpc from 1.69.4 to 1.70.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.69.4 to 1.70.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.69.4...v1.70.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../genproto/googleapis/rpc/status.dep.yml | 4 +-- .licenses/go/google.golang.org/grpc.dep.yml | 4 +-- .../google.golang.org/grpc/attributes.dep.yml | 6 ++-- .../go/google.golang.org/grpc/backoff.dep.yml | 6 ++-- .../google.golang.org/grpc/balancer.dep.yml | 6 ++-- .../grpc/balancer/base.dep.yml | 6 ++-- .../grpc/balancer/grpclb/state.dep.yml | 6 ++-- .../grpc/balancer/pickfirst.dep.yml | 6 ++-- .../grpc/balancer/pickfirst/internal.dep.yml | 6 ++-- .../balancer/pickfirst/pickfirstleaf.dep.yml | 6 ++-- .../grpc/balancer/roundrobin.dep.yml | 6 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 8 +++--- .../google.golang.org/grpc/channelz.dep.yml | 6 ++-- .../go/google.golang.org/grpc/codes.dep.yml | 6 ++-- .../grpc/connectivity.dep.yml | 6 ++-- .../grpc/credentials.dep.yml | 6 ++-- .../grpc/credentials/insecure.dep.yml | 6 ++-- .../google.golang.org/grpc/encoding.dep.yml | 6 ++-- .../grpc/encoding/proto.dep.yml | 6 ++-- .../grpc/experimental/stats.dep.yml | 6 ++-- .../go/google.golang.org/grpc/grpclog.dep.yml | 6 ++-- .../grpc/grpclog/internal.dep.yml | 6 ++-- .../google.golang.org/grpc/internal.dep.yml | 6 ++-- .../grpc/internal/backoff.dep.yml | 6 ++-- .../internal/balancer/gracefulswitch.dep.yml | 6 ++-- .../grpc/internal/balancerload.dep.yml | 6 ++-- .../grpc/internal/binarylog.dep.yml | 6 ++-- .../grpc/internal/buffer.dep.yml | 6 ++-- .../grpc/internal/channelz.dep.yml | 6 ++-- .../grpc/internal/credentials.dep.yml | 6 ++-- .../grpc/internal/envconfig.dep.yml | 6 ++-- .../grpc/internal/grpclog.dep.yml | 6 ++-- .../grpc/internal/grpcsync.dep.yml | 6 ++-- .../grpc/internal/grpcutil.dep.yml | 6 ++-- .../grpc/internal/idle.dep.yml | 6 ++-- .../grpc/internal/metadata.dep.yml | 6 ++-- .../grpc/internal/pretty.dep.yml | 6 ++-- .../grpc/internal/resolver.dep.yml | 6 ++-- .../grpc/internal/resolver/dns.dep.yml | 6 ++-- .../internal/resolver/dns/internal.dep.yml | 6 ++-- .../internal/resolver/passthrough.dep.yml | 6 ++-- .../grpc/internal/resolver/unix.dep.yml | 6 ++-- .../grpc/internal/serviceconfig.dep.yml | 6 ++-- .../grpc/internal/stats.dep.yml | 6 ++-- .../grpc/internal/status.dep.yml | 6 ++-- .../grpc/internal/syscall.dep.yml | 6 ++-- .../grpc/internal/transport.dep.yml | 6 ++-- .../internal/transport/networktype.dep.yml | 6 ++-- .../google.golang.org/grpc/keepalive.dep.yml | 6 ++-- .../go/google.golang.org/grpc/mem.dep.yml | 6 ++-- .../google.golang.org/grpc/metadata.dep.yml | 6 ++-- .../go/google.golang.org/grpc/peer.dep.yml | 6 ++-- .../google.golang.org/grpc/resolver.dep.yml | 6 ++-- .../grpc/resolver/dns.dep.yml | 6 ++-- .../grpc/serviceconfig.dep.yml | 6 ++-- .../go/google.golang.org/grpc/stats.dep.yml | 6 ++-- .../go/google.golang.org/grpc/status.dep.yml | 6 ++-- .../go/google.golang.org/grpc/tap.dep.yml | 6 ++-- go.mod | 4 +-- go.sum | 28 +++++++++---------- 60 files changed, 189 insertions(+), 189 deletions(-) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index f787ae2027d..8dc9e42fe35 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20241104194629-dd2ea8efbc28 +version: v0.0.0-20241202173237-19429a94021a type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20241104194629-dd2ea8efbc28/LICENSE +- sources: rpc@v0.0.0-20241202173237-19429a94021a/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 2e556f9e525..3cca0b4c5db 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,9 +1,9 @@ --- name: google.golang.org/grpc -version: v1.69.4 +version: v1.70.0 type: go summary: Package grpc implements an RPC system called gRPC. -homepage: https://godoc.org/google.golang.org/grpc +homepage: https://pkg.go.dev/google.golang.org/grpc license: apache-2.0 licenses: - sources: LICENSE diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 28b95939754..f79e5098c65 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.69.4 +version: v1.70.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. -homepage: https://godoc.org/google.golang.org/grpc/attributes +homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 555a1d385c5..9010a98cc92 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.69.4 +version: v1.70.0 type: go summary: Package backoff provides configuration options for backoff. -homepage: https://godoc.org/google.golang.org/grpc/backoff +homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 7eda139ad5c..3de84a3857f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.69.4 +version: v1.70.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. -homepage: https://godoc.org/google.golang.org/grpc/balancer +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index b32f71cd9fa..7e81b9575a2 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.69.4 +version: v1.70.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. -homepage: https://godoc.org/google.golang.org/grpc/balancer/base +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index a6ed6f1f2d8..2ee0ff6b81a 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.69.4 +version: v1.70.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. -homepage: https://godoc.org/google.golang.org/grpc/balancer/grpclb/state +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index e743e8ae973..3f727b53902 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.69.4 +version: v1.70.0 type: go summary: Package pickfirst contains the pick_first load balancing policy. -homepage: https://godoc.org/google.golang.org/grpc/balancer/pickfirst +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 1fe77a4f197..1dd90ca4431 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.69.4 +version: v1.70.0 type: go summary: Package internal contains code internal to the pickfirst package. -homepage: https://godoc.org/google.golang.org/grpc/balancer/pickfirst/internal +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index 95515b581a1..f671d5e6d3d 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.69.4 +version: v1.70.0 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. -homepage: https://godoc.org/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index cb200207a27..d553ced1b74 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.69.4 +version: v1.70.0 type: go summary: Package roundrobin defines a roundrobin balancer. -homepage: https://godoc.org/google.golang.org/grpc/balancer/roundrobin +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 97024d55fa1..f1dade2bd94 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.69.4 +version: v1.70.0 type: go -summary: -homepage: https://godoc.org/google.golang.org/grpc/binarylog/grpc_binarylog_v1 +summary: +homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index bda56b69dfb..f692bf7fae4 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.69.4 +version: v1.70.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. -homepage: https://godoc.org/google.golang.org/grpc/channelz +homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 3c51d3de641..9a94f112f35 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.69.4 +version: v1.70.0 type: go summary: Package codes defines the canonical error codes used by gRPC. -homepage: https://godoc.org/google.golang.org/grpc/codes +homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index d7ba0b449a7..779aaf4e33a 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.69.4 +version: v1.70.0 type: go summary: Package connectivity defines connectivity semantics. -homepage: https://godoc.org/google.golang.org/grpc/connectivity +homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index d00d9795414..45f49aa70eb 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,15 +1,15 @@ --- name: google.golang.org/grpc/credentials -version: v1.69.4 +version: v1.70.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server and make various assertions, e.g., about the client's identity, role, or whether it is authorized to make a particular call. -homepage: https://godoc.org/google.golang.org/grpc/credentials +homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index a55ef8235cd..5e29d17e0f2 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.69.4 +version: v1.70.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. -homepage: https://godoc.org/google.golang.org/grpc/credentials/insecure +homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 5ef1a1866ba..b53da8e93ec 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.69.4 +version: v1.70.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. -homepage: https://godoc.org/google.golang.org/grpc/encoding +homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index d16da37c317..baabc76c0e5 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.69.4 +version: v1.70.0 type: go summary: Package proto defines the protobuf codec. -homepage: https://godoc.org/google.golang.org/grpc/encoding/proto +homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index 8d558acd74f..d00dd3e2db4 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.69.4 +version: v1.70.0 type: go summary: Package stats contains experimental metrics/stats API's. -homepage: https://godoc.org/google.golang.org/grpc/experimental/stats +homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 5652cf23e37..278262b0909 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.69.4 +version: v1.70.0 type: go summary: Package grpclog defines logging for grpc. -homepage: https://godoc.org/google.golang.org/grpc/grpclog +homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index d9c22192c67..b3ae88af135 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.69.4 +version: v1.70.0 type: go summary: Package internal contains functionality internal to the grpclog package. -homepage: https://godoc.org/google.golang.org/grpc/grpclog/internal +homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 14605961ac2..f55b2e963c1 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.69.4 +version: v1.70.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. -homepage: https://godoc.org/google.golang.org/grpc/internal +homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 0bf569dd872..134fe36d3b8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.69.4 +version: v1.70.0 type: go summary: Package backoff implement the backoff strategy for gRPC. -homepage: https://godoc.org/google.golang.org/grpc/internal/backoff +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 742222735de..037dfbc83a8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.69.4 +version: v1.70.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. -homepage: https://godoc.org/google.golang.org/grpc/internal/balancer/gracefulswitch +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 53aa20e5729..c3432394149 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.69.4 +version: v1.70.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. -homepage: https://godoc.org/google.golang.org/grpc/internal/balancerload +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index f93735812b5..692d9c52f59 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.69.4 +version: v1.70.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. -homepage: https://godoc.org/google.golang.org/grpc/internal/binarylog +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 6037ea97702..6229ad35d1f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.69.4 +version: v1.70.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. -homepage: https://godoc.org/google.golang.org/grpc/internal/buffer +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index ea9b2027e81..476c56e5e14 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.69.4 +version: v1.70.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. -homepage: https://godoc.org/google.golang.org/grpc/internal/channelz +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 16333d756f1..7b3941eb2a5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.69.4 +version: v1.70.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. -homepage: https://godoc.org/google.golang.org/grpc/internal/credentials +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 0d0d6d8111e..f6494b188cc 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.69.4 +version: v1.70.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. -homepage: https://godoc.org/google.golang.org/grpc/internal/envconfig +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index e4e1f416d46..43ca1c6a99a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.69.4 +version: v1.70.0 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. -homepage: https://godoc.org/google.golang.org/grpc/internal/grpclog +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 3382ad20ebf..8e4fb596480 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.69.4 +version: v1.70.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. -homepage: https://godoc.org/google.golang.org/grpc/internal/grpcsync +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 8b9aa01305d..336c2c22518 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.69.4 +version: v1.70.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. -homepage: https://godoc.org/google.golang.org/grpc/internal/grpcutil +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index df00a646957..589800f7d92 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.69.4 +version: v1.70.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. -homepage: https://godoc.org/google.golang.org/grpc/internal/idle +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 333e4487f16..3de0b87da65 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.69.4 +version: v1.70.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. -homepage: https://godoc.org/google.golang.org/grpc/internal/metadata +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 859214efba6..5dc0215c87b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.69.4 +version: v1.70.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. -homepage: https://godoc.org/google.golang.org/grpc/internal/pretty +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index cf65ccaeb3c..09576271193 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.69.4 +version: v1.70.0 type: go summary: Package resolver provides internal resolver-related functionality. -homepage: https://godoc.org/google.golang.org/grpc/internal/resolver +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 2ae78fedd7b..e65386426f4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.69.4 +version: v1.70.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. -homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/dns +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 0d7a4302230..29d73609ea8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.69.4 +version: v1.70.0 type: go summary: Package internal contains functionality internal to the dns resolver package. -homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/dns/internal +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index eaae7671c83..6d4f835d72a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.69.4 +version: v1.70.0 type: go summary: Package passthrough implements a pass-through resolver. -homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/passthrough +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index a3a92f02d14..b081aa52c91 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.69.4 +version: v1.70.0 type: go summary: Package unix implements a resolver for unix targets. -homepage: https://godoc.org/google.golang.org/grpc/internal/resolver/unix +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index 2317f2e45e5..b064e3e11f2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.69.4 +version: v1.70.0 type: go summary: Package serviceconfig contains utility functions to parse service config. -homepage: https://godoc.org/google.golang.org/grpc/internal/serviceconfig +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index ca817538d94..79809f26836 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.69.4 +version: v1.70.0 type: go summary: Package stats provides internal stats related functionality. -homepage: https://godoc.org/google.golang.org/grpc/internal/stats +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 7c997436ac7..33ffa801aa3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.69.4 +version: v1.70.0 type: go summary: Package status implements errors returned by gRPC. -homepage: https://godoc.org/google.golang.org/grpc/internal/status +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index ba703519f91..66fe26e9ec8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.69.4 +version: v1.70.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. -homepage: https://godoc.org/google.golang.org/grpc/internal/syscall +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 1c955243d89..4891cbf746b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.69.4 +version: v1.70.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). -homepage: https://godoc.org/google.golang.org/grpc/internal/transport +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 01ec0222ec0..173aa1c20b5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.69.4 +version: v1.70.0 type: go summary: Package networktype declares the network type to be used in the default dialer. -homepage: https://godoc.org/google.golang.org/grpc/internal/transport/networktype +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 3f78101e13a..1063cf259ae 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.69.4 +version: v1.70.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. -homepage: https://godoc.org/google.golang.org/grpc/keepalive +homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index 924ad3847fb..1073c6fbd61 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.69.4 +version: v1.70.0 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. -homepage: https://godoc.org/google.golang.org/grpc/mem +homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 8dd26f41660..a1ac8886176 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.69.4 +version: v1.70.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. -homepage: https://godoc.org/google.golang.org/grpc/metadata +homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 012fc315a6d..41550dd7d5e 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.69.4 +version: v1.70.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. -homepage: https://godoc.org/google.golang.org/grpc/peer +homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index f3c707cb3a4..02181176bf3 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.69.4 +version: v1.70.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. -homepage: https://godoc.org/google.golang.org/grpc/resolver +homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 38a4fb09f7b..e2c877a1c12 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.69.4 +version: v1.70.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. -homepage: https://godoc.org/google.golang.org/grpc/resolver/dns +homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 46fcdf89c95..2c67218e9f9 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.69.4 +version: v1.70.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. -homepage: https://godoc.org/google.golang.org/grpc/serviceconfig +homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 9a43b356533..7b0729e8092 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.69.4 +version: v1.70.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. -homepage: https://godoc.org/google.golang.org/grpc/stats +homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index cfe080cbc63..10c1994852a 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.69.4 +version: v1.70.0 type: go summary: Package status implements errors returned by gRPC. -homepage: https://godoc.org/google.golang.org/grpc/status +homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 39d2ec17a30..c3d968399cb 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.69.4 +version: v1.70.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. -homepage: https://godoc.org/google.golang.org/grpc/tap +homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.69.4/LICENSE +- sources: grpc@v1.70.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index a91b66db14c..1d9213c4df2 100644 --- a/go.mod +++ b/go.mod @@ -43,8 +43,8 @@ require ( golang.org/x/sys v0.29.0 golang.org/x/term v0.28.0 golang.org/x/text v0.21.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 - google.golang.org/grpc v1.69.4 + google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a + google.golang.org/grpc v1.70.0 google.golang.org/protobuf v1.36.2 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 02f66e95f11..ced31534a5b 100644 --- a/go.sum +++ b/go.sum @@ -216,16 +216,16 @@ go.bug.st/serial v1.6.2 h1:kn9LRX3sdm+WxWKufMlIRndwGfPWsH1/9lCWXQCasq8= go.bug.st/serial v1.6.2/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.3.0 h1:DiO3LpK0RIgxvm66Pf8m7FhRVLEBFRmLkg+6vRzmk0g= go.bug.st/testifyjson v1.3.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= -go.opentelemetry.io/otel v1.31.0 h1:NsJcKPIW0D0H3NgzPDHmo0WW6SptzPdqg/L1zsIm2hY= -go.opentelemetry.io/otel v1.31.0/go.mod h1:O0C14Yl9FgkjqcCZAsE053C13OaddMYr/hz6clDkEJE= -go.opentelemetry.io/otel/metric v1.31.0 h1:FSErL0ATQAmYHUIzSezZibnyVlft1ybhy4ozRPcF2fE= -go.opentelemetry.io/otel/metric v1.31.0/go.mod h1:C3dEloVbLuYoX41KpmAhOqNriGbA+qqH6PQ5E5mUfnY= -go.opentelemetry.io/otel/sdk v1.31.0 h1:xLY3abVHYZ5HSfOg3l2E5LUj2Cwva5Y7yGxnSW9H5Gk= -go.opentelemetry.io/otel/sdk v1.31.0/go.mod h1:TfRbMdhvxIIr/B2N2LQW2S5v9m3gOQ/08KsbbO5BPT0= -go.opentelemetry.io/otel/sdk/metric v1.31.0 h1:i9hxxLJF/9kkvfHppyLL55aW7iIJz4JjxTeYusH7zMc= -go.opentelemetry.io/otel/sdk/metric v1.31.0/go.mod h1:CRInTMVvNhUKgSAMbKyTMxqOBC0zgyxzW55lZzX43Y8= -go.opentelemetry.io/otel/trace v1.31.0 h1:ffjsj1aRouKewfr85U2aGagJ46+MvodynlQ1HYdmJys= -go.opentelemetry.io/otel/trace v1.31.0/go.mod h1:TXZkRk7SM2ZQLtR6eoAWQFIHPvzQ06FJAsO1tJg480A= +go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U= +go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg= +go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M= +go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8= +go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= +go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= +go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= +go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= +go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= +go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= @@ -280,10 +280,10 @@ golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= -google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A= -google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= +google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU= google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From ac17aa806b39d6896faccfd5d7b6ae43afa2b1bd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 16:33:21 +0100 Subject: [PATCH 317/361] [skip changelog] Bump google.golang.org/protobuf from 1.36.2 to 1.36.4 (#2823) * [skip changelog] Bump google.golang.org/protobuf from 1.36.2 to 1.36.4 Bumps google.golang.org/protobuf from 1.36.2 to 1.36.4. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/editiondefaults.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/protolazy.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 35 files changed, 102 insertions(+), 102 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 4d091710bfc..5fa1bed96a5 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.36.2 +version: v1.36.4 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index 1d1797c2bab..58670ebaf12 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.36.2 +version: v1.36.4 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index aa5e1b2ac28..8624bf2998b 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.36.2 +version: v1.36.4 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index 917f1a47a13..1566393d36b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.36.2 +version: v1.36.4 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index efb5e3ea0b2..03879529b5c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.36.2 +version: v1.36.4 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index ef3188ac214..c0ea3852be0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.36.2 +version: v1.36.4 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index a6e30f8ef63..d003bb79ba3 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.36.2 +version: v1.36.4 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index be98f1cc5a1..f794b010a01 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.36.2 +version: v1.36.4 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index c51189aa829..7f2bc911c6b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.36.2 +version: v1.36.4 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 0d5089107c9..091f6ac0237 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.36.2 +version: v1.36.4 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index f9e557e414c..697711d2c11 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.36.2 +version: v1.36.4 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index f79b588822f..305d3fba7d5 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.36.2 +version: v1.36.4 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index 1672e0169fd..6bdf68d591e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.36.2 +version: v1.36.4 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index 85d4123d8ff..e8154d2295b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.36.2 +version: v1.36.4 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 94c39f23cac..9bb16d5a221 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.36.2 +version: v1.36.4 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 811e3b218e0..d037994ca40 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.36.2 +version: v1.36.4 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 4ab13aca278..661b5898776 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.36.2 +version: v1.36.4 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index cec715ccb5c..9a7db166f17 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.36.2 +version: v1.36.4 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index 1dd5791198c..0ca56f91a54 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.36.2 +version: v1.36.4 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index 8f95f1e07c4..76e9ff6d064 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.36.2 +version: v1.36.4 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml index c3c2e6c1d2b..364084a7ae2 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/protolazy -version: v1.36.2 +version: v1.36.4 type: go summary: Package protolazy contains internal data structures for lazy message decoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/protolazy license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index 930d6d8e177..bac1b8c444c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.36.2 +version: v1.36.4 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index 75c774ad81a..2a724697b8a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.36.2 +version: v1.36.4 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 0abb2aac9e4..179e10fe487 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.36.2 +version: v1.36.4 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index 7ee0acb42c3..660af485787 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.36.2 +version: v1.36.4 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index 3901faa0d38..d5b7b45adbd 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.36.2 +version: v1.36.4 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 4a9e154dc2e..a181e2697a8 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.36.2 +version: v1.36.4 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index 323ad1ab167..db44b0f7c83 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.36.2 +version: v1.36.4 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 759a38a7752..9c9cd00ac7c 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.36.2 +version: v1.36.4 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index dd7caf22d8d..d70012145ae 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.36.2 +version: v1.36.4 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index f1053add61a..48b4ec19559 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.36.2 +version: v1.36.4 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 0fbf4eb7899..5fcf46f720d 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.36.2 +version: v1.36.4 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index c8bc78b6eb8..10fd26bac84 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.36.2 +version: v1.36.4 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.2/LICENSE +- sources: protobuf@v1.36.4/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.2/PATENTS +- sources: protobuf@v1.36.4/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 1d9213c4df2..da1af52e709 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( golang.org/x/text v0.21.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a google.golang.org/grpc v1.70.0 - google.golang.org/protobuf v1.36.2 + google.golang.org/protobuf v1.36.4 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index ced31534a5b..2b525b812a5 100644 --- a/go.sum +++ b/go.sum @@ -284,8 +284,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= -google.golang.org/protobuf v1.36.2 h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU= -google.golang.org/protobuf v1.36.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= +google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From 5f84ecb4980d6cdc4118d053a9396a5ba70568ab Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 24 Jan 2025 17:00:49 +0100 Subject: [PATCH 318/361] [skip changelog] Bump github.com/ProtonMail/go-crypto from 1.1.4 to 1.1.5 (#2814) * [skip changelog] Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 1.1.4 to 1.1.5. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/compare/v1.1.4...v1.1.5) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../github.com/ProtonMail/go-crypto/bitcurves.dep.yml | 10 +++++----- .../github.com/ProtonMail/go-crypto/brainpool.dep.yml | 8 ++++---- .../go/github.com/ProtonMail/go-crypto/eax.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/internal/byteutil.dep.yml | 10 +++++----- .../go/github.com/ProtonMail/go-crypto/ocb.dep.yml | 8 ++++---- .../go/github.com/ProtonMail/go-crypto/openpgp.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/armor.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ecdsa.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ed25519.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/ed448.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/eddsa.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/elgamal.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/errors.dep.yml | 8 ++++---- .../go-crypto/openpgp/internal/algorithm.dep.yml | 10 +++++----- .../ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml | 8 ++++---- .../go-crypto/openpgp/internal/encoding.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/packet.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/s2k.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/x25519.dep.yml | 10 +++++----- .../ProtonMail/go-crypto/openpgp/x448.dep.yml | 10 +++++----- go.mod | 2 +- go.sum | 4 ++-- 24 files changed, 96 insertions(+), 96 deletions(-) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index 2721b5f5f4d..0fbc8066ac8 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.4 +version: v1.1.5 type: go -summary: -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/bitcurves +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index 50d844d7a6b..038beff389f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.4 +version: v1.1.5 type: go summary: Package brainpool implements Brainpool elliptic curves. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/brainpool +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index 91f5291e027..3b697a81cbd 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,15 +1,15 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.4 +version: v1.1.5 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF OPERATION: A TWO-PASS AUTHENTICATED-ENCRYPTION SCHEME OPTIMIZED FOR SIMPLICITY AND EFFICIENCY." In FSE''04, volume 3017 of LNCS, 2004' -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/eax +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 9b088dc2ecd..72f302ad706 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.4 +version: v1.1.5 type: go -summary: -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/internal/byteutil +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index ef2e76223c4..714a863722f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,15 +1,15 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.4 +version: v1.1.5 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black and Krovetz - OCB: A BLOCK-CIPHER MODE OF OPERATION FOR EFFICIENT AUTHENTICATED ENCRYPTION (2003).' -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/ocb +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index aede467bb82..313683cd190 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.4 +version: v1.1.5 type: go summary: Package openpgp implements high level operations on OpenPGP messages. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index a33061750a9..32caa6f65db 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.4 +version: v1.1.5 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index f12c883a074..25ba90b2f55 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.4 +version: v1.1.5 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/armor +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index b3762a4669b..081f2f4b456 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.4 +version: v1.1.5 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ecdh +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index a03cedd39a0..e58a87e238f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.4 +version: v1.1.5 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ecdsa +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index 86f7eaaddbb..51b4f79497b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.4 +version: v1.1.5 type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ed25519 +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index 5cdeb68e8f0..bd3a3488ad6 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.4 +version: v1.1.5 type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/ed448 +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index 89fcc6ad35b..5a724b1378c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.4 +version: v1.1.5 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/eddsa +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index 19c93574f94..7d2c3f4e38e 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,14 +1,14 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.4 +version: v1.1.5 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," IEEE Transactions on Information Theory, v. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/elgamal +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index 9f4a3f420bc..139e74a40a9 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.4 +version: v1.1.5 type: go summary: Package errors contains common error types for the OpenPGP packages. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/errors +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index fc627b0c4dd..60da98b89d7 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.4 +version: v1.1.5 type: go -summary: -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index a638e29541f..f05bc9bfb9a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.4 +version: v1.1.5 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/internal/ecc +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 46e4f5abcfb..e884bd4e99c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.4 +version: v1.1.5 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/internal/encoding +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index db4d969a89d..431c8602cdb 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.4 +version: v1.1.5 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/packet +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index dc18f0960b0..3cce4ac21d8 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,14 +1,14 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.4 +version: v1.1.5 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 section 3.7.1.4. -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/s2k +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index 725daeda3fc..dfa3e866278 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.4 +version: v1.1.5 type: go -summary: -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/x25519 +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index d993d1fe7a2..cf63a007191 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.4 +version: v1.1.5 type: go -summary: -homepage: https://godoc.org/github.com/ProtonMail/go-crypto/openpgp/x448 +summary: +homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.4/LICENSE +- sources: go-crypto@v1.1.5/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.4/PATENTS +- sources: go-crypto@v1.1.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index da1af52e709..462ddc9dfb8 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( fortio.org/safecast v1.0.0 - github.com/ProtonMail/go-crypto v1.1.4 + github.com/ProtonMail/go-crypto v1.1.5 github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 diff --git a/go.sum b/go.sum index 2b525b812a5..d67564fe40c 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,8 @@ fortio.org/safecast v1.0.0/go.mod h1:xZmcPk3vi4kuUFf+tq4SvnlVdwViqf6ZSZl91Jr9Jdg github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/ProtonMail/go-crypto v1.1.4 h1:G5U5asvD5N/6/36oIw3k2bOfBn5XVcZrb7PBjzzKKoE= -github.com/ProtonMail/go-crypto v1.1.4/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.5 h1:eoAQfK2dwL+tFSFpr7TbOaPNUbPiJj4fLYwwGE1FQO4= +github.com/ProtonMail/go-crypto v1.1.5/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= From ff4da7780dd3834991d21aa9441b110376d5fb6f Mon Sep 17 00:00:00 2001 From: Frederic Pillon <frederic.pillon@st.com> Date: Wed, 5 Feb 2025 17:48:10 +0100 Subject: [PATCH 319/361] fix(docs): typo in suggested host value (#2830) Signed-off-by: Frederic Pillon <frederic.pillon@st.com> --- docs/package_index_json-specification.md | 30 ++++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/docs/package_index_json-specification.md b/docs/package_index_json-specification.md index 416a5e2e815..2752ef732ea 100644 --- a/docs/package_index_json-specification.md +++ b/docs/package_index_json-specification.md @@ -170,21 +170,21 @@ Each tool version may come in different build flavours for different OS. Each fl array. The IDE will take care to install the right flavour for the user's OS by matching the `host` value with the following table or fail if a needed flavour is missing. -| OS flavour | `host` regexp | suggested `host` value | -| --------------- | ------------------------------------- | ---------------------------------- | -| Linux 32 | `i[3456]86-.*linux-gnu` | `i686-linux-gnu` | -| Linux 64 | `x86_64-.*linux-gnu` | `x86_64-linux-gnu` | -| Linux Arm | `arm.*-linux-gnueabihf` | `arm-linux-gnueabihf` | -| Linux Arm64 | `(aarch64\|arm64)-linux-gnu` | `aarch64-linux-gnu` | -| Linux RISC-V 64 | `riscv64-linux-gnu` | `riscv64-linux-gnu` | -| Windows 32 | `i[3456]86-.*(mingw32\|cygwin)` | `i686-mingw32` or `i686-cygwin` | -| Windows 64 | `(amd64\|x86_64)-.*(mingw32\|cygwin)` | `x86_64-migw32` or `x86_64-cygwin` | -| MacOSX 32 | `i[3456]86-apple-darwin.*` | `i686-apple-darwin` | -| MacOSX 64 | `x86_64-apple-darwin.*` | `x86_64-apple-darwin` | -| MacOSX Arm64 | `arm64-apple-darwin.*` | `arm64-apple-darwin` | -| FreeBSD 32 | `i?[3456]86-freebsd[0-9]*` | `i686-freebsd` | -| FreeBSD 64 | `amd64-freebsd[0-9]*` | `amd64-freebsd` | -| FreeBSD Arm | `arm.*-freebsd[0-9]*` | `arm-freebsd` | +| OS flavour | `host` regexp | suggested `host` value | +| --------------- | ------------------------------------- | ----------------------------------- | +| Linux 32 | `i[3456]86-.*linux-gnu` | `i686-linux-gnu` | +| Linux 64 | `x86_64-.*linux-gnu` | `x86_64-linux-gnu` | +| Linux Arm | `arm.*-linux-gnueabihf` | `arm-linux-gnueabihf` | +| Linux Arm64 | `(aarch64\|arm64)-linux-gnu` | `aarch64-linux-gnu` | +| Linux RISC-V 64 | `riscv64-linux-gnu` | `riscv64-linux-gnu` | +| Windows 32 | `i[3456]86-.*(mingw32\|cygwin)` | `i686-mingw32` or `i686-cygwin` | +| Windows 64 | `(amd64\|x86_64)-.*(mingw32\|cygwin)` | `x86_64-mingw32` or `x86_64-cygwin` | +| MacOSX 32 | `i[3456]86-apple-darwin.*` | `i686-apple-darwin` | +| MacOSX 64 | `x86_64-apple-darwin.*` | `x86_64-apple-darwin` | +| MacOSX Arm64 | `arm64-apple-darwin.*` | `arm64-apple-darwin` | +| FreeBSD 32 | `i?[3456]86-freebsd[0-9]*` | `i686-freebsd` | +| FreeBSD 64 | `amd64-freebsd[0-9]*` | `amd64-freebsd` | +| FreeBSD Arm | `arm.*-freebsd[0-9]*` | `arm-freebsd` | The `host` value is matched with the regexp, this means that a more specific value for the `host` field is allowed (for example you may write `x86_64-apple-darwin14.1` for MacOSX instead of the suggested `x86_64-apple-darwin`), by the way, From e73ef20e1ef0a69ee0669eb00ba762d7d4755da1 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 6 Feb 2025 16:49:40 +0100 Subject: [PATCH 320/361] [skip-changelog] Upgraded a bunch of libraries (#2829) --- .../cyphar/filepath-securejoin.dep.yml | 2 +- .../go/github.com/go-git/go-billy/v5.dep.yml | 2 +- .../go-git/go-billy/v5/helper/chroot.dep.yml | 6 ++-- .../go-billy/v5/helper/polyfill.dep.yml | 6 ++-- .../go-git/go-billy/v5/osfs.dep.yml | 6 ++-- .../go-git/go-billy/v5/util.dep.yml | 6 ++-- .../go/github.com/skeema/knownhosts.dep.yml | 2 +- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 ++-- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 ++-- .licenses/go/golang.org/x/term.dep.yml | 2 +- .../go/golang.org/x/text/encoding.dep.yml | 6 ++-- .../x/text/encoding/internal.dep.yml | 6 ++-- .../text/encoding/internal/identifier.dep.yml | 6 ++-- .../x/text/encoding/unicode.dep.yml | 6 ++-- .../x/text/internal/utf8internal.dep.yml | 6 ++-- .licenses/go/golang.org/x/text/runes.dep.yml | 6 ++-- go.mod | 14 ++++---- go.sum | 32 +++++++++---------- 18 files changed, 63 insertions(+), 63 deletions(-) diff --git a/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml b/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml index 8f76b76fd35..10dd8496aa7 100644 --- a/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml +++ b/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/cyphar/filepath-securejoin -version: v0.2.4 +version: v0.2.5 type: go summary: Package securejoin is an implementation of the hopefully-soon-to-be-included SecureJoin helper that is meant to be part of the "path/filepath" package. diff --git a/.licenses/go/github.com/go-git/go-billy/v5.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5.dep.yml index 837015de539..98cb84c661f 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-billy/v5 -version: v5.5.0 +version: v5.6.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5 diff --git a/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml index a4d1640e4e7..e077dbbadb0 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/helper/chroot -version: v5.5.0 +version: v5.6.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/helper/chroot license: apache-2.0 licenses: -- sources: v5@v5.5.0/LICENSE +- sources: v5@v5.6.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.5.0/README.md +- sources: v5@v5.6.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml index 674f8705ace..571465e6ced 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/helper/polyfill -version: v5.5.0 +version: v5.6.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/helper/polyfill license: apache-2.0 licenses: -- sources: v5@v5.5.0/LICENSE +- sources: v5@v5.6.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.5.0/README.md +- sources: v5@v5.6.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml index 041506546b9..ffbb82d0221 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/osfs -version: v5.5.0 +version: v5.6.0 type: go summary: Package osfs provides a billy filesystem for the OS. homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/osfs license: apache-2.0 licenses: -- sources: v5@v5.5.0/LICENSE +- sources: v5@v5.6.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.5.0/README.md +- sources: v5@v5.6.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml index 1d54d0647fc..b35e7e61ea5 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/util -version: v5.5.0 +version: v5.6.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/util license: apache-2.0 licenses: -- sources: v5@v5.5.0/LICENSE +- sources: v5@v5.6.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.5.0/README.md +- sources: v5@v5.6.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/skeema/knownhosts.dep.yml b/.licenses/go/github.com/skeema/knownhosts.dep.yml index 5d5e6b4ba6e..e60ef13d776 100644 --- a/.licenses/go/github.com/skeema/knownhosts.dep.yml +++ b/.licenses/go/github.com/skeema/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/skeema/knownhosts -version: v1.2.2 +version: v1.3.0 type: go summary: Package knownhosts is a thin wrapper around golang.org/x/crypto/ssh/knownhosts, adding the ability to obtain the list of host key algorithms for a known host. diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 30993d68001..265c279c0f4 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.29.0 +version: v0.30.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.29.0/LICENSE +- sources: sys@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.29.0/PATENTS +- sources: sys@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 3cfc4cbc73e..996da08842c 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.29.0 +version: v0.30.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.29.0/LICENSE +- sources: sys@v0.30.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.29.0/PATENTS +- sources: sys@v0.30.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 7ebcb76e008..97cfe9672ea 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.28.0 +version: v0.29.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index c356b63eaf8..17185fb2f55 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.21.0 +version: v0.22.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.21.0/LICENSE +- sources: text@v0.22.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.21.0/PATENTS +- sources: text@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index f6c97aadf6a..27957dcc6ba 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.21.0 +version: v0.22.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.21.0/LICENSE +- sources: text@v0.22.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.21.0/PATENTS +- sources: text@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index ed8aae5bbd9..3ed5ebdf3d1 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.21.0 +version: v0.22.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.21.0/LICENSE +- sources: text@v0.22.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.21.0/PATENTS +- sources: text@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index b2f4c7cfe22..071e38cd957 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.21.0 +version: v0.22.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.21.0/LICENSE +- sources: text@v0.22.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.21.0/PATENTS +- sources: text@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 296313bf844..3e555950ea6 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.21.0 +version: v0.22.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.21.0/LICENSE +- sources: text@v0.22.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.21.0/PATENTS +- sources: text@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 5f94dd43e9f..2718dfdea38 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.21.0 +version: v0.22.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.21.0/LICENSE +- sources: text@v0.22.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.21.0/PATENTS +- sources: text@v0.22.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 462ddc9dfb8..e7cc4e34ec9 100644 --- a/go.mod +++ b/go.mod @@ -40,9 +40,9 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.3.0 - golang.org/x/sys v0.29.0 - golang.org/x/term v0.28.0 - golang.org/x/text v0.21.0 + golang.org/x/sys v0.30.0 + golang.org/x/term v0.29.0 + golang.org/x/text v0.22.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a google.golang.org/grpc v1.70.0 google.golang.org/protobuf v1.36.4 @@ -55,12 +55,12 @@ require ( github.com/cloudflare/circl v1.3.7 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/creack/goselect v0.1.2 // indirect - github.com/cyphar/filepath-securejoin v0.2.4 // indirect + github.com/cyphar/filepath-securejoin v0.2.5 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect - github.com/go-git/go-billy/v5 v5.5.0 // indirect + github.com/go-git/go-billy/v5 v5.6.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/h2non/filetype v1.1.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -85,7 +85,7 @@ require ( github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect - github.com/skeema/knownhosts v1.2.2 // indirect + github.com/skeema/knownhosts v1.3.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect @@ -102,7 +102,7 @@ require ( golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect golang.org/x/mod v0.22.0 // indirect golang.org/x/net v0.33.0 // indirect - golang.org/x/sync v0.10.0 // indirect + golang.org/x/sync v0.11.0 // indirect golang.org/x/tools v0.28.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index d67564fe40c..d37b86c8b65 100644 --- a/go.sum +++ b/go.sum @@ -38,8 +38,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lV github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= -github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= -github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo= +github.com/cyphar/filepath-securejoin v0.2.5/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -63,8 +63,8 @@ github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= -github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= +github.com/go-git/go-billy/v5 v5.6.0 h1:w2hPNtoehvJIxR00Vb4xX94qHQi/ApZfX+nBE2Cjio8= +github.com/go-git/go-billy/v5 v5.6.0/go.mod h1:sFDq7xD3fn3E0GOwUSZqHo9lrkmx8xJhA0ZrfvjBRGM= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= @@ -132,8 +132,8 @@ github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZ github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= +github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= @@ -163,8 +163,8 @@ github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= -github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= +github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY= +github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= @@ -248,8 +248,8 @@ golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= -golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -261,18 +261,18 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= -golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= -golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= +golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= +golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= From a2eebcd805aca6a9c247192854eaaf77628094c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Feb 2025 17:16:33 +0100 Subject: [PATCH 321/361] [skip changelog] Bump google.golang.org/protobuf from 1.36.4 to 1.36.5 (#2831) * [skip changelog] Bump google.golang.org/protobuf from 1.36.4 to 1.36.5 Bumps google.golang.org/protobuf from 1.36.4 to 1.36.5. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/editiondefaults.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/protolazy.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 35 files changed, 102 insertions(+), 102 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 5fa1bed96a5..65b9022667a 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.36.4 +version: v1.36.5 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index 58670ebaf12..62b089a3684 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.36.4 +version: v1.36.5 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index 8624bf2998b..c8e2a6b08d9 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.36.4 +version: v1.36.5 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index 1566393d36b..86904cee936 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.36.4 +version: v1.36.5 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index 03879529b5c..028277a2bd8 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.36.4 +version: v1.36.5 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index c0ea3852be0..039022a4122 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.36.4 +version: v1.36.5 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index d003bb79ba3..4c9a0cb0868 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.36.4 +version: v1.36.5 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index f794b010a01..e6d64d3a894 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.36.4 +version: v1.36.5 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index 7f2bc911c6b..0625e2d1b51 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.36.4 +version: v1.36.5 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 091f6ac0237..0e3a213b0fe 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.36.4 +version: v1.36.5 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index 697711d2c11..a6f900be860 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.36.4 +version: v1.36.5 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index 305d3fba7d5..c7565cae41a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.36.4 +version: v1.36.5 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index 6bdf68d591e..dd2903ea4de 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.36.4 +version: v1.36.5 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index e8154d2295b..d0b9d285b1b 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.36.4 +version: v1.36.5 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 9bb16d5a221..430b495d79c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.36.4 +version: v1.36.5 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index d037994ca40..2b1a8c26177 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.36.4 +version: v1.36.5 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index 661b5898776..d195e2f6a73 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.36.4 +version: v1.36.5 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index 9a7db166f17..cef9089693e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.36.4 +version: v1.36.5 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index 0ca56f91a54..ce6b3f317db 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.36.4 +version: v1.36.5 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index 76e9ff6d064..b13dae961f2 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.36.4 +version: v1.36.5 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml index 364084a7ae2..884497dfae6 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/protolazy -version: v1.36.4 +version: v1.36.5 type: go summary: Package protolazy contains internal data structures for lazy message decoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/protolazy license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index bac1b8c444c..76e813dd81f 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.36.4 +version: v1.36.5 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index 2a724697b8a..0bc34ab8463 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.36.4 +version: v1.36.5 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 179e10fe487..9e6289e00b9 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.36.4 +version: v1.36.5 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index 660af485787..983a15d2646 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.36.4 +version: v1.36.5 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index d5b7b45adbd..938f1f160c1 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.36.4 +version: v1.36.5 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index a181e2697a8..53d42357877 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.36.4 +version: v1.36.5 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index db44b0f7c83..b365fb0ba9b 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.36.4 +version: v1.36.5 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index 9c9cd00ac7c..d4b2223d0a3 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.36.4 +version: v1.36.5 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index d70012145ae..8e3ef446d4d 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.36.4 +version: v1.36.5 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 48b4ec19559..5d151e9ebf5 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.36.4 +version: v1.36.5 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index 5fcf46f720d..f2034163646 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.36.4 +version: v1.36.5 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index 10fd26bac84..d3f995eb14f 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.36.4 +version: v1.36.5 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.4/LICENSE +- sources: protobuf@v1.36.5/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.4/PATENTS +- sources: protobuf@v1.36.5/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index e7cc4e34ec9..764553814f9 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( golang.org/x/text v0.22.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a google.golang.org/grpc v1.70.0 - google.golang.org/protobuf v1.36.4 + google.golang.org/protobuf v1.36.5 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index d37b86c8b65..819a635c5f5 100644 --- a/go.sum +++ b/go.sum @@ -284,8 +284,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= -google.golang.org/protobuf v1.36.4 h1:6A3ZDJHn/eNqc1i+IdefRzy/9PokBTPvcqMySR7NNIM= -google.golang.org/protobuf v1.36.4/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= +google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From bb88dc2d90a2677bf76724880eb68c4d4d21d8a4 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 11 Feb 2025 13:42:50 +0100 Subject: [PATCH 322/361] Fixed library install from git-url when reference points to a git branch (#2833) * Added integration test * Fixed library install from git when ref points to a branch * Praise linter --- .../libraries/librariesmanager/install.go | 26 +++------- internal/integrationtest/lib/lib_test.go | 52 +++++++++++++------ 2 files changed, 44 insertions(+), 34 deletions(-) diff --git a/internal/arduino/libraries/librariesmanager/install.go b/internal/arduino/libraries/librariesmanager/install.go index de53ea3cd56..1d73849f81f 100644 --- a/internal/arduino/libraries/librariesmanager/install.go +++ b/internal/arduino/libraries/librariesmanager/install.go @@ -219,25 +219,15 @@ func (lmi *Installer) InstallGitLib(argURL string, overwrite bool) error { if ref != "" { depth = 0 } - repo, err := git.PlainClone(tmpInstallPath.String(), false, &git.CloneOptions{ - URL: gitURL, - Depth: depth, - Progress: os.Stdout, - }) - if err != nil { + if _, err := git.PlainClone(tmpInstallPath.String(), false, &git.CloneOptions{ + URL: gitURL, + Depth: depth, + Progress: os.Stdout, + ReferenceName: ref, + }); err != nil { return err } - if ref != "" { - if h, err := repo.ResolveRevision(ref); err != nil { - return err - } else if w, err := repo.Worktree(); err != nil { - return err - } else if err := w.Checkout(&git.CheckoutOptions{Hash: plumbing.NewHash(h.String())}); err != nil { - return err - } - } - // We don't want the installed library to be a git repository thus we delete this folder tmpInstallPath.Join(".git").RemoveAll() @@ -251,7 +241,7 @@ func (lmi *Installer) InstallGitLib(argURL string, overwrite bool) error { // parseGitArgURL tries to recover a library name from a git URL. // Returns an error in case the URL is not a valid git URL. -func parseGitArgURL(argURL string) (string, string, plumbing.Revision, error) { +func parseGitArgURL(argURL string) (string, string, plumbing.ReferenceName, error) { // On Windows handle paths with backslashes in the form C:\Path\to\library if path := paths.New(argURL); path != nil && path.Exist() { return path.Base(), argURL, "", nil @@ -289,7 +279,7 @@ func parseGitArgURL(argURL string) (string, string, plumbing.Revision, error) { return "", "", "", errors.New(i18n.Tr("invalid git url")) } // fragment == "1.0.3" - rev := plumbing.Revision(parsedURL.Fragment) + rev := plumbing.ReferenceName(parsedURL.Fragment) // gitURL == "https://github.com/arduino-libraries/SigFox.git" parsedURL.Fragment = "" gitURL := parsedURL.String() diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index ab49a35e2a7..15371c80299 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -659,27 +659,47 @@ func TestInstallWithGitUrlFragmentAsBranch(t *testing.T) { _, _, err := cli.RunWithCustomEnv(envVar, "config", "init", "--dest-dir", ".") require.NoError(t, err) - libInstallDir := cli.SketchbookDir().Join("libraries", "WiFi101") - // Verifies library is not already installed - require.NoDirExists(t, libInstallDir.String()) + t.Run("InvalidRef", func(t *testing.T) { + // Test that a bad ref fails + _, _, err = cli.Run("lib", "install", "--git-url", "https://github.com/arduino-libraries/WiFi101.git#x-ref-does-not-exist", "--config-file", "arduino-cli.yaml") + require.Error(t, err) + }) - gitUrl := "https://github.com/arduino-libraries/WiFi101.git" + t.Run("RefPointingToATag", func(t *testing.T) { + gitUrl := "https://github.com/arduino-libraries/WiFi101.git" + libInstallDir := cli.SketchbookDir().Join("libraries", "WiFi101").String() - // Test that a bad ref fails - _, _, err = cli.Run("lib", "install", "--git-url", gitUrl+"#x-ref-does-not-exist", "--config-file", "arduino-cli.yaml") - require.Error(t, err) + // Verifies library is not already installed + require.NoDirExists(t, libInstallDir) - // Verifies library is installed in expected path - _, _, err = cli.Run("lib", "install", "--git-url", gitUrl+"#0.16.0", "--config-file", "arduino-cli.yaml") - require.NoError(t, err) - require.DirExists(t, libInstallDir.String()) + // Verifies library is installed in expected path + _, _, err = cli.Run("lib", "install", "--git-url", gitUrl+"#0.16.0", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + require.DirExists(t, libInstallDir) - // Reinstall library at an existing ref - _, _, err = cli.Run("lib", "install", "--git-url", gitUrl+"#master", "--config-file", "arduino-cli.yaml") - require.NoError(t, err) + // Reinstall library at an existing ref + _, _, err = cli.Run("lib", "install", "--git-url", gitUrl+"#master", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) - // Verifies library remains installed - require.DirExists(t, libInstallDir.String()) + // Verifies library remains installed + require.DirExists(t, libInstallDir) + }) + + t.Run("RefPointingToBranch", func(t *testing.T) { + libInstallDir := cli.SketchbookDir().Join("libraries", "ArduinoCloud") + + // Verify install with ref pointing to a branch + require.NoDirExists(t, libInstallDir.String()) + _, _, err = cli.Run("lib", "install", "--git-url", "https://github.com/arduino-libraries/ArduinoCloud.git#revert-2-typos", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + require.DirExists(t, libInstallDir.String()) + + // Verify that the correct branch is checked out + // https://github.com/arduino-libraries/ArduinoCloud/commit/d098d4647967b3aeb4520e7baf279e4225254dd2 + fileToTest, err := libInstallDir.Join("src", "ArduinoCloudThingBase.h").ReadFile() + require.NoError(t, err) + require.Contains(t, string(fileToTest), `#define LENGHT_M "meters"`) // nolint:misspell + }) } func TestUpdateIndex(t *testing.T) { From 347b3935134ed0c16c2f414e51992c906d1a3232 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 14:36:59 +0100 Subject: [PATCH 323/361] [skip changelog] Bump github.com/go-git/go-git/v5 from 5.12.0 to 5.13.2 (#2824) * [skip changelog] Bump github.com/go-git/go-git/v5 from 5.12.0 to 5.13.2 Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.12.0 to 5.13.2. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.12.0...v5.13.2) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../cyphar/filepath-securejoin.dep.yml | 8 ++--- .../go/github.com/go-git/go-billy/v5.dep.yml | 2 +- .../go-git/go-billy/v5/helper/chroot.dep.yml | 6 ++-- .../go-billy/v5/helper/polyfill.dep.yml | 6 ++-- .../go-git/go-billy/v5/osfs.dep.yml | 6 ++-- .../go-git/go-billy/v5/util.dep.yml | 6 ++-- .../go/github.com/go-git/go-git/v5.dep.yml | 2 +- .../go-git/go-git/v5/config.dep.yml | 6 ++-- .../go-git/v5/internal/path_util.dep.yml | 6 ++-- .../go-git/v5/internal/revision.dep.yml | 6 ++-- .../go-git/go-git/v5/internal/url.dep.yml | 6 ++-- .../go-git/go-git/v5/plumbing.dep.yml | 6 ++-- .../go-git/go-git/v5/plumbing/cache.dep.yml | 6 ++-- .../go-git/go-git/v5/plumbing/color.dep.yml | 6 ++-- .../go-git/v5/plumbing/filemode.dep.yml | 6 ++-- .../go-git/v5/plumbing/format/config.dep.yml | 6 ++-- .../go-git/v5/plumbing/format/diff.dep.yml | 6 ++-- .../v5/plumbing/format/gitignore.dep.yml | 6 ++-- .../go-git/v5/plumbing/format/idxfile.dep.yml | 6 ++-- .../go-git/v5/plumbing/format/index.dep.yml | 6 ++-- .../go-git/v5/plumbing/format/objfile.dep.yml | 6 ++-- .../v5/plumbing/format/packfile.dep.yml | 6 ++-- .../go-git/v5/plumbing/format/pktline.dep.yml | 6 ++-- .../go-git/go-git/v5/plumbing/hash.dep.yml | 6 ++-- .../go-git/go-git/v5/plumbing/object.dep.yml | 6 ++-- .../go-git/v5/plumbing/protocol/packp.dep.yml | 6 ++-- .../protocol/packp/capability.dep.yml | 6 ++-- .../plumbing/protocol/packp/sideband.dep.yml | 6 ++-- .../go-git/go-git/v5/plumbing/revlist.dep.yml | 6 ++-- .../go-git/go-git/v5/plumbing/storer.dep.yml | 6 ++-- .../go-git/v5/plumbing/transport.dep.yml | 6 ++-- .../v5/plumbing/transport/client.dep.yml | 6 ++-- .../go-git/v5/plumbing/transport/file.dep.yml | 6 ++-- .../go-git/v5/plumbing/transport/git.dep.yml | 6 ++-- .../go-git/v5/plumbing/transport/http.dep.yml | 6 ++-- .../transport/internal/common.dep.yml | 6 ++-- .../v5/plumbing/transport/server.dep.yml | 6 ++-- .../go-git/v5/plumbing/transport/ssh.dep.yml | 6 ++-- .../go-git/go-git/v5/storage.dep.yml | 6 ++-- .../go-git/v5/storage/filesystem.dep.yml | 6 ++-- .../v5/storage/filesystem/dotgit.dep.yml | 6 ++-- .../go-git/go-git/v5/storage/memory.dep.yml | 6 ++-- .../go-git/go-git/v5/utils/binary.dep.yml | 6 ++-- .../go-git/go-git/v5/utils/diff.dep.yml | 6 ++-- .../go-git/go-git/v5/utils/ioutil.dep.yml | 6 ++-- .../go-git/go-git/v5/utils/merkletrie.dep.yml | 6 ++-- .../v5/utils/merkletrie/filesystem.dep.yml | 6 ++-- .../go-git/v5/utils/merkletrie/index.dep.yml | 6 ++-- .../utils/merkletrie/internal/frame.dep.yml | 6 ++-- .../go-git/v5/utils/merkletrie/noder.dep.yml | 6 ++-- .../go-git/go-git/v5/utils/sync.dep.yml | 6 ++-- .../go-git/go-git/v5/utils/trace.dep.yml | 6 ++-- .licenses/go/github.com/pjbgf/sha1cd.dep.yml | 4 +-- .../github.com/pjbgf/sha1cd/internal.dep.yml | 6 ++-- .../go/github.com/pjbgf/sha1cd/ubc.dep.yml | 6 ++-- .../go/golang.org/x/crypto/argon2.dep.yml | 6 ++-- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 ++-- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 ++-- .../go/golang.org/x/crypto/cast5.dep.yml | 6 ++-- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 ++-- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 ++-- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 ++-- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 ++-- .../x/crypto/ssh/knownhosts.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/context.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/http2.dep.yml | 6 ++-- .../golang.org/x/net/internal/socks.dep.yml | 6 ++-- .../x/net/internal/timeseries.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 ++-- .licenses/go/golang.org/x/net/trace.dep.yml | 6 ++-- go.mod | 12 +++---- go.sum | 32 +++++++++---------- 72 files changed, 228 insertions(+), 228 deletions(-) diff --git a/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml b/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml index 10dd8496aa7..5b0f2cae4e4 100644 --- a/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml +++ b/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml @@ -1,16 +1,16 @@ --- name: github.com/cyphar/filepath-securejoin -version: v0.2.5 +version: v0.3.6 type: go -summary: Package securejoin is an implementation of the hopefully-soon-to-be-included - SecureJoin helper that is meant to be part of the "path/filepath" package. +summary: Package securejoin implements a set of helpers to make it easier to write + Go code that is safe against symlink-related escape attacks. homepage: https://pkg.go.dev/github.com/cyphar/filepath-securejoin license: bsd-3-clause licenses: - sources: LICENSE text: | Copyright (C) 2014-2015 Docker Inc & Go Authors. All rights reserved. - Copyright (C) 2017 SUSE LLC. All rights reserved. + Copyright (C) 2017-2024 SUSE LLC. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are diff --git a/.licenses/go/github.com/go-git/go-billy/v5.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5.dep.yml index 98cb84c661f..e9a2fb4e896 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-billy/v5 -version: v5.6.0 +version: v5.6.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5 diff --git a/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml index e077dbbadb0..59bf81f4477 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/helper/chroot.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/helper/chroot -version: v5.6.0 +version: v5.6.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/helper/chroot license: apache-2.0 licenses: -- sources: v5@v5.6.0/LICENSE +- sources: v5@v5.6.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.6.0/README.md +- sources: v5@v5.6.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml index 571465e6ced..9734d1379b0 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/helper/polyfill.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/helper/polyfill -version: v5.6.0 +version: v5.6.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/helper/polyfill license: apache-2.0 licenses: -- sources: v5@v5.6.0/LICENSE +- sources: v5@v5.6.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.6.0/README.md +- sources: v5@v5.6.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml index ffbb82d0221..931014d3906 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/osfs.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/osfs -version: v5.6.0 +version: v5.6.2 type: go summary: Package osfs provides a billy filesystem for the OS. homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/osfs license: apache-2.0 licenses: -- sources: v5@v5.6.0/LICENSE +- sources: v5@v5.6.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.6.0/README.md +- sources: v5@v5.6.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml b/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml index b35e7e61ea5..743ba6eb11c 100644 --- a/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml +++ b/.licenses/go/github.com/go-git/go-billy/v5/util.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-billy/v5/util -version: v5.6.0 +version: v5.6.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-billy/v5/util license: apache-2.0 licenses: -- sources: v5@v5.6.0/LICENSE +- sources: v5@v5.6.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.6.0/README.md +- sources: v5@v5.6.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5.dep.yml b/.licenses/go/github.com/go-git/go-git/v5.dep.yml index 3636534d94f..c146824a9e3 100644 --- a/.licenses/go/github.com/go-git/go-git/v5.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5 -version: v5.12.0 +version: v5.13.2 type: go summary: A highly extensible git implementation in pure Go. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5 diff --git a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml index c6d3c8f19d7..19f31f09ffb 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/config -version: v5.12.0 +version: v5.13.2 type: go summary: Package config contains the abstraction of multiple config files homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/config license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml index 2fd13452161..c51ce649795 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/path_util -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/path_util license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml index 600ade30d42..812fc7302dd 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/internal/revision -version: v5.12.0 +version: v5.13.2 type: go summary: 'Package revision extracts git revision from string More information about revision : https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html' homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/revision license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml index 4d8592e2663..4fca3d1ad54 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/url -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/url license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml index b7778e9c682..4bebd8907a0 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing -version: v5.12.0 +version: v5.13.2 type: go summary: package plumbing implement the core interfaces and structs used by go-git homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml index aa8d06376a1..c665de29564 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/cache -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/cache license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml index a213ea81620..27d565fcfac 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/color -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/color license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml index f1f242085bf..661b4123dbb 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/filemode -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/filemode license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml index e4b31ef6f53..7e6fba20066 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/config -version: v5.12.0 +version: v5.13.2 type: go summary: Package config implements encoding and decoding of git config files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/config license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml index a7fa3155d0b..732d0019dc7 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/diff -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/diff license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml index 7c8d87dc7a6..a598caf9716 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/gitignore -version: v5.12.0 +version: v5.13.2 type: go summary: Package gitignore implements matching file system paths to gitignore patterns that can be automatically read from a git repository tree in the order of definition @@ -8,7 +8,7 @@ summary: Package gitignore implements matching file system paths to gitignore pa homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/gitignore license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -211,6 +211,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml index 32d6fd2a906..63ec2fea5f9 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/idxfile -version: v5.12.0 +version: v5.13.2 type: go summary: Package idxfile implements encoding and decoding of packfile idx files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/idxfile license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml index fd33027b043..0930ce8b6fe 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/index -version: v5.12.0 +version: v5.13.2 type: go summary: Package index implements encoding and decoding of index format files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/index license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml index bf9d2943d5d..b20fc7b47d1 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/objfile -version: v5.12.0 +version: v5.13.2 type: go summary: Package objfile implements encoding and decoding of object files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/objfile license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml index f5856feb108..0530e2431cf 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/packfile -version: v5.12.0 +version: v5.13.2 type: go summary: Package packfile implements encoding and decoding of packfile format. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/packfile license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml index 28e3568db0b..7152b41a7ee 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/pktline -version: v5.12.0 +version: v5.13.2 type: go summary: Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/pktline license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml index 89068cf1291..d8ad34d763c 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/hash -version: v5.12.0 +version: v5.13.2 type: go summary: package hash provides a way for managing the underlying hash implementations used across go-git. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/hash license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml index 04f7c8e8ce1..70873b87d15 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/object -version: v5.12.0 +version: v5.13.2 type: go summary: Package object contains implementations of all Git objects and utility functions to work with them. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/object license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml index 2515a78fc7a..2d833412255 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml index 91995f5ff67..4798564f60f 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/capability -version: v5.12.0 +version: v5.13.2 type: go summary: Package capability defines the server and client capabilities. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml index cdcdb4cdb16..262b1d97e32 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband -version: v5.12.0 +version: v5.13.2 type: go summary: Package sideband implements a sideband mutiplex/demultiplexer homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml index b6ec172711d..05c0260a007 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/revlist -version: v5.12.0 +version: v5.13.2 type: go summary: Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/revlist license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml index ef859b4a0bf..b7307e34844 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/storer -version: v5.12.0 +version: v5.13.2 type: go summary: Package storer defines the interfaces to store objects, references, etc. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/storer license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml index 21339957692..efd228ab516 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport -version: v5.12.0 +version: v5.13.2 type: go summary: Package transport includes the implementation for different transport protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml index 6e281465e75..9a716a06d80 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/client -version: v5.12.0 +version: v5.13.2 type: go summary: Package client contains helper function to deal with the different client protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/client license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml index 1a1fc488f66..bdf6271328d 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/file -version: v5.12.0 +version: v5.13.2 type: go summary: Package file implements the file transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/file license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml index b2154b6eb4b..c99f2a17d4c 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/git -version: v5.12.0 +version: v5.13.2 type: go summary: Package git implements the git transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/git license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml index 79fa874c48e..3bf529afcfc 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/http -version: v5.12.0 +version: v5.13.2 type: go summary: Package http implements the HTTP transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/http license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml index 326cdc96fab..0cbbeb48dfb 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/internal/common -version: v5.12.0 +version: v5.13.2 type: go summary: Package common implements the git pack protocol with a pluggable transport. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/internal/common license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml index 34f80389d3f..f6ac68f9d67 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/server -version: v5.12.0 +version: v5.13.2 type: go summary: Package server implements the git server protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/server license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml index 42774a598e2..3cef0f03388 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/ssh -version: v5.12.0 +version: v5.13.2 type: go summary: Package ssh implements the SSH transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/ssh license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml index 2213013c9f2..5e76cb2fe77 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml index f0191c2316d..e20d66fe699 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem -version: v5.12.0 +version: v5.13.2 type: go summary: Package filesystem is a storage backend base on filesystems homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml index f8e8d5f60b3..9947ed0303e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem/dotgit -version: v5.12.0 +version: v5.13.2 type: go summary: https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem/dotgit license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml index 3bb5c58f50e..5c4e9ca0726 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/memory -version: v5.12.0 +version: v5.13.2 type: go summary: Package memory is a storage backend base on memory homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/memory license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml index c9297056861..7af945d5e55 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/binary -version: v5.12.0 +version: v5.13.2 type: go summary: Package binary implements syntax-sugar functions on top of the standard library binary package homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/binary license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml index d2a10f6046e..05ff14ca38e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/diff -version: v5.12.0 +version: v5.13.2 type: go summary: Package diff implements line oriented diffs, similar to the ancient Unix diff command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/diff license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml index bccbba65029..e5123361317 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/ioutil -version: v5.12.0 +version: v5.13.2 type: go summary: Package ioutil implements some I/O utility functions. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/ioutil license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml index 01b460d64ec..d0eabf84a9b 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie -version: v5.12.0 +version: v5.13.2 type: go summary: Package merkletrie provides support for n-ary trees that are at the same time Merkle trees and Radix trees (tries). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml index 187eeb9b78f..40c1f57555e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/filesystem -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/filesystem license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml index 76cc0291168..86fb9517714 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/index -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/index license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml index 152e97b28ac..4ac111fefd5 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/internal/frame -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml index 5b008934adf..e7e2405025e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/noder -version: v5.12.0 +version: v5.13.2 type: go summary: Package noder provide an interface for defining nodes in a merkletrie, their hashes and their paths (a noders and its ancestors). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/noder license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml index 282b6843fc9..857019c1a28 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/sync -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/sync license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml index 01d114148da..fb3fa986653 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/trace -version: v5.12.0 +version: v5.13.2 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/trace license: apache-2.0 licenses: -- sources: v5@v5.12.0/LICENSE +- sources: v5@v5.13.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.12.0/README.md +- sources: v5@v5.13.2/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/pjbgf/sha1cd.dep.yml b/.licenses/go/github.com/pjbgf/sha1cd.dep.yml index 9fe0d937e9d..fbe273662bb 100644 --- a/.licenses/go/github.com/pjbgf/sha1cd.dep.yml +++ b/.licenses/go/github.com/pjbgf/sha1cd.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/pjbgf/sha1cd -version: v0.3.0 +version: v0.3.2 type: go summary: Package sha1cd implements collision detection based on the whitepaper Counter-cryptanalysis from Marc Stevens. @@ -197,7 +197,7 @@ licenses: same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2023 pjbgf Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/.licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml b/.licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml index b00ab4a61bf..0117afa6425 100644 --- a/.licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml +++ b/.licenses/go/github.com/pjbgf/sha1cd/internal.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/pjbgf/sha1cd/internal -version: v0.3.0 +version: v0.3.2 type: go summary: homepage: https://pkg.go.dev/github.com/pjbgf/sha1cd/internal license: apache-2.0 licenses: -- sources: sha1cd@v0.3.0/LICENSE +- sources: sha1cd@v0.3.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -196,7 +196,7 @@ licenses: same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2023 pjbgf Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/.licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml b/.licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml index 73ca5283be7..493675f8e28 100644 --- a/.licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml +++ b/.licenses/go/github.com/pjbgf/sha1cd/ubc.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/pjbgf/sha1cd/ubc -version: v0.3.0 +version: v0.3.2 type: go summary: ubc package provides ways for SHA1 blocks to be checked for Unavoidable Bit Conditions that arise from crypto analysis attacks. homepage: https://pkg.go.dev/github.com/pjbgf/sha1cd/ubc license: apache-2.0 licenses: -- sources: sha1cd@v0.3.0/LICENSE +- sources: sha1cd@v0.3.2/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -197,7 +197,7 @@ licenses: same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright [yyyy] [name of copyright owner] + Copyright 2023 pjbgf Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index a41053afa63..ffff61bed5a 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.31.0 +version: v0.32.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index 0f1fdb2cf91..d3d02e3406d 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.31.0 +version: v0.32.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index b2ad0afb3c9..c8ee40414bc 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.31.0 +version: v0.32.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index ad571ae1a30..221e479bdca 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.31.0 +version: v0.32.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 0e08062f158..aa3d6625def 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.31.0 +version: v0.32.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 5295127d4bc..43d6c9387b4 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.31.0 +version: v0.32.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index e6fefd4dc51..60e34f25cad 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.31.0 +version: v0.32.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index 0b0572b9436..d923d32adf0 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.31.0 +version: v0.32.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 46203083b6b..7ba7fb3bd5f 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.31.0 +version: v0.32.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.31.0/LICENSE +- sources: crypto@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.31.0/PATENTS +- sources: crypto@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index 0b7ab2451f2..74a24b94428 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.33.0 +version: v0.34.0 type: go summary: Package context defines the Context type, which carries deadlines, cancelation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.33.0/LICENSE +- sources: net@v0.34.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.33.0/PATENTS +- sources: net@v0.34.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index fb9bf94baed..92cd6578f33 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.33.0 +version: v0.34.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.33.0/LICENSE +- sources: net@v0.34.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.33.0/PATENTS +- sources: net@v0.34.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index 67b09ca0f02..b858f1e6184 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.33.0 +version: v0.34.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.33.0/LICENSE +- sources: net@v0.34.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.33.0/PATENTS +- sources: net@v0.34.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index d7065b3ef74..dc29c00f76d 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.33.0 +version: v0.34.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.33.0/LICENSE +- sources: net@v0.34.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.33.0/PATENTS +- sources: net@v0.34.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index ae88ff9d53d..e836f0073d3 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.33.0 +version: v0.34.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.33.0/LICENSE +- sources: net@v0.34.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.33.0/PATENTS +- sources: net@v0.34.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 0f2a1fd81ca..cc30ed23f2b 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.33.0 +version: v0.34.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.33.0/LICENSE +- sources: net@v0.34.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.33.0/PATENTS +- sources: net@v0.34.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 764553814f9..fc2e3babb07 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.18.0 - github.com/go-git/go-git/v5 v5.12.0 + github.com/go-git/go-git/v5 v5.13.2 github.com/gofrs/uuid/v5 v5.3.0 github.com/leonelquinteros/gotext v1.7.0 github.com/mailru/easyjson v0.7.7 @@ -55,12 +55,12 @@ require ( github.com/cloudflare/circl v1.3.7 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/creack/goselect v0.1.2 // indirect - github.com/cyphar/filepath-securejoin v0.2.5 // indirect + github.com/cyphar/filepath-securejoin v0.3.6 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect - github.com/go-git/go-billy/v5 v5.6.0 // indirect + github.com/go-git/go-billy/v5 v5.6.2 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/h2non/filetype v1.1.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect @@ -78,7 +78,7 @@ require ( github.com/mattn/go-runewidth v0.0.15 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect - github.com/pjbgf/sha1cd v0.3.0 // indirect + github.com/pjbgf/sha1cd v0.3.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect @@ -98,10 +98,10 @@ require ( go.bug.st/serial v1.6.2 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.31.0 // indirect + golang.org/x/crypto v0.32.0 // indirect golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.33.0 // indirect + golang.org/x/net v0.34.0 // indirect golang.org/x/sync v0.11.0 // indirect golang.org/x/tools v0.28.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect diff --git a/go.sum b/go.sum index 819a635c5f5..bfe93167d18 100644 --- a/go.sum +++ b/go.sum @@ -38,8 +38,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lV github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= -github.com/cyphar/filepath-securejoin v0.2.5 h1:6iR5tXJ/e6tJZzzdMc1km3Sa7RRIVBKAK32O2s7AYfo= -github.com/cyphar/filepath-securejoin v0.2.5/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM= +github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -49,8 +49,8 @@ github.com/djherbis/buffer v1.2.0 h1:PH5Dd2ss0C7CRRhQCZ2u7MssF+No9ide8Ye71nPHcrQ github.com/djherbis/buffer v1.2.0/go.mod h1:fjnebbZjCUpPinBRD+TDwXSOeNQ7fPQWLfGQqiAiUyE= github.com/djherbis/nio/v3 v3.0.1 h1:6wxhnuppteMa6RHA4L81Dq7ThkZH8SwnDzXDYy95vB4= github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmWgZxOcmg= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy v1.4.0 h1:4GyuSbFa+s26+3rmYNSuUVsx+HgPrV1bk1jXI0l9wjM= +github.com/elazarl/goproxy v1.4.0/go.mod h1:X/5W/t+gzDyLfHW4DrMdpjqYjpXsURlBt9lpBDxZZZQ= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= @@ -59,16 +59,16 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= -github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= +github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= +github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= -github.com/go-git/go-billy/v5 v5.6.0 h1:w2hPNtoehvJIxR00Vb4xX94qHQi/ApZfX+nBE2Cjio8= -github.com/go-git/go-billy/v5 v5.6.0/go.mod h1:sFDq7xD3fn3E0GOwUSZqHo9lrkmx8xJhA0ZrfvjBRGM= +github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM= +github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= -github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= +github.com/go-git/go-git/v5 v5.13.2 h1:7O7xvsK7K+rZPKW6AQR1YyNhfywkv7B8/FsP3ki6Zv0= +github.com/go-git/go-git/v5 v5.13.2/go.mod h1:hWdW5P4YZRjmpGHwRH2v3zkWcNl6HeXaXQEMGb3NJ9A= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= @@ -136,8 +136,8 @@ github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= -github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= -github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= +github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= +github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -233,8 +233,8 @@ go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTV golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U= -golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -244,8 +244,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I= -golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= From 08478496cab2db9e192545ba233f36e740258de7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 11 Feb 2025 15:24:58 +0100 Subject: [PATCH 324/361] [skip changelog] Bump github.com/gofrs/uuid/v5 from 5.3.0 to 5.3.1 (#2834) * [skip changelog] Bump github.com/gofrs/uuid/v5 from 5.3.0 to 5.3.1 Bumps [github.com/gofrs/uuid/v5](https://github.com/gofrs/uuid) from 5.3.0 to 5.3.1. - [Release notes](https://github.com/gofrs/uuid/releases) - [Commits](https://github.com/gofrs/uuid/compare/v5.3.0...v5.3.1) --- updated-dependencies: - dependency-name: github.com/gofrs/uuid/v5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated dep license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/github.com/gofrs/uuid/v5.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml index b5e46a1acc5..05ab6f262c2 100644 --- a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml +++ b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/gofrs/uuid/v5 -version: v5.3.0 +version: v5.3.1 type: go summary: Package uuid provides implementations of the Universally Unique Identifier (UUID), as specified in RFC-9562 (formerly RFC-4122). diff --git a/go.mod b/go.mod index fc2e3babb07..3dcf2cb68ec 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.18.0 github.com/go-git/go-git/v5 v5.13.2 - github.com/gofrs/uuid/v5 v5.3.0 + github.com/gofrs/uuid/v5 v5.3.1 github.com/leonelquinteros/gotext v1.7.0 github.com/mailru/easyjson v0.7.7 github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 diff --git a/go.sum b/go.sum index bfe93167d18..2d63a257cf1 100644 --- a/go.sum +++ b/go.sum @@ -73,8 +73,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/gofrs/uuid/v5 v5.3.0 h1:m0mUMr+oVYUdxpMLgSYCZiXe7PuVPnI94+OMeVBNedk= -github.com/gofrs/uuid/v5 v5.3.0/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/gofrs/uuid/v5 v5.3.1 h1:aPx49MwJbekCzOyhZDjJVb0hx3A0KLjlbLx6p2gY0p0= +github.com/gofrs/uuid/v5 v5.3.1/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= From fff865837b225d17b932f9c416c7fd36a6b3a645 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Thu, 13 Feb 2025 15:13:22 +0100 Subject: [PATCH 325/361] [skip changelog] Renamed FQBN.Packager -> FQBN.Vendor (#2836) --- commands/service_board_details.go | 2 +- commands/service_compile.go | 2 +- commands/service_upload.go | 4 ++-- .../cores/packagemanager/package_manager.go | 4 ++-- internal/cli/board/list.go | 4 ++-- pkg/fqbn/fqbn.go | 8 ++++---- pkg/fqbn/fqbn_test.go | 16 ++++++++-------- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/commands/service_board_details.go b/commands/service_board_details.go index 4104c9bc21b..02a82bb6ffe 100644 --- a/commands/service_board_details.go +++ b/commands/service_board_details.go @@ -48,7 +48,7 @@ func (s *arduinoCoreServerImpl) BoardDetails(ctx context.Context, req *rpc.Board details.Name = board.Name() details.Fqbn = board.FQBN() details.PropertiesId = board.BoardID - details.Official = fqbn.Packager == "arduino" + details.Official = fqbn.Vendor == "arduino" details.Version = board.PlatformRelease.Version.String() details.IdentificationProperties = []*rpc.BoardIdentificationProperties{} for _, p := range board.GetIdentificationProperties() { diff --git a/commands/service_compile.go b/commands/service_compile.go index 24cbfd52b2c..7a98759ebf4 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -125,7 +125,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu if err != nil { if targetPlatform == nil { return &cmderrors.PlatformNotFoundError{ - Platform: fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture), + Platform: fmt.Sprintf("%s:%s", fqbn.Vendor, fqbn.Architecture), Cause: errors.New(i18n.Tr("platform not installed")), } } diff --git a/commands/service_upload.go b/commands/service_upload.go index 2e5e9272d51..93a508be337 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -62,7 +62,7 @@ func (s *arduinoCoreServerImpl) SupportedUserFields(ctx context.Context, req *rp _, platformRelease, _, boardProperties, _, err := pme.ResolveFQBN(fqbn) if platformRelease == nil { return nil, &cmderrors.PlatformNotFoundError{ - Platform: fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture), + Platform: fmt.Sprintf("%s:%s", fqbn.Vendor, fqbn.Architecture), Cause: err, } } else if err != nil { @@ -293,7 +293,7 @@ func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packa _, boardPlatform, board, boardProperties, buildPlatform, err := pme.ResolveFQBN(fqbn) if boardPlatform == nil { return nil, &cmderrors.PlatformNotFoundError{ - Platform: fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture), + Platform: fmt.Sprintf("%s:%s", fqbn.Vendor, fqbn.Architecture), Cause: err, } } else if err != nil { diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index 3281a3ad9e9..d24ee377606 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -290,10 +290,10 @@ func (pme *Explorer) ResolveFQBN(fqbn *fqbn.FQBN) ( *properties.Map, *cores.PlatformRelease, error) { // Find package - targetPackage := pme.packages[fqbn.Packager] + targetPackage := pme.packages[fqbn.Vendor] if targetPackage == nil { return nil, nil, nil, nil, nil, - errors.New(i18n.Tr("unknown package %s", fqbn.Packager)) + errors.New(i18n.Tr("unknown package %s", fqbn.Vendor)) } // Find platform diff --git a/internal/cli/board/list.go b/internal/cli/board/list.go index 9bd6fc37f22..d042e987d11 100644 --- a/internal/cli/board/list.go +++ b/internal/cli/board/list.go @@ -161,7 +161,7 @@ func (dr listResult) String() string { var coreName = "" fqbn, err := fqbn.Parse(b.Fqbn) if err == nil { - coreName = fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture) + coreName = fmt.Sprintf("%s:%s", fqbn.Vendor, fqbn.Architecture) } t.AddRow(address, protocol, protocolLabel, board, fqbn, coreName) @@ -217,7 +217,7 @@ func (dr watchEventResult) String() string { var coreName = "" fqbn, err := fqbn.Parse(b.Fqbn) if err == nil { - coreName = fmt.Sprintf("%s:%s", fqbn.Packager, fqbn.Architecture) + coreName = fmt.Sprintf("%s:%s", fqbn.Vendor, fqbn.Architecture) } t.AddRow(address, protocol, event, board, fqbn, coreName) diff --git a/pkg/fqbn/fqbn.go b/pkg/fqbn/fqbn.go index 8773272dd04..4f7f66d06b2 100644 --- a/pkg/fqbn/fqbn.go +++ b/pkg/fqbn/fqbn.go @@ -26,7 +26,7 @@ import ( // FQBN represents an Fully Qualified Board Name string type FQBN struct { - Packager string + Vendor string Architecture string BoardID string Configs *properties.Map @@ -54,7 +54,7 @@ func Parse(fqbnIn string) (*FQBN, error) { } fqbn := &FQBN{ - Packager: fqbnParts[0], + Vendor: fqbnParts[0], Architecture: fqbnParts[1], BoardID: fqbnParts[2], Configs: properties.NewMap(), @@ -95,7 +95,7 @@ func Parse(fqbnIn string) (*FQBN, error) { // Clone returns a copy of this FQBN. func (fqbn *FQBN) Clone() *FQBN { return &FQBN{ - Packager: fqbn.Packager, + Vendor: fqbn.Vendor, Architecture: fqbn.Architecture, BoardID: fqbn.BoardID, Configs: fqbn.Configs.Clone(), @@ -122,7 +122,7 @@ func (fqbn *FQBN) Match(target *FQBN) bool { // StringWithoutConfig returns the FQBN without the Config part func (fqbn *FQBN) StringWithoutConfig() string { - return fqbn.Packager + ":" + fqbn.Architecture + ":" + fqbn.BoardID + return fqbn.Vendor + ":" + fqbn.Architecture + ":" + fqbn.BoardID } // String returns the FQBN as a string diff --git a/pkg/fqbn/fqbn_test.go b/pkg/fqbn/fqbn_test.go index be76dad2f27..9b20f9be578 100644 --- a/pkg/fqbn/fqbn_test.go +++ b/pkg/fqbn/fqbn_test.go @@ -26,7 +26,7 @@ func TestFQBN(t *testing.T) { a, err := fqbn.Parse("arduino:avr:uno") require.Equal(t, "arduino:avr:uno", a.String()) require.NoError(t, err) - require.Equal(t, a.Packager, "arduino") + require.Equal(t, a.Vendor, "arduino") require.Equal(t, a.Architecture, "avr") require.Equal(t, a.BoardID, "uno") require.Zero(t, a.Configs.Size()) @@ -35,7 +35,7 @@ func TestFQBN(t *testing.T) { b1, err := fqbn.Parse("arduino::uno") require.Equal(t, "arduino::uno", b1.String()) require.NoError(t, err) - require.Equal(t, b1.Packager, "arduino") + require.Equal(t, b1.Vendor, "arduino") require.Equal(t, b1.Architecture, "") require.Equal(t, b1.BoardID, "uno") require.Zero(t, b1.Configs.Size()) @@ -43,7 +43,7 @@ func TestFQBN(t *testing.T) { b2, err := fqbn.Parse(":avr:uno") require.Equal(t, ":avr:uno", b2.String()) require.NoError(t, err) - require.Equal(t, b2.Packager, "") + require.Equal(t, b2.Vendor, "") require.Equal(t, b2.Architecture, "avr") require.Equal(t, b2.BoardID, "uno") require.Zero(t, b2.Configs.Size()) @@ -51,7 +51,7 @@ func TestFQBN(t *testing.T) { b3, err := fqbn.Parse("::uno") require.Equal(t, "::uno", b3.String()) require.NoError(t, err) - require.Equal(t, b3.Packager, "") + require.Equal(t, b3.Vendor, "") require.Equal(t, b3.Architecture, "") require.Equal(t, b3.BoardID, "uno") require.Zero(t, b3.Configs.Size()) @@ -89,7 +89,7 @@ func TestFQBN(t *testing.T) { c, err := fqbn.Parse("arduino:avr:uno:cpu=atmega") require.Equal(t, "arduino:avr:uno:cpu=atmega", c.String()) require.NoError(t, err) - require.Equal(t, c.Packager, "arduino") + require.Equal(t, c.Vendor, "arduino") require.Equal(t, c.Architecture, "avr") require.Equal(t, c.BoardID, "uno") require.Equal(t, "properties.Map{\n \"cpu\": \"atmega\",\n}", c.Configs.Dump()) @@ -97,7 +97,7 @@ func TestFQBN(t *testing.T) { d, err := fqbn.Parse("arduino:avr:uno:cpu=atmega,speed=1000") require.Equal(t, "arduino:avr:uno:cpu=atmega,speed=1000", d.String()) require.NoError(t, err) - require.Equal(t, d.Packager, "arduino") + require.Equal(t, d.Vendor, "arduino") require.Equal(t, d.Architecture, "avr") require.Equal(t, d.BoardID, "uno") require.Equal(t, "properties.Map{\n \"cpu\": \"atmega\",\n \"speed\": \"1000\",\n}", d.Configs.Dump()) @@ -122,7 +122,7 @@ func TestFQBN(t *testing.T) { e, err := fqbn.Parse("arduino:avr:uno:cpu=") require.Equal(t, "arduino:avr:uno:cpu=", e.String()) require.NoError(t, err) - require.Equal(t, e.Packager, "arduino") + require.Equal(t, e.Vendor, "arduino") require.Equal(t, e.Architecture, "avr") require.Equal(t, e.BoardID, "uno") require.Equal(t, "properties.Map{\n \"cpu\": \"\",\n}", e.Configs.Dump()) @@ -131,7 +131,7 @@ func TestFQBN(t *testing.T) { f, err := fqbn.Parse("arduino:avr:uno:cpu=atmega,speed=1000,extra=core=arduino") require.Equal(t, "arduino:avr:uno:cpu=atmega,speed=1000,extra=core=arduino", f.String()) require.NoError(t, err) - require.Equal(t, f.Packager, "arduino") + require.Equal(t, f.Vendor, "arduino") require.Equal(t, f.Architecture, "avr") require.Equal(t, f.BoardID, "uno") require.Equal(t, From 0bf3749a850864e03c68001ab82be2e1c47cfd6b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 24 Feb 2025 16:18:53 +0100 Subject: [PATCH 326/361] Updated translation files (#2771) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/locales/data/ar.po | 551 +++-- internal/locales/data/be.po | 551 +++-- internal/locales/data/de.po | 551 +++-- internal/locales/data/es.po | 557 +++-- internal/locales/data/fr.po | 551 +++-- internal/locales/data/he.po | 551 +++-- internal/locales/data/it_IT.po | 551 +++-- internal/locales/data/ja.po | 551 +++-- internal/locales/data/ko.po | 551 +++-- internal/locales/data/lb.po | 551 +++-- internal/locales/data/pl.po | 551 +++-- internal/locales/data/pt.po | 551 +++-- internal/locales/data/ru.po | 551 +++-- internal/locales/data/si.po | 3668 ++++++++++++++++++++++++++++++++ internal/locales/data/zh.po | 551 +++-- internal/locales/data/zh_TW.po | 559 +++-- 16 files changed, 7800 insertions(+), 4147 deletions(-) create mode 100644 internal/locales/data/si.po diff --git a/internal/locales/data/ar.po b/internal/locales/data/ar.po index a02601d1efe..4026eb0b42a 100644 --- a/internal/locales/data/ar.po +++ b/internal/locales/data/ar.po @@ -13,7 +13,7 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s النسخة : %[3]s commit : %[4]s التاريخ : %[5]s" @@ -29,7 +29,7 @@ msgstr "%[1]s غير صالح . جار اعادة بناء كل شيء" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s مطلوب و لكن %[2]s مثبت حاليا" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s التنسيق مفقود" @@ -37,11 +37,11 @@ msgstr "%[1]s التنسيق مفقود" msgid "%s already downloaded" msgstr "تم تنزيل %s مسبقا" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s و %s لا يمكن استخدامهما معا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s تم تثبيته بنجاح" @@ -54,7 +54,7 @@ msgstr "%s مثبت مسبقا" msgid "%s is not a directory" msgstr "%s ليس مسارا صحيحا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s غير مدار بواسطة مدير الحزمات" @@ -66,7 +66,7 @@ msgstr "" msgid "%s must be installed." msgstr "يجب تثبيت %s" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s النسق مفقود" @@ -75,7 +75,7 @@ msgstr "%s النسق مفقود" msgid "'%s' has an invalid signature" msgstr "'%s' لديه توقيع غير صحيح" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -85,7 +85,7 @@ msgstr "'build.core' و 'build.variant' تشيران الى منصة مختلف msgid "(hidden)" msgstr "(مخفي)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(الشكل القديم)" @@ -150,7 +150,7 @@ msgstr "جميع المنصات محدثة" msgid "All the cores are already at the latest version" msgstr "كل الانوية محدثة باخر اصدار مسبقا" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "%s مثبت مسبقا" @@ -180,7 +180,7 @@ msgstr "المعمارية : %s" msgid "Archive already exists" msgstr "الارشيف موجود مسبقا" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "جار ارشفة built core (caching) في : %[1]s" @@ -269,11 +269,11 @@ msgstr "اسم اللوحة" msgid "Board version:" msgstr "نسخة اللوحة :" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "ملف محمل الإقلاع (Bootloader) تم تحدديده لكنه مفقود: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -287,13 +287,13 @@ msgstr "تعذر انشاء مسار البيانات %s" msgid "Can't create sketch" msgstr "تعذر انشاء المشروع" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "تعذر تنزيل المكتبة" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "تعذر ايجاد التبعيات للمنصة %s" @@ -313,11 +313,11 @@ msgstr "لا يمكن استخدام العلامات التالية مع بعض msgid "Can't write debug log: %s" msgstr "تعذر كتابة سجل مصحح الاخطاء : %s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "تعذر انشاء مجلد لل \"build cache\"" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "تعذر انشاء مسار البناء" @@ -355,15 +355,15 @@ msgstr "تعذر ايجاد المسار المطلق : %v" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "تعذر تثبيت المنصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "تعذر تثبيت الاداة %s" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "تعذر اجراء اعادة تشغيل المنفذ : %s" @@ -372,7 +372,7 @@ msgstr "تعذر اجراء اعادة تشغيل المنفذ : %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "تعذر تحديث المنصة" @@ -413,7 +413,7 @@ msgid "" "a change." msgstr "الامر يبقى قيد التشغيل و يطبع قائمة للوحات المتصلة عندما يوجد تغيير" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "المشروع المترجم لم يتم ايجاده في %s" @@ -421,19 +421,19 @@ msgstr "المشروع المترجم لم يتم ايجاده في %s" msgid "Compiles Arduino sketches." msgstr "يترجم مشاريع الاردوينو" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "يتم ترجمة النواة" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "يتم ترجمة المكتبات" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "يتم ترجمة المكتبة \"%[1]s\"" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "ترجمة الشيفرة البرمجية..." @@ -457,11 +457,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "تكوين إعدادات منفذ الاتصال. التنسيق هو <ID>=<value>[,<ID>=<value>]" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "جار تهيئة المنصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "جار تهيئة الاداة" @@ -477,19 +477,19 @@ msgstr "" msgid "Core" msgstr "النواة" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "تعذر الاتصال بواسطة HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "تعذر انشاء فهرس داخل المسار" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "تعذر القيام بـ deeply cache لــ core build : %[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "تعذر معرفة حجم البرنامج" @@ -501,7 +501,7 @@ msgstr "تعذر ايجاد المسار الحالي %v" msgid "Create a new Sketch" msgstr "انشاء مشروع جديد" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "انشاء و طباعة اعدادات البروفايل من البناء (build)" @@ -517,7 +517,7 @@ msgstr "" "انشاء او تحديث ملف الضبط في مسار البيانات او في مسار مخصص مع اعدادات التهيئة" " الحالية" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -593,7 +593,7 @@ msgstr "تبعيات : %s" msgid "Description" msgstr "الوصف" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "الكشف عن المكتبات المستخدمة ..." @@ -657,7 +657,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "لا تحاول تحديث المكتبات أذا تم تثبيتها." -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "يتم تنزيل %s" @@ -665,21 +665,21 @@ msgstr "يتم تنزيل %s" msgid "Downloading index signature: %s" msgstr "جار تنزيل فهرس التوقيعات %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "جار تنزيل الفهرس : %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "جار تحميل المكتبة %s" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "جار تنزيل الاداة الناقصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "جار تنزيل الحزم" @@ -717,7 +717,7 @@ msgid "Error adding file to sketch archive" msgstr "" "خطأ اثناء اضافة الملف لارشيف المشروع (Error adding file to sketch archive)" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "خطا اثناء ارشفة built core (caching) في %[1]s : %[2]s" @@ -734,11 +734,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "خطأ اثناء تنظيف الكاش : %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "تعذر تحويل المسار الى مطلق : %v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "خطا اثناء نسخ ملف الخرج %s" @@ -752,7 +752,7 @@ msgstr "خطأ في أنشاء ملف التعريفات:%v" msgid "Error creating instance: %v" msgstr "خطا اثناء انشاء النسخة %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "خطا اثناء انشاء مسار الخرج" @@ -777,7 +777,7 @@ msgstr "خطا اثناء تحميل %[1]s : %[2]v" msgid "Error downloading %s" msgstr "خطأ اثناء تحميل %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "خطأ اثناء تحميل الفهرس '%s'" @@ -785,7 +785,7 @@ msgstr "خطأ اثناء تحميل الفهرس '%s'" msgid "Error downloading index signature '%s'" msgstr "خطأ اثناء تحميل توقيع الفهرس : '%s'" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "خطأ اثناء تحميل المكتبة %s" @@ -809,7 +809,7 @@ msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" @@ -818,7 +818,7 @@ msgstr "خطا اثناء الرفع : %v" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "خطأ اثناء بناء : %v" @@ -839,7 +839,7 @@ msgstr "خطا اثناء تطوير : %v" msgid "Error extracting %s" msgstr "خطأ اثناء استخراج %s" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "خطا اثناء البحث عن build artifacts" @@ -865,7 +865,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "خطأ اثناء الحصول على المعلومات للمكتبة %s" @@ -902,7 +902,7 @@ msgstr "خطأ اثناء تثبيت مكتبة GIT : %v" msgid "Error installing Zip Library: %v" msgstr "خطأ اثناء تثبيت مكتبة ZIP : %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "خطأ اثناء تثبيت المكتبة %s" @@ -946,15 +946,15 @@ msgstr "خطأ اثناء فتح %s" msgid "Error opening debug logging file: %s" msgstr "تعذر فتح الملف الذي يحوي سجلات التصحيح (debug logging file) : %s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "خطا اثناء فتح الكود المصدر الذي يتجاوز ملف البيانات : %v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "تعذر تقطيع علامة show-properties-- : %v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "خطا اثناء قراءة مسار البناء" @@ -970,7 +970,7 @@ msgstr "خطا اثناء حل التبعيات ل %[1]s:%[2]s" msgid "Error retrieving core list: %v" msgstr "خطا اثناء استعادة قائمة النواة : %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "خطا اثناء التراجع عن التغييرات : %s" @@ -1027,7 +1027,7 @@ msgstr "خطا اثناء تحديث فهرس المكتبات : %v" msgid "Error upgrading libraries" msgstr "تعذر ترقية المكتبات" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "خطا اثناء تطوير المنصة : %s" @@ -1040,10 +1040,10 @@ msgstr "تعذر التحقق من التوقيع" msgid "Error while detecting libraries included by %[1]s" msgstr "تعذر العثور على المكتبات التي ضُمِّنَت (included) من قبل : %[1]s" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "خطأ اثناء تحديد حجم المشروع : %s" @@ -1059,7 +1059,7 @@ msgstr "خطأ في كتابة الملف: %v" msgid "Error: command description is not supported by %v" msgstr "خطأ : وصف الامر غير مدعوم من قبل %v" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "خطأ : كود مصدري خاطئ سيقوم بالكتابة فوق ملف البيانات : %v" @@ -1079,7 +1079,7 @@ msgstr "الامثلة : " msgid "Executable to debug" msgstr "الملف التنفيذي الذي سيتم تصحيحه (Executable to debug)" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "توقعت وجود المشروع المترجم في المسار %s . لكنني وجدت ملفا بدلا عن ذلك" @@ -1093,23 +1093,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "فشل محي الشريحة" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "فشل المبرمجة" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "فشل حرق محمل الاقلاع" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "فشل انشاء مسار البيانات" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "فشل انشاء مسار التنزيلات" @@ -1129,7 +1129,7 @@ msgstr "تعذر الاستماع على منفذ TCP : %[1]s . خطأ غير م msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "تعذر الاستماع على منفذ TCP : %s . العناوين قيد الاستخدام مسبقا" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "تعذر الرفع" @@ -1137,7 +1137,7 @@ msgstr "تعذر الرفع" msgid "File:" msgstr "الملف : " -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1203,7 +1203,7 @@ msgstr "يولد سكربت الاكمال" msgid "Generates completion scripts for various shells" msgstr "يولد سكربتات اكمال من اجل مختلف ال shells" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "يتم توليد النماذج الاولية للتوابع :" @@ -1215,7 +1215,7 @@ msgstr "" msgid "Global Flags:" msgstr "علامات عامة :" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1223,7 +1223,7 @@ msgstr "" "المتغيرات العامة تستخدم %[1]s بايت (%[3]s%%) من الرام ، تبقى %[4]s بايت " "للمتغيرات المحلية. الحجم الاقصى %[2]s بايت." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "المتغيرات العامة تستخدم %[1]s بايت من الذاكرة المتغيرة." @@ -1241,7 +1241,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "خصائص التعرُّف" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "اذا تم تحديده فان مجموعة الكود الثنائي الذي تم بناؤه سيتم تصديره الى مجلد " @@ -1272,20 +1272,20 @@ msgstr "تثبيت المكتبات داخل مجلد IDE-Builtin" msgid "Installed" msgstr "تم التنصيب" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "تم تثبيت %s" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "جار تثبيت %s" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "جار تثبيت المكتبة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "جار تثبيت المنصة %s" @@ -1324,7 +1324,7 @@ msgstr "عنوان TCP غير صالح لان المنفذ غير موجود" msgid "Invalid URL" msgstr "URL غير صالح" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "URL الاضافي غير صالح : %v" @@ -1338,19 +1338,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "تم اعطاء وسيط غير صالح %v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "خصائص البناء غير صالحة" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "data size regexp غير صالح : %s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "eeprom size regexp غير صالح %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1370,11 +1370,11 @@ msgstr "مكتبة غير صالحة" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy غير صالح '%[1]s': %[2]s" @@ -1382,7 +1382,7 @@ msgstr "network.proxy غير صالح '%[1]s': %[2]s" msgid "Invalid output format: %s" msgstr "صيغة اخراج خاطئة : %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "فهرس الحزمة غير صالح في %s" @@ -1390,7 +1390,7 @@ msgstr "فهرس الحزمة غير صالح في %s" msgid "Invalid parameter %s: version not allowed" msgstr "معطيات خاطئة %s: النسخة غير مسموح بها" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "قيمة pid غير صالحة : '%s'" @@ -1398,15 +1398,15 @@ msgstr "قيمة pid غير صالحة : '%s'" msgid "Invalid profile" msgstr "ملف تعريف غير صالح" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "وصفة غير صالحة ضمن platform.txt" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "size regexp غير صالح : %s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1414,11 +1414,11 @@ msgstr "" msgid "Invalid version" msgstr "نسخة غير صالحة" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "قيمة vid غير صالحة : '%s'" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1443,11 +1443,11 @@ msgstr "اسم المكتبة" msgid "Latest" msgstr "الأخير" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "المكتبة %[1]s تم تحديدها بانها precompiled" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1461,7 +1461,7 @@ msgstr "المكتبة %s مثبتة باخر اصدار مسبقا" msgid "Library %s is not installed" msgstr "المكتبة %s غير مثبتة" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "تعذر ايجاد المكتبة %s" @@ -1480,8 +1480,8 @@ msgstr "" msgid "Library install failed" msgstr "فشل تثبيت المكتبة" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "المكتبة مثبتة" @@ -1489,7 +1489,7 @@ msgstr "المكتبة مثبتة" msgid "License: %s" msgstr "رخصة" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "جار ربط كل شيء مع بعضه" @@ -1517,7 +1517,7 @@ msgstr "" "اعرض كل خيارات اللوحات مفصولة عن بعضها بفواصل . او يمكن استخدامها عدة مرات " "من اجل عدة خيارات" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1541,8 +1541,8 @@ msgstr "انشاء قائمة بجميع اللوحات المتصلة" msgid "Lists cores and libraries that can be upgraded" msgstr "يحصي النوى و المكتبات التي يمكن ترقيتها" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "جار تحميل ملف الفهرس : %v" @@ -1550,7 +1550,7 @@ msgstr "جار تحميل ملف الفهرس : %v" msgid "Location" msgstr "الموقع" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "ذاكرة منخفضة متبقية، مشاكل عدم إستقرار قد تحدث." @@ -1558,7 +1558,7 @@ msgstr "ذاكرة منخفضة متبقية، مشاكل عدم إستقرار msgid "Maintainer: %s" msgstr "القائم بالصيانة : %s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1602,7 +1602,7 @@ msgstr "المبرمج مفقود" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr " size regexp مفقود" @@ -1684,7 +1684,7 @@ msgstr "لا توجد منصات مثبتة" msgid "No platforms matching your search." msgstr "ﻻ يوجد منصات تطابق بحثك" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "تعذر ايجاد منفذ رفع , باستخدام %s كرجوع احتياطي fallback" @@ -1692,7 +1692,7 @@ msgstr "تعذر ايجاد منفذ رفع , باستخدام %s كرجوع ا msgid "No valid dependencies solution found" msgstr "تعذر ايجاد حل تبعيات صالح" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "الذاكرة غير كافية؛ راجع %[1]s لنصائح حول استخدامها بكفائة" @@ -1724,38 +1724,38 @@ msgstr "فتح منفذ تواصل مع اللوحة" msgid "Option:" msgstr "اختيار:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "اختياري، يمكن أن يكون: %s. يُستخدم لإخبار ال gcc أي مستوي تحذير يَستخدِم (-W" " flag)" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "اختياري , يقوم بتنظيف مجلد البناء ولا يستخدم اي بناء مخزن مؤقتا" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "اختياري , يحسن مخرجات المترجم خلال تصحيح الاخطاء بدلا عن الاصدار" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "اختياري , يكبح كل خرج" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "اختياري، يُفعل الوضع المفصل." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "اختياري , مسار لملف json. الذي يحتوي على البدائل من الكود المصدري للمشروع" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1817,11 +1817,11 @@ msgstr "موقع الحزمة على الويب" msgid "Paragraph: %s" msgstr "المقطع : %s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "المسار" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1829,7 +1829,7 @@ msgstr "" "المسار الى مجموعة من المكتبات . يمكن استخدامه عدة مرات او من اجل عدة مدخلات " "حيث يتم فصلها باستخدام فاصلة" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1841,7 +1841,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "مسار للملف حيث تُكتب السجلات" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1849,20 +1849,20 @@ msgstr "" "المسار الذي يتم فيه حفظ الملفات التي تمت ترجمتها , اذا تم ازالته , سيتم " "انشاء مجلد داخل المسار المؤقت الافتراضي في نظام التشغيل" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "جار تفعيل 1200-bps touch reset على المنفذ التسلسلي %s" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "المنصة %s مثبتة سابقا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "تم تثبيت المنصة: %s" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1870,7 +1870,7 @@ msgstr "" "المنصة %sغير موجودة في اي فهرس معروف\n" "ربما تحتاج الى اضافة عنوان url من طرف 3 " -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "تم إلغاء تثبيت المنصة: %s" @@ -1886,7 +1886,7 @@ msgstr "المنصة '%s' غير موجودة" msgid "Platform ID" msgstr "Platform ID" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "id المنصة غير صحيح" @@ -1946,8 +1946,8 @@ msgstr "المنفذ %v مغلق" msgid "Port monitor error" msgstr "خطا في مراقب المنفذ" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "تعذر ايجاد المكتبة التي تمت ترجمتها مسبقا في \"%[1]s\"" @@ -1955,7 +1955,7 @@ msgstr "تعذر ايجاد المكتبة التي تمت ترجمتها مسب msgid "Print details about a board." msgstr "طباعة تفاصيل عن لوحة." -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "طباعة الكود قبل معالجته الى stdout بدلا من الترجمة " @@ -2011,11 +2011,11 @@ msgstr "يشمل : %s" msgid "Removes one or more values from a setting." msgstr "يزيل قيمة او اكثر من اعداد" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "تبديل %[1]s ب %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "استبدال المنصة %[1]s بـ %[2]s" @@ -2031,12 +2031,12 @@ msgstr "التشغيل ضمن الوضع الصامت , يظهر فقط شاشة msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "جار تشغيل البناء العادي من النواة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -2048,7 +2048,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "حفظ ادوات البناء ضمن هذا المجلد" @@ -2269,7 +2269,7 @@ msgstr "عرض رقم نسخة Arduino CLI" msgid "Size (bytes):" msgstr "الحجم (بالبايت) :" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2283,13 +2283,13 @@ msgstr "تم انشاء المشروع في : %s" msgid "Sketch profile to use" msgstr "ملف التعريف للمشروع الذي سيتم استخدامه" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "الشيفرة البرمجية كبير جدا; راجع %[1]s\n" "لنصائح لاختصارها." -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2304,19 +2304,19 @@ msgid "" msgstr "" "المشاريع ذوي اللاحقة pde. في حالة تقاعد , الرجاء تغيير لاحقة الملف الى ino." -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "تخطي ربط البرنامج النهائي القابل للتنفيذ" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "جار تخطي 1200bps touch reset لانه لم يتم تحديد منفذ تسلسلي" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "جار تخطي انشاء الارشيف لـ : %[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "جار تخطي ترجمة : %[1]s" @@ -2324,16 +2324,16 @@ msgstr "جار تخطي ترجمة : %[1]s" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "جار تخطي الكشف عن توابع المكتبة %[1]s التي تمت ترجمتها مسبقا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "جار تخطي ضبط المنصة" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "جار تخطي ضبط الاداة" @@ -2341,7 +2341,7 @@ msgstr "جار تخطي ضبط الاداة" msgid "Skipping: %[1]s" msgstr "جار تخطي : %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "يمكن تحديث بعض الفهارس" @@ -2362,7 +2362,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "ملف التهيئة المخصص (اذا لم يتم تحديده سيتم استخدام الملف الافتراضي)" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2404,7 +2404,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "يوجد عدة نسخ مثبتة من المكتبة %s" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2412,7 +2412,7 @@ msgstr "" "اسم مفتاح التشفير المخصص الذي سيستخدم لتشفير ملف ثنائي اثناء الترجمة . " "يستخدم فقط من قبل المنصات التي تدعم ذلك" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2424,7 +2424,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "تنسيق الخرج الخاص بالسجلات , يمكن ان يكون : %s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2432,7 +2432,7 @@ msgstr "" "المسار الى المجلد للبحث عن مفتاح خاص لتوقيع و تشفير الملف الثنائي , يتم " "استخدامه من قبل المنصات التي تدعم ذلك فقط" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "المنصة لا تدعم '%[1]s' من اجل المكتبات الغير مترجمة" @@ -2459,12 +2459,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "الاداة %s مثبتة مسبقا" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "تم الغاء تثبيت الاداة %s" @@ -2484,7 +2484,7 @@ msgstr "بادئة مجموعة الادوات " msgid "Toolchain type" msgstr "نوع مجموعة الادوات" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "جرب تشغيل %s" @@ -2504,7 +2504,7 @@ msgstr "الأنواع: %s" msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2527,17 +2527,17 @@ msgstr "تعذر ايجاد user home dir : %v" msgid "Unable to open file for logging: %s" msgstr "تعذر فتح ملف من اجل انشاء سجلات : %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "تعذر تقطيع عنوان URL" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "إلغاء تثبيت %s" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "إلغاء تثبيت %s، الأداة لم تعد مطلوبة" @@ -2583,7 +2583,7 @@ msgstr "يحدث فهرس المكتبات الى اخر نسخة" msgid "Updates the libraries index." msgstr "يحدث فهرس المكتبات" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "الترقية لا تقبل مدخلات مع نسخة" @@ -2616,7 +2616,7 @@ msgstr "يرفع مشاريع الاردوينو , و لا يقوم بترجمة msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "عنوان منفذ الرفع : مثال , COM3 او /dev/ttyACM2" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "تم ايجاد منفذ الرفع في %s" @@ -2624,7 +2624,7 @@ msgstr "تم ايجاد منفذ الرفع في %s" msgid "Upload port protocol, e.g: serial" msgstr "بروتوكول منفذ الرفع , مثال : serial \"تسلسلي\"" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "يرفع الملف الثنائي بعد الترجمة" @@ -2636,7 +2636,7 @@ msgstr "يرفع محمل الاقلاع على اللوحة باستخدام م msgid "Upload the bootloader." msgstr "يرفع محمل الاقلاع" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2658,11 +2658,11 @@ msgstr "الاستخدام" msgid "Use %s for more information about a command." msgstr "استخدم %s من اجل المزيد من المعلومات حول امر معين" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "المكتبة المستخدمة" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "المنصة المستخدمة" @@ -2670,7 +2670,7 @@ msgstr "المنصة المستخدمة" msgid "Used: %[1]s" msgstr "مستخدم : %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل المجلد %[2]s" @@ -2678,7 +2678,7 @@ msgstr "يتم استخدام اللوحة '%[1]s' من منصة داخل الم msgid "Using cached library dependencies for file: %[1]s" msgstr "يتم استخدام توابع المكتبة التي تم تخزينها مؤقتا من اجل الملف : %[1]s" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "يتم استخدام النواة '%[1]s' من منصة داخل الملف %[2]s " @@ -2692,25 +2692,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "استخدام المكتبة %[1]s الإصدار %[2]s في المجلد: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "استخدام المكتبة %[1]s في المجلد: %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "يتم استخدام النواة التي تم ترجمتها مسبقا %[1]s" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "يتم استخدام المكتبة التي تم ترجمتها مسبقا %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "استخدام الملف المترجم سابقا: %[1]s" @@ -2727,11 +2727,11 @@ msgid "Values" msgstr "القيم" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "التاكد من الملف الثنائي الذي سيتم رفعه قبل الرفع" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "النسخة" @@ -2740,24 +2740,24 @@ msgstr "النسخة" msgid "Versions: %s" msgstr "النسخ : %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "تحذير , تعذرت تهيئة المنصة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "تحذير , تعذر تهيئة الاداة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "تحذير : المشروع سيترجم باستخدام مكتبة خاصة او اكثر . " -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2765,11 +2765,11 @@ msgstr "" "تحذير: المكتبة %[1]s تعمل على معمارية %[2]s وقد لا تتوافق مع لوحتك الحالية " "التي تعمل على معمارية %[3]s." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "يتم انتظار منفذ الرفع (upload port) ... " -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2789,7 +2789,7 @@ msgid "" "directory." msgstr "تكتب الاعدادات الضبط الحالية في ملف التهيئة داخل مجلد البيانات" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "لا يمكنك استخدام flag %s اثناء الترجمة باستخدام بروفايل (while compiling " @@ -2827,11 +2827,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "تعذر ايجاد الملف الثنائي (Binary file) داخل %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "اللوحة %s غير موجودة" @@ -2847,7 +2847,7 @@ msgstr "مجلد المكتبات المدمجة غير محدد" msgid "can't find latest release of %s" msgstr "تعذر العثور على اخر اصدار من %s" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "تعذر العثور على اخر اصدار من الاداة %s" @@ -2859,11 +2859,11 @@ msgstr "تعذر ايجاد نمط للاكتشاف بواسطة id %s" msgid "candidates" msgstr "المرشحون" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "تعذر تشغيل اداة الرفع : %s" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "جار التاكد من اكتمال ملف الارشيف" @@ -2891,11 +2891,11 @@ msgstr "" msgid "computing hash: %s" msgstr "جار حوسبة التلبيد \"hash\" : %s" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2903,15 +2903,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "جار نسخ المكتبة الى مجلد الوجهة" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "تعذر ايجاد ادوات صالحة للبناء (valid build artifact)" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "تعذر الكتابة فوقه" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "تعذر ازالة المكتبة القديمة" @@ -2920,20 +2920,20 @@ msgstr "تعذر ازالة المكتبة القديمة" msgid "could not update sketch project file" msgstr "تعذر تحديث ملف المشروع" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "جار انشاء ملف تخزن مؤقت للنواة : %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "جار انشاء installed.json داخل %[1]s : %[2]s" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "جار انشاء مسار مؤقت للاستخراج : %s" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" "قسم البيانات تخطى الحجم المتوفر في اللوحة (data section exceeds available " @@ -2951,7 +2951,7 @@ msgstr "تعذر التثبيت لان مجلد الوجهة %s موجود مس msgid "destination directory already exists" msgstr "مجلد الوجهة موجودة مسبقا" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "المجلد غير موجود : %s" @@ -2967,7 +2967,7 @@ msgstr "المستكشف %s غير موجود" msgid "discovery %s not installed" msgstr "تعذر تثبيت المستكشف %s" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "تعذر ايجاد اصدار المستكشف %s" @@ -2983,11 +2983,11 @@ msgstr "تنزيل اخر نسخة من Arduino SAMD core" msgid "downloaded" msgstr "تم تحميله" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "جار تنزيل الاداة %[1]s : %[2]s" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "معرف اللوحة خالي (empty board identifier)" @@ -3003,12 +3003,12 @@ msgstr "تعذر فتح %s" msgid "error parsing version constraints" msgstr "تعذر تقطيع قيود النسخة" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" "خطأ اثناء معالجة الرد من السيرفر (error processing response from server)" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "خطا اثناء القيام باستعلامات مع Arduino Cloud Api" @@ -3016,7 +3016,7 @@ msgstr "خطا اثناء القيام باستعلامات مع Arduino Cloud A msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "جار استخراج الارشيف : %s" @@ -3024,7 +3024,7 @@ msgstr "جار استخراج الارشيف : %s" msgid "failed to compute hash of file \"%s\"" msgstr "تعذر حساب تلبيد \"hash\" ملف \"%s\"" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "تعذر تهيئة http client" @@ -3032,7 +3032,7 @@ msgstr "تعذر تهيئة http client" msgid "fetched archive size differs from size specified in index" msgstr "حجم الارشيف الذي تم جلبه يختلف عن الحجم المحدد في الفهرس" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "ملفات الارشيف يجب ان توضع في مسار فرعي" @@ -3062,7 +3062,7 @@ msgstr "من اجل اخر نسخة" msgid "for the specific version." msgstr "من اجل النسخة الحالية " -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -3086,11 +3086,11 @@ msgstr "جار جلب معلومات الارشيف : %s" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "جار جلب مسار الارشيف : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "جار الحصول على خصائص البناء للوحة %[1]s : %[2]s " @@ -3110,11 +3110,11 @@ msgstr "جار الحصول على توابع الاداة من اجل المن msgid "install directory not set" msgstr "لم يتم تحديد مجلد التثبيت" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "جار تثبيت الاداة %[1]s : %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "جار تثبيت المنصة %[1]s : %[2]s" @@ -3130,7 +3130,7 @@ msgstr "يوجد directive \"عبارة برمجية بداخل الكود ال msgid "invalid checksum format: %s" msgstr "تنسيق المجموع الاختباري \"checksum\" غير صالح : %s" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "اعداد التهيئة غير صالح : %s" @@ -3162,11 +3162,14 @@ msgstr "اسم المكتبة الفارغة غير صالح " msgid "invalid empty library version: %s" msgstr "نسخة المكتبة الفارغة غير صالحة : %s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "تم ايجاد اعداد اعداد فارغ غير صالح" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "عنوان url لـ git غير صالح" @@ -3194,7 +3197,7 @@ msgstr "موقع المكتبة غير صالح : %s" msgid "invalid library: no header files found" msgstr "مكتبة غير صالحة : لا يوجد ترويسة في الملف" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "خيار غير صالح %s" @@ -3210,10 +3213,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "حجم ملف ارشيف المنصة غير صالح : %s" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "معرف المنصة غير صالح" @@ -3234,7 +3233,7 @@ msgstr "قيمة الضبط الخاصة بالمنفذ غير صالحة : %s:% msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "وصفة غير صالحة %[1]s : %[2]s" @@ -3248,7 +3247,7 @@ msgstr "" "\"_\" , المحارف المتبقية يمكنها ان تحوي \"-\" و \".\" بالاضافة الى ما سبق , " "المحرف الاخير لا يمكن ان يكون \".\"" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "قيمة خاطئة '%[1]s' من اجل الخيار %[2]s" @@ -3292,7 +3291,7 @@ msgstr "" msgid "library %s already installed" msgstr "المكتبة %s مثبتة مسبقا" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "المكتبة غير صالحة" @@ -3306,8 +3305,8 @@ msgstr "جار تحميل %[1]s:%[2]s" msgid "loading boards: %s" msgstr "جار تحميل اللوحات : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "جار تحميل ملف json index %[1]s : %[2]s" @@ -3344,7 +3343,7 @@ msgstr "جار تحميل اصدار الاداة (tool release) في %s" msgid "looking for boards.txt in %s" msgstr "جار البحث عن boards.txt داخل %s" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3360,7 +3359,7 @@ msgstr "يوجد directive \"عبارة برمجية بداخل الكود ال msgid "missing checksum for: %s" msgstr "المجموع الاختباري (checksum) لـ %s مفقود" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "تعذر العثور على الحزمة %[1]s التي التي تشير اليها اللوحة %[2]s " @@ -3369,12 +3368,12 @@ msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "يوجد حزمة مفقودة من الفهرس %s , لا يمكن ضمان التحديثات المستقبلية بسبب ذلك" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة %[1]s : %[2]s التي التي تشير اليها اللوحة %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة اصدار (platform release) %[1]s : %[2]s التي التي تشير" @@ -3384,17 +3383,17 @@ msgstr "" msgid "missing signature" msgstr "هناك توقيع غير موجود" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "تعذر ايجاد اصدار المراقب : %s" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "جار نقل الارشيف الذي تم استخراجه الى مجلد الوجهة : %s" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "تم ايجاد اكثر من build artifacts : '%[1]s' و '%[2]s'" @@ -3402,7 +3401,7 @@ msgstr "تم ايجاد اكثر من build artifacts : '%[1]s' و '%[2]s'" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "تم العثور على اكثر من ملف مشروع رئيسي main sketch file (%[1]v,%[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3410,11 +3409,11 @@ msgstr "" "لا يوجد نسخة متوافقة من الاداة %[1]s من اجل نظام التشغيل الحالي , جرب " "التواصل مع %[2]s" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "لا يوجد نسخ محددة" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "لم يتم تحديد مجلد/ملف المشروع او البناء " @@ -3422,11 +3421,11 @@ msgstr "لم يتم تحديد مجلد/ملف المشروع او البناء msgid "no such file or directory" msgstr "لا يوجد ملف او مجلد مشابه" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "لا يوجد مجلد اصلي في الارشيف , تم ايجاد %[1]s و %[2]s" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "لم يتم تحديد اي منفذ للرفع" @@ -3438,7 +3437,7 @@ msgstr "تعذر ايجاد اي مشروع صالح في %[2]s : %[1]sمفقو msgid "no versions available for the current OS, try contacting %s" msgstr "لا يوجد نسخة متوفرة لنظام التشغيل الحالي , جرب التواصل مع %s" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3447,7 +3446,7 @@ msgid "not running in a terminal" msgstr "لا يعمل في الطرفية \"terminal\"" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "جار فتح ملف الارشيف : %s" @@ -3469,12 +3468,12 @@ msgstr "جار فتح الملف الهدف : %s" msgid "package %s not found" msgstr "الحزمة %sغير موجودة " -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "الحزمة '%s' غير موجودة" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "جار تقطيع FQBN : %s" @@ -3490,7 +3489,7 @@ msgstr "المسار المحدد ليس مجلدا لمنصة : %s" msgid "platform %[1]s not found in package %[2]s" msgstr "تعذر ايجاد المنصة %[1]s في الحزمة %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "المنصة %s غير مثبتة" @@ -3498,14 +3497,14 @@ msgstr "المنصة %s غير مثبتة" msgid "platform is not available for your OS" msgstr "المنصة غير متاحة لنظام التشغيل الخاص بك" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "المنصة غير مثبتة" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "الرجاء استخدام build-property-- بدلا من ذلك" @@ -3544,11 +3543,11 @@ msgstr "" msgid "reading directory %s" msgstr "جار قراءة المجلد %s" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "جار قراءة الملف %[1]s : %[2]s" @@ -3572,7 +3571,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "جار قراءة library_index.json : %s" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "جار قراءة المجلد الاصلي للحزمة : %s" @@ -3580,11 +3579,11 @@ msgstr "جار قراءة المجلد الاصلي للحزمة : %s" msgid "reading sketch files" msgstr "جاري قرأت ملفات المذكرة" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "تعذر ايجاد الوصفة '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "تعذر ايجاد الاصدار %[1]s للاداة %[2]s" @@ -3601,7 +3600,7 @@ msgstr "جار ازالة ملف الارشيف المتخرب %s" msgid "removing library directory: %s" msgstr "جار ازالة مجلد المكتبة %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "جار ازالة ملفات المنصة %s" @@ -3618,7 +3617,7 @@ msgstr "جار ازالة المفاتيح العامة للاردوينو : %s" msgid "scanning sketch examples" msgstr "جاري فحص امثلة المذكرة" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "جار البحث عن المجلد الاصلي لـ %s" @@ -3663,11 +3662,11 @@ msgstr "جار فحص حجم الارشيف : %s" msgid "testing if archive is cached: %s" msgstr "جار فحص ما اذا كان الارشيف تم تخزينه مؤقتا %s" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "جار فحص تكامل ملف الارشيف المحلي : %s" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "القسم النصي تخطى المساحة المتوفرة في اللوحة" @@ -3676,7 +3675,7 @@ msgstr "القسم النصي تخطى المساحة المتوفرة في ال msgid "the compilation database may be incomplete or inaccurate" msgstr "ربما قاعدة بيانات الترجمة ناقصة او غير دقيقة" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "استجاب السيرفر بالحالة %s" @@ -3684,7 +3683,7 @@ msgstr "استجاب السيرفر بالحالة %s" msgid "timeout waiting for message" msgstr "نفذ الوقت اثناء انتظار الرسالة " -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحزم" @@ -3693,16 +3692,16 @@ msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحز msgid "tool %s not found" msgstr "الاداة %s غير موجودة" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "الاداة غير مثبتة" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "اصدار الاداة غير موجود : %s" @@ -3710,22 +3709,22 @@ msgstr "اصدار الاداة غير موجود : %s" msgid "tool version %s not found" msgstr "نسخة الاداة %s غير موجودة" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "يجب ان يكون هناك اصدارين من نفس المكتبة %[1]s , هذا %[2]s و هذا %[3]s" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "تعذر حوسبة المسار النسبي للمشروع من اجل العنصر" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "تعذر انشاء مجلد لحفظ المشروع" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "تعذر انشاء مجلد يحوي العنصر" @@ -3733,23 +3732,23 @@ msgstr "تعذر انشاء مجلد يحوي العنصر" msgid "unable to marshal config to YAML: %v" msgstr " %v : unable to marshal config to YAML" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "تعذر قراءة محتويات العنصر الهدف" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "تعذر قراءة محتويات العنصر الاصل" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "تعذر الكتابة الى المجلد الوجهة" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "حزمة غير معروفة %s" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "منصة غير معروفة %s:%s" @@ -3769,7 +3768,7 @@ msgstr "جار تحديث arduino:samd لاخر اصدار" msgid "upgrade everything to the latest version" msgstr "تحديث كل شيء الى اخر اصدار" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "خطا اثناء الرفع %s" @@ -3793,6 +3792,6 @@ msgstr "الاصدار %s غير مدعوم من اجل نظام التشغيل msgid "version %s not found" msgstr "الاصدار %s غير موجود" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "تنسيق خاطئ في استجابة السيرفر" diff --git a/internal/locales/data/be.po b/internal/locales/data/be.po index 3b27190c3ba..c297aef07c2 100644 --- a/internal/locales/data/be.po +++ b/internal/locales/data/be.po @@ -9,7 +9,7 @@ msgstr "" "Language: be\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[2]s%[1]sВерсія: %[3]s Фіксацыі: %[4]s Дата: %[5]s" @@ -27,7 +27,7 @@ msgstr "%[1]s несапраўдны, перабудаваць усё" msgid "%[1]s is required but %[2]s is currently installed." msgstr "Патрабуецца %[1]s, але ў дадзены момант усталяваны %[2]s." -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "Шаблон %[1]s адсутнічае" @@ -35,11 +35,11 @@ msgstr "Шаблон %[1]s адсутнічае" msgid "%s already downloaded" msgstr "%s ужо спампаваны" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s і %s не могуць ужывацца разам" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s усталяваны" @@ -52,7 +52,7 @@ msgstr "%s ужо ўсталяваны." msgid "%s is not a directory" msgstr "%s не каталог" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s не кіруецца кіраўніком пакетаў" @@ -64,7 +64,7 @@ msgstr "%s павинны быць >= 1024" msgid "%s must be installed." msgstr "%s павінен быць усталяваны." -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "Шаблон %s адсутнічае" @@ -73,7 +73,7 @@ msgstr "Шаблон %s адсутнічае" msgid "'%s' has an invalid signature" msgstr "'%s' мае несапраўдны подпіс" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -85,7 +85,7 @@ msgstr "" msgid "(hidden)" msgstr "(схаваны)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(састарэлы)" @@ -152,7 +152,7 @@ msgstr "Усе платформы знаходзяцца ў актуальным msgid "All the cores are already at the latest version" msgstr "Усе ядры ўжо ўсталяваныя ў апошняй версіі" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "%s ужо ўсталяваны" @@ -180,7 +180,7 @@ msgstr "Архітэктура: %s" msgid "Archive already exists" msgstr "Архіў ужо існуе" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "Архіваванне ўбудаванага ядра (кэшаванне) у: %[1]s" @@ -269,11 +269,11 @@ msgstr "Назва платы:" msgid "Board version:" msgstr "Версія платы:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "Паказаны файл загрузніка адсутнічае: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -289,13 +289,13 @@ msgstr "Не атрымалася стварыць каталог дадзены msgid "Can't create sketch" msgstr "Не атрымалася стварыць сцэнар" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "Не атрымалася спампаваць бібліятэку" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "Не атрымалася знайсці залежнасці для платформы %s" @@ -315,11 +315,11 @@ msgstr "Не атрымалася ўжываць наступныя птушкі msgid "Can't write debug log: %s" msgstr "Не атрымалася запісаць часопіс адладкі: %s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "Не атрымалася стварыць каталог кэша зборкі" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "Не атрымалася стварыць каталог зборкі" @@ -357,15 +357,15 @@ msgstr "Не атрымалася знайсці абсалютны шлях: %v msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "Не атрымалася здабыць канфігурацыйны ключ %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "Не атрымалася ўсталяваць платформу" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "Не атрымалася ўсталяваць інструмент %s" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "Не атрымалася скінуць порт: %s" @@ -374,7 +374,7 @@ msgstr "Не атрымалася скінуць порт: %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "Не атрымалася выдаліць канфігурацыйны ключ %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "Не атрымалася абнавіць платформу" @@ -417,7 +417,7 @@ msgstr "" "Каманда працягвае выконвацца і друкуе спіс злучаных плат кожны раз, калі " "адбываюцца змяненні." -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "Скампіляваны сцэнар не знойдзены ў %s" @@ -425,19 +425,19 @@ msgstr "Скампіляваны сцэнар не знойдзены ў %s" msgid "Compiles Arduino sketches." msgstr "Кампіляцыя сцэнараў Arduino." -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "Кампіляцыя ядра..." -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "Кампіляцыя бібліятэкі..." -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "Кампіляцыя бібліятэкі \"%[1]s\"" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Кампіляцыя сцэнара" @@ -463,11 +463,11 @@ msgstr "" "Наладзьце налады камунікацыйнага порта.\n" "Фармат <ID> =<value>[<ID>,=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "Наладзіць платформу." -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "Наладзіць інструмент." @@ -485,19 +485,19 @@ msgstr "" msgid "Core" msgstr "Ядро" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "Не атрымалася злучыцца па пратаколе HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Не атрымалася стварыць індэксны каталог" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "Не атрымалася глыбока кэшаваць зборку ядра: %[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "Не ўдалося вызначыць памер праграмы" @@ -509,7 +509,7 @@ msgstr "Не атрымалася здабыць бягучы працоўны msgid "Create a new Sketch" msgstr "Стварыць новы сцэнар" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "Стварыць і надрукаваць канфігурацыі профілю з зборкі." @@ -525,7 +525,7 @@ msgstr "" "Стварэнне ці абнаўленне файлу канфігурацыі ў каталогу дадзеных або " "карыстальніцкім каталогу з бягучымі наладамі канфігурацыі." -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -604,7 +604,7 @@ msgstr "Залежнасці: %s" msgid "Description" msgstr "Апісанне" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "Выяўленне бібліятэк, якія ўжываюцца..." @@ -668,7 +668,7 @@ msgid "Do not try to update library dependencies if already installed." msgstr "" "Не спрабаваць абнаўляць залежнасці бібліятэкі, калі яны ўжо ўсталяваныя." -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "Спампоўка %s" @@ -676,21 +676,21 @@ msgstr "Спампоўка %s" msgid "Downloading index signature: %s" msgstr "Спампоўка індэкснай сігнатуры: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Спамоўка індэксаў: %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "Спампоўка бібліятэкі %s" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "Спампоўка інструмента %s, які адсутнічае" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "Спампоўка пакетаў" @@ -727,7 +727,7 @@ msgstr "Увясць адрас URL git для бібліятэк, якія ра msgid "Error adding file to sketch archive" msgstr "Памылка пры даданні файла ў архіў сцэнараў" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Памылка архівавання ўбудаванага ядра (кэшавання) у %[1]s: %[2]s" @@ -743,11 +743,11 @@ msgstr "Памылка пры вылічэнні адноснага шляху msgid "Error cleaning caches: %v" msgstr "Памылка пры ачысткі кэшу: %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "Памылка пры пераўтварэнні шляху ў абсалютны: %v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "Памылка пры капіяванні выхаднога файла %s" @@ -761,7 +761,7 @@ msgstr "Памылка пры стварэнні канфігурацыі: %v" msgid "Error creating instance: %v" msgstr "Памылка пры стварэнні асобніка: %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "Памылка пры стварэнні выходнага каталогу" @@ -786,7 +786,7 @@ msgstr "Памылка пры спампоўцы %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Памылка пры спампоўцы %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Памылка пры спампоўцы індэксу '%s'" @@ -794,7 +794,7 @@ msgstr "Памылка пры спампоўцы індэксу '%s'" msgid "Error downloading index signature '%s'" msgstr "Памылка пры спампоўцы індэкснай сігнатуры '%s'" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "Памылка пры спамоўцы бібліятэкі %s" @@ -818,7 +818,7 @@ msgstr "Памылка пры кадаванні выходных дадзены #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Памылка падчас выгрузкі: %v" @@ -827,7 +827,7 @@ msgstr "Памылка падчас выгрузкі: %v" msgid "Error during board detection" msgstr "Памылка падчас выяўленні платы" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "Памылка падчас зборкі: %v" @@ -848,7 +848,7 @@ msgstr "Памылка падчас абнаўлення: %v" msgid "Error extracting %s" msgstr "Памылка пыр выманні %s" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "Памылка пры выяўленні артэфактаў зборкі" @@ -877,7 +877,7 @@ msgstr "" "Памылка пры атрыманні першапачатковага порта з ' sketch.yaml`.\n" "Праверце, ці правільна вы паказалі каталог сцэнара, ці пакажыце аргумент --port:" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Памылка пры атрыманні інфармацыі для бібліятэкі %s" @@ -913,7 +913,7 @@ msgstr "Памылка пры ўсталяванні бібліятэкі Git: % msgid "Error installing Zip Library: %v" msgstr "Памылка пры ўсталяванні бібліятэкі Zip: %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "Памылка пры ўсталяванні бібліятэкі %s" @@ -957,16 +957,16 @@ msgstr "Памылка пры адкрыцці %s" msgid "Error opening debug logging file: %s" msgstr "Памылка пры адкрыцці файла часопіса адладкі: %s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" "Памылка пры адкрыцці зыходнага кода, які перавызначае файл дадзеных: %v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "Памылка пры разборы аргумента --show-properties: %v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "Памылка пры чытанні каталога зборкі" @@ -982,7 +982,7 @@ msgstr "Памылка пры выпраўленні ў залежнасці д msgid "Error retrieving core list: %v" msgstr "Памылка пры выманні спісу ядраў: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "Памылка пры адкаце змяненняў: %s" @@ -1036,7 +1036,7 @@ msgstr "Памылка пры абнаўленні індэксу бібліят msgid "Error upgrading libraries" msgstr "Памылка пры абнаўленні бібліятэк" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "Памылка пры абнаўленні платформы: %s" @@ -1049,10 +1049,10 @@ msgstr "Памылка пры праверцы сігнатуры" msgid "Error while detecting libraries included by %[1]s" msgstr "Памылка пры выяўленні бібліятэк, якія ўключаныя %[1]s" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "Памылка пры вызначэнні памеру сцэнара: %s" @@ -1068,7 +1068,7 @@ msgstr "Памылка пры запісу ў файл: %v" msgid "Error: command description is not supported by %v" msgstr "Памылка: апісанне каманды не падтрымліваецца %v" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "Памылка: няправільны зыходны код, які перавызначае файл дадзеных: %v" @@ -1088,7 +1088,7 @@ msgstr "Прыклады:" msgid "Executable to debug" msgstr "Выкананы файл для адладкі" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Чаканы скампіляваны сцэнар знаходзіцца ў каталогу %s, але замест гэтага ён " @@ -1104,23 +1104,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "Не атрымалася сцерці чып" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "Не атрымалася праграмаванне" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "Не атрымалася запісаць загрузнік" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "Не атрымалася стварыць каталог дадзеных" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "Не атрымалася стварыць каталог для спамповак" @@ -1148,7 +1148,7 @@ msgstr "" "Не атрымалася праслухаць порт TCP: %s.\n" "Адрас, які ўжо ўжываецца." -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "Не атрымалася выгрузіць" @@ -1156,7 +1156,7 @@ msgstr "Не атрымалася выгрузіць" msgid "File:" msgstr "Файл:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1233,7 +1233,7 @@ msgstr "Стварэнне сцэнару завяршэння" msgid "Generates completion scripts for various shells" msgstr "Стварэнне сцэнару завяршэння для розных абалонак" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "Стварэнне прататыпаў функцый..." @@ -1245,7 +1245,7 @@ msgstr "Вяртае значэнне ключа налады." msgid "Global Flags:" msgstr "Глабальныя аргументы:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1253,7 +1253,7 @@ msgstr "" " Глабальныя зменныя ўжываюць %[1]s байтаў (%[3]s%% ) дынамічнай памяці, пакідаючы %[4]s байтаў для лакальных зменных.\n" "Максімальнае значэнне - %[2]s байтаў." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глабальныя зменныя ўжываюць %[1]s байтаў дынамічнай памяці." @@ -1271,7 +1271,7 @@ msgstr "Ідэнтыфікатар" msgid "Identification properties:" msgstr "Уласцівасці ідэнтыфікатару:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Калі зададзена, то створаныя двайковыя файлы будуць экспартаваныя ў каталог " @@ -1302,20 +1302,20 @@ msgstr "Усталяваць бібліятэкі ва ўбудаваным ка msgid "Installed" msgstr "Усталявана" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "Усталявана %s" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "Усталяванне %s" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "Усталяванне бібліятэкі %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Усталяванне платформы %s" @@ -1353,7 +1353,7 @@ msgstr "Хібны адрас TCP: порт адсутнічае" msgid "Invalid URL" msgstr "Хібны адрас URL" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "Хібны дадатковы адрас URL: %v" @@ -1367,19 +1367,19 @@ msgstr "Хібны архіў: файл %[1]s не знойдзены ў арх msgid "Invalid argument passed: %v" msgstr "Перададзены хібны аргумент: %v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "Хібныя ўласцівасці зборкі" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "Хібны памер дадзеных рэгулярнага выразу: %s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "Хібны памер eeprom рэгулярнага выразу: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "Хібны індэкс адрасу URL: %s" @@ -1399,11 +1399,11 @@ msgstr "Хібная бібліятэка" msgid "Invalid logging level: %s" msgstr "Хібны ўзровень вядзення часопіса: %s" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "Хібная канфігурацыя сеткі: %s" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "Хібны network.proxy '%[1]s': %[2]s" @@ -1411,7 +1411,7 @@ msgstr "Хібны network.proxy '%[1]s': %[2]s" msgid "Invalid output format: %s" msgstr "Хібны фармат вываду: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Хібны індэкс пакету ў %s" @@ -1419,7 +1419,7 @@ msgstr "Хібны індэкс пакету ў %s" msgid "Invalid parameter %s: version not allowed" msgstr "Хібная налада %s: версія не дазволеная" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "Хібнае значэнне pid: '%s'" @@ -1427,15 +1427,15 @@ msgstr "Хібнае значэнне pid: '%s'" msgid "Invalid profile" msgstr "Хібны профіль" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "Хібныя пакеты ў platform.txt" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "Хібны памер regexp: %s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "Хібнае значэнне ў канфігурацыі" @@ -1443,11 +1443,11 @@ msgstr "Хібнае значэнне ў канфігурацыі" msgid "Invalid version" msgstr "Хібаня версія" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "Хібнае значэнне vid: '%s'" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1472,11 +1472,11 @@ msgstr "Назва бібліятэкі" msgid "Latest" msgstr "Апошні" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "Бібліятэка %[1]s была абвешчаная папярэдне скампіляванай:" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1490,7 +1490,7 @@ msgstr "Бібліятэка %s ужо апошняй версіі" msgid "Library %s is not installed" msgstr "Бібліятэка %s не ўсталяваная" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "Бібліятэка %s не знойдзеная" @@ -1509,8 +1509,8 @@ msgstr "" msgid "Library install failed" msgstr "Не атрымалася ўсталяваць бібліятэку" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "Бібліятэка ўсталяваная" @@ -1518,7 +1518,7 @@ msgstr "Бібліятэка ўсталяваная" msgid "License: %s" msgstr "Ліцэнзія: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "Звязваць усё разам..." @@ -1546,7 +1546,7 @@ msgstr "" "Пералічыць налады платы, праз коску.\n" "Ці можа ўжываць некалькі разоў для некалькіх налад." -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1570,8 +1570,8 @@ msgstr "Спіс усех злучаных плат." msgid "Lists cores and libraries that can be upgraded" msgstr "Пералічыць ядры і бібліятэкі, якія можна абнавіць" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "Загрузка індэкснага файла: %v" @@ -1579,7 +1579,7 @@ msgstr "Загрузка індэкснага файла: %v" msgid "Location" msgstr "Месцазнаходжанне" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" "Недастаткова даступнай памяці, могуць узнікнуць праблемы са стабільнасцю." @@ -1588,7 +1588,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "Суправаджэнне: %s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1635,7 +1635,7 @@ msgstr "Адсутнічае праграматар" msgid "Missing required upload field: %s" msgstr "Адсутнічае абавязковае поле для выгрузкі: %s" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "Адсутнічае памер regexp" @@ -1717,7 +1717,7 @@ msgstr "Платформы не ўсталяваныя." msgid "No platforms matching your search." msgstr "Няма платформаў, якія адпавядаюць вашаму запыту." -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "Порт выгрузкі не знойдзены, ўжываецца %s у якасці рэзервовага" @@ -1725,7 +1725,7 @@ msgstr "Порт выгрузкі не знойдзены, ўжываецца %s msgid "No valid dependencies solution found" msgstr "Не знойдзена дапушчальнага рашэння для залежнасцяў" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Недастаткова памяці; азнаёмцеся %[1]s з парадамі па памяншэнні займаемага " @@ -1759,33 +1759,33 @@ msgstr "Адчыніць камунікацыйны порт з дапамога msgid "Option:" msgstr "Налады:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Неабавязкова, можа быць: %s.\n" "Ужываецца для ўказанні gcc, які ўзровень папярэджання ўжываць (аргумент -W)." -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "Неабавязкова, ачысціць каталог зборкі і не ўжываць кэшаваныя зборкі." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Неабавязкова, аптымізаваць выходныя дадзеныя кампіляцыі для адладкі, а не " "для выпуску." -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "Неабавязкова, душыць амаль усе выходныя дадзеныя." -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Неабавязкова, уключыць падрабязны рэжым." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1793,7 +1793,7 @@ msgstr "" "Неабавязкова, шлях да файла .json, які змяшчае набор замен зыходнага кода " "сцэнара." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1859,11 +1859,11 @@ msgstr "Вэб-сайт пакету:" msgid "Paragraph: %s" msgstr "Абзац: %s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "Шлях" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1871,7 +1871,7 @@ msgstr "" "Шлях да калекцыі бібліятэк.\n" "Можа ўжывацца некалькі разоў ці запісы могуць быць праз коску." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1883,7 +1883,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Шлях да файла, у які будуць запісвацца логі." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1891,20 +1891,20 @@ msgstr "" "Шлях для захавання скампіляваных файлаў.\n" "Калі не паказаны, будзе створаны каталог ў першапачатковым часовым шляху вашай аперацыйнай сістэмы." -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Выкананне сэнсарнага скіду з хуткасцю 1200 біт/с на паслядоўным порце" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "Платформа %s ужо ўсталяваная" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "Платформа %s усталяваная" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1912,7 +1912,7 @@ msgstr "" "Платформа %s не знойдзена ні ў адным з вядомых індэксаў.\n" "Ці можа быць, вам трэба дадаць 3 бок адрасу URL?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "Платформа %s выдаленая" @@ -1928,7 +1928,7 @@ msgstr "Платформа '%s' не знойдзеная" msgid "Platform ID" msgstr "Ідэнтыфікатар платформы" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "Неправільны ідэнтыфікатар платформы" @@ -1988,8 +1988,8 @@ msgstr "Порт зачынены: %v" msgid "Port monitor error" msgstr "Памылка манитора порта" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Папярэдне скампіляваная бібліятэка ў \"%[1]s\" не знойдзеная" @@ -1997,7 +1997,7 @@ msgstr "Папярэдне скампіляваная бібліятэка ў \" msgid "Print details about a board." msgstr "Надрукаваць падрабязную інфармацыю пра плату." -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" "Надрукаваць папярэдне апрацаваны код у стандартны вывад замест кампіляцыі." @@ -2054,11 +2054,11 @@ msgstr "Правайдэр уключэнняў: %s" msgid "Removes one or more values from a setting." msgstr "Выдаляе адно ці некалькі значэнняў з налады." -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "Замена %[1]s на %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "Замена платформы %[1]s на %[2]s" @@ -2076,12 +2076,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "Запусціць Arduino CLI як дэман gRPC." -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "Выконваецца звычайная зборка ядра..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "Выканаць сцэнар pre_uninstall." @@ -2093,7 +2093,7 @@ msgstr "Пошук тэрм" msgid "SVD file path" msgstr "Шлях да файла SVD" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "Захавайць артэфакты зборкі ў дадзеным каталогу." @@ -2351,7 +2351,7 @@ msgstr "Паказвае нумар версіі Arduino CLI." msgid "Size (bytes):" msgstr "Памер (у байтах):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2367,11 +2367,11 @@ msgstr "Сцэнар створаны ў: %s" msgid "Sketch profile to use" msgstr "Профіль эскіза, які ўжываецца" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Сцэнар занадта вялікі; глядзіце %[1]s для парады па яго памяншэнні." -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2387,20 +2387,20 @@ msgstr "" "Сцэнар з пашырэннем .pde састарэў, калі ласка, пераназавіце наступныя файлы " "ў .ino:" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "Прапусціць звязванне канчатковага выкананага файла." -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Пропуск сэнсарнага скіду з хуткасцю 1200 біт/с: паслядоўны порт не абраны!" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "Прапускаць стварэння архіва: %[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "Прапускаць кампіляцыі: %[1]s" @@ -2410,16 +2410,16 @@ msgstr "" "Выяўленне прапушчаных залежнасцяў для папярэдне скампіляванай бібліятэкі " "%[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "Прапускаць канфігурацыі платформы." -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "Прапускаць сцэнар pre_uninstall " -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "Прапускаць налады інструмента." @@ -2427,7 +2427,7 @@ msgstr "Прапускаць налады інструмента." msgid "Skipping: %[1]s" msgstr "Прапускаць: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Некаторыя індэксы не атрымалася абнавіць." @@ -2451,7 +2451,7 @@ msgstr "" "Карыстальніцкі канфігурацыйны файл (калі ён не пазначаны, будзе ўжывацца " "першапачатковы файл)." -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2495,7 +2495,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "Бібліятэка %s мае некалькі ўсталяванняў:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2503,7 +2503,7 @@ msgstr "" "Назва карыстальніцкага ключа шыфравання, які ўжываецца для шыфравання двайковага файла ў працэсе кампіляцыі.\n" "Ужываецца толькі тымі платформамі, якія яго падтрымліваюць." -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2515,7 +2515,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Фармат вываду часопісаў можа быць наступным: %s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2523,7 +2523,7 @@ msgstr "" "Шлях да каталога каталогаў для пошуку карыстальніцкіх ключоў для подпісу і шыфравання двайковага файла.\n" "Ужываецца толькі платформамі, якія яго падтрымліваюць." -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "Платформа не падтрымлівае '%[1]s' папярэдне скампіляваныя бібліятэкі." @@ -2550,12 +2550,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "Часовая пазнака на кожны ўваходны радок." -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "Інструмент %s ужо ўсталяваны" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "Інструмент %s выдалены" @@ -2575,7 +2575,7 @@ msgstr "Прыстаўка ланцужка інструментаў" msgid "Toolchain type" msgstr "Тып ланцужка інструментаў" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Спроба выканання %s" @@ -2595,7 +2595,7 @@ msgstr "Тыпы: %s" msgid "URL:" msgstr "Адрас URL:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2619,17 +2619,17 @@ msgstr "Няма доступу да хатняга каталогу карыс msgid "Unable to open file for logging: %s" msgstr "Не атрымалася адчыніць файл для вядзення часопіса: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "Не атрымалася разабраць адрас URL" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "Выдаленне %s" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "Выдаленне %s, інструмент больш не патрабуецца" @@ -2677,7 +2677,7 @@ msgstr "Абнаўленне індэксу бібліятэк да апошня msgid "Updates the libraries index." msgstr "Абнаўленне бібліятэчнага індэксу." -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "Абнаўленне не прымае параметры, названыя ў версіі" @@ -2712,7 +2712,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Адрас порта выгрузкі, напрыклад: COM3 ці /dev/ttyACM2" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "Порт выгрузкі знойдзены на %s" @@ -2720,7 +2720,7 @@ msgstr "Порт выгрузкі знойдзены на %s" msgid "Upload port protocol, e.g: serial" msgstr "Пратакол порта выгрузкі, напрыклад: паслядоўны" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "Выгрузіць двайковы файл пасля кампіляцыі." @@ -2732,7 +2732,7 @@ msgstr "Выгрузіць загрузнік на плату з дапамог msgid "Upload the bootloader." msgstr "Выгрузіць загрузнік." -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2756,11 +2756,11 @@ msgstr "Ужыта:" msgid "Use %s for more information about a command." msgstr "Ужыць %s для атрымання дадатковай інфармацыі пра каманду." -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "Ужытая бібліятэка" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "Ужытая платформа" @@ -2768,7 +2768,7 @@ msgstr "Ужытая платформа" msgid "Used: %[1]s" msgstr "Ужыта: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Ужыванне платы '%[1]s' з платформы ў каталог: %[2]s" @@ -2776,7 +2776,7 @@ msgstr "Ужыванне платы '%[1]s' з платформы ў катал msgid "Using cached library dependencies for file: %[1]s" msgstr "Ужыванне кэшаванай бібліятэкі залежнасцяў для файла: %[1]s" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Ужыванне ядра '%[1]s' з платформы ў каталог: %[2]s" @@ -2792,25 +2792,25 @@ msgstr "" "Ужыванне стандартнай канфігурацыі манітора.\n" "Увага: для працы вашай платы могуць спатрэбіцца іншыя налады!\n" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Ужыванне бібліятэкі %[1]s з версіяй %[2]s у каталогу: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Ужыванне бібліятэкі %[1]s у каталогу: %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "Ужыванне папярэдне скампіляванага ядра: %[1]s" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "Ужыванне папярэдне скампіляванай бібліятэкі ў %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "Ужыванне раней скампіляванага файла: %[1]s" @@ -2827,11 +2827,11 @@ msgid "Values" msgstr "Значэнні" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "Праверыць загружаны двайковы файл пасля выгрузкі." -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Версія" @@ -2840,26 +2840,26 @@ msgstr "Версія" msgid "Versions: %s" msgstr "Версіі: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "Увага: не атрымалася канфігураваць платформу: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "Увага: не атрымалася канфігураваць інструмент: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "Увага: не атрымалася запусціць сцэнар pre_uninstall: %s" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "Увага: сцэнар скампіляваны з ужываннем адной ці некалькіх карыстальніцкіх " "бібліятэк." -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2868,11 +2868,11 @@ msgstr "" "можа быць несумяшчальная з вашай бягучай платай, якая працуе на " "архітэктуры(-ах) %[3]s." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "Чаканне порта выгрузкі..." -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2893,7 +2893,7 @@ msgid "" "directory." msgstr "Запіс бягучай канфігурацыі ў файл канфігурацыі ў каталогу дадзеных." -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "Вы не можаце ўжываць аргумент %s пры кампіляцыі з ужываннем профілю." @@ -2930,11 +2930,11 @@ msgstr "асноўны пошук па запыту \"аўдыё\"" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "асноўны пошук па \"esp32\" і \"display\" абмежаваны афіцыйным распрацоўшчыкам" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "двайковы файл не знойдзены ў %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "плата %s не знойдзеная " @@ -2950,7 +2950,7 @@ msgstr "каталог убудаваных бібліятэк не зададз msgid "can't find latest release of %s" msgstr "не атрымалася знайсці апошнюю версію %s" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "не атрымлася знайсці апошнюю версію інструмента %s" @@ -2962,11 +2962,11 @@ msgstr "не атрымалася знайсці шаблон для выяўл msgid "candidates" msgstr "кандыдаты" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "не атрымалася запусціць інструмент выгрузкі: %s" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "праверка цэласнасці лакальнага архіва" @@ -2992,11 +2992,11 @@ msgstr "паведамленне не сінхранізаванае, чакае msgid "computing hash: %s" msgstr "вылічэнне хэша: %s" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "ключ канфігурацыі %s змяшчае недапушчальны знак" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "значэнне канфігурацыі %s змяшчае недапушчальны знак" @@ -3004,15 +3004,15 @@ msgstr "значэнне канфігурацыі %s змяшчае недапу msgid "copying library to destination directory:" msgstr "капіраванне бібліятэкі ў каталог прызначэння:" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "не атрымалася знайсці дапушчальны артэфакт зборкі" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "не атрымалася перазапісаць" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "не атрымалася выдаліць старую бібліятэку" @@ -3021,20 +3021,20 @@ msgstr "не атрымалася выдаліць старую бібліятэ msgid "could not update sketch project file" msgstr "не атрымалася абнавіць сцэнар праекту" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "стварэнне асноўнага каталогу кэша: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "стварэнне nstalled.json у %[1]s: %[2]s" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "стварэнне часовага каталогу для выняцця: %s" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "аб'ём секцыі дадзеных перавышае даступную прастору на плаце" @@ -3050,7 +3050,7 @@ msgstr "каталог прызначэння %s ужо існуе, усталя msgid "destination directory already exists" msgstr "каталог прызначэння ўжо існуе" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "каталог не існуе: %s" @@ -3066,7 +3066,7 @@ msgstr "выяўленне %s не знойдзенае" msgid "discovery %s not installed" msgstr "выяўленне %s не ўсталяванае" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "выпуск выяўлення не знойдзены: %s" @@ -3082,11 +3082,11 @@ msgstr "спампаваць апошнюю версію Arduino з тым жа msgid "downloaded" msgstr "спампаваны" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "спампаванне інструмента %[1]s: %[2]s" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "пусты ідэнтыфікатар платы" @@ -3102,11 +3102,11 @@ msgstr "памылка пры адкрыцці %s" msgid "error parsing version constraints" msgstr "памылка пры разборы абмежаванняў версіі" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "памылка пры апрацоўцы адказу ад сервера" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "памылка пры запыце Arduino Cloud Api" @@ -3114,7 +3114,7 @@ msgstr "памылка пры запыце Arduino Cloud Api" msgid "extracting archive" msgstr "выманне архіва" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "выманне архіва: %s" @@ -3122,7 +3122,7 @@ msgstr "выманне архіва: %s" msgid "failed to compute hash of file \"%s\"" msgstr "не атрымалася вылічыць хэш файла \"%s\"" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "не атрымалася ініцыялізаваць кліент http" @@ -3131,7 +3131,7 @@ msgid "fetched archive size differs from size specified in index" msgstr "" "памер атрыманага архіва адрозніваецца ад памеру, які названы ў індэксе" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "файлы ў архіве павінны быць змешчаныя ў укладзены каталог" @@ -3161,7 +3161,7 @@ msgstr "для апошняй версіі." msgid "for the specific version." msgstr "для канкрэтнай версіі." -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "поле FQBN утрымлівае недапушчальны знак" @@ -3185,11 +3185,11 @@ msgstr "атрыманне інфармацыі пра архіў: %s" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "атрыманне шляху да архіва: %" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "атрыманне ўласцівасцяў зборкі для платы %[1]s: %[2]s" @@ -3209,11 +3209,11 @@ msgstr "атрыманне залежнасцяў інструментаў дл msgid "install directory not set" msgstr "каталог для ўсталявання не зададзены" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "усталяванне інструменту %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "усталяванне платформы %[1]s: %[2]s" @@ -3229,7 +3229,7 @@ msgstr "хібная дырэктыва '%s'" msgid "invalid checksum format: %s" msgstr "хібны фармат кантрольнай сумы: %s" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "хібная налада канфігурацыі: %s" @@ -3261,11 +3261,14 @@ msgstr "хібная пустая назва ядра" msgid "invalid empty library version: %s" msgstr "хібная пустая версія адра: %s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "знойдзена хібная пустая налада" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "хібны адрас URL git" @@ -3293,7 +3296,7 @@ msgstr "хібнае размяшчэнне бібліятэкі: %s" msgid "invalid library: no header files found" msgstr "хібная бібліятэка: файлы загалоўкаў не знойдзеныя" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "хібная налада '%s'" @@ -3309,10 +3312,6 @@ msgstr "хібны шлях для стварэння каталога канф msgid "invalid path writing inventory file: %[1]s error" msgstr "хібны шлях для запісу файла інвентарызацыі: памылка %[1]s" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "хібны памер архіва платформы: %s" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "хібны ідэнтыфікатар платформы" @@ -3333,7 +3332,7 @@ msgstr "хібнае значэнне канфігурацыі порта для msgid "invalid port configuration: %s=%s" msgstr "хібная канфігурацыя порта: %s=%s" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "хібны пакет '%[1]s': %[2]s" @@ -3346,7 +3345,7 @@ msgstr "" "хібная назва сцэнару \"%[1]s\": першы знак павінен быць літарна-лічбавым ці \"_\", наступныя таксама могуць утрымліваць \"-\" і \".\".\n" "Апошні знак не можа быць \".\"." -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "хібнае значэнне '%[1]s' для налады '%[2]s'" @@ -3392,7 +3391,7 @@ msgstr "бібліятэкі з назвай, якая дакладна супа msgid "library %s already installed" msgstr "бібліятэка %s ужо ўсталяваная" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "бібліятэка несапраўдная" @@ -3406,8 +3405,8 @@ msgstr "загрузка %[1]s: %[2]s" msgid "loading boards: %s" msgstr "загрузка платы: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "загрузка індэкснага файла json %[1]s: %[2]s" @@ -3444,7 +3443,7 @@ msgstr "загрузка выпуску інструмента ў %s" msgid "looking for boards.txt in %s" msgstr "пошук boards.txt у %s" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "пошук артэфактаў зборкі" @@ -3460,7 +3459,7 @@ msgstr "адсутнічае дырэктыва '%s'" msgid "missing checksum for: %s" msgstr "адсутнічае кантрольная сума для: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "адсутнічае пакет %[1]s, на які спасылаецца плата%[2]s" @@ -3469,11 +3468,11 @@ msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "адсутнічае індэкс пакета %s, будучыя абнаўленні не могуць быць гарантаваныя" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "адсутнічае платформа %[1]s: %[2]s на якую спасылаецца плата %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "адсутнічае выпуск платформы %[1]s: %[2]s на які спасылаецца плата %[3]s" @@ -3482,17 +3481,17 @@ msgstr "" msgid "missing signature" msgstr "адсутнчіае сігнатура" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "выпуск маніторынгу не знойдзена: %s" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "перамяшчэнне вынятага архіва ў каталог прызначэння: %s" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "выяўлена некалькі артэфактаў зборкі: '%[1]s' і '%[2]s'" @@ -3500,7 +3499,7 @@ msgstr "выяўлена некалькі артэфактаў зборкі: '%[ msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "знойдзена некалькі асноўных файлаў сцэнара (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3508,11 +3507,11 @@ msgstr "" "не знойдзена сумяшчальнай версіі інструментаў %[1]s для бягучай аперацыйнай " "сістэмы, паспрабуйце звязацца з %[2]s" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "асобнік не пазначаны" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "не паказаны каталог/файл сцэнара або зборкі" @@ -3520,12 +3519,12 @@ msgstr "не паказаны каталог/файл сцэнара або зб msgid "no such file or directory" msgstr "такога файла ці каталога няма" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" "у архіве няма ўнікальнага каранёвага каталога, знойдзена '%[1]s' і '%[2]s'" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "порт загрузкі не пазначаны" @@ -3539,7 +3538,7 @@ msgstr "" "для бягучай аперацыйнай сістэмы не даступна ні адной версіі, паспрабуйце " "звязацца з %s" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "не з'яўляецца FQBN: %s" @@ -3548,7 +3547,7 @@ msgid "not running in a terminal" msgstr "не працуе ў тэрмінале" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "адкрыццё файла архіва: %s" @@ -3570,12 +3569,12 @@ msgstr "адкрыццё мэтавага файлау: %s" msgid "package %s not found" msgstr "пакет %s не знойдзены" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "пакет '%s' не знойдзены" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "разбор fqbn: %s" @@ -3591,7 +3590,7 @@ msgstr "шлях не з'яўляецца каталогам платформы: msgid "platform %[1]s not found in package %[2]s" msgstr "платформа %[1]s не знойдзена ў пакеце %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "платформа %s не ўсталяваная" @@ -3599,14 +3598,14 @@ msgstr "платформа %s не ўсталяваная" msgid "platform is not available for your OS" msgstr "платформа недаступная для вашай аперацыйнай сістэмы" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "платформа не ўсталяваная" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "калі ласка, ужывайце --build-property." @@ -3645,11 +3644,11 @@ msgstr "чытанне зместу каталога %[1]s" msgid "reading directory %s" msgstr "чытанне каталогу %s" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "чытанне зместу каталога %s" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "чытанне файлу %[1]s: %[2]s" @@ -3673,7 +3672,7 @@ msgstr "чытанне зыходнага каталогу бібліятэкі: msgid "reading library_index.json: %s" msgstr "чытанне library_index.json: %s" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "чытанне каранёвага каталога пакету: %s" @@ -3681,11 +3680,11 @@ msgstr "чытанне каранёвага каталога пакету: %s" msgid "reading sketch files" msgstr "чытанне файлаў сцэнару" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "пакет '%s' не знойдзены" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "не знойдзены выпуск %[1]s для інструмента %[2]s" @@ -3702,7 +3701,7 @@ msgstr "выдаленне пашкоджанага архіўнага файл msgid "removing library directory: %s" msgstr "выдаленне каталогу бібліятэкі: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "выдаленне файлаў платформы: %s" @@ -3719,7 +3718,7 @@ msgstr "выманне адкрытых ключоў Arduino: %s" msgid "scanning sketch examples" msgstr "чытанне прыкладаў сцэнара" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "пошук у каранёвым каталогу пакета: %s" @@ -3766,11 +3765,11 @@ msgstr "праверка памеру архіва: %s" msgid "testing if archive is cached: %s" msgstr "праверка, ці кэшаваны архіў: %s" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "Праверка цэласнасці лакальнага архіва: %s" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "тэкставы падзел займае больш месца на плаце" @@ -3779,7 +3778,7 @@ msgstr "тэкставы падзел займае больш месца на п msgid "the compilation database may be incomplete or inaccurate" msgstr "база дадзеных для складання можа быць няпоўнай ці недакладнай" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "сервер адказаў паведамленнем пра стан %s" @@ -3787,7 +3786,7 @@ msgstr "сервер адказаў паведамленнем пра стан % msgid "timeout waiting for message" msgstr "час чакання паведамлення" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "інструмент %s не кіруецца кіраўніком пакетаў" @@ -3796,16 +3795,16 @@ msgstr "інструмент %s не кіруецца кіраўніком па msgid "tool %s not found" msgstr "інструмент %s не знойдзены" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "інструмент '%[1]s не знойдзены ў пакеты '%[2]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "інструмент не ўсталяваны" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "выпуск інструмента не знойдзены: %s" @@ -3813,21 +3812,21 @@ msgstr "выпуск інструмента не знойдзены: %s" msgid "tool version %s not found" msgstr "інструмент версіі %s не знойдзена" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "патрабуюцца дзве розныя версіі бібліятэкі%[1]s: %[2]s і %[3]s" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "не атрымалася вылічыць адносны шлях да сцэнара элемента" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "не атрымалася стварыць каталог для захавання сцэнара" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "не атрымалася стварыць каталог, які змяшчае элемент" @@ -3835,23 +3834,23 @@ msgstr "не атрымалася стварыць каталог, які змя msgid "unable to marshal config to YAML: %v" msgstr "не атрымалася пераўтварыць канфігурацыю ў YAML: %v" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "не атрымалася прачытаць змест элементу прызначэння" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "не атрымалася прачытаць змест зыходнага элемента" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "не атрымалася запісаць у файл прызначэння" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "невядомы пакет %s" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "невядомая платформа %s: %s" @@ -3871,7 +3870,7 @@ msgstr "абнаўленне arduino: samd да апошняй версіі" msgid "upgrade everything to the latest version" msgstr "абнаўленне ўсяго да апошняй версіі" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "памылка пры загрузцы: %s" @@ -3895,6 +3894,6 @@ msgstr "версія %s недаступная для дадзенай апер msgid "version %s not found" msgstr "версія %s не знойдзена" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "няправільны фармат у адказе сервера" diff --git a/internal/locales/data/de.po b/internal/locales/data/de.po index 9836b6836ef..ca58e692eb5 100644 --- a/internal/locales/data/de.po +++ b/internal/locales/data/de.po @@ -18,7 +18,7 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Version: %[3]s Commit: %[4]s Datum: %[5]s" @@ -36,7 +36,7 @@ msgstr "%[1]s ungültig, alles wird neu gebaut" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s wird benötigt, aber %[2]s ist aktuell installiert." -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "Muster %[1]s fehlt" @@ -44,11 +44,11 @@ msgstr "Muster %[1]s fehlt" msgid "%s already downloaded" msgstr "%s bereits heruntergeladen" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s und %s können nicht gemeinsam verwendet werden" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s installiert" @@ -61,7 +61,7 @@ msgstr "%s ist bereits installiert." msgid "%s is not a directory" msgstr "%s ist kein Verzeichnis" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s wird nicht vom Paketmanager verwaltet" @@ -73,7 +73,7 @@ msgstr "" msgid "%s must be installed." msgstr "%s muss installiert sein." -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "Muster %s fehlt" @@ -82,7 +82,7 @@ msgstr "Muster %s fehlt" msgid "'%s' has an invalid signature" msgstr "'%s' hat eine ungültige Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -94,7 +94,7 @@ msgstr "" msgid "(hidden)" msgstr "(versteckt)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(veraltet)" @@ -161,7 +161,7 @@ msgstr "Alle Plattformen sind aktuell" msgid "All the cores are already at the latest version" msgstr "Alle Kerne sind bereits auf der neuesten Version" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "Bereits installiert %s" @@ -189,7 +189,7 @@ msgstr "Architektur: %s" msgid "Archive already exists" msgstr "Archiv existiert bereits" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "Gebauter Kern wird archiviert (zwischengespeichert) in: %[1]s" @@ -278,11 +278,11 @@ msgstr "Platinenname:" msgid "Board version:" msgstr "Platinenversion:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "Bootloader-Datei angegeben, aber nicht vorhanden: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -296,13 +296,13 @@ msgstr "Datenverzeichnis %s kann nicht erstellt werden" msgid "Can't create sketch" msgstr "Sketch kann nicht erstellt werden" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "Bibliothek kann nicht heruntergeladen werden" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "Abhängigkeiten für die Plattform %s können nicht gefunden werden" @@ -322,11 +322,11 @@ msgstr "Die folgenden Flags können nicht gemeinsam verwendet werden: %s" msgid "Can't write debug log: %s" msgstr "Debug-Log kann icht geschrieben werden: %s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "Cache-Verzeichnis kann nicht angelegt werden" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "Build-Verzeichnis kann nicht angelegt werden" @@ -364,15 +364,15 @@ msgstr "Absoluter Pfad %v wurde nicht gefunden" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "Der Konfigurationsschlüssel %[1]s kann nicht abgerufen werden: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "Plattform kann nicht installiert werden" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "Werkzeug %s kann nicht installiert werden" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "Port-Reset konnte nicht ausgeführt werden: %s" @@ -381,7 +381,7 @@ msgstr "Port-Reset konnte nicht ausgeführt werden: %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "Der Konfigurationsschlüssel %[1]s kann nicht entfernt werden: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "Plattform kann nicht upgegraded werden" @@ -423,7 +423,7 @@ msgstr "" "Befehl läuft weiter und gibt die Liste der verbundenen Platinen aus, sobald " "sich eine Änderung ergibt." -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "Kompilierter Sketch wurde nicht in%s gefunden" @@ -431,19 +431,19 @@ msgstr "Kompilierter Sketch wurde nicht in%s gefunden" msgid "Compiles Arduino sketches." msgstr "Kompiliert Arduino-Sketche." -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "Kern wird kompiliert ..." -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "Bibliotheken werden kompiliert ..." -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "Bibliothek \"%[1]s\" wird kompiliert" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Sketch wird kompiliert ..." @@ -470,11 +470,11 @@ msgstr "" "Konfiguriere die Com-Port-Einstellungen. Das Format lautet: " "<ID>=<value>[,<ID>=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "Konfiguriere Plattform" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "Konfiguriere Werkzeug." @@ -490,19 +490,19 @@ msgstr "Verbindung zu %s wird hergestellt. Abbrechen mit STRG-C." msgid "Core" msgstr "Kern" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "Konnte nicht über HTTP verbinden" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Indexverzeichnis konnte nicht erstellt werden" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "Der Core-Build konnte nicht zwischengespeichert werden: %[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "Programmgröße konnte nicht ermittelt werden" @@ -514,7 +514,7 @@ msgstr "Das aktuelle Arbeitsverzeichnis konnte nicht gefunden werden: %v " msgid "Create a new Sketch" msgstr "Einen neuen Sketch erstellen" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "Erstelle und drucke ein Konfigurations-Profil aus dem Build" @@ -531,7 +531,7 @@ msgstr "" "einem benutzerdefinierten Verzeichnis mit den aktuellen " "Konfigurationseinstellungen." -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -612,7 +612,7 @@ msgstr "Abhängigkeiten: %s" msgid "Description" msgstr "Beschreibung" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "Verwendete Bibliotheken erkennen ..." @@ -681,7 +681,7 @@ msgstr "" "Keine Bibliotheksabhängigkeiten aktualisieren, wenn diese bereits " "installiert sind." -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "%s wird heruntergeladen" @@ -689,21 +689,21 @@ msgstr "%s wird heruntergeladen" msgid "Downloading index signature: %s" msgstr "Indexsignatur wird heruntergeladen: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Index wird heruntergeladen: %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "Bibliothek %s wird heruntergeladen" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "Fehlendes Werkzeug %s wird heruntergeladen" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "Pakete werden heruntergeladen" @@ -742,7 +742,7 @@ msgstr "Gib eine git-URL mit den Bibliotheken aus Repositories ein" msgid "Error adding file to sketch archive" msgstr "Fehler beim Hinzufügen einer Datei zum Sketch-Archiv" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Fehler bei speichern des gebauten Kerns (caching) in %[1]s:%[2]s" @@ -758,11 +758,11 @@ msgstr "Fehler beim Berechnen des relativen Dateipfads" msgid "Error cleaning caches: %v" msgstr "Fehler beim bereinigen des Caches: %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "Fehler beim konvertieren des Pfads zum Absolutpfad: %v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "Fehler beim Kopieren der Ausgabedatei %s" @@ -776,7 +776,7 @@ msgstr "Fehler beim Erstellen der Konfiguration: %v" msgid "Error creating instance: %v" msgstr "Fehler beim Erstellen der Instanz: %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "Fehler beim Erstellen des Ausgabeverzeichnisses" @@ -801,7 +801,7 @@ msgstr "Fehler beim Herunterladen von %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Fehler beim Herunterladen von %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Fehler beim Herunterladen des Index '%s'" @@ -809,7 +809,7 @@ msgstr "Fehler beim Herunterladen des Index '%s'" msgid "Error downloading index signature '%s'" msgstr "Fehler beim Herunterladen der Indexsignatur '%s'" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "Fehler beim Herunterladen der Bibliothek %s" @@ -833,7 +833,7 @@ msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" @@ -842,7 +842,7 @@ msgstr "Fehler während dem Hochladen: %v" msgid "Error during board detection" msgstr "Fehler bei der Board-Erkennung" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "Fehler beim Build: %v" @@ -863,7 +863,7 @@ msgstr "Fehler beim Upgrade %v" msgid "Error extracting %s" msgstr "Fehler beim Extrahieren von %s" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "Fehler beim finden der Build-Artifacts" @@ -892,7 +892,7 @@ msgstr "" "Fehler beim ermitteln des Standard-Ports aus 'sketch.yaml' Prüfe, ob di im " "richtigen Sketch-Verzeichnis bist oder verwende das --port Attribut: %s" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Fehler beim Abrufen von Informationen für die Bibliothek %s" @@ -928,7 +928,7 @@ msgstr "Fehler beim Installieren der Git-Bibliothek: %v" msgid "Error installing Zip Library: %v" msgstr "Fehler beim Installieren der Zip-Bibliothek: %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "Fehler beim Installieren der Bibliothek %s" @@ -972,15 +972,15 @@ msgstr "Fehler beim Öffnen von %s" msgid "Error opening debug logging file: %s" msgstr "Fehler beim Öffnen der Debug-Protokollierungsdatei: %s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "Fehler, öffnen der Quellcodes überschreibt die Datendatei: %v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "Fehler bei der Auswertung des --show-Property Attributs: %v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "Fehler bel Lesen des Build-Verzechnisses" @@ -996,7 +996,7 @@ msgstr "Fehler beim Auflösen von Abhängigkeiten für %[1]s: %[2]s" msgid "Error retrieving core list: %v" msgstr "Fehler beim Abrufen der Kernliste: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "Fehler beim Rückgängmachen der Änderungen: %s" @@ -1050,7 +1050,7 @@ msgstr "Fehler beim Aktualisieren des Bibliotheksindex: %v" msgid "Error upgrading libraries" msgstr "Fehler beim Upgraden der Bibliothken" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "Fehler beim Upgraden der Plattform: %s" @@ -1063,10 +1063,10 @@ msgstr "Fehler beim Verifizieren der Signatur" msgid "Error while detecting libraries included by %[1]s" msgstr "Fehler beim Ermitteln der in %[1]s eingebundenen Bibliotheken" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "Fehler während der Bestimmung der Sketch-Größe: %s" @@ -1082,7 +1082,7 @@ msgstr "Fehler beim Schreiben in die Datei: %v" msgid "Error: command description is not supported by %v" msgstr "Fehler: Befehlsbeschreibung wird nicht unterstützt von %v" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "Fehler: ungültiger Quellcode überschreibt die Daten-Datei: %v" @@ -1102,7 +1102,7 @@ msgstr "Beispiele:" msgid "Executable to debug" msgstr "Ausführbare Datei zum Debuggen" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Kompilierter Sketch wurde im Verzeichnis %s erwartet, aber eine Datei " @@ -1118,23 +1118,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "Chip-Löschung fehlgeschlagen" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "Fehlgeschlagene Programmierung" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "Schreiben des Bootloaders fehlgeschlagen" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "Erzeugen des Datenverzeichnisses fehlgeschlagen" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "Erzeugen des Download-Verzeichnisses fehlgeschlagen" @@ -1158,7 +1158,7 @@ msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" "Fehler beim Überwachen von TCP-Port: %s. Adresse wird bereits benutzt." -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "Fehlgeschlagenes Hochladen" @@ -1166,7 +1166,7 @@ msgstr "Fehlgeschlagenes Hochladen" msgid "File:" msgstr "Datei:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1241,7 +1241,7 @@ msgstr "Erzeugt Komplettierungs-Skripte" msgid "Generates completion scripts for various shells" msgstr "Erzeugt Komplettierungs-Skripte für verschiedene Shells" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "Funktionsprototypen werden generiert ..." @@ -1253,7 +1253,7 @@ msgstr "Einstellungsschlüsselwert abrufen" msgid "Global Flags:" msgstr "Globale Attribute:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1261,7 +1261,7 @@ msgstr "" "Globale Variablen verwenden %[1]s Bytes (%[3]s%%) des dynamischen Speichers," " %[4]s Bytes für lokale Variablen verbleiben. Das Maximum sind %[2]s Bytes." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Globale Variablen verwenden %[1]s Bytes des dynamischen Speichers." @@ -1279,7 +1279,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Identifikationseigenschaften:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Wenn gesetzt werden die erzeugten Binärdateien in das Sketch-Verzeichnis " @@ -1312,20 +1312,20 @@ msgstr "Bibliotheken in das IDE-Standardverzeichnis installieren" msgid "Installed" msgstr "Installiert" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "%s installiert" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "%s wird installiert" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "Bibliothek %s wird installiert" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Plattform %s wird installiert" @@ -1364,7 +1364,7 @@ msgstr "Ungültige TCP-Adresse: Port fehlt" msgid "Invalid URL" msgstr "Ungültige URL" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "Ungültige zusätzliche URL: %v" @@ -1378,19 +1378,19 @@ msgstr "Ungültiges Archiv: Datei %[1]s nicht im Archiv %[2]s gefunden" msgid "Invalid argument passed: %v" msgstr "Ungültiges Argument übergeben: %v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "Ungültige Build-Eigenschaften" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "Ungültige Datengröße regexp: %s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "Ungültige EEPROM-Größe: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "Ungültige Index-URL: %s" @@ -1410,11 +1410,11 @@ msgstr "Ungültige Bibliothek" msgid "Invalid logging level: %s" msgstr "Ungültiger Protokoll-Level: %s" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "Ungültige Netzwerk-Konfiguration: %s" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "Ungültiger network.proxy '%[1]s':%[2]s" @@ -1422,7 +1422,7 @@ msgstr "Ungültiger network.proxy '%[1]s':%[2]s" msgid "Invalid output format: %s" msgstr "Ungültiges Ausgabeformat: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Ungültiger Paketindex in %s" @@ -1430,7 +1430,7 @@ msgstr "Ungültiger Paketindex in %s" msgid "Invalid parameter %s: version not allowed" msgstr "Ungültiger Parameter %s: Version nicht erlaubt" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "Ungültiger pid-Wert: '%s'" @@ -1438,15 +1438,15 @@ msgstr "Ungültiger pid-Wert: '%s'" msgid "Invalid profile" msgstr "Ungültiges Profil" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "Ungültige Vorlage in platform.txt" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "Ungültige Größe regexp: %s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "Ungültiger Wert in der Konfiguration" @@ -1454,11 +1454,11 @@ msgstr "Ungültiger Wert in der Konfiguration" msgid "Invalid version" msgstr "Ungültige Version" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "Ungültiger vid-Wert:'%s'" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1483,11 +1483,11 @@ msgstr "BIBLIOTHEKSNAME" msgid "Latest" msgstr "Neueste" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "Bibliothek %[1]s wurde als vorkompiliert angegeben:" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1503,7 +1503,7 @@ msgstr "Bibliothek %s ist bereits die neueste Version" msgid "Library %s is not installed" msgstr "Bibliothek %s ist nicht installiert" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "Bibliothek %s nicht gefunden" @@ -1522,8 +1522,8 @@ msgstr "" msgid "Library install failed" msgstr "Installation der Bibliothek fehlgeschlagen" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "Bibliothek installiert" @@ -1531,7 +1531,7 @@ msgstr "Bibliothek installiert" msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "Alles zusammenlinken..." @@ -1559,7 +1559,7 @@ msgstr "" "Komma-getrennte Liste der Boardoptionen. Kann auch mehrfach für mehrere " "Optinen verwendet werden." -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1583,8 +1583,8 @@ msgstr "Listet alle verbundenen Platinen auf." msgid "Lists cores and libraries that can be upgraded" msgstr "Auflisten der upgradebaren Cores und Bibliotheken" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "Indexdatei wird geladen: %v" @@ -1592,7 +1592,7 @@ msgstr "Indexdatei wird geladen: %v" msgid "Location" msgstr "Ort" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" "Wenig Arbeitsspeicher verfügbar, es können Stabilitätsprobleme auftreten." @@ -1601,7 +1601,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "Betreuer %s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1648,7 +1648,7 @@ msgstr "Fehlender Programmer" msgid "Missing required upload field: %s" msgstr "Fehlendes benötigtes Upload-Feld: %s" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "Fehlende Größe regexp" @@ -1730,7 +1730,7 @@ msgstr "Keine Plattformen installiert." msgid "No platforms matching your search." msgstr "Die Suche fand keine passenden Plattformen" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "Kein Upload-Port gefunden, verwende %s stattdessen" @@ -1738,7 +1738,7 @@ msgstr "Kein Upload-Port gefunden, verwende %s stattdessen" msgid "No valid dependencies solution found" msgstr "Keine gültige Auflösung der Abhängigkeiten gefunden" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Nicht genug Arbeitsspeicher; unter %[1]s finden sich Hinweise, um die Größe " @@ -1772,42 +1772,42 @@ msgstr "Einen Kommunikations-Port mit einer Platine öffnen." msgid "Option:" msgstr "Option:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Optional, kann %s sein. Verwendet, um den Warnungslevel für gcc festzulegen " "(-W Option)" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Optional, leere den Build-Ordner und verwende keinen zwischengespeicherten " "Build." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Optional, optimiere das Kompilat zum Debuggen, nicht für den " "Produktiveinsatz" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "Optional, vermeidet fast alle Ausgaben" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Optional, schaltet umfangreiche Ausgaben ein" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" "Optional, Pfad zu einer .json-Datei mit Ersetzungen für den Sketch-Quellcode" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1869,11 +1869,11 @@ msgstr "Webseite für das Paket:" msgid "Paragraph: %s" msgstr "Absatz: %s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "Pfad" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1881,7 +1881,7 @@ msgstr "" "Pfad zu einer Bibliothekssammlung. Kann mehrfach verwendet werden oder die " "Einträge können durch Kommata getrennt werden." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1893,7 +1893,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Pfad in welchem die Log-Dateien abgelegt werden sollen." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1901,20 +1901,20 @@ msgstr "" "Pfad für die kompilierten Dateien. Wenn nicht festgelegt, dann wird ein " "Verzeichnis im Standard-Temp-Verzeichnis des Betriebssystems erstellt." -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Ein 1200bps-Reset wird auf dem seriellen Port %s durchgeführt" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "Plattform %s bereits installiert" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "Plattform %s installiert" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1922,7 +1922,7 @@ msgstr "" "Plattform %s in keinem bekannten Index gefunden. Eventuell muss eine 3rd-" "Party URL hinzugfügt werden?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "Plattform %s deinstalliert" @@ -1938,7 +1938,7 @@ msgstr "Plattform '%s' nicht gefunden" msgid "Platform ID" msgstr "Plattform ID" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "Plattform ID ist nicht korrekt" @@ -1998,8 +1998,8 @@ msgstr "Port geschlossen: %v" msgid "Port monitor error" msgstr "Port-Monitor-Fehler" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Vorkompilierte Bibliothek in \"%[1]s\" nicht gefunden" @@ -2007,7 +2007,7 @@ msgstr "Vorkompilierte Bibliothek in \"%[1]s\" nicht gefunden" msgid "Print details about a board." msgstr "Details zu dem Board ausgeben" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Gebe den vorverarbeiteten Code aus anstatt zu kompilieren." @@ -2063,11 +2063,11 @@ msgstr "Stellt die Includes %s zur Verfügung" msgid "Removes one or more values from a setting." msgstr "Entfernt einen oder mehrere Werte aus der Einstellung." -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "Ersetze %[1]s durch %[2]s " -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "Ersetze die Plattform durch %[1]sdurch %[2]s" @@ -2083,12 +2083,12 @@ msgstr "Starten im stillen Modus, zeige nur die Monitorein- und -ausgaben" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "Arduino-CLI als gRPC-Daemon ausführen" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "Starte normalen Kern-Build..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "Starte das pre_uninstall Skript" @@ -2100,7 +2100,7 @@ msgstr "SUCH_TERM" msgid "SVD file path" msgstr "SVD Verzeichnis" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "Build-Artifakte in diesem Verzeichnis speichern." @@ -2364,7 +2364,7 @@ msgstr "Zeigt die Versionsnummer des Arduino CLI an." msgid "Size (bytes):" msgstr "Größe (Bytes):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2380,13 +2380,13 @@ msgstr "Sketch erstellt in: %s" msgid "Sketch profile to use" msgstr "Zu verwendendes Sketch-Profil" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "Der Sketch ist zu groß; unter %[1]s finden sich Hinweise, um die Größe zu " "verringern." -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2402,21 +2402,21 @@ msgstr "" "Skizzen mit der Endung .pde sind veraltet, bitte benenne die folgenden " "Dateien in .ino um:" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "Überspringe das Linken der endgültigen ausführbaren Datei." -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Überspringen des 1200-bps-Touch-Resets: keine serielle Schnittstelle " "ausgewählt!" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "Überspringe die Archiv-Erstellung von: %[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "Überspringe die Kompilierung von: %[1]s" @@ -2425,16 +2425,16 @@ msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Überspringe die Abhängigkeitserkennung für vorkompilierte Bibliotheken %[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "Überspringe die Plattformkonfiguration." -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "Überspringe das pre_uninstall Skript." -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "Überspringe die Werkzeugkonfiguration." @@ -2442,7 +2442,7 @@ msgstr "Überspringe die Werkzeugkonfiguration." msgid "Skipping: %[1]s" msgstr "Wird übersprungen: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Einige Indizes konnten nicht aktualisiert werden." @@ -2468,7 +2468,7 @@ msgstr "" "Die benutzerdefinierte Konfigurationsdatei (wenn nicht angegeben, wird der " "Standardwert verwendet)." -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2512,7 +2512,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "Die Bibliothek %s hat mehrere Installationen:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2521,7 +2521,7 @@ msgstr "" "Binärdatei während des Kompilierungsprozesses verwendet wird. Wird nur von " "den Plattformen verwendet, die ihn unterstützen." -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2534,7 +2534,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Das Ausgabeformat für die Logs kann %s sein" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2543,7 +2543,7 @@ msgstr "" "Signieren und Verschlüsseln einer Binärdatei gesucht wird. Wird nur von den " "Plattformen verwendet, die dies unterstützen." -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" "Die Plattform unterstützt '%[1]s' für vorkompilierte Bibliotheken nicht." @@ -2573,12 +2573,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "Markiere jede ankommende Zeile mit einem Zeitstempel." -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "Werkzeug %s bereits installiert" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "Werkzeug %s deinstalliert" @@ -2598,7 +2598,7 @@ msgstr "Toolchain-Prefix" msgid "Toolchain type" msgstr "Toolchain-Typ" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Versuche %s zu starten" @@ -2618,7 +2618,7 @@ msgstr "Typen: %s" msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2642,17 +2642,17 @@ msgstr "Das Home-Verzeichnis des Benutzers kann nicht abgerufen werden: %v" msgid "Unable to open file for logging: %s" msgstr "Die Datei kann nicht für die Protokollierung geöffnet werden: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "URL kann nicht geparst werden" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "%s wird deinstalliert" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "%swird deinstalliert, das Werkzeug wird nicht mehr gebraucht" @@ -2702,7 +2702,7 @@ msgstr "Aktualisiert den Bibliotheksindex auf die neueste Version." msgid "Updates the libraries index." msgstr "Aktualisiert den Bibliotheksindex." -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "Upgrade akzeptiert keine Parameter mit Version" @@ -2741,7 +2741,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Adresse des Upload-Ports, z. B.: COM3 oder /dev/ttyACM2" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "Upload-Port gefunden auf %s" @@ -2749,7 +2749,7 @@ msgstr "Upload-Port gefunden auf %s" msgid "Upload port protocol, e.g: serial" msgstr "Upload-Port-Protokoll, z.B.: seriell" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "Lade die Binärdatei nach der Kompilierung hoch." @@ -2762,7 +2762,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "Lade den Bootloader hoch." -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2785,11 +2785,11 @@ msgstr "Verwendung:" msgid "Use %s for more information about a command." msgstr "Benutze %s für mehr Informationen über einen Befehl." -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "Benutzte Bibliothek" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "Verwendete Plattform" @@ -2797,7 +2797,7 @@ msgstr "Verwendete Plattform" msgid "Used: %[1]s" msgstr "Benutzt: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Verwende das Board '%[1]s' von der Plattform im Ordner: %[2]s" @@ -2807,7 +2807,7 @@ msgstr "" "Verwendung von zwischengespeicherten Bibliotheksabhängigkeiten für die " "Datei: %[1]s" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Verwendung des Kerns '%[1]s' von Platform im Ordner: %[2]s" @@ -2825,26 +2825,26 @@ msgstr "" "Die Monitorkonfiguration ist unspezifisch.\n" "HINWEIS: Dein Board erfordert möglicherweise andere Einstellungen!\n" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" "Bibliothek %[1]s in Version %[2]s im Ordner: %[3]s %[4]s wird verwendet" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Bibliothek %[1]s im Ordner: %[2]s %[3]s wird verwendet" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "Verwendung des vorkompilierten Kerns: %[1]s" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "Benutze vorkompilierte Bibliothek in %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "Zuvor kompilierte Datei wird verwendet: %[1]s" @@ -2861,11 +2861,11 @@ msgid "Values" msgstr "Werte" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "Überprüfe die hochgeladene Binärdatei nach dem Upload." -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Version" @@ -2874,26 +2874,26 @@ msgstr "Version" msgid "Versions: %s" msgstr "Versionen: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "WARNUNG, die Plattform %s kann nicht konfiguriert werden " -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "WARNUNG, das Tool %s kann nicht konfiguriert werden " -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "WARNUNG, kann das pre_uninstall Skript %s nicht ausführen: " -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "WARNUNG: Der Sketch wurde mit einer oder mehreren benutzerdefinierten " "Bibliotheken kompiliert." -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2902,11 +2902,11 @@ msgstr "" "werden zu können und ist möglicherweise inkompatibel mit Ihrer derzeitigen " "Platine, welche auf %[3]s Architektur(en) ausgeführt wird." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "Warten auf Upload-Port ..." -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2929,7 +2929,7 @@ msgstr "" "Schreibt die aktuelle Konfiguration in die Konfigurationsdatei im " "Datenverzeichnis." -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Du kannst das %s Flag nicht verwenden, wenn du mit einem Profil kompilierst." @@ -2972,11 +2972,11 @@ msgstr "" "Einfache Suche nach \"esp32\" und \"display\" beschränkt auf offizielle " "Betreuer" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "Binärdatei wurde nicht in %s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "Platine %s nicht gefunden" @@ -2992,7 +2992,7 @@ msgstr "Verzeichnis der eingebauten Bibliotheken nicht festgelegt" msgid "can't find latest release of %s" msgstr "Die neueste Version von %s wurde nicht gefunden" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "Die neueste Version des Tools %s wurde nicht gefunden" @@ -3004,11 +3004,11 @@ msgstr "Kann kein Muster für die Suche mit id %s finden " msgid "candidates" msgstr "Kandidaten" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "Das Upload-Tool %s konnte nicht ausgeführt werden " -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "Überprüfung der Integrität des lokalen Archivs" @@ -3034,11 +3034,11 @@ msgstr "Kommunikation nicht synchron, erwartet '%[1]s', empfangen '%[2]s'" msgid "computing hash: %s" msgstr "Hash berechnen: %s" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "Konfigurationsschlüssel %s enthält ein ungültiges Zeichen" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "Konfigurationswert %s enthält ein ungültiges Zeichen" @@ -3046,15 +3046,15 @@ msgstr "Konfigurationswert %s enthält ein ungültiges Zeichen" msgid "copying library to destination directory:" msgstr "kopiere Bibliothek in Zielordner:" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "Gültiges Build-Artefakt wurde nicht gefunden" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "Überschreiben nicht möglich" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "konnte alte Bibliothek nicht entfernen" @@ -3063,20 +3063,20 @@ msgstr "konnte alte Bibliothek nicht entfernen" msgid "could not update sketch project file" msgstr "Sketch-Projektdatei konnte nicht aktualisiert werden" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "Erstellen des Kern-Cache-Ordners: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "install.json in %[1]s erstellen: %[2]s" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "Erstellen eines temporären Verzeichnisses für die Extraktion: %s" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "Datenbereich überschreitet den verfügbaren Platz auf der Platine" @@ -3092,7 +3092,7 @@ msgstr "Zielverzeichnis %s existiert bereits, kann nicht installiert werden" msgid "destination directory already exists" msgstr "Zielordner existiert bereits" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "Verzeichnis existiert nicht: %s" @@ -3108,7 +3108,7 @@ msgstr "Discovery %swurde nicht gefunden" msgid "discovery %s not installed" msgstr "Discovery %s wurde nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "Discovery-Release %s wurde nicht gefunden" @@ -3124,11 +3124,11 @@ msgstr "Lade die neueste Version des Arduino SAMD-Kerns herunter." msgid "downloaded" msgstr "heruntergeladen" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird heruntergeladen: %[2]s" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "leerer Platinenidentifikator" @@ -3144,11 +3144,11 @@ msgstr "Fehler beim Öffnen von %s" msgid "error parsing version constraints" msgstr "Fehler beim Parsen von Versionsbeschränkungen" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "Fehler bei der Verarbeitung der Serverantwort" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "Fehler bei der Abfrage der Arduino Cloud Api" @@ -3156,7 +3156,7 @@ msgstr "Fehler bei der Abfrage der Arduino Cloud Api" msgid "extracting archive" msgstr "Archiv entpacken" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "Archiv wird extrahiert: %s" @@ -3164,7 +3164,7 @@ msgstr "Archiv wird extrahiert: %s" msgid "failed to compute hash of file \"%s\"" msgstr "Der Hash der Datei \"%s\" konnte nicht berechnet werden." -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "Http-Client konnte nicht initialisiert werden" @@ -3174,7 +3174,7 @@ msgstr "" "Die Größe des abgerufenen Archivs unterscheidet sich von der im Index " "angegebenen Größe" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "Die Archivdateien müssen in einem Unterverzeichnis abgelegt werden" @@ -3204,7 +3204,7 @@ msgstr "für die neueste Version." msgid "for the specific version." msgstr "für die jeweilige Version." -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "FQBN-Feld %s enthält ein ungültiges Zeichen" @@ -3228,11 +3228,11 @@ msgstr "Hole Archiv-Info: %s" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "Hole Archiv-Pfad: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "Build-Eigenschaften für das Board %[1]s : %[2]s abrufen" @@ -3252,11 +3252,11 @@ msgstr "Abrufen von Tool-Abhängigkeiten für die Plattform %[1]s: %[2]s" msgid "install directory not set" msgstr "Installationsverzeichnis nicht festgelegt" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "Werkzeug %[1]s wird installiert: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "Plattform %[1]s wird installiert: %[2]s" @@ -3273,7 +3273,7 @@ msgstr "Ungültige '%s' Richtlinie" msgid "invalid checksum format: %s" msgstr "Ungültiges Prüfsummenformat: %s" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "ungültige Konfigurationsoption: %s" @@ -3305,11 +3305,14 @@ msgstr "ungültiger, leerer Bibliotheksname" msgid "invalid empty library version: %s" msgstr "ungültige, leere Bibliotheksversion: %s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "Ungültige leere Option gefunden" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "Ungültige Git-URL" @@ -3337,7 +3340,7 @@ msgstr "Ungültiger Ort für Bibliothek: %s" msgid "invalid library: no header files found" msgstr "ungültige Bibliothek: keine Header-Dateien gefunden" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "Ungültige Option '%s'" @@ -3355,10 +3358,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "Fehler. Ungültiger Pfad beim Schreiben der Inventardatei: %[1]s" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "ungültige Plattformarchivgröße: %s" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "ungültiger Plattformidentifikator" @@ -3379,7 +3378,7 @@ msgstr "Ungültiger Port-Konfigurationswert für %s: %s" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "Ungültiges Rezept '%[1]s': %[2]s" @@ -3393,7 +3392,7 @@ msgstr "" "\"_\" sein, die folgenden können auch \"-\" und \".\" enthalten. Das letzte " "Zeichen darf nicht \".\" sein." -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "Ungültiger Wert '%[1]s' für Option '%[2]s'" @@ -3437,7 +3436,7 @@ msgstr "Bibliotheken mit einem Namen, der genau mit \"pcf8523\" übereinstimmt" msgid "library %s already installed" msgstr "Bibliothek %s bereits installiert" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "Bibliothek nicht gültig" @@ -3451,8 +3450,8 @@ msgstr "lade %[1]s: %[2]s" msgid "loading boards: %s" msgstr "Platinen werden geladen: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "json-Indexdatei laden %[1]s: %[2]s" @@ -3489,7 +3488,7 @@ msgstr "Lade Tool-Release in %s" msgid "looking for boards.txt in %s" msgstr "suche nach boards.txt in %s" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "Suche nach Build-Artefakten" @@ -3505,7 +3504,7 @@ msgstr "Fehlende '%s' Richtlinie" msgid "missing checksum for: %s" msgstr "Fehlende Prüfsumme für: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "Fehlendes Paket %[1]s referenziert von Board %[2]s" @@ -3515,11 +3514,11 @@ msgstr "" "Fehlender Paketindex für %s, zukünftige Updates können nicht garantiert " "werden" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattform %[1]s:%[2]s referenziert von Board %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" @@ -3527,17 +3526,17 @@ msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" msgid "missing signature" msgstr "Fehlende Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "Monitor-Freigabe nicht gefunden: %s" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "Verschieben des extrahierten Archivs in das Zielverzeichnis: %s" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "Mehrere Build-Artefakte gefunden: '%[1]s' und '%[2]s'" @@ -3545,7 +3544,7 @@ msgstr "Mehrere Build-Artefakte gefunden: '%[1]s' und '%[2]s'" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "Mehrere Haupt-Sketchdateien gefunden (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3553,11 +3552,11 @@ msgstr "" "Keine kompatible Version von %[1]s Tools für das aktuelle Betriebssystem " "gefunden wurde, kontaktiere bitte %[2]s" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "Keine Instanz angegeben" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "Kein Sketch oder Build-Verzeichnis/Datei angegeben" @@ -3565,13 +3564,13 @@ msgstr "Kein Sketch oder Build-Verzeichnis/Datei angegeben" msgid "no such file or directory" msgstr "Verzeichnis oder Datei nicht vorhanden" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" "Kein eindeutiges Stammverzeichnis im Archiv, gefunden wurde: '%[1]s' und " "'%[2]s'" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "Kein Upload-Port vorhanden" @@ -3585,7 +3584,7 @@ msgstr "" "Keine Versionen für das aktuelle Betriebssystem verfügbar. Kontaktiere bitte" " %s" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "kein FQBN: %s" @@ -3594,7 +3593,7 @@ msgid "not running in a terminal" msgstr "Läuft nicht in einem Terminal" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "Archivdatei öffnen: %s" @@ -3616,12 +3615,12 @@ msgstr "Öffne Zieldatei: %s" msgid "package %s not found" msgstr "Paket %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "Paket '%s' nicht gefunden" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "parse FQBN: %s" @@ -3637,7 +3636,7 @@ msgstr "Pfad ist kein Plattformverzeichnis: %s" msgid "platform %[1]s not found in package %[2]s" msgstr "Plattform %[1]s nicht im Paket %[2]s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "Plattform %s ist nicht installiert" @@ -3645,14 +3644,14 @@ msgstr "Plattform %s ist nicht installiert" msgid "platform is not available for your OS" msgstr "Plattform ist für dieses Betriebssystem nicht verfügbar" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "Plattform nicht installiert" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "Bitte verwende stattdessen --build-property." @@ -3691,11 +3690,11 @@ msgstr "Verzeichnisinhalt lesen %[1]s" msgid "reading directory %s" msgstr "Verzeichnis %s wird gelesen" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "Verzeichnisinhalt lesen %s" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "Datei %[1]s wird gelesen: %[2]s" @@ -3719,7 +3718,7 @@ msgstr "Bibliotheksquellverzeichnis lesen %s" msgid "reading library_index.json: %s" msgstr "lese library_index.json: %s" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "Lese Paketstammverzeichnis: %s" @@ -3727,11 +3726,11 @@ msgstr "Lese Paketstammverzeichnis: %s" msgid "reading sketch files" msgstr "Sketch-Dateien lesen" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "Rezept nicht gefunden '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "Freigabe %[1]s für Werkzeug %[2]s nicht gefunden " @@ -3748,7 +3747,7 @@ msgstr "Entfernen der beschädigten Archivdatei: %s" msgid "removing library directory: %s" msgstr "Entferne das Bibliotheksverzeichnis: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "Entferne die Plattformdateien: %s" @@ -3765,7 +3764,7 @@ msgstr "Abrufen der öffentlichen Arduino-Schlüssel: %s" msgid "scanning sketch examples" msgstr "Sketch-Beispiele durchsuchen" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "Suche im Stammverzeichnis des Pakets: %s" @@ -3811,11 +3810,11 @@ msgstr "Archivgröße wird getestet: %s" msgid "testing if archive is cached: %s" msgstr "Prüfe, ob das Archiv zwischengespeichert ist: %s" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "Prüfung der Integrität des lokalen Archivs: %s" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "Textbereich überschreitet den verfügbaren Platz auf der Platine" @@ -3824,7 +3823,7 @@ msgstr "Textbereich überschreitet den verfügbaren Platz auf der Platine" msgid "the compilation database may be incomplete or inaccurate" msgstr "Die Kompilierdatenbank kann unvollständig oder ungenau sein" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "Der Server antwortete mit dem Status %s" @@ -3832,7 +3831,7 @@ msgstr "Der Server antwortete mit dem Status %s" msgid "timeout waiting for message" msgstr "Timeout beim Warten auf Nachricht" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." @@ -3841,16 +3840,16 @@ msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." msgid "tool %s not found" msgstr "Tool %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "Werkzeug nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "Werkzeugfreigabe nicht gefunden: %s" @@ -3858,24 +3857,24 @@ msgstr "Werkzeugfreigabe nicht gefunden: %s" msgid "tool version %s not found" msgstr "Werkzeugversion %s nicht gefunden" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "zwei verschiedene Versionen der Bibliothek %[1]s sind erforderlich: %[2]s " "und %[3]s" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" "Relativer Pfad zum Sketch konnte für das Element nicht berechnet werden" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "Konnte keinen Ordner zum Speichern des Sketchs erstellen" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "Konnte Ordner, der das Objekt enthält, nicht erstellen" @@ -3883,23 +3882,23 @@ msgstr "Konnte Ordner, der das Objekt enthält, nicht erstellen" msgid "unable to marshal config to YAML: %v" msgstr "Konnte die Konfiguration nicht in YAML umwandeln: %v" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "Inhalt des Zielobjekts konnte nicht gelesen werden" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "Inhalt der Quelle konnte nicht gelesen werden" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "Schreiben in Zieldatei unmöglich" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "unbekanntes Paket %s" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "unbekannte Plattform %s:%s" @@ -3919,7 +3918,7 @@ msgstr "Aktualisiere arduino:samd auf die neueste Version" msgid "upgrade everything to the latest version" msgstr "Aktualisiere alles auf die neueste Version" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "Hochladefehler: %s" @@ -3943,6 +3942,6 @@ msgstr "Version %s ist für dieses Betriebssystem nicht verfügbar" msgid "version %s not found" msgstr "Version %s nicht gefunden" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "falsches Format in der Serverantwort" diff --git a/internal/locales/data/es.po b/internal/locales/data/es.po index 695d9c32737..691a40701d3 100644 --- a/internal/locales/data/es.po +++ b/internal/locales/data/es.po @@ -7,17 +7,17 @@ # Sachonidas, 2022 # Iago, 2022 # Gonzalo Martínez, 2023 -# Gaia Castronovo <g.castronovo@arduino.cc>, 2023 # Diego Castro, 2023 +# Gaia Castronovo <g.castronovo@arduino.cc>, 2025 # msgid "" msgstr "" -"Last-Translator: Diego Castro, 2023\n" +"Last-Translator: Gaia Castronovo <g.castronovo@arduino.cc>, 2025\n" "Language-Team: Spanish (https://app.transifex.com/arduino-1/teams/108174/es/)\n" "Language: es\n" "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" @@ -33,7 +33,7 @@ msgstr "%[1]s inválido, reconstruyendo todo" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s es requerido pero %[2]s está actualmente instalado." -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "No se encuentra patrón %[1]s" @@ -41,11 +41,11 @@ msgstr "No se encuentra patrón %[1]s" msgid "%s already downloaded" msgstr "%s ya está descargado" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s y %s no se pueden usar juntos" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s instalado" @@ -58,19 +58,19 @@ msgstr "%s ya está instalado." msgid "%s is not a directory" msgstr "%s no es un directorio" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s no es manejado por el administrador de paquetes" #: internal/cli/daemon/daemon.go:67 msgid "%s must be >= 1024" -msgstr "" +msgstr "%s debe ser >= 1024" #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "%s debe ser instalado." -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "Falta el patrón %s " @@ -79,7 +79,7 @@ msgstr "Falta el patrón %s " msgid "'%s' has an invalid signature" msgstr "'%s' tiene una firma inválida" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -89,7 +89,7 @@ msgstr "" msgid "(hidden)" msgstr "(oculto)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(legado)" @@ -154,7 +154,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "Todos los núcleos están en su última versión" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "Ya está instalado %s" @@ -182,7 +182,7 @@ msgstr "Arquitectura: %s" msgid "Archive already exists" msgstr "El archivo ya existe" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivando el núcleo construido (cacheado) en: %[1]s" @@ -267,11 +267,11 @@ msgstr "Nombre de la placa:" msgid "Board version:" msgstr "Versión de la placa:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichero Bootloader especificado pero ausente: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -285,13 +285,13 @@ msgstr "No se puede crear el directorio de datos %s" msgid "Can't create sketch" msgstr "No se puede crear el sketch" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "No fue posible descargar la librería" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "No puedo encontrar las dependencias para la plataforma %s" @@ -311,11 +311,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "No se puede crear el directorio de caché de compilación" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "No se puede crear el directorio de caché de compilación" @@ -353,15 +353,15 @@ msgstr "No se puede encontrar la ruta absoluta: %v" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "No se puede instalar la plataforma" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "No se puede instalar la herramienta %s" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "No se puede realizar el reinicio del puerto: %s" @@ -370,7 +370,7 @@ msgstr "No se puede realizar el reinicio del puerto: %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "No se puede actualizar la plataforma" @@ -411,7 +411,7 @@ msgstr "" "El comando sigue ejecutándose e imprime la lista de placas conectadas cada " "vez que hay un cambio." -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "Proyecto compilado no encontrado en %s" @@ -419,19 +419,19 @@ msgstr "Proyecto compilado no encontrado en %s" msgid "Compiles Arduino sketches." msgstr "Compila los sketch de Arduino" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "Compilando el núcleo..." -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "Compilando librerías..." -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "Compilando librería \"%[1]s\"" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Compilando el sketch..." @@ -456,11 +456,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "Configurando plataforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "" @@ -476,19 +476,19 @@ msgstr "" msgid "Core" msgstr "Núcleo" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "No se pudo conectar vía HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "No se ha podido crear el directorio índice." -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "No se pudo determinar el tamaño del programa" @@ -500,7 +500,7 @@ msgstr "No se ha podido obtener el directorio de trabajo actual: %v" msgid "Create a new Sketch" msgstr "Crear un nuevo Sketch" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "" @@ -516,7 +516,7 @@ msgstr "" "Crea o actualiza el archivo de configuración en el directorio de datos o " "directorio personalizado con los ajustes actuales." -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -590,7 +590,7 @@ msgstr "Dependencias: %s" msgid "Description" msgstr "Descripción" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "Detectando las librerías usadas..." @@ -653,7 +653,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "Descargando %s" @@ -661,21 +661,21 @@ msgstr "Descargando %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Descargando el índice: %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "Descargando la librería %s" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "Descargando herramienta perdida %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "Descargando paquetes" @@ -713,7 +713,7 @@ msgstr "Introducir la url de git para librerías alojadas en repositorios" msgid "Error adding file to sketch archive" msgstr "Error añadiendo sketch al archivo de sketch" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" @@ -729,11 +729,11 @@ msgstr "Error calculando la ruta de archivo relativa" msgid "Error cleaning caches: %v" msgstr "Error limpiando caches: %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "Error copiando el archivo de salida %s" @@ -747,7 +747,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Error creando la instancia: %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "Error al crear el directorio de salida" @@ -772,7 +772,7 @@ msgstr "Error al descargar %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Error descargando %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Error descargando el índice '%s'" @@ -780,7 +780,7 @@ msgstr "Error descargando el índice '%s'" msgid "Error downloading index signature '%s'" msgstr "Error descargando el índice de firmas '%s'" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "Error descargando la librería %s" @@ -804,7 +804,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" @@ -813,7 +813,7 @@ msgstr "Error durante la carga: %v" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "" @@ -834,7 +834,7 @@ msgstr "Error durante la actualización: %v" msgid "Error extracting %s" msgstr "Error extrayendo %s" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" @@ -861,7 +861,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Error obteniendo información para la librería %s" @@ -897,7 +897,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "" @@ -941,15 +941,15 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" @@ -965,7 +965,7 @@ msgstr "" msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "Error al revertir los cambios: %s" @@ -1019,7 +1019,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" @@ -1032,10 +1032,10 @@ msgstr "" msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" @@ -1051,7 +1051,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1071,7 +1071,7 @@ msgstr "Ejemplos:" msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1085,23 +1085,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "Borrado del chip fallida" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "" @@ -1121,7 +1121,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "" @@ -1129,7 +1129,7 @@ msgstr "" msgid "File:" msgstr "Archivo:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1193,7 +1193,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "" @@ -1205,7 +1205,7 @@ msgstr "" msgid "Global Flags:" msgstr "Banderas globales:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1213,7 +1213,7 @@ msgstr "" "Las variables Globales usan %[1]s bytes (%[3]s%%) de la memoria dinámica, " "dejando %[4]s bytes para las variables locales. El máximo es %[2]s bytes." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variables globales usan %[1]s bytes de memoria dinamica." @@ -1231,7 +1231,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Propiedades de identificación:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1258,20 +1258,20 @@ msgstr "" msgid "Installed" msgstr "Instalado" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "Instalado %s" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "Instalando %s" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "Instalando la librería %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Instalando la plataforma %s" @@ -1308,7 +1308,7 @@ msgstr "" msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" @@ -1322,19 +1322,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1354,11 +1354,11 @@ msgstr "Librería inválida" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1366,7 +1366,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" @@ -1374,7 +1374,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "Parámetro inválido %s: versión no compatible" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "" @@ -1382,15 +1382,15 @@ msgstr "" msgid "Invalid profile" msgstr "Perfil inválido" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1398,11 +1398,11 @@ msgstr "" msgid "Invalid version" msgstr "Versión inválida" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1425,11 +1425,11 @@ msgstr "" msgid "Latest" msgstr "Última" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1444,7 +1444,7 @@ msgstr "La librería %s ya se encuentra en la versión más reciente" msgid "Library %s is not installed" msgstr "La librería %s no está instalada" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "Librería %s no encontrada" @@ -1461,8 +1461,8 @@ msgstr "" msgid "Library install failed" msgstr "La instalación de la librería no fue exitosa" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "Librería instalada" @@ -1470,7 +1470,7 @@ msgstr "Librería instalada" msgid "License: %s" msgstr "Licencia: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "" @@ -1494,7 +1494,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1516,8 +1516,8 @@ msgstr "Enumera todas las placas conectadas." msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "" @@ -1525,7 +1525,7 @@ msgstr "" msgid "Location" msgstr "Ubicación" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" "Hay poca memoria disponible; pueden producirse problemas de estabilidad." @@ -1534,7 +1534,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1577,7 +1577,7 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "" @@ -1659,7 +1659,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "No hay plataformas que coincidan con su búsqueda." -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1667,7 +1667,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "No hay suficiente memoria, ver %[1]s para obtener consejos sobre cómo " @@ -1699,35 +1699,35 @@ msgstr "Abre un puerto de comunicación con una placa." msgid "Option:" msgstr "Opción:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1787,17 +1787,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1807,32 +1807,32 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "La plataforma %s ya está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "Plataforma %s desinstalada" @@ -1848,7 +1848,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1904,8 +1904,8 @@ msgstr "Puerto cerrado: %v" msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" @@ -1913,7 +1913,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1969,11 +1969,11 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "Reemplazando %[1]s con %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "Reemplazando plataforma %[1]s con %[2]s" @@ -1989,12 +1989,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -2006,7 +2006,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "" @@ -2222,7 +2222,7 @@ msgstr "" msgid "Size (bytes):" msgstr "Tamaño (bytes):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2236,11 +2236,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Programa muy grando: visite %[1]s para ver cómo reducirlo." -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2254,19 +2254,19 @@ msgid "" "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "" @@ -2274,16 +2274,16 @@ msgstr "" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "" @@ -2291,7 +2291,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" @@ -2311,7 +2311,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2349,13 +2349,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2365,13 +2365,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2395,12 +2395,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "La herramienta %s ya está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "La herramienta %s se desinstaló" @@ -2420,7 +2420,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2440,7 +2440,7 @@ msgstr "Tipos: %s" msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2462,17 +2462,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "No es posible abrir el archivo para el logging: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "Desinstalando %s" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "Desinstalando %s, la herramienta ya no es requerida" @@ -2520,7 +2520,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2553,7 +2553,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2561,7 +2561,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "Subir el binario después de la compilación." @@ -2573,7 +2573,7 @@ msgstr "Cargar el bootloader en la placa usando un programador externo." msgid "Upload the bootloader." msgstr "Cargar el bootloader." -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2592,11 +2592,11 @@ msgstr "Uso:" msgid "Use %s for more information about a command." msgstr "Use %spara más información acerca de un comando." -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2604,7 +2604,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Usado: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2612,7 +2612,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2626,25 +2626,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Usando librería %[1]s con versión %[2]s en la carpeta: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Utilizando biblioteca %[1]s en carpeta: %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "Utilizando archivo previamente compilado: %[1]s" @@ -2661,11 +2661,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2674,24 +2674,24 @@ msgstr "" msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2700,11 +2700,11 @@ msgstr "" "y puede ser incompatible con tu actual tarjeta la cual corre sobre " "arquitectura(s) %[3]s." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2723,7 +2723,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2759,11 +2759,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2779,7 +2779,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2791,11 +2791,11 @@ msgstr "" msgid "candidates" msgstr "Candidatos" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2821,11 +2821,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2833,15 +2833,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2850,20 +2850,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2879,7 +2879,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2895,7 +2895,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -2911,11 +2911,11 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "identificador de placa vacío" @@ -2931,11 +2931,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2943,7 +2943,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -2951,7 +2951,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -2959,7 +2959,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -2989,7 +2989,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -3013,11 +3013,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3037,11 +3037,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3057,7 +3057,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3089,11 +3089,14 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3121,7 +3124,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "" @@ -3137,10 +3140,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3161,7 +3160,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3172,7 +3171,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3216,7 +3215,7 @@ msgstr "" msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "" @@ -3230,8 +3229,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3268,7 +3267,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3284,7 +3283,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3292,11 +3291,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3304,17 +3303,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3322,17 +3321,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3340,11 +3339,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3356,7 +3355,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3365,7 +3364,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3387,12 +3386,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3408,7 +3407,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3416,14 +3415,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3462,11 +3461,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3490,7 +3489,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3498,11 +3497,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3519,7 +3518,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3536,7 +3535,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3581,11 +3580,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3594,7 +3593,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3602,7 +3601,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3611,16 +3610,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3628,21 +3627,21 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "" @@ -3650,23 +3649,23 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "" @@ -3686,7 +3685,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "" @@ -3710,6 +3709,6 @@ msgstr "" msgid "version %s not found" msgstr "versión %s no encontrada" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "Error de formato en la respuesta del servidor" diff --git a/internal/locales/data/fr.po b/internal/locales/data/fr.po index 3c38b99bf98..7f01837b93f 100644 --- a/internal/locales/data/fr.po +++ b/internal/locales/data/fr.po @@ -11,7 +11,7 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" @@ -29,7 +29,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s est un schéma manquant" @@ -37,11 +37,11 @@ msgstr "%[1]s est un schéma manquant" msgid "%s already downloaded" msgstr "%s déjà téléchargé" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%set%sne peuvent pas être téléchargé." -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "" @@ -54,7 +54,7 @@ msgstr "" msgid "%s is not a directory" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "" @@ -66,7 +66,7 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -85,7 +85,7 @@ msgstr "" msgid "(hidden)" msgstr "" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(héritage)" @@ -146,7 +146,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "Tous les cœurs sont à jours vers la dernière version." -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "Déjà installé %s" @@ -174,7 +174,7 @@ msgstr "Architecture : %s" msgid "Archive already exists" msgstr "L'archive existe déjà" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivage du noyau construit (mise en cache) dans: %[1]s" @@ -259,11 +259,11 @@ msgstr "" msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "Fichier du bootloader spécifié mais absent: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -277,13 +277,13 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "" @@ -303,11 +303,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "" @@ -345,15 +345,15 @@ msgstr "" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "" @@ -362,7 +362,7 @@ msgstr "" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "" @@ -400,7 +400,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "Croquis compilé introuvable %s" @@ -408,19 +408,19 @@ msgstr "Croquis compilé introuvable %s" msgid "Compiles Arduino sketches." msgstr "Compilation des croquis Arduino." -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Compilation du croquis..." @@ -443,11 +443,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "Configuration de la plateforme." -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "" @@ -463,19 +463,19 @@ msgstr "" msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "" @@ -487,7 +487,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "" @@ -501,7 +501,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -575,7 +575,7 @@ msgstr "" msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "" @@ -635,7 +635,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "Téléchargement %s" @@ -643,21 +643,21 @@ msgstr "Téléchargement %s" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "Téléchargement des paquets" @@ -693,7 +693,7 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" @@ -709,11 +709,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "" @@ -727,7 +727,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "" @@ -752,7 +752,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -760,7 +760,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "" @@ -784,7 +784,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -793,7 +793,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "" @@ -814,7 +814,7 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" @@ -840,7 +840,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -876,7 +876,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "Erreur lors de l'installation de la librairie Zip : %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "" @@ -920,15 +920,15 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" @@ -944,7 +944,7 @@ msgstr "" msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "" @@ -998,7 +998,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" @@ -1011,10 +1011,10 @@ msgstr "" msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" @@ -1030,7 +1030,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1050,7 +1050,7 @@ msgstr "" msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1064,23 +1064,23 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "" @@ -1100,7 +1100,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "" @@ -1108,7 +1108,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1172,7 +1172,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "" @@ -1184,7 +1184,7 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1193,7 +1193,7 @@ msgstr "" "dynamique, ce qui laisse %[4]s octets pour les variables locales. Le maximum" " est de %[2]s octets." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Les variables globales utilisent %[1]s octets de mémoire dynamique." @@ -1211,7 +1211,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1238,20 +1238,20 @@ msgstr "" msgid "Installed" msgstr "Installé" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" @@ -1288,7 +1288,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "" @@ -1302,19 +1302,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1334,11 +1334,11 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1346,7 +1346,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" @@ -1354,7 +1354,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "" @@ -1362,15 +1362,15 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1378,11 +1378,11 @@ msgstr "" msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1405,11 +1405,11 @@ msgstr "" msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1423,7 +1423,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "" @@ -1440,8 +1440,8 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "" @@ -1449,7 +1449,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "" @@ -1473,7 +1473,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1495,8 +1495,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "" @@ -1504,7 +1504,7 @@ msgstr "" msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" "La mémoire disponible faible, des problèmes de stabilité pourraient " @@ -1514,7 +1514,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1557,7 +1557,7 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "" @@ -1637,7 +1637,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1645,7 +1645,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Mémore insuffisante; consulter la page %[1]s pour obtenir des astuces sur " @@ -1677,35 +1677,35 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1765,17 +1765,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1785,32 +1785,32 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "" @@ -1826,7 +1826,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1882,8 +1882,8 @@ msgstr "" msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" @@ -1891,7 +1891,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1947,11 +1947,11 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "" @@ -1967,12 +1967,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -1984,7 +1984,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "" @@ -2196,7 +2196,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2210,11 +2210,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Croquis trop gros; vois %[1]s pour des conseils de réduction." -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2228,19 +2228,19 @@ msgid "" "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "" @@ -2248,16 +2248,16 @@ msgstr "" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "" @@ -2265,7 +2265,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" @@ -2285,7 +2285,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2323,13 +2323,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2339,13 +2339,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2367,12 +2367,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "" @@ -2392,7 +2392,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2412,7 +2412,7 @@ msgstr "" msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2434,17 +2434,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2490,7 +2490,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2523,7 +2523,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2531,7 +2531,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "" @@ -2543,7 +2543,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2562,11 +2562,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2574,7 +2574,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilisé: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2582,7 +2582,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2596,28 +2596,28 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" "Utilisation de la bibliothèque %[1]s version %[2]s dans le dossier: %[3]s " "%[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" "Utilisation de la bibliothèque %[1]s prise dans le dossier: %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "Utilisation du fichier déjà compilé: %[1]s" @@ -2634,11 +2634,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2647,24 +2647,24 @@ msgstr "" msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2673,11 +2673,11 @@ msgstr "" "architecture(s) %[2]s et peut être incompatible avec votre carte actuelle " "qui s'exécute sur %[3]s." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2696,7 +2696,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2732,11 +2732,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2752,7 +2752,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2764,11 +2764,11 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2794,11 +2794,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2806,15 +2806,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2823,20 +2823,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2852,7 +2852,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2868,7 +2868,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -2884,11 +2884,11 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "" @@ -2904,11 +2904,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2916,7 +2916,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -2924,7 +2924,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -2932,7 +2932,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -2962,7 +2962,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -2986,11 +2986,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3010,11 +3010,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3030,7 +3030,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3062,11 +3062,14 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3094,7 +3097,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "" @@ -3110,10 +3113,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3134,7 +3133,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3145,7 +3144,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3189,7 +3188,7 @@ msgstr "" msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "" @@ -3203,8 +3202,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3241,7 +3240,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3257,7 +3256,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3265,11 +3264,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3277,17 +3276,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3295,17 +3294,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3313,11 +3312,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3329,7 +3328,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3338,7 +3337,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3360,12 +3359,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3381,7 +3380,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3389,14 +3388,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3435,11 +3434,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3463,7 +3462,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3471,11 +3470,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3492,7 +3491,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3509,7 +3508,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3554,11 +3553,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3567,7 +3566,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3575,7 +3574,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3584,16 +3583,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3601,21 +3600,21 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "" @@ -3623,23 +3622,23 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "impossible d’écrire dans le fichier de destination." -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "paquet inconnu %s" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "plateforme inconnue %s:%s" @@ -3659,7 +3658,7 @@ msgstr "mise à jour de arduino:samd vers la dernière version" msgid "upgrade everything to the latest version" msgstr "tout mettre à jour tout vers la dernière version" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "" @@ -3683,6 +3682,6 @@ msgstr "" msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "" diff --git a/internal/locales/data/he.po b/internal/locales/data/he.po index 65952348e8b..8b0a5884ee8 100644 --- a/internal/locales/data/he.po +++ b/internal/locales/data/he.po @@ -9,7 +9,7 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s גרסה: %[3]s קומיט: %[4]sתאריך: %[5]s" @@ -25,7 +25,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s תבנית חסרה" @@ -33,11 +33,11 @@ msgstr "%[1]s תבנית חסרה" msgid "%s already downloaded" msgstr "" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s מותקן" @@ -50,7 +50,7 @@ msgstr "" msgid "%s is not a directory" msgstr "%s אינו תיקייה" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s אינו מנוהל על ידי מנהל ההתקנות" @@ -62,7 +62,7 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -81,7 +81,7 @@ msgstr "" msgid "(hidden)" msgstr "(מוסתר)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "" @@ -142,7 +142,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "" @@ -170,7 +170,7 @@ msgstr "ארכיטקטורה: %s" msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "" @@ -255,11 +255,11 @@ msgstr "" msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -273,13 +273,13 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "" @@ -299,11 +299,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "" @@ -341,15 +341,15 @@ msgstr "" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "" @@ -358,7 +358,7 @@ msgstr "" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "" @@ -396,7 +396,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "" @@ -404,19 +404,19 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "" @@ -439,11 +439,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "" @@ -459,19 +459,19 @@ msgstr "" msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "" @@ -483,7 +483,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "" @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -571,7 +571,7 @@ msgstr "" msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "" @@ -631,7 +631,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "" @@ -639,21 +639,21 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "" @@ -689,7 +689,7 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" @@ -705,11 +705,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "" @@ -748,7 +748,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -756,7 +756,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "" @@ -780,7 +780,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "" @@ -810,7 +810,7 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -872,7 +872,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "" @@ -916,15 +916,15 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" @@ -940,7 +940,7 @@ msgstr "" msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "" @@ -994,7 +994,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" @@ -1007,10 +1007,10 @@ msgstr "" msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1046,7 +1046,7 @@ msgstr "" msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1060,23 +1060,23 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "" @@ -1096,7 +1096,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1168,7 +1168,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "" @@ -1180,13 +1180,13 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" @@ -1204,7 +1204,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1231,20 +1231,20 @@ msgstr "" msgid "Installed" msgstr "" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" @@ -1281,7 +1281,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "" @@ -1295,19 +1295,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1327,11 +1327,11 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1339,7 +1339,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" @@ -1347,7 +1347,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "" @@ -1355,15 +1355,15 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1371,11 +1371,11 @@ msgstr "" msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1398,11 +1398,11 @@ msgstr "" msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1416,7 +1416,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "" @@ -1433,8 +1433,8 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "" @@ -1442,7 +1442,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "" @@ -1466,7 +1466,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1488,8 +1488,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "" @@ -1497,7 +1497,7 @@ msgstr "" msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" @@ -1505,7 +1505,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1548,7 +1548,7 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1636,7 +1636,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" @@ -1666,35 +1666,35 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1754,17 +1754,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1774,32 +1774,32 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "" @@ -1815,7 +1815,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1871,8 +1871,8 @@ msgstr "" msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" @@ -1880,7 +1880,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1936,11 +1936,11 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "" @@ -1956,12 +1956,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -1973,7 +1973,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "" @@ -2185,7 +2185,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2199,11 +2199,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2215,19 +2215,19 @@ msgid "" "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "" @@ -2235,16 +2235,16 @@ msgstr "" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "" @@ -2252,7 +2252,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" @@ -2272,7 +2272,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2310,13 +2310,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2326,13 +2326,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2354,12 +2354,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "" @@ -2379,7 +2379,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2421,17 +2421,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2477,7 +2477,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2510,7 +2510,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2518,7 +2518,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "" @@ -2530,7 +2530,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2549,11 +2549,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2561,7 +2561,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2569,7 +2569,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2583,25 +2583,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "" @@ -2618,11 +2618,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2631,34 +2631,34 @@ msgstr "" msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2677,7 +2677,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2713,11 +2713,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2733,7 +2733,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2745,11 +2745,11 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2775,11 +2775,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2787,15 +2787,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2804,20 +2804,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2833,7 +2833,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2849,7 +2849,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -2865,11 +2865,11 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "" @@ -2885,11 +2885,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2897,7 +2897,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -2905,7 +2905,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -2913,7 +2913,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -2943,7 +2943,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -2967,11 +2967,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2991,11 +2991,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3011,7 +3011,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3043,11 +3043,14 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3075,7 +3078,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "" @@ -3091,10 +3094,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3115,7 +3114,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3126,7 +3125,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3170,7 +3169,7 @@ msgstr "" msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "" @@ -3184,8 +3183,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3222,7 +3221,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3238,7 +3237,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3246,11 +3245,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3258,17 +3257,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3276,17 +3275,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3294,11 +3293,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3310,7 +3309,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3319,7 +3318,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3341,12 +3340,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3362,7 +3361,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3370,14 +3369,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3416,11 +3415,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3444,7 +3443,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3452,11 +3451,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3473,7 +3472,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3490,7 +3489,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3535,11 +3534,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3548,7 +3547,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3556,7 +3555,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3565,16 +3564,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3582,21 +3581,21 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "" @@ -3604,23 +3603,23 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "" @@ -3640,7 +3639,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "" @@ -3664,6 +3663,6 @@ msgstr "" msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "" diff --git a/internal/locales/data/it_IT.po b/internal/locales/data/it_IT.po index d86e18fd7e6..1201ca94ae8 100644 --- a/internal/locales/data/it_IT.po +++ b/internal/locales/data/it_IT.po @@ -16,7 +16,7 @@ msgstr "" "Language: it_IT\n" "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s Versione: %[3]s Commit: %[4]s Data: %[5]s" @@ -34,7 +34,7 @@ msgstr "%[1]s non è valido, ricompilo tutto" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s è richiesto ma %[2]s risulta attualmente installato." -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "Manca il pattern %[1]s" @@ -42,11 +42,11 @@ msgstr "Manca il pattern %[1]s" msgid "%s already downloaded" msgstr " %s già scaricato" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s e %s non possono essere usati insieme" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s installato" @@ -59,7 +59,7 @@ msgstr "%s è già installato." msgid "%s is not a directory" msgstr "%s non è una directory" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s non è gestito dal gestore pacchetti" @@ -71,7 +71,7 @@ msgstr "%s deve essere >= 1024" msgid "%s must be installed." msgstr "%s deve essere installato." -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "Manca il pattern %s" @@ -80,7 +80,7 @@ msgstr "Manca il pattern %s" msgid "'%s' has an invalid signature" msgstr "'%s' ha una firma invalida" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -92,7 +92,7 @@ msgstr "" msgid "(hidden)" msgstr "(nascosto)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(ereditato)" @@ -158,7 +158,7 @@ msgstr "Tutte le piattaforme sono aggiornate." msgid "All the cores are already at the latest version" msgstr "Tutti i core sono già all'ultima versione" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "Già installato %s" @@ -186,7 +186,7 @@ msgstr "Architettura: %s" msgid "Archive already exists" msgstr "L'archivio è già presente" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archivio il core compilato (caching) in: %[1]s" @@ -275,11 +275,11 @@ msgstr "Nome scheda:" msgid "Board version:" msgstr "Versione scheda:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "Il file del bootloader specificato è inesistente: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -295,13 +295,13 @@ msgstr "Non è possibile creare la directory dei dati %s" msgid "Can't create sketch" msgstr "Non è possibile creare lo sketch" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "Non è possibile scaricare la libreria" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "Impossibile trovare le dipendenze per la piattaforma %s" @@ -321,11 +321,11 @@ msgstr "Non è possibile utilizzare insieme i seguenti flag: %s" msgid "Can't write debug log: %s" msgstr "Non è possibile scrivere il log di debug: %s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "Non è possibile creare la directory di build della cache." -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "Non è possibile creare la directory per la build" @@ -364,15 +364,15 @@ msgstr "Percorso assoluto non trovato: %v" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "Impossibile ottenere la chiave di configurazione %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "Non è possibile installare la piattaforma" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "Non è possibile installare il tool %s" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "Non è possibile effettuare il reset della porta: %s" @@ -381,7 +381,7 @@ msgstr "Non è possibile effettuare il reset della porta: %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "Impossibile rimuovere la chiave di configurazione %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "Non è possibile aggiornare la piattaforma" @@ -423,7 +423,7 @@ msgstr "" "Il comando continua a funzionare e stampa l'elenco delle schede collegate " "ogni volta che viene apportata una modifica." -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "Sketch compilato non trovato in %s" @@ -431,19 +431,19 @@ msgstr "Sketch compilato non trovato in %s" msgid "Compiles Arduino sketches." msgstr "Compila gli sketch di Arduino." -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "Compilazione del core in corso..." -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "Compilazione delle librerie in corso..." -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "Compilazione della libreria \"%[1]s\"" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Compilazione dello sketch in corso..." @@ -470,11 +470,11 @@ msgstr "" "Configura le impostazioni della porta di comunicazione. Il formato è " "<ID>=<value>[,<ID>=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "Configurazione della piattaforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "Strumento di configurazione." @@ -490,20 +490,20 @@ msgstr "Connessione in corso a %s. Premere CTRL-C per uscire." msgid "Core" msgstr "Core" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "Non è possibile connettersi via HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Impossibile creare la directory dell'indice" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" "Non è stato possibile creare una cache profonda della build core: %[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "Non è possibile determinare la dimensione del programma" @@ -515,7 +515,7 @@ msgstr "Impossibile ottenere la cartella di lavoro corrente: %v" msgid "Create a new Sketch" msgstr "Crea un nuovo Sketch" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "Crea e stampa una configurazione del profilo dalla build." @@ -531,7 +531,7 @@ msgstr "" "Crea o aggiorna il file di configurazione nella directory dei dati o nella " "directory personalizzata con le impostazioni di configurazione correnti." -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -613,7 +613,7 @@ msgstr "Dipendenze: %s" msgid "Description" msgstr "Descrizione" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "Rilevamento delle librerie utilizzate in corso..." @@ -679,7 +679,7 @@ msgstr "" "Non tentare di aggiornare le dipendenze delle librerie se sono già " "installate." -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "Sto scaricando %s" @@ -687,21 +687,21 @@ msgstr "Sto scaricando %s" msgid "Downloading index signature: %s" msgstr "Sto scaricando la firma dell'indice: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Sto scaricando l'indice: %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "Sto scaricando la libreria %s" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "Sto scaricando il tool mancante %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "Sto scaricando i pacchetti" @@ -739,7 +739,7 @@ msgstr "" "Si è verificato un errore durante l'aggiunta del file all'archivio dello " "sketch" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" "Si è verificato un errore durante l'archiviazione del core compilato " @@ -758,13 +758,13 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "Si è verificato un errore durante la pulizia della cache: %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" "Si è verificato un errore durante la conversione del percorso in assoluto:: " "%v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "Si è verificato un errore durante la copia del file di output %s" @@ -779,7 +779,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Si è verificato un errore durante la creazione dell'istanza: %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "" "Si è verificato un errore durante la creazione della cartella di output" @@ -806,7 +806,7 @@ msgstr "Si è verificato un errore durante lo scaricamento di %[1]s:%[2]v" msgid "Error downloading %s" msgstr "Si è verificato un errore durante lo scaricamento di %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Si è verificato un errore durante lo scaricamento dell'indice '%s'" @@ -816,7 +816,7 @@ msgstr "" "Si è verificato un errore durante lo scaricamento della firma dell'indice " "'%s'" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "Errore durante il download della libreria %s" @@ -840,7 +840,7 @@ msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" @@ -849,7 +849,7 @@ msgstr "Errore durante il caricamento di: %v" msgid "Error during board detection" msgstr "Si è verificato un errore durante il rilevamento della scheda" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "Si è verificato un errore durante la compilazione: %v" @@ -870,7 +870,7 @@ msgstr "Si è verificato un errore durante l'aggiornamento: %v" msgid "Error extracting %s" msgstr "Si è verificato un errore durante l'estrazione di %s" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" "Si è verificato un errore durante la ricerca degli artefatti di compilazione" @@ -906,7 +906,7 @@ msgstr "" "`sketch.yaml`. Controllare se la cartella degli sketch è corretta oppure " "utilizzare il flag --port:: %s" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" "Si è verificato un errore durante l'acquisizione delle informazioni della " @@ -951,7 +951,7 @@ msgid "Error installing Zip Library: %v" msgstr "" "Si è verificato un errore durante l'installazione della libreria zip: %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "Si è verificato un errore durante l'installazione della libreria %s" @@ -1002,18 +1002,18 @@ msgid "Error opening debug logging file: %s" msgstr "" "Si è verificato un errore durante l'apertura del file di log di debug: %s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" "Si è verificato un errore durante l'apertura del codice sorgente che " "sovrascrive i file: %v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" "Si è verificato un errore durante il parsing del flag --show-properties: %v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" "Si è verificato un errore durante la lettura della directory di compilazione" @@ -1033,7 +1033,7 @@ msgid "Error retrieving core list: %v" msgstr "" "Si è verificato un errore durante il recupero dell'elenco dei core: %v " -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "Si è verificato un errore durante il ripristino delle modifiche: %s" @@ -1094,7 +1094,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "Si è verificato un errore durante l'aggiornamento delle librerie" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" "Si è verificato un errore durante l'aggiornamento della piattaforma: %s" @@ -1110,10 +1110,10 @@ msgstr "" "Si è verificato un errore durante il rilevamento delle librerie incluse da " "%[1]s" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" "Si è verificato un errore durante la determinazione delle dimensioni dello " @@ -1133,7 +1133,7 @@ msgstr "Si è verificato un errore durante la scrittura del file: %v" msgid "Error: command description is not supported by %v" msgstr "Errore: la descrizione del comando non è supportata da %v" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "Errore: il codice sorgente non è valido e sovrascrive i dati: %v" @@ -1153,7 +1153,7 @@ msgstr "Esempi:" msgid "Executable to debug" msgstr "Eseguibile per il debug" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Ci si aspettava che lo sketch compilato fosse nella directory %s, invece è " @@ -1169,23 +1169,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "Impossibile cancellare il chip" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "Programmazione non riuscita" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "Impossibile masterizzare il bootloader" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "Impossibile creare la directory dei dati" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "Impossibile creare la directory degli scaricamenti" @@ -1208,7 +1208,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Impossibile ascoltare sulla porta TCP: %s. L'indirizzo è già in uso." -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "Caricamento non riuscito" @@ -1216,7 +1216,7 @@ msgstr "Caricamento non riuscito" msgid "File:" msgstr "File:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1290,7 +1290,7 @@ msgstr "Genera gli script di completamento" msgid "Generates completion scripts for various shells" msgstr "Genera gli script di completamento per varie shell" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "Sto generando i prototipi di funzione..." @@ -1302,7 +1302,7 @@ msgstr "Ottiene il valore di una chiave di impostazione." msgid "Global Flags:" msgstr "Flag globali:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1311,7 +1311,7 @@ msgstr "" "lasciando altri %[4]s byte liberi per le variabili locali. Il massimo è " "%[2]s byte." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Le variabili globali usano %[1]s byte di memoria dinamica." @@ -1329,7 +1329,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Proprietà identificative:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "Se impostato, i binari saranno esportati nella cartella degli sketch." @@ -1359,20 +1359,20 @@ msgstr "Installare le librerie nella cartella IDE-Builtin" msgid "Installed" msgstr "Installato" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "Installato %s" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "Installazione %s" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "Sto installando la libreria %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Sto installando la piattaforma %s" @@ -1409,7 +1409,7 @@ msgstr "Indirizzo TCP non valido: manca la porta" msgid "Invalid URL" msgstr "URL non è valido" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "L' URL aggiuntivo non è valido: %v" @@ -1424,19 +1424,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "L' argomento passato non è valido: %v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "Proprietà di compilazione non valide" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "La dimensione dei dati della regexp non è valida: %s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "La dimensione della eeprom della regexp non è valida: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "URL non valido: %s" @@ -1456,11 +1456,11 @@ msgstr "Libreria non è valida" msgid "Invalid logging level: %s" msgstr "Livello di log non valido: %s" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "Configurazione di rete non valida: %s" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy '%[1]s' non è valido: %[2]s" @@ -1468,7 +1468,7 @@ msgstr "network.proxy '%[1]s' non è valido: %[2]s" msgid "Invalid output format: %s" msgstr "Formato di output non valido: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Indice del pacchetto non valido in %s" @@ -1476,7 +1476,7 @@ msgstr "Indice del pacchetto non valido in %s" msgid "Invalid parameter %s: version not allowed" msgstr "Il parametro %s non è valido: versione non consentita" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "Il valore pid non è valido: '%s'" @@ -1484,15 +1484,15 @@ msgstr "Il valore pid non è valido: '%s'" msgid "Invalid profile" msgstr "Il profilo non è valido" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "Scrittura non valida in platform.txt" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "La dimensione della regexp non è valida: %s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "Nella configurazione c'è un valore non valido" @@ -1500,11 +1500,11 @@ msgstr "Nella configurazione c'è un valore non valido" msgid "Invalid version" msgstr "Versione non è valida" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "Il valore di vid non è valido: '%s'" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1529,11 +1529,11 @@ msgstr "LIBRARY_NAME" msgid "Latest" msgstr "Ultimo" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "La libreria %[1]s è stata dichiarata precompilata:" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1548,7 +1548,7 @@ msgstr "La libreria %s è già alla versione più recente" msgid "Library %s is not installed" msgstr "La libreria %s non è installata" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "Impossibile trovare la libreria %s" @@ -1567,8 +1567,8 @@ msgstr "" msgid "Library install failed" msgstr "Impossibile installare la libreria" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "La libreria è stata installata" @@ -1576,7 +1576,7 @@ msgstr "La libreria è stata installata" msgid "License: %s" msgstr "Licenza: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "Collegare tutto insieme..." @@ -1604,7 +1604,7 @@ msgstr "" "Elenco delle opzioni della scheda separate da virgole. Oppure può essere " "usato più volte per più opzioni." -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1628,8 +1628,8 @@ msgstr "Lista di tutte le schede connesse." msgid "Lists cores and libraries that can be upgraded" msgstr "Elenca i core e le librerie che possono essere aggiornati" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "Sto caricando il file dell'indice: %v" @@ -1637,7 +1637,7 @@ msgstr "Sto caricando il file dell'indice: %v" msgid "Location" msgstr "Posizione" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" "Poca memoria disponibile, potrebbero presentarsi problemi di stabilità" @@ -1646,7 +1646,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "Manutentore: %s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1694,7 +1694,7 @@ msgstr "Manca il programmatore" msgid "Missing required upload field: %s" msgstr "Manca un campo obbligatorio del caricamento: %s" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "Manca la dimensione della regexp" @@ -1776,7 +1776,7 @@ msgstr "Nessuna piattaforma installata." msgid "No platforms matching your search." msgstr "Non ci sono piattaforme corrispondenti alla tua ricerca." -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" "Non è stata trovata alcuna porta di upload, come alternativa verrà " @@ -1786,7 +1786,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "Non è stata trovata una soluzione valida per le dipendenze" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Memoria esaurita; guarda %[1]s per consigli su come ridurne l'utilizzo." @@ -1819,35 +1819,35 @@ msgstr "Apre una porta di comunicazione con una scheda." msgid "Option:" msgstr "Opzione:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Facoltativo, può essere: %s. Utilizzato per indicare a gcc quale livello di " "warning utilizzare (flag -W)." -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Facoltativo, ripulisce la cartella di build e non usa nessuna build in " "cache." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Facoltativo, ottimizza l'output di compilazione per il debug, piuttosto che " "per il rilascio." -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "Facoltativo, sopprime quasi tutti gli output." -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Facoltativo, attiva la modalità verbosa." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1855,7 +1855,7 @@ msgstr "" "Facoltativo. Percorso di un file .json che contiene una serie di " "sostituzioni del codice sorgente dello sketch." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1921,11 +1921,11 @@ msgstr "Website pacchetto:" msgid "Paragraph: %s" msgstr "Paragrafo: %s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "Percorso" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1933,7 +1933,7 @@ msgstr "" "Percorso di un gruppo di librerie. Può essere usato più volte o le voci " "possono essere separate da virgole." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1945,7 +1945,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Percorso del file in cui verranno scritti i log." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1953,20 +1953,20 @@ msgstr "" "Percorso in cui salvare i file compilati. Se omesso, verrà creata una " "directory nel percorso temporaneo predefinito del tuo sistema operativo." -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Esecuzione di un touch reset a 1200-bps sulla porta seriale %s" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "La piattaforma %s è già installata" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "La piattaforma %s è installata" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1974,7 +1974,7 @@ msgstr "" "La piattaforma %s non è stata trovata in nessun indice conosciuto.\n" "Forse è necessario aggiungere un URL di 3terze parti?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "La piattaforma %s è stata disinstallata" @@ -1990,7 +1990,7 @@ msgstr "Impossibile trovare la piattaforma '%s'" msgid "Platform ID" msgstr "ID piattaforma" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "L' ID della piattaforma non è esatto" @@ -2050,8 +2050,8 @@ msgstr "Porta chiusa: %v" msgid "Port monitor error" msgstr "Errore di monitoraggio della porta" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Impossibile trovare la libreria precompilata in \"%[1]s\"" @@ -2059,7 +2059,7 @@ msgstr "Impossibile trovare la libreria precompilata in \"%[1]s\"" msgid "Print details about a board." msgstr "Visualizza i dettagli di una scheda." -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Stampa il codice preelaborato su stdout invece di compilarlo." @@ -2115,11 +2115,11 @@ msgstr "La dotazione comprende: %s" msgid "Removes one or more values from a setting." msgstr "Rimuove uno o più valori da un'impostazione." -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "Sostituire %[1]s con %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "Sto sostituendo la piattaforma %[1]s con %[2]s" @@ -2136,12 +2136,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "Avvia la CLI di Arduino come demone gRPC." -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "Esecuzione della normale compilazione del core..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "Sto avviando lo script pre_uninstall." @@ -2153,7 +2153,7 @@ msgstr "TERMINE_DI_RICERCA" msgid "SVD file path" msgstr "Path del file SVD" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "Salva gli artefatti di compilazione in questa directory." @@ -2425,7 +2425,7 @@ msgstr "Mostra il numero di versione di Arduino CLI." msgid "Size (bytes):" msgstr "Dimensione (bytes):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2441,13 +2441,13 @@ msgstr "Sketch è stato creato in: %s" msgid "Sketch profile to use" msgstr "Profilo dello sketch da utilizzare" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "Sketch troppo grande; guarda %[1]s per consigli su come ridurne la " "dimensione" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2463,20 +2463,20 @@ msgstr "" "Gli sketch con estensione .pde sono deprecati, rinominare i seguenti file in" " .ino:" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "Salta il linking dell'eseguibile finale." -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Salto il touch reset a 1200-bps: nessuna porta seriale è stata selezionata!" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "Salta la creazione dell'archivio di: %[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "Salta la compilazione di: %[1]s" @@ -2485,16 +2485,16 @@ msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Salta il rilevamento delle dipendenze della libreria precompilata %[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "Salta la configurazione della piattaforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "Salto lo script pre_uninstall." -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "Salta la configurazione dello strumento." @@ -2502,7 +2502,7 @@ msgstr "Salta la configurazione dello strumento." msgid "Skipping: %[1]s" msgstr "Salta: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Non è stato possibile aggiornare alcuni indici." @@ -2526,7 +2526,7 @@ msgstr "" "Il file di configurazione personalizzato (se non specificato, verrà " "utilizzato quello predefinito)." -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2571,7 +2571,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "La libreria %s richiede altre installazioni:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2580,7 +2580,7 @@ msgstr "" "crittografare un binario durante il processo di compilazione. Utilizzata " "solo dalle piattaforme che la supportano." -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2593,7 +2593,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Il formato di output dei log può essere: %s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2602,7 +2602,7 @@ msgstr "" "firmare e crittografare un binario. Utilizzato solo dalle piattaforme che lo" " supportano." -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "La piattaforma non supporta '%[1]s' per le librerie precompilate." @@ -2630,12 +2630,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "Timestamp di ogni linea in entrata." -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "Il tool %s è già installato" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "Il tool %s è disinstallato" @@ -2655,7 +2655,7 @@ msgstr "Il prefisso della toolchain" msgid "Toolchain type" msgstr "Il tipo della toolchain" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Prova ad eseguire %s" @@ -2675,7 +2675,7 @@ msgstr "Tipi: %s" msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2699,17 +2699,17 @@ msgstr "Impossibile ottenere la home directory dell'utente: %v" msgid "Unable to open file for logging: %s" msgstr "Impossibile aprire il file per il logging: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "Non è stato possibile analizzare l'URL" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "Disinstallazione di %s" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "Disinstallazione di %s, il tool non è più necessario." @@ -2758,7 +2758,7 @@ msgstr "Aggiorna l'indice delle librerie alla versione più recente." msgid "Updates the libraries index." msgstr "Aggiorna l'indice delle librerie." -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "L'aggiornamento non accetta parametri con la versione" @@ -2793,7 +2793,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Indirizzo della porta di caricamento, ad esempio: COM3 o /dev/ttyACM2" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "Porta di caricamento trovata su %s" @@ -2801,7 +2801,7 @@ msgstr "Porta di caricamento trovata su %s" msgid "Upload port protocol, e.g: serial" msgstr "Protocollo della porta di caricamento, ad esempio: seriale" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "Carica il binario dopo la compilazione." @@ -2814,7 +2814,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "Carica il bootloader." -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2837,11 +2837,11 @@ msgstr "Uso: " msgid "Use %s for more information about a command." msgstr "Usa %s per ulteriori informazioni su un comando." -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "Libreria utilizzata" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "Piattaforma utilizzata" @@ -2849,7 +2849,7 @@ msgstr "Piattaforma utilizzata" msgid "Used: %[1]s" msgstr "Usata: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo della scheda '%[1]s' dalla piattaforma nella cartella: %[2]s" @@ -2858,7 +2858,7 @@ msgid "Using cached library dependencies for file: %[1]s" msgstr "" "Utilizzo delle dipendenze delle librerie nella cache per i file: %[1]s" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Utilizzo del core '%[1]s' dalla piattaforma nella cartella: %[2]s" @@ -2875,25 +2875,25 @@ msgstr "" "Si sta utilizzando una configurazione generica del monitor.\n" "ATTENZIONE: per funzionare correttamente, la scheda potrebbe richiedere impostazioni diverse!\n" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Uso la libreria %[1]s alla versione %[2]s nella cartella: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Uso la libreria %[1]s nella cartella: %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "Utilizzo del core precompilato: %[1]s" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "Utilizzo della libreria precompilata in %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "Uso il file precedentemente compilato: %[1]s" @@ -2910,11 +2910,11 @@ msgid "Values" msgstr "Valori" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "Verifica dei binari dopo il caricamento." -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Versione" @@ -2923,26 +2923,26 @@ msgstr "Versione" msgid "Versions: %s" msgstr "Versioni: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "ATTENZIONE: non è possibile configurare la piattaforma: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "ATTENZIONE non è possibile configurare lo strumento: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "AVVISO non è possibile eseguire lo script pre_uninstall: %s" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ATTENZIONE: lo sketch è compilato utilizzando una o più librerie " "personalizzate." -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2951,11 +2951,11 @@ msgstr "" "%[2]s e potrebbe non essere compatibile con la tua scheda che utilizza " "l'architettura %[3]s" -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "In attesa della porta di caricamento..." -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2978,7 +2978,7 @@ msgstr "" "Scrive la configurazione corrente nel file di configurazione nella directory" " dei dati." -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" "Non puoi utilizzare il flag %s durante la compilazione con un profilo." @@ -3019,11 +3019,11 @@ msgstr "ricerca di base per \"audio\"" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "ricerca di base per \"esp32\" e \"display\" limitata al manutentore ufficiale" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "file binario non trovato in %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "la scheda %s non è stata trovata" @@ -3039,7 +3039,7 @@ msgstr "la directory delle librerie integrate non è configurata" msgid "can't find latest release of %s" msgstr "Impossibile trovare l'ultima versione di %s" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "Impossibile trovare l'ultima versione del tool %s" @@ -3051,11 +3051,11 @@ msgstr "Non riesco a trovare un pattern per il rilevamento con id %s" msgid "candidates" msgstr "candidati" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "Impossibile eseguire il tool di caricamento: %s" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "Sto controllando l'integrità dell'archivio locale" @@ -3081,11 +3081,11 @@ msgstr "comunicazione fuori sincronia, atteso '%[1]s', ricevuto '%[2]s'" msgid "computing hash: %s" msgstr "calcolo dell'hash: %s" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "La chiave della configurazione %s contiene un carattere non valido" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "Il valore della configurazione %s contiene un carattere non valido" @@ -3093,15 +3093,15 @@ msgstr "Il valore della configurazione %s contiene un carattere non valido" msgid "copying library to destination directory:" msgstr "copia della libreria nella directory di destinazione:" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "impossibile trovare un artefatto di compilazione valido" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "impossibile sovrascrivere" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "Impossibile rimuovere la vecchia libreria" @@ -3110,20 +3110,20 @@ msgstr "Impossibile rimuovere la vecchia libreria" msgid "could not update sketch project file" msgstr "non è stato possibile aggiornare il file del progetto" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "creazione in corso della cartella cache del core: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "creazione di installed.json in %[1]s: %[2]s" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "creazione di una directory temporanea per l'estrazione: %s" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "la sezione dati supera lo spazio disponibile nella scheda" @@ -3140,7 +3140,7 @@ msgstr "" msgid "destination directory already exists" msgstr "il percorse della directory è già esistente" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "la directory non esiste: %s" @@ -3156,7 +3156,7 @@ msgstr "rilevamento %s non è stato trovato" msgid "discovery %s not installed" msgstr "il rilevamento %s non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "il rilascio del rilevamento non è stato trovato: %s" @@ -3172,11 +3172,11 @@ msgstr "scarica l'ultima versione del core SAMD di Arduino." msgid "downloaded" msgstr "scaricato" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "sto scaricando il tool %[1]s: %[2]s" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "identificativo della scheda vuoto" @@ -3194,12 +3194,12 @@ msgstr "si è verificato un errore durante l'apertura di %s" msgid "error parsing version constraints" msgstr "si è verificato un errore durante il parsing dei vincoli di versione" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" "si è verificato un errore durante l'elaborazione della risposta del server" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" "si è verificato un errore durante l'interrogazione di Arduino Cloud Api" @@ -3208,7 +3208,7 @@ msgstr "" msgid "extracting archive" msgstr "estrazione in corso dell'archivio" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "estrazione dell'archivio: %s" @@ -3216,7 +3216,7 @@ msgstr "estrazione dell'archivio: %s" msgid "failed to compute hash of file \"%s\"" msgstr "Impossibile calcolare l'hash del file \"%s\"" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "Impossibile inizializzare il client http" @@ -3226,7 +3226,7 @@ msgstr "" "La dimensione dell'archivio recuperato differisce dalla dimensione " "specificata nell'indice" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "i file dell'archivio devono essere collocati in una sottodirectory" @@ -3256,7 +3256,7 @@ msgstr "per la versione più recente." msgid "for the specific version." msgstr "per la specifica versione." -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "il campo di fqbn %s contiene un carattere non valido" @@ -3280,11 +3280,11 @@ msgstr "sto recuperando le informazioni sull'archivio: %s" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "sto recuperando il percorso dell'archivio: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "sto recuperando le proprietà di costruzione della scheda %[1]s: %[2]s" @@ -3308,11 +3308,11 @@ msgstr "" msgid "install directory not set" msgstr "La directory di installazione non è stata impostata" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "Sto installando il tool %[1]s: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "Sto installando la piattaforma %[1]s: %[2]s" @@ -3329,7 +3329,7 @@ msgstr "la direttiva '%s' non è valida" msgid "invalid checksum format: %s" msgstr "il formato del checksum non è valido: %s" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "l'opzione di configurazione non è valida: %s" @@ -3361,11 +3361,14 @@ msgstr "il nome della libreria vuoto non è valido" msgid "invalid empty library version: %s" msgstr "la versione della libreria vuota non è valida: %s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "è stata trovata un'opzione vuota non valida" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "url git non è valido" @@ -3393,7 +3396,7 @@ msgstr "la posizione della libreria non è valida: %s" msgid "invalid library: no header files found" msgstr "libreria non valida: non è stato trovato alcun file di intestazione" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "l'opzione '%s' non è valida" @@ -3411,10 +3414,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "path non valido per la scrittura del file di inventario: errore %[1]s" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "la dimensione dell'archivio della piattaforma non è valida: %s" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "l'identificatore della piattaforma non è valido" @@ -3435,7 +3434,7 @@ msgstr "il valore di configurazione della porta non è valido per %s: %s" msgid "invalid port configuration: %s=%s" msgstr "configurazione della porta non valida: %s=%s" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "scrittura non valida '%[1]s': %[2]s" @@ -3449,7 +3448,7 @@ msgstr "" "alfanumerico o \"_\", quelli successivi possono contenere anche \"-\" e " "\".\". L'ultimo non può essere \".\"." -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "il valore '%[1]s' non è valido per l'opzione '%[2]s'" @@ -3493,7 +3492,7 @@ msgstr "librerie con un nome che corrisponde esattamente a \"pcf8523\"" msgid "library %s already installed" msgstr "la libreria %s è già installata" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "la libreria non è valida" @@ -3507,8 +3506,8 @@ msgstr "caricamento di %[1]s: %[2]s" msgid "loading boards: %s" msgstr "caricamento delle schede: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "caricamento del file indice json %[1]s: %[2]s" @@ -3545,7 +3544,7 @@ msgstr "rilascio del tool di caricamento in %s" msgid "looking for boards.txt in %s" msgstr "sto cercando boards.txt in %s" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "ricerca degli artefatti di compilazione in corso" @@ -3561,7 +3560,7 @@ msgstr "Manca la direttiva '%s'" msgid "missing checksum for: %s" msgstr "manca il checksum di: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "manca il pacchetto %[1]s a cui fa riferimento la scheda %[2]s" @@ -3571,11 +3570,11 @@ msgstr "" "Manca l'indice del pacchetto %s, non possono essere garantiti aggiornamenti " "futuri" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "manca la piattaforma %[1]s:%[2]s referenziata dalla scheda %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "manca la release della piattaforma %[1]s:%[2]s a cui fa riferimento la " @@ -3585,17 +3584,17 @@ msgstr "" msgid "missing signature" msgstr "Firma mancante" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "release del monitor non è stata trovata: %s" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "sto spostando l'archivio estratto nella directory di destinazione: %s" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "sono stati trovati più artefatti di compilazione: '%[1]s' e '%[2]s'" @@ -3603,7 +3602,7 @@ msgstr "sono stati trovati più artefatti di compilazione: '%[1]s' e '%[2]s'" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "Sono stati trovati più file di sketch principale (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3611,11 +3610,11 @@ msgstr "" "non è disponibile una versione degli strumenti di %[1]s per il sistema " "operativo corrente, prova a contattare %[2]s" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "non è stata specificata alcuna istanza" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "non è stata specificata alcuna directory/file di sketch o di build" @@ -3623,13 +3622,13 @@ msgstr "non è stata specificata alcuna directory/file di sketch o di build" msgid "no such file or directory" msgstr "nessun file o directory di questo tipo" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" "non c'è una directory radice unica nell'archivio, ma sono state trovate " "'%[1]s' e '%[2]s'." -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "Non è stata fornita alcuna porta di upload" @@ -3643,7 +3642,7 @@ msgstr "" "non sono disponibili versioni per il sistema operativo corrente, prova a " "contattare %s" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "non è un FQBN: %s" @@ -3652,7 +3651,7 @@ msgid "not running in a terminal" msgstr "non è in esecuzione in un terminale" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "apertura del file di archivio: %s" @@ -3674,12 +3673,12 @@ msgstr "apertura del file di destinazione: %s" msgid "package %s not found" msgstr "il pacchetto %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "Il pacchetto '%s' non è stato trovato" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "sto facendo il parsing di fqbn: %s" @@ -3695,7 +3694,7 @@ msgstr "il percorso non è una directory della piattaforma: %s" msgid "platform %[1]s not found in package %[2]s" msgstr "la piattaforma %[1]s non è stata trovata nel pacchetto %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "la piattaforma %s non è installata" @@ -3703,14 +3702,14 @@ msgstr "la piattaforma %s non è installata" msgid "platform is not available for your OS" msgstr "la piattaforma non è disponibile per il sistema operativo in uso" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "piattaforma non installata" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "utilizza invece --build-property." @@ -3750,11 +3749,11 @@ msgstr "lettura in corso del contenuto della directory %[1]s" msgid "reading directory %s" msgstr "lettura cartella %s" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "lettura in corso del contenuto della directory %s" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "lettura del file %[1]s: %[2]s" @@ -3778,7 +3777,7 @@ msgstr "lettura in corso della directory dei sorgenti della libreria: %s" msgid "reading library_index.json: %s" msgstr "lettura di library_index.json: %s" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "lettura della directory principale del pacchetto: %s" @@ -3786,11 +3785,11 @@ msgstr "lettura della directory principale del pacchetto: %s" msgid "reading sketch files" msgstr "lettura degli sketch in corso" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "scrittura non trovata '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "il rilascio %[1]s non è stato trovato per il tool %[2]s" @@ -3807,7 +3806,7 @@ msgstr "sto rimuovendo il file di archivio danneggiato: %s" msgid "removing library directory: %s" msgstr "rimozione directory della libreria: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "sto rimuovendo i file della piattaforma: %s" @@ -3825,7 +3824,7 @@ msgstr "sto recuperando le chiavi pubbliche di Arduino: %s" msgid "scanning sketch examples" msgstr "scansione degli esempi di sketch in corso" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "ricerca nella directory principale del pacchetto: %s" @@ -3873,11 +3872,11 @@ msgstr "verifica delle dimensioni dell'archivio: %s" msgid "testing if archive is cached: %s" msgstr "verifica se l'archivio è memorizzato nella cache: %s" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "verifica l'integrità dell'archivio locale: %s" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "la sezione del testo supera lo spazio disponibile nella scheda" @@ -3886,7 +3885,7 @@ msgstr "la sezione del testo supera lo spazio disponibile nella scheda" msgid "the compilation database may be incomplete or inaccurate" msgstr "il database di compilazione potrebbe essere incompleto o impreciso" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "il server ha risposto con lo stato %s" @@ -3894,7 +3893,7 @@ msgstr "il server ha risposto con lo stato %s" msgid "timeout waiting for message" msgstr "timeout in attesa del messaggio" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "il tool %s non è gestito dal gestore dei pacchetti" @@ -3903,16 +3902,16 @@ msgstr "il tool %s non è gestito dal gestore dei pacchetti" msgid "tool %s not found" msgstr "Il tool %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "Il tool non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "il rilascio del tool non è stato trovato: %s" @@ -3920,23 +3919,23 @@ msgstr "il rilascio del tool non è stato trovato: %s" msgid "tool version %s not found" msgstr "la versione %s del tool non è stata trovata" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "sono necessarie due versioni diverse della libreria %[1]s: %[2]s e %[3]s" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" "non è possibile calcolare il percorso relativo allo sketch per l'elemento" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "non è possibile creare una cartella per salvare lo sketch" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "non è possibile creare la cartella contenente l'elemento" @@ -3945,23 +3944,23 @@ msgid "unable to marshal config to YAML: %v" msgstr "" "non è possibile eseguire il marshalling della configurazione in YAML: %v" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "non è possibile leggere il contenuto dell'elemento di destinazione" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "non è stato possibile leggere i contenuti della risorsa" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "non è possibile scrivere sul file di destinazione" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "pacchetto sconosciuto %s" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "piattaforma sconosciuta %s:%s" @@ -3981,7 +3980,7 @@ msgstr "aggiorna arduino:samd all'ultima versione" msgid "upgrade everything to the latest version" msgstr "aggiornare tutto con l'ultima versione disponibile" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "errore durante il caricamento: %s" @@ -4005,6 +4004,6 @@ msgstr "la versione %s non è disponibile per questo sistema operativo" msgid "version %s not found" msgstr "la versione %s non è stata trovata" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "formato errato nella risposta del server" diff --git a/internal/locales/data/ja.po b/internal/locales/data/ja.po index 157f29de1d4..dd7acf8da63 100644 --- a/internal/locales/data/ja.po +++ b/internal/locales/data/ja.po @@ -11,7 +11,7 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" @@ -27,7 +27,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s パターンが見つかりません" @@ -35,11 +35,11 @@ msgstr "%[1]s パターンが見つかりません" msgid "%s already downloaded" msgstr "%sはすでにダウンロードされています" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%sと%sは同時に利用できません" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%sをインストールしました" @@ -52,7 +52,7 @@ msgstr "%sはすでにインストールされています。" msgid "%s is not a directory" msgstr "%sはディレクトリではありません" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "" @@ -64,7 +64,7 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -83,7 +83,7 @@ msgstr "" msgid "(hidden)" msgstr "" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(レガシー)" @@ -144,7 +144,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "" @@ -172,7 +172,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sにビルドされたコア(キャッシュ)をアーカイブ中です" @@ -257,11 +257,11 @@ msgstr "" msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "ブートローダのファイルが指定されましたが次が不足しています:%[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -275,13 +275,13 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "" @@ -301,11 +301,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "" @@ -343,15 +343,15 @@ msgstr "" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "" @@ -360,7 +360,7 @@ msgstr "" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "" @@ -398,7 +398,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "" @@ -406,19 +406,19 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "スケッチをコンパイルしています..." @@ -441,11 +441,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "" @@ -461,19 +461,19 @@ msgstr "" msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "" @@ -485,7 +485,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "" @@ -499,7 +499,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -573,7 +573,7 @@ msgstr "" msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "" @@ -633,7 +633,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "" @@ -641,21 +641,21 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "" @@ -691,7 +691,7 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" @@ -707,11 +707,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "" @@ -725,7 +725,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "" @@ -750,7 +750,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -758,7 +758,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "" @@ -782,7 +782,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -791,7 +791,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "" @@ -812,7 +812,7 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" @@ -838,7 +838,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -874,7 +874,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "" @@ -918,15 +918,15 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" @@ -942,7 +942,7 @@ msgstr "" msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "" @@ -996,7 +996,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" @@ -1009,10 +1009,10 @@ msgstr "" msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" @@ -1028,7 +1028,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1048,7 +1048,7 @@ msgstr "" msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1062,23 +1062,23 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "" @@ -1098,7 +1098,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "" @@ -1106,7 +1106,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1170,7 +1170,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "" @@ -1182,14 +1182,14 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" "最大%[2]sバイトのRAMのうち、グローバル変数が%[1]sバイト(%[3]s%%)を使っていて、ローカル変数で%[4]sバイト使うことができます。" -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "グローバル変数は%[1]sバイトのRAMを使用しています。" @@ -1207,7 +1207,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1234,20 +1234,20 @@ msgstr "" msgid "Installed" msgstr "インストール済" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" @@ -1284,7 +1284,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "" @@ -1298,19 +1298,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1330,11 +1330,11 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1342,7 +1342,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" @@ -1350,7 +1350,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "" @@ -1358,15 +1358,15 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1374,11 +1374,11 @@ msgstr "" msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1401,11 +1401,11 @@ msgstr "" msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1419,7 +1419,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "" @@ -1436,8 +1436,8 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "" @@ -1445,7 +1445,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "" @@ -1469,7 +1469,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1491,8 +1491,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "" @@ -1500,7 +1500,7 @@ msgstr "" msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "スケッチが使用できるメモリが少なくなっています。動作が不安定になる可能性があります。" @@ -1508,7 +1508,7 @@ msgstr "スケッチが使用できるメモリが少なくなっています。 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1551,7 +1551,7 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "" @@ -1631,7 +1631,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1639,7 +1639,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "スケッチが使用するメモリが足りません。メモリを節約する方法については、以下のURLのページを参照してください。%[1]s" @@ -1669,35 +1669,35 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1757,17 +1757,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1777,32 +1777,32 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "" @@ -1818,7 +1818,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1874,8 +1874,8 @@ msgstr "" msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" @@ -1883,7 +1883,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1939,11 +1939,11 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "" @@ -1959,12 +1959,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -1976,7 +1976,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "" @@ -2188,7 +2188,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2202,11 +2202,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "スケッチが大きすぎます。%[1]s には、小さくするコツが書いてあります。" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2218,19 +2218,19 @@ msgid "" "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "" @@ -2238,16 +2238,16 @@ msgstr "" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "" @@ -2255,7 +2255,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" @@ -2275,7 +2275,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2313,13 +2313,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2329,13 +2329,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2357,12 +2357,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2402,7 +2402,7 @@ msgstr "" msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2424,17 +2424,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2480,7 +2480,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2513,7 +2513,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2521,7 +2521,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "" @@ -2533,7 +2533,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2552,11 +2552,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2564,7 +2564,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "使用済:%[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2572,7 +2572,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2586,25 +2586,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "次のフォルダのライブラリ%[1]sバージョン%[2]sを使用中:%[3]s %[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "次のフォルダのライブラリ%[1]sを使用中:%[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "以前コンパイルされたファイルを使用中:%[1]s" @@ -2621,11 +2621,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2634,35 +2634,35 @@ msgstr "" msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" "警告:ライブラリ%[1]sはアーキテクチャ%[2]sに対応したものであり、アーキテクチャ%[3]sで動作するこのボードとは互換性がないかもしれません。" -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2681,7 +2681,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2717,11 +2717,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2737,7 +2737,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2749,11 +2749,11 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2779,11 +2779,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2791,15 +2791,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2808,20 +2808,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2837,7 +2837,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2853,7 +2853,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -2869,11 +2869,11 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "" @@ -2889,11 +2889,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2901,7 +2901,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -2909,7 +2909,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -2917,7 +2917,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -2947,7 +2947,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -2971,11 +2971,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2995,11 +2995,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3015,7 +3015,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3047,11 +3047,14 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3079,7 +3082,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "" @@ -3095,10 +3098,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3119,7 +3118,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3130,7 +3129,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3174,7 +3173,7 @@ msgstr "" msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "" @@ -3188,8 +3187,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3226,7 +3225,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3242,7 +3241,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3250,11 +3249,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3262,17 +3261,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3280,17 +3279,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3298,11 +3297,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3314,7 +3313,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3323,7 +3322,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3345,12 +3344,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3366,7 +3365,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3374,14 +3373,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3420,11 +3419,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3448,7 +3447,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3456,11 +3455,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3477,7 +3476,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3494,7 +3493,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3539,11 +3538,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3552,7 +3551,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3560,7 +3559,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3569,16 +3568,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3586,21 +3585,21 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "" @@ -3608,23 +3607,23 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "" @@ -3644,7 +3643,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "" @@ -3668,6 +3667,6 @@ msgstr "" msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "" diff --git a/internal/locales/data/ko.po b/internal/locales/data/ko.po index 6475397399b..0971ddcd847 100644 --- a/internal/locales/data/ko.po +++ b/internal/locales/data/ko.po @@ -9,7 +9,7 @@ msgstr "" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" @@ -25,7 +25,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s 패턴이 없습니다" @@ -33,11 +33,11 @@ msgstr "%[1]s 패턴이 없습니다" msgid "%s already downloaded" msgstr "" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "" @@ -50,7 +50,7 @@ msgstr "" msgid "%s is not a directory" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "" @@ -62,7 +62,7 @@ msgstr "" msgid "%s must be installed." msgstr "" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -81,7 +81,7 @@ msgstr "" msgid "(hidden)" msgstr "" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(레거시)" @@ -142,7 +142,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "" @@ -170,7 +170,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "" @@ -255,11 +255,11 @@ msgstr "" msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "부트로더 파일이 지정되었으나 누락됨: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -273,13 +273,13 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "" @@ -299,11 +299,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "" @@ -341,15 +341,15 @@ msgstr "" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "" @@ -358,7 +358,7 @@ msgstr "" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "" @@ -396,7 +396,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "" @@ -404,19 +404,19 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "스케치를 컴파일 중…" @@ -439,11 +439,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "" @@ -459,19 +459,19 @@ msgstr "" msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "" @@ -483,7 +483,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "" @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -571,7 +571,7 @@ msgstr "" msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "" @@ -631,7 +631,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "" @@ -639,21 +639,21 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "" @@ -689,7 +689,7 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" @@ -705,11 +705,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "" @@ -748,7 +748,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -756,7 +756,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "" @@ -780,7 +780,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "" @@ -810,7 +810,7 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -872,7 +872,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "" @@ -916,15 +916,15 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" @@ -940,7 +940,7 @@ msgstr "" msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "" @@ -994,7 +994,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" @@ -1007,10 +1007,10 @@ msgstr "" msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1046,7 +1046,7 @@ msgstr "" msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1060,23 +1060,23 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "" @@ -1096,7 +1096,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1168,7 +1168,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "" @@ -1180,14 +1180,14 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" "전역 변수는 동적 메모리 %[1]s바이트(%[3]s%%)를 사용, %[4]s바이트의 지역변수가 남음. 최대는 %[2]s 바이트." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "전역 변수는 %[1]s 바이트의 동적 메모리를 사용." @@ -1205,7 +1205,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1232,20 +1232,20 @@ msgstr "" msgid "Installed" msgstr "설치됨" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" @@ -1282,7 +1282,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "" @@ -1296,19 +1296,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1328,11 +1328,11 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1340,7 +1340,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" @@ -1348,7 +1348,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "" @@ -1356,15 +1356,15 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1372,11 +1372,11 @@ msgstr "" msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1399,11 +1399,11 @@ msgstr "" msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1417,7 +1417,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "" @@ -1434,8 +1434,8 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "" @@ -1443,7 +1443,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "" @@ -1467,7 +1467,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1489,8 +1489,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "" @@ -1498,7 +1498,7 @@ msgstr "" msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "사용 가능한 메모리 부족, 안정성에 문제가 생길 수 있습니다." @@ -1506,7 +1506,7 @@ msgstr "사용 가능한 메모리 부족, 안정성에 문제가 생길 수 있 msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1549,7 +1549,7 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "" @@ -1629,7 +1629,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1637,7 +1637,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "메모리가 충분하지 않음; 메모리를 줄이기 위한 팁을 위해 다음 링크를 참고하세요%[1]s" @@ -1667,35 +1667,35 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1755,17 +1755,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1775,32 +1775,32 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "" @@ -1816,7 +1816,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1872,8 +1872,8 @@ msgstr "" msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" @@ -1881,7 +1881,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1937,11 +1937,11 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "" @@ -1957,12 +1957,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -1974,7 +1974,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "" @@ -2186,7 +2186,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2200,11 +2200,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "스케치가 너무 큼; 이것을 줄이기 위해 다음을 참고하세요. %[1]s" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2216,19 +2216,19 @@ msgid "" "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "" @@ -2236,16 +2236,16 @@ msgstr "" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "" @@ -2253,7 +2253,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" @@ -2273,7 +2273,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2311,13 +2311,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2327,13 +2327,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2355,12 +2355,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "" @@ -2380,7 +2380,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2400,7 +2400,7 @@ msgstr "" msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2422,17 +2422,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2478,7 +2478,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2511,7 +2511,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2519,7 +2519,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "" @@ -2531,7 +2531,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2550,11 +2550,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2562,7 +2562,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "사용됨: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2570,7 +2570,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2584,25 +2584,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "라이브러리 %[1]s를 버전 %[2]s 폴더: %[3]s %[4]s 에서 사용" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "폴더:%[2]s %[3]s의 라이브러리 %[1]s 사용" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "이전에 컴파일된 파일: %[1]s 사용" @@ -2619,11 +2619,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2632,35 +2632,35 @@ msgstr "" msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" "경고: 라이브러리 %[1]s가 %[2]s 아키텍처에서 실행되며 %[3]s아키텍처에서 실행되는 현재보드에서는 호환되지 않을 수 있습니다." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2679,7 +2679,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2715,11 +2715,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2735,7 +2735,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2747,11 +2747,11 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2777,11 +2777,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2789,15 +2789,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2806,20 +2806,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2835,7 +2835,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2851,7 +2851,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -2867,11 +2867,11 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "" @@ -2887,11 +2887,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2899,7 +2899,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -2907,7 +2907,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -2915,7 +2915,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -2945,7 +2945,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -2969,11 +2969,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2993,11 +2993,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3013,7 +3013,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3045,11 +3045,14 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3077,7 +3080,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "" @@ -3093,10 +3096,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3117,7 +3116,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3128,7 +3127,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3172,7 +3171,7 @@ msgstr "" msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "" @@ -3186,8 +3185,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3224,7 +3223,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3240,7 +3239,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3248,11 +3247,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3260,17 +3259,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3278,17 +3277,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3296,11 +3295,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3312,7 +3311,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3321,7 +3320,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3343,12 +3342,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3364,7 +3363,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3372,14 +3371,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3418,11 +3417,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3446,7 +3445,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3454,11 +3453,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3475,7 +3474,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3492,7 +3491,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3537,11 +3536,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3550,7 +3549,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3558,7 +3557,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3567,16 +3566,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3584,21 +3583,21 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "" @@ -3606,23 +3605,23 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "" @@ -3642,7 +3641,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "" @@ -3666,6 +3665,6 @@ msgstr "" msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "" diff --git a/internal/locales/data/lb.po b/internal/locales/data/lb.po index 128b64ec003..1cd8302f826 100644 --- a/internal/locales/data/lb.po +++ b/internal/locales/data/lb.po @@ -9,7 +9,7 @@ msgstr "" "Language: lb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" @@ -25,7 +25,7 @@ msgstr "" msgid "%[1]s is required but %[2]s is currently installed." msgstr "" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "" @@ -33,11 +33,11 @@ msgstr "" msgid "%s already downloaded" msgstr "%s schon erofgelueden" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s installéiert" @@ -50,7 +50,7 @@ msgstr "%s ass schon installéiert." msgid "%s is not a directory" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "" @@ -62,7 +62,7 @@ msgstr "" msgid "%s must be installed." msgstr "%s muss installéiert ginn." -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -81,7 +81,7 @@ msgstr "" msgid "(hidden)" msgstr "(verstoppt)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "" @@ -142,7 +142,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "" @@ -170,7 +170,7 @@ msgstr "" msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "" @@ -255,11 +255,11 @@ msgstr "" msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -273,13 +273,13 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "Kann Bibliothéik net roflueden" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "" @@ -299,11 +299,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "" @@ -341,15 +341,15 @@ msgstr "" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "" @@ -358,7 +358,7 @@ msgstr "" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "" @@ -396,7 +396,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "" @@ -404,19 +404,19 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "" @@ -439,11 +439,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "" @@ -459,19 +459,19 @@ msgstr "" msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "" @@ -483,7 +483,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "" @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -571,7 +571,7 @@ msgstr "" msgid "Description" msgstr "Beschreiwung" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "" @@ -631,7 +631,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "" @@ -639,21 +639,21 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "" @@ -689,7 +689,7 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" @@ -705,11 +705,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "" @@ -723,7 +723,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "" @@ -748,7 +748,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -756,7 +756,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "" @@ -780,7 +780,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "" @@ -810,7 +810,7 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -872,7 +872,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "Feeler bei der Installatioun vun der Bibliothéik %s" @@ -916,15 +916,15 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" @@ -940,7 +940,7 @@ msgstr "" msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "" @@ -994,7 +994,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" @@ -1007,10 +1007,10 @@ msgstr "" msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" @@ -1026,7 +1026,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1046,7 +1046,7 @@ msgstr "Beispiller:" msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1060,23 +1060,23 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "" @@ -1096,7 +1096,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "" @@ -1104,7 +1104,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1168,7 +1168,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "" @@ -1180,13 +1180,13 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "" -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "" @@ -1204,7 +1204,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1231,20 +1231,20 @@ msgstr "" msgid "Installed" msgstr "Installéiert" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" @@ -1281,7 +1281,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "" @@ -1295,19 +1295,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1327,11 +1327,11 @@ msgstr "Ongülteg Bibliothéik" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1339,7 +1339,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" @@ -1347,7 +1347,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "" @@ -1355,15 +1355,15 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1371,11 +1371,11 @@ msgstr "" msgid "Invalid version" msgstr "Ongülteg Versioun" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1398,11 +1398,11 @@ msgstr "" msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1416,7 +1416,7 @@ msgstr "D'Bibliothéik %s huet schon déi neisten Versioun" msgid "Library %s is not installed" msgstr "Bibliothéik %s ass net installéiert" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "Bibliothéik %s net fonnt" @@ -1433,8 +1433,8 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "Bibliothéik installéiert" @@ -1442,7 +1442,7 @@ msgstr "Bibliothéik installéiert" msgid "License: %s" msgstr "Lizenz: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "" @@ -1466,7 +1466,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1488,8 +1488,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "" @@ -1497,7 +1497,7 @@ msgstr "" msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" @@ -1505,7 +1505,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1548,7 +1548,7 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1636,7 +1636,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" @@ -1666,35 +1666,35 @@ msgstr "" msgid "Option:" msgstr "Optioun:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1754,17 +1754,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1774,32 +1774,32 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "" @@ -1815,7 +1815,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1871,8 +1871,8 @@ msgstr "" msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" @@ -1880,7 +1880,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1936,11 +1936,11 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "" @@ -1956,12 +1956,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -1973,7 +1973,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "" @@ -2185,7 +2185,7 @@ msgstr "" msgid "Size (bytes):" msgstr "Gréisst (Bytes):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2199,11 +2199,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2215,19 +2215,19 @@ msgid "" "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "" @@ -2235,16 +2235,16 @@ msgstr "" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "" @@ -2252,7 +2252,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" @@ -2272,7 +2272,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2310,13 +2310,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2326,13 +2326,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2354,12 +2354,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "" @@ -2379,7 +2379,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2399,7 +2399,7 @@ msgstr "" msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2421,17 +2421,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2477,7 +2477,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2510,7 +2510,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2518,7 +2518,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "" @@ -2530,7 +2530,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2549,11 +2549,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "Benotzten Bibliothéik" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2561,7 +2561,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Benotzt: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2569,7 +2569,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2583,25 +2583,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "" @@ -2618,11 +2618,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Versioun" @@ -2631,34 +2631,34 @@ msgstr "Versioun" msgid "Versions: %s" msgstr "Versiounen: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "" -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2677,7 +2677,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2713,11 +2713,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2733,7 +2733,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2745,11 +2745,11 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2775,11 +2775,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2787,15 +2787,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2804,20 +2804,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2833,7 +2833,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2849,7 +2849,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -2865,11 +2865,11 @@ msgstr "" msgid "downloaded" msgstr "erofgelueden" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "" @@ -2885,11 +2885,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2897,7 +2897,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -2905,7 +2905,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -2913,7 +2913,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -2943,7 +2943,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -2967,11 +2967,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2991,11 +2991,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3011,7 +3011,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3043,11 +3043,14 @@ msgstr "ongültegen, eidelen Bibliothéiksnumm" msgid "invalid empty library version: %s" msgstr "ongülteg, eidel Bibliothéiksversioun: %s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3075,7 +3078,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "Ongülteg Optioun '%s'" @@ -3091,10 +3094,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3115,7 +3114,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3126,7 +3125,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3170,7 +3169,7 @@ msgstr "" msgid "library %s already installed" msgstr "Bibliothéik %s ass schon installéiert" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "Bibliothéik ongülteg" @@ -3184,8 +3183,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3222,7 +3221,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3238,7 +3237,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3246,11 +3245,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3258,17 +3257,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3276,17 +3275,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3294,11 +3293,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3310,7 +3309,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3319,7 +3318,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3341,12 +3340,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3362,7 +3361,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3370,14 +3369,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3416,11 +3415,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3444,7 +3443,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3452,11 +3451,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3473,7 +3472,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3490,7 +3489,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3535,11 +3534,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3548,7 +3547,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3556,7 +3555,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3565,16 +3564,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3582,21 +3581,21 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "" @@ -3604,23 +3603,23 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "" @@ -3640,7 +3639,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "" @@ -3664,6 +3663,6 @@ msgstr "" msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "" diff --git a/internal/locales/data/pl.po b/internal/locales/data/pl.po index b977e12ffe9..e0553050019 100644 --- a/internal/locales/data/pl.po +++ b/internal/locales/data/pl.po @@ -11,7 +11,7 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "" @@ -27,7 +27,7 @@ msgstr "%[1]snieprawidłowe, przebudowywuję całość" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]sjest wymagane ale %[2]s jest obecnie zaistalowane" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "Brakujący wzorzec %[1]s" @@ -35,11 +35,11 @@ msgstr "Brakujący wzorzec %[1]s" msgid "%s already downloaded" msgstr "%sjuż pobrane" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s oraz %s nie mogą być razem użyte" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s zainstalowane" @@ -52,7 +52,7 @@ msgstr "%sjuż jest zainstalowane" msgid "%s is not a directory" msgstr "%snie jest " -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%snie jest zarządzane przez zarządcę paczek" @@ -64,7 +64,7 @@ msgstr "" msgid "%s must be installed." msgstr "%smusi byc zainstalowane" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s brakuje wzoru" @@ -73,7 +73,7 @@ msgstr "%s brakuje wzoru" msgid "'%s' has an invalid signature" msgstr "'%s' posiada niewłaściwy podpis" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -83,7 +83,7 @@ msgstr "" msgid "(hidden)" msgstr "(ukryte)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(przestarzałe)" @@ -144,7 +144,7 @@ msgstr "" msgid "All the cores are already at the latest version" msgstr "" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "" @@ -172,7 +172,7 @@ msgstr "Architektura: %s" msgid "Archive already exists" msgstr "" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "Archiwizowanie budowanego rdzenia (buforowanie) w: %[1]s" @@ -257,11 +257,11 @@ msgstr "Nazwa płytki:" msgid "Board version:" msgstr "" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "Podany nieistniejący plik programu rozruchowego: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -275,13 +275,13 @@ msgstr "" msgid "Can't create sketch" msgstr "" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "" @@ -301,11 +301,11 @@ msgstr "" msgid "Can't write debug log: %s" msgstr "" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "" @@ -343,15 +343,15 @@ msgstr "" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "" @@ -360,7 +360,7 @@ msgstr "" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "" @@ -398,7 +398,7 @@ msgid "" "a change." msgstr "" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "" @@ -406,19 +406,19 @@ msgstr "" msgid "Compiles Arduino sketches." msgstr "" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Kompilowanie szkicu..." @@ -441,11 +441,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "" @@ -461,19 +461,19 @@ msgstr "" msgid "Core" msgstr "" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "" @@ -485,7 +485,7 @@ msgstr "" msgid "Create a new Sketch" msgstr "" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "" @@ -499,7 +499,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -573,7 +573,7 @@ msgstr "" msgid "Description" msgstr "" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "" @@ -633,7 +633,7 @@ msgstr "" msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "" @@ -641,21 +641,21 @@ msgstr "" msgid "Downloading index signature: %s" msgstr "" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "" @@ -691,7 +691,7 @@ msgstr "" msgid "Error adding file to sketch archive" msgstr "" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "" @@ -707,11 +707,11 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "" @@ -725,7 +725,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "" @@ -750,7 +750,7 @@ msgstr "" msgid "Error downloading %s" msgstr "" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "" @@ -758,7 +758,7 @@ msgstr "" msgid "Error downloading index signature '%s'" msgstr "" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "" @@ -782,7 +782,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -791,7 +791,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "" @@ -812,7 +812,7 @@ msgstr "" msgid "Error extracting %s" msgstr "" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "" @@ -838,7 +838,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "" @@ -874,7 +874,7 @@ msgstr "" msgid "Error installing Zip Library: %v" msgstr "" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "" @@ -918,15 +918,15 @@ msgstr "" msgid "Error opening debug logging file: %s" msgstr "" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "" @@ -942,7 +942,7 @@ msgstr "" msgid "Error retrieving core list: %v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "" @@ -996,7 +996,7 @@ msgstr "" msgid "Error upgrading libraries" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "" @@ -1009,10 +1009,10 @@ msgstr "" msgid "Error while detecting libraries included by %[1]s" msgstr "" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "" @@ -1028,7 +1028,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "" @@ -1048,7 +1048,7 @@ msgstr "" msgid "Executable to debug" msgstr "" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" @@ -1062,23 +1062,23 @@ msgstr "" msgid "FQBN:" msgstr "" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "" @@ -1098,7 +1098,7 @@ msgstr "" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "" @@ -1106,7 +1106,7 @@ msgstr "" msgid "File:" msgstr "" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1170,7 +1170,7 @@ msgstr "" msgid "Generates completion scripts for various shells" msgstr "" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "" @@ -1182,7 +1182,7 @@ msgstr "" msgid "Global Flags:" msgstr "" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1191,7 +1191,7 @@ msgstr "" "pozostawiając %[4]s bajtów dla zmiennych lokalnych. Maksimum to %[2]s " "bajtów." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Zmienne globalne używają %[1]s bajtów pamięci dynamicznej." @@ -1209,7 +1209,7 @@ msgstr "" msgid "Identification properties:" msgstr "" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" @@ -1236,20 +1236,20 @@ msgstr "" msgid "Installed" msgstr "Zainstalowany" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "" @@ -1286,7 +1286,7 @@ msgstr "" msgid "Invalid URL" msgstr "" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "" @@ -1300,19 +1300,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1332,11 +1332,11 @@ msgstr "" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "" @@ -1344,7 +1344,7 @@ msgstr "" msgid "Invalid output format: %s" msgstr "" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "" @@ -1352,7 +1352,7 @@ msgstr "" msgid "Invalid parameter %s: version not allowed" msgstr "" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "" @@ -1360,15 +1360,15 @@ msgstr "" msgid "Invalid profile" msgstr "" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1376,11 +1376,11 @@ msgstr "" msgid "Invalid version" msgstr "" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1403,11 +1403,11 @@ msgstr "" msgid "Latest" msgstr "" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1421,7 +1421,7 @@ msgstr "" msgid "Library %s is not installed" msgstr "" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "" @@ -1438,8 +1438,8 @@ msgstr "" msgid "Library install failed" msgstr "" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "" @@ -1447,7 +1447,7 @@ msgstr "" msgid "License: %s" msgstr "" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "" @@ -1471,7 +1471,7 @@ msgid "" " multiple options." msgstr "" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1493,8 +1493,8 @@ msgstr "" msgid "Lists cores and libraries that can be upgraded" msgstr "" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "" @@ -1502,7 +1502,7 @@ msgstr "" msgid "Location" msgstr "" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "" "Niski poziom dostępnej pamięci, mogą wystąpić problemy ze stabilnością." @@ -1511,7 +1511,7 @@ msgstr "" msgid "Maintainer: %s" msgstr "" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1554,7 +1554,7 @@ msgstr "" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "" @@ -1634,7 +1634,7 @@ msgstr "" msgid "No platforms matching your search." msgstr "" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" @@ -1642,7 +1642,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Niewystarczająca ilość pamięci; sprawdź %[1]s w poszukiwaniu rozwiązania " @@ -1674,35 +1674,35 @@ msgstr "" msgid "Option:" msgstr "" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1762,17 +1762,17 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1782,32 +1782,32 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "" @@ -1823,7 +1823,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -1879,8 +1879,8 @@ msgstr "" msgid "Port monitor error" msgstr "" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "" @@ -1888,7 +1888,7 @@ msgstr "" msgid "Print details about a board." msgstr "" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" @@ -1944,11 +1944,11 @@ msgstr "" msgid "Removes one or more values from a setting." msgstr "" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "" @@ -1964,12 +1964,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -1981,7 +1981,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "" @@ -2193,7 +2193,7 @@ msgstr "" msgid "Size (bytes):" msgstr "" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2207,11 +2207,11 @@ msgstr "" msgid "Sketch profile to use" msgstr "" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Szkic za duży, zobacz porady na %[1]s w celu zmiejszenia go." -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2225,19 +2225,19 @@ msgid "" "files to .ino:" msgstr "" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "" @@ -2245,16 +2245,16 @@ msgstr "" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "" @@ -2262,7 +2262,7 @@ msgstr "" msgid "Skipping: %[1]s" msgstr "" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "" @@ -2282,7 +2282,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2320,13 +2320,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2336,13 +2336,13 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" @@ -2364,12 +2364,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "" @@ -2389,7 +2389,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2409,7 +2409,7 @@ msgstr "" msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2431,17 +2431,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2487,7 +2487,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2520,7 +2520,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2528,7 +2528,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "" @@ -2540,7 +2540,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2559,11 +2559,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2571,7 +2571,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Wykorzystane: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2579,7 +2579,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2593,25 +2593,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Użycie biblioteki %[1]s w wersji %[2]s z folderu: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Użycie biblioteki %[1]s z folderu %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "Użycie wcześniej skompilowanego pliku: %[1]s" @@ -2628,11 +2628,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2641,24 +2641,24 @@ msgstr "" msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2667,11 +2667,11 @@ msgstr "" "może nie być kompatybilna z obecną płytką która działa na " "architekturze(/architekturach) %[3]s." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2690,7 +2690,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2726,11 +2726,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2746,7 +2746,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2758,11 +2758,11 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2788,11 +2788,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2800,15 +2800,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2817,20 +2817,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2846,7 +2846,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2862,7 +2862,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -2878,11 +2878,11 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "" @@ -2898,11 +2898,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -2910,7 +2910,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -2918,7 +2918,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -2926,7 +2926,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -2956,7 +2956,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -2980,11 +2980,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3004,11 +3004,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3024,7 +3024,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3056,11 +3056,14 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3088,7 +3091,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "" @@ -3104,10 +3107,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3128,7 +3127,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3139,7 +3138,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3183,7 +3182,7 @@ msgstr "" msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "" @@ -3197,8 +3196,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3235,7 +3234,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3251,7 +3250,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3259,11 +3258,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3271,17 +3270,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3289,17 +3288,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3307,11 +3306,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3323,7 +3322,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3332,7 +3331,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3354,12 +3353,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3375,7 +3374,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3383,14 +3382,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3429,11 +3428,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3457,7 +3456,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3465,11 +3464,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3486,7 +3485,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3503,7 +3502,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3548,11 +3547,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3561,7 +3560,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3569,7 +3568,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3578,16 +3577,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3595,21 +3594,21 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "" @@ -3617,23 +3616,23 @@ msgstr "" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "" @@ -3653,7 +3652,7 @@ msgstr "" msgid "upgrade everything to the latest version" msgstr "" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "" @@ -3677,6 +3676,6 @@ msgstr "" msgid "version %s not found" msgstr "" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "" diff --git a/internal/locales/data/pt.po b/internal/locales/data/pt.po index 9df0fbfc9ee..4ef220e7d72 100644 --- a/internal/locales/data/pt.po +++ b/internal/locales/data/pt.po @@ -12,7 +12,7 @@ msgstr "" "Language: pt\n" "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[5]s%[4]sData%[3]scomprometer%[2]sVersão" @@ -28,7 +28,7 @@ msgstr "%[1]sinválido, refazendo tudo" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s‎é necessário, mas‎%[2]snão é instalado em nenhum momento." -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]so padrão está faltando" @@ -36,11 +36,11 @@ msgstr "%[1]so padrão está faltando" msgid "%s already downloaded" msgstr "%s‎já baixado‎" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%se%s‎não pode ser usado em conjunto‎" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%sinstalado" @@ -53,7 +53,7 @@ msgstr "%s‎já está instalado.‎" msgid "%s is not a directory" msgstr "%s‎não é um diretório‎" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s‎não é gerenciado pelo gerente de pacotes‎" @@ -65,7 +65,7 @@ msgstr "" msgid "%s must be installed." msgstr "%s‎deve ser instalado.‎" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%spadrão está faltando" @@ -74,7 +74,7 @@ msgstr "%spadrão está faltando" msgid "'%s' has an invalid signature" msgstr "%s‎tem uma assinatura inválida‎" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -86,7 +86,7 @@ msgstr "" msgid "(hidden)" msgstr "‎(oculto)‎" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "‎(legado)‎" @@ -152,7 +152,7 @@ msgstr "Todas as plataformas estão atualizadas." msgid "All the cores are already at the latest version" msgstr "Todos os Núcleos já estão na versão mais recente" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "%s‎Já instalado‎" @@ -180,7 +180,7 @@ msgstr "%sArquitetura:‎" msgid "Archive already exists" msgstr "O Arquivo já existe" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "%[1]sArquivando núcleo construído (cache) em:" @@ -269,12 +269,12 @@ msgstr "Nome da Placa:" msgid "Board version:" msgstr "Versão da Placa:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "" "Um Arquivo carregador de inicialização definido, mas está faltando: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -288,13 +288,13 @@ msgstr "Não é possível criar o diretório de dados %s" msgid "Can't create sketch" msgstr "Não é possível criar esboço" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "Não é possível baixar biblioteca" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "Não foi possível encontrar as dependências para a plataforma %s" @@ -314,11 +314,11 @@ msgstr "Não é possível utilizar as seguintes Flags ao mesmo tempo: %s" msgid "Can't write debug log: %s" msgstr "Não é possível escrever para o arquivo de depuração: %s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "Não é possível criar Build do diretório de Cache" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "Não é possível criar Build do diretório" @@ -356,15 +356,15 @@ msgstr "Não é possível encontrar caminho absoluto: %v" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "Não é possível obter a chave de configuração %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "Não é possível instalar plataforma" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "Não é possível instalar ferramenta %s" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "Não é possível realizar redefinição de porta: %s" @@ -373,7 +373,7 @@ msgstr "Não é possível realizar redefinição de porta: %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "Não é possível remover a chave de configuração %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "Não é possível realizar Upgrade na plataforma" @@ -416,7 +416,7 @@ msgstr "" "Comando continua a executar e a imprimir lista de placas conectadas sempre " "que ocorrer uma mudança." -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "Esboço compilado não encontrado em %s" @@ -424,19 +424,19 @@ msgstr "Esboço compilado não encontrado em %s" msgid "Compiles Arduino sketches." msgstr "Compila esboços Arduino." -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "Compilando núcleo..." -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "Compilando bibliotecas..." -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "%[1]s‎Biblioteca de compilação‎ \"\"" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Compilando sketch..." @@ -463,11 +463,11 @@ msgstr "" "Designe as configurações da porta de comunicação. O formato é <ID> = " "<value>[,<ID> = <value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "Configurando plataforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "Configurando ferramenta." @@ -483,19 +483,19 @@ msgstr "Conectando a %s. Pressione CTRL-C para sair." msgid "Core" msgstr "Núcleo" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "Não foi possível conectar via HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Não foi possível criar diretório Index" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "Não foi possível fazer o Cache profundo para a Build central: %[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "Não foi possível determinar o tamanho do programa" @@ -507,7 +507,7 @@ msgstr "Não foi possível obter o diretório de trabalho atual: %v" msgid "Create a new Sketch" msgstr "Criar novo Esboço" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "Criar e imprimir perfil de configuração da Build." @@ -523,7 +523,7 @@ msgstr "" "Cria ou atualiza o arquivo de configuração no diretório de dados ou em um " "diretório customizado com as definições de configuração atuais." -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -602,7 +602,7 @@ msgstr "Dependências: %s" msgid "Description" msgstr "Descrição" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "Detectando bibliotecas utilizadas..." @@ -664,7 +664,7 @@ msgstr "Não encerre o processo Daemon se o processo relacionado morrer." msgid "Do not try to update library dependencies if already installed." msgstr "" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "Baixando %s" @@ -672,21 +672,21 @@ msgstr "Baixando %s" msgid "Downloading index signature: %s" msgstr "Baixando assinatura Indes: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Baixando Index: %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "Baixando biblioteca %s" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "Baixando ferramenta %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "Baixando pacotes" @@ -723,7 +723,7 @@ msgstr "Insira URL git para bibliotecas hospedadas em repositórios" msgid "Error adding file to sketch archive" msgstr "Erro ao adicionar arquivo de esboço para o depósito de documentos" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Erro ao adicionar Build do Núcleo (caching) em %[1]s:%[2]s" @@ -739,11 +739,11 @@ msgstr "Erro ao calcular caminho de arquivo relativo" msgid "Error cleaning caches: %v" msgstr "Erro ao limpar caches: %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "Erro ao converter caminho para absoluto: %v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "Erro ao copiar arquivo de saída %s" @@ -757,7 +757,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "Erro ao criar instância: %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "Erro ao criar diretório de saída" @@ -782,7 +782,7 @@ msgstr "Erro ao baixar %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Erro ao baixar %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Erro ao baixar índice '%s'" @@ -790,7 +790,7 @@ msgstr "Erro ao baixar índice '%s'" msgid "Error downloading index signature '%s'" msgstr "Erro ao baixar assinatura de índice '%s'" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "Erro ao baixar biblioteca %s" @@ -814,7 +814,7 @@ msgstr "Erro durante codificação da saída JSON: %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" @@ -823,7 +823,7 @@ msgstr "Erro durante envio: %v" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "Erro durante build: %v" @@ -844,7 +844,7 @@ msgstr "Erro durante atualização: %v" msgid "Error extracting %s" msgstr "Erro ao extrair %s" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "Erro ao buscar por artefatos da Build" @@ -871,7 +871,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Erro ao obter informações da biblioteca %s" @@ -907,7 +907,7 @@ msgstr "Erro ao instalar biblioteca Git: %v" msgid "Error installing Zip Library: %v" msgstr "Erro ao instalar biblioteca Zip: %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "Erro ao instalar biblioteca %s" @@ -951,15 +951,15 @@ msgstr "Erro ao abrir %s" msgid "Error opening debug logging file: %s" msgstr "Erro ao abrir arquivo de registro de depuração: %s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "Erro ao abrir arquivo de dados que sobrescrevem o código fonte: %v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "Erro ao fazer análise sintática na flag --show-properties: %v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "Erro ao ler diretório de build" @@ -975,7 +975,7 @@ msgstr "Erro ao esclarecer dependências para %[1]s: %[2]s" msgid "Error retrieving core list: %v" msgstr "Erro ao adquirir lista de núcleos: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "Erro ao reverter mudanças: %s" @@ -1029,7 +1029,7 @@ msgstr "Erro ao atualizar índice de biblioteca: %v" msgid "Error upgrading libraries" msgstr "Erro ao atualizar bibliotecas" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "Erro ao atualizar plataforma: %s" @@ -1042,10 +1042,10 @@ msgstr "Erro ao verificar assinatura" msgid "Error while detecting libraries included by %[1]s" msgstr "Erro ao detectar bibliotecas incluídas por %[1]s" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "Erro ao determinar tamanho do esboço: %s" @@ -1061,7 +1061,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "Erro: descrição de comando não suportado por %v" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "Erro: arquivo de dados que sobrescrevem o código fonte inválido: %v" @@ -1081,7 +1081,7 @@ msgstr "Exemplos:" msgid "Executable to debug" msgstr "Executável para depurar" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Um esboço compilado era esperado no diretório %s, mas um arquivo foi " @@ -1097,23 +1097,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "Falha ao apagar chip" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "Falha ao programar" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "Falha ao gravar carregador de inicialização" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "Falha ao criar diretório de dados" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "Falha ao criar diretório de downloads" @@ -1133,7 +1133,7 @@ msgstr "Falha ao ouvir porta TCP: %[1]s. Erro inesperado: %[2]v" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Falha ao ouvir porta TCP: %s. Endereço já está em uso." -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "Falha ao enviar" @@ -1141,7 +1141,7 @@ msgstr "Falha ao enviar" msgid "File:" msgstr "Arquivo:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1212,7 +1212,7 @@ msgstr "Gera scripts de conclusão" msgid "Generates completion scripts for various shells" msgstr "Gera scripts de conclusão para várias Shells" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "Gerando protótipos de função..." @@ -1224,7 +1224,7 @@ msgstr "" msgid "Global Flags:" msgstr "Flags Globais:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1232,7 +1232,7 @@ msgstr "" "Variáveis globais usam %[1]s bytes (%[3]s%%) de memória dinâmica, restando " "%[4]s bytes para variáveis locais. O maximo é %[2]s bytes." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Variáveis globais usam %[1]s bytes de memória dinâmica." @@ -1250,7 +1250,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "Propriedades de identificação:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Se designado, binárias de build serão exportadas para o diretório de " @@ -1281,20 +1281,20 @@ msgstr "Instalar bibliotecas no Diretório Embutido da IDE." msgid "Installed" msgstr "Instalado" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "%s instalado" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "Instalado %s" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "Instalando biblioteca %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Instalando plataforma %s" @@ -1333,7 +1333,7 @@ msgstr "Endereço TCP inválido: a porta está faltando " msgid "Invalid URL" msgstr "URL inválida" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "URL adicional inválida: %v" @@ -1347,19 +1347,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "Argumento inválido passado: %v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "Propriedades de compilação inválidas" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "Tamanho de dados para regexp inválida: %s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "Regexp de tamanho EEPROM inválida: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "" @@ -1379,11 +1379,11 @@ msgstr "Biblioteca inválida" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "network.proxy inválido: '%[1]s':%[2]s" @@ -1391,7 +1391,7 @@ msgstr "network.proxy inválido: '%[1]s':%[2]s" msgid "Invalid output format: %s" msgstr "Formato de saída inválido: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Índice de pacote inválido em %s" @@ -1399,7 +1399,7 @@ msgstr "Índice de pacote inválido em %s" msgid "Invalid parameter %s: version not allowed" msgstr "Parâmetro %s inválido: versão não permitida" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "Valor PID inválido: '%s'" @@ -1407,15 +1407,15 @@ msgstr "Valor PID inválido: '%s'" msgid "Invalid profile" msgstr "Perfil inválido" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "Receita inválida em platform.txt" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "Tamanho de regexp inválido: %s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1423,11 +1423,11 @@ msgstr "" msgid "Invalid version" msgstr "Versão inválida" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "Valor vid inválido: '%s'" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1452,11 +1452,11 @@ msgstr "NOME_BIBLIOTECA" msgid "Latest" msgstr "Mais recente" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "A biblioteca %[1]s foi declarada como pré-compilada:" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1471,7 +1471,7 @@ msgstr "A biblioteca %s já está instalada em sua versão mais recente." msgid "Library %s is not installed" msgstr "A biblioteca %s não está instalada" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "A biblioteca %s não foi encontrada" @@ -1490,8 +1490,8 @@ msgstr "" msgid "Library install failed" msgstr "Instalação de biblioteca falhou" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "Biblioteca instalada" @@ -1499,7 +1499,7 @@ msgstr "Biblioteca instalada" msgid "License: %s" msgstr "Licença: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "Vinculando tudo..." @@ -1527,7 +1527,7 @@ msgstr "" "Listar todas as opções de placas separadas por vírgula. Ou pode ser usado " "múltiplas vezes para múltiplas opções." -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1551,8 +1551,8 @@ msgstr "Listar todas as placas conectadas." msgid "Lists cores and libraries that can be upgraded" msgstr "Listar núcleos e bibliotecas que podem ser atualizadas" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "Carregando arquivo Index: %v" @@ -1560,7 +1560,7 @@ msgstr "Carregando arquivo Index: %v" msgid "Location" msgstr "Localização" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "Pouca memória disponível, podem ocorrer problemas de estabilidade." @@ -1568,7 +1568,7 @@ msgstr "Pouca memória disponível, podem ocorrer problemas de estabilidade." msgid "Maintainer: %s" msgstr "Mantedor: %s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1612,7 +1612,7 @@ msgstr "Programador faltando" msgid "Missing required upload field: %s" msgstr "" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "Tamanho de regexp faltando" @@ -1694,7 +1694,7 @@ msgstr "Nenhuma plataforma instalada." msgid "No platforms matching your search." msgstr "Nenhuma plataforma correspondente à sua busca." -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "Nenhuma porta de envio encontrada, usando %s como reserva" @@ -1702,7 +1702,7 @@ msgstr "Nenhuma porta de envio encontrada, usando %s como reserva" msgid "No valid dependencies solution found" msgstr "Sem solução válida para dependências encontrada " -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "" "Memória insuficiente: veja %[1]s para sugestões sobre como reduzir a sua " @@ -1736,35 +1736,35 @@ msgstr "Abra uma porta de comunicação com a placa." msgid "Option:" msgstr "Opção:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Opcional, pode ser: %s. Usado para indicar ao GCC qual nível de alerta " "utilizar (flag -W)." -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Opcional, limpeza do diretório de compilação e não utilização de nenhuma " "compilação em cache." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Opcional, otimize saída de compilação para depuração, ao invés de " "lançamento." -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "Opcional, esconde quase qualquer saída. " -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Opcional, liga o modo verboso." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1772,7 +1772,7 @@ msgstr "" "Opcional. Caminho para um arquivo .json que contém um conjunto de " "substituições do código fonte do esboço." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1834,11 +1834,11 @@ msgstr "Website do pacote:" msgid "Paragraph: %s" msgstr "Parágrafo: %s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "Caminho" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1846,7 +1846,7 @@ msgstr "" "Caminho para a coleção de bibliotecas. Pode ser utilizado múltiplas vezes. " "Entradas podem ser separadas por vírgulas." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1858,7 +1858,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Caminho para o arquivo onde os registros de dados serão escritos." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1866,20 +1866,20 @@ msgstr "" "Caminho para onde salvar arquivos compilados. Se omitido, um diretório vai " "ser criado no caminho temporário padrão do seu SO." -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Executando toque de redefinição de 1200-bps na porta serial %s" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "Plataforma %s já está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1887,7 +1887,7 @@ msgstr "" "A plataforma %s não foi encontrada em nenhum índice conhecido\n" "Talvez você precise adicionar uma URL externa de 3ºs?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "Plataforma %s desinstalada. " @@ -1903,7 +1903,7 @@ msgstr "Plataforma '%s' não encontrada" msgid "Platform ID" msgstr "ID da Plataforma" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "ID da Plataforma incorreto" @@ -1963,8 +1963,8 @@ msgstr "Porta fechada: %v" msgid "Port monitor error" msgstr "Erro no monitor de portas" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Biblioteca pré-compilada em \"%[1]s\" não foi encontrada" @@ -1972,7 +1972,7 @@ msgstr "Biblioteca pré-compilada em \"%[1]s\" não foi encontrada" msgid "Print details about a board." msgstr "Imprimir detalhes sobre a placa." -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "Imprimir código pré-processado para stdout ao invés de compilar." @@ -2028,11 +2028,11 @@ msgstr "Providenciar includes: %s" msgid "Removes one or more values from a setting." msgstr "Remove um ou mais valores de uma configuração." -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "Substituindo %[1]s com %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "Substituindo plataforma %[1]s com %[2]s" @@ -2049,12 +2049,12 @@ msgstr "" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "Executando compilação normal do núcleo..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "" @@ -2066,7 +2066,7 @@ msgstr "" msgid "SVD file path" msgstr "" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "Salve artefatos de compilação neste diretório." @@ -2297,7 +2297,7 @@ msgstr "Mostra o número de versão da CLI Arduino." msgid "Size (bytes):" msgstr "Tamanho (em bytes):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2313,13 +2313,13 @@ msgstr "Esboço criado em: %s" msgid "Sketch profile to use" msgstr "Perfil de Esboço para utilizar" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "" "O rascunho é demasiado grande; veja %[1]s para técnicas de reduzir o " "ficheiro." -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2335,21 +2335,21 @@ msgstr "" "Esboços com a extensão. pde estão descontinuados. Por favor renomeie os " "seguintes arquivos para .ino:" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "Pule a vinculação da executável final." -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Pulando o toque de redefinição 1200-bps: nenhuma porta serial foi " "selecionada!" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "Pulando a criação de depósito de documentos de: %[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "Pulando a compilação de: %[1]s" @@ -2358,16 +2358,16 @@ msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "" "Pulando detecção de dependências para a biblioteca pré-compilada %[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "Pulando configuração de plataforma." -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "Pulando configuração de ferramenta." @@ -2375,7 +2375,7 @@ msgstr "Pulando configuração de ferramenta." msgid "Skipping: %[1]s" msgstr "Pulando: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Alguns índices não puderam ser atualizados." @@ -2398,7 +2398,7 @@ msgstr "" "O arquivo de configuração customizado (caso não seja definido, o padrão vai " "ser usado)." -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2440,7 +2440,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "A biblioteca %s possui múltiplas instalações:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2449,7 +2449,7 @@ msgstr "" "binários durante o processo de compilação. Usado apenas por plataformas que " "possuem suporte." -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2462,7 +2462,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Os formatos de saída para os arquivos de registro podem ser: %s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2471,7 +2471,7 @@ msgstr "" "e criptografar um resultado binário. Usado apenas por plataformas que " "possuem suporte." -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "A plataforma não suporta '%[1]s' para bibliotecas pré-compiladas." @@ -2500,12 +2500,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "Ferramenta %s já está instalada" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "" @@ -2525,7 +2525,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2545,7 +2545,7 @@ msgstr "" msgid "URL:" msgstr "" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2567,17 +2567,17 @@ msgstr "" msgid "Unable to open file for logging: %s" msgstr "" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "" @@ -2623,7 +2623,7 @@ msgstr "" msgid "Updates the libraries index." msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "" @@ -2656,7 +2656,7 @@ msgstr "" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "" @@ -2664,7 +2664,7 @@ msgstr "" msgid "Upload port protocol, e.g: serial" msgstr "" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "" @@ -2676,7 +2676,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2695,11 +2695,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "" @@ -2707,7 +2707,7 @@ msgstr "" msgid "Used: %[1]s" msgstr "Utilizado: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2715,7 +2715,7 @@ msgstr "" msgid "Using cached library dependencies for file: %[1]s" msgstr "" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "" @@ -2729,25 +2729,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "A usar a biblioteca %[1]s na directoria: %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "A usar o ficheiro previamente compilado: %[1]s" @@ -2764,11 +2764,11 @@ msgid "Values" msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2777,24 +2777,24 @@ msgstr "" msgid "Versions: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2803,11 +2803,11 @@ msgstr "" "%[2]s e pode ser incompatível com a sua placa actual que é executada em " "arquitectura(s) %[3]s." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2826,7 +2826,7 @@ msgid "" "directory." msgstr "" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "" @@ -2862,11 +2862,11 @@ msgstr "" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "" @@ -2882,7 +2882,7 @@ msgstr "" msgid "can't find latest release of %s" msgstr "" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "" @@ -2894,11 +2894,11 @@ msgstr "" msgid "candidates" msgstr "" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "" @@ -2924,11 +2924,11 @@ msgstr "" msgid "computing hash: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "" @@ -2936,15 +2936,15 @@ msgstr "" msgid "copying library to destination directory:" msgstr "" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "" @@ -2953,20 +2953,20 @@ msgstr "" msgid "could not update sketch project file" msgstr "" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "" @@ -2982,7 +2982,7 @@ msgstr "" msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "" @@ -2998,7 +2998,7 @@ msgstr "" msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "" @@ -3014,11 +3014,11 @@ msgstr "" msgid "downloaded" msgstr "" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "" @@ -3034,11 +3034,11 @@ msgstr "" msgid "error parsing version constraints" msgstr "" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "" @@ -3046,7 +3046,7 @@ msgstr "" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "" @@ -3054,7 +3054,7 @@ msgstr "" msgid "failed to compute hash of file \"%s\"" msgstr "" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "" @@ -3062,7 +3062,7 @@ msgstr "" msgid "fetched archive size differs from size specified in index" msgstr "" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "" @@ -3092,7 +3092,7 @@ msgstr "" msgid "for the specific version." msgstr "" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "" @@ -3116,11 +3116,11 @@ msgstr "" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3140,11 +3140,11 @@ msgstr "" msgid "install directory not set" msgstr "" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "" @@ -3160,7 +3160,7 @@ msgstr "" msgid "invalid checksum format: %s" msgstr "" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "" @@ -3192,11 +3192,14 @@ msgstr "" msgid "invalid empty library version: %s" msgstr "" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "" @@ -3224,7 +3227,7 @@ msgstr "" msgid "invalid library: no header files found" msgstr "" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "" @@ -3240,10 +3243,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "" @@ -3264,7 +3263,7 @@ msgstr "" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "" @@ -3275,7 +3274,7 @@ msgid "" "cannot be \".\"." msgstr "" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "" @@ -3319,7 +3318,7 @@ msgstr "" msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "" @@ -3333,8 +3332,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3371,7 +3370,7 @@ msgstr "" msgid "looking for boards.txt in %s" msgstr "" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "" @@ -3387,7 +3386,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3395,11 +3394,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3407,17 +3406,17 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "" @@ -3425,17 +3424,17 @@ msgstr "" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "" @@ -3443,11 +3442,11 @@ msgstr "" msgid "no such file or directory" msgstr "" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "" @@ -3459,7 +3458,7 @@ msgstr "" msgid "no versions available for the current OS, try contacting %s" msgstr "" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3468,7 +3467,7 @@ msgid "not running in a terminal" msgstr "" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "" @@ -3490,12 +3489,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "" @@ -3511,7 +3510,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "" @@ -3519,14 +3518,14 @@ msgstr "" msgid "platform is not available for your OS" msgstr "" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "" @@ -3565,11 +3564,11 @@ msgstr "" msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "" @@ -3593,7 +3592,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "" @@ -3601,11 +3600,11 @@ msgstr "" msgid "reading sketch files" msgstr "" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3622,7 +3621,7 @@ msgstr "" msgid "removing library directory: %s" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "" @@ -3639,7 +3638,7 @@ msgstr "" msgid "scanning sketch examples" msgstr "" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "" @@ -3684,11 +3683,11 @@ msgstr "" msgid "testing if archive is cached: %s" msgstr "" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "" @@ -3697,7 +3696,7 @@ msgstr "" msgid "the compilation database may be incomplete or inaccurate" msgstr "" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "" @@ -3705,7 +3704,7 @@ msgstr "" msgid "timeout waiting for message" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "" @@ -3714,16 +3713,16 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "" @@ -3731,24 +3730,24 @@ msgstr "" msgid "tool version %s not found" msgstr "" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "" "%[1]s‎existem duas versões diferentes da biblioteca‎%[2]s‎são " "necessárias:‎%[3]se" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "" "não é possível encontrar o caminho relativo para o esboço para o item‎" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "‎não é possível criar uma pasta para salvar o sketch" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "‎não é possível criar a pasta contendo o item‎" @@ -3756,23 +3755,23 @@ msgstr "‎não é possível criar a pasta contendo o item‎" msgid "unable to marshal config to YAML: %v" msgstr "" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "‎não é possível de ler o conteúdo do item de destino‎" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "‎não é possível ler o conteúdo do item de origem‎" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "‎incapaz de escrever para o arquivo de destino‎" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "%spacote desconhecido" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "%splataforma desconhecida%s:" @@ -3792,7 +3791,7 @@ msgstr "‎atualizar arduino: samd para a versão mais recente‎" msgid "upgrade everything to the latest version" msgstr "‎atualizar tudo para a versão mais recente‎" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "%serro ao carregar" @@ -3816,6 +3815,6 @@ msgstr "%sversão ‎não disponível para este sistema operacional‎" msgid "version %s not found" msgstr "%s versão não encontrada" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "‎formato errado na resposta do servidor‎" diff --git a/internal/locales/data/ru.po b/internal/locales/data/ru.po index 9464c2155b5..fdce4b33516 100644 --- a/internal/locales/data/ru.po +++ b/internal/locales/data/ru.po @@ -15,7 +15,7 @@ msgstr "" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s%[2]s Версия: %[3]s Коммит: %[4]s Дата: %[5]s" @@ -31,7 +31,7 @@ msgstr "%[1]s недействителен, пересборка всего" msgid "%[1]s is required but %[2]s is currently installed." msgstr "Требуется %[1]s, но в данный момент устанавливается %[2]s" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s не найден шаблон" @@ -39,11 +39,11 @@ msgstr "%[1]s не найден шаблон" msgid "%s already downloaded" msgstr "%s уже скачана" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s не может быть использована вместе с %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s установлен" @@ -56,7 +56,7 @@ msgstr "%s уже установлено." msgid "%s is not a directory" msgstr "%s не является директорией" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s не управляется менеджером пакетов" @@ -68,7 +68,7 @@ msgstr "%s должно быть >= 1024" msgid "%s must be installed." msgstr "%s должен быть установлен." -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "не найден шаблон %s" @@ -77,7 +77,7 @@ msgstr "не найден шаблон %s" msgid "'%s' has an invalid signature" msgstr "'%s' имеет неправильную сигнатуру " -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -88,7 +88,7 @@ msgstr "" msgid "(hidden)" msgstr "(скрытый)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(устаревшее)" @@ -154,7 +154,7 @@ msgstr "Все платформы актуальны." msgid "All the cores are already at the latest version" msgstr "Все ядра уже на последней версии" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "Уже установленно %s" @@ -182,7 +182,7 @@ msgstr "Архитектура: %s" msgid "Archive already exists" msgstr "Архив уже существует" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "Архивирование откомпилированного ядра (кэширование) в: %[1]s" @@ -271,11 +271,11 @@ msgstr "Наименование платы:" msgid "Board version:" msgstr "Версия платы:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "Файл загрузчика указан но не существует: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -291,13 +291,13 @@ msgstr "Не удается создать каталог данных %s" msgid "Can't create sketch" msgstr "Не удается создать скетч" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "Не удается скачать библиотеку" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "Не удается найти зависимости для платформы %s" @@ -317,11 +317,11 @@ msgstr "Невозможно использовать следующие фла msgid "Can't write debug log: %s" msgstr "Не удается записать журнал отладки: %s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "Не удается создать каталог кэша сборки" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "Не удается создать каталог для сборки" @@ -359,15 +359,15 @@ msgstr "Не удается найти абсолютный путь: %v" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "Не удается получить конфигурационный ключ %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "Не удается установить платформу" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "Не удается установить инструмент %s" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "Не удается выполнить сброс порта: %s" @@ -376,7 +376,7 @@ msgstr "Не удается выполнить сброс порта: %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "Не удается удалить конфигурационный ключ %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "Не удается обновить платформу" @@ -419,7 +419,7 @@ msgstr "" "Команда продолжает выполняться и печатает список подключенных плат всякий " "раз, когда происходят изменения." -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "Скомпилированный эскиз не найден в %s" @@ -427,19 +427,19 @@ msgstr "Скомпилированный эскиз не найден в %s" msgid "Compiles Arduino sketches." msgstr "Компилирует скетчи Arduino." -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "Компиляция ядра..." -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "Компиляция библиотек..." -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "Компиляция библиотеки \"%[1]s\"" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "Компиляция скетча..." @@ -466,11 +466,11 @@ msgstr "" "Настройте параметры коммуникационного порта. Формат <ID> " "<value>=[,<ID>=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "Настройка платформы." -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "Настройка инструмента." @@ -486,19 +486,19 @@ msgstr "Подключение к %s. Нажмите CTRL-C для выхода. msgid "Core" msgstr "Ядро" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "Не удалось подключиться по HTTP" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "Не удалось создать индексный каталог" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "Не удалось глубоко кэшировать сборку ядра: %[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "Не удалось определить размер программы" @@ -510,7 +510,7 @@ msgstr "Не удалось получить текущий рабочий ка msgid "Create a new Sketch" msgstr "Создать новый скетч" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "Создать и распечатать конфигурацию профиля из сборки." @@ -526,7 +526,7 @@ msgstr "" "Создает или обновляет файл конфигурации в каталоге данных или " "пользовательском каталоге с текущими настройками конфигурации." -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -605,7 +605,7 @@ msgstr "Зависимости: %s" msgid "Description" msgstr "Описание" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "Обнаружение используемых библиотек..." @@ -670,7 +670,7 @@ msgid "Do not try to update library dependencies if already installed." msgstr "" "Не пробовать обновить зависимости библиотеки, если они уже установлены." -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "Скачивание %s" @@ -678,21 +678,21 @@ msgstr "Скачивание %s" msgid "Downloading index signature: %s" msgstr "Скачивание индексной сигнатуры: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "Скачивание индекса: %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "Скачивание библиотеки %s" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "Скачивание пропущенных инструментов %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "Скачивание пакетов" @@ -730,7 +730,7 @@ msgstr "Введите git url для библиотек, размещенных msgid "Error adding file to sketch archive" msgstr "Ошибка при добавлении файла в архив скетчей" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "Ошибка архивирования встроенного ядра (кэширования) в %[1]s: %[2]s" @@ -746,11 +746,11 @@ msgstr "Ошибка вычисления относительного пути msgid "Error cleaning caches: %v" msgstr "Ошибка при очистке кэшей: %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "Ошибка преобразования пути в абсолютный: %v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "Ошибка при копировании выходного файла %s" @@ -764,7 +764,7 @@ msgstr "Ошибка при создании конфигурации: %v" msgid "Error creating instance: %v" msgstr "Ошибка при создании экземпляра: %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "Ошибка создания каталога вывода" @@ -789,7 +789,7 @@ msgstr "Ошибка скачивания %[1]s: %[2]v" msgid "Error downloading %s" msgstr "Ошибка скачивания %s" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "Ошибка скачивания индекса '%s'" @@ -797,7 +797,7 @@ msgstr "Ошибка скачивания индекса '%s'" msgid "Error downloading index signature '%s'" msgstr "Ошибка скачивания индексной сигнатуры '%s'" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "Ошибка скачивания библиотеки %s" @@ -821,7 +821,7 @@ msgstr "Ошибка при кодировании выходных данных #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Ошибка во время загрузки: %v" @@ -830,7 +830,7 @@ msgstr "Ошибка во время загрузки: %v" msgid "Error during board detection" msgstr "Ошибка при обнаружении платы" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "Ошибка во время сборки: %v" @@ -851,7 +851,7 @@ msgstr "Ошибка во время обновления: %v" msgid "Error extracting %s" msgstr "Ошибка извлечения %s" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "Ошибка при поиске артефактов сборки" @@ -879,7 +879,7 @@ msgstr "" "Ошибка при получении порта по умолчанию из `sketch.yaml`. Проверьте, " "правильно ли вы указали папку sketch, или укажите флаг --port: %s" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "Ошибка при получении информации для библиотеки %s" @@ -915,7 +915,7 @@ msgstr "Ошибка при установке библиотеки Git: %v" msgid "Error installing Zip Library: %v" msgstr "Ошибка при установке Zip-библиотеки: %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "Ошибка при установке библиотеки %s" @@ -959,15 +959,15 @@ msgstr "Ошибка при открытии %s" msgid "Error opening debug logging file: %s" msgstr "Ошибка при открытии файла журнала отладки: %s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "Ошибка при открытии исходного кода переопределяет файл данных: %v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "Ошибка разбора флага --show-properties: %v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "Ошибка при чтении каталога сборки" @@ -983,7 +983,7 @@ msgstr "Ошибка устранение зависимостей для %[1]s: msgid "Error retrieving core list: %v" msgstr "Ошибка при извлечении списка ядер: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "Ошибка при откате изменений: %s" @@ -1037,7 +1037,7 @@ msgstr "Ошибка при обновлении библиотечного ин msgid "Error upgrading libraries" msgstr "Ошибка при обновлении библиотек" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "Ошибка при обновлении платформы: %s" @@ -1050,10 +1050,10 @@ msgstr "Ошибка проверки сигнатуры" msgid "Error while detecting libraries included by %[1]s" msgstr "Ошибка при обнаружении библиотек, включенных %[1]s" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "Ошибка при определении размера скетча: %s" @@ -1069,7 +1069,7 @@ msgstr "Ошибка записи в файл: %v" msgid "Error: command description is not supported by %v" msgstr "Ошибка: описание команды не поддерживается %v" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "Ошибка: неверный исходный код переопределяет файл данных: %v" @@ -1089,7 +1089,7 @@ msgstr "Примеры:" msgid "Executable to debug" msgstr "Исполняемый файл для отладки" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "" "Ожидаемый скомпилированный скетч находится в каталоге %s, но вместо этого он" @@ -1105,23 +1105,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "Не удалось стереть чип" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "Не удалось программирование" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "Не удалось записать загрузчик" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "Не удалось создать каталог данных" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "Не удалось создать каталог загрузок" @@ -1141,7 +1141,7 @@ msgstr "Не удалось прослушать TCP-порт: %[1]s. Непре msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "Не удалось прослушать TCP-порт: %s. Адрес, который уже используется." -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "Не удалась загрузка" @@ -1149,7 +1149,7 @@ msgstr "Не удалась загрузка" msgid "File:" msgstr "Файл:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1226,7 +1226,7 @@ msgstr "Генерирует скрипты автодополнений" msgid "Generates completion scripts for various shells" msgstr "Генерирует скрипты автодополнений для различных оболочек" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "Создание прототипов функций..." @@ -1238,7 +1238,7 @@ msgstr "Получает значение ключа настроек." msgid "Global Flags:" msgstr "Глобальные флаги:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." @@ -1246,7 +1246,7 @@ msgstr "" "Глобальные переменные используют %[1]s байт (%[3]s%%) динамической памяти, " "оставляя %[4]s байт для локальных переменных. Максимум: %[2]s байт." -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "Глобальные переменные используют %[1]s байт динамической памяти." @@ -1264,7 +1264,7 @@ msgstr "Ид" msgid "Identification properties:" msgstr "Идентификационные свойства:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "" "Если установлено, то собранные двоичные файлы будут экспортированы в папку " @@ -1295,20 +1295,20 @@ msgstr "Установить библиотеки во встроенный ка msgid "Installed" msgstr "Установлено" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "Установлен %s" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "Установка %s" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "Установка библиотеки %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "Установка платформы %s" @@ -1347,7 +1347,7 @@ msgstr "Неверный TCP-адрес: порт не указан" msgid "Invalid URL" msgstr "Неверный URL-адрес" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "Неверный дополнительный URL-адрес: %v" @@ -1361,19 +1361,19 @@ msgstr "Неверный архив: файл %[1]s не найден в арх msgid "Invalid argument passed: %v" msgstr "Передан недопустимый аргумент: %v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "Неверные свойства сборки" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "Неверное регулярное выражение для размера данных: %s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "Неверное регулярное выражение для размера eeprom: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "Неверный URL индекса: %s" @@ -1393,11 +1393,11 @@ msgstr "Неверная библиотека" msgid "Invalid logging level: %s" msgstr "Неверный уровень логирования: %s" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "Неверная конфигурация сети: %s" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "Неверное значение network.proxy '%[1]s': %[2]s" @@ -1405,7 +1405,7 @@ msgstr "Неверное значение network.proxy '%[1]s': %[2]s" msgid "Invalid output format: %s" msgstr "Неверный формат вывода: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "Неверный индекс пакета в %s" @@ -1413,7 +1413,7 @@ msgstr "Неверный индекс пакета в %s" msgid "Invalid parameter %s: version not allowed" msgstr "Неверный параметр %s: версия недопустима" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "Неверное значение pid: '%s'" @@ -1421,15 +1421,15 @@ msgstr "Неверное значение pid: '%s'" msgid "Invalid profile" msgstr "Неверный профиль" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "Неверный рецепт в platform.txt" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "Неверное регулярное выражение для размера: %s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "Неверное значение в конфигурации" @@ -1437,11 +1437,11 @@ msgstr "Неверное значение в конфигурации" msgid "Invalid version" msgstr "Неверная версия" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "Неверное значение vid: '%s'" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1466,11 +1466,11 @@ msgstr "LIBRARY_NAME" msgid "Latest" msgstr "Последняя" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "Библиотека %[1]s объявлена ​​предварительно скомпилированной::" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1484,7 +1484,7 @@ msgstr "Библиотека %s уже обновлена до последне msgid "Library %s is not installed" msgstr "Библиотека %s не установлена" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "Библиотека %s не найдена" @@ -1503,8 +1503,8 @@ msgstr "" msgid "Library install failed" msgstr "Не удалось установить библиотеку" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "Библиотека установлена" @@ -1512,7 +1512,7 @@ msgstr "Библиотека установлена" msgid "License: %s" msgstr "Лицензия: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "Связывается все вместе..." @@ -1540,7 +1540,7 @@ msgstr "" "Перечислить опции платы, разделенные запятыми. Или может быть использовано " "несколько раз для нескольких опций." -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1564,8 +1564,8 @@ msgstr "Перечислить все подключенные платы." msgid "Lists cores and libraries that can be upgraded" msgstr "Перечисляет ядра и библиотеки которые могут быть обновлены" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "Загрузка индексного файла: %v" @@ -1573,7 +1573,7 @@ msgstr "Загрузка индексного файла: %v" msgid "Location" msgstr "Расположение" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "Недостаточно памяти, программа может работать нестабильно." @@ -1581,7 +1581,7 @@ msgstr "Недостаточно памяти, программа может р msgid "Maintainer: %s" msgstr "Меинтейнер: %s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1627,7 +1627,7 @@ msgstr "Отсутствует программатор" msgid "Missing required upload field: %s" msgstr "Отсутствует обязательное поле загрузки: %s" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "Отсутствует размер регулярного выражения" @@ -1709,7 +1709,7 @@ msgstr "Нет установленных платформ." msgid "No platforms matching your search." msgstr "Нет платформ, соответствующих вашему поиску." -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "" "Не найден порт загрузки, используется %s в качестве резервного варианта" @@ -1718,7 +1718,7 @@ msgstr "" msgid "No valid dependencies solution found" msgstr "Не найдено допустимое решение зависимостей" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "Недостаточно памяти; прочитайте %[1]s" @@ -1750,35 +1750,35 @@ msgstr "Открыть коммуникационный порт с платой msgid "Option:" msgstr "Параметр:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "" "Необязательно. Возможно: %s. Используется для указания gcc, какой уровень " "предупреждений использовать (флаг -W)." -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "" "Необязательно. Очистить каталог сборки и не использовать кэшированные " "сборки." -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "" "Необязательно. Оптимизировать вывод компиляции для отладки, а не для " "выпуска." -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "Необязательно. Подавляет почти весь вывод." -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "Необязательно. Включает подробный режим." -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." @@ -1786,7 +1786,7 @@ msgstr "" "Необязательно. Путь к файлу .json, содержащему набор замен исходного кода " "скетча." -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1852,11 +1852,11 @@ msgstr "Веб-страница пакета:" msgid "Paragraph: %s" msgstr "Параграф: %s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "Путь" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." @@ -1864,7 +1864,7 @@ msgstr "" "Путь к коллекции библиотек. Может использоваться несколько раз или значения " "могут быть разделены запятыми." -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1876,7 +1876,7 @@ msgstr "" msgid "Path to the file where logs will be written." msgstr "Путь к файлу, в который будут записываться логи." -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." @@ -1884,20 +1884,20 @@ msgstr "" "Путь сохранения скомпилированных файлов. Если не указан, каталог будет " "создан во временном пути по умолчанию вашей ОС." -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "Выполнение сенсорного сброса 1200 бит/с на последовательном порту" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "Платформа %s уже установлена" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "Платформа %s установлена" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1905,7 +1905,7 @@ msgstr "" "Платформа %s не найдена ни в одном из известных индексов\n" "Возможно необходимо добавить сторонний - 3rd party URL?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "Платформа %s удалена" @@ -1921,7 +1921,7 @@ msgstr "Платформа '%s' не найдена" msgid "Platform ID" msgstr "Идентификатор платформы:" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "Идентификатор платформы указан неверно" @@ -1981,8 +1981,8 @@ msgstr "Порт закрыт: %v" msgid "Port monitor error" msgstr "Ошибка монитора порта" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "Предварительно скомпилированная библиотека не найдена в \"%[1]s\"" @@ -1990,7 +1990,7 @@ msgstr "Предварительно скомпилированная библи msgid "Print details about a board." msgstr "Вывести детали о плате." -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "" "Вывести предварительно обработанный код на стандартный вывод вместо " @@ -2048,11 +2048,11 @@ msgstr "Предоставленное включает в себя: %s" msgid "Removes one or more values from a setting." msgstr "Удаляет одно или несколько значений из настройки." -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "Замена %[1]s на %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "Замена платформы %[1]s на %[2]s" @@ -2068,12 +2068,12 @@ msgstr "Работать в тихом режиме, отображать тол msgid "Run the Arduino CLI as a gRPC daemon." msgstr "Запустить Arduino CLI как демон gRPC." -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "Запуск обычной сборки ядра..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "Запуск скрипта pre_uninstall." @@ -2085,7 +2085,7 @@ msgstr "SEARCH_TERM" msgid "SVD file path" msgstr "путь файла SVD" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "Сохранить артефакты сборки в этом каталоге." @@ -2362,7 +2362,7 @@ msgstr "Показывает номер версии Arduino CLI." msgid "Size (bytes):" msgstr "Размер (байт):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2378,11 +2378,11 @@ msgstr "Скетч создан в: %s" msgid "Sketch profile to use" msgstr "Использовать профиль скетча" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Скетч слишком большой; прочитайте %[1]s" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2398,20 +2398,20 @@ msgstr "" "Скетчи с расширением .pde устарели, пожалуйста, переименуйте следующие файлы" " в .ino:" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "Пропустить компоновку конечного исполняемого файла." -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "" "Пропуск сенсорного сброса 1200 бит/с: последовательный порт не выбран!" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "Пропуск создания архива: %[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "Пропуск компиляции: %[1]s" @@ -2421,16 +2421,16 @@ msgstr "" "Пропуск обнаружения зависимостей для предварительно скомпилированной " "библиотеки %[1]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "Пропуск конфигурации платформы." -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "Пропуск скрипта pre_uninstall." -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "Пропуск конфигурации инструмента." @@ -2438,7 +2438,7 @@ msgstr "Пропуск конфигурации инструмента." msgid "Skipping: %[1]s" msgstr "Пропуск: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "Некоторые индексы не удалось обновить." @@ -2462,7 +2462,7 @@ msgstr "" "Пользовательский файл конфигурации (если не указан, будет использован файл " "по умолчанию)." -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2506,7 +2506,7 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "Библиотека %s имеет несколько установок:" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." @@ -2515,7 +2515,7 @@ msgstr "" "двоичного файла во время процесса компиляции. Используется только " "платформами, которые это поддерживают." -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2528,7 +2528,7 @@ msgstr "" msgid "The output format for the logs, can be: %s" msgstr "Формат вывода для логов может быть: %s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." @@ -2536,7 +2536,7 @@ msgstr "" "Путь к каталогу для поиска пользовательских ключей для подписи и шифрования " "двоичного файла. Используется только платформами, которые это поддерживают." -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "" "Платформа не поддерживает '%[1]s' для предварительно скомпилированных " @@ -2566,12 +2566,12 @@ msgstr "" msgid "Timestamp each incoming line." msgstr "Отмечать время каждой входящей строки." -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "Инструмент %s уже установлен" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "Инструмент %s удален" @@ -2591,7 +2591,7 @@ msgstr "Префикс набора инструментов" msgid "Toolchain type" msgstr "Тип набора инструментов" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Попытка запуска %s" @@ -2611,7 +2611,7 @@ msgstr "Типы: %s" msgid "URL:" msgstr "URL:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "" @@ -2635,17 +2635,17 @@ msgstr "Невозможно получить домашний каталог п msgid "Unable to open file for logging: %s" msgstr "Невозможно открыть файл для логирования: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "Невозможно разобрать URL" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "Удаление %s" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "Удаление %s, инструмент больше не нужен" @@ -2693,7 +2693,7 @@ msgstr "Обновляет индекс библиотек до последни msgid "Updates the libraries index." msgstr "Обновляет индекс библиотек." -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "Обновление не принимает параметры с версией" @@ -2726,7 +2726,7 @@ msgstr "Загрузить скетчи Arduino. Это НЕ компилиру msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "Адрес порта загрузки, например: COM3 или /dev/ttyACM2" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "Порт загрузки найден на %s" @@ -2734,7 +2734,7 @@ msgstr "Порт загрузки найден на %s" msgid "Upload port protocol, e.g: serial" msgstr "Протокол порта загрузки, например: последовательный" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "Загрузить двоичный файл после компиляции." @@ -2746,7 +2746,7 @@ msgstr "Загрузить загрузчик на плату с помощью msgid "Upload the bootloader." msgstr " Загрузить загрузчик." -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2769,11 +2769,11 @@ msgstr "Использование:" msgid "Use %s for more information about a command." msgstr "Используйте %s для получения дополнительной информации о команде." -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "Использована библиотека" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "Использована платформа" @@ -2781,7 +2781,7 @@ msgstr "Использована платформа" msgid "Used: %[1]s" msgstr "Используется: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "использование платы '%[1]s' из платформы в каталоге: %[2]s" @@ -2789,7 +2789,7 @@ msgstr "использование платы '%[1]s' из платформы в msgid "Using cached library dependencies for file: %[1]s" msgstr "Использование кэшированных библиотечных зависимостей для файла: %[1]s" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "Использование ядра '%[1]s' из платформы в каталоге: %[2]s" @@ -2805,25 +2805,25 @@ msgstr "" "Использование обобщенной конфигурации монитора.\n" "ВНИМАНИЕ: для работы вашей платы могут потребоваться другие настройки!\n" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "Используем библиотеку %[1]s версии %[2]s из папки: %[3]s %[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "Используем библиотеку %[1]s в папке: %[2]s %[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "Использование предварительно скомпилированного ядра: %[1]s" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "Использование предварительно скомпилированной библиотеки в %[1]s" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "Используем предварительно скомпилированный файл: %[1]s" @@ -2840,11 +2840,11 @@ msgid "Values" msgstr "Значения" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "Проверить загруженный двоичный файл после загрузки." -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Версия" @@ -2853,26 +2853,26 @@ msgstr "Версия" msgid "Versions: %s" msgstr "Версии: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "ВНИМАНИЕ: невозможно настроить платформу" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "ВНИМАНИЕ: не удалось настроить инструмент: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "ВНИМАНИЕ: невозможно выполнить скрипт pre_uninstall: %s" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ВНИМАНИЕ: Скетч скомпилирован с использованием одной или нескольких " "пользовательских библиотек." -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." @@ -2880,11 +2880,11 @@ msgstr "" "ВНИМАНИЕ: библиотека %[1]s должна запускаться на архитектуре(-ах) %[2]s и " "может быть несовместима с вашей платой на архитектуре(-ах) %[3]s." -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "Ожидание порта загрузки..." -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "" @@ -2906,7 +2906,7 @@ msgid "" msgstr "" "Записывает текущую конфигурацию в файл конфигурации в каталоге данных." -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "Нельзя использовать флаг %s во время компиляции с профилем." @@ -2944,11 +2944,11 @@ msgstr "базовый поиск по \"audio\"" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "базовый поиск по \"esp32\" и \"display\" ограничен официальным меинтейнером" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "двоичный файл не найден в %s" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "плата %s не найдена" @@ -2964,7 +2964,7 @@ msgstr "не установлен каталог встроенных библи msgid "can't find latest release of %s" msgstr "не удается найти последний релиз %s" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "не удалось найти последний релиз инструмента %s" @@ -2976,11 +2976,11 @@ msgstr "не удалось найти шаблон для обнаружени msgid "candidates" msgstr "кандидаты" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "не удалось выполнить загрузку инструмента: %s" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "проверка целостности локального архива" @@ -3006,11 +3006,11 @@ msgstr "коммуникация не синхронизирована, ожид msgid "computing hash: %s" msgstr "вычисление хэша: %s" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "ключ конфигурации %s содержит недопустимый символ" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "значение конфигурации %s содержит недопустимый символ" @@ -3018,15 +3018,15 @@ msgstr "значение конфигурации %s содержит недоп msgid "copying library to destination directory:" msgstr "копирование библиотеки в целевой каталог:" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "не удалось найти валидный артефакт сборки" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "не удалось перезаписать" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "не удалось удалить старую библиотеку" @@ -3035,20 +3035,20 @@ msgstr "не удалось удалить старую библиотеку" msgid "could not update sketch project file" msgstr "не удалось обновить файл проекта скетча" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "создание основного каталога кэша: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "создание файла installed.json в %[1]s: %[2]s" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr " создание временного каталога для извлечения: %s" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "раздел данных превышает доступное пространство на плате" @@ -3064,7 +3064,7 @@ msgstr "целевой каталог %s уже существует, невоз msgid "destination directory already exists" msgstr "целевой каталог уже существует" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "не существует каталог: %s" @@ -3080,7 +3080,7 @@ msgstr "обнаружение %s не найдено" msgid "discovery %s not installed" msgstr "обнаружение %s не установлено" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "релиз обнаружения не найден: %s" @@ -3096,11 +3096,11 @@ msgstr "скачать последнюю версию ядра Arduino SAMD." msgid "downloaded" msgstr "скачивание завершено" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "скачивание %[1]s инструмента: %[2]s" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "не заполнен идентификатор платы" @@ -3116,11 +3116,11 @@ msgstr "ошибка открытия %s" msgid "error parsing version constraints" msgstr "ошибка разбора ограничений версии" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "ошибка обработки ответа от сервера" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "ошибка запроса Arduino Cloud Api" @@ -3128,7 +3128,7 @@ msgstr "ошибка запроса Arduino Cloud Api" msgid "extracting archive" msgstr "распаковка архива" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "распаковка архива: %s" @@ -3136,7 +3136,7 @@ msgstr "распаковка архива: %s" msgid "failed to compute hash of file \"%s\"" msgstr "не удалось вычислить хэш файла \"%s\"" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "не удалось инициализировать http-клиент" @@ -3145,7 +3145,7 @@ msgid "fetched archive size differs from size specified in index" msgstr "" "размер извлеченного архива отличается от размера, указанного в индексе" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "файлы в архиве должны быть помещены в подкаталог" @@ -3175,7 +3175,7 @@ msgstr "для последней версии." msgid "for the specific version." msgstr "для конкретной версии." -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "поле fqbn %s содержит недопустимый символ" @@ -3199,11 +3199,11 @@ msgstr "получение информации об архиве: %s" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "получение пути к архиву: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "получение свойств сборки для платы %[1]s: %[2]s" @@ -3223,11 +3223,11 @@ msgstr "получение зависимостей инструмента дл msgid "install directory not set" msgstr "не задан каталог для установки" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "установка %[1]s инструмента: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "установка платформы %[1]s: %[2]s" @@ -3243,7 +3243,7 @@ msgstr "неверная директива '%s'" msgid "invalid checksum format: %s" msgstr "неверный формат контрольной суммы: %s" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "неверный параметр конфигурации: %s" @@ -3275,11 +3275,14 @@ msgstr "неверное пустое наименование библиоте msgid "invalid empty library version: %s" msgstr "неверная пустая версия библиотеки: %s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "найден неверный пустой параметр" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "неверный git url" @@ -3307,7 +3310,7 @@ msgstr "неверное расположение библиотеки: %s" msgid "invalid library: no header files found" msgstr "недействительная библиотека: заголовочные файлы не найдены" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "недопустимый параметр '%s'" @@ -3323,10 +3326,6 @@ msgstr "неверный путь создания конфигурационн msgid "invalid path writing inventory file: %[1]s error" msgstr "неверный путь записи файла инвентаризации: %[1]s ошибка" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "неверный размер архива платформы: %s" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "неверный идентификатор платформы" @@ -3347,7 +3346,7 @@ msgstr "неверное значение в конфигурации порта msgid "invalid port configuration: %s=%s" msgstr "неверная конфигурация порта: %s=%s" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "неверный рецепт '%[1]s': %[2]s" @@ -3361,7 +3360,7 @@ msgstr "" "буквенно-цифровым или \"_\", последующие могут также содержать \"-\" и " "\".\". Последний не может быть \".\"." -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "недопустимое значение '%[1]s' для параметра '%[2]s'" @@ -3405,7 +3404,7 @@ msgstr "библиотеки с наименованием, точно совп msgid "library %s already installed" msgstr "библиотека %s уже установлена" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "библиотека не найдена" @@ -3419,8 +3418,8 @@ msgstr "загрузка %[1]s: %[2]s" msgid "loading boards: %s" msgstr "загрузка плат: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "загрузка индексного файла json %[1]s: %[2]s" @@ -3457,7 +3456,7 @@ msgstr "загрузка релиза инструмента в %s" msgid "looking for boards.txt in %s" msgstr "поиск boards.txt в %s" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "поиск артефактов сборки" @@ -3473,7 +3472,7 @@ msgstr "отсутствует директива '%s'" msgid "missing checksum for: %s" msgstr "отсутствует контрольная сумма для: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "отсутствует пакет %[1]s, на который ссылается плата %[2]s" @@ -3483,11 +3482,11 @@ msgstr "" "отсутствует индекс пакета для %s, последующие обновления не могут быть " "гарантированы" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "отсутствует релиз платформы %[1]s:%[2]s на которую ссылается %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "отсутствует релиз платформы %[1]s:%[2]s на которую ссылается %[3]s" @@ -3495,17 +3494,17 @@ msgstr "отсутствует релиз платформы %[1]s:%[2]s на к msgid "missing signature" msgstr "отсутствует сигнатура" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "релиз монитора не найден: %s" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "перемещение извлеченного архива в каталог назначения: %s" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "найдено несколько артефактов сборки: '%[1]s' и '%[2]s'" @@ -3513,7 +3512,7 @@ msgstr "найдено несколько артефактов сборки: '%[ msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "найдено несколько основных файлов скетчей (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" @@ -3521,11 +3520,11 @@ msgstr "" "для текущей ОС не найдена совместимая версия инструмента %[1]s, обратитесь к" " %[2]s" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "не указан экземпляр" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "скетч или каталог/файл сборки не указан" @@ -3533,12 +3532,12 @@ msgstr "скетч или каталог/файл сборки не указан msgid "no such file or directory" msgstr "файл или каталог не найден" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "" "нет уникального корневого каталога в архиве, найдены '%[1]s' и '%[2]s'" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "порт загрузки не указан" @@ -3550,7 +3549,7 @@ msgstr "не найдено скетчей в %[1]s: отсутствует %[2] msgid "no versions available for the current OS, try contacting %s" msgstr "нет доступных версий для текущей ОС, попробуйте связаться с %s" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "не FQBN: %s" @@ -3559,7 +3558,7 @@ msgid "not running in a terminal" msgstr "не работает в терминале" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "открытие файла архива: %s" @@ -3581,12 +3580,12 @@ msgstr "открывается целевой файл: %s" msgid "package %s not found" msgstr "пакет %s не найден" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "пакет '%s' не найден" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "разбор fqbn: %s" @@ -3602,7 +3601,7 @@ msgstr "путь не является каталогом платформы: %s msgid "platform %[1]s not found in package %[2]s" msgstr "платформа %[1]s не найдена в пакете %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "платформа %s не установлена" @@ -3610,14 +3609,14 @@ msgstr "платформа %s не установлена" msgid "platform is not available for your OS" msgstr "платформа не доступна для вашей ОС" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "платформа не установлена" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "используйте вместо этого --build-property." @@ -3656,11 +3655,11 @@ msgstr "чтение содержимого каталога %[1]s " msgid "reading directory %s" msgstr "чтение каталога %s" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "чтение содержимого каталога %s " -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "чтение файла %[1]s: %[2]s" @@ -3684,7 +3683,7 @@ msgstr "чтение исходного каталога библиотеки: % msgid "reading library_index.json: %s" msgstr "чтение library_index.json: %s" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "чтение корневого каталога пакета: %s" @@ -3692,11 +3691,11 @@ msgstr "чтение корневого каталога пакета: %s" msgid "reading sketch files" msgstr "чтение файлов скетчей" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "не найден рецепт '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "релиз %[1]s не найден для инструмента %[2]s" @@ -3713,7 +3712,7 @@ msgstr "удаление поврежденного файла архива: %s" msgid "removing library directory: %s" msgstr "удаление каталога библиотеки: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "удаление файлов платформы: %s" @@ -3730,7 +3729,7 @@ msgstr "получение открытых ключей Arduino: %s" msgid "scanning sketch examples" msgstr "сканирование примеров скетчей" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "поиск корневого каталога пакета: %s" @@ -3778,11 +3777,11 @@ msgstr "проверка размера архива: %s" msgid "testing if archive is cached: %s" msgstr "проверка кэширован ли архив: %s" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "проверка целостности локального архива: %s" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "секция текста превышает доступное пространство на плате" @@ -3791,7 +3790,7 @@ msgstr "секция текста превышает доступное прос msgid "the compilation database may be incomplete or inaccurate" msgstr "база данных компиляции может быть неполной или неточной" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "сервер ответил статусом %s" @@ -3799,7 +3798,7 @@ msgstr "сервер ответил статусом %s" msgid "timeout waiting for message" msgstr "тайм-аут ожидания сообщения" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "инструмент %s не контролируется менеджером пакетов" @@ -3808,16 +3807,16 @@ msgstr "инструмент %s не контролируется менедже msgid "tool %s not found" msgstr "инструмент %s не найден" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "инструмент '%[1]s' не найден в пакете '%[2]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "инструмент не установлен" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "релиз инструмента не найден: %s" @@ -3825,21 +3824,21 @@ msgstr "релиз инструмента не найден: %s" msgid "tool version %s not found" msgstr "версия инструмента %s не найдена" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "две различные версии библиотеки %[1]s необходимы: %[2]s и %[3]s" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "невозможно определить относительный путь к скетчу для элемента" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "невозможно создать каталог для сохранения скетча" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "невозможно создать каталог для хранения элемента" @@ -3847,23 +3846,23 @@ msgstr "невозможно создать каталог для хранени msgid "unable to marshal config to YAML: %v" msgstr "невозможно преобразовать конфигурацию в YAML: %v" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "невозможно прочитать содержимое целевого элемента" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "невозможно прочитать содержимое исходного элемента" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "невозможно записать в целевой файл" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "неизвестный пакет %s" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "неизвестная платформа %s: %s" @@ -3883,7 +3882,7 @@ msgstr "обновить arduino:samd до последней версии" msgid "upgrade everything to the latest version" msgstr "обновить все до последней версии" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "ошибка при загрузке: %s" @@ -3907,6 +3906,6 @@ msgstr "версия %s недоступна для данной операци msgid "version %s not found" msgstr "версия %s не найдена" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "неверный формат в ответе сервера" diff --git a/internal/locales/data/si.po b/internal/locales/data/si.po new file mode 100644 index 00000000000..dce2642ac84 --- /dev/null +++ b/internal/locales/data/si.po @@ -0,0 +1,3668 @@ +# +# Translators: +# HelaBasa Group <transifex-helabasa-group@yalu.lk>, 2024 +# +msgid "" +msgstr "" +"Last-Translator: HelaBasa Group <transifex-helabasa-group@yalu.lk>, 2024\n" +"Language-Team: Sinhala (https://app.transifex.com/arduino-1/teams/108174/si/)\n" +"Language: si\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: internal/version/version.go:56 +msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:462 +msgid "%[1]s folder is no longer supported! See %[2]s for more information" +msgstr "" + +#: internal/arduino/builder/build_options_manager.go:140 +msgid "%[1]s invalid, rebuilding all" +msgstr "" + +#: internal/cli/lib/check_deps.go:124 +msgid "%[1]s is required but %[2]s is currently installed." +msgstr "" + +#: internal/arduino/builder/builder.go:487 +msgid "%[1]s pattern is missing" +msgstr "" + +#: internal/arduino/resources/download.go:51 +msgid "%s already downloaded" +msgstr "" + +#: commands/service_upload.go:782 +msgid "%s and %s cannot be used together" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 +msgid "%s installed" +msgstr "%s ස්ථාපිතයි" + +#: internal/cli/lib/check_deps.go:121 +msgid "%s is already installed." +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:63 +#: internal/arduino/cores/packagemanager/loader.go:617 +msgid "%s is not a directory" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 +msgid "%s is not managed by package manager" +msgstr "" + +#: internal/cli/daemon/daemon.go:67 +msgid "%s must be >= 1024" +msgstr "" + +#: internal/cli/lib/check_deps.go:118 +msgid "%s must be installed." +msgstr "" + +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 +#: internal/arduino/builder/internal/preprocessor/gcc.go:62 +msgid "%s pattern is missing" +msgstr "" + +#: commands/cmderrors/cmderrors.go:818 +msgid "'%s' has an invalid signature" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:415 +msgid "" +"'build.core' and 'build.variant' refer to different platforms: %[1]s and " +"%[2]s" +msgstr "" + +#: internal/cli/board/listall.go:97 internal/cli/board/search.go:94 +msgid "(hidden)" +msgstr "(සැඟවුණු)" + +#: internal/arduino/builder/libraries.go:303 +msgid "(legacy)" +msgstr "(පරණ)" + +#: internal/cli/lib/install.go:82 +msgid "" +"--git-url and --zip-path are disabled by default, for more information see: " +"%v" +msgstr "" + +#: internal/cli/lib/install.go:84 +msgid "" +"--git-url and --zip-path flags allow installing untrusted files, use it at " +"your own risk." +msgstr "" + +#: internal/cli/lib/install.go:87 +msgid "--git-url or --zip-path can't be used with --install-in-builtin-dir" +msgstr "" + +#: commands/service_sketch_new.go:66 +msgid ".ino file already exists" +msgstr "" + +#: internal/cli/updater/updater.go:30 +msgid "A new release of Arduino CLI is available:" +msgstr "" + +#: commands/cmderrors/cmderrors.go:299 +msgid "A programmer is required to upload" +msgstr "" + +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 +msgid "ARCH" +msgstr "ARCH" + +#: internal/cli/generatedocs/generatedocs.go:80 +msgid "ARDUINO COMMAND LINE MANUAL" +msgstr "" + +#: internal/cli/usage.go:28 +msgid "Additional help topics:" +msgstr "" + +#: internal/cli/config/add.go:34 internal/cli/config/add.go:35 +msgid "Adds one or more values to a setting." +msgstr "" + +#: internal/cli/usage.go:23 +msgid "Aliases:" +msgstr "" + +#: internal/cli/core/list.go:112 +msgid "All platforms are up to date." +msgstr "" + +#: internal/cli/core/upgrade.go:87 +msgid "All the cores are already at the latest version" +msgstr "" + +#: commands/service_library_install.go:136 +msgid "Already installed %s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:91 +msgid "Alternatives for %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/builder/internal/preprocessor/ctags.go:69 +msgid "An error occurred adding prototypes" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:213 +msgid "An error occurred detecting libraries" +msgstr "" + +#: internal/cli/daemon/daemon.go:87 +msgid "Append debug logging to the specified file" +msgstr "" + +#: internal/cli/lib/search.go:208 +msgid "Architecture: %s" +msgstr "" + +#: commands/service_sketch_archive.go:69 +msgid "Archive already exists" +msgstr "" + +#: internal/arduino/builder/core.go:164 +msgid "Archiving built core (caching) in: %[1]s" +msgstr "" + +#: internal/cli/sketch/sketch.go:30 internal/cli/sketch/sketch.go:31 +msgid "Arduino CLI sketch commands." +msgstr "" + +#: internal/cli/cli.go:88 +msgid "Arduino CLI." +msgstr "" + +#: internal/cli/cli.go:89 +msgid "Arduino Command Line Interface (arduino-cli)." +msgstr "" + +#: internal/cli/board/board.go:30 internal/cli/board/board.go:31 +msgid "Arduino board commands." +msgstr "" + +#: internal/cli/cache/cache.go:30 internal/cli/cache/cache.go:31 +msgid "Arduino cache commands." +msgstr "" + +#: internal/cli/lib/lib.go:30 internal/cli/lib/lib.go:31 +msgid "Arduino commands about libraries." +msgstr "" + +#: internal/cli/config/config.go:35 +msgid "Arduino configuration commands." +msgstr "" + +#: internal/cli/core/core.go:30 internal/cli/core/core.go:31 +msgid "Arduino core operations." +msgstr "" + +#: internal/cli/lib/check_deps.go:62 internal/cli/lib/install.go:130 +msgid "Arguments error: %v" +msgstr "" + +#: internal/cli/board/attach.go:36 +msgid "Attaches a sketch to a board." +msgstr "" + +#: internal/cli/lib/search.go:199 +msgid "Author: %s" +msgstr "කර්තෘ: %s" + +#: internal/arduino/libraries/librariesmanager/install.go:79 +msgid "" +"Automatic library install can't be performed in this case, please manually " +"remove all duplicates and retry." +msgstr "" + +#: commands/service_library_uninstall.go:87 +msgid "" +"Automatic library uninstall can't be performed in this case, please manually" +" remove them." +msgstr "" + +#: internal/cli/lib/list.go:138 +msgid "Available" +msgstr "" + +#: internal/cli/usage.go:25 +msgid "Available Commands:" +msgstr "" + +#: internal/cli/upload/upload.go:75 +msgid "Binary file to upload." +msgstr "" + +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 +msgid "Board Name" +msgstr "" + +#: internal/cli/board/details.go:139 +msgid "Board name:" +msgstr "" + +#: internal/cli/board/details.go:141 +msgid "Board version:" +msgstr "" + +#: internal/arduino/builder/sketch.go:245 +msgid "Bootloader file specified but missing: %[1]s" +msgstr "" + +#: internal/cli/compile/compile.go:104 +msgid "" +"Builds of cores and sketches are saved into this path to be cached and " +"reused." +msgstr "" + +#: internal/arduino/resources/index.go:65 +msgid "Can't create data directory %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:511 +msgid "Can't create sketch" +msgstr "" + +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 +msgid "Can't download library" +msgstr "" + +#: commands/service_platform_uninstall.go:89 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 +msgid "Can't find dependencies for platform %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:537 +msgid "Can't open sketch" +msgstr "" + +#: commands/cmderrors/cmderrors.go:524 +msgid "Can't update sketch" +msgstr "" + +#: internal/cli/arguments/arguments.go:38 +msgid "Can't use the following flags together: %s" +msgstr "" + +#: internal/cli/daemon/daemon.go:117 +msgid "Can't write debug log: %s" +msgstr "" + +#: commands/service_compile.go:190 commands/service_compile.go:193 +msgid "Cannot create build cache directory" +msgstr "" + +#: commands/service_compile.go:215 +msgid "Cannot create build directory" +msgstr "" + +#: internal/cli/config/init.go:100 +msgid "Cannot create config file directory: %v" +msgstr "" + +#: internal/cli/config/init.go:124 +msgid "Cannot create config file: %v" +msgstr "" + +#: commands/cmderrors/cmderrors.go:781 +msgid "Cannot create temp dir" +msgstr "" + +#: commands/cmderrors/cmderrors.go:799 +msgid "Cannot create temp file" +msgstr "" + +#: internal/cli/config/delete.go:55 +msgid "Cannot delete the key %[1]s: %[2]v" +msgstr "" + +#: commands/service_debug.go:228 +msgid "Cannot execute debug tool" +msgstr "" + +#: internal/cli/config/init.go:77 internal/cli/config/init.go:84 +msgid "Cannot find absolute path: %v" +msgstr "" + +#: internal/cli/config/add.go:63 internal/cli/config/add.go:65 +#: internal/cli/config/get.go:59 internal/cli/config/remove.go:63 +#: internal/cli/config/remove.go:65 +msgid "Cannot get the configuration key %[1]s: %[2]v" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 +msgid "Cannot install platform" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 +msgid "Cannot install tool %s" +msgstr "" + +#: commands/service_upload.go:544 +msgid "Cannot perform port reset: %s" +msgstr "" + +#: internal/cli/config/add.go:75 internal/cli/config/add.go:77 +#: internal/cli/config/remove.go:73 internal/cli/config/remove.go:75 +msgid "Cannot remove the configuration key %[1]s: %[2]v" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 +msgid "Cannot upgrade platform" +msgstr "" + +#: internal/cli/lib/search.go:207 +msgid "Category: %s" +msgstr "" + +#: internal/cli/lib/check_deps.go:39 internal/cli/lib/check_deps.go:40 +msgid "Check dependencies status for the specified library." +msgstr "" + +#: internal/cli/debug/debug_check.go:42 +msgid "Check if the given board/programmer combination supports debugging." +msgstr "" + +#: internal/arduino/resources/checksums.go:166 +msgid "Checksum differs from checksum in package.json" +msgstr "" + +#: internal/cli/board/details.go:190 +msgid "Checksum:" +msgstr "" + +#: internal/cli/cache/cache.go:32 +msgid "Clean caches." +msgstr "" + +#: internal/cli/cli.go:181 +msgid "Comma-separated list of additional URLs for the Boards Manager." +msgstr "" + +#: internal/cli/board/list.go:56 +msgid "" +"Command keeps running and prints list of connected boards whenever there is " +"a change." +msgstr "" + +#: commands/service_debug_config.go:178 commands/service_upload.go:452 +msgid "Compiled sketch not found in %s" +msgstr "" + +#: internal/cli/compile/compile.go:80 internal/cli/compile/compile.go:81 +msgid "Compiles Arduino sketches." +msgstr "" + +#: internal/arduino/builder/builder.go:421 +msgid "Compiling core..." +msgstr "" + +#: internal/arduino/builder/builder.go:400 +msgid "Compiling libraries..." +msgstr "" + +#: internal/arduino/builder/libraries.go:134 +msgid "Compiling library \"%[1]s\"" +msgstr "" + +#: internal/arduino/builder/builder.go:384 +msgid "Compiling sketch..." +msgstr "" + +#: internal/cli/config/init.go:94 +msgid "" +"Config file already exists, use --overwrite to discard the existing one." +msgstr "" + +#: internal/cli/config/init.go:179 +msgid "Config file written to: %s" +msgstr "" + +#: internal/cli/debug/debug.go:250 +msgid "Configuration options for %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:78 +msgid "" +"Configure communication port settings. The format is " +"<ID>=<value>[,<ID>=<value>]..." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 +msgid "Configuring platform." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 +msgid "Configuring tool." +msgstr "" + +#: internal/cli/board/list.go:198 +msgid "Connected" +msgstr "" + +#: internal/cli/monitor/monitor.go:275 +msgid "Connecting to %s. Press CTRL-C to exit." +msgstr "" + +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 +msgid "Core" +msgstr "" + +#: internal/cli/configuration/network.go:127 +msgid "Could not connect via HTTP" +msgstr "" + +#: commands/instances.go:487 +msgid "Could not create index directory" +msgstr "" + +#: internal/arduino/builder/core.go:42 +msgid "Couldn't deeply cache core build: %[1]s" +msgstr "" + +#: internal/arduino/builder/sizer.go:155 +msgid "Couldn't determine program size" +msgstr "" + +#: internal/cli/arguments/sketch.go:37 internal/cli/lib/install.go:111 +msgid "Couldn't get current working directory: %v" +msgstr "" + +#: internal/cli/sketch/new.go:37 internal/cli/sketch/new.go:38 +msgid "Create a new Sketch" +msgstr "" + +#: internal/cli/compile/compile.go:101 +msgid "Create and print a profile configuration from the build." +msgstr "" + +#: internal/cli/sketch/archive.go:37 internal/cli/sketch/archive.go:38 +msgid "Creates a zip file containing all sketch files." +msgstr "" + +#: internal/cli/config/init.go:46 +msgid "" +"Creates or updates the configuration file in the data directory or custom " +"directory with the current configuration settings." +msgstr "" + +#: internal/cli/compile/compile.go:334 +msgid "" +"Currently, Build Profiles only support libraries available through Arduino " +"Library Manager." +msgstr "" + +#: internal/cli/debug/debug.go:266 +msgid "Custom configuration for %s:" +msgstr "" + +#: internal/cli/feedback/result/rpc.go:146 +#: internal/cli/outdated/outdated.go:119 +msgid "DEPRECATED" +msgstr "" + +#: internal/cli/daemon/daemon.go:195 +msgid "Daemon is now listening on %s:%s" +msgstr "" + +#: internal/cli/debug/debug.go:53 +msgid "Debug Arduino sketches." +msgstr "" + +#: internal/cli/debug/debug.go:54 +msgid "" +"Debug Arduino sketches. (this command opens an interactive gdb session)" +msgstr "" + +#: internal/cli/debug/debug.go:70 internal/cli/debug/debug_check.go:51 +msgid "Debug interpreter e.g.: %s" +msgstr "" + +#: commands/service_debug_config.go:215 +msgid "Debugging not supported for board %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:331 +msgid "Default" +msgstr "" + +#: internal/cli/board/attach.go:115 +msgid "Default FQBN set to" +msgstr "" + +#: internal/cli/board/attach.go:114 +msgid "Default port set to" +msgstr "" + +#: internal/cli/board/attach.go:116 +msgid "Default programmer set to" +msgstr "" + +#: internal/cli/cache/clean.go:32 +msgid "Delete Boards/Library Manager download cache." +msgstr "" + +#: internal/cli/cache/clean.go:33 +msgid "" +"Delete contents of the downloads cache folder, where archive files are " +"staged during installation of libraries and boards platforms." +msgstr "" + +#: internal/cli/config/delete.go:32 internal/cli/config/delete.go:33 +msgid "Deletes a settings key and all its sub keys." +msgstr "" + +#: internal/cli/lib/search.go:215 +msgid "Dependencies: %s" +msgstr "" + +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:106 +msgid "Description" +msgstr "" + +#: internal/arduino/builder/builder.go:314 +msgid "Detecting libraries used..." +msgstr "" + +#: internal/cli/board/list.go:46 +msgid "" +"Detects and displays a list of boards connected to the current computer." +msgstr "" + +#: internal/cli/debug/debug.go:71 internal/cli/debug/debug.go:72 +msgid "Directory containing binaries for debug." +msgstr "" + +#: internal/cli/upload/upload.go:73 internal/cli/upload/upload.go:74 +msgid "Directory containing binaries to upload." +msgstr "" + +#: internal/cli/generatedocs/generatedocs.go:45 +msgid "" +"Directory where to save generated files. Default is './docs', the directory " +"must exist." +msgstr "" + +#: internal/cli/completion/completion.go:44 +msgid "Disable completion description for shells that support it" +msgstr "" + +#: internal/cli/board/list.go:199 +msgid "Disconnected" +msgstr "" + +#: internal/cli/daemon/daemon.go:90 +msgid "Display only the provided gRPC calls" +msgstr "" + +#: internal/cli/lib/install.go:62 +msgid "Do not install dependencies." +msgstr "" + +#: internal/cli/lib/install.go:63 +msgid "Do not overwrite already installed libraries." +msgstr "" + +#: internal/cli/core/install.go:56 +msgid "Do not overwrite already installed platforms." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:64 +#: internal/cli/upload/upload.go:81 +msgid "Do not perform the actual upload, just log out actions" +msgstr "" + +#: internal/cli/daemon/daemon.go:81 +msgid "Do not terminate daemon process if the parent process dies" +msgstr "" + +#: internal/cli/lib/check_deps.go:52 +msgid "Do not try to update library dependencies if already installed." +msgstr "" + +#: commands/service_library_download.go:92 +msgid "Downloading %s" +msgstr "" + +#: internal/arduino/resources/index.go:137 +msgid "Downloading index signature: %s" +msgstr "" + +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 +#: internal/arduino/resources/index.go:82 +msgid "Downloading index: %s" +msgstr "" + +#: commands/instances.go:372 +msgid "Downloading library %s" +msgstr "" + +#: commands/instances.go:54 +msgid "Downloading missing tool %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 +msgid "Downloading packages" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:101 +msgid "Downloading platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:177 +msgid "Downloading tool %s" +msgstr "" + +#: internal/cli/core/download.go:36 internal/cli/core/download.go:37 +msgid "Downloads one or more cores and corresponding tool dependencies." +msgstr "" + +#: internal/cli/lib/download.go:36 internal/cli/lib/download.go:37 +msgid "Downloads one or more libraries without installing them." +msgstr "" + +#: internal/cli/daemon/daemon.go:84 +msgid "Enable debug logging of gRPC calls" +msgstr "" + +#: internal/cli/lib/install.go:65 +msgid "Enter a path to zip file" +msgstr "" + +#: internal/cli/lib/install.go:64 +msgid "Enter git url for libraries hosted on repositories" +msgstr "" + +#: commands/service_sketch_archive.go:105 +msgid "Error adding file to sketch archive" +msgstr "" + +#: internal/arduino/builder/core.go:170 +msgid "Error archiving built core (caching) in %[1]s: %[2]s" +msgstr "" + +#: internal/cli/sketch/archive.go:85 +msgid "Error archiving: %v" +msgstr "" + +#: commands/service_sketch_archive.go:93 +msgid "Error calculating relative file path" +msgstr "" + +#: internal/cli/cache/clean.go:48 +msgid "Error cleaning caches: %v" +msgstr "" + +#: internal/cli/compile/compile.go:223 +msgid "Error converting path to absolute: %v" +msgstr "" + +#: commands/service_compile.go:420 +msgid "Error copying output file %s" +msgstr "" + +#: internal/cli/config/init.go:106 internal/cli/config/init.go:113 +#: internal/cli/config/init.go:120 internal/cli/config/init.go:134 +#: internal/cli/config/init.go:138 +msgid "Error creating configuration: %v" +msgstr "" + +#: internal/cli/instance/instance.go:43 +msgid "Error creating instance: %v" +msgstr "" + +#: commands/service_compile.go:403 +msgid "Error creating output dir" +msgstr "" + +#: commands/service_sketch_archive.go:81 +msgid "Error creating sketch archive" +msgstr "" + +#: internal/cli/sketch/new.go:71 internal/cli/sketch/new.go:83 +msgid "Error creating sketch: %v" +msgstr "" + +#: internal/cli/board/list.go:83 internal/cli/board/list.go:97 +msgid "Error detecting boards: %v" +msgstr "" + +#: internal/cli/core/download.go:71 internal/cli/lib/download.go:69 +msgid "Error downloading %[1]s: %[2]v" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:110 +#: internal/arduino/cores/packagemanager/profiles.go:111 +msgid "Error downloading %s" +msgstr "" + +#: commands/instances.go:661 internal/arduino/resources/index.go:83 +msgid "Error downloading index '%s'" +msgstr "" + +#: internal/arduino/resources/index.go:138 +msgid "Error downloading index signature '%s'" +msgstr "" + +#: commands/instances.go:382 commands/instances.go:388 +msgid "Error downloading library %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:128 +#: internal/arduino/cores/packagemanager/profiles.go:129 +msgid "Error downloading platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:127 +#: internal/arduino/cores/packagemanager/profiles.go:179 +msgid "Error downloading tool %s" +msgstr "" + +#: internal/cli/debug/debug.go:162 internal/cli/debug/debug.go:195 +msgid "Error during Debug: %v" +msgstr "" + +#: internal/cli/feedback/feedback.go:236 internal/cli/feedback/feedback.go:242 +msgid "Error during JSON encoding of the output: %v" +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:78 +#: internal/cli/burnbootloader/burnbootloader.go:100 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 +msgid "Error during Upload: %v" +msgstr "" + +#: internal/cli/arguments/port.go:144 +msgid "Error during board detection" +msgstr "" + +#: internal/cli/compile/compile.go:383 +msgid "Error during build: %v" +msgstr "" + +#: internal/cli/core/install.go:81 +msgid "Error during install: %v" +msgstr "" + +#: internal/cli/core/uninstall.go:75 +msgid "Error during uninstall: %v" +msgstr "" + +#: internal/cli/core/upgrade.go:136 +msgid "Error during upgrade: %v" +msgstr "" + +#: internal/arduino/resources/index.go:105 +#: internal/arduino/resources/index.go:124 +msgid "Error extracting %s" +msgstr "" + +#: commands/service_upload.go:449 +msgid "Error finding build artifacts" +msgstr "" + +#: internal/cli/debug/debug.go:139 +msgid "Error getting Debug info: %v" +msgstr "" + +#: commands/service_sketch_archive.go:57 +msgid "Error getting absolute path of sketch archive" +msgstr "" + +#: internal/cli/board/details.go:74 +msgid "Error getting board details: %v" +msgstr "" + +#: internal/arduino/builder/internal/compilation/database.go:82 +msgid "Error getting current directory for compilation database: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:105 +msgid "" +"Error getting default port from `sketch.yaml`. Check if you're in the " +"correct sketch folder or provide the --port flag: %s" +msgstr "" + +#: commands/service_compile.go:338 commands/service_library_list.go:115 +msgid "Error getting information for library %s" +msgstr "" + +#: internal/cli/lib/examples.go:75 +msgid "Error getting libraries info: %v" +msgstr "" + +#: internal/cli/arguments/fqbn.go:96 +msgid "Error getting port metadata: %v" +msgstr "" + +#: internal/cli/monitor/monitor.go:154 +msgid "Error getting port settings details: %s" +msgstr "" + +#: internal/cli/upload/upload.go:169 +msgid "Error getting user input" +msgstr "" + +#: internal/cli/instance/instance.go:82 internal/cli/instance/instance.go:100 +msgid "Error initializing instance: %v" +msgstr "" + +#: internal/cli/lib/install.go:148 +msgid "Error installing %s: %v" +msgstr "" + +#: internal/cli/lib/install.go:122 +msgid "Error installing Git Library: %v" +msgstr "" + +#: internal/cli/lib/install.go:100 +msgid "Error installing Zip Library: %v" +msgstr "" + +#: commands/instances.go:398 +msgid "Error installing library %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:136 +#: internal/arduino/cores/packagemanager/profiles.go:137 +msgid "Error installing platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:180 +#: internal/arduino/cores/packagemanager/profiles.go:187 +#: internal/arduino/cores/packagemanager/profiles.go:188 +msgid "Error installing tool %s" +msgstr "" + +#: internal/cli/board/listall.go:66 +msgid "Error listing boards: %v" +msgstr "" + +#: internal/cli/lib/list.go:91 +msgid "Error listing libraries: %v" +msgstr "" + +#: internal/cli/core/list.go:69 +msgid "Error listing platforms: %v" +msgstr "" + +#: commands/cmderrors/cmderrors.go:424 +msgid "Error loading hardware platform" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:114 +#: internal/arduino/cores/packagemanager/profiles.go:115 +msgid "Error loading index %s" +msgstr "" + +#: internal/arduino/resources/index.go:99 +msgid "Error opening %s" +msgstr "" + +#: internal/cli/daemon/daemon.go:111 +msgid "Error opening debug logging file: %s" +msgstr "" + +#: internal/cli/compile/compile.go:196 +msgid "Error opening source code overrides data file: %v" +msgstr "" + +#: internal/cli/compile/compile.go:209 +msgid "Error parsing --show-properties flag: %v" +msgstr "" + +#: commands/service_compile.go:412 +msgid "Error reading build directory" +msgstr "" + +#: commands/service_sketch_archive.go:75 +msgid "Error reading sketch files" +msgstr "" + +#: internal/cli/lib/check_deps.go:72 +msgid "Error resolving dependencies for %[1]s: %[2]s" +msgstr "" + +#: internal/cli/core/upgrade.go:68 +msgid "Error retrieving core list: %v" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 +msgid "Error rolling-back changes: %s" +msgstr "" + +#: internal/arduino/resources/index.go:165 +#: internal/arduino/resources/index.go:177 +msgid "Error saving downloaded index" +msgstr "" + +#: internal/arduino/resources/index.go:172 +#: internal/arduino/resources/index.go:181 +msgid "Error saving downloaded index signature" +msgstr "" + +#: internal/cli/board/search.go:63 +msgid "Error searching boards: %v" +msgstr "" + +#: internal/cli/lib/search.go:126 +msgid "Error searching for Libraries: %v" +msgstr "" + +#: internal/cli/core/search.go:82 +msgid "Error searching for platforms: %v" +msgstr "" + +#: internal/arduino/builder/internal/compilation/database.go:67 +msgid "Error serializing compilation database: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:224 +msgid "Error setting raw mode: %s" +msgstr "" + +#: internal/cli/config/set.go:67 internal/cli/config/set.go:74 +msgid "Error setting value: %v" +msgstr "" + +#: internal/cli/board/list.go:86 +msgid "Error starting discovery: %v" +msgstr "" + +#: internal/cli/lib/uninstall.go:67 +msgid "Error uninstalling %[1]s: %[2]v" +msgstr "" + +#: internal/cli/lib/search.go:113 internal/cli/lib/update_index.go:59 +msgid "Error updating library index: %v" +msgstr "" + +#: internal/cli/lib/upgrade.go:75 +msgid "Error upgrading libraries" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 +msgid "Error upgrading platform: %s" +msgstr "" + +#: internal/arduino/resources/index.go:147 +#: internal/arduino/resources/index.go:153 +msgid "Error verifying signature" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:369 +msgid "Error while detecting libraries included by %[1]s" +msgstr "" + +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 +msgid "Error while determining sketch size: %s" +msgstr "" + +#: internal/arduino/builder/internal/compilation/database.go:70 +msgid "Error writing compilation database: %s" +msgstr "" + +#: internal/cli/config/config.go:84 internal/cli/config/config.go:91 +msgid "Error writing to file: %v" +msgstr "" + +#: internal/cli/completion/completion.go:56 +msgid "Error: command description is not supported by %v" +msgstr "" + +#: internal/cli/compile/compile.go:202 +msgid "Error: invalid source code overrides data file: %v" +msgstr "" + +#: internal/cli/board/list.go:104 +msgid "Event" +msgstr "" + +#: internal/cli/lib/examples.go:123 +msgid "Examples for library %s" +msgstr "" + +#: internal/cli/usage.go:24 +msgid "Examples:" +msgstr "" + +#: internal/cli/debug/debug.go:233 +msgid "Executable to debug" +msgstr "" + +#: commands/service_debug_config.go:181 commands/service_upload.go:455 +msgid "Expected compiled sketch in directory %s, but is a file instead" +msgstr "" + +#: internal/cli/board/attach.go:35 internal/cli/board/details.go:41 +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 +#: internal/cli/board/listall.go:84 internal/cli/board/search.go:85 +msgid "FQBN" +msgstr "" + +#: internal/cli/board/details.go:140 +msgid "FQBN:" +msgstr "" + +#: commands/service_upload.go:578 +msgid "Failed chip erase" +msgstr "" + +#: commands/service_upload.go:585 +msgid "Failed programming" +msgstr "" + +#: commands/service_upload.go:581 +msgid "Failed to burn bootloader" +msgstr "" + +#: commands/instances.go:88 +msgid "Failed to create data directory" +msgstr "" + +#: commands/instances.go:77 +msgid "Failed to create downloads directory" +msgstr "" + +#: internal/cli/daemon/daemon.go:150 +msgid "Failed to listen on TCP port: %[1]s. %[2]s is an invalid port." +msgstr "" + +#: internal/cli/daemon/daemon.go:145 +msgid "Failed to listen on TCP port: %[1]s. %[2]s is unknown name." +msgstr "" + +#: internal/cli/daemon/daemon.go:157 +msgid "Failed to listen on TCP port: %[1]s. Unexpected error: %[2]v" +msgstr "" + +#: internal/cli/daemon/daemon.go:155 +msgid "Failed to listen on TCP port: %s. Address already in use." +msgstr "" + +#: commands/service_upload.go:589 +msgid "Failed uploading" +msgstr "" + +#: internal/cli/board/details.go:188 +msgid "File:" +msgstr "" + +#: commands/service_compile.go:163 +msgid "" +"Firmware encryption/signing requires all the following properties to be " +"defined: %s" +msgstr "" + +#: commands/service_debug.go:187 +msgid "First message must contain debug request, not data" +msgstr "" + +#: internal/cli/arguments/arguments.go:49 +msgid "Flag %[1]s is mandatory when used in conjunction with: %[2]s" +msgstr "" + +#: internal/cli/usage.go:26 +msgid "Flags:" +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:38 +msgid "" +"Force run of post-install scripts (if the CLI is not running interactively)." +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:40 +msgid "" +"Force run of pre-uninstall scripts (if the CLI is not running " +"interactively)." +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:39 +msgid "" +"Force skip of post-install scripts (if the CLI is running interactively)." +msgstr "" + +#: internal/cli/arguments/pre_post_script.go:41 +msgid "" +"Force skip of pre-uninstall scripts (if the CLI is running interactively)." +msgstr "" + +#: commands/cmderrors/cmderrors.go:839 +msgid "Found %d platforms matching \"%s\": %s" +msgstr "" + +#: internal/cli/arguments/fqbn.go:39 +msgid "Fully Qualified Board Name, e.g.: arduino:avr:uno" +msgstr "" + +#: commands/service_debug.go:321 +msgid "GDB server '%s' is not supported" +msgstr "" + +#: internal/cli/generatedocs/generatedocs.go:38 +#: internal/cli/generatedocs/generatedocs.go:39 +msgid "Generates bash completion and command manpages." +msgstr "" + +#: internal/cli/completion/completion.go:38 +msgid "Generates completion scripts" +msgstr "" + +#: internal/cli/completion/completion.go:39 +msgid "Generates completion scripts for various shells" +msgstr "" + +#: internal/arduino/builder/builder.go:334 +msgid "Generating function prototypes..." +msgstr "" + +#: internal/cli/config/get.go:35 internal/cli/config/get.go:36 +msgid "Gets a settings key value." +msgstr "" + +#: internal/cli/usage.go:27 +msgid "Global Flags:" +msgstr "" + +#: internal/arduino/builder/sizer.go:166 +msgid "" +"Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " +"bytes for local variables. Maximum is %[2]s bytes." +msgstr "" + +#: internal/arduino/builder/sizer.go:172 +msgid "Global variables use %[1]s bytes of dynamic memory." +msgstr "" + +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/monitor/monitor.go:331 +#: internal/cli/outdated/outdated.go:101 +msgid "ID" +msgstr "" + +#: internal/cli/board/details.go:111 +msgid "Id" +msgstr "" + +#: internal/cli/board/details.go:154 +msgid "Identification properties:" +msgstr "" + +#: internal/cli/compile/compile.go:135 +msgid "If set built binaries will be exported to the sketch folder." +msgstr "" + +#: internal/cli/core/list.go:46 +msgid "" +"If set return all installable and installed cores, including manually " +"installed." +msgstr "" + +#: internal/cli/lib/list.go:55 +msgid "Include built-in libraries (from platforms and IDE) in listing." +msgstr "" + +#: internal/cli/sketch/archive.go:51 +msgid "Includes %s directory in the archive." +msgstr "" + +#: internal/cli/lib/install.go:66 +msgid "Install libraries in the IDE-Builtin directory" +msgstr "" + +#: internal/cli/core/list.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:103 +msgid "Installed" +msgstr "" + +#: commands/service_library_install.go:201 +msgid "Installed %s" +msgstr "" + +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 +msgid "Installing %s" +msgstr "" + +#: commands/instances.go:396 +msgid "Installing library %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 +#: internal/arduino/cores/packagemanager/profiles.go:134 +msgid "Installing platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:185 +msgid "Installing tool %s" +msgstr "" + +#: internal/cli/core/install.go:38 internal/cli/core/install.go:39 +msgid "Installs one or more cores and corresponding tool dependencies." +msgstr "" + +#: internal/cli/lib/install.go:46 internal/cli/lib/install.go:47 +msgid "Installs one or more specified libraries into the system." +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:394 +msgid "Internal error in cache" +msgstr "" + +#: commands/cmderrors/cmderrors.go:377 +msgid "Invalid '%[1]s' property: %[2]s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:60 +msgid "Invalid FQBN" +msgstr "" + +#: internal/cli/daemon/daemon.go:168 +msgid "Invalid TCP address: port is missing" +msgstr "" + +#: commands/cmderrors/cmderrors.go:78 +msgid "Invalid URL" +msgstr "" + +#: commands/instances.go:184 +msgid "Invalid additional URL: %v" +msgstr "" + +#: internal/arduino/resources/index.go:111 +msgid "Invalid archive: file %[1]s not found in archive %[2]s" +msgstr "" + +#: internal/cli/core/download.go:59 internal/cli/core/install.go:66 +#: internal/cli/core/uninstall.go:58 internal/cli/core/upgrade.go:108 +#: internal/cli/lib/download.go:58 internal/cli/lib/uninstall.go:56 +msgid "Invalid argument passed: %v" +msgstr "" + +#: commands/service_compile.go:282 +msgid "Invalid build properties" +msgstr "" + +#: internal/arduino/builder/sizer.go:253 +msgid "Invalid data size regexp: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:259 +msgid "Invalid eeprom size regexp: %s" +msgstr "" + +#: commands/instances.go:597 +msgid "Invalid index URL: %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:46 +msgid "Invalid instance" +msgstr "" + +#: internal/cli/core/upgrade.go:114 +msgid "Invalid item %s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:96 +msgid "Invalid library" +msgstr "" + +#: internal/cli/cli.go:265 +msgid "Invalid logging level: %s" +msgstr "" + +#: commands/instances.go:614 +msgid "Invalid network configuration: %s" +msgstr "" + +#: internal/cli/configuration/network.go:83 +msgid "Invalid network.proxy '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/cli.go:222 +msgid "Invalid output format: %s" +msgstr "" + +#: commands/instances.go:581 +msgid "Invalid package index in %s" +msgstr "" + +#: internal/cli/core/uninstall.go:63 +msgid "Invalid parameter %s: version not allowed" +msgstr "" + +#: commands/service_board_identify.go:169 +msgid "Invalid pid value: '%s'" +msgstr "" + +#: commands/cmderrors/cmderrors.go:220 +msgid "Invalid profile" +msgstr "" + +#: commands/service_monitor.go:270 +msgid "Invalid recipe in platform.txt" +msgstr "" + +#: internal/arduino/builder/sizer.go:243 +msgid "Invalid size regexp: %s" +msgstr "" + +#: main.go:86 +msgid "Invalid value in configuration" +msgstr "" + +#: commands/cmderrors/cmderrors.go:114 +msgid "Invalid version" +msgstr "" + +#: commands/service_board_identify.go:166 +msgid "Invalid vid value: '%s'" +msgstr "" + +#: internal/cli/compile/compile.go:132 +msgid "" +"Just produce the compilation database, without actually compiling. All build" +" commands are skipped except pre* hooks." +msgstr "" + +#: internal/cli/lib/list.go:39 +msgid "LIBNAME" +msgstr "" + +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 +msgid "LIBRARY" +msgstr "" + +#: internal/cli/lib/download.go:35 internal/cli/lib/examples.go:43 +#: internal/cli/lib/uninstall.go:35 +msgid "LIBRARY_NAME" +msgstr "" + +#: internal/cli/core/list.go:117 internal/cli/outdated/outdated.go:104 +msgid "Latest" +msgstr "" + +#: internal/arduino/builder/libraries.go:92 +msgid "Library %[1]s has been declared precompiled:" +msgstr "" + +#: commands/service_library_install.go:142 +#: internal/arduino/libraries/librariesmanager/install.go:131 +msgid "" +"Library %[1]s is already installed, but with a different version: %[2]s" +msgstr "" + +#: commands/service_library_upgrade.go:137 +msgid "Library %s is already at the latest version" +msgstr "" + +#: commands/service_library_uninstall.go:63 +msgid "Library %s is not installed" +msgstr "" + +#: commands/instances.go:375 +msgid "Library %s not found" +msgstr "" + +#: commands/cmderrors/cmderrors.go:445 +msgid "Library '%s' not found" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:471 +msgid "" +"Library can't use both '%[1]s' and '%[2]s' folders. Double check in '%[3]s'." +msgstr "" + +#: commands/cmderrors/cmderrors.go:574 +msgid "Library install failed" +msgstr "" + +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 +msgid "Library installed" +msgstr "" + +#: internal/cli/lib/search.go:205 +msgid "License: %s" +msgstr "" + +#: internal/arduino/builder/builder.go:437 +msgid "Linking everything together..." +msgstr "" + +#: internal/cli/board/listall.go:40 +msgid "" +"List all boards that have the support platform installed. You can search\n" +"for a specific board if you specify the board name" +msgstr "" + +#: internal/cli/board/listall.go:39 +msgid "List all known boards and their corresponding FQBN." +msgstr "" + +#: internal/cli/board/list.go:45 +msgid "List connected boards." +msgstr "" + +#: internal/cli/arguments/fqbn.go:44 +msgid "" +"List of board options separated by commas. Or can be used multiple times for" +" multiple options." +msgstr "" + +#: internal/cli/compile/compile.go:110 +msgid "" +"List of custom build properties separated by commas. Or can be used multiple" +" times for multiple properties." +msgstr "" + +#: internal/cli/lib/list.go:57 +msgid "List updatable libraries." +msgstr "" + +#: internal/cli/core/list.go:45 +msgid "List updatable platforms." +msgstr "" + +#: internal/cli/board/board.go:32 +msgid "Lists all connected boards." +msgstr "" + +#: internal/cli/outdated/outdated.go:41 +msgid "Lists cores and libraries that can be upgraded" +msgstr "" + +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 +msgid "Loading index file: %v" +msgstr "" + +#: internal/cli/lib/list.go:138 internal/cli/outdated/outdated.go:105 +msgid "Location" +msgstr "" + +#: internal/arduino/builder/sizer.go:208 +msgid "Low memory available, stability problems may occur." +msgstr "" + +#: internal/cli/lib/search.go:200 +msgid "Maintainer: %s" +msgstr "" + +#: internal/cli/compile/compile.go:140 +msgid "" +"Max number of parallel compiles. If set to 0 the number of available CPUs " +"cores will be used." +msgstr "" + +#: internal/cli/arguments/discovery_timeout.go:32 +msgid "Max time to wait for port discovery, e.g.: 30s, 1m" +msgstr "" + +#: internal/cli/cli.go:170 +msgid "" +"Messages with this level and above will be logged. Valid levels are: %s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:466 +msgid "Missing '%[1]s' from library in %[2]s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:169 +msgid "Missing FQBN (Fully Qualified Board Name)" +msgstr "" + +#: commands/cmderrors/cmderrors.go:260 +msgid "Missing port" +msgstr "" + +#: commands/cmderrors/cmderrors.go:236 +msgid "Missing port address" +msgstr "" + +#: commands/cmderrors/cmderrors.go:248 +msgid "Missing port protocol" +msgstr "" + +#: commands/cmderrors/cmderrors.go:286 +msgid "Missing programmer" +msgstr "" + +#: internal/cli/upload/upload.go:162 +msgid "Missing required upload field: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:247 +msgid "Missing size regexp" +msgstr "" + +#: commands/cmderrors/cmderrors.go:497 +msgid "Missing sketch path" +msgstr "" + +#: commands/cmderrors/cmderrors.go:358 +msgid "Monitor '%s' not found" +msgstr "" + +#: internal/cli/monitor/monitor.go:261 +msgid "Monitor port settings:" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:156 +msgid "Multiple libraries were found for \"%[1]s\"" +msgstr "" + +#: internal/cli/board/details.go:216 internal/cli/core/list.go:117 +#: internal/cli/core/search.go:117 internal/cli/lib/list.go:138 +#: internal/cli/outdated/outdated.go:102 +msgid "Name" +msgstr "" + +#: internal/cli/lib/search.go:179 +msgid "Name: \"%s\"" +msgstr "" + +#: internal/cli/upload/upload.go:238 +msgid "New upload port: %[1]s (%[2]s)" +msgstr "" + +#: internal/cli/board/list.go:132 +msgid "No boards found." +msgstr "" + +#: internal/cli/board/attach.go:112 +msgid "No default port, FQBN or programmer set" +msgstr "" + +#: internal/cli/lib/examples.go:108 +msgid "No libraries found." +msgstr "" + +#: internal/cli/lib/list.go:130 +msgid "No libraries installed." +msgstr "" + +#: internal/cli/lib/search.go:168 +msgid "No libraries matching your search." +msgstr "" + +#: internal/cli/lib/search.go:174 +msgid "" +"No libraries matching your search.\n" +"Did you mean...\n" +msgstr "" + +#: internal/cli/lib/list.go:128 +msgid "No libraries update is available." +msgstr "" + +#: commands/cmderrors/cmderrors.go:274 +msgid "No monitor available for the port protocol %s" +msgstr "" + +#: internal/cli/outdated/outdated.go:95 +msgid "No outdated platforms or libraries found." +msgstr "" + +#: internal/cli/core/list.go:114 +msgid "No platforms installed." +msgstr "" + +#: internal/cli/core/search.go:113 +msgid "No platforms matching your search." +msgstr "" + +#: commands/service_upload.go:534 +msgid "No upload port found, using %s as fallback" +msgstr "" + +#: commands/cmderrors/cmderrors.go:464 +msgid "No valid dependencies solution found" +msgstr "" + +#: internal/arduino/builder/sizer.go:198 +msgid "Not enough memory; see %[1]s for tips on reducing your footprint." +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:159 +msgid "Not used: %[1]s" +msgstr "" + +#: internal/cli/board/details.go:187 +msgid "OS:" +msgstr "" + +#: internal/cli/board/details.go:145 +msgid "Official Arduino board:" +msgstr "" + +#: internal/cli/lib/search.go:98 +msgid "" +"Omit library details far all versions except the latest (produce a more " +"compact JSON output)." +msgstr "" + +#: internal/cli/monitor/monitor.go:59 internal/cli/monitor/monitor.go:60 +msgid "Open a communication port with a board." +msgstr "" + +#: internal/cli/board/details.go:200 +msgid "Option:" +msgstr "" + +#: internal/cli/compile/compile.go:120 +msgid "" +"Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." +msgstr "" + +#: internal/cli/compile/compile.go:133 +msgid "Optional, cleanup the build folder and do not use any cached build." +msgstr "" + +#: internal/cli/compile/compile.go:130 +msgid "" +"Optional, optimize compile output for debugging, rather than for release." +msgstr "" + +#: internal/cli/compile/compile.go:122 +msgid "Optional, suppresses almost every output." +msgstr "" + +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 +msgid "Optional, turns on verbose mode." +msgstr "" + +#: internal/cli/compile/compile.go:136 +msgid "" +"Optional. Path to a .json file that contains a set of replacements of the " +"sketch source code." +msgstr "" + +#: internal/cli/compile/compile.go:112 +msgid "" +"Override a build property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/debug/debug.go:75 internal/cli/debug/debug_check.go:53 +msgid "" +"Override an debug property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:61 +#: internal/cli/upload/upload.go:77 +msgid "" +"Override an upload property with a custom value. Can be used multiple times " +"for multiple properties." +msgstr "" + +#: internal/cli/config/init.go:62 +msgid "Overwrite existing config file." +msgstr "" + +#: internal/cli/sketch/archive.go:52 +msgid "Overwrites an already existing archive" +msgstr "" + +#: internal/cli/sketch/new.go:46 +msgid "Overwrites an existing .ino sketch." +msgstr "" + +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +#: internal/cli/core/uninstall.go:36 internal/cli/core/upgrade.go:38 +msgid "PACKAGER" +msgstr "" + +#: internal/cli/board/details.go:165 +msgid "Package URL:" +msgstr "" + +#: internal/cli/board/details.go:164 +msgid "Package maintainer:" +msgstr "" + +#: internal/cli/board/details.go:163 +msgid "Package name:" +msgstr "" + +#: internal/cli/board/details.go:167 +msgid "Package online help:" +msgstr "" + +#: internal/cli/board/details.go:166 +msgid "Package website:" +msgstr "" + +#: internal/cli/lib/search.go:202 +msgid "Paragraph: %s" +msgstr "" + +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +msgid "Path" +msgstr "" + +#: internal/cli/compile/compile.go:129 +msgid "" +"Path to a collection of libraries. Can be used multiple times or entries can" +" be comma separated." +msgstr "" + +#: internal/cli/compile/compile.go:127 +msgid "" +"Path to a single library’s root folder. Can be used multiple times or " +"entries can be comma separated." +msgstr "" + +#: internal/cli/cli.go:172 +msgid "Path to the file where logs will be written." +msgstr "" + +#: internal/cli/compile/compile.go:108 +msgid "" +"Path where to save compiled files. If omitted, a directory will be created " +"in the default temporary path of your OS." +msgstr "" + +#: commands/service_upload.go:515 +msgid "Performing 1200-bps touch reset on serial port %s" +msgstr "" + +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 +msgid "Platform %s already installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 +msgid "Platform %s installed" +msgstr "" + +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +msgid "" +"Platform %s is not found in any known index\n" +"Maybe you need to add a 3rd party URL?" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 +msgid "Platform %s uninstalled" +msgstr "" + +#: commands/cmderrors/cmderrors.go:482 +msgid "Platform '%s' is already at the latest version" +msgstr "" + +#: commands/cmderrors/cmderrors.go:406 +msgid "Platform '%s' not found" +msgstr "" + +#: internal/cli/board/search.go:85 +msgid "Platform ID" +msgstr "" + +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +msgid "Platform ID is not correct" +msgstr "" + +#: internal/cli/board/details.go:173 +msgid "Platform URL:" +msgstr "" + +#: internal/cli/board/details.go:172 +msgid "Platform architecture:" +msgstr "" + +#: internal/cli/board/details.go:171 +msgid "Platform category:" +msgstr "" + +#: internal/cli/board/details.go:178 +msgid "Platform checksum:" +msgstr "" + +#: internal/cli/board/details.go:174 +msgid "Platform file name:" +msgstr "" + +#: internal/cli/board/details.go:170 +msgid "Platform name:" +msgstr "" + +#: internal/cli/board/details.go:176 +msgid "Platform size (bytes):" +msgstr "" + +#: commands/cmderrors/cmderrors.go:153 +msgid "" +"Please specify an FQBN. Multiple possible boards detected on port %[1]s with" +" protocol %[2]s" +msgstr "" + +#: commands/cmderrors/cmderrors.go:133 +msgid "" +"Please specify an FQBN. The board on port %[1]s with protocol %[2]s can't be" +" identified" +msgstr "" + +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 +msgid "Port" +msgstr "" + +#: internal/cli/monitor/monitor.go:287 internal/cli/monitor/monitor.go:296 +msgid "Port closed: %v" +msgstr "" + +#: commands/cmderrors/cmderrors.go:668 +msgid "Port monitor error" +msgstr "" + +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 +msgid "Precompiled library in \"%[1]s\" not found" +msgstr "" + +#: internal/cli/board/details.go:42 +msgid "Print details about a board." +msgstr "" + +#: internal/cli/compile/compile.go:103 +msgid "Print preprocessed code to stdout instead of compiling." +msgstr "" + +#: internal/cli/cli.go:166 internal/cli/cli.go:168 +msgid "Print the logs on the standard output." +msgstr "" + +#: internal/cli/cli.go:180 +msgid "Print the output in JSON format." +msgstr "" + +#: internal/cli/config/dump.go:31 +msgid "Prints the current configuration" +msgstr "" + +#: internal/cli/config/dump.go:32 +msgid "Prints the current configuration." +msgstr "" + +#: commands/cmderrors/cmderrors.go:202 +msgid "Profile '%s' not found" +msgstr "" + +#: commands/cmderrors/cmderrors.go:339 +msgid "Programmer '%s' not found" +msgstr "" + +#: internal/cli/board/details.go:111 +msgid "Programmer name" +msgstr "" + +#: internal/cli/arguments/programmer.go:35 +msgid "Programmer to use, e.g: atmel_ice" +msgstr "" + +#: internal/cli/board/details.go:216 +msgid "Programmers:" +msgstr "" + +#: commands/cmderrors/cmderrors.go:391 +msgid "Property '%s' is undefined" +msgstr "" + +#: internal/cli/board/list.go:142 +msgid "Protocol" +msgstr "" + +#: internal/cli/lib/search.go:212 +msgid "Provides includes: %s" +msgstr "" + +#: internal/cli/config/remove.go:34 internal/cli/config/remove.go:35 +msgid "Removes one or more values from a setting." +msgstr "" + +#: commands/service_library_install.go:188 +msgid "Replacing %[1]s with %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 +msgid "Replacing platform %[1]s with %[2]s" +msgstr "" + +#: internal/cli/board/details.go:184 +msgid "Required tool:" +msgstr "" + +#: internal/cli/monitor/monitor.go:79 +msgid "Run in silent mode, show only monitor input and output." +msgstr "" + +#: internal/cli/daemon/daemon.go:47 +msgid "Run the Arduino CLI as a gRPC daemon." +msgstr "" + +#: internal/arduino/builder/core.go:43 +msgid "Running normal build of the core..." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 +msgid "Running pre_uninstall script." +msgstr "" + +#: internal/cli/lib/search.go:39 +msgid "SEARCH_TERM" +msgstr "" + +#: internal/cli/debug/debug.go:238 +msgid "SVD file path" +msgstr "" + +#: internal/cli/compile/compile.go:106 +msgid "Save build artifacts in this directory." +msgstr "" + +#: internal/cli/board/search.go:39 +msgid "Search for a board in the Boards Manager using the specified keywords." +msgstr "" + +#: internal/cli/board/search.go:38 +msgid "Search for a board in the Boards Manager." +msgstr "" + +#: internal/cli/core/search.go:41 +msgid "Search for a core in Boards Manager using the specified keywords." +msgstr "" + +#: internal/cli/core/search.go:40 +msgid "Search for a core in Boards Manager." +msgstr "" + +#: internal/cli/lib/search.go:41 +msgid "" +"Search for libraries matching zero or more search terms.\n" +"\n" +"All searches are performed in a case-insensitive fashion. Queries containing\n" +"multiple search terms will return only libraries that match all of the terms.\n" +"\n" +"Search terms that do not match the QV syntax described below are basic search\n" +"terms, and will match libraries that include the term anywhere in any of the\n" +"following fields:\n" +" - Author\n" +" - Name\n" +" - Paragraph\n" +" - Provides\n" +" - Sentence\n" +"\n" +"A special syntax, called qualifier-value (QV), indicates that a search term\n" +"should be compared against only one field of each library index entry. This\n" +"syntax uses the name of an index field (case-insensitive), an equals sign (=)\n" +"or a colon (:), and a value, e.g. 'name=ArduinoJson' or 'provides:tinyusb.h'.\n" +"\n" +"QV search terms that use a colon separator will match all libraries with the\n" +"value anywhere in the named field, and QV search terms that use an equals\n" +"separator will match only libraries with exactly the provided value in the\n" +"named field.\n" +"\n" +"QV search terms can include embedded spaces using double-quote (\") characters\n" +"around the value or the entire term, e.g. 'category=\"Data Processing\"' and\n" +"'\"category=Data Processing\"' are equivalent. A QV term can include a literal\n" +"double-quote character by preceding it with a backslash (\\) character.\n" +"\n" +"NOTE: QV search terms using double-quote or backslash characters that are\n" +"passed as command-line arguments may require quoting or escaping to prevent\n" +"the shell from interpreting those characters.\n" +"\n" +"In addition to the fields listed above, QV terms can use these qualifiers:\n" +" - Architectures\n" +" - Category\n" +" - Dependencies\n" +" - License\n" +" - Maintainer\n" +" - Types\n" +" - Version\n" +" - Website\n" +"\t\t" +msgstr "" + +#: internal/cli/lib/search.go:40 +msgid "Searches for one or more libraries matching a query." +msgstr "" + +#: internal/cli/lib/search.go:201 +msgid "Sentence: %s" +msgstr "" + +#: internal/cli/debug/debug.go:246 +msgid "Server path" +msgstr "" + +#: internal/arduino/httpclient/httpclient.go:61 +msgid "Server responded with: %s" +msgstr "" + +#: internal/cli/debug/debug.go:245 +msgid "Server type" +msgstr "" + +#: internal/cli/upload/upload.go:83 +msgid "Set a value for a field required to upload." +msgstr "" + +#: internal/cli/monitor/monitor.go:76 +msgid "Set terminal in raw mode (unbuffered)." +msgstr "" + +#: internal/cli/config/set.go:34 internal/cli/config/set.go:35 +msgid "Sets a setting value." +msgstr "" + +#: internal/cli/cli.go:189 +msgid "" +"Sets the default data directory (Arduino CLI will look for configuration " +"file in this directory)." +msgstr "" + +#: internal/cli/board/attach.go:37 +msgid "" +"Sets the default values for port and FQBN. If no port, FQBN or programmer " +"are specified, the current default port, FQBN and programmer are displayed." +msgstr "" + +#: internal/cli/daemon/daemon.go:93 +msgid "Sets the maximum message size in bytes the daemon can receive" +msgstr "" + +#: internal/cli/config/init.go:60 internal/cli/config/init.go:61 +msgid "Sets where to save the configuration file." +msgstr "" + +#: internal/cli/monitor/monitor.go:331 +msgid "Setting" +msgstr "" + +#: internal/cli/cli.go:101 +msgid "Should show help message, but it is available only in TEXT mode." +msgstr "" + +#: internal/cli/core/search.go:48 +msgid "Show all available core versions." +msgstr "" + +#: internal/cli/monitor/monitor.go:77 +msgid "Show all the settings of the communication port." +msgstr "" + +#: internal/cli/board/listall.go:50 internal/cli/board/search.go:48 +msgid "Show also boards marked as 'hidden' in the platform" +msgstr "" + +#: internal/cli/arguments/show_properties.go:60 +msgid "" +"Show build properties. The properties are expanded, use \"--show-" +"properties=unexpanded\" if you want them exactly as they are defined." +msgstr "" + +#: internal/cli/board/details.go:52 +msgid "Show full board details" +msgstr "" + +#: internal/cli/board/details.go:43 +msgid "" +"Show information about a board, in particular if the board has options to be" +" specified in the FQBN." +msgstr "" + +#: internal/cli/lib/search.go:97 +msgid "Show library names only." +msgstr "" + +#: internal/cli/board/details.go:53 +msgid "Show list of available programmers" +msgstr "" + +#: internal/cli/debug/debug.go:73 +msgid "" +"Show metadata about the debug session instead of starting the debugger." +msgstr "" + +#: internal/cli/update/update.go:45 +msgid "Show outdated cores and libraries after index update" +msgstr "" + +#: internal/cli/lib/list.go:40 +msgid "Shows a list of installed libraries." +msgstr "" + +#: internal/cli/lib/list.go:41 +msgid "" +"Shows a list of installed libraries.\n" +"\n" +"If the LIBNAME parameter is specified the listing is limited to that specific\n" +"library. By default the libraries provided as built-in by platforms/core are\n" +"not listed, they can be listed by adding the --all flag." +msgstr "" + +#: internal/cli/core/list.go:37 internal/cli/core/list.go:38 +msgid "Shows the list of installed platforms." +msgstr "" + +#: internal/cli/lib/examples.go:44 +msgid "Shows the list of the examples for libraries." +msgstr "" + +#: internal/cli/lib/examples.go:45 +msgid "" +"Shows the list of the examples for libraries. A name may be given as " +"argument to search a specific library." +msgstr "" + +#: internal/cli/version/version.go:37 +msgid "" +"Shows the version number of Arduino CLI which is installed on your system." +msgstr "" + +#: internal/cli/version/version.go:36 +msgid "Shows version number of Arduino CLI." +msgstr "" + +#: internal/cli/board/details.go:189 +msgid "Size (bytes):" +msgstr "" + +#: commands/service_compile.go:286 +msgid "" +"Sketch cannot be located in build path. Please specify a different build " +"path" +msgstr "" + +#: internal/cli/sketch/new.go:98 +msgid "Sketch created in: %s" +msgstr "" + +#: internal/cli/arguments/profiles.go:33 +msgid "Sketch profile to use" +msgstr "" + +#: internal/arduino/builder/sizer.go:193 +msgid "Sketch too big; see %[1]s for tips on reducing it." +msgstr "" + +#: internal/arduino/builder/sizer.go:160 +msgid "" +"Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" +" bytes." +msgstr "" + +#: internal/cli/feedback/warn_deprecated.go:39 +msgid "" +"Sketches with .pde extension are deprecated, please rename the following " +"files to .ino:" +msgstr "" + +#: internal/arduino/builder/linker.go:31 +msgid "Skip linking of final executable." +msgstr "" + +#: commands/service_upload.go:508 +msgid "Skipping 1200-bps touch reset: no serial port selected!" +msgstr "" + +#: internal/arduino/builder/archive_compiled_files.go:28 +msgid "Skipping archive creation of: %[1]s" +msgstr "" + +#: internal/arduino/builder/compilation.go:184 +msgid "Skipping compile of: %[1]s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:414 +msgid "Skipping dependencies detection for precompiled library %[1]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 +msgid "Skipping platform configuration." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 +msgid "Skipping pre_uninstall script." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 +msgid "Skipping tool configuration." +msgstr "" + +#: internal/arduino/builder/recipe.go:48 +msgid "Skipping: %[1]s" +msgstr "" + +#: commands/instances.go:634 +msgid "Some indexes could not be updated." +msgstr "" + +#: internal/cli/core/upgrade.go:141 +msgid "Some upgrades failed, please check the output for details." +msgstr "" + +#: internal/cli/daemon/daemon.go:78 +msgid "The TCP port the daemon will listen to" +msgstr "" + +#: internal/cli/cli.go:177 +msgid "The command output format, can be: %s" +msgstr "" + +#: internal/cli/cli.go:187 +msgid "The custom config file (if not specified the default will be used)." +msgstr "" + +#: internal/cli/compile/compile.go:93 +msgid "" +"The flag --build-cache-path has been deprecated. Please use just --build-" +"path alone or configure the build cache path in the Arduino CLI settings." +msgstr "" + +#: internal/cli/daemon/daemon.go:103 +msgid "The flag --debug-file must be used with --debug." +msgstr "" + +#: internal/cli/debug/debug_check.go:94 +msgid "The given board/programmer configuration does NOT support debugging." +msgstr "" + +#: internal/cli/debug/debug_check.go:92 +msgid "The given board/programmer configuration supports debugging." +msgstr "" + +#: commands/cmderrors/cmderrors.go:876 +msgid "The instance is no longer valid and needs to be reinitialized" +msgstr "" + +#: internal/cli/config/add.go:57 +msgid "" +"The key '%[1]v' is not a list of items, can't add to it.\n" +"Maybe use '%[2]s'?" +msgstr "" + +#: internal/cli/config/remove.go:57 +msgid "" +"The key '%[1]v' is not a list of items, can't remove from it.\n" +"Maybe use '%[2]s'?" +msgstr "" + +#: commands/cmderrors/cmderrors.go:858 +msgid "The library %s has multiple installations:" +msgstr "" + +#: internal/cli/compile/compile.go:118 +msgid "" +"The name of the custom encryption key to use to encrypt a binary during the " +"compile process. Used only by the platforms that support it." +msgstr "" + +#: internal/cli/compile/compile.go:116 +msgid "" +"The name of the custom signing key to use to sign a binary during the " +"compile process. Used only by the platforms that support it." +msgstr "" + +#: internal/cli/cli.go:174 +msgid "The output format for the logs, can be: %s" +msgstr "" + +#: internal/cli/compile/compile.go:114 +msgid "" +"The path of the dir to search for the custom keys to sign and encrypt a " +"binary. Used only by the platforms that support it." +msgstr "" + +#: internal/arduino/builder/libraries.go:152 +msgid "The platform does not support '%[1]s' for precompiled libraries." +msgstr "" + +#: internal/cli/lib/upgrade.go:36 +msgid "" +"This command upgrades an installed library to the latest available version. " +"Multiple libraries can be passed separated by a space. If no arguments are " +"provided, the command will upgrade all the installed libraries where an " +"update is available." +msgstr "" + +#: internal/cli/outdated/outdated.go:42 +msgid "" +"This commands shows a list of installed cores and/or libraries\n" +"that can be upgraded. If nothing needs to be updated the output is empty." +msgstr "" + +#: internal/cli/monitor/monitor.go:80 +msgid "Timestamp each incoming line." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 +msgid "Tool %s already installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 +msgid "Tool %s uninstalled" +msgstr "" + +#: commands/service_debug.go:277 +msgid "Toolchain '%s' is not supported" +msgstr "" + +#: internal/cli/debug/debug.go:235 +msgid "Toolchain path" +msgstr "" + +#: internal/cli/debug/debug.go:236 +msgid "Toolchain prefix" +msgstr "" + +#: internal/cli/debug/debug.go:234 +msgid "Toolchain type" +msgstr "" + +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +msgid "Try running %s" +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:63 +msgid "Turns on verbose mode." +msgstr "" + +#: internal/cli/board/list.go:104 internal/cli/board/list.go:142 +msgid "Type" +msgstr "" + +#: internal/cli/lib/search.go:209 +msgid "Types: %s" +msgstr "" + +#: internal/cli/board/details.go:191 +msgid "URL:" +msgstr "" + +#: internal/arduino/builder/core.go:166 +msgid "" +"Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" +msgstr "" + +#: internal/cli/configuration/configuration.go:95 +msgid "Unable to get Documents Folder: %v" +msgstr "" + +#: internal/cli/configuration/configuration.go:70 +msgid "Unable to get Local App Data Folder: %v" +msgstr "" + +#: internal/cli/configuration/configuration.go:58 +#: internal/cli/configuration/configuration.go:83 +msgid "Unable to get user home dir: %v" +msgstr "" + +#: internal/cli/cli.go:252 +msgid "Unable to open file for logging: %s" +msgstr "" + +#: commands/instances.go:563 +msgid "Unable to parse URL" +msgstr "" + +#: commands/service_library_uninstall.go:71 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 +msgid "Uninstalling %s" +msgstr "" + +#: commands/service_platform_uninstall.go:99 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 +msgid "Uninstalling %s, tool is no more required" +msgstr "" + +#: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 +msgid "" +"Uninstalls one or more cores and corresponding tool dependencies if no " +"longer used." +msgstr "" + +#: internal/cli/lib/uninstall.go:36 internal/cli/lib/uninstall.go:37 +msgid "Uninstalls one or more libraries." +msgstr "" + +#: internal/cli/board/list.go:174 +msgid "Unknown" +msgstr "" + +#: commands/cmderrors/cmderrors.go:183 +msgid "Unknown FQBN" +msgstr "" + +#: internal/cli/update/update.go:37 +msgid "Updates the index of cores and libraries" +msgstr "" + +#: internal/cli/update/update.go:38 +msgid "Updates the index of cores and libraries to the latest versions." +msgstr "" + +#: internal/cli/core/update_index.go:36 +msgid "Updates the index of cores to the latest version." +msgstr "" + +#: internal/cli/core/update_index.go:35 +msgid "Updates the index of cores." +msgstr "" + +#: internal/cli/lib/update_index.go:36 +msgid "Updates the libraries index to the latest version." +msgstr "" + +#: internal/cli/lib/update_index.go:35 +msgid "Updates the libraries index." +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 +msgid "Upgrade doesn't accept parameters with version" +msgstr "" + +#: internal/cli/upgrade/upgrade.go:38 +msgid "Upgrades installed cores and libraries to latest version." +msgstr "" + +#: internal/cli/upgrade/upgrade.go:37 +msgid "Upgrades installed cores and libraries." +msgstr "" + +#: internal/cli/lib/upgrade.go:35 +msgid "Upgrades installed libraries." +msgstr "" + +#: internal/cli/core/upgrade.go:39 internal/cli/core/upgrade.go:40 +msgid "Upgrades one or all installed platforms to the latest version." +msgstr "" + +#: internal/cli/upload/upload.go:56 +msgid "Upload Arduino sketches." +msgstr "" + +#: internal/cli/upload/upload.go:57 +msgid "" +"Upload Arduino sketches. This does NOT compile the sketch prior to upload." +msgstr "" + +#: internal/cli/arguments/port.go:44 +msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" +msgstr "" + +#: commands/service_upload.go:532 +msgid "Upload port found on %s" +msgstr "" + +#: internal/cli/arguments/port.go:48 +msgid "Upload port protocol, e.g: serial" +msgstr "" + +#: internal/cli/compile/compile.go:123 +msgid "Upload the binary after the compilation." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:49 +msgid "Upload the bootloader on the board using an external programmer." +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:48 +msgid "Upload the bootloader." +msgstr "" + +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +msgid "" +"Uploading to specified board using %s protocol requires the following info:" +msgstr "" + +#: internal/cli/config/init.go:160 +msgid "" +"Urls cannot contain commas. Separate multiple urls exported as env var with a space:\n" +"%s" +msgstr "" + +#: internal/cli/usage.go:22 +msgid "Usage:" +msgstr "" + +#: internal/cli/usage.go:29 +msgid "Use %s for more information about a command." +msgstr "" + +#: internal/cli/compile/compile.go:456 +msgid "Used library" +msgstr "" + +#: internal/cli/compile/compile.go:471 +msgid "Used platform" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:157 +msgid "Used: %[1]s" +msgstr "" + +#: commands/service_compile.go:361 +msgid "Using board '%[1]s' from platform in folder: %[2]s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:351 +msgid "Using cached library dependencies for file: %[1]s" +msgstr "" + +#: commands/service_compile.go:362 +msgid "Using core '%[1]s' from platform in folder: %[2]s" +msgstr "" + +#: internal/cli/monitor/monitor.go:256 +msgid "Using default monitor configuration for board: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:258 +msgid "" +"Using generic monitor configuration.\n" +"WARNING: Your board may require different settings to work!\n" +msgstr "" + +#: internal/arduino/builder/libraries.go:313 +msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" +msgstr "" + +#: internal/arduino/builder/libraries.go:307 +msgid "Using library %[1]s in folder: %[2]s %[3]s" +msgstr "" + +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 +msgid "Using precompiled core: %[1]s" +msgstr "" + +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 +msgid "Using precompiled library in %[1]s" +msgstr "" + +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 +msgid "Using previously compiled file: %[1]s" +msgstr "" + +#: internal/cli/core/download.go:35 internal/cli/core/install.go:37 +msgid "VERSION" +msgstr "" + +#: internal/cli/lib/check_deps.go:38 internal/cli/lib/install.go:45 +msgid "VERSION_NUMBER" +msgstr "" + +#: internal/cli/monitor/monitor.go:331 +msgid "Values" +msgstr "" + +#: internal/cli/burnbootloader/burnbootloader.go:62 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 +msgid "Verify uploaded binary after the upload." +msgstr "" + +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/core/search.go:117 +msgid "Version" +msgstr "" + +#: internal/cli/lib/search.go:210 +msgid "Versions: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 +msgid "WARNING cannot configure platform: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 +msgid "WARNING cannot configure tool: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 +msgid "WARNING cannot run pre_uninstall script: %s" +msgstr "" + +#: internal/cli/compile/compile.go:333 +msgid "WARNING: The sketch is compiled using one or more custom libraries." +msgstr "" + +#: internal/arduino/builder/libraries.go:284 +msgid "" +"WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " +"incompatible with your current board which runs on %[3]s architecture(s)." +msgstr "" + +#: commands/service_upload.go:521 +msgid "Waiting for upload port..." +msgstr "" + +#: commands/service_compile.go:367 +msgid "" +"Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" +msgstr "" + +#: internal/cli/lib/search.go:203 +msgid "Website: %s" +msgstr "" + +#: internal/cli/config/init.go:45 +msgid "Writes current configuration to a configuration file." +msgstr "" + +#: internal/cli/config/init.go:48 +msgid "" +"Writes current configuration to the configuration file in the data " +"directory." +msgstr "" + +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 +msgid "You cannot use the %s flag while compiling with a profile." +msgstr "" + +#: internal/arduino/resources/checksums.go:79 +msgid "archive hash differs from hash in index" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:188 +msgid "archive is not valid: multiple files found in zip file top level" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:191 +msgid "archive is not valid: no files found in zip file top level" +msgstr "" + +#: internal/cli/sketch/archive.go:36 +msgid "archivePath" +msgstr "" + +#: internal/arduino/builder/internal/preprocessor/arduino_preprocessor.go:64 +msgid "arduino-preprocessor pattern is missing" +msgstr "" + +#: internal/cli/feedback/stdio.go:37 +msgid "available only in text format" +msgstr "" + +#: internal/cli/lib/search.go:84 +msgid "basic search for \"audio\"" +msgstr "" + +#: internal/cli/lib/search.go:89 +msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" +msgstr "" + +#: commands/service_upload.go:792 +msgid "binary file not found in %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:315 +msgid "board %s not found" +msgstr "" + +#: internal/cli/board/listall.go:38 internal/cli/board/search.go:37 +msgid "boardname" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:191 +msgid "built-in libraries directory not set" +msgstr "" + +#: internal/arduino/cores/status.go:132 internal/arduino/cores/status.go:159 +msgid "can't find latest release of %s" +msgstr "" + +#: commands/instances.go:273 +msgid "can't find latest release of tool %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:712 +msgid "can't find pattern for discovery with id %s" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:93 +msgid "candidates" +msgstr "" + +#: commands/service_upload.go:738 commands/service_upload.go:745 +msgid "cannot execute upload tool: %s" +msgstr "" + +#: internal/arduino/resources/install.go:48 +msgid "checking local archive integrity" +msgstr "" + +#: internal/arduino/builder/build_options_manager.go:111 +#: internal/arduino/builder/build_options_manager.go:114 +msgid "cleaning build path" +msgstr "" + +#: internal/cli/cli.go:90 +msgid "command" +msgstr "" + +#: internal/arduino/monitor/monitor.go:149 +msgid "command '%[1]s' failed: %[2]s" +msgstr "" + +#: internal/arduino/monitor/monitor.go:146 +#: internal/arduino/monitor/monitor.go:152 +msgid "communication out of sync, expected '%[1]s', received '%[2]s'" +msgstr "" + +#: internal/arduino/resources/checksums.go:75 +msgid "computing hash: %s" +msgstr "" + +#: pkg/fqbn/fqbn.go:83 +msgid "config key %s contains an invalid character" +msgstr "" + +#: pkg/fqbn/fqbn.go:87 +msgid "config value %s contains an invalid character" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:141 +msgid "copying library to destination directory:" +msgstr "" + +#: commands/service_upload.go:864 +msgid "could not find a valid build artifact" +msgstr "" + +#: commands/service_platform_install.go:95 +msgid "could not overwrite" +msgstr "" + +#: commands/service_library_install.go:191 +msgid "could not remove old library" +msgstr "" + +#: internal/arduino/sketch/yaml.go:80 internal/arduino/sketch/yaml.go:84 +#: internal/arduino/sketch/yaml.go:88 +msgid "could not update sketch project file" +msgstr "" + +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 +msgid "creating core cache folder: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 +msgid "creating installed.json in %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 +msgid "creating temp dir for extraction: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:199 +msgid "data section exceeds available space in board" +msgstr "" + +#: commands/service_library_resolve_deps.go:86 +msgid "dependency '%s' is not available" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:94 +msgid "destination dir %s already exists, cannot install" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:138 +msgid "destination directory already exists" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:294 +msgid "directory doesn't exist: %s" +msgstr "" + +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:204 +msgid "discovery %[1]s process not started" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:644 +msgid "discovery %s not found" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:648 +msgid "discovery %s not installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:713 +msgid "discovery release not found: %s" +msgstr "" + +#: internal/cli/core/download.go:40 internal/cli/core/install.go:42 +msgid "download a specific version (in this case 1.6.9)." +msgstr "" + +#: internal/cli/core/download.go:39 internal/cli/core/install.go:40 +msgid "download the latest version of Arduino SAMD core." +msgstr "" + +#: internal/cli/feedback/rpc_progress.go:74 +msgid "downloaded" +msgstr "" + +#: commands/instances.go:56 +msgid "downloading %[1]s tool: %[2]s" +msgstr "" + +#: pkg/fqbn/fqbn.go:63 +msgid "empty board identifier" +msgstr "" + +#: internal/arduino/sketch/sketch.go:93 +msgid "error loading sketch project file:" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:615 +msgid "error opening %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:250 +msgid "error parsing version constraints" +msgstr "" + +#: commands/service_board_identify.go:203 +msgid "error processing response from server" +msgstr "" + +#: commands/service_board_identify.go:183 +msgid "error querying Arduino Cloud Api" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:179 +msgid "extracting archive" +msgstr "" + +#: internal/arduino/resources/install.go:77 +msgid "extracting archive: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:143 +msgid "failed to compute hash of file \"%s\"" +msgstr "" + +#: commands/service_board_identify.go:178 +msgid "failed to initialize http client" +msgstr "" + +#: internal/arduino/resources/checksums.go:98 +msgid "fetched archive size differs from size specified in index" +msgstr "" + +#: internal/arduino/resources/install.go:132 +msgid "files in archive must be placed in a subdirectory" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:59 +msgid "finding absolute path of %s" +msgstr "" + +#: internal/cli/cli.go:90 +msgid "flags" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:98 +msgid "following symlink %s" +msgstr "" + +#: internal/cli/lib/download.go:40 +msgid "for a specific version." +msgstr "" + +#: internal/cli/lib/check_deps.go:42 internal/cli/lib/download.go:39 +#: internal/cli/lib/install.go:49 +msgid "for the latest version." +msgstr "" + +#: internal/cli/lib/check_deps.go:43 internal/cli/lib/install.go:50 +#: internal/cli/lib/install.go:52 +msgid "for the specific version." +msgstr "" + +#: pkg/fqbn/fqbn.go:68 +msgid "fqbn's field %s contains an invalid character" +msgstr "" + +#: internal/inventory/inventory.go:67 +msgid "generating installation.id" +msgstr "" + +#: internal/inventory/inventory.go:73 +msgid "generating installation.secret" +msgstr "" + +#: internal/arduino/resources/download.go:55 +msgid "getting archive file info: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:93 +msgid "getting archive info: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:66 +#: internal/arduino/resources/checksums.go:89 +#: internal/arduino/resources/download.go:36 +#: internal/arduino/resources/helpers.go:39 +#: internal/arduino/resources/install.go:65 +msgid "getting archive path: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:321 +msgid "getting build properties for board %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:106 +msgid "getting discovery dependencies for platform %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:114 +msgid "getting monitor dependencies for platform %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:99 +msgid "getting tool dependencies for platform %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:149 +msgid "install directory not set" +msgstr "" + +#: commands/instances.go:60 +msgid "installing %[1]s tool: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 +msgid "installing platform %[1]s: %[2]s" +msgstr "" + +#: internal/cli/feedback/terminal.go:38 +msgid "interactive terminal not supported for the '%s' output format" +msgstr "" + +#: internal/arduino/sketch/profiles.go:248 +msgid "invalid '%s' directive" +msgstr "" + +#: internal/arduino/resources/checksums.go:44 +msgid "invalid checksum format: %s" +msgstr "" + +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 +msgid "invalid config option: %s" +msgstr "" + +#: internal/cli/arguments/reference.go:92 +msgid "invalid empty core architecture '%s'" +msgstr "" + +#: internal/cli/arguments/reference.go:69 +msgid "invalid empty core argument" +msgstr "" + +#: internal/cli/arguments/reference.go:89 +msgid "invalid empty core name '%s'" +msgstr "" + +#: internal/cli/arguments/reference.go:74 +msgid "invalid empty core reference '%s'" +msgstr "" + +#: internal/cli/arguments/reference.go:79 +msgid "invalid empty core version: '%s'" +msgstr "" + +#: internal/cli/lib/args.go:49 +msgid "invalid empty library name" +msgstr "" + +#: internal/cli/lib/args.go:54 +msgid "invalid empty library version: %s" +msgstr "" + +#: internal/arduino/cores/board.go:144 +msgid "invalid empty option found" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:265 +#: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 +msgid "invalid git url" +msgstr "" + +#: internal/arduino/resources/checksums.go:48 +msgid "invalid hash '%[1]s': %[2]s" +msgstr "" + +#: internal/cli/arguments/reference.go:86 +msgid "invalid item %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:282 +msgid "invalid library directive:" +msgstr "" + +#: internal/arduino/libraries/libraries_layout.go:67 +msgid "invalid library layout: %s" +msgstr "" + +#: internal/arduino/libraries/libraries_location.go:90 +msgid "invalid library location: %s" +msgstr "" + +#: internal/arduino/libraries/loader.go:140 +msgid "invalid library: no header files found" +msgstr "" + +#: internal/arduino/cores/board.go:147 +msgid "invalid option '%s'" +msgstr "" + +#: internal/cli/arguments/show_properties.go:52 +msgid "invalid option '%s'." +msgstr "" + +#: internal/inventory/inventory.go:92 +msgid "invalid path creating config dir: %[1]s error" +msgstr "" + +#: internal/inventory/inventory.go:98 +msgid "invalid path writing inventory file: %[1]s error" +msgstr "" + +#: internal/arduino/sketch/profiles.go:252 +msgid "invalid platform identifier" +msgstr "" + +#: internal/arduino/sketch/profiles.go:262 +msgid "invalid platform index URL:" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:326 +msgid "invalid pluggable monitor reference: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:176 +msgid "invalid port configuration value for %s: %s" +msgstr "" + +#: internal/cli/monitor/monitor.go:182 +msgid "invalid port configuration: %s=%s" +msgstr "" + +#: commands/service_upload.go:725 +msgid "invalid recipe '%[1]s': %[2]s" +msgstr "" + +#: commands/service_sketch_new.go:86 +msgid "" +"invalid sketch name \"%[1]s\": the first character must be alphanumeric or " +"\"_\", the following ones can also contain \"-\" and \".\". The last one " +"cannot be \".\"." +msgstr "" + +#: internal/arduino/cores/board.go:151 +msgid "invalid value '%[1]s' for option '%[2]s'" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:231 +msgid "invalid version directory %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:284 +msgid "invalid version:" +msgstr "" + +#: internal/cli/core/search.go:39 +msgid "keywords" +msgstr "" + +#: internal/cli/lib/search.go:87 +msgid "libraries authored by Daniel Garcia" +msgstr "" + +#: internal/cli/lib/search.go:88 +msgid "libraries authored only by Adafruit with \"gfx\" in their Name" +msgstr "" + +#: internal/cli/lib/search.go:90 +msgid "libraries that depend on at least \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:91 +msgid "libraries that depend only on \"IRremote\"" +msgstr "" + +#: internal/cli/lib/search.go:85 +msgid "libraries with \"buzzer\" in the Name field" +msgstr "" + +#: internal/cli/lib/search.go:86 +msgid "libraries with a Name exactly matching \"pcf8523\"" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:126 +msgid "library %s already installed" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:331 +msgid "library not valid" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:255 +#: internal/arduino/cores/packagemanager/loader.go:268 +#: internal/arduino/cores/packagemanager/loader.go:276 +msgid "loading %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:314 +msgid "loading boards: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 +msgid "loading json index file %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:224 +msgid "loading library from %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/loader.go:55 +msgid "loading library.properties: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:208 +#: internal/arduino/cores/packagemanager/loader.go:236 +msgid "loading platform release %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:195 +msgid "loading platform.txt" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:47 +msgid "loading required platform %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:63 +msgid "loading required tool %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:590 +msgid "loading tool release in %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:188 +msgid "looking for boards.txt in %s" +msgstr "" + +#: commands/service_upload.go:807 +msgid "looking for build artifacts" +msgstr "" + +#: internal/arduino/sketch/sketch.go:77 +msgid "main file missing from sketch: %s" +msgstr "" + +#: internal/arduino/sketch/profiles.go:246 +msgid "missing '%s' directive" +msgstr "" + +#: internal/arduino/resources/checksums.go:40 +msgid "missing checksum for: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:429 +msgid "missing package %[1]s referenced by board %[2]s" +msgstr "" + +#: internal/cli/core/upgrade.go:101 +msgid "missing package index for %s, future updates cannot be guaranteed" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:434 +msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:439 +msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" +msgstr "" + +#: internal/arduino/resources/index.go:153 +msgid "missing signature" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:724 +msgid "monitor release not found: %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:197 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 +msgid "moving extracted archive to destination dir: %s" +msgstr "" + +#: commands/service_upload.go:859 +msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" +msgstr "" + +#: internal/arduino/sketch/sketch.go:69 +msgid "multiple main sketch files found (%[1]v, %[2]v)" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 +msgid "" +"no compatible version of %[1]s tools found for the current os, try " +"contacting %[2]s" +msgstr "" + +#: commands/service_board_list.go:106 +msgid "no instance specified" +msgstr "" + +#: commands/service_upload.go:814 +msgid "no sketch or build directory/file specified" +msgstr "" + +#: internal/arduino/sketch/sketch.go:56 +msgid "no such file or directory" +msgstr "" + +#: internal/arduino/resources/install.go:135 +msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" +msgstr "" + +#: commands/service_upload.go:720 +msgid "no upload port provided" +msgstr "" + +#: internal/arduino/sketch/sketch.go:279 +msgid "no valid sketch found in %[1]s: missing %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:128 +msgid "no versions available for the current OS, try contacting %s" +msgstr "" + +#: pkg/fqbn/fqbn.go:53 +msgid "not an FQBN: %s" +msgstr "" + +#: internal/cli/feedback/terminal.go:52 +msgid "not running in a terminal" +msgstr "" + +#: internal/arduino/resources/checksums.go:71 +#: internal/arduino/resources/install.go:69 +msgid "opening archive file: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:224 +msgid "opening boards.txt" +msgstr "" + +#: internal/arduino/security/signatures.go:82 +msgid "opening signature file: %s" +msgstr "" + +#: internal/arduino/security/signatures.go:78 +msgid "opening target file: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:76 +#: internal/arduino/cores/status.go:97 internal/arduino/cores/status.go:122 +#: internal/arduino/cores/status.go:149 +msgid "package %s not found" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:497 +msgid "package '%s' not found" +msgstr "" + +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 +msgid "parsing fqbn: %s" +msgstr "" + +#: internal/arduino/libraries/librariesindex/json.go:70 +msgid "parsing library_index.json: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:179 +msgid "path is not a platform directory: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:80 +msgid "platform %[1]s not found in package %[2]s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:308 +msgid "platform %s is not installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:92 +msgid "platform is not available for your OS" +msgstr "" + +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 +#: internal/arduino/cores/packagemanager/loader.go:420 +msgid "platform not installed" +msgstr "" + +#: internal/cli/compile/compile.go:142 +msgid "please use --build-property instead." +msgstr "" + +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:133 +msgid "pluggable discovery already added: %s" +msgstr "" + +#: internal/cli/board/attach.go:35 +msgid "port" +msgstr "" + +#: internal/cli/arguments/port.go:125 +msgid "port not found: %[1]s %[2]s" +msgstr "" + +#: internal/cli/board/attach.go:35 +msgid "programmer" +msgstr "" + +#: internal/arduino/monitor/monitor.go:235 +msgid "protocol version not supported: requested %[1]d, got %[2]d" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:213 +msgid "reading dir %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/libraries/loader.go:199 +msgid "reading directory %[1]s content" +msgstr "" + +#: internal/arduino/cores/packagemanager/loader.go:69 +#: internal/arduino/cores/packagemanager/loader.go:151 +#: internal/arduino/cores/packagemanager/loader.go:218 +#: internal/arduino/cores/packagemanager/loader.go:582 +msgid "reading directory %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:304 +msgid "reading directory %s content" +msgstr "" + +#: internal/arduino/builder/sketch.go:83 +msgid "reading file %[1]s: %[2]s" +msgstr "" + +#: internal/arduino/sketch/sketch.go:198 +msgid "reading files" +msgstr "" + +#: internal/arduino/libraries/librariesresolver/cpp.go:90 +msgid "reading lib headers: %s" +msgstr "" + +#: internal/arduino/libraries/libraries.go:115 +msgid "reading library headers" +msgstr "" + +#: internal/arduino/libraries/libraries.go:227 +msgid "reading library source directory: %s" +msgstr "" + +#: internal/arduino/libraries/librariesindex/json.go:64 +msgid "reading library_index.json: %s" +msgstr "" + +#: internal/arduino/resources/install.go:125 +msgid "reading package root dir: %s" +msgstr "" + +#: internal/arduino/sketch/sketch.go:108 +msgid "reading sketch files" +msgstr "" + +#: commands/service_upload.go:714 +msgid "recipe not found '%s'" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:573 +msgid "release %[1]s not found for tool %[2]s" +msgstr "" + +#: internal/arduino/cores/status.go:91 internal/arduino/cores/status.go:115 +#: internal/arduino/cores/status.go:142 +msgid "release cannot be nil" +msgstr "" + +#: internal/arduino/resources/download.go:46 +msgid "removing corrupted archive file: %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/install.go:152 +msgid "removing library directory: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 +msgid "removing platform files: %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/download.go:87 +msgid "required version %[1]s not found for platform %[2]s" +msgstr "" + +#: internal/arduino/security/signatures.go:74 +msgid "retrieving Arduino public keys: %s" +msgstr "" + +#: internal/arduino/libraries/loader.go:117 +#: internal/arduino/libraries/loader.go:155 +msgid "scanning sketch examples" +msgstr "" + +#: internal/arduino/resources/install.go:83 +msgid "searching package root dir: %s" +msgstr "" + +#: internal/arduino/security/signatures.go:87 +msgid "signature expired: is your system clock set correctly?" +msgstr "" + +#: commands/service_sketch_new.go:78 +msgid "sketch name cannot be empty" +msgstr "" + +#: commands/service_sketch_new.go:91 +msgid "sketch name cannot be the reserved name \"%[1]s\"" +msgstr "" + +#: commands/service_sketch_new.go:81 +msgid "" +"sketch name too long (%[1]d characters). Maximum allowed length is %[2]d" +msgstr "" + +#: internal/arduino/sketch/sketch.go:49 internal/arduino/sketch/sketch.go:54 +msgid "sketch path is not valid" +msgstr "" + +#: internal/cli/board/attach.go:35 internal/cli/sketch/archive.go:36 +msgid "sketchPath" +msgstr "" + +#: internal/arduino/discovery/discoverymanager/discoverymanager.go:208 +msgid "starting discovery %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:117 +msgid "testing archive checksum: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:112 +msgid "testing archive size: %s" +msgstr "" + +#: internal/arduino/resources/checksums.go:106 +msgid "testing if archive is cached: %s" +msgstr "" + +#: internal/arduino/resources/install.go:46 +msgid "testing local archive integrity: %s" +msgstr "" + +#: internal/arduino/builder/sizer.go:194 +msgid "text section exceeds available space in board" +msgstr "" + +#: internal/arduino/builder/internal/detector/detector.go:214 +#: internal/arduino/builder/internal/preprocessor/ctags.go:70 +msgid "the compilation database may be incomplete or inaccurate" +msgstr "" + +#: commands/service_board_identify.go:190 +msgid "the server responded with status %s" +msgstr "" + +#: internal/arduino/monitor/monitor.go:139 +msgid "timeout waiting for message" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 +msgid "tool %s is not managed by package manager" +msgstr "" + +#: internal/arduino/cores/status.go:101 internal/arduino/cores/status.go:126 +#: internal/arduino/cores/status.go:153 +msgid "tool %s not found" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:523 +msgid "tool '%[1]s' not found in package '%[2]s'" +msgstr "" + +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 +msgid "tool not installed" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 +msgid "tool release not found: %s" +msgstr "" + +#: internal/arduino/cores/status.go:105 +msgid "tool version %s not found" +msgstr "" + +#: commands/service_library_install.go:93 +msgid "" +"two different versions of the library %[1]s are required: %[2]s and %[3]s" +msgstr "" + +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 +msgid "unable to compute relative path to the sketch for the item" +msgstr "" + +#: internal/arduino/builder/sketch.go:45 +msgid "unable to create a folder to save the sketch" +msgstr "" + +#: internal/arduino/builder/sketch.go:126 +msgid "unable to create the folder containing the item" +msgstr "" + +#: internal/cli/config/get.go:85 +msgid "unable to marshal config to YAML: %v" +msgstr "" + +#: internal/arduino/builder/sketch.go:164 +msgid "unable to read contents of the destination item" +msgstr "" + +#: internal/arduino/builder/sketch.go:137 +msgid "unable to read contents of the source item" +msgstr "" + +#: internal/arduino/builder/sketch.go:147 +msgid "unable to write to destination file" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:296 +msgid "unknown package %s" +msgstr "" + +#: internal/arduino/cores/packagemanager/package_manager.go:303 +msgid "unknown platform %s:%s" +msgstr "" + +#: internal/arduino/sketch/sketch.go:137 +msgid "unknown sketch file extension '%s'" +msgstr "" + +#: internal/arduino/resources/checksums.go:61 +msgid "unsupported hash algorithm: %s" +msgstr "" + +#: internal/cli/core/upgrade.go:44 +msgid "upgrade arduino:samd to the latest version" +msgstr "" + +#: internal/cli/core/upgrade.go:42 +msgid "upgrade everything to the latest version" +msgstr "" + +#: commands/service_upload.go:760 +msgid "uploading error: %s" +msgstr "" + +#: internal/arduino/libraries/librariesmanager/librariesmanager.go:189 +msgid "user directory not set" +msgstr "" + +#: internal/cli/feedback/terminal.go:94 +msgid "user input not supported for the '%s' output format" +msgstr "" + +#: internal/cli/feedback/terminal.go:97 +msgid "user input not supported in non interactive mode" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:175 +msgid "version %s not available for this operating system" +msgstr "" + +#: internal/arduino/cores/packagemanager/profiles.go:154 +msgid "version %s not found" +msgstr "" + +#: commands/service_board_identify.go:208 +msgid "wrong format in server response" +msgstr "" diff --git a/internal/locales/data/zh.po b/internal/locales/data/zh.po index 28060738b9f..8ab6fdd9380 100644 --- a/internal/locales/data/zh.po +++ b/internal/locales/data/zh.po @@ -13,7 +13,7 @@ msgstr "" "Language: zh\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 提交:%[4]s 日期:%[5]s" @@ -29,7 +29,7 @@ msgstr "%[1]s 无效,全部重建" msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s 是必需的,但当前已安装 %[2]s。" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s 模式丢失" @@ -37,11 +37,11 @@ msgstr "%[1]s 模式丢失" msgid "%s already downloaded" msgstr "%s 已经下载" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s 已安装" @@ -54,7 +54,7 @@ msgstr "%s 已安装" msgid "%s is not a directory" msgstr "%s 不是目录" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s 不是由软件包管理器管理的" @@ -66,7 +66,7 @@ msgstr "" msgid "%s must be installed." msgstr "%s 必须安装" -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s 模式丢失" @@ -75,7 +75,7 @@ msgstr "%s 模式丢失" msgid "'%s' has an invalid signature" msgstr "‘%s’ 的签名无效" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -85,7 +85,7 @@ msgstr "‘build.core’ 和 ‘build.variant’ 指的是不同的平台:%[1] msgid "(hidden)" msgstr "(隐藏)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(遗留)" @@ -146,7 +146,7 @@ msgstr "所有平台都是最新的。" msgid "All the cores are already at the latest version" msgstr "所有内核都是最新版本" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "已经安装 %s" @@ -174,7 +174,7 @@ msgstr "架构:%s" msgid "Archive already exists" msgstr "存档已经存在" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "存档构建代码(缓存):%[1]s" @@ -259,11 +259,11 @@ msgstr "开发板名:" msgid "Board version:" msgstr "开发板版本:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "已指定引导加载程序文件,缺少:%[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -277,13 +277,13 @@ msgstr "无法新建 %s 数据目录" msgid "Can't create sketch" msgstr "无法新建项目" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "无法下载库" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的依赖" @@ -303,11 +303,11 @@ msgstr "不能同时使用以下参数:%s" msgid "Can't write debug log: %s" msgstr "无法写入调试日志:%s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "无法新建构建缓存目录" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "无法新建构建目录" @@ -345,15 +345,15 @@ msgstr "找不到绝对路径:%v" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "无法从配置中取得键值对 %[1]s:%[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "无法安装平台" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "无法安装 %s 工具 " -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "无法执行端口重置:%s" @@ -362,7 +362,7 @@ msgstr "无法执行端口重置:%s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "无法升级平台" @@ -400,7 +400,7 @@ msgid "" "a change." msgstr "命令保持运行,并在发生更改时打印已连接开发板的列表。" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已编译项目" @@ -408,19 +408,19 @@ msgstr "在 %s 中找不到已编译项目" msgid "Compiles Arduino sketches." msgstr "编译 Arduino 项目" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "正在编译内核。。。" -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "正在编译库。。。" -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "正在编译 “%[1]s” 库" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "正在编译项目。。。" @@ -443,11 +443,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "用于通信的端口设置格式为:<ID>=<value>[,<ID>=<value>]……" -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "配置平台。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "配置工具。" @@ -463,19 +463,19 @@ msgstr "" msgid "Core" msgstr "内核" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "无法通过 HTTP 连接" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "无法新建索引目录" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "无法深度缓存内核构建:%[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "无法确定程序大小" @@ -487,7 +487,7 @@ msgstr "无法获得当前工作目录:%v" msgid "Create a new Sketch" msgstr "新建项目" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "从构建中创建并打印一个配置文件的内容。" @@ -501,7 +501,7 @@ msgid "" "directory with the current configuration settings." msgstr "用当前的配置创建或更新数据目录或自定义目录中的配置文件。" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -575,7 +575,7 @@ msgstr "依赖:%s" msgid "Description" msgstr "说明" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "正在检测使用的库。。。" @@ -635,7 +635,7 @@ msgstr "如果父进程终止,则守护进程不终止。" msgid "Do not try to update library dependencies if already installed." msgstr "如果已经安装了库依赖项,请不要尝试更新它们。" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "正在下载 %s" @@ -643,21 +643,21 @@ msgstr "正在下载 %s" msgid "Downloading index signature: %s" msgstr "正在下载 %s 索引签名" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "正在下载 %s 索引" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "正在下载 %s 库" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "正在下载丢失的 %s 工具 " -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "正在下载软件包" @@ -693,7 +693,7 @@ msgstr "输入在存储库上托管的库的 git 地址" msgid "Error adding file to sketch archive" msgstr "将文件添加到项目存档时出错" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中存档构建内核(缓存)时出错:%[2]s" @@ -709,11 +709,11 @@ msgstr "计算相对文件路径时出错" msgid "Error cleaning caches: %v" msgstr "清理缓存出错:%v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "将路径转换为绝对路径时出错:%v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "复制输出 %s 文件时出错" @@ -727,7 +727,7 @@ msgstr "" msgid "Error creating instance: %v" msgstr "新建实例时出错:%v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "新建输出目录时出错" @@ -752,7 +752,7 @@ msgstr "下载 %[1]s 时出错:%[2]v" msgid "Error downloading %s" msgstr "下载 %s 时出错" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下载 ‘%s’ 索引时出错" @@ -760,7 +760,7 @@ msgstr "下载 ‘%s’ 索引时出错" msgid "Error downloading index signature '%s'" msgstr "下载 ‘%s’ 索引签名时出错" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "下载 %s 库时出错" @@ -784,7 +784,7 @@ msgstr "输出编码 JSON 过程时出错:%v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "上传时出错:%v" @@ -793,7 +793,7 @@ msgstr "上传时出错:%v" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "构建时出错:%v" @@ -814,7 +814,7 @@ msgstr "升级时出错:%v" msgid "Error extracting %s" msgstr "提取 %s 时出错" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "查找构建项目时出错" @@ -840,7 +840,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "从 `sketch.yaml` 获取默认端口时出错。检查是否在正确的 sketch 文件夹中,或提供 --port 标志: " -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "获取 %s 库的信息时出错" @@ -876,7 +876,7 @@ msgstr "安装 Git 库时出错:%v" msgid "Error installing Zip Library: %v" msgstr "安装 Zip 库时出错:%v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "安装 %s 库时出错" @@ -920,15 +920,15 @@ msgstr "打开 %s 时出错" msgid "Error opening debug logging file: %s" msgstr "打开调试日志文件出错:%s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "打开源代码覆盖数据文件时出错:%v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 参数时出错:%v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "读取构建目录时出错" @@ -944,7 +944,7 @@ msgstr "解析 %[1]s 的依赖时出错:%[2]s" msgid "Error retrieving core list: %v" msgstr "检索内核列表时出错:%v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "回滚更改时出错:%s" @@ -998,7 +998,7 @@ msgstr "更新库索引时出错:%v" msgid "Error upgrading libraries" msgstr "升级库时出错" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "更新平台时出错:%s" @@ -1011,10 +1011,10 @@ msgstr "验证签名时出错" msgid "Error while detecting libraries included by %[1]s" msgstr "检测 %[1]s 包含的库时出错" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "确定项目大小时出错:%s" @@ -1030,7 +1030,7 @@ msgstr "" msgid "Error: command description is not supported by %v" msgstr "错误:%v 不支持命令说明" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "错误:无效的源代码覆盖了数据文件:%v" @@ -1050,7 +1050,7 @@ msgstr "示例:" msgid "Executable to debug" msgstr "可执行调试" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "应在 %s 目录中编译项目,但它是一个文件" @@ -1064,23 +1064,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "芯片擦除失败" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "编译失败" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "无法烧录引导加载程序" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "新建数据目录失败" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "新建下载文件夹失败" @@ -1100,7 +1100,7 @@ msgstr "未能侦听 TCP 端口:%[1]s。意外错误:%[2]v" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "未能侦听 TCP 端口:%s。地址已被使用。" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "上传失败" @@ -1108,7 +1108,7 @@ msgstr "上传失败" msgid "File:" msgstr "文件:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1172,7 +1172,7 @@ msgstr "已生成脚本" msgid "Generates completion scripts for various shells" msgstr "已为各种 shell 生成脚本" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "生成函数原型。。。" @@ -1184,13 +1184,13 @@ msgstr "取得设定的键值对。" msgid "Global Flags:" msgstr "全局参数:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "全局变量使用 %[1]s 个字节(%[3]s%%)的动态内存。剩下 %[4]s 个字节将被用于局部变量,最大可用值为 %[2]s 字节。" -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全局变量使用 %[1]s 字节的动态内存。" @@ -1208,7 +1208,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "标识属性:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "如果设定,则构建的二进制文件将导出到项目文件夹。" @@ -1235,20 +1235,20 @@ msgstr "在 IDE-Builtin 目录下安装库" msgid "Installed" msgstr "已安装" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "已安装 %s" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "正在安装 %s" -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "正在安装 %s 库" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "正在安装 %s 平台" @@ -1285,7 +1285,7 @@ msgstr "无效的 TCP 地址:缺少端口" msgid "Invalid URL" msgstr "无效的地址" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "无效的附加地址:%v" @@ -1299,19 +1299,19 @@ msgstr "" msgid "Invalid argument passed: %v" msgstr "传递的参数无效:%v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "无效的构建属性" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "无效的数据大小正则表达式:%s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "无效的 eeprom 大小正则表达式:%s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "无效的网站主页: %s" @@ -1331,11 +1331,11 @@ msgstr "无效的库" msgid "Invalid logging level: %s" msgstr "" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" @@ -1343,7 +1343,7 @@ msgstr "无效的 ‘%[1]s’ 网络代理: %[2]s" msgid "Invalid output format: %s" msgstr "无效的输出格式:%s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "%s 中的软件包索引无效" @@ -1351,7 +1351,7 @@ msgstr "%s 中的软件包索引无效" msgid "Invalid parameter %s: version not allowed" msgstr "无效 %s 参数:版本不允许" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "无效的pid值:‘%s’" @@ -1359,15 +1359,15 @@ msgstr "无效的pid值:‘%s’" msgid "Invalid profile" msgstr "无效的配置文件" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法无效" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "无效的大小正则表达式:%s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "" @@ -1375,11 +1375,11 @@ msgstr "" msgid "Invalid version" msgstr "无效的版本" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "无效的 vid 值:‘%s’" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1402,11 +1402,11 @@ msgstr "库_名" msgid "Latest" msgstr "最新的" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "%[1]s 库已声明为预编译:" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1420,7 +1420,7 @@ msgstr "库 %s 已经是最新版本" msgid "Library %s is not installed" msgstr "%s 库未安装" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "未找到 %s 库" @@ -1437,8 +1437,8 @@ msgstr "库不能同时使用 ‘%[1]s’ 和 ‘%[2]s’ 文件夹。在 ‘%[3 msgid "Library install failed" msgstr "库安装失败" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "已安装的库" @@ -1446,7 +1446,7 @@ msgstr "已安装的库" msgid "License: %s" msgstr "许可证:%s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "将所有内容链接在一起。。。" @@ -1470,7 +1470,7 @@ msgid "" " multiple options." msgstr "用逗号分隔的开发板选项列表。可以对多个选项多次使用。" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1492,8 +1492,8 @@ msgstr "列出所有已连接的开发板。" msgid "Lists cores and libraries that can be upgraded" msgstr "列出可以升级的内核和库" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "正在加载索引文件:%v" @@ -1501,7 +1501,7 @@ msgstr "正在加载索引文件:%v" msgid "Location" msgstr "位置" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "可用内存不足,可能会出现稳定性问题。" @@ -1509,7 +1509,7 @@ msgstr "可用内存不足,可能会出现稳定性问题。" msgid "Maintainer: %s" msgstr "维护者:%s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1552,7 +1552,7 @@ msgstr "找不到编程器" msgid "Missing required upload field: %s" msgstr "缺少必要的上传字段:%s" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "缺少大小正则表达式" @@ -1634,7 +1634,7 @@ msgstr "没有任何平台被安装。" msgid "No platforms matching your search." msgstr "没有与你的搜索匹配的平台。" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "未找到上传端口,使用 %s 作为后备" @@ -1642,7 +1642,7 @@ msgstr "未找到上传端口,使用 %s 作为后备" msgid "No valid dependencies solution found" msgstr "找不到有效的依赖解决方案" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "内存不足;有关减少空间的提示,请参见 %[1]s。" @@ -1672,35 +1672,35 @@ msgstr "开启开发板的通信端口。" msgid "Option:" msgstr "选项:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "可选,可以是:%s。用于告诉 gcc 使用哪个警告级别(-W 参数)。" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "可选,清理构建文件夹并且不使用任何缓存构建。" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "可选,优化编译输出用于调试,而不是发布。" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "可选,禁止几乎所有输出。" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "可选,开启详细模式。" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "可选。 包含一组替换项目源代码的文件的路径。" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1760,17 +1760,17 @@ msgstr "软件包网站:" msgid "Paragraph: %s" msgstr "段落:%s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "路径" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "一个库的集合的路径。可以多次使用,或者可以用逗号分隔条目。" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1780,26 +1780,26 @@ msgstr "单个库的根文件夹的路径。可以多次使用,或者可以用 msgid "Path to the file where logs will be written." msgstr "写入日志的文件的路径。" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已编译文件的路径。如果省略,将在操作系统的默认临时路径中创建目录。" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 端口上执行 1200-bps TOUCH 重置" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "%s 平台已经安装" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "已安装 %s 平台" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1807,7 +1807,7 @@ msgstr "" "在任何已知索引中都找不到 %s 平台\n" "也许你需要添加一个第 3 方地址?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "%s 平台已卸载" @@ -1823,7 +1823,7 @@ msgstr "未找到 ‘%s’ 平台" msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "平台 ID 不正确" @@ -1879,8 +1879,8 @@ msgstr "端口关闭:%v" msgid "Port monitor error" msgstr "端口监视器错误" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "在 “%[1]s” 中找不到预编译库" @@ -1888,7 +1888,7 @@ msgstr "在 “%[1]s” 中找不到预编译库" msgid "Print details about a board." msgstr "打印开发板的详细信息。" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "将预处理的代码打印到标准输出,而不是编译。" @@ -1944,11 +1944,11 @@ msgstr "提供包括:%s" msgid "Removes one or more values from a setting." msgstr "从设置中删除一个或多个值。" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "将 %[1]s 替换为 %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "用 %[2]s 替换 %[1]s 平台" @@ -1964,12 +1964,12 @@ msgstr "以静默模式运行,仅显示监视器输入和输出。" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "正在运行正常的内核构建。。。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "运行 pre_uninstall 命令。" @@ -1981,7 +1981,7 @@ msgstr "搜索_条件" msgid "SVD file path" msgstr "SVD 文件路径" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "将生成文件保存在此目录中。" @@ -2234,7 +2234,7 @@ msgstr "显示 Arduino CLI 的版本号。" msgid "Size (bytes):" msgstr "大小(字节):" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2248,11 +2248,11 @@ msgstr "项目新建于:%s" msgid "Sketch profile to use" msgstr "使用项目配置文件" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "项目太大;请参阅 %[1]s,以获取减少项目大小的提示。" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2264,19 +2264,19 @@ msgid "" "files to .ino:" msgstr "项目 .pde 扩展名已弃用,请将以下文件重命名为 .ino:" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "跳过最终可执行文件的链接。" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳过 1200-bps TOUCH 重置:未选择串口!" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "正在跳过以下内容的存档创建:%[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "跳过编译:%[1]s" @@ -2284,16 +2284,16 @@ msgstr "跳过编译:%[1]s" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳过 %[1]s 预编译库的依赖检测" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "跳过平台配置。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "跳过 pre_uninstall 命令" -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "跳过工具配置。" @@ -2301,7 +2301,7 @@ msgstr "跳过工具配置。" msgid "Skipping: %[1]s" msgstr "跳过:%[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "一些索引无法更新。" @@ -2321,7 +2321,7 @@ msgstr "" msgid "The custom config file (if not specified the default will be used)." msgstr "自定义配置文件(如果未指定,将使用默认值)。" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2363,13 +2363,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "库 %s 有多个安装。" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定义加密密钥的名称,用于在编译过程中对二进制文件进行加密。只在支持它的平台上使用。" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2379,13 +2379,13 @@ msgstr "自定义签名密钥的名称,用于在编译过程中对二进制文 msgid "The output format for the logs, can be: %s" msgstr "日志的输出格​​式,可以是:%s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "搜索自定义密钥以签署和加密二进制文件的文件夹的路径。只在支持它的平台上使用。" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "该平台不支持预编译库的 ‘%[1]s’。" @@ -2407,12 +2407,12 @@ msgstr "此命令显示可升级的已安装内核和库或其一的列表。如 msgid "Timestamp each incoming line." msgstr "显示时间戳。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "%s 工具已经安装" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "%s 工具已经卸载" @@ -2432,7 +2432,7 @@ msgstr "工具链前缀" msgid "Toolchain type" msgstr "工具链类型" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "尝试运行 %s" @@ -2452,7 +2452,7 @@ msgstr "类型:%s" msgid "URL:" msgstr "地址:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "无法缓存构建的内核,请告知 %[1]s 维护者关注 %[2]s" @@ -2474,17 +2474,17 @@ msgstr "无法获取用户主目录:%v" msgid "Unable to open file for logging: %s" msgstr "无法打开文件进行日志记录:%s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "无法解析地址" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "正在卸载 %s" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "卸载 %s,工具不再需要了" @@ -2530,7 +2530,7 @@ msgstr "更新库索引到最新版本。" msgid "Updates the libraries index." msgstr "更新库索引。" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "升级不接受带有版本范围" @@ -2563,7 +2563,7 @@ msgstr "上传 Arduino 项目。不会在上传之前编译项目。" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上传端口地址,例如:COM3 或 /dev/ttyACM2" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "在 %s 上找到上传端口" @@ -2571,7 +2571,7 @@ msgstr "在 %s 上找到上传端口" msgid "Upload port protocol, e.g: serial" msgstr "上传端口协议,例如:串行" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "编译后上传二进制文件。" @@ -2583,7 +2583,7 @@ msgstr "使用外部编程器将引导加载程序上传到板上。" msgid "Upload the bootloader." msgstr "上传引导加载程序。" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "使用 %s 协议上传到指定的开发板需要以下信息:" @@ -2604,11 +2604,11 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 获取有关命令的更多信息。" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "已使用的库" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "已使用的平台" @@ -2616,7 +2616,7 @@ msgstr "已使用的平台" msgid "Used: %[1]s" msgstr "使用:%[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s" @@ -2624,7 +2624,7 @@ msgstr "使用平台的 ‘%[1]s’ 开发板,在列出的文件夹中:%[2]s msgid "Using cached library dependencies for file: %[1]s" msgstr "使用缓存库文件依赖项:%[1]s" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用平台的 ‘%[1]s’ 代码,在列出的文件夹中:%[2]s" @@ -2638,25 +2638,25 @@ msgid "" "WARNING: Your board may require different settings to work!\n" msgstr "" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用 %[2]s 版本的 %[1]s 库,在列出的文件夹中:%[3]s%[4]s" -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "使用的 %[1]s 库,在列出的文件夹中:%[2]s%[3]s" -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "使用预编译代码:%[1]s" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "在 %[1]s 中使用预编译库" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "使用以前编译的文件:%[1]s" @@ -2673,11 +2673,11 @@ msgid "Values" msgstr "值" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "上传后验证上传的二进制文件。" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" @@ -2686,34 +2686,34 @@ msgstr "版本" msgid "Versions: %s" msgstr "版本:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "警告:无法配置平台:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "警告无法配置工具:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告!无法运行 pre_uninstall 命令%s" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告:该项目是用一个或多个自定义库编译的。" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告:%[1]s 库声称在 %[2]s 体系结构上运行,可能与当前在 %[3]s 体系结构上运行的开发板不兼容。" -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "正在等待上传端口。。。" -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告:%[1]s 开发板未定义 %[2]s 首选项。自动设置为:%[3]s" @@ -2732,7 +2732,7 @@ msgid "" "directory." msgstr "将当前配置写入数据目录中的配置文件。" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "在用配置文件编译时,你不能使用 %s 参数。" @@ -2768,11 +2768,11 @@ msgstr "基本搜索 \"audio\"" msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基础搜索只由官方维护的 \"esp32\" 和 \"display\" 字段" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "在 %s 中找不到二进制文件" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "未找到开发板 %s" @@ -2788,7 +2788,7 @@ msgstr "未设置内置库目录" msgid "can't find latest release of %s" msgstr "找不到 %s 的最新版本" -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "找不到 %s 工具的最新版本" @@ -2800,11 +2800,11 @@ msgstr "找不到 id 为 %s 的 discovery" msgid "candidates" msgstr "候选" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "无法使用上传工具:%s" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "检查本地存档完整性" @@ -2830,11 +2830,11 @@ msgstr "通信不同步,应为 ‘%[1]s’,收到 ‘%[2]s’" msgid "computing hash: %s" msgstr "计算哈希:%s" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "配置的键 %s 包含无效字符" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "配置的值 %s 包含无效字符" @@ -2842,15 +2842,15 @@ msgstr "配置的值 %s 包含无效字符" msgid "copying library to destination directory:" msgstr "将库复制到目标目录:" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "找不到有效的构建项目" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "无法覆盖" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "无法删除旧库" @@ -2859,20 +2859,20 @@ msgstr "无法删除旧库" msgid "could not update sketch project file" msgstr "无法更新项目文件" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "创建核心缓存文件夹:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "在 %[1]s 中创建 installed.json:%[2]s" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "新建用于提取的临时目录:%s" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "数据部分超出开发板中的可用空间" @@ -2888,7 +2888,7 @@ msgstr "%s 目录已经存在,无法安装" msgid "destination directory already exists" msgstr "目标目录已经存在" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "目录不存在:%s" @@ -2904,7 +2904,7 @@ msgstr "未找到 %s discovery" msgid "discovery %s not installed" msgstr "%s discovery 未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "未找到 discovery 版本:%s" @@ -2920,11 +2920,11 @@ msgstr "下载最新版本的 Arduino SAMD 内核。" msgid "downloaded" msgstr "下载" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下载 %[1]s 工具:%[2]s" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "空开发板标识符" @@ -2940,11 +2940,11 @@ msgstr " 开启 %s 时错误" msgid "error parsing version constraints" msgstr "解析版本约束时错误" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "处理来自服务器的响应时出错" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "查询 Arduino Cloud Api 时出错" @@ -2952,7 +2952,7 @@ msgstr "查询 Arduino Cloud Api 时出错" msgid "extracting archive" msgstr "" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "正在提取存档:%s" @@ -2960,7 +2960,7 @@ msgstr "正在提取存档:%s" msgid "failed to compute hash of file \"%s\"" msgstr "无法计算 “%s” 文件的哈希值" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "未能初始化 http 客户端" @@ -2968,7 +2968,7 @@ msgstr "未能初始化 http 客户端" msgid "fetched archive size differs from size specified in index" msgstr "提取的档存大小与索引中指定的大小不同" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "存档中的文件必须放在子目录中" @@ -2998,7 +2998,7 @@ msgstr "最新版本。" msgid "for the specific version." msgstr "针对特定版本。" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "fqbn 的字段 %s 包含无效字符" @@ -3022,11 +3022,11 @@ msgstr "正在获取存档信息:%s" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "正在获取存档路径:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "正在获取 %[1]s 开发板的构建属性:%[2]s" @@ -3046,11 +3046,11 @@ msgstr "正在获取 %[1]s 平台的工具依赖:%[2]s" msgid "install directory not set" msgstr "未设置安装目录" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "正在安装 %[1]s 工具:%[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "安装 %[1]s 平台: %[2]s" @@ -3066,7 +3066,7 @@ msgstr "无效的 ‘%s’ 指令" msgid "invalid checksum format: %s" msgstr "无效的校验码格式:%s" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "无效的配置选项:%s" @@ -3098,11 +3098,14 @@ msgstr "无效的空库名" msgid "invalid empty library version: %s" msgstr "无效的空库版本:%s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "发现无效的空选项" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "无效的 git 地址" @@ -3130,7 +3133,7 @@ msgstr "无效的库 location:%s" msgid "invalid library: no header files found" msgstr "无效库:没有找到头文件" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "无效的 ‘%s’ 选项 " @@ -3146,10 +3149,6 @@ msgstr "" msgid "invalid path writing inventory file: %[1]s error" msgstr "" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "无效的平台存档大小:%s" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "无效的平台标识符" @@ -3170,7 +3169,7 @@ msgstr "%s 的端口配置值无效:%s" msgid "invalid port configuration: %s=%s" msgstr "" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "无效的 ‘%[1]s’ 方法: %[2]s" @@ -3181,7 +3180,7 @@ msgid "" "cannot be \".\"." msgstr "无效的工程命名 \"%[1]s\": 第一个字符必须是字母数字或\"_\",后面的字符也可以包含\"-\"和\".\"。最后一个字符不能是\".\"。" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "‘%[2]s’ 选项的 ‘%[1]s’ 值无效" @@ -3225,7 +3224,7 @@ msgstr "名称与 \"pcf8523 \"完全匹配的库" msgid "library %s already installed" msgstr "%s 库已安装" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "库无效" @@ -3239,8 +3238,8 @@ msgstr "正在加载 %[1]s: %[2]s" msgid "loading boards: %s" msgstr "正在加载开发板:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "正在加载 %[1]s json 索引文件:%[2]s" @@ -3277,7 +3276,7 @@ msgstr "在 %s 中加载工具发行版本" msgid "looking for boards.txt in %s" msgstr "在 %s 中查找 boards.txt" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "寻找构建产物" @@ -3293,7 +3292,7 @@ msgstr "缺少 ‘%s’ 指令" msgid "missing checksum for: %s" msgstr "缺少校验码:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " @@ -3301,11 +3300,11 @@ msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少软件包索引%s,无法保证未来的更新" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少 %[1]s 平台:%[2]s 被开发板 %[3]s 引用" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" @@ -3313,17 +3312,17 @@ msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" msgid "missing signature" msgstr "缺少签名" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "未找到公开监视器:%s" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "正在将提取的存档移动到目标目录:%s" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多个构建文件:‘%[1]s’ 和 ‘%[2]s’" @@ -3331,17 +3330,17 @@ msgstr "找到多个构建文件:‘%[1]s’ 和 ‘%[2]s’" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "找到多个主项目文件 (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "没有找到适用于当前操作系统的 %[1]s 工具的兼容版本,请尝试联系 %[2]s" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "没有指定实例" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "未指定项目或构建目录/文件" @@ -3349,11 +3348,11 @@ msgstr "未指定项目或构建目录/文件" msgid "no such file or directory" msgstr "没有这样的文件或目录" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存档中没有唯一的根目录,找到了 ‘%[1]s’ 和 ‘%[2]s’" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "未提供上传端口" @@ -3365,7 +3364,7 @@ msgstr "在 %[1]s 中找不到有效的项目:缺少 %[2]s" msgid "no versions available for the current OS, try contacting %s" msgstr "对于当前的操作系统没有可用的版本,请尝试联系 %s" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "" @@ -3374,7 +3373,7 @@ msgid "not running in a terminal" msgstr "未在终端中运行" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "正在打开存档文件:%s" @@ -3396,12 +3395,12 @@ msgstr "打开目标文件:%s" msgid "package %s not found" msgstr "未找到 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "未找到 ‘%s’ 软件包 " -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" @@ -3417,7 +3416,7 @@ msgstr "路径不是平台目录:%s" msgid "platform %[1]s not found in package %[2]s" msgstr "在 %[2]s 软件包中找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "%s 平台未安装" @@ -3425,14 +3424,14 @@ msgstr "%s 平台未安装" msgid "platform is not available for your OS" msgstr "该平台不适用于您的操作系统" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "平台未安装" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "请改用 --build-property。" @@ -3471,11 +3470,11 @@ msgstr "" msgid "reading directory %s" msgstr "正在读取 %s 目录" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "正在读取 %[1]s 文件: %[2]s" @@ -3499,7 +3498,7 @@ msgstr "" msgid "reading library_index.json: %s" msgstr "正在读取 library_index.json: %s" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "正在读取软件包根目录:%s" @@ -3507,11 +3506,11 @@ msgstr "正在读取软件包根目录:%s" msgid "reading sketch files" msgstr "阅读项目文件" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "未找到 ‘%s’ 方法" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到 %[2]s 工具的 %[1]s 发行版本" @@ -3528,7 +3527,7 @@ msgstr "正在删除损坏的存档文件:%s" msgid "removing library directory: %s" msgstr "删除库目录:%s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "正在删除平台文件:%s" @@ -3545,7 +3544,7 @@ msgstr "正在检索Arduino密钥:%s" msgid "scanning sketch examples" msgstr "扫描项目示例" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "正在搜索软件包根目录:%s" @@ -3590,11 +3589,11 @@ msgstr "测试存档大小:%s" msgid "testing if archive is cached: %s" msgstr "测试存档是否被缓存:%s" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "测试本地存档完整性:%s" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "文本部分超出开发板的可用空间" @@ -3603,7 +3602,7 @@ msgstr "文本部分超出开发板的可用空间" msgid "the compilation database may be incomplete or inaccurate" msgstr "编译数据库可能不完整或不准确" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "服务器响应状态 %s" @@ -3611,7 +3610,7 @@ msgstr "服务器响应状态 %s" msgid "timeout waiting for message" msgstr "等待消息超时" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "%s 工具不是由软件包管理器管理的" @@ -3620,16 +3619,16 @@ msgstr "%s 工具不是由软件包管理器管理的" msgid "tool %s not found" msgstr "未找到 %s 工具" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "工具未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "找不到发行工具:%s" @@ -3637,21 +3636,21 @@ msgstr "找不到发行工具:%s" msgid "tool version %s not found" msgstr "未找到工具的 %s 版本" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要 %[1]s 库的两个不同版本:%[2]s 和 %[3]s" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "无法计算项目的相对路径" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "无法新建文件夹来保存项目" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "无法新建包含该项目的文件夹" @@ -3659,23 +3658,23 @@ msgstr "无法新建包含该项目的文件夹" msgid "unable to marshal config to YAML: %v" msgstr "无法将 config 编码成 YAML:%v" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "无法读取目标项目的内容" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "无法读取源项目的内容" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "无法写入目标文件" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "未知 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "未知 %s 平台:%s" @@ -3695,7 +3694,7 @@ msgstr "将 arduino:samd 升级到最新版本" msgid "upgrade everything to the latest version" msgstr "将所有内容升级到最新版本" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "上传错误:%s" @@ -3719,6 +3718,6 @@ msgstr "%s 版本不适用于此操作系统" msgid "version %s not found" msgstr "未找到 %s 版本" -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "服务器响应格式错误" diff --git a/internal/locales/data/zh_TW.po b/internal/locales/data/zh_TW.po index b6cd8163175..b8d636d9140 100644 --- a/internal/locales/data/zh_TW.po +++ b/internal/locales/data/zh_TW.po @@ -9,7 +9,7 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: version/version.go:56 +#: internal/version/version.go:56 msgid "%[1]s %[2]s Version: %[3]s Commit: %[4]s Date: %[5]s" msgstr "%[1]s %[2]s 版本:%[3]s 交付:%[4]s 日期:%[5]s" @@ -25,7 +25,7 @@ msgstr "%[1]s 無效,重新建構全部" msgid "%[1]s is required but %[2]s is currently installed." msgstr "需要 %[1]s ,但已安裝 %[2]s" -#: internal/arduino/builder/builder.go:486 +#: internal/arduino/builder/builder.go:487 msgid "%[1]s pattern is missing" msgstr "%[1]s 樣態遺失" @@ -33,11 +33,11 @@ msgstr "%[1]s 樣態遺失" msgid "%s already downloaded" msgstr "%s 已經下載" -#: commands/service_upload.go:781 +#: commands/service_upload.go:782 msgid "%s and %s cannot be used together" msgstr "%s 和 %s 不能一起使用" -#: internal/arduino/cores/packagemanager/install_uninstall.go:371 +#: internal/arduino/cores/packagemanager/install_uninstall.go:373 msgid "%s installed" msgstr "%s 已安裝" @@ -50,19 +50,19 @@ msgstr "%s 已安裝" msgid "%s is not a directory" msgstr "%s 不是目錄" -#: internal/arduino/cores/packagemanager/install_uninstall.go:290 +#: internal/arduino/cores/packagemanager/install_uninstall.go:292 msgid "%s is not managed by package manager" msgstr "%s 不是由套件管理員管理的" #: internal/cli/daemon/daemon.go:67 msgid "%s must be >= 1024" -msgstr "" +msgstr "%s 必須 >= 1024" #: internal/cli/lib/check_deps.go:118 msgid "%s must be installed." msgstr "必須安裝 %s " -#: internal/arduino/builder/internal/preprocessor/ctags.go:192 +#: internal/arduino/builder/internal/preprocessor/ctags.go:193 #: internal/arduino/builder/internal/preprocessor/gcc.go:62 msgid "%s pattern is missing" msgstr "%s 樣態遺失" @@ -71,7 +71,7 @@ msgstr "%s 樣態遺失" msgid "'%s' has an invalid signature" msgstr "'%s'的簽名無效" -#: internal/arduino/cores/packagemanager/package_manager.go:448 +#: internal/arduino/cores/packagemanager/package_manager.go:415 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -81,7 +81,7 @@ msgstr "'build.core' 和 'build.variant' 參照到不同的平台: %[1]s 和 %[2 msgid "(hidden)" msgstr "(隱藏)" -#: internal/arduino/builder/libraries.go:302 +#: internal/arduino/builder/libraries.go:303 msgid "(legacy)" msgstr "(舊版)" @@ -142,7 +142,7 @@ msgstr "全平台已是最新版" msgid "All the cores are already at the latest version" msgstr "所有核心都已是最新版" -#: commands/service_library_install.go:135 +#: commands/service_library_install.go:136 msgid "Already installed %s" msgstr "已安裝 %s" @@ -170,7 +170,7 @@ msgstr "架構:%s" msgid "Archive already exists" msgstr "壓縮檔已存在" -#: internal/arduino/builder/core.go:163 +#: internal/arduino/builder/core.go:164 msgid "Archiving built core (caching) in: %[1]s" msgstr "壓縮在: %[1]s 裏已編譯核心 (快取) " @@ -255,11 +255,11 @@ msgstr "開發板名:" msgid "Board version:" msgstr "開發板版本:" -#: internal/arduino/builder/sketch.go:243 +#: internal/arduino/builder/sketch.go:245 msgid "Bootloader file specified but missing: %[1]s" msgstr "找不到指定的 Bootloader 檔: %[1]s" -#: internal/cli/compile/compile.go:101 +#: internal/cli/compile/compile.go:104 msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." @@ -273,13 +273,13 @@ msgstr "無法建立 %s 資料目錄" msgid "Can't create sketch" msgstr "無法建立 sketch" -#: commands/service_library_download.go:91 -#: commands/service_library_download.go:94 +#: commands/service_library_download.go:95 +#: commands/service_library_download.go:98 msgid "Can't download library" msgstr "無法下載程式庫" #: commands/service_platform_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:136 +#: internal/arduino/cores/packagemanager/install_uninstall.go:138 msgid "Can't find dependencies for platform %s" msgstr "找不到 %s 平台的相依" @@ -299,11 +299,11 @@ msgstr "不能同時使用下列參數: %s" msgid "Can't write debug log: %s" msgstr "無法寫入除錯日誌: %s" -#: commands/service_compile.go:189 commands/service_compile.go:192 +#: commands/service_compile.go:190 commands/service_compile.go:193 msgid "Cannot create build cache directory" msgstr "無法建立編譯快取的目錄" -#: commands/service_compile.go:214 +#: commands/service_compile.go:215 msgid "Cannot create build directory" msgstr "無法建立編譯目錄" @@ -341,15 +341,15 @@ msgstr "找不到絕對路徑: %v" msgid "Cannot get the configuration key %[1]s: %[2]v" msgstr "無法從設定裏取得鍵值 %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:143 +#: internal/arduino/cores/packagemanager/install_uninstall.go:145 msgid "Cannot install platform" msgstr "無法安裝平台" -#: internal/arduino/cores/packagemanager/install_uninstall.go:349 +#: internal/arduino/cores/packagemanager/install_uninstall.go:351 msgid "Cannot install tool %s" msgstr "無法安裝工具 %s" -#: commands/service_upload.go:543 +#: commands/service_upload.go:544 msgid "Cannot perform port reset: %s" msgstr "無法執行連接埠重設: %s" @@ -358,7 +358,7 @@ msgstr "無法執行連接埠重設: %s" msgid "Cannot remove the configuration key %[1]s: %[2]v" msgstr "無法移除設定鍵 %[1]s: %[2]v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:161 +#: internal/arduino/cores/packagemanager/install_uninstall.go:163 msgid "Cannot upgrade platform" msgstr "無法升級平台" @@ -396,7 +396,7 @@ msgid "" "a change." msgstr "命令保持執行, 在有更動時列出連接的開發板" -#: commands/service_debug_config.go:178 commands/service_upload.go:451 +#: commands/service_debug_config.go:178 commands/service_upload.go:452 msgid "Compiled sketch not found in %s" msgstr "在 %s 中找不到已編譯的 sketch" @@ -404,19 +404,19 @@ msgstr "在 %s 中找不到已編譯的 sketch" msgid "Compiles Arduino sketches." msgstr "編譯 Arduino sketch" -#: internal/arduino/builder/builder.go:420 +#: internal/arduino/builder/builder.go:421 msgid "Compiling core..." msgstr "編譯核心..." -#: internal/arduino/builder/builder.go:399 +#: internal/arduino/builder/builder.go:400 msgid "Compiling libraries..." msgstr "編譯程式庫..." -#: internal/arduino/builder/libraries.go:133 +#: internal/arduino/builder/libraries.go:134 msgid "Compiling library \"%[1]s\"" msgstr "編譯程式庫 “%[1]s”" -#: internal/arduino/builder/builder.go:383 +#: internal/arduino/builder/builder.go:384 msgid "Compiling sketch..." msgstr "編譯 sketch ..." @@ -439,11 +439,11 @@ msgid "" "<ID>=<value>[,<ID>=<value>]..." msgstr "通訊埠設定, 格式為 <ID>=<value>[,<ID>=<value>]..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:177 +#: internal/arduino/cores/packagemanager/install_uninstall.go:179 msgid "Configuring platform." msgstr "設定平台" -#: internal/arduino/cores/packagemanager/install_uninstall.go:359 +#: internal/arduino/cores/packagemanager/install_uninstall.go:361 msgid "Configuring tool." msgstr "設定工具" @@ -459,19 +459,19 @@ msgstr "連接 %s 中。按 CTRL-C 結束。" msgid "Core" msgstr "核心" -#: internal/cli/configuration/network.go:103 +#: internal/cli/configuration/network.go:127 msgid "Could not connect via HTTP" msgstr "無法通過 HTTP 連接" -#: commands/instances.go:486 +#: commands/instances.go:487 msgid "Could not create index directory" msgstr "無法建立索引目錄" -#: internal/arduino/builder/core.go:41 +#: internal/arduino/builder/core.go:42 msgid "Couldn't deeply cache core build: %[1]s" msgstr "無法深入快取核心編譯:%[1]s" -#: internal/arduino/builder/sizer.go:154 +#: internal/arduino/builder/sizer.go:155 msgid "Couldn't determine program size" msgstr "無法確定程式大小" @@ -483,7 +483,7 @@ msgstr "無法取得工作目錄:%v" msgid "Create a new Sketch" msgstr "建立新 sketch" -#: internal/cli/compile/compile.go:98 +#: internal/cli/compile/compile.go:101 msgid "Create and print a profile configuration from the build." msgstr "從建構中建立並印出設定檔內容" @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "用目前的設定值建立或更新資料或自定義目錄內的設定檔" -#: internal/cli/compile/compile.go:331 +#: internal/cli/compile/compile.go:334 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -571,7 +571,7 @@ msgstr "相依: %s" msgid "Description" msgstr "說明" -#: internal/arduino/builder/builder.go:313 +#: internal/arduino/builder/builder.go:314 msgid "Detecting libraries used..." msgstr "檢測有使用的程式庫..." @@ -631,7 +631,7 @@ msgstr "就算父程序已 GG,也不要中止背景程式" msgid "Do not try to update library dependencies if already installed." msgstr "如果已安裝好切勿試著再更新程式庫相依" -#: commands/service_library_download.go:88 +#: commands/service_library_download.go:92 msgid "Downloading %s" msgstr "下載 %s" @@ -639,21 +639,21 @@ msgstr "下載 %s" msgid "Downloading index signature: %s" msgstr "下載索引簽名: %s" -#: commands/instances.go:563 commands/instances.go:581 -#: commands/instances.go:595 commands/instances.go:612 +#: commands/instances.go:564 commands/instances.go:582 +#: commands/instances.go:596 commands/instances.go:613 #: internal/arduino/resources/index.go:82 msgid "Downloading index: %s" msgstr "下載索引: %s" -#: commands/instances.go:371 +#: commands/instances.go:372 msgid "Downloading library %s" msgstr "下載程式庫 %s" -#: commands/instances.go:53 +#: commands/instances.go:54 msgid "Downloading missing tool %s" msgstr "下載缺少的工具 %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:96 +#: internal/arduino/cores/packagemanager/install_uninstall.go:98 msgid "Downloading packages" msgstr "下載安裝包" @@ -689,7 +689,7 @@ msgstr "輸入托管程式庫的 git 位址" msgid "Error adding file to sketch archive" msgstr "將檔案加入 sketch 時出錯" -#: internal/arduino/builder/core.go:169 +#: internal/arduino/builder/core.go:170 msgid "Error archiving built core (caching) in %[1]s: %[2]s" msgstr "在 %[1]s 中儲存編譯核心(快取)時出錯:%[2]s" @@ -705,11 +705,11 @@ msgstr "計算相對檔案路徑時出錯" msgid "Error cleaning caches: %v" msgstr "清理快取時出錯: %v" -#: internal/cli/compile/compile.go:220 +#: internal/cli/compile/compile.go:223 msgid "Error converting path to absolute: %v" msgstr "將路徑轉換成絕對路徑時出錯: %v" -#: commands/service_compile.go:411 +#: commands/service_compile.go:420 msgid "Error copying output file %s" msgstr "複製輸出檔 %s 時出錯" @@ -723,7 +723,7 @@ msgstr "建立設定檔出錯: %v" msgid "Error creating instance: %v" msgstr "建立實例時出錯: %v" -#: commands/service_compile.go:395 +#: commands/service_compile.go:403 msgid "Error creating output dir" msgstr "建立輸出目錄時出錯" @@ -748,7 +748,7 @@ msgstr "下載 %[1]s 出錯: %[2]v" msgid "Error downloading %s" msgstr "下載 %s 出錯" -#: commands/instances.go:660 internal/arduino/resources/index.go:83 +#: commands/instances.go:661 internal/arduino/resources/index.go:83 msgid "Error downloading index '%s'" msgstr "下載索引'%s'時出錯" @@ -756,7 +756,7 @@ msgstr "下載索引'%s'時出錯" msgid "Error downloading index signature '%s'" msgstr "下載索引簽名 '%s' 出錯" -#: commands/instances.go:381 commands/instances.go:387 +#: commands/instances.go:382 commands/instances.go:388 msgid "Error downloading library %s" msgstr "下載程式庫 %s 出錯" @@ -780,7 +780,7 @@ msgstr "輸出 JSON 編碼過程出錯:%v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:264 internal/cli/compile/compile.go:306 +#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" @@ -789,7 +789,7 @@ msgstr "上傳時出錯: %v" msgid "Error during board detection" msgstr "開發板偵測時出現錯誤。" -#: internal/cli/compile/compile.go:379 +#: internal/cli/compile/compile.go:383 msgid "Error during build: %v" msgstr "建構時出錯: %v" @@ -810,7 +810,7 @@ msgstr "升級時出錯: %v" msgid "Error extracting %s" msgstr "解開 %s 時出錯" -#: commands/service_upload.go:448 +#: commands/service_upload.go:449 msgid "Error finding build artifacts" msgstr "尋找建構成品時出錯" @@ -836,7 +836,7 @@ msgid "" "correct sketch folder or provide the --port flag: %s" msgstr "從 `sketch.yaml` 取得預設連接埠出錯. 請檢查是否在正確的 sketch 目錄下, 或者提供 --port 參數: %s" -#: commands/service_compile.go:330 commands/service_library_list.go:115 +#: commands/service_compile.go:338 commands/service_library_list.go:115 msgid "Error getting information for library %s" msgstr "取得程式庫 %s 資訊時出錯" @@ -872,7 +872,7 @@ msgstr "安裝 Git 程式庫出錯: %v" msgid "Error installing Zip Library: %v" msgstr "安裝 Zip 程式庫出錯: %v" -#: commands/instances.go:397 +#: commands/instances.go:398 msgid "Error installing library %s" msgstr "安裝程式庫 %s 出錯" @@ -916,15 +916,15 @@ msgstr "開啟 %s 時出錯" msgid "Error opening debug logging file: %s" msgstr "打開除錯日誌檔出錯: %s" -#: internal/cli/compile/compile.go:193 +#: internal/cli/compile/compile.go:196 msgid "Error opening source code overrides data file: %v" msgstr "打開原始碼覆寫資料檔時出錯: %v" -#: internal/cli/compile/compile.go:206 +#: internal/cli/compile/compile.go:209 msgid "Error parsing --show-properties flag: %v" msgstr "解析 --show-properties 參數出錯: %v" -#: commands/service_compile.go:404 +#: commands/service_compile.go:412 msgid "Error reading build directory" msgstr "讀取建構目錄時出錯" @@ -940,7 +940,7 @@ msgstr "解析 %[1]s 的相依時出錯: %[2]s" msgid "Error retrieving core list: %v" msgstr "取得核心列表出錯: %v" -#: internal/arduino/cores/packagemanager/install_uninstall.go:158 +#: internal/arduino/cores/packagemanager/install_uninstall.go:160 msgid "Error rolling-back changes: %s" msgstr "回復更改時出錯: %s" @@ -994,7 +994,7 @@ msgstr "更新程式庫索引時出錯: %v" msgid "Error upgrading libraries" msgstr "更新程式庫時出錯" -#: internal/arduino/cores/packagemanager/install_uninstall.go:153 +#: internal/arduino/cores/packagemanager/install_uninstall.go:155 msgid "Error upgrading platform: %s" msgstr "更新平台時出錯: %s" @@ -1007,10 +1007,10 @@ msgstr "驗證簽名時出錯" msgid "Error while detecting libraries included by %[1]s" msgstr "偵測 %[1]s 所包含的程式庫時出錯" -#: internal/arduino/builder/sizer.go:79 internal/arduino/builder/sizer.go:88 -#: internal/arduino/builder/sizer.go:91 internal/arduino/builder/sizer.go:110 -#: internal/arduino/builder/sizer.go:215 internal/arduino/builder/sizer.go:225 -#: internal/arduino/builder/sizer.go:229 +#: internal/arduino/builder/sizer.go:80 internal/arduino/builder/sizer.go:89 +#: internal/arduino/builder/sizer.go:92 internal/arduino/builder/sizer.go:111 +#: internal/arduino/builder/sizer.go:218 internal/arduino/builder/sizer.go:228 +#: internal/arduino/builder/sizer.go:232 msgid "Error while determining sketch size: %s" msgstr "確定 sketch 大小時出錯: %s" @@ -1026,7 +1026,7 @@ msgstr "寫入檔案時出錯: %v" msgid "Error: command description is not supported by %v" msgstr "錯誤: %v 不支持命令說明" -#: internal/cli/compile/compile.go:199 +#: internal/cli/compile/compile.go:202 msgid "Error: invalid source code overrides data file: %v" msgstr "錯誤: 無效原始碼覆蓋了資料檔: %v" @@ -1046,7 +1046,7 @@ msgstr "範例:" msgid "Executable to debug" msgstr "可執行來除錯" -#: commands/service_debug_config.go:181 commands/service_upload.go:454 +#: commands/service_debug_config.go:181 commands/service_upload.go:455 msgid "Expected compiled sketch in directory %s, but is a file instead" msgstr "%s 目錄內應該有已編譯的 sketch,卻只有個檔案" @@ -1060,23 +1060,23 @@ msgstr "FQBN" msgid "FQBN:" msgstr "FQBN:" -#: commands/service_upload.go:577 +#: commands/service_upload.go:578 msgid "Failed chip erase" msgstr "晶片擦除失敗" -#: commands/service_upload.go:584 +#: commands/service_upload.go:585 msgid "Failed programming" msgstr "燒錄失敗" -#: commands/service_upload.go:580 +#: commands/service_upload.go:581 msgid "Failed to burn bootloader" msgstr "燒錄 bootloader 失敗" -#: commands/instances.go:87 +#: commands/instances.go:88 msgid "Failed to create data directory" msgstr "建立資料目錄失敗" -#: commands/instances.go:76 +#: commands/instances.go:77 msgid "Failed to create downloads directory" msgstr "建立下載檔案夾失敗" @@ -1096,7 +1096,7 @@ msgstr "監聽 TCP 埠: %[1]s 失敗, 未預期的錯誤: %[2]v" msgid "Failed to listen on TCP port: %s. Address already in use." msgstr "監聽 TCP 埠: %s 失敗。位址已被使用" -#: commands/service_upload.go:588 +#: commands/service_upload.go:589 msgid "Failed uploading" msgstr "上傳失敗" @@ -1104,7 +1104,7 @@ msgstr "上傳失敗" msgid "File:" msgstr "檔案:" -#: commands/service_compile.go:162 +#: commands/service_compile.go:163 msgid "" "Firmware encryption/signing requires all the following properties to be " "defined: %s" @@ -1168,7 +1168,7 @@ msgstr "已生成指令檔" msgid "Generates completion scripts for various shells" msgstr "已為各種 shell 生成指令檔" -#: internal/arduino/builder/builder.go:333 +#: internal/arduino/builder/builder.go:334 msgid "Generating function prototypes..." msgstr "生成函式原型..." @@ -1180,13 +1180,13 @@ msgstr "取得設定的鍵值。" msgid "Global Flags:" msgstr "全域旗標:" -#: internal/arduino/builder/sizer.go:164 +#: internal/arduino/builder/sizer.go:166 msgid "" "Global variables use %[1]s bytes (%[3]s%%) of dynamic memory, leaving %[4]s " "bytes for local variables. Maximum is %[2]s bytes." msgstr "全域變數使用 %[1]s 位元組 (%[3]s%%) 的動態記憶體, 保留 %[4]s 位元組給區域變數. 最大 %[2]s 位元組" -#: internal/arduino/builder/sizer.go:170 +#: internal/arduino/builder/sizer.go:172 msgid "Global variables use %[1]s bytes of dynamic memory." msgstr "全域變數使用 %[1]s 位元組的動態記憶體" @@ -1204,7 +1204,7 @@ msgstr "Id" msgid "Identification properties:" msgstr "標識屬性:" -#: internal/cli/compile/compile.go:132 +#: internal/cli/compile/compile.go:135 msgid "If set built binaries will be exported to the sketch folder." msgstr "一經設定,建構的二進位檔將導出到 sketch 檔案夾" @@ -1231,20 +1231,20 @@ msgstr "安裝程式庫到 IDE-Builtin 目錄" msgid "Installed" msgstr "已安裝" -#: commands/service_library_install.go:200 +#: commands/service_library_install.go:201 msgid "Installed %s" msgstr "已安裝 %s" -#: commands/service_library_install.go:183 -#: internal/arduino/cores/packagemanager/install_uninstall.go:333 +#: commands/service_library_install.go:184 +#: internal/arduino/cores/packagemanager/install_uninstall.go:335 msgid "Installing %s" msgstr "安裝 %s..." -#: commands/instances.go:395 +#: commands/instances.go:396 msgid "Installing library %s" msgstr "安裝程式庫 %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:119 +#: internal/arduino/cores/packagemanager/install_uninstall.go:121 #: internal/arduino/cores/packagemanager/profiles.go:134 msgid "Installing platform %s" msgstr "安裝平台 %s " @@ -1281,7 +1281,7 @@ msgstr "無效的 TCP 位址:缺少連接埠" msgid "Invalid URL" msgstr "無效的網址" -#: commands/instances.go:183 +#: commands/instances.go:184 msgid "Invalid additional URL: %v" msgstr "無效的額外網址: %v" @@ -1295,19 +1295,19 @@ msgstr "無效的存檔:%[1]s 不在 %[2]s 存檔裏" msgid "Invalid argument passed: %v" msgstr "傳送的參數無效: %v" -#: commands/service_compile.go:274 +#: commands/service_compile.go:282 msgid "Invalid build properties" msgstr "無效的建構屬性" -#: internal/arduino/builder/sizer.go:250 +#: internal/arduino/builder/sizer.go:253 msgid "Invalid data size regexp: %s" msgstr "無效的資料大小正規表示式: %s" -#: internal/arduino/builder/sizer.go:256 +#: internal/arduino/builder/sizer.go:259 msgid "Invalid eeprom size regexp: %s" msgstr "無效的 eeprom 大小正規表示式: %s" -#: commands/instances.go:596 +#: commands/instances.go:597 msgid "Invalid index URL: %s" msgstr "無效的索引網址: 1%s" @@ -1327,11 +1327,11 @@ msgstr "無效的程式庫" msgid "Invalid logging level: %s" msgstr "無效的日誌層級: %s" -#: commands/instances.go:613 +#: commands/instances.go:614 msgid "Invalid network configuration: %s" msgstr "網路設定無效: %s" -#: internal/cli/configuration/network.go:66 +#: internal/cli/configuration/network.go:83 msgid "Invalid network.proxy '%[1]s': %[2]s" msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" @@ -1339,7 +1339,7 @@ msgstr "無效的 '%[1]s' 網路代理 network.proxy: %[2]s" msgid "Invalid output format: %s" msgstr "無效的輸出格式: %s" -#: commands/instances.go:580 +#: commands/instances.go:581 msgid "Invalid package index in %s" msgstr "%s 內的套件索引無效" @@ -1347,7 +1347,7 @@ msgstr "%s 內的套件索引無效" msgid "Invalid parameter %s: version not allowed" msgstr "無效 %s 參數: 版本不允許" -#: commands/service_board_list.go:81 +#: commands/service_board_identify.go:169 msgid "Invalid pid value: '%s'" msgstr "無效的 pid 值: '%s'" @@ -1355,15 +1355,15 @@ msgstr "無效的 pid 值: '%s'" msgid "Invalid profile" msgstr "無效的設定檔" -#: commands/service_monitor.go:269 +#: commands/service_monitor.go:270 msgid "Invalid recipe in platform.txt" msgstr "platform.txt 中的方法無效" -#: internal/arduino/builder/sizer.go:240 +#: internal/arduino/builder/sizer.go:243 msgid "Invalid size regexp: %s" msgstr "無效的大小正規表示式: %s" -#: main.go:85 +#: main.go:86 msgid "Invalid value in configuration" msgstr "設定裏有無效的數值" @@ -1371,11 +1371,11 @@ msgstr "設定裏有無效的數值" msgid "Invalid version" msgstr "無效的版本" -#: commands/service_board_list.go:78 +#: commands/service_board_identify.go:166 msgid "Invalid vid value: '%s'" msgstr "無效的 vid 值: '%s'" -#: internal/cli/compile/compile.go:129 +#: internal/cli/compile/compile.go:132 msgid "" "Just produce the compilation database, without actually compiling. All build" " commands are skipped except pre* hooks." @@ -1398,11 +1398,11 @@ msgstr "程式庫_名" msgid "Latest" msgstr "最新的" -#: internal/arduino/builder/libraries.go:91 +#: internal/arduino/builder/libraries.go:92 msgid "Library %[1]s has been declared precompiled:" msgstr "程式庫 %[1]s 已聲明為預編譯:" -#: commands/service_library_install.go:141 +#: commands/service_library_install.go:142 #: internal/arduino/libraries/librariesmanager/install.go:131 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" @@ -1416,7 +1416,7 @@ msgstr "程式庫 %s 已是最新版" msgid "Library %s is not installed" msgstr "程式庫 %s 未安裝" -#: commands/instances.go:374 +#: commands/instances.go:375 msgid "Library %s not found" msgstr "未找到程式庫 %s " @@ -1433,8 +1433,8 @@ msgstr "程式庫不能同時用'%[1]s'和'%[2]s'檔案夾。再檢查 '%[3]s'" msgid "Library install failed" msgstr "程式庫安裝失敗" -#: commands/service_library_install.go:234 -#: commands/service_library_install.go:274 +#: commands/service_library_install.go:235 +#: commands/service_library_install.go:275 msgid "Library installed" msgstr "程式庫已安裝" @@ -1442,7 +1442,7 @@ msgstr "程式庫已安裝" msgid "License: %s" msgstr "許可證: %s" -#: internal/arduino/builder/builder.go:436 +#: internal/arduino/builder/builder.go:437 msgid "Linking everything together..." msgstr "將所有內容鏈接在一起..." @@ -1466,7 +1466,7 @@ msgid "" " multiple options." msgstr "列出開發板選項列表。可多選項多次使用" -#: internal/cli/compile/compile.go:107 +#: internal/cli/compile/compile.go:110 msgid "" "List of custom build properties separated by commas. Or can be used multiple" " times for multiple properties." @@ -1488,8 +1488,8 @@ msgstr "列出所有連接的開發板" msgid "Lists cores and libraries that can be upgraded" msgstr "列出可升級的核心和程式庫" -#: commands/instances.go:221 commands/instances.go:232 -#: commands/instances.go:342 +#: commands/instances.go:222 commands/instances.go:233 +#: commands/instances.go:343 msgid "Loading index file: %v" msgstr "載入索引檔: %v" @@ -1497,7 +1497,7 @@ msgstr "載入索引檔: %v" msgid "Location" msgstr "位置" -#: internal/arduino/builder/sizer.go:205 +#: internal/arduino/builder/sizer.go:208 msgid "Low memory available, stability problems may occur." msgstr "記憶體低容量,可能影響穩定性" @@ -1505,7 +1505,7 @@ msgstr "記憶體低容量,可能影響穩定性" msgid "Maintainer: %s" msgstr "維護者: %s" -#: internal/cli/compile/compile.go:137 +#: internal/cli/compile/compile.go:140 msgid "" "Max number of parallel compiles. If set to 0 the number of available CPUs " "cores will be used." @@ -1548,7 +1548,7 @@ msgstr "缺少燒錄器" msgid "Missing required upload field: %s" msgstr "缺少必要的上傳欄位: %s" -#: internal/arduino/builder/sizer.go:244 +#: internal/arduino/builder/sizer.go:247 msgid "Missing size regexp" msgstr "缺少大小正規表示式" @@ -1630,7 +1630,7 @@ msgstr "沒安裝任何平台" msgid "No platforms matching your search." msgstr "沒有你想找的平台" -#: commands/service_upload.go:533 +#: commands/service_upload.go:534 msgid "No upload port found, using %s as fallback" msgstr "沒找到上傳連接埠,使用 %s 作為後援" @@ -1638,7 +1638,7 @@ msgstr "沒找到上傳連接埠,使用 %s 作為後援" msgid "No valid dependencies solution found" msgstr "找不到有效的相依解決方案" -#: internal/arduino/builder/sizer.go:195 +#: internal/arduino/builder/sizer.go:198 msgid "Not enough memory; see %[1]s for tips on reducing your footprint." msgstr "記憶體不足;有關減少用量的方法,請參見 %[1]s" @@ -1668,35 +1668,35 @@ msgstr "開啟開發板的通信埠" msgid "Option:" msgstr "選項:" -#: internal/cli/compile/compile.go:117 +#: internal/cli/compile/compile.go:120 msgid "" "Optional, can be: %s. Used to tell gcc which warning level to use (-W flag)." msgstr "選項,可以是:%s。用來告訴 gcc 使用哪個警告級別 (-W 參數)" -#: internal/cli/compile/compile.go:130 +#: internal/cli/compile/compile.go:133 msgid "Optional, cleanup the build folder and do not use any cached build." msgstr "選項,清理建構用的檔案夾且不使用任何快取" -#: internal/cli/compile/compile.go:127 +#: internal/cli/compile/compile.go:130 msgid "" "Optional, optimize compile output for debugging, rather than for release." msgstr "選項,優化編譯用於除錯的輸出,還不到發佈用" -#: internal/cli/compile/compile.go:119 +#: internal/cli/compile/compile.go:122 msgid "Optional, suppresses almost every output." msgstr "選項,禁止全部輸出" -#: internal/cli/compile/compile.go:118 internal/cli/upload/upload.go:79 +#: internal/cli/compile/compile.go:121 internal/cli/upload/upload.go:79 msgid "Optional, turns on verbose mode." msgstr "選項,開啟詳細模式" -#: internal/cli/compile/compile.go:133 +#: internal/cli/compile/compile.go:136 msgid "" "Optional. Path to a .json file that contains a set of replacements of the " "sketch source code." msgstr "選項, 包含一組替代 sketch 原始碼的 .json 檔的路徑" -#: internal/cli/compile/compile.go:109 +#: internal/cli/compile/compile.go:112 msgid "" "Override a build property with a custom value. Can be used multiple times " "for multiple properties." @@ -1756,17 +1756,17 @@ msgstr "套件網站:" msgid "Paragraph: %s" msgstr "段落: %s" -#: internal/cli/compile/compile.go:454 internal/cli/compile/compile.go:469 +#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 msgid "Path" msgstr "路徑" -#: internal/cli/compile/compile.go:126 +#: internal/cli/compile/compile.go:129 msgid "" "Path to a collection of libraries. Can be used multiple times or entries can" " be comma separated." msgstr "程式庫集合的路徑。可多次使用,或以逗號分隔" -#: internal/cli/compile/compile.go:124 +#: internal/cli/compile/compile.go:127 msgid "" "Path to a single library’s root folder. Can be used multiple times or " "entries can be comma separated." @@ -1776,26 +1776,26 @@ msgstr "單一程式庫的根目錄路徑。可多次使用,或以逗號分隔 msgid "Path to the file where logs will be written." msgstr "日誌檔的路徑" -#: internal/cli/compile/compile.go:105 +#: internal/cli/compile/compile.go:108 msgid "" "Path where to save compiled files. If omitted, a directory will be created " "in the default temporary path of your OS." msgstr "保存已編譯檔的路徑。如果省略,將在作業系統預設的臨時目錄中建立" -#: commands/service_upload.go:514 +#: commands/service_upload.go:515 msgid "Performing 1200-bps touch reset on serial port %s" msgstr "在 %s 連接埠上執行 1200-bps TOUCH 重置" -#: commands/service_platform_install.go:86 -#: commands/service_platform_install.go:93 +#: commands/service_platform_install.go:87 +#: commands/service_platform_install.go:94 msgid "Platform %s already installed" msgstr "平台 %s 已安裝過" -#: internal/arduino/cores/packagemanager/install_uninstall.go:194 +#: internal/arduino/cores/packagemanager/install_uninstall.go:196 msgid "Platform %s installed" msgstr "平台 %s 已安裝" -#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1803,7 +1803,7 @@ msgstr "" "在已知索引中找不到平台 %s \n" "也許你需要加入第三方 3rd 位址?" -#: internal/arduino/cores/packagemanager/install_uninstall.go:318 +#: internal/arduino/cores/packagemanager/install_uninstall.go:320 msgid "Platform %s uninstalled" msgstr "%s 平台已卸載" @@ -1819,7 +1819,7 @@ msgstr "平台 '%s' 沒找到" msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:387 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "平台 ID 不正確" @@ -1875,8 +1875,8 @@ msgstr "連接埠關閉: %v" msgid "Port monitor error" msgstr "連接埠監視器錯誤" -#: internal/arduino/builder/libraries.go:101 -#: internal/arduino/builder/libraries.go:109 +#: internal/arduino/builder/libraries.go:102 +#: internal/arduino/builder/libraries.go:110 msgid "Precompiled library in \"%[1]s\" not found" msgstr "找不到在“%[1]s”的預編譯程式庫" @@ -1884,7 +1884,7 @@ msgstr "找不到在“%[1]s”的預編譯程式庫" msgid "Print details about a board." msgstr "列出開發板的詳細資訊" -#: internal/cli/compile/compile.go:100 +#: internal/cli/compile/compile.go:103 msgid "Print preprocessed code to stdout instead of compiling." msgstr "列出預處理的代碼到標準輸出,而不是編譯" @@ -1940,11 +1940,11 @@ msgstr "提供的包括: %s" msgid "Removes one or more values from a setting." msgstr "從設定中移除一或多個值" -#: commands/service_library_install.go:187 +#: commands/service_library_install.go:188 msgid "Replacing %[1]s with %[2]s" msgstr "將 %[1]s 替換成 %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:123 +#: internal/arduino/cores/packagemanager/install_uninstall.go:125 msgid "Replacing platform %[1]s with %[2]s" msgstr "以平台 %[2]s 替換 %[1]s " @@ -1960,12 +1960,12 @@ msgstr "以靜默模式執行,只顯示監視輸入和輸出" msgid "Run the Arduino CLI as a gRPC daemon." msgstr "以 gRPC 精靈的形式執行 Arduino CLI。" -#: internal/arduino/builder/core.go:42 +#: internal/arduino/builder/core.go:43 msgid "Running normal build of the core..." msgstr "以正常建構的核心執行..." -#: internal/arduino/cores/packagemanager/install_uninstall.go:297 -#: internal/arduino/cores/packagemanager/install_uninstall.go:411 +#: internal/arduino/cores/packagemanager/install_uninstall.go:299 +#: internal/arduino/cores/packagemanager/install_uninstall.go:413 msgid "Running pre_uninstall script." msgstr "執行 pre_uninstall 命令." @@ -1977,7 +1977,7 @@ msgstr "搜尋_條件" msgid "SVD file path" msgstr "SVD 檔案路徑" -#: internal/cli/compile/compile.go:103 +#: internal/cli/compile/compile.go:106 msgid "Save build artifacts in this directory." msgstr "將建構成品存在這個目錄" @@ -2120,7 +2120,7 @@ msgstr "設定連接埠和 FQBN & 燒錄器的預設值. 如果沒指定, 將 #: internal/cli/daemon/daemon.go:93 msgid "Sets the maximum message size in bytes the daemon can receive" -msgstr "" +msgstr "設定精靈可接收的最大訊息量-位元組" #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." @@ -2221,7 +2221,7 @@ msgstr "顯示 Arduino CLI 版本" msgid "Size (bytes):" msgstr "大小 (字元組) :" -#: commands/service_compile.go:278 +#: commands/service_compile.go:286 msgid "" "Sketch cannot be located in build path. Please specify a different build " "path" @@ -2235,11 +2235,11 @@ msgstr "Sketch 建立在: %s" msgid "Sketch profile to use" msgstr "採用的 Sketch 設定集" -#: internal/arduino/builder/sizer.go:190 +#: internal/arduino/builder/sizer.go:193 msgid "Sketch too big; see %[1]s for tips on reducing it." msgstr "Sketch 太胖了;請參考 %[1]s 裏的減肥技巧" -#: internal/arduino/builder/sizer.go:158 +#: internal/arduino/builder/sizer.go:160 msgid "" "Sketch uses %[1]s bytes (%[3]s%%) of program storage space. Maximum is %[2]s" " bytes." @@ -2251,19 +2251,19 @@ msgid "" "files to .ino:" msgstr "Sketch 已棄用 .pde 副檔名 ,請將下列檔案的副檔名改成.ino" -#: internal/arduino/builder/linker.go:30 +#: internal/arduino/builder/linker.go:31 msgid "Skip linking of final executable." msgstr "跳過鏈結成執行檔" -#: commands/service_upload.go:507 +#: commands/service_upload.go:508 msgid "Skipping 1200-bps touch reset: no serial port selected!" msgstr "跳過 1200-bps 接觸重設:未選取序列埠!" -#: internal/arduino/builder/archive_compiled_files.go:27 +#: internal/arduino/builder/archive_compiled_files.go:28 msgid "Skipping archive creation of: %[1]s" msgstr "跳過建立壓縮檔: %[1]s" -#: internal/arduino/builder/compilation.go:183 +#: internal/arduino/builder/compilation.go:184 msgid "Skipping compile of: %[1]s" msgstr "跳過編譯: %[1]s" @@ -2271,16 +2271,16 @@ msgstr "跳過編譯: %[1]s" msgid "Skipping dependencies detection for precompiled library %[1]s" msgstr "跳過預編譯程式庫 %[1]s 的相依偵測" -#: internal/arduino/cores/packagemanager/install_uninstall.go:190 +#: internal/arduino/cores/packagemanager/install_uninstall.go:192 msgid "Skipping platform configuration." msgstr "跳過平台設定" -#: internal/arduino/cores/packagemanager/install_uninstall.go:306 -#: internal/arduino/cores/packagemanager/install_uninstall.go:420 +#: internal/arduino/cores/packagemanager/install_uninstall.go:308 +#: internal/arduino/cores/packagemanager/install_uninstall.go:422 msgid "Skipping pre_uninstall script." msgstr "跳過 pre_uninstall 命令." -#: internal/arduino/cores/packagemanager/install_uninstall.go:368 +#: internal/arduino/cores/packagemanager/install_uninstall.go:370 msgid "Skipping tool configuration." msgstr "跳過工具設定" @@ -2288,7 +2288,7 @@ msgstr "跳過工具設定" msgid "Skipping: %[1]s" msgstr "跳過: %[1]s" -#: commands/instances.go:633 +#: commands/instances.go:634 msgid "Some indexes could not be updated." msgstr "有些索引無法更新" @@ -2308,7 +2308,7 @@ msgstr "輸出格式,可以是: %s" msgid "The custom config file (if not specified the default will be used)." msgstr "自定義設定檔 (如沒指定,將使用預設值)" -#: internal/cli/compile/compile.go:90 +#: internal/cli/compile/compile.go:93 msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." @@ -2351,13 +2351,13 @@ msgstr "" msgid "The library %s has multiple installations:" msgstr "程式庫 %s 有多個安裝" -#: internal/cli/compile/compile.go:115 +#: internal/cli/compile/compile.go:118 msgid "" "The name of the custom encryption key to use to encrypt a binary during the " "compile process. Used only by the platforms that support it." msgstr "自定義加密密鑰的名稱,用在編譯過程中對二進位碼進行加密。只用在有支援的平台" -#: internal/cli/compile/compile.go:113 +#: internal/cli/compile/compile.go:116 msgid "" "The name of the custom signing key to use to sign a binary during the " "compile process. Used only by the platforms that support it." @@ -2367,13 +2367,13 @@ msgstr "自定義簽名密鑰的名稱,用在編譯過程中對二進位碼進 msgid "The output format for the logs, can be: %s" msgstr "日誌的輸出格​​式,可以是: %s" -#: internal/cli/compile/compile.go:111 +#: internal/cli/compile/compile.go:114 msgid "" "The path of the dir to search for the custom keys to sign and encrypt a " "binary. Used only by the platforms that support it." msgstr "尋找用來簽名和加密二進位碼的自定義密鑰檔的檔案夾路徑。只用在有支援的平台" -#: internal/arduino/builder/libraries.go:151 +#: internal/arduino/builder/libraries.go:152 msgid "The platform does not support '%[1]s' for precompiled libraries." msgstr "本平台不支援預編譯程式庫的 '%[1]s'" @@ -2395,12 +2395,12 @@ msgstr "此指令顯示可升級的已安裝核心和程式庫。如沒需要更 msgid "Timestamp each incoming line." msgstr "記錄每一行時間" -#: internal/arduino/cores/packagemanager/install_uninstall.go:89 -#: internal/arduino/cores/packagemanager/install_uninstall.go:328 +#: internal/arduino/cores/packagemanager/install_uninstall.go:91 +#: internal/arduino/cores/packagemanager/install_uninstall.go:330 msgid "Tool %s already installed" msgstr "工具 %s 已安裝" -#: internal/arduino/cores/packagemanager/install_uninstall.go:432 +#: internal/arduino/cores/packagemanager/install_uninstall.go:434 msgid "Tool %s uninstalled" msgstr "工具 %s 已卸除" @@ -2420,7 +2420,7 @@ msgstr "工具包前綴字元" msgid "Toolchain type" msgstr "工具包類型" -#: internal/cli/compile/compile.go:400 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "嘗試執行 %s" @@ -2440,7 +2440,7 @@ msgstr "類型: %s" msgid "URL:" msgstr "網址:" -#: internal/arduino/builder/core.go:165 +#: internal/arduino/builder/core.go:166 msgid "" "Unable to cache built core, please tell %[1]s maintainers to follow %[2]s" msgstr "無法快取建構核心,請通知 %[1]s 維護者注意 %[2]s" @@ -2462,17 +2462,17 @@ msgstr "無法取得用戶家目錄: %v" msgid "Unable to open file for logging: %s" msgstr "無法開啟檔案做日誌記錄: %s" -#: commands/instances.go:562 +#: commands/instances.go:563 msgid "Unable to parse URL" msgstr "無法解析網址" #: commands/service_library_uninstall.go:71 -#: internal/arduino/cores/packagemanager/install_uninstall.go:280 +#: internal/arduino/cores/packagemanager/install_uninstall.go:282 msgid "Uninstalling %s" msgstr "卸除 %s" #: commands/service_platform_uninstall.go:99 -#: internal/arduino/cores/packagemanager/install_uninstall.go:166 +#: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" msgstr "卸除 %s,不需要這工具了" @@ -2518,7 +2518,7 @@ msgstr "更新程式庫索引到最新" msgid "Updates the libraries index." msgstr "更新程式庫索引" -#: internal/arduino/cores/packagemanager/install_uninstall.go:45 +#: internal/arduino/cores/packagemanager/install_uninstall.go:47 msgid "Upgrade doesn't accept parameters with version" msgstr "升級不接受版本參數" @@ -2551,7 +2551,7 @@ msgstr "上傳 Arduino sketch。不會在上傳前編譯它" msgid "Upload port address, e.g.: COM3 or /dev/ttyACM2" msgstr "上傳連接埠,例如:COM3 或 /dev/ttyACM2" -#: commands/service_upload.go:531 +#: commands/service_upload.go:532 msgid "Upload port found on %s" msgstr "找到上傳連接埠 %s " @@ -2559,7 +2559,7 @@ msgstr "找到上傳連接埠 %s " msgid "Upload port protocol, e.g: serial" msgstr "上傳連接埠協議,例如:串列" -#: internal/cli/compile/compile.go:120 +#: internal/cli/compile/compile.go:123 msgid "Upload the binary after the compilation." msgstr "編譯完成就上傳二進位碼" @@ -2571,7 +2571,7 @@ msgstr "使用燒錄器將 bootloader 上傳到開發板" msgid "Upload the bootloader." msgstr "上傳 bootloader" -#: internal/cli/compile/compile.go:269 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "以 %s 協議上傳到開發板需要以下資訊:" @@ -2592,11 +2592,11 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 取得指令的更多資訊" -#: internal/cli/compile/compile.go:452 +#: internal/cli/compile/compile.go:456 msgid "Used library" msgstr "使用的程式庫" -#: internal/cli/compile/compile.go:467 +#: internal/cli/compile/compile.go:471 msgid "Used platform" msgstr "使用的平台" @@ -2604,7 +2604,7 @@ msgstr "使用的平台" msgid "Used: %[1]s" msgstr "使用: %[1]s" -#: commands/service_compile.go:353 +#: commands/service_compile.go:361 msgid "Using board '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " @@ -2612,7 +2612,7 @@ msgstr "使用檔案夾: %[2]s 裏面平台的開發板 '%[1]s' " msgid "Using cached library dependencies for file: %[1]s" msgstr "檔案: %[1]s 使用快取程式庫相依" -#: commands/service_compile.go:354 +#: commands/service_compile.go:362 msgid "Using core '%[1]s' from platform in folder: %[2]s" msgstr "使用檔案夾: %[2]s 裏面平台的核心 '%[1]s' " @@ -2628,25 +2628,25 @@ msgstr "" "使用一般監控設定。.\n" "警告: 您的開發板可能需要不同的設定才能適用!\n" -#: internal/arduino/builder/libraries.go:312 +#: internal/arduino/builder/libraries.go:313 msgid "Using library %[1]s at version %[2]s in folder: %[3]s %[4]s" msgstr "使用檔案夾: %[3]s %[4]s 內的程式庫 %[1]s 版本 %[2]s " -#: internal/arduino/builder/libraries.go:306 +#: internal/arduino/builder/libraries.go:307 msgid "Using library %[1]s in folder: %[2]s %[3]s" msgstr "使用檔案夾: %[2]s %[3]s 內的程式庫 %[1]s " -#: internal/arduino/builder/core.go:120 internal/arduino/builder/core.go:132 +#: internal/arduino/builder/core.go:121 internal/arduino/builder/core.go:133 msgid "Using precompiled core: %[1]s" msgstr "使用預編譯核心: %[1]s" -#: internal/arduino/builder/libraries.go:98 -#: internal/arduino/builder/libraries.go:106 +#: internal/arduino/builder/libraries.go:99 +#: internal/arduino/builder/libraries.go:107 msgid "Using precompiled library in %[1]s" msgstr "使用在%[1]s 裏預編譯的程式庫" -#: internal/arduino/builder/archive_compiled_files.go:50 -#: internal/arduino/builder/compilation.go:181 +#: internal/arduino/builder/archive_compiled_files.go:51 +#: internal/arduino/builder/compilation.go:182 msgid "Using previously compiled file: %[1]s" msgstr "使用先前編譯的檔案: %[1]s" @@ -2663,11 +2663,11 @@ msgid "Values" msgstr "數值" #: internal/cli/burnbootloader/burnbootloader.go:62 -#: internal/cli/compile/compile.go:122 internal/cli/upload/upload.go:78 +#: internal/cli/compile/compile.go:125 internal/cli/upload/upload.go:78 msgid "Verify uploaded binary after the upload." msgstr "上傳後驗證上傳的二進位碼" -#: internal/cli/compile/compile.go:453 internal/cli/compile/compile.go:468 +#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 #: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" @@ -2676,34 +2676,34 @@ msgstr "版本" msgid "Versions: %s" msgstr "版本: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:185 +#: internal/arduino/cores/packagemanager/install_uninstall.go:187 msgid "WARNING cannot configure platform: %s" msgstr "警告! 無法設定平台: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:364 +#: internal/arduino/cores/packagemanager/install_uninstall.go:366 msgid "WARNING cannot configure tool: %s" msgstr "警告!無法設定工具: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:302 -#: internal/arduino/cores/packagemanager/install_uninstall.go:416 +#: internal/arduino/cores/packagemanager/install_uninstall.go:304 +#: internal/arduino/cores/packagemanager/install_uninstall.go:418 msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告 ! 無法執行 pre_uninstall 命令: %s" -#: internal/cli/compile/compile.go:330 +#: internal/cli/compile/compile.go:333 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告! sketch 用了一或多個客製程式庫編譯" -#: internal/arduino/builder/libraries.go:283 +#: internal/arduino/builder/libraries.go:284 msgid "" "WARNING: library %[1]s claims to run on %[2]s architecture(s) and may be " "incompatible with your current board which runs on %[3]s architecture(s)." msgstr "警告: %[1]s 程式庫是 (%[2]s 架構),可能與選擇的開發板 (%[3]s架構)不相容 " -#: commands/service_upload.go:520 +#: commands/service_upload.go:521 msgid "Waiting for upload port..." msgstr "等待上傳連接埠..." -#: commands/service_compile.go:359 +#: commands/service_compile.go:367 msgid "" "Warning: Board %[1]s doesn't define a %[2]s preference. Auto-set to: %[3]s" msgstr "警告: 開發板 %[1]s 並沒定義 %[2]s 喜好。自動設定成:%[3]s" @@ -2722,7 +2722,7 @@ msgid "" "directory." msgstr "將目前的設定寫入資料目錄裏面的設定檔" -#: internal/cli/compile/compile.go:150 internal/cli/compile/compile.go:153 +#: internal/cli/compile/compile.go:153 internal/cli/compile/compile.go:156 msgid "You cannot use the %s flag while compiling with a profile." msgstr "使用設定集編譯時不能使用 %s 旗標參數" @@ -2758,11 +2758,11 @@ msgstr "基本搜尋\"audio\" " msgid "basic search for \"esp32\" and \"display\" limited to official Maintainer" msgstr "基本搜尋只限於官方維護者的 \"esp32\" 和 \"display\"" -#: commands/service_upload.go:791 +#: commands/service_upload.go:792 msgid "binary file not found in %s" msgstr "%s 裏找不到二進位檔" -#: internal/arduino/cores/packagemanager/package_manager.go:348 +#: internal/arduino/cores/packagemanager/package_manager.go:315 msgid "board %s not found" msgstr "找不到開發板 %s" @@ -2778,7 +2778,7 @@ msgstr "內建程式庫目錄未設定" msgid "can't find latest release of %s" msgstr "找不到最新版的 %s " -#: commands/instances.go:272 +#: commands/instances.go:273 msgid "can't find latest release of tool %s" msgstr "找不到最新版的工具 %s " @@ -2790,11 +2790,11 @@ msgstr "找不到 id 為 %s 探索的樣態" msgid "candidates" msgstr "候選" -#: commands/service_upload.go:737 commands/service_upload.go:744 +#: commands/service_upload.go:738 commands/service_upload.go:745 msgid "cannot execute upload tool: %s" msgstr "無法執行上傳工具: %s" -#: internal/arduino/resources/install.go:40 +#: internal/arduino/resources/install.go:48 msgid "checking local archive integrity" msgstr "檢查本地端存檔的完整性" @@ -2820,11 +2820,11 @@ msgstr "通信不同步,預期 '%[1]s',卻收到 '%[2]s'" msgid "computing hash: %s" msgstr "計算雜湊: %s" -#: internal/arduino/cores/fqbn.go:81 +#: pkg/fqbn/fqbn.go:83 msgid "config key %s contains an invalid character" msgstr "設定鍵 %s 含有無效字元" -#: internal/arduino/cores/fqbn.go:86 +#: pkg/fqbn/fqbn.go:87 msgid "config value %s contains an invalid character" msgstr "設定值%s 含有無效字元" @@ -2832,15 +2832,15 @@ msgstr "設定值%s 含有無效字元" msgid "copying library to destination directory:" msgstr "拷貝程式庫到目標目錄:" -#: commands/service_upload.go:863 +#: commands/service_upload.go:864 msgid "could not find a valid build artifact" msgstr "找不到正確的建構成品" -#: commands/service_platform_install.go:94 +#: commands/service_platform_install.go:95 msgid "could not overwrite" msgstr "無法覆寫" -#: commands/service_library_install.go:190 +#: commands/service_library_install.go:191 msgid "could not remove old library" msgstr "無法移除舊的程式庫" @@ -2849,20 +2849,20 @@ msgstr "無法移除舊的程式庫" msgid "could not update sketch project file" msgstr "無法更新 sketch 專案檔" -#: internal/arduino/builder/core.go:116 internal/arduino/builder/core.go:140 +#: internal/arduino/builder/core.go:117 internal/arduino/builder/core.go:141 msgid "creating core cache folder: %s" msgstr "建立核心快取檔案夾: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:219 +#: internal/arduino/cores/packagemanager/install_uninstall.go:221 msgid "creating installed.json in %[1]s: %[2]s" msgstr "在 %[1]s:%[2]s 建立 installed.json" -#: internal/arduino/resources/install.go:45 -#: internal/arduino/resources/install.go:49 +#: internal/arduino/resources/install.go:54 +#: internal/arduino/resources/install.go:58 msgid "creating temp dir for extraction: %s" msgstr "建立解壓縮用的臨時目錄: %s" -#: internal/arduino/builder/sizer.go:196 +#: internal/arduino/builder/sizer.go:199 msgid "data section exceeds available space in board" msgstr "資料區已超出開發板的可用空間" @@ -2878,7 +2878,7 @@ msgstr "目標目錄 %s 已存在,無法安裝" msgid "destination directory already exists" msgstr "目標目錄已存在" -#: internal/arduino/libraries/librariesmanager/install.go:278 +#: internal/arduino/libraries/librariesmanager/install.go:294 msgid "directory doesn't exist: %s" msgstr "目錄不存在: %s" @@ -2894,7 +2894,7 @@ msgstr "探索 %s找不到 " msgid "discovery %s not installed" msgstr "探索 %s 未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:746 +#: internal/arduino/cores/packagemanager/package_manager.go:713 msgid "discovery release not found: %s" msgstr "找不到探索發行: %s" @@ -2910,11 +2910,11 @@ msgstr "下載 Arduino SAMD 核心最新版" msgid "downloaded" msgstr "已下載" -#: commands/instances.go:55 +#: commands/instances.go:56 msgid "downloading %[1]s tool: %[2]s" msgstr "正在下載 %[1]s 工具: %[2]s" -#: internal/arduino/cores/fqbn.go:60 +#: pkg/fqbn/fqbn.go:63 msgid "empty board identifier" msgstr "清空開發板識別" @@ -2930,11 +2930,11 @@ msgstr "錯誤開啟 %s" msgid "error parsing version constraints" msgstr "錯誤解析版本限制" -#: commands/service_board_list.go:115 +#: commands/service_board_identify.go:203 msgid "error processing response from server" msgstr "錯誤處理伺服器回應" -#: commands/service_board_list.go:95 +#: commands/service_board_identify.go:183 msgid "error querying Arduino Cloud Api" msgstr "錯誤查詢 Arduino Cloud Api" @@ -2942,7 +2942,7 @@ msgstr "錯誤查詢 Arduino Cloud Api" msgid "extracting archive" msgstr "解開存檔" -#: internal/arduino/resources/install.go:68 +#: internal/arduino/resources/install.go:77 msgid "extracting archive: %s" msgstr "解開存檔: %s" @@ -2950,7 +2950,7 @@ msgstr "解開存檔: %s" msgid "failed to compute hash of file \"%s\"" msgstr "計算 “%s” 檔的雜湊值失敗" -#: commands/service_board_list.go:90 +#: commands/service_board_identify.go:178 msgid "failed to initialize http client" msgstr "初始化 http 客戶端失敗" @@ -2958,7 +2958,7 @@ msgstr "初始化 http 客戶端失敗" msgid "fetched archive size differs from size specified in index" msgstr "抓取的存檔大小跟索引內指明的大小不同" -#: internal/arduino/resources/install.go:123 +#: internal/arduino/resources/install.go:132 msgid "files in archive must be placed in a subdirectory" msgstr "存檔內的檔案必須放在子目錄下" @@ -2988,7 +2988,7 @@ msgstr "針對最新版本" msgid "for the specific version." msgstr "針對特定版本" -#: internal/arduino/cores/fqbn.go:66 +#: pkg/fqbn/fqbn.go:68 msgid "fqbn's field %s contains an invalid character" msgstr "fqbn 欄 %s 含有無效字元" @@ -3012,11 +3012,11 @@ msgstr "取得存檔資訊: %s" #: internal/arduino/resources/checksums.go:89 #: internal/arduino/resources/download.go:36 #: internal/arduino/resources/helpers.go:39 -#: internal/arduino/resources/install.go:56 +#: internal/arduino/resources/install.go:65 msgid "getting archive path: %s" msgstr "取得存檔路徑: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:354 +#: internal/arduino/cores/packagemanager/package_manager.go:321 msgid "getting build properties for board %[1]s: %[2]s" msgstr "取得開發板 %[1]s: %[2]s 的建構屬性" @@ -3036,11 +3036,11 @@ msgstr "取得平台 %[1]s: %[2]s 的工具相依" msgid "install directory not set" msgstr "未設定安裝目錄" -#: commands/instances.go:59 +#: commands/instances.go:60 msgid "installing %[1]s tool: %[2]s" msgstr "安裝 %[1]s 工具: %[2]s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:211 +#: internal/arduino/cores/packagemanager/install_uninstall.go:213 msgid "installing platform %[1]s: %[2]s" msgstr "安裝平台%[1]s: %[2]s" @@ -3056,7 +3056,7 @@ msgstr "無效的 '%s' 指令" msgid "invalid checksum format: %s" msgstr "無效的校驗碼格式: %s" -#: internal/arduino/cores/fqbn.go:73 internal/arduino/cores/fqbn.go:78 +#: pkg/fqbn/fqbn.go:75 pkg/fqbn/fqbn.go:80 msgid "invalid config option: %s" msgstr "無效的設定選項: %s" @@ -3088,11 +3088,14 @@ msgstr "無效的空程式庫名" msgid "invalid empty library version: %s" msgstr "無效的空程式庫版本: %s" -#: internal/arduino/cores/board.go:143 +#: internal/arduino/cores/board.go:144 msgid "invalid empty option found" msgstr "找到無效的空選項" +#: internal/arduino/libraries/librariesmanager/install.go:265 #: internal/arduino/libraries/librariesmanager/install.go:268 +#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:279 msgid "invalid git url" msgstr "無效的 git 網址" @@ -3120,7 +3123,7 @@ msgstr "無效的程式庫位置: %s" msgid "invalid library: no header files found" msgstr "無效的程式庫: 找不到 .h 標頭檔" -#: internal/arduino/cores/board.go:146 +#: internal/arduino/cores/board.go:147 msgid "invalid option '%s'" msgstr "無效的選項 '%s'" @@ -3136,10 +3139,6 @@ msgstr "無效路徑難建立設定目錄: %[1]s 錯誤" msgid "invalid path writing inventory file: %[1]s error" msgstr "無效路徑來寫入檔案: %[1]s 錯誤" -#: internal/arduino/cores/packageindex/index.go:278 -msgid "invalid platform archive size: %s" -msgstr "無效的平台存檔大小: %s" - #: internal/arduino/sketch/profiles.go:252 msgid "invalid platform identifier" msgstr "無效的平台識別" @@ -3158,9 +3157,9 @@ msgstr "無效的連接埠設定值 %s : %s" #: internal/cli/monitor/monitor.go:182 msgid "invalid port configuration: %s=%s" -msgstr "" +msgstr "無效的連接埠設定: %s" -#: commands/service_upload.go:724 +#: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" msgstr "無效的作法'%[1]s': %[2]s" @@ -3171,7 +3170,7 @@ msgid "" "cannot be \".\"." msgstr "無效的 sketch 名 \\\"%[1]s\\\": 首字元必須是英數字或底線, 接著可以是減號和逗點, 但最後字元不可以是逗點" -#: internal/arduino/cores/board.go:150 +#: internal/arduino/cores/board.go:151 msgid "invalid value '%[1]s' for option '%[2]s'" msgstr "無效的 '%[2]s' 選項值 '%[1]s' " @@ -3215,7 +3214,7 @@ msgstr "名字上有 \"pcf8523\" 的程式庫" msgid "library %s already installed" msgstr "程式庫 %s 已安裝" -#: internal/arduino/libraries/librariesmanager/install.go:315 +#: internal/arduino/libraries/librariesmanager/install.go:331 msgid "library not valid" msgstr "程式庫無效" @@ -3229,8 +3228,8 @@ msgstr "載入 %[1]s: %[2]s" msgid "loading boards: %s" msgstr "載入開發板: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:501 -#: internal/arduino/cores/packagemanager/package_manager.go:516 +#: internal/arduino/cores/packagemanager/package_manager.go:468 +#: internal/arduino/cores/packagemanager/package_manager.go:483 msgid "loading json index file %[1]s: %[2]s" msgstr "載入json 索引檔 %[1]s:%[2]s" @@ -3267,7 +3266,7 @@ msgstr "載入在 %s 的工具" msgid "looking for boards.txt in %s" msgstr "在 %s 尋找 boards.txt" -#: commands/service_upload.go:806 +#: commands/service_upload.go:807 msgid "looking for build artifacts" msgstr "尋找建構成品" @@ -3283,7 +3282,7 @@ msgstr "缺少 '%s' 指令" msgid "missing checksum for: %s" msgstr "缺少 %s 的校驗碼" -#: internal/arduino/cores/packagemanager/package_manager.go:462 +#: internal/arduino/cores/packagemanager/package_manager.go:429 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" @@ -3291,11 +3290,11 @@ msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少 %s 的套件索引, 不保証未來更新與否" -#: internal/arduino/cores/packagemanager/package_manager.go:467 +#: internal/arduino/cores/packagemanager/package_manager.go:434 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少被開發板 %[3]s 參照的平台 %[1]s : %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:472 +#: internal/arduino/cores/packagemanager/package_manager.go:439 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" @@ -3303,17 +3302,17 @@ msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" msgid "missing signature" msgstr "找不到簽名" -#: internal/arduino/cores/packagemanager/package_manager.go:757 +#: internal/arduino/cores/packagemanager/package_manager.go:724 msgid "monitor release not found: %s" msgstr "沒找到監視器發行版: %s" #: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:246 -#: internal/arduino/resources/install.go:97 +#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "移動解壓縮的存檔到目標資料夾: %s" -#: commands/service_upload.go:858 +#: commands/service_upload.go:859 msgid "multiple build artifacts found: '%[1]s' and '%[2]s'" msgstr "找到多個建構成品: '%[1]s' 和 '%[2]s'" @@ -3321,17 +3320,17 @@ msgstr "找到多個建構成品: '%[1]s' 和 '%[2]s'" msgid "multiple main sketch files found (%[1]v, %[2]v)" msgstr "找到多個 sketch 檔 (%[1]v, %[2]v)" -#: internal/arduino/cores/packagemanager/install_uninstall.go:338 +#: internal/arduino/cores/packagemanager/install_uninstall.go:340 msgid "" "no compatible version of %[1]s tools found for the current os, try " "contacting %[2]s" msgstr "沒找到目前作業系統相容工具版本 %[1]s,請聯絡 %[2]s" -#: commands/service_board_list.go:273 +#: commands/service_board_list.go:106 msgid "no instance specified" msgstr "未指定實例" -#: commands/service_upload.go:813 +#: commands/service_upload.go:814 msgid "no sketch or build directory/file specified" msgstr "未指定 sketch 或建構目錄/檔" @@ -3339,11 +3338,11 @@ msgstr "未指定 sketch 或建構目錄/檔" msgid "no such file or directory" msgstr "沒有這檔案/目錄" -#: internal/arduino/resources/install.go:126 +#: internal/arduino/resources/install.go:135 msgid "no unique root dir in archive, found '%[1]s' and '%[2]s'" msgstr "存檔中沒有單一的根目錄,找到了 '%[1]s' 和 '%[2]s'" -#: commands/service_upload.go:719 +#: commands/service_upload.go:720 msgid "no upload port provided" msgstr "未提供上傳連接埠" @@ -3355,7 +3354,7 @@ msgstr "在 %[1]s 找不到有效的 sketch : 缺少 %[2]s" msgid "no versions available for the current OS, try contacting %s" msgstr "目前的作業系統沒可用的版本,請聯絡 %s" -#: internal/arduino/cores/fqbn.go:50 +#: pkg/fqbn/fqbn.go:53 msgid "not an FQBN: %s" msgstr "不是 FQBN: %s" @@ -3364,7 +3363,7 @@ msgid "not running in a terminal" msgstr "沒在終端執行" #: internal/arduino/resources/checksums.go:71 -#: internal/arduino/resources/install.go:60 +#: internal/arduino/resources/install.go:69 msgid "opening archive file: %s" msgstr "開啟存檔: %s" @@ -3386,12 +3385,12 @@ msgstr "開啟目標檔: %s" msgid "package %s not found" msgstr "找不到套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:530 +#: internal/arduino/cores/packagemanager/package_manager.go:497 msgid "package '%s' not found" msgstr "找不到套件 '%s'" -#: internal/arduino/cores/board.go:166 -#: internal/arduino/cores/packagemanager/package_manager.go:295 +#: internal/arduino/cores/board.go:167 +#: internal/arduino/cores/packagemanager/package_manager.go:262 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" @@ -3407,7 +3406,7 @@ msgstr "路徑不是平台目錄: %s" msgid "platform %[1]s not found in package %[2]s" msgstr "%[2]s 套件裏找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:341 +#: internal/arduino/cores/packagemanager/package_manager.go:308 msgid "platform %s is not installed" msgstr "平台 %s 未安裝" @@ -3415,14 +3414,14 @@ msgstr "平台 %s 未安裝" msgid "platform is not available for your OS" msgstr "平台不支援使用中的作業系統" -#: commands/service_compile.go:128 -#: internal/arduino/cores/packagemanager/install_uninstall.go:179 -#: internal/arduino/cores/packagemanager/install_uninstall.go:283 +#: commands/service_compile.go:129 +#: internal/arduino/cores/packagemanager/install_uninstall.go:181 +#: internal/arduino/cores/packagemanager/install_uninstall.go:285 #: internal/arduino/cores/packagemanager/loader.go:420 msgid "platform not installed" msgstr "平台未安裝" -#: internal/cli/compile/compile.go:139 +#: internal/cli/compile/compile.go:142 msgid "please use --build-property instead." msgstr "請改用 --build-property" @@ -3461,11 +3460,11 @@ msgstr "讀取目錄 %[1]s 的內容" msgid "reading directory %s" msgstr "讀取目錄 %s" -#: internal/arduino/libraries/librariesmanager/install.go:288 +#: internal/arduino/libraries/librariesmanager/install.go:304 msgid "reading directory %s content" msgstr "讀取目錄 %s 的內容" -#: internal/arduino/builder/sketch.go:81 +#: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" msgstr "讀取檔案%[1]s: %[2]s" @@ -3489,7 +3488,7 @@ msgstr "讀取程式庫來源目錄: %s" msgid "reading library_index.json: %s" msgstr "讀取 library_index.json: %s" -#: internal/arduino/resources/install.go:116 +#: internal/arduino/resources/install.go:125 msgid "reading package root dir: %s" msgstr "讀取套件根目錄: %s" @@ -3497,11 +3496,11 @@ msgstr "讀取套件根目錄: %s" msgid "reading sketch files" msgstr "讀取 sketch 檔" -#: commands/service_upload.go:713 +#: commands/service_upload.go:714 msgid "recipe not found '%s'" msgstr "作法未找到 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:606 +#: internal/arduino/cores/packagemanager/package_manager.go:573 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到工具 %[2]s 的發行版 %[1]s" @@ -3518,7 +3517,7 @@ msgstr "刪除損壞的存檔 %s" msgid "removing library directory: %s" msgstr "刪除程式庫目錄: %s" -#: internal/arduino/cores/packagemanager/install_uninstall.go:310 +#: internal/arduino/cores/packagemanager/install_uninstall.go:312 msgid "removing platform files: %s" msgstr "刪除平台檔: %s" @@ -3535,13 +3534,13 @@ msgstr "取得 Arduino 公鑰:%s" msgid "scanning sketch examples" msgstr "掃描 sketch 範例" -#: internal/arduino/resources/install.go:74 +#: internal/arduino/resources/install.go:83 msgid "searching package root dir: %s" msgstr "尋找套件根目錄: %s" #: internal/arduino/security/signatures.go:87 msgid "signature expired: is your system clock set correctly?" -msgstr "" +msgstr "簽名過期:系統時間有設定正確嗎?" #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" @@ -3580,11 +3579,11 @@ msgstr "測試存檔大小: %s" msgid "testing if archive is cached: %s" msgstr "測試存檔是否被快取: %s" -#: internal/arduino/resources/install.go:38 +#: internal/arduino/resources/install.go:46 msgid "testing local archive integrity: %s" msgstr "測試本地存檔完整性: %s" -#: internal/arduino/builder/sizer.go:191 +#: internal/arduino/builder/sizer.go:194 msgid "text section exceeds available space in board" msgstr "本文區已超出開發板的可用空間" @@ -3593,7 +3592,7 @@ msgstr "本文區已超出開發板的可用空間" msgid "the compilation database may be incomplete or inaccurate" msgstr "編譯資料庫可能不完整或不準確" -#: commands/service_board_list.go:102 +#: commands/service_board_identify.go:190 msgid "the server responded with status %s" msgstr "伺服器回應狀態 %s" @@ -3601,7 +3600,7 @@ msgstr "伺服器回應狀態 %s" msgid "timeout waiting for message" msgstr "等待訊息超時" -#: internal/arduino/cores/packagemanager/install_uninstall.go:404 +#: internal/arduino/cores/packagemanager/install_uninstall.go:406 msgid "tool %s is not managed by package manager" msgstr "工具 %s 不是由套件管理員管理的" @@ -3610,16 +3609,16 @@ msgstr "工具 %s 不是由套件管理員管理的" msgid "tool %s not found" msgstr "找不到工具 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:556 +#: internal/arduino/cores/packagemanager/package_manager.go:523 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" -#: internal/arduino/cores/packagemanager/install_uninstall.go:399 +#: internal/arduino/cores/packagemanager/install_uninstall.go:401 msgid "tool not installed" msgstr "工具未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:735 -#: internal/arduino/cores/packagemanager/package_manager.go:841 +#: internal/arduino/cores/packagemanager/package_manager.go:702 +#: internal/arduino/cores/packagemanager/package_manager.go:808 msgid "tool release not found: %s" msgstr "工具發行未找到: %s" @@ -3627,21 +3626,21 @@ msgstr "工具發行未找到: %s" msgid "tool version %s not found" msgstr "工具版本 %s 未找到" -#: commands/service_library_install.go:92 +#: commands/service_library_install.go:93 msgid "" "two different versions of the library %[1]s are required: %[2]s and %[3]s" msgstr "需要兩個不同版本的程式庫 %[1]s : %[2]s 和 %[3]s" -#: internal/arduino/builder/sketch.go:74 -#: internal/arduino/builder/sketch.go:118 +#: internal/arduino/builder/sketch.go:76 +#: internal/arduino/builder/sketch.go:120 msgid "unable to compute relative path to the sketch for the item" msgstr "無法計算 sketch 的相對路徑" -#: internal/arduino/builder/sketch.go:43 +#: internal/arduino/builder/sketch.go:45 msgid "unable to create a folder to save the sketch" msgstr "無法建立保存 sketch 的資料夾" -#: internal/arduino/builder/sketch.go:124 +#: internal/arduino/builder/sketch.go:126 msgid "unable to create the folder containing the item" msgstr "無法建立含有項目的資料夾" @@ -3649,23 +3648,23 @@ msgstr "無法建立含有項目的資料夾" msgid "unable to marshal config to YAML: %v" msgstr "無法將 config 轉成 YAML: %v" -#: internal/arduino/builder/sketch.go:162 +#: internal/arduino/builder/sketch.go:164 msgid "unable to read contents of the destination item" msgstr "無法讀取目標項目的內容" -#: internal/arduino/builder/sketch.go:135 +#: internal/arduino/builder/sketch.go:137 msgid "unable to read contents of the source item" msgstr "無法讀取來源項目的內容" -#: internal/arduino/builder/sketch.go:145 +#: internal/arduino/builder/sketch.go:147 msgid "unable to write to destination file" msgstr "無法寫入目標檔" -#: internal/arduino/cores/packagemanager/package_manager.go:329 +#: internal/arduino/cores/packagemanager/package_manager.go:296 msgid "unknown package %s" msgstr "未知的套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:336 +#: internal/arduino/cores/packagemanager/package_manager.go:303 msgid "unknown platform %s:%s" msgstr "未知的平台 %s:%s" @@ -3685,7 +3684,7 @@ msgstr "升級 arduino:samd 到最新版" msgid "upgrade everything to the latest version" msgstr "升級全部內容到最新版" -#: commands/service_upload.go:759 +#: commands/service_upload.go:760 msgid "uploading error: %s" msgstr "上傳錯誤: %s" @@ -3709,6 +3708,6 @@ msgstr "版本 %s 不適合本作業系統" msgid "version %s not found" msgstr "沒找到版本 %s " -#: commands/service_board_list.go:120 +#: commands/service_board_identify.go:208 msgid "wrong format in server response" msgstr "伺服器回應錯誤格式" From 9c495211bba5543af0d49957d6c6982d18d1eabe Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 24 Feb 2025 16:52:58 +0100 Subject: [PATCH 327/361] [skip-changelog] Investigate some integration-test failures (increase debugging prints) (#2844) --- internal/integrationtest/daemon/daemon_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index c90c5c7ac61..53d39566d32 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -618,6 +618,7 @@ func analyzeUpdateIndexClient(t *testing.T, cl commands.ArduinoCoreService_Updat analyzer := NewDownloadProgressAnalyzer(t) for { msg, err := cl.Recv() + fmt.Println("UPDATE>", msg, err) if errors.Is(err, io.EOF) { return analyzer.Results, nil } From 81e6038cae0ec556eb105afed8def893d12a1d16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 12:04:38 +0100 Subject: [PATCH 328/361] [skip changelog] Bump github.com/rogpeppe/go-internal (#2849) Bumps [github.com/rogpeppe/go-internal](https://github.com/rogpeppe/go-internal) from 1.13.1 to 1.14.1. - [Release notes](https://github.com/rogpeppe/go-internal/releases) - [Commits](https://github.com/rogpeppe/go-internal/compare/v1.13.1...v1.14.1) --- updated-dependencies: - dependency-name: github.com/rogpeppe/go-internal dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 3dcf2cb68ec..10af2c2cef5 100644 --- a/go.mod +++ b/go.mod @@ -28,7 +28,7 @@ require ( github.com/mattn/go-colorable v0.1.14 github.com/mattn/go-isatty v0.0.20 github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5 - github.com/rogpeppe/go-internal v1.13.1 + github.com/rogpeppe/go-internal v1.14.1 github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.8.1 diff --git a/go.sum b/go.sum index 2d63a257cf1..952d39b44f1 100644 --- a/go.sum +++ b/go.sum @@ -148,8 +148,8 @@ github.com/rifflock/lfshook v0.0.0-20180920164130-b9218ef580f5/go.mod h1:GEXHk5H github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII= -github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= From f2aa01830674f19029e36ea1475513d1496caac5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 15:06:00 +0100 Subject: [PATCH 329/361] [skip changelog] Bump github.com/ProtonMail/go-crypto from 1.1.5 to 1.1.6 (#2851) * [skip changelog] Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 1.1.5 to 1.1.6. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/compare/v1.1.5...v1.1.6) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/brainpool.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml | 6 +++--- .../ProtonMail/go-crypto/internal/byteutil.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 24 files changed, 69 insertions(+), 69 deletions(-) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index 0fbc8066ac8..bf62cb382da 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.5 +version: v1.1.6 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index 038beff389f..b8d7d2da9f0 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.5 +version: v1.1.6 type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index 3b697a81cbd..6fb229ad21f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.5 +version: v1.1.6 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 72f302ad706..59da689402f 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.5 +version: v1.1.6 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index 714a863722f..da75af00f07 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.5 +version: v1.1.6 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index 313683cd190..3b389adff32 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.5 +version: v1.1.6 type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index 32caa6f65db..940998a6369 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.5 +version: v1.1.6 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index 25ba90b2f55..5cddde99393 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.5 +version: v1.1.6 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 081f2f4b456..9612759aaf5 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.5 +version: v1.1.6 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index e58a87e238f..430d141a2eb 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.5 +version: v1.1.6 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index 51b4f79497b..8531c33a78b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.5 +version: v1.1.6 type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index bd3a3488ad6..732aaac55fb 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.5 +version: v1.1.6 type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index 5a724b1378c..d881873aa95 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.5 +version: v1.1.6 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index 7d2c3f4e38e..db509dd809d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.5 +version: v1.1.6 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index 139e74a40a9..3eb5541873a 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.5 +version: v1.1.6 type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index 60da98b89d7..def9fb06f48 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.5 +version: v1.1.6 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index f05bc9bfb9a..bbd0f12d7b5 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.5 +version: v1.1.6 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index e884bd4e99c..5083aa32b28 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.5 +version: v1.1.6 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index 431c8602cdb..41f57f3604c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.5 +version: v1.1.6 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index 3cce4ac21d8..06cb05e44fc 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.5 +version: v1.1.6 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index dfa3e866278..5bc4be455b5 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.5 +version: v1.1.6 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index cf63a007191..957a5f6e9a2 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.5 +version: v1.1.6 type: go summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.5/LICENSE +- sources: go-crypto@v1.1.6/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.5/PATENTS +- sources: go-crypto@v1.1.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 10af2c2cef5..ac634bb4cd8 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( fortio.org/safecast v1.0.0 - github.com/ProtonMail/go-crypto v1.1.5 + github.com/ProtonMail/go-crypto v1.1.6 github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 diff --git a/go.sum b/go.sum index 952d39b44f1..4a2451cb0ce 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,8 @@ fortio.org/safecast v1.0.0/go.mod h1:xZmcPk3vi4kuUFf+tq4SvnlVdwViqf6ZSZl91Jr9Jdg github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= -github.com/ProtonMail/go-crypto v1.1.5 h1:eoAQfK2dwL+tFSFpr7TbOaPNUbPiJj4fLYwwGE1FQO4= -github.com/ProtonMail/go-crypto v1.1.5/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNxpLfdw= +github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= From 079a28f83f4bb7110edf2933da7ff004a34716a7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 15:22:55 +0100 Subject: [PATCH 330/361] [skip changelog] Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 (#2838) * [skip changelog] Bump github.com/spf13/cobra from 1.8.1 to 1.9.1 Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.8.1 to 1.9.1. - [Release notes](https://github.com/spf13/cobra/releases) - [Commits](https://github.com/spf13/cobra/compare/v1.8.1...v1.9.1) --- updated-dependencies: - dependency-name: github.com/spf13/cobra dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../github.com/cpuguy83/go-md2man/v2/md2man.dep.yml | 4 ++-- .licenses/go/github.com/spf13/cobra.dep.yml | 2 +- .licenses/go/github.com/spf13/cobra/doc.dep.yml | 6 +++--- .licenses/go/github.com/spf13/pflag.dep.yml | 2 +- go.mod | 6 +++--- go.sum | 12 ++++++------ 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml b/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml index b54f9f66208..64115882aeb 100644 --- a/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml +++ b/.licenses/go/github.com/cpuguy83/go-md2man/v2/md2man.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cpuguy83/go-md2man/v2/md2man -version: v2.0.4 +version: v2.0.6 type: go summary: homepage: https://pkg.go.dev/github.com/cpuguy83/go-md2man/v2/md2man license: mit licenses: -- sources: v2@v2.0.4/LICENSE.md +- sources: v2@v2.0.6/LICENSE.md text: | The MIT License (MIT) diff --git a/.licenses/go/github.com/spf13/cobra.dep.yml b/.licenses/go/github.com/spf13/cobra.dep.yml index 4c4ee44eebe..8259dc45262 100644 --- a/.licenses/go/github.com/spf13/cobra.dep.yml +++ b/.licenses/go/github.com/spf13/cobra.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/cobra -version: v1.8.1 +version: v1.9.1 type: go summary: Package cobra is a commander providing a simple interface to create powerful modern CLI interfaces. diff --git a/.licenses/go/github.com/spf13/cobra/doc.dep.yml b/.licenses/go/github.com/spf13/cobra/doc.dep.yml index 9ba6a34eefc..cf8977f3ea4 100644 --- a/.licenses/go/github.com/spf13/cobra/doc.dep.yml +++ b/.licenses/go/github.com/spf13/cobra/doc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/cobra/doc -version: v1.8.1 +version: v1.9.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/cobra/doc license: apache-2.0 licenses: -- sources: cobra@v1.8.1/LICENSE.txt +- sources: cobra@v1.9.1/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,6 +182,6 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: cobra@v1.8.1/README.md +- sources: cobra@v1.9.1/README.md text: Cobra is released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) notices: [] diff --git a/.licenses/go/github.com/spf13/pflag.dep.yml b/.licenses/go/github.com/spf13/pflag.dep.yml index c0bf7c43354..fd6fa37096a 100644 --- a/.licenses/go/github.com/spf13/pflag.dep.yml +++ b/.licenses/go/github.com/spf13/pflag.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/pflag -version: v1.0.5 +version: v1.0.6 type: go summary: Package pflag is a drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. diff --git a/go.mod b/go.mod index ac634bb4cd8..5780055a012 100644 --- a/go.mod +++ b/go.mod @@ -31,7 +31,7 @@ require ( github.com/rogpeppe/go-internal v1.14.1 github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 - github.com/spf13/cobra v1.8.1 + github.com/spf13/cobra v1.9.1 github.com/spf13/viper v1.19.0 github.com/stretchr/testify v1.10.0 github.com/xeipuuv/gojsonschema v1.2.0 @@ -53,7 +53,7 @@ require ( dario.cat/mergo v1.0.0 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect github.com/cloudflare/circl v1.3.7 // indirect - github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect + github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect github.com/creack/goselect v0.1.2 // indirect github.com/cyphar/filepath-securejoin v0.3.6 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect @@ -89,7 +89,7 @@ require ( github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.11.0 // indirect github.com/spf13/cast v1.6.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect + github.com/spf13/pflag v1.0.6 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/ulikunitz/xz v0.5.12 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect diff --git a/go.sum b/go.sum index 4a2451cb0ce..7630e3ae4b1 100644 --- a/go.sum +++ b/go.sum @@ -34,8 +34,8 @@ github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= github.com/cmaglie/pb v1.0.27/go.mod h1:GilkKZMXYjBA4NxItWFfO+lwkp59PLHQ+IOW/b/kmZI= github.com/codeclysm/extract/v4 v4.0.0 h1:H87LFsUNaJTu2e/8p/oiuiUsOK/TaPQ5wxsjPnwPEIY= github.com/codeclysm/extract/v4 v4.0.0/go.mod h1:SFju1lj6as7FvUgalpSct7torJE0zttbJUWtryPRG6s= -github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= -github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo5vtkx0= +github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM= @@ -171,10 +171,10 @@ github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= -github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM= -github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= +github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= From b9edb782a265b99878b4bce489c1751c4dcbee61 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Fri, 28 Feb 2025 11:03:39 +0100 Subject: [PATCH 331/361] bugfix: `compile ... --dump-profile` now produces a clean output (only the profile) (#2852) * Output a clean profile with --dump-profile * Use bytes.NewBuffer for creation of bytes buffers * Added integration test --- internal/cli/compile/compile.go | 110 ++++++++++-------- internal/cli/feedback/feedback.go | 4 +- internal/cli/feedback/stdio.go | 2 +- .../compile_4/dump_profile_test.go | 71 +++++++++++ .../testdata/InvalidSketch/InvalidSketch.ino | 3 + .../testdata/ValidSketch/ValidSketch.ino | 2 + 6 files changed, 140 insertions(+), 52 deletions(-) create mode 100644 internal/integrationtest/compile_4/dump_profile_test.go create mode 100644 internal/integrationtest/compile_4/testdata/InvalidSketch/InvalidSketch.ino create mode 100644 internal/integrationtest/compile_4/testdata/ValidSketch/ValidSketch.ino diff --git a/internal/cli/compile/compile.go b/internal/cli/compile/compile.go index 69ec3d52966..ad906fcd919 100644 --- a/internal/cli/compile/compile.go +++ b/internal/cli/compile/compile.go @@ -211,7 +211,9 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer var stdOut, stdErr io.Writer var stdIORes func() *feedback.OutputStreamsResult - if showProperties != arguments.ShowPropertiesDisabled { + if showProperties != arguments.ShowPropertiesDisabled || dumpProfile { + // When dumping profile or showing properties, we buffer the output + // to avoid mixing compilation output with profile/properties output stdOut, stdErr, stdIORes = feedback.NewBufferedStreams() } else { stdOut, stdErr, stdIORes = feedback.OutputStreams() @@ -312,60 +314,69 @@ func runCompileCommand(cmd *cobra.Command, args []string, srv rpc.ArduinoCoreSer } } + successful := (compileError == nil) profileOut := "" - if dumpProfile && compileError == nil { - // Output profile - - libs := "" - hasVendoredLibs := false - for _, lib := range builderRes.GetUsedLibraries() { - if lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_USER && lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_UNMANAGED { - continue + stdIO := stdIORes() + + if dumpProfile { + if successful { + // Output profile + + libs := "" + hasVendoredLibs := false + for _, lib := range builderRes.GetUsedLibraries() { + if lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_USER && lib.GetLocation() != rpc.LibraryLocation_LIBRARY_LOCATION_UNMANAGED { + continue + } + if lib.GetVersion() == "" { + hasVendoredLibs = true + continue + } + libs += fmt.Sprintln(" - " + lib.GetName() + " (" + lib.GetVersion() + ")") } - if lib.GetVersion() == "" { - hasVendoredLibs = true - continue + if hasVendoredLibs { + msg := "\n" + msg += i18n.Tr("WARNING: The sketch is compiled using one or more custom libraries.") + "\n" + msg += i18n.Tr("Currently, Build Profiles only support libraries available through Arduino Library Manager.") + feedback.Warning(msg) } - libs += fmt.Sprintln(" - " + lib.GetName() + " (" + lib.GetVersion() + ")") - } - if hasVendoredLibs { - msg := "\n" - msg += i18n.Tr("WARNING: The sketch is compiled using one or more custom libraries.") + "\n" - msg += i18n.Tr("Currently, Build Profiles only support libraries available through Arduino Library Manager.") - feedback.Warning(msg) - } - - newProfileName := "my_profile_name" - if split := strings.Split(compileRequest.GetFqbn(), ":"); len(split) > 2 { - newProfileName = split[2] - } - profileOut = fmt.Sprintln("profiles:") - profileOut += fmt.Sprintln(" " + newProfileName + ":") - profileOut += fmt.Sprintln(" fqbn: " + compileRequest.GetFqbn()) - profileOut += fmt.Sprintln(" platforms:") - boardPlatform := builderRes.GetBoardPlatform() - profileOut += fmt.Sprintln(" - platform: " + boardPlatform.GetId() + " (" + boardPlatform.GetVersion() + ")") - if url := boardPlatform.GetPackageUrl(); url != "" { - profileOut += fmt.Sprintln(" platform_index_url: " + url) - } - if buildPlatform := builderRes.GetBuildPlatform(); buildPlatform != nil && - buildPlatform.GetId() != boardPlatform.GetId() && - buildPlatform.GetVersion() != boardPlatform.GetVersion() { - profileOut += fmt.Sprintln(" - platform: " + buildPlatform.GetId() + " (" + buildPlatform.GetVersion() + ")") - if url := buildPlatform.GetPackageUrl(); url != "" { + newProfileName := "my_profile_name" + if split := strings.Split(compileRequest.GetFqbn(), ":"); len(split) > 2 { + newProfileName = split[2] + } + profileOut = fmt.Sprintln("profiles:") + profileOut += fmt.Sprintln(" " + newProfileName + ":") + profileOut += fmt.Sprintln(" fqbn: " + compileRequest.GetFqbn()) + profileOut += fmt.Sprintln(" platforms:") + boardPlatform := builderRes.GetBoardPlatform() + profileOut += fmt.Sprintln(" - platform: " + boardPlatform.GetId() + " (" + boardPlatform.GetVersion() + ")") + if url := boardPlatform.GetPackageUrl(); url != "" { profileOut += fmt.Sprintln(" platform_index_url: " + url) } + + if buildPlatform := builderRes.GetBuildPlatform(); buildPlatform != nil && + buildPlatform.GetId() != boardPlatform.GetId() && + buildPlatform.GetVersion() != boardPlatform.GetVersion() { + profileOut += fmt.Sprintln(" - platform: " + buildPlatform.GetId() + " (" + buildPlatform.GetVersion() + ")") + if url := buildPlatform.GetPackageUrl(); url != "" { + profileOut += fmt.Sprintln(" platform_index_url: " + url) + } + } + if len(libs) > 0 { + profileOut += fmt.Sprintln(" libraries:") + profileOut += fmt.Sprint(libs) + } + profileOut += fmt.Sprintln() + } else { + // An error occurred, output the buffered build errors instead of the profile + if stdOut, stdErr, err := feedback.DirectStreams(); err == nil { + stdOut.Write([]byte(stdIO.Stdout)) + stdErr.Write([]byte(stdIO.Stderr)) + } } - if len(libs) > 0 { - profileOut += fmt.Sprintln(" libraries:") - profileOut += fmt.Sprint(libs) - } - profileOut += fmt.Sprintln() } - stdIO := stdIORes() - successful := (compileError == nil) res := &compileResult{ CompilerOut: stdIO.Stdout, CompilerErr: stdIO.Stderr, @@ -437,6 +448,10 @@ func (r *compileResult) String() string { return strings.Join(r.BuilderResult.BuildProperties, fmt.Sprintln()) } + if r.Success && r.ProfileOut != "" { + return r.ProfileOut + } + if r.hideStats { return "" } @@ -485,9 +500,6 @@ func (r *compileResult) String() string { } res += fmt.Sprintln(platforms.Render()) } - if r.ProfileOut != "" { - res += fmt.Sprintln(r.ProfileOut) - } return strings.TrimRight(res, fmt.Sprintln()) } diff --git a/internal/cli/feedback/feedback.go b/internal/cli/feedback/feedback.go index c665f35a0dd..c6550d9bd01 100644 --- a/internal/cli/feedback/feedback.go +++ b/internal/cli/feedback/feedback.go @@ -84,8 +84,8 @@ func reset() { stdErr = os.Stderr feedbackOut = os.Stdout feedbackErr = os.Stderr - bufferOut = &bytes.Buffer{} - bufferErr = &bytes.Buffer{} + bufferOut = bytes.NewBuffer(nil) + bufferErr = bytes.NewBuffer(nil) bufferWarnings = nil format = Text formatSelected = false diff --git a/internal/cli/feedback/stdio.go b/internal/cli/feedback/stdio.go index e279ce2979d..fa5f463fa97 100644 --- a/internal/cli/feedback/stdio.go +++ b/internal/cli/feedback/stdio.go @@ -68,7 +68,7 @@ func OutputStreams() (io.Writer, io.Writer, func() *OutputStreamsResult) { // object that can be used as a Result or to retrieve the accumulated output // to embed it in another object. func NewBufferedStreams() (io.Writer, io.Writer, func() *OutputStreamsResult) { - out, err := &bytes.Buffer{}, &bytes.Buffer{} + out, err := bytes.NewBuffer(nil), bytes.NewBuffer(nil) return out, err, func() *OutputStreamsResult { return &OutputStreamsResult{ Stdout: out.String(), diff --git a/internal/integrationtest/compile_4/dump_profile_test.go b/internal/integrationtest/compile_4/dump_profile_test.go new file mode 100644 index 00000000000..61b76a7788a --- /dev/null +++ b/internal/integrationtest/compile_4/dump_profile_test.go @@ -0,0 +1,71 @@ +// This file is part of arduino-cli. +// +// Copyright 2023 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 compile_test + +import ( + "strings" + "testing" + + "github.com/arduino/arduino-cli/internal/integrationtest" + "github.com/arduino/go-paths-helper" + "github.com/stretchr/testify/require" +) + +func TestDumpProfileClean(t *testing.T) { + env, cli := integrationtest.CreateArduinoCLIWithEnvironment(t) + t.Cleanup(env.CleanUp) + + // Install Arduino AVR Boards + _, _, err := cli.Run("core", "install", "arduino:avr@1.8.6") + require.NoError(t, err) + + validSketchPath, err := paths.New("testdata", "ValidSketch").Abs() + require.NoError(t, err) + invalidSketchPath, err := paths.New("testdata", "InvalidSketch").Abs() + require.NoError(t, err) + + validProfile := `profiles: + uno: + fqbn: arduino:avr:uno + platforms: + - platform: arduino:avr (1.8.6)` + t.Run("NoVerbose", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "-b", "arduino:avr:uno", validSketchPath.String(), "--dump-profile") + require.NoError(t, err) + require.Empty(t, stderr) + profile := strings.TrimSpace(string(stdout)) + require.Equal(t, validProfile, profile) + }) + t.Run("Verbose", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "-b", "arduino:avr:uno", validSketchPath.String(), "--dump-profile", "--verbose") + require.NoError(t, err) + require.Empty(t, stderr) + profile := strings.TrimSpace(string(stdout)) + require.Equal(t, validProfile, profile) + }) + t.Run("ErrorNoVerbose", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "-b", "arduino:avr:uno", invalidSketchPath.String(), "--dump-profile") + require.Error(t, err) + require.NotEmpty(t, stderr) + require.NotContains(t, string(stdout), validProfile) + }) + t.Run("ErrorVerbose", func(t *testing.T) { + stdout, stderr, err := cli.Run("compile", "-b", "arduino:avr:uno", invalidSketchPath.String(), "--dump-profile", "--verbose") + require.Error(t, err) + require.NotEmpty(t, stderr) + require.NotContains(t, string(stdout), validProfile) + }) +} diff --git a/internal/integrationtest/compile_4/testdata/InvalidSketch/InvalidSketch.ino b/internal/integrationtest/compile_4/testdata/InvalidSketch/InvalidSketch.ino new file mode 100644 index 00000000000..2eba4fa09fd --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/InvalidSketch/InvalidSketch.ino @@ -0,0 +1,3 @@ +void setup() {} +void loop() {} +aaaaaa diff --git a/internal/integrationtest/compile_4/testdata/ValidSketch/ValidSketch.ino b/internal/integrationtest/compile_4/testdata/ValidSketch/ValidSketch.ino new file mode 100644 index 00000000000..660bdbccfdb --- /dev/null +++ b/internal/integrationtest/compile_4/testdata/ValidSketch/ValidSketch.ino @@ -0,0 +1,2 @@ +void setup() {} +void loop() {} From 7271e0aaeacc7af138babef2ae5bafe2582e2f47 Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessio@perugini.xyz> Date: Wed, 12 Mar 2025 17:58:31 +0100 Subject: [PATCH 332/361] Fix NewSketch crash when directories.user is not set (#2862) * integrationtest: add dameon NewSketch tests * commands: fix panic when calling `NewSketch` with empty directories.user We were calling directly a function that lookup for user definied settings. In case an user did not set explictly the directory it would return an empty string causing a panic. Instead we should have used a dedicated function `UserDir` that uses a fallback the default directories.user --- commands/service_sketch_new.go | 2 +- internal/integrationtest/arduino-cli.go | 11 +++++++++++ internal/integrationtest/daemon/daemon_test.go | 16 ++++++++++++++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/commands/service_sketch_new.go b/commands/service_sketch_new.go index ca3143e31b9..8f02908637a 100644 --- a/commands/service_sketch_new.go +++ b/commands/service_sketch_new.go @@ -48,7 +48,7 @@ func (s *arduinoCoreServerImpl) NewSketch(ctx context.Context, req *rpc.NewSketc if len(req.GetSketchDir()) > 0 { sketchesDir = req.GetSketchDir() } else { - sketchesDir = s.settings.GetString("directories.User") + sketchesDir = s.settings.UserDir().String() } if err := validateSketchName(req.GetSketchName()); err != nil { diff --git a/internal/integrationtest/arduino-cli.go b/internal/integrationtest/arduino-cli.go index 5236449d09a..f035e792f55 100644 --- a/internal/integrationtest/arduino-cli.go +++ b/internal/integrationtest/arduino-cli.go @@ -710,3 +710,14 @@ func (inst *ArduinoCLIInstance) BoardIdentify(ctx context.Context, props map[str resp, err := inst.cli.daemonClient.BoardIdentify(ctx, req) return resp, err } + +// NewSketch calls the "NewSketch" gRPC method. +func (inst *ArduinoCLIInstance) NewSketch(ctx context.Context, sketchName, sketchDir string, overwrite bool) (*commands.NewSketchResponse, error) { + req := &commands.NewSketchRequest{ + SketchName: sketchName, + SketchDir: sketchDir, + Overwrite: overwrite, + } + logCallf(">>> NewSketch(%+v)\n", req) + return inst.cli.daemonClient.NewSketch(ctx, req) +} diff --git a/internal/integrationtest/daemon/daemon_test.go b/internal/integrationtest/daemon/daemon_test.go index 53d39566d32..ae094a0d856 100644 --- a/internal/integrationtest/daemon/daemon_test.go +++ b/internal/integrationtest/daemon/daemon_test.go @@ -614,6 +614,22 @@ func TestDaemonUserAgent(t *testing.T) { } } +func TestDaemonCreateSketch(t *testing.T) { + // https://github.com/arduino/arduino-cli/issues/2861 + + env, cli := integrationtest.CreateEnvForDaemon(t) + defer env.CleanUp() + + grpcInst := cli.Create() + require.NoError(t, grpcInst.Init("", "", func(ir *commands.InitResponse) { + fmt.Printf("INIT> %v\n", ir.GetMessage()) + })) + + sketchName := "test_sketch.ino" + _, err := grpcInst.NewSketch(context.Background(), sketchName, "", false) + require.NoError(t, err) +} + func analyzeUpdateIndexClient(t *testing.T, cl commands.ArduinoCoreService_UpdateIndexClient) (map[string]*commands.DownloadProgressEnd, error) { analyzer := NewDownloadProgressAnalyzer(t) for { From 919bfd8cbeebc2e7375a51bc0276de872f2c21b6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Mar 2025 18:25:25 +0100 Subject: [PATCH 333/361] [skip changelog] Bump google.golang.org/grpc from 1.70.0 to 1.71.0 (#2855) * [skip changelog] Bump google.golang.org/grpc from 1.70.0 to 1.71.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.70.0 to 1.71.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.70.0...v1.71.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../genproto/googleapis/rpc/status.dep.yml | 4 +- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .../google.golang.org/grpc/attributes.dep.yml | 4 +- .../go/google.golang.org/grpc/backoff.dep.yml | 4 +- .../google.golang.org/grpc/balancer.dep.yml | 4 +- .../grpc/balancer/base.dep.yml | 4 +- .../grpc/balancer/endpointsharding.dep.yml | 214 ++++++++++++++++++ .../grpc/balancer/grpclb/state.dep.yml | 4 +- .../grpc/balancer/pickfirst.dep.yml | 4 +- .../grpc/balancer/pickfirst/internal.dep.yml | 4 +- .../balancer/pickfirst/pickfirstleaf.dep.yml | 4 +- .../grpc/balancer/roundrobin.dep.yml | 4 +- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 +- .../google.golang.org/grpc/channelz.dep.yml | 4 +- .../go/google.golang.org/grpc/codes.dep.yml | 4 +- .../grpc/connectivity.dep.yml | 4 +- .../grpc/credentials.dep.yml | 4 +- .../grpc/credentials/insecure.dep.yml | 4 +- .../google.golang.org/grpc/encoding.dep.yml | 4 +- .../grpc/encoding/proto.dep.yml | 4 +- .../grpc/experimental/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/grpclog.dep.yml | 4 +- .../grpc/grpclog/internal.dep.yml | 4 +- .../google.golang.org/grpc/internal.dep.yml | 4 +- .../grpc/internal/backoff.dep.yml | 4 +- .../internal/balancer/gracefulswitch.dep.yml | 4 +- .../grpc/internal/balancerload.dep.yml | 4 +- .../grpc/internal/binarylog.dep.yml | 4 +- .../grpc/internal/buffer.dep.yml | 4 +- .../grpc/internal/channelz.dep.yml | 4 +- .../grpc/internal/credentials.dep.yml | 4 +- .../grpc/internal/envconfig.dep.yml | 4 +- .../grpc/internal/grpclog.dep.yml | 4 +- .../grpc/internal/grpcsync.dep.yml | 4 +- .../grpc/internal/grpcutil.dep.yml | 4 +- .../grpc/internal/idle.dep.yml | 4 +- .../grpc/internal/metadata.dep.yml | 4 +- .../grpc/internal/pretty.dep.yml | 4 +- .../grpc/internal/proxyattributes.dep.yml | 214 ++++++++++++++++++ .../grpc/internal/resolver.dep.yml | 4 +- .../resolver/delegatingresolver.dep.yml | 214 ++++++++++++++++++ .../grpc/internal/resolver/dns.dep.yml | 4 +- .../internal/resolver/dns/internal.dep.yml | 4 +- .../internal/resolver/passthrough.dep.yml | 4 +- .../grpc/internal/resolver/unix.dep.yml | 4 +- .../grpc/internal/serviceconfig.dep.yml | 4 +- .../grpc/internal/stats.dep.yml | 4 +- .../grpc/internal/status.dep.yml | 4 +- .../grpc/internal/syscall.dep.yml | 4 +- .../grpc/internal/transport.dep.yml | 4 +- .../internal/transport/networktype.dep.yml | 4 +- .../google.golang.org/grpc/keepalive.dep.yml | 4 +- .../go/google.golang.org/grpc/mem.dep.yml | 4 +- .../google.golang.org/grpc/metadata.dep.yml | 4 +- .../go/google.golang.org/grpc/peer.dep.yml | 4 +- .../google.golang.org/grpc/resolver.dep.yml | 4 +- .../grpc/resolver/dns.dep.yml | 4 +- .../grpc/serviceconfig.dep.yml | 4 +- .../go/google.golang.org/grpc/stats.dep.yml | 4 +- .../go/google.golang.org/grpc/status.dep.yml | 4 +- .../go/google.golang.org/grpc/tap.dep.yml | 4 +- go.mod | 4 +- go.sum | 30 +-- 63 files changed, 775 insertions(+), 131 deletions(-) create mode 100644 .licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml create mode 100644 .licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index 8dc9e42fe35..b95b6d5f245 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20241202173237-19429a94021a +version: v0.0.0-20250115164207-1a7da9e5054f type: go summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20241202173237-19429a94021a/LICENSE +- sources: rpc@v0.0.0-20250115164207-1a7da9e5054f/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 3cca0b4c5db..88f56331151 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.70.0 +version: v1.71.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index f79e5098c65..585dd7e9b99 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.70.0 +version: v1.71.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 9010a98cc92..eecfed8dcd9 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.70.0 +version: v1.71.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 3de84a3857f..08524bef781 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.70.0 +version: v1.71.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 7e81b9575a2..68590f35732 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.70.0 +version: v1.71.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml new file mode 100644 index 00000000000..27d5263706a --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml @@ -0,0 +1,214 @@ +--- +name: google.golang.org/grpc/balancer/endpointsharding +version: v1.71.0 +type: go +summary: Package endpointsharding implements a load balancing policy that manages + homogeneous child policies each owning a single endpoint. +homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/endpointsharding +license: apache-2.0 +licenses: +- sources: grpc@v1.71.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 2ee0ff6b81a..569268f1456 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.70.0 +version: v1.71.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 3f727b53902..6eeeb430b90 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.70.0 +version: v1.71.0 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 1dd90ca4431..7c97ede444f 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.70.0 +version: v1.71.0 type: go summary: Package internal contains code internal to the pickfirst package. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index f671d5e6d3d..f4ef1a780d6 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.70.0 +version: v1.71.0 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index d553ced1b74..7bf52ee567e 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.70.0 +version: v1.71.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index f1dade2bd94..17fb0f67101 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.70.0 +version: v1.71.0 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index f692bf7fae4..5d6b51c62d2 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.70.0 +version: v1.71.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 9a94f112f35..b9b965f1443 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.70.0 +version: v1.71.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 779aaf4e33a..f822ffc95b1 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.70.0 +version: v1.71.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 45f49aa70eb..ea648eed038 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.70.0 +version: v1.71.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 5e29d17e0f2..66b5ba70e80 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.70.0 +version: v1.71.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index b53da8e93ec..e059ac41848 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.70.0 +version: v1.71.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index baabc76c0e5..b0d7d68308a 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.70.0 +version: v1.71.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index d00dd3e2db4..b92659f9c8a 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.70.0 +version: v1.71.0 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 278262b0909..67709d48d3c 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.70.0 +version: v1.71.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index b3ae88af135..bc4e7c66d8f 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.70.0 +version: v1.71.0 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index f55b2e963c1..30e77c49393 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.70.0 +version: v1.71.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 134fe36d3b8..5529f52b9ea 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.70.0 +version: v1.71.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 037dfbc83a8..974ec911b4e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.70.0 +version: v1.71.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index c3432394149..06e68522240 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.70.0 +version: v1.71.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 692d9c52f59..1f04f7ac248 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.70.0 +version: v1.71.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 6229ad35d1f..801db73a35b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.70.0 +version: v1.71.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index 476c56e5e14..a06f541fb49 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.70.0 +version: v1.71.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 7b3941eb2a5..db46ffd53f0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.70.0 +version: v1.71.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index f6494b188cc..cbfcef39aa1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.70.0 +version: v1.71.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 43ca1c6a99a..0675e5fdf87 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.70.0 +version: v1.71.0 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 8e4fb596480..50ebfc79fa2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.70.0 +version: v1.71.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 336c2c22518..5914fc9aa71 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.70.0 +version: v1.71.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index 589800f7d92..e409ae585f2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.70.0 +version: v1.71.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 3de0b87da65..73c0cd050d9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.70.0 +version: v1.71.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 5dc0215c87b..a9efaa426c0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.70.0 +version: v1.71.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml b/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml new file mode 100644 index 00000000000..0269a31ee28 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml @@ -0,0 +1,214 @@ +--- +name: google.golang.org/grpc/internal/proxyattributes +version: v1.71.0 +type: go +summary: Package proxyattributes contains functions for getting and setting proxy + attributes like the CONNECT address and user info. +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/proxyattributes +license: apache-2.0 +licenses: +- sources: grpc@v1.71.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index 09576271193..fd2df2cb84a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.70.0 +version: v1.71.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml new file mode 100644 index 00000000000..abdd4e0c669 --- /dev/null +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml @@ -0,0 +1,214 @@ +--- +name: google.golang.org/grpc/internal/resolver/delegatingresolver +version: v1.71.0 +type: go +summary: Package delegatingresolver implements a resolver capable of resolving both + target URIs and proxy addresses. +homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/delegatingresolver +license: apache-2.0 +licenses: +- sources: grpc@v1.71.0/LICENSE + text: |2 + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +notices: [] diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index e65386426f4..66fc9b8d760 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.70.0 +version: v1.71.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 29d73609ea8..62cd5c33ea8 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.70.0 +version: v1.71.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 6d4f835d72a..f75148d9d21 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.70.0 +version: v1.71.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index b081aa52c91..8378b6623e9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.70.0 +version: v1.71.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index b064e3e11f2..cc8bb6a9950 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.70.0 +version: v1.71.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index 79809f26836..d57563a2c5e 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.70.0 +version: v1.71.0 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 33ffa801aa3..64f48c8d7e2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.70.0 +version: v1.71.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 66fe26e9ec8..87722d16601 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.70.0 +version: v1.71.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index 4891cbf746b..abc38a70776 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.70.0 +version: v1.71.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 173aa1c20b5..a3ffb796055 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.70.0 +version: v1.71.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 1063cf259ae..583726f229a 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.70.0 +version: v1.71.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index 1073c6fbd61..e55bd30b7af 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.70.0 +version: v1.71.0 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index a1ac8886176..fced3051c3f 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.70.0 +version: v1.71.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 41550dd7d5e..b6a9258cdcf 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.70.0 +version: v1.71.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index 02181176bf3..da120551969 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.70.0 +version: v1.71.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index e2c877a1c12..077c2363744 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.70.0 +version: v1.71.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 2c67218e9f9..28b9be3ff11 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.70.0 +version: v1.71.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 7b0729e8092..1ae6dcb8302 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.70.0 +version: v1.71.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 10c1994852a..fade4cacaf4 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.70.0 +version: v1.71.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index c3d968399cb..319cea69279 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.70.0 +version: v1.71.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.70.0/LICENSE +- sources: grpc@v1.71.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 5780055a012..6f1ec789746 100644 --- a/go.mod +++ b/go.mod @@ -43,8 +43,8 @@ require ( golang.org/x/sys v0.30.0 golang.org/x/term v0.29.0 golang.org/x/text v0.22.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a - google.golang.org/grpc v1.70.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f + google.golang.org/grpc v1.71.0 google.golang.org/protobuf v1.36.5 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 7630e3ae4b1..0a217d5d6d7 100644 --- a/go.sum +++ b/go.sum @@ -216,16 +216,18 @@ go.bug.st/serial v1.6.2 h1:kn9LRX3sdm+WxWKufMlIRndwGfPWsH1/9lCWXQCasq8= go.bug.st/serial v1.6.2/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.3.0 h1:DiO3LpK0RIgxvm66Pf8m7FhRVLEBFRmLkg+6vRzmk0g= go.bug.st/testifyjson v1.3.0/go.mod h1:nZyy2icFbv3OE3zW3mGVOnC/GhWgb93LRu+29n2tJlI= -go.opentelemetry.io/otel v1.32.0 h1:WnBN+Xjcteh0zdk01SVqV55d/m62NJLJdIyb4y/WO5U= -go.opentelemetry.io/otel v1.32.0/go.mod h1:00DCVSB0RQcnzlwyTfqtxSm+DRr9hpYrHjNGiBHVQIg= -go.opentelemetry.io/otel/metric v1.32.0 h1:xV2umtmNcThh2/a/aCP+h64Xx5wsj8qqnkYZktzNa0M= -go.opentelemetry.io/otel/metric v1.32.0/go.mod h1:jH7CIbbK6SH2V2wE16W05BHCtIDzauciCRLoc/SyMv8= -go.opentelemetry.io/otel/sdk v1.32.0 h1:RNxepc9vK59A8XsgZQouW8ue8Gkb4jpWtJm9ge5lEG4= -go.opentelemetry.io/otel/sdk v1.32.0/go.mod h1:LqgegDBjKMmb2GC6/PrTnteJG39I8/vJCAP9LlJXEjU= -go.opentelemetry.io/otel/sdk/metric v1.32.0 h1:rZvFnvmvawYb0alrYkjraqJq0Z4ZUJAiyYCU9snn1CU= -go.opentelemetry.io/otel/sdk/metric v1.32.0/go.mod h1:PWeZlq0zt9YkYAp3gjKZ0eicRYvOh1Gd+X99x6GHpCQ= -go.opentelemetry.io/otel/trace v1.32.0 h1:WIC9mYrXf8TmY/EXuULKc8hR17vE+Hjv2cssQDe03fM= -go.opentelemetry.io/otel/trace v1.32.0/go.mod h1:+i4rkvCraA+tG6AzwloGaCtkx53Fa+L+V8e9a7YvhT8= +go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= +go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY= +go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI= +go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ= +go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE= +go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A= +go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU= +go.opentelemetry.io/otel/sdk/metric v1.34.0 h1:5CeK9ujjbFVL5c1PhLuStg1wxA7vQv7ce1EK0Gyvahk= +go.opentelemetry.io/otel/sdk/metric v1.34.0/go.mod h1:jQ/r8Ze28zRKoNRdkjCZxfs6YvBTG1+YIqyFVFYec5w= +go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k= +go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= @@ -280,10 +282,10 @@ golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a h1:hgh8P4EuoxpsuKMXX/To36nOFD7vixReXgn8lPGnt+o= -google.golang.org/genproto/googleapis/rpc v0.0.0-20241202173237-19429a94021a/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= -google.golang.org/grpc v1.70.0 h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ= -google.golang.org/grpc v1.70.0/go.mod h1:ofIJqVKDXx/JiXrwr2IG4/zwdH9txy3IlF40RmcJSQw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= +google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= +google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 99bce884f98c95f08ada9fa8b53dc7bbe608bfb0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Mar 2025 20:06:17 +0100 Subject: [PATCH 334/361] [skip changelog] Bump golang.org/x/text from 0.22.0 to 0.23.0 (#2856) * [skip changelog] Bump golang.org/x/text from 0.22.0 to 0.23.0 Bumps [golang.org/x/text](https://github.com/golang/text) from 0.22.0 to 0.23.0. - [Release notes](https://github.com/golang/text/releases) - [Commits](https://github.com/golang/text/compare/v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: golang.org/x/text dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/text/encoding.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/internal.dep.yml | 6 +++--- .../x/text/encoding/internal/identifier.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/encoding/unicode.dep.yml | 6 +++--- .../go/golang.org/x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 4 ++-- go.sum | 8 ++++---- 8 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index 17185fb2f55..e783fb61b23 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.22.0 +version: v0.23.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.22.0/LICENSE +- sources: text@v0.23.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.22.0/PATENTS +- sources: text@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 27957dcc6ba..17ae73ae332 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.22.0 +version: v0.23.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.22.0/LICENSE +- sources: text@v0.23.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.22.0/PATENTS +- sources: text@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 3ed5ebdf3d1..4342b78cfd7 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.22.0 +version: v0.23.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.22.0/LICENSE +- sources: text@v0.23.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.22.0/PATENTS +- sources: text@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index 071e38cd957..eec529f669f 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.22.0 +version: v0.23.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.22.0/LICENSE +- sources: text@v0.23.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.22.0/PATENTS +- sources: text@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index 3e555950ea6..ffd95bbc52d 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.22.0 +version: v0.23.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.22.0/LICENSE +- sources: text@v0.23.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.22.0/PATENTS +- sources: text@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 2718dfdea38..041123bb05c 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.22.0 +version: v0.23.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.22.0/LICENSE +- sources: text@v0.23.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.22.0/PATENTS +- sources: text@v0.23.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 6f1ec789746..3d3e8b9325a 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( go.bug.st/testifyjson v1.3.0 golang.org/x/sys v0.30.0 golang.org/x/term v0.29.0 - golang.org/x/text v0.22.0 + golang.org/x/text v0.23.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f google.golang.org/grpc v1.71.0 google.golang.org/protobuf v1.36.5 @@ -102,7 +102,7 @@ require ( golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect golang.org/x/mod v0.22.0 // indirect golang.org/x/net v0.34.0 // indirect - golang.org/x/sync v0.11.0 // indirect + golang.org/x/sync v0.12.0 // indirect golang.org/x/tools v0.28.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 0a217d5d6d7..074b13d03cc 100644 --- a/go.sum +++ b/go.sum @@ -250,8 +250,8 @@ golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= -golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= +golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -273,8 +273,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= From 053983f3b14cebf039efb09cc33a02b11ec00deb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 13 Mar 2025 01:28:20 +0100 Subject: [PATCH 335/361] [skip changelog] Bump golang.org/x/term from 0.29.0 to 0.30.0 (#2857) * [skip changelog] Bump golang.org/x/term from 0.29.0 to 0.30.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.29.0 to 0.30.0. - [Commits](https://github.com/golang/term/compare/v0.29.0...v0.30.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 265c279c0f4..8f6b0e7d019 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.30.0 +version: v0.31.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.30.0/LICENSE +- sources: sys@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.30.0/PATENTS +- sources: sys@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 996da08842c..4d665e786ad 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.30.0 +version: v0.31.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.30.0/LICENSE +- sources: sys@v0.31.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.30.0/PATENTS +- sources: sys@v0.31.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 97cfe9672ea..6fe4350ed28 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.29.0 +version: v0.30.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 3d3e8b9325a..499d7242366 100644 --- a/go.mod +++ b/go.mod @@ -40,8 +40,8 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.12.0 go.bug.st/testifyjson v1.3.0 - golang.org/x/sys v0.30.0 - golang.org/x/term v0.29.0 + golang.org/x/sys v0.31.0 + golang.org/x/term v0.30.0 golang.org/x/text v0.23.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f google.golang.org/grpc v1.71.0 diff --git a/go.sum b/go.sum index 074b13d03cc..606da99ad5b 100644 --- a/go.sum +++ b/go.sum @@ -263,12 +263,12 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= -golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU= -golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s= +golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= +golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= From a39f9fdc0b416e2b5ccf13438bb001cc05e68db4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 12 Mar 2025 21:49:40 -0700 Subject: [PATCH 336/361] [skip changelog] Bump jinja2 from 3.1.5 to 3.1.6 (#2863) Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.5 to 3.1.6. - [Release notes](https://github.com/pallets/jinja/releases) - [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/jinja/compare/3.1.5...3.1.6) --- updated-dependencies: - dependency-name: jinja2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- poetry.lock | 63 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 15 deletions(-) diff --git a/poetry.lock b/poetry.lock index e81cd749fb9..e9b3c99e1df 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.8.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.1.1 and should not be changed by hand. [[package]] name = "click" @@ -6,6 +6,7 @@ version = "8.1.8" description = "Composable command line interface toolkit" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, @@ -20,6 +21,8 @@ version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +groups = ["dev"] +markers = "platform_system == \"Windows\"" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, @@ -31,6 +34,7 @@ version = "2.1.0" description = "Copy your docs directly to the gh-pages branch." optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "ghp-import-2.1.0.tar.gz", hash = "sha256:9c535c4c61193c2df8871222567d7fd7e5014d835f97dc7b7439069e2413d343"}, {file = "ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619"}, @@ -48,6 +52,7 @@ version = "4.0.12" description = "Git Object Database" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf"}, {file = "gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571"}, @@ -62,6 +67,7 @@ version = "3.1.44" description = "GitPython is a Python library used to interact with Git repositories" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "GitPython-3.1.44-py3-none-any.whl", hash = "sha256:9e0e10cda9bed1ee64bc9a6de50e7e38a9c9943241cd7f585f6df3ed28011110"}, {file = "gitpython-3.1.44.tar.gz", hash = "sha256:c87e30b26253bf5418b01b0660f818967f3c503193838337fe5e573331249269"}, @@ -72,7 +78,7 @@ gitdb = ">=4.0.1,<5" [package.extras] doc = ["sphinx (>=7.1.2,<7.2)", "sphinx-autodoc-typehints", "sphinx_rtd_theme"] -test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions"] +test = ["coverage[toml]", "ddt (>=1.1.1,!=1.4.3)", "mock ; python_version < \"3.8\"", "mypy", "pre-commit", "pytest (>=7.3.1)", "pytest-cov", "pytest-instafail", "pytest-mock", "pytest-sugar", "typing-extensions ; python_version < \"3.11\""] [[package]] name = "importlib-metadata" @@ -80,6 +86,8 @@ version = "8.5.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" +groups = ["dev"] +markers = "python_version < \"3.10\"" files = [ {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, @@ -89,23 +97,24 @@ files = [ zipp = ">=3.20" [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +test = ["flufl.flake8", "importlib-resources (>=1.3) ; python_version < \"3.9\"", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] type = ["pytest-mypy"] [[package]] name = "jinja2" -version = "3.1.5" +version = "3.1.6" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ - {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, - {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, + {file = "jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67"}, + {file = "jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d"}, ] [package.dependencies] @@ -120,6 +129,7 @@ version = "3.7" description = "Python implementation of John Gruber's Markdown." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, @@ -138,6 +148,7 @@ version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, @@ -208,6 +219,7 @@ version = "1.3" description = "Extension for Python-Markdown that makes lists truly sane. Custom indents for nested lists and fix for messy linebreaks." optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "mdx_truly_sane_lists-1.3-py3-none-any.whl", hash = "sha256:b9546a4c40ff8f1ab692f77cee4b6bfe8ddf9cccf23f0a24e71f3716fe290a37"}, {file = "mdx_truly_sane_lists-1.3.tar.gz", hash = "sha256:b661022df7520a1e113af7c355c62216b384c867e4f59fb8ee7ad511e6e77f45"}, @@ -222,6 +234,7 @@ version = "1.3.4" description = "A deep merge function for 🐍." optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "mergedeep-1.3.4-py3-none-any.whl", hash = "sha256:70775750742b25c0d8f36c55aed03d24c3384d17c951b3175d898bd778ef0307"}, {file = "mergedeep-1.3.4.tar.gz", hash = "sha256:0096d52e9dad9939c3d975a774666af186eda617e6ca84df4c94dec30004f2a8"}, @@ -233,6 +246,7 @@ version = "1.1.2" description = "Manage multiple versions of your MkDocs-powered documentation" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "mike-1.1.2-py3-none-any.whl", hash = "sha256:4c307c28769834d78df10f834f57f810f04ca27d248f80a75f49c6fa2d1527ca"}, {file = "mike-1.1.2.tar.gz", hash = "sha256:56c3f1794c2d0b5fdccfa9b9487beb013ca813de2e3ad0744724e9d34d40b77b"}, @@ -254,6 +268,7 @@ version = "1.6.1" description = "Project documentation with Markdown." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, @@ -277,7 +292,7 @@ watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] -min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.4)", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4) ; platform_system == \"Windows\"", "ghp-import (==1.0)", "importlib-metadata (==4.4) ; python_version < \"3.10\"", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] [[package]] name = "mkdocs-get-deps" @@ -285,6 +300,7 @@ version = "0.2.0" description = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, @@ -302,6 +318,7 @@ version = "7.3.6" description = "A Material Design theme for MkDocs" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "mkdocs-material-7.3.6.tar.gz", hash = "sha256:1b1dbd8ef2508b358d93af55a5c5db3f141c95667fad802301ec621c40c7c217"}, {file = "mkdocs_material-7.3.6-py2.py3-none-any.whl", hash = "sha256:1b6b3e9e09f922c2d7f1160fe15c8f43d4adc0d6fb81aa6ff0cbc7ef5b78ec75"}, @@ -321,6 +338,7 @@ version = "1.3.1" description = "Extension pack for Python Markdown and MkDocs Material." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, @@ -332,6 +350,7 @@ version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, @@ -343,6 +362,7 @@ version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, @@ -354,6 +374,7 @@ version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, @@ -370,6 +391,7 @@ version = "2.19.1" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c"}, {file = "pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f"}, @@ -384,6 +406,7 @@ version = "10.14" description = "Extension pack for Python Markdown." optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "pymdown_extensions-10.14-py3-none-any.whl", hash = "sha256:202481f716cc8250e4be8fce997781ebf7917701b59652458ee47f2401f818b5"}, {file = "pymdown_extensions-10.14.tar.gz", hash = "sha256:741bd7c4ff961ba40b7528d32284c53bc436b8b1645e8e37c3e57770b8700a34"}, @@ -402,6 +425,7 @@ version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["dev"] files = [ {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, @@ -416,6 +440,7 @@ version = "6.0.2" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" +groups = ["dev"] files = [ {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, @@ -478,6 +503,7 @@ version = "0.1" description = "A custom YAML tag for referencing environment variables in YAML files. " optional = false python-versions = ">=3.6" +groups = ["dev"] files = [ {file = "pyyaml_env_tag-0.1-py3-none-any.whl", hash = "sha256:af31106dec8a4d68c60207c1886031cbf839b68aa7abccdb19868200532c2069"}, {file = "pyyaml_env_tag-0.1.tar.gz", hash = "sha256:70092675bda14fdec33b31ba77e7543de9ddc88f2e5b99160396572d11525bdb"}, @@ -492,19 +518,20 @@ version = "75.7.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.9" +groups = ["main"] files = [ {file = "setuptools-75.7.0-py3-none-any.whl", hash = "sha256:84fb203f278ebcf5cd08f97d3fb96d3fbed4b629d500b29ad60d11e00769b183"}, {file = "setuptools-75.7.0.tar.gz", hash = "sha256:886ff7b16cd342f1d1defc16fc98c9ce3fde69e087a4e1983d7ab634e5f41f4f"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.8.0)"] -core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\"", "ruff (>=0.8.0) ; sys_platform != \"cygwin\""] +core = ["importlib_metadata (>=6) ; python_version < \"3.10\"", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1) ; python_version < \"3.11\"", "wheel (>=0.43.0)"] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] enabler = ["pytest-enabler (>=2.2)"] -test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] -type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (==1.14.*)", "pytest-mypy"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21) ; python_version >= \"3.9\" and sys_platform != \"cygwin\"", "jaraco.envs (>=2.2)", "jaraco.path (>=3.7.2)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf ; sys_platform != \"cygwin\"", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2) ; python_version < \"3.10\"", "jaraco.develop (>=7.21) ; sys_platform != \"cygwin\"", "mypy (==1.14.*)", "pytest-mypy"] [[package]] name = "six" @@ -512,6 +539,7 @@ version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" +groups = ["dev"] files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, @@ -523,6 +551,7 @@ version = "5.0.2" description = "A pure Python implementation of a sliding window memory map manager" optional = false python-versions = ">=3.7" +groups = ["dev"] files = [ {file = "smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e"}, {file = "smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5"}, @@ -534,6 +563,7 @@ version = "0.1.0" description = "Flexible version handling" optional = false python-versions = "*" +groups = ["dev"] files = [ {file = "verspec-0.1.0-py3-none-any.whl", hash = "sha256:741877d5633cc9464c45a469ae2a31e801e6dbbaa85b9675d481cda100f11c31"}, {file = "verspec-0.1.0.tar.gz", hash = "sha256:c4504ca697b2056cdb4bfa7121461f5a0e81809255b41c03dda4ba823637c01e"}, @@ -548,6 +578,7 @@ version = "6.0.0" description = "Filesystem events monitoring" optional = false python-versions = ">=3.9" +groups = ["dev"] files = [ {file = "watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26"}, {file = "watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112"}, @@ -590,20 +621,22 @@ version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.9" +groups = ["dev"] +markers = "python_version < \"3.10\"" files = [ {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, ] [package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1) ; sys_platform != \"cygwin\""] cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +test = ["big-O", "importlib-resources ; python_version < \"3.9\"", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] type = ["pytest-mypy"] [metadata] -lock-version = "2.0" +lock-version = "2.1" python-versions = ">3.9.7, <4" content-hash = "fde8577c7ce1611c6f339f739a74a706cc16f3782affb3f4dae65e0d36c891d6" From 9495b3191026cbe3d17ce36e7d32d620ace28231 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Mon, 31 Mar 2025 15:11:58 +0200 Subject: [PATCH 337/361] Upgrade golang version to 1.24.1 (#2850) * Upgrade go to 1.24 * Update golanci-lint * Updated license cache * Try go1.24.1 * Fix Linux_ARM64 docker image link * Run macOS dist tasks on arm64 runners --- .github/workflows/check-easyjson.yml | 2 +- .../workflows/check-go-dependencies-task.yml | 2 +- .github/workflows/check-go-task.yml | 4 +- .github/workflows/check-i18n-task.yml | 2 +- .github/workflows/check-markdown-task.yml | 2 +- .github/workflows/check-mkdocs-task.yml | 2 +- .github/workflows/check-protobuf-task.yml | 2 +- .../deploy-cobra-mkdocs-versioned-poetry.yml | 2 +- .github/workflows/i18n-weekly-pull.yaml | 2 +- .github/workflows/publish-go-tester-task.yml | 13 +++- .github/workflows/test-go-task.yml | 2 +- .golangci.yml | 2 +- .licenses/go/golang.org/x/crypto/hkdf.dep.yml | 63 +++++++++++++++++++ .licenses/go/golang.org/x/crypto/sha3.dep.yml | 63 +++++++++++++++++++ DistTasks.yml | 6 +- go.mod | 2 +- 16 files changed, 154 insertions(+), 17 deletions(-) create mode 100644 .licenses/go/golang.org/x/crypto/hkdf.dep.yml create mode 100644 .licenses/go/golang.org/x/crypto/sha3.dep.yml diff --git a/.github/workflows/check-easyjson.yml b/.github/workflows/check-easyjson.yml index 2aa4193db80..419f736256a 100644 --- a/.github/workflows/check-easyjson.yml +++ b/.github/workflows/check-easyjson.yml @@ -2,7 +2,7 @@ name: Check easyjson generated files env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/check-go-dependencies-task.yml b/.github/workflows/check-go-dependencies-task.yml index 6c3dd0a8316..c3d31664168 100644 --- a/.github/workflows/check-go-dependencies-task.yml +++ b/.github/workflows/check-go-dependencies-task.yml @@ -3,7 +3,7 @@ name: Check Go Dependencies env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows on: diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 06cf002052e..4efd2a0b26f 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -3,7 +3,7 @@ name: Check Go env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: @@ -116,7 +116,7 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: - version: v1.63 + version: v1.64.5 - name: Check style env: diff --git a/.github/workflows/check-i18n-task.yml b/.github/workflows/check-i18n-task.yml index 6529e473c42..0e000fe13b9 100644 --- a/.github/workflows/check-i18n-task.yml +++ b/.github/workflows/check-i18n-task.yml @@ -2,7 +2,7 @@ name: Check Internationalization env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index c65ac00a55c..02ae36cb159 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -5,7 +5,7 @@ env: # See: https://github.com/actions/setup-node/#readme NODE_VERSION: 16.x # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://docs.github.com/actions/using-workflows/events-that-trigger-workflows on: diff --git a/.github/workflows/check-mkdocs-task.yml b/.github/workflows/check-mkdocs-task.yml index 7962ea205c1..18680faab36 100644 --- a/.github/workflows/check-mkdocs-task.yml +++ b/.github/workflows/check-mkdocs-task.yml @@ -3,7 +3,7 @@ name: Check Website env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://github.com/actions/setup-python/tree/main#available-versions-of-python PYTHON_VERSION: "3.9" diff --git a/.github/workflows/check-protobuf-task.yml b/.github/workflows/check-protobuf-task.yml index df8c5fbf2df..c0ecd1cda3d 100644 --- a/.github/workflows/check-protobuf-task.yml +++ b/.github/workflows/check-protobuf-task.yml @@ -2,7 +2,7 @@ name: Check Protocol Buffers env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://docs.github.com/en/actions/reference/events-that-trigger-workflows on: diff --git a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml index 8cd5c0c9c9e..76f32ad3eaa 100644 --- a/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/.github/workflows/deploy-cobra-mkdocs-versioned-poetry.yml @@ -3,7 +3,7 @@ name: Deploy Website env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" # See: https://github.com/actions/setup-python/tree/main#available-versions-of-python PYTHON_VERSION: "3.9" diff --git a/.github/workflows/i18n-weekly-pull.yaml b/.github/workflows/i18n-weekly-pull.yaml index 55f7ad22307..173d8070094 100644 --- a/.github/workflows/i18n-weekly-pull.yaml +++ b/.github/workflows/i18n-weekly-pull.yaml @@ -2,7 +2,7 @@ name: i18n-weekly-pull env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" COVERAGE_ARTIFACT: coverage-data on: diff --git a/.github/workflows/publish-go-tester-task.yml b/.github/workflows/publish-go-tester-task.yml index ccad7398fa0..82dfad0fff1 100644 --- a/.github/workflows/publish-go-tester-task.yml +++ b/.github/workflows/publish-go-tester-task.yml @@ -76,7 +76,7 @@ jobs: create-artifacts: needs: package-name-prefix name: Create artifact ${{ matrix.artifact.name }} - runs-on: ubuntu-latest + runs-on: ${{ matrix.artifact.runner }} strategy: matrix: @@ -84,36 +84,47 @@ jobs: - task: dist:Windows_32bit path: "*Windows_32bit.zip" name: Windows_X86-32 + runner: ubuntu-latest - task: dist:Windows_64bit path: "*Windows_64bit.zip" name: Windows_X86-64 + runner: ubuntu-latest - task: dist:Linux_32bit path: "*Linux_32bit.tar.gz" name: Linux_X86-32 + runner: ubuntu-latest - task: dist:Linux_64bit path: "*Linux_64bit.tar.gz" name: Linux_X86-64 + runner: ubuntu-latest - task: dist:Linux_ARMv6 path: "*Linux_ARMv6.tar.gz" name: Linux_ARMv6 + runner: ubuntu-latest - task: dist:Linux_ARMv7 path: "*Linux_ARMv7.tar.gz" name: Linux_ARMv7 + runner: ubuntu-latest - task: dist:Linux_ARM64 path: "*Linux_ARM64.tar.gz" name: Linux_ARM64 + runner: ubuntu-latest - task: dist:macOS_64bit path: "*macOS_64bit.tar.gz" name: macOS_64 + runner: ubuntu-latest - task: dist:macOS_ARM64 path: "*macOS_ARM64.tar.gz" name: macOS_ARM64 + runner: ubuntu-24.04-arm - task: protoc:collect path: "*_proto.zip" name: rpc-protocol-files + runner: ubuntu-latest - task: dist:jsonschema path: "*configuration.schema.json" name: configuration-schema + runner: ubuntu-latest steps: - name: Checkout repository diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 98f869598f3..61ecb297cd8 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -3,7 +3,7 @@ name: Test Go env: # See: https://github.com/actions/setup-go/tree/main#supported-version-syntax - GO_VERSION: "1.23" + GO_VERSION: "1.24" COVERAGE_ARTIFACT: coverage-data # See: https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows diff --git a/.golangci.yml b/.golangci.yml index a39df11a1b5..0890432757a 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,6 +1,6 @@ run: timeout: 10m - go: "1.22" + go: "1.24" tests: true linters: diff --git a/.licenses/go/golang.org/x/crypto/hkdf.dep.yml b/.licenses/go/golang.org/x/crypto/hkdf.dep.yml new file mode 100644 index 00000000000..f46b5c38970 --- /dev/null +++ b/.licenses/go/golang.org/x/crypto/hkdf.dep.yml @@ -0,0 +1,63 @@ +--- +name: golang.org/x/crypto/hkdf +version: v0.32.0 +type: go +summary: Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation + Function (HKDF) as defined in RFC 5869. +homepage: https://pkg.go.dev/golang.org/x/crypto/hkdf +license: bsd-3-clause +licenses: +- sources: crypto@v0.32.0/LICENSE + text: | + Copyright 2009 The Go Authors. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: crypto@v0.32.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml new file mode 100644 index 00000000000..b1ca1e2c757 --- /dev/null +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -0,0 +1,63 @@ +--- +name: golang.org/x/crypto/sha3 +version: v0.32.0 +type: go +summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and + the SHAKE variable-output-length hash functions defined by FIPS-202. +homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 +license: other +licenses: +- sources: crypto@v0.32.0/LICENSE + text: | + Copyright 2009 The Go Authors. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: crypto@v0.32.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/DistTasks.yml b/DistTasks.yml index 43beff81061..eb0ce3dbd25 100644 --- a/DistTasks.yml +++ b/DistTasks.yml @@ -19,7 +19,7 @@ version: "3" vars: CONTAINER: "docker.elastic.co/beats-dev/golang-crossbuild" - GO_VERSION: "1.23.4" + GO_VERSION: "1.24.1" tasks: Windows_32bit: @@ -163,9 +163,9 @@ tasks: vars: PLATFORM_DIR: "{{.PROJECT_NAME}}_linux_arm_64" - BUILD_COMMAND: "go build -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" + BUILD_COMMAND: "go build -buildvcs=false -o {{.DIST_DIR}}/{{.PLATFORM_DIR}}/{{.PROJECT_NAME}} {{.LDFLAGS}}" BUILD_PLATFORM: "linux/arm64" - CONTAINER_TAG: "{{.GO_VERSION}}-arm" + CONTAINER_TAG: "{{.GO_VERSION}}-arm-debian12" PACKAGE_PLATFORM: "Linux_ARM64" PACKAGE_NAME: "{{.PROJECT_NAME}}_{{.VERSION}}_{{.PACKAGE_PLATFORM}}.tar.gz" diff --git a/go.mod b/go.mod index 499d7242366..ebcb8d59df2 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/arduino/arduino-cli -go 1.23.4 +go 1.24.1 // We must use this fork until https://github.com/mailru/easyjson/pull/372 is merged replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 From 487dbf5d06b3f902fa37434e741d9ce0df3f168e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 15:34:41 +0200 Subject: [PATCH 338/361] [skip changelog] Bump github.com/leonelquinteros/gotext from 1.7.0 to 1.7.1 (#2837) * [skip changelog] Bump github.com/leonelquinteros/gotext Bumps [github.com/leonelquinteros/gotext](https://github.com/leonelquinteros/gotext) from 1.7.0 to 1.7.1. - [Release notes](https://github.com/leonelquinteros/gotext/releases) - [Commits](https://github.com/leonelquinteros/gotext/compare/v1.7.0...v1.7.1) --- updated-dependencies: - dependency-name: github.com/leonelquinteros/gotext dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license check --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../github.com/leonelquinteros/gotext.dep.yml | 2 +- .../leonelquinteros/gotext/plurals.dep.yml | 6 +- .../go/golang.org/x/crypto/argon2.dep.yml | 6 +- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 +- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 +- .../go/golang.org/x/crypto/cast5.dep.yml | 6 +- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/hkdf.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +- .../x/crypto/ssh/knownhosts.dep.yml | 6 +- .licenses/go/golang.org/x/net/context.dep.yml | 8 +-- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +- .../x/net/internal/httpcommon.dep.yml | 62 +++++++++++++++++++ .../golang.org/x/net/internal/socks.dep.yml | 6 +- .../x/net/internal/timeseries.dep.yml | 6 +- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +- go.mod | 10 +-- go.sum | 38 +++--------- 22 files changed, 133 insertions(+), 89 deletions(-) create mode 100644 .licenses/go/golang.org/x/net/internal/httpcommon.dep.yml diff --git a/.licenses/go/github.com/leonelquinteros/gotext.dep.yml b/.licenses/go/github.com/leonelquinteros/gotext.dep.yml index e03e5a03e88..a2ef6431056 100644 --- a/.licenses/go/github.com/leonelquinteros/gotext.dep.yml +++ b/.licenses/go/github.com/leonelquinteros/gotext.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/leonelquinteros/gotext -version: v1.7.0 +version: v1.7.1 type: go summary: Package gotext implements GNU gettext utilities. homepage: https://pkg.go.dev/github.com/leonelquinteros/gotext diff --git a/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml b/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml index 050b3c60f42..508d984c518 100644 --- a/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml +++ b/.licenses/go/github.com/leonelquinteros/gotext/plurals.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/leonelquinteros/gotext/plurals -version: v1.7.0 +version: v1.7.1 type: go summary: Package plurals is the pluralform compiler to get the correct translation id of the plural string homepage: https://pkg.go.dev/github.com/leonelquinteros/gotext/plurals license: other licenses: -- sources: gotext@v1.7.0/LICENSE +- sources: gotext@v1.7.1/LICENSE text: | The MIT License (MIT) @@ -64,6 +64,6 @@ licenses: ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: gotext@v1.7.0/README.md +- sources: gotext@v1.7.1/README.md text: "[MIT license](LICENSE)" notices: [] diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index ffff61bed5a..99d8d5c9c4a 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.32.0 +version: v0.36.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index d3d02e3406d..71370b19776 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.32.0 +version: v0.36.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index c8ee40414bc..477bfd71ead 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.32.0 +version: v0.36.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index 221e479bdca..79fd1820327 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.32.0 +version: v0.36.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index aa3d6625def..777a6218920 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.32.0 +version: v0.36.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/hkdf.dep.yml b/.licenses/go/golang.org/x/crypto/hkdf.dep.yml index f46b5c38970..5def34c6b71 100644 --- a/.licenses/go/golang.org/x/crypto/hkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/hkdf.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/hkdf -version: v0.32.0 +version: v0.36.0 type: go summary: Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869. homepage: https://pkg.go.dev/golang.org/x/crypto/hkdf license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index b1ca1e2c757..c636600f4fd 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.32.0 +version: v0.36.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 43d6c9387b4..6109a4227a1 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.32.0 +version: v0.36.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index 60e34f25cad..7577ebfd5c3 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.32.0 +version: v0.36.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index d923d32adf0..80753fb6a7f 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.32.0 +version: v0.36.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index 7ba7fb3bd5f..ea8ba878d95 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.32.0 +version: v0.36.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.32.0/LICENSE +- sources: crypto@v0.36.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.32.0/PATENTS +- sources: crypto@v0.36.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index 74a24b94428..2c95429d00e 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.34.0 +version: v0.38.0 type: go -summary: Package context defines the Context type, which carries deadlines, cancelation +summary: Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.34.0/LICENSE +- sources: net@v0.38.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.34.0/PATENTS +- sources: net@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 92cd6578f33..5fa3d77f84a 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.34.0 +version: v0.38.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.34.0/LICENSE +- sources: net@v0.38.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.34.0/PATENTS +- sources: net@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/httpcommon.dep.yml b/.licenses/go/golang.org/x/net/internal/httpcommon.dep.yml new file mode 100644 index 00000000000..ead0a2cc8fb --- /dev/null +++ b/.licenses/go/golang.org/x/net/internal/httpcommon.dep.yml @@ -0,0 +1,62 @@ +--- +name: golang.org/x/net/internal/httpcommon +version: v0.38.0 +type: go +summary: +homepage: https://pkg.go.dev/golang.org/x/net/internal/httpcommon +license: bsd-3-clause +licenses: +- sources: net@v0.38.0/LICENSE + text: | + Copyright 2009 The Go Authors. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google LLC nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +- sources: net@v0.38.0/PATENTS + text: | + Additional IP Rights Grant (Patents) + + "This implementation" means the copyrightable works distributed by + Google as part of the Go project. + + Google hereby grants to You a perpetual, worldwide, non-exclusive, + no-charge, royalty-free, irrevocable (except as stated in this section) + patent license to make, have made, use, offer to sell, sell, import, + transfer and otherwise run, modify and propagate the contents of this + implementation of Go, where such license applies only to those patent + claims, both currently owned or controlled by Google and acquired in + the future, licensable by Google that are necessarily infringed by this + implementation of Go. This grant does not include claims that would be + infringed only as a consequence of further modification of this + implementation. If you or your agent or exclusive licensee institute or + order or agree to the institution of patent litigation against any + entity (including a cross-claim or counterclaim in a lawsuit) alleging + that this implementation of Go or any code incorporated within this + implementation of Go constitutes direct or contributory patent + infringement, or inducement of patent infringement, then any patent + rights granted to you under this License for this implementation of Go + shall terminate as of the date such litigation is filed. +notices: [] diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index b858f1e6184..019ff700c97 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.34.0 +version: v0.38.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.34.0/LICENSE +- sources: net@v0.38.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.34.0/PATENTS +- sources: net@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index dc29c00f76d..7c7cd92ab7d 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.34.0 +version: v0.38.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.34.0/LICENSE +- sources: net@v0.38.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.34.0/PATENTS +- sources: net@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index e836f0073d3..e6bf5d20bef 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.34.0 +version: v0.38.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.34.0/LICENSE +- sources: net@v0.38.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.34.0/PATENTS +- sources: net@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index cc30ed23f2b..5d652084b0f 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.34.0 +version: v0.38.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.34.0/LICENSE +- sources: net@v0.38.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.34.0/PATENTS +- sources: net@v0.38.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index ebcb8d59df2..ec3cf136190 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/fatih/color v1.18.0 github.com/go-git/go-git/v5 v5.13.2 github.com/gofrs/uuid/v5 v5.3.1 - github.com/leonelquinteros/gotext v1.7.0 + github.com/leonelquinteros/gotext v1.7.1 github.com/mailru/easyjson v0.7.7 github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 github.com/mattn/go-colorable v0.1.14 @@ -98,12 +98,12 @@ require ( go.bug.st/serial v1.6.2 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.32.0 // indirect + golang.org/x/crypto v0.36.0 // indirect golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/mod v0.22.0 // indirect - golang.org/x/net v0.34.0 // indirect + golang.org/x/mod v0.23.0 // indirect + golang.org/x/net v0.38.0 // indirect golang.org/x/sync v0.12.0 // indirect - golang.org/x/tools v0.28.0 // indirect + golang.org/x/tools v0.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index 606da99ad5b..a60b4bbbe72 100644 --- a/go.sum +++ b/go.sum @@ -116,8 +116,8 @@ github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/leonelquinteros/gotext v1.7.0 h1:jcJmF4AXqyamP7vuw2MMIKs+O3jAEmvrc5JQiI8Ht/8= -github.com/leonelquinteros/gotext v1.7.0/go.mod h1:qJdoQuERPpccw7L70uoU+K/BvTfRBHYsisCQyFLXyvw= +github.com/leonelquinteros/gotext v1.7.1 h1:/JNPeE3lY5JeVYv2+KBpz39994W3W9fmZCGq3eO9Ri8= +github.com/leonelquinteros/gotext v1.7.1/go.mod h1:I0WoFDn9u2D3VbPnnDPT8mzZu0iSXG8iih+AH2fHHqg= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 h1:hyAgCuG5nqTMDeUD8KZs7HSPs6KprPgPP8QmGV8nyvk= @@ -203,7 +203,6 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHo github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= -github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= go.bug.st/cleanup v1.0.0 h1:XVj1HZxkBXeq3gMT7ijWUpHyIC1j8XAoNSyQ06CskgA= go.bug.st/cleanup v1.0.0/go.mod h1:EqVmTg2IBk4znLbPD28xne3abjsJftMdqqJEjhn70bk= go.bug.st/downloader/v2 v2.2.0 h1:Y0jSuDISNhrzePkrAWqz9xUC3xol9hqZo/+tz1D4EqY= @@ -232,27 +231,18 @@ go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= -golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= -golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= -golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM= +golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= -golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= -golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -261,26 +251,18 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= +golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= From 716c950804983f63e13a10ed668ef234d0e2cf95 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:01:36 +0200 Subject: [PATCH 339/361] [skip changelog] Bump google.golang.org/protobuf from 1.36.5 to 1.36.6 (#2871) * [skip changelog] Bump google.golang.org/protobuf from 1.36.5 to 1.36.6 Bumps google.golang.org/protobuf from 1.36.5 to 1.36.6. --- updated-dependencies: - dependency-name: google.golang.org/protobuf dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache * Go mod tidy run --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../google.golang.org/protobuf/encoding/protojson.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/prototext.dep.yml | 6 +++--- .../google.golang.org/protobuf/encoding/protowire.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descfmt.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/descopts.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/detrand.dep.yml | 6 +++--- .../protobuf/internal/editiondefaults.dep.yml | 6 +++--- .../protobuf/internal/encoding/defval.dep.yml | 6 +++--- .../protobuf/internal/encoding/json.dep.yml | 6 +++--- .../protobuf/internal/encoding/messageset.dep.yml | 6 +++--- .../protobuf/internal/encoding/tag.dep.yml | 6 +++--- .../protobuf/internal/encoding/text.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/errors.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filedesc.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/filetype.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/flags.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/genid.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/impl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/order.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/pragma.dep.yml | 6 +++--- .../google.golang.org/protobuf/internal/protolazy.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/set.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/strs.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/internal/version.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/proto.dep.yml | 6 +++--- .licenses/go/google.golang.org/protobuf/protoadapt.dep.yml | 6 +++--- .../google.golang.org/protobuf/reflect/protoreflect.dep.yml | 6 +++--- .../protobuf/reflect/protoregistry.dep.yml | 6 +++--- .../google.golang.org/protobuf/runtime/protoiface.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/runtime/protoimpl.dep.yml | 6 +++--- .../go/google.golang.org/protobuf/types/known/anypb.dep.yml | 6 +++--- .../protobuf/types/known/durationpb.dep.yml | 6 +++--- .../protobuf/types/known/timestamppb.dep.yml | 6 +++--- go.mod | 2 +- go.sum | 4 ++-- 35 files changed, 102 insertions(+), 102 deletions(-) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml index 65b9022667a..5b111717d12 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protojson.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/protojson -version: v1.36.5 +version: v1.36.6 type: go summary: Package protojson marshals and unmarshals protocol buffer messages as JSON format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protojson license: other licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml index 62b089a3684..fa8c6b9dda7 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/prototext.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/encoding/prototext -version: v1.36.5 +version: v1.36.6 type: go summary: Package prototext marshals and unmarshals protocol buffer messages as the textproto format. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/prototext license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml index c8e2a6b08d9..2a709b7eb9a 100644 --- a/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/encoding/protowire.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/encoding/protowire -version: v1.36.5 +version: v1.36.6 type: go summary: Package protowire parses and formats the raw wire encoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/encoding/protowire license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml index 86904cee936..dfc77d20cad 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descfmt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descfmt -version: v1.36.5 +version: v1.36.6 type: go summary: Package descfmt provides functionality to format descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descfmt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml index 028277a2bd8..bf48781295c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/descopts.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/descopts -version: v1.36.5 +version: v1.36.6 type: go summary: Package descopts contains the nil pointers to concrete descriptor options. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/descopts license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml index 039022a4122..de8d758c1e7 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/detrand.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/detrand -version: v1.36.5 +version: v1.36.6 type: go summary: Package detrand provides deterministically random functionality. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/detrand license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml index 4c9a0cb0868..cf24ec27b65 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/editiondefaults.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/editiondefaults -version: v1.36.5 +version: v1.36.6 type: go summary: Package editiondefaults contains the binary representation of the editions defaults. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/editiondefaults license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml index e6d64d3a894..1b1dda85d0c 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/defval.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/defval -version: v1.36.5 +version: v1.36.6 type: go summary: Package defval marshals and unmarshals textual forms of default values. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/defval license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml index 0625e2d1b51..c13c0b838e3 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/json -version: v1.36.5 +version: v1.36.6 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/json license: other licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml index 0e3a213b0fe..301f01e5ec0 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/messageset.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/messageset -version: v1.36.5 +version: v1.36.6 type: go summary: Package messageset encodes and decodes the obsolete MessageSet wire format. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/messageset license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml index a6f900be860..3216052a3cd 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/tag.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/encoding/tag -version: v1.36.5 +version: v1.36.6 type: go summary: Package tag marshals and unmarshals the legacy struct tags as generated by historical versions of protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/tag license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml index c7565cae41a..6e1d0f4148a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/encoding/text.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/encoding/text -version: v1.36.5 +version: v1.36.6 type: go summary: Package text implements the text format for protocol buffers. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/encoding/text license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml index dd2903ea4de..f9ff1da3dc1 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/errors.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/errors -version: v1.36.5 +version: v1.36.6 type: go summary: Package errors implements functions to manipulate errors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/errors license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml index d0b9d285b1b..4e6401d877d 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filedesc.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/filedesc -version: v1.36.5 +version: v1.36.6 type: go summary: Package filedesc provides functionality for constructing descriptors. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filedesc license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml index 430b495d79c..28622c838d4 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/filetype.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/filetype -version: v1.36.5 +version: v1.36.6 type: go summary: Package filetype provides functionality for wrapping descriptors with Go type information. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/filetype license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml index 2b1a8c26177..b2293a1c6dd 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/flags.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/flags -version: v1.36.5 +version: v1.36.6 type: go summary: Package flags provides a set of flags controlled by build tags. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/flags license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml index d195e2f6a73..685c44fd390 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/genid.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/genid -version: v1.36.5 +version: v1.36.6 type: go summary: Package genid contains constants for declarations in descriptor.proto and the well-known types. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/genid license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml index cef9089693e..3516366f692 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/impl.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/impl -version: v1.36.5 +version: v1.36.6 type: go summary: homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/impl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml index ce6b3f317db..59d61e7c527 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/order.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/order -version: v1.36.5 +version: v1.36.6 type: go summary: Package order provides ordered access to messages and maps. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/order license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml index b13dae961f2..001ed2bfbec 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/pragma.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/internal/pragma -version: v1.36.5 +version: v1.36.6 type: go summary: Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/pragma license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml index 884497dfae6..2435d7a2f5a 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/protolazy.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/protolazy -version: v1.36.5 +version: v1.36.6 type: go summary: Package protolazy contains internal data structures for lazy message decoding. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/protolazy license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml index 76e813dd81f..52152d0cf9e 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/set.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/set -version: v1.36.5 +version: v1.36.6 type: go summary: Package set provides simple set data structures for uint64s. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/set license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml index 0bc34ab8463..9030b61dc80 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/strs.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/strs -version: v1.36.5 +version: v1.36.6 type: go summary: Package strs provides string manipulation functionality specific to protobuf. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/strs license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml index 9e6289e00b9..a8abbd93aee 100644 --- a/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/internal/version.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/internal/version -version: v1.36.5 +version: v1.36.6 type: go summary: Package version records versioning information about this module. homepage: https://pkg.go.dev/google.golang.org/protobuf/internal/version license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/proto.dep.yml b/.licenses/go/google.golang.org/protobuf/proto.dep.yml index 983a15d2646..44a8835d9a2 100644 --- a/.licenses/go/google.golang.org/protobuf/proto.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/proto -version: v1.36.5 +version: v1.36.6 type: go summary: Package proto provides functions operating on protocol buffer messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/proto license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml index 938f1f160c1..4bfb7937200 100644 --- a/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/protoadapt.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/protoadapt -version: v1.36.5 +version: v1.36.6 type: go summary: Package protoadapt bridges the original and new proto APIs. homepage: https://pkg.go.dev/google.golang.org/protobuf/protoadapt license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml index 53d42357877..5343f737627 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoreflect.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/reflect/protoreflect -version: v1.36.5 +version: v1.36.6 type: go summary: Package protoreflect provides interfaces to dynamically manipulate messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoreflect license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml index b365fb0ba9b..c16761390c3 100644 --- a/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/reflect/protoregistry.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/reflect/protoregistry -version: v1.36.5 +version: v1.36.6 type: go summary: Package protoregistry provides data structures to register and lookup protobuf descriptor types. homepage: https://pkg.go.dev/google.golang.org/protobuf/reflect/protoregistry license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml index d4b2223d0a3..0c4287a0af3 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoiface.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/runtime/protoiface -version: v1.36.5 +version: v1.36.6 type: go summary: Package protoiface contains types referenced or implemented by messages. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoiface license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml index 8e3ef446d4d..2ce73e33e61 100644 --- a/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/runtime/protoimpl.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/protobuf/runtime/protoimpl -version: v1.36.5 +version: v1.36.6 type: go summary: Package protoimpl contains the default implementation for messages generated by protoc-gen-go. homepage: https://pkg.go.dev/google.golang.org/protobuf/runtime/protoimpl license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml index 5d151e9ebf5..008b5ea473a 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/anypb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/anypb -version: v1.36.5 +version: v1.36.6 type: go summary: Package anypb contains generated types for google/protobuf/any.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/anypb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml index f2034163646..0b0a33c05c7 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/durationpb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/durationpb -version: v1.36.5 +version: v1.36.6 type: go summary: Package durationpb contains generated types for google/protobuf/duration.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/durationpb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml index d3f995eb14f..85c9973c3fc 100644 --- a/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml +++ b/.licenses/go/google.golang.org/protobuf/types/known/timestamppb.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/protobuf/types/known/timestamppb -version: v1.36.5 +version: v1.36.6 type: go summary: Package timestamppb contains generated types for google/protobuf/timestamp.proto. homepage: https://pkg.go.dev/google.golang.org/protobuf/types/known/timestamppb license: bsd-3-clause licenses: -- sources: protobuf@v1.36.5/LICENSE +- sources: protobuf@v1.36.6/LICENSE text: | Copyright (c) 2018 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: protobuf@v1.36.5/PATENTS +- sources: protobuf@v1.36.6/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index ec3cf136190..abae0b7c41d 100644 --- a/go.mod +++ b/go.mod @@ -45,7 +45,7 @@ require ( golang.org/x/text v0.23.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f google.golang.org/grpc v1.71.0 - google.golang.org/protobuf v1.36.5 + google.golang.org/protobuf v1.36.6 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index a60b4bbbe72..9377b850082 100644 --- a/go.sum +++ b/go.sum @@ -268,8 +268,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1: google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= -google.golang.org/protobuf v1.36.5 h1:tPhr+woSbjfYvY6/GPufUoYizxw1cF/yFoxJ2fmpwlM= -google.golang.org/protobuf v1.36.5/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= From d0655a7693c6111536ed38907b92b0e37ae6035e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:18:34 +0200 Subject: [PATCH 340/361] [skip changelog] Bump go.bug.st/relaxed-semver from 0.12.0 to 0.15.0 (#2873) * [skip changelog] Bump go.bug.st/relaxed-semver from 0.12.0 to 0.15.0 Bumps [go.bug.st/relaxed-semver](https://github.com/bugst/relaxed-semver) from 0.12.0 to 0.15.0. - [Release notes](https://github.com/bugst/relaxed-semver/releases) - [Commits](https://github.com/bugst/relaxed-semver/compare/v0.12.0...v0.15.0) --- updated-dependencies: - dependency-name: go.bug.st/relaxed-semver dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/go.bug.st/relaxed-semver.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.licenses/go/go.bug.st/relaxed-semver.dep.yml b/.licenses/go/go.bug.st/relaxed-semver.dep.yml index 6a4349bf119..6ac2c4a1e29 100644 --- a/.licenses/go/go.bug.st/relaxed-semver.dep.yml +++ b/.licenses/go/go.bug.st/relaxed-semver.dep.yml @@ -1,6 +1,6 @@ --- name: go.bug.st/relaxed-semver -version: v0.12.0 +version: v0.15.0 type: go summary: homepage: https://pkg.go.dev/go.bug.st/relaxed-semver @@ -9,7 +9,7 @@ licenses: - sources: LICENSE text: |2+ - Copyright (c) 2018-2022, Cristian Maglie. + Copyright (c) 2018-2025, Cristian Maglie. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/go.mod b/go.mod index abae0b7c41d..a00be19f7e3 100644 --- a/go.mod +++ b/go.mod @@ -38,7 +38,7 @@ require ( go.bug.st/cleanup v1.0.0 go.bug.st/downloader/v2 v2.2.0 go.bug.st/f v0.4.0 - go.bug.st/relaxed-semver v0.12.0 + go.bug.st/relaxed-semver v0.15.0 go.bug.st/testifyjson v1.3.0 golang.org/x/sys v0.31.0 golang.org/x/term v0.30.0 diff --git a/go.sum b/go.sum index 9377b850082..e2958ba3509 100644 --- a/go.sum +++ b/go.sum @@ -209,8 +209,8 @@ go.bug.st/downloader/v2 v2.2.0 h1:Y0jSuDISNhrzePkrAWqz9xUC3xol9hqZo/+tz1D4EqY= go.bug.st/downloader/v2 v2.2.0/go.mod h1:VZW2V1iGKV8rJL2ZEGIDzzBeKowYv34AedJz13RzVII= go.bug.st/f v0.4.0 h1:Vstqb950nMA+PhAlRxUw8QL1ntHy/gXHNyyzjkQLJ10= go.bug.st/f v0.4.0/go.mod h1:bMo23205ll7UW63KwO1ut5RdlJ9JK8RyEEr88CmOF5Y= -go.bug.st/relaxed-semver v0.12.0 h1:se8v3lTdAAFp68+/RS/0Y/nFdnpdzkP5ICY04SPau4E= -go.bug.st/relaxed-semver v0.12.0/go.mod h1:Cpcbiig6Omwlq6bS7i3MQWiqS7W7HDd8CAnZFC40Cl0= +go.bug.st/relaxed-semver v0.15.0 h1:w37+SYQPxF53RQO7QZZuPIMaPouOifdaP0B1ktst2nA= +go.bug.st/relaxed-semver v0.15.0/go.mod h1:bwHiCtYuD2m716tBk2OnOBjelsbXw9el5EIuyxT/ksU= go.bug.st/serial v1.6.2 h1:kn9LRX3sdm+WxWKufMlIRndwGfPWsH1/9lCWXQCasq8= go.bug.st/serial v1.6.2/go.mod h1:UABfsluHAiaNI+La2iESysd9Vetq7VRdpxvjx7CmmOE= go.bug.st/testifyjson v1.3.0 h1:DiO3LpK0RIgxvm66Pf8m7FhRVLEBFRmLkg+6vRzmk0g= From fb0292880d12c7d534a45a955357f1828f118809 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 16:39:24 +0200 Subject: [PATCH 341/361] [skip changelog] Bump github.com/spf13/viper from 1.19.0 to 1.20.1 (#2874) * [skip changelog] Bump github.com/spf13/viper from 1.19.0 to 1.20.1 Bumps [github.com/spf13/viper](https://github.com/spf13/viper) from 1.19.0 to 1.20.1. - [Release notes](https://github.com/spf13/viper/releases) - [Commits](https://github.com/spf13/viper/compare/v1.19.0...v1.20.1) --- updated-dependencies: - dependency-name: github.com/spf13/viper dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../go/github.com/fsnotify/fsnotify.dep.yml | 2 +- .../fsnotify/fsnotify/internal.dep.yml | 36 ++ .../mapstructure/v2.dep.yml} | 8 +- .../mapstructure/v2/internal/errors.dep.yml | 34 ++ .licenses/go/github.com/hashicorp/hcl.dep.yml | 365 ----------------- .../github.com/hashicorp/hcl/hcl/ast.dep.yml | 366 ------------------ .../hashicorp/hcl/hcl/parser.dep.yml | 365 ----------------- .../hashicorp/hcl/hcl/printer.dep.yml | 365 ----------------- .../hashicorp/hcl/hcl/scanner.dep.yml | 366 ------------------ .../hashicorp/hcl/hcl/strconv.dep.yml | 365 ----------------- .../hashicorp/hcl/hcl/token.dep.yml | 366 ------------------ .../hashicorp/hcl/json/parser.dep.yml | 365 ----------------- .../hashicorp/hcl/json/scanner.dep.yml | 365 ----------------- .../hashicorp/hcl/json/token.dep.yml | 365 ----------------- .../github.com/magiconair/properties.dep.yml | 39 -- .../github.com/pelletier/go-toml/v2.dep.yml | 2 +- .../go-toml/v2/internal/characters.dep.yml | 6 +- .../go-toml/v2/internal/danger.dep.yml | 6 +- .../go-toml/v2/internal/tracker.dep.yml | 6 +- .../pelletier/go-toml/v2/unstable.dep.yml | 6 +- .../github.com/sagikazarmark/locafero.dep.yml | 32 ++ .../sagikazarmark/slog-shim.dep.yml | 40 -- .../conc.dep.yml} | 16 +- .../conc/internal/multierror.dep.yml} | 16 +- .../conc/iter.dep.yml} | 16 +- .../conc/panics.dep.yml} | 16 +- .licenses/go/github.com/spf13/afero.dep.yml | 2 +- .../spf13/afero/internal/common.dep.yml | 6 +- .../go/github.com/spf13/afero/mem.dep.yml | 6 +- .licenses/go/github.com/spf13/cast.dep.yml | 2 +- .licenses/go/github.com/spf13/viper.dep.yml | 2 +- .../viper/internal/encoding/dotenv.dep.yml | 6 +- .../viper/internal/encoding/json.dep.yml | 6 +- .../viper/internal/encoding/toml.dep.yml | 6 +- .../viper/internal/encoding/yaml.dep.yml | 6 +- .../spf13/viper/internal/features.dep.yml | 6 +- .licenses/go/gopkg.in/ini.v1.dep.yml | 205 ---------- go.mod | 18 +- go.sum | 43 +- 39 files changed, 194 insertions(+), 4054 deletions(-) create mode 100644 .licenses/go/github.com/fsnotify/fsnotify/internal.dep.yml rename .licenses/go/github.com/{mitchellh/mapstructure.dep.yml => go-viper/mapstructure/v2.dep.yml} (86%) create mode 100644 .licenses/go/github.com/go-viper/mapstructure/v2/internal/errors.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/hcl/ast.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/hcl/parser.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/hcl/printer.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/hcl/scanner.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/hcl/strconv.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/hcl/token.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/json/parser.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/json/scanner.dep.yml delete mode 100644 .licenses/go/github.com/hashicorp/hcl/json/token.dep.yml delete mode 100644 .licenses/go/github.com/magiconair/properties.dep.yml create mode 100644 .licenses/go/github.com/sagikazarmark/locafero.dep.yml delete mode 100644 .licenses/go/github.com/sagikazarmark/slog-shim.dep.yml rename .licenses/go/github.com/{spf13/viper/internal/encoding.dep.yml => sourcegraph/conc.dep.yml} (76%) rename .licenses/go/github.com/{spf13/viper/internal/encoding/hcl.dep.yml => sourcegraph/conc/internal/multierror.dep.yml} (76%) rename .licenses/go/github.com/{spf13/viper/internal/encoding/ini.dep.yml => sourcegraph/conc/iter.dep.yml} (76%) rename .licenses/go/github.com/{spf13/viper/internal/encoding/javaproperties.dep.yml => sourcegraph/conc/panics.dep.yml} (75%) delete mode 100644 .licenses/go/gopkg.in/ini.v1.dep.yml diff --git a/.licenses/go/github.com/fsnotify/fsnotify.dep.yml b/.licenses/go/github.com/fsnotify/fsnotify.dep.yml index 5b3324b3ee4..a26cfe1088d 100644 --- a/.licenses/go/github.com/fsnotify/fsnotify.dep.yml +++ b/.licenses/go/github.com/fsnotify/fsnotify.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/fsnotify/fsnotify -version: v1.7.0 +version: v1.8.0 type: go summary: Package fsnotify provides a cross-platform interface for file system notifications. homepage: https://pkg.go.dev/github.com/fsnotify/fsnotify diff --git a/.licenses/go/github.com/fsnotify/fsnotify/internal.dep.yml b/.licenses/go/github.com/fsnotify/fsnotify/internal.dep.yml new file mode 100644 index 00000000000..d9a708111a0 --- /dev/null +++ b/.licenses/go/github.com/fsnotify/fsnotify/internal.dep.yml @@ -0,0 +1,36 @@ +--- +name: github.com/fsnotify/fsnotify/internal +version: v1.8.0 +type: go +summary: Package internal contains some helpers. +homepage: https://pkg.go.dev/github.com/fsnotify/fsnotify/internal +license: bsd-3-clause +licenses: +- sources: fsnotify@v1.8.0/LICENSE + text: | + Copyright © 2012 The Go Authors. All rights reserved. + Copyright © fsnotify Authors. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this + list of conditions and the following disclaimer in the documentation and/or + other materials provided with the distribution. + * Neither the name of Google Inc. nor the names of its contributors may be used + to endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +notices: [] diff --git a/.licenses/go/github.com/mitchellh/mapstructure.dep.yml b/.licenses/go/github.com/go-viper/mapstructure/v2.dep.yml similarity index 86% rename from .licenses/go/github.com/mitchellh/mapstructure.dep.yml rename to .licenses/go/github.com/go-viper/mapstructure/v2.dep.yml index 073c6eabcd7..aa4e7760c61 100644 --- a/.licenses/go/github.com/mitchellh/mapstructure.dep.yml +++ b/.licenses/go/github.com/go-viper/mapstructure/v2.dep.yml @@ -1,10 +1,10 @@ --- -name: github.com/mitchellh/mapstructure -version: v1.5.0 +name: github.com/go-viper/mapstructure/v2 +version: v2.2.1 type: go summary: Package mapstructure exposes functionality to convert one arbitrary Go type into another, typically to convert a map[string]interface{} into a native Go structure. -homepage: https://pkg.go.dev/github.com/mitchellh/mapstructure +homepage: https://pkg.go.dev/github.com/go-viper/mapstructure/v2 license: mit licenses: - sources: LICENSE @@ -30,4 +30,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +- sources: README.md + text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/go-viper/mapstructure/v2/internal/errors.dep.yml b/.licenses/go/github.com/go-viper/mapstructure/v2/internal/errors.dep.yml new file mode 100644 index 00000000000..4156e692500 --- /dev/null +++ b/.licenses/go/github.com/go-viper/mapstructure/v2/internal/errors.dep.yml @@ -0,0 +1,34 @@ +--- +name: github.com/go-viper/mapstructure/v2/internal/errors +version: v2.2.1 +type: go +summary: +homepage: https://pkg.go.dev/github.com/go-viper/mapstructure/v2/internal/errors +license: mit +licenses: +- sources: v2@v2.2.1/LICENSE + text: | + The MIT License (MIT) + + Copyright (c) 2013 Mitchell Hashimoto + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +- sources: v2@v2.2.1/README.md + text: The project is licensed under the [MIT License](LICENSE). +notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl.dep.yml b/.licenses/go/github.com/hashicorp/hcl.dep.yml deleted file mode 100644 index 5aeb06dd53a..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl.dep.yml +++ /dev/null @@ -1,365 +0,0 @@ ---- -name: github.com/hashicorp/hcl -version: v1.0.0 -type: go -summary: Package hcl decodes HCL into usable Go structures. -homepage: https://pkg.go.dev/github.com/hashicorp/hcl -license: mpl-2.0 -licenses: -- sources: LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/hcl/ast.dep.yml b/.licenses/go/github.com/hashicorp/hcl/hcl/ast.dep.yml deleted file mode 100644 index ce823de2d46..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/hcl/ast.dep.yml +++ /dev/null @@ -1,366 +0,0 @@ ---- -name: github.com/hashicorp/hcl/hcl/ast -version: v1.0.0 -type: go -summary: Package ast declares the types used to represent syntax trees for HCL (HashiCorp - Configuration Language) -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/hcl/ast -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/hcl/parser.dep.yml b/.licenses/go/github.com/hashicorp/hcl/hcl/parser.dep.yml deleted file mode 100644 index 4d54adcda3a..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/hcl/parser.dep.yml +++ /dev/null @@ -1,365 +0,0 @@ ---- -name: github.com/hashicorp/hcl/hcl/parser -version: v1.0.0 -type: go -summary: Package parser implements a parser for HCL (HashiCorp Configuration Language) -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/hcl/parser -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/hcl/printer.dep.yml b/.licenses/go/github.com/hashicorp/hcl/hcl/printer.dep.yml deleted file mode 100644 index 51a38c946fb..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/hcl/printer.dep.yml +++ /dev/null @@ -1,365 +0,0 @@ ---- -name: github.com/hashicorp/hcl/hcl/printer -version: v1.0.0 -type: go -summary: Package printer implements printing of AST nodes to HCL format. -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/hcl/printer -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/hcl/scanner.dep.yml b/.licenses/go/github.com/hashicorp/hcl/hcl/scanner.dep.yml deleted file mode 100644 index a3312d03414..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/hcl/scanner.dep.yml +++ /dev/null @@ -1,366 +0,0 @@ ---- -name: github.com/hashicorp/hcl/hcl/scanner -version: v1.0.0 -type: go -summary: Package scanner implements a scanner for HCL (HashiCorp Configuration Language) - source text. -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/hcl/scanner -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/hcl/strconv.dep.yml b/.licenses/go/github.com/hashicorp/hcl/hcl/strconv.dep.yml deleted file mode 100644 index 313c4501f51..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/hcl/strconv.dep.yml +++ /dev/null @@ -1,365 +0,0 @@ ---- -name: github.com/hashicorp/hcl/hcl/strconv -version: v1.0.0 -type: go -summary: -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/hcl/strconv -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/hcl/token.dep.yml b/.licenses/go/github.com/hashicorp/hcl/hcl/token.dep.yml deleted file mode 100644 index c2f6e60074c..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/hcl/token.dep.yml +++ /dev/null @@ -1,366 +0,0 @@ ---- -name: github.com/hashicorp/hcl/hcl/token -version: v1.0.0 -type: go -summary: Package token defines constants representing the lexical tokens for HCL (HashiCorp - Configuration Language) -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/hcl/token -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/json/parser.dep.yml b/.licenses/go/github.com/hashicorp/hcl/json/parser.dep.yml deleted file mode 100644 index 913fb5bb0ba..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/json/parser.dep.yml +++ /dev/null @@ -1,365 +0,0 @@ ---- -name: github.com/hashicorp/hcl/json/parser -version: v1.0.0 -type: go -summary: -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/json/parser -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/json/scanner.dep.yml b/.licenses/go/github.com/hashicorp/hcl/json/scanner.dep.yml deleted file mode 100644 index 27f5acdf6e1..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/json/scanner.dep.yml +++ /dev/null @@ -1,365 +0,0 @@ ---- -name: github.com/hashicorp/hcl/json/scanner -version: v1.0.0 -type: go -summary: -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/json/scanner -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/hashicorp/hcl/json/token.dep.yml b/.licenses/go/github.com/hashicorp/hcl/json/token.dep.yml deleted file mode 100644 index 3e3939f095d..00000000000 --- a/.licenses/go/github.com/hashicorp/hcl/json/token.dep.yml +++ /dev/null @@ -1,365 +0,0 @@ ---- -name: github.com/hashicorp/hcl/json/token -version: v1.0.0 -type: go -summary: -homepage: https://pkg.go.dev/github.com/hashicorp/hcl/json/token -license: mpl-2.0 -licenses: -- sources: hcl@v1.0.0/LICENSE - text: |+ - Mozilla Public License, version 2.0 - - 1. Definitions - - 1.1. “Contributor” - - means each individual or legal entity that creates, contributes to the - creation of, or owns Covered Software. - - 1.2. “Contributor Version” - - means the combination of the Contributions of others (if any) used by a - Contributor and that particular Contributor’s Contribution. - - 1.3. “Contribution” - - means Covered Software of a particular Contributor. - - 1.4. “Covered Software” - - means Source Code Form to which the initial Contributor has attached the - notice in Exhibit A, the Executable Form of such Source Code Form, and - Modifications of such Source Code Form, in each case including portions - thereof. - - 1.5. “Incompatible With Secondary Licenses” - means - - a. that the initial Contributor has attached the notice described in - Exhibit B to the Covered Software; or - - b. that the Covered Software was made available under the terms of version - 1.1 or earlier of the License, but not also under the terms of a - Secondary License. - - 1.6. “Executable Form” - - means any form of the work other than Source Code Form. - - 1.7. “Larger Work” - - means a work that combines Covered Software with other material, in a separate - file or files, that is not Covered Software. - - 1.8. “License” - - means this document. - - 1.9. “Licensable” - - means having the right to grant, to the maximum extent possible, whether at the - time of the initial grant or subsequently, any and all of the rights conveyed by - this License. - - 1.10. “Modifications” - - means any of the following: - - a. any file in Source Code Form that results from an addition to, deletion - from, or modification of the contents of Covered Software; or - - b. any new file in Source Code Form that contains any Covered Software. - - 1.11. “Patent Claims” of a Contributor - - means any patent claim(s), including without limitation, method, process, - and apparatus claims, in any patent Licensable by such Contributor that - would be infringed, but for the grant of the License, by the making, - using, selling, offering for sale, having made, import, or transfer of - either its Contributions or its Contributor Version. - - 1.12. “Secondary License” - - means either the GNU General Public License, Version 2.0, the GNU Lesser - General Public License, Version 2.1, the GNU Affero General Public - License, Version 3.0, or any later versions of those licenses. - - 1.13. “Source Code Form” - - means the form of the work preferred for making modifications. - - 1.14. “You” (or “Your”) - - means an individual or a legal entity exercising rights under this - License. For legal entities, “You” includes any entity that controls, is - controlled by, or is under common control with You. For purposes of this - definition, “control” means (a) the power, direct or indirect, to cause - the direction or management of such entity, whether by contract or - otherwise, or (b) ownership of more than fifty percent (50%) of the - outstanding shares or beneficial ownership of such entity. - - - 2. License Grants and Conditions - - 2.1. Grants - - Each Contributor hereby grants You a world-wide, royalty-free, - non-exclusive license: - - a. under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or as - part of a Larger Work; and - - b. under Patent Claims of such Contributor to make, use, sell, offer for - sale, have made, import, and otherwise transfer either its Contributions - or its Contributor Version. - - 2.2. Effective Date - - The licenses granted in Section 2.1 with respect to any Contribution become - effective for each Contribution on the date the Contributor first distributes - such Contribution. - - 2.3. Limitations on Grant Scope - - The licenses granted in this Section 2 are the only rights granted under this - License. No additional rights or licenses will be implied from the distribution - or licensing of Covered Software under this License. Notwithstanding Section - 2.1(b) above, no patent license is granted by a Contributor: - - a. for any code that a Contributor has removed from Covered Software; or - - b. for infringements caused by: (i) Your and any other third party’s - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - - c. under Patent Claims infringed by Covered Software in the absence of its - Contributions. - - This License does not grant any rights in the trademarks, service marks, or - logos of any Contributor (except as may be necessary to comply with the - notice requirements in Section 3.4). - - 2.4. Subsequent Licenses - - No Contributor makes additional grants as a result of Your choice to - distribute the Covered Software under a subsequent version of this License - (see Section 10.2) or under the terms of a Secondary License (if permitted - under the terms of Section 3.3). - - 2.5. Representation - - Each Contributor represents that the Contributor believes its Contributions - are its original creation(s) or it has sufficient rights to grant the - rights to its Contributions conveyed by this License. - - 2.6. Fair Use - - This License is not intended to limit any rights You have under applicable - copyright doctrines of fair use, fair dealing, or other equivalents. - - 2.7. Conditions - - Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted in - Section 2.1. - - - 3. Responsibilities - - 3.1. Distribution of Source Form - - All distribution of Covered Software in Source Code Form, including any - Modifications that You create or to which You contribute, must be under the - terms of this License. You must inform recipients that the Source Code Form - of the Covered Software is governed by the terms of this License, and how - they can obtain a copy of this License. You may not attempt to alter or - restrict the recipients’ rights in the Source Code Form. - - 3.2. Distribution of Executable Form - - If You distribute Covered Software in Executable Form then: - - a. such Covered Software must also be made available in Source Code Form, - as described in Section 3.1, and You must inform recipients of the - Executable Form how they can obtain a copy of such Source Code Form by - reasonable means in a timely manner, at a charge no more than the cost - of distribution to the recipient; and - - b. You may distribute such Executable Form under the terms of this License, - or sublicense it under different terms, provided that the license for - the Executable Form does not attempt to limit or alter the recipients’ - rights in the Source Code Form under this License. - - 3.3. Distribution of a Larger Work - - You may create and distribute a Larger Work under terms of Your choice, - provided that You also comply with the requirements of this License for the - Covered Software. If the Larger Work is a combination of Covered Software - with a work governed by one or more Secondary Licenses, and the Covered - Software is not Incompatible With Secondary Licenses, this License permits - You to additionally distribute such Covered Software under the terms of - such Secondary License(s), so that the recipient of the Larger Work may, at - their option, further distribute the Covered Software under the terms of - either this License or such Secondary License(s). - - 3.4. Notices - - You may not remove or alter the substance of any license notices (including - copyright notices, patent notices, disclaimers of warranty, or limitations - of liability) contained within the Source Code Form of the Covered - Software, except that You may alter any license notices to the extent - required to remedy known factual inaccuracies. - - 3.5. Application of Additional Terms - - You may choose to offer, and to charge a fee for, warranty, support, - indemnity or liability obligations to one or more recipients of Covered - Software. However, You may do so only on Your own behalf, and not on behalf - of any Contributor. You must make it absolutely clear that any such - warranty, support, indemnity, or liability obligation is offered by You - alone, and You hereby agree to indemnify every Contributor for any - liability incurred by such Contributor as a result of warranty, support, - indemnity or liability terms You offer. You may include additional - disclaimers of warranty and limitations of liability specific to any - jurisdiction. - - 4. Inability to Comply Due to Statute or Regulation - - If it is impossible for You to comply with any of the terms of this License - with respect to some or all of the Covered Software due to statute, judicial - order, or regulation then You must: (a) comply with the terms of this License - to the maximum extent possible; and (b) describe the limitations and the code - they affect. Such description must be placed in a text file included with all - distributions of the Covered Software under this License. Except to the - extent prohibited by statute or regulation, such description must be - sufficiently detailed for a recipient of ordinary skill to be able to - understand it. - - 5. Termination - - 5.1. The rights granted under this License will terminate automatically if You - fail to comply with any of its terms. However, if You become compliant, - then the rights granted under this License from a particular Contributor - are reinstated (a) provisionally, unless and until such Contributor - explicitly and finally terminates Your grants, and (b) on an ongoing basis, - if such Contributor fails to notify You of the non-compliance by some - reasonable means prior to 60 days after You have come back into compliance. - Moreover, Your grants from a particular Contributor are reinstated on an - ongoing basis if such Contributor notifies You of the non-compliance by - some reasonable means, this is the first time You have received notice of - non-compliance with this License from such Contributor, and You become - compliant prior to 30 days after Your receipt of the notice. - - 5.2. If You initiate litigation against any entity by asserting a patent - infringement claim (excluding declaratory judgment actions, counter-claims, - and cross-claims) alleging that a Contributor Version directly or - indirectly infringes any patent, then the rights granted to You by any and - all Contributors for the Covered Software under Section 2.1 of this License - shall terminate. - - 5.3. In the event of termination under Sections 5.1 or 5.2 above, all end user - license agreements (excluding distributors and resellers) which have been - validly granted by You or Your distributors under this License prior to - termination shall survive termination. - - 6. Disclaimer of Warranty - - Covered Software is provided under this License on an “as is” basis, without - warranty of any kind, either expressed, implied, or statutory, including, - without limitation, warranties that the Covered Software is free of defects, - merchantable, fit for a particular purpose or non-infringing. The entire - risk as to the quality and performance of the Covered Software is with You. - Should any Covered Software prove defective in any respect, You (not any - Contributor) assume the cost of any necessary servicing, repair, or - correction. This disclaimer of warranty constitutes an essential part of this - License. No use of any Covered Software is authorized under this License - except under this disclaimer. - - 7. Limitation of Liability - - Under no circumstances and under no legal theory, whether tort (including - negligence), contract, or otherwise, shall any Contributor, or anyone who - distributes Covered Software as permitted above, be liable to You for any - direct, indirect, special, incidental, or consequential damages of any - character including, without limitation, damages for lost profits, loss of - goodwill, work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses, even if such party shall have been - informed of the possibility of such damages. This limitation of liability - shall not apply to liability for death or personal injury resulting from such - party’s negligence to the extent applicable law prohibits such limitation. - Some jurisdictions do not allow the exclusion or limitation of incidental or - consequential damages, so this exclusion and limitation may not apply to You. - - 8. Litigation - - Any litigation relating to this License may be brought only in the courts of - a jurisdiction where the defendant maintains its principal place of business - and such litigation shall be governed by laws of that jurisdiction, without - reference to its conflict-of-law provisions. Nothing in this Section shall - prevent a party’s ability to bring cross-claims or counter-claims. - - 9. Miscellaneous - - This License represents the complete agreement concerning the subject matter - hereof. If any provision of this License is held to be unenforceable, such - provision shall be reformed only to the extent necessary to make it - enforceable. Any law or regulation which provides that the language of a - contract shall be construed against the drafter shall not be used to construe - this License against a Contributor. - - - 10. Versions of the License - - 10.1. New Versions - - Mozilla Foundation is the license steward. Except as provided in Section - 10.3, no one other than the license steward has the right to modify or - publish new versions of this License. Each version will be given a - distinguishing version number. - - 10.2. Effect of New Versions - - You may distribute the Covered Software under the terms of the version of - the License under which You originally received the Covered Software, or - under the terms of any subsequent version published by the license - steward. - - 10.3. Modified Versions - - If you create software not governed by this License, and you want to - create a new license for such software, you may create and use a modified - version of this License if you rename the license and remove any - references to the name of the license steward (except to note that such - modified license differs from this License). - - 10.4. Distributing Source Code Form that is Incompatible With Secondary Licenses - If You choose to distribute Source Code Form that is Incompatible With - Secondary Licenses under the terms of this version of the License, the - notice described in Exhibit B of this License must be attached. - - Exhibit A - Source Code Form License Notice - - This Source Code Form is subject to the - terms of the Mozilla Public License, v. - 2.0. If a copy of the MPL was not - distributed with this file, You can - obtain one at - http://mozilla.org/MPL/2.0/. - - If it is not possible or desirable to put the notice in a particular file, then - You may include the notice in a location (such as a LICENSE file in a relevant - directory) where a recipient would be likely to look for such a notice. - - You may add additional accurate notices of copyright ownership. - - Exhibit B - “Incompatible With Secondary Licenses” Notice - - This Source Code Form is “Incompatible - With Secondary Licenses”, as defined by - the Mozilla Public License, v. 2.0. - -notices: [] diff --git a/.licenses/go/github.com/magiconair/properties.dep.yml b/.licenses/go/github.com/magiconair/properties.dep.yml deleted file mode 100644 index ef04e0f92b3..00000000000 --- a/.licenses/go/github.com/magiconair/properties.dep.yml +++ /dev/null @@ -1,39 +0,0 @@ ---- -name: github.com/magiconair/properties -version: v1.8.7 -type: go -summary: Package properties provides functions for reading and writing ISO-8859-1 - and UTF-8 encoded .properties files and has support for recursive property expansion. -homepage: https://pkg.go.dev/github.com/magiconair/properties -license: bsd-2-clause -licenses: -- sources: LICENSE.md - text: | - Copyright (c) 2013-2020, Frank Schroeder - - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: README.md - text: 2 clause BSD license. See [LICENSE](https://github.com/magiconair/properties/blob/master/LICENSE) - file for details. -notices: [] diff --git a/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml index 44cb14185ef..3460ed72598 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/pelletier/go-toml/v2 -version: v2.2.2 +version: v2.2.3 type: go summary: Package toml is a library to read and write TOML documents. homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2 diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml index afddf80f550..f481041fa66 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/internal/characters.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/pelletier/go-toml/v2/internal/characters -version: v2.2.2 +version: v2.2.3 type: go summary: homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/internal/characters license: other licenses: -- sources: v2@v2.2.2/LICENSE +- sources: v2@v2.2.3/LICENSE text: | The MIT License (MIT) @@ -30,6 +30,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.2.2/README.md +- sources: v2@v2.2.3/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml index 5fe64d014f7..7e2f86e2e9f 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/internal/danger.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/pelletier/go-toml/v2/internal/danger -version: v2.2.2 +version: v2.2.3 type: go summary: homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/internal/danger license: other licenses: -- sources: v2@v2.2.2/LICENSE +- sources: v2@v2.2.3/LICENSE text: | The MIT License (MIT) @@ -30,6 +30,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.2.2/README.md +- sources: v2@v2.2.3/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml index 6b73e51e6b9..8452277d00a 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/internal/tracker.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/pelletier/go-toml/v2/internal/tracker -version: v2.2.2 +version: v2.2.3 type: go summary: homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/internal/tracker license: other licenses: -- sources: v2@v2.2.2/LICENSE +- sources: v2@v2.2.3/LICENSE text: | The MIT License (MIT) @@ -30,6 +30,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.2.2/README.md +- sources: v2@v2.2.3/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml b/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml index 4fc5a61cb02..c224d7079af 100644 --- a/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml +++ b/.licenses/go/github.com/pelletier/go-toml/v2/unstable.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/pelletier/go-toml/v2/unstable -version: v2.2.2 +version: v2.2.3 type: go summary: Package unstable provides APIs that do not meet the backward compatibility guarantees yet. homepage: https://pkg.go.dev/github.com/pelletier/go-toml/v2/unstable license: other licenses: -- sources: v2@v2.2.2/LICENSE +- sources: v2@v2.2.3/LICENSE text: | The MIT License (MIT) @@ -31,6 +31,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: v2@v2.2.2/README.md +- sources: v2@v2.2.3/README.md text: The MIT License (MIT). Read [LICENSE](LICENSE). notices: [] diff --git a/.licenses/go/github.com/sagikazarmark/locafero.dep.yml b/.licenses/go/github.com/sagikazarmark/locafero.dep.yml new file mode 100644 index 00000000000..d159fe8a4b6 --- /dev/null +++ b/.licenses/go/github.com/sagikazarmark/locafero.dep.yml @@ -0,0 +1,32 @@ +--- +name: github.com/sagikazarmark/locafero +version: v0.7.0 +type: go +summary: Package finder looks for files and directories in an {fs.Fs} filesystem. +homepage: https://pkg.go.dev/github.com/sagikazarmark/locafero +license: mit +licenses: +- sources: LICENSE + text: | + Copyright (c) 2023 Márk Sági-Kazár <mark.sagikazar@gmail.com> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is furnished + to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +- sources: README.md + text: The project is licensed under the [MIT License](LICENSE). +notices: [] diff --git a/.licenses/go/github.com/sagikazarmark/slog-shim.dep.yml b/.licenses/go/github.com/sagikazarmark/slog-shim.dep.yml deleted file mode 100644 index 6ff17440f94..00000000000 --- a/.licenses/go/github.com/sagikazarmark/slog-shim.dep.yml +++ /dev/null @@ -1,40 +0,0 @@ ---- -name: github.com/sagikazarmark/slog-shim -version: v0.1.0 -type: go -summary: -homepage: https://pkg.go.dev/github.com/sagikazarmark/slog-shim -license: other -licenses: -- sources: LICENSE - text: | - Copyright (c) 2009 The Go Authors. All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are - met: - - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above - copyright notice, this list of conditions and the following disclaimer - in the documentation and/or other materials provided with the - distribution. - * Neither the name of Google Inc. nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: README.md - text: The project is licensed under a [BSD-style license](LICENSE). -notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml b/.licenses/go/github.com/sourcegraph/conc.dep.yml similarity index 76% rename from .licenses/go/github.com/spf13/viper/internal/encoding.dep.yml rename to .licenses/go/github.com/sourcegraph/conc.dep.yml index 60a44da36d7..0bc689af1ea 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding.dep.yml +++ b/.licenses/go/github.com/sourcegraph/conc.dep.yml @@ -1,16 +1,16 @@ --- -name: github.com/spf13/viper/internal/encoding -version: v1.19.0 +name: github.com/sourcegraph/conc +version: v0.3.0 type: go summary: -homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding +homepage: https://pkg.go.dev/github.com/sourcegraph/conc license: mit licenses: -- sources: viper@v1.19.0/LICENSE - text: |- - The MIT License (MIT) +- sources: LICENSE + text: | + MIT License - Copyright (c) 2014 Steve Francia + Copyright (c) 2023 Sourcegraph Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -29,6 +29,4 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md - text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml b/.licenses/go/github.com/sourcegraph/conc/internal/multierror.dep.yml similarity index 76% rename from .licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml rename to .licenses/go/github.com/sourcegraph/conc/internal/multierror.dep.yml index b022cf64505..141e969d89e 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/hcl.dep.yml +++ b/.licenses/go/github.com/sourcegraph/conc/internal/multierror.dep.yml @@ -1,16 +1,16 @@ --- -name: github.com/spf13/viper/internal/encoding/hcl -version: v1.19.0 +name: github.com/sourcegraph/conc/internal/multierror +version: v0.3.0 type: go summary: -homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/hcl +homepage: https://pkg.go.dev/github.com/sourcegraph/conc/internal/multierror license: mit licenses: -- sources: viper@v1.19.0/LICENSE - text: |- - The MIT License (MIT) +- sources: conc@v0.3.0/LICENSE + text: | + MIT License - Copyright (c) 2014 Steve Francia + Copyright (c) 2023 Sourcegraph Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -29,6 +29,4 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md - text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml b/.licenses/go/github.com/sourcegraph/conc/iter.dep.yml similarity index 76% rename from .licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml rename to .licenses/go/github.com/sourcegraph/conc/iter.dep.yml index 8e16e7b070c..fdec207b935 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/ini.dep.yml +++ b/.licenses/go/github.com/sourcegraph/conc/iter.dep.yml @@ -1,16 +1,16 @@ --- -name: github.com/spf13/viper/internal/encoding/ini -version: v1.19.0 +name: github.com/sourcegraph/conc/iter +version: v0.3.0 type: go summary: -homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/ini +homepage: https://pkg.go.dev/github.com/sourcegraph/conc/iter license: mit licenses: -- sources: viper@v1.19.0/LICENSE - text: |- - The MIT License (MIT) +- sources: conc@v0.3.0/LICENSE + text: | + MIT License - Copyright (c) 2014 Steve Francia + Copyright (c) 2023 Sourcegraph Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -29,6 +29,4 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md - text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml b/.licenses/go/github.com/sourcegraph/conc/panics.dep.yml similarity index 75% rename from .licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml rename to .licenses/go/github.com/sourcegraph/conc/panics.dep.yml index ae854532146..61e4000b6e9 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/javaproperties.dep.yml +++ b/.licenses/go/github.com/sourcegraph/conc/panics.dep.yml @@ -1,16 +1,16 @@ --- -name: github.com/spf13/viper/internal/encoding/javaproperties -version: v1.19.0 +name: github.com/sourcegraph/conc/panics +version: v0.3.0 type: go summary: -homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/javaproperties +homepage: https://pkg.go.dev/github.com/sourcegraph/conc/panics license: mit licenses: -- sources: viper@v1.19.0/LICENSE - text: |- - The MIT License (MIT) +- sources: conc@v0.3.0/LICENSE + text: | + MIT License - Copyright (c) 2014 Steve Francia + Copyright (c) 2023 Sourcegraph Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -29,6 +29,4 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md - text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/afero.dep.yml b/.licenses/go/github.com/spf13/afero.dep.yml index c0053ded734..0af4a79e2e5 100644 --- a/.licenses/go/github.com/spf13/afero.dep.yml +++ b/.licenses/go/github.com/spf13/afero.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/afero -version: v1.11.0 +version: v1.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/afero diff --git a/.licenses/go/github.com/spf13/afero/internal/common.dep.yml b/.licenses/go/github.com/spf13/afero/internal/common.dep.yml index bd5796a18c1..bab8a718b9f 100644 --- a/.licenses/go/github.com/spf13/afero/internal/common.dep.yml +++ b/.licenses/go/github.com/spf13/afero/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/afero/internal/common -version: v1.11.0 +version: v1.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/afero/internal/common license: apache-2.0 licenses: -- sources: afero@v1.11.0/LICENSE.txt +- sources: afero@v1.12.0/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,7 +182,7 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: afero@v1.11.0/README.md +- sources: afero@v1.12.0/README.md text: |- Afero is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) diff --git a/.licenses/go/github.com/spf13/afero/mem.dep.yml b/.licenses/go/github.com/spf13/afero/mem.dep.yml index bf2e3824949..58fc184ace1 100644 --- a/.licenses/go/github.com/spf13/afero/mem.dep.yml +++ b/.licenses/go/github.com/spf13/afero/mem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/afero/mem -version: v1.11.0 +version: v1.12.0 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/afero/mem license: apache-2.0 licenses: -- sources: afero@v1.11.0/LICENSE.txt +- sources: afero@v1.12.0/LICENSE.txt text: |2 Apache License Version 2.0, January 2004 @@ -182,7 +182,7 @@ licenses: defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. -- sources: afero@v1.11.0/README.md +- sources: afero@v1.12.0/README.md text: |- Afero is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/afero/blob/master/LICENSE.txt) diff --git a/.licenses/go/github.com/spf13/cast.dep.yml b/.licenses/go/github.com/spf13/cast.dep.yml index 2a3a308e4ef..22ec680c2d3 100644 --- a/.licenses/go/github.com/spf13/cast.dep.yml +++ b/.licenses/go/github.com/spf13/cast.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/cast -version: v1.6.0 +version: v1.7.1 type: go summary: Package cast provides easy and safe casting in Go. homepage: https://pkg.go.dev/github.com/spf13/cast diff --git a/.licenses/go/github.com/spf13/viper.dep.yml b/.licenses/go/github.com/spf13/viper.dep.yml index 1dbadc50239..bab64c75e1e 100644 --- a/.licenses/go/github.com/spf13/viper.dep.yml +++ b/.licenses/go/github.com/spf13/viper.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/spf13/viper -version: v1.19.0 +version: v1.20.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml index a86b7f1ca05..157ab721a5a 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/dotenv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/dotenv -version: v1.19.0 +version: v1.20.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/dotenv license: mit licenses: -- sources: viper@v1.19.0/LICENSE +- sources: viper@v1.20.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md +- sources: viper@v1.20.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml index f897e31d0a0..8cedebc4b37 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/json.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/json -version: v1.19.0 +version: v1.20.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/json license: mit licenses: -- sources: viper@v1.19.0/LICENSE +- sources: viper@v1.20.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md +- sources: viper@v1.20.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml index df7c8a7c2ad..323cd1e843e 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/toml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/toml -version: v1.19.0 +version: v1.20.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/toml license: mit licenses: -- sources: viper@v1.19.0/LICENSE +- sources: viper@v1.20.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md +- sources: viper@v1.20.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml index c24379aa0ca..1bbe6ca9d02 100644 --- a/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/encoding/yaml.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/encoding/yaml -version: v1.19.0 +version: v1.20.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/encoding/yaml license: mit licenses: -- sources: viper@v1.19.0/LICENSE +- sources: viper@v1.20.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md +- sources: viper@v1.20.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/github.com/spf13/viper/internal/features.dep.yml b/.licenses/go/github.com/spf13/viper/internal/features.dep.yml index b62bdcb5162..37a3c243f36 100644 --- a/.licenses/go/github.com/spf13/viper/internal/features.dep.yml +++ b/.licenses/go/github.com/spf13/viper/internal/features.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/spf13/viper/internal/features -version: v1.19.0 +version: v1.20.1 type: go summary: homepage: https://pkg.go.dev/github.com/spf13/viper/internal/features license: mit licenses: -- sources: viper@v1.19.0/LICENSE +- sources: viper@v1.20.1/LICENSE text: |- The MIT License (MIT) @@ -29,6 +29,6 @@ licenses: LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -- sources: viper@v1.19.0/README.md +- sources: viper@v1.20.1/README.md text: The project is licensed under the [MIT License](LICENSE). notices: [] diff --git a/.licenses/go/gopkg.in/ini.v1.dep.yml b/.licenses/go/gopkg.in/ini.v1.dep.yml deleted file mode 100644 index a34309de360..00000000000 --- a/.licenses/go/gopkg.in/ini.v1.dep.yml +++ /dev/null @@ -1,205 +0,0 @@ ---- -name: gopkg.in/ini.v1 -version: v1.67.0 -type: go -summary: Package ini provides INI file read and write functionality in Go. -homepage: https://pkg.go.dev/gopkg.in/ini.v1 -license: apache-2.0 -licenses: -- sources: LICENSE - text: | - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, and - distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by the copyright - owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all other entities - that control, are controlled by, or are under common control with that entity. - For the purposes of this definition, "control" means (i) the power, direct or - indirect, to cause the direction or management of such entity, whether by - contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity exercising - permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, including - but not limited to software source code, documentation source, and configuration - files. - - "Object" form shall mean any form resulting from mechanical transformation or - translation of a Source form, including but not limited to compiled object code, - generated documentation, and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or Object form, made - available under the License, as indicated by a copyright notice that is included - in or attached to the work (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object form, that - is based on (or derived from) the Work and for which the editorial revisions, - annotations, elaborations, or other modifications represent, as a whole, an - original work of authorship. For the purposes of this License, Derivative Works - shall not include works that remain separable from, or merely link (or bind by - name) to the interfaces of, the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including the original version - of the Work and any modifications or additions to that Work or Derivative Works - thereof, that is intentionally submitted to Licensor for inclusion in the Work - by the copyright owner or by an individual or Legal Entity authorized to submit - on behalf of the copyright owner. For the purposes of this definition, - "submitted" means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, and - issue tracking systems that are managed by, or on behalf of, the Licensor for - the purpose of discussing and improving the Work, but excluding communication - that is conspicuously marked or otherwise designated in writing by the copyright - owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity on behalf - of whom a Contribution has been received by Licensor and subsequently - incorporated within the Work. - - 2. Grant of Copyright License. - - Subject to the terms and conditions of this License, each Contributor hereby - grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, - irrevocable copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the Work and such - Derivative Works in Source or Object form. - - 3. Grant of Patent License. - - Subject to the terms and conditions of this License, each Contributor hereby - grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, - irrevocable (except as stated in this section) patent license to make, have - made, use, offer to sell, sell, import, and otherwise transfer the Work, where - such license applies only to those patent claims licensable by such Contributor - that are necessarily infringed by their Contribution(s) alone or by combination - of their Contribution(s) with the Work to which such Contribution(s) was - submitted. If You institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work or a - Contribution incorporated within the Work constitutes direct or contributory - patent infringement, then any patent licenses granted to You under this License - for that Work shall terminate as of the date such litigation is filed. - - 4. Redistribution. - - You may reproduce and distribute copies of the Work or Derivative Works thereof - in any medium, with or without modifications, and in Source or Object form, - provided that You meet the following conditions: - - You must give any other recipients of the Work or Derivative Works a copy of - this License; and - You must cause any modified files to carry prominent notices stating that You - changed the files; and - You must retain, in the Source form of any Derivative Works that You distribute, - all copyright, patent, trademark, and attribution notices from the Source form - of the Work, excluding those notices that do not pertain to any part of the - Derivative Works; and - If the Work includes a "NOTICE" text file as part of its distribution, then any - Derivative Works that You distribute must include a readable copy of the - attribution notices contained within such NOTICE file, excluding those notices - that do not pertain to any part of the Derivative Works, in at least one of the - following places: within a NOTICE text file distributed as part of the - Derivative Works; within the Source form or documentation, if provided along - with the Derivative Works; or, within a display generated by the Derivative - Works, if and wherever such third-party notices normally appear. The contents of - the NOTICE file are for informational purposes only and do not modify the - License. You may add Your own attribution notices within Derivative Works that - You distribute, alongside or as an addendum to the NOTICE text from the Work, - provided that such additional attribution notices cannot be construed as - modifying the License. - You may add Your own copyright statement to Your modifications and may provide - additional or different license terms and conditions for use, reproduction, or - distribution of Your modifications, or for any such Derivative Works as a whole, - provided Your use, reproduction, and distribution of the Work otherwise complies - with the conditions stated in this License. - - 5. Submission of Contributions. - - Unless You explicitly state otherwise, any Contribution intentionally submitted - for inclusion in the Work by You to the Licensor shall be under the terms and - conditions of this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify the terms of - any separate license agreement you may have executed with Licensor regarding - such Contributions. - - 6. Trademarks. - - This License does not grant permission to use the trade names, trademarks, - service marks, or product names of the Licensor, except as required for - reasonable and customary use in describing the origin of the Work and - reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. - - Unless required by applicable law or agreed to in writing, Licensor provides the - Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, - including, without limitation, any warranties or conditions of TITLE, - NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are - solely responsible for determining the appropriateness of using or - redistributing the Work and assume any risks associated with Your exercise of - permissions under this License. - - 8. Limitation of Liability. - - In no event and under no legal theory, whether in tort (including negligence), - contract, or otherwise, unless required by applicable law (such as deliberate - and grossly negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, incidental, - or consequential damages of any character arising as a result of this License or - out of the use or inability to use the Work (including but not limited to - damages for loss of goodwill, work stoppage, computer failure or malfunction, or - any and all other commercial damages or losses), even if such Contributor has - been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. - - While redistributing the Work or Derivative Works thereof, You may choose to - offer, and charge a fee for, acceptance of support, warranty, indemnity, or - other liability obligations and/or rights consistent with this License. However, - in accepting such obligations, You may act only on Your own behalf and on Your - sole responsibility, not on behalf of any other Contributor, and only if You - agree to indemnify, defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason of your - accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work - - To apply the Apache License to your work, attach the following boilerplate - notice, with the fields enclosed by brackets "[]" replaced with your own - identifying information. (Don't include the brackets!) The text should be - enclosed in the appropriate comment syntax for the file format. We also - recommend that a file or class name and description of purpose be included on - the same "printed page" as the copyright notice for easier identification within - third-party archives. - - Copyright 2014 Unknwon - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -- sources: README.md - text: This project is under Apache v2 License. See the [LICENSE](LICENSE) file for - the full license text. -notices: [] diff --git a/go.mod b/go.mod index a00be19f7e3..27bca84bdf0 100644 --- a/go.mod +++ b/go.mod @@ -32,7 +32,7 @@ require ( github.com/schollz/closestmatch v2.1.0+incompatible github.com/sirupsen/logrus v1.9.3 github.com/spf13/cobra v1.9.1 - github.com/spf13/viper v1.19.0 + github.com/spf13/viper v1.20.1 github.com/stretchr/testify v1.10.0 github.com/xeipuuv/gojsonschema v1.2.0 go.bug.st/cleanup v1.0.0 @@ -58,14 +58,14 @@ require ( github.com/cyphar/filepath-securejoin v0.3.6 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emirpasic/gods v1.18.1 // indirect - github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.6.2 // indirect + github.com/go-viper/mapstructure/v2 v2.2.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/h2non/filetype v1.1.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/itchyny/gojq v0.12.8 // indirect github.com/itchyny/timefmt-go v0.1.3 // indirect @@ -74,21 +74,18 @@ require ( github.com/juju/errors v1.0.0 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/klauspost/compress v1.17.2 // indirect - github.com/magiconair/properties v1.8.7 // indirect github.com/mattn/go-runewidth v0.0.15 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/pelletier/go-toml/v2 v2.2.2 // indirect + github.com/pelletier/go-toml/v2 v2.2.3 // indirect github.com/pjbgf/sha1cd v0.3.2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/rivo/uniseg v0.4.4 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect - github.com/sagikazarmark/locafero v0.4.0 // indirect - github.com/sagikazarmark/slog-shim v0.1.0 // indirect + github.com/sagikazarmark/locafero v0.7.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/skeema/knownhosts v1.3.0 // indirect github.com/sourcegraph/conc v0.3.0 // indirect - github.com/spf13/afero v1.11.0 // indirect - github.com/spf13/cast v1.6.0 // indirect + github.com/spf13/afero v1.12.0 // indirect + github.com/spf13/cast v1.7.1 // indirect github.com/spf13/pflag v1.0.6 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/ulikunitz/xz v0.5.12 // indirect @@ -104,6 +101,5 @@ require ( golang.org/x/net v0.38.0 // indirect golang.org/x/sync v0.12.0 // indirect golang.org/x/tools v0.30.0 // indirect - gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index e2958ba3509..2603de535bd 100644 --- a/go.sum +++ b/go.sum @@ -57,8 +57,8 @@ github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= -github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= -github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= +github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M= +github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c= github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= @@ -73,6 +73,8 @@ github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= +github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gofrs/uuid/v5 v5.3.1 h1:aPx49MwJbekCzOyhZDjJVb0hx3A0KLjlbLx6p2gY0p0= github.com/gofrs/uuid/v5 v5.3.1/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= @@ -91,8 +93,6 @@ github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/itchyny/gojq v0.12.8 h1:Zxcwq8w4IeR8JJYEtoG2MWJZUv0RGY6QqJcO1cqV8+A= @@ -118,8 +118,6 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leonelquinteros/gotext v1.7.1 h1:/JNPeE3lY5JeVYv2+KBpz39994W3W9fmZCGq3eO9Ri8= github.com/leonelquinteros/gotext v1.7.1/go.mod h1:I0WoFDn9u2D3VbPnnDPT8mzZu0iSXG8iih+AH2fHHqg= -github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= -github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 h1:hyAgCuG5nqTMDeUD8KZs7HSPs6KprPgPP8QmGV8nyvk= github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84/go.mod h1:Pb6XcsXyropB9LNHhnqaknG/vEwYztLkQzVCHv8sQ3M= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= @@ -130,12 +128,10 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= -github.com/pelletier/go-toml/v2 v2.2.2 h1:aYUidT7k73Pcl9nb2gScu7NSrKCSHIDE89b3+6Wq+LM= -github.com/pelletier/go-toml/v2 v2.2.2/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= +github.com/pelletier/go-toml/v2 v2.2.3 h1:YmeHyLY8mFWbdkNWwpr+qIL2bEqT0o95WSdkNHvL12M= +github.com/pelletier/go-toml/v2 v2.2.3/go.mod h1:MfCQTFTvCcUyyvvwm1+G6H/jORL20Xlb6rzQu9GuUkc= github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -152,10 +148,8 @@ github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0t github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= -github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= -github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= -github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ= +github.com/sagikazarmark/locafero v0.7.0 h1:5MqpDsTGNDhY8sGp0Aowyf0qKsPrhewaLSsFaodPcyo= +github.com/sagikazarmark/locafero v0.7.0/go.mod h1:2za3Cg5rMaTMoG/2Ulr9AwtFaIppKXTRYnozin4aB5k= github.com/schollz/closestmatch v2.1.0+incompatible h1:Uel2GXEpJqOWBrlyI+oY9LTiyyjYS17cCYRqP13/SHk= github.com/schollz/closestmatch v2.1.0+incompatible/go.mod h1:RtP1ddjLong6gTkbtmuhtR2uUrrJOpYzYRvbcPAid+g= github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= @@ -167,28 +161,21 @@ github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0 github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= -github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8= -github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY= -github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0= -github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= +github.com/spf13/afero v1.12.0/go.mod h1:ZTlWwG4/ahT8W7T0WQ5uYmjI9duaLQGy3Q2OAl4sk/4= +github.com/spf13/cast v1.7.1 h1:cuNEagBQEHWN1FnbGEjCXL2szYEXqfJPbP2HNUaca9Y= +github.com/spf13/cast v1.7.1/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.19.0 h1:RWq5SEjt8o25SROyN3z2OrDB9l7RPd3lwTWU8EcEdcI= -github.com/spf13/viper v1.19.0/go.mod h1:GQUN9bilAbhU/jgc1bKs99f/suXKeUMct8Adx5+Ntkg= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= @@ -274,8 +261,6 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= -gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= From 82e953dcc66e96eee39f044ce99c39629d840f3b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 17:00:59 +0200 Subject: [PATCH 342/361] [skip changelog] Bump github.com/gofrs/uuid/v5 from 5.3.1 to 5.3.2 (#2875) * [skip changelog] Bump github.com/gofrs/uuid/v5 from 5.3.1 to 5.3.2 Bumps [github.com/gofrs/uuid/v5](https://github.com/gofrs/uuid) from 5.3.1 to 5.3.2. - [Release notes](https://github.com/gofrs/uuid/releases) - [Commits](https://github.com/gofrs/uuid/compare/v5.3.1...v5.3.2) --- updated-dependencies: - dependency-name: github.com/gofrs/uuid/v5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/github.com/gofrs/uuid/v5.dep.yml | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml index 05ab6f262c2..fe507a6e480 100644 --- a/.licenses/go/github.com/gofrs/uuid/v5.dep.yml +++ b/.licenses/go/github.com/gofrs/uuid/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/gofrs/uuid/v5 -version: v5.3.1 +version: v5.3.2 type: go summary: Package uuid provides implementations of the Universally Unique Identifier (UUID), as specified in RFC-9562 (formerly RFC-4122). diff --git a/go.mod b/go.mod index 27bca84bdf0..4bae20500a0 100644 --- a/go.mod +++ b/go.mod @@ -21,7 +21,7 @@ require ( github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.18.0 github.com/go-git/go-git/v5 v5.13.2 - github.com/gofrs/uuid/v5 v5.3.1 + github.com/gofrs/uuid/v5 v5.3.2 github.com/leonelquinteros/gotext v1.7.1 github.com/mailru/easyjson v0.7.7 github.com/marcinbor85/gohex v0.0.0-20210308104911-55fb1c624d84 diff --git a/go.sum b/go.sum index 2603de535bd..3bf606aa288 100644 --- a/go.sum +++ b/go.sum @@ -75,8 +75,8 @@ github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIxtHqx8aGss= github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/gofrs/uuid/v5 v5.3.1 h1:aPx49MwJbekCzOyhZDjJVb0hx3A0KLjlbLx6p2gY0p0= -github.com/gofrs/uuid/v5 v5.3.1/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= +github.com/gofrs/uuid/v5 v5.3.2 h1:2jfO8j3XgSwlz/wHqemAEugfnTlikAYHhnqQ8Xh4fE0= +github.com/gofrs/uuid/v5 v5.3.2/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= From 86076937dbf663476251becee94658b9b46ffa04 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Mar 2025 21:18:55 +0200 Subject: [PATCH 343/361] [skip changelog] Bump github.com/go-git/go-git/v5 from 5.13.2 to 5.14.0 (#2853) * [skip changelog] Bump github.com/go-git/go-git/v5 from 5.13.2 to 5.14.0 Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.13.2 to 5.14.0. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.13.2...v5.14.0) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .../cloudflare/circl/dh/x25519.dep.yml | 6 +-- .../cloudflare/circl/dh/x448.dep.yml | 6 +-- .../cloudflare/circl/ecc/goldilocks.dep.yml | 6 +-- .../cloudflare/circl/internal/conv.dep.yml | 6 +-- .../cloudflare/circl/internal/sha3.dep.yml | 6 +-- .../github.com/cloudflare/circl/math.dep.yml | 6 +-- .../cloudflare/circl/math/fp25519.dep.yml | 6 +-- .../cloudflare/circl/math/fp448.dep.yml | 6 +-- .../cloudflare/circl/math/mlsbset.dep.yml | 6 +-- .../github.com/cloudflare/circl/sign.dep.yml | 6 +-- .../cloudflare/circl/sign/ed25519.dep.yml | 6 +-- .../cloudflare/circl/sign/ed448.dep.yml | 6 +-- .../cyphar/filepath-securejoin.dep.yml | 2 +- .../go/github.com/go-git/go-git/v5.dep.yml | 2 +- .../go-git/go-git/v5/config.dep.yml | 6 +-- .../go-git/v5/internal/path_util.dep.yml | 6 +-- .../go-git/v5/internal/revision.dep.yml | 6 +-- .../go-git/go-git/v5/internal/url.dep.yml | 6 +-- .../go-git/go-git/v5/plumbing.dep.yml | 6 +-- .../go-git/go-git/v5/plumbing/cache.dep.yml | 6 +-- .../go-git/go-git/v5/plumbing/color.dep.yml | 6 +-- .../go-git/v5/plumbing/filemode.dep.yml | 6 +-- .../go-git/v5/plumbing/format/config.dep.yml | 6 +-- .../go-git/v5/plumbing/format/diff.dep.yml | 6 +-- .../v5/plumbing/format/gitignore.dep.yml | 6 +-- .../go-git/v5/plumbing/format/idxfile.dep.yml | 6 +-- .../go-git/v5/plumbing/format/index.dep.yml | 6 +-- .../go-git/v5/plumbing/format/objfile.dep.yml | 6 +-- .../v5/plumbing/format/packfile.dep.yml | 6 +-- .../go-git/v5/plumbing/format/pktline.dep.yml | 6 +-- .../go-git/go-git/v5/plumbing/hash.dep.yml | 6 +-- .../go-git/go-git/v5/plumbing/object.dep.yml | 6 +-- .../go-git/v5/plumbing/protocol/packp.dep.yml | 6 +-- .../protocol/packp/capability.dep.yml | 6 +-- .../plumbing/protocol/packp/sideband.dep.yml | 6 +-- .../go-git/go-git/v5/plumbing/revlist.dep.yml | 6 +-- .../go-git/go-git/v5/plumbing/storer.dep.yml | 6 +-- .../go-git/v5/plumbing/transport.dep.yml | 6 +-- .../v5/plumbing/transport/client.dep.yml | 6 +-- .../go-git/v5/plumbing/transport/file.dep.yml | 6 +-- .../go-git/v5/plumbing/transport/git.dep.yml | 6 +-- .../go-git/v5/plumbing/transport/http.dep.yml | 6 +-- .../transport/internal/common.dep.yml | 6 +-- .../v5/plumbing/transport/server.dep.yml | 6 +-- .../go-git/v5/plumbing/transport/ssh.dep.yml | 6 +-- .../go-git/go-git/v5/storage.dep.yml | 6 +-- .../go-git/v5/storage/filesystem.dep.yml | 6 +-- .../v5/storage/filesystem/dotgit.dep.yml | 6 +-- .../go-git/go-git/v5/storage/memory.dep.yml | 6 +-- .../go-git/go-git/v5/utils/binary.dep.yml | 6 +-- .../go-git/go-git/v5/utils/diff.dep.yml | 6 +-- .../go-git/go-git/v5/utils/ioutil.dep.yml | 6 +-- .../go-git/go-git/v5/utils/merkletrie.dep.yml | 6 +-- .../v5/utils/merkletrie/filesystem.dep.yml | 6 +-- .../go-git/v5/utils/merkletrie/index.dep.yml | 6 +-- .../utils/merkletrie/internal/frame.dep.yml | 6 +-- .../go-git/v5/utils/merkletrie/noder.dep.yml | 6 +-- .../go-git/go-git/v5/utils/sync.dep.yml | 6 +-- .../go-git/go-git/v5/utils/trace.dep.yml | 6 +-- .../github.com/golang/groupcache/lru.dep.yml | 4 +- .../go/github.com/skeema/knownhosts.dep.yml | 6 +-- go.mod | 15 +++----- go.sum | 38 ++++++++----------- 63 files changed, 200 insertions(+), 209 deletions(-) diff --git a/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml index 9a3efa5ab03..1d562be2273 100644 --- a/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/dh/x25519 -version: v1.3.7 +version: v1.6.0 type: go summary: Package x25519 provides Diffie-Hellman functions as specified in RFC-7748. homepage: https://pkg.go.dev/github.com/cloudflare/circl/dh/x25519 license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml b/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml index 89ebbe18990..522d02f63a1 100644 --- a/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/dh/x448 -version: v1.3.7 +version: v1.6.0 type: go summary: Package x448 provides Diffie-Hellman functions as specified in RFC-7748. homepage: https://pkg.go.dev/github.com/cloudflare/circl/dh/x448 license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml b/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml index e9daa048734..754c7bbbc05 100644 --- a/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/cloudflare/circl/ecc/goldilocks -version: v1.3.7 +version: v1.6.0 type: go summary: Package goldilocks provides elliptic curve operations over the goldilocks curve. homepage: https://pkg.go.dev/github.com/cloudflare/circl/ecc/goldilocks license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -66,6 +66,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml b/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml index 1cedf0ceec2..01f88e8e626 100644 --- a/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/internal/conv -version: v1.3.7 +version: v1.6.0 type: go summary: homepage: https://pkg.go.dev/github.com/cloudflare/circl/internal/conv license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml b/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml index 49fa79d68f6..1a77db389e6 100644 --- a/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/cloudflare/circl/internal/sha3 -version: v1.3.7 +version: v1.6.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/github.com/cloudflare/circl/internal/sha3 license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -66,6 +66,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math.dep.yml b/.licenses/go/github.com/cloudflare/circl/math.dep.yml index efdc59bc46c..fb1cdcb9162 100644 --- a/.licenses/go/github.com/cloudflare/circl/math.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math -version: v1.3.7 +version: v1.6.0 type: go summary: Package math provides some utility functions for big integers. homepage: https://pkg.go.dev/github.com/cloudflare/circl/math license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml index 20c3b2393c3..90f08790e1a 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/fp25519 -version: v1.3.7 +version: v1.6.0 type: go summary: Package fp25519 provides prime field arithmetic over GF(2^255-19). homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/fp25519 license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml index b65891c9114..21ea74989b7 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/fp448 -version: v1.3.7 +version: v1.6.0 type: go summary: Package fp448 provides prime field arithmetic over GF(2^448-2^224-1). homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/fp448 license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml index c837e724cf8..4fad8b6af96 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/mlsbset -version: v1.3.7 +version: v1.6.0 type: go summary: Package mlsbset provides a constant-time exponentiation method with precomputation. homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/mlsbset license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign.dep.yml index 5d3285605df..0312b666360 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign -version: v1.3.7 +version: v1.6.0 type: go summary: Package sign provides unified interfaces for signature schemes. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml index 8586196a41a..47caa86bdc8 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign/ed25519 -version: v1.3.7 +version: v1.6.0 type: go summary: Package ed25519 implements Ed25519 signature scheme as described in RFC-8032. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed25519 license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml index 96cace11ded..de804a0d279 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign/ed448 -version: v1.3.7 +version: v1.6.0 type: go summary: Package ed448 implements Ed448 signature scheme as described in RFC-8032. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed448 license: other licenses: -- sources: circl@v1.3.7/LICENSE +- sources: circl@v1.6.0/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.3.7/README.md +- sources: circl@v1.6.0/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml b/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml index 5b0f2cae4e4..868b96d40a5 100644 --- a/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml +++ b/.licenses/go/github.com/cyphar/filepath-securejoin.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/cyphar/filepath-securejoin -version: v0.3.6 +version: v0.4.1 type: go summary: Package securejoin implements a set of helpers to make it easier to write Go code that is safe against symlink-related escape attacks. diff --git a/.licenses/go/github.com/go-git/go-git/v5.dep.yml b/.licenses/go/github.com/go-git/go-git/v5.dep.yml index c146824a9e3..2df1ff1cb80 100644 --- a/.licenses/go/github.com/go-git/go-git/v5.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5 -version: v5.13.2 +version: v5.14.0 type: go summary: A highly extensible git implementation in pure Go. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5 diff --git a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml index 19f31f09ffb..21b279ab5bc 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/config -version: v5.13.2 +version: v5.14.0 type: go summary: Package config contains the abstraction of multiple config files homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/config license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml index c51ce649795..79f9d504b01 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/path_util -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/path_util license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml index 812fc7302dd..b41845a40f6 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/internal/revision -version: v5.13.2 +version: v5.14.0 type: go summary: 'Package revision extracts git revision from string More information about revision : https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html' homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/revision license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml index 4fca3d1ad54..51a0848ca8c 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/url -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/url license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml index 4bebd8907a0..e8c5b713ebb 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing -version: v5.13.2 +version: v5.14.0 type: go summary: package plumbing implement the core interfaces and structs used by go-git homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml index c665de29564..10f973d8943 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/cache -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/cache license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml index 27d565fcfac..88efa84e154 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/color -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/color license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml index 661b4123dbb..5d46f5dc181 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/filemode -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/filemode license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml index 7e6fba20066..d32efb7c0a6 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/config -version: v5.13.2 +version: v5.14.0 type: go summary: Package config implements encoding and decoding of git config files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/config license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml index 732d0019dc7..b356f3027b9 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/diff -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/diff license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml index a598caf9716..61463512b1a 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/gitignore -version: v5.13.2 +version: v5.14.0 type: go summary: Package gitignore implements matching file system paths to gitignore patterns that can be automatically read from a git repository tree in the order of definition @@ -8,7 +8,7 @@ summary: Package gitignore implements matching file system paths to gitignore pa homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/gitignore license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -211,6 +211,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml index 63ec2fea5f9..3ba803e93cd 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/idxfile -version: v5.13.2 +version: v5.14.0 type: go summary: Package idxfile implements encoding and decoding of packfile idx files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/idxfile license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml index 0930ce8b6fe..0fa899eae02 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/index -version: v5.13.2 +version: v5.14.0 type: go summary: Package index implements encoding and decoding of index format files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/index license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml index b20fc7b47d1..65b18d292ad 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/objfile -version: v5.13.2 +version: v5.14.0 type: go summary: Package objfile implements encoding and decoding of object files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/objfile license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml index 0530e2431cf..eb25a2aff46 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/packfile -version: v5.13.2 +version: v5.14.0 type: go summary: Package packfile implements encoding and decoding of packfile format. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/packfile license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml index 7152b41a7ee..94aaff11603 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/pktline -version: v5.13.2 +version: v5.14.0 type: go summary: Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/pktline license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml index d8ad34d763c..b9e3ecd1bc5 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/hash -version: v5.13.2 +version: v5.14.0 type: go summary: package hash provides a way for managing the underlying hash implementations used across go-git. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/hash license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml index 70873b87d15..60c59377b9d 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/object -version: v5.13.2 +version: v5.14.0 type: go summary: Package object contains implementations of all Git objects and utility functions to work with them. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/object license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml index 2d833412255..8838da00803 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml index 4798564f60f..bba9c677043 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/capability -version: v5.13.2 +version: v5.14.0 type: go summary: Package capability defines the server and client capabilities. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml index 262b1d97e32..07b40fda26c 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband -version: v5.13.2 +version: v5.14.0 type: go summary: Package sideband implements a sideband mutiplex/demultiplexer homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml index 05c0260a007..4a87df6ae54 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/revlist -version: v5.13.2 +version: v5.14.0 type: go summary: Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/revlist license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml index b7307e34844..3fabe97c2e8 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/storer -version: v5.13.2 +version: v5.14.0 type: go summary: Package storer defines the interfaces to store objects, references, etc. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/storer license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml index efd228ab516..2ce5a07a881 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport -version: v5.13.2 +version: v5.14.0 type: go summary: Package transport includes the implementation for different transport protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml index 9a716a06d80..04c1eb250d6 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/client -version: v5.13.2 +version: v5.14.0 type: go summary: Package client contains helper function to deal with the different client protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/client license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml index bdf6271328d..faad88ce462 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/file -version: v5.13.2 +version: v5.14.0 type: go summary: Package file implements the file transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/file license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml index c99f2a17d4c..2324532d529 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/git -version: v5.13.2 +version: v5.14.0 type: go summary: Package git implements the git transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/git license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml index 3bf529afcfc..f37ae0040dc 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/http -version: v5.13.2 +version: v5.14.0 type: go summary: Package http implements the HTTP transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/http license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml index 0cbbeb48dfb..d90e8c98bca 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/internal/common -version: v5.13.2 +version: v5.14.0 type: go summary: Package common implements the git pack protocol with a pluggable transport. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/internal/common license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml index f6ac68f9d67..1a38d8e8eaa 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/server -version: v5.13.2 +version: v5.14.0 type: go summary: Package server implements the git server protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/server license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml index 3cef0f03388..322b91d1f1f 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/ssh -version: v5.13.2 +version: v5.14.0 type: go summary: Package ssh implements the SSH transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/ssh license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml index 5e76cb2fe77..295bd6e3906 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml index e20d66fe699..13d7935fcf3 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem -version: v5.13.2 +version: v5.14.0 type: go summary: Package filesystem is a storage backend base on filesystems homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml index 9947ed0303e..861b87651c0 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem/dotgit -version: v5.13.2 +version: v5.14.0 type: go summary: https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem/dotgit license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml index 5c4e9ca0726..edde9fd87b2 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/memory -version: v5.13.2 +version: v5.14.0 type: go summary: Package memory is a storage backend base on memory homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/memory license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml index 7af945d5e55..ad373e2ddf7 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/binary -version: v5.13.2 +version: v5.14.0 type: go summary: Package binary implements syntax-sugar functions on top of the standard library binary package homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/binary license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml index 05ff14ca38e..a9318990073 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/diff -version: v5.13.2 +version: v5.14.0 type: go summary: Package diff implements line oriented diffs, similar to the ancient Unix diff command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/diff license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml index e5123361317..971ae0a70fe 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/ioutil -version: v5.13.2 +version: v5.14.0 type: go summary: Package ioutil implements some I/O utility functions. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/ioutil license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml index d0eabf84a9b..0a6da20f7d3 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie -version: v5.13.2 +version: v5.14.0 type: go summary: Package merkletrie provides support for n-ary trees that are at the same time Merkle trees and Radix trees (tries). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml index 40c1f57555e..b3646a63d5f 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/filesystem -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/filesystem license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml index 86fb9517714..d1dc89ad25a 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/index -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/index license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml index 4ac111fefd5..56b8e6f3619 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/internal/frame -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml index e7e2405025e..0a700ff41eb 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/noder -version: v5.13.2 +version: v5.14.0 type: go summary: Package noder provide an interface for defining nodes in a merkletrie, their hashes and their paths (a noders and its ancestors). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/noder license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml index 857019c1a28..d72251234d4 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/sync -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/sync license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml index fb3fa986653..52b9238576a 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/trace -version: v5.13.2 +version: v5.14.0 type: go summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/trace license: apache-2.0 licenses: -- sources: v5@v5.13.2/LICENSE +- sources: v5@v5.14.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.13.2/README.md +- sources: v5@v5.14.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/golang/groupcache/lru.dep.yml b/.licenses/go/github.com/golang/groupcache/lru.dep.yml index 9fa3fc71521..11dad64f329 100644 --- a/.licenses/go/github.com/golang/groupcache/lru.dep.yml +++ b/.licenses/go/github.com/golang/groupcache/lru.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/golang/groupcache/lru -version: v0.0.0-20210331224755-41bb18bfe9da +version: v0.0.0-20241129210726-2c02b8208cf8 type: go summary: Package lru implements an LRU cache. homepage: https://pkg.go.dev/github.com/golang/groupcache/lru license: apache-2.0 licenses: -- sources: groupcache@v0.0.0-20210331224755-41bb18bfe9da/LICENSE +- sources: groupcache@v0.0.0-20241129210726-2c02b8208cf8/LICENSE text: | Apache License Version 2.0, January 2004 diff --git a/.licenses/go/github.com/skeema/knownhosts.dep.yml b/.licenses/go/github.com/skeema/knownhosts.dep.yml index e60ef13d776..61e2ba7dd9e 100644 --- a/.licenses/go/github.com/skeema/knownhosts.dep.yml +++ b/.licenses/go/github.com/skeema/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/skeema/knownhosts -version: v1.3.0 +version: v1.3.1 type: go summary: Package knownhosts is a thin wrapper around golang.org/x/crypto/ssh/knownhosts, adding the ability to obtain the list of host key algorithms for a known host. @@ -212,7 +212,7 @@ licenses: limitations under the License. - sources: README.md text: |- - **Source code copyright 2024 Skeema LLC and the Skeema Knownhosts authors** + **Source code copyright 2025 Skeema LLC and the Skeema Knownhosts authors** ```text Licensed under the Apache License, Version 2.0 (the "License"); @@ -230,7 +230,7 @@ licenses: notices: - sources: NOTICE text: |- - Copyright 2024 Skeema LLC and the Skeema Knownhosts authors + Copyright 2025 Skeema LLC and the Skeema Knownhosts authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/go.mod b/go.mod index 4bae20500a0..fd3a5c40e2c 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.18.0 - github.com/go-git/go-git/v5 v5.13.2 + github.com/go-git/go-git/v5 v5.14.0 github.com/gofrs/uuid/v5 v5.3.2 github.com/leonelquinteros/gotext v1.7.1 github.com/mailru/easyjson v0.7.7 @@ -51,18 +51,18 @@ require ( require ( dario.cat/mergo v1.0.0 // indirect - github.com/Microsoft/go-winio v0.6.1 // indirect - github.com/cloudflare/circl v1.3.7 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/cloudflare/circl v1.6.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect github.com/creack/goselect v0.1.2 // indirect - github.com/cyphar/filepath-securejoin v0.3.6 // indirect + github.com/cyphar/filepath-securejoin v0.4.1 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/emirpasic/gods v1.18.1 // indirect github.com/fsnotify/fsnotify v1.8.0 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/go-billy/v5 v5.6.2 // indirect github.com/go-viper/mapstructure/v2 v2.2.1 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect github.com/h2non/filetype v1.1.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect @@ -82,7 +82,7 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sagikazarmark/locafero v0.7.0 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect - github.com/skeema/knownhosts v1.3.0 // indirect + github.com/skeema/knownhosts v1.3.1 // indirect github.com/sourcegraph/conc v0.3.0 // indirect github.com/spf13/afero v1.12.0 // indirect github.com/spf13/cast v1.7.1 // indirect @@ -97,9 +97,6 @@ require ( go.uber.org/multierr v1.9.0 // indirect golang.org/x/crypto v0.36.0 // indirect golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/mod v0.23.0 // indirect golang.org/x/net v0.38.0 // indirect - golang.org/x/sync v0.12.0 // indirect - golang.org/x/tools v0.30.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index 3bf606aa288..e7ce8bba599 100644 --- a/go.sum +++ b/go.sum @@ -3,8 +3,8 @@ dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= fortio.org/safecast v1.0.0 h1:dr3131WPX8iS1pTf76+39WeXbTrerDYLvi9s7Oi3wiY= fortio.org/safecast v1.0.0/go.mod h1:xZmcPk3vi4kuUFf+tq4SvnlVdwViqf6ZSZl91Jr9Jdg= github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= -github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= -github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNxpLfdw= github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= @@ -26,8 +26,8 @@ github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4 github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= -github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= +github.com/cloudflare/circl v1.6.0 h1:cr5JKic4HI+LkINy2lg3W2jF8sHCVTBncJr5gIIq7qk= +github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cmaglie/easyjson v0.8.1 h1:nKQ6Yew57jsoGsuyRJPgm8PSsjbU3eO/uA9BsTu3E/8= github.com/cmaglie/easyjson v0.8.1/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= @@ -38,8 +38,8 @@ github.com/cpuguy83/go-md2man/v2 v2.0.6 h1:XJtiaUW6dEEqVuZiMTn1ldk455QWwEIsMIJlo github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/creack/goselect v0.1.2 h1:2DNy14+JPjRBgPzAd1thbQp4BSIihxcBf0IXhQXDRa0= github.com/creack/goselect v0.1.2/go.mod h1:a/NhLweNvqIYMuxcMOuWY516Cimucms3DglDzQP3hKY= -github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM= -github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= +github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= +github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -49,8 +49,8 @@ github.com/djherbis/buffer v1.2.0 h1:PH5Dd2ss0C7CRRhQCZ2u7MssF+No9ide8Ye71nPHcrQ github.com/djherbis/buffer v1.2.0/go.mod h1:fjnebbZjCUpPinBRD+TDwXSOeNQ7fPQWLfGQqiAiUyE= github.com/djherbis/nio/v3 v3.0.1 h1:6wxhnuppteMa6RHA4L81Dq7ThkZH8SwnDzXDYy95vB4= github.com/djherbis/nio/v3 v3.0.1/go.mod h1:Ng4h80pbZFMla1yKzm61cF0tqqilXZYrogmWgZxOcmg= -github.com/elazarl/goproxy v1.4.0 h1:4GyuSbFa+s26+3rmYNSuUVsx+HgPrV1bk1jXI0l9wjM= -github.com/elazarl/goproxy v1.4.0/go.mod h1:X/5W/t+gzDyLfHW4DrMdpjqYjpXsURlBt9lpBDxZZZQ= +github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o= +github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= @@ -67,8 +67,8 @@ github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UN github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.13.2 h1:7O7xvsK7K+rZPKW6AQR1YyNhfywkv7B8/FsP3ki6Zv0= -github.com/go-git/go-git/v5 v5.13.2/go.mod h1:hWdW5P4YZRjmpGHwRH2v3zkWcNl6HeXaXQEMGb3NJ9A= +github.com/go-git/go-git/v5 v5.14.0 h1:/MD3lCrGjCen5WfEAzKg00MJJffKhC8gzS80ycmCi60= +github.com/go-git/go-git/v5 v5.14.0/go.mod h1:Z5Xhoia5PcWA3NF8vRLURn9E5FRhSl7dGj9ItW3Wk5k= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= @@ -77,13 +77,13 @@ github.com/go-viper/mapstructure/v2 v2.2.1 h1:ZAaOCxANMuZx5RCeg0mBdEZk7DZasvvZIx github.com/go-viper/mapstructure/v2 v2.2.1/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gofrs/uuid/v5 v5.3.2 h1:2jfO8j3XgSwlz/wHqemAEugfnTlikAYHhnqQ8Xh4fE0= github.com/gofrs/uuid/v5 v5.3.2/go.mod h1:CDOjlDMVAtN56jqyRUZh58JT31Tiw7/oQyEXZV+9bD8= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg= @@ -157,8 +157,8 @@ github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY= -github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M= +github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8= +github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY= github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo= github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/afero v1.12.0 h1:UcOPyRBYczmFn6yvphxkn9ZEOY65cpwGKb5mL36mrqs= @@ -223,13 +223,9 @@ golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= -golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM= -golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= -golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw= -golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -248,8 +244,6 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY= -golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= From 0d1005c33a17fd7ce986867f20b71be63166e57d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 2 Apr 2025 11:34:15 +0200 Subject: [PATCH 344/361] [skip changelog] Bump codecov/codecov-action from 3 to 5 (#2877) Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 3 to 5. - [Release notes](https://github.com/codecov/codecov-action/releases) - [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/codecov/codecov-action/compare/v3...v5) --- updated-dependencies: - dependency-name: codecov/codecov-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/test-go-task.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-go-task.yml b/.github/workflows/test-go-task.yml index 61ecb297cd8..088e58669f7 100644 --- a/.github/workflows/test-go-task.yml +++ b/.github/workflows/test-go-task.yml @@ -205,7 +205,7 @@ jobs: echo "CODECOV_TOKEN=$CODECOV_TOKEN" >> "$GITHUB_ENV" - name: Send unit tests coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v5 with: token: ${{ env.CODECOV_TOKEN }} files: ./coverage.txt From e390ed34cd7714672d5a64f5fec29ab87a541198 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 10:44:24 +0200 Subject: [PATCH 345/361] [skip changelog] Bump golangci/golangci-lint-action from 6 to 7 (#2872) * [skip changelog] Bump golangci/golangci-lint-action from 6 to 7 Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6 to 7. - [Release notes](https://github.com/golangci/golangci-lint-action/releases) - [Commits](https://github.com/golangci/golangci-lint-action/compare/v6...v7) --- updated-dependencies: - dependency-name: golangci/golangci-lint-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Migrated golanci.yml to v2 * Updated golangci-lint version used in GH workflows * Fixed linter warning commands/service_compile.go:162:5: QF1001: could apply De Morgan's law (staticcheck) if !(keychainProp == signProp && signProp == encryptProp) { * Fixed linter warning commands/service_compile.go:248:16: ST1023: should omit type logger.Verbosity from declaration; it will be inferred from the right-hand side (staticcheck) var verbosity logger.Verbosity = logger.VerbosityNormal ^ * Fixed linter warnings commands/service_compile.go:356:4: QF1012: Use fmt.Fprintf(...) instead of Write([]byte(fmt.Sprintf(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintf("Could not normalize FQBN: %s\n", err))) ^ commands/service_compile.go:359:3: QF1012: Use fmt.Fprintf(...) instead of Write([]byte(fmt.Sprintf(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintf("FQBN: %s\n", normalizedFQBN))) ^ commands/service_upload.go:508:4: QF1012: Use fmt.Fprintln(...) instead of Write([]byte(fmt.Sprintln(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Skipping 1200-bps touch reset: no serial port selected!")))) ^ commands/service_upload.go:515:6: QF1012: Use fmt.Fprintln(...) instead of Write([]byte(fmt.Sprintln(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Performing 1200-bps touch reset on serial port %s", portAddress)))) ^ commands/service_upload.go:521:6: QF1012: Use fmt.Fprintln(...) instead of Write([]byte(fmt.Sprintln(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Waiting for upload port...")))) ^ internal/arduino/builder/internal/preprocessor/ctags.go:68:3: QF1012: Use fmt.Fprintf(...) instead of WriteString(fmt.Sprintf(...)) (staticcheck) stderr.WriteString(fmt.Sprintf("%s: %s", ^ internal/mock_serial_monitor/main.go:146:4: QF1012: Use fmt.Fprintf(...) instead of Write([]byte(fmt.Sprintf(...))) (staticcheck) d.mockedSerialPort.Write([]byte( ^ * Fixed linter warnings commands/service_upload.go:532:7: QF1012: Use fmt.Fprintln(...) instead of Write([]byte(fmt.Sprintln(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Upload port found on %s", portAddress)))) ^ commands/service_upload.go:534:7: QF1012: Use fmt.Fprintln(...) instead of Write([]byte(fmt.Sprintln(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintln(i18n.Tr("No upload port found, using %s as fallback", actualPort.Address)))) ^ commands/service_upload.go:544:4: QF1012: Use fmt.Fprintln(...) instead of Write([]byte(fmt.Sprintln(...))) (staticcheck) errStream.Write([]byte(fmt.Sprintln(i18n.Tr("Cannot perform port reset: %s", err)))) ^ commands/service_upload.go:731:3: QF1012: Use fmt.Fprintln(...) instead of Write([]byte(fmt.Sprintln(...))) (staticcheck) outStream.Write([]byte(fmt.Sprintln(cmdLine))) ^ * Fixed linter warning internal/arduino/builder/internal/utils/utils.go:85:25: QF1004: could use strings.ReplaceAll instead (staticcheck) rows := strings.Split(strings.Replace(depFile, "\r\n", "\n", -1), "\n") ^ * Fixed linter warning internal/arduino/cores/packagemanager/loader.go:368:6: QF1006: could lift into loop condition (staticcheck) if !board.Properties.ContainsKey(fmt.Sprintf("upload_port.%d.vid", i)) { ^ * Fixed linter warning internal/cli/lib/check_deps.go:117:2: QF1003: could use tagged switch on dep.VersionInstalled (staticcheck) if dep.VersionInstalled == "" { ^ --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .github/workflows/check-go-task.yml | 4 +- .golangci.yml | 309 +++++++++--------- commands/service_compile.go | 8 +- commands/service_upload.go | 14 +- .../builder/internal/preprocessor/ctags.go | 4 +- .../arduino/builder/internal/utils/utils.go | 2 +- .../arduino/cores/packagemanager/loader.go | 5 +- internal/cli/lib/check_deps.go | 7 +- internal/mock_serial_monitor/main.go | 3 +- 9 files changed, 174 insertions(+), 182 deletions(-) diff --git a/.github/workflows/check-go-task.yml b/.github/workflows/check-go-task.yml index 4efd2a0b26f..16b758f4304 100644 --- a/.github/workflows/check-go-task.yml +++ b/.github/workflows/check-go-task.yml @@ -114,9 +114,9 @@ jobs: version: 3.x - name: golangci-lint - uses: golangci/golangci-lint-action@v6 + uses: golangci/golangci-lint-action@v7 with: - version: v1.64.5 + version: v2.0.2 - name: Check style env: diff --git a/.golangci.yml b/.golangci.yml index 0890432757a..774ff649564 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -1,11 +1,11 @@ +version: "2" run: - timeout: 10m go: "1.24" tests: true linters: # Disable all linters. - disable-all: true + default: none # Enable specific linter enable: # Nice to have @@ -13,173 +13,168 @@ linters: #- errcheck #- gocritic #- thelper - - errorlint - - dupword - copyloopvar + - dupword + - errorlint - forbidigo - - gofmt - - goimports - gosec - - gosimple - govet - ineffassign - misspell - revive - staticcheck - - tenv - - typecheck - unconvert # We must disable this one because there is no support 'optional' protobuf fields yet: https://github.com/arduino/arduino-cli/pull/2570 #- protogetter -linters-settings: - govet: - # Enable analyzers by name. - # Run `GL_DEBUG=govet golangci-lint run --enable=govet` to see default, all available analyzers, and enabled analyzers. - enable: - - appends - - asmdecl - - assign - - atomic - - atomicalign - - bools - - buildtag - - cgocall - - composites - - copylocks - - deepequalerrors - - defers - - directive - - errorsas - #- fieldalignment - - findcall - - framepointer - - httpresponse - - ifaceassert - - loopclosure - - lostcancel - - nilfunc - - nilness - - printf - - reflectvaluecompare - #- shadow - - shift - - sigchanyzer - - slog - - sortslice - - stdmethods - - stringintconv - - structtag - - testinggoroutine - - tests - - unmarshal - - unreachable - - unsafeptr - - unusedresult - - unusedwrite - - forbidigo: - forbid: - - p: ^(fmt\.Print(|f|ln)|print|println)$ - msg: in cli package use `feedback.*` instead - - p: (os\.(Stdout|Stderr|Stdin))(# )? - msg: in cli package use `feedback.*` instead - analyze-types: true - - revive: - confidence: 0.8 + settings: + errorlint: + errorf: false + asserts: false + comparison: true + forbidigo: + forbid: + - pattern: ^(fmt\.Print(|f|ln)|print|println)$ + msg: in cli package use `feedback.*` instead + - pattern: (os\.(Stdout|Stderr|Stdin))(# )? + msg: in cli package use `feedback.*` instead + analyze-types: true + govet: + enable: + - appends + - asmdecl + - assign + - atomic + - atomicalign + - bools + - buildtag + - cgocall + - composites + - copylocks + - deepequalerrors + - defers + - directive + - errorsas + - findcall + - framepointer + - httpresponse + - ifaceassert + - loopclosure + - lostcancel + - nilfunc + - nilness + - printf + - reflectvaluecompare + - shift + - sigchanyzer + - slog + - sortslice + - stdmethods + - stringintconv + - structtag + - testinggoroutine + - tests + - unmarshal + - unreachable + - unsafeptr + - unusedresult + - unusedwrite + revive: + confidence: 0.8 + rules: + - name: blank-imports + - name: context-as-argument + - name: context-keys-type + - name: dot-imports + - name: empty-block + - name: error-naming + - name: error-strings + - name: errorf + - name: exported + - name: increment-decrement + - name: package-comments + - name: range + - name: receiver-naming + - name: redefines-builtin-id + - name: superfluous-else + - name: time-naming + - name: unreachable-code + - name: var-declaration + - name: defer + - name: atomic + - name: waitgroup-by-value + exclusions: + generated: lax + presets: + - comments + - common-false-positives + - legacy + - std-error-handling rules: - #- name: error-return - #- name: unused-parameter - #- name: var-naming - - name: blank-imports - - name: context-as-argument - - name: context-keys-type - - name: dot-imports - - name: empty-block - - name: error-naming - - name: error-strings - - name: errorf - - name: exported - - name: increment-decrement - #- name: indent-error-flow - - name: package-comments - - name: range - - name: receiver-naming - - name: redefines-builtin-id - - name: superfluous-else - - name: time-naming - - name: unreachable-code - - name: var-declaration - - name: defer - - name: atomic - - name: waitgroup-by-value - - errorlint: - # Check for plain error comparisons. - comparison: true - - # We might evalute to allow the asserts and errofs in the future - # Do not check for plain type assertions and type switches. - asserts: false - # Do not check whether fmt.Errorf uses the %w verb for formatting errors. - errorf: false - + - linters: + - errcheck + - gosec + path: _test\.go + - linters: + - gosec + text: G401 + - linters: + - gosec + text: G501 + - linters: + - gosec + path: internal/integrationtest/ + text: G112 + - linters: + - gosec + path: executils/process.go + text: G204 + - linters: + - staticcheck + path: commands/lib/search.go + text: SA1019 + - linters: + - revive + path: arduino/libraries/loader.go + text: empty-block + - linters: + - revive + path: arduino/serialutils/serialutils.go + text: empty-block + - linters: + - revive + path: arduino/resources/download.go + text: empty-block + - linters: + - revive + path: arduino/builder/internal/progress/progress_test.go + text: empty-block + - linters: + - revive + path: internal/algorithms/channels.go + text: empty-block + - linters: + - forbidigo + path-except: internal/cli/ + - linters: + - forbidigo + path: internal/cli/.*_test.go + - linters: + - forbidigo + path: internal/cli/feedback/ + paths: + - third_party$ + - builtin$ + - examples$ issues: - # Fix found issues (if it's supported by the linter). fix: false - # List of regexps of issue texts to exclude. - # - # But independently of this option we use default exclude patterns, - # it can be disabled by `exclude-use-default: false`. - # To list all excluded by default patterns execute `golangci-lint run --help` - # - # Default: https://golangci-lint.run/usage/false-positives/#default-exclusions - exclude-rules: - # Exclude some linters from running on tests files. - - path: _test\.go - linters: [gosec, errcheck] - # G401: Use of weak cryptographic primitive - - linters: [gosec] - text: "G401" - # G501: Blocklisted import crypto/md5: weak cryptographic primitive - - linters: [gosec] - text: "G501" - # G112: Potential Slowloris Attack because ReadHeaderTimeout is not configured in the http.Server - - linters: [gosec] - path: internal/integrationtest/ - text: "G112" - # G204: Subprocess launched with a potential tainted input or cmd arguments - - linters: [gosec] - path: executils/process.go - text: "G204" - # SA1019: req.GetQuery is deprecated: Marked as deprecated in cc/arduino/cli/commands/v1/lib.proto. - - linters: [staticcheck] - path: commands/lib/search.go - text: "SA1019" - - # Ignore revive emptyblock - - linters: [revive] - path: arduino/libraries/loader.go - text: "empty-block" - - linters: [revive] - path: arduino/serialutils/serialutils.go - text: "empty-block" - - linters: [revive] - path: arduino/resources/download.go - text: "empty-block" - - linters: [revive] - path: arduino/builder/internal/progress/progress_test.go - text: "empty-block" - - linters: [revive] - path: internal/algorithms/channels.go - text: "empty-block" - - # Run linters only on specific path - - path-except: internal/cli/ - linters: - - forbidigo - - path: internal/cli/.*_test.go - linters: [forbidigo] - - path: internal/cli/feedback/ - linters: [forbidigo] +formatters: + enable: + - gofmt + - goimports + exclusions: + generated: lax + paths: + - third_party$ + - builtin$ + - examples$ diff --git a/commands/service_compile.go b/commands/service_compile.go index 7a98759ebf4..ea36641c5e3 100644 --- a/commands/service_compile.go +++ b/commands/service_compile.go @@ -159,7 +159,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu signProp := boardBuildProperties.ContainsKey("build.keys.sign_key") encryptProp := boardBuildProperties.ContainsKey("build.keys.encrypt_key") // we verify that all the properties for the secure boot keys are defined or none of them is defined. - if !(keychainProp == signProp && signProp == encryptProp) { + if keychainProp != signProp || signProp != encryptProp { return errors.New(i18n.Tr("Firmware encryption/signing requires all the following properties to be defined: %s", "build.keys.keychain, build.keys.sign_key, build.keys.encrypt_key")) } @@ -245,7 +245,7 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu Message: &rpc.CompileResponse_Progress{Progress: p}, }) } - var verbosity logger.Verbosity = logger.VerbosityNormal + var verbosity = logger.VerbosityNormal if req.GetQuiet() { verbosity = logger.VerbosityQuiet } @@ -353,10 +353,10 @@ func (s *arduinoCoreServerImpl) Compile(req *rpc.CompileRequest, stream rpc.Ardu // select the core name in case of "package:core" format normalizedFQBN, err := pme.NormalizeFQBN(fqbn) if err != nil { - outStream.Write([]byte(fmt.Sprintf("Could not normalize FQBN: %s\n", err))) + fmt.Fprintf(outStream, "Could not normalize FQBN: %s\n", err) normalizedFQBN = fqbn } - outStream.Write([]byte(fmt.Sprintf("FQBN: %s\n", normalizedFQBN))) + fmt.Fprintf(outStream, "FQBN: %s\n", normalizedFQBN) core = core[strings.Index(core, ":")+1:] outStream.Write([]byte(i18n.Tr("Using board '%[1]s' from platform in folder: %[2]s", targetBoard.BoardID, targetPlatform.InstallDir) + "\n")) outStream.Write([]byte(i18n.Tr("Using core '%[1]s' from platform in folder: %[2]s", core, buildPlatform.InstallDir) + "\n")) diff --git a/commands/service_upload.go b/commands/service_upload.go index 93a508be337..10f759998d7 100644 --- a/commands/service_upload.go +++ b/commands/service_upload.go @@ -505,20 +505,20 @@ func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packa // if touch is requested but port is not specified, print a warning if touch && portToTouch == "" { - outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Skipping 1200-bps touch reset: no serial port selected!")))) + fmt.Fprintln(outStream, i18n.Tr("Skipping 1200-bps touch reset: no serial port selected!")) } cb := &serialutils.ResetProgressCallbacks{ TouchingPort: func(portAddress string) { logrus.WithField("phase", "board reset").Infof("Performing 1200-bps touch reset on serial port %s", portAddress) if verbose { - outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Performing 1200-bps touch reset on serial port %s", portAddress)))) + fmt.Fprintln(outStream, i18n.Tr("Performing 1200-bps touch reset on serial port %s", portAddress)) } }, WaitingForNewSerial: func() { logrus.WithField("phase", "board reset").Info("Waiting for upload port...") if verbose { - outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Waiting for upload port...")))) + fmt.Fprintln(outStream, i18n.Tr("Waiting for upload port...")) } }, BootloaderPortFound: func(portAddress string) { @@ -529,9 +529,9 @@ func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packa } if verbose { if portAddress != "" { - outStream.Write([]byte(fmt.Sprintln(i18n.Tr("Upload port found on %s", portAddress)))) + fmt.Fprintln(outStream, i18n.Tr("Upload port found on %s", portAddress)) } else { - outStream.Write([]byte(fmt.Sprintln(i18n.Tr("No upload port found, using %s as fallback", actualPort.Address)))) + fmt.Fprintln(outStream, i18n.Tr("No upload port found, using %s as fallback", actualPort.Address)) } } }, @@ -541,7 +541,7 @@ func (s *arduinoCoreServerImpl) runProgramAction(ctx context.Context, pme *packa } if newPortAddress, err := serialutils.Reset(portToTouch, wait, dryRun, nil, cb); err != nil { - errStream.Write([]byte(fmt.Sprintln(i18n.Tr("Cannot perform port reset: %s", err)))) + fmt.Fprintln(errStream, i18n.Tr("Cannot perform port reset: %s", err)) } else { if newPortAddress != "" { actualPort.Address = newPortAddress @@ -728,7 +728,7 @@ func runTool(ctx context.Context, recipeID string, props *properties.Map, outStr // Run Tool logrus.WithField("phase", "upload").Tracef("Executing upload tool: %s", cmdLine) if verbose { - outStream.Write([]byte(fmt.Sprintln(cmdLine))) + fmt.Fprintln(outStream, cmdLine) } if dryRun { return nil diff --git a/internal/arduino/builder/internal/preprocessor/ctags.go b/internal/arduino/builder/internal/preprocessor/ctags.go index c77d22e783b..ae87e35805d 100644 --- a/internal/arduino/builder/internal/preprocessor/ctags.go +++ b/internal/arduino/builder/internal/preprocessor/ctags.go @@ -65,9 +65,9 @@ func PreprocessSketchWithCtags( } // Do not bail out if we are generating the compile commands database - stderr.WriteString(fmt.Sprintf("%s: %s", + fmt.Fprintf(stderr, "%s: %s", i18n.Tr("An error occurred adding prototypes"), - i18n.Tr("the compilation database may be incomplete or inaccurate"))) + i18n.Tr("the compilation database may be incomplete or inaccurate")) if err := sourceFile.CopyTo(ctagsTarget); err != nil { return &Result{args: result.Args(), stdout: stdout.Bytes(), stderr: stderr.Bytes()}, err } diff --git a/internal/arduino/builder/internal/utils/utils.go b/internal/arduino/builder/internal/utils/utils.go index 4b4d5b79416..1c3304d39d0 100644 --- a/internal/arduino/builder/internal/utils/utils.go +++ b/internal/arduino/builder/internal/utils/utils.go @@ -82,7 +82,7 @@ func ObjFileIsUpToDate(sourceFile, objectFile, dependencyFile *paths.Path) (bool } checkDepFile := func(depFile string) (bool, error) { - rows := strings.Split(strings.Replace(depFile, "\r\n", "\n", -1), "\n") + rows := strings.Split(strings.ReplaceAll(depFile, "\r\n", "\n"), "\n") rows = f.Map(rows, removeEndingBackSlash) rows = f.Map(rows, strings.TrimSpace) rows = f.Map(rows, unescapeDep) diff --git a/internal/arduino/cores/packagemanager/loader.go b/internal/arduino/cores/packagemanager/loader.go index 14e1d6df912..2effccb825d 100644 --- a/internal/arduino/cores/packagemanager/loader.go +++ b/internal/arduino/cores/packagemanager/loader.go @@ -364,10 +364,7 @@ func convertLegacyPlatformToPluggableDiscovery(platform *cores.PlatformRelease) // Add identification properties for network protocol i := 0 - for { - if !board.Properties.ContainsKey(fmt.Sprintf("upload_port.%d.vid", i)) { - break - } + for board.Properties.ContainsKey(fmt.Sprintf("upload_port.%d.vid", i)) { i++ } board.Properties.Set(fmt.Sprintf("upload_port.%d.board", i), board.BoardID) diff --git a/internal/cli/lib/check_deps.go b/internal/cli/lib/check_deps.go index 48f57291d63..154edd146b4 100644 --- a/internal/cli/lib/check_deps.go +++ b/internal/cli/lib/check_deps.go @@ -114,13 +114,14 @@ func outputDep(dep *result.LibraryDependencyStatus) string { green := color.New(color.FgGreen) red := color.New(color.FgRed) yellow := color.New(color.FgYellow) - if dep.VersionInstalled == "" { + switch dep.VersionInstalled { + case "": res += i18n.Tr("%s must be installed.", red.Sprintf("✕ %s %s", dep.Name, dep.VersionRequired)) - } else if dep.VersionInstalled == dep.VersionRequired { + case dep.VersionRequired: res += i18n.Tr("%s is already installed.", green.Sprintf("✓ %s %s", dep.Name, dep.VersionRequired)) - } else { + default: res += i18n.Tr("%[1]s is required but %[2]s is currently installed.", yellow.Sprintf("✕ %s %s", dep.Name, dep.VersionRequired), yellow.Sprintf("%s", dep.VersionInstalled)) diff --git a/internal/mock_serial_monitor/main.go b/internal/mock_serial_monitor/main.go index f13745e1458..60302af7cd2 100644 --- a/internal/mock_serial_monitor/main.go +++ b/internal/mock_serial_monitor/main.go @@ -143,8 +143,7 @@ func (d *SerialMonitor) Open(boardPort string) (io.ReadWriter, error) { d.mockedSerialPort.Write([]byte("Tmpfile: " + d.muxFile.String() + "\n")) } for parameter, descriptor := range d.serialSettings.ConfigurationParameter { - d.mockedSerialPort.Write([]byte( - fmt.Sprintf("Configuration %s = %s\n", parameter, descriptor.Selected))) + fmt.Fprintf(d.mockedSerialPort, "Configuration %s = %s\n", parameter, descriptor.Selected) } for { n, err := d.mockedSerialPort.Read(buff) From 00a33b7466617ac6e4d9693a48cfe40d6a8efec8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Apr 2025 12:12:10 +0200 Subject: [PATCH 346/361] [skip changelog] Bump google.golang.org/grpc from 1.71.0 to 1.71.1 (#2876) * [skip changelog] Bump google.golang.org/grpc from 1.71.0 to 1.71.1 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.71.0 to 1.71.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.71.0...v1.71.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> * Updated license cache * Run of go mod tidy --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristian Maglie <c.maglie@arduino.cc> --- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../google.golang.org/grpc/balancer/endpointsharding.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/pickfirst.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/internal.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/pickfirstleaf.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .../go/google.golang.org/grpc/experimental/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/proxyattributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../grpc/internal/resolver/delegatingresolver.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/mem.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 62 files changed, 122 insertions(+), 122 deletions(-) diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index 88f56331151..db68cbe004c 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.71.0 +version: v1.71.1 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 585dd7e9b99..2f9800a571f 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.71.0 +version: v1.71.1 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index eecfed8dcd9..87d37bb4aae 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.71.0 +version: v1.71.1 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 08524bef781..3ac5d61734a 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.71.0 +version: v1.71.1 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 68590f35732..9fb1492af88 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.71.0 +version: v1.71.1 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml index 27d5263706a..f452e5fcb24 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/endpointsharding -version: v1.71.0 +version: v1.71.1 type: go summary: Package endpointsharding implements a load balancing policy that manages homogeneous child policies each owning a single endpoint. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/endpointsharding license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 569268f1456..79666368bc1 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.71.0 +version: v1.71.1 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 6eeeb430b90..4c652b4731c 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.71.0 +version: v1.71.1 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 7c97ede444f..002d59e4a89 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.71.0 +version: v1.71.1 type: go summary: Package internal contains code internal to the pickfirst package. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index f4ef1a780d6..b7cbb66c38c 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.71.0 +version: v1.71.1 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index 7bf52ee567e..cbc5089f239 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.71.0 +version: v1.71.1 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 17fb0f67101..2e046648857 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.71.0 +version: v1.71.1 type: go summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index 5d6b51c62d2..ddea47c067a 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.71.0 +version: v1.71.1 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index b9b965f1443..28f0a52d0d0 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.71.0 +version: v1.71.1 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index f822ffc95b1..71c5b8f05f7 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.71.0 +version: v1.71.1 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index ea648eed038..4ccfc5b26a8 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.71.0 +version: v1.71.1 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 66b5ba70e80..33f426eeb18 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.71.0 +version: v1.71.1 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index e059ac41848..3e0e4bbb92e 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.71.0 +version: v1.71.1 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index b0d7d68308a..99aac5d09d4 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.71.0 +version: v1.71.1 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index b92659f9c8a..e13624e9b54 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.71.0 +version: v1.71.1 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 67709d48d3c..4b16e25e3cf 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.71.0 +version: v1.71.1 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index bc4e7c66d8f..2aa3937044f 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.71.0 +version: v1.71.1 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 30e77c49393..3d508125482 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.71.0 +version: v1.71.1 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 5529f52b9ea..6edf6a128b9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.71.0 +version: v1.71.1 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index 974ec911b4e..f5bd25e7a8b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.71.0 +version: v1.71.1 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index 06e68522240..d5cd159e405 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.71.0 +version: v1.71.1 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index 1f04f7ac248..fe12cb8fc5f 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.71.0 +version: v1.71.1 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 801db73a35b..8ec49e52913 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.71.0 +version: v1.71.1 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index a06f541fb49..a4b11dfa1da 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.71.0 +version: v1.71.1 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index db46ffd53f0..938e3b161be 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.71.0 +version: v1.71.1 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index cbfcef39aa1..1aa8a492a04 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.71.0 +version: v1.71.1 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 0675e5fdf87..0e44d369fff 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.71.0 +version: v1.71.1 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index 50ebfc79fa2..cefb1adcacd 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.71.0 +version: v1.71.1 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index 5914fc9aa71..fa28c58f9c0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.71.0 +version: v1.71.1 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index e409ae585f2..a57946bedb0 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.71.0 +version: v1.71.1 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index 73c0cd050d9..f6a3a37d4bc 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.71.0 +version: v1.71.1 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index a9efaa426c0..388151928c9 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.71.0 +version: v1.71.1 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml b/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml index 0269a31ee28..a98bf2ed949 100644 --- a/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/proxyattributes -version: v1.71.0 +version: v1.71.1 type: go summary: Package proxyattributes contains functions for getting and setting proxy attributes like the CONNECT address and user info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/proxyattributes license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index fd2df2cb84a..b98d246ab4d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.71.0 +version: v1.71.1 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml index abdd4e0c669..708edd40f79 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/delegatingresolver -version: v1.71.0 +version: v1.71.1 type: go summary: Package delegatingresolver implements a resolver capable of resolving both target URIs and proxy addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/delegatingresolver license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index 66fc9b8d760..e66915e518d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.71.0 +version: v1.71.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 62cd5c33ea8..0eadc5739ac 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.71.0 +version: v1.71.1 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index f75148d9d21..4546843c0fd 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.71.0 +version: v1.71.1 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 8378b6623e9..16e28436136 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.71.0 +version: v1.71.1 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index cc8bb6a9950..b7b4d2ba6e5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.71.0 +version: v1.71.1 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index d57563a2c5e..6734ded1050 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.71.0 +version: v1.71.1 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 64f48c8d7e2..13e8d2f41b5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.71.0 +version: v1.71.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index 87722d16601..a58eac73b6c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.71.0 +version: v1.71.1 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index abc38a70776..a1719604486 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.71.0 +version: v1.71.1 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index a3ffb796055..46ea6be8b05 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.71.0 +version: v1.71.1 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index 583726f229a..abcb9736453 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.71.0 +version: v1.71.1 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index e55bd30b7af..d9460954d0d 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.71.0 +version: v1.71.1 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index fced3051c3f..301319afcbe 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.71.0 +version: v1.71.1 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index b6a9258cdcf..61f14736de3 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.71.0 +version: v1.71.1 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index da120551969..f8954ebedc3 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.71.0 +version: v1.71.1 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 077c2363744..40c2709d472 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.71.0 +version: v1.71.1 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index 28b9be3ff11..d4fa894d626 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.71.0 +version: v1.71.1 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 1ae6dcb8302..9e04ccbb864 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.71.0 +version: v1.71.1 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index fade4cacaf4..4ffabc2c287 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.71.0 +version: v1.71.1 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 319cea69279..2caf710d261 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.71.0 +version: v1.71.1 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.71.0/LICENSE +- sources: grpc@v1.71.1/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index fd3a5c40e2c..604790e9e1e 100644 --- a/go.mod +++ b/go.mod @@ -44,7 +44,7 @@ require ( golang.org/x/term v0.30.0 golang.org/x/text v0.23.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f - google.golang.org/grpc v1.71.0 + google.golang.org/grpc v1.71.1 google.golang.org/protobuf v1.36.6 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index e7ce8bba599..d24ad016ad8 100644 --- a/go.sum +++ b/go.sum @@ -247,8 +247,8 @@ golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGm golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.71.0 h1:kF77BGdPTQ4/JZWMlb9VpJ5pa25aqvVqogsxNHHdeBg= -google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI= +google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 23ed1b12f7263b29b2264ffa9944b8f804d57c6f Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 8 Apr 2025 15:33:36 +0200 Subject: [PATCH 347/361] fix: allow lib-install from git using revision hash as a reference (#2882) * Added integration test * bugfix: allow lib-install from git with revision hash * Workaround for a bug in go-git --- .../libraries/librariesmanager/install.go | 33 ++++++++++++------- internal/integrationtest/lib/lib_test.go | 21 ++++++++++++ 2 files changed, 43 insertions(+), 11 deletions(-) diff --git a/internal/arduino/libraries/librariesmanager/install.go b/internal/arduino/libraries/librariesmanager/install.go index 1d73849f81f..9b53910d41a 100644 --- a/internal/arduino/libraries/librariesmanager/install.go +++ b/internal/arduino/libraries/librariesmanager/install.go @@ -20,7 +20,6 @@ import ( "errors" "fmt" "net/url" - "os" "strings" "github.com/arduino/arduino-cli/commands/cmderrors" @@ -215,17 +214,29 @@ func (lmi *Installer) InstallGitLib(argURL string, overwrite bool) error { defer tmp.RemoveAll() tmpInstallPath := tmp.Join(libraryName) - depth := 1 - if ref != "" { - depth = 0 - } if _, err := git.PlainClone(tmpInstallPath.String(), false, &git.CloneOptions{ URL: gitURL, - Depth: depth, - Progress: os.Stdout, - ReferenceName: ref, + ReferenceName: plumbing.ReferenceName(ref), }); err != nil { - return err + if err.Error() != "reference not found" { + return err + } + + // We did not find the requested reference, let's do a PlainClone and use + // "ResolveRevision" to find and checkout the requested revision + if repo, err := git.PlainClone(tmpInstallPath.String(), false, &git.CloneOptions{ + URL: gitURL, + }); err != nil { + return err + } else if h, err := repo.ResolveRevision(plumbing.Revision(ref)); err != nil { + return err + } else if w, err := repo.Worktree(); err != nil { + return err + } else if err := w.Checkout(&git.CheckoutOptions{ + Force: true, // workaround for: https://github.com/go-git/go-git/issues/1411 + Hash: plumbing.NewHash(h.String())}); err != nil { + return err + } } // We don't want the installed library to be a git repository thus we delete this folder @@ -241,7 +252,7 @@ func (lmi *Installer) InstallGitLib(argURL string, overwrite bool) error { // parseGitArgURL tries to recover a library name from a git URL. // Returns an error in case the URL is not a valid git URL. -func parseGitArgURL(argURL string) (string, string, plumbing.ReferenceName, error) { +func parseGitArgURL(argURL string) (string, string, string, error) { // On Windows handle paths with backslashes in the form C:\Path\to\library if path := paths.New(argURL); path != nil && path.Exist() { return path.Base(), argURL, "", nil @@ -279,7 +290,7 @@ func parseGitArgURL(argURL string) (string, string, plumbing.ReferenceName, erro return "", "", "", errors.New(i18n.Tr("invalid git url")) } // fragment == "1.0.3" - rev := plumbing.ReferenceName(parsedURL.Fragment) + rev := parsedURL.Fragment // gitURL == "https://github.com/arduino-libraries/SigFox.git" parsedURL.Fragment = "" gitURL := parsedURL.String() diff --git a/internal/integrationtest/lib/lib_test.go b/internal/integrationtest/lib/lib_test.go index 15371c80299..f900a416dad 100644 --- a/internal/integrationtest/lib/lib_test.go +++ b/internal/integrationtest/lib/lib_test.go @@ -16,6 +16,8 @@ package lib_test import ( + "crypto/sha256" + "encoding/hex" "encoding/json" "fmt" "io" @@ -687,6 +689,7 @@ func TestInstallWithGitUrlFragmentAsBranch(t *testing.T) { t.Run("RefPointingToBranch", func(t *testing.T) { libInstallDir := cli.SketchbookDir().Join("libraries", "ArduinoCloud") + t.Cleanup(func() { libInstallDir.RemoveAll() }) // Verify install with ref pointing to a branch require.NoDirExists(t, libInstallDir.String()) @@ -700,6 +703,24 @@ func TestInstallWithGitUrlFragmentAsBranch(t *testing.T) { require.NoError(t, err) require.Contains(t, string(fileToTest), `#define LENGHT_M "meters"`) // nolint:misspell }) + + t.Run("RefPointingToHash", func(t *testing.T) { + libInstallDir := cli.SketchbookDir().Join("libraries", "ArduinoCloud") + t.Cleanup(func() { libInstallDir.RemoveAll() }) + + // Verify install with ref pointing to a branch + require.NoDirExists(t, libInstallDir.String()) + _, _, err = cli.Run("lib", "install", "--git-url", "https://github.com/arduino-libraries/ArduinoCloud.git#fe1a1c5d1f8ea2cb27ece1a3b9344dc1eaed60b6", "--config-file", "arduino-cli.yaml") + require.NoError(t, err) + require.DirExists(t, libInstallDir.String()) + + // Verify that the correct branch is checked out + // https://github.com/arduino-libraries/ArduinoCloud/commit/fe1a1c5d1f8ea2cb27ece1a3b9344dc1eaed60b6 + fileToTest, err := libInstallDir.Join("examples", "ReadAndWrite", "ReadAndWrite.ino").ReadFile() + require.NoError(t, err) + chksum := sha256.Sum256(fileToTest) + require.Equal(t, hex.EncodeToString(chksum[:]), `f71889cd6da3b91755c7d1b8ec76b7ee6e2824d8a417c043d117ffdf1546f896`) + }) } func TestUpdateIndex(t *testing.T) { From bb4e6f4d2b9c4731a428e785ce0eff0f6be9e4ce Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 14 Apr 2025 07:16:40 +0200 Subject: [PATCH 348/361] [skip changelog] Bump golang.org/x/term from 0.30.0 to 0.31.0 (#2879) * [skip changelog] Bump golang.org/x/term from 0.30.0 to 0.31.0 Bumps [golang.org/x/term](https://github.com/golang/term) from 0.30.0 to 0.31.0. - [Commits](https://github.com/golang/term/compare/v0.30.0...v0.31.0) --- updated-dependencies: - dependency-name: golang.org/x/term dependency-version: 0.31.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * cache licenses --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .licenses/go/golang.org/x/sys/execabs.dep.yml | 6 +++--- .licenses/go/golang.org/x/sys/unix.dep.yml | 6 +++--- .licenses/go/golang.org/x/term.dep.yml | 2 +- go.mod | 4 ++-- go.sum | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.licenses/go/golang.org/x/sys/execabs.dep.yml b/.licenses/go/golang.org/x/sys/execabs.dep.yml index 8f6b0e7d019..d2eeeb205c3 100644 --- a/.licenses/go/golang.org/x/sys/execabs.dep.yml +++ b/.licenses/go/golang.org/x/sys/execabs.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/sys/execabs -version: v0.31.0 +version: v0.32.0 type: go summary: Package execabs is a drop-in replacement for os/exec that requires PATH lookups to find absolute paths. homepage: https://pkg.go.dev/golang.org/x/sys/execabs license: other licenses: -- sources: sys@v0.31.0/LICENSE +- sources: sys@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.31.0/PATENTS +- sources: sys@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/sys/unix.dep.yml b/.licenses/go/golang.org/x/sys/unix.dep.yml index 4d665e786ad..63734fd7e4f 100644 --- a/.licenses/go/golang.org/x/sys/unix.dep.yml +++ b/.licenses/go/golang.org/x/sys/unix.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/sys/unix -version: v0.31.0 +version: v0.32.0 type: go summary: Package unix contains an interface to the low-level operating system primitives. homepage: https://pkg.go.dev/golang.org/x/sys/unix license: bsd-3-clause licenses: -- sources: sys@v0.31.0/LICENSE +- sources: sys@v0.32.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: sys@v0.31.0/PATENTS +- sources: sys@v0.32.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/term.dep.yml b/.licenses/go/golang.org/x/term.dep.yml index 6fe4350ed28..a8c6b02a552 100644 --- a/.licenses/go/golang.org/x/term.dep.yml +++ b/.licenses/go/golang.org/x/term.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/term -version: v0.30.0 +version: v0.31.0 type: go summary: Package term provides support functions for dealing with terminals, as commonly found on UNIX systems. diff --git a/go.mod b/go.mod index 604790e9e1e..7b553ffd67b 100644 --- a/go.mod +++ b/go.mod @@ -40,8 +40,8 @@ require ( go.bug.st/f v0.4.0 go.bug.st/relaxed-semver v0.15.0 go.bug.st/testifyjson v1.3.0 - golang.org/x/sys v0.31.0 - golang.org/x/term v0.30.0 + golang.org/x/sys v0.32.0 + golang.org/x/term v0.31.0 golang.org/x/text v0.23.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f google.golang.org/grpc v1.71.1 diff --git a/go.sum b/go.sum index d24ad016ad8..18436423d5c 100644 --- a/go.sum +++ b/go.sum @@ -235,11 +235,11 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik= -golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y= -golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g= +golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= +golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= From 36a4190882c49bcc948c4ded271a5ea11384401a Mon Sep 17 00:00:00 2001 From: Alessio Perugini <alessio@perugini.xyz> Date: Wed, 16 Apr 2025 11:00:22 +0200 Subject: [PATCH 349/361] Fix user network config being ignored in package manger operations (#2889) * packagemanager: add test downloader config * packagemanager: fix missing downloaderConfig passing During the `Build()` we forgot to pass the pmb downloaderConfig property --- .../cores/packagemanager/package_manager.go | 1 + .../packagemanager/package_manager_test.go | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/internal/arduino/cores/packagemanager/package_manager.go b/internal/arduino/cores/packagemanager/package_manager.go index d24ee377606..deb14931053 100644 --- a/internal/arduino/cores/packagemanager/package_manager.go +++ b/internal/arduino/cores/packagemanager/package_manager.go @@ -124,6 +124,7 @@ func (pmb *Builder) Build() *PackageManager { profile: pmb.profile, discoveryManager: pmb.discoveryManager, userAgent: pmb.userAgent, + downloaderConfig: pmb.downloaderConfig, } } diff --git a/internal/arduino/cores/packagemanager/package_manager_test.go b/internal/arduino/cores/packagemanager/package_manager_test.go index 92530af6dc3..daef6987191 100644 --- a/internal/arduino/cores/packagemanager/package_manager_test.go +++ b/internal/arduino/cores/packagemanager/package_manager_test.go @@ -17,6 +17,7 @@ package packagemanager import ( "fmt" + "net/http" "net/url" "os" "runtime" @@ -29,6 +30,7 @@ import ( "github.com/arduino/go-properties-orderedmap" "github.com/stretchr/testify/require" "go.bug.st/downloader/v2" + "go.bug.st/f" semver "go.bug.st/relaxed-semver" ) @@ -1025,3 +1027,20 @@ func TestRunScript(t *testing.T) { }) } } + +func TestCorrectlyUsesDownloaderConfig(t *testing.T) { + proxyURL := f.Must(url.Parse("http://proxy:test@test.test/404:42")) + + downloaderCfg := downloader.Config{ + HttpClient: http.Client{ + Transport: &http.Transport{ + Proxy: http.ProxyURL(proxyURL), + }, + Timeout: 123, + }, + } + pmb := NewBuilder(customHardware, customHardware, nil, customHardware, customHardware, "test", downloaderCfg) + pmb.LoadHardwareFromDirectory(customHardware) + pm := pmb.Build() + require.Equal(t, downloaderCfg, pm.downloaderConfig) +} From aa62661351f009f9ae64d8b03b80acdd96635e56 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 22 Apr 2025 13:30:03 +0200 Subject: [PATCH 350/361] [skip-changelog] Fixed integration test (#2895) 1. Fix ArduinoIoTCloud version to 2.4.1 (the latest versions have fewer files and do not trigger the objs.a creation) 2. Merge two parallel tests because they actually need to be performed sequentially since we are checking that the compiled artifacts on the former are reused on the latter. --- internal/integrationtest/compile_1/compile_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/integrationtest/compile_1/compile_test.go b/internal/integrationtest/compile_1/compile_test.go index fb726bc5c12..b380f563ccc 100644 --- a/internal/integrationtest/compile_1/compile_test.go +++ b/internal/integrationtest/compile_1/compile_test.go @@ -850,7 +850,9 @@ func TestCompileWithArchivesAndLongPaths(t *testing.T) { require.NoError(t, err) // Install test library - _, _, err = cli.Run("lib", "install", "ArduinoIoTCloud", "--config-file", "arduino-cli.yaml") + // (We must use ArduinoIOTCloud@2.4.1 because it has a folder with a lot of files + // that will trigger the creation of an objs.a archive) + _, _, err = cli.Run("lib", "install", "ArduinoIoTCloud@2.4.1", "--config-file", "arduino-cli.yaml") require.NoError(t, err) stdout, _, err := cli.Run("lib", "examples", "ArduinoIoTCloud", "--json", "--config-file", "arduino-cli.yaml") @@ -859,12 +861,10 @@ func TestCompileWithArchivesAndLongPaths(t *testing.T) { sketchPath := paths.New(libOutput) sketchPath = sketchPath.Join("examples", "ArduinoIoTCloud-Advanced") - t.Run("Compile", func(t *testing.T) { + t.Run("CheckCachingOfFolderArchives", func(t *testing.T) { _, _, err = cli.Run("compile", "-b", "esp8266:esp8266:huzzah", sketchPath.String(), "--config-file", "arduino-cli.yaml") require.NoError(t, err) - }) - t.Run("CheckCachingOfFolderArchives", func(t *testing.T) { // Run compile again and check if the archive is re-used (cached) out, _, err := cli.Run("compile", "-b", "esp8266:esp8266:huzzah", sketchPath.String(), "--config-file", "arduino-cli.yaml", "-v") require.NoError(t, err) From 366da6b694e415cdd22ffcbfb1e10d327ffa8efc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 14:34:56 +0200 Subject: [PATCH 351/361] [skip changelog] Bump github.com/go-git/go-git/v5 from 5.14.0 to 5.16.0 (#2890) * [skip changelog] Bump github.com/go-git/go-git/v5 from 5.14.0 to 5.16.0 Bumps [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) from 5.14.0 to 5.16.0. - [Release notes](https://github.com/go-git/go-git/releases) - [Commits](https://github.com/go-git/go-git/compare/v5.14.0...v5.16.0) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-version: 5.16.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * license --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .../cloudflare/circl/dh/x25519.dep.yml | 6 +++--- .../cloudflare/circl/dh/x448.dep.yml | 6 +++--- .../cloudflare/circl/ecc/goldilocks.dep.yml | 6 +++--- .../cloudflare/circl/internal/conv.dep.yml | 8 ++++---- .../cloudflare/circl/internal/sha3.dep.yml | 6 +++--- .../github.com/cloudflare/circl/math.dep.yml | 6 +++--- .../cloudflare/circl/math/fp25519.dep.yml | 6 +++--- .../cloudflare/circl/math/fp448.dep.yml | 6 +++--- .../cloudflare/circl/math/mlsbset.dep.yml | 6 +++--- .../github.com/cloudflare/circl/sign.dep.yml | 6 +++--- .../cloudflare/circl/sign/ed25519.dep.yml | 6 +++--- .../cloudflare/circl/sign/ed448.dep.yml | 6 +++--- .../go/github.com/go-git/go-git/v5.dep.yml | 2 +- .../go-git/go-git/v5/config.dep.yml | 6 +++--- .../go-git/v5/internal/path_util.dep.yml | 8 ++++---- .../go-git/v5/internal/revision.dep.yml | 6 +++--- .../go-git/go-git/v5/internal/url.dep.yml | 8 ++++---- .../go-git/go-git/v5/plumbing.dep.yml | 6 +++--- .../go-git/go-git/v5/plumbing/cache.dep.yml | 8 ++++---- .../go-git/go-git/v5/plumbing/color.dep.yml | 8 ++++---- .../go-git/v5/plumbing/filemode.dep.yml | 8 ++++---- .../go-git/v5/plumbing/format/config.dep.yml | 6 +++--- .../go-git/v5/plumbing/format/diff.dep.yml | 8 ++++---- .../v5/plumbing/format/gitignore.dep.yml | 6 +++--- .../go-git/v5/plumbing/format/idxfile.dep.yml | 6 +++--- .../go-git/v5/plumbing/format/index.dep.yml | 6 +++--- .../go-git/v5/plumbing/format/objfile.dep.yml | 6 +++--- .../v5/plumbing/format/packfile.dep.yml | 6 +++--- .../go-git/v5/plumbing/format/pktline.dep.yml | 6 +++--- .../go-git/go-git/v5/plumbing/hash.dep.yml | 6 +++--- .../go-git/go-git/v5/plumbing/object.dep.yml | 6 +++--- .../go-git/v5/plumbing/protocol/packp.dep.yml | 8 ++++---- .../protocol/packp/capability.dep.yml | 6 +++--- .../plumbing/protocol/packp/sideband.dep.yml | 6 +++--- .../go-git/go-git/v5/plumbing/revlist.dep.yml | 6 +++--- .../go-git/go-git/v5/plumbing/storer.dep.yml | 6 +++--- .../go-git/v5/plumbing/transport.dep.yml | 6 +++--- .../v5/plumbing/transport/client.dep.yml | 6 +++--- .../go-git/v5/plumbing/transport/file.dep.yml | 6 +++--- .../go-git/v5/plumbing/transport/git.dep.yml | 6 +++--- .../go-git/v5/plumbing/transport/http.dep.yml | 6 +++--- .../transport/internal/common.dep.yml | 6 +++--- .../v5/plumbing/transport/server.dep.yml | 6 +++--- .../go-git/v5/plumbing/transport/ssh.dep.yml | 6 +++--- .../go-git/go-git/v5/storage.dep.yml | 8 ++++---- .../go-git/v5/storage/filesystem.dep.yml | 6 +++--- .../v5/storage/filesystem/dotgit.dep.yml | 6 +++--- .../go-git/go-git/v5/storage/memory.dep.yml | 6 +++--- .../go-git/go-git/v5/utils/binary.dep.yml | 6 +++--- .../go-git/go-git/v5/utils/diff.dep.yml | 6 +++--- .../go-git/go-git/v5/utils/ioutil.dep.yml | 6 +++--- .../go-git/go-git/v5/utils/merkletrie.dep.yml | 6 +++--- .../v5/utils/merkletrie/filesystem.dep.yml | 8 ++++---- .../go-git/v5/utils/merkletrie/index.dep.yml | 8 ++++---- .../utils/merkletrie/internal/frame.dep.yml | 8 ++++---- .../go-git/v5/utils/merkletrie/noder.dep.yml | 6 +++--- .../go-git/go-git/v5/utils/sync.dep.yml | 8 ++++---- .../go-git/go-git/v5/utils/trace.dep.yml | 8 ++++---- .../go/golang.org/x/crypto/argon2.dep.yml | 6 +++--- .../go/golang.org/x/crypto/blake2b.dep.yml | 6 +++--- .../go/golang.org/x/crypto/blowfish.dep.yml | 6 +++--- .../go/golang.org/x/crypto/cast5.dep.yml | 6 +++--- .../go/golang.org/x/crypto/curve25519.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/hkdf.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/sha3.dep.yml | 6 +++--- .licenses/go/golang.org/x/crypto/ssh.dep.yml | 6 +++--- .../go/golang.org/x/crypto/ssh/agent.dep.yml | 6 +++--- .../crypto/ssh/internal/bcrypt_pbkdf.dep.yml | 6 +++--- .../x/crypto/ssh/knownhosts.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/context.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/http2.dep.yml | 6 +++--- .../x/net/internal/httpcommon.dep.yml | 8 ++++---- .../golang.org/x/net/internal/socks.dep.yml | 6 +++--- .../x/net/internal/timeseries.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/proxy.dep.yml | 6 +++--- .licenses/go/golang.org/x/net/trace.dep.yml | 6 +++--- .../go/golang.org/x/text/encoding.dep.yml | 6 +++--- .../x/text/encoding/internal.dep.yml | 6 +++--- .../text/encoding/internal/identifier.dep.yml | 6 +++--- .../x/text/encoding/unicode.dep.yml | 6 +++--- .../x/text/internal/utf8internal.dep.yml | 6 +++--- .licenses/go/golang.org/x/text/runes.dep.yml | 6 +++--- go.mod | 10 +++++----- go.sum | 20 +++++++++---------- 84 files changed, 274 insertions(+), 274 deletions(-) diff --git a/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml index 1d562be2273..fd3120d3677 100644 --- a/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/dh/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/dh/x25519 -version: v1.6.0 +version: v1.6.1 type: go summary: Package x25519 provides Diffie-Hellman functions as specified in RFC-7748. homepage: https://pkg.go.dev/github.com/cloudflare/circl/dh/x25519 license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml b/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml index 522d02f63a1..f86fe6dd093 100644 --- a/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/dh/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/dh/x448 -version: v1.6.0 +version: v1.6.1 type: go summary: Package x448 provides Diffie-Hellman functions as specified in RFC-7748. homepage: https://pkg.go.dev/github.com/cloudflare/circl/dh/x448 license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml b/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml index 754c7bbbc05..b2fdae77357 100644 --- a/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/ecc/goldilocks.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/cloudflare/circl/ecc/goldilocks -version: v1.6.0 +version: v1.6.1 type: go summary: Package goldilocks provides elliptic curve operations over the goldilocks curve. homepage: https://pkg.go.dev/github.com/cloudflare/circl/ecc/goldilocks license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -66,6 +66,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml b/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml index 01f88e8e626..b86614ebdf0 100644 --- a/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/internal/conv.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/internal/conv -version: v1.6.0 +version: v1.6.1 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/cloudflare/circl/internal/conv license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml b/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml index 1a77db389e6..c065af5cfd2 100644 --- a/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/internal/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/cloudflare/circl/internal/sha3 -version: v1.6.0 +version: v1.6.1 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/github.com/cloudflare/circl/internal/sha3 license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -66,6 +66,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math.dep.yml b/.licenses/go/github.com/cloudflare/circl/math.dep.yml index fb1cdcb9162..867a95442bd 100644 --- a/.licenses/go/github.com/cloudflare/circl/math.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math -version: v1.6.0 +version: v1.6.1 type: go summary: Package math provides some utility functions for big integers. homepage: https://pkg.go.dev/github.com/cloudflare/circl/math license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml index 90f08790e1a..fd7c532d5ee 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/fp25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/fp25519 -version: v1.6.0 +version: v1.6.1 type: go summary: Package fp25519 provides prime field arithmetic over GF(2^255-19). homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/fp25519 license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml index 21ea74989b7..a0449597c0f 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/fp448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/fp448 -version: v1.6.0 +version: v1.6.1 type: go summary: Package fp448 provides prime field arithmetic over GF(2^448-2^224-1). homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/fp448 license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml b/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml index 4fad8b6af96..5ab6f36f848 100644 --- a/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/math/mlsbset.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/math/mlsbset -version: v1.6.0 +version: v1.6.1 type: go summary: Package mlsbset provides a constant-time exponentiation method with precomputation. homepage: https://pkg.go.dev/github.com/cloudflare/circl/math/mlsbset license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign.dep.yml index 0312b666360..bbed7b93929 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign -version: v1.6.0 +version: v1.6.1 type: go summary: Package sign provides unified interfaces for signature schemes. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml index 47caa86bdc8..ce8545230c1 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign/ed25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign/ed25519 -version: v1.6.0 +version: v1.6.1 type: go summary: Package ed25519 implements Ed25519 signature scheme as described in RFC-8032. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed25519 license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml b/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml index de804a0d279..a18f71b59cf 100644 --- a/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml +++ b/.licenses/go/github.com/cloudflare/circl/sign/ed448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/cloudflare/circl/sign/ed448 -version: v1.6.0 +version: v1.6.1 type: go summary: Package ed448 implements Ed448 signature scheme as described in RFC-8032. homepage: https://pkg.go.dev/github.com/cloudflare/circl/sign/ed448 license: other licenses: -- sources: circl@v1.6.0/LICENSE +- sources: circl@v1.6.1/LICENSE text: | Copyright (c) 2019 Cloudflare. All rights reserved. @@ -65,6 +65,6 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: circl@v1.6.0/README.md +- sources: circl@v1.6.1/README.md text: The project is licensed under the [BSD-3-Clause License](./LICENSE). notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5.dep.yml b/.licenses/go/github.com/go-git/go-git/v5.dep.yml index 2df1ff1cb80..c52acf256e0 100644 --- a/.licenses/go/github.com/go-git/go-git/v5.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5 -version: v5.14.0 +version: v5.16.0 type: go summary: A highly extensible git implementation in pure Go. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5 diff --git a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml index 21b279ab5bc..3dfe6bf1a69 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/config -version: v5.14.0 +version: v5.16.0 type: go summary: Package config contains the abstraction of multiple config files homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/config license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml index 79f9d504b01..97ef2cec190 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/path_util.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/path_util -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/path_util license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml index b41845a40f6..2318bc714bd 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/revision.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/internal/revision -version: v5.14.0 +version: v5.16.0 type: go summary: 'Package revision extracts git revision from string More information about revision : https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html' homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/revision license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml index 51a0848ca8c..b12e6554740 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/internal/url.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/internal/url -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/internal/url license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml index e8c5b713ebb..9b8a49f107e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing -version: v5.14.0 +version: v5.16.0 type: go summary: package plumbing implement the core interfaces and structs used by go-git homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml index 10f973d8943..79aa3b6bb91 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/cache.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/cache -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/cache license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml index 88efa84e154..3a84f54412d 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/color.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/color -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/color license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml index 5d46f5dc181..9f6ef9b16ce 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/filemode.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/filemode -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/filemode license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml index d32efb7c0a6..3c6a36d20c4 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/config.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/config -version: v5.14.0 +version: v5.16.0 type: go summary: Package config implements encoding and decoding of git config files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/config license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml index b356f3027b9..13a4fda9d62 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/diff.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/diff -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/diff license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml index 61463512b1a..fd2cba88c78 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/gitignore.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/gitignore -version: v5.14.0 +version: v5.16.0 type: go summary: Package gitignore implements matching file system paths to gitignore patterns that can be automatically read from a git repository tree in the order of definition @@ -8,7 +8,7 @@ summary: Package gitignore implements matching file system paths to gitignore pa homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/gitignore license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -211,6 +211,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml index 3ba803e93cd..0e373f69535 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/idxfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/idxfile -version: v5.14.0 +version: v5.16.0 type: go summary: Package idxfile implements encoding and decoding of packfile idx files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/idxfile license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml index 0fa899eae02..48408f33602 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/index -version: v5.14.0 +version: v5.16.0 type: go summary: Package index implements encoding and decoding of index format files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/index license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml index 65b18d292ad..b3a2579f38a 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/objfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/objfile -version: v5.14.0 +version: v5.16.0 type: go summary: Package objfile implements encoding and decoding of object files. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/objfile license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml index eb25a2aff46..0df36340c9a 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/packfile.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/packfile -version: v5.14.0 +version: v5.16.0 type: go summary: Package packfile implements encoding and decoding of packfile format. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/packfile license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml index 94aaff11603..c1ea32247cd 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/format/pktline.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/format/pktline -version: v5.14.0 +version: v5.16.0 type: go summary: Package pktline implements reading payloads form pkt-lines and encoding pkt-lines from payloads. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/format/pktline license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml index b9e3ecd1bc5..8dbce4e6fa9 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/hash.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/hash -version: v5.14.0 +version: v5.16.0 type: go summary: package hash provides a way for managing the underlying hash implementations used across go-git. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/hash license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml index 60c59377b9d..d52efcf1be4 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/object.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/object -version: v5.14.0 +version: v5.16.0 type: go summary: Package object contains implementations of all Git objects and utility functions to work with them. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/object license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml index 8838da00803..62ce11c1972 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml index bba9c677043..53c4215f7b4 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/capability -version: v5.14.0 +version: v5.16.0 type: go summary: Package capability defines the server and client capabilities. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/capability license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml index 07b40fda26c..d8bde849aac 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband -version: v5.14.0 +version: v5.16.0 type: go summary: Package sideband implements a sideband mutiplex/demultiplexer homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/protocol/packp/sideband license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml index 4a87df6ae54..3c6d32c4257 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/revlist.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/revlist -version: v5.14.0 +version: v5.16.0 type: go summary: Package revlist provides support to access the ancestors of commits, in a similar way as the git-rev-list command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/revlist license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml index 3fabe97c2e8..2bd8f5ddcf6 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/storer.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/storer -version: v5.14.0 +version: v5.16.0 type: go summary: Package storer defines the interfaces to store objects, references, etc. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/storer license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml index 2ce5a07a881..2b31553cda6 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport -version: v5.14.0 +version: v5.16.0 type: go summary: Package transport includes the implementation for different transport protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml index 04c1eb250d6..92211f50bf1 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/client.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/client -version: v5.14.0 +version: v5.16.0 type: go summary: Package client contains helper function to deal with the different client protocols. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/client license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml index faad88ce462..9e8fce34d9f 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/file.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/file -version: v5.14.0 +version: v5.16.0 type: go summary: Package file implements the file transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/file license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml index 2324532d529..fe0589e2d11 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/git.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/git -version: v5.14.0 +version: v5.16.0 type: go summary: Package git implements the git transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/git license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml index f37ae0040dc..659c88f9421 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/http.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/http -version: v5.14.0 +version: v5.16.0 type: go summary: Package http implements the HTTP transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/http license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml index d90e8c98bca..af75a9caedb 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/internal/common.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/internal/common -version: v5.14.0 +version: v5.16.0 type: go summary: Package common implements the git pack protocol with a pluggable transport. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/internal/common license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml index 1a38d8e8eaa..e8c9645297e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/server.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/server -version: v5.14.0 +version: v5.16.0 type: go summary: Package server implements the git server protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/server license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml index 322b91d1f1f..d7e176a6de2 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/plumbing/transport/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/plumbing/transport/ssh -version: v5.14.0 +version: v5.16.0 type: go summary: Package ssh implements the SSH transport protocol. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/plumbing/transport/ssh license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml index 295bd6e3906..32fa1f6baf8 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml index 13d7935fcf3..ff4325de3e2 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem -version: v5.14.0 +version: v5.16.0 type: go summary: Package filesystem is a storage backend base on filesystems homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml index 861b87651c0..8e386df1f45 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/filesystem/dotgit.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/filesystem/dotgit -version: v5.14.0 +version: v5.16.0 type: go summary: https://github.com/git/git/blob/master/Documentation/gitrepository-layout.txt homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/filesystem/dotgit license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml index edde9fd87b2..c188fb3b6d8 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/storage/memory.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/storage/memory -version: v5.14.0 +version: v5.16.0 type: go summary: Package memory is a storage backend base on memory homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/storage/memory license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml index ad373e2ddf7..d16531ee042 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/binary.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/binary -version: v5.14.0 +version: v5.16.0 type: go summary: Package binary implements syntax-sugar functions on top of the standard library binary package homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/binary license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml index a9318990073..e2a00197bf4 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/diff.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/diff -version: v5.14.0 +version: v5.16.0 type: go summary: Package diff implements line oriented diffs, similar to the ancient Unix diff command. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/diff license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml index 971ae0a70fe..9447f2d5c10 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/ioutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/ioutil -version: v5.14.0 +version: v5.16.0 type: go summary: Package ioutil implements some I/O utility functions. homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/ioutil license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml index 0a6da20f7d3..ab1807f53b4 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie -version: v5.14.0 +version: v5.16.0 type: go summary: Package merkletrie provides support for n-ary trees that are at the same time Merkle trees and Radix trees (tries). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml index b3646a63d5f..5f43c47d8d3 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/filesystem.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/filesystem -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/filesystem license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml index d1dc89ad25a..3c8cb9529dd 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/index.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/index -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/index license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml index 56b8e6f3619..2730a57ce7b 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/internal/frame -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/internal/frame license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml index 0a700ff41eb..02e2df5a64c 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/merkletrie/noder.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/go-git/go-git/v5/utils/merkletrie/noder -version: v5.14.0 +version: v5.16.0 type: go summary: Package noder provide an interface for defining nodes in a merkletrie, their hashes and their paths (a noders and its ancestors). homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/merkletrie/noder license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -210,6 +210,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml index d72251234d4..9335b5126cd 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/sync.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/sync -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/sync license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml index 52b9238576a..abb2b9fec2e 100644 --- a/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml +++ b/.licenses/go/github.com/go-git/go-git/v5/utils/trace.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/go-git/go-git/v5/utils/trace -version: v5.14.0 +version: v5.16.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/go-git/go-git/v5/utils/trace license: apache-2.0 licenses: -- sources: v5@v5.14.0/LICENSE +- sources: v5@v5.16.0/LICENSE text: |2 Apache License Version 2.0, January 2004 @@ -209,6 +209,6 @@ licenses: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -- sources: v5@v5.14.0/README.md +- sources: v5@v5.16.0/README.md text: Apache License Version 2.0, see [LICENSE](LICENSE) notices: [] diff --git a/.licenses/go/golang.org/x/crypto/argon2.dep.yml b/.licenses/go/golang.org/x/crypto/argon2.dep.yml index 99d8d5c9c4a..41421486c89 100644 --- a/.licenses/go/golang.org/x/crypto/argon2.dep.yml +++ b/.licenses/go/golang.org/x/crypto/argon2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/argon2 -version: v0.36.0 +version: v0.37.0 type: go summary: Package argon2 implements the key derivation function Argon2. homepage: https://pkg.go.dev/golang.org/x/crypto/argon2 license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml index 71370b19776..b4ba10ebf38 100644 --- a/.licenses/go/golang.org/x/crypto/blake2b.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blake2b.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/blake2b -version: v0.36.0 +version: v0.37.0 type: go summary: Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. homepage: https://pkg.go.dev/golang.org/x/crypto/blake2b license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml index 477bfd71ead..47deecfb634 100644 --- a/.licenses/go/golang.org/x/crypto/blowfish.dep.yml +++ b/.licenses/go/golang.org/x/crypto/blowfish.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/blowfish -version: v0.36.0 +version: v0.37.0 type: go summary: Package blowfish implements Bruce Schneier's Blowfish encryption algorithm. homepage: https://pkg.go.dev/golang.org/x/crypto/blowfish license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/cast5.dep.yml b/.licenses/go/golang.org/x/crypto/cast5.dep.yml index 79fd1820327..472d7c6eb71 100644 --- a/.licenses/go/golang.org/x/crypto/cast5.dep.yml +++ b/.licenses/go/golang.org/x/crypto/cast5.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/cast5 -version: v0.36.0 +version: v0.37.0 type: go summary: Package cast5 implements CAST5, as defined in RFC 2144. homepage: https://pkg.go.dev/golang.org/x/crypto/cast5 license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml index 777a6218920..db2cad5cb0f 100644 --- a/.licenses/go/golang.org/x/crypto/curve25519.dep.yml +++ b/.licenses/go/golang.org/x/crypto/curve25519.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/curve25519 -version: v0.36.0 +version: v0.37.0 type: go summary: Package curve25519 provides an implementation of the X25519 function, which performs scalar multiplication on the elliptic curve known as Curve25519. homepage: https://pkg.go.dev/golang.org/x/crypto/curve25519 license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/hkdf.dep.yml b/.licenses/go/golang.org/x/crypto/hkdf.dep.yml index 5def34c6b71..4678764fd83 100644 --- a/.licenses/go/golang.org/x/crypto/hkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/hkdf.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/hkdf -version: v0.36.0 +version: v0.37.0 type: go summary: Package hkdf implements the HMAC-based Extract-and-Expand Key Derivation Function (HKDF) as defined in RFC 5869. homepage: https://pkg.go.dev/golang.org/x/crypto/hkdf license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/sha3.dep.yml b/.licenses/go/golang.org/x/crypto/sha3.dep.yml index c636600f4fd..a854eae5e2a 100644 --- a/.licenses/go/golang.org/x/crypto/sha3.dep.yml +++ b/.licenses/go/golang.org/x/crypto/sha3.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/sha3 -version: v0.36.0 +version: v0.37.0 type: go summary: Package sha3 implements the SHA-3 fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202. homepage: https://pkg.go.dev/golang.org/x/crypto/sha3 license: other licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh.dep.yml b/.licenses/go/golang.org/x/crypto/ssh.dep.yml index 6109a4227a1..51cc4f34fdd 100644 --- a/.licenses/go/golang.org/x/crypto/ssh.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh -version: v0.36.0 +version: v0.37.0 type: go summary: Package ssh implements an SSH client and server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml index 7577ebfd5c3..9df1ce6608c 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/agent.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/crypto/ssh/agent -version: v0.36.0 +version: v0.37.0 type: go summary: Package agent implements the ssh-agent protocol, and provides both a client and a server. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/agent license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml index 80753fb6a7f..da7606d4a2d 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/crypto/ssh/internal/bcrypt_pbkdf -version: v0.36.0 +version: v0.37.0 type: go summary: Package bcrypt_pbkdf implements bcrypt_pbkdf(3) from OpenBSD. homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/internal/bcrypt_pbkdf license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml index ea8ba878d95..110580f8187 100644 --- a/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml +++ b/.licenses/go/golang.org/x/crypto/ssh/knownhosts.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/crypto/ssh/knownhosts -version: v0.36.0 +version: v0.37.0 type: go summary: Package knownhosts implements a parser for the OpenSSH known_hosts host key database, and provides utility functions for writing OpenSSH compliant known_hosts @@ -8,7 +8,7 @@ summary: Package knownhosts implements a parser for the OpenSSH known_hosts host homepage: https://pkg.go.dev/golang.org/x/crypto/ssh/knownhosts license: bsd-3-clause licenses: -- sources: crypto@v0.36.0/LICENSE +- sources: crypto@v0.37.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: crypto@v0.36.0/PATENTS +- sources: crypto@v0.37.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/context.dep.yml b/.licenses/go/golang.org/x/net/context.dep.yml index 2c95429d00e..fa503d775d2 100644 --- a/.licenses/go/golang.org/x/net/context.dep.yml +++ b/.licenses/go/golang.org/x/net/context.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/context -version: v0.38.0 +version: v0.39.0 type: go summary: Package context defines the Context type, which carries deadlines, cancellation signals, and other request-scoped values across API boundaries and between processes. homepage: https://pkg.go.dev/golang.org/x/net/context license: bsd-3-clause licenses: -- sources: net@v0.38.0/LICENSE +- sources: net@v0.39.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.38.0/PATENTS +- sources: net@v0.39.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/http2.dep.yml b/.licenses/go/golang.org/x/net/http2.dep.yml index 5fa3d77f84a..f73c354f234 100644 --- a/.licenses/go/golang.org/x/net/http2.dep.yml +++ b/.licenses/go/golang.org/x/net/http2.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/http2 -version: v0.38.0 +version: v0.39.0 type: go summary: Package http2 implements the HTTP/2 protocol. homepage: https://pkg.go.dev/golang.org/x/net/http2 license: bsd-3-clause licenses: -- sources: net@v0.38.0/LICENSE +- sources: net@v0.39.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.38.0/PATENTS +- sources: net@v0.39.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/httpcommon.dep.yml b/.licenses/go/golang.org/x/net/internal/httpcommon.dep.yml index ead0a2cc8fb..884179b9339 100644 --- a/.licenses/go/golang.org/x/net/internal/httpcommon.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/httpcommon.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/httpcommon -version: v0.38.0 +version: v0.39.0 type: go -summary: +summary: homepage: https://pkg.go.dev/golang.org/x/net/internal/httpcommon license: bsd-3-clause licenses: -- sources: net@v0.38.0/LICENSE +- sources: net@v0.39.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.38.0/PATENTS +- sources: net@v0.39.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/socks.dep.yml b/.licenses/go/golang.org/x/net/internal/socks.dep.yml index 019ff700c97..0b4715c838f 100644 --- a/.licenses/go/golang.org/x/net/internal/socks.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/socks.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/socks -version: v0.38.0 +version: v0.39.0 type: go summary: Package socks provides a SOCKS version 5 client implementation. homepage: https://pkg.go.dev/golang.org/x/net/internal/socks license: bsd-3-clause licenses: -- sources: net@v0.38.0/LICENSE +- sources: net@v0.39.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.38.0/PATENTS +- sources: net@v0.39.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml index 7c7cd92ab7d..56f464eebf7 100644 --- a/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml +++ b/.licenses/go/golang.org/x/net/internal/timeseries.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/internal/timeseries -version: v0.38.0 +version: v0.39.0 type: go summary: Package timeseries implements a time series structure for stats collection. homepage: https://pkg.go.dev/golang.org/x/net/internal/timeseries license: bsd-3-clause licenses: -- sources: net@v0.38.0/LICENSE +- sources: net@v0.39.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.38.0/PATENTS +- sources: net@v0.39.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/proxy.dep.yml b/.licenses/go/golang.org/x/net/proxy.dep.yml index e6bf5d20bef..67866d2af52 100644 --- a/.licenses/go/golang.org/x/net/proxy.dep.yml +++ b/.licenses/go/golang.org/x/net/proxy.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/net/proxy -version: v0.38.0 +version: v0.39.0 type: go summary: Package proxy provides support for a variety of protocols to proxy network data. homepage: https://pkg.go.dev/golang.org/x/net/proxy license: bsd-3-clause licenses: -- sources: net@v0.38.0/LICENSE +- sources: net@v0.39.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.38.0/PATENTS +- sources: net@v0.39.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/net/trace.dep.yml b/.licenses/go/golang.org/x/net/trace.dep.yml index 5d652084b0f..5e84bd215ba 100644 --- a/.licenses/go/golang.org/x/net/trace.dep.yml +++ b/.licenses/go/golang.org/x/net/trace.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/net/trace -version: v0.38.0 +version: v0.39.0 type: go summary: Package trace implements tracing of requests and long-lived objects. homepage: https://pkg.go.dev/golang.org/x/net/trace license: bsd-3-clause licenses: -- sources: net@v0.38.0/LICENSE +- sources: net@v0.39.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: net@v0.38.0/PATENTS +- sources: net@v0.39.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding.dep.yml b/.licenses/go/golang.org/x/text/encoding.dep.yml index e783fb61b23..d72fdaa52d0 100644 --- a/.licenses/go/golang.org/x/text/encoding.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: golang.org/x/text/encoding -version: v0.23.0 +version: v0.24.0 type: go summary: Package encoding defines an interface for character encodings, such as Shift JIS and Windows 1252, that can convert to and from UTF-8. homepage: https://pkg.go.dev/golang.org/x/text/encoding license: other licenses: -- sources: text@v0.23.0/LICENSE +- sources: text@v0.24.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.23.0/PATENTS +- sources: text@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml index 17ae73ae332..5866849a9bd 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/internal -version: v0.23.0 +version: v0.24.0 type: go summary: Package internal contains code that is shared among encoding implementations. homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal license: other licenses: -- sources: text@v0.23.0/LICENSE +- sources: text@v0.24.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.23.0/PATENTS +- sources: text@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml index 4342b78cfd7..dfd79d45d17 100644 --- a/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/internal/identifier.dep.yml @@ -1,6 +1,6 @@ --- name: golang.org/x/text/encoding/internal/identifier -version: v0.23.0 +version: v0.24.0 type: go summary: Package identifier defines the contract between implementations of Encoding and Index by defining identifiers that uniquely identify standardized coded character @@ -10,7 +10,7 @@ summary: Package identifier defines the contract between implementations of Enco homepage: https://pkg.go.dev/golang.org/x/text/encoding/internal/identifier license: other licenses: -- sources: text@v0.23.0/LICENSE +- sources: text@v0.24.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -39,7 +39,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.23.0/PATENTS +- sources: text@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml index eec529f669f..5d614c25340 100644 --- a/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml +++ b/.licenses/go/golang.org/x/text/encoding/unicode.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/encoding/unicode -version: v0.23.0 +version: v0.24.0 type: go summary: Package unicode provides Unicode encodings such as UTF-16. homepage: https://pkg.go.dev/golang.org/x/text/encoding/unicode license: other licenses: -- sources: text@v0.23.0/LICENSE +- sources: text@v0.24.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.23.0/PATENTS +- sources: text@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml index ffd95bbc52d..5a94ace3dac 100644 --- a/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml +++ b/.licenses/go/golang.org/x/text/internal/utf8internal.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/internal/utf8internal -version: v0.23.0 +version: v0.24.0 type: go summary: Package utf8internal contains low-level utf8-related constants, tables, etc. homepage: https://pkg.go.dev/golang.org/x/text/internal/utf8internal license: other licenses: -- sources: text@v0.23.0/LICENSE +- sources: text@v0.24.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.23.0/PATENTS +- sources: text@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/golang.org/x/text/runes.dep.yml b/.licenses/go/golang.org/x/text/runes.dep.yml index 041123bb05c..faccf2bbd7a 100644 --- a/.licenses/go/golang.org/x/text/runes.dep.yml +++ b/.licenses/go/golang.org/x/text/runes.dep.yml @@ -1,12 +1,12 @@ --- name: golang.org/x/text/runes -version: v0.23.0 +version: v0.24.0 type: go summary: Package runes provide transforms for UTF-8 encoded text. homepage: https://pkg.go.dev/golang.org/x/text/runes license: bsd-3-clause licenses: -- sources: text@v0.23.0/LICENSE +- sources: text@v0.24.0/LICENSE text: | Copyright 2009 The Go Authors. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: text@v0.23.0/PATENTS +- sources: text@v0.24.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index 7b553ffd67b..1267f7eb77b 100644 --- a/go.mod +++ b/go.mod @@ -20,7 +20,7 @@ require ( github.com/djherbis/buffer v1.2.0 github.com/djherbis/nio/v3 v3.0.1 github.com/fatih/color v1.18.0 - github.com/go-git/go-git/v5 v5.14.0 + github.com/go-git/go-git/v5 v5.16.0 github.com/gofrs/uuid/v5 v5.3.2 github.com/leonelquinteros/gotext v1.7.1 github.com/mailru/easyjson v0.7.7 @@ -42,7 +42,7 @@ require ( go.bug.st/testifyjson v1.3.0 golang.org/x/sys v0.32.0 golang.org/x/term v0.31.0 - golang.org/x/text v0.23.0 + golang.org/x/text v0.24.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f google.golang.org/grpc v1.71.1 google.golang.org/protobuf v1.36.6 @@ -52,7 +52,7 @@ require ( require ( dario.cat/mergo v1.0.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect - github.com/cloudflare/circl v1.6.0 // indirect + github.com/cloudflare/circl v1.6.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.6 // indirect github.com/creack/goselect v0.1.2 // indirect github.com/cyphar/filepath-securejoin v0.4.1 // indirect @@ -95,8 +95,8 @@ require ( go.bug.st/serial v1.6.2 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect - golang.org/x/crypto v0.36.0 // indirect + golang.org/x/crypto v0.37.0 // indirect golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 // indirect - golang.org/x/net v0.38.0 // indirect + golang.org/x/net v0.39.0 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect ) diff --git a/go.sum b/go.sum index 18436423d5c..9675ba82a4a 100644 --- a/go.sum +++ b/go.sum @@ -26,8 +26,8 @@ github.com/arduino/pluggable-monitor-protocol-handler v0.9.2 h1:vb5AmE3bT9we5Ej4 github.com/arduino/pluggable-monitor-protocol-handler v0.9.2/go.mod h1:vMG8tgHyE+hli26oT0JB/M7NxUMzzWoU5wd6cgJQRK4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/cloudflare/circl v1.6.0 h1:cr5JKic4HI+LkINy2lg3W2jF8sHCVTBncJr5gIIq7qk= -github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= +github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cmaglie/easyjson v0.8.1 h1:nKQ6Yew57jsoGsuyRJPgm8PSsjbU3eO/uA9BsTu3E/8= github.com/cmaglie/easyjson v0.8.1/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/cmaglie/pb v1.0.27 h1:ynGj8vBXR+dtj4B7Q/W/qGt31771Ux5iFfRQBnwdQiA= @@ -67,8 +67,8 @@ github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UN github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= -github.com/go-git/go-git/v5 v5.14.0 h1:/MD3lCrGjCen5WfEAzKg00MJJffKhC8gzS80ycmCi60= -github.com/go-git/go-git/v5 v5.14.0/go.mod h1:Z5Xhoia5PcWA3NF8vRLURn9E5FRhSl7dGj9ItW3Wk5k= +github.com/go-git/go-git/v5 v5.16.0 h1:k3kuOEpkc0DeY7xlL6NaaNg39xdgQbtH5mwCafHO9AQ= +github.com/go-git/go-git/v5 v5.16.0/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= @@ -219,13 +219,13 @@ go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34= -golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= +golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= +golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo= golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= -golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= +golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -241,8 +241,8 @@ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9sn golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY= -golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= +golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= From 9748871c5870b45b152bb566f5050963c547ce10 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 14:44:19 +0200 Subject: [PATCH 352/361] [skip changelog] Bump google.golang.org/grpc from 1.71.1 to 1.72.0 (#2894) * [skip changelog] Bump google.golang.org/grpc from 1.71.1 to 1.72.0 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.71.1 to 1.72.0. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.71.1...v1.72.0) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-version: 1.72.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * update license --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .../genproto/googleapis/rpc/status.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc.dep.yml | 2 +- .licenses/go/google.golang.org/grpc/attributes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/backoff.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/balancer/base.dep.yml | 4 ++-- .../grpc/balancer/endpointsharding.dep.yml | 4 ++-- .../google.golang.org/grpc/balancer/grpclb/state.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/pickfirst.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/internal.dep.yml | 4 ++-- .../grpc/balancer/pickfirst/pickfirstleaf.dep.yml | 4 ++-- .../go/google.golang.org/grpc/balancer/roundrobin.dep.yml | 4 ++-- .../grpc/binarylog/grpc_binarylog_v1.dep.yml | 6 +++--- .licenses/go/google.golang.org/grpc/channelz.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/codes.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/connectivity.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/credentials.dep.yml | 4 ++-- .../google.golang.org/grpc/credentials/insecure.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/encoding.dep.yml | 4 ++-- .../go/google.golang.org/grpc/encoding/proto.dep.yml | 4 ++-- .../go/google.golang.org/grpc/experimental/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/grpclog.dep.yml | 4 ++-- .../go/google.golang.org/grpc/grpclog/internal.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/backoff.dep.yml | 4 ++-- .../grpc/internal/balancer/gracefulswitch.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/balancerload.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/binarylog.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/buffer.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/channelz.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/credentials.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/envconfig.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/grpclog.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/grpcsync.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/grpcutil.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/internal/idle.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/metadata.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/pretty.dep.yml | 4 ++-- .../grpc/internal/proxyattributes.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/resolver.dep.yml | 4 ++-- .../grpc/internal/resolver/delegatingresolver.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/resolver/dns.dep.yml | 4 ++-- .../grpc/internal/resolver/dns/internal.dep.yml | 4 ++-- .../grpc/internal/resolver/passthrough.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/resolver/unix.dep.yml | 4 ++-- .../google.golang.org/grpc/internal/serviceconfig.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/stats.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/status.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/syscall.dep.yml | 4 ++-- .../go/google.golang.org/grpc/internal/transport.dep.yml | 4 ++-- .../grpc/internal/transport/networktype.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/keepalive.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/mem.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/metadata.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/peer.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/resolver/dns.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/serviceconfig.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/stats.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/status.dep.yml | 4 ++-- .licenses/go/google.golang.org/grpc/tap.dep.yml | 4 ++-- go.mod | 4 ++-- go.sum | 8 ++++---- 63 files changed, 129 insertions(+), 129 deletions(-) diff --git a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml index b95b6d5f245..fb9180ea76f 100644 --- a/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml +++ b/.licenses/go/google.golang.org/genproto/googleapis/rpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/genproto/googleapis/rpc/status -version: v0.0.0-20250115164207-1a7da9e5054f +version: v0.0.0-20250218202821-56aae31c358a type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/genproto/googleapis/rpc/status license: apache-2.0 licenses: -- sources: rpc@v0.0.0-20250115164207-1a7da9e5054f/LICENSE +- sources: rpc@v0.0.0-20250218202821-56aae31c358a/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc.dep.yml b/.licenses/go/google.golang.org/grpc.dep.yml index db68cbe004c..1f818798e09 100644 --- a/.licenses/go/google.golang.org/grpc.dep.yml +++ b/.licenses/go/google.golang.org/grpc.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc -version: v1.71.1 +version: v1.72.0 type: go summary: Package grpc implements an RPC system called gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc diff --git a/.licenses/go/google.golang.org/grpc/attributes.dep.yml b/.licenses/go/google.golang.org/grpc/attributes.dep.yml index 2f9800a571f..daad74de000 100644 --- a/.licenses/go/google.golang.org/grpc/attributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/attributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/attributes -version: v1.71.1 +version: v1.72.0 type: go summary: Package attributes defines a generic key/value store used in various gRPC components. homepage: https://pkg.go.dev/google.golang.org/grpc/attributes license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/backoff.dep.yml index 87d37bb4aae..d31941c32c8 100644 --- a/.licenses/go/google.golang.org/grpc/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/backoff -version: v1.71.1 +version: v1.72.0 type: go summary: Package backoff provides configuration options for backoff. homepage: https://pkg.go.dev/google.golang.org/grpc/backoff license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer.dep.yml b/.licenses/go/google.golang.org/grpc/balancer.dep.yml index 3ac5d61734a..91273b196a4 100644 --- a/.licenses/go/google.golang.org/grpc/balancer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer -version: v1.71.1 +version: v1.72.0 type: go summary: Package balancer defines APIs for load balancing in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml index 9fb1492af88..b9970d4fb0d 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/base.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/base -version: v1.71.1 +version: v1.72.0 type: go summary: Package base defines a balancer base that can be used to build balancers with different picking algorithms. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/base license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml index f452e5fcb24..d3739824754 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/endpointsharding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/endpointsharding -version: v1.71.1 +version: v1.72.0 type: go summary: Package endpointsharding implements a load balancing policy that manages homogeneous child policies each owning a single endpoint. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/endpointsharding license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml index 79666368bc1..c81465c541a 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/grpclb/state.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/grpclb/state -version: v1.71.1 +version: v1.72.0 type: go summary: Package state declares grpclb types to be set by resolvers wishing to pass information to grpclb via resolver.State Attributes. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/grpclb/state license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml index 4c652b4731c..550167183d3 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst -version: v1.71.1 +version: v1.72.0 type: go summary: Package pickfirst contains the pick_first load balancing policy. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml index 002d59e4a89..e37a1e02019 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/pickfirst/internal -version: v1.71.1 +version: v1.72.0 type: go summary: Package internal contains code internal to the pickfirst package. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml index b7cbb66c38c..89565229de5 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/balancer/pickfirst/pickfirstleaf -version: v1.71.1 +version: v1.72.0 type: go summary: Package pickfirstleaf contains the pick_first load balancing policy which will be the universal leaf policy after dualstack changes are implemented. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/pickfirst/pickfirstleaf license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml index cbc5089f239..5d97a3bb070 100644 --- a/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml +++ b/.licenses/go/google.golang.org/grpc/balancer/roundrobin.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/balancer/roundrobin -version: v1.71.1 +version: v1.72.0 type: go summary: Package roundrobin defines a roundrobin balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/balancer/roundrobin license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml index 2e046648857..0656f8dc769 100644 --- a/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml +++ b/.licenses/go/google.golang.org/grpc/binarylog/grpc_binarylog_v1.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/binarylog/grpc_binarylog_v1 -version: v1.71.1 +version: v1.72.0 type: go -summary: +summary: homepage: https://pkg.go.dev/google.golang.org/grpc/binarylog/grpc_binarylog_v1 license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/channelz.dep.yml index ddea47c067a..a7d4e0fd164 100644 --- a/.licenses/go/google.golang.org/grpc/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/channelz -version: v1.71.1 +version: v1.72.0 type: go summary: Package channelz exports internals of the channelz implementation as required by other gRPC packages. homepage: https://pkg.go.dev/google.golang.org/grpc/channelz license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/codes.dep.yml b/.licenses/go/google.golang.org/grpc/codes.dep.yml index 28f0a52d0d0..bc88cec5aef 100644 --- a/.licenses/go/google.golang.org/grpc/codes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/codes.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/codes -version: v1.71.1 +version: v1.72.0 type: go summary: Package codes defines the canonical error codes used by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/codes license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml index 71c5b8f05f7..c4249d13687 100644 --- a/.licenses/go/google.golang.org/grpc/connectivity.dep.yml +++ b/.licenses/go/google.golang.org/grpc/connectivity.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/connectivity -version: v1.71.1 +version: v1.72.0 type: go summary: Package connectivity defines connectivity semantics. homepage: https://pkg.go.dev/google.golang.org/grpc/connectivity license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/credentials.dep.yml index 4ccfc5b26a8..33de557a781 100644 --- a/.licenses/go/google.golang.org/grpc/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials.dep.yml @@ -1,6 +1,6 @@ --- name: google.golang.org/grpc/credentials -version: v1.71.1 +version: v1.72.0 type: go summary: Package credentials implements various credentials supported by gRPC library, which encapsulate all the state needed by a client to authenticate with a server @@ -9,7 +9,7 @@ summary: Package credentials implements various credentials supported by gRPC li homepage: https://pkg.go.dev/google.golang.org/grpc/credentials license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml index 33f426eeb18..875369419d9 100644 --- a/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml +++ b/.licenses/go/google.golang.org/grpc/credentials/insecure.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/credentials/insecure -version: v1.71.1 +version: v1.72.0 type: go summary: Package insecure provides an implementation of the credentials.TransportCredentials interface which disables transport security. homepage: https://pkg.go.dev/google.golang.org/grpc/credentials/insecure license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding.dep.yml b/.licenses/go/google.golang.org/grpc/encoding.dep.yml index 3e0e4bbb92e..ffdb6ca9e2a 100644 --- a/.licenses/go/google.golang.org/grpc/encoding.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/encoding -version: v1.71.1 +version: v1.72.0 type: go summary: Package encoding defines the interface for the compressor and codec, and functions to register and retrieve compressors and codecs. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml index 99aac5d09d4..4ae9e50f087 100644 --- a/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml +++ b/.licenses/go/google.golang.org/grpc/encoding/proto.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/encoding/proto -version: v1.71.1 +version: v1.72.0 type: go summary: Package proto defines the protobuf codec. homepage: https://pkg.go.dev/google.golang.org/grpc/encoding/proto license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml index e13624e9b54..31dedbe58b0 100644 --- a/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/experimental/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/experimental/stats -version: v1.71.1 +version: v1.72.0 type: go summary: Package stats contains experimental metrics/stats API's. homepage: https://pkg.go.dev/google.golang.org/grpc/experimental/stats license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml index 4b16e25e3cf..b75daf68093 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog -version: v1.71.1 +version: v1.72.0 type: go summary: Package grpclog defines logging for grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml index 2aa3937044f..59e47cde6c6 100644 --- a/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/grpclog/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/grpclog/internal -version: v1.71.1 +version: v1.72.0 type: go summary: Package internal contains functionality internal to the grpclog package. homepage: https://pkg.go.dev/google.golang.org/grpc/grpclog/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal.dep.yml index 3d508125482..32a8a313988 100644 --- a/.licenses/go/google.golang.org/grpc/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal -version: v1.71.1 +version: v1.72.0 type: go summary: Package internal contains gRPC-internal code, to avoid polluting the godoc of the top-level grpc package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml index 6edf6a128b9..d67d4f739ac 100644 --- a/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/backoff.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/backoff -version: v1.71.1 +version: v1.72.0 type: go summary: Package backoff implement the backoff strategy for gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/backoff license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml index f5bd25e7a8b..b68951d9f6a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancer/gracefulswitch.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancer/gracefulswitch -version: v1.71.1 +version: v1.72.0 type: go summary: Package gracefulswitch implements a graceful switch load balancer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancer/gracefulswitch license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml index d5cd159e405..ebee895822a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/balancerload.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/balancerload -version: v1.71.1 +version: v1.72.0 type: go summary: Package balancerload defines APIs to parse server loads in trailers. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/balancerload license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml index fe12cb8fc5f..78c5aa4d95d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/binarylog.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/binarylog -version: v1.71.1 +version: v1.72.0 type: go summary: Package binarylog implementation binary logging as defined in https://github.com/grpc/proposal/blob/master/A16-binary-logging.md. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/binarylog license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml index 8ec49e52913..291abdf8616 100644 --- a/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/buffer.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/buffer -version: v1.71.1 +version: v1.72.0 type: go summary: Package buffer provides an implementation of an unbounded buffer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/buffer license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml index a4b11dfa1da..9fdd267d6d4 100644 --- a/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/channelz.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/channelz -version: v1.71.1 +version: v1.72.0 type: go summary: Package channelz defines internal APIs for enabling channelz service, entry registration/deletion, and accessing channelz data. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/channelz license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml index 938e3b161be..48a1889a22c 100644 --- a/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/credentials.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/credentials -version: v1.71.1 +version: v1.72.0 type: go summary: Package credentials defines APIs for parsing SPIFFE ID. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/credentials license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml index 1aa8a492a04..343086b4714 100644 --- a/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/envconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/envconfig -version: v1.71.1 +version: v1.72.0 type: go summary: Package envconfig contains grpc settings configured by environment variables. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/envconfig license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml index 0e44d369fff..b1ea5ff1f08 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpclog.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpclog -version: v1.71.1 +version: v1.72.0 type: go summary: Package grpclog provides logging functionality for internal gRPC packages, outside of the functionality provided by the external `grpclog` package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpclog license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml index cefb1adcacd..dd97de6bed2 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcsync.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/grpcsync -version: v1.71.1 +version: v1.72.0 type: go summary: Package grpcsync implements additional synchronization primitives built upon the sync package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcsync license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml index fa28c58f9c0..0a7e96504f1 100644 --- a/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/grpcutil.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/grpcutil -version: v1.71.1 +version: v1.72.0 type: go summary: Package grpcutil provides utility functions used across the gRPC codebase. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/grpcutil license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml index a57946bedb0..82e64ec8b9a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/idle.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/idle -version: v1.71.1 +version: v1.72.0 type: go summary: Package idle contains a component for managing idleness (entering and exiting) based on RPC activity. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/idle license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml index f6a3a37d4bc..09a87890c1d 100644 --- a/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/metadata -version: v1.71.1 +version: v1.72.0 type: go summary: Package metadata contains functions to set and get metadata from addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/metadata license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml index 388151928c9..e96c5e820d7 100644 --- a/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/pretty.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/pretty -version: v1.71.1 +version: v1.72.0 type: go summary: Package pretty defines helper functions to pretty-print structs for logging. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/pretty license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml b/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml index a98bf2ed949..e178b81ee5b 100644 --- a/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/proxyattributes.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/proxyattributes -version: v1.71.1 +version: v1.72.0 type: go summary: Package proxyattributes contains functions for getting and setting proxy attributes like the CONNECT address and user info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/proxyattributes license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml index b98d246ab4d..b902ef5a8ec 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver -version: v1.71.1 +version: v1.72.0 type: go summary: Package resolver provides internal resolver-related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml index 708edd40f79..c399ffdb93a 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/delegatingresolver.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/delegatingresolver -version: v1.71.1 +version: v1.72.0 type: go summary: Package delegatingresolver implements a resolver capable of resolving both target URIs and proxy addresses. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/delegatingresolver license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml index e66915e518d..0f6202e5985 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/resolver/dns -version: v1.71.1 +version: v1.72.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml index 0eadc5739ac..5d3008a22bd 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/dns/internal.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/dns/internal -version: v1.71.1 +version: v1.72.0 type: go summary: Package internal contains functionality internal to the dns resolver package. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/dns/internal license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml index 4546843c0fd..d809dc1a9e5 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/passthrough.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/passthrough -version: v1.71.1 +version: v1.72.0 type: go summary: Package passthrough implements a pass-through resolver. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/passthrough license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml index 16e28436136..dae54706b32 100644 --- a/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/resolver/unix.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/resolver/unix -version: v1.71.1 +version: v1.72.0 type: go summary: Package unix implements a resolver for unix targets. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/resolver/unix license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml index b7b4d2ba6e5..64219c4e724 100644 --- a/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/serviceconfig.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/serviceconfig -version: v1.71.1 +version: v1.72.0 type: go summary: Package serviceconfig contains utility functions to parse service config. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml index 6734ded1050..e237ba19cde 100644 --- a/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/stats -version: v1.71.1 +version: v1.72.0 type: go summary: Package stats provides internal stats related functionality. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/stats license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml index 13e8d2f41b5..3babfd5a408 100644 --- a/.licenses/go/google.golang.org/grpc/internal/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/status -version: v1.71.1 +version: v1.72.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/status license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml index a58eac73b6c..678027f65e3 100644 --- a/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/syscall.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/syscall -version: v1.71.1 +version: v1.72.0 type: go summary: Package syscall provides functionalities that grpc uses to get low-level operating system stats/info. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/syscall license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml index a1719604486..2daf4a00e59 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/internal/transport -version: v1.71.1 +version: v1.72.0 type: go summary: Package transport defines and implements message oriented communication channel to complete various transactions (e.g., an RPC). homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml index 46ea6be8b05..66ab6e32131 100644 --- a/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml +++ b/.licenses/go/google.golang.org/grpc/internal/transport/networktype.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/internal/transport/networktype -version: v1.71.1 +version: v1.72.0 type: go summary: Package networktype declares the network type to be used in the default dialer. homepage: https://pkg.go.dev/google.golang.org/grpc/internal/transport/networktype license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml index abcb9736453..7728d998486 100644 --- a/.licenses/go/google.golang.org/grpc/keepalive.dep.yml +++ b/.licenses/go/google.golang.org/grpc/keepalive.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/keepalive -version: v1.71.1 +version: v1.72.0 type: go summary: Package keepalive defines configurable parameters for point-to-point healthcheck. homepage: https://pkg.go.dev/google.golang.org/grpc/keepalive license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/mem.dep.yml b/.licenses/go/google.golang.org/grpc/mem.dep.yml index d9460954d0d..833a60ae7fc 100644 --- a/.licenses/go/google.golang.org/grpc/mem.dep.yml +++ b/.licenses/go/google.golang.org/grpc/mem.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/mem -version: v1.71.1 +version: v1.72.0 type: go summary: Package mem provides utilities that facilitate memory reuse in byte slices that are used as buffers. homepage: https://pkg.go.dev/google.golang.org/grpc/mem license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/metadata.dep.yml b/.licenses/go/google.golang.org/grpc/metadata.dep.yml index 301319afcbe..31a33bc572f 100644 --- a/.licenses/go/google.golang.org/grpc/metadata.dep.yml +++ b/.licenses/go/google.golang.org/grpc/metadata.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/metadata -version: v1.71.1 +version: v1.72.0 type: go summary: Package metadata define the structure of the metadata supported by gRPC library. homepage: https://pkg.go.dev/google.golang.org/grpc/metadata license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/peer.dep.yml b/.licenses/go/google.golang.org/grpc/peer.dep.yml index 61f14736de3..54fcf729f48 100644 --- a/.licenses/go/google.golang.org/grpc/peer.dep.yml +++ b/.licenses/go/google.golang.org/grpc/peer.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/peer -version: v1.71.1 +version: v1.72.0 type: go summary: Package peer defines various peer information associated with RPCs and corresponding utils. homepage: https://pkg.go.dev/google.golang.org/grpc/peer license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver.dep.yml b/.licenses/go/google.golang.org/grpc/resolver.dep.yml index f8954ebedc3..c64f67ba7b0 100644 --- a/.licenses/go/google.golang.org/grpc/resolver.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/resolver -version: v1.71.1 +version: v1.72.0 type: go summary: Package resolver defines APIs for name resolution in gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml index 40c2709d472..3c76dd87c0b 100644 --- a/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml +++ b/.licenses/go/google.golang.org/grpc/resolver/dns.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/resolver/dns -version: v1.71.1 +version: v1.72.0 type: go summary: Package dns implements a dns resolver to be installed as the default resolver in grpc. homepage: https://pkg.go.dev/google.golang.org/grpc/resolver/dns license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml index d4fa894d626..1c7c22b6404 100644 --- a/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml +++ b/.licenses/go/google.golang.org/grpc/serviceconfig.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/serviceconfig -version: v1.71.1 +version: v1.72.0 type: go summary: Package serviceconfig defines types and methods for operating on gRPC service configs. homepage: https://pkg.go.dev/google.golang.org/grpc/serviceconfig license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/stats.dep.yml b/.licenses/go/google.golang.org/grpc/stats.dep.yml index 9e04ccbb864..d0948a17740 100644 --- a/.licenses/go/google.golang.org/grpc/stats.dep.yml +++ b/.licenses/go/google.golang.org/grpc/stats.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/stats -version: v1.71.1 +version: v1.72.0 type: go summary: Package stats is for collecting and reporting various network and RPC stats. homepage: https://pkg.go.dev/google.golang.org/grpc/stats license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/status.dep.yml b/.licenses/go/google.golang.org/grpc/status.dep.yml index 4ffabc2c287..e8b36243d49 100644 --- a/.licenses/go/google.golang.org/grpc/status.dep.yml +++ b/.licenses/go/google.golang.org/grpc/status.dep.yml @@ -1,12 +1,12 @@ --- name: google.golang.org/grpc/status -version: v1.71.1 +version: v1.72.0 type: go summary: Package status implements errors returned by gRPC. homepage: https://pkg.go.dev/google.golang.org/grpc/status license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/.licenses/go/google.golang.org/grpc/tap.dep.yml b/.licenses/go/google.golang.org/grpc/tap.dep.yml index 2caf710d261..06da3f95c3e 100644 --- a/.licenses/go/google.golang.org/grpc/tap.dep.yml +++ b/.licenses/go/google.golang.org/grpc/tap.dep.yml @@ -1,13 +1,13 @@ --- name: google.golang.org/grpc/tap -version: v1.71.1 +version: v1.72.0 type: go summary: Package tap defines the function handles which are executed on the transport layer of gRPC-Go and related information. homepage: https://pkg.go.dev/google.golang.org/grpc/tap license: apache-2.0 licenses: -- sources: grpc@v1.71.1/LICENSE +- sources: grpc@v1.72.0/LICENSE text: |2 Apache License diff --git a/go.mod b/go.mod index 1267f7eb77b..c9485a502af 100644 --- a/go.mod +++ b/go.mod @@ -43,8 +43,8 @@ require ( golang.org/x/sys v0.32.0 golang.org/x/term v0.31.0 golang.org/x/text v0.24.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f - google.golang.org/grpc v1.71.1 + google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a + google.golang.org/grpc v1.72.0 google.golang.org/protobuf v1.36.6 gopkg.in/yaml.v3 v3.0.1 ) diff --git a/go.sum b/go.sum index 9675ba82a4a..81f9d8c2a26 100644 --- a/go.sum +++ b/go.sum @@ -245,10 +245,10 @@ golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50= -google.golang.org/grpc v1.71.1 h1:ffsFWr7ygTUscGPI0KKK6TLrGz0476KUvvsbqWK0rPI= -google.golang.org/grpc v1.71.1/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a h1:51aaUVRocpvUOSQKM6Q7VuoaktNIaMCLuhZB6DKksq4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ= +google.golang.org/grpc v1.72.0 h1:S7UkcVa60b5AAQTaO6ZKamFp1zMZSU0fGDK2WZLbBnM= +google.golang.org/grpc v1.72.0/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= From 9d777696a594a59ade08a8a4ac5a0c00f2808cb2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 14:44:52 +0200 Subject: [PATCH 353/361] [skip changelog] Bump github.com/ProtonMail/go-crypto from 1.1.6 to 1.2.0 (#2886) * [skip changelog] Bump github.com/ProtonMail/go-crypto Bumps [github.com/ProtonMail/go-crypto](https://github.com/ProtonMail/go-crypto) from 1.1.6 to 1.2.0. - [Release notes](https://github.com/ProtonMail/go-crypto/releases) - [Commits](https://github.com/ProtonMail/go-crypto/compare/v1.1.6...v1.2.0) --- updated-dependencies: - dependency-name: github.com/ProtonMail/go-crypto dependency-version: 1.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * update licenses --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .../go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml | 8 ++++---- .../go/github.com/ProtonMail/go-crypto/brainpool.dep.yml | 6 +++--- .licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml | 6 +++--- .../ProtonMail/go-crypto/internal/byteutil.dep.yml | 8 ++++---- .licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml | 6 +++--- .../go/github.com/ProtonMail/go-crypto/openpgp.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/ed25519.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/elgamal.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/errors.dep.yml | 6 +++--- .../go-crypto/openpgp/internal/algorithm.dep.yml | 8 ++++---- .../ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml | 6 +++--- .../go-crypto/openpgp/internal/encoding.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/packet.dep.yml | 6 +++--- .../github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml | 6 +++--- .../ProtonMail/go-crypto/openpgp/x25519.dep.yml | 8 ++++---- .../github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml | 8 ++++---- go.mod | 2 +- go.sum | 4 ++-- 24 files changed, 74 insertions(+), 74 deletions(-) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml index bf62cb382da..cbe841d417d 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/bitcurves.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/bitcurves -version: v1.1.6 +version: v1.2.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/bitcurves license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml index b8d7d2da9f0..07cae41e25b 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/brainpool.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/brainpool -version: v1.1.6 +version: v1.2.0 type: go summary: Package brainpool implements Brainpool elliptic curves. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/brainpool license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml index 6fb229ad21f..fde7c6e9d26 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/eax.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/eax -version: v1.1.6 +version: v1.2.0 type: go summary: 'Package eax provides an implementation of the EAX (encrypt-authenticate-translate) mode of operation, as described in Bellare, Rogaway, and Wagner "THE EAX MODE OF @@ -9,7 +9,7 @@ summary: 'Package eax provides an implementation of the EAX (encrypt-authenticat homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/eax license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml index 59da689402f..381568efb23 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/internal/byteutil.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/internal/byteutil -version: v1.1.6 +version: v1.2.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/internal/byteutil license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml index da75af00f07..d2328b5fb40 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/ocb.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/ocb -version: v1.1.6 +version: v1.2.0 type: go summary: 'Package ocb provides an implementation of the OCB (offset codebook) mode of operation, as described in RFC-7253 of the IRTF and in Rogaway, Bellare, Black @@ -9,7 +9,7 @@ summary: 'Package ocb provides an implementation of the OCB (offset codebook) mo homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/ocb license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -38,7 +38,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml index 3b389adff32..efaf5b6bcd8 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp -version: v1.1.6 +version: v1.2.0 type: go summary: Package openpgp implements high level operations on OpenPGP messages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml index 940998a6369..8f944221e01 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/aes/keywrap -version: v1.1.6 +version: v1.2.0 type: go summary: Package keywrap is an implementation of the RFC 3394 AES key wrapping algorithm. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/aes/keywrap license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml index 5cddde99393..4b6b8c0aecf 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/armor.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/armor -version: v1.1.6 +version: v1.2.0 type: go summary: Package armor implements OpenPGP ASCII Armor, see RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/armor license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml index 9612759aaf5..54449a47cd5 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdh.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdh -version: v1.1.6 +version: v1.2.0 type: go summary: Package ecdh implements ECDH encryption, suitable for OpenPGP, as specified in RFC 6637, section 8. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdh license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml index 430d141a2eb..642457665c3 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ecdsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ecdsa -version: v1.1.6 +version: v1.2.0 type: go summary: Package ecdsa implements ECDSA signature, suitable for OpenPGP, as specified in RFC 6637, section 5. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ecdsa license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml index 8531c33a78b..73c4e6e5512 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed25519.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed25519 -version: v1.1.6 +version: v1.2.0 type: go summary: Package ed25519 implements the ed25519 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed25519 license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml index 732aaac55fb..043c48df85c 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/ed448.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/ed448 -version: v1.1.6 +version: v1.2.0 type: go summary: Package ed448 implements the ed448 signature algorithm for OpenPGP as defined in the Open PGP crypto refresh. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/ed448 license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml index d881873aa95..c39a89e9150 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/eddsa.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/eddsa -version: v1.1.6 +version: v1.2.0 type: go summary: Package eddsa implements EdDSA signature, suitable for OpenPGP, as specified in https://datatracker.ietf.org/doc/html/draft-ietf-openpgp-crypto-refresh-06#section-13.7 homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/eddsa license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml index db509dd809d..a8da261dddf 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/elgamal.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/elgamal -version: v1.1.6 +version: v1.2.0 type: go summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as specified in "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms," @@ -8,7 +8,7 @@ summary: Package elgamal implements ElGamal encryption, suitable for OpenPGP, as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/elgamal license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml index 3eb5541873a..410d137e541 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/errors.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/errors -version: v1.1.6 +version: v1.2.0 type: go summary: Package errors contains common error types for the OpenPGP packages. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/errors license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml index def9fb06f48..0d701e406a2 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/algorithm -version: v1.1.6 +version: v1.2.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/algorithm license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml index bbd0f12d7b5..f2f26abb1a2 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/ecc.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/ecc -version: v1.1.6 +version: v1.2.0 type: go summary: Package ecc implements a generic interface for ECDH, ECDSA, and EdDSA. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/ecc license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml index 5083aa32b28..46147a172c3 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/internal/encoding.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/internal/encoding -version: v1.1.6 +version: v1.2.0 type: go summary: Package encoding implements openpgp packet field encodings as specified in RFC 4880 and 6637. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/internal/encoding license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml index 41f57f3604c..89196fbb262 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/packet.dep.yml @@ -1,13 +1,13 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/packet -version: v1.1.6 +version: v1.2.0 type: go summary: Package packet implements parsing and serialization of OpenPGP packets, as specified in RFC 4880. homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/packet license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -36,7 +36,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml index 06cb05e44fc..8afba8fe0f5 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/s2k.dep.yml @@ -1,6 +1,6 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/s2k -version: v1.1.6 +version: v1.2.0 type: go summary: Package s2k implements the various OpenPGP string-to-key transforms as specified in RFC 4800 section 3.7.1, and Argon2 specified in draft-ietf-openpgp-crypto-refresh-08 @@ -8,7 +8,7 @@ summary: Package s2k implements the various OpenPGP string-to-key transforms as homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/s2k license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -37,7 +37,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml index 5bc4be455b5..36bfad817d3 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x25519.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x25519 -version: v1.1.6 +version: v1.2.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x25519 license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml index 957a5f6e9a2..9fecfa6a582 100644 --- a/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml +++ b/.licenses/go/github.com/ProtonMail/go-crypto/openpgp/x448.dep.yml @@ -1,12 +1,12 @@ --- name: github.com/ProtonMail/go-crypto/openpgp/x448 -version: v1.1.6 +version: v1.2.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/ProtonMail/go-crypto/openpgp/x448 license: other licenses: -- sources: go-crypto@v1.1.6/LICENSE +- sources: go-crypto@v1.2.0/LICENSE text: | Copyright (c) 2009 The Go Authors. All rights reserved. @@ -35,7 +35,7 @@ licenses: THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -- sources: go-crypto@v1.1.6/PATENTS +- sources: go-crypto@v1.2.0/PATENTS text: | Additional IP Rights Grant (Patents) diff --git a/go.mod b/go.mod index c9485a502af..eb440ad90a2 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( fortio.org/safecast v1.0.0 - github.com/ProtonMail/go-crypto v1.1.6 + github.com/ProtonMail/go-crypto v1.2.0 github.com/arduino/go-paths-helper v1.12.1 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 diff --git a/go.sum b/go.sum index 81f9d8c2a26..f73593b706f 100644 --- a/go.sum +++ b/go.sum @@ -5,8 +5,8 @@ fortio.org/safecast v1.0.0/go.mod h1:xZmcPk3vi4kuUFf+tq4SvnlVdwViqf6ZSZl91Jr9Jdg github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= -github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNxpLfdw= -github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= +github.com/ProtonMail/go-crypto v1.2.0 h1:+PhXXn4SPGd+qk76TlEePBfOfivE0zkWFenhGhFLzWs= +github.com/ProtonMail/go-crypto v1.2.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= From 52bfb51e50eae5c5c43638c19db3462d20bbccaf Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 22 Apr 2025 14:51:57 +0200 Subject: [PATCH 354/361] [skip-changelog] Fix readme notice about CLI versioning (#2892) --- docs/index.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/index.md b/docs/index.md index b02aa1a4b4c..2819e36b837 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,13 +17,7 @@ Follow the [Getting started guide] to see how to use the most common CLI command The [client_example] folder contains a sample program that shows how to use the gRPC interface of the CLI. Available services and messages are detailed in the [gRPC reference] pages. -## Versioning and backward compatibility policy - -This software is currently under active development: anything can change at any time, API and UI must be considered -unstable until we release version 1.0.0. For more information see our [versioning and backward compatibility] policy. - [installation]: installation.md [getting started guide]: getting-started.md [client_example]: https://github.com/arduino/arduino-cli/blob/master/rpc/internal/client_example [grpc reference]: rpc/commands.md -[versioning and backward compatibility]: versioning.md From 523829a875dfa1b513acfdad275279a0cfdb06cc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 14:55:28 +0200 Subject: [PATCH 355/361] [skip changelog] Bump github.com/arduino/go-paths-helper from 1.12.1 to 1.13.0 (#2885) * [skip changelog] Bump github.com/arduino/go-paths-helper Bumps [github.com/arduino/go-paths-helper](https://github.com/arduino/go-paths-helper) from 1.12.1 to 1.13.0. - [Release notes](https://github.com/arduino/go-paths-helper/releases) - [Commits](https://github.com/arduino/go-paths-helper/compare/v1.12.1...v1.13.0) --- updated-dependencies: - dependency-name: github.com/arduino/go-paths-helper dependency-version: 1.13.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * update licenses and go mod --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Alessio Perugini <alessio@perugini.xyz> --- .licenses/go/github.com/arduino/go-paths-helper.dep.yml | 4 ++-- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml index 01899363c84..8a0611c2ee1 100644 --- a/.licenses/go/github.com/arduino/go-paths-helper.dep.yml +++ b/.licenses/go/github.com/arduino/go-paths-helper.dep.yml @@ -1,8 +1,8 @@ --- name: github.com/arduino/go-paths-helper -version: v1.12.1 +version: v1.13.0 type: go -summary: +summary: homepage: https://pkg.go.dev/github.com/arduino/go-paths-helper license: gpl-2.0-or-later licenses: diff --git a/go.mod b/go.mod index eb440ad90a2..3510c2e00dc 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ replace github.com/mailru/easyjson => github.com/cmaglie/easyjson v0.8.1 require ( fortio.org/safecast v1.0.0 github.com/ProtonMail/go-crypto v1.2.0 - github.com/arduino/go-paths-helper v1.12.1 + github.com/arduino/go-paths-helper v1.13.0 github.com/arduino/go-properties-orderedmap v1.8.1 github.com/arduino/go-serial-utils v0.1.2 github.com/arduino/go-timeutils v0.0.0-20171220113728-d1dd9e313b1b diff --git a/go.sum b/go.sum index f73593b706f..a70cca2d7e4 100644 --- a/go.sum +++ b/go.sum @@ -10,8 +10,8 @@ github.com/ProtonMail/go-crypto v1.2.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/arduino/go-paths-helper v1.0.1/go.mod h1:HpxtKph+g238EJHq4geEPv9p+gl3v5YYu35Yb+w31Ck= -github.com/arduino/go-paths-helper v1.12.1 h1:WkxiVUxBjKWlLMiMuYy8DcmVrkxdP7aKxQOAq7r2lVM= -github.com/arduino/go-paths-helper v1.12.1/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= +github.com/arduino/go-paths-helper v1.13.0 h1:HIkgg8ChPw1QPNHkB5bQSs+geTj74vf6TFgVhm/9mmw= +github.com/arduino/go-paths-helper v1.13.0/go.mod h1:jcpW4wr0u69GlXhTYydsdsqAjLaYK5n7oWHfKqOG6LM= github.com/arduino/go-properties-orderedmap v1.8.1 h1:nU5S6cXPwMoxZs4ORw61wPTALNfriIduvNB4cxTmNYM= github.com/arduino/go-properties-orderedmap v1.8.1/go.mod h1:DKjD2VXY/NZmlingh4lSFMEYCVubfeArCsGPGDwb2yk= github.com/arduino/go-serial-utils v0.1.2 h1:MRFwME4w/uaVkJ1R+wzz4KSbI9cF9IDVrYorazvjpTk= From a6db55fc8cac2909a2a38e40b97ac923ebf88763 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 22 Apr 2025 15:06:35 +0200 Subject: [PATCH 356/361] Updated translation files (#2854) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- internal/locales/data/ar.po | 137 ++++++++++++++--------------- internal/locales/data/be.po | 134 +++++++++++++++-------------- internal/locales/data/de.po | 152 ++++++++++++++++++--------------- internal/locales/data/es.po | 124 +++++++++++++-------------- internal/locales/data/fr.po | 124 +++++++++++++-------------- internal/locales/data/he.po | 124 +++++++++++++-------------- internal/locales/data/it_IT.po | 124 +++++++++++++-------------- internal/locales/data/ja.po | 124 +++++++++++++-------------- internal/locales/data/ko.po | 124 +++++++++++++-------------- internal/locales/data/lb.po | 124 +++++++++++++-------------- internal/locales/data/pl.po | 124 +++++++++++++-------------- internal/locales/data/pt.po | 124 +++++++++++++-------------- internal/locales/data/ru.po | 130 ++++++++++++++-------------- internal/locales/data/si.po | 124 +++++++++++++-------------- internal/locales/data/zh.po | 124 +++++++++++++-------------- internal/locales/data/zh_TW.po | 124 +++++++++++++-------------- 16 files changed, 1029 insertions(+), 1012 deletions(-) diff --git a/internal/locales/data/ar.po b/internal/locales/data/ar.po index 4026eb0b42a..07db1d3092d 100644 --- a/internal/locales/data/ar.po +++ b/internal/locales/data/ar.po @@ -5,10 +5,11 @@ # Osama Breman, 2023 # طارق عبد الفتاح <tariq.ok.tariq@gmail.com>, 2023 # Ahmed Gaafar, 2024 +# bedo karam, 2025 # msgid "" msgstr "" -"Last-Translator: Ahmed Gaafar, 2024\n" +"Last-Translator: bedo karam, 2025\n" "Language-Team: Arabic (https://app.transifex.com/arduino-1/teams/108174/ar/)\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" @@ -25,7 +26,7 @@ msgstr "الملف %[1]s اصبح غير مدعوما! راجع %[2]s للمزي msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s غير صالح . جار اعادة بناء كل شيء" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s مطلوب و لكن %[2]s مثبت حاليا" @@ -45,12 +46,12 @@ msgstr "%s و %s لا يمكن استخدامهما معا" msgid "%s installed" msgstr "%s تم تثبيته بنجاح" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s مثبت مسبقا" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s ليس مسارا صحيحا" @@ -60,9 +61,9 @@ msgstr "%s غير مدار بواسطة مدير الحزمات" #: internal/cli/daemon/daemon.go:67 msgid "%s must be >= 1024" -msgstr "" +msgstr "%s يلزم أن يكون أكبر من أو يساوي 1024" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "يجب تثبيت %s" @@ -75,7 +76,7 @@ msgstr "%s النسق مفقود" msgid "'%s' has an invalid signature" msgstr "'%s' لديه توقيع غير صحيح" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -228,7 +229,7 @@ msgstr "يربط اللوحة بالمشروع" msgid "Author: %s" msgstr "المؤلف : %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -471,7 +472,7 @@ msgstr "متصل" #: internal/cli/monitor/monitor.go:275 msgid "Connecting to %s. Press CTRL-C to exit." -msgstr "" +msgstr "جار الإتصال ب %s اضغط CTRL-C للإنهاء. " #: internal/cli/board/list.go:104 internal/cli/board/list.go:142 msgid "Core" @@ -517,7 +518,7 @@ msgstr "" "انشاء او تحديث ملف الضبط في مسار البيانات او في مسار مخصص مع اعدادات التهيئة" " الحالية" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -734,7 +735,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "خطأ اثناء تنظيف الكاش : %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "تعذر تحويل المسار الى مطلق : %v" @@ -809,16 +810,16 @@ msgstr "خطا اثناء ترميز JSON الخاص بالخرج : %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "خطا اثناء الرفع : %v" #: internal/cli/arguments/port.go:144 msgid "Error during board detection" -msgstr "" +msgstr "حدث خطأ ما أثناء إكتشاف اللوحة." -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "خطأ اثناء بناء : %v" @@ -1448,7 +1449,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "المكتبة %[1]s تم تحديدها بانها precompiled" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "تم تثبيت المكتبة %[1]s ولكن بنسخة اخرى : %[2]s" @@ -1817,7 +1818,7 @@ msgstr "موقع الحزمة على الويب" msgid "Paragraph: %s" msgstr "المقطع : %s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "المسار" @@ -1862,7 +1863,7 @@ msgstr "المنصة %s مثبتة سابقا" msgid "Platform %s installed" msgstr "تم تثبيت المنصة: %s" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1886,7 +1887,7 @@ msgstr "المنصة '%s' غير موجودة" msgid "Platform ID" msgstr "Platform ID" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "id المنصة غير صحيح" @@ -1965,7 +1966,7 @@ msgstr "طباعة السجلات على الخرج الافتراضي" #: internal/cli/cli.go:180 msgid "Print the output in JSON format." -msgstr "" +msgstr "اطبع الناتج بصيغة JSON" #: internal/cli/config/dump.go:31 msgid "Prints the current configuration" @@ -2484,7 +2485,7 @@ msgstr "بادئة مجموعة الادوات " msgid "Toolchain type" msgstr "نوع مجموعة الادوات" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "جرب تشغيل %s" @@ -2636,7 +2637,7 @@ msgstr "يرفع محمل الاقلاع على اللوحة باستخدام م msgid "Upload the bootloader." msgstr "يرفع محمل الاقلاع" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2658,11 +2659,11 @@ msgstr "الاستخدام" msgid "Use %s for more information about a command." msgstr "استخدم %s من اجل المزيد من المعلومات حول امر معين" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "المكتبة المستخدمة" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "المنصة المستخدمة" @@ -2731,7 +2732,7 @@ msgstr "القيم" msgid "Verify uploaded binary after the upload." msgstr "التاكد من الملف الثنائي الذي سيتم رفعه قبل الرفع" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "النسخة" @@ -2753,7 +2754,7 @@ msgstr "تحذير , تعذر تهيئة الاداة %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "تحذير : المشروع سيترجم باستخدام مكتبة خاصة او اكثر . " @@ -2799,11 +2800,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "تلبيد \"hash\" الارشيف يختلف عن تلبيد \"hash\" الفهرس" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "الارشيف غير صالح : يوجد عدة ملفات داخل ملف zip في المرحلة العليا" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "الارشيف غير صالح : لا يوجد اي ملفات داخل ملف zip في المرحلة العليا" @@ -2831,7 +2832,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "تعذر ايجاد الملف الثنائي (Binary file) داخل %s" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "اللوحة %s غير موجودة" @@ -2851,7 +2852,7 @@ msgstr "تعذر العثور على اخر اصدار من %s" msgid "can't find latest release of tool %s" msgstr "تعذر العثور على اخر اصدار من الاداة %s" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "تعذر ايجاد نمط للاكتشاف بواسطة id %s" @@ -2899,7 +2900,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "جار نسخ المكتبة الى مجلد الوجهة" @@ -2943,15 +2944,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "التبعية (dependency) '%s' غير متوفرة" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "تعذر التثبيت لان مجلد الوجهة %s موجود مسبقا " -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "مجلد الوجهة موجودة مسبقا" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "المجلد غير موجود : %s" @@ -2959,15 +2960,15 @@ msgstr "المجلد غير موجود : %s" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "المستكشف %s غير موجود" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "تعذر تثبيت المستكشف %s" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "تعذر ايجاد اصدار المستكشف %s" @@ -2995,7 +2996,7 @@ msgstr "معرف اللوحة خالي (empty board identifier)" msgid "error loading sketch project file:" msgstr "خطا اثناء تحميل ملفات المشروع :" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "تعذر فتح %s" @@ -3012,7 +3013,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "خطا اثناء القيام باستعلامات مع Arduino Cloud Api" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -3090,7 +3091,7 @@ msgstr "جار جلب معلومات الارشيف : %s" msgid "getting archive path: %s" msgstr "جار جلب مسار الارشيف : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "جار الحصول على خصائص البناء للوحة %[1]s : %[2]s " @@ -3106,7 +3107,7 @@ msgstr "جار الحصول على توابع الشاشة من اجل المن msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "جار الحصول على توابع الاداة من اجل المنصة %[1]s:%[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "لم يتم تحديد مجلد التثبيت" @@ -3166,10 +3167,10 @@ msgstr "نسخة المكتبة الفارغة غير صالحة : %s" msgid "invalid empty option found" msgstr "تم ايجاد اعداد اعداد فارغ غير صالح" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "عنوان url لـ git غير صالح" @@ -3287,11 +3288,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "المكتبة %s مثبتة مسبقا" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "المكتبة غير صالحة" @@ -3305,8 +3306,8 @@ msgstr "جار تحميل %[1]s:%[2]s" msgid "loading boards: %s" msgstr "جار تحميل اللوحات : %s" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "جار تحميل ملف json index %[1]s : %[2]s" @@ -3335,7 +3336,7 @@ msgstr "جار تحميل المنصات المطلوبة %s" msgid "loading required tool %s" msgstr "جار تحميل الادوات المطلوبة %s" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "جار تحميل اصدار الاداة (tool release) في %s" @@ -3359,7 +3360,7 @@ msgstr "يوجد directive \"عبارة برمجية بداخل الكود ال msgid "missing checksum for: %s" msgstr "المجموع الاختباري (checksum) لـ %s مفقود" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "تعذر العثور على الحزمة %[1]s التي التي تشير اليها اللوحة %[2]s " @@ -3368,12 +3369,12 @@ msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "يوجد حزمة مفقودة من الفهرس %s , لا يمكن ضمان التحديثات المستقبلية بسبب ذلك" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة %[1]s : %[2]s التي التي تشير اليها اللوحة %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "تعذر العثور على المنصة اصدار (platform release) %[1]s : %[2]s التي التي تشير" @@ -3383,12 +3384,12 @@ msgstr "" msgid "missing signature" msgstr "هناك توقيع غير موجود" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "تعذر ايجاد اصدار المراقب : %s" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "جار نقل الارشيف الذي تم استخراجه الى مجلد الوجهة : %s" @@ -3468,12 +3469,12 @@ msgstr "جار فتح الملف الهدف : %s" msgid "package %s not found" msgstr "الحزمة %sغير موجودة " -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "الحزمة '%s' غير موجودة" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "جار تقطيع FQBN : %s" @@ -3489,7 +3490,7 @@ msgstr "المسار المحدد ليس مجلدا لمنصة : %s" msgid "platform %[1]s not found in package %[2]s" msgstr "تعذر ايجاد المنصة %[1]s في الحزمة %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "المنصة %s غير مثبتة" @@ -3500,7 +3501,7 @@ msgstr "المنصة غير متاحة لنظام التشغيل الخاص بك #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "المنصة غير مثبتة" @@ -3539,13 +3540,13 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "جار قراءة المجلد %s" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" -msgstr "" +msgstr "جار قراءة محتويات المجلد %s" #: internal/arduino/builder/sketch.go:83 msgid "reading file %[1]s: %[2]s" @@ -3583,7 +3584,7 @@ msgstr "جاري قرأت ملفات المذكرة" msgid "recipe not found '%s'" msgstr "تعذر ايجاد الوصفة '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "تعذر ايجاد الاصدار %[1]s للاداة %[2]s" @@ -3596,7 +3597,7 @@ msgstr "الاصدار لا يمكن ان يكون صفر \"nil\"" msgid "removing corrupted archive file: %s" msgstr "جار ازالة ملف الارشيف المتخرب %s" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "جار ازالة مجلد المكتبة %s" @@ -3692,7 +3693,7 @@ msgstr "الاداة %s لا تتم ادارتها من قبل مدير الحز msgid "tool %s not found" msgstr "الاداة %s غير موجودة" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" @@ -3700,8 +3701,8 @@ msgstr "الاداة '%[1]s' غير موجودة ضمن الحزمة '%[2]s'" msgid "tool not installed" msgstr "الاداة غير مثبتة" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "اصدار الاداة غير موجود : %s" @@ -3744,11 +3745,11 @@ msgstr "تعذر قراءة محتويات العنصر الاصل" msgid "unable to write to destination file" msgstr "تعذر الكتابة الى المجلد الوجهة" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "حزمة غير معروفة %s" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "منصة غير معروفة %s:%s" diff --git a/internal/locales/data/be.po b/internal/locales/data/be.po index c297aef07c2..6595aee80af 100644 --- a/internal/locales/data/be.po +++ b/internal/locales/data/be.po @@ -1,10 +1,10 @@ # # Translators: -# lidacity <dzmitry@lidacity.by>, 2024 +# lidacity <dzmitry@lidacity.by>, 2025 # msgid "" msgstr "" -"Last-Translator: lidacity <dzmitry@lidacity.by>, 2024\n" +"Last-Translator: lidacity <dzmitry@lidacity.by>, 2025\n" "Language-Team: Belarusian (https://app.transifex.com/arduino-1/teams/108174/be/)\n" "Language: be\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" @@ -23,7 +23,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s несапраўдны, перабудаваць усё" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "Патрабуецца %[1]s, але ў дадзены момант усталяваны %[2]s." @@ -43,12 +43,12 @@ msgstr "%s і %s не могуць ужывацца разам" msgid "%s installed" msgstr "%s усталяваны" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s ужо ўсталяваны." #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s не каталог" @@ -60,7 +60,7 @@ msgstr "%s не кіруецца кіраўніком пакетаў" msgid "%s must be >= 1024" msgstr "%s павинны быць >= 1024" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s павінен быць усталяваны." @@ -71,9 +71,9 @@ msgstr "Шаблон %s адсутнічае" #: commands/cmderrors/cmderrors.go:818 msgid "'%s' has an invalid signature" -msgstr "'%s' мае несапраўдны подпіс" +msgstr "'%s' мае несапраўдную сігнатуру" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -228,7 +228,7 @@ msgstr "Прымацаванне сцэнара да платы." msgid "Author: %s" msgstr "Аўтар: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -525,7 +525,7 @@ msgstr "" "Стварэнне ці абнаўленне файлу канфігурацыі ў каталогу дадзеных або " "карыстальніцкім каталогу з бягучымі наладамі канфігурацыі." -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -743,7 +743,7 @@ msgstr "Памылка пры вылічэнні адноснага шляху msgid "Error cleaning caches: %v" msgstr "Памылка пры ачысткі кэшу: %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "Памылка пры пераўтварэнні шляху ў абсалютны: %v" @@ -818,7 +818,7 @@ msgstr "Памылка пры кадаванні выходных дадзены #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Памылка падчас выгрузкі: %v" @@ -827,7 +827,7 @@ msgstr "Памылка падчас выгрузкі: %v" msgid "Error during board detection" msgstr "Памылка падчас выяўленні платы" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "Памылка падчас зборкі: %v" @@ -1477,7 +1477,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "Бібліятэка %[1]s была абвешчаная папярэдне скампіляванай:" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "Бібліятэка %[1]s ужо ўсталяваная, але з іншай версіяй: %[2]s" @@ -1859,7 +1859,7 @@ msgstr "Вэб-сайт пакету:" msgid "Paragraph: %s" msgstr "Абзац: %s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "Шлях" @@ -1904,7 +1904,7 @@ msgstr "Платформа %s ужо ўсталяваная" msgid "Platform %s installed" msgstr "Платформа %s усталяваная" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1928,7 +1928,7 @@ msgstr "Платформа '%s' не знойдзеная" msgid "Platform ID" msgstr "Ідэнтыфікатар платформы" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "Неправільны ідэнтыфікатар платформы" @@ -2575,7 +2575,7 @@ msgstr "Прыстаўка ланцужка інструментаў" msgid "Toolchain type" msgstr "Тып ланцужка інструментаў" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Спроба выканання %s" @@ -2732,7 +2732,7 @@ msgstr "Выгрузіць загрузнік на плату з дапамог msgid "Upload the bootloader." msgstr "Выгрузіць загрузнік." -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2756,11 +2756,11 @@ msgstr "Ужыта:" msgid "Use %s for more information about a command." msgstr "Ужыць %s для атрымання дадатковай інфармацыі пра каманду." -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "Ужытая бібліятэка" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "Ужытая платформа" @@ -2831,7 +2831,7 @@ msgstr "Значэнні" msgid "Verify uploaded binary after the upload." msgstr "Праверыць загружаны двайковы файл пасля выгрузкі." -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Версія" @@ -2853,7 +2853,7 @@ msgstr "Увага: не атрымалася канфігураваць інс msgid "WARNING cannot run pre_uninstall script: %s" msgstr "Увага: не атрымалася запусціць сцэнар pre_uninstall: %s" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "Увага: сцэнар скампіляваны з ужываннем адной ці некалькіх карыстальніцкіх " @@ -2901,12 +2901,12 @@ msgstr "Вы не можаце ўжываць аргумент %s пры кам msgid "archive hash differs from hash in index" msgstr "архіўны хэш адрозніваецца ад хэша па індэксе" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "архіў несапраўдны: у верхнім узроўні файла zip знойдзена некалькі файлаў" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "архіў несапраўдны: файлы верхняга ўзроўню файла zip не знойдзеныя" @@ -2934,7 +2934,7 @@ msgstr "асноўны пошук па \"esp32\" і \"display\" абмежава msgid "binary file not found in %s" msgstr "двайковы файл не знойдзены ў %s" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "плата %s не знойдзеная " @@ -2954,7 +2954,7 @@ msgstr "не атрымалася знайсці апошнюю версію %s" msgid "can't find latest release of tool %s" msgstr "не атрымлася знайсці апошнюю версію інструмента %s" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "не атрымалася знайсці шаблон для выяўлення з ідэнтыфікатарам %s" @@ -3000,7 +3000,7 @@ msgstr "ключ канфігурацыі %s змяшчае недапушчал msgid "config value %s contains an invalid character" msgstr "значэнне канфігурацыі %s змяшчае недапушчальны знак" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "капіраванне бібліятэкі ў каталог прызначэння:" @@ -3042,15 +3042,15 @@ msgstr "аб'ём секцыі дадзеных перавышае даступ msgid "dependency '%s' is not available" msgstr "залежнасць '%s' недаступная" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "каталог прызначэння %s ужо існуе, усталяваць не атрымалася" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "каталог прызначэння ўжо існуе" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "каталог не існуе: %s" @@ -3058,15 +3058,15 @@ msgstr "каталог не існуе: %s" msgid "discovery %[1]s process not started" msgstr "працэс выяўлення %[1]s не запушчаны" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "выяўленне %s не знойдзенае" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "выяўленне %s не ўсталяванае" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "выпуск выяўлення не знойдзены: %s" @@ -3094,7 +3094,7 @@ msgstr "пусты ідэнтыфікатар платы" msgid "error loading sketch project file:" msgstr "памылка пры загрузцы сцэнара праекту:" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "памылка пры адкрыцці %s" @@ -3110,7 +3110,7 @@ msgstr "памылка пры апрацоўцы адказу ад сервер msgid "error querying Arduino Cloud Api" msgstr "памылка пры запыце Arduino Cloud Api" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "выманне архіва" @@ -3189,7 +3189,7 @@ msgstr "атрыманне інфармацыі пра архіў: %s" msgid "getting archive path: %s" msgstr "атрыманне шляху да архіва: %" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "атрыманне ўласцівасцяў зборкі для платы %[1]s: %[2]s" @@ -3205,7 +3205,7 @@ msgstr "атрыманне залежнасцяў манітора для пла msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "атрыманне залежнасцяў інструментаў для платформы %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "каталог для ўсталявання не зададзены" @@ -3265,10 +3265,10 @@ msgstr "хібная пустая версія адра: %s" msgid "invalid empty option found" msgstr "знойдзена хібная пустая налада" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "хібны адрас URL git" @@ -3387,11 +3387,11 @@ msgstr "бібліятэкі з \"buzzer\" у полі назвы" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "бібліятэкі з назвай, якая дакладна супадае з \"pcf8523\"" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "бібліятэка %s ужо ўсталяваная" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "бібліятэка несапраўдная" @@ -3405,8 +3405,8 @@ msgstr "загрузка %[1]s: %[2]s" msgid "loading boards: %s" msgstr "загрузка платы: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "загрузка індэкснага файла json %[1]s: %[2]s" @@ -3435,7 +3435,7 @@ msgstr "загрузка неабходнай платформы %s" msgid "loading required tool %s" msgstr "загрузка неабходнага інструмента %s" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "загрузка выпуску інструмента ў %s" @@ -3459,7 +3459,7 @@ msgstr "адсутнічае дырэктыва '%s'" msgid "missing checksum for: %s" msgstr "адсутнічае кантрольная сума для: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "адсутнічае пакет %[1]s, на які спасылаецца плата%[2]s" @@ -3468,25 +3468,25 @@ msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" "адсутнічае індэкс пакета %s, будучыя абнаўленні не могуць быць гарантаваныя" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "адсутнічае платформа %[1]s: %[2]s на якую спасылаецца плата %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "адсутнічае выпуск платформы %[1]s: %[2]s на які спасылаецца плата %[3]s" #: internal/arduino/resources/index.go:153 msgid "missing signature" -msgstr "адсутнчіае сігнатура" +msgstr "адсутнічае сігнатура" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "выпуск маніторынгу не знойдзена: %s" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "перамяшчэнне вынятага архіва ў каталог прызначэння: %s" @@ -3569,12 +3569,12 @@ msgstr "адкрыццё мэтавага файлау: %s" msgid "package %s not found" msgstr "пакет %s не знойдзены" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "пакет '%s' не знойдзены" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "разбор fqbn: %s" @@ -3590,7 +3590,7 @@ msgstr "шлях не з'яўляецца каталогам платформы: msgid "platform %[1]s not found in package %[2]s" msgstr "платформа %[1]s не знойдзена ў пакеце %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "платформа %s не ўсталяваная" @@ -3601,7 +3601,7 @@ msgstr "платформа недаступная для вашай аперац #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "платформа не ўсталяваная" @@ -3640,11 +3640,11 @@ msgstr "чытанне зместу каталога %[1]s" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "чытанне каталогу %s" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "чытанне зместу каталога %s" @@ -3684,7 +3684,7 @@ msgstr "чытанне файлаў сцэнару" msgid "recipe not found '%s'" msgstr "пакет '%s' не знойдзены" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "не знойдзены выпуск %[1]s для інструмента %[2]s" @@ -3697,7 +3697,7 @@ msgstr "выпуск не можа быць нулявым" msgid "removing corrupted archive file: %s" msgstr "выдаленне пашкоджанага архіўнага файла: %s" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "выдаленне каталогу бібліятэкі: %s" @@ -3725,6 +3725,8 @@ msgstr "пошук у каранёвым каталогу пакета: %s" #: internal/arduino/security/signatures.go:87 msgid "signature expired: is your system clock set correctly?" msgstr "" +"скончыўся тэрмін дзеяння сігнатуры: ці правільна зададзены ваш сістэмны " +"гадзіннік?" #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" @@ -3795,7 +3797,7 @@ msgstr "інструмент %s не кіруецца кіраўніком па msgid "tool %s not found" msgstr "інструмент %s не знойдзены" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "інструмент '%[1]s не знойдзены ў пакеты '%[2]s'" @@ -3803,8 +3805,8 @@ msgstr "інструмент '%[1]s не знойдзены ў пакеты '%[2 msgid "tool not installed" msgstr "інструмент не ўсталяваны" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "выпуск інструмента не знойдзены: %s" @@ -3846,11 +3848,11 @@ msgstr "не атрымалася прачытаць змест зыходнаг msgid "unable to write to destination file" msgstr "не атрымалася запісаць у файл прызначэння" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "невядомы пакет %s" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "невядомая платформа %s: %s" diff --git a/internal/locales/data/de.po b/internal/locales/data/de.po index ca58e692eb5..93e5c80da8a 100644 --- a/internal/locales/data/de.po +++ b/internal/locales/data/de.po @@ -4,16 +4,17 @@ # Dan H, 2021 # CLI team <prj_cli_team@arduino.cc>, 2022 # Dee Gee, 2022 -# Ettore Atalan <atalanttore@googlemail.com>, 2022 # C A, 2022 # Luc Ohles, 2023 # Jannis Lämmle, 2023 # Jens Wulf, 2023 # Ralf Krause, 2024 +# Ettore Atalan <atalanttore@googlemail.com>, 2025 +# Per Tillisch <p.tillisch@arduino.cc>, 2025 # msgid "" msgstr "" -"Last-Translator: Ralf Krause, 2024\n" +"Last-Translator: Per Tillisch <p.tillisch@arduino.cc>, 2025\n" "Language-Team: German (https://app.transifex.com/arduino-1/teams/108174/de/)\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -32,7 +33,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s ungültig, alles wird neu gebaut" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s wird benötigt, aber %[2]s ist aktuell installiert." @@ -52,12 +53,12 @@ msgstr "%s und %s können nicht gemeinsam verwendet werden" msgid "%s installed" msgstr "%s installiert" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s ist bereits installiert." #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s ist kein Verzeichnis" @@ -67,9 +68,9 @@ msgstr "%s wird nicht vom Paketmanager verwaltet" #: internal/cli/daemon/daemon.go:67 msgid "%s must be >= 1024" -msgstr "" +msgstr "%s muss >= 1024 sein" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s muss installiert sein." @@ -82,7 +83,7 @@ msgstr "Muster %s fehlt" msgid "'%s' has an invalid signature" msgstr "'%s' hat eine ungültige Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -237,7 +238,7 @@ msgstr "Ordnet einen Sketch einem Board zu." msgid "Author: %s" msgstr "Autor: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -287,6 +288,8 @@ msgid "" "Builds of cores and sketches are saved into this path to be cached and " "reused." msgstr "" +"Builds von Kernen und Sketches werden in diesem Pfad gespeichert, damit sie " +"zwischengespeichert und wiederverwendet werden können." #: internal/arduino/resources/index.go:65 msgid "Can't create data directory %s" @@ -531,7 +534,7 @@ msgstr "" "einem benutzerdefinierten Verzeichnis mit den aktuellen " "Konfigurationseinstellungen." -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -758,7 +761,7 @@ msgstr "Fehler beim Berechnen des relativen Dateipfads" msgid "Error cleaning caches: %v" msgstr "Fehler beim bereinigen des Caches: %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "Fehler beim konvertieren des Pfads zum Absolutpfad: %v" @@ -833,7 +836,7 @@ msgstr "Fehler beim Generieren der JSON-Ausgabe: %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Fehler während dem Hochladen: %v" @@ -842,7 +845,7 @@ msgstr "Fehler während dem Hochladen: %v" msgid "Error during board detection" msgstr "Fehler bei der Board-Erkennung" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "Fehler beim Build: %v" @@ -1488,7 +1491,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "Bibliothek %[1]s wurde als vorkompiliert angegeben:" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1820,6 +1823,8 @@ msgid "" "Override an debug property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +"Eine Debug-Eigenschaft mit einem eigenen Wert außer Kraft setzen. Kann " +"mehrfach für mehrere Eigenschaften verwendet werden." #: internal/cli/burnbootloader/burnbootloader.go:61 #: internal/cli/upload/upload.go:77 @@ -1827,6 +1832,8 @@ msgid "" "Override an upload property with a custom value. Can be used multiple times " "for multiple properties." msgstr "" +"Eine Hochladeeigenschaft mit einem eigenen Wert außer Kraft setzen. Kann " +"mehrfach für mehrere Eigenschaften verwendet werden." #: internal/cli/config/init.go:62 msgid "Overwrite existing config file." @@ -1869,7 +1876,7 @@ msgstr "Webseite für das Paket:" msgid "Paragraph: %s" msgstr "Absatz: %s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "Pfad" @@ -1914,7 +1921,7 @@ msgstr "Plattform %s bereits installiert" msgid "Platform %s installed" msgstr "Plattform %s installiert" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1938,7 +1945,7 @@ msgstr "Plattform '%s' nicht gefunden" msgid "Platform ID" msgstr "Plattform ID" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "Plattform ID ist nicht korrekt" @@ -2237,6 +2244,8 @@ msgid "" "Sets the default data directory (Arduino CLI will look for configuration " "file in this directory)." msgstr "" +"Legt das Standard-Datenverzeichnis fest (Arduino CLI sucht die " +"Konfigurationsdatei in diesem Verzeichnis)." #: internal/cli/board/attach.go:37 msgid "" @@ -2250,6 +2259,8 @@ msgstr "" #: internal/cli/daemon/daemon.go:93 msgid "Sets the maximum message size in bytes the daemon can receive" msgstr "" +"Legt die maximale Nachrichtengröße in Bytes fest, die der Daemon empfangen " +"kann" #: internal/cli/config/init.go:60 internal/cli/config/init.go:61 msgid "Sets where to save the configuration file." @@ -2473,6 +2484,9 @@ msgid "" "The flag --build-cache-path has been deprecated. Please use just --build-" "path alone or configure the build cache path in the Arduino CLI settings." msgstr "" +"Das Flag --build-cache-path ist veraltet. Bitte nur --build-path allein " +"verwenden oder den Build-Cache-Pfad in den Arduino CLI-Einstellungen " +"konfigurieren." #: internal/cli/daemon/daemon.go:103 msgid "The flag --debug-file must be used with --debug." @@ -2598,7 +2612,7 @@ msgstr "Toolchain-Prefix" msgid "Toolchain type" msgstr "Toolchain-Typ" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Versuche %s zu starten" @@ -2654,7 +2668,7 @@ msgstr "%s wird deinstalliert" #: commands/service_platform_uninstall.go:99 #: internal/arduino/cores/packagemanager/install_uninstall.go:168 msgid "Uninstalling %s, tool is no more required" -msgstr "%swird deinstalliert, das Werkzeug wird nicht mehr gebraucht" +msgstr "%s wird deinstalliert, das Werkzeug wird nicht mehr gebraucht" #: internal/cli/core/uninstall.go:37 internal/cli/core/uninstall.go:38 msgid "" @@ -2762,7 +2776,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "Lade den Bootloader hoch." -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2785,11 +2799,11 @@ msgstr "Verwendung:" msgid "Use %s for more information about a command." msgstr "Benutze %s für mehr Informationen über einen Befehl." -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "Benutzte Bibliothek" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "Verwendete Plattform" @@ -2865,7 +2879,7 @@ msgstr "Werte" msgid "Verify uploaded binary after the upload." msgstr "Überprüfe die hochgeladene Binärdatei nach dem Upload." -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Version" @@ -2887,7 +2901,7 @@ msgstr "WARNUNG, das Tool %s kann nicht konfiguriert werden " msgid "WARNING cannot run pre_uninstall script: %s" msgstr "WARNUNG, kann das pre_uninstall Skript %s nicht ausführen: " -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "WARNUNG: Der Sketch wurde mit einer oder mehreren benutzerdefinierten " @@ -2938,13 +2952,13 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "Archiv-Hash unterscheidet sich von Hash im Index" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "Archiv ist nicht gültig: mehrere Dateien in der obersten Ebene der Zip-Datei" " gefunden" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" "Archiv ist nicht gültig: keine Dateien in der obersten Ebene der Zip-Datei " @@ -2976,7 +2990,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "Binärdatei wurde nicht in %s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "Platine %s nicht gefunden" @@ -2996,7 +3010,7 @@ msgstr "Die neueste Version von %s wurde nicht gefunden" msgid "can't find latest release of tool %s" msgstr "Die neueste Version des Tools %s wurde nicht gefunden" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "Kann kein Muster für die Suche mit id %s finden " @@ -3042,7 +3056,7 @@ msgstr "Konfigurationsschlüssel %s enthält ein ungültiges Zeichen" msgid "config value %s contains an invalid character" msgstr "Konfigurationswert %s enthält ein ungültiges Zeichen" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "kopiere Bibliothek in Zielordner:" @@ -3084,15 +3098,15 @@ msgstr "Datenbereich überschreitet den verfügbaren Platz auf der Platine" msgid "dependency '%s' is not available" msgstr "Abhängigkeit '%s' ist nicht verfügbar" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "Zielverzeichnis %s existiert bereits, kann nicht installiert werden" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "Zielordner existiert bereits" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "Verzeichnis existiert nicht: %s" @@ -3100,15 +3114,15 @@ msgstr "Verzeichnis existiert nicht: %s" msgid "discovery %[1]s process not started" msgstr "Erkennungsprozess %[1]s nicht gestartet" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" -msgstr "Discovery %swurde nicht gefunden" +msgstr "Discovery %s wurde nicht gefunden" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "Discovery %s wurde nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "Discovery-Release %s wurde nicht gefunden" @@ -3136,7 +3150,7 @@ msgstr "leerer Platinenidentifikator" msgid "error loading sketch project file:" msgstr "Fehler beim Laden der Sketch-Projektdatei:" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "Fehler beim Öffnen von %s" @@ -3152,7 +3166,7 @@ msgstr "Fehler bei der Verarbeitung der Serverantwort" msgid "error querying Arduino Cloud Api" msgstr "Fehler bei der Abfrage der Arduino Cloud Api" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "Archiv entpacken" @@ -3232,7 +3246,7 @@ msgstr "Hole Archiv-Info: %s" msgid "getting archive path: %s" msgstr "Hole Archiv-Pfad: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "Build-Eigenschaften für das Board %[1]s : %[2]s abrufen" @@ -3248,7 +3262,7 @@ msgstr "Monitor-Abhängigkeiten für die Plattform %[1]s : %[2]s abrufen" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "Abrufen von Tool-Abhängigkeiten für die Plattform %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "Installationsverzeichnis nicht festgelegt" @@ -3309,10 +3323,10 @@ msgstr "ungültige, leere Bibliotheksversion: %s" msgid "invalid empty option found" msgstr "Ungültige leere Option gefunden" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "Ungültige Git-URL" @@ -3376,7 +3390,7 @@ msgstr "Ungültiger Port-Konfigurationswert für %s: %s" #: internal/cli/monitor/monitor.go:182 msgid "invalid port configuration: %s=%s" -msgstr "" +msgstr "ungültige Port-Konfiguration: %s=%s" #: commands/service_upload.go:725 msgid "invalid recipe '%[1]s': %[2]s" @@ -3432,11 +3446,11 @@ msgstr "Bibliotheken mit \"buzzer\" im Feld Name" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "Bibliotheken mit einem Namen, der genau mit \"pcf8523\" übereinstimmt" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "Bibliothek %s bereits installiert" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "Bibliothek nicht gültig" @@ -3450,8 +3464,8 @@ msgstr "lade %[1]s: %[2]s" msgid "loading boards: %s" msgstr "Platinen werden geladen: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "json-Indexdatei laden %[1]s: %[2]s" @@ -3480,7 +3494,7 @@ msgstr "Lade erforderliche Plattform %s" msgid "loading required tool %s" msgstr "Lade erforderliches Tool %s" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "Lade Tool-Release in %s" @@ -3504,7 +3518,7 @@ msgstr "Fehlende '%s' Richtlinie" msgid "missing checksum for: %s" msgstr "Fehlende Prüfsumme für: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "Fehlendes Paket %[1]s referenziert von Board %[2]s" @@ -3514,11 +3528,11 @@ msgstr "" "Fehlender Paketindex für %s, zukünftige Updates können nicht garantiert " "werden" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattform %[1]s:%[2]s referenziert von Board %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" @@ -3526,12 +3540,12 @@ msgstr "Fehlende Plattformfreigabe %[1]s:%[2]s referenziert von Board %[3]s" msgid "missing signature" msgstr "Fehlende Signatur" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "Monitor-Freigabe nicht gefunden: %s" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "Verschieben des extrahierten Archivs in das Zielverzeichnis: %s" @@ -3615,12 +3629,12 @@ msgstr "Öffne Zieldatei: %s" msgid "package %s not found" msgstr "Paket %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "Paket '%s' nicht gefunden" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "parse FQBN: %s" @@ -3636,7 +3650,7 @@ msgstr "Pfad ist kein Plattformverzeichnis: %s" msgid "platform %[1]s not found in package %[2]s" msgstr "Plattform %[1]s nicht im Paket %[2]s gefunden " -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "Plattform %s ist nicht installiert" @@ -3647,7 +3661,7 @@ msgstr "Plattform ist für dieses Betriebssystem nicht verfügbar" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "Plattform nicht installiert" @@ -3686,11 +3700,11 @@ msgstr "Verzeichnisinhalt lesen %[1]s" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "Verzeichnis %s wird gelesen" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "Verzeichnisinhalt lesen %s" @@ -3730,7 +3744,7 @@ msgstr "Sketch-Dateien lesen" msgid "recipe not found '%s'" msgstr "Rezept nicht gefunden '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "Freigabe %[1]s für Werkzeug %[2]s nicht gefunden " @@ -3743,7 +3757,7 @@ msgstr "Freigabe kann nicht null sein" msgid "removing corrupted archive file: %s" msgstr "Entfernen der beschädigten Archivdatei: %s" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "Entferne das Bibliotheksverzeichnis: %s" @@ -3770,7 +3784,7 @@ msgstr "Suche im Stammverzeichnis des Pakets: %s" #: internal/arduino/security/signatures.go:87 msgid "signature expired: is your system clock set correctly?" -msgstr "" +msgstr "Signatur abgelaufen: Ist deine Systemuhr richtig eingestellt?" #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" @@ -3840,7 +3854,7 @@ msgstr "Das Tool %s wird nicht vom Paketmanager verwaltet." msgid "tool %s not found" msgstr "Tool %s nicht gefunden" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" @@ -3848,8 +3862,8 @@ msgstr "Tool '%[1]s' nicht in Paket '%[2]s' gefunden" msgid "tool not installed" msgstr "Werkzeug nicht installiert" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "Werkzeugfreigabe nicht gefunden: %s" @@ -3894,11 +3908,11 @@ msgstr "Inhalt der Quelle konnte nicht gelesen werden" msgid "unable to write to destination file" msgstr "Schreiben in Zieldatei unmöglich" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "unbekanntes Paket %s" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "unbekannte Plattform %s:%s" diff --git a/internal/locales/data/es.po b/internal/locales/data/es.po index 691a40701d3..856ec306596 100644 --- a/internal/locales/data/es.po +++ b/internal/locales/data/es.po @@ -29,7 +29,7 @@ msgstr "¡%[1]s ya no es compatible con la carpeta! %[2]s Para más información msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s inválido, reconstruyendo todo" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s es requerido pero %[2]s está actualmente instalado." @@ -49,12 +49,12 @@ msgstr "%s y %s no se pueden usar juntos" msgid "%s installed" msgstr "%s instalado" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s ya está instalado." #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s no es un directorio" @@ -66,7 +66,7 @@ msgstr "%s no es manejado por el administrador de paquetes" msgid "%s must be >= 1024" msgstr "%s debe ser >= 1024" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s debe ser instalado." @@ -79,7 +79,7 @@ msgstr "Falta el patrón %s " msgid "'%s' has an invalid signature" msgstr "'%s' tiene una firma inválida" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -230,7 +230,7 @@ msgstr "Conecta una tabla al sketch." msgid "Author: %s" msgstr "Autor: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -516,7 +516,7 @@ msgstr "" "Crea o actualiza el archivo de configuración en el directorio de datos o " "directorio personalizado con los ajustes actuales." -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -729,7 +729,7 @@ msgstr "Error calculando la ruta de archivo relativa" msgid "Error cleaning caches: %v" msgstr "Error limpiando caches: %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -804,7 +804,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Error durante la carga: %v" @@ -813,7 +813,7 @@ msgstr "Error durante la carga: %v" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1430,7 +1430,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1787,7 +1787,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1826,7 +1826,7 @@ msgstr "La plataforma %s ya está instalada" msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1848,7 +1848,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2420,7 +2420,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2573,7 +2573,7 @@ msgstr "Cargar el bootloader en la placa usando un programador externo." msgid "Upload the bootloader." msgstr "Cargar el bootloader." -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2592,11 +2592,11 @@ msgstr "Uso:" msgid "Use %s for more information about a command." msgstr "Use %spara más información acerca de un comando." -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2665,7 +2665,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2687,7 +2687,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2731,11 +2731,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2763,7 +2763,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2783,7 +2783,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2829,7 +2829,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2871,15 +2871,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2887,15 +2887,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2923,7 +2923,7 @@ msgstr "identificador de placa vacío" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2939,7 +2939,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -3017,7 +3017,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3033,7 +3033,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3093,10 +3093,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3211,11 +3211,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3229,8 +3229,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3259,7 +3259,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3283,7 +3283,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3291,11 +3291,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3303,12 +3303,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3386,12 +3386,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3407,7 +3407,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3418,7 +3418,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3457,11 +3457,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3501,7 +3501,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3514,7 +3514,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3610,7 +3610,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3618,8 +3618,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3661,11 +3661,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "" diff --git a/internal/locales/data/fr.po b/internal/locales/data/fr.po index 7f01837b93f..38095b20456 100644 --- a/internal/locales/data/fr.po +++ b/internal/locales/data/fr.po @@ -25,7 +25,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" @@ -45,12 +45,12 @@ msgstr "%set%sne peuvent pas être téléchargé." msgid "%s installed" msgstr "" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "" @@ -62,7 +62,7 @@ msgstr "" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "" @@ -75,7 +75,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -222,7 +222,7 @@ msgstr "" msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -501,7 +501,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -709,7 +709,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -784,7 +784,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -793,7 +793,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1410,7 +1410,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1765,7 +1765,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1804,7 +1804,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1826,7 +1826,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2392,7 +2392,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2543,7 +2543,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2562,11 +2562,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2638,7 +2638,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2660,7 +2660,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2704,11 +2704,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2736,7 +2736,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2756,7 +2756,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2802,7 +2802,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2844,15 +2844,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2860,15 +2860,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2896,7 +2896,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2912,7 +2912,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -2990,7 +2990,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3006,7 +3006,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3066,10 +3066,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3184,11 +3184,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3202,8 +3202,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3232,7 +3232,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3256,7 +3256,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3264,11 +3264,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3276,12 +3276,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3359,12 +3359,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3380,7 +3380,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3391,7 +3391,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3430,11 +3430,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3474,7 +3474,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3487,7 +3487,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3583,7 +3583,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3591,8 +3591,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3634,11 +3634,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "impossible d’écrire dans le fichier de destination." -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "paquet inconnu %s" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "plateforme inconnue %s:%s" diff --git a/internal/locales/data/he.po b/internal/locales/data/he.po index 8b0a5884ee8..fc280357c5c 100644 --- a/internal/locales/data/he.po +++ b/internal/locales/data/he.po @@ -21,7 +21,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" @@ -41,12 +41,12 @@ msgstr "" msgid "%s installed" msgstr "%s מותקן" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s אינו תיקייה" @@ -58,7 +58,7 @@ msgstr "%s אינו מנוהל על ידי מנהל ההתקנות" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -218,7 +218,7 @@ msgstr "" msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -705,7 +705,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -780,7 +780,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1403,7 +1403,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1754,7 +1754,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1793,7 +1793,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1815,7 +1815,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2379,7 +2379,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2530,7 +2530,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2549,11 +2549,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2622,7 +2622,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2644,7 +2644,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2685,11 +2685,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2717,7 +2717,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2737,7 +2737,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2783,7 +2783,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2825,15 +2825,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2841,15 +2841,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2877,7 +2877,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2893,7 +2893,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -2971,7 +2971,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2987,7 +2987,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3047,10 +3047,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3165,11 +3165,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3183,8 +3183,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3213,7 +3213,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3237,7 +3237,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3245,11 +3245,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3257,12 +3257,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3340,12 +3340,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3361,7 +3361,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3372,7 +3372,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3411,11 +3411,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3455,7 +3455,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3468,7 +3468,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3564,7 +3564,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3572,8 +3572,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3615,11 +3615,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "" diff --git a/internal/locales/data/it_IT.po b/internal/locales/data/it_IT.po index 1201ca94ae8..dac2f53d1db 100644 --- a/internal/locales/data/it_IT.po +++ b/internal/locales/data/it_IT.po @@ -30,7 +30,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s non è valido, ricompilo tutto" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s è richiesto ma %[2]s risulta attualmente installato." @@ -50,12 +50,12 @@ msgstr "%s e %s non possono essere usati insieme" msgid "%s installed" msgstr "%s installato" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s è già installato." #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s non è una directory" @@ -67,7 +67,7 @@ msgstr "%s non è gestito dal gestore pacchetti" msgid "%s must be >= 1024" msgstr "%s deve essere >= 1024" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s deve essere installato." @@ -80,7 +80,7 @@ msgstr "Manca il pattern %s" msgid "'%s' has an invalid signature" msgstr "'%s' ha una firma invalida" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -234,7 +234,7 @@ msgstr "Collega uno sketch ad una scheda." msgid "Author: %s" msgstr "Autore: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -531,7 +531,7 @@ msgstr "" "Crea o aggiorna il file di configurazione nella directory dei dati o nella " "directory personalizzata con le impostazioni di configurazione correnti." -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -758,7 +758,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "Si è verificato un errore durante la pulizia della cache: %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" "Si è verificato un errore durante la conversione del percorso in assoluto:: " @@ -840,7 +840,7 @@ msgstr "Si è verificato un errore durante la codifica JSON dell'output: %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Errore durante il caricamento di: %v" @@ -849,7 +849,7 @@ msgstr "Errore durante il caricamento di: %v" msgid "Error during board detection" msgstr "Si è verificato un errore durante il rilevamento della scheda" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "Si è verificato un errore durante la compilazione: %v" @@ -1534,7 +1534,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "La libreria %[1]s è stata dichiarata precompilata:" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1921,7 +1921,7 @@ msgstr "Website pacchetto:" msgid "Paragraph: %s" msgstr "Paragrafo: %s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "Percorso" @@ -1966,7 +1966,7 @@ msgstr "La piattaforma %s è già installata" msgid "Platform %s installed" msgstr "La piattaforma %s è installata" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1990,7 +1990,7 @@ msgstr "Impossibile trovare la piattaforma '%s'" msgid "Platform ID" msgstr "ID piattaforma" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "L' ID della piattaforma non è esatto" @@ -2655,7 +2655,7 @@ msgstr "Il prefisso della toolchain" msgid "Toolchain type" msgstr "Il tipo della toolchain" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Prova ad eseguire %s" @@ -2814,7 +2814,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "Carica il bootloader." -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2837,11 +2837,11 @@ msgstr "Uso: " msgid "Use %s for more information about a command." msgstr "Usa %s per ulteriori informazioni su un comando." -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "Libreria utilizzata" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "Piattaforma utilizzata" @@ -2914,7 +2914,7 @@ msgstr "Valori" msgid "Verify uploaded binary after the upload." msgstr "Verifica dei binari dopo il caricamento." -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Versione" @@ -2936,7 +2936,7 @@ msgstr "ATTENZIONE non è possibile configurare lo strumento: %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "AVVISO non è possibile eseguire lo script pre_uninstall: %s" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ATTENZIONE: lo sketch è compilato utilizzando una o più librerie " @@ -2987,13 +2987,13 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "L'hash dell'archivio è diverso dall'hash dell'indice" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "l'archivio non è valido: sono stati trovati più file nel livello superiore " "del file zip" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" "l'archivio non è valido: nessun file trovato nella cartella principale del " @@ -3023,7 +3023,7 @@ msgstr "ricerca di base per \"esp32\" e \"display\" limitata al manutentore uffi msgid "binary file not found in %s" msgstr "file binario non trovato in %s" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "la scheda %s non è stata trovata" @@ -3043,7 +3043,7 @@ msgstr "Impossibile trovare l'ultima versione di %s" msgid "can't find latest release of tool %s" msgstr "Impossibile trovare l'ultima versione del tool %s" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "Non riesco a trovare un pattern per il rilevamento con id %s" @@ -3089,7 +3089,7 @@ msgstr "La chiave della configurazione %s contiene un carattere non valido" msgid "config value %s contains an invalid character" msgstr "Il valore della configurazione %s contiene un carattere non valido" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "copia della libreria nella directory di destinazione:" @@ -3131,16 +3131,16 @@ msgstr "la sezione dati supera lo spazio disponibile nella scheda" msgid "dependency '%s' is not available" msgstr "la dipendenza '%s' non è disponibile" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" "La directory di destinazione %s esiste già, non è possibile installare" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "il percorse della directory è già esistente" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "la directory non esiste: %s" @@ -3148,15 +3148,15 @@ msgstr "la directory non esiste: %s" msgid "discovery %[1]s process not started" msgstr "sono stati trovati %[1]s processi non avviati" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "rilevamento %s non è stato trovato" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "il rilevamento %s non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "il rilascio del rilevamento non è stato trovato: %s" @@ -3186,7 +3186,7 @@ msgstr "" "si è verificato un errore durante il caricamento del file di progetto dello " "sketch:" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "si è verificato un errore durante l'apertura di %s" @@ -3204,7 +3204,7 @@ msgid "error querying Arduino Cloud Api" msgstr "" "si è verificato un errore durante l'interrogazione di Arduino Cloud Api" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "estrazione in corso dell'archivio" @@ -3284,7 +3284,7 @@ msgstr "sto recuperando le informazioni sull'archivio: %s" msgid "getting archive path: %s" msgstr "sto recuperando il percorso dell'archivio: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "sto recuperando le proprietà di costruzione della scheda %[1]s: %[2]s" @@ -3304,7 +3304,7 @@ msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" "sto recuperando le dipendenze dei tool per la piattaforma %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "La directory di installazione non è stata impostata" @@ -3365,10 +3365,10 @@ msgstr "la versione della libreria vuota non è valida: %s" msgid "invalid empty option found" msgstr "è stata trovata un'opzione vuota non valida" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "url git non è valido" @@ -3488,11 +3488,11 @@ msgstr "librerie con \"buzzer\" nel campo nome" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "librerie con un nome che corrisponde esattamente a \"pcf8523\"" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "la libreria %s è già installata" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "la libreria non è valida" @@ -3506,8 +3506,8 @@ msgstr "caricamento di %[1]s: %[2]s" msgid "loading boards: %s" msgstr "caricamento delle schede: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "caricamento del file indice json %[1]s: %[2]s" @@ -3536,7 +3536,7 @@ msgstr "caricamento della piattaforma richiesta %s" msgid "loading required tool %s" msgstr "caricamento del tool richiesto %s" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "rilascio del tool di caricamento in %s" @@ -3560,7 +3560,7 @@ msgstr "Manca la direttiva '%s'" msgid "missing checksum for: %s" msgstr "manca il checksum di: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "manca il pacchetto %[1]s a cui fa riferimento la scheda %[2]s" @@ -3570,11 +3570,11 @@ msgstr "" "Manca l'indice del pacchetto %s, non possono essere garantiti aggiornamenti " "futuri" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "manca la piattaforma %[1]s:%[2]s referenziata dalla scheda %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" "manca la release della piattaforma %[1]s:%[2]s a cui fa riferimento la " @@ -3584,12 +3584,12 @@ msgstr "" msgid "missing signature" msgstr "Firma mancante" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "release del monitor non è stata trovata: %s" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "sto spostando l'archivio estratto nella directory di destinazione: %s" @@ -3673,12 +3673,12 @@ msgstr "apertura del file di destinazione: %s" msgid "package %s not found" msgstr "il pacchetto %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "Il pacchetto '%s' non è stato trovato" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "sto facendo il parsing di fqbn: %s" @@ -3694,7 +3694,7 @@ msgstr "il percorso non è una directory della piattaforma: %s" msgid "platform %[1]s not found in package %[2]s" msgstr "la piattaforma %[1]s non è stata trovata nel pacchetto %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "la piattaforma %s non è installata" @@ -3705,7 +3705,7 @@ msgstr "la piattaforma non è disponibile per il sistema operativo in uso" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "piattaforma non installata" @@ -3745,11 +3745,11 @@ msgstr "lettura in corso del contenuto della directory %[1]s" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "lettura cartella %s" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "lettura in corso del contenuto della directory %s" @@ -3789,7 +3789,7 @@ msgstr "lettura degli sketch in corso" msgid "recipe not found '%s'" msgstr "scrittura non trovata '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "il rilascio %[1]s non è stato trovato per il tool %[2]s" @@ -3802,7 +3802,7 @@ msgstr "il rilascio non può essere nullo" msgid "removing corrupted archive file: %s" msgstr "sto rimuovendo il file di archivio danneggiato: %s" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "rimozione directory della libreria: %s" @@ -3902,7 +3902,7 @@ msgstr "il tool %s non è gestito dal gestore dei pacchetti" msgid "tool %s not found" msgstr "Il tool %s non è stato trovato" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" @@ -3910,8 +3910,8 @@ msgstr "il tool '%[1]s' non è stato trovato nel pacchetto '%[2]s'" msgid "tool not installed" msgstr "Il tool non è installato" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "il rilascio del tool non è stato trovato: %s" @@ -3956,11 +3956,11 @@ msgstr "non è stato possibile leggere i contenuti della risorsa" msgid "unable to write to destination file" msgstr "non è possibile scrivere sul file di destinazione" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "pacchetto sconosciuto %s" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "piattaforma sconosciuta %s:%s" diff --git a/internal/locales/data/ja.po b/internal/locales/data/ja.po index dd7acf8da63..ddc9d5796ce 100644 --- a/internal/locales/data/ja.po +++ b/internal/locales/data/ja.po @@ -23,7 +23,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" @@ -43,12 +43,12 @@ msgstr "%sと%sは同時に利用できません" msgid "%s installed" msgstr "%sをインストールしました" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%sはすでにインストールされています。" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%sはディレクトリではありません" @@ -60,7 +60,7 @@ msgstr "" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "" @@ -73,7 +73,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -220,7 +220,7 @@ msgstr "" msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -499,7 +499,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -707,7 +707,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -782,7 +782,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -791,7 +791,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1406,7 +1406,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1757,7 +1757,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1796,7 +1796,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1818,7 +1818,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2382,7 +2382,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2533,7 +2533,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2552,11 +2552,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2625,7 +2625,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2647,7 +2647,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2689,11 +2689,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2721,7 +2721,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2741,7 +2741,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2787,7 +2787,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2829,15 +2829,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2845,15 +2845,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2881,7 +2881,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2897,7 +2897,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -2975,7 +2975,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2991,7 +2991,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3051,10 +3051,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3169,11 +3169,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3187,8 +3187,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3217,7 +3217,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3241,7 +3241,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3249,11 +3249,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3261,12 +3261,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3344,12 +3344,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3365,7 +3365,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3376,7 +3376,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3415,11 +3415,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3459,7 +3459,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3472,7 +3472,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3568,7 +3568,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3576,8 +3576,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3619,11 +3619,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "" diff --git a/internal/locales/data/ko.po b/internal/locales/data/ko.po index 0971ddcd847..6bae4ddfa10 100644 --- a/internal/locales/data/ko.po +++ b/internal/locales/data/ko.po @@ -21,7 +21,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" @@ -41,12 +41,12 @@ msgstr "" msgid "%s installed" msgstr "" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "" @@ -58,7 +58,7 @@ msgstr "" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -218,7 +218,7 @@ msgstr "" msgid "Author: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -705,7 +705,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -780,7 +780,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1404,7 +1404,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1755,7 +1755,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1794,7 +1794,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1816,7 +1816,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2380,7 +2380,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2531,7 +2531,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2550,11 +2550,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2623,7 +2623,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2645,7 +2645,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2687,11 +2687,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2719,7 +2719,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2739,7 +2739,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2785,7 +2785,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2827,15 +2827,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2843,15 +2843,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2879,7 +2879,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2895,7 +2895,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -2973,7 +2973,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2989,7 +2989,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3049,10 +3049,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3167,11 +3167,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3185,8 +3185,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3215,7 +3215,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3239,7 +3239,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3247,11 +3247,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3259,12 +3259,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3342,12 +3342,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3363,7 +3363,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3374,7 +3374,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3413,11 +3413,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3457,7 +3457,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3470,7 +3470,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3566,7 +3566,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3574,8 +3574,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3617,11 +3617,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "" diff --git a/internal/locales/data/lb.po b/internal/locales/data/lb.po index 1cd8302f826..9bc1eca427e 100644 --- a/internal/locales/data/lb.po +++ b/internal/locales/data/lb.po @@ -21,7 +21,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" @@ -41,12 +41,12 @@ msgstr "" msgid "%s installed" msgstr "%s installéiert" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s ass schon installéiert." #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "" @@ -58,7 +58,7 @@ msgstr "" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s muss installéiert ginn." @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -218,7 +218,7 @@ msgstr "" msgid "Author: %s" msgstr "Auteur: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -705,7 +705,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -780,7 +780,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1403,7 +1403,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1754,7 +1754,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1793,7 +1793,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1815,7 +1815,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2379,7 +2379,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2530,7 +2530,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2549,11 +2549,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "Benotzten Bibliothéik" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2622,7 +2622,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Versioun" @@ -2644,7 +2644,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2685,11 +2685,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2717,7 +2717,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2737,7 +2737,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2783,7 +2783,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2825,15 +2825,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2841,15 +2841,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2877,7 +2877,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2893,7 +2893,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -2971,7 +2971,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2987,7 +2987,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3047,10 +3047,10 @@ msgstr "ongülteg, eidel Bibliothéiksversioun: %s" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3165,11 +3165,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "Bibliothéik %s ass schon installéiert" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "Bibliothéik ongülteg" @@ -3183,8 +3183,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3213,7 +3213,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3237,7 +3237,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3245,11 +3245,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3257,12 +3257,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3340,12 +3340,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3361,7 +3361,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3372,7 +3372,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3411,11 +3411,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3455,7 +3455,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3468,7 +3468,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3564,7 +3564,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3572,8 +3572,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3615,11 +3615,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "" diff --git a/internal/locales/data/pl.po b/internal/locales/data/pl.po index e0553050019..07d79a3ca72 100644 --- a/internal/locales/data/pl.po +++ b/internal/locales/data/pl.po @@ -23,7 +23,7 @@ msgstr "%[1]sfolder nie jest już wspierany,.Zobacz %[2]spo więcej informacji" msgid "%[1]s invalid, rebuilding all" msgstr "%[1]snieprawidłowe, przebudowywuję całość" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]sjest wymagane ale %[2]s jest obecnie zaistalowane" @@ -43,12 +43,12 @@ msgstr "%s oraz %s nie mogą być razem użyte" msgid "%s installed" msgstr "%s zainstalowane" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%sjuż jest zainstalowane" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%snie jest " @@ -60,7 +60,7 @@ msgstr "%snie jest zarządzane przez zarządcę paczek" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%smusi byc zainstalowane" @@ -73,7 +73,7 @@ msgstr "%s brakuje wzoru" msgid "'%s' has an invalid signature" msgstr "'%s' posiada niewłaściwy podpis" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -220,7 +220,7 @@ msgstr "" msgid "Author: %s" msgstr "Autor: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -499,7 +499,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -707,7 +707,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -782,7 +782,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -791,7 +791,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1408,7 +1408,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1762,7 +1762,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1801,7 +1801,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1823,7 +1823,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2389,7 +2389,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2540,7 +2540,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2559,11 +2559,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2632,7 +2632,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2654,7 +2654,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2698,11 +2698,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2730,7 +2730,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2750,7 +2750,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2796,7 +2796,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2838,15 +2838,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2854,15 +2854,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2890,7 +2890,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2906,7 +2906,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -2984,7 +2984,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3000,7 +3000,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3060,10 +3060,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3178,11 +3178,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3196,8 +3196,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3226,7 +3226,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3250,7 +3250,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3258,11 +3258,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3270,12 +3270,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3353,12 +3353,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3374,7 +3374,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3385,7 +3385,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3424,11 +3424,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3468,7 +3468,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3481,7 +3481,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3577,7 +3577,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3585,8 +3585,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3628,11 +3628,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "" diff --git a/internal/locales/data/pt.po b/internal/locales/data/pt.po index 4ef220e7d72..1277275f39a 100644 --- a/internal/locales/data/pt.po +++ b/internal/locales/data/pt.po @@ -24,7 +24,7 @@ msgstr "%[1]spasta não é mais suportada! Ver%[2]sPara maiores informações" msgid "%[1]s invalid, rebuilding all" msgstr "%[1]sinválido, refazendo tudo" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s‎é necessário, mas‎%[2]snão é instalado em nenhum momento." @@ -44,12 +44,12 @@ msgstr "%se%s‎não pode ser usado em conjunto‎" msgid "%s installed" msgstr "%sinstalado" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s‎já está instalado.‎" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s‎não é um diretório‎" @@ -61,7 +61,7 @@ msgstr "%s‎não é gerenciado pelo gerente de pacotes‎" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s‎deve ser instalado.‎" @@ -74,7 +74,7 @@ msgstr "%spadrão está faltando" msgid "'%s' has an invalid signature" msgstr "%s‎tem uma assinatura inválida‎" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -228,7 +228,7 @@ msgstr "‎Anexa um sketch a uma placa.‎" msgid "Author: %s" msgstr "%sAltor" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -523,7 +523,7 @@ msgstr "" "Cria ou atualiza o arquivo de configuração no diretório de dados ou em um " "diretório customizado com as definições de configuração atuais." -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -739,7 +739,7 @@ msgstr "Erro ao calcular caminho de arquivo relativo" msgid "Error cleaning caches: %v" msgstr "Erro ao limpar caches: %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "Erro ao converter caminho para absoluto: %v" @@ -814,7 +814,7 @@ msgstr "Erro durante codificação da saída JSON: %v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Erro durante envio: %v" @@ -823,7 +823,7 @@ msgstr "Erro durante envio: %v" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "Erro durante build: %v" @@ -1457,7 +1457,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "A biblioteca %[1]s foi declarada como pré-compilada:" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1834,7 +1834,7 @@ msgstr "Website do pacote:" msgid "Paragraph: %s" msgstr "Parágrafo: %s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "Caminho" @@ -1879,7 +1879,7 @@ msgstr "Plataforma %s já está instalada" msgid "Platform %s installed" msgstr "Plataforma %s instalada" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1903,7 +1903,7 @@ msgstr "Plataforma '%s' não encontrada" msgid "Platform ID" msgstr "ID da Plataforma" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "ID da Plataforma incorreto" @@ -2525,7 +2525,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2676,7 +2676,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2695,11 +2695,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2768,7 +2768,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2790,7 +2790,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2834,11 +2834,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2866,7 +2866,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2886,7 +2886,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2932,7 +2932,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2974,15 +2974,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2990,15 +2990,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -3026,7 +3026,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -3042,7 +3042,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -3120,7 +3120,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -3136,7 +3136,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3196,10 +3196,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3314,11 +3314,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3332,8 +3332,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3362,7 +3362,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3386,7 +3386,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3394,11 +3394,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3406,12 +3406,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3489,12 +3489,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3510,7 +3510,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3521,7 +3521,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3560,11 +3560,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3604,7 +3604,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3617,7 +3617,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3713,7 +3713,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3721,8 +3721,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3767,11 +3767,11 @@ msgstr "‎não é possível ler o conteúdo do item de origem‎" msgid "unable to write to destination file" msgstr "‎incapaz de escrever para o arquivo de destino‎" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "%spacote desconhecido" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "%splataforma desconhecida%s:" diff --git a/internal/locales/data/ru.po b/internal/locales/data/ru.po index fdce4b33516..aafad8a7d3f 100644 --- a/internal/locales/data/ru.po +++ b/internal/locales/data/ru.po @@ -3,14 +3,14 @@ # Дмитрий Кат, 2022 # CLI team <prj_cli_team@arduino.cc>, 2022 # Bakdaulet Kadyr <qadyr.bagdaulet@gmail.com>, 2022 -# Asdfgr Wertyu, 2024 # lidacity <dzmitry@lidacity.by>, 2024 # Александр Минкин <weryskok@gmail.com>, 2024 # ildar <v_ildar@bk.ru>, 2024 +# Asdfgr Wertyu, 2025 # msgid "" msgstr "" -"Last-Translator: ildar <v_ildar@bk.ru>, 2024\n" +"Last-Translator: Asdfgr Wertyu, 2025\n" "Language-Team: Russian (https://app.transifex.com/arduino-1/teams/108174/ru/)\n" "Language: ru\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" @@ -27,7 +27,7 @@ msgstr "Каталог %[1]s более не поддерживается! Бо msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s недействителен, пересборка всего" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "Требуется %[1]s, но в данный момент устанавливается %[2]s" @@ -47,12 +47,12 @@ msgstr "%s не может быть использована вместе с %s" msgid "%s installed" msgstr "%s установлен" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s уже установлено." #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s не является директорией" @@ -64,7 +64,7 @@ msgstr "%s не управляется менеджером пакетов" msgid "%s must be >= 1024" msgstr "%s должно быть >= 1024" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s должен быть установлен." @@ -77,7 +77,7 @@ msgstr "не найден шаблон %s" msgid "'%s' has an invalid signature" msgstr "'%s' имеет неправильную сигнатуру " -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -230,7 +230,7 @@ msgstr "Прикрепляет скетч к плате." msgid "Author: %s" msgstr "Автор: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -526,7 +526,7 @@ msgstr "" "Создает или обновляет файл конфигурации в каталоге данных или " "пользовательском каталоге с текущими настройками конфигурации." -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -746,7 +746,7 @@ msgstr "Ошибка вычисления относительного пути msgid "Error cleaning caches: %v" msgstr "Ошибка при очистке кэшей: %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "Ошибка преобразования пути в абсолютный: %v" @@ -821,7 +821,7 @@ msgstr "Ошибка при кодировании выходных данных #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "Ошибка во время загрузки: %v" @@ -830,7 +830,7 @@ msgstr "Ошибка во время загрузки: %v" msgid "Error during board detection" msgstr "Ошибка при обнаружении платы" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "Ошибка во время сборки: %v" @@ -1471,7 +1471,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "Библиотека %[1]s объявлена ​​предварительно скомпилированной::" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "Библиотека %[1]s уже установлена, но другой версии: %[2]s" @@ -1852,7 +1852,7 @@ msgstr "Веб-страница пакета:" msgid "Paragraph: %s" msgstr "Параграф: %s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "Путь" @@ -1897,7 +1897,7 @@ msgstr "Платформа %s уже установлена" msgid "Platform %s installed" msgstr "Платформа %s установлена" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1921,7 +1921,7 @@ msgstr "Платформа '%s' не найдена" msgid "Platform ID" msgstr "Идентификатор платформы:" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "Идентификатор платформы указан неверно" @@ -2591,7 +2591,7 @@ msgstr "Префикс набора инструментов" msgid "Toolchain type" msgstr "Тип набора инструментов" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "Попытка запуска %s" @@ -2746,7 +2746,7 @@ msgstr "Загрузить загрузчик на плату с помощью msgid "Upload the bootloader." msgstr " Загрузить загрузчик." -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2769,11 +2769,11 @@ msgstr "Использование:" msgid "Use %s for more information about a command." msgstr "Используйте %s для получения дополнительной информации о команде." -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "Использована библиотека" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "Использована платформа" @@ -2844,7 +2844,7 @@ msgstr "Значения" msgid "Verify uploaded binary after the upload." msgstr "Проверить загруженный двоичный файл после загрузки." -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "Версия" @@ -2866,7 +2866,7 @@ msgstr "ВНИМАНИЕ: не удалось настроить инструм msgid "WARNING cannot run pre_uninstall script: %s" msgstr "ВНИМАНИЕ: невозможно выполнить скрипт pre_uninstall: %s" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" "ВНИМАНИЕ: Скетч скомпилирован с использованием одной или нескольких " @@ -2914,12 +2914,12 @@ msgstr "Нельзя использовать флаг %s во время ком msgid "archive hash differs from hash in index" msgstr "хэш архива отличается от хэша в индексе" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" "архив не валиден: в верхнем уровне zip-файла обнаружено несколько файлов" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" "archive is not valid: в верхнем уровне zip-файла не найдено ни одного файла" @@ -2948,7 +2948,7 @@ msgstr "базовый поиск по \"esp32\" и \"display\" ограниче msgid "binary file not found in %s" msgstr "двоичный файл не найден в %s" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "плата %s не найдена" @@ -2968,7 +2968,7 @@ msgstr "не удается найти последний релиз %s" msgid "can't find latest release of tool %s" msgstr "не удалось найти последний релиз инструмента %s" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "не удалось найти шаблон для обнаружения с идентификатором %s" @@ -3014,7 +3014,7 @@ msgstr "ключ конфигурации %s содержит недопусти msgid "config value %s contains an invalid character" msgstr "значение конфигурации %s содержит недопустимый символ" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "копирование библиотеки в целевой каталог:" @@ -3056,15 +3056,15 @@ msgstr "раздел данных превышает доступное прос msgid "dependency '%s' is not available" msgstr "зависимость '%s' недоступна" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "целевой каталог %s уже существует, невозможно установить" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "целевой каталог уже существует" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "не существует каталог: %s" @@ -3072,15 +3072,15 @@ msgstr "не существует каталог: %s" msgid "discovery %[1]s process not started" msgstr "процесс обнаружения %[1]s не запущен" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "обнаружение %s не найдено" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "обнаружение %s не установлено" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "релиз обнаружения не найден: %s" @@ -3108,7 +3108,7 @@ msgstr "не заполнен идентификатор платы" msgid "error loading sketch project file:" msgstr "ошибка загрузки файла проекта скетча:" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "ошибка открытия %s" @@ -3124,7 +3124,7 @@ msgstr "ошибка обработки ответа от сервера" msgid "error querying Arduino Cloud Api" msgstr "ошибка запроса Arduino Cloud Api" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "распаковка архива" @@ -3203,7 +3203,7 @@ msgstr "получение информации об архиве: %s" msgid "getting archive path: %s" msgstr "получение пути к архиву: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "получение свойств сборки для платы %[1]s: %[2]s" @@ -3219,7 +3219,7 @@ msgstr "получение зависимостей монитора для пл msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "получение зависимостей инструмента для платформы %[1]s: %[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "не задан каталог для установки" @@ -3279,10 +3279,10 @@ msgstr "неверная пустая версия библиотеки: %s" msgid "invalid empty option found" msgstr "найден неверный пустой параметр" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "неверный git url" @@ -3400,11 +3400,11 @@ msgstr "библиотеки, в поле Название которых ука msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "библиотеки с наименованием, точно совпадающим с \"pcf8523\"" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "библиотека %s уже установлена" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "библиотека не найдена" @@ -3418,8 +3418,8 @@ msgstr "загрузка %[1]s: %[2]s" msgid "loading boards: %s" msgstr "загрузка плат: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "загрузка индексного файла json %[1]s: %[2]s" @@ -3448,7 +3448,7 @@ msgstr "загрузка необходимой платформы %s" msgid "loading required tool %s" msgstr "загрузка необходимого инструмента %s" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "загрузка релиза инструмента в %s" @@ -3472,7 +3472,7 @@ msgstr "отсутствует директива '%s'" msgid "missing checksum for: %s" msgstr "отсутствует контрольная сумма для: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "отсутствует пакет %[1]s, на который ссылается плата %[2]s" @@ -3482,11 +3482,11 @@ msgstr "" "отсутствует индекс пакета для %s, последующие обновления не могут быть " "гарантированы" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "отсутствует релиз платформы %[1]s:%[2]s на которую ссылается %[3]s" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "отсутствует релиз платформы %[1]s:%[2]s на которую ссылается %[3]s" @@ -3494,12 +3494,12 @@ msgstr "отсутствует релиз платформы %[1]s:%[2]s на к msgid "missing signature" msgstr "отсутствует сигнатура" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "релиз монитора не найден: %s" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "перемещение извлеченного архива в каталог назначения: %s" @@ -3580,12 +3580,12 @@ msgstr "открывается целевой файл: %s" msgid "package %s not found" msgstr "пакет %s не найден" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "пакет '%s' не найден" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "разбор fqbn: %s" @@ -3601,7 +3601,7 @@ msgstr "путь не является каталогом платформы: %s msgid "platform %[1]s not found in package %[2]s" msgstr "платформа %[1]s не найдена в пакете %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "платформа %s не установлена" @@ -3612,7 +3612,7 @@ msgstr "платформа не доступна для вашей ОС" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "платформа не установлена" @@ -3651,11 +3651,11 @@ msgstr "чтение содержимого каталога %[1]s " #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "чтение каталога %s" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "чтение содержимого каталога %s " @@ -3695,7 +3695,7 @@ msgstr "чтение файлов скетчей" msgid "recipe not found '%s'" msgstr "не найден рецепт '%s'" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "релиз %[1]s не найден для инструмента %[2]s" @@ -3708,7 +3708,7 @@ msgstr "релиз не может быть пустым" msgid "removing corrupted archive file: %s" msgstr "удаление поврежденного файла архива: %s" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "удаление каталога библиотеки: %s" @@ -3735,7 +3735,7 @@ msgstr "поиск корневого каталога пакета: %s" #: internal/arduino/security/signatures.go:87 msgid "signature expired: is your system clock set correctly?" -msgstr "" +msgstr "подпись истекла: правильно ли установлены системные часы?" #: commands/service_sketch_new.go:78 msgid "sketch name cannot be empty" @@ -3807,7 +3807,7 @@ msgstr "инструмент %s не контролируется менедже msgid "tool %s not found" msgstr "инструмент %s не найден" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "инструмент '%[1]s' не найден в пакете '%[2]s'" @@ -3815,8 +3815,8 @@ msgstr "инструмент '%[1]s' не найден в пакете '%[2]s'" msgid "tool not installed" msgstr "инструмент не установлен" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "релиз инструмента не найден: %s" @@ -3858,11 +3858,11 @@ msgstr "невозможно прочитать содержимое исход msgid "unable to write to destination file" msgstr "невозможно записать в целевой файл" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "неизвестный пакет %s" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "неизвестная платформа %s: %s" diff --git a/internal/locales/data/si.po b/internal/locales/data/si.po index dce2642ac84..34a59496557 100644 --- a/internal/locales/data/si.po +++ b/internal/locales/data/si.po @@ -21,7 +21,7 @@ msgstr "" msgid "%[1]s invalid, rebuilding all" msgstr "" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "" @@ -41,12 +41,12 @@ msgstr "" msgid "%s installed" msgstr "%s ස්ථාපිතයි" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "" @@ -58,7 +58,7 @@ msgstr "" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "" @@ -71,7 +71,7 @@ msgstr "" msgid "'%s' has an invalid signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -218,7 +218,7 @@ msgstr "" msgid "Author: %s" msgstr "කර්තෘ: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -705,7 +705,7 @@ msgstr "" msgid "Error cleaning caches: %v" msgstr "" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "" @@ -780,7 +780,7 @@ msgstr "" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "" @@ -789,7 +789,7 @@ msgstr "" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "" @@ -1403,7 +1403,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "" @@ -1754,7 +1754,7 @@ msgstr "" msgid "Paragraph: %s" msgstr "" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "" @@ -1793,7 +1793,7 @@ msgstr "" msgid "Platform %s installed" msgstr "" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1815,7 +1815,7 @@ msgstr "" msgid "Platform ID" msgstr "" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "" @@ -2379,7 +2379,7 @@ msgstr "" msgid "Toolchain type" msgstr "" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "" @@ -2530,7 +2530,7 @@ msgstr "" msgid "Upload the bootloader." msgstr "" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "" @@ -2549,11 +2549,11 @@ msgstr "" msgid "Use %s for more information about a command." msgstr "" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "" @@ -2622,7 +2622,7 @@ msgstr "" msgid "Verify uploaded binary after the upload." msgstr "" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "" @@ -2644,7 +2644,7 @@ msgstr "" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "" @@ -2685,11 +2685,11 @@ msgstr "" msgid "archive hash differs from hash in index" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "" @@ -2717,7 +2717,7 @@ msgstr "" msgid "binary file not found in %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "" @@ -2737,7 +2737,7 @@ msgstr "" msgid "can't find latest release of tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "" @@ -2783,7 +2783,7 @@ msgstr "" msgid "config value %s contains an invalid character" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "" @@ -2825,15 +2825,15 @@ msgstr "" msgid "dependency '%s' is not available" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "" @@ -2841,15 +2841,15 @@ msgstr "" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "" @@ -2877,7 +2877,7 @@ msgstr "" msgid "error loading sketch project file:" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "" @@ -2893,7 +2893,7 @@ msgstr "" msgid "error querying Arduino Cloud Api" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -2971,7 +2971,7 @@ msgstr "" msgid "getting archive path: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "" @@ -2987,7 +2987,7 @@ msgstr "" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "" @@ -3047,10 +3047,10 @@ msgstr "" msgid "invalid empty option found" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "" @@ -3165,11 +3165,11 @@ msgstr "" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "" @@ -3183,8 +3183,8 @@ msgstr "" msgid "loading boards: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "" @@ -3213,7 +3213,7 @@ msgstr "" msgid "loading required tool %s" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "" @@ -3237,7 +3237,7 @@ msgstr "" msgid "missing checksum for: %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "" @@ -3245,11 +3245,11 @@ msgstr "" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "" @@ -3257,12 +3257,12 @@ msgstr "" msgid "missing signature" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "" @@ -3340,12 +3340,12 @@ msgstr "" msgid "package %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "" @@ -3361,7 +3361,7 @@ msgstr "" msgid "platform %[1]s not found in package %[2]s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "" @@ -3372,7 +3372,7 @@ msgstr "" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "" @@ -3411,11 +3411,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3455,7 +3455,7 @@ msgstr "" msgid "recipe not found '%s'" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "" @@ -3468,7 +3468,7 @@ msgstr "" msgid "removing corrupted archive file: %s" msgstr "" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "" @@ -3564,7 +3564,7 @@ msgstr "" msgid "tool %s not found" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "" @@ -3572,8 +3572,8 @@ msgstr "" msgid "tool not installed" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "" @@ -3615,11 +3615,11 @@ msgstr "" msgid "unable to write to destination file" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "" diff --git a/internal/locales/data/zh.po b/internal/locales/data/zh.po index 8ab6fdd9380..2f51dcfd2a1 100644 --- a/internal/locales/data/zh.po +++ b/internal/locales/data/zh.po @@ -25,7 +25,7 @@ msgstr "%[1]s 文件夹不再受支持!有关详细信息,请参见 %[2]s" msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s 无效,全部重建" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "%[1]s 是必需的,但当前已安装 %[2]s。" @@ -45,12 +45,12 @@ msgstr "%s 和 %s 不能一起使用" msgid "%s installed" msgstr "%s 已安装" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s 已安装" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s 不是目录" @@ -62,7 +62,7 @@ msgstr "%s 不是由软件包管理器管理的" msgid "%s must be >= 1024" msgstr "" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "%s 必须安装" @@ -75,7 +75,7 @@ msgstr "%s 模式丢失" msgid "'%s' has an invalid signature" msgstr "‘%s’ 的签名无效" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -222,7 +222,7 @@ msgstr "将项目写入开发板上。" msgid "Author: %s" msgstr "作者:%s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -501,7 +501,7 @@ msgid "" "directory with the current configuration settings." msgstr "用当前的配置创建或更新数据目录或自定义目录中的配置文件。" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -709,7 +709,7 @@ msgstr "计算相对文件路径时出错" msgid "Error cleaning caches: %v" msgstr "清理缓存出错:%v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "将路径转换为绝对路径时出错:%v" @@ -784,7 +784,7 @@ msgstr "输出编码 JSON 过程时出错:%v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "上传时出错:%v" @@ -793,7 +793,7 @@ msgstr "上传时出错:%v" msgid "Error during board detection" msgstr "" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "构建时出错:%v" @@ -1407,7 +1407,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "%[1]s 库已声明为预编译:" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "库 %[1]s 已经安装,但有不同的版本。:%[2]s" @@ -1760,7 +1760,7 @@ msgstr "软件包网站:" msgid "Paragraph: %s" msgstr "段落:%s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "路径" @@ -1799,7 +1799,7 @@ msgstr "%s 平台已经安装" msgid "Platform %s installed" msgstr "已安装 %s 平台" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1823,7 +1823,7 @@ msgstr "未找到 ‘%s’ 平台" msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "平台 ID 不正确" @@ -2432,7 +2432,7 @@ msgstr "工具链前缀" msgid "Toolchain type" msgstr "工具链类型" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "尝试运行 %s" @@ -2583,7 +2583,7 @@ msgstr "使用外部编程器将引导加载程序上传到板上。" msgid "Upload the bootloader." msgstr "上传引导加载程序。" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "使用 %s 协议上传到指定的开发板需要以下信息:" @@ -2604,11 +2604,11 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 获取有关命令的更多信息。" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "已使用的库" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "已使用的平台" @@ -2677,7 +2677,7 @@ msgstr "值" msgid "Verify uploaded binary after the upload." msgstr "上传后验证上传的二进制文件。" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" @@ -2699,7 +2699,7 @@ msgstr "警告无法配置工具:%s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告!无法运行 pre_uninstall 命令%s" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告:该项目是用一个或多个自定义库编译的。" @@ -2740,11 +2740,11 @@ msgstr "在用配置文件编译时,你不能使用 %s 参数。" msgid "archive hash differs from hash in index" msgstr "存档哈希与索引中的哈希不同" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "存档无效:在 zip 文件顶层中找到多个文件" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "存档无效:在压缩文件的顶层没有找到文件" @@ -2772,7 +2772,7 @@ msgstr "基础搜索只由官方维护的 \"esp32\" 和 \"display\" 字段" msgid "binary file not found in %s" msgstr "在 %s 中找不到二进制文件" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "未找到开发板 %s" @@ -2792,7 +2792,7 @@ msgstr "找不到 %s 的最新版本" msgid "can't find latest release of tool %s" msgstr "找不到 %s 工具的最新版本" -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 为 %s 的 discovery" @@ -2838,7 +2838,7 @@ msgstr "配置的键 %s 包含无效字符" msgid "config value %s contains an invalid character" msgstr "配置的值 %s 包含无效字符" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "将库复制到目标目录:" @@ -2880,15 +2880,15 @@ msgstr "数据部分超出开发板中的可用空间" msgid "dependency '%s' is not available" msgstr "‘%s’ 依赖不可用" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "%s 目录已经存在,无法安装" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "目标目录已经存在" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "目录不存在:%s" @@ -2896,15 +2896,15 @@ msgstr "目录不存在:%s" msgid "discovery %[1]s process not started" msgstr "" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "未找到 %s discovery" -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "%s discovery 未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "未找到 discovery 版本:%s" @@ -2932,7 +2932,7 @@ msgstr "空开发板标识符" msgid "error loading sketch project file:" msgstr "加载项目文件时错误:" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr " 开启 %s 时错误" @@ -2948,7 +2948,7 @@ msgstr "处理来自服务器的响应时出错" msgid "error querying Arduino Cloud Api" msgstr "查询 Arduino Cloud Api 时出错" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "" @@ -3026,7 +3026,7 @@ msgstr "正在获取存档信息:%s" msgid "getting archive path: %s" msgstr "正在获取存档路径:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "正在获取 %[1]s 开发板的构建属性:%[2]s" @@ -3042,7 +3042,7 @@ msgstr "获取 %[1]s 平台的监视器依赖项:%[2]s" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "正在获取 %[1]s 平台的工具依赖:%[2]s" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "未设置安装目录" @@ -3102,10 +3102,10 @@ msgstr "无效的空库版本:%s" msgid "invalid empty option found" msgstr "发现无效的空选项" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "无效的 git 地址" @@ -3220,11 +3220,11 @@ msgstr "名称中含有 \"buzzer\" 的库" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "名称与 \"pcf8523 \"完全匹配的库" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "%s 库已安装" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "库无效" @@ -3238,8 +3238,8 @@ msgstr "正在加载 %[1]s: %[2]s" msgid "loading boards: %s" msgstr "正在加载开发板:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "正在加载 %[1]s json 索引文件:%[2]s" @@ -3268,7 +3268,7 @@ msgstr "安装所需 %s 平台" msgid "loading required tool %s" msgstr "安装所需 %s 工具" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "在 %s 中加载工具发行版本" @@ -3292,7 +3292,7 @@ msgstr "缺少 ‘%s’ 指令" msgid "missing checksum for: %s" msgstr "缺少校验码:%s" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " @@ -3300,11 +3300,11 @@ msgstr "缺少 %[2]s 开发板引用的 %[1]s 软件包 " msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少软件包索引%s,无法保证未来的更新" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少 %[1]s 平台:%[2]s 被开发板 %[3]s 引用" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" @@ -3312,12 +3312,12 @@ msgstr "缺少平台 %[1]s 发行版本:%[2]s 被开发板 %[3]s 引用" msgid "missing signature" msgstr "缺少签名" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "未找到公开监视器:%s" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "正在将提取的存档移动到目标目录:%s" @@ -3395,12 +3395,12 @@ msgstr "打开目标文件:%s" msgid "package %s not found" msgstr "未找到 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "未找到 ‘%s’ 软件包 " #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" @@ -3416,7 +3416,7 @@ msgstr "路径不是平台目录:%s" msgid "platform %[1]s not found in package %[2]s" msgstr "在 %[2]s 软件包中找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "%s 平台未安装" @@ -3427,7 +3427,7 @@ msgstr "该平台不适用于您的操作系统" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "平台未安装" @@ -3466,11 +3466,11 @@ msgstr "" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "正在读取 %s 目录" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "" @@ -3510,7 +3510,7 @@ msgstr "阅读项目文件" msgid "recipe not found '%s'" msgstr "未找到 ‘%s’ 方法" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到 %[2]s 工具的 %[1]s 发行版本" @@ -3523,7 +3523,7 @@ msgstr "发行不能为无" msgid "removing corrupted archive file: %s" msgstr "正在删除损坏的存档文件:%s" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "删除库目录:%s" @@ -3619,7 +3619,7 @@ msgstr "%s 工具不是由软件包管理器管理的" msgid "tool %s not found" msgstr "未找到 %s 工具" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" @@ -3627,8 +3627,8 @@ msgstr "在 ‘%[2]s’ 软件包中找不到 ‘%[1]s’ 工具" msgid "tool not installed" msgstr "工具未安装" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "找不到发行工具:%s" @@ -3670,11 +3670,11 @@ msgstr "无法读取源项目的内容" msgid "unable to write to destination file" msgstr "无法写入目标文件" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "未知 %s 软件包 " -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "未知 %s 平台:%s" diff --git a/internal/locales/data/zh_TW.po b/internal/locales/data/zh_TW.po index b8d636d9140..8176dccf4a9 100644 --- a/internal/locales/data/zh_TW.po +++ b/internal/locales/data/zh_TW.po @@ -21,7 +21,7 @@ msgstr "已不支援%[1]s 檔案夾!詳細資訊,請見 %[2]s" msgid "%[1]s invalid, rebuilding all" msgstr "%[1]s 無效,重新建構全部" -#: internal/cli/lib/check_deps.go:124 +#: internal/cli/lib/check_deps.go:125 msgid "%[1]s is required but %[2]s is currently installed." msgstr "需要 %[1]s ,但已安裝 %[2]s" @@ -41,12 +41,12 @@ msgstr "%s 和 %s 不能一起使用" msgid "%s installed" msgstr "%s 已安裝" -#: internal/cli/lib/check_deps.go:121 +#: internal/cli/lib/check_deps.go:122 msgid "%s is already installed." msgstr "%s 已安裝" #: internal/arduino/cores/packagemanager/loader.go:63 -#: internal/arduino/cores/packagemanager/loader.go:617 +#: internal/arduino/cores/packagemanager/loader.go:614 msgid "%s is not a directory" msgstr "%s 不是目錄" @@ -58,7 +58,7 @@ msgstr "%s 不是由套件管理員管理的" msgid "%s must be >= 1024" msgstr "%s 必須 >= 1024" -#: internal/cli/lib/check_deps.go:118 +#: internal/cli/lib/check_deps.go:119 msgid "%s must be installed." msgstr "必須安裝 %s " @@ -71,7 +71,7 @@ msgstr "%s 樣態遺失" msgid "'%s' has an invalid signature" msgstr "'%s'的簽名無效" -#: internal/arduino/cores/packagemanager/package_manager.go:415 +#: internal/arduino/cores/packagemanager/package_manager.go:416 msgid "" "'build.core' and 'build.variant' refer to different platforms: %[1]s and " "%[2]s" @@ -218,7 +218,7 @@ msgstr "將 sketch 放入開發板" msgid "Author: %s" msgstr "作者: %s" -#: internal/arduino/libraries/librariesmanager/install.go:79 +#: internal/arduino/libraries/librariesmanager/install.go:78 msgid "" "Automatic library install can't be performed in this case, please manually " "remove all duplicates and retry." @@ -497,7 +497,7 @@ msgid "" "directory with the current configuration settings." msgstr "用目前的設定值建立或更新資料或自定義目錄內的設定檔" -#: internal/cli/compile/compile.go:334 +#: internal/cli/compile/compile.go:340 msgid "" "Currently, Build Profiles only support libraries available through Arduino " "Library Manager." @@ -705,7 +705,7 @@ msgstr "計算相對檔案路徑時出錯" msgid "Error cleaning caches: %v" msgstr "清理快取時出錯: %v" -#: internal/cli/compile/compile.go:223 +#: internal/cli/compile/compile.go:225 msgid "Error converting path to absolute: %v" msgstr "將路徑轉換成絕對路徑時出錯: %v" @@ -780,7 +780,7 @@ msgstr "輸出 JSON 編碼過程出錯:%v" #: internal/cli/burnbootloader/burnbootloader.go:78 #: internal/cli/burnbootloader/burnbootloader.go:100 -#: internal/cli/compile/compile.go:267 internal/cli/compile/compile.go:309 +#: internal/cli/compile/compile.go:269 internal/cli/compile/compile.go:311 #: internal/cli/upload/upload.go:99 internal/cli/upload/upload.go:128 msgid "Error during Upload: %v" msgstr "上傳時出錯: %v" @@ -789,7 +789,7 @@ msgstr "上傳時出錯: %v" msgid "Error during board detection" msgstr "開發板偵測時出現錯誤。" -#: internal/cli/compile/compile.go:383 +#: internal/cli/compile/compile.go:394 msgid "Error during build: %v" msgstr "建構時出錯: %v" @@ -1403,7 +1403,7 @@ msgid "Library %[1]s has been declared precompiled:" msgstr "程式庫 %[1]s 已聲明為預編譯:" #: commands/service_library_install.go:142 -#: internal/arduino/libraries/librariesmanager/install.go:131 +#: internal/arduino/libraries/librariesmanager/install.go:130 msgid "" "Library %[1]s is already installed, but with a different version: %[2]s" msgstr "程式庫 %[1]s 已經安裝, 但版本不同: %[2]s" @@ -1756,7 +1756,7 @@ msgstr "套件網站:" msgid "Paragraph: %s" msgstr "段落: %s" -#: internal/cli/compile/compile.go:458 internal/cli/compile/compile.go:473 +#: internal/cli/compile/compile.go:473 internal/cli/compile/compile.go:488 msgid "Path" msgstr "路徑" @@ -1795,7 +1795,7 @@ msgstr "平台 %s 已安裝過" msgid "Platform %s installed" msgstr "平台 %s 已安裝" -#: internal/cli/compile/compile.go:406 internal/cli/upload/upload.go:148 +#: internal/cli/compile/compile.go:417 internal/cli/upload/upload.go:148 msgid "" "Platform %s is not found in any known index\n" "Maybe you need to add a 3rd party URL?" @@ -1819,7 +1819,7 @@ msgstr "平台 '%s' 沒找到" msgid "Platform ID" msgstr "平台 ID" -#: internal/cli/compile/compile.go:391 internal/cli/upload/upload.go:136 +#: internal/cli/compile/compile.go:402 internal/cli/upload/upload.go:136 msgid "Platform ID is not correct" msgstr "平台 ID 不正確" @@ -2420,7 +2420,7 @@ msgstr "工具包前綴字元" msgid "Toolchain type" msgstr "工具包類型" -#: internal/cli/compile/compile.go:404 internal/cli/upload/upload.go:146 +#: internal/cli/compile/compile.go:415 internal/cli/upload/upload.go:146 msgid "Try running %s" msgstr "嘗試執行 %s" @@ -2571,7 +2571,7 @@ msgstr "使用燒錄器將 bootloader 上傳到開發板" msgid "Upload the bootloader." msgstr "上傳 bootloader" -#: internal/cli/compile/compile.go:272 internal/cli/upload/upload.go:167 +#: internal/cli/compile/compile.go:274 internal/cli/upload/upload.go:167 msgid "" "Uploading to specified board using %s protocol requires the following info:" msgstr "以 %s 協議上傳到開發板需要以下資訊:" @@ -2592,11 +2592,11 @@ msgstr "用法:" msgid "Use %s for more information about a command." msgstr "使用 %s 取得指令的更多資訊" -#: internal/cli/compile/compile.go:456 +#: internal/cli/compile/compile.go:471 msgid "Used library" msgstr "使用的程式庫" -#: internal/cli/compile/compile.go:471 +#: internal/cli/compile/compile.go:486 msgid "Used platform" msgstr "使用的平台" @@ -2667,7 +2667,7 @@ msgstr "數值" msgid "Verify uploaded binary after the upload." msgstr "上傳後驗證上傳的二進位碼" -#: internal/cli/compile/compile.go:457 internal/cli/compile/compile.go:472 +#: internal/cli/compile/compile.go:472 internal/cli/compile/compile.go:487 #: internal/cli/core/search.go:117 msgid "Version" msgstr "版本" @@ -2689,7 +2689,7 @@ msgstr "警告!無法設定工具: %s" msgid "WARNING cannot run pre_uninstall script: %s" msgstr "警告 ! 無法執行 pre_uninstall 命令: %s" -#: internal/cli/compile/compile.go:333 +#: internal/cli/compile/compile.go:339 msgid "WARNING: The sketch is compiled using one or more custom libraries." msgstr "警告! sketch 用了一或多個客製程式庫編譯" @@ -2730,11 +2730,11 @@ msgstr "使用設定集編譯時不能使用 %s 旗標參數" msgid "archive hash differs from hash in index" msgstr "保存與和索引不同的雜湊" -#: internal/arduino/libraries/librariesmanager/install.go:188 +#: internal/arduino/libraries/librariesmanager/install.go:187 msgid "archive is not valid: multiple files found in zip file top level" msgstr "存檔無效: 在 zip 檔頂層找到多個檔案" -#: internal/arduino/libraries/librariesmanager/install.go:191 +#: internal/arduino/libraries/librariesmanager/install.go:190 msgid "archive is not valid: no files found in zip file top level" msgstr "存檔無效: 在 zip 檔的頂層沒找到檔案" @@ -2762,7 +2762,7 @@ msgstr "基本搜尋只限於官方維護者的 \"esp32\" 和 \"display\"" msgid "binary file not found in %s" msgstr "%s 裏找不到二進位檔" -#: internal/arduino/cores/packagemanager/package_manager.go:315 +#: internal/arduino/cores/packagemanager/package_manager.go:316 msgid "board %s not found" msgstr "找不到開發板 %s" @@ -2782,7 +2782,7 @@ msgstr "找不到最新版的 %s " msgid "can't find latest release of tool %s" msgstr "找不到最新版的工具 %s " -#: internal/arduino/cores/packagemanager/loader.go:712 +#: internal/arduino/cores/packagemanager/loader.go:709 msgid "can't find pattern for discovery with id %s" msgstr "找不到 id 為 %s 探索的樣態" @@ -2828,7 +2828,7 @@ msgstr "設定鍵 %s 含有無效字元" msgid "config value %s contains an invalid character" msgstr "設定值%s 含有無效字元" -#: internal/arduino/libraries/librariesmanager/install.go:141 +#: internal/arduino/libraries/librariesmanager/install.go:140 msgid "copying library to destination directory:" msgstr "拷貝程式庫到目標目錄:" @@ -2870,15 +2870,15 @@ msgstr "資料區已超出開發板的可用空間" msgid "dependency '%s' is not available" msgstr "沒有 '%s' 的相依" -#: internal/arduino/libraries/librariesmanager/install.go:94 +#: internal/arduino/libraries/librariesmanager/install.go:93 msgid "destination dir %s already exists, cannot install" msgstr "目標目錄 %s 已存在,無法安裝" -#: internal/arduino/libraries/librariesmanager/install.go:138 +#: internal/arduino/libraries/librariesmanager/install.go:137 msgid "destination directory already exists" msgstr "目標目錄已存在" -#: internal/arduino/libraries/librariesmanager/install.go:294 +#: internal/arduino/libraries/librariesmanager/install.go:305 msgid "directory doesn't exist: %s" msgstr "目錄不存在: %s" @@ -2886,15 +2886,15 @@ msgstr "目錄不存在: %s" msgid "discovery %[1]s process not started" msgstr "探索%[1]s 程序沒啟動" -#: internal/arduino/cores/packagemanager/loader.go:644 +#: internal/arduino/cores/packagemanager/loader.go:641 msgid "discovery %s not found" msgstr "探索 %s找不到 " -#: internal/arduino/cores/packagemanager/loader.go:648 +#: internal/arduino/cores/packagemanager/loader.go:645 msgid "discovery %s not installed" msgstr "探索 %s 未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:713 +#: internal/arduino/cores/packagemanager/package_manager.go:714 msgid "discovery release not found: %s" msgstr "找不到探索發行: %s" @@ -2922,7 +2922,7 @@ msgstr "清空開發板識別" msgid "error loading sketch project file:" msgstr "錯誤載入 sketch 專案:" -#: internal/arduino/cores/packagemanager/loader.go:615 +#: internal/arduino/cores/packagemanager/loader.go:612 msgid "error opening %s" msgstr "錯誤開啟 %s" @@ -2938,7 +2938,7 @@ msgstr "錯誤處理伺服器回應" msgid "error querying Arduino Cloud Api" msgstr "錯誤查詢 Arduino Cloud Api" -#: internal/arduino/libraries/librariesmanager/install.go:179 +#: internal/arduino/libraries/librariesmanager/install.go:178 msgid "extracting archive" msgstr "解開存檔" @@ -3016,7 +3016,7 @@ msgstr "取得存檔資訊: %s" msgid "getting archive path: %s" msgstr "取得存檔路徑: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:321 +#: internal/arduino/cores/packagemanager/package_manager.go:322 msgid "getting build properties for board %[1]s: %[2]s" msgstr "取得開發板 %[1]s: %[2]s 的建構屬性" @@ -3032,7 +3032,7 @@ msgstr "取得平台 %[1]s: %[2]s 的監視器相依" msgid "getting tool dependencies for platform %[1]s: %[2]s" msgstr "取得平台 %[1]s: %[2]s 的工具相依" -#: internal/arduino/libraries/librariesmanager/install.go:149 +#: internal/arduino/libraries/librariesmanager/install.go:148 msgid "install directory not set" msgstr "未設定安裝目錄" @@ -3092,10 +3092,10 @@ msgstr "無效的空程式庫版本: %s" msgid "invalid empty option found" msgstr "找到無效的空選項" -#: internal/arduino/libraries/librariesmanager/install.go:265 -#: internal/arduino/libraries/librariesmanager/install.go:268 -#: internal/arduino/libraries/librariesmanager/install.go:275 +#: internal/arduino/libraries/librariesmanager/install.go:276 #: internal/arduino/libraries/librariesmanager/install.go:279 +#: internal/arduino/libraries/librariesmanager/install.go:286 +#: internal/arduino/libraries/librariesmanager/install.go:290 msgid "invalid git url" msgstr "無效的 git 網址" @@ -3210,11 +3210,11 @@ msgstr "名字有 \"buzzer\" 的程式庫" msgid "libraries with a Name exactly matching \"pcf8523\"" msgstr "名字上有 \"pcf8523\" 的程式庫" -#: internal/arduino/libraries/librariesmanager/install.go:126 +#: internal/arduino/libraries/librariesmanager/install.go:125 msgid "library %s already installed" msgstr "程式庫 %s 已安裝" -#: internal/arduino/libraries/librariesmanager/install.go:331 +#: internal/arduino/libraries/librariesmanager/install.go:342 msgid "library not valid" msgstr "程式庫無效" @@ -3228,8 +3228,8 @@ msgstr "載入 %[1]s: %[2]s" msgid "loading boards: %s" msgstr "載入開發板: %s" -#: internal/arduino/cores/packagemanager/package_manager.go:468 -#: internal/arduino/cores/packagemanager/package_manager.go:483 +#: internal/arduino/cores/packagemanager/package_manager.go:469 +#: internal/arduino/cores/packagemanager/package_manager.go:484 msgid "loading json index file %[1]s: %[2]s" msgstr "載入json 索引檔 %[1]s:%[2]s" @@ -3258,7 +3258,7 @@ msgstr "載入需要的平台 %s" msgid "loading required tool %s" msgstr "載入需要的工具 %s" -#: internal/arduino/cores/packagemanager/loader.go:590 +#: internal/arduino/cores/packagemanager/loader.go:587 msgid "loading tool release in %s" msgstr "載入在 %s 的工具" @@ -3282,7 +3282,7 @@ msgstr "缺少 '%s' 指令" msgid "missing checksum for: %s" msgstr "缺少 %s 的校驗碼" -#: internal/arduino/cores/packagemanager/package_manager.go:429 +#: internal/arduino/cores/packagemanager/package_manager.go:430 msgid "missing package %[1]s referenced by board %[2]s" msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" @@ -3290,11 +3290,11 @@ msgstr "缺少開發板 %[2]s 參照的套件 %[1]s" msgid "missing package index for %s, future updates cannot be guaranteed" msgstr "缺少 %s 的套件索引, 不保証未來更新與否" -#: internal/arduino/cores/packagemanager/package_manager.go:434 +#: internal/arduino/cores/packagemanager/package_manager.go:435 msgid "missing platform %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少被開發板 %[3]s 參照的平台 %[1]s : %[2]s" -#: internal/arduino/cores/packagemanager/package_manager.go:439 +#: internal/arduino/cores/packagemanager/package_manager.go:440 msgid "missing platform release %[1]s:%[2]s referenced by board %[3]s" msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" @@ -3302,12 +3302,12 @@ msgstr "缺少開發板 %[3]s 參照的平台發行版 %[1]s : %[2]s" msgid "missing signature" msgstr "找不到簽名" -#: internal/arduino/cores/packagemanager/package_manager.go:724 +#: internal/arduino/cores/packagemanager/package_manager.go:725 msgid "monitor release not found: %s" msgstr "沒找到監視器發行版: %s" -#: internal/arduino/libraries/librariesmanager/install.go:197 -#: internal/arduino/libraries/librariesmanager/install.go:236 +#: internal/arduino/libraries/librariesmanager/install.go:196 +#: internal/arduino/libraries/librariesmanager/install.go:247 #: internal/arduino/resources/install.go:106 msgid "moving extracted archive to destination dir: %s" msgstr "移動解壓縮的存檔到目標資料夾: %s" @@ -3385,12 +3385,12 @@ msgstr "開啟目標檔: %s" msgid "package %s not found" msgstr "找不到套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:497 +#: internal/arduino/cores/packagemanager/package_manager.go:498 msgid "package '%s' not found" msgstr "找不到套件 '%s'" #: internal/arduino/cores/board.go:167 -#: internal/arduino/cores/packagemanager/package_manager.go:262 +#: internal/arduino/cores/packagemanager/package_manager.go:263 msgid "parsing fqbn: %s" msgstr "解析 FQBN:%s" @@ -3406,7 +3406,7 @@ msgstr "路徑不是平台目錄: %s" msgid "platform %[1]s not found in package %[2]s" msgstr "%[2]s 套件裏找不到 %[1]s 平台" -#: internal/arduino/cores/packagemanager/package_manager.go:308 +#: internal/arduino/cores/packagemanager/package_manager.go:309 msgid "platform %s is not installed" msgstr "平台 %s 未安裝" @@ -3417,7 +3417,7 @@ msgstr "平台不支援使用中的作業系統" #: commands/service_compile.go:129 #: internal/arduino/cores/packagemanager/install_uninstall.go:181 #: internal/arduino/cores/packagemanager/install_uninstall.go:285 -#: internal/arduino/cores/packagemanager/loader.go:420 +#: internal/arduino/cores/packagemanager/loader.go:417 msgid "platform not installed" msgstr "平台未安裝" @@ -3456,11 +3456,11 @@ msgstr "讀取目錄 %[1]s 的內容" #: internal/arduino/cores/packagemanager/loader.go:69 #: internal/arduino/cores/packagemanager/loader.go:151 #: internal/arduino/cores/packagemanager/loader.go:218 -#: internal/arduino/cores/packagemanager/loader.go:582 +#: internal/arduino/cores/packagemanager/loader.go:579 msgid "reading directory %s" msgstr "讀取目錄 %s" -#: internal/arduino/libraries/librariesmanager/install.go:304 +#: internal/arduino/libraries/librariesmanager/install.go:315 msgid "reading directory %s content" msgstr "讀取目錄 %s 的內容" @@ -3500,7 +3500,7 @@ msgstr "讀取 sketch 檔" msgid "recipe not found '%s'" msgstr "作法未找到 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:573 +#: internal/arduino/cores/packagemanager/package_manager.go:574 msgid "release %[1]s not found for tool %[2]s" msgstr "找不到工具 %[2]s 的發行版 %[1]s" @@ -3513,7 +3513,7 @@ msgstr "發行版不能是無" msgid "removing corrupted archive file: %s" msgstr "刪除損壞的存檔 %s" -#: internal/arduino/libraries/librariesmanager/install.go:152 +#: internal/arduino/libraries/librariesmanager/install.go:151 msgid "removing library directory: %s" msgstr "刪除程式庫目錄: %s" @@ -3609,7 +3609,7 @@ msgstr "工具 %s 不是由套件管理員管理的" msgid "tool %s not found" msgstr "找不到工具 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:523 +#: internal/arduino/cores/packagemanager/package_manager.go:524 msgid "tool '%[1]s' not found in package '%[2]s'" msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" @@ -3617,8 +3617,8 @@ msgstr "套件 '%[2]s' 裏找不到工具 '%[1]s'" msgid "tool not installed" msgstr "工具未安裝" -#: internal/arduino/cores/packagemanager/package_manager.go:702 -#: internal/arduino/cores/packagemanager/package_manager.go:808 +#: internal/arduino/cores/packagemanager/package_manager.go:703 +#: internal/arduino/cores/packagemanager/package_manager.go:809 msgid "tool release not found: %s" msgstr "工具發行未找到: %s" @@ -3660,11 +3660,11 @@ msgstr "無法讀取來源項目的內容" msgid "unable to write to destination file" msgstr "無法寫入目標檔" -#: internal/arduino/cores/packagemanager/package_manager.go:296 +#: internal/arduino/cores/packagemanager/package_manager.go:297 msgid "unknown package %s" msgstr "未知的套件 %s" -#: internal/arduino/cores/packagemanager/package_manager.go:303 +#: internal/arduino/cores/packagemanager/package_manager.go:304 msgid "unknown platform %s:%s" msgstr "未知的平台 %s:%s" From c11b9dd57aa7eed999d7832ad6c6ff9071aa3b51 Mon Sep 17 00:00:00 2001 From: Cristian Maglie <c.maglie@arduino.cc> Date: Tue, 22 Apr 2025 15:49:40 +0200 Subject: [PATCH 357/361] [skip-changelog] Fixed release workflow build (#2896) --- .github/workflows/release-go-task.yml | 37 +++++++++++++++++---------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/.github/workflows/release-go-task.yml b/.github/workflows/release-go-task.yml index 7c37deeacf8..fa9ed513bf7 100644 --- a/.github/workflows/release-go-task.yml +++ b/.github/workflows/release-go-task.yml @@ -20,20 +20,29 @@ jobs: create-release-artifacts: outputs: version: ${{ steps.get-version.outputs.version }} - runs-on: ubuntu-latest + runs-on: ${{ matrix.env.runner }} strategy: matrix: - os: - - Windows_32bit - - Windows_64bit - - Linux_32bit - - Linux_64bit - - Linux_ARMv6 - - Linux_ARMv7 - - Linux_ARM64 - - macOS_64bit - - macOS_ARM64 + env: + - os: Windows_32bit + runner: ubuntu-latest + - os: Windows_64bit + runner: ubuntu-latest + - os: Linux_32bit + runner: ubuntu-latest + - os: Linux_64bit + runner: ubuntu-latest + - os: Linux_ARMv6 + runner: ubuntu-latest + - os: Linux_ARMv7 + runner: ubuntu-latest + - os: Linux_ARM64 + runner: ubuntu-latest + - os: macOS_64bit + runner: ubuntu-latest + - os: macOS_ARM64 + runner: ubuntu-24.04-arm steps: - name: Checkout repository @@ -43,7 +52,7 @@ jobs: - name: Create changelog # Avoid creating the same changelog for each os - if: matrix.os == 'Windows_32bit' + if: matrix.env.os == 'Windows_32bit' uses: arduino/create-changelog@v1 with: tag-regex: '^v[0-9]+\.[0-9]+\.[0-9]+.*$' @@ -58,7 +67,7 @@ jobs: version: 3.x - name: Build - run: task dist:${{ matrix.os }} + run: task dist:${{ matrix.env.os }} - name: Output Version id: get-version @@ -68,7 +77,7 @@ jobs: uses: actions/upload-artifact@v4 with: if-no-files-found: error - name: ${{ env.ARTIFACT_NAME }}-${{ matrix.os }} + name: ${{ env.ARTIFACT_NAME }}-${{ matrix.env.os }} path: ${{ env.DIST_DIR }} notarize-macos: From 0846b470dc5b7d159000f59dc492a018f0cfc62d Mon Sep 17 00:00:00 2001 From: Per Tillisch <accounts@perglass.com> Date: Mon, 28 Apr 2025 02:14:52 -0700 Subject: [PATCH 358/361] [skip changelog] Bump markdown-link-check from 3.10.3 to 3.13.7 (#2898) --- package-lock.json | 1133 ++++++++++++++++++++++++++++++++++----------- package.json | 2 +- 2 files changed, 876 insertions(+), 259 deletions(-) diff --git a/package-lock.json b/package-lock.json index ed3e3fd970f..b87ae733398 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,24 +5,72 @@ "packages": { "": { "devDependencies": { - "markdown-link-check": "3.10.3", + "markdown-link-check": "3.13.7", "markdownlint-cli": "^0.33.0", "prettier": "^3.3.1" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@oozcitak/dom": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.10.tgz", + "integrity": "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@oozcitak/infra": "1.0.8", + "@oozcitak/url": "1.0.4", + "@oozcitak/util": "8.3.8" }, "engines": { - "node": ">=8" + "node": ">=8.0" + } + }, + "node_modules/@oozcitak/infra": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", + "dev": true, + "dependencies": { + "@oozcitak/util": "8.3.8" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=6.0" + } + }, + "node_modules/@oozcitak/url": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", + "dev": true, + "dependencies": { + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@oozcitak/util": { + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, + "node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true, + "engines": { + "node": ">= 14" } }, "node_modules/argparse": { @@ -31,10 +79,22 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, "node_modules/balanced-match": { @@ -43,6 +103,15 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -59,16 +128,12 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" @@ -112,31 +177,13 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "dev": true, "engines": { - "node": ">= 6" + "node": ">=18" } }, "node_modules/css-select": { @@ -167,13 +214,30 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "dev": true, + "engines": { + "node": ">= 14" + } + }, "node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/deep-extend": { @@ -185,6 +249,20 @@ "node": ">=4.0.0" } }, + "node_modules/degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "dependencies": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -227,23 +305,23 @@ } }, "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, "engines": { "node": ">=0.12" @@ -252,6 +330,58 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -270,6 +400,20 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/get-uri": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", + "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", + "dev": true, + "dependencies": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -289,15 +433,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/html-link-extractor": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-link-extractor/-/html-link-extractor-1.0.5.tgz", @@ -308,9 +443,9 @@ } }, "node_modules/htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "funding": [ "https://github.com/fb55/htmlparser2?sponsor=1", @@ -321,9 +456,35 @@ ], "dependencies": { "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "domutils": "^3.0.1", - "entities": "^4.3.0" + "entities": "^4.4.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" } }, "node_modules/iconv-lite": { @@ -372,6 +533,19 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, "node_modules/is-absolute-url": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", @@ -399,18 +573,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "dependencies": { - "punycode": "2.x.x" - }, - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -423,6 +585,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, "node_modules/jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -430,15 +598,16 @@ "dev": true }, "node_modules/link-check": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.2.0.tgz", - "integrity": "sha512-xRbhYLaGDw7eRDTibTAcl6fXtmUQ13vkezQiTqshHHdGueQeumgxxmQMIOmJYsh2p8BF08t8thhDQ++EAOOq3w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.4.0.tgz", + "integrity": "sha512-0Pf4xBVUnwJdbDgpBlhHNmWDtbVjHTpIFs+JaBuIsC9PKRxjv4KMGCO2Gc8lkVnqMf9B/yaNY+9zmMlO5MyToQ==", "dev": true, "dependencies": { "is-relative-url": "^4.0.0", - "isemail": "^3.2.0", "ms": "^2.1.3", - "needle": "^3.1.0" + "needle": "^3.3.1", + "node-email-verifier": "^2.0.0", + "proxy-agent": "^6.4.0" } }, "node_modules/linkify-it": { @@ -450,11 +619,14 @@ "uc.micro": "^1.0.1" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } }, "node_modules/markdown-it": { "version": "13.0.1", @@ -485,32 +657,33 @@ } }, "node_modules/markdown-link-check": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.3.tgz", - "integrity": "sha512-uGdJiZOy1CVWlRe7CyBSJ0Gz80Xm4vt++xjX9sNFjB7qcAxLinaMmzFQ5xOwERaXC9mK770BhnqnsyJT1gTr9w==", + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.13.7.tgz", + "integrity": "sha512-Btn3HU8s2Uyh1ZfzmyZEkp64zp2+RAjwfQt1u4swq2Xa6w37OW0T2inQZrkSNVxDSa2jSN2YYhw/JkAp5jF1PQ==", "dev": true, "dependencies": { - "async": "^3.2.4", - "chalk": "^4.1.2", - "commander": "^6.2.0", - "link-check": "^5.2.0", - "lodash": "^4.17.21", - "markdown-link-extractor": "^3.1.0", - "needle": "^3.1.0", - "progress": "^2.0.3" + "async": "^3.2.6", + "chalk": "^5.3.0", + "commander": "^13.1.0", + "link-check": "^5.4.0", + "markdown-link-extractor": "^4.0.2", + "needle": "^3.3.1", + "progress": "^2.0.3", + "proxy-agent": "^6.4.0", + "xmlbuilder2": "^3.1.1" }, "bin": { "markdown-link-check": "markdown-link-check" } }, "node_modules/markdown-link-extractor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-3.1.0.tgz", - "integrity": "sha512-r0NEbP1dsM+IqB62Ru9TXLP/HDaTdBNIeylYXumuBi6Xv4ufjE1/g3TnslYL8VNqNcGAGbMptQFHrrdfoZ/Sug==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.2.tgz", + "integrity": "sha512-5cUOu4Vwx1wenJgxaudsJ8xwLUMN7747yDJX3V/L7+gi3e4MsCm7w5nbrDQQy8nEfnl4r5NV3pDXMAjhGXYXAw==", "dev": true, "dependencies": { "html-link-extractor": "^1.0.5", - "marked": "^4.1.0" + "marked": "^12.0.1" } }, "node_modules/markdownlint": { @@ -558,15 +731,15 @@ } }, "node_modules/marked": { - "version": "4.2.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz", - "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", "dev": true, "bin": { "marked": "bin/marked.js" }, "engines": { - "node": ">= 12" + "node": ">= 18" } }, "node_modules/mdurl": { @@ -603,12 +776,11 @@ "dev": true }, "node_modules/needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, "dependencies": { - "debug": "^3.2.6", "iconv-lite": "^0.6.3", "sax": "^1.2.4" }, @@ -619,6 +791,28 @@ "node": ">= 4.4.x" } }, + "node_modules/netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/node-email-verifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-email-verifier/-/node-email-verifier-2.0.0.tgz", + "integrity": "sha512-AHcppjOH2KT0mxakrxFMOMjV/gOVMRpYvnJUkNfgF9oJ3INdVmqcMFJ5TlM8elpTPwt6A7bSp1IMnnWcxGom/Q==", + "dev": true, + "dependencies": { + "ms": "^2.1.3", + "validator": "^13.11.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -640,31 +834,75 @@ "wrappy": "1" } }, + "node_modules/pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "dev": true, + "dependencies": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "dependencies": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "dependencies": { - "entities": "^4.4.0" + "entities": "^6.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, "dependencies": { - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "parse5": "^7.0.0" }, "funding": { "url": "https://github.com/inikulin/parse5?sponsor=1" } }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/prettier": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.1.tgz", @@ -689,15 +927,31 @@ "node": ">=0.4.0" } }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "node_modules/proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", "dev": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + }, "engines": { - "node": ">=6" + "node": ">= 14" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/run-con": { "version": "1.2.11", "resolved": "https://registry.npmjs.org/run-con/-/run-con-1.2.11.tgz", @@ -720,9 +974,63 @@ "dev": true }, "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "dev": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "node_modules/strip-json-comments": { @@ -737,17 +1045,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true }, "node_modules/uc.micro": { "version": "1.0.6", @@ -755,33 +1057,133 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, + "node_modules/validator": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", + "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true + }, + "node_modules/xmlbuilder2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz", + "integrity": "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==", + "dev": true, + "dependencies": { + "@oozcitak/dom": "1.15.10", + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8", + "js-yaml": "3.14.1" + }, + "engines": { + "node": ">=12.0" + } + }, + "node_modules/xmlbuilder2/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/xmlbuilder2/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/xmlbuilder2/node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true } }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "@oozcitak/dom": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.10.tgz", + "integrity": "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==", "dev": true, "requires": { - "color-convert": "^2.0.1" + "@oozcitak/infra": "1.0.8", + "@oozcitak/url": "1.0.4", + "@oozcitak/util": "8.3.8" } }, + "@oozcitak/infra": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", + "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", + "dev": true, + "requires": { + "@oozcitak/util": "8.3.8" + } + }, + "@oozcitak/url": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", + "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", + "dev": true, + "requires": { + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8" + } + }, + "@oozcitak/util": { + "version": "8.3.8", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", + "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", + "dev": true + }, + "@tootallnate/quickjs-emscripten": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz", + "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", + "dev": true + }, + "agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "ast-types": { + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz", + "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", "dev": true }, "balanced-match": { @@ -790,6 +1192,12 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "basic-ftp": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.5.tgz", + "integrity": "sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==", + "dev": true + }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -806,14 +1214,10 @@ } }, "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "dev": true }, "cheerio": { "version": "1.0.0-rc.12", @@ -844,25 +1248,10 @@ "domutils": "^3.0.1" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", + "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", "dev": true }, "css-select": { @@ -884,13 +1273,19 @@ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true }, + "data-uri-to-buffer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz", + "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==", + "dev": true + }, "debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "^2.1.3" } }, "deep-extend": { @@ -899,6 +1294,17 @@ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "dev": true }, + "degenerator": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz", + "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==", + "dev": true, + "requires": { + "ast-types": "^0.13.4", + "escodegen": "^2.1.0", + "esprima": "^4.0.1" + } + }, "dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -926,20 +1332,50 @@ } }, "domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, "requires": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" } }, "entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "dev": true, + "requires": { + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2", + "source-map": "~0.6.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true }, "fs.realpath": { @@ -954,6 +1390,17 @@ "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", "dev": true }, + "get-uri": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.4.tgz", + "integrity": "sha512-E1b1lFFLvLgak2whF2xDBcOy6NLVGZBqqjJjsIhvopKfWWEi64pLVTWWehV8KlLerZkfNTA95sTe2OdJKm1OzQ==", + "dev": true, + "requires": { + "basic-ftp": "^5.0.2", + "data-uri-to-buffer": "^6.0.2", + "debug": "^4.3.4" + } + }, "glob": { "version": "8.0.3", "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", @@ -967,12 +1414,6 @@ "once": "^1.3.0" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, "html-link-extractor": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/html-link-extractor/-/html-link-extractor-1.0.5.tgz", @@ -983,15 +1424,35 @@ } }, "htmlparser2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz", - "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", "dev": true, "requires": { "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "domutils": "^3.0.1", - "entities": "^4.3.0" + "entities": "^4.4.0" + } + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + } + }, + "https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "requires": { + "agent-base": "^7.1.2", + "debug": "4" } }, "iconv-lite": { @@ -1031,6 +1492,16 @@ "integrity": "sha512-it4HyVAUTKBc6m8e1iXWvXSTdndF7HbdN713+kvLrymxTaU4AUBWrJ4vEooP+V7fexnVD3LKcBshjGGPefSMUQ==", "dev": true }, + "ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "dev": true, + "requires": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + } + }, "is-absolute-url": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", @@ -1046,15 +1517,6 @@ "is-absolute-url": "^4.0.1" } }, - "isemail": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.2.0.tgz", - "integrity": "sha512-zKqkK+O+dGqevc93KNsbZ/TqTUFd46MwWjYOoMrjIMZ51eU7DtQG3Wmd9SQQT7i7RVnuTPEiYEWHU3MSbxC1Tg==", - "dev": true, - "requires": { - "punycode": "2.x.x" - } - }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1064,6 +1526,12 @@ "argparse": "^2.0.1" } }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "dev": true + }, "jsonc-parser": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", @@ -1071,15 +1539,16 @@ "dev": true }, "link-check": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.2.0.tgz", - "integrity": "sha512-xRbhYLaGDw7eRDTibTAcl6fXtmUQ13vkezQiTqshHHdGueQeumgxxmQMIOmJYsh2p8BF08t8thhDQ++EAOOq3w==", + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/link-check/-/link-check-5.4.0.tgz", + "integrity": "sha512-0Pf4xBVUnwJdbDgpBlhHNmWDtbVjHTpIFs+JaBuIsC9PKRxjv4KMGCO2Gc8lkVnqMf9B/yaNY+9zmMlO5MyToQ==", "dev": true, "requires": { "is-relative-url": "^4.0.0", - "isemail": "^3.2.0", "ms": "^2.1.3", - "needle": "^3.1.0" + "needle": "^3.3.1", + "node-email-verifier": "^2.0.0", + "proxy-agent": "^6.4.0" } }, "linkify-it": { @@ -1091,10 +1560,10 @@ "uc.micro": "^1.0.1" } }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true }, "markdown-it": { @@ -1119,29 +1588,30 @@ } }, "markdown-link-check": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.10.3.tgz", - "integrity": "sha512-uGdJiZOy1CVWlRe7CyBSJ0Gz80Xm4vt++xjX9sNFjB7qcAxLinaMmzFQ5xOwERaXC9mK770BhnqnsyJT1gTr9w==", + "version": "3.13.7", + "resolved": "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.13.7.tgz", + "integrity": "sha512-Btn3HU8s2Uyh1ZfzmyZEkp64zp2+RAjwfQt1u4swq2Xa6w37OW0T2inQZrkSNVxDSa2jSN2YYhw/JkAp5jF1PQ==", "dev": true, "requires": { - "async": "^3.2.4", - "chalk": "^4.1.2", - "commander": "^6.2.0", - "link-check": "^5.2.0", - "lodash": "^4.17.21", - "markdown-link-extractor": "^3.1.0", - "needle": "^3.1.0", - "progress": "^2.0.3" + "async": "^3.2.6", + "chalk": "^5.3.0", + "commander": "^13.1.0", + "link-check": "^5.4.0", + "markdown-link-extractor": "^4.0.2", + "needle": "^3.3.1", + "progress": "^2.0.3", + "proxy-agent": "^6.4.0", + "xmlbuilder2": "^3.1.1" } }, "markdown-link-extractor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-3.1.0.tgz", - "integrity": "sha512-r0NEbP1dsM+IqB62Ru9TXLP/HDaTdBNIeylYXumuBi6Xv4ufjE1/g3TnslYL8VNqNcGAGbMptQFHrrdfoZ/Sug==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/markdown-link-extractor/-/markdown-link-extractor-4.0.2.tgz", + "integrity": "sha512-5cUOu4Vwx1wenJgxaudsJ8xwLUMN7747yDJX3V/L7+gi3e4MsCm7w5nbrDQQy8nEfnl4r5NV3pDXMAjhGXYXAw==", "dev": true, "requires": { "html-link-extractor": "^1.0.5", - "marked": "^4.1.0" + "marked": "^12.0.1" } }, "markdownlint": { @@ -1179,9 +1649,9 @@ } }, "marked": { - "version": "4.2.12", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.2.12.tgz", - "integrity": "sha512-yr8hSKa3Fv4D3jdZmtMMPghgVt6TWbk86WQaWhDloQjRSQhMMYCAro7jP7VDJrjjdV8pxVxMssXS8B8Y5DZ5aw==", + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-12.0.2.tgz", + "integrity": "sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==", "dev": true }, "mdurl": { @@ -1212,16 +1682,31 @@ "dev": true }, "needle": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", - "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", + "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", "dev": true, "requires": { - "debug": "^3.2.6", "iconv-lite": "^0.6.3", "sax": "^1.2.4" } }, + "netmask": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz", + "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==", + "dev": true + }, + "node-email-verifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-email-verifier/-/node-email-verifier-2.0.0.tgz", + "integrity": "sha512-AHcppjOH2KT0mxakrxFMOMjV/gOVMRpYvnJUkNfgF9oJ3INdVmqcMFJ5TlM8elpTPwt6A7bSp1IMnnWcxGom/Q==", + "dev": true, + "requires": { + "ms": "^2.1.3", + "validator": "^13.11.0" + } + }, "nth-check": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", @@ -1240,22 +1725,56 @@ "wrappy": "1" } }, + "pac-proxy-agent": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz", + "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==", + "dev": true, + "requires": { + "@tootallnate/quickjs-emscripten": "^0.23.0", + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "get-uri": "^6.0.1", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.6", + "pac-resolver": "^7.0.1", + "socks-proxy-agent": "^8.0.5" + } + }, + "pac-resolver": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz", + "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==", + "dev": true, + "requires": { + "degenerator": "^5.0.0", + "netmask": "^2.0.2" + } + }, "parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", + "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", "dev": true, "requires": { - "entities": "^4.4.0" + "entities": "^6.0.0" + }, + "dependencies": { + "entities": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", + "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", + "dev": true + } } }, "parse5-htmlparser2-tree-adapter": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", - "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz", + "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", "dev": true, "requires": { - "domhandler": "^5.0.2", + "domhandler": "^5.0.3", "parse5": "^7.0.0" } }, @@ -1271,10 +1790,26 @@ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "proxy-agent": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz", + "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==", + "dev": true, + "requires": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.6", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.1.0", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.5" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "dev": true }, "run-con": { @@ -1296,9 +1831,49 @@ "dev": true }, "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socks": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", + "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", + "dev": true, + "requires": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "requires": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, + "sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "dev": true }, "strip-json-comments": { @@ -1307,14 +1882,11 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true }, "uc.micro": { "version": "1.0.6", @@ -1322,11 +1894,56 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", "dev": true }, + "validator": { + "version": "13.15.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.15.0.tgz", + "integrity": "sha512-36B2ryl4+oL5QxZ3AzD0t5SsMNGvTtQHpjgFO5tbNxfXbMFkY822ktCDe1MnlqV3301QQI9SLHDNJokDI+Z9pA==", + "dev": true + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true + }, + "xmlbuilder2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz", + "integrity": "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==", + "dev": true, + "requires": { + "@oozcitak/dom": "1.15.10", + "@oozcitak/infra": "1.0.8", + "@oozcitak/util": "8.3.8", + "js-yaml": "3.14.1" + }, + "dependencies": { + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + } + } } } } diff --git a/package.json b/package.json index 2b5477852c6..a2fdad125ff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "markdown-link-check": "3.10.3", + "markdown-link-check": "3.13.7", "markdownlint-cli": "^0.33.0", "prettier": "^3.3.1" } From faf79a7d088e6fe503530ab29cb84ba3a7252657 Mon Sep 17 00:00:00 2001 From: Per Tillisch <accounts@perglass.com> Date: Mon, 28 Apr 2025 05:25:20 -0700 Subject: [PATCH 359/361] [skip changelog] Revert "Disable internal anchor checks by link checker tool (#1692)" (#2900) This reverts commit f470f407a3afca82e30c6503b421ddde694c7b6d. This configuration entry was previously required in order to work around a bug in the "markdown-link-check" tool that resulted in false positives for links to anchors created by HTML anchor tags. The bug in the "markdown-link-check" tool has since been fixed, and this project updated to use the version of the tool with that fix. So this configuration entry is no longer required. The now superfluous configuration entry is hereby removed in order to ensure more comprehensive link check coverage. --- .markdown-link-check.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/.markdown-link-check.json b/.markdown-link-check.json index 281aa2d61e0..2d7d80a50c3 100644 --- a/.markdown-link-check.json +++ b/.markdown-link-check.json @@ -4,9 +4,6 @@ "timeout": "20s", "aliveStatusCodes": [200, 206], "ignorePatterns": [ - { - "pattern": "^#" - }, { "pattern": "https?://localhost:\\d*/" }, From 3929052d4aef4ec8945c3dc3ef149dea7333cd65 Mon Sep 17 00:00:00 2001 From: Per Tillisch <accounts@perglass.com> Date: Thu, 1 May 2025 23:24:18 -0700 Subject: [PATCH 360/361] [skip changelog] Correct configuration key name in documentation (#2903) Previously, this reference to Arduino CLI's `directories.downloads` configuration key misspelled the name as "directories.download". --- docs/configuration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/configuration.md b/docs/configuration.md index 9081bf7c5b9..df78cfabfa0 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -64,8 +64,8 @@ configuration file. - on Windows is: `{HOME}/AppData/Local/Arduino15` - on MacOS is: `{HOME}/Library/Arduino15` -- The `directories.download` default is `{directories.data}/staging`. If the value of `{directories.data}` is changed in - the configuration the user-specified value will be used. +- The `directories.downloads` default is `{directories.data}/staging`. If the value of `{directories.data}` is changed + in the configuration the user-specified value will be used. - The `directories.user` default is OS-dependent: - on Linux (and other Unix-based OS) is: `{HOME}/Arduino` From 63c44a41f499c82085765fccc53e0893a9d03f2f Mon Sep 17 00:00:00 2001 From: Per Tillisch <accounts@perglass.com> Date: Thu, 1 May 2025 23:25:03 -0700 Subject: [PATCH 361/361] [skip changelog] Add missing pages to website navigation panel (#2904) The project includes a documentation website which is generated by the MkDocs static site generator. The site contains a navigation panel which lists the available documentation pages. Rather than being automatically generated from the contents of the `docs` folder, the contents of the navigation panel have been explicitly defined via the MkDocs configuration file. This means that the project contributors must remember to update the configuration file when development work results in the addition or removal of web pages. This was not done when the `config get` and `debug check` commands were added. The web pages are generated as expected, but the missing configuration file entries means that a visitor to the website would never know of their existence, and could only access them by hacking the URL. The missing entries are hereby added to the MkDocs configuration file. --- mkdocs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/mkdocs.yml b/mkdocs.yml index 59bd3a0128a..b4930eb9d7d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -67,6 +67,7 @@ nav: - config init: commands/arduino-cli_config_init.md - config add: commands/arduino-cli_config_add.md - config delete: commands/arduino-cli_config_delete.md + - config get: commands/arduino-cli_config_get.md - config remove: commands/arduino-cli_config_remove.md - config set: commands/arduino-cli_config_set.md - core: commands/arduino-cli_core.md @@ -79,6 +80,7 @@ nav: - core upgrade: commands/arduino-cli_core_upgrade.md - daemon: commands/arduino-cli_daemon.md - debug: commands/arduino-cli_debug.md + - debug check: commands/arduino-cli_debug_check.md - lib: commands/arduino-cli_lib.md - lib deps: commands/arduino-cli_lib_deps.md - lib download: commands/arduino-cli_lib_download.md